@charset "utf-8";
/*
	Theme: template plantation
	author: arnk
*/
img {
	max-width: 100%;
}

/*ヘッダー*/
.header1,
.header_subpage {
	position: fixed;
	/* position: relative; */
	top: 0;
	left: 0;
	z-index: 6;
	width: 100%;
	/* background: rgba(255,255,255,0.6); */
	transition: .3s;
}

.header1 .header_inner,
.header_subpage .header_inner {
	/* padding: 15px 17.5px; */
	padding: 17px 27px;
	max-width: 1700px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 100%;
}

.header1 .logo,
.header_subpage .logo {
	line-height: 1;
}

.header1 .logo:hover,
.header_subpage .logo:hover {
	opacity: .8;
}

.header1 .logo img,
.header_subpage .logo img {
	/* width: 162px; */
	width: 120px;
}

.header1 .gnav_pc,
.header_subpage .gnav_pc {
	display: none;
}

.gnav_pc {
	font-family: var(--heading-font-jp);
	font-weight: bold;
}

/*ハンバーガーメニュー*/
.gnav_sp {
	width: 100%;
	height: 100%;
	overflow-y: scroll;
	scrollbar-width: none; /*Firefox対応のスクロールバー非表示コード*/
    -ms-overflow-style: none;
	background: rgba(255, 255, 255, 0.9);
	padding: 70px 17.5px 20px;
	position: fixed;
	top: 0;
	right: -100%;
	transition: .3s;
	z-index: 20;
}

.gnav_sp::-webkit-scrollbar {
	display: none;
}

.gnav_sp_logo {
	text-align: center;
	margin-bottom: 20px;
}

.gnav_sp_logo img {
	width: 137px;
}

.gnav_sp.open {
	transform: translateX(-100%);
}

.gnav_sp .menu {
	margin-top: 20px;
}

/* .gnav_sp .menu ul > li {
	border-bottom: 1px solid #ccc;
}

.gnav_sp .menu ul > li:first-child {
	border-top: 1px solid #ccc;
} */

.gnav_sp .menu ul > li a {
	display: block;
	text-decoration: none;
	color: var(--heading-color);
	text-transform: uppercase;
	padding: 10px 10px;
	font-size: 2rem;
	background: url(img/side_nave_arrow.svg) no-repeat right 17.5px center/ 8px;
	font-family: var(--heading-font-en);
}

.Toggle {
	position: fixed;
	/* top: 15px; */
	top: 5px;
	right: 17.5px;
	width: 40px;
	height: 40px;
	z-index: 30;
	cursor: pointer;
}

.toggle_inner {
	width: 100%;
	height: 20px;
	position: absolute;
	top: 10px;
}

.toggle_inner span {
	display: block;
	width: 30px;
	height: 2px;
	background: #333;
	position: absolute;
	left: 5px;
	transition: .3s;
}

.toggle_inner span:first-child {
	top: 10px;
}

.toggle_inner span:nth-child(2) {
	top: 18px
}

.Toggle p {
	position: absolute;
	top: 29px;
	left: 50%;
	transform: translateX(-50%);
	font-size: 1.1rem;
	transition: .3s;
	color: #333;
	font-family: var(--heading-font-en);
}

.toggle_inner.open + p {
	color: var(--heading-color);
}

.toggle_inner.open span:first-child {
	top: 13px;
	transform: rotate(15deg);
	background: var(--heading-color);
}

.toggle_inner.open span:nth-child(2) {
	top: 13px;
	transform: rotate(-15deg);
	background: var(--heading-color);
}


/*footer*/
footer {
	background: #efefef;
	padding: 30px 0;
}

.footer_inner {
	padding: 0 17.5px;
	max-width: 1440px;
	margin: 0 auto;
}

.footer_top {
	margin-bottom: 30px;
	padding-bottom: 60px;
	border-bottom: 1px solid var(--footer-border-color);
}

.footer_top_flex {
	display: flex;
	flex-direction: column-reverse;
	/* margin-bottom: 80px; */
	margin-bottom: 40px;
}

.footer_right {
	margin-bottom: 30px;
	font-family: var(--heading-font-jp);
}

.fnav ul {
	list-style: none;
}

/* .fnav ul:first-child li:first-child {
	border-top: 1px solid #ccc;
} */

.fnav ul li {
	/* border-bottom: 1px solid #ccc; */
	text-transform: uppercase;
}

.fnav ul li a {
	/* color: #000; */
	text-decoration: none;
	display: block;
	padding: 10px;
	background: url(img/footer_nave_arrow.svg) no-repeat right 17.5px center/ 8px;
}


.fnav ul li a:hover {
	opacity: .8;
}

address {
	font-style: normal;
}

address p {
	text-transform: uppercase;
}

.footer_bottom {
	text-align: center;
}

.footer_bottom {
	display: flex;
	flex-direction: column;
	row-gap: 10px;
}

.footer_logo img {
	width: 137px;
}

.footer_logo a:hover {
	opacity: .8;
}

.company_name {
	font-weight: bold;
}

.footer_left {
	text-align: center;
	line-height: 2.5;
	font-family: var(--heading-font-jp);
}

/*2023.02.04追記*/
.fnav a {
	color: var(--font-color);
	text-decoration: none;
}

/* .footer_left address {
	margin-bottom: 2rem;
} */

.sns {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
}

.sns a:hover {
	opacity: .8;
}

.sns img {
	width: 40px;
}

/*2023.03.10追記*/
.f_edit_area {
	/* margin-bottom: 2rem; */
	margin-top: 40px;
}

.f_privacy li a {
	display: inline-block;
	padding: 10px 30px 10px 0;
	background: url(img/footer_nave_arrow.svg) no-repeat right center/8px;
	color: var(--font-color);
	text-decoration: none;
	width: 214px;
}

/*アニメーション*/
.js-monitored {
	opacity: 0;
	transform: translateY(15px);
}

.js-monitored.show {
	animation: fadeinup 2s .5s ease-out 1 normal forwards;
}

/*ページトップ*/
.pageTop {
	position: fixed;
	bottom: 15px;
	right: 15px;
	width: 50px;
	height: 50px;
	z-index: 8;
	cursor: pointer;
}

.pageTop a:hover {
	opacity: .8;
}

.pageTop img {
	width: 100%;
	height: 100%;
}

/*募集要項バナー*/
.fixed_banner_pc {
	position: fixed;
	z-index: 7;
	bottom: 15px;
	left: 0;
	width: 200px;
	display: none;
}

.fixed_banner a {
	display: block;
}

.fixed_banner a:hover {
	opacity: .8;
}

.fixed_banner img {
	width: 180px;
}

/* .fixed_banner_sp {
	width: 100%;
	height: 80px;
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 6;
}

.fixed_banner_sp a {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	background: #009de2;
	color: #fff;
	text-decoration: none;
	font-size: 2rem;
	font-family: var(--heading-font-jp);
} */

/*募集要項モーダル*/
.recruit_content .heading_h2 {
	text-align: center;
	margin-bottom: 30px;
}


/*お問い合わせ*/
.coutact_guide {
	margin-bottom: 30px;
}

.contact_wrap form {
	max-width: 800px;
	margin: 0 auto;
}

.contact_wrap form dl {
	margin-bottom: 30px;
}

.contact_wrap form dl dt {
	margin-bottom: 15px;
}

.contact_wrap form dl input[type="text"],
.contact_wrap form dl input[type="email"],
.contact_wrap form dl input[type="tel"],
.contact_wrap form dl textarea {
	border: 1px solid #ccc;
	padding: 15px;
	line-height: 1.6;
	width: 100%;
}

.confirm_txt {
	margin-bottom: 40px;
}

.confirm_txt p {
	margin-bottom: 10px;
}

.confirm_txt a {
	color: #000;
	text-decoration: none;
}

.confirm_txt a:hover {
	color: #00f;
}

.submit {
	text-align: center;
}


.submit button,
.privacy_btn_wrap .privacy_btn {
	color: #fff;
	display: grid;
	border: 1px solid #1a1a1a;
	cursor: pointer;
	transition: .3s;
	padding: .667em 1.333em;
	width: 200px;
	height: 60px;
	place-items: center;
	background: #1a1a1a;
	text-decoration: none;
	font-weight: bold;
	margin: 0 auto;
	border-radius: 10px;
}


.submit button:hover,
.form_wrap .privacy_btn:hover {
	color: #fff;
	background: #1a1a1a;
	
}

/*お問い合わせフォーム*/
.form_wrap {
	max-width: 1000px;
	margin: 0 auto;
}

.contact_section [type="text"],
.contact_section [type="email"],
.contact_section [type="tel"],
.contact_section textarea {
	background: #f5f5f5;
	width: 100%;
	padding: 20px 15px;
	color: var(--font-color);
	border-radius: 0;
	line-height: 1.6;
}

.contact_section ::placeholder {
	color: #808080;
}

.input_area {
	display: grid;
	/* row-gap: 50px; */
	row-gap: 25px;
	/* margin-bottom: 120px; */
	margin-bottom: 60px;
}

.input_area dl dt {
	margin-bottom: 15px;
	font-weight: bold;
}

.input_area dl dt span {
	/* border: 1px solid #fff; */
	background: var(--theme-color);
	border-radius: 3px;
	display: inline-block;
	padding: 0 5px;
	margin-left: 13px;
	color: #fff;
}

.form_btn_area {
	max-width: 450px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(auto-fit,minmax(200px,1fr));
	row-gap: 30px;
	/* column-gap: 5%; */
	justify-content: center;
}

::placeholder {
	color: #808080;
}


/*プライバシーポリシー*/
.privacy_declearation {
	margin-bottom: 30px;
}

.privacy_section {
	margin-bottom: 30px;
}

.privacy_section h3 {
	margin-bottom: 15px;
}

.privacy_section p {
	margin-bottom: 15px;
}

.privacy_section ul {
	padding-left: 30px;
	list-style-type: disc;
}

.privacy_btn_wrap {
	text-align: center;
	/* margin: 30px 0; */
}

.confirm_txt a.contact_btn,
.confirm_txt a.privacy_btn {
	color: #000;
	display: grid;
	/* padding: .667em 1.333em; */
	width: 200px;
	height: 60px;
	place-items: center;
	text-align: center;
	border: 1px solid #000;
	transition: .3s;
	text-decoration: none;
}

.confirm_txt a.contact_btn:hover,
.confirm_txt a.privacy_btn:hover {
	color: #fff;
	background: #000;
}

@keyframes fadeinup {
	0% {
		transform: translateY(15px);
		opacity: 0;
	}
	100% {
		transform: translateY(0);
		opacity: 1;
	}
}


/*募集要項*/
.recruit_section .heading_h2 {
	text-align: center;
	/* margin-bottom: 120px; */
	margin-bottom: 60px;
}

.dl_table {
	max-width: 1200px;
	margin: 0 auto;
}

.dl_table dl {
	margin: 0 0 20px;
}

.dl_table dl dt,
.dl_table dl dd {
	padding: 20px 15px;
}

.dl_table dl dt {
	text-align: center;
	font-weight: bold;
	color: var(--heading-color);
	background: #f5f5f5;
}

.dl_table dl dd {
	display: grid;
	justify-content: center;
}

.no_recruitement {
	text-align: center;
}

/*下層ページ*/
.subpage_main {
	margin-top: 80px;
}

/*パンくずリスト*/
.pnkz_wrapper {
	margin-bottom: 30px;
}

.pnkz li {
	display: inline-block;
}

.pnkz li:not(:last-child)::after {
	content: '―';
	margin: 0 10px;
}

.pnkz li a {
	color: var(--font-color);
	text-decoration: none;
}
.pnkz li a:hover {
	text-decoration: underline;
}

/*チェックボックス*/
.form_wrap [type="checkbox"] {
	margin: 0 10px;
	display: none;
}

.form_wrap [type="checkbox"] + .wpcf7-list-item-label {
	position: relative;
	padding-left: 20px;
	/*チェックボックス分の隙間を作る*/
}

.form_wrap [type="checkbox"]+ .wpcf7-list-item-label::before {
	content: "";
	display: block;
	width: 14px;
	height: 14px;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	/*中央ぞろえにする*/
	border: 1px solid var(--heading-color);
	/*お好きな太さで。*/
	/* border-radius: 3px; */
	cursor: pointer;
	/*ポインターを表示する*/
	background: #fff;
}

.form_wrap [type="checkbox"]:checked+ .wpcf7-list-item-label::before {
	/*チェックしたときの箱の色を変える*/
	background: var(--heading-color);
}

.form_wrap [type=checkbox]:checked+ .wpcf7-list-item-label::after {
	/*チェックの✓をつくる*/
	content: "";
	display: block;
	width: 10px;
	height: 6px;
	box-sizing: border-box;
	border-bottom: 2px solid #fff;
	border-left: 2px solid #fff;
	position: absolute;
	/*ここから下は位置を調整する*/
	top: 40%;
	left: 5px;
	/*箱を斜めに傾けてチェック表示にする*/
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg) translateY(-50%);
}

/*お知らせ記事*/
.article_heading {
	margin-bottom: 30px;
}

.news_article {
	margin-bottom: 60px;
}

.return_btn {
	width: 200px;
	height: 60px;
	display: grid;
	place-items: center;
	color: #fff;
	background: #1a1a1a;
	border: 1px solid #1a1a1a;
	text-decoration: none;
	margin: 0 auto;
	font-weight: bold;
	transition: .3s;
	border-radius: 10px;
}

.return_btn:hover {
	/* color: #fff;
	background: var(--heading-color); */
	opacity: .8;
}

/*ページネーション*/
.page_nav {
	display: flex;
	justify-content: center;
	text-align: center;
	align-items: center;
	margin-bottom: 120px;
	column-gap: 10px;
	line-height: 1;
}

.page_nav a {
	text-decoration: none;
	color: var(--font-color);
	/* border: 2px solid #74a850; */
	border-radius: 50%;
	box-sizing: border-box;
	transition: .3s;
	background: url(img/page_nav_circle.svg) no-repeat center/contain;
}

.page_nav.procucts_page_nav a:not(.next.page-numbers,.prev.page-numbers) {
	border-radius: 6px;
	border: 1px solid var(--font-color);
}

.page_nav a:hover {
	color: var(--font-color);
	/* background: #ccc; */
	/* border-radius: 50%; */
	text-decoration: underline;
}

.page_nav.procucts_page_nav a:not(.next.page-numbers,.prev.page-numbers):hover {
	text-decoration: none;
	background: var(--font-color);
	color: #fff;
}

.page_nav.procucts_page_nav a.next.page-numbers:hover,
.page_nav.procucts_page_nav a.prev.page-numbers:hover {
	text-decoration: none;
	opacity: .8;
}

.page-numbers {
	width: 40px;
	height: 40px;
	display: grid;
	justify-content: center;
	align-items: center;
}

.page-numbers.current {
	background: var(--heading-color);
	color: var(--bg-color);
	border-radius: 50%;
	pointer-events: none;
}

.procucts_page_nav .page-numbers.current {
	border-radius: 5px;
}
/*ワードプレス時変更の可能性あり*/
.prev.page-numbers,
.next.page-numbers {
	position: relative;
	color:var(--font-color);
	border: none;
	background: none;
}

.prev.page-numbers {
	margin-right: 1rem;
}

.next.page-numbers {
	margin-left: 1rem;
}

.prev.page-numbers::before {
	content: '〈';
}

.next.page-numbers::after {
	content: '〉';
}

.page_nav a.next:hover,
.page_nav a.prev:hover {
	/* background: none; */
	/* color: #74a850; */
	/* color: #fff; */
	opacity: 0.8;
}



@media screen and (min-width: 768px) {
	/* .header1 {
		height: 180px;
	}

	.header1.active {
		height: 80px;
	} */

	

	.header1 .gnav_pc ul,
	.header_subpage .gnav_pc ul {
		display: flex;
		column-gap: 30px;
		list-style: none;
	}

	.header1 .gnav_pc ul li a,
	.header_subpage .gnav_pc ul li a {
		text-decoration: none;
		color: #000;
		text-transform: uppercase;
	}

	.header1 .gnav_pc ul li a:hover,
	.header_subpage .gnav_pc ul li a:hover {
		opacity: .8;
	}

	footer {
		padding: 60px 0;
		margin-bottom: 0;
	}

	.footer_top {
		margin-bottom: 60px;
		padding-bottom: 60px;
	}

	.footer_top_flex {
		flex-direction: row;
		justify-content: space-between;
		margin-bottom: 80px;
	}

	.footer_right {
		margin-bottom: 0;
		/* width: 34%; */
		width: 40%;
		max-width: 478px;
	}

	

	/* .Toggle.active {
		top: 15px;
	} */

	.fnav ul:first-child li:first-child,
	.fnav ul li {
		border: none;
	}

	.fnav ul li a {
		/* display: inline-block; */
		padding: 5px 30px 5px 0;
		background-position: right center;
	}

	.footer_bottom {
		flex-direction: row;
		justify-content: space-between;
		align-items: flex-end;
	}

	/*お問い合わせ*/
	.coutact_guide {
		margin-bottom: 60px;
		text-align: center;
	}

	.contact_wrap form dl {
		margin-bottom: 60px;
	}

	.contact_wrap form dl dt {
		margin-bottom: 15px;
	}

	.confirm_txt {
		text-align: center;
		margin-bottom: 80px;
	}

	.confirm_txt p {
		margin-bottom: 30px;
	}

	
	.contact_section [type="text"],
	.contact_section [type="email"],
	.contact_section [type="tel"],
	.contact_section textarea {
		padding: 20px 40px;
	}

	.input_area {
		row-gap: 50px;
		margin-bottom: 120px;
	}

	.form_btn_area {
		max-width: 450px;
		margin: 0 auto;
		display: grid;
		grid-template-columns: repeat(auto-fit,minmax(200px,1fr));
		row-gap: 30px;
		column-gap: 5%;
		justify-content: center;
	}

	/*ハンバーガーメニュー*/
	.gnav_sp {
		width: 600px;
		right: -600px;
		padding-left: 30px;
		padding-right: 30px;
	}

	.gnav_sp.open {
		transform: translateX(-600px);
	}

	.gnav_sp .menu > li a {
		padding: 15px ;
	}

	/*下層ページ*/
	.subpage_main {
		margin-top: 140px;
		padding-bottom: min(170px, 8.86vw);
	}

	/*パンくずリスト*/
	.pnkz_wrapper {
		margin-bottom: 40px;
	}

	/*お知らせ記事*/
	.article_heading {
		margin-bottom: 60px;
	}

	.news_article {
		margin-bottom: 120px;
	}

	/*ページネーション*/
	.page_nav {
		margin-bottom: 60px;
		column-gap: 5px;
	}

	/*募集要項バナー*/
	/* .fixed_banner_sp {
		display: none;
	} */

	.fixed_banner_pc {
		display: block;
	}

	/*募集要項*/
	.recruit_section .heading_h2 {
		/* margin-bottom: 120px; */
	}

	.dl_table dl {
		margin: 0;
		display: grid;
		grid-template-columns: max(180px, 20%) auto;
		border-bottom: 1px solid #cfcfcf;
		column-gap: 3rem;
	}

	.dl_table dl:first-child {
		border-top: 1px solid #cfcfcf;
	}



	.dl_table dl dt {
		text-align: left;
		color: var(--heading-color);
		background: none;
		padding-left: min(100px, 5.2vw);
		padding-top: 25px;
		padding-bottom: 25px;
	}

	.dl_table dl dd {
		display: grid;
		justify-content: flex-start;
		padding-left: min(80px, 4.16vw);
		padding-right: min(80px, 4.16vw);
		padding-top: 25px;
		padding-bottom: 25px;
	}

	/*募集要項モーダル*/
	.dl_table.recruit_dl_table dt,
	.dl_table.recruit_dl_table dd {
		padding: 20px 15px;
	}


}

@media screen and (min-width: 1024px) {
	.gnav_sp_logo {
		margin-bottom: 40px;
	}

	.header1 .gnav_pc,
	.header_subpage .gnav_pc {
		display: block;
	}

	.gnav_sp {
		display: none;
	}

	.Toggle {
		/* top: 60px; */
		transition: .3s;
		top: 0;
		display: none;
	}

	/*フッター*/
	/* .fnav {
		display: grid;
		column-gap: 50px;
		max-width: 478px;
		grid-template-columns: repeat(2, 1fr);
	} */

	.footer_right {
		width: 15%;
	}

	.fnav {
		max-width: 210px;
	}

	.fnav ul li a {
		padding:10px 30px 10px 0;
	}
}

