@charset "UTF-8";
.movieSelect .text p::before, .main section.plan section.variation .prepend .text p::before, .main section.plan section.variation .prepend .text .catch::before, .main section.plan section.view .headline p::before, .main section.plan section.view .headline .catch::before, .main section.design .designer .profile p::before, .main section.design .designer .data .group::before, .main section.concept .body .text::before, .main section.concept .body .catch--01::before, .main section.concept .text p::before,
.main section.position .text p::before,
.main section.location .text p::before,
.main section.value .text p::before,
.main section.essentials .text p::before,
.main section.design .text p::before,
.main section.plan .text p::before,
.main section.brand .text p::before, .main section.concept .text .catch::before,
.main section.position .text .catch::before,
.main section.location .text .catch::before,
.main section.value .text .catch::before,
.main section.essentials .text .catch::before,
.main section.design .text .catch::before,
.main section.plan .text .catch::before,
.main section.brand .text .catch::before, .main section.info .merit .list .text::before, .movieSelect .text p::after, .main section.plan section.variation .prepend .text p::after, .main section.plan section.variation .prepend .text .catch::after, .main section.plan section.view .headline p::after, .main section.plan section.view .headline .catch::after, .main section.design .designer .profile p::after, .main section.design .designer .data .group::after, .main section.concept .body .text::after, .main section.concept .body .catch--01::after, .main section.concept .text p::after,
.main section.position .text p::after,
.main section.location .text p::after,
.main section.value .text p::after,
.main section.essentials .text p::after,
.main section.design .text p::after,
.main section.plan .text p::after,
.main section.brand .text p::after, .main section.concept .text .catch::after,
.main section.position .text .catch::after,
.main section.location .text .catch::after,
.main section.value .text .catch::after,
.main section.essentials .text .catch::after,
.main section.design .text .catch::after,
.main section.plan .text .catch::after,
.main section.brand .text .catch::after, .main section.info .merit .list .text::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}
.movieSelect .text p::before, .main section.plan section.variation .prepend .text p::before, .main section.plan section.variation .prepend .text .catch::before, .main section.plan section.view .headline p::before, .main section.plan section.view .headline .catch::before, .main section.design .designer .profile p::before, .main section.design .designer .data .group::before, .main section.concept .body .text::before, .main section.concept .body .catch--01::before, .main section.concept .text p::before,
.main section.position .text p::before,
.main section.location .text p::before,
.main section.value .text p::before,
.main section.essentials .text p::before,
.main section.design .text p::before,
.main section.plan .text p::before,
.main section.brand .text p::before, .main section.concept .text .catch::before,
.main section.position .text .catch::before,
.main section.location .text .catch::before,
.main section.value .text .catch::before,
.main section.essentials .text .catch::before,
.main section.design .text .catch::before,
.main section.plan .text .catch::before,
.main section.brand .text .catch::before, .main section.info .merit .list .text::before {
  margin-bottom: calc((1em - 1lh) / 2);
}
.movieSelect .text p::after, .main section.plan section.variation .prepend .text p::after, .main section.plan section.variation .prepend .text .catch::after, .main section.plan section.view .headline p::after, .main section.plan section.view .headline .catch::after, .main section.design .designer .profile p::after, .main section.design .designer .data .group::after, .main section.concept .body .text::after, .main section.concept .body .catch--01::after, .main section.concept .text p::after,
.main section.position .text p::after,
.main section.location .text p::after,
.main section.value .text p::after,
.main section.essentials .text p::after,
.main section.design .text p::after,
.main section.plan .text p::after,
.main section.brand .text p::after, .main section.concept .text .catch::after,
.main section.position .text .catch::after,
.main section.location .text .catch::after,
.main section.value .text .catch::after,
.main section.essentials .text .catch::after,
.main section.design .text .catch::after,
.main section.plan .text .catch::after,
.main section.brand .text .catch::after, .main section.info .merit .list .text::after {
  margin-top: calc((1em - 1lh) / 2);
}

.main section.plan .limited .text .num, .main section.plan section.variation .slider .swiper-slide a .data, .main section.plan section.view .nav .tabNav, .main section.concept .headline .catch,
.main section.position .headline .catch,
.main section.location .headline .catch,
.main section.value .headline .catch,
.main section.essentials .headline .catch,
.main section.design .headline .catch,
.main section.plan .headline .catch,
.main section.brand .headline .catch, .main section.infoNotice .schedule .times .item .time, .main section.infoNotice .schedule .date, .main .obi--02 .item .num, .main .obi--01 .num {
  font-family: "Cormorant Infant", serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.main section.plan .limited .legend, .main section.plan section.variation .slider .swiper-slide a .name, .main section.plan section.variation .prepend .sttl, .main section.plan section.view .headline .ttl, .main section.design .designer .data .name .en, .main section.design .designer .sttl, .main section.location .image--01 figcaption, .main section.value .image--01 figcaption, .main section.concept .headline .ttl,
.main section.position .headline .ttl,
.main section.location .headline .ttl,
.main section.value .headline .ttl,
.main section.essentials .headline .ttl,
.main section.design .headline .ttl,
.main section.plan .headline .ttl,
.main section.brand .headline .ttl, .main section.info .merit .list .num, .main section.info .merit .sttl, .main section.info .body .cv a .en, .main section.info .body .ttl {
  font-family: "Fraunces", serif;
  font-optical-sizing: auto;
  font-variation-settings: "SOFT" 0, "WONK" 0;
}

html {
  scroll-behavior: auto;
}

.gHeader {
  position: fixed;
}

.main .hero {
  display: grid;
  position: relative;
}
.main .hero .image {
  grid-area: 1/1;
}
.main .hero .movie {
  grid-area: 1/1;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: relative;
  opacity: 0;
  transition: opacity 0.4s;
}
.main .hero .text {
  grid-area: 1/1;
  align-self: center;
  justify-self: center;
  position: relative;
  color: #fff;
  font-size: 0.6rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  text-shadow: 0 0 0.1rem black;
}
@media screen and (max-width: 750px) {
  .main .hero .text {
    font-size: 0.52rem;
    line-height: 0.75rem;
  }
}
.main .hero .bt-replay {
  width: 1.6rem;
  border: none;
  padding: 0;
  position: absolute;
  right: 0.1rem;
  bottom: 0.6rem;
  background: transparent;
  border-radius: 0;
}
@media screen and (max-width: 750px) {
  .main .hero .bt-replay {
    width: 2.1rem;
    right: 0.2rem;
    bottom: 0.4rem;
  }
}
.main .hero .movie {
  grid-area: 1/1;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: relative;
  opacity: 0;
  transition: opacity 0.4s;
  pointer-events: none;
}
.main .hero .movie.play {
  opacity: 1;
}
.main .hero .bt-skip {
  display: none;
  width: 1.52rem;
  border: none;
  padding: 0;
  position: absolute;
  right: 0.2rem;
  bottom: 0.2rem;
  background: transparent;
  border-radius: 0;
}
@media screen and (max-width: 750px) {
  .main .hero .bt-skip {
    right: 0.24rem;
    bottom: 0.4rem;
  }
}
.main .hero .bt-skip.active {
  display: block;
}
.main .obi--01 {
  padding: 0.15rem 0;
  background: #788ba5;
  color: #fff;
  font-size: 0.34rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-align: center;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .main .obi--01 {
    padding: 0.32rem 0 0.34rem;
    font-size: 0.4rem;
  }
  .main .obi--01 .spLine01 {
    display: block;
  }
  .main .obi--01 .spLine02 {
    display: block;
    margin: 0.3rem 0 0;
    line-height: 0.55rem;
  }
}
.main .obi--01 .num {
  font-size: 0.7rem;
  font-weight: 500;
}
@media screen and (max-width: 750px) {
  .main .obi--01 .num {
    font-size: 0.84rem;
  }
}
.main .obi--01 sup {
  font-size: 0.5em;
}
.main .obi--02 {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #edeff2;
  line-height: 1;
  font-size: 0.26rem;
  font-weight: 600;
  letter-spacing: 0;
}
@media screen and (max-width: 750px) {
  .main .obi--02 {
    display: block;
    padding: 0 0.4rem;
    font-size: 0.34rem;
  }
}
.main .obi--02 .item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.1rem;
  height: 1.2rem;
  padding: 0 0.4rem;
  background: linear-gradient(#c6c9cc, #c6c9cc) 0 50%/0.01rem 0.5rem no-repeat;
}
@media screen and (max-width: 750px) {
  .main .obi--02 .item {
    height: auto;
    padding: 0.32rem 0;
    background: none;
    text-align: center;
  }
}
.main .obi--02 .item strong {
  color: #b08f4b;
  font-weight: inherit;
  display: inline-block;
}
.main .obi--02 .item .line--01 {
  font-size: 0.22rem;
  font-weight: 500;
}
@media screen and (max-width: 750px) {
  .main .obi--02 .item .line--01 {
    font-size: 0.26rem;
  }
}
@media screen and (max-width: 750px) {
  .main .obi--02 .item--01, .main .obi--02 .item--02 {
    text-align: center;
  }
}
.main .obi--02 .item--01 {
  padding-left: 0;
  background-image: none;
}
.main .obi--02 .item--02, .main .obi--02 .item--03, .main .obi--02 .item--04 {
  border-top: 0.01rem solid #c6c9cc;
}
.main .obi--02 .item--02 {
  gap: 0.02rem;
}
@media screen and (max-width: 750px) {
  .main .obi--02 .item--02 {
    gap: 0;
    line-height: 0.5rem;
  }
}
@media screen and (max-width: 750px) {
  .main .obi--02 .item--03, .main .obi--02 .item--04 {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.main .obi--02 .item--03 {
  gap: 0.02rem;
}
@media screen and (max-width: 750px) {
  .main .obi--02 .item--03 {
    gap: 0;
    line-height: 0.5rem;
  }
}
.main .obi--02 .item--04 {
  padding-right: 0;
}
@media screen and (max-width: 750px) {
  .main .obi--02 .item--04 {
    line-height: 0.36rem;
  }
  .main .obi--02 .item--04 .small {
    font-size: 0.22rem;
  }
}
.main .obi--02 .item--04 .line--02 {
  line-height: 1.5;
}
.main .obi--02 .item .num {
  font-size: 0.4rem;
}
@media screen and (max-width: 750px) {
  .main .obi--02 .item .num {
    font-size: 0.52rem;
  }
}
.main .obi--02 .item .small {
  font-size: 0.15rem;
}
@media screen and (max-width: 750px) {
  .main .obi--02 .item .small {
    font-size: 0.2rem;
  }
}
.main section.infoNotice {
  box-sizing: border-box;
  margin: 1.2rem auto 0;
  padding: 0 0.4rem;
}
.main section.infoNotice .wrap {
  max-width: 13¥4rem;
  margin: 0 auto;
}
.main section.infoNotice .eyebrow {
  color: #1e385c;
  font-size: 0.3rem;
  font-weight: 300;
  line-height: 0.8;
  text-align: center;
  margin: 0 0 0.6rem 0;
}
@media screen and (max-width: 750px) {
  .main section.infoNotice .eyebrow {
    font-size: 0.4rem;
    margin: 0 0 0.6rem 0;
  }
}
.main section.infoNotice .panel {
  margin: 0.26rem auto 0;
  padding: 0.6rem 0.6rem 0.8rem;
  border: 0.02rem solid #2f3b59;
  background: #fff;
  position: relative;
}
@media screen and (max-width: 750px) {
  .main section.infoNotice .panel {
    padding: 0.6rem 0.4rem 0.6rem;
  }
}
.main section.infoNotice .legend {
  color: #7a8899;
  font-size: 0.22rem;
  font-weight: 300;
  letter-spacing: 0.05em;
  text-align: center;
}
.main section.infoNotice .title {
  margin: 0.2rem 0 0;
  color: #1e385c;
  text-align: center;
  font-weight: 600;
  line-height: 1.6;
  font-size: 0.38rem;
}
.main section.infoNotice .title .sub {
  display: block;
  font-weight: 600;
  font-size: 0.34rem;
}
.main section.infoNotice .title .sub span {
  font-size: 70%;
}
@media screen and (max-width: 750px) {
  .main section.infoNotice .title {
    font-size: 0.4rem;
  }
  .main section.infoNotice .title .sub {
    font-size: 0.36rem;
  }
}
.main section.infoNotice .badge {
  width: 4rem;
  margin: 0.36rem auto 0;
  padding: 0.16rem 0.1rem;
  border: solid 1px #1e385c;
  color: #1e385c;
  font-size: 0.2rem;
  line-height: 1;
  letter-spacing: 0.05em;
  border-radius: 0;
  text-align: center;
}
.main section.infoNotice .badge .note {
  opacity: 0.9;
}
@media screen and (max-width: 750px) {
  .main section.infoNotice .badge {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    padding: 0.16rem 0.4rem;
    font-size: 0.26rem;
  }
}
.main section.infoNotice .block {
  margin: 0.2rem auto 0;
}
.main section.infoNotice .block .blockTitle {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  margin-top: 0.3rem;
  margin-bottom: 0.16rem;
  color: #222;
  font-family: "Shippori Mincho", "Noto Serif JP", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", serif;
  font-size: 0.22rem;
  letter-spacing: 0.05em;
}
.main section.infoNotice .block .blockTitle.--02 {
  margin-top: 0.4rem;
}
.main section.infoNotice .block .blockTitle::before, .main section.infoNotice .block .blockTitle::after {
  content: "";
  flex: 1;
  height: 0.01rem;
  background: #c8ccd2;
  max-width: 3rem;
}
.main section.infoNotice .block .blockTitle span {
  white-space: nowrap;
  font-size: 0.2rem;
  font-weight: 300;
}
.main section.infoNotice .schedule {
  text-align: center;
  width: 8rem;
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .main section.infoNotice .schedule {
    width: 5.4rem;
  }
}
.main section.infoNotice .schedule .date {
  color: #222;
  font-size: 0.3rem;
  letter-spacing: 0.05em;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .main section.infoNotice .schedule .date {
    font-size: 0.26rem;
  }
}
.main section.infoNotice .schedule .date span {
  font-size: 0.43rem;
}
.main section.infoNotice .schedule .times-caption {
  margin: 0.16rem 0 0;
  font-size: 0.2rem;
  color: #556;
}
@media screen and (max-width: 750px) {
  .main section.infoNotice .schedule .times-caption {
    margin: 0.3rem 0 0;
  }
}
.main section.infoNotice .schedule .times {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.1rem;
  margin: 0.18rem auto 0;
  max-width: 10.6rem;
}
@media screen and (max-width: 750px) {
  .main section.infoNotice .schedule .times {
    gap: 0.24rem;
  }
}
.main section.infoNotice .schedule .times .slot {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.22rem;
}
@media screen and (max-width: 750px) {
  .main section.infoNotice .schedule .times .slot {
    gap: 0rem;
  }
}
.main section.infoNotice .schedule .times .slot .line {
  font-size: 0.32rem;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 750px) {
  .main section.infoNotice .schedule .times .slot .line {
    line-height: 1.3;
  }
}
.main section.infoNotice .schedule .times .slot .line span {
  font-size: 70%;
  letter-spacing: 0;
  padding: 0 0.1rem 0 0;
}
@media screen and (max-width: 750px) {
  .main section.infoNotice .schedule .times .slot .line span {
    font-size: 64%;
  }
}
.main section.infoNotice .schedule .times .slot .line .line2 {
  font-size: 60%;
  padding: 0 0 0.08rem 0.2rem;
}
@media screen and (max-width: 750px) {
  .main section.infoNotice .schedule .times .slot .line .line2 {
    padding: 0 0.2rem;
  }
}
.main section.infoNotice .schedule .times .slotLabel {
  padding: 0.08rem 0.18rem;
  background: #213a63;
  color: #fff;
  font-size: 0.18rem;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .main section.infoNotice .schedule .times .slotLabel {
    width: 0.9rem;
    margin: 0 0.3rem 0 0;
    padding: 0.1rem;
    font-size: 0.22rem;
  }
}
.main section.infoNotice .schedule .times .sep {
  margin: 0 0.1rem;
  color: #a0a6af;
  font-size: 0.22rem;
}
.main section.infoNotice .schedule .times .item {
  display: inline-flex;
  align-items: baseline;
  gap: 0.12rem;
  font-size: 0.4rem;
}
.main section.infoNotice .schedule .times .item em {
  font-style: normal;
  font-size: 0.22rem;
  color: #333;
}
.main section.infoNotice .schedule .times .item .time {
  font-size: 0.6rem;
  line-height: 1;
  letter-spacing: 0.02em;
}
.main section.infoNotice .place {
  margin: 0.1rem 0 0;
  text-align: center;
}
.main section.infoNotice .place .placeName {
  font-size: 0.28rem;
  line-height: 1.4;
}
@media screen and (max-width: 750px) {
  .main section.infoNotice .place .placeName {
    font-size: 0.32rem;
  }
}
.main section.infoNotice .place .placeName .small {
  font-size: 0.24rem;
}
@media screen and (max-width: 750px) {
  .main section.infoNotice .place .placeName .small {
    font-size: 0.26rem;
  }
}
.main section.infoNotice .note2 {
  margin: 0.24rem auto 0;
  max-width: 9.6rem;
  font-size: 0.16rem;
  line-height: 1.6;
  color: #444;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .main section.infoNotice .note2 {
    font-size: 0.2rem;
  }
}
.main section.infoNotice .btns {
  display: flex;
  justify-content: center;
  gap: 0.24rem;
  margin: 0.4rem auto 0;
}
@media screen and (max-width: 750px) {
  .main section.infoNotice .btns {
    flex-direction: column;
    gap: 0.24rem;
  }
}
.main section.infoNotice .btns .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 3.8rem;
  height: 0.7rem;
  padding: 0 0.32rem;
  border-radius: 0.03rem;
  font-size: 0.22rem;
  text-align: center;
  line-height: 1;
  transition: background-position 0.4s, opacity 0.2s;
}
.main section.infoNotice .btns .btn.primary {
  background: #b39b69;
  color: #fff;
}
.main section.infoNotice .btns .btn.secondary {
  background: #b7ada0 linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0)) 100% 0/300% 100% no-repeat;
  color: #fff;
}
@media screen and (hover: hover) and (pointer: fine) {
  .main section.infoNotice .btns .btn:hover {
    opacity: 0.9;
  }
}
@media screen and (max-width: 750px) {
  .main section.infoNotice .btns .btn {
    height: 1rem;
    font-size: 0.28rem;
    min-width: 100%;
  }
}
.main section.info {
  margin: 2rem 0 0;
}
@media screen and (max-width: 750px) {
  .main section.info {
    margin: 1.2rem 0 0;
  }
}
.main section.info .wrap {
  display: flex;
}
@media screen and (max-width: 750px) {
  .main section.info .wrap {
    display: block;
  }
}
.main section.info .body {
  box-sizing: border-box;
  width: 5rem;
  padding: 0.3rem 0.6rem 0 0;
}
@media screen and (max-width: 750px) {
  .main section.info .body {
    width: auto;
    padding: 0;
  }
}
.main section.info .body .ttl {
  color: #1e385c;
  font-size: 0.3rem;
  font-weight: 300;
  line-height: 0.8;
}
@media screen and (max-width: 750px) {
  .main section.info .body .ttl {
    font-size: 0.36rem;
    text-align: center;
  }
}
.main section.info .body .text {
  margin: 0.8rem 0 0;
  font-size: 0.36rem;
  font-weight: 500;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .main section.info .body .text {
    margin: 0.7rem 0 0;
    font-size: 0.44rem;
    text-align: center;
  }
}
.main section.info .body .cv {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  margin: 0.6rem 0 0;
}
@media screen and (max-width: 750px) {
  .main section.info .body .cv {
    margin: 0.7rem 0 0;
  }
}
.main section.info .body .cv li:last-child {
  transition-delay: 0.4s;
}
.main section.info .body .cv a {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  height: 0.8rem;
  border-radius: 0.03rem;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0)) 100% 0/300% 100% no-repeat;
  color: #fff;
  font-size: 0.18rem;
  line-height: 0.3rem;
  transition: background-position 0.4s;
}
@media screen and (max-width: 750px) {
  .main section.info .body .cv a {
    justify-content: flex-start;
    height: 1.2rem;
    border-radius: 0.05rem;
    font-size: 0.28rem;
  }
}
.main section.info .body .cv a .en {
  width: 1.4rem;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .main section.info .body .cv a .en {
    width: 2rem;
  }
}
.main section.info .body .cv a .ja {
  border-left: 0.01rem solid rgba(255, 255, 255, 0.15);
  padding: 0 0 0 0.3rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .main section.info .body .cv a .ja {
    padding: 0 0 0 0.4rem;
    line-height: 0.5rem;
  }
}
@media screen and (hover: hover) and (pointer: fine) {
  .main section.info .body .cv a:hover {
    background-position: 0 0;
  }
}
.main section.info .body .cv a.entry {
  background-color: #1e385c;
}
.main section.info .body .cv a.limited {
  background-color: #657283;
}
.main section.info .merit {
  display: grid;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 8.5rem;
  gap: 0.2rem 0.1rem;
  box-sizing: border-box;
  width: calc(100% - 5rem);
  border-left: 0.01rem solid #ebeef2;
}
@media screen and (max-width: 750px) {
  .main section.info .merit {
    display: block;
    width: auto;
    margin: 0.7rem 0 0;
    border-top: 0.01rem solid #ebeef2;
    border-left: none;
    padding: 0.7rem 0.2rem 0;
  }
}
.main section.info .merit .sttl {
  grid-row: 2/3;
  grid-column: 1/2;
  justify-self: flex-end;
  writing-mode: vertical-rl;
  font-size: 0.24rem;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 0.8;
}
@media screen and (max-width: 750px) {
  .main section.info .merit .sttl {
    justify-self: stretch;
    writing-mode: horizontal-tb;
    font-size: 0.32rem;
  }
}
.main section.info .merit .text {
  grid-row: 1/2;
  grid-column: 2/3;
  font-size: 0.22rem;
  font-weight: 500;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .main section.info .merit .text {
    margin: 0.3rem 0 0;
    font-size: 0.26rem;
  }
}
.main section.info .merit .list {
  grid-row: 2/3;
  grid-column: 2/3;
}
@media screen and (max-width: 750px) {
  .main section.info .merit .list {
    width: auto;
    margin: 0.4rem 0 0;
  }
}
.main section.info .merit .list .inner {
  display: flex;
  gap: 0.5rem;
}
@media screen and (max-width: 750px) {
  .main section.info .merit .list .inner {
    flex-direction: column;
    gap: 0.4rem;
  }
}
.main section.info .merit .list li {
  width: 2.5rem;
}
@media screen and (max-width: 750px) {
  .main section.info .merit .list li {
    width: auto;
    display: grid;
    grid-template-rows: auto auto;
    grid-template-columns: 2.3rem 1fr;
    gap: 0.2rem 0.26rem;
    translate: 0 0 0;
    opacity: 1;
  }
}
.main section.info .merit .list li:nth-child(2) {
  transition-delay: 0.4s;
}
.main section.info .merit .list li:last-child {
  transition-delay: 0.8s;
}
@media screen and (max-width: 750px) {
  .main section.info .merit .list .image {
    grid-row: 1/3;
    grid-column: 1/2;
    align-self: flex-start;
  }
}
.main section.info .merit .list .num {
  display: none;
}
@media screen and (max-width: 750px) {
  .main section.info .merit .list .num {
    grid-row: 1/2;
    grid-column: 2/3;
    align-self: flex-end;
    display: block;
    font-size: 0.46rem;
    font-style: italic;
    line-height: 1;
  }
}
.main section.info .merit .list .text {
  padding: 0.2rem 0 0;
  font-size: 0.24rem;
  line-height: 0.38rem;
}
@media screen and (max-width: 750px) {
  .main section.info .merit .list .text {
    grid-row: 2/3;
    grid-column: 2/3;
    align-self: flex-start;
    margin: 0;
    padding: 0;
    font-size: 0.34rem;
    line-height: 0.5rem;
  }
}
.main section.info .merit .list .text sup {
  font-size: 0.5em;
}
.main section.info .merit .list .item--03 .text {
  line-height: 1.25;
}
.main section.info .merit .list .item--03 .text .small {
  display: block;
  font-size: 0.15rem;
  line-height: 1.5625;
}
@media screen and (max-width: 750px) {
  .main section.info .merit .list .item--03 .text .small {
    font-size: 0.22rem;
  }
}
.main section.info .movie {
  margin-top: 1.5rem;
}
@media screen and (max-width: 750px) {
  .main section.info .movie {
    margin-top: 0.7rem;
  }
}
.main section.info .movie .image--01 {
  position: relative;
  margin: 0.7rem auto 0;
  width: 12rem;
  height: 7rem;
}
@media screen and (max-width: 750px) {
  .main section.info .movie .image--01 {
    margin: 0 0.6rem 0 0.6rem;
    width: auto;
    height: 4rem;
  }
}
.main section.info .movie .image--01 iframe {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.main section.info .movie .image--01 figcaption {
  color: #7a8899;
  font-size: 0.24rem;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 0.8;
  position: absolute;
  top: 0;
  right: -0.4rem;
  writing-mode: vertical-rl;
  white-space: nowrap;
}
@media screen and (max-width: 750px) {
  .main section.info .movie .image--01 figcaption {
    font-size: 0.22rem;
  }
}
.main section.concept .headline,
.main section.position .headline,
.main section.location .headline,
.main section.value .headline,
.main section.essentials .headline,
.main section.design .headline,
.main section.plan .headline,
.main section.brand .headline {
  letter-spacing: 0.05em;
  line-height: 0.8;
}
.main section.concept .headline .catch,
.main section.position .headline .catch,
.main section.location .headline .catch,
.main section.value .headline .catch,
.main section.essentials .headline .catch,
.main section.design .headline .catch,
.main section.plan .headline .catch,
.main section.brand .headline .catch {
  font-size: 0.3rem;
}
@media screen and (max-width: 750px) {
  .main section.concept .headline .catch,
  .main section.position .headline .catch,
  .main section.location .headline .catch,
  .main section.value .headline .catch,
  .main section.essentials .headline .catch,
  .main section.design .headline .catch,
  .main section.plan .headline .catch,
  .main section.brand .headline .catch {
    font-size: 0.26rem;
  }
}
.main section.concept .headline .ttl,
.main section.position .headline .ttl,
.main section.location .headline .ttl,
.main section.value .headline .ttl,
.main section.essentials .headline .ttl,
.main section.design .headline .ttl,
.main section.plan .headline .ttl,
.main section.brand .headline .ttl {
  font-size: 1.5rem;
  font-weight: 400;
}
@media screen and (max-width: 750px) {
  .main section.concept .headline .ttl,
  .main section.position .headline .ttl,
  .main section.location .headline .ttl,
  .main section.value .headline .ttl,
  .main section.essentials .headline .ttl,
  .main section.design .headline .ttl,
  .main section.plan .headline .ttl,
  .main section.brand .headline .ttl {
    font-size: 1.16rem;
  }
}
.main section.concept .headline .ttl .small,
.main section.position .headline .ttl .small,
.main section.location .headline .ttl .small,
.main section.value .headline .ttl .small,
.main section.essentials .headline .ttl .small,
.main section.design .headline .ttl .small,
.main section.plan .headline .ttl .small,
.main section.brand .headline .ttl .small {
  font-family: "Shippori Mincho", "Noto Serif JP", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", serif;
  font-size: 1rem;
}
@media screen and (max-width: 750px) {
  .main section.concept .headline .ttl .small,
  .main section.position .headline .ttl .small,
  .main section.location .headline .ttl .small,
  .main section.value .headline .ttl .small,
  .main section.essentials .headline .ttl .small,
  .main section.design .headline .ttl .small,
  .main section.plan .headline .ttl .small,
  .main section.brand .headline .ttl .small {
    font-size: 0.76rem;
  }
}
.main section.concept .text .catch,
.main section.position .text .catch,
.main section.location .text .catch,
.main section.value .text .catch,
.main section.essentials .text .catch,
.main section.design .text .catch,
.main section.plan .text .catch,
.main section.brand .text .catch {
  font-size: 0.52rem;
  line-height: 0.75rem;
}
.main section.concept .text .catch sup,
.main section.position .text .catch sup,
.main section.location .text .catch sup,
.main section.value .text .catch sup,
.main section.essentials .text .catch sup,
.main section.design .text .catch sup,
.main section.plan .text .catch sup,
.main section.brand .text .catch sup {
  font-size: 0.5em;
}
.main section.concept .text p,
.main section.position .text p,
.main section.location .text p,
.main section.value .text p,
.main section.essentials .text p,
.main section.design .text p,
.main section.plan .text p,
.main section.brand .text p {
  font-size: 0.2rem;
  line-height: 2;
}
@media screen and (max-width: 750px) {
  .main section.concept .text p,
  .main section.position .text p,
  .main section.location .text p,
  .main section.value .text p,
  .main section.essentials .text p,
  .main section.design .text p,
  .main section.plan .text p,
  .main section.brand .text p {
    font-size: 0.28rem;
    line-height: 0.55rem;
  }
}
.main section.position,
.main section.location,
.main section.value,
.main section.essentials,
.main section.design,
.main section.plan,
.main section.brand {
  container-type: inline-size;
  position: relative;
  background: #fff;
}
.main section.position .pin,
.main section.location .pin,
.main section.value .pin,
.main section.essentials .pin,
.main section.design .pin,
.main section.plan .pin,
.main section.brand .pin {
  width: 100%;
}
.main section.concept .headline,
.main section.position .headline,
.main section.value .headline,
.main section.design .headline,
.main section.plan .headline,
.main section.brand .headline {
  writing-mode: vertical-rl;
}
.main section.concept .headline .ttl,
.main section.position .headline .ttl,
.main section.value .headline .ttl,
.main section.design .headline .ttl,
.main section.plan .headline .ttl,
.main section.brand .headline .ttl {
  margin: 0 0.24rem 0 0;
}
.main section.essentials .headline .ttl,
.main section.brand .headline .ttl {
  margin: 0.2rem 0 0;
}
.main section.concept {
  display: grid;
  margin: 2.8rem 0 0;
  color: #fff;
}
@media screen and (max-width: 750px) {
  .main section.concept {
    margin: 2rem 0 0;
  }
}
.main section.concept .bg {
  grid-area: 1/1;
  background: url(../imgs/bg01.jpg) 50% 100%/cover no-repeat;
}
.main section.concept .wrap {
  grid-area: 1/1;
  display: grid;
  width: 100%;
}
@media screen and (max-width: 750px) {
  .main section.concept .wrap {
    display: block;
    padding: 0;
  }
}
.main section.concept .headline {
  grid-area: 1/1;
  justify-self: flex-start;
  padding: 2rem 0 0;
  margin: 0 0 0 -0.24rem;
  color: #fff;
}
@media screen and (max-width: 750px) {
  .main section.concept .headline {
    justify-self: stretch;
    padding: 1.4rem 0 0;
    margin: 0;
    writing-mode: horizontal-tb;
    text-align: center;
  }
}
@media screen and (max-width: 750px) {
  .main section.concept .headline .ttl {
    margin: 0.2rem 0 0;
  }
}
.main section.concept .body {
  grid-area: 1/1;
  padding: 2rem 0 3.2rem;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .main section.concept .body {
    padding: 1rem 0 2rem;
  }
}
.main section.concept .body .catch--01 {
  font-size: 0.52rem;
  font-weight: 500;
  line-height: 0.75rem;
}
.main section.concept .body .catch--02 {
  padding: 0.7rem 0 0;
  font-size: 0.34rem;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .main section.concept .body .catch--02 {
    padding: 0.8rem 0 0;
    font-size: 0.38rem;
  }
}
.main section.concept .body .text {
  padding: 0.8rem 0 0;
  font-size: 0.2rem;
  line-height: 2;
}
@media screen and (max-width: 750px) {
  .main section.concept .body .text {
    font-size: 0.26rem;
  }
}
.main section.concept .headline .catch,
.main section.concept .headline .ttl {
  clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  transition: clip-path 1.2s;
}
@media screen and (max-width: 750px) {
  .main section.concept .headline .catch,
  .main section.concept .headline .ttl {
    clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  }
}
.main section.concept .headline .ttl {
  transition-delay: 0.4s;
}
.main section.concept .body .catch--01 {
  opacity: 0;
  transition: opacity 1.2s 1.2s;
}
.main section.concept .body .catch--02 {
  opacity: 0;
  translate: 0 1rem 0;
  transition: 1.2s 2s;
  transition-property: opacity, translate;
}
.main section.concept .body .text {
  opacity: 0;
  translate: 0 1rem 0;
  transition: 1.2s 1.6s;
  transition-property: opacity, translate;
}
.main section.concept .body .text sup {
  font-size: 0.5em;
}
.main section.concept.scrollIn .headline .catch,
.main section.concept.scrollIn .headline .ttl {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
@media screen and (max-width: 750px) {
  .main section.concept.scrollIn .headline .catch,
  .main section.concept.scrollIn .headline .ttl {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
}
.main section.concept.scrollIn .body .catch--01 {
  opacity: 1;
}
.main section.concept.scrollIn .body .catch--02 {
  opacity: 1;
  translate: 0 0 0;
}
.main section.concept.scrollIn .body .text {
  opacity: 1;
  translate: 0 0 0;
}
.main .progress {
  display: flex;
  align-items: center;
  gap: 0.05rem;
  box-sizing: content-box;
  width: 1.55rem;
  height: 0.4rem;
  margin: 2.6rem 0 0 auto;
  padding: 0 0 0 0.2rem;
  position: sticky;
  z-index: 8000;
  top: 1.2rem;
  left: calc(100% - 1.55rem);
  background: #fff;
  box-shadow: 0.06rem 0.08rem 0.2rem 0 rgba(0, 0, 0, 0.05);
}
@media screen and (max-width: 750px) {
  .main .progress {
    width: 1.85rem;
    height: 0.5rem;
    margin: 1rem 0 0 auto;
    padding: 0 0 0 0.3rem;
    top: 1.2rem;
    left: calc(100% - 1.85rem);
  }
}
.main .progress .place {
  width: 0.08rem;
  background: #d5dce6;
  transition: width 0.2s;
}
@media screen and (max-width: 750px) {
  .main .progress .place {
    width: 0.1rem;
  }
}
.main .progress .place .bar {
  height: 0.02rem;
  background: #1e385c;
  transform-origin: left;
  scale: 0 1;
  visibility: hidden;
}
.main .progress .place.active {
  width: 0.4rem;
}
@media screen and (max-width: 750px) {
  .main .progress .place.active {
    width: 0.5rem;
  }
}
.main .progress .place.active .bar {
  visibility: visible;
}
.main section.position .wrap {
  display: grid;
  width: 100%;
  padding-top: 3.4rem;
}
@media screen and (max-width: 750px) {
  .main section.position .wrap {
    display: block;
    box-sizing: border-box;
    padding-top: 0.5rem;
    padding-bottom: 2rem;
  }
}
.main section.position .headline {
  grid-area: 1/1;
  justify-self: flex-start;
  margin: 0 0 0 -0.24rem;
  color: #1e385c;
}
@media screen and (max-width: 750px) {
  .main section.position .headline {
    margin: 0 0.4rem;
    writing-mode: horizontal-tb;
  }
  .main section.position .headline .ttl {
    margin: 0.2rem 0 0;
  }
}
.main section.position .headline .catch,
.main section.position .headline .ttl {
  clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  transition: clip-path 1.2s;
}
@media screen and (max-width: 750px) {
  .main section.position .headline .catch,
  .main section.position .headline .ttl {
    clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  }
}
.main section.position .headline .ttl {
  transition-delay: 0.4s;
}
.main section.position .headline.scrollIn .catch,
.main section.position .headline.scrollIn .ttl {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
@media screen and (max-width: 750px) {
  .main section.position .headline.scrollIn .catch,
  .main section.position .headline.scrollIn .ttl {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
}
.main section.position .body {
  grid-area: 1/1;
}
@media screen and (max-width: 750px) {
  .main section.position .body {
    margin: 0.7rem 0 0;
    position: relative;
  }
}
.main section.position .image--01 {
  margin-left: 3rem;
  margin-right: max(-2.4rem, 7.2rem - 50cqw);
}
@media screen and (max-width: 750px) {
  .main section.position .image--01 {
    margin: 0 -0.4rem;
  }
}
.main section.position .image--01 img {
  width: 100%;
  height: 10.8rem;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 750px) {
  .main section.position .image--01 img {
    height: auto;
  }
}
.main section.position .image--01 .marker {
  width: 3.95rem;
  position: absolute;
  top: 1.5rem;
  left: 5.38rem;
  transform-origin: 50% 100%;
  animation: marker 2s infinite alternate;
}
@keyframes marker {
  0% {
    opacity: 0.95;
    scale: 0.95;
  }
  100% {
    opacity: 1;
    scale: 1;
  }
}
@media screen and (max-width: 750px) {
  .main section.position .image--01 .marker {
    width: 2.22rem;
    top: 1.01rem;
    left: 2.78rem;
  }
}
.main section.position .image--01 .marker img {
  height: auto;
}
.main section.position .image--01 figcaption {
  padding-right: 0.1rem;
  z-index: 1;
}
.main section.position .text p {
  padding: 0.8rem 0 0;
  white-space: nowrap;
}
@media screen and (max-width: 750px) {
  .main section.position .text p {
    padding: 0.7rem 0 0;
  }
}
.main section.position .text .btn--navy {
  margin: 0.8rem 0 0;
}
.main section.position .text--01 {
  width: 5.84rem;
  margin: -2.9rem 0 0 -0.24rem;
  padding: 0.8rem 0 0;
  position: relative;
  background: #fff;
}
@media screen and (max-width: 750px) {
  .main section.position .text--01 {
    width: -moz-fit-content;
    width: fit-content;
    margin: -0.9rem 0 0 -0.4rem;
    padding: 0.8rem 0 0 0.8rem;
    clip-path: polygon(0 0, 6rem 0, 6rem 0.9rem, 100% 0.9rem, 100% 100%, 0 100%);
  }
}
.main section.position .text--01 .catch sup {
  top: -0.8em;
}
@media screen and (max-width: 750px) {
  .main section.position .text--01 .catch sup {
    top: -1em;
  }
}
.main section.position .image--02 {
  width: 2.58rem;
  margin: -1.24rem 0.2rem 0 auto;
}
@media screen and (max-width: 750px) {
  .main section.position .image--02 {
    position: absolute;
    top: 12.5rem;
    right: -0.6rem;
  }
}
.main section.position .image--03 {
  display: flex;
  justify-content: space-between;
  width: 7.7rem;
  margin: 1.7rem 0 0 -0.36rem;
}
@media screen and (max-width: 750px) {
  .main section.position .image--03 {
    width: auto;
    margin: 1.2rem 0 0;
  }
  .main section.position .image--03 > figcaption {
    left: 0;
    text-align: left;
  }
}
.main section.position .image--03 .image {
  width: 3.8rem;
  position: relative;
}
@media screen and (max-width: 750px) {
  .main section.position .image--03 .image {
    width: 3.3rem;
  }
}
.main section.position .image--03 .image figcaption {
  width: 0.9rem;
  position: absolute;
  bottom: 0;
  left: 0;
  background: rgba(115, 39, 39, 0.7);
  color: #fff;
  font-family: "Shippori Mincho", "Noto Serif JP", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", serif;
  font-size: 0.16rem;
  line-height: 0.3rem;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .main section.position .image--03 .image figcaption {
    width: 1rem;
    font-size: 0.18rem;
    line-height: 0.32rem;
  }
}
.main section.position .image--03 .image figcaption::before, .main section.position .image--03 .image figcaption::after {
  content: none;
}
.main section.position .text--02 {
  width: 5.48rem;
  margin: -4.94rem 0 0 auto;
}
@media screen and (max-width: 750px) {
  .main section.position .text--02 {
    width: auto;
    margin: 1.2rem 0 0;
    padding: 0 0 0 1.2rem;
  }
}
.main section.value {
  position: relative;
  z-index: 2;
  background: #fff;
}
.main section.value .wrap {
  display: grid;
  box-sizing: border-box;
  width: 100%;
  padding-top: 2.5rem;
  padding-bottom: 2rem;
}
@media screen and (max-width: 750px) {
  .main section.value .wrap {
    box-sizing: border-box;
    padding-top: 0rem;
    padding-bottom: 2.3rem;
  }
}
.main section.value .headline {
  grid-area: 1/1;
  justify-self: flex-end;
  margin: 0 -0.9rem 0 0;
  color: #1e385c;
}
@media screen and (max-width: 750px) {
  .main section.value .headline {
    margin: 0;
  }
}
.main section.value .headline .catch,
.main section.value .headline .ttl {
  clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  transition: clip-path 1.2s;
}
.main section.value .headline .ttl {
  transition-delay: 0.4s;
}
.main section.value .headline.scrollIn .catch,
.main section.value .headline.scrollIn .ttl {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
.main section.value .body {
  grid-area: 1/1;
  padding-top: 0.68rem;
}
@media screen and (max-width: 750px) {
  .main section.value .body {
    padding-top: 0.5rem;
  }
}
.main section.value .image--01 {
  width: 12rem;
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .main section.value .image--01 {
    width: 5.5rem;
    margin: 0 0 0 -0.4rem;
  }
}
.main section.value .image--01 figcaption {
  margin: 0 0 0.26rem;
  color: #7a8899;
  font-size: 0.24rem;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 0.8;
}
@media screen and (max-width: 750px) {
  .main section.value .image--01 figcaption {
    margin: 0 0 0.2rem;
    padding: 0 0 0 0.4rem;
  }
}
.main section.value .image--01 video {
  display: block;
}
.main section.value .text {
  display: grid;
  grid-template-columns: auto 5.8rem;
  align-items: flex-start;
  justify-content: center;
  gap: 1rem;
  gap: 0.36rem 1.5rem;
  padding: 0.8rem 0 0;
}
@media screen and (max-width: 750px) {
  .main section.value .text {
    display: block;
    margin: 1rem 0 0;
    padding: 0 0.4rem;
  }
}
.main section.value .text .catch {
  box-sizing: border-box;
  padding: 0 0 0 1.2rem;
  grid-row: 1/2;
  grid-column: 1/2;
}
@media screen and (max-width: 750px) {
  .main section.value .text .catch {
    padding: 0;
  }
}
.main section.value .text p {
  grid-row: 1/3;
  grid-column: 2/3;
}
@media screen and (max-width: 750px) {
  .main section.value .text p {
    padding: 0.7rem 0 0;
  }
}
@media screen and (min-width: 751px) {
  .main section.value .text .btn--navy {
    grid-row: 2/3;
    grid-column: 1/2;
    margin-left: 1.2rem;
  }
}
@media screen and (max-width: 750px) {
  .main section.value .text .btn--navy {
    margin-top: 0.7rem;
  }
}
.main section.value .image--02 {
  margin: 1.7rem max(-2.4rem, 7.2rem - 50cqw) 0;
}
@media screen and (max-width: 750px) {
  .main section.value .image--02 {
    margin: 1.2rem -0.4rem 0;
  }
}
.main section.value .image--02 img {
  width: 100%;
  height: 7.6rem;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 750px) {
  .main section.value .image--02 img {
    height: auto;
  }
}
.main section.value .image--02 figcaption {
  padding-right: 0.1rem;
}
@media screen and (max-width: 750px) {
  .main section.value .image--02 figcaption {
    position: static;
  }
}
.main section.location {
  z-index: 3;
}
.main section.location .wrap {
  padding-bottom: 2rem;
}
@media screen and (max-width: 750px) {
  .main section.location .wrap {
    padding-bottom: 2.3rem;
  }
}
@media screen and (min-width: 751px) {
  .main section.location .headline {
    position: absolute;
    top: 0.6rem;
    right: 0;
    order: 1;
  }
}
.main section.location .body {
  display: flex;
  flex-direction: column;
  position: relative;
}
@media screen and (min-width: 751px) {
  .main section.location .text {
    order: 2;
  }
}
.main section.location .text p {
  padding: 0.8rem 0 0;
  white-space: nowrap;
}
@media screen and (max-width: 750px) {
  .main section.location .text p {
    padding: 0.7rem 0 0;
  }
}
@media screen and (min-width: 751px) {
  .main section.location .btn--navy {
    position: absolute;
    top: 2.8rem;
    right: 0;
  }
}
@media screen and (max-width: 750px) {
  .main section.location .btn--navy {
    margin-top: 0.7rem;
  }
}
.main section.location .image--01 {
  width: 100cqw;
  margin: -1.5rem 0 0 calc(-50vw + 7.2rem);
}
@media screen and (min-width: 751px) {
  .main section.location .image--01 {
    order: 3;
  }
}
@media screen and (max-width: 750px) {
  .main section.location .image--01 {
    width: auto;
    margin: 0.7rem -0.4rem 0;
    position: relative;
    bottom: 0;
  }
}
.main section.location .image--01 .slider {
  overflow: hidden;
}
.main section.location .image--01 .slider .inner {
  display: flex;
  gap: 0.3rem;
  box-sizing: border-box;
  width: 74.6rem;
  padding: 0 0.3rem 0 0;
  animation: ticker 80s linear infinite;
}
.main section.location .image--01 .slider .inner img {
  width: 37rem;
}
.main section.location .image--01 figcaption {
  position: absolute;
  bottom: 6.52rem;
  left: 0.5rem;
  writing-mode: vertical-rl;
  color: #7a8899;
  font-size: 0.24rem;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 0.8;
  white-space: nowrap;
}
@media screen and (max-width: 750px) {
  .main section.location .image--01 figcaption {
    display: none;
  }
}
.main section.location .text--01 {
  box-sizing: border-box;
  width: 6.08rem;
  padding: 0 0 0.88rem 1.04rem;
  position: relative;
  background: #fff;
  z-index: 1;
}
@media screen and (max-width: 750px) {
  .main section.location .text--01 {
    width: auto;
    margin: -1.1rem 0 0 -0.4rem;
    padding: 0.64rem 0 0 0.8rem;
    clip-path: polygon(0 0, 5.4rem 0, 5.4rem 1.1rem, 100% 1.1rem, 100% 100%, 0 100%);
  }
}
.main section.essentials {
  container-type: inline-size;
  position: relative;
  z-index: 4;
  background: #fff;
}
.main section.essentials .wrap {
  padding-top: 2.6rem;
  padding-bottom: 6.5rem;
}
@media screen and (max-width: 750px) {
  .main section.essentials .wrap {
    padding-top: 2.3rem;
    padding-bottom: 5.2rem;
  }
}
.main section.essentials .headline {
  color: #1e385c;
  position: relative;
  z-index: 1;
}
.main section.essentials .headline .ttl {
  letter-spacing: -0.02em;
}
.main section.essentials .headline .catch,
.main section.essentials .headline .ttl {
  clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  transition: clip-path 1.2s;
}
.main section.essentials .headline .ttl {
  transition-delay: 0.4s;
}
.main section.essentials .headline.scrollIn .catch,
.main section.essentials .headline.scrollIn .ttl {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
.main section.essentials .text {
  box-sizing: border-box;
  width: 6.1rem;
  padding: 1.28rem 0 0.8rem 0.8rem;
  position: relative;
  z-index: 1;
  background: #fff;
}
@media screen and (max-width: 750px) {
  .main section.essentials .text {
    width: 6.3rem;
    margin: 0 0 0 -0.4rem;
    padding: 1.2rem 0.8rem 0.6rem 0.8rem;
  }
}
.main section.essentials .text p {
  padding: 0.6rem 0 0;
}
@media screen and (max-width: 750px) {
  .main section.essentials .text p {
    padding: 0.7rem 0 0;
  }
}
.main section.essentials .image {
  width: 100cqw;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;
}
.main section.essentials .image .holder {
  width: 62.86rem;
  position: absolute;
  bottom: 0;
  left: 0;
  transform-origin: 0 100%;
  rotate: -14.75deg;
}
@media screen and (max-width: 750px) {
  .main section.essentials .image .holder {
    width: 50.288rem;
  }
}
.main section.essentials .image .inner {
  display: flex;
  width: 100%;
  animation: ticker 40s linear infinite;
}
.main section.essentials .image .inner img {
  width: 50%;
}
.main section.design {
  position: relative;
  z-index: 5;
  background: #fff;
}
.main section.design .pin {
  background-image: linear-gradient(#f5f7fa, #f5f7fa), linear-gradient(#f5f7fa, #f5f7fa);
  background-position: 0 4rem;
  background-size: 100% 9rem, calc(50% + 2.3rem) calc(100% - 6rem);
  background-repeat: no-repeat;
}
@media screen and (max-width: 750px) {
  .main section.design .pin {
    background-image: linear-gradient(#f5f7fa, #f5f7fa);
    background-position: 0 3rem;
    background-size: 100% calc(100% - 5.2rem);
  }
}
.main section.design .wrap {
  display: grid;
  width: 100%;
  padding-top: 0.6rem;
  padding-bottom: 2rem;
}
@media screen and (max-width: 750px) {
  .main section.design .wrap {
    display: block;
    width: auto;
    padding-top: 0.8rem;
    padding-bottom: 2.3rem;
  }
}
.main section.design .headline {
  grid-area: 1/1;
  justify-self: flex-end;
  margin: 0 0.14rem 0 0;
  color: #1e385c;
}
@media screen and (max-width: 750px) {
  .main section.design .headline {
    margin: 0 0 0 auto;
    writing-mode: horizontal-tb;
  }
  .main section.design .headline .ttl {
    margin: 0.2rem 0 0;
  }
}
.main section.design .headline .catch,
.main section.design .headline .ttl {
  clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  transition: clip-path 1.2s;
}
@media screen and (max-width: 750px) {
  .main section.design .headline .catch,
  .main section.design .headline .ttl {
    clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  }
}
.main section.design .headline .ttl {
  transition-delay: 0.4s;
}
.main section.design .headline.scrollIn .catch,
.main section.design .headline.scrollIn .ttl {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
@media screen and (max-width: 750px) {
  .main section.design .headline.scrollIn .catch,
  .main section.design .headline.scrollIn .ttl {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
}
.main section.design .body {
  grid-area: 1/1;
  padding-top: 0.8rem;
  padding-bottom: 2.4rem;
  position: relative;
}
@media screen and (max-width: 750px) {
  .main section.design .body {
    margin: 0.7rem 0 0;
    padding-top: 0;
    padding-bottom: 1.8rem;
  }
}
.main section.design .image--01 {
  margin-right: 2.8rem;
  margin-left: max(-2.4rem, 7.2rem - 50cqw);
}
@media screen and (max-width: 750px) {
  .main section.design .image--01 {
    margin: 0 -0.4rem;
  }
}
.main section.design .image--01 img {
  width: 100%;
  height: 7rem;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 750px) {
  .main section.design .image--01 img {
    height: auto;
  }
}
.main section.design .image--01 figcaption {
  padding-left: 0.1rem;
}
@media screen and (max-width: 750px) {
  .main section.design .image--01 figcaption {
    box-sizing: border-box;
    width: 2rem;
    padding-right: 0.1rem;
    right: 0;
    left: auto;
    z-index: 1;
  }
}
.main section.design .text--01 {
  box-sizing: border-box;
  width: 5.5rem;
  padding: 0.9rem 0 0 0.9rem;
  position: absolute;
  top: 5.8rem;
  right: 0;
  background: #f5f7fa;
}
@media screen and (max-width: 750px) {
  .main section.design .text--01 {
    width: 6.7rem;
    padding: 0.8rem 0 0 0.8rem;
    margin: -0.8rem 0 0 -0.4rem;
    position: relative;
    top: 0;
    clip-path: polygon(0 0, 4.6rem 0, 4.6rem 0.8rem, 100% 0.8rem, 100% 100%, 0 100%);
  }
}
.main section.design .text--01 p {
  padding: 0.6rem 0 0;
  white-space: nowrap;
}
@media screen and (max-width: 750px) {
  .main section.design .text--01 p {
    padding: 0.7rem 0 0;
    white-space: normal;
  }
}
.main section.design .designer {
  display: flex;
  flex-wrap: wrap;
  width: 7.3rem;
  margin: 2.6rem 0 0;
  position: relative;
}
@media screen and (max-width: 750px) {
  .main section.design .designer {
    display: block;
    width: auto;
    margin: 1.5rem 0.4rem 0;
  }
}
.main section.design .designer .sttl {
  position: absolute;
  top: -0.24rem;
  left: 0;
  color: #1e385c;
  font-size: 0.5rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 0.8;
}
@media screen and (max-width: 750px) {
  .main section.design .designer .sttl {
    top: -0.3rem;
    font-size: 0.6rem;
  }
}
.main section.design .designer .image {
  width: 3rem;
}
.main section.design .designer .data {
  box-sizing: border-box;
  width: calc(100% - 3rem);
  padding: 0.25rem 0 0 0.6rem;
}
@media screen and (max-width: 750px) {
  .main section.design .designer .data {
    width: auto;
    padding: 0;
  }
}
.main section.design .designer .data .logo {
  width: 2.1rem;
}
@media screen and (max-width: 750px) {
  .main section.design .designer .data .logo {
    position: absolute;
    top: 0.6rem;
    left: 3.7rem;
  }
}
.main section.design .designer .data .name {
  display: flex;
  align-items: baseline;
  gap: 0.24rem;
  margin: 0.5rem 0 0;
  font-size: 0.3rem;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .main section.design .designer .data .name {
    flex-direction: column;
    gap: 0.2rem;
    position: absolute;
    top: 1.6rem;
    left: 3.7rem;
    margin: 0;
    font-size: 0.38rem;
  }
}
.main section.design .designer .data .name .en {
  color: #7a8899;
  font-size: 0.18rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .main section.design .designer .data .name .en {
    font-size: 0.2rem;
  }
}
.main section.design .designer .data .group {
  padding: 0.3rem 0 0;
  font-size: 0.18rem;
  line-height: 0.3rem;
}
@media screen and (max-width: 750px) {
  .main section.design .designer .data .group {
    padding: 0.35rem 0 0;
    font-size: 0.26rem;
    line-height: 0.4rem;
  }
}
.main section.design .designer .profile {
  width: 100%;
  padding: 0.5rem 0 0;
}
@media screen and (max-width: 750px) {
  .main section.design .designer .profile {
    box-sizing: border-box;
    margin: 0.38rem 0 0;
    border-top: 0.01rem solid #c6c9cc;
    position: relative;
  }
  .main section.design .designer .profile::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: linear-gradient(transparent, #f5f7fa);
  }
  .main section.design .designer .profile .inner {
    display: grid;
    grid-template-rows: 2.3rem;
    grid-template-columns: auto;
    transition: grid-template-rows 0.4s;
  }
  .main section.design .designer .profile.active::before {
    content: none;
  }
  .main section.design .designer .profile.active .inner {
    grid-template-rows: 1fr;
  }
  .main section.design .designer .profile.active .bt-more {
    margin: 0.4rem auto 0;
    position: relative;
    left: 0;
  }
  .main section.design .designer .profile.active .bt-more::before {
    content: "CLOSE";
  }
  .main section.design .designer .profile.active .bt-more::after {
    rotate: 45deg;
  }
}
.main section.design .designer .profile p {
  font-size: 0.16rem;
  line-height: 0.3rem;
}
@media screen and (max-width: 750px) {
  .main section.design .designer .profile p {
    font-size: 0.24rem;
    line-height: 0.4rem;
    overflow: hidden;
  }
}
.main section.design .designer .profile .bt-more {
  display: none;
}
@media screen and (max-width: 750px) {
  .main section.design .designer .profile .bt-more {
    display: block;
    box-sizing: border-box;
    width: 4rem;
    height: 0.9rem;
    border: 0.01rem solid #c6c9cc;
    padding: 0;
    position: absolute;
    bottom: 0;
    left: calc(50% - 2rem);
    background: #f5f7fa;
    border-radius: 0.05rem;
  }
  .main section.design .designer .profile .bt-more::before {
    content: "VIEW MORE";
  }
  .main section.design .designer .profile .bt-more::after {
    content: "";
    display: block;
    width: 0.24rem;
    aspect-ratio: 1;
    position: absolute;
    top: calc(50% - 0.12rem);
    right: 0.32rem;
    background-image: linear-gradient(#393d40, #393d40), linear-gradient(#393d40, #393d40);
    background-position: 50% 50%;
    background-size: 0.01rem 100%, 100% 0.01rem;
    background-repeat: no-repeat;
  }
}
.main section.design .slider {
  width: min(8.76rem, 50cqw - 0.84rem);
  position: absolute;
  bottom: 2rem;
  left: 8.04rem;
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .main section.design .slider {
    width: auto;
    margin: 1rem -0.4rem 0;
    position: static;
  }
}
.main section.design .slider .slide {
  box-sizing: border-box;
  width: 5.8rem;
  padding: 0 0.2rem 0 0;
}
@media screen and (max-width: 750px) {
  .main section.design .slider .slide {
    width: 5.9rem;
    padding: 0 0.15rem;
  }
}
.main section.design .slider .slide.small {
  width: 2.8rem;
}
@media screen and (max-width: 750px) {
  .main section.design .slider .slide.small {
    width: 2.9rem;
  }
}
.main section.design .slider .image figcaption {
  padding: 0.09rem 0 0;
  font-size: 0.13rem;
  line-height: 1;
  text-align: right;
}
@media screen and (max-width: 750px) {
  .main section.design .slider .image figcaption {
    padding: 0.1rem 0 0;
    font-size: 0.2rem;
  }
}
.main section.design .slider .swiper-pagination {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.08rem;
  margin: 0.08rem 0 0;
  position: static;
}
@media screen and (max-width: 750px) {
  .main section.design .slider .swiper-pagination {
    justify-content: center;
    gap: 0.18rem;
    margin: 0.3rem 0 0;
  }
}
.main section.design .slider .swiper-pagination .swiper-pagination-bullet {
  width: 0.06rem;
  height: 0.06rem;
  margin: 0 0.02rem;
  background: #cad1da;
  border-radius: 50%;
  opacity: 1;
}
@media screen and (max-width: 750px) {
  .main section.design .slider .swiper-pagination .swiper-pagination-bullet {
    width: 0.12rem;
    height: 0.12rem;
  }
}
.main section.design .slider .swiper-pagination .swiper-pagination-bullet-active {
  width: 0.08rem;
  height: 0.08rem;
  margin: 0;
  background: #1e385c;
}
@media screen and (max-width: 750px) {
  .main section.design .slider .swiper-pagination .swiper-pagination-bullet-active {
    width: 0.16rem;
    height: 0.16rem;
  }
}
.main section.plan {
  position: relative;
  z-index: 6;
  background: #fff;
}
.main section.plan .sectionLead .wrap {
  display: grid;
  width: 100%;
}
@media screen and (max-width: 750px) {
  .main section.plan .sectionLead .wrap {
    width: auto;
  }
}
.main section.plan .sectionLead .headline {
  grid-area: 1/1;
  justify-self: flex-start;
  align-self: flex-start;
  margin: 0 0 0 -0.2rem;
  position: relative;
  z-index: 1;
  color: #1e385c;
}
@media screen and (max-width: 750px) {
  .main section.plan .sectionLead .headline {
    margin: 0;
  }
}
.main section.plan .sectionLead .headline .catch,
.main section.plan .sectionLead .headline .ttl {
  clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  transition: clip-path 1.2s;
}
.main section.plan .sectionLead .headline .ttl {
  transition-delay: 0.4s;
}
.main section.plan .sectionLead .headline.scrollIn .catch,
.main section.plan .sectionLead .headline.scrollIn .ttl {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
.main section.plan .sectionLead .body {
  grid-area: 1/1;
  padding-top: 0.6rem;
  position: relative;
}
@media screen and (max-width: 750px) {
  .main section.plan .sectionLead .body {
    padding-top: 0.4rem;
  }
}
.main section.plan .sectionLead .body .image--01 {
  width: 10.8rem;
  margin-right: -0.8rem;
  margin-left: auto;
}
@media screen and (max-width: 750px) {
  .main section.plan .sectionLead .body .image--01 {
    width: 5.5rem;
    margin-right: -0.4rem;
  }
}
.main section.plan .sectionLead .body .text--01 {
  box-sizing: border-box;
  width: 6.05rem;
  padding: 0.8rem 0 0 1.5rem;
  margin: -2.35rem 0 0;
  position: relative;
  background: #fff;
}
@media screen and (max-width: 750px) {
  .main section.plan .sectionLead .body .text--01 {
    width: 6.7rem;
    padding: 0.64rem 0 0 1.8rem;
    margin: -0.9rem 0 0 -0.4rem;
    clip-path: polygon(0 0, 4.96rem 0, 4.96rem 0.9rem, 100% 0.9rem, 100% 100%, 0 100%);
  }
}
.main section.plan .sectionLead .body .text--01 p {
  padding: 0.6rem 0 0;
  white-space: nowrap;
}
@media screen and (max-width: 750px) {
  .main section.plan .sectionLead .body .text--01 p {
    padding: 0.7rem 0 0;
    white-space: normal;
  }
}
.main section.plan .sectionLead .body .image--02 {
  width: 3.2rem;
  position: absolute;
  top: 5rem;
  left: max(-2.4rem, 7.2rem - 50cqw);
}
@media screen and (max-width: 750px) {
  .main section.plan .sectionLead .body .image--02 {
    width: 2.8rem;
    margin: 0.8rem 0 0 -0.4rem;
    position: relative;
    top: 0;
    left: 0;
  }
}
.main section.plan .sectionLead .body .image--03 {
  width: 3.15rem;
  position: absolute;
  bottom: 0;
  right: 0.54rem;
}
@media screen and (max-width: 750px) {
  .main section.plan .sectionLead .body .image--03 {
    top: 14.6rem;
    bottom: auto;
    right: 0.4rem;
  }
}
.main section.plan section.view {
  padding: 1.3rem 0 0;
}
@media screen and (max-width: 750px) {
  .main section.plan section.view {
    padding: 1rem 0 0;
  }
}
.main section.plan section.view .headline {
  writing-mode: horizontal-tb;
  text-align: center;
}
.main section.plan section.view .headline .ttl {
  color: #1e385c;
  font-size: 0.5rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 0.8;
}
.main section.plan section.view .headline .catch {
  padding: 0.6rem 0 0;
  font-size: 0.36rem;
  line-height: 0.6rem;
}
.main section.plan section.view .headline p {
  padding: 0.4rem 0 0;
  font-size: 0.2rem;
  line-height: 2;
}
@media screen and (max-width: 750px) {
  .main section.plan section.view .headline p {
    padding: 0.6rem 0 0;
    font-size: 0.26rem;
    text-align: left;
  }
}
.main section.plan section.view .headline p span {
  font-size: 0.3rem;
}
@media screen and (max-width: 750px) {
  .main section.plan section.view .headline p span {
    font-size: 0.4rem;
  }
}
.main section.plan section.view .nav {
  display: flex;
  justify-content: center;
  gap: 0.1rem;
  margin: 0.5rem 0 0;
}
@media screen and (max-width: 750px) {
  .main section.plan section.view .nav {
    margin: 0.8rem 0 0;
  }
}
.main section.plan section.view .nav .tabNav {
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  width: 2.6rem;
  height: 0.6rem;
  border: 0.01rem solid #dfe2e6;
  background: #fff;
  border-radius: 0;
  font-size: 0.22rem;
  transition: 0.4s;
  transition-property: border-color, background-color, color;
}
@media screen and (max-width: 750px) {
  .main section.plan section.view .nav .tabNav {
    width: calc(50% - 0.05rem);
    height: 0.8rem;
    font-size: 0.26rem;
  }
}
.main section.plan section.view .nav .tabNav::before {
  content: "";
  display: block;
  background-color: currentColor;
  -webkit-mask: center/contain no-repeat;
          mask: center/contain no-repeat;
}
.main section.plan section.view .nav .tabNav.day {
  gap: 0.1rem;
}
.main section.plan section.view .nav .tabNav.day::before {
  width: 0.22rem;
  aspect-ratio: 22/23;
  -webkit-mask-image: url(../imgs/ico-day.svg);
          mask-image: url(../imgs/ico-day.svg);
}
@media screen and (max-width: 750px) {
  .main section.plan section.view .nav .tabNav.day::before {
    width: 0.27rem;
  }
}
.main section.plan section.view .nav .tabNav.day.active {
  border-color: #b39b69;
  background-color: #b39b69;
  color: #fff;
}
@media screen and (hover: hover) and (pointer: fine) {
  .main section.plan section.view .nav .tabNav.day:hover {
    border-color: #b39b69;
    background-color: #b39b69;
    color: #fff;
  }
}
.main section.plan section.view .nav .tabNav.night {
  gap: 0.12rem;
}
@media screen and (max-width: 750px) {
  .main section.plan section.view .nav .tabNav.night {
    gap: 0.15rem;
  }
}
.main section.plan section.view .nav .tabNav.night::before {
  width: 0.19rem;
  aspect-ratio: 19/20;
  -webkit-mask-image: url(../imgs/ico-night.svg);
          mask-image: url(../imgs/ico-night.svg);
}
@media screen and (max-width: 750px) {
  .main section.plan section.view .nav .tabNav.night::before {
    width: 0.23rem;
  }
}
.main section.plan section.view .nav .tabNav.night.active {
  border-color: #7688a0;
  background-color: #7688a0;
  color: #fff;
}
@media screen and (hover: hover) and (pointer: fine) {
  .main section.plan section.view .nav .tabNav.night:hover {
    border-color: #7688a0;
    background-color: #7688a0;
    color: #fff;
  }
}
.main section.plan section.view .image {
  margin: 0.5rem 0 0;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .main section.plan section.view .image {
    margin: 0.6rem 0 0;
  }
}
.main section.plan section.view .image::after {
  content: "";
  display: block;
  width: 0.7rem;
  aspect-ratio: 1;
  position: absolute;
  top: 0.2rem;
  right: 0.2rem;
  background: url(../imgs/ico-swipe.svg) 0 0/contain no-repeat;
  pointer-events: none;
}
.main section.plan section.view .image .inner {
  width: 36.48rem;
}
.main section.plan section.view .image .tabPanel {
  display: none;
}
.main section.plan section.view .image .tabPanel.active {
  display: block;
}
.main section.plan section.view .image .bt-left,
.main section.plan section.view .image .bt-right {
  width: 0.34rem;
  height: 0.34rem;
  border: none;
  padding: 0;
  position: absolute;
  top: calc(50% - 0.28rem);
  background: transparent url(../imgs/arw.svg) 50% 50%/auto 100% no-repeat;
}
@media screen and (max-width: 750px) {
  .main section.plan section.view .image .bt-left,
  .main section.plan section.view .image .bt-right {
    width: 0.5rem;
    height: 0.5rem;
  }
}
.main section.plan section.view .image .bt-left {
  left: 0.22rem;
  scale: -1 1;
}
.main section.plan section.view .image .bt-right {
  right: 0.22rem;
}
.main section.plan section.view .image .capiton {
  padding: 0.1rem 0.1rem 0;
  font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
  font-size: 0.13rem;
  line-height: 1;
  text-align: right;
}
@media screen and (max-width: 750px) {
  .main section.plan section.view .image .capiton {
    font-size: 0.18rem;
  }
}
.main section.plan section.variation {
  margin: 1.6rem 0 0;
}
@media screen and (max-width: 750px) {
  .main section.plan section.variation {
    margin: 1.2rem 0 0;
  }
}
.main section.plan section.variation .prepend {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 750px) {
  .main section.plan section.variation .prepend {
    display: block;
    padding: 0 0.4rem;
  }
}
.main section.plan section.variation .prepend .sttl {
  width: 5.3rem;
  color: #1e385c;
  font-size: 0.5rem;
  font-weight: 400;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .main section.plan section.variation .prepend .sttl {
    width: auto;
    font-size: 0.6rem;
    line-height: 0.8;
    letter-spacing: 0;
  }
}
.main section.plan section.variation .prepend .text {
  width: calc(100% - 5.3rem);
}
@media screen and (max-width: 750px) {
  .main section.plan section.variation .prepend .text {
    width: auto;
    padding: 0.7rem 0 0;
  }
}
.main section.plan section.variation .prepend .text .catch {
  font-size: 0.36rem;
  font-weight: 500;
}
@media screen and (max-width: 750px) {
  .main section.plan section.variation .prepend .text .catch {
    font-size: 0.42rem;
    line-height: 0.65rem;
  }
}
.main section.plan section.variation .prepend .text p {
  padding: 0.4rem 0 0;
  font-size: 0.2rem;
  line-height: 2;
}
@media screen and (max-width: 750px) {
  .main section.plan section.variation .prepend .text p {
    padding: 0.6rem 0 0;
    font-size: 0.28rem;
    line-height: 0.55rem;
  }
}
.main section.plan section.variation .prepend .text p strong {
  display: inline-block;
  background: #f4f0e9;
  font-weight: inherit;
}
@media screen and (max-width: 750px) {
  .main section.plan section.variation .prepend .text p strong {
    display: inline;
  }
}
.main section.plan section.variation .slider {
  width: 14.9rem;
  margin: 0.8rem -0.25rem 0;
}
@media screen and (max-width: 750px) {
  .main section.plan section.variation .slider {
    width: auto;
    margin: 0.8rem -0.4rem 0;
    overflow: hidden;
  }
  .main section.plan section.variation .slider .swiper {
    width: 6.3rem;
    overflow: visible;
  }
}
.main section.plan section.variation .slider .swiper-slide {
  width: 5rem;
}
@media screen and (max-width: 750px) {
  .main section.plan section.variation .slider .swiper-slide {
    width: 6.3rem;
    opacity: 1;
    translate: 0 0 0;
  }
}
.main section.plan section.variation .slider .swiper-slide:nth-child(2) {
  transition-delay: 0.4s;
}
.main section.plan section.variation .slider .swiper-slide:nth-child(3) {
  transition-delay: 0.8s;
}
.main section.plan section.variation .slider .swiper-slide a {
  display: grid;
  grid-template-rows: 1.2rem 1fr;
  grid-template-columns: 1.2rem 1fr;
  box-sizing: border-box;
  width: 4.5rem;
  height: 4.7rem;
  margin: 0 auto;
  border: 0.01rem solid #dfe2e6;
  padding: 0 0.24rem;
  position: relative;
  transition: border-color 0.4s;
}
@media screen and (max-width: 750px) {
  .main section.plan section.variation .slider .swiper-slide a {
    grid-template-rows: 1.6rem 1fr;
    grid-template-columns: 1.6rem 1fr;
    width: 5.9rem;
    height: 6.2rem;
    padding: 0 0.29rem;
  }
}
@media screen and (hover: hover) and (pointer: fine) {
  .main section.plan section.variation .slider .swiper-slide a:hover {
    border-color: #1e385c;
  }
}
.main section.plan section.variation .slider .swiper-slide a::before {
  content: "";
  display: block;
  width: 0.4rem;
  aspect-ratio: 1;
  background: #1e385c 50% 50% no-repeat;
  background-image: linear-gradient(#fff, #fff), linear-gradient(#fff, #fff);
  background-size: 0.01rem 0.16rem, 0.16rem 0.01rem;
  position: absolute;
  right: 0.1rem;
  bottom: 0.1rem;
}
@media screen and (max-width: 750px) {
  .main section.plan section.variation .slider .swiper-slide a::before {
    width: 0.5rem;
    background-size: 0.01rem 0.21rem, 0.21rem 0.01rem;
    right: 0.14rem;
    bottom: 0.14rem;
  }
}
.main section.plan section.variation .slider .swiper-slide a .name {
  grid-row: 1/2;
  grid-column: 1/2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.08rem;
  background: #f0f2f5;
  color: #1e385c;
  font-size: 0.3rem;
  letter-spacing: 0.05em;
  line-height: 0.8;
}
@media screen and (max-width: 750px) {
  .main section.plan section.variation .slider .swiper-slide a .name {
    gap: 0.1rem;
    font-size: 0.4rem;
  }
}
.main section.plan section.variation .slider .swiper-slide a .name .small {
  font-size: 0.2rem;
}
@media screen and (max-width: 750px) {
  .main section.plan section.variation .slider .swiper-slide a .name .small {
    font-size: 0.26rem;
  }
}
.main section.plan section.variation .slider .swiper-slide a .data {
  grid-row: 1/2;
  grid-column: 2/3;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-end;
  gap: 0.2rem;
  font-size: 0.36rem;
  letter-spacing: 0.05em;
  line-height: 0.8;
}
@media screen and (max-width: 750px) {
  .main section.plan section.variation .slider .swiper-slide a .data {
    font-size: 0.48rem;
  }
}
.main section.plan section.variation .slider .swiper-slide a .data span {
  font-size: 0.3rem;
}
@media screen and (max-width: 750px) {
  .main section.plan section.variation .slider .swiper-slide a .data span {
    font-size: 0.4rem;
  }
}
.main section.plan section.variation .slider .swiper-slide a .image {
  grid-row: 2/3;
  grid-column: 1/3;
  display: grid;
  place-items: center;
}
.main section.plan section.variation .slider .swiper-slide.type121m1 a .name {
  background: #f5f3f0;
  color: #b39b69;
}
.main section.plan section.variation .slider .swiper-slide.type121m1 a .badge {
  padding: 0 0.1rem;
  position: absolute;
  top: -0.01rem;
  right: 0.24rem;
  background: #b39b69;
  color: #fff;
  font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
  font-size: 0.15rem;
  font-weight: 500;
  line-height: 0.3rem;
}
@media screen and (max-width: 750px) {
  .main section.plan section.variation .slider .swiper-slide.type121m1 a .badge {
    width: 1.3rem;
    right: 0.29rem;
    font-size: 0.2rem;
    font-weight: 500;
    line-height: 0.4rem;
    text-align: center;
  }
}
.main section.plan section.variation .slider .swiper-slide.type121m1 a .image img {
  width: 2.87rem;
}
.main section.plan section.variation .slider .swiper-slide.type81f2 a .image img {
  width: 2.49rem;
}
.main section.plan section.variation .slider .swiper-slide.type72i1 a .image img {
  width: 1.91rem;
}
.main section.plan section.variation .slider .swiper-pagination {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 0.18rem;
  gap: 0.08rem;
  margin: 0.6rem 0 0;
  position: static;
}
@media screen and (max-width: 750px) {
  .main section.plan section.variation .slider .swiper-pagination {
    display: flex;
  }
}
.main section.plan section.variation .slider .swiper-pagination .swiper-pagination-bullet {
  width: 0.12rem;
  height: 0.12rem;
  margin: 0 0.02rem;
  background: #cad1da;
  border-radius: 50%;
  opacity: 1;
}
.main section.plan section.variation .slider .swiper-pagination .swiper-pagination-bullet-active {
  width: 0.16rem;
  height: 0.16rem;
  margin: 0;
  background: #1e385c;
}
.main section.plan .limited {
  display: block;
  box-sizing: border-box;
  width: 11.2rem;
  height: 2.7rem;
  margin: 1rem auto 0;
  padding: 0.58rem 0 0;
  background: url(../imgs/bg-limited.jpg) 0 0/cover no-repeat;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .main section.plan .limited {
    width: auto;
    height: 4.4rem;
    margin: 1.2rem 0 0;
    padding: 0.9rem 0 0;
    background-image: url(../imgs/bg-limited_sp.jpg);
  }
}
.main section.plan .limited .legend {
  font-size: 0.2rem;
  letter-spacing: 0.05em;
  line-height: 0.8;
}
@media screen and (max-width: 750px) {
  .main section.plan .limited .legend {
    font-size: 0.3rem;
  }
}
.main section.plan .limited .text {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0.2rem auto 0;
  position: relative;
  font-size: 0.26rem;
  font-weight: 500;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .main section.plan .limited .text {
    margin: 0.25rem auto 0;
    font-size: 0.36rem;
    line-height: 0.6rem;
  }
}
.main section.plan .limited .text .num {
  font-size: 0.4rem;
}
@media screen and (max-width: 750px) {
  .main section.plan .limited .text .num {
    font-size: 0.5rem;
  }
}
.main section.plan .limited .text::before {
  content: "";
  display: block;
  width: 1.25rem;
  aspect-ratio: 125/130;
  position: absolute;
  top: calc(50% - 0.65rem);
  left: -1.2rem;
  background: url(../imgs/badge.png) 0 0/contain no-repeat;
}
@media screen and (max-width: 750px) {
  .main section.plan .limited .text::before {
    width: 1.5rem;
    aspect-ratio: 1;
    position: absolute;
    top: -1rem;
    left: -1rem;
    background-image: url(../imgs/badge_sp.png);
  }
}
.main section.plan .limited .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.8rem;
  height: 0.7rem;
  margin: 0.3rem auto 0;
  border-radius: 0.03rem;
  background: #657283 linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0)) 100% 0/300% 100% no-repeat;
  color: #fff;
  font-size: 0.18rem;
  transition: background-position 0.4s;
}
@media screen and (max-width: 750px) {
  .main section.plan .limited .btn {
    width: 5rem;
    height: 1rem;
    margin: 0.25rem auto 0;
    border-radius: 0.05rem;
    font-size: 0.28rem;
  }
}
@media screen and (hover: hover) and (pointer: fine) {
  .main section.plan .limited .btn:hover {
    background-position: 0 0;
  }
}
.main section.plan .casbee {
  margin: 0.5rem auto 0;
  padding-bottom: 2.3rem;
}
@media screen and (max-width: 750px) {
  .main section.plan .casbee {
    margin: 0.7rem 0 0;
    padding-bottom: 2rem;
  }
}
.main section.plan .casbee img {
  display: block;
  width: 2.6rem;
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .main section.plan .casbee img {
    width: 3.13rem;
  }
}
.main section.plan .casbee .note {
  padding: 0.1rem 0 0;
  font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
  font-size: 0.13rem;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .main section.plan .casbee .note {
    font-size: 0.2rem;
  }
}
.main section.brand {
  container-type: inline-size;
  padding: 0 0 0 0;
  position: relative;
  z-index: 7;
  background: #fff;
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .main section.brand {
    padding: 0 0 0 0;
  }
}
.main section.brand .wrap {
  display: grid;
  width: 100%;
}
@media screen and (max-width: 750px) {
  .main section.brand .wrap {
    display: block;
    width: auto;
  }
}
.main section.brand .headline {
  grid-area: 1/1;
  justify-self: flex-end;
  width: 6.95rem;
  padding: 0.08rem 0 0;
  color: #1e385c;
}
@media screen and (max-width: 750px) {
  .main section.brand .headline {
    justify-self: stretch;
    width: auto;
    padding: 0 0.4rem;
    writing-mode: horizontal-tb;
  }
}
.main section.brand .body {
  grid-area: 1/1;
  position: relative;
}
@media screen and (max-width: 750px) {
  .main section.brand .body {
    margin: 0.7rem 0 0;
  }
}
.main section.brand .body .image--01 {
  margin-right: 8.4rem;
  margin-left: max(-2.4rem, 7.2rem - 50cqw);
}
@media screen and (max-width: 750px) {
  .main section.brand .body .image--01 {
    margin: 0 0 0 -0.4rem;
  }
}
.main section.brand .body .image--01 img {
  width: 100%;
  height: 6.8rem;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 750px) {
  .main section.brand .body .image--01 img {
    height: auto;
  }
}
@media screen and (max-width: 750px) {
  .main section.brand .body .image--01 figcaption {
    top: 0;
    bottom: auto;
  }
}
.main section.brand .body .text--01 {
  box-sizing: border-box;
  width: 6.4rem;
  margin: -2.6rem 0 0 0.8rem;
  padding: 0.8rem 0 0 0.8rem;
  position: relative;
  background: #fff;
}
@media screen and (max-width: 750px) {
  .main section.brand .body .text--01 {
    width: 6.7rem;
    margin: -1rem 0 0 -0.4rem;
    clip-path: polygon(0 0, 5.7rem 0, 5.7rem 1rem, 100% 1rem, 100% 100%, 0 100%);
  }
}
.main section.brand .body .text--01 p {
  padding: 0.6rem 0 0;
  white-space: nowrap;
}
@media screen and (max-width: 750px) {
  .main section.brand .body .text--01 p {
    padding: 0.7rem 0 0;
    white-space: normal;
  }
}
.main section.brand .body .image--02 {
  width: 6.01rem;
  position: absolute;
  top: 3.09rem;
  right: 0.48rem;
  filter: drop-shadow(0 0 1rem rgba(0, 0, 0, 0.1));
}
@media screen and (max-width: 750px) {
  .main section.brand .body .image--02 {
    margin: 0.8rem auto 0;
    position: relative;
    top: 0;
    right: 0;
  }
}
.main section.brand .body .image--02 .bg {
  display: block;
}
.main section.brand .body .image--02 .item {
  box-sizing: border-box;
  width: 3.95rem;
  border: 0.01rem solid #e7edf6;
  aspect-ratio: 1;
  position: absolute;
  background: #fff no-repeat;
  border-radius: 50%;
}
.main section.brand .body .image--02 .item--01 {
  top: 0;
  left: 1.02rem;
  background-image: url(../imgs/img29_1.png);
  background-position: 1.06rem 0.95rem;
  background-size: 1.81rem auto;
}
.main section.brand .body .image--02 .item--02 {
  bottom: 0;
  left: 0;
  background-image: url(../imgs/img29_2.png);
  background-position: 0.75rem calc(100% - 1.08rem);
  background-size: 1.97rem auto;
}
.main section.brand .body .image--02 .item--03 {
  bottom: 0;
  right: 0;
  background-image: url(../imgs/img29_3.png);
  background-position: calc(100% - 0.16rem) calc(100% - 1.81rem);
  background-size: 1.73rem auto;
}
.main section.brand .body .image--02 .bg {
  opacity: 0;
  transition: opacity 0.4s 1.2s;
}
.main section.brand .body .image--02 .item {
  transition-property: translate, opacity;
  transition-duration: 1.2s, 0.4s;
  transition-delay: 0s, 1.2s;
}
.main section.brand .body .image--02 .item--01 {
  translate: 0 -1rem 0;
}
.main section.brand .body .image--02 .item--02 {
  translate: -0.6rem 0.6rem 0;
}
.main section.brand .body .image--02 .item--03 {
  translate: 0.6rem 0.6rem 0;
}
.main section.brand .body .image--02.scrollIn .bg {
  opacity: 1;
}
.main section.brand .body .image--02.scrollIn .item {
  opacity: 0;
}
.main section.brand .body .image--02.scrollIn .item--01 {
  translate: 0 0 0;
}
.main section.brand .body .image--02.scrollIn .item--02 {
  translate: 0 0 0;
}
.main section.brand .body .image--02.scrollIn .item--03 {
  translate: 0 0 0;
}
.main section.brand .body .list {
  margin: 1.5rem -0.25rem 0;
}
@media screen and (max-width: 750px) {
  .main section.brand .body .list {
    width: 4.7rem;
    margin: 1.2rem auto 0;
    overflow: visible;
  }
}
.main section.brand .body .list .item {
  box-sizing: border-box;
  width: 4.8rem;
  padding: 0 0.25rem;
}
@media screen and (max-width: 750px) {
  .main section.brand .body .list .item {
    width: 4.7rem;
    padding: 0 0.2rem;
    opacity: 1;
    transform: 0 0 0;
  }
}
.main section.brand .body .list .item:nth-child(2) {
  transition-delay: 0.4s;
}
.main section.brand .body .list .item:nth-child(3) {
  transition-delay: 0.8s;
}
.main section.brand .body .list .item .text {
  margin: 0.3rem 0 0;
  line-height: 1;
  text-align: center;
}
.main section.brand .body .list .item .text .name {
  font-size: 0.24rem;
}
@media screen and (max-width: 750px) {
  .main section.brand .body .list .item .text .name {
    font-size: 0.3rem;
  }
}
.main section.brand .body .list .item .text .date {
  margin: 0.13rem 0 0;
  font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
  font-size: 0.13rem;
}
@media screen and (max-width: 750px) {
  .main section.brand .body .list .item .text .date {
    margin: 0.2rem 0 0;
    font-size: 0.2rem;
  }
}
.main section.brand .body .list .swiper-pagination {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 0.18rem;
  gap: 0.08rem;
  margin: 0.6rem 0 0;
  position: static;
}
@media screen and (max-width: 750px) {
  .main section.brand .body .list .swiper-pagination {
    display: flex;
  }
}
.main section.brand .body .list .swiper-pagination .swiper-pagination-bullet {
  width: 0.12rem;
  height: 0.12rem;
  margin: 0 0.02rem;
  background: #cad1da;
  border-radius: 50%;
  opacity: 1;
}
.main section.brand .body .list .swiper-pagination .swiper-pagination-bullet-active {
  width: 0.16rem;
  height: 0.16rem;
  margin: 0;
  background: #1e385c;
}
.main .fNote {
  position: relative;
  z-index: 6;
  background: #fff;
}

.gFooter {
  position: relative;
  z-index: 8;
}

.loading {
  display: grid;
  place-items: center;
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: #fff;
  font-size: 0.2rem;
  transition: opacity 0.4s;
}
@media screen and (max-width: 750px) {
  .loading {
    font-size: 0.28rem;
  }
}
.loading div {
  animation: loading 2s infinite alternate;
}
@keyframes loading {
  0% {
    translate: 0 0 0;
  }
  100% {
    translate: 0 -1em 0;
  }
}
.loading.toHide {
  opacity: 0;
}
.loading.off {
  display: none;
}

.movieSelect {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9900;
  background: #fff url(../imgs/bg-movieSelect.jpg) 50% 50%/cover no-repeat;
  transition: opacity 0.4s;
}
.movieSelect.toHide {
  opacity: 0;
}
.movieSelect.off {
  display: none;
}
.movieSelect .text .logo {
  width: 1.32rem;
  margin: 0 auto;
}
.movieSelect .text p {
  padding: 0.7rem 0 0;
  color: #fff;
  font-size: 0.2rem;
  line-height: 0.35rem;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .movieSelect .text p {
    font-size: 0.28rem;
    line-height: 1.8;
  }
}
.movieSelect .btns {
  display: flex;
  justify-content: center;
  gap: 0.4rem;
}
.movieSelect .btns .bt-on,
.movieSelect .btns .bt-off {
  width: 1.5rem;
  border: none;
  padding: 0;
  background: transparent;
  border-radius: 0;
  box-shadow: 0.14rem 0.2rem 0.5rem rgba(46, 75, 111, 0.3);
}

.mvBnr {
  width: 5rem;
  position: fixed;
  left: 0.2rem;
  bottom: 0.4rem;
  filter: drop-shadow(0.11rem 0.16rem 0.29rem rgba(0, 0, 0, 0.1));
  translate: 0 2.05rem 0;
  transition: translate 0.8s 0.4s;
  z-index: 9999;
}
@media screen and (max-width: 750px) {
  .mvBnr {
    width: 3.4rem;
    right: auto;
    bottom: 1.4rem;
    left: 0.2rem;
    translate: 0 3.55rem 0;
  }
}
.mvBnr .btnClose {
  display: block;
  width: 0.3rem;
  height: 0.3rem;
  position: absolute;
  top: -0.08rem;
  right: -0.08rem;
  background: url(../imgs/floating-btn.png) 0 0/contain no-repeat;
  cursor: pointer;
}
@media screen and (max-width: 750px) {
  .mvBnr .btnClose {
    width: 0.3rem;
    height: 0.3rem;
    top: -0.1rem;
    right: -0.1rem;
  }
}
.mvBnr.active {
  translate: 0 0 0;
}
.mvBnr:has(.btnClose input:checked) {
  translate: 0 3.05rem 0;
  transition-duration: 0.4s;
  transition-delay: 0s;
}
@media screen and (max-width: 750px) {
  .mvBnr:has(.btnClose input:checked) {
    translate: 0 3.55rem 0;
  }
}

body:has(.mvBnr.active) .gFooter .pagetop {
  pointer-events: none;
  opacity: 0;
}
@media screen and (max-width: 750px) {
  body:has(.mvBnr.active) .gFooter .pagetop {
    pointer-events: all;
    opacity: 1;
  }
}

body:has(.mvBnr .btnClose input:checked) .gFooter .pagetop {
  pointer-events: all;
  opacity: 1;
}/*# sourceMappingURL=unique.css.map */