@charset "UTF-8";

/* reset */
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,figure,footer,header,hgroup,menu,nav,section,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;}article,aside,figure,footer,header,hgroup,nav,section{display:block;}img,object,embed{vertical-align: bottom;}html{overflow-y:scroll;}ul{list-style:none;}blockquote,q{quotes:none;}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;}del{text-decoration:line-through;}abbr[title],dfn[title]{border-bottom:1px dotted #000;cursor:help;}table{border-collapse:collapse;border-spacing:0;}th{font-weight:bold;vertical-align:bottom;}td{font-weight:normal;vertical-align:top;}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0;}input,select{vertical-align:middle;}pre{white-space:pre;white-space:pre-wrap;white-space:pre-line;word-wrap:break-word;}input[type="radio"]{vertical-align:text-bottom;}input[type="checkbox"]{vertical-align:bottom;*vertical-align:baseline;}select,input,textarea{font:99% sans-serif;}table{font-size:inherit;font:100%;}a:hover,a:active{outline:none;}strong,th{font-weight:bold;}td,td img{vertical-align:top;}sub,sup{font-size:75%;line-height:0;position:relative;}sup{top:-0.5em;}sub{bottom:-0.25em;}pre,code,kbd,samp{font-family:monospace,sans-serif;}label,input[type=button],input[type=submit],button{cursor:pointer;}button,input,select,textarea{margin:0;}button{width:auto;overflow:visible;}[hidden]{display:none !important;}[disabled]{cursor:not-allowed;}:focus:not(:focus-visible){outline:none;}

/* clear */
.clear:before,.clear:after{content:"\0020";display:block;height:0;overflow:hidden;}.clear:after{clear:both;}.clear{zoom:1;}

/* base */

html {
	font-family: 'Noto Sans JP','游ゴシック',YuGothic,'ヒラギノ角ゴ ProN W3','Hiragino Kaku Gothic ProN','メイリオ',Meiryo,sans-serif;
	font-weight: 400;
	font-size: 62.5%; /* 10px */
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
	position:relative;
	width:100%;
	height:100%;
	font-size:1.6rem;
	letter-spacing:0.1em;
	line-height:1;
	color : #333;
	min-width:1150px;
	padding-top:80px;
}
@media screen and (max-width: 767px) { /**** tablet未満（SP） ****/
	body {
		font-size:3.73vw; /* 14px */
		letter-spacing:0.05em;
		min-width:375px;
		padding-top:0;
		padding-bottom:17.33vw; /* 65px */
	}
}

/* 明朝 */
.section_label_pagetitle,
.serif{
	font-family: '游明朝',YuMincho,'ヒラギノ明朝 ProN W3','Hiragino Mincho ProN','ＭＳ Ｐ明朝',serif;
	font-weight: 400;
}
/* 欧文 */
.en{
	font-family: 'Heebo','Noto Sans JP','游ゴシック',YuGothic,'ヒラギノ角ゴ ProN W3','Hiragino Kaku Gothic ProN','メイリオ',Meiryo,sans-serif;
	font-style: italic;
	letter-spacing: 0.12em;
} 



*,
*::before,
*::after {
  box-sizing: border-box;
}
p,li,dd,td {
  text-align: justify;
  text-justify: inter-ideograph;
}
h1,h2,h3,h4,h5{
	font-weight: 400;
}
img {
	max-width:100%;
	height:auto;
}


/*a {
	transition: color 0.3s;
}*/
a:link,
a:visited,
a:hover,
a:active{
	color : #333;
	text-decoration: none;
	overflow-wrap: break-word;
}

a.textlink:link,
a.textlink:visited{
	color : #333;
	text-decoration: underline;
	text-decoration-color: #333;
}
a.textlink:hover,
a.textlink:active{
	color: #999;
}

a.alpha:link,
a.alpha:visited,
a.trans:link,
a.trans:visited {
	transition: opacity 0.3s ease-out;
	opacity: 1;
}
a.alpha:hover,
a.alpha:active {
	opacity: 0.6;
}
a.trans:hover,
a.trans:active {
	opacity: 0;
}

a.btn_shadow{
	filter: drop-shadow(0 3px 4px rgba(0,0,0,0));
	transition: all 0.2s;
}
a.btn_shadow:hover{
	filter: drop-shadow(0 3px 4px rgba(0,0,0,0.3));
}

a.btn_shadow2{
	filter: drop-shadow(0 3px 3px rgba(0,0,0,0.3));
	transition: all 0.2s;
}
a.btn_shadow2:hover{
	filter: drop-shadow(0 3px 6px rgba(0,0,0,0.5));
}



.br_sp,
.br_1150,
.text_sp,
.block_sp{
	display:none;
}
.br_pc,
.text_pc{
	display:inline;
}
.block_pc{
	display:block;
}
@media screen and (max-width: 767px) { /**** tablet未満（SP） ****/
	.br_sp,
	.text_sp{
		display:inline;
	}
	.block_sp{
		display:block;
	}
	.br_pc,
	.text_pc,
	.block_pc{
		display:none;
	}
}
@media print, screen and (min-width: 768px) and (max-width: 1150px) { /****** tablet-1150pxのみ ******/

	.br_1150{
		display:inline;
	}

}




/****************************************************************************
body
****************************************************************************/


#header{}
#header_visual{}

.contents{}
	.content_wrap{}
		.content{}

#footer{
}
 


/****************************************************************************
header
****************************************************************************/

#header_pagetitle{
	font-size: 0%;
	line-height: 0%;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	background: 50% 50% no-repeat;
	background-size:contain;
}


@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	#header{
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 80px;
/*		min-width: 1200px;*/
		min-width:1000px;
		background-color: rgba(255,255,255,0.97);
		z-index:500;
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 0 410px 0 2vw;
	}
	#header_pagetitle{
		width: 410px;
		height: 55px;
		background-image: url("../img/header_pagetitle_pc.svg");
	}

	#btn_menu{
		display: none;
	}
	
}
@media print, screen and (min-width: 768px) and (max-width: 1365px) { /****** tablet-1365pxのみ ******/

	#header_nav{
		display: none;
	}

}
@media screen and (max-width: 767px) { /**** tablet未満（SP） ****/

	#header{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 14.67vw; /* 55px */
		background-color: rgba(0,0,0,0.50);
		z-index:500;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		padding: 0 2vw;
	}
	#header_pagetitle{
		width: 328px;
		height: 44px;
		background-image: url("../img/header_pagetitle_sp.svg");
	}
	
	#header_nav{
		display: none;
	}


/*
	#btn_menu{
		position: absolute;
		top: 1.33vw;
		right: 4vw;
		width: 11.33vw;
		height: 11.33vw;
		background: url("../../img/common/bg_grain.jpeg") 50% 50% no-repeat;
		background-size: 200% auto;
	}
	#btn_menu a{
		display:block;
		width: 100%;
		height: 100%;
		font-size: 0%;
		line-height: 0%;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		background: url(../../img/common/icn_menu.svg) 50% 50% no-repeat;
		background-size:cover;
	}
	#btn_menu.active a{
		background-image:url(../../img/common/icn_close.svg);
	}

	#header_nav{
		position:fixed;
		top: 15.47vw;
		right: -80vw;
		width: 70vw;
		height: calc(100% - 15.47vw);
		background: url("../../img/common/bg_grain.jpeg") 50% 50% no-repeat;
		background-size:cover;
		box-shadow: -2px 0 3px 0 rgba(0,0,0,.2);
		overflow: hidden;
		z-index:400;
		transition: all 0.3s;
	}
	#header_nav.active{
		right:0;
	}
	#header_nav .global_nav{
		position: relative;
		overflow-y: auto;
		width: 100%;
		height: 100%;
		padding:0;
	}
*/

}


/* #header_nav .global_nav *************************************/


/*@media print, screen and (min-width: 1024px) { /****** ヘッダー切り替え ******/
@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	.gnav_ul{
		display: flex;
		align-items: stretch;
	}
	.gnav_li{
		width: auto;
		height: auto;
		position: relative;
	}

	.gnav_a{
		padding: 32px 1.5em 10px;
		display: inline-block;
		font-weight: 700;
		transition: all 0.3s ease-in;
		position: relative;
	}
	.gnav_a::before{
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		display: block;
		width: 0;
		height: 1px;
		background-color: rgba(0,0,0,0.75);
		content: "";
		transition: all 0.2s ease-out;
	}
	.gnav_a:hover::before {
		width: 80%;
	}

}
@media screen and (max-width: 767px) { /**** tablet未満（SP） ****/

}


/* #fix_btn *************************************/
/* .contact_nav *************************************/

.contact_nav{
	display: flex;
	justify-content: space-between;
	transition: all 0.3s ease-in-out;
}
.contact_nav li{
	width: 49.5%;
	transition: all 0.3s ease-in-out;
}

.contact_nav li#btn_menu{
	display:none;
}

.contact_nav li a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 44px;
	background-color: #fff;
	border:solid 3px #ff9900;
	transition: all 0.2s ease-out;
}
.contact_nav li.cnav_tel a{
	background-color: #fff;
}
.contact_nav li.cnav_form a{
	background-color: #ff9900;
}

.contact_nav li a .cnav_text{
	display: inline-block;
	padding: 2px 0 2px 28px;
	background:0 50% no-repeat;
	background-size:contain;
	font-weight: 700;
	color:#fff;
	line-height: 1;
}
.contact_nav li.cnav_tel a .cnav_text{
	background-image: url(/img/common/icn_tel_ora@3x.png);
	color:#ff9900;
}
.contact_nav li.cnav_form a .cnav_text{
	background-image: url(/img/common/icn_mail_wht@3x.png);
}

@media screen and (min-width: 1024px) { /******** PC以上 ********/
	.contact_nav li.cnav_tel a:hover{
/*		background-color: #ff9900;*/
		cursor: default;
	}
	.contact_nav li.cnav_form a:hover{
		background-color: #fff;
	}
/*	.contact_nav li.cnav_tel a:hover .cnav_text{
		color:#fff;
		background-image: url(/img/common/icn_tel_wht@3x.png);
	}*/
	.contact_nav li.cnav_form a:hover .cnav_text{
		color:#ff9900;
		background-image: url(/img/common/icn_mail_ora@3x.png);
	}
}

@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	#fix_btn{
		position:fixed;
		top :20px;
		right:20px;
		width:363px;
		height:auto;
		z-index:600;
	}
	.contact_nav_label{
		height: 0px;
		font-size: 0%;
		line-height: 0%;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		padding: 0;
		margin: 0;
	}


	
}
@media screen and (max-width: 767px) { /**** tablet未満（SP） ****/

	#fix_btn{
		position:fixed;
		bottom:0;
		right:0;
		width:100%;
		height:auto;
		z-index:300;
		transition: all 0.3s ease-in-out;
		visibility:hidden;
		opacity: 0;
	}
	#fix_btn.fix_btn_fix{
		visibility:visible;
		opacity: 1;
	}

	.contact_nav_label{
		height: 6vw;
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 3.2vw;
		font-weight: 700;
		color: #fff;
		letter-spacing: 0.1em;
		background-color: rgba(61,61,61,0.90);
	}
	
	.contact_nav li{
		width: 50%;
	}
	.contact_nav li.cnav_form{
		border-left: solid 1px #fff;
	}

	.contact_nav li a{
		height: 11.33vw;
/*		border:none;*/
	}
	.contact_nav li a .cnav_text{
		padding-left: 7.5vw;
	}

}



/****************************************************************************
#header_visual
****************************************************************************/

@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	#header_visual {
		width: 100%;
		height: calc(100vh - 80px);
		max-height: 650px;
		background: url("../img/header_visual_pc2.jpg") 50% 50% no-repeat;
		background-size: cover;
	}
	.header_visual_copy{
		width: 90%;
		height: 96%;
		max-width: 1600px;
		margin: auto;
		padding-top: 8.5vh;
		display: flex;
		flex-direction: column;
		justify-content: space-around;
		align-items: flex-start;
	}
	.header_visual_copy01{
		width: 43%;
		min-width: 579px;
	}
	.header_visual_copy02{
		width: 40%;
		min-width: 542px;
		margin-left: 6%;
	}
	.header_visual_copy01 img,
	.header_visual_copy02 img{
		width: 100%;
		height: auto;
	}

	
}
@media print, screen and (min-width: 768px) and (max-width: 1365px) { /****** tablet-1365pxのみ ******/

	.header_visual_copy{
		width: 100%;
	}

}
@media screen and (max-width: 767px) { /**** tablet未満（SP） ****/

	#header_visual {
		width: 100vw;
		height: 120vw;
		background: url("../img/header_visual_sp2@1.5x-80.jpg") 50% 50% no-repeat;
		background-size: cover;
	}
	.header_visual_copy{
		width: 100%;
		height: 100%;
		margin: auto;
		padding-top: 18vw;
		padding-bottom: 6vw;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		align-items: flex-start;
	}
	.header_visual_copy01{
		width: 86.33vw;
		height: auto;
		margin-left: 3vw;
	}
	.header_visual_copy02{
		width: 93.33vw;
		height: auto;
		margin-left: 3.47vw;
	}


}
@media print, screen and (min-width: 768px) and (max-width: 1199px) { /****** tablet-1199pxのみ ******/

}


/****************************************************************************
#breadcrumb
****************************************************************************/



/****************************************************************************
.contents
****************************************************************************/

@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	.contents{
		line-height: 1.5;
	}

}
@media screen and (max-width: 767px) { /**** tablet未満（SP） ****/

	.contents{
		line-height: 1.5;
	}

}




/****************************************************************************
.content_wrap
.content_header .content_label
.content
****************************************************************************/

.content_wrap_gray{
	background-color: rgba(0,0,0,0.07);
}
.content_wrap_concrete01{
	background: #e1e1e1 url("../img/bg_concrete01.jpg") 50% 0 no-repeat;
	background-size: 100% auto;
}
.content_wrap_concrete02{
	background: url("../img/bg_concrete02.png") 0 0 repeat;
}

@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	.content_wrap{
		padding: 50px 0 100px;
	}

	.content_wrap_ph01{
		background: url("../img/bg_performance_pc.jpg") 50% 0 no-repeat;
		background-size: cover;
	}
	.content_wrap_ph02{
		background: url("../img/bg_contact_pc.jpg") 50% 0 no-repeat;
		background-size: cover;
	}

}
@media screen and (max-width: 767px) { /**** tablet未満（SP） ****/

	.content_wrap{
		padding: 6vw 0 8vw;
	}

	.content_wrap_ph01{
		background: #333 url("../img/bg_performance_sp.jpg") 50% 0 no-repeat;
		background-size: 100% auto;
	}
	.content_wrap_ph02{
		background: url("../img/bg_contact_sp.jpg") 50% 0 no-repeat;
		background-size: cover;
	}

}

/* .content_wrap_2clm (.content_wrap の中が2段組み) *************/
@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	.content_wrap.content_wrap_2clm{
		display: flex;
		justify-content: space-between;
	}
	.content_wrap.content_wrap_2clm .content_wrap_inner{
		width: calc(50% - 30px);
	}

}
@media screen and (max-width: 767px) { /**** tablet未満（SP） ****/

	.content_wrap.content_wrap_2clm .content_wrap_inner + .content_wrap_inner{
		padding-top: 16vw;
	}

}



/* .content *************/

.content{
	width: 95%;
	max-width: 1200px;
	margin: 0 auto;
}
.content.content_narrow{
	max-width: 1060px;
}

@media screen and (max-width: 767px) { /**** tablet未満（SP） ****/

	.content{
		width: 92vw; /* 345px 左右余白15 px */
	}

}

.content.content_2clm{ /* .content の中が2段組み */
}
@media print, screen and (min-width: 768px) { /****** tablet以上 ******/
	.content.content_2clm{
		display: flex;
		justify-content: space-between;
		align-items: stretch;
	}
/*	.content.content_2clm .content_2clm_main{
		width: calc(100% - 230px);
	}
	.content.content_2clm .content_2clm_sub{
		width: 205px;
	}*/

}
@media print, screen and (min-width: 768px) and (max-width: 1150px) { /****** tablet-1150pxのみ ******/

}
@media screen and (max-width: 767px) { /**** tablet未満（SP） ****/
}


/****************************************************************************
.section
****************************************************************************/

/* section.section ********************/

@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	.section{
	}
	.section + .section{
		margin-top:100px;
	}
	.content_2clm .section + .section{
		margin-top:0;
	}
	.content_article .section + .section {
		margin-top: 150px;
	}

	.section_body{
		line-height: 1.75;
	}

	.section_body + .section_body{
		margin-top:50px;
	}
	.section_body_narrow{
		max-width: 800px;
		margin: 0 auto;
	}

	.section_body_gray{
		padding:3em 4em;
		background-color: #eeeeee;
	}
	.section_body_wht{
		padding:3em 4em;
		background-color: #fff;
	}

}
@media screen and (max-width: 767px) { /**** tablet未満（SP） ****/

	.section + .section{
		margin-top:8vw;
	}

	.section_body{
		line-height: 1.75;
	}

	.section_body + .section_body{
		margin-top:8vw;
	}
	.section_body_narrow{
	}

	.section_body_gray{
		background-color: #eeeeee;
	}
	.section_body_wht{
		padding: 8vw 5.33vw;
		background-color: #fff;
	}
	.section_body_100{
		margin-left:-4vw;
		margin-right:-4vw;
		width: 100vw;
		padding: 8vw 6.67vw;
	}

}

/* .section_label ********************/

.section_label{
	display: flex;
	flex-direction: column;
	align-items: center;
}
.section_label_en{
	line-height: 1;
	letter-spacing: 0.075em;
	color: rgba(78,77,77,0.15);
}
.section_label_pagetitle{
	display: inline-block;
	margin-top: -1em;
	font-weight: 700;
	line-height: 1.3;
}
.section_label_text{
	font-weight: 700;
}

.section_label_l .section_label_en{
	color: #ff9900;
}


@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	.section_label{
		padding-bottom: 70px;
	}
	.section_label_en{
		font-size: 8rem;
	}
	.section_label_pagetitle{
		font-size: 1.8rem;
	}
	.section_label_text{
		font-size: 4rem;
	}

	.section_label_l .section_label_en{
		font-size: 9.8rem;
		letter-spacing: 0.125em;
	}
	.section_label_l .section_label_pagetitle{
		margin-top: -0.9em;
		font-size: 2.6rem;
	}
	.section_label_l .section_label_text{
		font-size: 4.4rem;
		color: #222;
	}

}
@media screen and (max-width: 767px) { /**** tablet未満（SP） ****/

	.section_label{
		padding-bottom: 8vw;
	}
	.section_label_en{
		font-size: 12vw;
	}
	.section_label_pagetitle{
		font-size: 3.2vw;
	}
	.section_label_text{
		font-size: 6.4vw;
	}

	.section_label_l{
		margin-left: -4vw;
		margin-right: -4vw;
	}
	.section_label_l .section_label_text{
		letter-spacing: 0;
	}

}




/* .section_body の中 ********************/


.sbody_label{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding-bottom: 1.5em;
}
.sbody_label_en{
	line-height: 1.3;
	color: #4e4d4d;
}
.sbody_label_en::first-letter{
	color: #FF9900;
}
.sbody_label_text{
	font-weight: 700;
}

@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	.sbody_label_en{
		font-size: 4.4rem;
		margin-left: -0.5em;
	}
	.sbody_label_text{
		font-size: 2.4rem;
	}

	.sbody_text{
	}
	.sbody_text p + p{
		padding-top: 1em;
	}

	.sbody_label{
		font-size: 1.22em;/* 22px */
	}

	p.txt{
		line-height: 2;
	}

}
@media screen and (max-width: 767px) { /**** tablet未満（SP） ****/

	.sbody_label_en{
		font-size: 8vw;
		margin-left: -0.3em;
	}
	.sbody_label_text{
		font-size: 4.27vw;
	}

	.sbody_text{
	}
	.sbody_text p + p{
		padding-top: 0.5em;
	}

	.sbody_label{
		font-size: 1.12em;/* 18px */
	}

	p.txt{
		line-height: 1.75;
	}

}


/* .section_body.sbody_2clm ********************/

.sbody_2clm,
.sbody_3clm,
.sbody_4clm{
	display: flex;
	justify-content:space-between;
	align-items: stretch;
}
.sbody_2clm.sbody_sp_floatr{/* SPで画像 float:right; のとき */
	flex-direction: row-reverse;
}
.sbody_2clm .sbody_img,
.sbody_2clm .sbody_text{
	width: 48%;
}
.sbody_3clm .sbody_img,
.sbody_3clm .sbody_text{
	width: 30.58%;
}
.sbody_4clm .sbody_img,
.sbody_4clm .sbody_text{
	width: 23%;
}

@media screen and (max-width: 767px) { /**** tablet未満 ****/

	.sbody_sp_1clm{
		display: flex;
		flex-direction:column;
		justify-content:center;
		align-items: center;
	}
	.sbody_sp_1clm .sbody_img,
	.sbody_sp_1clm .sbody_text{
		width: 100%;
		padding-bottom: 2.67vw;
	}

	.sbody_sp_floatr:before,
	.sbody_sp_floatr:after,
	.sbody_sp_floatl:before,
	.sbody_sp_floatl:after{
		content:"\0020";
		display:block;
		height:0;
		overflow:hidden;
	}
	.sbody_sp_floatr:after,
	.sbody_sp_floatl:after{
		clear:both;
	}
	.sbody_sp_floatr,
	.sbody_sp_floatl{
		zoom:1;
		display: block;/* .sbody_2clm の flex 上書き */
	}
	.sbody_sp_floatr .sbody_img{
		width: 58%;
		float: right;
		padding-left: 5%;
		padding-bottom: 10px;
	}
	.sbody_sp_floatr .sbody_text{
		display: inline;
	}
	.sbody_sp_floatl .sbody_img{
		width: 58%;
		float: left;
		padding-right: 5%;
		padding-bottom: 10px;
	}
	.sbody_sp_floatl .sbody_text{
		display: inline;
	}


}


/* 　見出し類　 */


/* 　本文中の画像　 */

.fig_center,
.img_center{
	text-align:center;
	margin-top:60px;
	margin-bottom:60px;
}
.fig_center.fig_center_narrow,
.img_center.img_center_narrow{
	width: 100%;
	max-width: 820px;
	margin-left: auto;
	margin-right: auto;
}
.fig_center.fig_center_small,
.img_center.img_center_small{
	width: 70%;
	max-width: 420px;
	margin-left: auto;
	margin-right: auto;
}

.fig_right,
.img_right{
	display:inline-block;
	max-width:45%;
	margin-left:5%;
	margin-bottom:20px;
	float:right;
}
.fig_left,
.img_left{
	display:inline-block;
	max-width:45%;
	margin-right:5%;
	margin-bottom:20px;
	float:left;
}

.fig_right,
.fig_left{
	width:60%;
}

.fig_right.img_tate,
.img_right.img_tate,
.fig_left.img_tate,
.img_left.img_tate{
	width:37%;
}

.fig_bg_wht{
	padding: 10px 20px;
	background-color: #fff;
}

@media screen and (max-width: 969px) { /****** tablet以下 ******/

	.fig_right,
	.fig_left,
	.fig_right.img_tate,
	.fig_left.img_tate{
	width: 100%;
	box-sizing: border-box;
	float: none;
	text-align:center;
	margin-left: auto;
	margin-right: auto;
	}

	.fig_bg_wht{
		padding: 10px 5vw;
	}

}
@media screen and (max-width: 767px) { /**** tablet未満（SP） ****/

	.fig_center,
	.img_center{
		margin-top:8vw;
		margin-bottom:8vw;
	}

	.img_right,
	.img_left{
		max-width: none;
		width:45%;
	}
	.img_right.img_tate,
	.img_left.img_tate{
		width:40%;
	}

	.img_sp100vw{
		margin-left: -5.34vw;
		margin-right: -5.34vw;
		width: 100vw;
	}

}

.fig_center img + img,
.img_center img + img,
.fig_right img + img,
.img_right img + img,
.fig_left img + img,
.img_left img + img,
.fig_right br + img,
.img_right br + img,
.fig_left br + img,
.img_left br + img{
	margin-top:5px;
}

.fig_center a + a,
.img_center a + a,
.fig_right a + a,
.img_right a + a,
.fig_left a + a,
.img_left a + a{
	display:inline-block;
	margin-top:5px;
}


.img_caption{
	padding-top:8px;
	font-size: 1.4rem;
	line-height: 1.6;
	text-align: center;
}
.img_right .img_caption{
	text-align:right;
}
.img_left .img_caption{
	text-align:left;
}
@media screen and (max-width: 767px) { /**** tablet未満 ****/
	.img_caption{
		padding-top:4px;
		font-size: 1.0rem;
		line-height: 1.6;
		letter-spacing: 0;
	}
}

.ta-right{
	text-align:right;
}
.ta-left{
	text-align:left;
}
.ta-center{
	text-align:center;
}

@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	.text-center{
		text-align:center;
	}

}





/* 　コンテンツボックス　 */

.box_line_gray{
	border: solid 1px #adacac;
	padding: 1.3em 2em;
}
@media screen and (max-width: 767px) { /**** tablet未満（SP） ****/

	.box_line_gray{
		padding: 1em;
	}

}






/* dt dd リスト */
dl.dl_row{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
}
dl.dl_row + dl.dl_row{
	margin-top: 1.5em;
}
dl.dl_row dt{
	margin-bottom: 2px;
	background-color: #fff;
}
dl.dl_row dd{
	margin-bottom: 2px;
	background-color: #fff;
	text-align: left;
}
.sbody_text dl.dl_row dd p + p{
	padding-top: 0;
}


@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	dl.dl_row dt{
		width:14em;
		padding: 1em 2em;
	}
	dl.dl_row dd{
		width: calc(100% - 14em);
		padding: 1em 2em;
	}

}
@media screen and (max-width: 767px) { /**** tablet未満 ****/
	
	dl.dl_row{
		font-size:3.2vw; 
	}
	dl.dl_row dt{
		width:5.5em;
		padding: 1em 0.5em;
	}
	dl.dl_row dd{
		width: calc(100% - 5.5em);
		padding: 1em 0.5em;
	}

}



.list_ind1,
.list_ind2,
.list_ind15{
	padding:0.5em 0;
}
.ind1,
.list_ind1 li{
	padding-left:1em;
	text-indent:-1em;
}
.ind2,
.list_ind2 li{
	padding-left:2em;
	text-indent:-2em;
}
.ind15,
.list_ind15 li{
	padding-left:1.5em;
	text-indent:-1.5em;
}



/* table 表 */


table {
    width: 100%;
/*    table-layout: fixed;*/
    border-collapse: collapse;
    border-spacing: 0;
}

table.table_line {
    border: 1px solid #888;
}
table.table_line tr {
    border: 1px solid #ccc;
}
table.table_line tr th{
    z-index: -1;
    width: 10em;
	padding: 1em 1.5em;
    background-color: #EEEEEE;
    text-align: left;
    vertical-align: top;
	font-weight: 700;
}
table.table_line tr td {
	padding: 1em 1.5em;
    vertical-align: top;
}


table.table_noline {
}
table.table_noline tr {
}
table.table_noline tr th{
    width: 10em;
	padding: 1em 1.5em 1em 0;
    text-align: right;
    vertical-align: top;
}
table.table_noline tr td {
	padding: 1em 0;
    text-align: left;
    vertical-align: top;
}

@media screen and (max-width: 767px) { /**** tablet未満 ****/
	
	table.table_line tr th,
	table.table_line tr td {
		display:block;
		width: 100%;
	    padding: 0.5em;
	}
	table.table_line tr td {
	    padding: 0.5em;
	}

	table.table_noline tr th,
	table.table_noline tr td {
		display:block;
		width: 100%;
	    padding: 0.5em 0 0.5em;
	}
	table.table_noline tr th {
		text-align: left;
	    padding: 0.5em 0 0;
	}

}



/****************************************************************************
■ コンテンツエリア■
****************************************************************************/

@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

}
@media screen and (max-width: 767px) { /**** tablet未満 ****/
	

}

/* #before_after *****************************/

.before_after_label{
	text-align: center;
	line-height: 1.75;
}
.before_after_label02{
	text-align: center;
	position: relative;
}
.before_after_label02::before{
	position: absolute;
	top: 0.9em;
	left: 0;
	right: 0;
	margin: auto;
	display: block;
	width: 15em;
	height: 0.7em;
	transform: skewX(-30deg);
	background-color: rgba(255,153,0,0.19);
	content:"";
	z-index: -1;
}

.komattalist{
	display: flex;
	justify-content: center;
	align-items: stretch;
	padding: 1.5em 0 0;
}
.komattalist_text{
	font-weight: 700;
}


@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	.before_after_label{
		font-size: 2.8rem;
	}
	.before_after_label02{
		font-size: 4rem;
		letter-spacing: 0.1em;
	}

	.komattalist_item{
		position: relative;
		padding: 0.5em 2em 0.2em;
	}
	.komattalist_item::before{
		position: absolute;
		left: 0;
		top: 0;
		display: block;
		width: 100%;
		height: 100%;
		content: "";
		border-left: solid 1px #4e4d4d;
		transform: skewX(-30deg);
	}
	.komattalist_item:last-child::before{
		border-right: solid 1px #4e4d4d;
	}
	.komattalist_text{
		display: inline-block;
		padding-bottom: 4px;
		font-size: 1.8rem;
		line-height: 1;
		border-bottom: solid 6px rgba(26,41,81,0.20);
	}

}
@media screen and (max-width: 767px) { /**** tablet未満 ****/

	#before_after{
		padding-top: 12vw;
	}
	.before_after_label{
		font-size: 4.53vw;
	}
	.before_after_label02{
		font-size: 6.4vw;
	}
	.before_after_label02::before{
		width: 13em;
	}

	.komattalist_item{
		padding: 0.5em 1em;
		background-color: rgba(26,41,81,0.20);
		text-align: center;
	}
	.komattalist_item + .komattalist_item{
		margin-left: 4px;
	}
	.komattalist_text{
		font-size: 3.47vw;
	}

}


.case_imgs{
	position: relative;
}
.case_imgs::after{
	content: '';
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 35px;
	height: 35px;
	border-top: 6px solid #666;
	border-right: 6px solid #666;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.case_img{
	position: relative;
}
.case_img.case_img_after::after,
.case_img.case_img_before::after{
	position: absolute;
	bottom: 12px;
	left: -14px;
	content: "Before";
	color: #fff;
	font-size: 2.4rem;
	letter-spacing: 0.075em;
	font-family: 'Heebo', sans-serif;
	font-style: italic;
	padding: 0 1em;
	background-color: #191919;
	z-index: 10;
}
.case_img.case_img_after::after{
	content: "After";
	background-color: #FF9900;
}

@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	.case_imgs::after{
		right: 1em;
	}
	.sbody_2clm .sbody_img.case_img{
		width: auto;
	}

}
@media screen and (max-width: 767px) { /**** tablet未満（SP） ****/

	.case_imgs::after{
		bottom: 1em;
		width: 20px;
		height: 20px;
		border-top: 4px solid #666;
		border-right: 4px solid #666;
		-webkit-transform: rotate(135deg);
		transform: rotate(135deg);
	}
	.sbody_2clm .sbody_img.case_img{
		width: 62.4vw;
		padding-bottom: 0;
	}
	.case_img_before{
		margin-bottom: 8vw;
	}
	.case_img.case_img_after::after,
	.case_img.case_img_before::after{
		bottom: 2vw;
		left: -3.2vw;
		font-size: 3.2vw;
	}

}


/* #landexcoat *****************************/

#landexcoat01 .section_label{
	padding-bottom: 1.2em;
}

.featurelist{
	display: flex;
}
.featurelist_item{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background: url("../img/bg_dot_darkgray.png") 0 0 repeat;
	border-radius: 50%;
	font-weight: 700;
	color: #fff;
	padding-bottom: 0.5em;
}
.featurelist_item .ora{
	color: #ffba1f;
}
.featurelist_item:last-child .featurelist_text02{
	letter-spacing: 0;
}

.sbody_img_landexcoat{
	display: flex;
	justify-content: space-between;
}
.ph_landexcoat{
	width: calc(50% - 3px);	
}

@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	.featurelist{
		justify-content: space-around;
		align-items: center;
	}
	.featurelist_item{
		width: 210px;
		height: 210px;
	}
	.featurelist_text01{
		font-size: 1.8rem;
	}
	.featurelist_text02{
		font-size: 2.4rem;
	}

	.sbody_landexcoat + .sbody_landexcoat{
		margin-top: 2em;		
	}
	.sbody_landexcoat{
		position: relative;
		padding: 2em 0 3em 4em;
		align-items: center;
	}
	.sbody_landexcoat:nth-child(2n){
		flex-direction: row-reverse;
		padding: 2em 3em 3em 0;
	}
	.sbody_landexcoat::before{
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 80%;
		height: 100%;
		content: "";
		background-color: #fff;
		z-index: 10;
	}
	.sbody_landexcoat:nth-child(2n)::before{
		left: auto;
		right: 0;
	}
	.sbody_text_landexcoat,
	.sbody_img_landexcoat{
		position: relative;
		z-index: 20;
	}

}
@media screen and (max-width: 767px) { /**** tablet未満 ****/
	
	.featurelist{
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		margin-left: -4vw;
		margin-right: -4vw;
	}
	.featurelist_item{
		width: 31.2vw;
		height: 31.2vw;
		margin: 0 0.8vw;
	}
	.featurelist_text01{
		font-size: 2.93vw;
	}
	.featurelist_text02{
	}

	.sbody_landexcoat + .sbody_landexcoat{
		margin-top: 4vw;		
	}
	.sbody_landexcoat{
		padding: 4vw 5.33vw 0;
		background-color: #fff;
	}
	.sbody_sp_1clm .sbody_img_landexcoat{
		margin-top: 4vw;
		margin-left: -4vw;
		margin-right: -4vw;
		width: calc(100% + 8vw);
	}

}


@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

}
@media screen and (max-width: 767px) { /**** tablet未満 ****/
	

}

/* #performance *****************************/

#section_label_performance01 .sbody_label_en{
	color:#c5c5c5;
}
#section_label_performance01 .section_label_pagetitle{
	color:#fff;
}
#section_label_performance01 .section_label_text{
	color:#fff;
}

#img_yasuda .img_caption{
	line-height: 1.3;
	color: #fff;
	text-align: center;
	padding: 8px 0;
	background-color: #191919;
}


@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	#performance01{
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		padding-top: 50px;
	}
	#section_label_performance01{
		width: 32%;
	}
	#performance0101{
		width: 65%;
	}
	
	#section_label_performance01 .sbody_label_en{
		margin-left: -0.25em;
		margin-top: -0.4em;
		font-size: 5rem;
	}
	#section_label_performance01 .section_label_pagetitle{
		font-size: 1.6rem;
		margin-top: 0.2em;
		margin-bottom: 3em;
	}
	#section_label_performance01 .section_label_text{
		font-size: 4.2rem;
		line-height: 1.75;
		letter-spacing: 0.1em;
	}
	
	#img_yasuda{
		width: 140px;
		margin-right: -5em;
	}
	#img_yasuda .img_caption{
		font-size: 1.1rem;
	}
	#performance010102{
		padding-top: 1em;
	}
	#img_jisseki{
		float: left;
		width: 74%;
		margin-top: 4em;
		margin-right: 7%;
		margin-left:-70%; 
	}

}
@media screen and (max-width: 767px) { /**** tablet未満 ****/

	#performance{
		padding-bottom: 36vw;
	}
	
	#section_label_performance01{
		align-items: flex-start;
		padding-left: 4vw;
		padding-bottom: 8vw;
	}
	#section_label_performance01 .sbody_label_en{
		font-size: 8vw;
	}
	#section_label_performance01 .section_label_pagetitle{
		font-size: 3.2vw;
		margin-top: 0.1em;
		margin-bottom: 1.5em;
	}
	#section_label_performance01 .section_label_text{
		font-size: 6.4vw;
		letter-spacing: 0.1em;
	}

	#img_yasuda{
		width: 22.67vw;
		margin-top: -16vw;
		margin-right: -2vw;
	}
	#img_yasuda .img_caption{
		font-size: 2.13vw;
	}

	#performance010102{
		display: flex;
		flex-direction: column;
	}
	#img_jisseki{
		order: 3;
		margin-top: 4vw;
		margin-bottom: -32vw;
		margin-right: -4vw;
		margin-left: -4vw;
	}

}

/* #process *****************************/

.sbody_label2{
	font-weight: 700;
}
.sbody_label2_num{
	display: inline-block;
	width: 2.5em;
	margin-right: 0.5em;
	margin-left: -3.2em;
	text-align: center;
	color: #fff;
	font-size: 2.2rem;
	letter-spacing: 0.075em;
	background-color: #191919;
}



.img_process{
	display: flex;
	justify-content: space-between;
}
.ph_process{
	width: calc(50% - 2px);	
}

@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	#process .content{
		max-width: initial;
		width: 100%;
	}
	
	.sbody_process + .sbody_process{
		margin-top: 90px;		
	}
	.sbody_2clm.sbody_process{
		position: relative;
		justify-content: center;
		padding: 0 2.5% 3em 5%;
	}
	.sbody_2clm.sbody_process:nth-child(2n+1){
		flex-direction: row-reverse;
		padding: 0 5% 3em 2.5%;
	}
	.sbody_process::before{
		position: absolute;
		right: 5%;
		bottom: 0;
		display: block;
		width: 95%;
		height: calc(100% - 8em);
		overflow: hidden;
		content: "";
		background-color: #fff;
		z-index: 10;
	}
	.sbody_process:nth-child(2n+1)::before{
		right: auto;
		left: 5%;
	}
	.sbody_text_process,
	.sbody_img_process{
		position: relative;
		z-index: 20;
	}
	.sbody_2clm.sbody_process .sbody_text.sbody_text_process{
		width: 38%;
		max-width: 440px;
		margin-left: auto;
		margin-right: 5%;
	}
	.sbody_2clm.sbody_process:nth-child(2n+1) .sbody_text.sbody_text_process{
		margin-right: auto;
		margin-left: 5%;
	}
	.sbody_2clm .sbody_img.sbody_img_process{
		width: 57%;
	}

	.sbody_text_process .sbody_label2{
		min-height: 8em;
		margin-bottom: 2.5em;
	}
	.sbody_process:nth-child(2n+1) .sbody_text_process .sbody_label2{
		display: inline-block;
		width: auto;
		float: right;
	}
	.sbody_text_process p{
		clear: right;
	}
	.sbody_label2_cat{
		font-size: 1.8rem;
	}
	.sbody_label2_text{
		font-size: 3.0rem;
		line-height: 1.3;
		display: block;
	}

	.sbody_img_process{
		display: flex;
		flex-direction: column-reverse;
		justify-content: flex-end;/* reverseなので逆になる */
		align-items: flex-start;
	}
	.sbody_process:nth-child(2n+1) .sbody_img_process{
		align-items: flex-end;
	}
	.note_process{
		width: 85%;
		margin-top: 1.5em;
	}
	.note_process_text{
		font-size: 1.4rem;
	}

}
@media screen and (max-width: 767px) { /**** tablet未満 ****/
	
	.sbody_process{
		padding: 0 5.33vw;
		margin-left: -4vw;
		margin-right: -4vw;
		margin-top: 12vw;
		background-color: #fff;
	}
	.sbody_process + .sbody_process{
		margin-top: 20vw;		
	}

	.sbody_text_process .sbody_label2{
		min-height: 12vw;
		margin-top: -12vw;
		margin-bottom: 8vw;
		vertical-align: middle;
	}
	.sbody_process + .sbody_process#process0105,
	.sbody_process + .sbody_process#process0108{
		margin-top: 32vw;		
	}
	#process0105 .sbody_text_process .sbody_label2,
	#process0108 .sbody_text_process .sbody_label2{
		min-height: 24vw;
		margin-top: -24vw;
	}
	
	.sbody_label2_num{
		margin-left: -5.33vw;
		font-size: 3.73vw;
		line-height: 1.75;
	}
	.sbody_label2_cat{
		font-size: 3.2vw;
	}
	.sbody_label2_text{
		font-size: 5.33vw;
		line-height: 1.3;
		display: inline-block;
		margin-left: 0.5em;
	}

	.sbody_text_process p{
		font-size: 3.47vw;
	}

	.note_process{
		margin-bottom: 1em;
	}
	.note_process_text{
		font-size: 3.2vw;
	}

	.img_process{
		margin-top: 4vw;
		margin-left: -5.33vw;
		margin-right: -5.33vw;
		width: calc(100% + 10.66vw);
	}

}



/* #cases *****************************/

.sbody_label3{
	font-weight: 700;
	margin-bottom: 1em;
}

.sbody_text_case .case_img_before{
	position: relative;
}
.sbody_text_case .case_img_before::before{
	content: '';
	display: block;
	position: absolute;
	right: 2px;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 25px;
	height: 25px;
	border-top: 5px solid #666;
	border-right: 5px solid #666;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}


@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	.sbody_case + .sbody_case{
		margin-top: 120px;
	}
	.sbody_2clm.sbody_case{
	}
	.sbody_2clm.sbody_case .sbody_text.sbody_text_case{
		width: 38%;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}
	.sbody_2clm .sbody_img.sbody_img_case{
		width: 60%;
	}

	.sbody_2clm.sbody_case .sbody_text.sbody_text_case2{
		width: 66.2%;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}
	.sbody_2clm .sbody_img.sbody_img_case2{
		width: 33%;
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
	} 
	.sbody_text_case2 .case_text{
		padding-right: 2em;
        padding-bottom: 2em;
	}
	.sbody_text_case2 .case_img2{
		display: flex;
		justify-content: space-between;
        flex-wrap: wrap;
	}

	#cases0104 .case_img2 .case_img2_imageph{
        padding-top: 8px;
	}

	.sbody_label3{
		font-size: 2.4rem;
	}
	.case_text p{
		font-size: 1.5rem;
	}

}
@media screen and (max-width: 767px) { /**** tablet未満 ****/
	
	.sbody_case{
		padding: 0 1.33vw;
		margin-top: 3.2vw;
	}
	.sbody_case + .sbody_case{
		margin-top: 12vw;		
	}

	.sbody_label3{
		font-size: 4.27vw;
		text-align: center;
	}
	.sbody_text_case p{
		font-size: 3.47vw;
	}
	.sbody_case .case_img_before{
		margin: 4vw auto 6vw;
		width: 50vw;
	}
	.sbody_case .case_img_before::before{
		right: 0;
		left: 0;
		top: auto;
		bottom: -6vw;
		width: 18px;
		height: 18px;
		border-top: 3px solid #666;
		border-right: 3px solid #666;
		-webkit-transform: rotate(135deg);
		transform: rotate(135deg);
	}

	.sbody_text.sbody_text_case2{
        padding-bottom: 0;
	}
    
	.sbody_text_case2 .case_img2{
		padding-top: 4vw;
		display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
	}
	.sbody_text_case2 .case_img2_imageph{
		width: 49.5%;
		height: auto;
        padding-top: 3px;
	}
	.sbody_text_case2 .case_img2_imageph.case_img2_imageph_w{
		width: 100%;
		height: auto;
	}

	.sbody_img_case2 .case_img2{
		display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
	}
	.sbody_img_case2 .case_img2_imageph{
		width: 100%;
		height: auto;
        padding-top: 3px;
	}
    .sbody_img_case2 .case_img2_imageph.case_img2_imageph_h{
		width: 49.5%;
		height: auto;
        padding-top: 3px;
	}

}

@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

}
@media screen and (max-width: 767px) { /**** tablet未満 ****/
	

}

/* #price *****************************/

.sbody_label4{
	width: 5.5em;
	margin: 0 auto 1em;
	padding-bottom: 0.1em;
	font-size: 2.4rem;
	font-weight: 700;
	text-align: center;
	border-bottom: solid 5px #ff9900;
}

.table-price0101{
	margin-top: 1em;
	border-collapse: separate;
	border-spacing: 2px;
}
.table-price0101 th,
.table-price0101 td{
	padding: 1em 1.5em;
	background-color: #fff;
}
.table-price0101 th{
	background-color: #4e4d4d;
	color: #fff;
	font-weight: 700;
	vertical-align: top;
}

#price0102 .sbody_text + .sbody_text{
	margin-top: 1.5em;
}
.sbody_label5{
	position: relative;
	padding: 0 85% 0 0;
	text-align: center;
	color: #fff;
	font-weight: 700;
	background-color: #FF9900;
}
.sbody_label5::after{
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	width: 85%;
	height: 100%;
	background-color: #4e4d4d;
	content: "";
}

#price0102_mitsumori_inner{
	background-color: #fff;
}
.price_mitsumori{
	margin-bottom: 3em;
}
.price_mitsumori_note{
	margin-top: 3em;
}
.label_note{
	display: inline-block;
	width: 5em;
	text-align: center;
	font-size: 1.2rem;
	font-weight: 700;
	color: #FF9900;
	border: solid 2px #FF9900;
}


@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	#price0102_mitsumori_inner{
		padding: 2em 60px;
	}
	#price0102_before_after{
		width: 800px;
		margin: 0 auto;
	}

	.price_mitsumori_note{
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}
	.price_mitsumori_note p{
		width: calc(100% - 6em);
	}

}
@media screen and (max-width: 767px) { /**** tablet未満 ****/
	
	.sbody_label4{
		font-size: 4.27vw;
	}

	.table-price0101{
		font-size: 3.2vw;
	}
	.table-price0101 th,
	.table-price0101 td{
		padding: 0.8em 0.5em;
	}

	.sbody_label5{
		padding: 0 70% 0 0;
	}
	.sbody_label5::after{
		width: 70%;
	}

	#price0102_mitsumori_inner{
		padding: 4vw 2vw;
	}
	
	.price_mitsumori_note{
		padding-left: 2vw;
		padding-right: 2vw;
	}
	.price_mitsumori_note p{
		padding-top: 0.2em;
	}

}

/* #contact *****************************/

#contact01 .section_label_en{
	color: rgba(255,255,255,0.60);
}
#contact01 .section_label_text{
	padding-top: 1em;
	color: #fff;
}

#contact0101 .contact_nav li.cnav_tel a {
	background-color: transparent;
}
#contact0101 .contact_nav li.cnav_tel a .cnav_text {
    background-image: url(/img/common/icn_tel_wht@3x.png);
    color: #fff;
}


@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	#contact01 .section_label{
		padding-bottom: 40px;
	}
	#contact01 .section_label_en{
		font-size: 5.4rem;
	}
	#contact01 .section_label_text{
		font-size: 2.2rem;
	}

	#contact0101 .contact_nav{
		width: 654px;
		margin: 0 auto;
	}
	#contact0101 .contact_nav li a {
		height: 56px;
	}
	#contact0101 .contact_nav li a .cnav_text {
		font-size: 1.8rem;
	}

}
@media screen and (max-width: 767px) { /**** tablet未満（SP） ****/

	#contact01 .section_label{
		padding-bottom: 4vw;
	}
	#contact01 .section_label_en{
		font-size: 9.33vw;
	}
	#contact01 .section_label_text{
		font-size: 4.67vw;
		text-align: center;
	}

	#contact0101 .contact_nav{
		flex-direction: column;
		align-items: center;
	}
	#contact0101 .contact_nav li{
		width: 80%;
		border-left: none;
		margin-top: 4vw;
	}
	#contact0101 .contact_nav li a {
		height: 16vw;
	}
	#contact0101 .contact_nav li a .cnav_text {
		font-size: 4.8vw;
	}

}

/* #contact_form *********************************/

.section_contact_form {
	padding: 2em 1em;
	background-color: rgba(255,255,255,0.90);
}
.section_contact_form .section_body {
	width: 100%;
	max-width: 740px;
	margin: 0 auto;
}

#contact_form table{
	margin-top: 2em;
	margin-bottom: 2em;
}
#contact_form th{
	width:12em;
	vertical-align: text-top;
	text-align: left;
}
#contact_form td,
#contact_form th{
	padding: 5px;
}

#contact_form .mw_wp_form_input th label{
	display: block;
	padding-top: 5px;
}
.must{
	display:inline-block;
	margin-left: 12px;
	padding: 1px 4px;
	font-size: 1.1rem;
	font-weight: bold;
	background-color: #FB9700;
	color:#fff;
	border-radius: 3px;
}

#contact_form input[type="text"],
#contact_form textarea{
	width: 100%;
	box-sizing: border-box;
	padding:8px;
	background-color:#fff;
	border:solid 1px #dbccbf;
	border-radius:0;
	-webkit-appearance: none;
}
#contact_form select {
	padding:8px;
	background-color:#fff;
	border:solid 1px #dbccbf;
	border-radius:0;
/*	-webkit-appearance: none;*/
}
#contact_form input[type="file"]{
	width: 100%;
}
#contact_form input[type="checkbox"],
#contact_form input[type="radio"]{
	vertical-align: middle;
}

#contact_form input[type="text"]#zip{
	width: 4em;
}
#contact_form input[type="text"]#zip2{
	width: 5em;
}
#contact_form input[type="text"]#zip3{
	width: 8em;
}
#contact_form input[type="text"].input-tel{
	width: 5em;
}
.form_notice,
#mail2,
#spref,
#address,
#strt,
#address1,
#address2
{
	margin-top: 10px;
}
#contact_form input[type="text"].tel{
	width: 5em;
}

.form_zip,
.form_notice{
	display: inline-block;
}
.form_mail2{
	display: block;
}

.form_meiwaku,
.form_meiwaku strong,
.form_meiwaku a{
    font-size: 1.4rem;
	color: #FB0000;
}
p.form_meiwaku a{
    text-decoration-color: #FB0000;
}


.form_btn{
	padding: 2em 0;
}

.submitbtn{
	text-align: center;
	padding-bottom: 20px;
}
.submitbtn input[type="submit"],
.submitbtn input[type="button"] {
	-webkit-appearance: none;
	display:inline-block;
	width:auto;
	height:auto;
	padding:18px 40px;
	margin-left: 5px;
	margin-right: 5px;
	cursor:pointer;
	text-align:center;
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1;
	color:#fff;
	border:solid 3px #ff9900;
	background-color:#ff9900;
	border-radius:0;
/*	box-shadow: 0 3px 4px 0 rgba(0,0,0,.2);*/
	transition: all 0.3s ease-in-out;
}
.submitbtn input[type="submit"]:hover{
/*	box-shadow: 0 3px 6px 2px rgba(0,0,0,.3);*/
	color:#ff9900;
	background-color:#fff;
}
.submitbtn input[type="button"] {
	border:solid 3px #A2CA0F;
	background-color:#A2CA0F;
}
.submitbtn input[type="button"]:hover{
	color:#A2CA0F;
	background-color:#fff;
}

.contact_lead_input,
.contact_lead_confirm{
	font-weight: bold;
}

/* 入力画面 */
.mw_wp_form .contact_lead_confirm{
	display:none;
}
.mw_wp_form .js_que{
    padding-bottom: 0.5em;
    cursor: pointer;
}

/* エラーメッセージ */
.errmsg,
 .mw_wp_form #contact_form .error{
	display:inline-block !important;
	margin-top:3px;
	margin-left: 5px;
	padding:4px 8px;
	background-color:#E84231;
	border-radius:0;
	font-size:1.2rem;
	line-height: 1;
	font-weight:bold;
	color:#fff !important;
}

/* 確認画面 */
.mw_wp_form_confirm #contact_tel,
.mw_wp_form_confirm .contact_lead_input,
.mw_wp_form_confirm .notice,
.mw_wp_form_confirm .form_notice,
.mw_wp_form_confirm .form_mail2,
.mw_wp_form_confirm .addbtn,
.mw_wp_form_confirm .js_que{
	display:none;
}
.mw_wp_form_confirm .contact_lead_confirm{
	display:block;
}
.mw_wp_form_confirm .js_ans{
	display:block !important;
}

.confirm_text {
    display: block;
    padding: 8px 10px;
    min-height: 2.75em;
    background-color: rgba(219,204,191,0.20);
}

/* 完了画面 */
#thx,
.mw_wp_form_complete{
}
.thx_label{
	padding:20px 0 30px;
	font-size:2.6rem;
	font-weight: bold;
	line-height: 1.6;
	color:#FB9700;
	text-align: center;
}
#thx .section_body p + ul,
#thx .section_body p + p,
.mw_wp_form_complete p + p{
	padding-top:20px;
}



@media screen and (max-width: 767px) {

	#contact_form th,
	#contact_form td{
		display: block;
		padding:7px 0;
		width: 100%;
		box-sizing: border-box;
	}
	#contact_form td{
		padding-top:0;
	}

	#contact_form input[type="text"],
	#contact_form textarea{
		padding:5px;
	}
	#contact_form select {
		padding:5px;
	}
	.addbtn{
		margin-top: 5px;
	}
	.form_btn input[type="submit"],
	.form_btn input[type="button"] {
		padding-left:1.3em;
		padding-right:1.3em;
		font-size: 1.6rem;
		letter-spacing: 0;
	}

}










/****************************************************************************
#page-top
****************************************************************************/

#page-top {
	position: fixed;
	bottom: 30px;
	right: 0;
	width: 66px;
	height: 66px;
	z-index:400;
}
#page-top a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	background:url("../img/bg_dot_darkgray.png") 0 0 repeat;
	border: solid 1px rgba(255,255,255,0.5);
/*	border-radius: 5px 0 0 5px;*/
	color: #fff;
	transition: opacity 0.3s;
  opacity: 0.5;
}
#page-top a span{
	display: block;
	width: auto;
	height: auto;
	font-size:1.0rem;
	line-height: 1;
	text-align: center;
}
#page-top a span.and{
	font-size:1.6rem;
	font-weight:bold;
	padding-bottom: 6px;
}
#page-top a:hover{
  opacity: 0.9;
}


@media screen and (max-width: 767px) {
	#page-top {
		bottom: 19vw;
		width: 12vw;
		height: 12vw;
	}
	#page-top a span{
		font-size:2.13vw;
	}
	#page-top a span.and{
		font-size:3.2vw;
	}
}



/****************************************************************************
footer
****************************************************************************/

#footer{
	width:100%;
}


/* フッターナビ */

#footer_nav{
	width:auto;
	max-width: 1060px;
	margin: 0 auto;
	padding: 50px 2vw;
	color: #524741;
	line-height: 1.5;
}
#footer_nav h1{
	padding: 0 5px 16px;
	border-bottom: solid 1px rgba(113,112,113,0.40);
}
.logo_footer{
	max-width: 360px;
}
@media screen and (max-width: 479px) { /** sp **/
	#footer_nav h1{
		padding: 0 5px 10px;
	}
	.logo_footer{
		max-width: 320px;
	}
}


#footer_company{
	padding: 30px 16px 0;
}
#footer_message{
	padding: 20px 16px;
}
#footer_message p + p{
	padding-top: 20px;
}

/* コピーライトと緑ライン */

#footer{
	position: relative;
	border-bottom:solid 22px #a2ca0f;
}

#copyright{
	position: absolute;
	bottom:-22px;
	left:0;
	width: 100%;
	padding-bottom: 40px;
	background:url("../../img/common/2whitelines@2x.png") 90% 100% no-repeat;
	background-size: auto 22px;
	font-size:1.2rem;
	text-align: center;
}


@media screen and (max-width: 1023px) { /******** tablet以下 ********/

	#footer{
		border-bottom:solid 10px #a2ca0f;
	}

	#footer_company,
	#footer_message,
	#footer_message p + p{
		padding-top: 4vw;
	}

	#copyright{
		bottom:-10px;
		padding-bottom: 8vw;
		background-size: auto 14px;
	}

}



/****************************************************************************
汎用クラス
****************************************************************************/

.hidden{
  height: 0px;
  font-size: 0%;
  line-height: 0%;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  padding: 0;
  margin: 0;
}

.center{
	text-align:center;
}


@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	.small{
		font-size: 0.875em;/* 14px */
	}
	.x-small{
		font-size: 0.75em;/* 12px */
	}
	.xx-small{
	}

	.large{
		font-size: 1.25em;/* 20px */
	}
	.x-large{
		font-size: 1.375em;/* 22px */
	}
	.xx-large{
	}



}
@media screen and (max-width: 767px) { /**** tablet未満 ****/
	
	.small{
		/*font-size: 3.47vw;/* 13px */
		font-size: 3.2vw;/* 12px */
	}
	.x-small{
		font-size: 2.67vw;/* 10px */
	}
	.xx-small{
	}

	.large{/* SPでは基本サイズと同じ */
	}
	.x-large{
	}
	.xx-large{
	}
	
}

.blue{
	color:#0789b5;
}
.red,
.notice{
	color:#9f0d0d;
}
.gray{
	color:#7d7d7d;
}
.ora{
	color: #FF9900;
}
.brown{
	color: #807a3e;
}
.green{
/*	color: #009633;*/
	color: #003F75;
}

strong{
	font-weight:bold;
	font-style:normal;
}
em{
	font-weight:bold;
	font-style:normal;
}

.l_s_01{
	letter-spacing: 0.1em;
}
