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

/*###################################################################
  base（共通設定）
###################################################################*/
/*----------------------------------
  html
----------------------------------*/
[id] {
  scroll-margin-top: 180px;
}
@media (max-width: 768px) {
  [id] {
    scroll-margin-top: 70px;
  }
}

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

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

/*###################################################################
  animation（共通設定）
###################################################################*/
/*----------------------------------
  mv-title
----------------------------------*/
@-webkit-keyframes mvTitle {
  0% {
    -webkit-clip-path: inset(0 100% 0 0);
            clip-path: inset(0 100% 0 0);
  }
  100% {
    -webkit-clip-path: inset(0);
            clip-path: inset(0);
  }
}
@keyframes mvTitle {
  0% {
    -webkit-clip-path: inset(0 100% 0 0);
            clip-path: inset(0 100% 0 0);
  }
  100% {
    -webkit-clip-path: inset(0);
            clip-path: inset(0);
  }
}
/*----------------------------------
  無限ループスライダー
----------------------------------*/
@-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%);
  }
}
/*----------------------------------
  点滅
----------------------------------*/
@-webkit-keyframes fadeLoop {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadeLoop {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
/*###################################################################
  header（module）
###################################################################*/
.header {
  width: 100%;
  position: relative;
  z-index: 10;
  border-right: clamp(0.625rem, -0.6917808219rem + 2.7397260274vw, 1.5rem) solid var(--main);
  border-left: clamp(0.625rem, -0.6917808219rem + 2.7397260274vw, 1.5rem) solid var(--main);
}
@media (max-width: 768px) {
  .header {
    position: absolute;
    top: 0;
    background-color: var(--base);
    border: none;
  }
}
.header_sticky {
  position: fixed;
  top: 0;
  background-color: var(--base);
}
.header_lower {
  background-color: var(--base);
}
.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-align-self: center;
      -ms-flex-item-align: center;
          align-self: center;
  -webkit-column-gap: 15px;
     -moz-column-gap: 15px;
          column-gap: 15px;
  padding-top: clamp(0.375rem, -1.6578549849rem + 4.2296072508vw, 1.25rem);
  padding-right: clamp(0.625rem, -2.391959799rem + 3.0150753769vw, 1rem);
  padding-bottom: clamp(0.4375rem, -3.1925981873rem + 7.5528700906vw, 2rem);
  padding-left: clamp(0.625rem, -23.510678392rem + 24.1206030151vw, 3.625rem);
}
@media (max-width: 768px) {
  .header__inner {
    padding-right: 11px;
  }
}
.header__logo {
  max-width: clamp(6.875rem, 0.9216389728rem + 12.3867069486vw, 9.4375rem);
  width: 100%;
}
@media (max-width: 768px) {
  .header__logo {
    max-width: 187px;
    position: relative;
    z-index: 30;
    margin-top: 7px;
  }
}
.header__menu {
  max-width: 1439px;
  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: 1600px) {
  .header__menu {
    max-width: 719px;
    -webkit-box-pack: start;
    -webkit-justify-content: start;
        -ms-flex-pack: start;
            justify-content: start;
    -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: end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
    row-gap: 15px;
  }
}
@media (max-width: 768px) {
  .header__menu {
    display: none;
  }
}
.header__group {
  max-width: clamp(33.9375rem, 13.6089501511rem + 42.2960725076vw, 42.6875rem);
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 10px;
     -moz-column-gap: 10px;
          column-gap: 10px;
}
.header__tel {
  max-width: clamp(12.9375rem, 8.7265861027rem + 8.7613293051vw, 14.75rem);
  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: 10px;
  color: #019fe9;
  line-height: 1;
}
.header__tel-link {
  font-family: "Lato", sans-serif;
  font-size: clamp(1.75rem, 1.16918429rem + 1.2084592145vw, 2rem);
  font-weight: 900;
  letter-spacing: 0.04em;
}
.header__tel-text {
  font-size: clamp(0.8125rem, 0.522092145rem + 0.6042296073vw, 0.9375rem);
}
.header__buttons {
  max-width: clamp(20.625rem, 7.5566465257rem + 27.1903323263vw, 26.25rem);
  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;
}
.header__button {
  width: 100%;
  height: 51px;
  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-size: clamp(0.875rem, 0.584592145rem + 0.6042296073vw, 1rem);
  line-height: 1;
  letter-spacing: 0.04em;
  border-radius: 9999px;
}
.header__button_contact {
  max-width: clamp(8.125rem, 2.7524546828rem + 11.1782477341vw, 10.4375rem);
  -webkit-column-gap: 6px;
     -moz-column-gap: 6px;
          column-gap: 6px;
  background-color: var(--accent);
}
.header__button_contact::before {
  content: "";
  min-width: 14px;
  aspect-ratio: 14/11;
  background-color: var(--main-l);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-image: url(../images/icon-mail.svg);
          mask-image: url(../images/icon-mail.svg);
}
.header__button_dl {
  max-width: clamp(11.875rem, 4.0339879154rem + 16.3141993958vw, 15.25rem);
  -webkit-column-gap: 9px;
     -moz-column-gap: 9px;
          column-gap: 9px;
  background-color: var(--main);
  color: var(--base);
}
.header__button_dl::after {
  content: "";
  min-width: 19px;
  aspect-ratio: 1/1;
  background-color: var(--accent);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-image: url(../images/icon-dl-1.svg);
          mask-image: url(../images/icon-dl-1.svg);
}

@media (hover: hover) and (pointer: fine) {
  .header__tel-link {
    -webkit-transition: color 0.4s;
    transition: color 0.4s;
  }
  .header__tel-link:hover, .header__tel-link:focus {
    color: var(--accent);
  }
  .header__button {
    -webkit-transition: background-color 0.4s, color 0.4s;
    transition: background-color 0.4s, color 0.4s;
  }
  .header__button::before, .header__button::after {
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  .header__button_contact:hover, .header__button_contact:focus {
    background-color: var(--main-l);
    color: var(--base);
  }
  .header__button_contact:hover::before, .header__button_contact:focus::before {
    background-color: var(--accent);
  }
  .header__button_dl:hover, .header__button_dl:focus {
    background-color: var(--main-l);
  }
}
.header-nav {
  max-width: clamp(35.0625rem, 12.1202794562rem + 47.7341389728vw, 44.9375rem);
  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(1rem, 0.41918429rem + 1.2084592145vw, 1.25rem);
  line-height: 1;
  letter-spacing: 0.04em;
}

@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(--main-l);
  }
}
/*###################################################################
  footer（module）
###################################################################*/
.footer-contact {
  overflow: hidden;
  position: relative;
  z-index: 0;
  background: -webkit-gradient(linear, left top, right top, from(#373b50), to(#171923));
  background: -webkit-linear-gradient(left, #373b50 0%, #171923 100%);
  background: linear-gradient(90deg, #373b50 0%, #171923 100%);
  color: var(--base);
}
.footer-contact::before {
  content: "";
  width: clamp(12.0625rem, 8.5098684211rem + 15.1578947368vw, 25.5625rem);
  aspect-ratio: 409/371;
  position: absolute;
  bottom: 0;
  left: clamp(-2.4375rem, -4.0493421053rem + 6.8771929825vw, 3.6875rem);
  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);
}
.footer-contact::after {
  content: "";
  width: clamp(11rem, 8.7960526316rem + 9.4035087719vw, 19.375rem);
  aspect-ratio: 1/1;
  position: absolute;
  top: calc(clamp(2.4375rem, 1.8618421053rem + 2.4561403509vw, 4.625rem) * -1);
  right: calc(clamp(1.4375rem, 1.125rem + 1.3333333333vw, 2.625rem) * -1);
  border: 16px solid rgba(0, 137, 204, 0.6);
  border-radius: 50%;
}
.footer-contact__inner {
  max-width: 658px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding: 94px 30px 110px;
  position: relative;
  z-index: 1;
}
@media (max-width: 1000px) {
  .footer-contact__inner {
    padding: clamp(3.75rem, 2.475rem + 5.44vw, 5.875rem) clamp(0.9375rem, 0.0429389313rem + 3.8167938931vw, 1.875rem) clamp(3.1875rem, 0.975rem + 9.44vw, 6.875rem);
  }
}
.footer-contact__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.75rem, -0.383110687rem + 4.834605598vw, 1.9375rem);
  line-height: 1;
}
.footer-contact__jp {
  font-size: calc(clamp(-2.25rem, -2.4885496183rem + 1.0178117048vw, -2rem) * -1);
}
.footer-contact__en {
  font-family: "Lato", sans-serif;
  font-size: clamp(1.25rem, -0.4198473282rem + 7.1246819338vw, 3rem);
  font-weight: 900;
  letter-spacing: 0.04em;
}
.footer-contact__text {
  font-size: clamp(0.9375rem, 0.825rem + 0.48vw, 1.125rem) !important;
  text-align: center;
  margin-top: clamp(1.625rem, 1.4460877863rem + 0.7633587786vw, 1.8125rem);
}
.footer-contact__items {
  max-width: 628px;
  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;
  margin-top: 37px;
  margin-inline: auto;
}
@media (max-width: 600px) {
  .footer-contact__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: 33px;
    margin-top: 42px;
  }
}
.footer-contact__item1 {
  max-width: 268px;
  width: 100%;
}
.footer-contact__item2 {
  max-width: 280px;
  width: 100%;
}
.footer-contact__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;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: 9px;
}
.footer-contact__item-title::after {
  content: "";
  width: 244px;
  aspect-ratio: 244/13;
  background: url(../images/footer-contact-line.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/footer-contact-line.webp) 1x, url(../images/footer-contact-line@2x.webp) 2x);
  background-image: image-set(url(../images/footer-contact-line.webp) 1x, url(../images/footer-contact-line@2x.webp) 2x);
}
.footer-contact__item-title-text {
  font-size: 1.25rem;
}
.footer-contact__big {
  font-size: 1.75rem;
}
.footer-contact__tel-link {
  display: inline-block;
  font-family: "Lato", sans-serif;
  font-size: 2.25rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.04em;
  margin-top: 19px;
  margin-inline: auto;
}
.footer-contact__time {
  text-align: center;
  margin-top: 7px;
}
.footer-contact__contact-link {
  height: 51px;
  max-width: 280px;
  width: 100%;
  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: 6px;
     -moz-column-gap: 6px;
          column-gap: 6px;
  background-color: var(--accent);
  color: var(--text);
  line-height: 1;
  letter-spacing: 0.04em;
  border-radius: 9999px;
  margin-top: 27px;
  margin-inline: auto;
}
.footer-contact__contact-link::before {
  content: "";
  min-width: 14px;
  aspect-ratio: 14/11;
  background-color: var(--main-l);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-image: url(../images/icon-mail.svg);
          mask-image: url(../images/icon-mail.svg);
}

@media (hover: hover) and (pointer: fine) {
  .footer-contact__tel-link {
    -webkit-transition: color 0.4s;
    transition: color 0.4s;
  }
  .footer-contact__tel-link:hover, .footer-contact__tel-link:focus {
    color: var(--accent);
  }
  .footer-contact__contact-link {
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  .footer-contact__contact-link:hover, .footer-contact__contact-link:focus {
    background-color: var(--base);
  }
}
.footer {
  overflow: hidden;
}
.footer__top {
  position: relative;
}
.footer__top::before {
  content: "";
  width: clamp(8.4375rem, 7.7151639344rem + 3.0819672131vw, 11.375rem);
  aspect-ratio: 1/1;
  position: absolute;
  top: calc(clamp(-10.5625rem, -12.237704918rem + 7.1475409836vw, -3.75rem) * -1);
  left: clamp(-2.4375rem, -8.6004098361rem + 26.2950819672vw, 22.625rem);
  z-index: -1;
  border-radius: 50%;
  border: 16px solid #f5f5f5;
}
.footer__top::after {
  content: "";
  width: clamp(10.25rem, 9.3586065574rem + 3.8032786885vw, 13.875rem);
  aspect-ratio: 1/1;
  position: absolute;
  top: clamp(1.3125rem, -0.362704918rem + 7.1475409836vw, 8.125rem);
  right: clamp(-3.5625rem, -8.1116803279rem + 19.4098360656vw, 14.9375rem);
  z-index: -1;
  background: url(../images/footer-deco-2.webp) no-repeat 0 0/contain;
  background-image: -webkit-image-set(url(../images/footer-deco-2.webp) 1x, url(../images/footer-deco-2@2x.webp) 2x);
  background-image: image-set(url(../images/footer-deco-2.webp) 1x, url(../images/footer-deco-2@2x.webp) 2x);
}
.footer__top-inner {
  max-width: 540px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  padding-top: 85px;
}
@media (max-width: 768px) {
  .footer__top-inner {
    padding: clamp(3.0625rem, 0.9155534351rem + 9.1603053435vw, 5.3125rem) clamp(0.9375rem, 0.0429389313rem + 3.8167938931vw, 1.875rem) 0;
  }
}
.footer__top-title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: clamp(0.6875rem, -0.2666984733rem + 4.0712468193vw, 1.6875rem);
  font-size: 1.5rem;
  line-height: 1.4;
  text-align: center;
  letter-spacing: 0.04em;
}
.footer__top-title::after {
  content: "";
  width: 100%;
  height: 22px;
  background: url(../images/top-title-line.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/top-title-line.webp) 1x, url(../images/top-title-line@2x.webp) 2x);
  background-image: image-set(url(../images/top-title-line.webp) 1x, url(../images/top-title-line@2x.webp) 2x);
}
@media (max-width: 768px) {
  .footer__top-title::after {
    max-width: 343px;
    height: 18px;
    background: url(../images/top-title-line_sp.webp) no-repeat center center/cover;
    background-image: -webkit-image-set(url(../images/top-title-line_sp.webp) 1x, url(../images/top-title-line_sp@2x.webp) 2x);
    background-image: image-set(url(../images/top-title-line_sp.webp) 1x, url(../images/top-title-line_sp@2x.webp) 2x);
    margin-inline: auto;
  }
}
.footer__dl {
  max-width: 244px;
  height: 51px;
  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: 9px;
     -moz-column-gap: 9px;
          column-gap: 9px;
  background-color: var(--main);
  color: var(--base);
  line-height: 1;
  letter-spacing: 0.04em;
  border-radius: 9999px;
  margin-top: 40px;
  margin-inline: auto;
}
.footer__dl::after {
  content: "";
  min-width: 19px;
  aspect-ratio: 1/1;
  background-color: var(--accent);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-image: url(../images/icon-dl-1.svg);
          mask-image: url(../images/icon-dl-1.svg);
}
.footer__main {
  overflow: hidden;
  position: relative;
  color: var(--base);
  margin-top: 67px;
}
@media (max-width: 768px) {
  .footer__main {
    margin-top: 101px;
  }
}
.footer__bg {
  position: relative;
}
.footer__bg::after {
  content: "";
  width: 3215px;
  aspect-ratio: 1/1;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: -1;
  background-color: #0090d6;
  border-radius: 9999px;
}
@media (max-width: 768px) {
  .footer__bg::after {
    width: 2057px;
  }
}
.footer__main-inner {
  max-width: 954px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding: 40px 30px 31px;
}
@media (max-width: 768px) {
  .footer__main-inner {
    padding: 48px clamp(0.625rem, -0.5677480916rem + 5.0890585242vw, 1.875rem) 21px;
  }
}
.footer__logo {
  max-width: 151px;
  display: block;
  margin-inline: auto;
}
.footer__text {
  line-height: 1;
  text-align: center;
  letter-spacing: 0.04em;
}
.footer__text_1 {
  margin-top: 30px;
}
.footer__text_2 {
  margin-top: 13px;
}
.footer__box {
  max-width: 355px;
  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;
  margin-top: 13px;
  margin-inline: auto;
}
.footer__col {
  max-width: 783px;
  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: 51px;
}
@media (max-width: 768px) {
  .footer__col {
    -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: 39px;
    margin-top: 48px;
  }
}
.footer__map {
  max-width: clamp(21.4375rem, 11.776240458rem + 41.2213740458vw, 31.5625rem);
  width: 100%;
}
.footer__gmap {
  width: 100%;
  height: clamp(13.4375rem, 7.3544847328rem + 25.9541984733vw, 19.8125rem);
}
.footer__nav {
  margin-top: 25px;
}
@media (max-width: 768px) {
  .footer__nav {
    margin-top: 0;
  }
}
.footer__copy {
  color: #aeaeae;
  font-size: 0.9375rem;
  text-align: center;
  letter-spacing: 0.04em;
  margin-top: clamp(2rem, 1.1650763359rem + 3.5623409669vw, 2.875rem);
}

@media (hover: hover) and (pointer: fine) {
  .footer__dl {
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  .footer__dl:hover, .footer__dl:focus {
    background-color: var(--main-l);
  }
  .footer__tel {
    -webkit-transition: color 0.4s;
    transition: color 0.4s;
  }
  .footer__tel:hover {
    color: var(--accent);
  }
}
.footer-nav {
  max-width: 148px;
  width: 100%;
}
.footer-nav__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: 23px;
}
.footer-nav__link {
  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: 12px;
     -moz-column-gap: 12px;
          column-gap: 12px;
  font-size: 1.25rem;
  line-height: 1;
  letter-spacing: 0.04em;
}
.footer-nav__link::before {
  content: "";
  min-width: 11px;
  aspect-ratio: 1/1;
  -webkit-clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
          clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  background-color: var(--main);
}

@media (hover: hover) and (pointer: fine) {
  .footer-nav__link {
    -webkit-transition: color 0.4s;
    transition: color 0.4s;
  }
  .footer-nav__link::before {
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  .footer-nav__link:hover, .footer-nav__link:focus {
    color: var(--accent);
  }
  .footer-nav__link:hover::before, .footer-nav__link:focus::before {
    background-color: var(--accent);
  }
}
.footer-page-top {
  width: clamp(3.5625rem, -0.0116193738rem + 7.4363992172vw, 5.9375rem);
  aspect-ratio: 1/1;
  display: grid;
  place-items: center;
  position: absolute;
  right: 30px;
  bottom: 56px;
  z-index: 5;
  background-color: var(--main);
  border-radius: 50%;
}
@media (max-width: 768px) {
  .footer-page-top {
    bottom: 314px;
    right: 10px;
  }
}
.footer-page-top::after {
  content: "";
  width: clamp(1.4375rem, -0.3495596869rem + 3.7181996086vw, 2.625rem);
  aspect-ratio: 42/24;
  background-color: var(--base);
  -webkit-mask-image: url(../images/icon-page-top.svg);
          mask-image: url(../images/icon-page-top.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}

/*###################################################################
  breadcrumb（module）
###################################################################*/
.breadcrumb {
  background-color: var(--main);
  color: var(--base);
  font-size: clamp(0.875rem, 0.8rem + 0.32vw, 1rem);
  line-height: 1.75;
}
.breadcrumb * {
  letter-spacing: 0.04em;
}
.breadcrumb__inner {
  max-width: 1638px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding: 13px 30px 13px;
}
@media (max-width: 1000px) {
  .breadcrumb__inner {
    padding: 13px clamp(0.9375rem, 0.0429389313rem + 3.8167938931vw, 1.875rem);
  }
}
.breadcrumb span:not(:last-of-type) {
  padding-right: clamp(0.5rem, 0.2375rem + 1.12vw, 0.9375rem);
}
.breadcrumb span:not(:first-of-type) {
  padding-left: clamp(0.5rem, 0.2375rem + 1.12vw, 0.9375rem);
}

/*###################################################################
  c-link（module）
###################################################################*/
.c-link-1 {
  max-width: 315px;
  height: 54px;
  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(--base);
  font-size: 0.875rem;
  line-height: 1;
  border: 2px solid var(--main);
  border-radius: 9999px;
  padding-right: 23px;
  padding-left: 33px;
}
.c-link-1::after {
  content: "";
  min-width: 21px;
  aspect-ratio: 21/9;
  background-color: var(--main);
  -webkit-mask-image: url(../images/icon-link-arrow-2.svg);
          mask-image: url(../images/icon-link-arrow-2.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}

@media (hover: hover) and (pointer: fine) {
  .c-link-1 {
    -webkit-transition: background-color 0.4s, color 0.4s;
    transition: background-color 0.4s, color 0.4s;
  }
  .c-link-1::after {
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  .c-link-1:hover, .c-link-1:focus {
    background-color: var(--main);
    color: var(--base);
  }
  .c-link-1:hover::after, .c-link-1:focus::after {
    background-color: var(--base);
  }
}
/*###################################################################
  c-text（module）
###################################################################*/
.c-t18 {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.04em;
  white-space: pre-line;
}

.c-t18r {
  font-size: clamp(1rem, 0.875rem + 0.4vw, 1.125rem);
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.04em;
  white-space: pre-line;
}

/*###################################################################
  c-title（module）
###################################################################*/
.c-title-1 {
  max-width: 728px;
  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: 9px;
  color: var(--main);
  line-height: 1;
}
.c-title-1__jp {
  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(1.0625rem, 0.6125rem + 1.92vw, 1.8125rem);
  font-size: clamp(1.8125rem, 1.1rem + 3.04vw, 3rem);
  text-align: center;
  white-space: pre-line;
}
.c-title-1__jp::after {
  content: "";
  width: 100%;
  aspect-ratio: 728/35;
  background: url(../images/c-title-line.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/c-title-line.webp) 1x, url(../images/c-title-line@2x.webp) 2x);
  background-image: image-set(url(../images/c-title-line.webp) 1x, url(../images/c-title-line@2x.webp) 2x);
}
.c-title-1__en {
  font-family: "Lato", sans-serif;
  font-size: clamp(1.5rem, 0.9rem + 2.56vw, 2.5rem);
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.04em;
}

.c-title-jp {
  max-width: 728px;
  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: clamp(0.5rem, 0.1625rem + 1.44vw, 1.0625rem);
  color: var(--main);
  font-size: clamp(1.8125rem, 1.1rem + 3.04vw, 3rem);
  line-height: 1.5;
  text-align: center;
}
.c-title-jp::after {
  content: "";
  width: 100%;
  aspect-ratio: 728/35;
  background: url(../images/c-title-line.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/c-title-line.webp) 1x, url(../images/c-title-line@2x.webp) 2x);
  background-image: image-set(url(../images/c-title-line.webp) 1x, url(../images/c-title-line@2x.webp) 2x);
}

.c-title-en {
  max-width: 728px;
  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: clamp(0.5rem, 0.0125rem + 2.08vw, 1.3125rem);
  color: var(--main);
  font-family: "Lato", sans-serif;
  font-size: clamp(1.5rem, 0.9rem + 2.56vw, 2.5rem);
  font-weight: 900;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.04em;
}
.c-title-en::after {
  content: "";
  width: 100%;
  aspect-ratio: 728/35;
  background: url(../images/c-title-line.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/c-title-line.webp) 1x, url(../images/c-title-line@2x.webp) 2x);
  background-image: image-set(url(../images/c-title-line.webp) 1x, url(../images/c-title-line@2x.webp) 2x);
}
.c-title-en__jp {
  font-family: "Kiwi Maru", serif;
  font-weight: 500;
}

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

/*###################################################################
  hamburger（module）
###################################################################*/
.hamburger {
  width: 58px;
  height: 58px;
  display: inline-block;
  position: relative;
  z-index: 30;
  background-color: var(--main);
  border-radius: 50%;
}
@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(-9px) rotate(142deg);
      -ms-transform: translateY(-9px) rotate(142deg);
          transform: translateY(-9px) rotate(142deg);
}
.hamburger[aria-expanded=true] .hamburger__line::after {
  -webkit-transform: translateY(9px) rotate(-142deg);
      -ms-transform: translateY(9px) rotate(-142deg);
          transform: translateY(9px) rotate(-142deg);
}
.hamburger__line {
  width: 27px;
  height: 3px;
  display: inline-block;
  position: absolute;
  top: calc(50% - 2px);
  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);
  border-radius: 13px;
}
.hamburger__line::before {
  content: "";
  width: 100%;
  height: 3px;
  display: inline-block;
  position: absolute;
  top: 9px;
  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);
  border-radius: 13px;
}
.hamburger__line::after {
  content: "";
  width: 100%;
  height: 3px;
  display: inline-block;
  position: absolute;
  bottom: 9px;
  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);
  border-radius: 13px;
}

@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: 100%;
  height: 100vh;
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition: 0.5s;
  transition: 0.5s;
  background-color: var(--main-l);
  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: 71px;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  background-color: var(--main-l);
  z-index: 1;
}
.drawer__nav {
  margin-top: 87px;
}
.drawer__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;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: 26px;
}
.drawer__link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  color: var(--base);
  font-size: 1.5rem;
  line-height: 1;
  letter-spacing: 0.04em;
}
.drawer__bottom {
  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: 32px;
  margin-top: 145px;
}
.drawer__tel {
  max-width: 268px;
  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: 7px;
  color: var(--base);
  line-height: 1;
}
.drawer__tel-link {
  font-family: "Lato", sans-serif;
  font-size: 2.25rem;
  font-weight: 900;
  letter-spacing: 0.04em;
}
.drawer__tel-text {
  font-size: 1.0625rem;
}
.drawer__contact {
  height: 51px;
  max-width: 280px;
  width: 100%;
  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;
  line-height: 1;
  letter-spacing: 0.04em;
  border-radius: 9999px;
  -webkit-column-gap: 6px;
     -moz-column-gap: 6px;
          column-gap: 6px;
  background-color: var(--accent);
}
.drawer__contact::before {
  content: "";
  min-width: 14px;
  aspect-ratio: 14/11;
  background-color: var(--main-l);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-image: url(../images/icon-mail.svg);
          mask-image: url(../images/icon-mail.svg);
}

.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__tel-link {
    -webkit-transition: color 0.4s;
    transition: color 0.4s;
  }
  .drawer__tel-link:hover, .drawer__tel-link:focus {
    color: var(--accent);
  }
  .drawer__contact {
    -webkit-transition: background-color 0.4s, color 0.4s;
    transition: background-color 0.4s, color 0.4s;
  }
  .drawer__contact::before {
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  .drawer__contact:hover, .drawer__contact:focus {
    background-color: var(--main);
    color: var(--base);
  }
  .drawer__contact:hover::before, .drawer__contact:focus::before {
    background-color: var(--accent);
  }
}
.drawer-bg {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  background-color: #000;
  visibility: hidden;
  opacity: 0;
  z-index: 5;
}

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

/*###################################################################
  hover（module）
###################################################################*/
@media (hover: hover) and (pointer: fine) {
  .op {
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
  }
  .op:hover, .op:focus {
    opacity: 0.7;
  }
}
@media (hover: hover) and (pointer: fine) {
  .op-fn {
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
  }
  .op-fn:hover {
    opacity: 0.7;
  }
}
@media (hover: hover) and (pointer: fine) {
  .op-im {
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
  }
  .op-im:hover, .op-im:focus {
    opacity: 0.7 !important;
  }
}
@media (hover: hover) and (pointer: fine) {
  .op-fnim {
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
  }
  .op-fnim:hover {
    opacity: 0.7 !important;
  }
}
/*###################################################################
  lower（module）
###################################################################*/
.lower-bg-1 {
  position: relative;
  z-index: 1;
  background-color: var(--base);
  background-image: -webkit-linear-gradient(left, rgba(219, 241, 255, 0.5019607843) 2px, transparent 2px), -webkit-linear-gradient(rgba(219, 241, 255, 0.5019607843) 2px, transparent 2px);
  background-image: linear-gradient(90deg, rgba(219, 241, 255, 0.5019607843) 2px, transparent 2px), linear-gradient(rgba(219, 241, 255, 0.5019607843) 2px, transparent 2px);
  background-position: 10px 10px;
  background-size: 16px 16px;
}
.lower-bg-1::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: -webkit-linear-gradient(271.76deg, #e8f1f7 27.69%, rgba(250, 253, 255, 0) 97.11%);
  background: linear-gradient(178.24deg, #e8f1f7 27.69%, rgba(250, 253, 255, 0) 97.11%);
}

.lower-mv {
  border-right: clamp(0.625rem, -0.6917808219rem + 2.7397260274vw, 1.5rem) solid var(--main);
  border-left: clamp(0.625rem, -0.6917808219rem + 2.7397260274vw, 1.5rem) solid var(--main);
  padding-top: 4px;
}
@media (max-width: 768px) {
  .lower-mv {
    border: none;
  }
}
.lower-mv__inner {
  display: grid;
  grid-template-columns: 1fr 59.188034188%;
}
@media (max-width: 768px) {
  .lower-mv__inner {
    padding-top: 71px;
  }
}
.lower-mv__box {
  max-width: 761px;
  width: 100%;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  margin-inline: auto;
  padding: 0 clamp(0.625rem, 0.1070441989rem + 2.2099447514vw, 1.875rem);
}
.lower-mv__box-inner {
  max-width: 356px;
  margin-left: auto;
}
.lower-mv__title {
  font-size: clamp(1.5rem, 0.6515837104rem + 3.6199095023vw, 4rem);
  letter-spacing: -0.09em;
}
.lower-mv__img {
  min-height: 150px;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: left;
     object-position: left;
}

.lower-line {
  position: relative;
  padding: 0 clamp(0.625rem, -0.6917808219rem + 2.7397260274vw, 1.5rem);
}
@media (max-width: 768px) {
  .lower-line {
    padding: 0;
  }
}
.lower-line::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  z-index: -1;
  border-right: clamp(0.625rem, -0.6917808219rem + 2.7397260274vw, 1.5rem) solid var(--main);
  border-left: clamp(0.625rem, -0.6917808219rem + 2.7397260274vw, 1.5rem) solid var(--main);
}
@media (max-width: 768px) {
  .lower-line::before {
    content: none;
  }
}

/*###################################################################
  WordPressテスト環境用設定
###################################################################*/
/*###################################################################
  top（page）
###################################################################*/
.top-bg-1 {
  position: relative;
  z-index: 1;
  background-color: var(--base);
  background-image: -webkit-linear-gradient(left, rgba(219, 241, 255, 0.5019607843) 2px, transparent 2px), -webkit-linear-gradient(rgba(219, 241, 255, 0.5019607843) 2px, transparent 2px);
  background-image: linear-gradient(90deg, rgba(219, 241, 255, 0.5019607843) 2px, transparent 2px), linear-gradient(rgba(219, 241, 255, 0.5019607843) 2px, transparent 2px);
  background-position: 10px 10px;
  background-size: 16px 16px;
}
.top-bg-1::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: -webkit-linear-gradient(271.76deg, #e8f1f7 72.14%, rgba(250, 253, 255, 0) 97.11%);
  background: linear-gradient(178.24deg, #e8f1f7 72.14%, rgba(250, 253, 255, 0) 97.11%);
}

.top-title {
  max-width: 540px;
  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: 4px;
  color: var(--main);
}
.top-title__jp {
  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: 28px;
  font-size: 2.25rem;
  line-height: 1.8;
  text-align: center;
  white-space: pre-line;
}
@media (max-width: 768px) {
  .top-title__jp {
    row-gap: 5px;
  }
}
.top-title__jp::after {
  content: "";
  width: 100%;
  height: 22px;
  background: url(../images/top-title-line.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/top-title-line.webp) 1x, url(../images/top-title-line@2x.webp) 2x);
  background-image: image-set(url(../images/top-title-line.webp) 1x, url(../images/top-title-line@2x.webp) 2x);
}
@media (max-width: 768px) {
  .top-title__jp::after {
    max-width: 343px;
    height: 18px;
    background: url(../images/top-title-line_sp.webp) no-repeat center center/cover;
    background-image: -webkit-image-set(url(../images/top-title-line_sp.webp) 1x, url(../images/top-title-line_sp@2x.webp) 2x);
    background-image: image-set(url(../images/top-title-line_sp.webp) 1x, url(../images/top-title-line_sp@2x.webp) 2x);
    margin-inline: auto;
  }
}
.top-title__en {
  font-family: "Lato", sans-serif;
  font-size: 1.25rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.04em;
}

.top-mv {
  position: relative;
  border-left: clamp(0.625rem, -0.6917808219rem + 2.7397260274vw, 1.5rem) solid var(--main);
}
@media (max-width: 768px) {
  .top-mv {
    border: none;
  }
}
@media (max-width: 768px) {
  .top-mv::after {
    content: "";
    width: 100%;
    aspect-ratio: 375/547;
    position: absolute;
    top: 16.5%;
    background: url(../images/top-mv-deco-2.webp) no-repeat center center/contain;
    background-image: -webkit-image-set(url(../images/top-mv-deco-2.webp) 1x, url(../images/top-mv-deco-2@2x.webp) 2x);
    background-image: image-set(url(../images/top-mv-deco-2.webp) 1x, url(../images/top-mv-deco-2@2x.webp) 2x);
  }
}
.top-mv__inner {
  display: grid;
  grid-template-columns: 1fr 63.9240506329%;
}
@media (max-width: 768px) {
  .top-mv__inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    padding-bottom: clamp(0.5rem, -5.5830152672rem + 25.9541984733vw, 6.875rem);
  }
}
.top-mv__box {
  max-width: 590px;
  width: 100%;
  margin-top: clamp(0.1875rem, -3.4486542192rem + 7.5654704171vw, 5.0625rem);
  margin-inline: auto;
  padding: 0 10px;
}
@media (max-width: 768px) {
  .top-mv__box {
    position: relative;
    z-index: 3;
    margin-top: -87px;
    padding: 0 17px;
  }
}
.top-mv__box-inner {
  max-width: 546px;
  margin-left: auto;
}
.top-mv__title {
  font-size: clamp(1.625rem, -0.1464597478rem + 3.6857419981vw, 4rem);
  white-space: pre-line;
  line-height: 1.45;
  white-space: pre-line;
}
@media (max-width: 768px) {
  .top-mv__title {
    font-size: 2.5rem;
    color: var(--base);
  }
}
.top-mv__title-1 {
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
  -webkit-animation: mvTitle 1s ease-in 0.5s forwards;
          animation: mvTitle 1s ease-in 0.5s forwards;
  letter-spacing: -0.09em;
}
.top-mv__title-2 {
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
  -webkit-animation: mvTitle 1s ease-in 1.5s forwards;
          animation: mvTitle 1s ease-in 1.5s forwards;
  letter-spacing: -0.02em;
}
.top-mv__title-3 {
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
  -webkit-animation: mvTitle 1s ease-in 3s forwards;
          animation: mvTitle 1s ease-in 3s forwards;
  letter-spacing: -0.06em;
}
.top-mv__text {
  font-size: clamp(0.875rem, 0.6885305529rem + 0.3879728419vw, 1.125rem);
  margin-top: clamp(0.5625rem, -0.2299951503rem + 1.6488845781vw, 1.625rem);
}
@media (max-width: 768px) {
  .top-mv__text {
    font-size: 1rem;
    margin-top: 27px;
    padding: 0 5px;
  }
}
.top-mv__deco-sp {
  display: none;
}
@media (max-width: 768px) {
  .top-mv__deco-sp {
    max-width: 63.9296187683%;
    width: 100%;
    aspect-ratio: 327/308;
    display: block;
    position: relative;
    left: calc(50% + 25px);
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    background: url(../images/top-mv-deco-1.webp) no-repeat center center/contain;
    background-image: -webkit-image-set(url(../images/top-mv-deco-1.webp) 1x, url(../images/top-mv-deco-1@2x.webp) 2x);
    background-image: image-set(url(../images/top-mv-deco-1.webp) 1x, url(../images/top-mv-deco-1@2x.webp) 2x);
    margin-top: 27px;
  }
}
.top-mv__slider {
  position: relative;
}
@media (max-width: 768px) {
  .top-mv__slider {
    max-width: 77.6%;
    width: 100%;
    position: static;
    margin-left: auto;
  }
}
.top-mv__deco-pc {
  max-width: 26.9801980198%;
  width: 100%;
  aspect-ratio: 327/308;
  position: absolute;
  bottom: -2.3%;
  left: calc(clamp(1.3125rem, -4.700532146rem + 12.5108601216vw, 10.3125rem) * -1);
  z-index: 3;
  background: url(../images/top-mv-deco-1.webp) no-repeat center center/contain;
  background-image: -webkit-image-set(url(../images/top-mv-deco-1.webp) 1x, url(../images/top-mv-deco-1@2x.webp) 2x);
  background-image: image-set(url(../images/top-mv-deco-1.webp) 1x, url(../images/top-mv-deco-1@2x.webp) 2x);
}
@media (min-width: 1921px) {
  .top-mv__deco-pc {
    left: -13.6%;
  }
}
@media (max-width: 768px) {
  .top-mv__deco-pc {
    display: none;
  }
}

.top-loop {
  background-color: var(--main);
}
.top-loop__slider {
  overflow: hidden;
  padding: 6px 0;
}
.top-loop__wrapper {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.top-loop__items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-animation: infinity-scroll 60s linear infinite both;
          animation: infinity-scroll 60s linear infinite both;
}
.top-loop__slide {
  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: 21px;
     -moz-column-gap: 21px;
          column-gap: 21px;
  margin-right: 21px;
}
.top-loop__text {
  color: var(--base);
  font-size: 0.9375rem;
  line-height: 1;
  letter-spacing: -0.04em;
}

.top-line {
  overflow: hidden;
  position: relative;
  padding: clamp(3.0625rem, 0.5875rem + 10.56vw, 7.1875rem) clamp(0.625rem, -0.6917808219rem + 2.7397260274vw, 1.5rem) 0;
}
@media (max-width: 768px) {
  .top-line {
    padding: clamp(3.0625rem, 0.775rem + 9.76vw, 6.875rem) 0 0;
  }
}
.top-line::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  z-index: -1;
  border-right: clamp(0.625rem, -0.6917808219rem + 2.7397260274vw, 1.5rem) solid var(--main);
  border-left: clamp(0.625rem, -0.6917808219rem + 2.7397260274vw, 1.5rem) solid var(--main);
}
@media (max-width: 768px) {
  .top-line::before {
    content: none;
  }
}

.top-news * {
  letter-spacing: 0.04em;
}
.top-news__inner {
  max-width: 854px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  display: grid;
  grid-template-columns: clamp(8.25rem, -9.2755524862rem + 36.4640883978vw, 12.375rem) 1fr;
}
@media (max-width: 768px) {
  .top-news__inner {
    grid-template-columns: 1fr;
    justify-items: center;
    row-gap: calc(clamp(-3rem, -4.0734732824rem + 4.5801526718vw, -1.875rem) * -1);
    padding: 0 clamp(1rem, 0.1650763359rem + 3.5623409669vw, 1.875rem);
  }
}
.top-news__title-area {
  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: 21px;
  color: var(--main);
  line-height: 1;
  margin-top: 5px;
}
.top-news__title {
  font-family: "Lato", sans-serif;
  font-size: 2.25rem;
  font-weight: 900;
}
.top-news__items {
  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: 1px;
}
.top-news__post {
  border-bottom: 1px solid #aeaeae;
  padding-bottom: 10px;
}
.top-news__post-link {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: grid;
  grid-template-columns: 146px 1fr;
  font-size: 0.9375rem;
  line-height: 1.75;
}
.top-news__date {
  color: #aeaeae;
  padding-left: 15px;
}
.top-news__post-title {
  color: var(--main);
}
.top-news__more {
  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: 12px;
     -moz-column-gap: 12px;
          column-gap: 12px;
}
.top-news__more::after {
  content: "";
  min-width: 6px;
  aspect-ratio: 6/9;
  background-color: var(--main);
  -webkit-mask-image: url(../images/icon-link-arrow-1.svg);
          mask-image: url(../images/icon-link-arrow-1.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.top-news__no-post {
  display: grid;
  place-items: center;
  height: 76px;
  font-size: 18px;
}

@media (hover: hover) and (pointer: fine) {
  .top-news__more {
    -webkit-transition: color 0.4s;
    transition: color 0.4s;
  }
  .top-news__more:hover, .top-news__more:focus {
    color: var(--main-l);
  }
  .top-news__post-link {
    -webkit-transition: color 0.4s;
    transition: color 0.4s;
  }
  .top-news__post-link:hover .top-news__date,
  .top-news__post-link:hover .top-news__post-title, .top-news__post-link:focus .top-news__date,
  .top-news__post-link:focus .top-news__post-title {
    color: var(--main-l);
  }
}
.top-about {
  overflow: hidden;
}
.top-about_pos {
  margin-top: clamp(5.1875rem, 4.471851145rem + 3.0534351145vw, 5.9375rem);
}
.top-about__inner {
  display: grid;
  grid-template-columns: 1fr 39.8504273504%;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
}
@media (max-width: 768px) {
  .top-about__inner {
    grid-template-columns: 1fr;
    justify-items: center;
    row-gap: 29px;
  }
}
.top-about__box {
  max-width: 789px;
  width: 100%;
  position: relative;
  margin-top: 8px;
}
@media (min-width: 1921px) {
  .top-about__box {
    max-width: 70%;
  }
}
.top-about__title {
  max-width: clamp(16.0625rem, 0.3796589311rem + 32.6300984529vw, 30.5625rem);
  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: 38px;
     -moz-column-gap: 38px;
          column-gap: 38px;
  color: var(--main);
  font-family: "Lato", sans-serif;
  font-size: 1.5rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
@media (min-width: 1921px) {
  .top-about__title {
    max-width: 62%;
  }
}
.top-about__title::before {
  content: "";
  width: 100%;
  height: 6px;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  background-color: var(--main);
  margin-top: clamp(-0.5rem, -0.6789122137rem + 0.7633587786vw, -0.3125rem);
}
.top-about__box-inner {
  max-width: 516px;
  margin-top: 32px;
  margin-left: auto;
  padding-bottom: calc(clamp(-3.125rem, -93.75rem + 100vw, 0rem) * -1);
  padding-left: 20px;
}
@media (max-width: 768px) {
  .top-about__box-inner {
    max-width: 546px;
    margin-top: 30px;
    margin-right: auto;
    padding: 0 clamp(0.65625rem, -0.5066793893rem + 4.9618320611vw, 1.875rem);
  }
}
.top-about__box-title {
  color: var(--main);
  font-size: clamp(2.5rem, 1.9592123769rem + 1.1251758087vw, 3rem);
  line-height: 1.59;
  white-space: pre-line;
}
@media (max-width: 768px) {
  .top-about__box-title {
    font-size: clamp(2rem, 1.5229007634rem + 2.0356234097vw, 2.5rem);
  }
}
.top-about__text {
  font-size: clamp(0.9375rem, 0.825rem + 0.48vw, 1.125rem);
  margin-top: 12px;
}
@media (max-width: 768px) {
  .top-about__text {
    margin-top: 16px;
  }
}
.top-about__accent {
  color: #ec9200;
}
.top-about__link {
  margin-top: clamp(2.9375rem, 2.3375rem + 2.56vw, 3.9375rem);
}
@media (max-width: 768px) {
  .top-about__link {
    margin-inline: auto;
  }
}
.top-about__deco {
  position: absolute;
  z-index: -1;
  color: rgba(231, 235, 237, 0.83);
  font-size: clamp(1.5rem, 0.8784530387rem + 2.6519337017vw, 3rem);
  line-height: 1;
  letter-spacing: -0.04em;
  white-space: nowrap;
  opacity: 0;
}
.top-about__deco_1 {
  -webkit-animation: fadeLoop cubic-bezier(0.2, 0.6, 0.3, 1) 3s infinite;
          animation: fadeLoop cubic-bezier(0.2, 0.6, 0.3, 1) 3s infinite;
  top: calc(clamp(-3.4375rem, -4.570610687rem + 4.834605598vw, -2.25rem) * -1);
  left: clamp(21.1875rem, 9.2887378426rem + 24.7568523431vw, 38.6875rem);
}
@media (min-width: 1921px) {
  .top-about__deco_1 {
    left: 78.4%;
  }
}
@media (max-width: 768px) {
  .top-about__deco_1 {
    left: clamp(6.9375rem, -6.6598282443rem + 58.0152671756vw, 21.1875rem);
  }
}
.top-about__deco_2 {
  -webkit-animation: fadeLoop cubic-bezier(0.2, 0.6, 0.3, 1) 3s 2s infinite;
          animation: fadeLoop cubic-bezier(0.2, 0.6, 0.3, 1) 3s 2s infinite;
  top: 283px;
  left: clamp(27.125rem, 14.8862732095rem + 25.4641909814vw, 45.125rem);
}
@media (min-width: 1921px) {
  .top-about__deco_2 {
    left: 91.4%;
  }
}
@media (max-width: 768px) {
  .top-about__deco_2 {
    top: 287px;
    left: clamp(9.625rem, -7.0734732824rem + 71.2468193384vw, 27.125rem);
  }
}
.top-about__deco_3 {
  -webkit-animation: fadeLoop cubic-bezier(0.2, 0.6, 0.3, 1) 3s 1s infinite;
          animation: fadeLoop cubic-bezier(0.2, 0.6, 0.3, 1) 3s 1s infinite;
  bottom: calc(clamp(-7.1875rem, -10.1621905393rem + 6.1892130858vw, -2.8125rem) * -1);
  left: 3px;
}
@media (min-width: 1921px) {
  .top-about__deco_3 {
    left: -1%;
  }
}
@media (max-width: 768px) {
  .top-about__deco_3 {
    bottom: 74px;
  }
}
.top-about__deco_4 {
  -webkit-animation: fadeLoop cubic-bezier(0.2, 0.6, 0.3, 1) 3s 0.5s infinite;
          animation: fadeLoop cubic-bezier(0.2, 0.6, 0.3, 1) 3s 0.5s infinite;
  bottom: calc(clamp(-1rem, -32.875rem + 34vw, 7.5rem) * -1);
  left: clamp(6.875rem, -5.6187002653rem + 25.9946949602vw, 25.25rem);
}
@media (min-width: 1921px) {
  .top-about__deco_4 {
    left: 51.3%;
  }
}
@media (max-width: 768px) {
  .top-about__deco_4 {
    bottom: -11px;
    left: clamp(-0.5rem, -7.5372137405rem + 30.0254452926vw, 6.875rem);
  }
}
.top-about__img-area {
  -webkit-transform: translateX(clamp(0.625rem, -0.775rem + 2.8vw, 1.5rem));
      -ms-transform: translateX(clamp(0.625rem, -0.775rem + 2.8vw, 1.5rem));
          transform: translateX(clamp(0.625rem, -0.775rem + 2.8vw, 1.5rem));
  width: 100%;
}
@media (max-width: 768px) {
  .top-about__img-area {
    max-width: 500px;
    width: 95.7333333333%;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
  }
}

.top-onestop {
  border-right: clamp(0.625rem, -0.6917808219rem + 2.7397260274vw, 1.5rem) solid var(--main);
  border-left: clamp(0.625rem, -0.6917808219rem + 2.7397260274vw, 1.5rem) solid var(--main);
}
@media (max-width: 768px) {
  .top-onestop {
    border: none;
  }
}
@media (max-width: 768px) {
  .top-onestop_pos {
    margin-top: 66px;
  }
}
.top-onestop__bg {
  min-height: 1187px;
  background: url(../images/top-onestop-bg.webp) no-repeat top center/cover;
  background-image: -webkit-image-set(url(../images/top-onestop-bg.webp) 1x, url(../images/top-onestop-bg@2x.webp) 2x);
  background-image: image-set(url(../images/top-onestop-bg.webp) 1x, url(../images/top-onestop-bg@2x.webp) 2x);
}
@media (max-width: 768px) {
  .top-onestop__bg {
    min-height: inherit;
    background: url(../images/top-onestop-bg_sp.webp) no-repeat top center/cover;
    background-image: -webkit-image-set(url(../images/top-onestop-bg_sp.webp) 1x, url(../images/top-onestop-bg_sp@2x.webp) 2x);
    background-image: image-set(url(../images/top-onestop-bg_sp.webp) 1x, url(../images/top-onestop-bg_sp@2x.webp) 2x);
  }
}
.top-onestop__inner {
  max-width: 1038px;
  margin-inline: auto;
  padding: 213px 10px 55px;
}
@media (min-width: 1921px) {
  .top-onestop__inner {
    padding-top: 11.4%;
  }
}
@media (max-width: 900px) {
  .top-onestop__inner {
    padding: 260px 10px 55px;
  }
}
@media (max-width: 768px) {
  .top-onestop__inner {
    padding: clamp(7.375rem, 4.6316793893rem + 11.7048346056vw, 10.25rem) 0 65px;
  }
}
.top-onestop__title {
  color: var(--base);
  margin-inline: auto;
}
@media (max-width: 768px) {
  .top-onestop__title {
    row-gap: 20px;
  }
}
.top-onestop__jp {
  width: 100%;
  font-size: clamp(1.5rem, 1.05rem + 1.92vw, 2.25rem);
  row-gap: 17px;
}
@media (max-width: 768px) {
  .top-onestop__jp {
    row-gap: 32px;
    line-height: 1.4;
  }
}
.top-onestop__jp::after {
  content: "";
  width: 100%;
  height: 22px;
  background: url(../images/top-onestop-line.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/top-onestop-line.webp) 1x, url(../images/top-onestop-line@2x.webp) 2x);
  background-image: image-set(url(../images/top-onestop-line.webp) 1x, url(../images/top-onestop-line@2x.webp) 2x);
}
@media (max-width: 768px) {
  .top-onestop__jp::after {
    max-width: 343px;
    height: 18px;
    background: url(../images/top-onestop-line_sp.webp) no-repeat center center/cover;
    background-image: -webkit-image-set(url(../images/top-onestop-line_sp.webp) 1x, url(../images/top-onestop-line_sp@2x.webp) 2x);
    background-image: image-set(url(../images/top-onestop-line_sp.webp) 1x, url(../images/top-onestop-line_sp@2x.webp) 2x);
    margin-inline: auto;
  }
}
.top-onestop__text {
  max-width: 846px;
  color: var(--base);
  font-size: clamp(0.9375rem, 0.825rem + 0.48vw, 1.125rem);
  text-align: center;
  margin-top: 34px;
  margin-inline: auto;
}
@media (max-width: 768px) {
  .top-onestop__text {
    text-align: left;
    margin-top: 29px;
    padding: 0 14px;
  }
}
.top-onestop__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: 15px;
     -moz-column-gap: 15px;
          column-gap: 15px;
  margin-top: clamp(2.1875rem, 1.0625rem + 4.8vw, 4.0625rem);
}
@media (max-width: 900px) {
  .top-onestop__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: clamp(1.375rem, 0.8979007634rem + 2.0356234097vw, 1.875rem);
  }
}
.top-onestop__item {
  max-width: 463px;
  width: 100%;
}
.top-onestop__item-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;
  position: relative;
  line-height: 1;
}
.top-onestop__item-jp {
  max-width: 174px;
  width: 100%;
  height: 50px;
  display: grid;
  place-items: center;
  background-color: var(--accent);
  color: #000;
  margin-top: -5px;
}
.top-onestop__item-en {
  color: #0da9f4;
  font-family: "Lato", sans-serif;
  font-size: 2.5rem;
  font-weight: 900;
  letter-spacing: 0.04em;
}
.top-onestop__item-body {
  min-height: clamp(17.375rem, 15.6455152672rem + 7.3791348601vw, 19.1875rem);
  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;
  background-color: var(--base);
  border: 3px solid var(--accent);
  margin-top: -28px;
  padding-bottom: 24px;
}
.top-onestop__img-wrapper {
  width: 100%;
}
.top-onestop__item-text {
  color: #000;
  text-align: center;
  margin-top: clamp(0.6875rem, -0.8630725191rem + 6.6157760814vw, 2.3125rem);
}
.top-onestop__item-text_2 {
  font-size: clamp(0.9375rem, 0.825rem + 0.48vw, 1.125rem);
}
.top-onestop__more {
  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: 39px;
     -moz-column-gap: 39px;
          column-gap: 39px;
  color: var(--main-l);
  font-size: 1.125rem;
  margin-top: auto;
}
.top-onestop__more::after {
  content: "";
  min-width: 6px;
  aspect-ratio: 6/9;
  background-color: var(--main-l);
  -webkit-mask-image: url(../images/icon-link-arrow-1.svg);
          mask-image: url(../images/icon-link-arrow-1.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.top-onestop__link {
  margin-top: 47px;
  margin-inline: auto;
}

@media (hover: hover) and (pointer: fine) {
  .top-onestop__link {
    -webkit-transition: background-color 0.4s, color 0.4s, border-color 0.4s;
    transition: background-color 0.4s, color 0.4s, border-color 0.4s;
  }
  .top-onestop__link::after {
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  .top-onestop__link:hover, .top-onestop__link:focus {
    background-color: var(--main);
    color: var(--base);
    border-color: var(--base);
  }
  .top-onestop__link:hover::after, .top-onestop__link:focus::after {
    background-color: var(--base);
  }
}
.top-product {
  position: relative;
}
.top-product::before, .top-product::after {
  content: "";
  width: 100%;
  height: 16px;
  position: absolute;
  background-image: -webkit-repeating-linear-gradient(317deg, var(--main-l), var(--main-l) 5px, transparent 5px, transparent 8px);
  background-image: repeating-linear-gradient(133deg, var(--main-l), var(--main-l) 5px, transparent 5px, transparent 8px);
}
@media (max-width: 768px) {
  .top-product::before, .top-product::after {
    background-image: -webkit-repeating-linear-gradient(350deg, var(--main-l), var(--main-l) 2px, transparent 2px, transparent 4px);
    background-image: repeating-linear-gradient(100deg, var(--main-l), var(--main-l) 2px, transparent 2px, transparent 4px);
  }
}
.top-product::before {
  top: 0;
}
.top-product::after {
  bottom: 0;
}
.top-product__inner {
  max-width: 1280px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding: 64px 30px 71px;
}
@media (max-width: 1000px) {
  .top-product__inner {
    padding: 64px clamp(0.40625rem, -0.9952290076rem + 5.9796437659vw, 1.875rem) clamp(4rem, 3.5825381679rem + 1.7811704835vw, 4.4375rem);
  }
}
.top-product__body {
  max-width: 1219px;
  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;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-column-gap: 15px;
     -moz-column-gap: 15px;
          column-gap: 15px;
}
@media (max-width: 768px) {
  .top-product__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: 32px;
  }
}
.top-product__box {
  max-width: 540px;
  width: 100%;
  margin-top: 9px;
}
.top-product__text {
  font-size: clamp(0.9375rem, 0.825rem + 0.48vw, 1.125rem);
  text-align: center;
  margin-top: 26px;
}
@media (max-width: 768px) {
  .top-product__text {
    margin-top: 41px;
  }
}
.top-product__link {
  margin-top: 34px;
  margin-inline: auto;
}
@media (max-width: 768px) {
  .top-product__link {
    margin-top: 31px;
  }
}
.top-product__img {
  max-width: clamp(21.5625rem, 4.8640267176rem + 71.2468193384vw, 39.0625rem);
  width: 100%;
}

.top-works {
  overflow: hidden;
  position: relative;
  padding-bottom: clamp(5.25rem, 0.0375rem + 22.24vw, 13.9375rem);
}
.top-works::after {
  content: "";
  width: 19.6354166667%;
  aspect-ratio: 377/378;
  position: absolute;
  right: 18.2%;
  bottom: -73px;
  z-index: -1;
  background: url(../images/top-works-deco-1.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/top-works-deco-1.webp) 1x, url(../images/top-works-deco-1@2x.webp) 2x);
  background-image: image-set(url(../images/top-works-deco-1.webp) 1x, url(../images/top-works-deco-1@2x.webp) 2x);
}
@media (max-width: 768px) {
  .top-works::after {
    content: none;
  }
}
.top-works__inner {
  max-width: 557px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding: 88px 30px 50px;
}
@media (max-width: 768px) {
  .top-works__inner {
    padding: 112px clamp(0.6875rem, -0.445610687rem + 4.834605598vw, 1.875rem) 67px;
  }
}
.top-works__text {
  font-size: clamp(0.9375rem, 0.825rem + 0.48vw, 1.125rem);
  text-align: center;
  margin-top: 27px;
}
@media (max-width: 768px) {
  .top-works__text {
    margin-top: 41px;
  }
}
.top-works__slider {
  position: relative;
  -webkit-transform: translateX(-30px);
      -ms-transform: translateX(-30px);
          transform: translateX(-30px);
}
@media (max-width: 1280px) {
  .top-works__slider {
    -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
            transform: translateX(0);
  }
}
.top-works__slide {
  -webkit-transform: translateY(11.3%) scale(0.7698597194) !important;
      -ms-transform: translateY(11.3%) scale(0.7698597194) !important;
          transform: translateY(11.3%) scale(0.7698597194) !important;
  -webkit-transition: 0.7s;
  transition: 0.7s;
  background-color: var(--base);
  -webkit-box-shadow: 0px 0px 10px 2px rgba(231, 235, 237, 0.83);
          box-shadow: 0px 0px 10px 2px rgba(231, 235, 237, 0.83);
  border-radius: 24px;
  margin-top: auto;
  padding: clamp(1rem, 0.3439885496rem + 2.7989821883vw, 1.6875rem) clamp(1rem, 0.3439885496rem + 2.7989821883vw, 1.6875rem) 30px;
}
@media (max-width: 768px) {
  .top-works__slide {
    -webkit-transform: translateY(0) scale(1) !important;
        -ms-transform: translateY(0) scale(1) !important;
            transform: translateY(0) scale(1) !important;
    margin-top: 0;
  }
}
.top-works__slide.swiper-slide-active {
  -webkit-transform: translateY(0) scale(1) !important;
      -ms-transform: translateY(0) scale(1) !important;
          transform: translateY(0) scale(1) !important;
  z-index: 1;
  margin: 0 30px;
}
@media (max-width: 1280px) {
  .top-works__slide.swiper-slide-active {
    margin: 0;
  }
}
.top-works__img-wrapper {
  overflow: hidden;
  border-radius: 16px;
}
.top-works__img {
  height: 100%;
  aspect-ratio: 445/280;
  -o-object-fit: cover;
     object-fit: cover;
}
.top-works__cat {
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
  min-width: 230px;
  height: clamp(2.3125rem, 2.0143129771rem + 1.272264631vw, 2.625rem);
  display: grid;
  place-items: center;
  background-color: var(--main-l);
  color: var(--base);
  font-family: "Lato", sans-serif;
  font-size: clamp(1rem, -0.0039184953rem + 1.2539184953vw, 1.25rem);
  font-weight: 900;
  letter-spacing: 0.04em;
  border-radius: 9999px;
  margin-top: clamp(0.875rem, 0.3382633588rem + 2.2900763359vw, 1.4375rem);
  padding: 0 22px;
}
@media (max-width: 1280px) {
  .top-works__cat {
    font-size: clamp(0.875rem, -0.4704301075rem + 2.1505376344vw, 1.25rem);
  }
}
@media (max-width: 1000px) {
  .top-works__cat {
    font-size: clamp(1rem, 0.1677489177rem + 1.7316017316vw, 1.25rem);
  }
}
@media (max-width: 768px) {
  .top-works__cat {
    font-size: 1.25rem;
  }
}
@media (max-width: 768px) {
  .top-works__cat_s {
    font-size: clamp(0.9375rem, 0.6393129771rem + 1.272264631vw, 1.25rem);
  }
}
.top-works__slide-title {
  max-width: 302px;
  min-height: clamp(5rem, -1.3812022901rem + 27.2264631043vw, 11.6875rem);
  color: var(--main);
  font-size: clamp(1.25rem, 1.0114503817rem + 1.0178117048vw, 1.5rem);
  line-height: 1.8;
  letter-spacing: 0.04em;
  margin-top: clamp(0.5625rem, 0.1450381679rem + 1.7811704835vw, 1rem);
}
@media (max-width: 768px) {
  .top-works__slide-title {
    line-height: 1.4;
  }
}
.top-works__button-area {
  max-width: clamp(28.625rem, 6.6986502347rem + 27.386541471vw, 39.5625rem);
  width: 100%;
  position: absolute;
  top: 50%;
  left: calc(50% + 30px);
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
}
@media (min-width: 1921px) {
  .top-works__button-area {
    max-width: 32.96875%;
  }
}
@media (max-width: 1280px) {
  .top-works__button-area {
    max-width: clamp(26rem, 7.1639784946rem + 30.1075268817vw, 31.25rem);
    left: 50%;
  }
}
@media (max-width: 1000px) {
  .top-works__button-area {
    max-width: clamp(28.5625rem, 0.8901515152rem + 57.5757575758vw, 36.875rem);
  }
}
@media (max-width: 768px) {
  .top-works__button-area {
    max-width: clamp(22.8125rem, 2.356870229rem + 87.2773536896vw, 44.25rem);
  }
}
.top-works__prev, .top-works__next {
  width: clamp(1.5rem, 0.9036259542rem + 2.5445292621vw, 2.125rem);
  height: inherit;
  aspect-ratio: 34/45;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}
.top-works__prev::after, .top-works__next::after {
  content: "";
  width: 100%;
  aspect-ratio: 34/45;
  background-repeat: no-repeat;
  background-size: contain;
  margin: auto;
}
.top-works__prev {
  left: 0;
}
.top-works__prev::after {
  background-image: url(../images/icon-prev.svg);
}
.top-works__next {
  right: 0;
}
.top-works__next::after {
  background-image: url(../images/icon-next.svg);
}
.top-works__link {
  margin-top: clamp(2rem, -0.1469465649rem + 9.1603053435vw, 4.25rem);
  margin-inline: auto;
}
.top-works__circle {
  width: 100%;
  aspect-ratio: 1/1;
  position: absolute;
  top: calc(50% + 39px);
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: -1;
  background-color: #e8f1f7;
  border-radius: 50%;
}
@media (max-width: 768px) {
  .top-works__circle {
    top: calc(50% + 134px);
  }
}

/*###################################################################
  company（page）
###################################################################*/
.company-c__line {
  padding-top: 65px;
}

.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__title {
  margin-inline: auto;
}
.company1__text {
  max-width: 883px;
  text-align: center;
  margin-top: clamp(1.875rem, 0.5033396947rem + 5.8524173028vw, 3.3125rem);
  margin-inline: auto;
}
@media (max-width: 768px) {
  .company1__text {
    text-align: left;
  }
}
.company1__name-box {
  max-width: 395px;
  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: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  margin-top: 38px;
  margin-inline: auto;
}
.company1__name-jp {
  color: var(--main);
  font-size: clamp(1.25rem, 1.0114503817rem + 1.0178117048vw, 1.5rem);
  letter-spacing: 0.04em;
}
.company1__name-en {
  color: var(--main-l);
  font-family: "Lato", sans-serif;
  font-size: clamp(0.8125rem, 0.6932251908rem + 0.5089058524vw, 0.9375rem);
  font-weight: 900;
  letter-spacing: 0.04em;
}

.company2_pos {
  margin-top: clamp(5rem, 4.1375rem + 3.68vw, 6.4375rem);
}
.company2__inner {
  max-width: 944px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
@media (max-width: 768px) {
  .company2__inner {
    padding: 0 clamp(0.9375rem, 0.0429389313rem + 3.8167938931vw, 1.875rem);
  }
}
.company2__title {
  margin-inline: auto;
}
.company2__dl {
  display: grid;
  grid-template-columns: clamp(5.75rem, -3.7rem + 40.32vw, 21.5rem) 1fr;
  color: var(--main);
  font-size: clamp(0.9375rem, 0.75rem + 0.8vw, 1.25rem);
  line-height: 1.75;
  margin-top: 43px;
}
.company2__dt {
  background-color: #f2f7fa;
  font-weight: 500;
  letter-spacing: 0.04em;
  border-bottom: 2px solid var(--main);
  padding: clamp(0.75rem, 0.5625rem + 0.8vw, 1.0625rem) 0;
  padding-left: clamp(0.3125rem, -0.3625rem + 2.88vw, 1.4375rem);
}
.company2__dt:first-of-type {
  border-top: 2px solid var(--main);
}
.company2__dd {
  letter-spacing: 0.04em;
  border-bottom: 2px solid #cbcbcb;
  padding: clamp(0.75rem, 0.5625rem + 0.8vw, 1.0625rem) 0;
  padding-left: clamp(0.3125rem, -0.3625rem + 2.88vw, 1.4375rem);
}
.company2__dd:first-of-type {
  border-top: 2px solid #cbcbcb;
}

.company3 {
  background-color: #e7ebed;
}
.company3_pos {
  margin-top: 80px;
}
.company3__inner {
  max-width: 749px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding: 82px 30px 100px;
}
@media (max-width: 1000px) {
  .company3__inner {
    padding: clamp(2.5rem, 0.925rem + 6.72vw, 5.125rem) clamp(0.9375rem, 0.0429389313rem + 3.8167938931vw, 1.875rem) clamp(3.125rem, 1.25rem + 8vw, 6.25rem);
  }
}
.company3__title {
  margin-inline: auto;
}
.company3__dl {
  display: grid;
  grid-template-columns: clamp(9.6875rem, 1.2161823647rem + 27.0541082164vw, 18.125rem) 1fr;
  row-gap: 19px;
  position: relative;
  color: var(--main);
  font-size: clamp(0.9375rem, 0.75rem + 0.8vw, 1.25rem);
  line-height: 1.75;
  margin-top: clamp(2.375rem, 2.0375rem + 1.44vw, 2.9375rem);
}
@media (max-width: 500px) {
  .company3__dl {
    grid-template-columns: 1fr;
    row-gap: 0;
  }
}
.company3__dl::after {
  content: "";
  width: 3px;
  height: 95%;
  position: absolute;
  top: calc(50% - 0px);
  left: clamp(0.3125rem, 0.125rem + 0.6vw, 0.5rem);
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  background-color: var(--main-l);
}
@media (max-width: 500px) {
  .company3__dl::after {
    height: 92%;
    top: calc(50% - 10px);
  }
}
.company3__dt {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
  -webkit-column-gap: clamp(0.5rem, -0.253006012rem + 2.4048096192vw, 1.25rem);
     -moz-column-gap: clamp(0.5rem, -0.253006012rem + 2.4048096192vw, 1.25rem);
          column-gap: clamp(0.5rem, -0.253006012rem + 2.4048096192vw, 1.25rem);
  font-weight: 500;
  letter-spacing: 0.04em;
}
@media (max-width: 500px) {
  .company3__dt:not(:first-of-type) {
    margin-top: 15px;
  }
}
.company3__dt::before {
  content: "";
  min-width: clamp(0.8125rem, 0.55rem + 1.12vw, 1.25rem);
  aspect-ratio: 1/1;
  background-color: var(--main-l);
  border-radius: 50%;
  margin-top: 7px;
}
.company3__dd {
  letter-spacing: 0.04em;
}
@media (max-width: 500px) {
  .company3__dd {
    padding-left: 20px;
  }
}

.company4_pos {
  margin-top: 82px;
}
.company4__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) {
  .company4__inner {
    padding: 0 clamp(0.9375rem, 0.0429389313rem + 3.8167938931vw, 1.875rem);
  }
}
.company4__title {
  margin-inline: auto;
}
.company4__map {
  margin-top: clamp(2.625rem, 0.9375rem + 7.2vw, 5.4375rem);
}
.company4__gmap {
  width: 100%;
  height: clamp(28.125rem, 18.3rem + 41.92vw, 44.5rem);
}

/*###################################################################
  product-list（page）
###################################################################*/
.p-list-c__line {
  padding-top: clamp(4.0625rem, 1.9751908397rem + 8.9058524173vw, 6.25rem);
}

.p-list-nav__items {
  max-width: 1031px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  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) {
  .p-list-nav__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: 15px;
    padding: 0 clamp(0.9375rem, 0.0429389313rem + 3.8167938931vw, 1.875rem);
  }
}
.p-list-nav__item {
  max-width: 315px;
  width: 100%;
}

.p-list-p {
  width: 100%;
}
.p-list-p__title {
  font-size: clamp(1.25rem, 0.8rem + 1.92vw, 2rem);
  line-height: 1.59;
  text-align: center;
}
.p-list-p__items {
  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-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 8px;
  margin-top: 18px;
  margin-inline: auto;
}
.p-list-p__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.3125rem, 0.1875rem + 0.4vw, 0.4375rem);
     -moz-column-gap: clamp(0.3125rem, 0.1875rem + 0.4vw, 0.4375rem);
          column-gap: clamp(0.3125rem, 0.1875rem + 0.4vw, 0.4375rem);
  font-size: clamp(1rem, 0.875rem + 0.4vw, 1.125rem);
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.04em;
}
.p-list-p__item::before {
  content: "";
  min-width: clamp(0.9375rem, 0.75rem + 0.6vw, 1.125rem);
  aspect-ratio: 1/1;
  background-color: var(--main-l);
  -webkit-mask-image: url(../images/icon-check.svg);
          mask-image: url(../images/icon-check.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  margin-top: 9px;
}
.p-list-p__link {
  max-width: 315px;
  height: 54px;
  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(--base);
  font-size: 0.875rem;
  line-height: 1;
  border: 2px solid var(--main);
  border-radius: 9999px;
  margin-top: 50px;
  margin-inline: auto;
  padding-right: 23px;
  padding-left: 33px;
}
.p-list-p__link::after {
  content: "";
  min-width: 21px;
  aspect-ratio: 21/9;
  background-color: var(--main);
  -webkit-mask-image: url(../images/icon-link-arrow-2.svg);
          mask-image: url(../images/icon-link-arrow-2.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.p-list-p__details {
  margin-top: 40px;
}
.p-list-p__details[open] .p-list-p__icon::after {
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg);
}
.p-list-p__summary {
  height: 42px;
  display: grid;
  place-items: center;
  position: relative;
  background-color: #f5f5f5;
  border-radius: 4px;
  cursor: pointer;
}
.p-list-p__summary::-webkit-details-marker {
  display: none;
}
.p-list-p__spec-title {
  color: #000;
  font-size: 1.125rem;
}
.p-list-p__icon {
  width: 14px;
  aspect-ratio: 1/1;
  position: absolute;
  top: 50%;
  right: 12px;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}
.p-list-p__icon::before, .p-list-p__icon::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #ccc;
  border-radius: 9999px;
  margin: auto;
}
.p-list-p__icon::before {
  width: 100%;
  height: 2px;
}
.p-list-p__icon::after {
  width: 2px;
  height: 100%;
}
.p-list-p__contents {
  overflow: hidden;
}
.p-list-p__contents-inner {
  padding-top: 18px;
}
.p-list-p__dl {
  display: grid;
  grid-template-columns: clamp(8.5rem, 7.0687022901rem + 6.106870229vw, 10rem) 1fr;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px clamp(0.3125rem, 0.0143129771rem + 1.272264631vw, 0.625rem);
  font-size: clamp(0.9375rem, 0.825rem + 0.48vw, 1.125rem);
  line-height: 1.75;
}
.p-list-p__dl_dt-long {
  grid-template-columns: clamp(13.1875rem, 10.205629771rem + 12.7226463104vw, 16.3125rem) 1fr;
}
.p-list-p__dt {
  height: clamp(2.875rem, 2.5171755725rem + 1.5267175573vw, 3.25rem);
  display: grid;
  place-items: center;
  background-color: var(--main-l);
  color: var(--base);
  font-weight: 500;
  letter-spacing: 0.04em;
  border-radius: 4px;
}
.p-list-p__dd {
  letter-spacing: 0.04em;
}
.p-list-p__table-wrapper {
  overflow-x: auto;
}
.p-list-p__table-wrapper.is-scrollable {
  cursor: -webkit-grab;
  cursor: grab;
}
.p-list-p__table-wrapper.is-scrollable:active {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}
.p-list-p__table {
  width: 100%;
  font-size: 1.125rem;
  border-collapse: separate;
  border-spacing: 8px 12px;
}
.p-list-p__table * {
  letter-spacing: 0.04em;
}
.p-list-p__table_1 {
  min-width: 728px;
}
.p-list-p__table_2 {
  min-width: 620px;
}
.p-list-p__table_3 {
  min-width: 850px;
}
.p-list-p__table_4 {
  min-width: 848px;
}
.p-list-p__th {
  height: 52px;
  background-color: var(--main-l);
  color: var(--base);
  font-weight: 500;
  line-height: 1.02;
  text-align: center;
  vertical-align: middle;
  white-space: pre-line;
  border-radius: 4px;
}
.p-list-p__th_1-2 {
  width: 21.4%;
}
.p-list-p__th_1-3 {
  width: 26.6%;
}
.p-list-p__th_2-2 {
  width: 32%;
}
.p-list-p__th_3-2 {
  width: 18.2%;
}
.p-list-p__th_3-3 {
  width: 22.6%;
}
.p-list-p__th_4-2 {
  width: 22.7%;
}
.p-list-p__left1-1 {
  width: 14.3%;
}
.p-list-p__left2-1 {
  width: 25.8%;
}
.p-list-p__left3-1 {
  width: 12.2%;
}
.p-list-p__left4-1 {
  width: 18.2%;
}
.p-list-p__td {
  line-height: 1.4;
  text-align: center;
  vertical-align: middle;
}

@media (hover: hover) and (pointer: fine) {
  .p-list-p__link {
    -webkit-transition: background-color 0.4s, color 0.4s;
    transition: background-color 0.4s, color 0.4s;
  }
  .p-list-p__link::after {
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  .p-list-p__link:hover, .p-list-p__link:focus {
    background-color: var(--main);
    color: var(--base);
  }
  .p-list-p__link:hover::after, .p-list-p__link:focus::after {
    background-color: var(--base);
  }
  .p-list-p__summary {
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  .p-list-p__summary:hover {
    background-color: var(--main-l);
  }
  .p-list-p__summary:hover .p-list-p__spec-title {
    color: var(--base);
  }
  .p-list-p__summary:hover .p-list-p__icon::before, .p-list-p__summary:hover .p-list-p__icon::after {
    background-color: var(--base);
  }
  .p-list-p__spec-title {
    -webkit-transition: color 0.4s;
    transition: color 0.4s;
  }
  .p-list-p__icon::before, .p-list-p__icon::after {
    -webkit-transition: background-color 0.4s, -webkit-transform 0.4s;
    transition: background-color 0.4s, -webkit-transform 0.4s;
    transition: transform 0.4s, background-color 0.4s;
    transition: transform 0.4s, background-color 0.4s, -webkit-transform 0.4s;
  }
}
.p-list1_pos {
  margin-top: clamp(4.375rem, 2.2375rem + 9.12vw, 7.9375rem);
}
.p-list1__inner {
  max-width: 1163px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
@media (max-width: 768px) {
  .p-list1__inner {
    padding: 0 clamp(0.9375rem, 0.0429389313rem + 3.8167938931vw, 1.875rem);
  }
}
.p-list1__title {
  margin-inline: auto;
}
.p-list1__body1 {
  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: 54px;
}
@media (max-width: 1000px) {
  .p-list1__body1 {
    -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: 48px;
  }
}
.p-list1__prod1 {
  max-width: 565px;
  width: 100%;
}
.p-list1__items1 {
  max-width: 512px;
  margin-top: 18px;
  margin-inline: auto;
}
.p-list1__items2 {
  max-width: 512px;
  margin-top: 18px;
  margin-inline: auto;
}
.p-list1__link {
  margin-top: 51px;
}
.p-list1__body2 {
  max-width: 1124px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 48px 54px;
  margin-top: 48px;
  margin-inline: auto;
}
@media (max-width: 1000px) {
  .p-list1__body2 {
    grid-template-columns: 1fr;
  }
}

.p-list2_pos {
  margin-top: 72px;
}
.p-list2__inner {
  max-width: 858px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
@media (max-width: 768px) {
  .p-list2__inner {
    padding: 0 clamp(0.9375rem, 0.0429389313rem + 3.8167938931vw, 1.875rem);
  }
}
.p-list2__title {
  margin-inline: auto;
}
.p-list2__body {
  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: 50px;
  margin-top: 55px;
}
.p-list2__prod712 {
  max-width: 728px;
  margin-inline: auto;
}
.p-list2__prod604 {
  max-width: 620px;
  margin-inline: auto;
}
.p-list2__prod842 {
  max-width: 858px;
  margin-inline: auto;
}
.p-list2__items604 {
  max-width: 500px;
}
.p-list2__items842 {
  max-width: 630px;
}
.p-list2__m8 {
  margin: 0 8px;
}

.p-list3 {
  position: relative;
  z-index: 0;
  background-color: #e7ebed;
}
.p-list3::after {
  content: "";
  width: 19.6354166667%;
  aspect-ratio: 377/378;
  position: absolute;
  right: 18.2%;
  bottom: -73px;
  background: url(../images/p-list3-deco-1.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/p-list3-deco-1.webp) 1x, url(../images/p-list3-deco-1@2x.webp) 2x);
  background-image: image-set(url(../images/p-list3-deco-1.webp) 1x, url(../images/p-list3-deco-1@2x.webp) 2x);
}
@media (max-width: 768px) {
  .p-list3::after {
    content: none;
  }
}
.p-list3_pos {
  margin-top: clamp(4.375rem, 3.2875rem + 4.64vw, 6.1875rem);
}
.p-list3__inner {
  max-width: 728px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding: 96px 30px 78px;
  position: relative;
  z-index: 1;
}
@media (max-width: 1000px) {
  .p-list3__inner {
    padding: clamp(3.125rem, 1.4rem + 7.36vw, 6rem) clamp(0.9375rem, 0.0429389313rem + 3.8167938931vw, 1.875rem) 78px;
  }
}
.p-list3__title {
  margin-inline: auto;
}
.p-list3__text {
  text-align: center;
  margin-top: 30px;
}
.p-list3__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: 12px;
  margin-top: 40px;
}
.p-list3__link {
  height: 52px;
  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: 14px;
     -moz-column-gap: 14px;
          column-gap: 14px;
  background-color: var(--base);
  color: var(--main);
  font-size: 1.125rem;
  line-height: 1;
  letter-spacing: 0.04em;
  border: 2px solid var(--main);
  border-radius: 4px;
}
.p-list3__link::after {
  content: "";
  min-width: 16px;
  aspect-ratio: 1/1;
  background-color: var(--main);
  -webkit-mask-image: url(../images/icon-dl-2.svg);
          mask-image: url(../images/icon-dl-2.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}

@media (hover: hover) and (pointer: fine) {
  .p-list3__link {
    -webkit-transition: background-color 0.4s, color 0.4s;
    transition: background-color 0.4s, color 0.4s;
  }
  .p-list3__link::after {
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  .p-list3__link:hover, .p-list3__link:focus {
    background-color: var(--main);
    color: var(--base);
  }
  .p-list3__link:hover::after, .p-list3__link:focus::after {
    background-color: var(--base);
  }
}
/*###################################################################
  product-description（page）
###################################################################*/
.p-desc-c__line {
  padding-top: clamp(4.0625rem, 2.675rem + 5.92vw, 6.375rem);
}

.p-desc1__inner {
  max-width: 869px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
@media (max-width: 768px) {
  .p-desc1__inner {
    padding: 0 clamp(0.9375rem, 0.0429389313rem + 3.8167938931vw, 1.875rem);
  }
}
.p-desc1__title {
  margin-inline: auto;
}
.p-desc1__text {
  text-align: center;
  margin-top: clamp(1.875rem, 0.975rem + 3.84vw, 3.375rem);
}
@media (max-width: 768px) {
  .p-desc1__text {
    text-align: left;
  }
}

.p-desc2_pos {
  margin-top: 80px;
}
.p-desc2__inner {
  max-width: 869px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
@media (max-width: 768px) {
  .p-desc2__inner {
    padding: 0 clamp(0.9375rem, 0.0429389313rem + 3.8167938931vw, 1.875rem);
  }
}
.p-desc2__title {
  margin-inline: auto;
}
.p-desc2__text {
  margin-top: clamp(1.875rem, 0.975rem + 3.84vw, 3.375rem);
}
@media (max-width: 768px) {
  .p-desc2__text {
    text-align: left;
  }
}

.p-desc3_pos {
  margin-top: 81px;
}
.p-desc3__inner {
  max-width: 737px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
@media (max-width: 768px) {
  .p-desc3__inner {
    padding: 0 clamp(0.9375rem, 0.0429389313rem + 3.8167938931vw, 1.875rem);
  }
}
.p-desc3__title {
  margin-inline: auto;
}
.p-desc3__text {
  text-align: center;
  margin-top: clamp(1.875rem, 0.975rem + 3.84vw, 3.375rem);
  margin-inline: auto;
}
@media (max-width: 768px) {
  .p-desc3__text {
    text-align: left;
  }
}
.p-desc3__img {
  max-width: 737px;
  margin-top: 31px;
  margin-inline: auto;
}

.p-desc4 {
  background-color: #e7ebed;
}
.p-desc4_pos {
  margin-top: 80px;
}
.p-desc4__inner {
  max-width: 758px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding: 82px 30px 78px;
}
@media (max-width: 1000px) {
  .p-desc4__inner {
    padding: clamp(2.5rem, 0.925rem + 6.72vw, 5.125rem) clamp(0.9375rem, 0.0429389313rem + 3.8167938931vw, 1.875rem) clamp(3.125rem, 2.075rem + 4.48vw, 4.875rem);
  }
}
.p-desc4__title {
  margin-inline: auto;
}
.p-desc4__table-wrapper {
  max-width: 751px;
  overflow-x: auto;
  margin-top: 28px;
  margin-left: auto;
}
.p-desc4__table-wrapper.is-scrollable {
  cursor: -webkit-grab;
  cursor: grab;
}
.p-desc4__table-wrapper.is-scrollable:active {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}
.p-desc4__table {
  min-width: 751px;
  width: 100%;
  font-size: 18px;
  border-collapse: separate;
  border-spacing: 8px;
}
.p-desc4__table * {
  letter-spacing: 0.04em;
}
.p-desc4__table th {
  height: 52px;
  font-weight: 500;
  text-align: center;
  vertical-align: middle;
}
.p-desc4__table td {
  width: 20%;
  height: 52px;
  text-align: center;
  vertical-align: middle;
}
.p-desc4__term {
  background-color: var(--main-l);
  color: var(--base);
  border-radius: 4px;
}
.p-desc4__th-top {
  background-color: #ccc;
  border-radius: 4px;
}
.p-desc4__th-left {
  background-color: var(--base);
  border-radius: 4px;
}
.p-desc4__text-2 {
  max-width: 695px;
  margin-top: 20px;
  margin-inline: auto;
}

.p-desc5_pos {
  margin-top: 82px;
}
.p-desc5__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) {
  .p-desc5__inner {
    padding: 0 clamp(0.9375rem, 0.0429389313rem + 3.8167938931vw, 1.875rem);
  }
}
.p-desc5__title {
  margin-inline: auto;
}
.p-desc5__items {
  max-width: 1196px;
  margin-top: clamp(2.1875rem, 1.1736641221rem + 4.3256997455vw, 3.25rem);
  margin-left: auto;
}
.p-desc5__item {
  font-size: clamp(1rem, 0.875rem + 0.4vw, 1.125rem);
  line-height: 1.8;
  letter-spacing: 0.04em;
  text-indent: -1.2em;
  padding-left: 1.2em;
}

.p-desc6 {
  background-color: var(--main);
}
.p-desc6_pos {
  margin-top: clamp(5rem, 4.4rem + 2.56vw, 6rem);
}
.p-desc6__inner {
  max-width: 1086px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding: 50px 30px 47px;
}
@media (max-width: 1000px) {
  .p-desc6__inner {
    padding: clamp(2.1875rem, 1.2929389313rem + 3.8167938931vw, 3.125rem) clamp(0.9375rem, 0.0429389313rem + 3.8167938931vw, 1.875rem) 47px;
  }
}
.p-desc6__title {
  color: var(--base);
  margin-inline: auto;
}
.p-desc6__title::after {
  background: url(../images/c-title-line-w.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/c-title-line-w.webp) 1x, url(../images/c-title-line-w@2x.webp) 2x);
  background-image: image-set(url(../images/c-title-line-w.webp) 1x, url(../images/c-title-line-w@2x.webp) 2x);
}
.p-desc6__text {
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
  color: var(--base);
  margin-top: 28px;
  margin-inline: auto;
}
.p-desc6__items {
  max-width: 1014px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 18px;
  margin-top: 29px;
  margin-left: auto;
}
.p-desc6__item {
  min-height: 170px;
  background-color: var(--base);
  border-radius: 12px;
  padding: 26px clamp(0.625rem, 0.4375rem + 0.8vw, 0.9375rem) 30px;
}
.p-desc6__item-inner {
  max-width: 950px;
  display: grid;
  grid-template-columns: clamp(2.9375rem, 0.8375rem + 8.96vw, 6.4375rem) 1fr;
  margin-inline: auto;
}
.p-desc6__number {
  position: relative;
  color: var(--main-l);
  font-family: "Lato", sans-serif;
  font-size: clamp(2.125rem, 1rem + 4.8vw, 4rem);
  font-weight: 900;
  line-height: 1;
  padding-top: clamp(0rem, -1.05rem + 4.48vw, 1.75rem);
}
.p-desc6__number::after {
  content: "";
  width: 1px;
  height: clamp(2.375rem, 1.475rem + 3.84vw, 3.875rem);
  position: absolute;
  top: clamp(0rem, -1.0125rem + 4.32vw, 1.6875rem);
  right: 0;
  background-color: var(--main-l);
}
.p-desc6__box {
  max-width: 835px;
  padding-left: clamp(0.3125rem, -0.8875rem + 5.12vw, 2.3125rem);
}
.p-desc6__box-title {
  color: var(--main-l);
  font-size: clamp(1.5rem, 1.2rem + 1.28vw, 2rem);
}
.p-desc6__box-text {
  font-size: clamp(0.9375rem, 0.9rem + 0.16vw, 1rem);
  margin-top: 10px;
}
.p-desc6__note {
  color: var(--base);
  line-height: 1;
  text-align: center;
  margin-top: 32px;
}

.p-desc7_pos {
  margin-top: 82px;
}
.p-desc7__inner {
  max-width: 1280px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  padding-bottom: 111px;
}
@media (max-width: 768px) {
  .p-desc7__inner {
    padding: 0 clamp(0.9375rem, 0.0429389313rem + 3.8167938931vw, 1.875rem) 111px;
  }
}
.p-desc7__title {
  margin-inline: auto;
}
.p-desc7__text {
  max-width: 1196px;
  margin-top: clamp(1.875rem, 0.975rem + 3.84vw, 3.375rem);
  margin-left: auto;
}

/*###################################################################
  works（page）
###################################################################*/
.works-c__line {
  padding-top: clamp(4.0625rem, 1.9751908397rem + 8.9058524173vw, 6.25rem);
}
.works-c__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.78125rem 15px;
  margin-top: clamp(2.1875rem, 0.8375rem + 5.76vw, 4.4375rem);
}
.works-c__item_s {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 0;
}
.works-c__item_l {
  max-width: 586px;
  grid-area: 4/1/5/3;
  margin-inline: auto;
}
.works-c__text {
  color: var(--main);
  font-size: clamp(0.875rem, 0.65rem + 0.96vw, 1.25rem);
  line-height: 1.75;
  letter-spacing: 0.04em;
}
.works-c__img {
  margin-top: 8px;
}
.works-c__img_355 {
  max-width: 355px;
}
.works-c__img_586 {
  max-width: 586px;
}

.works-nav__items {
  max-width: 1031px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  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: 1000px) {
  .works-nav__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: 15px;
    padding: 0 clamp(0.9375rem, 0.0429389313rem + 3.8167938931vw, 1.875rem);
  }
}
.works-nav__item {
  max-width: 315px;
  width: 100%;
}
.works-nav__link {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.works1_pos {
  margin-top: clamp(4.375rem, 3.1rem + 5.44vw, 6.5rem);
}
.works1__inner {
  max-width: 870px;
  -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__title {
  margin-inline: auto;
}

.works2_pos {
  margin-top: clamp(4.375rem, 3.8125rem + 2.4vw, 5.3125rem);
}
.works2__inner {
  max-width: 870px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
@media (max-width: 768px) {
  .works2__inner {
    padding: 0 clamp(0.9375rem, 0.0429389313rem + 3.8167938931vw, 1.875rem);
  }
}
.works2__title {
  margin-inline: auto;
}

.works3_pos {
  margin-top: clamp(4.375rem, 3.775rem + 2.56vw, 5.375rem);
}
.works3__inner {
  max-width: 870px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  padding-bottom: 120px;
}
@media (max-width: 768px) {
  .works3__inner {
    padding: 0 clamp(0.9375rem, 0.0429389313rem + 3.8167938931vw, 1.875rem) 120px;
  }
}
.works3__title {
  margin-inline: auto;
}

/*###################################################################
  contact（page）
###################################################################*/
.contact-c__line {
  padding-top: clamp(4.0625rem, 3.2275763359rem + 3.5623409669vw, 4.9375rem);
}

.contact1__inner-1 {
  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) {
  .contact1__inner-1 {
    padding: 0 clamp(0.9375rem, 0.0429389313rem + 3.8167938931vw, 1.875rem);
  }
}
.contact1__text {
  text-align: center;
}
@media (max-width: 600px) {
  .contact1__text {
    text-align: left;
  }
}
.contact1__pp-link {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.contact1__form-area {
  position: relative;
  z-index: 0;
  background-color: #e7ebed;
  margin-top: clamp(3.125rem, 0.8rem + 9.92vw, 7rem);
}
.contact1__inner-2 {
  max-width: 1193px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding: 100px 30px 100px;
}
@media (max-width: 1000px) {
  .contact1__inner-2 {
    padding: clamp(3.125rem, 1.25rem + 8vw, 6.25rem) clamp(0.9375rem, 0.0429389313rem + 3.8167938931vw, 1.875rem) clamp(4.375rem, 3.25rem + 4.8vw, 6.25rem);
  }
}
.contact1__form {
  background-color: rgba(255, 255, 255, 0.83);
  border-radius: 16px;
  padding: 16px 15px 40px;
}

@media (hover: hover) and (pointer: fine) {
  .contact1__pp-link {
    -webkit-transition: color 0.4s;
    transition: color 0.4s;
  }
  .contact1__pp-link:hover, .contact1__pp-link:focus {
    color: var(--main-l);
  }
}
.form__body {
  max-width: 1027px;
  margin-inline: auto;
}
@media (max-width: 768px) {
  .form__body {
    max-width: 550px;
  }
}
.form__paragraph {
  padding: clamp(2.1875rem, 0.9647749511rem + 2.5440313112vw, 3rem) 0;
}
.form__paragraph:not(:last-of-type) {
  border-bottom: 1px solid #d9d9d9;
}
.form__inner {
  max-width: 915px;
  display: grid;
  grid-template-columns: clamp(16.125rem, 10.2935420744rem + 12.133072407vw, 20rem) 1fr;
}
@media (max-width: 768px) {
  .form__inner {
    grid-template-columns: 1fr;
    row-gap: 10px;
  }
}
.form__inner_radio {
  max-width: inherit;
}
.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: 15px;
     -moz-column-gap: 15px;
          column-gap: 15px;
}
.form__title_no-center {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media (max-width: 768px) {
  .form__title_no-center {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.form__label {
  color: var(--main);
  font-size: clamp(1.125rem, 0.560665362rem + 1.1741682975vw, 1.5rem);
  line-height: 1.4;
  letter-spacing: 0.04em;
}
.form__required {
  width: 66px;
  height: 33px;
  display: grid;
  place-items: center;
  background-color: #d96022;
  color: var(--base);
  letter-spacing: 0.04em;
  border-radius: 5px;
}
.form__input {
  width: 100%;
  height: clamp(3.4375rem, 2.2147749511rem + 2.5440313112vw, 4.25rem);
  background-color: #fbfcfc;
  font-size: clamp(1rem, 0.811888454rem + 0.3913894325vw, 1.125rem);
  line-height: 1.75;
  border: 1px solid #d9d9d9;
  border-radius: 2px;
  padding: 10px clamp(0.5rem, 0.0825381679rem + 1.7811704835vw, 0.9375rem);
}
.form__input_message {
  min-height: 258px;
  resize: vertical;
}
.form__tel-area {
  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;
  position: relative;
  z-index: 1;
}
.form__tel-area::after {
  content: "";
  width: 100%;
  height: 1px;
  top: clamp(1.71875rem, 1.2014432485rem + 1.0763209393vw, 2.0625rem);
  left: 0;
  z-index: -1;
  background-color: rgba(217, 217, 217, 0.83);
  position: absolute;
}
.form__tel-area .wpcf7-form-control-wrap {
  max-width: 184px;
}
.form__tel {
  max-width: 184px;
}
.form__term {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px 35px;
  color: var(--main);
  font-size: clamp(1.125rem, 0.560665362rem + 1.1741682975vw, 1.5rem);
  line-height: 1.4;
  letter-spacing: 0.04em;
}
.form__term .wpcf7-list-item {
  margin-left: 0;
}
.form__term label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 12px;
     -moz-column-gap: 12px;
          column-gap: 12px;
}
.form__term input {
  inline-size: clamp(1.125rem, 0.560665362rem + 1.1741682975vw, 1.5rem);
  block-size: clamp(1.125rem, 0.560665362rem + 1.1741682975vw, 1.5rem);
  accent-color: var(--main);
}
.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: 4px;
}
.form__action-button {
  max-width: clamp(16.875rem, 13.4823895028rem + 14.4751381215vw, 25.0625rem);
  width: 100%;
  height: clamp(4.375rem, 3.6498618785rem + 3.0939226519vw, 6.125rem);
  background-color: var(--main-l);
  color: var(--base);
  font-size: clamp(1.5rem, 1.2928176796rem + 0.8839779006vw, 2rem);
  text-align: center;
  letter-spacing: 0.04em;
  vertical-align: middle;
  border-radius: 6px;
}
.form[data-status=sent] .form__button-wrapper {
  display: none;
}
.form .wpcf7-response-output {
  max-width: 1027px;
  margin: 0 auto !important;
}

@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(--main);
  }
}
.contact2_pos {
  margin-top: 100px;
}
.contact2__inner {
  max-width: 1193px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  padding-bottom: 120px;
}
@media (max-width: 768px) {
  .contact2__inner {
    padding: 0 clamp(0.9375rem, 0.0429389313rem + 3.8167938931vw, 1.875rem) 120px;
  }
}
.contact2__title {
  margin-inline: auto;
}
.contact2__body {
  background-color: #ebeeef;
  border-radius: 16px;
  margin-top: 50px;
  padding: 35px clamp(0.5rem, 0.2375rem + 1.12vw, 0.9375rem) 20px;
}
.contact2__body-inner {
  max-width: 1131px;
  height: 624px;
  overflow-y: scroll;
  margin-inline: auto;
  padding-bottom: 15px;
  padding-left: clamp(0.4375rem, -0.125rem + 2.4vw, 1.375rem);
}
.contact2__body-inner::-webkit-scrollbar {
  width: 4px;
}
.contact2__body-inner::-webkit-scrollbarF-track {
  background-color: transparent;
}
.contact2__body-inner::-webkit-scrollbar-thumb {
  background-color: var(--main);
  border-radius: 13px;
}
.contact2__box {
  max-width: 1022px;
  padding-right: 15px;
}
.contact2__text-2 {
  font-size: clamp(1.125rem, 1rem + 0.4vw, 1.25rem);
  line-height: 1.7;
  letter-spacing: 0.04em;
}

/*###################################################################
  news（page）
###################################################################*/
.news-list_pos {
  margin-top: clamp(5rem, -0.5658284024rem + 20.7100591716vw, 9.375rem);
}
.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: 150px;
}
@media (max-width: 768px) {
  .news-list__inner {
    padding: 0 clamp(0.9375rem, -0.625rem + 5.2083333333vw, 1.875rem) 150px;
  }
}
@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;
  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: clamp(5rem, -0.5658284024rem + 20.7100591716vw, 9.375rem);
}
.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: 150px;
}
@media (max-width: 768px) {
  .news-post__inner {
    padding: 0 clamp(0.9375rem, -0.625rem + 5.2083333333vw, 1.875rem) 150px;
  }
}
.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;
}
@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: clamp(4.375rem, 1.0416666667rem + 13.3333333333vw, 9.375rem);
}
.page-404__inner {
  max-width: 1000px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  padding-bottom: 100px;
}
@media (max-width: 768px) {
  .page-404__inner {
    padding: 0 clamp(0.9375rem, -0.0815217391rem + 4.0760869565vw, 1.875rem) 100px;
  }
}
.page-404__title {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.5;
}
.page-404__text {
  line-height: 1.75;
  white-space: pre-line;
  margin-top: 50px;
}
.page-404__button {
  width: 175px;
  height: 48px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: bold;
  border: 1px solid var(--text);
  margin: 60px auto 0;
}

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