.introSect {
  text-align: center;
}

.introSect__ttl {
  font-family: "YakuHanMP", "Noto Serif JP", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-weight: 400;
  letter-spacing: .3em;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .introSect__ttl {
    font-size: 32px;
  }
}

@media screen and (max-width: 768px) {
  .introSect__ttl {
    font-size: calc(24 / 390 * 100vw);
    letter-spacing: .1em;
    line-height: 1.95;
  }
}

.introSect__cont {
  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-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}

@media screen and (min-width: 768px) {
  .introSect__cont {
    margin-top: 10px;
  }
}

@media screen and (max-width: 768px) {
  .introSect__cont {
    margin-top: calc(20 / 390 * 100vw);
  }
}

.introSect__plan {
  color: #596a32;
}

.introSect__plan .type {
  font-family: "Cinzel", serif;
  font-weight: 400;
  letter-spacing: .1em;
}

@media screen and (min-width: 768px) {
  .introSect__plan .type {
    font-size: 40px;
    line-height: 1.85;
  }
}

@media screen and (max-width: 768px) {
  .introSect__plan .type {
    font-size: calc(32 / 390 * 100vw);
    line-height: 1.4;
  }
}

.introSect__plan .floor {
  font-family: "YakuHanMP", "Noto Serif JP", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-weight: 400;
  font-size: 16px;
  letter-spacing: .1em;
}

@media screen and (min-width: 768px) {
  .introSect__plan .floor {
    line-height: 2;
  }
}

@media screen and (max-width: 768px) {
  .introSect__plan .floor {
    font-size: calc(16 / 390 * 100vw);
    line-height: 1.4;
  }
}

.introSect__plan .sub {
  font-family: "Cinzel", serif;
  font-weight: 400;
  letter-spacing: .1em;
}

@media screen and (min-width: 768px) {
  .introSect__plan .sub {
    font-size: 24px;
    line-height: 1.85;
  }
}

@media screen and (max-width: 768px) {
  .introSect__plan .sub {
    font-size: calc(18 / 390 * 100vw);
    line-height: 1.4;
  }
}

.introSect__spec .label {
  font-family: "YakuHanMP", "Noto Serif JP", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-weight: 400;
  font-size: 12px;
  letter-spacing: .1em;
}

@media screen and (min-width: 768px) {
  .introSect__spec .label {
    line-height: 2;
  }
}

@media screen and (max-width: 768px) {
  .introSect__spec .label {
    font-size: calc(12 / 390 * 100vw);
    line-height: 1.2;
  }
}

.introSect__spec .num {
  font-family: "Cinzel", serif;
  font-weight: 400;
  letter-spacing: .1em;
}

@media screen and (min-width: 768px) {
  .introSect__spec .num {
    font-size: 40px;
    line-height: 1.85;
  }
}

@media screen and (max-width: 768px) {
  .introSect__spec .num {
    font-size: calc(32 / 390 * 100vw);
    line-height: 1.2;
  }
}

.introSect__spec .dec {
  font-family: "Cinzel", serif;
  font-weight: 400;
  font-size: 24px;
  letter-spacing: .1em;
}

@media screen and (min-width: 768px) {
  .introSect__spec .dec {
    line-height: 1.85;
  }
}

@media screen and (max-width: 768px) {
  .introSect__spec .dec {
    font-size: calc(24 / 390 * 100vw);
    line-height: 1.2;
  }
}

.introSect__spec .unit {
  font-family: "YakuHanMP", "Noto Serif JP", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-weight: 400;
  letter-spacing: .1em;
}

@media screen and (min-width: 768px) {
  .introSect__spec .unit {
    font-size: 20px;
    line-height: 1.95;
  }
}

@media screen and (max-width: 768px) {
  .introSect__spec .unit {
    font-size: calc(16 / 390 * 100vw);
    line-height: 1.2;
  }
}

.introSect__spec .note {
  font-family: "YakuHanMP", "Noto Serif JP", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-weight: 400;
  font-size: 14px;
  letter-spacing: .1em;
}

@media screen and (min-width: 768px) {
  .introSect__spec .note {
    line-height: 2;
  }
}

@media screen and (max-width: 768px) {
  .introSect__spec .note {
    font-size: calc(14 / 390 * 100vw);
    line-height: 1.2;
  }
}

.introSect__spec .detail {
  font-family: "YakuHanMP", "Noto Serif JP", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-weight: 400;
  font-size: 14px;
  letter-spacing: .1em;
  line-height: 2;
}

@media screen and (max-width: 768px) {
  .introSect__spec .detail {
    font-size: calc(14 / 390 * 100vw);
  }
}

.madoriArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: calc(60 / 390 * 100vw);
}

@media screen and (min-width: 768px) {
  .madoriArea {
    gap: 80px;
  }
}

@media screen and (min-width: 768px) {
  .madoriArea__detail {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-column-gap: 40px;
       -moz-column-gap: 40px;
            column-gap: 40px;
    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) {
  .madoriArea__detail {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: calc(32 / 390 * 100vw);
  }
}

.madoriArea__cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: calc(24 / 390 * 100vw);
  list-style: none;
  margin: 0;
  padding: 0;
}

@media screen and (min-width: 768px) {
  .madoriArea__cards {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    gap: 32px;
    width: 605px;
  }
}

@media screen and (min-width: 768px) {
  .madoriArea__img {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 604px;
  }
}

.madoriCard {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: calc(20 / 390 * 100vw);
}

@media screen and (min-width: 768px) {
  .madoriCard {
    gap: 40px;
  }
}

.madoriCard__photo {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: calc(141 / 390 * 100vw);
}

@media screen and (min-width: 768px) {
  .madoriCard__photo {
    width: 230px;
  }
}

.madoriCard__photo .photo__image {
  aspect-ratio: 230 / 158;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}

.madoriCard__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  min-width: 0;
}

.madoriCard__head {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}

.madoriCard__no {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #e08561;
  border-radius: 4px;
  color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .madoriCard__no {
    font-size: 18px;
    height: 22px;
    width: 22px;
  }
}

@media screen and (max-width: 768px) {
  .madoriCard__no {
    font-size: calc(14 / 390 * 100vw);
    height: calc(18 / 390 * 100vw);
    width: calc(18 / 390 * 100vw);
  }
}

.madoriCard__heading {
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 2;
}

@media screen and (max-width: 768px) {
  .madoriCard__heading {
    font-size: calc(14 / 390 * 100vw);
  }
}

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

.madoriCard__txt {
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 2;
}

@media screen and (max-width: 768px) {
  .madoriCard__txt {
    font-size: calc(12 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .madoriCard__txt {
    font-size: 14px;
  }
}

@media screen and (min-width: 768px) {
  .madoriDesc {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-column-gap: 40px;
       -moz-column-gap: 40px;
            column-gap: 40px;
    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) {
  .madoriDesc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: calc(24 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .madoriDesc__cont {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 604px;
  }
}

.madoriDesc__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}

@media screen and (max-width: 768px) {
  .madoriDesc__head {
    gap: calc(10 / 390 * 100vw);
  }
}

.madoriDesc__ttlImg .photo {
  width: 162px;
}

@media screen and (max-width: 768px) {
  .madoriDesc__ttlImg .photo {
    width: calc(162 / 390 * 100vw);
  }
}

.madoriDesc__ttl {
  font-family: "YakuHanMP", "Noto Serif JP", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-weight: 400;
  letter-spacing: .1em;
}

@media screen and (min-width: 768px) {
  .madoriDesc__ttl {
    font-size: 24px;
    line-height: calc(46.8 / 24);
  }
}

@media screen and (max-width: 768px) {
  .madoriDesc__ttl {
    font-size: calc(20 / 390 * 100vw);
    line-height: 1.95;
  }
}

.madoriDesc__txt {
  font-family: "YakuHanMP", "Noto Serif JP", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-weight: 400;
  letter-spacing: .1em;
  margin-top: 20px;
}

@media screen and (min-width: 768px) {
  .madoriDesc__txt {
    font-size: 14px;
    line-height: 2;
  }
}

@media screen and (max-width: 768px) {
  .madoriDesc__txt {
    font-size: calc(12 / 390 * 100vw);
    line-height: 2;
    margin-top: calc(20 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .madoriDesc__img {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 604px;
  }
}

@media screen and (min-width: 768px) {
  .madoriDesc--reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

.madoriSect {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: calc(80 / 390 * 100vw);
}

@media screen and (min-width: 768px) {
  .madoriSect {
    gap: 120px;
  }
}

@media screen and (max-width: 768px) {
  .madoriSect__photo {
    margin-inline: calc(-24 / 390 * 100vw);
  }
}

.madoriSect__photo .photo,
.madoriSect__photo .photo__image {
  width: 100%;
}

.planDetailTtll {
  color: #d1d0d0;
  font-family: "Cinzel", serif;
  margin: 0 auto;
  position: relative;
  text-align: justify;
  white-space: nowrap;
}

@media screen and (min-width: 768px) {
  .planDetailTtll {
    font-size: 200px;
    letter-spacing: .6em;
    width: 900px;
  }
}

@media screen and (max-width: 768px) {
  .planDetailTtll {
    font-size: calc(56 / 390 * 100vw);
    letter-spacing: .7em;
    line-height: 1;
    width: calc(270 / 390 * 100vw);
  }
}

.planDetailTtll:after {
  color: #655d5b;
  left: 50%;
  position: absolute;
  text-align: center;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
}

@media screen and (min-width: 768px) {
  .planDetailTtll:after {
    bottom: 75px;
    content: 'WILLROSE YANAKA GINZA';
    font-size: 24px;
    letter-spacing: .2em;
  }
}

@media screen and (max-width: 768px) {
  .planDetailTtll:after {
    bottom: calc(17 / 390 * 100vw);
    content: 'WILLROSE YANAKA GINZA';
    font-size: calc(11 / 390 * 100vw);
    letter-spacing: .15em;
    line-height: 1;
    width: 100%;
  }
}

.planDetailTtll span:last-child {
  letter-spacing: 0;
}

.planSect {
  margin: 0 auto;
}

.planSect__head .headingCombi .heading {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .planSect__cont {
    margin-top: 96px;
  }
}

@media screen and (max-width: 768px) {
  .planSect__cont {
    margin-top: calc(40 / 360 * 100vw);
  }
}

.planSect__bottom {
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .planSect__bottom {
    margin-top: 96px;
  }
}

@media screen and (max-width: 768px) {
  .planSect__bottom {
    margin-top: calc(120 / 360 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .planSect__bottom .casbeeArea {
    margin: 0 auto;
    width: 356px;
  }
}

@media screen and (min-width: 768px) {
  .planSect__bottom .bnrArea {
    margin: 96px auto 0;
  }
}

@media screen and (max-width: 768px) {
  .planSect__bottom .bnrArea {
    margin-top: calc(80 / 390 * 100vw);
  }
}

.premiumBnr {
  display: block;
}

@media screen and (min-width: 768px) {
  .premiumBnr {
    margin: 96px auto 0;
    max-width: 770px;
  }
}

@media screen and (max-width: 768px) {
  .premiumBnr {
    margin-top: calc(40 / 360 * 100vw);
    width: 100%;
  }
}

.premiumBnr .photo__image {
  height: auto;
  width: 100%;
}

.premiumPlan {
  margin-left: calc(-50vw + 50%);
  width: 100vw;
}

@media screen and (min-width: 768px) {
  .premiumPlan {
    margin-top: 96px;
  }
}

@media screen and (max-width: 768px) {
  .premiumPlan {
    margin-top: calc(120 / 360 * 100vw);
  }
}

.premiumPlan__head {
  background-color: #4b463b;
  padding-inline: calc(24 / 390 * 100vw);
}

@media screen and (min-width: 768px) {
  .premiumPlan__head {
    padding-block: 100px;
  }
}

@media screen and (max-width: 768px) {
  .premiumPlan__head {
    padding-block: calc(80 / 390 * 100vw);
  }
}

.premiumPlan__head .largeHeadingCombi {
  color: #c9bc9c;
}

.premiumPlan__head .largeHeadingCombi .enTtl {
  color: #c9bc9c;
  font-family: "Cinzel", serif;
  letter-spacing: .3em;
}

@media screen and (min-width: 768px) {
  .premiumPlan__head .largeHeadingCombi .enTtl {
    font-size: 40px;
  }
}

@media screen and (max-width: 768px) {
  .premiumPlan__head .largeHeadingCombi .enTtl {
    font-size: calc(30 / 390 * 100vw);
  }
}

.premiumPlan__head .largeHeadingCombi .heading {
  color: #c9bc9c;
}

@media screen and (min-width: 768px) {
  .premiumPlan__head .largeHeadingCombi .heading {
    font-size: 20px;
  }
}

@media screen and (max-width: 768px) {
  .premiumPlan__head .largeHeadingCombi .heading {
    font-size: calc(18 / 390 * 100vw);
  }
}

.premiumPlan__head .largeHeadingCombi .txt {
  text-align: center;
}

.premiumPlan__head .largeHeadingCombi .heading + .txt--small {
  position: relative;
}

@media screen and (min-width: 768px) {
  .premiumPlan__head .largeHeadingCombi .heading + .txt--small {
    margin-top: 80px;
  }
}

@media screen and (max-width: 768px) {
  .premiumPlan__head .largeHeadingCombi .heading + .txt--small {
    margin-top: calc(60 / 390 * 100vw);
  }
}

.premiumPlan__head .largeHeadingCombi .heading + .txt--small:before {
  background-color: #c9bc9c;
  content: '';
  height: 3px;
  left: 50%;
  position: absolute;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 80px;
}

@media screen and (min-width: 768px) {
  .premiumPlan__head .largeHeadingCombi .heading + .txt--small:before {
    top: -30px;
  }
}

@media screen and (max-width: 768px) {
  .premiumPlan__head .largeHeadingCombi .heading + .txt--small:before {
    top: -10px;
  }
}

.premiumPlan__cont {
  background-color: #f7f1e6;
}

@media screen and (min-width: 768px) {
  .premiumPlan__cont {
    padding-block: 120px;
  }
}

@media screen and (max-width: 768px) {
  .premiumPlan__cont {
    padding-block: calc(120 / 390 * 100vw);
  }
}

.premiumPlan__cont .headingCombi:first-child {
  margin: 0;
}

@media screen and (min-width: 768px) {
  .premiumPlan__cont .headingCombi .heading + .txt--large {
    margin-top: 32px;
  }
}

@media screen and (max-width: 768px) {
  .premiumPlan__cont .headingCombi .heading + .txt--large {
    margin-top: calc(32 / 390 * 100vw);
  }
}

.premiumPlan__kv {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .premiumPlan__point {
    margin-top: 80px;
  }
}

@media screen and (max-width: 768px) {
  .premiumPlan__point {
    margin-top: calc(80 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .premiumPlan__room {
    margin-top: 80px;
  }
}

@media screen and (max-width: 768px) {
  .premiumPlan__room {
    margin-top: calc(80 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .premiumPlan__point + .headingCombi {
    margin-top: 120px;
  }
}

@media screen and (max-width: 768px) {
  .premiumPlan__point + .headingCombi {
    margin-top: calc(120 / 390 * 100vw);
  }
}

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

@media screen and (min-width: 768px) {
  .premiumPlan__cardItem {
    width: 604px;
  }
}

@media screen and (max-width: 768px) {
  .premiumPlan__cardItem + .premiumPlan__cardItem {
    margin-top: calc(30 / 375 * 100vw);
  }
}

.selectSect {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

@media screen and (min-width: 768px) {
  .selectSect {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 60px;
  }
}

@media screen and (max-width: 768px) {
  .selectSect {
    gap: calc(32 / 390 * 100vw);
  }
}

.selectSect__ttl {
  font-family: "YakuHanMP", "Noto Serif JP", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-weight: 400;
  letter-spacing: .1em;
}

@media screen and (min-width: 768px) {
  .selectSect__ttl {
    font-size: 32px;
    letter-spacing: .3em;
    line-height: 2;
    text-align: center;
  }
}

@media screen and (max-width: 768px) {
  .selectSect__ttl {
    font-size: calc(24 / 390 * 100vw);
    line-height: 1.95;
  }
}

.selectSect__row {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .selectSect__row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 40px;
  }
}

@media screen and (max-width: 768px) {
  .selectSect__row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(32 / 390 * 100vw);
  }
}

.selectSect__txt {
  font-family: "YakuHanMP", "Noto Serif JP", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .selectSect__txt {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    font-size: 14px;
    width: 604px;
  }
}

@media screen and (max-width: 768px) {
  .selectSect__txt {
    font-size: calc(12 / 390 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .selectSect__chart .touchFigure--swipe, .selectSect__chartFull .touchFigure--swipe {
    height: calc(150 / 390 * 100vw);
    margin: 0 calc(-24 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .selectSect__chart {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 0;
  }
}

.selectSect__chartFull {
  width: 100%;
}

.ttlSect {
  margin: 0 auto;
}

.ttlSect__head .headingCombi .heading {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .viewSect + * {
    margin-top: 96px;
  }
}

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

.viewSect__head {
  -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;
}

.viewSect__head .heading {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .viewSect__head .heading + .photo {
    margin-top: 96px;
  }
}

@media screen and (max-width: 768px) {
  .viewSect__head .heading + .photo {
    margin-top: calc(16 / 390 * 100vw);
  }
}

.viewSect__head .photo {
  width: 100vw;
}

.viewSect__head .photo__image {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .viewSect__head + .viewSect__cont {
    margin-top: 60px;
  }
}

@media screen and (max-width: 768px) {
  .viewSect__head + .viewSect__cont {
    margin-top: calc(20 / 390 * 100vw);
  }
}

.viewSect__cont .txt {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .viewSect__cont .txt {
    font-size: 14px;
    margin-left: auto;
    margin-right: auto;
    width: 524px;
  }
}

@media screen and (max-width: 768px) {
  .viewSect__cont .txt {
    font-size: calc(14 / 390 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .viewSect__image {
    margin-left: calc(50% - 50vw);
    width: 100vw;
  }
}

@media screen and (min-width: 768px) {
  .viewSect__image .photo + .caption {
    margin-top: 10px;
  }
}

@media screen and (max-width: 768px) {
  .viewSect__image .photo + .caption {
    margin-top: calc(10 / 390 * 100vw);
  }
}

.viewSect__image .caption {
  text-align: end;
}

@media screen and (max-width: 768px) {
  .viewSect__image .caption {
    padding: 0 calc(10 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .viewSect__image + .txt {
    margin-top: 60px;
  }
}

@media screen and (max-width: 768px) {
  .viewSect__image + .txt {
    margin-top: calc(40 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .wrap {
    max-width: 1248px;
    width: calc(1248 / 1440 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .plan-intro {
    margin: 120px auto 160px;
  }
}

@media screen and (max-width: 768px) {
  .plan-intro {
    margin: 74px auto calc(80 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .plan-space {
    margin: 120px auto 160px;
  }
}

@media screen and (max-width: 768px) {
  .plan-space {
    margin: 74px auto calc(80 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .plan-ttl {
    margin-top: 100px;
  }
}

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

.plan-detail {
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .plan-detail {
    margin: 120px auto 160px;
    width: 900px;
  }
}

@media screen and (max-width: 768px) {
  .plan-detail {
    margin: calc(50 / 390 * 100vw) auto calc(80 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .ldk-kv {
    margin-left: calc(50% - 50vw);
  }
}

@media screen and (max-width: 768px) {
  .ldk-kv {
    margin: 0 calc(-24 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .ldk-intro {
    margin-top: 120px;
  }
}

@media screen and (max-width: 768px) {
  .ldk-intro {
    margin-top: calc(64 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .ldk-madori {
    margin-top: 120px;
  }
}

@media screen and (max-width: 768px) {
  .ldk-madori {
    margin-top: calc(64 / 390 * 100vw);
  }
}

.keyVisual--2ldk .keyVisual__desc {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

@media screen and (min-width: 768px) {
  .keyVisual--2ldk .keyVisual__desc {
    padding: 209px 0 0 96px;
  }
}

@media screen and (max-width: 768px) {
  .keyVisual--2ldk .keyVisual__desc {
    padding: calc(114 / 390 * 100vw) 0 0 calc(42 / 390 * 100vw);
  }
}

.keyVisual--2ldk .keyVisual__desc .pageTtl {
  text-align: left;
}

.keyVisual--2ldk .keyVisual__desc .pageTtl .en {
  color: #59472b;
  font-family: "Noto Serif JP", serif;
  letter-spacing: .3em;
  text-indent: 0;
}

@media screen and (min-width: 768px) {
  .keyVisual--2ldk .keyVisual__desc .pageTtl .en {
    font-size: 32px;
    line-height: 2;
    position: relative;
  }
}

@media screen and (max-width: 768px) {
  .keyVisual--2ldk .keyVisual__desc .pageTtl .en {
    bottom: auto;
    font-size: calc(24 / 390 * 100vw);
    left: auto;
    line-height: 1.6;
    position: relative;
    -webkit-transform: none;
            transform: none;
    width: auto;
  }
}

.keyVisual--2ldk .keyVisual__desc .pageTtl .en:after {
  content: none;
}

.keyVisual--2ldk .keyVisual__desc .pageTtl .ja {
  color: #000000;
  display: block;
  left: auto;
  letter-spacing: .1em;
  position: relative;
  text-align: left;
  -webkit-transform: none;
          transform: none;
  width: auto;
}

@media screen and (min-width: 768px) {
  .keyVisual--2ldk .keyVisual__desc .pageTtl .ja {
    bottom: auto;
    font-size: 14px;
    line-height: 2;
    margin-top: 20px;
  }
}

@media screen and (max-width: 768px) {
  .keyVisual--2ldk .keyVisual__desc .pageTtl .ja {
    bottom: auto;
    font-size: calc(12 / 390 * 100vw);
    line-height: 2;
    margin-top: calc(12 / 390 * 100vw);
  }
}

.ldk-select {
  background-image: url("../imgs/bg-select-01.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

@media screen and (min-width: 768px) {
  .ldk-select {
    margin-inline: calc(-50vw + 50%);
    margin-top: 120px;
    padding: 120px calc(50vw - 624px);
    width: 100vw;
  }
}

@media screen and (max-width: 768px) {
  .ldk-select {
    margin-inline: calc(-24 / 390 * 100vw);
    margin-top: calc(64 / 390 * 100vw);
    padding: calc(64 / 390 * 100vw) calc(24 / 390 * 100vw);
  }
}
