@charset "UTF-8";
/* ---------------------------- */
/* Base
/* ---------------------------- */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&family=Shippori+Mincho:wght@400;500;600;700;800&display=swap");
@font-face {
  font-family: "Neue Haas Unica";
  src: url("NeueHaasUnica-Regular.eot");
  src:
    local("Neue Haas Unica Regular"),
    local("NeueHaasUnica-Regular"),
    url("NeueHaasUnica-Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Neue Haas Unica";
  src: url("NeueHaasUnica-Bold.eot");
  src:
    local("Neue Haas Unica Bold"),
    local("NeueHaasUnica-Bold"),
    url("NeueHaasUnica-Bold.eot?#iefix") format("embedded-opentype"),
    url("NeueHaasUnica-Bold.woff2") format("woff2"),
    url("NeueHaasUnica-Bold.woff") format("woff"),
    url("NeueHaasUnica-Bold.ttf") format("truetype");
  font-weight: bold;
  font-style: normal;
}
:root {
  --main-color: #000;
}

html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  scroll-padding-top: 150px;
  margin: 0;
  font-size: 62.5%;
  box-sizing: border-box;
}

img {
  display: block;
  border: 0;
  padding: 0;
  margin: 0;
}

/* ---------------------------- */
/* font
/* ---------------------------- */
/* 変更 */
main .l-inner {
  margin: 0 auto;
}

main .l-inner * {
  box-sizing: border-box;
}

main .l-inner article {
  width: 100%;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
}

.ftool-wrapper {
  background-color: #fff;
}

.ftool-wrapper p {
  line-height: 1em;
}

.ftool-wrapper .col--02--C {
  width: auto;
}

/*fix*/
.fadeInTrigger,
.fadeUpTrigger,
.fadeDownTrigger,
.fadeLeftTrigger,
.fadeRightTrigger {
  opacity: 0;
}

.fadeUpTrigge {
  transform: translateY(50px);
}

.fadeLeftTrigge {
  transform: translateX(-50px);
}

.fadeRightTrigge {
  transform: translateX(50px);
}

@media screen and (max-width: 750px) {
  .loadTrigger {
    opacity: 0;
  }
}
.fadeIn {
  -webkit-animation-name: fadeInAnime;
  animation-name: fadeInAnime;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes fadeInAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeInAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fadeUp {
  -webkit-animation-name: fadeUpAnime;
  animation-name: fadeUpAnime;
  -webkit-animation-duration: 2.5s;
  /* ここを変更 */
  animation-duration: 2.5s;
  /* ここも変更 */
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@-webkit-keyframes fadeUpAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fadeLeft {
  -webkit-animation-name: fadeLeftAnime;
  animation-name: fadeLeftAnime;
  -webkit-animation-duration: 2.5s;
  animation-duration: 2.5s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes fadeLeftAnime {
  from {
    opacity: 0;
    transform: translateX(-50px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fadeLeftAnime {
  from {
    opacity: 0;
    transform: translateX(-50px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.fadeRight {
  -webkit-animation-name: fadeRightAnime;
  animation-name: fadeRightAnime;
  -webkit-animation-duration: 2.5s;
  animation-duration: 2.5s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes fadeRightAnime {
  from {
    opacity: 0;
    transform: translateX(50px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fadeRightAnime {
  from {
    opacity: 0;
    transform: translateX(50px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.delay-time02 {
  -webkit-animation-delay: 0.2s;
  animation-delay: 0.2s;
}

.delay-time03 {
  -webkit-animation-delay: 0.3s;
  animation-delay: 0.3s;
}

.delay-time04 {
  -webkit-animation-delay: 0.4s;
  animation-delay: 0.4s;
}

.delay-time05 {
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s;
}

.delay-time06 {
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s;
}

.delay-time08 {
  -webkit-animation-delay: 0.8s;
  animation-delay: 0.8s;
}

.delay-time1 {
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
}

.delay-time12 {
  -webkit-animation-delay: 1.2s;
  animation-delay: 1.2s;
}

.delay-time14 {
  -webkit-animation-delay: 1.4s;
  animation-delay: 1.4s;
}

.delay-time18 {
  -webkit-animation-delay: 1.8s;
  animation-delay: 1.8s;
}

.delay-time2 {
  -webkit-animation-delay: 2s;
  animation-delay: 2s;
}

.delay-time22 {
  -webkit-animation-delay: 2.2s;
  animation-delay: 2.2s;
}

.delay-time3 {
  -webkit-animation-delay: 3s;
  animation-delay: 3s;
}

.delay-time35 {
  -webkit-animation-delay: 3.5s;
  animation-delay: 3.5s;
}

.delay-time4 {
  -webkit-animation-delay: 4s;
  animation-delay: 4s;
}

.delay-time45 {
  -webkit-animation-delay: 4.5s;
  animation-delay: 4.5s;
}

body.active {
  overflow: hidden;
}

.box-wrapper {
  font-weight: 400;
  font-family: "helvetica-neue-lt-pro", sans-serif;
  font-weight: 500;
  color: black;
  overflow-x: clip;
}
.box-wrapper.active {
  overflow: hidden;
}
.box-wrapper *,
.box-wrapper *::before,
.box-wrapper *::after {
  box-sizing: border-box;
}
.box-wrapper * {
  margin: 0;
}
.box-wrapper html,
.box-wrapper body {
  height: 100%;
}
.box-wrapper body {
  line-height: 1;
  -webkit-font-smoothing: antialiased;
}
.box-wrapper img,
.box-wrapper picture,
.box-wrapper video,
.box-wrapper canvas,
.box-wrapper svg {
  display: block;
  max-width: 100%;
}
.box-wrapper input,
.box-wrapper button,
.box-wrapper textarea,
.box-wrapper select {
  font: inherit;
}
.box-wrapper p,
.box-wrapper h1,
.box-wrapper h2,
.box-wrapper h3,
.box-wrapper h4,
.box-wrapper h5,
.box-wrapper h6 {
  overflow-wrap: break-word;
}
.box-wrapper #root,
.box-wrapper #__next {
  isolation: isolate;
}
.box-wrapper * {
  color: black;
  letter-spacing: 0.05em;
}
.box-wrapper a {
  text-decoration: none;
  cursor: pointer;
  transition: 0.4s;
}
.box-wrapper img {
  vertical-align: bottom;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}
.box-wrapper li {
  list-style: none;
}
.box-wrapper .is-pc {
  display: block;
}
@media screen and (max-width: 750px) {
  .box-wrapper .is-pc {
    display: none;
  }
}
.box-wrapper .is-sp {
  display: none;
}
@media screen and (max-width: 750px) {
  .box-wrapper .is-sp {
    display: block;
  }
}
.box-wrapper .mt-100 {
  margin-top: 100px;
}
@media screen and (max-width: 750px) {
  .box-wrapper .mt-100 {
    margin-top: 0;
  }
}
.box-wrapper .logo {
  width: 9.375vw;
  max-width: 160px;
  position: absolute;
  z-index: 99;
  bottom: 20px;
  right: 20px;
  transition: opacity 0.5s ease-in-out;
}
@media screen and (max-width: 750px) {
  .box-wrapper .logo {
    bottom: auto;
    top: 3%;
    right: auto;
    left: 25px;
    width: 100px;
  }
}
.box-wrapper .logo svg {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  fill: #31269d !important;
}
.box-wrapper .logo svg rect {
  mix-blend-mode: difference;
}
.box-wrapper .header__logo.header__logo-white.is-active {
  display: none;
}
.box-wrapper .header__logo.header__logo-black {
  display: none;
}
.box-wrapper .header__logo.header__logo-black.is-active {
  display: block;
}
.box-wrapper .header__logo a {
  height: inherit;
}
.box-wrapper .noto {
  font-family: "kozuka-gothic-pr6n", sans-serif;
}
.box-wrapper .mincho {
  font-family: "shippori-mincho-b1", sans-serif;
}
.box-wrapper p {
  line-height: 1.6;
}
.box-wrapper .container {
  margin: 0 auto;
}
.box-wrapper section {
  container-type: inline-size;
}
.box-wrapper .sticky-parent {
  position: relative;
  height: 200vh;
}

.box-wrapper .sticky-child {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.box-wrapper .sticky-child:first-child {
  inset: 0;
}
@media screen and (min-width: 751px) {
  .box-wrapper {
    /*--------------------*/
    /* hero
    /*--------------------*/
    /*--------------------*/
    /* intro
    /*--------------------*/
    /*--------------------*/
    /* look01
    /*--------------------*/
    /*--------------------*/
    /* look02
    /*--------------------*/
    /*--------------------*/
    /* look03
    /*--------------------*/
    /*--------------------*/
    /* look04
    /*--------------------*/
    /*--------------------*/
    /* look05
    /*--------------------*/
    /*--------------------*/
    /* look06
    /*--------------------*/
    /*--------------------*/
    /* look07
    /*--------------------*/
    /*--------------------*/
    /* look08
    /*--------------------*/
    /*--------------------*/
    /* look09
    /*--------------------*/
    /*--------------------*/
    /* look10
    /*--------------------*/
    /*--------------------*/
    /* look11
    /*--------------------*/
    /*--------------------*/
    /* footer
    /*--------------------*/
  }
  .box-wrapper .credit {
    margin-top: 16px;
    font-size: 22px;
    text-align: end;
    padding-right: 10px;
    margin-left: auto;
  }
  .box-wrapper .credit a {
    display: block;
    text-decoration: underline;
  }
  .box-wrapper #hero {
    position: relative;
    height: 100vh;
  }
  .box-wrapper #hero .hero-bg {
    position: relative;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
  .box-wrapper #hero .hero-catch {
    line-height: 1;
    color: white;
    font-size: min(100px, 6.9444444444cqw);
    position: absolute;
    left: 4.1666666667cqw;
    bottom: 3.6805555556cqw;
  }
  .box-wrapper #hero .hero-logo {
    width: 24.375cqw;
    position: absolute;
    top: 25.8333333333cqw;
    right: 11.9444444444cqw;
  }
  .box-wrapper #intro {
    position: relative;
    margin-top: 10.4166666667cqw;
  }
  .box-wrapper #intro .intro-bg {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
  }
  .box-wrapper #intro .intro-cover {
    background-color: rgba(7, 80, 138, 0.5019607843);
    width: 83.3333333333cqw;
    aspect-ratio: 1200/520;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .box-wrapper #intro .intro-lead {
    font-size: 2.7777777778cqw;
    text-align: center;
    color: white;
  }
  .box-wrapper #intro .intro-desc {
    font-size: 1.25cqw;
    font-weight: 400;
    color: white;
    line-height: 3;
    text-align: center;
    margin-top: 3.125cqw;
  }
  .box-wrapper #look01 {
    position: relative;
    margin-top: 10.4166666667cqw;
  }
  .box-wrapper #look01 .look01-bg {
    position: relative;
  }
  .box-wrapper #look01 .look01-desc {
    color: white;
    position: absolute;
    font-size: 2.7777777778cqw;
    left: 50%;
    bottom: 11.875cqw;
    transform: translateX(-50%);
  }
  .box-wrapper #look02 {
    position: relative;
    margin-top: 10.4166666667cqw;
  }
  .box-wrapper #look03 {
    position: relative;
    margin-top: 10.4166666667cqw;
  }
  .box-wrapper #look03 .look03-bg {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
  }
  .box-wrapper #look03 .look03-cover {
    height: 100vh;
    aspect-ratio: 1440/1090;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .box-wrapper #look03 .look03-inner {
    width: 66.6666666667%;
  }
  .box-wrapper #look04 {
    --look04-pad: min(92px, 6.3888888889cqw);
    --look04-lead: min(64px, 4.4444444444cqw);
    --look04-gap: min(69px, 4.7916666667cqw);
    --look04-img: min(520px, 36.1111111111cqw);
    --look04-stage: calc(var(--look04-pad) + var(--look04-lead) + var(--look04-gap) * 2 + var(--look04-img));
  }
  .box-wrapper #look04 .look04-parent {
    height: calc(var(--look04-stage) * 2.5);
  }
  .box-wrapper #look04 .look04-layer {
    position: -webkit-sticky;
    position: sticky;
    top: calc(50vh - var(--look04-stage) / 2);
    height: var(--look04-stage);
  }
  .box-wrapper #look04 .look04-layer--img {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: calc(var(--look04-pad) + var(--look04-lead) + var(--look04-gap));
    padding-bottom: var(--look04-gap);
  }
  .box-wrapper #look04 .look04-bg {
    height: 100%;
    background-color: #07508a;
    padding-top: var(--look04-pad);
    display: flex;
    flex-direction: column;
  }
  .box-wrapper #look04 .look04-lead {
    font-size: min(40px, 2.7777777778cqw);
    line-height: 1.6;
    color: white;
    text-align: center;
  }
  .box-wrapper #look04 .look04-desc {
    font-weight: 400;
    white-space: nowrap;
    font-size: calc(var(--look04-img) / 28.9);
    line-height: 2;
    text-align: center;
    color: white;
    margin-top: auto;
    margin-bottom: auto;
  }
  .box-wrapper #look04 .look04-img {
    width: var(--look04-img);
    height: auto;
  }
  .box-wrapper #look05 {
    position: relative;
    margin-top: 300px;
  }
  .box-wrapper #look05 .look05-bg {
    position: relative;
  }
  .box-wrapper #look05 .look05-desc {
    color: white;
    position: absolute;
    font-size: 2.7777777778cqw;
    left: 50%;
    bottom: 11.875cqw;
    transform: translateX(-50%);
  }
  .box-wrapper #look06 {
    position: relative;
    margin-top: 300px;
  }
  .box-wrapper #look07 {
    position: relative;
    margin-top: 300px;
  }
  .box-wrapper #look07 .look07-middle {
    background-color: #07508a;
    padding-bottom: 52px;
  }
  .box-wrapper #look07 .look07-ttl {
    font-size: 74px;
    color: white;
    line-height: 1;
  }
  .box-wrapper #look07 .look07-lead {
    margin-top: 377px;
    text-align: end;
    font-size: 40px;
    color: white;
  }
  .box-wrapper #look07 .look07-desc {
    font-weight: 400;
    margin-top: 24px;
    text-align: end;
    font-size: 22px;
    color: white;
    line-height: 1.4;
  }
  .box-wrapper #look07 .look07-last {
    margin-top: 368px;
    text-align: center;
    font-size: 22px;
    line-height: 1.4;
    color: white;
  }
  .box-wrapper #look08 {
    position: relative;
    margin-top: 300px;
    container-type: normal;
  }
  .box-wrapper #look08 .look08-stack {
    width: 100%;
  }
  .box-wrapper #look08 .look08-band {
    position: relative;
    width: 100%;
    overflow: hidden;
    -webkit-clip-path: inset(0);
    clip-path: inset(0);
  }
  .box-wrapper #look08 .look08-band--top,
  .box-wrapper #look08 .look08-band--bottom {
    aspect-ratio: 1440/707;
  }
  .box-wrapper #look08 .look08-band--mid {
    aspect-ratio: 1440/593;
  }
  .box-wrapper #look08 .look08-band--mid,
  .box-wrapper #look08 .look08-band--bottom {
    margin-top: -1px;
  }
  .box-wrapper #look08 .look08-media {
    position: absolute;
    inset: 0;
  }
  .box-wrapper #look08 .look08-bg {
    position: absolute;
    left: 0;
    width: 100%;
    max-width: none;
    height: auto;
    aspect-ratio: 1440/2007;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
  }
  .box-wrapper #look08 .look08-band--top .look08-bg {
    top: 0;
  }
  .box-wrapper #look08 .look08-band--bottom .look08-bg {
    top: -183.8755304102%;
  }
  .box-wrapper #look08 .look08-band--mid {
    overflow: visible;
  }
  .box-wrapper #look08 .look08-band--mid .look08-media {
    position: absolute;
    top: auto;
    right: 0;
    bottom: 0;
    left: 0;
    height: calc(100vh + 100%);
    height: calc(100lvh + 100%);
    display: flex;
    align-items: flex-end;
  }
  .box-wrapper #look08 .look08-band--mid .look08-img {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    width: 100%;
    max-width: none;
    height: auto;
    aspect-ratio: 1440/593;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
  }
  .box-wrapper #look09 {
    position: relative;
    margin-top: 300px;
  }
  .box-wrapper #look09 .look09-wrap {
    display: flex;
  }
  .box-wrapper #look09 .look09-item {
    flex: 1;
    position: relative;
  }
  .box-wrapper #look09 .look09-left {
    background-color: #07508a;
    overflow: hidden;
  }
  .box-wrapper #look09 .look09-ttl {
    font-size: min(50px, 3.4722222222cqw);
    white-space: nowrap;
    color: white;
    position: absolute;
    left: 50%;
    top: 10.5555555556cqw;
    transform: translateX(-50%);
  }
  .box-wrapper #look09 .look09-desc {
    font-weight: 400;
    font-size: min(26px, 1.8055555556cqw);
    white-space: nowrap;
    color: white;
    text-align: center;
    line-height: 1.3;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    will-change: transform;
  }
  .box-wrapper #look10 {
    position: relative;
    margin-top: 300px;
  }
  .box-wrapper #look11 {
    position: relative;
    margin-top: 300px;
  }
  .box-wrapper #look11 .look11-main {
    background-color: #07508a;
    padding-top: 6.3888888889cqw;
    padding-bottom: 12.8472222222cqw;
  }
  .box-wrapper #look11 .look11-lead {
    font-size: 40px;
    color: white;
    text-align: center;
  }
  .box-wrapper #look11 .look11-img {
    margin: 3.6805555556cqw auto 0;
    width: 50cqw;
  }
  .box-wrapper #footer {
    position: relative;
    margin-top: 300px;
    height: 100vh;
  }
  .box-wrapper #footer .footer-bg {
    position: relative;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
  .box-wrapper #footer .footer-left {
    position: absolute;
    top: 10cqw;
    left: 8.9583333333cqw;
  }
  .box-wrapper #footer .footer-right {
    position: absolute;
    top: 10cqw;
    right: 8.9583333333cqw;
  }
  .box-wrapper #footer .footer-ttl {
    font-size: 46px;
    line-height: 1;
    font-weight: bold;
    color: white;
  }
  .box-wrapper #footer .footer-ttl.ttl02 {
    margin-top: 30px;
  }
  .box-wrapper #footer .footer-list {
    margin-top: 4.1666666667cqw;
  }
  .box-wrapper #footer .footer-list__item {
    font-size: 16px;
    line-height: 1;
    color: white;
    margin-bottom: 30px;
  }
  .box-wrapper #footer .footer-list__item.end {
    text-align: end;
  }
  .box-wrapper #footer .footer-links {
    margin-top: 150px;
  }
  .box-wrapper #footer .footer-links__item {
    text-align: end;
    display: block;
    font-size: 28px;
    font-weight: bold;
    line-height: 1;
    margin-bottom: 67px;
    color: white;
    font-weight: bold;
    text-decoration: underline;
  }
  .box-wrapper #footer .footer-links__item:last-child {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 750px) {
  .box-wrapper {
    /*--------------------*/
    /* hero
    /*--------------------*/
    /*--------------------*/
    /* intro
    /*--------------------*/
    /*--------------------*/
    /* look01
    /*--------------------*/
    /*--------------------*/
    /* look02
    /*--------------------*/
    /*--------------------*/
    /* look03
    /*--------------------*/
    /*--------------------*/
    /* look04
    /*--------------------*/
    /*--------------------*/
    /* look05
    /*--------------------*/
    /*--------------------*/
    /* look06
    /*--------------------*/
    /*--------------------*/
    /* look07
    /*--------------------*/
    /*--------------------*/
    /* look08
    /*--------------------*/
    /*--------------------*/
    /* look09
    /*--------------------*/
    /*--------------------*/
    /* look10
    /*--------------------*/
    /*--------------------*/
    /* look11
    /*--------------------*/
    /*--------------------*/
    /* footer
    /*--------------------*/
  }
  .box-wrapper .credit {
    margin-top: 8px;
    font-size: 12px;
    text-align: end;
    padding-right: 5px;
    margin-left: auto;
  }
  .box-wrapper .credit a {
    display: block;
    text-decoration: underline;
  }
  .box-wrapper #hero {
    position: relative;
    height: 100vh;
  }
  .box-wrapper #hero .hero-bg {
    position: relative;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
  .box-wrapper #hero .hero-catch {
    line-height: 1.2;
    color: white;
    font-size: 8.7179487179cqw;
    position: absolute;
    left: 0;
    bottom: 0;
  }
  .box-wrapper #hero .hero-logo {
    width: 42.5641025641cqw;
    position: absolute;
    top: 76.1538461538cqw;
    right: 0;
  }
  .box-wrapper #intro {
    position: relative;
  }
  .box-wrapper #intro .intro-bg {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
  }
  .box-wrapper #intro .intro-cover {
    background-color: rgba(7, 80, 138, 0.5019607843);
    width: 89.7435897436cqw;
    aspect-ratio: 350/269;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .box-wrapper #intro .intro-lead {
    font-size: 4.1025641026cqw;
    text-align: center;
    color: white;
  }
  .box-wrapper #intro .intro-desc {
    font-size: 3.0769230769cqw;
    font-weight: 400;
    color: white;
    line-height: 2;
    text-align: center;
    margin-top: 5.1282051282cqw;
  }
  .box-wrapper #look01 {
    position: relative;
  }
  .box-wrapper #look01 .look01-bg {
    position: relative;
  }
  .box-wrapper #look01 .look01-desc {
    white-space: nowrap;
    color: white;
    position: absolute;
    font-size: 4.1025641026cqw;
    left: 50%;
    bottom: 20.5128205128cqw;
    transform: translateX(-50%);
  }
  .box-wrapper #look02 {
    position: relative;
    margin-top: 30.7692307692cqw;
  }
  .box-wrapper #look03 {
    position: relative;
    margin-top: 25.1282051282cqw;
  }
  .box-wrapper #look03 .look03-bg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: bottom;
  }
  .box-wrapper #look03 .look03-cover {
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .box-wrapper #look04 {
    --look04-pad: min(69px, 17.6923076923cqw);
    --look04-lead: min(25.6px, 6.5641025641cqw);
    --look04-gap: min(100px, 25.641025641cqw);
    --look04-img: min(390px, 100cqw);
    --look04-stage: calc(var(--look04-pad) + var(--look04-lead) + var(--look04-gap) * 2 + var(--look04-img));
  }
  .box-wrapper #look04 .look04-parent {
    height: calc(var(--look04-stage) * 2.5);
  }
  .box-wrapper #look04 .look04-layer {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    height: var(--look04-stage);
  }
  .box-wrapper #look04 .look04-layer--img {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 60px;
    padding-bottom: 10px;
  }
  .box-wrapper #look04 .look04-bg {
    height: 100%;
    background-color: #07508a;
    padding-top: var(--look04-pad);
    display: flex;
    flex-direction: column;
  }
  .box-wrapper #look04 .look04-lead {
    font-size: min(16px, 4.1025641026cqw);
    line-height: 1.6;
    color: white;
    text-align: center;
  }
  .box-wrapper #look04 .look04-desc {
    font-weight: 400;
    white-space: nowrap;
    font-size: calc(var(--look04-img) / 32.5);
    line-height: 2;
    text-align: center;
    color: white;
    margin-top: 80px;
    margin-bottom: auto;
  }
  .box-wrapper #look04 .look04-img {
    width: var(--look04-img);
    height: auto;
  }
  .box-wrapper #look05 {
    position: relative;
    margin-top: 25.1282051282cqw;
  }
  .box-wrapper #look05 .look05-bg {
    position: relative;
  }
  .box-wrapper #look05 .look05-desc {
    font-weight: 400;
    color: white;
    position: absolute;
    font-size: 4.1025641026cqw;
    left: 50%;
    bottom: 7.9487179487cqw;
    transform: translateX(-50%);
    white-space: nowrap;
  }
  .box-wrapper #look06 {
    position: relative;
    margin-top: 25.641025641cqw;
  }
  .box-wrapper #look07 {
    position: relative;
    margin-top: 25.641025641cqw;
  }
  .box-wrapper #look07 .look07-middle {
    background-color: #07508a;
    padding-bottom: 17px;
  }
  .box-wrapper #look07 .look07-ttl {
    font-size: 28px;
    color: white;
    line-height: 1;
  }
  .box-wrapper #look07 .look07-lead {
    margin-top: 160px;
    text-align: end;
    font-size: 16px;
    color: white;
  }
  .box-wrapper #look07 .look07-desc {
    font-weight: 400;
    margin-top: 10px;
    text-align: end;
    font-size: 12px;
    color: white;
    line-height: 1.4;
  }
  .box-wrapper #look07 .look07-last {
    margin-top: 153px;
    text-align: center;
    font-size: 12px;
    line-height: 1.4;
    color: white;
  }
  .box-wrapper #look08 {
    position: relative;
    margin-top: 25.641025641vw;
    container-type: normal;
  }
  .box-wrapper #look08 .look08-stack {
    width: 100%;
  }
  .box-wrapper #look08 .look08-band {
    position: relative;
    width: 100%;
    overflow: hidden;
    -webkit-clip-path: inset(0);
    clip-path: inset(0);
  }
  .box-wrapper #look08 .look08-band--top,
  .box-wrapper #look08 .look08-band--bottom {
    aspect-ratio: 390/240;
  }
  .box-wrapper #look08 .look08-band--mid {
    aspect-ratio: 390/201;
  }
  .box-wrapper #look08 .look08-band--mid,
  .box-wrapper #look08 .look08-band--bottom {
    margin-top: -1px;
  }
  .box-wrapper #look08 .look08-media {
    position: absolute;
    inset: 0;
  }
  .box-wrapper #look08 .look08-bg {
    position: absolute;
    left: 0;
    width: 100%;
    max-width: none;
    height: auto;
    aspect-ratio: 390/681;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
  }
  .box-wrapper #look08 .look08-band--top .look08-bg {
    top: 0;
  }
  .box-wrapper #look08 .look08-band--bottom .look08-bg {
    top: -183.75%;
  }
  .box-wrapper #look08 .look08-band--mid {
    overflow: visible;
  }
  .box-wrapper #look08 .look08-band--mid .look08-media {
    position: absolute;
    top: auto;
    right: 0;
    bottom: 0;
    left: 0;
    height: calc(100vh + 100%);
    height: calc(100lvh + 100%);
    display: flex;
    align-items: flex-end;
  }
  .box-wrapper #look08 .look08-band--mid .look08-img {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    width: 100%;
    max-width: none;
    height: auto;
    aspect-ratio: 390/201;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
  }
  .box-wrapper #look09 {
    position: relative;
    margin-top: 25.641025641cqw;
  }
  .box-wrapper #look09 .look09-wrap {
    display: flex;
  }
  .box-wrapper #look09 .look09-item {
    flex: 1;
    position: relative;
  }
  .box-wrapper #look09 .look09-left {
    background-color: #07508a;
    overflow: hidden;
  }
  .box-wrapper #look09 .look09-ttl {
    white-space: nowrap;
    font-size: 16px;
    color: white;
    position: absolute;
    left: 50%;
    top: 43.3333333333cqw;
    transform: translateX(-50%);
  }
  .box-wrapper #look09 .look09-desc {
    font-weight: 400;
    font-size: 12px;
    white-space: nowrap;
    color: white;
    text-align: center;
    line-height: 1.3;
    position: absolute;
    left: 50%;
    top: calc((49.8974358974cqw + 100%) / 2);
    transform: translate(-50%, -50%);
    will-change: transform;
  }
  .box-wrapper #look10 {
    position: relative;
    margin-top: 25.1282051282cqw;
  }
  .box-wrapper #look11 {
    position: relative;
    margin-top: 25.641025641cqw;
  }
  .box-wrapper #look11 .look11-main {
    background-color: #07508a;
    padding-top: 16.9230769231cqw;
    padding-bottom: 17.9487179487cqw;
  }
  .box-wrapper #look11 .look11-lead {
    font-size: 16px;
    color: white;
    text-align: center;
  }
  .box-wrapper #look11 .look11-img {
    margin: 5.8974358974cqw auto 0;
    width: 79.4871794872cqw;
  }
  .box-wrapper #footer {
    position: relative;
    margin-top: 25.1282051282cqw;
    height: 100vh;
  }
  .box-wrapper #footer .footer-bg {
    position: relative;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
  .box-wrapper #footer .footer-left {
    position: absolute;
    top: 10.2564102564cqw;
    left: 5.3846153846cqw;
  }
  .box-wrapper #footer .footer-right {
    position: absolute;
    bottom: 11.0256410256cqw;
    right: 4.6153846154cqw;
  }
  .box-wrapper #footer .footer-ttl {
    font-size: 24px;
    line-height: 1;
    font-weight: bold;
    color: white;
  }
  .box-wrapper #footer .footer-ttl.ttl02 {
    margin-top: 16px;
  }
  .box-wrapper #footer .footer-list {
    margin-top: 5.1282051282cqw;
  }
  .box-wrapper #footer .footer-list__item {
    font-size: 12px;
    line-height: 1;
    color: white;
    margin-bottom: 16px;
  }
  .box-wrapper #footer .footer-list__item.end {
    text-align: end;
  }
  .box-wrapper #footer .footer-links {
    margin-top: 40px;
  }
  .box-wrapper #footer .footer-links__item {
    text-align: end;
    display: block;
    font-size: 18px;
    font-weight: bold;
    line-height: 1;
    margin-bottom: 14px;
    color: white;
    font-weight: bold;
    text-decoration: underline;
  }
  .box-wrapper #footer .footer-links__item:last-child {
    margin-bottom: 0;
  }
}
/*--------------------*/
/* look08: 視差表現を抑える設定時は固定を解除し、窓にぴったり収まる静的表示に戻す
/*--------------------*/
@media screen and (min-width: 751px) and (prefers-reduced-motion: reduce) {
  .box-wrapper #look08 .look08-band--mid .look08-media {
    position: absolute;
    inset: 0;
    height: auto;
    display: block;
  }
  .box-wrapper #look08 .look08-band--mid .look08-img {
    position: static;
  }
}
@media screen and (max-width: 750px) and (prefers-reduced-motion: reduce) {
  .box-wrapper #look08 .look08-band--mid .look08-media {
    position: absolute;
    inset: 0;
    height: auto;
    display: block;
  }
  .box-wrapper #look08 .look08-band--mid .look08-img {
    position: static;
  }
}
/*# sourceMappingURL=style.css.map */
