@charset "UTF-8";
/** ───────────────────────────────────────────────────────── **/
/*** ▼ 編集不要 ▼ ***/
/* ▼ Lenis 推奨CSS (v1.3.17対応) ▼ */
html.lenis,
html.lenis body {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important; /* ブラウザ標準のスムーススクロールを無効化 */
}

.lenis.lenis-smooth [data-lenis-prevent] {
  -ms-scroll-chaining: none;
      overscroll-behavior: contain; /* 特定エリアでLenisを無効化したい場合に使用 */
}

.lenis.lenis-stopped {
  overflow: hidden; /* Lenis停止時にスクロールを止める */
}
.lenis.lenis-stopped iframe {
  pointer-events: none; /* スクロール中のiframe誤操作防止 */
}

/* ▲ Lenis 推奨CSS (v1.3.17対応) ▲ */
#h_wrap {
  background: transparent;
}

body {
  color: #002c54;
  overflow-y: hidden;
  overflow-x: clip;
}
body.body_f {
  overflow-y: scroll;
}
body.body_f header {
  -webkit-transform: translateY(0%);
          transform: translateY(0%);
}
body header {
  -webkit-transform: translateY(-120%);
          transform: translateY(-120%);
  -webkit-transition: all 1.2s 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: all 1.2s 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.bg_wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: -9;
  overflow: hidden;
}
.bg_wrapper .movie {
  width: 100%;
  height: 100%;
  position: relative;
}
.bg_wrapper .movie .vimeo {
  width: 100%;
  height: 100%;
  position: relative;
}
.bg_wrapper .movie .vimeo iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); /* 上下左右中央寄せ */
  /* 画面比率16:9の場合の調整例 */
  width: 177.77vh; /* 16:9 の比率を維持して高さを基準に幅を決める (16/9 * 100vh) */
  height: 56.25vw; /* 16:9 の比率を維持して幅を基準に高さを決める (9/16 * 100vw) */
  /* 少なくとも親要素より小さくならないようにする */
  min-width: 100%;
  min-height: 100%;
}
@media (max-width: 800px) {
  .bg_wrapper .movie .vimeo iframe {
    width: 56.25vh;
    height: 177.77vw;
  }
}
.bg_wrapper .movie .mult {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000000;
  mix-blend-mode: multiply;
  opacity: 0;
}

.content_wrapper {
  margin-top: 0;
}

.fv_wrap {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: #002c54;
  background: linear-gradient(45deg, rgb(11, 26, 37) 0%, rgb(0, 44, 84) 35%, rgb(0, 44, 84) 50%, rgb(0, 44, 84) 65%, rgb(11, 26, 37) 100%);
  opacity: 1;
  z-index: 9;
}
.fv_wrap .fv_logo_wrap {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  text-align: center;
}
.fv_wrap .fv_logo_wrap .fv_logo_pic {
  width: 7%;
  margin: 0 auto 18px;
  overflow: hidden;
}
@media (max-width: 800px) {
  .fv_wrap .fv_logo_wrap .fv_logo_pic {
    width: 22.11%;
  }
}
.fv_wrap .fv_logo_wrap .fv_logo_pic span {
  display: block;
  -webkit-transform: translateY(-110%);
          transform: translateY(-110%);
}
.fv_wrap .fv_logo_wrap .fv_logo_txt {
  overflow: hidden;
  width: 12.16%;
  margin: 0 auto;
}
@media (max-width: 800px) {
  .fv_wrap .fv_logo_wrap .fv_logo_txt {
    width: 37.5%;
  }
}
.fv_wrap .fv_logo_wrap .fv_logo_txt span {
  display: block;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}

.sec01 {
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  -webkit-transform: none !important;
          transform: none !important;
}
.sec01 .sec01_logo_wrap {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 0 0 40px 40px;
}
@media (max-width: 800px) {
  .sec01 .sec01_logo_wrap {
    padding: 0 0 80px;
  }
}
.sec01 .sec01_logo_wrap .logo_txt {
  width: 24.13%;
  overflow: hidden;
  clip-path: inset(0% 0% 0% 0%);
}
@media (max-width: 800px) {
  .sec01 .sec01_logo_wrap .logo_txt {
    width: 57.27%;
    margin: 0 auto;
  }
}
.sec01 .sec01_logo_wrap .logo_txt span {
  display: block;
}
.sec01 .sec01_logo_wrap .logo_pic {
  width: 24.13%;
  padding: 0 5%;
  margin: 0 0 28px;
  overflow: hidden;
  clip-path: inset(0% 0% 0% 0%);
}
@media (max-width: 800px) {
  .sec01 .sec01_logo_wrap .logo_pic {
    width: 33.87%;
    padding: 0;
    margin: 0 auto 20px;
  }
}
.sec01 .sec01_logo_wrap .logo_pic span {
  display: block;
}
.sec01 .p_bar_wrap {
  position: absolute;
  top: 50%;
  right: 45px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (max-width: 800px) {
  .sec01 .p_bar_wrap {
    right: 25px;
  }
}
@media (max-width: 800px) and (max-width: 500px) {
  .sec01 .p_bar_wrap {
    right: 10px;
  }
}
.sec01 .p_bar_wrap .p_bar {
  width: 4px;
  height: 40vh;
  position: relative;
}
@media (max-width: 800px) {
  .sec01 .p_bar_wrap .p_bar {
    width: 2px;
  }
}
.sec01 .p_bar_wrap .p_bar .p_base,
.sec01 .p_bar_wrap .p_bar .p_animation {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  border-radius: 2px;
}
@media (max-width: 800px) {
  .sec01 .p_bar_wrap .p_bar .p_base,
  .sec01 .p_bar_wrap .p_bar .p_animation {
    border-radius: 1px;
  }
}
.sec01 .p_bar_wrap .p_bar .p_base {
  opacity: 0.4;
}
.sec01 .p_bar_wrap .p_bar .p_animation {
  clip-path: inset(0 0 100% 0);
}

.txt_wrap {
  width: 100%;
  height: 708vh;
  position: relative;
}
@media (max-width: 800px) {
  .txt_wrap {
    height: 560vh;
  }
}
.txt_wrap .spacer {
  width: 100%;
  height: 708vh;
  position: absolute;
  top: 0;
  left: 0;
}
@media (max-width: 800px) {
  .txt_wrap .spacer {
    height: 560vh;
  }
}
.txt_wrap .spacer_wrap {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.txt_wrap .spacer_wrap > div {
  width: 100%;
  height: 100vh;
}
@media (max-width: 800px) {
  .txt_wrap .spacer_wrap > div {
    height: 80vh;
  }
}
.txt_wrap .spacer_wrap > div#spacer03, .txt_wrap .spacer_wrap > div#spacer04, .txt_wrap .spacer_wrap > div#spacer05, .txt_wrap .spacer_wrap > div#spacer06 {
  height: 120vh;
}
@media (max-width: 800px) {
  .txt_wrap .spacer_wrap > div#spacer03, .txt_wrap .spacer_wrap > div#spacer04, .txt_wrap .spacer_wrap > div#spacer05, .txt_wrap .spacer_wrap > div#spacer06 {
    height: 96vh;
  }
}
.txt_wrap .spacer_wrap > div#spacer02, .txt_wrap .spacer_wrap > div#spacer07 {
  height: 64vh;
}
@media (max-width: 800px) {
  .txt_wrap .spacer_wrap > div#spacer02, .txt_wrap .spacer_wrap > div#spacer07 {
    height: 48vh;
  }
}
.txt_wrap .txt_wrap_pin {
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-transform: none !important;
          transform: none !important;
}
.txt_wrap .txt_wrap_pin .sec02,
.txt_wrap .txt_wrap_pin .sec03,
.txt_wrap .txt_wrap_pin .sec04,
.txt_wrap .txt_wrap_pin .sec05 {
  width: 100%;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
}
.txt_wrap .txt_wrap_pin .sec02 > div,
.txt_wrap .txt_wrap_pin .sec03 > div,
.txt_wrap .txt_wrap_pin .sec04 > div,
.txt_wrap .txt_wrap_pin .sec05 > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 800px) {
  .txt_wrap .txt_wrap_pin .sec02 > div,
  .txt_wrap .txt_wrap_pin .sec03 > div,
  .txt_wrap .txt_wrap_pin .sec04 > div,
  .txt_wrap .txt_wrap_pin .sec05 > div {
    padding-bottom: 140px;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: end;
  }
}
.txt_wrap .txt_wrap_pin .sec02 p,
.txt_wrap .txt_wrap_pin .sec03 p,
.txt_wrap .txt_wrap_pin .sec04 p,
.txt_wrap .txt_wrap_pin .sec05 p {
  font-size: 1.9rem;
  line-height: 1.1;
  color: #fff;
}
@media (max-width: 800px) {
  .txt_wrap .txt_wrap_pin .sec02 p,
  .txt_wrap .txt_wrap_pin .sec03 p,
  .txt_wrap .txt_wrap_pin .sec04 p,
  .txt_wrap .txt_wrap_pin .sec05 p {
    font-size: 1.5rem;
  }
}
@media (max-width: 800px) and (max-width: 500px) {
  .txt_wrap .txt_wrap_pin .sec02 p,
  .txt_wrap .txt_wrap_pin .sec03 p,
  .txt_wrap .txt_wrap_pin .sec04 p,
  .txt_wrap .txt_wrap_pin .sec05 p {
    font-size: 1.2rem;
  }
}
.txt_wrap .txt_wrap_pin .sec02 p + p,
.txt_wrap .txt_wrap_pin .sec03 p + p,
.txt_wrap .txt_wrap_pin .sec04 p + p,
.txt_wrap .txt_wrap_pin .sec05 p + p {
  margin-top: 32px;
}
.txt_wrap .txt_wrap_pin .sec02 .text_up,
.txt_wrap .txt_wrap_pin .sec03 .text_up,
.txt_wrap .txt_wrap_pin .sec04 .text_up,
.txt_wrap .txt_wrap_pin .sec05 .text_up {
  overflow: hidden;
}
.txt_wrap .txt_wrap_pin .sec02 .text_up .text_up_span,
.txt_wrap .txt_wrap_pin .sec03 .text_up .text_up_span,
.txt_wrap .txt_wrap_pin .sec04 .text_up .text_up_span,
.txt_wrap .txt_wrap_pin .sec05 .text_up .text_up_span {
  display: inline-block;
  -webkit-transform: translateY(110%);
          transform: translateY(110%);
}

.kasou_wrap {
  position: relative;
}
.kasou_wrap .kasou_bg_wrap {
  position: relative;
  width: 100%;
  height: 100vh;
}
.kasou_wrap .kasou_bg_wrap > div {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.kasou_wrap .kasou_bg_wrap > div.kasou_bg00 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #002c54;
  background: linear-gradient(45deg, rgb(11, 26, 37) 0%, rgb(0, 44, 84) 35%, rgb(0, 44, 84) 50%, rgb(0, 44, 84) 65%, rgb(11, 26, 37) 100%);
}
.kasou_wrap .kasou_bg_wrap > div.kasou_bg00 .logo {
  width: 152.6px;
}
@media (max-width: 800px) {
  .kasou_wrap .kasou_bg_wrap > div.kasou_bg00 .logo {
    width: 99.2px;
  }
}
.kasou_wrap .kasou_bg_wrap > div.kasou_bg00 p {
  margin: 30px 0 12px;
  font-size: 2.1rem;
  line-height: 1;
  color: #fff;
}
@media (max-width: 800px) {
  .kasou_wrap .kasou_bg_wrap > div.kasou_bg00 p {
    margin: 18px 0 8px;
    font-size: 1.4rem;
  }
}
.kasou_wrap .kasou_bg_wrap > div.kasou_bg00 .txt {
  width: 212.7px;
}
@media (max-width: 800px) {
  .kasou_wrap .kasou_bg_wrap > div.kasou_bg00 .txt {
    width: 142px;
  }
}
.kasou_wrap .kasou_bg_wrap > div.kasou_bg01 {
  -webkit-mask-image: url("../images/top/mask.webp");
          mask-image: url("../images/top/mask.webp");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% 300%;
          mask-size: 100% 300%;
  -webkit-mask-position: 60% -40%;
          mask-position: 60% -40%;
}
.kasou_wrap .kasou_bg_wrap > div.kasou_bg02, .kasou_wrap .kasou_bg_wrap > div.kasou_bg03 {
  clip-path: inset(100% 0 0 0);
}
.kasou_wrap .kasou_bg_wrap > div img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.kasou_wrap .kasou_ttl_wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
}
.kasou_wrap .kasou_ttl_wrap > div {
  position: relative;
  width: 100%;
  height: 100%;
}
.kasou_wrap .kasou_ttl_wrap > div .kasou_ttl {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.kasou_wrap .kasou_ttl_wrap > div .kasou_ttl .pic {
  -webkit-filter: blur(5px);
          filter: blur(5px);
  opacity: 0;
  -webkit-transform: translateY(40%);
          transform: translateY(40%);
  position: relative;
}
.kasou_wrap .kasou_ttl_wrap > div .kasou_ttl .pic > img {
  position: relative;
  z-index: 1;
}
.kasou_wrap .kasou_ttl_wrap > div .kasou_ttl .pic .shadow {
  position: absolute;
  top: 0;
  left: 0;
  -webkit-filter: blur(30px);
          filter: blur(30px);
  opacity: 0.7;
  mix-blend-mode: multiply;
}
.kasou_wrap .kasou_ttl_wrap > div .kasou_ttl.kasou_ttl01 .pic {
  width: 516.6px;
}
@media (max-width: 800px) {
  .kasou_wrap .kasou_ttl_wrap > div .kasou_ttl.kasou_ttl01 .pic {
    width: 61.7%;
  }
}
.kasou_wrap .kasou_ttl_wrap > div .kasou_ttl.kasou_ttl02 .pic {
  width: 369.8px;
}
@media (max-width: 800px) {
  .kasou_wrap .kasou_ttl_wrap > div .kasou_ttl.kasou_ttl02 .pic {
    width: 46.55%;
  }
}
.kasou_wrap .kasou_ttl_wrap > div .kasou_ttl.kasou_ttl03 .pic {
  width: 330.8px;
}
@media (max-width: 800px) {
  .kasou_wrap .kasou_ttl_wrap > div .kasou_ttl.kasou_ttl03 .pic {
    width: 61.24%;
  }
}
.kasou_wrap .kasou_box_wrap a {
  color: #000000;
  text-align: center;
}
@media (hover: hover) {
  .kasou_wrap .kasou_box_wrap a:hover {
    color: #888888;
  }
}
.kasou_wrap .kasou_box_wrap > div {
  width: 100%;
  background: #fff;
}
.kasou_wrap .kasou_box_wrap > div.kasou_box {
  padding: 100px 0;
  position: relative;
  z-index: 5;
  -webkit-transform: scale(0.9);
          transform: scale(0.9);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 500px) {
  .kasou_wrap .kasou_box_wrap > div.kasou_box {
    padding: 85px 0;
  }
}
.kasou_wrap .kasou_box_wrap > div.kasou_box dl dt .pic {
  margin-bottom: 10px;
}
@media (max-width: 800px) {
  .kasou_wrap .kasou_box_wrap > div.kasou_box dl dt .pic {
    margin: 0 auto 8px;
  }
}
.kasou_wrap .kasou_box_wrap > div.kasou_box dl dt p {
  font-weight: 300;
}
@media (max-width: 800px) {
  .kasou_wrap .kasou_box_wrap > div.kasou_box dl dt p {
    text-align: center;
  }
}
.kasou_wrap .kasou_box_wrap > div.kasou_box dl dd p {
  margin: 25px 0;
}
@media (max-width: 500px) {
  .kasou_wrap .kasou_box_wrap > div.kasou_box dl dd p {
    margin: 16px 0;
  }
}
.kasou_wrap .kasou_box_wrap > div.kasou_box dl dd a {
  width: 201.5px;
}
@media (max-width: 800px) {
  .kasou_wrap .kasou_box_wrap > div.kasou_box dl dd a {
    width: 41.6%;
    max-width: 262px;
    margin: 0 auto;
  }
}
.kasou_wrap .kasou_box_wrap > div.kasou_box01 .flex, .kasou_wrap .kasou_box_wrap > div.kasou_box02 .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
}
@media (max-width: 800px) {
  .kasou_wrap .kasou_box_wrap > div.kasou_box01 .flex, .kasou_wrap .kasou_box_wrap > div.kasou_box02 .flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 25px 0;
  }
}
.kasou_wrap .kasou_box_wrap > div.kasou_box01 .flex .pic_wrap, .kasou_wrap .kasou_box_wrap > div.kasou_box02 .flex .pic_wrap {
  width: 52.7%;
}
@media (max-width: 800px) {
  .kasou_wrap .kasou_box_wrap > div.kasou_box01 .flex .pic_wrap, .kasou_wrap .kasou_box_wrap > div.kasou_box02 .flex .pic_wrap {
    width: 100%;
  }
  .kasou_wrap .kasou_box_wrap > div.kasou_box01 .flex .pic_wrap.flex, .kasou_wrap .kasou_box_wrap > div.kasou_box02 .flex .pic_wrap.flex {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 0;
  }
}
.kasou_wrap .kasou_box_wrap > div.kasou_box01 .flex .pic_wrap .pic, .kasou_wrap .kasou_box_wrap > div.kasou_box02 .flex .pic_wrap .pic {
  width: 48.7%;
}
.kasou_wrap .kasou_box_wrap > div.kasou_box01 .flex .txt, .kasou_wrap .kasou_box_wrap > div.kasou_box02 .flex .txt {
  width: 36.6%;
}
@media (max-width: 800px) {
  .kasou_wrap .kasou_box_wrap > div.kasou_box01 .flex .txt, .kasou_wrap .kasou_box_wrap > div.kasou_box02 .flex .txt {
    width: 100%;
  }
}
.kasou_wrap .kasou_box_wrap > div.kasou_box01 .flex .txt dl dd p, .kasou_wrap .kasou_box_wrap > div.kasou_box02 .flex .txt dl dd p {
  text-align: justify;
  text-justify: inter-ideograph;
}
.kasou_wrap .kasou_box_wrap > div.kasou_box01 .flex .txt dl dd a, .kasou_wrap .kasou_box_wrap > div.kasou_box02 .flex .txt dl dd a {
  margin-left: auto;
}
.kasou_wrap .kasou_box_wrap > div.kasou_box01 .flex .txt dl dt .pic {
  width: 296.9px;
}
@media (max-width: 800px) {
  .kasou_wrap .kasou_box_wrap > div.kasou_box01 .flex .txt dl dt .pic {
    width: 61%;
    max-width: 384.4px;
  }
}
.kasou_wrap .kasou_box_wrap > div.kasou_box02 .flex .txt dl dt .pic {
  width: 212px;
}
@media (max-width: 800px) {
  .kasou_wrap .kasou_box_wrap > div.kasou_box02 .flex .txt dl dt .pic {
    width: 43.6%;
    max-width: 274.7px;
  }
}
.kasou_wrap .kasou_box_wrap > div.kasou_box03 dl {
  text-align: center;
}
.kasou_wrap .kasou_box_wrap > div.kasou_box03 dl dt .pic {
  width: 190px;
  margin: 0 auto;
}
@media (max-width: 800px) {
  .kasou_wrap .kasou_box_wrap > div.kasou_box03 dl dt .pic {
    width: 39%;
    max-width: 246.2px;
  }
}
.kasou_wrap .kasou_box_wrap > div.kasou_box03 dl dd p {
  letter-spacing: 0.14em;
}
.kasou_wrap .kasou_box_wrap > div.kasou_box03 dl dd a {
  margin: 0 auto;
}
.kasou_wrap .kasou_box_wrap > div.spacer {
  height: 120vh;
  background: transparent;
}
.kasou_wrap .kasou_box_wrap > div.spacer#spacer08 {
  height: 50vh;
}
.kasou_wrap .spacer_bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}/*# sourceMappingURL=top.css.map */