@charset "utf-8";


/* ------------------------------------------------------ *
	header
 * ------------------------------------------------------ */
[class^="header-sub"]{	display:block;	position:relative;	height: 430px;	padding: 110px 20px 0;}
	[class^="header-sub"] h2{	color:#1C293F;	font-weight:normal;}
	.header-sub01{	text-align: center;		z-index: +1;	background:center bottom no-repeat;}
	.header-sub01 p{	font-size: 123.1%;	line-height: 2em;}
	.field .header-sub01{	background-image: url(../img/bg-header-sub-field.jpg);}
	.message#index .header-sub01{	background-image: url(../img/bg-header-sub-message-index.jpg);}

	.header-sub02{	height: 159px;	padding: 0;	text-align: center;}
	.header-sub02 div{	height: 159px;	padding: 0 20px 0;	text-align: center;		z-index: +1;	background:url(../img/bg-header-sub-message-sub.jpg) center bottom no-repeat;}
	.header-sub02 div img{	width: 310px;	margin-top: 45px;}
	.header-sub02 + div{	padding-top: 457px;	background:url(../img/bg-message.png) center top repeat-y,url(../img/bg-message02.jpg) 0 top repeat-x;}
	@media screen and (min-width: 1893px) {
		.header-sub01{	background-size: 100%;}
		.header-sub02 div{	background-size: 100%;}
		.header-sub02  + div{	background-size: 100%,100% 417px;}
	}

	.header-sub03{	height: 375px;	padding:170px 0 0;	text-align: center;	-ms-box-sizing: border-box;	-moz-box-sizing: border-box;	-webkit-box-sizing: border-box;	box-sizing: border-box;}
	.header-sub03 > *{	height: inherit;	width: 1000px;	max-width: 94%;	text-align: left;	margin: 0 auto;}

	@media screen and (max-width: 640px){
	[class^="header-sub"]{	display:block;	position:relative;	height: 230px;	padding: 100px 10px 0;}
	.header-sub01{	background-size: auto 100%;}
	.header-sub01 p{	font-size: 100%;}
	.header-sub01 img{	width: 250px;}
	.header-sub02{	height: auto;padding: 100px 0 0;	background: url(../img/bg-header-sub-message-index.jpg) center top no-repeat;	background-size:auto 100%;}
		.header-sub02 div{	height: auto;	padding: 0 0;	background: none;}
		.header-sub02 div img{	width: 200px;	margin-top: 0;}
	.header-sub02 + div{	padding-top: 40px;	background:none;}
	.header-sub03{	height: 150px;	padding:70px 0 0;	}
	}

	@media screen and (max-width: 374px){
	.header-sub01 p{	font-size: 93%;}
}

.subnav{color:#fff;font-size:120%;margin-bottom:20px;}
.subnav a:hover,a.act{color:#ffca49;}

/* ------------------------------------------------------ *
	bg
 * ------------------------------------------------------ */
.bg01{	background: url(../img/bg-main.png) center top repeat-y;	padding-bottom: 100px;}
@media screen and (min-width: 1893px) {
	.bg01{		background-size: 100%;}
}
@media screen and (max-width: 640px){
	.bg01{	background: none;	padding-bottom: 50px;}
}

/* ------------------------------------------------------ *
	icon
 * ------------------------------------------------------ */

/* ------------------------------------------------------ *
	a
 * ------------------------------------------------------ */
[class*="btn-ghost01"]{	display:block;	width:130px;	max-width:100%;	margin:0 auto;	font-size:153.9%;	position:relative;	padding:0 20px;	line-height:46px;	height:46px;	color:#FFF;	text-align:left;	font-weight:bold;	background: url(../img/icon-arrow01.png) 130px center no-repeat;	background-size: 17px;}
.btn-ghost01-01{		background-color:#103A83;}
.btn-ghost01-02{	background-color:#FFFFFF;	color: #103A83;}

.btn-tel01{	font-size: 216%;	font-weight: bold;}
	.btn-tel01 svg{	margin: -4px .2em 0 0;}
.btn-contact01{	display: inline-block;	padding: 0 10px;	margin-left: 20px;	font-size: 123.1%;	line-height: 40px;	color: #FFFFFF;	font-weight: bold;	background: #B20000;	border-radius: 5px;}
	.btn-contact01 svg{	margin: -4px .4em 0 0;}
	@media screen and (max-width: 640px){
		.btn-contact01{	margin-left: 0;}
	}
/* ------------------------------------------------------ *
	box
 * ------------------------------------------------------ */
.block{	display:block;}
.inline{	display:inline-block;}
.relativeBox{	position:relative;}
.table{	display: table;	width: 100%;}
.table > *{	display: table-cell;}
[class*="abs"]{	position:absolute;}
.absLT{	left:0;	top:0;}.absLM{	left:0;	top:50%;}.absLB{	left:0;	bottom:0;}.absRT{	right:0;	top:0;}.absRM{	right:0;	top:50%;}.absRB{	right:0;	bottom:0;}.absCT{	left:50%;	top:0;}.absCM{	left:50%;	top:50%;}.absCB{	left:50%;	bottom:0;}


[class^="col1box"]{	display:block; clear:both;}
[class^="col1box"] > *{	display:block;	list-style:none;	width:100%;}
[class^="col2box"]{	display:block;	 clear:both;}
	[class^="col2box"] > *{	display:block;	list-style:none;	width:590px;	float:left;}
	[class^="col2box"] > *:nth-child(even){	float:right;}
	[class^="col2box"] > *:nth-child(odd){	clear:both;}
	[class^="col2boxR"] > *:nth-child(even){float:left;}
	[class^="col2boxR"] > *:nth-child(odd){	clear:both;		float:right;}
	[class^="col2box"]:after{	content:"";	display:table;	clear:both;}

[class*="inlinebox"]{	line-height:-.4em;	letter-spacing:-.4em;}
	[class*="inlinebox"] > *{	display:inline-block;	list-style:none;	line-height:normal;	letter-spacing:normal;	position:relative; vertical-align:top;}
	[class*="inlinebox"] > .return{	margin-left:0;}
.inlinebox01 > * + *{	margin-left: 35px;}
.inlinebox02 > * + *{	margin-left: 50px;}
	[class^="inlinebox2col"] > *{	width:590px;}
		[class^="inlinebox2col"] > *:nth-child(2n+1){	margin-left:0;}

	[class^="inlinebox3col"] > *{	width:392px;}
	[class^="inlinebox3col"] > * + *{	margin-left: 22px;}
		[class^="inlinebox3col"] > *:nth-child(3n+1){	margin-left:0;}
				
	[class^="inlinebox4col"] > *{	width:290px;}
	[class^="inlinebox4col"] > * + *{	margin-left: 20px;}
		[class^="inlinebox4col"] > *:nth-child(4n+1){	margin-left:0;}
		
	[class^="inlinebox5col"] > *{	width:220px;}
		[class^="inlinebox5col"] > *:nth-child(5n+1){	margin-left:0;}

	@media screen and (max-width: 640px){
		.mainImag{	height:340px;}		
		[class*="col2box"] > *{	width:100%!important;}
			[class*="col2box"] > * + *{	margin:30px auto 0;}

			[class*="sp-col1box"] > *{	display:block;	width:100%!important;	margin:0 auto!important;	float:none!important;}
			[class*="sp-col1box"]  > * > *{	max-width:100%!important;}
			.sp-col1box01  > * + *{	margin-top: 10px!important;}
				
			[class*="sp-col2box"]{	display:block; clear:both;}
			[class*="sp-col2box"] > *{	display:block;	list-style:none;	width:50%!important;	float:left;	margin:0 auto!important;}
			[class*="sp-col2box"] > *:nth-child(even){	float:right;}
			[class*="sp-col2box"] > *:nth-child(odd){	clear:both;}
			[class*="sp-col2box"]:after{	content:"";	display:table;	clear:both;}
			.sp-col2box01 > *{	width:48%!important;}
			.sp-col2box01 > *:nth-child(even) ~ *{	margin-top:10px!important;}
			.sp-col2box02 > *{	width:48%!important;}
			.sp-col2box02 > *:nth-child(even) ~ *{	margin-top:20px!important;}
	}
/* ------------------------------------------------------ *
	h & text
 * ------------------------------------------------------ */
h1,h2,h3,h4,h5,h6{	font-weight:500;}
.h-txt01{	display:block;	font-size:197%;	color: #FFFFFF;	text-shadow: 0 0 6px rgba(0,0,0,.65);	font-weight: bold;	text-align: center;	margin-bottom:1.8em;}
.h-txt01 img{	display:block;	margin: 0 auto;}
.h-txt02{	display:block;	font-size:182%;	color: #103983;		margin-bottom:1em;	padding-left: 1em;	text-indent: -1em;}
.h-txt02::before{	content: "―";}
.h-txt03{	display:block;	font-size:123.1%;	color: #103983;	line-height: 2;}
.h-txt03::before{	content: "――";}
.h-img01{	margin-bottom: 20px;}

@media screen and (max-width: 640px) {
	.h-txt01{	font-size:138.5%;}
	.h-txt02{	font-size:153.9%;}
	.h-txt03{	font-size:108%;}
}

/* ------------------------------------------------------ *
	ul ol
 * ------------------------------------------------------ */
ul:after{		content:"";	display:table;	clear:both;}
.styleNone > li{	list-style:none;	line-height:inherit;}

/* ------------------------------------------------------ *
	table
 * ------------------------------------------------------ */
[class^="table-std"]{	width:100%;	font-size:16px;	line-height:1.8em;}
	[class^="table-std"] tr > *{	padding:15px 30px;	text-align:left;	border:solid 1px #CCCCCC;	background: #FFFFFF;}
	[class^="table-std"] th{	font-weight:bold;	background:#F6F6F6;}
		
	@media screen and (max-width: 640px) {
		.sp-block-table tr > *{	display:block!important;	width:100%!important;	max-width:100%;	font-size:12px;	padding: 1em;	box-sizing: border-box;}
		[class^="table-std"] tr > *{	font-size:93%;	padding: 1em .7em;}
		[class^="table-std"].sp-block-table th{	border-bottom:0;}
		[class^="table-std"].sp-block-table tr + tr th{	border-top:0;}
		.table-std01{	font-size:14px;}
		.table-std01 tr > *{	padding:.3em 1em;}
		.table-std01.sp-block-table tr > td{	padding:.5em 1em 1em;}
		.table-std01.sp-block-table{	border:none;}
		.table-std01.sp-block-table tr > *{	border:none;}
	}


/*[class^="table-form"]{	vertical-align:middle;	font-size:108%;	width:100%;	border:solid 2px #DDDDDD;	box-sizing: border-box;}
	[class^="table-form"] tr > *{	padding:20px 20px;	text-align:left;	line-height:1.8em;	background:#FFF;	color:#333333;	border:solid 1px #DDDDDD;	box-sizing: border-box;}
	[class^="table-form"] th{	font-weight:bold;	color:#444444;	background:#F6F6F6;}
	[class^="table-form"] th.required:after{	content:"必須";	display:inline-block;	color:#E27A3F;	font-weight:500;	font-size:12px;	line-height:18px;	padding:0 .5em;	background:#FFF;	margin:2px auto 0;	float:right; border:solid 2px #E27A3F;	border-radius:3px;}
	[class^="table-form"] td span{	font-size:93%;	color:#999999;}
	[class^="table-form"] td div{	margin-bottom:.6em;}
	@media screen and (max-width: 640px) {
		[class^="table-form"] th,
		[class^="table-form"] td{	display:block;	width:100%!important;	border-bottom:none;	padding:10px;	border:none;}
		[class^="table-form"] td label{	line-height:30px;}
	}
*/
.submit-box p{	margin-bottom: 50px;}
.table-form{	border-collapse:collapse;	font-size: 14px;	line-height: 1.5;	width: 100%;	margin-top: 20px;}
	.table-form > tbody > tr > *{	border-top: solid 1px #E4E4E4;	border-bottom: solid 1px #E4E4E4;	-ms-box-sizing: border-box;	-moz-box-sizing: border-box;	-webkit-box-sizing: border-box;	box-sizing: border-box;	padding: 20px 0 17px;	vertical-align: middle;}
	.table-form > tbody > tr > th{	text-align: left;	color: #103983;	width: 25%;}
	.table-form > tbody > tr > th.required::before{	background: #103983;	border-radius: 3px;	color: #FFFFFF;	content: "必須";	display: inline-block;	float: right;	font-size: 85%;	padding: .2em .5em .1em;}
	.table-form > tbody > tr > td{	padding-left: 70px;}
	.table-form .w1{	width: 80px;}
	.table-form .w2{	width: 140px;}
	.table-form .w3{	width: 300px;}
	.table-form .w4{	width: 370px;}
	.table-form span{	vertical-align: bottom;}
	.table-form .small{	font-size: 85%;}
	.table-form table th{	font-weight: normal;	text-align: left;	padding-right: 1em;	padding: 15px 1em 0 0; vertical-align: top;}
	.table-form table td{	padding: 5px 0; vertical-align: middle;}
	.table-form table input + input{	margin-top: 10px;}
@media screen and (max-width: 768px) {
.entry p{	font-size: 14px;}
.entry p a{	color: #103983;}
.recruit-entrybox{ padding:10px;	font-size: 14px;}
	.recruit-entrybox > *{	display:block;}
	.recruit-entrybox ul{	text-align: center;	margin-top: 1em;}
	.recruit-entrybox li{	margin-left:0;	width: 48%;}
	.recruit-entrybox li:nth-child(2){	margin-left:2%;	width: 48%;}
.submit-box p{	margin-bottom: 30px;}
.table-form{	}
	.table-form > tbody > tr > *{	clear: both;	display: block;	float: left;	width: 100%;	padding: 10px 0;}
	.table-form > tbody > tr > th{	width: 100%;	border-bottom: 0;}
	.table-form > tbody > tr:nth-child(n+2) > th,
	.table-form > tbody > tr > td{	padding-left: 0;	border-top: 0;}
	.table-form > tbody > tr > th.required::before{	display: none;}
	.table-form > tbody > tr > th.required::after{	background: #103983;	border-radius: 3px;	color: #FFFFFF;	content: "必須";	display: inline-block;	font-size: 85%;	margin-left: 1em;	padding: .2em .5em .1em;}
	.table-form .w1{	width: 20%;}
	.table-form .w2{	width: 50%;}
	.table-form .w3,
	.table-form .w4{	width: 100%;}
}
/* ---------------------------------------------------------------- *
	form
 * ---------------------------------------------------------------- */

label{	display:inline-block;}
input[type="checkbox"],
input[type="radio"]{	margin:0 .3em 0 0;	vertical-align:middle;	width:16px;	height:16px;}
input[type="url"],
input[type="search"],
input[type="color"],
input[type="date"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="email"],
input[type="text"],
textarea{	-ms-box-sizing:border-box;	-moz-box-sizing:border-box;	-webkit-box-sizing:border-box;	box-sizing:border-box;	-webkit-appearance:none;	appearance:none;}
input[type="url"],
input[type="search"],
input[type="color"],
input[type="date"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="email"],
input[type="text"],textarea,
select{	background:#EEEEEE;		border:1px solid #CCCCCC; border-radius: 10px;	color: inherit;	font-size: 14px;	height:40px;	line-height:40px;	max-width: 500px;	padding:0 .5em;	width:100%;	zoom: 1;}
textarea{	height: 150px;	line-height:1.4em;	padding:.5em;}
select{	width: auto;	padding:0 1em;		-ms-box-sizing:border-box;	-moz-box-sizing:border-box;	-webkit-box-sizing:border-box;	box-sizing:border-box;	font-size: 14px;}
select:focus,input[type="text"]:focus,input[type="tel"]:focus,input[type="email"]:focus,textarea:focus{	outline: none;	border-color: #103983;	background: #FFFFFF;}
input:invalid,textarea:invalid,select:invalid{
	background:rgba(247,213,214,.2);
}

/*送信ボタンの装飾*/
button,input[type="button"],input[type="submit"],input[type="reset"]{	background: #103983;	border: 0;	border-radius: 30px;	color: #FFFFFF;	cursor: pointer;	display: inline-block;	font-size: 16px;	font-weight: 500;	min-width: 325px;	padding:15px 25px;	text-align: left;	vertical-align: middle;	-ms-box-sizing:border-box;	-moz-box-sizing:border-box;	-webkit-box-sizing:border-box;	box-sizing:border-box;	-webkit-appearance:none;	appearance:none;}
button,input[type="button"]:focus,input[type="submit"]:focus,input[type="reset"]:focus{	outline:none;}
button,input[type="button"]:hover,input[type="submit"]:hover,input[type="reset"]:hover{	opacity: .6;}
input[type="submit"]{	background: url("../img/bg-submit01.png") 100% 50% no-repeat #103983;}
input[type="button"]{	background: url("../img/bg-submit02.png") 0 50% no-repeat #EEEEEE;	border:solid 1px #DDDDDD;	color: #444;	text-align: right;}
input[type="button"] + input[type="submit"]{	margin-left: 50px;}
input[type="button"],input[type="submit"]{	padding:0;}
input:disabled{	opacity:.1!important;	cursor: default;}
.disabled{	opacity:.2;}
.submit-box{	padding:70px 0 0;	text-align:center;}
.form-submit{	margin-top: 20px;}

@media screen and (max-width: 768px) {
.submit-box{	padding:8vw 0 0;}
input[type="url"],input[type="search"],input[type="color"],input[type="date"],input[type="password"],input[type="number"],input[type="tel"],input[type="email"],input[type="text"],textarea,
select{	font-size:16px;	border-radius: 5px;}
input[type="url"],input[type="search"],input[type="color"],input[type="date"],input[type="password"],input[type="number"],input[type="tel"],input[type="email"],input[type="text"],select{	height: 30px;	line-height: 30px;}
button,input[type="button"],
input[type="submit"],
input[type="reset"]{	background-size: 20px;	font-size: 14px;	max-width:48%;	min-width: 42%;	padding:.8em 2em;}
input[type="button"] + input[type="submit"]{	margin-left: 2%;}
}
input[type="button"],input[type="submit"]{	padding:0 40px;	text-align:center;}
