@charset "UTF-8";
/* reset CSS */
:where(html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video) {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

:where(article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main, img, svg, video, canvas, audio, iframe, embed, object) {
  display: block;
}

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:where(button) {
  border: none;
  background: none;
}

:where(ul, ol, summary) {
  list-style: none; /* ビュレットを削除、必要に応じて手動で追加する */
}

:where(table) {
  border-collapse: collapse;
  border-spacing: 0;
}

:where(:any-link, button, [type=button], [type=reset], [type=submit], label[for], select, summary, [role=tab], [role=button]) {
  cursor: pointer;
}

:where(img, picture, svg) {
  max-inline-size: 100%; /* images should never overflow past the available space */
  block-size: auto; /* アスペクト比を保持 */
  width: 100%;
  height: auto;
}

:where(input, select, button, textarea) {
  color: #333;
  font-family: inherit;
  border: none;
  border-radius: 0;
  box-shadow: none;
  background: none;
  appearance: none;
  outline: none;
}

:where(button, [type=button], [type=reset], [type=submit]) {
  touch-action: manipulation;
}

:where(label) {
  display: inline-flex;
  align-items: center;
}

:where(input:-webkit-autofill, textarea:-webkit-autofill) {
  box-shadow: 0 0 0 1000px #fff inset;
}

:where(select)::-ms-expand {
  display: none;
}

:where(input) {
  /* 旧Edge対応 */
  /* IE対応 */
}
:where(input)::placeholder {
  color: #b6bcc4;
}
:where(input) ::-ms-input-placeholder {
  color: #b6bcc4;
}
:where(input) :-ms-input-placeholder {
  color: #b6bcc4;
}
:where(input)[type=radio], :where(input)[type=checkbox] {
  opacity: 0;
  overflow: hidden;
  width: 0;
  height: 0;
  padding: 0;
  margin: 0;
}

/* ------------------------
  Print Styles
------------------------ */
@media print {
  *,
  *::before,
  *::after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
}
.u-hidden {
  display: none !important;
  visibility: hidden;
}

@media (max-width: 766.98px) {
  .u-hidden-sm {
    display: none !important;
    visibility: hidden;
  }
}

.u-hidden-up-sm {
  display: none !important;
  visibility: hidden;
}

@media (max-width: 766.98px) {
  .u-hidden-down-sm {
    display: none !important;
    visibility: hidden;
  }
}

@media (min-width: 767px) and (max-width: 1279.98px) {
  .u-hidden-md {
    display: none !important;
    visibility: hidden;
  }
}

@media (min-width: 767px) {
  .u-hidden-up-md {
    display: none !important;
    visibility: hidden;
  }
}

@media (max-width: 1279.98px) {
  .u-hidden-down-md {
    display: none !important;
    visibility: hidden;
  }
}

@media (min-width: 1280px) {
  .u-hidden-lg {
    display: none !important;
    visibility: hidden;
  }
}

@media (min-width: 1280px) {
  .u-hidden-up-lg {
    display: none !important;
    visibility: hidden;
  }
}

.u-hidden-down-lg {
  display: none !important;
  visibility: hidden;
}

.u-mt5 {
  margin-top: 5px !important;
}

.u-pt5 {
  padding-top: 5px !important;
}

.u-mr5 {
  margin-right: 5px !important;
}

.u-pr5 {
  padding-right: 5px !important;
}

.u-mb5 {
  margin-bottom: 5px !important;
}

.u-pb5 {
  padding-bottom: 5px !important;
}

.u-ml5 {
  margin-left: 5px !important;
}

.u-pl5 {
  padding-left: 5px !important;
}

.u-mt10 {
  margin-top: 10px !important;
}

.u-pt10 {
  padding-top: 10px !important;
}

.u-mr10 {
  margin-right: 10px !important;
}

.u-pr10 {
  padding-right: 10px !important;
}

.u-mb10 {
  margin-bottom: 10px !important;
}

.u-pb10 {
  padding-bottom: 10px !important;
}

.u-ml10 {
  margin-left: 10px !important;
}

.u-pl10 {
  padding-left: 10px !important;
}

.u-mt15 {
  margin-top: 15px !important;
}

.u-pt15 {
  padding-top: 15px !important;
}

.u-mr15 {
  margin-right: 15px !important;
}

.u-pr15 {
  padding-right: 15px !important;
}

.u-mb15 {
  margin-bottom: 15px !important;
}

.u-pb15 {
  padding-bottom: 15px !important;
}

.u-ml15 {
  margin-left: 15px !important;
}

.u-pl15 {
  padding-left: 15px !important;
}

.u-mt20 {
  margin-top: 20px !important;
}

.u-pt20 {
  padding-top: 20px !important;
}

.u-mr20 {
  margin-right: 20px !important;
}

.u-pr20 {
  padding-right: 20px !important;
}

.u-mb20 {
  margin-bottom: 20px !important;
}

.u-pb20 {
  padding-bottom: 20px !important;
}

.u-ml20 {
  margin-left: 20px !important;
}

.u-pl20 {
  padding-left: 20px !important;
}

.u-mt25 {
  margin-top: 25px !important;
}

.u-pt25 {
  padding-top: 25px !important;
}

.u-mr25 {
  margin-right: 25px !important;
}

.u-pr25 {
  padding-right: 25px !important;
}

.u-mb25 {
  margin-bottom: 25px !important;
}

.u-pb25 {
  padding-bottom: 25px !important;
}

.u-ml25 {
  margin-left: 25px !important;
}

.u-pl25 {
  padding-left: 25px !important;
}

.u-mt30 {
  margin-top: 30px !important;
}

.u-pt30 {
  padding-top: 30px !important;
}

.u-mr30 {
  margin-right: 30px !important;
}

.u-pr30 {
  padding-right: 30px !important;
}

.u-mb30 {
  margin-bottom: 30px !important;
}

.u-pb30 {
  padding-bottom: 30px !important;
}

.u-ml30 {
  margin-left: 30px !important;
}

.u-pl30 {
  padding-left: 30px !important;
}

.u-mt35 {
  margin-top: 35px !important;
}

.u-pt35 {
  padding-top: 35px !important;
}

.u-mr35 {
  margin-right: 35px !important;
}

.u-pr35 {
  padding-right: 35px !important;
}

.u-mb35 {
  margin-bottom: 35px !important;
}

.u-pb35 {
  padding-bottom: 35px !important;
}

.u-ml35 {
  margin-left: 35px !important;
}

.u-pl35 {
  padding-left: 35px !important;
}

.u-mt40 {
  margin-top: 40px !important;
}

.u-pt40 {
  padding-top: 40px !important;
}

.u-mr40 {
  margin-right: 40px !important;
}

.u-pr40 {
  padding-right: 40px !important;
}

.u-mb40 {
  margin-bottom: 40px !important;
}

.u-pb40 {
  padding-bottom: 40px !important;
}

.u-ml40 {
  margin-left: 40px !important;
}

.u-pl40 {
  padding-left: 40px !important;
}

.u-mt45 {
  margin-top: 45px !important;
}

.u-pt45 {
  padding-top: 45px !important;
}

.u-mr45 {
  margin-right: 45px !important;
}

.u-pr45 {
  padding-right: 45px !important;
}

.u-mb45 {
  margin-bottom: 45px !important;
}

.u-pb45 {
  padding-bottom: 45px !important;
}

.u-ml45 {
  margin-left: 45px !important;
}

.u-pl45 {
  padding-left: 45px !important;
}

.u-mt50 {
  margin-top: 50px !important;
}

.u-pt50 {
  padding-top: 50px !important;
}

.u-mr50 {
  margin-right: 50px !important;
}

.u-pr50 {
  padding-right: 50px !important;
}

.u-mb50 {
  margin-bottom: 50px !important;
}

.u-pb50 {
  padding-bottom: 50px !important;
}

.u-ml50 {
  margin-left: 50px !important;
}

.u-pl50 {
  padding-left: 50px !important;
}

.u-mt55 {
  margin-top: 55px !important;
}

.u-pt55 {
  padding-top: 55px !important;
}

.u-mr55 {
  margin-right: 55px !important;
}

.u-pr55 {
  padding-right: 55px !important;
}

.u-mb55 {
  margin-bottom: 55px !important;
}

.u-pb55 {
  padding-bottom: 55px !important;
}

.u-ml55 {
  margin-left: 55px !important;
}

.u-pl55 {
  padding-left: 55px !important;
}

.u-mt60 {
  margin-top: 60px !important;
}

.u-pt60 {
  padding-top: 60px !important;
}

.u-mr60 {
  margin-right: 60px !important;
}

.u-pr60 {
  padding-right: 60px !important;
}

.u-mb60 {
  margin-bottom: 60px !important;
}

.u-pb60 {
  padding-bottom: 60px !important;
}

.u-ml60 {
  margin-left: 60px !important;
}

.u-pl60 {
  padding-left: 60px !important;
}

:root {
  --leading-trim: calc((1em - 1lh) / 2);
}

@supports not (top: 1lh) {
  :root {
    --leading-trim: 0px; /* `px`などの単位が必要 */
  }
}
.leading-trim {
  margin-block: var(--leading-trim);
}

html {
  overflow-y: scroll;
}

body {
  color: #fff;
  font-size: 1.09375vw;
  line-height: 1.8571428571;
  font-family: "Gothic MB101 Light";
  font-weight: 400;
  font-feature-settings: "palt";
  -webkit-text-size-adjust: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
  letter-spacing: 0.15em;
  background: #008BC5;
}
@media (max-width: 766.98px) {
  body {
    font-size: 3.4666666667vw;
    font-family: "Gothic MB101 Regular";
  }
}
body.is-fixed {
  position: fixed;
  inset: 0;
}

a {
  color: inherit;
  text-decoration: none;
}
@media (min-width: 767px) {
  a[href^="tel:"] {
    pointer-events: none;
    color: inherit;
    cursor: default;
    text-decoration: none;
  }
}
a.no-link {
  pointer-events: none;
  cursor: default;
}

.en {
  font-family: "Geist", sans-serif;
  font-weight: 200;
  letter-spacing: 0;
}

@media (max-width: 766.98px) {
  .-pcOnly {
    display: none;
  }
}

.-spOnly {
  display: none;
}
@media (max-width: 766.98px) {
  .-spOnly {
    display: block;
  }
}

.sec-in {
  padding-inline: 3.515625vw;
}
@media (max-width: 766.98px) {
  .sec-in {
    padding-inline: 3.2vw;
  }
}

.l-wrapper {
  overflow: hidden;
}

.l-bg {
  position: relative;
  z-index: 1;
}
.l-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: url(/assets/img/common/bg.png) repeat top center/auto;
  z-index: -1;
}
@media (max-width: 766.98px) {
  .l-bg::after {
    background: url(/assets/img/common/bg_sp.png) repeat top center/auto 179.4666666667vw;
  }
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
  opacity: 0;
}
.l-header.is-show {
  transition: 1s 1.5s;
  opacity: 1;
}
.l-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 40px 12px 12px;
}
@media (max-width: 1279.98px) {
  .l-header__inner {
    padding: 0.9375vw 3.125vw 0.9375vw 0.9375vw;
  }
}
@media (max-width: 766.98px) {
  .l-header__inner {
    padding: 3.2vw 5.8666666667vw 3.2vw 3.2vw;
  }
}
.l-header__logo {
  position: relative;
  z-index: 1;
  width: 165px;
}
@media (max-width: 1279.98px) {
  .l-header__logo {
    width: 12.890625vw;
  }
}
@media (max-width: 766.98px) {
  .l-header__logo {
    width: 44vw;
  }
}

.l-nav {
  display: flex;
  align-items: center;
  gap: 40px;
}
@media (max-width: 1279.98px) {
  .l-nav {
    gap: 3.125vw;
  }
}
@media (max-width: 766.98px) {
  .l-nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100dvh;
    background: rgba(0, 139, 197, 0.6);
    backdrop-filter: blur(34px);
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    padding-left: 8vw;
    padding-bottom: 8vw;
    gap: 16vw;
    opacity: 0;
    pointer-events: none;
    transition: 0.7s;
  }
}
.l-nav.is-open {
  opacity: 1;
  pointer-events: all;
}
.l-nav.is-change .l-nav__link {
  color: #008BC5;
}
.l-nav.is-change .l-nav__sns svg {
  fill: #008BC5;
}
.l-nav__list {
  display: flex;
  align-items: center;
  gap: 40px;
}
@media (max-width: 1279.98px) {
  .l-nav__list {
    gap: 3.125vw;
  }
}
@media (max-width: 766.98px) {
  .l-nav__list {
    flex-direction: column;
    align-items: flex-start;
    gap: 8vw;
  }
}
.l-nav__link {
  position: relative;
  font-size: 14px;
  color: #fff;
  transition: 0.7s;
}
@media (max-width: 1279.98px) {
  .l-nav__link {
    font-size: 1.09375vw;
  }
}
@media (max-width: 766.98px) {
  .l-nav__link {
    font-size: 4.5333333333vw;
    color: #fff !important;
  }
}
@media (any-hover: hover) {
  .l-nav__link:hover .txt {
    opacity: 0;
  }
  .l-nav__link:hover .hover {
    opacity: 1;
  }
}
.l-nav__link .hover {
  position: absolute;
  display: block;
  white-space: nowrap;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 100%;
  opacity: 0;
}
.l-nav__sns {
  display: flex;
  align-items: center;
  gap: 30px;
}
@media (max-width: 1279.98px) {
  .l-nav__sns {
    gap: 2.34375vw;
  }
}
@media (max-width: 766.98px) {
  .l-nav__sns {
    gap: 9.3333333333vw;
  }
}
.l-nav__sns > a {
  width: 20px;
  transition: 0.7s;
}
@media (max-width: 1279.98px) {
  .l-nav__sns > a {
    width: 1.5625vw;
  }
}
@media (max-width: 766.98px) {
  .l-nav__sns > a {
    width: 5.3333333333vw;
  }
}
@media (any-hover: hover) {
  .l-nav__sns > a:hover {
    opacity: 0.5;
  }
}
.l-nav__sns svg {
  fill: #fff;
  transition: 0.7s;
}
@media (max-width: 766.98px) {
  .l-nav__sns svg {
    fill: #fff !important;
  }
}
@media (max-width: 766.98px) {
  .l-nav__copy {
    font-size: 2.6666666667vw;
    font-weight: 100;
    position: absolute;
    bottom: 8vw;
    right: 8vw;
    line-height: 1;
  }
}

@media (max-width: 766.98px) {
  .l-menu {
    position: relative;
    width: 9.3333333333vw;
    height: 2.9333333333vw;
  }
  .l-menu.is-open .line {
    translate: -50% -50%;
    background: #fff !important;
  }
  .l-menu.is-open .line:nth-child(1) {
    top: 50%;
    rotate: 45deg;
  }
  .l-menu.is-open .line:nth-child(2) {
    top: 50%;
    rotate: -45deg;
  }
  .l-menu.is-change .line {
    background: #008BC5;
  }
  .l-menu .line {
    position: absolute;
    left: 50%;
    translate: -50% 0;
    width: 100%;
    height: 0.2666666667vw;
    background: #fff;
    transition: 0.7s;
  }
  .l-menu .line:nth-child(1) {
    top: 0;
  }
  .l-menu .line:nth-child(2) {
    top: 100%;
  }
}

.l-footer {
  padding: 170px 0 10px;
  background: #008BC5;
}
@media (max-width: 1279.98px) {
  .l-footer {
    padding: 13.28125vw 0 0.78125vw;
  }
}
@media (max-width: 766.98px) {
  .l-footer {
    padding: 21.3333333333vw 0 2.6666666667vw;
  }
}
.l-footer__inner {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 430px;
  padding-inline: 30px;
}
@media (max-width: 1279.98px) {
  .l-footer__inner {
    grid-template-columns: 23.4375vw 1fr;
    gap: 33.59375vw;
    padding-inline: 2.34375vw;
  }
}
@media (max-width: 766.98px) {
  .l-footer__inner {
    grid-template-columns: 1fr;
    gap: 13.3333333333vw;
    padding-inline: 4vw;
  }
}
.l-footer__nav {
  margin-left: auto;
}
@media (max-width: 766.98px) {
  .l-footer__nav {
    margin: 0;
    order: -1;
  }
}
.l-footer__nav--list {
  display: flex;
  gap: 70px;
}
@media (max-width: 1279.98px) {
  .l-footer__nav--list {
    gap: 5.46875vw;
  }
}
@media (max-width: 766.98px) {
  .l-footer__nav--list {
    flex-direction: column;
    gap: 13.3333333333vw;
  }
}
.l-footer__nav--tit {
  font-size: 18px;
  margin-bottom: 15px;
  font-weight: 100;
}
@media (max-width: 1279.98px) {
  .l-footer__nav--tit {
    font-size: 1.40625vw;
    margin-bottom: 1.171875vw;
  }
}
@media (max-width: 766.98px) {
  .l-footer__nav--tit {
    font-size: 4.2666666667vw;
  }
}
.l-footer__nav--link {
  font-size: 14px;
  display: block;
  text-decoration: underline;
  text-underline-offset: 3px;
}
@media (max-width: 1279.98px) {
  .l-footer__nav--link {
    font-size: 1.09375vw;
    text-underline-offset: 0.234375vw;
  }
}
@media (max-width: 766.98px) {
  .l-footer__nav--link {
    font-size: 3.2vw;
    display: inline-block;
    text-underline-offset: 0.8vw;
  }
  .l-footer__nav--link:nth-of-type(2) {
    padding-left: 8vw;
  }
}
@media (any-hover: hover) {
  .l-footer__nav--link:hover {
    text-decoration: none;
  }
}
.l-footer__btm {
  padding-inline: 15px;
  margin-top: 185px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  font-size: 12px;
  font-weight: 100;
  color: #D4F2FF;
}
@media (max-width: 1279.98px) {
  .l-footer__btm {
    padding-inline: 1.171875vw;
    margin-top: 14.453125vw;
    font-size: 0.9375vw;
  }
}
@media (max-width: 766.98px) {
  .l-footer__btm {
    font-size: 2.6666666667vw;
    justify-content: center;
  }
}

.c-headingStyle1 {
  line-height: 1;
  font-size: 2.03125vw;
  font-weight: 200;
}
@media (max-width: 766.98px) {
  .c-headingStyle1 {
    font-size: 5.3333333333vw;
    font-weight: 300;
  }
}
.c-headingStyle1.-blue {
  color: #008BC5;
}

.c-table dl {
  display: grid;
  grid-template-columns: 18.75vw 1fr;
  padding: 1.953125vw 0;
  font-size: 1.09375vw;
  border-bottom: 0.078125vw solid #C1D4DC;
  letter-spacing: 0;
}
.c-table dl:nth-of-type(1) {
  padding-top: 0;
}
@media (max-width: 766.98px) {
  .c-table dl {
    grid-template-columns: 42.6666666667vw 1fr;
    padding: 5.3333333333vw 0;
    font-size: 3.2vw;
    border-width: 0.2666666667vw;
  }
}

.c-bg {
  position: fixed;
  inset: 0;
  pointer-events: none;
  background: #008BC5;
  opacity: 0;
}
.c-bg.-blend {
  mix-blend-mode: hard-light;
  z-index: -2;
}
.c-bg.-blend::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.2);
}
.c-bg.-normal {
  z-index: -1;
}

.c-modal__close {
  position: sticky;
  top: 92%;
  left: 50%;
  translate: -50% 0;
  width: 10.15625vw;
  height: 3.125vw;
  border-radius: 0.234375vw;
  background: #008BC5;
  display: flex;
  align-items: center;
  justify-content: center;
  filter: drop-shadow(0px 4px 10px rgba(0, 39, 56, 0.4));
  transition: 0.3s;
}
@media (any-hover: hover) {
  .c-modal__close:hover {
    opacity: 0.7;
  }
}
@media (max-width: 766.98px) {
  .c-modal__close {
    top: 92%;
    width: 34.6666666667vw;
    height: 10.6666666667vw;
    border-radius: 0.8vw;
  }
}
.c-modal__close .txt {
  position: relative;
  left: -0.390625vw;
  color: #fff;
  font-size: 0.9375vw;
  line-height: 1;
}
@media (max-width: 766.98px) {
  .c-modal__close .txt {
    left: -1.3333333333vw;
    font-size: 3.2vw;
  }
}
.c-modal__close .obj {
  position: absolute;
  top: 50%;
  right: 0.78125vw;
  translate: 0 -50%;
  width: 1.5625vw;
  height: 1.5625vw;
}
@media (max-width: 766.98px) {
  .c-modal__close .obj {
    right: 2.6666666667vw;
    width: 5.3333333333vw;
    height: 5.3333333333vw;
  }
}
.c-modal__close .obj .line {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 100%;
  height: 0.078125vw;
  background: #fff;
}
@media (max-width: 766.98px) {
  .c-modal__close .obj .line {
    height: 0.2666666667vw;
  }
}
.c-modal__close .obj .line:nth-child(1) {
  rotate: 45deg;
}
.c-modal__close .obj .line:nth-child(2) {
  rotate: -45deg;
}
.c-modal__inner {
  margin: 0.78125vw 0.78125vw 0;
  background: #fff;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  height: 99dvh;
}
@media (max-width: 766.98px) {
  .c-modal__inner {
    margin: 1.3333333333vw 1.3333333333vw 0;
    height: 100dvh;
    height: 98dvh;
    position: relative;
    top: 0.7vh;
  }
}
.c-modal__info {
  color: #008BC5;
  padding: 5.46875vw;
  line-height: 1;
}
@media (max-width: 766.98px) {
  .c-modal__info {
    padding: 9.3333333333vw 4vw;
    padding-top: 0;
  }
}
.c-modal__category {
  font-weight: 300;
  font-size: 0.9375vw;
}
@media (max-width: 766.98px) {
  .c-modal__category {
    font-size: 3.2vw;
  }
}
.c-modal__tit {
  font-size: 2.65625vw;
  font-weight: 300;
  margin-top: 0.78125vw;
}
@media (max-width: 766.98px) {
  .c-modal__tit {
    font-size: 6.6666666667vw;
    margin-top: 1.8666666667vw;
  }
}
.c-modal__data {
  font-size: 0.9375vw;
  letter-spacing: 0;
  font-weight: 300;
  color: #6EB2CF;
  margin-top: 1.171875vw;
}
@media (max-width: 766.98px) {
  .c-modal__data {
    font-size: 3.2vw;
    margin-top: 3.2vw;
  }
}
.c-modal__gallery--list {
  padding: 1.015625vw;
}
@media (max-width: 766.98px) {
  .c-modal__gallery--list {
    padding: 2.1333333333vw;
  }
}
.c-modal__gallery--items:nth-child(n+2) {
  margin-top: 1.015625vw;
}
@media (max-width: 766.98px) {
  .c-modal__gallery--items:nth-child(n+2) {
    margin-top: 2.1333333333vw;
  }
}
.c-modal__gallery--items.-columns2 {
  display: grid;
  grid-template-columns: 1fr 0.7fr;
  gap: 1.015625vw;
}
@media (max-width: 766.98px) {
  .c-modal__gallery--items.-columns2 {
    grid-template-columns: 1fr;
    gap: 2.1333333333vw;
  }
}
.c-modal__gallery--items.-columns2.-reverse {
  grid-template-columns: 0.7fr 1fr;
}
@media (max-width: 766.98px) {
  .c-modal__gallery--items.-columns2.-reverse {
    grid-template-columns: 1fr;
  }
}
.c-modal__gallery--items img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mfp-zoom-in {
  /* start state */
  /* animate in */
  /* animate out */
}
.mfp-zoom-in .mfp-with-anim {
  transition: all 0.5s ease-in-out;
  translate: 0 100%;
}
.mfp-zoom-in.mfp-bg {
  opacity: 0;
  transition: all 0.5s ease-out;
}
.mfp-zoom-in.mfp-ready .mfp-with-anim {
  translate: 0 0;
}
.mfp-zoom-in.mfp-ready.mfp-bg {
  opacity: 0.8;
}
.mfp-zoom-in.mfp-removing .mfp-with-anim {
  translate: 0 100%;
}
.mfp-zoom-in.mfp-removing.mfp-bg {
  opacity: 0;
}

.mfp-bg {
  background: #194354;
  opacity: 0.4 !important;
}

@keyframes draw-border {
  to {
    stroke-dashoffset: 0;
  }
}
#index .secSplash {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  pointer-events: none;
}
#index .secSplash.is-start .animated-border {
  animation: draw-border 1.2s 1s forwards cubic-bezier(0.85, 0, 0.15, 1);
}
#index .secSplash.is-show .secSplash__logo {
  transition: 1s;
  opacity: 1;
}
#index .secSplash.is-hide .secSplash__box {
  transition: 1s;
  opacity: 0;
}
#index .secSplash.is-move .secSplash__mask.-front {
  transition: 1s cubic-bezier(0.85, 0, 0.15, 1);
  padding: 35dvh 3%;
}
@media (max-width: 766.98px) {
  #index .secSplash.is-move .secSplash__mask.-front {
    padding: 42dvh 3%;
  }
}
#index .secSplash.is-end .secSplash__mask.-front {
  display: none;
}
#index .secSplash__mask {
  position: absolute;
  inset: 0;
  background: #008BC5;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  -webkit-mask-composite: destination-out;
  padding: calc((100svh - 128px) / 2) calc((100% - 512px) / 2);
  will-change: padding;
}
@media (max-width: 1279.98px) {
  #index .secSplash__mask {
    padding: calc((100svh - 10vw) / 2) calc((100% - 39.0625vw) / 2);
  }
}
@media (max-width: 766.98px) {
  #index .secSplash__mask {
    padding: calc((100svh - 16vw) / 2) calc((100% - 64vw) / 2);
  }
}
#index .secSplash__mask.-back {
  padding: 35dvh 3%;
}
@media (max-width: 766.98px) {
  #index .secSplash__mask.-back {
    padding: 42dvh 3%;
  }
}
#index .secSplash__box {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 512px;
  height: 130px;
}
@media (max-width: 1279.98px) {
  #index .secSplash__box {
    width: 40vw;
    height: 10.15625vw;
  }
}
@media (max-width: 766.98px) {
  #index .secSplash__box {
    width: 64vw;
    height: 16.2666666667vw;
  }
}
#index .secSplash__box .animated-border {
  fill: #008BC5;
  stroke: #fff;
  stroke-width: 2;
  stroke-dasharray: 1284;
  stroke-dashoffset: 1284;
}
#index .secSplash__logo {
  position: absolute;
  top: 50%;
  left: 49%;
  translate: -50% -50%;
  width: 85%;
  opacity: 0;
}
#index .secHero {
  position: relative;
  height: 100dvh;
}
#index .secHero.is-show .secHero__tit {
  transition: 1s 1.5s;
  opacity: 1;
}
#index .secHero__tit {
  position: absolute;
  bottom: 0.78125vw;
  left: 0;
  width: 100%;
  padding-inline: 0.9375vw;
  z-index: 10;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  opacity: 0;
}
@media (max-width: 766.98px) {
  #index .secHero__tit {
    padding-inline: 4vw;
    flex-direction: column;
    align-items: flex-start;
    gap: 14.6666666667vw;
    bottom: 2.6666666667vw;
  }
}
#index .secHero__tit .tit {
  font-size: 5.234375vw;
  font-weight: 300;
  line-height: 1;
}
@media (max-width: 766.98px) {
  #index .secHero__tit .tit {
    font-size: 16.2666666667vw;
    line-height: 1.1639344262;
  }
}
#index .secHero__tit .subtit {
  font-size: 0.859375vw;
  text-align: right;
}
@media (max-width: 766.98px) {
  #index .secHero__tit .subtit {
    font-size: 2.6666666667vw;
    line-height: 1.6;
    margin-left: auto;
  }
}
#index .secHero__slide {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  z-index: -3;
  overflow: hidden;
}
#index .secHero__list li img {
  width: 100%;
  height: 100dvh;
  object-fit: cover;
}
#index .secConcept {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 150dvh;
}
@media (max-width: 766.98px) {
  #index .secConcept {
    height: 120dvh;
  }
}
#index .secConcept__tit {
  margin-top: 3.515625vw;
  font-size: 2.890625vw;
  font-family: "Gothic MB101 Regular";
  letter-spacing: 0.22em;
}
@media (max-width: 766.98px) {
  #index .secConcept__tit {
    font-size: 6.9333333333vw;
    line-height: 1.5769230769;
    margin-top: 6.6666666667vw;
  }
}
#index .secConcept__txt {
  font-size: 1.40625vw;
  line-height: 2.7222222222;
  margin-top: 2.34375vw;
}
@media (max-width: 766.98px) {
  #index .secConcept__txt {
    font-size: 3.7333333333vw;
    line-height: 2.5;
    margin-top: 9.3333333333vw;
  }
}
#index .secWork {
  position: relative;
  padding: 7.8125vw 0;
}
@media (max-width: 766.98px) {
  #index .secWork {
    padding: 18.6666666667vw 0;
  }
}
#index .secWork__bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: #008BC5;
  opacity: 0;
}
#index .secWork__bg.is-active {
  opacity: 1;
}
#index .secWork__list {
  margin-top: 3.515625vw;
}
@media (max-width: 766.98px) {
  #index .secWork__list {
    margin-top: 9.3333333333vw;
  }
}
#index .secWork__items:nth-child(n+2) {
  margin-top: 3.125vw;
}
@media (max-width: 766.98px) {
  #index .secWork__items:nth-child(n+2) {
    margin-top: 6.6666666667vw;
  }
}
@media (any-hover: hover) {
  #index .secWork__items > a:hover .secWork__items--img {
    max-height: 39.0625vw;
  }
}
#index .secWork__items--img {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  max-height: 15.625vw;
  border-radius: 0.234375vw;
  overflow: hidden;
  transition: max-height 0.8s;
}
@media (max-width: 766.98px) {
  #index .secWork__items--img {
    max-height: 32vw;
    border-radius: 0.8vw;
  }
}
#index .secWork__items--name {
  font-size: 1.09375vw;
  margin-top: 0.9375vw;
  font-weight: 300;
}
@media (max-width: 766.98px) {
  #index .secWork__items--name {
    font-size: 3.7333333333vw;
    margin-top: 0.8vw;
  }
}
#index .secWork__items--data {
  font-size: 0.9375vw;
  color: #A9CBDA;
  font-weight: 300;
}
@media (max-width: 766.98px) {
  #index .secWork__items--data {
    font-size: 3.2vw;
    line-height: 1;
  }
}
#index .secPhilosophy {
  padding-top: 13.28125vw;
  color: #008BC5;
}
@media (max-width: 766.98px) {
  #index .secPhilosophy {
    padding-top: 26.6666666667vw;
  }
}
#index .secPhilosophy__table {
  margin-top: 7.8125vw;
}
@media (max-width: 766.98px) {
  #index .secPhilosophy__table {
    margin-top: 0;
  }
}
#index .secPhilosophy__table dl {
  display: grid;
  grid-template-columns: 23.4375vw 1fr;
  align-items: center;
  border-bottom: 1px solid #C1D4DC;
  padding: 5.46875vw 9.375vw;
}
@media (max-width: 766.98px) {
  #index .secPhilosophy__table dl {
    grid-template-columns: 1fr;
    padding: 13.3333333333vw 0;
  }
}
#index .secPhilosophy__table dl dt {
  font-size: 1.71875vw;
  letter-spacing: 0.1em;
  font-weight: 300;
}
@media (max-width: 766.98px) {
  #index .secPhilosophy__table dl dt {
    font-size: 4.2666666667vw;
  }
}
#index .secPhilosophy__table dl dd > span {
  display: block;
}
#index .secPhilosophy__table dl dd .tit {
  font-size: 2.03125vw;
}
@media (max-width: 766.98px) {
  #index .secPhilosophy__table dl dd .tit {
    font-size: 6.1333333333vw;
    line-height: 1.6086956522;
    margin-top: 5.3333333333vw;
  }
}
#index .secPhilosophy__table dl dd .txt {
  margin-top: 2.34375vw;
  width: 49.21875vw;
  color: #47a2c8;
}
@media (max-width: 766.98px) {
  #index .secPhilosophy__table dl dd .txt {
    font-size: 3.7333333333vw;
    margin-top: 4.8vw;
    line-height: 1.8571428571;
    width: 100%;
  }
}
#index .secService {
  padding: 15.625vw 0 10.9375vw;
}
@media (max-width: 766.98px) {
  #index .secService {
    padding: 34.6666666667vw 0 22.6666666667vw;
  }
}
#index .secService__list {
  margin-top: 2.34375vw;
}
@media (max-width: 766.98px) {
  #index .secService__list {
    margin-top: 13.3333333333vw;
  }
}
#index .secService__items {
  background: #008BC5;
  padding: 4.6875vw;
  border-radius: 0.234375vw;
}
@media (max-width: 766.98px) {
  #index .secService__items {
    padding: 12vw 4vw;
    border-radius: 0.8vw;
  }
}
#index .secService__items:nth-child(n+2) {
  margin-top: 0.78125vw;
}
@media (max-width: 766.98px) {
  #index .secService__items:nth-child(n+2) {
    margin-top: 2.6666666667vw;
  }
}
#index .secService__items--tit > span {
  display: block;
}
#index .secService__items--tit .subtit {
  font-size: 0.78125vw;
}
@media (max-width: 766.98px) {
  #index .secService__items--tit .subtit {
    font-size: 2.6666666667vw;
  }
}
#index .secService__items--tit .tit {
  font-size: 2.1875vw;
  margin-top: 0.390625vw;
}
@media (max-width: 766.98px) {
  #index .secService__items--tit .tit {
    font-size: 7.4666666667vw;
    margin-top: 0;
  }
}
#index .secService__items--info {
  margin-top: 3.125vw;
  display: grid;
  grid-template-columns: 20.3125vw 1fr;
  gap: 17.1875vw;
  align-items: flex-end;
}
@media (max-width: 766.98px) {
  #index .secService__items--info {
    grid-template-columns: 1fr;
    margin-top: 5.3333333333vw;
    gap: 8vw;
  }
}
#index .secService__items--info .tit {
  font-size: 1.796875vw;
  line-height: 1.5217391304;
  letter-spacing: 0.25em;
}
@media (max-width: 766.98px) {
  #index .secService__items--info .tit {
    font-size: 6.1333333333vw;
  }
}
#index .secService__items--info .txt {
  font-size: 1.171875vw;
  margin-top: 2.34375vw;
  line-height: 1.9333333333;
  color: #D4F2FF;
}
@media (max-width: 766.98px) {
  #index .secService__items--info .txt {
    font-size: 3.4666666667vw;
    margin-top: 5.3333333333vw;
    line-height: 1.9230769231;
  }
}
#index .secFlow {
  padding-bottom: 3.90625vw;
  min-height: calc(100dvh + 10%);
  background: #fff;
  color: #008BC5;
  display: flex;
  align-items: center;
}
@media (max-width: 766.98px) {
  #index .secFlow {
    padding: 18.6666666667vw 0 26.6666666667vw;
    min-height: auto;
  }
}
#index .secFlow__txt {
  margin-top: 2.34375vw;
}
@media (max-width: 766.98px) {
  #index .secFlow__txt {
    margin-top: 8vw;
    font-size: 3.2vw;
  }
}
#index .secFlow__slide {
  margin-top: 2.734375vw;
  padding-inline: 4.296875vw 0;
}
@media (max-width: 766.98px) {
  #index .secFlow__slide {
    margin-top: 8vw;
    padding-inline: 3.2vw 0;
  }
}
#index .secFlow__list {
  display: flex;
  flex-wrap: nowrap;
  width: max-content;
  gap: 2.34375vw;
}
@media (max-width: 766.98px) {
  #index .secFlow__list {
    gap: 4vw;
    overflow-x: scroll;
    width: 100vw;
  }
}
#index .secFlow__items {
  max-width: 32.8125vw;
  background: #F7F9FA;
  padding: 3.90625vw 2.34375vw 2.34375vw;
  border-radius: 0.234375vw;
}
@media (max-width: 766.98px) {
  #index .secFlow__items {
    max-width: 66.6666666667vw;
    min-width: 66.6666666667vw;
    padding: 6.6666666667vw 4vw 2.6666666667vw;
    border-radius: 0.8vw;
  }
}
@media (max-width: 766.98px) {
  #index .secFlow__items:first-child .secFlow__items--txt {
    margin-top: 13.3333333333vw;
  }
}
@media (max-width: 766.98px) {
  #index .secFlow__items:last-child {
    margin-right: 6.4vw;
  }
}
#index .secFlow__items--num {
  font-size: 1.484375vw;
}
@media (max-width: 766.98px) {
  #index .secFlow__items--num {
    font-size: 3.2vw;
  }
}
#index .secFlow__items--tit {
  font-size: 1.484375vw;
  line-height: 1.5789473684;
  font-family: "Gothic MB101 Medium";
}
@media (max-width: 766.98px) {
  #index .secFlow__items--tit {
    font-size: 3.7333333333vw;
  }
}
#index .secFlow__items--subtit {
  font-size: 1.640625vw;
  line-height: 1.5714285714;
  margin-top: 4.6875vw;
  font-family: "Gothic MB101 Regular";
}
@media (max-width: 766.98px) {
  #index .secFlow__items--subtit {
    font-size: 4.5333333333vw;
    margin-top: 10.6666666667vw;
    line-height: 1.4117647059;
  }
}
#index .secFlow__items--txt {
  margin-top: 1.953125vw;
  color: #47a2c8;
  font-size: 1.015625vw;
}
@media (max-width: 766.98px) {
  #index .secFlow__items--txt {
    margin-top: 6.6666666667vw;
    font-size: 3.2vw;
  }
}
#index .secFlow__progress {
  position: relative;
  width: 41.40625vw;
  height: 0.078125vw;
  background: rgba(164, 199, 213, 0.5);
  margin-top: 2.3255813953vw;
}
@media (max-width: 766.98px) {
  #index .secFlow__progress {
    width: 92vw;
    height: 0.2666666667vw;
    margin-top: 8vw;
  }
}
#index .secFlow__progress--bar {
  position: absolute;
  inset: 0;
  width: 0;
  height: 100%;
  background: #008BC5;
}
#index .secCompany {
  padding: 12.5vw 0;
  color: #008BC5;
}
@media (max-width: 766.98px) {
  #index .secCompany {
    padding: 30.6666666667vw 0;
  }
}
#index .secCompany__inner {
  display: grid;
  grid-template-columns: 12.5vw 1fr;
  gap: 14.84375vw;
}
@media (max-width: 766.98px) {
  #index .secCompany__inner {
    grid-template-columns: 1fr;
    gap: 8vw;
  }
}
#index .secCompany .c-table dl dd > a {
  text-underline-offset: 0.234375vw;
}
@media (max-width: 766.98px) {
  #index .secCompany .c-table dl dd > a {
    text-underline-offset: 0.8vw;
  }
}
@media (any-hover: hover) {
  #index .secCompany .c-table dl dd > a:hover {
    text-decoration: underline;
  }
}/*# sourceMappingURL=style.css.map */