@charset "utf-8";
/*=============================================================
 Common Layout
=============================================================*/
/* Web fonts
-------------------------------------------------------------*/
/* Noto Sans Japanese */
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);

/* Noto Serif Japanese */
@font-face {
	font-family:'Noto Serif Japanese';
	font-style:normal;
	font-weight:400;
	src:url(../fonts/notoserifjp/NotoSerifJP-Regular_subset.woff2) format('woff2'),
			url(../fonts/notoserifjp/NotoSerifJP-Regular_subset.woff) format('woff'),
      url(../fonts/notoserifjp/NotoSerifJP-Regular_subset.otf) format('opentype');
	font-display:swap;
}
@font-face {
	font-family:'Noto Serif Japanese';
	font-style:normal;
	font-weight:700;
	src:url(../fonts/notoserifjp/NotoSerifJP-Bold_subset.woff2) format('woff2'),
			url(../fonts/notoserifjp/NotoSerifJP-Bold_subset.woff) format('woff'),
      url(../fonts/notoserifjp/NotoSerifJP-Bold_subset.otf) format('opentype');
	font-display:swap;
}
/* reset style
-------------------------------------------------------------*/
*{
	padding:0;
	margin:0;
}
section,article,aside,hgroup,header,footer,nav,figure,figcaption,summary{
	display:block;
	padding:0;
	margin:0;
}
ol,ul,dl,li,dt,dd{list-style:none;}
img{vertical-align:top;}
html{-webkit-text-size-adjust:100%;}
body{
	color:#333;
	font:normal normal 16px/1 'Noto Sans Japanese', 'Hiragino Kaku Gothic ProN', 'Meiryo', sans-serif;
	background:#fff;
	text-align:left;
}
a,img{
	margin:0;
	padding:0;
	border:none;
}
h1,h2,h3,h4,h5,h6{font-size:100%;}
sup,
sub{
	height:0;
	line-height:1;
	vertical-align:baseline;
	margin:0 1px;
	position:relative;
}
sup{bottom:0.7ex;}
sub{top:0.1ex;}

/* JS element
-------------------------------------------------------------*/
.noSc,
.telLink/* for mobile */{}

/* text Layout
-------------------------------------------------------------*/
.textSerif{font-family:'Noto Serif Japanese', serif;}
.textBold{font-weight:bold !important;}
.textNormal{font-weight:normal !important;}

/*---.nowrap   --- SmartPhone : nowrap */
/*---.nowrap-spNo --- SmartPhone : normal */
/*---.nowrap-pc --- SmartPhone/tablet P : normal */
.nowrap,
.nowrap-pc{white-space:nowrap;}
.textBreak{word-break:break-all;}

small{font-size:100%;}
.textSS{font-size:75%;} /* 12px */
.textS{font-size:87.5%;}  /* 14px */
.textL{font-size:112.5%;} /* 18px */
.textLL{font-size:125%;}/* 20px */
/*---font-weight
Thin: 100
Light: 200
DemiLight: 300
Regular: 400 (normal)
Medium: 500
Bold: 700 (bold)
Black: 900
*/
/* Color */
.textRed{color:#f00 !important;}
.key{color:#b31c31 !important;}

/* a Element
-------------------------------------------------------------*/
a{
	color:#333;
	text-decoration:underline;
}
a:hover{color:#b31c31;}
a,
button{
	-webkit-transition-property:color, background, opacity, border, box-shadow;
	transition-property:color, background, opacity, border, box-shadow;
	-webkit-transition-duration:0.2s;
	transition-duration:0.2s;
	-webkit-transition-timing-function:ease-out;
	transition-timing-function:ease-out;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
}
/* overOpc */
.overOpc:hover,
a:hover .overOpc,
.mapHover{
	-ms-filter:"alpha(opacity=70)";
	opacity:0.7;
}
.mobile .overOpc:hover,
.mobile a:hover .overOpc,
.mobile .mapHover{opacity:1;}
html:not(.mobile) .overOpc,
html:not(.mobile) .mapBtn{
	-webkit-transition:opacity 0.2s ease-out;
	transition:opacity 0.2s ease-out;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
}
/* imgIcon */
img.imgIcon.blank{
	background:url(../img/parts_spr.png) no-repeat 0 -20px;
	background-size:auto 50px;
	vertical-align:-2px;
	width:34px;
	height:17px;
	margin-left:3px;
}
/* container
-------------------------------------------------------------*/
#container{min-width:1040px;}

/* block Layout
-------------------------------------------------------------*/
.forReader,
.dsp-none,
.sp-dsp-block,
.spP-dsp-block,
.spS-dsp-block{display:none;}
.sp-dsp-none,
.spP-dsp-none,
.spS-dsp-none,
.sp-dsp-inline{}
.dsp-block{display:block;}
.dsp-inlineBlock{display:inline-block;}
.dsp-table{display:table;}
.dsp-table>*{display:table-cell;}

/* Float Element */
.cClear{clear:both !important;}
.fLeft {float:left !important;}
.fRight{float:right !important;}
.clearfix:after{
	content:"";
	display:block;
	clear:both;
	width:0;
	height:0;
}
/* width */
.wAuto{width:auto !important;}
.w5 {width:5% !important;}
.w10{width:10% !important;}
.w15{width:15% !important;}
.w20{width:20% !important;}
.w25{width:25% !important;}
.w30{width:30% !important;}
.w35{width:35% !important;}
.w40{width:40% !important;}
.w45{width:45% !important;}
.w50{width:50% !important;}
.w55{width:55% !important;}
.w60{width:60% !important;}
.w65{width:65% !important;}
.w70{width:70% !important;}
.w75{width:75% !important;}
.w80{width:80% !important;}
.w85{width:85% !important;}
.w90{width:90% !important;}
.w95{width:95% !important;}
.w100{width:100%;}
.sp-wMax{}/*---SmartPhone : 100% */
.sp-wAuto{}/*---SmartPhone : auto */

/* height */
.hAuto{height:auto !important;}
.hMin0{min-height:0 !important;}
.sp-hMin0{}

/* aligh */
.alignL{text-align:left !important;}
.alignC{text-align:center !important;}
.alignR{text-align:right !important;}
.valignT{vertical-align:top !important;}
.valignM{vertical-align:middle !important;}
.valignB{vertical-align:bottom !important;}
.sp-alignL{}

/* margin padding */
.mT0{margin-top:0 !important;}
.mT5{margin-top:5px !important;}
.mT10{margin-top:10px !important;}
.mT15{margin-top:15px !important;}
.mT20{margin-top:20px !important;}
.mT25{margin-top:25px !important;}
.mT30{margin-top:30px !important;}
.mT35{margin-top:35px !important;}
.mT40{margin-top:40px !important;}
.mT50{margin-top:50px !important;}
.mT60{margin-top:60px !important;}
.mT70{margin-top:70px !important;}
.mT80{margin-top:80px !important;}
.mT90{margin-top:90px !important;}
.mT-10{margin-top:-10px !important;}
.mR0 {margin-right:0 !important;}
.mR10{margin-right:10px !important;}
.mR20{margin-right:20px !important;}
.mR40{margin-right:40px !important;}
.mB0 {margin-bottom:0 !important;}
.mB5 {margin-bottom:5px !important;}
.mB10{margin-bottom:10px !important;}
.mB15{margin-bottom:15px !important;}
.mB20{margin-bottom:20px !important;}
.mB25{margin-bottom:25px !important;}
.mB30{margin-bottom:30px !important;}
.mB35{margin-bottom:35px !important;}
.mB40{margin-bottom:40px !important;}
.mB50{margin-bottom:50px !important;}
.mL0 {margin-left:0 !important;}
.mL10{margin-left:10px !important;}
.mL20{margin-left:20px !important;}
.mL40{margin-left:40px !important;}
.pT0{padding-top:0 !important;}
.pT5{padding-top:5px !important;}
.pT10{padding-top:10px !important;}
.pT15{padding-top:15px !important;}
.pT20{padding-top:20px !important;}
.pT25{padding-top:25px !important;}
.pT30{padding-top:30px !important;}
.pT35{padding-top:35px !important;}
.pT40{padding-top:40px !important;}
.pT50{padding-top:50px !important;}
.pR0 {padding-right:0 !important;}
.pR10{padding-right:10px !important;}
.pR20{padding-right:20px !important;}
.pR40{padding-right:40px !important;}
.pB0 {padding-bottom:0 !important;}
.pB5 {padding-bottom:5px !important;}
.pB10{padding-bottom:10px !important;}
.pB15{padding-bottom:15px !important;}
.pB20{padding-bottom:20px !important;}
.pB25{padding-bottom:25px !important;}
.pB30{padding-bottom:30px !important;}
.pB35{padding-bottom:35px !important;}
.pB40{padding-bottom:40px !important;}
.pB50{padding-bottom:50px !important;}
.pL0{padding-left:0 !important;}
.pL10{padding-left:10px !important;}
.pL20{padding-left:20px !important;}
.pL40{padding-left:40px !important;}
.sp-mT0,
.sp-mT10,
.sp-mT15,
.sp-mT20,
.sp-mT30,
.sp-mT40,
.sp-mT50,
.sp-mT60,
.sp-pR0,
.sp-pL0{}

/* border */
.noBdr{border:none !important;}
.noBdrT{border-top:none !important;}
.noBdrR{border-right:none !important;}
.noBdrB{border-bottom:none !important;}
.noBdrL{border-left:none !important;}
.imgBdr{border:1px solid #ccc;}

/* background */
.noBg{background:none !important;}

/*=============================================================
 header
=============================================================*/
#header{
	box-sizing:border-box;
	height:80px;
	padding:20px 25px 0;
	position:relative;
	z-index:11;
}
/* hdr-logo
-------------------------------------------------------------*/
#hdr-logo{overflow:hidden;}
#hdr-logo>span{
	display:block;
	float:left;
}
/* hdr-logo02 */
#hdr-logo02{margin:1px 0 0 12px;}
#hdr-logo02 a{
	color:#333;
	text-decoration:none;
	display:block;
	overflow:hidden;
}
#hdr-logo02 .text{
	font-size:18px;
	line-height:1.2;
	font-weight:900;
	display:block;
	float:left;
	padding:7px 15px 0 0;
}
#hdr-logo02 .text02{display:none;}

/* hdr-menu
-------------------------------------------------------------*/
#hdr-menu{
	padding-right:20px;
	position:absolute;
	top:20px;
	right:80px;
}
#hdr-menu li{
	float:left;
	margin-left:20px;
}
#hdr-menu li a{
	color:#b31c31;
	line-height:38px;
	font-weight:bold;
	text-decoration:none;
	box-sizing:border-box;
	display:block;
	text-align:center;
	min-width:200px;
	border:2px solid #b31c31;
	-webkit-transform:skewX(-30deg);
	-ms-transform:skewX(-30deg);
	transform:skewX(-30deg);
}
#hdr-menu .career a{
	color:#505c63;
	border-color:#505c63;
}
#hdr-menu li a>span{
	display:block;
	-webkit-transform:skewX(30deg);
	-ms-transform:skewX(30deg);
	transform:skewX(30deg);
}
@media only screen and (max-width:1100px){
#hdr-menu{right:60px;}
#hdr-menu li{margin-left:15px;}
}
/* globalNavSet
-------------------------------------------------------------*/
#globalNavSet>dt{
	display:block;
	width:44px;
	height:44px;
	position:absolute;
	top:19px;
	right:19px;
	z-index:111;
	cursor:pointer;
	-webkit-user-select:none;
	-moz-user-select:none;
	-ms-user-select:none;
	user-select:none;
}
#globalNavSet.open>dt{position:fixed;}
#globalNavSet>dt:before,
#globalNavSet>dt:after{
	content:"";
	background-color:#333;
	display:block;
	width:32px;
	height:3px;
	position:absolute;
	top:13px;
	left:50%;
	margin-left:-16px;
	z-index:1;
}
#globalNavSet>dt>span{
	font-size:12px;
	display:block;
	text-align:center;
	padding-top:30px;
}
#globalNavSet>dt>span:before{
	content:"";
	width:32px;
	height:17px;
	margin-left:-16px;
	border-top:3px solid #333;
	border-bottom:3px solid #333;
	top:3px;
	left:50%;
	position:absolute;
}
#globalNavSet>dt>span .open,
#globalNavSet.open>dt>span .close{display:none;}
#globalNavSet.open>dt>span .open{display:inherit;}
#globalNavSet>dt:before,
#globalNavSet>dt:after,
#globalNavSet>dt>span{
	-webkit-transition:all 0.3s ease;
	transition:all 0.3s ease;
}
#globalNavSet.open>dt>span:before{border-color:rgba(255,255,255,0);}
#globalNavSet.open>dt:before{
	-webkit-transform:rotate(45deg);
	-ms-transform:rotate(45deg);
	transform:rotate(45deg);
}
#globalNavSet.open>dt:after{
	-webkit-transform:rotate(-45deg);
	-ms-transform:rotate(-45deg);
	transform:rotate(-45deg);
}
#globalNavSet>dd{
	color:#fff;
	background-color:rgba(255,255,255,0);
	box-sizing:border-box;
	width:100%;
	padding-top:80px;
	visibility:hidden;
	overflow:hidden;
	position:fixed;
	top:-30px;
	bottom:0;
	left:0;
	z-index:71;
	opacity:0;
	-webkit-transition:all 0.4s ease;
	transition:all 0.4s ease;
}
#globalNavSet.open>dd{
	background-color:rgba(255,255,255,0.9);
	visibility:inherit;
	top:0;
	opacity:1;
}
#globalNavSet>dd>*{visibility:hidden;}
#globalNavSet.open>dd>*{visibility:inherit;}
html.gNavOpen,
html.gNavOpen body{
	height:100%;
	overflow:hidden;
}
html.gNavOpen #globalNavSet>dd>div{
	box-sizing:border-box;
	width:100%;
	height:100%;
	padding:28px 20px 0;
	overflow:auto;
	position:relative;
	-webkit-overflow-scrolling:touch;
}
html.gNavOpen #globalNavSet>dd>div:after{
	content:"";
	display:block;
	height:30px;
}
/* globalNav
-------------------------------------------------------------*/
#globalNav{
	display:table;
	width:1000px;
	margin:0 auto;
}
#globalNav>div{
	display:table-cell;
	width:305px;
	padding:0 20px;
	border-left:2px solid #333;
}
#globalNav>div:first-child{
	padding-left:0;
	border-left:none;
}
#globalNav>div:last-child{padding-right:0;}
#globalNav dl{padding:20px 10px 30px;}
#globalNav dl:not(:last-child){
	min-height:210px;
	margin-bottom:20px;
	border-bottom:2px solid #333;
}
#globalNav dt{margin-bottom:35px;}
#globalNav li{
	font-size:18px;
	line-height:1.35;
	font-weight:bold;
}
#globalNav li .textL{font-size:28px;}
#globalNav li+li{margin-top:20px;}
#globalNav li a{
	color:#333;
	text-decoration:none;
	display:block;
	padding-right:50px;
	position:relative;
}
#globalNav li a:after{
	content:"";
	box-sizing:border-box;
	vertical-align:middle;
	width:48px;
	height:14px;
	margin-top:-7px;
	border-right:1px solid #333;
	border-bottom:1px solid #333;
	-webkit-transform:skewX(30deg);
	-ms-transform:skewX(30deg);
	transform:skewX(30deg);
	position:absolute;
	top:50%;
	right:4px;
}
#globalNav li a.blank:after{
	background:url(../img/parts_spr.png) no-repeat 0 0;
	width:43px;
	height:21px;
	margin-top:-10px;
	border:none;
	-webkit-transform:none;
	-ms-transform:none;
	transform:none;
	right:0;
}
#globalNav #gb-project li a{
	text-indent:-1.4em;
	padding-left:1.4em;
}
#globalNav #gb-information li+li{margin-top:35px;}

/* hdr-menu02
-------------------------------------------------------------*/
#hdr-menu02{
	width:1000px;
	margin:40px auto 0;
}
#hdr-menu02 li{
	float:left;
	width:490px;
}
#hdr-menu02 li+li{margin-left:20px;}
#hdr-menu02 li a{
	color:#b31c31;
	font-size:18px;
	line-height:78px;
	font-weight:bold;
	text-decoration:none;
	box-sizing:border-box;
	display:block;
	padding:0 74px 0 23px;
	border:2px solid #b31c31;
	position:relative;
}
#hdr-menu02 li a:after{
	content:"";
	box-sizing:border-box;
	vertical-align:middle;
	width:48px;
	height:14px;
	margin-top:-7px;
	border-right:2px solid #b31c31;
	border-bottom:2px solid #b31c31;
	-webkit-transform:skewX(30deg);
	-ms-transform:skewX(30deg);
	transform:skewX(30deg);
	position:absolute;
	top:50%;
	right:25px;
}
#hdr-menu02 .career a,
#hdr-menu02 .career a:after{
	color:#505c63;
	border-color:#505c63;
}

/*=============================================================
 footer
=============================================================*/
#footer{
	color:#fff;
	background-color:#505c63;
	margin-top:125px;
}
#footer>div{
	max-width:1208px;
	margin:0 auto;
	padding:23px 0 22px;
	position:relative;
}
/* ftr-pagetop
-------------------------------------------------------------*/
#ftr-pagetop{
	background-color:#505c63;
	position:absolute;
	top:-60px;
	right:20px;
}
#ftr-pagetop a{
	white-space:nowrap;
	text-indent:61px;
	display:block;
	width:60px;
	height:60px;
	overflow:hidden;
}
#ftr-pagetop a:before{
	content:"";
	box-sizing:border-box;
	vertical-align:middle;
	width:30px;
	height:30px;
	border-top:2px solid #fff;
	border-left:2px solid #fff;
	-webkit-transform:translate(-50%, -25%) rotate(45deg);
	-ms-transform:translate(-50%, -25%) rotate(45deg);
	transform:translate(-50%, -25%) rotate(45deg);
	position:absolute;
	top:50%;
	left:50%;
}
/* ftr-copyright
-------------------------------------------------------------*/
#ftr-copyright{
	font-family:Roboto, 'Noto Sans Japanese', sans-serif;
	font-size:12px;
	line-height:1.3;
	font-weight:300;
	text-align:right;
	max-width:1000px;
	margin:0 auto;
}


/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Smartphones
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
@media only screen and (max-width:767px), only screen and (max-device-width:767px){

/*=============================================================
 Common Layout
=============================================================*/
/* text Layout
-------------------------------------------------------------*/
.nowrap-pc{white-space:normal;}

/* block Layout
-------------------------------------------------------------*/
#container{min-width:320px;}
img{
	box-sizing:border-box;
	max-width:100%;
	height:auto;
}
.sp-dsp-none{display:none !important;}
.sp-dsp-block,
.dsp-table.sp-dsp-block,
.dsp-table.sp-dsp-block>*{display:block;}
.sp-dsp-inline{display:inline;}

/* width */
.sp-wMax{width:100% !important;}
.sp-wAuto{
	width:auto !important;
	max-width:none !important;
}
/* height */
.sp-hMin0{min-height:0 !important;}

/* aligh */
.sp-alignL{text-align:left !important;}

/* margin padding */
.sp-mT0{margin-top:0 !important;}
.sp-mT10{margin-top:10px !important;}
.sp-mT15{margin-top:15px !important;}
.sp-mT20{margin-top:20px !important;}
.sp-mT30{margin-top:30px !important;}
.sp-mT40{margin-top:40px !important;}
.sp-mT50{margin-top:50px !important;}
.sp-mT60{margin-top:60px !important;}
.sp-pR0{padding-right:0 !important;}
.sp-pL0{padding-left:0 !important;}

/*=============================================================
 header
=============================================================*/
#header{
	height:60px;
	padding:14px 50px 0 8px;
}
/* hdr-logo
-------------------------------------------------------------*/
/* hdr-logo01 */
#hdr-logo01 img{width:83px;}

/* hdr-logo02 */
#hdr-logo02{
	float:none !important;
	margin:3px 0 0 91px;
}
#hdr-logo02 .text{
	font-size:13px;
	padding:6px 0 0;
}
#hdr-logo02 .text02{
	font-size:21px;
	line-height:1.2;
	font-weight:normal;
	display:block;
	float:left;
	padding-left:10px;
}
/* globalNavSet
-------------------------------------------------------------*/
#globalNavSet>dt{
	width:36px;
	height:36px;
	top:11px;
	right:11px;
}
#globalNavSet>dt:before,
#globalNavSet>dt:after{
	width:30px;
	height:2px;
	top:10px;
	margin-left:-15px;
}
#globalNavSet>dt>span{
	font-size:10px;
	padding-top:26px;
}
#globalNavSet>dt>span:before{
	width:30px;
	height:16px;
	margin-left:-15px;
	border-top-width:2px;
	border-bottom-width:2px;
	top:1px;
}
#globalNavSet>dd{padding-top:47px;}
html.gNavOpen #globalNavSet>dd>div{padding:0 8px;}

/* globalNav
-------------------------------------------------------------*/
#globalNav{
	display:block;
	width:auto;
}
#globalNav>div{
	display:block;
	width:auto;
	padding:0;
	border-left:none;
}
#globalNav dl{
	margin-top:20px;
	padding:13px 18px 0;
	border-top:2px solid #333;
}
#globalNav>div:first-child>dl:first-child{
	border-top:none;
	margin-top:0;
	padding-top:0;
}
#globalNav dl:not(:last-child){
	min-height:0;
	margin-bottom:0;
	border-bottom:none;
}
#globalNav dt{
	width:130px;
	margin-bottom:15px;
}
#globalNav li{font-size:14px;}
#globalNav li .textL{font-size:21px;}
#globalNav li+li{margin-top:10px !important;}
#globalNav li a{padding:5px 40px 5px 0;}
#globalNav li a:after{
	width:38px;
	height:11px;
	margin-top:-6px;
}
#globalNav li a.blank:after{
	background-position:0 -20px;
	background-size:auto 50px;
	width:34px;
	height:17px;
	margin-top:-8px;
}
/* hdr-menu02
-------------------------------------------------------------*/
#hdr-menu02{
	width:auto;
	margin-top:30px;
}
#hdr-menu02 li{
	float:none;
	width:auto;
}
#hdr-menu02 li+li{margin:13px 0 0;}
#hdr-menu02 li a{
	font-size:14px;
	line-height:58px;
	padding:0 54px 0 17px;
}
#hdr-menu02 li a:after{
	width:38px;
	height:11px;
	margin-top:-6px;
	right:15px;
}

/*=============================================================
 footer
=============================================================*/
#footer{margin-top:100px;}
#footer>div{padding:13px 8px;}

/* ftr-pagetop
-------------------------------------------------------------*/
#ftr-pagetop{
	top:-50px;
	right:8px;
}
#ftr-pagetop a{
	width:50px;
	height:50px;
}
#ftr-pagetop a:before{
	width:25px;
	height:25px;
}
/* ftr-copyright
-------------------------------------------------------------*/
#ftr-copyright{font-size:11px;}


}

/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Smartphones (portrait)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
@media only screen and (max-width:440px){

/* block Layout
-------------------------------------------------------------*/
.spP-dsp-none{display:none !important;}
.spP-dsp-block{display:block;}

}

/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Smartphones small (portrait)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
@media only screen and (max-width:374px){

/* block Layout
-------------------------------------------------------------*/
.spS-dsp-none{display:none !important;}
.spS-dsp-block{display:block;}

/*=============================================================
 header
=============================================================*/
/* hdr-logo
-------------------------------------------------------------*/
/* hdr-logo01 */
#hdr-logo01 img{width:75px;}

/* hdr-logo02 */
#hdr-logo02{margin:4px 0 0 80px;}
#hdr-logo02 .text{
	font-size:12px;
	top:4px;
}
#hdr-logo02 .text02{
	font-size:19px;
	padding:1px 0 0 7px;
}
/* globalNav
-------------------------------------------------------------*/
#globalNav dl{
	padding-right:6px;
	padding-left:6px;
}


}

/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Print
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
@media print{
	
.clearfix{overflow:hidden;}

}
