*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1.2rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([class]){color:inherit;text-decoration:none}a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}

@charset "UTF-8";

body	{
	width: 100%;
}

h1,h2,h3,h4,h5,h6,p,th,td,li,dt,dd	{
	font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif !important;
}


.pc	{
	display: block !important;
}
.sp	{
	display: none !important;
}

header .togglebtn	{
	width: 60px;
	height: 60px;
	position: fixed;
	top: 0;
	right: 0;
	background-color: white;
	background-image: url(images/nav_icon.png);
	background-repeat: no-repeat;
	background-position: center center;
}

header .togglebtn span	{
	width: 100%;
	height: 100%;
	position: absolute;
	display: block;
}

.gnavOpen #menu	{
	background-image: url(recruit/images/nav_close.png);
}

body:not(.recruit) #gnav	{
	position: absolute;
	top: 0;
	left: 0;
	display: none;
	width: 100%;
	padding: 25px 0;
	padding-top: 85px;
	z-index: 100000;
	background-color: rgba(255,255,255,0.9);
}

body:not(.recruit) #gnav .gnav_inner	{
	display: table;
	width: 100%;
	table-layout: fixed;
}
body:not(.recruit) #gnav ul	{
	padding: 0 25px;
	display: table-cell;
	width: 50%;
}
body:not(.recruit) #gnav ul li	{
	list-style-type: none;
}

body:not(.recruit) #gnav ul li a	{
	display: block;
	color: #231815;
	border-bottom: 2px solid #003d72;
	font-size: 12px;
	margin-bottom: 25px;
	font-weight: bold;
	padding-bottom: 5px;
	letter-spacing: -1px;
}

body:not(.recruit) #gnav ul li ul	{
	padding: 0;
	display: block;
	width: 100%;
}

body:not(.recruit) #gnav ul li ul li	{
	position: relative;
	line-height: 0;
	display: block;
}
body:not(.recruit) #gnav ul li ul li:before	{
	content: "";
	position: absolute;
	top: 0%;
	width: 1em;
	height: 1px;
	background-color: #231815;
	display: block;
	z-index: 10000000;
}
body:not(.recruit) #gnav ul li ul li a	{
	display: block;
	width: 100%;
	border-bottom: 0;
	font-weight: normal;
	font-size: 10px;
	padding-left: 1.5em;
}
.weight_normal	{
	font-weight: normal;
}

.weight_bold	{
	font-weight: bold;
}

.text-center	{
	text-align: center;
}

.text-right	{
	text-align: right;
}

.fs13	{
	font-size: 13px !important;
}
.fs14	{
	font-size: 14px !important;
}
.fs18	{
	font-size: 18px !important;
}
.fs24	{
	font-size: 24px !important;
}
.fs28	{
	font-size: 28px !important;
}

.pt150	{
	padding-top: 150px;
}

.pb50	{
	padding-bottom: 50px;
}
.mt15	{
	margin-top: 15px;
}
.mt50	{
	margin-top: 50px;
}

.mb0	{
	margin-bottom: 0 !important;
}
.mb30	{
	margin-bottom: 30px !important;
}
.mb50	{
	margin-bottom: 50px !important;
}
.mb100	{
	margin-bottom: 100px !important;
}
.mb150	{
	margin-bottom: 150px !important;
}

.mr130	{
	margin-right: 130px;
}

.w66p	{
	width: 66.666% !important;
}
.text-center	{
	text-align: center;
}
.eurostyle	{
	font-family: 'Eurostile Bold',sans-serif;
}

.color-white	{
	color: white;
}
p,th,td,li,dt,dd	{
	font-size: 15px;
	line-height: 205%;
}

img	{
	max-width: 100%;
	height: auto;
}

img.subtitle_sc {
	max-width: 20vw;
	height: auto;
	}

img.subtitle_merit {
	max-width: 10vw;
	height: auto;
}

.after_l,.after_r,.after_both	{
	position: relative;
}
.after_l .after,.after_r .after,.after_both .after	{
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	top: 150px;
	display: block;
	background-color: #dcdddd;
	z-index: -1;
}
.after_l .after	{
	left: -150px;
}
.index_company.after_l .after	{
	left: -300px;
	width: calc(100% + 150px);
}
.after_r .after	{
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	top: 150px;
	left: 150px;
	display: block;
	background-color: #dcdddd;
	z-index: -1;
}

.after_both .after	{
	left: -150px;
	right: 0;
	top: 50px;
	width: calc(100% + 300px);
	height: calc(100% - 100px);
}
header	{
	height: 60px;
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000000;
	background-color: white;
}

header a.logoarea	{
	width: 205px;
	display: block;
	height: 100%;
	background-color: white;
	box-sizing: border-box;
}

header a.logoarea	{
	padding: 15px;
}

header a.logoarea .logo	{
	width: 100%;
}

header nav	{
	position: absolute;
	top: 0;
	right: 0;
	width: auto;	
	height: 60px;
}

header nav#pcnav ul li	{
	color: #231815;
	text-decoration: none;
}
#slide-line{
    position: absolute;
    display: block;
    bottom: 10px;
    left: 0;
    height: 2px;
    width: auto;
    background-color:#003d72;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    z-index: 100000000;
}

header nav ul	{
	display: table;
	width: 100%;
	height: 100%;
	list-style-type: none;
	padding-inline-start: 0;
	padding: 0 15px 0 15px;
	background-color: white;
}

header nav ul li{
	display: table-cell;
	padding: 0 20px;
 	vertical-align: middle;
	text-align: center;
	font-size: 12px;
}

header nav ul li a	{
	color: #231815;
	text-align: center;
}
.keyarea	{
	height: 100vh;
	width: 100%;
	position: relative;
	scrollbar-width: none;
	top: 60px;
	margin-bottom: 160px;
}

.key_after	{
	display: block;
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 0;
	height: 100%;
	z-index: -1;
	overflow-x: hidden;
	scrollbar-width: none;
}

.key_after .slider	{
	display: block;
	width: 100vw;
	max-width: none;
	height: auto;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	height: 100vh;
}

.key_after .slider .slidechild	{
	position: absolute !important;
	top: 0;
	left: 0 !important;
	width: 100vw !important;
}
.key_after .slider .slidechild .titlearea	{
	position: absolute;
	top: 20vh;
	left: 0;
}

.key_after .slider .slidechild .titlearea.right	{
	left: auto;
	right: 0;
}

.key_after .slider .slidechild .titlearea h1 b,.key_after .slider .slidechild .titlearea p b	{
	background-color: rgba(255,255,255,0.75);
	padding: 5px;
	font-weight: bold;
	position: relative;
}
.key_after .slider .slidechild .titlearea b	{
	opacity: 0;
}
.key_after .slider .slidechild .titlearea b span	{
	position: relative;
	z-index: 10;
}
.key_after .slider .slidechild .titlearea b .after	{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background-color: rgba(255,255,255,0.75);
	opacity: 0;
	z-index: 1;
}

.key_after .slider .slidechild .keylasttext	{
	position: absolute;
	top:  180px;
	left: 50%;
	transform: translateX(-50%);
	display: none;
	width: 60%;
}

.key_after .slider .slidechild .titlearea b span	{
	opacity: 0;
}
.key_after .slider .slidechild .titlearea h1	{
	color: #073a73;
	font-size: 28px;
	line-height: 200%;
}

.key_after .slider img	{
	width: 100%;
}

.keyarea .whatsnew	{
	width: 0;
	height: 200px;
	background-color: white;
	position: absolute;
	bottom: 0;
	left: 0;
	overflow: hidden;
	margin-bottom: -100px;
}

.keyarea .whatsnew .whatsnewinner	{
	display: table;
	width: 750px;
	position: absolute;
	top: 50%;
	left:  150px;
	transform: translateY(-50%);
}
.keyarea .whatsnew .whatsnewtitle	{
	width: 14px;
}

.keyarea .whatsnew .whatsnewinner .whatsnewcell	{
	display: table-cell;
	vertical-align: top;
	font-size: 14px;
}
.keyarea .whatsnew .whatsnewinner img	{
	margin-top: 8px;
}
.keyarea .whatsnew .whatsnewinner ul li	{
	list-style-type: none;
	line-height: 200%;
}
.keyarea .whatsnew .whatsnewinner ul li	.date{
	display:inline-block;
	margin:0 20px 0 0;
}
.keyarea .whatsnew .whatsnewinner ul li a	{
	color: #231815;
}

.keyarea .leadarea	{
	width:calc(100% - 150px);
	height: 350px;
	background-color: white;
	position: absolute;
	top: 500px;
	left: 0;
}
.keyarea .leadarea .leadareainner	{
	display: table;
	width: 750px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.keyarea .leadarea .leadareatitle	{
	width: 14px;
}

.keyarea .leadarea .leadareainner .leadareacell	{
	display: table-cell;
	vertical-align: top;
	font-size: 14px;
}
.keyarea .leadarea .leadareainner img	{
	margin-top: 8px;
}
.keyarea .leadarea .leadareainner ul li	{
	list-style-type: none;
	line-height: 200%;
}
.keyarea .leadarea .leadareainner ul li a	{
	margin-left: 2em;
}

div.pc_gnav	{
	position: absolute;
	top: 60px;
	left: 0;
	width: 100%;
	height: 320px;
	z-index: 1000000000000000;
}

div.pc_gnav .gnav_titlearea	{
	position: absolute;
	left: 0;
	top: 0;
	width: 380px;
	height: 100%;
}

div.pc_gnav .gnav_menuarea	{
	background-color: rgba(255,255,255,0.9);
	position: absolute;
	top: 0;
	right: 0;
	width: calc(100% - 380px);
	height: 100%;
	line-height: 1;
	padding: 15px;
}

div.pc_gnav .gnav_titlearea .gnav_title	{
	height: 50px;
	width: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

div.pc_gnav .gnav_menuarea ul li	{
	list-style-type: none;
	display: inline-block;
	width: 250px;
	height: 80px;
	position: relative;
	background-color: white;
	margin: 0 15px 15px 0;
}

div.pc_gnav .gnav_menuarea ul li img	{
	position: absolute;
	top: 0;
	left: 0;
	display: block;
}

div.pc_gnav .gnav_menuarea ul li p	{
	position: absolute;
	top: 50%;
	left: 115px;
	transform: translateY(-50%);
	line-height: 150%;
	color: #231815;
}
.gnav_solution,.gnav_csr,.gnav_company,.gnav_recruit	{
	display: none;
}
div.pc_gnav.active	{
	display: block;
}
.gnav_solution .gnav_titlearea	{
	background-color: rgba(88,76,157,.8);
}

.gnav_csr .gnav_titlearea	{
	background-color: rgba(0,124,54,.8);
}

.gnav_company .gnav_titlearea	{
	background-color: rgba(0,71,157,.8);
}

.gnav_recruit .gnav_titlearea	{
	background-color: rgba(0,71,157,.8);
}

.mainarea	{
	margin-bottom: 300px;
}

.index .mainarea	{
	padding-top: 60px;
}
.separator	{
	margin: 100px 0 200px;
}
.separator.after_r .after	{
	width: calc(100% - 150px);
	background-color: #efefef;
}
.separator video	{
	width: 100%;
}

.index_l	{
	display: block;
	background-size: cover;
	left: 150px;
	height: 600px;
	width: calc(100% - 150px);
	margin-bottom: 200px;
}

.index_r	{
	display: block;
	background-size: cover;
	left: 0;
	height: 600px;
	width: calc(100% - 150px);
	margin-bottom: 200px;
}

.index_l.index_company	{
	left: 300px;
	width: calc(100% - 300px);
}


.index_vision	{
	background-image: url(images/index_vision.jpg);
}

.index_solution	{
	background-image: url(images/index_solution.jpg);
}

.index_quality	{
	background-image: url(images/index_quality.jpg);
}

.index_csr	{
	background-image: url(images/index_csr.jpg);
}

.index_company	{
	background-image: url(images/index_company.jpg);
}

.index_title	{
	position: absolute;
	width: 14px;
	top: 300px;
	left: -82px;
}
.index_l .index_title	{
	left: -82px;
}
.index_r .index_title	{
	left: auto;
	right: -82px;
}
.index_l.index_company .index_title	{
	left: -232px;
}
.index_box	{
	display: block;
	position: absolute;
	bottom: 0;
	width: 530px;
	height: 280px;
	background:linear-gradient(90deg, rgba(0,160,233,0.8),rgba(84,195,241,0.8));
	box-sizing: border-box;
	color: white;
}

.index_box.width_full	{
	width: 100%;
	height: 150px;
	display: table;
	table-layout: fixed;
}
.index_l .index_box	{
	left: 0;
}

.index_r .index_box	{
	left: auto;
	right: 0;
}

.index_solution .index_box	{
	background:linear-gradient(90deg, rgba(124,80,157,0.8),rgba(69,57,126,0.8));
}


.index_quality .index_box	{
	background:linear-gradient(90deg, rgba(0,103,182,0.8),rgba(6,37,122,0.8));
}

.index_csr .index_box	{
	background-image: none;
	background-color: rgba(0,124,54,0.8);
}
.index_company .index_box	{
	left: -150px;
	bottom: 100px;
}
.index_box a.detail	{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: block;
}
.index_box.width_full .index_company_block	{
	width: 25%;
	display: table-cell;
	background:linear-gradient(90deg, rgba(0,103,182,0.8),rgba(6,37,122,0.8));
}

.index_box .above_hr	{
	display: block;
	padding: 30px 50px 24px;
	margin-bottom: 0;
	line-height:  1;
}
.index_box.width_full .index_company_block .above_hr	{
	width: 100%;
	padding: 30px 0 24px 25px;
	font-size: 16px;
}
.index_box hr	{
	height: 0;
	display: block;
	line-height: 1px;
	margin: 0;
	width: calc(100% - 50px);
	background-color: 0;
	border: none;
	border-bottom: 1px solid white;
}

.index_box .above_hr	{
	width: calc(100% - 50px);
}

.index_box .beyond_hr	{
	padding: 24px 45px 0 50px;
}

.index_box.width_full .index_company_block .beyond_hr	{
	padding: 24px 25px 0 25px;
	text-align: right;
}
.index_box.width_full .index_company_block .beyond_hr a	{
	color: white;
	position: relative;
	display: inline-block;
}
.index_box.width_full .index_company_block .beyond_hr a:before	{
	content: "";
	display: block;
	width: 40px;
	height: 1px;
	position: absolute;
	top: 50%;
	left: -60px;
	transform: translateY(-50%);
	background-color: white;
}
.index_box.width_full .index_company_block hr	{
	width: calc(100% - 20px);
}

.index_box .btnarea	{
	text-align: center;
}
.index_box a.btn	{
	display: inline-block !important;
	line-height: 1;
	display: block;
	padding: 18px 36px;
	background-color: white;
	color: #231815;
}
.index_recruit	{
	height: 745px;
	background: none;
}
.index_recruit_inner	{
	position: relative;
	height: 370px;
}
.index_recruit_inner hr	{
	width: 300px;
}

.index_recruit_inner.shinsotsu	{
	background-image: url(images/shinsotsu.jpg);
	background-size: 100% auto;
}
.index_recruit_inner.chuto	{
	background-image: url(images/chuto.jpg);
	background-size: 100% auto;
}
.index_recruit_inner .above_hr	{
	width: 200px;
}
.index_recruit_inner .index_box .beyond_hr	{
	padding: 24px 45px 60px 50px;
}

.index_recruit_inner.shinsotsu .index_box	{
	position: absolute;
	top: 50px;
	right: auto;
	left: 0;
	height: 180px;
	background-image: none;
	background-color: rgba(229,89,39,0.8);
}
.index_recruit_inner.chuto .index_box	{
	position: absolute;
	top: auto;
	bottom: 50px;
	height: 180px;
	background-image: none;
	background-color: rgba(114,98,86,0.8);
}
.index_recruit_inner .btnarea	{
	position: absolute;
	bottom: 0;
	right: 0;
	margin-bottom: 0;
}
.after_both	{
	width: calc(100% - 300px);
	left: 150px;
}

footer	{
	background-color: #00479d;
	position: relative;
	height: 250px;
}
footer .pagetop	{
	position: absolute;
	top: -170px;
	width: 11px;
	left: 70px;
	background-color: white;
	margin-top: -10px;
	padding-top: 10px;
	padding-bottom: 10px;
	box-sizing: content-box;
}
footer .footernav	{
	background-color: #e6e6e6;
	background-repeat: no-repeat;
	background-image: url(images/footernav.png);
	position: absolute;
	width: calc(100% - 150px);
	height: 300px;
	right: 0;
	top: -170px;
}

footer .footernav .footer_inner	{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 225px;
}
footer .footernav img	{
	margin-left: 40px;
}
footer .footernav ul	{
	margin-left: 40px;
	padding: 0;
	max-width: 760px;
	position: relative;
}

footer .footernav ul:first-of-type	{
	border-bottom: 1px solid #9fa0a0;
}
footer .footernav ul li	{
	list-style-type: none;
	display: inline-block;
	padding-bottom: 15px;
	font-size:13px;
}

footer .footernav ul li a	{
	padding-right: 30px;
	padding-bottom: 15px;
	color: #231815;
}
footer p	{
	color: white;
	padding-top: 180px;
	padding-left: 150px;
}

/* sub */

.keyarea .index_box	{
	display: block;
	position: absolute;
	bottom: auto;
	top: 50%;
	transform: translateY(-50%);
	)
	width: 490px;
	height: auto;
	background:linear-gradient(90deg, rgba(0,160,233,0.8),rgba(84,195,241,0.8));
	box-sizing: border-box;
	color: white;
	padding: 15px 0 15px 150px;
}

.sub .keyarea	{
	background-size: cover;
	background-position: center center;
	height: 80vh;
}


.vision .keyarea	{
	background-image: url(vision/images/vision_key.jpg);
}

.solution00 .keyarea	{
	background-image: url(solution/images/solution_key.jpg);
}

.solution01 .keyarea	{
	background-image: url(solution/images/solutionsubkey01.jpg);
}

.solution02 .keyarea	{
	background-image: url(solution/images/solutionsubkey02.jpg);
}

.solution03 .keyarea	{
	background-image: url(solution/images/solutionsubkey03.jpg);
}

.solution04 .keyarea	{
	background-image: url(solution/images/solutionsubkey04.jpg);
}

.solution05 .keyarea	{
	background-image: url(solution/images/solutionsubkey05.jpg);
}

.solution06 .keyarea	{
	background-image: url(solution/images/solutionsubkey06.jpg);
}

.solution07 .keyarea	{
	background-image: url(solution/images/solutionsubkey07.jpg);
}

.quality .keyarea	{
	background-image: url(quality/images/quality_key.jpg);
	background-position: center top;
	background-size: cover;
}

.csr01 .keyarea	{
	background-image: url(csr/images/csr01_key.jpg);
}

.csr02 .keyarea	{
	background-image: url(csr/images/csr02_key.jpg);
}

.csr03 .keyarea	{
	background-image: url(csr/images/csr03_key.jpg);
}

.csr04 .keyarea	{
	background-image: url(csr/images/csr04_key.jpg);
}

.company01 .keyarea	{
	background-image: url(company/images/company01_key.jpg);
}

.company02 .keyarea	{
	background-image: url(company/images/company02_key.jpg);
}

.company03 .keyarea	{
	background-image: url(company/images/company03_key.jpg);
}

.company04 .keyarea	{
	background-image: url(company/images/company04_key.jpg);
}

.branch .keyarea	{
	background-image: url(company/images/branch_key.jpg);
}

.news .keyarea	{
	background-image: url(news/images/news_key.jpg);
}

.sub_title	{
	font-size: 22px;
	/*padding-top: 22px;*/
}

.sub .mainarea	{
	padding-bottom: 50px;
	margin-bottom: 100px;
}


.mainarea .leadarea	{
	padding: 50px 0;
	position: relative;
	max-width: 1150px;
	top: -150px;
	background-color: white;
	border: 1px solid #9fa0a0;
/*	border-left: 0; */
	padding-bottom: 300px;
	margin-bottom: -300px;
}

.sub .mainarea .leadarea	{
	margin-left: auto;
	margin-right: auto;
}
.mainarea .leadarea .leadareainner	{
	padding-left: 150px;
	overflow-x: hidden;
}
.leadareacell hr	{
	display: block;
	margin: 25px auto 50px 0;
	width: 360px;
}

.change2030	{
	display: block;
	position: relative;
	/*height: 433px;*/
	height: 233px;
	margin: 25px 0;
	position: relative;
	display: block;
	width: 1150px;
}
.leadarea .img_overflow	{
	max-width: none;
	width: 100vw;
	position: absolute;
	max-width: none;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
}

.change2030imgarea	{
	position: relative;
	max-width: 1150px;
	width: 100%;
	height: 100%;
}
.change2030 img	{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.basetext ol	{
	max-width: 540px;
	width: 100%;
	margin: 0 auto;
	margin-block-start: 0;
	padding-inline-start: 0;
}
.basetext ol li	{
	border: 1px solid #231814;
	padding: 5px 10px;
	box-sizing: border-box;
	list-style-position: inside;
	margin: 5px 0;
}

.csr03 .change2030 img	{
	position: static;
	top: auto;
	left: auto;
	transform: none;
}

.block_box	{
	position: relative;
	margin-top: 100px;
}

.block_box .blockboximg,.block_box .blockboxinfo	{
	width: 57.35%;
}

.block_box.bbex .blockboximg	{
	width: 95%;
}

.block_box.bbex .blockboxinfo	{
	width: 77.4%;
}
.block_box .blockboximg img	{
	width: 100%;
	margin-top: 50px;
	margin-bottom: -50px;
}

.block_box.bbex .blockboximg img	{
	width: 95%;
	margin-top: 0;
	margin-bottom: 0;
}

.block_box:last-of-type .blockboximg	{
	margin-bottom: -50px;
}
.block_box .blockboxinfo	{
	position: absolute;
	right: 0;
	background:linear-gradient(90deg, rgba(0,160,233,0.8),rgba(84,195,241,0.8));
	height: 100%;
	top: 0;
	padding:50px 110px 50px 175px;
}
.block_box .blockboxinfo.green	{
	padding:50px 70px 50px 175px;
}
.block_box.bbex .blockboxinfo	{
	position: absolute;
	margin-top: 400px;
	min-height: 100%;
	height: auto;
	margin-bottom: 400px;
}
.block_box.bbex+.block_box	{
	margin-top: 500px;
}
.block_box .blockboxinfo:after	{
	background-image: url(images/boxback.png);
	content: "";
	width: 130px;
	height: 130px;
	position: absolute;
	top: 0;
	right: 0;
}

.block_box .blockboxinfo h2,.block_box .blockboxinfo p	{
	color: white;
	font-weight: normal;
}
.block_box .blockboxinfo hr	{
	width: 205px;
	display: block;
	margin: 15px auto 15px 0;
	height: 1px;
	border: 0;
	border-bottom: 1px solid white;
}

.block_box .blockboxinfo h2	{
	font-size: 32px;
	line-height: 40px;
}
.block_box .blockboxinfo h3	{
	color: white;
}
.block_box .blockboxinfo tr	{
	border-bottom: 1px solid white;
}

.block_box.bbex .blockboxinfo tr:last-child	{
	border-bottom: 0;
}

.block_box .blockboxinfo th,.block_box .blockboxinfo td	{
	color: white;
	vertical-align: top;
	padding: 15px 0;
}

.block_box .blockboxinfo th	{
	font-size: 15px;
	width: 150px;
}

.csr01 .block_box .blockboximg	{
	width: 46%;
	position: absolute;
	right: 0;
	top: 50px;
}
.csr01 .block_box	{
	margin-bottom: 250px;
}
.csr01 .block_box .blockboxinfo	{
	position: relative;
	top: 0;
	left: 0;
}


.csr01 .block_box .blockboxinfo:after	{
	right: auto;
	left: 0;
}

.csr01 .block_box .blockboxinfo h2	{
	font-size: 28px;
}

.csr01 .block_box .blockboxinfo h2 .subtext	{
	font-size: 16px;
}
.example	{
	margin-top: 10px;
	display: block;
}

.example.small	{
	margin-top: 30px;
	font-size: 80%;
}
.vision .block_box .blockboxinfo	{
	background:linear-gradient(90deg, rgba(0,160,233,0.8),rgba(84,195,241,0.8));
}

.solution .index_box	{
	background:linear-gradient(90deg, rgba(124,80,157,0.8),rgba(69,57,126,0.8));
}

.solution .block_box .blockboxinfo	{
	background:linear-gradient(90deg, rgba(124,80,157,0.8),rgba(69,57,126,0.8));
}

.csr .index_box, .csr .block_box .blockboxinfo	{
	background-image: none;
	background-color: rgba(0,124,54,0.8);
}

.quality .index_box, .quality .block_box .blockboxinfo	{
	background:linear-gradient(90deg, rgba(0,103,182,0.8),rgba(6,37,122,0.8));
}

.company .index_box,.company .block_box .blockboxinfo	{
	background:linear-gradient(90deg, rgba(0,103,182,0.8),rgba(6,37,122,0.8));
}

.color-white dd	{
	font-size: 13px;
	line-height: 175%;
}

.block_box:last-of-type	{
	margin-bottom: 150px;
}

.leaddl	{
	margin: 50px 0;
}

.leaddl dt	{
	float: left;
}
.leaddl dt img	{
	display: block;
	margin-top: 18px;
}
.leaddl dd	{
	padding-left: 115px;
	padding-right: 115px;
	margin-bottom: 50px;
	font-size: 22px;
}

.business_image	{
	margin-left: 150px;
	padding: 40px 0;
	/*background-image: url(solution/images/business_back.png);*/
	border-top:solid 1px #CCC;
	border-left:solid 1px #CCC;
	border-bottom:solid 1px #CCC;
}

.business_image h2	{
	padding-left: 20px;
	font-size: 24px;
}

.business_image hr	{
	width: 360px;
	border: 0;
	border-bottom: 1px solid black;
	margin: 20px auto 20px 0;
}
.business_image img.businessimage_img	{
	display: block;
	margin: 60px auto 0;
}

.pagelistarea	{
	display: flex;
	flex-wrap: wrap;
	margin-left: 150px;
	margin-top: 100px;
}
.block_box+.pagelistarea	{
	margin-top: 150px;
}
.pagelistarea .childpage	{
	width: 33.333%;
	text-align: right;
}

.pagelistarea .childpage img	{
	100%;
}

.pagelistarea .childpage .imgarea	{
	position: relative;
}

.pagelistarea .childpage .imgarea h2	{
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	color: white;
	width: 95%;
	background:linear-gradient(90deg, rgba(124,80,157,0.8),rgba(69,57,126,0.8));
	text-align: left;
	font-size: 16px;
	line-height: 1;
	margin-bottom: 0;
	padding: 12px 15px;
}

.csr .pagelistarea	{
	width: calc((100% - 150px)*0.66666);
}

.csr .pagelistarea .childpage	{
	width: 50%;
}
.csr .pagelistarea .childpage .imgarea h2	{
	background-image: none;
	background-color: rgba(0,124,54,0.8);
}

.divtable	{
	display: table;
	width: calc(100% - 120px);
	margin-left: 120px;
}

.divtable .divtablecell	{
	display: table-cell;
}
.company .pagelistarea .childpage .imgarea h2	{
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	color: white;
	width: 95%;
	background:linear-gradient(90deg, rgba(0,103,182,0.8),rgba(6,37,122,0.8));
	text-align: left;
	font-size: 16px;
	line-height: 1;
	margin-bottom: 0;
	padding: 12px 15px;
	}

.viewmore	{
	display: inline-block;
	position: relative;
	color: black;
	padding: 15px;
}
.viewmore:before	{
	content: "";
	display: block;
	width: 40px;
	height: 1px;
	position: absolute;
	top: 50%;
	left: -60px;
	transform: translateY(-50%);
	background-color: black;
}

.bbflex	{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}

.solution .bbflex .flexchild	{
	width: calc(100% - 1px);
	border-left: 1px solid white;
	padding: 3px 15px;
	box-sizing: border-box;
	margin: 10px 0;
}

.solution .bbflex .flexchild.fc50	{
	width: calc(50% - 1px);
}

.solution .bbflex .flexchild h3	{
	font-size: 30px;
}

.borderbottomwhite	{
	border-bottom: 1px solid white;
	padding-bottom: 15px;
}

.separate_img	{
	margin-left: 150px;
	width: calc(100% - 150px);
}
.linear_box	{
	padding: 15px 30px;
	background:linear-gradient(90deg, rgba(124,80,157,0.8),rgba(69,57,126,0.8));
}

.linear_box table	{
	width: 100%;
	table-layout: fixed;
}

.linear_box table tr	{
	border-bottom: 1px solid white;
}

.linear_box table tr:last-child	{
	border-bottom: 0;
}
.linear_box table tr th,.linear_box table tr td	{
	color: white;
}

.linear_box table tr th	{
	font-size: 20px;
	width: 45%;
}

.linear_box table tr td	{
	font-size: 16px;
}
.quality .tablearea	{
	margin-right: -50px;
}
.quality table	{
	width: 100%;
}
.quality table tr	{
	border-left: 1px solid #231815;
	border-top: 1px solid #231815;
}
.quality table th,.quality table td	{
	text-align: center;
	width: 33.333%;
	height: 50px;
	border-right: 1px solid #231815;
	border-bottom: 1px solid #231815;
}
.quality table tr:first-child th	{
	color: white;
}

.quality table tr:first-child th:nth-child(2)	{
	background-color: #00afec;
}
.quality table tr:first-child th:nth-child(3)	{
	background-color: #00ac97;
}

.quality table tr:nth-child(2n) th	{
	background-color: #d3def1;
	color: #002b69;
}
.quality table tr:nth-child(2n+1) th	{
	background-color: #a3bce2;
	color: #002b69;
}
.quality table tr:nth-child(2n) td	{	
}

.quality table tr:first-child th	{
	background-color: white;
}

.quality table tr:nth-child(2n+1) td	{
	background-color: #efefef;
}

.quality table.w33	{
	width: 33.333%;
}

.quality table.w33 tr th	{
	background-color: white;
	height: 30px;
	font-weight: normal;
	color: #231815;
}
.block_box ul,.quality .block_box ol	{
	padding-inline-start: 1em;
}
.block_box ul li,.quality .block_box ol li	{
	color: white;
	margin-bottom: 0.5em;
}

.csr02 .dlimg	{
	margin-left: 110px;
}


.csr02 .ddbbox	{
	padding-right: 0;
}

.csr02 .ddbbox .blockboximg,.csr02 .ddbbox .blockboxinfo	{
	width: 63%;
}

.csr02 .ddbbox .blockboxinfo	{
	padding-left: 90px;
	padding-right: 90px;
}

.csr02 .pagelistarea,.csr03 .pagelistarea	{
	padding-top: 100px;
}

.csr03 .img_overflow	{
	position: relative;
	padding-right: 0;
	left: 0;
	transform: none;
	margin-top: 0;
	top: 0;
}
.csr03 .change2030	{
	height: auto;
}
.csr03 .img_overflow .blockboximg	{
	width: 1150px;
}

.csr03 .img_overflow .blockboximg img	{
	width: 100%;
	max-width: 1150px;
}

.csr03 .img_overflow .blockboxinfo	{
	width: 61.7%;
}

.csr03 .img_overflow .blockboxinfo table tr:last-of-type	{
	border-bottom: 0;
}

.csr03 .img_overflow .blockboxinfo table tr th	{
	width: 50px;
	font-size: 26px;
	vertical-align: top;
	line-height: 1.2;
}

.csr_image	{
	width: 100%;
	height: 100vh;
	position: relative;
	background-size: cover;
	background-image: url('csr/images/csr_back.jpg');
	background-position: center center;
}

.cimg1	{
	background-image: url('csr/images/csr04_1.jpg');
}

.cimg2	{
	background-image: url('csr/images/csr04_2.jpg');
}

.cimg3	{
	background-image: url('csr/images/csr04_3.jpg');
}

.csr_image .csrimg_inner	{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	margin-left: 150px;
}
.csr_image .csrimg_inner img	{
	margin: 10px 0 10px;
}
.ecop_h2	{
	margin-left: 260px;
}

.csr04 .ecop_wrap	{
	position: relative;
	top: auto;
	left: auto;
	transform: none;
	height: 100vh;
	width: 100%;
	background-image: url(csr/images/csr04_5.jpg);
	background-size: cover;
}

.csr04 .ecop_wrap:after	{
	content: "";
	width: 890px;
	height: 100%;
	position: absolute;
	bottom: 0;
	left: 150px;
	background-color: rgba(0,160,81);
	mix-blend-mode: multiply;
}

.csr04 .ecop	{
	width: 890px;
	height: 100%;
	position: absolute;
	bottom: 0;
	left: 150px;
	z-index: 10;
	padding: 40px 15px;
}

.csr04 .ecop img	{
	mix-blend-mode: none;
}
.csr04 .ecop h3,.csr04 .ecop h4,.csr04 .ecop p	{
	color: white;
	font-weight: normal;
}

.csr04 .ecop hr	{
	border: 0;
	border-bottom: 1px solid white;
	margin: 20px 0;
}

.co2data	{
	display: table;
	width: 100%;
	table-layout: fixed;
}

.co2datachild	{
	width: 50%;
	display: table-cell;
}

.co2datachild img	{
	margin-bottom: 10px;
}

.co2datachild table,.co2datachild p	{
	margin-bottom: 15px;
}
.co2datachild table th,.co2datachild table td	{
	vertical-align: top;
	color: white;
	font-size: 15px;
	font-weight: normal;
	line-height: 165%;
}
.co2datachild table	{
	table-layout: fixed;
	width: 100%;
}
.co2datachild table th	{
	width: 22.5%;
}

@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, .csr04 .ecop_wrap:after	{background-color: rgba(0,160,81,0.5);}
  *::-ms-backdrop, .co2datachild table,.co2datachild h4.mb50	{margin-bottom: 0;}
}

  _:-ms-lang(x)::backdrop, .csr04 .ecop_wrap:after	{background-color: rgba(0,160,81,0.5);}
  _:-ms-lang(x)::backdrop, .co2datachild table,.co2datachild h4.mb50	{margin-bottom: 0;}

.csr04 .business_image	{
	background-color: #d3edfb;
	background-image: none;
	padding: 50px 120px;
	background-image: url(csr/images/csr_back2.png);
	background-size: contain;
	background-position: center bottom;
	background-repeat: no-repeat;
}

.csr04 .business_image.bi2	{
	background-image: url(csr/images/csr_back3.jpg);
	background-size: cover;
	margin-left: 0;
}

.csr04 .business_image h2	{
	padding-left: 0;
	font-size: 18px;
}

.csr04 .business_image hr	{
	border-bottom: 2px solid #007c36;
	width: 300px;
}
.csr04 .business_image hr:first-of-type	{
	margin-bottom: 0;
}

.csr04 .business_image .table	{
	display: table;
	table-layout: fixed;
	width: 100%;
}

.csr04 .business_image .table .icons,.csr04 .business_image .table .texts	{
	display: table-cell;
	vertical-align: top;
}

.csr04 .business_image .table .icons	{
	width: 220px;
	padding-top: 20px;
}
.csr04 .business_image .table:first-of-type .icons	{
	width: 320px;
}

.csr04 .business_image .table .texts	{
	padding-top: 20px;
}
.csr04 .business_image .table:first-of-type .texts	{
	background-color: white;
	padding: 20px;
}

.csr04 .business_image .table .texts h3	{
	color: #007c36;
	font-size: 15px;
}

.csr04 .business_image .table .texts p	{
	font-size: 13px;
}

.leadareainner.sdgs	{
	width: 100vw;
	background-image: url(csr/images/csr04_9.jpg);
	background-position: right top;
	background-size: 50%;
	background-repeat: no-repeat;
}

.leadareainner.sdgs dd.fs13	{
	padding-left: 120px;
	width: 450px;
	padding-right: 0;
}

.leadareainner.sdgs dd.fs13 h2	{
	font-size: 18px;
}

.leadareainner.sdgs dd.fs13 hr	{
	width: 320px;
	border: 2px solid #007c36;
}

.company .tablearea	{
	display: table;
	width: calc(100% - 260px);
	margin: 50px 130px 0;
	table-layout: fixed;
}

.company .tablearea div.photo,.company .tablearea div.text	{
	display: table-cell;
	vertical-align: top;
}

.company .tablearea div.photo	{
	width: 330px;
}

.company .tablearea div.text	{
	padding-left: 50px;
}

.company_profile	{
	width: calc(100% - 130px);
	table-layout: fixed;
}
.company_profile tr	{
	border-bottom: 1px dashed #231815;
}
.company_profile th	{
	height: auto;
	vertical-align: top;
	width: 185px;
	font-size: 18px;
	font-weight: normal;
	color: #00479d;
	padding: 26px 0;
}

.company_profile td	{
	vertical-align: top;
	font-size: 14px;
	padding: 26px 0;
}

.company_profile td ul	{
	padding: 0;
}
.company_profile td ul li	{
	display: inline-block;
	list-style-type: 0;
	margin: 0;
	width: 48%;
	vertical-align: top;
}

.company_profile td .lifoot	{
	padding-left: 48%;
}
.company table.yakuin tr	{
	border-bottom: 1px solid #231815;
}
.company table tr th,.company table tr td	{
	line-height: 180%;
}
.company table tr:last-child	{
	border-bottom: 0;
}
.company table.yakuin	{
	width: 100%;
}

.company table.yakuin tr:first-child th,.company table.yakuin tr:first-child td	{
	padding-top: 0;
}

.company table.yakuin tr th	{
	width: 210px;
	font-size: 14px;
	color: #231815;
}
.maparea	{
	padding-right: 130px;
}
.maparea iframe	{
	width: 100%;
}
.company03 .leaddl dt img	{
	margin-top: 30px;
}
.company03 .leaddl dd	{
	font-size: 28px;
}
.company03 hr	{
	border-bottom-color: #14ab39;
	margin: 20px auto 20px 0;
}
.company03 .history2 hr	{
	border-bottom-color: #ea609e;
}
.company03 .history3 hr	{
	border-bottom-color: #ed6c00;
}
.company03 .history4 hr	{
	border-bottom-color: #00479d;
}

.company04 .area01 dd	{
	color: #14ab39;
}

.company04 .area01 hr	{
	border-bottom-color: #14ab39;
}

.company04 .area02 dd	{
	color: #ea609e;
}

.company04 .area02 hr	{
	border-bottom-color: #ea609e;
}

.company04 .area03 dd	{
	color: #00afec;
}

.company04 .area03 hr	{
	border-bottom-color: #00afec;
}

.company04 .area04 dd	{
	color: #9070af;
}

.company04 .area04 hr	{
	border-bottom-color: #9070af;
}

.company04 .area05 dd	{
	color: #ed6c00;
}

.company04 .area05 hr	{
	border-bottom-color: #ed6c00;
}
.company04 .area_all dt	{
	width: 0;
	margin: 0;
	padding: 0;
}
.company04 .area_all dd	{
	color: #231815;
	padding-left: 0;
}

.company04 .area_all hr	{
	border-bottom-color: #231815;
}
.company03 .company_profile tr:last-of-type	{
	border-bottom: 1px dashed #231815;
}

.company03 .company_profile th	{
	height: auto;
	vertical-align: top;
	width: 135px;
	font-size: 14px;
	font-weight: normal;
	color: #231815;
	padding: 26px 0;
}

.company03 .company_profile tr td:first-of-type	{
	width: 50px;
}


.company04 .mainarea ul	{
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	width: calc(100% - 130px);
}

.company04 .mainarea ul li	{
	list-style: none;
	display: flex;
	width: 32.333%;
	margin-left: 1%;
	margin-bottom: 7px;
}

.company04 .mainarea ul li img	{
	width: 100%;
}

.areatable	{
	width: calc(100% + 130px);
}

.areatable th,.areatable td	{
	vertical-align: top;
	padding: 15px;
	color: #231815;
}

.areatable tr:nth-child(2n) th,.areatable tr:nth-child(2n) td	{
	background-color: #efefef;
}

.areatable tr:nth-child(2n+1) th,.areatable tr:nth-child(2n+1) td	{
	background-color: transparent;
}

.areatable tr td.gmap	{
	background-color: transparent !important;
	text-align: right;
}

.brancharea .branch	{
	display: inline-table;
	width: 48%;
	margin-bottom: 15px;
	table-layout: fixed;
}

.brancharea .branch .imgarea,.brancharea .branch .textarea	{
	display: table-cell;
	vertical-align: top;
}

.brancharea .branch .imgarea	{
	width: 40%;
}

.brancharea .branch .imgarea img	{
	width: 100%;
}
.brancharea .branch .textarea	{
	padding-left: 15px;
}
.brancharea .branch .textarea h4	{
	font-size: 16px;
}
.brancharea .branch .textarea a	{
	background-color: #00479d;
	color: white;
	padding: 5px 30px;
	font-size: 14px;
}

.company.branch .tablearea	{
	width: calc(100% - 130px);
	margin: 0 0 0 130px;
	padding-top: 70px;
}
.company.branch .tablearea div.photo	{
	width: 47.5%;
	padding: 15px 0;
}

.company.branch .tablearea div.text	{
	width: 52.5%;
	padding-left: 50px;
	background-color: #efefef;
	padding: 15px;
}

.company.branch .tablearea div.text h3	{
	font-size: 15px;
	padding-bottom: 15px;
	margin-bottom: 15px;
	border-bottom: 1px solid rgba(0,0,0,0.25);
}

.branch .keyarea .index_box	{
	top: 80%;
}


/*news*/

.newsarea .news	{
	display: inline-table;
	width: 48%;
	margin-bottom: 15px;
	table-layout: fixed;
}

.newsarea .news .imgarea,.newsarea .news .textarea	{
	display: table-cell;
	vertical-align: top;
}

.newsarea .news .imgarea	{
	width: 40%;
}

.newsarea .news .imgarea img	{
	width: 100%;
}
.newsarea .news .textarea	{
	padding-left: 15px;
}
.newsarea .news .textarea h4	{
	font-size: 16px;
}
.newsarea .news .textarea a	{
	background-color: #00479d;
	color: white;
	padding: 5px 30px;
	font-size: 14px;
}

.company.news .tablearea	{
	width: calc(100% - 130px);
	margin: 50px 0 0 130px;
}
.company.news .tablearea div.photo	{
	width: 47.5%;
	padding: 15px 0;
}

.company.news .tablearea div.text	{
	width: 52.5%;
	padding-left: 50px;
	background-color: #efefef;
	padding: 15px;
}

.company.news .tablearea div.text h3	{
	font-size: 15px;
	padding-bottom: 15px;
	margin-bottom: 15px;
	border-bottom: 1px solid rgba(0,0,0,0.25);
}

.news .keyarea .index_box	{
	top: 80%;
}

.company.news .whatsnewcell ul li{
	list-style-type: none;
	line-height: 200%;
}
.company.news .whatsnewcell ul li a	{
	color: #231815;
}

	
/*recruit*/

.recruit header	{
	background-color: white;
}

.recruit #menu	{
	position: fixed;
	right: 15px;
	top: 15px;
	width: 30px;
	height: 30px;
	display: block;
}

.recruit #entry	{
	position: fixed;
	right: 60px;
	top: 15px;
	width: auto;
	height: 30px;
	display: block;
}
.recruit #menu span	{
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 30px;
	height: 30px;
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url(recruit/images/nav_icon.png);
}

.recruit.gnavOpen #menu span	{
	background-image: url(recruit/images/nav_close.png);
}
.recruit #gnav	{
	display: none;
	position: absolute;
	top: 60px;
	left: 0;
	width: 100%;
	background-color: white;
	z-index: 10000;
	padding: 0 100px 15px;
}
.recruit #gnav .gnav_menu	{
	display: table;
	table-layout: fixed;
	border-right: 1px solid #231815;
}

.recruit #gnav .gnav_menu ul	{
	display: table-cell;
	width: 480px;
	padding: 0 0 80px 15px;
	border-left: 1px solid #231815;
}
.recruit #gnav li	{
	list-style-type: none;
	font-size: 16px;
	padding: 15px;
}
.recruit #gnav li a	{
	color: #231815;
}

.recruit #gnav li.submenu a	{
	position: relative;
	font-size: 20px;
	padding-left: 1.5em;
	padding-right: 1.5rem;
}

.recruit #gnav li.submenu a:before	{
	content: "";
	position: absolute;
	display: block;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	height: 1px;
	width: 16px;
	background-color: #00479d;
}
.recruit #gnav img	{
	height: 35px;
	width: auto;
	margin-right: 1em;
}
.recruit .sec	{
	height: 100vh;
	position: relative;
}

.recruit #section1	{
	padding: 60px 50px 50px 50px;
	display: block;
	/*min-height: 100vh;*/
	height: auto;
}

.recruit .sec.infosec	{
	background-color: #0068b7;
}

.recruit.interview .sec.infosec	{
	height: auto;
}
.recruit.interview #section3,.recruit.interview #section7,.recruit.interview #section9	{
	background-color: white;
}

.recruit.interview #section5	{
	background-color: #0093d6;
}
.recruit .sec.picsec	{
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.recruit #section2	{
	background-image: url(recruit/images/sec2back.jpg);
}
.recruit #section4	{
	background-image: url(recruit/images/sec4back.jpg);
}
.recruit #section6	{
	background-image: url(recruit/images/sec6back.jpg);
}
.recruit #section8	{
	background-image: url(recruit/images/sec8back.jpg);
}
.recruit #section10	{
	background-image: url(recruit/images/sec10back.jpg);
}
.recruit #section12	{
	background-image: url(recruit/images/sec12back.jpg);
}
.recruit #section14	{
	background-image: url(recruit/images/sec14back.jpg);
}

.recruit .slidevisual	{
	width: 100% !important;
}

.recruit .slidevisual .cols	{
	display: block;
	vertical-align: top;
	float: left;
	margin: 0;
	padding: 0;
}

div.row2	{
	position: relative;
	top: -2px;
}
div.row3	{
	position: relative;
	top: -3px;
}

.recruit .slidevisual .col2_2	{
	position: relative;
}
.recruit .slidevisual .row1 div.col1_1	{
	width: 34%;
}
.recruit .slidevisual .row1 div.col1_2	{
	width: 25.75%;
}
.recruit .slidevisual .row1 div.col1_3	{
	width: 40.25%;
}
.recruit .slidevisual .row2 div.col2_2	{
	width: 66%;
	position: relative;
}
.recruit .slidevisual .row3 div.col3_1	{
	width: 25.75%;
}
.recruit .slidevisual .row3 div.col3_2	{
	width: 34%;
}
.recruit .slidevisual .row3 div.col3_3	{
	width: 40.25%;
}
.recruit .slidevisual .cols img	{
	margin: 0;
	padding: 0;
	display: block;
	width: 100%;
}

.recruit .slidevisual .col2_2 h1	{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	text-align: center;
	margin: 0;
	padding: 0;
	display: block;
	width: 100%;
	z-index: 100;
	color: white;
	text-shadow: 3px 3px 3px rgba(0,0,0,0.3);
	letter-spacing: 3px;
}

.recruit .sec .inner{
	width: 100vw;
	text-align: center;
}
.recruit.interview .sec.picsec .inner{
	position:absolute;
	text-align: left;
	max-width: 950px;
	width: 100%;
	margin: 0 auto;
	top: 50%;
	left:50%;
	transform: translate(-50%,-50%);
}

.recruit.interview .sec .prof	{
	position: absolute;
	top: 75%;
	left:50%;
	transform: translateX(-50%);
	max-width: 950px;
	width: 100%;
	margin: 0 auto;
}
.recruit.interview .sec .prof p	{
	display:inline-block;
	background-color: rgba(255,255,255,.75);
	padding: 10px;
}

.recruit.interview .sec .prof p b	{
	font-size: 150%;
}
.recruit .sec h1	{
	color: white;
	text-shadow: 1px 1px 3px rgba(0,0,0,0.2),-1px 1px 3px rgba(0,0,0,0.2),1px -1px 3px rgba(0,0,0,0.2),-1px -1px 3px rgba(0,0,0,0.2);
	padding-top: 87px;
}
.recruit .sec h1.black	{
	color: #231815;
	text-shadow: none;
}

.recruit.interview .sec h1	{
	display: inline;
	line-height: 220%;
	text-align: left !important;
	letter-spacing: 3px;
	font-size: 38px;
	font-weight: normal;
}

.recruit.interview .sec h1 span	{
	background-color: rgba(255,255,255,.5);
	padding: 15px;
}

.recruit .sec h1 br	{
	display: inline-block;
	width: 30px;
}
.recruit .sec .inner	{
	position: relative;
	top: 20%;
}

.recruit .sec.picsec .inner img	{
	height: 72px;
	display: block;
	margin: 0 auto 25px;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}


.scrollarea	{
	width: 100%;
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	text-align: center;
}

.scrollarea a img	{
	margin: 0 auto;
}

.recruit .sec.infosec .inner	{
	max-width: 1050px;
	width: 100%;
	padding-left: 50px;
	padding-right: 50px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

.recruit.interview .sec.infosec .inner	{
	position: static;
	top: auto;
	left: auto;
	transform: none;
	margin: 0 auto;
	padding: 100px 0;
}
.recruit .sec.infosec .inner *	{
	color: white;
}

.recruit.interview .sec h1,.recruit.interview .sec.infosec .inner *	{
	color: #231814;
}


.recruit.interview .sec h2	{
	border-bottom: 1px solid #004ba0;
	text-align: left;
	color: #004ba0 !important;
	position: relative;
	padding-left: 85px;
	padding-bottom: 10px;
	font-weight: normal;
	letter-spacing: 3px;
}

.recruit.interview .sec#section5 h2,.recruit.interview .sec.infosec#section5 .inner *	{
	color: white !important;
}

.recruit.interview .sec#section5 h2	{
	border-bottom: 1px solid white;
}

.recruit.interview .sec p	{
	text-align: left;
	padding-left: 85px;
	padding-top: 15px;
}
.recruit.interview .sec h2 img	{
	height: 11px;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.recruit .sec.infosec .missions	{
	display: table;
	width: 100%;
}

.recruit .sec.infosec .missions.w33	{
	width: 33.333%;
	margin-left: auto;
	margin-right: auto;
}

.recruit .sec.infosec .missions.w66	{
	width: 66.666%;
	margin-left: auto;
	margin-right: auto;
}

.recruit .sec.infosec .missions .mission	{
	display: table-cell;
}
.recruit .sec.infosec .missions .mission img	{
	width: 100%;
	margin: 0;
	padding: 0;
	display: block;
}
.recruit .sec.infosec .missions .mission img.msvg	{
	margin: 0 auto;
	width: auto;
	height: 14px;
}

.recruit .sec.infosec .missions .mission hr	{
	width: 150px;
	border: 0;
	border-bottom:1px solid #00a0e9;
	margin: 15px auto;
}

.recruit .sec.infosec .missions .mission h2	{
	font-size: 18px;
}

.recruit .sec.infosec .missions .mission .rec_viewmore img	{
	margin-top: 50px;
	margin-left: auto;
	margin-right: auto;
	width: auto;
}

.recruit footer	{
	background-color: white;
	height: auto;
}

.recruit footer img	{
	width: auto;
	max-width: none;
	height: 31px;
}
.recruit footer .join	{
	background-color: #00a0e9;
	text-align: center;
	padding: 50px 0;
}

.recruit footer .backtop	{
	width: 1040px;
	margin: 45px auto 120px;
	text-align: center;
	border-bottom: 1px solid #c9caca;
	border-top: 1px solid #c9caca;
	padding: 15px 0;
	font-size:14px;
}

.recruit footer .backtop a	{
	color: #231815;
}

.recruit.career #section1	{
	height: 500px;
	margin: 0;
	margin-top: 60px;
	padding: 0;
	width: 100%;
	position: relative;
	background-image: url(recruit/images/career_key.jpg);
	background-position: center top;
}

.recruit.career.ourmarket #section1	{
	background-image: url(recruit/images/market_key.jpg);
}

.recruit.career.rec #section1	{
	background-image: url(recruit/images/rec_title.jpg);
}

.recruit.career.training #section1	{
	background-image: url(recruit/images/rec_tra.jpg);
}

.recruit.career.tohunworld #section1	{
	background-image: url(recruit/images/tw_title.jpg);
}

.recruit.career .mainarea .inner	{
	width: 950px;
	margin: 50px auto;
}

.recruit.career .mainarea .inner .leadtext	{
	font-size: 16px;
}

.recruit.career .mainarea .career1a	{
	width: 100%;
	background-image: url(recruit/images/career_1a.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	text-align: center;
	color: white;
}

.recruit.career .mainarea .career2a	{
	width: 100%;
	background-image: url(recruit/images/career_2a.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	text-align: center;
	color: white;
}
.recruit.career.ourmarket .mainarea .career2a,.recruit.career.training .mainarea .career2a	{
	background-image: none;
}
.recruit.career .mainarea .career2b	{
	width: 100%;
	background-image: url(recruit/images/career_2b.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	text-align: center;
	color: white;
}

.recruit.career .mainarea .career2a .c2titleinner	{
	display: block;
	max-width: 475px;
	width: 100%;
	margin-right: 0;
	margin-left: auto;
}

.recruit.career .mainarea .career2b .c2titleinner	{
	display: block;
	max-width: 475px;
	width: 100%;
	margin-right: auto;
	margin-left: 0;
}

.recruit.career .mainarea .career1a h2,.recruit.career .mainarea .career2a h2,.recruit.career .mainarea .career2b h2	{
	font-size: 38px;
	padding: 70px 0;
}

.recruit.career .mainarea .innertable	{
	display: table;
	width: 100%;
	table-layout: fixed;
}
.recruit.career.ourmarket .mainarea .innertable.rtl	{
	 direction: rtl;
}

.recruit.career .mainarea .innertable	{
}

.recruit.career .mainarea .innertable .innertablecol	{
	display: table-cell;
	vertical-align: top;
	 direction: ltr;
}
.recruit.career .mainarea .innertable .innertablecol .innertablecell	{
	position: relative;
	max-width: 475px;
	width: 100%;
}

.recruit.career .mainarea .innertable.rtl .innertablecol .innertablecell	{
	max-width: 400px;
}
.recruit.career .mainarea .innertable .innertablecol .innertablecell img	{
	max-width: 250px;
	width: 100%;
	margin-bottom: 90px;
}

.recruit.career.ourmarket .mainarea .innertable .innertablecol .innertablecell img	{
	max-width: none;
	width: auto;
	margin-bottom: auto;
	height: 88px;
	margin-bottom: 30px;
}
.recruit.career.ourmarket .mainarea .innertable .innertablecol .innertablecell h2	{
	color: #00479d;
}
.recruit.career .mainarea .innertable .innertablecol .innertablecell .data	{
	display: block;
	position: absolute;
	top: 50px;
	left: 205px;
	width: 195px;
	background-color: white;	
}

.recruit.career .mainarea .innertable .innertablecol .innertablecell .data h3	{
	padding: 10px 25px;
	font-size: 18px;
	color: white;
	background-color: #15aaa0;
}

.recruit.career .mainarea .innertable .innertablecol.c1a .innertablecell .data h3	{
	background-color: #15aaa0;
}

.recruit.career .mainarea .innertable .innertablecol.c1b .innertablecell .data h3	{
	background-color: #466da2;
}

.recruit.career .mainarea .innertable .innertablecol.c2a .innertablecell .data h3	{
	background-color: #ca4945;
}

.recruit.career .mainarea .innertable .innertablecol.c2b .innertablecell .data h3	{
	background-color: #3f4143;
}

.recruit.career .mainarea .innertable .innertablecol .innertablecell .data p	{
	padding: 20px 0 20px 25px;
	height: 144px;
	line-height:1.6;
}

.recruit.career.ourmarket .mainarea .innertable .innertablecol .innertablecell  p	{
	padding: 20px 0;
	height: auto;
	max-width: 324px;
}

.recruit.career .mainarea .innertable .innertablecol .innertablecell .data a.button	{
	display: block;
	margin: 0 25px;
	padding: 10px 0;
	text-align: center;
	border: 1px solid #231815;
	border-radius: 20px;
	font-size: 11px;
	color: #231815;
}

.recruit.career .mainarea .innertable .innertablecol.c2b .innertablecell	{
	margin-left: 45px;
	margin-bottom: 50px;
}
.recruit.career .mainarea .innertable.rtl .innertablecol.c2b .innertablecell	{
	margin-right: 0;
	margin-left: auto;
}
.recruit.career .mainarea .innertable .innertablecol:first-child .innertablecell	{
	margin-right: 0;
	margin-left: auto;
}

.recruit.career.rec table	{
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: 15px;
	width: 100%;
}
.recruit.career.rec table th,.recruit.career.rec table td	{
	vertical-align: top;
	font-size: 16px;
	padding: 15px 0;
	line-height: 250%;
}
.recruit.career.rec table th	{
	width: 20%;
}
.recruit.career.rec table th span	{
	border: 1px solid #003f75;
	color: #003f75;
	display: block;
	text-align: center;
}

.recruit.career.rec table td	{
	border-bottom: 1px solid #231814;
}

.recruit.career.rec table tr.noborder td	{
	border-bottom: 0;
}
.recruit.career.rec table td b	{
	color: #003f75;
	font-weight: normal;
}
.recruit.interview #section9	{
	background-color: transparent;
}
.recruit.interview #section9 .inner	{
	padding: 0 0 100px;
}
.recruit.interview .box	{
	width: 80%;
	padding:  50px 30px;
	background-color: white;
	box-shadow: 2px 2px 10px #999999;
	text-align: left;
}
.recruit.interview .box1{
	padding: 50px 30px 100px;
	margin-top: -150px;
}

.recruit.interview .box1 p	{
	width: 60%;
	text-align: left;
	padding-left: 0;
}
.recruit.interview .box1 img,.recruit.interview .box2 img	{
	height: 30px;
}

.recruit.interview .box2{
	margin:-80px 0 0 auto;
}
.recruit.interview .box2 table{
	width:100%;
}
.recruit.interview .box2 table th{
	width:12%;
}
.recruit.interview .box2 table th,.recruit.interview .box2 table td{
	border-bottom:1px dashed #999;
	padding:10px;
}

.recruit.career.training .mainarea .innertable .innertablecol.c2b .innertablecell	{
	margin-bottom: 0;
}
.recruit.training .mainarea .inner h2,.recruit.training .mainarea .inner h3	{
	color: #00479d;
}

.recruit.training .mainarea .inner h2	{
	font-size: 32px;
}

.recruit.training .mainarea .inner h3	{
	font-size: 16px;
}

.recruit.training .mainarea .inner .traintable	{
	width: calc(100% + 30px);
	margin-left: -15px;
	display: table;
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: 15px 0;
}
.recruit.training .mainarea .inner .traintable .traintablecell	{
	display: table-cell;
	vertical-align: top;
	width: 33.333%;
	padding: 30px 12px;
	background-color: #e6ebee;
}
.recruit.training .mainarea .inner .traintable .traintablecell h3	{
	font-size: 24px;
}
.recruit.training .mainarea .inner .traintable .traintablecell h4	{
	display: block;
	height: 2em;
}
.recruit.training .mainarea .inner .traintable .traintablecell h4 span	{
	font-size: 14px;
	font-weight: normal;
}

.recruit.training .mainarea .inner.schedule table	{
	width: 100%;
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: 15px;
	border: 1px solid #d3dee5;
	margin: 15px 0;
}

.recruit.training .mainarea .inner.schedule table th	{
	width: 15%;
	background-color: #eb6ea5;
	color: white;
	vertical-align: top;
	padding: 0 10px;
}
.recruit.training .mainarea .inner.schedule table:nth-child(4) th	{
	background-color: #3eb370;
}
.recruit.training .mainarea .inner.schedule table:nth-child(5) th	{
	background-color: #00afec;
}

.recruit.training .mainarea .inner.schedule table td:first-of-type	{
	vertical-align: top;
	width: 35%;
	font-weight: bold;
}

.tohunworld .pagelistarea	{
	display: flex;
	flex-wrap: wrap;
	margin-left: 0;
	margin-top: 100px;
}
.tohunworld .pagelistarea .childpage	{
	width: 33%;
	text-align: right;
	margin-left: 0.166%;
	margin-right: 0.166%;
}

.tohunworld .pagelistarea .childpage .imgarea	{
	position: relative;
}

.tohunworld .pagelistarea .childpage .imgarea h2	{
	position: static;
	display: block;
	color: #00479d;
	width: 95%;
	background:none;
	text-align: left;
	font-size: 16px;
	line-height: 1;
	margin-bottom: 0;
	padding: 12px 15px;
}

.tohunworld .pagelistarea .childpage .imgarea h2 .eurostyle img	{
	height: 30px;
	margin-top: -3px;
	margin-right: 5px;
}

.tohunworld .viewmore	{
	width: 70%;
	border: 1px solid #231815;
	padding: 10px 0;
	border-radius: 30px;
	text-align: center;
	margin:  15px auto 30px;
	display: block;
	font-size: 14px;
}

.tohunworld .viewmore:before	{
	display: none;
}

.recruit.career.tohunworld .mainarea .career1a	{
	width: 100%;
	height: 400px;
	background-image: url(recruit/images/tw_sp.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	text-align: center;
	color: white;
}

.recruit.career.tohunworld .mainarea .innertable .innertablecol .innertablecell p	{
	max-width: 400px;
}
.recruit.career.tohunworld .mainarea .stagewrap	{
	position: relative;
}
.recruit.career.tohunworld .mainarea .stage3	{
	position: absolute;
	bottom: 25px;
	width: 100%;
}
.recruit.career.tohunworld .mainarea .stage3 .stage	{
	display: block;
	border-bottom: 1px solid #231815;
	padding: 15px 0;
}
.recruit.career.tohunworld .mainarea .stage3 .stage .imgarea	{
	width: 100px;
	display: inline-block;
}
.recruit.career.tohunworld .mainarea .stage3 .stage img	{
	height: 12px;
	display: inline-block;
}

.recruit.career.tohunworld .mainarea .stage3 .stage h3	{
	font-size: 27px;
	display: inline-block;
}
.recruit.career.tohunworld .mainarea .career1a.img_overflow_half	{
	position: relative;
}

.recruit.career.tohunworld .mainarea .career1a.img_overflow_half img	{
	position: absolute;
	right: 0;
	bottom: 150px;
	width: 40%;
}
.recruit.career.tohunworld .mainarea .career1a.tw_mv	{
	background-image: url(recruit/images/tw_mv.jpg);
	height: 500px;
}

.recruit.career.tohunworld .mainarea .career1a.tw_pr	{
	background-image: url(recruit/images/tw_pr.jpg);
	height: 500px;
}

.recruit.career.tohunworld .mainarea .career1a.tw_su	{
	background-image: url(recruit/images/tw_su.jpg);
	height: 500px;
}

.recruit.career.ourmarket .mainarea .innertable .innertablecol .innertablecell img.staffthumb	{
	width: 33%;
	height: auto;
}

.divimg	{
	margin-left: 120px;
}
@media screen and (max-width: 960px)	{
	.divtable	{
		display: block;
		width: 100%;
		margin-left: 0;
	}
	.divimg	{
		margin-left: 0;
	}
	
	body:not(.recruit) #gnav ul li a	{
		font-size: 4vw;
	}
	body:not(.recruit) #gnav ul li ul li a	{
		font-size: 2.8vw;
	}
	*	{
		box-sizing: border-box;
	}
	
	.pc	{
		display: none !important;
	}
	.sp	{
		display: block !important;
	}
	p,li,dt,dd,th,td	{
		font-size: 2.6vw;
	}
	
	img.subtitle_sc {
		max-width: 40vw;
		height: auto;
	}
		
	img.subtitle_merit {
		max-width: 20vw;
		height: auto;
	}
	

	.fs18	{
		font-size: 3.5vw !important;
	}
	.fs24	{
		font-size: 4vw !important;
	}
	header	{
		width: 100vw;
	}
	header nav ul	{
		display: none;
	}
	.gnav_wrap	{
		position: fixed;
		display: block;
		top: 0;
		left: 0;
		width: 100%;
		height: auto;
		z-index: 100000;
	}
	.keyarea .whatsnew	{
		width:calc(100% - 50px);
		background-color: white;
		position: absolute;
		bottom: 0;
		left: 0;
		max-height: 25vh;
		height: 100%;
		margin-bottom: 0;
	}
	
	.keyarea	{
		height: 90vh;
		margin-bottom: 10vh;
	}
	
	.keyarea .whatsnew	{
		bottom: -10vh;
	}
	.keyarea .whatsnew .whatsnewinner	{
		width: 100%;
		table-layout: fixed;
	}
	
	.keyarea .whatsnew .whatsnewinner .whatsnewcell:first-of-type	{
		width:  50px;
		text-align: center;
	}
	
	.keyarea .whatsnew .whatsnewinner .whatsnewcell ul	{
		padding: 0 15px 0 0;
		margin-bottom: 0;
	}
	.keyarea .whatsnew .whatsnewinner .whatsnewcell ul li{
		margin:0 0 10px 0;
	}
	.keyarea .whatsnew .whatsnewinner .whatsnewcell ul li .date{
		display: block;
		margin:0;
	}
	.keyarea .whatsnew .whatsnewinner .whatsnewcell ul li a	{
		padding: 0;
	}

	.keyarea	{
		height: 80vh;
		width: 100%;
		position: relative;
	}
	
	.key_after	{
		display: block;
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		width: 0;
		height: 100%;
		z-index: -1;
		overflow-x: hidden;
	}
	
	.key_after .slider	{
	/*	left: 50%;
		transform: translateX(-50%);
	*/	width: 100vw;
		height: 80vh !important;
		max-width: none;
		height: auto;
	}
	
	.key_after .slider .titlearea	{
		margin-left: 15px;
	}
	
	.key_after .slider .slidechild .titlearea h1	{
		font-size: 5vw;
	}
	.key_after .slider .slidechild .titlearea p	{
		font-size: 10px;
		line-height: 240%;
	}
	
	.key_after .slider .slidechild .keylasttext	{
		width: 80%;
	}
	.keyarea .whatsnew .whatsnewinner	{
		width: 100%;
		position: absolute;
		top: 50%;
		left:  0;
		transform: translateY(-50%);
	}
	
	.mainarea	{
		margin-bottom: 400px;
	}

	.separator	{
		height: calc(20vh + 50px);
		overflow: hidden;
		text-align: center;
		position: relative;
		margin-bottom: 50px;
	}
	
	.separator img	{
		height: 70vh;
		width: auto;
		max-width: none;
		position: absolute;
		right: -20%;
	}
	.separator.after_r .after	{
		left: 50px;
		bottom: 0;
		top: auto;
		width: 100vw;
	}
	
	.index_title	{
		top: 100px;
	}
	
	.index_l	{
		display: block;
		background-size: cover;
		left: 50px;
		height: 600px;
		width: calc(100% - 50px);
		margin-bottom: 100px;
	}
	
	.index_r	{
		display: block;
		background-size: cover;
		left: 0;
		height: 600px;
		width: calc(100% - 50px);
		margin-bottom: 100px;
	}
	.after_l .after,.after_r .after,.after_both .after	{
		content: '';
		position: absolute;
		width: 100%;
		height: 100%;
		top: 50px;
		left: 50px;
		display: block;
		background-color: #dcdddd;
		z-index: -1;
	}
	.after_l .after	{
		left: -50px;
	}
	
	.after_both .after	{
		left: 0;
		right: 0;
		top: 50px;
		width: 100%;
		height: calc(100% - 100px);
	}
	
	.index_l .index_title	{
		left: -35px;
	}
	.index_r .index_title	{
		left: auto;
		right: -35px;
	}
	.index_l.index_company .index_title	{
		left: -85px;
	}

	
	.index_l.index_company	{
		left: 100px;
		width: calc(100% - 100px);
	}
	
	.index_box	{
		display: block;
		position: absolute;
		bottom: 0;
		width: calc(100% - 50px);
		height: 240px;
		background:linear-gradient(90deg, rgba(0,160,233,0.8),rgba(84,195,241,0.8));
		box-sizing: border-box;
		color: white;
	}
	
	.index_vision	{
		background-image: url(images/index_vision.jpg);
		background-position: right 70% center;
	}
	
	.index_box .above_hr	{
		padding: 20px 0 20px 24px;
		font-size: 4vw !important;
	}
	
	.index_box .beyond_hr	{
		padding: 15px 24px 0;
		font-size: 3.5vw;
		line-height: 150%;
	}
	
	.index_box .beyond_hr br	{
		display: none;
	}
	
	.index_company .index_box	{
		bottom: 100px;
		left: -50px;
	}
	.index_box.width_full	{
		display: flex;
		flex-wrap: wrap;
	}
	.index_box.width_full .index_company_block	{
		width: 50%;
	}
	
	.index_box.width_full .index_company_block .above_hr	{
		font-size: 2.9vw !important;
		padding: 15px 0 15px 5px;
		letter-spacing: -1px;
	}
	
	.index_box.width_full .index_company_block .beyond_hr	{
		padding: 2vw 2vw 2vw 2vw;
	}
	.index_box.width_full .index_company_block .beyond_hr a:before	{
		width: 10vw;
		left: -12vw;
	}
	.index_box.width_full .index_company_block hr	{
		display: none;
	}
	.shinsotsu .index_box img,.chuto .index_box img	{
		width: 30vw;
	}
	
	.index_recruit_inner .index_box .beyond_hr	{
		padding: 15px 24px;
		font-size: 4vw;
	}
	.index_vision	{
		background-image: url(images/index_vision.jpg);
	}
	
	.index_recruit	{
		background-image: none;
		width: 100%;
	}
	
	.index_recruit_inner	{
		height: 45vh;
	}
	
	.index_recruit_inner.shinsotsu,.index_recruit_inner.chuto	{
		width: calc(100% - 150px);
		background-size: cover;
		background-position: center center;
	}
	.index_recruit_inner.shinsotsu	{
		margin-left: 50px;
	}
	.index_recruit_inner.chuto	{
		margin-left: 100px;
	}
	.index_recruit_inner hr	{
		width: 90% !important;
	}
	.index_r.index_recruit .index_title	{
		right: -85px;
	}
	footer	{
		height: 200px;
	}

	footer .pagetop	{
		position: absolute;
		top: -160px;
		width: 11px;
		left: 20px;
	}

	footer .footernav	{
		width: calc(100% - 50px);
		top: -160px;
	}
	
	footer .footernav .footer_inner	{
		left: 0;
	}
	
	footer .footernav ul li	{
		padding-bottom: 0;
	}
	footer p	{
		padding-left: 50px;
		padding-top: 160px;
	}
	
	/*sub*/
	
	.sub .mainarea .leadarea	{
		width: calc(100% - 50px);
		padding-bottom: 200px;
	}
	
	.mainarea .leadarea .leadareainner	{
		padding-left: 15px;
	}
	.leadareacell	{
		padding-right: 15px;
	}
	.leadareacell hr	{
		width: 150px;
		margin: 25px auto 25px 0;
	}
	.change2030	{
		position: relative;
		max-width: none;
		width: 100%;
		margin-top: 0px;
		margin-bottom: 50px;
	}
	.vision .keyarea	{
		background-position: right 70% center;
	}
	.keyarea .index_box	{
		padding: 30px 30px 30px 50px;
	}
	
	.block_box .blockboximg, .block_box .blockboxinfo	{
		width: calc(100% - 50px);
	}
	
	.block_box .blockboxinfo	{
		padding: 0;
		height: auto;
	}
	.sub .keyarea .index_box	{
		padding: 25px 50px;
	}
	.sub .keyarea .index_box img	{
		height: 6vw;
		width: auto;
	}
	
	.sub .keyarea .index_box .title_csr	{
		height: 7vw;
	}
	.sub .keyarea .index_box h1	{
		line-height: 1;
	}
	.sub .keyarea .index_box h2	{
		font-size: 4vw;
		padding-top: 0;
		padding-right: 0;
	}
	
	.sub .mainarea	{
		padding-bottom: 50px;
		margin-bottom: 100px;
	}
	.block_box	{
		margin-top: 50px;
	}
	.block_box .blockboximg img	{
		margin: 0;
	}
	.block_box .blockboxinfo	{
		padding: 25px 15px;
		margin-top: 40%;
		z-index: 10;
	}
	
	.sub.vision .block_box .blockboxinfo.green	{
		padding: 25px 15px;
	}

	.block_box .blockboxinfo h2	{
		font-size: 4.5vw;
		line-height: 5.4vw;
	}
	.block_box .blockboxinfo h2 br	{
		display: none;
	}
	.block_box .blockboxinfo hr	{
		width: 20vw;
		margin: 0 0 10px;
	}
	.block_box .blockboxinfo .subtitle_sc	{
		height: 12vw;
	}
	.subtitle_q	{
		height: 4vw;
	}
	.block_box .blockboxinfo .subtitle_merit	{
		height: 6vw;
	}
	.leadarea .img_overflow	{
		width: 100vw;
		margin-left: 0 !important;
	}
	
	.change2030	{
		height: auto;
		padding: 0;
	}
	
	.change2030imgarea	{
		width: 100%;
	}
	
	.change2030imgarea img	{
		width: 50%;
	}
	.basetext	{
		margin: 0 15px;
	}
	.sub h2	{
		font-size: 4vw;
	}
	.leaddl dt,.leaddl dd	{
		float: none;
		display: block;
		padding: 0;
		font-size: 4vw;
	}
	
	.leaddl dt	{
		margin-bottom: 25px;
	}
	
	.leaddl dd br	{
		display: none;
	}
	
	.business_image	{
		margin-left: 50px;
		margin-right: 50px;
		border: 0 !important;
	}
	
	
	.business_image h2	{
		padding-left: 0;
	}
	
	.business_image hr	{
		width: 100px;
	}
	
	.business_image img.businessimage_img	{
		margin-top: 15px;
	}
	.pagelistarea	{
		margin-left: 15px;
	}
	
	.pagelistarea .childpage	{
		width: 50%;
	}
	
	.pagelistarea .childpage .imgarea h2	{
		font-size: 3.5vw;
		letter-spacing: -1px;
	}
	
	.csr .pagelistarea	{
		width: calc(100% - 50px);
	}
	
	.csr .pagelistarea .childpage .imgarea h2	{
		padding-right: 0;
		letter-spacing: -1px;
		font-size: 3vw;
		padding-left:5px;
	}
	
	.viewmore	{
		font-size: 3vw;
	}
	
	.viewmore:before	{
		left: -40px;
		
	}
	
	.separate_img	{
		width: 100%;
		margin-left: 0;
	}
	.sub .leadareacell p	{
		font-size: 3.5vw;
		margin-top: 25px;
		margin-bottom: 50px;
	}
	.block_box .blockboxinfo h3.mb50	{
		margin-bottom: 25px;
	}
	.block_box .blockboxinfo th, .block_box .blockboxinfo td	{
		display: block;
		height: auto;
	}
	
	.block_box .blockboxinfo td	{
		padding: 0 0 15px;
		font-size: 3.5vw;
	}
	.block_box .blockboxinfo p	{
		font-size: 3.5vw;
	}
	.bbflex	{
		flex-direction: column;
		width: 100%;
	}
	
	.solution .bbflex .flexchild.fc50	{
		width: 100%;
		
	}
	
	.solution01 .block_box .blockboxinfo	{
		margin-top: 80%;
	}
	
	.linear_box	{
		padding: 15px;
	}
	.linear_box table tr {
		display: block;
	}
	.linear_box table tr th, .linear_box table tr td	{
		display: block;
		width: 100%;
		font-size: 3.5vw;
		padding: 0;
	}
	
	.block_box.bbex .blockboxinfo	{
		margin-top: 50%;
		margin-bottom: 0;
	}
	.quality .tablearea	{
		margin-right: 0;
	}
	
	.block_box.bbex+.block_box	{
		margin-top: 0;
	}
	
	.linear_box table tr th br, .linear_box table tr td br	{
		display: inline-block;
	}
	.csr01 .block_box .blockboxinfo h2	{
		font-size: 5vw;
		letter-spacing: -1px;
	}
	.csr01 .block_box .blockboxinfo h2 .subtext	{
		font-size: 3vw;
	}	

	.csr01 .block_box .blockboxinfo p	{
		font-size: 3vw;
	}
	.csr01 .block_box .blockboximg	{
		width: 90%;
		top: 50%;
	}
	.csr02 .dlimg	{
		margin-left: 0;
		max-width: none;
		width: 100%;
	}
	
	.csr02 .leaddl.dx	{
		margin: 0 -15px;
		width: calc(100% + 30px);
	}
	
	.csr02 .ddbbox .blockboximg, .csr02 .ddbbox .blockboxinfo	{
		width: calc(100% - 50px);
	}
	
	.csr02 .ddbbox .blockboxinfo	{
		padding: 15px;
		margin-top: 55%;
	}
	
	.csr03 .leadarea .img_overflow	{
		width: calc(100% - 30px);
		margin-left: 0 !important;
	}
	.csr03 .img_overflow .blockboximg	{
		width: calc(100% + 15px);
	}
	.csr03 .img_overflow .blockboximg img	{
		max-width: none;
		width: 100%;
	}
	.csr03 .img_overflow .blockboxinfo	{
		right: -30px;
		width: calc(100% + 15px);
		
	}
	
	.csr02 .pagelistarea, .csr03 .pagelistarea	{
		padding-top: 0;
		margin-top: 0;
	}
	
	.csr_image	{
		background-position: center center;
		height: auto;
		padding: 30vh 0;
	}
	
	.csr_image img	{
		position: static;
		top: auto;
		left: auto;
		transform: none;
		width: calc(100% - 100px);
		margin-left: 50px;
		margin-right: 50px;
	}
	
	.csr_image img.w66p	{
		width: calc(75% - 100px) !important;
	}
	.csr_image .csrimg_inner	{
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		margin-left: 50px;
	}
	.csr_image .csrimg_inner img	{
		margin: 10px 0 10px;
	}
		
	.csr04 .ecop_wrap	{
		height: auto;
		margin-left: 0 !important;
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center bottom;
	}
	.ecop_h2	{
		margin-left: 15px;
	}
	
	.co2data,.co2data .co2datachild	{
		display: block;
		position: relative;
	}
	
	.csr04 .ecop	{
		height: auto;
		position: relative;
		width: calc(100% - 30px);
		left: 15px;
		margin-right: -15px;
	}
	.csr04 .ecop h3	{
		font-size: 4vw;
	}
	.csr04 .ecop_wrap:after	{
		content: "";
		height: 100%;
		width: calc(100% - 30px);
		left: 15px;
	}
	.co2datachild table th	{
		width: 100%;
	}
	.co2datachild	{
		width: 100%;
	}
	.co2datachild h4.mb50	{
		margin-bottom: 25px;
	}
	.co2datachild table,.co2datachild table tr,.co2datachild table th,.co2datachild table td	{
		display: block;
	}
	
	.co2datachild table td	{
		padding-left: 15px;
		font-size: 3.5vw;
	}

	.co2datachild p	{
		font-size: 3.5vw;
	}
	.csr04 .business_image	{
		padding: 15px;
		margin-right: 0;
		margin-left: 0;
	}
	
	.csr04 .business_image.bi2	{
		width: calc(100% + 30px);
		margin-left: -15px;
	}
	.csr04 .business_image hr	{
		width: 210px;
	}
	
	.csr04 .business_image h2,.csr04 .business_image h3	{
		font-size: 4vw;
	}
	.csr04 .business_image .table .icons, .csr04 .business_image .table .texts	{
		display: block;
	}
	.csr04 .business_image .table:first-of-type .icons	{
		width: 100%;
		margin-bottom: 25px;
	}
	
	.csr04 .business_image .table .icons	{
		width: 100%;
	}

	.csr04 .business_image .table .icons img	{
		width: 100%;
	}
	.csr04 .business_image .table .icons img.w33p	{
		width: 33.333%;
	}
	.csr04 .business_image .table .texts h3	{
		font-size: 3.8vw;
	}
	.csr04 .business_image p	{
		font-size: 3.5vw;
	}	
	.leadareainner.sdgs	{
		background-position: right bottom;
		background-size: calc(100% - 50px);
	}
	.leadareainner.sdgs dd.fs13	{
		padding-left: 0;
		width: 100%;
		padding-right: 50px;
		padding-bottom: 25vh;
	}
	
	.leadareainner.sdgs dd.fs13 hr	{
		width: 100px;
	}
	
	.company .tablearea,.company .tablearea div.photo, .company .tablearea div.text	{
		display: block;
		margin:0;
	}
	.sub .leadareacell p.text-right	{
		letter-spacing: -1px;
	}
	.company .tablearea div.photo, .company .tablearea div.text	{
		padding: 0 15px 25px;
	}
	.company .tablearea,.company .tablearea div.photo img	{
		width: 100%;
	}
	.company .tablearea p	{
		font-size: 3.5vw;
	}
	.company .mr130	{
		margin-right: 0;
	}	
	.company .pagelistarea .childpage .imgarea h2	{
		font-size: 3vw;
		letter-spacing: -1px;
		padding-right: 0;
		padding-left: 5px;
	}
	
	.company_profile	{
		width: 100%;
	}
	.company_profile th	{
		width: 80px;
		font-size: 3.3vw;
		letter-spacing: -1px;
	}
	.company_profile td	{
		font-size: 3vw;
	}
	
	.company02 .mainarea .leadarea .leadareainner,
	.company03 .mainarea .leadarea .leadareainner,
	.company04 .mainarea .leadarea .leadareainner
		{
		padding-left: 25px;
	}
	.company03 .mainarea .leadarea .leadareainner	{
		padding-right: 25px;
	}
	.company03 .mainarea .leadarea .leadareainner .leadareacell	{
		padding-right: 0;
	}
	.company02 .mainarea .leadarea .leadareainner .leadareacell,
	.company04 .mainarea .leadarea .leadareainner .leadareacell	{
		padding-right: 25px;
	}
	.company_profile td,
	.company_profile td ul li	{
		font-size: 3vw !important;
		width: 100%;
	}
	.company_profile td .lifoot	{
		padding-left: 0;
	}
	.company table.yakuin	{
		display: block;
		width: calc(100% + 50px);
	}
	
	.company table.yakuin tr,.company table.yakuin tr th, .company table.yakuin tr td	{
		display: block;
		width: 42.5vw;
	}
	
	.company table.yakuin tr th	{
		font-size: 3vw;
		padding: 15px 0 0;
	}
	.company table.yakuin tr td	{
		font-size: 3vw;
		padding: 0 0 15px;
	}
	
	.maparea	{
		padding-right: 0;
		margin-right: -25px;
		height: 40vh;
		margin-bottom: 100px;
	}
	.maparea iframe	{
		height: 40vh;
	}
	
	.company03 .leaddl dd	{
		font-size: 4vw;
	}
	
	.company03 .company_profile th	{
		width: 55%;
		letter-spacing: -1px;
		font-size: 3vw;
	}
	.company03 .company_profile tr td:first-of-type	{
		width: 15%;
		font-size: 2.5vw;
	}
	
	.company04 .mainarea ul	{
		width: 100%;
		display: inline;
	}
	.company04 .mainarea ul li	{
		width: 48%;
		display: inline-block;
	}
	
	.company04 .mainarea .leadarea .leadareainner .leadareacell img.mb50	{
		margin-top: 25px;
	}
	.areatable	{
		display: block;
		width: calc(100% + 25px);
	}
	.areatable tr	{
		padding: 5px;
		display: block;
		position: relative;
	}
	.areatable th, .areatable td	{
		display: block;
		padding: 0;
	}
	.areatable td	{
	}
	.areatable td:last-of-type	{
		position: absolute;
		right: 0;
		top: 5px;
		height: 100%;
	}
	.areatable tr td.gmap	{
		padding-left: 10px;
		background-color: white !important;
	}
	.areatable td br	{
		display: inline-block;
	}
	
	.areatable th	{
		clear: both;
	}
	.recruit .sec	{
	height: 80vh;
	position: relative;
	}
	
	.recruit #section2	{
	background-image: url(recruit/images/sec2back_sp.jpg);
	}
	.recruit #section4	{
	background-image: url(recruit/images/sec4back_sp.jpg);
	}
	.recruit #section6	{
	background-image: url(recruit/images/sec6back_sp.jpg);
	}
	.recruit #section8	{
	background-image: url(recruit/images/sec8back_sp.jpg);
	}
	.recruit #section10	{
	background-image: url(recruit/images/sec10back_sp.jpg);
	}
	.recruit #section12	{
	background-image: url(recruit/images/sec12back_sp.jpg);
	}
	.recruit #section14	{
	background-image: url(recruit/images/sec14back_sp.jpg);
	}
	
	
	.recruit #section1	{
		padding: 60px 15px 15px 15px;
		display: block;
	}
	
	
	.recruit .slidevisual .row1 div.col1_1	{
		width: 34%;
		display: none;
	}
	.recruit .slidevisual .row1 div.col1_2	{
		width: 39%;
	}
	.recruit .slidevisual .row1 div.col1_3	{
		width: 61%;
	}
	.recruit .slidevisual .row2 div.col2_2	{
		width: 100%;
	}
	.recruit .slidevisual .row3 div.col3_1	{
		width: 25.75%;
		display: none;
	}
	.recruit .slidevisual .row3 div.col3_2	{
		width: 45.8%;
	}
	.recruit .slidevisual .row3 div.col3_3	{
		width: 54.2%;
	}
	.recruit .sec.picsec .inner img	{
		height: 48px;
	}
	
	.recruit .sec.infosec .missions	{
		display: block;
		width: 100%;
	}
	
	.recruit .sec.infosec .missions.w33	{
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	
	.recruit .sec.infosec .missions.w66	{
		width:  100%;
		margin-left: auto;
		margin-right: auto;
	}
	.recruit .sec.infosec	{
		
	}
	
	.recruit #section3	{
		min-height: 100vh;
	}
	.recruit #section3.sec.infosec .missions .mission	{
		display: table;
		table-layout: fixed;
	}
	.recruit #section3.sec.infosec .missions .mission .mobcol	{
		display: table-cell;
		vertical-align: top;
		width:  40%;
	}
	.recruit #section3.sec.infosec .missions .mission .mobcol:last-of-type	{
		padding-left: 15px;
		width:  60%;
	}
	.recruit footer .backtop	{
		width: 100%;
	}
	
	.recruit .sec.infosec .missions .mission h2	{
		font-size: 3vw;
	}
	.recruit #section5.sec.infosec .missions .mission	{
		display: block;
	}
	
	.recruit #section3.sec.infosec .missions .mission	{
		width: 100%;
		position: relative;
		overflow: hidden;
	}
	
	.recruit.recruit_top .sec.infosec .missions .mission img	{
		width: 100%;
	}
	.recruit #section3.sec.infosec .missions .mission .mobcol	{
		text-align: right;
	}
	.recruit #section7.sec.infosec .missions	{
		height: 50vh;
		overflow: hidden;
		background-image: url(recruit/images/sec7_1.jpg);
		background-size: cover;
		background-position: right center;
		background-repeat: no-repeat;
	}
	.recruit #section7.sec.infosec .missions .mission img	{
		display: none;
	}
	
	.recruit #section13.sec.infosec .missions.w66	{
		width: calc(100% + 100px);
		margin-left: -50px;
	}
	
	.recruit #section13.sec.infosec .missions.w66 .rec_viewmore img	{
		width: 80%;
	}
	
	.recruit.career #section1	{
		height: 90vh;
		background-size: cover;
	}
	.recruit.career .mainarea .inner	{
		width: 100%;
		margin: 50px auto;
		padding: 0 25px;
	}
	
	.recruit.career .mainarea .innertable	{
		display: block;
		width: 100%;
		table-layout: fixed;
	}
	
	.recruit.career .mainarea .innertable .innertablecol	{
		display: block;
		vertical-align: top;
	}
	.recruit.career .mainarea .innertable .innertablecol .innertablecell	{
		position: relative;
		max-width: none;
	}
	.recruit.career .mainarea .innertable .innertablecol .innertablecell .data	{
		left: 35vw;
	}
	
	.recruit.career .mainarea .wideinner	{
		padding: 0 25px;
	}
	
	.vision .keyarea	{
		background-image: url(vision/images/vision_key.jpg);
		background-position: right -25vw bottom;
	}
	
	.solution00 .keyarea	{
		background-image: url(solution/images/key_sol0_mob.jpg);
		background-position: center bottom;
	}
	
	.solution01 .keyarea	{
		background-image: url(solution/images/key_sol1_mob.jpg);
		background-position: center bottom;
	}
	
	.solution02 .keyarea	{
		background-image: url(solution/images/key_sol2_mob.jpg);
		background-position: center bottom;
	}
	
	.solution03 .keyarea	{
		background-image: url(solution/images/key_sol3_mob.jpg);
		background-position: center bottom;
	}
	
	.solution04 .keyarea	{
		background-image: url(solution/images/key_sol4_mob.jpg);
		background-position: center bottom;
	}
	
	.solution05 .keyarea	{
		background-image: url(solution/images/key_sol5_mob.jpg);
		background-position: center bottom;
	}
	
	.solution06 .keyarea	{
		background-image: url(solution/images/key_sol6_mob.jpg);
		background-position: center bottom;
	}
	
	.solution07 .keyarea	{
		background-image: url(solution/images/key_sol7_mob.jpg);
		background-position: center bottom;
	}
	
	.quality .keyarea	{
		background-image: url(quality/images/key_qua_mob.jpg);
		background-position: center bottom;
	}
	
	.csr01 .keyarea	{
		background-image: url(csr/images/key_csr1_mob.jpg);
		background-position: center bottom;
	}
	
	.csr02 .keyarea	{
		background-image: url(csr/images/key_csr2_mob.jpg);
		background-position: center bottom;
	}
	
	.csr03 .keyarea	{
		background-image: url(csr/images/key_csr3_mob.jpg);
		background-position: center bottom;
	}
	
	.csr04 .keyarea	{
		background-image: url(csr/images/key_csr4_mob.jpg);
		background-position: center bottom;
	}
	
	.company01 .keyarea	{
		background-image: url(company/images/key_com1_mob.jpg);
		background-position: center bottom;
	}
	
	.company02 .keyarea	{
		background-image: url(company/images/key_com2_mob.jpg);
		background-position: center bottom;
	}
	
	.company03 .keyarea	{
		background-image: url(company/images/key_com3_mob.jpg);
		background-position: center bottom;
	}
	
	.company04 .keyarea	{
		background-image: url(company/images/key_com4_mob.jpg);
		background-position: center bottom;
	}
	
	.recruit.career.tohunworld #section1	{
		background-image: url(recruit/images/tw_mob.jpg);
	}
	
	.tohunworld .pagelistarea .childpage	{
		width: 49.5%;
		margin-left: 0.25%;
		margin-right: 0.25%;
	}
	
	.tohunworld .viewmore	{
		padding: 5px 0;
	}
	
	.recruit.career.tohunworld .mainarea .career1a	{
		margin-bottom: 50px !important;
	}
	.recruit.career.tohunworld .mainarea .stage3	{
		position: static;
		margin-bottom: 50px;
	}
	
	.recruit.career.tohunworld .mainarea .career1a.img_overflow_half img	{
		width: 75%;
	}
	
	.recruit.career .mainarea .inner.spmb0	{
		margin-bottom: 0 !important;
	}
	.recruit.career .mainarea .inner.spmt0	{
		margin-top: 0 !important;
	}
	
	.recruit.career .mainarea .inner .leadtext	{
		font-size: 3.5vw;
	}
	
	.recruit.career.training .mainarea .innertable .innertablecol.c2b .innertablecell	{
		margin-left: 0;
		margin-top: 50px;
	}
	
	.recruit.career.ourmarket .mainarea .innertable .innertablecol .innertablecell p	{
		max-width: none;
		font-size: 3.4vw;
	}
	
	.recruit.training .mainarea .inner .traintable,.recruit.training .mainarea .inner .traintable .traintablecell	{
		display: block;
		width: 100%;
		border-collapse: collapse;
		margin-left: 0;
	}
	
	.recruit.training .mainarea .inner .traintable .traintablecell	{
		margin-bottom: 15px;
	}
	
	.recruit.training .mainarea .inner.schedule table th,.recruit.training .mainarea .inner.schedule table td	{
		display: inline-block;
	}
	
	.recruit.training .mainarea .inner.schedule table th,.recruit.training .mainarea .inner.schedule table td:first-of-type	{
		width: 50%;
		font-size: 3.4vw;
	}
	
	.recruit.training .mainarea .inner.schedule table th	{
		height: 5em;
	}
	
	.recruit.training .mainarea .inner.schedule table td:last-of-type	{
		padding: 15px 0 0;
		font-size: 2.8vw;
	}
	
	.recruit.interview #section3	{
		min-height: 0;
		height: auto;
	}
	.recruit.interview .sec h1	{
		font-size: 5vw;
		line-height: 300%;
	}
	
	.recruit.interview .sec h1 span	{
		padding: 15px !important;
	}
	
	.recruit.interview .sec .prof p	{
		font-size: 3vw;
		padding: 15px;
		bottom: 10%;
	}
	
	.recruit.interview .sec .inner{
		width:80%;
	}
	.recruit.interview .sec.infosec .inner	{
		width: calc(100% - 30px);
		margin: 0 15px;
		padding: 30px 0 0;
	}
	
	.recruit.interview .sec h2	{
		font-size: 5vw;
	}
	.recruit.interview .sec h2 img	{
		top: 25%;
	}
	.recruit.interview .sec.infosec .inner p	{
		font-size: 3vw;
	}
	
	.recruit.interview #section4	{
		background-position: right 55% center;
		height: 70vh;
	}
	
	.recruit.interview #section6	{
		background-position: right 65% center;
		height: 70vh;
	}
	
	.recruit.interview #section8	{
		height: 70vh;
	}
	
	.recruit.interview .box	{
		margin-top: -100px;
		padding: 50px 15px;
	}
	.recruit.interview .box1 p	{
		width: 100%;
	}
	.recruit.interview .box2{
		margin:-50px 0 0 auto;
	}
	.recruit.interview .box2 table th{
		width:28%;
	}
	.recruit.career.rec #section1	{
		background-image: url(recruit/images/re_mob.jpg);
	}
	
	.recruit.career.rec table th,.recruit.career.rec table td	{
		display: block;
		width: 100%;
	}
	.recruit.career.rec table th span	{
		width: 60%;
	}
	.recruit.career #section1	{
		height: 500px;
		margin: 0;
		margin-top: 60px;
		padding: 0;
		width: 100%;
		position: relative;
		background-image: url(recruit/images/career_key_sp.jpg);
		background-position: center top;
		}
	.recruit.career.ourmarket #section1	{
		background-image: url(recruit/images/market_key_sp.jpg);
		}
		
		.recruit.career.rec #section1	{
		background-image: url(recruit/images/rec_title_sp.jpg);
		}
		
		.recruit.career.training #section1	{
		background-image: url(recruit/images/rec_tra_sp.jpg);
		}
		
		.recruit.career.tohunworld #section1	{
		background-image: url(recruit/images/tw_title_sp.jpg);
		}
	
	.recruit.career .mainarea .innertable .innertablecol.c2b .innertablecell	{
		margin-left: 0;
	}
	.recruit #gnav	{
		display: none;
		padding: 15px 15px 30px;
	}
	.recruit #gnav .gnav_menu,.recruit #gnav .gnav_menu ul, .recruit #gnav .gnav_menu ul li	{
		display: block;
		width: 100%;
		border: 0;
		padding: 0;
	}
	
	.recruit #gnav .gnav_menu, .recruit #gnav .gnav_menu ul	{
		margin-bottom: 0;
	}
	.recruit #gnav .gnav_menu ul li	{
		padding: 0 0 5px;
		font-size: 5vw;
	}
	.recruit #gnav .gnav_menu ul li.submenu	{
		padding: 0 0 5px;
		margin-top: -5px;
	}
	.recruit #gnav li.submenu a	{
		font-size: 5vw;
	}
	.recruit #gnav img	{
		display: block;
		height: 15px;
	}
	
	.index_vision	{
		background-image: url(images/index1.jpg);
	}
	
	.index_solution	{
		background-image: url(images/index2.jpg);
	}
	
	.index_quality	{
		background-image: url(images/index3.jpg);
	}
	
	.index_csr	{
		background-image: url(images/index4.jpg);
	}
	
	.index_company	{
		background-image: url(images/index5.jpg);
	}
	
	.index_vision.index_recruit	{
		background-image: none;
	}
	
	
	.index_recruit_inner.shinsotsu	{
		background-image: url(images/index6.jpg);
		background-size: 100% auto;
	}
	.index_recruit_inner.chuto	{
		background-image: url(images/index7.jpg);
		background-size: 100% auto;
	}
	
	.company.branch .tablearea	{
		width: 100%;
		margin-top: 15px;
		margin-left: 15px;
		margin-right: 15px;
	}
	.company.branch .tablearea div.photo	{
		width: calc(100% - 30px);
		padding: 15px;
	}
	
	.company.branch .tablearea div.text	{
		width: calc(100% - 30px);
		padding: 15px;
	}
	
	.company.branch .tablearea div.text h3	{
		font-size: 15px;
		padding-bottom: 15px;
		margin-bottom: 15px;
		border-bottom: 1px solid rgba(0,0,0,0.25);
	}
	
	.branch .mainarea .leadarea	{
		padding: 0 0 300px;
		top: -30px;
	}
	.branch .keyarea .index_box	{
		top: 80%;
	}


}

.recruit.training .mainarea .inner .traintable .traintablecell:nth-child(2)	{
	background-color: #d3dee5;
}
@media screen and (max-width: 540px){
	.csr04 .business_image hr	{
		width: 160px;
	}


	.brancharea .branch	{
		display: table;
		width: 100%;
		margin-bottom: 15px;
		table-layout: fixed;
	}
	.brancharea .branch .textarea h4	{
		font-size: 2.8vw;
	}

	.brancharea .branch .textarea a	{
		font-size: 2.8vw;
	}
	header a.logoarea .logo	{
		width: 40vw;
	}
	.recruit #entry	{
		width: 30vw;
	}
}

@media screen and (max-width: 360px){
	.pagelistarea .childpage .imgarea h2	{
		width: 100%;
		padding-left: 0;
	}
	.viewmore	{
		font-size: 3vw;
	}
	
	.viewmore:before	{
		left: -7.5vw;
		
		width: 10vw;
	}
	body:not(.recruit) #gnav ul li a	{
		line-height: 120%;
		margin-bottom: 4vw;
	}
	body:not(.recruit) #gnav ul li ul li:before	{
		top: 5px;
	}
}


.fadeIn {
	top: 30px;
  opacity: 0;
  transition: 2s;
}
.fadeIn.is-show {
	top: 0;
	opacity: 1;
}

.fadeIn {
	top: 30px;
  opacity: 0;
  transition: 0.5s;
}
.fadeIn.is-show {
	opacity: 1;
}
.fadeIn .after {
	opacity: 0;
    transition:opacity 1s linear 1s;
}

.fadeIn.is-show .after	{
	opacity: 1;
}