﻿@charset "utf-8";


/*----------------------------------------------
	Overall settings
-----------------------------------------------*/

body{ min-width: 1100px; font-family: "Noto Sans JP", serif; color: #111; text-align: center; position: relative;}
body:before{
	content: "";
	display: block;
	position: absolute;
	z-index: 0;
	width: 100%;
	height: 110px;
	background: #CDE2EF;
}
body.ovh{ position: fixed; left: 0; top: 0; width: 100%; height: 100vh;}
a{ color: #111; text-decoration:none; -webkit-transition: all .2s; transition: all .2s;}
a:hover{ opacity: .5; text-decoration:none;}
.underline{ text-decoration: underline;}
/* font */
.notosans{ font-family: "Noto Sans JP", serif;}
.montserrat{ font-family: "Montserrat", sans-serif;}
.kiwimaru{ font-family: "Kiwi Maru", serif;}
.regular400{ font-weight: 400;}
.medium500{ font-weight: 500;}
.bold700{ font-weight: 700;}
/* bg */
.bg-white{ background: #fff;}
.bg-blue{ background: #0068C1;}
.bg-lightblue{ background: #CDE2EF;}
.bg-lightblue2{ background: #ECF3F8;}
.bg-sand{ background: url("../img/bg-sand.png") repeat #fff;}
.bg-sand-blue{ background: url("../img/bg-sand.png") repeat #0068C1; color: #fff;}
.bg-sand-lightblue{ background: url("../img/bg-sand.png") repeat #EBF3F8;}
.bg-sand-lightblue2{ background: url("../img/bg-sand.png") repeat #CDE2EF;}
/* color */
.f-white{ color: #fff;}
.f-red{ color: #c00;}
.f-blue{ color: #0F519B;}
.f-lightblue{ color: #0068C1;}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	body{ min-width: inherit; font-size: 3.73vw;}
	a:hover{ opacity: 1;}
}
@media screen and (max-width: 350px) {
	html{ font-size: 50%;}
}



/*----------------------------------------------
	header
-----------------------------------------------*/

header{
	min-width: 1100px;
	position: fixed;
	top: 0;
	width: 100%;
	height: 110px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 5%;
	background: url("../img/bg-sand.png") repeat #CDE2EF;
	z-index: 9;
	box-sizing: border-box;
}
header.topbg{
	background: url("../img/top-bg.jpg") center top repeat;
}
header .logo{
	width: 140px;
	flex-shrink: 0;
}
header .logo a{
	display: flex;
	flex-direction: column;
	justify-content: center;
	color: #0A376A;
	font-size: 13px;
	font-weight: 500;
	text-align: center;
	line-height: 1.3;
}
header .logo a img,
footer .logo img{
	display: block;
	width: 100%;
	height: auto;
	max-height: 52px;
	object-fit: contain;
	object-position: center center;
}
header .logo .logo_recruit,
footer .logo .logo_recruit{
	display: block;
	width: 100%;
	margin-top: 4px;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 1.2;
	white-space: nowrap;
}
header .logo a:hover{ opacity: 1;}
header .spmenu{
	display: none;
}
header nav ul{
	display: flex;
}
header nav ul li{
	padding: 0 2em;
}
header nav ul li a{
	display: inline-block;
	line-height: 50px;
}
header nav ul li.btn{
	padding: 0 .5em 0 2em;
}
header nav ul li.btn:last-child{ padding-left: .2em;}
header nav ul li.btn a{
	display: inline-block;
	width: 170px;
	color: #fff;
	font-size: 14px;
	font-weight: 500;
	background: #124EB5;
	border-radius: 100px;
	position: relative;
}
header nav ul li.btn:last-child a{ background: #25ACB9;}
header nav ul li.btn a:after{
	display: inline-block;
	content: "";
	position: absolute;
	right: 1em;
	top: 50%;
	transform: translateY(-50%);
	width: 6px;
	height: 6px;
	background: #fff;
	border-radius: 50%;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 1200px) {
	header nav ul li{
		padding: 0 1em;
	}
	header nav ul li.btn{
		padding: 0 .5em 0 1em;
	}
}
@media screen and (max-width: 540px) {
	header{
		min-width: inherit;
		height: 70px;
		padding: 0 5%;
		padding-right: 70px;
	}
	.open header{
		background: #fff;
	}
	header .logo{
		width: 100px;
	}
	header .logo a{
		font-size: 11px;
	}
	header .logo a img,
	footer .logo img{
		max-height: 36px;
	}
	header .logo .logo_recruit,
	footer .logo .logo_recruit{
		margin-top: 2px;
		font-size: 10px;
		letter-spacing: 0.04em;
	}
	header .logo a:hover{ opacity: 1;}
	header .spmenu{
		display: block;
		position: absolute;
		right: 0;
		top: 0;
		width: 70px;
		height: 70px;
		background: #00478A;
		cursor: pointer;
	}
	header .spmenu span{
		display: inline-block;
		position: absolute;
		left: 50%;
		width: 100%;
		width: 29px;
		height: 2px;
		background: #fff;
		transform: translateX(-50%);
		transition: all .5s;
	}
	header .spmenu span {
		display: inline-block;
		transition: all .5s;
	}
	header .spmenu span:nth-of-type(1) { top: 25px;}
	header .spmenu span:nth-of-type(2) { top: 34px;}
	header .spmenu span:nth-of-type(3) { bottom: 25px;}
	header .spmenu.active span:nth-of-type(1){
		transform: translate(-7px, 6px) rotate(-315deg);
		top: 28px;
		left: 30px;
	}
	header .spmenu.active span:nth-of-type(2) { opacity: 0;}
	header .spmenu.active span:nth-of-type(3) {
		-webkit-transform: translate(-7px, -4px) rotate(315deg);
		transform: translate(-7px, -4px) rotate(315deg);
		bottom: 30px;
		left: 30px;
	}
	header nav{
		display: none;
		position: absolute;
		top: 70px;
		left: 0;
		width: 100%;
		height: 100vh;
		background: #4b4b4b;
		overflow-y: auto;
		padding-bottom: 25vw;
		z-index: 99999;
	}
	header nav ul{
		text-align: left;
		display: block;
		padding: 5vw 8vw;
		margin-right: -.5em;
	}
	header nav ul li{
		padding: 0;
		border-bottom: 1px solid #777;
	}
	header nav ul li a{
		display: block;
		color: #fff;
		font-size: 4.266vw;
		font-weight: 500;
		line-height: 2;
		padding: 2.1vw;
		position: relative;
	}
	header nav ul li.btn{
		padding: 2em 0 1em;
		text-align: center;
		border-bottom: none;
	}
	header nav ul li.btn:last-child{ padding: 0;}
	header nav ul li.btn a{
		width: 15em;
		font-size: 3.73vw;
		padding-left: 1em
	}
}



/*----------------------------------------------
	section
-----------------------------------------------*/

section{ padding-top: 110px;}
.wrap{ clear: both; box-sizing: content-box; max-width: 1000px; margin-left: auto; margin-right: auto; padding-left: 5%; padding-right: 5%;}
/* wpeditor */
.wpeditor{ text-align: left; clear: both;}
.wpeditor *:first-child{ margin-top: 0!important;}
.wpeditor h1,.wpeditor h2,.wpeditor h3,.wpeditor h4,.wpeditor h5,.wpeditor h6,.wpeditor a{ color: #0F3286; line-height: 1.4; margin-top: 2em;}
.wpeditor a{ text-decoration: underline;}
.wpeditor h1{ font-size: 32px;}
.wpeditor h2{ font-size: 30px;}
.wpeditor h3{ font-size: 28px;}
.wpeditor h4{ font-size: 24px;}
.wpeditor h5{ font-size: 20px;}
.wpeditor h6{ font-size: 18px;}
.wpeditor p, .wpeditor ul, .wpeditor ol, .wpeditor table{ margin-top: 2em;}
.wpeditor figure{ text-align: center;}
.wpeditor img{ display: block; margin: 2em auto 0;}
.wpeditor p.date{ text-align: right;}
@media screen and (max-width: 540px){
	.wpeditor{ padding-top: 15px;}
	.wpeditor h1{ font-size: 20px;}
	.wpeditor h2{ font-size: 18px;}
	.wpeditor h3{ font-size: 16px;}
	.wpeditor h4{ font-size: 15px;}
	.wpeditor h5{ font-size: 14px;}
	.wpeditor h6{ font-size: 13px;}
}
/* ttl */
.ttl1{
	margin-bottom: 50px;
	color: #0F519B;
	font-weight: 500;
	line-height: 1.5;
}
.ttl1.f-white{ color: #fff;}
.ttl1 span{
	display: block;
	font-size: 32px;
	font-weight: bold;
	letter-spacing: .025em;
}
.ttl1 span::first-letter{
	color: #F0DF0B;
}
.ttl2{
	position: relative;
}
.ttl2:before{
	display: block;
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 100%;
	border-top: 1px dotted #000;
}
.ttl2 span{
	display: inline-block;
	padding: 0 1em;
	font-size: 22px;
	font-weight: 500;
	background: url("../img/bg-sand.png") repeat #fff;
	position: relative;
}
.ttl2.f-blue:before{ border-color: #0068c1;}
.ttl3{
	color: #0f519b;
	font-weight: bold;
	font-size: 36px;
	letter-spacing: .1em;
	line-height: 1.6;
	text-align: center;
	border-top: 2px solid #0F519B;
	border-bottom: 2px solid #0F519B;
}
.ttl3.f-white{
	color: #fff;
	border-color: #fff;
}
.ttl4{
	margin-bottom: .8em;
	font-size: 22px;
	font-weight: 500;
	letter-spacing: .05em;
	line-height: 1.8;
	text-align: left;
	color: #0068c1;
}
/* btn */
.btn1,
.btn2,
.btn3{
	display: inline-block;
	width: 100%;
	max-width: 560px;
	padding: 1em 1em;
	color: #0068c1;
	font-weight: bold;
	font-size: 24px;
	letter-spacing: .04em;
	line-height: 1.2;
	text-align: center;
	background: url("../img/arrow-right-blue.svg") right .7em center no-repeat #fff84d;
	border: 2px solid #0068c1;
}
.btn2{
	color: #0068c1;
	background-color: #fff;
}
.btn2:hover{
	opacity: 1;
	background-color: #ccc;
}
.btn3{
	color: #FFF84D;
	background: url("../img/arrow-right-yellow.svg") right .7em center no-repeat #0068C1;
}
.btn4{
	display: inline-block;
	width: 100%;
	max-width: 250px;
	color: #0F539E;
	font-size: 14px;
	line-height: 4;
	background: #E6EFF5;
	border-radius: 100px;
	position: relative;
	cursor: pointer;
	transition: all .2s;
}
.btn4:hover{
	opacity: .5;
}
.btn4:after{
	display: inline-block;
	content: "";
	position: absolute;
	right: 1em;
	top: 50%;
	transform: translateY(-50%);
	width: 7px;
	height: 7px;
	background: #0F539E;
	border-radius: 100px;
}
/* joinus */
.joinus{
	clear: both;
	padding-top: 60px;
	padding-bottom: 60px;
	background: none;
}
.joinus dd{
	display: flex;
	justify-content: center;
}
.joinus dd a{
	margin: 0 10px;
	width: 42%;
	max-width: 420px;
	line-height: 100px;
	color: #fff;
	font-size: 22px;
	font-weight: 500;
	letter-spacing: .08em;
	border-radius: 15px;
	background: #114eb5;
	position: relative;
}
.joinus dd a:nth-child(2){
	background: #25ADB9;
}
.joinus dd a:after{
	display: block;
	content: "";
	position: absolute;
	right: .7em;
	top: 50%;
	transform: translateY(-50%);
	width: 46px;
	height: 46px;
	background: url("../img/arrow-right.svg") center no-repeat;
	border: 1px solid #fff;
	border-radius: 50%;
}
ul.link-list{
	display: flex;
	justify-content: center;
	padding-bottom: 5em;
}
ul.link-list li{
	padding: 0 30px;
	border-left: 1px solid #000;
	margin-bottom: .5em;
}
ul.link-list li:first-child{
	border-left: none;
}
ul.link-list li a{
	font-size: 16px;
	line-height: 1;
	font-weight: 500;
	padding-right: 25px;
	display: block;
	background: url(../img/ic-arrow-anc.svg) right top .1em no-repeat;
}
ul.link-list li a:hover{
	cursor: pointer;
}
.anc-wrap{
	position: relative;
}
.anc-wrap .anc{
	display: block;
	position: absolute;
	top: -110px;
	left: 0;
	height: 0;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	section{ padding-top: 70px;}
	.pt100{ padding-top: 15vw;}
	/* ttl */
	.ttl1{
		margin-bottom: 10vw;
	}
	.ttl1 span{
		font-size: 6.4vw;
	}
	.ttl2 span{
		font-size: 5.3vw;
	}
	.ttl3{
		font-size: 6.4vw;
		line-height: 2;
	}
	.ttl4{
		margin-bottom: .5em;
		font-size: 5.3vw;
	}
	/* btn */
	.btn1{
		font-size: 5.3vw;
	}
	.btn2{
		font-size: 5.3vw;
	}
	/* joinus */
	.joinus{
		clear: both;
		padding-top: 8vw;
		padding-bottom: 8vw;
	}
	.joinus dd{
		display: block;
	}
	.joinus dd a{
		display: block;
		margin: 0 0 3vw;
		width: 100%;
		max-width: inherit;
		line-height: 3;
		font-size: 5.3vw;
		background-size: 7.46vw;
	}
	.joinus dd a:after{
		width: 7.46vw;
		height: 7.46vw;
		background-size: 1.4vw;
	}
	ul.link-list{
		display: block;
	}
	ul.link-list li{
		border-left: none;
		border-top: 1px solid #000;
		margin-bottom: 0;
		padding: 0;
	}
	ul.link-list li:first-child{
		border-top: none;
	}
	ul.link-list li a{
		font-size: 3.77vw;
		line-height: 1.8;
		padding: 3vw 0;
		background-position: right top 4.5vw;
	}
	.anc-wrap .anc{
		top: -70px;
	}
}



/*----------------------------------------------
	footer
-----------------------------------------------*/

footer{
	padding-top: 50px;
	padding-bottom: 50px;
	background: #EDEFF5;
	position: relative;
}
footer .pagetop{
	position: fixed;
	z-index: 10;
	right: 2%;
	bottom: 30px;
	cursor: pointer;
}
footer .logo{
	width: 140px;
	color: #0A376A;
	font-size: 13px;
	font-weight: 500;
	text-align: center;
	line-height: 1.3;
}
footer .fnav{
	display: flex;
	justify-content: space-between;
	margin-bottom: 40px;
}
footer .fnav ul{
	display: flex;
	line-height: 85px;
}
footer .fnav ul li:not(:last-child){
	margin-right: 3em;
}
footer .fnav p{
	width: 27%;
}
footer .fnav p a{
	display: flex;
	justify-content: center;
	align-items: center;
	padding-right: 2em;
	height: 85px;
	line-height: 1.4;
	background: #fff;
	border-radius: 8px;
	position: relative;
}
footer .fnav p a:after{
	display: block;
	content: "";
	position: absolute;
	right: .7em;
	top: 50%;
	transform: translateY(-50%);
	width: 46px;
	height: 46px;
	background: url("../img/arrow-right-blue.svg") center / 5px auto no-repeat #E6EFF5;
	border: 1px solid #fff;
	border-radius: 50%;
}
footer .flink{
	font-size: 14px;
	margin-bottom: .5em;
}
footer .copy{
	color: #999;
	font-size: 12px;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	footer{
		padding-top: 15vw;
		padding-bottom: 15vw;
	}
	footer .pagetop{
		width: 12%;
		bottom: 10px;
	}
	footer .pagetop img{
		width: 16vw;
	}
	footer .logo{
		width: 100px;
		font-size: 11px;
		margin-bottom: 1em;
	}
	footer .fnav{
		display: block;
		margin-bottom: 3em;
	}
	footer .fnav ul{
		flex-wrap: wrap;
		line-height: 3;
		margin-bottom: 1em;
	}
	footer .fnav ul li{
		width: 50%;
		font-size: 4.26vw;
	}
	footer .fnav ul li:not(:last-child){
		margin-right: 0;
	}
	footer .fnav p{
		width: auto;
	}
	footer .fnav p a{
		height: 5em;
		font-size: 4.26vw;
	}
	footer .fnav p a:after{
		display: block;
		content: "";
		position: absolute;
		right: .7em;
		top: 50%;
		transform: translateY(-50%);
		width: 46px;
		height: 46px;
		background: url("../img/arrow-right-blue.svg") center / 5px auto no-repeat #E6EFF5;
		border: 1px solid #fff;
		border-radius: 50%;
	}
	footer .flink{
		font-size: 3.73vw;
	}
	footer .copy{
		font-size: 3.2vw;
	}
}



















































/*--------------------------------------------------------------------------------------------
	Sub-page settings
----------------------------------------------------------------------------------------------*/
/*----------------------------------------------
	/
-----------------------------------------------*/

.topbg{
	letter-spacing: -.025em;
	background: url("../img/top-bg.jpg") center top repeat;
	overflow: hidden;
}
.top1{
	padding-bottom: 150px;
	background: url("../img/top1-bg-bottom.jpg") center bottom -1px / 100% auto no-repeat;
}
@media screen and (max-width: 1366px) {
	.top1{
		background-size: auto 150px;
	}
}
.top1 .txt{
	margin-bottom: 2em;
	font-size: 20px;
}
.top2{
	padding: 60px 0 130px;
	color: #fff;
	background: url("../img/top2-bg-bottom.jpg") center bottom / 100% auto no-repeat #308EDE;
}
@media screen and (max-width: 1366px) {
	.top2{
		background-size: auto 170px;
	}
}
.top2 .box1{
	margin-bottom: 80px;
	position: relative;
}
.top2 .box1 > figure{
	position: absolute;
	left: 1%;
	top: 30px;
	width: 250px;
}
.top2 .box2{
	position: relative;
}
.top2 .box2 > figure{
	position: absolute;
	right: 2%;
	top: 0;
	width: 203px;
}
.top2 h2{
	margin-bottom: 1em;
}
.top2 ol{
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	text-align: center;
}
.top2 ol li{
	display: flex;
	flex-direction: column;
	padding: 50px 30px 30px;
	width: 31.4%;
	color: #000;
	background: #fff;
	border-radius: 20px;
	position: relative;
	box-shadow: 0px 0px 15px rgba(29, 32, 52, 0.2);
}
.top2 ol li .number{
	position: absolute;
	left: 1.5em;
	top: -.5em;
	width: 53px;
}
.top2 ol li figure img{
	width: 140px;
}
.top2 ol li h3{
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 2.2em;
	padding: .8em 0 .5em;
	margin: 0;
	color: #0068C1;
	font-size: 26px;
	font-weight: 500;
	line-height: 1.15;
	letter-spacing: -.05em;
}
.top2 ol li .txt{
	font-size: 14px;
	margin-bottom: 1em;
	flex: 1;
}
.top2 ol li .btn{
	margin-top: auto;
}
.top2 .box1-single ol{
	justify-content: center;
}
.top2 .box1-single ol li{
	width: 56%;
	max-width: 620px;
	padding-top: 40px;
}
.top3{
	padding: 60px 0 20px;
	position: relative;
}
.top3:after{
	display: block;
	content: "";
	position: absolute;
	left: 0;
	top: calc(100% - 1px);
	width: 100%;
	aspect-ratio: 1366 / 89;
	background: url("../img/top3-bg-bottom.svg") center bottom / 100% auto no-repeat;
}
.top3 .slick-list{
	overflow: visible!important;
}
.top3 .slick-slide{
    width: 320px;
	padding: 0 10px;
	margin-bottom: 50px;
}
.top3 ul li a{
	display: block;
	width: 300px;
	padding: 0 0 30px;
	border-radius: 20px;
}
.top3 ul li.blue a{ color: #114EB5; background: #0094FF;}
.top3 ul li.orange a{ color: #F9B021; background: #F9B021;}
.top3 ul li.pink a{ color: #FF6EB3; background: #FF6EB3;}
.top3 ul li.green a{ color: #3FB114; background: #3FB114;}
.top3 ul li a figure{
	transform: translateY(-20px);
	margin: 0 15px -10px;
}
.top3 ul li a p{
	margin: 0 30px;
	font-weight: bold;
	line-height: 2.5;
	background: #fff;
	border-radius: 100px;
}
.top3 .slick-list,.top3 .slick-track{
	z-index: 1;
}
.top3 .slick-prev,
.top3 .slick-next{
	z-index: 9;
	width: 40px;
	height: 40px;
	border-radius: 50%;
}
.top3 .slick-prev{
	left: 20px;
	background: url("../img/arrow-left2.svg") center / 36px auto no-repeat #0094ff;
}
.top3 .slick-next{
	right: 20px;
	background: url("../img/arrow-right2.svg") center / 36px auto no-repeat #0094ff;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.topbg{
		letter-spacing: -.025em;
		background: url("../img/top-bg.jpg") center top / 500px auto repeat;
		overflow: visible;
	}
	.top1{
		padding-bottom: 90px;
		background-size: auto 75px;
	}
	.top1 .txt{
		font-size: 4.8vw;
	}
	.top1 figure{
		padding: 0 5%;
	}
	.top2{
		padding: 15vw 0 85px;
		background-size: auto 85px;
	}
	.top2 .box1{
		margin-bottom: 15vw;
	}
	.top2 .box1 > figure,
	.top2 .box2 > figure{
		display: none;
	}
	.top2 ol{
		display: block;
	}
	.top2 ol li{
		padding: 7vw 5vw;
		margin-bottom: 5vw;
		width: auto;
	}
	.top2 ol li .number{
		width: 15vw;
	}
	.top2 ol li figure img{
		width: 50%;
	}
	.top2 ol li h3{
		font-size: 6.93vw;
		min-height: 2.3em;
	}
	.top2 ol li .txt{
		font-size: 3.73vw;
	}
	.top3{
		padding: 15vw 0 5vw;
		overflow-x: clip;
	}
}



/*----------------------------------------------
	newgraduate/
-----------------------------------------------*/

.pagettl-newgra,
.pagettl-career{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 290px;
	padding-top: 1.5em;
	margin-top: -1px;
	color: #fff;
	font-size: 36px;
	font-weight: 500;
	letter-spacing: .1em;
	line-height: 1.8;
	background: url("../img/pagettl-newgra.jpg") center top / cover no-repeat;
}
.pagettl-career{ background: url("../img/pagettl-career.jpg") center top / cover no-repeat;}
.pagettl-newgra span,
.pagettl-career span{
	font-size: 50px;
	font-weight: 500;
}
.newgra1{
	padding-top: 100px;
	padding-bottom: 100px;
}
.newgra1 .box{
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 5%;
	box-sizing: border-box;
}
.newgra1 .box div{
	width: auto;
	padding-right: 0;
	margin-left: 0;
	text-align: left;
}
.newgra1 .box div h3{
	margin-bottom: 1em;
	font-size: 36px;
	font-weight: 500;
	line-height: 1.4;
}
.newgra1 .box div h3 span{
	font-size: 22px;
}
.newgra2{
	padding-top: 100px;
	padding-bottom: 100px;
}
.newgra2 table{
	width: 100%;
	text-align: left;
	letter-spacing: .04em;
}
.newgra2 table th{
	padding: 2em 0 2em 2em;
	width: 180px;
	font-weight: bold;
	border-bottom: 1px solid #0068C1;
}
.newgra2 table td{
	padding: 2em 0 2em 3em;
	border-bottom: 1px solid #E2E2E2;
	word-break: break-all;
}
.newgra2 table td .university{
	display: flex;
	flex-wrap: wrap;
	font-size: 15px;
}
.newgra2 table td .university li{
	width: 25%;
}
.newgra2 .ended{
	font-size: 20px;
	font-weight: bold;
	letter-spacing: .08em;
}
.newgra3{
	padding-top: 100px;
	padding-bottom: 100px;
}
.newgra3 ol{
	display: flex;
	justify-content: center;
}
.newgra3 ol li{
	width: 80px;
	height: 200px;
	color: #fff;
	font-size: 20px;
	letter-spacing: .4em;
	background: #0094FF;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 10px;
}
.newgra3 ol li:not(:last-child){
	margin-right: 60px;
	position: relative;
}
.newgra3 ol li:not(:last-child):after{
	display: inline-block;
	content: "";
	position: absolute;
	top: 50%;
	left: calc(100% + 30%);
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
	border-left: 15px solid #0068C1;
	border-right: 0;
}
.newgra3 ol li.lightblue{
	background: #70ABDA;
}
.newgra3 ol li.white{
	color: #000;
	background: #fff;
}
.newgra3 ol li.yellow{
	color: #000;
	font-weight: bold;
	background: #FFF84D;
}
.newgra3 ol li span{
	writing-mode: vertical-rl;
}
.newgra4{
	padding-top: 100px;
	padding-bottom: 100px;
}
.newgra4 h2{
	color: #fff;
}
.newgra4 .txt{
	margin-bottom: 50px;
	font-weight: 500;
}
.newgra5{
	padding-top: 100px;
	padding-bottom: 100px;
}
.newgra5 .txt{
	margin-bottom: 50px;
	font-weight: 500;
}
.newgra5 .btn{
	margin-bottom: 80px;
}
.newgra5 h3{
	margin-bottom: 1em;
}
.newgra5 ul{
	display: flex;
	flex-wrap: wrap;
	padding-left: 50px;
}
.newgra5 ul li{
	margin-bottom: 1em;
	width: 50%;
	font-size: 20px;
	text-align: left;
}
.newgra5 ul li small{
	font-size: 16px;
}
.newgra6{
	padding-top: 100px;
	padding-bottom: 100px;
}
.newgra6 dl{
	margin-bottom: 10px;
	line-height: 1.5;
	text-align: left;
	background: #fff;
}
.newgra6 dl dt{
	padding: 1em 3em 1em 5em;
	color: #0068C1;
	font-size: 20px;
	font-weight: bold;
	background: url("../img/arrow-bottom-blue.svg") right 1em center no-repeat;
	position: relative;
	cursor: pointer;
}
.newgra6 dl dt.open{
	background: url("../img/arrow-top-blue.svg") right 1em center no-repeat;
}
.newgra6 dl dt:before,
.newgra6 dl dd:before{
	display: flex;
	justify-content: center;
	align-items: center;
	content: "Q";
	font-family: "Montserrat", sans-serif;
	position: absolute;
	left: 0;
	top: 0;
	width: 70px;
	height: 100%;
	color: #fff;
	font-size: 26px;
	font-weight: bold;
	text-align: center;
	background: #0068C1;
}
.newgra6 dl dd{
	display: none;
	padding: 1.4em 3em 1.4em 6.4em;
	position: relative;
}
.newgra6 dl dd:before{
	content: "A";
	background: #0094FF;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.pagettl-newgra,
	.pagettl-career{
		height: 35vw;
		font-size: 6.4vw;
		line-height: 1.4;
		padding-top: 1em;
	}
	.pagettl-newgra span,
	.pagettl-career span{
		font-size: 8vw;
		font-weight: 500;
	}
	.newgra1{
		padding-top: 15vw;
		padding-bottom: 15vw;
	}
	.newgra1 .box{
		padding: 0;
	}
	.newgra1 .box div{
		width: auto;
		padding-right: 0;
		margin: 0 5%;
		text-align: left;
	}
	.newgra1 .box div h3{
		font-size: 7.46vw;
		line-height: 1.4;
		margin-bottom: 5vw;
	}
	.newgra1 .box div h3 span{
		font-size: 4.8vw;
	}
	.newgra2{
		padding-top: 15vw;
		padding-bottom: 15vw;
	}
	.newgra2 table th{
		display: inline-block;
		padding: 1em 0;
		width: auto;
		min-width: 9em;
	}
	.newgra2 table td{
		display: block;
		padding: 1em 0;
	}
	.newgra2 table td .university{
		font-size: 3.73vw;
	}
	.newgra2 table td .university li{
		width: 50%;
	}
	.newgra2 .ended{
		font-size: 4.8vw;
	}
	.newgra3{
		padding-top: 15vw;
		padding-bottom: 15vw;
	}
	.newgra3 ol{
		display: flex;
		justify-content: center;
	}
	.newgra3 ol li{
		width: 15%;
		height: 10em;
		padding-top: 1.5em;
		font-size: 4.8vw;
	}
	.newgra3 ol li:not(:last-child){
		margin-right: 6.25%;
	}
	.newgra3 ol li:not(:last-child):after{
		left: calc(100% + 10%);
		border-top: 6px solid transparent;
		border-bottom: 6px solid transparent;
		border-left: 10px solid #0068C1;
	}
	.newgra4{
		padding: 15vw 5%;
	}
	.newgra4 .txt{
		margin-bottom: 3em;
	}
	.newgra5{
		padding-top: 15vw;
		padding-bottom: 15vw;
	}
	.newgra5 .txt{
		margin-bottom: 50px;
		font-weight: 500;
	}
	.newgra5 .btn{
		margin-bottom: 15vw;
	}
	.newgra5 h3{
		margin-bottom: 1em;
	}
	.newgra5 ul{
		display: block;
		padding-left: 0;
	}
	.newgra5 ul li{
		width: auto;
		font-size: 4.26vw;
	}
	.newgra5 ul li small{
		font-size: 3.73vw;
	}
	.newgra6{
		padding-top: 15vw;
		padding-bottom: 15vw;
	}
	.newgra6 dl dt{
		padding: .5em 2.5em .5em 3.5em;
		font-size: 4.26vw;
	}
	.newgra6 dl dt:before,
	.newgra6 dl dd:before{
		width: 2em;
		font-size: 5.3vw;
	}
	.newgra6 dl dd{
		display: none;
		padding: 1em 1em 1em 4em;
	}
}



/*----------------------------------------------
	environment/
-----------------------------------------------*/

.pagettl-envi{
	height: 450px;
	padding-top: 2em;
	margin-top: -1px;
	color: #fff;
	font-size: 80px;
	letter-spacing: .2em;
	background: url("../img/pagettl-envi.jpg") center top / cover no-repeat;
}
.envi1{
	display: flex;
	justify-content: center;
	line-height: 70px;
}
.envi1 li:not(:last-child):after{
	content: "｜";
}
.envi1 li a{
	display: inline-block;
	padding: 0 2.5em 0 1em;
	background: url("../img/arrow-bottom.svg") right 1em center no-repeat;
}
.envi2{
	padding-top: 100px;
	padding-bottom: 100px;
}
.envi2 h2{
	margin-bottom: 50px;
}
.envi2 .lead1{
	margin-bottom: 50px;
	font-size: 36px;
	font-weight: bold;
	letter-spacing: 0.05em;
	text-align: center;
	color: #0068c1;
}
.envi2 .lead1 span{
	padding: 0 .3em;
	background: linear-gradient(transparent 50%, #FFF84D 50%);
}
.envi2 .lead2{
	margin-bottom: 50px;
	font-size: 24px;
	font-weight: bold;
	letter-spacing: 0.05em;
	text-align: center;
}
.envi2 .box{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.envi2 .box dl{
	margin-bottom: 30px;
	width: 48.5%;
	background: #fff;
	border-radius: 20px;
}
.envi2 .box dl dt{
	color: #fff;
	font-size: 22px;
	font-weight: bold;
	background: #25ADB9;
	border-radius: 20px 20px 0 0;
}
.envi2 .box dl dd{
	display: flex;
	align-items: center;
	padding: 25px 20px 25px 10px;
}
.envi2 .box dl dd figure{
	width: 195px;
}
.envi2 .box dl dd p{
	flex: 1;
	line-height: 1.8;
	text-align: left;
}
.envi3{
	padding-top: 100px;
	padding-bottom: 100px;
}
.envi3 h2{
	margin-bottom: 50px;
}
.envi3-list1{
	display: flex;
	justify-content: space-between;
	margin-bottom: .8%;
}
.envi3-list1 li{
	width: 32.8%;
	padding: 1em;
	color: #000;
	background: #fff;
	border-radius: 10px;
}
.envi3-list1 li h3{
	font-size: 20px;
}
.envi3-list1 li figure{
	padding-top: .6em;
	height: 120px;
}
.envi3-list1 li .f26{
	line-height: 1;
}
.envi3-list2{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: .8%;
}
.envi3-list2 li{
	width: 16%;
	height: 160px;
	margin-bottom: .8%;
	padding: 1em 1em .5em;
	color: #000;
	background: #fff;
	border-radius: 10px;
	position: relative;
}
.envi3-list2 li h3{
	font-size: 18px;
	line-height: 1.3;
}
.envi3-list2 li figure{
	position: absolute;
	bottom: 1.3em;
	left: 50%;
	transform: translateX(-50%);
}
.envi4{
	padding-top: 100px;
	padding-bottom: 100px;
}
.envi4 h2{
	margin-bottom: 50px;
}
.envi4 ul.box1{
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}
.envi4 ul.box1 li:first-child{ width: 40.4%;}
.envi4 ul.box1 li:last-child{
	width: 57.6%;
	position: relative;
}
.envi4 ul.box1 li:first-child img{
	display: block;
	width: 100%;
	height: auto;
}
.envi4 ul.box1 li:last-child img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}
.envi4 .box2{
	display: flex;
	justify-content: space-between;
}
.envi4 .box2 ul{
	width: 32%;
}
.envi4 ul li{
	background: #fff;
	margin-bottom: 20px;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.pagettl-envi{
		height: 35vw;
		padding-top: 1.5em;
		font-size: 9.3vw;
		line-height: 1;
	}
	.envi1{
		display: block;
		line-height: 2.5;
		padding: .5em;
	}
	.envi1 li{
		display: inline-block;
	}
	.envi1 li:not(:last-child):after{
		content: none;
	}
	.envi1 li a{
		padding: 0 2.5em 0 .5em;
		background-size: .8em;
	}
	.envi2{
		padding-top: 15vw;
		padding-bottom: 15vw;
	}
	.envi2 h2{
		margin-bottom: 5vw;
	}
	.envi2 .lead1{
		margin-bottom: 5vw;
		font-size: 6.4vw;
	}
	.envi2 .lead2{
		margin-bottom: 2em;
		font-size: 5.3vw;
	}
	.envi2 .box{
		display: block;
	}
	.envi2 .box dl{
		margin-bottom: 5vw;
		width: auto;
	}
	.envi2 .box dl dt{
		font-size: 5.3vw;
	}
	.envi2 .box dl dd{
		display: block;
		padding: 1.5em;
	}
	.envi2 .box dl dd figure{
		width: auto;
		margin-bottom: 1em;
	}
	.envi3{
		padding-top: 15vw;
		padding-bottom: 15vw;
	}
	.envi3 h2{
		margin-bottom: 8vw;
	}
	.envi3-list1{
		display: block;
		margin-bottom: .8%;
	}
	.envi3-list1 li{
		width: auto;
		padding: 1em;
		margin-bottom: 2%;
	}
	.envi3-list1 li h3{
		font-size: 5.3vw;
	}
	.envi3-list1 li figure{
		padding-top: .6em;
		height: 120px;
	}
	.envi3-list1 li .f26{
		font-size: 6.93vw;
	}
	.envi3-list2{
		margin-bottom: 2%;
	}
	.envi3-list2 li{
		width: 49%;
		height: auto;
		aspect-ratio: 160 / 150;
		margin-bottom: 2%;
	}
	.envi3-list2 li h3{
		font-size: 4.8vw;
	}
	.envi4{
		padding-top: 15vw;
		padding-bottom: 15vw;
	}
	.envi4 h2{
		margin-bottom: 8vw;
	}
	.envi4 ul.box1{
		display: block;
	}
	.envi4 ul.box1 li{ width: auto!important;}
	.envi4 ul.box1 li:last-child{
		position: static;
	}
	.envi4 ul.box1 li:last-child img{
		position: static;
		top: auto;
		left: auto;
		width: 100%;
		height: auto;
		object-fit: initial;
		object-position: initial;
	}
	.envi4 .box2{
		display: block;
	}
	.envi4 .box2 ul{
		width: auto;
	}
	.envi4 ul li{
		padding: 0 10%;
		background: #fff;
		margin-bottom: 20px;
	}
}



/*----------------------------------------------
	interview/
-----------------------------------------------*/

.pagettl-interview{
	display: flex;
	justify-content: center;
	align-items: center;
	aspect-ratio: 1366 / 540;
	color: #fff;
	font-size: 80px;
	letter-spacing: .1em;
	line-height: 1.8;
	background: url("../img/pagettl-interview.jpg") center top / cover no-repeat;
}
.pagettl-interview h1{
	width: 1000px;
	font-weight: 500;
}
@media screen and (max-width: 1366px) {
	.pagettl-interview{
		aspect-ratio: inherit;
		height: 540px;
	}
	.pagettl-interview h1{
		width: 100%;
	}
}
.interview1{
	padding-top: 80px;
	padding-bottom: 70px;
}
.interview1 .list{
	display: flex;
	flex-wrap: wrap;
}
.interview1 .list a{
	display: block;
	margin-bottom: 30px;
	width: 31.4%;
	color: #fff;
	text-align: left;
	border-radius: 20px;
	overflow: hidden;
}
.interview1 .list a:not(:nth-child(3n)){
	margin-right: 2.9%;
}
.interview1 .list a.blue{ background: #0094FF;}
.interview1 .list a.green{ background: #3FB114;}
.interview1 .list a.pink{ background: #FF6EB3;}
.interview1 .list a p{
	padding: .6em 2em .6em .8em;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.2;
	background: url("../img/arrow-right2.svg") right .7em center no-repeat;
}
.interview1 .list a p .txt1{
	display: block;
	font-size: 16px;
	font-weight: 500;
}
.interview1 .list a p .txt2{
	display: block;
	font-size: 18px;
	font-weight: 500;
}
.interview1 .list a p small{
	font-size: 14px;
}
.interview2{
	padding-top: 50px;
	background: url("../img/interview2-bg.jpg") center bottom / 100% auto no-repeat #CDE2EF;
}
.interview2wrap{
	display: flex;
	background: url("../img/bg-sand.png") repeat;
}
.interview2wrap div{
	flex: 1;
	margin-left: calc(50% - 500px);
	padding-top: 30px;
	text-align: left;
	position: relative;
}
.interview2wrap div .dep{
	display: inline-block;
	margin-bottom: 1em;
	width: 14em;
	color: #fff;
	font-weight: 500;
	text-align: center;
	border-radius: 100px;
}
.interview2wrap div .dep.blue{ background: #0094FF;}
.interview2wrap div .dep.green{ background: #3FB114;}
.interview2wrap div .dep.pink{ background: #FF6EB3;}
.interview2wrap div p{
	padding: 0 1em 2em;
	font-weight: 500;
	letter-spacing: .05em;
}
.interview2wrap div h1{
	font-size: 30px;
	font-weight: 500;
	line-height: 1.7;
	letter-spacing: .05em;
}
.interview2wrap div h2{
	display: flex;
	align-items: center;
	position: absolute;
	left: 0;
	bottom: 0;
	font-weight: bold;
	font-size: 22px;
	letter-spacing: .03em;
	text-align: left;
	color: #0f519b;
}
.interview2wrap div h2:after{
	display: inline-block;
	content: "";
	width: 106px;
	height: 1px;
	margin-left: .5em;
	background: #0F519B;
}
.interview2wrap figure{
	width: 48.5%;
}
.interview2wrap figure img{
	border-radius: 20px 0 0 20px;
}
.interview3{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	padding-top: 50px;
	margin-bottom: 50px;
}
.interview3 div{
	width: 48%;
	text-align: left;
}
.interview3 figure{
	width: 43%;
	padding: 0 3% 3% 0;
	background: url("../img/interview3-bg.svg") right bottom / 93% auto no-repeat;
}
.interview3 figure img{
	border-radius: 20px;
}
.interview4{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-direction: row-reverse;
	margin-bottom: 50px;
}
.interview4 figure{
	width: 48%;
	padding: 0 0 30% 3%;
	margin-bottom: 10px;
	text-align: left;
	position: relative;
	background: url("../img/interview4-bg.svg") left top 50% / 90% auto no-repeat;
}
.interview4 figure img:nth-child(1){
	width: 80%;
	border-radius: 20px;
}
.interview4 figure img:nth-child(2){
	position: absolute;
	right: 0;
	top: 52%;
	width: 63%;
	border-radius: 20px;
}
.interview4 div{
	padding-top: 50px;
	width: 48%;
	text-align: left;
}
.interview4 div p:not(:last-of-type){
	margin-bottom: 2em;
}
.interview5{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: 50px;
}
.interview5 div{
	width: 48%;
	text-align: left;
}
.interview5 div p:not(:last-of-type){
	margin-bottom: 2em;
}
.interview5 figure{
	width: 43.4%;
	margin-top: 30px;
	padding: 60px 7% 0 0;
	position: relative;
	background: url("../img/interview5-bg.svg") right top / 70% auto no-repeat;
}
.interview5 figure img{
	border-radius: 20px;
}
.interview5 figure.mb-200 img{
	margin-bottom: -200px;
}
.interview6{
	background: url("../img/interview6-bg.jpg") center bottom / 100% auto no-repeat #CDE2EF;
}
.interview6wrap{
	padding-top: 100px;
	padding-bottom: 120px;
	background: url("../img/bg-sand.png") repeat;
}
.interview6wrap h2{
	display: flex;
	align-items: center;
	margin-bottom: 50px;
	font-weight: bold;
	font-size: 22px;
	letter-spacing: .03em;
	text-align: left;
	color: #0f519b;
}
.interview6wrap h2:after{
	display: inline-block;
	content: "";
	width: 106px;
	height: 1px;
	margin-left: .5em;
	background: #0F519B;
}
.interview6wrap ol{
	display: flex;
	justify-content: space-between;
	padding: 0 10px 0 30px;
	font-size: 15px;
	font-weight: bold;
	line-height: 1.5;
	text-align: left;
	position: relative;
}
.interview6wrap ol:before{
	display: block;
	content: "";
	position: absolute;
	left: 0;
	top: 39px;
	width: 100%;
	border-top: 2px dotted #0068c1;
}
.interview6wrap ol li{
}
.interview6wrap ol li span{
	display: block;
	font-size: 18px;
}
.interview6wrap ol li span:after{
	display: block;
	content: "";
	margin: .2em 0 .5em .5em;
	width: 18px;
	height: 18px;
	background: #fff;
	border: 4px solid #0068c1;
	border-radius: 50%;
	position: relative;
}
.interview6wrap ol li small{
	display: block;
	padding-top: .3em;
	font-size: 12px;
}
.interview7{
	padding-top: 50px;
	padding-bottom: 70px;
}
.interview7 .list .slick-slide{
	margin: 0 15px;
}
.interview7 .list .slick-prev{
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 70px;
	height: 70px;
	background: url("../img/interview7-prev.svg") center no-repeat;
	cursor: pointer;
}
.interview7 .list .slick-next{
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 70px;
	height: 70px;
	background: url("../img/interview7-next.svg") center no-repeat;
	cursor: pointer;
}
.interview7 .list a{
	display: block;
	width: 31.4%;
	color: #fff;
	text-align: left;
	border-radius: 20px;
	overflow: hidden;
}
.interview7 .list a.blue{ background: #0094FF;}
.interview7 .list a.green{ background: #3FB114;}
.interview7 .list a.pink{ background: #FF6EB3;}
.interview7 .list a p{
	padding: .6em 2em .6em .8em;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.2;
	background: url("../img/arrow-right2.svg") right .7em center no-repeat;
}
.interview7 .list a p .txt1{
	display: block;
	font-size: 16px;
	font-weight: 500;
}
.interview7 .list a p .txt2{
	display: block;
	font-size: 18px;
	font-weight: 500;
}
.interview7 .list a p small{
	font-size: 14px;
}
.interview8{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-direction: row-reverse;
	margin-bottom: 100px;
}
.interview8 div{
	width: 43.4%;
	text-align: left;
}
.interview8 figure{
	padding: 70px 0 0 3%;
	width: 48%;
	position: relative;
	background: url("../img/interview3-bg.svg") left top 40px / 90% auto no-repeat;
}
.interview8 figure img{
	border-radius: 20px;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.pagettl-interview{
		aspect-ratio: 1366 / 540;
		height: auto;
		font-size: 9.3vw;
	}
	.interview1{
		padding-top: 15vw;
		padding-bottom: 15vw;
	}
	.interview1 .list a{
		width: 48%;
		margin-bottom: 4vw;
		border-radius: 4vw;
	}
	.interview1 .list a:not(:nth-child(3n)){
		margin-right: 0;
	}
	.interview1 .list a:not(:nth-child(2n)){
		margin-right: 4%;
	}
	.interview1 .list a p{
		font-size: 6.4vw;
		line-height: 1.4;
		background-size: 7.46vw;
	}
	.interview1 .list a p .txt1{
		font-size: 3.2vw;
	}
	.interview1 .list a p .txt2{
		font-size: 3.73vw;
	}
	.interview1 .list a p small{
		font-size: 3.2vw;
	}
	.interview2{
		padding-top: 0;
		background: url("../img/interview2-bg.jpg") center bottom / 100% auto no-repeat #CDE2EF;
	}
	.interview2wrap{
		display: block;
		padding: 0 0 25vw;
	}
	.interview2wrap div{
		margin-left: 0;
		padding: 10vw 5% 0;
	}
	.interview2wrap div h1{
		font-size: 6vw;
		margin-bottom: 10vw;
	}
	.interview2wrap div h2{
		display: none;
	}
	.interview2wrap div h2:after{
		width: 3em;
	}
	.interview2wrap figure{
		width: auto;
		padding-left: 5vw;
	}
	.interview2wrap figure img{
		border-radius: 20px 0 0 20px;
	}
	.interview3{
		display: block;
		padding-top: 5vw;
		margin-bottom: 15vw
	}
	.interview3 div{
		width: auto;
		margin-bottom: 8vw;
	}
	.interview3 div h2{
		display: flex;
		align-items: center;
		margin-bottom: 1em;
		font-weight: bold;
		font-size: 5.86vw;
		letter-spacing: .03em;
		text-align: left;
		color: #0f519b;
	}
	.interview3 div h2:after{
		display: inline-block;
		content: "";
		width: 3em;
		height: 1px;
		margin-left: .5em;
		background: #0F519B;
	}
	.interview3 figure{
		width: auto;
		padding: 0 7% 7% 0;
	}
	.interview3 figure img{
		border-radius: 20px;
	}
	.interview4{
		display: block;
		margin-top: 0;
		padding-top: 0;
	}
	.interview4 figure{
		width: auto;
		margin-bottom: 30vw;
		background-position: left bottom;
	}
	.interview4 div{
		padding-top: 0;
		margin-bottom: 8vw;
		width: auto;
		text-align: left;
	}
	.interview5{
		display: block;
		margin-bottom: 15vw;
	}
	.interview5 div{
		width: auto;
		margin-bottom: 2em;
	}
	.interview5 figure{
		width: auto;
		padding: 10vw 10% 0 0;
		min-height: 70vw;
		position: relative;
		background: url("../img/interview5-bg.svg") right top / 70% auto no-repeat;
	}
	.interview5 figure.mb-200 img{
		margin-bottom: 0;
	}
	.interview6wrap{
		padding-top: 15vw;
		padding-bottom: 15vw;
	}
	.interview6wrap h2{
		margin-bottom: 5vw;
		font-size: 5.86vw;
	}
	.interview6wrap h2:after{
		width: 3em;
	}
	.interview6wrap ol{
		display: block;
		padding: 1em 0 1em 3.5em;
		font-size: 4vw;
	}
	.interview6wrap ol:before{
		left: 2em;
		top: 0;
		width: 1px;
		height: 100%;
		border-top: none;
		border-left: 2px dotted #0068c1;
	}
	.interview6wrap ol li{
		margin-bottom: 1em;
		position: relative;
	}
	.interview6wrap ol li span{
		display: block;
		font-size: 4.8vw;
		margin-bottom: .2em;
	}
	.interview6wrap ol li span:after{
		position: absolute;
		left: calc(-2em - 3px);
		top: 0;
		width: 1em;
		height: 1em;
	}
	.interview6wrap ol li small{
		font-size: 3.2vw;
	}
	.interview7{
		padding: 15vw 8vw;
	}
	.interview7 .list .slick-slide{
		margin: 0 2vw;
	}
	.interview7 .list .slick-prev{
		left: auto;
		right: 91%;
		width: 15vw;
		height: 15vw;
		background-size: contain;
	}
	.interview7 .list .slick-next{
		right: auto;
		left: 91%;
		width: 15vw;
		height: 15vw;
		background-size: contain;
	}
	.interview7 .list a p{
		font-size: 6.4vw;
		line-height: 1.4;
		background-size: 7.46vw;
	}
	.interview7 .list a p .txt1{
		font-size: 3.2vw;
	}
	.interview7 .list a p .txt2{
		font-size: 3.73vw;
	}
	.interview7 .list a p small{
		font-size: 3.2vw;
	}
	.interview8{
		display: block;
		margin-bottom: 15vw
	}
	.interview8 div{
		width: auto;
		margin-bottom: 8vw;
	}
	.interview8 div h2{
		display: flex;
		align-items: center;
		margin-bottom: 1em;
		font-weight: bold;
		font-size: 5.86vw;
		letter-spacing: .03em;
		text-align: left;
		color: #0f519b;
	}
	.interview8 div h2:after{
		display: inline-block;
		content: "";
		width: 3em;
		height: 1px;
		margin-left: .5em;
		background: #0F519B;
	}
	.interview8 figure{
		width: auto;
		padding: 7% 0 0 7%;
		background-position: left top;
	}
	.interview8 figure img{
		border-radius: 20px;
	}
}



/*----------------------------------------------
	water/
-----------------------------------------------*/

.watercont{
	position: relative;
	padding-bottom: 80px;
}
.waternav{
	position: fixed;
	right: 20px;
	top: 250px;
	text-align: center;
	z-index: 5;
}
.waternav .dots{
	margin-bottom: 35px;
}
.waternav .dots li{
	margin: 0 auto 8px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #A8B1BA;
}
.waternav .dots li.active{
	background: #0F539E;
}
.water1{
	height: 370px;
	padding-top: 130px;
	margin-bottom: 35px;
	background: url("../img/water1-bg.png") center top / 1000px auto no-repeat;
}
.water1 h1{
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 50px;
	font-weight: bold;
	text-align: left;
	letter-spacing: .05em;
	line-height: 1.2;
}
.water1 h1 img{
	margin-right: .5em;
}
.waterbox{
	display: flex!important;
	justify-content: center;
	align-items: center;
	height: 450px;
	margin: 0 85px 35px;
	margin: 0 85px 0;
	font-size: 18px;
	letter-spacing: .05em;
	border-radius: 30px;
	background: #fff;
	overflow: hidden;
	width: calc(100% - 170px)!important;
}
.waterbox strong.f-blue{
	font-size: 30px;
}
.waterbox div img{
	display: inline-block;
}
.waterboxwrap{
}
.water2{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: row-reverse;
}
.water2 figure{
	width: 445px;
}
.water2 p{
	flex: 1;
	width: 450px;
	padding-left: 10%;
	text-align: left;
}
.water3 figure{
	display: flex;
	justify-content: center;
	margin-bottom: 30px;
}
.water3 figure img{
	width: 182px;
	margin: 0 .7em;
}
.water4{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: row-reverse;
}
.water4 figure{
	width: 572px;
}
.water4 p{
	flex: 1;
	width: 350px;
	padding-left: 5%;
	text-align: left;
}
.water5{
	display: flex;
	align-items: center;
	width: 100%;
	height: 450px;
	background: url("../img/water5-bg.jpg") left center / auto 100% no-repeat;
}
.water5 p{
	padding-left: 55%;
	text-align: left;
}
.water6{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: row-reverse;
}
.water6 figure{
	width: 467px;
}
.water6 div{
	flex: 1;
	width: 400px;
	margin-left: 7%;
	text-align: left;
}
.water6 div h2{
	font-size: 34px;
	text-align: center;
}
#the_id5 div h2 img{
	width: 78px;
}
#the_id6 div h2 img{
	width: 94px;
}
#the_id7 div h2 img{
	width: 85px;
}
#the_id8 div h2 img{
	width: 134px;
}
.water7{
	padding: 20px 0 80px;
}
.water7 span{
	display: inline-block;
	width: 100%;
	max-width: 250px;
	color: #0F539E;
	font-size: 14px;
	line-height: 4.5;
	background: #fff;
	border: 1px solid #0F539E;
	border-radius: 100px;
	position: relative;
	cursor: pointer;
	transition: all .2s;
}
.water7 span:hover{
	opacity: .5;
}
.water7 span:after{
	display: inline-block;
	content: "";
	position: absolute;
	right: 1em;
	top: 50%;
	transform: translateY(-50%);
	width: 7px;
	height: 7px;
	background: #0F539E;
	border-radius: 100px;
}
.scroll_outer_wrap{
	position: relative;
}
.scroll_outer_wrap .pager{
	position: absolute;
	top: 50%;
	right: 45px;
	margin: auto;
	transform: translate(-50%, -50%);
}
.scroll_outer_wrap .pager p{
	color: #9A9A9A;
	font-weight: 700;
}
.scroll_outer_wrap .pager p.active{
	color: #0F539E;
	margin-bottom: 50px;
	position: relative;
}
.scroll_outer_wrap .pager p.active:after{
	content: "";
	position: absolute;
	top: 100%;
	right: 0;
	left: 0;
	margin: 0 auto;
	width: 2px;
	height: 50px;
	background: #9A9A9A;
	display: block;
}
.scroll_outer{
	margin-bottom: 50px;
}
.scroll_outer .slick-prev,
.scroll_outer .slick-next{
	right: 0;
	left: 0;
	background: #124EB5;
	width: 100px;
	height: 30px;
	margin: 0 auto;
}
.scroll_outer .slick-prev.slick-disabled,
.scroll_outer .slick-next.slick-disabled{
	display: none!important;
}
.scroll_outer .slick-prev{
	top: -27px;
	clip-path: polygon(50% 0, 100% 100%, 0 100%);
}
.scroll_outer .slick-next{
	top: 106%;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.watercont .thumb-item-nav{
	display: flex;
	flex-wrap: wrap;
	max-width: 1000px;
	padding: 0 5%;
	box-sizing: content-box;
	margin: 0 auto 20px;
}
.watercont .thumb-item-nav .slick-slide{
	width: 18%!important;
	margin: 0 1% 15px;
	cursor: pointer;
}
.waterbox_show{ position: sticky;}
.waterbox{ /*visibility: hidden;*/}
.waterbox_show .waterbox{ visibility:visible;}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.waternav{
		position: fixed;
		right: 3vw;
		top: 90px;
	}
	.waternav .dots{
		margin-bottom: 5vw;
	}
	.waternav img{
		width: 10vw;
	}
	.water1{
		height: 37vw;
		padding-top: 5vw;
		margin-bottom: 0;
		background: url("../img/water1-bg.png") center top / 120% auto no-repeat;
	}
	.water1 h1{
		font-size: 6.4vw;
	}
	.water1 h1 img{
		width: 20vw
	}
	.waterbox{
		height: 118vw;
		margin: 0 5% 5vw;
		font-size: 4.26vw;
		width: 90%!important;
	}
	.waterbox strong.f-blue{
		font-size: 6.93vw;
		line-height: 1.5;
	}
	.water2{
		display: block;
	}
	.water2 figure{
		width: 70%;
		margin: 0 auto;
	}
	.water2 p{
		width: auto;
		padding: 0 10% 1em;
	}
	.water3 figure{
		flex-wrap: wrap;
		margin-bottom: 0;
	}
	.water3 figure img{
		width: 38%;
		margin: 0 2% 4%;
	}
	.water4{
		display: block;
	}
	.water4 figure{
		width: auto;
	}
	.water4 p{
		width: auto;
		padding: 0 0 5vw;
		text-align: center;
	}
	.water5{
		width: 100%;
		height: 130vw;
		background: url("../img/water5-bg-sp.jpg") left top / 100% auto no-repeat;
	}
	.water5 p{
		padding: 50vw 8% 0;
		text-align: left;
	}
	.water6{
		display: block;
		padding: 0 15%;
	}
	.water6 figure{
		width: auto;
		margin: 0;
	}
	.water6 div{
		width: auto;
		margin-left: 0;
		margin-bottom: 5vw;
	}
	.water6 div h2{
		font-size: 6.4vw;
	}
	.water7{
		padding: 20px 0 80px;
	}
	.water7 span{
		max-width: 70vw;
		font-size: 3.73vw;
	}
	.scroll_outer_wrap .pager{
		right: 1px;
	}
	.scroll_outer{
		margin-bottom: 3vw;
	}
	.scroll_outer .slick-prev,
	.scroll_outer .slick-next{
		width: 50px;
		height: 15px;
	}
	.scroll_outer .slick-prev{
		top: -15px;
	}
	.scroll_outer .slick-next{
		top: 99%;
	}
	.watercont .thumb-item-nav{
		margin: 0 auto 3vw;
	}
	.watercont .thumb-item-nav .slick-slide{
		width: 23%!important;
		margin: 0 1% 1vw;
	}
}



/*----------------------------------------------
	important notice banner
-----------------------------------------------*/

:root {
	--header-height: 100px;
	--notice-height: 48px;
}

body.site-recruit {
	--header-height: 110px;
}

body.site-recruit.has-important-notice header {
	z-index: 1000;
}

.important-notice {
	position: fixed;
	left: 0;
	width: 100%;
	z-index: 999;
	top: var(--header-height);
	background: #FFF0F0;
	color: #D12222;
}

.important-notice__inner {
	box-sizing: border-box;
	max-width: 1100px;
	margin: 0 auto;
	padding: 8px 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1em;
}

.important-notice__inner.no-link {
	justify-content: flex-start;
}

.important-notice__text {
	margin: 0;
	line-height: 1.4;
	font-size: 14px;
	font-weight: 500;
	text-align: left;
}

.important-notice__link {
	margin: 0;
	flex-shrink: 0;
}

.important-notice__link a {
	color: #D12222;
	text-decoration: underline;
	white-space: nowrap;
}

.important-notice__link a:hover {
	opacity: 1;
}

body.has-important-notice section {
	padding-top: calc(var(--header-height) + var(--notice-height));
}

@media screen and (max-width: 540px) {
	:root,
	body.site-recruit {
		--header-height: 70px;
		--notice-height: 52px;
	}

	.important-notice__inner {
		gap: 0.25em;
		padding-left: 5%;
		padding-right: 5%;
	}

	.important-notice__inner.no-link {
		align-items: flex-start;
	}

	.important-notice__text {
		font-size: 3.2vw;
	}

	body.has-important-notice section {
		padding-top: calc(var(--header-height) + var(--notice-height));
	}

	.top2 .box1-single ol li{
		width: auto;
		max-width: none;
	}
}










