@charset "UTF-8";
/* CSS Document */

.gothic {
	font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Lucida Grande, 'メイリオ', Calibri, Helvetica, Arial;
}

.secNumber {
	position: relative;
	padding-top: 64px;
	width: 100%;
	max-width: 728px;
}
.secNumber.number01 {
	background: url(../img/common/cmn_bg_number01.png) no-repeat left top;
	background-size: 162px 166px;
}
.secNumber.number01 p {
	padding: 0 20%;
}
.secNumber.number02 {
	background: url(../img/common/cmn_bg_number02.png) no-repeat left top;
	background-size: 166px 170px;
}
.secNumber.number02 p {
	padding: 0 12%;
}
.secNumber.number03 {
	background: url(../img/common/cmn_bg_number03.png) no-repeat left top;
	background-size: 164px 170px;
}
.secNumber.number03 p {
	padding: 0 20%;
}
.secNumber.number04 {
	background: url(../img/common/cmn_bg_number04.png) no-repeat left top;
	background-size: 167px 166px;
}
.secNumber.number04 p {
	padding: 0 16%;
}
@media screen and (max-width:768px) {
	.secNumber {
		padding: 0 3%;
		padding-top: 32px;
		width: 100%;
		max-width: none;
	}
	.secNumber.number01 {
		background-size: 81px 83px;
		background-position: 3% 3%;
	}
	.secNumber.number01 p {
		padding: 0 3%;
	}
	.secNumber.number02 {
		background-size: 83px 85px;
		background-position: 3% 3%;
	}
	.secNumber.number02 p {
		padding: 0 3%;
	}
	.secNumber.number03 {
		background-size: 82px 85px;
		background-position: 3% 3%;
	}
	.secNumber.number03 p {
		padding: 0 3%;
	}
	.secNumber.number04 {
		background-size: 82px 85px;
		background-position: 3% 3%;
	}
	.secNumber.number04 p {
		padding: 0 3%;
	}
}


/** 
 * スマートフォン用ハンバーガーメニュー
 */
.menuBtn {
	display: none;
	cursor: pointer;
}

/*@media screen and (max-width:768px) {*/
@media screen and (max-width:869px) {
	.menuBtn {
		display: block;
		position: absolute;
		right: 10px;
		top: 0;
		bottom: 0;
		margin: auto;
		width: 30px;
		height: 30px;
		font-size: 0;
		z-index: 99999;
	}
	.menuBtn span,
	.menuBtn span::before,
	.menuBtn span::after {
		content: "";
		display: block;
		height: 2px;
		width: 100%;
		background-color: #fff;
		transition-duration: 0.2s;
	}
	.menuBtn span {
		position: absolute;
		top: 50%;
		margin-top: -1px;
	}
	.menuBtn span::before {
		margin-top: -10px;
	}
	.menuBtn span::after {
		margin-top: 18px;
	}
	.menuBtn.open span {
		background-color: transparent;
	}
	.menuBtn.open span::before {
		transform: rotate(45deg);
		margin-top: -1px;
	}
	.menuBtn.open span::after {
		transform: rotate(-45deg);
		margin-top: -2px;
	}
}


/** 
 * リンクアイコン
 */
[class^="linkStyle"] {
	position: relative;
}

.linkStyle01 {
	padding-left: 15px;
	color: #5976ba;
}
.linkStyle01:before {
	content: "";
	position: absolute;
	top: 30%;
	left: 0;
	width: 8px;
	height: 8px;
	border-top: solid 1px #5976ba;
	border-right: solid 1px #5976ba;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}


/** 
 * リスト
 */
/* ----- ul.disc ----- */
ul.disc li { margin:0 0 0 2em; list-style-type:disc;}
/* ----- ul.square ----- */
ul.square li { margin:0 0 0 2em; list-style-type:square; }
/* ----- ul.decimal ----- */
ul.decimal li { margin:0 0 0 2em; list-style-type:decimal;}

/* ----- ol.decimal ----- */
ol.decimal li { margin:0 0 0 2em; list-style-type:decimal;}

/* ----- イメージリスト ----- */
ul.image {
/*
	list-style: url(../img/common/cmn_ft_ico01.gif);
	*/
}
ul.image li {
	list-style-type: none;
	background: url(../img/common/cmn_ft_ico01.gif) no-repeat left top;
	padding:0 0 0 1.5em;
	margin-left: .5em;
	background-repeat: no-repeat;
	background-position: 0 1px;
}

/** 
 * マーカー
mark {
	background: #ffff66;
}
mark.type02 {
	background: linear-gradient(transparent 40%, #ff9f4a 40%);
}
 */
.underline {
	border-bottom: solid 3px #ff9f4a;
}

/** 
 * タイトル
 */
/* 背景写真付きのページ画像タイトル */
.ttlStyle01 {
	position: relative;
	text-align: center;
	margin-bottom: 35px;
}
.ttlStyle01 .title {
	color: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
.ttlStyle01 .titleBg {
	width: 100%;
}
.ttlStyle01 .titleBg.side {
	padding: 0 80px;
}
/* 背景写真無しのページ画像タイトル */
.ttlStyle02 {
	position: relative;
	background: #f2f4fa;
	text-align: center;
	padding: 63px 0 41px;
}
@media screen and (max-width:768px) {
	.ttlStyle02 {
		padding: 30px 0 20px;
	}
	.ttlStyle02 img  {
		width: 60%;
		max-width: 400px;
	}
}

/* タイトル左のみにライン */
.ttlStyle03 {
	position: relative;
	color: #5976ba;
	font-size: 21px;
	padding-left: 2.5em;
	line-height: 1.6;
	margin-bottom: 25px;
}
.ttlStyle03:before {
	content: '';
	position: absolute;
	/*
	top: 50%;
	*/
	top: 16px;
	left: 0;
	display: inline-block;
	width: 2em;
	height: 1px;
	background-color: #5976ba;
}
.ttlStyle07:before {
	left:0;
}
@media screen and (max-width:768px) {
	.ttlStyle03 {
		font-size: 16px;
		padding-left: 2.0em;
		margin-bottom: 15px;
	}
	.ttlStyle03:before {
		width: 1.5em;
		top: 12px;
	}

}


/** 
 * テーブルスタイル
 */
/* プロフィール欄のタイムスケジュール */
.tableStyle01 {
	width: 100%;
}
.tableStyle01 caption {
	border-top: solid 1px #637fbe;
	border-bottom: solid 1px #637fbe;
	margin-bottom: 15px;
}
.tableStyle01 th,
.tableStyle01 td {
	vertical-align: top;
}
.tableStyle01 th {
	width: 55px;
	line-height: 1.4;
	padding-right: 4px;
}
.tableStyle01 td {
	position: relative;
	color: #5976ba;
	font-size: 10px;
	line-height: 1.3;
	padding-top: 3px;
	padding-left: 18px;
	border-left: solid 3px #5976ba;
}
.tableStyle01 td.last {
	border-left: solid 3px #fff;
}
.tableStyle01 td:before {
	content: "";
	position: absolute;
	top: 0;
	left: -11px;
	background: url(../img/common/ico_table_dot.png) no-repeat left top;
	width: 18px;
	height: 18px;
}
@-moz-document url-prefix() { /* firefoxのみズレ対策 */
	.tableStyle01 td:before {
		left: -13px;
	}
}

/* 採用情報のテーブル等 */
.tableStyle02 {
	width: 100%;
	border-top: solid 1px #5976ba;
	border-left: solid 1px #5976ba;
	font-size: 16px;
}
.tableStyle02 th,
.tableStyle02 td {
	vertical-align: top;
	border-bottom: solid 1px #5976ba;
	border-right: solid 1px #5976ba;
}
.tableStyle02 th {
	width: 176px;
	background: #d8e0fa;
	text-align: center;
	padding: 20px 0;
}
.tableStyle02.table01{
	margin-bottom: 50px;
}
.tableStyle02.table01 td {
	padding: 20px 50px 20px 55px;
	line-height: 2.7;
}
.tableStyle02.table02 .narrow {
	line-height: 1.2;
}
.tableStyle02.table02 td {
	padding:20px 0 ;
	text-align: center;
}
@media screen and (max-width:768px) {
	.tableStyle02 th,
	.tableStyle02 td {
		display: block;
	}
	.tableStyle02 th {
		width: 100%;
		padding: 5px 0;
	}
	.tableStyle02 td {
		padding: 5px 3%;
		line-height: 1.5;
	}
	.tableStyle02.table02 td {
		padding: 20px 50px 20px 55px;
		text-align: left;
	}
	.tableStyle02.table02 .narrow {
		line-height: 2.7;
	}
}


/** 
 * 角括弧（キーワードブロックで使用）
 */
.parenthesis {
	position: relative;
	display: block;
	width: 127px;
	padding: 3px 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	text-align: center;
	line-height: 1.3;
}
.parenthesis:before,
.parenthesis:after {
	position: absolute;
	top: 0;
	content: '';
	width: 6px;
	height: 100%;
	border-top: solid 2px #5976ba;
	border-bottom: solid 2px #5976ba;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.parenthesis:before {
	left: 0;
	border-left: solid 2px #5976ba;
}
.parenthesis:after {
	right: 0;
	border-right: solid 2px #5976ba;
}
@media screen and (max-width:768px) {
	.parenthesis {
		width: 70%;
		margin: 0 auto;
	}

}


/** 
 * 団落ちテキスト
 */
.cap {
	padding-left:1em;
	text-indent:-1em;
}

/** 
 * テキスト
 */
.fwB {
	font-weight: bold;
}
.tC {
	text-align: center;
}


/** 
 * margin padding
 */
.mgB10 { margin-bottom: 10px !important; }
.mgB15 { margin-bottom: 15px !important; }
.mgB20 { margin-bottom: 20px !important; }
.mgB25 { margin-bottom: 25px !important; }
.mgB30 { margin-bottom: 30px !important; }
.mgB35 { margin-bottom: 35px !important; }
.mgB40 { margin-bottom: 40px !important; }
.mgB45 { margin-bottom: 45px !important; }
.mgB50 { margin-bottom: 50px !important; }
.mgB55 { margin-bottom: 55px !important; }
.mgB60 { margin-bottom: 60px !important; }
.mgB65 { margin-bottom: 65px !important; }
.mgB70 { margin-bottom: 70px !important; }
.mgB80 { margin-bottom: 80px !important; }
.mgB90 { margin-bottom: 90px !important; }
.mgB100 { margin-bottom: 100px !important; }
.mgB120 { margin-bottom: 120px !important; }
.mgB125 { margin-bottom: 125px !important; }
.mgB150 { margin-bottom: 150px !important; }
.mgB180 { margin-bottom: 180px !important; }

@media screen and (max-width:768px) {
	.mgB50 { margin-bottom: 25px !important; }
	.mgB80 { margin-bottom: 40px !important; }
	.mgB125 { margin-bottom: 62px !important; }
	.mgB150 { margin-bottom: 75px !important; }
}

.pdB05 { padding-bottom: 5px !important; }
.pdB10 { padding-bottom: 10px !important; }
.pdB15 { padding-bottom: 15px !important; }
.pdB20 { padding-bottom: 20px !important; }
.pdB25 { padding-bottom: 25px !important; }
.pdB30 { padding-bottom: 30px !important; }
.pdB35 { padding-bottom: 35px !important; }
.pdB40 { padding-bottom: 40px !important; }
.pdB45 { padding-bottom: 45px !important; }
.pdB50 { padding-bottom: 50px !important; }
.pdB55 { padding-bottom: 55px !important; }
.pdB60 { padding-bottom: 60px !important; }
.pdB65 { padding-bottom: 65px !important; }
.pdB70 { padding-bottom: 70px !important; }
.pdB80 { padding-bottom: 80px !important; }
.pdB90 { padding-bottom: 90px !important; }
.pdB100 { padding-bottom: 100px !important; }
.pdB125 { padding-bottom: 125px !important; }
.pdB150 { padding-bottom: 150px !important; }
.pdB180 { padding-bottom: 180px !important; }

/** 
 * その他
 */
.fL,
.pcfL {
	float: left;
}
.fR,
.pcfR {
	float: right;
}
.spOnly {
	display: none;
}

.relative {
	position: relative;
}
@media screen and (max-width:768px) {
	.pcfL,
	.pcfR {
		float: none;
	}
	.pcOnly {
		display: none !important;
	}
	.spOnly {
		display: block;
	}
}




