@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;
  resize: none;
}

:where(textarea) {
  resize: 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;
}

@font-face {
  font-family: "PPNeueMontreal";
  src: url("/assets/fonts/ppneuemontreal-book.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
/* ------------------------
  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: #0073A4;
  font-size: 1.09375vw;
  line-height: 1.8571428571;
  font-family: "MFW-GothicBBBPr6N-Medium";
  font-weight: 400;
  font-feature-settings: "palt";
  -webkit-text-size-adjust: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}
@media (max-width: 766.98px) {
  body {
    font-size: 3.4666666667vw;
  }
}

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: "PPNeueMontreal", sans-serif;
}

@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: fixed;
  inset: 0;
  background: url(/assets/img/common/bg_square.svg) repeat top left/auto auto;
  opacity: 0.3;
  z-index: -100;
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
  padding: 10px 75px;
  background: #fff;
  translate: 0 -100%;
  visibility: hidden;
  pointer-events: none;
  transition: 0.3s ease, visibility 0.3s ease;
}
@media (max-width: 766.98px) {
  .l-header {
    display: none;
  }
}
.l-header.is-show {
  translate: 0 0;
  visibility: visible;
  pointer-events: auto;
}
.l-header::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  translate: -50% 0;
  width: 200%;
  height: 1px;
  transform: scale(0.5);
  background: #0089C3;
}

@media (max-width: 766.98px) {
  .l-nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100dvh;
    background: rgba(0, 137, 195, 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__list {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 766.98px) {
  .l-nav__list {
    flex-direction: column;
    align-items: flex-start;
    gap: 8vw;
  }
}
.l-nav__list li > a {
  display: block;
  height: 2.03125vw;
  overflow: hidden;
}
@media (any-hover: hover) {
  .l-nav__list li > a:hover .inner {
    translate: 0 -50%;
  }
}
.l-nav__list li > a .inner {
  transition: 0.3s;
}
.l-nav__list li > a span {
  display: block;
}

@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: #0089C3;
  }
  .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 {
  position: relative;
  background: #fff;
  padding-top: 7.03125vw;
}
.l-footer::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 200%;
  height: 1px;
  background: #0089C3;
  transform: scale(0.5);
  transform-origin: 0 0;
  pointer-events: none;
}
@media (max-width: 766.98px) {
  .l-footer {
    padding: 16vw 0 8vw;
  }
}
.l-footer__inner {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding-inline: 2.890625vw;
}
@media (max-width: 766.98px) {
  .l-footer__inner {
    flex-direction: column;
    align-items: flex-start;
    padding-inline: 4%;
  }
}
@media (max-width: 766.98px) {
  .l-footer__sns {
    width: fit-content;
    margin-inline: auto;
  }
}
.l-footer__sns--list {
  display: flex;
}
.l-footer__sns--list li:last-child > a::after {
  border-left: none;
}
.l-footer__sns--list li > a {
  position: relative;
  display: block;
  width: 9.765625vw;
  height: 3.125vw;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transition: 0.3s;
}
@media (max-width: 766.98px) {
  .l-footer__sns--list li > a {
    font-size: 3.7333333333vw;
    width: 33.3333333333vw;
    height: 10.6666666667vw;
    margin-top: 13.3333333333vw;
  }
}
.l-footer__sns--list li > a::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 200%;
  height: 200%;
  border: 1px solid #0089C3;
  transform: scale(0.5);
  pointer-events: none;
}
@media (any-hover: hover) {
  .l-footer__sns--list li > a:hover {
    background: #0089C3;
    color: #fff;
  }
}
.l-footer__btm {
  display: grid;
  grid-template-columns: 1fr 0.546875vw;
  align-items: center;
  gap: 1.5625vw;
  margin-top: 7.8125vw;
  padding-inline: 1.5625vw;
}
@media (max-width: 766.98px) {
  .l-footer__btm {
    place-items: center;
    grid-template-columns: 1fr;
    padding-inline: 0;
    gap: 0;
    margin-top: 22.6666666667vw;
  }
}
.l-footer__txt {
  width: 100%;
}
.l-footer__copy {
  margin-top: 7.8125vw;
}
@media (max-width: 766.98px) {
  .l-footer__copy {
    margin-top: 2.6666666667vw;
    width: 17.3333333333vw;
  }
}

input::placeholder,
select::placeholder,
textarea::placeholder {
  color: #C0C5CB;
  font-family: "PPNeueMontreal", sans-serif;
}

.myError:not(input, select, textarea) {
  color: #d90000;
  font-size: 1.0248901903vw;
  margin-top: 0.439238653vw;
  line-height: 1.4;
}
@media (max-width: 766.98px) {
  .myError:not(input, select, textarea) {
    font-size: 3.4666666667vw;
    margin-top: 1.6vw;
  }
}

.mfp-container {
  padding: 0 !important;
}

.c-headingStyle1 {
  position: relative;
  font-size: 2.03125vw;
  padding: 3.90625vw 0 3.90625vw 3.125vw;
  letter-spacing: 0.2em;
}
@media (max-width: 766.98px) {
  .c-headingStyle1 {
    font-size: 4.8vw;
    padding: 8vw 0 8vw 2.6666666667vw;
  }
}
.c-headingStyle1::after {
  content: "";
  position: absolute;
  top: -0.08vw;
  left: 50%;
  translate: -50% 0;
  background: #0089C3;
  width: 200%;
  height: 1px;
  transform: scale(0.5);
  pointer-events: none;
  will-change: transform;
}

.c-modal__close {
  position: fixed;
  z-index: 10;
  top: 0;
  right: 0;
  width: 3.75vw;
  height: 3.75vw;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.3s;
}
.c-modal__close::after {
  content: "";
  pointer-events: none;
  will-change: transform;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 200%;
  height: 200%;
  border: 1px solid #0089C3;
  transform: scale(0.5);
}
@media (max-width: 766.98px) {
  .c-modal__close::after {
    border-bottom: 1px solid #0089C3;
  }
}
@media (any-hover: hover) {
  .c-modal__close:hover {
    background: #0089C3;
  }
  .c-modal__close:hover .obj .line {
    background: #fff;
  }
}
@media (max-width: 766.98px) {
  .c-modal__close {
    width: 12.8vw;
    height: 12.8vw;
  }
}
.c-modal__close .obj {
  position: relative;
  width: 1.875vw;
  height: 1.875vw;
}
@media (max-width: 766.98px) {
  .c-modal__close .obj {
    width: 6.4vw;
    height: 6.4vw;
  }
}
.c-modal__close .obj .line {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 200%;
  height: 1px;
  transform: scale(0.5);
  background: #0089C3;
  transition: 0.3s;
}
@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 {
  position: relative;
  background: #fff;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}
.c-modal__info {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  padding: 5.46875vw 2.34375vw 3.125vw;
}
@media (max-width: 766.98px) {
  .c-modal__info {
    grid-template-columns: 1fr;
    padding: 8vw 2.6666666667vw;
  }
}
.c-modal__info::before, .c-modal__info::after {
  content: "";
  position: absolute;
  left: 50%;
  translate: -50% -50%;
  pointer-events: none;
  will-change: transform;
  transform: scale(0.5);
  background: #0089C3;
}
.c-modal__info::before {
  top: 50%;
  width: 1px;
  height: 200%;
}
@media (max-width: 766.98px) {
  .c-modal__info::before {
    display: none;
  }
}
.c-modal__info::after {
  bottom: -1px;
  width: 200%;
  height: 1px;
}
.c-modal__data {
  padding-left: 2.34375vw;
}
@media (max-width: 766.98px) {
  .c-modal__data {
    padding-left: 0;
    margin-top: 16vw;
    text-align: right;
  }
}
.c-modal__data .locate {
  font-size: 1.71875vw;
  font-weight: 500;
  letter-spacing: 0.2em;
}
@media (max-width: 766.98px) {
  .c-modal__data .locate {
    font-size: 3.2vw;
  }
}
.c-modal__data .date {
  letter-spacing: 0.1em;
  font-size: 1.171875vw;
  padding-left: 1.5625vw;
}
@media (max-width: 766.98px) {
  .c-modal__data .date {
    font-size: 2.1333333333vw;
  }
}
.c-modal__cate {
  display: flex;
  flex-wrap: wrap;
  gap: 1.015625vw;
  font-size: 0.9375vw;
  font-weight: 300;
  line-height: 1;
  margin-top: 3.515625vw;
  margin-left: auto;
  width: fit-content;
}
@media (max-width: 766.98px) {
  .c-modal__cate {
    font-size: 2.4vw;
    gap: 1.3333333333vw;
    margin-top: 2.6666666667vw;
  }
}
.c-modal__cate .label {
  position: relative;
  padding: 0.390625vw 1.5625vw;
}
@media (max-width: 766.98px) {
  .c-modal__cate .label {
    padding: 1.3333333333vw 5.3333333333vw;
  }
}
.c-modal__cate .label::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 200%;
  height: 200%;
  border: 1px solid #0089C3;
  border-radius: 5.078125vw;
  transform: scale(0.5);
}
@media (max-width: 766.98px) {
  .c-modal__cate .label::after {
    top: 49%;
    border-bottom: 1px solid #0089C3;
  }
}
.c-modal__tit {
  display: flex;
  align-items: center;
  letter-spacing: 0.2em;
  font-size: 2.34375vw;
  font-weight: 300;
}
@media (max-width: 766.98px) {
  .c-modal__tit {
    font-size: 4.8vw;
  }
}
.c-modal__gallery--list {
  padding: 2.34375vw;
}
@media (max-width: 766.98px) {
  .c-modal__gallery--list {
    padding: 2.6666666667vw;
  }
}
.c-modal__gallery--items:nth-child(n+2) {
  margin-top: 2.34375vw;
}
@media (max-width: 766.98px) {
  .c-modal__gallery--items:nth-child(n+2) {
    margin-top: 2.6666666667vw;
  }
}
.c-modal__gallery--items.-columns2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.34375vw;
}
@media (max-width: 766.98px) {
  .c-modal__gallery--items.-columns2 {
    grid-template-columns: 1fr;
    gap: 2.6666666667vw;
  }
}
.c-modal__gallery--items.-columns2.-irregular {
  grid-template-columns: 1fr 0.5fr;
}
@media (max-width: 766.98px) {
  .c-modal__gallery--items.-columns2.-irregular {
    grid-template-columns: 1fr;
  }
}
.c-modal__gallery--items.-columns2.-irregular.-reverse {
  grid-template-columns: 0.5fr 1fr;
}
@media (max-width: 766.98px) {
  .c-modal__gallery--items.-columns2.-irregular.-reverse {
    grid-template-columns: 1fr;
  }
}
.c-modal__gallery--items img {
  width: 100%;
  height: 100%;
}
.c-modal__txt {
  position: relative;
  padding: 6.25vw 2.34375vw;
  font-size: 1.171875vw;
  letter-spacing: 0.13em;
  line-height: 2.5333333333;
}
@media (max-width: 766.98px) {
  .c-modal__txt {
    font-size: 3.2vw;
    padding: 10.6666666667vw 2.6666666667vw;
    line-height: 1.9166666667;
  }
}
.c-modal__txt::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 200%;
  height: 1px;
  background: #0089C3;
  transform: scale(0.5);
  transform-origin: 0 0;
  pointer-events: none;
  will-change: transform;
}
.c-modal__table {
  position: relative;
  padding-block: 3.90625vw 7.8125vw;
}
@media (max-width: 766.98px) {
  .c-modal__table {
    padding-block: 8vw;
  }
}
.c-modal__table::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 200%;
  height: 1px;
  background: #0089C3;
  transform: scale(0.5);
  transform-origin: 0 0;
  pointer-events: none;
  will-change: transform;
}
.c-modal__table .c-table {
  width: fit-content;
  margin-left: auto;
  margin-right: 17.96875vw;
}
@media (max-width: 766.98px) {
  .c-modal__table .c-table {
    width: 100%;
    margin: 0;
    padding-inline: 2.6666666667vw;
  }
}
.c-modal__prev {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.34375vw;
  width: 100%;
  padding-block: 7.8125vw;
  transition: 0.3s;
}
@media (max-width: 766.98px) {
  .c-modal__prev {
    padding-block: 21.3333333333vw;
    gap: 2.6666666667vw;
  }
}
.c-modal__prev::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 200%;
  height: 1px;
  background: #0089C3;
  transform: scale(0.5);
  transform-origin: 0 0;
  pointer-events: none;
  will-change: transform;
}
@media (any-hover: hover) {
  .c-modal__prev:hover {
    background: #0089C3;
  }
  .c-modal__prev:hover .txt {
    color: #fff;
  }
  .c-modal__prev:hover .arrow svg {
    stroke: #fff;
  }
}
.c-modal__prev .txt {
  font-size: 4.765625vw;
  line-height: 1;
  color: #0089C3;
  transition: 0.3s;
}
@media (max-width: 766.98px) {
  .c-modal__prev .txt {
    font-size: 9.0666666667vw;
  }
}
.c-modal__prev .arrow {
  width: 1.953125vw;
}
@media (max-width: 766.98px) {
  .c-modal__prev .arrow {
    width: 6.6666666667vw;
  }
}
.c-modal__prev .arrow svg {
  stroke: #0089C3;
  transition: 0.3s;
}

.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;
}

.c-table dl {
  display: grid;
  grid-template-columns: 8.203125vw 1fr;
  font-size: 1.09375vw;
  line-height: 2.4;
}
@media (max-width: 766.98px) {
  .c-table dl {
    grid-template-columns: 21.3333333333vw 1fr;
    font-size: 2.9333333333vw;
    line-height: 2.9090909091;
  }
}

#index .secHero {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 7.8125vw 3.125vw 7.8125vw 0.78125vw;
  min-height: 100dvh;
}
@media (max-width: 766.98px) {
  #index .secHero {
    padding: 13.3333333333vw 3%;
  }
}
#index .secHero__box {
  position: relative;
}
#index .secHero__img {
  display: grid;
  grid-template-columns: 33.59375vw 1fr;
  align-items: flex-end;
  gap: 3.125vw;
  margin-left: 6.25vw;
  overflow: hidden;
}
@media (max-width: 766.98px) {
  #index .secHero__img {
    grid-template-columns: 1fr;
    gap: 5.3333333333vw;
    margin-top: 8vw;
  }
}
#index .secHero__img .img {
  position: relative;
  display: block;
  width: 100%;
  height: 21.875vw;
}
@media (max-width: 766.98px) {
  #index .secHero__img .img {
    height: 44.5333333333vw;
  }
}
#index .secHero__img .img img {
  position: absolute;
  inset: 0;
  object-fit: cover; /* 必要に応じて contain に */
  display: block;
  width: 100%;
  height: 100%;
}
#index .secHero__img.-sm {
  display: block;
  width: 20.3125vw;
  margin-left: auto;
}
@media (max-width: 766.98px) {
  #index .secHero__img.-sm {
    width: 42.6666666667vw;
    margin-top: 6.4vw;
    height: 21.6vw;
  }
}
#index .secHero__img.-sm .img {
  height: 10.3125vw;
}
@media (max-width: 766.98px) {
  #index .secHero__img.-sm .img {
    height: 21.6vw;
  }
}
#index .secHero__name {
  position: absolute;
  top: -1.5625vw;
  right: 3.90625vw;
  width: 1.5625vw;
}
@media (max-width: 766.98px) {
  #index .secHero__name {
    position: static;
    width: 4.2666666667vw;
    margin-inline: auto;
  }
}
#index .secHero__copy {
  position: absolute;
  top: 7.8125vw;
  left: 0;
  width: 0.46875vw;
}
@media (max-width: 766.98px) {
  #index .secHero__copy {
    top: 60%;
    translate: 0 -50%;
    width: 1.3333333333vw;
  }
}
#index .secHero__logo {
  position: relative;
  left: 1.171875vw;
  padding-inline: 1%;
}
@media (max-width: 766.98px) {
  #index .secHero__logo {
    margin-top: 4vw;
  }
}
#index .secHero__txt {
  font-size: 0.859375vw;
  width: 31.25vw;
  margin-bottom: 2.34375vw;
}
@media (max-width: 766.98px) {
  #index .secHero__txt {
    font-size: 1.8666666667vw;
    width: 80%;
    margin-left: auto;
    margin-bottom: 0;
  }
}
#index .secProjects__box--tit::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  translate: -50% 0;
  background: #0089C3;
  width: 200%;
  height: 1px;
  transform: scale(0.5);
  pointer-events: none;
  will-change: transform;
}
#index .secProjects__box--list {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 0 8.90625vw;
  padding: 0 4.296875vw;
}
@media (max-width: 766.98px) {
  #index .secProjects__box--list {
    flex-wrap: nowrap;
    overflow-x: scroll;
    padding-inline: 8.5333333333vw;
    gap: 17.0666666667vw;
  }
}
#index .secProjects__box--items {
  position: relative;
}
@media (max-width: 766.98px) {
  #index .secProjects__box--items {
    flex-shrink: 0;
  }
}
#index .secProjects__box--items.is-hide::after {
  display: none;
}
#index .secProjects__box--items::before {
  content: "";
  pointer-events: none;
  will-change: transform;
  position: absolute;
  top: 0;
  right: -4.453125vw;
  width: 1px;
  height: 200%;
  background: #0089C3;
  transform: scale(0.5);
  transform-origin: 0 0;
  pointer-events: none;
  will-change: transform;
}
@media (max-width: 766.98px) {
  #index .secProjects__box--items::before {
    right: -8.5333333333vw;
  }
}
#index .secProjects__box--items::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: -4.53125vw;
  width: calc(200% + 17.96875vw);
  height: 1px;
  background: #0089C3;
  transform: scale(0.5);
  transform-origin: 0 0;
  pointer-events: none;
  will-change: transform;
}
@media (max-width: 766.98px) {
  #index .secProjects__box--items::after {
    display: none;
  }
}
#index .secProjects__box--items.-vertical {
  width: calc((100% - 17.96875vw) / 3);
}
@media (max-width: 766.98px) {
  #index .secProjects__box--items.-vertical {
    width: 58.6666666667vw;
  }
}
@media (max-width: 766.98px) {
  #index .secProjects__box--items.-vertical .img img {
    min-height: 83.2vw;
  }
}
#index .secProjects__box--items.-horizontal {
  width: calc(100% - ((100% - 17.8125vw) / 3 + 8.90625vw));
}
@media (max-width: 766.98px) {
  #index .secProjects__box--items.-horizontal {
    width: 58.6666666667vw;
  }
}
@media (max-width: 766.98px) and (max-width: 766.98px) {
  #index .secProjects__box--items.-horizontal .img img {
    min-height: 83.2vw;
  }
}
#index .secProjects__box--items.-disabled > a {
  pointer-events: none;
}
#index .secProjects__box--items > a {
  display: block;
  padding-block: 4.296875vw 2.34375vw;
}
@media (max-width: 766.98px) {
  #index .secProjects__box--items > a {
    padding-block: 8.5333333333vw;
    min-height: 100%;
  }
}
@media (any-hover: hover) {
  #index .secProjects__box--items > a:hover .img img {
    scale: 1.05;
  }
}
#index .secProjects__box--items .img {
  overflow: hidden;
}
@media (max-width: 766.98px) {
  #index .secProjects__box--items .img {
    min-height: 83.2vw;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
#index .secProjects__box--items .img img {
  width: 100%;
  height: 100%;
  min-height: 34.21875vw;
  object-fit: cover;
  transition: 0.3s;
}
#index .secProjects__box--items .tit {
  font-size: 1.328125vw;
  margin-top: 1.953125vw;
  letter-spacing: 0.2em;
}
@media (max-width: 766.98px) {
  #index .secProjects__box--items .tit {
    font-size: 3.7333333333vw;
    margin-top: 4vw;
  }
}
#index .secProjects__box--items .category {
  font-size: 0.9375vw;
  margin-top: 2.34375vw;
  margin-left: auto;
  width: fit-content;
}
@media (max-width: 766.98px) {
  #index .secProjects__box--items .category {
    font-size: 2.6666666667vw;
    margin-top: 5.3333333333vw;
  }
}
#index .secAbout {
  position: relative;
  padding: 21.875vw 7.8125vw 11.71875vw;
  background: #F5F9FC;
  z-index: 0;
}
@media (max-width: 766.98px) {
  #index .secAbout {
    padding: 37.3333333333vw 4% 32vw;
  }
}
#index .secAbout::after {
  content: "";
  position: absolute;
  top: -0.08%;
  left: 50%;
  translate: -50% 0;
  width: 200%;
  height: 1px;
  background: #0089C3;
  transform: scale(0.5);
  pointer-events: none;
  will-change: transform;
}
#index .secAbout__bg {
  position: absolute;
  top: 52%;
  left: 47%;
  translate: -50% -50%;
  width: 80.46875vw;
  z-index: -1;
}
@media (max-width: 766.98px) {
  #index .secAbout__bg {
    width: 92%;
    top: 50%;
    left: 49%;
  }
}
#index .secAbout__tit {
  font-size: 5.078125vw;
  line-height: 0.9692307692;
}
@media (max-width: 766.98px) {
  #index .secAbout__tit {
    font-size: 11.4666666667vw;
    line-height: 1.1395348837;
  }
}
#index .secAbout__txt {
  font-size: 1.640625vw;
  margin-top: 3.125vw;
  letter-spacing: 0.13em;
  line-height: 2.2142857143;
  margin-top: 8vw;
}
@media (max-width: 766.98px) {
  #index .secAbout__txt {
    font-size: 3.7333333333vw;
  }
}
#index .secAbout__note {
  font-size: 1.015625vw;
  margin-top: 3.125vw;
  line-height: 1.3846153846;
}
@media (max-width: 766.98px) {
  #index .secAbout__note {
    font-size: 2.1333333333vw;
    line-height: 1.5;
    width: 80%;
    margin-top: 5.3333333333vw;
  }
}
#index .secFlow {
  position: relative;
  overflow: hidden;
}
#index .secFlow::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 200%;
  height: 200%;
  border: 1px solid #0089C3;
  transform: scale(0.5);
  pointer-events: none;
  will-change: transform;
}
#index .secFlow__list {
  display: flex;
}
@media (max-width: 766.98px) {
  #index .secFlow__list {
    flex-direction: column;
  }
}
#index .secFlow__items {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 3.515625vw;
  background: #fff;
  width: 14.0625vw;
  transition: 0.3s ease-in-out;
  max-height: 53.125vw;
}
@media (max-width: 766.98px) {
  #index .secFlow__items {
    max-height: 100%;
    width: 100%;
    align-items: flex-start;
    padding: 0 4%;
  }
}
#index .secFlow__items::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 200%;
  border-left: 1px solid #0089C3;
  transform: scale(0.5);
  transform-origin: 0 0;
  pointer-events: none;
  will-change: transform;
  pointer-events: none;
  will-change: transform;
}
@media (max-width: 766.98px) {
  #index .secFlow__items::after {
    width: 200%;
    height: 1px;
    border-bottom: 1px solid #0089C3;
    border-left: none;
  }
}
@media (min-width: 767px) {
  #index .secFlow__items.is-open {
    width: 29.6875vw;
  }
  #index .secFlow__items.is-open .secFlow__items--img,
  #index .secFlow__items.is-open .secFlow__items--txt {
    opacity: 1;
    transition-delay: 0.2s;
  }
}
#index .secFlow__items dt {
  height: 12.5vw;
}
@media (max-width: 766.98px) {
  #index .secFlow__items dt {
    position: relative;
    display: flex;
    align-items: center;
    gap: 6.6666666667vw;
    width: 100%;
    height: 100%;
    padding-block: 6.6666666667vw;
  }
  #index .secFlow__items dt .obj {
    position: absolute;
    display: block;
    top: 50%;
    right: 0;
    translate: 0 -50%;
    width: 15px;
    height: 15px;
  }
  #index .secFlow__items dt .obj .line {
    position: absolute;
    display: block;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: 100%;
    height: 1px;
    background: #0089C3;
    transition: 0.3s;
  }
  #index .secFlow__items dt .obj .line:nth-child(2) {
    rotate: 90deg;
  }
  #index .secFlow__items dt .obj.is-open .line:nth-child(2) {
    rotate: 180deg;
    opacity: 0;
  }
}
@media (max-width: 766.98px) {
  #index .secFlow__items dd {
    display: none;
  }
}
#index .secFlow__items--num {
  font-size: 0.9375vw;
  text-align: center;
}
@media (max-width: 766.98px) {
  #index .secFlow__items--num {
    font-size: 3.2vw;
  }
}
#index .secFlow__items--tit {
  width: 1.171875vw;
  margin-top: 1.5625vw;
}
@media (max-width: 766.98px) {
  #index .secFlow__items--tit {
    width: auto;
    height: 4vw;
    margin-top: 0;
    margin-bottom: 0.8vw;
  }
  #index .secFlow__items--tit img {
    width: auto;
    height: 100%;
  }
}
#index .secFlow__items--img {
  width: 12.890625vw;
  margin-top: 2.34375vw;
  margin-inline: auto;
  opacity: 0;
  transition: 0.3s;
}
@media (max-width: 766.98px) {
  #index .secFlow__items--img {
    display: none;
  }
}
#index .secFlow__items--txt {
  margin-top: 2.34375vw;
  font-size: 1.09375vw;
  line-height: 1.7857142857;
  letter-spacing: 0.1em;
  opacity: 0;
  transition: 0.3s;
}
@media (max-width: 766.98px) {
  #index .secFlow__items--txt {
    opacity: 1;
    font-size: 3.2vw;
    line-height: 2.0833333333;
    margin: 0;
    padding-block: 2.6666666667vw 10.6666666667vw;
  }
}
#index .secContact {
  padding: 7.8125vw 8.984375vw;
  background: #F5F5F5;
}
@media (max-width: 766.98px) {
  #index .secContact {
    padding: 16vw 4%;
  }
}
#index .secContact__inner {
  display: grid;
  grid-template-columns: 30.46875vw 1fr;
  gap: 8.984375vw;
  align-items: center;
}
@media (max-width: 766.98px) {
  #index .secContact__inner {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 766.98px) {
  #index .secContact__img {
    display: none;
  }
}
#index .secContact__table {
  margin-top: 5.15625vw;
}
@media (max-width: 766.98px) {
  #index .secContact__table {
    margin-top: 8vw;
  }
}
#index .secContact__table dl {
  border-bottom: 1px solid rgba(0, 137, 195, 0.3);
  padding-bottom: 0.390625vw;
}
@media (max-width: 766.98px) {
  #index .secContact__table dl {
    padding-bottom: 1.3333333333vw;
  }
}
#index .secContact__table dl:nth-child(n+2) {
  margin-top: 2.34375vw;
}
@media (max-width: 766.98px) {
  #index .secContact__table dl:nth-child(n+2) {
    margin-top: 8vw;
  }
}
#index .secContact__table dl dt {
  font-size: 1.171875vw;
  font-weight: 500;
}
@media (max-width: 766.98px) {
  #index .secContact__table dl dt {
    font-size: 4vw;
  }
}
#index .secContact__table input,
#index .secContact__table textarea {
  padding-top: 0.390625vw;
  width: 100%;
  font-size: 1.171875vw;
  line-height: 1.7333333333;
}
@media (max-width: 766.98px) {
  #index .secContact__table input,
  #index .secContact__table textarea {
    font-size: 4vw;
    padding-top: 1.3333333333vw;
  }
}
#index .secContact__table textarea {
  height: 7.8125vw;
}
@media (max-width: 766.98px) {
  #index .secContact__table textarea {
    height: 26.6666666667vw;
  }
}
#index .secContact__tit {
  font-size: 4.6875vw;
  line-height: 0.8833333333;
}
@media (max-width: 766.98px) {
  #index .secContact__tit {
    font-size: 11.2vw;
    line-height: 0.8333333333;
  }
}
#index .secContact__txt {
  font-size: 1.25vw;
  line-height: 1.6875;
  margin-top: 1.875vw;
}
@media (max-width: 766.98px) {
  #index .secContact__txt {
    font-size: 3.2vw;
    line-height: 1.75;
    margin-top: 5.3333333333vw;
    width: 80%;
    letter-spacing: 0.13em;
  }
}
#index .secContact__privacy {
  font-size: 0.78125vw;
  margin-top: 1.5625vw;
}
@media (max-width: 766.98px) {
  #index .secContact__privacy {
    font-size: 2.6666666667vw;
    margin-top: 5.3333333333vw;
    line-height: 1.6;
  }
}
#index .secContact__privacy .strong {
  font-size: 1.09375vw;
  font-weight: 500;
  display: block;
  padding-bottom: 0.546875vw;
}
@media (max-width: 766.98px) {
  #index .secContact__privacy .strong {
    font-size: 3.2vw;
    padding-bottom: 1.8666666667vw;
  }
}
#index .secContact__btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2.34375vw;
  width: 100%;
  height: 5.46875vw;
  background: #fff;
  transition: 0.3s;
}
@media (max-width: 766.98px) {
  #index .secContact__btn {
    height: 18.6666666667vw;
    margin-top: 8vw;
  }
}
#index .secContact__btn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 200%;
  height: 200%;
  border: 1px solid #0089C3;
  transform: scale(0.5);
  pointer-events: none;
  will-change: transform;
}
@media (any-hover: hover) {
  #index .secContact__btn:hover {
    background: #0089C3;
  }
  #index .secContact__btn:hover .txt {
    color: #fff;
  }
  #index .secContact__btn:hover .arrow svg {
    stroke: #fff;
  }
}
#index .secContact__btn .txt {
  font-size: 1.640625vw;
  color: #0089C3;
  transition: 0.3s;
}
@media (max-width: 766.98px) {
  #index .secContact__btn .txt {
    font-size: 5.6vw;
  }
}
#index .secContact__btn .arrow {
  position: absolute;
  top: 50%;
  right: 1.5625vw;
  translate: 0 -50%;
  width: 2.03125vw;
  transition: 0.3s;
}
@media (max-width: 766.98px) {
  #index .secContact__btn .arrow {
    right: 5.3333333333vw;
    width: 5.3333333333vw;
  }
}
#index .secContact__btn .arrow svg {
  stroke: #0089C3;
}
#index .secContact .success {
  margin-top: 6.25vw;
}
#index .secContact .failed {
  margin-top: 3.125vw;
}/*# sourceMappingURL=style.css.map */