@charset "UTF-8";
:root {
  --color-background-base: #faf9f7;
  --color-text-base: #333;
  --color-primary-50: #ebffff;
  --color-primary-100: #e6fcff;
  --color-primary-200: #cff6ff;
  --color-primary-300: #aeedff;
  --color-primary-400: #9fddfb;
  --color-primary-500: #3ec8ff;
  --color-primary-600: #1cb4ea;
  --color-primary-700: #0096c7;
  --color-primary-800: #007aa5;
  --color-primary-900: #005b7f;
  --color-primary-950: #003f5e;
  --color-accent-50: #fff7f3;
  --color-accent-100: #fff0eb;
  --color-accent-200: #ffe5de;
  --color-accent-300: #ffd3c9;
  --color-accent-400: #ffbcae;
  --color-accent-500: #ff9c8b;
  --color-accent-600: #ff6955;
  --color-accent-700: #ea4433;
  --color-accent-800: #cf1104;
  --color-accent-900: #97190f;
  --color-accent-950: #760000;
  --color-gray-50: #f1f1f1;
  --color-gray-100: #dcdcdc;
  --color-gray-200: #bcbcbc;
  --color-gray-300: #a0a0a0;
  --color-gray-400: #878787;
  --color-gray-500: #707070;
  --color-gray-600: #5a5a5a;
  --color-gray-700: #464646;
  --color-gray-800: #333333;
  --color-gray-900: #1e1e1e;
  --color-gray-950: #111111;
}

/* # コンポーネント / Component
------------------------------------------------ */
/* ## c-ttl01------------------------------------------- */
.c-ttl01 {
  container: c-ttl01/inline-size;
  position: relative;
  margin-bottom: clamp(3rem, 2rem + 2.667vw, 4rem);
  padding-top: 0.5rem;
}
.c-ttl01::before, .c-ttl01::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 10px;
  aspect-ratio: 1;
}
.c-ttl01::before {
  background: var(--color-accent-800);
}
.c-ttl01::after {
  translate: 140%;
  background: var(--color-primary-500);
}
.c-ttl01 .c-ttl01__main {
  position: relative;
  margin-bottom: 0 !important;
  line-height: 1.7;
  letter-spacing: 0.075em;
  font-size: clamp(2.25rem, 1.5rem + 2vw, 3rem) !important;
  color: var(--text-base);
}
@container (width < 600px) {
  .c-ttl01 .c-ttl01__main {
    font-size: clamp(1.75rem, 1.25rem + 1.333vw, 2.25rem) !important;
  }
}
.c-ttl01 .c-ttl01__sub {
  margin: 0 !important;
  line-height: 1.8;
  color: var(--color-gray-600);
  font-size: clamp(0.875rem, 0.75rem + 0.333vw, 1rem) !important;
}
.c-ttl01--color-white .c-ttl01__main,
.c-ttl01--color-white .c-ttl01__sub {
  color: #fff;
}
.c-ttl01--center {
  text-align: center;
}
.c-ttl01--center::before, .c-ttl01--center::after {
  left: 50%;
  transform: translateX(-120%);
}

/* ## c-ttl02------------------------------------------- */
.c-ttl02 {
  position: relative;
  margin-bottom: clamp(1.5rem, 1rem + 1.333vw, 2rem);
}
.c-ttl02 .c-ttl02__main {
  position: relative;
  margin-bottom: 0 !important;
  line-height: 1.7;
  letter-spacing: 0.075em;
  font-size: clamp(1.375rem, 1rem + 1vw, 1.75rem) !important;
  color: inherit;
}
.c-ttl02 .c-ttl02__sub {
  margin: 0 !important;
  line-height: 1.8;
  color: inherit;
  font-size: clamp(0.875rem, 0.75rem + 0.333vw, 1rem) !important;
}
.c-ttl02--color-white {
  color: #fff;
}
.c-ttl02--center {
  text-align: center;
}
.c-ttl02--center::before, .c-ttl02--center::after {
  left: 50%;
  transform: translateX(-120%);
}

/* ## c-2col-contents------------------------------------------- */
.c-2col-contents {
  --container-mb: clamp(6rem, 4rem + 5.333vw, 8rem);
  --inner-gap: clamp(1rem, 0.5rem + 1.333vw, 1.5rem) clamp(4rem, 2rem + 5.333vw, 6rem);
  --ttl-font-size: clamp(1.375rem, 1rem + 1vw, 1.75rem);
  --desc-font-size: clamp(0.875rem, 0.75rem + 0.333vw, 1rem);
  --ttl-color: inherit;
  container: c-2col-contents/inline-size;
}
.c-2col-contents:not(:last-child) {
  margin-bottom: var(--container-mb);
}
.c-2col-contents .c-2col-contents__inner {
  display: flex;
  align-items: center;
  gap: var(--inner-gap);
}
@container (width >=800px) {
  .c-2col-contents .c-2col-contents__inner {
    justify-content: center;
  }
}
@container (width < 800px) {
  .c-2col-contents .c-2col-contents__inner {
    flex-direction: column;
  }
}
@container (width >=800px) {
  .c-2col-contents .c-2col-contents__col1 {
    width: 38.2%;
  }
}
@container (width >=800px) {
  .c-2col-contents .c-2col-contents__col2 {
    width: 61.8%;
  }
}
.c-2col-contents .c-2col-contents__desc {
  line-height: 2.4;
  font-size: var(--desc-font-size);
}
.c-2col-contents .c-2col-contents__img img {
  width: -webkit-fill-available;
  width: -moz-available;
  width: stretch;
}
.c-2col-contents .c-2col-contents__caption {
  margin-top: 0.75em;
  line-height: 2.4;
  font-size: var(--desc-font-size);
}
@container (width >=800px) {
  .c-2col-contents--reverse .c-2col-contents__inner {
    flex-direction: row-reverse;
  }
}
@container (width >=800px) {
  .c-2col-contents--type02 .c-2col-contents__col1 {
    width: 50%;
  }
}
@container (width >=800px) {
  .c-2col-contents--type02 .c-2col-contents__col2 {
    width: 50%;
  }
}

/* ## c-bg-sw-contents------------------------------------------- */
.c-bg-sw-contents {
  container: c-bg-sw-contents/inline-size;
}
.c-bg-sw-contents .c-bg-sw-contents__inner {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  z-index: 10;
  overflow: hidden;
}
.c-bg-sw-contents .c-bg-sw-contents__bg-layer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: no-repeat center/cover;
  opacity: 0;
  transition: 0.5s;
  z-index: -1;
  scale: 1.1;
}
.c-bg-sw-contents .c-bg-sw-contents__bg-layer--active {
  opacity: 1;
  scale: 1;
}
.c-bg-sw-contents .c-bg-sw-contents__unit {
  flex: 1 0 auto;
  position: relative;
  z-index: 10;
  height: 600px;
  background: no-repeat center/cover;
  overflow: hidden;
  text-decoration: none;
}
.c-bg-sw-contents .c-bg-sw-contents__unit[style*=background-image] {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@container (width < 1000px) {
  .c-bg-sw-contents .c-bg-sw-contents__unit {
    height: auto;
    aspect-ratio: 1/1.414;
  }
}
@container (width < 800px) {
  .c-bg-sw-contents .c-bg-sw-contents__unit {
    width: 100%;
    aspect-ratio: unset;
  }
}
@container (width >=1000px) {
  .c-bg-sw-contents .c-bg-sw-contents__unit:not(:last-child) {
    border-right: 1px solid rgba(255, 255, 255, 0.2);
  }
}
.c-bg-sw-contents .c-bg-sw-contents__unit::before {
  content: "";
  position: absolute;
  z-index: -10;
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0.4;
}
@container (width < 800px) {
  .c-bg-sw-contents .c-bg-sw-contents__unit::before {
    opacity: 0.5;
  }
}
.c-bg-sw-contents .c-bg-sw-contents__unit::after {
  content: "";
  position: absolute;
  z-index: -20;
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0;
  transition: 0.5s;
}
@container (width < 800px) {
  .c-bg-sw-contents .c-bg-sw-contents__unit::after {
    display: none;
  }
}
.c-bg-sw-contents .c-bg-sw-contents__unit-inner {
  position: absolute;
  z-index: 10;
  top: 50%;
  left: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: clamp(1rem, 0.5rem + 1.333vw, 1.5rem);
  padding-inline: clamp(1.5rem, 1rem + 1.333vw, 2rem);
  box-sizing: border-box;
  transition: 0.5s;
}
@container (width < 800px) {
  .c-bg-sw-contents .c-bg-sw-contents__unit-inner {
    position: relative;
    top: 0;
    padding-block: clamp(1.5rem, 1rem + 1.333vw, 2rem);
  }
}
.c-bg-sw-contents .c-bg-sw-contents__title {
  translate: 0 -50%;
  transition: 0.5s;
}
@container (width < 800px) {
  .c-bg-sw-contents .c-bg-sw-contents__title {
    translate: 0;
  }
}
.c-bg-sw-contents .c-bg-sw-contents__title-main {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 5px;
  margin: 0;
  line-height: 1.7;
  text-shadow: 0 0 2px rgba(0, 0, 0, 0.25);
  font-size: clamp(2.25rem, 1.5rem + 2vw, 3rem);
  color: #fff;
}
@container (width < 800px) {
  .c-bg-sw-contents .c-bg-sw-contents__title-main {
    translate: 0;
  }
}
.c-bg-sw-contents .c-bg-sw-contents__title-sub {
  margin: 0;
  line-height: 1.8;
  text-shadow: 0 0 2px rgba(0, 0, 0, 0.25);
  color: #fff;
  font-size: clamp(0.75rem, 0.625rem + 0.333vw, 0.875rem);
}
.c-bg-sw-contents .c-bg-sw-contents__text {
  line-height: 2;
  margin: 0;
  text-shadow: 0 0 2px rgba(0, 0, 0, 0.25);
  color: #fff;
  opacity: 0;
  transition: 0.5s;
}
@container (width < 800px) {
  .c-bg-sw-contents .c-bg-sw-contents__text {
    opacity: 1;
  }
}
.c-bg-sw-contents .c-bg-sw-contents__unit-icon {
  position: absolute;
  bottom: clamp(1.5rem, 1rem + 1.333vw, 2rem);
  right: clamp(1.5rem, 1rem + 1.333vw, 2rem);
  width: -moz-fit-content;
  width: fit-content;
  aspect-ratio: 1;
  padding: clamp(1rem, 0.5rem + 1.333vw, 1.5rem);
  box-sizing: border-box;
  border: 1px solid #fff;
  border-radius: 50%;
  display: grid;
  place-items: center;
  transition: 0.5s;
}
.c-bg-sw-contents .c-bg-sw-contents__unit-icon::before {
  content: "";
  width: clamp(0.875rem, 0.75rem + 0.333vw, 1rem);
  aspect-ratio: 1;
  opacity: 0.8;
  background: #fff;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='140 0 180 315'%3E%3Cpolygon fill='%234B4B4B' points='163.916,0 142.084,21.822 276.258,155.996 142.084,290.178 163.916,312 184.916,291.178 318.916,157.178 185.916,24.178'/%3E%3C/svg%3E") center/contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='140 0 180 315'%3E%3Cpolygon fill='%234B4B4B' points='163.916,0 142.084,21.822 276.258,155.996 142.084,290.178 163.916,312 184.916,291.178 318.916,157.178 185.916,24.178'/%3E%3C/svg%3E") center/contain no-repeat;
  transition: inherit;
}
.c-bg-sw-contents .c-bg-sw-contents__unit:is(:hover, :focus)::after {
  opacity: 0.6;
}
.c-bg-sw-contents .c-bg-sw-contents__unit:is(:hover, :focus) .c-bg-sw-contents__unit-inner {
  translate: 0 -50%;
}
@container (width < 800px) {
  .c-bg-sw-contents .c-bg-sw-contents__unit:is(:hover, :focus) .c-bg-sw-contents__unit-inner {
    translate: 0;
  }
}
.c-bg-sw-contents .c-bg-sw-contents__unit:is(:hover, :focus) .c-bg-sw-contents__title {
  translate: 0;
}
.c-bg-sw-contents .c-bg-sw-contents__unit:is(:hover, :focus) .c-bg-sw-contents__text {
  opacity: 1;
}
.c-bg-sw-contents .c-bg-sw-contents__unit:is(:hover, :focus) .c-bg-sw-contents__unit-icon {
  background-color: #fff;
  scale: 1.2;
}
.c-bg-sw-contents .c-bg-sw-contents__unit:is(:hover, :focus) .c-bg-sw-contents__unit-icon::before {
  background: #808080;
}

/* ## .c-simple-message------------------------------------------- */
.c-simple-message .c-simple-message__catch {
  line-height: 2;
  text-align: center;
  font-size: clamp(1.75rem, 1.25rem + 1.333vw, 2.25rem);
}
.c-simple-message .c-simple-message__txt {
  margin-top: clamp(1.5rem, 1rem + 1.333vw, 2rem);
  line-height: 2.4;
  text-align: center;
  font-size: clamp(1rem, 0.875rem + 0.333vw, 1.125rem);
}

/* ## .c-card-contents------------------------------------------- */
.c-card-contents {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: clamp(2rem, 1rem + 2.667vw, 3rem);
}
.c-card-contents .c-card-contents__item {
  background: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.c-card-contents .c-card-contents__image {
  width: 100%;
  aspect-ratio: 1.618;
  -o-object-fit: cover;
     object-fit: cover;
  background: #e0e0e0;
  display: block;
}
.c-card-contents .c-card-contents__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-card-contents .c-card-contents__info {
  padding: clamp(1.5rem, 1rem + 1.333vw, 2rem);
}
.c-card-contents .c-card-contents__title {
  font-size: clamp(1.375rem, 1rem + 1vw, 1.75rem);
  font-weight: bold;
  color: var(--color-primary-600);
  margin: 0 0 0.5em;
}
.c-card-contents .c-card-contents__caption {
  font-size: clamp(0.875rem, 0.75rem + 0.333vw, 1rem);
  line-height: 2.4;
}
@container (min-width: 600px) {
  .c-card-contents .c-card-contents {
    grid-template-columns: repeat(4, 1fr);
  }
  .c-card-contents .c-card-contents {
    grid-template-columns: repeat(2, 1fr);
  }
}
@container (min-width: 900px) {
  .c-card-contents .c-card-contents {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* ## .c-card-contents02------------------------------------------- */
.c-card-contents02 {
  container: c-card-contents02/inline-size;
}
.c-card-contents02 .c-card-contents02__inner {
  display: flex;
  flex-direction: column;
  gap: clamp(4rem, 2rem + 5.333vw, 6rem);
}
.c-card-contents02 .c-card-contents02__unit {
  display: flex;
  background-color: #fff;
}
@container (width < 750px) {
  .c-card-contents02 .c-card-contents02__unit {
    flex-direction: column;
  }
}
.c-card-contents02 .c-card-contents02__grid {
  flex: 0 0 min(60%, 750px);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(0.25rem, 0.125rem + 0.333vw, 0.375rem);
  box-sizing: border-box;
}
@container (width < 750px) {
  .c-card-contents02 .c-card-contents02__grid {
    flex-basis: auto;
  }
}
.c-card-contents02 .c-card-contents02__grid-item1 {
  grid-column: span 2;
  aspect-ratio: 2.414;
}
.c-card-contents02 .c-card-contents02__grid-item1 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-card-contents02 .c-card-contents02__grid-item2 {
  aspect-ratio: 1.414;
}
.c-card-contents02 .c-card-contents02__grid-item2 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-card-contents02 .c-card-contents02__grid-item3 {
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--color-primary-600);
  padding: clamp(1.5rem, 1rem + 1.333vw, 2rem);
  box-sizing: border-box;
  color: #fff;
}
@container (width < 500px) {
  .c-card-contents02 .c-card-contents02__grid-item3 {
    padding: clamp(1rem, 0.5rem + 1.333vw, 1.5rem);
  }
}
.c-card-contents02 .c-card-contents02__number {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: clamp(0.25rem, 0.125rem + 0.333vw, 0.375rem);
  line-height: 1;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
  font-size: clamp(5rem, 3.75rem + 3.333vw, 6.25rem);
}
@container (width < 500px) {
  .c-card-contents02 .c-card-contents02__number {
    font-size: clamp(3rem, 2rem + 2.667vw, 4rem);
  }
}
.c-card-contents02 .c-card-contents02__number small {
  letter-spacing: 0.2em;
  text-indent: 0.2em;
  font-size: clamp(0.875rem, 0.75rem + 0.333vw, 1rem);
}
.c-card-contents02 .c-card-contents02__info {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2rem, 1rem + 2.667vw, 3rem);
  box-sizing: border-box;
}
.c-card-contents02 .p-interview__name-group {
  display: flex;
  flex-direction: column;
  margin-bottom: clamp(1rem, 0.5rem + 1.333vw, 1.5rem);
}
.c-card-contents02 .p-interview__name-group::after {
  content: "";
  width: 3rem;
  height: 2px;
  margin-top: clamp(1rem, 0.5rem + 1.333vw, 1.5rem);
  background-color: var(--color-accent-800);
}
.c-card-contents02 .c-card-contents02__title-group {
  display: flex;
  flex-direction: column;
  margin-bottom: clamp(1rem, 0.5rem + 1.333vw, 1.5rem);
}
.c-card-contents02 .c-card-contents02__title-group::after {
  content: "";
  width: 3rem;
  height: 2px;
  margin-top: clamp(1rem, 0.5rem + 1.333vw, 1.5rem);
  background-color: var(--color-accent-800);
}
.c-card-contents02 .c-card-contents02__title {
  margin-bottom: 0;
  line-height: 1.7;
  font-size: clamp(1.375rem, 1rem + 1vw, 1.75rem);
  font-weight: bold;
}
.c-card-contents02 .c-card-contents02__sub-title {
  margin-bottom: 0;
  line-height: 1.7;
  font-size: clamp(0.75rem, 0.625rem + 0.333vw, 0.875rem);
  color: var(--color-gray-300);
}
.c-card-contents02 .c-card-contents02__desc {
  font-size: clamp(0.875rem, 0.75rem + 0.333vw, 1rem);
  line-height: 2.4;
}

/* ## .c-panel01------------------------------------------- */
.c-panel01 {
  container: c-panel01/inline-size;
  width: min(100%, 1280px);
  margin-inline: auto;
}
.c-panel01 .c-panel01__img {
  position: relative;
  z-index: 10;
  width: 100%;
  aspect-ratio: 2.618/1;
}
.c-panel01 .c-panel01__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-panel01 .c-panel01__box {
  position: relative;
  z-index: 20;
  width: 80%;
  margin-top: calc(clamp(1.5rem, 1rem + 1.333vw, 2rem) * -1);
  margin-inline: auto;
  background-color: #fff;
  padding: clamp(1.5rem, 1rem + 1.333vw, 2rem) clamp(2rem, 1rem + 2.667vw, 3rem);
  box-sizing: border-box;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 6px -1px, rgba(0, 0, 0, 0.06) 0px 2px 4px -1px;
}
@container (max-width: 768px) {
  .c-panel01 .c-panel01__box {
    width: 90%;
    margin-top: calc(clamp(1.5rem, 1rem + 1.333vw, 2rem) * -1);
    padding: clamp(1.5rem, 1rem + 1.333vw, 2rem) clamp(2rem, 1rem + 2.667vw, 3rem);
  }
}

/* ## .c-panel02------------------------------------------- */
.c-panel02 {
  container: c-panel02/inline-size;
  position: relative;
  width: min(100%, 1280px);
  margin-inline: auto;
}
.c-panel02 .c-panel02__img {
  margin-left: 50%;
  translate: -50%;
  z-index: 10;
  width: 100lvw;
  height: 350px;
}
.c-panel02 .c-panel02__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-panel02 .c-panel02__inner {
  display: flex;
  align-items: flex-start;
  gap: clamp(2rem, 1rem + 2.667vw, 3rem);
}
@container (width < 600px) {
  .c-panel02 .c-panel02__inner {
    flex-direction: column;
    gap: 0;
  }
}
.c-panel02 .c-panel02__box {
  position: relative;
  z-index: 20;
  flex: 0 0 auto;
  margin-top: calc(clamp(3rem, 2rem + 2.667vw, 4rem) * -1);
  background-color: #fff;
  padding: clamp(2rem, 1rem + 2.667vw, 3rem) clamp(3rem, 2rem + 2.667vw, 4rem);
  box-sizing: border-box;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 6px -1px, rgba(0, 0, 0, 0.06) 0px 2px 4px -1px;
}
.c-panel02 .c-panel02__box::before {
  content: "";
  position: absolute;
  z-index: 10;
  bottom: clamp(1rem, 0.5rem + 1.333vw, 1.5rem);
  left: clamp(1rem, 0.5rem + 1.333vw, 1.5rem);
  width: 2px;
  height: 100%;
  background-color: var(--color-accent-800);
}
.c-panel02 .c-panel02__main-title {
  margin: 0;
  font-size: clamp(1.75rem, 1.25rem + 1.333vw, 2.25rem);
  font-weight: bold;
  color: var(--color-text-base);
}
.c-panel02 .c-panel02__sub-title {
  margin: 0;
  font-size: clamp(0.875rem, 0.75rem + 0.333vw, 1rem);
  color: var(--color-gray-600);
}
.c-panel02 .c-panel02__contents {
  margin-top: clamp(1rem, 0.5rem + 1.333vw, 1.5rem);
}
.c-panel02 .c-panel02__desc {
  margin: 0;
  font-size: clamp(1rem, 0.875rem + 0.333vw, 1.125rem);
  color: var(--color-gray-600);
}

/* ## .c-title-box------------------------------------------- */
.c-title-box {
  container: c-title-box/inline-size;
  border: 1px solid var(--color-primary-500);
  overflow: hidden;
}
.c-title-box .c-title-box__title {
  background-color: var(--color-primary-700);
  color: #fff;
  margin: 0;
  padding: clamp(1rem, 0.875rem + 0.333vw, 1.125rem) clamp(1.5rem, 1rem + 1.333vw, 2rem);
  text-align: center;
  font-size: clamp(1.125rem, 0.875rem + 0.667vw, 1.375rem);
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.1em;
}
.c-title-box .c-title-box__contents {
  height: 100%;
  padding: clamp(1rem, 0.875rem + 0.333vw, 1.125rem) clamp(1.5rem, 1rem + 1.333vw, 2rem);
  box-sizing: border-box;
  line-height: 2.4;
  font-size: clamp(0.875rem, 0.75rem + 0.333vw, 1rem);
  background-color: var(--color-background-base);
}
.c-title-box .c-title-box__caption {
  margin-bottom: clamp(0.5rem, 0.25rem + 0.667vw, 0.75rem);
  line-height: 2.4;
  font-size: clamp(0.75rem, 0.625rem + 0.333vw, 0.875rem);
}
.c-title-box--color-primary {
  border-color: var(--color-primary);
}
.c-title-box--color-primary .c-title-box__title {
  background-color: var(--color-primary);
  color: var(--color-text-on-bg);
}

/* ## .c-table01------------------------------------------- */
.c-table01 {
  container: c-table01/inline-size;
  width: min(100%, 800px);
  margin-inline: auto;
  border-collapse: separate;
  border-spacing: clamp(1rem, 0.5rem + 1.333vw, 1.5rem) 0;
}
.c-table01 th,
.c-table01 td {
  padding: clamp(1rem, 0.5rem + 1.333vw, 1.5rem) 0;
  text-align: left;
}
.c-table01 th {
  min-width: 120px;
  vertical-align: middle;
  border-bottom: 2px solid var(--color-primary-500);
  font-size: clamp(0.875rem, 0.75rem + 0.333vw, 1rem);
  color: var(--color-gray-900);
}
.c-table01 td {
  border-bottom: 1px solid #333;
}
.c-table01::before {
  border-right: 60vw solid transparent;
  border-bottom: 15vw solid rgba(var(--color-primary-500), 0.4);
  bottom: 0;
}
.c-table01::after {
  border-left: 40vw solid transparent;
  border-bottom: 8vw solid rgba(var(--color-primary-500), 0.2);
  bottom: 0;
}
@media (max-width: 768px) {
  .c-table01 th,
  .c-table01 td {
    display: block;
    width: 100%;
  }
}

/* ## .p-footer__cta------------------------------------------- */
.p-footer__cta {
  background-color: rgba(0, 0, 0, 0.1);
  padding: 7rem 0 12rem;
  text-align: center;
}
.p-footer__cta p {
  margin-bottom: 4rem;
  word-break: keep-all;
  font-size: 1.2rem;
  line-height: 2.4rem;
}
.p-footer__cta::before {
  border-right: 60vw solid transparent;
  border-bottom: 12vw solid rgba(63, 167, 243, 0.3);
  bottom: 0;
}
.p-footer__cta::after {
  border-left: 40vw solid transparent;
  border-bottom: 8vw solid rgba(63, 167, 243, 0.5);
  bottom: 0;
}
@media screen and (max-width: 959px) {
  .p-footer__cta {
    padding: 5rem 0;
    padding-bottom: 8rem !important;
  }
}
@media screen and (max-width: 559px) {
  .p-footer__cta {
    padding-top: 3rem;
    padding-bottom: 7rem !important;
  }
  .p-footer__cta p {
    margin-bottom: 3rem;
  }
}

/* # プロジェクト / Project
------------------------------------------------ */
/* ## 企業情報ページ / Company Page
------------------------------------------------ */
/*** p-greeting ***/
.p-greeting {
  container: p-greeting/inline-size;
}
.p-greeting .p-greeting__inner {
  display: grid;
  grid-template-columns: 38.2fr 61.8fr;
  gap: clamp(1rem, 0.5rem + 1.333vw, 1.5rem) max(5%, 1rem);
}
@container (width < 800px) {
  .p-greeting .p-greeting__inner {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 1.5rem;
  }
}
@container (width < 550px) {
  .p-greeting .p-greeting__inner {
    grid-template-columns: none;
  }
}
.p-greeting .p-greeting__img-wrap {
  grid-row: 1/4;
}
@container (width < 800px) {
  .p-greeting .p-greeting__img-wrap {
    grid-row: auto;
  }
}
.p-greeting .p-greeting__img {
  aspect-ratio: 1;
}
.p-greeting .p-greeting__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-greeting .p-greeting__caption {
  grid-column-start: 2;
  margin-top: 0.5rem;
  line-height: 1.2;
}
@container (width < 550px) {
  .p-greeting .p-greeting__caption {
    grid-column-start: auto;
  }
}
.p-greeting .p-greeting__message {
  margin-bottom: 0;
  word-break: auto-phrase;
  line-height: 2.4;
}
.p-greeting .p-greeting__caption {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: clamp(0.5rem, 0.25rem + 0.667vw, 0.75rem);
  font-size: clamp(1rem, 0.875rem + 0.333vw, 1.125rem);
}
.p-greeting .p-greeting__caption-title {
  font-size: clamp(0.75rem, 0.625rem + 0.333vw, 0.875rem);
}
.p-greeting .p-greeting__caption-name {
  font-weight: 600;
  font-size: clamp(1.375rem, 1rem + 1vw, 1.75rem);
  color: var(--color-primary-900);
}

/* ## 事業内容ページ / Business Page
------------------------------------------------ */
/* ### p-business-overview */
.p-business-overview {
  container: p-business-overview/inline-size;
}
.p-business-overview .p-business-overview__inner {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: clamp(2rem, 1rem + 2.667vw, 3rem);
}
.p-business-overview .p-business-overview__unit {
  padding: clamp(2rem, 1rem + 2.667vw, 3rem);
  background-color: #fff;
}
.p-business-overview .p-business-overview__img {
  width: 100%;
  aspect-ratio: 1.732;
  margin-bottom: clamp(1.5rem, 1rem + 1.333vw, 2rem);
}
.p-business-overview .p-business-overview__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-business-overview .p-business-overview__desc {
  margin-bottom: clamp(1.5rem, 1rem + 1.333vw, 2rem);
  line-height: 2.4;
  text-align: center;
}
.p-business-overview .p-business-overview__list {
  display: flex;
  justify-content: center;
  gap: clamp(2rem, 1rem + 2.667vw, 3rem);
}
.p-business-overview .p-business-overview__item {
  flex: 0 0 25%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(0.5rem, 0.25rem + 0.667vw, 0.75rem);
}
.p-business-overview .p-business-overview__item-icon {
  width: 80%;
  aspect-ratio: 1;
  border-radius: 50%;
  overflow: hidden;
}
.p-business-overview .p-business-overview__item-icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-business-overview .p-business-overview__item-text {
  font-size: clamp(0.875rem, 0.75rem + 0.333vw, 1rem);
  text-align: center;
}

/* ### p-business-area */
.p-business-area {
  container: p-business-area/inline-size;
}
.p-business-area .p-business-area__detail-wrap {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
  align-items: stretch;
  gap: clamp(2rem, 1rem + 2.667vw, 3rem);
}
@container (width < 500px) {
  .p-business-area .p-business-area__detail-wrap {
    grid-template-columns: 1fr;
  }
}

/* ## 採用情報ページ / Recruit Page
------------------------------------------------ */
/* ### p-interview */
.p-interview {
  container: p-interview/inline-size;
}
.p-interview .p-interview__inner {
  display: flex;
  flex-direction: column;
  gap: clamp(3rem, 2rem + 2.667vw, 4rem);
}
.p-interview .p-interview__unit {
  display: flex;
  gap: clamp(2rem, 1rem + 2.667vw, 3rem);
}
@container (width < 800px) {
  .p-interview .p-interview__unit {
    flex-direction: column;
    gap: clamp(0.75rem, 0.5rem + 0.667vw, 1rem);
  }
}
.p-interview .p-interview__col1 {
  flex: 0 0 min(40%, 500px);
}
@container (width < 800px) {
  .p-interview .p-interview__col1 {
    flex: 1 1 auto;
  }
}
.p-interview .p-interview__col2 {
  flex: 1 1 auto;
}
.p-interview .p-interview__img {
  width: 100%;
  aspect-ratio: 1.414;
}
.p-interview .p-interview__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-interview .p-interview__position {
  margin-bottom: 0;
  font-size: clamp(0.75rem, 0.625rem + 0.333vw, 0.875rem);
  color: var(--color-primary-700);
  line-height: 1.7;
}
.p-interview .p-interview__name-group {
  display: flex;
  flex-direction: column;
  margin-bottom: clamp(1rem, 0.5rem + 1.333vw, 1.5rem);
}
.p-interview .p-interview__name-group::after {
  content: "";
  width: 3rem;
  height: 2px;
  margin-top: clamp(1rem, 0.5rem + 1.333vw, 1.5rem);
  background-color: var(--color-accent-800);
}
.p-interview .p-interview__name {
  margin-bottom: 0;
  line-height: 1.7;
  font-size: clamp(1.375rem, 1rem + 1vw, 1.75rem);
  font-weight: bold;
}
.p-interview .p-interview__ruby {
  margin-bottom: 0;
  line-height: 1.7;
  font-size: clamp(1rem, 0.875rem + 0.333vw, 1.125rem);
  color: var(--color-gray-300);
  text-transform: uppercase;
}
.p-interview .p-interview__desc {
  margin-bottom: clamp(0.5rem, 0.25rem + 0.667vw, 0.75rem);
  line-height: 2.4;
  font-size: clamp(0.875rem, 0.75rem + 0.333vw, 1rem);
}

/* ## お問い合わせページ / Contact Page
------------------------------------------------ */
.p-form-section {
  padding-block: clamp(3rem, 2rem + 2.667vw, 4rem);
}

/*** p-contact-tel ***/
.p-contact-tel {
  margin-bottom: clamp(4rem, 2rem + 5.333vw, 6rem);
}
.p-contact-tel .p-contact-tel__box {
  padding: 50px 20px;
  box-sizing: border-box;
  margin: clamp(3rem, 2rem + 2.667vw, 4rem) auto;
  background-color: #eee;
  text-align: center;
}
.p-contact-tel .p-contact-tel__message {
  margin-bottom: clamp(0.75rem, 0.5rem + 0.667vw, 1rem);
}
.p-contact-tel .p-contact-tel__number {
  margin: 0;
  font-size: clamp(1.125rem, 0.875rem + 0.667vw, 1.375rem);
}
.p-contact-tel .p-contact-tel__number a {
  text-decoration: none;
}
.p-contact-tel .p-contact-tel__icon {
  width: 1em;
  margin-right: 0.3em;
  fill: currentColor;
}

/*** p-contact-form ***/
.p-contact-form {
  --inner-padding: clamp(1rem, -0.556rem + 4.444vw, 3rem) clamp(0rem, -2.333rem + 6.667vw, 3rem);
  --input-group-gap: 0 clamp(1rem, 0.222rem + 2.222vw, 2rem);
  --input-row-padding: clamp(1.5rem, 1rem + 1.333vw, 2rem);
  --input-row-border-color: #dadada;
  --input-row-gap-sp: clamp(1.25rem, 1.152rem + 0.435vw, 1.5rem);
  --input-title-font-size: clamp(0.875rem, calc(0.75rem + 0.333vw), 1rem);
  --input-label-font-size: clamp(0.75rem, calc(0.625rem + 0.333vw), 0.875rem);
  --input-label-required-color: #c50931;
  --input-label-optional-color: #888;
  --input-content-gap: clamp(0.75rem, 0.652rem + 0.435vw, 1rem);
  --input-subtitle-font-size: clamp(0.75rem, calc(0.625rem + 0.333vw), 0.875rem);
  --submit-group-gap: clamp(1.25rem, 1.152rem + 0.435vw, 1.5rem);
  --privacy-embed-padding: clamp(1.5rem, 1.304rem + 0.87vw, 2rem);
  --privacy-embed-background: var(--color-background-base);
  --privacy-embed-title-font-size: clamp(1.125rem, 0.88rem + 1.087vw, 1.75rem);
  --privacy-embed-subtitle-font-size: clamp(1rem, 0.825rem + 0.5vw, 1.125rem);
  --privacy-embed-text-font-size: clamp(0.75rem, 0.701rem + 0.217vw, 0.875rem);
  --submit-btn-background: var(--color-primary-600);
  --submit-btn-color: #fff;
  --submit-btn-hover-background: var(--color-primary-500);
  --submit-btn-hover-color: #fff;
  container-type: inline-size;
}
.p-contact-form .p-contact-form__inner {
  padding: var(--inner-padding);
  box-sizing: border-box;
  background-color: #fff;
}
.p-contact-form .p-contact-form__input-group {
  display: grid;
  grid-template-columns: repeat(2, auto) 1fr;
  gap: var(--input-group-gap);
}
.p-contact-form .p-contact-form__input-row {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 3;
  row-gap: 0;
  align-items: center;
  padding: var(--input-row-padding);
  border-top: 1px solid var(--input-row-border-color);
}
@container (width < 600px) {
  .p-contact-form .p-contact-form__input-row {
    grid-template-columns: repeat(2, auto) 1fr;
    gap: var(--input-row-gap-sp);
  }
}
.p-contact-form .p-contact-form__input-title {
  margin: 0;
  font-size: var(--input-title-font-size);
}
.p-contact-form .p-contact-form__input-label {
  line-height: 2.2em;
  letter-spacing: 0.2em;
  margin: 0;
  padding: 0.1em 1.3em;
  border-radius: 3px;
  white-space: nowrap;
  color: #fff;
  font-weight: normal;
  font-size: var(--input-label-font-size);
}
.p-contact-form .p-contact-form__input-label--required {
  background-color: var(--input-label-required-color);
}
.p-contact-form .p-contact-form__input-label--optional {
  background-color: var(--input-label-optional-color);
}
.p-contact-form .p-contact-form__input-content {
  grid-column: 3;
}
@container (width < 600px) {
  .p-contact-form .p-contact-form__input-content {
    grid-column: 1/-1;
  }
}
.p-contact-form .p-contact-form__input-content--multiline {
  grid-row: span 2;
}
.p-contact-form .p-contact-form__input-content:nth-child(n+2 of .p-contact-form .p-contact-form__input-content) {
  margin-top: var(--input-content-gap);
}
.p-contact-form .p-contact-form__input-subtitle {
  display: block;
  margin-bottom: 0;
  font-size: var(--input-subtitle-font-size);
}
.p-contact-form input,
.p-contact-form select,
.p-contact-form textarea {
  padding: 0.75em;
  box-sizing: border-box;
  font-size: 1rem;
}
.p-contact-form input:is([type=text], [type=email], [type=tel])[size="40"] {
  width: 100%;
}
.p-contact-form select {
  width: -moz-min-content;
  width: min-content;
  field-sizing: content;
}
.p-contact-form textarea {
  width: 100%;
  min-height: 7lh;
  field-sizing: content;
  line-height: 1.7;
  resize: vertical;
}
.p-contact-form input.p-postal-code {
  width: 10em;
}
.p-contact-form .wpcf7-list-item-label {
  line-height: 2.6;
}
.p-contact-form .p-contact-form__submit-group {
  display: grid;
  gap: var(--submit-group-gap);
}
.p-contact-form .p-contact-form__privacy-embed {
  height: 400px;
  padding: var(--privacy-embed-padding);
  box-sizing: border-box;
  overflow-y: scroll;
  background: var(--privacy-embed-background);
}
.p-contact-form .p-contact-form__privacy-embed .p-contact-form__privacy-embed__title {
  margin-bottom: 1.25rem;
  text-align: center;
  word-break: keep-all;
  font-size: var(--privacy-embed-title-font-size);
}
.p-contact-form .p-contact-form__privacy-embed .p-contact-form__privacy-embed__subtitle {
  margin-bottom: 0.75rem;
  font-size: var(--privacy-embed-subtitle-font-size);
}
.p-contact-form .p-contact-form__privacy-embed .p-contact-form__privacy-embed__text {
  margin-bottom: 1.25rem;
  line-height: 2.4;
  font-size: var(--privacy-embed-text-font-size);
}
.p-contact-form .p-contact-form__consent-check {
  text-align: center;
}
.p-contact-form .p-contact-form__submit-btn {
  display: block;
  width: min(100%, 350px);
  margin: 0 auto;
}
.p-contact-form .p-contact-form__submit-btn input[type=submit] {
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: clamp(1rem, 0.5rem + 1.333vw, 1.5rem) 0;
  background: var(--submit-btn-background);
  transition: 0.3s;
  text-align: center;
  letter-spacing: 0.1em;
  font-size: clamp(1rem, 0.875rem + 0.333vw, 1.125rem);
  color: var(--submit-btn-color);
  border: none;
}
.p-contact-form .p-contact-form__submit-btn input[type=submit]:is(:hover, :focus) {
  background: var(--submit-btn-hover-background);
  color: var(--submit-btn-hover-color);
}

/*** CF7 ***/
.wpcf7 {
  background: var(--color-base02);
  border: none;
  border-radius: 20px;
  box-shadow: var(--shadow02);
}

.wpcf7-spinner {
  position: absolute;
}

/* エラー時入力フィールド */
.wpcf7 .wpcf7-not-valid {
  border-color: #dc3232;
  background-color: #fff8f8;
}

/* エラー時コンテナ */
.wpcf7-not-valid-tip {
  width: 100%;
  margin-top: 5px;
  padding: 8px;
  box-sizing: border-box;
  text-align: left;
  background-color: #fff8f8;
  border-left: 4px solid #dc3232;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  color: #dc3232;
  font-size: 14px;
  font-weight: bold;
  animation: errorShake 0.3s ease-in-out;
}

@keyframes errorShake {
  0% {
    translate: 0;
  }
  25% {
    translate: -10px;
  }
  75% {
    translate: 10px;
  }
  100% {
    translate: 0;
  }
}
/*** p-contact-notification ***/
.p-contact-notification {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 12px;
  z-index: 9999;
  width: -moz-max-content;
  width: max-content;
  max-width: 90%;
  padding: 1.5rem;
  box-sizing: border-box;
  border-radius: 5px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  color: #fff;
  pointer-events: none;
  animation: contact-notification-fade-in-out 2.5s forwards;
}

@keyframes contact-notification-fade-in-out {
  0% {
    opacity: 0;
    transform: translate(-50%, -40%);
  }
  20% {
    opacity: 1;
    transform: translate(-50%, -50%);
  }
  80% {
    opacity: 1;
    transform: translate(-50%, -50%);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -60%);
  }
}
.p-contact-notification.p-contact-notification--success {
  background-color: rgba(14, 133, 14, 0.8);
}

.p-contact-notification.p-contact-notification--error {
  background-color: rgba(0, 0, 0, 0.8);
}

.p-contact-notification .p-contact-notification__message {
  margin: 0;
  font-size: 1rem;
}

/* ユーティリティ / Utility
------------------------------------------------ */
/*** デバイス別の表示制御 ***/
@media (width < 960px) {
  .u-pc-only {
    display: none;
  }
}

@media (width >= 960px) {
  .u-sp-only {
    display: none;
  }
}

/*** 文字列の折り返しを制御 ***/
.u-keep-all {
  word-break: keep-all;
}

.u-auto-phrase {
  word-break: auto-phrase;
}

/*** コンテンツ間スペーシング ***/
.u-mb-small20 {
  margin-bottom: clamp(0.25rem, 0.125rem + 0.333vw, 0.375rem) !important;
}

.u-mb-small10 {
  margin-bottom: clamp(0.5rem, 0.25rem + 0.667vw, 0.75rem) !important;
}

.u-mb-regular {
  margin-bottom: clamp(0.75rem, 0.5rem + 0.667vw, 1rem) !important;
}

.u-mb-large10 {
  margin-bottom: clamp(1rem, 0.5rem + 1.333vw, 1.5rem) !important;
}

.u-mb-large20 {
  margin-bottom: clamp(1.5rem, 1rem + 1.333vw, 2rem) !important;
}

.u-mb-large30 {
  margin-bottom: clamp(2rem, 1rem + 2.667vw, 3rem) !important;
}

.u-mb-large40 {
  margin-bottom: clamp(3rem, 2rem + 2.667vw, 4rem) !important;
}

.u-mb-large45 {
  margin-bottom: clamp(3.5rem, 2.913rem + 2.609vw, 5rem) !important;
}

.u-mb-large50 {
  margin-bottom: clamp(4rem, 2rem + 5.333vw, 6rem) !important;
}

.u-mb-large60 {
  margin-bottom: clamp(6rem, 4rem + 5.333vw, 8rem) !important;
}

.u-mb-large70 {
  margin-bottom: clamp(8rem, 4rem + 10.667vw, 12rem) !important;
}

.u-mb-large80 {
  margin-bottom: clamp(12rem, 8rem + 10.667vw, 16rem) !important;
}

.u-mb-large90 {
  margin-bottom: clamp(16rem, 12rem + 10.667vw, 20rem) !important;
}

.u-mb-large100 {
  margin-bottom: clamp(20rem, 16rem + 10.667vw, 24rem) !important;
}

/*** スタイル微調整 ***/
.u-text-link {
  text-decoration: underline;
}

/*** テキスト装飾 ***/
.u-text-emphasis {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  font-style: normal;
  font-weight: bold;
}
.u-text-emphasis--circle::before {
  content: "";
  position: absolute;
  left: 0;
  z-index: -1;
  background: url("https://platinum-site.com/raijin-relife/wp-content/uploads/emphasis-circle.png") no-repeat center/contain;
}
.u-text-emphasis--line::before {
  content: "";
  position: absolute;
  left: 0;
  z-index: -1;
  background: url("https://platinum-site.com/raijin-relife/wp-content/uploads/emphasis-line.png") no-repeat bottom/contain;
}

/*
Theme Name: tec-ss
Theme URI:
Description: HOC tecのinformation等のページです。
Version: 1.1
Author: owndmedia-lab
*/
/*--------------------------------------------------------------
## 共通
--------------------------------------------------------------*/
html {
  overflow-x: clip;
}

body {
  width: 100%;
  font-size: 16px;
  color: var(--color-text-base);
  font-family: "Noto Serif JP", serif;
  font-feature-settings: "palt";
  letter-spacing: 0.1rem;
  margin: 0 auto;
  overflow-x: clip;
  background-color: rgba(240, 240, 240, 0.9);
}

h1 {
  font-size: 2rem;
}

h2 {
  font-size: 1.8rem;
}

p {
  font-size: clamp(0.875rem, 0.75rem + 0.333vw, 1rem);
  line-height: 2.4;
  margin: 0;
}

a {
  text-decoration: none;
  color: var(--color-primary-800);
}

img {
  vertical-align: bottom;
  max-width: 100%;
}

.container {
  margin: auto;
  max-width: 95%;
}

.container01 {
  width: calc(100% - 5vw);
}

.container02 {
  width: 1280px;
}

.container03 {
  width: 920px;
}

/*ローディング画面*/
.loader-wrap {
  position: fixed;
  display: grid;
  place-items: center;
  top: 0;
  width: 100%;
  height: 100vh;
  background-color: var(--color-primary-900);
  overflow: hidden;
  z-index: 1000;
}

.loader,
.loader:before,
.loader:after {
  color: var(--color-primary-500);
  background-color: var(--color-primary-500);
  animation: load1 1s infinite ease-in-out;
  width: 1em;
  height: 4em;
}

.loader {
  text-indent: -9999em;
  margin: 88px auto;
  position: relative;
  font-size: 11px;
  transform: translateZ(0);
  animation-delay: -0.16s;
}

.loader:before,
.loader:after {
  position: absolute;
  top: 0;
  content: "";
}

.loader:before {
  left: -1.5em;
  animation-delay: -0.32s;
  color: var(--color-accent-800);
  background-color: var(--color-accent-800);
}

.loader:after {
  left: 1.5em;
  color: var(--color-primary-500);
  background-color: var(--color-primary-500);
}
@keyframes load1 {
  0%, 80%, 100% {
    box-shadow: 0 0;
    height: 4em;
  }
  40% {
    box-shadow: 0 -2em;
    height: 5em;
  }
}
/*ボタンデザイン*/
.btn1 {
  position: relative;
  font-size: 3rem;
  color: #000;
  padding: 0.5rem 2rem 0.8rem;
  border: 1px solid #000;
}
.btn1::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  border: 1px solid #000;
  top: -10px;
  right: -10px;
  transition: 0.4s;
}
.btn1:hover::before {
  top: 0;
  right: 0;
  transition: 0.4s;
}

.more-btn {
  position: relative;
  display: inline-block;
}
.more-btn::before, .more-btn::after {
  position: absolute;
  content: "";
}
.more-btn::before {
  width: 160px;
  height: 2px;
  background-color: #000;
  right: -2rem;
  bottom: -1rem;
}
.more-btn::after {
  width: 15px;
  height: 2px;
  background-color: #000;
  right: -2rem;
  bottom: -0.75rem;
  transform: rotate(30deg);
}

/* 三角形の装飾 */
.deco {
  position: relative;
}
.deco::before, .deco::after {
  position: absolute;
  content: "";
}
.deco::before {
  left: 0;
}
.deco::after {
  right: 0;
}

/* その他共通 */
.flex {
  display: flex;
  flex-wrap: wrap;
}

.contents_table {
  max-width: 960px;
  border: none;
}
.contents_table th,
.contents_table td {
  border-bottom: 1px solid #000;
  padding: 1.5rem 2rem;
  line-height: 2;
}
.contents_table th {
  vertical-align: middle;
  font-size: clamp(1rem, 0.875rem + 0.333vw, 1.125rem);
}
.contents_table td {
  text-align: left;
  font-size: clamp(0.875rem, 0.75rem + 0.333vw, 1rem);
}

.bk-img {
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
  min-height: 450px;
  width: 100%;
}

.category,
.post-categories li a {
  background-color: var(--color-primary-800);
  font-size: 0.9rem;
  color: #fff;
  padding: 0.8rem 1rem;
  transition: 0.4s;
  margin: 0;
  line-height: 1.2;
}
.category:hover,
.post-categories li a:hover {
  background-color: #000;
  transition: 0.4s;
}

/*パンくずリスト*/
.breadcrumb {
  margin-bottom: 5rem;
}
.breadcrumb li {
  display: inline-block;
  font-size: 0.8rem;
  position: relative;
  margin-right: 2rem;
}
.breadcrumb li a {
  color: var(--color-primary-800);
  transition: 0.4s;
}
.breadcrumb li a:hover {
  color: var(--color-primary-500);
  transition: 0.4s;
}
.breadcrumb li::before {
  position: absolute;
  content: "";
  width: 4px;
  height: 4px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  transform: rotate(45deg);
  right: -1.2rem;
  bottom: 0.4rem;
}
.breadcrumb li:last-child::before {
  display: none;
}

/*ページャー*/
.page-numbers {
  display: flex;
  justify-content: space-around;
  padding-top: 3rem;
}
.page-numbers li {
  padding: 0;
}
.page-numbers li .current {
  color: #fff;
  background-color: #000;
  padding: 0.8rem;
}
.page-numbers li .prev,
.page-numbers li .next {
  background: none;
  color: var(--color-primary-800);
  transition: 0.4s;
}
.page-numbers li .prev:hover,
.page-numbers li .next:hover {
  background: none;
  color: var(--color-primary-500);
  transition: 0.4s;
}
.page-numbers li a {
  display: block;
  color: #fff;
  background-color: var(--color-primary-800);
  padding: 0.8rem;
  transition: 0.4s;
}
.page-numbers li a:hover {
  background-color: var(--color-primary-500);
  transition: 0.4s;
}

/*スクロールバーデザイン*/
::-webkit-scrollbar {
  width: 10px;
}

::-webkit-scrollbar-track {
  background: #fff;
}

::-webkit-scrollbar-thumb {
  background-color: var(--color-primary-900);
  border-radius: 10px;
  box-shadow: inset 0 0 0 2px #fff;
}

/*--------------------------------------------------------------
## header.php
--------------------------------------------------------------*/
.header {
  position: relative;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.33);
  background-image: radial-gradient(circle, rgba(0, 0, 0, 0.5) 1px, transparent 1px);
  background-size: 3px 3px;
  height: 100vh;
}
.header_menu {
  padding-top: 40px;
}
.header_menu .header-branding {
  position: fixed;
  z-index: 100;
  width: min(70%, 300px);
}
.header_menu .header-branding_site-title a {
  display: block;
  width: 100%;
  color: #fff;
}
.header_menu .menu-trigger {
  position: fixed;
  width: 60px;
  height: 60px;
  top: 0;
  right: 0;
  background-color: #fff;
  border: none;
  z-index: 90;
  cursor: pointer;
}
.header_menu .menu-trigger-bar {
  position: absolute;
  width: 30px;
  height: 4px;
  margin: auto;
  left: 0;
  right: 0;
  background-color: #000;
}
.header_menu .menu-trigger-bar.top {
  top: 16px;
}
.header_menu .menu-trigger-bar.middle {
  top: 28px;
}
.header_menu .menu-trigger-bar.bottom {
  top: 40px;
}
.header_menu .close-trigger {
  position: fixed;
  display: none;
  top: 0;
  right: 0;
  width: 60px;
  height: 60px;
  z-index: 110;
  cursor: pointer;
}
.header_menu .close-trigger-bar {
  position: absolute;
  width: 30px;
  height: 4px;
  background-color: #fff;
  margin: auto;
  top: 30px;
  left: 0;
  right: 0;
}
.header_menu .close-trigger-bar.left {
  transform: rotate(45deg);
}
.header_menu .close-trigger-bar.right {
  transform: rotate(135deg);
}
.header_menu .global-nav {
  width: 60%;
  margin-left: auto;
  padding: 0 50px 0 350px;
}
.header_menu .global-nav_list {
  display: flex;
  justify-content: flex-end;
  gap: 2rem;
}
.header_menu .global-nav_list li {
  padding-top: 1rem;
}
.header_menu .global-nav_list li a {
  position: relative;
  display: grid;
  justify-items: center;
  text-align: center;
  color: #fff;
  transition: 0.4s;
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
}
.header_menu .global-nav_list li a:hover {
  color: var(--color-primary-400);
  transition: 0.4s;
}
.header_menu .global-nav_list li a small {
  display: block;
  padding-top: 0.3rem;
  font-size: 0.7rem;
}
.header_menu .global-nav_list li a::after {
  position: absolute;
  content: "";
  top: 100%;
  left: 50%;
  translate: -50% -100%;
  width: 8px;
  aspect-ratio: 1;
  background-color: var(--color-primary-400);
  margin-top: clamp(0.5rem, 0.25rem + 0.667vw, 0.75rem);
  transform-origin: top;
  opacity: 0;
  scale: 0.75;
  transition: 0.3s;
}
.header_menu .global-nav_list li a:hover::after {
  translate: -50% 0;
  opacity: 1;
  scale: 1;
}
.header_menu .mini-nav {
  position: fixed;
  display: grid;
  place-items: center;
  width: 0;
  height: 0;
  top: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.9);
  opacity: 0;
  z-index: 90;
}
.header_menu .mini-nav_list {
  text-align: center;
}
.header_menu .mini-nav_list li {
  position: relative;
  padding: clamp(0.75rem, 0.5rem + 0.667vw, 1rem);
}
.header_menu .mini-nav_list li a {
  display: block;
  color: #fff;
  font-size: clamp(1rem, 0.875rem + 0.333vw, 1.125rem);
  transition: 0.4s;
  position: relative;
  text-align: center;
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
}
.header_menu .mini-nav_list li a:hover {
  color: var(--color-primary-400);
  transition: 0.4s;
}
.header_menu .mini-nav_list li a small {
  display: block;
  padding-top: 0.3rem;
  font-size: clamp(0.75rem, 0.625rem + 0.333vw, 0.875rem);
}
.header_menu .mini-nav_list li a::after {
  position: absolute;
  content: "";
  top: 100%;
  left: 50%;
  translate: -50% -100%;
  width: 8px;
  aspect-ratio: 1;
  background-color: var(--color-primary-400);
  margin-top: clamp(0.5rem, 0.25rem + 0.667vw, 0.75rem);
  transform-origin: top;
  opacity: 0;
  scale: 0.75;
  transition: 0.3s;
}
.header_menu .mini-nav_list li a:hover::after {
  translate: -50% 0;
  opacity: 1;
  scale: 1;
}
.header_menu .mini-nav_list li.current a {
  color: #333;
}
.header_catchphrase h2 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% - 10vw);
  line-height: 1.8;
  font-size: 3rem;
  padding-top: 0 !important;
}
.header_slider {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100vh;
  z-index: -1;
  overflow: hidden;
}
.header_slider div {
  display: inline-block;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 100vh;
  margin: 0;
  width: 100%;
}
.header_slider-img01 {
  background-image: url(img/top_slider-test.jpg);
}
.header_slider-img02 {
  background-image: url(img/top_slider02.jpg);
}
.header_slider-img03 {
  background-image: url(img/top_slider03.jpg);
}
.header_video {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100vh;
  z-index: -1;
  overflow: hidden;
}
.header_video video {
  width: 100%;
  height: 100vh;
  -o-object-fit: cover;
     object-fit: cover;
}
.header_lower-img {
  position: absolute;
  top: 0;
  z-index: -1;
  width: 100%;
}
.header_lower-img img {
  width: 100%;
  height: 100vh;
  -o-object-fit: cover;
     object-fit: cover;
}
.header::before {
  border-top: 3vw solid transparent;
  border-bottom: 3vw solid transparent;
  border-left: 40vw solid rgba(63, 167, 243, 0.5);
  bottom: -3vw;
}
.header::after {
  border-top: 7vw solid transparent;
  border-right: 60vw solid rgba(63, 167, 243, 0.3);
  border-bottom: 7vw solid transparent;
  bottom: -7vw;
}

/*--------------------------------------------------------------
## main
--------------------------------------------------------------*/
.lower .contents {
  padding: 10rem 0;
}
.lower .contents:first-child {
  padding-top: 0;
}
.lower .contents:last-child {
  padding-bottom: 12rem;
}

/*--------------------------------------------------------------
## top-page
--------------------------------------------------------------*/
.top .contents {
  position: relative;
}
.top .contents_title {
  margin-bottom: clamp(1.5rem, 1rem + 1.333vw, 2rem);
  font-size: 4rem;
  text-align: center;
}
.top .contents_text {
  text-align: center;
  font-size: clamp(0.875rem, 0.75rem + 0.333vw, 1rem);
  line-height: 2.4;
}
.top .contents01 {
  padding: 10rem 0;
}
.top .contents01 h2 {
  font-size: 2rem;
  line-height: 4rem;
  padding: 0 2rem;
}
.top .contents01 .more-btn {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto 3rem;
  transition: 0.4s;
}
.top .contents01 .more-btn span {
  color: #000;
  display: block;
  width: 200px;
  height: 2rem;
  text-align: right;
}
.top .contents01 .more-btn:hover {
  translate: 3vw;
}
.top .contents02 .contents_section {
  position: relative;
  margin-bottom: 36rem;
}
.top .contents02 .contents_section-img {
  max-height: 80vh;
}
.top .contents02 .contents_section-img img {
  width: 100%;
  max-height: 80vh;
  -o-object-fit: cover;
     object-fit: cover;
}
.top .contents02 .contents_section-text {
  position: absolute;
  width: 880px;
  min-height: 300px;
  top: 60vh;
  z-index: 10;
}
.top .contents02 .contents_section-text a {
  display: block;
  padding: 6rem 8rem clamp(8rem, 4rem + 10.667vw, 12rem);
  color: #fff;
  min-height: 300px;
}
.top .contents02 .contents_section-text a h2 {
  font-size: 3.5rem;
  margin-bottom: 3rem;
}
.top .contents02 .contents_section-text a .more-btn {
  position: absolute;
  right: 9rem;
  bottom: 6.5rem;
  transition: 0.4s;
}
.top .contents02 .contents_section-text a .more-btn::before, .top .contents02 .contents_section-text a .more-btn::after {
  background-color: #fff;
}
.top .contents02 .contents_section-text a:hover .more-btn {
  right: 6rem;
  transition: 0.4s;
}
.top .contents02 .contents_section:first-child .contents_section-img::before {
  border-right: 20vw solid transparent;
  border-bottom: 4vw solid rgba(0, 0, 0, 0.2);
  bottom: 0;
  z-index: 10;
}
.top .contents02 .contents_section:first-child .contents_section-img::after {
  border-right: 80vw solid rgba(0, 0, 0, 0.2);
  border-bottom: 10vw solid transparent;
  bottom: -10vw;
}
.top .contents02 .contents_section:first-child .contents_section-text {
  background-color: var(--color-primary-700);
  right: 0;
}
.top .contents02 .contents_section:nth-child(2) .contents_section-img::before {
  border-right: 60vw solid transparent;
  border-bottom: 6vw solid rgba(63, 167, 243, 0.3);
  bottom: 0;
  z-index: 10;
}
.top .contents02 .contents_section:nth-child(2) .contents_section-img::after {
  border-bottom: 6vw solid transparent;
  border-top: 2vw solid transparent;
  border-right: 40vw solid rgba(63, 167, 243, 0.5);
  bottom: -6vw;
}
.top .contents02 .contents_section:nth-child(2) .contents_section-text {
  background-color: #333;
}
.top .contents02 .contents_section:nth-child(3) .contents_section-img::before {
  border-right: 20vw solid transparent;
  border-bottom: 4vw solid rgba(0, 0, 0, 0.2);
  bottom: 0;
  z-index: 10;
}
.top .contents02 .contents_section:nth-child(3) .contents_section-img::after {
  border-right: 80vw solid rgba(0, 0, 0, 0.2);
  border-bottom: 10vw solid transparent;
  bottom: -10vw;
}
.top .contents02 .contents_section:nth-child(3) .contents_section-text {
  background-color: var(--color-primary-700);
  right: 0;
}
.top .contents03 {
  padding: 8rem 0 0;
  background-color: rgba(0, 0, 0, 0.1);
}
.top .contents03 .container a {
  display: block;
  min-height: 6rem;
  margin-bottom: 8rem;
}
.top .contents03 .container a .contents_title {
  text-align: left;
  color: #000;
}
.top .contents03 .container a .more-btn {
  position: absolute;
  color: #000;
  left: 30rem;
  transition: 0.4s;
}
.top .contents03 .container a:hover .more-btn {
  left: 35rem;
  transition: 0.4s;
}
.top .contents03 .contents_item .article {
  position: relative;
  width: 50%;
  height: 32vw;
  transition: 0.3s ease-in-out;
}
.top .contents03 .contents_item .article a {
  display: block;
  height: 32vw;
}
.top .contents03 .contents_item .article a img {
  position: absolute;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  left: 0;
  z-index: -1;
}
.top .contents03 .contents_item .article a .article-text {
  display: none;
  color: #fff;
  padding: 5vw;
}
.top .contents03 .contents_item .article a .article-text_title {
  font-size: 3rem;
  padding-top: 10vw;
  line-height: 3.5rem;
}
.top .contents03 .contents_item .article a .article-text_data {
  position: relative;
  margin: 1.2rem 0;
}
.top .contents03 .contents_item .article a .article-text_data::before {
  position: absolute;
  content: "";
  width: 50px;
  height: 1px;
  background-color: #fff;
  bottom: -1rem;
  left: 0;
}
.top .contents03 .contents_item .article:hover {
  background-color: rgba(0, 59, 95, 0.5);
  transition: 0.3s ease-in-out;
}
.top .contents03 .contents_item .article:hover a .article-text {
  display: block;
}
.top .contents04 {
  padding: 8rem 0 25rem;
  position: relative;
}
.top .contents04 .contents_title {
  margin-bottom: 10rem;
  text-align: left;
}
.top .contents04 .contents_item .article {
  width: calc(50% - 6vw);
  margin-bottom: 4rem;
}
.top .contents04 .contents_item .article:nth-child(odd) {
  padding: 0 1vw 0 5vw;
}
.top .contents04 .contents_item .article:nth-child(even) {
  padding: 0 5vw 0 1vw;
}
.top .contents04 .contents_item .article .article-text {
  width: calc(100% - 2rem);
  color: #333;
}
.top .contents04 .contents_item .article .article-text_data {
  font-size: 0.9rem;
  padding-bottom: 0.5rem;
  color: var(--color-primary-500);
}
.top .contents04 .contents_item .article .article-text_title {
  font-size: 1.5rem;
  padding-bottom: 0.5rem;
  color: var(--color-primary-800);
}
.top .contents04 .more-btn {
  position: absolute;
  right: 10vw;
  bottom: 18rem;
  transition: 0.4s;
}
.top .contents04 .more-btn a {
  color: #000;
  display: block;
  width: 200px;
  height: 2rem;
  text-align: right;
}
.top .contents04 .more-btn:hover {
  right: 7vw;
  transition: 0.4s;
}
.top .contents04::before {
  border-right: 70vw solid transparent;
  border-bottom: 12vw solid rgba(63, 167, 243, 0.6);
  bottom: 0;
}
.top .contents04::after {
  border-left: 30vw solid transparent;
  border-bottom: 8vw solid rgba(63, 167, 243, 0.4);
  bottom: 0;
}
.top .contents05 {
  color: #fff;
  background-color: rgba(0, 0, 0, 0.6);
  padding: 8rem 0;
  text-align: center;
}
.top .contents05 .contents_bk {
  position: absolute;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
}
.top .contents05 .contents_title {
  margin-bottom: 5rem;
}
.top .contents05 p {
  margin-bottom: 5rem;
}
.top .contents05 .btn1 {
  color: #fff;
  border-color: #fff;
}
.top .contents05 .btn1::before {
  border-color: #fff;
}

/*--------------------------------------------------------------
## lower-page
--------------------------------------------------------------*/
/* 見出し */
.header_pageTitle {
  position: absolute;
  top: 42vh;
}
.header_pageTitle h2 {
  font-size: 4rem;
  padding-left: 10vw;
}
.header_pageTitle h2 span {
  font-size: 2rem;
  display: block;
}

.lower {
  padding-top: clamp(6rem, 4rem + 5.333vw, 8rem);
}

.lower .contents_title {
  font-size: 2rem;
}

/* 投稿内aタグ */
.post_content a {
  transition: 0.4s;
}
.post_content a:hover {
  color: var(--color-primary-500);
  transition: 0.4s;
}

/*--------------------------------------------------------------
## page-company.php
--------------------------------------------------------------*/
.company .contents01 .container {
  align-items: center;
}
.company .contents01 .contents_text {
  width: 50%;
}
.company .contents01 .contents_text h3 {
  margin-bottom: 3rem;
}
.company .contents01 .contents_text p {
  padding-right: 5%;
}
.company .contents01 .contents_img {
  width: 50%;
}
.company .contents01 .contents_img img {
  width: 90%;
  text-align: right;
}
.company .contents02 {
  background-color: rgba(0, 0, 0, 0.1);
  padding-top: 12rem;
  padding-bottom: 20rem;
}
.company .contents02 .container {
  background-color: #fff;
  padding: 5rem 0;
}
.company .contents02 h3 {
  text-align: center;
}
.company .contents02 table {
  margin: 5rem auto 1rem;
}
.company .contents02::before {
  border-right: 60vw solid transparent;
  border-bottom: 15vw solid rgba(63, 167, 243, 0.4);
  bottom: 0;
}
.company .contents02::after {
  border-left: 40vw solid transparent;
  border-bottom: 8vw solid rgba(63, 167, 243, 0.2);
  bottom: 0;
}
.company .img1 {
  background-image: url("img/company_bk.jpg");
}
.company .contents03::before {
  border-right: 50vw solid transparent;
  border-top: 15vw solid rgba(63, 167, 243, 0.2);
  top: 0;
}
.company .contents03::after {
  border-left: 50vw solid transparent;
  border-top: 8vw solid rgba(63, 167, 243, 0.4);
  top: 0;
}
.company .contents03 h3 {
  text-align: center;
}
.company .contents03 table {
  margin: auto;
  margin-top: 5rem;
}

/*--------------------------------------------------------------
## page-strength.php
--------------------------------------------------------------*/
.strength .contents02 {
  padding: 3rem 0 5rem;
}
.strength .contents02 .contents_section {
  position: relative;
  margin-bottom: 18rem;
}
.strength .contents02 .contents_section-text {
  position: absolute;
  color: #fff;
  text-align: left;
  padding: 5rem;
  width: 35vw;
  min-height: 300px;
  bottom: -8rem;
  z-index: 10;
}
.strength .contents02 .contents_section-text h4 {
  line-height: 1.8;
  font-size: 1.8rem;
  margin-bottom: 2rem;
}
.strength .contents02 .contents_section img {
  width: 60vw;
  height: 39vw;
  -o-object-fit: cover;
     object-fit: cover;
}
.strength .contents02 .contents_section:first-child {
  text-align: right;
}
.strength .contents02 .contents_section:first-child .contents_section-text {
  background-color: var(--color-primary-900);
}
.strength .contents02 .contents_section:first-child::before {
  border-right: 60vw solid transparent;
  border-bottom: 25vw solid rgba(0, 0, 0, 0.2);
  bottom: 0.1vw;
  left: -2.5vw;
}
.strength .contents02 .contents_section:first-child::after {
  border-left: 40vw solid transparent;
  border-top: 5vw solid rgba(0, 0, 0, 0.3);
  bottom: -4.9vw;
  right: -2.5vw;
}
.strength .contents02 .contents_section:nth-child(even) {
  text-align: left;
}
.strength .contents02 .contents_section:nth-child(even) img {
  z-index: 10;
}
.strength .contents02 .contents_section:nth-child(even) .contents_section-text {
  background-color: #333;
  right: 0;
}
.strength .contents02 .contents_section:nth-child(even)::before {
  border-right: 30vw solid transparent;
  border-top: 3vw solid rgba(63, 167, 243, 0.6);
  bottom: -2.9vw;
  left: -2.5vw;
}
.strength .contents02 .contents_section:nth-child(even)::after {
  border-left: 70vw solid transparent;
  border-bottom: 30vw solid rgba(63, 167, 243, 0.3);
  bottom: 0.1vw;
  right: -2.5vw;
}
.strength .contents02 .contents_section:last-child {
  text-align: right;
}
.strength .contents02 .contents_section:last-child .contents_section-text {
  background-color: var(--color-primary-800);
}
.strength .contents02 .contents_section:last-child::before {
  border-right: 80vw solid transparent;
  border-bottom: 20vw solid rgba(0, 0, 0, 0.3);
  bottom: 0.1vw;
  left: -2.5vw;
}
.strength .contents02 .contents_section:last-child::after {
  border-left: 20vw solid transparent;
  border-top: 5vw solid rgba(0, 0, 0, 0.2);
  bottom: -4.9vw;
  right: -2.5vw;
}

/*--------------------------------------------------------------
## page-recruit.php
--------------------------------------------------------------*/
.recruit .contents01 .contents_title {
  font-size: 1.5rem;
  line-height: 2.8rem;
  text-align: center;
}
.recruit .contents02 {
  padding: 3rem 0 5rem;
}
.recruit .contents02 .contents_section {
  position: relative;
  margin-bottom: 22rem;
}
.recruit .contents02 .contents_section-text {
  position: absolute;
  color: #fff;
  text-align: left;
  padding: 5rem;
  width: 35vw;
  min-height: 300px;
  top: 27rem;
  z-index: 10;
}
.recruit .contents02 .contents_section-text h2,
.recruit .contents02 .contents_section-text h3,
.recruit .contents02 .contents_section-text h4 {
  line-height: 1.8;
  font-size: 1.8rem;
  margin-bottom: 2rem;
}
.recruit .contents02 .contents_section img {
  width: 60vw;
  height: 39vw;
  -o-object-fit: cover;
     object-fit: cover;
}
.recruit .contents02 .contents_section:first-child {
  text-align: right;
}
.recruit .contents02 .contents_section:first-child .contents_section-text {
  background-color: var(--color-primary-900);
}
.recruit .contents02 .contents_section:first-child::before {
  border-right: 60vw solid transparent;
  border-bottom: 25vw solid rgba(0, 0, 0, 0.2);
  bottom: 0.1vw;
  left: -2.5vw;
}
.recruit .contents02 .contents_section:first-child::after {
  border-left: 40vw solid transparent;
  border-top: 5vw solid rgba(0, 0, 0, 0.3);
  bottom: -4.9vw;
  right: -2.5vw;
}
.recruit .contents02 .contents_section:nth-child(even) {
  text-align: left;
}
.recruit .contents02 .contents_section:nth-child(even) img {
  z-index: 10;
}
.recruit .contents02 .contents_section:nth-child(even) .contents_section-text {
  background-color: #333;
  right: 0;
}
.recruit .contents02 .contents_section:nth-child(even)::before {
  border-right: 30vw solid transparent;
  border-top: 3vw solid rgba(63, 167, 243, 0.6);
  bottom: -2.9vw;
  left: -2.5vw;
}
.recruit .contents02 .contents_section:nth-child(even)::after {
  border-left: 70vw solid transparent;
  border-bottom: 30vw solid rgba(63, 167, 243, 0.3);
  bottom: 0.1vw;
  right: -2.5vw;
}
.recruit .contents02 .contents_section:last-child {
  text-align: right;
}
.recruit .contents02 .contents_section:last-child .contents_section-text {
  background-color: var(--color-primary-800);
}
.recruit .contents02 .contents_section:last-child::before {
  border-right: 80vw solid transparent;
  border-bottom: 20vw solid rgba(0, 0, 0, 0.3);
  bottom: 0.1vw;
  left: -2.5vw;
}
.recruit .contents02 .contents_section:last-child::after {
  border-left: 20vw solid transparent;
  border-top: 5vw solid rgba(0, 0, 0, 0.2);
  bottom: -4.9vw;
  right: -2.5vw;
}
.recruit .contents03 {
  background-color: rgba(0, 0, 0, 0.1);
  padding-bottom: 12rem !important;
  text-align: center;
}
.recruit .contents03 p {
  margin-bottom: 8rem;
  font-size: 1.2rem;
  line-height: 2rem;
}
.recruit .contents03::before {
  border-right: 60vw solid transparent;
  border-bottom: 12vw solid rgba(63, 167, 243, 0.3);
  bottom: 0;
}
.recruit .contents03::after {
  border-left: 40vw solid transparent;
  border-bottom: 8vw solid rgba(63, 167, 243, 0.5);
  bottom: 0;
}
.recruit .contents04 {
  background-color: rgba(0, 0, 0, 0.1);
  padding-top: 12rem;
  padding-bottom: clamp(0.75rem, 0.5rem + 0.667vw, 1rem) !important;
}
.recruit .contents04 .container {
  background-color: #fff;
  padding: 5rem clamp(3rem, 2rem + 2.667vw, 4rem);
  box-sizing: border-box;
}
.recruit .contents04 h3 {
  text-align: center;
}
.recruit .contents04 table {
  margin: 5rem auto 1rem;
}
.recruit .contents04::before, .recruit .contents04::after {
  content: "";
}
.recruit .img1 {
  background-image: url("img/company_bk.jpg");
}

/*--------------------------------------------------------------
## page-contact.php
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## archive-blog.php as blog
--------------------------------------------------------------*/
.blog .articles .article {
  width: 100%;
  margin: 0;
  padding: 2rem 0;
}
.blog .articles .article_text-title {
  font-size: 1.5rem;
  font-weight: bold;
}
.blog .articles .article_text-date {
  color: var(--color-primary-800);
}
.blog .articles .article_text-date::after {
  content: "";
  background-color: #000;
  display: block;
  width: 30px;
  height: 1px;
  margin: 1rem 0 0;
}
.blog .articles hr {
  border-top: 1px solid #777;
  width: calc(100% - 2rem);
  margin: 1rem auto;
}

/*--------------------------------------------------------------
## archive.php(sidebar) as works
--------------------------------------------------------------*/
.archive.with-sidebar .contents01 {
  padding-bottom: 0 !important;
}
.archive.with-sidebar .contents02 {
  padding-top: 0;
  padding-bottom: 15rem;
}
.archive.with-sidebar .contents02 .container .articles {
  position: relative;
  width: calc(100% - 340px);
  gap: 20px;
}
.archive.with-sidebar .contents02 .container .articles .article {
  width: calc(50% - 2rem);
  margin: 1.5rem 0;
}
.archive.with-sidebar .contents02 .container .articles .article_img {
  height: 210.5px;
  position: relative;
}
.archive.with-sidebar .contents02 .container .articles .article_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.archive.with-sidebar .contents02 .container .articles .article_img .category {
  position: absolute;
  bottom: 0;
  right: 0;
}
.archive.with-sidebar .contents02 .container .articles .article_text {
  margin: 1.5rem 0;
}
.archive.with-sidebar .contents02 .container .articles .article_text-title {
  color: #000;
  font-size: 1.4rem;
  margin: 1rem 0;
}
.archive.with-sidebar .contents02 .container .articles .article_text-date {
  color: var(--color-primary-800);
  font-size: 0.8rem;
  margin: 0;
  text-align: left;
}
.archive.with-sidebar .contents02 .container .articles .article_text-date::after {
  content: "";
  background-color: #000;
  display: block;
  width: 20px;
  height: 1px;
  margin: 0.5rem 0;
}
.archive.with-sidebar .contents02 .container .articles .article_text-content {
  color: #000;
}
.archive.with-sidebar .contents02 .container .articles .box_page-numbers {
  position: absolute;
  bottom: -3rem;
  width: 100%;
}
.archive.with-sidebar .contents02::before {
  border-right: 40vw solid transparent;
  border-bottom: 8vw solid rgba(63, 167, 243, 0.3);
  bottom: 0;
}
.archive.with-sidebar .contents02::after {
  border-left: 60vw solid transparent;
  border-bottom: 15vw solid rgba(63, 167, 243, 0.5);
  bottom: 0;
  z-index: -1;
}

/*--------------------------------------------------------------
## single.php(sidebar) as works
--------------------------------------------------------------*/
.single .header {
  height: 50vh;
}
.single .header_pageTitle {
  top: 18vh;
}
.single .header_lower-img img {
  height: 50vh;
}

.single.with-sidebar .contents01 {
  padding-bottom: 0 !important;
}
.single.with-sidebar .contents02 {
  padding-bottom: 15rem;
}
.single.with-sidebar .contents02 .container .post_title {
  font-size: 1.5rem;
  margin-bottom: 1.5rem;
  text-align: center;
}
.single.with-sidebar .contents02 .container .post_img {
  height: 424px;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.single.with-sidebar .contents02 .container .post_img img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  margin-bottom: 3rem;
}
.single.with-sidebar .contents02 .container .post_data-date::after {
  content: "";
  background-color: #000;
  display: block;
  width: 20px;
  height: 1px;
  margin: 1rem 0 0;
}
.single.with-sidebar .contents02 .container .post-categories {
  display: grid;
  align-items: center;
  margin-left: auto;
}
.single.with-sidebar .contents02::before {
  border-right: 40vw solid transparent;
  border-bottom: 8vw solid rgba(63, 167, 243, 0.3);
  bottom: 0;
}
.single.with-sidebar .contents02::after {
  border-left: 60vw solid transparent;
  border-bottom: 15vw solid rgba(63, 167, 243, 0.5);
  bottom: 0;
}

/*--------------------------------------------------------------
## sidebar(widget)
--------------------------------------------------------------*/
.widget-container {
  width: calc(340px - 4rem);
  margin-left: 4rem;
}
.widget-container .wp-block-heading {
  position: relative;
  font-size: 1.5rem;
  font-weight: bold;
  border-bottom: 2px solid #000;
  line-height: 3rem;
  padding-left: 0.5rem;
}
.widget-container .wp-block-heading::before {
  position: absolute;
  content: "";
  border-bottom: 52px solid transparent;
  z-index: -1;
  left: 0;
}
.widget-container:nth-child(odd) h2::before {
  border-left: 52px solid rgba(0, 0, 0, 0.2);
}
.widget-container:nth-child(even) h2::before {
  border-left: 52px solid rgba(63, 167, 243, 0.5);
}
.widget-container ul {
  padding: 0.5rem 1rem 5rem;
}
.widget-container ul li {
  line-height: 3.2rem;
  border-bottom: 1px solid #000;
}
.widget-container ul li a {
  display: block;
  color: #000;
  transition: 0.3s;
}
.widget-container ul li a:hover {
  color: var(--color-primary-800);
  transition: 0.3s;
}

/*--------------------------------------------------------------
## footer.php
--------------------------------------------------------------*/
.footer {
  position: relative;
  background-color: var(--color-primary-900);
  color: #fff;
  padding: 5rem 0;
  text-align: left;
}
.footer .footer-box {
  width: 50%;
  line-height: 2rem;
}
.footer .footer-box a {
  color: #fff;
  transition: 0.4s;
  text-decoration: underline;
}
.footer .footer-box a:hover {
  color: var(--color-primary-500);
  transition: 0.4s;
}
.footer .footer-box h2 {
  margin-bottom: 200px;
}
.footer .footer-box_text-left {
  width: calc(50% - 2rem);
  padding-right: 2rem;
}
.footer .footer-box_text-right {
  width: 50%;
}
.footer .footer-box_text-right .sns-nav {
  margin: 1rem 0;
}
.footer .footer-box_text-right .sns-nav_list li {
  display: inline-block;
  margin-right: 0.8rem;
  font-size: 1.5rem;
}
.footer .copyright {
  position: absolute;
  bottom: 5rem;
  font-size: 0.8rem;
}

:root {
  --color-background-base: #faf9f7;
  --color-text-base: #333;
  --color-primary-50: #ebffff;
  --color-primary-100: #e6fcff;
  --color-primary-200: #cff6ff;
  --color-primary-300: #aeedff;
  --color-primary-400: #9fddfb;
  --color-primary-500: #3ec8ff;
  --color-primary-600: #1cb4ea;
  --color-primary-700: #0096c7;
  --color-primary-800: #007aa5;
  --color-primary-900: #005b7f;
  --color-primary-950: #003f5e;
  --color-accent-50: #fff7f3;
  --color-accent-100: #fff0eb;
  --color-accent-200: #ffe5de;
  --color-accent-300: #ffd3c9;
  --color-accent-400: #ffbcae;
  --color-accent-500: #ff9c8b;
  --color-accent-600: #ff6955;
  --color-accent-700: #ea4433;
  --color-accent-800: #cf1104;
  --color-accent-900: #97190f;
  --color-accent-950: #760000;
  --color-gray-50: #f1f1f1;
  --color-gray-100: #dcdcdc;
  --color-gray-200: #bcbcbc;
  --color-gray-300: #a0a0a0;
  --color-gray-400: #878787;
  --color-gray-500: #707070;
  --color-gray-600: #5a5a5a;
  --color-gray-700: #464646;
  --color-gray-800: #333333;
  --color-gray-900: #1e1e1e;
  --color-gray-950: #111111;
}

/*--------------------------------------------------------------
## 1700px以下
--------------------------------------------------------------*/
@media screen and (max-width: 1700px) {
  /* recruit.php */
  .recruit .contents02 .contents_section {
    margin-bottom: 43rem;
  }
  .recruit .contents02 .contents_section-text {
    top: 20rem;
    bottom: auto;
  }
}
/*--------------------------------------------------------------
## 1024px以下
--------------------------------------------------------------*/
@media screen and (max-width: 1024px) {
  /* container */
  .container01 {
    width: calc(100% - 50px);
  }
  .container02 {
    width: calc(100% - 5vw);
  }
  /* bk-img ※画像のパララックスはiOSでは未対応のため */
  .bk-img {
    background-attachment: scroll;
    min-height: 300px;
  }
  /* toppage */
  .top .contents_title {
    font-size: 3.5rem;
  }
  .top .contents01 h2 {
    font-size: 1.8rem;
  }
  .top .contents02 .contents_section-text {
    top: auto;
    bottom: -380px;
  }
  .top .contents02 .contents_section-text a {
    padding: 6rem 4rem;
  }
  .top .contents03 {
    padding: 6rem 0 0;
  }
  .top .contents03 .container a {
    margin-bottom: 5rem;
  }
  .top .contents03 .contents_item .article a .article-text_title {
    font-size: 2rem;
  }
  .top .contents03 .contents_item .article a .article-text_data {
    font-size: 0.8rem;
  }
  .top .contents03 .contents_item .article a .article-text_data::before {
    width: 2rem;
  }
  .top .contents04 {
    padding: 6rem 0 12rem;
  }
  .top .contents04 .contents_title {
    margin-bottom: 5rem;
  }
  .top .contents04 .contents_item .article {
    width: calc(100% - 4vw);
    padding: 0 2vw !important;
  }
  .top .contents04 .contents_item .article .article-text {
    width: 100%;
    margin-bottom: 1rem;
  }
  .top .contents04 .contents_item .article .article-text_data {
    font-size: 0.8rem;
  }
  .top .contents04 .more-btn {
    bottom: 9rem;
  }
  .top .contents05 {
    padding: 5rem 0;
  }
  .top .contents05 .contents_title {
    margin-bottom: 2rem;
  }
  .top .contents05 p {
    margin-bottom: 5rem;
  }
  /* lower */
  .header_pageTitle h2 {
    padding-left: 5vw;
    font-size: 3.5rem;
  }
  /* service.php */
  .service {
    overflow-x: hidden;
  }
  .service .contents02 {
    padding: 3rem 0 0;
  }
  .service .contents02 .contents_section-text {
    padding: 3rem 4rem;
    width: 38vw;
    min-height: 200px;
  }
  .service .contents02 .contents_section:first-child::after {
    bottom: -4.8vw;
  }
  .service .contents02 .contents_section:nth-child(even)::before {
    bottom: -2.8vw;
  }
  .service .contents02 .contents_section:last-child::after {
    bottom: -4.8vw;
  }
  /* footer */
  .footer .footer-box_text p {
    font-size: 0.9rem;
    line-height: 1.7rem;
  }
  .footer .footer-box_text-right .sns-nav_list li {
    font-size: 1.3rem;
  }
  .footer .copyright {
    font-size: 0.7rem;
  }
  /* strength.php */
  .strength .contents02 {
    padding: 3rem 0 0;
  }
  .strength .contents02 .contents_section-text {
    padding: 3rem 4rem;
    width: 38vw;
    min-height: 200px;
  }
  .strength .contents02 .contents_section:first-child::after {
    bottom: -4.8vw;
  }
  .strength .contents02 .contents_section:nth-child(even)::before {
    bottom: -2.8vw;
  }
  .strength .contents02 .contents_section:last-child::after {
    bottom: -4.8vw;
  }
  /* recruit.php */
  .recruit .contents02 {
    padding: 3rem 0 0;
  }
  .recruit .contents02 .contents_section-text {
    bottom: -16rem;
    padding: 3rem 4rem;
    width: 38vw;
    min-height: 200px;
  }
  .recruit .contents02 .contents_section:first-child::after {
    bottom: -4.8vw;
  }
  .recruit .contents02 .contents_section:nth-child(even)::before {
    bottom: -2.8vw;
  }
  .recruit .contents02 .contents_section:last-child::after {
    bottom: -4.8vw;
  }
}
/*--------------------------------------------------------------
## 959px以下
--------------------------------------------------------------*/
@media screen and (max-width: 959px) {
  /* container */
  .container01,
  .container03 {
    width: calc(100% - 5vw);
  }
  /* btn */
  .btn1 {
    font-size: 2rem;
    padding: 0.8rem 2rem;
  }
  .btn1::before {
    top: 5px;
    right: 5px;
  }
  /* header */
  .header-branding {
    top: 1rem;
    left: 1rem;
  }
  .header_catchphrase h2 {
    padding-top: 30vh;
    font-size: 2.2rem;
    line-height: 3.5rem;
  }
  .global-nav {
    display: none;
  }
  /* toppage */
  .top .contents_title {
    font-size: 2.5rem;
  }
  .top .contents01 {
    padding: 7rem 0;
  }
  .top .contents01 h2 {
    font-size: 1.5rem;
  }
  .top .contents02 .contents_section {
    margin-bottom: 25rem;
  }
  .top .contents02 .contents_section-text {
    width: 90vw;
    min-height: 0;
    bottom: -300px;
  }
  .top .contents02 .contents_section-text a {
    min-height: 0;
    padding-bottom: 9rem;
  }
  .top .contents02 .contents_section-text a h2 {
    font-size: 2.5rem;
  }
  .top .contents02 .contents_section-text a .more-btn {
    right: 7rem;
    bottom: 6rem;
  }
  .top .contents03 {
    padding-top: 5rem;
  }
  .top .contents03 .container a {
    margin-bottom: 2rem;
  }
  .top .contents03 .container a .more-btn {
    left: 20rem;
  }
  .top .contents03 .container a:hover .more-btn {
    left: 23rem;
  }
  .top .contents03 .contents_item .article a .article-text_title {
    font-size: 1.5rem;
  }
  .top .contents03 .contents_item .article a .article-text_data {
    font-size: 0.7rem;
    margin: 0.8rem 0;
  }
  .top .contents03 .contents_item .article a .article-text_data::before {
    bottom: -0.5rem;
  }
  .top .contents04 {
    padding-top: 5rem;
  }
  /* lower */
  .header_pageTitle h2 {
    font-size: 2.5rem;
  }
  .header_pageTitle h2 span {
    font-size: 1.5rem;
  }
  /* service.php */
  .service .contents01 {
    padding: 7rem 0;
  }
  .service .contents02 {
    padding-top: 0;
  }
  .service .contents02 .container {
    width: 100%;
  }
  .service .contents02 .contents_section {
    display: flex;
    flex-direction: column-reverse;
    margin-bottom: 22rem;
  }
  .service .contents02 .contents_section:nth-child(even) {
    flex-direction: column;
  }
  .service .contents02 .contents_section-text {
    width: calc(85% - 5rem);
    margin-right: 10%;
    min-height: 0;
    top: 50vw;
    bottom: auto;
  }
  .service .contents02 .contents_section-text h4 {
    font-size: 1.5rem;
  }
  .service .contents02 .contents_section img {
    margin-left: 10%;
    width: 90%;
    height: 58vw;
  }
  .service .contents02 .contents_section:nth-child(even) {
    text-align: right;
  }
  .service .contents03 {
    padding: 5rem 0;
    padding-bottom: 8rem !important;
  }
  /* sidebar */
  .widget-container {
    width: calc(270px - 2rem);
    margin-left: 2rem;
  }
  .widget-container_title {
    font-size: 1.2rem;
  }
  .widget-container_title span {
    font-size: 0.7rem;
  }
  .widget-container ul li a {
    font-size: 0.9rem;
  }
  /* archive(sidebar) */
  .archive.with-sidebar .contents02 {
    padding-top: 0;
    padding-bottom: 15rem;
  }
  .archive.with-sidebar .contents02 .container .articles {
    width: calc(100% - 270px);
  }
  .archive.with-sidebar .contents02 .container .articles .article {
    width: 100%;
  }
  .archive.with-sidebar .contents02 .container .articles .article_img {
    height: auto;
  }
  .archive.with-sidebar .contents02 .container .articles .article_img img {
    -o-object-fit: contain;
       object-fit: contain;
  }
  .archive.with-sidebar .contents02 .container .articles .article_text-title {
    font-size: 1.3rem;
  }
  /* single(sidebar) */
  .single.with-sidebar .contents02 {
    padding-bottom: 15rem;
  }
  .single.with-sidebar .contents02 .container .post {
    width: calc(100% - 270px);
    padding-right: 0;
  }
  .single.with-sidebar .contents02 .container .post_title {
    margin-bottom: 4rem;
    font-size: 1.8rem;
  }
  .single.with-sidebar .contents02 .container .post_img {
    height: calc((100vw - 270px) * 0.65);
  }
  /* footer */
  .footer .footer-box:first-child {
    width: 40%;
  }
  .footer .footer-box:nth-child(2) {
    width: 60%;
  }
  .footer .footer-box:nth-child(2) iframe {
    height: 400px;
  }
  .footer .footer-box h2 {
    margin-bottom: 50px;
  }
  .footer .footer-box_text-left {
    width: 100%;
    padding-right: 0;
    margin-bottom: 2rem;
  }
  .footer .footer-box_text-right {
    width: 100%;
  }
  .footer .footer-box_text-right .sns-nav {
    margin: 2rem 0 4rem;
  }
  /* strength.php */
  .strength .contents02 {
    padding-top: 0;
  }
  .strength .contents02 .container {
    width: 100%;
  }
  .strength .contents02 .contents_section {
    display: flex;
    flex-direction: column-reverse;
    margin-bottom: 30rem;
  }
  .strength .contents02 .contents_section:nth-child(even) {
    flex-direction: column;
  }
  .strength .contents02 .contents_section-text {
    width: calc(85% - 5rem);
    margin-right: 10%;
    min-height: 0;
    top: 50vw;
    bottom: auto;
  }
  .strength .contents02 .contents_section-text h4 {
    font-size: 1.5rem;
  }
  .strength .contents02 .contents_section img {
    margin-left: 10%;
    width: 90%;
    height: 58vw;
  }
  .strength .contents02 .contents_section:nth-child(even) {
    text-align: right;
  }
  /* recruit.php */
  .recruit .contents02 {
    padding-top: 0;
  }
  .recruit .contents02 .container {
    width: 100%;
  }
  .recruit .contents02 .contents_section {
    display: flex;
    flex-direction: column-reverse;
    margin-bottom: 30rem;
  }
  .recruit .contents02 .contents_section:nth-child(even) {
    flex-direction: column;
  }
  .recruit .contents02 .contents_section-text {
    width: calc(85% - 5rem);
    margin-right: 10%;
    min-height: 0;
    top: 50vw;
    bottom: auto;
  }
  .recruit .contents02 .contents_section-text h4 {
    font-size: 1.5rem;
  }
  .recruit .contents02 .contents_section img {
    margin-left: 10%;
    width: 90%;
    height: 58vw;
  }
  .recruit .contents02 .contents_section:nth-child(even) {
    text-align: right;
  }
}
/*--------------------------------------------------------------
## 559px以下
--------------------------------------------------------------*/
@media screen and (max-width: 559px) {
  /* header */
  .header_catchphrase h2 {
    font-size: 1.9rem;
    line-height: 3.5rem;
  }
  /* パンくずリスト */
  .breadcrumb {
    margin-bottom: 3rem;
  }
  /* table */
  .contents_table th,
  .contents_table td {
    padding: 1.5rem 0.5rem;
  }
  .contents_table th {
    min-width: 5rem;
  }
  /*ページャー*/
  .page-numbers li .current,
  .page-numbers li a {
    font-size: 0.8rem;
  }
  /* toppage */
  .top .contents01 {
    padding: 2rem 0 5rem;
  }
  .top .contents01 h2 {
    line-height: 3rem;
  }
  .top .contents01 .more-btn {
    right: 1.5rem;
  }
  .top .contents02 .contents_section {
    margin-bottom: 5rem;
  }
  .top .contents02 .contents_section:last-child {
    margin-bottom: 0;
  }
  .top .contents02 .contents_section-img {
    max-height: none;
  }
  .top .contents02 .contents_section-img img {
    width: 100%;
    max-height: none;
    margin: 0;
  }
  .top .contents02 .contents_section-text {
    position: relative;
    width: 100%;
    top: -2px;
  }
  .top .contents02 .contents_section-text a {
    padding: 3rem 1rem 6rem;
  }
  .top .contents02 .contents_section-text a h2 {
    font-size: 1.8rem;
    margin-bottom: 2rem;
  }
  .top .contents02 .contents_section-text a .more-btn {
    right: 4rem;
    bottom: 4rem;
  }
  .top .contents02 .contents_section-text a:hover .more-btn {
    right: 3rem;
  }
  .top .contents02 .contents_section:first-child .contents_section-img::before {
    border-right: 40vw solid transparent;
    border-bottom: 10vw solid rgba(0, 0, 0, 0.2);
  }
  .top .contents02 .contents_section:first-child .contents_section-img::after {
    border-left: 60vw solid transparent;
    border-right: none;
    border-top: none;
    border-bottom: 8vw solid rgba(0, 0, 0, 0.5);
    bottom: 0;
  }
  .top .contents02 .contents_section:nth-child(2) .contents_section-img::before {
    border-bottom: 10vw solid rgba(63, 167, 243, 0.2);
  }
  .top .contents02 .contents_section:nth-child(2) .contents_section-img::after {
    border-top: 8vw solid transparent;
    border-bottom: none;
    border-right: 40vw solid rgba(63, 167, 243, 0.4);
    bottom: 0;
  }
  .top .contents02 .contents_section:first-child .contents_section-img::before {
    border-right: 40vw solid transparent;
    border-bottom: 10vw solid rgba(0, 0, 0, 0.2);
  }
  .top .contents02 .contents_section:first-child .contents_section-img::after {
    border-left: 60vw solid transparent;
    border-right: none;
    border-top: none;
    border-bottom: 8vw solid rgba(0, 0, 0, 0.5);
    bottom: 0;
  }
  .top .contents03 {
    padding: 5rem 0 8rem;
  }
  .top .contents03 .container a {
    margin-bottom: 0;
    min-height: 4.5rem;
  }
  .top .contents03 .container a .more-btn {
    left: auto;
    bottom: 4rem;
    right: 4rem;
  }
  .top .contents03 .container a:hover .more-btn {
    left: auto;
    right: 3rem;
  }
  .top .contents03 .contents_item .article {
    background-color: rgba(0, 59, 95, 0.3);
    width: 100%;
    height: 65vw;
  }
  .top .contents03 .contents_item .article a .article-text {
    display: block;
  }
  .top .contents03 .contents_item .article a .article-text_title {
    padding-top: 22vw;
    font-size: 1.5rem;
    line-height: 2rem;
  }
  .top .contents04 {
    padding: 5rem 0 8rem;
  }
  .top .contents04 .contents_title {
    margin-bottom: 3rem;
  }
  .top .contents04 .contents_item .article {
    margin-bottom: 2rem;
  }
  .top .contents04 .more-btn {
    right: 4rem;
    bottom: 6rem;
  }
  .top .contents04 .more-btn:hover {
    right: 3rem;
  }
  .top .contents05 {
    padding: 3.5rem 0;
  }
  .top .contents05 .contents_title {
    margin-bottom: 2rem;
  }
  .top .contents05 p {
    margin-bottom: 6rem;
  }
  .top .contents05 .btn1 {
    bottom: 2rem;
  }
  .top .contents05 .btn1::before {
    border-color: #fff;
  }
  /* about.php */
  .about .contents01 {
    padding: 5rem 0;
  }
  .about .contents01 .contents_text {
    width: 100%;
    margin-bottom: 2rem;
  }
  .about .contents01 .contents_text h3 {
    margin-bottom: 3rem;
  }
  .about .contents01 .contents_text p {
    padding-right: 0;
  }
  .about .contents01 .contents_img {
    width: 100%;
  }
  .about .contents01 .contents_img img {
    width: 100%;
  }
  .about .contents02 {
    padding: 5rem 0 6rem;
  }
  .about .contents02 .container {
    padding: 2rem 0;
  }
  .about .contents02 table {
    margin: 2rem 0.5rem 1rem;
  }
  .about .contents03 {
    padding: 5rem 0 0;
  }
  .about .contents03 h3 {
    text-align: center;
  }
  .about .contents03 table {
    margin: auto;
    margin-top: 5rem;
  }
  /* service.php */
  .service .contents01 {
    padding: 5rem 0;
  }
  .service .contents02 {
    padding: 0 0 2rem;
  }
  .service .contents02 .contents_section {
    position: relative;
    margin-bottom: 5rem;
    display: flex;
    flex-direction: column-reverse;
  }
  .service .contents02 .contents_section-text {
    position: relative;
    padding: 2rem 1rem;
    width: calc(100% - 2rem);
    min-height: 0;
    margin-right: 0;
    margin-left: 0;
    top: 0;
  }
  .service .contents02 .contents_section-text h2,
  .service .contents02 .contents_section-text h3,
  .service .contents02 .contents_section-text h4 {
    margin-bottom: 1.5rem;
  }
  .service .contents02 .contents_section img {
    width: 100%;
    height: 65vw;
    margin-left: 0;
  }
  .service .contents02 .contents_section::before, .service .contents02 .contents_section::after {
    display: none;
  }
  .service .contents02 .contents_section:nth-child(even) {
    flex-direction: column;
  }
  .service .contents03 {
    padding-top: 3rem;
    padding-bottom: 7rem !important;
  }
  .service .contents03 p {
    margin-bottom: 5rem;
  }
  /* strength.php */
  .strength .contents02 {
    padding: 0 0 2rem;
  }
  .strength .contents02 .contents_section {
    position: relative;
    margin-bottom: 5rem;
    display: flex;
    flex-direction: column-reverse;
  }
  .strength .contents02 .contents_section-text {
    position: relative;
    padding: 2rem 1rem;
    width: calc(100% - 2rem);
    min-height: 0;
    margin-right: 0;
    margin-left: 0;
    top: 0;
  }
  .strength .contents02 .contents_section-text h2,
  .strength .contents02 .contents_section-text h3,
  .strength .contents02 .contents_section-text h4 {
    margin-bottom: 1.5rem;
  }
  .strength .contents02 .contents_section img {
    width: 100%;
    height: 65vw;
    margin-left: 0;
  }
  .strength .contents02 .contents_section::before, .strength .contents02 .contents_section::after {
    display: none;
  }
  .strength .contents02 .contents_section:nth-child(even) {
    flex-direction: column;
  }
  /* recruit.php */
  .recruit .contents02 {
    padding: 0 0 2rem;
  }
  .recruit .contents02 .contents_section {
    position: relative;
    margin-bottom: 5rem;
    display: flex;
    flex-direction: column-reverse;
  }
  .recruit .contents02 .contents_section-text {
    position: relative;
    padding: 2rem 1rem;
    width: calc(100% - 2rem);
    min-height: 0;
    margin-right: 0;
    margin-left: 0;
    top: 0;
  }
  .recruit .contents02 .contents_section-text h2,
  .recruit .contents02 .contents_section-text h3,
  .recruit .contents02 .contents_section-text h4 {
    margin-bottom: 1.5rem;
  }
  .recruit .contents02 .contents_section img {
    width: 100%;
    height: 65vw;
    margin-left: 0;
  }
  .recruit .contents02 .contents_section::before, .recruit .contents02 .contents_section::after {
    display: none;
  }
  .recruit .contents02 .contents_section:nth-child(even) {
    flex-direction: column;
  }
  .recruit .contents04 {
    padding: 5rem 0 6rem;
  }
  .recruit .contents04 .container {
    padding: 2rem 0;
  }
  .recruit .contents04 table {
    margin: 2rem 0.5rem 1rem;
  }
  /* sidebar */
  .widget-container {
    width: 100%;
    margin-left: 0;
  }
  .widget-container_title {
    font-size: 1.5rem;
  }
  .widget-container_title span {
    font-size: 0.9rem;
  }
  .widget-container ul li a {
    font-size: 1rem;
  }
  /* archive(sidebar) */
  .archive.with-sidebar .contents02 {
    padding-bottom: 3rem;
  }
  .archive.with-sidebar .contents02 .container {
    display: block;
  }
  .archive.with-sidebar .contents02 .container .articles {
    width: 100%;
    margin-bottom: 10rem;
  }
  .archive.with-sidebar .contents02 .container .articles .box_page-numbers {
    bottom: -2.5rem;
  }
  /* single(sidebar) */
  .single.with-sidebar .contents02 {
    padding-bottom: 0;
  }
  .single.with-sidebar .contents02 .container {
    display: block;
  }
  .single.with-sidebar .contents02 .container .post {
    width: 100%;
    margin-bottom: 8rem;
    margin-right: 0;
  }
  .single.with-sidebar .contents02 .container .post_title {
    margin: 4rem 0;
  }
  .single.with-sidebar .contents02 .container .post_img {
    height: 65vw;
  }
  /* footer */
  .footer {
    padding: 3rem 0;
  }
  .footer .container {
    flex-direction: column-reverse;
    width: calc(100% - 2rem);
  }
  .footer .container .footer-box {
    width: 100%;
  }
  .footer .container .footer-box iframe {
    width: 100%;
    margin-bottom: 2rem;
  }
  .footer .container .copyright {
    bottom: 2rem;
    text-align: center;
    margin: auto;
    left: 0;
    right: 0;
  }
}/*# sourceMappingURL=style.css.map */