/*
Theme Name:ba-template
*/
@charset "UTF-8";
/*####################################

1. General
┣ Root
┣ Element
┣ Decoration
┣ Css Animation
┣ Plugin Overwrite
┣ default.css Overwrite
┣ Other
2. Site Common Style
┣ Pagination
┣ Form
┣ 404 & Thanks
3. Header
4. Main
5. Footer
6. Common Style
┣ Single
┣ Section 
7.Module
8. Page

####################################*/
/*====================================

1. General

====================================*/
/*
Root
====================================*/
:root {
	/* メインカラー */
	--mainColor1: #F18B01;
	/* メインカラー */
	--mainColor2:#FDD000;
	/*====== 背景カラー ======*/
	/* コンテンツ背景カラー */
	--contentsBg: #FFFBEC;
	/* 下層ページトップ背景カラー */
	--lowerTopBg: #D7E1FA;
	/* 表組み項目名背景カラー */
	--tableItemBg: #F0F5FA;
	/* フォーム項目名背景カラー */
	--formItemBg: #F0F5FA;
	/* カテゴリーリンク背景カラー */
	--categoryLinkBg: #D7E1FA;
	/* メール問い合わせボタン背景カラー */
	--mailBtnBg: #022993;
	/*====== テキストカラー ======*/
	/* テキストカラー */
	--textColor: #341911;
	/* リンクテキストカラー */
	--linkTextColor: #0c4876;
	/*====== ページネーションカラー ======*/
	/* ページネーションテキスト、矢印カラー */
	--pnColor: #aaa;
	/* ページネーションhoverテキスト、矢印カラー */
	--pnHoverColor: #333;
	/* ページネーションCurrentテキスト、矢印カラー */
	--pnCurrentColor: #333;
	/* ページネーションhover背景カラー */
	--pnHoverBg: #f6f6f6;
	/* ページネーションCurrent背景カラー */
	--pnCurrentBg: #f6f6f6;
	/*====== フォント ======*/
	--gothic: "NotoSansJp", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	--mincho: "NotoSerifJp", "游明朝", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	/*====== width ======*/
	--maxWidth768: 768px;
	--maxWidth500: 500px;
	--maxWidth375: 375px;
	--maxWidth300: 300px;
	/*====== other ======*/
}
/*
Element
====================================*/
body {
	color: var(--textColor);
}
/*
Decoration
====================================*/
/*
Css Animation
====================================*/
/* fade */
.css_fade {
	opacity: 0;
	animation-name: css_fade;
	animation-duration: 3s;
	animation-timing-function: ease;
	animation-delay: 1s;
	animation-direction: normal;
	animation-fill-mode: forwards;
}
@keyframes css_fade {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
/* text fade */
.css_textSplitFade {
	opacity: 0;
}
.css_textSplitFade > span {
	opacity: 0;
	animation: css_textSplitFade 1s ease-out forwards;
}
@keyframes css_textSplitFade {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
.zoom_img.zoom_in {
	animation: zoomIn 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
@keyframes zoomIn {
	0% {
		transform: scale(0.8);
		opacity: 0;
	}
	100% {
		transform: scale(1);
		opacity: 1;
	}
}
/*
Plugin Overwrite
====================================*/
/*
Slick
---------------------------------------------------------------*/
.top_mv .slick-arrow::before {
	border-color: var(--mainColor);
}
.top_mv .slick-dots li.slick-active button {
	background: var(--mainColor);
}
/*
default.css Overwrite
====================================*/
/*
Font
====================================*/
.roboto-light {
	font-family: "Roboto", sans-serif;
	font-weight: 300;
	font-style: normal;
}

.roboto-regular {
	font-family: "Roboto", sans-serif;
	font-weight: 400;
	font-style: normal;
}

.roboto-medium {
	font-family: "Roboto", sans-serif;
	font-weight: 500;
	font-style: normal;
}

.roboto-bold {
	font-family: "Roboto", sans-serif;
	font-weight: 700;
	font-style: normal;
}

.roboto-black {
	font-family: "Roboto", sans-serif;
	font-weight: 900;
	font-style: normal;
}
/*====================================

2. Site Common Style

====================================*/
/*
Pagination
====================================*/
/*
List
---------------------------------------------------------------*/
.pn_list {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 56px;
	border-radius: 6px;
	background: #fff;
	box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.1);
	margin: 110px 0 0;
}
.pn_list .listArrow::before, .pn_list .listArrow::after {
	content: '';
	position: absolute;
	top: calc(50% + 3px);
	width: 9px;
	height: 9px;
	-webkit-transform: rotate(45deg) translate(-50%, -50%);
	transform: rotate(45deg) translate(-50%, -50%);
	transition: .3s;
}
.pn_list .listPagerBlk {
	display: flex;
	align-items: center;
	gap: 11px;
}
.pn_list .listPagerPrevious::before {
	border-bottom: solid 2px var(--pnColor);
	border-left: solid 2px var(--pnColor);
	left: calc(50% - 2px);
}
.pn_list .listPagerBlk a, .pn_list .listPagerBlk span {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 35px;
	width: 35px;
	border-radius: 5px;
}
.pn_list .listPagerBlk span.listPagerNum {
	color: #fff;
	background: var(--mainColor1);
}
.pn_list .listPagerNext::before {
	border-top: solid 2px var(--pnColor);
	border-right: solid 2px var(--pnColor);
	right: calc(50% - 2px);
}
@media screen and (min-width: 1025px) {
	.pn_list .listPagerPrevious:hover::before {
		border-bottom: solid 2px var(--pnHoverColor);
		border-left: solid 2px var(--pnHoverColor);
	}
	.pn_list .listPagerBlk a:hover {
		color: var(--pnHoverColor);
		background: #FFEC94;
		opacity: 1;
	}
	.pn_list .listPagerNext:hover::before {
		border-top: solid 2px var(--pnHoverColor);
		border-right: solid 2px var(--pnHoverColor);
	}
}
.pn_list .listFirstBlk, .pn_list .listLastBlk {
	width: 100px;
	height: 100%;
}
.pn_list .listFirstBlk a, .pn_list .listLastBlk a {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
}
@media screen and (min-width: 1025px) {
	.pn_list .listFirstBlk a:hover, .pn_list .listLastBlk a:hover {
		background: var(--pnHoverBg);
	}
}
.pn_list .listFirstBlk a {
	border-right: solid 1px #E2E6EB;
}
.pn_list .listFirstBlk a::before {
	border-bottom: solid 2px var(--pnColor);
	border-left: solid 2px var(--pnColor);
	left: 50%;
}
.pn_list .listFirstBlk a::after {
	border-bottom: solid 2px var(--pnColor);
	border-left: solid 2px var(--pnColor);
	left: calc(50% - 7px);
}
@media screen and (min-width: 1025px) {
	.pn_list .listFirstBlk a:hover::before {
		border-bottom: solid 2px var(--pnHoverColor);
		border-left: solid 2px var(--pnHoverColor);
	}
	.pn_list .listFirstBlk a:hover::after {
		border-bottom: solid 2px var(--pnHoverColor);
		border-left: solid 2px var(--pnHoverColor);
	}
}
.pn_list .listLastBlk a {
	border-left: solid 1px #E2E6EB;
}
.pn_list .listLastBlk a::before {
	border-top: solid 2px var(--pnColor);
	border-right: solid 2px var(--pnColor);
	right: 50%;
}
.pn_list .listLastBlk a::after {
	border-top: solid 2px var(--pnColor);
	border-right: solid 2px var(--pnColor);
	right: calc(50% - 7px);
}
@media screen and (min-width: 1025px) {
	.pn_list .listLastBlk a:hover::before {
		border-top: solid 2px var(--pnHoverColor);
		border-right: solid 2px var(--pnHoverColor);
	}
	.pn_list .listLastBlk a:hover::after {
		border-top: solid 2px var(--pnHoverColor);
		border-right: solid 2px var(--pnHoverColor);
	}
}
@media screen and (max-width: 1024px) {
	.pn_list {
		margin: 60px 0 0;
	}
	.pn_list .listArrow::before, .pn_list .listArrow::after {
		top: calc(50% + 2px);
	}
	.pn_list .listPagerBlk {
		gap: 8px;
	}
	.pn_list .listPagerPrevious::before {
		left: calc(50% - 2px);
	}
	.pn_list .listPagerBlk a, .pn_list .listPagerBlk span {
		height: 30px;
		width: 26px;
		font-size: 14px;
	}
	.pn_list .listPagerBlk span.listPagerNum {}
	.pn_list .listPagerNext::before {}
	.pn_list .listFirstBlk, .pn_list .listLastBlk {
		width: 40px;
	}
	.pn_list .listFirstBlk a, .pn_list .listLastBlk a {}
	.pn_list .listFirstBlk a {}
	.pn_list .listFirstBlk a::before {
		left: calc(50% + 2px);
	}
	.pn_list .listFirstBlk a::after {
		left: calc(50% - 5px);
	}
	.pn_list .listLastBlk a {}
	.pn_list .listLastBlk a::before {
		right: calc(50% + 2px);
	}
	.pn_list .listLastBlk a::after {
		right: calc(50% - 5px);
	}
}
/*
Detail
---------------------------------------------------------------*/
.pn_detail {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	height: 55px;
	margin: 75px 0 0;
}
.pn_detail > * {
	height: 100%;
}
.pn_detail .detailpreviousBlk, .pn_detail .detailNextBlk {
	width: 60px;
	height: 60px;
}
.pn_detail .detailpreviousBlk a, .pn_detail .detailNextBlk a {
	position: relative;
	display: block;
	height: 100%;
	background-color: var(--mainColor2);
	border-radius: 100px;
}
.pn_detail a {
}
@media screen and (min-width: 1025px) {
	.pn_detail a:hover {
	}
}
.pn_detail .detailpreviousBlk {}
.pn_detail .detailpreviousBlk a {}
.pn_detail .detailpreviousBlk a::before, .pn_detail .detailpreviousBlk a::after {
	content: '';
	position: absolute;
	top: calc(50% + 3px);
	width: 9px;
	height: 9px;
	border-bottom: solid 2px var(--textColor);
	border-left: solid 2px var(--textColor);
	-webkit-transform: rotate(45deg) translate(-50%, -50%);
	transform: rotate(45deg) translate(-50%, -50%);
	transition: .3s;
}
.pn_detail .detailpreviousBlk a::before {
	left: 50%;
}
.pn_detail .detailpreviousBlk a::after {
	left: calc(50% - 7px);
}
@media screen and (min-width: 1025px) {
	.pn_detail .detailpreviousBlk a:hover::before, .pn_detail .detailpreviousBlk a:hover::after {
		border-bottom: solid 2px var(--pnHoverColor);
		border-left: solid 2px var(--pnHoverColor);
	}
}
.pn_detail .detailNextBlk {}
.pn_detail .detailNextBlk a {}
.pn_detail .detailNextBlk a::before, .pn_detail .detailNextBlk a::after {
	content: '';
	position: absolute;
	top: calc(50% + 3px);
	width: 9px;
	height: 9px;
	border-top: solid 2px var(--textColor);
	border-right: solid 2px var(--textColor);
	-webkit-transform: rotate(45deg) translate(-50%, -50%);
	transform: rotate(45deg) translate(-50%, -50%);
	transition: .3s;
}
.pn_detail .detailNextBlk a::before {
	right: 50%;
}
.pn_detail .detailNextBlk a::after {
	right: calc(50% - 7px);
}
@media screen and (min-width: 1025px) {
	.pn_detail .detailNextBlk a:hover::before, .pn_detail .detailNextBlk a:hover::after {
		border-top: solid 2px var(--pnHoverColor);
		border-right: solid 2px var(--pnHoverColor);
	}
}
.pn_detail .detailBackBlk {}
.pn_detail .detailBackBlk a {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 60px;
}
@media screen and (max-width: 1024px) {
	.pn_detail {
		margin: 60px 0 0;
	}
	.pn_detail > * {}
	.pn_detail .detailpreviousBlk, .pn_detail .detailNextBlk {
		width: 50px;
		height: 50px;
	}
	.pn_detail .detailpreviousBlk a, .pn_detail .detailNextBlk a {
		width: 100%;
	}
	.pn_detail a {}
	.pn_detail .detailpreviousBlk {}
	.pn_detail .detailpreviousBlk a {}
	.pn_detail .detailpreviousBlk a::before, .pn_detail .detailpreviousBlk a::after {}
	.pn_detail .detailpreviousBlk a::before {}
	.pn_detail .detailpreviousBlk a::after {}
	.pn_detail .detailNextBlk {}
	.pn_detail .detailNextBlk a {}
	.pn_detail .detailNextBlk a::before, .pn_detail .detailNextBlk a::after {}
	.pn_detail .detailNextBlk a::before {}
	.pn_detail .detailNextBlk a::after {}
	.pn_detail .detailBackBlk {}
	.pn_detail .detailBackBlk a {
		width: 200px;
		height: 55px;
	}
}
/*
Form
====================================*/
/*
Input
----------------------------------------------------------------*/
.form_input {
}
.form_input .inputRow {
	display: flex;
	justify-content: space-between;
	gap: 75px;
}
.form_input .inputItem {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 210px;
}
.form_input .inputItem ._must {
	font-size: 13px;
	color: #fff;
	padding: 2px 10px;
	background-color: var(--mainColor1);
	border-radius: 50px;
}
.form_input .inputValue {
	flex: 1;
	padding: 15px;
	display: flex;
	align-items: center;
}
.form_input .wpcf7-form-control-wrap {
	width: 100%;
}
/* input[text, tel, email], textarea */
.form_input input[type="text"], .form_input input[type="tel"], .form_input input[type="email"], .form_input textarea {
	width: 100%;
	height: 50px;
	border-radius: 4px;
	border: solid #BCBCBC 1px;
	padding: 0px 10px;
	background-color: #fff;
}
.form_input textarea {
	width: 100% !important;
	height: auto;
	padding: 10px;
}
.form_input input::placeholder, .form_input textarea::placeholder {
	color: #b4b7bc;
}
/* input[checkbox, radio] */
.form_input input[type="checkbox"], .form_input input[type="radio"] {
	width: 16px;
	height: 16px;
	cursor: pointer;
}
.form_input .wpcf7-form-control {
	display: flex;
	gap: 40px;
	gap: clamp(1.25rem, -6.071rem + 11.43vw, 2.5rem);
}
.form_input .wpcf7-list-item {
	margin: 0;
}
.form_input .wpcf7-list-item label {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}
.form_input .wpcf7-list-item-label {
}
/* input[file] */
.form_input input[type="file"] {
	font-size: 14px;
}
/* validation */
.form_input .wpcf7-not-valid-tip {
	width: 100%;
	font-size: 14px;
	margin: 10px 0 0;
}
/* agree */
.form_agree {
	margin: 40px 0 0;
	text-align: center;
}
.form_agree .wpcf7-list-item {
	margin: 0;
}
.form_agree label {
	display: flex;
	align-items: center;
	gap: 12px;
}
.form_agree .wpcf7-list-item-label {
}
.form_agree input[type="checkbox"] {
	width: 20px;
	height: 20px;
}
/* submit */
.form_submit {
	position: relative;
	width: 350px;
	text-align: center;
	margin: 40px auto 0;
}
.form_submit input[type="submit"] {
	width: 100%;
	height: 80px;
	font-size: 18px;
	color: #fff;
	transition: .3s;
	background: var(--mainColor1);
	border-radius: 300px;
}
@media screen and (min-width: 1025px) {
	.form_submit input[type="submit"]:hover {
		opacity: .7;
	}
}
.form_submit .wpcf7-spinner {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}
@media screen and (max-width: 1024px) {
	.form_input {
	display: grid;
	gap: 20px;
	}
	.form_input .inputRow {
		flex-flow: wrap;
		gap: 10px;
	}
	.form_input .inputRow:last-child {
		border-bottom: transparent;
	}
	.form_input .inputItem {
		justify-content: flex-start;
		width: 100%;
		gap: 10px;
	}
	.form_input .inputItem ._must {
    font-size: 12px;
    padding: 2px 8px;
}
	.form_input .inputValue {
    padding: initial;
}
	.form_input .wpcf7-form-control-wrap {}
	/* input[text, tel, email], textarea */
	.form_input input[type="text"], .form_input input[type="tel"], .form_input input[type="email"], .form_input textarea {
		font-size: 16px;
	}
	.form_input textarea {}
	.form_input input::placeholder, .form_input textarea::placeholder {}
	/* input[checkbox, radio] */
	.form_input input[type="checkbox"], .form_input input[type="radio"] {}
	.form_input .wpcf7-form-control {
    flex-flow: column;
    gap: 6px;
}
	.form_input .wpcf7-list-item {}
	.form_input .wpcf7-list-item label {}
	.form_input .wpcf7-list-item-label {
}
	/* input[file] */
	.form_input input[type="file"] {}
	/* validation */
	.form_input .wpcf7-not-valid-tip {}
	/* agree */
	.form_agree {}
	.form_agree .wpcf7-list-item {}
	.form_agree label {}
	.form_agree .wpcf7-list-item-label {}
	.form_agree input[type="checkbox"] {}
	/* submit */
	.form_submit {
		margin: 30px auto 0;
		width: 100%;
		max-width: var(--maxWidth300);
	}
	.form_submit input[type="submit"] {
		height: 55px;
	}
	.form_submit .wpcf7-spinner {}
}
/*
Privacy Policy
----------------------------------------------------------------*/
.form_pp {
	margin: 60px 0 0;
	width: 100%;
	height: 250px;
	border-radius: 5px;
	background: #fff;
	border: 1px solid #BCBCBC;
	padding: 25px 25px 15px;
	overflow: auto;
}
.form_pp dl {}
.form_pp dt {
	font-size: 15px;
}
.form_pp dl dt:not(:first-child){
    margin: 30px 0 0;
}
.form_pp dl dt:first-child{
    margin: 0 0 30px;
}
.form_pp dd {
	font-size: 13px;
	line-height: 22px;
}
@media screen and (max-width: 1024px) {
	.form_pp {
		margin: 60px 0 0;
		width: 100%;
		height: 250px;
		padding: 30px 15px;
	}
	.form_pp dl {}
	.form_pp dt {
		font-size: 15px;
	}
	.form_pp dd {}
}
/*
Thanks & 404
====================================*/
.thanks_section {
	overflow: hidden;
	padding: 80px 0 150px;
}
.thanks_section .inner {}
.thanks_section .blk {}
.thanks_section .headBlk {
	width: 100vw;
	margin: 0 calc(50% - 50vw);
	padding: 20px 0;
	background: var(--contentsBg);
}
.thanks_section .head {
	text-align: center;
	font-size: 24px;
}
.thanks_section .mainBlk {
	margin: 35px 0 0;
}
.thanks_section .mainDesc {
	font-size: 14px;
	line-height: 26px;
	text-align: center;
}
.error_section {
	overflow: hidden;
	padding: 80px 0 150px;
}
.error_section .inner {}
.error_section .blk {}
.error_section .headBlk {
	width: 100vw;
	margin: 0 calc(50% - 50vw);
	padding: 20px 0;
	background: var(--contentsBg);
}
.error_section .head {
	text-align: center;
	font-size: 30px;
	font-weight: 600;
}
.error_section .head span {
	font-size: 22px;
	display: block;
}
.error_section .mainBlk {
	margin: 35px 0 0;
}
.error_section .mainDesc {
	font-size: 14px;
	line-height: 26px;
	text-align: center;
}
.thanks_section .linkBlk, .error_section .linkBlk {
	text-align: center;
	margin: 45px 0 0;
}
.thanks_section .linkBlk a, .error_section .linkBlk a {
	display: inline-block;
	width: 250px;
	line-height: 40px;
	font-size: 14px;
	border: solid 1px var(--mainColor1);
	border-radius: 30px;
}
@media screen and (min-width: 1025px) {
	.thanks_section .linkBlk a:hover, .error_section .linkBlk a:hover {
		opacity: 1;
		background: var(--mainColor1);
		color: #fff;
	}
}
@media screen and (max-width: 1024px) {
	.thanks_section {
		padding: 60px 0 90px;
	}
	.thanks_section .inner {}
	.thanks_section .blk {}
	.thanks_section .headBlk {
		padding: 15px 0;
	}
	.thanks_section .head {
		text-align: center;
		font-size: 20px;
	}
	.thanks_section .mainBlk {
		margin: 30px 0 0;
	}
	.thanks_section .mainDesc {
		line-height: 24px;
	}
	.thanks_section .linkBlk {
		margin: 40px 0 0;
	}
	.error_section {
		padding: 40px 0 90px;
	}
	.error_section .inner {}
	.error_section .blk {}
	.error_section .headBlk {}
	.error_section .head {
		font-size: 24px;
	}
	.error_section .head span {
		font-size: 16px;
	}
	.error_section .mainBlk {
		margin: 30px 0 0;
	}
	.error_section .mainDesc {
		line-height: 24px;
	}
	.thanks_main .linkBlk a, .error_section .linkBlk a {}
}
/*====================================

3. Header

====================================*/
header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99999;
	width: 100%;
	height: 90px;
	height: clamp(4.375rem, -2.946rem + 11.43vw, 5.625rem);
	box-shadow: 0 3px 6px rgb(0 0 0 / 16%);
	background: white;
}
header .inner {
	height: 100%;
	padding: 0 0px 0 30px;
}
header .blk {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0 30px;
	height: 100%;
}
header .logoBlk {
	flex-shrink: 0;
	display: flex;
}
header .logoBlk a {
    display: flex;
    align-items: center;
    gap: 10px;
}
header .logoBlk a img {
	height: 60px;
	height: clamp(3.125rem, -0.536rem + 5.71vw, 3.75rem);
}
header .logoBlk span{
    font-size: 12px;
    color: #6B6B6B;
    line-height: 17px;
}
@media screen and (min-width: 1025px) {
	header .menuBlk {
		display: flex;
		flex-shrink: 0;
		height: 100%;
	}
	header .menuBlk nav {}
	header .menuBlk nav > ul {
		display: flex;
		gap: 30px;
		gap: clamp(1.25rem, -2.411rem + 5.71vw, 1.875rem);
		height: 100%;
	}
	header .menuBlk nav > ul > li {
		position: relative;
		display: flex;
		align-items: center;
		height: 100%;
	}
	header .menuBlk nav > ul > li > a {
		font-size: 16px;
		font-size: clamp(0.875rem, 0.143rem + 1.14vw, 1rem);
		font-weight: bold;
	}
	header .menuBlk nav > ul > li._parent > a{
		position: relative;
		display: inline-block;
		/* width: 12px; */
		/* height: 6px; */
	}
	header .menuBlk nav > ul > li._parent > a::before,
	header .menuBlk nav > ul > li._parent > a::after {
	  content: "";
	  position: absolute;
	  bottom: -10px;
	  left: calc(50% - 1px);
	  width: 2px;
	  height: 8.4px;
	  border-radius: 9999px;
	  background-color: #341911;
	  transform-origin: 50% calc(100% - 1px);
	}
	header .menuBlk nav > ul > li._parent > a::before {
	  transform: rotate(51.35deg);
	}
	header .menuBlk nav > ul > li._parent > a::after {
	  transform: rotate(-51.35deg);
	}
	header .menuBlk nav > ul > li > a._active {
		color: var(--mainColor1);
	}
	header .menuBlk nav > ul > li._contact._mail > a._active > span{
		color:var(--textColor);
	}
	header .menuBlk nav > ul > li > a:hover {}
	@media screen and (min-width: 1025px) {
		header .menuBlk nav > ul > li a:hover {
			color: var(--mainColor1);
		}
	}
	header .menuBlk nav > ul > li > ul {
		position: absolute;
		top: 80%;
		left: -30px;
		left: clamp(-1.25rem, 1.08rem + -3.64vw, -1.875rem);
		display: flex;
		gap: 15px;
		flex-direction: column;
		background: #fff;
		box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
		z-index: 1;
		padding: clamp(1.25rem, -1.08rem + 3.64vw, 1.875rem);
		min-width: 200px;
		opacity: 0;
		visibility: hidden;
		transition: .3s;
		pointer-events: none;
	}
	header .menuBlk > nav > ul > li._parent:hover > ul {
		top: 100%;
		opacity: 1;
		visibility: visible;
		pointer-events: initial;
	}
	header .menuBlk nav > ul > li > ul > li {}
	header .menuBlk nav > ul > li > ul > li > a {
		font-size: 14px;
	}
	header .menuBlk nav > ul > li > ul > li > a:hover {}
	header .menuBlk nav > ul > li._contact {}
	header .menuBlk nav > ul > li._contact._tel {}
	header .menuBlk nav > ul > li._contact._mail {}
	header .menuBlk nav > ul > li._contact a {
		display: flex;
		align-items: center;
	}
	header .menuBlk nav > ul > li._contact._tel a {
		flex-flow: column;
		line-height: 1;
		font-size: 27px;
		font-size: clamp(1.5rem, 0.402rem + 1.71vw, 1.688rem);
	}
	header .menuBlk nav > ul > li._contact._tel a span._num{
		padding: 0 0 0 27px;
		background-image: url(./images/icon_tel_orange.svg);
		background-repeat: no-repeat;
		background-position: left top 50%;
		background-size: 24px;
		color: var(--mainColor1);
	}
	header .menuBlk nav > ul > li._contact._tel a span._time{
		font-size: 12;
		font-size: clamp(0.688rem, 0.321rem + 0.57vw, 0.75rem);
		padding: 5px 0 0;
	}
	header .menuBlk nav > ul > li._contact._mail a {
		display: grid;
		place-items: center;
		width: 185px;
		width: clamp(10rem, 0.848rem + 14.29vw, 11.563rem);
		height: 100%;
		font-size: 16px;
		font-size: clamp(0.875rem, 0.409rem + 0.73vw, 1rem);
		background: var(--mainColor2);
		padding: 0 0 5px;
	}
	@media screen and (min-width: 1025px) {
		header .menuBlk nav > ul > li._contact._mail a:hover {
			color:initial;
		}
	}
	header .menuBlk nav > ul > li._contact._mail > a > span {
		padding: 35px 0 0;
		line-height: 1;
		background-image: url(./images/icon_mail.svg);
		background-repeat: no-repeat;
		background-position: top;
		background-size: 30px;
		background-size: clamp(1.563rem, -0.268rem + 2.86vw, 1.875rem);
	}
}
@media screen and (max-width: 1024px) {
	header {
		height: 55px;
		box-shadow: none;
	}
	header .inner {
		background: white;
		padding: 0 8px 0 4%;
		box-shadow: 0 2px 10px rgb(0 0 0 / 5%);
		margin: auto;
	}
	header .blk {}
	header .logoBlk {}
	header .logoBlk a {}
	header .logoBlk a img {
		height: 30px;
	}
	header .menuBlk {
		position: absolute;
		top: var(--headerH, 55px);
		left: 0;
		height: calc(100dvh - var(--headerH, 55px));
		z-index: -1;
		width: 100%;
		background: white;
		overflow: auto;
		padding: 20px 0 60px;
		opacity: 0;
		visibility: hidden;
		transition: .3s;
		display: block;
		flex-shrink: unset;
	}
	header .menuBlk::-webkit-scrollbar {
		display: none;
	}
	header._menuOpen .menuBlk {
		opacity: 1;
		visibility: visible;
	}
	header .menuBlk > * {
		width: 92%;
		max-width: var(--maxWidth768);
		margin: auto;
	}
	header .menuBlk nav {}
	header .menuBlk nav > ul {
		display: block;
		height: auto;
	}
	header .menuBlk nav > ul > li {
		position: relative;
		display: block;
		height: auto;
		border-bottom: 1px solid #ccc;
	}
	header .menuBlk nav > ul > li > span {
		position: absolute;
		top: 0;
		right: 0;
		height: 100%;
		width: 70px;
	}
	header .menuBlk nav > ul > li > a {
		display: flex;
		font-size: 15px;
		padding: 15px 10px;
	}
	header .menuBlk nav > ul > li._parent > a {
		position: relative;
	}
	header .menuBlk nav > ul > li._parent::before {
		content: '';
		border-style: solid;
		border-width: 7px 6px 0px 6px;
		border-color: var(--mainColor2) transparent transparent transparent;
		position: absolute;
		top: 25px;
		right: 15px;
		transform: translateY(0%);
		transition: .3s;
	}
	header .menuBlk nav > ul > li._parent::before {
		transform: translateY(0%);
	}
	header .menuBlk nav > ul > li._parent._childOpen::before {
		transform: rotateX(180deg);
	}
	header .menuBlk nav > ul > li > ul {
		display: flex;
		flex-direction: column;
		gap: 0;
		margin: 0;
		padding: 0 0 0 20px;
		transition: .3s;
		position: unset;
		background: unset;
		box-shadow: unset;
		min-width: unset;
		opacity: unset;
		visibility: unset;
	}
	header .menuBlk nav > ul > li > ul {
		overflow-y: scroll;
		-ms-overflow-style: none;
		scrollbar-width: none;
	}
	header .menuBlk nav > ul > li > ul::-webkit-scrollbar {
		display: none;
	}
	header .menuBlk > nav > ul > li._parent:hover > ul {
		top: 100%;
		opacity: unset;
		visibility: unset;
	}
	header .menuBlk nav > ul > li._childOpen > ul {
		gap: 15px 0;
		margin: 5px 0 20px;
	}
	header .menuBlk nav > ul > li > ul > li {
		height: 0;
		transition: .3s;
	}
	header .menuBlk nav > ul > li._childOpen > ul > li {
		height: auto;
	}
	header .menuBlk nav > ul > li > ul > li > a {
		font-size: 15px;
		opacity: 0;
		visibility: hidden;
	}
	header .menuBlk nav > ul > li._childOpen > ul > li > a {
		position:relative;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		padding: 0 0 0 15px;
	}
	header .menuBlk nav > ul > li._childOpen > ul > li > a::before{
		position:absolute;
		content:"";
		position:absolute;
		top: 50%;
		left: 0px;
		transform: translate(0, -50%);
		width: 10px;
		height: 10px;
		background-color: var(--mainColor2);
		border-radius: 50px;
	}
	header .menuBlk nav > ul > li._contact {
		border-bottom: none;
	}
	header .menuBlk nav > ul > li._contact > a {
		width: 250px !important;
		margin: auto;
	}
	header .menuBlk nav > ul > li._contact._tel {
		margin: 40px 0 0;
	}
	header .menuBlk nav > ul > li._contact._tel > a {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 5px 0;
		flex-flow: wrap;
		padding: 20px 0;
		font-size: 26px;
		line-height: 23px;
		font-weight: 500;
		border: 1px solid var(--mainColor1);
		color: var(--mainColor1);
		background: unset;
	}
	header .menuBlk nav > ul > li._contact._tel > a > ._num {
		padding: 0 0 0 25px;
		background-image: url(./images/icon_tel_orange.svg);
		background-repeat: no-repeat;
		background-position: left top 100%;
		background-size: 22px;
		font-weight: bold;
	}
	header .menuBlk nav > ul > li._contact._tel > a > ._time {
		width: 100%;
		font-size: 14px;
		text-align: center;
		line-height: 1;
		margin: 7px 0 0;
		color: var(--textColor);
	}
	header .menuBlk nav > ul > li._contact._tel > a > img {
		height: 20px;
		margin: 4px 0 0;
		margin: 0 2px 0 0;
	}
	header .menuBlk nav > ul > li._contact._mail {
		margin: 15px auto 0;
	}
	header .menuBlk nav > ul > li._contact._mail > a {
		display: grid;
		place-items: center;
		padding: 15px 0;
		box-shadow: 0 3px 6px rgb(0 0 0 / 18%);
		height: auto;
		color: white;
		background: var(--mainColor2);
		color: var(--textColor);
		font-size: 17px;
		font-weight: bold;
	}
	header .menuBlk nav > ul > li._contact._mail > a > img {
		height: 20px;
	}
	header .menuBlk nav > ul > li._contact._mail > a > span {
		padding: 30px 0 0;
		background-image: url(./images/icon_mail.svg);
		background-repeat: no-repeat;
		background-position: left 50% top;
		background-size: 30px;
	}
	header .mbMenuBlk {
		position: relative;
		height: 100%;
		max-height: 40px;
		aspect-ratio: 1/1;
		cursor: pointer;
		background-color: var(--mainColor1);
		border-radius: 7px;
	}
	/*header .mbMenuBlk::before {
	content: 'MENU';
	color: #363A4D;
	font-size: 10px;
	position: absolute;
	top: 0;
	right: 0;
	right: 14px;
	top: 11px;
}*/
	header .mbMenuBdrBlk, .mbMenuBdrBlk span {
		display: inline-block;
		box-sizing: border-box;
	}
	header .mbMenuBdrBlk {
		position: absolute;
		top: 50%;
		left: 50%;
		width: 22px;
		height: auto;
		transform: translate(-50%, -50%);
	}
	header .mbMenuBdrBlk:focus:not(:focus-visible) {
		outline: none;
	}
	header .mbMenuBdrBlk::before, .mbMenuBdrBlk::after {
		content: '';
	}
	header .mbMenuBdrBlk::before, .mbMenuBdrBlk::after, .mbMenuBdrBlk span {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 2px;
		background: #fff;
		border-radius: 10px;
		transition: .2s;
	}
	header .mbMenuBdrBlk::before {
		transform: rotate(45deg) scaleX(0);
	}
	header .mbMenuBdrBlk::after {
		transform: rotate(-45deg) scaleX(0);
	}
	header .mbMenuBdrBlk span:nth-of-type(1) {
		top: -8px;
		transition-delay: .2s;
	}
	header .mbMenuBdrBlk span:nth-of-type(2) {
		top: 0px;
		transition-delay: .2s;
	}
	header .mbMenuBdrBlk span:nth-of-type(3) {
		top: 8px;
		transition-delay: .2s;
	}
	header._menuOpen .mbMenuBdrBlk::before {
		transform: rotate(45deg) scaleX(1);
		transition-delay: .2s;
	}
	header._menuOpen .mbMenuBdrBlk::after {
		transform: rotate(-45deg) scaleX(1);
		transition-delay: .2s;
	}
	header._menuOpen .mbMenuBdrBlk span {
		transform: scaleX(0);
		transition-delay: 0s;
	}
}
/*====================================

4. Main

====================================*/
main {
	margin: var(--headerH, clamp(4.063rem, 0.568rem + 5.45vw, 5rem)) 0 0;
	overflow: hidden;
}
@media screen and (max-width: 1024px) {
	main {
		margin: var(--headerH, 55px) 0 0;
	}
}
/*====================================

5. Footer

====================================*/
footer {
	padding: 60px 0 30px;
}
footer .inner {}
footer .blk {}
footer .mainBlk {
	justify-content: space-between;
	padding: 0 0 30px;
	border-bottom: solid 1px #B7B7B7;
}
footer .mainLeftBlk {}
footer .mainLogoBlk {}
footer .mainLogoBlk a {}
footer .mainLogoBlk img {
	height: 95px;
}
footer .mainInfoBlk {
	margin: 20px 0 0;
}
footer .mainInfoBlk p {
	font-size: 15px;
	line-height: 25px;
}
footer .mainInfoBlk p a {}
footer .menuBlk {display: flex;gap: 60px;gap: clamp(1.875rem, -9.107rem + 17.14vw, 3.75rem);}
footer .menuBlk > ul {
	gap: 40px;
	gap: clamp(1.25rem, -6.071rem + 11.43vw, 2.5rem);
}
footer .menuBlk > ul > li {}
footer .menuBlk > ul > li > a, footer .menuBlk > ul > div > li > a{
	font-weight: 700;
}
footer .menuBlk > ul > div{
    display: grid;
    gap: 15px;
}
footer .menuBlk > ul > li a {
}
footer .menuBlk > ul > li > ul{
	display: grid;
	gap: 10px;
	margin: 15px 0 0;
}
footer .menuBlk > ul > li > ul > li {}
footer .menuBlk > ul > li > ul > li > a {}
footer .snsBlk {}
footer .snsBlk > ul {display: grid;gap: 10px;}
footer .snsBlk > ul > li {}
footer .snsBlk > ul > li > a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 240px;
    height: 55px;
    border: 1px solid #341911;
    border-radius: 200px;
}
footer .snsBlk > ul > li > a img {
	height: 25px;
}
footer .connectionBlk {
    padding: 25px 0 0;
}
footer .connectionBlk .connectionMainBlk{margin: 0;}
footer .connectionBlk .connectionMainLink{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    border: 1px solid #BABABA;
    max-width: 320px;
    padding: 10px;
    margin: 0 auto;
}
footer .connectionBlk .connectionMainLink img{
    width: 130px;
}
footer .connectionBlk .connectionMainTxt{
    font-size: 13px;
}
footer .copyrightBlk {
	margin: 20px 0 0;
}
footer .copyrightBlk p {
	font-size: 10px;
	text-align: center;
}
footer .recaptchaBlk {
	    margin: 6px 0 0;
}
footer .recaptchaBlk p {
	font-size: 10px;
	text-align: center;
}
@media screen and (max-width: 1024px) {
	footer {
	background-color: #fff;
	}
	footer .inner {}
	footer .blk {}
	footer .mainBlk {
		justify-content: center;
		gap: 35px;
		padding: 0 0 20px;
	}
	footer .mainLeftBlk {
		order: 2;
		width: 100%;
	}
	footer .mainLogoBlk {
		text-align: center;
	}
	footer .mainLogoBlk a {}
	footer .mainLogoBlk img {
		height: 40px;
	}
	footer .mainInfoBlk {
		margin: 15px 0 0;
	}
	footer .mainInfoBlk p {
		font-size: 14px;
		line-height: 1.6;
		text-align: center;
	}
	footer .mainInfoBlk p a {}
	footer .menuBlk {
		order: 1;
		width: 100%;
		flex: unset;
		text-align: center;
		flex-flow: column;
	}
	footer .menuBlk > ul {
		/* display: grid; */
		/* grid-template-columns: repeat(2, 1fr); */
		/* max-width: var(--maxWidth375); */
		margin: auto;
		gap: 10px 15px;
		justify-content: center;
	}
	footer .menuBlk > ul > li {
		text-align: center;
		/* width: 145px; */
	}
	footer .menuBlk > ul > div{
    grid-template-columns: repeat(2, 1fr);
}
	footer .menuBlk > ul > li a {}
	footer .menuBlk > ul > li > a {}
	footer .menuBlk > ul > li > ul {
		display: none;
	}
	footer .menuBlk > ul > li > ul > li {}
	footer .menuBlk > ul > li > ul > li > a {}
	footer .topSnsBlk {
		margin: 35px 0 0;
	}
	footer .topSnsBlk > ul {
		gap: 20px;
	}
	footer .topSnsBlk > ul > li {}
	footer .topSnsBlk > ul > li > a {}
	footer .topSnsBlk > ul > li > a img {
		height: 24px;
	}
	footer .snsBlk {}
	footer .snsBlk > ul {
    justify-content: center;
}
	footer .snsBlk > ul > li {}
	footer .snsBlk > ul > li > a {}
	footer .snsBlk > ul > li > a img {}
	footer .connectionBlk {
    padding: 20px 0 0;
}
	footer .connectionBlk .connectionMainBlk{}
	footer .connectionBlk .connectionMainLink{}
	footer .connectionBlk .connectionMainLink img{}
	footer .connectionBlk .connectionMainTxt{}
	footer .copyrightBlk {}
	footer .copyrightBlk p {}
	footer .recaptchaBlk {}
	footer .recaptchaBlk p {}
}
/*====================================

6. Common Style

====================================*/
/*
6.1 Single
====================================*/
.cmn_bgColor {
	background-color: var(--contentsBg);
}
.cmn_outer {
	padding: 90px 0;
}
.cmn_inner {
	max-width: 1180px;
	padding: 0 40px;
	margin: auto;
}
.cmn_inner._small {
	max-width: 750px;
	padding: 0;
}
.cmn_link1 {
	position: relative;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 300px;
	height: 60px;
	font-size: 18px;
	font-weight: bold;
	border-radius: 100px;
	background: var(--mainColor2);
}
.cmn_link1:before {
	content: '';
	position: absolute;
	top: 50%;
    right: 20px;
    transform: translate(0, -50%);
    width: 20px;
    height: 20px;
    background-image: url(./images/icon_circleArrow.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 20px;
    transition: .3s;
}
.cmn_menu{
    padding: 40px 0;
    background-color: var(--contentsBg);
}
.cmn_menu .inner{}
.cmn_menu .blk{}
.cmn_menu .mainBlk{
    gap: 25px;
    align-items: center;
    justify-content: center;
}
.cmn_menu .mainMenuBlk{}
.cmn_menu .mainMenuLink{
    position: relative;
    display: flex;
    justify-content: center;
    width: 200px;
    min-height: 60px;
    padding: 12px;
    border: 1px solid var(--mainColor1);
    background-color: #fff;
    font-weight: bold;
    border-radius: 8px;
}
.cmn_menu .mainMenuLink::before,
.cmn_menu .mainMenuLink::after {
	content: "";
	position: absolute;
	bottom: 12px;
	left: calc(50% - 1px);
	width: 2px;
	height: 8.4px;
	border-radius: 9999px;
	background-color: var(--mainColor1);
	transform-origin: 50% calc(100% - 1px);
}
.cmn_menu .mainMenuLink::before {
	transform: rotate(51.35deg);
}
.cmn_menu .mainMenuLink::after {
	transform: rotate(-51.35deg);
}
@media screen and (min-width: 1025px) {
	.cmn_link1:hover::before {
		right: 15px;
		opacity: .6;
	}
}
/*head*/
.cmn_head1 {
	font-size: 36px;
	text-align: center;
	font-weight: bold;
}
.cmn_head1 .cmnHeadSpan{
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 15px;
    color: var(--mainColor1);
}
/*title*/
.cmn_title1 {
	font-size: 40px;
	font-size: clamp(2.188rem, 0.357rem + 2.86vw, 2.5rem);
	line-height: 64px;
	line-height: clamp(3.75rem, 2.286rem + 2.29vw, 4rem);
	font-weight: bold;
}
/*head*/
.cmn_bgHead{
    width: 100%;
    font-size: 24px;
    background-color: var(--mainColor2);
    color: #fff;
    font-weight: bold;
    border-radius: 8px;
    padding: 12px 24px;
}
.cmn_yellowHead {
	    position: relative;
	    padding: 0 0 0 20px;
	    font-size: 22px;
	    font-weight: bold;
	}
.cmn_yellowHead::before {
		content:"";
		position:absolute;
		top: 50%;
		left: 0px;
		transform: translate(0, -50%);
		display: inline-block;
		width: 12px;
		height: 20px;
		border-radius: 0 100% 100% 0% / 50%;
		background: var(--mainColor2);
}
/*text*/
.cmn_text1 {
	font-size: 18px;
	line-height: 28px;
}
@media screen and (max-width: 1024px) {
	.cmn_outer {
		padding: 60px 0;
	}
	.cmn_inner {
		width: 92%;
		max-width: var(--maxWidth768);
		padding: 0;
	}
	.cmn_link1 {
		width: 100%;
		max-width: var(--maxWidth300);
		height: 55px;
		font-size: 1rem;
	}
	.cmn_link1:before {
	}
	.cmn_menu{
    padding: 40px 0;
}
	.cmn_menu .inner{
    max-width: inherit;
}
	.cmn_menu .blk{}
	.cmn_menu .mainBlk{
    gap: 15px 10px;
}
	.cmn_menu .mainMenuBlk{
}
	.cmn_menu .mainMenuLink{
    width: 160px;
    min-height: 50px;
    font-size: 13px;
    padding: 10px;
}
	.cmn_menu .mainMenuLink::before,
	.cmn_menu .mainMenuLink::after {
    bottom: 9px;
}
	.cmn_menu .mainMenuLink::before {}
	.cmn_menu .mainMenuLink::after {}
	/*head*/
	.cmn_head1 {
		font-size: 22px;
	}
	.cmn_head1 .cmnHeadSpan{
    font-size: 14px;
}
	.cmn_bgHead{
    font-size: 18px;
    padding: 5px 15px;
}
	.cmn_yellowHead {
	    position: relative;
	    padding: 0 0 0 18px;
	    font-size: 17px;
	    font-weight: bold;
	}
	.cmn_yellowHead::before {
		content:"";
		position:absolute;
		top: 50%;
		left: 0px;
		transform: translate(0, -50%);
		display: inline-block;
		width: 10px;
		height: 16px;
		border-radius: 0 100% 100% 0% / 50%;
		background: var(--mainColor2);
	}
	/*title*/
	.cmn_title1 {
		font-size: 22px;
		line-height: 1.6;
	}
	/*text*/
	.cmn_text1 {
		font-size: 14px;
		line-height: 1.6;
	}
}
/*
6.2 Section
====================================*/
/* lower top */
.cmn_top {
	height: 225px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}
#about .cmn_top {
	background-image: url(./images/about_mv.webp);
}
#program .cmn_top {
	background-image: url(./images/program_mv.webp);
}
#recruit .cmn_top {
	background-image: url(./images/recruit_mv.webp);
	background-position: 65% center;
}
#news .cmn_top, #informationDetail .cmn_top{
	background-image: url(./images/info_mv.webp);
}
#contact .cmn_top {
    background-color: var(--mainColor1);
    background-image: repeating-linear-gradient(135deg, #f99917, #f99917 8px, transparent 8px, transparent 16px);
}
.cmn_top._small {
	height: 150px;
	background: var(--mainColor1);
}
.cmn_top .inner {
	height: 100%;
}
.cmn_top .blk {
	height: 100%;
}
.cmn_top .headBlk {
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.cmn_top .head {
	font-size: 40px;
	line-height: 1;
	font-weight: 700;
	color: #fff;
}
.cmn_top .head span {
	font-size: 18px;
	display: block;
	text-align: center;
	margin: 15px 0 0;
}
/* table */
.cmn_table > dl {}
.cmn_table > dl > div {
	display: flex;
	flex-flow: wrap;
	gap: 65px;
	align-items: center;
	border-bottom: 1px solid #d7dce2;
}
.cmn_table > dl > div:last-child {
	border-bottom: transparent;
}
.cmn_table > dl > div > * {
	padding: 20px 0px;
	line-height: 26px;
}
.cmn_table > dl > div:first-child > *{
    padding: 0 0 20px;
}
.cmn_table > dl > div:last-child > * {
    padding: 20px 0 0;
}
.cmn_table > dl > div > dt {
	width: 100px;
	color: var(--mainColor1);
}
.cmn_table > dl > div > dd {
	flex: 1;
}
.cmn_table > dl > div > dd .tableFlexBlk{
    gap: 40px;
    justify-content: start;
}
.cmn_table > dl > div > dd .tableFlexBlk > div{
    display: grid;
    gap: 5px;
}
.cmn_table > dl > div > dd a {
	color: var(--linkTextColor);
}
.cmn_table > dl > div > dd a:not([href^="tel"]) {
	text-decoration: underline;
}
.cmn_table > dl > div > dd a[href^="tel"] {
	color: inherit;
}
/* 園についてページの表 */
.cmn_bgTable{
    margin: 35px 0 0;
}
.cmn_bgTable table{
    width: 100%;
}
.cmn_bgTable table, .cmn_bgTable td, .cmn_bgTable th {
	border: 1px solid #C4C4C4;
	border-collapse: collapse;
}
.cmn_bgTable td, .cmn_bgTable th {
	padding: 20px 24px;
}
.cmn_bgTable th {
	background: #FFEC94;
	place-content: center;
	width: 240px;
}
.cmn_bgTable td{}
/*園についてページ・保育プログラムページ　ポイントコンテンツ*/
.cmn_point{
    display: grid;
    gap: 15px;
    background-color: var(--contentsBg);
    padding: 35px;
    margin: 20px 0 0;
}
.cmn_point .mainTxt{
    position: relative;
    padding: 0 0 0 20px;
}
.cmn_point .mainTxt::before{
	position:absolute;
	content:"";
	/* top: 50%; */
	top: 7px;
	left: 0;
	/* transform: translate(0, -50%); */
	width: 12px;
	height: 12px;
	background-color: var(--mainColor2);
	border-radius: 30px;
}
@media screen and (max-width: 1024px) {
	.cmn_top {
		height: 150px;
	}
	.cmn_top._small {
		height: 100px;
	}
	.cmn_top .inner {}
	.cmn_top .blk {}
	.cmn_top .headBlk {}
	.cmn_top .head {
		font-size: 24px;
		line-height: 1;
	}
	.cmn_top .head span {
		font-size: 14px;
		margin: 8px 0 0;
	}
	/* table */
	.cmn_table > dl {
	}
	.cmn_table > dl > div {
		flex-flow: wrap;
		gap: 10px;
	}
	.cmn_table > dl > div:last-child {
		border-bottom: transparent;
	}
	.cmn_table > dl > div > * {
		line-height: 24px;
		font-size: 14px;
		padding: initial;
	}
	.cmn_table > dl > div > dt {
		width: 100%;
		border-right: transparent;
		padding: 15px 0 0;
	}
	.cmn_table > dl > div:first-child > *{
	    padding: initial;
	}
	.cmn_table > dl > div > dd {
		flex: unset;
		width: 100%;
		padding: 0 0 15px;
	}
	.cmn_table > dl > div:last-child > *{
    padding: initial;
}
	.cmn_table > dl > div:first-child > dd{
	    padding: 0 0 15px;
	}
	.cmn_table > dl > div:last-child > dt{
    padding: 15px 0 0;
}
	.cmn_table > dl > div > dd a {}
	.cmn_table > dl > div > dd a[href^="tel"] {}
	/* 園についてページの表 */
	.cmn_bgTable{
    margin: 20px 0 0;
}
	.cmn_bgTable table{}
	.cmn_bgTable table, .cmn_bgTable td, .cmn_bgTable th {
}
	.cmn_bgTable td, .cmn_bgTable th {
    padding: 15px;
}
	.cmn_bgTable th {
    width: 150px;
}
	.cmn_bgTable td{}
	/*園についてページ・保育プログラムページ　ポイントコンテンツ*/
	.cmn_point{
    gap: 10px;
    padding: 20px 15px;
}
	.cmn_point .mainTxt{padding: 0 0 0 15px;}
	.cmn_point .mainTxt::before{
    width: 10px;
    height: 10px;
}
}
/*====================================

7. Module

====================================*/
.mod_contact {
    padding: 80px 0 90px;
    background-color: #FFF8CE;
    background-image: repeating-linear-gradient(110deg, #fff4b1, #fff4b1 7px, transparent 7px, transparent 14px);
}
.mod_contact .inner {}
.mod_contact .blk {}
.mod_contact .headBlk {}
.mod_contact .head {}
.mod_contact .mainBlk {
    position: relative;
    max-width: 950px;
    margin: 30px auto 0;
    background-color: #fff;
    border-radius: 25px;
    padding: 40px;
}
.mod_contact .mainImgPartsBlk{
    position: absolute;
}
.mod_contact .mainImgPartsBlk._right{
    bottom: -30px;
    right: -35px;
    width: 120px;
}
.mod_contact .mainImgPartsBlk._right img{}
.mod_contact .mainImgPartsBlk._left{
    left: -35px;
    bottom: -30px;
    width: 120px;
}
.mod_contact .mainImgPartsBlk._left img{}
.mod_contact .mainTxt {
    text-align: center;
}
.mod_contact .mainInfoBlk {
    display: flex;
    margin: 30px 0 0;
    align-items: center;
    justify-content: center;
    gap: 50px;
}
.mod_contact .mainInfoLinkBlk {}
.mod_contact .mainInfoLinkBlk a{
    display: flex;
    flex-flow: column;
}
.mod_contact .mainInfoLinkBlk ._num {
    padding: 0 0 0 40px;
    background-image: url(./images/icon_tel_black.svg);
    background-repeat: no-repeat;
    background-position: left top 65%;
    background-size: 32px;
    font-size: 32px;
    line-height: 46px;
    font-weight: bold;
}
.mod_contact .mainInfoLinkBlk ._time {}
.mod_contact .mainSnsLinkBlk {}
.mod_contact .mainSnsLinkBlk img {} 
.mod_contact .mainSnsLink {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 7px;
    height: 80px;
    width: 280px;
    font-size: 18px;
    font-weight: bold;
    border-radius: 250px;
    background-color: var(--mainColor2);
}
@media screen and (min-width: 1025px) {
	.mod_modal .closeBtn:hover {
		background: #989EA7;
		opacity: 1;
	}
	.mod_modal .closeBtn:hover::before, .mod_modal .closeBtn:hover::after {}
}
.mod_modal .mainBlk {}
@media screen and (max-width: 1024px) {
	.mod_contact {
    padding: 60px 0 80px;
    overflow: hidden;
}
	.mod_contact .inner {}
	.mod_contact .blk {}
	.mod_contact .headBlk {}
	.mod_contact .head {}
	.mod_contact .mainBlk {
    margin: 20px 0 0;
    padding: 30px 15px 40px;
    border-radius: 20px;
}
	.mod_contact .mainImgPartsBlk{}
	.mod_contact .mainImgPartsBlk._right{
    right: -15px;
    bottom: -65px;
    width: 90px;
}
	.mod_contact .mainImgPartsBlk._right img{}
	.mod_contact .mainImgPartsBlk._left{
    bottom: -65px;
    left: -10px;
    width: 90px;
}
	.mod_contact .mainImgPartsBlk._left img{}
	.mod_contact .mainTxt {}
	.mod_contact .mainInfoBlk {
    margin: 15px 0 0;
    gap: 15px;
    flex-wrap: wrap;
}
	.mod_contact .mainInfoLinkBlk {
}
	.mod_contact .mainInfoLinkBlk a{}
	.mod_contact .mainInfoLinkBlk ._num {
    background-size: 30px;
    font-size: 30px;
    line-height: 44px;
}
	.mod_contact .mainInfoLinkBlk ._time {}
	.mod_contact .mainSnsLinkBlk {}
	.mod_contact .mainSnsLink {
    gap: 3px;
    width: 240px;
    height: 60px;
    font-size: 16px;
}
	.mod_contact .mainSnsLinkBlk img{
    width: 25px;
}
}
/*====================================

8. Page

====================================*/
/*
Top
====================================*/
/*common start*/
.top_cmn_head {
	font-size: 40px;
	line-height: 1;
	text-align: center;
	font-weight: bold;
}
.top_cmn_head span {
	display: block;
	padding: 15px 0 0;
	font-size: 18px;
	color: var(--mainColor1);
	padding: 10px 0 0;
}
/*common end*/
.top_mv {
	position: relative;
	height: calc(100vh - var(--headerH));
	background-image: url(./images/top_mv_bg.webp);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center 40%;
	overflow: hidden;
	min-height: 700px;
}
.top_mv .carImgBlk {
    position: absolute;
    top: calc(50% - 135px);
    width: 255px;
    width: clamp(12.5rem, -7.634rem + 31.43vw, 15.938rem);
    left: 75%;
    z-index: 1;
    animation-name: movingCar;
    animation-fill-mode: backwards;
    animation-iteration-count: infinite;
    animation-duration: 7s;
    animation-delay: 1.4s;
    transform: translateX(0) translateY(-50%); /* 初期値 */
}
@keyframes movingCar {
	0% {
		visibility: visible;
		margin-left: 0;
		animation-timing-function: cubic-bezier(0.90, 0, 0.57, 1.0);
	}
	45% {
		visibility: visible;
		margin-left: -2000px; /* 画面外にしっかり出す */
		animation-timing-function: ease;
	}
	50% {
		visibility: hidden;
		margin-left: -2000px;
		animation-timing-function: ease;
	}
	51% {
		visibility: hidden;
		margin-left: 800px; /* 再登場位置 */
		animation-timing-function: ease;
	}
	52% {
		visibility: visible;
		margin-left: 800px;
		animation-timing-function: ease;
	}
	80% {
		visibility: visible;
		margin-left: 0;
		animation-timing-function: ease;
	}
	100% {
		visibility: visible;
		margin-left: 0;
		animation-timing-function: ease;
	}
}
.top_mv .carImgBlk img{}
.top_mv .childImgBlk{
    position: absolute;
    /* top: 370px; */
    /* top: 44%; */
    bottom: 65px;
    bottom: 2%;
    left: 50%;
    transform: translate(-50%, 0);
    max-width: 1600px;
    min-width: 1400px;
    width: 100%;
    z-index: 3;
}
.top_mv .childImgBlk img{}
.top_mv .girlImgBlk{
    position: absolute;
    top: 205px;
    top: 28%;
    right: 445px;
    right: 28%;
    right: calc(50% - 300px);
    width: 150px;
    z-index: 2;
}
.top_mv .girlImgBlk img{}
.top_mv .boyImgBlk{
    position: absolute;
    top: 255px;
    top: 30%;
    left: 295px;
    left: 22%;
    left: calc(50% - 445px);
    max-width: 170px;
    z-index: 2;
}
.top_mv .boyImgBlk img{}
/* ふわふわアニメーションここから */
.fuwafuwa01 {
	animation: fuwafuwa01 4s infinite ease-in-out;
}
@keyframes fuwafuwa01 {
	0%, 100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(30px);
	}
}
.fuwafuwa02 {
	animation: fuwafuwa02 3s infinite ease-in-out;
}
@keyframes fuwafuwa02 {
	0%, 100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(30px);
	}
}
/* ふわふわアニメーションここまで */
.top_mv .inner {
	height: 100%;
}
.top_mv .blk {
	position: relative;
	height: 100%;
}
.top_mv .catchBlk {
	display: grid;
	place-items: center;
	height: 100%;
}
.top_mv .catchImgBlk {
    position: relative;
    height: 100%;
    width: clamp(37.5rem, -43.036rem + 125.71vw, 51.25rem);
    padding: 20px 0 0;
    z-index: 10;
}
.top_mv .catchImgBlk img{}
.top_situation {
    padding: 50px 0;
    background-color: #FFF8CE;
    background-image: repeating-linear-gradient(110deg, #fff4b1, #fff4b1 7px, transparent 7px, transparent 14px);
}
.top_situation .inner {}
.top_situation .blk {}
.top_situation .mainBlk {
    max-width: 900px;
    background-color: #fff;
    border-radius: 25px;
    padding: 40px 0;
    margin: 0 auto;
}
.top_situation .mainHead {
    font-size: 28px;
    font-weight: bold;
    text-align: center;
}
.top_situation .mainFlexBlk {
    margin: 20px 0 0;
    justify-content: center;
    gap: 50px;
}
.top_situation .mainFlexItem {
    position: relative;
    gap: 15px;
    align-items: center;
}
.top_situation .mainFlexItem:not(:last-child)::before{
	content:"";
	position:absolute;
	right: -25px;
	top: 50%;
	transform: translate(0, -50%);
	width: 1px;
	height: 100%;
	background-color: #CCCCCC;
}
.top_situation .mainFlexAgeTxt {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 115px;
    height: 40px;
    background-color: var(--mainColor1);
    font-size: 20px;
    color: #fff;
    border-radius: 5px;
    font-weight: bold;
}
.top_situation .mainFlexNumberTxt {
    font-weight: bold;
}
.top_situation .mainFlexNumberTxt span{
    font-size: 40px;
}
.top_about {
    position: relative;
}
.top_about::before, .top_about::after{
	position:absolute;
	content:"";
	background-repeat: no-repeat;
	background-position: left top 70%;
	background-size: 300px;
	width: 300px;
	height: 300px;
}
.top_about::before {
    top: 0;
    right: 0;
    background-image: url(./images/top_about_topParts.webp);
}
.top_about::after {
    bottom: 0;
    left: 0;
    background-image: url(./images/top_about_bottomParts.webp);
    z-index: 0;
}
.top_about .inner {
    position: relative;
    z-index: 1;
}
.top_about .blk {}
.top_about .mainBlk {
	gap: 80px;
	align-items: center;
}
.top_about .mainTextBlk {width: calc(50% - 100px);}
.top_about .mainTextHead {}
.top_about .mainTextHeadSpan{
    display: block;
    font-size: 24px;
    line-height: 1;
    padding: 0 0 10px;
}
.top_about .mainTextHeadColor{
    color: var(--mainColor1);
}
.top_about .mainTextDesc {
	margin: 25px 0 0;
}
.top_about .mainLinkBlk {
	margin: 35px 0 0;
}
.top_about .mainLinkBlk a {}
.top_about .mainImgWrap{
	flex:1;
}
.top_about .mainImgBlk {border-radius: 24px;overflow: hidden;}
.top_about .mainImgBlk img {
	width: 100%;
	aspect-ratio: 16 / 10;
	min-height: 460px;
}
.top_program {
    background-color: var(--mainColor2);
    background-image: radial-gradient(circle, #ffda30 80px, transparent 80px), radial-gradient(circle, #ffda30 80px, transparent 80px);
    background-position: 30px 70px, 250px 290px;
    background-size: 440px 440px;
    padding: 90px 0 100px;
}
.top_program .inner {}
.top_program .blk {}
.top_program .headBlk {}
.top_program .head {}
.top_program .mainBlk {
    display: grid;
    gap: 60px;
    margin: 60px 0 0;
}
.top_program .mainFlexBlk {
    position: relative;
    gap: 40px;
    align-items: center;
    background-color: #fff;
    padding: 50px 55px;
    border-radius: 30px;
}
.top_program .mainImgPartsBlk{
    position: absolute;
}
.top_program .mainFlexBlk:nth-child(1) .mainImgPartsBlk{
    top: -60px;
    right: -90px;
    width: 245px;
}
.top_program .mainFlexBlk:nth-child(2) .mainImgPartsBlk{
    top: -135px;
    left: -160px;
    width: 240px;
}
.top_program .mainFlexBlk:nth-child(3) .mainImgPartsBlk{
    top: -90px;
    right: -100px;
    width: 300px;
}
.top_program .mainImgPartsBlk img{}
.top_program .mainImgWrap {
    flex: 1;
}
.top_program .mainImgBlk {
    border-radius: 25px;
    overflow: hidden;
}
.top_program .mainImgBlk img{}
.top_program .mainTextBlk {
    width: 470px;
}
.top_program .mainTextHead {
    font-size: 28px;
    line-height: 45px;
}
.top_program .mainTextHeadSpan {
    display: block;
    font-size: 68px;
    line-height: 1;
    color: var(--mainColor1);
    padding: 0 0 10px;
}
.top_program .mainTextDesc {
    margin: 25px 0 0;
    line-height: 26px;
}
.top_video {
    position: relative;
    padding: 115px 0 135px;
}
.top_video::before, .top_video::after{
	position:absolute;
	content:"";
	background-repeat: no-repeat;
	background-position: left top 70%;
	background-size: 300px;
	width: 300px;
	height: 300px;
}
.top_video::before {
    top: 0;
    right: 0;
    background-image: url(./images/top_about_topParts.webp);
}
.top_video::after {
    bottom: 0;
    left: 0;
    background-image: url(./images/top_about_bottomParts.webp);
    z-index: 0;
}
.top_video .inner {
    max-width: 1040px;
    position: relative;
    z-index: 1;
}
.top_video .blk {}
.top_video .mainBlk {
    position: relative;
}
.top_video .mainImgPartsBlk {
    position: absolute;
}
.top_video .mainImgPartsBlk:nth-child(1){
    top: -55px;
    left: -140px;
    width: 210px;
}
.top_video .mainImgPartsBlk:nth-child(2){
    bottom: -65px;
    right: -125px;
    width: 235px;
}
.top_video .mainImgPartsBlk img{}
.top_video .mainVideoBlk {
    height: 540px;
}
.top_video .mainVideoBlk video{
    width: 100%;
    height: 100%;
    border-radius: 25px;
}
.top_more {
    width: 100%;
    height: auto;
    background: url(./images/top_more_bg.webp) no-repeat fixed 100% 100%;
    background-size: cover;
    background-position: center;
    padding: 90px 0 100px;
}
.top_more .inner {}
.top_more .blk {}
.top_more .headBlk {}
.top_more .head {
    color: #fff;
}
.top_more .mainBlk {
    margin: 40px 0 0;
    gap: 25px;
}
.top_more .mainItem {
    width: calc((100% - ( 25px * 2)) / 3);
    background-color: #fff;
    padding: 15px 15px 35px;
    border-radius: 15px;
}
.top_more .mainImgBlk {
    border-radius: 8px;
    overflow: hidden;
}
.top_more .mainImgBlk img{}
.top_more .mainHead {
    margin: 20px 0 0;
    font-size: 24px;
    text-align: center;
    color: #EF6529;
    font-weight: bold;
}
.top_more .mainTxt {
    margin: 14px auto 0;
    max-width: 280px;
    font-size: 16px;
    font-size: clamp(0.938rem, 0.571rem + 0.57vw, 1rem);
}
.top_more .mainLinkBlk {
    margin: 15px 0 0;
    text-align: center;
}
.top_more .mainLink {
    width: 220px;
    height: 50px;
}
.top_recruit {
    padding: 115px 0;
}
.top_recruit .inner {}
.top_recruit .blk {}
.top_recruit .flexBlk {
    position: relative;
    gap: 130px;
    gap: clamp(1.875rem, -34.732rem + 57.14vw, 8.125rem);
    align-items: center;
    background-color: var(--mainColor2);
    background-image: radial-gradient(circle, #ffd821 3px, transparent 3px);
    background-position: 0 0;
    background-size: 16px 16px;
    border-radius: 40px;
    padding: 70px 70px 90px 80px;
}
.top_recruit .imgPartsBlk{
    position: absolute;
    bottom: -65px;
    right: 30px;
    width: 250px;
    z-index: 1;
}
.top_recruit .imgPartsBlk img{}
.top_recruit .flexTxtBlk {
    width: 340px;
}
.top_recruit .head{
    text-align: start;
}
.top_recruit .mainHead {
    margin: 30px 0 0;
    font-size: 20px;
    font-weight: bold;
}
.top_recruit .mainLinkBlk {
    margin: 40px 0 0;
}
.top_recruit .mainLink{
    background-color: #fff;
}
.top_recruit .flexImgOutline {
    position: relative;
    display: flex;
    flex: 1;
    min-height: 260px;
}
.top_recruit .flexImgBlk {position: absolute;}
.top_recruit .flexImgBlk img{
    border-radius: 25px;
    overflow: hidden;
}
.top_recruit .flexImgBlk._top {
    right: 0;
    top: -120px;
    max-width: 370px;
    /* order: 1; */
}
.top_recruit .flexImgBlk._top img{}
.top_recruit .flexImgBlk._bottom{
    bottom: -50px;
    max-width: 200px;
    z-index: 1;
}
.top_recruit .flexImgBlk._bottom img{}
.top_info {
    padding: 60px 0;
}
.top_info .inner {
    max-width: 1080px;
}
.top_info .blk {
	position: relative;
}
.top_info .flexBlk{
    gap: 100px;
}
.top_info .headBlk {
    display: flex;
    flex-flow: column;
    gap: 150px;
    width: 160px;
    height: 100%;
}
.top_info .head {
	text-align: left;
}
.top_info .head > span{
}
.top_info .headLinkBlk{}
.top_info .headLink{
    position: relative;
    font-size: 18px;
    font-weight: bold;
}
.top_info .headLink::before{
	content:"";
	position:absolute;
	top: 50%;
	right: -35px;
	transform: translate(0, -50%);
	width: 20px;
	height: 20px;
	background-image: url(./images/icon_circleArrow.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 20px;
	transition: .3s;
}
@media screen and (min-width: 1025px) {
	.top_info .headLink:hover::before{
		right:-40px;
	}
}
.top_info .headLinkImgBlk{
	display: inline-flex;
}
.top_info .headLinkImgBlk img{}
.top_info .mainBlk {
	flex: 1;
	display: grid;
	gap: 10px;
}
.top_info .mainBlk article {
}
.top_info .mainBlk article:last-child {
}
.top_info .mainBlk a {
	position:relative;
	justify-content: flex-start;
	align-items: center;
	padding: 24px 65px 24px 20px;
	border-radius: 8px;
	background-color: var(--contentsBg);
	font-weight: bold;
}
.top_info .mainBlk a::before{
	content:"";
	position:absolute;
	top: 50%;
	right: 30px;
	transform: translate(0, -50%);
	width: 20px;
	height: 20px;
	background-image: url(./images/icon_circleArrow.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 20px;
	transition: .3s;
}
@media screen and (min-width: 1025px) {
	.top_info .mainBlk a:hover::before{
		right:20px;
	}
}
.top_info .mainDate {
	display: inline-block;
	color: #808080;
}
.top_info .mainCat {
	display: inline-block;
	min-width: 90px;
	padding: 3px 2px;
	margin-left: 15px;
	font-size: 13px;
	color: #fff;
	text-align: center;
	background: #FFD21E;
	border-radius: 15px;
}
.top_info .mainTitle {
	flex: 1;
	margin-left: 20px;
}
.top_info .snsLinkBlk {
    gap: 30px;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
    max-width: 850px;
    margin: 60px auto 0;
    padding: 35px 15px;
    background-color: var(--mainColor2);
    border-radius: 16px;
    font-weight: bold;
}
.top_info .snsLinkTxtBlk {
}
.top_info .snsLinkTxt{
    font-size: 18px;
    line-height: 26px;
}
.top_info .snsLinkFlexBlk{
    gap: 15px;
}
.top_info .snsFlexLinkItem{
    width: 230px;
    height: 60px;
    background-color: #fff;
    border-radius: 100px;
}
.top_info .snsFlexLink{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    width: 100%;
    height: 100%;
}
.top_info .snsFlexLink img{
    width: 20px;
    height: 20px;
}
@media screen and (max-width: 1024px) {
	/*common start*/
	.top_cmn_head {
		font-size: 24px;
	}
	.top_cmn_head span {
		font-size: 14px;
	}
	/*common end*/
	.top_mv {
		width: 100%;
		aspect-ratio: 16 / 10;
		height: 590px;
		min-height: initial;
		background-image: url(./images/top_mv_bgSp.webp);
	}
	.top_mv .carImgBlk {
	    top: 160px;
	    width: 160px;
	    transform: translateX(0);
	    /* animation-name: movingCarSp; */
	}
	 @keyframes movingCarSp {
    0% {
      visibility: visible;
      transform: translateX(0);
      animation-timing-function: cubic-bezier(0.90, 0, 0.57, 1.0);
    }
    50% {
      visibility: visible;
      transform: translateX(-250vw); /* 十分に左に抜ける */
      animation-timing-function: ease;
    }
    55% {
      visibility: hidden; /* 見えなくなった後に非表示 */
      transform: translateX(-250vw);
    }
    56% {
      visibility: hidden;
      transform: translateX(100vw); /* 右の外から再登場位置へワープ */
    }
    57% {
      visibility: visible;
      transform: translateX(100vw);
    }
    80% {
      visibility: visible;
      transform: translateX(0);
    }
    100% {
      visibility: visible;
      transform: translateX(0);
    }
  }
	.top_mv .carImgBlk img{}
	.top_mv .childImgBlk{
    bottom: 50px;
    max-width: initial;
    min-width: initial;
    width: 940px;
}
	.top_mv .childImgBlk img{}
	.top_mv .girlImgBlk{
    top: 185px;
    right: calc(50% - 180px);
    width: 95px;
}
	.top_mv .girlImgBlk img{}
	.top_mv .boyImgBlk{
    left: calc(50% - 230px);
    width: 110px;
}
	.top_mv .boyImgBlk img{}
	/* ふわふわアニメーションここから */
	.fuwafuwa01 {
		animation: fuwafuwa01 4s infinite ease-in-out;
	}
	@keyframes fuwafuwa01 {
		0%, 100% {
			transform: translateY(0);
		}
		50% {
			transform: translateY(30px);
		}
	}
	.fuwafuwa02 {
		animation: fuwafuwa02 3s infinite ease-in-out;
	}
	@keyframes fuwafuwa02 {
		0%, 100% {
			transform: translateY(0);
		}
		50% {
			transform: translateY(30px);
		}
	}
	/* ふわふわアニメーションここまで */
	.top_mv .inner {
		height: 100%;
	}
	.top_mv .blk {
		position: relative;
		height: 100%;
	}
	.top_mv .catchBlk {
		display: grid;
		place-items: center;
		height: 100%;
	}
	.top_mv .catchImgBlk {
	    position: relative;
	    width: 335px;
	    padding: 45px 0 0;
	}
	.top_mv .catchImgBlk img{}
	.top_situation {
    padding: 40px 0;
}
	.top_situation .inner {}
	.top_situation .blk {}
	.top_situation .mainBlk {
    max-width: 550px;
    padding: 20px 15px;
}
	.top_situation .mainHead {
    font-size: 22px;
}
	.top_situation .mainFlexBlk {
    margin: 15px 0 0;
    gap: 10px;
    flex-flow: column;
    align-items: center;
}
	.top_situation .mainFlexItem {
    gap: 10px;
}
	.top_situation .mainFlexItem:not(:last-child)::before{
    content: initial;
}
	.top_situation .mainFlexAgeTxt {
    width: 100px;
    height: 35px;
    font-size: 18px;
}
	.top_situation .mainFlexNumberTxt {}
	.top_situation .mainFlexNumberTxt span{
    font-size: 35px;
}
	.top_about {}
	.top_about::before, .top_about::after{
    background-size: 150px;
    width: 150px;
    height: 150px;
}
	.top_about::before {}
	.top_about::after {}
	.top_about .inner {}
	.top_about .blk {}
	.top_about .mainBlk {
    flex-flow: column;
    gap: 30px;
}
	.top_about .mainTextBlk {
    width: 100%;
}
	.top_about .mainTextHead {}
	.top_about .mainTextHeadSpan{
    padding: 0 0 5px;
    font-size: 18px;
}
	.top_about .mainTextHeadColor{}
	.top_about .mainTextDesc {
    margin: 20px 0 0;
}
	.top_about .mainLinkBlk {
    margin: 20px 0 0;
    text-align: center;
}
	.top_about .mainLinkBlk a {}
	.top_about .mainImgWrap{
    flex: initial;
}
	.top_about .mainImgBlk {}
	.top_about .mainImgBlk img {
    min-height: initial;
}
	.top_program {
    padding: 70px 0 80px;
    overflow: hidden;
}
	.top_program .inner {}
	.top_program .blk {}
	.top_program .headBlk {}
	.top_program .head {font-size: 22px;2fo:;2fo: 2;2fo: 22;2fo: 2;}
	.top_program .mainBlk {
    gap: 35px;
    justify-content: center;
    margin: 70px 0 0;
}
	.top_program .mainFlexBlk {
    gap: 20px;
    padding: 20px 15px;
    border-radius: 20px;
    max-width: 650px;
}
	.top_program .mainImgPartsBlk{}
	.top_program .mainFlexBlk:nth-child(1) .mainImgPartsBlk{
    right: -15px;
    top: -55px;
    width: 120px;
}
	.top_program .mainFlexBlk:nth-child(2) .mainImgPartsBlk{
    top: -45px;
    left: -15px;
    width: 105px;
}
	.top_program .mainFlexBlk:nth-child(3) .mainImgPartsBlk{
    top: -50px;
    right: -15px;
    width: 145px;
}
	.top_program .mainImgPartsBlk img{}
	.top_program .mainImgWrap {
    flex: initial;
}
	.top_program .mainImgBlk {
    border-radius: 20px;
}
	.top_program .mainImgBlk img{}
	.top_program .mainTextBlk {
    width: 100%;
}
	.top_program .mainTextHead {
    font-size: 20px;
    line-height: 1.6;
}
	.top_program .mainTextHeadSpan {
    font-size: 40px;
    padding: 0;
}
	.top_program .mainTextDesc {
    margin: 10px 0 0;
    line-height: 1.6;
}
	.top_video {
    padding: 90px 0;
    overflow: hidden;
}
	.top_video::before, .top_video::after{
    background-size: 150px;
    width: 150px;
    height: 150px;
}
	.top_video::before {}
	.top_video::after {}
	.top_video .inner {}
	.top_video .blk {}
	.top_video .mainBlk {}
	.top_video .mainImgPartsBlk {}
	.top_video .mainImgPartsBlk:nth-child(1){
    top: -115px;
    left: -30px;
    width: 90px;
}
	.top_video .mainImgPartsBlk:nth-child(2){
    bottom: -105px;
    right: -30px;
    width: 90px;
}
	.top_video .mainImgPartsBlk img{}
	.top_video .mainVideoBlk {
    height: auto;
}
	.top_video .mainVideoBlk video{}
	.top_video .mainVideoTxt{
    font-size: 12px;
    /* text-align: center; */
}
	.top_more {
    position: relative;
    padding: 60px 0;
    overflow: hidden;
    background: none;
}
	.top_more::before{
		content:"";
		display:block;
		position:fixed;
		top:0;
		left:0;
		z-index: -1;
		width:100%;
		height: 100%;
		background-repeat:no-repeat;
		background-position:50% 100%;
		background-image: url('./images/top_more_bg.webp');
		background-size:cover;
	}
	.top_more .inner {}
	.top_more .blk {}
	.top_more .headBlk {}
	.top_more .head {}
	.top_more .mainBlk {gap: 20px;justify-content: center;}
	.top_more .mainItem {
    width: 100%;
    max-width: 500px;
    padding: 19px 15px 25px;
}
	.top_more .mainImgBlk {
    text-align: center;
}
	.top_more .mainImgBlk img{}
	.top_more .mainHead {
    margin: 15px 0 0;
    font-size: 18px;
}
	.top_more .mainTxt {
    margin: 10px auto 0;
    text-align: center;
}
	.top_more .mainLinkBlk {}
	.top_more .mainLink {
    width: 200px;
    height: 45px;
}
	.top_recruit {
    padding: 60px 0 60px;
    background-color: #fff;
}
	.top_recruit .inner {}
	.top_recruit .blk {}
	.top_recruit .flexBlk {
    padding: 25px 15px 5px;
    border-radius: 20px;
    flex-flow: column;
}
	.top_recruit .imgPartsBlk{
    bottom: 0px;
    right: -15px;
    width: 180px;
    z-index: 10;
}
	.top_recruit .imgPartsBlk img{}
	.top_recruit .flexTxtBlk{
    width: 100%;
}
	.top_recruit .head{
    text-align: center;
}
	.top_recruit .mainHead {
    margin: 15px 0 0;
    font-size: 16px;
    text-align: center;
}
	.top_recruit .mainLinkBlk {
    margin: 20px 0 0;
    text-align: center;
}
	.top_recruit .mainLink{}
	.top_recruit .flexImgOutline {
    flex: initial;
    flex-flow: column-reverse;
    width: 100%;
    min-height: 430px;
}
	.top_recruit .flexImgBlk {
}
	.top_recruit .flexImgBlk img{}
	.top_recruit .flexImgBlk._top {
    top: 0;
    right: 45%;
    transform: translate(50%, 0);
    width: 90%;
}
	.top_recruit .flexImgBlk._top img{
}
	.top_recruit .flexImgBlk._bottom{
    bottom: initial;
    left: 30%;
    transform: translate(-50%, 0);
    top: 180px;
}
	.top_recruit .flexImgBlk._bottom img{}
	.top_info {
    padding: 40px 0;
    background-color: #fff;
}
	.top_info .inner {}
	.top_info .blk {}
	.top_info .flexBlk{
    gap: 20px;
    flex-flow: column;
}
	.top_info .headBlk {
    flex-flow: initial;
    gap: initial;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}
	.top_info .head {}
	.top_info .mainBlk {
	flex: initial;
	width: 100%;
	}
	.top_info .head > span{}
	.top_info .headLinkBlk{}
	.top_info .headLink{
    font-size: 14px;
    padding: 0 25px 0 0;
}
	.top_info .headLink::before{
    right: 0;
}
	.top_info .mainBlk article {}
	.top_info .mainBlk article:last-child {}
	.top_info .mainBlk a {
		gap: 5px 0;
		padding: 15px 35px 15px 10px;
	}
	.top_info .mainBlk a::before{
    right: 8px;
}
	.top_info .mainDate {
		font-size: 13px;
	}
	.top_info .mainCat {
		margin-left: 10px;
		padding: 1px 8px;
		font-size: 12px;
	}
	.top_info .mainTitle {
		flex: unset;
		width: 100%;
		margin: 0;
	}
	.top_info .snsLinkBlk {
    gap: 20px;
    flex-flow: column;
    margin: 40px auto 0;
    padding: 20px 15px;
}
	.top_info .snsLinkTxtBlk {
}
	.top_info .snsLinkTxt{
    font-size: 16px;
    line-height: 1.6;
    text-align: center;
}
	.top_info .snsLinkFlexBlk{
    gap: 10px;
    align-items: center;
    justify-content: center;
}
	.top_info .snsFlexLinkItem{
    width: 210px;
    height: 50px;
}
	.top_info .snsFlexLink{}
	.top_info .snsFlexLink img{}
}
/*
About
====================================*/
#about .breadcrumb{
    background-color: var(--contentsBg);
}
.about_message {
    padding: 80px 0 190px;
}
.about_message .inner {}
.about_message .blk {}
.about_message .headBlk {}
.about_message .head {}
.about_message .mainBlk {
	margin: 40px 0 0;
	gap: 70px;
	align-items: center;
}
.about_message .mainImgBlk {
	flex: 1;
}
.about_message .mainImgBlk img {
	width: 100%;
	border-radius: 20px;
}
.about_message .mainTextBlk {
	width: calc(50% + 120px);
}
.about_message .mainTextHead {}
.about_message .mainTextDesc {
}
.about_message .mainTextName {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: start;
	font-size: 18px;
	margin: 40px auto 0;
}
.about_message .mainTextName span._companyName {
    display: flex;
    width: 100%;
    font-size: 16px;
}
.about_message .mainTextName span._postName {
    font-size: 14px;
    padding: 0 6px 0 0;
}
.about_outline {
    position: relative;
    padding: 40px 0 90px;
}
.about_outline .topPartsImgBlk{
    position: absolute;
    bottom: 100%;
}
.about_outline .partsImgBlk{
    position: absolute;
    bottom: calc(100% + 5px);
    left: 50%;
    transform: translate(-50%, 0px);
    max-width: 660px;
}
.about_outline .inner {}
.about_outline .blk {}
.about_outline .headBlk {}
.about_outline .head {}
.about_outline .mainBlk {
    margin: 50px 0 0;
    gap: 40px;
    align-items: center;
}
.about_outline .mainImgBlk {
    flex: 1;
}
.about_outline .mainImgBlk img{}
.about_outline .mainTxtBlk {
    width: 50%;
}
.about_outline .mainTxtHead {
    font-size: 24px;
    color: var(--mainColor1);
    font-weight: bold;
}
.about_outline .mainTxt {
    margin: 30px 0 0;
}
.about_operation {
    padding: 60px 0;
    background-color: var(--mainColor1);
    color: #fff;
}
.about_operation .inner {}
.about_operation .blk {}
.about_operation .mainBlk {
    gap: 70px;
    justify-content: center;
    align-items: center;
}
.about_operation .mainTxtBlk {
    width: 50%;
}
.about_operation .mainTxtHead {
    font-size: 20px;
    font-weight: bold;
}
.about_operation .mainTxt {
    margin: 20px 0 0;
}
.about_operation .mainLinkBlk {
    margin: 15px 0 0;
}
.about_operation .mainLink {
    display: flex;
    align-items: center;
    padding: 0 0 5px;
    border-bottom: 1px solid #fff;
    width: fit-content;
}
.about_operation .mainImgBlk {
    flex: 1;
}
.about_operation .mainImgBlk img{
    border-radius: 10px;
}
.about_overview {
    position: relative;
    padding: 80px 0 90px;
}
.about_overview .partsImgBlk {
    position: absolute;
    width: 300px;
}
.about_overview .partsImgBlk._top {
    top: 0;
    right: 0;
}
.about_overview .partsImgBlk._center {
    left: 0;
    top: 50%;
    transform: translate(0px, -50%);
}
.about_overview .partsImgBlk._bottom {
    bottom: 0;
    right: 0;
}
.about_overview .inner {
    position: relative;
    max-width: 1080px;
    padding: 0 40px;
}
.about_overview .blk {}
.about_overview .headBlk {}
.about_overview .head {}
.about_overview .mainBlk {
    margin: 50px 0 0;
    background-color: #fff;
    padding: 60px 75px;
    border-radius: 12px;
}
.about_overview .mapBlk {
    margin: 50px 0 0;
}
.about_overview .mapBlk iframe{
    max-height: 450px;
}
.about_detail {
    padding: 80px 0 0;
}
.about_detail .inner {}
.about_detail .blk {}
.about_detail .headBlk {}
.about_detail .head {}
.about_detail .hourBlk {
    margin: 50px 0 0;
}
.about_detail .priceBlk {
    margin: 60px 0 0;
}
.about_detail .cmn_bgTable{}
.about_detail table{}
.about_detail table, .about_detail td, .about_detail th {
}
.about_detail td, .about_detail th {
}
.about_detail th {
}
.about_detail .priceBlk th{
	width:auto;
}
.about_detail .priceBlk tbody tr th:not(:nth-child(1)){
    text-align: center;
}
.about_detail .priceBlk tbody tr:nth-child(2) th:nth-child(1){
    width: 240px;
}
.about_detail td{}
.about_detail .priceBlk td{
    text-align: center;
    place-content: center;
}
.about_detail .cmn_point{
    margin: 30px 0 0;
}
.about_detail .paymentBlk{
    margin: 90px 0 0;
}
.about_detail .paymentTxtBlk{
    margin: 35px 0 0;
}
.about_detail .paymentTxt{}
.about_detail .leavingBlk{
    margin: 60px 0 0;
}
.about_detail .leavingTxtBlk{
    margin: 35px 0 0;
}
.about_detail .leavingTxt{}
.about_shorttime {
	padding: 120px 0;
}
.about_shorttime .inner {}
.about_shorttime .blk {}
.about_shorttime .headBlk {}
.about_shorttime .head {}
.about_shorttime .headTxt{
    margin: 30px 0 0;
    font-size: 18px;
    text-align: center;
}
.about_shorttime .applicationBlk {
    margin: 50px 0 0;
}
.about_shorttime .applicationMainBlk{
    display: grid;
    gap: 80px;
    background-color: var(--contentsBg);
    padding: 50px 75px;
}
.about_shorttime .applicationMainItem{
    position: relative;
    display: flex;
    gap: 65px;
}
.about_shorttime .applicationMainBlk  .applicationMainItem:not(:last-child)::before{
	position:absolute;
	content:"";
	top: 40px;
	width: 100%;
	height: 100%;
	background-image: radial-gradient(circle, #707070 1px, transparent 1px);
	background-position: left bottom;
	background-repeat: repeat-x;
	background-size: 6px 2px;
}
.about_shorttime .applicationMainTitle{
    display: flex;
    align-items: center;
    gap: 15px;
    width: 295px;
    font-size: 24px;
    font-weight: bold;
}
.about_shorttime .applicationMainNum{
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 62px;
    height: 62px;
    background-color: var(--mainColor1);
    color: #fff;
    border-radius: 100px;
}
.about_shorttime .applicationMainTxtBlk{
	flex: 1;
}
.about_shorttime .applicationMainTxt{}
.about_shorttime .applicationMainPointBlk{
    margin: 20px 0 0;
    background-color: #fff;
    padding: 25px 30px;
    border-radius: 8px;
}
.about_shorttime .applicationMainPointTitle{
    font-size: 18px;
    font-weight: bold;
    margin: 0 0 10px;
}
.about_shorttime .applicationMainPointTxt{}
.about_shorttime .priceBlk{
    margin: 60px 0 0;
}
.about_shorttime .priceReadBlk{
    margin: 35px 0 0;
}
.about_shorttime .priceReadTxt{}
.about_shorttime .cmn_bgTable{
    margin: 25px 0 0;
}
.about_shorttime .cmn_point{
    margin: 35px 0 0;
}
@media screen and (max-width: 1024px) {
	.about_message {
    padding: 50px 0 100px;
}
	.about_message .inner {}
	.about_message .blk {}
	.about_message .headBlk {}
	.about_message .head {}
	.about_message .mainBlk {
    margin: 30px 0 0;
    gap: 20px;
    justify-content: center;
}
	.about_message .mainImgBlk {
    flex: initial;
    max-width: 400px;
}
	.about_message .mainImgBlk img {}
	.about_message .mainTextBlk {
    width: 100%;
}
	.about_message .mainTextHead {}
	.about_message .mainTextDesc {}
	.about_message .mainTextName {
    margin: 20px 0 0;
    font-size: 16px;
}
	.about_message .mainTextName span._companyName {
    font-size: 14px;
}
	.about_message .mainTextName span._postName {
    font-size: 12px;
}
	.about_outline {
    padding: 30px 0 60px;
}
	.about_outline .topPartsImgBlk{}
	.about_outline .partsImgBlk{
    bottom: calc(100% - 5px);
    min-width: 305px;
}
	.about_outline .inner {}
	.about_outline .blk {}
	.about_outline .headBlk {}
	.about_outline .head {}
	.about_outline .mainBlk {
    margin: 30px 0 0;
    gap: 20px;
    flex-flow: column;
}
	.about_outline .mainImgBlk {
    flex: initial;
}
	.about_outline .mainImgBlk img{}
	.about_outline .mainTxtBlk {
    width: 100%;
}
	.about_outline .mainTxtHead {
    font-size: 18px;
}
	.about_outline .mainTxt {
    margin: 10px 0 0;
}
	.about_operation {
    padding: 40px 0;
}
	.about_operation .inner {}
	.about_operation .blk {}
	.about_operation .mainBlk {
    gap: 30px;
}
	.about_operation .mainTxtBlk {
    width: 100%;
}
	.about_operation .mainTxtHead {
    font-size: 18px;
    text-align: center;
}
	.about_operation .mainTxt {
    margin: 10px 0 0;
}
	.about_operation .mainLinkBlk {
    margin: 10px 0 0;
}
	.about_operation .mainLink {}
	.about_operation .mainImgBlk {
    flex: initial;
    max-width: 450px;
}
	.about_operation .mainImgBlk img{}
	.about_overview {
    padding: 50px 0 60px;
}
	.about_overview .partsImgBlk {
    width: 180px;
}
	.about_overview .partsImgBlk._top {}
	.about_overview .partsImgBlk._center {}
	.about_overview .partsImgBlk._bottom {}
	.about_overview .inner {
    max-width: var(--maxWidth768);
    padding: 0;
}
	.about_overview .blk {}
	.about_overview .headBlk {}
	.about_overview .head {}
	.about_overview .mainBlk {
    margin: 30px 0 0;
    padding: 25px 15px;
}
	.about_overview .mapBlk {
    margin: 30px 0 0;
}
	.about_overview .mapBlk iframe{}
	.about_detail {
    padding: 60px 0 0;
}
	.about_detail .inner {}
	.about_detail .blk {}
	.about_detail .headBlk {}
	.about_detail .head {}
	.about_detail .hourBlk {
    margin: 30px 0 0;
}
	.about_detail .priceBlk {
    margin: 50px 0 0;
}
	.about_detail .cmn_bgTable{}
	.about_detail table{}
	.about_detail .js-scrollHint table{
		width: max(700px, 100%);
}
	.about_detail table, .about_detail td, .about_detail th {}
	.about_detail td, .about_detail th {}
	.about_detail th {}
	.about_detail .priceBlk th{}
	.about_detail .priceBlk tbody tr th:not(:nth-child(1)){}
	.about_detail .priceBlk .js-scrollHint tbody tr th:not(:nth-child(1)){
    min-width: 185px;
}
	.about_detail .priceBlk tbody tr:nth-child(2) th:nth-child(1){
    min-width: 120px;
}
	.about_detail td{}
	.about_detail .priceBlk td{}
	.about_detail .cmn_point{
    margin: 20px 0 0;
}
	.about_detail .paymentBlk{
    margin: 50px 0 0;
}
	.about_detail .paymentTxtBlk{
    margin: 20px 0 0;
}
	.about_detail .paymentTxt{}
	.about_detail .leavingBlk{
    margin: 50px 0 0;
}
	.about_detail .leavingTxtBlk{
    margin: 20px 0 0;
}
	.about_detail .leavingTxt{}
	.about_shorttime {
    padding: 70px 0;
}
	.about_shorttime .inner {}
	.about_shorttime .blk {}
	.about_shorttime .headBlk {}
	.about_shorttime .head {}
	.about_shorttime .headTxt{
    font-size: 15px;
    text-align: start;
}
	.about_shorttime .applicationBlk {
    margin: 30px 0 0;
}
	.about_shorttime .applicationMainBlk{
    gap: 40px;
    padding: 20px 15px;
}
	.about_shorttime .applicationMainItem{
    flex-flow: column;
    gap: 10px;
}
	.about_shorttime .applicationMainBlk  .applicationMainItem:not(:last-child)::before{
    top: 20px;
}
	.about_shorttime .applicationMainTitle{
    gap: 10px;
    width: 100%;
    font-size: 18px;
}
	.about_shorttime .applicationMainNum{
    min-width: 35px;
    height: 35px;
}
	.about_shorttime .applicationMainTxtBlk{
    flex: initial;
}
	.about_shorttime .applicationMainTxt{}
	.about_shorttime .applicationMainPointBlk{
    padding: 15px;
}
	.about_shorttime .applicationMainPointTitle{
    font-size: 15px;
    margin: 0 0 5px;
}
	.about_shorttime .applicationMainPointTxt{}
	.about_shorttime .priceBlk{
    margin: 50px 0 0;
}
	.about_shorttime .priceReadBlk{
    margin: 20px 0 0;
}
	.about_shorttime .priceReadTxt{}
	.about_shorttime .cmn_bgTable{
    margin: 20px 0 0;
}
	.about_shorttime .cmn_point{
    margin: 20px 0 0;
}
}
/*
Program
====================================*/
#program .breadcrumb{
    background-color: var(--contentsBg);
}
.program_outline {
    padding: 80px 0 0;
}
.program_outline .inner {
}
.program_outline .blk {}
.program_outline .mainBlk {display: grid;gap: 80px;}
.program_outline .mainItemBlk {
    gap: 80px;
}
.program_outline .mainItemBlk._reverse {}
.program_outline .mainTextBlk {
    width: calc(50% - 50px);
}
.program_outline .mainTextHead {
    font-size: 32px;
    line-height: 51px;
}
.program_outline .mainTextHead span._color {
    color: var(--mainColor1);
}
.program_outline .mainTextDesc {
    margin: 30px 0 0;
    font-size: 18px;
}
.program_outline .cmn_point {
    margin: 30px 0 0;
    display: flex;
    flex-wrap: wrap;
    border-radius: 10px;
}
.program_outline .cmn_point .mainTxt {
    min-width: 115px;
}
.program_outline .mainImgOutline {
    position: relative;
    flex: 1;
}
.program_outline .mainImgBlk {}
.program_outline .mainImgBlk img{
    border-radius: 25px;
}
.program_outline .mainPartsImgBlk {
    position: absolute;
    bottom: -40px;
    right: -65px;
    width: 270px;
}
.program_outline ._reverse .mainPartsImgBlk{
    bottom: -50px;
    left: -85px;
    width: 225px;
}
.program_outline .mainPartsImgBlk img{}
.program_plan {
    padding: 100px 0;
}
.program_plan .inner {}
.program_plan .blk {}
.program_plan .headBlk {}
.program_plan .head {}
.program_plan .mainBlk {
    display: grid;
    gap: 15px;
    margin: 30px 0 0;
}
.program_plan .mainItem {
    display: flex;
    gap: 45px;
    background-color: var(--contentsBg);
    border-radius: 10px;
    padding: 35px 20px 35px 0;
}
.program_plan .mainHead {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 190px;
    font-size: 20px;
    font-weight: bold;
}
.program_plan .mainHead::before{
	content:"";
	position:absolute;
	background-image: repeating-linear-gradient(180deg, var(--mainColor1), var(--mainColor1) 2px, transparent 2px, transparent 5px);
	background-position: right top;
	background-repeat: repeat-y;
	background-size: 2px 100%;
	width: 100%;
	height: 100%;
}
.program_plan .mainDesc {
    flex: 1;
    font-size: 18px;
}
.program_flow {
    position: relative;
    padding: 65px 0 160px;
}
.program_flow .partsImgBlk{
    position: absolute;
    width: 300px;
}
.program_flow .partsImgBlk._top{
    top: 0;
    right: 0;
}
.program_flow .partsImgBlk._top img{}
.program_flow .partsImgBlk._center{
    top: 50%;
    left: 0;
    transform: translate(0, -50%);
}
.program_flow .partsImgBlk._center img{}
.program_flow .partsImgBlk._bottom{
    bottom: 0;
    right: 0;
}
.program_flow .partsImgBlk._bottom img{}
.program_flow .topPartsImgBlk{
    position: absolute;
    top: -50px;
    right: 70px;
    width: 200px;
}
.program_flow .bottomPartsImgBlk{
    position: absolute;
    bottom: -50px;
    left: 55px;
    width: 190px;
}
.program_flow .inner {
    position: relative;
}
.program_flow .blk {}
.program_flow .headBlk {}
.program_flow .head {}
.program_flow .mainBlk {
    position: relative;
    margin: 45px 0 0;
}
.program_flow .mainTabBlk {
    display: flex;
    align-items: center;
    justify-content: center;
}
.program_flow .mainTabBlk > ul{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 25px;
}
.program_flow .mainTabBlk > ul > li{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 220px;
    height: 60px;
    font-size: 18px;
    font-weight: bold;
    background-color: #fff;
    border: 1px solid var(--mainColor2);
    border-radius: 100px;
    cursor: pointer;
}
.program_flow .mainTabBlk > ul > li._active{
    position: relative;
    background-color: var(--mainColor2);
}
.program_flow .mainTabBlk > ul > li._active::before{
	content:"";
	position:absolute;
	top: 100%;
	width: 18px;
	height: 14px;
	background: var(--mainColor2);
	clip-path: polygon(0 0, 100% 0%, 50% 100%);
}
.program_flow .mainTabBlk > ul > li > p{
}
.program_flow .mainPanelBlk {
    margin: 35px 0 0;
    background-color: #fff;
    padding: 65px 80px 80px 130px;
    border-radius: 25px;
}
.program_flow .mainPanelHeadBlk {}
.program_flow .mainPanelHead {
    font-size: 32px;
    font-weight: bold;
    text-align: center;
}
.program_flow .mainPanelHead span._color {
    color: var(--mainColor1);
}
.program_flow .mainScheduleBlk {
    display: flex;
    gap: 145px;
    gap: clamp(3.125rem, -31.652rem + 54.29vw, 9.063rem);
    margin: 60px 0 0;
}
.program_flow .mainScheduleTxtOutline {}
.program_flow .mainScheduleTxtBlk {
    position: relative;
    display: flex;
    gap: 30px;
    padding: 0 0 50px;
}
.program_flow .mainScheduleTxtBlk::before,
.program_flow .mainScheduleTxtBlk::after{
	content:"";
	position:absolute;
}
.program_flow .mainScheduleTxtBlk:not(:last-child)::before{
    top: 20px;
    left: -31px;
    width: 2px;
    height: 100%;
    background-color: #C9C9C9;
}
.program_flow .mainScheduleTxtBlk::after{
    top: 10px;
    left: -40px;
    width: 20px;
    height: 20px;
    border: 4px solid var(--mainColor1);
    background-color: #fff;
    border-radius: 20px;
}
.program_flow .mainScheduleTime {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 120px;
    height: 40px;
    background-color: var(--mainColor2);
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    border-radius: 50px;
}
.program_flow .mainScheduleTxt {
    font-size: 20px;
    font-weight: bold;
}
.program_flow .mainScheduleImgOutline {
    display: grid;
    gap: 60px;
    flex: 1;
}
.program_flow .mainScheduleImg{
    max-width: 250px;
}
.program_flow .mainScheduleImg img{
    border-radius: 8px;
}
.program_flow .mainSchedulePointOutline {
    margin: 40px 0 0;
}
.program_flow .mainSchedulePointTxt {
    font-size: 15px;
    font-weight: bold;
}
.program_event {overflow: hidden;}
.program_event .inner {}
.program_event .blk {}
.program_event .headBlk {}
.program_event .head {}
.program_event .headTxt {
    margin: 25px 0 0;
    font-size: 18px;
    text-align: center;
}
.program_event .mainImgOutline {
    display: flex;
    margin: 40px calc(50% - 50vw);
    width: 100vw;
}
.program_event .mainImgBlk {
    width: calc(100% / 4);
}
.program_event .mainImgBlk img{}
.program_event .eventBlk {
    gap: 15px 25px;
    margin: 60px 0 0;
}
.program_event .eventItemOutline {
    display: grid;
    gap: 15px;
    width: calc((100% - (25px * 2)) / 3);
}
.program_event .eventItem {
    gap: 20px;
    gap: clamp(0.625rem, -3.036rem + 5.71vw, 1.25rem);
    align-items: center;
    justify-content: start;
	padding: 0 0 15px;
    background-image: repeating-linear-gradient(90deg, #c4c4c4, #c4c4c4 2px, transparent 2px, transparent 6px);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 100% 2px;
}
.program_event .eventMonth {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 75px;
    width: clamp(4.063rem, 0.402rem + 5.71vw, 4.688rem);
    height: 75px;
    height: clamp(4.063rem, 0.402rem + 5.71vw, 4.688rem);
    background-color: var(--mainColor2);
    color: #fff;
    font-weight: bold;
    font-size: 27px;
    border-radius: 100px;
}
.program_event .eventMonth > span{
    font-size: 18px;
    padding: 5px 0 0;
}
.program_event .eventName {
    font-size: 18px;
    font-size: clamp(1rem, 0.268rem + 1.14vw, 1.125rem);
    font-weight: bold;
}
.program_event .monthBlk {
    margin: 50px 0 0;
    background-color: #FFEEA1;
    border-radius: 25px;
    padding: 40px;
}
.program_event .monthHeadBlk {
}
.program_event .monthHead {
    font-size: 28px;
    font-weight: bold;
    text-align: center;
}
.program_event .monthItemOutline {
    margin: 25px 0 0;
    gap: 80px;
    gap: clamp(2.5rem, -12.143rem + 22.86vw, 5rem);
    justify-content: center;
    align-items: center;
}
.program_event .monthItem {align-items: center;justify-content: center;gap: 20px;}
.program_event .monthImgBlk {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 75px;
    height: 75px;
    background-color: #fff;
    border-radius: 100px;
}
.program_event .monthImgBlk img{
    max-width: 50px;
}
.program_event .monthDesc {
    font-size: 18px;
    font-weight: bold;
}
.program_about {
    padding: 80px 0 90px;
}
.program_about .inner {}
.program_about .blk {}
.program_about .headBlk {}
.program_about .head {}
.program_about .cmn_head1 {}
.program_about .cmnHeadSpan {}
.program_about .mainBlk {
    margin: 40px 0 0;
    gap: 70px;
    align-items: center;
}
.program_about .mainTxtBlk {
    width: 50%;
}
.program_about .mainDesc {}
.program_about .mainDescSpan {
    display: inline-block;
    width: 100%;
    color: var(--mainColor1);
    font-weight: bold;
}
.program_about .mainImgOutline {
    position: relative;
    flex: 1;
}
.program_about .mainImgBlk {}
.program_about .mainImgBlk img{
    border-radius: 25px;
}
.program_about .mainPartsImgBlk {
    position: absolute;
    right: -20px;
    bottom: -50px;
    width: 85px;
}
.program_about .mainPartsImgBlk img{}
.program_about .mainLinkBlk{
    margin: 50px 0 0;
    text-align: center;
}
.program_about .mainLink{}
.program_safety {
    padding: 90px 0 80px;
}
.program_safety .inner {}
.program_safety .blk {}
.program_safety .headBlk {}
.program_safety .head {}
.program_safety .headTxt {
    margin: 25px 0 0;
}
.program_safety .hygieneBlk {
    margin: 50px 0 0;
}
.program_safety .safetyTxtBlk {
    margin: 35px 0 0;
}
.program_safety .safetyBlk .safetyTxtBlk{
    margin: 20px 0 0;
}
.program_safety .healthBlk .safetyTxtBlk{
    margin: 15px 0 0;
}
.program_safety .safetyTxt {}
.program_safety .safetyTxt span._color {
    color: var(--mainColor1);
    font-weight: bold;
}
.program_safety .hygieneMainBlk {
    margin: 40px 0 0;
}
.program_safety .cmn_point {}
.program_safety .healthBlk .cmn_point{
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}
.program_safety .mainTxt {}
.program_safety .healthMainBlk .mainTxt{
	width:calc((100% - 20px) / 2);
}
.program_safety .safetyBlk {
    margin: 80px 0 0;
}
.program_safety .safetyMainBlk {
    margin: 35px 0 0;
}
.program_safety .safetyFlexBlk {
    gap: 55px;
    justify-content: space-between;
    margin: 50px 0 0;
}
.program_safety .safetyFlexItem {
    width: calc((100% - 55px) / 2);
}
.program_safety .healthBlk {
    margin: 80px 0 0;
}
.program_safety .healthMainBlk {
    margin: 35px 0 0;
}
.program_safety .medicationBlk {
    margin: 80px 0 0;
}
@media screen and (max-width: 1024px) {
	.program_outline {
    padding: 50px 0 0;
}
	.program_outline .inner {}
	.program_outline .blk {}
	.program_outline .mainBlk {
    gap: 55px;
}
	.program_outline .mainItemBlk {gap: 25px;flex-flow: column;align-items: center;}
	.program_outline .mainItemBlk._reverse {
    flex-flow: column-reverse;
}
	.program_outline .mainTextBlk {
    width: 100%;
}
	.program_outline .mainTextHead {
    font-size: 20px;
    line-height: 1.6;
}
	.program_outline .mainTextHead span._color {}
	.program_outline .mainTextDesc {
    margin: 10px 0 0;
    font-size: 15px;
}
	.program_outline .cmn_point {
    margin: 20px 0 0;
}
	.program_outline .cmn_point .mainTxt {}
	.program_outline .mainImgOutline {
    flex: initial;
}
	.program_outline .mainImgBlk {
    max-width: 550px;
}
	.program_outline .mainImgBlk img{}
	.program_outline .mainPartsImgBlk {
    right: -25px;
    width: 190px;
}
	.program_outline ._reverse .mainPartsImgBlk{
    bottom: -40px;
    left: -15px;
    width: 180px;
}
	.program_outline .mainPartsImgBlk img{}
	.program_plan {
    padding: 85px 0 100px;
}
	.program_plan .inner {}
	.program_plan .blk {}
	.program_plan .headBlk {}
	.program_plan .head {}
	.program_plan .mainBlk {}
	.program_plan .mainItem {
    flex-flow: column;
    gap: 20px;
    padding: 15px;
}
	.program_plan .mainHead {
    width: 100%;
    font-size: 18px;
}
	.program_plan .mainHead::before{
    bottom: -10px;
    background-image: repeating-linear-gradient(90deg, var(--mainColor1), var(--mainColor1) 2px, transparent 2px, transparent 6px);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 100% 2px;
}
	.program_plan .mainDesc {
    flex: initial;
    font-size: 14px;
}
	.program_flow {
    padding: 60px 0 100px;
}
	.program_flow .partsImgBlk{
    width: 180px;
}
	.program_flow .partsImgBlk._top{}
	.program_flow .partsImgBlk._top img{}
	.program_flow .partsImgBlk._center{}
	.program_flow .partsImgBlk._center img{}
	.program_flow .partsImgBlk._bottom{}
	.program_flow .partsImgBlk._bottom img{}
	.program_flow .topPartsImgBlk{
    width: 150px;
    top: -70px;
    right: 0;
}
	.program_flow .bottomPartsImgBlk{
    bottom: -30px;
    left: 10px;
    width: 140px;
}
	.program_flow .inner {
}
	.program_flow .blk {}
	.program_flow .headBlk {}
	.program_flow .head {}
	.program_flow .mainBlk {}
	.program_flow .mainTabBlk {}
	.program_flow .mainTabBlk > ul{
    gap: 5px;
    width: 100%;
}
	.program_flow .mainTabBlk > ul > li{
    width: calc((100% - 5px) / 2);
    max-width: 220px;
    font-size: 16px;
}
	.program_flow .mainTabBlk > ul > li._active{}
	.program_flow .mainTabBlk > ul > li._active::before{}
	.program_flow .mainTabBlk > ul > li > p{}
	.program_flow .mainPanelBlk {
    padding: 25px 15px 30px;
}
	.program_flow .mainPanelHeadBlk {}
	.program_flow .mainPanelHead {
    font-size: 20px;
}
	.program_flow .mainPanelHead span._color {}
	.program_flow .mainScheduleBlk {
    margin: 30px 0 0;
    flex-flow: column;
    gap: 15px;
}
	.program_flow .mainScheduleTxtOutline {
    padding: 0 0 0 35px;
}
	.program_flow .mainScheduleTxtBlk {
    gap: 10px;
    padding: 0 0 20px;
}
	.program_flow .mainScheduleTxtBlk::before,
	.program_flow .mainScheduleTxtBlk::after{}
	.program_flow .mainScheduleTxtBlk:not(:last-child)::before{
    left: -20px;
}
	.program_flow .mainScheduleTxtBlk::after{
    top: 5px;
    left: -27px;
    width: 17px;
    height: 17px;
    border: 3px solid var(--mainColor1);
}
	.program_flow .mainScheduleTime {
    max-width: 60px;
    height: 30px;
    font-size: 16px;
}
	.program_flow .mainScheduleTxt {
    font-size: 13px;
    padding: 5px 0 0;
}
	.program_flow .mainScheduleImgOutline {
    gap: 5px;
    gap: clamp(0.313rem, -0.59rem + 3.85vw, 1.875rem);
    grid-template-columns: repeat(2, 1fr);
    align-self: center;
}
	.program_flow .mainScheduleImg{}
	.program_flow .mainScheduleImg img{}
	.program_flow .mainSchedulePointOutline {
    margin: 20px 0 0;
}
	.program_flow .mainSchedulePointTxt {
    font-size: 13px;
}
	.program_event {
    padding: 70px 0;
}
	.program_event .inner {}
	.program_event .blk {}
	.program_event .headBlk {}
	.program_event .head {}
	.program_event .headTxt {
    margin: 10px 0 0;
    font-size: 15px;
}
	.program_event .mainImgOutline {
    flex-wrap: wrap;
    margin: 30px calc(50% - 50vw);
}
	.program_event .mainImgBlk {
    width: calc(100% / 2);
}
	.program_event .mainImgBlk img{}
	.program_event .eventBlk {
    margin: 50px 0 0;
    gap: 10px;
    flex-flow: column;
}
	.program_event .eventItemOutline{
    width: 100%;
    max-width: 550px;
    margin: 0 auto;
}
	.program_event .eventItem {gap: 10px;}
	.program_event .eventMonth {
    width: 50px;
    height: 50px;
    font-size: 22px;
}
	.program_event .eventMonth > span{
    font-size: 14px;
}
	.program_event .eventName {
    font-size: 14px;
}
	.program_event .monthBlk {
    margin: 40px 0 0;
    padding: 20px 15px;
}
	.program_event .monthHeadBlk {}
	.program_event .monthHead {
    font-size: 20px;
}
	.program_event .monthItemOutline {
    margin: 20px 0 0;
    gap: 10px;
    flex-wrap: wrap;
}
	.program_event .monthItem {
    /* width: calc((100% - 20px) / 2); */
    gap: 10px;
    flex-flow: column;
}
	.program_event .monthImgBlk {
    width: 60px;
    height: 60px;
}
	.program_event .monthImgBlk img{
    max-width: 45px;
}
	.program_event .monthDesc {
    font-size: 14px;
}
	.program_about {
    padding: 50px 0 70px;
}
	.program_about .inner {}
	.program_about .blk {}
	.program_about .headBlk {}
	.program_about .head {}
	.program_about .cmn_head1 {}
	.program_about .cmnHeadSpan {}
	.program_about .mainBlk {
    margin: 30px 0 0;
    flex-flow: column;
    gap: 20px;
}
	.program_about .mainTxtBlk {
    width: 100%;
}
	.program_about .mainDesc {}
	.program_about .mainDescSpan {}
	.program_about .mainImgOutline {
    flex: initial;
}
	.program_about .mainImgBlk {
    max-width: 550px;
}
	.program_about .mainImgBlk img{}
	.program_about .mainPartsImgBlk {
    bottom: -35px;
    width: 60px;
}
	.program_about .mainPartsImgBlk img{}
	.program_about .mainLinkBlk{
    margin: 40px 0 0;
}
	.program_about .mainLink{}
	.program_safety {
    padding: 60px 0 70px;
}
	.program_safety .inner {}
	.program_safety .blk {}
	.program_safety .headBlk {}
	.program_safety .head {}
	.program_safety .headTxt {
    margin: 20px 0 0;
}
	.program_safety .hygieneBlk {
    margin: 30px 0 0;
}
	.program_safety .safetyTxtBlk {
    margin: 20px 0 0;
}
	.program_safety .safetyBlk .safetyTxtBlk{
    margin: 10px 0 0;
}
	.program_safety .healthBlk .safetyTxtBlk{}
	.program_safety .safetyTxt {}
	.program_safety .safetyTxt span._color {}
	.program_safety .hygieneMainBlk {
    margin: 20px 0 0;
}
	.program_safety .cmn_point {}
	.program_safety .healthBlk .cmn_point{
    gap: 7px;
    flex-flow: column;
}
	.program_safety .mainTxt {
}
	.program_safety .healthMainBlk .mainTxt{
    width: 100%;
}
	.program_safety .safetyBlk {
    margin: 50px 0 0;
}
	.program_safety .safetyMainBlk {
    margin: 20px 0 0;
}
	.program_safety .safetyFlexBlk {
    margin: 30px 0 0;
    flex-flow: column;
    gap: 30px;
}
	.program_safety .safetyFlexItem {
    width: 100%;
}
	.program_safety .healthBlk {
    margin: 50px 0 0;
}
	.program_safety .healthMainBlk {
    margin: 30px 0 0;
}
	.program_safety .medicationBlk {
    margin: 60px 0 0;
}
}
/*
Recruit
====================================*/
.recruit_read {
	padding: 50px 0;
}
.recruit_read .inner {}
.recruit_read .blk {}
.recruit_read .mainBlk {}
.recruit_read .mainTextHead {
	font-size: 32px;
	text-align: center;
}
.recruit_read .mainTextHead span{
	color: var(--mainColor1);
}
.recruit_read .mainTextDesc {
	margin: 25px 0 0;
	text-align: center;
	font-size: 18px;
}
.recruit_message {
    position: relative;
    padding: 80px 0 120px;
    background-color: var(--contentsBg);
    background-image: radial-gradient(circle, #fff9d8 80px, transparent 80px), radial-gradient(circle, #fff9d8 80px, transparent 80px);
    background-position: 30px 30px, 250px 250px;
    background-size: 440px 440px;
}
.recruit_message .inner{
    max-width: 1030px;
}
.recruit_message .headBlk {}
.recruit_message .head {}
.recruit_message .mainBlk {
    position: relative;
    margin: 50px 0 0;
    background-color: #fff;
    padding: 80px 110px;
    border-radius: 25px;
}
.recruit_message .mainImgBlk {
    position: absolute;
}
.recruit_message .mainImgBlk._left {
    top: -60px;
    left: -190px;
    width: 260px;
    border-radius: 25px;
    overflow: hidden;
}
.recruit_message .mainImgBlk._right {
    top: 50%;
    right: -190px;
    transform: translate(0, -50%);
    width: 260px;
    border-radius: 25px;
    overflow: hidden;
}
.recruit_message .mainImgBlk._topParts {
    top: -120px;
    right: 50px;
    width: 270px;
}
.recruit_message .mainImgBlk._bottomParts {
    bottom: -60px;
    left: -120px;
    width: 230px;
}
.recruit_message .mainTxtBlk {}
.recruit_message .mainTxt {}
.recruit_message .mainTxt span{
    display: inline-block;
    width: 100%;
    color: var(--mainColor1);
    font-weight: bold;
}
.recruit_work {
    padding: 80px 0 90px;
}
.recruit_work .inner {}
.recruit_work .blk {}
.recruit_work .headBlk {}
.recruit_work .head {}
.recruit_work .mainBlk {
    gap: 40px;
    margin: 40px 0 0;
}
.recruit_work .mainItem {
    width: calc((100% - (40px * 2)) / 3);
    min-height: 455px;
    background: var(--contentsBg);
    border-radius: 20px;
    padding: 30px 25px;
}
.recruit_work .mainImgBlk {
    position: relative;
    width: 185px;
    z-index: 1;
    margin: 0 auto;
}
.recruit_work .mainImgBlk span{
    position: absolute;
    top: -40px;
    right: -60px;
    font-size: 92px;
    z-index: -1;
    font-weight: 500;
    color: rgba(241, 139, 1, 0.36);
}
.recruit_work .mainTitle {
    margin: 20px 0 0;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    color: var(--mainColor1);
}
.recruit_work .mainDesc {
    margin: 15px 0 0;
}
.recruit_interview {
    background-image: repeating-linear-gradient(135deg, #fff9d8, #fff9d8 10px, transparent 10px, transparent 20px);
    padding: 95px 0 90px;
}
.recruit_interview .inner {}
.recruit_interview .blk {}
.recruit_interview .headBlk {}
.recruit_interview .head {}
.recruit_interview .headTxt {
    margin: 25px 0 0;
    font-size: 18px;
    text-align: center;
}
.recruit_interview .mainBlk {
    display: grid;
    gap: 60px;
    margin: 40px 0 0;
}
.recruit_interview .mainItem {
    display: grid;
    gap: 65px;
    background-color: #fff;
    padding: 90px 65px 60px;
    border-radius: 40px;
}
.recruit_interview .mainFlexBlk {
    gap: 45px;
}
.recruit_interview .mainFlexImgBlk {
    flex: 1;
    border-radius: 12px;
    overflow: hidden;
}
.recruit_interview .mainFlexTxtBlk {
    width: 520px;
}
.recruit_interview .mainFlexName {
    display: flex;
    justify-content: space-between;
    font-size: 24px;
    font-weight: bold;
    padding: 0 0 18px;
    background-image: repeating-linear-gradient(90deg, var(--mainColor1), var(--mainColor1) 2px, transparent 2px, transparent 6px);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 100% 2px;
    margin: 0 0 25px;
}
.recruit_interview .mainFlexName span{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 125px;
    height: 35px;
    font-size: 16px;
    font-weight: bold;
    background-color: var(--mainColor1);
    color: #fff;
    border-radius: 40px;
}
.recruit_interview .cmn_yellowHead {font-size: 20px;}
.recruit_interview .mainFlexTxt {
    margin: 15px 0 0;
}
.recruit_interview .mainTxtOutline{
    display: grid;
    gap: 30px;
}
.recruit_interview .mainTxtBlk {}
.recruit_top {
	height: 600px;
	background-image: url(./images/dummy.webp);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}
.recruit_top .inner {
	height: 100%;
}
.recruit_top .blk {
	height: 100%;
}
.recruit_top .mainBlk {
	height: 100%;
	display: flex;
	align-items: center;
}
.recruit_top .mainTitle {
	font-weight: 600;
	font-size: 50px;
	line-height: 80px;
}
.recruit_statue {}
.recruit_statue .inner {}
.recruit_statue .blk {}
.recruit_statue .headBlk {}
.recruit_statue .head {}
.recruit_statue .mainBlk {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px;
	margin: 40px 0 0;
}
.recruit_statue .mainBlk > div {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 105px;
	padding: 20px;
	background: #fff;
}
.recruit_statue .mainDesc {
	font-size: 18px;
	text-align: center;
}
.recruit_wrap._requirements {}
.recruit_requirements{
	position: relative;
	padding: 80px 0 90px;
}
.recruit_requirements .mainPartsImgBlk{
	position: absolute;
	top: -145px;
	right: 50px;
	width: 300px;
}
.recruit_requirements .inner {
    max-width: 980px;
}
.recruit_requirements .blk {}
.recruit_requirements .headBlk {}
.recruit_requirements .head {
}
.recruit_requirements .head span{
}
.recruit_requirements .headTxt{
    margin: 25px 0 0;
    font-size: 18px;
    text-align: center;
}
.recruit_requirements .mainBlk {
	display: grid;
	gap: 30px;
	margin: 45px 0 0;
	width: 100%;
}
.recruit_requirements .mainItemBlk{
	background-color: var(--mainColor2);
	border-radius: 10px;
}
.recruit_requirements .mainTableNameBlk{
	height: 70px;
}
.recruit_requirements .mainTableName{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	height: 100%;
	padding: 0 60px 0 40px;
	font-size: 22px;
	font-weight: bold;
}
.recruit_requirements .mainTableNameSpan{
	padding: 3px 18px;
	font-size: 18px;
	background-color: var(--cocoruBg);
	border-radius: 50px;
	color: #fff;
}
.recruit_requirements .mainTableNameSpan._parco{
	background-color: var(--parcoBg);
}
.recruit_requirements .mainTableNameBtn{
	position:absolute;
	right: 40px;
	transition: all .4s;
	width: 38px;
	height: 38px;
	background-color: var(--textColor);
	border-radius: 50px;
}
.recruit_requirements .mainTableNameBtn:before,
.recruit_requirements .mainTableNameBtn:after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: inline-block;
	background: #fff;
}
.recruit_requirements .mainTableNameBtn:before {
	height: 3px;
	width: 20px;
}
.recruit_requirements .mainTableNameBtn:after {
	width: 3px;
	height: 20px;
}
.recruit_requirements .mainTableName._open .mainTableNameBtn {
	transform: rotate(135deg);
}
.recruit_requirements .cmn_table{
	padding: 40px 50px 50px;
	background-color: var(--contentsBg);
}
.recruit_requirements .linkBlk {
	margin: 50px 0 0;
	text-align: center;
}
.recruit_requirements .link{
	width: 280px;
	height: 60px;
}
@media screen and (max-width: 1024px) {
	.recruit_read {
    padding: 40px 0 60px;
}
	.recruit_read .inner {}
	.recruit_read .blk {}
	.recruit_read .mainBlk {}
	.recruit_read .mainTextHead {
    font-size: 20px;
}
	.recruit_read .mainTextHead span{}
	.recruit_read .mainTextDesc {
    margin: 15px 0 0;
    font-size: 14px;
}
	.recruit_message {
    padding: 90px 0 270px;
}
	.recruit_message .inner{
    max-width: var(--maxWidth768);
}
	.recruit_message .headBlk {}
	.recruit_message .head {}
	.recruit_message .mainBlk {
    margin: 40px 0 0;
    padding: 25px 15px 40px;
}
	.recruit_message .mainImgBlk {}
	.recruit_message .mainImgBlk._left {
    top: initial;
    bottom: -110px;
    left: 0;
    left: calc(50% - 90px);
    transform: translate(-50%, 0);
    width: 160px;
}
	.recruit_message .mainImgBlk._right {
    top: initial;
    bottom: -210px;
    right: 0;
    right: calc(50% + -70px);
    transform: translate(50%, 0);
    width: 210px;
}
	.recruit_message .mainImgBlk._topParts {
    top: -40px;
    right: -5px;
    width: 200px;
}
	.recruit_message .mainImgBlk._bottomParts {
    bottom: -235px;
    left: 5px;
    left: calc(50% - 90px);
    transform: translate(-50%, 0);
    width: 140px;
}
	.recruit_message .mainTxtBlk {}
	.recruit_message .mainTxt {}
	.recruit_message .mainTxt span{}
	.recruit_work {
    padding: 50px 0 70px;
}
	.recruit_work .inner {}
	.recruit_work .blk {}
	.recruit_work .headBlk {}
	.recruit_work .head {}
	.recruit_work .mainBlk {
    gap: 20px;
    flex-flow: column;
    margin: 30px auto 0;
    max-width: 500px;
}
	.recruit_work .mainItem {
    width: 100%;
    height: auto;
    padding: 20px 15px 25px;
    min-height: initial;
}
	.recruit_work .mainImgBlk {
    width: 150px;
}
	.recruit_work .mainImgBlk span{
    top: -35px;
    right: -45px;
    font-size: 70px;
}
	.recruit_work .mainTitle {
    margin: 15px 0 0;
    font-size: 18px;
}
	.recruit_work .mainDesc {
    margin: 10px 0 0;
}
	.recruit_interview {
    padding: 50px 0;
}
	.recruit_interview .inner {}
	.recruit_interview .blk {}
	.recruit_interview .headBlk {}
	.recruit_interview .head {}
	.recruit_interview .headTxt {
    margin: 20px 0 0;
    font-size: 16px;
}
	.recruit_interview .mainBlk {
    gap: 20px;
}
	.recruit_interview .mainItem {
    gap: 20px;
    padding: 25px 15px;
    border-radius: 20px;
}
	.recruit_interview .mainFlexBlk {
    flex-flow: column;
    align-items: center;
    gap: 20px;
}
	.recruit_interview .mainFlexImgBlk {
    flex: initial;
    max-width: 550px;
}
	.recruit_interview .mainFlexTxtBlk {
    width: 100%;
}
	.recruit_interview .mainFlexName {
    justify-content: start;
    gap: 20px;
    font-size: 18px;
    padding: 0 0 15px;
    margin: 0 0 20px;
}
	.recruit_interview .mainFlexName span{
    width: 100px;
    height: 30px;
    font-size: 14px;
}
	.recruit_interview .cmn_yellowHead {
    font-size: 16px;
    padding: 0 0 0 15px;
}
	.recruit_interview .mainFlexTxt {
    margin: 10px 0 0;
}
	.recruit_interview .mainTxtOutline{
    gap: 20px;
}
	.recruit_interview .mainTxtBlk {}
	.recruit_top {}
	.recruit_top .inner {}
	.recruit_top .blk {}
	.recruit_top .mainBlk {}
	.recruit_top .mainTitle {}
	.recruit_statue {}
	.recruit_statue .inner {}
	.recruit_statue .blk {}
	.recruit_statue .headBlk {}
	.recruit_statue .head {}
	.recruit_statue .mainBlk {}
	.recruit_statue .mainBlk > div {}
	.recruit_statue .mainDesc {}
	.recruit_wrap._requirements {}
	.recruit_requirements{
    padding: 50px 0 70px;
}
	.recruit_requirements .mainPartsImgBlk{}
	.recruit_requirements .inner {}
	.recruit_requirements .blk {}
	.recruit_requirements .headBlk {}
	.recruit_requirements .head {}
	.recruit_requirements .head span{}
	.recruit_requirements .headTxt{
    margin: 20px 0 0;
    font-size: 16px;
}
	.recruit_requirements .mainBlk {
    gap: 15px;
    margin: 40px 0 0;
}
	.recruit_requirements .mainItemBlk{}
	.recruit_requirements .mainTableNameBlk{
    height: 60px;
}
	.recruit_requirements .mainTableName{
    font-size: 18px;
    padding: 0 40px 0 20px;
}
	.recruit_requirements .mainTableNameSpan{}
	.recruit_requirements .mainTableNameSpan._parco{}
	.recruit_requirements .mainTableNameBtn{
    right: 30px;
    width: 30px;
    height: 30px;
}
	.recruit_requirements .mainTableNameBtn:before,
	.recruit_requirements .mainTableNameBtn:after {}
	.recruit_requirements .mainTableNameBtn:before {
    width: 18px;
}
	.recruit_requirements .mainTableNameBtn:after {
    height: 18px;
}
	.recruit_requirements .mainTableName._open .mainTableNameBtn {}
	.recruit_requirements .cmn_table{
    padding: 20px 15px 40px;
}
	.cmn_table > dl > div > dd .tableFlexBlk{
    gap: 30px;
}
	.recruit_requirements .linkBlk {
    margin: 30px 0 0;
}
	.recruit_requirements .link{}
}
/*
Information
====================================*/
#news .breadcrumb{
    background-color: var(--contentsBg);
}
.info_category {
	padding: 60px 0 40px;
	background-color: var(--contentsBg);
}
.info_category .inner {}
.info_category .blk {}
.info_category .mainBlk {}
.info_category .mainBlk ul {
	justify-content: center;
	gap: 15px;
}
.info_category .mainBlk ul li {
	width: 180px;
}
.info_category .mainBlk ul li a {
	display: block;
	line-height: 50px;
	border-radius: 100px;
	text-align: center;
	background: #fff;
	border: 1px solid var(--mainColor2);
}
@media screen and (min-width: 1025px) {
	.info_category .mainBlk ul li a:hover {
		opacity: 1;
		color: white;
		background: var(--mainColor2);
	}
}
.info_category .mainBlk ul li.current-cat a {
	background-color: var(--mainColor2);
	color: white;
}
.info_list {
	padding: 60px 0 70px;
}
.info_list .inner {}
.info_list .blk {}
.info_list .mainBlk {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}
.info_list .mainBlk article {
    width: calc((100% - (40px * 2)) / 3);
}
.info_list .mainBlk article:last-child {
}
.info_list .mainBlk article a {
	flex-flow: column;
	align-items: center;
	gap: 10px;
}
.info_list .mainImgBlk {width: 100%;}
.info_list .mainImgBlk img {
	width: 100%;
	height: 225px;
	border-radius: 10px;
}
.info_list .mainTextBlk {
	display: flex;
	flex-flow: wrap;
	align-items: center;
	width: 100%;
	font-weight: bold;
}
.info_list .mainTextDate {
}
.info_list .mainTextCat {
	margin: 0 0 0 15px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 13px;
	width: 90px;
	height: 25px;
	background: var(--mainColor2);
	color: white;
	border-radius: 20px;
}
.info_list .mainTextTitle {
	font-size: 18px;
	width: 100%;
	margin: 10px 0 0;
}
.info_list .paginationBlk {}
.info_detail {
	padding: 90px 0px 140px;
}
.info_detail .inner {}
.info_detail .blk {}
.info_detail .mainBlk {}
.info_detail .mainBlk article {}
.info_detail .mainDate {
	display: inline-flex;
	font-size: 18px;
	font-weight: bold;
}
.info_detail .mainCat {
	margin: 0 0 0 10px;
	display: inline-flex;
	font-size: 15px;
	font-weight: bold;
	padding: 3px 25px;
	border-radius: 40px;
	background: var(--mainColor2);
	color: white;
}
.info_detail .mainHead {
	font-size: 24px;
	line-height: 35px;
	margin: 20px 0 0;
	padding: 0 0 35px;
	background-image: radial-gradient(circle, #341911 1px, transparent 1px);
	background-position: left bottom;
	background-repeat: repeat-x;
	background-size: 6px 2px;
}
.info_detail .mainContentBlk {
	margin: 40px 0 0;
}
.info_detail .mainContentBlk > *:first-child,
.info_detail .mainContentBlk > * *:first-child {
	margin-top: 0;
}
.info_detail .mainContentBlk p {}
.info_detail .mainContentBlk img {
	display: table;
	margin: auto!important;
}
.info_detail .mainContentBlk :not(ul):not(li):not(iframe):not(table *) {
	margin: calc(1rem* 1.6) 0 0;
}
.info_detail .mainContentBlk a {
	color: var(--mainColor1);
	text-decoration: underline;
}
.info_detail .paginationBlk {}
@media screen and (max-width: 1024px) {
	.info_category {
		padding: 40px 0;
	}
	.info_category .inner {}
	.info_category .blk {}
	.info_category .mainBlk {
		max-width: 400px;
		margin: auto;
	}
	.info_category .mainBlk ul {
		gap: 5px;
		justify-content: flex-start;
	}
	.info_category .mainBlk ul li {
		width: calc((100% - (5px * 1)) / 2);
	}
	.info_category .mainBlk ul li a {
		display: block;
		line-height: 44px;
		text-align: center;
		font-size: 14px;
	}
	.info_list {
		padding: 60px 0 90px;
	}
	.info_list .inner {
    max-width: 550px;
}
	.info_list .blk {}
	.info_list .mainBlk {
    flex-wrap: initial;
    flex-flow: column;
    align-items: center;
    gap: 20px;
}
	.info_list .mainBlk article {
	width: 100%;
	max-width: 550px;
	}
	.info_list .mainBlk article:last-child {
	}
	.info_list .mainBlk article a {
	}
	.info_list .mainImgBlk {
		width: 100%;
	}
	.info_list .mainImgBlk img {
		width: 100%;
		height: auto;
		aspect-ratio: 16 /10;
	}
	.info_list .mainTextBlk {
		flex: unset;
		width: 100%;
	}
	.info_list .mainTextDate {
		font-size: 14px;
	}
	.info_list .mainTextCat {
		margin: 0 0 0 15px;
		font-size: 14px;
		padding: 1px 10px;
	}
	.info_list .mainTextTitle {
		font-size: 16px;
		line-height: 24px;
		width: 100%;
		margin: 10px 0 0;
	}
	.info_list .paginationBlk {}
	.info_detail {
		padding: 60px 0px 90px;
	}
	.info_detail .inner {}
	.info_detail .blk {}
	.info_detail .mainBlk {}
	.info_detail .mainBlk article {}
	.info_detail .mainDate {
		display: inline-flex;
		font-size: 14px;
	}
	.info_detail .mainCat {
		margin: 0 0 0 15px;
		display: inline-flex;
		font-size: 13px;
		padding: 2px 15px;
		color: white;
	}
	.info_detail .mainHead {
		font-size: 20px;
		line-height: 28px;
		margin: 15px 0 0;
		padding: 0 0 25px;
	}
	.info_detail .mainContentBlk {
		margin: 30px 0 0;
	}
	.info_detail .mainContentBlk > *:first-child,
	.info_detail .mainContentBlk > * *:first-child {}
	.info_detail .mainContentBlk :not(ul):not(li):not(iframe):not(table *) {
		margin: calc(0.875rem* 1.6) 0 0;
	}
	.info_detail .mainContentBlk a {}
	.info_detail .paginationBlk {
		max-width: 360px;
		margin: auto;
	}
	.info_detail .box._main {
		border: var(--mainColor1) solid 1px!important;
		border-left: var(--mainColor1) solid 10px!important;
	}
}
/*
Contact
====================================*/
#contact .breadcrumb{
    background-color: var(--contentsBg);
}
.contact_outline {
    padding: 40px 0 35px;
}
.contact_outline .inner {}
.contact_outline .blk {}
.contact_outline .mainBlk {}
.contact_outline .mainDesc {
	font-size: 20px;
	line-height: 28px;
	text-align: center;
}
.contact_flow {
    padding: 55px 0 60px;
    background-image: repeating-linear-gradient(135deg, #FFF9D8, #FFF9D8 8px, transparent 8px, transparent 16px);
}
.contact_flow .inner {}
.contact_flow .blk {}
.contact_flow .headBlk {}
.contact_flow .head {
    font-size: 32px;
    font-weight: bold;
    text-align: center;
}
.contact_flow .headTxt {
    margin: 20px 0 0;
    text-align: center;
}
.contact_flow .mainBlk {
    margin: 60px 0 0;
    gap: 35px;
    gap: clamp(1.25rem, -4.241rem + 8.57vw, 2.188rem);
}
.contact_flow .mainItem {
    position: relative;
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 180px;
    width: clamp(10.313rem, 4.821rem + 8.57vw, 11.25rem);
    height: 180px;
    background-color: #fff;
    padding: 40px 0 30px;
    border-radius: 10px;
}
.contact_flow .mainItem:not(:last-child)::before{
	content:"";
	position:absolute;
	right: -33px;
	right: -15%;
	display: inline-block;
	width: 12px;
	height: 24px;
	background: var(--mainColor1);
	clip-path: polygon(0 0, 0 100%, 100% 50%);
}
.contact_flow .mainItemNum {
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translate(-50%, 0);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: bold;
    width: 40px;
    height: 40px;
    background-color: var(--mainColor2);
    color: #fff;
    border-radius: 50px;
}
.contact_flow .mainItemImgBlk {
    width: 70px;
}
.contact_flow .mainItemTxt {
    font-size: 18px;
    line-height: 23px;
    font-weight: bold;
    text-align: center;
}
.contact_flow .filingBlk {
    margin: 50px auto 0;
    background-color: #fff;
    padding: 30px;
    max-width: 700px;
}
.contact_flow .filingTitle {
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}
.contact_flow .filingTxt {
    margin: 10px 0 0;
    text-align: center;
}
.contact_flow .filingLinkBlk {
    margin: 20px 0 0;
    text-align: center;
}
.contact_flow .filingLink{
    gap: 5px;
}
.contact_flow .cmn_link1:before{
	content:initial;
}
.contact_flow .filingLink img{
    width: 20px;
}
.contact_tel {
    padding: 70px 0 0;
}
.contact_tel .inner {
    max-width: 1080px;
}
.contact_tel .blk {}
.contact_tel .headBlk {}
.contact_tel .head {
    font-size: 32px;
}
.contact_tel .mainBlk {
	padding: 30px 0 40px;
	margin: 30px 0 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background: #FFEEA1;
	border-radius: 25px;
}
.contact_tel .mainBlk a {
	font-size: 50px;
	font-weight: bold;
	line-height: 1;
	background-image: url(./images/icon_tel_black.svg);
	background-repeat: no-repeat;
	background-position: left top calc(50% + 2px);
	background-size: 45px;
	padding: 0 0 0 60px;
}
.contact_tel .mainTime {
	margin: 5px 0 0;
	font-size: 18px;
}
.contact_form {
	padding: 90px 0 65px;
}
.contact_form .inner {}
.contact_form .blk {}
.contact_form .headBlk {}
.contact_form .head {
    font-size: 32px;
}
.contact_form .mainBlk {
	margin: 30px 0 0;
	background-color: #FFEEA1;
	padding: 60px;
	border-radius: 25px;
}
@media screen and (max-width: 1024px) {
	.contact_outline {
    padding: 40px 0;
}
	.contact_outline .inner {}
	.contact_outline .blk {}
	.contact_outline .mainBlk {}
	.contact_outline .mainDesc {
		font-size: 16px;
		line-height: 28px;
		text-align: center;
	}
	.contact_flow {
    padding: 40px 0 50px;
}
	.contact_flow .inner {}
	.contact_flow .blk {}
	.contact_flow .headBlk {}
	.contact_flow .head {
    font-size: 22px;
}
	.contact_flow .headTxt {}
	.contact_flow .mainBlk {
    justify-content: center;
    gap: 35px 20px;
    margin: 50px auto 0;
    max-width: 600px;
}
	.contact_flow .mainItem {
    gap: 5px;
    width: 140px;
    height: 140px;
    padding: 25px 15px;
}
	.contact_flow .mainItem:not(:last-child)::before{
		content: initial;
	}
	.contact_flow .mainItemNum {
    font-size: 18px;
    width: 35px;
    height: 35px;
}
	.contact_flow .mainItemImgBlk {
    width: 50px;
}
	.contact_flow .mainItemTxt {
    font-size: 15px;
    line-height: 20px;
}
	.contact_flow .filingBlk {
    margin: 30px auto 0;
    padding: 25px 15px;
}
	.contact_flow .filingTitle {
    font-size: 20px;
}
	.contact_flow .filingTxt {
}
	.contact_flow .filingLinkBlk {}
	.contact_flow .filingLink{}
	.contact_flow .cmn_link1:before{}
	.contact_flow .filingLink img{}
	.contact_tel {
    padding: 50px 0 0;
}
	.contact_tel .inner {
    max-width: var(--maxWidth768);
}
	.contact_tel .blk {}
	.contact_tel .headBlk {}
	.contact_tel .head {
    font-size: 22px;
}
	.contact_tel .mainBlk {
		padding: 35px 15px;
		margin: 25px 0 0;
		gap: 10px;
	}
	.contact_tel .mainBlk a {
		font-size: 30px;
		background-position: left top calc(50% + 2px);
		background-size: 26px;
		padding: 0 0 0 30px;
	}
	.contact_tel .mainTime {
		margin: initial;
		font-size: 15px;
	}
	.contact_form {
		padding: 50px 0 60px;
	}
	.contact_form .inner {}
	.contact_form .blk {}
	.contact_form .headBlk {}
	.contact_form .head {
    font-size: 22px;
}
	.contact_form .mainBlk {
		margin: 30px 0 0;
		padding: 25px 15px;
		border-radius: 20px;
	}
}
/*テスト*/