@charset "utf-8";
.sp{
	display: none!important;
}
.container{
	width: calc(100% - 420px);
	max-width: 1300px;
	margin: 0 auto;
	position: relative;
}
main .container{
	z-index: 1;
}

header{
	position: absolute;
	top: 45px;
	width: 100%;
}

#front header{
	position: fixed;
	top: 45px;
	width: 100%;
}
header .container{
	position: static;
}
header .headWrap{
	position: static;
	background: #FFFFFF;
	display: flex;
	padding: 20px 30px;
	background: #FFFFFF;
	border-radius: 18px;
	align-items: center;
	justify-content: space-between;
	box-shadow: 0 3px 6px rgba(0,0,0,0.16);
}
header nav ul{
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
header nav ul a{
	color: #013769;
	font-weight: bold;
	text-decoration: none;
	margin-left: 2.5em;
}
header nav ul li:last-child a{
	position: absolute;
	top: -45px;
	right: 0;
	background: linear-gradient(to right bottom,#4f9a0e 0%, #72b515 51.65%, #96dd10 100%);
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
	border-radius: 0 0 0 18px;
	color: #FFFFFF;
	display: flex;
	align-items: center;
	justify-content: center;
	height: calc(100% + 45px);
	width: 150px;
}

#mainvisual{
	height: 770px;
	width: 100%;
	z-index: -1;
	position: fixed;
	background: url(../images/mv01.jpg) center center / cover no-repeat;
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
}
.recruit #mainvisual{
	background: url(../images/mv02.jpg) center center / cover no-repeat;
}

#mainvisual #mvbg{
	display: block;
	width: 100%;
	height: 100%;
	background: url(../images/mv01.png) left bottom / cover no-repeat;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

#front .main{
	padding-top: 770px;
}
.hq span{
	line-height: 200%;
	display: inline;
	background: #FFFFFF;
	border-radius: 0 15px 0 0;
	padding: 20px 30px;
	font-weight: bold;
	color: #1356A3;
	font-size: 2.6em;
}
.hq{
	position: relative;
	bottom: 20px;
	display: inline-block;
}
.hq:after{
	content: "";
	display: block;
	width: 100%;
	height: 20px;
	position: absolute;
	bottom: -20px;
	left: 0;
	background: #FFFFFF;
}



.cont1{
	padding: 60px 0;
	background: #FFFFFF;
}
.wWrap{
	background: #FFFFFF;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
	padding: 50px 75px;

}
.cont1 h2 span{
	color: #03487D;
	font-weight: bold;
	display: block;
	margin-bottom: 5px;
}
.cont1 h2 strong{
	font-size: 1.75em;
	display: block;
}
.cont1 h2{
	margin-bottom: 30px;
}

.wWrap p{
	font-size: 1.125em;
}
.bt a{
	color: #FFFFFF;
	font-size: 1.125em;
	color: #FFFFFF;
	text-decoration: none;
	margin-top: 30px;
	display: inline-block;
	padding: 32px 35px;
	border-radius: 13px;
	background: linear-gradient(-.25turn,#3291b4 0%, #07638e 17.75%, #003a74 100%);
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
	min-width: 350px;
	position: relative;
	text-align: left;
}
.bt a:after{
	content: "";
	width: 28px;
	height: 28px;
	display: block;
	position: absolute;
	top: calc(50% - 14px);
	right: 35px;
	background: url(../images/lm02.svg) center center / contain no-repeat;
}

.t01c1{
	margin-bottom: 90px;
}
.t01c2{
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 80px;
}
#top01{
	position: relative;
	overflow: hidden;
}
#top01 #t1bg1{
	content: "";
	display: block;
	width: 30%;
	height: 80%;
	position: absolute;
	top: 0;
	left: 0;
	background: url(../images/c02.jpg) center center / cover no-repeat;
	z-index: 0;
}
#top01 #t1bg2{
	content: "";
	display: block;
	width: 50%;
	height: 50%;
	position: absolute;
	bottom: 0;
	right: 0;
	background: url(../images/c01.jpg) center center / cover no-repeat;
	z-index: 0;
}
.bgg{
	background: #f8f8f8;
}
ul.newsList{
	display: flex;
	flex-direction: column;
	gap: 20px;
}
ul.newsList li a{
	border-radius: 18px 0px 0px 18px;
	background: #fff;
	padding: 40px 50px;
	display: flex;
	gap: 2.5em;
	color: inherit;
	text-decoration: none;
	font-weight: bold;
	font-size: 0.9em;
}
ul.newsList li a span{
	color: #1356A3;
}

.tar{
	text-align: right;
}
footer{
	background: url(../images/foot_bg.png) bottom right / auto 100% no-repeat #FFFFFF;
	padding: 45px 0 0 0;
}
footer h2 span{
	display: block;
	font-size: 0.8em;
	font-weight: bold;
	margin-top: 10px;
}
footer h2 a{
	color: inherit;
	text-decoration: none;
}
footer h2{
	margin-bottom: 10px;
}
footer p{
	font-size: 0.9em;
}
footer nav ul{
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 2em;
}
footer nav ul li a{
	color: inherit;
}
#copyright{
	text-align: right;
	margin-top: 15px;
}

.subHead{
	width: 100%;
	height: 450px;
	background: url(../images/mv01.jpg) center center / cover no-repeat;
	display:flex;
	align-items: flex-end;

}
.recruit .subHead{
	background: url(../images/mv02.jpg) center center / cover no-repeat;
}

ul.newsList.archive li a{
	border-radius: 0px;
	background: #fff;
	padding: 40px 0px;
	display: flex;
	gap: 2.5em;
	color: inherit;
	text-decoration: none;
	font-weight: bold;
	font-size: 0.9em;
	border-bottom: 1px dashed #1256A3;
}
ul.newsList li a span{
	color: #1356A3;
}
.subHead .hq span{
	position: relative; 
	padding-left: 0;
	padding-right: 50px;
}
.subHead .hq span:before{
	content: "";
	display: block;
	height: calc(100% + 20px);
	width: calc(50vw - 210px);
	background: #FFFFFF;
	position: absolute;
	top: 0;
	left: calc(-50vw + 210px);
}

.parag h3{
	margin-bottom: 50px;
}
.page .parag h3{
	margin-top: 80px;
	margin-bottom: 50px;
}
.parag h3 strong{
	font-size: 1.75em;
	display: block;
	font-weight: bold;
	padding: 20px 0 0 30px;
	position: relative;
}
.parag h3 strong:before{
	content: "";
	display: block;
	width: 38px;
	height: 28px;
	background: url(../images/lm01.svg) top left / contain no-repeat;
	position: absolute;
	top: 0;
	left: 0;
}
.parag h4{
	font-size: 1.5em;
	padding-left: ;
	margin-top: 40px;
	margin-bottom: 30px;
	vertical-align: baseline;
	font-weight: bold;
}
.parag h4:before{
	content: "";
	display: inline-block;
	width: 19px;
	height: 10px;
	background: linear-gradient(#3291b4 0%, #07638e 17.75%, #003a74 100%);
	margin-right: 10px;
}
.parag h5{
	color: #1256A3;
	font-size: 1.5em;
	padding-left: ;
	margin-top: 40px;
	margin-bottom: 30px;
	display: flex;
	align-items: flex-end;
	font-weight: bold;
}
.parag p{
	margin-bottom: 1em;
}

.parag table{
	width: 100%;
	margin-bottom: 50px;
	border-collapse:separate;

}
.parag table th{
	padding: 25px;
	text-align: left;
	width: 8em;
	vertical-align: top;
	background: #96B2D6;
}
.page .parag table th{
	background: #D6F4FF;
}
.parag table td{
	background: #E8E8E8;
	padding: 25px;
}
.parag .wp-block-image{
		margin: 40px 0;
}
.parag figcaption{
	text-align: center;
	padding: 5px 0;
}

.parag .wp-block-gallery{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 3%;
	margin: 40px 0;
}
.parag .wp-block-gallery figure{
	width: calc(94% / 4);
}
.parag .wp-block-buttons{
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin: 50px 0;
}
.parag .wp-block-buttons .wp-block-button a{
	color: #FFFFFF;
	font-size: 1.125em;
	color: #FFFFFF;
	text-decoration: none;
	margin-top: 30px;
	display: inline-block;
	padding: 32px 35px;
	border-radius: 13px;
	background: linear-gradient(-.25turn,#3291b4 0%, #07638e 17.75%, #003a74 100%);
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
	min-width: 350px;
	position: relative;
	text-align: left;
}
.parag .wp-block-buttons .wp-block-button a:after{
	content: "";
	width: 28px;
	height: 28px;
	display: block;
	position: absolute;
	top: calc(50% - 14px);
	right: 35px;
	background: url(../images/lm02.svg) center center / contain no-repeat;
}

.parag .wp-block-media-text{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 50px 0;
}
.parag .wp-block-media-text>*{
	width: 48%;
}


.parag table{
	width: 100%;
	margin-bottom: 50px;
	border-collapse:separate;

}
.parag table th{
	padding: 25px;
	text-align: left;
	width: 8em;
	vertical-align: top;
	background: #96B2D6;
}
.page .parag .pt2 table th{
	background: #FFFFFF;
}
.parag .pt2 table td{
	background: #FFFFFF;
	padding: 25px 0;
	vertical-align: top;
}
.parag .pt2 table strong{
	font-weight: bold;
	display: inline-block;
	font-size: 1.2em;
	padding-bottom: 20px;
}
.parag .pt2 table td iframe{
	width: 100%;
}
.parag .pt2 table tr td:first-child{
	width: 40%;
	padding-right: 5%;
}


.parag .wp-block-group-is-layout-flex{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 50px;
	padding-bottom: 50px;
	gap: 50px;
	flex-wrap: nowrap;
	border-bottom: 1px dashed #1256A3;
}
.parag .wp-block-group-is-layout-flex strong{
	font-weight: bold;
	display: inline-block;
	font-size: 1.2em;
	padding-bottom: 20px;
}

.parag .wp-block-group-is-layout-flex > *{
}
.parag .wp-block-group-is-layout-flex > iframe{
	width: 60%;
}

.business .parag .wp-block-media-text{
	align-items: center;
}
.business .parag .wp-block-media-text img{
	border-radius: 13px;
	margin-bottom: 50px;
}

.business .parag .wp-block-media-text h3{
	margin-top: 0;

}
.business .parag .wp-block-media-text:first-of-type{
	position: relative;
}
.business .parag .wp-block-media-text:first-of-type:before{
	content: "";
	display: block;
	background: #E1F0F4;
	width: 200vw;
	height: calc(100% - 50px);
	position: absolute;
	bottom: 0;
	left: -50vw;
}
.business .parag .wp-block-media-text:first-of-type:after{
	content: "";
	display: block;
	background: url(../images/cc1.svg) top left / contain no-repeat;
	width: 260px;
	height: 187px;
	position: absolute;
	bottom: -80px;
	left: 45%;
	z-index: 2;
}
.business .parag .wp-block-media-text:first-of-type>*{
	position: relative;
	z-index: 1;
}
.business .parag .wp-block-media-text__media{
	width: 40%;
}
.business .parag .wp-block-media-text__content{
	width: 55%;
}
.parag ul{
	margin:40px 0;
	list-style: disc outside;
	margin-left: 2em;
}
.parag ul li{
	margin-bottom: 0.8em;
}

.reqhead{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.reqhead > *{
	width: 48%;
}
.reqhead figure{
	width: 30%;
}
.reqhead div.left{
	width: 66%;
}


.reqhead figure img{
	width: 100%;
	border-radius: 13px;
}
.parag .reqhead .left h4{
	color: #03487D;
	background: none;
	padding: 0;
	margin-top: 0;
}
.parag .reqhead .left h4:before{
	display: none;
}

.recdet>*{
}
.recdet>h5:before{
}

.recdet>h5{
	margin-top: 40px;
	background: #1256A3;
	color: #FFFFFF;
	padding: 10px 30px;

}


main .recmenu{
	background: rgba(255,255,255, 0.9);
	border-top: 2px solid #1256A3;
	/*box-shadow: 0 3px 6px rgba(0,0,0,0.16);*/
	width: 100%;
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 10000;
}
main .recmenu.nf{
	background: rgba(255,255,255, 1);
	border-top: 2px solid #1256A3;
	width: 100%;
	position: relative;
	bottom: 0;
	left: 0;
	margin-top: 80px;
}
.parag .recmenu ul{
	list-style: none;
	text-align: center;
        margin: 20px 0;
        margin-left: 0;
}

.parag .recmenu ul li{
	margin :0;
}
.parag .recmenu ul li.bt a{
	margin-top: 0;
	text-align: center;
}

.parag .recmenu ul li.jlink a{
	color: inherit;
	text-decoration: underline;
	margin-top: 10px;
	display: block;
	text-align: center;
}


.parag ul.recruit_list{
	margin: 0;
	list-style: none;
}
.parag ul.recruit_list a{
}
.parag ul.recruit_list h3{
	margin-top: 0;
}
.parag ul.recruit_list li{
	margin-bottom: 40px;
	padding-bottom: 40px;
	border-bottom: 1px dashed #1256A3;
}
.cont1{
	position: relative;
	z-index: 10;
}

.parag form table{
	border-collapse: collapse;
	margin-top: 60px;
}
.parag form table th{
	font-weight: bold;
	width: 16em;
	background: #E1F0F4!important;
}
.parag form table td{
	background: #E1F0F4!important;
}
.parag form table td input{
	padding: 10px;
	width: calc(100% - 20px);
	border:none;
	background: #FFFFFF;
	border-radius: 2px;
}
.parag form table td textarea{
	padding: 10px;
	width: calc(100% - 20px);
	border:none;
	background: #FFFFFF;
	border-radius: 2px;
	min-height: 180px;
}
.parag form table th.required:after{
	content: "　※必須";
	color: #1256A3;
	font-size: 0.8em;
}

.bt a.back{
	background: #e2e2e2;
	background-color: ;
	color: #000000;
}
.bt a.back:after{
	display: none;
}


.fair section{
/*	margin-bottom: 50px;
	padding-bottom: 50px;
	border-bottom: 1px solid #FF0000;
*/}
.fair .subContent,.fair .tags{
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin: 30px 0;
}
.fair .subContent span,.fair .tags span{
	display: block;
	background: #e2e2e2;
	border-radius: 5px;
	font-size: 0.8em;
	padding: 5px 10px;
}
.fair .subContent span br,.fair .tags span br{
	display: none;
}
.fair h4:before{
	display: none;
}

.fair h4{
	margin-top: 40px;
	background: #1256A3;
	color: #FFFFFF;
	padding: 10px 30px;

}
.fair .table{
	margin: 40px 0;
}
.fair div dl:first-child dt{
	border-top: 1px solid #CCCCCC;
}
.fair div dl:first-child dd{
	border-top: 1px solid #CCCCCC;
}

.fair dl{
	display: flex;
	flex-wrap: wrap;
}
.fair dl dt{
	background: #e2e2e2;
	width: 8em;
	padding: 20px 1em;
	border-bottom: 1px solid #CCCCCC;
}
.fair dl dd{
	/*background: #FF0000;*/
	padding: 20px 1em;
	width: calc(100% - 12em);
	border-bottom: 1px solid #CCCCCC;
}

.fair dl dt h5{
        color: inherit;
        font-size: 1em;
        padding-left: 0;
        margin-top: 0px;
        margin-bottom: 0px;
        display: block;
        font-weight: bold;
}

.fair .table dl dd{
}

.parag .sdate{
	color: #AAAAAA;
	text-align: right;
	position: relative;
}

.recruit #mainvisual {
        display: flex;
        align-items: center;
        justify-content: center;
}
.recruit #mainvisual p{
	text-align: center;
	font-size: 2.8em;
	font-weight: 900;
	color: #FFFFFF;
	margin-bottom: 50px;
	line-height: 160%;
	text-shadow: 0 3px 6px rgba(0,0,0,0.16);
	padding-top: 100px;
}
.recruit #mainvisual h2 span{
	display: block;
	text-align: center;
	color: #FFFFFF;
	font-size: 3.225em;
	font-weight: 900;
	line-height: 160%;
	text-shadow: 0 3px 6px rgba(0,0,0,0.16);
}
.recruit #mainvisual h2 strong{
	display: block;
	text-align: center;
	font-weight: 900;
	color: #FFFFFF;
	line-height: 160%;
	font-size: 1.95em;
	text-shadow: 0 3px 6px rgba(0,0,0,0.16);
}



