@charset "utf-8";
.pc{
	display: none!important;
}
p#sp_bt a{
	width: 70px;
	height: 30px;
	display: block;
	position: relative;
	font-size: 0.8em;
	font-weight: bold;
	padding-top: 35px;
	padding-bottom: 5px;
	text-align: center;
	cursor: pointer;
	color: #013769;

}
p#sp_bt a:before{
	width: 50%;
	height: 2px;
	background: #013769;
	content: "";
	display: block;
	position: absolute;
	top: 20px;
	left: 25%;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}
p#sp_bt a span:before{
	width: 50%;
	height: 2px;
	background: #013769;
	content: "";
	display: block;
	position: absolute;
	top: 10px;
	left: 25%;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}
p#sp_bt a:after{
	width: 50%;
	height: 2px;
	background: #013769;
	content: "";
	display: block;
	position: absolute;
	top: 30px;
	left: 25%;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}

p#sp_bt a.ac{
	z-index: 44444;
}
p#sp_bt a.ac:before{
	width: 50%;
	left: 25%;
	top: 20px;
	transform: rotate(-45deg);
}
p#sp_bt a.ac:after{
	width: 50%;
	left: 25%;
	top: 20px;
	transform: rotate(45deg);
}
p#sp_bt a.ac span:before{
	display: none;
}








.container{
	width: 90%;
	margin: 0 auto;
	position: relative;
}



header{
	position: fixed;
	top: 20px;
	z-index: 1000;
	width: 100%;
}
header .container{
	position: static;
}
header .headWrap{
	position: static;
	background: #FFFFFF;
	display: flex;
	padding: 10px 20px;
	background: #FFFFFF;
	border-radius: 18px;
	align-items: center;
	justify-content: space-between;
	box-shadow: 0 3px 6px rgba(0,0,0,0.16);
	z-index: 10;
}
header nav{
    position: absolute;
    top: 110px;
    left: 25px;
    width: calc(100% - 50px);
    z-index: 9;
}
header nav.ac ul {
	display: flex;
}
header nav ul {
	border-radius: 20px;
	box-shadow: 0 3px 6px rgba(0,0,0,0.16);
    background: #FFFFFF;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    z-index: 33333;
    gap: 2em;
    display: none;
    padding: 40px 0;
}

header nav ul a{
	color: #013769;
	font-weight: bold;
	text-decoration: none;
	font-size: 1.4em;
	padding: 10px;
	display: block;

}
header nav ul li:last-child{
	width:100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

header nav ul li:last-child a{
	display: block;
	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: 18px;
	color: #FFFFFF;
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(80% - 40px);
	padding: 20px;

}

#mainvisual .mvWrap{
	height: 670px;
	width: 100%;
	z-index: -1;
	top: 0;
	left: 0;
	position: fixed;
	background: url(../images/mv01.jpg) center center / cover no-repeat;
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
}
.recruit #mainvisual .mvWrap{
	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: 670px;
}
.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: 1.8em;
}
.hq{
	position: relative;
	bottom: 20px;
}
.hq:after{
	content: "";
	display: block;
	width: 100%;
	height: 25px;
	position: absolute;
	bottom: -25px;
	left: 0;
	background: #FFFFFF;
}


#top01 .container{
}
.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: 30px;

}
.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: block;
	padding: 20px 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);
	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;
	position: relative;
	right: -10%;
}
.t01c2{
	position: relative;
	left: -10%;
}
#top01{
	position: relative;
	overflow: hidden;
}
#top01>*{
	position: relative;
	z-index: 1;
}
#top01 #t1bg1{
	content: "";
	display: block;
	width:70%;
	height: 50%;
	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: 80%;
	height: 40%;
	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: 20px 30px;
	display: block;
	color: inherit;
	text-decoration: none;
	font-weight: bold;
	font-size: 0.9em;
}
ul.newsList li a span{
	color: #1356A3;
	display: block;
}
ul.newsList li a strong{
	display: block;
}


.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: 300px;
	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;
}
.subHead .container{
	width: 100%;
}

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; 
}
.subHead .hq{
	bottom: 0;
}
.subHead .hq:after{
	display: none;
}




.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: 10px;
	text-align: left;
	width: 8em;
	vertical-align: top;
	background: #96B2D6;
}
.page .parag table th{
	background: #D6F4FF;
}
.parag table td{
	background: #E8E8E8;
	padding: 10px;
}
.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(97% / 2);
}
.parag .wp-block-buttons{
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin: 50px 0;
}
.parag .wp-block-buttons .wp-block-button{
	width: calc(100%);
}
.parag .wp-block-buttons .wp-block-button a{
	color: #FFFFFF;
	font-size: 1.125em;
	color: #FFFFFF;
	text-decoration: none;
	margin-top: 30px;
	display: 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);
	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;
	gap: 30px;
}
.parag .wp-block-media-text>*{
	width: 100%;
}


.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: 10px;
	flex-wrap: wrap;
	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 > *{
	width: 100%;
}
.parag .wp-block-group-is-layout-flex > iframe{
}



.business .parag .wp-block-media-text{
	align-items: center;
	padding: 50px 0;
	flex-direction: column-reverse;
}
.business .parag .wp-block-media-text.has-media-on-the-right{
	flex-direction: column;
}
.business .parag .wp-block-media-text img{
	border-radius: 13px;
}

.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: 100vw;
	height: calc(100%);
	position: absolute;
	bottom: 0;
	left: -5%;
}
.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{
}
.business .parag .wp-block-media-text__content{
}



.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);
	/*box-shadow: 0 3px 6px rgba(0,0,0,0.16);*/
	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;
	margin : 0 30px; ;
}

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





.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;
	background: #E1F0F4!important;
}
.parag form table *{
	display: block;
}

.parag form table th{
	font-weight: bold;
	width:  calc(100% - 40px);
	padding: 0;
	background: #E1F0F4!important;
	padding: 20px;
}

.parag form table td{
	width:  calc(100% - 40px);
	padding: 0;
	background: #E1F0F4!important;
	padding: 20px;
	padding-top: 0;
}
.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 span:after{
	content: "　※必須";
	display: inline-block;
	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{
	border-left: 1px solid #CCCCCC;
	border-right: 1px solid #CCCCCC;
	border-bottom: 1px solid #CCCCCC;
}
.fair dl dt{
	background: #e2e2e2;
	padding: 10px 1em;
}
.fair dl dd{
	/*background: #FF0000;*/
	padding: 10px 1em;
}

.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 .mvWrap{
        display: flex;
        align-items: center;
        justify-content: center;
}


.recruit #mainvisual p{
	text-align: center;
	font-size: 1.3em;
	font-weight: 900;
	color: #FFFFFF;
	margin-bottom: 30px;
	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: 2.725em;
	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.65em;
	text-shadow: 0 3px 6px rgba(0,0,0,0.16);
}
