/*====================
neezvilla LP
 ====================*/
body.villalp {
  background: #f7f7f7;
}
/*btn*/
.btn_villalp a,
.btn_villalp input {
  color: #fff !important;
  /*background: linear-gradient(to right, #e4f8fa, #b2d6db);*/
  background: linear-gradient(to right, #82AD9B, #1B5C64);
}

.btn.btn_villalp a:hover,
.btn.btn_villalp input:hover {
  opacity: 0.8;
}
.villalp .btn.btn_request a {
  background-color: #2a686c;
}

.villalp .btn.btn_reserve a {
  background-color: #c9a850;
}
/*btn*/
section.underpage_vr h2 {
  color: initial;
}

.villalp main.under > section:nth-of-type(n + 3):nth-of-type(odd) {
  background: #d9e6e5;
}
.villalp main.under > section:nth-of-type(n + 4):nth-of-type(even) {
  background: initial;
}
.villalp_mainvisual .swiper-container {
  height: calc(100vh - (100px + 115px));
}
.villalp_mainvisual .swiper-wrapper .swiper-slide {
  height: calc(100vh - (100px + 115px));
}
@media screen and (max-width: 1200px) {
  .villalp_mainvisual .swiper-container {
    height: 60vh;
  }
  .villalp_mainvisual .swiper-wrapper .swiper-slide {
    height: 60vh;
  }
}
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation:portrait) {
  .villalp_mainvisual .swiper-container {
    height: 47vh;
  }
  .villalp_mainvisual .swiper-wrapper .swiper-slide {
    height: 47vh;
  }
}

@media screen and (max-width: 480px) {
  /* 480px以下に適用されるCSS（スマホ用） */
  .villalp_mainvisual .swiper-wrapper .swiper-slide {
    height: auto;
  }
  .villalp_mainvisual .swiper-container {
    height: 240px;
  }
}

section.villalp_point {
  padding: 0;
  /*background: linear-gradient(to right, #e4f8fa, #b2d6db);*/
  background: linear-gradient(to bottom, #61a09fb5, #488582);
}
section.villalp_point .inner {
  margin-bottom: -10px;
}
/*---ストロングポイント2カラム---*/
/*section.villalp_point ul {
  display: flex;
  justify-content: center;
  padding: 15px 0 0;
}
section.villalp_point ul li {
  text-align: center;
  width: 40%;
  line-height: 1.3em;
  padding: 0;
  font-size: var(--size_ll);
  color: #fff;
}*/

/*---ストロングポイント3カラム---*/
section.villalp_point ul {
  display: flex;
  justify-content: space-between;
  padding: 15px 0 0;
}
section.villalp_point ul li {
  text-align: center;
  width: 33%;
  line-height: 1.3em;
  padding: 0;
  font-size: var(--size_ll);
  color: #fff;
}
section.villalp_point ul li span.small {
  font-size: var(--size_ml);
}
section.villalp_point ul li span.big {
  /*font-size: var(--size_4l);*/
  color: #F4F5B6;
  /*color: #fff2d0;*/
  font-size: 30px;
}
section.villalp_point ul li:not(:last-child) {
  border-right: 1px solid #fff;
}
section.villalp_contact_middle {
  background: var(--main_a) !important;
  padding: 35px 0;
}
section.villalp_contact_middle section.footer_contact.property_contact {
  margin-bottom: 2rem;
}
section.footer_contact.property_contact.footer_contact_villalp {
  background: #e1e1e1;
}
section.villalp_contact_middle section.footer_contact.property_contact .inner {
  width: 100%;
}
section.villalp_contact_middle .headline p {
  font-size: var(--size_4l);
  text-align: center;
  color: #000;
  font-weight: 400;
  xtext-shadow: 2px 2px 4px rgb(0 0 0 / 20%);
  line-height: 1.5em;
}

section.villalp_contact_middle .headline p.shiryoseikyu {
  font-size: var(--size_5l);
  margin-bottom: 1.5rem;
}
section.villalp_contact_middle .headline p.shiryoseikyu span {
  display: inline-block;
  border-bottom: 1px solid #000;
  border-top: 1px solid #000;
  margin-left: 30px;
  font-size: 75%;
  line-height: 1.6em;
}
section.villalp_contact_middle p.catch {
  margin-bottom: 0;
}
section.villalp_concept .concept_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  background: linear-gradient(90deg, rgb(182 213 213 / 0%), rgb(182 213 213));
  margin: 80px 0;
  padding-bottom: 3rem;
}

section.villalp_concept .concept_box .concept_photo {
  width: 90%;
}
section.villalp_concept .concept_box .concept_txt {
  /*width: calc(100% - 500px);*/
  margin: auto 0 auto auto;
}
section.villalp_concept .concept_box .concept_txtbox {
  padding: 3rem 1rem 10rem 0rem;
  text-align: left;
  min-width: 500px;*/
  height: auto;
  margin: 0 0 0 auto;
  font-size: var(--size_m);
}
section.villalp_concept .concept_box .concept_txtbox span.big {
  font-size: 2.1rem;
  color: #2a686c;
}

section.villalp_concept .concept_box .concept_photo .contents_main {
  position: absolute;
  top: -5%;
  right: -20%;
  width: 730px;
}
section.villalp_concept .concept_box .concept_photo .contents_sub_01 {
  position: absolute;
  top: 35%;
  right: 35%;
  box-shadow: 8px 9px 7px #ffffff5e;
}
section.villalp_concept .concept_box .concept_photo .contents_sub_02 {
  position: absolute;
  bottom: 0;
  left: 230px;
  width: 230px;
}
section.villalp_concept .concept_box .concept_photo .contents_sub_03 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 230px;
}
section.villalp_appeal .appeal_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin-bottom: 5rem;
}
section.villalp_appeal .appeal_box .appeal_photo {
  width: 50%;
  height: 420px;
  background: url(/assets/img/neez_villa_lp/concept_01.jpg) no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
}
section.villalp_appeal .appeal_box .appeal_photo .contents_sub_01 {
  position: absolute;
  top: 50%;
  left: -14%;
  box-shadow: 8px 9px 7px #ffffff5e;
}
section.villalp_appeal .appeal_box .appeal_photo .contents_sub_02 {
  position: absolute;
  bottom: -80px;
  left: -300px;
}
section.villalp_appeal .appeal_box .appeal_photo .contents_sub_03 {
  position: absolute;
  bottom: -80px;
  left: -535px;
}
section.villalp_appeal .appeal_box .appeal_txt {
  width: 50%;
  margin: auto 0 auto auto;
  background: linear-gradient(90deg, rgb(182 213 213 / 0%), rgb(182 213 213));
  padding: 4rem 2rem 7rem;
}
section.villalp_appeal .appeal_box .appeal_txtbox {
  padding: 0 2em 0 0;
  text-align: left;
  max-width: 512px;
  margin: 0 0 0 auto;
  font-size: var(--size_m);
}
section.villalp_appeal .appeal_box .appeal_txtbox span.big {
  font-size: 2rem;
  color: #2a686c;
}
@media only screen and (min-device-width: 768px) and (max-device-width: 1080px) {
section.villalp_appeal .appeal_box .appeal_photo .contents_sub_01 {
  position: absolute;
  top: 50%;
  left: -25%;
}
section.villalp_appeal .appeal_box .appeal_txtbox {
  font-size: 1.1rem;
}
}

section.villalp_movie iframe {
  width: 100%;
  height: 576px;
}
section.villalp_detail_location table.base_table th {
  background: #b2d6db !important;
  text-align: initial;
}
section.neezvilla_detail_location table.base_table th {
  width: 28%;
}
section.neezvilla_detail_location table.base_table th {
  width: 28%;
}
section.neezvilla_detail_outline table.outline_table th {
  width: 28%;
}
ul.villalp_structure_box li {
  background: #fff;
}
ul.villalp_structure_box li .txt_box {
  padding: 1rem;
}
ul.villalp_structure_box li .img_box {
  margin-bottom: 0;
}
a.villalp_vr_ban {
  margin-bottom: 2rem;
  display: block;
}
a.villalp_vr_ban:hover {
  opacity: 0.8;
}
/*追加*/
.villalp_sectionmap {
  xmargin-bottom: 4rem;
}
.villalp_sectionmap img {
  border: 1px solid #999;
}
.villalp_plan_box {
  margin-bottom: 3rem;
}
.villalp_plan_box a img,
.villalp_plan_box span img {
  border: 1px solid #999;
  display: block;
  margin-bottom: 30px;
  border-radius: 10px;
  box-shadow: 4px 4px 4px rgb(0 0 0 / 20%);
}
.villalp_plan_box a:hover {
  opacity: 0.7;
}
p.car_navi_box {
  background: var(--main_a);
  padding: 10px;
  text-align: center;
  font-weight: 700;
  margin-bottom: 3rem;
  font-size: var(--size_m);
}
.villalp_access {
  margin-bottom: 20px;
}
ul.location_img_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 1.2rem;
}
ul.location_img_box li {
  width: calc((100% - 20px) / 2);
  margin-bottom: 20px;
}
ul.location_img_box li img {
  margin-bottom: 4px;
  /*border: 1px solid #ccc;
  padding: 7px;*/
  box-shadow: 5px 5px 3px #ccc;
}
ul.location_img_box li p {
  text-align: center;
  font-size: var(--size_s);
  line-height: 2em;
  font-weight: 600;
}
/*
ul.location_img_box li:not(:last-child) {
  margin-right: 20px;
}
*/
section.villalp_detail_location .title_box h5{
  font-size: 1rem;
  position:relative;
  margin-bottom: 1.2rem;
  display: flex;
  align-items: center;
  text-align: center;
}
section.villalp_detail_location .title_box h5:before,
section.villalp_detail_location .title_box h5:after{
  content: "";
  height: 1px;
  flex-grow: 1;
  background-color: #beb9b9;
}
section.villalp_detail_location .title_box h5:before{
  margin-right: 1rem;
}
section.villalp_detail_location .title_box h5:after{
  margin-left: 1rem;
}
.googlemap_btn {
  display: flex;
  justify-content: center;
}
section.villalp_detail_location .googlemap_btn a {
  width: 45%;
  height: 45px;
}
section.villalp_detail_location p.catchcopy {
  font-size: var(--size_l);
  font-weight: 600;
  text-align: center;
  color: #009688;
  margin-bottom: 1rem;
}
section.villalp_detail_location p.catchcopy span.accent {
  padding-left: 0; 
  /*background: linear-gradient(transparent 35%, #ffff0036 30%);*/
  background: linear-gradient(transparent 35%, #f8d57840 30%);
  display: inline-block;
  line-height: 1.2;
}

.villalp_price {
  margin-bottom: 2rem;
}
.villalp_floor {
  margin-bottom: 2rem;
}
.villalp_note {
  margin-bottom: 2rem;
}
body.fixed_page header {
  padding: 10px;
  background: #fff;
}
body.fixed_page main {
  padding-top: 0;
  padding-bottom: 0;
}
body.fixed_page main > section {
  padding-top: 40px;
  padding-bottom: 20px;
}
body.fixed_page footer {
  padding: 20px;
  background: #fff;
}
.fixed_page_controller.btn input {
  margin: 0;
}
.fixed_page_controller.btn input:not(:last-child) {
  margin-right: 10px;
}
body.fixed_page header .fixed_page_controller {
  display: flex;
  justify-content: flex-end;
}
body.fixed_page footer .fixed_page_controller {
  display: flex;
  justify-content: center;
}
.title_box.qre_title_box h4 {
  font-size: var(--size_m);
  margin-bottom: 0.5rem;
  padding-bottom: 0.5rem;
  border-bottom: none;
}
/*タブリーダーstart*/
ul.tab-reader li {
  display: flex;
  display: -ms-flexbox;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  width: 100%;
  margin-bottom: 12px;
  align-items: center;
  line-height: 1.25em;
}
ul.tab-reader li span:first-child {
  max-width: 55%;
}

ul.tab-reader li span:last-child {
  text-align: right;
}
hr.tab-r-line {
  position: relative;
  top: calc(50% - 1px);
  margin: 0 10px;
  border: none;
  border-top: dotted 2px #ccc;
}
.reader {
  flex: auto;
}

.forSP_tate {
  display: none;
}
/*タブリーダーend*/
/*fixed_btn start*/
.fixed_btn {
  position: fixed;
  z-index: 100;
}
.fixed_btn {
  top: 200px;
  right: 0;
}
.fixed_btn ul {
  display: block;
}

.fixed_btn ul li a {
  display: block;
  color: #d8b070;
  text-decoration: none;
  text-align: center;
  background-color: #b2d6db;
  color: #fff;
}

.fixed_btn ul li.request a {
  background-color: #2a686c;
}
.fixed_btn ul li.reserve a {
  background-color: #c9a850;
}
.fixed_btn ul li a {
  width: 64px;
  padding: 40px 22px;
  box-sizing: border-box;
  font-size: 16px;
  line-height: 1.2;
  writing-mode: vertical-rl;
  letter-spacing: 0.1em;
}
.fixed_btn ul li a:hover {
  opacity: 0.8;
}
/*fixed_btn end*/

/* villalp_contract
---------------------------------------- */
p.contract_headline {
  font-size: var(--size_l);
  font-weight: 700;
  text-align: center;
}
.contract_box {
/*background: #f7f7f7;/*/
/*border-radius: 0 30px 0 30px;*/
  position: relative;
/*padding: 60px;*/
}
.contract_title {
  text-align: center;
}
.moreover {
  position: absolute;
  top: -30px;
  left: -10px;
  background: var(--key_band);
  color: #fff;
  width: 160px;
  height: 160px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  font-size: var(--size_ll);
  border-radius: 160px;
  line-height: 1.3em;
}
ul.plan_items dl {
  display: flex;
  margin-bottom: 20px;
  justify-content: center;
}
ul.plan_items li {
  text-align: center;
}
dl.conditions {
  display: flex;
  border: 1px solid #ddd;
  background: #fff;
  margin-bottom: 20px;
}
dl.conditions dt {
  background-color: #cfc4a7;
  padding: 14px;
  width: 300px;
  text-align: center;
}
dl.conditions dd {
  padding: 14px;
}
.plan_items dl {
  align-items: center;
  font-weight: 700;
}
.plan_items dl dt {
  border-radius: 20px;
  background: #689e9c;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 120px;
  color: #fff;
  font-size: var(--size_m);
}

.plan_items dl dt span {
  font-size: 120%;
}
.plan_items dl dd {
  padding-left: 10px;
  font-size: var(--size_l);
}
.secondary_items {
  margin-bottom: 4rem;
}
.secondary_items:last-child {
  margin-bottom: 0;
}
.tertiary_items {
  margin-bottom: 2rem;
}
.tertiary_items:last-child {
  margin-bottom: 0;
}
.forth_items {
  margin-bottom: 1rem;
}
.forth_items:last-child {
  margin-bottom: 0;
}
.flex_box {
  display: flex;
  justify-content: space-between;
}

.flex_box.switch {
  flex-flow: row-reverse;
}
.flex_box.wrap {
  flex-flow: wrap;
}
.btn_box {
  justify-content: center;
}
.btn_box div:not(:last-child) {
  margin-right: 32px;
}

/* merit
---------------------------------------- */
.merit_box {
/*border: 1px solid #ddd;*/
  padding: 20px;
  position: relative;
  background: #fff;
/*background: #dce9ea;*/
/*box-shadow: 2px 2px 4px rgb(0 0 0 / 10%);*/
}
.merit_count {
  display: inline-block;
  background: #c9bc9c;
  color: #fff;
  padding: 5px 10px;
/*border-radius: 0 0 6px 6px;*/
  position: absolute;
  top: -4px;
  font-size: var(--size_l);
  font-weight: 700;
  box-shadow: 1px 1px 2px #0000005c;
}
.merit_img {
  text-align: center;
}
.merit_count span {
  font-size: var(--size_ll);
}
.merit_txt h3 {
  padding-top: 48px;
  border-bottom: 1px solid #afa07a;
  padding-bottom: 10px;
  margin-bottom: 10px;
  font-size: var(--size_l);
  line-height: 1.4em;
}
.col_3 {
  width: calc((100% - 32px) * 0.25);
}
.col_4 {
  width: calc((100% - 32px) * 0.33);
}
.col_5 {
  width: calc((100% - 32px) * 0.41);
}
.col_6 {
  width: calc((100% - 32px) * 0.5);
}
.col_7 {
  width: calc((100% - 32px) * 0.58);
}
.col_8 {
  width: calc((100% - 32px) * 0.66);
}
.col_9 {
  width: calc((100% - 32px) * 0.75);
}
/*--------------------
  優先見学会告知エリア
  ----------------------*/
section.information_session {
  padding-top: 50px;
  padding-bottom: 50px;
  background: rgb(121 174 173 / 24%)!important;
}
.information_session_title_box span {
  color: #598786;
  display: block;
  font-size: 1.2em;
  letter-spacing: 0.1em;
  text-align: center;
}
.information_session_title_box h2 {
  letter-spacing: 0.1em;
  color:#1B5C64;
  text-align: center;
  font-size: 2.8em;
  line-height: 1.4em;
  margin-bottom: 1rem;
  font-weight: normal;
}
.information_session_title_box h2 div {
  display: flex;
}
.information_session_title_box h2 div span.yoyaku {
  font-size: 0.5em;
  line-height: 1em;
  height: 40px;
  border-top: 1px dotted var(--sub);
  border-bottom: 1px dotted var(--sub);
  color: var(--sub);
  padding: 0px 15px;
  margin-left: 12px;
  display: flex;
  align-items: center;
  margin-top: 10px;
}
.information_session_title_box h2 {
  display: flex;
  justify-content: center;
}
.information_session_title_box h2:before,
.information_session_title_box h2:after {
  height: 1em;
  width: 120px;
  line-height: 1em;
}
.information_session_title_box h2:before {
  content: url(/assets/img/neez_villa_lp/decoration.svg);
  margin-right: 1rem;
}
.information_session_title_box h2:after {
  content: url(/assets/img/neez_villa_lp/decoration.svg);
  margin-left: 1rem;
  transform: scale(-1, 1);
}
.information_session_catch {
  letter-spacing: 0.1em;
  text-align: center;
  font-size: 1.2rem;
  line-height: 1.4em;
  margin-bottom: 1.5rem;
}
.information_session_btn {
  text-align: center;
}
.information_session_btn a {
  background: var(--sub);
  color: #fff;
  border-radius: 0;
  padding: 10px;
  width: 240px;
  margin-top: 30px;
}
.information_session_btn a:before {
  content: "";
  position: absolute;
  top: -4px;
  bottom: -4px;
  left: -4px;
  right: -4px;
  border: solid 1px var(--sub);
}
.information_session_btn img {
  transition: 1s all;
}
.information_session_btn img:hover {
  transform: scale(1.1, 1.1);
  transition: 1s all;
}
.anchor {
  margin-top: -100px;
  padding-top: 100px;
}
/* villalp_subject 物件紹介
---------------------------------------- */
section.villalp_plan ul.project_box{
  margin-bottom: 50px;
  flex-wrap: wrap;
  justify-content: center; 
}

/*2カラム時*/
/*section.villalp_plan li.project_items {
  background: #fff;
  width: 40%;
  margin-right: 2.6%;
  margin-bottom: 1.6%;
}
section.villalp_plan .project_img img {
  object-fit: cover;
  min-height: 140px;
  height: 15.5vw;
  width: 100%;
}*/

/*３カラム時*/

section.villalp_plan li.project_items {
  background: #fff;
  width: 31%;
  margin-right: 1.6%;
  margin-bottom: 1.6%;
}
section.villalp_plan .project_img img {
  object-fit: cover;
  min-height: 140px;
  height: 10.5vw;
  width: 100%;
}
section.villalp_plan img.noimage {
  object-fit: cover;
  min-height: 140px;
  height: 10.5vw;
  width: 100%;
}
section.villalp_plan .project_action .btn.btn_detail a:hover {
  background-color: #5e9397;
  color: #fff;
  border: 1px solid #4d8184;
}
section.villalp_plan .project_action .btn.btn_detail a {
  background-color: #cfc4a7;
  color: #444;
  border: 1px solid #cfc4a7;
}
section.villalp_plan .project_action ul li.comingsoon {
  height: 40px !important;
  line-height: 40px !important;
  border: 1px solid #dddddd !important;
}
