@charset "UTF-8";

/*数値の設定
------------------------------------------*/
/*上記数値の設定を呼び出しているmixin
------------------------------------------*/
/*
よく使用するmixin
------------------------------------------*/
/**
/* limited-firstview
 * ========================================================================== */
.limited-firstview {
  overflow: hidden;
  position: relative;
  padding: 300px 20px;
}

@media only screen and (max-width: 767px) {
  .limited-firstview {
    padding: 200px 20px 100px;
  }
}

.limited-firstview>* {
  position: relative;
  z-index: 3;
}

.limited-firstview #loginForm {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  display: block;
  width: min(100%, 320px);
  margin: 45px auto 0;
  padding-right: 36px;
  border-bottom: #527c87 solid 1px;
}

@media only screen and (max-width: 767px) {
  .limited-firstview #loginForm {
    margin-top: 35px;
  }
}

.limited-firstview #password {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  display: block;
  width: 100%;
  height: 36px;
  margin: 0;
  padding: 2px 0;
  background: none;
  border: none;
  border-radius: 0;
  font-size: 16px;
  letter-spacing: 0.1em;
  font-family: YakuHanMP_Noto, "Times New Roman", "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
  font-weight: 400;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  z-index: 1;
}

.limited-firstview #login-btn {
  position: absolute;
  top: 0;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 36px;
  height: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  background-color: #527c87;
  line-height: 0;
  z-index: 2;
}

.limited-firstview #login-btn img {
  width: 15px;
  height: auto;
}

.limited-firstview .entry_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 15px;
  height: 54px;
  width: min(100%, 220px);
  margin: 35px auto 0;
  color: #fff;
  font-size: 16px;
  text-decoration: none;
  background-color: #527c87;
}

.limited-firstview .entry_btn figure {
  width: 17px;
  line-height: 0;
}

.limited-firstview__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.limited-firstview__bg::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background-color: #212121;
  opacity: 0.8;
  z-index: 2;
}

.limited-firstview__bg img {
  position: relative;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.limited-firstview__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-bottom: 80px;
  color: #fff;
  text-align: center;
}

.limited-firstview__title__en {
  font-size: 42px;
  letter-spacing: 0.26em;
}

@media only screen and (max-width: 767px) {
  .limited-firstview__title__en {
    font-size: 30px;
  }
}

.limited-firstview__title__ja {
  font-size: 22px;
  letter-spacing: 0.2em;
}

@media only screen and (max-width: 767px) {
  .limited-firstview__title__ja {
    font-size: 18px;
  }
}

.limited-firstview__title__ja span {
  display: inline-block;
}

.limited-firstview__lead {
  margin: 80px 0 0;
  color: #fff;
  font-size: 22px;
  line-height: 2.7273;
  letter-spacing: 0.2em;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .limited-firstview__lead {
    font-size: 16px;
    text-align: left;
    line-height: 2;
  }
}

/*************************************************

limited-common-leadtext

*************************************************/
.limited-common-leadtext {
  font-size: 15px;
  line-height: 2.1;
  text-align: center;
  letter-spacing: 0.2em;
}

@media only screen and (max-width: 767px) {
  .limited-common-leadtext {
    font-size: 14px;
    text-align: left;
    letter-spacing: 0.1em;
  }
}

/*************************************************

limited-flow

*************************************************/
.limited-flow {
  padding: 120px 20px;
}

.limited-flow .limited-common-leadtext {
  margin-bottom: 100px;
}

@media only screen and (max-width: 767px) {
  .limited-flow .limited-common-leadtext {
    margin-bottom: 40px;
  }
}

@media only screen and (max-width: 767px) {
  .limited-flow {
    padding: 60px 20px;
  }
}

.limited-flow__title {
  margin-bottom: 50px;
  text-align: center;
}

/* limited-flow_step
---------------------------------------------*/
.limited-flow_step {
  overflow: hidden;
  position: relative;
  max-width: 1230px;
  margin: 0 auto;
  padding-bottom: 180px;
}

@media only screen and (max-width: 767px) {
  .limited-flow_step {
    padding-bottom: 60px;
  }
}

.limited-flow_step::before {
  position: absolute;
  top: 0;
  left: 62px;
  display: block;
  content: "";
  width: 1px;
  height: 100%;
  background-color: #333333;
  z-index: 1;
}

@media only screen and (max-width: 767px) {
  .limited-flow_step::before {
    display: none;
  }
}

.limited-flow_step__meta {
  position: relative;
  z-index: 2;
}

@media only screen and (min-width: 768px) {
  .limited-flow_step__meta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

.limited-flow_step__meta__label {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 124px;
  height: auto;
  color: #fff;
  background-color: #7e8182;
  line-height: 1;
}

@media only screen and (min-width: 768px) {
  .limited-flow_step__meta__label {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    aspect-ratio: 1/1;
  }
}

@media only screen and (max-width: 767px) {
  .limited-flow_step__meta__label {
    width: auto;
    height: 36px;
    margin-bottom: 20px;
    padding-left: 10px;
  }
}

.limited-flow_step__meta__label__text {
  font-size: 20px;
  letter-spacing: 0.2em;
}

@media only screen and (max-width: 767px) {
  .limited-flow_step__meta__label__text {
    margin-right: 5px;
    font-size: 11px;
  }
}

.limited-flow_step__meta__label__num {
  font-size: 50px;
}

@media only screen and (max-width: 767px) {
  .limited-flow_step__meta__label__num {
    font-size: 15px;
  }
}

.limited-flow_step__meta__letters {
  width: calc(100% - 175px);
  padding-top: 5px;
}

@media only screen and (max-width: 767px) {
  .limited-flow_step__meta__letters {
    width: auto;
  }
}

.limited-flow_step__meta__letters__label {
  padding-bottom: 5px;
  margin-bottom: 5px;
  font-size: 22px;
  letter-spacing: 0.2em;
  border-bottom: #0c0c0c solid 1px;
}

@media only screen and (max-width: 767px) {
  .limited-flow_step__meta__letters__label {
    font-size: 14px;
  }
}

.limited-flow_step__meta__letters__title {
  font-size: 40px;
  letter-spacing: 0.2em;
}

@media only screen and (max-width: 767px) {
  .limited-flow_step__meta__letters__title {
    font-size: 16px;
  }
}

.limited-flow_step__body {
  margin-top: 40px;
  padding-left: 175px;
}

@media only screen and (min-width: 768px) {
  .limited-flow_step__body {
    display: block !important;
  }
}

@media only screen and (max-width: 767px) {
  .limited-flow_step__body {
    display: none;
    margin-top: 20px;
    padding-left: 0;
  }
}

.limited-flow_step__body__text {
  font-size: 15px;
  line-height: 1.5333;
  letter-spacing: 0.2em;
}

@media only screen and (max-width: 767px) {
  .limited-flow_step__body__text {
    font-size: 14px;
  }
}

.limited-flow_step__gray {
  margin-bottom: 70px;
  padding: 20px 40px;
  background-color: #f2f2f2;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 0.2em;
}

@media only screen and (max-width: 767px) {
  .limited-flow_step__gray {
    margin-bottom: 40px;
    padding: 15px 10px;
    font-size: 14px;
  }
}

.limited-flow_step__gray__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  font-size: 24px;
}

@media only screen and (max-width: 767px) {
  .limited-flow_step__gray__title {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    font-size: 16px;
  }
}

.limited-flow_step__gray__title small {
  font-size: 0.75em;
  letter-spacing: 0.1em;
}

@media only screen and (max-width: 767px) {
  .limited-flow_step__gray__title small {
    font-size: 14px;
  }
}

.limited-flow_step__gray__text {
  margin-top: 5px;
}

@media only screen and (max-width: 767px) {
  .limited-flow_step__gray__text {
    margin-top: 0;
  }
}

.limited-flow_step__body__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  margin: 70px 0 20px;
  padding-bottom: 5px;
  border-bottom: #ccd5d6 solid 1px;
}

@media only screen and (max-width: 767px) {
  .limited-flow_step__body__title {
    margin: 40px 0 20px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

.limited-flow_step__body__title__en {
  margin-right: 10px;
  font-size: 27px;
  letter-spacing: 0.12em;
}

@media only screen and (max-width: 767px) {
  .limited-flow_step__body__title__en {
    font-size: 16px;
  }
}

.limited-flow_step__body__title__ja {
  font-size: 15px;
  letter-spacing: 0.2em;
}

@media only screen and (max-width: 767px) {
  .limited-flow_step__body__title__ja {
    font-size: 14px;
  }
}

.limited-flow_step__body__slider {
  position: relative;
}

@media only screen and (min-width: 768px) {
  .limited-flow_step__body__slider .swiper-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 40px;
    width: 100%;
  }

  .limited-flow_step__body__slider .swiper-wrapper.is-4 {
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 20px;
  }

  .limited-flow_step__body__slider .swiper-slide {
    -ms-flex-negative: 1;
    flex-shrink: 1;
  }
}

@media only screen and (max-width: 767px) {
  .limited-flow_step__body__slider {
    padding: 0 55px;
  }
}

@media only screen and (max-width: 767px) {
  .limited-flow_step__body__slider__item {
    margin: 0 10px;
  }
}

.limited-flow_step__body__slider__item__photo {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 323/180;
  margin-bottom: 12px;
  line-height: 0;
}

@media only screen and (min-width: 768px) {
  .limited-flow_step__body__slider__item__photo::before {
    position: absolute;
    top: 0;
    right: -40px;
    width: 40px;
    height: 100%;
    display: block;
    content: "";
    background: url(../../contents/img/top/arw01.svg) no-repeat center center/13px auto;
  }

  .is-4 .limited-flow_step__body__slider__item__photo::before {
    right: -20px;
    width: 20px;
    background-size: 6px;
  }

  .is-4 .limited-flow_step__body__slider__item__photo {
    aspect-ratio: 247/180;
  }
}

.limited-flow_step__body__slider__item__photo img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.limited-flow_step__body__slider__item__photo figcaption {
  line-height: 1.3;
}

@media only screen and (max-width: 767px) {

  .target_slider1__button,
  .target_slider2__button {
    position: absolute;
    top: 0;
    width: 25px;
    height: 25px;
    margin-top: 14%;
    background: url(../../contents/img/top/slide_arw.svg) no-repeat center center/25px auto;
    cursor: pointer;
    z-index: 10;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }

  .target_slider1__button.is-prev,
  .target_slider2__button.is-prev {
    left: 10px;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }

  .target_slider1__button.is-next,
  .target_slider2__button.is-next {
    right: 10px;
  }

  .target_slider1__button.swiper-button-disabled,
  .target_slider2__button.swiper-button-disabled {
    opacity: 0;
  }
}

@media only screen and (max-width: 767px) {

  .target_slider1__pagination,
  .target_slider2__pagination {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 20px;
    line-height: 0;
  }

  .target_slider1__pagination .swiper-pagination-bullet,
  .target_slider2__pagination .swiper-pagination-bullet {
    display: block;
    margin: 0 7px !important;
    border-radius: 0 !important;
    width: 9px;
    height: 9px;
    background-color: #b5b5b5;
  }

  .target_slider1__pagination .swiper-pagination-bullet-active,
  .target_slider2__pagination .swiper-pagination-bullet-active {
    background-color: #0c0c0c;
  }
}

.limited-flow_step__body__contents {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 40px;
}

@media only screen and (max-width: 767px) {
  .limited-flow_step__body__contents {
    margin: 0 25px;
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

.limited-flow_step__body__contents__photo {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 323/180;
  margin-bottom: 12px;
  line-height: 0;
}

.limited-flow_step__body__contents__photo img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

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

@media only screen and (max-width: 767px) {
  .limited-flow_step2__flex01 {
    display: block;
  }
}

.limited-flow_step2__flex01__box01 {
  width: 30.4761904762%;
  font-size: 18px;
}

@media only screen and (max-width: 767px) {
  .limited-flow_step2__flex01__box01 {
    width: auto;
    margin-bottom: 30px;
    font-size: 14px;
  }
}

.limited-flow_step2__flex01__box02 {
  width: 64.2857142857%;
  font-size: 15px;
}

@media only screen and (max-width: 767px) {
  .limited-flow_step2__flex01__box02 {
    width: auto;
    font-size: 14px;
  }
}

.limited-flow_step2__flex01__box02 li {
  position: relative;
  padding-left: 1em;
}

.limited-flow_step2__flex01__box02 li::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  content: "※";
}

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

@media only screen and (max-width: 767px) {
  .limited-flow_step3__flex01 {
    display: block;
  }
}

.limited-flow_step3__flex01__letters {
  width: 63.8095238095%;
  font-size: 18px;
}

@media only screen and (max-width: 767px) {
  .limited-flow_step3__flex01__letters {
    width: auto;
    margin-bottom: 30px;
    font-size: 14px;
  }
}

.limited-flow_step3__flex01__letters small {
  display: block;
  font-size: 0.72222em;
}

.limited-flow_step3__flex01__image {
  width: 32.380952381%;
  line-height: 0;
}

@media only screen and (max-width: 767px) {
  .limited-flow_step3__flex01__image {
    width: auto;
    margin: 0 40px;
  }
}

.limited-flow_step__accordionbtn {
  display: none;
}

@media only screen and (max-width: 767px) {
  .limited-flow_step__accordionbtn {
    display: block;
    padding: 10px 0;
    text-align: center;
    cursor: pointer;
  }

  .limited-flow_step__accordionbtn img {
    width: 25px;
    height: auto;
  }

  .limited-flow_step__accordionbtn.is-open {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }
}

/*************************************************

limited-sidenavi

*************************************************/
.limited-sidenavi {
  position: fixed;
  top: 150px;
  left: 0;
  padding: 50px 35px;
  z-index: 80;
  background-color: #e3e7e8;
  -webkit-transition: -webkit-transform 0.5s;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
}

.limited-sidenavi.is-start {
  -webkit-transform: translateX(0);
  transform: translateX(0);
}

@media only screen and (max-width: 767px) {
  .limited-sidenavi {
    display: none;
  }
}

.limited-sidenavi__close-btn {
  width: 30px;
  height: 30px;
  position: absolute;
  top: 20px;
  right: 20px;
  transition: 0.5s;
  z-index: 2;
  cursor: pointer;
}

.limited-sidenavi__close-btn:hover {
  opacity: 0.7;
}

.limited-sidenavi__close-btn::before,
.limited-sidenavi__close-btn::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 50%;
  left: 0;
  background: #151515;
}

.limited-sidenavi__close-btn::before {
  transform: translateY(-50%) rotate(45deg);
}

.limited-sidenavi__close-btn::after {
  transform: translateY(-50%) rotate(-45deg);
}

.limited-sidenavi__list__item+.limited-sidenavi__list__item {
  margin-top: 20px;
}

.limited-sidenavi__list__item__anchor {
  position: relative;
  display: block;
  padding-left: 15px;
  font-size: 18px;
  letter-spacing: 0.1em;
  text-decoration: none;
  line-height: 1.3;
  opacity: 0.3;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.limited-sidenavi__list__item__anchor.is-new::after {
  display: block;
  position: absolute;
  left: 0;
  top: -1.6em;
  content: "NEW";
  font-size: 11px;
  color: #fff;
  background: #975e5e;
  padding: 0 4px;
  width: fit-content;
}

.limited-sidenavi__list__item__anchor.is-active {
  opacity: 1;
}

.limited-sidenavi__list__item__anchor::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  content: "";
  width: 1px;
  height: 100%;
  background-color: #657a7f;
}

.limited-sidenavi__child {
  padding-left: 35px;
  margin-top: 10px;
}

.limited-sidenavi__child__item {
  position: relative;
  opacity: 0.3;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.limited-sidenavi__child__item.is-active {
  opacity: 1;
}

.limited-sidenavi__child__item.is-active::before {
  opacity: 1;
}

.limited-sidenavi__child__item.is-04.is-active::before {
  opacity: 0;
}

.limited-sidenavi__child__item::before {
  position: absolute;
  top: 5px;
  left: -15px;
  display: block;
  content: "";
  border-top: transparent solid 6px;
  border-bottom: transparent solid 6px;
  border-left: #657a7f solid 6px;
  opacity: 0;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.limited-sidenavi__child__item+.limited-sidenavi__child__item {
  margin-top: 15px;
}

.limited-sidenavi__child__anchor {
  position: relative;
  display: block;
  padding-left: 1.5em;
}

.limited-sidenavi__child__anchor span {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
}

/*************************************************

limitedplan-contents__room

*************************************************/
.limitedplan-contents__title01 {
  margin-bottom: 30px;
  text-align: center;
  overflow-x: hidden;
}

.limitedplan-contents.bg01 {
  padding: 120px 15px;
  background-color: #c9d2db;
}

@media only screen and (max-width: 767px) {
  .limitedplan-contents.bg01 {
    padding: 60px 15px;
  }
}

.limitedplan-contents.bg02 {
  padding: 120px 15px;
  background-color: #efefef;
}

@media only screen and (max-width: 767px) {
  .limitedplan-contents.bg02 {
    padding: 60px 15px;
  }
}

.limitedplan-contents__badge__title {
  font-size: 22px;
  letter-spacing: 0.2em;
  text-align: center;
  margin-top: 40px;
}

@media only screen and (max-width: 767px) {
  .limitedplan-contents__badge__title {
    font-size: 18px;
  }
}

.limitedplan-contents__badge ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 5px;
  margin-top: 20px;
}

.limitedplan-contents__badge ul li {
  padding: 5px 15px;
  border-radius: 20px;
  font-size: 14px;
  background: #295361;
  color: #ffffff;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .limitedplan-contents__badge ul li {
    font-size: 16px;
  }
}

.plan-contents__room_area {
  width: calc(100% - 40px);
  max-width: 960px;
  margin-inline: auto;
  margin-top: 110px;
  padding-bottom: 28px;
  border-bottom: 1px solid #CDCDCD;
}

.plan-contents__room_area--special {
  padding-bottom: 0;
  border-bottom: none;
}

.plan-contents__room_area+.plan-contents__room_area {
  margin-top: 40px;
}

.plan-contents__room__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 30px;
  row-gap: 40px;
  margin-top: 10px;
}

.plan-contents__room__list--special {
  display: flex;
  justify-content: center;
  margin: 168px calc(50% - 50vw) 0;
}

.plan-contents__room__list_title {
  font-size: 30px;
}

.plan_room_item {
  display: block;
  padding: 20px;
  padding-bottom: 34px;
  background-color: #C9DBDF;
  text-decoration: none;
  position: relative;
}

.plan_room_item.sold {
  pointer-events: none;
}

.plan_room_item.sold::before {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  left: 0;
  top: 0;
  position: absolute;
  z-index: 1;
}

.plan_room_item.sold::after {
  color: #fff;
  font-size: 3rem;
  content: "完売しました";
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  position: absolute;
  z-index: 2;
  width: 100%;
  text-align: center;
}

.plan_room_item.ldk_color {
  /* background: #DBCCAD; */
  color: #fff;
  background-image: linear-gradient(180deg, #3f3d39e6 0%, #000000e6 100%);
  padding: 30px 40px;
}

.plan_room_item.p-content {
  width: 100%;
  background-color: #2A2625;
  position: relative;
  padding: 151px 0 137px;
  z-index: -1;
}

.plan_room_item.p-content::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/plan/premium_bg.png) no-repeat center center/cover;
  z-index: 0;
}

.plan_room_item.p-content .p-content__container {
  position: relative;
  max-width: 1112px;
  width: 100%;
  padding: 0 15px;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.plan_room_item.p-content .p-content__head {
  width: 100%;
  padding-bottom: 32px;
  position: relative;
}

.plan_room_item.p-content .p-content__head::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 2px;
  background-image: linear-gradient(90deg, transparent, #F8E7C2 30%,
      #F8E7C2 70%, transparent 100%);
}

.plan_room_item.p-content .p-content__head p {
  color: #F8E7C2;
  text-align: center;
  letter-spacing: 0.4em;
  font-size: 26px;
}

.plan_room_item.p-content .p-content__body {
  margin-top: 40px;
}

.plan_room_item.p-content .p-content__title {
  font-size: 42px;
  letter-spacing: 0.2em;
  line-height: 1.2;
  color: #F8E7C2;
  text-align: center;
}

.plan_room_item.p-content .p-content__title span {
  font-size: 32px;
}

.plan_room_item.p-content .p-content__detail {
  margin-top: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 24px;
}

.plan_room_item.p-content .p-content__detail-floor {
  font-size: 30px;
  letter-spacing: 0.1em;
  color: #F8E7C2;
}

.plan_room_item.p-content .p-content__detail-floor .strong_text {
  font-size: 38px;
}

.plan_room_item.p-content .p-content__detail-floor .small_text {
  font-size: 20px;
}

.plan_room_item.p-content .p-content__detail-line {
  position: relative;
  height: 45.5px;
  width: 45.5px;
  display: block;
  margin-top: 5px;
}

.plan_room_item.p-content .p-content__detail-line::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  height: 1px;
  background-color: #F8E7C2;
  transform: translate(-50%, -50%) rotate(-45deg);
}

.plan_room_item.p-content .p-content__detail-area {
  font-size: 16px;
  letter-spacing: 0.1em;
  color: #F8E7C2;
}

.plan_room_item.p-content .p-content__detail-area .strong_text {
  font-size: 34px;
}

.plan_room_item.p-content .p-content__button {
  margin-top: 55px;
  text-align: center;
  width: 100%;
}

.plan_room_item.p-content .p-content__button a {
  padding: 20px 0;
  display: block;
  width: 100%;
  font-size: 26px;
  letter-spacing: 0.1em;
  color: #2A2625;
  background-image: linear-gradient(90deg, #c7a67e, #ebdac5 50%, #c7a67e);
  position: relative;
  transition: 0.5s;
}

.plan_room_item.p-content .p-content__button a:hover {
  opacity: 0.5;
}

.plan_room_item.p-content .p-content__button a::after {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 37.3px;
  width: 26px;
  height: 26px;
  background: url(../img/plan/premium_icon.svg) no-repeat center center / contain;
}

.plan_room_item_label_wrap {
  position: absolute;
  right: 10px;
  top: 10px;
  display: flex;
  column-gap: 5px;
}

.plan_room_item_cap {
  position: absolute;
  bottom: 5px;
  right: 5px;
  color: #fff;
  content: "";
  text-shadow: 1px 1px 2px #000;
  z-index: 3;
}

.label_item {
  font-size: 11px;
  letter-spacing: 0.05em;
  line-height: 1;
  text-align: center;
  color: #fff;
  background-color: #464646;
  padding: 5px 10px;
}

.label_item.label_new {
  background-color: #A28F41;
}

.label_item.label_last {
  background-color: #7B262C;
}

.plan_room_item_head {
  display: flex;
  align-items: center;
  column-gap: 20px;
  border-bottom: 1px solid #303C52;
  margin-bottom: 10px;
}

.plan_room_item_title {
  color: #303C52;
  font-size: 32px;
  letter-spacing: 0.02em;
}

.plan_room_item_title .strong_text {
  font-size: 58px;
  line-height: 0.8;
}

.plan_room_item_lead01 {
  font-size: 30px;
  color: #303C52;
  letter-spacing: 0.02em;
  line-height: 0.8;
}

.plan_room_item_lead01 .strong_text {
  font-size: 38px;
}

.plan_room_item_lead01 .small_text {
  font-size: 20px;
}

.plan_room_item_lead02 {
  color: #303C52;
  font-size: 22px;
  letter-spacing: 0.03em;
}

.plan_room_item_lead02 .small_text {
  font-size: 16px;
}

.plan_room_item_lead02 .strong_text {
  font-size: 34px;
}

.plan_room_item_bottom {
  display: flex;
  justify-content: space-between;
  align-items: end;
  column-gap: 10px;
}

.plan_room_item_point {
  max-width: 254px;
}

.plan_room_item_point ul {
  width: 100%;
  max-width: 300px;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.plan_room_item_point ul li {
  padding: 3px 10px;
  border: 1px solid #303C52;
  border-radius: 20px;
  color: #303C52;
  font-size: 12px;
  line-height: 1;
}

.plan_room_item_btn_wrap {
  position: absolute;
  right: 10px;
  bottom: 10px;
  width: 100%;
  max-width: 118px;
}

.plan_room_item_btn {
  position: relative;
  width: 100%;
  text-align: left;
  font-size: 12px;
  letter-spacing: 0.05em;
  line-height: 1;
  padding-block: 11px;
  padding-left: 10px;
  background-color: #fff;
  transition: 0.5s;
}

.plan_room_item_btn::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  background: url(../../common/img/plan/icon_plan.svg) no-repeat center center / contain;
  width: 18px;
  height: 18px;
}

.plan_room_item_btn:hover {
  opacity: 0.5;
}

.plan-contents__room__list__note {
  font-size: 11px;
  line-height: 1.5em;
  width: calc(100% - 40px);
  max-width: 1200px;
  margin: 30px auto 0;
}

.plan_room_item.sold-out {
  pointer-events: none;
}

.plan_room_item.sold-out::before {
  display: block;
  content: '';
  background-color: #20202088;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.plan_room_item.sold-out::after {
  display: block;
  content: '完売御礼';
  color: #fff;
  font-size: clamp(16px, 3.5vw, 36px);
  letter-spacing: 0.05em;
  padding: 0.2em 0.4em;
  background-color: #7B262C;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}

.plan_room_item.sold-out .plan_room_item_label_wrap {
  display: none;
}

@media only screen and (max-width:1170px) {
  .plan-contents__room__list {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media only screen and (max-width:768px) {
  .plan-contents__room_area {
    margin-top: 60px;
    padding-bottom: 18px;
  }

  .plan-contents__room_area+.plan-contents__room_area {
    margin-top: 20px;
  }

  .plan-contents__room__list {
    column-gap: 14px;
    row-gap: 22px;
    margin-top: 10px;
  }

  .plan-contents__room__list_title {
    font-size: 26px;
  }

  .plan_room_item {
    padding-bottom: 34px;
  }

  .plan_room_item.sold::after {
    font-size: 2rem;
  }

  .plan_room_item_label_wrap {
    top: -10px;
  }

  .plan_room_item_head {
    padding-bottom: 8px;
    margin-bottom: 3px;
  }

  .plan_room_item_title {
    font-size: 26px;
  }

  .plan_room_item_title .strong_text {
    font-size: 42px;
    line-height: 0.8;
  }

  .plan_room_item_lead01 {
    font-size: 24px;
    line-height: 1;
  }

  .plan_room_item_lead01 .strong_text {
    font-size: 32px;
  }

  .plan_room_item_lead01 .small_text {
    display: block;
    font-size: 16px;
  }

  .plan_room_item_lead02 {
    font-size: 18px;
  }

  .plan_room_item_lead02 .small_text {
    font-size: 14px;
  }

  .plan_room_item_lead02 .strong_text {
    font-size: 28px;
    padding-left: 3px;
  }

  .plan_room_item_point {
    display: none;
  }

  .plan_room_item_btn_wrap {
    max-width: 110px;
  }

  .plan_room_item_btn {
    font-size: 11px;
    padding-block: 8px;
    padding-left: 8px;
  }

  .plan_room_item_btn::after {
    right: 10px;
    width: 15px;
    height: 14px;
  }

  .plan_room_item_btn:hover {
    opacity: 0.5;
  }

  .plan-contents__room__list__note {
    font-size: 11px;
    line-height: 1.5em;
    max-width: 1200px;
    margin: 30px auto 0;
  }

  .plan-contents__room__list--special {
    margin: 80px calc(50% - 50vw) 0;
  }

  .plan_room_item.p-content {
    padding: 70px 0 60px;
    z-index: -1;
  }

  .plan_room_item.p-content .p-content__head {
    width: 100%;
    padding-bottom: 16px;
    position: relative;
  }

  .plan_room_item.p-content .p-content__head::after {
    height: 1px;
  }

  .plan_room_item.p-content .p-content__head p {
    letter-spacing: 0.15em;
    font-size: 16px;
  }

  .plan_room_item.p-content .p-content__body {
    margin-top: 20px;
  }

  .plan_room_item.p-content .p-content__title {
    font-size: 28px;
    letter-spacing: 0.2em;
    line-height: 1;
  }

  .plan_room_item.p-content .p-content__title span {
    font-size: 18px;
  }

  .plan_room_item.p-content .p-content__detail {
    margin-top: 9px;
    column-gap: 2px;
  }

  .plan_room_item.p-content .p-content__detail-floor {
    font-size: 16px;
    letter-spacing: 0.1em;
    color: #F8E7C2;
  }

  .plan_room_item.p-content .p-content__detail-floor .strong_text {
    font-size: 24px;
  }

  .plan_room_item.p-content .p-content__detail-floor .small_text {
    font-size: 14px;
  }

  .plan_room_item.p-content .p-content__detail-line {
    position: relative;
    height: 18px;
    width: 18px;
    display: block;
  }

  .plan_room_item.p-content .p-content__detail-area {
    font-size: 14px;
    letter-spacing: 0.1em;
    color: #F8E7C2;
  }

  .plan_room_item.p-content .p-content__detail-area .strong_text {
    font-size: 24px;
  }

  .plan_room_item.p-content .p-content__button {
    margin-top: 30px;
  }

  .plan_room_item.p-content .p-content__button a {
    padding: 15px 0;
    font-size: 14px;
    letter-spacing: 0.1em;
  }

  .plan_room_item.p-content .p-content__button a::after {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 10px;
    width: 18px;
    height: 18px;
    background: url(../img/plan/premium_icon.svg) no-repeat center center / contain;
  }
}

@media only screen and (max-width:480px) {
  .plan-contents__room__list {
    column-gap: 10px;
  }

  .plan-contents__room__list_title {
    font-size: 26px;
  }

  .plan_room_item {
    padding: 14px;
    padding-bottom: 34px;
  }

  .plan_room_item_head {
    align-items: end;
    padding-bottom: 6px;
    margin-bottom: 3px;
    column-gap: 14px;
  }

  .plan_room_item_title {
    font-size: 18px;
  }

  .plan_room_item_title .strong_text {
    font-size: 26px;
    line-height: 0.8;
  }

  .plan_room_item_lead01 {
    font-size: 20px;
    line-height: 1;
  }

  .plan_room_item_lead01 .strong_text {
    font-size: 20px;
  }

  .plan_room_item_lead01 .small_text {
    display: block;
    font-size: 13px;
  }

  .plan_room_item_lead02 {
    font-size: 14px;
  }

  .plan_room_item_lead02 .small_text {
    font-size: 12px;
  }

  .plan_room_item_lead02 .strong_text {
    font-size: 20px;
    padding-left: 4px;
  }

  .plan_room_item_btn_wrap {
    max-width: 90px;
    right: 6px;
    bottom: 6px;
  }

  .plan_room_item_btn {
    font-size: 10px;
    padding-block: 6px;
    padding-left: 6px;
  }

  .plan_room_item_btn::after {
    right: 6px;
    width: 12px;
    height: 12px;
  }

  .plan_room_item_btn:hover {
    opacity: 0.5;
  }

  .plan-contents__room__list__note {
    font-size: 11px;
    line-height: 1.5em;
    max-width: 1200px;
    margin: 30px auto 0;
  }
}

.limitedplan-contents__moviearea {
  margin-top: 80px;
  margin-inline: auto;
  width: calc(100% - 40px);
}

.limitedplan-contents-movie {
  width: min(800px, 100%);
  margin-inline: auto;
}

.limitedplan-contents-movie iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  border: 1px solid #ccc;
}

@media only screen and (max-width:767px) {
  .limitedplan-contents__moviearea {
    margin-top: 40px;
  }
}

/*************************************************

gallery-area

*************************************************/
.gallery-area {
  margin: 0 auto 0;
  padding-top: 140px;
  padding-bottom: 60px;
  width: min(1366px, 100% - 40px);
}

@media only screen and (max-width: 767px) {
  .gallery-area {
    padding-top: 60px;
    padding-bottom: 40px;
  }
}

.gallery-area__title {
  margin-bottom: 60px;
  text-align: center;
}

.slider-nav {
  margin-bottom: 40px;
}

@media only screen and (max-width: 767px) {
  .slider-nav {
    margin-bottom: 20px;
  }
}

.slider-nav li {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 10px;
  opacity: 0.5;
}

.slider-nav li picture {
  overflow: hidden;
  position: relative;
  display: block;
  aspect-ratio: 24/14;
}

@media only screen and (max-width: 767px) {
  .slider-nav li picture {
    aspect-ratio: 22/14;
  }
}

.slider-nav li picture.is-fit img {
  -o-object-fit: contain;
  object-fit: contain;
}

.slider-nav li picture img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

@media only screen and (max-width: 767px) {
  .slider-nav li {
    margin-left: 10px;
  }
}

.slider-nav .slick-current {
  opacity: 1;
}

.slick-prev {
  left: 0px;
  z-index: 3;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: #fff;
}

.slick-prev:hover {
  background-color: #fff;
}

@media only screen and (max-width: 767px) {
  .slick-prev {
    left: 10px;
    width: 40px;
    height: 40px;
  }
}

.slick-next {
  right: 0px;
  z-index: 3;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: #fff;
}

.slick-next:hover {
  background-color: #fff;
}

@media only screen and (max-width: 767px) {
  .slick-next {
    right: 10px;
    width: 40px;
    height: 40px;
  }
}

.slick-prev:before,
.slick-next:before {
  display: none;
  font-size: 30px;
}

@media only screen and (max-width: 767px) {

  .slick-prev:before,
  .slick-next:before {
    font-size: 20px;
  }
}

.slick-prev::after,
.slick-next::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  content: "";
  width: 15px;
  height: 15px;
  border-top: 4px solid #000;
  border-right: 4px solid #000;
}

.slick-prev::after {
  margin: -7px 0 0 -5px;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}

.slick-next::after {
  margin: -7px 0 0 -10px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.slider-for .slick-slide {
  position: relative;
}

.slider-for .slick-slide picture {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1366/780;
}

.slider-for .slick-slide picture.is-fit img {
  -o-object-fit: contain;
  object-fit: contain;
}

.slider-for .slick-slide picture img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.slider-for .slick-slide .in-cap {
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 3px 10px;
  color: #fff;
  font-size: 10px;
  background-color: #000;
  z-index: 2;
}

.gallery-area .back {
  text-align: center;
}

.gallery-area .back a {
  display: inline-block;
  padding: 20px;
  background: #fff;
  border: 1px solid #295361;
  margin-top: 80px;
  color: #295361;
  min-width: 335px;
  transition: 0.4s all ease;
}

@media screen and (max-width: 767px) {
  .gallery-area .back a {
    margin-top: 60px;
    width: 100%;
    padding: 15px;
    min-width: unset;
  }
}

/* movie-area
--------------------------- */
.movie-area {}

.movie-area__inner {
  width: min(1200px, 100%);
  margin-inline: auto;
  margin-top: 60px;
}

.movie-area__inner figure {
  width: fit-content;
  margin-inline: auto;
}

@media only screen and (max-width:768px) {
  .movie-area__inner {
    margin-top: 20px;
  }
}

/* limited-project
------------------------------- */
.limited-project {
  padding: 120px 20px;
  border-top: 1px solid #ccc;
}

.limited-project__contents-movie {
  width: min(900px, 100%);
  margin-inline: auto;
}

.limited-project__contents-movie iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  border: 1px solid #ccc;
}

.limited-project .smallWrap {
  width: calc(100% - 200px);
  max-width: 1200px;
  margin: 0 auto;
  padding-top: 120px;
}

.limited-project ul {
  display: flex;
  justify-content: space-between;
}

.limited-project ul li {
  width: 100%;
  display: flex;
}

.limited-project ul li .imgWrap {
  width: 50%;
}

.limited-project ul li .imgWrap figure {
  width: 100%;
  height: 100%;
}

.limited-project ul li .imgWrap figure img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.limited-project .img-caps {
  position: absolute;
  bottom: 0;
  right: 0;
  font-size: 10px;
  font-family: 'Noto Serif JP', serif;
  line-height: 1;
  padding: 5px 5px 6px 6px;
  color: #fff;
  letter-spacing: -.02em;
  z-index: 5;
  text-align: right;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
}

.limited-project .img-caps.shadow {
  color: #fff;
  text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.8), 0px 0px 4px rgba(0, 0, 0, 0.8), 0px 0px 7px rgba(0, 0, 0, 0.8);
}

.limited-project ul li .txtWrap {
  background: #E8E6E1;
  padding: 60px 40px;
  width: 50%;
}

.limited-project ul li .txtWrap .en {
  margin-bottom: 40px;
}

.limited-project h4.leadCopy {
  font-size: clamp(16px, 1.2vw, 24px);
  line-height: 1.7;
  margin-bottom: 15px;
  font-family: YakuHanMP_Noto, 'Bodoni Moda', A1 Mincho, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
}

.limited-project ul li .txtWrap .leadCopy {
  color: #295361;
}

.limited-project p.bodyCopy {
  font-size: clamp(12px, 0.9vw, 16px);
  line-height: 2;
}

.limited-project ul li .txtWrap a {
  display: block;
  width: 60%;
  max-width: 320px;
  max-width: none;
  padding: 20px;
  color: #fff;
  background: #295361;
  margin-top: 40px;
  transition: 0.4s all ease;
  text-align: center;
}

.limited-project .back {
  text-align: center;
}

.limited-project .back a {
  display: inline-block;
  padding: 20px;
  background: #fff;
  border: 1px solid #6A9F8E;
  margin-top: 80px;
  color: #6A9F8E;
  min-width: 335px;
  transition: 0.4s all ease;
}

@media screen and (max-width: 767px) {

  .limited-project {
    padding: 60px 20px;
  }

  .limited-project .smallWrap {
    width: 100%;
    padding-top: 60px;
  }

  .limited-project ul {
    flex-direction: column;
    gap: 20px;
  }

  .limited-project ul li {
    display: block;
  }

  .limited-project ul li .imgWrap {
    width: 100%;
  }

  .limited-project ul li .txtWrap {
    width: 100%;
    padding: 40px 20px 30px;
  }

  .limited-project ul li .txtWrap a {
    margin-top: 20px;
    width: 100%;
  }

  .limited-project .back a {
    margin-top: 60px;
    width: 100%;
    padding: 15px;
    min-width: unset;
  }
}

.property-details {
  padding: 40px;
  max-width: 1200px;
  margin: 70px auto 0;
  border: 1px solid black;
  text-align: center;
}

.property-summary {
  display: inline-block;
  text-align: left;
  margin-bottom: 40px;
  padding-bottom: 30px;
  letter-spacing: 1.6px;
}

.property-summary p {
  font-size: 28px;
  line-height: 1.4;
}


.property-summary .property-title {
  border-top: 1px solid gray;
  margin-top: 40px;
  margin-bottom: 10px;
  padding-top: 40px;
  text-align: center;
}

.property-summary .property-annotion {
  font-size: 12px;
}


.reservation-info {
  margin-bottom: 40px;
  text-align: center;
}

.exclusive-entry {
  font-size: 20px;
  margin-bottom: 20px;
  display: inline-block;
}

.reservation-info .reservation-note {
  font-size: 12px;
  margin-top: 10px;
}

.reservation-button-wrap {
  width: min(800px, 100%);
  margin-inline: auto;
  display: grid;
  /* grid-template-columns: 1fr 1fr; */
  place-items: center;
  gap: min(30px, 3vw);
}

.reservation-button {
  margin-top: 20px;
  background: #28515F;
  color: white;
  font-size: 16px;
  padding: 20px;
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
}

.reservation-button__wrap {
  display: flex;
  justify-content: center;
  align-items: center;
}

.reservation-button--online {
  background: #28515f99;
}

.property-summary .big-text {
  font-size: 38px;
}

.reservation-button i {
  background: url(../img/limited/icon-res-white.svg) no-repeat center / cover;
  width: 24px;
  height: 24px;
  margin-right: 10px;
}

.reservation-button p {
  color: white;
}

.reservation-info p {
  font-size: 20px;
}


@media screen and (max-width: 720px) {
  .property-details {
    padding: 30px 20px;
  }

  .property-summary {
    display: block;
    letter-spacing: 0.6px;
  }

  .property-summary p {
    font-size: 18px;
    font-size: min(3.2vw, 26px);
  }

  .exclusive-entry {
    font-size: 18px;
  }

  .reservation-button-wrap {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .reservation-button {
    font-size: 14px;
  }

  .property-summary .big-text {
    font-size: 36px;
    font-size: min(6.2vw, 36px);
  }

  .reservation-info p {
    font-size: 14px;
  }

  .property-summary .property-annotion {
    font-size: min(1.8vw, 12px);
  }
}

.pdf-button {
  position: relative;
  display: block;
  margin-inline: auto;
  margin-top: 80px;
  background: #4E4E4E;
  color: white !important;
  font-size: 18px;
  letter-spacing: 0.05em;
  text-align: center;
  padding: 20px;
  width: 100%;
  max-width: 500px;
  transition: .3s;
}

.pdf-button::before {
  content: '';
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
  background: url(../../contents/img/top/icon_download02.svg) no-repeat center center / contain;
  width: 32px;
  height: 32px;
}

.pdf-button:hover {
  opacity: .8;
}

@media only screen and (max-width:767px) {
  .pdf-button {
    margin-top: 60px;
    font-size: 14px;
    padding: 16px 0;
    width: 95%;
  }

  .pdf-button::before {
    right: 20px;
    width: 15px;
    height: 15px;
  }
}

/* pdf-area
------------------- */
.pdf-area {
  margin-block: min(100px, 10vw);
  padding-block: min(100px, 10vw);
  background-color: #efefef;
}

.pdf-area__header {
  text-align: center;
  margin-bottom: 20px;
}

.pdf-area__title {
  font-style: italic;
  color: #074276;
}

.pdf-area__body {
  text-align: center;
}

.pdf-area__text {
  font-size: 13px;
  margin-bottom: 40px;
}

.pdf-area__img {
  width: min(1100px, calc(100% - 40px));
  padding-right: 8%;
  margin-inline: auto;
}