@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:100,300,400,500,700,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;700&display=swap');


:root {
--point-color-red: #BD111A;
--point-color-blue: #345E9E;
--txt-color: #000;
--head-color: rgba(255,255,255,1);
--content-padding: 120px 0;
--base-color: #9DC3C3;
}


/*COMMON*/


html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}



body {
	color: var(--txt-color);
	background-color: #fff;

	font-size: 14px;
	font-weight: 400;
	line-height: 160%;

	font-family: 'Noto Sans JP',YuGothic, 游ゴシック, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif !important;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;

	font-feature-settings: "palt";

}



p{
	line-height:160%;
	letter-spacing:0px;
	margin-bottom: 10px
}
p.caption{
	font-size: 12px;
}

a,a:hover,a:visited,a:active{
	color:#E05267
}
img{
  vertical-align:bottom;
}

h1 {
	margin-bottom: 40px;
}




#opening{
	opacity: 1;
	position: fixed;
	background: rgba(255,255,255,1);
	width:100vw;
	height: 100vh;
	pointer-events: none;
	z-index: 9999;
	top: 0;
	left: 0;
	animation: openanime .5s ease-out 1s 1 normal forwards;
}


#opening .logo{
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);	
	z-index: 9999;

	opacity: 1;
	
	animation: openlogo .8s ease-out 0 1 normal forwards;
}


#opening .logo img{
	height: auto;
	width:300px;
}


@keyframes openanime {
	0% {
		opacity: 1;
	}

	100% {
		opacity: 0;
	}
}
@keyframes openlogo {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}






.eachTextAnime span{
	opacity: 0;
}
.eachTextAnime.appeartext span{
	transform: translateY(10px);
	animation:text_anime_on 1s ease-out forwards;
}
@keyframes text_anime_on {
  0% {opacity:0;transform: translateY(30px);-ms-filter: blur(12px);filter: blur(12px);}
  100% {opacity:1;transform: translateY(0);-ms-filter: blur(0);filter: blur(0);}
}



header{
	display: flex;
	padding: 30px 0 50px;
	
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 10;
	
	transition: .3s all ease-in-out;
}
.scrollOn header{
	padding: 20px 0 20px;
	background: rgba(255,255,255,1);
}

header section{
	width:100%;
	min-width: 1080px;
	padding: 0 30px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	align-items:flex-end;
}

header #hlogo{
	width:253px;
	transition: .3s all ease-in-out;
	opacity: 1;
}
header #hlogo img{
	width:100%;
	height: auto;
}

.scrollOn header{
	padding: 15px 0 15px;
	background: rgba(255,255,255,.9);
}

.scrollOn header section{
	align-items:center;
}

.scrollOn header #hlogo{
	width:150px;
	opacity: 1;
	padding-bottom: 2px;
}





#panel{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	flex: 1;
}
#panel-btn,
#panelBg{
	display: none;
}
#panel ul#gnavi{
	position: relative;
	z-index: 1001;
	margin:0 auto;
	padding: 0 0 0 40px ;
	display: flex;
	justify-content:flex-start;
	flex-wrap: wrap;
	align-items:center;
}
#panel ul#gnavi li{
	margin: 0 30px 0 0;
	transition: all .2s ease-in-out .1s;
	text-align: right;
	opacity: 1;
	vertical-align: top;
}
#panel ul#gnavi li a{
	text-decoration: none;
	color: #444;
	display: block;
	padding: 0 0 0;
	font-size: 14px;
	line-height: 100%;	
	
	vertical-align: top;
	transition: all  ease-in-out .2s;
	position: relative;
	cursor: pointer;
}
#panel ul#gnaviR{
	position: relative;
	z-index: 1001;
	margin:0 auto;
	padding: 0 0 0 0 ;
	display: flex;
	justify-content:flex-end;
	flex-wrap: wrap;
	flex: 1;
	align-items:center;
}
#panel ul#gnaviR li{
	margin: 0 10px 0 0;
	transition: all .2s ease-in-out .1s;
	text-align: right;
	opacity: 1;
	vertical-align: top;
}
#panel ul#gnaviR li a{
	text-decoration: none;
	color: #444;
	display: block;
	padding: 0 0 0;
	font-size: 14px;
	line-height: 100%;	
	
	vertical-align: top;
	transition: all  ease-in-out .2s;
	position: relative;
	cursor: pointer;
}


#panel ul#gnaviR li.hContact a{
	background: url("../../images/h_icon_contact.svg") no-repeat right 0 top ;
	background-size: 18px 18px;
	padding: 2px 25px 2px 0;
}


#panel ul li a:hover{
	opacity: .8;
}






/*footer*/
footer{

	padding: 100px 0 100px;
	text-align: left;
	position: relative;
	background: #CB000B;
	letter-spacing: .1em;
}
footer section{
	width:100%;
	min-width: 1080px;
	padding: 0 30px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	flex-direction: row-reverse;
	font-family: 'Noto Serif JP', serif;
}

footer section .pageTop{
	position: absolute;
	bottom:100px;
	right: 30px;
}
footer section .pageTop img{
	width: 57px;
	height: auto;
}

footer .footerL{
}

footer .footerR{
	flex: 1;
}

footer .footLogo{
	width: 226px;
	margin-bottom: 30px;
}
footer .footLogo img{
	width:100%;
	height: auto;
}
footer .footName{
	font-size: 18px;
	margin-bottom: 7px;
	color: #fff;
}
footer .copyright{
	font-family: 'Noto sans JP';
	font-size: 8px;
	line-height: 100%;
	margin-bottom: 30px;
	color: #fff;
}
footer .footTxt{
	display: flex;
	flex-wrap: wrap;
	color: #fff;
}
footer .footAdr{
	font-size: 12px;
	padding-right: 20px;

}

footer .footTel{
	font-size: 12px;

}
footer .footerR ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	margin-bottom: 10px;
}
footer .footerR ul.footMenu li{
	margin-left: 20px;
}
footer .footerR ul.footMenuBtm li{
	margin-left: 10px;
}
footer .footerR ul li a{
	text-decoration: none;
	color: #fff;
	font-size: 12px;
}







/*コンテンツ*/

#wrap{

	margin: 140px 0 0 0;
	padding-bottom: 100px;
	width: 100%;
	position: relative;
	overflow: hidden;
}
body#top #wrap{
	background-color: #fff;
}
body#other #wrap{
	background-color: #F4F4F4;
}

/*promotion*/
article{

}

/*promotion*/
article#promotion{
	padding: 0 0 0 0;
	position: relative;
}

article#promotion section{
	width:100%;
	margin-right: auto;
	position: relative;
}

.promoImg{
	width: 85%;
	height: 640px;
	position: relative;
	overflow: hidden;
	background: #fff;
	z-index: 1
}
.promoImg::before{
	position:absolute;
	top:50%;
	left:50%;
	transform: translate(-50%,-50%);
	z-index:1;
	width:130%;
	height:130%;
	background: url("../../images/promo_img_1.jpg") no-repeat center center;
	background-size: cover;
	content:"";
	opacity: 0;
	animation: promotxtAnm2 .8s ease-out .5s 1 normal forwards;
}

.promoTxt{
	position: absolute;
	top: 0;
	left: 85%;
	z-index: 2;
	background: #fff;
	font-weight: normal;
	color: #707070;
	padding: 10px 50px 20px 50px;
	transform: translateX(-50%);
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	font-family: 'Noto Serif JP', serif;
	font-size: 38px;
	line-height: 140%;
	white-space: nowrap;
	letter-spacing: .2em;
	animation: promotxtAnm1 .8s ease-out 1.2s 1 normal forwards;
	opacity: 0;
}
.promoTxt span{
	display: block;
	font-size: 10px;
	color: #737373;
	white-space: nowrap;
	margin-left: 10px;
	line-height: 10px;
	letter-spacing: .2em;
	font-family: 'Noto Sans JP';

}

.promoTxt span.shunentxt{
	writing-mode: horizontal-tb;
	
	display: inline-block;
	font-size: 38px;
	color: #707070;
	white-space: nowrap;
	line-height: 100%;
	letter-spacing: 0;
	font-family: 'Noto Serif JP', serif;
	
	text-align: center;
	
	padding: 0 0 6px 0;
	
	width: 45px;
	
	margin: 0 0 0 0 !important;
	
	
	vertical-align:left;

	


}
.promoTxt span.shunentxt{

}

@keyframes promotxtAnm1 {
	0% {
		left: 86%;
		opacity: 0;
	}

	100% {
		left: 85%;
		opacity: 1;
	}
}
@keyframes promotxtAnm2 {
	0% {
		opacity: 0;
		width:130%;
		height:130%;
	}

	100% {
		opacity: 1;
		width:100%;
		height:100%;
	}
}





/*news*/

#news{
	margin-top: -370px;
	margin-bottom: 60px;
	padding: 482px 0 100px 0;
	background: #CB000B url("../../images/news_logobg.svg") no-repeat -20px 220px;
	background-size: 24vw auto;
}

#news section{
	width:900px;
	margin: 0 auto;
	
	display: flex;
}

#news section h2.newsTitle{
	writing-mode: vertical-rl;
	color: #fff;
	font-family: 'Noto Serif JP', serif;
	font-size: 38px;
	font-weight: 500;
	line-height: 140%;
	letter-spacing: .2em;
	padding: 0 70px 0 30px;
}
#news section h2.newsTitle span{
	display: block;
	font-size: 10px;
	color: rgba(255,255,255,.5);
	line-height: 100%;
	margin-left: 5px;
	letter-spacing: .2em;
	font-family: 'Noto Sans JP';
}


#news section .topNewsLists{
	flex: 1;
}
#news section .topNewsLists ul.topNewsList{
}
#news section .topNewsLists ul.topNewsList li{
	border-bottom: 1px solid rgba(255,255,255,.3);
}
#news section .topNewsLists ul.topNewsList li:nth-of-type(1){
	border-top: 1px solid rgba(255,255,255,.3);
}
#news section .topNewsLists ul.topNewsList li a{
	display: block;
	text-decoration: none;
	color: #fff;
	transition: all .2s ease-in-out;
	padding: 25px 5px 25px;
}
#news section .topNewsLists ul.topNewsList li a .newsDate{
	margin-bottom: 5px;
	color: rgba(255,255,255,.8);
}
#news section .topNewsLists ul.topNewsList li a .newsTxt{
	padding: 0 0 0 18px;
	background: url("../../images/news_icon.svg") no-repeat 0 6px;
	background-size: 11px auto;
	
}

#news section .topNewsLists ul.topNewsList li a:hover{
	background: rgba(255,255,255,.1);
}




/*works*/

#works{
	padding: 60px 0 100px 0;
}

#works section{
	width:100%;
	min-width: 1080px;
	padding: 0 30px;
	margin: 0 auto;
	
	display: flex;
}

#works section h2.worksTitle{
	writing-mode: vertical-rl;
	background: #fff;
	color: #707070;
	font-family: 'Noto Serif JP', serif;
	font-size: 38px;
	font-weight: normal;
	line-height: 140%;
	letter-spacing: .1em;
	padding: 0 70px 0 5vw;
}
#works section h2.worksTitle span{
	display: block;
	color: #737373;
	font-size: 10px;
	line-height: 100%;
	margin-left: 5px;
	letter-spacing: .2em;
	font-family: 'Noto Sans JP';
}

#works section .worksR{
	width: 76vw;
	position: relative;
}
#works section .worksR .worksImg{
	background: #eee url("../../images/top_works_img2.jpg") no-repeat center center;
	background-size: cover;
	height: 100%;

}
#works section .worksR .worksTxt{
	position: absolute;
	left: 0;
	bottom: 0;
	background: #fff;
	padding: 50px 100px 50px 0;
}

#works section .worksR .worksTxt .worksRead{
	font-size: 13px;
	letter-spacing: .2em;
	line-height: 190%;
	margin-bottom: 40px;
}
#works section .worksR .worksTxt .worksBtn{
}
#works section .worksR .worksTxt .worksBtn a{
	display: inline-block;
	padding: 10px 60px 10px 20px;
	background: #00337B url("../../images/btn_arrow1.svg") no-repeat right 14px center;
	background-size: 14px auto;
	color: #fff;
	text-decoration: none;
	line-height: 100%;
	transition: all .2s ease-in-out;
}
#works section .worksR .worksTxt .worksBtn a:hover{
	padding: 10px 80px 10px 20px;
	background: #CB000B url("../../images/btn_arrow1.svg") no-repeat right 14px center;
	background-size: 14px auto;
}




/*pageTitle*/


.pageTitleArea{
	padding: 60px 0 140px;
	background: #CB000B url("../../images/news_logobg.svg") no-repeat right 30px bottom -5px;
	background-size: 222px auto;
	margin-bottom: 240px;
	position: relative;
}

.pageTitleArea.noBtm{
	padding: 60px 0 60px;
	margin-bottom: 60px;
}


.pageTitleArea h1.pageTitle{
	width:1080px;
	margin: 0 auto;
	font-size: 38px;
	color: #fff;
	font-family: 'Noto Serif JP', serif;

	font-weight: normal;
}
.pageTitleArea h1.pageTitle span{
	display: block;
	margin-top: 15px;
	font-size: 10px;
	font-family: 'Noto Sans JP';
	letter-spacing: .2em;
}
.pageTitleArea .pageTitleImg{
	width:calc(50vw + 500px);
	height: 400px;
	bottom: -310px;
	left: 0;
	position: absolute;
}
body.business .pageTitleArea .pageTitleImg{
	background: url("../../business/images/business_title_bg.jpg") no-repeat center center;
	background-size: cover;
}
body.profile .pageTitleArea .pageTitleImg{
	background: url("../../profile/images/profile_title_bg.jpg") no-repeat center bottom;
	background-size: cover;
}
body.recruit .pageTitleArea .pageTitleImg{
	background: url("../../recruit/images/recruit_title_bg3.jpg") no-repeat center center;
	background-size: cover;
}

body.result .pageTitleArea .pageTitleImg{
	background: url("../../result/images/result_title_bg.jpg") no-repeat center center;
	background-size: cover;
}





/*main-cont*/
.main-cont{
	width: 90%;
	max-width: 1500px;
	padding: 80px 90px;
	margin: 0 auto 0;
	position: relative;
	z-index: 1;
	box-shadow: 0 0 100px rgba(0,0,0,.04);
	background: #fff;
}


/*h2Title*/
.h2Title{
	font-size: 44px;
	line-height: 140%;
	font-weight: normal;
	margin-bottom: 40px;
	padding: 0 0 0 40px;
	font-family: 'Noto Serif JP', serif;
	position: relative;
}

.h2Title::before{
	content: "";
	width:11px;
	height: calc(100% - 13px);
	background-color: #00337B;
	position: absolute;
	top: 10px;
	left: 0;
}


.pageRead{
	font-size: 16px;
	margin-bottom: 60px;
}




/*businessBoxs*/

.businessBoxs{
	display: flex;
	flex-wrap: wrap;
	gap: 55px 50px;
}

.businessBox{
	width: calc(50% - 25px);
	background: #fff;
	padding: 0 0 20px 0;
	box-shadow: 0 0 10px rgba(0,0,0,.1);
}


.businessImg{
	margin: -15px 15px 10px -15px;
}
.businessImg img{
	width: 100%;
	height: auto;
}
.businessTitle{
	font-size: 28px;
	margin: 42px 0 20px 0;
	padding: 0 0 0 56px;
	position: relative;
	font-weight: bold;
	line-height: 140%;
}
.businessTitle::before{
	margin: 0 0 0 0;
	color: #CB000B;
	font-size: 58px;
	font-weight: 700;
	display: block;
	padding-right: 12px;
	line-height: 100%;
	position: absolute;
	top: -7px;
	left: -20px;
}
.businessTitle.business1::before{
	content: "01";
}
.businessTitle.business2::before{
	content: "02";
}
.businessTitle.business3::before{
	content: "03";
}
.businessTitle.business4::before{
	content: "04";
}
.businessTitle.business5::before{
	content: "05";
}
.businessTitle.business6::before{
	content: "06";
}
.businessRead{
	padding: 10px 22px 0 22px;
	margin-bottom: 20px;
	font-size: 18px;
	line-height: 170%;
	font-weight: normal;
}
.businessTxt{
	padding: 0 22px 0 22px;
}
.businessTxt ul{
	margin-left: 1.2em;
}
.businessTxt ul li{
	list-style-type: disc;
}
.businessTxt p span,
.businessTxt ul li span{
	display: block;
	margin-top: 7px;
	color: #666;
	font-size: 13px;
}


.businessTxt .busBtn{
	margin-top: 20px;
}
.businessTxt .busBtn a{
	display: inline-block;
	padding: 10px 40px 10px 20px;
	background: #00337B url("../../images/btn_arrow1.svg") no-repeat right 14px center;
	background-size: 14px auto;
	color: #fff;
	text-decoration: none;
	line-height: 100%;
	transition: all .2s ease-in-out;
}
.businessTxt .busBtn a:hover{
	padding: 10px 40px 10px 20px;
	background: #CB000B url("../../images/btn_arrow1.svg") no-repeat right 14px center;
	background-size: 14px auto;
}







/*chartArea*/
.chartArea{
	margin-bottom: 80px;
}

.chartArea dl{
	display: flex;
	flex-wrap: wrap;
}
.chartArea dl dt,
.chartArea dl dd{
	padding: 30px 0;
	font-size: 16px;
}
.chartArea dl dt{
	width:23%;
	border-bottom: 1px solid #CB000B;
}
.chartArea dl dd{
	width:77%;
	border-bottom: 1px solid #B2B2B2;
}

.chartArea dl dd ul li{
	list-style-type: disc;
	margin-left: 1.2em;
}

/*profileMap*/
.profileMap{
	
}
.profileMap iframe{
	width: 100%;
	height: 580px;
	
}








/*contactChart*/

.contactChart{
	margin-bottom: 60px;
}

.contactChart dl{
	display: flex;
	flex-wrap: wrap;
}
.contactChart dl dt,
.contactChart dl dd{
	padding: 30px 0;
	font-size: 16px;
}
.contactChart dl dt{
	width:23%;
	border-bottom: 1px solid #CB000B;
}
.contactChart dl dt.hissu::after{
	content: "*";
	font-size: 16px;
	color: #ff0000;
}
.contactChart dl dd{
	width:77%;
	border-bottom: 1px solid #B2B2B2;
}
.contactChart dl dt:nth-of-type(1){
	border-top: 1px solid #CB000B;
}
.contactChart dl dd:nth-of-type(1){
	border-top: 1px solid #B2B2B2;
}
.contactChart dl dd input[type=text]{
	width: 40%;
	padding: 15px;
	border: 1px solid #ccc;
}
.contactChart dl dd input[type=email]{
	width: 40%;
	padding: 15px;
	border: 1px solid #ccc;
}
.contactChart dl dd textarea{
	width: 100%;
	height: 300px;
	padding: 15px;
	border: 1px solid #ccc;
}

.contactChart dt p{
	display: inline-block;
	
}

.submitArea{
	text-align: center;
}



.submitArea input[type=submit]{
	border: none;
	background: #00337B;
	padding: 20px 80px;
	color: #fff;
	font-size: 18px;
	cursor: pointer;
	transition: all .2s ease-in-out;
}
.submitArea input[type=submit]:hover{
	background: #CB000B;
}





/*newsDetail*/

.newsDetail{
	
}
.newsDetailTitle{
	font-size: 24px;
	padding-bottom: 30px;
	margin-bottom: 30px;
	border-bottom: 1px solid #ddd;
}
.newsDetailDate{
	font-size: 12px;
	text-align: right;
	margin-bottom: 30px;
}
.newsDetailBody{
	padding-bottom: 30px;
	margin-bottom: 60px;
	border-bottom: 1px solid #ddd;
	line-height: 200%;

}

.newsDetailBack{
	text-align: center;
}

.newsDetailBack a{
	display: inline-block;
	text-decoration: none;
	border: none;
	background: #00337B;
	padding: 20px 80px;
	color: #fff;
	font-size: 16px;
	cursor: pointer;
	transition: all .2s ease-in-out;
}





/*newsLists*/
.newsLists{
}

.newsLists ul{
}
.newsLists ul li{
	border-bottom: 1px solid rgba(0,0,0,.3);
}
.newsLists ul li:nth-of-type(1){
	border-top: 1px solid rgba(0,0,0,.3);
}
.newsLists ul li a{
	display: block;
	text-decoration: none;
	color: #333;
	transition: all .2s ease-in-out;
	padding: 25px 5px 25px;
}
newsLists ul li a .newsDate{
	margin-bottom: 5px;
	color: rgba(0,0,0,.8);
}
.newsLists ul li a .newsTxt{
	padding: 0 0 0 18px;
	background: url("../../images/news_icon.svg") no-repeat 0 6px;
	background-size: 11px auto;
	
}

.newsLists ul li a:hover{
	background: rgba(0,0,0,.1);
}



/*recruit new*/


.recruitRead{
	font-size: 44px;
	line-height: 67px;
	font-family: 'Noto Serif JP', serif;
	
	margin-bottom: 80px;
	text-align: center;
}

.recruitTopArea{
	display: flex;
	flex-wrap: wrap;
	
	gap:0 60px;
	margin-bottom: 80px;
}
.recruitTopArea.reverse{
	flex-direction: row-reverse;
}

.recruitTopArea .recruitTopBoxImg{
	width: calc(50% - 60px);
}
.recruitTopArea .recruitTopBoxImg img{
	width: 100%;
	height: auto;
	box-shadow: 10px 10px 0 rgba(0,0,0,.05);
}


.recruitTopArea .recruitTopBoxTxt{
	width: 50%;
}
.recruitTopArea .recruitTopBoxTxt p{
	font-size: 16px;
	line-height: 180%;
	
	letter-spacing: .05em;
}



.recruitLast{
	display: flex;
	flex-wrap: wrap;
	
	gap:0 60px;
	margin-bottom: 80px;
	
	align-items: center;
}
.recruitLast .recruitLastBoxImg{
	width: calc(50% - 60px);
}
.recruitLast .recruitLastBoxImg img{
	width: 100%;
	height: auto;
	box-shadow: 10px 10px 0 rgba(0,0,0,.05);
}


.recruitLast .recruitLastBoxTxt{
	width: 50%;
}
.recruitLast .recruitLastBoxTxt p{
	font-size: 16px;
	line-height: 180%;
	
	letter-spacing: .05em;
}




/*h2Title*/
.h2Title2{
	font-size: 34px;
	line-height: 100%;
	font-weight: normal;
	margin-bottom: 30px;
	padding: 0 0 0 30px;
	font-family: 'Noto Serif JP', serif;
	position: relative;
}

.h2Title2::before{
	content: "";
	width:11px;
	height: 100%;
	background-color: #00337B;
	position: absolute;
	top: 0;
	left: 0;
}

.recruitStepArea{
	margin-bottom: 80px;
}


.recruitStepBox{
	padding: 30px 0;
	border-bottom: #999 dashed 1px ;
	
	display: flex;
	
	flex-wrap: wrap;
	gap:0 30px;
}
.recruitStepBox:nth-of-type(1){
	border-top: #999 dashed 1px ;
}

.recruitStepIcon{
	width: 10%;
	
	background: #CB000B;
	
	border-radius: 5px;
	text-align: center;
	
	color: #fff;
	
	display: flex;
	align-items: center;
}
.recruitStepBox:nth-of-type(1) .recruitStepIcon{background: #E3878C;}
.recruitStepBox:nth-of-type(2) .recruitStepIcon{background: #DA636A;}
.recruitStepBox:nth-of-type(3) .recruitStepIcon{background: #DA4951;}
.recruitStepBox:nth-of-type(4) .recruitStepIcon{background: #D9202A;}
.recruitStepBox:nth-of-type(5) .recruitStepIcon{background: #CB000B;}


.recruitStepIcon span{
	display: inline-block;
	width: 100%;
	font-weight: bold;
	
	font-size: 18px;
}
.recruitStepTxt{
	width: calc(90% - 30px);

}
.recruitStepTxt h3{
	font-size: 18px;
	font-weight: bold;
	margin: 6px 0 6px;
}
.recruitStepTxt p{
	font-size: 16px;
}

.recruitScheArea{
	padding: 50px;
	background: #F7F7F7;
	
	display: flex;
	
	flex-wrap: wrap;
	
	margin-bottom: 80px;
}
.recruitScheArea .recruitScheTitle{
	width: 42%;
	font-size: 28px;
	font-family: 'Noto Serif JP', serif;
	
	padding: 3px 0 0 44px;
	background: url("../../recruit/images/time_icon.png") no-repeat left 0 top 0;
	background-size: 30px auto;

}
.recruitScheArea .recruitScheTitle small{
	font-size: 70%;
}

.recruitScheArea .recruitScheChart{
	width: 58%;

	display: flex;
	
	flex-wrap: wrap;
	
	gap:2px 0;
}

.recruitScheChartTime{
	width: 17%;
	padding: 11px 10px 10px 23px;
	
	background: rgba(226,226,226,1.00) url("../../recruit/images/recruit_time_arrow.png") no-repeat left 10px top 13px;
	background-size: 7px auto;
	line-height: 100%;
	font-size: 15px;
}
.recruitScheChartTxt{
	width: 83%;
	background: rgba(255,255,255,1.00);
	padding: 10px 10px;
	line-height: 100%;
	
	font-size: 15px;
}

.recruitLastRead{
	font-size: 34px;
	font-family: 'Noto Serif JP', serif;
	
	margin-bottom: 50px;
	text-align: center;
}

.recruitLastTxt{
	font-size: 18px;
	font-family: 'Noto Serif JP', serif;
	margin-bottom: 50px;
	
	text-align: center;
	
	line-height: 200%;
}

.recruitLastTxt span{
	position: relative;
	display: inline-block;
}
.recruitLastTxt span::before{
	content: "";
	
	position: absolute;
	
	bottom: 5px;
	left: 0;
	
	width: 100%;
	height: 8px;
	
	background: rgba(205,0,3,.3);
	border-radius: 5px;
}

.recruitLastBtn{
	text-align: center;
}
.recruitLastBtn a{
	display: inline-block;
	padding: 28px 80px 30px 40px;
	background: #00337B url("../../recruit/images/recruit_btn_arrow.png") no-repeat right 23px center;
	background-size: 28px auto;
	color: #fff;
	text-decoration: none;
	line-height: 100%;
	transition: all .2s ease-in-out;
	
	font-size: 18px;
}
.recruitLastBtn a:hover{
	background: #CB000B url("../../recruit/images/recruit_btn_arrow.png") no-repeat right 17px center;
	background-size: 28px auto;
}








/*inview設定*/


.inview{
	transition: 0.4s ease-out;
	transition-delay:0.7s;
	opacity: 0;
	transform: translateX(50px);
	-webkit-transform: translateX(50px);
}
.inviewOn{
	opacity: 1;
	transform: translateX(0);
	-webkit-transform: translateX(0);

	
}
.inview2{
	transition: 0.4s ease-out;
	transition-delay:0.7s;
	opacity: 0;
	transform: translateX(-50px);
	-webkit-transform: translateX(-50px);
}
.inviewOn2{
	opacity: 1;
	transform: translateX(0);
	-webkit-transform: translateX(0);
}
.inview3{
	transition: 0.6s ease-out;
	transition-delay:0.5s;
	opacity: 0;
	transform: scale(1.05);
}
.inviewOn3{
	opacity: 1;
	transform: scale(1);
}

.inviewImg{
	position: relative;
	opacity: 0;
	display: block;
}
.inviewImg::after{
	content: "";
	width:100%;
	height: 100%;
	background: #FFDBCE;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	z-index: 1;
	display: block;
}
.inviewOnImg{
	animation-name:imganime_on;
	animation-duration:1s;
	animation-delay: .5s;
	animation-fill-mode:forwards;
	  opacity:1;
}
.inviewOnImg img{
	animation-name:imganime_img_on;
	animation-duration:1s;
	animation-delay: 1.1s;
	animation-fill-mode:forwards;
	opacity: 0;
}
.inviewOnImg::after{
	animation-name:imganime_layer_on;
	animation-duration:1s;
	animation-delay: .5s;
	animation-fill-mode:forwards;
	  opacity:0;
}







@keyframes imganime_on {

}
@keyframes imganime_img_on {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@keyframes imganime_layer_on {
  0% {
	  opacity:0;
	  transform-origin:left;
	  transform: scaleX(0);
	}
  50% {
	  opacity:1;
	  transform-origin:left;
	  transform: scaleX(1);
	}
  51% {
	  opacity:1;
	  transform-origin:right;
	}
  100% {
	  opacity:0;
	  transform-origin:right;
	  transform: scaleX(0);
	}
}





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




@media screen and (max-width: 1340px) {



	/*main-cont*/
	.main-cont{
		width: 94%;
		padding: 50px 50px;
		margin: 0 auto 0;
		position: relative;
		z-index: 1;
		box-shadow: 0 0 100px rgba(0,0,0,.04);
		background: #fff;
	}
	.businessRead{
		font-size: 16px;
	}


}

@media screen and (max-width: 768px) {
	.pc{
		display: none;
	}
	.sp{
		display: block;
	}

	
	body {
		font-size: 14px;
	}


	header{
		display: flex;
		padding: 65px 20px 56px;
		margin-bottom: 240px;

		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 10;

		transition: .3s all ease-in-out;
	}
	.scrollOn header{
		padding: 24px 20px 24px;
		background: rgba(255,255,255,1);
	}

	header #hlogo{
		width:150px;
		position: absolute;
		left: 10px;
		top: 10px;
		z-index: 1;
		transition: .3s all ease-in-out;
	}
	header #hlogo img{
		width:100%;
		height: auto;
	}

	.scrollOn header #hlogo{
		width:120px;
		top: 10px;
		opacity: 1;
	}




	/*ハンバーガーメニュー*/
	#panel-btn {
		display: inline-block;
		position: absolute;
		width:24px;
		height: 24px;
		margin: 0 0 0;
		top:15px;
		right:20px;
		cursor:pointer;
		z-index:9999;

	}


	#panel-btn-icon {
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		width: 24px;
		height: 1px;
		margin: 0 0 0 -12px;
		background: #CB000B;
		overflow: visible;
	}
	#panel-btn-icon:before, #panel-btn-icon:after {
		display: block;
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		width: 24px;
		height: 1px;
		margin-left: -12px;
		background: #CB000B;
		transition: .3s;
	}
	#panel-btn-icon:before {
		margin-top: -7px;
	}
	#panel-btn-icon:after {
		margin-top: 6px;
	}

	#panel-btn .close {
		transform: rotate(-360deg);
		-webkit-transform: rotate(-360deg);
		background: transparent;
	}
	#panel-btn .close:before, #panel-btn .close:after {
		margin-top: -1px;
		background: #CB000B;
	}
	#panel-btn .close:before {
		transform: rotate(-45deg);
		-webkit-transform: rotate(-45deg);
	}
	#panel-btn .close:after {
		transform: rotate(-135deg);
		-webkit-transform: rotate(-135deg);
	}

	#panel{
		position: fixed;
		top:0;
		left: 30%;
		z-index: 1020;
		width: 70%;
		height: 100vh;
		transition: all .5s ease-in-out;
		opacity: 0;
		pointer-events: none;
		background: #ffffff;
		display: block;
	}
	#panel.openmenu{
		left: 30%;
		opacity: 1;
		pointer-events:visible;
	}
	#panelBg{
		position: absolute;
		top:0;
		left: 0;
		width:100%;
		height: 100vh;
		background: rgba(0,0,0,.4);	
		box-shadow: 0 0 40px rgba(0,0,0,.5);
		z-index: 100;
		display: none;
	}
	#panel ul#gnavi{
		display: block;
		width: 100%;
		margin-left: 0%;
		padding: 50px 20px;
	}
	#panel ul#gnavi li{
		text-align: left;
		display: block;
		padding: 0 0;
		border-bottom: 1px solid rgba(0,0,0,.2);
		margin: 0 0 0 0;
	}
	#panel ul#gnavi li:nth-last-of-type(1){
		margin-right: 0;
	}

	#panel ul#gnavi li a{
		text-decoration: none;
		color: #333 !important;
		display: block;
		font-size: 14px;
		
		padding: 20px 0 20px 0;
	}
	#panel ul#gnavi li a::after{
		content: "";
		display: none;
	}

	#panel ul#gnavi li.yoyakuBtnPC{
		display: none;
	}
	#panel ul#gnavi li a::after{
		content: "";
		position: absolute;
		left: 17px;
		bottom: -5px;
		background: #000;
		width:calc(100% - 34px);
		height: 1px;
		transition: all .2s ease-in-out;
	}
	#panel ul#gnavi li a.active::after{
		opacity: 1;
		transform: scaleX(1);
	}
	#panel ul#gnaviR{
		padding: 0 20px;
		justify-content: flex-start;
	}
	#panel ul#gnaviR li a{
		color: #333;
	}



	/*footer*/
	footer{

		padding: 50px 0 100px;
		text-align: left;
		position: relative;
		background: #CB000B;
		letter-spacing: .1em;
	}
	footer section{
		width: 92%;
		min-width: 92%;
		padding: 0 0;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		flex-direction: row-reverse;
		font-family: 'Noto Serif JP', serif;
	}

	footer section .pageTop{
		position: absolute;
		bottom:20px;
		right: 50%;
		transform: translate(50%);
	}
	footer section .pageTop img{
		width: 57px;
		height: auto;
	}

	footer .footerL{
		width: 100%;
	}

	footer .footerR{
		flex: initial;
		width: 100%;
	}

	footer .footLogo{
		width: 216px;
		margin-bottom: 30px;
		text-align: center;
	}
	footer .footLogo img{
		width:100%;
		height: auto;
	}
	footer .footName{
		font-size: 14px;
		margin-bottom: 7px;
		color: #fff;
	}
	footer .copyright{
		font-family: 'Noto sans JP';
		font-size: 6px;
		line-height: 100%;
		margin-bottom: 30px;
		color: #fff;
	}
	footer .footTxt{
		display: flex;
		flex-wrap: wrap;
		color: #fff;
		justify-content: space-between;
	}
	footer .footAdr{
		font-size: 9px;
		padding-right: 20px;

	}


	footer .footTel{
		font-size: 12px;

	}
	footer .footTel a{
		text-decoration: none !important;
		color: #fff !important;

	}
	footer .footerR{
		margin-bottom: 40px;

	}
	footer .footerR ul{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		margin-bottom: 10px;
	}
	footer .footerR ul.footMenu li{
		margin-left: 10px;
	}
	footer .footerR ul.footMenuBtm li{
		margin-left: 10px;
	}
	footer .footerR ul li a{
		text-decoration: none !important;
		color: #fff !important;
		font-size: 11px;
	}






	/*コンテンツ*/

	#wrap{
		margin: 80px 0 0 0;
		width: 100%;
		padding-bottom: 140px;
		position: relative;
		overflow: hidden;

	}



	body#top #wrap{
		background-color: #fff;
	}
	body#other #wrap{
		background-color: #F4F4F4;
	}

	/*promotion*/
	article{

	}

	/*promotion*/
	article#promotion{
		padding: 0 0 0 0;
		position: relative;
	}

	article#promotion section{
		width:100%;
		margin-right: auto;
		position: relative;
	}

	.promoImg{
		width: 90%;
		height: 340px;
		position: relative;
		overflow: hidden;
		background: #fff;
		z-index: 1
	}
	.promoImg::before{
		position:absolute;
		top:50%;
		left:50%;
		transform: translate(-50%,-50%);
		z-index:1;
		width:130%;
		height:130%;
		background: url("../../images/promo_img_1.jpg") no-repeat center center;
		background-size: cover;
		content:"";
		opacity: 0;
		animation: promotxtAnm2 .8s ease-out .5s 1 normal forwards;
	}

	.promoTxt{
		position: absolute;
		top: 0;
		left: 90%;
		z-index: 2;
		background: #fff;
		font-weight: normal;
		color: #707070;
		padding: 5px 15px 10px 15px;
		transform: translateX(-50%);
		writing-mode: vertical-rl;
		font-family: 'Noto Serif JP', serif;
		font-size: 20px;
		line-height: 140%;
		white-space: nowrap;
		letter-spacing: .1em;
		animation: promotxtAnm1 .8s ease-out 1.2s 1 normal forwards;
		opacity: 0;
	}
	.promoTxt span{
		display: block;
		font-size: 7px;
		color: #737373;
		white-space: nowrap;
		margin-left: 10px;
		line-height: 10px;
		letter-spacing: .2em;
		font-family: 'Noto Sans JP';
	}
	.promoTxt span.shunentxt{
		display: inline;
		font-size: 20px;
		color: #707070;
		white-space: nowrap;
		margin-left: 1px;
		padding-bottom: 3px;
		line-height: 140%;
		letter-spacing: 0;
		font-family: 'Noto Serif JP', serif;

		text-align: center;
	}




	@keyframes promotxtAnm1 {
		0% {
			left: 81%;
			opacity: 0;
		}

		100% {
			left: 80%;
			opacity: 1;
		}
	}
	@keyframes promotxtAnm2 {
		0% {
			opacity: 0;
			width:130%;
			height:130%;
		}

		100% {
			opacity: 1;
			width:100%;
			height:100%;
		}
	}





	/*news*/

	#news{
		margin-top: -440px;
		margin-bottom: 30px;
		padding: 482px 0 100px 0;
		background: #CB000B url("../../images/news_logobg.svg") no-repeat -20px 70px;
		background-size: 50vw auto;
	}

	#news section{
		width:90%;
		margin: 0 auto;

		display: flex;
	}

	#news section h2.newsTitle{
		writing-mode: vertical-rl;
		color: #fff;
		font-family: 'Noto Serif JP', serif;
		font-size: 24px;
		font-weight: 500;
		line-height: 140%;
		letter-spacing: .2em;
		padding: 0 30px 0 0;
	}
	#news section h2.newsTitle span{
		display: block;
		font-size: 10px;
		color: rgba(255,255,255,.5);
		line-height: 100%;
		margin-left: 5px;
		letter-spacing: .2em;
		font-family: 'Noto Sans JP';
	}


	#news section .topNewsLists{
		flex: 1;
	}
	#news section .topNewsLists ul.topNewsList{
	}
	#news section .topNewsLists ul.topNewsList li{
		border-bottom: 1px solid rgba(255,255,255,.3);
	}
	#news section .topNewsLists ul.topNewsList li:nth-of-type(1){
		border-top: 1px solid rgba(255,255,255,.3);
	}
	#news section .topNewsLists ul.topNewsList li a{
		display: block;
		text-decoration: none;
		color: #fff;
		transition: all .2s ease-in-out;
		padding: 15px 5px 15px;
	}
	#news section .topNewsLists ul.topNewsList li a .newsDate{
		margin-bottom: 5px;
		color: rgba(255,255,255,.8);
	}
	#news section .topNewsLists ul.topNewsList li a .newsTxt{
		padding: 0 0 0 18px;
		background: url("../../images/news_icon.svg") no-repeat 0 6px;
		background-size: 11px auto;

	}

	#news section .topNewsLists ul.topNewsList li a:hover{
		background: rgba(255,255,255,.1);
	}




	/*works*/

	#works{
		padding: 80px 0 0 0;
	}

	#works section{
		width: 92%;
		min-width: 92%;
		padding: 0 0;
		margin: 0 auto;

		display: flex;
	}

	#works section h2.worksTitle{
		writing-mode: vertical-rl;
		background: #fff;
		color: #707070;
		font-family: 'Noto Serif JP', serif;
		font-size: 20px;
		font-weight: normal;
		line-height: 140%;
		letter-spacing: .1em;
		padding: 0 20px 0 0;
	}
	#works section h2.worksTitle span{
		display: block;
		color: #737373;
		font-size: 7px;
		line-height: 100%;
		margin-left: 5px;
		letter-spacing: .2em;
		font-family: 'Noto Sans JP';
	}

	#works section .worksR{
		width: 76vw;
		position: relative;
	}
	#works section .worksR .worksImg{
		background: #eee url("../../images/top_works_img2.jpg") no-repeat center center;
		background-size: cover;
		height: 100%;

	}
	#works section .worksR .worksTxt{
		position: absolute;
		left: auto;
		right: 0;
		bottom: -50px;
		background: #fff;
		padding: 14px 0 0 17px;
	}

	#works section .worksR .worksTxt .worksRead{
		font-size: 12px;
		letter-spacing: .1em;
		line-height: 190%;
		margin-bottom: 10px;
	}
	#works section .worksR .worksTxt .worksBtn{
	}
	#works section .worksR .worksTxt .worksBtn a{
		display: inline-block;
		padding: 10px 60px 10px 20px;
		background: #00337B url("../../images/btn_arrow1.svg") no-repeat right 14px center;
		background-size: 14px auto;
		color: #fff;
		text-decoration: none;
		line-height: 100%;
		transition: all .2s ease-in-out;
		font-size: 12px;
	}
	#works section .worksR .worksTxt .worksBtn a:hover{
		padding: 10px 80px 10px 20px;
		background: #CB000B url("../../images/btn_arrow1.svg") no-repeat right 14px center;
		background-size: 14px auto;
	}




	/*pageTitle*/


	.pageTitleArea{
		padding: 40px 0 120px;
		background: #CB000B url("../../images/news_logobg.svg") no-repeat right 10px bottom -5px;
		background-size: 150px auto;
		margin-bottom: 80px;
		position: relative;
	}

	.pageTitleArea.noBtm{
		padding: 40px 0 40px;
		margin-bottom: 20px;
	}


	.pageTitleArea h1.pageTitle{
		width:80%;
		margin: 0 auto;
		font-size: 24px;
		color: #fff;
		font-family: 'Noto Serif JP', serif;

		font-weight: normal;
	}
	.pageTitleArea h1.pageTitle span{
		display: block;
		margin-top: 7px;
		font-size: 8px;
		font-family: 'Noto Sans JP';
		letter-spacing: .2em;
	}
	.pageTitleArea .pageTitleImg{
		width:calc(50vw + 150px);
		height: 200px;
		bottom: -110px;
		left: 0;
		position: absolute;
	}
	body.business .pageTitleArea .pageTitleImg{
		background: url("../../business/images/business_title_bg.jpg") no-repeat center center;
		background-size: cover;
	}
	body.profile .pageTitleArea .pageTitleImg{
		background: url("../../profile/images/profile_title_bg.jpg") no-repeat center center;
		background-size: cover;
	}
	body.recruit .pageTitleArea .pageTitleImg{
		background: url("../../recruit/images/recruit_title_bg3.jpg") no-repeat center center;
		background-size: cover;
	}
	body.result .pageTitleArea .pageTitleImg{
		background: url("../../result/images/result_title_bg.jpg") no-repeat center center;
		background-size: cover;
	}






	/*main-cont*/
	.main-cont{
		width: 92%;
		max-width: 92%;
		padding: 30px 25px 60px 25px;
		margin: 0 auto 0;
		position: relative;
		z-index: 1;
		box-shadow: 0 0 100px rgba(0,0,0,.04);
		background: #fff;
	}


	/*h2Title*/
	.h2Title{
		font-size: 24px;
		line-height: 140%;
		font-weight: normal;
		margin-bottom: 25px;
		padding: 0 0 0 25px;
		font-family: 'Noto Serif JP', serif;
		position: relative;
	}

	.h2Title::before{
		content: "";
		width:7px;
		height: calc(100% - 9px);
		background-color: #00337B;
		position: absolute;
		top: 5px;
		left: 0;
	}


	.pageRead{
		font-size: 13px;
		margin-bottom: 20px;
	}




	/*businessBoxs*/

	.businessBoxs{
		display: flex;
		flex-wrap: wrap;
		gap: 50px 0;
	}

	.businessBox{
		width: 100%;
		background: #fff;
		padding: 0 0 10px 0;
		box-shadow: 0 0 10px rgba(0,0,0,.2);
	}


	.businessImg{
		margin: -5px 15px 10px -15px;
	}
	.businessImg img{
		width: 100%;
		height: auto;
	}
	.businessTitle{
		font-size: 20px;
		margin: 30px 0 10px 0;
		padding: 0 0 0 36px;
		position: relative;
		font-weight: bold;
	}
	.businessTitle::before{
		margin: 0 0 0 0;
		color: #CB000B;
		font-size: 40px;
		font-weight: 700;
		display: block;
		padding-right: 8px;
		line-height: 100%;
		position: absolute;
		bottom: -1px;
		left: -20px;
	}
	.businessTitle.business1::before{
		content: "01";
	}
	.businessTitle.business2::before{
		content: "02";
	}
	.businessTitle.business3::before{
		content: "03";
	}
	.businessTitle.business4::before{
		content: "04";
	}
	.businessTitle.business5::before{
		content: "05";
	}
	.businessTitle.business6::before{
		content: "06";
	}
	.businessRead{
		padding: 10px 18px 0 18px;
		margin-bottom: 20px;
		font-size: 13px;
		line-height: 180%;
		font-weight: normal;
	}
	.businessTxt{
		padding: 0 18px 0 18px;
	}
	.businessTxt ul{
		margin-left: 1.2em;
	}
	.businessTxt ul li{
		list-style-type: disc;
	}
	.businessTxt p span,
	.businessTxt ul li span{
		display: block;
		margin-top: 7px;
		color: #666;
		font-size: 11px;
	}

	.businessTxt .busBtn{
		text-align: center;
	}
	.businessTxt .busBtn a{
		display: inline-block;
		padding: 10px 30px 10px 20px;
		background: #00337B url("../../images/btn_arrow1.svg") no-repeat right 14px center;
		background-size: 14px auto;
		color: #fff;
		text-decoration: none;
		line-height: 100%;
		transition: all .2s ease-in-out;
		font-size: 12px;
	}
	.businessTxt .busBtn a:hover{
		padding: 10px 30px 10px 20px;
		background: #CB000B url("../../images/btn_arrow1.svg") no-repeat right 14px center;
		background-size: 14px auto;
	}


	/*chartArea*/
	.chartArea{
		margin-bottom: 40px;
	}

	.chartArea dl{
		display: flex;
		flex-wrap: wrap;
		border-top: 1px solid #B2B2B2;
	}
	.chartArea dl dt,
	.chartArea dl dd{
		font-size: 13px;
	}
	.chartArea dl dt{
		width:100%;
		border-bottom: none;
		padding: 18px 0 0;
		font-weight: 700;
	}
	.chartArea dl dd{
		width:100%;
		border-bottom: 1px solid #B2B2B2;
		padding: 0 0 18px;
	}



	/*profileMap*/
	.profileMap{

	}
	.profileMap iframe{
		width: 100%;
		height: 380px;

	}




	/*contactChart*/

	.contactChart{
		margin-bottom: 40px;
	}

	.contactChart dl{
		display: flex;
		flex-wrap: wrap;
	}
	.contactChart dl dt,
	.contactChart dl dd{
		font-size: 13px;
	}
	.contactChart dl dt{
		width:100%;
		border-bottom: none;
		padding: 18px 0 6px;
		font-weight: 700;
	}
	.contactChart dl dt.hissu::after{
		content: "*";
		font-size: 16px;
		color: #ff0000;
	}
	.contactChart dl dd{
		width:100%;
		border-bottom: 1px solid #B2B2B2;
		padding: 0 0 18px;
	}
	.contactChart dl dt:nth-of-type(1){
		border-top: none;
	}
	.contactChart dl dd:nth-of-type(1){
		border-top: none;
	}
	.contactChart dl dd input[type=text]{
		width: 100%;
		padding: 8px;
		border: 1px solid #ccc;
	}
	.contactChart dl dd input[type=email]{
		width: 100%;
		padding: 8px;
		border: 1px solid #ccc;
	}
	.contactChart dl dd textarea{
		width: 100%;
		height: 150px;
		padding: 8px;
		border: 1px solid #ccc;
	}
	.contactChart dt p{
		display: inline-block;

	}

	.submitArea{
		text-align: center;
	}



	.submitArea input[type=submit]{
		border: none;
		background: #00337B;
		padding: 10px 60px;
		color: #fff;
		font-size: 13px;
		cursor: pointer;
		transition: all .2s ease-in-out;
	}
	.submitArea input[type=submit]:hover{
		background: #CB000B;
	}





	/*newsDetail*/

	.newsDetail{

	}
	.newsDetailTitle{
		font-size: 18px;
		padding-bottom: 20px;
		margin-bottom: 20px;
		border-bottom: 1px solid #ddd;
	}
	.newsDetailDate{
		font-size: 10px;
		text-align: right;
		margin-bottom: 20px;
	}
	.newsDetailBody{
		padding-bottom: 20px;
		margin-bottom: 20px;
		border-bottom: 1px solid #ddd;
		line-height: 200%;

	}

	.newsDetailBack{
		text-align: center;
	}

	.newsDetailBack a{
		display: inline-block;
		text-decoration: none;
		border: none;
		background: #00337B;
		padding: 10px 60px;
		color: #fff;
		font-size: 13px;
		cursor: pointer;
		transition: all .2s ease-in-out;
	}





	/*newsLists*/
	.newsLists{
	}

	.newsLists ul{
	}
	.newsLists ul li{
		border-bottom: 1px solid rgba(0,0,0,.3);
	}
	.newsLists ul li:nth-of-type(1){
		border-top: 1px solid rgba(0,0,0,.3);
	}
	.newsLists ul li a{
		display: block;
		text-decoration: none;
		color: #333;
		transition: all .2s ease-in-out;
		padding: 15px 5px 15px;
	}
	newsLists ul li a .newsDate{
		margin-bottom: 5px;
		color: rgba(0,0,0,.8);
	}
	.newsLists ul li a .newsTxt{
		padding: 0 0 0 18px;
		background: url("../../images/news_icon.svg") no-repeat 0 6px;
		background-size: 11px auto;

	}

	.newsLists ul li a:hover{
		background: rgba(0,0,0,.1);
	}


	
	
	
	
	
	
	
	

	/*recruit new*/


	.recruitRead{
		font-size: 22px;
		line-height: 36px;
		font-family: 'Noto Serif JP', serif;

		margin-bottom: 50px;
		text-align: center;
	}

	.recruitTopArea{
		display: block;
		flex-wrap: wrap;

		gap:0 60px;
		margin-bottom: 50px;
	}
	.recruitTopArea.reverse{
		flex-direction: row-reverse;
	}

	.recruitTopArea .recruitTopBoxImg{
		width: 100%;
		margin-bottom: 24px;
	}
	.recruitTopArea .recruitTopBoxImg img{
		width: 100%;
		height: auto;
		box-shadow: 8px 8px 0 rgba(0,0,0,.08);
	}


	.recruitTopArea .recruitTopBoxTxt{
		width: 100%;
	}
	.recruitTopArea .recruitTopBoxTxt p{
		font-size: 13px;
		line-height: 180%;

		letter-spacing: .05em;
	}

	.recruitLast{
		display: block;
		flex-wrap: wrap;

		gap:0 60px;
		margin-bottom: 50px;
	}
	.recruitLast.reverse{
		flex-direction: row-reverse;
	}

	.recruitLast .recruitLastBoxImg{
		width: 100%;
		margin-bottom: 24px;
	}
	.recruitLast .recruitLastBoxImg img{
		width: 100%;
		height: auto;
		box-shadow: 8px 8px 0 rgba(0,0,0,.08);
	}


	.recruitLast .recruitLastBoxTxt{
		width: 100%;
	}
	.recruitLast .recruitLastBoxTxt p{
		font-size: 13px;
		line-height: 180%;

		letter-spacing: .05em;
	}

	
	/*h2Title*/
	.h2Title2{
		font-size: 20px;
		line-height: 100%;
		font-weight: normal;
		margin-bottom: 20px;
		padding: 0 0 0 16px;
		font-family: 'Noto Serif JP', serif;
		position: relative;
	}

	.h2Title2::before{
		content: "";
		width:7px;
		height: 100%;
		background-color: #00337B;
		position: absolute;
		top: 0;
		left: 0;
	}

	.recruitStepArea{
		margin-bottom: 50px;
	}


	.recruitStepBox{
		padding: 20px 0;
		border-bottom: #999 dashed 1px ;

		display: flex;

		flex-wrap: wrap;
		gap:0 14px;
	}
	.recruitStepBox:nth-of-type(1){
		border-top: #999 dashed 1px ;
	}

	.recruitStepIcon{
		width: 20%;

		background: #CB000B;

		border-radius: 5px;
		text-align: center;

		color: #fff;

		display: flex;
		align-items: center;
	}
	.recruitStepBox:nth-of-type(1) .recruitStepIcon{background: #E3878C;}
	.recruitStepBox:nth-of-type(2) .recruitStepIcon{background: #DA636A;}
	.recruitStepBox:nth-of-type(3) .recruitStepIcon{background: #DA4951;}
	.recruitStepBox:nth-of-type(4) .recruitStepIcon{background: #D9202A;}
	.recruitStepBox:nth-of-type(5) .recruitStepIcon{background: #CB000B;}


	.recruitStepIcon span{
		display: inline-block;
		width: 100%;
		font-weight: bold;

		font-size: 14px;
	}
	.recruitStepTxt{
		width: calc(80% - 14px);

	}
	.recruitStepTxt h3{
		font-size: 14px;
		font-weight: bold;
		margin: 0 0 2px;
	}
	.recruitStepTxt h3 span{
		display: block;
		font-size: 11px;
	}
	
	.recruitStepTxt p{
		font-size: 13px;
		margin-bottom: 0;
	}

	.recruitScheArea{
		padding: 20px;
		background: #F7F7F7;

		display: block;

		flex-wrap: wrap;

		margin-bottom: 50px;
	}
	.recruitScheArea .recruitScheTitle{
		width: 100%;
		font-size: 17px;
		font-family: 'Noto Serif JP', serif;

		padding: 0 0 0 30px;
		background: url("../../recruit/images/time_icon.png") no-repeat left 0 top 0;
		background-size: 22px auto;
		
		margin-bottom: 15px

	}
	.recruitScheArea .recruitScheTitle small{
		font-size: 70%;
	}

	.recruitScheArea .recruitScheChart{
		width: 100%;

		display: flex;

		flex-wrap: wrap;

		gap:2px 0;
	}

	.recruitScheChartTime{
		width: 25%;
		padding: 11px 10px 10px 23px;

		background: rgba(226,226,226,1.00) url("../../recruit/images/recruit_time_arrow.png") no-repeat left 10px top 13px;
		background-size: 7px auto;
		line-height: 100%;
		font-size: 12px;
	}
	.recruitScheChartTxt{
		width: 75%;
		background: rgba(255,255,255,1.00);
		padding: 10px 10px;
		line-height: 100%;

		font-size: 13px;
	}

	.recruitLastRead{
		font-size: 22px;
		font-family: 'Noto Serif JP', serif;

		margin-bottom: 20px;
		text-align: center;
	}

	.recruitLastTxt{
		font-size: 14px;
		font-family: 'Noto Serif JP', serif;
		margin-bottom: 30px;

		text-align: center;

		line-height: 200%;
	}

	.recruitLastTxt span{
		position: relative;
		display: inline-block;
	}
	.recruitLastTxt span::before{
		content: "";

		position: absolute;

		bottom: 3px;
		left: 0;

		width: 100%;
		height: 5px;

		background: rgba(205,0,3,.3);
		border-radius: 5px;
	}

	.recruitLastBtn{
		text-align: center;
	}
	.recruitLastBtn a{
		display: inline-block;
		padding: 18px 60px 20px 25px;
		background: #00337B url("../../recruit/images/recruit_btn_arrow.png") no-repeat right 13px center;
		background-size: 20px auto;
		color: #fff;
		text-decoration: none;
		line-height: 140%;
		transition: all .2s ease-in-out;

		font-size: 14px;
		
	}
	.recruitLastBtn a:hover{
		background: #CB000B url("../../recruit/images/recruit_btn_arrow.png") no-repeat right 10px center;
		background-size: 28px auto;
	}










}






/**/

.prfList3col{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap:0 5%;
}

.prfList{
	width:30%;
}
.prfList li{
	margin-bottom: 6px;
}

.chartArea dl dd ul li.prfListTitle{
	font-weight: bold;
	list-style: none;
	margin-left: 0;
}


@media screen and (max-width: 768px) {

	.prfList3col{
		display: block;
		flex-wrap: wrap;
		justify-content: flex-start;
		gap:0 0;
	}

	.prfList{
		width:95%;
		margin-top: 7px;
		padding-top: 7px;
		border-top: 1px solid #ddd;
		padding-left: 5%
	}
	.prfList li{
		margin-bottom: 3px;
	}

	.chartArea dl dd ul li.prfListTitle{
		font-weight: bold;
		list-style: none;
		margin-left: 0;
	}

	
}






.topMiddle{
	padding: 120px 0 30px;
}
.topMiddleTxt{
    font-family: 'Noto Serif JP', serif;
    font-size: 27px;
    line-height: 170%;
    text-align: center;
	color: #fff;
}

@media screen and (max-width: 768px) {

	.topMiddle{
		padding: 120px 0 30px;
	}
	.topMiddleTxt{
		font-family: 'Noto Serif JP', serif;
		font-size: 18px;
		line-height: 180%;
		text-align: center;
		color: #fff;
	}
	
}
