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

	Main Visual │ メインビジュアル

--------------------------------------------------*/
#mv {position: relative;}
#mv .wrap {position: absolute;bottom: 14%;left: 5.1%;}
#mv .wrap p {margin-bottom: 3%;color: #fff;font-size: 1.5vw;line-height: 1.2;letter-spacing: .016em;}
#mv .wrap h1 {color: #fff;font-weight: 500;font-size: 2vw;}
#mv .wrap h1 span {display: block;margin-bottom: 4%;font-size: 1.55em;letter-spacing: .016em;line-height: 1.3;}
@media only screen and ( max-width : 767px ) {
	#mv .wrap {bottom: 6%;left: 3%;}
	#mv .wrap p {font-size: 4.7vw;}
	#mv .wrap h1 {font-size: 4.6vw;}
	#mv .wrap h1 span {font-size: 2.48em;}
}
/*--------------------------------------------------

	MESSAGE │ メッセージ

--------------------------------------------------*/
#message .title_common {background-image: url(../img/front/message/title_bg.webp);}
#message .container {
	position: relative;
	z-index: 1;
	padding: clamp(50px, calc(50px + 30 * ((100vw - 375px) / 1545)), 80px) 20px clamp(50px, calc(50px + 66 * ((100vw - 375px) / 1545)), 116px);
	border-radius: 10px;
	box-shadow: 0 3px 25px rgba(0, 27, 41, 16%);
	background: #fff;
}
#message .container::before,
#message .container::after {content: '';position: absolute;top: 0;left: 0;z-index: -1;width: 100%;height: 100%;}
#message .container::before {background: url(../img/front/message/bgL.webp) no-repeat 0 35% / 40%;}
#message .container::after {background: url(../img/front/message/bgR.webp) no-repeat 100% 100% / 40%;}
#message h3 {
	margin-bottom: clamp(30px, calc(30px + 20 * ((100vw - 375px) / 1545)), 50px);
	font-weight: 700;
	font-size: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	line-height: 1.6;
	letter-spacing: .02em;
	text-align: center;
}
#message .container .content p {
	margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	letter-spacing: .08em;
	text-align: center;
}
#message .container .content p:last-child {margin-bottom: 0;}
@media only screen and ( max-width : 767px ) {
	#message .container::before {background-position: 0 10%;}
}
@media only screen and ( max-width : 500px ) {
	#message h3 {text-align: left;}
	#message .container::before {background-position: 0 5%;background-size: 65%;}
	#message .container::after {background-position: 100% 95%;background-size: 65%;}
	#message .container .content p {text-align: left;}
}
/*--------------------------------------------------

	SERVICE │ 事業内容

--------------------------------------------------*/
#service {overflow: hidden;background: #E8F2F8;}
#service .inner {width: 85%;max-width: 1470px;}
#service ul.list {
	gap: 80px 0;
	margin: clamp(100px, calc(100px + 30 * ((100vw - 375px) / 1545)), 130px) 0 clamp(50px, calc(50px + 40 * ((100vw - 375px) / 1545)), 90px);
}
#service ul.list li {
	position: relative;
	width: 29%;
	padding: clamp(20px, calc(20px + 24 * ((100vw - 375px) / 1545)), 44px) clamp(15px, calc(15px + 10 * ((100vw - 375px) / 1545)), 25px);
	border: 1px solid #008DD2;
	outline: 12px solid #EBF8FD;
	background: #fff;
}
#service ul.list li::before {content: '';position: absolute;top: -12px;right: -12px;bottom: -12px;left: -12px;border: 1px solid #008DD2;}
#service ul.list li h3 {
	display: inline-block;
	position: absolute;
	bottom: 100%;
	left: 50%;
	transform: translateX(-50%);
	width: 70%;
	padding: clamp(5px, calc(5px + 5 * ((100vw - 375px) / 1545)), 10px) 0;
	border-radius: 8px 8px 0 0;
	background: #008DD2;
	color: #fff;
	font-weight: 500;
	font-size: clamp(18px, calc(18px + 6 * ((100vw - 375px) / 1545)), 24px);
	text-align: center;
}
#service ul.list li .wrap figure {margin-bottom: clamp(20px, calc(20px + 15 * ((100vw - 375px) / 1545)), 35px);text-align: center;}
#service ul.list li .wrap figure img {width: auto;height: clamp(58px, calc(58px + 30 * ((100vw - 375px) / 1545)), 88px);}
#service ul.list li .wrap p {font-size: clamp(13px, calc(13px + 2 * ((100vw - 375px) / 1545)), 15px);}
@media only screen and ( max-width: 1024px ) {
	#service ul.list {justify-content: center;gap: 80px 7%;}
	#service ul.list li {width: 45%;}
	#service ul.list li:nth-child(1) {margin: 0 20%;}
}
@media only screen and ( max-width: 767px ) {
	#service ul.list li {width: 100%;}
	#service ul.list li:nth-child(1) {margin: 0;}
}
/*--------------------------------------------------

	WORK STYLE │ 山豊工建の働き方

--------------------------------------------------*/
#work_style {overflow: hidden;background: linear-gradient(#fff 8%, #B6C4CB 8%);}
#work_style .inner {max-width: 1720px;}
#work_style .title_common {background-image: url(../img/front/work_style/title_bg.webp);}
#work_style .block {
	width: 94%;
	max-width: 1470px;
	margin: 0 auto;
	padding: clamp(40px, calc(40px + 40 * ((100vw - 375px) / 1545)), 80px) clamp(10px, calc(10px + 60 * ((100vw - 375px) / 1545)), 70px) clamp(30px, calc(30px + 20 * ((100vw - 375px) / 1545)), 50px);
	border-radius: 20px;
	background: #fff
}
#work_style .block .container {margin-bottom: clamp(50px, calc(50px + 30 * ((100vw - 375px) / 1545)), 80px);}
#work_style .block .container .wrap dl {
	display: flex;
	overflow: hidden;
	border-radius: 30px;
	background: #fff;
	border: 1px solid #008DD2;
	border-radius: 20px;
	box-shadow: 0 0 35px rgba(119, 148, 178, 15%);
}
#work_style .block .container .wrap dl dt {
	display: flex;
	justify-content: center;
	align-items: center;
	width: clamp(176px, calc(176px + 74 * ((100vw - 375px) / 1545)), 250px);
	background: #008DD2;
}
#work_style .block .container .wrap dl dt .wrap p {
	margin-bottom: clamp(25px, calc(25px + 5 * ((100vw - 375px) / 1545)), 30px);
	color: #fff;
	font-size: clamp(20px, calc(20px + 4 * ((100vw - 375px) / 1545)), 24px);
	text-align: center;
}
#work_style .block .container .wrap dl dt .wrap p span {
	display: block;
	margin-bottom: clamp(25px, calc(25px + 25 * ((100vw - 375px) / 1545)), 50px);
	color: #9FE1FF;
	font-weight: 700;
	font-size: clamp(16px, calc(16px + 2 * ((100vw - 375px) / 1545)), 18px);
	line-height: 1.4;
	letter-spacing: .1em;
	text-align: center;
}
#work_style .block .container .wrap dl dt .wrap figure {width: clamp(74px, calc(74px + 13 * ((100vw - 375px) / 1545)), 87px);margin: 0 auto;}
#work_style .block .container .wrap dl dd {
	display: flex;
	flex: 1;
	align-items: center;
	padding: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
}
#work_style .block .container .wrap dl dd ul {display: flex;justify-content: center;overflow: hidden;}
#work_style .block .container .wrap dl dd ul li.item {display: flex;flex: 1;flex-direction: column;align-items: center;position: relative;width: 20%;}
#work_style .block .container .wrap dl dd ul li.item:nth-child(1) {flex: initial;width: 80px;}
#work_style .block .container .wrap dl dd ul li.item::before {
	content: '';
    display: inline-block;
    width: 100%;
	max-width: 24px;
    height: 24px;
   	margin-bottom: 30px;
    border: 2px solid #9FE1FF;
    border-radius: 50%;
    background: #9FE1FF;
}
#work_style .block .container .wrap dl dd ul li.item::after {
	content: '';
    position: absolute;
    top: 12px;
    left: 2em;
    width: calc(100% + 2em);
    height: 2px;
    background: #9FE1FF;  
}
#work_style .block .container .wrap dl dd ul li.item:last-child::after {width: calc(30% + 2em);}
#work_style .block .container .wrap dl dd ul li.item h3 {
	margin-bottom: 20px;
	font-weight: 500;
	font-size: clamp(16px, calc(16px + 4 * ((100vw - 375px) / 1545)), 20px);
	letter-spacing: .04em;
	text-align: center;
}
#work_style .block .container .wrap dl dd ul li.item .content {padding: 0 20px;}
#work_style .block .container .wrap dl dd ul li.item .content {position: relative;}
#work_style .block .container .wrap dl dd ul li.item .content::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 2px;
	height: 100vh;
	border-left: 1px dashed #707070;
}
#work_style .block .container .wrap dl dd ul li.item .content h4 {
	margin-bottom: 10px;
	color: #008DD2;
	font-weight: 700;
	font-size: 1.7rem;
	letter-spacing: .04em;
	text-align: center;
}
#work_style .block .container .wrap dl dd ul li.item .content p {font-size: clamp(13px, calc(13px + 2 * ((100vw - 375px) / 1545)), 15px);line-height: 1.4;}
#work_style .block .container small {display: none;margin-top: 10px;font-size: 1.2rem;text-align: center;}
#work_style .block ol {display: grid;gap: clamp(30px, calc(30px + 20 * ((100vw - 375px) / 1545)), 50px);}
#work_style .block ol li {
	position: relative;
	padding: clamp(20px, calc(20px + 65 * ((100vw - 375px) / 1545)), 85px) clamp(10px, calc(10px + 20 * ((100vw - 375px) / 1545)), 30px);
	box-shadow: rgba(216, 232, 234, 50%);
	border: 1px solid #008DD2;
	border-radius: 20px;
	background: #EFFAFF;
}
#work_style .block ol li:nth-child(even) {flex-direction: row-reverse;}
#work_style .block ol li .wrap {width: 46%;}
#work_style .block ol li .wrap dl {
	display: flex;
	align-items: flex-start;
	gap: clamp(10px, calc(10px + 20 * ((100vw - 375px) / 1545)), 30px);
	margin-bottom: clamp(20px, calc(20px + 20 * ((100vw - 375px) / 1545)), 40px);
}
#work_style .block ol li .wrap dl dt {color: #008DD2;font-size: clamp(60px, calc(60px + 80 * ((100vw - 375px) / 1545)), 140px);line-height: 1;}
#work_style .block ol li .wrap dl dd {flex: 1;}
#work_style .block ol li .wrap dl dd span {
	padding: 2px clamp(10px, calc(10px + 20 * ((100vw - 375px) / 1545)), 30px);
	background: #008DD2;
	color: #fff;
	font-weight: 500;
	font-size: clamp(20px, calc(20px + 20 * ((100vw - 375px) / 1545)), 40px);
	line-height: 2;
	letter-spacing: .08em;
}
#work_style .block ol li .wrap figure {
	position: absolute;
	top: 50%;
	right: clamp(10px, calc(10px + 20 * ((100vw - 375px) / 1545)), 30px);
	transform: translateY(-50%);
	width: 48%;
}
#work_style .block ol li:nth-child(even) .wrap figure {right: initial;left: clamp(10px, calc(10px + 20 * ((100vw - 375px) / 1545)), 30px);}
@media only screen and ( max-width : 1400px ) {
	#work_style .block ol li .wrap dl dt {font-size: 7vw;}
	#work_style .block ol li .wrap dl dd span {font-size: 2.3vw;}
}
@media only screen and ( max-width : 1024px ) {
	#work_style .title_common {margin: 0 calc(50% - 50vw) clamp(-100px, -50px - 50 * ((100vw - 375px) / 393), -50px);width: 100vw;}
	#work_style .block {width: 100%;}
	#work_style .block .container .wrap {overflow-x: scroll;}
	#work_style .block .container .wrap dl {width: 1000px;}
	#work_style .block .container small {display: block;}
}
@media only screen and ( max-width : 767px ) {
	#work_style .block ol li .wrap {width: 100%;}
	#work_style .block ol li .wrap dl dt {font-size: 12vw;}
	#work_style .block ol li .wrap dl dd span {font-size: 4.5vw;}
	#work_style .block ol li .wrap figure {position: initial;transform: none;width: 100%;margin-bottom: 20px;}
}
/*--------------------------------------------------

	VOICE │ 先輩の声

--------------------------------------------------*/
#voice {overflow: hidden;}
.carousel-stage {display: flex;justify-content: center;transform-style: preserve-3d;}
.carousel-item {
	position: absolute;
	transform: translateZ(-200px) scale(0.8);
	transform-style: preserve-3d;
	transition: transform 0.5s cubic-bezier(0.4, 0.0, 0.2, 1), opacity 0.5s ease;
	will-change: transform, opacity;
	width: 30%;
	backface-visibility: hidden;
	padding: clamp(20px, calc(20px + 20 * ((100vw - 375px) / 1545)), 40px);
	box-shadow: 0 2px 30px rgba(0, 0, 62, 25%);
	background: #fff;
	cursor: pointer;
}
.carousel-item::before {content: '';position: absolute;bottom: 0;left: 0;z-index: -1;width: 100%;height: 50%;background: #C2E9FC;transition: .3s;}
.carousel-item.active:before {background: #008DD2;}
.carousel-item.center {z-index: 20;transform: translateZ(0) translateX(0);opacity: 1;}
.carousel-item.left {z-index: 10;transform: translateX(-102%) translateY(-1rem) scale(.65) !important;}
.carousel-item.right {z-index: 10;transform: translateX(102%) translateY(-1rem) scale(.65) !important;}
.carousel-item figure {margin-bottom: clamp(20px, calc(20px + 20 * ((100vw - 375px) / 1545)), 40px);}
.carousel-item .carousel-content {text-align: center;}
.carousel-item .carousel-content dl {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 3%;
	padding-bottom: 2%;
	border-bottom: 2px solid #000;
}
.carousel-item.active .carousel-content dl {border-bottom-color: #fff;}
.carousel-item .carousel-content dl dt {font-size: 4vw;line-height: 1;letter-spacing: .1em;transition: .3s;}
.carousel-item.active .carousel-content dl dt {color: #fff;font-weight: 600;}
.carousel-item .carousel-content dl dd {font-size: 3.5vw;line-height: 1;transition: .3s;}
.carousel-item.active .carousel-content dl dd {color: #fff;font-weight: 600;}
.carousel-item .carousel-content p {
	margin-bottom: 10%;
	font-size: clamp(14px, calc(14px + 4 * ((100vw - 375px) / 1545)), 18px);
	letter-spacing: .04em;
}
.carousel-item.center .carousel-content p {color: #fff;}
.carousel-item .carousel-content img {opacity: 0;width: 25px;margin: 0 auto;transition: .3s;}
.carousel-item.center .carousel-content img {opacity: 1;}
.carousel-btn {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: clamp(60px, calc(60px + 20 * ((100vw - 375px) / 1545)), 80px);
	height: clamp(60px, calc(60px + 20 * ((100vw - 375px) / 1545)), 80px);
	border: none;
	border-radius: 50%;
	background: #008DD2;
	opacity: 0;
	animation: fadeIn 0.3s ease-out forwards;
}
@keyframes fadeIn {
	to {opacity: 1;}
}
.carousel-btn::before {
	content: '';
	display: block;
	transform: rotate(45deg);
	width: 1.5em;
	height: 1.5em;
	border: 4px solid currentColor;
	border-left: 0;
	border-bottom: 0;
	box-sizing: border-box;
	color: #fff;
	line-height: 1;
}
.carousel-btn:active {transform: translateY(-50%) scale(0.9);}
.carousel-btn.prev {left: 0%;animation-delay: 0.2s;}
.carousel-btn.next {right: 0%;animation-delay: 0.2s;}
.carousel-btn.next::before {margin-right: 8%;}
.carousel-btn.prev:before {transform: scale(-1) rotate(45deg);margin-left: 8%;}
.indicators {display: none;}
@media only screen and ( max-width : 1400px ) {
	.carousel-item .carousel-content p {font-size: 1.2vw;}
}
@media only screen and ( max-width : 767px ) {
	.carousel-item {width: 45%;}
	.carousel-item.left {transform: translateX(-96%) translateY(-1rem) scale(.65) !important;}
	.carousel-item.right {transform: translateX(96%) translateY(-1rem) scale(.65) !important;}
	.carousel-item .carousel-content dl dt {font-size: 7vw;}
	.carousel-item .carousel-content dl dd {font-size: 7.5vw;}
	.carousel-item .carousel-content p {font-size: 2vw;}
}
/*--------------------------------------------------

	INTERVIEW │ 採用担当者から

--------------------------------------------------*/
#interview {margin-bottom: clamp(50px, calc(50px + 50 * ((100vw - 375px) / 1545)), 100px);}
#interview .inner {max-width: 1170px;}
#interview .container {
	padding: clamp(40px, calc(40px + 60 * ((100vw - 375px) / 1545)), 100px) clamp(20px, calc(20px + 50 * ((100vw - 375px) / 1545)), 70px) clamp(20px, calc(20px + 80 * ((100vw - 375px) / 1545)), 100px);
	gap: clamp(20px, calc(20px + 30 * ((100vw - 375px) / 1545)), 50px);
	border-radius: clamp(20px, calc(20px + 30 * ((100vw - 375px) / 1545)), 50px);
	background: #EFFAFF;
}
#interview .container .wrap h2 {
	margin-bottom: 20px;
	color: #008DD2;
	font-size: clamp(24px, calc(24px + 12 * ((100vw - 375px) / 1545)), 36px);
	letter-spacing: .05em;
	text-align: center;
}
#interview .container .wrap figure {
	width: clamp(150px, calc(150px + 50 * ((100vw - 375px) / 1545)), 200px);
	margin: 0 auto clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
}
#interview .container .wrap p {
	color: #008DD2;
	font-weight: 700;
	font-size: clamp(16px, calc(16px + 4 * ((100vw - 375px) / 1545)), 20px);
	letter-spacing: .04em;
	text-align: center;
}
#interview .container ul {flex: 1;}
#interview .container ul li:not(:last-child) {margin-bottom: clamp(30px, calc(30px + 20 * ((100vw - 375px) / 1545)), 50px);}
#interview .container ul li h3 {margin-bottom: 10px;}
#interview .container ul li h3 span {
	display: inline-block;
	position: relative;
	padding: 5px 10px 5px 35px;
	background: #008DD2;
	color: #fff;
	font-weight: 700;
	font-size: clamp(15px, calc(15px + 5 * ((100vw - 375px) / 1545)), 20px);
	line-height: 1.4;
	letter-spacing: .04em;
}
#interview .container ul li h3 span::before {content: 'Q.';position: absolute;top: .2em;left: 10px;}
#interview .container ul li p {line-height: 2;}
@media only screen and ( max-width : 767px ) {
	#interview .container .wrap {width: 100%;margin-bottom: 20px;}
	#interview .container ul {width: 100%;}
}
/*--------------------------------------------------

	INFOGRAPHICS │ 数字で見る山豊工建

--------------------------------------------------*/
#infographics {background: #E8F2F8;}
#infographics ul.list {gap: 0;}
#infographics ul.list li.item {
	width: 31%;
	margin-bottom: clamp(30px, calc(30px + 30 * ((100vw - 375px) / 1545)), 60px);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 27%);
	background: #fff;
}
#infographics ul.list li.item:nth-child(4) {width: 48%;}
#infographics ul.list li.item:nth-child(5) {width: 48%;}
#infographics ul.list li.item:nth-child(6) {width: 100%;margin-bottom: 0;}
#infographics ul.list li.item h3 {
	padding: clamp(15px, calc(15px + 10 * ((100vw - 375px) / 1545)), 25px) 0;
	background: #008DD2;
	color: #fff;
	font-weight: 600;
	font-size: clamp(16px, calc(16px + 5 * ((100vw - 375px) / 1545)), 21px);
	letter-spacing: .1em;
	text-align: center;
}
#infographics ul.list li.item .container {padding: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px) 10px;}
#infographics ul.list li.item:nth-child(4) .container {
	padding: clamp(30px, calc(30px + 20 * ((100vw - 375px) / 1545)), 50px) clamp(40px, calc(40px + 40 * ((100vw - 375px) / 1545)), 80px);
	background: url(../img/front/infographics/item04.svg) no-repeat 15% 50% / 120px;
}
#infographics ul.list li.item:nth-child(5) .container {
	justify-content: flex-end;
	align-items: center;
	gap: 1em;
	height: 82%;
	padding: clamp(30px, calc(30px + 20 * ((100vw - 375px) / 1545)), 50px);
	background: url(../img/front/infographics/item05.svg) no-repeat 10% 50% / 168px;
}
#infographics ul.list li.item:nth-child(6) .container {
	width: 78%;
	margin: 0 auto;
	padding: clamp(30px, calc(30px + 30 * ((100vw - 375px) / 1545)), 60px) 10px;
}
#infographics ul.list li.item .container figure {margin-bottom: 10px;text-align: center;}
#infographics ul.list li.item .container figure img {width: auto;height: 97px;}
#infographics ul.list li.item .container p {
	color: #008DD2;
	font-weight: 600;
	font-size: clamp(18px, calc(18px + 16 * ((100vw - 375px) / 1545)), 34px);
	letter-spacing: .04em;
	text-align: center;
}
#infographics ul.list li.item:nth-child(6) .container p {
	font-weight: 500;
	font-size: clamp(14px, calc(14px + 3 * ((100vw - 375px) / 1545)), 17px);
	letter-spacing: .07em;
	text-align: left;
}
#infographics ul.list li.item .container p span {font-size: 1.8em;}
#infographics ul.list li.item .container h4 {
	position: relative;
	margin-bottom: 20px;
	color: #008DD2;
	font-weight: 700;
	font-size: clamp(14px, calc(14px + 3 * ((100vw - 375px) / 1545)), 17px);
	letter-spacing: .07em;
	text-align: center;
}
#infographics ul.list li.item .container h4::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 100%;
	height: 2px;
	background: #008DD2;
}
#infographics ul.list li.item .container h4 span {position: relative;z-index: 2;padding: 0 20px;background: #fff;}
#infographics ul.list li.item .container .content:not(:last-child) {margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);}
#infographics ul.list li.item .container h5 {
	max-width: 227px;
	margin: 0 auto 10px;
	padding: 5px 0;
	background: #EFFAFF;
	color: #008DD2;
	font-weight: 500;
	font-size: clamp(14px, calc(14px + 13 * ((100vw - 375px) / 1545)), 17px);
	letter-spacing: .07em;
	text-align: center;
}
#infographics ul.list li.item .container table {max-width: 375px;}
#infographics ul.list li.item:nth-child(4) .container table {margin-left: auto;}
#infographics ul.list li.item .container table thead tr th {
	color: #008DD2;
	font-weight: 500;
	font-size: clamp(12px, calc(12px + 3 * ((100vw - 375px) / 1545)), 15px);
	letter-spacing: .1em;
	text-align: center;
}
#infographics ul.list li.item .container table thead tr th img {
	display: block;
	width: auto;
	height: clamp(40px, calc(40px + 20 * ((100vw - 375px) / 1545)), 60px);
	margin: 0 auto 5px;
}
#infographics ul.list li.item .container table tbody tr {
	background-size: 5px 2px;
	background-image: linear-gradient(to right, #707070 2px, transparent 2px);
	background-repeat: repeat-x;
	background-position: left bottom;
}
#infographics ul.list li.item .container table tbody tr th {
	color: #008DD2;
	font-weight: 500;
	font-size: clamp(16px, calc(16px + 6 * ((100vw - 375px) / 1545)), 22px);
	letter-spacing: .1em;
	text-align: center;
}
#infographics ul.list li.item .container table tbody tr td {
	padding: 10px 0;
	color: #008DD2;
	font-weight: 500;
	font-size: clamp(16px, calc(16px + 6 * ((100vw - 375px) / 1545)), 22px);
	text-align: center;
}
#infographics ul.list li.item .container table tbody tr td span {font-size: 2em;}
#infographics ul.list li.item .container ul {display: flex;flex-direction: column;justify-content: space-between;width: 45%;}
#infographics ul.list li.item .container ul li:not(:last-child) {margin-bottom: clamp(20px, calc(20px + 20 * ((100vw - 375px) / 1545)), 40px);}
#infographics ul.list li.item .container .wrap {width: 33%;}
#infographics ul.list li.item .container .wrap .chart-container {position: relative;width: 100%;}
#infographics ul.list li.item .container .wrap .chart-container::before {
	content: '';
	position: absolute;
	top: 22%;
	left: 50%;
	transform: translateX(-50%);
	width: 18%;
	height: 100%;
	background: no-repeat top center / 100%;
}
#infographics ul.list li.item .container .wrap:nth-child(1) .chart-container::before {background-image: url(../img/front/infographics/item06.svg);}
#infographics ul.list li.item .container .wrap:nth-child(2) .chart-container::before {background-image: url(../img/front/infographics/item07.svg);}
#infographics ul.list li.item .container .wrap .chart-container svg {width: 100%;height: 100%;transform: rotate(-90deg);}
#infographics ul.list li.item .container .wrap .chart-container svg circle {fill: none;stroke-width: 11%;}
#infographics ul.list li.item .container .wrap .chart-container svg circle.bg {stroke: #E5E6E6;}
#infographics ul.list li.item .container .wrap .chart-container svg circle.progress {stroke: #008DD2;}
#infographics ul.list li.item .container .wrap .chart-container .center-text {
	position: absolute;
	bottom: 28%;
	left: 50%;
	transform: translateX(-50%);
	text-align: center;
	width: 100%;
}
#infographics ul.list li.item .container .wrap .chart-container .center-text .label {
	color: #008DD2;
	font-weight: 500;
	font-size: clamp(12px, calc(12px + 3 * ((100vw - 375px) / 1545)), 15px);
	letter-spacing: .1em;
	text-align: center;
}
#infographics ul.list li.item .container .wrap .chart-container .center-text .value {display: none;}
@media only screen and ( max-width : 1400px ) {
	#infographics ul.list li.item .container p {font-size: 2vw;}
	#infographics ul.list li.item .container table tbody tr td {font-size: 2vw;}
}
@media only screen and ( max-width : 767px ) {
	#infographics ul.list li.item {width: 100%;}
	#infographics ul.list li.item:nth-child(4) {width: 100%;}
	#infographics ul.list li.item:nth-child(5) {width: 100%;}
	#infographics ul.list li.item:nth-child(6) .container {width: 90%;}
	#infographics ul.list li.item .container p {font-size: 5vw;}
	#infographics ul.list li.item .container ul {width: 100%;margin-bottom: 30px;}
	#infographics ul.list li.item .container ul:last-child {margin-bottom: 0;}
	#infographics ul.list li.item .container table {max-width: 100%;}
	#infographics ul.list li.item .container table tbody tr td {font-size: 3vw;}
}
/*--------------------------------------------------

	IDEAL CANDIDATE PROFILE │ 求める人物像

--------------------------------------------------*/
#ideal_candidate {background: #EFFAFF;}
#ideal_candidate .inner {width: 85%;max-width: 1470px;}
#ideal_candidate ul {gap: 80px 0;margin-top: clamp(100px, calc(100px + 30 * ((100vw - 375px) / 1545)), 130px);}
#ideal_candidate ul li {
	position: relative;
	width: 29%;
	padding: clamp(20px, calc(20px + 24 * ((100vw - 375px) / 1545)), 44px) clamp(15px, calc(15px + 10 * ((100vw - 375px) / 1545)), 25px);
	border: 1px solid #008DD2;
	outline: 12px solid #EBF8FD;
	background: #fff;
}
#ideal_candidate ul li::before {content: '';position: absolute;top: -12px;right: -12px;bottom: -12px;left: -12px;border: 1px solid #008DD2;}
#ideal_candidate ul li p {
	display: inline-block;
	position: absolute;
	bottom: 100%;
	left: 50%;
	transform: translateX(-50%);
	width: 50%;
	padding: clamp(5px, calc(5px + 5 * ((100vw - 375px) / 1545)), 10px) 0;
	border-radius: 8px 8px 0 0;
	background: #008DD2;
	color: #fff;
	font-weight: 500;
	font-size: clamp(18px, calc(18px + 6 * ((100vw - 375px) / 1545)), 24px);
	text-align: center;
}
#ideal_candidate ul li .wrap figure {margin-bottom: clamp(20px, calc(20px + 15 * ((100vw - 375px) / 1545)), 35px);text-align: center;}
#ideal_candidate ul li .wrap figure img {width: auto;height: 130px;}
#ideal_candidate ul li:nth-child(1) figure img {height: 140px;}
#ideal_candidate ul li .wrap h3 {font-weight: 700;font-size: clamp(18px, calc(18px + 6 * ((100vw - 375px) / 1545)), 24px);text-align: center;}
@media only screen and ( max-width: 1024px ) {
	#ideal_candidate ul {justify-content: center;gap: 80px 7%;}
	#ideal_candidate ul li {width: 45%;}
	#ideal_candidate ul li:nth-child(1) {margin: 0 20%;}
}
@media only screen and ( max-width: 767px ) {
	#ideal_candidate ul li {width: 100%;}
	#ideal_candidate ul li:nth-child(1) {margin: 0;}
}
/*--------------------------------------------------

	REQUIREMENT │ 募集要項

--------------------------------------------------*/
#requirement .inner {max-width: 1110px;}
#requirement .container {padding: clamp(20px, calc(20px + 30 * ((100vw - 375px) / 1545)), 50px);background: #F8FAFA;}
#requirement .container table {table-layout: fixed;}
#requirement .container table tr {display: block;padding: 15px 0;border-bottom: 1px solid #BBB;}
#requirement .container table tr:last-child {position: relative;z-index: 1;padding: 30px;}
#requirement .container table tr:last-child::before {
	content: '';
	position: absolute;
	top: 10px;
	right: 0;
	bottom: 10px;
	left: 0;
	z-index: -1;
	border-radius: 10px;
	background: #fff;
}
#requirement .container table tr th {width: 200px;font-weight: 700;letter-spacing: .1em;}
#requirement .container table tr:last-child th {display: block;margin-bottom: 15px;}
#requirement .container table tr td {overflow: hidden;letter-spacing: .1em;}
#requirement .container table tr:last-child td {display: block;}
#requirement .container table tr td h3 {color: #008DD2;font-weight: 500;}
#requirement .container table tr td p {letter-spacing: .1em;}
#requirement .container table tr td .wrap {margin-bottom: clamp(20px, calc(20px + 20 * ((100vw - 375px) / 1545)), 40px);}
#requirement .container table tr td .wrap:last-child {margin-bottom: 0;}
#requirement .container table tr td dl dt {float: left;}
#requirement .container table tr td dl dd {padding-left: 350px;}
#requirement .container table tr td ul.list {display: flex;flex-wrap: wrap;gap: 10px;margin-top: 5px;}
#requirement .container table tr td ul li {position: relative;margin-bottom: 5px;padding-left: 20px;}
#requirement .container table tr td ul li:last-child {margin-bottom: 0;}
#requirement .container table tr td ul.list li {margin: 0;padding: 0;}
#requirement .container table tr td ul.list li a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 5px 15px;
	border-radius: 15px;
	background: #CFEFFF;
	line-height: 1.4;
}
#requirement .container table tr td ul.list li a:hover {background: #B6C4CB;}
#requirement .container table tr td ul.list li a img {width: 10px;}
#requirement .container table tr td ul.square li {position: relative;padding-left: 20px;}
#requirement .container table tr td ul.square li::before {
	content: '';
	position: absolute;
	left: 0;
	top: calc(1em - 7px);
	width: 14px;
	height: 14px;
	background: #333;
}
#requirement .container table tr td ul.dot li::before {content: '・';position: absolute;left: 0;}
#requirement .container table tr td ul.asterisk li::before {content: '※';position: absolute;left: 0;}
#requirement .container table tr td small {display: none;}
@media only screen and ( max-width : 767px ) {
	#requirement .container table {table-layout: fixed;}
	#requirement .container table tr th {display: block;width: 100%;}
	#requirement .container table tr td {display: block;}
	#requirement .container table tr td dl dt {float: none;}
	#requirement .container table tr td dl dd {padding-left: 20px;}
	#requirement .container table tr td figure {overflow-x: scroll;}
	#requirement .container table tr td figure img {min-width: 1000px;}
	#requirement .container table tr td ul.square li::before {top: .6em;}
	#requirement .container table tr td small {display: block;margin-top: 10px;font-size: 1.2rem;text-align: center;}
}
@media only screen and ( max-width : 500px ) {
	#requirement .container table tr:last-child th {text-align: center;}
	#requirement .container table tr td ul.square li::before {top: calc(0.85em - 7px);}
}
/*--------------------------------------------------

	ENTRY │ エントリー

--------------------------------------------------*/
#entry .title_common {background-image: url(../img/front/entry/title_bg.webp);}
#entry .wrap {
	padding: clamp(40px, calc(40px + 30 * ((100vw - 375px) / 1545)), 70px) 0;
	box-shadow: 0 3px 25px rgba(0, 27, 41, 16%);
	background: #fff;
}
#entry .wrap h3 {
	margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	color: #008DD2;
	font-weight: 500;
	font-size: clamp(22px, calc(22px + 8 * ((100vw - 375px) / 1545)), 30px);
	letter-spacing: .14em;
	text-align: center;
}
#entry .wrap .content p {
	margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	font-size: clamp(14px, calc(14px + 6 * ((100vw - 375px) / 1545)), 20px);
	letter-spacing: .14em;
	text-align: center;
}
#entry .wrap .content p:last-child {margin-bottom: 0;}
#entry .wrap .content a {display: block;max-width: 208px;margin: 0 auto;}