@charset "utf-8";
/* common =================== */
#container{
	min-width: 1000px;
}
main .inner{
	width: 81%;
	max-width: 1300px;
	min-width: 1000px;
	margin: 0 auto;
}
.photobox img{
	width: 100%;
	height: auto;
}

h2{
	font-weight: 500;
	letter-spacing: 0.18em;
}
br.for_sp{
	display: none;
}
h2 .cap{
	font-size: 1rem;
	font-weight: 400;
}
/* index =================== */
/* galley */
.stage{
	margin-bottom: 162px;
}
.page_index h2,
.page_index h2 strong{
	font-size: 2.4rem;
	font-weight: 500;
	letter-spacing: 0.18em;
}
.page_index h2 span{
	font-size: 1.5rem;
	letter-spacing: 0.05em;
	color: #989384;
	margin-right: 15px;
}
/* Sales ------ */
#index_sales{
	margin-bottom: 124px;
}
#index_sales .wrap{
	position: relative;
	overflow: hidden;
}
#index_sales h2{
	margin-bottom: 32px;
	border-bottom: 1px solid #000000;
	position: relative;
}
#index_sales a h2{
	color: #000000;
}
#index_sales a h2 span{
	color: #222222;
}
/* 1～5枚目共通 */
#index_sales .wrap a{
	display: block;
	overflow: hidden;
	background: #231815;
	aspect-ratio: 960 / 640;
	text-align: center;
	position: relative;
}
#index_sales .wrap{
	aspect-ratio: 1300 / 432;
	overflow: hidden;
}
/* 1枚目枠 */
#index_sales .wrap > a{
	position: absolute;
	width: calc( 50% - 1px );
	left: 0;
	top: 0;
	aspect-ratio: 960 / 640;
}
/* 2～5枚目枠 */
#index_sales .wrap .flex{
	position: absolute;
	left: calc( 50% + 2px );
	width: calc( 50% - 1px );
	top: 0;
	flex-wrap: wrap;
	overflow: hidden;
}
#index_sales a img{
	width: 100%;
	height: auto;
	object-fit: cover;
	opacity: 0.8;
}
#index_sales .wrap .flex a{
	/* 2枚目～ */
	width: calc( 50% - 2px );
	margin-bottom: 2px;
}
#index_sales .wrap .flex a:nth-child(odd){
	margin-right: 2px;
}
#index_sales a h3{
	position: absolute;
	left: 10px;
	top: 5px;
	color: #ffffff;
	font-size: 1.6rem;
	z-index: 3;
	text-shadow: #444444 2px 0 4px;
}
#index_sales .wrap > a h3{
	width: 100%;
	text-align: center;
	line-height: 2;
	height: 2em;
	top: auto;
	bottom: 4px;
	left: 0;
	position: absolute;
	font-weight: 400;
}
#index_sales h3{
	font-weight: 400;
}
#index_sales a .arrow {
	width: 21px;
	height: 21px;
	position: absolute;
	z-index: 4;
	bottom: 8px;
	right: 10px;
	border-radius: 50%;
}
#index_sales a:hover .arrow {
	background: #ffffff;
	transition : 1s;
}
#index_sales .wrap a:hover img{
	opacity: 1;
	transition : 1s;
	transform: scale(1.04);
	transform-origin: 50% 50%;
}
#index_brand .title img,
#index_sales .linkarrow img,/* 作業後消す */
#index_sales h2 span img,
.btn_zeh img{
	width: 18px;
	height: 18px;
	filter: invert(65%) sepia(7%) saturate(559%) hue-rotate(8deg) brightness(88%) contrast(89%);
	/* 元アイコンが白 (#fff) の場合 → #989384 に寄せる */
	filter: invert(7%) sepia(95%) saturate(251%) hue-rotate(321deg) brightness(69%) contrast(51%);
	opacity: 0.8;
	transition :  0.5s;
}
#index_brand .title img,
#index_sales h2 span.txtarrow{
	position: absolute;
	right: 6px;
	top: 50%;
	margin-top: -7px;
}
#index_sales h2 span.txtarrow{
	text-align: left;
	line-height: 1;
	margin-right: 0;
}
#index_sales h2 span.txtarrow img{
	margin-left: 4px;
}
p.btn_zeh{
	margin-top: 30px;
	margin-bottom: 80px;
}
.btn_zeh a{
	border: 1px solid #333333;
	color: #333333;
	display: block;
	height: 1.5em;
	line-height: 1.5;
	padding: 14px;
	box-sizing: content-box;
	vertical-align: middle;
	text-align: center;
	margin: 0 auto;
	transition :  0.5s;
}
.type_pc .btn_zeh a{
	width: 50%;
}
.type_sp .btn_zeh a{
	width: calc( 100% - 70px );
}
.btn_zeh a img{
	vertical-align: middle;
	margin-left: 4px;
}
.btn_zeh a:hover img,
.btn_zeh a:active img{
	opacity: 1;
}
.btn_zeh a:hover,
.btn_zeh a:active{
	border: 1px solid #000000;
	color: #000000;
}
#index_sales .linkarrow img{
	margin-left: 4px;
}
#index_sales .linkarrow{
	font-size: 1.5rem;
	letter-spacing: 0;
	line-height: 1;
	margin: 20px 30px 10px 10px;
}
#index_sales .linkarrow a{
	color: #333333;
}
#index_sales .linkarrow a:hover img{
	opacity: 1;
}
#index_sales .linkarrow a:hover,
#index_sales .linkarrow a:active{
	color: #000000;
}
#index_brand a:hover .title img,
#index_brand a:active .title img,
#index_sales a:hover h2 img,
#index_sales a:active h2 img{
	opacity: 1;
}
/* News  ------ */
#index_news{
	margin-bottom: 124px;
}
#index_news h2{
	margin-bottom: 22px;
}
#news_list{
	border-top: 1px solid #000000;
}
#news_list div{
	display: flex;
	border-bottom: 1px solid #000000;
}
#news_list div dt{
	padding: 12px 15px;
	font-size: 1.5rem;
}
#news_list div dd{
	flex-grow: 1;
}
#news_list div a{
	padding: 12px 15px;
	display: block;
	position: relative;
	color: #000000;
}
#news_list div a:after{
	position: relative;
	content: '';
	width: 100%;
	height: 1px;
	background-color:#000000;
	position: absolute;
	bottom: 0;
	left: 0;
	transform: scale(0,1); /* 線のx軸の長さを0 */
	transition: 0.35s;
	transform-origin: left top; /* 要素の座標の原点*/
}
#news_list div a:hover:after{
	transform: scale(1,1); /* 線のx軸の長さを1 */
}

/* 会員登録バナー  ------ */
a.banner_member{
	display: flex;
	justify-content: center;
	align-items: center;
	color: #ffffff;
	text-align: center;
	font-size: 2.3rem;
	font-family: "Sawarabi Mincho", serif;
	margin: 120px auto;
	background: url(../img/index/banner_member.jpg) no-repeat center center	;
	opacity: 1;
}
a.banner_member p{
	height: 190px;
	width: 100%;
	background: #989384	;
	opacity: 0.93;
	transition : 0.5s;
	padding-top: 40px;
}
a.banner_member p:hover,
a.banner_member p:active{
	opacity: 0.8;
	background: #797464;
}
a.banner_member strong{
	font-size: 3.3rem;
	font-weight: 500;
	display: block;
	letter-spacing: 0.1em;
}
.page_index main aside{
	margin-bottom: 124px;
}
/* Collection  ------ */
#index_collection{
	margin-bottom: 150px;
}
#index_collection h2{
	margin-bottom: 60px;
}
#index_collection a{
	width: 100%;
	display: block;
	border-bottom: 3px solid #ffffff;
}
#index_collection article{
	height: 413px;
	z-index: 1;
	padding-top: 40px;
	background: rgba(35, 24, 21,0.15);
	transition : 0.5s;
}
#index_collection a{
	color: #ffffff;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}
#index_collection article:hover,
#index_collection article:active{
	background: rgba(35, 24, 21,0);
}
a#index_land{background-image: url(../img/index/bg_land.jpg);}
a#index_design{background-image: url(../img/index/bg_design.jpg);}
a#index_equipment{background-image: url(../img/index/bg_equipment.jpg);}
a#index_value{background-image: url(../img/index/bg_value.jpg);}

a#index_land h3,
a#index_land p{text-shadow: #587999 0 0 3px;}
a#index_design h3,
a#index_design p{text-shadow: #455A85 0 0 3px;}
a#index_equipmen h3,
a#index_equipmen p{text-shadow: #7C6258 0 0 3px;}
a#index_value h3,
a#index_value p{text-shadow: #7D776D 0 0 3px;}

a#index_land:hover h3,
a#index_land:hover p{text-shadow: #1F395C 0 0 7px;}
a#index_design h3,
a#index_design p{text-shadow: #192B56 0 0 7px;}
a#index_equipmen h3,
a#index_equipmen p{text-shadow: #3C261E 0 0 7px;}
a#index_value h3,
a#index_value p{text-shadow: #3D382F 0 0 7px;}

#index_collection article div{
	position: relative;
	z-index: 10;
	opacity: 1;
	width: 90%;
	max-width: 1300px;
	min-width: 1000px;
	margin-right: auto;
	margin-left: auto;
}
#index_collection article h3{
	width: 274px;
	padding:0 2px 2px 2px;
	border-bottom: 1px solid #ffffff;
	z-index: 10;
	background: url(../img/arrow_circle.svg) no-repeat;
	background-position: right 4px bottom 4px;
	background-size: 17px 17px;
	margin-bottom: 20px;
}
#index_collection h3,
#index_collection h3 strong,
#index_collection h3 span{
	font-size: 1.5rem;
	font-weight: 400;
}
#index_collection h3 strong{
	margin-right: 17px;
	font-weight: 500;
}
#index_collection h3 span{
	font-size: 1.2rem;
}
#index_collection article p{
	font-size: 2.1rem;
	line-height: 1.4;
}
/* Brand  ------ */
#index_brand{
	display: flex;
	flex-direction: column;
	margin-bottom: 152px;
}
#index_brand a{
	order: 2;
}
#index_brand .title{
	border-bottom: 1px solid #000000;
	display: flex;
	flex-direction: row;
	background-position: right 4px bottom 4px;
	background-size: 17px 17px;
	position: relative;
}
#index_brand .cont{
	order: 1;
	position: relative;
	text-align: center;
	margin-bottom: 28px;
}
#index_brand a p {
	color:#000000;
}
/* 見出し */
#index_brand .title h2 strong{
	font-size: 1.6rem;
	font-weight: 400;
	color: #989384;
	margin-right: 20px;
}
#index_brand .title h2 span{
	font-size: 1.2rem;
	font-weight: 400;
	margin-right: 40px;
}
#index_brand .title p{
	font-size: 2.2rem;
}
#index_brand .cont > div{
	display: flex;
	flex-direction: column;
	aspect-ratio: 1 / 1;
}
/* brand 1 */
#index_brand .cont div:first-child img{	order: 1;}
#index_brand .cont div:first-child h3{ order: 3;}
#index_brand .cont div:first-child p{ order: 2;}
#index_brand .cont div:first-child{
	width: 66.35%;
	background: #989384;
}
#index_brand .cont > div:first-child{
	color: #ffffff;
}
#index_brand .cont > div:first-child p{
	font-size: 3rem;
	font-size: clamp(2.6rem, 2.307vw, 3.15rem);;
	margin-top: 4%;
	letter-spacing: 0.15em;
	text-indent: 0.5em;
}
#index_brand .cont > div:first-child h3{
	margin-top: 0.6%;
	font-size: clamp(2.09rem, 1.846vw, 2.55rem);
	letter-spacing: 0.1em;
	font-weight: 400;
}
/* brand 2・3 */
#index_brand .cont div:nth-child(2),
#index_brand .cont div:nth-child(3){
	width: 32.70%;
	position: absolute;
	right: 0;
	justify-content: space-between;
	color: #000000;
}
#index_brand .cont div:nth-child(2) div,
#index_brand .cont div:nth-child(3) div{
	display: flex;
	flex-direction: column;
	order: 2;
	width: 100%;
	background: none;
	padding: 4px 10px 20px 10px;
	border-left: 1px solid #000000;
	border-bottom: 1px solid #000000;
	color: #000000;
}
#index_brand .cont div:nth-child(2) div p,
#index_brand .cont div:nth-child(3) div p{
	font-size: 2.2rem;
	font-size: clamp(1.8rem, 1.692vw, 2.2rem);
	letter-spacing: 0.1em;
	order: 1;
	text-indent: 0.3em;
}
#index_brand .cont div:nth-child(2) div h3,
#index_brand .cont div:nth-child(3) div h3{
	font-weight: 400;
	font-size: 1.8rem;
	font-size: clamp(1.47rem, 1.384vw, 1.8rem);
	letter-spacing: 0.1em;
	order: 2;
}
/* brand 2 */
#index_brand .cont div:nth-child(2){
	top: 0;
}
/* brand 3 */
#index_brand .cont div:nth-child(3){
	bottom: 0;
}
#index_brand .cont div img{
	width: 100%;
	height: auto;
}
/* ページ下部リンク  ------ */
#index_links{
	display: flex;
	justify-content: space-between;
	margin-bottom: 154px;
}
#index_links a{
	background: #dddddd;
	color: #ffffff;
	width: 30.14%;
	aspect-ratio: 318 / 230;
	display: flex;
}
#index_links article{
	width: 100%;
	aspect-ratio: 318 / 230;
	justify-content: center;
	align-items: center;
	display: flex;
}
#index_links article h2{
	width: 68.86%;
	min-width: 268px;
	border-bottom: 1px solid #ffffff;
	font-weight: 400;
	font-size: 1.7rem;
	letter-spacing: 0;
	background: url(../img/arrow_circle.svg) no-repeat;
	background-position: right 4px bottom 4px;
	background-size: 17px 17px;
}
#index_links article h2 strong{
	font-size: 1.2rem;
	font-weight: 400;
}
#index_links article h2 span{
	font-size: 1.7rem;
	color: #ffffff;
}
/* バナーデザイン */
#index_links a[href*="/works"],
#index_links a[href*="/after-service"],
#index_links a[href*="/company"]{
	background-size: contain;
}

#index_links a[href*="/works"]{
	background-image:url(../img/index/links_work.jpg) ;
}
#index_links a[href*="/after-service"]{
	background-image:url(../img/index/links_afterservice.jpg);
}
#index_links a[href*="/company"]{
	background-image:url(../img/index/links_company.jpg);
}
#index_links a article{
	background: rgba(35, 24, 21,0.75);
	transition : 0.5s;
}
#index_links a:hover article,
#index_links a:active article{
	background: rgba(35, 24, 21,0.5);
}
/* 下層共通 =================== */
/* INTRO */
.inner.intro{
	line-height: 2.334;
	padding-top: 114px;
	margin-bottom: 110px;
}
.inner.intro h2{
	margin-bottom: 24px;
}
.inner.intro .copybox{
	justify-content: space-between;
	margin-bottom: 107px;
}
.inner.intro .copybox .photobox{
	width: 50%;
}
p.cap{
	font-size: 1.1rem;
}
/* Land =================== */
.page_land #siteid img{
	-webkit-filter: none; /* Safari等Webkit用 */
	filter: none; 
}
/* INTRO */
#land_intro .photobox3{
	justify-content: space-between;
}
#land_intro .photobox3 img{
	width: 28.53%;
	height: auto;
}
/* MAP */
#land_map{
	margin-bottom: 150px;
}
#land_map .flex{
	justify-content: space-between;
}
#land_map .mapbox{
	width: 67.46%;
	position: relative;
}
#land_map .photobox{
	width: 28.53%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
#land_map .mapbox img{
	width: 100%;
	height: auto;
}
/* Design =================== */
.page_design #siteid img{
	-webkit-filter: none; /* Safari等Webkit用 */
	filter: none; 
}
/* INTRO */
#design_intro .photobox3{
	position: relative;
	aspect-ratio: 1056 / 704;
	margin-bottom: 2%;
}
#design_intro .photobox3 img{
	height: auto;
	position: absolute;
}
#design_intro .photobox3 .photo01,
#design_intro .photobox3 .photo02{
	width: 48.01%;
}
#design_intro .photobox3 .photo03{
	width: 49.90%;
}
#design_intro .photobox3 .photo01{left:0;top:0;}
#design_intro .photobox3 .photo02{left:0;bottom:0;}
#design_intro .photobox3 .photo03{right:0;top:0;}

#design_intro #design_gallery{
	margin-bottom: 200px;
}
/* CRAY */
.page_design .bg_beige{
	background: #EAE9E5;
	margin-bottom: 5px;
}
.page_design .bg_beige + p.cap{
	margin-bottom: 155px;
}
#design_cray{
	padding: 83px 0 73px 0;
}
#design_cray .txtbox,
#design_cray .txtbox2,
#design_cray .txtbox3{
	justify-content: space-between;
}
#design_cray .txtbox{
	margin-bottom: 60px;
}
#design_cray .txtbox .photobox{
	width: 21.78%;
}
#design_cray h2,
#design_cray h3{
	color: #999485;
}
#design_cray h2{
	font-size: 2.275rem;
	margin-bottom: 20px;
}
#design_cray .cap{
	text-align: right;
}
#design_cray p{
	line-height: 2.2;
}
#design_cray .txtbox2{
	margin-bottom: 60px;
}
#design_cray .txtbox2 div{
	width: 49%;
}
#design_cray .txtbox3 div:first-child{
	width: 45.9%;
}
#design_cray .txtbox3 div:nth-child(2){
	width: 27%;
}
#design_cray .txtbox3 div:first-child,
#design_cray .txtbox3 div:nth-child(2){
	overflow: hidden;
}
#design_cray .txtbox3 div:first-child img,
#design_cray .txtbox3 div:nth-child(2) img{
	object-fit: cover;
}
#design_cray .txtbox3 div:nth-child(3){
	width: auto ;
	padding-left: 1em;
	padding-right: 0.5em;
	position: relative;
}
#design_cray .txtbox3 div:nth-child(3) img{
	width: calc( 100% - 1.5em ) ;
	height: auto;
	position: absolute;
	bottom: 0;
}
/* Equipment =================== */
.page_equipment .titleobox{
	background: #dddddd;
	height:calc( 50% - 2px );
}
.page_equipment .box{
	display: flex;
	justify-content: space-between;
	overflow: hidden;
}
.page_equipment .box,
.page_equipment .box div{
	position: relative;
}
.page_equipment .boxtype01{
	margin-bottom: 4px;
}
.page_equipment .boxtype01 > div{
	width:calc( 50% - 2px );
	aspect-ratio: 524 / 363;
}
.page_equipment .updown{
	flex-direction: column;
}
.page_equipment .boxtype01 .updown > div{
	flex-direction: row;
	height:calc( 50% - 2px );
}
#box02{
	margin-bottom: 100px;
}
/* 2つめ */
.page_equipment #box03 > div{
	width:calc( 50% - 2px );
	aspect-ratio: 524 / 734;
}
.page_equipment #box03 .updown .half,
.page_equipment #box03 .updown .titleobox,
.page_equipment #box04 .updown .titleobox{
	height: calc( (100% - 12px) / 4 );
}
/* 3つめ */
.page_equipment #box04.updown {
	flex-direction: column;
}
.page_equipment #box04.updown .width4 .width3{
	width: calc(((( 100% - 12px ) / 4 ) * 3) + 8px);
	margin-bottom: 4px;
}
.page_equipment #box04.updown .width4 .width1{
	width: calc(( 100% - 12px ) / 4 );
	margin-bottom: 4px;
}
.page_equipment #box04{
	margin-top: 100px;
	margin-bottom: 150px;
}
.page_equipment #box04 .titleobox{
	height: 100%;
	aspect-ratio: 640 / 443;
}
/* 装飾 */
.page_equipment .titleobox{
	background: #EAE9E5;
	text-align: center;
	color:#989384;
	font-size: 3.1rem;
	padding: 6px;
}
.page_equipment .titleobox p{
	border: 1px solid #989384;
	height: 100%;
	position: relative;
	line-height: 1;
	text-align: center;
}
.page_equipment .titleobox p span{
	display: block;
	position: absolute;
	width: 100%;
	top: 50%;
	margin-top: -1.65rem;
	text-align: center;
}
.page_equipment .titleobox.line2 p{
	line-height: 1.2;
}
.page_equipment .titleobox.line2 p span{
	margin-top: -3.72rem;
}
/* 装飾 */
.page_equipment .box .copy{
	background: #BAB6AA;
	color: #ffffff;
	position: absolute;
}
.page_equipment .box div.copy{
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 16px 20px 18px 20px;
}
.page_equipment .box p.copy{
	display: inline-block;
	bottom: 6px;
	right: 0;
	padding: 2px 4px ;
	line-height: 1.2;
	font-size: 1.3rem;
	background: #989384;
}
.page_equipment .box .copy h3{
	font-size: 1.6rem;
}
.page_equipment .box .copy p{
	font-size: 1.4rem;
	line-height: 1.3;
}
/* Value =================== */
.page_value h2,
.page_land #land_map h2{
	letter-spacing: 0.1em;
}
#value_intro{
	justify-content: space-between;
	padding-left: 9%;
	padding-top: 114px;
	margin-bottom: 110px;
}
#value_intro .photobox{
	width: 62.7%;
	margin-left: -1%;
}
#value_intro .txtbox{
	width: 37.3%;
	min-width: 470px;
}
#value_intro h2{
	margin-bottom: 36px;
}
#value_intro p{
	line-height: 2.2;
}
#value_achievement{
	margin-bottom: 150px;
	position: relative;
}
#value_achievement .pic_achievement{
	width:98.79%;
}
#value_achievement .pic_graph{
	width:32.459%;
	position: absolute;
	bottom: 0;
	right: 0;
}
/* 保証グラフ */
#value_guarantee{
	margin-bottom: 150px;
}
#value_guarantee .flex{
	justify-content: space-between;
}
#value_guarantee p{
	width: 33%;
}
#value_guarantee .photobox{
	width: 65%;
}
#value_guarantee h2{
	margin-bottom: 25px;
}
#value_guarantee p{
	line-height: 2.2;
}
/* Brand =================== */
#brand_intro{
	padding-top: 114px;
	text-align: center;
}
#brand_intro h2{
	margin-bottom: 35px;
}
#brand_intro p{
	line-height: 2.2;
}
/* LOGO */
#brand_exp{
	justify-content: space-between;
	padding-left: 9%;
	padding-top: 114px;
	margin-bottom: 110px;
}
#brand_exp .logobox{
	width: 33%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding-left: 10px;
}
#brand_exp .photobox{
	width: 67%;
}
/* Works =================== */
#works_intro{
	padding-top: 114px;
	margin-bottom: 86px;
}
#works_intro img{
	width: 100%;
	height: auto;
}
.page_works main .inner{
	max-width: 1284px;
}
.page_works .box.inner{
	margin-bottom: 4px;
}
.page_works .box{
	justify-content: space-between;
	display: flex;
}
.page_works .box01 .one{
	width: calc(( 100% - 4px ) * 0.445 );
	aspect-ratio: 573 / 858;
	overflow: hidden;
}
.page_works .box01 .one img{
	object-fit: cover;
	aspect-ratio: 640 / 959;
	vertical-align: bottom;
	line-height: 1.0em;
	height: 100%;
	width: auto;
}
.page_works .updown{
	flex-direction: column;
}
.page_works .box01 .updown{
	width: 54.69%;
	flex-direction: column;
	width: calc(( 100% - 4px ) * 0.555 );
}
.page_works .box01 .updown .photobox:first-child{
	margin-bottom: 4px;
}
.page_works .box.box10{
	margin-bottom: 120px;
}
.box.half{
	display: flex;
}
.box.half .photobox,
.box.half .updown{
	width: calc( ( 100% - 4px ) / 2 );
}
.box.half .updown .photobox{
	width: 100%;
}
/* After service =================== */
#after_intro{
	padding-top: 114px;
	text-align: center;
	margin-bottom: 105px;
}
#after_intro h2{
	margin-bottom: 34px;
}
#after_intro p{
	line-height: 2.2;
}
#after_point{
	flex-wrap: wrap;
	justify-content: space-between;
}
#after_point section{
	width: 45.25%;
	margin-bottom: 83px;
}
#after_point section h3,
#after_point section h4{
	font-weight: 500;
}
#after_point section h3{
	color: #989384;
	border-bottom: 1px solid #989384;
	font-size: 2.75rem;
	margin-bottom: 23px;
}
#after_point section h4{
	font-size: 2.3rem;
	margin-bottom: 15px;
	line-height: 1.5;
}
#after_point section p{
	line-height: 2.2;
	margin-bottom: 40px;
}
#after_point .point03 img{
	width: 46%;
	height: auto;
}
#after_point .point04 .photobox{
	text-align:right;
}
#after_point .point04 img{
	width: 69%;
	height: auto;
	left: auto;
}
#after_point .point04 p{
	margin-bottom: 0.1em;
}
/* Privacy =================== */
.page_privacy #mainvisual h1 img{
	-webkit-filter: drop-shadow(0 0 8px rgba(0, 0, 0, 0.6)); /* Safari等Webkit用 */
	filter: drop-shadow(0 0 8px rgba(0, 0, 0, 0.6)); 
}
.page_privacy main{
	line-height: 2.2;
}
.page_privacy main .inner{
	max-width: 1000px;
	min-width: 800px;
}
.page_privacy main h2,
.page_privacy main h3{
	font-weight: 500;
}
.page_privacy main h2{
	font-size: 2.2rem;
	margin-bottom: 8px;
}
.page_privacy main h3{
	font-size: 2rem;
}
.page_privacy main dt:before{
	content:"■";
}
#policy{
	padding-top: 155px;
	margin-bottom: 150px;
}
#policy dt{
	margin-top: 20px;
}
.privacy_list{
	padding-top: 30px;
}
.privacy_list dd{
	padding-left: 2.75em;
}
.privacy_list dd ul{
	padding-left: 5em;
}
.privacy_list dd ul li{
	list-style-type: decimal	;
}
.privacy_list{
	margin-bottom: 90px;
}
/* Company =================== */
#company_intro{
	padding-top: 114px;
	text-align: center;
	margin-bottom: 110px;
}
#company_intro h2{
	margin-bottom: 35px;
}
.page_company main p{
	line-height: 2.3;
}
#company_intro .photobox{
	margin: 120px auto 0 auto;
	width: 60%;
}
.page_company main h3,
.page_company main h4{
	font-weight: 500;
}
.page_company main h3{
	color: #989384;
	font-size: 2.75rem;
	margin-bottom: 14px;
	vertical-align: baseline;
	padding-bottom:0;
	position: relative;
}
.page_company main h3:after{
	content:"";
	width: 100%;
	height: 1px;
	background: #989384;
	position: absolute;
	bottom: 12px;
	top: auto;
	left: 0;
}
.page_company main h4{
	font-size: 2.1rem;
	margin-bottom: 13px;
}
.page_company main p + h4{
	margin-top: 30px;
}
.page_company #summary .flex,
.page_company .mapbox{
	justify-content: space-between;
}
.page_company section + section{
	margin-bottom: 70px;
}
.page_company dl dt:before{
	content:"■";
}
.page_company dl dt:after{
	content:"／";
}
.page_company dl div{
	margin-bottom: 13px;
}
.page_company dl.outline dt,
.page_company dl.outline dd{
	display: inline-block;
}
.page_company dl.outline dd.block{
	display: block;
	padding-left: 6.25em;
}
.page_company dl img{
	height: 1em;
	width: auto;
	vertical-align: middle;
}
.page_company .photobox + p{
	line-height: 1.5;
	margin-top: 4px;
}
@media screen and ( max-width:1300px) {
	.page_company .photobox + p{
		font-size: 1.5rem;
	}
}
#organization .photobox{
	margin: 20px auto 0 auto;
	width: 52%;
}
.page_company .mapbox > div{
	width: 48%;
}
.btn_zeh {
}
/* Company ZEH =================== */
.page_zeh #mainvisual h1 img{
	-webkit-filter: drop-shadow(0 0 8px rgba(0, 0, 0, 0.6)); /* Safari等Webkit用 */
	filter: drop-shadow(0 0 8px rgba(0, 0, 0, 0.6)); 
}
.type_pc .page_zeh main .inner{
	max-width: 1000px;
	min-width: 800px;
}
#zeh_intro{
	padding-top: 114px;
	margin-bottom: 110px;
}
#zeh_intro h1,
#zeh_intro h2{
	text-align: center;
}
#zeh_intro h1{
	font-size: 2.8rem;
	font-weight: 500;
	margin-bottom: 30px;
	letter-spacing: 0.18em;
}
#zeh_intro .photobox{
	margin-top: 60px;
	margin-bottom: 100px;
}
#zeh_intro h2{
	font-size: 2.4rem;
	font-weight: 500;
	margin-bottom: 20px;
}
#zeh_intro p + p{
	margin-top: 20px;
}
#zeh_intro table{
	border-top: 1px solid #BAB6AA;
	width: 100%;
}
#zeh_intro th{
	padding: 15px;
	font-weight: 500;
	background: #EAE9E5;
	color: #797463;
}
#zeh_intro td{
	border-top: 1px solid #BAB6AA;
	border-bottom: 1px solid #BAB6AA;
	padding: 15px;
	text-align: center;
}
#zeh_intro td:last-child{
	font-size: 1.8rem;
}
#zeh_intro ol{
	list-style: none;
	counter-reset: zeh;
	margin-bottom: 60px;
}
#zeh_intro ol li{
	font-size: 2.2rem;
	margin-bottom: 30px;
	line-height: 2.4;
}
.type_sp #zeh_intro ol li{
	padding-left: 30px;
	text-indent: -27px;
	line-height: 1.3;
}
#zeh_intro ol p{
	font-size: 1.6rem;
	text-indent: 0;
	line-height: 1.5;
}
#zeh_intro ol li::before{
	counter-increment: zeh;
	/* カウンターの番号を表示させる */
	content: counter(zeh);
	font-size: 1.6rem;
	/* 以下、番号のスタイル */
	display: inline-flex;
	justify-content: center;
	align-items: center;
	vertical-align: middle;
	width: 2.4rem;
	height: 2.4rem;
	background-color: #947B83;
	color: #ffffff;
	margin-right: 3px;
	text-indent: 0;
}
.type_sp #zeh_intro th,
.type_sp #zeh_intro td{
	writing-mode: vertical-rl;
	padding: 15px 5px;
	text-orientation: upright;
}
/* Member Contact =================== */
#member_intro{
	padding-top: 114px;
	text-align: center;
	padding-bottom: 50px;
}
#formbox{
	max-width: 1000px;
	padding-top: 114px;
}
#formbox.inner a{
	color: #cc0000;
}
#formbox table{
/*	border-top: 1px solid #989384;*/
	margin-bottom: 50px;
}
#formbox table th,
#formbox table td{
/*	border-bottom: 1px solid #BAB6AA;*/
	padding: 22px 15px 22px 20px;
	border-bottom: 8px solid #ffffff;
}
#formbox table th{
	width: 230px;
	font-weight: 400;
	text-align: left;
	padding-left:30px;
	vertical-align: top;
}
#formbox table td{
	width: 770px;
}
#formbox table input,
#formbox table textarea,
#formbox table select,
#formbox table option{
	font-family:"meiryo",sans-serif;
	font-size: 1.6rem;
	padding: 2px 8px;
}
span.essential{
	font-size: 1.2rem;
	color: #cc0000;
	margin-left: 0.75em;
}
/*
input.essential,
td.essential,
div.essential{
	background:#FFDFDF;
}
*/
#formbox .essential:placeholder-shown,
#formbox td.essential,
#formbox select:invalid,
#formbox select option:first-child {
    background: #FFDFDF;
	transition : 0.5s;
}
#formbox .essential,
#formbox td.essential:has(input:checked),
#formbox select,
#formbox select option{
	background: none;
}
#formbox td label{
	font-size: 1.4rem;
	display: inline-block;
}
#formbox label span.sub{
	font-size: 1.2rem;
}
/* 個別 */
.label2 p.error_msg.familyname,
.label2 p.error_msg.firstname,
.label2 p.error_msg.familyname_kana,
.label2 p.error_msg.firstname_kana{
	margin-left: 2.7em;
}
#formbox input[type*="text"],
#formbox input[type*="tel"],
#formbox input[type*="email"],
#formbox select,
#formbox textarea{
	border: 1px solid #dddddd;
}
#formbox .flex div+div{
	margin-left: 40px;
}
.label2 label{
	width: 2.5em;
	margin-right: 0.2em;
}
#formbox td.labelblock label{
	display: block;
	margin-top: 10px;
}
/* サイズ */
#formbox input[type*="text"],
#formbox input[type*="tel"],
#formbox select{
	width: 240px;
}
#formbox input[type*="text"].p-postal-code{
	width: 120px;
}
#formbox #email,
#formbox #city,
#formbox #town,
#formbox #address{
	width: 100%;
}
#formbox td.floor_kind,
#formbox td.floor_space {
	padding-left: 30px;
	padding-right: 25%;
}
#formbox .floor_kind label,
#formbox .floor_space label,
#formbox .price label{
	display: inline-block;
	width: 30%;
}

#formbox .how label,
#formbox .about label{
	display: inline-block;
	width: 20%;
}
#formbox .floor_kind label,
#formbox .floor_space label,
#formbox .price label,
#formbox .situation label,
#formbox .how label,
#formbox .about label{
	font-size: 1.6rem;
	line-height: 2;
}
/* 横幅 */
#formbox tr.full td{
	width: 100%;
	min-width: 100%;
	padding-bottom: 0;
	padding-left: 30px;
	padding-top: 50px;
}
#formbox tr.full p.title{
	border-bottom: 1px solid #989384;
	font-size: 1.9rem;
	color:#989384;
	font-weight: 500;
	padding-left: 10px;
	margin-bottom: 20px;
}
#formbox tr.full p.title label{
	font-size: 1.9rem;
	color:#989384;
	font-weight: 500;
}
.areaselect p.essential,
.lineselect p.essential{
	margin-left: 0.5em;
}
#formbox tr.full td.message{
	padding-top: 10px;
}
#formbox textarea{
	width: 100%;
	height: 8em;
}
#formbox #btn_submit_form a{
	background-color: #B0AC9F;
	color: #ffffff;
	padding: 15px 20px;
	border: none;
	cursor: pointer;
	font-size: 1.7rem;
	width: 400px;
	display: block;
	margin: 0 auto;
	margin-top: 70px;
	margin-bottom: 150px;
	transition : 0.5s;
}
#formbox #btn_submit_form a:hover,
#formbox #btn_submit_form a:active {
	background: #888575;
}
#btn_submit_form{
	position: relative;
}
#btn_submit_form .loader{
	position: absolute;
	left: 50%;
	top: 0;
	margin-left: -16px;
	margin-top: -55px;
	display: none;
}

#formbox p.error_msg.prefecture,
#formbox p.error_msg.city,
#formbox p.error_msg.town{
	margin-bottom: 10px;
}
#formbox tr.tr_postcode td{
	padding-bottom: 0;
}
/* ERROR */
#formbox p.error_msg{
	font-size: 1.5rem;
	color: #cc0000;
	margin-left: 0.25em;
	display: none;
}
#formbox p.alert{
	font-size: 1.7rem;
	color: #ffffff;
	text-align: center;
	background: #cc0000;
	line-height: 2.5;
	font-weight: 500;
	padding-bottom: 3px;
	margin-top: 30px;
	margin-bottom: 30px;
	display: none;
}
/* Thanks =================== */
#thanks_intro{
	text-align: center;
	margin: 130px auto 150px auto;
	line-height: 2.2;
}
#mainvisualhalf h1{
	position: absolute;
	z-index: 10;
	height: auto;
	width: 100%;
	top: calc( 50% - 2vw);
	text-align: center;
}
#mainvisualhalf{
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 30vh;
}
.page_contact_thanks #mainvisualhalf{
	background: url(/shared/img/contact/mainvisual_1920.jpg) center 30%;
}
.page_member_thanks #mainvisualhalf{
	background: url(/shared/img/member/mainvisual_1920.jpg) center 30%;
}
table{
	border-collapse: collapse;
}
.tac{text-align: center;}
.tar{text-align: right;}

/* Owner'S Voice =================== */
.page_voice #mainvisual h1 img{
	-webkit-filter: drop-shadow(0 0 8px rgba(0, 77, 113, 0.6)); /* Safari等Webkit用 */
	filter: drop-shadow(0 0 8px rgba(0, 77, 113, 0.6)); 
}

.voice_content{
	padding-top: 60px;
}
#voice_intro{
	background: #eae9e5;
	padding-bottom: 60px;
}
#voice_intro div{
	flex-direction: column;
}
#voice_intro div h2{
	order: 2;
	font-weight: normal;
}
#voice_intro h2{
	color: #989485;
	position: relative;
}
#voice_intro h2 .vol{
	display: inline-block;
	width: 80px;
	height: 5em;
	font-size: 1.8rem;
	letter-spacing: 0.05em;
	position: relative;
	padding-top: 10px;
}
#voice_intro h2 .vol:after{
	content:"";
	display: inline-block;
	background:#989485;
	position: absolute;
	height: 154%;
	width: 1px;
	transform: rotate(45deg);
	left: 0;
	top: -18px;
	margin-left: 3em;
}
#voice_intro h2 .owner{
	font-size: 1.5rem;
	letter-spacing: 0;
	padding-top: 14px;
	padding-left: 0;
}
#voice_intro h2 strong{
	color: #000000;
	font-size: 2.75rem;
	display: block;
	letter-spacing: 0.1em;
	font-weight: normal;
	line-height: 1.6;
	padding-left: 90px;
	margin-top: -46px;
}
#voice_intro div .photobox{
	order: 1;
	margin-bottom: 40px;
}
.voice_content .flex{
	justify-content: space-between;
}
#voice_top .photobox{
	width: 40.75%;
	margin-top: -230px;
}
#voice_top .textobox{
	width: 54%;
}
.page_voice  h3{
	font-weight: normal;
}
.page_voice .textobox h3{
	font-size: 2rem;
	line-height: 1.8;
	color: #989485;
	margin-bottom: 34px;
}
.page_voice .textobox p{
	line-height: 2;
	margin-bottom: 2em;
}
/* voice_02 */
#voice_02 .textobox{
	width: 43%;
}
#voice_02 .photobox{
	width: 50%;
}
#voice_02 .photobox div{
	margin-bottom: 36px;
}
#voice_02 .photobox p{
	font-size: 1.2rem;
	line-height: 1.2;
	margin-top: 8px;
}
/* gallery */
.page_voice .gallery_box{
	padding-top: 60px;
	position: relative;
	padding-bottom: 20px;
}
.page_voice .gallery_box p{
	font-size: 1.4rem;
	position: absolute;
	bottom: 20px;
	left: 0;
}
#voice_gallery .slick-list{
	aspect-ratio: 1000 / 667;
	overflow: hidden;
}
#voice_gallery img{
	width: 100%;
	height: auto;
}
/* 画像一覧 */
#voice_03 .photobox{
	flex-wrap: wrap;
	justify-content: space-between;
	padding-bottom: 60px;
}
#voice_03 .photobox div{
	width: 31.2%;
}
#voice_03 .photobox p{
	font-size: 1.4rem;
	line-height: 1.3;
	padding-top: 8px;
} 
#voice_04{
	background: #EAE9E5;
	margin-top: 100px;
	padding: 50px;
	display: flex;
	flex-direction: column;
	margin-bottom: 120px;
}
#voice_04 .photobox{
	order: 1;
	margin-bottom: 30px;
}
#voice_04 .textbox{
	order: 2;
}
#voice_04 .textbox h3{
	color: #989485;
	font-size: 2.0rem;
	font-weight: normal;
	border-bottom: 1px solid #989485;
	margin-bottom: 1.8rem;
}
#voice_04 .textbox h3 span{
	font-size: 1.6rem;
}







