/* CSS Document */
@font-face {
	font-family: 'web_f';
	src: url(font/NotoSansCJKjp-Light.otf);
	src: url(font/NotoSansCJKjp-Light.otf?#iefix) format('truetype');
}
@font-face {
	font-family: 'web_bold';
	src: url(font/NotoSansCJKjp-Medium.otf);
	src: url(font/NotoSansCJKjp-Medium.otf?#iefix) format('truetype');
}
@font-face {
	font-family: 'web_min';
	src: url(font/min.ttf);
	src: url(font/min.ttf?#iefix) format('truetype');
}
*{
	word-wrap: break-word;
}
body {
	font-family: "web_f","ヒラギノ角ゴ Pro W3","メイリオ", "Hiragino Kaku Gothic Pro",  Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
	font-size:15px;
	line-height:1.6;
	position:relative;
}
.web_bold{
	font-family: "web_bold","web_f","ヒラギノ角ゴ Pro W3","メイリオ", "Hiragino Kaku Gothic Pro",  Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
}
.web_min{
	font-family: "web_min","web_f","ヒラギノ角ゴ Pro W3","メイリオ", "Hiragino Kaku Gothic Pro",  Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
}
.anc{
	width:1px;
	display:block;
	padding-top:30px;
	margin-top:-30px;
}
a,
a:visited,
a:active {
	color:#4B4948;
}
/*------------------------
header
------------------------*/
header{
	border-bottom:solid 1px #EEE;
	background:#FFF;
}
#header{
	height:76px;
	box-sizing:border-box;
}
#header a{
	color:#000;
	line-height:1.4;
	display:inline-block;
	text-decoration:none;
}
	#header h1{
		float:left;
		margin-right:150px;
		padding:15px 0 9px;
	}
	#header ul>li{
		margin-right:20px;
		position:relative;
	}
	#header ul>li:last-child{
		margin-right:0;
	}
	#header .gnev{
		display:table;
		height:102%;
		position:relative;
		float:right;
	}
	#header .gnev>li:not(.dlop_nav){
		height:100%;
		position:relative;
		padding:1px 0;
		display:table-cell;
		vertical-align:middle;
		transition: .30s ;
		z-index:999;
		transition-duration:1s;
		box-sizing:border-box;
	}
		#header .gnev .main_link{
			padding:5px 15px;
			display:inline-block;
			box-sizing:border-box;
			/*
			border-radius:90px;
			position:relative;
			*/
			z-index:999999;
			position:relative;
		}
		#header .gnev .no_link{
			padding:5px 15px;
			display:inline-block;
			box-sizing:border-box;
			/*
			border-radius:90px;
			position:relative;
			*/
			z-index:999999;
			position:relative;
		}
		#header .gnev>li:hover:after{
			content:"";
			width:100%;
			height:3px;
			position:absolute;
			bottom:0;
			left:0;
			border-bottom:solid 3px #FFF100;
			transition-duration:1s;
		}
		#header .gnev>li.ex_nav:hover:after{
			width:260px;
		}
		/*
		#header .gnev>li span {
			cursor:pointer;
			position: absolute;
			top: 50%;
			left: 50%;
			display: block;
			width: 0;
			height: 0;
			background-color: rgba(255, 241, 0, 0.6);
			border-radius: 50%;
			-webkit-transform: translate(-50%, -50%);
			transform: translate(-50%, -50%);
			opacity: 0;
			z-index:99;
		}
		#header .gnev>li:hover span{
			-webkit-animation: circle .75s;
			animation: circle .75s;
		}
		@-webkit-keyframes circle {
			50% {
				opacity: 0.5;
			}
			100% {
				width: 180px;
				height: 180px;
			}
		}
		@keyframes circle {
			50% {
				opacity: 1;
			}
			100% {
				width: 180px;
				height: 180px;
			}
		}
		*/

		#header .nav_s{
			font-size:13px;
			margin-right:0;
			color:#C0C0C0;
		}
		#header .nav_s:hover:after{
			display:none;
		}
		#header .nav_s.left:before{
			content:"";
			height:14px;
			float:left;
			display:block;
			border-left:solid 1px #444;
			position:relative;
			top:8px;
		}
			#header .nav_s a{
				font-size:13px;
				color:#C0C0C0;
			}

#header .dlop_nav{
	margin-top:-1px;
	position:absolute;
	z-index:9;
	overflow: visible;
	display:none;
}
#header .dlop_nav.pt01{
	left:0;
	/* bottom:-245px; */
	bottom: -293px;
}
#header .dlop_nav.pt02{
	left:0;
	bottom:-147px;
}
#header .dlop_nav li{
	width:260px;
	height:48px;
	background:#FFF;
	margin-top:1px;
}
#header .dlop_nav li a{
	display:block;
	padding:15px 15px 15px 15px;
	box-sizing:border-box;
	height:48px;
	background:#FFF;
	margin-bottom:1px;
	transition: .85s ;
	background:url(../img/common/nav_arrow01.png) no-repeat 92% 50%;
}
#header .dlop_nav li a:hover{
	transition: .85s ;
	background:url(../img/common/nav_arrow01.png) no-repeat 90% 50% #FFF100;
}

/*------------------------
footer
------------------------*/
.go_top{
	position:absolute;
	right:-60px;
	top:0;
	/*
	position:fixed;
	right:20px;
	bottom:100px;
	*/
}
#footer{
	padding:50px 0 20px;
	background:#EEE;
}
#footer a{
	text-decoration:none;
	font-size:13px;
	color:#444;
}
#footer a:hover{
	text-decoration:underline;
}
#footer .menu_box_wrap{
	display: flex;
	justify-content: center;
	margin-bottom:70px;
}
#footer .menu_box:not(:last-child){
	margin-right: 70px;
}
	#footer .menu_box dt{
		margin-bottom:10px;
		color:#444;
	}
	#footer .menu_box dd{
		margin-bottom:5px;
		color:#444;
		font-size:13px;
	}
	#footer .menu_box dd:before{
		content:"-";
		margin-right:3px;
	}
#footer .logobox{
	border-top:solid 1px #DDD;
	padding-top:30px;
	margin-bottom:20px;
	clear:both;
	text-align:center;
}
address{
	text-align:center;
	font-size:10px;
	color:#777;
}
/*====================================
bread
====================================*/
.bread{
	padding:20px 0 0 0;
	margin-bottom:30px;
}
.bread ul{
	line-height:1;
}
.bread ul li{
	float:left;
	font-size:12px;
	margin-right:7px;
	color:#4B4948;
}
.bread ul li:not(:last-child):after{
	content:"＞";
	margin-left:7px;
}
.bread ul li a{
	text-decoration:none;
}
.bread ul li a:hover{
	text-decoration:underline;
}
/*------------------------
top
------------------------*/
#top{
	margin-bottom:45px;
}
#top .main_img{
	/*
	min-height:500px;
	background:url(../img/top/main_img02.png) no-repeat;
	background-size:100%;
	*/
	position:relative;
}
.sm-slider{
	padding-top:77px !important;
	position:relative !important;
	min-height:450px;
	max-height:450px;
	overflow:hidden;
}
.main_ttl{
	top:340px;
	margin:0 auto;
	left:0;
	right:0;
	width:50%;
	text-align:center;
}
.main_ttl img{
	/*display:block;*/
	width:600px;
}

	#top .main_img h2{
		position:absolute;
		top:20%;
		left:50%;
		right:50%;
		width:58px;
		height:305px;
	}
	#top .main_img img{
		width:100%;
	}
#top .extend_firing{
	width:30%;
	position:relative;
	line-height:1.4;
	color:#FFF;
	font-size:1.1rem;
}
#top .extend_firing:hover .in_text{
	opacity: 0.6;
}
/*
#top .extend_firing:hover .extend_box{
	width:100%;
	transition: all 0.45s ease-in-out;
}
*/
	#top .extend_box{
		width:50%;
		height:100%;
		background:#888;
		display:inline-block;
		text-align:center;
		position:absolute;
		top:0;
		right:0;
		padding:2%;
		box-sizing:border-box;
	}
	#top .box01 .in_text{
		top:45%;
		left:0;
		right:0;
		position:absolute;
	}
	#top .box01 .in_text.text2line{
		top:40%;
	}
	#top .extend_firing a{
		color:#FFF;
	}

#top .box01{
	padding:2%;
	background:url(../img/top/box01_bg.png) no-repeat;
	background-size:cover;
}
	#top .box01 .rayout{
		min-width:1100px;
	}
	#top .box01 ul:first-child{
		margin-bottom:2%;
	}
	#top .box01 li{
		width:32%;
		min-width:346px;
		margin-right:2%;
		float:left;
		overflow:hidden;
		transition: all 0.45s ease-in-out;
		position:relative;
		text-align:right;
	}
	#top .box01 li span.on{
		position:relative;
		top:-20px;
		line-height:1.8;
	}
	/*
	#top .box01 li span{
		color:#FFF;
		font-size:16px;
		background:#000;
		width:100%;
		padding:2% 0 1%;
		position:absolute;
		bottom:0;
		left:0;
		opacity: 0.8;
	}
	*/
	#top .box01 li img.on{
		display:none;
	}
	#top .box01 li img{
		width:100%;
		min-width:346px;
		/*
		transition: .85s ;
		transition: all 0.45s ease-in-out;
		*/
		/*
		display: inline-block;
		position: relative;
	}
	#top .box01 li:hover img{
		/*
		transition: all 0.45s ease-in-out;
		*/
	}

	#top .box01 ul li:last-child{
		margin-right:0;
	}
#top .box02{
	min-width:1100px;
	margin:0 auto;
	padding:60px 0 80px 2%;
}
/*↓年末用↓*/
#top .box02 .left .year{
	display:table;
}
#top .box02 .left .year time.cell{
	display:table-cell;
	width:67px;
}
#top .box02 .left .year .divcell{
	display:table-cell;
}
/*↑年末用↑*/
	#top .box02 .left,
	#top .box02 .right{
		width:48%;
		/*width:520px;*/
	}
	#top .box02 h3{
		font-size:18px;
		font-weight:bold;
		margin-bottom:20px;
	}
	#top .box02 .left .scl_area{
		height:200px;
		overflow-y:scroll;
	}
	#top .box02 .left li{
		margin-bottom:15px;
		font-size:13px;
		line-height:1.3;
		color:#4B4948;
	}
	#top .box02 .left li a{
		text-decoration:none;
		color:#4B4948;
	}
	#top .box02 .left li a:hover{
		text-decoration:underline;
	}
	#top .box02 .right .slider_area>ul{
		height:160px;
		padding:20px 0 20px 20px;
		font-size:13px;
		color:#000;
	}
		#top .box02 .slick-slide{
			margin-right:20px;
			float:left;
		}
		#top .box02 .right:last-of-type{
			margin-right:0;
		}
		#top .box02 .right li img{
			margin-bottom:5px;
		}
		#top .box02 .right li a{
			position:relative;
			display:block;
		}
		#top .box02 .right li.slick-slide a:after{
			content:url(../img/common/movie_icon.png);
			position:absolute;
			bottom:15px;
			right:15px;
		}
		#top .box02 .right .more_link{
			padding-right:4%;
		}
		#top .box02 .right .more_link a{
			font-size:13px;
			text-decoration:none;
			color:#4B4948;
			padding-left:10px;
			background:url(../img/top/more_nav_arrow.png) no-repeat 0px 5px;
		}
		#top .box02 .right .more_link a:hover{
			text-decoration:underline;
		}

		#top .box03{
			min-width:1100px;
			margin:0 auto;
			padding:0 30px;
		}
		.box03 .cmn_shop_list .list{
			width: calc((100% - 1% * 4) / 5);
			margin-right: 1%;
		}
		.box03 .cmn_shop_list .list img{
			width:100%;
			transition: .85s ;
		}

/* 2020.04.24 update */
#top .top_special_info{
	width: 1020px;
	margin: 0 auto;
	padding-top: 80px;
	padding-bottom: 20px;
}
#top .top_special_info_inner{
	background-color: #FFF4F4;
	padding: 50px 60px 60px 60px;
	border: solid 2px #ED3166;
	box-sizing: border-box;
}
#top .top_special_info_ttl{
	color: #ED3166;
	font-weight: bold;
	font-size: 20px;
	margin-bottom: 30px;
	line-height: 1.6;
	text-align: center;
}
#top .top_special_info_content{
	color: #ED3166;
	font-size: 14px;
	line-height: 2;
}
#top .top_special_info_content p:not(:last-child){
	margin-bottom: 1.5em;
}
#top .top_special_info_content span.bold{
	font-weight: bold;
}
#top .top_special_info_content span.period{
	display: inline-block;
	width: 6em;
}
#top .top_special_info_content a{
	text-decoration: underline;
	color: #1383c7;
}
#top .top_special_info_content a:hover{
	text-decoration: none;
}
#top .top_special_info_content .indent{
	padding-left: 1em;
	text-indent: -1em;
}

/*------------------------
business
------------------------*/
#business{
	color:#4B4948;
}
.business_box01{
	margin-bottom:60px;
	line-height:1.8;
}
	.business_box01 h3{
		font-size:30px;
		line-height:1.2;
		color:#4B4948;
		margin-bottom:20px;
	}
		.business_box01 .left{
			width:520px;
			margin-right:30px;
			float:left;
		}
		.business_box01 .right{
			width:550px;
			float:left;
		}
			.business_box01 .right .link_box ul{
				text-align:right;
			}
			.business_box01 .right .link_box li{
				margin-top:20px;
				display:inline-block;
				text-align:center;
			}
			.business_box01 .right .link_box li a{
				padding:5px 0px;
				display:block;
				border-radius:5px;
				color:#444;
				font-size:15px;
				border:solid 1px #444;
				text-decoration:none;
				position:relative;
				font-weight:bold;
			}
			.business_box01 .right .link_box li a:after{
				content:url(../img/common/link_icon02.png);
				margin-left:10px;
			}
			.business_box01 .right .link_box li a:hover{
				color:#FFF;
				background-color:#444;
			}
			.business_box01 .right .link_box li a:hover:after{
				content:url(../img/common/link_icon02-on.png);
			}
		.business_box01 .right .link_box li.real_estate_link a{
			width:240px;
		}
		.business_box01 .right .link_box .life_support a{
			width:170px;
		}
		.business_box01 .right .link_box .golf a{
			width:170px;
		}
		.business_box01 .right .link_box .hot_bath a{
			width:170px;
		}
		.business_box01 .right .link_box .fb a{
			width:170px;
		}
.business_box02{
	margin-bottom:120px;
	line-height:1.8;
}
	.business_box02 li{
		width:346px;
		float:left;
		margin-right:30px;
		line-height:1.8;
		color:#4B4948
	}
	.business_box02 li:last-child{
		margin-right:0;
	}
		.business_box02 h4{
			font-size:18px;
			margin:10px 0 0;
		}
#business .out_link{
	color:#069;
	text-decoration:none;
}
#business .out_link:hover{
	text-decoration:underline;
}
.business_bna .cmn_shop_list .list{
	width:196px;
}
.business_bna .cmn_shop_list .list img{
	width:100%;
}
/*------------------------
common
------------------------*/
.page_main_img{
	height:250px;
	position:relative;
	padding-bottom:90px;
}
	.page_main_img.pt01{
		background:url(../img/common/page_main01_img.png) no-repeat;
	}
	.page_main_img.pt02{
		background:url(../img/common/page_main02_img.png) no-repeat;
	}
	.page_main_img.pt03{
		background:url(../img/common/page_main03_img.png) no-repeat;
	}
	.page_main_img.pt04{
		background:url(../img/common/page_main04_img.png) no-repeat;
	}
	.page_main_img h2{
		position:absolute;
		top:110px;
		left:100px;
		font-size:24px;
		color:#FFF;
	}
.cmn_menu{
	position:relative;
	margin-bottom:60px;
}
.cmn_menu ul{
	line-height:1;
	border-bottom:solid 1px #DDD;
}
.cmn_menu ul li{
	float:left;
	font-size:18px;
	padding:0 40px 20px 0;
}
.cmn_menu ul li a{
	color:#4B4948;
	text-decoration:none;
}
.cmn_menu .move_border{
	background:#FFF100;
	height:3px;
	display:block;
	position:absolute;
	bottom:-1px;
	left:0;
}
.cmn_title{
	font-size:24px;
	margin-bottom:60px;
}


.cmn_shop_list .list{
	/*
	width:196px;
	margin-right:30px;
	*/
	width: 175px;
	margin-right: 10px;
}
.cmn_shop_list .list a{
	text-decoration:none;
	color:#4B4948;
}
	.cmn_shop_list a:hover img{
		opacity:0.6;
	}
.in_of_box_title{
	font-size:18px;
	font-weight:bold;
}
	.cmn_shop_list .list:last-child{
		margin-right:0;
	}
	.cmn_shop_list .list img{
		margin-bottom:5px;
	}
	.cmn_shop_list .list .in_of_box02{
		display:table;
		position:absolute;
	}
	.cmn_shop_list .list .in_of_box02_1{
		font-size:10px;
		padding-right:5px;
		display:table-cell;
	}
	.cmn_shop_list .list .in_of_box02_2{
		/* font-size:12px; */
		font-size: 11px;
		display:table-cell;
	}

/*------------------------
contact
------------------------*/
#contact .contact_info{
	line-height:1.8;
}
#contact .contact_table{
	width:550px;
}
#contact .contact_btn{
	margin-right:205px;
}
#contact input,
#contact textarea,
#contact select{
	border:none;
	background:#EEE;
	cursor: pointer;
	box-sizing:border-box;
	color:#000;
}
#contact input::-webkit-input-placeholder {
	color:#CCC;
}
#contact input:-ms-input-placeholder {
	color:#CCC;
}
#contact input::-moz-placeholder {
	color:#CCC;
}
#contact textarea::-webkit-input-placeholder {
	color:#CCC;
}
#contact textarea:-ms-input-placeholder {
	color:#CCC;
}
#contact textarea::-moz-placeholder {
	color:#CCC;
}
#contact select{
	width:200px;
	padding:5px;
	-webkit-appearance: none;
	appearance: none;
	background:url(../img/contact/select_arrow.png) no-repeat right #EEE;
}
#contact option{
	color:#CCC;
}
	#contact .contact_table td{
		width:145px;
		padding-bottom:30px;
	}
	#contact .contact_table span{
		padding-left:10px;
		font-size:12px;
	}
	#contact .contact_table .text_m{
		width:404px;
		height:27px;
		padding:5px;
	}
	#contact .contact_table .text_l{
		width:404px;
		height:81px;
		padding:5px;
	}
#contact .form_btn{
	width:200px;
	height:34px;
	text-align:center;
	color:#FFF;
	background:#444;
	box-sizing:border-box;
	border:none;
	margin-bottom:120px;
	cursor:pointer;
}
#contact .form_btn:before{
	content:">";
	color:#FFF100;
}
#contact .confirm_ul{
	margin-top:40px;
	width:550px;
}
#contact .confirm_table th{
	width:150px;
}
#contact .confirm_table td{
	width:auto;
	word-wrap: break-word;
}
.thankyu_link{
	margin:30px 0 250px;
}
.cmonfirm_error_text{
	text-align:center;
	margin:30px 0 250px;
}
/*------------------------
common-企業情報
------------------------*/
.company_info_btn ul{
	line-height:1;
	padding-bottom:20px;
	border-bottom:solid 1px #DDD;
}
.company_info_btn ul li{
	float:left;
	font-size:18px;
	margin-right:40px;
}
.company_info_btn ul li a{
		color:#4B4948;
	text-decoration:none;
}
.company_info_detail{
	color:#4B4948;
	padding-bottom:150px;
}
/*------------------------
Company_profile
------------------------*/
#cPro *,
#cPro *:before,
#cPro *:after{
	box-sizing:border-box;
}
#cPro .cPro_tbl{
	width:550px;
}
#cPro .cPro_tbl_p_dt{
	width:122px;
	float:left;
	clear:both;
}
#cPro .cPro_tbl_p_dd{
	float:left;
}
#cPro .cPro_tbl_p_dd:not(:last-child){
		padding-bottom:20px;
}
#cPro .cPro_tbl_p_dd dd{
	margin-bottom:20px;
}
#cPro .cPro_tbl_c_dt{
	font-weight:bold;
}
#cPro a{
	color:#4B4948;
	text-decoration:none;
}
#cPro a:hover{
	text-decoration:underline;
}
#cPro .cPro_tbl_c_dt a{
	padding-right:20px;
	background:url(../img/common/link_icon.gif) no-repeat 99% 5px;
}
#cPro .cPro_tbl_c_dt a:hover{
	background:url(../img/common/link_icon-on.gif) no-repeat 99% 5px;
}

#cPro .out_link_list a{
	padding-right:20px;
	background:url(../img/common/link_icon.gif) no-repeat 99% 5px;
}
#cPro .out_link_list a:hover{
	background:url(../img/common/link_icon-on.gif) no-repeat 99% 5px;
}
/*------------------------
indtroducing_offices
------------------------*/
#in_of *,
#in_of *:before,
#in_of *:after{
	box-sizing:border-box;
}
#in_of .in_of_box01{
	margin-bottom:80px;
}
#in_of .in_of_tbl_dt{
	font-weight:bold;
}
#in_of .in_of_tbl dd:not(:last-child){
	margin-bottom:20px;
}
#in_of .in_of_tbl dd dl dd{
	margin-bottom:20px;
}
#in_of .in_of_box_title{
	font-size:18px;
}
#in_of .in_of_box03 div.fl:not(:last-child){
	margin-right:31px;
}
#company_profile .cmn_shop_list .list{
	width:196px;
}
#company_profile .cmn_shop_list .list img{
	width:100%;
}
/*------------------------
media
------------------------*/
#media.main{
	margin-bottom:250px;
}
#media .media_box01 li{
	width:346px;
	margin:0 30px 60px 0;
	float:left;
}
#media .media_box01 li:nth-of-type(3n){
	margin-right:0;
}
.media_type_nav{
	margin:-40px 0 30px;
}
.media_type_nav td{
	float:left;
	margin-right:20px;
	font-size: 13px;
	color:#AAA;
}
.media_type_nav td a{
	color:#AAA;
	text-decoration:none;
	letter-spacing:1;
	position:relative;
}
.media_type_nav td a:after {
	content: '';
	position: absolute;
	bottom: -5px;
	left: 0;
	right: 0;
	box-sizing: border-box;
	height: 1px;
	-webkit-transform: scaleX(0);
	-ms-transform: scaleX(0);
	transform: scaleX(0);
	background-color: #AAA;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}
.media_type_nav td a:not(.on):hover:after {
	-webkit-transform: scaleX(1);
	-ms-transform: scaleX(1);
	transform: scaleX(1);
}
.media_type_nav td a.on:after {
	-webkit-transform: scaleX(1);
	-ms-transform: scaleX(1);
	transform: scaleX(1);
}
/*シングル*/
#s_media h2{
	font-size:20px;
	font-weight:bold;
	margin-bottom:20px;
}
#s_media .left_rayout{
	width:830px;
	float:left;
}
#s_media .left_rayout .text{
	text-align:left;
}
#s_media .left_rayout .haff_img_box{
	width:50%;
}
#s_media .left_rayout .haff_img_box img{
	width:100%;
}
#s_media .left_rayout .text{
	width:50%;
	box-sizing:border-box;
}
#s_media .right_rayout{
	width:230px;
	float:right;
}
#s_media .right_rayout li{
	margin-bottom: 10px;
	font-size: 13px;
}
#s_media .right_rayout a{
	color:#AAA;
	text-decoration:none;
}
#s_media .right_rayout a:hover{
	text-decoration:underline;
}
#s_media .cat_title{
	font-weight: bold;
	font-size: 15px;
	padding: 2px 2px 2px 10px;
	color: #FFF;
	background: #4B4948;
}
/*------------------------
#history
------------------------*/
#history{
	padding-bottom:100px;
}
#history .history_box01{
	position:relative;
}
#history .history_box01:before{
	position:absolute;
	content:"";
	display:block;
	width:1px;
	height:100%;
	border-left:solid 1px #DDD;
	left:40px;
}
#history .history_box01 th{
	width:900px;
	color:#4B4948;
	position:relative;
	vertical-align:middle;
	padding:70px 0;
}
#history .history_box01 .pt01 th{
	padding:20px 0;
}

	#history .history_box01 th div{
		background:#FFF;
		display:table;
	}
	#history .history_box01 table{
		position:relative;
	}
	#history .history_box01 table:first-of-type:before{
		width:10px;
		height:70px;
		position:absolute;
		background:#FFF;
		content:"";
		display:block;
		left:35px;
	}
	#history .history_box01 table:last-of-type:before{
		width:10px;
		height:70px;
		position:absolute;
		background:#FFF;
		content:"";
		display:block;
		left:35px;
		bottom:-20px;
	}
	#history .history_box01 th time{
		display:table-cell;
		padding:20px 35px 20px 0;
	}
	#history .history_box01 th h4{
		display:table-cell;
		line-height:1.8;
	}
#history .history_box01 td{
	display:table-cell;
	width:200px;
	vertical-align:middle;
}
/*------------------------
privacy_policy
------------------------*/
#pr_po .cmn_width dl dt{
	font-size:18px;
	margin-bottom:10px;
}
#pr_po .cmn_width dl dd:not(:last-child){
	margin-bottom:30px;
}
#pr_po .cmn_width dl{
	margin-bottom:120px;
}
/*------------------------
greeting
------------------------*/
#greeting .greeting_box{
	margin-bottom:400px;
}
#greeting .greeting_wrap{
	width:1125px;
	height:813px;
	margin-left:-25px;
}
#greeting .left{
	width:350px;
	margin-right:35px;
	float:left;
}
#greeting .greeting_text{
	width:715px;
	float:left;
	line-height:1.8;
}
#greeting .greeting_name{
	width:185px;
}
#greeting .greeting_text h3{
	font-size:30px;
}
#greeting .greeting_text p{
	line-height: 2;
}
#greeting .greeting_text p:not(:last-child){
	margin-bottom:27px;
}
#greeting .greeting_name p{
	line-height:1;
}
#greeting .company_info_detail{
	padding-bottom:13px;
}
/*------------------------
sitemap
------------------------*/
#sitemap h2.sitemap_h2{
	line-height:1;
}
#sitemap .clearfix .fl{
	width:346px;
}
#sitemap .clearfix .fl:not(:last-child){
	margin-right:31px;
}
#sitemap .clearfix .fl h3{
	padding-bottom:5px;
	color:#4B4948;
	border-bottom:solid 1px #4B4948;
	margin-bottom:20px;
	font-size:18px;
}
#sitemap .clearfix .fl ul,
#sitemap .clearfix .fl ul li{
	line-height:1;
	color:#4B4948;
}
#sitemap .clearfix .fl ul li:before{
	content:"-";
	padding-right:5px;
}
#sitemap .clearfix .fl ul li:not(:last-child){
	margin-bottom:20px;
}
#sitemap .clearfix .fl ul li a{
	color:#4B4948;
	text-decoration:none;
}
#sitemap .clearfix .fl ul li a:hover{
	color:#4B4948;
	text-decoration:underline;
}
#sitemap .clearfix .fl ul li a:visited{
	color:#4B4948;
}
#sitemap .mb130{
	margin-bottom:130px;
}
/*------------------------
company_philosophy
------------------------*/
#company_philosophy{
	color:#4B4948;
}
#company_philosophy h3{
	font-size:30px;
	line-height:1.2;
}
	#company_philosophy h3:last-of-type{
		margin-bottom:50px;
	}
#company_philosophy .text{
	line-height:1.8;
}

/*------------------------
20170703 update fukase

Works 施工実績
------------------------*/
/* 一覧 */
.works_page_tit{
	color: #4B4948;
	line-height: 1;
	text-align: center;
	margin-top: 125px;
	margin-bottom: 130px;
}
	.works_page_tit .size--large{
		font-size: 36px;
		font-weight: bold;
		letter-spacing: 0.1em;
		margin-bottom: 30px;
	}
	.works_page_tit .size--small{
		font-size: 18px;
	}
.works_post_list{
	margin-bottom: 100px;
	font-size: 0;
}
	.works_post_list li{
		color: #4B4948;
		display: inline-block;
		font-size: 15px;
		margin-bottom: 75px;
		width: 333px;
		vertical-align: top;
	}
	.works_post_list li:not(:nth-of-type(3n)){
		margin-right: 50px;
	}
		.works_post_list li a{
			text-decoration: none;
		}
		.works_post_list .tmb{
			width: 333px;
			height: 210px;
			overflow: hidden;
			margin-bottom: 10px;
		}
		.works_post_list .tmb > img{
			width: 100%;
		}
.works_heading_wrap{
	color: #4B4948;
	display: table;
}
	.works_heading_wrap > .deco,
	.works_heading_wrap > .heading{
		display: table-cell;
		vertical-align: middle;
	}
	.works_heading_wrap > .heading{
		padding-left: 10px;
	}
		.works_heading_wrap > .deco > *{
			font-size: 1em;
			display: block;
			line-height: 1.1;
		}
		.works_heading_wrap > .deco .en{
			font-size: 0.5em;
			letter-spacing: 0.05em;
			transform:scale(0.8);
		}
		.works_heading_wrap > .deco .num{
			letter-spacing: 0.1em;
		}
/* 詳細 */
.works_detail{
	margin-bottom: 120px;
}
.works_detail_photo{
	margin-bottom: 80px;
}
	.works_detail_photo .preview{
		float: left;
	}
	.works_detail_photo .tmb_list{
		float: right;
		margin-bottom: -20px;
		width: 286px;
	}
		.works_detail_photo .tmb_list .tmb{
			cursor: pointer;
			float: left;
			margin-bottom: 20px;
			position: relative;
		}
		.works_detail_photo .tmb_list .tmb:nth-of-type(odd){
			margin-right: 20px;
		}
			.works_detail_photo .tmb_list .tmb > img{
				width: 132px;
			}
			.works_detail_photo .tmb_list .tmb.is--active:after,
			.works_detail_photo .tmb_list .tmb:hover:after{
				background-color: rgba(0, 0, 0, 0.4);
				content: "";
				display: block;
				width: 100%;
				height: 100%;
				position: absolute;
				top: 0;
				left: 0;
			}
.works_content .works_concept{
	float: left;
	width: 731px;
}
	.works_concept_txt{
		color: #4B4948;
	}
.works_content .works_info_wrap{
	float: right;
	width: 286px;
}
.works_detail .works_heading_wrap{
	font-size: 18px;
	margin-bottom: 40px;
}
	.works_detail .works_heading_wrap .heading{
		font-size: 1em;
		font-weight: bold;
		padding-left: 15px;
	}
	.works_detail .works_heading_wrap > .deco .en{
		    transform: scale(0.9);
	}
.works_detail .works_info{
	color: #444;
	margin-bottom: 10px;
}
.works_detail .works_info tr:not(:last-child) th,
.works_detail .works_info tr:not(:last-child) td{
	border-bottom: 1px solid #EEE;
}
.works_detail .works_info th,
.works_detail .works_info td{
	padding: 15px 0;
	vertical-align: middle;
}
.works_detail .works_info th{
	border-right: 1px solid #EEE;
	box-sizing: border-box;
	font-size: 13px;
	padding-left: 10px;
	height: 20px;
	width: 153px;
	position: relative;
}
	.works_detail .works_info th:before,
	.works_detail .works_info th:after{
		background-color: #fff;
		content: "";
		display: block;
		position: absolute;
		left: 0;
		height: 15px;
		width: 286px;
	}
	.works_detail .works_info th:before{
		top: 0;
	}
	.works_detail .works_info th:after{
		bottom: 0;
	}
.works_detail .works_info td{
	font-size: 12px;
	padding-left: 15px;
}
/*ボタン*/
.works_btn{
	box-sizing: border-box;
	text-align: center;
	transition: 0.1s;
	position: relative;
}
	.works_btn a{
		display: block;
		text-decoration: none;
		padding: 1.3em 0;
	}
.works_btn.act--print{
	border: 1px solid #DDD;
	color: #444;
	font-size: 13px;
	line-height: 1.3;
	width: 286px;
}
	.works_btn.act--print a{
		padding: 1.1em 0;
	}
.works_btn.act--print:hover{
	background-color: #444;
}
	.works_btn.act--print:hover a{
		color: #fff;
	}
.works_btn.act--back{
	background-color: #fff;
	color: #404040;
	font-size: 16px;
	line-height: 1.7;
	margin: auto;
	width: 430px;
}
.works_btn.act--back:hover{
	background-color: #FFF100;
}
	.works_btn.act--back:after{
		content: "\f105";
		font-family: "FontAwesome";
		font-size: 34px;
		line-height: 1;
		height: 1em;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 20px;
		margin: auto;
		pointer-events: none;
	}
/*過去の施工実績*/
.latest_works_wrap{
	background-color: #404040;
	color: #fff;
	padding: 80px 0 100px;
}
	.latest_works_heading{
		font-size: 30px;
		margin-bottom: 60px;
		letter-spacing: 0.1em;
		line-height: 1;
	}
	.latest_works_wrap .works_post_list a,
	.latest_works_wrap .works_heading_wrap{
		color: #fff;
	}
	.latest_works_wrap .works_post_list a{
		display: block;
		transition: 0.3s ease-in-out;
	}
	.latest_works_wrap .works_post_list a:hover{
		opacity: 0.7;
	}
/* 印刷用レイアウト */
.type--print{
	display: none;
}
@media print {
	@page { size: A4; }
	body{
		min-width: auto;
		width: 210mm;
		height: 297mm;
	}
	.type--print{
		display: block;
	}
	header,
	.bread,
	.works_page_tit,
	.latest_works_wrap,
	.works_btn,
	.go_top,
	footer{
		display: none !important;
	}
	.cmn_width{
		width: 100%;
	}
	.works_print_sheet{
		font-size: 10px;
		position: relative;
		height: 100%;
	}
	.print_head {
		border-bottom: 1px solid #000;
		color: #333;
		font-size: 1.2em;
		letter-spacing: 0.1em;
		margin-bottom: 45px;
		/* padding-top: 30px; */
		padding-bottom: 15px;
		text-align: center;
	}
	.print_head .inner_text,
	.print_head .inner_deco {
		display: inline-block;
		vertical-align: middle;
		margin-right: -0.4em;
	}
	.print_head .inner_deco{
		padding: 0 1em;
	}
	.print_head .inner_text {
		/* width: calc( ( 100% - 2em) / 2); */
	}
	.print_head .inner_text.layout-left {
		/* text-align: right; */
	}
	.print_head .inner_text.layout-right {
		/* text-align: left; */
	}
	.works_detail{
		box-sizing: border-box;
		width: 100%;
		margin-bottom: 0;
	}
	.works_detail_photo{
		box-sizing: border-box;
		float: right;
		width: 50%;
		margin-bottom: 0;
	}
		.works_detail_photo .preview{
			margin-bottom: 10px;
			width: 100%;
		}
			.works_detail_photo .preview > img{
				width: 100%;
			}
		.works_detail_photo .tmb_list{
			margin-right: -10px;
		}
		.works_detail_photo .tmb_list .tmb{
			margin-bottom: 10px;
			width: calc( (100% - 10px) / 2 );
		}
		.works_detail_photo .tmb_list .tmb.not_print{
			display: none;
		}
		.works_detail_photo .tmb_list .tmb:nth-of-type(even){
			margin-right: 10px;
		}
		.works_detail_photo .tmb_list .tmb:nth-of-type(odd),
		.works_detail_photo .tmb_list .tmb:nth-of-type(10){
			margin-right: 0;
		}
			.works_detail_photo .tmb_list .tmb > img{
				width: 100%;
			}
			.works_detail_photo .tmb_list .tmb.is--active:after,
			.works_detail_photo .tmb_list .tmb:hover:after{
				display: none;
			}
	.works_content{
		box-sizing: border-box;
		float: left;
		padding-right: 3%;
		width: 50%;
	}
		.works_detail .works_heading_wrap{
			color: #333;
			margin-bottom: 10px;
		}
			.works_heading_wrap > .deco,
			.works_detail .works_heading_wrap .heading{
				font-size: 15px;
			}
			.works_detail .works_heading_wrap .heading{
				font-weight: bold;
			}
		.works_detail_photo .tmb_list,
		.works_content .works_concept,
		.works_content .works_info_wrap{
			float: none;
			width: 100%;
		}
	.works_info_wrap{
		margin-bottom: 30px;
	}
		.works_detail .works_info th,
		.works_detail .works_info td,
		.works_detail .works_info tr:not(:last-child) th,
		.works_detail .works_info tr:not(:last-child) td{
			border: none;
		}
		.works_detail .works_info th,
		.works_detail .works_info td{
			padding: 10px 0;
		}
		.works_detail .works_info td{
			font-weight: bold;
		}
			.works_detail .works_info th:before,
			.works_detail .works_info th:after{
				height: 10px;
			}
		.works_detail .works_info th,
		.works_detail .works_info td,
		.works_concept_heading{
			font-size: 10px;
		}
		.works_detail .works_info th,
		.works_detail .works_info td,
		.works_concept{
			color: #333;
		}
	.works_concept_heading{
		margin-bottom: 10px;
	}
	.print_sheet_desc{
		color: #333;
		position: absolute;
		bottom: 0;
		left: 0;
	}
}

/* 20170802 update */
.construction_box02{
	margin-bottom: 100px;
}
.construction_btn{
	margin-bottom: 100px;
}


/*------------------------
security_policy
------------------------*/
#se_po .icon_block .box_catch{
	font-size: 20px;
	line-height: 2;
}
#se_po .policy_list_wrap{
	margin-bottom:120px;
}
#se_po .policy_list dt{
	font-size:18px;
	margin-bottom:10px;
}
#se_po .policy_list dd:not(:last-child){
	margin-bottom:30px;
}

/*------------------------
dx
------------------------*/
#dx .sec-dx{
	width: 800px;
	margin-left: auto;
	margin-right: auto;
}
#dx .sec-dx .sec-ttl{
	font-size: 24px;
}

/* 20240528 update */
#top .top-dx-block{
	width: 100%;
	background-color: #313131;
	padding: 40px 0;
	display: flex;
	justify-content: center;
	align-items: center;
}
#top .top-dx-block .box-img{
	padding-right: 45px;
}
#top .top-dx-block .box-txt{
	border-left: 1px solid #fff;
	padding-left: 46px;
	font-size: 26px;
	line-height: 1.5;
	color: #fff;
}

.float-bnr{
	position: fixed;
	z-index: 10;
	bottom: 0;
	right: 0;
}
.float-bnr .bnr{
	display: block;
	overflow: hidden;
	border-radius: 10px 0 0 0;
	transition: opacity .85s;
}
.float-bnr .bnr:hover{
	opacity: 0.6;
}
