@charset "UTF-8";
/*================
plan.css
================*/

#mainvisual{background: url(../img/common/top_bk01.png) repeat-x center bottom;
    text-align: center;}
#mainvisual .plan_lead{font-size: 46px; color: #294d2a; padding: 80px 0 50px;}

@media screen and (max-width: 768px){
    #mainvisual .plan_lead{font-size: 25px; padding: 40px 0 50px;}
}

@media screen and (max-width: 767px){
    #mainvisual{margin-bottom: 10px;}
}


/* model_room ======================*/
#model_room{padding: 50px 0 100px;}
.model_room_wrap{}
.model_room_wrap .model_room_box{ text-align: center; margin-bottom: 50px;}
.model_room_wrap .model_room_box:last-child{ margin-bottom: 0;}
.model_room_wrap .model_room_box h3{ font-size: 46px; margin-bottom: 20px;}
.model_room_wrap .model_room_box .matterport_box{ }
.model_room_wrap .model_room_box .matterport_box iframe { max-width: 853px; height: 480px; margin: 0 auto; width: 100%;}

#model_room .model_room_txt{ text-align: center; margin-bottom: 30px;}
#model_room .model_room_txt p{ font-size: 25px; background: linear-gradient(transparent 60%, #ff6 60%); display: inline;}
#model_room .model_room_txt p span{ padding: 0 0 0 35px; display: inline-block; background: url("../img/plan/icon_play.svg") no-repeat left center;}
#model_room .model_room_annotation{ max-width: 853px; width: 100%; margin: 20px auto 0;}
#model_room .model_room_annotation p{ font-size: 12px; padding-left: 12px; position: relative;}
#model_room .model_room_annotation p::before { content: "※"; position: absolute; left: 0; top: 0;}

@media screen and (max-width: 991px){
	.model_room_wrap .model_room_box h3{ font-size: 25px;}
}

@media screen and (max-width: 767px){
	#model_room{ padding-bottom: 50px;}
	.model_room_wrap .model_room_box h3{ font-size: 22px;}
	#model_room .model_room_txt{ text-align: left;}
	#model_room .model_room_txt p{ font-size: 16px}
	#model_room .model_room_txt p span{ padding: 0 0 0 28px; background: url("../img/plan/icon_play.svg") no-repeat left top; background-size: 24px;}
}

/* plan_type ======================*/
#plan_type{padding: 40px 0 0;}
#plan_type .plan_pageLink{margin-bottom: 80px;}

.plan_type_line{display: flex; flex-wrap: wrap; justify-content: center; margin-bottom: 30px;}
.plan_type_box{width: 48%; margin: 0 1%;}
.floorPlan_type{margin: 0 0 20px;}
.floor_type{color: #734b23; 
    font-family: 'EB Garamond'; font-size: 50px; line-height: 1.2;}
.floor_type b{font-size: 80px; line-height: 1.2; font-weight: normal; margin-right: 10px;}
.floor_type span{display: inline-block; border: 1px solid #734b23; border-width: 1px 15px;
    line-height: 1.2; width: 40%; text-align-last: center; margin-left: 10px;}
.floor_area{color: #734b23; font-size: 35px; line-height: 1.2;}
.floor_area b{font-family: 'EB Garamond'; font-size: 60px; line-height: 1.2; font-weight: normal;}
.floor_area span{color: #000; font-size: 25px;}

.usage_guide{margin-top: 70px;}
.usage_guide ul{display: flex; flex-wrap: wrap; align-items: center;}
.usage_guide ul li{margin: 0 10px 10px; font-size: 13px;}
.usage_guide .guide span{border: 1px solid #000; padding: 2px 15px;}
.usage_guide .wind span,
.usage_guide .daylighting span{width: 50px; display: inline-block; margin-right: 5px;}
.usage_guide .storage span{display: inline-block; width: 50px; height: 15px; margin-right: 5px; vertical-align: middle; background: #dee1ce;}
.usage_guide .floor_heating span{display: inline-block; width: 50px; height: 15px; margin-right: 5px; vertical-align: middle; background: #fcecec;}

@media screen and (max-width: 768px){
    #plan_type .plan_pageLink{margin-bottom: 40px;}
    #plan_type::after{height: 100px; margin-top: 50px;}

    .floor_type{font-size: 40px;}
    .floor_type b{font-size: 60px;}
    .floor_type span{}
    .floor_area{font-size: 28px;}
    .floor_area b{font-size: 50px;}
}
@media screen and (max-width: 767px){
    #plan_type .plan_pageLink{margin-bottom: 10px;}
    #plan_type::after{height: 60px; margin-top: 30px;}

    .plan_type_box{width: 100%; margin: 0;}
    .plan_type_box + .plan_type_box{margin-top: 30px;}
    .floor_type{font-size: 30px;}
    .floor_type b{font-size: 50px;}
    .floor_type span{}
    .floor_area{font-size: 20px;}
    .floor_area b{font-size: 40px;}
    .floor_area span{display: block;}

    .usage_guide{margin-top: 40px;}
    .usage_guide ul li{font-size: 12px; margin: 0 5px 10px;}
}

/* equipment ======================*/
#equipment{background: #e1eddf; padding: 100px 0 0;}
.equipment_lead{text-align: center; padding: 40px 0 80px;}
.equipment_lead h3{font-size: 46px; color: #006536; margin-bottom: 15px;}

.equipment_wrap{display: flex; flex-wrap: wrap; justify-content: space-between;}
.equipment_wrap .equipment_box{width: 31%; text-align: center; margin-bottom: 50px;}
.equipment_box h4{font-size: 23px; letter-spacing: 0; margin: 20px 0;}
.equipment_box h4 sup{font-size: 50%;}
.equipment_box p.sub-text-style{font-size: 18px;}


.annotation_area{background: #e1eddf;}

@media screen and (max-width: 768px){
    .equipment_lead{padding: 50px 0 80px;}
    .equipment_lead h3{font-size: 25px;}
    .equipment_wrap .equipment_box{width: 48%;}
}
@media screen and (max-width: 767px){
    #equipment{padding: 50px 0 0;}
    .equipment_lead{padding: 10px 0 40px;}
    .equipment_lead h3{font-size: 22px; margin-bottom: 20px;}
    .equipment_wrap .equipment_box{width: 100%;}
    .equipment_box h4{font-size: 20px; margin: 15px 0;}
    .equipment_box p.sub-text-style{font-size: 16px;}
}

/* plan_detail ======================*/
#plan_detail{padding: 50px 0 100px; position: relative;}
#plan_detail::after{content: "";
    background: url(../img/common/top_bk01.png) repeat-x center bottom;
    display: block; width: 100%; height: 180px; margin-top: 100px;
    position: absolute; left: 0; bottom: 0;}
#plan_detail .plan_type_box{width: 70%; margin: 0 auto;}

@media screen and (max-width: 767px){
    #plan_detail .plan_type_box{width: 100%;} 
}


/* 2023.07 リニューアル */
/* plan_mainvisual ================*/
#plan_mainvisual img{width: 100%;}
.page_item_name{text-align: center; font-size: 2.3rem; letter-spacing: 2px; transform: translateY(-40%);}
.page_item_name::before{content: ""; width: 1px; height: 105px; display: block; margin: 0 auto 10px; background: #000;}

.plan_pageLink{max-width: 1390px; width: 100%; margin: 0 auto 80px; padding: 0 20px;}
.plan_pageLink ul{border-bottom: 1px solid #333; display: flex; justify-content: center;}
.plan_pageLink ul li{max-width: 300px; width: 100%; margin: 0 10px;}
.plan_pageLink ul li a{display: block; background: #dbdcdc; color: #000; text-align: center; font-size: 2.6rem; letter-spacing: 0; padding: 5px;}
.plan_pageLink ul li.active a{background: #436344; color: #fff;}
.plan_pageLink ul li a:hover{opacity: 0.7;}
.plan_pageLink p{text-align: center; font-size: 1.3rem; letter-spacing: 2px; margin: 10px;}

@media screen and (max-width: 991px){
    .plan_pageLink ul li a{font-size: 2.0rem;}
}
@media screen and (max-width: 767px){
    .page_item_name{font-size: 1.6rem;}
    .page_item_name::before{height: 60px;}

    .plan_pageLink{margin-bottom: 20px;}
    .plan_pageLink ul li{width: 30%; margin: 0 2px;}
    .plan_pageLink ul li:nth-child(3){width: 40%;}
    .plan_pageLink ul li a{font-size: 1.2rem; letter-spacing: 0;}
    .plan_pageLink p{font-size: 1.0rem; letter-spacing: 0;}
}

/* new_plantype_area ================*/
#new_plantype_area{}

.new_plantype_wrap{display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; padding: 120px 0;}
.new_plantype_wrap:nth-child(1){margin-top: -40px;}
.new_plantype_wrap + .new_plantype_wrap{border-top: 1px solid #333;}
.new_plantype_text{width: 50%;}
.new_plantype_img{width: 50%; text-align: center;}

.plantype_spec{display: flex; flex-wrap: wrap; margin-bottom: 60px; border-top: 1px solid #c5c5c5;border-bottom: 1px solid #c5c5c5; padding: 12px 0;}
.plantype_spec b{font-size: 3.8rem; line-height: 1;}
.spec_01{padding: 3px 16px; background: #7b5d36; color: #fff; font-size: 2rem; font-weight: bold; letter-spacing: 2px; border-right: 1px solid #251e1c;}
.spec_01 b{font-size: 3rem;}
.spec_02{padding: 0 20px; border-right: 1px solid #251e1c; color: #7b5d36;}
.spec_03{font-size: 2.2rem; font-weight: bold; padding-left: 20px; color: #7b5d36;}

.plantype_payment{}
.plantype_payment h3{font-size: 2.3rem; font-weight: bold; margin-bottom: 5px;}
.plantype_payment table{width: 100%;}

.payment_line01 th{font-size: 2.0rem; font-weight: bold; color: #7b5d36; border-top: 1px solid #c5c5c5; background: #fbf9ed; padding: 15px;}
.payment_line02 td{font-size: 2.2rem; font-weight: bold; padding:5px 0;}
.payment_line02 td span{font-size: 2.2rem; color: #7b5d36;}
.payment_line02 td span b{font-size: 4.2rem; letter-spacing: 0;}
.payment_line02 td small{font-size: 1.2rem;}

.payment_line03{}
.payment_line03 td{font-size: 1.8rem; line-height: 1.2; border-top: 1px solid #c5c5c5; text-align: center; padding: 15px 0;}
.payment_line03 td{width: 29%; position: relative;}
.payment_line03 td::before{content: ""; width: 1px; height: 70%; background: #c5c5c5; display: block; position: absolute; top: 15%; left: 0;}
.payment_line03 td span{position: absolute; top: 50%; left: 0; transform: translate(-50%,-50%);}
.payment_line03 td:nth-child(1){width: 13%;}
.payment_line03 td:nth-child(1)::before{display: none;}
.payment_line03 small{font-size: 1.2rem;}
.payment_line03 b{font-size: 3.0rem; line-height: 1.2; color: #7b5d36;}

.payment_line04{}
.payment_line04 td{text-align: center; font-size: 1.8rem; border-top: 1px solid #c5c5c5; padding: 10px 0;}
.payment_line04 td b{font-size: 3.0rem; line-height: 1.2; color: #7b5d36;}

.other_plans{font-size: 1.3rem; background: #ececec; text-align: center; letter-spacing: 0;}
.other_plans b{font-size: 2.5rem; color: #7b5d36;}

.new_plantype_text .anno{margin-top: 15px;}
.new_plantype_text .anno p{font-size: 10px; position: relative; padding-left: 10px;}
.new_plantype_text .anno p::before{content: "※"; position: absolute; top: 0; left: 0;}
.new_plantype_text .anno .anno_img{margin-top: 15px;}

@media screen and (max-width: 991px){
    .new_plantype_text{width: 100%;}
    .new_plantype_img{display: none;}

    .plantype_spec{justify-content: center; margin-bottom: 20px;}
    .plantype_img{text-align: center; margin-bottom: 20px;}
}

@media screen and (max-width: 767px){
    .new_plantype_wrap{padding: 50px 0;}
    .new_plantype_wrap:nth-child(1){}

    .plantype_spec{margin-bottom: 10px;}
    .plantype_spec b{font-size: 2.5rem;}
    .spec_01{font-size: 2.0rem; padding-right: 10px;}
    .spec_02{padding: 0 10px;}
    .spec_03{font-size: 1.6rem; padding-left: 10px;}

    .plantype_payment{margin-left: -10px; margin-right: -10px;}
    .plantype_payment h3{font-size: 1.8rem;}
    .payment_line01 th{font-size: 1.6rem; padding: 10px;}
    .payment_line02 td{font-size: 2.0rem; text-align: center; padding: 5px 0 10px;}
    .payment_line02 td span{font-size: 1.6rem;}
    .payment_line02 td span b{font-size: 3.0rem;}
    .payment_line02 td small{display: block;}
    .payment_line03 td{font-size: 1.2rem;}
    .payment_line03 b{font-size: 1.8rem;}
    .payment_line03 small{font-size: 10px;}
    .payment_line03 td span{width: 10px;}
    .payment_line04 td{font-size: 1.4rem;}
    .payment_line04 td b{font-size: 2.5rem;}
    .other_plans{font-size: 1.2rem;}
    .other_plans b{font-size: 2.0rem;}
}

.plan_img_wrap{max-width: 1390px; width: 100%; margin: 0 auto;
    display: flex; flex-wrap: wrap; justify-content: center;}
.plan_img_box{width: calc(100% / 3);}
.plan_img_box img{width: 100%;}
.plan_img_box p{text-align: center; font-size: 3.0rem;}

@media screen and (max-width: 767px){
    .plan_img_wrap{padding: 0 15%;}
    .plan_img_box{width: 100%; margin-top: 15px;}
    .plan_img_box p{font-size: 2rem;}
}



.new_plantype_wrap:has(.plantype_inner){display: block;}
.plantype_inner{display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center;}

.payment_example{max-width: 1000px; width: 100%; margin: 0 auto; padding: 0 0 40px;}
.payment_example_type{font-size: 2.2rem; margin: 0 0 10px;}
.payment_example table{width: 100%; border-top: 1px solid #ccc; border-left: 1px solid #ccc;}
.payment_example tr th,
.payment_example tr td{width: calc(100% / 3); vertical-align: middle; border-bottom: 1px solid #ccc; border-right: 1px solid #ccc; font-size: 2.0rem;}
.payment_example tr th{padding: 10px 20px; text-align: center; border-left: 1px solid #fff;}
.payment_example tr th:nth-child(1){border-left: none;}
.payment_example tr th span{font-size: 80%; line-height: 1.2; background:#fff; padding: 2px 5px; border-radius: 5px; display: inline-block; margin: 10px 0 0;}
.payment_example tr th.advance{background: #7b5d36; color: #fff;}
.payment_example tr th.monthly{background: #2e588b; color: #fff;}
.payment_example tr th.advance span{color: #7b5d36;}
.payment_example tr th.monthly span{color: #2e588b;}

.payment_example tr td{padding: 10px 30px; text-align: right;}
.payment_example tr td:nth-child(1){border-left: 1px solid #ccc; background: #f7f7f7; text-align: left;}
.payment_example tr td:nth-child(2),
.payment_example tr td:nth-child(3){font-size: 3.0rem;}
.payment_example tr.breakdown td{padding-left: 60px;}
.payment_example tr td small{font-size: 80%;}
.payment_example tr td b{font-size: 145%;}

.payment_example tr td.advance{color: #7b5d36; font-weight: 700; background: #fff7eb;}
.payment_example tr td.monthly{color: #2e588b; font-weight: 700; background: #eff6ff;}
.payment_example tr.thick td{border-top:2px solid #000; border-bottom:2px solid #000;}
.payment_example tr.thick td:nth-child(1){border-left:2px solid #000;}
.payment_example tr.thick td:last-child{border-right:2px solid #000;}
.payment_example tr.breakdown td:nth-child(1){border-left:2px solid #000;}
.payment_example tr.breakdown td:last-child{border-right:2px solid #000;}
.payment_example tr.thick_last td{border-bottom:2px solid #000;}


.breakdown_btn{display: block; vertical-align: middle; margin: 10px 0 2px; border-radius: 20px; padding: 5px 5px;
    background: var(--red); color: #fff; position: relative; text-align: center;
    font-size: 1.8rem;
}
.breakdown_btn::before{content: ""; width: 0; display: block; position: absolute; top: 50%; right: 10px; transform: translateY(-50%); transition: 0.3s;
    border-top: 10px solid #fff; border-left: 8px solid transparent; border-right: 8px solid transparent;
}
.breakdown_btn:hover{cursor: pointer; opacity: 0.7;}
.breakdown_btn.open::before{transform: rotate(180deg);}

.payment_example table.breakdown_table{border-top: none; display: none;}
.payment_example table.breakdown_table tr.breakdown td{color: #565656;}

.payment_example .swipeIcon{display: none;}

.new_plantype_wrap .anno{margin-top: 15px;}
.new_plantype_wrap .anno p{font-size: 10px; position: relative; padding-left: 10px;}
.new_plantype_wrap .anno p::before{content: "※"; position: absolute; top: 0; left: 0;}
.new_plantype_wrap .anno .anno_img{margin-top: 15px;}

@media screen and (max-width: 991px){
    .payment_example{margin-top: 50px;}

}
@media screen and (max-width:640px){
    .payment_example{margin-top: 30px;}
    .payment_example tr th:nth-child(1),
    .payment_example tr td:nth-child(1){width: 120px;}
    .payment_example tr th,
    .payment_example tr td{width: calc((100% - 120px) / 2);}
	.payment_example tr th{font-size: 1.3rem; padding: 10px;}
    .payment_example tr th span{font-size: 78%;}
    .payment_example tr td{padding: 8px;}
    .payment_example tr td:nth-child(1){font-size: 1.3rem;}
    .payment_example tr td:nth-child(2),
    .payment_example tr td:nth-child(3){font-size: 1.8rem;}
    .payment_example tr.breakdown td{padding-left: 20px;}
    .payment_example tr td b{font-size: 115%;}
    .payment_example table.breakdown_table tr.breakdown td{font-size: 1.3rem;}

    .breakdown_btn{font-size: 1.2rem; text-align: left; padding-left: 10px;}
    .breakdown_btn::before{border-top: 8px solid #fff; border-left: 6px solid transparent; border-right: 6px solid transparent;}
}

@media screen and (max-width:640px){
    .payment_example .swipeIcon{display: block;}
	.payment_example table{width: 400px;}
}


/* plan_type_lead */
.plan_type_lead{margin: 0 0 40px;}
.plan_type_leadBox{border: 1px solid #333; padding: 20px; display: flex; flex-direction: column; align-items: center;}
.plan_type_leadBox h3{font-size: 2.2rem; border-bottom: 1px solid #333; width: 100%; text-align: center; padding-bottom: 10px; margin-bottom: 10px;}
.plan_type_leadBox h3 + p{margin-bottom: 20px;}
.plan_type_leadBox ul li + li{margin-top: 10px;}
.plan_type_leadBox ul li{line-height: 1.8; font-weight: 700; font-size: 2.0rem;}
.plan_type_leadBox ul li span{font-size: 160%; font-weight: 700; display: inline-block;
    padding: 2px 10px 3px; margin-right: 10px;
}
.plan_type_leadBox ul li.advance{color: #7b5d36;}
.plan_type_leadBox ul li.monthly{color: #2e588b;}

@media screen and (max-width:640px){
    .plan_type_leadBox h3{font-size: 1.8rem;}
    .plan_type_leadBox h3 + p{font-size: 1.4rem;}
    .plan_type_leadBox ul li{font-size: 1.4rem;}
    .plan_type_leadBox ul li span{display: block; text-align: center; margin: 0 0 5px;}
}
