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

/*###################################################################
  base（共通設定）
###################################################################*/
/*----------------------------------
  html
----------------------------------*/
html {
  scroll-behavior: smooth;
}

[id] {
  scroll-margin-top: 180px;
}
@media (max-width: 768px) {
  [id] {
    scroll-margin-top: 180px;
  }
}

body {
  color: var(--text);
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: bold;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

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

/*###################################################################
  animation（共通設定）
###################################################################*/
/*----------------------------------
  mv-building
----------------------------------*/
@-webkit-keyframes mvBuilding {
  0% {
    -webkit-clip-path: circle(0 at 50% 50%);
            clip-path: circle(0 at 50% 50%);
  }
  100% {
    -webkit-clip-path: circle(100% at 50% 50%);
            clip-path: circle(100% at 50% 50%);
  }
}
@keyframes mvBuilding {
  0% {
    -webkit-clip-path: circle(0 at 50% 50%);
            clip-path: circle(0 at 50% 50%);
  }
  100% {
    -webkit-clip-path: circle(100% at 50% 50%);
            clip-path: circle(100% at 50% 50%);
  }
}
/*----------------------------------
  cars
----------------------------------*/
/* 赤：緩急つき。70%で到着→100%まで止まる＝終了後の間 */
@-webkit-keyframes top-mv-car-r-loop {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  17.5% {
    -webkit-transform: translate(8.6041666667cqw, 10.027972028cqh);
            transform: translate(8.6041666667cqw, 10.027972028cqh);
  }
  52.5% {
    -webkit-transform: translate(48.7569444444cqw, 56.8251748252cqh);
            transform: translate(48.7569444444cqw, 56.8251748252cqh);
  }
  70% {
    -webkit-transform: translate(57.3611111111cqw, 66.8531468531cqh);
            transform: translate(57.3611111111cqw, 66.8531468531cqh);
  }
  100% {
    -webkit-transform: translate(57.3611111111cqw, 66.8531468531cqh);
            transform: translate(57.3611111111cqw, 66.8531468531cqh);
  }
}
@keyframes top-mv-car-r-loop {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  17.5% {
    -webkit-transform: translate(8.6041666667cqw, 10.027972028cqh);
            transform: translate(8.6041666667cqw, 10.027972028cqh);
  }
  52.5% {
    -webkit-transform: translate(48.7569444444cqw, 56.8251748252cqh);
            transform: translate(48.7569444444cqw, 56.8251748252cqh);
  }
  70% {
    -webkit-transform: translate(57.3611111111cqw, 66.8531468531cqh);
            transform: translate(57.3611111111cqw, 66.8531468531cqh);
  }
  100% {
    -webkit-transform: translate(57.3611111111cqw, 66.8531468531cqh);
            transform: translate(57.3611111111cqw, 66.8531468531cqh);
  }
}
/* SP(375×756)：(left -36, bottom 224) → (left 366, bottom -4) の移動量 */
@-webkit-keyframes top-mv-car-r-loop-sp {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  70% {
    -webkit-transform: translate(107.2cqw, 35.0529100529cqh);
            transform: translate(107.2cqw, 35.0529100529cqh);
  }
  100% {
    -webkit-transform: translate(107.2cqw, 35.0529100529cqh);
            transform: translate(107.2cqw, 35.0529100529cqh);
  }
}
@keyframes top-mv-car-r-loop-sp {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  70% {
    -webkit-transform: translate(107.2cqw, 35.0529100529cqh);
            transform: translate(107.2cqw, 35.0529100529cqh);
  }
  100% {
    -webkit-transform: translate(107.2cqw, 35.0529100529cqh);
            transform: translate(107.2cqw, 35.0529100529cqh);
  }
}
/* 白：(bottom 229, left -32) → (top -21, right 589) の移動量。70%で到着→100%まで止まる */
@-webkit-keyframes top-mv-car-w-loop {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  /* 出だしゆっくり */
  20% {
    -webkit-transform: translate(4.7111111111cqw, -5.4153846154cqh);
            transform: translate(4.7111111111cqw, -5.4153846154cqh);
  }
  /* 中盤速い */
  55% {
    -webkit-transform: translate(45.9333333333cqw, -52.8cqh);
            transform: translate(45.9333333333cqw, -52.8cqh);
  }
  70% {
    -webkit-transform: translate(58.8888888889cqw, -67.6923076923cqh);
            transform: translate(58.8888888889cqw, -67.6923076923cqh);
  }
  100% {
    -webkit-transform: translate(58.8888888889cqw, -67.6923076923cqh);
            transform: translate(58.8888888889cqw, -67.6923076923cqh);
  }
}
@keyframes top-mv-car-w-loop {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  /* 出だしゆっくり */
  20% {
    -webkit-transform: translate(4.7111111111cqw, -5.4153846154cqh);
            transform: translate(4.7111111111cqw, -5.4153846154cqh);
  }
  /* 中盤速い */
  55% {
    -webkit-transform: translate(45.9333333333cqw, -52.8cqh);
            transform: translate(45.9333333333cqw, -52.8cqh);
  }
  70% {
    -webkit-transform: translate(58.8888888889cqw, -67.6923076923cqh);
            transform: translate(58.8888888889cqw, -67.6923076923cqh);
  }
  100% {
    -webkit-transform: translate(58.8888888889cqw, -67.6923076923cqh);
            transform: translate(58.8888888889cqw, -67.6923076923cqh);
  }
}
/* SP(375×756)：白 (top 115, left -30) → (top -20, left 350)。70%で到着→100%まで止まる */
@-webkit-keyframes top-mv-car-w-loop-sp {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  70% {
    -webkit-transform: translate(85.3333333333cqw, -27.7777777778cqh);
            transform: translate(85.3333333333cqw, -27.7777777778cqh);
  }
  100% {
    -webkit-transform: translate(85.3333333333cqw, -27.7777777778cqh);
            transform: translate(85.3333333333cqw, -27.7777777778cqh);
  }
}
@keyframes top-mv-car-w-loop-sp {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  70% {
    -webkit-transform: translate(85.3333333333cqw, -27.7777777778cqh);
            transform: translate(85.3333333333cqw, -27.7777777778cqh);
  }
  100% {
    -webkit-transform: translate(85.3333333333cqw, -27.7777777778cqh);
            transform: translate(85.3333333333cqw, -27.7777777778cqh);
  }
}
/* 緑：出だしゆっくり→中盤速い→ゆっくり→早い→70%で到着→止まる */
@-webkit-keyframes top-mv-car-g-loop {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  /* 出だしゆっくり */
  15% {
    -webkit-transform: translate(5.3625cqw, -6.2517482517cqh);
            transform: translate(5.3625cqw, -6.2517482517cqh);
  }
  /* 中盤速い */
  50% {
    -webkit-transform: translate(64.35cqw, -75.020979021cqh);
            transform: translate(64.35cqw, -75.020979021cqh);
  }
  /* 中盤の後ゆっくり */
  57% {
    -webkit-transform: translate(69.7125cqw, -81.2727272727cqh);
            transform: translate(69.7125cqw, -81.2727272727cqh);
  }
  /* その後少し速く（2%で少しだけ進む→最後のゆっくりが自然） */
  59% {
    -webkit-transform: translate(75.075cqw, -87.5244755245cqh);
            transform: translate(75.075cqw, -87.5244755245cqh);
  }
  70% {
    -webkit-transform: translate(89.375cqw, -104.1958041958cqh);
            transform: translate(89.375cqw, -104.1958041958cqh);
  }
  100% {
    -webkit-transform: translate(89.375cqw, -104.1958041958cqh);
            transform: translate(89.375cqw, -104.1958041958cqh);
  }
}
@keyframes top-mv-car-g-loop {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  /* 出だしゆっくり */
  15% {
    -webkit-transform: translate(5.3625cqw, -6.2517482517cqh);
            transform: translate(5.3625cqw, -6.2517482517cqh);
  }
  /* 中盤速い */
  50% {
    -webkit-transform: translate(64.35cqw, -75.020979021cqh);
            transform: translate(64.35cqw, -75.020979021cqh);
  }
  /* 中盤の後ゆっくり */
  57% {
    -webkit-transform: translate(69.7125cqw, -81.2727272727cqh);
            transform: translate(69.7125cqw, -81.2727272727cqh);
  }
  /* その後少し速く（2%で少しだけ進む→最後のゆっくりが自然） */
  59% {
    -webkit-transform: translate(75.075cqw, -87.5244755245cqh);
            transform: translate(75.075cqw, -87.5244755245cqh);
  }
  70% {
    -webkit-transform: translate(89.375cqw, -104.1958041958cqh);
            transform: translate(89.375cqw, -104.1958041958cqh);
  }
  100% {
    -webkit-transform: translate(89.375cqw, -104.1958041958cqh);
            transform: translate(89.375cqw, -104.1958041958cqh);
  }
}
/* SP(375×756)：緑 (bottom 182, left -36) → (bottom 404, left 376)。70%で到着→100%まで止まる */
@-webkit-keyframes top-mv-car-g-loop-sp {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  70% {
    -webkit-transform: translate(112.5333333333cqw, -37.3015873016cqh);
            transform: translate(112.5333333333cqw, -37.3015873016cqh);
  }
  100% {
    -webkit-transform: translate(112.5333333333cqw, -37.3015873016cqh);
            transform: translate(112.5333333333cqw, -37.3015873016cqh);
  }
}
@keyframes top-mv-car-g-loop-sp {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  70% {
    -webkit-transform: translate(112.5333333333cqw, -37.3015873016cqh);
            transform: translate(112.5333333333cqw, -37.3015873016cqh);
  }
  100% {
    -webkit-transform: translate(112.5333333333cqw, -37.3015873016cqh);
            transform: translate(112.5333333333cqw, -37.3015873016cqh);
  }
}
/* 青（PC）：出だし速い→その後ゆっくり→70%で到着→止まる
   調整の目安：
   - 出だしの速さ → 15% の 0.35 を変更（大きく＝もっと速く進む）
   - ゆっくり始まるタイミング → 15% の % を小さくすると早く減速
   - ゆっくり区間の進み → 35% の 0.65 を変更（大きく＝ゆっくり区間で少し速め）
   - 到着タイミング → 70% を変更（小さく＝早く到着、大きく＝遅く到着）
*/
@-webkit-keyframes top-mv-car-b-loop {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  5% {
    -webkit-transform: translate(13.0729166667cqw, 15.2097902098cqh);
            transform: translate(13.0729166667cqw, 15.2097902098cqh);
  }
  35% {
    -webkit-transform: translate(56.6493055556cqw, 65.9090909091cqh);
            transform: translate(56.6493055556cqw, 65.9090909091cqh);
  }
  75% {
    -webkit-transform: translate(87.1527777778cqw, 101.3986013986cqh);
            transform: translate(87.1527777778cqw, 101.3986013986cqh);
  }
  100% {
    -webkit-transform: translate(87.1527777778cqw, 101.3986013986cqh);
            transform: translate(87.1527777778cqw, 101.3986013986cqh);
  }
}
@keyframes top-mv-car-b-loop {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  5% {
    -webkit-transform: translate(13.0729166667cqw, 15.2097902098cqh);
            transform: translate(13.0729166667cqw, 15.2097902098cqh);
  }
  35% {
    -webkit-transform: translate(56.6493055556cqw, 65.9090909091cqh);
            transform: translate(56.6493055556cqw, 65.9090909091cqh);
  }
  75% {
    -webkit-transform: translate(87.1527777778cqw, 101.3986013986cqh);
            transform: translate(87.1527777778cqw, 101.3986013986cqh);
  }
  100% {
    -webkit-transform: translate(87.1527777778cqw, 101.3986013986cqh);
            transform: translate(87.1527777778cqw, 101.3986013986cqh);
  }
}
/* SP(375×756)：青 (top 93, left -31) → (top 346, left 376)。70%で到着→100%まで止まる */
@-webkit-keyframes top-mv-car-b-loop-sp {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  70% {
    -webkit-transform: translate(108.5333333333cqw, 34.9206349206cqh);
            transform: translate(108.5333333333cqw, 34.9206349206cqh);
  }
  100% {
    -webkit-transform: translate(108.5333333333cqw, 34.9206349206cqh);
            transform: translate(108.5333333333cqw, 34.9206349206cqh);
  }
}
@keyframes top-mv-car-b-loop-sp {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  70% {
    -webkit-transform: translate(108.5333333333cqw, 34.9206349206cqh);
            transform: translate(108.5333333333cqw, 34.9206349206cqh);
  }
  100% {
    -webkit-transform: translate(108.5333333333cqw, 34.9206349206cqh);
            transform: translate(108.5333333333cqw, 34.9206349206cqh);
  }
}
/*###################################################################
  header（module）
###################################################################*/
.header {
  width: 100%;
  position: absolute;
  top: 0;
  z-index: 10;
  background-color: var(--base);
}
.header_sticky {
  position: fixed;
}
.header_sticky .header__inner {
  padding-top: 0;
  padding-bottom: 0;
}
.header_sticky .header__menu {
  padding: 5.5px 0;
}
.header__inner {
  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;
  padding: clamp(0.3125rem, -1.0983365949rem + 2.9354207436vw, 1.25rem) clamp(1.25rem, -2.1360078278rem + 7.0450097847vw, 3.5rem) clamp(0.5625rem, -0.4721135029rem + 2.1526418787vw, 1.25rem);
}
.header__logo {
  max-width: clamp(17.5rem, 8.0944227006rem + 19.5694716243vw, 23.75rem);
  width: 100%;
  position: relative;
}
@media (max-width: 768px) {
  .header__logo {
    max-width: 193px;
  }
}
.header__logo-link {
  display: inline-block;
}
.header__menu {
  max-width: 380px;
  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;
  position: relative;
  z-index: 30;
}
@media (max-width: 768px) {
  .header__menu {
    max-width: 50px;
  }
}
.header__tel {
  max-width: 200px;
  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;
  position: relative;
  z-index: 30;
  background-color: var(--main-l);
  color: var(--base);
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-size: 1.125rem;
  border-radius: 15px;
  padding: 0 19px;
}
@media (max-width: 768px) {
  .header__tel {
    display: none;
  }
}
.header__tel::before {
  content: "";
  min-width: 24px;
  aspect-ratio: 24/31;
  background: url(../images/icon-tel.svg) no-repeat center center/contain;
}
.header__line {
  position: relative;
  z-index: 30;
}
@media (max-width: 768px) {
  .header__line {
    display: none;
  }
}

@media (max-width: 768px) {
  .header-nav {
    display: none;
  }
}

@media (hover: hover) and (pointer: fine) {
  .header-nav__link {
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
  }
  .header-nav__link:hover, .header-nav__link:focus {
    opacity: 0.7;
  }
}
/*###################################################################
  footer（module）
###################################################################*/
.footer_top {
  margin-top: clamp(1.875rem, -0.5104961832rem + 10.1781170483vw, 4.375rem);
}
.footer_lower {
  margin-top: 100px;
}

.footer1__inner {
  max-width: 1124px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  position: relative;
  padding-top: 50px;
}
@media (max-width: 768px) {
  .footer1__inner {
    max-width: 600px;
    padding: 95px clamp(1.25rem, 0.6536259542rem + 2.5445292621vw, 1.875rem) 0;
  }
}
.footer1__inner::before, .footer1__inner::after {
  content: "";
  width: 100%;
  max-width: clamp(5.1875rem, 1.6937111801rem + 14.9068322981vw, 12.6875rem);
  aspect-ratio: 203/223;
  position: absolute;
  z-index: -1;
}
.footer1__inner::before {
  top: 14px;
  left: 66px;
  background: url(../images/footer-contact-deco-1.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/footer-contact-deco-1.webp) 1x, url(../images/footer-contact-deco-1@2x.webp) 2x);
  background-image: image-set(url(../images/footer-contact-deco-1.webp) 1x, url(../images/footer-contact-deco-1@2x.webp) 2x);
}
@media (max-width: 768px) {
  .footer1__inner::before {
    top: 0;
    left: 20px;
  }
}
.footer1__inner::after {
  top: 0;
  right: 30px;
  background: url(../images/footer-contact-deco-2.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/footer-contact-deco-2.webp) 1x, url(../images/footer-contact-deco-2@2x.webp) 2x);
  background-image: image-set(url(../images/footer-contact-deco-2.webp) 1x, url(../images/footer-contact-deco-2@2x.webp) 2x);
}
@media (max-width: 768px) {
  .footer1__inner::after {
    top: 111px;
    right: 22px;
  }
}
.footer1__body {
  max-width: 680px;
  margin-inline: auto;
}
.footer1__text {
  text-align: center;
  margin-top: 20px;
}
@media (max-width: 768px) {
  .footer1__text {
    text-align: left;
  }
}
.footer1__contact {
  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: 15px;
     -moz-column-gap: 15px;
          column-gap: 15px;
  margin-top: clamp(1.875rem, 0.1455152672rem + 7.3791348601vw, 3.6875rem);
}
@media (max-width: 768px) {
  .footer1__contact {
    -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(0.6875rem, 0.1507633588rem + 2.2900763359vw, 1.25rem);
  }
}
.footer1__link {
  max-width: 320px;
  width: 100%;
  height: clamp(4rem, 3.7018129771rem + 1.272264631vw, 4.3125rem);
  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;
  -webkit-column-gap: 10px;
     -moz-column-gap: 10px;
          column-gap: 10px;
  color: var(--base);
  font-size: clamp(1.25rem, 1.0114503817rem + 1.0178117048vw, 1.5rem);
}
.footer1__link::before {
  content: "";
  background-color: var(--base);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.footer1__link_tel {
  background-color: var(--main2);
}
.footer1__link_tel::before {
  min-width: 19px;
  aspect-ratio: 24/31;
  -webkit-mask-image: url(../images/icon-tel.svg);
          mask-image: url(../images/icon-tel.svg);
}
.footer1__link_mail {
  background-color: var(--main);
}
.footer1__link_mail::before {
  min-width: 28px;
  aspect-ratio: 28/21;
  -webkit-mask-image: url(../images/icon-mail.svg);
          mask-image: url(../images/icon-mail.svg);
}

@media (hover: hover) and (pointer: fine) {
  .footer1__link {
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  .footer1__link_tel:hover {
    background-color: var(--text);
  }
  .footer1__link_mail:hover, .footer1__link_mail:focus {
    background-color: var(--text);
  }
}
.footer2 {
  position: relative;
  z-index: 1;
}
.footer2_pos {
  margin-top: clamp(2.5rem, 0.025rem + 10.56vw, 6.625rem);
}
.footer2__inner {
  max-width: 1280px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
@media (max-width: 768px) {
  .footer2__inner {
    padding: 0 clamp(1.25rem, 0.6536259542rem + 2.5445292621vw, 1.875rem);
  }
}
.footer2__map {
  overflow: hidden;
  border-radius: 30px;
}
.footer2__gmap {
  width: 100%;
  height: clamp(30rem, 25.2290076336rem + 20.3562340967vw, 35rem);
}

.footer3 {
  overflow: hidden;
  position: relative;
  z-index: 0;
}
.footer3::before, .footer3::after {
  content: "";
  width: 100%;
  position: absolute;
}
.footer3::before {
  max-width: clamp(15.5625rem, 12.6355633803rem + 12.4882629108vw, 23.875rem);
  aspect-ratio: 382/145;
  bottom: 0;
  left: 0;
  background: url(../images/footer3-deco-2.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/footer3-deco-2.webp) 1x, url(../images/footer3-deco-2@2x.webp) 2x);
  background-image: image-set(url(../images/footer3-deco-2.webp) 1x, url(../images/footer3-deco-2@2x.webp) 2x);
}
@media (max-width: 768px) {
  .footer3::before {
    max-width: clamp(11.6875rem, 9.0038167939rem + 11.4503816794vw, 14.5rem);
    aspect-ratio: 187/174;
    background: url(../images/footer3-deco-2_sp.webp) no-repeat center center/cover;
    background-image: -webkit-image-set(url(../images/footer3-deco-2_sp.webp) 1x, url(../images/footer3-deco-2_sp@2x.webp) 2x);
    background-image: image-set(url(../images/footer3-deco-2_sp.webp) 1x, url(../images/footer3-deco-2_sp@2x.webp) 2x);
  }
}
.footer3::after {
  max-width: clamp(6.125rem, 5.0686619718rem + 4.5070422535vw, 9.125rem);
  aspect-ratio: 146/234;
  top: clamp(-0.25rem, -0.338028169rem + 0.3755868545vw, 0rem);
  left: clamp(-1.8125rem, -2.8688380282rem + 4.5070422535vw, 1.1875rem);
  background: url(../images/footer3-deco-1.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/footer3-deco-1.webp) 1x, url(../images/footer3-deco-1@2x.webp) 2x);
  background-image: image-set(url(../images/footer3-deco-1.webp) 1x, url(../images/footer3-deco-1@2x.webp) 2x);
}
.footer3_pos {
  margin-top: -56px;
}
.footer3__inner {
  max-width: 1120px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding: 156px 30px 30px;
  position: relative;
  z-index: 1;
}
@media (max-width: 1280px) {
  .footer3__inner {
    padding: clamp(6rem, 3.3214285714rem + 11.4285714286vw, 9.75rem) clamp(0.9375rem, 0.0429389313rem + 3.8167938931vw, 1.875rem) 30px;
  }
}
.footer3__body {
  max-width: 1079px;
  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: 15px;
     -moz-column-gap: 15px;
          column-gap: 15px;
}
@media (max-width: 768px) {
  .footer3__body {
    -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: 40px;
  }
}
.footer3__group {
  max-width: 421px;
  width: 100%;
}
@media (max-width: 768px) {
  .footer3__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;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.footer3__logo {
  display: block;
  max-width: clamp(15.625rem, -3.251510574rem + 39.2749244713vw, 23.75rem);
}
@media (max-width: 768px) {
  .footer3__logo {
    max-width: clamp(12.0625rem, 11.6450381679rem + 1.7811704835vw, 12.5rem);
  }
}
.footer3__address {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-column-gap: 13px;
     -moz-column-gap: 13px;
          column-gap: 13px;
  font-size: clamp(0.875rem, 0.7557251908rem + 0.5089058524vw, 1rem);
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.1em;
  white-space: pre-line;
  margin-top: 21px;
}
@media (max-width: 768px) {
  .footer3__address {
    margin-top: 29px;
  }
}
.footer3__address::before {
  content: "";
  min-width: 25px;
  aspect-ratio: 1/1;
  background: url(../images/icon-map.svg) no-repeat center center/cover;
  margin-top: -1px;
}
.footer3__br {
  display: none;
}
@media (max-width: 900px) {
  .footer3__br {
    display: block;
  }
}
@media (max-width: 768px) {
  .footer3__br {
    display: none;
  }
}
.footer3__nav {
  margin-top: 31px;
}
.footer3__copy {
  font-size: clamp(0.75rem, 0.6307251908rem + 0.5089058524vw, 0.875rem);
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  margin-top: 108px;
}
@media (max-width: 768px) {
  .footer3__copy {
    margin-top: 109px;
  }
}
.footer3__deco3 {
  max-width: clamp(17.8125rem, 14.3794014085rem + 14.6478873239vw, 27.5625rem);
  width: 100%;
  aspect-ratio: 441/377;
  position: absolute;
  bottom: 0;
  right: 0;
  background: url(../images/footer3-deco-3.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/footer3-deco-3.webp) 1x, url(../images/footer3-deco-3@2x.webp) 2x);
  background-image: image-set(url(../images/footer3-deco-3.webp) 1x, url(../images/footer3-deco-3@2x.webp) 2x);
}
@media (max-width: 768px) {
  .footer3__deco3 {
    max-width: clamp(10.125rem, 7.6798664122rem + 10.4325699746vw, 12.6875rem);
    aspect-ratio: 162/217;
    background: url(../images/footer3-deco-3_sp.webp) no-repeat center center/cover;
    background-image: -webkit-image-set(url(../images/footer3-deco-3_sp.webp) 1x, url(../images/footer3-deco-3_sp@2x.webp) 2x);
    background-image: image-set(url(../images/footer3-deco-3_sp.webp) 1x, url(../images/footer3-deco-3_sp@2x.webp) 2x);
  }
}

.footer-nav {
  max-width: clamp(18.375rem, -12.9890483384rem + 65.2567975831vw, 31.875rem);
  width: 100%;
  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: 40px;
}
@media (max-width: 768px) {
  .footer-nav {
    display: none;
  }
}
.footer-nav__items {
  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;
}
.footer-nav__items_2 {
  max-width: 412px;
}
.footer-nav__link {
  font-size: clamp(1rem, 0.709592145rem + 0.6042296073vw, 1.125rem);
  font-weight: 500;
  line-height: 1.2;
}

@media (hover: hover) and (pointer: fine) {
  .footer-nav__link {
    -webkit-transition: color 0.4s;
    transition: color 0.4s;
  }
  .footer-nav__link:hover, .footer-nav__link:focus {
    color: var(--accent);
  }
}
/*###################################################################
  c-blank（module）
###################################################################*/
.c-blank {
  height: clamp(5.25rem, 2.5997578241rem + 5.5141579732vw, 7.5625rem);
}
@media (max-width: 768px) {
  .c-blank {
    height: 64px;
  }
}

/*###################################################################
  c-margin（module）
###################################################################*/
.c-mt60 {
  margin-top: clamp(3.125rem, 2.5286259542rem + 2.5445292621vw, 3.75rem);
}

.c-mt40 {
  margin-top: clamp(1.875rem, 1.2786259542rem + 2.5445292621vw, 2.5rem);
}

.c-mt30 {
  margin-top: clamp(1.25rem, 0.6536259542rem + 2.5445292621vw, 1.875rem);
}

/*###################################################################
  c-text（module）
###################################################################*/
.c-t16 {
  font-size: clamp(0.875rem, 0.7557251908rem + 0.5089058524vw, 1rem);
  line-height: 2.4;
  white-space: pre-line;
}
@media (max-width: 768px) {
  .c-t16 {
    line-height: 2;
  }
}

.c-t16m {
  font-size: clamp(0.875rem, 0.7557251908rem + 0.5089058524vw, 1rem);
  font-weight: 500;
  line-height: 2.4;
  white-space: pre-line;
}
@media (max-width: 768px) {
  .c-t16m {
    line-height: 2;
  }
}

/*###################################################################
  c-title（module）
###################################################################*/
.c-title-1 {
  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: 20px;
}
@media (max-width: 768px) {
  .c-title-1 {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.c-title-1__jp {
  font-size: clamp(1.125rem, 0.7671755725rem + 1.5267175573vw, 1.5rem);
  line-height: 1.6;
}
.c-title-1__en {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-size: clamp(3rem, 2.0458015267rem + 4.0712468193vw, 4rem);
  line-height: 1.2;
}

.c-title-2 {
  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(0.625rem, 0.5214088398rem + 0.4419889503vw, 0.875rem);
  font-size: clamp(1.5rem, 1.1892265193rem + 1.3259668508vw, 2.25rem);
  line-height: 1.2;
}
.c-title-2::after {
  content: "";
  width: clamp(6.875rem, 6.3570441989rem + 2.2099447514vw, 8.125rem);
  aspect-ratio: 130/6;
  background: url(../images/icon-c-title-2.svg) no-repeat center center/contain;
}

/*###################################################################
  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: 768px) {
  .br-sp-b {
    display: block;
  }
}
.br-700-b {
  display: none;
}
@media (max-width: 700px) {
  .br-700-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;
  }
}
.br-400-b {
  display: none;
}
@media (max-width: 400px) {
  .br-400-b {
    display: block;
  }
}

/*###################################################################
  hamburger（module）
###################################################################*/
.hamburger {
  width: 70px;
  aspect-ratio: 1/1;
  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: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  position: relative;
  z-index: 30;
  background-color: var(--accent);
  color: var(--base);
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-size: 0.875rem;
  font-weight: 500;
  border-radius: 15px;
  padding-bottom: 10px;
}
@media (max-width: 768px) {
  .hamburger {
    min-width: 50px;
    width: 50px;
    font-size: 0.625rem;
    border-radius: 0.669375rem;
    padding-bottom: 8px;
  }
}
.hamburger[aria-expanded=true] .hamburger__line::before {
  width: 100%;
  -webkit-transform: translate(-50%, -7.5px) rotate(150deg);
      -ms-transform: translate(-50%, -7.5px) rotate(150deg);
          transform: translate(-50%, -7.5px) rotate(150deg);
}
@media (max-width: 768px) {
  .hamburger[aria-expanded=true] .hamburger__line::before {
    -webkit-transform: translate(-50%, -5px) rotate(150deg);
        -ms-transform: translate(-50%, -5px) rotate(150deg);
            transform: translate(-50%, -5px) rotate(150deg);
  }
}
.hamburger[aria-expanded=true] .hamburger__line::after {
  -webkit-transform: translateY(7.5px) rotate(-150deg);
      -ms-transform: translateY(7.5px) rotate(-150deg);
          transform: translateY(7.5px) rotate(-150deg);
}
@media (max-width: 768px) {
  .hamburger[aria-expanded=true] .hamburger__line::after {
    -webkit-transform: translateY(5px) rotate(-150deg);
        -ms-transform: translateY(5px) rotate(-150deg);
            transform: translateY(5px) rotate(-150deg);
  }
}
.hamburger__line {
  width: 40px;
  height: 3px;
  display: inline-block;
  position: absolute;
  top: calc(50% - 8.5px);
  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: transparent;
}
@media (max-width: 768px) {
  .hamburger__line {
    width: 1.785625rem;
    height: 0.13375rem;
    top: calc(50% - 6.5px);
  }
}
.hamburger__line::before {
  content: "";
  width: 75%;
  height: 3px;
  display: inline-block;
  position: absolute;
  top: 7.5px;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  -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 (max-width: 768px) {
  .hamburger__line::before {
    height: 0.13375rem;
    top: 5px;
  }
}
.hamburger__line::after {
  content: "";
  width: 100%;
  height: 3px;
  display: inline-block;
  position: absolute;
  bottom: 7.5px;
  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 (max-width: 768px) {
  .hamburger__line::after {
    height: 0.13375rem;
    bottom: 5px;
  }
}

@media (hover: hover) and (pointer: fine) {
  .hamburger {
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
  }
  .hamburger:hover {
    opacity: 0.7;
  }
}
/*###################################################################
  drawer（module）
###################################################################*/
.drawer {
  max-width: 720px;
  width: 100%;
  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-x: hidden;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  visibility: hidden;
  margin-top: clamp(5.25rem, 2.5997578241rem + 5.5141579732vw, 7.5625rem);
}
@media (max-width: 768px) {
  .drawer {
    margin-top: 54px;
  }
}
.drawer::before {
  content: "";
  max-width: 152px;
  width: 100%;
  position: absolute;
  aspect-ratio: 152/92;
  top: 37px;
  left: 40px;
  background: url(../images/drawer-deco-1.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/drawer-deco-1.webp) 1x, url(../images/drawer-deco-1@2x.webp) 2x);
  background-image: image-set(url(../images/drawer-deco-1.webp) 1x, url(../images/drawer-deco-1@2x.webp) 2x);
}
@media (max-width: 768px) {
  .drawer::before {
    max-width: 110px;
    top: 27px;
    left: -3px;
  }
}
.drawer[aria-hidden=false] {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  visibility: visible;
}
.drawer_sticky {
  margin-top: 81px;
}
@media (max-width: 768px) {
  .drawer_sticky {
    margin-top: 54px;
  }
}
.drawer_position {
  position: fixed;
  top: 0;
  right: 0;
}
.drawer__inner {
  max-width: 596px;
  position: relative;
  margin-inline: auto;
  padding: 0 20px 150px;
}
.drawer__inner::after {
  content: "";
  max-width: 106px;
  width: 100%;
  position: absolute;
  aspect-ratio: 106/116;
  bottom: -15px;
  right: -30px;
  background: url(../images/drawer-deco-2.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/drawer-deco-2.webp) 1x, url(../images/drawer-deco-2@2x.webp) 2x);
  background-image: image-set(url(../images/drawer-deco-2.webp) 1x, url(../images/drawer-deco-2@2x.webp) 2x);
}
@media (max-width: 768px) {
  .drawer__inner::after {
    content: none;
  }
}
.drawer__nav {
  max-width: 548px;
  border-bottom: 1px solid var(--text);
  padding-top: 190px;
  padding-bottom: 41px;
}
@media (max-width: 768px) {
  .drawer__nav {
    position: relative;
    padding-top: 132px;
    padding-bottom: 118px;
  }
}
@media (max-width: 768px) {
  .drawer__nav::after {
    content: "";
    max-width: 82px;
    width: 100%;
    position: absolute;
    aspect-ratio: 106/116;
    bottom: 28px;
    right: -28px;
    background: url(../images/drawer-deco-2.webp) no-repeat center center/cover;
    background-image: -webkit-image-set(url(../images/drawer-deco-2.webp) 1x, url(../images/drawer-deco-2@2x.webp) 2x);
    background-image: image-set(url(../images/drawer-deco-2.webp) 1x, url(../images/drawer-deco-2@2x.webp) 2x);
  }
}
.drawer__items {
  display: grid;
  grid-template-columns: 22% 23% 33% 1fr;
  row-gap: 60px;
}
@media (max-width: 768px) {
  .drawer__items {
    max-width: 288px;
    grid-template-columns: 1fr 42.7%;
    row-gap: 24px;
    margin-inline: auto;
  }
}
@media (max-width: 768px) {
  .drawer__item_1 {
    grid-area: 1/1/2/2;
  }
}
@media (max-width: 768px) {
  .drawer__item_2 {
    grid-area: 2/1/3/2;
  }
}
.drawer__item_3 {
  padding-left: 46px;
}
@media (max-width: 768px) {
  .drawer__item_3 {
    grid-area: 3/1/4/2;
    padding-left: 0;
  }
}
@media (max-width: 768px) {
  .drawer__item_4 {
    grid-area: 4/1/5/2;
  }
}
@media (max-width: 768px) {
  .drawer__item_5 {
    grid-area: 1/2/2/3;
  }
}
@media (max-width: 768px) {
  .drawer__item_6 {
    grid-area: 2/2/3/3;
  }
}
@media (max-width: 768px) {
  .drawer__item_7 {
    grid-area: 3/2/4/3;
  }
}
.drawer__link {
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
  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: 10px;
     -moz-column-gap: 10px;
          column-gap: 10px;
  font-size: 1.125rem;
}
@media (max-width: 768px) {
  .drawer__link {
    font-size: 1rem;
  }
}
.drawer__link_4 {
  margin-left: auto;
}
@media (max-width: 768px) {
  .drawer__link_4 {
    margin-left: inherit;
  }
}
.drawer__link_6 {
  margin-left: auto;
}
@media (max-width: 768px) {
  .drawer__link_6 {
    margin-left: inherit;
  }
}
.drawer__link_7 {
  margin-left: auto;
}
@media (max-width: 768px) {
  .drawer__link_7 {
    margin-left: inherit;
  }
}
.drawer__link::before {
  content: "";
  min-width: 16px;
  aspect-ratio: 16/18;
  -webkit-mask-image: url(../images/icon-drawer-link.svg);
          mask-image: url(../images/icon-drawer-link.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.drawer__link_g::before {
  background-color: var(--main2);
}
.drawer__link_p::before {
  background-color: var(--main-l);
}
.drawer__news {
  margin-top: 46px;
}
@media (max-width: 768px) {
  .drawer__news {
    max-width: 334px;
    margin-top: 18px;
    margin-inline: auto;
  }
}
@media (max-width: 768px) {
  .drawer__news-inner {
    max-width: 307px;
    margin-left: auto;
  }
}
.drawer__slider {
  position: relative;
}
.drawer__title {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-size: 1.5rem;
}
@media (max-width: 768px) {
  .drawer__title {
    font-size: 1.25rem;
  }
}
.drawer__slider {
  position: relative;
  margin-top: 15px;
}
@media (max-width: 768px) {
  .drawer__slider {
    margin-top: 14px;
  }
}
.drawer__post-link {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  font-size: 1rem;
  line-height: 1.6;
}
@media (max-width: 768px) {
  .drawer__post-link {
    font-size: 0.875rem;
  }
}
.drawer__post-title {
  margin-top: 6px;
}
@media (max-width: 768px) {
  .drawer__post-title {
    margin-top: 5px;
  }
}
.drawer__pagination {
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 15px;
     -moz-column-gap: 15px;
          column-gap: 15px;
  position: static;
  margin-top: 14px;
}
@media (max-width: 768px) {
  .drawer__pagination {
    margin-top: 20px;
  }
}
.drawer__pagination .swiper-pagination-bullet {
  width: 15px;
  height: 15px;
  opacity: 1;
  background-color: #d9d9d9;
  margin: 0 !important;
}
@media (max-width: 768px) {
  .drawer__pagination .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
  }
}
.drawer__pagination .swiper-pagination-bullet-active {
  background-color: var(--text);
}
.drawer__sp {
  display: none;
}
@media (max-width: 768px) {
  .drawer__sp {
    max-width: 280px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 20px;
       -moz-column-gap: 20px;
            column-gap: 20px;
    margin-top: 54px;
    margin-inline: auto;
  }
}
.drawer__tel {
  max-width: 200px;
  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;
  position: relative;
  z-index: 30;
  background-color: var(--main-l);
  color: var(--base);
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-size: 1.125rem;
  border-radius: 15px;
  padding: 0 19px;
}
.drawer__tel::before {
  content: "";
  min-width: 24px;
  aspect-ratio: 24/31;
  background: url(../images/icon-tel.svg) no-repeat center center/contain;
}
.drawer__line {
  position: relative;
  z-index: 30;
}

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

@media (hover: hover) and (pointer: fine) {
  .drawer__link {
    -webkit-transition: color 0.4s;
    transition: color 0.4s;
  }
  .drawer__link:hover, .drawer__link:focus {
    color: var(--accent);
  }
  .drawer__post-link {
    -webkit-transition: color 0.4s;
    transition: color 0.4s;
  }
  .drawer__post-link:hover, .drawer__post-link:focus {
    color: var(--accent);
  }
}
/*###################################################################
  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(10rem, 4.7183098592rem + 22.5352112676vw, 25rem);
  display: grid;
  place-items: center;
}
.lower-mv_feature, .lower-mv_news {
  background: url(../images/lower-mv-feature.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/lower-mv-feature.webp) 1x, url(../images/lower-mv-feature@2x.webp) 2x);
  background-image: image-set(url(../images/lower-mv-feature.webp) 1x, url(../images/lower-mv-feature@2x.webp) 2x);
}
.lower-mv_business, .lower-mv_404 {
  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_works {
  background: url(../images/lower-mv-works.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/lower-mv-works.webp) 1x, url(../images/lower-mv-works@2x.webp) 2x);
  background-image: image-set(url(../images/lower-mv-works.webp) 1x, url(../images/lower-mv-works@2x.webp) 2x);
}
.lower-mv_recruit {
  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_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_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 {
  max-width: clamp(13.125rem, 8.2174295775rem + 20.9389671362vw, 27.0625rem);
  width: 100%;
  aspect-ratio: 433/132;
  display: grid;
  place-items: center;
  color: var(--base);
  font-size: clamp(1.375rem, 0.8028169014rem + 2.441314554vw, 3rem);
  -webkit-mask-image: url(../images/icon-lower-mv-bg.svg);
          mask-image: url(../images/icon-lower-mv-bg.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.lower-mv__title_feature, .lower-mv__title_recruit, .lower-mv__title_news {
  background-color: var(--main-l);
}
.lower-mv__title_business, .lower-mv__title_company, .lower-mv__title_404 {
  background-color: var(--main2);
}
.lower-mv__title_works, .lower-mv__title_contact {
  background-color: var(--accent);
}

/*###################################################################
  WordPressテスト環境用設定
###################################################################*/
/*###################################################################
  top（page）
###################################################################*/
.top-c__title {
  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: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  row-gap: 20px;
}
.top-c__jp {
  font-size: clamp(1.125rem, 0.9696132597rem + 0.6629834254vw, 1.5rem);
  line-height: 1.6;
}
.top-c__en {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-size: clamp(3rem, 2.5856353591rem + 1.7679558011vw, 4rem);
  line-height: 1.2;
  white-space: pre-line;
}
.top-c__link {
  max-width: clamp(17.1875rem, 14.5038167939rem + 11.4503816794vw, 20rem);
  height: clamp(4.6875rem, 3.9614803625rem + 1.5105740181vw, 5rem);
  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;
  -webkit-column-gap: clamp(1.25rem, -1.6540785498rem + 6.0422960725vw, 2.5rem);
     -moz-column-gap: clamp(1.25rem, -1.6540785498rem + 6.0422960725vw, 2.5rem);
          column-gap: clamp(1.25rem, -1.6540785498rem + 6.0422960725vw, 2.5rem);
  color: var(--base);
  font-size: clamp(1.25rem, 0.5239803625rem + 1.5105740181vw, 1.5625rem);
  font-weight: 400;
  border-radius: 9999px;
}
@media (max-width: 768px) {
  .top-c__link {
    -webkit-column-gap: clamp(1.25rem, 0.0572519084rem + 5.0890585242vw, 2.5rem);
       -moz-column-gap: clamp(1.25rem, 0.0572519084rem + 5.0890585242vw, 2.5rem);
            column-gap: clamp(1.25rem, 0.0572519084rem + 5.0890585242vw, 2.5rem);
  }
}
.top-c__link_p {
  background-color: var(--main);
}
.top-c__link_g {
  background-color: var(--main2);
}
.top-c__link_b {
  background-color: var(--accent);
}
.top-c__arrow {
  min-width: clamp(2.1875rem, 1.4614803625rem + 1.5105740181vw, 2.5rem);
  aspect-ratio: 1/1;
  position: relative;
  background-color: var(--base);
  border-radius: 50%;
}
.top-c__arrow::after {
  content: "";
  width: clamp(1.125rem, 0.54418429rem + 1.2084592145vw, 1.375rem);
  aspect-ratio: 22/15;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-mask-image: url(../images/icon-arrow.svg);
          mask-image: url(../images/icon-arrow.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.top-c__arrow_p::after {
  background-color: var(--main);
}
.top-c__arrow_g::after {
  background-color: var(--main2);
}
.top-c__arrow_b::after {
  background-color: var(--accent);
}

@media (hover: hover) and (pointer: fine) {
  .top-c__link {
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  .top-c__link:hover, .top-c__link:focus {
    background-color: var(--text);
  }
  .top-c__link:hover .top-c__arrow::after, .top-c__link:focus .top-c__arrow::after {
    background-color: var(--text);
  }
}
.top-blank {
  height: clamp(5.25rem, 2.5997578241rem + 5.5141579732vw, 7.5625rem);
}
@media (max-width: 768px) {
  .top-blank {
    height: 64px;
  }
}

.top-mv {
  overflow: hidden;
  position: relative;
}
.top-mv__title-area {
  max-width: clamp(28.625rem, -2.3899962742rem + 64.5305514158vw, 55.6875rem);
  width: 100%;
  position: absolute;
  top: clamp(1.75rem, -0.1123323398rem + 3.8748137109vw, 3.375rem);
  right: clamp(3.8125rem, 0.0878353204rem + 7.7496274218vw, 7.0625rem);
  z-index: 4;
}
@media (max-width: 768px) {
  .top-mv__title-area {
    max-width: clamp(21.1875rem, 17.5496183206rem + 15.5216284987vw, 25rem);
    top: 50px;
    right: inherit;
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
.top-mv__bg {
  position: relative;
}
.top-mv__building {
  -webkit-clip-path: circle(0 at 50% 50%);
          clip-path: circle(0 at 50% 50%);
  -webkit-animation: mvBuilding 0.8s ease-in 1s forwards;
          animation: mvBuilding 0.8s ease-in 1s forwards;
  position: absolute;
  width: 100%;
  top: 0;
  z-index: 3;
}
.top-mv__cars {
  aspect-ratio: 1440/715;
  overflow: hidden;
  position: relative;
  container-type: size;
  container-name: top-mv-cars;
  z-index: 2;
}
@media (max-width: 768px) {
  .top-mv__cars {
    aspect-ratio: 375/656;
  }
}
.top-mv__car-r, .top-mv__car-w, .top-mv__car-g, .top-mv__car-b {
  width: 2.40625%;
  position: absolute;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
@media (max-width: 768px) {
  .top-mv__car-r, .top-mv__car-w, .top-mv__car-g, .top-mv__car-b {
    width: 9.24%;
  }
}
.top-mv__car-r {
  aspect-ratio: 101/78;
  top: 29.3706293706cqh;
  left: -4.1666666667cqw;
  background-image: url(../images/icon-car-r.svg);
  -webkit-animation: top-mv-car-r-loop 20s linear 2s infinite;
          animation: top-mv-car-r-loop 20s linear 2s infinite;
}
@media (max-width: 768px) {
  .top-mv__car-r {
    top: inherit;
    bottom: 31.0846560847cqh;
    left: -9.6cqw;
    -webkit-animation: top-mv-car-r-loop-sp 15s linear 2s infinite;
            animation: top-mv-car-r-loop-sp 15s linear 2s infinite;
  }
}
.top-mv {
  /* 白（SP 375×756）：(top 160, left -30) → keyframes `top-mv-car-w-loop-sp` */
}
.top-mv__car-w {
  aspect-ratio: 101/67;
  bottom: 32.8671328671cqh;
  left: -2.2222222222cqw;
  background-image: url(../images/icon-car-w.svg);
  -webkit-animation: top-mv-car-w-loop 28s linear 5s infinite;
          animation: top-mv-car-w-loop 28s linear 5s infinite;
}
@media (max-width: 768px) {
  .top-mv__car-w {
    top: 21.8253968254cqh;
    bottom: inherit;
    left: -9.3333333333cqw;
    -webkit-animation: top-mv-car-w-loop-sp 16s linear 5s infinite;
            animation: top-mv-car-w-loop-sp 16s linear 5s infinite;
  }
}
.top-mv {
  /* 緑（SP 375×756）：(bottom 187, left -36) → (bottom 404, left 376) */
}
.top-mv__car-g {
  aspect-ratio: 102/79;
  bottom: -4.1958041958cqh;
  left: 5.2777777778cqw;
  background-image: url(../images/icon-car-g.svg);
  -webkit-animation: top-mv-car-g-loop 24s linear 2s infinite;
          animation: top-mv-car-g-loop 24s linear 2s infinite;
}
@media (max-width: 768px) {
  .top-mv__car-g {
    bottom: 24.7354497354cqh;
    left: -9.6cqw;
    -webkit-animation: top-mv-car-g-loop-sp 12s linear 4s infinite;
            animation: top-mv-car-g-loop-sp 12s linear 4s infinite;
  }
}
.top-mv {
  /* 青（SP 375×756）：(top 93, left -31) → (top 346, left 376) */
}
.top-mv__car-b {
  aspect-ratio: 101/71;
  top: -3.6363636364cqh;
  left: 5.9027777778cqw;
  background-image: url(../images/icon-car-b.svg);
  -webkit-animation: top-mv-car-b-loop 21s linear 3s infinite;
          animation: top-mv-car-b-loop 21s linear 3s infinite;
}
@media (max-width: 768px) {
  .top-mv__car-b {
    top: 16.2698412698cqh;
    left: -9.8666666667cqw;
    -webkit-animation: top-mv-car-b-loop-sp 17s linear 3s infinite;
            animation: top-mv-car-b-loop-sp 17s linear 3s infinite;
  }
}
.top-mv__base {
  width: 100%;
  position: absolute;
  top: 0;
  z-index: 0;
}

.top-news {
  max-width: clamp(23.4375rem, 19.7693248532rem + 7.6320939335vw, 25.875rem);
  width: 100%;
  height: clamp(12.125rem, 10.2438845401rem + 3.9138943249vw, 13.375rem);
  position: absolute;
  bottom: 0;
  bottom: -1px;
  left: 0;
  z-index: 4;
  background: url(../images/top-news-bg.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/top-news-bg.webp) 1x, url(../images/top-news-bg@2x.webp) 2x);
  background-image: image-set(url(../images/top-news-bg.webp) 1x, url(../images/top-news-bg@2x.webp) 2x);
}
@media (max-width: 768px) {
  .top-news {
    max-width: 100%;
    height: clamp(10.75rem, 9.4379770992rem + 5.5979643766vw, 12.125rem);
    background: url(../images/top-news-bg_sp.webp) no-repeat top center/cover;
    background-image: -webkit-image-set(url(../images/top-news-bg_sp.webp) 1x, url(../images/top-news-bg_sp@2x.webp) 2x);
    background-image: image-set(url(../images/top-news-bg_sp.webp) 1x, url(../images/top-news-bg_sp@2x.webp) 2x);
  }
}
.top-news__inner {
  max-width: 348px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 20px;
  padding-left: 20px;
  padding-top: clamp(2.625rem, 1.4022749511rem + 2.5440313112vw, 3.4375rem);
}
@media (max-width: 768px) {
  .top-news__inner {
    max-width: clamp(21rem, 20.284351145rem + 3.0534351145vw, 21.75rem);
    padding: clamp(1.625rem, -0.1044847328rem + 7.3791348601vw, 3.4375rem) clamp(0.9375rem, 0.6393129771rem + 1.272264631vw, 1.25rem) 0;
  }
}
.top-news__body {
  max-width: 348px;
}
.top-news__title {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-size: clamp(1.25rem, 0.873776908rem + 0.782778865vw, 1.5rem);
}
.top-news__slider {
  position: relative;
  margin-top: clamp(0.875rem, 0.8153625954rem + 0.2544529262vw, 0.9375rem);
}
.top-news__post-link {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  font-size: clamp(0.875rem, 0.686888454rem + 0.3913894325vw, 1rem);
  line-height: 1.6;
}
.top-news__post-title {
  margin-top: clamp(0.3125rem, 0.2528625954rem + 0.2544529262vw, 0.375rem);
}
.top-news__pagination {
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 15px;
     -moz-column-gap: 15px;
          column-gap: 15px;
  position: static;
  margin-top: 14px;
}
@media (max-width: 768px) {
  .top-news__pagination {
    margin-top: 19px;
  }
}
.top-news__pagination .swiper-pagination-bullet {
  width: clamp(0.625rem, 0.248776908rem + 0.782778865vw, 0.875rem);
  height: clamp(0.625rem, 0.248776908rem + 0.782778865vw, 0.875rem);
  opacity: 1;
  background-color: #d9d9d9;
  margin: 0 !important;
}
.top-news__pagination .swiper-pagination-bullet-active {
  background-color: var(--text);
}

@media (hover: hover) and (pointer: fine) {
  .top-news__post-link {
    -webkit-transition: color 0.4s;
    transition: color 0.4s;
  }
  .top-news__post-link:hover, .top-news__post-link:focus {
    color: var(--accent);
  }
}
.top-about {
  overflow: hidden;
}
.top-about__outer {
  max-width: 1440px;
  position: relative;
  margin-inline: auto;
}
.top-about__outer::before, .top-about__outer::after {
  content: "";
  width: 100%;
  position: absolute;
}
.top-about__outer::before {
  max-width: 189px;
  aspect-ratio: 189/115;
  top: 426px;
  left: clamp(-2.75rem, -3.5422535211rem + 3.3802816901vw, -0.5rem);
  background: url(../images/top-about-deco-1.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/top-about-deco-1.webp) 1x, url(../images/top-about-deco-1@2x.webp) 2x);
  background-image: image-set(url(../images/top-about-deco-1.webp) 1x, url(../images/top-about-deco-1@2x.webp) 2x);
}
@media (max-width: 768px) {
  .top-about__outer::before {
    top: inherit;
    bottom: 594px;
  }
}
.top-about__outer::after {
  max-width: clamp(18.5625rem, 15.8776408451rem + 11.455399061vw, 26.1875rem);
  aspect-ratio: 419/460;
  top: calc(clamp(-1.375rem, -1.8811619718rem + 2.1596244131vw, 0.0625rem) * -1);
  right: clamp(-2.8125rem, -3.0985915493rem + 1.220657277vw, -2rem);
  background: url(../images/top-about-deco-2.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/top-about-deco-2.webp) 1x, url(../images/top-about-deco-2@2x.webp) 2x);
  background-image: image-set(url(../images/top-about-deco-2.webp) 1x, url(../images/top-about-deco-2@2x.webp) 2x);
}
.top-about__inner {
  max-width: 1280px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  position: relative;
  z-index: 1;
  padding-top: clamp(2.5rem, -0.0862068966rem + 11.0344827586vw, 7.5rem);
}
@media (max-width: 768px) {
  .top-about__inner {
    padding: clamp(2.5rem, -0.0862068966rem + 11.0344827586vw, 7.5rem) clamp(1.25rem, 0.6536259542rem + 2.5445292621vw, 1.875rem) 0;
  }
}
.top-about__body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: clamp(1.3125rem, 0.6982758621rem + 2.6206896552vw, 2.5rem) 15px;
}
@media (max-width: 768px) {
  .top-about__body {
    -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;
  }
}
.top-about__box {
  max-width: 480px;
  width: 100%;
}
.top-about__text {
  margin-top: 20px;
}
@media (max-width: 768px) {
  .top-about__text {
    line-height: 2.4;
    margin-top: 21px;
  }
}
.top-about__images {
  max-width: 740px;
  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;
  gap: 20px;
  margin-top: 20px;
}
@media (max-width: 768px) {
  .top-about__images {
    max-width: 360px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 0;
  }
}
.top-about__img {
  max-width: 360px;
  width: 100%;
}
.top-about__items {
  max-width: 1040px;
  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: 15px;
     -moz-column-gap: 15px;
          column-gap: 15px;
  margin-top: clamp(1.875rem, -0.0333969466rem + 8.1424936387vw, 3.875rem);
  margin-left: auto;
}
@media (max-width: 768px) {
  .top-about__items {
    -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;
  }
}
.top-about__item {
  max-width: clamp(17.1875rem, 14.5038167939rem + 11.4503816794vw, 20rem);
  width: 100%;
}

.top-business {
  overflow: hidden;
}
.top-business_pos {
  margin-top: clamp(1.1875rem, 0.6507633588rem + 2.2900763359vw, 1.75rem);
}
.top-business__outer {
  max-width: 1440px;
  position: relative;
  margin-inline: auto;
}
.top-business__outer::before, .top-business__outer::after {
  content: "";
  width: 100%;
  position: absolute;
}
.top-business__outer::before {
  max-width: clamp(20.3125rem, 17.5836267606rem + 11.6431924883vw, 28.0625rem);
  aspect-ratio: 449/473;
  top: 0;
  left: 115px;
  background: url(../images/top-business-deco-1.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/top-business-deco-1.webp) 1x, url(../images/top-business-deco-1@2x.webp) 2x);
  background-image: image-set(url(../images/top-business-deco-1.webp) 1x, url(../images/top-business-deco-1@2x.webp) 2x);
}
@media (max-width: 768px) {
  .top-business__outer::before {
    top: 1px;
    right: -30px;
    left: inherit;
  }
}
.top-business__outer::after {
  max-width: clamp(22.4375rem, 20.3248239437rem + 9.014084507vw, 28.4375rem);
  aspect-ratio: 455/500;
  top: 64px;
  right: clamp(-5.875rem, -6.7332746479rem + 3.661971831vw, -3.4375rem);
  background: url(../images/top-business-deco-2.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/top-business-deco-2.webp) 1x, url(../images/top-business-deco-2@2x.webp) 2x);
  background-image: image-set(url(../images/top-business-deco-2.webp) 1x, url(../images/top-business-deco-2@2x.webp) 2x);
}
@media (max-width: 768px) {
  .top-business__outer::after {
    top: 654px;
  }
}
.top-business__inner {
  max-width: 1280px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  position: relative;
  z-index: 1;
  padding-top: clamp(1.375rem, -0.8879310345rem + 9.6551724138vw, 5.75rem);
}
@media (max-width: 768px) {
  .top-business__inner {
    padding: clamp(1.25rem, -1.0775862069rem + 9.9310344828vw, 5.75rem) clamp(1.25rem, 0.6536259542rem + 2.5445292621vw, 1.875rem) 0;
  }
}
.top-business__body {
  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;
  gap: clamp(1.375rem, 0.7931034483rem + 2.4827586207vw, 2.5rem) 15px;
}
@media (max-width: 768px) {
  .top-business__body {
    -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;
  }
}
.top-business__box {
  max-width: 320px;
  width: 100%;
  margin-top: 6px;
}
@media (max-width: 768px) {
  .top-business__box {
    max-width: 480px;
    margin-top: 0;
  }
}
.top-business__text {
  margin-top: 20px;
}
@media (max-width: 768px) {
  .top-business__text {
    line-height: 2.4;
    margin-top: 21px;
  }
}
.top-business__images {
  max-width: 740px;
  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;
  gap: 20px;
}
@media (max-width: 768px) {
  .top-business__images {
    max-width: 360px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.top-business__img {
  max-width: 360px;
  width: 100%;
}
.top-business__items {
  max-width: 1040px;
  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: 15px;
     -moz-column-gap: 15px;
          column-gap: 15px;
  margin-top: clamp(1.875rem, -0.6297709924rem + 10.6870229008vw, 4.5rem);
}
@media (max-width: 768px) {
  .top-business__items {
    -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;
  }
}
.top-business__item {
  max-width: clamp(17.1875rem, 14.5038167939rem + 11.4503816794vw, 20rem);
  width: 100%;
}

.top-recruit_pos {
  margin-top: clamp(2.4375rem, 1.0062022901rem + 6.106870229vw, 3.9375rem);
}
.top-recruit__outer {
  max-width: 1340px;
  position: relative;
  margin-inline: auto;
}
.top-recruit__outer::before, .top-recruit__outer::after {
  content: "";
  max-width: clamp(6.875rem, 1.5933098592rem + 22.5352112676vw, 21.875rem);
  width: 100%;
  aspect-ratio: 350/212;
  position: absolute;
}
.top-recruit__outer::before {
  top: 8px;
  left: 14px;
  background: url(../images/top-recruit-deco-1.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/top-recruit-deco-1.webp) 1x, url(../images/top-recruit-deco-1@2x.webp) 2x);
  background-image: image-set(url(../images/top-recruit-deco-1.webp) 1x, url(../images/top-recruit-deco-1@2x.webp) 2x);
}
@media (max-width: 768px) {
  .top-recruit__outer::before {
    top: 1px;
    left: 20px;
  }
}
.top-recruit__outer::after {
  top: 0;
  right: 0;
  background: url(../images/top-recruit-deco-2.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/top-recruit-deco-2.webp) 1x, url(../images/top-recruit-deco-2@2x.webp) 2x);
  background-image: image-set(url(../images/top-recruit-deco-2.webp) 1x, url(../images/top-recruit-deco-2@2x.webp) 2x);
}
@media (max-width: 768px) {
  .top-recruit__outer::after {
    top: 116px;
    right: 32px;
  }
}
.top-recruit__inner {
  max-width: 1160px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  position: relative;
  z-index: 1;
  padding-top: 57px;
}
@media (max-width: 768px) {
  .top-recruit__inner {
    max-width: 600px;
    padding: 79px clamp(1.25rem, 0.6536259542rem + 2.5445292621vw, 1.875rem) 0;
  }
}
.top-recruit__text {
  max-width: 752px;
  margin-top: 20px;
  margin-inline: auto;
}
.top-recruit__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: clamp(0.625rem, -0.4153138528rem + 2.1645021645vw, 0.9375rem);
     -moz-column-gap: clamp(0.625rem, -0.4153138528rem + 2.1645021645vw, 0.9375rem);
          column-gap: clamp(0.625rem, -0.4153138528rem + 2.1645021645vw, 0.9375rem);
  -webkit-transform: translateX(clamp(0rem, -0.6394124169rem + 1.3303769401vw, 0.375rem));
      -ms-transform: translateX(clamp(0rem, -0.6394124169rem + 1.3303769401vw, 0.375rem));
          transform: translateX(clamp(0rem, -0.6394124169rem + 1.3303769401vw, 0.375rem));
  margin-top: clamp(1.25rem, -1.0758587786rem + 9.9236641221vw, 3.6875rem);
}
@media (max-width: 768px) {
  .top-recruit__items {
    -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;
  }
}
.top-recruit__item {
  max-width: 360px;
  width: 100%;
}

/*###################################################################
  feature（page）
###################################################################*/
.feature1__bg {
  max-width: 1440px;
  min-height: 733px;
  background: url(../images/feature1-bg.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/feature1-bg.webp) 1x, url(../images/feature1-bg@2x.webp) 2x);
  background-image: image-set(url(../images/feature1-bg.webp) 1x, url(../images/feature1-bg@2x.webp) 2x);
  margin-inline: auto;
}
@media (max-width: 600px) {
  .feature1__bg {
    background: url(../images/feature1-bg_sp.webp) no-repeat center center/cover;
    background-image: -webkit-image-set(url(../images/feature1-bg_sp.webp) 1x, url(../images/feature1-bg_sp@2x.webp) 2x);
    background-image: image-set(url(../images/feature1-bg_sp.webp) 1x, url(../images/feature1-bg_sp@2x.webp) 2x);
  }
}
.feature1__inner {
  max-width: 1196px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding: 4px 30px 8px;
  position: relative;
  z-index: 1;
}
@media (max-width: 1280px) {
  .feature1__inner {
    padding: 4px clamp(0.9375rem, 0.0429389313rem + 3.8167938931vw, 1.875rem) 8px;
  }
}
.feature1__body {
  max-width: 1141px;
}
.feature1__title-box {
  max-width: clamp(17.875rem, 8.2375rem + 41.12vw, 33.9375rem);
  aspect-ratio: 543/257;
  position: relative;
  z-index: 1;
  background: url(../images/feature1-title.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/feature1-title.webp) 1x, url(../images/feature1-title@2x.webp) 2x);
  background-image: image-set(url(../images/feature1-title.webp) 1x, url(../images/feature1-title@2x.webp) 2x);
  padding: clamp(1.875rem, 1.35rem + 2.24vw, 2.75rem) 30px 0;
}
.feature1__title-box-inner {
  max-width: 468px;
  margin-inline: auto;
}
.feature1__title {
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
  font-size: clamp(1.375rem, 0.4rem + 4.16vw, 3rem);
  line-height: 1.6;
  white-space: pre-line;
  margin-left: auto;
}
.feature1__text-box {
  max-width: 754px;
  aspect-ratio: 754/646;
  background: url(../images/feature1-text.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/feature1-text.webp) 1x, url(../images/feature1-text@2x.webp) 2x);
  background-image: image-set(url(../images/feature1-text.webp) 1x, url(../images/feature1-text@2x.webp) 2x);
  margin-top: calc(clamp(3.5rem, -8.3618421053rem + 31.5789473684vw, 11.375rem) * -1);
  margin-left: auto;
  padding: clamp(8.8125rem, 1.7518796992rem + 18.7969924812vw, 13.5rem) clamp(1.875rem, 0.9335839599rem + 2.5062656642vw, 2.5rem) 0;
}
@media (max-width: 600px) {
  .feature1__text-box {
    max-width: 450px;
    aspect-ratio: 600/796;
    background: url(../images/feature1-text_sp.webp) no-repeat center center/cover;
    background-image: -webkit-image-set(url(../images/feature1-text_sp.webp) 1x, url(../images/feature1-text_sp@2x.webp) 2x);
    background-image: image-set(url(../images/feature1-text_sp.webp) 1x, url(../images/feature1-text_sp@2x.webp) 2x);
    margin-top: calc(clamp(1.5625rem, -1.6666666667rem + 13.7777777778vw, 3.5rem) * -1);
    padding: clamp(4.5625rem, -4.6041666667rem + 39.1111111111vw, 10.0625rem) calc(clamp(-3.125rem, -9.4507575758rem + 20.202020202vw, -1.875rem) * -1) 0;
  }
}
@media (max-width: 500px) {
  .feature1__text-box {
    padding: clamp(4.5625rem, -4.6041666667rem + 39.1111111111vw, 10.0625rem) clamp(1.875rem, -1.875rem + 16vw, 3.125rem) 0;
  }
}
.feature1__text-box-inner {
  max-width: 530px;
  margin-inline: auto;
}
.feature1__text {
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
  color: var(--base);
  font-size: clamp(0.9375rem, 0.825rem + 0.48vw, 1.125rem);
  line-height: 2.4;
  white-space: pre-line;
  margin-left: auto;
}
@media (max-width: 600px) {
  .feature1__text {
    font-size: clamp(0.8125rem, 0.5rem + 1.3333333333vw, 1rem);
    line-height: 2;
  }
}

.feature2_pos {
  margin-top: clamp(0rem, -4.2938931298rem + 18.320610687vw, 4.5rem);
}
.feature2__inner {
  max-width: 1120px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
@media (max-width: 768px) {
  .feature2__inner {
    padding: 0 clamp(0.9375rem, 0.0429389313rem + 3.8167938931vw, 1.875rem);
  }
}
.feature2__body.is-scrollable {
  cursor: -webkit-grab;
  cursor: grab;
}
.feature2__body.is-scrollable:active {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}
.feature2__table-wrapper {
  min-width: 630px;
}
.feature2__table {
  width: 100%;
}
.feature2__top {
  height: clamp(3.625rem, 1.5177855711rem + 4.8096192385vw, 5.125rem);
  font-size: clamp(1.25rem, -0.1548096192rem + 3.2064128257vw, 2.25rem);
  vertical-align: middle;
  border-bottom: 2px solid var(--base);
}
.feature2__text-top {
  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: clamp(0.3125rem, -0.126503006rem + 1.002004008vw, 0.625rem);
     -moz-column-gap: clamp(0.3125rem, -0.126503006rem + 1.002004008vw, 0.625rem);
          column-gap: clamp(0.3125rem, -0.126503006rem + 1.002004008vw, 0.625rem);
}
.feature2__text-top::before {
  content: "";
  min-width: clamp(1.5625rem, 0.245490982rem + 3.006012024vw, 2.5rem);
  aspect-ratio: 1/1;
  background: url(../images/icon-double-circle.svg) no-repeat center center/contain;
}
.feature2__left {
  width: 25%;
  background-color: var(--main-l);
  font-size: clamp(1.25rem, -0.1548096192rem + 3.2064128257vw, 2.25rem);
  text-align: center;
  vertical-align: middle;
}
@media (max-width: 768px) {
  .feature2__left {
    width: 20%;
  }
}
.feature2__left_flow {
  border-bottom: 2px solid var(--base);
}
.feature2__center {
  width: 37.5%;
  background-color: var(--main2);
  color: var(--base);
}
.feature2__right {
  width: 37.5%;
  background-color: #bcbcbc;
  color: var(--base);
}
.feature2__flow {
  border-bottom: 2px solid var(--base);
}
.feature2__td {
  padding: clamp(1.25rem, -0.506012024rem + 4.0080160321vw, 2.5rem) 0 clamp(1.5625rem, 0.245490982rem + 3.006012024vw, 2.5rem);
}
.feature2__area {
  height: clamp(16.9375rem, 13.8629385965rem + 7.0175438596vw, 18.6875rem);
}
.feature2__cell-inner {
  padding: 0 clamp(0.625rem, -2.0090180361rem + 6.0120240481vw, 2.5rem);
}
.feature2__text1 {
  font-size: clamp(1.125rem, 0.246993988rem + 2.004008016vw, 1.75rem);
}
.feature2__text1_1 {
  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: clamp(0.3125rem, -0.126503006rem + 1.002004008vw, 0.625rem);
     -moz-column-gap: clamp(0.3125rem, -0.126503006rem + 1.002004008vw, 0.625rem);
          column-gap: clamp(0.3125rem, -0.126503006rem + 1.002004008vw, 0.625rem);
}
.feature2__text1_1::before {
  content: "";
  min-width: clamp(1.5625rem, 0.245490982rem + 3.006012024vw, 2.5rem);
  aspect-ratio: 1/1;
  background: url(../images/icon-double-circle.svg) no-repeat center center/contain;
}
.feature2__text2 {
  font-size: clamp(0.9375rem, 0.8496993988rem + 0.2004008016vw, 1rem);
  line-height: 2;
  margin-top: 20px;
}

/*###################################################################
  business（page）
###################################################################*/
.business1__inner {
  max-width: 1120px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
@media (max-width: 768px) {
  .business1__inner {
    max-width: 600px;
    padding: 0 clamp(0.9375rem, 0.0429389313rem + 3.8167938931vw, 1.875rem);
  }
}
.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: 40px;
}
.business1__item {
  background-color: var(--main-l2);
  border-radius: clamp(1.5625rem, 0.6679389313rem + 3.8167938931vw, 2.5rem);
  padding: clamp(1.875rem, 0.0858778626rem + 7.6335877863vw, 3.75rem) 20px;
}
.business1__item-inner {
  max-width: 920px;
  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;
  gap: clamp(1.25rem, 0.6536259542rem + 2.5445292621vw, 1.875rem) 15px;
  margin-inline: auto;
}
@media (max-width: 768px) {
  .business1__item-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.business1__box {
  max-width: 480px;
  width: 100%;
}
.business1__item-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;
  row-gap: clamp(0.75rem, 0.5625rem + 0.8vw, 1.0625rem);
  font-size: clamp(1.375rem, 1.15rem + 0.96vw, 1.75rem);
  font-weight: 500;
  line-height: 1.2;
}
.business1__item-title::after {
  content: "";
  width: clamp(3rem, 2.55rem + 1.92vw, 3.75rem);
  height: 2px;
  background-color: var(--text);
}
.business1__img {
  max-width: 400px;
  width: 100%;
}

/*###################################################################
  works（page）
###################################################################*/
.works1__inner {
  max-width: 1120px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
@media (max-width: 768px) {
  .works1__inner {
    padding: 0 clamp(0.9375rem, 0.0429389313rem + 3.8167938931vw, 1.875rem);
  }
}
.works1__items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1.875rem, 1.2786259542rem + 2.5445292621vw, 2.5rem) clamp(0.625rem, -3.8355568445rem + 9.2807424594vw, 3.125rem);
}
@media (max-width: 768px) {
  .works1__items {
    grid-template-columns: repeat(2, 1fr);
    -webkit-column-gap: clamp(0.625rem, 0.0286259542rem + 2.5445292621vw, 1.25rem);
       -moz-column-gap: clamp(0.625rem, 0.0286259542rem + 2.5445292621vw, 1.25rem);
            column-gap: clamp(0.625rem, 0.0286259542rem + 2.5445292621vw, 1.25rem);
  }
}
.works1__item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 0;
}
.works1__thumbnail {
  overflow: hidden;
  border-radius: clamp(0.75rem, 0.2729007634rem + 2.0356234097vw, 1.25rem);
}
.works1__link img {
  height: 100%;
  aspect-ratio: 17/12;
  -o-object-fit: cover;
     object-fit: cover;
}
.works1__post-title {
  min-height: clamp(2.5rem, 1.9632633588rem + 2.2900763359vw, 3.0625rem);
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  background-color: var(--main2);
  color: var(--base);
  font-size: clamp(0.9375rem, 0.3799303944rem + 1.1600928074vw, 1.25rem);
  line-height: 1.6;
  text-align: center;
  margin-top: 10px;
  border-radius: 9999px;
  padding: 7px 15px;
}
@media (max-width: 768px) {
  .works1__post-title {
    font-size: clamp(0.75rem, 0.5114503817rem + 1.0178117048vw, 1rem);
  }
}
.works1__pagination {
  font-size: 1.25rem;
  margin-top: 150px;
}
@media (max-width: 768px) {
  .works1__pagination {
    margin-top: 80px;
  }
}
.works1__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;
}
.works1__pagination ul.page-numbers li {
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
}
.works1__pagination ul.page-numbers li .page-numbers {
  --spacing: 0;
}
.works1__pagination .page-numbers.current {
  color: var(--main);
}

@media (hover: hover) and (pointer: fine) {
  .works1__link:hover img, .works1__link:focus img {
    -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
            transform: scale(1.1);
  }
  .works1__link img {
    -webkit-transition: -webkit-transform ease 0.4s;
    transition: -webkit-transform ease 0.4s;
    transition: transform ease 0.4s;
    transition: transform ease 0.4s, -webkit-transform ease 0.4s;
  }
}
/*###################################################################
  recruit（page）
###################################################################*/
.recruit1__inner {
  max-width: 1120px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
@media (max-width: 768px) {
  .recruit1__inner {
    padding: 0 clamp(0.9375rem, 0.0429389313rem + 3.8167938931vw, 1.875rem);
  }
}
.recruit1__body {
  background-color: var(--main2);
  border-radius: clamp(1.5625rem, 0.6679389313rem + 3.8167938931vw, 2.5rem);
  padding: clamp(1.875rem, 0.0858778626rem + 7.6335877863vw, 3.75rem) 20px;
}
.recruit1__body-inner {
  max-width: 762px;
  margin-inline: auto;
}
.recruit1__text {
  max-width: 741px;
  color: var(--base);
  margin-left: auto;
}
.recruit1__box {
  max-width: 720px;
  background-color: var(--base);
  border-radius: 20px;
  margin-top: clamp(1.75rem, 1.2132633588rem + 2.2900763359vw, 2.3125rem);
  margin-inline: auto;
  padding: 20px 15px;
}
.recruit1__items {
  max-width: 600px;
  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: 9.6px;
  margin-inline: auto;
}
.recruit1__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-column-gap: clamp(0.4375rem, 0.2585877863rem + 0.7633587786vw, 0.625rem);
     -moz-column-gap: clamp(0.4375rem, 0.2585877863rem + 0.7633587786vw, 0.625rem);
          column-gap: clamp(0.4375rem, 0.2585877863rem + 0.7633587786vw, 0.625rem);
  color: var(--main2);
  font-size: clamp(0.875rem, 0.7557251908rem + 0.5089058524vw, 1rem);
  line-height: 1.2;
}
.recruit1__item::before {
  content: "";
  min-width: clamp(0.875rem, 0.7557251908rem + 0.5089058524vw, 1rem);
  aspect-ratio: 1/1;
  background-color: var(--main2);
  border-radius: 50%;
  margin-top: clamp(0.125rem, 0.0653625954rem + 0.2544529262vw, 0.1875rem);
}

.recruit2__inner {
  max-width: 1120px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
@media (max-width: 768px) {
  .recruit2__inner {
    padding: 0 clamp(0.9375rem, 0.0429389313rem + 3.8167938931vw, 1.875rem);
  }
}
.recruit2__body {
  background-color: var(--main-l2);
  border-radius: clamp(1.5625rem, 0.6679389313rem + 3.8167938931vw, 2.5rem);
  padding: clamp(1.875rem, 0.0858778626rem + 7.6335877863vw, 3.75rem) clamp(0.9375rem, 0.6393129771rem + 1.272264631vw, 1.25rem);
}
.recruit2__body-inner {
  max-width: 900px;
  margin-inline: auto;
}
.recruit2__dl {
  display: grid;
  grid-template-columns: clamp(6.1875rem, 0.9rem + 22.56vw, 15rem) 1fr;
  -webkit-column-gap: clamp(0.3125rem, -0.25rem + 2.4vw, 1.25rem);
     -moz-column-gap: clamp(0.3125rem, -0.25rem + 2.4vw, 1.25rem);
          column-gap: clamp(0.3125rem, -0.25rem + 2.4vw, 1.25rem);
  font-size: clamp(0.875rem, 0.8rem + 0.32vw, 1rem);
  line-height: 1.8;
}
.recruit2__dt {
  display: grid;
  place-items: center;
  border-bottom: 2px solid var(--text);
}
.recruit2__dd {
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  white-space: pre-line;
  border-bottom: 2px solid var(--text);
  padding: 14.2px 0;
  padding-left: clamp(0.3125rem, -0.25rem + 2.4vw, 1.25rem);
}
.recruit2__dd_lh {
  line-height: 1.6;
  padding: 20px 0;
  padding-left: clamp(0.3125rem, -0.25rem + 2.4vw, 1.25rem);
}
.recruit2__dd_list {
  white-space: normal;
}
.recruit2__indent {
  display: inline-block;
  text-indent: -1em;
  padding-left: 1em;
}
.recruit2__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-column-gap: clamp(0.4375rem, 0.325rem + 0.48vw, 0.625rem);
     -moz-column-gap: clamp(0.4375rem, 0.325rem + 0.48vw, 0.625rem);
          column-gap: clamp(0.4375rem, 0.325rem + 0.48vw, 0.625rem);
}
.recruit2__list::before {
  content: "";
  min-width: clamp(0.875rem, 0.8rem + 0.32vw, 1rem);
  aspect-ratio: 1/1;
  background-color: var(--text);
  border-radius: 50%;
  margin-top: clamp(0.34375rem, 0.2875rem + 0.24vw, 0.4375rem);
}
.recruit2__link {
  max-width: clamp(17.1875rem, 12.5rem + 20vw, 25rem);
  height: clamp(3.4375rem, 2.9125rem + 2.24vw, 4.3125rem);
  display: grid;
  place-items: center;
  background-color: var(--base);
  color: var(--main2);
  font-size: clamp(1.125rem, 0.9rem + 0.96vw, 1.5rem);
  border-radius: 9999px;
  margin-inline: auto;
}

@media (hover: hover) and (pointer: fine) {
  .recruit2__link {
    -webkit-transition: background-color 0.4s, color 0.4s;
    transition: background-color 0.4s, color 0.4s;
  }
  .recruit2__link:hover, .recruit2__link:focus {
    background-color: var(--main2);
    color: var(--base);
  }
}
/*###################################################################
  company（page）
###################################################################*/
.company1__inner {
  max-width: 1120px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
@media (max-width: 768px) {
  .company1__inner {
    padding: 0 clamp(0.9375rem, 0.0429389313rem + 3.8167938931vw, 1.875rem);
  }
}
.company1__body {
  background-color: var(--main2);
  border-radius: clamp(1.5625rem, 0.6679389313rem + 3.8167938931vw, 2.5rem);
  padding: clamp(1.875rem, 0.0858778626rem + 7.6335877863vw, 3.75rem) 20px;
}
.company1__body-inner {
  max-width: 1000px;
  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;
  gap: clamp(1.25rem, 0.6536259542rem + 2.5445292621vw, 1.875rem) 15px;
  margin-inline: auto;
}
@media (max-width: 768px) {
  .company1__body-inner {
    -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;
  }
}
.company1__box {
  max-width: 640px;
  width: 100%;
  color: var(--base);
}
.company1__text2 {
  font-size: clamp(1.25rem, 1.0114503817rem + 1.0178117048vw, 1.5rem);
  line-height: 1.2;
  margin-top: clamp(1.25rem, 0.3554389313rem + 3.8167938931vw, 2.1875rem);
}
.company1__img {
  max-width: clamp(16.25rem, 12.6717557252rem + 15.2671755725vw, 20rem);
  width: 100%;
  margin-top: 13px;
}

.company2__inner {
  max-width: 1120px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
@media (max-width: 768px) {
  .company2__inner {
    max-width: 500px;
    padding: 0 clamp(0.9375rem, 0.0429389313rem + 3.8167938931vw, 1.875rem);
  }
}
.company2__body {
  background-color: var(--main-l2);
  border-radius: clamp(1.5625rem, 0.6679389313rem + 3.8167938931vw, 2.5rem);
  padding: clamp(1.875rem, 0.0858778626rem + 7.6335877863vw, 3.75rem) 20px;
}
.company2__body-inner {
  max-width: 920px;
  margin-inline: auto;
}
.company2__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;
  gap: 40px 15px;
}
@media (max-width: 768px) {
  .company2__items {
    -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;
  }
}
.company2__item {
  max-width: 280px;
  width: 100%;
  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;
}
.company2__name {
  width: 100%;
  height: clamp(2.5rem, 0.8426724138rem + 3.4482758621vw, 3.0625rem);
  display: grid;
  place-items: center;
  background: var(--main2);
  color: var(--base);
  font-size: clamp(1.25rem, 0.5134099617rem + 1.5325670498vw, 1.5rem);
  border-radius: 9999px;
}
.company2__text1 {
  font-size: 1.25rem;
  line-height: 1.2;
  text-align: center;
}

.company3__inner {
  max-width: 1120px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
@media (max-width: 768px) {
  .company3__inner {
    padding: 0 clamp(0.9375rem, 0.0429389313rem + 3.8167938931vw, 1.875rem);
  }
}
.company3__body {
  background-color: var(--main-l2);
  border-radius: clamp(1.5625rem, 0.6679389313rem + 3.8167938931vw, 2.5rem);
  padding: clamp(1.875rem, 0.0858778626rem + 7.6335877863vw, 3.75rem) clamp(0.9375rem, 0.6393129771rem + 1.272264631vw, 1.25rem);
}
.company3__body-inner {
  max-width: 900px;
  margin-inline: auto;
}
.company3__dl {
  display: grid;
  grid-template-columns: clamp(4.9375rem, -1.1rem + 25.76vw, 15rem) 1fr;
  -webkit-column-gap: clamp(0.3125rem, -0.25rem + 2.4vw, 1.25rem);
     -moz-column-gap: clamp(0.3125rem, -0.25rem + 2.4vw, 1.25rem);
          column-gap: clamp(0.3125rem, -0.25rem + 2.4vw, 1.25rem);
  font-size: clamp(0.875rem, 0.8rem + 0.32vw, 1rem);
  line-height: 1.8;
}
.company3__dt {
  display: grid;
  place-items: center;
  border-bottom: 2px solid var(--text);
}
.company3__dd {
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  white-space: pre-line;
  border-bottom: 2px solid var(--text);
  padding: 14.1px 0;
  padding-left: clamp(0.3125rem, -0.25rem + 2.4vw, 1.25rem);
}

/*###################################################################
  contact（page）
###################################################################*/
.contact1__inner {
  max-width: 1120px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
@media (max-width: 768px) {
  .contact1__inner {
    padding: 0 clamp(0.9375rem, 0.0429389313rem + 3.8167938931vw, 1.875rem);
  }
}
.contact1__body {
  background-color: var(--main2);
  border-radius: clamp(1.5625rem, 0.6679389313rem + 3.8167938931vw, 2.5rem);
  padding: clamp(1.875rem, 0.0858778626rem + 7.6335877863vw, 3.75rem) 20px;
}
.contact1__body-inner {
  max-width: 645px;
  margin-inline: auto;
}
.contact1__text {
  color: var(--base);
  font-size: clamp(0.875rem, 0.7557251908rem + 0.5089058524vw, 1rem);
  font-weight: 500;
  line-height: 2;
  text-align: center;
  white-space: pre-line;
}
@media (max-width: 768px) {
  .contact1__text {
    text-align: left;
  }
}
.contact1__tel {
  max-width: clamp(16.25rem, 12.6717557252rem + 15.2671755725vw, 20rem);
  height: clamp(3.75rem, 2.9150763359rem + 3.5623409669vw, 4.625rem);
  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;
  -webkit-column-gap: 10px;
     -moz-column-gap: 10px;
          column-gap: 10px;
  background-color: var(--base);
  color: var(--main2);
  font-size: clamp(1.5rem, 1.2614503817rem + 1.0178117048vw, 1.75rem);
  margin-inline: auto;
}
.contact1__tel::before {
  content: "";
  min-width: clamp(1.0625rem, 0.7046755725rem + 1.5267175573vw, 1.4375rem);
  aspect-ratio: 24/31;
  background-color: var(--main2);
  -webkit-mask-image: url(../images/icon-tel.svg);
          mask-image: url(../images/icon-tel.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}

@media (hover: hover) and (pointer: fine) {
  .contact1__tel {
    -webkit-transition: background-color 0.4s, color 0.4s;
    transition: background-color 0.4s, color 0.4s;
  }
  .contact1__tel::before {
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  .contact1__tel:hover {
    background-color: var(--text);
    color: var(--base);
  }
  .contact1__tel:hover::before {
    background-color: var(--base);
  }
}
.contact2__inner {
  max-width: 1120px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
@media (max-width: 768px) {
  .contact2__inner {
    padding: 0 clamp(0.9375rem, 0.0429389313rem + 3.8167938931vw, 1.875rem);
  }
}
.contact2__body {
  background-color: var(--main-l2);
  border-radius: clamp(1.5625rem, 0.6679389313rem + 3.8167938931vw, 2.5rem);
  padding: clamp(2.5rem, 0.1145038168rem + 10.1781170483vw, 5rem) clamp(0.9375rem, 0.6393129771rem + 1.272264631vw, 1.25rem) clamp(1.875rem, 0.6226145038rem + 5.3435114504vw, 3.1875rem);
}
.contact2__body-inner {
  max-width: 960px;
  margin-inline: auto;
}
@media (max-width: 768px) {
  .contact2__body-inner {
    max-width: 600px;
  }
}

.form__body {
  font-weight: 500;
  line-height: 1.2;
}
.form__paragraph {
  display: grid;
  grid-template-columns: clamp(13.125rem, -8.6555891239rem + 45.3172205438vw, 22.5rem) 1fr;
  border-bottom: 1px solid #b3b3b3;
  padding: clamp(1.5625rem, 0.9661259542rem + 2.5445292621vw, 2.1875rem) 0;
}
@media (max-width: 768px) {
  .form__paragraph {
    grid-template-columns: 1fr;
    row-gap: 20px;
  }
}
.form__paragraph_radio {
  padding-top: 0;
  padding-bottom: 24px;
}
.form__paragraph_message {
  padding: 25px 0;
}
.form__title {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  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: clamp(0.3125rem, -1.1395392749rem + 3.0211480363vw, 0.9375rem);
     -moz-column-gap: clamp(0.3125rem, -1.1395392749rem + 3.0211480363vw, 0.9375rem);
          column-gap: clamp(0.3125rem, -1.1395392749rem + 3.0211480363vw, 0.9375rem);
  padding-left: clamp(0rem, -4.3561178248rem + 9.0634441088vw, 1.875rem);
}
.form__title_term {
  margin-top: 10px;
}
.form__label_message {
  margin-top: 20px;
}
@media (max-width: 768px) {
  .form__label_message {
    margin-top: 0;
  }
}
.form__required {
  min-width: 52px;
  height: 39px;
  display: grid;
  place-items: center;
  background-color: var(--main2);
  color: var(--base);
}
.form__radio {
  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: 30px;
}
.form__radio .wpcf7-list-item {
  margin: 0;
}
.form__radio .wpcf7-list-item label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 10px;
     -moz-column-gap: 10px;
          column-gap: 10px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.form__radio input {
  inline-size: 1.25rem;
  block-size: 1.25rem;
}
.form__input {
  width: 100%;
  height: 40px;
  background-color: var(--base);
  font-weight: 500;
  line-height: 1.75;
  border: 2px solid #b6b6b6;
  border-radius: 7px;
  padding: 10px 10px;
}
.form__input_message {
  min-height: 309px;
  border-radius: 8px;
  resize: vertical;
}
.form__box {
  background-color: var(--base);
  border-radius: clamp(1.5625rem, 0.6679389313rem + 3.8167938931vw, 2.5rem);
  margin-top: clamp(2.5rem, 1.3072519084rem + 5.0890585242vw, 3.75rem);
  padding: clamp(1.875rem, 1.2786259542rem + 2.5445292621vw, 2.5rem) 15px;
}
.form__box-inner {
  max-width: 840px;
  margin-inline: auto;
}
.form__box-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;
  row-gap: 12px;
  font-size: clamp(1.25rem, 1.0114503817rem + 1.0178117048vw, 1.5rem);
  line-height: 1.2;
}
.form__box-title::after {
  content: "";
  width: 43px;
  height: 3px;
  background-color: var(--text);
}
.form__box-body {
  height: 298px;
  overflow-y: auto;
  margin-top: clamp(1.875rem, 0.6822519084rem + 5.0890585242vw, 3.125rem);
}
.form__box-body::-webkit-scrollbar {
  width: 3px;
}
.form__box-body::-webkit-scrollbar-track {
  background-color: transparent;
}
.form__box-body::-webkit-scrollbar-thumb {
  background-color: var(--text);
}
.form__box-text {
  max-width: 800px;
  font-size: clamp(0.875rem, 0.7557251908rem + 0.5089058524vw, 1rem);
  font-weight: 500;
  line-height: 2;
  white-space: pre-line;
}
.form__number {
  font-size: clamp(1rem, 0.8807251908rem + 0.5089058524vw, 1.125rem);
}
.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: clamp(2.5rem, 1.3072519084rem + 5.0890585242vw, 3.75rem);
}
.form__action-button {
  width: 192px;
  height: 59px;
  background-color: var(--main2);
  color: var(--base);
  font-weight: 500;
  text-align: center;
  vertical-align: middle;
  border-radius: 9999px;
}
.form[data-status=sent] .form__button-wrapper {
  display: none;
}

/*###################################################################
  news（page）
###################################################################*/
.news-list_pos {
  margin-top: 60px;
}
.news-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: 100px;
}
@media (max-width: 768px) {
  .news-list__inner {
    padding: 0 clamp(0.9375rem, -0.625rem + 5.2083333333vw, 1.875rem) clamp(1.875rem, -2.2996183206rem + 17.8117048346vw, 6.25rem);
  }
}
@media (max-width: 600px) {
  .news-list__inner {
    max-width: 400px;
  }
}
.news-list__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(1.875rem, -0.3571428571rem + 5.9523809524vw, 2.5rem);
  margin-top: 100px;
}
@media (max-width: 600px) {
  .news-list__items {
    row-gap: 50px;
    margin-top: 50px;
  }
}
.news-list__post-link {
  display: grid;
  grid-template-columns: clamp(11.25rem, -4.375rem + 41.6666666667vw, 15.625rem) 1fr;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: clamp(0.9375rem, -2.4107142857rem + 8.9285714286vw, 1.875rem);
     -moz-column-gap: clamp(0.9375rem, -2.4107142857rem + 8.9285714286vw, 1.875rem);
          column-gap: clamp(0.9375rem, -2.4107142857rem + 8.9285714286vw, 1.875rem);
  background-color: var(--base);
  border: 1px solid #75778d;
}
@media (max-width: 600px) {
  .news-list__post-link {
    grid-template-columns: 1fr;
    row-gap: 10px;
  }
}
.news-list__thumbnail {
  max-width: 300px;
  height: 100%;
  overflow: hidden;
}
@media (max-width: 600px) {
  .news-list__thumbnail {
    max-width: 100%;
  }
}
.news-list__thumbnail img {
  height: 100%;
  aspect-ratio: 4/3;
  -o-object-fit: cover;
     object-fit: cover;
}
.news-list__text-box {
  padding-top: 15px;
  padding-bottom: 15px;
}
@media (max-width: 600px) {
  .news-list__text-box {
    padding-top: 0;
    padding-right: 10px;
    padding-left: 10px;
    padding-bottom: 20px;
  }
}
.news-list__date {
  display: block;
  color: var(--main);
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.75;
}
.news-list__post-title {
  font-size: clamp(1.125rem, 0.6785714286rem + 1.1904761905vw, 1.25rem);
  line-height: 1.75;
  text-align: start;
  word-break: break-all;
  padding-right: 15px;
}
@media (max-width: 600px) {
  .news-list__post-title {
    padding-right: 0;
  }
}
.news-list__no-post {
  height: 200px;
  display: grid;
  place-items: center;
  background-color: var(--main);
  color: var(--base);
  font-size: 1.25rem;
  font-weight: 500;
}
.news-list__pagination {
  font-size: 1.25rem;
  margin-top: 150px;
}
@media (max-width: 768px) {
  .news-list__pagination {
    margin-top: 80px;
  }
}
.news-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;
}
.news-list__pagination ul.page-numbers li {
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
}
.news-list__pagination ul.page-numbers li .page-numbers {
  --spacing: 0;
}
.news-list__pagination .page-numbers.current {
  color: var(--main);
}

@media (hover: hover) and (pointer: fine) {
  .news-list__post-link {
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  .news-list__post-link:hover .news-list__thumbnail img, .news-list__post-link:focus .news-list__thumbnail img {
    -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
            transform: scale(1.1);
  }
  .news-list__post-link:hover .news-list__post-title, .news-list__post-link:focus .news-list__post-title {
    color: var(--main);
    text-decoration: underline;
  }
  .news-list__thumbnail img {
    -webkit-transition: -webkit-transform ease 0.4s;
    transition: -webkit-transform ease 0.4s;
    transition: transform ease 0.4s;
    transition: transform ease 0.4s, -webkit-transform ease 0.4s;
  }
  .news-list__post-title {
    -webkit-transition: color ease 0.4s;
    transition: color ease 0.4s;
    -webkit-text-decoration-color: var(--main);
            text-decoration-color: var(--main);
  }
  .news-list__pagination a {
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
  }
  .news-list__pagination a:hover, .news-list__pagination a:focus {
    opacity: 0.7;
  }
}
.news-post_pos {
  margin-top: 60px;
}
.news-post__inner {
  max-width: 840px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  padding-bottom: 100px;
}
@media (max-width: 768px) {
  .news-post__inner {
    padding: 0 clamp(0.9375rem, -0.625rem + 5.2083333333vw, 1.875rem) clamp(1.875rem, -2.2996183206rem + 17.8117048346vw, 6.25rem);
  }
}
.news-post__bg {
  background-color: var(--base);
  border: 1px solid #75778d;
  padding: 50px 20px 100px;
}
@media (max-width: 768px) {
  .news-post__bg {
    padding: 50px clamp(0.9375rem, -0.625rem + 5.2083333333vw, 1.875rem) 100px;
  }
}
.news-post__date {
  display: block;
  color: var(--main);
  font-size: 1.25rem;
  font-weight: 500;
}
@media (max-width: 768px) {
  .news-post__date {
    font-size: 1.125rem;
  }
}
.news-post__title {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.75;
  word-break: break-all;
  margin-top: 10px;
}
@media (max-width: 768px) {
  .news-post__title {
    font-size: 1.375rem;
    margin-top: 10px;
  }
}
.news-post__thumbnail {
  margin-top: 40px;
}
.news-post__editor {
  margin-top: 40px;
}

.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: 768px) {
  .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) {
  .news-post-pager__link {
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
  }
  .news-post-pager__link:hover, .news-post-pager__link:focus {
    opacity: 0.7;
  }
}
/*###################################################################
  page-404（page）
###################################################################*/
.page-404_pos {
  margin-top: 60px;
}
.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: 768px) {
  .page-404__inner {
    padding: 0 clamp(0.9375rem, -0.0815217391rem + 4.0760869565vw, 1.875rem) clamp(1.875rem, -2.2996183206rem + 17.8117048346vw, 6.25rem);
  }
}
.page-404__title {
  font-size: 1.5rem;
  line-height: 1.75;
}
.page-404__text {
  line-height: 2;
  white-space: pre-line;
  margin-top: 40px;
}
.page-404__button-wrapper {
  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;
}
.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: 54px 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制御用）
###################################################################*/