@charset "utf-8";
/*
Theme Name: asakura-garden
Author: YES-REFORM CO., LTD.
*/

ul li,
ol li {
	list-style: none;
}

: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;


/* フォントファミリー */
--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;}
}







/* 募集要項
========================================== */
.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;
	}
}



/* フォーム
========================================== */
.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: 40px;
}
.formTable tr{
	border-bottom: 1px solid var(--border-color);
}
.formTable th,
.formTable td{
	padding: 1.5em 0;
	font-optical-sizing: auto;
	font-weight: 400;
}
.formTable th{
	position: relative;
	width: 16em;
	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: 0.8em 4em 1em;
	border:none;
	box-shadow: var(--box-shadow);
	box-sizing: border-box;
	background-color: var(--color-secondary);
	border-radius: 9999px;
	text-align: center;
	text-decoration: none;
	transition: .2s;
	color: #fff;
	font-weight: 500;
	cursor: pointer;
	-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;
	border: 1px solid var(--border-color);
	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;}
}



