@charset "UTF-8";
@import url("global.css");
/* ------------------------------
 Archive-page
------------------------------ */
.archive #bodyarea .lead {
  margin-bottom: 60px;
}
.archive #bodyarea .lead .catch {
  font-weight: 700;
  font-size: clamp(16px, 2.1vw, 28px);
  margin-bottom: 10px;
}
.archive #bodyarea .lead p:not([class]) {
  color: #828282;
}

.modelhouselist {
  border-bottom: #DDDDDD solid 1px;
  margin-bottom: 80px;
}
.modelhouselist li {
  border-top: #DDDDDD solid 1px;
}
.modelhouselist li .inner {
  display: flex;
  flex-direction: row-reverse;
  width: 100%;
  padding: 50px 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.modelhouselist li .inner .ph {
  flex-shrink: 0;
  width: 50%;
}
.modelhouselist li .inner .ph figure {
  width: 100%;
  height: 0;
  padding-top: 66.67%;
  position: relative;
  overflow: hidden;
}
.modelhouselist li .inner .ph figure img {
  position: absolute;
  left: 0;
  top: 0;
  transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
  -webkit-transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.modelhouselist li .inner .text {
  width: 100%;
  padding-right: 50px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-align: justify;
}
.modelhouselist li .inner .text .postdata {
  display: flex;
  gap: 5px;
  margin-bottom: 10px;
}
.modelhouselist li .inner .text .postdata .pref, .modelhouselist li .inner .text .postdata .tsubo {
  display: block;
  text-align: center;
  padding: 3px 15px;
  -webkit-border-radius: 2px;
  border-radius: 2px;
  width: fit-content;
  border: #2F984E solid 1px;
  color: #2F984E;
  font-weight: 700;
}
.modelhouselist li .inner .text .posttitle {
  font-weight: 700;
  font-size: clamp(18px, 2.4vw, 32px);
  transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
  -webkit-transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.modelhouselist li .inner .text .excerpt {
  margin-top: 30px;
  font-size: .94em;
  color: #828282;
}
.modelhouselist li .inner .text .morebtn .ja {
  margin: 10px 0 0 auto;
  transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
  -webkit-transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
@media (any-hover: hover) {
  .modelhouselist li a:hover .ph figure img {
    filter: blur(3px);
    transform: scale(1.03);
  }
  .modelhouselist li a:hover .text .posttitle {
    color: #2F984E;
  }
  .modelhouselist li a:hover .text .morebtn .ja {
    border-color: #2F984E;
    color: #2F984E;
  }
  .modelhouselist li a:hover .text .morebtn .ja::after {
    background-color: #2F984E;
    right: 5px;
  }
}

/* ------------------------------
 Entry-page
------------------------------ */
.entry #toparea .topbg {
  height: auto;
}
.entry #toparea .topbg .wrapper {
  display: block;
  height: auto;
}
.entry #toparea .topbg .img {
  z-index: -1;
}
.entry #toparea .topbg .img img {
  filter: blur(5px);
}
.entry #toparea .topbg .img img.objectfit {
  object-position: top center;
}
.entry #toparea .topbg .img::after {
  background: rgba(255, 255, 255, 0.7);
}
.entry #toparea .top_content {
  padding-bottom: 15vw;
  text-align: center;
  color: #1D1D1D;
}
.entry #toparea .top_content .top_data {
  display: flex;
  justify-content: center;
  gap: 5px;
  margin-bottom: 10px;
}
.entry #toparea .top_content .top_data .pref, .entry #toparea .top_content .top_data .tsubo {
  display: block;
  text-align: center;
  padding: 3px 15px;
  -webkit-border-radius: 2px;
  border-radius: 2px;
  width: fit-content;
  border: #2F984E solid 1px;
  color: #2F984E;
  font-weight: 700;
}
.entry #toparea .top_content .post_title {
  font-weight: 700;
  font-size: clamp(22px, 3.6vw, 50px);
}
.entry .mv {
  margin-top: -13vw;
  width: 100%;
  text-align: center;
}
.entry .lead_box {
  margin-top: 45px;
  width: 100%;
}
.entry .lead_box:has(.catch) {
  display: flex;
}
.entry .lead_box .catch {
  flex-shrink: 0;
  width: 50%;
  padding-right: 5vw;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.entry .lead_box .catch > p {
  font-weight: 700;
  font-size: clamp(17px, 2.1vw, 30px);
}
.entry .lead_box #postbody {
  width: 100%;
}
.entry #sec_data {
  margin-top: 110px;
  background-color: #F5F5F5;
  -webkit-border-radius: 12px;
  border-radius: 12px;
  overflow: hidden;
}
.entry #sec_data:has(.mapbox) {
  display: flex;
  flex-direction: row-reverse;
}
.entry #sec_data .infobox {
  max-width: 900px;
  width: 100%;
  margin: 0 auto;
  padding: 70px 70px 130px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.entry #sec_data .infobox .data_title {
  margin-bottom: 20px;
}
.entry #sec_data .infobox .data_title span {
  display: block;
}
.entry #sec_data .infobox .data_title .dot_title {
  font-size: 14px;
}
.entry #sec_data .infobox .data_title .dot_title::before {
  width: 8px;
  height: 8px;
  vertical-align: 1px;
}
.entry #sec_data .infobox .data_title .ja {
  font-weight: 700;
  font-size: clamp(18px, 2.2vw, 26px);
}
.entry #sec_data .infobox table.postdata {
  width: 100%;
  border-collapse: collapse;
}
.entry #sec_data .infobox table.postdata tr + tr {
  border-top: #DDDDDD solid 1px;
}
.entry #sec_data .infobox table.postdata th {
  white-space: nowrap;
  font-weight: 700;
  width: 140px;
  padding: 10px 40px 10px 0;
}
.entry #sec_data .infobox table.postdata td {
  padding: 10px 0 10px 15px;
}
.entry #sec_data .mapbox {
  flex-shrink: 0;
  width: 50%;
}
.entry #sec_data .mapbox .gmap {
  width: 100%;
  height: 100%;
  position: relative;
}
.entry #sec_data .mapbox .gmap iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.entry #sec_point {
  margin-top: 130px;
}
.entry #sec_point ol.point_list {
  display: flex;
  flex-wrap: wrap;
  margin: -20px -28px 0;
}
.entry #sec_point ol.point_list li {
  width: calc( 100% / 3 );
  padding: 70px 28px 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.entry #sec_point ol.point_list li .img {
  position: relative;
}
.entry #sec_point ol.point_list li .img .num {
  position: absolute;
  z-index: 1;
  left: -10px;
  top: -10px;
  width: 46px;
  height: 46px;
  background-color: #2F984E;
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-border-radius: 100%;
  border-radius: 100%;
}
.entry #sec_point ol.point_list li .img .num i {
  display: block;
  line-height: 1;
  color: #FFF;
  font-style: normal;
  font-family: "Lexend", "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "游ゴシック Medium", "Yu Gothic Medium", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Meiryo", "メイリオ", Helvetica, sans-serif;
  font-weight: 500;
  font-size: 1.25em;
}
.entry #sec_point ol.point_list li .img figure {
  width: 100%;
  height: 0;
  padding-top: 66.67%;
  overflow: hidden;
  position: relative;
}
.entry #sec_point ol.point_list li .img figure img {
  position: absolute;
  left: 0;
  top: 0;
  -webkit-border-radius: 6px;
  border-radius: 6px;
  overflow: hidden;
}
.entry #sec_point ol.point_list li dl.text {
  margin-top: 15px;
}
.entry #sec_point ol.point_list li dl.text dt {
  font-weight: 700;
  font-size: clamp(16px, 1.8vw, 21px);
  line-height: 1.6;
  margin-bottom: 10px;
}
.entry #sec_point ol.point_list li dl.text dd {
  text-align: justify;
}
.entry #youtube_area {
  margin: 60px auto 0;
  max-width: 900px;
}
.entry #youtube_area .frame_item {
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  position: relative;
  overflow: hidden;
}
.entry #youtube_area .frame_item iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.entry #youtube_area .frame_item + .frame_item {
  margin-top: 35px;
}
.entry #sec_gallery {
  margin-top: 100px;
  padding: 70px 0 100px;
  background-color: #EFEEE7;
}
.entry #sec_gallery .gal_title {
  text-align: center;
  font-weight: 700;
  font-size: clamp(18px, 2.2vw, 26px);
}
.entry #sec_gallery .pharea {
  margin: 25px auto 0;
  max-width: 1000px;
}
.entry #sec_gallery .pharea .fotorama__thumb-border {
  border-color: rgba(47, 152, 78, 0.3);
}
.entry .reservebtn {
  margin: 120px 0 0;
}
.entry .reservebtn .doropbtn {
  max-width: 860px;
  margin: 0 auto;
}
.entry .reservebtn .doropbtn #doropbtn {
  background-color: #F5F5F5;
  padding: 50px 5vw;
  width: 100%;
  -webkit-border-radius: 6px;
  border-radius: 6px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
  -webkit-transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  text-align: center;
}
@media (any-hover: hover) {
  .entry .reservebtn .doropbtn #doropbtn:hover {
    background-color: rgba(47, 152, 78, 0.1);
  }
}
.entry .reservebtn .doropbtn #doropbtn .title span {
  display: block;
}
.entry .reservebtn .doropbtn #doropbtn .title .en {
  line-height: 1.4;
  font-weight: 400;
  color: #2F984E;
}
.entry .reservebtn .doropbtn #doropbtn .title .ja {
  font-family: "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "游ゴシック Medium", "Yu Gothic Medium", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Meiryo", "メイリオ", Helvetica, sans-serif;
  font-size: clamp(15px, 2.2vw, 25px);
  font-weight: 700;
}
.entry .reservebtn .doropbtn #doropbtn > p:not([class]) {
  width: fit-content;
  margin: 20px auto 0;
  font-size: 14px;
  font-weight: 500;
  font-family: "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "游ゴシック Medium", "Yu Gothic Medium", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Meiryo", "メイリオ", Helvetica, sans-serif;
  color: #FFF;
  background-color: #2F984E;
  padding: 15px 25px;
  -webkit-border-radius: 99px;
  border-radius: 99px;
  position: relative;
  transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
  -webkit-transition: all 0.5s cubic-bezier(0.04, 0.435, 0.315, 0.9) 0s;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.entry .reservebtn .doropbtn #doropbtn > p:not([class])::after {
  content: "\f35d";
  display: inline-block;
  vertical-align: 1px;
  margin-left: 40px;
  font-family: 'Font Awesome 6 free','Font Awesome 6 Brands';
  font-weight: 900;
  font-size: 12px;
}
.entry .indexlink {
  padding: 70px 0;
}
.entry .indexlink .plan_view a {
  text-align: center;
  margin: 0 auto;
}

/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-1 ( 1600px )
 
------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 1600px) {
  /* ------------------------------
   Entry-page
  ------------------------------ */
  .entry #toparea .topbg .wrapper {
    padding-left: 50px;
  }
  .entry #sec_data {
    margin-top: 100px;
  }
  .entry #sec_data .infobox {
    padding: 65px 50px 100px;
  }
  .entry #sec_point {
    margin-top: 120px;
  }
  .entry #sec_point ol.point_list {
    margin: -20px -20px 0;
  }
  .entry #sec_point ol.point_list li {
    padding: 70px 20px 0;
  }
  .entry #sec_gallery {
    padding: 65px 0 80px;
  }
  .entry #sec_gallery .pharea {
    margin: 20px auto 0;
  }
  .entry .reservebtn {
    margin: 100px 0 0;
  }
  .entry .indexlink {
    padding: 65px 0;
  }
}
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-2 ( 1300px )
 
------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 1300px) {
  /* ------------------------------
   Archive-page
  ------------------------------ */
  .modelhouselist li .inner .ph figure {
    height: 100%;
    padding-top: 0;
  }
  .modelhouselist li .inner .ph figure img {
    position: static;
  }
  .modelhouselist li .inner .text {
    padding-right: 40px;
  }
  .modelhouselist li .inner .text .postdata {
    margin-bottom: 8px;
  }
  .modelhouselist li .inner .text .postdata .pref, .modelhouselist li .inner .text .postdata .tsubo {
    padding: 2px 13px;
  }
  .modelhouselist li .inner .text .excerpt {
    margin-top: 25px;
  }
  .modelhouselist li .inner .text .excerpt br {
    display: none;
  }

  /* ------------------------------
   Entry-page
  ------------------------------ */
  .entry #toparea .top_content .top_data {
    margin-bottom: 5px;
  }
  .entry #toparea .top_content .top_data .pref, .entry #toparea .top_content .top_data .tsubo {
    padding: 2px 13px;
  }
  .entry .lead_box {
    margin-top: 40px;
  }
  .entry .lead_box:has(.catch) {
    display: block;
  }
  .entry .lead_box .catch {
    width: 100%;
    padding: 0 0 15px;
  }
  .entry #sec_data {
    margin-top: 70px;
  }
  .entry #sec_data .infobox {
    max-width: 600px;
    padding: 45px;
  }
  .entry #sec_data .infobox .data_title {
    margin-bottom: 15px;
  }
  .entry #sec_data .infobox table.postdata th {
    width: 80px;
    padding: 10px 20px 10px 0;
  }
  .entry #sec_data .infobox table.postdata td {
    padding: 10px 0 10px 15px;
  }
  .entry #sec_point {
    margin-top: 80px;
  }
  .entry #sec_point ol.point_list {
    margin: -15px -15px 0;
  }
  .entry #sec_point ol.point_list li {
    padding: 50px 15px 0;
  }
  .entry #sec_point ol.point_list li .img .num {
    width: 40px;
    height: 40px;
  }
  .entry #sec_point ol.point_list li dl.text {
    margin-top: 10px;
  }
  .entry #sec_point ol.point_list li dl.text dt {
    margin-bottom: 7px;
  }
  .entry #youtube_area {
    margin: 50px auto 0;
    max-width: 760px;
  }
  .entry #youtube_area .frame_item + .frame_item {
    margin-top: 30px;
  }
  .entry #sec_gallery {
    margin-top: 80px;
    padding: 60px 0 80px;
  }
  .entry .reservebtn {
    margin: 90px 0 0;
  }
}
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-3 ( 959px )
 
------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 959px) {
  /* ------------------------------
   Archive-page
  ------------------------------ */
  .archive #bodyarea .lead {
    margin-bottom: 50px;
  }

  .modelhouselist {
    margin-bottom: 65px;
  }
  .modelhouselist li .inner {
    display: block;
    padding: 40px 4vw;
  }
  .modelhouselist li .inner .ph {
    width: 100%;
    margin: 0 auto 30px;
  }
  .modelhouselist li .inner .ph figure {
    height: auto;
  }
  .modelhouselist li .inner .text {
    padding-right: 0;
  }
  .modelhouselist li .inner .text .excerpt {
    margin-top: 20px;
  }

  /* ------------------------------
   Entry-page
  ------------------------------ */
  .entry #toparea .topbg .wrapper {
    padding-left: 6vw;
  }
  .entry #toparea .top_content .top_data .pref, .entry #toparea .top_content .top_data .tsubo {
    padding: 2px 12px;
  }
  .entry .lead_box {
    margin-top: 30px;
  }
  .entry #sec_data {
    margin-top: 60px;
    -webkit-border-radius: 7px;
    border-radius: 7px;
  }
  .entry #sec_data .infobox {
    padding: 30px;
  }
  .entry #sec_data .infobox .data_title {
    margin-bottom: 15px;
  }
  .entry #sec_data .infobox .data_title .dot_title::before {
    margin-right: 7px;
  }
  .entry #sec_data .infobox table.postdata th {
    width: 60px;
    padding: 10px 10px 10px 0;
  }
  .entry #sec_data .infobox table.postdata td {
    padding: 10px 0 10px 5px;
  }
  .entry #sec_point {
    margin-top: 130px;
  }
  .entry #sec_point ol.point_list li {
    width: calc( 100% / 2 );
  }
  .entry #youtube_area {
    margin: 45px auto 0;
  }
  .entry #youtube_area .frame_item + .frame_item {
    margin-top: 25px;
  }
  .entry #sec_gallery {
    margin-top: 65px;
    padding: 40px 0 50px;
  }
  .entry .reservebtn {
    margin: 65px 0 0;
  }
  .entry .reservebtn .doropbtn #doropbtn {
    padding: 40px 5vw;
  }
  .entry .reservebtn .doropbtn #doropbtn > p:not([class]) {
    margin: 15px auto 0;
    padding: 12px 22px;
  }
  .entry .reservebtn .doropbtn #doropbtn > p:not([class])::after {
    margin-left: 30px;
  }
  .entry .indexlink {
    padding: 50px 0;
  }
}
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-4 ( 644px )
 
------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 644px) {
  /* ------------------------------
   Archive-page
  ------------------------------ */
  .archive #bodyarea .lead {
    margin-bottom: 25px;
  }
  .archive #bodyarea .lead .catch {
    margin-bottom: 7px;
  }
  .archive #bodyarea .lead p:not([class]) br {
    display: none;
  }

  .modelhouselist {
    margin-bottom: 50px;
  }
  .modelhouselist li .inner {
    padding: 30px 3vw;
  }
  .modelhouselist li .inner .ph {
    margin: 0 auto 20px;
  }
  .modelhouselist li .inner .text .postdata {
    gap: 3px;
    margin-bottom: 5px;
  }
  .modelhouselist li .inner .text .postdata .pref, .modelhouselist li .inner .text .postdata .tsubo {
    padding: 2px 10px;
  }
  .modelhouselist li .inner .text .excerpt {
    margin-top: 10px;
  }
  .modelhouselist li .inner .text .morebtn .ja {
    margin: 15px 0 0 auto;
  }

  /* ------------------------------
   Entry-page
  ------------------------------ */
  body.headimg.entry #header #header_logo a .logotext {
    color: #1D1D1D;
  }

  .entry #toparea .topbg .wrapper {
    padding-left: 5vw;
  }
  .entry #toparea .top_content {
    padding: 15px 0 20vw;
  }
  .entry #toparea .top_content .top_data {
    gap: 4px;
    margin-bottom: 3px;
  }
  .entry #toparea .top_content .top_data .pref, .entry #toparea .top_content .top_data .tsubo {
    padding: 1px 10px;
  }
  .entry .mv {
    margin-top: -18vw;
  }
  .entry .lead_box {
    margin-top: 25px;
  }
  .entry .lead_box .catch {
    padding: 0 0 10px;
  }
  .entry .lead_box #postbody .postbody br {
    display: none;
  }
  .entry #sec_data {
    margin-top: 35px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
  }
  .entry #sec_data:has(.mapbox) {
    display: block;
  }
  .entry #sec_data .infobox {
    padding: 25px 6vw 20px;
  }
  .entry #sec_data .infobox .data_title {
    margin-bottom: 0;
  }
  .entry #sec_data .mapbox {
    width: 100%;
  }
  .entry #sec_data .mapbox .gmap {
    width: 100%;
    height: 0;
    padding-top: 50%;
  }
  .entry #sec_point {
    margin-top: 50px;
  }
  .entry #sec_point ol.point_list {
    margin: -10px -10px 0;
  }
  .entry #sec_point ol.point_list li {
    padding: 35px 10px 0;
  }
  .entry #sec_point ol.point_list li .img .num {
    width: 36px;
    height: 36px;
  }
  .entry #sec_point ol.point_list li .img .num i {
    font-size: 1em;
  }
  .entry #sec_point ol.point_list li .img figure img {
    -webkit-border-radius: 3px;
    border-radius: 3px;
  }
  .entry #sec_point ol.point_list li dl.text dt {
    line-height: 1.5;
  }
  .entry #youtube_area {
    margin: 30px auto 0;
  }
  .entry #youtube_area .frame_item + .frame_item {
    margin-top: 20px;
  }
  .entry #sec_gallery {
    margin-top: 35px;
    padding: 30px 0 35px;
  }
  .entry #sec_gallery .pharea {
    margin: 15px auto 0;
  }
  .entry .reservebtn {
    margin: 40px 0 0;
  }
  .entry .reservebtn .doropbtn #doropbtn {
    padding: 30px 5vw;
    -webkit-border-radius: 4px;
    border-radius: 4px;
  }
  .entry .reservebtn .doropbtn #doropbtn .title .ja {
    letter-spacing: 0;
  }
  .entry .reservebtn .doropbtn #doropbtn > p:not([class]) {
    font-size: 13px;
    padding: 10px 20px;
  }
  .entry .reservebtn .doropbtn #doropbtn > p:not([class])::after {
    vertical-align: 0;
    margin-left: 25px;
    font-size: 11px;
  }
  .entry .indexlink {
    padding: 35px 0;
  }
}
