@charset "UTF-8";

/* ----------------------------------------------------------------------------------------------------
*  基本情報
* --------------------------------------------------------------------------------------------------*/

@import url('https://fonts.googleapis.com/css?family=Lato:,300,400,900,');

html,body{	height:100%;}
html{
	font-size:62.5%;
    overflow-y: scroll;
}

body, h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, th, td, img, form {
	margin: 0;
	padding: 0;
	border: none;
	line-height: 100%;
	list-style-type: none;
	font-style: normal;
	font-weight: normal;
	font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "メイリオ",Meiryo,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック",Arial,Verdana,sans-serif;
	-webkit-font-smoothing: antialiased;
	text-align: left;
	color: #333333;
	font-size: 1.4rem;
	line-height: 1.7;
}

input, button, textarea, select {
	font-size: 1.4rem;
	line-height: 1.7;
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "メイリオ",Meiryo,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック",Arial,Verdana,sans-serif;
}

body a {
	text-decoration:none;
	color:#333333;
}
body{
	-moz-osx-font-smoothing: grayscale;
	min-width: 900px;
    background: #fafafa url(../img/common/body_bg.png) repeat center top;
}

img{
	vertical-align: bottom;
	max-width: 100%;
}

*,*:after,*:before{
	box-sizing: border-box;
}

.fade:hover,a:hover img{
	opacity: 0.7;
}
.fade,a img{
	transition: opacity 0.3s ease-out;
}
.wrap{
	max-width: 1280px;
	width: 96%;
	margin: 0 auto;
}
.wrap2{
	max-width: 1430px;
	width: 96%;
	margin: 0 auto;
}
.or-txt{
	color: #ff5a00;
}
.bold{
	font-weight: bold;
}
.tac{
	text-align: center;
}
.tal{
	text-align: left;
}
.tar{
	text-align: right;
}
.mt10{
	margin-top: 10px!important;
}
.mt30{
	margin-top: 30px!important;
}
.mt40{
	margin-top: 40px!important;
}
.mt60{
	margin-top: 40px!important;
}

/*---font--------------------*/
.mont,.mont *{
	font-family: 'Montserrat', sans-serif;
}
.lato,.lato *{
	font-family: 'Lato', sans-serif;
}

/*---icon--------------------*/
.a-icon-center .btn-in,
.b-icon-center .btn-in{
	position: relative;
	z-index: 1;
}
.a-icon-center .btn-in::after,
.b-icon-center .btn-in::before{
	content: '';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
	right: 20px;
	transition: right 0.3s ease-out;
}
.a-ib-icon .btn-in::after{
	content: '';
	display: inline-block;
	vertical-align: middle;
	margin-left: 6px;
	margin-top: -2px;
}
.b-ib-icon .btn-in::before{
	content: '';
	display: inline-block;
	vertical-align: middle;
	margin-right: 6px;
	margin-top: -2px;
}
.arrow-btn .btn-in::after{
	width: 54px;
	height: 12px;
	background: url(../img/common/arrow_w_icon02.png) no-repeat center center;
	background-size: contain;
}
.a-icon-center.arrow-btn .btn-in::after,
.b-icon-center.arrow-btn .btn-in::before{
	right: 80px;
}
.a-ib-icon.arrow-btn .btn-in::after{
	position: relative;
	transition: 0.3s ease-out;
	left: 0;
}

.arrow-btn.disabled .btn-in::after,
.arrow-btn.disabled .btn-in::before{
	display: none;
}

/*---btn--------------------*/
.btn .fs17{
	font-size: 1.7rem;
}
.btn-radius{
	border-radius: 8px;
}
.btn-in{
	display: block;
}
.anime-btn{
	display: block;
	font-size: 1.4rem;
	height: 56px;
	line-height: 56px;
	overflow: hidden;
	position: relative;
}
.anime-btn.lh95{
	line-height: 95px;
	height: 95px;
}
.anime-btn .btn-in{
	text-align: center;
	display: block;
	position: relative;
	z-index: 1;
	transition: 0.3s ease-out;
}
.anime-btn.blue{
	background: -moz-linear-gradient(left, #234794, #1e7dfd);
	background: -webkit-linear-gradient(left, #234794, #1e7dfd);
	background: linear-gradient(to right, #234794, #1e7dfd);
	background-size: 100%;
}
.anime-btn.white{
	background: #fff;
}
.anime-btn.blue .btn-in{
	color: #fff;
}
.anime-btn.white .btn-in{
	color: #234794;
}
.anime-btn.blue::before{
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: -moz-linear-gradient(left, #1e7dfd, #234794);
	background: -webkit-linear-gradient(left, #1e7dfd, #234794);
	background: linear-gradient(to right, #1e7dfd, #234794);
	background-size: 100%;
	z-index: 1;
	transition: left 0.3s ease-out;
}
.anime-btn.white::before{
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: -moz-linear-gradient(left, #ff5c01, #ff9f02);
	background: -webkit-linear-gradient(left, #ff5c01, #ff9f02);
	background: linear-gradient(to right, #ff5c01, #ff9f02);
	background-size: 100%;
	z-index: 1;
	transition: left 0.3s ease-out;
}
.anime-btn.disabled{
	background: #999999;
	pointer-events: none;
}
.anime-btn.disabled::before{
	display: none;
}
.blue-btn{
	font-size: 1.5rem;
	color: #234794;
	text-align: center;
	display: block;
	border: 1px solid #234794;
	background: #fff;
	border-radius: 50px;
	height: 55px;
	line-height: 55px;
	transition: border 0.3s ease-out,
				color 0.3s ease-out,
				background 0.3s ease-out;
}
@media screen and (min-width: 769px) {

	/*---icon--------------------*/
	.a-icon-center.arrow-btn .btn-in:hover::after,
	.b-icon-center.arrow-btn .btn-in:hover::before{
		right: 60px;
	}
	.a-ib-icon.arrow-btn .btn-in:hover::after{
		left: 10px;
	}

	/*---btn--------------------*/
	.anime-btn:hover::before{
		left: 0;
	}
	.anime-btn.white:hover::before{
		left: 0;
	}
	.color-change.blue-btn:hover{
		color: #fff;
		border: 1px solid #fff;
		background: #234794;
	}
	.anime-btn.white:hover .btn-in{
		color: #fff;
	}
}
@media screen and (max-width: 768px) {

	h1, h2, h3, h4, h5, h6, p, li, dl, dt, dd,
	table, th, td{
		font-size: 3.2vw;
	}
	body{
		min-width: auto;
		min-width: initial;
		background-size: 29vw;
		background-position: 17vw;
	}
	img{
		width: 100%;
	}
	.wrap,.wrap2{
		width: 92%;
	}
	.mt10{
		margin-top: 2vw!important;
	}
	.mt30{
		margin-top: 4vw!important;
	}
	.mt40{
		margin-top: 6vw!important;
	}
	.mt60{
		margin-top: 8vw!important;
	}

	/*---icon--------------------*/

	.arrow-btn .btn-in::after,
	.arrow-btn .btn-in::before{
		width: 6.8vw;
		height: 3vw;
	}
	.a-icon-center.arrow-btn .btn-in::after,
	.b-icon-center.arrow-btn .btn-in::before{
		right: 3.5vw;
	}
	.blank-btn .btn-in::after{
		width: 4vw;
		height: 2.5vw;
	}

	/*---btn--------------------*/
	.btn .fs17{
		font-size: 3.5vw;
	}
	.btn-radius{
		border-radius: 1.5vw;
	}
	.anime-btn{
		font-size: 2.9vw;
		line-height: 12.5vw;
		height: 12.5vw;
	}
	.anime-btn.lh95{
		line-height: 18.8vw;
		height: 18.8vw;
	}
	.blue-btn{
		font-size: 3.2vw;
		border-radius: 25vw;
		height: 12.5vw;
		line-height: 12.5vw;
	}

	/*---anime-line--------------------*/
	.anime-line{
		width: 1px;
		height: 11vw;
	}
}


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

header{
	padding: 20px 0;
	background: #fff;
	display: flex;
	align-items: center;
	height: 85px;
}
header .wrap{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
header nav .navin{
	display: flex;
	align-items: center;
	width: 720px;
}
header .gnav{
	display: flex;
	align-items: center;
}
header .gnav > li+li{
/*	margin-left: 30px; */
	margin-left: 15px;
}
header .gnav > li > a{
	font-size: 1.3rem;
	transition: color .3s ease-out;
    height: 40px;
    display: flex;
    align-items: center;
}
header .gnav > li.open > a,
header .gnav > li.active > a,
header .gnav > li > a:hover{
	color: #234794;
}

header .recruit_btn{
	width: 130px;
	/* margin-left: 40px; */
	position: absolute;
	top: 38%;
	right: 0;
	transform: translateY(-50%);
    -webkit- transform: translateY(-50%);
}
header .recruit_btn a{
	font-size: 1.3rem;
	height: 40px;
	line-height: 40px;
	font-weight: bold;
}
header .recruit_btn .btn-in::after{
	transition: left 0.3s ease-out;
	position: relative;
	left: 0;
}
header .recruit_btn a:hover .btn-in::after{
	left: 10px;
}
@media screen and (min-width: 769px) {
	header .recruit_btn a:hover{
		letter-spacing: 0.3em;
	}
}
@media screen and (max-width: 1300px) {
	header .logo{
/*		width: 330px; */
		width: 260px;
	}
	header nav .navin{
		width: 731px;
	}
	header .gnav > li+li{
		margin-left: 20px;
	}
	header .recruit_btn{
		margin-left: 30px;
		width: 80px;
	    top: 30%;
	}
}
@media screen and (max-width: 1100px) {
	header .logo{
/*		width: 280px; */
		width: 260px;
	}
	header nav .navin{
		width: 651px;
	}
	header .gnav > li+li{
		margin-left: 12px;
	}
	header .gnav > li > a{
		font-size: 1.2rem;
	}
	header .recruit_btn{
		width: 80px;
		top: 30%;
	}
}
@media screen and (max-width: 768px) {
	body.fixed {
		position: fixed;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
	}
	header{
		height: 48px;
		padding: 0;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 9999;
	}
	header .wrap{
		position: static;
	}
	header .logo{
/*		width: 245px; */
		width: 222px;
	}
	.menu-trigger{
		position: absolute;
		right: 0;
		top: 0;
		width: 48px;
		height: 48px;
		background: -moz-linear-gradient(left, #234794, #1e7dfd);
		background: -webkit-linear-gradient(left, #234794, #1e7dfd);
		background: linear-gradient(to right, #234794, #1e7dfd);
	}
	.menu-trigger span {
		display: block;
		width: 30px;
		height: 3px;
		transition: 0.3s ease-out;
	}
	.menu-trigger span {
		position: absolute;
		left: 0;
		right: 0;
		margin: auto;
		background-color: #fff;
	}
	.menu-trigger span:nth-of-type(1) {
		top: 13px;
	}
	.menu-trigger span:nth-of-type(2) {
		top: 22px;
	}
	.menu-trigger span:nth-of-type(3) {
		bottom: 14px;
	}
	.menu-trigger.active span:nth-of-type(1) {
		-webkit-transform: translateY(10px) rotate(-45deg);
		transform: translateY(10px) rotate(-45deg);
	}
	.menu-trigger.active span:nth-of-type(2) {
		opacity: 0;
	}
	.menu-trigger.active span:nth-of-type(3) {
		-webkit-transform: translateY(-8px) rotate(45deg);
		transform: translateY(-8px) rotate(45deg);
	}

	header nav .navin{
		display: block;
	}
	header .gnav{
		display: block;
	}

	header nav {
		display: none;
		width: 100%;
		padding: 0;
		margin: 0;
		position: absolute;
		top: 47px;
		left: 0;
		height: calc(100vh - 48px);
		transition: transform .3s, opacity 1s;
		background: #234794;
	}
	header nav .navin{
		overflow-y: auto;
		height: 100%;
		width: auto;
		padding: 0 0 8vw;
	}
	header .gnav{
		margin: 13vw auto 10.5vw;
		width: 92%;
	}
	header .gnav > li{
		text-align: center;
	}
	header .gnav > li+li{
		margin-left: 0;
		margin-top: 9vw;
	}
	header .gnav > li > a,
	header .gnav > li > a:hover{
		font-size: 3.5vw;
		display: inline;
		color: #fff;
		height: auto;
		position: relative;
	}
	header .recruit_btn{
		position: static;
		width: 80vw;
		margin: auto;
		transform: translateY(0);
		-webkit- transform: translateY(0)
	}
	header .recruit_btn a.anime-btn.blue,
	header .recruit_btn a.anime-btn.blue:hover{
		font-size: 4.2vw;
		height: 21.5vw;
		line-height: 21.5vw;
		background: -moz-linear-gradient(left, #ff9f02, #ff5c01);
		background: -webkit-linear-gradient(left, #ff9f02, #ff5c01);
		background: linear-gradient(to right, #ff9f02, #ff5c01);
		background-size: 100%;
		position: relative;
	}
	header .recruit_btn a .btn-in::after,
	header .recruit_btn a:hover .btn-in::after{
		content: '';
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		-webkit- transform: translateY(-50%);
		left: auto;
		right: 20px;
		transition: right 0.3s ease-out;
		width: 8vw;
		height: 5vw;
		background: url(../img/common/arrow_w_icon02.png) no-repeat center center;
		background-size: contain;
	}
	header .acd_close{
		text-align: center;
		margin-top: 13.5vw;
	}
	header .acd_close a{
		font-size: 4vw;
		color: #fff;
		display: inline-block;
	}
	header .acd_close a .btn-in::after{
		background: url(../img/common/spmenu_close.png) no-repeat center center;
		background-size: contain;
		width: 3vw;
		height: 3vw;
	}
	#overlay {
		display: block;
		position: fixed;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		background: rgba(35,71,148,0.8);
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.3s ease;
		z-index: 0;
	}
	#overlay.active {
		opacity: 1;
		pointer-events: auto;
	}

}


/* ------------------------------
    main
------------------------------ */

main{
	display: block;
	overflow: hidden;
}

/*---共通--------------------*/

.section{
	padding: 75px 0;
}
.section .whitebox{
	padding: 75px 0;
	background: #fff;
}
.section .whitebox_in {
	width: 90%;
	max-width: 1130px;
	margin: auto;
}
.graybg {
    background: #f5f5f5 url(../img/common/body_bg.png) repeat center top;
}
.bluebg {
    background: #d3e7ff url(../img/common/body_bg.png) repeat center top;
}
.underbg{
	background: url(../img/common/detail_bg01.png) no-repeat center bottom;
	padding: 75px 0 135px;
}
.underbg.graybg{
    background: url(../img/common/body_bg.png) repeat center top,
    			url(../img/common/detail_bg01.png) no-repeat center bottom #f5f5f5;
	padding: 75px 0 135px;
}

.left_blue_ttl{
	font-size: 3.2rem;
	line-height: 1.2;
	font-weight: bold;
	min-height: 80px;
	display: flex;
	align-items: center;
	/* 
	padding: 22px 0 22px 22px;
	border-left: 3px solid #234794;
	 */
	position: relative;
}
@media all and (-ms-high-contrast:none){ /* ie */
    .left_blue_ttl{ display: inline;}
}
.left_blue_ttl::before{
	content: '';
	position: absolute;
	top: 50%;
	left: -25px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 3px;
	height: 100%;
	min-height: 80px;
	background: #234794;
}

/*---pagettl--------------------*/

#pagettl{
	padding: 130px 0;
	background: center center /cover;
}
#pagettl .ttl{
	font-size: 4rem;
	line-height: 1.15;
	font-weight: bold;
	text-align: center;
	color: #fff;
}
#pagettl .ttl+.smallttl{
	font-size: 1.7rem;
	text-align: center;
	color: #fff;
}


/*---table--------------------*/

.table1{
	width: 100%;
	border-collapse: collapse;
}
.table1 th,
.table1 td{
	padding: 30px 40px;
	vertical-align: middle;
	border-top: 1px solid #234794;
}
.table1 tr:last-child th,
.table1 tr:last-child td{
	border-bottom: 1px solid #234794;
}
.table1 th{
	font-size: 1.7rem;
	font-weight: bold;
	color: #234794;
	width: 225px;
	background: #f6f9fe;
}
.table1 td{
	font-size: 1.6rem;
	width: calc(100% - 225px);
}
.table1 td a.link{
	text-decoration: underline;
}
.table1 td a.link:hover{
	text-decoration: none;
}
.table1 td p,
.table1 td li{
	font-size: 1.6rem;
}
.table1 td p+p{
	margin-top: 10px;
}
.table1 td ul+p{
	margin-top: 10px;
}
.table1 td p .big,
.table1 td li .big{
	font-size: 1.8rem;
}
.table1 td p .small,
.table1 td li .small{
	font-size: 1.3rem;
}
.table1 td .schedule li{
	padding-left: 5em;
	position: relative;
}
.table1 td .schedule li+li{
	margin-top: 10px;
}
.table1 td .schedule span{
	color: #fff;
	font-size: 1.4rem;
	padding: 2px 10px 1px;
	border-radius: 3px;
	display: block;
	width: 4.5em;
	text-align: center;
	background: #234794;
	margin-right: 10px;
	position: absolute;
	top: .1em;
	left: 0;
}


@media screen and (max-width: 768px) {
	main{
		padding-top: 48px;
	}

	/*---共通--------------------*/

	.section{
		padding: 8vw 0;
	}
	.section .whitebox{
		padding: 6vw 0 6vw;
	}
	.graybg,.graybg2 {
	    background-size: 29vw;
	    background-position: 17vw;
	}
	.underbg{
		background: url(../img/common/detail_bg01_sp.png) no-repeat center bottom;
		background-size: 100% auto;
		padding: 8vw 0 12vw;
	}
	.underbg.graybg{
	    background: url(../img/common/body_bg.png) repeat center top,
	    			url(../img/common/detail_bg01_sp.png) no-repeat center bottom #f5f5f5;
		padding: 8vw 0 12vw;
		background-size: 29vw auto,100% auto;
		background-position: 17vw,center bottom;
	}
	.underbg.graybg2{
	    background: url(../img/common/body_bg.png) repeat center top,
	    			url(../img/common/detail_bg01_sp.png) no-repeat center bottom #f5f5f5;
		padding: 8vw 0 12vw;
		background-size: 29vw auto,100% auto;
		background-position: 17vw,center bottom;
	}

	.left_blue_ttl{
		font-size: 5.4vw;
		min-height: 10vw;
		padding-left: 4vw;
	}
	.left_blue_ttl::before{
		top: 50%;
		left: 0;
		min-height: 10vw;
	}

	/*---pagettl--------------------*/

	#pagettl{
		padding: 11vw;
	}
	#pagettl .ttl{
		font-size: 7vw;
	}
	#pagettl .ttl+.smallttl{
		font-size: 3.5vw;
	}


	/*---table--------------------*/

	.table1 th,
	.table1 td{
		display: block;
		padding: 4vw 3vw;
	}
	.table1 tr:last-child th{
		border-bottom: 0;
	}
	.table1 th{
		font-size: 3.5vw;
		width: 100%;
	}
	.table1 td{
		font-size: 3.2vw;
		width: 100%;
	}
	.table1 td p,
	.table1 td li{
		font-size: 3.2vw;
	}
	.table1 td p+p,
	.table1 td ul+p{
		margin-top: 3vw;
	}
	.table1 td p .big,
	.table1 td li .big{
		font-size: 3.5vw;
	}
	.table1 td p .small,
	.table1 td li .small{
		font-size: 2.8vw;
	}
	.sp_scrolltable{
		width: 100%;
	}
	.table1 td .schedule span{
		position: static;
		display: inline-block;
		margin-bottom: 1.5vw;
		font-size: 3.2vw;
	}
	.table1 td .schedule li+li{
		margin-top: 3vw;
	}
	.table1 td .schedule li{
		padding-left: 0;
	}
}

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

#entry a{
	font-size: 3.2rem;
	height: 128px;
	line-height: 128px;
	text-align: center;
	font-weight: bold;
	display: block;
}
#footer {
	padding: 30px 0;
	background: #fff;
}
#footer .corporate{
	text-align: center;
}
#footer .corporate a{
	font-size: 1.2rem;
	text-decoration: underline;
}
#footer .corporate a:hover{
	text-decoration: none;
}
#footer .corporate img{
	vertical-align: middle;
	margin-right: 5px;
}
#footer .copy{
	font-size: 1.2rem;
	text-align: center;
	margin-top: 20px;
}
@media screen and (min-width: 769px) {
	#entry a:hover{
		letter-spacing: 0.3em;
	}
}
@media screen and (max-width: 768px) {
	#entry a{
		font-size: 5.4vw;
		height: 20vw;
		line-height: 20vw;
	}
	#footer {
		padding: 8vw 0 6.7vw;
	}
	#footer .corporate a{
		font-size: 3vw;
	}
	#footer .corporate img{
		margin-right: 2vw;
		width: 3vw;
	}
	#footer .copy{
		font-size: 2.5vw;
		margin-top: 3vw;
	}
}

/* ------------------------------
    pcスマホの切り替え
------------------------------ */

@media screen and (min-width: 767px) {

	.sp{
		display: none!important;
	}

}

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

	.pc{
		display: none!important;
	}

}

/* ------------------------------
    clearfix
------------------------------ */

.cf:after{
  content: ".";
  display: block;
  height: 0;
  font-size:0;
  clear: both;
  visibility:hidden;
}

.cf {display: inline-block;}

/* Hides from IE Mac */
* html .cf {height: 1%;}
.cf {display:block;}
/* End Hack */