@charset "utf-8";
/*
Theme Name: asakura-garden
Author: YES-REFORM CO., LTD.
*/

:root {
/* ブランドカラー */
--color-primary:#66a995;
--color-secondary:#89cb97;
--color-accent: #cbe3ab;

/* テキストカラー */
--text-primary: #332c25;
--text-secondary: #66a995;
--text-tertiary: #b3b3b3;

/* 境界・背景カラー */
--border-color: #e5e5e5;
--bg-grey:#f7f7f7;
--bg-beige: #F8F7F7;
--bg-green:#eff9e2;

/* フォントファミリー */
--font-primary:"Zen Kaku Gothic New", sans-serif;
--font-secondary:"Sawarabi Gothic", sans-serif;

/* フォントサイズ */
--font-size-sm: 1.4rem;
--font-size-base: 1.6rem;
--font-size-md: 1.8rem;
--font-size-lg: 2.2rem;
--font-size-xl: 2.6rem;

/* 半径 */
--border-radius:15px;

/* 装飾 */
--box-shadow:2.12px 2.12px 7px rgba(0, 0, 0, 0.1);
--shadow-light:drop-shadow(0 0 1px #fff);
}

/* Body
========================================== */
html, body{
	width: 100%;
	font-size:62.5%;/*10px*/
}
body {
	color:var(--txt-color);
	line-height:1.8;
	letter-spacing: 1px;
	background-color: #fff;
	color:var(--text-primary);
	font-size:1.6rem;
	font-family: var(--font-primary);
	font-weight: 400;
}

@media screen and (max-width: 599px) {
	body{
		word-wrap:break-word;
		font-size: 1.5rem;}
}
/*pc*/
@media screen and (min-width: 751px) {
	.sp {display:none!important;}
}

/*sp*/
@media screen and (max-width: 750px) {
	.pc {display:none!important;}
}



/* common
========================================== */
.contents{overflow: hidden;}
.contents p{
	font-family: var(--font-secondary);
}
.contents p.accent{
	font-family: var(--font-primary);
	font-weight: 700;
}
.titleMain{
	line-height: 1.3;
	margin-bottom: 1.5em;
	font-size: clamp(2.4rem,3.2vw,4rem);
	font-weight: 700;
}
.titleMain span{
	display: block;
}
.titleMain .en{
	margin-bottom: 1em;
	font-size: 1.8rem;
	color: var(--text-tertiary);
}
.titleMain .ja{
	letter-spacing: 2px;
	padding-bottom: .5em;
	border-bottom: 1px solid var(--color-primary);
}
.titleMain.center{
	margin: 0 auto 1.5em;
	width: fit-content;
	text-align: center;
}
.titleMain.center .ja{padding: 0 1.5em .5em;}
.catchTitle{
	letter-spacing: 1px;
	line-height: 1.4;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom:1.5em;
	color: var(--text-secondary);
	font-weight: 600;
	font-family: var(--font-primary)!important;
	font-size: clamp(2rem, 2.7vw, 2.6rem);
}
.catchText{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom:1.5em;
	line-height: 2.8;
	font-size: 1.6rem;
}
.catchTitle.left,
.catchText.left{justify-content: flex-start;}
.catchText .accent{color: var(--color-primary);}
.catchTitle .break,
.catchText .break{
	flex-basis: 100%;
	height: 0;
}
p.catchTitle.center {
	text-align: center;
}

* + .btnEntry{margin-top: 2em;}
.btnEntry.center{text-align: center;}
.btnEntry a{
	line-height: 1.3;
	letter-spacing: 2px;
	position: relative;
	display: inline-block;
	padding: 1.2em 70px;
	background-color: var(--color-secondary);
	border-radius:9999px;
	box-shadow: var(--box-shadow);
	text-align: center;
	font-weight: 700;
	color: #fff;
	transition: 0.3s;
}
.btnEntry a::after{
	content: "";
	position:absolute;
	top: 50%;
	right: 30px;
	transform: translateY(-50%);
	background: url(images/icn_arrow.svg) left top/contain no-repeat;
	width: 15px;
	height: 9px;
	filter: brightness(0) invert(1);
	transition: 0.3s;
}
.btnEntry a:hover{
	background-color: var(--color-primary);
}
.btnEntry a:hover::after{top: calc(50% + 5px);}
.btnEntry.back a::after{transform: translateY(-50%) rotate(-90deg);}
.btnEntry.back a:hover::after{top: 50%;right: 25px;}

.anchor {
	margin-top:-80px;
	padding-top:80px;
}
@media screen and (max-width:1024px){
	.anchor {
		margin-top:-60px;
		padding-top:60px;
	}
}
@media screen and (max-width:599px){
	.titleMain .en{font-size: 1.6rem;}
	.titleMain.center .ja{padding: 0 1em .5em;}
	.catchText{font-size: 1.6rem;line-height: 2.5;}
	.catchText.left{display: inline;}
	.btnEntry a{padding: 1em 60px;}
}
@media screen and (max-width:320px){
	.btnEntry a{padding: 1em 50px;}
}


.scrollWrap {
	position: relative;
	overflow: visible;/*iphone*/}
.scrollArrow {
	position: absolute;
	top: calc(50% - 35px);
	z-index: 100;
	width: 40px;
	height: 40px;
	background-position: left top;
	background-repeat: no-repeat;
	background-size: contain;
	cursor: pointer;
}
.scrollArrow.prev {left: -3%;background-image: url(images/icon_prev.png);}
.scrollArrow.next {right: -3%;background-image: url(images/icon_next.png);}
.pc-on .scrollArrow.hidden{display: block;}
.pc-on .scrollArrow.prev {left:10px;}
.pc-on .scrollArrow.next {right:10px;}
:not(.pc-on) .scrollArrow.hidden{display: none;}
@media screen and (max-width:840px){
	.scrollArrow.hidden{display: none;}
}

/* mv
========================================== */
.mvArea{width: 100%;padding-top: 80px;}
.mvWrap{
	display: flex;
	align-items: center;
	margin-left: calc((100% - 1200px)/2);
}
.mvWrap .textBlock{
	animation:mvfadeIn 1.8s forwards 0.5s;
	opacity: 0;
	width: 20%;
	position: relative;
	left: 0;
	z-index: 10;}
.mvWrap .textBlock .text01{
	width:154%;
	height: auto;
	margin-bottom: 30px;
}
.mvWrap .textBlock .text02{
	width:105%;
	height: auto;
}
.mvWrap picture {
	display: block;
	width: 100%;
}
.mvWrap picture img {
	display: block;
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

.mvWrap .imageBlock{width: 80%;}
.mvWrap .imageBlock img{
	width: 100%;
	height: auto;
}

@keyframes mvfadeIn {
	to {
		opacity: 1;
	}
}
.movieFrame {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 56.25%;
	overflow: hidden;
}

.movieFrame video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media screen and (max-width:1200px){
	.mvArea{width: 100%;}
	.mvWrap{margin-left: 5%;}
}
@media screen and (max-width:1024px){
	.mvArea{padding-top: 60px;}
}
@media screen and (max-width:599px){
	.mvWrap{
		margin-left: 0;
		flex-direction:column-reverse;
	}
	.mvWrap .imageBlock{width: 100%;margin-bottom: 30px;}
	.mvWrap .textBlock{
		width: 100%;
		text-align: center;
		position: static;}
	.mvWrap .textBlock .text01{
		width:76%;
		margin: 20px auto 40px;
	}
	.mvWrap .textBlock .text02{
		margin: 0 auto;
		width:70%;
	}
	.mvWrap picture img {width: 100%;height: auto;}
	.mvWrap .imageBlock{width: 100%;margin-bottom: 30px;}

}

/* アサクラガーデンの想い
========================================== */
.thoughtsArea{
	margin-left: calc((100vw - 1200px)/2);
	padding: 100px 0;
}
.thoughtsWrap{
	display:flex;
	align-items: center;
	gap: 60px;
}
.thoughtsWrap .textBlock{width: 45%;}
.thoughtsWrap .textBlock p + p{margin-top: 2em;}
.thoughtsWrap .imageBlock{width: calc(100% - 45% - 60px);}
.thoughtsWrap .imageBlock img{
	width: 100%;
	height: auto;}

@media screen and (max-width:1200px){
	.thoughtsArea{
		margin-left:0;
		padding: 100px 5%;
	}
}
@media screen and (max-width:840px){
	.thoughtsArea{padding: 60px 5% 0;}
	.thoughtsWrap{
		flex-direction: column;
		gap: 30px;
	}
	.thoughtsWrap .textBlock{width:100%;}
	.thoughtsWrap .imageBlock{width:120%;margin: 0 -5%;}
	.thoughtsWrap .btnEntry{text-align: center;}

}
@media screen and (max-width:599px){
	.thoughtsWrap .textBlock .accent{font-size: 1.6rem;text-align: center;line-height: 2;}

}


/* 求める人材
========================================== */
.idealArea{
	padding: 100px 0;
	background-color: var(--bg-grey);
}
.idealWrap{
	margin: 0 auto;
	max-width: 1200px;
}

.idealPc{display: block;}
.idealSp{display: none;}

.idealListPc-col1 .idealItem{margin: 0 auto 40px;}
.idealListPc{
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
}

.idealList{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 40px;
}
.idealItem{
	display: flex;
	align-items: center;
	gap: 30px;
	padding: 2em;
	width: calc((100% - 40px)/2);
	background-color: #fff;
	border-radius: var(--border-radius);
	box-shadow: var(--box-shadow);
}
.idealItem .imageBlock{
	width: 28.6%;
}
.idealItem .imageBlock img{
	width: 100%;
	height: auto;
}
.idealItem .title{
	display: flex;
	flex-wrap: wrap;
	line-height: 1.3;
	margin-bottom: 1em;
	color: var(--color-primary);
	font-size: 2.2rem;
	font-size: clamp(1.8rem, 2.4vw,2.2rem);
	font-weight: 600;
}
.idealItem .break{
	flex-basis: 100%;
	height: 0;
}

@media screen and (max-width:1200px){
	.idealArea{padding: 100px 5%;}
	.idealItem{padding: 2em 1.5em;}
}

@media screen and (max-width:750px){
	.idealArea{padding: 60px 5%;}

	.idealPc{display: none;}
	.idealSp{display: block;}
	.idealList{
		display: flex;
		flex-wrap: nowrap;
		justify-content:flex-start;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x mandatory;
		gap: 20px;
		padding:10px 10px 30px;
	}
	.idealList::-webkit-scrollbar{height: 10px;}
	.idealList::-webkit-scrollbar-track{background:var(--bg-grey);}
	.idealList::-webkit-scrollbar-thumb {background: var(--color-accent);}
	.idealItem{
		display: flex;
		flex-direction: column;
		flex: 0 0 300px;
	}
	.idealItem .title{justify-content: center;}
	.idealItem .break{
		flex-basis: 100%;
		height: 0;
	}
}
@media screen and (max-width:599px){
	.idealItem{padding:2em 1.5em 1em;}
}

/*
.idealList{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 40px;
}
.idealItem{
	display: flex;
	align-items: center;
	gap: 30px;
	padding: 2em;
	background-color: #fff;
	border-radius: var(--border-radius);
	box-shadow: var(--box-shadow);
	width: calc((100% - 40px)/2);
	min-width: 300px;
}
.idealItem .imageBlock{
	width: 28.6%;
}
.idealItem .imageBlock img{
	width: 100%;
	height: auto;
}
.idealItem .title{
	display: flex;
	flex-wrap: wrap;
	line-height: 1.3;
	margin-bottom: 1em;
	color: var(--color-primary);
	font-size: 2.2rem;
	font-size: clamp(1.8rem, 2.4vw,2.2rem);
	font-weight: 600;
}
.idealItem .break{
	flex-basis: 100%;
	height: 0;
}

@media screen and (max-width:1200px){
	.idealArea{padding: 100px 5%;}
}

@media screen and (max-width:750px){
	.idealArea{padding: 60px 5%;}
	.idealList{
		display: flex;
		flex-wrap: nowrap;
		justify-content: flex-start;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x mandatory;
		gap: 20px;
		padding: 10px 10px 30px;
	}
	.idealList::-webkit-scrollbar{height: 10px;}
	.idealList::-webkit-scrollbar-track{background:#fff;}
	.idealList::-webkit-scrollbar-thumb {background: var(--color-accent);}
	.idealItem{
		flex-direction: column;
		flex: 0 0 300px;
	}
	.idealItem .break{
		flex-basis: 100%;
		height: 0;
	}
	.idealItem .title{justify-content: center;}
}
@media screen and (max-width:599px){
	.idealItem{padding:2em 1.5em 1.5em;}
}

*/


/* 未来像
========================================== */
.futureArea{
	position: relative;
	padding: 100px 0;
}
.futureWrap{
	margin: 0 auto;
	max-width: 1200px;
}
.futureMainTitle{
	line-height: 1.3;
	margin-bottom: 2em;
	text-align: center;
	font-weight: 600;
	font-size: clamp(2rem, 2.7vw, 2.6rem);
}
.futureMainTitle .en{
	display: block;
	margin: 0 auto 1em;
	padding:0 .5em;
	width: fit-content;
	background-color: var(--color-primary);
	color: #fff;
	font-weight: 600;
	font-size: clamp(2.6rem,3.467vw,4rem);
}
.futureTitle{
	line-height: 1.3;
	margin-bottom: 2em;
	text-align: center;
	font-weight: 600;
	font-size: clamp(2rem, 2.7vw, 2.6rem);
}
.futureTitle .en{
	display: block;
	margin: 0 auto 1em;
	padding:0 .2em;
	width: fit-content;
	font-weight: 600;
	font-size: clamp(2.6rem,3.467vw,4rem);
	background:linear-gradient(transparent 70%, var(--color-accent) 70%);
}

.futureListWrap{
	display: flex;
	flex-direction: column;
	gap: 40px;
	margin-bottom: 60px;
}
.futureList{
	display: flex;
	justify-content: center;
	gap: 40px;
}
.futureList .futureItem{
	width: calc((100% - 40px *2)/3);
	padding: 2em;
	background-color: #fff;
	border-radius: var(--border-radius);
	box-shadow: var(--box-shadow);
}
.futureList .futureItem .title{
	line-height: 1.3;
	margin: 0 auto 1em;
    padding: 0 .3em .1em;
    width: fit-content;
    background-color: var(--color-primary);
    color: #fff;
    font-weight: 600;
    font-size: clamp(2rem, 2.7vw, 2.6rem);
}
.futureList .futureItem .imageBlock{
	margin-bottom: 30px;
	text-align: center;
}
.futureList .futureItem .imageBlock img{
	max-width: 100%;
	height: auto;
}
.futureList .futureItem .accent{
	line-height: 1.3;
	margin-bottom: 1.2em;
	text-align: center;
	font-weight: 600;
	font-size: 1.8rem;
	font-family: var(--font-primary);
	color: var(--color-primary);
}

.purposeWrap{
	position: relative;
	padding: 100px 0;}

.purposeImage{
	position: absolute;
	right:0;
	bottom: 0;
	width: 40%;
	text-align: right;
}
.purposeImage img{
	max-width: 100%;
	height: auto;
}

@media screen and (max-width:1200px){
	.futureArea{padding: 100px 5%;}
}
@media screen and (max-width:840px){
	.futureListWrap{
		gap: 20px;
		margin-bottom: 60px;
	}
	.futureList{gap: 20px;flex-wrap: wrap;justify-content: center;}
	.futureList .futureItem{
		width: calc((100% - 20px)/2);
		padding: 2em;
	}
	.futureArea .futureImage02{display: none;}
}
@media screen and (max-width:750px){
	.futureArea{padding: 60px 5%;}
}
@media screen and (max-width:599px){
	.futureListWrap,.futureList{flex-direction: column;}
	.futureList .futureItem{width: 100%;}
	.purposeImage{width: 60%;}
}

/* 魅力
========================================== */
.charmArea{
	padding: 0 0 100px;
}
.charmArea .charmImage{
	margin:0 auto 80px;
	max-width: 1000px;
}
.charmArea .charmImage img{
	width: 100%;
	height: auto;
}
.charmWrap{
	margin: 0 auto;
	padding-top: 60px;
	max-width: 1200px;
}
.charmTitle{
    line-height: 1.3;
    margin: 0 auto 2.5em;
    padding: 0 .3em;
    width: fit-content;
    background-color: var(--color-primary);
	text-align: center;
    color: #fff;
    font-weight: 500;
    font-size: clamp(2rem, 2.7vw, 2.6rem);
}
.charmList{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 40px;
	margin-bottom: 60px;
}
.charmItem{
	padding: 2em;
	width: calc((100% - 40px * 2)/3);
	background-color: #fff;
	border-radius: var(--border-radius);
	box-shadow: var(--box-shadow);
}
.charmItem .number{
	margin-bottom: .5em;
	text-align: center;
	font-size: 4rem;
	font-weight: 700;
	color: var(--color-primary);
}
.charmItem .title{
	line-height: 1.3;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	font-weight: 600;
	font-size:min(2.539vw,2.6rem);
	margin-bottom: 1em;
	color: var(--color-primary);
}
.charmItem .title .break {
    flex-basis: 100%;
    height: 0;
}
@media screen and (max-width:1200px){
	.charmArea{padding:0 5% 100px;}
	.charmItem{padding: 2em 1.5em;}
	.charmArea .charmImage{
		margin: 0 -6% 80px;
		max-width: 112%;
		width: 112%;}
}

@media screen and (max-width:750px){
	.charmArea{padding:0 5% 60px;}
	.charmArea .charmImage{
		margin: 0 -6% 60px;
	}
	.charmWrap{padding-top: 30px;}
	.charmList{
		display: flex;
		flex-wrap: nowrap;
		justify-content:flex-start;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x mandatory;
		gap: 20px;
		padding:10px 10px 30px;
	}
	.charmList::-webkit-scrollbar{height: 10px;}
	.charmList::-webkit-scrollbar-track{background:var(--bg-grey);}
	.charmList::-webkit-scrollbar-thumb {background: var(--color-accent);}
	.charmItem{flex: 0 0 300px;}
	.charmItem .title{font-size: 2rem;}


}
@media screen and (max-width:599px){
	.charmItem{padding:1em 1.5em 1.5em;}
}


/* 社内の雰囲気
========================================== */
.atmosphereArea{
	padding: 100px 0;
	background-color: var(--bg-grey);
}

.atmospherePhoto {
	display: flex;
	align-items: stretch;
	flex-wrap: nowrap;
	overflow-x: auto;
	gap:0 20px;
	padding-bottom: 20px;
}
.atmospherePhoto::-webkit-scrollbar{height: 10px;}
.atmospherePhoto::-webkit-scrollbar-track{background:#fff;}
.atmospherePhoto::-webkit-scrollbar-thumb {background: var(--color-accent);}
.atmospherePhoto li {
	flex: 0 0 auto;
	list-style: none;
}
.atmospherePhoto li img{
	width: 100%;
	height: auto;
}

@media screen and (max-width:1200px){
	.atmosphereArea{padding: 100px 0;}
	.atmospherePhoto li{flex: 0 0 300px;}
}
@media screen and (max-width:750px){
	.atmosphereArea{padding: 60px 0;}
	.atmospherePhoto{padding:0 20px 20px;}
}
@media screen and (max-width:599px){
}

/* 画像
========================================== */
.photoBlock{
	padding: 60px 0;
	text-align: center;
}
.photoBlock P{text-align: center;}


/* 募集要項
========================================== */
.jobArea{
	padding: 100px 0;
	background-color: var(--bg-green);
}
.jobWrap{
	margin: 0 auto;
	max-width: 1200px;;
}
.jobArea .tabs{
	display: flex;
	justify-content: center;
	gap: 2rem;
	padding: 0 20px;
}
.jobArea .tabs li{}
.jobArea .tabs li a{
	line-height: 1.2;
	display: block;
	padding: 1.5rem 5rem;
	background-color: #fff;
	box-sizing: border-box;
	border-radius: 10px 10px 0 0;
	text-decoration: none;
	color: var(--text-primary);
	background-color:#e5e5e5;
	box-shadow: var(--box-shadow);
	font-weight: 600;
}
.jobArea .tabs li a:hover,
.jobArea .tabs li a.active{background-color: var(--color-secondary);transition: 0.3s;color: #fff;}

.jobArea .panels{
	position: relative;
	overflow: hidden;}
.jobArea .panels .panel{
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.4s ease;
	position: absolute;
	background-color: #fff;
	padding: 5%;
	box-shadow: var(--box-shadow);
	border-radius: var(--border-radius);
}
.jobArea .panels .panel.active{
	opacity: 1;
	visibility: visible;
	position: relative;
}
.jobTable{
	width: 100%;
	white-space-collapse: 5px;
	font-family: var(--font-secondary);
}
.jobTable tr:not(:last-child){
	border-bottom: 1px solid var(--border-color)
}
.jobTable th,
.jobTable td{
	padding: 1em;
}
.jobTable th{
	width: 10em;
	color: var(--color-primary);
	font-family: var(--font-primary);
}
.jobTable * + ul{margin-top: 1em;}
.jobTable * + p{margin-top: 1em;}
.jobTable ul li{
	position: relative;
	padding-left: 20px;
}
.jobTable ul li::before{
	content: "";
	position: absolute;
	top: 0.7em;
	left: 0;
	width: 5px;
	height: 5px;
	background-color: var(--color-primary);
	border-radius: 9999px;
}
.jobTable ul li ul{margin-bottom: .5em;}
.jobTable ul li ul li::before{
	top: 0.8em;
	left: 0;
	width: 10px;
	height: 1px;
	background-color: var(--color-primary);
	border-radius:0;
}

@media screen and (max-width:1200px){
	.jobArea{padding: 100px 5%;}

}

@media screen and (max-width:750px){
	.jobArea{padding: 60px 5%;}
	.jobArea .tabs{gap: 1em;}
	.jobArea .tabs li a{
		padding: 1.5rem 3rem;
	}
	.jobTable th{width:8em;}
}

@media screen and (max-width:599px){
    .jobArea .tabs li a {
        padding: 1.5rem 2rem;
    }
	.jobTable,
	.jobTable tbody,
	.jobTable th,
	.jobTable td{
		display: block;
		width: 100%;}
	.jobTable th{padding:1em 1em 0;}

}
@media screen and (max-width:380px){
	.jobArea .tabs{
		flex-direction: column;
		margin-bottom: 30px;
		gap: 2rem;
		padding: 0 40px;
	}
	.jobArea .tabs li{}
	.jobArea .tabs li a{
		padding: 1.5rem 2rem;
		background-color: #fff;
		border-radius: 9999px;
		text-align: center;
	}
}

/* 採用の流れ
========================================== */
.processArea{
	padding:100px 0;
}
.processList{
	display: flex;
	flex-direction: column;
	gap: 60px;
}
.processList .processItem{
	position: relative;
	background-color: var(--bg-grey);
}
.processList .processItem:not(:last-of-type)::after{
	content: "";
	position: absolute;
	left: 50%;
	bottom: -43px;
	transform: translateX(-50%);
	background: url(images/icn_arrow_green.svg) left top/contain no-repeat;
	width:41px;
	height: 23px;
}
.processList .processItem .inner{
	display: flex;
	align-items: center;
	gap:20px 60px;
	margin: 0 auto;
	padding: 50px 0;
	max-width: 960px;
}
.processList .processItem .imageBlock{
	width: 27%;
	text-align: center;
}
.processList .processItem .imageBlock img{
	max-width: 100%;
	height: auto;
}
.processList .processItem .textBlock{width: 70%;}
.processList .processItem .textBlock .title{
	margin-bottom: 1em;
	padding-bottom: .5em;
	border-bottom: 1px solid var(--color-primary);
	font-size: clamp(2rem, 2.7vw, 2.6rem);
	font-weight: 600;
}
.processList .processItem .textBlock .title .step{
	display: block;
	color: var(--color-primary);
	font-size: clamp(1.6rem, 2.133vw, 2rem);
}


@media screen and (max-width:1200px){
	.processArea{padding: 100px 0;}
}

@media screen and (max-width:960px){
	.processList .processItem .inner{
		padding: 30px 5%;
	}
}
@media screen and (max-width:750px){
	.processArea{padding: 60px 5%;}
	.processList{
		display: flex;
		flex-wrap: nowrap;
		flex-direction: row;
		justify-content:flex-start;
		overflow-x: auto;
		overflow-y:hidden;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x mandatory;
		gap: 20px;
		padding:0 10px 30px;
	}
	.processList::-webkit-scrollbar{height: 10px;}
	.processList::-webkit-scrollbar-track{background:var(--bg-grey);}
	.processList::-webkit-scrollbar-thumb {background: var(--color-accent);}

	.processList .processItem{
		flex: 0 0 300px;
	}
	.processList .processItem .inner{flex-direction: column;padding:1.5em;}
	.processList .processItem .imageBlock,
	.processList .processItem .textBlock{width: 100%;}
	.processList .processItem .imageBlock img{max-width: 40%;}
	.processList .processItem .textBlock .title{text-align: center;}
	.processList .processItem .textBlock .btnEntry{text-align: center;}
	.processList .processItem .textBlock .btnEntry a{padding: 1em 2em;}
	.processList .processItem .textBlock .btnEntry a::after{display: none;}
	.processList .processItem:not(:last-of-type)::after{
		display: none;
	}

}

/* 先輩社員の声
========================================== */
.voiceArea{
	padding: 100px 0;
}

.voiceWrap{
	margin: 0 auto;
	max-width: 1200px;
}
.voiceMenuWrap{
	display: flex;
	align-items: center;
	gap: 30px;
	justify-content: space-between;
}

.voiceArea .tabs{
	display: flex;
	justify-content: center;
	gap: 2rem;
	margin-bottom: 30px;
}
.voiceArea .tabs li{}
.voiceArea .tabs li a{
	line-height: 1.2;
	display: block;
	padding: 2rem 4rem;
	background-color:#e5e5e5;
	box-sizing: border-box;
	box-shadow: var(--box-shadow);
	border-radius: 9999px;
	text-decoration: none;
	color: var(--text-primary);
	font-weight: 500;
}

.voiceArea .tabs li a:hover,
.voiceArea .tabs li a.active{
	background-color: var(--color-secondary);
	box-shadow: inset 2.12px 2.12px 5px 0.15px rgba(0, 0, 0, 0.15);
	transition: 0.3s;
	color: #fff;}

.voiceArea .panels{position: relative;overflow: hidden;}
.voiceArea .panels .panel {
	display: none;
	opacity: 0;
	transition: opacity 0.4s ease;
	border: 1px solid #bcbcbc;
	padding-top: 5%;
}
.voiceArea .panels .panel.active {
	display: block;
	opacity: 1;
}
.voiceArea .panels .panel .panelInner{padding: 5%;}

.nameWrap{
	line-height: 1.2;
	display: flex;
	align-items: center;
	gap: 3em;
}
.nameWrap .job{
	letter-spacing: 2px;
	background-color: var(--color-secondary);
	color: #fff;
	padding: .3em .6em .3em 5%;
	font-weight: 500;
	font-size: clamp(2rem, 2.667vw,3rem);
}
.nameWrap .name{
	font-size: clamp(3rem, 4vw,4.5rem);
	font-weight: 600;}
.voiceArea .commentTop{
	position: relative;
	padding:30px 30px;
	margin-bottom: 60px;
	background-color: #fff;
	border-radius: var(--border-radius);
	filter: drop-shadow(var(--box-shadow));
}
.voiceArea .commentTop::before{
	content: "";
	position: absolute;
	bottom: -40px;
	left:30%;
	background: url(images/comment_arrow.png)left top/contain no-repeat;
	width:78px;
	height:78px;
	}
.voiceArea .commentTitle{
	line-height: 1.3;
	margin-bottom: 0.5em;
	color: var(--color-primary);
    font-weight: 600;
    font-size: clamp(2rem, 2.7vw, 2.2rem);
	font-family: var(--font-primary);
}

.imagetextWrap{
	display: flex;
	gap:50px 70px;
	margin-bottom: 60px;
}
.imagetextWrap .imageBlock{width: 40%;}
.imagetextWrap .imageBlock .image{margin-bottom: 30px;}
.imagetextWrap .imageBlock .image img{max-width: 100%;height: auto;}
.imagetextWrap .textBlock{width: 60%;}
.imagetextWrap .textBlock .comment:not(:last-of-type){
	margin-bottom: 50px;
}
.imagetextWrap .textBlock .comment dt{
	line-height: 1.3;
	margin-bottom: 0.5em;
	width: fit-content;
	font-weight: 600;
	font-size: clamp(2rem, 2.7vw, 2.2rem);
	font-family: var(--font-primary);
}
.imagetextWrap .textBlock .comment dt span{
	padding: 0 .2em;
	background: linear-gradient(transparent 70%, var(--color-accent) 70%);
}
.voiceArea .message{
	padding:20px 30px;
	background-color: #fff;
	border-radius: var(--border-radius);
	box-shadow: var(--box-shadow);
}

#voiceSlider1,
#voiceSlider2,
#voiceSlider3{
	margin-bottom: 30px;
}

#voiceSlider1 img,
#voiceSlider2 img,
#voiceSlider3 img{
	width: 100%;
	height: auto;}
.swiper-pagination1,
.swiper-pagination2,
.swiper-pagination3{text-align: center;}
#voiceSlider1 .swiper-pagination-bullet,
#voiceSlider2 .swiper-pagination-bullet,
#voiceSlider3 .swiper-pagination-bullet{
	width: 10px;
	height: 10px;
	border-radius: 0;
	background-color: var(--bg-beige);
	opacity: 1;
	margin: 0 8px;
}
#voiceSlider1 .swiper-pagination-bullet-active,
#voiceSlider2 .swiper-pagination-bullet-active,
#voiceSlider3 .swiper-pagination-bullet-active{background-color:var(--color-primary);}

@media screen and (max-width:1200px){
	.voiceArea{padding:100px 5%;}
	.voiceArea .titleMain{}
	.voiceArea .tabs li a{padding: 1.5rem 3rem;}
}
@media screen and (max-width:1024px){
	.voiceArea{padding:100px 5%;}
	.voiceArea .titleMain{}
	.voiceArea .tabs{flex-wrap: wrap;justify-content:start;width: 60%;gap: 1em;}
	.voiceArea .tabs li a{padding: 1.5rem 3rem;}
}
@media screen and (max-width:750px){
	.voiceArea{padding:60px 5%;}
	.voiceMenuWrap{flex-direction: column;}
	.voiceArea .tabs{width: 100%;justify-content: center;}
	.voiceArea .tabs li{width: calc((100% - 1em)/2);text-align: center;}

	.imagetextWrap{
		flex-direction: column;
		margin-bottom: 30px;
	}
	.imagetextWrap .imageBlock,
	.imagetextWrap .textBlock{width: 100%;}
}
@media screen and (max-width:599px){
	.voiceArea .panels .panel {
		border: none;
		border-top: 1px solid #bcbcbc;
		padding-top: 30px;
	}
	.voiceArea .panels .panel .panelInner{padding:0;}
	.nameWrap{margin-bottom: 30px;gap: 1em;}
	.voiceArea .commentTop {margin: 0 10px 60px;}
	.voiceArea .tabs li a{padding: 1.5rem 1rem;}
}
@media screen and (max-width:320px){
	.voiceArea .tabs{padding: 0 30px;flex-direction: column;}
	.voiceArea .tabs li{width:100%;}
}


/* よくあるご質問
========================================== */
.faqArea{
	padding: 100px 0;
	background-color: var(--bg-beige);}

.faqWrap{
	margin: 0 auto;
	max-width: 1200px;
}
.faqItem{}
.faqToggle{
	line-height: 1.3;
	position: relative;
	width: 100%;
	text-align: left;
	margin-bottom: 1em;
	padding: .8em 3em .8em 2.5em;
	border: none;
	border-bottom: 1px solid #666;
	cursor: pointer;
	color: var(--color-primary);
	font-size: clamp(1.8rem,2.4vw,2.4rem);
}
.faqToggle::before{
	position: absolute;
	left: 1em;
	content: "Q.";
}
.faqToggle::after {
	position: absolute;
	top: 50%;
	right: 1em;
	transform: translateY(-50%);
	background: url(images/icn_arrow.svg) left top/contain no-repeat;
	width: 15px;
	height: 9px;
	content: "";
	font-size: 2.5rem;
	font-weight: 600;
	color: var(--text-primary);
	transition: transform 0.3s;
}
.faqToggle.active{}
.faqToggle.active::after {transform: rotate(180deg);}
.faqContent {
	overflow: hidden;
	max-height: 0;
	transition: max-height 0.4s ease;
	padding: 0;
}
.faqContent .box{
	position: relative;
	background-color: #fff;
	padding:1.5em 2em 1.5em 5em;
	font-weight: 500;
}
.faqContent .box::before{
	position: absolute;
	top: 1em;
	left: 2.5em;
	content: "A.";
	font-size: 2rem;
	color: var(--color-primary);
}

@media screen and (max-width:1200px){
	.faqArea{padding:100px 5%;}
	.faqWrap{width: 100%;}
}
@media screen and (max-width:750px){
	.faqArea{padding:60px 5%;}
	.faqContent .box{
		padding:1.5em 1em 1.5em 3.2em;
	}
	.faqContent .box::before{
		top: 1em;
		left: 1.2em;
		font-size: 1.8rem;
	}

}


/* フォーム
========================================== */
.formArea{
	padding: 100px 0;
	background-color: var(--bg-green);
}
.formArea .formInner{
	margin: 0 auto;
	max-width: 1200px;
}
.formArea .formWrap{
	padding: 5%;
	background-color: #fff;
	border-radius: 20px;
	box-shadow: var(--box-shadow);
}
.formTable{
	width: 100%;
	margin-bottom: 0px;
}
.formTable tr{
	border-bottom: 1px solid var(--border-color);
}

.formTable tr:last-child{
	border-bottom: none;
}
.formTable th,
.formTable td{
	padding: 1.5em 0;
	font-optical-sizing: auto;
	font-weight: 400;
}
.formTable th{
	position: relative;
	width: 220px;
	padding: 2em 1em 1.5em 0;
	font-weight: 600;
	color: var(--color-primary);
}
.formTable.confirm th{padding: 1.5em 1em}
.formTable th.required{padding-left: 3em;}
.formTable th.required::before{
	position: absolute;
	top: 2.8em;
	left: 0;
	content: "必須";
	line-height: 1.2;
	margin-right: 1em;
	padding:0 0.3em;
	font-size: 1.4rem;
	font-weight: 500;
	color:#FF0000;
}

.formTable input[type="text"],
.formTable input[type="tel"],
.formTable input[type="email"],
.formTable textarea,
.formTable select{
	width: 100%;
	padding: 0.8em 1em;
	line-height:1.5em;
	vertical-align: middle;
	font-size: 100%;
	font-family : inherit;
	color: #555;
	background: #fff;
	border: 1px solid var(--border-color);
	box-sizing: border-box;
	-webkit-appearance: none;}
.formTable textarea{height: 200px;}
.formTable input::placeholder {color: #b0b0b0;}

input[type="checkbox"] {
	position: relative;
	margin-right: 10px;
	width: 15px;
	height: 15px;
	background-color: #D0D0D0;
	-webkit-appearance: none;
		-moz-appearance: none;
			appearance: none;
}
input[type="checkbox"]:checked:before {
	position: absolute;
	top: 3px;
	left: 5px;
	transform: rotate(50deg);
	width: 4px;
	height: 8px;
	border-right: 2px solid #000;
	border-bottom: 2px solid #000;
	content: '';
}
.formTable .formList li{
	display: inline-block;
	margin-right: 2em;
	margin-bottom: 1em;
}
.formArea .agree{
	font-optical-sizing: auto;
	font-weight: 500;
	text-align: center;}

.formBtn{text-align: center;}
.formBtn input{
	z-index: 1;
	letter-spacing: 2px;
	display:inline-block;
	margin-top: 40px;
	padding:8px;
	width: 320px;
	border:none;
	box-shadow: var(--box-shadow);
	box-sizing: border-box;
	background: url(images/btn_ico_right.png);
	background-repeat: no-repeat;
	background-position:right 5px center; /* 右から10px、上下は中央 */
	background-size: 50px;
	background-color: #00A89C;
	border-radius: 9999px;
	text-align: center;
	text-decoration: none;
	transition: .2s;
	color: #fff;
	font-weight: 500;
	cursor: pointer;
	font-size: 30px;
	-webkit-appearance: none;

}

.formBtn input:hover{
	background-color: var(--color-primary);
	transition: 0.2s;
}
.formBtn.submit input{margin-top: 0;}
.formBtn.back input{margin-top: 20px;background-color:#999;}

.formPoricy{
	overflow-y: scroll;
	height: 150px;
	padding:1.5em 2em;
	box-sizing: border-box;

	font-size: 1.4rem;
}
.formPoricy p+p{margin-top: 1.5em;}

@media screen and (max-width:1200px){
	.formArea{padding: 100px 5%;}
	.formArea .formInner{
		width: 100%;
	}
}

@media screen and (max-width:750px){
	.formArea{padding: 80px 5%;}
	.formArea .inner{width: 100%;}
	.formTable fieldset{display: inline-block;}
}
@media screen and (max-width:599px){
	.formArea .formWrap {padding: 25px;}
	.formTable th,
	.formTable td{
		display: block;
		width: 100%;
	}
	.formTable th,
	.formTable.confirm th{padding: 1em 0 0;}
	.formTable th.required{padding: 1em 0 0 3em;}
	.formTable th br{display: none;}
	.formTable th.required::before{top: 1.5em;}
	.formTable td{padding: 1em 0 1.2em;}
	.formTable .border th{padding-left: 0;border-right:none;}
	.formTable .border td{padding: 1.5em 0;}
}

/*確認画面サンクスページ用*/
.formMvTitle img{max-width: 100%;height: auto;}
.formPage{
	background-color:#F8F7F7;
	margin: 0;
	padding:0 30px;
	height: 100%;
}
.formPageWrap {
	max-width:800px;
	min-height: 100vh;
	margin:0 auto;
	padding: 30px;
	background-color: #fff;
}
.formMvArea{
	margin-bottom: 50px;
	text-align: center;
}
#formWrap {
	width:700px;
	margin:0 auto;
}
p.error_messe{
	margin:5px 0;
	font-size: 16px;
	color:red;
}
.form_heading{
	margin-bottom: 2em;
	padding: 1em;
	text-align: center;
	border-bottom: 1px solid var(--color-primary);
    font-weight: 500;
    font-size: 1.8rem;
}
.form_txt{
	margin-bottom: 2em;
	text-align: center;
}
.error_txt{text-align: center;margin-bottom: 2em;}

.formDesc{text-align: center;}
.formDesc .heading {
	margin-bottom: 1.5em;
	font-size:2.2rem;
	font-weight: 500;
	line-height: 1.5;
}
.formDesc .txt{line-height: 1.6;}
.formDesc .txt.small {font-size:1.5rem;}
.formDesc .txt + .txt {margin-top:3.2em;}
.formDesc .txt a {
	color: #ea1c24;
	font-size: 1.8rem;
}
.formDesc .txt a:hover {text-decoration: none;}
.formDesc .signature {
	margin: 3.2em auto 50px;
	padding: 1em 1.5em 1.5em;
	border: 1px solid var(--color-accent);
	max-width: 600px;
}
.formDesc .signature .companyName {
	margin-top: 0;
	margin-bottom: 5px;
	font-size: 2.4rem;
}
.formDesc .signature .companyName a {
	color: inherit;
	text-decoration: none;
}
.formDesc .signature .address {margin-bottom: 0;}

@media screen and (max-width:800px) {
	#formWrap {
		width:100%;
		margin:0 auto;
	}
}
@media screen and (max-width:599px){
	.formPage{padding:0;}
	.formDesc{text-align: left;}
	.formDesc .heading {font-size:2rem;}
	.formDesc .txt {font-size: 1.5rem;}
	.formDesc .txt.small {font-size: 1.5rem;}
	.formDesc .txt a {display: block;}
	.formDesc .signature .companyName {font-size: 1.8rem;}
}



