@charset "UTF-8";
.pc {
  display: none;
}
@media screen and (min-width: 500px) {
  .pc {
    display: block !important;
  }
}

.sp {
  display: block;
}
@media screen and (min-width: 500px) {
  .sp {
    display: none !important;
  }
}

a:hover {
  opacity: 0.7;
  transition: 0.3s;
}

p {
  line-height: 1.8em;
}

.tel {
  pointer-events: none;
}

html {
  font-size: 0.5208333333vw;
}
@media screen and (max-width: 1480px) {
  html {
    font-size: 8px;
  }
}
@media screen and (min-width: 1920px) {
  html {
    font-size: 10px;
  }
}

/*pc 768px以上*/
@media screen and (min-width: 500px) {
  .contents_wrap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
  .contents_wrap .contents_left {
    background-color: #ddc585;
    min-height: 100vh;
    position: sticky;
    overflow: hidden;
  }
  .contents_wrap .contents_right {
    background-color: #ddc585;
    min-height: 100vh;
    position: sticky;
    overflow: hidden;
  }
  .contents_wrap main {
    min-width: 500px;
    position: relative;
    z-index: 2;
  }
  .contents_wrap .contents_bg {
    max-width: 750px;
  }
}
/*カラー指定*/
body {
  font-family: "Noto Serif JP", "Noto Sans JP", sans-serif;
  color: #1b1b1b;
}

.btn_bg_color {
  background-color: #971414;
}

/*common*/
.common_noto {
  font-family: "Noto Sans JP";
}

.common_btn.reservation_btn {
  width: 100%;
  height: 9rem;
  display: block;
  outline: 1px solid rgba(255, 255, 255, 0.6);
  outline-offset: -5px; /* マイナスにすると内側に入る */
  padding: 2rem 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  box-shadow: 0px 3px 15px 0px rgba(73, 67, 53, 0.5);
}
.common_btn.reservation_btn::before {
  position: absolute;
  content: "";
  border-bottom: 1.5px solid #fff;
  border-right: 1.5px solid #fff;
  transform: rotate(45deg) translateY(-65%);
  top: 50%;
  right: 5.7%;
  width: 10px;
  height: 10px;
}
.common_btn.reservation_btn .reservation_txt {
  color: #fff;
  font-size: 3.4rem;
  font-weight: 500;
  letter-spacing: 0.1rem;
}

.common_inner {
  padding: 0 4%;
}

.common_txt {
  font-size: 2.4rem;
  font-family: "Noto Sans JP";
  font-weight: 500;
  line-height: 1.8;
}
.common_txt .bottom_color {
  color: #bc1818;
  background: linear-gradient(transparent 50%, #fff046 50%);
  font-weight: bold;
}

.common_sec_subttl_wrap {
  position: relative;
  padding-bottom: 5rem;
}
.common_sec_subttl_wrap .en_ttl {
  width: 50.7%;
  margin: 0 auto;
  display: block;
  position: relative;
  z-index: 3;
}
.common_sec_subttl_wrap .sub_ttl {
  position: absolute;
  bottom: 2rem;
  z-index: 2;
}

.common_sec_ttl_wrap {
  position: relative;
  padding-bottom: 3rem;
}
.common_sec_ttl_wrap::before {
  position: absolute;
  content: "";
  background-image: url(../img/common/common_border.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 100%;
  height: 0.8rem;
  bottom: 0;
  left: 0;
}
.common_sec_ttl_wrap .ttl {
  font-size: 3.6rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 376px) {
  .common_sec_ttl_wrap .ttl {
    font-size: 3rem;
  }
}

.common_reservation_wrap {
  position: relative;
  z-index: 10;
}
.common_reservation_wrap .reservation_flex {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.common_reservation_wrap .common_reservation_txt {
  font-size: 4rem;
  font-weight: 600;
  text-align: center;
  line-height: 1.4;
}
@media screen and (max-width: 376px) {
  .common_reservation_wrap .common_reservation_txt {
    font-size: 3rem;
  }
}
.common_reservation_wrap .common_reservation_txt .red {
  color: #971414;
}
.common_reservation_wrap .common_reservation_img {
  width: 20%;
  margin: 1rem 0;
}

/*ヘッダー*/
.hd_bg {
  position: relative;
  z-index: 99;
}
.hd_bg .hd {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}
.hd_bg .hd .hd_logo {
  max-width: 25.8rem;
  width: 40%;
  padding-left: 4%;
}
.hd_bg .hd .hd_right {
  display: flex;
}
.hd_bg .hd .hd_right .tell_wrap {
  aspect-ratio: 1/1;
  width: 7rem;
  height: 7rem;
  background-color: #a6893b;
  position: relative;
  outline: 1px solid rgba(255, 255, 255, 0.6);
  outline-offset: -5px; /* マイナスにすると内側に入る */
  box-shadow: 0px 3px 15px 0px rgba(124, 124, 124, 0.39);
}
.hd_bg .hd .hd_right .tell_wrap:hover {
  opacity: 0.7;
  transition: 0.3s;
}
.hd_bg .hd .hd_right .tell_wrap::before {
  position: absolute;
  content: "";
  background-image: url(../img/common/hd_icon02.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 3rem;
  height: 4.2rem;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.hd_bg .hd .hd_right .tell_wrap .tell_btn {
  display: block;
  width: 100%;
  height: 100%;
}
.hd_bg .hd .hd_right .reservation_wrap {
  max-width: 240px;
  width: 100%;
  display: block;
}
.hd_bg .hd .hd_right .reservation_wrap .reservation_btn {
  height: 7rem;
  box-shadow: 0px 3px 15px 0px rgba(124, 124, 124, 0.39);
}
.hd_bg .hd .hd_right .reservation_wrap .reservation_btn::before {
  right: 12.5%;
}
@media screen and (max-width: 360px) {
  .hd_bg .hd .hd_right .reservation_wrap .reservation_btn {
    padding: 2rem;
  }
}
.hd_bg .hd .hd_right .reservation_wrap .reservation_txt {
  font-size: 2.4rem;
  padding-right: 2rem;
}
@media screen and (max-width: 360px) {
  .hd_bg .hd .hd_right .reservation_wrap .reservation_txt {
    font-size: 2rem;
  }
}

/*mv*/
.mv {
  position: relative;
  padding-top: 2rem;
  padding-bottom: 12rem;
  overflow: hidden;
}
.mv::before {
  position: absolute;
  content: "";
  background-image: url(../img/mv/mv_bg_img.webp);
  background-repeat: no-repeat;
  background-size: cover;
  top: -7rem;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}
.mv .common_inner {
  position: relative;
  z-index: 1;
}
.mv .mv_top_img {
  width: 40%;
  margin-bottom: 1rem;
}
.mv .mv_main_img_wrap {
  position: relative;
  padding: 5rem 4% 3rem 4%;
  padding-top: 5rem;
  padding-bottom: 3rem;
}
.mv .mv_main_img_wrap .mv_main_img01 {
  position: absolute;
  top: 1rem;
  right: 4%;
  width: 45%;
}
.mv .mv_main_img_wrap::before {
  position: absolute;
  content: "";
  background-image: url(../img/mv/mv_img04.webp);
  background-repeat: no-repeat;
  background-size: contain;
  width: 15.5rem;
  height: 18rem;
  bottom: -12px;
  right: 0;
}
.mv .mv_main_img_wrap .mv_main_img02 img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.mv .mv_detail {
  padding: 0 2.9%;
  margin-bottom: 3rem;
}
.mv .mv_detail .mv_detail_txt {
  color: #1b1b1b;
  font-size: 3.2rem;
  font-weight: bold;
  text-align: center;
  border-top: 2px solid #1b1b1b;
  border-bottom: 2px solid #1b1b1b;
  padding: 0.5rem 0;
}
@media screen and (max-width: 376px) {
  .mv .mv_detail .mv_detail_txt {
    font-size: 2.6rem;
  }
}
.mv .mv_period {
  box-shadow: 0px 3px 15px 0px rgba(73, 67, 53, 0.2);
}
.mv .mv_period .period_ttl {
  background-color: #1b1b1b;
  font-size: 3rem;
  font-weight: 600;
  color: #fff;
  text-align: center;
  letter-spacing: 0.3rem;
}
.mv .mv_period .period_day_wrap {
  background-color: #fff;
  padding: 3.25% 14.5% 0 14.5%;
}
.mv .mv_period .period_time_wrap {
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  padding-bottom: 0.5rem;
}
.mv .mv_period .period_time_wrap .period_time {
  font-size: 2.8rem;
  font-weight: 600;
}
.mv .mv_period .period_time_wrap .period_holiday {
  font-size: 1.8rem;
  font-weight: 600;
}

.open_house {
  margin-top: -7rem;
  position: relative;
  padding-top: 5rem;
  padding-bottom: 6rem;
}
.open_house::before {
  background-image: url(../img/openhouse/openhouse_bg_img.webp);
  background-repeat: no-repeat;
  background-size: cover;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  content: "";
  z-index: 0;
}
.open_house .common_inner {
  position: relative;
  z-index: 1;
}
.open_house .open_house_detail .detail_txt {
  padding: 3rem 0 2rem 0;
  font-size: 3.2rem;
  font-weight: 600;
  color: #59462d;
  text-align: center;
}
@media screen and (max-width: 376px) {
  .open_house .open_house_detail .detail_txt {
    font-size: 2.8rem;
  }
}
.open_house .open_house_block_wrap .open_house_block {
  margin-bottom: 5rem;
  box-shadow: 0px 3px 15px 0px rgba(73, 67, 53, 0.2);
}
.open_house .open_house_block_wrap .open_house_block.block03 {
  box-shadow: none;
}
.open_house .open_house_block_wrap .open_house_block.block03 .open_house_block_detail {
  background-color: transparent;
}
.open_house .open_house_block_wrap .open_house_block.block03 .open_house_block_detail .block_in_ttl .ttl {
  color: #624917;
  text-align: left;
  font-size: 5rem;
}
@media screen and (max-width: 500px) {
  .open_house .open_house_block_wrap .open_house_block.block03 .open_house_block_detail .block_in_ttl .ttl {
    font-size: 4rem;
  }
}
@media screen and (max-width: 417px) {
  .open_house .open_house_block_wrap .open_house_block.block03 .open_house_block_detail .block_in_ttl .ttl {
    font-size: 3.6rem;
  }
}
.open_house .open_house_block_wrap .open_house_block.block03 .open_house_block_detail .block_in_img {
  margin-left: 0;
  margin-right: 2rem;
}
.open_house .open_house_block_wrap .open_house_block .open_house_attention_ttl {
  background-color: #1b1b1b;
  padding: 1.5rem 0;
  display: flex;
  justify-content: center;
}
.open_house .open_house_block_wrap .open_house_block .open_house_attention_ttl .attention_ttl {
  width: 25.36%;
  display: block;
}
.open_house .open_house_block_wrap .open_house_block .open_house_block_detail {
  background-color: #fff;
  padding: 4rem;
}
.open_house .open_house_block_wrap .open_house_block .open_house_block_detail .block_in_img {
  width: 26.2%;
  margin: 0 auto;
  margin-bottom: 2rem;
}
.open_house .open_house_block_wrap .open_house_block .open_house_block_detail .block_in_ttl {
  margin-bottom: 2rem;
}
.open_house .open_house_block_wrap .open_house_block .open_house_block_detail .block_in_ttl .ttl {
  font-size: 3rem;
  font-weight: 600;
  text-align: center;
  line-height: 1.4;
}
.open_house .open_house_block_wrap .open_house_block .open_house_block_detail .block_in_flex {
  display: flex;
  align-items: center;
}
.open_house .open_house_block_wrap .open_house_block .open_house_block_detail .block_in_txt {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.8;
}
.open_house .open_house_block_wrap .open_house_block .block_in_prize {
  background-color: #f3efe8;
  padding: 6.7%;
  margin-top: 5rem;
  margin-bottom: 2rem;
  position: relative;
}
.open_house .open_house_block_wrap .open_house_block .block_in_prize::before {
  position: absolute;
  content: "";
  background-image: url(../img/openhouse/openhouse_img07.webp);
  background-repeat: no-repeat;
  background-size: contain;
  width: 80px;
  height: 80px;
  top: -30px;
  left: -20px;
}
@media screen and (max-width: 376px) {
  .open_house .open_house_block_wrap .open_house_block .block_in_prize::before {
    width: 60px;
    height: 60px;
  }
}
.open_house .open_house_block_wrap .open_house_block .block_in_prize .prize_ttl_wrap .prize_sub_ttl {
  font-size: 1.8rem;
  font-weight: bold;
  display: block;
  text-align: center;
}
.open_house .open_house_block_wrap .open_house_block .block_in_prize .prize_ttl_wrap .prize_ttl {
  font-size: 2.8rem;
  font-weight: bold;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
  text-align: center;
  display: block;
  position: relative;
}
.open_house .open_house_block_wrap .open_house_block .block_in_prize .prize_ttl_wrap .prize_ttl::before {
  position: absolute;
  content: "";
  background-color: #1b1b1b;
  width: 100%;
  height: 1.5px;
  bottom: 0;
  left: 0;
}
.open_house .open_house_block_wrap .open_house_block .block_in_prize .prize_detail {
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
}
.open_house .open_house_block_wrap .open_house_block .block_in_prize .prize_img {
  margin: 2rem 0;
}
.open_house .open_house_block_wrap .open_house_block .block_in_prize .prize_list_wrap {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}
.open_house .open_house_block_wrap .open_house_block .block_in_prize .prize_list_wrap .prize_list {
  font-size: 2.4rem;
  font-weight: bold;
  text-align: left;
}
.open_house .open_house_block_wrap .open_house_block .block_in_prize .prize_list_wrap .prize_list .prize_list_detail {
  padding-left: 2rem;
}
.open_house .open_house_block_wrap .open_house_block .block_in_prize .prize_list_wrap .prize_list_attention {
  font-size: 1.6rem;
  color: #565656;
  margin-top: 1rem;
}
.open_house .open_house_block_wrap .open_house_block .block_in_event {
  margin-bottom: 5rem;
}
.open_house .open_house_block_wrap .open_house_block .block_in_event .event_wrap {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.open_house .open_house_block_wrap .open_house_block .block_in_event .event_wrap .event_dl {
  display: flex;
}
.open_house .open_house_block_wrap .open_house_block .block_in_event .event_wrap .event_dt {
  font-size: 2.2rem;
  font-weight: 600;
  color: #fff;
  background-color: #a6893b;
  width: 28.9%;
  padding: 2rem;
  display: flex;
  align-items: center;
}
.open_house .open_house_block_wrap .open_house_block .block_in_event .event_wrap .event_dd {
  padding: 2rem;
  font-size: 2rem;
  font-weight: 500;
  font-family: "Noto Sans JP";
  background-color: #fff;
  width: 71.1%;
}
.open_house .open_house_block_wrap .open_house_block .block_in_event .event_wrap .event_dd .dd_attention {
  display: block;
  font-size: 1.6rem;
}
.open_house .open_house_block_wrap .open_house_block .block_in_event .event_wrap .event_dd .dd_map {
  display: block;
  width: 48%;
  margin-top: 1rem;
}

/*フェードインしてくる画像*/
.detail_img {
  position: relative;
  z-index: 2;
  height: 73vw;
  padding-top: 15vw;
  padding-bottom: 7vw;
  margin-bottom: 14vw;
  margin-top: 4vw;
}
@media screen and (min-width: 501px) {
  .detail_img {
    height: 45.5rem;
    padding-top: 12rem;
    padding-bottom: 5rem;
    margin-bottom: 7rem;
    margin-top: 2rem;
  }
}
.detail_img .fade_in_left {
  position: absolute;
  padding-right: 18.2%;
  z-index: 5;
  top: 0;
  opacity: 0;
  transform: translateX(-40px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.detail_img .fade_in_left.visible {
  opacity: 1;
  transform: translateX(0);
}
.detail_img .fade_in_left img {
  width: 80vw;
}
@media screen and (min-width: 501px) {
  .detail_img .fade_in_left img {
    width: auto;
  }
}
.detail_img .bg_img {
  background-color: #f3efe8;
  width: 82.1%;
  height: 100%;
  margin: 0 auto;
  z-index: 3;
}
.detail_img .fade_in_right {
  position: absolute;
  z-index: 6;
  padding-left: 37.5%;
  bottom: 0;
  opacity: 0;
  transform: translateX(40px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.detail_img .fade_in_right.visible {
  opacity: 1;
  transform: translateX(0);
}
.detail_img .fade_in_right img {
  width: 63vw;
}
@media screen and (min-width: 501px) {
  .detail_img .fade_in_right img {
    width: auto;
  }
}

.japandi_house_img .detail_img {
  height: 63vw;
  padding-top: 15vw;
  padding-bottom: 5vw;
}
@media screen and (min-width: 501px) {
  .japandi_house_img .detail_img {
    height: 40.5rem;
    padding-top: 12rem;
    padding-bottom: 3rem;
  }
}
.japandi_house_img .detail_img .fade_in_right {
  padding-left: 52.5%;
}
.japandi_house_img .detail_img .bg_img {
  position: relative;
}
.japandi_house_img .detail_img .bg_img::before {
  position: absolute;
  content: "";
  background-image: url(../img/exhibition/exhibition_img09.png);
  background-repeat: no-repeat;
  background-size: contain;
  height: auto;
  width: 41%;
  bottom: -4rem;
  left: -3rem;
  aspect-ratio: 233/109;
}

.block_in_attention {
  font-size: 1.8rem;
  color: #565656;
}

/*glightbox モーダル表示*/
.glightbox-container .goverlay {
  background: rgba(0, 0, 0, 0.7);
}
.glightbox-container .gslide-media {
  background: rgb(255, 255, 255);
  padding: 1rem;
}

/*top exhibition*/
.exhibition {
  padding-top: 8rem;
  padding-bottom: 12rem;
}
.exhibition .common_sec_subttl_wrap {
  padding-bottom: 0;
}
.exhibition .exhibition_detail .exhibition_detail_ttl {
  background-color: #f3efe8;
  border-top: 1.5px solid #59462d;
  border-bottom: 1.5px solid #59462d;
  color: #59462d;
  font-size: 3.6rem;
  text-align: center;
  font-weight: 600;
  padding: 1rem 0;
  margin-top: 4rem;
  margin-bottom: 2rem;
}
.exhibition .exhibition_detail .detail_txt {
  padding: 0 2.9%;
}
.exhibition .exhibition_block_wrap .exhibition_block {
  margin-bottom: 4rem;
  margin-top: 3rem;
}
.exhibition .exhibition_block_wrap .exhibition_block .exhibition_block_ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  background-color: #1b1b1b;
  padding: 2rem;
}
.exhibition .exhibition_block_wrap .exhibition_block .exhibition_block_ttl img {
  width: 40%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.exhibition .exhibition_block_wrap .exhibition_block .exhibition_block_ttl .subttl {
  display: flex;
  flex-direction: column;
}
.exhibition .exhibition_block_wrap .exhibition_block .exhibition_block_ttl .subttl .sub_ttl {
  color: #fff;
  font-size: 2.2rem;
  font-weight: 600;
}
.exhibition .exhibition_block_wrap .exhibition_block .exhibition_block_detail {
  background-color: #f3efe8;
  padding: 5.8%;
}
.exhibition .exhibition_block_wrap .exhibition_block .exhibition_block_detail .area_ttl_wrap {
  background-color: #8d8372;
}
.exhibition .exhibition_block_wrap .exhibition_block .exhibition_block_detail .area_ttl_wrap .area_ttl {
  font-size: 2.6rem;
  color: #fff;
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.1rem;
}
.exhibition .exhibition_block_wrap .exhibition_block .exhibition_block_detail .area_detail {
  font-size: 4rem;
  font-weight: 500;
  text-align: center;
  line-height: 1.6;
}
.exhibition .exhibition_block_wrap .exhibition_block .exhibition_block_detail .area_detail_m_in {
  font-size: 3rem;
  font-weight: 500;
}
.exhibition .exhibition_block_wrap .exhibition_block .exhibition_block_detail .area_detail_s_in {
  font-size: 2.8rem;
  font-weight: 500;
}
.exhibition .exhibition_block_wrap .exhibition_block .exhibition_block_detail .area_detail_s_in.right {
  padding-right: 1rem;
}
.exhibition .exhibition_block_wrap .exhibition_block .exhibition_block_detail .area_sub_detail {
  font-size: 3.2rem;
  font-weight: 500;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  line-height: 1.4;
}
.exhibition .exhibition_block_wrap .exhibition_block .exhibition_block_detail .area_list_wrap.list01 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 2px solid #1b1b1b;
  padding-top: 3rem;
  margin-top: 2rem;
}
.exhibition .exhibition_block_wrap .exhibition_block .exhibition_block_detail .area_list_wrap .area_list {
  font-size: 2rem;
  font-weight: 500;
  padding-left: 3rem;
  position: relative;
}
.exhibition .exhibition_block_wrap .exhibition_block .exhibition_block_detail .area_list_wrap .area_list::before {
  position: absolute;
  content: "";
  background-color: #1b1b1b;
  width: 10px;
  height: 10px;
  top: 0.5em;
  left: 0;
}
.exhibition .exhibition_img_wrap {
  width: 100%;
  margin-bottom: 3rem;
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.exhibition .exhibition_img_wrap.visible {
  opacity: 1;
  transform: translateY(0);
}
.exhibition .exhibition_floor_plan_wrap .floor_plan_txt {
  font-size: 2.6rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 3rem;
}
.exhibition .exhibition_floor_plan_wrap .exhibition_floor_plan_block {
  margin-bottom: 5rem;
}
.exhibition .exhibition_floor_plan_wrap .exhibition_floor_plan_block .floor_plan_ttl {
  background-color: #1b1b1b;
  color: #fff;
  font-size: 2.6rem;
  font-weight: 600;
  padding: 0.5rem 1rem;
  text-align: center;
}
.exhibition .exhibition_floor_plan_wrap .exhibition_floor_plan_block .floor_plan_img_wrap {
  padding: 5.8%;
}
.exhibition .exhibition_floor_plan_wrap .exhibition_floor_plan_block .floor_plan_img {
  display: block;
}
.exhibition .exhibition_floor_plan_wrap .exhibition_floor_plan_block .floor_plan_img img {
  width: 100%;
}
.exhibition .exhibition_floor_plan_wrap .exhibition_floor_plan_block .floor_plan_btn_wrap {
  display: flex;
  justify-content: right;
  padding: 0 5.8%;
}
.exhibition .exhibition_floor_plan_wrap .exhibition_floor_plan_block .floor_plan_btn {
  width: 5.4rem;
  height: 5.4rem;
}
.exhibition .exhibition_floor_plan_wrap .exhibition_floor_plan_block .floor_plan_btn img {
  width: 100%;
}
.exhibition .japandi_house_img {
  margin-bottom: 3rem;
}

.private_stay .private_stay_wrap01 {
  margin-bottom: 7rem;
}
.private_stay .private_stay_wrap02 {
  margin-bottom: 7rem;
}
.private_stay .private_stay_wrap03 {
  margin-bottom: 7rem;
}
.private_stay .private_stay_wrap03 .private_stay_ttl {
  margin-bottom: 3rem;
}
.private_stay .sec_ttl_img {
  width: 100%;
}
.private_stay .sec_subttl {
  font-size: 2.6rem;
  font-weight: bold;
  text-align: center;
  padding: 3rem 0;
}
@media screen and (max-width: 376px) {
  .private_stay .sec_subttl {
    font-size: 2rem;
  }
}
.private_stay .private_stay_ttl_img {
  width: 100%;
}
.private_stay .private_stay_ttl_wrap {
  display: flex;
  gap: 1rem;
  padding: 1.5rem 5.8%;
  margin-bottom: 2rem;
  justify-content: space-between;
  align-items: center;
}
.private_stay .private_stay_ttl_wrap .ttl_blue {
  font-size: 3.8rem;
  border: 1.5px solid #204d97;
  color: #204d97;
  background-color: #f0f6ff;
  font-weight: bold;
  width: 41%;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 390px) {
  .private_stay .private_stay_ttl_wrap .ttl_blue {
    font-size: 3rem;
  }
}
.private_stay .private_stay_ttl_wrap .ttl {
  font-size: 3.8rem;
  font-weight: bold;
  width: 59%;
  text-align: center;
}
@media screen and (max-width: 390px) {
  .private_stay .private_stay_ttl_wrap .ttl {
    font-size: 3rem;
  }
}
.private_stay .private_stay_detail {
  margin-top: 3rem;
}
.private_stay .private_stay_detail .detail_ttl {
  font-size: 2.6rem;
  font-weight: bold;
  text-align: center;
  margin: 2rem 0;
}
@media screen and (max-width: 376px) {
  .private_stay .private_stay_detail .detail_ttl {
    font-size: 2.4rem;
  }
}
.private_stay .private_stay_block {
  background-color: #f1f4ef;
  margin-top: 6rem;
  position: relative;
  padding: 5.8%;
}
.private_stay .private_stay_block .block_subttl {
  font-size: 7rem;
  font-weight: 500;
  color: #204d97;
  position: absolute;
  top: -35px;
  left: 20px;
  line-height: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
@media screen and (max-width: 376px) {
  .private_stay .private_stay_block .block_subttl {
    font-size: 50px;
    line-height: 1;
    left: 10px;
  }
}
.private_stay .private_stay_block .block_ttl {
  font-size: 2.7rem;
  font-weight: 600;
  padding-left: 22.5%;
}
.private_stay .private_stay_block .block_img {
  margin: 3rem 0;
}
.private_stay .private_stay_check_ttl {
  font-size: 2.6rem;
  padding: 1rem 0;
  color: #fff;
  background-color: #204d97;
  font-size: 600;
  text-align: center;
  margin-top: 3rem;
}
.private_stay .private_stay_check_wrap {
  background-color: #f6f9ff;
  padding: 4rem 5.8% 7rem 5.8%;
}
.private_stay .private_stay_check_wrap .private_stay_check_img {
  width: 55.9%;
  margin: 0 auto;
}
.private_stay .private_stay_check_wrap .check_block {
  padding-bottom: 5rem;
  border-bottom: 3px dotted #cccccc;
}
.private_stay .private_stay_check_wrap .check_block:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.private_stay .private_stay_check_wrap .check_block .check_block_ttl {
  display: flex;
  align-items: end;
  gap: 1rem;
  justify-content: center;
}
.private_stay .private_stay_check_wrap .check_block .check_block_ttl .ttl {
  font-size: 2.6rem;
  font-weight: bold;
  padding-left: 6rem;
  position: relative;
  margin: 3rem 0 2rem 0;
}
@media screen and (max-width: 376px) {
  .private_stay .private_stay_check_wrap .check_block .check_block_ttl .ttl {
    font-size: 2.2rem;
  }
}
.private_stay .private_stay_check_wrap .check_block .check_block_ttl .ttl::before {
  position: absolute;
  content: "";
  width: 5.8rem;
  height: 4.9rem;
  left: 0;
  top: -1.5rem;
  background-image: url(../img/private_stay/private_stay_img09.png);
  background-repeat: no-repeat;
  background-size: contain;
}
.private_stay .private_stay_flow_wrap .more_contents {
  transition: 0.8s ease-out;
}
.private_stay .private_stay_flow_wrap .flow_block.flow01 {
  margin-top: 5rem;
  position: relative;
}
.private_stay .private_stay_flow_wrap .flow_block.flow01::before {
  position: absolute;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 50%, #fff 87%);
  content: "";
  opacity: 1;
  bottom: 0;
  left: 0;
  transition: 0.3s;
}
.private_stay .private_stay_flow_wrap .flow_block.flow01.show::before {
  opacity: 0;
  transition: 0.3s;
}
.private_stay .private_stay_flow_wrap .flow_block .flow_ttl {
  display: flex;
  width: 100%;
}
.private_stay .private_stay_flow_wrap .flow_block .flow_ttl .ttl_num {
  background-color: #204d97;
  width: 15.3%;
  padding: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.private_stay .private_stay_flow_wrap .flow_block .flow_ttl .ttl {
  color: #204d97;
  border: 1.5px solid #204d97;
  width: 84.7%;
  font-size: 2.8rem;
  font-weight: 600;
  padding: 1rem 2rem;
}
.private_stay .private_stay_flow_wrap .flow_block .flow_detail {
  background-color: #f6f9ff;
  padding: 5.8%;
}
.private_stay .private_stay_flow_wrap .flow_arrow {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 3rem 0;
}
.private_stay .private_stay_flow_wrap .flow_arrow img {
  width: 19.5%;
}
.private_stay .private_stay_flow_wrap .more_button {
  border: 1.5px solid #b5b5b5;
  position: relative;
  cursor: pointer;
}
.private_stay .private_stay_flow_wrap .more_button.show::after {
  display: none;
}
.private_stay .private_stay_flow_wrap .more_button::before {
  width: 15px;
  height: 1px;
  top: 50%;
  transform: translateY(-50%);
  right: 33px;
  position: absolute;
  content: "";
  background-color: #1b1b1b;
}
.private_stay .private_stay_flow_wrap .more_button::after {
  width: 1px;
  height: 15px;
  top: 50%;
  transform: translateY(-50%);
  right: 40px;
  position: absolute;
  content: "";
  background-color: #1b1b1b;
}
.private_stay .private_stay_flow_wrap .more_button .more_btn {
  width: 100%;
  padding: 1.5rem 0;
  cursor: pointer;
}
.private_stay .private_stay_flow_wrap .more_button .more_btn.push .open {
  display: none;
}
.private_stay .private_stay_flow_wrap .more_button .more_btn.push .close {
  display: block;
}
.private_stay .private_stay_flow_wrap .more_button .more_btn_txt {
  font-size: 2.3rem;
  font-weight: 500;
}
.private_stay .private_stay_flow_wrap .more_button .more_btn_txt.open {
  display: block;
}
.private_stay .private_stay_flow_wrap .more_button .more_btn_txt.close {
  display: none;
}

.private_stay_ttl {
  position: relative;
  padding-bottom: 2rem;
}
.private_stay_ttl::before {
  position: absolute;
  background-color: #204d97;
  content: "";
  width: 10rem;
  height: 2px;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
}
.private_stay_ttl .ttl {
  font-size: 3.6rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
}
@media screen and (max-width: 376px) {
  .private_stay_ttl .ttl {
    font-size: 3rem;
  }
}

.form {
  padding-top: 8rem;
}
.form .form_ttl {
  margin-bottom: 3rem;
}
.form .form_detail .detail_txt {
  margin-bottom: 1rem;
}
.form .common_quo_img {
  margin-bottom: 2rem;
}

.page_top_wrap {
  position: sticky;
  bottom: 2%;
  display: flex;
  justify-content: right;
  z-index: 999;
  padding: 0 4%;
}
.page_top_wrap #pagetop {
  width: 50px;
  cursor: pointer;
}
.page_top_wrap #pagetop:hover {
  opacity: 0.7;
  transition: 0.3s;
}

.ft_bg {
  padding: 3rem 4%;
  position: relative;
}
.ft_bg .ft_contents {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 4rem;
}
.ft_bg .ft_contents .ft_logo {
  width: 46.6%;
}
.ft_bg .ft_contents .ft_link {
  width: 65.21%;
}
.ft_bg .ft_contents .ft_link .link {
  display: flex;
  justify-content: center;
  padding: 1.5rem 0;
  background-color: #06275f;
  color: #fff;
  width: 100%;
  font-size: 2rem;
  font-weight: 500;
}
.ft_bg .ft_contents .ft_copy .copyright {
  font-size: 1.8rem;
}

/*form フォーム*/
.form_wrap #mailformpro {
  font-family: "Noto Sans JP";
}
.form_wrap #mailformpro .mailform dt {
  width: 100%;
  text-align: left;
  margin-bottom: 2rem;
  font-size: 2.3rem;
  background-color: #ebf1fb;
  border-top: none;
  padding: 10px 2.9%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: bold;
}
.form_wrap #mailformpro .mailform dt .must {
  display: inline;
  float: right;
  background-color: #b21616;
  border: none;
  text-shadow: none;
  box-shadow: none;
  border-radius: 0;
  font-size: 1.6rem;
  font-weight: 500;
  margin: 0;
  background-image: none;
  padding: 2px 8px;
}
.form_wrap #mailformpro .mailform dd {
  padding: 0;
  padding-top: none;
  background-color: #fff;
  margin-bottom: 2rem;
  border-top: none;
}
.form_wrap #mailformpro .mailform dd.blue {
  background-color: #ebf1fb;
}
.form_wrap #mailformpro .mailform dd .mfp_rows p {
  font-size: 2.3rem;
  font-weight: 500;
}
.form_wrap #mailformpro .mailform dd .mfp_rows select {
  width: 100%;
  box-shadow: none;
  font-size: 2rem;
  font-weight: 500;
  margin: 0;
  margin-bottom: 1rem;
  border: 1.5px solid #cccccc;
}
.form_wrap #mailformpro .mailform dd .mfp_rows input {
  border-radius: 4px;
  border: 1.5px solid #cccccc;
  box-shadow: none;
  font-size: 2rem;
  font-weight: 500;
  padding: 1rem;
  text-align: left !important;
  margin: 0;
}
.form_wrap #mailformpro .mailform dd .mfp_rows input[type=date] {
  width: 100% !important;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  display: block;
  padding: 2rem 1rem;
}
.form_wrap #mailformpro .mailform dd .mfp_rows textarea {
  width: 100% !important;
  height: 190px !important;
  box-shadow: none;
  font-size: 2rem;
  font-weight: 500;
}
.form_wrap #mailformpro .mailform dd .mfp_rows textarea.address {
  height: 80px !important;
}
.form_wrap #mailformpro .mailform dd .mfp_rows .checkbox_wrap {
  display: flex;
  justify-content: center;
  padding: 0.5rem;
}
.form_wrap #mailformpro .mailform dd .mfp_rows .mfp_checked {
  border: none;
  box-shadow: none;
}
.form_wrap #mailformpro .mailform dd .mfp_rows .checkbox {
  font-size: 2.3rem;
  text-align: center;
  font-weight: 500;
}
.form_wrap #mailformpro .mailform dd .mfp_rows .checkbox input {
  border-radius: 3px;
  width: 19px;
  height: 19px;
  margin: 0 5px;
}
.form_wrap #mailformpro .mailform dd .mfp_rows .width_m {
  width: 100% !important;
}
.form_wrap #mailformpro .mailform dd .mfp_rows .width_m.bottom {
  margin-bottom: 1rem;
}
.form_wrap #mailformpro .mailform dd .mfp_rows .width_s {
  width: 50.7% !important;
}
.form_wrap #mailformpro .mailform dd .mfp_rows .time_flex {
  display: flex;
  align-items: center;
  width: 100%;
}
.form_wrap #mailformpro .mailform dd .mfp_rows .time {
  width: 28.9%;
}
.form_wrap #mailformpro .mailform dd .mfp_rows .time_txt {
  font-size: 2.3rem;
  padding: 0 1rem;
  font-weight: 500;
}
.form_wrap #mailformpro .mailform dd .mfp_attention {
  font-size: 1.8rem;
  font-weight: 500;
  margin-top: 1rem;
}
.form_wrap #mailformpro .mailform dd .mfp_attention .form_a {
  color: #204d97;
  border-bottom: 1px solid #204d97;
}
.form_wrap #mailformpro .mfp_attention_wrap.list_ul {
  margin-bottom: 2rem;
  margin-top: 3rem;
}
.form_wrap #mailformpro .mfp_attention_wrap.list_ul .list_li {
  font-size: 1.8rem;
  padding-left: 2.5rem;
  position: relative;
  font-weight: 500;
  margin-bottom: 0.5rem;
}
.form_wrap #mailformpro .mfp_attention_wrap.list_ul .list_li::before {
  position: absolute;
  content: "";
  top: 0.3em;
  left: 0;
  border-radius: 45px;
  width: 15px;
  height: 15px;
  outline: 1px solid #1b1b1b;
  outline-offset: -3.5px;
  border: 1px solid #1b1b1b;
}
.form_wrap #mailformpro .mfp_attention_wrap.list_ul .list_li .red {
  color: #b21616;
}
.form_wrap #mailformpro .mfp_attention {
  font-size: 1.8rem;
  font-weight: 500;
}
.form_wrap #mailformpro .mfp_buttons .mfp_element_submit {
  background: #c9460d;
  text-shadow: none;
  color: #fff;
  font-family: "Noto Serif JP";
  font-size: 3rem;
  letter-spacing: 0.1rem;
  border-radius: 0;
  width: 100%;
  padding: 2rem 1rem;
  border: none;
  position: relative;
  margin: 4rem 0 5rem;
}
.form_wrap #mailformpro .mfp_buttons .mfp_element_submit::before {
  position: absolute;
  content: "";
  border-bottom: 1.5px solid #fff;
  border-right: 1.5px solid #fff;
  transform: rotate(-45deg) translateY(-50%);
  top: 50%;
  right: 5.7%;
  width: 10px;
  height: 10px;
}

.thanks_page #wrapper {
  background: none;
  max-width: 1200px;
}
.thanks_page #container {
  margin: 20px auto;
  padding: 20px;
}
.thanks_page .thanks_ttl {
  font-size: 3rem;
}
.thanks_page .red {
  color: #971414;
  font-weight: 700;
}
.thanks_page p {
  font-size: 1.6rem !important;
}/*# sourceMappingURL=style.css.map */