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

	Interview │ 社員インタビュー

--------------------------------------------------*/
#interview {padding: clamp(40px, calc(40px + 160 * ((100vw - 375px) / 1545)), 200px) 0 clamp(100px, calc(100px + 60 * ((100vw - 375px) / 1545)), 160px);}
#interview .inner {max-width: 1000px;}
#interview .main_block {position: relative;margin-bottom: clamp(40px, calc(40px + 130 * ((100vw - 375px) / 1545)), 170px);}
#interview .main_block h1 {
	margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	font-weight: 700;
	font-size: clamp(24px, calc(24px + 6 * ((100vw - 375px) / 1545)), 30px);
	line-height: 1.7;
}
#interview .main_block figure {position: absolute;top: 50%;right: 0;transform: translateY(-50%);width: 50%;}
#interview .main_block dl {width: 45%;}
#interview .main_block dl dt {
	margin-bottom: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
	font-size: clamp(28px, calc(28px + 4 * ((100vw - 375px) / 1545)), 32px);
	line-height: 1;
}
#interview .faq_block {
	margin-bottom: clamp(30px, calc(30px + 20 * ((100vw - 375px) / 1545)), 50px);
	padding-bottom: clamp(40px, calc(40px + 60 * ((100vw - 375px) / 1545)), 100px);
	border-bottom: 1px solid #333;
}
#interview .faq_block ul li {margin-bottom: clamp(20px, calc(20px + 30 * ((100vw - 375px) / 1545)), 50px);}
#interview .faq_block ul li:last-child {margin-bottom: 0;}
#interview .faq_block ul li .title_wrap {margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);}
#interview .faq_block ul li .title_wrap p {position: relative;z-index: 1;margin-bottom: 5px;padding-left: 45px;color: #3175BB;}
#interview .faq_block ul li .title_wrap p::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 35px;
	height: 1px;
	background: #3175BB;
}
#interview .faq_block ul li .title_wrap h2 {font-weight: 700;font-size: clamp(22px, calc(22px + 6 * ((100vw - 375px) / 1545)), 28px);line-height: 1.4;}
#interview .faq_block ul li .content:not(:last-child) {margin-bottom: clamp(30px, calc(30px + 20 * ((100vw - 375px) / 1545)), 50px);}
#interview .faq_block ul li .content p {
	margin-bottom: clamp(20px, calc(20px + 20 * ((100vw - 375px) / 1545)), 40px);
	font-size: clamp(14px, calc(14px + 2 * ((100vw - 375px) / 1545)), 16px);
}
#interview .faq_block ul li .content p:last-child {margin-bottom: 0;}
#interview .other_block h2 {
	margin-bottom: clamp(30px, calc(30px + 10 * ((100vw - 375px) / 1545)), 40px);
	font-weight: 700;
	font-size: clamp(18px, calc(18px + 6 * ((100vw - 375px) / 1545)), 24px);
}
#interview .other_block ul {display: grid;grid-template-columns: repeat(3, 1fr);gap: clamp(30px, calc(30px + 20 * ((100vw - 375px) / 1545)), 50px);}
#interview .other_block ul li {position: relative;}
#interview .other_block ul li figure {margin-bottom: 15px;overflow: hidden;}
#interview .other_block ul li figure img {transition: .3s;}
#interview .other_block ul li:hover figure img {transform: scale(1.1);}
#interview .other_block ul li .wrap h3 {margin-bottom: 10px;font-weight: 700;font-size: 2rem;}
#interview .other_block ul li .wrap dl dt {margin-bottom: 10px;font-size: clamp(20px, calc(20px + 8 * ((100vw - 375px) / 1545)), 28px);line-height: 1;}
#interview .other_block ul li .wrap dl dd {font-size: clamp(14px, calc(14px + 2 * ((100vw - 375px) / 1545)), 16px);}
@media only screen and ( max-width : 1024px ) {
	#interview .other_block ul {grid-template-columns: repeat(2, 1fr);}
}
@media only screen and ( max-width : 767px ) {
	#interview .main_block h1 {text-align: center;}
	#interview .main_block figure {position: initial;transform: none;width: 100%;margin-bottom: 20px;}
	#interview .main_block dl {width: 100%;}
	#interview .other_block ul {grid-template-columns: 1fr;}
	#interview .other_block ul li {display: flex;align-items: center;gap: 3vw;}
	#interview .other_block ul li figure {width: 35%;margin-bottom: 0;}
	#interview .other_block ul li .wrap {flex: 1;}
	#interview .other_block ul li .wrap h3 {font-size: 4.1vw;}
	#interview .other_block ul li .wrap dl dd {font-size: 1.2rem;}
}
/*-------------------------------------------------

	Job description │ 募集要項

--------------------------------------------------*/
#job_description {background: #F4F7F8;}
#job_description .inner {max-width: 1000px;}
#job_description .container {
	padding: clamp(20px, calc(20px + 40 * ((100vw - 375px) / 1545)), 60px);
	border-radius: clamp(10px, calc(10px + 20 * ((100vw - 375px) / 1545)), 30px);
	background: #fff;
}
#job_description .container h3 {
	margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	font-weight: bold;
	font-size: clamp(18px, calc(18px + 6 * ((100vw - 375px) / 1545)), 24px);
	letter-spacing: .1em;
}
#job_description .container h3 span {display: block;color: #3175BB;font-size: clamp(14px, calc(14px + 4 * ((100vw - 375px) / 1545)), 18px);}
#job_description .container table tr {display: block;margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);}
#job_description .container table tr:last-child {margin-bottom: 0;}
#job_description .container table tr th {display: block;position: relative;z-index: 1;margin-bottom: 20px;}
#job_description .container table tr th::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	z-index: -1;
	transform: translateY(-50%);
	width: 100%;
	height: 1px;
	background: #3175BB;
}
#job_description .container table tr th span {
	position: relative;
	z-index: 1;
	padding: 8px 30px;
	border: 1px solid #3175BB;
	border-radius: 50px;
	background: #3175BB;
	color: #fff;
	letter-spacing: .1em;
	text-align: center;
}
#job_description .container table tr td {display: block;padding: 0 10px;}
#job_description .container table tr:last-child td {padding: 0;}
#job_description .container table tr td p {margin-bottom: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);}
#job_description .container table tr td .gray_wrap {
	margin-bottom: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
	padding: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
	background: #F7F7F7;
}
#job_description .container table tr td h4 {margin-bottom: 10px;color: #3175BB;font-weight: bold;}
#job_description .container table tr td .content:not(:last-child) {margin-bottom: 20px;}
#job_description .container table tr td ul li {position: relative;padding-left: 20px;}
#job_description .container table tr td ul li::before {content: '';position: absolute;left: 0;}
#job_description .container table tr td ul.dot li::before {top: .5em;width: 11px;height: 11px;border-radius: 50%;background: #3175BB;}
#job_description .container table tr td ul.asterisk li::before {content: '※';}
#job_description .container table tr td ul.square li::before {content: '■';}
#job_description .container table tr td ul.flow {display: flex;margin-bottom: 20px;}
#job_description .container table tr td ul.flow li {
	position: relative;
	width: 50%;
	padding: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px) clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
}
#job_description .container table tr td ul.flow li:nth-child(1) {background: #F7F7F7;}
#job_description .container table tr td ul.flow li:nth-child(2) {background: #BFE9F8;}
#job_description .container table tr td ul.flow li:nth-child(3) {background: #3175BB;color: #fff;}
#job_description .container table tr td ul.flow li:not(:last-child)::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 99%;
	z-index: 1;
	transform: translateY(-50%);
	height: 17px;
	aspect-ratio: cos(30deg);
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}
#job_description .container table tr td ul.flow li:nth-child(1)::before {background: #F7F7F7;}
#job_description .container table tr td ul.flow li:nth-child(2)::before {background: #BFE9F8;}
#job_description .container table tr td ul.flow li h5 {
	color: #3175BB;
	font-weight: 500;
	font-size: clamp(18px, calc(18px + 6 * ((100vw - 375px) / 1545)), 24px);
	text-align: center;
}
#job_description .container table tr td ul.flow li:nth-child(3) h5 {color: #fff;}
#job_description .container table tr td ul.flow li p {margin-bottom: 0;color: #fff;text-align: center;}
@media only screen and ( max-width : 767px ) {
	#job_description .block1 .container {background: linear-gradient(0deg, #F4F7F8 90%, #FBFBFB 90%);}
	#job_description .block1 .container ul{grid-template-columns: unset;}
	#job_description .block1 .container ul li{max-width: 300px;margin:0 auto;}
	#job_description .container table tr td .content {width: 100%;}
	#job_description .container table tr td .flex_wrap dl {width: 100%;}
	#job_description .container table tr td .flex_wrap ul {width: 100%;}
	#job_description .container table tr td ul.flow {flex-flow: column;}
	#job_description .container table tr td ul.flow li{width: 100%;}
	#job_description .container table tr td ul.flow li:not(:last-child)::before {
		top: auto;
		bottom:-10px;
		left: 50%;
		transform: translateX(-50%);
		width: 30px;
		height: 15px;
		clip-path: polygon(50% 100%, 100% 0, 0 0);
	}
}