@charset "UTF-8";
.container_wrapper {
	width: 940px;
	margin: 40px auto;
	float: none;
}

/* anchor link
---------------------------------------------------------- */
a.hash_link {
	margin-top: -130px;
	padding-top: 130px;
}

a.hash_link:hover {
	color: #2a2a2a;
}

@media screen and (-webkit-min-device-pixel-ratio:0) {
	/* chromeのみ */
	a.hash_link {
		margin-top: -10px;
		padding-top: 10px;
	}
}

@supports (-ms-ime-align:auto) {
	/* Edgeのみ */
	a.hash_link {
		margin-top: -130px;
		padding-top: 130px;
	}
}


/* pc_gnav
---------------------------------------------------------- */
.pc_gnav {
	width: 100%;
	border-top: 5px solid #c9151e;
	border-bottom: 5px solid #023f73;
}
.pc_gnav .gnav_area h1 {
	float: left;
	margin-top: -9px;
	padding: 0 20px;
	font-size: 93%;
	position: relative;
}
.pc_gnav .gnav_area h1 img {
	display: block;
	margin-bottom: 5px;
}
.pc_gnav .gnav_area h1 a {
	color: #c9151e;
}
.pc_gnav .gnav_s {
	list-style: none;
	position: absolute;
	top: 10px;
	right: 210px;
	margin: 0;
	padding: 0;
}
.pc_gnav .gnav_s li {
	display: inline-block;
	font-size: 108%;
	background: url(/img/recruit/icon_gnav_s.png) no-repeat 2px center;
	padding: 0 15px;
}
.pc_gnav .gnav_s li a {
	color: #1c1c1c;
}
.pc_gnav .gnav_area {
	width: 980px;
	margin: 0 auto;
	padding: 0 0 5px;
}
.pc_gnav .gnav_area h1 {
	float: left;
	padding: 0 20px;
}
.pc_gnav .gnav_area ul {
	margin: 0;
	padding: 0;
	list-style: none;
	float: right;
	display: table;
}
.pc_gnav .gnav_area ul li {
	display: table-cell;
	padding: 18px 0;
	font-size: 123.1%;
}
.pc_gnav .gnav_area ul li a {
	color: #1c1c1c;
	display: block;
	padding: 0 15px;
}

.coming_link {
	color: #bbbbbb;
	font-size: 123.1%;
	padding: 0 20px;
}

.pc_gnav .gnav_area ul li a:hover {
	color: #0a5ea6;
}
.pc_header {
	position: relative;
	width: 100%;
}
.pc_gnav.fixed {
	position: fixed;
	top: 0;
	background: #fff;
	z-index: 13;
	width: 100%;
}
.pc_gnav .header_block {
	display: block;
	width: 960px;
	margin: 0 auto;
	position: relative;
}
/*
.pc_gnav .header_block p {
	float: left;
	padding-top: 10px;
	padding-left: 10px;
}*/
.pc_gnav .header_block p span {
	padding-left: 10px;
	margin-top: -6px;
}
.pc_gnav .header_block p.btn_entry {
	float: right;
	min-width: 190px;
	text-align: center;
	background: #c9151e;
	font-size: 131%;
	padding: 0;
}
.pc_gnav .header_block p.btn_entry a {
	display: block;
	color: #fff;
	padding: 3px 0 7px;
	background: url(/img/recruit/icon_arrow01.png) 170px 11px no-repeat;
}
/*
.pc_gnav .gnav_area {
	padding: 0 0 11px;
}
*/

.pc_only {
	display: block;
}
.sp_only {
	display: none;
}

@media only screen and (max-width: 736px) {
	.pc_gnav {
		display: none;
	}
	* {
		box-sizing: border-box;
	}
	.pc_only {
		display: none;
	}
	.sp_only {
		display: block;
	}

	body {
		padding-top: 124px;
	}

	.header_block {
		width: 92%;
		margin: 16px 4%;
	}
	.show_menu {
		position: absolute;
		top: 18px;
		font-size: 100%;
		color: #414141;
		padding-top: 29px;
		background: url(/img/recruit/icon_menu.png) center 5px no-repeat;
		background-size: 90% auto;
		z-index: 101;
	}
	.show_menu.close {
		background: url(/img/recruit/icon_close.png) center top no-repeat;
		background-size: 70% auto;
	}
	.header_block .site_name {
		margin: 0 0 18px;
		font-size: 200%;
		color: #414141;
		text-align: center;
	}
	.header_block .site_name span {
		display: block;
		line-height: 0;
		width: 48%;
		margin: 0 auto;
		text-align: center;
	}
	.header_block .site_name img {
		height: 46px;
	}
	.header_block h2 {
		position: absolute;
		top: 18px;
		right: 4%;
		text-align: right;
	}
	.header_block h2 img {
		max-width: 108px;
		width: 60%;
	}
	.sp_header {
		width: 100%;
		height: 124px;
		position: fixed;
		top: 0;
		left: 0;
		background: #fff;
		z-index: 14;
	}
	.sp_header .header_portal_top {
		display: block;
		width: 54px;
		height: 54px;
		position: absolute;
		top: 14px;
		right: 12px;
	}
	.header_portal_top a {
		width: 54px;
		height: 54px;
		display: flex;
		align-items: center;
		justify-content: center;
		background: #e7e7e7;
		border-radius: 50%;
	}
	.header_portal_top img {
		width: 40px;
	}
	.sp_header .btn_entry {
		width: 100%;
		text-align: center;
		background: url(/img/recruit/bg01.png) left top;
	}
	.sp_header .btn_entry a {
		display: block;
		color: #fff;
		font-size: 138.4%;
		padding: 10px 25px;
		position: relative;
	}
	.sp_header .btn_entry a::after {
		content: '';
		display: block;
		position: absolute;
		top: 50%;
		right: 4%;
		height: 10px;
		width: 6px;
		background: url(/img/recruit/icon_arrow01.png) left center no-repeat;
		margin-top: -5px;
	}
	.sp_gnav {
		position: fixed;
		top: 0;
		left: 0;
		background: rgba(255, 255, 255, 0.95);
		height: 100%;
		width: 100%;
		margin: 0;
		display: block;
		z-index: 100;
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
	}
	.sp_gnav ul {
		width: 92%;
		position: absolute;
		top: 55px;
		margin: 0 4%;
		text-align: center;
		padding-bottom: 30px;
	}
	.sp_gnav ul li {
		list-style: none;
		padding: 15px 20px;
	}
	.sp_gnav ul li a {
		display: block;
		color: #414141;
		font-size: 153%;
	}
	.coming_link {
		font-size: 153%;
	}
}


/* footer
---------------------------------------------------------- */
.footer {
	border-top: 7px solid #3c3c3c;
}
.footer_link {
	width: 980px;
	margin: 0 auto;
	text-align: right;
}
.footer_link ul {
	float: right;
	list-style: none;
	margin: 15px 0 50px 0;
}
.footer_link ul li {
	float: left;
	margin-left: 20px;
}
.footer_link ul li a {
	color: #1c1c1c;
}
.footer_block,
.footer_block_flex {
	width: 980px;
	margin: 0 auto 50px;
}
.footer_block .info,
.footer_block_flex .info {
	float: left;
	width: 218px;
	height: 178px;
	padding: 0 16px 0 0;
	border-right: 2px solid #01569f;
}
.footer_block .info h2 a,
.footer_block_flex .info h2 a {
	color: #c9151e;
	font-size: 93%;
}
.footer_block .info h2 img,
.footer_block_flex .info h2 img {
	width: 80%;
	max-width: 108px;
	display: block;
	margin-bottom: 5px;
}
.footer_block .info p,
.footer_block_flex .info p {
	font-size: 108%;
}
.footer_block .info strong,
.footer_block_flex .info strong {
	font-family: 'FP-こぶりなゴシック StdN W6';
}
.footer_block .bnr_block,
.footer_block_flex .bnr_block {
	float: right;
	width: 744px;
}
.footer_block .bnr_block ul,
.footer_block_flex .bnr_block ul {
	list-style: none;
	margin: 0;
}
.footer_block .bnr_block ul li,
.footer_block_flex .bnr_block ul li {
	float: left;
	margin: 0 0 10px 8px;
}
.footer_block_flex {
display: flex;
width: 980px;
margin: 0 auto 50px;
}

.footer_block_flex .bnr_block {
display: flex;
align-items: center;
width: 744px;
}

.footer_block_flex .bnr_block ul {
display: flex;
list-style: '';
gap: 0 8px;
margin-inline-start: 8px;
}
.footer .copyright {
	text-align: center;
	margin-bottom: 30px;
	font-family: "FOT-筑紫ゴシック Pro L";
}

@media only screen and (max-width: 736px) {
	.footer_link {
		width: 92%;
		margin: 0 auto;
	}
	.footer_link ul {
		width: 202px;
		margin-bottom: 0;
	}
	.footer_link ul li {
		margin-left: 15px;
	}
	.footer_block,
	.footer_block_flex {
		width: 100%;
		margin: 30px auto;
	}
	.footer_block .info,
	.footer_block_flex .info {
		width: 90%;
		margin: 0 5%;
		border-right: none;
		height: auto;
	}
	.footer_block .info h2,
	.footer_block_flex .info h2 {
		float: left;
		width: 34%;
		margin-right: 4%;
	}
	.footer_block .info h2 img
	.footer_block_flex .info h2 img {
		width: 100%;
		max-width: 108px;
		margin: 0 0 0 auto;
	}
	.footer_block .info p,
	.footer_block_flex .info p {
		float: left;
		width: 62%;
		font-size: 85%;
	}
	.footer_block .info strong,
	.footer_block_flex .info strong {
		font-size: 118%;
	}
	.footer_block .bnr_block,
	.footer_block_flex .bnr_block {
		display: none;
		width: 100%;
	}

	#banner_slide_ph {
		position: relative;
		margin-bottom: 50px;
	}
	#banner_slide_ph ul {
		width: 56%;
		margin: 0 auto;
	}
	#banner_slide_ph ul li {
		list-style: none;
	}

	#banner_slide_ph #banner_slide_pager img {
		width: 12px;
	}
	#banner_slide_ph #banner_slide_pager li {
		position: absolute;
		top: 33%;
	}
	#banner_slide_ph #banner_slide_pager li.prev {
		left: 10%;
	}
	#banner_slide_ph #banner_slide_pager li.next {
		right: 10%;
	}
	.bnr_marker ul {
		position: absolute;
		left: 0;
		top: 120%;
		margin: 0 auto 30px !important;
		width: 100% !important;
		z-index: 12;
		text-align: center;
	}
	.bnr_marker li {
		display: inline-block;
		font-size: 0;
		height: 10px;
		width: 10px;
		margin: 0 3px;
		background: #9a9a9a;
		border-radius: 10px;
	}
	.bnr_marker li.current {
		background: #696969;
	}

	.footer .copyright {
		font-size: 69%;
	}
}
