@media screen and (max-width: 736px) {
  .pc {
    display: none;
  }
}

@media print, screen and (min-width: 736px) {
  .sp {
    display: none;
  }
}

@media print, screen and (min-width: 736px) {
  * + .conceptSect {
    margin-top: 80px;
  }
}

@media screen and (max-width: 736px) {
  * + .conceptSect {
    margin-top: calc(60 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .conceptSect__head {
    margin: 0 auto;
    width: 992px;
  }
}

@media screen and (max-width: 736px) {
  .conceptSect__head {
    margin: 0 calc(-20 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .conceptSect__head + .conceptSect__cont {
    margin-top: 134px;
  }
}

@media screen and (max-width: 736px) {
  .conceptSect__head + .conceptSect__cont {
    margin-top: calc(64 / 390 * 100vw);
  }
}

.conceptSect__cont {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #1a325e;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: center;
}

@media print, screen and (min-width: 736px) {
  .conceptSect__cont {
    gap: 80px;
  }
}

@media screen and (max-width: 736px) {
  .conceptSect__cont {
    gap: calc(48 / 390 * 100vw);
  }
}

.conceptSect__heading {
  line-height: 1.2;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-weight: 600;
  letter-spacing: 0;
}

.conceptSect__heading:before {
  content: '';
  display: block;
  height: 0;
  margin-top: calc((1 - 1.2) * .5em);
  width: 0;
}

.conceptSect__heading:after {
  content: '';
  display: block;
  height: 0;
  margin-bottom: calc((1 - 1.2) * .5em);
  width: 0;
}

@media print, screen and (min-width: 736px) {
  .conceptSect__heading {
    font-size: 80px;
    gap: 56px;
  }
}

@media screen and (max-width: 736px) {
  .conceptSect__heading {
    font-size: calc(50 / 390 * 100vw);
    gap: calc(32 / 390 * 100vw);
  }
}

.conceptSect__heading .lead {
  letter-spacing: 0;
  line-height: 1;
}

@media print, screen and (min-width: 736px) {
  .conceptSect__heading .lead {
    font-size: 30px;
  }
}

@media screen and (max-width: 736px) {
  .conceptSect__heading .lead {
    font-size: calc(20 / 390 * 100vw);
  }
}

.conceptSect__txt {
  line-height: 2;
  letter-spacing: 0;
}

.conceptSect__txt:before {
  content: '';
  display: block;
  height: 0;
  margin-top: calc((1 - 2) * .5em);
  width: 0;
}

.conceptSect__txt:after {
  content: '';
  display: block;
  height: 0;
  margin-bottom: calc((1 - 2) * .5em);
  width: 0;
}

@media print, screen and (min-width: 736px) {
  .conceptSect__txt {
    font-size: 16px;
  }
}

@media screen and (max-width: 736px) {
  .conceptSect__txt {
    font-size: calc(13 / 390 * 100vw);
  }
}

.conceptSect__txt .caption {
  display: block;
}

@media print, screen and (min-width: 736px) {
  .conceptSect__txt .caption {
    margin-top: 32px;
  }
}

@media screen and (max-width: 736px) {
  .conceptSect__txt .caption {
    margin-top: calc(24 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .conceptSect__logo {
    width: 260px;
  }
}

@media screen and (max-width: 736px) {
  .conceptSect__logo {
    width: calc(150 / 390 * 100vw);
  }
}

.conceptSect__company {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media print, screen and (min-width: 736px) {
  .conceptSect__company {
    width: 100%;
  }
}

@media screen and (max-width: 736px) {
  .conceptSect__company {
    margin: 0 calc(-20 / 390 * 100vw);
  }
}

@media screen and (max-width: 736px) {
  .conceptSect__company .item {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: calc(64 / 390 * 100vw);
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 50%;
  }
}

@media print, screen and (min-width: 736px) {
  .conceptSect__company .item:not(:last-child) {
    border-right: 1px solid #cccccc;
    padding-right: 30px;
  }
}

@media screen and (max-width: 736px) {
  .conceptSect__company .item:nth-child(2n) {
    border-left: 1px solid #cccccc;
  }
}

@media screen and (max-width: 736px) {
  .conceptSect__company .item:nth-child(n+3) {
    border-top: 1px solid #cccccc;
  }
}

.conceptSect__company .item:nth-child(1) .photo {
  aspect-ratio: 191 / 28;
}

@media print, screen and (min-width: 736px) {
  .conceptSect__company .item:nth-child(1) .photo {
    width: 191px;
  }
}

@media screen and (max-width: 736px) {
  .conceptSect__company .item:nth-child(1) .photo {
    width: calc(191 / 780 * 100vw);
  }
}

.conceptSect__company .item:nth-child(2) .photo {
  aspect-ratio: 266 / 25;
}

@media print, screen and (min-width: 736px) {
  .conceptSect__company .item:nth-child(2) .photo {
    width: 266px;
  }
}

@media screen and (max-width: 736px) {
  .conceptSect__company .item:nth-child(2) .photo {
    width: calc(266 / 780 * 100vw);
  }
}

.conceptSect__company .item:nth-child(3) .photo {
  aspect-ratio: 234 / 29;
}

@media print, screen and (min-width: 736px) {
  .conceptSect__company .item:nth-child(3) .photo {
    width: 234px;
  }
}

@media screen and (max-width: 736px) {
  .conceptSect__company .item:nth-child(3) .photo {
    width: calc(234 / 780 * 100vw);
  }
}

.conceptSect__company .item:nth-child(4) .photo {
  aspect-ratio: 191 / 42;
}

@media print, screen and (min-width: 736px) {
  .conceptSect__company .item:nth-child(4) .photo {
    width: 191px;
  }
}

@media screen and (max-width: 736px) {
  .conceptSect__company .item:nth-child(4) .photo {
    width: calc(191 / 780 * 100vw);
  }
}

.facadeSect {
  width: calc(100vw - var(--scrollbar));
  position: relative;
}

@media print, screen and (min-width: 736px) {
  .facadeSect {
    margin-left: calc(((100vw - var(--scrollbar)) - 1200px) / -2);
  }
}

@media only screen and (min-width: 736px) and (max-width: 1200px) {
  .facadeSect {
    width: calc(100% + 40px);
    margin-left: -20px;
  }
}

@media screen and (max-width: 736px) {
  .facadeSect {
    margin-left: calc(-32 / 390 * 100vw);
  }
}

.facadeSect__heading {
  color: #1a325e;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  letter-spacing: 0;
  line-height: 1;
  position: absolute;
  z-index: 1;
}

@media print, screen and (min-width: 736px) {
  .facadeSect__heading {
    font-size: calc(38 / 1440 * 100vw);
    gap: calc(20 / 1440 * 100vw);
    right: calc(45 / 1440 * 100vw);
    top: calc(127 / 800 * 100%);
  }
}

@media screen and (max-width: 736px) {
  .facadeSect__heading {
    font-size: calc(24.5 / 390 * 100vw);
    gap: calc(20 / 390 * 100vw);
    left: 0;
    text-align: center;
    top: calc(120 / 390 * 100vw);
    width: 100%;
  }
}

@media print, screen and (min-width: 736px) {
  .facadeSect__heading .small {
    font-size: calc(24 / 1440 * 100vw);
  }
}

@media screen and (max-width: 736px) {
  .facadeSect__heading .small {
    font-size: calc(19.5 / 390 * 100vw);
  }
}

.facadeSect__heading .num {
  font-family: "EB Garamond", serif;
  line-height: .7;
}

@media print, screen and (min-width: 736px) {
  .facadeSect__heading .num {
    font-size: calc(45 / 1440 * 100vw);
  }
}

@media screen and (max-width: 736px) {
  .facadeSect__heading .num {
    font-size: calc(30 / 390 * 100vw);
  }
}

.facadeSect__cont {
  height: 100%;
}

.facadeSect__cont .photo__image {
  -o-object-position: top;
     object-position: top;
}

.guidanceCard {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  white-space: nowrap;
}

.guidanceCard__ttl {
  opacity: 0;
  pointer-events: none;
  position: fixed;
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition: opacity .6s ease;
  transition: opacity .6s ease;
  will-change: transform;
}

.guidanceCard__body {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  opacity: 0;
  position: relative;
  text-shadow: 0 0 10px #000000;
  -webkit-transition: .6s ease;
  transition: .6s ease;
  -webkit-transition-property: opacity,visibility;
  transition-property: opacity,visibility;
  visibility: hidden;
  z-index: 2;
}

@media print, screen and (min-width: 736px) {
  .guidanceCard__body {
    gap: 40px;
  }
}

@media screen and (max-width: 736px) {
  .guidanceCard__body {
    gap: calc(40 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .guidanceCard__body:hover .guidanceCard__dir {
    background-color: rgba(0, 0, 0, 0.6);
  }
  .guidanceCard__body:hover .guidanceCard__dir .arrow {
    -webkit-transform: scale(1.05) translate(5%, 0);
            transform: scale(1.05) translate(5%, 0);
  }
}

@media (hover: hover) and (pointer: fine) {
  .guidanceCard__body:hover .guidanceCard__dir {
    background-color: rgba(0, 0, 0, 0.6);
  }
  .guidanceCard__body:hover .guidanceCard__dir .arrow {
    -webkit-transform: scale(1.05) translate(5%, 0);
            transform: scale(1.05) translate(5%, 0);
  }
}

.guidanceCard__lead {
  line-height: 1.2;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
}

.guidanceCard__lead:before {
  content: '';
  display: block;
  height: 0;
  margin-top: calc((1 - 1.2) * .5em);
  width: 0;
}

.guidanceCard__lead:after {
  content: '';
  display: block;
  height: 0;
  margin-bottom: calc((1 - 1.2) * .5em);
  width: 0;
}

@media print, screen and (min-width: 736px) {
  .guidanceCard__lead {
    font-size: 80px;
  }
}

@media screen and (max-width: 736px) {
  .guidanceCard__lead {
    font-size: calc(50 / 390 * 100vw);
  }
}

.guidanceCard__dir {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  aspect-ratio: 1 / 1;
  background: rgba(0, 0, 0, 0.3);
  border: 2px solid #ffffff;
  border-radius: 50%;
  -webkit-box-shadow: 0 0 10px 0 #000000;
          box-shadow: 0 0 10px 0 #000000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  -webkit-transition: background-color .6s ease;
  transition: background-color .6s ease;
}

@media print, screen and (min-width: 736px) {
  .guidanceCard__dir {
    width: 180px;
  }
}

@media screen and (max-width: 736px) {
  .guidanceCard__dir {
    width: calc(120 / 390 * 100vw);
  }
}

.guidanceCard__dir:after {
  -webkit-animation: rotateAnime 12s linear infinite;
          animation: rotateAnime 12s linear infinite;
  background: url("../imgs/bt-guidance-01.svg") no-repeat center/cover;
  content: '';
  inset: 0;
  position: absolute;
}

.guidanceCard__dir .arrow {
  -webkit-transition: -webkit-transform .6s ease;
  transition: -webkit-transform .6s ease;
  transition: transform .6s ease;
  transition: transform .6s ease, -webkit-transform .6s ease;
}

@media print, screen and (min-width: 736px) {
  .guidanceCard__dir .arrow {
    width: 51px;
  }
}

@media screen and (max-width: 736px) {
  .guidanceCard__dir .arrow {
    width: calc(34 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .guidanceCard--odd {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}

@media print, screen and (min-width: 736px) {
  .guidanceCard--odd .guidanceCard__ttl {
    bottom: 100px;
    left: 120px;
  }
}

@media print, screen and (min-width: 736px) {
  .guidanceCard--even {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

@media print, screen and (min-width: 736px) {
  .guidanceCard--even .guidanceCard__ttl {
    right: 108px;
    top: 184px;
  }
}

@media print, screen and (min-width: 736px) {
  .guidanceCard--01 .guidanceCard__ttl {
    width: 546px;
  }
}

@media screen and (max-width: 736px) {
  .guidanceCard--01 .guidanceCard__ttl {
    bottom: calc(50 / 390 * 100vw);
    left: calc(20 / 390 * 100vw);
    width: calc(321 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .guidanceCard--02 .guidanceCard__ttl {
    width: 1053px;
  }
}

@media screen and (max-width: 736px) {
  .guidanceCard--02 .guidanceCard__ttl {
    left: calc(20 / 390 * 100vw);
    top: calc(28 / 390 * 100vw);
    width: calc(526 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .guidanceCard--03 .guidanceCard__ttl {
    width: 897px;
  }
}

@media screen and (max-width: 736px) {
  .guidanceCard--03 .guidanceCard__ttl {
    bottom: calc(80 / 390 * 100vw);
    left: calc(40 / 390 * 100vw);
    width: calc(448 / 390 * 100vw);
  }
}

.guidanceCard.is-active .guidanceCard__body {
  opacity: 1;
  visibility: visible;
}

@-webkit-keyframes rotateAnime {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes rotateAnime {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

.mainVisual {
  height: 100%;
  opacity: 0;
  overflow: hidden;
  position: relative;
  -webkit-transition: opacity .8s ease;
  transition: opacity .8s ease;
}

.mainVisual:after {
  background-color: rgba(0, 0, 0, 0.6);
  content: '';
  inset: 0;
  opacity: 0;
  position: absolute;
  -webkit-transition: opacity .8s ease;
  transition: opacity .8s ease;
  z-index: 2;
}

.mainVisual__inner {
  height: 100%;
  width: 100%;
}

.mainVisual__bg {
  background-color: #ffffff;
  height: 100%;
  position: relative;
}

@media print, screen and (min-width: 736px) {
  .mainVisual__bg:after {
    background: url("../imgs/pc/img-mv-grad-01@1.5x.png") no-repeat center bottom/cover;
    content: '';
    inset: 0;
    position: absolute;
    -webkit-transition: opacity 1.4s ease;
    transition: opacity 1.4s ease;
  }
}

.mainVisual__bg .photo__pic {
  position: relative;
}

.mainVisual__bg .photo__image {
  max-width: initial;
  opacity: .5;
  -webkit-transform-origin: 28% bottom;
          transform-origin: 28% bottom;
  -webkit-transition: opacity 3s ease;
  transition: opacity 3s ease;
}

.mainVisual__bg .photo__capIn {
  opacity: 0;
}

.mainVisual__plot {
  inset: 0;
  position: absolute;
  -webkit-transition: opacity 1.6s ease;
  transition: opacity 1.6s ease;
  z-index: 1;
}

.mainVisual__plot .photo {
  inset: 0;
  opacity: 0;
  position: absolute;
}

.mainVisual__plot .photo:nth-child(1) {
  -webkit-filter: brightness(2);
          filter: brightness(2);
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
  -webkit-transition: 1.6s ease 1s;
  transition: 1.6s ease 1s;
  -webkit-transition-property: opacity,-webkit-filter;
  transition-property: opacity,-webkit-filter;
  transition-property: filter,opacity;
  transition-property: filter,opacity,-webkit-filter;
}

.mainVisual__plot .photo:nth-child(2) {
  -webkit-transform: translate(0%, 3%);
          transform: translate(0%, 3%);
  -webkit-transition: 1s ease 2s;
  transition: 1s ease 2s;
  -webkit-transition-property: opacity,-webkit-transform;
  transition-property: opacity,-webkit-transform;
  transition-property: opacity,transform;
  transition-property: opacity,transform,-webkit-transform;
}

.mainVisual__plot .photo__image {
  max-width: initial;
  opacity: 0;
  -webkit-transform-origin: 28% bottom;
          transform-origin: 28% bottom;
  -webkit-transition: opacity 3s ease;
  transition: opacity 3s ease;
}

.mainVisual__plot .photo__capIn {
  opacity: 0;
}

.mainVisual__note {
  bottom: 0;
  opacity: 0;
  position: absolute;
  right: 0;
}

.mainVisual__note .caption {
  line-height: 1.5;
}

.mainVisual__clouds {
  inset: 0;
  position: absolute;
  z-index: 1;
}

.mainVisual__clouds .item {
  inset: 0;
  position: absolute;
  z-index: 1;
}

.mainVisual__desc {
  inset: 0;
  position: absolute;
  z-index: 1;
}

.mainVisual__lead {
  -webkit-filter: blur(10px);
          filter: blur(10px);
  left: 50%;
  opacity: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: 1.2s ease;
  transition: 1.2s ease;
  -webkit-transition-property: opacity,-webkit-filter;
  transition-property: opacity,-webkit-filter;
  transition-property: filter,opacity;
  transition-property: filter,opacity,-webkit-filter;
}

@media print, screen and (min-width: 736px) {
  .mainVisual__lead:nth-child(1) {
    width: calc(513 / 1440 * 100%);
  }
}

@media screen and (max-width: 736px) {
  .mainVisual__lead:nth-child(1) {
    width: calc(356 / 390 * 100%);
  }
}

@media print, screen and (min-width: 736px) {
  .mainVisual__lead:nth-child(2) {
    width: calc(692 / 1440 * 100%);
  }
}

@media screen and (max-width: 736px) {
  .mainVisual__lead:nth-child(2) {
    width: calc(350 / 390 * 100%);
  }
}

.mainVisual__catch {
  color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-filter: blur(10px);
          filter: blur(10px);
  left: 50%;
  opacity: 0;
  position: absolute;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  white-space: nowrap;
  z-index: 2;
}

@media print, screen and (min-width: 736px) {
  .mainVisual__catch {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 60px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    top: calc(116 / 1440 * 100%);
    width: calc(1214 / 1440 * 100%);
  }
}

@media screen and (max-width: 736px) {
  .mainVisual__catch {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(32 / 390 * 100vw);
    padding: 0 calc(20 / 390 * 100vw);
    top: calc(55 / 568 * 100%);
    width: 100%;
  }
}

@media print, screen and (min-width: 736px) {
  .mainVisual__ttl {
    -webkit-filter: drop-shadow(0 0 3px #e2c48e) drop-shadow(0 0 3px #e2c48e);
            filter: drop-shadow(0 0 3px #e2c48e) drop-shadow(0 0 3px #e2c48e);
    width: calc(607 / 1214 * 100%);
  }
}

@media screen and (max-width: 736px) {
  .mainVisual__ttl {
    -webkit-filter: drop-shadow(0 0 3px #1d1a35) drop-shadow(0 0 3px #1d1a35);
            filter: drop-shadow(0 0 3px #1d1a35) drop-shadow(0 0 3px #1d1a35);
    width: calc(324 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .mainVisual__heading {
    -webkit-filter: drop-shadow(0 0 3px #e2c48e) drop-shadow(0 0 3px #e2c48e) drop-shadow(0 0 3px #e2c48e);
            filter: drop-shadow(0 0 3px #e2c48e) drop-shadow(0 0 3px #e2c48e) drop-shadow(0 0 3px #e2c48e);
    width: calc(547 / 1214 * 100%);
  }
}

@media screen and (max-width: 736px) {
  .mainVisual__heading {
    width: calc(327.5 / 390 * 100vw);
  }
}

.mainVisual__lastScene {
  bottom: 0;
  -webkit-filter: brightness(1.8);
          filter: brightness(1.8);
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  -webkit-transition: 1.2s ease;
  transition: 1.2s ease;
  -webkit-transition-property: opacity,-webkit-filter;
  transition-property: opacity,-webkit-filter;
  transition-property: filter,opacity;
  transition-property: filter,opacity,-webkit-filter;
  width: 100vw;
  z-index: 2;
}

@media print, screen and (min-width: 736px) {
  .mainVisual__lastScene {
    background: url("../imgs/pc/img-mv-last-01@1.5x.jpg") no-repeat center center/cover;
  }
}

@media screen and (max-width: 736px) {
  .mainVisual__lastScene {
    background: url("../imgs/sp/img-mv-last-01.jpg") no-repeat center bottom/cover;
  }
}

.mainVisual__lastScene:before, .mainVisual__lastScene:after {
  content: '';
  opacity: 0;
  position: absolute;
  -webkit-transition: opacity .8s ease;
  transition: opacity .8s ease;
}

.mainVisual__lastScene:before {
  inset: 0;
}

@media print, screen and (min-width: 736px) {
  .mainVisual__lastScene:before {
    background: url("../imgs/pc/img-mv-last-02@1.5x.png") no-repeat center center/cover;
  }
}

@media screen and (max-width: 736px) {
  .mainVisual__lastScene:before {
    background: url("../imgs/sp/img-mv-last-02.png") no-repeat center bottom/cover;
  }
}

.mainVisual__lastScene:after {
  left: 50%;
}

@media print, screen and (min-width: 736px) {
  .mainVisual__lastScene:after {
    aspect-ratio: 715 / 572;
    background: url("../imgs/pc/img-mv-last-03@1.5x.png") no-repeat center center/cover;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: calc(715 / 1440 * 100%);
  }
}

@media screen and (max-width: 736px) {
  .mainVisual__lastScene:after {
    background: url("../imgs/sp/img-mv-last-03.png") no-repeat center bottom/cover;
    inset: 0;
  }
}

.mainVisual__lastScene.is-visible {
  -webkit-filter: brightness(1);
          filter: brightness(1);
  opacity: 1;
}

.mainVisual__lastScene.is-plot:before, .mainVisual__lastScene.is-plot:after {
  opacity: 1;
}

.mainVisual__skipBtn {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: rgba(255, 255, 255, 0.8);
  border: 1px solid  #cccccc;
  color: #786d4a;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  -webkit-transition: .6s ease;
  transition: .6s ease;
  -webkit-transition-property: opacity, visibility;
  transition-property: opacity, visibility;
  visibility: visible;
  z-index: 4;
}

@media print, screen and (min-width: 736px) {
  .mainVisual__skipBtn {
    gap: 5px;
    left: 20px;
    padding: 8px 5px 8px 10px;
    top: 20px;
  }
}

@media screen and (max-width: 736px) {
  .mainVisual__skipBtn {
    gap: calc(5 / 390 * 100vw);
    padding: calc(8 / 390 * 100vw) calc(5 / 390 * 100vw) calc(8 / 390 * 100vw) calc(10 / 390 * 100vw);
    right: calc(18 / 390 * 100vw);
    top: calc(80 / 390 * 100vw);
  }
}

.mainVisual__skipBtn .inner {
  color: #786d4a;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  line-height: .7;
}

@media print, screen and (min-width: 736px) {
  .mainVisual__skipBtn .inner {
    font-size: 16px;
  }
}

@media screen and (max-width: 736px) {
  .mainVisual__skipBtn .inner {
    font-size: calc(16 / 390 * 100vw);
  }
}

.mainVisual__skipBtn .icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media print, screen and (min-width: 736px) {
  .mainVisual__skipBtn .icon .arrow {
    width: 8px;
  }
}

@media screen and (max-width: 736px) {
  .mainVisual__skipBtn .icon .arrow {
    width: calc(8 / 390 * 100vw);
  }
}

.mainVisual__skipBtn.is-skipped .icon .arrow:nth-child(2) {
  display: none;
}

@media print, screen and (min-width: 736px) {
  .mainVisual.is-vertical .mainVisual__lastScene:after {
    height: calc(572 / 800 * 100%);
    width: auto;
  }
}

@media print, screen and (min-width: 736px) {
  .mainVisual.is-tab .mainVisual__lastScene:after {
    height: auto;
    width: 100%;
  }
}

@media print, screen and (min-width: 736px) {
  .mainVisual.is-tab .mainVisual__skipBtn {
    bottom: 120px;
    top: auto;
  }
}

.mainVisual.is-load {
  opacity: 1;
}

.mainVisual.is-scene-01 .mainVisual__clouds .item {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.mainVisual.is-scene-01 .mainVisual__clouds .item:nth-child(1) {
  -webkit-transition: opacity 4s linear, -webkit-transform 4s linear, -webkit-filter 4s linear;
  transition: opacity 4s linear, -webkit-transform 4s linear, -webkit-filter 4s linear;
  transition: opacity 4s linear, transform 4s linear, filter 4s linear;
  transition: opacity 4s linear, transform 4s linear, filter 4s linear, -webkit-transform 4s linear, -webkit-filter 4s linear;
}

.mainVisual.is-scene-01 .mainVisual__clouds .item:nth-child(2) {
  -webkit-transition: opacity 5s linear, -webkit-transform 5s linear, -webkit-filter 5s linear;
  transition: opacity 5s linear, -webkit-transform 5s linear, -webkit-filter 5s linear;
  transition: opacity 5s linear, transform 5s linear, filter 5s linear;
  transition: opacity 5s linear, transform 5s linear, filter 5s linear, -webkit-transform 5s linear, -webkit-filter 5s linear;
}

.mainVisual.is-scene-01 .mainVisual__clouds .item:nth-child(3) {
  -webkit-transition: opacity 4s linear, -webkit-transform 4s linear, -webkit-filter 4s linear;
  transition: opacity 4s linear, -webkit-transform 4s linear, -webkit-filter 4s linear;
  transition: opacity 4s linear, transform 4s linear, filter 4s linear;
  transition: opacity 4s linear, transform 4s linear, filter 4s linear, -webkit-transform 4s linear, -webkit-filter 4s linear;
}

.mainVisual.is-scene-01 .mainVisual__clouds .item:nth-child(4) {
  -webkit-transition: opacity 5s linear, -webkit-transform 5s linear, -webkit-filter 5s linear;
  transition: opacity 5s linear, -webkit-transform 5s linear, -webkit-filter 5s linear;
  transition: opacity 5s linear, transform 5s linear, filter 5s linear;
  transition: opacity 5s linear, transform 5s linear, filter 5s linear, -webkit-transform 5s linear, -webkit-filter 5s linear;
}

.mainVisual.is-scene-01 .mainVisual__lead:nth-child(1) {
  -webkit-filter: blur(0);
          filter: blur(0);
  opacity: 1;
}

.mainVisual.is-scene-02 .mainVisual__lead:nth-child(1) {
  opacity: 0;
  -webkit-transition-duration: .6s;
          transition-duration: .6s;
}

.mainVisual.is-scene-02 .mainVisual__lead:nth-child(2) {
  -webkit-filter: blur(0);
          filter: blur(0);
  opacity: 1;
}

.mainVisual.is-scene-02 .mainVisual__bg .photo__image {
  opacity: 1;
}

.mainVisual.is-scene-02 .mainVisual__plot .photo {
  -webkit-filter: brightness(1);
          filter: brightness(1);
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.mainVisual.is-scene-02 .mainVisual__clouds {
  -webkit-filter: brightness(1.1);
          filter: brightness(1.1);
  opacity: 0;
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
  -webkit-transition: 4s ease;
  transition: 4s ease;
  -webkit-transition-property: opacity,-webkit-filter,-webkit-transform;
  transition-property: opacity,-webkit-filter,-webkit-transform;
  transition-property: filter,opacity,transform;
  transition-property: filter,opacity,transform,-webkit-filter,-webkit-transform;
}

.mainVisual.is-scene-02 .mainVisual__clouds .item:nth-child(1) {
  -webkit-transform: scale(1.2) translate(-15%, -15%);
          transform: scale(1.2) translate(-15%, -15%);
}

.mainVisual.is-scene-02 .mainVisual__clouds .item:nth-child(2) {
  -webkit-transform: scale(1.2) translate(15%, -15%);
          transform: scale(1.2) translate(15%, -15%);
}

.mainVisual.is-scene-02 .mainVisual__clouds .item:nth-child(3) {
  -webkit-transform: scale(1.2) translate(-15%, 15%);
          transform: scale(1.2) translate(-15%, 15%);
}

.mainVisual.is-scene-02 .mainVisual__clouds .item:nth-child(4) {
  -webkit-transform: scale(1.2) translate(15%, 15%);
          transform: scale(1.2) translate(15%, 15%);
}

.mainVisual.is-scene-02 .mainVisual__catch {
  -webkit-filter: blur(0);
          filter: blur(0);
  opacity: 1;
  -webkit-transition: opacity 1.6s ease 2s, -webkit-filter 2.4s ease 2s;
  transition: opacity 1.6s ease 2s, -webkit-filter 2.4s ease 2s;
  transition: filter 2.4s ease 2s, opacity 1.6s ease 2s;
  transition: filter 2.4s ease 2s, opacity 1.6s ease 2s, -webkit-filter 2.4s ease 2s;
}

.mainVisual.is-scene-02 .mainVisual__lead:nth-child(2) {
  opacity: 0;
}

@media print, screen and (min-width: 736px) {
  .mainVisual.is-scene-02 .mainVisual__bg:after {
    opacity: 0;
  }
}

.mainVisual.is-scene-02 .mainVisual__note {
  opacity: 1;
  -webkit-transition: opacity 1.6s ease;
  transition: opacity 1.6s ease;
}

.mainVisual.is-end .mainVisual__inner *,
.mainVisual.is-end .mainVisual__inner *:before,
.mainVisual.is-end .mainVisual__inner *:after {
  -webkit-transition: 0s !important;
  transition: 0s !important;
}

.mainVisual.is-end .mainVisual__catch {
  -webkit-transition: opacity .3s ease,-webkit-filter .4s ease;
  transition: opacity .3s ease,-webkit-filter .4s ease;
  transition: filter .4s ease,opacity .3s ease;
  transition: filter .4s ease,opacity .3s ease,-webkit-filter .4s ease;
}

.mainVisual.is-active .mainVisual__catch {
  -webkit-filter: blur(10px);
          filter: blur(10px);
  opacity: 0;
}

.mainVisual.is-active .mainVisual__skipBtn {
  opacity: 0;
  visibility: hidden;
}

.mainVisual.is-active .mainVisual__bg .photo__capIn {
  opacity: 1;
  -webkit-transition: opacity .6s ease !important;
  transition: opacity .6s ease !important;
}

.mainVisual.is-active .mainVisual__plot {
  opacity: 0;
  -webkit-transition: opacity 1s ease !important;
  transition: opacity 1s ease !important;
}

.mainVisual.is-active .mainVisual__note {
  opacity: 0;
  -webkit-transition: opacity .3s ease !important;
  transition: opacity .3s ease !important;
}

.mainVisual.is-content:after {
  opacity: 1;
}

.scrollAssist {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  aspect-ratio: 1 / 1;
  background: rgba(26, 50, 94, 0.8);
  border: 2px solid #ffffff;
  border-radius: 40px;
  border-radius: 50%;
  color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  letter-spacing: 0;
  line-height: .7;
  opacity: 0;
  position: fixed;
  -webkit-transition: .8s ease;
  transition: .8s ease;
  -webkit-transition-property: opacity,visibility;
  transition-property: opacity,visibility;
  visibility: hidden;
  z-index: 9;
}

@media print, screen and (min-width: 736px) {
  .scrollAssist {
    bottom: 48px;
    font-size: 12px;
    gap: 12px;
    padding: 16px 0 8px 0;
    right: 40px;
    width: 80px;
  }
}

@media screen and (max-width: 736px) {
  .scrollAssist {
    bottom: calc((32 / 390 * 100vw) + 75px);
    font-size: calc(12 / 390 * 100vw);
    gap: calc(12 / 390 * 100vw);
    padding: calc(16 / 390 * 100vw) 0 calc(8 / 390 * 100vw) 0;
    right: calc(20 / 390 * 100vw);
    width: calc(80 / 390 * 100vw);
  }
}

.scrollAssist .arrow {
  aspect-ratio: 14 / 20;
}

@media print, screen and (min-width: 736px) {
  .scrollAssist .arrow {
    width: 14px;
  }
}

@media screen and (max-width: 736px) {
  .scrollAssist .arrow {
    width: calc(12 / 390 * 100vw);
  }
}

.scrollAssist.is-visible {
  opacity: 1;
  visibility: visible;
}

.scrollMovieArea {
  position: relative;
}

.scrollMovieArea:not(.is-active) .scrollMovieArea__bg {
  -webkit-transform: none !important;
          transform: none !important;
}

.scrollMovieArea__bg {
  width: calc(100vw - var(--scrollbar));
  background-attachment: fixed;
  -webkit-clip-path: inset(0);
          clip-path: inset(0);
  height: 100vh;
  inset: 0;
  left: 0;
  position: absolute;
  top: 0;
  z-index: 1;
}

@media print, screen and (min-width: 736px) {
  .scrollMovieArea__bg {
    margin-left: calc(((100vw - var(--scrollbar)) - 1200px) / -2);
  }
}

@media only screen and (min-width: 736px) and (max-width: 1200px) {
  .scrollMovieArea__bg {
    width: calc(100% + 40px);
    margin-left: -20px;
  }
}

@media screen and (max-width: 736px) {
  .scrollMovieArea__bg {
    margin-left: calc(-32 / 390 * 100vw);
  }
}

.scrollMovieArea__inner {
  padding-bottom: 200vh;
  position: relative;
  z-index: 2;
}

.scrollMovieArea__canvas {
  bottom: 0;
  left: 0;
  position: fixed;
  width: 100%;
}

.scrollMovieArea__scene {
  padding-top: 100vh;
}

.scrollMovieArea__note {
  bottom: 0;
  position: absolute;
  right: 0;
  white-space: nowrap;
}

.scrollMovieArea__note .caption {
  bottom: 0;
  opacity: 0;
  position: absolute;
  right: 0;
  -webkit-transition: opacity .4s ease;
  transition: opacity .4s ease;
}

.scrollMovieArea__note .caption.is-active {
  opacity: 1;
}

.topIntroArea {
  position: relative;
}

.topIntroArea__head {
  width: calc(100vw - var(--scrollbar));
  height: 100dvh;
  left: 0;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}

@media print, screen and (min-width: 736px) {
  .topIntroArea__head {
    margin-left: calc(((100vw - var(--scrollbar)) - 1200px) / -2);
  }
}

@media only screen and (min-width: 736px) and (max-width: 1200px) {
  .topIntroArea__head {
    width: calc(100% + 40px);
    margin-left: -20px;
  }
}

@media screen and (max-width: 736px) {
  .topIntroArea__head {
    margin-left: calc(-32 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .topIntroArea__cont {
    padding: 200vh 0 0;
  }
}

@media screen and (max-width: 736px) {
  .topIntroArea__cont {
    padding: 200vh 0 0;
  }
}

.topIntroArea__body {
  position: relative;
  z-index: 1;
}

@media print, screen and (min-width: 736px) {
  .topIntroArea__body {
    padding: 80px 0;
  }
}

@media screen and (max-width: 736px) {
  .topIntroArea__body {
    padding: calc(60 / 390 * 100vw) 0;
  }
}

.topIntroArea__body:after {
  width: calc(100vw - var(--scrollbar));
  background: repeat-y center top / 100% auto;
  content: '';
  inset: 0;
  position: absolute;
  z-index: -1;
}

@media print, screen and (min-width: 736px) {
  .topIntroArea__body:after {
    margin-left: calc(((100vw - var(--scrollbar)) - 1200px) / -2);
  }
}

@media only screen and (min-width: 736px) and (max-width: 1200px) {
  .topIntroArea__body:after {
    width: calc(100% + 40px);
    margin-left: -20px;
  }
}

@media screen and (max-width: 736px) {
  .topIntroArea__body:after {
    margin-left: calc(-32 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .topIntroArea__body:after {
    background-image: url("../assets/imgs/pc/bg-texture-02@1.5x.jpg");
  }
}

@media screen and (max-width: 736px) {
  .topIntroArea__body:after {
    background-image: url("../assets/imgs/sp/bg-texture-02.jpg");
  }
}

.topIntroArea__bodyInner {
  background-color: rgba(255, 255, 255, 0.85);
  position: relative;
  z-index: 1;
}

@media print, screen and (min-width: 736px) {
  .topIntroArea__bodyInner {
    padding: 80px 55px;
  }
}

@media screen and (max-width: 736px) {
  .topIntroArea__bodyInner {
    padding: calc(60 / 390 * 100vw) calc(20 / 390 * 100vw) calc(32 / 390 * 100vw);
  }
}
