@charset "UTF-8";
@import url(/phbases/css/common.css) screen and (min-width: 751px);
@import url(/phbases/css/sp.css) screen and (max-width: 751px);
.main .fNote .wrap::before, .main:is(body.top *) .block--01 .feature li .secondary::before, .main:is(body.top *) .block--01 .feature li .primary::before, .main:is(body.top *) .block--01 .limited .catch::before, .main:is(body.top *) .block--01 .limited p::before, .main:is(body.top *) .block--02 .menu a .catch::before, .main:is(body.concept *) .block--01 .text p::before, .main:is(body.concept *) .block--02 .text .item p::before, .main:is(body.concept *) .block--02 .text .lead::before, .main:is(body.concept *) .block--02 .menu .list .item a p::before, .main:is(body.spaceidea *) .block--01 .text .catch::before, .main:is(body.spaceidea *) .block--01 .text p::before, .main:is(body.spaceidea *) .section .lead .catch::before, .main:is(body.spaceidea *) .section .lead p::before, .main:is(body.spaceidea *) .section.spaceidea .list .item .text p::before,
.main:is(body.spaceidea *) .section.interiorstyle .list .item .text p::before, .main:is(body.design *) .block--01 .text .catch::before, .main:is(body.design *) .block--01 .text p::before, .main:is(body.design *) .section .lead .catch::before, .main:is(body.design *) .section .lead p::before, .main:is(body.design *) .section .detail .dTitle::before, .main:is(body.design *) .section .detail p::before, .main:is(body.design *) .section.landscape .lead .legend dd::before, .main:is(body.design *) .section.landscape .sub .text .sTitle::before, .main:is(body.design *) .section.landscape .sub .text p::before, .main:is(body.location *) .block--01 .text .catch::before, .main:is(body.area *) .block--01 .text .catch::before, .main:is(body.access *) .block--01 .text .catch::before, .main:is(body.location *) .block--01 .text p::before, .main:is(body.area *) .block--01 .text p::before, .main:is(body.access *) .block--01 .text p::before, .main:is(body.location *) .section .lead p::before, .main:is(body.area *) .section .lead p::before, .main:is(body.access *) .section .lead p::before, .main:is(body.location *) .section .note::before, .main:is(body.area *) .section .note::before, .main:is(body.access *) .section .note::before, .main:is(body.location *) .section.education .policy .list--01 dd::before, .main:is(body.location *) .section.education .policy .list--02 dd::before, .main:is(body.location *) .section.education .policy .link p::before, .main:is(body.location *) .section.education .policy .link .url::before, .main:is(body.area *) .spots .item .text .legend::before, .main:is(body.area *) .spots .item .text p::before, .main:is(body.area *) .spots .item .text .note::before, .main:is(body.quality *) .block--01 .text .catch::before, .main:is(body.quality *) .block--01 .text p::before, .main:is(body.quality *) .block--01 .movie .legend::before, .main:is(body.quality *) .block--01 .movie .list .text .legend::before, .main:is(body.quality *) .block--01 .movie .list .text p::before, .main:is(body.quality *) .section .prepend p::before, .main:is(body.quality *) .section .sub .list .item .legend::before, .main:is(body.quality *) .section .sub .list .item p::before, .main:is(body.quality *) .section .note::before, .main:is(body.brand *) .block--01 .text--02 p::before, .main:is(body.brand *) .section.stance .headline p::before, .main:is(body.brand *) .section.stance .sub .text .sTitle::before, .main:is(body.brand *) .section.stance .sub .text p::before, .main:is(body.limited *) .hero .text p::before, .main:is(body.limited_login *) .hero .text p::before, .main:is(body.plan_detail *) .floorPlan .note::before, .gFooter .about .wrap .contact .note::before, .main .fNote .wrap::after, .main:is(body.top *) .block--01 .feature li .secondary::after, .main:is(body.top *) .block--01 .feature li .primary::after, .main:is(body.top *) .block--01 .limited .catch::after, .main:is(body.top *) .block--01 .limited p::after, .main:is(body.top *) .block--02 .menu a .catch::after, .main:is(body.concept *) .block--01 .text p::after, .main:is(body.concept *) .block--02 .text .item p::after, .main:is(body.concept *) .block--02 .text .lead::after, .main:is(body.concept *) .block--02 .menu .list .item a p::after, .main:is(body.spaceidea *) .block--01 .text .catch::after, .main:is(body.spaceidea *) .block--01 .text p::after, .main:is(body.spaceidea *) .section .lead .catch::after, .main:is(body.spaceidea *) .section .lead p::after, .main:is(body.spaceidea *) .section.spaceidea .list .item .text p::after,
.main:is(body.spaceidea *) .section.interiorstyle .list .item .text p::after, .main:is(body.design *) .block--01 .text .catch::after, .main:is(body.design *) .block--01 .text p::after, .main:is(body.design *) .section .lead .catch::after, .main:is(body.design *) .section .lead p::after, .main:is(body.design *) .section .detail .dTitle::after, .main:is(body.design *) .section .detail p::after, .main:is(body.design *) .section.landscape .lead .legend dd::after, .main:is(body.design *) .section.landscape .sub .text .sTitle::after, .main:is(body.design *) .section.landscape .sub .text p::after, .main:is(body.location *) .block--01 .text .catch::after, .main:is(body.area *) .block--01 .text .catch::after, .main:is(body.access *) .block--01 .text .catch::after, .main:is(body.location *) .block--01 .text p::after, .main:is(body.area *) .block--01 .text p::after, .main:is(body.access *) .block--01 .text p::after, .main:is(body.location *) .section .lead p::after, .main:is(body.area *) .section .lead p::after, .main:is(body.access *) .section .lead p::after, .main:is(body.location *) .section .note::after, .main:is(body.area *) .section .note::after, .main:is(body.access *) .section .note::after, .main:is(body.location *) .section.education .policy .list--01 dd::after, .main:is(body.location *) .section.education .policy .list--02 dd::after, .main:is(body.location *) .section.education .policy .link p::after, .main:is(body.location *) .section.education .policy .link .url::after, .main:is(body.area *) .spots .item .text .legend::after, .main:is(body.area *) .spots .item .text p::after, .main:is(body.area *) .spots .item .text .note::after, .main:is(body.quality *) .block--01 .text .catch::after, .main:is(body.quality *) .block--01 .text p::after, .main:is(body.quality *) .block--01 .movie .legend::after, .main:is(body.quality *) .block--01 .movie .list .text .legend::after, .main:is(body.quality *) .block--01 .movie .list .text p::after, .main:is(body.quality *) .section .prepend p::after, .main:is(body.quality *) .section .sub .list .item .legend::after, .main:is(body.quality *) .section .sub .list .item p::after, .main:is(body.quality *) .section .note::after, .main:is(body.brand *) .block--01 .text--02 p::after, .main:is(body.brand *) .section.stance .headline p::after, .main:is(body.brand *) .section.stance .sub .text .sTitle::after, .main:is(body.brand *) .section.stance .sub .text p::after, .main:is(body.limited *) .hero .text p::after, .main:is(body.limited_login *) .hero .text p::after, .main:is(body.plan_detail *) .floorPlan .note::after, .gFooter .about .wrap .contact .note::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}
.main .fNote .wrap::before, .main:is(body.top *) .block--01 .feature li .secondary::before, .main:is(body.top *) .block--01 .feature li .primary::before, .main:is(body.top *) .block--01 .limited .catch::before, .main:is(body.top *) .block--01 .limited p::before, .main:is(body.top *) .block--02 .menu a .catch::before, .main:is(body.concept *) .block--01 .text p::before, .main:is(body.concept *) .block--02 .text .item p::before, .main:is(body.concept *) .block--02 .text .lead::before, .main:is(body.concept *) .block--02 .menu .list .item a p::before, .main:is(body.spaceidea *) .block--01 .text .catch::before, .main:is(body.spaceidea *) .block--01 .text p::before, .main:is(body.spaceidea *) .section .lead .catch::before, .main:is(body.spaceidea *) .section .lead p::before, .main:is(body.spaceidea *) .section.spaceidea .list .item .text p::before,
.main:is(body.spaceidea *) .section.interiorstyle .list .item .text p::before, .main:is(body.design *) .block--01 .text .catch::before, .main:is(body.design *) .block--01 .text p::before, .main:is(body.design *) .section .lead .catch::before, .main:is(body.design *) .section .lead p::before, .main:is(body.design *) .section .detail .dTitle::before, .main:is(body.design *) .section .detail p::before, .main:is(body.design *) .section.landscape .lead .legend dd::before, .main:is(body.design *) .section.landscape .sub .text .sTitle::before, .main:is(body.design *) .section.landscape .sub .text p::before, .main:is(body.location *) .block--01 .text .catch::before, .main:is(body.area *) .block--01 .text .catch::before, .main:is(body.access *) .block--01 .text .catch::before, .main:is(body.location *) .block--01 .text p::before, .main:is(body.area *) .block--01 .text p::before, .main:is(body.access *) .block--01 .text p::before, .main:is(body.location *) .section .lead p::before, .main:is(body.area *) .section .lead p::before, .main:is(body.access *) .section .lead p::before, .main:is(body.location *) .section .note::before, .main:is(body.area *) .section .note::before, .main:is(body.access *) .section .note::before, .main:is(body.location *) .section.education .policy .list--01 dd::before, .main:is(body.location *) .section.education .policy .list--02 dd::before, .main:is(body.location *) .section.education .policy .link p::before, .main:is(body.location *) .section.education .policy .link .url::before, .main:is(body.area *) .spots .item .text .legend::before, .main:is(body.area *) .spots .item .text p::before, .main:is(body.area *) .spots .item .text .note::before, .main:is(body.quality *) .block--01 .text .catch::before, .main:is(body.quality *) .block--01 .text p::before, .main:is(body.quality *) .block--01 .movie .legend::before, .main:is(body.quality *) .block--01 .movie .list .text .legend::before, .main:is(body.quality *) .block--01 .movie .list .text p::before, .main:is(body.quality *) .section .prepend p::before, .main:is(body.quality *) .section .sub .list .item .legend::before, .main:is(body.quality *) .section .sub .list .item p::before, .main:is(body.quality *) .section .note::before, .main:is(body.brand *) .block--01 .text--02 p::before, .main:is(body.brand *) .section.stance .headline p::before, .main:is(body.brand *) .section.stance .sub .text .sTitle::before, .main:is(body.brand *) .section.stance .sub .text p::before, .main:is(body.limited *) .hero .text p::before, .main:is(body.limited_login *) .hero .text p::before, .main:is(body.plan_detail *) .floorPlan .note::before, .gFooter .about .wrap .contact .note::before {
  margin-bottom: calc((1em - 1lh) / 2);
}
.main .fNote .wrap::after, .main:is(body.top *) .block--01 .feature li .secondary::after, .main:is(body.top *) .block--01 .feature li .primary::after, .main:is(body.top *) .block--01 .limited .catch::after, .main:is(body.top *) .block--01 .limited p::after, .main:is(body.top *) .block--02 .menu a .catch::after, .main:is(body.concept *) .block--01 .text p::after, .main:is(body.concept *) .block--02 .text .item p::after, .main:is(body.concept *) .block--02 .text .lead::after, .main:is(body.concept *) .block--02 .menu .list .item a p::after, .main:is(body.spaceidea *) .block--01 .text .catch::after, .main:is(body.spaceidea *) .block--01 .text p::after, .main:is(body.spaceidea *) .section .lead .catch::after, .main:is(body.spaceidea *) .section .lead p::after, .main:is(body.spaceidea *) .section.spaceidea .list .item .text p::after,
.main:is(body.spaceidea *) .section.interiorstyle .list .item .text p::after, .main:is(body.design *) .block--01 .text .catch::after, .main:is(body.design *) .block--01 .text p::after, .main:is(body.design *) .section .lead .catch::after, .main:is(body.design *) .section .lead p::after, .main:is(body.design *) .section .detail .dTitle::after, .main:is(body.design *) .section .detail p::after, .main:is(body.design *) .section.landscape .lead .legend dd::after, .main:is(body.design *) .section.landscape .sub .text .sTitle::after, .main:is(body.design *) .section.landscape .sub .text p::after, .main:is(body.location *) .block--01 .text .catch::after, .main:is(body.area *) .block--01 .text .catch::after, .main:is(body.access *) .block--01 .text .catch::after, .main:is(body.location *) .block--01 .text p::after, .main:is(body.area *) .block--01 .text p::after, .main:is(body.access *) .block--01 .text p::after, .main:is(body.location *) .section .lead p::after, .main:is(body.area *) .section .lead p::after, .main:is(body.access *) .section .lead p::after, .main:is(body.location *) .section .note::after, .main:is(body.area *) .section .note::after, .main:is(body.access *) .section .note::after, .main:is(body.location *) .section.education .policy .list--01 dd::after, .main:is(body.location *) .section.education .policy .list--02 dd::after, .main:is(body.location *) .section.education .policy .link p::after, .main:is(body.location *) .section.education .policy .link .url::after, .main:is(body.area *) .spots .item .text .legend::after, .main:is(body.area *) .spots .item .text p::after, .main:is(body.area *) .spots .item .text .note::after, .main:is(body.quality *) .block--01 .text .catch::after, .main:is(body.quality *) .block--01 .text p::after, .main:is(body.quality *) .block--01 .movie .legend::after, .main:is(body.quality *) .block--01 .movie .list .text .legend::after, .main:is(body.quality *) .block--01 .movie .list .text p::after, .main:is(body.quality *) .section .prepend p::after, .main:is(body.quality *) .section .sub .list .item .legend::after, .main:is(body.quality *) .section .sub .list .item p::after, .main:is(body.quality *) .section .note::after, .main:is(body.brand *) .block--01 .text--02 p::after, .main:is(body.brand *) .section.stance .headline p::after, .main:is(body.brand *) .section.stance .sub .text .sTitle::after, .main:is(body.brand *) .section.stance .sub .text p::after, .main:is(body.limited *) .hero .text p::after, .main:is(body.limited_login *) .hero .text p::after, .main:is(body.plan_detail *) .floorPlan .note::after, .gFooter .about .wrap .contact .note::after {
  margin-top: calc((1em - 1lh) / 2);
}

@media screen and (hover: hover) and (pointer: fine) {
  .main:is(body.top *) .block--01 .limited .btn:hover, .main:is(body.location *) .section.education .policy .link .bnr:hover, .main:is(body.quality *) .block--01 .movie .list a:hover, .main:is(body.limited_login *) .hero .text .entry a:hover, .main:is(body.plan_detail *) a.back:hover {
    opacity: 0.8;
  }
}
@media screen and (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .main:is(body.top *) .block--01 .limited .btn, .main:is(body.location *) .section.education .policy .link .bnr, .main:is(body.quality *) .block--01 .movie .list a, .main:is(body.limited_login *) .hero .text .entry a, .main:is(body.plan_detail *) a.back {
    transition: opacity 0.4s;
  }
}

:root {
  font-size: 100px;
}
@media screen and (max-width: 1200px) and (min-width: 751px) {
  :root {
    font-size: 8.3333333333vw;
  }
}
@media screen and (max-width: 750px) {
  :root {
    font-size: 26.6666666667vw;
  }
}

html {
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
}

body:has(.popup[open]) {
  height: 100vh;
  overflow: hidden;
}

.contents {
  background: #fff;
  color: #000;
  font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
  font-size: 0.14rem;
  letter-spacing: 0;
  line-height: 1.5;
  font-weight: 300;
}
@media screen and (max-width: 750px) {
  .contents {
    font-size: 0.12rem;
    line-height: 1.5;
  }
}
.contents ul,
.contents ol,
.contents li,
.contents dl,
.contents dt,
.contents dd,
.contents figure {
  font-size: inherit;
  margin: 0;
  padding: 0;
}
.contents a {
  color: inherit;
}
.contents img {
  vertical-align: top;
  width: 100%;
  height: auto;
}
.contents li {
  list-style: none;
}

.wrap {
  max-width: 9.76rem;
  margin-inline: auto;
}
@media screen and (max-width: 750px) {
  .wrap {
    padding-inline: 0.2rem;
  }
}

.sp {
  display: none;
}

@media screen and (max-width: 750px) {
  .pc {
    display: none;
  }
  .sp {
    display: revert;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .fadeUp {
    opacity: 0;
    translate: 0 0.4rem 0;
    transition: 2.6s;
    transition-property: opacity, translate;
  }
  .fadeUp.scrollIn {
    opacity: 1;
    translate: 0 0 0;
  }
}

.yokoku .wrap {
  display: grid;
  grid-template-rows: 0.68rem;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 0.12rem;
}
@media screen and (max-width: 750px) {
  .yokoku .wrap {
    grid-template-rows: 0.75rem;
    gap: 0.1rem;
  }
}
.yokoku .wrap .legend {
  display: grid;
  place-items: center;
  grid-row: 1/2;
  grid-column: 1/2;
  width: 0.76rem;
  height: 0.28rem;
  font-size: 0.15rem;
  line-height: 1;
  box-shadow: inset 0 0 0 0.02rem currentColor;
}
@media screen and (max-width: 750px) {
  .yokoku .wrap .legend {
    width: 0.76rem;
    height: 0.28rem;
    font-size: 0.15rem;
  }
}
.yokoku .wrap p {
  grid-row: 1/2;
  grid-column: 2/3;
  font-size: 0.1rem;
  line-height: 1.6;
}
@media screen and (max-width: 750px) {
  .yokoku .wrap p {
    line-height: 1.4;
  }
}

.gHeader {
  display: grid;
  grid-template-rows: 0.9rem 0.4rem;
  grid-template-columns: 1fr auto auto;
  box-sizing: border-box;
  width: 100%;
  padding: 0 0.2rem;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  z-index: 9000;
  background: #fff;
}
@media screen and (max-width: 750px) {
  .gHeader {
    display: flex;
    justify-content: space-between;
    border-top: 0.01rem solid currentColor;
    border-bottom: 0.01rem solid currentColor;
    top: 48px;
    padding: 0 0 0 0.1rem;
  }
}
@media screen and (max-width: 750px) and (prefers-reduced-motion: no-preference) {
  .gHeader {
    transition: 0.4s;
    transition-property: border-top-color, border-bottom-color, background-color;
  }
}
@media screen and (max-width: 750px) {
  .gHeader.transparent {
    border-top-color: transparent;
    border-bottom-color: transparent;
    background-color: transparent;
  }
  .gHeader.transparent:is(body.location *), .gHeader.transparent:is(body.area *), .gHeader.transparent:is(body.access *) {
    background-color: rgba(255, 255, 255, 0.9);
  }
  .gHeader.transparent .logo {
    opacity: 0;
    pointer-events: none;
  }
}
@media screen and (min-width: 751px) {
  .gHeader:is(body.plan_detail *) {
    border-bottom: 0.01rem solid currentColor;
    padding-bottom: 0.19rem;
  }
}
.gHeader .logo {
  grid-row: 1/2;
  grid-column: 1/2;
  align-self: center;
  display: block;
  width: 3rem;
  height: 0.46rem;
  background-color: currentColor;
  -webkit-mask: url(../img/common/logo01.svg) center/contain no-repeat;
          mask: url(../img/common/logo01.svg) center/contain no-repeat;
}
.gHeader .logo span {
  visibility: hidden;
}
@media screen and (max-width: 750px) {
  .gHeader .logo {
    width: 2.05rem;
    height: 0.32rem;
    -webkit-mask-image: url(../img/common/logo01_sp.svg);
            mask-image: url(../img/common/logo01_sp.svg);
  }
}
@media screen and (max-width: 750px) and (prefers-reduced-motion: no-preference) {
  .gHeader .logo {
    transition: 0.4s;
    transition-property: opacity;
  }
}
.gHeader .btn--menu {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.08rem;
  box-sizing: border-box;
  width: 0.62rem;
  height: 0.46rem;
  padding: 0.08rem 0 0;
  position: relative;
  background: #fff;
  color: #a48e3c;
}
@media screen and (min-width: 751px) {
  .gHeader .btn--menu {
    display: none;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .gHeader .btn--menu {
    transition: 0.4s;
    transition-property: background-color, color;
  }
}
.gHeader .btn--menu input,
.gHeader .btn--menu .bar {
  grid-area: 1/1;
}
.gHeader .btn--menu input {
  visibility: hidden;
  position: absolute;
  top: 0;
  left: 0;
}
.gHeader .btn--menu .bar {
  display: grid;
  width: 0.26rem;
  height: 0.12rem;
}
.gHeader .btn--menu .bar::before, .gHeader .btn--menu .bar::after {
  content: "";
  display: block;
  height: 0.02rem;
  grid-area: 1/1;
  align-self: center;
  justify-self: stretch;
  background: currentColor;
}
@media (prefers-reduced-motion: no-preference) {
  .gHeader .btn--menu .bar::before, .gHeader .btn--menu .bar::after {
    transition: 0.2s;
    transition-property: translate, rotate;
  }
}
.gHeader .btn--menu .bar::before {
  translate: 0 -0.05rem 0;
}
.gHeader .btn--menu .bar::after {
  translate: 0 0.05rem 0;
}
.gHeader .btn--menu::after {
  content: "MENU";
  display: block;
  font-size: 0.11rem;
  font-weight: 500;
  line-height: 1;
}
.gHeader .btn--menu:has(input:checked) {
  background: transparent;
  color: #fff;
}
.gHeader .btn--menu:has(input:checked) .bar::before {
  translate: 0 0 0;
  rotate: 135deg;
}
.gHeader .btn--menu:has(input:checked) .bar::after {
  translate: 0 0 0;
  rotate: 45deg;
}
.gHeader .btn--menu:has(input:checked)::after {
  content: "CLOSE";
}
.gHeader .navigation {
  display: contents;
}
@media screen and (max-width: 750px) {
  .gHeader .navigation {
    display: block;
    width: 100%;
    box-sizing: border-box;
    height: calc(100vh - 48px);
    height: calc(100dvh - 48px);
    padding: 0.48rem 0;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.9);
    color: #fff;
    overflow-y: scroll;
    -webkit-clip-path: inset(0 0 100%);
            clip-path: inset(0 0 100%);
  }
}
@media screen and (max-width: 750px) and (prefers-reduced-motion: no-preference) {
  .gHeader .navigation {
    transition: -webkit-clip-path 0.4s;
    transition: clip-path 0.4s;
    transition: clip-path 0.4s, -webkit-clip-path 0.4s;
  }
}
@media screen and (max-width: 750px) {
  .gHeader .navigation:is(.gHeader:has(.btn--menu input:checked) *) {
    -webkit-clip-path: inset(0 0 0);
            clip-path: inset(0 0 0);
  }
}
.gHeader .navigation .pager.primary {
  grid-row: 2/3;
  grid-column: 1/4;
  justify-self: center;
  display: flex;
  box-sizing: border-box;
  width: 9.76rem;
  border-left: 0.01rem solid currentColor;
}
@media screen and (max-width: 750px) {
  .gHeader .navigation .pager.primary {
    flex-wrap: wrap;
    width: auto;
    border-left: none;
  }
}
.gHeader .navigation .pager.primary li {
  box-sizing: border-box;
  width: 12.5%;
  border-right: 0.01rem solid currentColor;
}
@media screen and (max-width: 750px) {
  .gHeader .navigation .pager.primary li {
    width: 50%;
    border-top: 0.01rem solid #b3b3b3;
    border-right-color: #b3b3b3;
  }
  .gHeader .navigation .pager.primary li:nth-child(even) {
    border-right: none;
  }
}
.gHeader .navigation .pager.primary a {
  display: grid;
  height: 0.4rem;
  place-items: center;
  position: relative;
  font-family: "neue-haas-grotesk-display", sans-serif;
  line-height: 0.15rem;
  text-align: center;
  text-decoration: none;
}
@media screen and (max-width: 750px) {
  .gHeader .navigation .pager.primary a {
    height: 0.48rem;
    font-size: 0.14rem;
  }
}
.gHeader .navigation .pager.primary a::after {
  content: "";
  display: block;
  height: 0.04rem;
  position: absolute;
  right: 0.05rem;
  bottom: 0;
  left: 0.05rem;
  background: currentColor;
  scale: 0 1;
}
@media screen and (max-width: 750px) {
  .gHeader .navigation .pager.primary a::after {
    content: none;
  }
}
@media screen and (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .gHeader .navigation .pager.primary a::after {
    transform-origin: right;
    transition: scale 0.4s;
  }
}
@media screen and (hover: hover) and (pointer: fine) {
  .gHeader .navigation .pager.primary a:hover::after {
    scale: 1 1;
    transform-origin: left;
  }
}
.gHeader .navigation .pager.primary a.active::after {
  scale: 1 1;
}
.gHeader .navigation .pager.primary a.off {
  opacity: 0.4;
  pointer-events: none;
}
.gHeader .navigation .pager.secondary {
  grid-row: 1/2;
  grid-column: 2/3;
  align-self: center;
  width: 1.2rem;
  line-height: 0.24rem;
}
@media screen and (max-width: 750px) {
  .gHeader .navigation .pager.secondary {
    width: auto;
    display: flex;
    border-bottom: 0.01rem solid #b3b3b3;
  }
  .gHeader .navigation .pager.secondary li {
    width: 50%;
    border-top: 0.01rem solid #b3b3b3;
  }
  .gHeader .navigation .pager.secondary li:nth-child(odd) {
    border-right: 0.01rem solid #b3b3b3;
  }
}
.gHeader .navigation .pager.secondary a {
  text-decoration: none;
}
@media screen and (max-width: 750px) {
  .gHeader .navigation .pager.secondary a {
    display: grid;
    height: 0.48rem;
    place-items: center;
    font-size: 0.14rem;
  }
}
.gHeader .navigation .pager.secondary a::before {
  content: "";
  display: inline-block;
  width: 0.11rem;
  height: 0.13rem;
  margin: 0.01rem 0.02rem 0 0;
  background: currentColor;
  -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
          clip-path: polygon(0 0, 100% 50%, 0 100%);
}
@media screen and (max-width: 750px) {
  .gHeader .navigation .pager.secondary a::before {
    content: none;
  }
}
@media screen and (hover: hover) and (pointer: fine) {
  .gHeader .navigation .pager.secondary a {
    transition: opacity 0.4s;
  }
  .gHeader .navigation .pager.secondary a:hover {
    opacity: 0.5;
  }
}
.gHeader .navigation .cv {
  grid-row: 1/2;
  grid-column: 3/4;
  align-self: center;
  display: flex;
  gap: 0.1rem;
}
@media screen and (max-width: 750px) {
  .gHeader .navigation .cv {
    flex-direction: column;
    padding: 0.1rem 0.08rem 0;
  }
}
.gHeader .navigation .cv li {
  width: 1.6rem;
}
@media screen and (max-width: 750px) {
  .gHeader .navigation .cv li {
    width: auto;
  }
}
.gHeader .navigation .cv a {
  display: grid;
  place-items: center;
  height: 0.48rem;
  padding: 0 0 0 0.34rem;
  color: #fff;
  line-height: 0.16rem;
  text-align: center;
  text-decoration: none;
}
@media screen and (max-width: 750px) {
  .gHeader .navigation .cv a {
    height: 0.5rem;
    padding: 0;
    font-size: 0.14rem;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .gHeader .navigation .cv a {
    transition: background-color 0.4s;
  }
}
.gHeader .navigation .cv a.entry {
  background: #920d22 url(../img/common/ico-entry.svg) 0.16rem 50%/auto 0.28rem no-repeat;
}
@media screen and (max-width: 750px) {
  .gHeader .navigation .cv a.entry {
    background-image: none;
  }
}
@media screen and (hover: hover) and (pointer: fine) {
  .gHeader .navigation .cv a.entry:hover {
    background-color: rgba(146, 13, 34, 0.5);
  }
}
.gHeader .navigation .cv a.limited {
  background: #736446 url(../img/common/ico-limited.svg) 0.12rem 50%/0.28rem auto no-repeat;
}
@media screen and (max-width: 750px) {
  .gHeader .navigation .cv a.limited {
    background-image: none;
  }
}
@media screen and (hover: hover) and (pointer: fine) {
  .gHeader .navigation .cv a.limited:hover {
    background-color: rgba(115, 100, 70, 0.5);
  }
}
.gHeader .navigation .cv a.limited.is-disabled {
  pointer-events: none;
  cursor: default;
  opacity: 0.4;
}
@media screen and (hover: hover) and (pointer: fine) {
  .gHeader .navigation .cv a.limited.is-disabled:hover {
    background-color: #736446;
  }
}
.gHeader .navigation .cv a.reserve {
  background: #21366e url(../img/common/ico-reserve.svg) 0.27rem 50%/0.26rem auto no-repeat;
}
@media screen and (max-width: 750px) {
  .gHeader .navigation .cv a.reserve {
    background-image: none;
  }
}
@media screen and (hover: hover) and (pointer: fine) {
  .gHeader .navigation .cv a.reserve:hover {
    background-color: rgba(33, 54, 110, 0.5);
  }
}

body.location .sNavHelper,
body.area .sNavHelper,
body.access .sNavHelper {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: calc(140px + 1.59rem);
  z-index: -1;
  pointer-events: none;
}
@media screen and (max-width: 750px) {
  body.location .sNavHelper,
body.area .sNavHelper,
body.access .sNavHelper {
    height: calc(48px + 0.48rem);
  }
}

.main {
  position: relative;
}
.main .headerHelper {
  display: none;
}
@media screen and (max-width: 750px) {
  .main .headerHelper {
    display: block;
    width: 1px;
    height: 0.48rem;
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
  }
}
.main:has(.pageTitle) {
  margin: 1.08rem 0 0;
  border-top: 0.01rem solid currentColor;
}
@media screen and (max-width: 750px) {
  .main:has(.pageTitle) {
    margin: 0.32rem 0 0;
  }
}
.main:has(.pageTitle) .wrap:has(.pageTitle) {
  position: relative;
}
.main:has(.pageTitle) .pageTitle {
  display: grid;
  place-items: center;
  width: 1.8rem;
  height: 0.2rem;
  position: absolute;
  top: -0.1rem;
  left: 0;
  background: #000;
  color: #fff;
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-size: 0.14rem;
  font-weight: 300;
}
@media screen and (max-width: 750px) {
  .main:has(.pageTitle) .pageTitle {
    left: 0.2rem;
  }
}
.main .title--01 {
  border-bottom: 0.01rem solid currentColor;
  padding: 0 0 0.09rem;
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-size: 0.16rem;
  font-weight: 700;
  line-height: 1;
}
.main .image:has(figcaption) {
  display: grid;
}
.main .image:has(figcaption) > * {
  grid-area: 1/1;
}
.main .image:has(figcaption) figcaption {
  align-self: end;
  box-sizing: border-box;
  width: 100%;
  padding: 0 1em;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.5));
  color: #fff;
  font-size: 0.1rem;
  line-height: 0.3rem;
  text-align: right;
}
@media screen and (max-width: 750px) {
  .main .image:has(figcaption) figcaption {
    padding: 0 0.05rem;
    font-size: 0.09rem;
    line-height: 0.15rem;
  }
}
.main .fNote {
  padding: 0.5rem 0 0.4rem;
  background: #fff;
  font-size: 0.1rem;
  line-height: 1.6;
}
@media screen and (max-width: 750px) {
  .main .fNote {
    padding: 0.3rem 0 0.44rem;
  }
}
.main:is(body.top *) {
  grid-area: 1/1;
}
.main:is(body.top *) .hero {
  grid-area: 1/1;
}
.main:is(body.top *) .hero .mainVisual {
  grid-area: 1/1;
  display: grid;
  position: relative;
}
.main:is(body.top *) .hero .mainVisual .panel {
  grid-area: 1/1;
  position: relative;
}
.main:is(body.top *) .hero .mainVisual .panel--01 .legend {
  width: 64.8333333333%;
  position: absolute;
  top: 21.9736842105%;
  left: 22.25%;
}
@media screen and (max-width: 750px) {
  .main:is(body.top *) .hero .mainVisual .panel--01 .legend {
    width: 83.4666666667%;
    top: 39.0476190476%;
    left: 15.4666666667%;
  }
}
.main:is(body.top *) .hero .mainVisual .panel--01 .text {
  width: 100%;
  position: absolute;
  top: 44.7368421053%;
  left: 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.top *) .hero .mainVisual .panel--01 .text {
    width: 74.9333333333%;
    top: 10.4761904762%;
    left: 6.4%;
  }
}
.main:is(body.top *) .hero .mainVisual .catch {
  position: absolute;
  width: 20.8333333333%;
  top: 28.8157894737%;
  left: 8.75%;
}
@media screen and (max-width: 750px) {
  .main:is(body.top *) .hero .mainVisual .catch {
    width: 53.8666666667%;
    top: 14.5238095238%;
    left: 5.8666666667%;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .main:is(body.top *) .hero .mainVisual .panel .image {
    opacity: 0;
  }
  .main:is(body.top *) .hero .mainVisual .panel--01 .legend,
.main:is(body.top *) .hero .mainVisual .panel--01 .text {
    opacity: 0;
  }
  .main:is(body.top *) .hero .mainVisual .catch {
    opacity: 0;
  }
  .main:is(body.top *) .hero .mainVisual.ready .image {
    opacity: 1;
    transition: opacity 2.6s;
  }
  .main:is(body.top *) .hero .mainVisual.ready .panel--01 .legend {
    opacity: 1;
    transition: opacity 2.6s;
    transition-delay: 1.6s;
  }
  .main:is(body.top *) .hero .mainVisual.ready .panel--01 .text {
    opacity: 1;
    transition: opacity 4.8s;
    transition-delay: 2.6s;
  }
  .main:is(body.top *) .hero .mainVisual.ready .panel--02 .image {
    transition-delay: 9.6s;
  }
  .main:is(body.top *) .hero .mainVisual.ready .panel--03 .image {
    transition-delay: 15.2s;
  }
  .main:is(body.top *) .hero .mainVisual.ready .catch {
    opacity: 1;
    transition: opacity 2.6s;
    transition-delay: 11s;
  }
}
.main:is(body.top *) .block--01 {
  container-type: inline-size;
  padding: 1rem 0 0.7rem;
  background: url(../img/top/bg01@2x.webp) 100% 7rem/calc(50% + 1rem) auto no-repeat;
}
@media screen and (max-width: 750px) {
  .main:is(body.top *) .block--01 {
    padding: 0 0 0.6rem;
    background-image: url(../img/top/bg01_sp@2x.webp);
    background-position: 100% 100%;
    background-size: 3.33rem auto;
  }
}
.main:is(body.top *) .block--01 .wrap {
  display: grid;
  grid-template-rows: 1fr auto auto;
  grid-template-columns: 4.68rem 1fr;
  gap: 0 0.6rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.top *) .block--01 .wrap {
    display: block;
  }
}
.main:is(body.top *) .block--01 .feature {
  grid-row: 1/2;
  grid-column: 2/3;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  margin: 0.6rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.top *) .block--01 .feature {
    gap: 0.1rem;
    width: 2.7rem;
    margin: 0.16rem 0 0 auto;
  }
}
.main:is(body.top *) .block--01 .feature li {
  border-bottom: 0.01rem solid currentColor;
  padding: 0 0 0.15rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.top *) .block--01 .feature li {
    padding: 0.16rem 0;
  }
}
.main:is(body.top *) .block--01 .feature li .secondary {
  font-size: 0.12rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.top *) .block--01 .feature li .secondary {
    font-size: 0.11rem;
  }
}
.main:is(body.top *) .block--01 .feature li .primary {
  padding: 0.12rem 0 0;
  font-size: 0.18rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.top *) .block--01 .feature li .primary {
    padding: 0.1rem 0 0;
    font-size: 0.16rem;
    line-height: 0.26rem;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .main:is(body.top *) .block--01 .feature li .secondary,
.main:is(body.top *) .block--01 .feature li .primary {
    -webkit-clip-path: inset(0 100% 0 0);
            clip-path: inset(0 100% 0 0);
  }
  .main:is(body.top *) .block--01 .feature li.scrollIn .secondary,
.main:is(body.top *) .block--01 .feature li.scrollIn .primary {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
    transition: -webkit-clip-path 2s;
    transition: clip-path 2s;
    transition: clip-path 2s, -webkit-clip-path 2s;
  }
  .main:is(body.top *) .block--01 .feature li.scrollIn .primary {
    transition-delay: 0.5s;
  }
}
.main:is(body.top *) .block--01 .gallery {
  grid-row: 1/3;
  grid-column: 1/2;
  display: grid;
  margin-left: -1.12rem;
  background: #000;
}
@media screen and (max-width: 750px) {
  .main:is(body.top *) .block--01 .gallery {
    width: 3rem;
    margin: 0.42rem 0 0 -0.2rem;
  }
}
.main:is(body.top *) .block--01 .gallery li {
  grid-area: 1/1;
}
.main:is(body.top *) .block--01 .gallery li .image {
  opacity: 0;
  transition: opacity 0.8s;
  mix-blend-mode: plus-lighter;
}
.main:is(body.top *) .block--01 .gallery li .image.active {
  opacity: 1;
}
.main:is(body.top *) .block--01 .limited {
  grid-row: 2/3;
  grid-column: 2/3;
  display: grid;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr auto;
  gap: 0.2rem 0;
  padding: 0 0 0.2rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.top *) .block--01 .limited {
    display: block;
    width: 2.9rem;
    padding: 0.4rem 0 0;
    margin: 0 0 0 auto;
  }
}
.main:is(body.top *) .block--01 .limited .catch {
  grid-row: 1/2;
  grid-column: 1/2;
  color: #920d22;
  font-weight: 700;
  font-size: 0.22rem;
  line-height: 0.34rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.top *) .block--01 .limited .catch {
    font-size: 0.18rem;
    line-height: 0.28rem;
  }
}
.main:is(body.top *) .block--01 .limited p {
  grid-row: 2/3;
  grid-column: 1/2;
  font-size: 0.13rem;
  line-height: 0.25rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.top *) .block--01 .limited p {
    padding: 0.18rem 0 0;
    font-size: 0.12rem;
    line-height: 0.26rem;
  }
}
.main:is(body.top *) .block--01 .limited .btn {
  grid-row: 1/3;
  grid-column: 2/3;
  display: grid;
  place-items: center;
  width: 1.3rem;
  height: 1.3rem;
  background: #920d22;
  color: white;
  font-size: 0.16rem;
  font-weight: 700;
  line-height: 0.22rem;
  text-align: center;
  text-decoration: none;
}
@media screen and (max-width: 750px) {
  .main:is(body.top *) .block--01 .limited .btn {
    margin: 0.2rem 0 0;
    width: auto;
    height: 0.48rem;
  }
}
.main:is(body.top *) .block--01 .information {
  grid-row: 3/4;
  grid-column: 1/3;
  margin: 0.68rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.top *) .block--01 .information {
    width: 2.9rem;
    margin: 0.5rem 0 0 auto;
  }
}
.main:is(body.top *) .block--01 .information dl {
  display: grid;
  grid-template-columns: 1rem 1fr;
  gap: 0.2rem 0;
  margin: 0.25rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.top *) .block--01 .information dl {
    display: block;
  }
}
.main:is(body.top *) .block--01 .information dl dt {
  grid-column: 1/2;
}
.main:is(body.top *) .block--01 .information dl dd {
  grid-column: 2/3;
}
@media screen and (max-width: 750px) {
  .main:is(body.top *) .block--01 .information dl dd {
    margin: 0.04rem 0 0;
  }
  .main:is(body.top *) .block--01 .information dl dd + dt {
    margin: 0.25rem 0 0;
  }
}
.main:is(body.top *) .block--02 {
  padding: 1rem 0 1.1rem;
  background: url(../img/top/bg02@2x.webp) 0 100%/calc(50% + 2rem) auto no-repeat;
}
@media screen and (max-width: 750px) {
  .main:is(body.top *) .block--02 {
    padding: 0.4rem 0 0.28rem;
    background-image: url(../img/top/bg02_sp@2x.webp);
    background-position: 0 100%;
    background-size: 3.1rem auto;
  }
}
.main:is(body.top *) .block--02 .wrap {
  display: grid;
  grid-template-rows: auto;
  grid-template-columns: 1fr 4.68rem;
  gap: 0 0.6rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.top *) .block--02 .wrap {
    display: block;
  }
}
.main:is(body.top *) .block--02 .menu {
  grid-row: 1/2;
  grid-column: 1/2;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  margin: 0.9rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.top *) .block--02 .menu {
    gap: 0.28rem;
    width: 2.7rem;
    margin: 0;
  }
}
.main:is(body.top *) .block--02 .menu a {
  display: grid;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr auto;
  gap: 0.16rem 0;
  text-decoration: none;
}
@media screen and (max-width: 750px) {
  .main:is(body.top *) .block--02 .menu a {
    display: block;
  }
}
.main:is(body.top *) .block--02 .menu a .legend,
.main:is(body.top *) .block--02 .menu a .catch, .main:is(body.top *) .block--02 .menu a::after {
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
}
.main:is(body.top *) .block--02 .menu a .legend {
  grid-row: 1/2;
  grid-column: 1/3;
}
@media screen and (max-width: 750px) {
  .main:is(body.top *) .block--02 .menu a .legend {
    padding: 0 0 0.06rem;
    font-size: 0.14rem;
  }
}
.main:is(body.top *) .block--02 .menu a .catch {
  grid-row: 2/3;
  grid-column: 1/2;
  font-size: 0.24rem;
  font-weight: 300;
}
@media screen and (max-width: 750px) {
  .main:is(body.top *) .block--02 .menu a .catch {
    padding: 0.1rem 0 0;
    font-size: 0.16rem;
  }
}
.main:is(body.top *) .block--02 .menu a::after {
  grid-row: 2/3;
  grid-column: 2/2;
  align-self: flex-end;
  content: "";
  display: block;
  width: 1.15rem;
  height: 0.2rem;
  background: url(../img/common/ico-more.svg) center/contain no-repeat;
}
@media screen and (max-width: 750px) {
  .main:is(body.top *) .block--02 .menu a::after {
    margin: 0.15rem 0 0;
  }
}
.main:is(body.top *) .block--02 .menu a.off {
  pointer-events: none;
}
.main:is(body.top *) .block--02 .menu a.off::after {
  opacity: 0.4;
}
@media screen and (hover: hover) and (pointer: fine) {
  .main:is(body.top *) .block--02 .menu a:hover::after {
    opacity: 0.8;
  }
}
.main:is(body.top *) .block--02 .menu.scrollIn a .legend,
.main:is(body.top *) .block--02 .menu.scrollIn a .catch, .main:is(body.top *) .block--02 .menu.scrollIn a::after {
  -webkit-clip-path: inset(0 0 0 0);
          clip-path: inset(0 0 0 0);
  transition: -webkit-clip-path 2s;
  transition: clip-path 2s;
  transition: clip-path 2s, -webkit-clip-path 2s;
}
.main:is(body.top *) .block--02 .menu.scrollIn a .catch, .main:is(body.top *) .block--02 .menu.scrollIn a::after {
  transition-delay: 1s;
}
.main:is(body.top *) .block--02 .menu.scrollIn a::after {
  transition: opacity 0.4s 0s, -webkit-clip-path 2s 1s;
  transition: clip-path 2s 1s, opacity 0.4s 0s;
  transition: clip-path 2s 1s, opacity 0.4s 0s, -webkit-clip-path 2s 1s;
}
.main:is(body.top *) .block--02 .gallery {
  grid-row: 1/2;
  grid-column: 2/3;
  display: grid;
  margin-right: -1.12rem;
  background: #000;
}
@media screen and (max-width: 750px) {
  .main:is(body.top *) .block--02 .gallery {
    width: 3rem;
    margin: 0.35rem -0.2rem 0 auto;
  }
}
.main:is(body.top *) .block--02 .gallery li {
  grid-area: 1/1;
}
.main:is(body.top *) .block--02 .gallery .image {
  opacity: 0;
  transition: opacity 0.8s;
  mix-blend-mode: plus-lighter;
}
.main:is(body.top *) .block--02 .gallery .image.active {
  opacity: 1;
}
.main:is(body.concept *) {
  container-type: inline-size;
  background-color: #ebe6e1;
  background-image: url(../img/concept/bg03.webp), url(../img/concept/bg04.webp), url(../img/concept/bg01@2x.webp), url(../img/common/bg02@2x.webp);
  background-position: 0 11.9rem, 100% 16.9rem, 50% calc(-100cqw + 12rem), 50% calc(100% + 66.6666666667cqw - 8rem);
  background-size: 6rem auto, 6rem auto, 100% auto, 100% auto;
  background-repeat: no-repeat;
}
@media screen and (max-width: 750px) {
  .main:is(body.concept *) {
    background-image: url(../img/concept/bg01_sp@2x.webp), url(../img/concept/bg02_sp@2x.webp);
    background-position: 0 0, 0 100%;
    background-size: 100% auto;
  }
}
.main:is(body.concept *) .block--01 .wrap {
  display: grid;
  grid-template-rows: auto 1.6rem auto;
  grid-template-columns: 1fr 4.68rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.concept *) .block--01 .wrap {
    grid-template-rows: auto auto auto;
    grid-template-columns: 1fr 1.66rem;
    padding-top: 0.28rem;
  }
}
.main:is(body.concept *) .block--01 .image--01 {
  grid-row: 1/3;
  grid-column: 2/3;
  margin: -0.5rem -1.12rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.concept *) .block--01 .image--01 {
    grid-row: 1/2;
    grid-column: 1/3;
    margin: 0;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .main:is(body.concept *) .block--01 .image--01 {
    -webkit-mask-image: linear-gradient(275deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 10%, #fff 30%, #fff 80%, #fff 110%);
            mask-image: linear-gradient(275deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 10%, #fff 30%, #fff 80%, #fff 110%);
    -webkit-mask-size: 250% 100%;
            mask-size: 250% 100%;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: 160% 0;
            mask-position: 160% 0;
  }
  .main:is(body.concept *) .block--01 .image--01.ready {
    -webkit-animation: mask-animation 1s linear forwards;
            animation: mask-animation 1s linear forwards;
  }
  @-webkit-keyframes mask-animation {
    from {
      -webkit-mask-position: 160% 0;
              mask-position: 160% 0;
    }
    to {
      -webkit-mask-position: 0 0;
              mask-position: 0 0;
    }
  }
  @keyframes mask-animation {
    from {
      -webkit-mask-position: 160% 0;
              mask-position: 160% 0;
    }
    to {
      -webkit-mask-position: 0 0;
              mask-position: 0 0;
    }
  }
}
.main:is(body.concept *) .block--01 .text {
  grid-row: 1/2;
  grid-column: 1/2;
  padding: 0.62rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.concept *) .block--01 .text {
    grid-row: 2/3;
    grid-column: 1/3;
    padding: 0.3rem 0 0;
  }
}
.main:is(body.concept *) .block--01 .text .catch .en {
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-size: 0.56rem;
  font-weight: 200;
  letter-spacing: 0.05em;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .main:is(body.concept *) .block--01 .text .catch .en {
    font-size: 0.32rem;
  }
}
.main:is(body.concept *) .block--01 .text .catch .ja {
  padding: 0.13rem 0 0;
  font-size: 0.32rem;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .main:is(body.concept *) .block--01 .text .catch .ja {
    padding: 0.1rem 0 0;
    font-size: 0.2rem;
  }
}
.main:is(body.concept *) .block--01 .text p {
  padding: 0.38rem 0 0.66rem;
  font-size: 0.16rem;
  line-height: 0.38rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .main:is(body.concept *) .block--01 .text p {
    padding: 0.2rem 0 0.3rem;
    font-size: 0.12rem;
    line-height: 2;
  }
}
.main:is(body.concept *) .block--01 .image--02 {
  grid-row: 2/4;
  grid-column: 1/2;
  align-self: start;
  width: 3.6rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.concept *) .block--01 .image--02 {
    grid-row: 3/4;
    width: 1.6rem;
  }
}
.main:is(body.concept *) .block--01 .image--03 {
  grid-row: 3/4;
  grid-column: 2/3;
  margin: 0.88rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.concept *) .block--01 .image--03 {
    grid-row: 3/4;
    align-self: center;
    margin: 0;
  }
}
.main:is(body.concept *) .block--02 {
  margin: 1rem 0 0;
  padding: 0 0 1rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.concept *) .block--02 {
    margin: 0.5rem 0 0;
    padding: 0 0 0.2rem;
  }
}
.main:is(body.concept *) .block--02 .text {
  display: grid;
  grid-template-rows: repeat(3, auto);
  grid-template-columns: repeat(2, 1fr);
  gap: 0 0.48rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.concept *) .block--02 .text {
    display: block;
  }
}
.main:is(body.concept *) .block--02 .text .catch {
  grid-row: 1/2;
  grid-column: 1/3;
  display: flex;
  align-self: center;
  justify-content: center;
  gap: 0.5em;
  font-size: 0.32rem;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .main:is(body.concept *) .block--02 .text .catch {
    flex-direction: column;
    align-items: center;
    gap: 0.07rem;
    font-size: 0.2rem;
  }
}
.main:is(body.concept *) .block--02 .text .item {
  grid-row: 2/3;
  margin: 0.15rem 0 0;
  color: #fff;
  padding: 0.13rem 0 0.18rem;
  text-align: center;
}
.main:is(body.concept *) .block--02 .text .item .legend {
  font-size: 0.16rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
}
.main:is(body.concept *) .block--02 .text .item p {
  padding: 0.1rem 0 0;
  font-size: 0.12rem;
  line-height: 0.2rem;
}
.main:is(body.concept *) .block--02 .text .item--01 {
  grid-column: 1/2;
  justify-self: end;
  width: 3.17rem;
  background: #d79b69;
}
@media screen and (max-width: 750px) {
  .main:is(body.concept *) .block--02 .text .item--01 {
    margin: 0.24rem auto 0;
  }
}
.main:is(body.concept *) .block--02 .text .item--02 {
  grid-column: 2/3;
  width: 3.21rem;
  background: #5f8c5f;
}
@media screen and (max-width: 750px) {
  .main:is(body.concept *) .block--02 .text .item--02 {
    width: 3.17rem;
    margin: 0.2rem auto 0;
  }
}
.main:is(body.concept *) .block--02 .text .lead {
  grid-row: 3/4;
  grid-column: 1/3;
  padding: 0.3rem 0 0;
  line-height: 2;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .main:is(body.concept *) .block--02 .text .lead {
    padding: 0.24rem 0 0;
  }
}
.main:is(body.concept *) .block--02 .menu {
  display: grid;
  position: relative;
  margin: 0.54rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.concept *) .block--02 .menu {
    margin: 0.4rem 0 0;
  }
}
.main:is(body.concept *) .block--02 .menu .image--01,
.main:is(body.concept *) .block--02 .menu .image--02 {
  width: 3.61rem;
  position: absolute;
}
@media screen and (max-width: 750px) {
  .main:is(body.concept *) .block--02 .menu .image--01,
.main:is(body.concept *) .block--02 .menu .image--02 {
    display: none;
  }
}
.main:is(body.concept *) .block--02 .menu .image--01 figcaption,
.main:is(body.concept *) .block--02 .menu .image--02 figcaption {
  padding-right: 0.46rem;
  background: none;
  color: inherit;
}
.main:is(body.concept *) .block--02 .menu .image--01 {
  top: -1.77rem;
  right: -1.12rem;
}
.main:is(body.concept *) .block--02 .menu .image--02 {
  bottom: -1.57rem;
  left: -1.12rem;
}
.main:is(body.concept *) .block--02 .menu .list {
  grid-area: 1/1;
  justify-self: center;
  width: 6.75rem;
  aspect-ratio: 675/632;
  position: relative;
  background: url(../img/concept/bg05.webp) center/contain no-repeat;
}
@media screen and (max-width: 750px) {
  .main:is(body.concept *) .block--02 .menu .list {
    width: 2.96rem;
  }
}
.main:is(body.concept *) .block--02 .menu .list .item {
  width: 2.4rem;
  position: absolute;
}
@media screen and (max-width: 750px) {
  .main:is(body.concept *) .block--02 .menu .list .item {
    width: 1.1rem;
  }
}
.main:is(body.concept *) .block--02 .menu .list .item--01, .main:is(body.concept *) .block--02 .menu .list .item--02 {
  top: 0.28rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.concept *) .block--02 .menu .list .item--01, .main:is(body.concept *) .block--02 .menu .list .item--02 {
    top: 0.12rem;
  }
}
.main:is(body.concept *) .block--02 .menu .list .item--01, .main:is(body.concept *) .block--02 .menu .list .item--05 {
  left: 0.3rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.concept *) .block--02 .menu .list .item--01, .main:is(body.concept *) .block--02 .menu .list .item--05 {
    left: 0.2rem;
  }
}
.main:is(body.concept *) .block--02 .menu .list .item--02, .main:is(body.concept *) .block--02 .menu .list .item--06 {
  right: 0.3rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.concept *) .block--02 .menu .list .item--02, .main:is(body.concept *) .block--02 .menu .list .item--06 {
    right: 0.2rem;
  }
}
.main:is(body.concept *) .block--02 .menu .list .item--03, .main:is(body.concept *) .block--02 .menu .list .item--04 {
  top: 50%;
  translate: 0 -50%;
}
.main:is(body.concept *) .block--02 .menu .list .item--03 {
  left: -1rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.concept *) .block--02 .menu .list .item--03 {
    left: -0.3rem;
  }
}
.main:is(body.concept *) .block--02 .menu .list .item--04 {
  right: -1rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.concept *) .block--02 .menu .list .item--04 {
    right: -0.3rem;
  }
}
.main:is(body.concept *) .block--02 .menu .list .item--05, .main:is(body.concept *) .block--02 .menu .list .item--06 {
  bottom: 0.28rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.concept *) .block--02 .menu .list .item--05, .main:is(body.concept *) .block--02 .menu .list .item--06 {
    bottom: 0.12rem;
  }
}
.main:is(body.concept *) .block--02 .menu .list .item a {
  display: block;
  text-align: center;
  text-decoration: none;
}
.main:is(body.concept *) .block--02 .menu .list .item a .legend {
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-size: 0.25rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .main:is(body.concept *) .block--02 .menu .list .item a .legend {
    font-size: 0.1rem;
  }
}
.main:is(body.concept *) .block--02 .menu .list .item a p {
  padding: 0.11rem 0 0;
  font-size: 0.16rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .main:is(body.concept *) .block--02 .menu .list .item a p {
    padding: 0.05rem 0 0;
    font-size: 0.07rem;
  }
}
.main:is(body.concept *) .block--02 .menu .list .item a::after {
  content: "";
  display: block;
  width: 1.15rem;
  aspect-ratio: 115/20;
  margin: 0.15rem auto 0;
  background: url(../img/common/ico-more.svg) center/contain no-repeat;
  opacity: 1;
}
@media (prefers-reduced-motion: no-preference) {
  .main:is(body.concept *) .block--02 .menu .list .item a::after {
    transition: opacity 0.4s;
  }
}
@media screen and (max-width: 750px) {
  .main:is(body.concept *) .block--02 .menu .list .item a::after {
    width: 0.5rem;
    margin: 0.07rem auto 0;
  }
}
@media screen and (hover: hover) and (pointer: fine) {
  .main:is(body.concept *) .block--02 .menu .list .item a:hover::after {
    opacity: 0.4;
  }
}
.main:is(body.concept *) .block--02 .menu .list .item a.off {
  pointer-events: none;
}
.main:is(body.concept *) .block--02 .menu .list .item a.off::after {
  content: none;
}
.main:is(body.concept *) .block--02 .menu .logo {
  grid-area: 1/1;
  align-self: center;
  justify-self: center;
  width: 3.2rem;
  position: relative;
}
@media screen and (max-width: 750px) {
  .main:is(body.concept *) .block--02 .menu .logo {
    width: 1.4rem;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .main:is(body.concept *) .block--02 .menu .list .item {
    opacity: 0;
  }
  .main:is(body.concept *) .block--02 .menu .logo {
    opacity: 0;
  }
  .main:is(body.concept *) .block--02 .menu.scrollIn .list .item {
    opacity: 1;
    transition: opacity 2.6s;
  }
  .main:is(body.concept *) .block--02 .menu.scrollIn .list .item--02 {
    transition-delay: 1.2s;
  }
  .main:is(body.concept *) .block--02 .menu.scrollIn .list .item--03 {
    transition-delay: 1.6s;
  }
  .main:is(body.concept *) .block--02 .menu.scrollIn .list .item--04 {
    transition-delay: 0.4s;
  }
  .main:is(body.concept *) .block--02 .menu.scrollIn .list .item--05 {
    transition-delay: 0.8s;
  }
  .main:is(body.concept *) .block--02 .menu.scrollIn .list .item--06 {
    transition-delay: 2s;
  }
  .main:is(body.concept *) .block--02 .menu.scrollIn .logo {
    opacity: 1;
    transition: opacity 2.6s;
    transition-delay: 2.4s;
  }
}
.main:is(body.concept *) .block--02 .image--03 {
  margin: 2.1rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.concept *) .block--02 .image--03 {
    margin: 0.35rem 0 0;
  }
}
.main:is(body.spaceidea *) .section .title, .main:is(body.limited *) .section .title {
  border-bottom: 0.01rem solid currentColor;
  padding-bottom: 0.07rem;
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-size: 0.16rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
}
.main:is(body.spaceidea *) .section .list, .main:is(body.limited *) .section .list {
  display: flex;
  flex-wrap: wrap;
  margin: 0.6rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.spaceidea *) .section .list, .main:is(body.limited *) .section .list {
    flex-direction: column;
    margin: 0.5rem auto 0;
  }
}
.main:is(body.spaceidea *) .section .list a, .main:is(body.limited *) .section .list a {
  display: block;
  position: relative;
  text-decoration: none;
}
.main:is(body.spaceidea *) .section .list a::before, .main:is(body.limited *) .section .list a::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  background: #ebe6e1;
  mix-blend-mode: multiply;
}
.main:is(body.spaceidea *) .section .list a .legend, .main:is(body.limited *) .section .list a .legend {
  display: grid;
  place-items: center;
  height: 0.2rem;
  position: absolute;
  top: -0.1rem;
  background: #000;
  color: #fff;
  line-height: 1;
}
.main:is(body.spaceidea *) .section .list a .legend.en, .main:is(body.limited *) .section .list a .legend.en {
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-size: 0.12rem;
  font-weight: 600;
}
.main:is(body.spaceidea *) .section .list a .legend.ja, .main:is(body.limited *) .section .list a .legend.ja {
  font-size: 0.13rem;
  font-weight: 700;
}
.main:is(body.spaceidea *) .section .list a::after, .main:is(body.limited *) .section .list a::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -0.1rem;
  left: 50%;
  transform: translateX(-50%);
  width: 1.15rem;
  height: 0.2rem;
  background: url(../img/common/ico-more.svg) center/contain no-repeat;
}
.main:is(body.spaceidea *) .section.plan, .main:is(body.limited *) .section.plan {
  padding-bottom: 0.1rem;
}
.main:is(body.spaceidea *) .section.plan .list, .main:is(body.limited *) .section.plan .list {
  gap: 0.35rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.spaceidea *) .section.plan .list, .main:is(body.limited *) .section.plan .list {
    gap: 0.5rem;
    width: 3.02rem;
  }
}
.main:is(body.spaceidea *) .section.plan .list li, .main:is(body.limited *) .section.plan .list li {
  width: 3.02rem;
}
.main:is(body.spaceidea *) .section.plan .list a, .main:is(body.limited *) .section.plan .list a {
  padding: 0.2rem;
}
.main:is(body.spaceidea *) .section.plan .list a .legend, .main:is(body.limited *) .section.plan .list a .legend {
  right: 1.04rem;
  left: 1.04rem;
}
.main:is(body.spaceidea *) .section.plan .list a .inner, .main:is(body.limited *) .section.plan .list a .inner {
  box-sizing: border-box;
  height: 3.7rem;
  padding: 0.2rem 0 0;
  background: #fff;
  position: relative;
}
.main:is(body.spaceidea *) .section.plan .list a .plan, .main:is(body.limited *) .section.plan .list a .plan {
  margin: 0 0.2rem;
  border-bottom: 0.01rem solid currentColor;
  padding: 0 0 0.1rem;
  line-height: 1;
  text-align: center;
}
.main:is(body.spaceidea *) .section.plan .list a .plan .primary, .main:is(body.limited *) .section.plan .list a .plan .primary {
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-size: 0.24rem;
  font-weight: 600;
}
@media screen and (max-width: 750px) {
  .main:is(body.spaceidea *) .section.plan .list a .plan .primary, .main:is(body.limited *) .section.plan .list a .plan .primary {
    line-height: 1;
  }
}
.main:is(body.spaceidea *) .section.plan .list a .plan .secondary, .main:is(body.limited *) .section.plan .list a .plan .secondary {
  margin: 0.03rem 0 0;
  font-size: 0.12rem;
  font-weight: 700;
}
@media screen and (max-width: 750px) {
  .main:is(body.spaceidea *) .section.plan .list a .plan .secondary, .main:is(body.limited *) .section.plan .list a .plan .secondary {
    line-height: 1;
  }
}
.main:is(body.spaceidea *) .section.plan .list a .size, .main:is(body.limited *) .section.plan .list a .size {
  padding: 0.08rem 0 0;
  font-size: 0.11rem;
  line-height: 0.19rem;
  text-align: center;
}
.main:is(body.spaceidea *) .section.plan .list a .size strong, .main:is(body.limited *) .section.plan .list a .size strong {
  font-weight: 700;
}
.main:is(body.spaceidea *) .section.plan .list a .size strong span, .main:is(body.limited *) .section.plan .list a .size strong span {
  font-size: 0.14rem;
  font-weight: inherit;
}
@media screen and (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .main:is(body.spaceidea *) .section.plan .list a:hover::before,
.main:is(body.spaceidea *) .section.plan .list a:hover .legend,
.main:is(body.spaceidea *) .section.plan .list a:hover .inner, .main:is(body.spaceidea *) .section.plan .list a:hover::after, .main:is(body.limited *) .section.plan .list a:hover::before,
.main:is(body.limited *) .section.plan .list a:hover .legend,
.main:is(body.limited *) .section.plan .list a:hover .inner, .main:is(body.limited *) .section.plan .list a:hover::after {
    transition: opacity 0.4s;
  }
}
@media screen and (hover: hover) and (pointer: fine) {
  .main:is(body.spaceidea *) .section.plan .list a:hover::before,
.main:is(body.spaceidea *) .section.plan .list a:hover .legend,
.main:is(body.spaceidea *) .section.plan .list a:hover .inner, .main:is(body.spaceidea *) .section.plan .list a:hover::after, .main:is(body.limited *) .section.plan .list a:hover::before,
.main:is(body.limited *) .section.plan .list a:hover .legend,
.main:is(body.limited *) .section.plan .list a:hover .inner, .main:is(body.limited *) .section.plan .list a:hover::after {
    opacity: 0.8;
  }
}
.main:is(body.spaceidea *) .section.plan .list a.plan02 .image, .main:is(body.limited *) .section.plan .list a.plan02 .image {
  width: 2.39rem;
  margin: 0.44rem auto 0;
}
.main:is(body.spaceidea *) .section.plan .list a.plan14 .image, .main:is(body.limited *) .section.plan .list a.plan14 .image {
  width: 1.77rem;
  margin: 0.2rem auto 0;
}
.main:is(body.spaceidea *) .section.plan .list a.plan17 .image, .main:is(body.limited *) .section.plan .list a.plan17 .image {
  width: 1.76rem;
  margin: 0.25rem auto 0;
}
.main:is(body.spaceidea *) .section.plan .list a.limited .inner::after, .main:is(body.limited *) .section.plan .list a.limited .inner::after {
  content: "";
  display: block;
  position: absolute;
  inset: 1.3rem 0 0;
  background: rgba(0, 0, 0, 0.3);
}
.main:is(body.spaceidea *) .section.plan .list a.limited .image, .main:is(body.limited *) .section.plan .list a.limited .image {
  opacity: 0.5;
}
.main:is(body.spaceidea *) .section.plan .list a.limited::after, .main:is(body.limited *) .section.plan .list a.limited::after {
  content: "エントリー者様限定ページにて\a公開中";
  display: grid;
  place-items: center;
  width: auto;
  height: auto;
  padding: 2em;
  bottom: 1rem;
  background: #920d22;
  color: #fff;
  font-size: 0.13rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  white-space: pre;
}
.main:is(body.spaceidea *) {
  container-type: inline-size;
  background-color: #ebe6e1;
  background-image: url(../img/spaceidea/bg01@2x.webp), url(../img/common/bg02@2x.webp);
  background-position: 50% calc(-100cqw + 12rem), 50% calc(100% + 66.6666666667cqw - 8rem);
  background-size: 100% auto;
  background-repeat: no-repeat;
}
@media screen and (max-width: 750px) {
  .main:is(body.spaceidea *) {
    background-image: url(../img/spaceidea/bg01_sp@2x.webp), url(../img/common/bg02_sp@2x.webp);
    background-position: 0 0, 0 100%;
  }
}
.main:is(body.spaceidea *) .block--01 > .wrap {
  display: grid;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 4.68rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.spaceidea *) .block--01 > .wrap {
    display: block;
    padding-top: 0.4rem;
  }
}
.main:is(body.spaceidea *) .block--01 .image--01 {
  grid-row: 1/3;
  grid-column: 2/3;
  align-self: flex-start;
  margin: -0.5rem -1.12rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.spaceidea *) .block--01 .image--01 {
    margin: 0;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .main:is(body.spaceidea *) .block--01 .image--01 {
    -webkit-mask-image: linear-gradient(275deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 10%, #fff 30%, #fff 80%, #fff 110%);
            mask-image: linear-gradient(275deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 10%, #fff 30%, #fff 80%, #fff 110%);
    -webkit-mask-size: 250% 100%;
            mask-size: 250% 100%;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: 160% 0;
            mask-position: 160% 0;
  }
  .main:is(body.spaceidea *) .block--01 .image--01.ready {
    -webkit-animation: mask-animation 1s linear forwards;
            animation: mask-animation 1s linear forwards;
  }
  @-webkit-keyframes mask-animation {
    from {
      -webkit-mask-position: 160% 0;
              mask-position: 160% 0;
    }
    to {
      -webkit-mask-position: 0 0;
              mask-position: 0 0;
    }
  }
  @keyframes mask-animation {
    from {
      -webkit-mask-position: 160% 0;
              mask-position: 160% 0;
    }
    to {
      -webkit-mask-position: 0 0;
              mask-position: 0 0;
    }
  }
}
.main:is(body.spaceidea *) .block--01 .text {
  grid-row: 1/2;
  grid-column: 1/2;
  padding: 0.8rem 0 0.7rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.spaceidea *) .block--01 .text {
    padding: 0.25rem 0 0;
  }
}
.main:is(body.spaceidea *) .block--01 .text .catch {
  font-size: 0.26rem;
  letter-spacing: 0.05em;
  line-height: 0.4rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.spaceidea *) .block--01 .text .catch {
    font-size: 0.2rem;
    line-height: 0.34rem;
  }
}
.main:is(body.spaceidea *) .block--01 .text p {
  padding: 0.24rem 0 0;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .main:is(body.spaceidea *) .block--01 .text p {
    font-size: 0.12rem;
  }
}
.main:is(body.spaceidea *) .block--01 .image--02 {
  grid-row: 2/3;
  grid-column: 1/2;
  align-self: start;
  width: 3.6rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.spaceidea *) .block--01 .image--02 {
    width: auto;
    margin: 0.25rem 0 0;
  }
}
.main:is(body.spaceidea *) .section {
  margin: 1rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.spaceidea *) .section {
    margin: 0.7rem 0 0;
  }
}
.main:is(body.spaceidea *) .section .lead .catch {
  font-size: 0.22rem;
  letter-spacing: 0.05em;
  line-height: 0.34rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.spaceidea *) .section .lead .catch {
    font-size: 0.18rem;
    line-height: 0.26rem;
  }
}
.main:is(body.spaceidea *) .section .lead p {
  padding: 0.25rem 0 0;
  letter-spacing: 0.05em;
  line-height: 2;
}
@media screen and (max-width: 750px) {
  .main:is(body.spaceidea *) .section .lead p {
    line-height: 2;
  }
}
.main:is(body.spaceidea *) .section.plan {
  margin: 1.3rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.spaceidea *) .section.plan {
    margin: 0.6rem 0 0;
  }
}
.main:is(body.spaceidea *) .section.plan .lead {
  display: grid;
  grid-template-columns: 1fr 6.7rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.spaceidea *) .section.plan .lead {
    display: block;
  }
}
.main:is(body.spaceidea *) .section.plan .lead .image {
  grid-row: 1/2;
  grid-column: 2/2;
}
@media screen and (max-width: 750px) {
  .main:is(body.spaceidea *) .section.plan .lead .image {
    margin: 0.2rem -0.2rem 0;
  }
}
.main:is(body.spaceidea *) .section.plan .lead .image figcaption {
  padding: 0 1.1rem 0.3rem 0;
  background: none;
  color: inherit;
}
@media screen and (max-width: 750px) {
  .main:is(body.spaceidea *) .section.plan .lead .image figcaption {
    padding: 0 0.6rem 0.2rem 0;
  }
}
.main:is(body.spaceidea *) .section.plan .lead .text {
  grid-row: 1/2;
  grid-column: 1/2;
  padding: 1.3rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.spaceidea *) .section.plan .lead .text {
    padding: 0.15rem 0 0;
  }
}
.main:is(body.spaceidea *) .section.spaceidea .lead,
.main:is(body.spaceidea *) .section.interiorstyle .lead {
  margin: 0.5rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.spaceidea *) .section.spaceidea .lead,
.main:is(body.spaceidea *) .section.interiorstyle .lead {
    margin: 0.3rem 0 0;
  }
}
.main:is(body.spaceidea *) .section.spaceidea .list,
.main:is(body.spaceidea *) .section.interiorstyle .list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin: 0.7rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.spaceidea *) .section.spaceidea .list,
.main:is(body.spaceidea *) .section.interiorstyle .list {
    margin: 0.6rem 0 0;
  }
}
.main:is(body.spaceidea *) .section.spaceidea .list .item,
.main:is(body.spaceidea *) .section.interiorstyle .list .item {
  display: flex;
  gap: 0.52rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.spaceidea *) .section.spaceidea .list .item,
.main:is(body.spaceidea *) .section.interiorstyle .list .item {
    display: block;
  }
}
.main:is(body.spaceidea *) .section.spaceidea .list .item .image,
.main:is(body.spaceidea *) .section.interiorstyle .list .item .image {
  width: 4.62rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.spaceidea *) .section.spaceidea .list .item .image,
.main:is(body.spaceidea *) .section.interiorstyle .list .item .image {
    width: auto;
  }
}
.main:is(body.spaceidea *) .section.spaceidea .list .item .image.vertical,
.main:is(body.spaceidea *) .section.interiorstyle .list .item .image.vertical {
  width: 3.76rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.spaceidea *) .section.spaceidea .list .item .image.vertical,
.main:is(body.spaceidea *) .section.interiorstyle .list .item .image.vertical {
    width: 2.8rem;
    margin: 0 auto;
  }
}
.main:is(body.spaceidea *) .section.spaceidea .list .item .text,
.main:is(body.spaceidea *) .section.interiorstyle .list .item .text {
  width: 4.62rem;
  padding: 0.7rem 0 0;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .main:is(body.spaceidea *) .section.spaceidea .list .item .text,
.main:is(body.spaceidea *) .section.interiorstyle .list .item .text {
    width: auto;
    padding: 0.4rem 0 0;
  }
}
.main:is(body.spaceidea *) .section.spaceidea .list .item .text .sTitle,
.main:is(body.spaceidea *) .section.interiorstyle .list .item .text .sTitle {
  border-bottom: 0.01rem solid currentColor;
  padding: 0 0 0.07rem;
  line-height: 1;
}
.main:is(body.spaceidea *) .section.spaceidea .list .item .text p,
.main:is(body.spaceidea *) .section.interiorstyle .list .item .text p {
  padding: 0.2rem 0 0;
  line-height: 2;
}
.main:is(body.spaceidea *) .section.spaceidea .list .item:nth-child(odd):has(.vertical),
.main:is(body.spaceidea *) .section.interiorstyle .list .item:nth-child(odd):has(.vertical) {
  justify-content: flex-end;
}
.main:is(body.spaceidea *) .section.spaceidea .list .item:nth-child(even),
.main:is(body.spaceidea *) .section.interiorstyle .list .item:nth-child(even) {
  flex-direction: row-reverse;
}
.main:is(body.spaceidea *) .section.spaceidea .lead .image {
  width: 6.4rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.spaceidea *) .section.spaceidea .lead .image {
    width: auto;
  }
}
.main:is(body.spaceidea *) .section.spaceidea .lead .text {
  padding: 0.5rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.spaceidea *) .section.spaceidea .lead .text {
    padding: 0.4rem 0 0;
  }
}
.main:is(body.spaceidea *) .section.spaceidea .list .sTitle {
  font-size: 0.18rem;
  font-weight: 400;
  letter-spacing: 0.05em;
}
.main:is(body.spaceidea *) .section.interiorstyle {
  padding-bottom: 1rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.spaceidea *) .section.interiorstyle {
    padding-bottom: 0.4rem;
  }
}
.main:is(body.spaceidea *) .section.interiorstyle .list .sTitle {
  font-weight: 400;
}
.main:is(body.spaceidea *) .section.interiorstyle .list .sTitle .en {
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-size: 0.2rem;
}
.main:is(body.spaceidea *) .section.interiorstyle .list .sTitle .ja {
  margin-left: 1em;
  font-size: 0.14rem;
}
.main:is(body.spaceidea *) .section.interiorstyle .list .image.material {
  width: 1.3rem;
  margin: 0.2rem 0 0;
}
.main:is(body.spaceidea *) .section.interiorstyle .list .image.material figcaption {
  background: none;
}
.main:is(body.design *) {
  container-type: inline-size;
  background-color: #ebe6e1;
  background-image: url(../img/design/bg01@2x.webp), url(../img/common/bg02@2x.webp);
  background-position: 50% calc(-100cqw + 8rem), 50% calc(100% + 66.6666666667cqw - 8rem);
  background-size: 100% auto;
  background-repeat: no-repeat;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) {
    background-image: url(../img/design/bg01_sp@2x.webp), url(../img/common/bg02_sp@2x.webp);
    background-position: 0 0, 0 100%;
  }
}
.main:is(body.design *) .block--01 > .wrap {
  display: grid;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 4.68rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .block--01 > .wrap {
    display: block;
    padding-top: 0.4rem;
  }
}
.main:is(body.design *) .block--01 .image--01 {
  grid-row: 1/3;
  grid-column: 2/3;
  align-self: flex-start;
  margin: -0.5rem -1.12rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .block--01 .image--01 {
    margin: 0;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .main:is(body.design *) .block--01 .image--01 {
    -webkit-mask-image: linear-gradient(275deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 10%, #fff 30%, #fff 80%, #fff 110%);
            mask-image: linear-gradient(275deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 10%, #fff 30%, #fff 80%, #fff 110%);
    -webkit-mask-size: 250% 100%;
            mask-size: 250% 100%;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: 160% 0;
            mask-position: 160% 0;
  }
  .main:is(body.design *) .block--01 .image--01.ready {
    -webkit-animation: mask-animation 1s linear forwards;
            animation: mask-animation 1s linear forwards;
  }
  @-webkit-keyframes mask-animation {
    from {
      -webkit-mask-position: 160% 0;
              mask-position: 160% 0;
    }
    to {
      -webkit-mask-position: 0 0;
              mask-position: 0 0;
    }
  }
  @keyframes mask-animation {
    from {
      -webkit-mask-position: 160% 0;
              mask-position: 160% 0;
    }
    to {
      -webkit-mask-position: 0 0;
              mask-position: 0 0;
    }
  }
}
.main:is(body.design *) .block--01 .text {
  grid-row: 1/2;
  grid-column: 1/2;
  padding: 0.8rem 0 0.7rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .block--01 .text {
    padding: 0.25rem 0 0;
  }
}
.main:is(body.design *) .block--01 .text .catch {
  font-size: 0.26rem;
  letter-spacing: 0.05em;
  line-height: 0.4rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .block--01 .text .catch {
    font-size: 0.2rem;
    line-height: 0.34rem;
  }
}
.main:is(body.design *) .block--01 .text p {
  padding: 0.24rem 0 0;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .block--01 .text p {
    font-size: 0.12rem;
  }
}
.main:is(body.design *) .block--01 .image--02 {
  grid-row: 2/3;
  grid-column: 1/2;
  align-self: start;
  width: 3.6rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .block--01 .image--02 {
    width: auto;
    margin: 0.25rem 0 0;
  }
}
.main:is(body.design *) .section {
  margin: 1rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section {
    margin: 0.65rem 0 0;
  }
}
.main:is(body.design *) .section .title {
  border-bottom: 0.01rem solid currentColor;
  padding-bottom: 0.07rem;
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-size: 0.16rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
}
.main:is(body.design *) .section .lead {
  padding: 0.5rem 0 0;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section .lead {
    padding: 0.45rem 0 0;
  }
}
.main:is(body.design *) .section .lead .catch {
  font-size: 0.22rem;
  line-height: 0.34rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section .lead .catch {
    font-size: 0.18rem;
    line-height: 0.26rem;
  }
}
.main:is(body.design *) .section .lead p {
  padding: 0.25rem 0 0;
  line-height: 2;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section .lead p {
    padding: 0.2rem 0 0;
    line-height: 2;
  }
}
.main:is(body.design *) .section .detail .dTitle {
  border-bottom: 0.01rem solid currentColor;
  padding: 0 0 0.08rem;
  font-size: 0.18rem;
  font-weight: 700;
  line-height: 1.3888888889;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section .detail .dTitle {
    padding: 0 0 0.06rem;
    font-size: 0.16rem;
  }
}
.main:is(body.design *) .section .detail p {
  padding: 0.2rem 0 0;
  letter-spacing: 0.05em;
  line-height: 0.22rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section .detail p {
    padding: 0.16rem 0 0;
  }
}
.main:is(body.design *) .section.landscape {
  margin: 1.3rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section.landscape {
    margin: 0.65rem 0 0;
  }
}
.main:is(body.design *) .section.landscape .lead .image {
  width: 8.84rem;
  margin: 0.35rem auto 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section.landscape .lead .image {
    width: auto;
    margin: 0.14rem -0.2rem 0;
  }
}
.main:is(body.design *) .section.landscape .lead .image figcaption {
  padding: 0 1.14rem 0.44rem 0;
  background: none;
  color: inherit;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section.landscape .lead .image figcaption {
    padding: 0 0.65 rem 0.1rem 0;
  }
}
.main:is(body.design *) .section.landscape .lead .legend {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.4rem 0.6rem;
  margin: 0.2rem 0 0;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section.landscape .lead .legend {
    flex-direction: column;
    gap: 0.3rem;
    margin: 0.3rem 0 0;
  }
}
.main:is(body.design *) .section.landscape .lead .legend div {
  width: 3.98rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section.landscape .lead .legend div {
    width: auto;
  }
}
.main:is(body.design *) .section.landscape .lead .legend dt {
  box-sizing: border-box;
  height: 0.3rem;
  padding: 0.04rem 0 0;
  border-bottom: 0.01rem solid currentColor;
  background: 100% 0/1.02rem auto no-repeat;
  font-size: 0.18rem;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section.landscape .lead .legend dt {
    height: 0.27rem;
    background-size: 0.86rem auto;
    font-size: 0.16rem;
  }
}
.main:is(body.design *) .section.landscape .lead .legend dd {
  padding: 0.2rem 0 0;
  line-height: 0.22rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section.landscape .lead .legend dd {
    padding: 0.16rem 0 0;
  }
}
.main:is(body.design *) .section.landscape .lead .legend .item--01 dt {
  background-image: url(../img/design/legend01.svg);
}
.main:is(body.design *) .section.landscape .lead .legend .item--02 dt {
  background-image: url(../img/design/legend02.svg);
}
.main:is(body.design *) .section.landscape .lead .legend .item--03 dt {
  background-image: url(../img/design/legend03.svg);
  background-size: 0.25rem auto;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section.landscape .lead .legend .item--03 dt {
    background-size: 0.21 rem auto;
  }
}
.main:is(body.design *) .section.landscape .lead .legend .item--04 dt {
  background-image: url(../img/design/legend04.svg);
}
.main:is(body.design *) .section.landscape .midImage {
  margin: 0.5rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section.landscape .midImage {
    margin: 0.3rem 0 0;
  }
}
.main:is(body.design *) .section.landscape .sub {
  display: grid;
  grid-template-rows: auto auto;
  grid-template-columns: 5.28rem 1fr;
  gap: 0.4rem 0.5rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section.landscape .sub {
    display: block;
  }
}
.main:is(body.design *) .section.landscape .sub .text {
  letter-spacing: 0.05em;
}
.main:is(body.design *) .section.landscape .sub .text .sTitle {
  font-size: 0.18rem;
  font-weight: 300;
  line-height: 0.26rem;
}
.main:is(body.design *) .section.landscape .sub .text p {
  padding: 0.25rem 0 0;
  line-height: 2;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section.landscape .sub .text p {
    padding: 0.22rem 0 0;
  }
}
.main:is(body.design *) .section.landscape .sub--01 {
  margin: 0.6rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section.landscape .sub--01 {
    margin: 0.3rem 0 0;
  }
}
.main:is(body.design *) .section.landscape .sub--01 .text {
  grid-row: 1/2;
  grid-column: 1/2;
  align-self: end;
  padding: 0 0 0.14rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section.landscape .sub--01 .text {
    padding: 0;
  }
}
.main:is(body.design *) .section.landscape .sub--01 .text p {
  white-space: nowrap;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section.landscape .sub--01 .text p {
    white-space: normal;
  }
}
.main:is(body.design *) .section.landscape .sub--01 .image--01 {
  grid-row: 1/2;
  grid-column: 2/3;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section.landscape .sub--01 .image--01 {
    margin: 0.2rem 0 0;
  }
}
.main:is(body.design *) .section.landscape .sub--01 .image--02 {
  grid-row: 2/3;
  grid-column: 1/2;
  align-self: start;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section.landscape .sub--01 .image--02 {
    margin: 0.2rem 0 0;
  }
}
.main:is(body.design *) .section.landscape .sub--01 .detail {
  grid-row: 2/3;
  grid-column: 2/3;
  padding: 0.6rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section.landscape .sub--01 .detail {
    padding: 0.3rem 0 0;
  }
}
.main:is(body.design *) .section.landscape .sub--01 .detail .images {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.16rem 0;
  margin: 0.25rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section.landscape .sub--01 .detail .images {
    gap: 0.14rem 0;
    margin: 0.18rem 0 0;
  }
}
.main:is(body.design *) .section.landscape .sub--01 .detail .images .image--01, .main:is(body.design *) .section.landscape .sub--01 .detail .images .image--02 {
  width: 1.91rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section.landscape .sub--01 .detail .images .image--01, .main:is(body.design *) .section.landscape .sub--01 .detail .images .image--02 {
    width: 1.63rem;
  }
}
.main:is(body.design *) .section.landscape .sub--01 .detail .images .image--03, .main:is(body.design *) .section.landscape .sub--01 .detail .images .image--04, .main:is(body.design *) .section.landscape .sub--01 .detail .images .image--05 {
  width: 1.22rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section.landscape .sub--01 .detail .images .image--03, .main:is(body.design *) .section.landscape .sub--01 .detail .images .image--04, .main:is(body.design *) .section.landscape .sub--01 .detail .images .image--05 {
    width: 1.04rem;
  }
}
.main:is(body.design *) .section.landscape .sub--02 {
  margin: 0.2rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section.landscape .sub--02 {
    margin: 0.3rem 0 0;
  }
}
.main:is(body.design *) .section.landscape .sub--02 .text {
  grid-row: 1/2;
  grid-column: 1/3;
}
.main:is(body.design *) .section.landscape .sub--02 .image--01 {
  grid-row: 2/3;
  grid-column: 1/2;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section.landscape .sub--02 .image--01 {
    margin: 0.3rem 0 0;
  }
}
.main:is(body.design *) .section.landscape .sub--02 .image--02 {
  grid-row: 2/3;
  grid-column: 2/3;
  align-self: end;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section.landscape .sub--02 .image--02 {
    margin: 0.2rem 0 0;
  }
}
.main:is(body.design *) .section.facade {
  padding-bottom: 1rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section.facade {
    padding-bottom: 0.4rem;
  }
}
.main:is(body.design *) .section.facade .lead {
  display: grid;
  grid-template-rows: auto auto;
  grid-template-columns: 5.7rem 1fr;
  gap: 0.4rem 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section.facade .lead {
    display: block;
  }
}
.main:is(body.design *) .section.facade .lead .text {
  grid-row: 1/2;
  grid-column: 1/3;
}
.main:is(body.design *) .section.facade .lead .image {
  grid-row: 2/3;
}
.main:is(body.design *) .section.facade .lead .image--01 {
  grid-column: 1/2;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section.facade .lead .image--01 {
    margin: 0.3rem 0 0;
  }
}
.main:is(body.design *) .section.facade .lead .image--02 {
  grid-column: 2/3;
  align-self: center;
  justify-self: end;
  width: 3.6rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section.facade .lead .image--02 {
    width: auto;
    margin: 0.2rem 0 0;
  }
}
.main:is(body.design *) .section.facade .detail {
  display: grid;
  grid-template-columns: 3.98rem 1fr;
  gap: 0.25rem 0.4rem;
  margin: 0.6rem 0.36rem 0 1.04rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section.facade .detail {
    display: block;
    margin: 0.3rem 0 0;
  }
}
.main:is(body.design *) .section.facade .detail--01 {
  grid-template-rows: auto auto;
}
.main:is(body.design *) .section.facade .detail--01 .text {
  grid-row: 1/2;
  grid-column: 1/2;
}
.main:is(body.design *) .section.facade .detail--01 .images {
  grid-row: 2/3;
  grid-column: 1/2;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section.facade .detail--01 .images {
    margin: 0.14rem 0 0;
  }
}
.main:is(body.design *) .section.facade .detail--01 .images .image {
  width: 1.22rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section.facade .detail--01 .images .image {
    width: 1.04rem;
    margin: 0;
  }
}
.main:is(body.design *) .section.facade .detail--01 .image {
  grid-row: 1/3;
  grid-column: 2/3;
  align-self: end;
  width: 2.2rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section.facade .detail--01 .image {
    width: auto;
    margin: 0.2rem 0 0;
  }
}
.main:is(body.design *) .section.facade .detail--02 .text {
  padding: 0.5rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section.facade .detail--02 .text {
    padding: 0;
  }
}
.main:is(body.design *) .section.facade .detail--02 .images {
  display: flex;
  flex-wrap: wrap;
  gap: 0.16rem 0;
  justify-content: space-between;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section.facade .detail--02 .images {
    gap: 0.14rem 0;
    margin: 0.14rem 0 0;
  }
}
.main:is(body.design *) .section.facade .detail--02 .images .image {
  width: 1.22rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section.facade .detail--02 .images .image {
    width: 1.04rem;
  }
}
.main:is(body.design *) .section.facade .detail--03 .text {
  padding: 0.4rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section.facade .detail--03 .text {
    padding: 0;
  }
}
.main:is(body.design *) .section.facade .detail--03 .image {
  width: 3.3rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.design *) .section.facade .detail--03 .image {
    width: auto;
    margin: 0.16rem 0 0;
  }
}
.main:is(body.location *), .main:is(body.area *), .main:is(body.access *) {
  display: grid;
}
.main:is(body.location *) .contentsHolder, .main:is(body.area *) .contentsHolder, .main:is(body.access *) .contentsHolder {
  grid-area: 1/1;
  container-type: inline-size;
  background-color: #ebe6e1;
  background-position: 50% calc(-66.6666666667cqw + 8rem), 50% calc(100% + 66.6666666667cqw - 8rem);
  background-size: 100% auto;
  background-repeat: no-repeat;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .contentsHolder, .main:is(body.area *) .contentsHolder, .main:is(body.access *) .contentsHolder {
    background-position: 0 0, 0 100%;
  }
}
.main:is(body.location *) .block--01 .wrap, .main:is(body.area *) .block--01 .wrap, .main:is(body.access *) .block--01 .wrap {
  display: grid;
  grid-template-rows: auto 1fr;
  grid-template-columns: 5.08rem 4.68rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .block--01 .wrap, .main:is(body.area *) .block--01 .wrap, .main:is(body.access *) .block--01 .wrap {
    display: block;
    padding-top: 0.7rem;
  }
}
.main:is(body.location *) .block--01 .image--01, .main:is(body.area *) .block--01 .image--01, .main:is(body.access *) .block--01 .image--01 {
  grid-row: 1/3;
  grid-column: 2/3;
  margin: -0.5rem -1.12rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .block--01 .image--01, .main:is(body.area *) .block--01 .image--01, .main:is(body.access *) .block--01 .image--01 {
    margin: 0;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .main:is(body.location *) .block--01 .image--01, .main:is(body.area *) .block--01 .image--01, .main:is(body.access *) .block--01 .image--01 {
    -webkit-mask-image: linear-gradient(275deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 10%, #fff 30%, #fff 80%, #fff 110%);
            mask-image: linear-gradient(275deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 10%, #fff 30%, #fff 80%, #fff 110%);
    -webkit-mask-size: 250% 100%;
            mask-size: 250% 100%;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: 160% 0;
            mask-position: 160% 0;
  }
  .main:is(body.location *) .block--01 .image--01.ready, .main:is(body.area *) .block--01 .image--01.ready, .main:is(body.access *) .block--01 .image--01.ready {
    -webkit-animation: mask-animation 1s linear forwards;
            animation: mask-animation 1s linear forwards;
  }
  @-webkit-keyframes mask-animation {
    from {
      -webkit-mask-position: 160% 0;
              mask-position: 160% 0;
    }
    to {
      -webkit-mask-position: 0 0;
              mask-position: 0 0;
    }
  }
  @keyframes mask-animation {
    from {
      -webkit-mask-position: 160% 0;
              mask-position: 160% 0;
    }
    to {
      -webkit-mask-position: 0 0;
              mask-position: 0 0;
    }
  }
}
.main:is(body.location *) .block--01 .text, .main:is(body.area *) .block--01 .text, .main:is(body.access *) .block--01 .text {
  grid-row: 1/2;
  grid-column: 1/2;
  padding: 1.65rem 0 0.7rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .block--01 .text, .main:is(body.area *) .block--01 .text, .main:is(body.access *) .block--01 .text {
    padding: 0.3rem 0 0;
  }
}
.main:is(body.location *) .block--01 .text .catch, .main:is(body.area *) .block--01 .text .catch, .main:is(body.access *) .block--01 .text .catch {
  font-size: 0.26rem;
  letter-spacing: 0.05em;
  line-height: 0.4rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .block--01 .text .catch, .main:is(body.area *) .block--01 .text .catch, .main:is(body.access *) .block--01 .text .catch {
    font-size: 0.2rem;
    line-height: 0.34rem;
  }
}
.main:is(body.location *) .block--01 .text p, .main:is(body.area *) .block--01 .text p, .main:is(body.access *) .block--01 .text p {
  padding: 0.24rem 0 0;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .block--01 .text p, .main:is(body.area *) .block--01 .text p, .main:is(body.access *) .block--01 .text p {
    font-size: 0.12rem;
  }
}
.main:is(body.location *) .block--01 .image--02, .main:is(body.area *) .block--01 .image--02, .main:is(body.access *) .block--01 .image--02 {
  grid-row: 2/3;
  grid-column: 1/2;
  align-self: start;
  width: 3.6rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .block--01 .image--02, .main:is(body.area *) .block--01 .image--02, .main:is(body.access *) .block--01 .image--02 {
    width: auto;
    margin: 0.35rem 0 0;
  }
}
.main:is(body.location *) .section, .main:is(body.area *) .section, .main:is(body.access *) .section {
  margin: 1rem 0 0;
}
.main:is(body.location *) .section .title, .main:is(body.area *) .section .title, .main:is(body.access *) .section .title {
  border-bottom: 0.01rem solid currentColor;
  padding-bottom: 0.07rem;
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-size: 0.16rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section .title, .main:is(body.area *) .section .title, .main:is(body.access *) .section .title {
    margin: 0.35rem 0 0;
  }
}
.main:is(body.location *) .section .lead .catch, .main:is(body.area *) .section .lead .catch, .main:is(body.access *) .section .lead .catch {
  font-size: 0.22rem;
  letter-spacing: 0.05em;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section .lead .catch, .main:is(body.area *) .section .lead .catch, .main:is(body.access *) .section .lead .catch {
    font-size: 0.18rem;
  }
}
.main:is(body.location *) .section .lead p, .main:is(body.area *) .section .lead p, .main:is(body.access *) .section .lead p {
  padding: 0.25rem 0 0;
  letter-spacing: 0.05em;
  line-height: 2;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section .lead p, .main:is(body.area *) .section .lead p, .main:is(body.access *) .section .lead p {
    line-height: 2;
  }
}
.main:is(body.location *) .section .note, .main:is(body.area *) .section .note, .main:is(body.access *) .section .note {
  padding: 0.5rem 0 0;
  font-size: 0.1rem;
  line-height: 1.6;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section .note, .main:is(body.area *) .section .note, .main:is(body.access *) .section .note {
    padding: 0.25rem 0 0;
  }
}
.main:is(body.location *) .sNav, .main:is(body.area *) .sNav, .main:is(body.access *) .sNav {
  grid-area: 1/1;
  align-self: flex-start;
  padding: 0.6rem 0 0.1rem;
  position: -webkit-sticky;
  position: sticky;
  top: 0.9rem;
  left: 0;
  z-index: 1;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .sNav, .main:is(body.area *) .sNav, .main:is(body.access *) .sNav {
    top: calc(48px + 0.48rem);
    margin: 0.2rem 0 0;
    padding: 0.1rem 0.2rem 0.1rem;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .main:is(body.location *) .sNav, .main:is(body.area *) .sNav, .main:is(body.access *) .sNav {
    transition: background-color 0.4s;
  }
}
.main:is(body.location *) .sNav.fixed, .main:is(body.area *) .sNav.fixed, .main:is(body.access *) .sNav.fixed {
  background-color: rgba(255, 255, 255, 0.9);
  z-index: 1;
}
.main:is(body.location *) .sNav .list, .main:is(body.area *) .sNav .list, .main:is(body.access *) .sNav .list {
  display: flex;
  gap: 0.1rem;
  max-width: 9.76rem;
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .sNav .list, .main:is(body.area *) .sNav .list, .main:is(body.access *) .sNav .list {
    justify-content: space-between;
    gap: 0;
  }
}
.main:is(body.location *) .sNav li, .main:is(body.area *) .sNav li, .main:is(body.access *) .sNav li {
  width: 1.1rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .sNav li, .main:is(body.area *) .sNav li, .main:is(body.access *) .sNav li {
    width: 1.03rem;
  }
}
.main:is(body.location *) .sNav a, .main:is(body.area *) .sNav a, .main:is(body.access *) .sNav a {
  display: grid;
  place-items: center;
  height: 0.25rem;
  color: #736446;
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-size: 0.16rem;
  font-weight: 700;
  line-height: 1;
  box-shadow: inset 0 0 0 0.01rem #736446;
  text-decoration: none;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .sNav a, .main:is(body.area *) .sNav a, .main:is(body.access *) .sNav a {
    height: 0.23rem;
    font-size: 0.15rem;
  }
}
.main:is(body.location *) .sNav a.off, .main:is(body.area *) .sNav a.off, .main:is(body.access *) .sNav a.off {
  color: rgba(115, 100, 70, 0.3);
  box-shadow: inset 0 0 0 0.01rem rgba(115, 100, 70, 0.3);
  pointer-events: none;
}
.main:is(body.location *) .sNav a.active, .main:is(body.area *) .sNav a.active, .main:is(body.access *) .sNav a.active {
  position: relative;
  background-color: #736446;
  color: #fff;
}
.main:is(body.location *) .sNav a.active::after, .main:is(body.area *) .sNav a.active::after, .main:is(body.access *) .sNav a.active::after {
  content: "";
  display: block;
  width: 0.12rem;
  height: 0.1rem;
  position: absolute;
  top: 100%;
  left: calc(50% - 0.06rem);
  background: inherit;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .sNav a.active::after, .main:is(body.area *) .sNav a.active::after, .main:is(body.access *) .sNav a.active::after {
    width: 0.11rem;
    height: 0.09rem;
    left: calc(50% - 0.045rem);
  }
}
@media screen and (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .main:is(body.location *) .sNav a, .main:is(body.area *) .sNav a, .main:is(body.access *) .sNav a {
    transition: 0.4s;
    transition-property: background-color, color;
  }
}
@media screen and (hover: hover) and (pointer: fine) {
  .main:is(body.location *) .sNav a:hover, .main:is(body.area *) .sNav a:hover, .main:is(body.access *) .sNav a:hover {
    background-color: #736446;
    color: #fff;
  }
}
.main:is(body.location *) .contentsHolder {
  background-image: url(../img/location/bg01@2x.webp), url(../img/common/bg02@2x.webp);
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .contentsHolder {
    background-image: url(../img/location/bg01_sp@2x.webp), url(../img/common/bg02_sp@2x.webp);
  }
}
.main:is(body.location *) .midImage {
  margin: 0.8rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .midImage {
    margin: 0.5rem 0 0;
  }
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section {
    margin: 0.6rem 0 0;
  }
}
.main:is(body.location *) .section.shopping .list,
.main:is(body.location *) .section.education .list {
  display: flex;
  margin: 0.5rem 0 0;
}
.main:is(body.location *) .section.shopping .list--01,
.main:is(body.location *) .section.education .list--01 {
  justify-content: space-between;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section.shopping .list--01,
.main:is(body.location *) .section.education .list--01 {
    flex-direction: column;
    gap: 0.2rem;
    margin: 0.3rem 0 0;
  }
}
.main:is(body.location *) .section.shopping .list--01 .item,
.main:is(body.location *) .section.education .list--01 .item {
  width: 4.62rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section.shopping .list--01 .item,
.main:is(body.location *) .section.education .list--01 .item {
    width: auto;
  }
}
.main:is(body.location *) .section.shopping .list--02,
.main:is(body.location *) .section.education .list--02 {
  flex-wrap: wrap;
  gap: 0.35rem 0.38rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section.shopping .list--02,
.main:is(body.location *) .section.education .list--02 {
    gap: 0.14rem;
  }
}
.main:is(body.location *) .section.shopping .list--02 .item,
.main:is(body.location *) .section.education .list--02 .item {
  width: calc((100% - 0.76rem) / 3);
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section.shopping .list--02 .item,
.main:is(body.location *) .section.education .list--02 .item {
    width: calc(50% - 0.07rem);
  }
}
.main:is(body.location *) .section.shopping .lead,
.main:is(body.location *) .section.education .lead {
  margin: 0.5rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section.shopping .lead,
.main:is(body.location *) .section.education .lead {
    margin: 0.4rem 0 0;
  }
}
.main:is(body.location *) .section.shopping {
  margin: 0.8rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section.shopping {
    margin: 0.6rem 0 0;
  }
}
.main:is(body.location *) .section.education .policy {
  margin: 0.5rem 0 0;
}
.main:is(body.location *) .section.education .policy .sTitle {
  display: grid;
  border: 0.01rem solid #736446;
  background: #736446;
}
.main:is(body.location *) .section.education .policy .sTitle .image {
  grid-area: 1/1;
  justify-self: end;
  width: 6.8rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section.education .policy .sTitle .image {
    width: auto;
  }
}
.main:is(body.location *) .section.education .policy .sTitle .text {
  grid-area: 1/1;
  display: grid;
  place-items: center start;
  padding: 0 0.19rem;
  color: #fff;
  font-size: 0.28rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section.education .policy .sTitle .text {
    font-size: 0.2rem;
    line-height: 0.26rem;
  }
}
.main:is(body.location *) .section.education .policy .sTitle .caption {
  grid-area: 1/1;
  align-self: end;
  justify-self: end;
  padding: 1em;
  font-size: 0.1rem;
  font-weight: 400;
  line-height: 1;
}
.main:is(body.location *) .section.education .policy .list {
  margin: 0.3rem 0 0;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section.education .policy .list {
    margin: 0.2rem 0 0;
  }
}
.main:is(body.location *) .section.education .policy .list--01 {
  flex-wrap: wrap;
  gap: 0.16rem 0.52rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section.education .policy .list--01 {
    flex-direction: column;
    gap: 0.2rem;
  }
}
.main:is(body.location *) .section.education .policy .list--01 div {
  box-sizing: border-box;
  width: 4.62rem;
  border-left: 0.05rem solid #736446;
  padding: 0 0 0 0.15rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section.education .policy .list--01 div {
    width: auto;
    padding: 0.03rem 0 0.03rem 0.15rem;
  }
}
.main:is(body.location *) .section.education .policy .list--01 dt {
  font-size: 0.18rem;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section.education .policy .list--01 dt {
    font-size: 0.16rem;
  }
}
.main:is(body.location *) .section.education .policy .list--01 dd {
  padding: 0.16rem 0 0;
  line-height: 0.22rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section.education .policy .list--01 dd {
    padding: 0.14rem 0 0;
    font-size: 0.12rem;
    line-height: 0.2rem;
  }
}
.main:is(body.location *) .section.education .policy .list--02 {
  justify-content: space-between;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section.education .policy .list--02 {
    flex-direction: column;
    gap: 0.15rem;
  }
}
.main:is(body.location *) .section.education .policy .list--02 div {
  box-sizing: border-box;
  width: 3rem;
  border: 0.01rem solid #736446;
  padding: 0.16rem 0.19rem 0.19rem;
  background: #fff;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section.education .policy .list--02 div {
    width: auto;
  }
}
.main:is(body.location *) .section.education .policy .list--02 dt {
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section.education .policy .list--02 dt {
    font-size: 0.14rem;
  }
}
.main:is(body.location *) .section.education .policy .list--02 dt .small {
  font-size: 0.12rem;
}
.main:is(body.location *) .section.education .policy .list--02 dd {
  padding: 0.1rem 0 0;
  font-size: 0.12rem;
}
.main:is(body.location *) .section.education .policy .link {
  display: grid;
  grid-template-columns: 3rem 1fr;
  gap: 0.38rem;
  align-items: flex-end;
  margin: 0.3rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section.education .policy .link {
    display: block;
    margin: 0.2rem 0 0;
  }
}
.main:is(body.location *) .section.education .policy .link .bnr {
  display: block;
}
.main:is(body.location *) .section.education .policy .link p {
  padding: 0;
  font-weight: 700;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section.education .policy .link p {
    padding: 0.1rem 0 0;
    font-size: 0.14rem;
    line-height: 0.22rem;
  }
}
.main:is(body.location *) .section.education .policy .link .url {
  padding: 0.08rem 0 0;
  font-size: 0.12rem;
  word-wrap: break-word;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section.education .policy .link .url {
    padding: 0.04rem 0 0;
    font-size: 0.1rem;
    line-height: 1.6;
  }
}
.main:is(body.location *) .section.culture .wrap {
  display: grid;
  grid-template-rows: repeat(4, auto);
  grid-template-columns: 3rem 1fr;
  gap: 0.5rem 0.76rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section.culture .wrap {
    display: block;
  }
}
.main:is(body.location *) .section.culture .title {
  grid-row: 1/2;
  grid-column: 1/3;
}
.main:is(body.location *) .section.culture .image--01 {
  grid-row: 2/3;
  grid-column: 1/3;
  width: 6rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section.culture .image--01 {
    width: auto;
    margin: 0.3rem 0 0;
  }
}
.main:is(body.location *) .section.culture .image--02 {
  grid-row: 3/5;
  grid-column: 1/2;
  align-self: start;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section.culture .image--02 {
    margin: 0.2rem 0 0;
  }
}
.main:is(body.location *) .section.culture .image--03 {
  grid-row: 4/5;
  grid-column: 2/3;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section.culture .image--03 {
    margin: 0.4rem 0 0;
  }
}
.main:is(body.location *) .section.culture .lead {
  grid-row: 3/4;
  grid-column: 2/3;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section.culture .lead {
    padding: 0.4rem 0 0;
  }
}
.main:is(body.location *) .section.public .wrap {
  display: grid;
  grid-template-rows: repeat(3, auto);
  grid-template-columns: 3.6rem 0.52rem 1fr;
  gap: 0.5rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section.public .wrap {
    display: block;
  }
}
.main:is(body.location *) .section.public .title {
  grid-row: 1/2;
  grid-column: 1/4;
}
.main:is(body.location *) .section.public .image--01 {
  grid-row: 2/3;
  grid-column: 1/3;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section.public .image--01 {
    margin: 0.3rem 0 0;
  }
}
.main:is(body.location *) .section.public .image--02 {
  grid-row: 3/4;
  grid-column: 1/2;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section.public .image--02 {
    margin: 0.4rem 0 0;
  }
}
.main:is(body.location *) .section.public .image--03 {
  grid-row: 3/4;
  grid-column: 2/4;
  width: 3.6rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section.public .image--03 {
    width: auto;
    margin: 0.2rem 0 0;
  }
}
.main:is(body.location *) .section.public .lead {
  grid-row: 2/3;
  grid-column: 3/4;
  padding: 0.4rem 0 0;
}
.main:is(body.location *) .section.lifeinfo {
  padding: 0 0 1rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section.lifeinfo {
    padding: 0 0 0.4rem;
  }
}
.main:is(body.location *) .section.lifeinfo .map {
  margin: 0.5rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section.lifeinfo .map {
    margin: 0.3rem 0 0;
  }
}
.main:is(body.location *) .section.lifeinfo .tab {
  margin: 0.45rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section.lifeinfo .tab {
    margin: 0.2rem 0 0;
  }
}
.main:is(body.location *) .section.lifeinfo .tab .navigation {
  display: flex;
  border-right: 0.01rem solid currentColor;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section.lifeinfo .tab .navigation {
    flex-wrap: wrap;
    gap: 0.1rem 0;
    border-right: none;
  }
}
.main:is(body.location *) .section.lifeinfo .tab .navigation li {
  box-sizing: border-box;
  width: 12.5%;
  border-left: 0.01rem solid currentColor;
  padding: 0 0.05rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section.lifeinfo .tab .navigation li {
    width: 25%;
    padding: 0 0.04rem;
  }
  .main:is(body.location *) .section.lifeinfo .tab .navigation li:nth-child(4n+4) {
    border-right: 0.01rem solid currentColor;
  }
}
.main:is(body.location *) .section.lifeinfo .tab .navigation button {
  width: 100%;
  height: 0.5rem;
  border: none;
  position: relative;
  background: transparent;
  line-height: 0.18rem;
  color: inherit;
  cursor: pointer;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section.lifeinfo .tab .navigation button {
    height: 0.34rem;
    font-size: 0.09rem;
    line-height: 0.12rem;
  }
}
.main:is(body.location *) .section.lifeinfo .tab .navigation button::after {
  content: "";
  display: block;
  width: 100%;
  height: 0.04rem;
  position: absolute;
  bottom: 0;
  left: 0;
  background: currentColor;
  scale: 0 1;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section.lifeinfo .tab .navigation button::after {
    height: 0.03rem;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .main:is(body.location *) .section.lifeinfo .tab .navigation button::after {
    transition: scale 0.4s;
    transform-origin: right;
  }
}
.main:is(body.location *) .section.lifeinfo .tab .navigation button.active::after {
  scale: 1 1;
}
@media screen and (hover: hover) and (pointer: fine) {
  .main:is(body.location *) .section.lifeinfo .tab .navigation button:hover::after {
    scale: 1 1;
    transform-origin: left;
  }
}
.main:is(body.location *) .section.lifeinfo .tab .panels {
  display: grid;
  margin: 0.15rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section.lifeinfo .tab .panels {
    margin: 0.18rem 0 0;
  }
}
.main:is(body.location *) .section.lifeinfo .tab .panels .panel {
  grid-area: 1/1;
  align-self: start;
  display: flex;
  flex-wrap: wrap;
  gap: 0 0.38rem;
  font-size: 0.12rem;
  opacity: 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section.lifeinfo .tab .panels .panel {
    display: block;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .main:is(body.location *) .section.lifeinfo .tab .panels .panel {
    transition: opacity 0.4s;
  }
}
.main:is(body.location *) .section.lifeinfo .tab .panels .panel div {
  width: 3rem;
  border-bottom: 0.01rem solid currentColor;
  padding: 0.24rem 0 0.06rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section.lifeinfo .tab .panels .panel div {
    display: flex;
    justify-content: space-between;
    width: auto;
    padding: 0.05rem 0;
    font-size: 0.1rem;
  }
}
.main:is(body.location *) .section.lifeinfo .tab .panels .panel div dd {
  margin: 0.01rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.location *) .section.lifeinfo .tab .panels .panel div dd {
    margin: 0;
  }
}
.main:is(body.location *) .section.lifeinfo .tab .panels .panel.active {
  opacity: 1;
  position: relative;
  z-index: 1;
}
.main:is(body.area *) .contentsHolder {
  background-image: url(../img/area/bg01@2x.webp), url(../img/common/bg02@2x.webp);
}
@media screen and (max-width: 750px) {
  .main:is(body.area *) .contentsHolder {
    background-image: url(../img/area/bg01_sp@2x.webp), url(../img/common/bg02_sp@2x.webp);
  }
}
.main:is(body.area *) .block--01 {
  position: relative;
  z-index: 1;
}
.main:is(body.area *) .map {
  max-width: 12rem;
  margin: -0.36rem auto 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.area *) .map {
    margin: 0.2rem 0 0;
  }
}
.main:is(body.area *) .spots {
  margin: -0.78rem 0 0;
  padding: 0 0 1rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.area *) .spots {
    margin: 0.2rem 0 0;
    padding: 0 0 0.4rem;
  }
}
.main:is(body.area *) .spots .wrap {
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.area *) .spots .wrap {
    gap: 0.4rem;
  }
}
.main:is(body.area *) .spots .item {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 750px) {
  .main:is(body.area *) .spots .item {
    display: block;
  }
}
.main:is(body.area *) .spots .item:nth-child(odd) {
  flex-direction: row-reverse;
}
.main:is(body.area *) .spots .item .image {
  width: 4.62rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.area *) .spots .item .image {
    width: auto;
  }
}
.main:is(body.area *) .spots .item .image .num {
  grid-area: 1/1;
  box-sizing: border-box;
  width: 0.68rem;
  height: 0.68rem;
  padding: 0.07rem 0 0 0.1rem;
  color: #fff;
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-size: 0.18rem;
  font-weight: 700;
  line-height: 1;
  background: linear-gradient(135deg, #008999 calc(50% - 0.02rem), #fff calc(50% - 0.02rem));
  -webkit-clip-path: polygon(0 0, 100% 0, 0 100%);
          clip-path: polygon(0 0, 100% 0, 0 100%);
}
@media screen and (max-width: 750px) {
  .main:is(body.area *) .spots .item .image .num {
    width: 0.5rem;
    height: 0.5rem;
    padding: 0.05rem 0 0 0.07rem;
    font-size: 0.13rem;
  }
}
.main:is(body.area *) .spots .item .text {
  width: 4.62rem;
  padding: 0.4rem 0 0;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .main:is(body.area *) .spots .item .text {
    width: auto;
    padding: 0.2rem 0 0;
  }
}
.main:is(body.area *) .spots .item .text .legend {
  border-bottom: 0.01rem solid currentColor;
  padding: 0 0 0.08rem;
  font-size: 0.2rem;
  font-weight: 700;
}
@media screen and (max-width: 750px) {
  .main:is(body.area *) .spots .item .text .legend {
    font-size: 0.18rem;
    line-height: 0.28rem;
  }
}
.main:is(body.area *) .spots .item .text .legend .small {
  font-size: 0.11rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.area *) .spots .item .text .legend .small {
    font-size: inherit;
    font-weight: inherit;
  }
}
.main:is(body.area *) .spots .item .text p {
  padding: 0.2rem 0 0;
  line-height: 2;
}
.main:is(body.area *) .spots .item .text .note {
  padding: 0.25rem 0 0;
  font-size: 0.12rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.area *) .spots .item .text .note {
    padding: 0.2rem 0 0;
    font-size: 0.1rem;
    line-height: 1.6;
  }
}
.main:is(body.access *) .contentsHolder {
  background-image: url(../img/access/bg01@2x.webp), url(../img/common/bg02@2x.webp);
}
@media screen and (max-width: 750px) {
  .main:is(body.access *) .contentsHolder {
    background-image: url(../img/access/bg01_sp@2x.webp), url(../img/common/bg02_sp@2x.webp);
  }
}
@media screen and (max-width: 750px) {
  .main:is(body.access *) .section {
    margin: 0.35rem 0 0;
  }
}
.main:is(body.access *) .section.train .map {
  margin: 0.7rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.access *) .section.train .map {
    margin: 0.3rem -0.14rem 0;
  }
}
.main:is(body.access *) .section.train .lead {
  margin: 0.6rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.access *) .section.train .lead {
    margin: 0.3 0 0;
  }
}
.main:is(body.access *) .section.train .list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.44rem 0.38rem;
  margin: 0.5rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.access *) .section.train .list {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.08rem 0.13rem;
    margin: 0.35rem 0 0;
  }
}
.main:is(body.access *) .section.train .list .data {
  margin: 0.12rem 0 0;
  font-size: 0.16rem;
  letter-spacing: 0.05em;
  line-height: 1;
  white-space: nowrap;
}
@media screen and (max-width: 750px) {
  .main:is(body.access *) .section.train .list .data {
    margin: 0.05rem 0 0;
    font-size: 0.13rem;
  }
  .main:is(body.access *) .section.train .list .data .line {
    display: block;
  }
}
.main:is(body.access *) .section.train .list .data .name {
  font-size: 0.24rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.access *) .section.train .list .data .name {
    font-size: 0.19rem;
  }
}
.main:is(body.access *) .section.train .list .data .direct {
  color: #ad0003;
  font-size: 0.2rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.access *) .section.train .list .data .direct {
    font-size: 0.16rem;
  }
}
.main:is(body.access *) .section.train .list .data .time {
  color: #ad0003;
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-size: 0.4rem;
  font-weight: 600;
}
@media screen and (max-width: 750px) {
  .main:is(body.access *) .section.train .list .data .time {
    font-size: 0.31rem;
    line-height: 0.8;
  }
}
.main:is(body.access *) .section.train .list .data .unit {
  font-size: 0.2rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.access *) .section.train .list .data .unit {
    font-size: 0.15rem;
  }
}
.main:is(body.access *) .section.train .list .data .small {
  font-size: 0.12rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.access *) .section.train .list .data .small {
    font-size: 0.1rem;
  }
}
.main:is(body.access *) .section.airport .image {
  max-width: 6.4rem;
  margin: 0.5rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.access *) .section.airport .image {
    margin: 0.2rem 0 0;
  }
}
.main:is(body.access *) .section.airport .lead {
  margin: 0.5rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.access *) .section.airport .lead {
    margin: 0.4rem 0 0;
  }
}
.main:is(body.access *) .section.airport .chart {
  max-width: 8.4rem;
  margin: 0.5rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.access *) .section.airport .chart {
    margin: 0.45rem 0 0;
  }
}
.main:is(body.access *) .section.airport .map {
  max-width: 6.4rem;
  margin: 0.45rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.access *) .section.airport .map {
    margin: 0.35rem 0 0;
  }
}
.main:is(body.access *) .section.highway {
  padding-bottom: 1rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.access *) .section.highway {
    padding-bottom: 0.35rem;
  }
}
.main:is(body.access *) .section.highway .lead {
  margin: 0.5rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.access *) .section.highway .lead {
    margin: 0.3rem 0 0;
  }
}
.main:is(body.access *) .section.highway .list {
  display: flex;
  gap: 0.28rem;
  margin: 0.5rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.access *) .section.highway .list {
    justify-content: space-between;
    gap: 0;
    margin: 0.3rem 0 0;
  }
}
.main:is(body.access *) .section.highway .list .item {
  width: 2.4rem;
  padding: 0.08rem 0;
  background: #fff;
  text-align: center;
  letter-spacing: 0.05em;
  line-height: 1;
  box-shadow: inset 0 0 0 0.01rem currentColor;
}
@media screen and (max-width: 750px) {
  .main:is(body.access *) .section.highway .list .item {
    width: 1.04rem;
    padding: 0.05rem 0;
  }
}
.main:is(body.access *) .section.highway .list .item .route {
  font-size: 0.12rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.access *) .section.highway .list .item .route {
    font-size: 0.09rem;
  }
}
.main:is(body.access *) .section.highway .list .item .ic {
  margin: 0.05rem 0 0;
  font-size: 0.2rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.access *) .section.highway .list .item .ic {
    font-size: 0.11rem;
  }
}
.main:is(body.access *) .section.highway .list .item .data {
  margin: 0.05rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.access *) .section.highway .list .item .data {
    margin: 0;
    font-size: 0.09rem;
  }
}
.main:is(body.access *) .section.highway .list .item .data .num {
  color: #ad0003;
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-size: 0.22rem;
  font-weight: 600;
  letter-spacing: 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.access *) .section.highway .list .item .data .num {
    font-size: 0.14rem;
  }
}
.main:is(body.access *) .section.highway .list .item .data .small {
  font-size: 0.12rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.access *) .section.highway .list .item .data .small {
    display: block;
    font-size: 0.08rem;
  }
}
.main:is(body.access *) .section.highway .map {
  margin: 0.5rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.access *) .section.highway .map {
    margin: 0.2rem 0 0;
  }
}
.main:is(body.quality *) {
  container-type: inline-size;
  background-color: #ebe6e1;
  background-image: url(../img/quality/bg01@2x.webp), url(../img/common/bg02@2x.webp);
  background-position: 50% calc(-100cqw + 12rem), 50% calc(100% + 66.6666666667cqw - 8rem);
  background-size: 100% auto;
  background-repeat: no-repeat;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) {
    background-image: url(../img/quality/bg01_sp@2x.webp), url(../img/common/bg02_sp@2x.webp);
    background-position: 0 0, 0 100%;
  }
}
.main:is(body.quality *) .block--01 > .wrap {
  display: grid;
  grid-template-rows: auto auto auto;
  grid-template-columns: 1fr 4.68rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .block--01 > .wrap {
    display: block;
    padding-top: 0.4rem;
  }
}
.main:is(body.quality *) .block--01 .image--01 {
  grid-row: 1/3;
  grid-column: 2/3;
  align-self: flex-start;
  margin: -0.5rem -1.12rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .block--01 .image--01 {
    margin: 0;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .main:is(body.quality *) .block--01 .image--01 {
    -webkit-mask-image: linear-gradient(275deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 10%, #fff 30%, #fff 80%, #fff 110%);
            mask-image: linear-gradient(275deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 10%, #fff 30%, #fff 80%, #fff 110%);
    -webkit-mask-size: 250% 100%;
            mask-size: 250% 100%;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: 160% 0;
            mask-position: 160% 0;
  }
  .main:is(body.quality *) .block--01 .image--01.ready {
    -webkit-animation: mask-animation 1s linear forwards;
            animation: mask-animation 1s linear forwards;
  }
  @-webkit-keyframes mask-animation {
    from {
      -webkit-mask-position: 160% 0;
              mask-position: 160% 0;
    }
    to {
      -webkit-mask-position: 0 0;
              mask-position: 0 0;
    }
  }
  @keyframes mask-animation {
    from {
      -webkit-mask-position: 160% 0;
              mask-position: 160% 0;
    }
    to {
      -webkit-mask-position: 0 0;
              mask-position: 0 0;
    }
  }
}
.main:is(body.quality *) .block--01 .text {
  grid-row: 1/2;
  grid-column: 1/2;
  padding: 0.8rem 0 0.7rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .block--01 .text {
    padding: 0.25rem 0 0;
  }
}
.main:is(body.quality *) .block--01 .text .catch {
  font-size: 0.26rem;
  letter-spacing: 0.05em;
  line-height: 0.4rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .block--01 .text .catch {
    font-size: 0.2rem;
    line-height: 0.34rem;
  }
}
.main:is(body.quality *) .block--01 .text p {
  padding: 0.24rem 0 0;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .block--01 .text p {
    font-size: 0.12rem;
  }
}
.main:is(body.quality *) .block--01 .image--02 {
  grid-row: 2/3;
  grid-column: 1/2;
  align-self: start;
  width: 3.6rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .block--01 .image--02 {
    width: auto;
    margin: 0.25rem 0 0;
  }
}
.main:is(body.quality *) .block--01 .movie {
  grid-row: 3/4;
  grid-column: 1/3;
  padding: 1.4rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .block--01 .movie {
    padding: 0.4rem 0 0;
  }
}
.main:is(body.quality *) .block--01 .movie .legend {
  font-size: 0.22rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .block--01 .movie .legend {
    font-size: 0.18rem;
    line-height: 0.24rem;
  }
}
.main:is(body.quality *) .block--01 .movie .list {
  margin: 0.3rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .block--01 .movie .list {
    margin: 0.2rem -0.2rem 0;
    padding: 0.2rem 0.44rem 0.4rem;
    overflow-x: scroll;
    overflow-y: visible;
  }
}
.main:is(body.quality *) .block--01 .movie .list ul {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .block--01 .movie .list ul {
    width: 16.74rem;
  }
}
.main:is(body.quality *) .block--01 .movie .list li {
  width: 1.68rem;
  position: relative;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .block--01 .movie .list li {
    width: 2.88rem;
  }
}
.main:is(body.quality *) .block--01 .movie .list li:nth-last-child(n+2)::after {
  content: "";
  display: block;
  width: 0.15rem;
  height: 0.21rem;
  position: absolute;
  top: 0.69rem;
  right: -0.25rem;
  background: #736446;
  -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
          clip-path: polygon(0 0, 100% 50%, 0 100%);
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .block--01 .movie .list li:nth-last-child(n+2)::after {
    width: 0.26rem;
    height: 0.36rem;
    top: 1.19rem;
    right: -0.42rem;
    background: #736446;
  }
}
.main:is(body.quality *) .block--01 .movie .list a {
  display: block;
  background: #fff;
  text-decoration: none;
}
.main:is(body.quality *) .block--01 .movie .list .text {
  box-sizing: border-box;
  height: 1.6rem;
  padding: 0.14rem 0 0;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .block--01 .movie .list .text {
    height: 2.45rem;
    padding: 0.25rem 0 0;
  }
}
.main:is(body.quality *) .block--01 .movie .list .text .legend {
  font-size: 0.16rem;
  line-height: 0.2rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .block--01 .movie .list .text .legend {
    font-size: 0.24rem;
    line-height: 0.34rem;
  }
}
.main:is(body.quality *) .block--01 .movie .list .text p {
  padding: 0.12rem 0 0;
  font-size: 0.12rem;
  line-height: 1.5;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .block--01 .movie .list .text p {
    padding: 0.2rem 0 0;
    font-size: 0.16rem;
    line-height: 0.26rem;
  }
}
.main:is(body.quality *) .section {
  margin: 1rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section {
    margin: 0.5rem 0 0;
  }
}
.main:is(body.quality *) .section .prepend {
  display: grid;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr;
  gap: 0.45rem 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section .prepend {
    display: block;
  }
}
.main:is(body.quality *) .section .prepend .title {
  grid-row: 1/2;
  grid-column: 1/2;
  border-bottom: 0.01rem solid currentColor;
  padding-bottom: 0.07rem;
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-size: 0.16rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
}
.main:is(body.quality *) .section .prepend p {
  grid-row: 1/2;
  grid-column: 1/2;
  padding: 0 0 0.08rem;
  font-size: 0.16rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: right;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section .prepend p {
    padding: 0.2rem 0;
    line-height: 0.26rem;
  }
}
.main:is(body.quality *) .section .prepend .image {
  grid-row: 2/3;
  grid-column: 1/2;
}
.main:is(body.quality *) .section .sub {
  margin: 0.7rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section .sub {
    margin: 0.5rem 0 0;
  }
}
.main:is(body.quality *) .section .sub .sTitle {
  display: flex;
  gap: 0.15rem;
  font-size: 0.22rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section .sub .sTitle {
    display: block;
    padding: 0 0 0 0.2rem;
    background: linear-gradient(#736446, #736446) 0 50%/0.05rem calc(100% - 0.08rem) no-repeat;
    line-height: 0.3rem;
  }
}
.main:is(body.quality *) .section .sub .sTitle::before, .main:is(body.quality *) .section .sub .sTitle::after {
  content: "";
  display: block;
  height: 1em;
  background: #736446;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section .sub .sTitle::before, .main:is(body.quality *) .section .sub .sTitle::after {
    height: 0;
  }
}
.main:is(body.quality *) .section .sub .sTitle::before {
  width: 0.05rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section .sub .sTitle::before {
    width: 0;
    margin-bottom: -0.04rem;
  }
}
.main:is(body.quality *) .section .sub .sTitle::after {
  flex-grow: 1;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section .sub .sTitle::after {
    width: 0;
    margin-top: -0.04rem;
  }
}
.main:is(body.quality *) .section .sub .list {
  margin: 0.5rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section .sub .list {
    margin: 0.4rem 0 0;
  }
}
.main:is(body.quality *) .section .sub .list .item .legend {
  border-bottom: 0.01rem solid currentColor;
  padding: 0 0 0.13rem;
  font-size: 0.18rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 0.28rem;
  white-space: nowrap;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section .sub .list .item .legend {
    padding: 0 0 0.14rem;
    font-size: 0.18rem;
    line-height: 0.28rem;
  }
}
.main:is(body.quality *) .section .sub .list .item .legend sub {
  font-size: 0.1rem;
  font-weight: 400;
  vertical-align: baseline;
}
.main:is(body.quality *) .section .sub .list .item p {
  padding: 0.2rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section .sub .list .item p {
    padding: 0.15rem 0 0;
    line-height: 2;
  }
}
.main:is(body.quality *) .section .note {
  font-size: 0.1rem;
  line-height: 1.6;
}
.main:is(body.quality *) .section.structure {
  margin: 1.2rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section.structure {
    margin: 0.65rem 0 0;
  }
}
.main:is(body.quality *) .section.structure .sub--01 .list {
  display: grid;
  grid-template-rows: auto auto;
  grid-template-columns: repeat(4, 2.29rem);
  gap: 0.4rem 0.2rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section.structure .sub--01 .list {
    grid-template-rows: auto auto auto;
    grid-template-columns: repeat(2, 1.6rem);
    gap: 0 0.15rem;
  }
}
.main:is(body.quality *) .section.structure .sub--01 .list .item--01 {
  grid-row: 1/2;
  grid-column: 1/5;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section.structure .sub--01 .list .item--01 {
    grid-column: 1/3;
    display: block;
  }
}
.main:is(body.quality *) .section.structure .sub--01 .list .item--01 .text {
  width: 5.9rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section.structure .sub--01 .list .item--01 .text {
    width: auto;
  }
}
.main:is(body.quality *) .section.structure .sub--01 .list .item--01 .text .note {
  padding: 0.2rem 0 0;
}
.main:is(body.quality *) .section.structure .sub--01 .list .item--01 .image {
  width: 3.5rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section.structure .sub--01 .list .item--01 .image {
    width: auto;
    margin: 0.2rem 0 0;
  }
}
.main:is(body.quality *) .section.structure .sub--01 .list .item--02,
.main:is(body.quality *) .section.structure .sub--01 .list .item--03,
.main:is(body.quality *) .section.structure .sub--01 .list .item--04,
.main:is(body.quality *) .section.structure .sub--01 .list .item--05 {
  width: 100%;
}
.main:is(body.quality *) .section.structure .sub--01 .list .item--02 .text,
.main:is(body.quality *) .section.structure .sub--01 .list .item--03 .text,
.main:is(body.quality *) .section.structure .sub--01 .list .item--04 .text,
.main:is(body.quality *) .section.structure .sub--01 .list .item--05 .text {
  padding: 0.15rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section.structure .sub--01 .list .item--02 .text,
.main:is(body.quality *) .section.structure .sub--01 .list .item--03 .text,
.main:is(body.quality *) .section.structure .sub--01 .list .item--04 .text,
.main:is(body.quality *) .section.structure .sub--01 .list .item--05 .text {
    padding: 0.12rem 0 0;
  }
  .main:is(body.quality *) .section.structure .sub--01 .list .item--02 .text .legend,
.main:is(body.quality *) .section.structure .sub--01 .list .item--03 .text .legend,
.main:is(body.quality *) .section.structure .sub--01 .list .item--04 .text .legend,
.main:is(body.quality *) .section.structure .sub--01 .list .item--05 .text .legend {
    padding-bottom: 0.09rem;
    font-size: 0.12rem;
    line-height: 0.2rem;
  }
}
.main:is(body.quality *) .section.structure .sub--01 .list .item--02 .text .note,
.main:is(body.quality *) .section.structure .sub--01 .list .item--03 .text .note,
.main:is(body.quality *) .section.structure .sub--01 .list .item--04 .text .note,
.main:is(body.quality *) .section.structure .sub--01 .list .item--05 .text .note {
  padding: 0.2rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section.structure .sub--01 .list .item--02 .text .note,
.main:is(body.quality *) .section.structure .sub--01 .list .item--03 .text .note,
.main:is(body.quality *) .section.structure .sub--01 .list .item--04 .text .note,
.main:is(body.quality *) .section.structure .sub--01 .list .item--05 .text .note {
    padding: 0.1rem 0 0;
  }
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section.structure .sub--01 .list .item--02,
.main:is(body.quality *) .section.structure .sub--01 .list .item--03 {
    margin: 0.2rem 0 0;
  }
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section.structure .sub--01 .list .item--04,
.main:is(body.quality *) .section.structure .sub--01 .list .item--05 {
    margin: 0.25rem 0 0;
  }
}
.main:is(body.quality *) .section.structure .sub--02 .list {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section.structure .sub--02 .list {
    gap: 0.3rem;
  }
}
.main:is(body.quality *) .section.structure .sub--02 .list .item {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section.structure .sub--02 .list .item {
    flex-direction: column;
    gap: 0.2rem;
  }
}
.main:is(body.quality *) .section.structure .sub--02 .list .item--01 .text {
  width: 6.2rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section.structure .sub--02 .list .item--01 .text {
    width: auto;
  }
}
.main:is(body.quality *) .section.structure .sub--02 .list .item--01 .image {
  width: 3.2rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section.structure .sub--02 .list .item--01 .image {
    width: auto;
  }
}
.main:is(body.quality *) .section.structure .sub--02 .list .item--02 .text {
  width: 7.1rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section.structure .sub--02 .list .item--02 .text {
    width: auto;
  }
}
.main:is(body.quality *) .section.structure .sub--02 .list .item--02 .image {
  width: 2.3rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section.structure .sub--02 .list .item--02 .image {
    width: auto;
  }
}
.main:is(body.quality *) .section.structure .sub--02 .list .item--03 .text {
  width: 3.3rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section.structure .sub--02 .list .item--03 .text {
    width: auto;
  }
}
.main:is(body.quality *) .section.structure .sub--02 .list .item--03 .text .note {
  padding: 0.2rem 0 0;
}
.main:is(body.quality *) .section.structure .sub--02 .list .item--03 .image {
  width: 6rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section.structure .sub--02 .list .item--03 .image {
    width: auto;
  }
}
.main:is(body.quality *) .section.air .sub .list {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}
.main:is(body.quality *) .section.air .sub .list .item--01 .image {
  margin: 0.35rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section.air .sub .list .item--01 .image {
    margin: 0.2rem 0 0;
  }
}
.main:is(body.quality *) .section.air .sub .list .item--01 .note {
  padding: 0.12rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section.air .sub .list .item--01 .note {
    padding: 0.1rem 0 0;
    text-align: right;
  }
}
.main:is(body.quality *) .section.air .sub .list .item--02 {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section.air .sub .list .item--02 {
    flex-direction: column;
    gap: 0.2rem;
  }
}
.main:is(body.quality *) .section.air .sub .list .item--02 .text {
  width: 4.6rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section.air .sub .list .item--02 .text {
    width: auto;
  }
}
.main:is(body.quality *) .section.air .sub .list .item--02 .text .note {
  padding: 0.2rem 0 0;
}
.main:is(body.quality *) .section.air .sub .list .item--02 .image {
  width: 4.8rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section.air .sub .list .item--02 .image {
    width: auto;
  }
}
.main:is(body.quality *) .section.time {
  padding-bottom: 1rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section.time {
    padding-bottom: 0.4rem;
  }
}
.main:is(body.quality *) .section.time .sub .list {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section.time .sub .list {
    gap: 0.3rem;
  }
}
.main:is(body.quality *) .section.time .sub--01 .list .item--01 .image {
  margin: 0.35rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section.time .sub--01 .list .item--01 .image {
    margin: 0.2rem 0 0;
  }
}
.main:is(body.quality *) .section.time .sub--01 .list .item--01 .note {
  padding: 0.25rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section.time .sub--01 .list .item--01 .note {
    padding: 0.2rem 0 0;
  }
}
.main:is(body.quality *) .section.time .sub--01 .list .item--02 .note {
  padding: 0.2rem 0 0;
}
.main:is(body.quality *) .section.time .sub--01 .list .item--02 .image {
  margin: 0.35rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section.time .sub--01 .list .item--02 .image {
    margin: 0.2rem 0 0;
  }
}
.main:is(body.quality *) .section.time .sub--02 .list .item--01 {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section.time .sub--02 .list .item--01 {
    flex-direction: column;
    gap: 0.2rem;
  }
}
.main:is(body.quality *) .section.time .sub--02 .list .item--01 .text {
  width: 5.5rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section.time .sub--02 .list .item--01 .text {
    width: auto;
  }
}
.main:is(body.quality *) .section.time .sub--02 .list .item--01 .image {
  width: 3.9rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section.time .sub--02 .list .item--01 .image {
    width: auto;
  }
}
.main:is(body.quality *) .section.time .sub--02 .list .item--02 .image {
  margin: 0.35rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section.time .sub--02 .list .item--02 .image {
    margin: 0.2rem 0 0;
  }
}
.main:is(body.quality *) .section.time .sub--02 .list .item--02 .note {
  padding: 0.25rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.quality *) .section.time .sub--02 .list .item--02 .note {
    padding: 0.2rem 0 0;
  }
}
.main:is(body.brand *) {
  letter-spacing: 0.01em;
}
.main:is(body.brand *) .block--01 .wrap {
  padding-top: 0.9rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.brand *) .block--01 .wrap {
    padding-top: 0.35rem;
  }
}
.main:is(body.brand *) .block--01 .image {
  width: 8.4rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 750px) {
  .main:is(body.brand *) .block--01 .image {
    width: auto;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .main:is(body.brand *) .block--01 .image {
    -webkit-mask-image: linear-gradient(275deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 10%, #fff 30%, #fff 80%, #fff 110%);
            mask-image: linear-gradient(275deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 10%, #fff 30%, #fff 80%, #fff 110%);
    -webkit-mask-size: 250% 100%;
            mask-size: 250% 100%;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: 160% 0;
            mask-position: 160% 0;
  }
  .main:is(body.brand *) .block--01 .image.ready {
    -webkit-animation: mask-animation 1s linear forwards;
            animation: mask-animation 1s linear forwards;
  }
  @-webkit-keyframes mask-animation {
    from {
      -webkit-mask-position: 160% 0;
              mask-position: 160% 0;
    }
    to {
      -webkit-mask-position: 0 0;
              mask-position: 0 0;
    }
  }
  @keyframes mask-animation {
    from {
      -webkit-mask-position: 160% 0;
              mask-position: 160% 0;
    }
    to {
      -webkit-mask-position: 0 0;
              mask-position: 0 0;
    }
  }
}
.main:is(body.brand *) .block--01 .text--01 {
  width: 6.8rem;
  margin: -1.58rem 0 0 auto;
  padding: 2.14rem 0 0.87rem;
  background: url(../img/brand/bg01@2x.webp) 0 0/cover no-repeat;
}
@media screen and (max-width: 750px) {
  .main:is(body.brand *) .block--01 .text--01 {
    width: auto;
    margin: -1.2rem -0.2rem 0;
    padding: 1.35rem 0 0.31rem;
    background-image: url(../img/brand/bg01_sp@2x.webp);
  }
}
.main:is(body.brand *) .block--01 .text--01 .catch {
  width: 3.85rem;
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .main:is(body.brand *) .block--01 .text--01 .catch {
    width: 2.12rem;
  }
}
.main:is(body.brand *) .block--01 .text--01 p {
  width: 4rem;
  margin: 0.15rem auto 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.brand *) .block--01 .text--01 p {
    width: 2.21rem;
    margin: 0.08rem auto 0;
  }
}
.main:is(body.brand *) .block--01 .movie {
  display: grid;
  width: 6.8rem;
  margin: 0 0 0 auto;
}
@media screen and (max-width: 750px) {
  .main:is(body.brand *) .block--01 .movie {
    width: auto;
    margin: 0 -0.2rem;
  }
}
.main:is(body.brand *) .block--01 .movie video {
  grid-area: 1/1;
  width: 100%;
  aspect-ratio: 680/466;
  -o-object-fit: cover;
     object-fit: cover;
}
.main:is(body.brand *) .block--01 .movie .catch {
  grid-area: 1/1;
  align-self: center;
  justify-self: center;
  width: 3.38rem;
  position: relative;
}
@media screen and (max-width: 750px) {
  .main:is(body.brand *) .block--01 .movie .catch {
    width: 1.87rem;
  }
}
.main:is(body.brand *) .block--01 .movie .catch .btn {
  display: grid;
  width: 1rem;
  position: absolute;
  right: -0.5rem;
  bottom: -0.5rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.brand *) .block--01 .movie .catch .btn {
    width: 0.54rem;
    right: -0.27rem;
    bottom: -0.27rem;
  }
}
.main:is(body.brand *) .block--01 .movie .catch .btn img {
  grid-area: 1/1;
}
.main:is(body.brand *) .block--01 .movie .catch .btn img.on {
  opacity: 0;
}
@media screen and (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .main:is(body.brand *) .block--01 .movie .catch .btn img {
    transition: opacity 0.4s;
  }
}
@media screen and (hover: hover) and (pointer: fine) {
  .main:is(body.brand *) .block--01 .movie .catch .btn:hover img.on {
    opacity: 1;
  }
  .main:is(body.brand *) .block--01 .movie .catch .btn:hover img.off {
    opacity: 0;
  }
}
.main:is(body.brand *) .block--01 .text--02 {
  display: grid;
  grid-template-columns: 1.37rem 1fr;
  gap: 0.6rem;
  padding: 0.5rem 0 1.2rem;
  background: url(../img/brand/bg02@2x.webp) 100% 0/6.8rem auto no-repeat;
}
@media screen and (max-width: 750px) {
  .main:is(body.brand *) .block--01 .text--02 {
    display: block;
    margin: 0.5rem 0 0;
    border-top: 0.01rem solid currentColor;
    padding: 0.36rem 0 0;
    background: none;
  }
}
.main:is(body.brand *) .block--01 .text--02 .logo {
  grid-row: 1/2;
  grid-column: 1/2;
}
@media screen and (max-width: 750px) {
  .main:is(body.brand *) .block--01 .text--02 .logo {
    width: 1.37rem;
    margin: 0 auto;
  }
}
.main:is(body.brand *) .block--01 .text--02 p {
  grid-row: 1/2;
  grid-column: 2/3;
  margin: 0.6rem 0 0;
  border-top: 0.01rem solid currentColor;
  padding: 0.82rem 0 0;
  font-family: "Noto Serif JP", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", serif;
  line-height: 2;
}
@media screen and (max-width: 750px) {
  .main:is(body.brand *) .block--01 .text--02 p {
    margin: 0;
    border-top: none;
    padding: 0.42rem 0 0;
    text-align: center;
  }
}
.main:is(body.brand *) .section.stance {
  padding: 1.4rem 0 1.2rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.brand *) .section.stance {
    padding: 0.6rem 0;
  }
}
.main:is(body.brand *) .section.stance .headline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 0.01rem solid currentColor;
  padding: 0 0 0.08rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.brand *) .section.stance .headline {
    display: block;
    border: none;
    padding: 0;
  }
}
.main:is(body.brand *) .section.stance .headline .title {
  font-family: "Noto Serif JP", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", serif;
  font-size: 0.24rem;
  font-weight: 400;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .main:is(body.brand *) .section.stance .headline .title {
    font-size: 0.2rem;
    border-bottom: 0.01rem solid currentColor;
    padding: 0 0 0.08rem;
  }
}
.main:is(body.brand *) .section.stance .headline p {
  font-family: "Noto Serif JP", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", serif;
  font-size: 0.16rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.brand *) .section.stance .headline p {
    padding: 0.2rem 0 0;
    font-size: 0.12rem;
    text-align: center;
  }
}
.main:is(body.brand *) .section.stance .sub {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin: 0.7rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.brand *) .section.stance .sub {
    display: block;
    width: 2.8rem;
    margin: 0.5rem 0 0;
  }
  .main:is(body.brand *) .section.stance .sub--01 {
    margin: 0.3rem 0 0;
  }
}
.main:is(body.brand *) .section.stance .sub .image {
  width: 6rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.brand *) .section.stance .sub .image {
    width: auto;
  }
}
.main:is(body.brand *) .section.stance .sub .text {
  width: 3.46rem;
  padding: 0 0 0.7rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.brand *) .section.stance .sub .text {
    width: auto;
    padding: 0.2rem 0 0;
  }
}
.main:is(body.brand *) .section.stance .sub .text .sTitle {
  font-family: "Noto Serif JP", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", serif;
  font-size: 0.2rem;
  font-weight: 400;
}
@media screen and (max-width: 750px) {
  .main:is(body.brand *) .section.stance .sub .text .sTitle {
    font-size: 0.16rem;
  }
}
.main:is(body.brand *) .section.stance .sub .text p {
  border-bottom: 0.01rem solid currentColor;
  padding: 0.24rem 0 0.28rem;
  font-family: "Noto Serif JP", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", serif;
  line-height: 2;
}
@media screen and (max-width: 750px) {
  .main:is(body.brand *) .section.stance .sub .text p {
    padding: 0.2rem 0;
  }
}
.main:is(body.brand *) .section.stance .sub:nth-of-type(even) {
  flex-direction: row-reverse;
}
@media screen and (max-width: 750px) {
  .main:is(body.brand *) .section.stance .sub:nth-of-type(even) {
    margin-left: auto;
  }
}
.main:is(body.outline *) .wrap {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.outline *) .wrap {
    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
  }
}
.main:is(body.outline *) iframe {
  min-height: 1400px;
}
.main:is(body.thanks *) .wrap {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.thanks *) .wrap {
    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
  }
}
.main:is(body.thanks *) .lead {
  font-size: 0.22rem;
  margin-bottom: 0.2rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.thanks *) .lead {
    font-size: 0.18rem;
  }
}
.main:is(body.thanks *) .text {
  font-size: 0.14rem;
  line-height: 2;
  margin-bottom: 0.6rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.thanks *) .text {
    font-size: 0.13rem;
  }
}
.main:is(body.thanks *) .btnArea {
  margin-top: 0.4rem;
}
.main:is(body.thanks *) .btnBack {
  display: inline-block;
  background: #000;
  color: #fff;
  padding: 0.12rem 0.4rem;
  font-size: 0.14rem;
  text-decoration: none;
  transition: opacity 0.3s;
}
.main:is(body.thanks *) .btnBack:hover {
  opacity: 0.8;
}
.main:is(body.map *) .wrap:not(.fNote *) {
  padding-top: 1rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.map *) .wrap:not(.fNote *) {
    padding-top: 0.4rem;
  }
}
.main:is(body.map *) .map .head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (max-width: 750px) {
  .main:is(body.map *) .map .head {
    flex-direction: column;
  }
}
.main:is(body.map *) .map .head h2 {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 750px) {
  .main:is(body.map *) .map .head h2 {
    font-size: 0.16rem;
  }
}
.main:is(body.map *) .map .head p {
  margin: 0;
  font-size: 14px;
  letter-spacing: 0.02em;
  text-align: right;
}
@media screen and (max-width: 750px) {
  .main:is(body.map *) .map .head p {
    font-size: 0.14rem;
    text-align: left;
  }
}
.main:is(body.map *) .map .image {
  aspect-ratio: 923/699;
  background: #b3b3b3;
  overflow: hidden;
}
.main:is(body.map *) .map .image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.main:is(body.map *) .map .btn {
  display: flex;
  justify-content: flex-end;
  margin: 18px 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.map *) .map .btn {
    margin-top: 0.14rem;
  }
}
.main:is(body.map *) .map .btn a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-width: 132px;
  height: 38px;
  padding: 0 14px 0 16px;
  background: #000;
  color: #fff;
  font-size: 14px;
  line-height: 1;
  text-decoration: none;
  box-sizing: border-box;
}
@media screen and (max-width: 750px) {
  .main:is(body.map *) .map .btn a {
    gap: 0.1rem;
    min-width: 1.2rem;
    height: 0.34rem;
    padding: 0 0.14rem 0 0.16rem;
    font-size: 0.14rem;
  }
}
.main:is(body.map *) .map .btn a:hover {
  background-color: rgba(0, 0, 0, 0.5);
}
.main:is(body.map *) .map .btn a .arrow {
  flex: none;
  display: block;
  width: 28px;
  height: 14px;
  position: relative;
}
@media screen and (max-width: 750px) {
  .main:is(body.map *) .map .btn a .arrow {
    width: 0.28rem;
    height: 0.14rem;
  }
}
.main:is(body.map *) .map .btn a .arrow::before, .main:is(body.map *) .map .btn a .arrow::after {
  content: "";
  display: block;
  position: absolute;
  background: #fff;
  transform-origin: center;
}
.main:is(body.map *) .map .btn a .arrow::before {
  width: 100%;
  height: 1px;
  left: 0;
  bottom: 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.map *) .map .btn a .arrow::before {
    height: 0.01rem;
  }
}
.main:is(body.map *) .map .btn a .arrow::after {
  width: 12px;
  height: 1px;
  right: -1px;
  bottom: 5px;
  transform: rotate(45deg);
}
@media screen and (max-width: 750px) {
  .main:is(body.map *) .map .btn a .arrow::after {
    width: 0.12rem;
    height: 0.01rem;
    bottom: 0.045rem;
  }
}
.main:is(body.limited *) .hero {
  display: grid;
  grid-template-rows: auto auto;
  gap: 0.8rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.limited *) .hero {
    gap: 0.4rem;
  }
}
.main:is(body.limited *) .hero .wrap {
  grid-row: 1/2;
  grid-column: 1/2;
  width: 100%;
}
.main:is(body.limited *) .hero .image {
  grid-row: 2/3;
  grid-column: 1/2;
}
.main:is(body.limited *) .hero .text {
  grid-row: 2/3;
  grid-column: 1/2;
  width: 100%;
  max-width: 9.76rem;
  margin: 0 auto;
  padding: 0.6rem 0 0;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .main:is(body.limited *) .hero .text {
    padding: 0.2rem 0.24rem 0;
  }
}
.main:is(body.limited *) .hero .text .logo {
  width: 3rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.limited *) .hero .text .logo {
    width: 1.98rem;
  }
}
.main:is(body.limited *) .hero .text .title {
  margin: 0.38rem 0 0;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .main:is(body.limited *) .hero .text .title {
    margin: 0.35rem 0 0;
  }
}
.main:is(body.limited *) .hero .text .title .en {
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-size: 0.32rem;
  font-weight: 300;
}
@media screen and (max-width: 750px) {
  .main:is(body.limited *) .hero .text .title .en {
    font-size: 0.22rem;
    line-height: 1;
  }
}
.main:is(body.limited *) .hero .text .title .ja {
  margin: 0.1rem 0 0;
  font-size: 0.16rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.limited *) .hero .text .title .ja {
    margin: 0.08rem 0 0;
    font-size: 0.11rem;
    line-height: 1;
  }
}
.main:is(body.limited *) .hero .text p {
  padding: 0.3rem 0 0;
  line-height: 0.26rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.limited *) .hero .text p {
    padding: 0.22rem 0 0;
    font-size: 0.1rem;
    line-height: 1.8;
  }
}
.main:is(body.limited *) .menu {
  container-type: inline-size;
  padding: 0.8rem 0 1rem;
  background-color: #ebe6e1;
  background-image: url(../img/common/bg02@2x.webp);
  background-position: 50% calc(100% + 66.6666666667cqw - 8rem);
  background-size: 100% auto;
  background-repeat: no-repeat;
}
@media screen and (max-width: 750px) {
  .main:is(body.limited *) .menu {
    padding: 0.5rem 0 0.6rem;
    background-image: url(../img/common/bg02_sp@2x.webp);
    background-position: 0 100%;
  }
}
.main:is(body.limited *) .section.special {
  margin: 0.8rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.limited *) .section.special {
    margin: 0.55rem 0 0;
  }
}
.main:is(body.limited *) .section.special .list {
  gap: 0.62rem 0.32rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.limited *) .section.special .list {
    gap: 0.5rem;
    width: 2.2rem;
  }
}
.main:is(body.limited *) .section.special li {
  width: 2.2rem;
}
.main:is(body.limited *) .section.special a {
  padding: 0.23rem 0.2rem;
}
.main:is(body.limited *) .section.special a .legend {
  right: 0.1rem;
  left: 0.1rem;
}
.main:is(body.limited *) .section.special a .image {
  position: relative;
}
@media screen and (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .main:is(body.limited *) .section.special a::before,
.main:is(body.limited *) .section.special a .legend,
.main:is(body.limited *) .section.special a .image, .main:is(body.limited *) .section.special a::after {
    transition: opacity 0.4s;
  }
}
@media screen and (hover: hover) and (pointer: fine) {
  .main:is(body.limited *) .section.special a:hover::before,
.main:is(body.limited *) .section.special a:hover .legend,
.main:is(body.limited *) .section.special a:hover .image, .main:is(body.limited *) .section.special a:hover::after {
    opacity: 0.8;
  }
}
.main:is(body.limited_login *) .hero {
  display: grid;
  grid-template-rows: auto auto;
  gap: 0.8rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.limited_login *) .hero {
    gap: 0.4rem;
  }
}
.main:is(body.limited_login *) .hero .wrap {
  grid-row: 1/2;
  grid-column: 1/2;
  width: 100%;
}
.main:is(body.limited_login *) .hero .image {
  grid-row: 2/3;
  grid-column: 1/2;
}
.main:is(body.limited_login *) .hero .image figcaption {
  background: none;
}
.main:is(body.limited_login *) .hero .text {
  grid-row: 2/3;
  grid-column: 1/2;
  width: 100%;
  max-width: 9.76rem;
  margin: 0 auto;
  padding: 0.6rem 0 0;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .main:is(body.limited_login *) .hero .text {
    padding: 0.2rem 0.24rem 0;
  }
}
.main:is(body.limited_login *) .hero .text .logo {
  width: 3rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.limited_login *) .hero .text .logo {
    width: 1.98rem;
  }
}
.main:is(body.limited_login *) .hero .text .title {
  margin: 0.38rem 0 0;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .main:is(body.limited_login *) .hero .text .title {
    margin: 0.25rem 0 0;
  }
}
.main:is(body.limited_login *) .hero .text .title .en {
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-size: 0.32rem;
  font-weight: 300;
}
@media screen and (max-width: 750px) {
  .main:is(body.limited_login *) .hero .text .title .en {
    font-size: 0.22rem;
    line-height: 1;
  }
}
.main:is(body.limited_login *) .hero .text .title .ja {
  margin: 0.1rem 0 0;
  font-size: 0.16rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.limited_login *) .hero .text .title .ja {
    margin: 0.06rem 0 0;
    font-size: 0.11rem;
    line-height: 1;
  }
}
.main:is(body.limited_login *) .hero .text p {
  padding: 0.3rem 0 0;
  line-height: 0.26rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.limited_login *) .hero .text p {
    padding: 0.2rem 0 0;
    font-size: 0.1rem;
    line-height: 1.8;
  }
}
.main:is(body.limited_login *) .hero .text .form {
  display: grid;
  grid-template-rows: auto auto;
  grid-template-columns: auto 1fr;
  gap: 0.1rem 0;
  width: 5rem;
  margin: 0.8rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.limited_login *) .hero .text .form {
    width: 100%;
    margin: 0.5rem 0 0;
  }
}
.main:is(body.limited_login *) .hero .text .form .legend {
  grid-row: 1/2;
  grid-column: 1/3;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .main:is(body.limited_login *) .hero .text .form .legend {
    font-size: 0.11rem;
    line-height: 1;
  }
}
.main:is(body.limited_login *) .hero .text .form .password {
  grid-row: 2/3;
  grid-column: 1/2;
  box-sizing: border-box;
  width: 3.5rem;
  height: 0.5rem;
  border: 0.01rem solid currentColor;
  padding: 0 0.15rem;
  background: #fff;
}
@media screen and (max-width: 750px) {
  .main:is(body.limited_login *) .hero .text .form .password {
    width: 2.28rem;
    height: 0.43rem;
    padding: 0 0.11rem;
    font-size: 16px;
  }
}
.main:is(body.limited_login *) .hero .text .form .password::-moz-placeholder {
  color: #aaa;
}
.main:is(body.limited_login *) .hero .text .form .password::placeholder {
  color: #aaa;
}
@media screen and (max-width: 750px) {
  .main:is(body.limited_login *) .hero .text .form .password::-moz-placeholder {
    font-size: 0.12rem;
  }
  .main:is(body.limited_login *) .hero .text .form .password::placeholder {
    font-size: 0.12rem;
  }
}
.main:is(body.limited_login *) .hero .text .form .login-btn {
  grid-row: 2/3;
  grid-column: 2/3;
  width: 100%;
  border: none;
  padding: 0;
  background: #000;
  color: #fff;
}
@media screen and (max-width: 750px) {
  .main:is(body.limited_login *) .hero .text .form .login-btn {
    font-size: 0.12rem;
  }
}
.main:is(body.limited_login *) .hero .text .entry {
  margin: 0.75rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.limited_login *) .hero .text .entry {
    margin: 0.4rem 0 0;
  }
}
.main:is(body.limited_login *) .hero .text .entry .legend {
  color: #920d22;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .main:is(body.limited_login *) .hero .text .entry .legend {
    font-size: 0.11rem;
    line-height: 1;
  }
}
.main:is(body.limited_login *) .hero .text .entry a {
  display: grid;
  place-items: center;
  width: 1.3rem;
  height: 1.3rem;
  margin: 0.1rem 0 0;
  background: #920d22;
  color: #fff;
  font-size: 0.16rem;
  font-weight: 700;
  line-height: 0.22rem;
  text-align: center;
  text-decoration: none;
}
@media screen and (max-width: 750px) {
  .main:is(body.limited_login *) .hero .text .entry a {
    width: 1.03rem;
    height: 1.03rem;
    font-size: 0.13rem;
    line-height: 0.18rem;
  }
}
.main:is(body.plan_detail *) a.back {
  display: grid;
  place-items: center;
  width: 0.88rem;
  height: 0.2rem;
  background: #000;
  color: #fff;
  line-height: 1;
  letter-spacing: 0.05em;
  text-decoration: none;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan_detail *) a.back {
    height: 0.22rem;
  }
}
.main:is(body.plan_detail *) .data {
  background: linear-gradient(transparent, transparent 1.34rem, #ebe6e1 7.31rem, #ebe6e1);
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan_detail *) .data {
    background: linear-gradient(transparent, #ebe6e1 5.61rem, #ebe6e1);
  }
}
.main:is(body.plan_detail *) .data .wrap {
  padding-top: 0.1rem;
}
.main:is(body.plan_detail *) .data .pageTitle {
  display: flex;
  align-items: baseline;
  justify-content: center;
  height: 0.4rem;
  font-size: 0.28rem;
  font-weight: 600;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan_detail *) .data .pageTitle {
    height: 0.2rem;
    font-size: 0.14rem;
  }
}
.main:is(body.plan_detail *) .data .pageTitle .small {
  font-size: 0.2rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan_detail *) .data .pageTitle .small {
    font-size: inherit;
  }
}
.main:is(body.plan_detail *) .data a.back {
  margin: 0 0 0 auto;
}
.main:is(body.plan_detail *) .data .plan,
.main:is(body.plan_detail *) .data .size,
.main:is(body.plan_detail *) .data .color,
.main:is(body.plan_detail *) .data .feature {
  border-bottom: 0.01rem solid currentColor;
}
.main:is(body.plan_detail *) .data .plan,
.main:is(body.plan_detail *) .data .size,
.main:is(body.plan_detail *) .data .color {
  display: flex;
  align-items: baseline;
  padding-bottom: 0.15rem;
}
.main:is(body.plan_detail *) .data .plan {
  align-items: baseline;
  gap: 0.12rem;
  padding-top: 0.4rem;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan_detail *) .data .plan {
    gap: 0;
    padding-top: 0.2rem;
    white-space: nowrap;
  }
}
.main:is(body.plan_detail *) .data .plan .primary {
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-size: 0.68rem;
  font-weight: 600;
  line-height: 0.49rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan_detail *) .data .plan .primary {
    font-size: 0.41rem;
    line-height: 0.29rem;
  }
}
.main:is(body.plan_detail *) .data .plan .secondary {
  font-size: 0.26rem;
  font-weight: 700;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan_detail *) .data .plan .secondary {
    font-size: 0.18rem;
  }
}
.main:is(body.plan_detail *) .data .size,
.main:is(body.plan_detail *) .data .color {
  gap: 1em;
  font-size: 0.12rem;
  line-height: 0.12rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan_detail *) .data .size,
.main:is(body.plan_detail *) .data .color {
    padding-bottom: 0.12rem;
  }
}
.main:is(body.plan_detail *) .data .size div,
.main:is(body.plan_detail *) .data .color div {
  display: flex;
  align-items: baseline;
}
.main:is(body.plan_detail *) .data .size dt::after,
.main:is(body.plan_detail *) .data .color dt::after {
  content: "／";
}
.main:is(body.plan_detail *) .data .size {
  padding-top: 0.26rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan_detail *) .data .size {
    flex-direction: column;
    gap: 0.02rem;
    padding-top: 0.17rem;
  }
}
.main:is(body.plan_detail *) .data .size dd strong {
  font-weight: 700;
}
.main:is(body.plan_detail *) .data .size dd strong span {
  font-size: 0.2rem;
  font-weight: inherit;
  line-height: 0.12rem;
}
.main:is(body.plan_detail *) .data .size dd .note {
  font-size: 0.1rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan_detail *) .data .size dd .note {
    display: block;
  }
}
.main:is(body.plan_detail *) .data .color {
  padding-top: 0.23rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan_detail *) .data .color {
    padding-top: 0.17rem;
  }
}
.main:is(body.plan_detail *) .data .color dd {
  font-size: 0.14rem;
  font-weight: 700;
}
.main:is(body.plan_detail *) .data .feature {
  display: grid;
  grid-template-columns: 5.51rem 1fr;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan_detail *) .data .feature {
    display: block;
    padding-bottom: 0.12rem;
  }
}
.main:is(body.plan_detail *) .data .feature .list {
  grid-row: 1/2;
  grid-column: 1/2;
  display: flex;
  flex-wrap: wrap;
  gap: 0.11rem;
  padding: 0.35rem 0 0.16rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan_detail *) .data .feature .list {
    gap: 0.06rem;
    padding: 0.2rem 0 0;
  }
}
.main:is(body.plan_detail *) .data .feature .list li {
  display: grid;
  place-items: center;
  box-sizing: border-box;
  width: 2.7rem;
  height: 0.64rem;
  border: 0.01rem solid #736446;
  background: #fff;
  font-size: 0.2rem;
  font-weight: 700;
  line-height: 0.24rem;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan_detail *) .data .feature .list li {
    width: calc(50% - 0.03rem);
    height: 0.39rem;
    font-size: 0.12rem;
    line-height: 0.14rem;
  }
}
.main:is(body.plan_detail *) .data .feature .image {
  grid-row: 1/2;
  grid-column: 2/3;
  align-self: start;
  justify-self: end;
}
.main:is(body.plan_detail *) .data .feature .image figcaption {
  align-self: start;
  padding: 0.35rem 0 0;
  background: none;
  color: inherit;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan_detail *) .data .feature .image figcaption {
    padding: 0.2rem 0 0;
    font-size: 0.1rem;
  }
}
.main:is(body.plan_detail *) .data .point {
  counter-reset: num;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 0.7rem 0 0 1.25rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan_detail *) .data .point {
    gap: 0.12rem;
    padding: 0.3rem 0 0;
  }
}
.main:is(body.plan_detail *) .data .point li {
  display: flex;
  gap: 0.15rem;
  counter-increment: num;
  font-size: 0.24rem;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan_detail *) .data .point li {
    gap: 0.1rem;
    font-size: 0.16rem;
    line-height: 1.5;
  }
}
.main:is(body.plan_detail *) .data .point li::before {
  content: "POINT 0" counter(num);
  display: grid;
  place-items: center;
  width: 1.04rem;
  height: 0.24rem;
  background: #736446;
  color: #fff;
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-size: 0.18rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan_detail *) .data .point li::before {
    width: 0.56rem;
    height: 0.37rem;
    align-self: center;
    font-size: 0.13rem;
    line-height: 1;
    text-align: center;
  }
}
.main:is(body.plan_detail *) .floorPlan {
  container-type: inline-size;
  padding-bottom: 1rem;
  background-color: #ebe6e1;
  background-image: url(../img/common/bg02@2x.webp);
  background-position: 50% calc(100% + 66.6666666667cqw - 8rem);
  background-size: 100% auto;
  background-repeat: no-repeat;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan_detail *) .floorPlan {
    padding-bottom: 0.2rem;
    background-image: url(../img/common/bg02_sp@2x.webp);
    background-position: 0 100%;
  }
}
.main:is(body.plan_detail *) .floorPlan .image figcaption {
  background: none;
  color: inherit;
  font-size: 0.14rem;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan_detail *) .floorPlan .image figcaption {
    font-size: 0.1rem;
  }
}
.main:is(body.plan_detail *) .floorPlan .append {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.16rem;
  margin: 0.34rem 0 0 1.66rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan_detail *) .floorPlan .append {
    display: block;
    margin: 0.08rem 0 0;
  }
}
.main:is(body.plan_detail *) .floorPlan .append .map,
.main:is(body.plan_detail *) .floorPlan .append .legend {
  align-self: start;
  display: block;
}
.main:is(body.plan_detail *) .floorPlan .append .map figcaption,
.main:is(body.plan_detail *) .floorPlan .append .legend figcaption {
  font-size: 0.12rem;
  text-align: left;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan_detail *) .floorPlan .append .map figcaption,
.main:is(body.plan_detail *) .floorPlan .append .legend figcaption {
    font-size: 0.09rem;
  }
}
.main:is(body.plan_detail *) .floorPlan .append .map {
  grid-row: 1/2;
  grid-column: 1/2;
  width: 3.4rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan_detail *) .floorPlan .append .map {
    width: 2.15rem;
    margin: 0 0 0 0.44rem;
  }
}
.main:is(body.plan_detail *) .floorPlan .append .map figcaption {
  padding: 0 0 0.12rem 0.06rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan_detail *) .floorPlan .append .map figcaption {
    padding: 0 0 0.1rem 0.04rem;
  }
}
.main:is(body.plan_detail *) .floorPlan .append .legend {
  grid-row: 1/2;
  grid-column: 2/3;
  width: 2.85rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan_detail *) .floorPlan .append .legend {
    width: 2.17rem;
    margin: 0.2rem 0 0 0.49rem;
  }
}
.main:is(body.plan_detail *) .floorPlan .append .legend figcaption {
  padding: 0 0 0.18rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan_detail *) .floorPlan .append .legend figcaption {
    padding: 0 0 0.14rem;
  }
}
.main:is(body.plan_detail *) .floorPlan .append a.back {
  grid-row: 1/2;
  grid-column: 2/3;
  align-self: end;
  justify-self: end;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan_detail *) .floorPlan .append a.back {
    margin: 0.35rem 0 0 auto;
  }
}
.main:is(body.plan_detail *) .floorPlan .note {
  padding: 0.4rem 0 0;
  font-size: 0.1rem;
  line-height: 1.6;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan_detail *) .floorPlan .note {
    padding: 0.2rem 0 0;
  }
}
@media screen and (max-width: 750px) {
  .main:is(body.plan02 *) .data .color {
    flex-direction: column;
    gap: 0.06rem;
  }
}
.main:is(body.plan02 *) .data .feature .image {
  width: 3.9rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan02 *) .data .feature .image {
    width: auto;
  }
}
.main:is(body.plan02 *) .data .feature .image img {
  margin: 0.52rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan02 *) .data .feature .image img {
    width: 3.12rem;
    margin: 0.42rem auto 0;
  }
}
.main:is(body.plan02 *) .floorPlan {
  padding-top: 0.78rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan02 *) .floorPlan {
    padding-top: 0.38rem;
  }
}
.main:is(body.plan02 *) .floorPlan .wrap {
  display: grid;
  grid-template-rows: repeat(3, auto);
  grid-template-columns: 5.08rem 1fr;
  gap: 0 0.52rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan02 *) .floorPlan .wrap {
    display: block;
  }
}
.main:is(body.plan02 *) .floorPlan .secondFloor {
  grid-row: 1/2;
  grid-column: 2/3;
  align-self: start;
  width: 4.04rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan02 *) .floorPlan .secondFloor {
    width: 1.94rem;
    margin: 0 0 0 0.77rem;
  }
}
.main:is(body.plan02 *) .floorPlan .secondFloor img {
  margin: 0 0 0.2rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan02 *) .floorPlan .secondFloor img {
    margin: 0 0 0.14rem;
  }
}
.main:is(body.plan02 *) .floorPlan .secondFloor figcaption {
  padding: 0 0.2rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan02 *) .floorPlan .secondFloor figcaption {
    padding: 0 0.1rem 0 0;
  }
}
.main:is(body.plan02 *) .floorPlan .firstFloor {
  grid-row: 1/2;
  grid-column: 1/2;
  justify-self: end;
  width: 5.01rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan02 *) .floorPlan .firstFloor {
    width: 2.41rem;
    margin: 0.2rem auto 0;
  }
}
.main:is(body.plan02 *) .floorPlan .firstFloor figcaption {
  padding: 0 0.2rem 0.64rem 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan02 *) .floorPlan .firstFloor figcaption {
    padding: 0 0.1rem 0.24rem 0;
  }
}
.main:is(body.plan02 *) .floorPlan .append {
  grid-row: 2/3;
  grid-column: 1/3;
}
.main:is(body.plan02 *) .floorPlan .note {
  grid-row: 3/4;
  grid-column: 1/3;
}
.main:is(body.plan14 *) .data .feature .image {
  width: 4.1rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan14 *) .data .feature .image {
    width: auto;
  }
}
.main:is(body.plan14 *) .data .feature .image img {
  margin: 0.5rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan14 *) .data .feature .image img {
    width: 3.28rem;
    margin: 0.38rem auto 0;
  }
}
.main:is(body.plan14 *) .floorPlan {
  padding-top: 0.74rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan14 *) .floorPlan {
    padding-top: 0.44rem;
  }
}
.main:is(body.plan14 *) .floorPlan .secondFloor {
  width: 4.66rem;
  margin: 0 0 0 2.45rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan14 *) .floorPlan .secondFloor {
    width: 2.23rem;
    margin: 0 0 0 0.5rem;
    padding: 0 0 0.05rem;
  }
}
.main:is(body.plan14 *) .floorPlan .secondFloor figcaption {
  padding: 0;
}
.main:is(body.plan14 *) .floorPlan .firstFloor {
  width: 5.71rem;
  margin: 0.46rem 0 0 2.06rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan14 *) .floorPlan .firstFloor {
    width: 2.74rem;
    margin: 0.15rem 0 0 0.3rem;
  }
}
.main:is(body.plan14 *) .floorPlan .firstFloor figcaption {
  padding: 0 0.24rem 0.72rem 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan14 *) .floorPlan .firstFloor figcaption {
    padding: 0 0.14rem 0.35rem 0;
  }
}
.main:is(body.plan17 *) .data .feature .image {
  width: 3.8rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan17 *) .data .feature .image {
    width: auto;
  }
}
.main:is(body.plan17 *) .data .feature .image img {
  margin: 0.48rem 0 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan17 *) .data .feature .image img {
    width: 3.04rem;
    margin: 0.38rem auto 0;
  }
}
.main:is(body.plan17 *) .floorPlan {
  padding-top: 0.72rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan17 *) .floorPlan {
    padding-top: 0.4rem;
  }
}
.main:is(body.plan17 *) .floorPlan .secondFloor {
  width: 5.55rem;
  margin: 0 0 0 2.56rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan17 *) .floorPlan .secondFloor {
    width: 2.66rem;
    margin: 0 0 0 0.58rem;
  }
}
.main:is(body.plan17 *) .floorPlan .secondFloor figcaption {
  padding: 0 0.2rem 0.15rem 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan17 *) .floorPlan .secondFloor figcaption {
    padding: 0 0.1rem 0 0;
  }
}
.main:is(body.plan17 *) .floorPlan .firstFloor {
  width: 7.02rem;
  margin: 0.35rem 0 0 1.3rem;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan17 *) .floorPlan .firstFloor {
    width: 3.37rem;
    margin: 0.16rem -0.01rem 0;
  }
}
.main:is(body.plan17 *) .floorPlan .firstFloor figcaption {
  padding: 0 0.05rem 0.72rem 0;
}
@media screen and (max-width: 750px) {
  .main:is(body.plan17 *) .floorPlan .firstFloor figcaption {
    padding: 0 0 0.3rem;
  }
}

body.top .container {
  display: grid;
}
@media screen and (max-width: 750px) {
  body.top .container {
    display: block;
  }
}
body.top .gHeader {
  grid-area: 1/1;
  align-self: self-start;
}
@media screen and (min-width: 751px) and (prefers-reduced-motion: no-preference) {
  body.top .gHeader {
    transition: 0.4s;
    transition-property: background-color, color;
  }
}
@media screen and (min-width: 751px) {
  body.top .gHeader.white {
    background-color: rgba(0, 0, 0, 0.3);
    color: #fff;
  }
}
@media screen and (max-width: 750px) {
  body.top .gHeader {
    background: #fff;
  }
  body.top .gHeader.transparent {
    background: transparent;
  }
}

@media screen and (max-width: 750px) {
  .gFooter {
    padding-bottom: 0.56rem;
  }
}
@media screen and (max-width: 750px) {
  .gFooter .navigation .wrap {
    padding: 0;
  }
}
.gFooter .navigation ul {
  display: flex;
  border-left: 0.01rem solid currentColor;
}
@media screen and (max-width: 750px) {
  .gFooter .navigation ul {
    flex-wrap: wrap;
    border-left: none;
  }
}
.gFooter .navigation ul li {
  box-sizing: border-box;
  width: 12.5%;
  border-right: 0.01rem solid currentColor;
}
@media screen and (max-width: 750px) {
  .gFooter .navigation ul li {
    width: 50%;
    border-top: 0.01rem solid #b3b3b3;
    border-right-color: #b3b3b3;
  }
  .gFooter .navigation ul li:nth-child(even) {
    border-right: none;
  }
}
.gFooter .navigation ul a {
  display: grid;
  height: 0.4rem;
  place-items: center;
  position: relative;
  font-family: "neue-haas-grotesk-display", sans-serif;
  line-height: 0.15rem;
  text-align: center;
  text-decoration: none;
}
@media screen and (max-width: 750px) {
  .gFooter .navigation ul a {
    height: 0.48rem;
    font-size: 0.14rem;
  }
}
.gFooter .navigation ul a::after {
  content: "";
  display: block;
  height: 0.04rem;
  position: absolute;
  right: 0.05rem;
  bottom: 0;
  left: 0.05rem;
  background: currentColor;
  scale: 0 1;
}
@media screen and (max-width: 750px) {
  .gFooter .navigation ul a::after {
    content: none;
  }
}
@media screen and (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .gFooter .navigation ul a::after {
    transform-origin: right;
    transition: scale 0.4s;
  }
}
@media screen and (hover: hover) and (pointer: fine) {
  .gFooter .navigation ul a:hover::after {
    scale: 1 1;
    transform-origin: left;
  }
}
.gFooter .navigation ul a.active::after {
  scale: 1 1;
}
.gFooter .navigation ul a.off {
  opacity: 0.4;
  pointer-events: none;
}
.gFooter .about {
  margin: 0.4rem 0 0;
  background: #736446;
  color: #fff;
}
@media screen and (max-width: 750px) {
  .gFooter .about {
    margin: 0;
    padding: 0.38rem 0;
  }
}
.gFooter .about .wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 1.5rem;
}
@media screen and (max-width: 750px) {
  .gFooter .about .wrap {
    display: block;
    height: auto;
  }
}
.gFooter .about .wrap .ci {
  display: flex;
  gap: 0.2rem;
}
@media screen and (max-width: 750px) {
  .gFooter .about .wrap .ci {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.14rem;
  }
}
.gFooter .about .wrap .ci .legend {
  margin: 0.1rem 0 0;
  font-size: 0.12rem;
  font-weight: 300;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .gFooter .about .wrap .ci .legend {
    margin: 0;
    font-size: 0.11rem;
  }
}
.gFooter .about .wrap .ci .logo {
  display: block;
  width: 2.6rem;
}
@media screen and (max-width: 750px) {
  .gFooter .about .wrap .ci .logo {
    width: 2.28rem;
  }
}
.gFooter .about .wrap .contact {
  display: grid;
  grid-template-rows: auto auto;
  grid-template-columns: auto auto;
  gap: 0.16rem 0.26rem;
}
@media screen and (max-width: 750px) {
  .gFooter .about .wrap .contact {
    display: block;
    margin: 0.48rem 0 0;
    text-align: center;
  }
}
.gFooter .about .wrap .contact .legend {
  grid-row: 1/2;
  grid-column: 1/3;
  font-size: 0.14rem;
  font-weight: 300;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .gFooter .about .wrap .contact .legend {
    font-size: 0.13rem;
  }
}
.gFooter .about .wrap .contact .tel {
  display: block;
  padding: 0 0 0 0.5rem;
  background: url(../img/common/ico-freedial.svg) 0 50%/0.4rem auto no-repeat;
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-size: 0.36rem;
  line-height: 1;
  pointer-events: none;
}
@media screen and (max-width: 750px) {
  .gFooter .about .wrap .contact .tel {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    padding: 0 0 0 0.45rem;
    background-size: 0.35rem auto;
    font-size: 0.32rem;
    line-height: 0.53rem;
    pointer-events: all;
  }
}
.gFooter .about .wrap .contact .note {
  font-size: 0.12rem;
  font-weight: 300;
}
@media screen and (max-width: 750px) {
  .gFooter .about .wrap .contact .note {
    font-size: 0.11rem;
    line-height: 0.16rem;
  }
}
.gFooter .fMenu {
  display: none;
}
@media screen and (max-width: 750px) {
  .gFooter .fMenu {
    display: flex;
    width: 100%;
    border-top: 0.01rem solid #ccc;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 1;
    background: #fff;
  }
  .gFooter .fMenu li {
    box-sizing: border-box;
    width: 25%;
  }
  .gFooter .fMenu li:nth-child(n+2) {
    border-left: 0.01rem solid #ccc;
  }
  .gFooter .fMenu a {
    display: block;
    box-sizing: border-box;
    height: 0.55rem;
    padding: 0.37rem 0 0;
    background-size: auto 0.21rem;
    background-repeat: no-repeat;
    font-size: 0.11rem;
    line-height: 1;
    text-align: center;
  }
  .gFooter .fMenu a.off {
    pointer-events: none;
  }
  .gFooter .fMenu a.tel {
    background-image: url(../img/common/ico-tel.svg);
    background-position: 50% 0.1rem;
  }
  .gFooter .fMenu a.map {
    background-image: url(../img/common/ico-map.svg);
    background-position: 50% 0.09rem;
  }
  .gFooter .fMenu a.entry {
    background-color: #920d22;
    background-image: url(../img/common/ico-entry.svg);
    background-position: 50% 0.09rem;
    color: #fff;
  }
  .gFooter .fMenu a.limited {
    background-color: #736446;
    background-image: url(../img/common/ico-limited.svg);
    background-position: 50% 0.07rem;
    color: #fff;
  }
  .gFooter .fMenu a.limited.off {
    background-color: transparent;
    background-image: url(../img/common/ico-limited_off.svg);
    color: rgba(75, 75, 75, 0.4);
  }
}

.popup {
  border: none;
  padding: 0;
  position: fixed;
  inset: 0;
  z-index: 9900;
  background: transparent;
  overflow: visible;
  transition: opacity 1s;
}
@media screen and (max-width: 750px) {
  .popup {
    width: 100%;
    height: 100vh;
    height: 100dvh;
    max-width: none;
    max-height: none;
  }
}
.popup[open] {
  opacity: 1;
}
@starting-style {
  .popup[open] {
    opacity: 0;
  }
}
.popup.closing {
  opacity: 0;
}
.popup .inner {
  width: 9.6rem;
  max-width: 100%;
  box-shadow: 0 0 0.1rem rgba(0, 0, 0, 0.3);
}
@media screen and (max-width: 750px) {
  .popup .inner {
    max-width: 3.55rem;
    margin: 0 auto;
    margin-top: 50vh;
    margin-top: 50dvh;
    translate: 0 -50%;
  }
}
.popup video,
.popup iframe {
  display: block;
  width: 100%;
  aspect-ratio: 16/9;
  outline: none;
}
.popup .close {
  width: 100%;
  display: block;
  border: none;
  padding: 0;
  background: #fff;
  color: #000;
  line-height: 2;
  cursor: pointer;
}
@media screen and (max-width: 750px) {
  .popup .close {
    line-height: 3;
  }
}
.popup::-webkit-backdrop {
  background: rgba(255, 255, 255, 0.7);
}
.popup::backdrop {
  background: rgba(255, 255, 255, 0.7);
}
/*# sourceMappingURL=common.css.map */