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

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

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

[id] {
  scroll-margin-top: clamp(4.75rem, 1.3297266515rem + 5.4669703872vw, 6.25rem);
}
@media (max-width: 1000px) {
  [id] {
    scroll-margin-top: clamp(5.3125rem, 3.2318722944rem + 4.329004329vw, 5.9375rem);
  }
}
@media (max-width: 768px) {
  [id] {
    scroll-margin-top: 58px;
  }
}

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

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

/*###################################################################
  animation（共通設定）
###################################################################*/
/*----------------------------------
  zoom
----------------------------------*/
@-webkit-keyframes zoom {
  0% {
    -webkit-transform: scale(1.15);
            transform: scale(1.15);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes zoom {
  0% {
    -webkit-transform: scale(1.15);
            transform: scale(1.15);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
/*----------------------------------
  無限ループスライダー
----------------------------------*/
@-webkit-keyframes infinity-scroll {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@keyframes infinity-scroll {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
/*###################################################################
  header（module）
###################################################################*/
.header {
  width: 100%;
  position: absolute;
  top: 0;
  z-index: 10;
  background-color: rgba(255, 255, 255, 0.9);
}
.header_sticky {
  position: fixed;
}
.header_sticky .header__inner {
  padding: 5px clamp(0.9375rem, -8.3257403189rem + 14.8063781321vw, 5rem);
}
@media (max-width: 768px) {
  .header_sticky .header__inner {
    padding: 0 20px;
  }
}
.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, -0.7619225037rem + 2.2354694486vw, 1.25rem) clamp(0.9375rem, -8.3257403189rem + 14.8063781321vw, 5rem);
}
@media (max-width: 768px) {
  .header__inner {
    height: 58px;
    padding: 0 20px;
  }
}
.header__logo {
  max-width: clamp(7.5rem, 0.2655551416rem + 15.0521609538vw, 13.8125rem);
  width: 100%;
}
@media (max-width: 768px) {
  .header__logo {
    max-width: clamp(6.9375rem, 6.4007633588rem + 2.2900763359vw, 7.5rem);
  }
}
.header__menu {
  max-width: clamp(48rem, 13.5122437358rem + 55.125284738vw, 63.125rem);
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 10px;
     -moz-column-gap: 10px;
          column-gap: 10px;
}
@media (max-width: 1000px) {
  .header__menu {
    max-width: clamp(35.9375rem, 15.5473484848rem + 42.4242424242vw, 42.0625rem);
  }
}
@media (max-width: 768px) {
  .header__menu {
    display: none;
  }
}
.header__contact {
  max-width: clamp(19.6875rem, 8.9991457859rem + 17.0842824601vw, 24.375rem);
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 10px;
     -moz-column-gap: 10px;
          column-gap: 10px;
}
@media (max-width: 1000px) {
  .header__contact {
    max-width: clamp(9.375rem, 3.1331168831rem + 12.987012987vw, 11.25rem);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 5px;
  }
}
.header__contact-link {
  width: 100%;
  height: clamp(2.1875rem, -0.2351936219rem + 3.8724373576vw, 3.25rem);
  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(0.3125rem, -0.0456408346rem + 0.7451564829vw, 0.625rem);
     -moz-column-gap: clamp(0.3125rem, -0.0456408346rem + 0.7451564829vw, 0.625rem);
          column-gap: clamp(0.3125rem, -0.0456408346rem + 0.7451564829vw, 0.625rem);
  color: var(--base);
}
.header__contact-link::before {
  content: "";
  background-color: var(--base);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.header__contact-link_tel {
  max-width: 200px;
  background-color: var(--main);
  font-size: clamp(0.9375rem, 0.7226154993rem + 0.4470938897vw, 1.125rem);
}
.header__contact-link_tel::before {
  min-width: clamp(0.6875rem, 0.4009873323rem + 0.5961251863vw, 0.9375rem);
  aspect-ratio: 15/20;
  -webkit-mask-image: url(../images/icon-tel.svg);
          mask-image: url(../images/icon-tel.svg);
}
.header__contact-link_mail {
  max-width: 180px;
  background-color: var(--accent);
  font-size: clamp(0.875rem, 0.7317436662rem + 0.2980625931vw, 1rem);
}
.header__contact-link_mail::before {
  min-width: clamp(1.25rem, 0.8918591654rem + 0.7451564829vw, 1.5625rem);
  aspect-ratio: 25/18;
  -webkit-mask-image: url(../images/icon-mail.svg);
          mask-image: url(../images/icon-mail.svg);
}

@media (hover: hover) and (pointer: fine) {
  .header__contact-link {
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  .header__contact-link:hover {
    background-color: var(--main-l);
  }
}
.header-nav {
  max-width: 571px;
  width: 100%;
}
@media (max-width: 768px) {
  .header-nav {
    display: none;
  }
}
.header-nav__items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.header-nav__link {
  font-size: clamp(0.875rem, 0.7317436662rem + 0.2980625931vw, 1rem);
}

@media (hover: hover) and (pointer: fine) {
  .header-nav__link {
    -webkit-transition: color 0.4s;
    transition: color 0.4s;
  }
  .header-nav__link:hover, .header-nav__link:focus {
    color: var(--accent);
  }
}
/*###################################################################
  footer（module）
###################################################################*/
.footer__copy {
  height: clamp(4.625rem, 4.4460877863rem + 0.7633587786vw, 4.8125rem);
  display: grid;
  place-items: center;
  background-color: var(--main);
  color: var(--base);
  font-size: clamp(0.75rem, 0.6307251908rem + 0.5089058524vw, 0.875rem);
  font-weight: 400;
  --ls: 0;
}

.footer1 {
  background: url(../images/footer1-bg.webp) no-repeat left center/cover;
  background-image: -webkit-image-set(url(../images/footer1-bg.webp) 1x, url(../images/footer1-bg@2x.webp) 2x);
  background-image: image-set(url(../images/footer1-bg.webp) 1x, url(../images/footer1-bg@2x.webp) 2x);
}
@media (max-width: 768px) {
  .footer1 {
    position: relative;
    background: none;
  }
}
@media (max-width: 768px) {
  .footer1::after {
    position: absolute;
    width: 100%;
    aspect-ratio: 375/241;
    top: 0;
    z-index: -1;
    background: url(../images/footer1-bg_sp.webp) no-repeat center center/cover;
    background-image: -webkit-image-set(url(../images/footer1-bg_sp.webp) 1x, url(../images/footer1-bg_sp@2x.webp) 2x);
    background-image: image-set(url(../images/footer1-bg_sp.webp) 1x, url(../images/footer1-bg_sp@2x.webp) 2x);
    content: "";
  }
}
.footer1__inner {
  max-width: 640px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding: 81px 30px 80px;
}
@media (max-width: 1280px) {
  .footer1__inner {
    padding: clamp(4.0625rem, 3.1083015267rem + 4.0712468193vw, 5.0625rem) clamp(1.25rem, 0.6536259542rem + 2.5445292621vw, 1.875rem) clamp(2.5rem, 0.1145038168rem + 10.1781170483vw, 5rem);
  }
}
.footer1__text {
  font-size: clamp(1rem, 0.7614503817rem + 1.0178117048vw, 1.25rem);
  line-height: 1.2;
  text-align: center;
  margin-top: clamp(2.5rem, 1.3072519084rem + 5.0890585242vw, 3.75rem);
}
.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;
  gap: 20px 10px;
  margin-top: 39px;
}
@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;
  }
}
.footer1__contact-link {
  max-width: 300px;
  width: 100%;
  height: 60px;
  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: 24px;
}
.footer1__contact-link::before {
  content: "";
  background-color: var(--base);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.footer1__contact-link_tel {
  background-color: var(--main);
}
.footer1__contact-link_tel::before {
  width: 18px;
  aspect-ratio: 15/20;
  -webkit-mask-image: url(../images/icon-tel.svg);
          mask-image: url(../images/icon-tel.svg);
}
.footer1__contact-link_mail {
  background-color: var(--accent);
}
.footer1__contact-link_mail::before {
  width: 27px;
  aspect-ratio: 25/18;
  -webkit-mask-image: url(../images/icon-mail.svg);
          mask-image: url(../images/icon-mail.svg);
}

@media (hover: hover) and (pointer: fine) {
  .footer1__contact-link {
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  .footer1__contact-link:hover {
    background-color: var(--main-l);
  }
}
.footer2 {
  background-color: var(--main-l);
}
.footer2__inner {
  max-width: 1120px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding: 40px 30px 61px;
}
@media (max-width: 1280px) {
  .footer2__inner {
    padding: 40px clamp(1.25rem, 0.6536259542rem + 2.5445292621vw, 1.875rem) 60px;
  }
}
.footer2__group {
  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: 39px 15px;
}
@media (max-width: 768px) {
  .footer2__group {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.footer2__company {
  max-width: 224px;
  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: clamp(0.6875rem, 0.1507633588rem + 2.2900763359vw, 1.25rem);
}
@media (max-width: 768px) {
  .footer2__company {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.footer2__logo {
  max-width: clamp(8.625rem, 3.6750954198rem + 21.1195928753vw, 13.8125rem);
}
.footer2__name {
  font-size: clamp(1.25rem, 0.534351145rem + 3.0534351145vw, 2rem);
  line-height: 2;
  --ls: 0;
}
.footer2__map {
  max-width: 803px;
  width: 100%;
}
.footer2__gmap {
  width: 100%;
  height: 360px;
}
@media (max-width: 768px) {
  .footer2__gmap {
    height: 480px;
  }
}
.footer2__nav {
  margin-top: 60px;
  margin-inline: auto;
}

.footer-nav {
  max-width: 571px;
}
@media (max-width: 768px) {
  .footer-nav {
    display: none;
  }
}
.footer-nav__items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@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-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-mt20 {
  margin-top: 20px;
}

/*###################################################################
  c-text（module）
###################################################################*/
.c-t16 {
  font-size: clamp(0.875rem, 0.8264248705rem + 0.207253886vw, 1rem);
  line-height: 2;
  white-space: pre-line;
}

.c-t16r {
  font-size: clamp(0.9375rem, 0.8533274956rem + 0.1751313485vw, 1rem);
  line-height: 2;
  white-space: pre-line;
}
@media (max-width: 768px) {
  .c-t16r {
    font-size: clamp(0.875rem, 0.8153625954rem + 0.2544529262vw, 0.9375rem);
  }
}

/*###################################################################
  c-title（module）
###################################################################*/
.c-title-1 {
  max-width: 960px;
  font-size: clamp(1.25rem, 0.8356353591rem + 1.7679558011vw, 2.25rem);
  line-height: 1.2;
  border-bottom: clamp(0.1875rem, 0.1616022099rem + 0.1104972376vw, 0.25rem) solid var(--accent);
  padding-bottom: clamp(0.75rem, 0.6464088398rem + 0.4419889503vw, 1rem);
}

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

/*###################################################################
  hamburger（module）
###################################################################*/
.hamburger {
  width: 38px;
  height: 38px;
  display: inline-block;
  position: relative;
  z-index: 30;
  background-color: var(--main-l);
}
@media (min-width: 769px) {
  .hamburger {
    display: none;
  }
}
.hamburger[aria-expanded=true] .hamburger__line {
  background-color: transparent;
}
.hamburger[aria-expanded=true] .hamburger__line::before {
  -webkit-transform: translateY(-10px) rotate(135deg);
      -ms-transform: translateY(-10px) rotate(135deg);
          transform: translateY(-10px) rotate(135deg);
}
.hamburger[aria-expanded=true] .hamburger__line::after {
  -webkit-transform: translateY(10px) rotate(-135deg);
      -ms-transform: translateY(10px) rotate(-135deg);
          transform: translateY(10px) rotate(-135deg);
}
.hamburger__line {
  width: 30px;
  height: 2px;
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: 0.5s all;
  transition: 0.5s all;
  background-color: var(--base);
}
.hamburger__line::before {
  content: "";
  width: 100%;
  height: 2px;
  display: inline-block;
  position: absolute;
  top: 10px;
  left: 0;
  -webkit-transition: -webkit-transform 0.5s;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
  background-color: var(--base);
}
.hamburger__line::after {
  content: "";
  width: 100%;
  height: 2px;
  display: inline-block;
  position: absolute;
  bottom: 10px;
  left: 0;
  -webkit-transition: -webkit-transform 0.5s;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
  background-color: var(--base);
}

@media (hover: hover) and (pointer: fine) {
  .hamburger {
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  .hamburger:hover {
    background-color: var(--accent);
  }
}
/*###################################################################
  drawer（module）
###################################################################*/
.drawer {
  width: 255px;
  height: 100vh;
  -webkit-transform: translateX(255px);
      -ms-transform: translateX(255px);
          transform: translateX(255px);
  -webkit-transition: 0.5s;
  transition: 0.5s;
  background-color: var(--main);
  z-index: 15;
  overflow: auto;
  overscroll-behavior-y: contain;
  visibility: hidden;
}
.drawer[aria-hidden=false] {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  visibility: visible;
}
.drawer_position {
  position: fixed;
  top: 0;
  right: 0;
}
.drawer__inner {
  padding-bottom: 100px;
}
.drawer__top {
  width: 100%;
  height: 58px;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  background-color: var(--main);
  z-index: 1;
}
.drawer__logo {
  max-width: 111px;
  display: block;
  margin-top: 48px;
  margin-inline: auto;
}
.drawer__nav {
  margin-top: 10px;
}
.drawer__items {
  max-width: 183px;
  margin-inline: auto;
}
.drawer__item {
  border-bottom: 1px solid var(--base);
  padding: 1.8375rem 0;
}
.drawer__link {
  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(--base);
  line-height: 1.2;
  --ls: 0;
}
.drawer__link::after {
  content: "";
  width: 11px;
  aspect-ratio: 11/14;
  background: url(../images/icon-right-arrow.svg) no-repeat center center/contain;
}

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

@media (hover: hover) and (pointer: fine) {
  .drawer__link::after {
    -webkit-transition: -webkit-transform 0.4s;
    transition: -webkit-transform 0.4s;
    transition: transform 0.4s;
    transition: transform 0.4s, -webkit-transform 0.4s;
  }
  .drawer__link:hover::after, .drawer__link:focus::after {
    -webkit-transform: translateX(5px);
        -ms-transform: translateX(5px);
            transform: translateX(5px);
  }
}
.drawer-bg {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  background-color: transparent;
  visibility: hidden;
  opacity: 0;
  z-index: 5;
}

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

/*###################################################################
  hover（module）
###################################################################*/
@media (hover: hover) and (pointer: fine) {
  .op {
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
  }
  .op:hover, .op:focus {
    opacity: 0.7;
  }
}
@media (hover: hover) and (pointer: fine) {
  .op-fn {
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
  }
  .op-fn:hover {
    opacity: 0.7;
  }
}
@media (hover: hover) and (pointer: fine) {
  .op-im {
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
  }
  .op-im:hover, .op-im:focus {
    opacity: 0.7 !important;
  }
}
@media (hover: hover) and (pointer: fine) {
  .op-fnim {
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
  }
  .op-fnim:hover {
    opacity: 0.7 !important;
  }
}
/*###################################################################
  lower（module）
###################################################################*/
.lower-mv {
  padding-top: clamp(4.75rem, -1.520501139rem + 10.0227790433vw, 7.5rem);
}
@media (max-width: 1000px) {
  .lower-mv {
    padding-top: clamp(5.3125rem, 3.2318722944rem + 4.329004329vw, 5.9375rem);
  }
}
@media (max-width: 768px) {
  .lower-mv {
    padding-top: 58px;
  }
}
.lower-mv__bg {
  height: clamp(8.125rem, 4.2297535211rem + 16.6197183099vw, 19.1875rem);
  display: grid;
  place-items: center;
  background: url(../images/lower-mv-1.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/lower-mv-1.webp) 1x, url(../images/lower-mv-1@2x.webp) 2x);
  background-image: image-set(url(../images/lower-mv-1.webp) 1x, url(../images/lower-mv-1@2x.webp) 2x);
}
.lower-mv__title {
  color: var(--base);
  font-size: clamp(1.5rem, 0.9718309859rem + 2.2535211268vw, 3rem);
  text-shadow: 4px 4px 30px #305364;
}

/*###################################################################
  preparation（module）
###################################################################*/
.preparation {
  padding-bottom: 100px;
}
.preparation__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) {
  .preparation__inner {
    padding: 0 clamp(0.9375rem, 0.0429389313rem + 3.8167938931vw, 1.875rem);
  }
}
.preparation__body {
  height: clamp(13.625rem, 12.5890883978rem + 4.4198895028vw, 16.125rem);
  display: grid;
  place-items: center;
  background-color: var(--main);
  color: var(--base);
}
.preparation__text {
  font-size: clamp(1.5rem, 0.8784530387rem + 2.6519337017vw, 3rem);
}

/*###################################################################
  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: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: clamp(0.625rem, 0.3660220994rem + 1.1049723757vw, 1.25rem);
  line-height: 1.2;
}
.top-c__title_l {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.top-c__jp {
  font-size: clamp(1.25rem, 1.1464088398rem + 0.4419889503vw, 1.5rem);
}
.top-c__en {
  font-family: "Quicksand", sans-serif;
  font-optical-sizing: auto;
  font-size: clamp(3rem, 2.5856353591rem + 1.7679558011vw, 4rem);
  font-weight: 600;
}
.top-c__en::first-letter {
  color: var(--main);
}
.top-c__link {
  max-width: clamp(14.9375rem, 13.2282458564rem + 7.2928176796vw, 19.0625rem);
  height: clamp(3rem, 2.8964088398rem + 0.4419889503vw, 3.25rem);
  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;
  background-color: var(--main);
  color: var(--base);
  font-size: clamp(0.9375rem, 0.8598066298rem + 0.3314917127vw, 1.125rem);
  padding-right: 18px;
  padding-left: clamp(2.5rem, 1.75rem + 3.2vw, 3.75rem);
}
.top-c__link::after {
  content: "";
  width: 11px;
  aspect-ratio: 11/14;
  background: url(../images/icon-right-arrow.svg) no-repeat center center/contain;
}

@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(--accent);
  }
}
.top-mv {
  padding-top: clamp(4.75rem, -1.520501139rem + 10.0227790433vw, 7.5rem);
}
@media (max-width: 1000px) {
  .top-mv {
    padding-top: clamp(5.3125rem, 3.2318722944rem + 4.329004329vw, 5.9375rem);
  }
}
@media (max-width: 768px) {
  .top-mv {
    padding-top: 58px;
  }
}
.top-mv__body {
  position: relative;
}
.top-mv__title-box {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 3;
}
.top-mv__title {
  color: var(--base);
  font-size: clamp(2.5rem, 1.2676056338rem + 5.2582159624vw, 6rem);
  line-height: 1.155;
  text-align: center;
  text-shadow: 4px 4px 30px #305364;
}
@media (max-width: 768px) {
  .top-mv__title {
    --ls: 0;
  }
}
.top-mv__accent {
  color: #86d7ff;
  font-size: clamp(3rem, 1.2394366197rem + 7.5117370892vw, 8rem);
}
.top-mv .swiper-slide-active img,
.top-mv .swiper-slide-duplicate-active img,
.top-mv .swiper-slide-prev img {
  -webkit-animation: zoom 7s linear 0s normal both;
          animation: zoom 7s linear 0s normal both;
}

.top-business_pos {
  position: relative;
  z-index: 1;
  margin-top: -2px;
}
@media (max-width: 768px) {
  .top-business_pos {
    margin-top: -1px;
  }
}
.top-business__items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 768px) {
  .top-business__items {
    grid-template-columns: 1fr;
  }
}
.top-business__link {
  aspect-ratio: 48/36;
  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-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;
  row-gap: clamp(0.9375rem, 0.077961997rem + 1.7883755589vw, 1.6875rem);
  position: relative;
  z-index: 1;
}
@media (max-width: 768px) {
  .top-business__link {
    height: 281px;
    aspect-ratio: inherit;
    row-gap: 46px;
  }
}
.top-business__link::after {
  content: "";
  inset: 0;
  -webkit-clip-path: inset(0);
          clip-path: inset(0);
  position: absolute;
  z-index: -1;
  background-color: rgba(0, 0, 0, 0.5);
}
.top-business__link_1 {
  background: url(../images/top-business-1.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/top-business-1.webp) 1x, url(../images/top-business-1@2x.webp) 2x);
  background-image: image-set(url(../images/top-business-1.webp) 1x, url(../images/top-business-1@2x.webp) 2x);
}
.top-business__link_2 {
  background: url(../images/top-business-2.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/top-business-2.webp) 1x, url(../images/top-business-2@2x.webp) 2x);
  background-image: image-set(url(../images/top-business-2.webp) 1x, url(../images/top-business-2@2x.webp) 2x);
}
@media (max-width: 768px) {
  .top-business__link_2 {
    row-gap: 30px;
  }
}
.top-business__link_3 {
  background: url(../images/top-business-3.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/top-business-3.webp) 1x, url(../images/top-business-3@2x.webp) 2x);
  background-image: image-set(url(../images/top-business-3.webp) 1x, url(../images/top-business-3@2x.webp) 2x);
}
.top-business__title {
  min-height: clamp(2.75rem, 0.3862704918rem + 4.9180327869vw, 4.8125rem);
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  color: var(--base);
  font-size: clamp(1.125rem, 0.1222056632rem + 2.086438152vw, 2rem);
  line-height: 1.2;
  text-align: center;
}
@media (max-width: 768px) {
  .top-business__title {
    min-height: inherit;
    font-size: 1.5rem;
  }
}
.top-business__title::first-letter {
  color: var(--main-l);
}
@media (max-width: 768px) {
  .top-business__title_sp {
    margin-top: 18px;
  }
}
.top-business__note {
  font-size: clamp(0.75rem, 0.1769746647rem + 1.1922503726vw, 1.25rem);
  vertical-align: 6px;
}
@media (max-width: 768px) {
  .top-business__note {
    font-size: 1rem;
    vertical-align: 0;
  }
}
.top-business__arrow {
  width: clamp(2.125rem, 0.2626676602rem + 3.8748137109vw, 3.75rem);
  aspect-ratio: 1/1;
  display: grid;
  place-items: center;
  border: 2px solid var(--base);
  border-radius: 50%;
}
@media (max-width: 768px) {
  .top-business__arrow {
    width: 60px;
  }
}
.top-business__arrow::after {
  content: "";
  width: clamp(1rem, 0.3553464978rem + 1.3412816692vw, 1.5625rem);
  aspect-ratio: 25/18;
  background: url(../images/icon-down-arrow.svg) no-repeat center center/contain;
}
@media (max-width: 768px) {
  .top-business__arrow::after {
    width: 25px;
  }
}

@media (hover: hover) and (pointer: fine) {
  .top-business__link::after {
    -webkit-transition: -webkit-clip-path 0.4s;
    transition: -webkit-clip-path 0.4s;
    transition: clip-path 0.4s;
    transition: clip-path 0.4s, -webkit-clip-path 0.4s;
  }
  .top-business__link:hover::after, .top-business__link:focus::after {
    -webkit-clip-path: inset(100% 100% 100% 100%);
            clip-path: inset(100% 100% 100% 100%);
  }
}
.top-works {
  background-image: -webkit-repeating-linear-gradient(left, #fee4a1, #fee4a1 0.125rem, transparent 0.125rem, transparent 0.25rem);
  background-image: repeating-linear-gradient(90deg, #fee4a1, #fee4a1 0.125rem, transparent 0.125rem, transparent 0.25rem);
}
.top-works__inner {
  padding: clamp(2.5625rem, 1.775rem + 3.36vw, 3.875rem) 0 clamp(2.5rem, 1.75rem + 3.2vw, 3.75rem);
}
.top-works__slider {
  overflow: hidden;
  margin-top: clamp(2.4375rem, 1.65rem + 3.36vw, 3.75rem);
}
.top-works__wrapper {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.top-works__items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-animation: infinity-scroll 30s linear infinite both;
          animation: infinity-scroll 30s linear infinite both;
}
.top-works__slide {
  max-width: clamp(17.5rem, 15.7394366197rem + 7.5117370892vw, 22.5rem);
  margin-right: clamp(1.25rem, 0.8098591549rem + 1.8779342723vw, 2.5rem);
}
.top-works__link {
  margin-top: 41px;
  margin-inline: auto;
}

.top-concept {
  background: url(../images/top-concept-bg.webp) no-repeat bottom center/cover;
  background-image: -webkit-image-set(url(../images/top-concept-bg.webp) 1x, url(../images/top-concept-bg@2x.webp) 2x);
  background-image: image-set(url(../images/top-concept-bg.webp) 1x, url(../images/top-concept-bg@2x.webp) 2x);
}
@media (max-width: 768px) {
  .top-concept {
    overflow: hidden;
    position: relative;
    background: none;
  }
}
@media (max-width: 768px) {
  .top-concept::after {
    content: "";
    width: 100%;
    aspect-ratio: 375/242;
    position: absolute;
    top: -6px;
    z-index: -1;
    background: url(../images/top-concept-bg_sp.webp) no-repeat top center/cover;
    background-image: -webkit-image-set(url(../images/top-concept-bg_sp.webp) 1x, url(../images/top-concept-bg_sp@2x.webp) 2x);
    background-image: image-set(url(../images/top-concept-bg_sp.webp) 1x, url(../images/top-concept-bg_sp@2x.webp) 2x);
  }
}
.top-concept__inner {
  max-width: 1280px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding: 60px 30px 21px;
}
@media (max-width: 768px) {
  .top-concept__inner {
    padding: 115px clamp(1.25rem, 0.6536259542rem + 2.5445292621vw, 1.875rem) 0;
  }
}
.top-concept__body {
  max-width: 1271px;
  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: 31px 15px;
}
@media (max-width: 768px) {
  .top-concept__body {
    -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;
  }
}
.top-concept__box {
  max-width: 704px;
  width: 100%;
}
.top-concept__text1 {
  margin-top: clamp(1.8125rem, 1.2161259542rem + 2.5445292621vw, 2.4375rem);
}
.top-concept__subtitle {
  color: var(--main);
  font-size: clamp(1.25rem, 0.9133099825rem + 0.700525394vw, 1.5rem);
  line-height: 2;
  margin-top: 20px;
}
@media (max-width: 768px) {
  .top-concept__subtitle {
    font-size: clamp(1.125rem, 0.8864503817rem + 1.0178117048vw, 1.375rem);
  }
}
.top-concept__text2 {
  max-width: 703px;
  margin-top: 20px;
}
.top-concept__shadow {
  max-width: clamp(18.75rem, 9.7435420315rem + 18.7390542907vw, 25.4375rem);
  width: 100%;
  -webkit-filter: drop-shadow(clamp(0.625rem, 0.0286259542rem + 2.5445292621vw, 1.25rem) clamp(0.625rem, 0.0286259542rem + 2.5445292621vw, 1.25rem) 0px var(--text));
          filter: drop-shadow(clamp(0.625rem, 0.0286259542rem + 2.5445292621vw, 1.25rem) clamp(0.625rem, 0.0286259542rem + 2.5445292621vw, 1.25rem) 0px var(--text));
  margin-top: 10px;
}
@media (max-width: 768px) {
  .top-concept__shadow {
    max-width: clamp(10rem, 1.6507633588rem + 35.6234096692vw, 18.75rem);
    -webkit-transform: translateX(-36px);
        -ms-transform: translateX(-36px);
            transform: translateX(-36px);
  }
}
.top-concept__img {
  -webkit-clip-path: polygon(50% 0, 99% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
          clip-path: polygon(50% 0, 99% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
}

.top-about_pos {
  margin-top: 53px;
}
@media (max-width: 768px) {
  .top-about_pos {
    margin-top: 61px;
  }
}
.top-about__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) {
  .top-about__inner {
    padding: 0 clamp(1.25rem, 0.6536259542rem + 2.5445292621vw, 1.875rem);
  }
}
.top-about__dl {
  display: grid;
  grid-template-columns: clamp(6.6875rem, -4.2476162098rem + 34.9225268176vw, 25rem) 1fr;
  -webkit-column-gap: clamp(0.625rem, -0.494636472rem + 3.5756853397vw, 2.5rem);
     -moz-column-gap: clamp(0.625rem, -0.494636472rem + 3.5756853397vw, 2.5rem);
          column-gap: clamp(0.625rem, -0.494636472rem + 3.5756853397vw, 2.5rem);
  font-size: clamp(0.9375rem, 0.7508939213rem + 0.5959475566vw, 1.25rem);
  font-weight: 400;
  line-height: 2;
  margin-top: clamp(1.875rem, 0.1455152672rem + 7.3791348601vw, 3.6875rem);
}
@media (max-width: 500px) {
  .top-about__dl {
    grid-template-columns: 1fr;
  }
}
.top-about__dl * {
  --ls: 0;
}
.top-about__dt {
  display: grid;
  place-items: center;
  font-weight: 400;
  border-bottom: 1px solid var(--text);
  padding: clamp(0.875rem, 0.7438471503rem + 0.5595854922vw, 1.2125rem) 0;
}
@media (max-width: 500px) {
  .top-about__dt {
    place-items: start;
    padding-left: 5px;
  }
}
.top-about__dt:first-of-type {
  border-top: 1px solid var(--text);
}
.top-about__dd {
  white-space: pre-line;
  border-bottom: 1px solid var(--text);
  padding: clamp(0.9375rem, 0.830634715rem + 0.4559585492vw, 1.2125rem) 0;
  padding-left: clamp(0rem, -2.239272944rem + 7.1513706794vw, 3.75rem);
}
@media (max-width: 500px) {
  .top-about__dd {
    padding-left: 5px;
  }
}
.top-about__dd:first-of-type {
  border-top: 1px solid var(--text);
}
@media (max-width: 500px) {
  .top-about__dd:first-of-type {
    border-top: none;
  }
}
.top-about__link {
  margin-top: clamp(2.4375rem, 1.1851145038rem + 5.3435114504vw, 3.75rem);
  margin-inline: auto;
}

.top-recruit {
  min-height: 683px;
  overflow: hidden;
  background-color: var(--base);
  background-image: -webkit-repeating-linear-gradient(left, #fee4a1, #fee4a1 0.125rem, transparent 0.125rem, transparent 0.25rem);
  background-image: repeating-linear-gradient(90deg, #fee4a1, #fee4a1 0.125rem, transparent 0.125rem, transparent 0.25rem);
}
.top-recruit_pos {
  margin-top: clamp(2.5rem, -0.5rem + 12.8vw, 7.5rem);
}
.top-recruit__outer {
  max-width: 1440px;
  margin-inline: auto;
  padding: 24px 0 48px;
}
@media (max-width: 768px) {
  .top-recruit__outer {
    padding: 40px 0;
  }
}
.top-recruit__body {
  max-width: 1390px;
  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: 1px 15px;
  margin-left: auto;
  padding-left: 30px;
}
@media (max-width: 768px) {
  .top-recruit__body {
    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;
    padding-left: 0;
  }
}
.top-recruit__box {
  max-width: 640px;
  width: 100%;
  margin-top: clamp(0rem, -6.1600223547rem + 12.8166915052vw, 5.375rem);
}
@media (max-width: 768px) {
  .top-recruit__box {
    max-width: 710px;
    padding: 0 clamp(1.25rem, 0.6536259542rem + 2.5445292621vw, 1.875rem);
  }
}
.top-recruit__text {
  margin-top: clamp(1.8125rem, 1.2161259542rem + 2.5445292621vw, 2.4375rem);
}
.top-recruit__link {
  margin-top: 40px;
}
.top-recruit__img-wrapper {
  max-width: 691px;
  width: 100%;
  position: relative;
}
@media (max-width: 768px) {
  .top-recruit__img-wrapper {
    max-width: clamp(18.875rem, 7.1264312977rem + 50.1272264631vw, 31.1875rem);
    aspect-ratio: 499/459;
    margin-left: auto;
  }
}
.top-recruit__img {
  width: clamp(26.625rem, -2.3844076006rem + 60.3576751118vw, 51.9375rem);
  position: absolute;
  top: 0;
  left: 0;
}
@media (max-width: 768px) {
  .top-recruit__img {
    width: clamp(21.92rem, 7.0535877863rem + 63.4300254453vw, 37.5rem);
  }
}

/*###################################################################
  business（page）
###################################################################*/
.business1__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) {
  .business1__inner {
    padding: 0 clamp(0.9375rem, 0.0429389313rem + 3.8167938931vw, 1.875rem);
  }
}
.business1__inner_3 {
  padding-bottom: 100px;
}
.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 {
  position: relative;
}
.business1__item_1::after {
  content: "";
  width: 100%;
  aspect-ratio: 1920/883;
  position: absolute;
  top: 100px;
  z-index: -1;
  background: url(../images/c-bg-1.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/c-bg-1.webp) 1x, url(../images/c-bg-1@2x.webp) 2x);
  background-image: image-set(url(../images/c-bg-1.webp) 1x, url(../images/c-bg-1@2x.webp) 2x);
}
.business1__item_2::after {
  content: "";
  width: 100%;
  aspect-ratio: 1920/828;
  position: absolute;
  top: -4px;
  z-index: -1;
  background: url(../images/c-bg-2.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/c-bg-2.webp) 1x, url(../images/c-bg-2@2x.webp) 2x);
  background-image: image-set(url(../images/c-bg-2.webp) 1x, url(../images/c-bg-2@2x.webp) 2x);
}
.business1__body {
  background-color: var(--base);
  border: 2px solid #e3e3e3;
  -webkit-box-shadow: 5px 5px 20px rgba(146, 146, 146, 0.25);
          box-shadow: 5px 5px 20px rgba(146, 146, 146, 0.25);
  padding: clamp(2.5rem, 1.3072519084rem + 5.0890585242vw, 3.75rem) clamp(0.9375rem, 0.6393129771rem + 1.272264631vw, 1.25rem);
}
.business1__body-inner {
  max-width: 1120px;
  margin-inline: auto;
}
.business1__col {
  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: 30px 15px;
}
@media (max-width: 768px) {
  .business1__col {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.business1__col-box {
  max-width: 480px;
  width: 100%;
}
@media (max-width: 768px) {
  .business1__col-box {
    max-width: 600px;
  }
}
.business1__col-title {
  font-size: clamp(1.25rem, 1.1390532544rem + 0.4733727811vw, 1.5rem);
  line-height: 1.2;
  border-bottom: 1px solid var(--main);
  padding-bottom: 7px;
}
.business1__col-text1 {
  font-size: clamp(1.125rem, 1.0695266272rem + 0.2366863905vw, 1.25rem);
  line-height: 1.75;
  margin-top: 25px;
}
.business1__col-text2_1 {
  margin-top: 24px;
}
.business1__col-img {
  max-width: 600px;
  width: 100%;
}
.business1__list {
  margin-top: 38px;
}
.business1__list-title {
  height: 60px;
  background-color: var(--main-l);
  font-size: clamp(1.03125rem, 0.9341715976rem + 0.4142011834vw, 1.25rem);
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  padding-left: 10px;
}
.business1__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: 10px;
  margin-top: 20px;
}
.business1__list-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: 10px;
     -moz-column-gap: 10px;
          column-gap: 10px;
}
.business1__list-item::before {
  content: "";
  min-width: clamp(1.09375rem, 1.0330310881rem + 0.2590673575vw, 1.25rem);
  aspect-ratio: 1/1;
  background-color: var(--accent);
  border-radius: 50%;
  margin-top: 6px;
}

/*###################################################################
  （page）
###################################################################*/
/*###################################################################
  company（page）
###################################################################*/
.company1 {
  padding-bottom: 100px;
}
.company1__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) {
  .company1__inner {
    padding: 0 clamp(0.9375rem, 0.0429389313rem + 3.8167938931vw, 1.875rem);
  }
}
.company1__body {
  position: relative;
}
.company1__body::after {
  content: "";
  width: 100%;
  aspect-ratio: 1920/883;
  position: absolute;
  top: 100px;
  z-index: -1;
  background: url(../images/c-bg-1.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/c-bg-1.webp) 1x, url(../images/c-bg-1@2x.webp) 2x);
  background-image: image-set(url(../images/c-bg-1.webp) 1x, url(../images/c-bg-1@2x.webp) 2x);
}
.company1__dl {
  display: grid;
  grid-template-columns: clamp(4.5rem, -3.9944751381rem + 36.2430939227vw, 25rem) 1fr;
  font-size: clamp(0.875rem, 0.8232044199rem + 0.2209944751vw, 1rem);
  line-height: 1.75;
}
.company1__dt {
  display: grid;
  place-items: center;
  background-color: #fff0c8;
  font-weight: 500;
  text-align: center;
  border-bottom: 1px solid #b3b3b3;
}
.company1__dd {
  background-color: var(--base);
  border-bottom: 1px solid #b3b3b3;
  padding: 15px 0;
  padding-left: clamp(0.3125rem, -0.0759668508rem + 1.6574585635vw, 1.25rem);
}
.company1__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(0.3125rem, 0.1571132597rem + 0.6629834254vw, 0.6875rem);
}

/*###################################################################
  recruit（page）
###################################################################*/
/*###################################################################
  contact（page）
###################################################################*/
.contact1 {
  position: relative;
}
.contact1::after {
  content: "";
  width: 100%;
  aspect-ratio: 1920/400;
  position: absolute;
  bottom: 0;
  z-index: -1;
  background: url(../images/contact1-bg.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/contact1-bg.webp) 1x, url(../images/contact1-bg@2x.webp) 2x);
  background-image: image-set(url(../images/contact1-bg.webp) 1x, url(../images/contact1-bg@2x.webp) 2x);
}
.contact1__inner {
  max-width: 1280px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  padding-bottom: clamp(2.5rem, 1rem + 6.4vw, 5rem);
}
@media (max-width: 768px) {
  .contact1__inner {
    padding: 0 clamp(0.9375rem, 0.0429389313rem + 3.8167938931vw, 1.875rem) clamp(2.5rem, 1rem + 6.4vw, 5rem);
  }
}
.contact1__body {
  background-color: var(--base);
  border: 2px solid #e3e3e3;
  -webkit-box-shadow: 5px 5px 20px rgba(146, 146, 146, 0.25);
          box-shadow: 5px 5px 20px rgba(146, 146, 146, 0.25);
  margin-top: 39px;
  padding: clamp(2.5rem, 1.9820441989rem + 2.2099447514vw, 3.75rem) 20px;
}
.contact1__body-inner {
  max-width: 732px;
  margin-inline: auto;
}
.contact1__text {
  font-size: clamp(1rem, 0.8964088398rem + 0.4419889503vw, 1.25rem);
  line-height: 2;
  text-align: center;
  white-space: pre-line;
}
@media (max-width: 768px) {
  .contact1__text {
    text-align: left;
  }
}
.contact1__tel {
  max-width: clamp(18.75rem, 16.1602209945rem + 11.0497237569vw, 25rem);
  height: clamp(3.75rem, 3.2320441989rem + 2.2099447514vw, 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: 10px;
     -moz-column-gap: 10px;
          column-gap: 10px;
  background-color: var(--main);
  color: var(--base);
  font-size: clamp(1.5rem, 1.2928176796rem + 0.8839779006vw, 2rem);
  margin-top: 39px;
  margin-inline: auto;
}
.contact1__tel::before {
  content: "";
  min-width: clamp(1.078125rem, 0.9292127072rem + 0.635359116vw, 1.4375rem);
  aspect-ratio: 15/20;
  background-color: var(--base);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-image: url(../images/icon-tel.svg);
          mask-image: url(../images/icon-tel.svg);
}

@media (hover: hover) and (pointer: fine) {
  .contact1__tel {
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  .contact1__tel:hover {
    background-color: var(--accent);
  }
}
.contact2 {
  padding-bottom: 100px;
}
.contact2__bg {
  background-color: #eef8fb;
  background-image: -webkit-radial-gradient(circle, #d9ecf5 3px, transparent 3px);
  background-image: radial-gradient(circle, #d9ecf5 3px, transparent 3px);
  background-position: 0 0;
  background-size: 32px 32px;
}
.contact2__inner {
  max-width: 1120px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding: 60px 30px 80px;
}
@media (max-width: 1280px) {
  .contact2__inner {
    padding: 60px clamp(0.9375rem, 0.0429389313rem + 3.8167938931vw, 1.875rem) 80px;
  }
}
.contact2__title {
  border-color: var(--main);
}
.contact2__body1 {
  background-color: var(--base);
  margin-top: 39px;
  padding: clamp(1.875rem, 1.6160220994rem + 1.1049723757vw, 2.5rem) 20px;
}
.contact2__text1 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: clamp(1rem, 0.8964088398rem + 0.4419889503vw, 1.25rem);
  line-height: 2;
  text-align: center;
  white-space: pre-line;
  margin-inline: auto;
}
@media (max-width: 768px) {
  .contact2__text1 {
    text-align: left;
  }
}
.contact2__body2 {
  background-color: var(--base);
  margin-top: 39px;
  padding: 50px 20px 11px;
}
.contact2__body2-inner {
  max-width: 960px;
  margin-inline: auto;
}
@media (max-width: 768px) {
  .contact2__body2-inner {
    max-width: 600px;
  }
}

.form {
  font-size: clamp(0.9375rem, 0.7922960725rem + 0.3021148036vw, 1rem);
  line-height: 1.2;
}
.form * {
  --ls: 0;
}
.form__paragraph {
  display: grid;
  grid-template-columns: clamp(16.75rem, 3.3912386707rem + 27.7945619335vw, 22.5rem) 1fr;
  border-bottom: 1px solid #b3b3b3;
  padding: clamp(1.5rem, -0.0246412387rem + 3.1722054381vw, 2.15625rem) 0;
}
@media (max-width: 768px) {
  .form__paragraph {
    grid-template-columns: 1fr;
    row-gap: 15px;
  }
}
.form__paragraph_company {
  padding-top: 0;
}
.form__paragraph_radio {
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
  padding: 24px 0;
}
.form__paragraph_message {
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
  padding: 25px 0;
}
.form__title {
  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.625rem, -0.8270392749rem + 3.0211480363vw, 1.25rem);
     -moz-column-gap: clamp(0.625rem, -0.8270392749rem + 3.0211480363vw, 1.25rem);
          column-gap: clamp(0.625rem, -0.8270392749rem + 3.0211480363vw, 1.25rem);
  padding-left: clamp(0rem, -4.3561178248rem + 9.0634441088vw, 1.875rem);
}
.form__title_term {
  margin-top: 11px;
}
@media (max-width: 768px) {
  .form__title_term {
    margin-top: 0;
  }
}
.form__title_message {
  margin-top: 20px;
}
@media (max-width: 768px) {
  .form__title_message {
    margin-top: 0;
  }
}
.form__required {
  max-width: clamp(2.8125rem, 1.7960725076rem + 2.1148036254vw, 3.25rem);
  width: 100%;
  height: clamp(2.125rem, 1.3989803625rem + 1.5105740181vw, 2.4375rem);
  display: grid;
  place-items: center;
  background-color: var(--main);
  color: var(--base);
}
.form__input {
  max-width: 600px;
  width: 100%;
  height: 40px;
  background-color: var(--base);
  border-radius: 7px;
  border: 2px solid #b6b6b6;
  padding: 10px 10px;
}
.form__input_message {
  height: 309px;
  resize: vertical;
}
.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;
  accent-color: var(--main);
}
.form__radio .wpcf7-list-item {
  margin: 0;
}
.form__radio .wpcf7-list-item label {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  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;
  cursor: pointer;
}
.form__radio input {
  inline-size: 1.25rem;
  block-size: 1.25rem;
}
.form__note {
  max-width: 670px;
  margin-top: clamp(2.5rem, -0.4040785498rem + 6.0422960725vw, 3.75rem);
  margin-inline: auto;
}
.form__note * {
  --ls: 0.1em;
}
.form__note-title {
  max-width: 480px;
  font-size: clamp(1.125rem, 0.9rem + 0.96vw, 1.5rem);
  text-align: center;
  border-bottom: 1px solid var(--main);
  margin-inline: auto;
  padding-bottom: 8px;
}
.form__note-text {
  text-align: center;
}
@media (max-width: 768px) {
  .form__note-text {
    text-align: left;
  }
}
.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: 60px;
}
.form__action-button {
  width: 192px;
  height: 59px;
  background-color: var(--main);
  color: var(--base);
  text-align: center;
  vertical-align: middle;
  --ls: 0;
}
.form[data-status=sent] .form__button-wrapper {
  display: none;
}

@media (hover: hover) and (pointer: fine) {
  .form__action-button {
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  .form__action-button:hover, .form__action-button:focus {
    background-color: var(--accent);
  }
}
/*###################################################################
  page-404（page）
###################################################################*/
.page-404_pos {
  margin-top: clamp(5rem, 2.0833333333rem + 11.6666666667vw, 9.375rem);
}
.page-404__inner {
  max-width: 1000px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
@media (max-width: 768px) {
  .page-404__inner {
    padding: 0 clamp(0.9375rem, -0.0815217391rem + 4.0760869565vw, 1.875rem);
  }
}
.page-404__title {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.75;
}
.page-404__text {
  line-height: 2;
  white-space: pre-line;
  margin-top: 50px;
}
.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制御用）
###################################################################*/