@charset "UTF-8";
/* _head.ejs の common.theme がgothicの際はこちらのフォントを使用 */
/* _head.ejs の common.theme がminchoの際はこちらのフォントを使用 */
/* カラー */
.accessSect {
  position: relative;
}

.accessSect__head {
  position: relative;
}

@media screen and (max-width: 768px) {
  .accessSect__head + .accessSect__cont {
    margin-top: 40px;
  }
}

@media screen and (max-width: 768px) {
  .accessSect__head .movieBox {
    height: calc(408 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .accessSect__cont .guidanceArea {
    padding-top: 40px;
    width: 100%;
  }
  .accessSect__cont .guidanceArea__link {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .accessSect__cont .guidanceArea__head, .accessSect__cont .guidanceArea__body {
    width: 370px;
  }
  .accessSect__cont .guidanceArea__head + .guidanceArea__body {
    margin-top: 0;
  }
  .accessSect__cont .guidanceArea__trigger {
    margin-top: auto;
  }
}

.accessSect__cont .guidanceArea__heading {
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}

@media print, screen and (min-width: 768px) {
  .accessSect__cont .guidanceArea__heading {
    bottom: calc(100% + 1100px);
  }
}

@media screen and (max-width: 768px) {
  .accessSect__cont .guidanceArea__heading {
    bottom: calc(100% + 257px);
  }
}

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

.designSect__head {
  position: relative;
}

@media print, screen and (min-width: 768px) {
  .designSect__head {
    margin-right: calc((100vw - 1200px) / -2);
  }
}

@media screen and (max-width: 768px) {
  .designSect__head {
    margin-right: -32px;
  }
}

@media screen and (max-width: 768px) {
  .designSect__head + .designSect__cont {
    margin-top: 80px;
  }
}

.designSect__cont {
  position: relative;
}

@media screen and (max-width: 768px) {
  .designSect__cont {
    padding-top: 164px;
  }
}

@media print, screen and (min-width: 768px) {
  .designSect__cont .guidanceArea__heading {
    bottom: calc(100% - 195px);
    right: calc(100% + 134px);
  }
}

@media screen and (max-width: 768px) {
  .designSect__cont .guidanceArea__heading {
    bottom: calc(100% + 53px);
    left: 38px;
  }
}

.designSect__cont .photoCollages {
  height: 100%;
  left: 50%;
  pointer-events: none;
  position: absolute;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .designSect__cont .photoCollages {
    top: 80px;
  }
}

@media print, screen and (min-width: 768px) and (min-width: 1920px) {
  .designSect__cont .photoCollages {
    width: 1690px;
  }
}

@media screen and (max-width: 768px) {
  .designSect__cont .photoCollages {
    top: 0;
  }
}

.designSect__cont .photoCollages__body {
  height: 100%;
}

@media screen and (max-width: 768px) {
  .designSect__cont .photoCollages__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.designSect__cont .photoCollages__item:first-child {
  margin-left: auto;
}

@media print, screen and (min-width: 768px) {
  .designSect__cont .photoCollages__item:first-child {
    width: 313px;
  }
}

@media print, screen and (min-width: 768px) and (min-width: 1920px) {
  .designSect__cont .photoCollages__item:first-child {
    width: 471px;
  }
}

@media screen and (max-width: 768px) {
  .designSect__cont .photoCollages__item:first-child {
    width: calc(151 / 390 * 100vw);
  }
}

.designSect__cont .photoCollages__item:nth-child(2) {
  margin-top: auto;
}

@media print, screen and (min-width: 768px) {
  .designSect__cont .photoCollages__item:nth-child(2) {
    width: 157px;
  }
}

@media print, screen and (min-width: 768px) and (min-width: 1920px) {
  .designSect__cont .photoCollages__item:nth-child(2) {
    width: 258px;
  }
}

@media screen and (max-width: 768px) {
  .designSect__cont .photoCollages__item:nth-child(2) {
    margin-left: -32px;
    top: -17px;
    width: calc(92 / 390 * 100vw);
  }
}

.guidanceArea {
  margin: 0 auto;
  position: relative;
}

@media print, screen and (min-width: 768px) {
  .guidanceArea {
    padding-top: 80px;
    width: 370px;
  }
}

@media print, screen and (min-width: 768px) and (min-width: 1920px) {
  .guidanceArea {
    width: 572px;
  }
}

.guidanceArea__link {
  color: #ffffff;
  display: block;
}

@media print, screen and (min-width: 768px) {
  .guidanceArea__link:hover .guidanceArea__head:after {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  .guidanceArea__link:hover .guidanceArea__direction .icon:after {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-transition: opacity 2.4s ease, -webkit-transform 1s ease;
    transition: opacity 2.4s ease, -webkit-transform 1s ease;
    transition: transform 1s ease, opacity 2.4s ease;
    transition: transform 1s ease, opacity 2.4s ease, -webkit-transform 1s ease;
  }
}

@media (hover: hover) and (pointer: fine) {
  .guidanceArea__link:hover .guidanceArea__head:after {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  .guidanceArea__link:hover .guidanceArea__direction .icon:after {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-transition: opacity 2.4s ease, -webkit-transform 1s ease;
    transition: opacity 2.4s ease, -webkit-transform 1s ease;
    transition: transform 1s ease, opacity 2.4s ease;
    transition: transform 1s ease, opacity 2.4s ease, -webkit-transform 1s ease;
  }
}

.guidanceArea__head {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid #424854;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: relative;
}

@media print, screen and (min-width: 768px) {
  .guidanceArea__head {
    padding-bottom: 20px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceArea__head {
    padding-bottom: 20px;
  }
}

.guidanceArea__head:after {
  background-color: #babcbf;
  content: '';
  height: 1px;
  left: 0;
  position: absolute;
  top: 100%;
  -webkit-transform: scale(0.05, 1);
          transform: scale(0.05, 1);
  -webkit-transform-origin: right;
          transform-origin: right;
  -webkit-transition: -webkit-transform 1s ease;
  transition: -webkit-transform 1s ease;
  transition: transform 1s ease;
  transition: transform 1s ease, -webkit-transform 1s ease;
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .guidanceArea__head + .guidanceArea__body {
    margin-top: 32px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceArea__head + .guidanceArea__body {
    margin-top: 32px;
  }
}

.guidanceArea__ttl {
  color: #a1957d;
  font-family: "Roboto", sans-serif;
  font-style: italic;
  font-weight: 300;
  letter-spacing: .01em;
  line-height: .7;
}

@media print, screen and (min-width: 768px) {
  .guidanceArea__ttl {
    font-size: 22px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceArea__ttl {
    font-size: 20px;
  }
}

.guidanceArea__num {
  color: #a1957d;
  font-family: "Roboto", sans-serif;
  font-style: italic;
  font-weight: 300;
  letter-spacing: 0;
  line-height: .7;
}

@media print, screen and (min-width: 768px) {
  .guidanceArea__num {
    font-size: 22px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceArea__num {
    font-size: 20px;
  }
}

.guidanceArea__body .txt {
  color: #ccc5b8;
}

@media print, screen and (min-width: 768px) {
  .guidanceArea__body .txt + .caption {
    margin-top: 32px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceArea__body .txt + .caption {
    margin-top: 32px;
  }
}

.guidanceArea__heading {
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: .4em;
  position: absolute;
  text-align: left;
  white-space: nowrap;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  line-height: 2;
}

.guidanceArea__heading:before {
  margin-top: calc((1 - 2) * 1em);
}

.guidanceArea__heading:after {
  margin-bottom: calc((1 - 2) * .6em);
}

.guidanceArea__heading:before, .guidanceArea__heading:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media print, screen and (min-width: 768px) {
  .guidanceArea__heading {
    font-size: 19px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceArea__heading {
    font-size: 16px;
  }
}

.guidanceArea__direction {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  letter-spacing: .1em;
  line-height: 1;
}

@media print, screen and (min-width: 768px) {
  .guidanceArea__direction {
    font-size: 16px;
    gap: 16px;
    margin-top: 40px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceArea__direction {
    font-size: 14px;
    gap: 16px;
    margin-top: 40px;
  }
}

.guidanceArea__direction .icon {
  display: inline-block;
  position: relative;
  z-index: 1;
}

.guidanceArea__direction .icon:after {
  background-color: #424854;
  border-radius: 50%;
  content: '';
  inset: 0;
  opacity: 0;
  position: absolute;
  -webkit-transform: scale(0.5);
          transform: scale(0.5);
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transition: opacity 1s ease, -webkit-transform 1s ease .1s;
  transition: opacity 1s ease, -webkit-transform 1s ease .1s;
  transition: transform 1s ease .1s, opacity 1s ease;
  transition: transform 1s ease .1s, opacity 1s ease, -webkit-transform 1s ease .1s;
  z-index: -1;
}

.guidanceArea__direction .icon .generalArrow {
  background-color: initial;
  border-color: #424854;
  position: relative;
}

.guidanceArea__direction .icon .generalArrow:before, .guidanceArea__direction .icon .generalArrow:after {
  -webkit-animation-duration: 4s;
          animation-duration: 4s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
          animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  border: 4px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  content: '';
  inset: 0;
  opacity: 0;
  position: absolute;
  -webkit-transform: scale(1);
          transform: scale(1);
}

.guidanceArea__direction .icon .generalArrow:before {
  -webkit-animation-name: btnAnime01;
          animation-name: btnAnime01;
}

.guidanceArea__direction .icon .generalArrow:after {
  -webkit-animation-delay: .2s;
          animation-delay: .2s;
  -webkit-animation-name: btnAnime02;
          animation-name: btnAnime02;
}

.guidanceArea__direction .icon .generalArrow .arrowIcon .svgIcon {
  fill: #babcbf;
}

.guidanceArea__decoration {
  aspect-ratio: 51 / 12;
  margin: 0 auto;
}

@media print, screen and (min-width: 768px) {
  .guidanceArea__decoration {
    margin-top: 140px;
    width: 51px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceArea__decoration {
    margin-top: 104px;
    width: 51px;
  }
}

@-webkit-keyframes btnAnime01 {
  0% {
    opacity: 0;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  15% {
    opacity: .28;
  }
  50%, to {
    opacity: 0;
    -webkit-transform: scale(1.26);
            transform: scale(1.26);
  }
}

@keyframes btnAnime01 {
  0% {
    opacity: 0;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  15% {
    opacity: .28;
  }
  50%, to {
    opacity: 0;
    -webkit-transform: scale(1.26);
            transform: scale(1.26);
  }
}

@-webkit-keyframes btnAnime02 {
  0% {
    opacity: 0;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  14% {
    opacity: .2;
  }
  50%, to {
    opacity: 0;
    -webkit-transform: scale(1.38);
            transform: scale(1.38);
  }
}

@keyframes btnAnime02 {
  0% {
    opacity: 0;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  14% {
    opacity: .2;
  }
  50%, to {
    opacity: 0;
    -webkit-transform: scale(1.38);
            transform: scale(1.38);
  }
}

.locationSect {
  background-attachment: fixed;
  position: relative;
  z-index: 1;
}

.locationSect__head {
  -webkit-clip-path: inset(0);
          clip-path: inset(0);
  height: 100vh;
  left: 0;
  position: absolute;
  top: 0;
  z-index: -1;
  width: 100vw;
}

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

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

@media screen and (max-width: 768px) {
  .locationSect__head {
    margin-left: -32px;
  }
}

.locationSect__head .movieBox {
  height: 100vh;
  left: 0;
  position: fixed;
  top: 0;
  width: 100vw;
  z-index: -1;
}

@media print, screen and (min-width: 768px) {
  .locationSect__cont {
    padding-top: 100vh;
  }
}

@media screen and (max-width: 768px) {
  .locationSect__cont {
    padding-top: calc(100vh + 120px);
  }
}

@media print, screen and (min-width: 768px) {
  .locationSect__cont .guidanceArea {
    width: 886px;
  }
}

@media print, screen and (min-width: 768px) {
  .locationSect__cont .guidanceArea__heading {
    bottom: calc(100% - 40px);
    right: 300px;
  }
}

@media screen and (max-width: 768px) {
  .locationSect__cont .guidanceArea__heading {
    bottom: calc(100% + 40px);
    right: 30px;
  }
}

.locationSect__cont .guidanceArea__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media screen and (max-width: 768px) {
  .locationSect__cont .guidanceArea__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

@media print, screen and (min-width: 768px) {
  .locationSect__cont .guidanceArea__inner + .guidanceArea__direction {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .locationSect__cont .guidanceArea__body + .guidanceArea__direction {
    display: none;
  }
}

@media print, screen and (min-width: 768px) {
  .locationSect__cont .guidanceArea__item {
    width: 370px;
  }
}

@media print, screen and (min-width: 768px) {
  .locationSect__cont .guidanceArea__item:not(:first-child) {
    margin-top: 60px;
    width: 415px;
  }
}

@media screen and (max-width: 768px) {
  .locationSect__cont .guidanceArea__item:not(:first-child) {
    margin-top: 40px;
  }
}

@media print, screen and (min-width: 768px) {
  .locationSect__cont .guidanceArea__direction {
    margin-top: 80px;
  }
}

.mainVisual {
  background-color: #252b36;
  left: 0;
  position: sticky;
  top: 0;
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .mainVisual {
    height: calc(100dvh - 10px);
  }
}

@media screen and (max-width: 768px) {
  .mainVisual {
    height: calc(100svh - 60px);
  }
}

.mainVisual:after {
  background: -webkit-gradient(linear, left top, left bottom, from(#212121), color-stop(30.49%, rgba(33, 33, 33, 0)));
  background: linear-gradient(180deg, #212121 0%, rgba(33, 33, 33, 0) 30.49%);
  content: '';
  inset: 0;
  opacity: .5;
  position: absolute;
}

.mainVisual__txt {
  position: absolute;
  z-index: 2;
}

.mainVisual__txt .photo {
  width: 100%;
}

.mainVisual__txt .photo__pic {
  height: 100%;
}

.mainVisual__txt .photo__image {
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .mainVisual__txt--1 {
    bottom: calc(61 / 1440 * 100vw);
    right: calc(61 / 1440 * 100vw);
    width: calc(645 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .mainVisual__txt--1 {
    bottom: calc(30 / 390 * 100vw);
    right: calc(10 / 390 * 100vw);
    width: calc(355 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .mainVisual__txt--2 {
    bottom: calc(61 / 1440 * 100vw);
    left: calc(50 / 1440 * 100vw);
    width: calc(810 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .mainVisual__txt--2 {
    bottom: calc(30 / 390 * 100vw);
    left: calc(10 / 390 * 100vw);
    width: calc(310 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .mainVisual__txt--3 {
    bottom: calc(61 / 1440 * 100vw);
    right: calc(61 / 1440 * 100vw);
    width: calc(277 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .mainVisual__txt--3 {
    bottom: calc(50 / 390 * 100vw);
    right: calc(10 / 390 * 100vw);
    width: calc(190 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .mainVisual__txt--4 {
    bottom: calc(61 / 1440 * 100vw);
    left: calc(50 / 1440 * 100vw);
    width: calc(770 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .mainVisual__txt--4 {
    bottom: calc(30 / 390 * 100vw);
    left: calc(10 / 390 * 100vw);
    width: calc(310 / 390 * 100vw);
  }
}

@media print, screen and (min-width: 768px) {
  .mainVisual__txt--5 {
    bottom: calc(61 / 1440 * 100vw);
    right: calc(61 / 1440 * 100vw);
    width: calc(800 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .mainVisual__txt--5 {
    bottom: calc(40 / 390 * 100vw);
    right: calc(10 / 390 * 100vw);
    width: calc(380 / 390 * 100vw);
  }
}

.mainVisual .swiper-container {
  height: 100%;
  width: 100%;
}

.mainVisual__inner {
  height: 100%;
  position: relative;
  width: 100vw;
}

.mainVisual__img {
  height: 100%;
  position: relative;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .mainVisual__img {
    max-height: 100svh;
  }
}

.mainVisual__img .photo {
  height: 100%;
  width: 100%;
}

.mainVisual__img .photo__pic {
  height: 100%;
  width: 100%;
}

.mainVisual__img .photo__image {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: bottom center;
     object-position: bottom center;
  -webkit-transform-origin: bottom center;
          transform-origin: bottom center;
  width: 100%;
}

.mainVisual__cap {
  bottom: 5px;
  color: #ffffff;
  font-size: 10px;
  line-height: calc(18 / 10);
  position: absolute;
  right: 5px;
  text-shadow: rgba(0, 0, 0, 0.7) 1px 1px 10px, rgba(0, 0, 0, 0.7) 1px 1px 10px, rgba(0, 0, 0, 0.7) 1px 1px 10px, rgba(0, 0, 0, 0.7) 1px 1px 10px, rgba(0, 0, 0, 0.7) 1px 1px 10px, rgba(0, 0, 0, 0.7) 1px 1px 10px;
}

@-webkit-keyframes zoom {
  0% {
    -webkit-transform: scale(1.06);
            transform: scale(1.06);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes zoom {
  0% {
    -webkit-transform: scale(1.06);
            transform: scale(1.06);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

.swiper-slide-active .mainVisual__img .photo__image, .swiper-slide-duplicate-active .mainVisual__img .photo__image, .swiper-slide-prev .mainVisual__img .photo__image {
  -webkit-animation: zoom 6s linear 0s normal both;
          animation: zoom 6s linear 0s normal both;
}

.planAnnounce {
  background-color: #565e6e;
}

@media print, screen and (min-width: 768px) {
  .planAnnounce {
    margin-left: calc( -1 * (100vw - 1200px) / 2);
    padding: 40px 0 64px;
    width: 100vw;
  }
}

@media screen and (max-width: 768px) {
  .planAnnounce {
    margin-left: -32px;
    padding: calc(40 / 390 * 100vw) 0 calc(64 / 390 * 100vw);
    width: 100vw;
  }
}

.planAnnounce__info {
  display: block;
  margin: 0 auto;
}

@media print, screen and (min-width: 768px) {
  .planAnnounce__info {
    padding-top: 56px;
    width: 998px;
  }
}

@media screen and (max-width: 768px) {
  .planAnnounce__info {
    padding-top: 40px;
    width: 316px;
  }
}

.planAnnounce__head {
  border: #ffffff solid 1px;
  color: #ffffff;
  margin: 0 auto;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .planAnnounce__head {
    padding: 30px 80px;
    width: 1084px;
  }
}

@media screen and (max-width: 768px) {
  .planAnnounce__head {
    padding: 30px 20px;
    width: 334px;
  }
}

.planAnnounce__head .txtWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  letter-spacing: .2em;
  padding-bottom: 10px;
}

@media print, screen and (min-width: 768px) {
  .planAnnounce__head .txtWrap {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }
}

@media screen and (max-width: 768px) {
  .planAnnounce__head .txtWrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px;
  }
}

.planAnnounce__head .txtWrap .num {
  font-family: Roboto, sans-serif;
  font-size: 36px;
}

@media print, screen and (min-width: 768px) {
  .planAnnounce__head .txtWrap .num {
    font-weight: 300;
  }
}

.planAnnounce__head .txtWrap .gold {
  color: #ccc5b8;
  font-weight: 500;
}

@media print, screen and (min-width: 768px) {
  .planAnnounce__head .txtWrap .gold {
    font-size: 28px;
  }
}

@media screen and (max-width: 768px) {
  .planAnnounce__head .txtWrap .gold {
    font-size: 22px;
  }
}

@media print, screen and (min-width: 768px) {
  .planAnnounce__inner {
    margin: 0 auto;
    padding: 30px 0;
    width: 1080px;
  }
}

@media screen and (max-width: 768px) {
  .planAnnounce__inner {
    padding: 32px 20px 40px;
  }
}

@media screen and (max-width: 768px) {
  .planAnnounce__desc {
    text-align: center;
  }
}

.planAnnounce__list {
  gap: 32px 60px;
}

@media print, screen and (min-width: 768px) {
  .planAnnounce__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media screen and (max-width: 768px) {
  .planAnnounce__list {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  * + .planAnnounce__list {
    margin-top: 20px;
  }
}

.planAnnounce__item {
  position: relative;
}

@media print, screen and (min-width: 768px) {
  .planAnnounce__item {
    font-size: 22px;
    padding: 20px 0;
  }
}

@media screen and (max-width: 768px) {
  .planAnnounce__item {
    font-size: 18px;
    text-align: center;
    width: 100%;
  }
}

@media print, screen and (min-width: 768px) {
  .planAnnounce__item:not(:last-child) {
    border-right: 2px solid #424854;
    padding-right: 40px;
  }
}

@media screen and (max-width: 768px) {
  .planAnnounce__item:not(:last-child) {
    border-bottom: 2px solid #424854;
    padding-bottom: 24px;
  }
}

.planAnnounce__item:not(:last-child):before {
  background-color: #424854;
  content: '';
  display: inline-block;
  position: absolute;
}

@media print, screen and (min-width: 768px) {
  .planAnnounce__item:not(:last-child):before {
    height: 100%;
    right: 4px;
    top: 0;
    width: 1px;
  }
}

@media screen and (max-width: 768px) {
  .planAnnounce__item:not(:last-child):before {
    bottom: 4px;
    height: 1px;
    left: 0;
    width: 100%;
  }
}

.planAnnounce__photo {
  display: block;
  margin: 0 auto;
}

@media print, screen and (min-width: 768px) {
  .planAnnounce__photo {
    padding: 64px 0;
    width: 1168px;
  }
}

@media screen and (max-width: 768px) {
  .planAnnounce__photo {
    padding: 60px 0;
    width: 358px;
  }
}

.planAnnounce__photo .caption {
  color: #ffffff;
  font-weight: 100;
  margin-top: 10px;
  text-align: right;
}

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

@media screen and (max-width: 768px) {
  .planAnnounce .small {
    font-size: 14px;
  }
}

.planAnnounce .large {
  font-family: "Roboto", sans-serif;
  font-weight: normal;
}

@media print, screen and (min-width: 768px) {
  .planAnnounce .large {
    font-size: 40px;
  }
}

@media screen and (max-width: 768px) {
  .planAnnounce .large {
    font-size: 32px;
  }
}

.planAnnounce__txt {
  color: #ffffff;
  letter-spacing: .12em;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .planAnnounce__txt {
    font-size: 22px;
  }
}

@media screen and (max-width: 768px) {
  .planAnnounce__txt {
    font-size: 18px;
  }
}

@media print, screen and (min-width: 768px) {
  .planAnnounce__txt .large {
    font-size: 30px;
  }
}

@media screen and (max-width: 768px) {
  .planAnnounce__txt .large {
    font-size: 26px;
  }
}

.planAnnounce .modelroomBnr {
  margin: auto;
}

@media print, screen and (min-width: 768px) {
  .planAnnounce .modelroomBnr {
    width: 600px;
  }
}

@media screen and (max-width: 768px) {
  .planAnnounce .modelroomBnr {
    margin-top: 32px;
    width: 358px;
  }
}

.planAnnounce .modelroomBnr__ttl {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: "Shippori Mincho", serif;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .planAnnounce .modelroomBnr__ttl {
    font-size: 26px;
    gap: 30px;
  }
}

@media screen and (max-width: 768px) {
  .planAnnounce .modelroomBnr__ttl {
    font-size: 20px;
    gap: 10px;
  }
}

.planAnnounce .modelroomBnr__ttl:before, .planAnnounce .modelroomBnr__ttl:after {
  background-color: #ffffff;
  content: '';
  display: block;
  height: 100%;
  position: relative;
  width: 2px;
}

@media print, screen and (min-width: 768px) {
  .planAnnounce .modelroomBnr__ttl:before, .planAnnounce .modelroomBnr__ttl:after {
    height: 25px;
  }
}

@media screen and (max-width: 768px) {
  .planAnnounce .modelroomBnr__ttl:before, .planAnnounce .modelroomBnr__ttl:after {
    height: 22px;
  }
}

.planAnnounce .modelroomBnr__ttl:after {
  -webkit-transform: rotate(30deg);
          transform: rotate(30deg);
  -webkit-transform-origin: bottom right;
          transform-origin: bottom right;
}

.planAnnounce .modelroomBnr__ttl:before {
  -webkit-transform: rotate(-30deg);
          transform: rotate(-30deg);
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
}

@media print, screen and (min-width: 768px) {
  .planAnnounce .modelroomBnr__ttl + .generalBnr {
    margin-top: 24px !important;
  }
}

@media screen and (max-width: 768px) {
  .planAnnounce .modelroomBnr__ttl + .generalBnr {
    margin-top: 20px !important;
  }
}

.planAnnounce .modelroomBnr .generalBnr__link .photo {
  -webkit-transition: opacity .4s ease;
  transition: opacity .4s ease;
}

.planAnnounce .modelroomBnr .generalBnr__link:hover .photo {
  -webkit-transform: none;
          transform: none;
}

.planAnnounce .modelroomBnr :hover .photo {
  -webkit-transform: none;
          transform: none;
  -webkit-transition: opacity .4s ease;
  transition: opacity .4s ease;
}

@media print, screen and (min-width: 768px) {
  .planAnnounce .modelroomBnr .caption {
    margin-top: 10px;
  }
}

@media screen and (max-width: 768px) {
  .planAnnounce .modelroomBnr .caption {
    margin-top: 5px;
  }
}

@media print, screen and (min-width: 768px) {
  .planAnnounce .modelroomBnr + .modelroomBnr {
    margin-top: 56px;
  }
}

@media screen and (max-width: 768px) {
  .planAnnounce .modelroomBnr + .modelroomBnr {
    margin-top: 40px;
  }
}

@media print, screen and (min-width: 768px) {
  .planAnnounce .modelroomBnr + .modelroomAnnunce {
    margin-top: 48px;
  }
}

.planAnnounce .modelroomAnnunce {
  background: linear-gradient(91deg, #252b36 0%, #424958 50%, #252b36 100%);
  margin: auto;
  position: relative;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .planAnnounce .modelroomAnnunce {
    width: 886px;
  }
}

@media screen and (max-width: 768px) {
  .planAnnounce .modelroomAnnunce {
    margin-top: 64px;
    width: 358px;
  }
}

.planAnnounce .modelroomAnnunce:after {
  border: 2px solid #ffffff;
  content: '';
  height: calc(100% - 10px);
  left: 50%;
  opacity: .5;
  pointer-events: none;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: calc(100% - 10px);
}

.planAnnounce .modelroomAnnunce a {
  color: #ffffff;
  text-decoration: underline;
  -webkit-transition: .5s ease;
  transition: .5s ease;
}

@media print, screen and (min-width: 768px) {
  .planAnnounce .modelroomAnnunce a:hover {
    opacity: .7;
  }
}

@media (hover: hover) and (pointer: fine) {
  .planAnnounce .modelroomAnnunce a:hover {
    opacity: .7;
  }
}

.planAnnounce .modelroomAnnunce a .icon {
  display: block;
  height: auto;
}

@media print, screen and (min-width: 768px) {
  .planAnnounce .modelroomAnnunce a .icon {
    width: 12px;
  }
}

@media screen and (max-width: 768px) {
  .planAnnounce .modelroomAnnunce a .icon {
    width: 9px;
  }
}

.planAnnounce .modelroomAnnunce__ttl {
  color: #ccc5b8;
  font-family: "Roboto", sans-serif;
  font-style: italic;
  text-edge: cap;
  line-height: 1.2;
}

.planAnnounce .modelroomAnnunce__ttl:before {
  margin-top: calc((1 - 1.2) * 1em);
}

.planAnnounce .modelroomAnnunce__ttl:after {
  margin-bottom: calc((1 - 1.2) * .6em);
}

.planAnnounce .modelroomAnnunce__ttl:before, .planAnnounce .modelroomAnnunce__ttl:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media print, screen and (min-width: 768px) {
  .planAnnounce .modelroomAnnunce__ttl {
    font-size: 20px;
  }
}

@media screen and (max-width: 768px) {
  .planAnnounce .modelroomAnnunce__ttl {
    font-size: 18px;
  }
}

@media print, screen and (min-width: 768px) {
  .planAnnounce .modelroomAnnunce__ttl + .modelroomAnnunce__txt {
    margin-top: 24px;
  }
}

@media screen and (max-width: 768px) {
  .planAnnounce .modelroomAnnunce__ttl + .modelroomAnnunce__txt {
    margin-top: 24px;
  }
}

.planAnnounce .modelroomAnnunce__txt {
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  text-edge: cap;
  line-height: 1.4;
}

.planAnnounce .modelroomAnnunce__txt:before {
  margin-top: calc((1 - 1.4) * 1em);
}

.planAnnounce .modelroomAnnunce__txt:after {
  margin-bottom: calc((1 - 1.4) * .6em);
}

.planAnnounce .modelroomAnnunce__txt:before, .planAnnounce .modelroomAnnunce__txt:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media print, screen and (min-width: 768px) {
  .planAnnounce .modelroomAnnunce__txt {
    font-size: 24px;
    padding: 24px;
  }
}

@media screen and (max-width: 768px) {
  .planAnnounce .modelroomAnnunce__txt {
    font-size: 18px;
    padding: 10px 0 16px;
  }
}

.planAnnounce .modelroomAnnunce__txt .color {
  color: #ccc5b8;
}

@media screen and (max-width: 768px) {
  .planSect__head + .planSect__cont {
    margin-top: 40px;
  }
}

.planSect__head .loopSlider {
  width: 100vw;
}

@media print, screen and (min-width: 768px) {
  .planSect__head .loopSlider {
    margin-left: calc((100vw - 1200px) / -2);
  }
}

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

@media screen and (max-width: 768px) {
  .planSect__head .loopSlider {
    margin-left: -32px;
  }
}

.planSect__head .loopSlider .swiper-wrapper {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media print, screen and (min-width: 768px) {
  .planSect__head .loopSlider .swiper-slide[data-swiper-slide-index='0'], .planSect__head .loopSlider .swiper-slide[data-swiper-slide-index='2'] {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 56px;
  }
}

@media print, screen and (min-width: 768px) {
  .planSect__head .loopSlider .swiper-slide[data-swiper-slide-index='0'] .photo, .planSect__head .loopSlider .swiper-slide[data-swiper-slide-index='2'] .photo {
    margin-bottom: 72px;
    width: 378px;
  }
}

@media screen and (max-width: 768px) {
  .planSect__head .loopSlider .swiper-slide[data-swiper-slide-index='0'] .photo, .planSect__head .loopSlider .swiper-slide[data-swiper-slide-index='2'] .photo {
    width: 211px;
  }
}

.planSect__head .loopSlider .swiper-slide[data-swiper-slide-index='0'] .movieBox, .planSect__head .loopSlider .swiper-slide[data-swiper-slide-index='2'] .movieBox {
  aspect-ratio: 1 / 1;
}

@media print, screen and (min-width: 768px) {
  .planSect__head .loopSlider .swiper-slide[data-swiper-slide-index='0'] .movieBox, .planSect__head .loopSlider .swiper-slide[data-swiper-slide-index='2'] .movieBox {
    width: 212px;
  }
}

@media screen and (max-width: 768px) {
  .planSect__head .loopSlider .swiper-slide[data-swiper-slide-index='0'] .movieBox, .planSect__head .loopSlider .swiper-slide[data-swiper-slide-index='2'] .movieBox {
    margin: 40px 32px 0 auto;
    width: 119px;
  }
}

@media print, screen and (min-width: 768px) {
  .planSect__head .loopSlider .swiper-slide[data-swiper-slide-index='1'], .planSect__head .loopSlider .swiper-slide[data-swiper-slide-index='3'] {
    width: 270px;
  }
}

@media screen and (max-width: 768px) {
  .planSect__head .loopSlider .swiper-slide[data-swiper-slide-index='1'], .planSect__head .loopSlider .swiper-slide[data-swiper-slide-index='3'] {
    width: 151px;
  }
}

.planSect__head .movieBox:after {
  background-color: rgba(33, 33, 33, 0.6);
  z-index: 1000;
}

.planSect__head .movieBox .numCap {
  z-index: 10000;
}

.planSect__head .movieBox__video {
  position: relative;
  z-index: -1;
}

@media print, screen and (min-width: 768px) {
  .planSect__cont .guidanceArea__heading {
    bottom: calc(100% + 367px);
    left: 50%;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
}

@media screen and (max-width: 768px) {
  .planSect__cont .guidanceArea__heading {
    bottom: calc(100% + 75px);
    right: 28px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea {
    margin: 0 -16px;
  }
}

@media print, screen and (min-width: 768px) {
  .uspArea__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 40px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.uspArea__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}

@media print, screen and (min-width: 768px) {
  .uspArea__item {
    border-left: 2px solid #424854;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-left: 28px;
    white-space: nowrap;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__item {
    border-bottom: 2px solid #424854;
    gap: 16px;
    padding: 32px 0;
    text-align: center;
  }
}

.uspArea__item:before {
  background-color: #424854;
  content: '';
  display: inline-block;
  position: absolute;
}

@media print, screen and (min-width: 768px) {
  .uspArea__item:before {
    height: 100%;
    left: 6px;
    top: 0;
    width: 1px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__item:before {
    bottom: 6px;
    height: 1px;
    left: 0;
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__item:first-child {
    padding-top: 0;
  }
  .uspArea__item:first-child .uspArea__txt:first-child {
    width: 100%;
  }
}

@media print, screen and (min-width: 768px) {
  .uspArea__item:last-child .uspArea__txt {
    font-size: 18px;
  }
}

@media print, screen and (min-width: 768px) {
  .uspArea__item:last-child .uspArea__txt + .uspArea__txt {
    margin-top: 28px;
  }
}

.uspArea__txt {
  color: #ccc5b8;
  letter-spacing: .1rem;
  position: relative;
}

@media print, screen and (min-width: 768px) {
  .uspArea__txt {
    font-size: 16px;
    white-space: nowrap;
    line-height: 1.5;
  }
  .uspArea__txt:before {
    margin-top: calc((1 - 1.5) * 1em);
  }
  .uspArea__txt:after {
    margin-bottom: calc((1 - 1.5) * .6em);
  }
  .uspArea__txt:before, .uspArea__txt:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__txt {
    font-size: 14px;
    line-height: 1.5;
  }
  .uspArea__txt:before {
    margin-top: calc((1 - 1.5) * 1em);
  }
  .uspArea__txt:after {
    margin-bottom: calc((1 - 1.5) * .6em);
  }
  .uspArea__txt:before, .uspArea__txt:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

@media print, screen and (min-width: 768px) {
  .uspArea__txt + .uspArea__txt {
    margin-top: 20px;
  }
}

.uspArea__txt .strong {
  color: #ffffff;
  display: inline-block;
  font-weight: 300;
  letter-spacing: .138rem;
}

@media print, screen and (min-width: 768px) {
  .uspArea__txt .strong {
    font-size: 22px;
    line-height: 1;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__txt .strong {
    font-size: 22px;
  }
}

.uspArea__txt .en {
  color: #ffffff;
  display: inline-block;
  font-family: "Roboto", sans-serif;
  font-weight: 300;
  letter-spacing: .138rem;
  line-height: 1.25;
}

@media print, screen and (min-width: 768px) {
  .uspArea__txt .en {
    font-size: 30px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__txt .en {
    font-size: 30px;
  }
}

.uspArea__txt .en--small {
  color: #ccc5b8;
}

@media print, screen and (min-width: 768px) {
  .uspArea__txt .en--small {
    font-size: 22px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__txt .en--small {
    font-size: 18px;
  }
}

.uspArea__txt .caption {
  color: rgba(255, 255, 255, 0.7);
  font-size: 10px;
}

@media print, screen and (min-width: 768px) {
  .uspArea__txt .caption {
    bottom: -25px;
    left: 0;
    position: absolute;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__txt .caption {
    margin-top: 10px;
    text-align: left;
  }
}

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

@media screen and (max-width: 768px) {
  .top-usp {
    padding: 56px 0;
  }
}

@media print, screen and (min-width: 768px) {
  .top-info {
    padding: 104px 0 132px;
  }
}

@media screen and (max-width: 768px) {
  .top-info {
    padding: 80px 0 108px;
  }
}

@media print, screen and (min-width: 768px) {
  .top-info .bnrArea {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 40px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 70px;
  }
}

@media screen and (max-width: 768px) {
  .top-info .bnrArea {
    margin-top: 60px;
  }
}

@media screen and (max-width: 768px) {
  .top-info .bnrArea .generalBnr + .generalBnr {
    margin-top: 20px;
  }
}

@media print, screen and (min-width: 768px) {
  .top-design {
    padding-top: 140px;
  }
}

@media screen and (max-width: 768px) {
  .top-design {
    padding-top: 108px;
  }
}

@media print, screen and (min-width: 768px) {
  .top-access {
    padding-top: 220px;
  }
}

@media screen and (max-width: 768px) {
  .top-access {
    padding-top: 150px;
  }
}

@media print, screen and (min-width: 768px) {
  .top-plan {
    padding: 300px 0 140px;
  }
}

@media screen and (max-width: 768px) {
  .top-plan {
    padding: 104px 0 80px;
  }
}

@media print, screen and (min-width: 768px) {
  .top-map {
    padding: 140px 0 160px;
  }
}

@media screen and (max-width: 768px) {
  .top-map {
    padding: 80px 0 172px;
  }
}
