@charset "utf-8";
/*リセット*/
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, dialog, 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;
}
body , html {
	margin: 0;
	padding: 0;
	color: #222;
	font-family:  "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", MS PGothic, sans-serif;
	font-size: 16px;
	background-color: #f5f5f5;
}
p , td , th , dt , dd , li {
text-align:;
text-justify: inter-ideograph;
}

body {
	line-height:1;
}
article, aside, dialog, figure, footer, header,
hgroup, nav, section, address {
	display:block;
}
nav ul {
	list-style:none;
}

blockquote, q {
	quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content:'';
	content:none;
}

a {
	margin:0;
	padding:0;
	border:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}

ins {
	background-color:#ff9;
	color:#000;
	text-decoration:none;
}

mark {
	background-color:#ff9;
	color:#000;
	font-style:italic;
	font-weight:bold;
}

del {
	text-decoration: line-through;
}

abbr[title], dfn[title] {
	border-bottom:1px dotted #000;
	cursor:help;
}

table {
	border-collapse:collapse;
	border-spacing:0;
}

hr {
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
	vertical-align:middle;
}
.cf:before,
.cf:after {
    content: " ";
    display: table;
}

.cf:after {
    clear: both;
}

.cf {
    *zoom: 1;
}



img {
	border: none;
	vertical-align:bottom;
	z-index: 2;
}
a:hover img {
	opacity:0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
}

a {
	color: #222;
	text-decoration: none;
}
a:visited {
	color: #222;
	text-decoration: underline;
}
a:hover, a:active, a:focus {
	text-decoration: none;
}
#main a:hover , #footer a:hover {
	color: #2ea7e0;
}
.switch {
    visibility: hidden;
}
.drawer-toggle , .drawer-hamburger-icon , .drawer-nav {
	display: none;
}


#header {
	width: 1000px;
	margin: 0 auto ;
}
#footer , #address {
	width: 100%;
	margin: 0 auto ;
}
#main{
	padding:0 60px;
	background:#fff;
}
#main , #footer .wrapper , #main_bottom {
	width: 880px;
	margin: 0 auto ;
}
#gnav_ul {
	list-style: none;
	display: block;
	background-color: #fff;
	width: 996px;
	padding-left: 2px;
	padding-right: 2px;
	margin: 0 auto;
	height: 60px;
}
#gnav_ul li {
	position: relative;
	float: left;
	width: 166px;
	height: 60px;
	text-align: center;
}
#gnav_ul li a , #gnav_ul li span {
	display: block;
	height: 60px;
	line-height: 60px;
}
#gnav_ul li a:hover {
}
#gnav_ul > li li:hover > a {
}
#gnav_ul li ul {
	left: 0;
	position: absolute;
}
#gnav_ul li ul li {
	overflow: hidden;
	height: 0;
	font-size:14px;
	background-color: #fff;
}
#gnav_ul li ul li a {
	height: 40px !important;
	padding: 0;
	margin: 0;
	line-height: 40px !important;
}
#gnav_ul li li a:hover {
	color: #2ea7e0;
}
#gnav_ul li:hover > ul > li {
	overflow: visible;
	width: 166px;
	height: 40px !important;
	padding: 0;
	margin: 0;
	line-height: 40px !important;
}
	#gnav_ul li ul li ul {/*孫*/
		top: 0;
		left: 166px;
	}
	#gnav_ul li ul li ul:before {/*孫*/
		position: absolute;
		content: "";
		top: 15px;
	}
	#gnav_ul li ul li ul li:hover > a {/*孫*/
	}
	#gnav_ul li ul li ul.left {/*孫*/
		top: 0;
		left: -166px;
		width: 166px;
	}
	#gnav_ul li ul li ul.left:before {/*孫*/
		position: absolute;
		content: "";
		top: 25px;
		left: 166px;
	}
	#gnav_ul li ul li ul.left li:hover > a {/*孫*/
		background: #afc6e2;
	}
#gnav .border:before,
#gnav .border:after{
  position: absolute;
  bottom: 0px;
  content: "";
  display: inline-block;
  width: 0;
  height: 5px; 
  background: #2ea7e0;
  transition: 0.4s;
}
#gnav .border:before{
  left: 50%;
}
#gnav .border:after{
  right: 50%;
}
#gnav .border:hover:before,
#gnav .border:hover:after{
  width: 50%;
}

#header {
}
#header h1 {
	float: left;
	padding-bottom:5px;
}
#header nav {
	float: right;
	text-align: right;
	padding-top: 40px;
}
#header nav li {
	display: inline-block;
	margin-left: 40px;
}
#gnav {
	clear: both;
	width: 100%;
	position: relative;
	z-index: 200;
	background-color: #fff;
}
#gnav .arrow {
	background-image: url(../img/arrow-80.jpg);
	background-repeat: no-repeat;
	background-position: right 10px top 50%;
}
.fixed {
    position: fixed !important;
    top: 0;
    z-index: 1;
}
#main , #main_bottom {
	line-height: 160%;
	clear: both;
	padding-bottom: 50px;
}
.h3-top {
	font-size: 140%;
	font-weight: normal;
	margin-bottom: 10px;
}
#top_news dl{
width: 100%;	
	margin-bottom: 10px;
}
#top_news dt{
display: block;
width: 24%;
clear: left;
float: left;
}
#top_news dd{
display: block;
width: 76%;
float: left;
}
#top_news {
	padding-top: 30px;
	margin-bottom: 30px;
}
#top_bn ul {
	list-style: none;
}
#top_bn li {
	float: left;
	width: 270px;
	margin-right: 35px;
	margin-bottom: 30px;
}
#top_bn li:nth-child(3n) {
	margin-right: 0;
}


#footer {
	background-color: #dcdcdc;
	position:relative;
}

#toTop{
	width:880px;
	margin:auto;
	position:absolute;
	left:0;
	right:0;
	top:-18px;
	text-align:right;
}

#address {
	padding: 15px 0;
	background-color: #12337d;
	color: #fff;
	text-align: center;
	font-style: normal;
	font-weight: normal;
	font-size: 90%;
	line-height: 160%;
}
#footer {
	padding: 50px 0;
	line-height: 160%;
}
#footer ul {
	list-style: none;
}
#footer .border {
	display: block;
	margin-bottom:10px;
}
#footer .footnav {
	float: left;
	width: 20%;
}
#footer .footnav>li>a,
#footer .footnav>li>span{ font-weight:bold;}
#footer .wrapper { position:relative;}
	#footer .wrapper .foot_logo { position:absolute; bottom:0; right:80px;}
#footer li li {
	font-size: 90%;
}
#footer li li li {
	margin-left: 15px;
}
#footer .mar {
	margin-bottom:30px;
}
#slider {
	width: 100%;
	margin: 0 auto;
	position:relative;
}
#slider .slide div {
	width: 1000px !important;
	height: 500px;
	color: #fff;
}
#slider h2 {
	font-size: 280%;
	font-weight: normal;
	font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif !important;
	line-height: 160%;
	padding-top: 170px;
	margin-bottom: 10px;
}
#slider h2 , #slider p {
	display: block;
	width: 880px;
	margin-left: auto;
	margin-right: auto;
}
#slider p a {
	display: block;
	width: 200px;
	padding: 10px 0;
	color: #fff;
	text-align: center;
	border: 1px solid rgba(100,100,100,0.9);
}
#slider .slide01 {
	background-image: url(../img/slide01.jpg);
	background-size: 1000px 500px;
	background-repeat: no-repeat;
	background-position: center center;
}
#slider .slide02 {
	background-image: url(../img/slide02.jpg);
	background-size: 1000px 500px;
	background-repeat: no-repeat;
	background-position: center center;
}
#slider .slide03 {
	background-image: url(../img/slide03.jpg);
	background-size: 1000px 500px;
	background-repeat: no-repeat;
	background-position: center center;
}
#slider .slide04 {
	background-image: url(../img/slide04.jpg);
	background-size: 1000px 500px;
	background-repeat: no-repeat;
	background-position: center center;
}
#main.sub{
	padding-top: 20px;
	background:none;
}
	#main.sub.sub-company{
		padding-bottom:0;
	}
#pankuzu {
	padding-bottom: 10px;
	font-size: 80%;
}
#pankuzu span {
	margin-left: 5px;
	margin-right: 5px;
}
#content {
	background-color: #fff;
	padding-bottom: 30px;
	margin-bottom: 30px;
}
#content.bg_no {
	background-color: transparent !important;
}
.p10 {
	font-size: 10px !important;
	line-height: 180%;
}
.p11 {
	font-size: 11px !important;
	line-height: 180%;
}
.p12 {
	font-size: 12px !important;
	line-height: 180%;
}
.p13 {
	font-size: 13px !important;
	line-height: 180%;
}
.p14 {
	font-size: 14px !important;
	line-height: 180%;
}
.p15 {
	font-size: 15px !important;
	line-height: 180%;
}
.p16 {
	font-size: 16px !important;
	line-height: 180%;
}
.p18 {
	font-size: 18px !important;
	line-height: 180%;
}
.p20 {
	font-size: 20px !important;
	line-height: 180%;
}
.p22 {
	font-size: 22px !important;
	line-height: 180%;
}
.p24 {
	font-size: 24px !important;
	line-height: 180%;
}
.p26 {
	font-size: 26px !important;
	line-height: 150% !important;
}
.p28 {
	font-size: 28px !important;
	line-height: 150% !important;
}
.p30 {
	font-size: 30px !important;
	line-height: 150%;
}
.p32 {
	font-size: 32px !important;
	line-height: 150%;
}
.p38 {
	font-size: 38px !important;
	line-height: 140%;
}
.p40 {
	font-size: 40px !important;
	line-height: 140% !important;
}
.justify {
	text-align: justify !important;
	text-justify: inter-ideograph !important;
}
.p-min {
	font-family: "ＭＳ Ｐ明朝", MS PMincho,"ヒラギノ明朝 Pro W3", Hiragino Mincho Pro, serif !important;
	font-weight:bold!important;

}
.p-navy {
	color: #00204d !important;
}
.p46 {
	font-size: 46px !important;
	line-height: 180%;
}
.img_left {
	float: left;
	margin-right: 40px;
}
.img_right {
	float: right;
	margin-left: 39px;
}
.flt_left {
	float: left;
}
.flt_right {
	float: right;
}
.p-right {
	text-align: right;
}

.p-center {
	text-align: center;
}
.mar10 {
	margin-bottom: 10px !important;
}
.mar15 {
	margin-bottom: 15px !important;
}
.mar20 {
	margin-bottom: 20px !important;
}
.mar30 {
	margin-bottom: 30px !important;
}
.mar40 {
	margin-bottom: 40px !important;
}
.mar50 {
	margin-bottom: 50px !important;
}
.mar60{
	margin-bottom: 60px !important;
}
.mar70 {
	margin-bottom: 70px !important;
}
.mar80 {
	margin-bottom: 80px !important;
}
.pading_top10 {
	margin-top: 10px !important;
}
.pading_top20 {
	margin-top: 20px !important;
}
.pading_top30 {
	margin-top: 30px !important;
}
#icatch {
	width: 100%;
	padding: 0;
	display: table;
	margin-bottom: 40px;
	text-align: center;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	color: #fff;
	min-height:100px;
}
#icatch div {
	display: table-cell;
	vertical-align: middle;
}
#icatch div.harf {
	padding-right: 460px;
}
#icatch h2 {
	font-size: 38px;
	font-family: "ＭＳ Ｐ明朝", MS PMincho,"ヒラギノ明朝 Pro W3", Hiragino Mincho Pro, serif !important;
	font-weight: normal;
	margin-bottom: 10px;
	padding-top:13px;
}
#icatch.company {
	height: 150px;
}
#icatch p {
	font-size: 16px;
	line-height: 100% !important;
	padding-top: 10px;
}
#icatch p.nomar {
	padding-top: 0px !important;
}
#icatch.messages {
	background-image: url(../img/bg_messages_1.png);
}
#icatch.news {
	background-image: url(../img/bg_news.png);
}
#icatch.technology {
	background-image: url(../img/bg_technology.png);
}
#icatch.contact {
	background-image: url(../img/bg_contact.png);
}
#icatch.apartments {
	background-image: url(../img/bg_apartments.png);
}
#icatch.company_safety {
	background-image: url(../img/company/safety_h2.png);
}
#icatch.company_power {
	background-image: url(../img/company/power_h2.png);
}
#icatch.company_international {
	background-image: url(../img/company/international_h2.png);
}
#icatch.company_ebi {
	background-image: url(../img/company/ebi_h2.png);
}
#icatch.csr {
	background-image: url(../img/csr/csr_h2.png);
}
#icatch.recruit {
	background-image: url(../img/recruit/h2_bg.png);
}
#icatch.access {
	background-image: url(../img/access/h2_bg.png);
	min-height: 70px !important;
	height: 70px !important;
}
#icatch.contact {
	min-height: 70px !important;
	height: 70px !important;
}
#icatch.messages{ margin-bottom:20px;}
	#icatch.messages h2 {
		padding-top: 12px;
	}
		#icatch.messages p{ padding-top:2px;}
#icatch h2.nomar {
	margin-bottom: 0 !important;
	padding-top:0;
}
#content .wrap {
	width: 780px;
	margin: 0 auto;
	line-height: 180%;
}
.h3_img {
	margin-bottom: 30px;
}
.h3_normal {
	font-weight: normal;
}
.sigle-pagenav{
	overflow:hidden;
	list-style-type:none;
	padding-top: 30px;
	font-size: 80%;
	line-height:150%;
}
	.sigle-pagenav li{ width:45%;}
	.sigle-pagenav li.next{ float:left;}
	.sigle-pagenav li.previous{ float:right; text-align:right;}
.pagenav.next {
	text-align: right;
	display: block;
	padding-top: 30px;
	font-size: 80%;
}
.txtwrap_border {
	border-top: 3px solid #b4646a;
	border-bottom: 3px solid #b4646a;
	padding-top: 40px;
	padding-bottom: 40px;
	overflow:hidden;
}
.txtwrap_border.msg_border{ border-color:#c0729e;}
.txtwrap_border p {
text-align: justify !important;
text-justify: inter-ideograph !important;	
}
.news .txtwrap_border {
	border-color: #64a5af !important;
}
.h4_normal {
	font-size: 30px;
	line-height: 150%;
	margin-bottom: 15px;
	font-weight: normal;
}
#bottomnav p {
	display: block;
	width: 50%;
}
#bottomnav .left {
	float: left;
	text-align: left;
}
#bottomnav .right {
	float: right;
	text-align: right;
}
.news_day {
	display: block;
	padding-top: 30px;
	background-image: url(../img/news_days.svg);
	background-repeat: no-repeat;
	background-position: left -15px bottom 0px;
	background-size: 36px 33px;
	padding-left: 40px;
	font-size: 18px;
	margin-bottom: 5px;
}
.news_day.message {
	background-image: url(../img/bottomnav_bg_messages.svg) !important;
}
.news_list {
	border-bottom: 1px solid #222;
	padding-bottom: 20px;
	margin-bottom: 20px;
text-align: justify !important;
text-justify: inter-ideograph !important;}
.news_list .year {
	color: #64a5af;
}
.news_list dl{
width: 100%;
}
.news_list dt{
	display: block;
	width: 30%;
	clear: left;
	float: left;
	background-image: url(../img/news_days.svg);
	background-repeat: no-repeat;
	background-position: left -15px center;	
	background-size: 36px 33px;
}
.messages .news_list dt{
	background-image: url(../img/bottomnav_bg_messages.svg);
}
.news_list dt span {
	padding-left: 40px;
}
.news_list dd{
display: block;
width: 70%;
float: left;
}
.messages .news_list dt{
	width: 15%;
}
.messages .news_list dd{
width: 85%;
}
.messages_day_dl dt {
	width: 20% !important;
}
.messages_day_dl dd {
	width: 75% !important;
}
.news_list dt , .news_list dd {
	padding: 7px 0px;
}


#msg-tab{ margin-bottom:30px; list-style:none; overflow:hidden;}
#msg-tab li{
	width:400px;
	padding:0;
	background:none;
	float:left;
	cursor:pointer;
}
	#msg-tab li.tab01{ margin-right:79px;}
		#msg-tab li a:hover img{
			opacity:1;
			filter: alpha(opacity=100);
		}

.tab-contents.tab02+#jquery-tab-pager-navi+nav{ display:none;}


.noborder {
	border: none !important;
}
.pager {
    overflow: hidden;
}
.pager ul {
    list-style: none;
    position: relative;
    left: 50%;
    float: left;
	line-height: 100%;
}
.pager ul li {
    margin: 0 5px;
    position: relative;
    left: -50%;
    float: left;
}
.pager ul li a {
    display: block;
    padding: 5px;
	border: 1px solid #222;
    color: #000;}
.pager .current a , .pager a:hover {
	background-color: #64a5af;
	color: #fff !important;
}
.pager.messages .current a , .pager.messages a:hover {
	background-color: #b4646a !important;
}
.technology_ul {
    margin:0 0 10px;
    display:-webkit-box;
    display:-moz-box;
    display:-ms-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:-ms-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;		
}
.technology_ul li {
	margin-top: 0;
	margin-right: 40px;
	margin-left: 0;
	margin-bottom: 40px;
	padding: 0px;
	width: 420px;
	list-style: none;
}
.technology_ul li:nth-child(2n) {
	margin-right: 0 !important;
}
.technology_ul a {
	display: block;
}
.technology_ul .li01 a {
	background-color: rgba(0,18,75,0.7);
	color: #fff;
}
.technology_ul .li02 a {
	background-color: rgba(16,18,24,0.7);
	color: #fff;
}
.technology_ul .li03 a {
	background-color: rgba(121,106,86,0.7);
	color: #fff;
}
.technology_ul .li04 a {
	background-color: rgba(199,128,49,1);
	color: #fff;
}
.technology_ul a:hover {
	color: #fff !important;
	opacity:0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
}
.technology_ul p {
	margin-left: 20px;
	margin-right: 20px;
}
.technology_ul .title {
	text-align: center;
	font-family: "ＭＳ Ｐ明朝", MS PMincho,"ヒラギノ明朝 Pro W3", Hiragino Mincho Pro, serif;
}
.technology_ul .txt {
	display: block;
	padding: 20px 0;
}
.apartments_ul {
	list-style: none;
	border: 2px solid #fff;
	background-color: #fff;
}
.apartments_ul li {
	display: block;
	width: 20%;
	float: left;
}
.apartments_ul span {
	display: block;
	border: 2px solid #fff;
}
.apartments_img {
	display: block;
}
.apartments_img img {
	width: 100%;
	height: auto;
}
#icatch_sub {
	margin-left: -110px;
	margin-right: -110px;
}
#icatch_sub div {
	width: 880px;
	height: 450px;
	margin: 0 auto;
	margin-bottom: 40px;
}
#icatch_sub.company {
	background-image: url(../img/company/index_h2_bg.png);
	background-repeat: no-repeat;
	background-position: center center;
}
	#icatch_sub.company div{ margin-bottom:0;}
	#icatch_sub.company+#content {
		background:#fff!important;
		padding:40px 60px;
		margin-left: -60px;
		margin-right: -60px;
		margin-bottom:0;
	}
#icatch_sub.company h2 {
	display: block;
	padding-top: 100px;
}
.dl_company dt {
	background-image: url(../img/company/li.png);
	/* SVG画像を指定 */
	background-image: -webkit-linear-gradient(transparent, transparent), url(../img/company/li.svg);
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 36px auto;
	color: #00204d;
}
.dl_company dt , .dl_company dd {
	padding-left: 50px;
}
.dl_company ol {
	margin-left: 25px;
text-align: justify !important;
text-justify: inter-ideograph !important;
}
.company_bn {
	list-style: none;
}
.company_bn li {
	display: block;
	width: 270px;
	float: left;
	margin-right: 35px;
	margin-bottom: 35px;
text-align: justify !important;
text-justify: inter-ideograph !important;
}
.company_bn li:nth-child(3n) {
	margin-right: 0;
}
.h3_company {
	display: block;
	background-image: url(../img/company/li.png);
	/* SVG画像を指定 */
	background-image: -webkit-linear-gradient(transparent, transparent), url(../img/company/li.svg);
	background-size: 36px auto ;
	background-repeat: no-repeat;
	background-position: left center;
	padding-left: 50px;
	color: #00204d;
	font-weight: normal;
}
.h3_civil {
	display: block;
	background-image: url(../img/civil/li.png);
	/* SVG画像を指定 */
	background-image: -webkit-linear-gradient(transparent, transparent), url(../img/civil/li.svg);
	background-size: 39px auto ;
	background-repeat: no-repeat;
	background-position: left center;
	padding-left: 50px;
	color: #00204d;
	font-weight: normal;
}
.tbl_company {
	width: 100%;
	background-color: #fff;
	line-height: 180%;
}
.tbl_company th {
	background-color: #d3ddf1;
	font-weight: normal;
	width: 100px;
}
.tbl_company td , .tbl_company th {
	border: 1px solid #222;
	padding: 10px 20px;
	vertical-align: top;
}
.company_enkaku .left {
	float: left;
	width: 570px;	
}
.company_enkaku .right {
	float: right;
	width: 280px;
}
.company_enkaku table {
	width: 100%;
	text-align: left;
}
	.company_enkaku table th{ width:29%; transform: scale(1, 1);}
	.company_enkaku table td.day{ width:17%; font-weight:bold;}

.list_power {
	background-color: #fff;
	border: 1px solid #5e66ad;
	padding-bottom: 10px;
	clear: both;
}
.list_power .title {
	display: block;
	padding: 10px 20px;
	background-image: url(../img/company/power_title.png);
	background-repeat: repeat-x;
	background-size: 100% 100%;
	border-bottom: 1px solid #5e66ad;
	margin-bottom: 10px;
}
.list_power .div {
	float: left;
	width: 33.33%;
}

.list_power ul {
	margin-left: 20px;
	margin-right: 20px;
	list-style: none;
	color: #676b92;
text-align: justify !important;
text-justify: inter-ideograph !important;
}
.list_power span {
	color: #222;
}
.list_power ol {
	margin-left: 40px;
	margin-right: 20px;
}
.list_power ul.maru {
position: relative;
margin:0;
padding:0;
}
.list_power ul.maru li  {
list-style: none;
list-style-position:outside;
margin:0;
padding-left:1.25em;
	color: #222;
}
.list_power ul.maru span {
position: absolute;
left:0;
margin:0;
}
.csr_box {
	background-image: url(../img/csr/csr_bg.png);
	background-repeat: no-repeat;
	background-size: 100% 100%;
}
.csr_box .border {
	margin: 10px;
	border: 1px solid #fff;
	padding: 10px 0px;
}
.csr_box .right {
	float: right;
	width: 500px;
	margin-right: 30px;
}
.csr_box img {
	margin-left: 30px;
	margin-right: 0px;
}
.h4_csr {
	display: block;
	background-image: url(../img/li_orange.svg);
	background-position: left center;
	background-size: 20px auto;
	background-repeat: no-repeat;
	font-weight: normal;
	margin-top: 20px;
}
.h4_csr.topno {
	margin-top: 10px;
}
.csr_box .txt , .csr_box h4 {
	padding-left: 30px;	
text-align: justify !important;
text-justify: inter-ideograph !important;
}
.h2_recruit{ position:relative;}
	.h2_recruit span {
		font-family:  "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", MS PGothic, sans-serif;
		color: #222;
		font-weight: normal;
		vertical-align: middle;
		margin-left: 20px;
	}
	.h2_recruit em {
		position:absolute;
		top:0;
		right:0;
	}


.h3_recruit {
	font-weight: normal;
}
.h3_recruit span {
	color: #12447d;
}
.recruit_ul {
position: relative;
margin:0;
padding:0
}
.recruit_ul li  {
list-style: none;
list-style-position:outside;
margin:0;
padding-left:3em
}
.recruit_ul li span {
position: absolute;
left:0;
margin:0
}
.access {
	background-color: #fff;
	padding: 40px;
}
.access .left {
	float: left;
	width: 300px;
	margin-bottom: 20px;
}
.access h3 {
	display: block;
	margin-bottom: 20px;
	background-image: url(../img/access/h3_bg.png);
	background-repeat: no-repeat;
	background-size: 100% 100%;
	text-align: center;
	color: #fff;
	padding: 10px;
	font-size: 20px !important;
	font-weight: normal;
}
.access .map {
	float: right;
	margin-bottom: 20px;
}
.access .txt , .both {
	clear: both !important;
}
.building_index .left {
	width: 470px !important;
	float: left !important;
}
#icatch.building.index {
	background-color: #182987;
	color: #fff !important;
}
#icatch.building.refining {
	background-color: transparent !important;
	border: 1px solid #fff !important;
	color: #fff !important;
}
#icatch.building.refining.civil_tech {
	background-color: rgba(255,255,255,0.7) !important;
	border: none !important;
	color: #34323d !important;
}
#icatch.building.social {
	background-color: #a07936;
	color: #fff !important;
}

.building_index .img_left {
	margin-right: 0 !important;
}
.building_img {
	float: left;
	width: 260px;
	margin-left: 35px;
	list-style: none;
}
.building_img li {
	display: block;
	vertical-align: top;
	height: 227px;
}
	.building_img li:last-child {
		height: 195px;
	}
.building_img .v_bottom {
	display: table-cell;
	vertical-align: bottom;
}
#bg_wrap.refining {
	background-color: #796a56;
	color: #fff !important;
}
#bg_wrap.refining.civil_tech {
	background-color: #34323d !important;
}
#bg_wrap.base {
	background-color: #000;
	color: #fff !important;
}
#bg_wrap a , #bg_wrap h3 {
	color: #fff !important;
}
.width620 {
	width: 620px;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 10px;
	padding-top: 10px;
}
.bg_white {
	background-color: #fff !important;
}
.refining_point.border {
	display: block;
	list-style: none;
	margin: 0 10px;
	padding: 15px;
	border: 1px solid #2d4399;
	color: #222 !important;
	position: relative;
}
.noborder .refining_point {
	display: block;
	list-style: none;
	margin: 0 10px;
	padding: 0px !important;
	padding-left: 15px !important;
	color: #222 !important;
	position: relative;
}
.refining_point li  {
list-style: none;
list-style-position:outside;
margin:0;
padding-left:2em
}
.refining_point li span {
	position: absolute;
	left:15px;
	margin:0;
}
	.refining_point li span img { vertical-align: top;}
.noborder.merit {
	padding-left: 100px !important;
	width: 520px !important;
	background-image: url(../img/building/merit.svg);
	background-repeat: no-repeat;
	background-position: left 20px center;
	background-size: 80px 70px;
}
.refining_sec {
	padding-top: 40px;
}
.refining_ba {
	display: table;
	width: 100%;
}
.refining_ba div {
	display: table-cell;
	vertical-align: top;
}
.refining_ba .arrow {
	vertical-align: bottom;
	padding-bottom: 80px;
	text-align: center;
}
.refining_ba .left {
	width: 370px;
}
.refining_ba .right {
	width: 370px;
}
.refining_ba .left .img {
	display: block;
	padding: 20px;
	background-color: #796a56;
	text-align: right;
	background-image: url(../img/building/refining_before.svg);
	background-repeat: no-repeat;
	background-position: left 20px center;
	background-size: 75px 30px;
}
.refining_ul {
	list-style: none;
}
.refining_ul li {
	display: block;
	width: 270px;
	float: left;
	margin-right: 35px;
	margin-bottom: 35px;
text-align: justify !important;
text-justify: inter-ideograph !important;
}
.refining_ul li:nth-child(3n) {
	margin-right: 0 !important;
}
.refining_ul .li01 {
	width: 280px !important;
	padding-top: 50px;
}
.refining_ul .li02 {
	width: 220px !important;
}
.refining_ul .li03 {
	width: 310px !important;
}
#icatch.imgmap {
	background-color: #F5F5F5 !important;
	height: 500px;
}
#icatch.imgmap div {
	position: absolute;
	left: 0;
	right: 0;
}
#icatch.imgmap div p {
	display: block;
	position: relative;
	text-align: center;
	padding: 0 !important;
	margin: 0 !important;
}
.h2_build {
	padding-top: 30px;
	padding-bottom: 30px;
	display: block;
	background-image: url(../img/building/index_ico.png);
	/* SVG画像を指定 */
	background-image: -webkit-linear-gradient(transparent, transparent), url(../img/building/index_ico.svg);
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 115px auto;
	padding-left: 140px;
}
.h2_civil {
	padding-top: 30px;
	padding-bottom: 30px;
	display: block;
	background-image: url(../img/civil/index_ico.png);
	/* SVG画像を指定 */
	background-image: -webkit-linear-gradient(transparent, transparent), url(../img/civil/index_ico.svg);
	background-repeat: no-repeat;
	background-position: left center;
	background-size:125px auto;
	padding-left: 140px;
}

.build_ul , .various_ul {
    display:-webkit-box;
    display:-moz-box;
    display:-ms-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:-ms-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
	width: 100%;
	list-style: none;
}
.build_ul li {
	margin-right: 45px;
	width: 260px;
	margin-bottom: 30px;
text-align: justify !important;
text-justify: inter-ideograph !important;}
.build_ul li:nth-child(3n) {
	margin-right: 0 !important;
}
.build_ul a {
	display: block;
}
.various_ul li {
	margin-right: 80px;
	width: 400px;
	margin-bottom: 60px;
text-align: justify !important;
text-justify: inter-ideograph !important;
}
.various_ul li:nth-child(2n) {
	margin-right: 0 !important;
}
.build_ul a {
	display: block;
}
.line5 {
	height: 140px;
}
.various_ul .title {
	position: relative;
}
.various_ul .title a {
	position: absolute;
	right: 0;
	top: 0;
}
.various_ul .title span {
	display: block;
	padding-right: 120px;
}
.p_bg_base {
	display: block;
	border: 2px solid #c8bb9b;
	padding:5px 20px 2px 20px;
	background-image: url(../img/building/base_p_bg.png);
	background-repeat: no-repeat;
	background-size: 100% 100%;
}
.base_point {
	list-style: none;
}
.base_point li {
	display: block;
	width: 206px;
	float: left;
	border: 2px solid #325579;
	padding-top: 10px;
	margin-right: 13px;
}
.base_point p {
	display: block;
	padding-left: 8px;
	padding-right: 8px;
	padding-bottom: 10px;
}
	.base_point p span{ margin-top:2px; display:inline-block;}
.base_point .title img {
	margin-right: 5px;
	vertical-align:top;
}
.base_point .title {
	color: #604c3f;
}
.base_point li:nth-child(4n) {
	margin-right: 0 !important;
}
#slider_sub {
	width: 1000px;
	margin-left: -60px;
	margin-right: -60px;
}
.res_slide {
	width: 880px;
	margin-left: auto;
	margin-right: auto;
}
.h3_slider {
	background-color: #3c5780;
	color: #fff;
	padding: 5px 60px;
	display: block;
	font-weight: normal;
}
.civil .h3_slider {
	background-color: #7a621d !important;
}
.h3_inline {
	font-weight: normal;
}
.ul_inline {
	margin-left: 20px;
	margin-bottom: 20px;
	line-height: 160%;
}
.overlay_l , .overlay_r {
	display: block;
	position: absolute;
	height: 500px;
	background-color: rgba(255,255,255,0.70);
	z-index: 10;
}
.overlay_l {
	left: 0;
	top: 0;
	right: 50%;
	margin-right: 500px;
}
.overlay_r {
	right: 0;
	top: 0;
	left: 50%;
	margin-left: 500px;
}
.pagelink_csr {
       position: relative;
       top: -90px;
       display: block;
}
.voice {
text-align: justify;
text-justify: inter-ideograph;
}
.voice_right {
	float: right;
	width: 280px;
	margin-left: 50px;}
.voice dl , .voice dt , .voice dd {
	display: block;
	padding: 0;
}
.voice dt {
	border-bottom: 1px solid #036eb6;
	padding-top: 10px;
	padding-bottom: 10px;
	margin-bottom: 10px;
	font-size: 13px;
}
.voice dt span {
	margin-left: 10px;
	margin-right: 5px;
}

		
		
		
.privacy_ol {
	position: relative;
	margin:0;
	padding:0;
	line-height: 160%;
}
.privacy_ol li {
list-style: none;
list-style-position:outside;
margin:0;
padding-left:1.70em;
}
.privacy_ol li span {
position: absolute;
left:0;
margin:0;
}
.civil_sec {
	padding-top: 50px;
}
.civil_right {
	width: 410px;
	float: right;
	margin-left: 30px;
	text-align: justify;
	text-justify: inter-ideograph;
}
.civil_left {
	width: 410px;
	float: left;
}
.civil_sec .img_left {
	margin-right: 10px !important;
}
.civil_sec .top_mar {
	display: block;
	padding-top: 100px !important;
}
img#img {
	border: 0 !important;
}
area {
	border:none;
  outline:none;
}


/* =========================================================
■contact
========================================================= */
.contact-form *{ box-sizing: border-box;}
.contact-form table{ width:100%; border-collapse:collapse;}
.contact-form > table > tbody > tr > th,
.contact-form > table > tbody > tr > td{ border-bottom: 1px solid #ccc; padding:20px 0; vertical-align:top;}
.contact-form table th{ width:25%; text-align:left;}
.contact-form table th .required{
	font-size: 12px;
	background-color: #e51719;
	color:#fff;
	padding: 2px 10px;
	margin-right: 10px;
}
	.contact-form table td table{ border-collapse:separate; border-spacing:8px;}
	.contact-form table td table th,
	.contact-form table td table td{ vertical-align:top;}
	.contact-form table td table th{ padding-left:35px; font-weight:normal; padding-top:5px;}

.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form textarea{
	width:100%;
	border:1px solid #ccc;
	padding:7px;
	font-size:16px;
	resize: vertical;
	-webkit-appearance: none;
	border-radius: 0;
}
.contact-form input[type="radio"]{
    width: 25px;
    height: 25px;
    vertical-align: middle;
	border: 1px solid #666666;
}
.contact-form .radio-form-area{ display:none;}

.mw_wp_form_preview .contact-form .radio-form-area{ display:table;}
.mw_wp_form_preview .contact-form table td table th{ font-weight:bold; border-right:1px solid #ccc;}


.link_blue {
	color: #036eb7;
	text-decoration: underline;
}
.contact_btn {
	text-align: center;
	padding-top: 20px;
}
	.contact_btn input {
		display: inline-block;
		padding: 8px 0px;
		margin: 0 15px;
		width: 160px;
		font-size: 16px;
		text-align: center;
		cursor: pointer;
	}
		.contact_btn .submit {
			background-color: #666666;
			border: 1px solid #666666;
			color: #ffffff;
			font-weight: bold;
			margin-bottom: 10px;
		}
		.contact_btn .reset {
			background-color: #ffffff;
			border: 1px solid #cccccc;
			color: #222;
			font-weight: bold;
			margin-bottom: 10px;
		}

/* =========================================================
■WP-STYLE
========================================================= */

/* wp-pagenavi
-------------------------*/
.wp-pagenavi {
	text-align:center;
	margin-top:20px;
	display:block;
	clear:both;
}
.wp-pagenavi a ,
.wp-pagenavi span.pages,
.wp-pagenavi span.extend {
	color:#000!important;
	padding:1px 6px 1px 6px;
	margin:0 5px;
	border:1px solid #222;
}
.wp-pagenavi a:hover {
	color:#fff!important;
	background:#b4646a;
}
.wp-pagenavi span.current{
	padding:1px 6px 1px 6px;
	border:solid 1px #222;
	color:#fff;
	margin:0 5px;
	background:#b4646a;
}

.news_pager_wrap .wp-pagenavi a:hover,
.news_pager_wrap .wp-pagenavi span.current{ background:#64a5af;}
 
 
 /* WordPress Editor
-------------------------*/
img.size-auto,
img.size-large,
img.size-full,
img.size-medium {
	max-width: 100%;
	height: auto;
}
.alignleft,
img.alignleft {
	display: inline;
	float: left;
	margin-right: 15px;
	margin-top: 4px;
}
.alignright,
img.alignright {
	display: inline;
	float: right;
	margin-left: 15px;
	margin-top: 4px;
}
.aligncenter,
img.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	text-align:center;
}
img.alignleft,
img.alignright,
img.aligncenter {
	margin-bottom: 12px;
}
.wp-caption {
	border: none;
	-khtml-border-radius: 0;
	-moz-border-radius: 0;
	-webkit-border-radius: 0;
	border-radius: 0;
	color: #888;
	font-size: 12px;
	line-height: 18px;
	margin-bottom: 20px;
	padding: 4px;
	text-align: center;
}
.wp-caption img {
	margin: 5px;
}
.wp-caption p.wp-caption-text {
	margin: 0 0 4px;
}
.wp-smiley {
	margin: 0;
}

 /* add 20260225
-------------------------*/
.u-anchor {
	margin-top: -80px;
	padding-top: 80px;
}
.u-linkbtn-wrap {
	margin: 20px 0;
	text-align: center;
	&.m-left {
		text-align: left;
	}
}
.u-linkbtn {
	display: inline-block;
	padding: 5px 60px 5px 40px;
	border: 1px solid #222;
	position: relative;
	&::after {
		content: '▶';
		position: absolute;
		right: 15px;
		top: 50%;
		transform: translateY(-50%);		
	}

}
.u-linkbtn:hover {
	border-color: #2ea7e0;
}

.u-linklist {
	margin-top: 30px;
	li {
		a {
			color: #0000ff;
			font-size: 10pt;
			text-decoration: underline;
		}
	}
}

#slider .slide00 {
	background-image: url(../img/slide00.jpg);
	background-size: 1000px 500px;
	background-repeat: no-repeat;
	background-position: center center;
	position: relative;
	p {
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		bottom: 50px;
		text-align: right;
	}
	p a {
		display: inline-block;
		background: #fff;
		color: #000;
	}
}

.international_ul {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 30px 20px;
	li {
		list-style: none;
	}
}



.news01_imgwrap {
	margin: 40px 0 60px;
	display: flex;
	align-items: start;
	justify-content: center;
	flex-wrap: wrap;
	gap: 20px;
	.img {
		height: 300px;
		img {
			width: auto;
			height: 100%;
		}
	}
}

.news02_imgwrap {
	margin: 40px 0 60px;
	
}
.news03_imgwrap {
	margin: 40px 0 60px;
	text-align: center;	
}
.message_imgwrap {
	margin: 40px 0 60px;
	text-align: center;	
}
.center-imgwrap {
	text-align: center;
}

.company_profile-logo {
	text-align: center;
	img {
		width: 150px;
	}
}

.gmap {
	width: 450px;
	aspect-ratio: 450 / 382;
	iframe {
		width: 100%;
		height: 100%;
	}
}

.txtwrap_border .img.w100 img{
	width: 100%;
	height: auto;
}
