@charset "utf-8";
.bg01{
	background-color:#F0F0F1;
    padding-bottom: 10px;
}
.content01{
	width:722px;
	padding-top:10px;
	margin:80px auto;
	padding-bottom:80px;
	transition:0.8s ease-in;
	transform:scale(0.99,0.99);
	opacity:0;
}

.ttl01{
	border-bottom:1px #E83820 solid;
	letter-spacing:0.8em;
	padding:5px 0 1px 45px;
	background-repeat:no-repeat;
	font-weight: normal;
	margin-bottom: 70px;
	font-size: 15px;
}
#news .ttl01{
	background-image:url(../img/news_ttl.png);
	background-size: 17px 14px;
	background-position: 10px 10px;
}
#reason .ttl01{
	background-image:url(../img/reason_ttl.png);
    background-size: 20px 15px;
    background-position: 8px 9px;
}
#construction .ttl01{
	background-image:url(../img/construction_ttl.png);
	background-size: 15px 21px;
    background-position: 10px 5px;
}
#example .ttl01{
	background-image:url(../img/example_ttl.png);
	background-size: 20px 20px;
	background-position: 8px 7px;
}
#company .ttl01{
	background-image:url(../img/company_ttl.png);
	background-size: 20px 15px;
	background-position: 10px 9px;
}
#contact .ttl01{
	background-image:url(../img/contact_ttl.png);
	background-size: 20px 20px;
	background-position: 9px 7px;
}
 ul.sm-slider {
	 position: relative;
	 width: 100%;
}
#slider{
overflow: hidden;
}
/*news*/
#news .news_list{
	width:650px;
	margin-left:45px;
	margin-right:auto;
	display:flex;
	flex-wrap:wrap;
}
#news .news_list dt{

	margin-bottom:50px;
	cursor:pointer;
	width:80px;
	letter-spacing: 0.1em;
}
#news .news_list dd{
    margin-bottom: 50px;
	margin-left:80px;
	width:490px;
}
#news .news_list dd a{
	outline:none;
}
#news .news_list dd a.false{
	cursor:default;
}
#news .news_list .news_inner01{
	width:570px;
	margin-left:auto;
	margin-right:auto;
	margin-bottom:90px;
}
#news .news_list .news_inner01 p{
	margin-top:30px;
	width:570px;
}
/*reason*/
#reason .textarea01{
	padding-top:45px;
	padding-left:30px;
	margin-left:auto;
	margin-right:auto;
	margin-bottom:60px;
}
#reason .text01{
	letter-spacing:0.8em;
	font-size: 24px;
	margin-bottom:110px;
}
#reason .text02{
	letter-spacing:0.35em;
	line-height:4.1em;
	margin-bottom:110px;
}
#reason .textbloc01{
	position:relative;
}
#reason .list01{
	margin-bottom:140px;
	margin-left:5px;
}
#reason .list01 li{
	display:flex;
	margin-bottom:4.5em;
}
#reason .list01 li b{
	display:block;
	font-size:27px;
	width:25px;
	font-weight: normal;
	line-height: 0.95em;
	color:#E83820;
}
#reason .list01 li p{
	flex:1;
	margin-left:25px;
	letter-spacing:0.3em;
	font-size: 14px;
	line-height:2.35em;
}
#reason .text03{
	line-height: 2.8em;
    font-size: 12px;
	letter-spacing:0.3em;
}
#reason .textbloc02{
	position:absolute;
	right: -50px;
    bottom: 145px;
	width:300px;
	height:300px;
}
#reason .circle01{
	position:relative;
	width: 300px;
    height: 300px;
}
#reason .circle01 li{
	position:absolute;
	width:155px;
	height:155px;
	border-radius:50%;
	border:1px #E83820 solid;
	text-align:center;
	line-height:155px;
}
#reason .circle01 li:nth-of-type(1){
    top: 26px;
    left: 65px;
}
#reason .circle01 li:nth-of-type(2){
	bottom:0;
	left:5px;
}
#reason .circle01 li:nth-of-type(3){
	bottom:0;
	right:5px;
}
/*construction*/
#construction .content10{
	    padding:0 0  60px;
}
#construction .const_list01{
	width:263px;
	margin:0 auto;
}
#construction .const_list01 li{
	margin-bottom:30px;
	position:relative;
	cursor:pointer;
}

#construction .const_list01 li .image{
	width: 263px;
	height: 206px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	position: relative;
	display: block;
}

#construction .const_list01 li .image .icon{
	font-weight: normal;
	display:table-cell;
	position:absolute;
	top:0;
	left:0;
	vertical-align:middle;
	line-height:25px;
	letter-spacing:0.1em;
	height:23px;
	font-size: 13px;
	text-align:center;
	width:4.6em;
	border:2px solid #E83820;
}
#construction .const_list01 li .image .icon.a{
	background-color:#E83820;
	color:#FFFFFF;
}
#construction .const_list01 li .image .icon.b{
	background-color:#FFFFFF;
	color:#E83820;
}
#construction .const_list01 li p.caption{
	text-align:center;
	font-size: 13px;
	margin-top:5px;
}



/*example*/
.example_list01{
	display:flex;
	flex-wrap:wrap;
	width:645px;
	margin:0px auto;
	padding:0 0 30px;
}
.example_list01 li{
	margin-bottom:60px;
	margin-right:63px;
}
.example_list01 li:nth-of-type(4n){
	margin-right:0;
}
.example_list01 li a{
	display:block;
	outline:none;
}
.example_list01 li .image{
	width: 114px;
	height: 114px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	position: relative;
	display: block;
}


/*company*/
#company .content10{
	padding:0px 0 60px 40px;
}
#company  .company_text01{
	letter-spacing: 0.4em;
    font-size: 13.3px;
    line-height: 4em;
    margin-bottom: 3em;
}
#company  .company_text02{
	letter-spacing: 0.4em;
    font-size: 13.3px;
    line-height: 4em;
    margin-bottom: 60px;
}
#company  .company_image{
	display:-moz-box; 
	display:-webkit-flexbox; 
	display:-moz-flexbox; 
	display:-ms-flexbox; 
	display:-webkit-flex; 
	display:-moz-flex; 
	display:flex;
}
#company  .company_image li{
	flex:1;
}
#company  .company_image li +li{
	margin-left:30px;
}
#company .com_image01{
	margin:70px 0;
	display:block;
}
#company .com_image01 img{
	vertical-align:bottom;
}
#company .com_image01 #map1 {
	height:400px;
	width:540px;
	margin-left:auto;
	margin-right:auto;
	margin-top:100px;
}

/*contact*/
#contact.main_form{
	padding-top:0;
}
#contact.main{
	margin-top:0;
}
#contact .ttl01{
	margin-bottom:90px;
}
#contact .content01{
}
.content11_a{
	margin-bottom: 80px;
}
.content11_a p{
	text-align:center;
	font-size: 25px;
}
.contact_ttl01{
	text-align:center;
	font-weight: normal;
	font-size: 15px;
	margin-bottom:30px;
	letter-spacing: 0.8em;
}
.contact_ttl02{
	text-align:center;
	font-weight: normal;
	font-size: 15px;
	margin-bottom:10px;
	letter-spacing: 0.8em;
}
.contact_ttl03{
	text-align:center;
	font-weight: normal;
	font-size: 15px;
	margin-bottom:10px;
	letter-spacing: 0.4em;
	line-height:2;
}
.content11_b{
	width:590px;
	margin:0px auto 20px;
}
.form_bloc01{
	border-collapse: separate;
	border-spacing: 0 30px;
	width:100%;
}
.form_bloc01 tr{
	}
.form_bloc01 th{
	font-weight: normal;
	text-align:left;
	vertical-align:top;
	font-size: 13px;
    line-height: 2;
}
.form_bloc01 td{
	width:450px;	
}
.form_bloc01 td input{
    width: 100%;
    line-height: 2;
    padding: 0 1em;
    box-sizing: border-box;
	border: none;
}
@media all and (-ms-high-contrast: none) {/*IE用*/
.form_bloc01 td input{
	height:1.8em;
}
}
.form_bloc01 td textarea{
	width:100%;
    padding: 0.5em 1em;
    box-sizing: border-box;	
	border: none;
}
.form_text03{
	margin-bottom:40px;
	font-size: 12px;
	letter-spacing:0.35em;
}
.btn_submit{
	display:block;
	border:1px solid #E83820;
	margin:20px auto;
	width:250px;
	color: #E83820;
	font-size: 14px;
	letter-spacing:0.7em;
	text-align:center;
	padding: 1.5em 2em 1.5em 3em;
	outline:none;
	-webkit-appearance: none;
	background-color: #FFFFFF;
}
.form_area02{
	display:flex;
	padding:0 30px;
	justify-content:space-between;
}
.btn_submit01{/*確認ページ　戻る*/
	display:block;
	border:1px solid #E83820;
	width:250px;
	color: #E83820;
	font-size: 14px;
	letter-spacing:0.7em;
	text-align:center;
	padding: 1.5em 2em 1.5em 3em;
	outline:none;
	background-color:#FFFFFF;
}
.btn_submit02{/*確認ページ　送信*/
	display:block;
	border:1px solid #E83820;
	width:250px;
	color: #FFFFFF;
	font-size: 14px;
	letter-spacing:1.5em;
	text-align:center;
	padding: 1.5em 1em 1.5em 2em;
	outline:none;
	background-color:#E83820;
}

.privacy_link{
	text-decoration:none;
	color:#868687;
}
.privacy_link:link,
.privacy_link:visited{
	color:#868687;
}
.smp_br01{
	display:none;
}

/*コンタクトページ*/
.body_01{
	background-color: #F0F0F1;
}
.body_01 .logo03 + p{
	opacity:0;
}
#contact.main_form .content01{
	width:722px;
	padding-top:10px;
	margin:0 auto;
	padding-bottom:80px;
	transition:none;
	transform:scale(1,1);
	opacity:1;
}
.main01{
	background-color: #F0F0F1;
}
.content_contact{
	padding: 0 0 50px;
}
/*errorページ*/
.error_table {
	margin-bottom:60px;
}
.error_table span.msg {
	width: 100%;
	font-size:13px;
    line-height: 2;
    padding: 0 1em;
    box-sizing: border-box;
    background: #FFFFFF;
    border: 1px #DDD solid;
    display: block;
}
.error_table span.msg.caution{
	color:#E83820;
}
.btn_submit03{/*エラーページ　戻る*/
	display: block;
    border: 1px solid #E83820;
    margin: 20px auto;
    width: 250px;
    color: #E83820;
    font-size: 14px;
    letter-spacing: 0.7em;
    text-align: center;
    padding: 1.5em 2em 1.5em 3em;
    outline: none;
    -webkit-appearance: none;
	background-color:#FFFFFF;
}
/*confページ*/
.conf_table{
	margin-bottom:60px;
}
.conf_table span.msg {
	width: 100%;
    line-height: 2;
    padding: 0 1em;
    box-sizing: border-box;
    background: #FFFFFF;
    border: 1px #DDD solid;
    display: block;
}
/* thanks*/
.btn_submit04{/*送信完了 TOPに戻る*/
	display: block;
    border: 1px solid #E83820;
    width: 250px;
    color: #E83820;
    font-size: 14px;
    letter-spacing: 0.7em;
    text-align: center;
    padding: 1.5em 2em 1.5em 3em;
    outline: none;
    -webkit-appearance: none;
	margin:60px auto;
	background-color:#FFFFFF;
}

/* アニメーション*/
#footer .logo03,
.company_image,
.company_text02,
#company .com_image01,
.textbloc02,
.text03,
.page_logo,
.logo03,
.textbloc01,
#copyright{
	opacity:0;
	transition:0.8s ease-in;
}
#footer .logo03.active,
.company_image.active,
.company_text02.active,
#company .com_image01.active,
.textbloc02.active,
.text03.active,
.logo03.active,
.textbloc01.active,
.page_logo.active,
.content01.active,
#copyright.active{
	opacity:1;
	transform:scale(1,1);
}




@media screen and (max-width: 640px) {
.ttl01{
	font-size: 21px;
	padding:0.1em 0 0.2em 2.5em;
}
.smp_br01{
	display:block;
}
.content01{
	width:100%;
	box-sizing:border-box;
    padding: 65px 30px 0;
	margin: 0px auto 40px;
}
ul.sm-slider {
	min-height:1138px;
}
#example .ttl01{
     background-position: 8px 3px;
}
#news .ttl01{
	background-size: 21px 17px;
	background-position: 10px 7px;
}
#reason .ttl01{
    background-size: 25px 19px;
	background-position: 8px 5px;
}
#construction .ttl01{
	background-size: 19px 26px;
	background-position: 10px 3px;
}
#example .ttl01{
	background-size: 25px 25px;
	background-position: 8px 1px;
}
#company .ttl01{
	background-size: 25px 19px;
	background-position: 10px 4px;
}
#contact .ttl01{
	background-size: 25px 25px;
	background-position: 9px 3px;
}

#news.main{
	padding-top:0px;
}

#news .news_list{
	width: 90%;
	padding-bottom: 40px;
	font-size: 18px;
}
#news .news_list dt{
	width:35%;
	margin-bottom:0.6em;
    line-height: 1.5;
}
#news .news_list dd{
	width:65%;
	margin-left:0;
	margin-bottom: 60px;
    line-height: 1.5;
}
#footer{
	margin-bottom:0;
}
#company .company_image{
	-ms-flex-wrap : wrap; /*for IE10*/ 
	-webkit-flex-wrap : wrap; /*for old webkit browser*/ 
	flex-wrap: wrap;

	-webkit-box-pack:center;/*--- Androidブラウザ用 ---*/     
	-ms-flex-pack:center;/*--- IE10 ---*/      
	-webkit-justify-content:center;/*--- safari（PC）用 ---*/     
	justify-content: center;
	
	-ms-flex-direction:column; 
	-webkit-flex-direction:column; 
	-moz-flex-direction:column; 
	flex-direction: column;

	-webkit-align-items: center; 
	-ms-flex-align: center; 
	-webkit-box-align: center; 
	align-items: center;
}
#company .company_image li{
	flex:0 1 auto;
	width:300px;
}
#company .company_image li +li{
	margin-left:0;
	margin-top:30px;
	height: 400px;
}
#company  .company_image li img{
	width:100%;
	height:auto;
}
#company .com_image01{
	margin:75px 0;
}
#company .com_image01 img{
	width:540px;
	height:auto;
}
#company .com_image01 #map1 {
	width: 540px;
	padding: 0px !important;
	margin-left: 0px !important;
}
#reason .text01{
	    line-height: 2em;
		letter-spacing:0.6em;
		margin-bottom: 50px;
		font-size: 27px;
}
#reason .smp_letter01{
	letter-spacing:-0.2em;
}
#reason .text02{
	font-size: 19px;
	letter-spacing:0.1em;
	line-height: 3em;
}
#reason .list01 li{
	margin-bottom:2.5em;
}
#reason .list01 li p{
	font-size: 19px;
}
.smp_indent01{
	letter-spacing:0.2em;
}
#reason .textarea01{
	margin-bottom:0;
	padding-left: 15px;
	padding-top: 10px;
}
#reason .list01 li b{
	font-size: 30px;
	line-height:1.4;
}

#reason .textbloc02{
	left:100px;
	bottom:240px;
}
#reason .list01{
	margin-bottom:440px;
font-size: 100%;
}
#reason .circle01{
	width:338px;
	height:323px;
}
#reason .text03{
	font-size: 16px;
	line-height:1.8;
	letter-spacing:0.1em;
	margin-left: 80px;
}
#reason .circle01 li{
	font-size: 18.5px;
    width: 183px;
    height: 183px;
	line-height: 183px;
	box-sizing:border-box;
}
#reason .circle01 li:nth-of-type(1){
	top:0;
	left:80px;
}
#reason .circle01 li:nth-of-type(2){
	left:0;
}
#reason .circle01 li:nth-of-type(3){
	right:0;
}
#reason .textbloc01{
	padding-bottom:60px;
	margin-bottom: 20px;
}
#construction .const_list01 li{
	margin-bottom:50px;
}
#construction .const_list01 li p{
	line-height:1.2;
	font-size: 16px;
}

.example_list01{
	width:570px;
	margin:0 auto;
}
.example_list01 li{
	margin-right:35px;
}
.example_list01 li:nth-of-type(4n){
	margin-right:0px;
}
.example_list01 li:nth-of-type(3n){
}
#company .company_text01{
	line-height:3.2em;
	font-size: 19px;
	letter-spacing: 0.1em;
}
#company .company_text02{
	font-size: 19px;
	line-height:3.2;
	letter-spacing: 0.1em;
}
#company .content10{
	padding-left:20px;
}
#company  .smp_letter01{
	letter-spacing:-0.4em;
}
#reason .list01 li p{
	letter-spacing:0.05em;
}
/*コンタクトページ*/
#contact .content01{
	width:100%;
}
#contact.main_form .content01{
	width:100%;
    padding-top: 20px;
}
.form_bloc01 td input{
	font-size: 19px;
	padding: 0.2em 0.3em;
	line-height:1.8;
}
.content11_a p{
	font-size: 27px;
}
.contact_ttl01,
.contact_ttl02,
.contact_ttl03{
	font-size: 20px;
}
.form_bloc01 th{
	font-size:19px;
}
.content11_b{
	    width: 560px;
	margin-bottom:0;
	padding-bottom:40px;
}
.form_bloc01 td{
	width:400px;
}
.form_text03{
	font-size:15px;
    letter-spacing: 0.1em;
}
.form_area02{
	padding:0;
}

.btn_submit,
.btn_submit01,
.btn_submit02,
.btn_submit03{	-webkit-appearance:none;
	font-size:18px;
}
.btn_submit,.btn_submit03{
	background-color:#FFFFFF;
}
.btn_submit01,
.btn_submit02,
.btn_submit03{
	-webkit-appearance: none;
    font-size: 18px;
    padding: 1.5em 0em 1.5em 1em;
    outline: none;
    box-sizing: border-box;	
letter-spacing:0.4em;
}
.btn_submit02{
	
}
#copyright{
	font-size:14px;
}
.form_bloc01 th.mail_ad_text01{
	line-height:1.4;
}
.sp_text01{
	display:block;
	margin-left:1em;
}
}