@charset "utf-8";
/* CSS Document */


/*要素のフォントサイズやマージン・パディングをリセットしています*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    vertical-align:baseline;
    background:transparent;
}




html {
	width:100%;
    font-size: 100%; /* 1 */
    overflow-y: scroll; /* 2 */
    -webkit-tap-highlight-color: rgba(0,0,0,0); /* 3 */
    -webkit-text-size-adjust: 100%; /* 4 */
    -ms-text-size-adjust: 100%; /* 4 */
}


body{
	width:100%;
	background:#FFFFFF;
	margin:0;
	padding:0;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	/*font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka,  sans-serif;*/
}


section {
	margin-bottom:80px;
}


a:hover{
	opacity:0.7;
}

p{
	margin:15px 0;
	line-height:1.7;
	padding:0 10px;
}

@media only screen and (min-width: 480px) {
.index-p {
	width:550px;
}
}

img{
	border:none;
}


/* h
-----------------------------------------------------------------------------------*/



@media only screen and (min-width: 480px) {
h1 {
	font-size:2.4em;
	margin-bottom:40px;
	background:#f0f0f0;
	color:#333399;
	padding:10px;
}


.recruit-back {
	background:#333399 url("../img/27767276.jpg");
	background-repeat:no-repeat;
	background-position:right 80%;
	background-size:75%;

	color:#fff;
	padding:60px 40px;
}

.overview-back {
	background:#333399 url("../img/18339987.jpg");
	background-repeat:no-repeat;
	background-position:right 28%;
	background-size:63%;

	color:#fff;
	padding:60px 40px;
}


h2 {
	font-size:2.0em;
	margin-bottom:20px;
/*
	color:#FFFFFF;
	background:#00a;
	padding:15px;
	border-radius:10px;
*/
}

h3 {
	font-size:1.7em;
	margin-bottom:20px;
}

h4 {
	font-size:1.5em;
	margin-bottom:20px;
}

h5 {
	font-size:1.3em;
	margin-bottom:20px;
}

h6 {
	font-size:1.1em;
	margin-bottom:20px;
}
}



@media only screen and (max-width: 480px) {
h1 {
	font-size:1.8em;
	margin-bottom:40px;
	text-align:center;
	background:#f0f0f0;
	color:#333399;
	padding:10px;
}



.recruit-back {
	background:#333399 url("../img/27767276.jpg");
	background-repeat:no-repeat;
	background-position:bottom;
	background-size:cover;

	text-shadow:1px 1px 3px #000;
	color:#fff;
	padding:50px 10px;
}



.overview-back {
	background:#333399 url("../img/18339987.jpg");
	background-repeat:no-repeat;
	background-position:top;
	background-size:cover;

	text-shadow:1px 1px 3px #000;
	color:#fff;
	padding:50px 10px;
}




h2 {
	font-size:1.65em;
	margin-bottom:20px;
	text-align:center;
}

h3 {
	font-size:1.55em;
	margin-bottom:20px;
}

h4 {
	font-size:1.4em;
	margin-bottom:20px;
}

h5 {
	font-size:1.25em;
	margin-bottom:20px;
}

h6 {
	font-size:1.1em;
	margin-bottom:20px;
}
}



/* table
-----------------------------------------------------------------------------------*/
table {
	width:100%;
	border-collapse:collapse;
	border-bottom:1px solid #999;
	margin:20px 0px 60px 0px;
}

table td, table th{
	padding:5px 1em;
	line-height:1.5;
	border-bottom:1px solid #999;
	text-align:left;
}


table th{
	font-weight:normal;
	vertical-align:top;
/*
	background-color:#ccc;
*/
	padding:10px 20px ;
	font-weight:bold;
	color:#0033CC;
}



@media only screen and (max-width: 480px) {
table th{
	width:5em;
	padding:10px ;
}
}

table caption {
	font-size:1.2em;
	border-left:10px solid #00a;
	text-align:left;
	padding:5px 10px;
	margin-bottom:20px;
}

table td {
	padding:10px 20px ;
}


table dd {
	margin-left: 40px;
}



/* table contrl
-----------------------------------------------------------------------------------*/

/*-- 左から1つ目の幅を指定 --*/
th:nth-child(1) {
	width:20%;
}
td:nth-child(1) {
	width:20%;
}


/*-- 幅を指定する --*/
table .wide-s {
	width:20%;
}



/* dl
---------------------------------------------------------------*/
dl {
}

@media only screen and (min-width: 480px) {
dt {
	font-weight:bold;
	font-size:1.2em;
	margin-bottom:10px;
}

dd {
	line-height:1.7;
	margin-bottom:40px;
}
}



@media only screen and (max-width: 480px) {
dt {
	font-weight:bold;
	margin-bottom:10px;
}

dd {
	line-height:1.7;
	margin-left:1em;
	margin-bottom:40px;
}
}

/* dl 募集要項
---------------------------------------*/

.recruit-number {
	margin:20px 0;
}

.recruit-number dt {
	counter-increment: dt-num;
}
 

.recruit-number dt:before {
	content:counter(dt-num) ".";
	padding-right:5px;
}

.recruit-number dd {
	line-height:1.5;
	border-left:2px solid #ccc;
	padding-left:15px;
}

.recruit-number ol {
	margin:15px 0 15px 30px !important;
}

.recruit-number ol li {
	margin-bottom:5px;
}




/* 文字サイズ色
---------------------------------------------------------------*/
@media only screen and (min-width: 480px) {
.big {
	font-size:1.5em;
	font-weight:bold;
}
}

@media only screen and (max-width: 480px) {
.big {
	font-size:1.2em;
	font-weight:bold;
}
}

.red {
	color:#F00;
}

.blue {
	color:#0033CC;
}

.orange {
	color:#FF9900;
}

.green {
	color:#99cc33;
}




/* 画像などの簡単な位置制御 r=右 l=左
---------------------------------------------------------------*/
@media only screen and (min-width: 480px) {
.i-r {
	float:right;
	margin-left:10px;
}

.i-l {
	float:left;
	margin-right:10px;
}
}

@media only screen and (max-width: 480px) {
.i-r {
	display:block;
}

.i-l {
	display:block;
}
}


/* 回込解除
---------------------------------------------------------------*/
.b-end {
	clear:both;
	height:0;
	font-size: 1px;
	line-height: 0px;
}




/* header
-----------------------------------------------------------------------------------*/
#header{
	width:100%;
	padding:16px 0;
}


#logo {
	width:265px;
}

#logo img{
	width:265px;
	height: auto;
}


@media only screen and (min-width: 480px) {
	#header{
		min-width:960px;
		border-bottom:3px solid #63C;
	}


	#header-in {
		width:960px;
		margin:0 auto;
	        display: flex;
	        justify-content: space-between;
	}


	#logo {
	/*
		margin-right:20px;
	*/
	}
}

@media only screen and (max-width: 480px) {
	#header-in {
		width:100%;
		min-width:320px;
		margin:0 auto;
	}


	#logo {
		margin:0 auto 30px 10px;
	}
}


/*---------------------------
#logo span {
	display:block;
	font-size:2em;
	color:#333333;
}
-----------------------------*/




/* ロゴ横のナビ
-----------------------------------------------------------------------------------*/
#head-navi:after {
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}



#head-navi a:hover {
	background:#3366CC;
	color:#FFFFFF;
	text-decoration:underline;
}


@media only screen and (min-width: 480px) {
#head-navi {
	list-style:none;
	margin:30px 0px 0px 0px;
}

#head-navi li{
	float:left;
	border-left:1px solid #333;
}

#head-navi li:last-child{
	border-right:1px solid #333;
}


#head-navi a {
	display:block;
	color:#333333;
	text-decoration:none;
	padding:6px 10px;

/*--アニメーション--*/
	transition: background-color 0.3s ease-in-out;
	-webkit-transition: background-color 0.3s ease-in-out;
	-moz-transition: background-color 0.3s ease-in-out;
}
}


@media only screen and (max-width: 480px) {
#head-navi {
	list-style:none;
	padding:0px;
	margin:20px 0px;
	border:1px solid #92abd4;
}

#head-navi li{
	width:50%;
	float:left;
}


/*--募集要項の強調--*/
#head-navi li:nth-child(5){
	width:100%;
	float:left;
}


#head-navi a {
	display:block;
	color:#333333;
	text-align:center;
	text-decoration:none;
	border:1px solid #92abd4;
	padding:10px;

/*--アニメーション--*/
	transition: background-color 0.3s ease-in-out;
	-webkit-transition: background-color 0.3s ease-in-out;
	-moz-transition: background-color 0.3s ease-in-out;
}
}




/* container
-----------------------------------------------------------------------------------*/

#container{
	zoom:1;
}




/* visual
-----------------------------------------------------------------------------------*/
#visual {
	position:relative;
	background:#66CC66 url("../img/23224194.jpg");
	background-repeat:no-repeat;
	background-position:top center;
	background-size:cover;
	width:100%;
}


#visual h1 {
	font-family:"HG明朝E","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight:bold;
	color:#fff;
	text-shadow:0px 0px 3px #000;
	text-align:center;
	background:none;
}


.top-text {
	text-align:center;
	padding:0;
	line-height:0;
}



@media only screen and (min-width: 480px) {
#visual {
	min-width:960px;
	padding-bottom:60px;
}

/*
#visual h1 {
	font-size:3em;
	margin-top:30px;
	margin-bottom:80px;
}
*/

.top-text {
	margin-top:30px;
	margin-bottom:80px;
}


.top-text1 {
	height:46px;
	width:auto;
}

.top-text2 {
	height:46px;
	width:auto;
}
}

@media only screen and (max-width: 480px) {
#visual {
	min-width:320px;
	padding-bottom:10px;
}

/*
#visual h1 {
	font-size:2em;
	margin-top:10px;
	margin-bottom:40px;
}
*/

.top-text {
	font-size:2em;
	margin-top:10px;
	margin-bottom:60px;
}

.top-text1 {
	width:96%;
	height: auto;
}

.top-text2 {
	width:86%;
	height: auto;
}

}


/* main
-----------------------------------------------------------------------------------*/
#main {
	margin:0px auto;
	padding:40px 0px 40px 0px;
}



@media only screen and (min-width: 480px) {
	#main {
		width:960px;
	}
}


@media only screen and (max-width: 480px) {
	#main {
		width:96%;
		min-width:320px;
		padding:10px 0px 40px 0px;
	}
}


#main ol, #main ul {
	margin:30px;
}




/* message
-----------------------------------------------------------------------------------*/
.message {
	text-align:center;
	padding:15px;
	background:#FFF;
	border:1px solid #CCC;
}

@media only screen and (min-width: 480px) {
.message {
	margin:0px 25px 25px 0px;
}
}

@media only screen and (max-width: 480px) {
.message {
	margin:25px;
}
}



/* top-recruit-area
-----------------------------------------------------------------------------------*/
.top-recruit-area {
	background:rgba(0,0,0,0.3);
}

.top-recruit-area p {
	text-align:center;
	color:#fff;
	font-size:1.1em;
	padding:0 10px;
}

/* recruit-bnr
-----------------------------------------------------------------------------------*/
#recruit-bnr {
	background:url("../img/27767276.jpg") no-repeat;
	background-position:center center;
	background-size:cover;
/*
	background:#69F;
*/
	display:block;
	border:2px solid #fff;

	color:#FFFFFF;
	text-decoration:none;
	text-shadow:1px 1px 3px #000;
	box-shadow:1px 1px 3px #000;
}

#recruit-bnr h2 {
	text-align:center;
	margin-top:20px;
	margin-bottom:80px;
}

#recruit-bnr h3 {
	font-size:1.5em;
	text-align:center;
	margin-top:20px;
	margin-bottom:60px;
}

#recruit-bnr p {
	text-align:right;
	background:rgba(0,0,0,0.5);
	margin-bottom:0;
	padding:10px;
}

@media only screen and (min-width: 480px) {
.top-recruit-area {
	padding:20px;
}

.top-recruit-area p {
	font-size:1.1em;
}


#recruit-bnr {
	width:400px;
	margin:20px auto 0px auto;
}

#recruit-bnr h2 {
	font-size:3em;
}

}

@media only screen and (max-width: 480px) {
.top-recruit-area {
	padding:10px;
}

.top-recruit-area p {
	font-size:0.9em;
}


#recruit-bnr {
	width:96%;
	margin:20px auto 10px auto;
}


#recruit-bnr h2 {
	font-size:2em;
}

#recruit-bnr p {
	font-size:0.9em;
}
}




/* ボタン
-----------------------------------------------------------------------------------*/
.pdf-icon {
	border:1px solid #999933;
	background:#66cc00 url("../img/pdf-icon.png") no-repeat;
	color:#FFF;
}

.pdf-icon-orange {
	border:1px solid #ff4500;
	background:#ff8c00 url("../img/pdf-icon.png") no-repeat;
	color:#FFF;
}

.mail-icon {
	border:1px solid #369;
	background:#3333cc url("../img/mail-icon.png") no-repeat;
	color:#FFF;
}



.btn, .btn2 {
/*
	width:70%;
	background:#00a;
	color:#FFF;
*/
	font-weight:bold;
	text-align:center;
	text-decoration:none;
	letter-spacing: 2px;
	display:block;
	border-radius:10px;
	padding:20px 10px;
	box-shadow:#666 3px 3px 3px;
}



@media only screen and (min-width: 480px) {
.btn {
	width:42%;
	font-size:1.3em;
	margin:40px auto;
}

.btn2 {
	width:42%;
	font-size:2.0em;
	margin:40px auto;
}

.pdf-icon span, .pdf-icon-orange span, .mail-icon span {
	padding-left:30px;
}


.pdf-icon, .pdf-icon-orange, .mail-icon {
	background-position:3% center;
	background-size:50px;
}

}


@media only screen and (max-width: 480px) {
.btn {
	width:80%;
	font-size:1.1em;
	margin:30px auto;
}

.btn2 {
	font-size:1.5em;
}


.pdf-icon span, .pdf-icon-orange span, .mail-icon span {
	padding-left:25px;
}

.pdf-icon, .pdf-icon-orange, .mail-icon {
	background-position:3% center;
	background-size:40px;
}
}




/* form
-----------------------------------------------------------------------------------*/
.form-dl {
}

.form-dl input[type=text]{
	border: solid 1px #999999;
}


.form-dl textarea{
	border: solid 1px #999999;
}

.btn-set  input {
	border:solid 1px #999;
}

@media only screen and (min-width: 480px) {
.form-dl dt {
	color:#666;
	font-weight:bold;
	display:inline-block;
	float:left;
	width:10em;
	padding:12px 0px 12px 10px;
	clear:both;
}

.form-dl dd {
	padding:12px 10px 12px 13em;
	border-bottom: dotted 1px #999999;
	margin-bottom:10px;
	font-size: 1.1em;
}

.form-dl input[type=text]{
	width:400px;
	padding:5px;
	font-size:1em;
	margin-bottom:5px;
	border: solid 1px #999999;
}


.form-dl textarea{
	width:400px;
	padding:5px;
	font-size:1em;
	margin-bottom:5px;
	line-height:1.5;
	border: solid 1px #999999;
}
}


@media only screen and (max-width: 480px) {
.form-dl dt {
	color:#00a;
	font-size:1.1em;
	font-weight:bold;
	padding:12px 0px 0px 0px;
}


.form-dl dd {
	margin-left:0;
	margin-bottom:30px;
}

.form-dl input[type=text]{
	width:96%;
	padding:5px;
	font-size:1em;
	margin-bottom:10px;
}


.form-dl textarea{
	width:96%;
	padding:5px;
	font-size:1em;
	margin-bottom:10px;
	line-height:1.5;
}
}



/* footer
-----------------------------------------------------------------------------------*/
#footer{
/*
	margin-top:40px;
*/
	background:#92abd4;
	color:#fff;
}

@media only screen and (min-width: 480px) {
#footer{
	width:100%;
	min-width:960px;
}
}

@media only screen and (max-width: 480px) {
#footer{
	width:100%;
	min-width:320px;
}
}



#footer .copyright{
	zoom:1;
	clear:both;
	font-size:0.9em;
	text-align:center;
	padding:15px;
}








/* タブレット・スマホ
-----------------------------------------------------------------------------------*/
@media only screen and (max-width: 480px) {

	#head-navi {
		display: none;
	}


	/*---------------------------------------------
	  Hamburger Nav
	  ---------------------------------------------*/
	.hamburger-nav {
	}

	.nav-list {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		z-index: -1;
		width: 100%;
		height: 100vh;
		box-sizing: border-box;
		list-style: none;
		margin: 0;
		padding: 90px 0 30px;
		background: rgb(230 231 252 / 90%);
		text-align: center;
		overflow: auto;
		font-size: 1.2rem;
	}

	.nav-list > li a {
		display: block;
		padding: 15px 1em;
		text-decoration: none;
		color: #000;
		border-bottom: 1px solid #666;
	}

	.nav-list > li:first-child a {
		border-top: 1px solid #666;
	}

	.nav-list > li a:hover {
		background: #fff;
		color: #ff1515;
	}

	.nav-list.b-open {
		display: block;
		z-index: 5;
		animation: showAni .5s ease 0s 1 normal;
	}

	.nav-list.b-close {
		display: block;
		opacity: 0;
		
	}

	.nav-toggle-button {
		position: fixed;
		right: 15px;
		top: 15px;
		z-index: 10;
		cursor: pointer;
		box-sizing: border-box;
		min-width: 70px;
		height: 70px;
		border: 2px solid #666;
		padding: 13px 0;
		background: #fff;
		text-align: center;
		color: #000;
		font-weight: bold;
		box-shadow: 2px 2px 5px #666;
		transition: all 0.2s ease-in-out;
	}

	/*--ボタンの文字 閉じてる--*/
	.nav-toggle-button.b-close::after {
		content: 'メニュー';
	}

	/*--ボタンの文字 開いてる--*/
	.nav-toggle-button.b-open::after {
		content: '閉じる';
	}

	.nav-toggle-button:hover {
		background: #fff;
	}

	.nav-toggle-button img {
		object-fit: contain;
		width: 30px;
		height: auto;
		display: block;
		margin: auto;
	}

	@keyframes showAni {
		0% {
			opacity: 0;
		}
		100% {
			opacity: 1;
		}
	}

	@keyframes hideAni {
		0% {
			opacity: 1;
			z-index: 1;
		}
		100% {
			opacity: 0;
			z-index: -1;
		}
	}


}



/* PC 印刷
-----------------------------------------------------------------------------------*/
@media only screen and (min-width: 480px), print {
	.hamburger-nav {
		display: none;
	}
}
