@charset "utf-8";
/* ===================================================
	Recruit CSS
====================================================== */
/* ---------------------------------------------------
.cmn_lead
------------------------------------------------------ */
.cmn_lead {
	padding-bottom: 0;
}
.cmn_lead .img {
	display: flex;
	justify-content: space-between;
	margin: 60px 0 0;
}
.cmn_lead .img p {
	width: calc((100% - 4px) / 3);
}
.cmn_lead .img .ofi {
	width: 100%;
	min-height: 160px;
}

@media screen and (max-width: 600px) {
	.cmn_lead .img {
		margin-top: 45px;
	}
}


/* ---------------------------------------------------
#sec01
------------------------------------------------------ */
#sec01 {
	padding: 60px 0 85px;

	border-image-outset: 0 100vw; /* どれだけはみ出すか上下左右 */
	border-image-slice: 0 fill; /* 変更しない */
	border-image-source: linear-gradient(#faf6e8,#faf6e8); /* 色 */
	color: #3a3527;
}
#sec01 h2 {
	margin: 0 0 40px;

	font-size: 28px;
	font-weight: bold;
	line-height: 1.6;
	text-align: center;
}
#sec01 dl {
	display: flex;

	border-right: 1px solid #d2d2d2;
}
#sec01 dl > div {
	width: 100%;
	padding: 5px 40px;
	position: relative;
	z-index: 0;

	border-left: 1px solid #d2d2d2;
}
#sec01 dl > div::before {
	content: "";
	width: 1px;
	height: 65px;
	position: absolute;
	top: 0;
	left: -1px;

	background: #d29e31;
}
#sec01 dt {
	margin: 0 0 15px;

	font-size: 20px;
	font-weight: bold;
}

@media screen and (max-width: 600px) {
	#sec01 {
		padding: 45px 0;
	}
	#sec01 h2 {
		margin-bottom: 20px;

		font-size: 20px;
	}
	#sec01 dl {
		display: block;

		border-right: none;
	}
	#sec01 dl > div {
		padding: 15px 20px;
	}
	#sec01 dl > div + div {
		margin: 20px 0 0;
	}
	#sec01 dt {
		margin-bottom: 10px;

		font-size: 18px;
	}
}


/* ---------------------------------------------------
#sec02
------------------------------------------------------ */
#sec02 {
	padding: 85px 0 110px;
}
#sec02 h2 {
	margin-bottom: 25px;
}

#sec02 .tab_links {
	display: flex;
	justify-content: space-between;
}
#sec02 .tab_links li {
	width: calc((100% - 20px) / 2);
}
#sec02 .tab_links a {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	padding: 15px 30px;
	position: relative;
	z-index: 0;

	border-bottom: 3px solid #d2d2d2;
	color: #b2b2b2;
	font-size: 17px;
	line-height: 1.6;
	opacity: 1;
}
#sec02 .tab_links a.active {
	border-color: #cb8a00;
	color: #cb8a00;
	font-weight: bold;
}
#sec02 .tab_links a.active::after {
	content: "";
	width: 10px;
	height: 10px;
	position: absolute;
	top: 50%;
	right: 15px;

	background: url(../img/arrow_yel.svg) no-repeat center center;
	transform: translateY(-50%) rotate(90deg);
}

#sec02 .panel:not(#sec02a) {
	display: none;
}
#sec02 .panel {
	padding: 10px 0 0;
}
#sec02 .panel .cmn_dl > div::after {
	width: 150px;
}
#sec02 .panel dt {
	width: 175px;
}

@media screen and (hover:hover) and (min-width: 601px) {
	#sec02 .tab_links a:hover {
		border-color: #cb8a00;
		color: #cb8a00;
	}
}
@media screen and (max-width: 600px) {
	#sec02 {
		padding: 45px 0;
	}
	#sec02 h2 {
		margin-bottom: 15px;
	}

	#sec02 .tab_links li {
		width: calc((100% - 10px) / 2);
	}
	#sec02 .tab_links a {
		padding: 10px 25px;

		font-size: 16px;
	}
	#sec02 .tab_links a.active::after {
		right: 10px;
	}

	#sec02 .panel {
		padding: 10px 0 0;
	}
	#sec02 .panel .cmn_dl > div::after {
		width: 70px;
	}
	#sec02 .panel dt {
		width: auto;
	}
}


/* ---------------------------------------------------
#sec03
------------------------------------------------------ */
#sec03 {
	padding: 55px 0 85px;

	border-image-outset: 0 100vw; /* どれだけはみ出すか上下左右 */
	border-image-slice: 0 fill; /* 変更しない */
	border-image-source: linear-gradient(#faf6e8,#faf6e8); /* 色 */
	color: #3a3527;
	text-align: center;
}
#sec03 h2 {
	margin: 0 0 30px;

	font-size: 28px;
	font-weight: bold;
}
#sec03 ul {
	display: flex;
	justify-content: space-between;
}
#sec03 li {
	width: 520px;
	padding: 35px 20px 45px;

	background: #fff;
}
#sec03 li .cap {
	margin: 0 0 15px;

	font-size: 20px;
}
#sec03 li .tel-link .tel {
	font-size: 29px;
	font-weight: bold;
	line-height: 1;
}
#sec03 li .tel-link .tel span {
	font-size: 16px;
}
#sec03 li .tel-link .time {
	font-size: 14px;
}
#sec03 li .btn_mail::before {
	content: url(../img/icon_mail_gry.svg);
	margin: 0 10px 0 0;

	line-height: 1;
}

@media screen and (hover: hover) and (min-width: 601px) {
	#sec03 li .btn_mail:hover::before {
		content: url(../img/icon_mail_wht.svg);
	}
}
@media screen and (max-width: 600px) {
	#sec03 {
		padding-top: 45px;

		text-align: left;
	}
	#sec03 h2 {
		margin-bottom: 15px;

		font-size: 20px;
		line-height: 1.6;
		text-align: center;
	}
	#sec03 ul {
		display: block;
		margin-top: 25px;

		text-align: center;
	}
	#sec03 li {
		width: auto;
		padding: 20px 25px;
	}
	#sec03 li + li {
		margin: 25px 0 0;
	}
	#sec03 li .cap {
		margin-bottom: 10px;

		font-size: 18px;
	}
	#sec03 li .tel-link .tel {
		font-size: 29px;
		line-height: 1;
	}
	#sec03 li .tel-link .tel span {
		font-size: 16px;
	}
	#sec03 li .tel-link .time {
		font-size: 14px;
	}
	#sec03 li .btn_mail {
		padding: 8px 10px 8px 15px;
	}
	#sec03 li .btn_mail::before {
		margin-right: 5px;
	}
	#sec03 li .btn_mail::after {
		margin-left: 10px;
	}
}