@charset "UTF-8";
/*###################################################################
※※※※ 直接編集禁止 ※※※※
このCSSファイルはSassから生成されていますので直接編集しないようご注意ください。
  編集は拡張子「.scss」ファイルを編集して当ファイルにコンパイルしてください。
  もしくは別途cssファイルを作成して読み込ませてください。
###################################################################*/
:root {
  --base: #fff;
  --base2: #f5f5f5;
  --main: #007ee4;
  --accent: #ec8a54;
  --text: #353535;
  --ls: 0.15em;
}

/*###################################################################
  base（共通設定）
###################################################################*/
* {
  letter-spacing: var(--ls);
}

/*----------------------------------
  html
----------------------------------*/
html {
  scroll-behavior: smooth;
}

[id] {
  scroll-margin-top: 150px;
}

body {
  color: var(--text);
  font-family: "Inder", "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.253;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

img {
  width: 100%;
  height: auto;
}

dt {
  font-weight: 400;
}

/*###################################################################
  animation（共通設定）
###################################################################*/
/*----------------------------------
  無限ループスライダー
----------------------------------*/
@-webkit-keyframes infinity-scroll {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@keyframes infinity-scroll {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
/*###################################################################
  header（module）
###################################################################*/
.header {
  width: 100%;
  position: absolute;
  top: 0;
  z-index: 10;
}
@media (max-width: 750px) {
  .header {
    position: static;
  }
}
.header_lower {
  position: static;
  -webkit-box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
          box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
}
.header_lower .header__logo-link {
  background-color: var(--text);
}
.header_sticky {
  position: fixed;
  background-color: var(--base);
  -webkit-box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
          box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
}
.header_sticky .header__logo-link {
  background-color: var(--text);
}
@media (max-width: 750px) {
  .header_sticky .header__inner {
    height: 75px;
    padding-left: 15px;
  }
  .header_sticky .header__logo {
    max-width: 170px;
  }
}
.header__inner {
  height: clamp(4.0625rem, 0.0705589849rem + 8.5048010974vw, 7.9375rem);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 15px;
     -moz-column-gap: 15px;
          column-gap: 15px;
  padding-right: clamp(0.625rem, -1.4997427984rem + 4.5267489712vw, 2.6875rem);
  padding-left: clamp(0.625rem, -3.1737825789rem + 8.0932784636vw, 4.3125rem);
}
@media (max-width: 750px) {
  .header__inner {
    height: clamp(4.6875rem, -1.0267857143rem + 22.8571428571vw, 9.6875rem);
    background-color: var(--base);
    padding-right: 0;
    padding-left: clamp(0.9375rem, -0.9196428571rem + 7.4285714286vw, 2.5625rem);
  }
}
.header__logo {
  max-width: clamp(8.125rem, 0.5274348422rem + 16.1865569273vw, 15.5rem);
  width: 100%;
}
@media (max-width: 750px) {
  .header__logo {
    max-width: clamp(10.625rem, 4.9821428571rem + 22.5714285714vw, 15.5625rem);
  }
}
.header__logo-link {
  width: 100%;
  aspect-ratio: 248/79;
  display: inline-block;
  -webkit-transition: background-color 0.4s linear;
  transition: background-color 0.4s linear;
  background-color: var(--base);
  -webkit-mask-image: url(../images/icon-logo.svg);
          mask-image: url(../images/icon-logo.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  color: transparent;
  font-size: 10px;
}
@media (max-width: 750px) {
  .header__logo-link {
    background-color: var(--text);
  }
}

.header-nav {
  max-width: clamp(35.6875rem, 11.349537037rem + 51.8518518519vw, 59.3125rem);
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 10px;
     -moz-column-gap: 10px;
          column-gap: 10px;
  color: var(--base);
  font-family: "Noto Serif SC", serif;
  font-optical-sizing: auto;
  font-size: clamp(0.9375rem, 0.615569273rem + 0.6858710562vw, 1.25rem);
  line-height: 1;
}
@media (max-width: 750px) {
  .header-nav {
    display: none;
  }
}
.header-nav_lower .header-nav__link, .header-nav_sticky .header-nav__link {
  color: #000;
  text-shadow: none;
}
.header-nav__items {
  max-width: clamp(17.5625rem, 8.0977366255rem + 20.1646090535vw, 26.75rem);
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 10px;
     -moz-column-gap: 10px;
          column-gap: 10px;
}
.header-nav__link {
  text-shadow: 0px 0px 5.7px rgba(0, 0, 0, 0.74);
}
.header-nav__buttons {
  max-width: 483px;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: clamp(0.3125rem, -0.1724137931rem + 0.8620689655vw, 0.625rem);
     -moz-column-gap: clamp(0.3125rem, -0.1724137931rem + 0.8620689655vw, 0.625rem);
          column-gap: clamp(0.3125rem, -0.1724137931rem + 0.8620689655vw, 0.625rem);
}
.header-nav__button {
  max-width: 227px;
  width: 100%;
  height: clamp(2.625rem, 1.4660493827rem + 2.4691358025vw, 3.75rem);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 9999px;
  padding-right: clamp(0.5rem, -0.4014060357rem + 1.9204389575vw, 1.375rem);
}
.header-nav__button::after {
  content: "";
  min-width: clamp(1.125rem, 0.7386831276rem + 0.8230452675vw, 1.5rem);
  aspect-ratio: 1/1;
  background-color: var(--base);
  -webkit-mask-image: url(../images/icon-link-arrow.svg);
          mask-image: url(../images/icon-link-arrow.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.header-nav__button_recruit {
  -webkit-column-gap: clamp(0.6875rem, -0.4714506173rem + 2.4691358025vw, 1.8125rem);
     -moz-column-gap: clamp(0.6875rem, -0.4714506173rem + 2.4691358025vw, 1.8125rem);
          column-gap: clamp(0.6875rem, -0.4714506173rem + 2.4691358025vw, 1.8125rem);
  background-color: var(--main);
}
.header-nav__button_contact {
  -webkit-column-gap: clamp(0.125rem, -0.5832475995rem + 1.5089163237vw, 0.8125rem);
     -moz-column-gap: clamp(0.125rem, -0.5832475995rem + 1.5089163237vw, 0.8125rem);
          column-gap: clamp(0.125rem, -0.5832475995rem + 1.5089163237vw, 0.8125rem);
  background-color: var(--accent);
}

@media (hover: hover) and (pointer: fine) {
  .header-nav__button {
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  .header-nav__button:hover, .header-nav__button:focus {
    background-color: var(--text);
  }
}
/*###################################################################
  footer（module）
###################################################################*/
.footer__2 {
  margin-top: clamp(7.625rem, 0.6154300567rem + 14.9338374291vw, 12.5625rem);
}
@media (max-width: 750px) {
  .footer__2 {
    margin-top: clamp(3.125rem, -2.0178571429rem + 20.5714285714vw, 7.625rem);
  }
}

.footer1__inner {
  max-width: 1000px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 40px;
  padding-left: 40px;
}
@media (max-width: 750px) {
  .footer1__inner {
    padding: 0 clamp(0.9375rem, -0.8482142857rem + 7.1428571429vw, 2.5rem);
  }
}
.footer1__body {
  border-top: 1px solid var(--text);
  border-bottom: 1px solid var(--text);
}
@media (max-width: 750px) {
  .footer1__body {
    border: 1px solid var(--text);
  }
}
.footer1__body-inner {
  max-width: 887px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  -webkit-transform: translateX(clamp(0rem, -2.2620481928rem + 4.8192771084vw, 0.75rem));
      -ms-transform: translateX(clamp(0rem, -2.2620481928rem + 4.8192771084vw, 0.75rem));
          transform: translateX(clamp(0rem, -2.2620481928rem + 4.8192771084vw, 0.75rem));
  margin-top: 39px;
  margin-inline: auto;
  padding-bottom: 32px;
}
@media (max-width: 750px) {
  .footer1__body-inner {
    margin-top: clamp(1.5625rem, 0.8482142857rem + 2.8571428571vw, 2.1875rem);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: clamp(1.875rem, -0.0535714286rem + 7.7142857143vw, 3.5625rem);
    padding-bottom: clamp(1.875rem, 0.4464285714rem + 5.7142857143vw, 3.125rem);
  }
}
.footer1__group {
  max-width: 362px;
  width: 100%;
}
.footer1__title {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background-color: var(--base);
  font-size: clamp(0.9375rem, 0.5803571429rem + 1.4285714286vw, 1.25rem);
  line-height: 1;
  margin-top: -0.5em;
  margin-inline: auto;
  padding: 0 clamp(0.5rem, -1.6428571429rem + 8.5714285714vw, 2.375rem);
}
.footer1__dl {
  display: grid;
  grid-template-columns: clamp(3.75rem, 3.0357142857rem + 2.8571428571vw, 4.375rem) 1fr;
  row-gap: 13px;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  font-family: "Noto Serif SC", serif;
  font-optical-sizing: auto;
  padding-left: clamp(0rem, -1.1310240964rem + 2.4096385542vw, 0.375rem);
}
@media (max-width: 750px) {
  .footer1__dl {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    padding-left: clamp(0rem, -0.4285714286rem + 1.7142857143vw, 0.375rem);
  }
}
.footer1__dt {
  font-size: clamp(1.375rem, 1.2321428571rem + 0.5714285714vw, 1.5rem);
}
.footer1__dd {
  color: var(--main);
  font-size: clamp(1.875rem, 1.5892857143rem + 1.1428571429vw, 2.125rem);
}
.footer1__text {
  font-size: 0.729375rem;
  white-space: pre-line;
}
.footer1__text_1 {
  margin-top: 22px;
}
.footer1__text_2 {
  line-height: 1.6;
  margin-top: 7px;
}
.footer1__contact {
  max-width: clamp(17.8125rem, -2.3574297189rem + 42.9718875502vw, 24.5rem);
  width: 100%;
  height: clamp(4.25rem, 2.1764558233rem + 4.4176706827vw, 4.9375rem);
  display: grid;
  place-items: center;
  position: relative;
  background-color: var(--main);
  color: var(--base);
  font-family: "Noto Serif SC", serif;
  font-optical-sizing: auto;
  font-size: clamp(1.3125rem, 0.326623996rem + 2.1004016064vw, 1.639375rem);
  line-height: 1;
  border-radius: 9999px;
  margin-top: 1px;
}
@media (max-width: 750px) {
  .footer1__contact {
    max-width: clamp(20rem, 14.8571428571rem + 20.5714285714vw, 24.5rem);
    height: clamp(4.0625rem, 3.0625rem + 4vw, 4.9375rem);
    font-size: clamp(1.375rem, 1.0728571429rem + 1.2085714286vw, 1.639375rem);
    margin-top: 0;
  }
}
.footer1__contact::after {
  content: "";
  width: clamp(1.6875rem, 0.4414884538rem + 2.6546184739vw, 2.100625rem);
  aspect-ratio: 1/1;
  position: absolute;
  top: 50%;
  right: 24px;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url(../images/icon-link-arrow.svg) no-repeat 0 0/contain;
}
@media (max-width: 750px) {
  .footer1__contact::after {
    width: clamp(1.6875rem, 1.2153571429rem + 1.8885714286vw, 2.100625rem);
  }
}

@media (hover: hover) and (pointer: fine) {
  .footer1__contact {
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  .footer1__contact:hover, .footer1__contact:focus {
    background-color: var(--accent);
  }
}
.footer2 {
  background: url(../images/footer2-bg.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/footer2-bg.webp) 1x, url(../images/footer2-bg@2x.webp) 2x);
  background-image: image-set(url(../images/footer2-bg.webp) 1x, url(../images/footer2-bg@2x.webp) 2x);
}
.footer2__inner {
  max-width: 1000px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding: 81px 40px 74px;
}
@media (max-width: 750px) {
  .footer2__inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    row-gap: clamp(3.75rem, 2.6785714286rem + 4.2857142857vw, 4.6875rem);
    padding: clamp(2.5rem, 0.4285714286rem + 8.2857142857vw, 4.3125rem) clamp(0.9375rem, -0.8482142857rem + 7.1428571429vw, 2.5rem) 67px;
  }
}
.footer2__nav {
  margin-inline: auto;
}
.footer2__group {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 18px;
  margin-top: 97px;
}
@media (max-width: 750px) {
  .footer2__group {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    row-gap: clamp(1.875rem, 1.2321428571rem + 2.5714285714vw, 2.4375rem);
    margin-top: 0;
  }
}
.footer2__logo {
  max-width: clamp(13.75rem, 11.75rem + 8vw, 15.5rem);
  width: 100%;
  aspect-ratio: 248/79;
  display: inline-block;
  -webkit-transition: background-color 0.4s linear;
  transition: background-color 0.4s linear;
  background-color: var(--base);
  -webkit-mask-image: url(../images/icon-logo.svg);
          mask-image: url(../images/icon-logo.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  color: transparent;
  font-size: 0.625rem;
}
.footer2__address {
  color: var(--base);
  font-size: clamp(1rem, 0.7142857143rem + 1.1428571429vw, 1.25rem);
}

.footer-nav {
  max-width: 555px;
  width: 100%;
  border-bottom: 1px solid var(--base);
  padding-bottom: 26px;
}
@media (max-width: 750px) {
  .footer-nav {
    border: none;
    padding-bottom: 0;
  }
}
.footer-nav__items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 10px;
     -moz-column-gap: 10px;
          column-gap: 10px;
}
.footer-nav__link {
  color: var(--base);
  font-family: "Noto Serif SC", serif;
  font-optical-sizing: auto;
  font-size: clamp(0.9375rem, 0.5803571429rem + 1.4285714286vw, 1.25rem);
  line-height: 1;
}

/*###################################################################
  c-dl（module）
###################################################################*/
.c-dl {
  display: grid;
  grid-template-columns: clamp(5.375rem, -2.6553030303rem + 32.1212121212vw, 18.625rem) 1fr;
  gap: 1px;
  font-size: clamp(0.9375rem, 0.7481060606rem + 0.7575757576vw, 1.25rem);
  line-height: 2;
}
.c-dl__dt {
  background-color: var(--main);
  color: var(--base);
  padding: clamp(0.9375rem, 0.5056818182rem + 1.7272727273vw, 1.65rem) 0 clamp(0.9375rem, 0.5056818182rem + 1.7272727273vw, 1.65rem) clamp(0.625rem, 0.0946969697rem + 2.1212121212vw, 1.5rem);
}
.c-dl__dd {
  background-color: var(--base2);
  white-space: pre-line;
  padding: clamp(0.9375rem, 0.5056818182rem + 1.7272727273vw, 1.65rem) 10px clamp(0.9375rem, 0.5056818182rem + 1.7272727273vw, 1.65rem) clamp(0.625rem, -0.1704545455rem + 3.1818181818vw, 1.9375rem);
}

/*###################################################################
  c-link（module）
###################################################################*/
.c-link-1 {
  max-width: clamp(21.75rem, 6.9642857143rem + 59.1428571429vw, 34.6875rem);
  width: 100%;
  height: clamp(4.0625rem, 1.8482142857rem + 8.8571428571vw, 6rem);
  display: grid;
  place-items: center;
  position: relative;
  background-color: var(--accent);
  color: var(--base);
  font-family: "Noto Serif SC", serif;
  font-optical-sizing: auto;
  font-size: clamp(1.375rem, 0.6607142857rem + 2.8571428571vw, 2rem);
  line-height: 1;
  border-radius: 9999px;
}
.c-link-1::after {
  content: "";
  width: clamp(1.75rem, 0.8214285714rem + 3.7142857143vw, 2.5625rem);
  aspect-ratio: 1/1;
  position: absolute;
  top: 50%;
  right: 30px;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url(../images/icon-link-arrow.svg) no-repeat 0 0/contain;
}

@media (hover: hover) and (pointer: fine) {
  .c-link-1 {
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  .c-link-1:hover, .c-link-1:focus {
    background-color: var(--main);
  }
}
/*###################################################################
  c-text（module）
###################################################################*/
.c-t20 {
  font-size: clamp(1rem, 0.8863636364rem + 0.4545454545vw, 1.25rem);
  white-space: pre-line;
}

/*###################################################################
  c-title（module）
###################################################################*/
.c-title-1 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: clamp(1.25rem, 0.3928571429rem + 3.4285714286vw, 2rem);
  font-family: "Noto Serif SC", serif;
  font-optical-sizing: auto;
  font-size: clamp(1.875rem, 0.5892857143rem + 5.1428571429vw, 3rem);
  line-height: 1;
}
.c-title-1::after {
  content: "";
  width: 102px;
  height: clamp(0.25rem, 0.1071428571rem + 0.5714285714vw, 0.375rem);
  background-color: var(--main);
}

/*###################################################################
  br（module）
###################################################################*/
.br-1000-b {
  display: none;
}
@media (max-width: 1000px) {
  .br-1000-b {
    display: block;
  }
}
.br-900-b {
  display: none;
}
@media (max-width: 900px) {
  .br-900-b {
    display: block;
  }
}
.br-800-b {
  display: none;
}
@media (max-width: 800px) {
  .br-800-b {
    display: block;
  }
}
.br-sp-b {
  display: none;
}
@media (max-width: 750px) {
  .br-sp-b {
    display: block;
  }
}
.br-600-b {
  display: none;
}
@media (max-width: 600px) {
  .br-600-b {
    display: block;
  }
}
.br-500-b {
  display: none;
}
@media (max-width: 500px) {
  .br-500-b {
    display: block;
  }
}

/*###################################################################
  hamburger（module）
###################################################################*/
.hamburger {
  width: clamp(4.6875rem, -1.0267857143rem + 22.8571428571vw, 9.6875rem);
  height: 100%;
  display: inline-block;
  position: relative;
  z-index: 30;
  background-color: var(--main);
}
@media (min-width: 751px) {
  .hamburger {
    display: none;
  }
}
.hamburger_sticky {
  width: 75px;
}
.hamburger_sticky .hamburger__line {
  width: 40px;
}
.hamburger_sticky .hamburger__line::before {
  top: 13px;
}
.hamburger_sticky .hamburger__line::after {
  bottom: 13px;
}
.hamburger_sticky[aria-expanded=true] .hamburger__line::before {
  -webkit-transform: translateY(-13px) rotate(150deg) !important;
      -ms-transform: translateY(-13px) rotate(150deg) !important;
          transform: translateY(-13px) rotate(150deg) !important;
}
.hamburger_sticky[aria-expanded=true] .hamburger__line::after {
  -webkit-transform: translateY(13px) rotate(-150deg) !important;
      -ms-transform: translateY(13px) rotate(-150deg) !important;
          transform: translateY(13px) rotate(-150deg) !important;
}
.hamburger[aria-expanded=true] .hamburger__line {
  background-color: transparent;
}
.hamburger[aria-expanded=true] .hamburger__line::before {
  -webkit-transform: translateY(calc(clamp(0.8125rem, 0.3839285714rem + 1.7142857143vw, 1.1875rem) * -1)) rotate(150deg);
      -ms-transform: translateY(calc(clamp(0.8125rem, 0.3839285714rem + 1.7142857143vw, 1.1875rem) * -1)) rotate(150deg);
          transform: translateY(calc(clamp(0.8125rem, 0.3839285714rem + 1.7142857143vw, 1.1875rem) * -1)) rotate(150deg);
}
.hamburger[aria-expanded=true] .hamburger__line::after {
  -webkit-transform: translateY(clamp(0.8125rem, 0.3839285714rem + 1.7142857143vw, 1.1875rem)) rotate(-150deg);
      -ms-transform: translateY(clamp(0.8125rem, 0.3839285714rem + 1.7142857143vw, 1.1875rem)) rotate(-150deg);
          transform: translateY(clamp(0.8125rem, 0.3839285714rem + 1.7142857143vw, 1.1875rem)) rotate(-150deg);
}
.hamburger__line {
  width: clamp(2.5rem, -1rem + 14vw, 5.5625rem);
  height: 2px;
  display: inline-block;
  position: absolute;
  top: calc(50% - 1px);
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: 0.5s all;
  transition: 0.5s all;
  background-color: var(--base);
}
.hamburger__line::before {
  content: "";
  width: 100%;
  height: 2px;
  display: inline-block;
  position: absolute;
  top: clamp(0.8125rem, 0.3839285714rem + 1.7142857143vw, 1.1875rem);
  left: 0;
  -webkit-transition: -webkit-transform 0.5s;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
  background-color: var(--base);
}
.hamburger__line::after {
  content: "";
  width: 100%;
  height: 2px;
  display: inline-block;
  position: absolute;
  bottom: clamp(0.8125rem, 0.3839285714rem + 1.7142857143vw, 1.1875rem);
  left: 0;
  -webkit-transition: -webkit-transform 0.5s;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
  background-color: var(--base);
}

@media (hover: hover) and (pointer: fine) {
  .hamburger {
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  .hamburger:hover {
    background-color: var(--accent);
  }
}
/*###################################################################
  drawer（module）
###################################################################*/
.drawer {
  width: 300px;
  height: 100vh;
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition: 0.5s;
  transition: 0.5s;
  background-color: var(--base);
  z-index: 15;
  overflow: auto;
  overscroll-behavior-y: contain;
  visibility: hidden;
}
.drawer[aria-hidden=false] {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  visibility: visible;
}
.drawer_position {
  position: fixed;
  top: 0;
  right: 0;
}
.drawer__inner {
  padding-bottom: 100px;
}
.drawer__top {
  width: 100%;
  height: clamp(4.6875rem, -1.0267857143rem + 22.8571428571vw, 9.6875rem);
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  background-color: var(--base);
  z-index: 1;
}
.drawer__top_sticky {
  height: 75px;
}
.drawer__item {
  border-bottom: 1px solid var(--text);
}
.drawer__item:first-of-type {
  border-top: 1px solid var(--text);
}
.drawer__link {
  height: 50px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-family: "Noto Serif SC", serif;
  font-optical-sizing: auto;
  font-weight: bold;
  padding-right: 20px;
  padding-left: 20px;
}
.drawer__buttons {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: 20px;
  margin-top: 20px;
}
.drawer__button {
  max-width: 227px;
  width: 100%;
  height: 60px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: var(--base);
  font-family: "Noto Serif SC", serif;
  font-optical-sizing: auto;
  font-size: 1.25rem;
  border-radius: 9999px;
  padding-right: 22px;
}
.drawer__button::after {
  content: "";
  min-width: 24px;
  aspect-ratio: 1/1;
  background-color: var(--base);
  -webkit-mask-image: url(../images/icon-link-arrow.svg);
          mask-image: url(../images/icon-link-arrow.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.drawer__button_recruit {
  -webkit-column-gap: 29px;
     -moz-column-gap: 29px;
          column-gap: 29px;
  background-color: var(--main);
}
.drawer__button_contact {
  -webkit-column-gap: 13px;
     -moz-column-gap: 13px;
          column-gap: 13px;
  background-color: var(--accent);
}

.is-drawer-active {
  overflow: hidden;
}

@media (hover: hover) and (pointer: fine) {
  .drawer__link {
    -webkit-transition: background-color 0.4s, color 0.4s;
    transition: background-color 0.4s, color 0.4s;
  }
  .drawer__link:hover, .drawer__link:focus {
    background-color: var(--text);
    color: var(--base);
  }
  .drawer__button {
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  .drawer__button:hover, .drawer__button:focus {
    background-color: var(--text);
  }
}
.drawer-bg {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  background-color: #000;
  visibility: hidden;
  opacity: 0;
  z-index: 5;
}

.is-drawer-active {
  height: 100%;
  overflow: hidden;
}
.is-drawer-active .drawer-bg {
  visibility: visible;
  opacity: 0.8;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

/*###################################################################
  hover（module）
###################################################################*/
@media (hover: hover) and (pointer: fine) {
  .op {
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
  }
  .op:hover, .op:focus {
    opacity: 0.7;
  }
}
@media (hover: hover) and (pointer: fine) {
  .op-fn {
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
  }
  .op-fn:hover {
    opacity: 0.7;
  }
}
@media (hover: hover) and (pointer: fine) {
  .op-im {
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
  }
  .op-im:hover, .op-im:focus {
    opacity: 0.7 !important;
  }
}
@media (hover: hover) and (pointer: fine) {
  .op-fnim {
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
  }
  .op-fnim:hover {
    opacity: 0.7 !important;
  }
}
/*###################################################################
  lower（module）
###################################################################*/
.lower-mv {
  height: clamp(15.625rem, 4.8127018299rem + 23.0355220667vw, 29rem);
  display: grid;
  place-items: center;
}
@media (max-width: 750px) {
  .lower-mv {
    height: clamp(10.625rem, 4.9107142857rem + 22.8571428571vw, 15.625rem);
  }
}
.lower-mv_company {
  background: url(../images/lower-mv-company.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/lower-mv-company.webp) 1x, url(../images/lower-mv-company@2x.webp) 2x);
  background-image: image-set(url(../images/lower-mv-company.webp) 1x, url(../images/lower-mv-company@2x.webp) 2x);
}
.lower-mv_business, .lower-mv_works {
  background: url(../images/lower-mv-business.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/lower-mv-business.webp) 1x, url(../images/lower-mv-business@2x.webp) 2x);
  background-image: image-set(url(../images/lower-mv-business.webp) 1x, url(../images/lower-mv-business@2x.webp) 2x);
}
.lower-mv_recruitment {
  background: url(../images/lower-mv-recruit.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/lower-mv-recruit.webp) 1x, url(../images/lower-mv-recruit@2x.webp) 2x);
  background-image: image-set(url(../images/lower-mv-recruit.webp) 1x, url(../images/lower-mv-recruit@2x.webp) 2x);
}
.lower-mv_contact {
  background: url(../images/lower-mv-contact.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/lower-mv-contact.webp) 1x, url(../images/lower-mv-contact@2x.webp) 2x);
  background-image: image-set(url(../images/lower-mv-contact.webp) 1x, url(../images/lower-mv-contact@2x.webp) 2x);
}
.lower-mv__title {
  color: var(--base);
  font-family: "Noto Serif SC", serif;
  font-optical-sizing: auto;
  font-size: clamp(2.5rem, 2.0958019376rem + 0.8611410118vw, 3rem);
  text-shadow: 0px 0px 11.3px #000000;
}
@media (max-width: 750px) {
  .lower-mv__title {
    font-size: clamp(1.875rem, 1.1607142857rem + 2.8571428571vw, 2.5rem);
  }
}

/*###################################################################
  WordPressテスト環境用設定
###################################################################*/
/*###################################################################
  top（page）
###################################################################*/
.top-c__t20 {
  font-size: clamp(1rem, 0.7142857143rem + 1.1428571429vw, 1.25rem);
}

.top-mv__box {
  max-width: clamp(31.6875rem, 18.085021449rem + 28.9799809342vw, 50.6875rem);
  width: 100%;
  height: clamp(12.125rem, 7.2030505243rem + 10.4861773117vw, 19rem);
  display: grid;
  place-items: center;
  position: absolute;
  inset: 0;
  margin: auto;
  border: 3px solid #d9d9d9;
}
@media (max-width: 750px) {
  .top-mv__box {
    max-width: clamp(14.375rem, 2.7321428571rem + 46.5714285714vw, 24.5625rem);
    height: clamp(30rem, 0.5rem + 118vw, 55.8125rem);
  }
}
.top-mv__title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 750px) {
  .top-mv__title {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-column-gap: 19px;
       -moz-column-gap: 19px;
            column-gap: 19px;
    position: absolute;
    top: clamp(1.5rem, -1.5714285714rem + 12.2857142857vw, 4.1875rem);
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@media (max-width: 750px) {
  .top-mv__title_3 {
    top: calc(50% + clamp(1.3125rem, -0.0446428571rem + 5.4285714286vw, 2.5rem));
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}
.top-mv__text {
  color: var(--base);
  font-size: clamp(2.5rem, 1.4261201144rem + 2.2878932316vw, 4rem);
  font-family: "Noto Serif SC", serif;
  font-optical-sizing: auto;
  text-shadow: 0px 0px 11.3px #000000;
}
@media (max-width: 750px) {
  .top-mv__text {
    font-size: clamp(2.125rem, -0.0178571429rem + 8.5714285714vw, 4rem);
    --ls: 0.2em;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    white-space: nowrap;
  }
}
@media (max-width: 750px) {
  .top-mv__text_mt {
    margin-top: clamp(2.5625rem, -0.0803571429rem + 10.5714285714vw, 4.875rem);
  }
}
.top-mv__pagination {
  width: initial !important;
  right: 11px !important;
  bottom: 22px !important;
  left: initial !important;
}
.top-mv__pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  opacity: 1;
  background-color: var(--base);
  vertical-align: middle;
  margin: 0 11.5px !important;
}
.top-mv__pagination .swiper-pagination-bullet-active {
  width: 13px;
  height: 13px;
  background-color: var(--main);
}

.top-company {
  position: relative;
  padding-top: calc(clamp(-8.3125rem, -11.140060241rem + 6.0240963855vw, -7.375rem) * -1);
  padding-bottom: clamp(6.0625rem, 0.3911963434rem + 12.0826709062vw, 10.8125rem);
}
@media (max-width: 750px) {
  .top-company {
    padding-top: clamp(3.4375rem, -2.1339285714rem + 22.2857142857vw, 8.3125rem);
    padding-bottom: clamp(3.125rem, -0.2321428571rem + 13.4285714286vw, 6.0625rem);
  }
}
.top-company::after {
  content: "";
  width: 38.4895833333%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
  background-color: #f5f5f5;
}
.top-company__outer {
  max-width: 1920px;
  margin-inline: auto;
}
.top-company__img {
  max-width: clamp(42.75rem, 0.0609769365rem + 90.9486510009vw, 108.0625rem);
  margin-top: calc(clamp(-6.0625rem, -11.1521084337rem + 10.843373494vw, -4.375rem) * -1);
  -webkit-box-shadow: 0px 0px 67.5px 5px rgba(0, 0, 0, 0.13);
          box-shadow: 0px 0px 67.5px 5px rgba(0, 0, 0, 0.13);
}
@media (max-width: 750px) {
  .top-company__img {
    max-width: clamp(23.125rem, 0.6964285714rem + 89.7142857143vw, 42.75rem);
    margin-top: clamp(3.4375rem, 0.4375rem + 12vw, 6.0625rem);
  }
}
.top-company__inner {
  max-width: 1000px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 40px;
  padding-left: 40px;
  position: relative;
  margin-top: calc(clamp(1.875rem, -11.8392489712rem + 29.2181069959vw, 15.1875rem) * -1);
}
@media (max-width: 750px) {
  .top-company__inner {
    margin-top: -159px;
    padding: 0 clamp(0.9375rem, -0.8482142857rem + 7.1428571429vw, 2.5rem);
  }
}
.top-company__box {
  background-color: var(--base);
  -webkit-box-shadow: 0px 0px 66.9px 13px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 0px 66.9px 13px rgba(0, 0, 0, 0.1);
  padding: 36px 30px 49px;
}
@media (max-width: 750px) {
  .top-company__box {
    padding: clamp(1.5625rem, 0.7767857143rem + 3.1428571429vw, 2.25rem) clamp(1.25rem, 0.5357142857rem + 2.8571428571vw, 1.875rem) 51px;
  }
}
.top-company__box-inner {
  max-width: clamp(35.25rem, -14.117920712rem + 105.1779935275vw, 55.5625rem);
  margin-inline: auto;
}
.top-company__box-title {
  -webkit-transform: translateX(-0.7em);
      -ms-transform: translateX(-0.7em);
          transform: translateX(-0.7em);
  color: var(--main);
  font-family: "Noto Serif SC", serif;
  font-optical-sizing: auto;
  font-size: clamp(1.375rem, 0.375rem + 4vw, 2.25rem);
  line-height: 1.6;
  white-space: pre-line;
}
.top-company__text-1 {
  margin-top: clamp(1.25rem, 0.6071428571rem + 2.5714285714vw, 1.8125rem);
}
.top-company__text-2 {
  margin-top: clamp(0.625rem, 0.2678571429rem + 1.4285714286vw, 0.9375rem);
}
.top-company__link {
  margin-top: clamp(1.875rem, 0.6607142857rem + 4.8571428571vw, 2.9375rem);
  margin-inline: auto;
}

.top-business {
  background: url(../images/top-business-bg.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/top-business-bg.webp) 1x, url(../images/top-business-bg@2x.webp) 2x);
  background-image: image-set(url(../images/top-business-bg.webp) 1x, url(../images/top-business-bg@2x.webp) 2x);
}
@media (max-width: 750px) {
  .top-business {
    background: url(../images/top-business-bg_sp.webp) no-repeat center center/cover;
    background-image: -webkit-image-set(url(../images/top-business-bg_sp.webp) 1x, url(../images/top-business-bg_sp@2x.webp) 2x);
    background-image: image-set(url(../images/top-business-bg_sp.webp) 1x, url(../images/top-business-bg_sp@2x.webp) 2x);
  }
}
.top-business__inner {
  max-width: 1000px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding: 93px 30px 94px;
}
@media (max-width: 750px) {
  .top-business__inner {
    padding: clamp(3.75rem, 2.25rem + 6vw, 5.0625rem) clamp(0.9375rem, -3.7053571429rem + 18.5714285714vw, 5rem) clamp(3.75rem, 1.6785714286rem + 8.2857142857vw, 5.5625rem);
  }
}
.top-business__title-box {
  max-width: clamp(18.75rem, 3.5357142857rem + 60.8571428571vw, 32.0625rem);
  height: clamp(6.25rem, 1.6785714286rem + 18.2857142857vw, 10.25rem);
  display: grid;
  place-items: center;
  position: relative;
  z-index: 1;
  background-color: var(--base);
  margin-inline: auto;
}
.top-business__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: calc(clamp(2.3125rem, -0.8774271845rem + 6.7961165049vw, 3.625rem) * -1);
}
@media (max-width: 750px) {
  .top-business__items {
    grid-template-columns: 1fr;
    margin-top: calc(clamp(1.125rem, -0.2321428571rem + 5.4285714286vw, 2.3125rem) * -1);
  }
}
.top-business__link {
  aspect-ratio: 500/414;
  display: grid;
  place-items: center;
  position: relative;
}
@media (max-width: 750px) {
  .top-business__link {
    aspect-ratio: 591/364;
  }
}
.top-business__link::after {
  content: "";
  -webkit-clip-path: inset(0);
          clip-path: inset(0);
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.35);
}
.top-business__link_1 {
  background: url(../images/top-business-1.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/top-business-1.webp) 1x, url(../images/top-business-1@2x.webp) 2x);
  background-image: image-set(url(../images/top-business-1.webp) 1x, url(../images/top-business-1@2x.webp) 2x);
}
@media (max-width: 750px) {
  .top-business__link_1 {
    background: url(../images/top-business-1_sp.webp) no-repeat center center/cover;
    background-image: -webkit-image-set(url(../images/top-business-1_sp.webp) 1x, url(../images/top-business-1_sp@2x.webp) 2x);
    background-image: image-set(url(../images/top-business-1_sp.webp) 1x, url(../images/top-business-1_sp@2x.webp) 2x);
  }
}
.top-business__link_2 {
  background: url(../images/top-business-2.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/top-business-2.webp) 1x, url(../images/top-business-2@2x.webp) 2x);
  background-image: image-set(url(../images/top-business-2.webp) 1x, url(../images/top-business-2@2x.webp) 2x);
}
@media (max-width: 750px) {
  .top-business__link_2 {
    background: url(../images/top-business-2_sp.webp) no-repeat center center/cover;
    background-image: -webkit-image-set(url(../images/top-business-2_sp.webp) 1x, url(../images/top-business-2_sp@2x.webp) 2x);
    background-image: image-set(url(../images/top-business-2_sp.webp) 1x, url(../images/top-business-2_sp@2x.webp) 2x);
  }
}
.top-business__link_3 {
  background: url(../images/top-business-3.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/top-business-3.webp) 1x, url(../images/top-business-3@2x.webp) 2x);
  background-image: image-set(url(../images/top-business-3.webp) 1x, url(../images/top-business-3@2x.webp) 2x);
}
@media (max-width: 750px) {
  .top-business__link_3 {
    background: url(../images/top-business-3_sp.webp) no-repeat center center/cover;
    background-image: -webkit-image-set(url(../images/top-business-3_sp.webp) 1x, url(../images/top-business-3_sp@2x.webp) 2x);
    background-image: image-set(url(../images/top-business-3_sp.webp) 1x, url(../images/top-business-3_sp@2x.webp) 2x);
  }
}
.top-business__link_4 {
  background: url(../images/top-business-4.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/top-business-4.webp) 1x, url(../images/top-business-4@2x.webp) 2x);
  background-image: image-set(url(../images/top-business-4.webp) 1x, url(../images/top-business-4@2x.webp) 2x);
}
@media (max-width: 750px) {
  .top-business__link_4 {
    background: url(../images/top-business-4_sp.webp) no-repeat center center/cover;
    background-image: -webkit-image-set(url(../images/top-business-4_sp.webp) 1x, url(../images/top-business-4_sp@2x.webp) 2x);
    background-image: image-set(url(../images/top-business-4_sp.webp) 1x, url(../images/top-business-4_sp@2x.webp) 2x);
  }
}
.top-business__link-box {
  max-width: clamp(15.625rem, 4.3843042071rem + 23.9482200647vw, 20.25rem);
  width: 100%;
  aspect-ratio: 324/187;
  display: grid;
  place-items: center;
  position: relative;
  z-index: 1;
  border: 1px solid var(--base);
}
@media (max-width: 750px) {
  .top-business__link-box {
    max-width: clamp(15.8125rem, 6.5267857143rem + 37.1428571429vw, 23.9375rem);
    aspect-ratio: 383/221;
  }
}
.top-business__link-text {
  color: var(--base);
  font-family: "Noto Serif SC", serif;
  font-optical-sizing: auto;
  font-size: clamp(1.75rem, 0.534789644rem + 2.5889967638vw, 2.25rem);
  text-align: center;
  white-space: pre-line;
}
@media (max-width: 750px) {
  .top-business__link-text {
    font-size: clamp(1.875rem, 0.9785714286rem + 3.5857142857vw, 2.659375rem);
  }
}
.top-business__link-button {
  margin-top: 56px;
  margin-inline: auto;
}
@media (max-width: 750px) {
  .top-business__link-button {
    margin-top: 66px;
  }
}

@media (hover: hover) and (pointer: fine) {
  .top-business__link::after {
    -webkit-transition: -webkit-clip-path 0.4s;
    transition: -webkit-clip-path 0.4s;
    transition: clip-path 0.4s;
    transition: clip-path 0.4s, -webkit-clip-path 0.4s;
  }
  .top-business__link:hover::after, .top-business__link:focus::after {
    -webkit-clip-path: inset(100%);
            clip-path: inset(100%);
  }
  .top-business__link-button:hover, .top-business__link-button:focus {
    background-color: var(--text);
  }
}
.top-works {
  overflow: hidden;
  background-color: #f5f5f5;
  padding-top: clamp(6.125rem, 1.1122572816rem + 10.6796116505vw, 8.1875rem);
  padding-bottom: clamp(6rem, 2.354368932rem + 7.7669902913vw, 7.5rem);
}
@media (max-width: 900px) {
  .top-works {
    padding-top: clamp(3.125rem, -0.3035714286rem + 13.7142857143vw, 6.125rem);
    padding-bottom: clamp(3.125rem, -0.1607142857rem + 13.1428571429vw, 6rem);
  }
}
.top-works__swiper {
  overflow: visible;
  margin-top: clamp(4.375rem, 2.5892857143rem + 7.1428571429vw, 5.9375rem);
}
.top-works__wrapper {
  margin-left: -20px;
}
.top-works__slide {
  margin-top: auto;
  -webkit-transition: 0.7s;
  transition: 0.7s;
  margin-top: 75px;
}
.top-works__slide.swiper-slide-active {
  -webkit-transform: scale(1.1482649842) !important;
      -ms-transform: scale(1.1482649842) !important;
          transform: scale(1.1482649842) !important;
  z-index: 1;
  margin-top: 0;
  margin-right: 75px !important;
}
@media (max-width: 1000px) {
  .top-works__slide.swiper-slide-active {
    margin-right: 45px !important;
  }
}
@media (max-width: 750px) {
  .top-works__slide.swiper-slide-active {
    margin-right: 75px !important;
  }
}
@media (max-width: 600px) {
  .top-works__slide.swiper-slide-active {
    margin-right: 35px !important;
  }
}
.top-works__slide.swiper-slide-active .top-works__box {
  -webkit-clip-path: inset(0);
          clip-path: inset(0);
}
.top-works__slide.swiper-slide-prev {
  margin-right: 75px !important;
}
@media (max-width: 1000px) {
  .top-works__slide.swiper-slide-prev {
    margin-right: 45px !important;
  }
}
@media (max-width: 750px) {
  .top-works__slide.swiper-slide-prev {
    margin-right: 75px !important;
  }
}
@media (max-width: 600px) {
  .top-works__slide.swiper-slide-prev {
    margin-right: 35px !important;
  }
}
.top-works__img {
  overflow: hidden;
}
.top-works__img img {
  height: 100%;
  aspect-ratio: 317/355;
  -o-object-fit: cover;
     object-fit: cover;
}
.top-works__box {
  -webkit-clip-path: inset(0 0 100% 0);
          clip-path: inset(0 0 100% 0);
  -webkit-transition: -webkit-clip-path 0.7s;
  transition: -webkit-clip-path 0.7s;
  transition: clip-path 0.7s;
  transition: clip-path 0.7s, -webkit-clip-path 0.7s;
  margin-top: clamp(0.5625rem, -0.6517857143rem + 4.8571428571vw, 1.625rem);
}
.top-works__post-title {
  font-size: clamp(1rem, 0.65rem + 1.4vw, 1.30625rem);
}
.top-works__text {
  font-size: clamp(0.875rem, 0.6308871429rem + 0.9764514286vw, 1.08859875rem);
  margin-top: 11px;
}
.top-works__no-post {
  height: clamp(13.75rem, 0.8928571429rem + 51.4285714286vw, 25rem);
  display: grid;
  place-items: center;
  background-color: var(--main);
  color: var(--base);
  font-size: clamp(1.25rem, 0.9642857143rem + 1.1428571429vw, 1.5rem);
  margin-top: clamp(4.375rem, 2.5892857143rem + 7.1428571429vw, 5.9375rem);
}
.top-works__link-button {
  margin-top: 21px;
  margin-inline: auto;
}
@media (max-width: 750px) {
  .top-works__link-button {
    margin-top: clamp(0rem, -2rem + 8vw, 1.75rem);
  }
}

@media (hover: hover) and (pointer: fine) {
  .top-works__link:hover img, .top-works__link:focus img {
    scale: 1.1;
  }
  .top-works__img img {
    -webkit-transition: scale 0.4s;
    transition: scale 0.4s;
  }
}
.top-recruit {
  position: relative;
}
.top-recruit::after {
  content: "";
  width: 100%;
  height: clamp(12.375rem, -0.4821428571rem + 51.4285714286vw, 23.625rem);
  position: absolute;
  bottom: 0;
  z-index: -1;
  background: url(../images/top-recruit-bg.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/top-recruit-bg.webp) 1x, url(../images/top-recruit-bg@2x.webp) 2x);
  background-image: image-set(url(../images/top-recruit-bg.webp) 1x, url(../images/top-recruit-bg@2x.webp) 2x);
}
@media (max-width: 750px) {
  .top-recruit::after {
    background: url(../images/top-recruit-bg_sp.webp) no-repeat center center/cover;
    background-image: -webkit-image-set(url(../images/top-recruit-bg_sp.webp) 1x, url(../images/top-recruit-bg_sp@2x.webp) 2x);
    background-image: image-set(url(../images/top-recruit-bg_sp.webp) 1x, url(../images/top-recruit-bg_sp@2x.webp) 2x);
  }
}
.top-recruit_pos {
  margin-top: clamp(6.125rem, 3.0425373134rem + 6.5671641791vw, 7.5rem);
}
@media (max-width: 750px) {
  .top-recruit_pos {
    margin-top: clamp(2.8125rem, -0.9732142857rem + 15.1428571429vw, 6.125rem);
  }
}
.top-recruit__inner {
  max-width: 1082px;
  padding-right: clamp(0.625rem, -1.5178571429rem + 8.5714285714vw, 2.5rem);
  padding-left: clamp(0rem, -4.4835820896rem + 9.552238806vw, 2rem);
  margin-inline: auto;
}
@media (max-width: 750px) {
  .top-recruit__inner {
    padding-left: clamp(0rem, -2.2857142857rem + 9.1428571429vw, 2rem);
  }
}
.top-recruit__body {
  position: relative;
  margin-top: clamp(4.4375rem, -3.548880597rem + 17.0149253731vw, 8rem);
  padding-bottom: 120px;
}
@media (max-width: 750px) {
  .top-recruit__body {
    margin-top: clamp(3.125rem, 1.625rem + 6vw, 4.4375rem);
    padding-bottom: clamp(2.1875rem, 0.7589285714rem + 5.7142857143vw, 3.4375rem);
  }
}
.top-recruit__pc-box {
  max-width: clamp(25.25rem, -12.8604477612rem + 81.1940298507vw, 42.25rem);
  background-color: var(--base);
  -webkit-box-shadow: 0px 0px 28px 6px rgba(0, 0, 0, 0.09);
          box-shadow: 0px 0px 28px 6px rgba(0, 0, 0, 0.09);
  margin-left: auto;
  padding: 40px 26px 35px;
}
@media (max-width: 750px) {
  .top-recruit__pc-box {
    display: contents;
  }
}
.top-recruit__sp-box {
  max-width: 588px;
  margin-inline: auto;
}
@media (max-width: 750px) {
  .top-recruit__sp-box {
    max-width: clamp(17.75rem, 9.1785714286rem + 34.2857142857vw, 25.25rem);
    position: relative;
    z-index: 1;
    background-color: var(--base);
    -webkit-box-shadow: 0px 0px 28px 6px rgba(0, 0, 0, 0.09);
            box-shadow: 0px 0px 28px 6px rgba(0, 0, 0, 0.09);
    margin-left: auto;
    margin-inline: inherit;
    padding: clamp(1.25rem, -0.1785714286rem + 5.7142857143vw, 2.5rem) clamp(0.75rem, -0.25rem + 4vw, 1.625rem) clamp(1.5625rem, 0.2767857143rem + 5.1428571429vw, 2.6875rem);
  }
}
.top-recruit__box-title {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: var(--main);
  font-family: "Noto Serif SC", serif;
  font-optical-sizing: auto;
  font-size: clamp(1.3125rem, 0.3839285714rem + 3.7142857143vw, 2.125rem);
  margin-inline: auto;
}
.top-recruit__text-1 {
  margin-top: 27px;
}
@media (max-width: 750px) {
  .top-recruit__text-1 {
    margin-top: clamp(1.25rem, 0.6071428571rem + 2.5714285714vw, 1.8125rem);
  }
}
.top-recruit__text-2 {
  margin-top: clamp(0.625rem, 0.2678571429rem + 1.4285714286vw, 0.9375rem);
}
.top-recruit__img {
  max-width: clamp(22.5rem, 21.098880597rem + 2.9850746269vw, 23.125rem);
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media (max-width: 750px) {
  .top-recruit__img {
    max-width: clamp(11.25rem, -2.3214285714rem + 54.2857142857vw, 23.125rem);
  }
}
.top-recruit__img img {
  -webkit-filter: drop-shadow(0px -5px 20.5px rgba(0, 0, 0, 0.09));
          filter: drop-shadow(0px -5px 20.5px rgba(0, 0, 0, 0.09));
}
.top-recruit__link {
  max-width: 455px;
  width: 100%;
  height: 79px;
  display: grid;
  place-items: center;
  position: relative;
  background-color: var(--accent);
  color: var(--base);
  font-family: "Noto Serif SC", serif;
  font-optical-sizing: auto;
  font-size: 1.639375rem;
  line-height: 1;
  border-radius: 9999px;
  margin-top: 25px;
  margin-inline: auto;
}
@media (max-width: 750px) {
  .top-recruit__link {
    max-width: clamp(21.75rem, 6.9642857143rem + 59.1428571429vw, 34.6875rem);
    height: clamp(4.0625rem, 1.8482142857rem + 8.8571428571vw, 6rem);
    -webkit-transform: translateX(clamp(0rem, -2.2142857143rem + 8.8571428571vw, 1.9375rem));
        -ms-transform: translateX(clamp(0rem, -2.2142857143rem + 8.8571428571vw, 1.9375rem));
            transform: translateX(clamp(0rem, -2.2142857143rem + 8.8571428571vw, 1.9375rem));
    z-index: 1;
    font-size: clamp(1.375rem, 0.6607142857rem + 2.8571428571vw, 2rem);
    margin-top: clamp(1.875rem, 0.5892857143rem + 5.1428571429vw, 3rem);
  }
}
.top-recruit__link::after {
  content: "";
  width: 34px;
  aspect-ratio: 1/1;
  position: absolute;
  top: 50%;
  right: 25px;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url(../images/icon-link-arrow.svg) no-repeat 0 0/contain;
}
@media (max-width: 750px) {
  .top-recruit__link::after {
    width: clamp(1.75rem, 0.8214285714rem + 3.7142857143vw, 2.5625rem);
  }
}

@media (hover: hover) and (pointer: fine) {
  .top-recruit__link {
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  .top-recruit__link:hover, .top-recruit__link:focus {
    background-color: var(--main);
  }
}
.top-gallery {
  padding-bottom: 110px;
}
@media (max-width: 750px) {
  .top-gallery {
    padding-bottom: clamp(6.25rem, 4.40234375rem + 6.875vw, 7.625rem);
  }
}
.top-gallery__slider {
  overflow: hidden;
}
.top-gallery__wrapper {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.top-gallery__items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-animation: infinity-scroll 30s linear infinite both;
          animation: infinity-scroll 30s linear infinite both;
}
.top-gallery__slide {
  max-width: clamp(15rem, -2.1428571429rem + 68.5714285714vw, 30rem);
}

/*###################################################################
  business（page）
###################################################################*/
.business1 {
  background-color: var(--base2);
}
.business1__outer {
  max-width: 1920px;
  margin-inline: auto;
  padding-top: clamp(3.125rem, 0.5rem + 10.5vw, 7.0625rem);
  padding-bottom: clamp(6.25rem, 1.0416666667rem + 20.8333333333vw, 14.0625rem);
}
.business1__items {
  margin-top: clamp(2.8125rem, 0.1458333333rem + 10.6666666667vw, 6.8125rem);
}
@media (max-width: 750px) {
  .business1__items {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: clamp(2.5rem, 1.7857142857rem + 2.8571428571vw, 3.125rem);
  }
}
.business1__item {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 750px) {
  .business1__item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: inherit;
    -webkit-align-items: inherit;
        -ms-flex-align: inherit;
            align-items: inherit;
  }
}
.business1__body {
  max-width: 1114px;
  min-height: clamp(28.75rem, 24.9757271172rem + 8.0410607357vw, 34.625rem);
  position: relative;
  background-color: var(--base);
  padding-top: clamp(1.875rem, -0.5341103507rem + 5.1325919589vw, 5.625rem);
}
@media (max-width: 750px) {
  .business1__body {
    max-width: 640px;
    min-height: inherit;
    background-color: transparent;
    padding-top: 0;
  }
}
.business1__body_odd {
  margin-right: calc(clamp(3.125rem, -1.0507912746rem + 8.8964927288vw, 9.625rem) * -1);
}
@media (max-width: 750px) {
  .business1__body_odd {
    margin-right: auto;
    padding-right: 40px;
  }
}
.business1__body_even {
  grid-area: 1/2/2/3;
  margin-left: calc(clamp(3.125rem, -1.0507912746rem + 8.8964927288vw, 9.625rem) * -1);
}
@media (max-width: 750px) {
  .business1__body_even {
    margin-left: auto;
    padding-left: 40px;
  }
}
.business1__box {
  max-width: 733px;
  padding: 0 20px;
}
@media (max-width: 750px) {
  .business1__box {
    min-height: 400px;
    background-color: var(--base);
    padding: 30px 20px;
  }
}
.business1__box_odd {
  margin-left: auto;
}
.business1__box-inner {
  max-width: 575px;
  margin-inline: auto;
}
.business1__number {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 17px;
     -moz-column-gap: 17px;
          column-gap: 17px;
  color: var(--main);
  font-family: "Noto Serif SC", serif;
  font-optical-sizing: auto;
  font-size: 0.833125rem;
}
.business1__number::after {
  content: "";
  height: 1px;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  background-color: var(--main);
}
.business1__box-title {
  color: var(--main);
  font-family: "Noto Serif SC", serif;
  font-optical-sizing: auto;
  font-size: clamp(1.875rem, 0.9877126654rem + 1.8903591682vw, 2.5rem);
  margin-top: clamp(1.25rem, 0.3928571429rem + 3.4285714286vw, 2rem);
}
@media (max-width: 750px) {
  .business1__box-title {
    font-size: clamp(1.625rem, 1.3392857143rem + 1.1428571429vw, 1.875rem);
  }
}
.business1__text {
  margin-top: clamp(1.25rem, 0.9642857143rem + 1.1428571429vw, 1.5rem);
}
@media (max-width: 750px) {
  .business1__img-area {
    max-width: 640px;
    margin-top: calc(clamp(3.125rem, 1.6964285714rem + 5.7142857143vw, 4.375rem) * -1);
  }
}
.business1__img-area_odd {
  margin-left: auto;
}
.business1__img-area_even {
  grid-area: 1/1/2/2;
}
@media (max-width: 750px) {
  .business1__img-area_even {
    margin-right: auto;
  }
}
@media (max-width: 750px) {
  .business1__img-inner_odd {
    padding-left: 40px;
  }
}
@media (max-width: 750px) {
  .business1__img-inner_even {
    padding-right: 40px;
  }
}

.business-spacer {
  height: clamp(3.75rem, -0.5965909091rem + 17.3863636364vw, 13.3125rem);
}

/*###################################################################
  company（page）
###################################################################*/
.company1_pos {
  margin-top: clamp(3.125rem, 0.5rem + 10.5vw, 7.0625rem);
}
.company1__main {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: clamp(2.8125rem, 0.1458333333rem + 10.6666666667vw, 6.8125rem);
}
@media (max-width: 750px) {
  .company1__main {
    grid-template-columns: 1fr;
  }
}
.company1__body {
  aspect-ratio: 960/775;
  display: grid;
  place-items: center;
  background-color: var(--main);
}
.company1__text {
  color: var(--base);
  font-family: "Noto Serif SC", serif;
  font-optical-sizing: auto;
  font-size: clamp(1.875rem, 0.2778827977rem + 3.4026465028vw, 3rem);
  text-align: center;
  white-space: pre-line;
}
@media (max-width: 750px) {
  .company1__text {
    font-size: clamp(1.875rem, 0.5892857143rem + 5.1428571429vw, 3rem);
  }
}
.company1__img {
  aspect-ratio: 960/775;
  background: url(../images/company1-1.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/company1-1.webp) 1x, url(../images/company1-1@2x.webp) 2x);
  background-image: image-set(url(../images/company1-1.webp) 1x, url(../images/company1-1@2x.webp) 2x);
}

.company2_pos {
  margin-top: clamp(3.125rem, -2.6420454545rem + 23.0681818182vw, 15.8125rem);
}
.company2__inner {
  max-width: 1000px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  padding-bottom: clamp(7.5rem, 3.8352272727rem + 14.6590909091vw, 15.5625rem);
}
@media (max-width: 1000px) {
  .company2__inner {
    padding: 0 clamp(0.9375rem, -0.1339285714rem + 4.2857142857vw, 1.875rem) clamp(7.5rem, 2.125rem + 21.5vw, 15.5625rem);
  }
}
.company2__dl {
  margin-top: clamp(3.125rem, 1.8333333333rem + 5.1666666667vw, 5.0625rem);
}

/*###################################################################
  works（page）
###################################################################*/
.works-list_pos {
  margin-top: 113px;
}
.works-list__inner {
  max-width: 1000px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  padding-bottom: 120px;
}
@media (max-width: 750px) {
  .works-list__inner {
    padding: 0 clamp(0.9375rem, -0.1339285714rem + 4.2857142857vw, 1.875rem) 120px;
  }
}
.works-list__items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(3.125rem, 2.0833333333rem + 4.1666666667vw, 4.6875rem) clamp(0.9375rem, -1.0625rem + 5.3333333333vw, 1.4375rem);
  margin-top: 99px;
}
@media (max-width: 1000px) {
  .works-list__items {
    max-width: 690px;
    grid-template-columns: repeat(2, 1fr);
    margin-inline: auto;
  }
}
@media (max-width: 600px) {
  .works-list__items {
    max-width: 400px;
    grid-template-columns: 1fr;
  }
}
.works-list__thumbnail {
  overflow: hidden;
}
.works-list__thumbnail img {
  height: 100%;
  aspect-ratio: 318/257;
  -o-object-fit: cover;
     object-fit: cover;
}
.works-list__post-title {
  font-size: clamp(1rem, 0.7142857143rem + 1.1428571429vw, 1.25rem);
  margin-top: 19px;
}
.works-list__text {
  font-size: clamp(1rem, 0.7142857143rem + 1.1428571429vw, 1.25rem);
  margin-top: 10px;
}
.works-list__no-post {
  height: 220px;
  display: grid;
  place-items: center;
  grid-area: 1/1/2/4;
  background-color: var(--main);
  color: var(--base);
  font-size: clamp(1.25rem, 0.9642857143rem + 1.1428571429vw, 1.5rem);
}
.works-list__pagination {
  font-size: 1.25rem;
  margin-top: 150px;
}
@media (max-width: 750px) {
  .works-list__pagination {
    margin-top: 80px;
  }
}
.works-list__pagination ul.page-numbers {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: clamp(1.125rem, -0.875rem + 8vw, 2.125rem);
  margin-inline: auto;
}
.works-list__pagination ul.page-numbers li {
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
}
.works-list__pagination ul.page-numbers li .page-numbers {
  --spacing: 0;
}
.works-list__pagination .page-numbers.current {
  color: var(--main);
}

@media (hover: hover) and (pointer: fine) {
  .works-list__modal img {
    -webkit-transition: scale 0.4s;
    transition: scale 0.4s;
  }
  .works-list__modal:hover img, .works-list__modal:focus img {
    scale: 1.1;
  }
}
.news-post-pager {
  background-color: var(--base);
  border: 1px solid #75778d;
}
.news-post-pager_pos {
  max-width: 840px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 20px;
  padding-left: 20px;
  margin-top: 80px;
}
@media (max-width: 750px) {
  .news-post-pager_pos {
    margin-top: 60px;
  }
}
.news-post-pager__nav {
  height: 70px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: var(--main);
  font-size: clamp(1rem, 0.1071428571rem + 3.8095238095vw, 1.25rem);
  font-weight: 500;
  padding-right: clamp(0rem, -4.4642857143rem + 19.0476190476vw, 1.25rem);
  padding-left: clamp(0rem, -4.4642857143rem + 19.0476190476vw, 1.25rem);
}
.news-post-pager__link {
  --spacing: 0;
}
.news-post-pager__blank {
  min-width: 106px;
  min-width: clamp(5.4375rem, 0.5267857143rem + 20.9523809524vw, 6.8125rem);
}

@media (hover: hover) and (pointer: fine) {
  .works-post-pager__link {
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
  }
  .works-post-pager__link:hover, .works-post-pager__link:focus {
    opacity: 0.7;
  }
}
/*###################################################################
  recruit（page）
###################################################################*/
.recruit1 {
  background-color: var(--main);
  color: var(--base);
}
.recruit1__inner {
  max-width: 1000px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding: 113px 30px 108px;
}
@media (max-width: 1000px) {
  .recruit1__inner {
    padding: clamp(3.125rem, 0.5rem + 10.5vw, 7.0625rem) clamp(0.9375rem, -0.1339285714rem + 4.2857142857vw, 1.875rem) clamp(3.75rem, 1.75rem + 8vw, 6.75rem);
  }
}
.recruit1__title::after {
  background-color: var(--base);
}
.recruit1__subtitle {
  font-family: "Noto Serif SC", serif;
  font-optical-sizing: auto;
  font-size: clamp(1.875rem, 1.5909090909rem + 1.1363636364vw, 2.5rem);
  line-height: 1.5;
  text-align: center;
  margin-top: clamp(2.5rem, 1.5833333333rem + 3.6666666667vw, 3.875rem);
}
.recruit1__box {
  margin-top: 36px;
}
.recruit1__text-1 {
  text-align: center;
}
.recruit1__text-2 {
  text-align: center;
  margin-top: 13px;
}

.recruit-gallery {
  padding-bottom: 0;
}

.recruit2_pos {
  margin-top: clamp(3.125rem, -0.5833333333rem + 14.8333333333vw, 8.6875rem);
}
.recruit2__inner {
  max-width: 1000px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  padding-bottom: clamp(7.5rem, 5.1420454545rem + 9.4318181818vw, 12.6875rem);
}
@media (max-width: 750px) {
  .recruit2__inner {
    padding: 0 clamp(0.9375rem, -0.1339285714rem + 4.2857142857vw, 1.875rem) clamp(7.5rem, 3.8352272727rem + 14.6590909091vw, 15.5625rem);
  }
}
.recruit2__dl {
  margin-top: clamp(3.125rem, 1.8333333333rem + 5.1666666667vw, 5.0625rem);
}

/*###################################################################
  contact（page）
###################################################################*/
.contact-main_pos {
  margin-top: clamp(3.125rem, 0.5rem + 10.5vw, 7.0625rem);
}
.contact-main__inner {
  max-width: 1000px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  padding-bottom: 211px;
}
@media (max-width: 1000px) {
  .contact-main__inner {
    padding: 0 clamp(0.9375rem, -0.1339285714rem + 4.2857142857vw, 1.875rem) clamp(7.5rem, 0.9583333333rem + 26.1666666667vw, 17.3125rem);
  }
}
.contact-main__body {
  margin-top: clamp(4.375rem, 2.5568181818rem + 7.2727272727vw, 7.375rem);
}

.form__main {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: clamp(1.875rem, 0.8035714286rem + 4.2857142857vw, 2.8125rem);
  font-size: clamp(1rem, 0.8484848485rem + 0.6060606061vw, 1.25rem);
}
.form__paragraph {
  display: grid;
  grid-template-columns: clamp(16.25rem, 3.3971774194rem + 27.4193548387vw, 21.5625rem) 1fr;
}
@media (max-width: 750px) {
  .form__paragraph {
    grid-template-columns: 1fr;
    row-gap: 10px;
  }
}
.form__title {
  display: grid;
  grid-template-columns: clamp(4.75rem, 1.2721774194rem + 7.4193548387vw, 6.1875rem) 1fr;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.form__required {
  max-width: clamp(4.125rem, 2.1592741935rem + 4.1935483871vw, 4.9375rem);
  height: 35px;
  width: 100%;
  display: grid;
  place-items: center;
  background-color: var(--accent);
  color: var(--base);
  border-radius: 9999px;
}
.form__subject .wpcf7-list-item {
  margin: 0;
}
.form__subject .wpcf7-list-item.last {
  margin-left: clamp(2.5rem, -3.3971774194rem + 12.5806451613vw, 4.9375rem);
}
.form input[type=radio] {
  opacity: 0;
  position: absolute;
}
.form input[type=radio] + .wpcf7-list-item-label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 15px;
     -moz-column-gap: 15px;
          column-gap: 15px;
  position: relative;
  margin-top: 4px;
}
.form input[type=radio] + .wpcf7-list-item-label::before {
  content: "";
  width: clamp(1.375rem, 1.2234848485rem + 0.6060606061vw, 1.625rem);
  aspect-ratio: 1/1;
  background-color: #dbdbdb;
  border-radius: 50%;
}
.form input[type=radio] + .wpcf7-list-item-label::after {
  content: "";
  width: clamp(0.740375rem, 0.6587840909rem + 0.3263636364vw, 0.875rem);
  aspect-ratio: 1/1;
  position: absolute;
  top: 50%;
  left: clamp(0.3125rem, 0.2746212121rem + 0.1515151515vw, 0.375rem);
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  opacity: 0;
  background-color: var(--main);
  border-radius: 50%;
}
.form input[type=radio]:focus + .wpcf7-list-item-label::before {
  border: 2px solid #000;
}
.form input[type=radio]:checked + .wpcf7-list-item-label::after {
  opacity: 1;
}
.form__input {
  width: 100%;
  height: 73px;
  background-color: var(--base2);
  font-size: 1rem;
  line-height: 1.75;
  padding: 15px 15px;
}
.form__input_message {
  min-height: 73px;
  height: inherit;
  field-sizing: content;
  resize: vertical;
}
.form__button-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: 5px;
  margin-top: 85px;
}
.form__button-deco {
  max-width: clamp(21.75rem, 18.6071428571rem + 12.5714285714vw, 24.5rem);
  width: 100%;
  position: relative;
}
.form__button-deco::after {
  content: "";
  width: clamp(1.75rem, 1.3492857143rem + 1.6028571429vw, 2.100625rem);
  aspect-ratio: 1/1;
  position: absolute;
  top: calc(50% - 14px);
  right: 24px;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url(../images/icon-link-arrow.svg) no-repeat 0 0/contain;
  pointer-events: none;
}
.form__action-button {
  width: 100%;
  height: 79px;
  background-color: var(--accent);
  color: var(--base);
  font-family: "Noto Serif SC", serif;
  font-optical-sizing: auto;
  font-size: 1.639375rem;
  text-align: center;
  vertical-align: middle;
  border-radius: 9999px;
}
.form[data-status=sent] .form__button-wrapper {
  display: none;
}

@media (hover: hover) and (pointer: fine) {
  .form__action-button {
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  .form__action-button:hover, .form__action-button:focus {
    background-color: var(--accent);
  }
}
/*###################################################################
  page-404（page）
###################################################################*/
.page-404_pos {
  margin-top: clamp(5rem, 2.0833333333rem + 11.6666666667vw, 9.375rem);
}
.page-404__inner {
  max-width: 1000px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  padding-bottom: 100px;
}
@media (max-width: 750px) {
  .page-404__inner {
    padding: 0 clamp(0.9375rem, -0.0815217391rem + 4.0760869565vw, 1.875rem) 100px;
  }
}
.page-404__title {
  font-family: "Noto Serif SC", serif;
  font-optical-sizing: auto;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.75;
}
.page-404__text {
  line-height: 2;
  white-space: pre-line;
  margin-top: 50px;
}
.page-404__button {
  width: 175px;
  height: 48px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: bold;
  border: 1px solid var(--text);
  margin: 60px auto 0;
}

@media (hover: hover) and (pointer: fine) {
  .page-404__button {
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
  }
  .page-404__button:hover, .page-404__button:focus {
    opacity: 0.7;
  }
}
/*###################################################################
  js-（js制御用）
###################################################################*/