@charset "utf-8";
/*
	Last Update:20221/03/01
	Auther: iw
*/
/*===================================================================
	layout
===================================================================*/
a:link{
	color:#4371ad;
}
a:visited{
	color:#557cc5;
}

@media (max-width: 991px){
	.wrapper, .wrapper-t{
	padding-top:60px;
}
	.wrapper, .wrapper-b{
	padding-bottom:60px;
}
}
@media (min-width: 992px){
	.wrapper, .wrapper-t{
	padding-top:80px;
}
	.wrapper, .wrapper-b{
	padding-bottom:80px;
}
}

.center{
	max-width:1200px;
}
.center2{
	max-width:800px;
}
	@media (max-width:1230px){
		.center{
	padding-left:15px; padding-right:15px;
}
	}
	@media (max-width: 830px){
		.center2{
	padding-left:15px; padding-right:15px;
}
	}

.center-sm-5{
	display:table; width:100%; height:100%; max-width:calc(1200px / 12 * 5);
}
.center-sm-6{
	display:table; width:100%; height:100%; max-width:calc(1200px / 2);
}
	@media (min-width: 768px){
		.col-sm-push-1_5 { left:calc(100% / 12 * 1.5); }
	}


/*===================================================================
	#head
===================================================================*/
#head{
	position:relative; top:0; left:0; width:100%; z-index:1100; border-top:3px solid #557cc5;
}
.fixed#head{
	position:fixed; background:#fff; box-shadow:0 0 3px rgba(0,0,0,0.3);
}
#head a{
	text-decoration:none; color:#333;
}
#head .head_wrap{
	display:table; width:100%; margin:0 auto; max-width:1300px; text-align:left;
}
#head .head_wrap > *{
	display:table-cell; vertical-align:middle;
}

#head .site_logo a{
	display:inline-block;
}
	@media (max-width: 991px){
		#head{
	background:#fff;
}
		#head .site_logo{
	padding:0 20px 0 0;
}
	}
	@media (max-width:1199px){
		#head .site_logo a{
	max-width:250px;
}
	}
	@media (min-width:1200px){
		#head .site_logo a{
	max-width:300px;
}
	}

#btn_open{
	line-height:100%;
}
#btn_open a{
	display:inline-block;
}
#btn_open a > *{
	vertical-align:middle;
}
#btn_open i{
	font-size:30px;
}
	@media (max-width: 991px){
		#btn_open{
	width:55px; background:#4371ad;
}
		#btn_open a{
	display:block; text-align:center; color:#fff; padding:5px;
}
		#btn_open a span{
	font-size:11px; width:4em; word-break:keep-all; overflow:hidden; padding:5px 0 0;
}
		#menu_cover{
	position:fixed; top:0; left:0; width:100%; height:100%; max-width:100vw; max-height:100vh; background:rgba(0,0,0,0.5); overflow:hidden; z-index:900; cursor:pointer;
}
	}
	@media (min-width: 992px){
		#btn_open{
	display:none !important;
}
	}

#head_navi {}
#head_navi a{
	display:inline-block; text-decoration:none; text-align:center;
}
#head_navi a .en{
	color:#4371ad;
}
#head_navi .main a.button{
	background:#557cc5; color:#fff;
}
#head_navi .main a.button > span{
	padding-left:1.5em; background : url(recruit_icon.png) left center / auto 1.2em no-repeat scroll padding-box border-box transparent;
}
	@media (max-width: 991px){
		#base:not(.open) #head_navi{
	display:none;
}
		#head_navi{
	position:absolute; top:100%; left:0; width:100%; background:#fff; border-top:1px solid #ccc;
}
		#head_navi .main ul > li{
	display:block; border-bottom:1px solid #ddd;
}
		#head_navi .main li a{
	width:100%;
}
		#head_navi .main li:not(.recruit) a{
	display:table; table-layout:fixed;
}
		#head_navi .main li:not(.recruit) a > *{
	display:table-cell; vertical-align:middle; padding:15px 5px;
}
		#head_navi .main a .en{
	text-align:right;
}
		#head_navi .main a .ja{
	text-align:left;
}
		#head_navi .main li.recruit{
	line-height:100%;
}
		#head_navi .main li.recruit a{
	padding:15px; font-size:1.3em;
}
	}
	@media (min-width: 992px){
		#head_navi .head_navi_wrap{
	display:table; width:100%; height:100%;
}
		#head_navi .head_navi_wrap .main{
	display:table-cell; vertical-align:middle;
}
		#head_navi .main ul{
	display:table; height:100%; margin:0 0 0 auto;
}
		#head_navi .main ul > li{
	display:table-cell; vertical-align:middle;
}
		#head_navi .main li:not(.recruit) a{
	background : url(back_link.png) right center / auto 100% no-repeat scroll padding-box border-box transparent;
}
		#head_navi .main li a > *{
	display:block; line-height:160%;
}
		#head_navi .main a .ja{
	font-size:12px;
}
		#head_navi .main a.button{
	border-radius:50px;
}
	}
	@media (min-width: 992px) and (max-width:1199px){
		#head:not(.fixed){
	padding:20px 10px;
}
		.fixed#head{
	padding:10px;
}
		#head_navi .main li:not(.recruit) a{
	padding:0 20px 0 10px;
}
		#head_navi .main li.recruit{
	padding-left:10px;
}
		#head_navi .main a .en{
	font-size:1.2em;
}
		#head_navi .main a.button{
	padding:12px 20px;
}
	}
	@media (min-width:1200px) and (max-width:1380px){
		#head:not(.fixed){
	padding:20px 50px;
}
		.fixed#head{
	padding:10px 50px;
}
		#head_navi .main li:not(.recruit) a{
	padding:0 30px 0 15px;
}
		#head_navi .main li.recruit{
	padding-left:15px;
}
		#head_navi .main a .en{
	font-size:1.25em;
}
		#head_navi .main a.button{
	font-size:1.25em; padding:12px 30px;
}
		.head_text{
	padding-left:50px; padding-right:50px; background : url(text.png) 20px center / auto auto no-repeat scroll padding-box border-box transparent;
}
	}
	@media (min-width:1381px){
		#head:not(.fixed){
	padding:20px 80px;
}
		.fixed#head{
	padding:10px 80px;
}
		#head_navi .main li:not(.recruit) a{
	padding:0 40px 0 20px;
}
		#head_navi .main li.recruit{
	padding-left:20px;
}
		#head_navi .main a .en{
	font-size:1.35em;
}
		#head_navi .main a.button{
	font-size:1.3em; padding:12px 40px;
}
		.head_text{
	padding-left:80px; padding-right:80px; background : url(text.png) 30px center / auto auto no-repeat scroll padding-box border-box transparent;
}
	}


/*===================================================================
	#foot
===================================================================*/
#foot_banner{
	background : url(banner_back.jpg) left top / cover repeat scroll padding-box border-box transparent;
}
#foot{
	position:relative; background:#f8f8f8; font-size:0.9rem;
}
#foot a{
	color:#444;
}
body.sp #foot a{
	text-decoration:underline;
}
#foot .col-sm-5{
	background : url(foot_back.jpg) left top / cover repeat scroll padding-box border-box transparent;
}
#foot .foot_logo{
	max-width:200px;
}
#foot .address_wrap{
	display:inline-block; text-align:left;
}
#copyright{
	color:#fff; padding:15px 0; background:#4371ad;
}
	@media (max-width: 575px){
		#foot_banner a{
	margin-bottom:15px;
}
		#foot .address_wrap{
	padding:30px 15px;
}
		#foot .foot_logo{
	margin-bottom:20px;
}
		#foot address{
	font-size:0.9em;
}
		#copyright{
	font-size:10px;
}
		#copyright .center{
	text-align:left;
}
	}
	@media (min-width: 576px){
		#copyright{
	font-size:0.8em;
}
		#copyright .center{
	text-align:center;
}
	}
	@media (min-width: 576px) and (max-width: 767px){
		#foot_banner a{
	margin-bottom:10px;
}
		#foot .col-sm-5{
	text-align:center;
}
		#foot .address_wrap{
	padding:30px 0;
}
		#foot .foot_logo{
	margin-bottom:20px;
}
	}
	@media (min-width: 768px){
		#foot .address_wrap{
	width:100%; padding:30px 0 30px 20px;
}
	}
	@media (min-width: 768px) and (max-width: 991px){
		#foot .foot_logo{
	margin-bottom:20px;
}
		#foot address{
	font-size:0.9em;
}
	}
	@media (min-width: 992px){
		#foot .foot_logo{
	margin-bottom:30px;
}
	}
	@media (min-width:1200px){
		#foot .address_wrap{
	width:450px;
}
	}

/* pagetop */
#pagetop{
	position:fixed; bottom:10px; right:10px; z-index:9100; line-height:100%;
}
#pagetop a{
	color:#fff; text-decoration:none; display:block; background:#8cd200; border-radius:10px;
}
#pagetop a i{
	display:none;
}
	@media (max-width: 575px){ #pagetop a{
	width:45px; height:45px; line-height:50px; font-size:23px;
} }
	@media (min-width: 576px){ #pagetop a{
	width:56px; height:56px; line-height:60px; font-size:30px;
} }


/*===================================================================
	color
===================================================================*/
.c_{
	color:#333 !important;
}
.c_white{
	color:#fff !important;
}
.c_red{
	color:#d54545 !important;
}
.c_gray{
	color:#aaa !important;
}
.c_blue{
	color:#4371ad !important;
}
.bg_white{
	background-color:#fff;
}
.bg_gray{
	background-color:#fafafa !important;
}
.bg_blue{
	background-color:#4371ad;
}
.bg_blue-o{
	background-color:#F1F9FC;
}

.button,
a.button{
	display:inline-block; position:relative; text-align:center; text-decoration:none;
}
.button.bg_blue{
	color:#fff;
}

.button._type1{
	min-width:200px; padding:10px 0;
}
body.pc .button._type1:hover { opacity:0.8; }

.hl_1{
	text-align:center; margin-bottom:30px;
}
.hl_1 > span{
	display:block;
}
.hl_1 .sub{
	font-size:14px; letter-spacing:5px;
}
	@media (max-width: 575px){
		.hl_1 .main{
	font-size:2em; letter-spacing:5px;
}
		.hl_1._small .main{
	font-size:2em;
}
	}
	@media (min-width: 576px){
		.hl_1 .main{
	font-size:3em; letter-spacing:10px;
}
		.hl_1._small .main{
	font-size:2.5em;
}
	}

.tbl_1{
	width:100%;
}
.tbl_1 th,
.tbl_1 td{
	border-bottom:2px dotted #ddd;
}
.tbl_1 th{
	color:#4371ad;
}
	@media (max-width: 575px){
		.tbl_1 th, .tbl_1 td{
	padding:10px 5px;
}
	}
	@media (min-width: 576px){
		.tbl_1 th, .tbl_1 td{
	padding:15px 10px;
}
	}

.tbl_2{
	width:100%;
}
.tbl_2 th,
.tbl_2 td{
	border:1px solid #ddd; padding:15px 10px;
}
.tbl_2 th{
	color:#4371ad; vertical-align:middle;
}
.tbl_2 th:not(.sub){
	background:#EDF5FB; text-align:center;
}
.tbl_2 th.sub{
	background:#f7fafc;
}
.tbl_2 td{
	background:#fff;
}
	@media (max-width: 575px){
		.tbl_2{
	font-size:0.9em;
}
		.tbl_2 th,
		.tbl_2 td{
	padding:10px 5px;
}
	}
	@media (min-width: 576px) and (max-width: 767px){
		.tbl_2 th,
		.tbl_2 td{
	padding:15px 10px;
}
	}
	@media (min-width: 768px){
		.tbl_2 th:not(.sub){
	font-size:1.15em;
}
		.tbl_2 th,
		.tbl_2 td{
	padding:15px 20px;
}
	}


/*===================================================================
	pc / sp
===================================================================*/
.mb0{
	margin-bottom:0 !important;
}
.mb5{
	margin-bottom:5px !important;
}
.mb10{
	margin-bottom:10px !important;
}
.mb20{
	margin-bottom:20px !important;
}
.mb30{
	margin-bottom:30px !important;
}
.mb40{
	margin-bottom:40px !important;
}
.mb50{
	margin-bottom:50px !important;
}
.p10{
	padding:10px;
}

.disp_b{
	display:block;
}
.disp_ib{
	display:inline-block;
}
.disp_tbl{
	display:table; width:100%; height:100%;
}
.disp_td{
	display:table-cell; vertical-align:middle;
}

.img_sq, .img_rect, .img_back{
	background-position:center center; background-repeat:no-repeat; background-size:cover; overflow:hidden; line-height:1px;
}
.img_sq > img, .img_rect > img, .img_back > img{
	visibility:hidden;
}
.img_rect{
	padding-top:52%;
}
.img_sq{
	padding-top:100%;
}
.img_rect img,
.img_sq img{
	width:1px; height:1px;
}

/*
.parallax, .parallax:before, .parallax:after { transition:all .7s; }
.parallax[data-parallax-in="vertical"],
.parallax[data-parallax-in="vertical2"],
.parallax[data-parallax-in="vertical3"] { opacity:1; transform:translateY(0); -webkit-transform:translateY(0); -ms-transform:translateY(0); }
.parallax[data-parallax-in="vertical"]:not(.parallax_on),
.parallax[data-parallax-in="vertical2"]:not(.parallax_on),
.parallax[data-parallax-in="vertical3"]:not(.parallax_on) { opacity:0 !important; }
.parallax[data-parallax-in="vertical"]:not(.parallax_on),
.parallax[data-parallax-in="vertical2"]:not(.parallax_on),
.parallax[data-parallax-in="vertical3"]:not(.parallax_on) { transform:translateY(30px); -webkit-transform:translateY(30px); -ms-transform:translateY(30px); }
.parallax[data-parallax-in="vertical2"] { transition-delay:.2s; -webkit-transition-delay:.2s; -ms-transition-delay:.2s; }
.parallax[data-parallax-in="vertical3"] { transition-delay:.5s; -webkit-transition-delay:.5s; -ms-transition-delay:.5s; }
.parallax[data-parallax-in="left"] { position:relative; left:0; }
.parallax[data-parallax-in="left"]:not(.parallax_on) { left:-100vw; }
.parallax[data-parallax-in="right"] { position:relative; right:0; }
.parallax[data-parallax-in="right"]:not(.parallax_on) { right:-100vw; }
*/

@media (max-width: 767px){
	.sp_table_wrap{
	overflow-x:auto; width:100%; white-space:nowrap;
}
	.sp_table_wrap::-webkit-scrollbar { height:10px; }
	.sp_table_wrap::-webkit-scrollbar-track { background:#F1F1F1; }
	.sp_table_wrap::-webkit-scrollbar-thumb { background:#BCBCBC; }
	.sp_table_wrap table{
	width:100%;
}
	.sp_table_wrap table{
	font-size:13px !important; -webkit-text-size-adjust:100%; -moz-text-size-adjust:none; -ms-text-size-adjust:100%; text-size-adjust:100%;
}
}
