@charset "UTF-8";

/*--------------------------------------------------------
モバイル用レイアウト（640px以下の解像度のスクリーン含む）
--------------------------------------------------------*/


@media
only screen and (max-width : 1000px){



html{
	overflow-y: scroll;
	overflow-x: hidden;
}

html,body{
	width: 100%;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	font-size: 14px;
}
iframe {
	width:100%;
}
textarea,input{ max-width: 95%; }
.drawer-toggle , .drawer-nav {
	display: block;
}
#main{
	width: auto !important;
	height: auto !important;
	padding:0 20px;
}
#header , #main.sub , #main_bottom {
	width: auto !important;
	height: auto !important;
	margin-left: 20px !important;
	margin-right: 20px !important;
	clear: both !important;
	float: none !important;
	padding:0 0;
}
.pagelink_csr {
       top: auto !important;
}	
#footer{ padding:0; position:static; background:#000;}
	#toTop{ position:static; width:auto; text-align:center;}
		#toTop a{ display:block;}

	#address {
		width: auto !important;
		height: auto !important;
		margin-left: 0px !important;
		margin-right: 0px !important;
		padding-left: 20px !important;
		padding-right: 20px !important;
		clear: both !important;
		float: none !important;
	}
img {
	max-width: 100% !important;
	height:auto !important;
}
	#gnav , #footer .wrapper , #headnav {
		display: none !important;
	}
	#top_news dt , #top_news dd , .building_index .left {
		float: none !important;
		clear: both !important;
		width: auto !important;		
	}
	#header h1 img {
		width: 230px;
		height: auto;
	}
	#top_news dd {
		margin-bottom: 10px;
	}
	#top_bn {
		margin-right: -20px !important;
	}
#top_bn li {
	float: left;
	width: 50%;
	margin-right: 0px !important;
	margin-bottom: 20px !important;
	text-align: center;
}
	#top_bn li a {
		display: block;
		margin-right: 20px;
	}
	#top_bn li img {
		width: 100% !important;
		height: auto !important;
	}
	.drawer-menu .border , .drawer-menu .border2 , .drawer-menu .border3 {
		display: block;
		padding: 20px;
		border-bottom: 1px solid #fff;
		background-color: #2ea7e0;
		color: #fff;
}	
	.drawer-menu a {
		display: block;
	}
	.drawer-menu li li a {
		padding: 20px;
		border-bottom: 1px solid #efefef;
	}
	.drawer-menu li li li a {
		padding-left: 40px;
		padding-bottom:20px;
		padding-right: 20px;
	}
#slider {
	height: 300px !important;
	position: relative;
}
#slider .slide div {
	width: 100vw !important;
		height: 300px !important;
}

.slide h2 {
	font-size: 160% !important;
	font-weight: normal;
	font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif !important;
	line-height: 160% !important;
	padding-top: 90px !important;
	margin-bottom: 10px !important;
}
.slide h2 , .slide p , .building_index {
	width: auto !important;
	margin-left: 20px !important;
	margin-right: 20px !important;
}
.slide p a {
	display: block;
	width: 90px;
	padding: 10px;
	color: #fff;
	text-align: center;
	border: 1px solid rgba(100,100,100,0.9);
}
.overlay_l , .overlay_r {
	display: none !important;
}
#content .wrap , #content {
	width: auto !important;
	margin-left: 20px;
	margin-right: 20px;
}
#main.sub {
	margin-left: 0 !important;
	margin-right: 0 !important;
}
#bottomnav a {
	display: block;
	margin-left: 10px;
	margin-right: 10px;
}
.p16 , .news_day {
	font-size: 14px !important;
}
#content .p24 , .p26 {
	font-size: 18px !important;
}
.p30 , .p32 , .p38 , .p40 , .p46 {
		font-size: 20px !important;
	}
#icatch h2 {
	font-size: 24px !important;
	line-height: 150% !important;
	margin-bottom: 0px !important;
}
#icatch.apartments , #icatch.company_safety , #icatch.company_power , #icatch.company_international , #icatch.company_ebi , #icatch.csr {
	background-position: 40% 50%;
}
#icatch p {
	font-size: 14px !important;
	line-height: 150% !important;
	padding-bottom: 10px !important;
}	
#pankuzu {
	padding-left: 20px;
	padding-right: 20px;
	border-top: 3px solid #fff;
	padding-top: 10px;
}
#main.sub {
	padding-top: 0 !important;
	padding-bottom:50px;
}
.h4_normal {
	font-size: 18px;
	line-height: 150%;
	margin-bottom: 10px;
}	
.news_list dd , .news_list dt {
	display: block;
	width: auto !important;
	clear: both;
	float: none;
}
.news_list dd a {
	display: block;
	margin-left: 40px;
}


#msg-tab{
	margin-left: 20px;
    margin-right: 20px;
}
	#msg-tab li{ width:45%;}
		#msg-tab li.tab01{ margin-right:10%;}
		#msg-tab li img{ width:100%; height:auto;}


.apartments_ul li img {
	width: 100% !important;
	height: auto !important;
}	
#icatch_sub {
	margin-left: 0;
	margin-right: 0;
}
#icatch_sub div {
	width: auto !important;
	height: auto !important;
	margin-left: 20px;
	margin-right: 20px;
	padding-bottom: 50px;
}
.company_bn li {
	display: block;
	width: 33.33%;
	float: left;
	margin-right: 0px !important;
	margin-bottom: 10px;
}
.company_bn li a {
	display: block;
	margin: 0px 5px !important;
}
.dl_company dt , .dl_company dd {
	padding-left: 45px;
}
.company_bn.list li {
	width: 100%;
	float: none !important;
	clear: both !important;
	margin-bottom: 20px;
}
#icatch div.harf {
	padding-right: 0 !important;
	text-align: left;
	padding-left: 20px;
}
.tbl_company td , .tbl_company th {
	padding: 5px;
}

.company_enkaku .left , .company_enkaku .right {
	float: none !important;
	clear: both !important;
	width: auto !important;
}
.company_enkaku table td {
	display: block;
	width:100%;
}
.company_enkaku table th,
.company_enkaku table td.day {
	display: inline-block;
	width:auto;
	margin-bottom:0;
}
.company_enkaku table td {
		margin-bottom: 10px;
}
.list_power .div {
	float: none !important;
	width: auto !important;
}	
.list_power .le {
	float: left;
	width: 50%;
}
.img_left , .img_right , .flt_left , .flt_right {
	float: none !important;
	clear: both !important;
	display: block;
	margin-left: auto !important;
	margin-right: auto !important;
	text-align: center !important;
	margin-bottom: 10px;
}
.flt_left , .flt_right {
	width: auto !important;
}
	
.csr_box .right {
	float: none !important;
	clear: both !important;
	width: auto !important;
	margin-right: 0px !important;
}
.csr_box .txt , .csr_box h4 {
	margin-top: 0 !important;
	margin-left: 20px !important;
	margin-right: 20px !important;
}
#icatch p.nomar {
	margin-left: 20px !important;
	margin-right: 20px !important;
}
.access {
	padding: 20px;
}
.access .left , .access .map {
	float: none !important;
	clear: both !important;
	width: auto !important;
}
.access .map , .access .img {
	text-align: center;
}
.building_img {
	width: 100% !important;
	clear: both !important;	
	margin-left: 0 !important;
	margin-right: 0 !important;
}
.building_img li {
	width: auto !important;
	height: auto !important;
	clear: both;
	margin-top: 20px !important;
	text-align: center;
}
.building_img .v_bottom {
	display: block !important;
}
.width620 , .noborder.merit {
	width: auto !important;
	margin-left: auto !important;
	margin-right: auto !important;
}	
#main_bottom {
	margin-left: 20px !important;
	margin-right: 20px !important;
	padding-bottom:20px;
}
.refining_ba {
	display: block !important;
	width: auto !important;
	background-color: #796a56;
	color: #fff !important;
	text-align: center !important;
	padding-top: 20px;
}
.refining_ba div {
	display: block !important;
	width: auto !important;
}
.refining_ba .arrow {
	display: none !important;
}
.refining_ba .left .img {
	display: block;
	padding-top: 60px;
	text-align: center;
	background-image: url(../img/building/refining_before.svg);
	background-repeat: no-repeat;
	background-position: center top 20px;
	background-size: 75px 30px;
}
.refining_ba .right {
	display: block;
	padding-top: 60px;
	text-align: center;
	background-image: url(../img/building/after.svg);
	background-repeat: no-repeat;
	background-position: center top 20px;
	background-size: 75px 30px;
	padding-bottom: 20px;
}
.refining_ba p {
	margin-left: 20px;
	margin-right: 20px;
	}
#icatch.imgmap {
	height: auto !important;
}
#icatch.imgmap div {
	position: relative !important;
	left: auto !important;
	right: auto !important;
	margin-left: -20px !important;
	margin-right: -20px !important;
}
.h2_build {
	padding-top: 30px;
	padding-bottom: 30px;
	display: block;
	background-image: url(../img/building/index_ico.svg);
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 115px auto;
	padding-left: 140px;
}
.build_ul li {
	margin-right: 0 !important;
	width: 33.33% !important;
	margin-bottom: 30px;
}
.build_ul a {
	margin-left: 10px;
	margin-right: 10px;
}
	.build_wrap {
		margin-left: 20px;
		margin-right: 20px;
	}
	.various_ul li {
		width: 100% !important;
		margin-right: 0 !important;
	}
	.various_ul .img {
		text-align: center;
	}
	.build_ul.large	p {
		margin-left: 10px;
		margin-right: 10px;		
	}
#slider_sub {
	width: auto !important;
	margin-left: 0px !important;
	margin-right: 0px !important;
}
.res_slide {
	width: auto !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	margin-bottom: 60px !important;
}
.h3_slider {
	padding: 5px 20px !important;
}
	.technology_ul {
		margin-right: -20px !important;
	}
.technology_ul li {
	margin-right: 20px !important;
	margin-bottom: 20px !important;
 width : 48% ;
   width : -webkit-calc(50% - 20px) ;
   width : calc(50% - 20px) ;
}
	.h2_recruit span {
		display: block;
		margin-left: 0 !important;
	}
.csr_box .border img {
	margin-top: 15px !important;
}	
.refining_ul li {
	width: auto !important;
	float: none !important;
	clear: both !important;
	margin-right: 0 !important;
	margin-bottom: 20px !important;
	text-align: center !important;
}
.base_point li {
	display: block;
	width: 50%;
	float: left;
	border: none !important;
	padding-top: 10px;
	margin-right: 0 !important;
}
	.base_point li .title{ overflow:hidden;}
		.base_point li .title img{ display:block; float:left;}
		.base_point li .title span{ display:block; line-height:150%; padding-top:5px;}

.civil_right {
	width: auto !important;
	clear: both !important;
	float: none !important;
	margin-left: 0px !important;
}
	.smp_mar10 {
		margin-bottom: 10px !important;
	}
	.smp_mar20 {
		margin-bottom: 20px !important;
	}
	
#icatch_sub.company+#content {
	padding:20px 20px;
	margin:0;
}
	
/* =========================================================
■contact
========================================================= */
.contact-form table th,
.contact-form table td{ display:block!important; width:100%!important;}
.contact-form > table > tbody > tr > th{ background:#ddd;}

.contact-form table td table{ border-collapse:collapse; margin-top:10px;}
.contact-form table td table th{
	background:#eee;
	padding:0;
	font-weight:bold;
	padding:7px 15px;
	border-left:3px solid #278dcf;
}
.contact-form table td table td{ padding:10px 0 20px 0;}
.mw_wp_form_preview .contact-form table td table th{ border-right:none;}





}

@media
only screen and (max-width : 500px){
.company_bn li {
	width: 50%;
}
.build_ul li {
	margin-right: 0 !important;
	width: 50% !important;
	margin-bottom: 30px;
}	
.voice_right {
	float: none !important;
	clear: both !important;
	margin-bottom: 20px !important;
	width: auto !important;
	margin-left: 0px !important;}
	
	
#msg-tab{ margin-bottom:20px;}
#msg-tab li{
	width:100%;
	float:none;
}
	#msg-tab li.tab01{ margin-right:0; margin-bottom:10px;}
	
.voice_right .img {
	text-align: center;
}
.civil_sec .img_left {
	margin-right: 0px !important;
}
.civil_sec .top_mar {
	padding-top: 0px !important;
}
.civil_right .mar20 br,
.civil_right+.img br{ display:none;}
.civil_sec .img_left , .civil_sec img {
	float: none !important;
	clear: both !important;
	display: block !important;
	text-align: center !important;
	margin-left: auto !important;
	margin-right: auto !important;
	
}

	.h2_recruit em { position:static;}
	.h2_recruit em img { width:50%; max-width:100%;}
	
}

@media
only screen and (max-width : 380px){
.csr_box .border img {
	margin-bottom: 0 !important;
	width: 100% !important;
	height: auto !important;
}
	.csr_box .border {
		padding-bottom: 0 !important;
	}
}

@media not screen and (1) { .page-top { position: static; } }/* Opera10以上 */



 /* add 20260225
-------------------------*/
@media
only screen and (max-width : 1000px){
	.u-anchor {
		margin-top: -20px;
		padding-top: 20px;
	}

	#slider .slide00 {
		background-color: #fff;
		background-size: auto 80%;
		background-position: center 0px;
		p {
			bottom: 20px;
			left: 50%;
			transform: translateX(-50%);
			text-align: center;
			margin: 0!important;
		}

	}

	.international_ul {
		grid-template-columns: repeat(1, 1fr);
	}

	.u-linkbtn-wrap {
		&.m-left {
			text-align: center;
		}
	}
	.u-linkbtn {
		padding: 5px 40px 5px 20px;
	}

	.news01_imgwrap {
		display: block;
		.img {
			height: auto;
			width: 70%;
			margin: 0 auto;
			img {
				width: 100%;
				height: auto;
			}
			& + .img {
				margin-top: 20px;
			}
		}
	}

	.gmap {
		width: 100%;
		aspect-ratio: 450 / 382;
	}
	

}