@charset "UTF-8";
/* ================================================

- Base

================================================ */
[v-cloak] {
  display: none;
}

_:-ms-lang(x)::-ms-backdrop, [v-cloak] {
  display: block;
}

body {
  overflow-x: hidden;
  -ms-scroll-chaining: chained;
      overscroll-behavior: auto;
  background-color: #FFFFFF;
}

body.-bodyScrollStop {
  overflow: hidden;
  -ms-scroll-chaining: none;
      overscroll-behavior: contain;
}

:root {
  --cc-red: #FF0000;
  --cc-main: #142e55;
  --space: 30px;
}

/* ================================================

- フォント

================================================ */
/* ================================================

- フォントサイズ

================================================ */
/* ================================================

- RWD表示切り替え

================================================ */
@media all and (min-width: 569px) {
  .nopc {
    display: none !important;
  }
}
@media all and (max-width: 568px) {
  .nosp {
    display: none !important;
  }
}
/* ================================================

- flex

================================================ */
/* ================================================

- margin

================================================ */
/* magrin-topを5px刻みで50pxまで */
.mTop0 {
  margin-top: 0px;
}

.mTop5 {
  margin-top: 5px;
}

.mTop10 {
  margin-top: 10px;
}

.mTop15 {
  margin-top: 15px;
}

.mTop20 {
  margin-top: 20px;
}

.mTop25 {
  margin-top: 25px;
}

.mTop30 {
  margin-top: 30px;
}

.mTop35 {
  margin-top: 35px;
}

.mTop40 {
  margin-top: 40px;
}

.mTop45 {
  margin-top: 45px;
}

.mTop50 {
  margin-top: 50px;
}

/* magrin-bottomを5px刻みで50pxまで */
.mBtm0 {
  margin-bottom: 0px;
}

.mBtm5 {
  margin-bottom: 5px;
}

.mBtm10 {
  margin-bottom: 10px;
}

.mBtm15 {
  margin-bottom: 15px;
}

.mBtm20 {
  margin-bottom: 20px;
}

.mBtm25 {
  margin-bottom: 25px;
}

.mBtm30 {
  margin-bottom: 30px;
}

.mBtm35 {
  margin-bottom: 35px;
}

.mBtm40 {
  margin-bottom: 40px;
}

.mBtm45 {
  margin-bottom: 45px;
}

.mBtm50 {
  margin-bottom: 50px;
}

/* ================================================

- z-index

================================================ */
/* ================================================

- イージング

================================================ */
/* ================================================

- MV

================================================ */
.p-mv {
  position: relative;
}

.p-mv__inner {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
}

.p-mv__photo {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 72.109vw;
  position: relative;
  z-index: 1;
}

.p-mv__content {
  -webkit-box-flex: 1;
      -ms-flex: auto;
          flex: auto;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  background-color: #FFFFFF;
  position: relative;
}

.p-mv__tile {
  position: absolute;
  top: 4.809vw;
  left: -16.331vw;
  width: 60.859vw;
}

.p-mv__logo {
  width: 20.781vw;
  padding-top: 5.469vw;
}

/*--- media screen ---*/
@media screen and (max-width: 568px) {
  .p-mv__inner {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: start;
    -webkit-box-align: start;
            align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-mv__photo {
    width: 100%;
  }
  .p-mv__content {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    width: 100%;
  }
  .p-mv__tile {
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: 100%;
  }
  .p-mv__tile img {
    width: 500px;
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-position: 50% 50%;
       object-position: 50% 50%;
  }
  .p-mv__logo {
    width: 53.333vw;
    padding-top: 5.469vw;
  }
}
/* ================================================

-

================================================ */
.p-body {
  padding-top: 60px;
  padding-bottom: 205px;
  background-image: url("../images/page/bg.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
}

.p-sc__ttl {
  display: inline-block;
}
.p-sc__ttl span {
  display: block;
  text-align: center;
}
.p-sc__ttl span.-en {
  font-size: 3.125rem;
  letter-spacing: 0.1em;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: var(--cc-main);
}
.p-sc__ttl span.-jp {
  margin-top: 11px;
  font-size: 0.875rem;
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.3em;
  color: #9f7a46;
}

.p-summary p {
  font-size: 1.125rem;
  letter-spacing: 0.16em;
  line-height: 1.611;
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  color: #736357;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
}
.p-summary p span {
  text-combine-upright: all;
}

.p-nav {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  gap: 38px;
  padding-right: 45px;
  padding-left: 70px;
  padding-bottom: 200px;
}

.p-nav__ttl {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
}
.p-nav__ttl span {
  display: block;
  text-align: center;
}
.p-nav__ttl span.-en {
  font-size: 1.4375rem;
  letter-spacing: 0.1em;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: var(--cc-main);
}
.p-nav__ttl span.-jp {
  margin-top: 5px;
  font-size: 0.75rem;
  letter-spacing: 0.3em;
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  color: #999999;
}

.p-nav__menu {
  -webkit-box-flex: 1;
      -ms-flex: auto;
          flex: auto;
}

.p-nav__list {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  gap: 8px;
}

.p-nav__item {
  width: calc(14.2857142857% - 6.8571428571px);
}
.p-nav__item a {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  min-height: 80px;
  border: solid 1px #000000;
  background-color: #FFFFFF;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.p-nav__item a:hover {
  background-color: var(--cc-main);
}
.p-nav__item a:hover span.-en {
  color: #FFFFFF;
}
.p-nav__item a span {
  display: block;
  text-align: center;
}
.p-nav__item a span.-en {
  font-size: 1.4375rem;
  letter-spacing: 0.1em;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: var(--cc-main);
}
.p-nav__item a span.-jp {
  margin-top: 5px;
  font-size: 0.75rem;
  letter-spacing: 0.3em;
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  color: #999999;
}

.p-sc {
  position: relative;
  z-index: 1;
}
.p-sc .p-sc__inner {
  position: relative;
  z-index: 2;
}

.p-sc.-location {
  z-index: 7;
}

.p-sc.-access {
  z-index: 6;
}

.p-sc.-plan {
  z-index: 5;
}

.p-sc.-equipment {
  z-index: 4;
}

.p-sc.-gallery {
  z-index: 3;
}

.p-sc.-outline {
  z-index: 2;
}

.p-bg {
  position: absolute;
  z-index: -1;
}

.p-design__bg1 {
  width: 1062px;
  top: 500px;
  left: -180px;
}

.p-design__bg2 {
  width: 804px;
  top: 535px;
  left: auto;
  right: 80px;
}

.p-location__bg {
  width: 1126px;
  top: 370px;
  left: auto;
  right: -190px;
}

.p-access__bg {
  width: 1136px;
  top: -220px;
  left: 465px;
}

.p-plan__bg1 {
  width: 798px;
  top: -360px;
  left: -90px;
}

.p-plan__bg2 {
  width: 802px;
  top: 350px;
  left: auto;
  right: 140px;
}

.p-equipment__bg {
  width: 968px;
  top: -180px;
  left: auto;
  right: 340px;
}

.p-gallery__bg1 {
  width: 798px;
  top: -660px;
  left: -220px;
}

.p-gallery__bg2 {
  width: 362px;
  top: -260px;
  left: auto;
  right: 370px;
}

.p-outline__bg1 {
  width: 400px;
  top: 540px;
  left: 70px;
}

.p-outline__bg2 {
  width: 801px;
  top: -530px;
  left: auto;
  right: 20px;
}

/*--- media screen ---*/
@media screen and (max-width: 568px) {
  #outline,
  #gallery,
  #equipment,
  #plan,
  #access,
  #location,
  #design {
    padding-top: 60px;
    margin-top: -60px;
  }
  .p-body {
    padding-top: 16vw;
    padding-bottom: 37.333vw;
    background-image: url("../images/page/bg_sp.jpg");
    background-size: contain;
    background-repeat: repeat;
  }
  .p-sc__ttl span.-en {
    font-size: 8.5333333333vw;
  }
  .p-sc__ttl span.-jp {
    margin-top: 2.933vw;
    font-size: 2.6666666667vw;
  }
  .p-summary p {
    font-size: 3.4666666667vw;
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
        writing-mode: horizontal-tb;
  }
  .p-summary p span {
    text-combine-upright: all;
  }
  .p-nav {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 6.4vw;
    padding-right: 5.333vw;
    padding-left: 5.333vw;
    padding-bottom: 32vw;
  }
  .p-nav__ttl span.-en {
    font-size: 4.9333333333vw;
  }
  .p-nav__ttl span.-jp {
    margin-top: 1.333vw;
    font-size: 2.6666666667vw;
  }
  .p-nav__list {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 2.133vw;
  }
  .p-nav__item {
    width: calc(50% - 1.0665vw);
  }
  .p-nav__item a {
    min-height: 17.067vw;
  }
  .p-nav__item a span.-en {
    font-size: 4.9333333333vw;
  }
  .p-nav__item a span.-jp {
    margin-top: 1.333vw;
    font-size: 2.6666666667vw;
  }
  .p-design__bg1 {
    width: 141.6vw;
    top: 10.667vw;
    left: -84vw;
  }
  .p-design__bg2 {
    width: 107.2vw;
    top: 142.667vw;
    right: -45.333vw;
  }
  .p-location__bg {
    width: 150.133vw;
    top: 165.333vw;
    right: -92vw;
  }
  .p-access__bg {
    width: 151.467vw;
    top: -53.333vw;
    left: -21.333vw;
  }
  .p-plan__bg1 {
    width: 106.4vw;
    top: -18.667vw;
    left: -29.333vw;
  }
  .p-plan__bg2 {
    width: 106.933vw;
    top: 170.667vw;
    right: -13.333vw;
  }
  .p-equipment__bg {
    width: 115.733vw;
    top: 0px;
    right: -12vw;
  }
  .p-gallery__bg1 {
    width: 106.4vw;
    top: -48vw;
    left: -2.667vw;
  }
  .p-gallery__bg2 {
    width: 48.267vw;
    top: 146.667vw;
    right: 9.333vw;
  }
  .p-outline__bg1 {
    width: 53.333vw;
    top: 18.667vw;
    left: -40vw;
  }
  .p-outline__bg2 {
    width: 106.667vw;
    top: 160vw;
    right: -21.333vw;
  }
}
/* ================================================

- Design

================================================ */
.p-sc.-design {
  padding-bottom: 202px;
}
.p-design__showcase {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  position: relative;
  padding-left: 235px;
}

.p-design__showcase__unit {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.p-design__showcase__summary {
  margin-top: 36px;
}

.p-design__showcase__photo {
  position: absolute;
  top: 144px;
  right: 0;
  width: 942px;
}

.p-design__content {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  margin-top: 171px;
}

.p-design__content__block.-block2 {
  padding-top: 298px;
}

.p-design__content__photo.-photo1 {
  width: 624px;
}

.p-design__content__photo.-photo2 {
  width: 629px;
}

.p-design__content__summarys {
  margin-top: 30px;
  padding-left: 30px;
}
.p-design__content__summarys dt {
  font-size: 0.875rem;
  letter-spacing: 0.24em;
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  color: #4d4d4d;
}

.p-design__content__summarys.-right {
  padding-left: 0;
  padding-right: 30px;
  text-align: right;
}

.p-design__content__summary {
  margin-top: 21px;
}
.p-design__content__summary p {
  font-size: 0.875rem;
  letter-spacing: 0.24em;
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  line-height: 2.214;
  color: #4d4d4d;
}

/*--- media screen ---*/
@media screen and (max-width: 568px) {
  .p-sc.-design {
    padding-bottom: 26.667vw;
  }
  .p-design__showcase {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: start;
    -webkit-box-align: start;
            align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-left: 0;
  }
  .p-design__showcase__unit {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-design__showcase__summary {
    margin-top: 9.6vw;
    padding: 0 5.333vw;
  }
  .p-design__showcase__photo {
    position: static;
    width: 100%;
    margin-top: 5.333vw;
  }
  .p-design__content {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: start;
    -webkit-box-align: start;
            align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 13.333vw;
  }
  .p-design__content__block.-block2 {
    padding-top: 0;
    margin-top: 10.667vw;
    padding-left: 16vw;
  }
  .p-design__content__photo.-photo1 {
    width: 85%;
  }
  .p-design__content__photo.-photo2 {
    width: 100%;
  }
  .p-design__content__summarys {
    margin-top: 4.8vw;
    padding: 0 5.333vw;
  }
  .p-design__content__summarys dt {
    font-size: 3.2vw;
  }
  .p-design__content__summarys.-right {
    padding: 0 5.333vw 0 0;
    text-align: left;
  }
  .p-design__content__summary {
    margin-top: 2.667vw;
  }
  .p-design__content__summary p {
    font-size: 3.2vw;
  }
}
/* ================================================

- Location

================================================ */
.p-sc.-location {
  padding-bottom: 240px;
}
.p-location__layout {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  padding-left: 55px;
  padding-right: 200px;
}

.p-location__unit {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.p-location__summary {
  margin-top: 34px;
}

.p-location__map {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  width: 610px;
}
.p-location__map figcaption {
  display: block;
  padding-right: 15px;
  font-size: 0.8125rem;
  letter-spacing: 0.1em;
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  color: #999999;
  text-align: right;
}

.p-location__btn {
  width: 360px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 60px;
}
.p-location__btn a {
  display: block;
  -webkit-transition: opacity 0.3s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  transition: opacity 0.3s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}

@media (hover: hover) {
  .p-location__btn a:-moz-any-link:hover {
    opacity: 0.7;
  }
  .p-location__btn a:any-link:hover {
    opacity: 0.7;
  }
}
/*--- media screen ---*/
@media screen and (max-width: 568px) {
  .p-sc.-location {
    padding-bottom: 26.667vw;
  }
  .p-location__layout {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-left: 0;
    padding-right: 0;
  }
  .p-location__unit {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-location__summary {
    margin-top: 9.067vw;
  }
  .p-location__map {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: 100%;
    margin-top: 5.333vw;
  }
  .p-location__map figcaption {
    padding-right: 4vw;
    font-size: 2.6666666667vw;
  }
  .p-location__btn {
    width: 74vw;
    margin-top: 13.333vw;
  }
}
/* ================================================

-

================================================ */
.p-sc.-access {
  padding-bottom: 195px;
}

.p-access__layout {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  padding-left: 215px;
  padding-right: 40px;
}

.p-access__unit {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.p-access__summary {
  margin-top: 34px;
}

.p-access__content {
  padding-top: 55px;
}

.p-access__map {
  width: 737px;
  margin-left: auto;
}

.p-access__root {
  max-width: 860px;
  width: 100%;
  margin-top: 16px;
  margin-left: auto;
  margin-right: 58px;
}

.p-access__root__ttl {
  padding-bottom: 11px;
  font-size: 1.5625rem;
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.1em;
  color: var(--cc-main);
}
.p-access__root__ttl small {
  font-size: 1.25rem;
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.p-access__root__ttl span {
  display: inline-block;
  font-size: 1.875rem;
  margin: 0 -10px;
}

.p-access__root__list {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: end;
  -webkit-box-align: end;
          align-items: flex-end;
  gap: 10px;
  padding-top: 18px;
  border-top: solid 2px var(--cc-main);
}

.p-access__root__item.-root1 {
  width: 243px;
}

.p-access__root__item.-root2 {
  width: 319px;
}

.p-access__root__item.-root3 {
  width: 258px;
}

.p-access__root__note {
  margin-top: 20px;
}
.p-access__root__note p {
  font-size: 0.75rem;
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  text-align: right;
}

/*--- media screen ---*/
@media screen and (max-width: 568px) {
  .p-sc.-access {
    padding-bottom: 26.667vw;
  }
  .p-access__layout {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: start;
    -webkit-box-align: start;
            align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-left: 0;
    padding-right: 0;
  }
  .p-access__unit {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0 5.333vw;
  }
  .p-access__summary {
    margin-top: 9.067vw;
  }
  .p-access__content {
    padding-top: 5.333vw;
  }
  .p-access__map {
    width: 100%;
    margin-left: 0;
  }
  .p-access__root {
    margin-top: 4.267vw;
    margin-left: 0;
    margin-right: 0;
    padding: 0 5.333vw;
  }
  .p-access__root__ttl {
    padding-bottom: 2.933vw;
    font-size: 4.8vw;
  }
  .p-access__root__ttl small {
    font-size: 4vw;
  }
  .p-access__root__ttl span {
    font-size: 5.6vw;
    margin: 0 -2.667vw;
  }
  .p-access__root__list {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: start;
    -webkit-box-align: start;
            align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4vw;
    padding-top: 4.8vw;
  }
  .p-access__root__item.-root1 {
    width: 57.311vw;
  }
  .p-access__root__item.-root2 {
    width: 75.236vw;
  }
  .p-access__root__item.-root3 {
    width: 60.849vw;
  }
  .p-access__root__note {
    margin-top: 4vw;
  }
  .p-access__root__note p {
    font-size: 2.6666666667vw;
    line-height: 1.425;
    text-align: left;
  }
}
/* ================================================

- Plan

================================================ */
.p-sc.-plan {
  padding-bottom: 250px;
}
.p-plan__layout {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  padding: 0 237px 0 160px;
}

.p-plan__unit {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.p-plan__summary {
  margin-top: 34px;
}

.plan-slider__main {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  width: 530px;
  padding-top: 46px;
}

.plan-slider__tab {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  gap: 18px;
  margin-top: 60px;
  padding: 0 160px 0 195px;
}

.plan-slider__tab__ttl span {
  display: block;
  text-align: center;
}
.plan-slider__tab__ttl span.-en {
  font-size: 1.375rem;
  letter-spacing: 0.04em;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: var(--cc-main);
}
.plan-slider__tab__ttl span.-jp {
  margin-top: 5px;
  font-size: 0.75rem;
  letter-spacing: 0.3em;
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  color: #999999;
}

.plan-slider__tab__list {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  gap: 10px;
}

.plan-slider__tab__item {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  width: 193px;
}
.plan-slider__tab__item button {
  display: block;
  width: 100%;
  min-height: 50px;
  font-size: 1.25rem;
  color: var(--cc-main);
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
  background-color: var(--cc-main);
  position: relative;
  z-index: 1;
}
.plan-slider__tab__item button::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-image: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2268.086mm%22%20height%3D%2217.639mm%22%20version%3D%221.1%22%20viewBox%3D%220%200%20193%2050%22%3E%20%3Cpolygon%20points%3D%22178.5%200%2014.5%200%200%2025%2014.5%2050%20178.5%2050%20193%2025%20178.5%200%22%20fill%3D%22%23fff%22%20opacity%3D%22.3%22%2F%3E%3C%2Fsvg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: 193px;
  height: 50px;
  z-index: -1;
}
.plan-slider__tab__item button::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.5);
  z-index: 2;
}
.plan-slider__tab__item button span {
  position: relative;
  z-index: 1;
}
.plan-slider__tab__item button strong {
  font-size: 1.75rem;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.plan-slider__tab__item.-active button {
  color: #FFFFFF;
}
.plan-slider__tab__item.-active button::after {
  display: none;
}

.plan-slider__thumbnails {
  margin-top: 25px;
}
.plan-slider__thumbnails .js-tab-panel {
  width: 1020px;
  margin: 0 auto;
}

.plan-slider__thumbnail {
  position: relative;
}
.plan-slider__thumbnail .swiper {
  width: 956px;
  margin: 0 auto;
}

/* アロー */
.swiper-button-next.plan-arrow,
.swiper-button-prev.plan-arrow {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  background-size: contain;
  background-repeat: no-repeat;
  margin-top: 0;
  width: 22px;
  height: 22px;
  cursor: pointer;
  z-index: 2;
}
.swiper-button-next.plan-arrow::after,
.swiper-button-prev.plan-arrow::after {
  display: none;
}

/* アロー（前へ） */
.swiper-button-prev.plan-arrow {
  left: 0;
  background-image: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%228.114mm%22%20height%3D%228.114mm%22%20version%3D%221.1%22%20viewBox%3D%220%200%2023%2023%22%3E%20%3Ccircle%20cx%3D%2211.5%22%20cy%3D%2211.5%22%20r%3D%2211%22%20fill%3D%22%23fff%22%20stroke%3D%22%23122d53%22%2F%3E%20%3Cpolyline%20points%3D%2213.5%207%207.5%2011.5%2013.5%2016%22%20fill%3D%22%23fff%22%20stroke%3D%22%23122d53%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
}

/* アロー（次へ） */
.swiper-button-next.plan-arrow {
  right: 0;
  background-image: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%228.114mm%22%20height%3D%228.114mm%22%20version%3D%221.1%22%20viewBox%3D%220%200%2023%2023%22%3E%20%3Ccircle%20cx%3D%2211.5%22%20cy%3D%2211.5%22%20r%3D%2211%22%20fill%3D%22%23fff%22%20stroke%3D%22%23122d53%22%2F%3E%20%3Cpolyline%20points%3D%229.5%2016%2015.5%2011.5%209.5%207%22%20fill%3D%22%23fff%22%20stroke%3D%22%23122d53%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
}

/*--- media screen ---*/
@media screen and (max-width: 568px) {
  .p-sc.-plan {
    padding-bottom: 26.667vw;
  }
  .p-plan__layout {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: start;
    -webkit-box-align: start;
            align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0;
  }
  .p-plan__unit {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0 5.333vw;
  }
  .p-plan__summary {
    margin-top: 9.067vw;
  }
  .plan-slider__main {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: 100%;
    padding: 0 0.533vw;
    margin-top: 5.333vw;
  }
  .plan-slider__tab {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4.8vw;
    margin-top: 5.333vw;
    padding: 0 5.333vw;
  }
  .plan-slider__tab__ttl span.-en {
    font-size: 4.9333333333vw;
  }
  .plan-slider__tab__ttl span.-jp {
    margin-top: 1.333vw;
    font-size: 2.9333333333vw;
  }
  .plan-slider__tab__list {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 2.133vw;
    width: 100%;
  }
  .plan-slider__tab__item {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    width: calc(50% - 1.0665vw);
  }
  .plan-slider__tab__item button {
    min-height: 11.2vw;
    font-size: 4.2666666667vw;
  }
  .plan-slider__tab__item button::before {
    width: 43.467vw;
    height: 11.2vw;
  }
  .plan-slider__tab__item button strong {
    font-size: 5.8666666667vw;
  }
  .plan-slider__thumbnails {
    margin-top: 6.667vw;
  }
  .plan-slider__thumbnails .js-tab-panel {
    width: 100%;
  }
  .plan-slider__thumbnail .swiper {
    width: 100%;
  }
  /* アロー（前へ） */
  .swiper-button-prev.plan-arrow {
    left: 5.333vw;
  }
  /* アロー（次へ） */
  .swiper-button-next.plan-arrow {
    right: 5.333vw;
  }
}
/* ================================================

- Equipment

================================================ */
.p-sc.-equipment {
  padding-bottom: 225px;
}
.p-equipment__layout {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  padding: 0 55px 0 190px;
}

.p-equipment__unit {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.p-equipment__summary {
  margin-top: 34px;
}

.p-equipment__content {
  width: 670px;
  padding-top: 144px;
}

.p-equipment__content__list {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  gap: 20px;
}

.p-equipment__content__item {
  width: calc(33.3333333333% - 13.3333333333px);
}

.p-equipment__content__summary {
  margin-top: 15px;
}
.p-equipment__content__summary dt {
  font-size: 0.875rem;
  line-height: 1.571;
  letter-spacing: 0.02em;
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  color: #4d4d4d;
}
.p-equipment__content__summary dd {
  font-size: 0.625rem;
  line-height: 1.571;
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  color: var(--cc-main);
}

.p-eq__layout {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  gap: 32px;
  margin-top: 41px;
  padding: 0 55px 0 140px;
}

.p-eq__block {
  width: calc(50% - 16px);
}

.p-eq__ttl {
  padding-bottom: 13px;
  font-size: 1.875rem;
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.22em;
  color: var(--cc-main);
  border-bottom: solid 1px var(--cc-main);
}

.p-eq__list {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 10px 17px;
  margin-top: 30px;
}

.p-eq__item {
  width: calc(50% - 8.5px);
  padding: 9px 0 10px 9px;
  background-color: var(--cc-main);
}

.p-eq__item__icon {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
.p-eq__item__icon img {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 54px;
}
.p-eq__item__icon figcaption {
  -webkit-box-flex: 1;
      -ms-flex: auto;
          flex: auto;
  width: calc(100% - 54px);
  font-size: 0.9375rem;
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  color: #FFFFFF;
  text-align: center;
}
.p-eq__item__icon figcaption small {
  font-size: 0.5625rem;
  line-height: 1;
}

/*--- media screen ---*/
@media screen and (max-width: 568px) {
  .p-sc.-equipment {
    padding-bottom: 26.667vw;
  }
  .p-equipment__layout {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0;
  }
  .p-equipment__unit {
    padding: 0 5.333vw;
  }
  .p-equipment__summary {
    margin-top: 9.067vw;
  }
  .p-equipment__content {
    width: 100%;
    margin-top: 5.333vw;
    padding: 0 5.333vw;
  }
  .p-equipment__content__list {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: start;
    -webkit-box-align: start;
            align-items: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 4vw;
  }
  .p-equipment__content__item {
    width: calc(50% - 2vw);
  }
  .p-equipment__content__summary {
    margin-top: 4vw;
  }
  .p-equipment__content__summary dt {
    font-size: 3.2vw;
  }
  .p-equipment__content__summary dd {
    font-size: 2.6666666667vw;
  }
  .p-eq__layout {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: start;
    -webkit-box-align: start;
            align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8.533vw;
    margin-top: 9.333vw;
    padding: 0 5.333vw;
  }
  .p-eq__block {
    width: 100%;
  }
  .p-eq__ttl {
    padding-bottom: 3.467vw;
    font-size: 6.4vw;
  }
  .p-eq__list {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: stretch;
    -webkit-box-align: stretch;
            align-items: stretch;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 2.133vw;
    margin-top: 4vw;
  }
  .p-eq__item {
    width: calc(50% - 1.0665vw);
    padding: 2.4vw 2.133vw;
  }
  .p-eq__item__icon {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
  }
  .p-eq__item__icon img {
    width: 9.333vw;
  }
  .p-eq__item__icon figcaption {
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
    width: calc(100% - 9.333vw);
    font-size: 3.2vw;
  }
  .p-eq__item__icon figcaption small {
    font-size: 2.6666666667vw;
    line-height: 1;
  }
}
/* ================================================

- Gallery

================================================ */
.p-sc.-gallery {
  padding-bottom: 190px;
}
.p-sc.-gallery .p-sc__head {
  text-align: center;
}

.p-gallery {
  margin-top: 47px;
}

/*--- media screen ---*/
@media screen and (max-width: 568px) {
  .p-sc.-gallery {
    padding-bottom: 26.667vw;
  }
  .p-gallery {
    margin-top: 9.067vw;
  }
}
/* ================================================

-

================================================ */
.p-sc.-outline .p-sc__inner {
  padding: 0 180px;
}
.p-sc.-outline .p-sc__head {
  text-align: center;
}

.p-outline {
  margin-top: 70px;
}

/*--- media screen ---*/
@media screen and (max-width: 568px) {
  .p-sc.-outline .p-sc__inner {
    padding: 0 5.333vw;
  }
  .p-outline {
    margin-top: 9.067vw;
  }
}