@charset "UTF-8";
/*
Theme Name:ba-template
*/

/*####################################

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 {
	/* メインカラー */
	--mainColor: #06a7a5;
	/*====== 背景カラー ======*/
	/*正社員*/
	--flesh: #068ade;
	/*パート*/
	--career: #14bf48;
	/* コンテンツ背景カラー */
	--contentsBg: #e4f8f8;
	/* 下層ページトップ背景カラー */
	--lowerTopBg: #D7E1FA;
	/* 表組み項目名背景カラー */
	--tableItemBg: #f5fafc;
	/* フォーム項目名背景カラー */
	--formItemBg: #F0F5FA;
	/* カテゴリーリンク背景カラー */
	--categoryLinkBg: #D7E1FA;
	/* メール問い合わせボタン背景カラー */
	--mailBtnBg: #05bebb;
	/*====== テキストカラー ======*/
	/* テキストカラー */
	--textColor: #333;
	/* リンクテキストカラー */
	--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;
	}
}
/*
Plugin Overwrite
====================================*/
/*
Slick
---------------------------------------------------------------*/
.top_mv .slick-arrow::before {
	display: none;
	border-color: var(--mainColor);
}
.top_mv .slick-dots li.slick-active button {
	background: var(--mainColor);
}
/*
default.css Overwrite
====================================*/
/*
Other
====================================*/
/*====================================

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: 75px 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;
	color: var(--pnColor);
	border-radius: 5px;
}
.pn_list .listPagerBlk span.listPagerNum {
	color: var(--pnCurrentColor);
	background: var(--pnCurrentBg);
}
.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: var(--pnHoverBg);
		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: 100px;
}
.pn_detail .detailpreviousBlk a, .pn_detail .detailNextBlk a {
	position: relative;
	display: block;
	height: 100%;
}
.pn_detail a {
	background: #fff;
	box-shadow: 0px 3px 10px rgb(0 0 0 / 10%);
	border-radius: 6px;
}
@media screen and (min-width: 1025px) {
	.pn_detail a:hover {
		background: var(--pnHoverBg);
		opacity: 1;
	}
}
.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(--pnColor);
	border-left: solid 2px var(--pnColor);
	-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(--pnColor);
	border-right: solid 2px var(--pnColor);
	-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;
	width: 300px;
	height: 100%;
	font-size: 13px;
}
@media screen and (max-width: 1024px) {
	.pn_detail {
		margin: 60px 0 0;
	}
	.pn_detail > * {}
	.pn_detail .detailpreviousBlk, .pn_detail .detailNextBlk {
		width: 55px;
	}
	.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;
	}
}
/*
Form
====================================*/
/*
Input
----------------------------------------------------------------*/
.form_input {
	border: 1px solid #D7DCE2;
	border-bottom: transparent;
}
.form_input .inputRow {
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid #D7DCE2;
}
.form_input .inputItem {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 225px;
	font-size: 14px;
	background: var(--formItemBg);
	padding: 25px 22px 25px 22px;
	font-weight: 600;
	border-right: 1px solid #D7DCE2;
}
.form_input .inputItem ._must {
	font-size: 12px;
	color: #BF2121;
}
.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: 40px;
	border-radius: 6px;
	border: solid #707070 1px;
	padding: 0px 10px;
	font-size: 13px;
}
.form_input textarea {
	width: 100% !important;
	height: auto;
	padding: 10px;
}
.form_input input::placeholder, .form_input textarea::placeholder {
	font-size: 14px;
	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;
	flex-direction: column;
	gap: 10px 0;
}
.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 {
	font-size: 14px;
}
/* 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;
}
/* turnstile */
.form_turnstile {

	display: flex;

	justify-content: center;

	margin-top: 40px;
}
/* agree */
.form_agree {
	margin: 35px 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 {
	font-size: 13px;
}
.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: 70px;
	font-size: 18px;
	color: #fff;
	transition: .3s;
	background: var(--mailBtnBg);
}
@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 {
		border: 1px solid #D7DCE2;
	}
	.form_input .inputRow {
		border-bottom: 1px solid #D7DCE2;
		flex-flow: wrap;
	}
	.form_input .inputRow:last-child {
		border-bottom: transparent;
	}
	.form_input .inputItem {
		justify-content: flex-start;
		width: 100%;
		padding: 20px 15px;
		border-right: transparent;
		gap: 20px;
	}
	.form_input .inputItem ._must {}
	.form_input .inputValue {}
	.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 {}
	.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: 270px;
	border-radius: 5px;
	background: #fff;
	border: 1px solid #cecece;
	padding: 30px 33px;
	overflow: auto;
}
.form_pp dl {}
.form_pp dt {
	font-size: 15px;
}
.form_pp dd {
	font-size: 13px;
	line-height: 22px;
	margin: 20px 0 0;
}
@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(--mainColor);
	border-radius: 30px;
}
@media screen and (min-width: 1025px) {
	.thanks_section .linkBlk a:hover, .error_section .linkBlk a:hover {
		opacity: 1;
		background: var(--mainColor);
		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;
	box-shadow: 0 2px 7px rgb(0 0 0 / 16%);
	background: white;
	.inner {
		height: 100%;
		padding: 0 50px;
	}
	.blk {
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 0 30px;
		height: 100%;
	}
	.logoBlk {
		flex-shrink: 0;
		display: flex;
		a {
			img {
				height: clamp(2.813rem, -0.848rem + 5.71vw, 3.438rem);
			}
		}

	}
}
@media screen and (min-width: 1025px) {
	.header { 
		.menuBlk {
			display: flex;
			flex-shrink: 0;
			height: 100%;
			padding-top: 15px;
			nav {
				> ul {
					display: flex;
					gap: clamp(1.563rem, -3.929rem + 8.57vw, 2.5rem);
					height: 100%;
					> li {
						position: relative;
						display: flex;
						align-items: center;
						height: 100%;
						> a {
							position: relative;
							padding-bottom: 5px;
							font-size: 16px;
							&::before,
							&::after {
								content: "";
								position: absolute;
								bottom: 0;
								height: 2px;
								background-color: #05bebb;
								width: 0;
								transition: 0.3s ease;
							}
							/* 左側の下線 */
							&::before {
								left: 50%; 
								transform-origin: center right; 
							}
							/* 右側の下線 */
							&::after {
								right: 50%;
								transform-origin: center left; 
							}
							/* ホバー時のアニメーション */
							&:hover::before,
							&:hover::after {
								width: 50%;
							}
						}
						> a._active {
							color: var(--mainColor);
						}
						> a:hover {}
						a:hover {
							color: var(--mainColor);
							opacity: 1;
						}
						> 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: #e4f8f8;
							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: 190px;
							opacity: 0;
							visibility: hidden;
							transition: .3s;
							pointer-events: none;
							> li > a {
								font-size: 14px;
							}
						}
						&._parent:hover > ul {
							top: 100%;
							opacity: 1;
							visibility: visible;
							pointer-events: initial;
						}
						&._contact {
							margin-left: 15px;
							a {
								display: inline-grid;
								place-items: center;
								width: clamp(8.125rem, -20.795rem + 45.14vw, 13.063rem);
								height: 41px;
								padding-bottom: 0px;
								border-radius: 30px;
								color: #fff;
								background: #05bebb;
								&::before,
								&::after {
									display: none;
								}
								&:hover {
									background: #059f9d;
								}
							}
						}
					}
				}	
			}
		}
	}
}
@media screen and (max-width: 1024px) {
	.header {
		height: 58px;
		box-shadow: none;
		.inner {
			background: white;
			padding: 0 0 0 4%;
			margin: auto;
		}
		.blk {}
		.logoBlk {
			a {
				img {
					height: 43px;
				}
			}
		}
		.menuBlk {
			position: absolute;
			top: var(--headerH, 58px);
			left: 0;
			height: calc(100dvh - var(--headerH, 58px));
			z-index: -1;
			width: 100%;
			background: white;
			overflow: auto;
			padding: 0 0 60px;
			opacity: 0;
			visibility: hidden;
			transition: .3s;
			display: block;
			flex-shrink: unset;
			nav {
				> ul {
					display: block;
					height: auto;
				}
			}
		}
		.menuBlk::-webkit-scrollbar {
			display: none;
		}
		&._menuOpen .menuBlk {
			opacity: 1;
			visibility: visible;
		}
	}
	.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;
		align-items: center;
		height: 54px;
		font-size: 15px;
		padding: 0 4%;
		color: #fff;
		background: var(--mailBtnBg);
	}
	.header .menuBlk nav > ul > li > a span,
	.header .menuBlk nav > ul > li > ul > li a span {
		position: absolute;
		top: 52%;
		right: calc(4% + 6px);
	}
	.header .menuBlk nav > ul > li._parent > a span {
		position: absolute;
		top: calc(52% + 6px);
		right: calc(4% + 10px);
		transition: .3s;
	}
	.header .menuBlk nav > ul > li._parent._childOpen > a span {
		position: absolute;
		top: calc(52% + -5px);
		right: calc(4% + 11px);
		transform: scale(1, -1);
	}
	.header .menuBlk nav > ul > li > a span::before,
	.header .menuBlk nav > ul > li > a span::after,
	.header .menuBlk nav > ul > li > ul > li a span::before,
	.header .menuBlk nav > ul > li > ul > li a span::after {
		content: "";
		position: absolute;
		top: calc(50% - 2px);
		right: 0;
		width: 12px;
		height: 2px;
		border-radius: 9999px;
		background-color: #fff;
		transform-origin: calc(100% - 1px) 50%;
	}
	.header .menuBlk nav > ul > li > ul > li a span::before,
	.header .menuBlk nav > ul > li > ul > li a span::after {
		background-color: #333;
	}
	.header .menuBlk nav > ul > li > a span::before,
	.header .menuBlk nav > ul > li > ul > li a span::before {
		transform: rotate(45deg);
	}
	.header .menuBlk nav > ul > li > a span::after,
	.header .menuBlk nav > ul > li > ul > li a span::after {
		transform: rotate(-45deg);
	}
	.header .menuBlk nav > ul > li._parent > a span::before {}
	.header .menuBlk nav > ul > li._parent > a span::after {
		transform: rotate(135deg);
	}
	.header .menuBlk nav > ul > li._parent._childOpen > a span::before {

	}
	.header .menuBlk nav > ul > li._parent._childOpen > a span::after {

	}
	.header .menuBlk nav > ul > li._parent > a {
		position: relative;
	}
	.header .menuBlk nav > ul > li._parent::before {}
	.header .menuBlk nav > ul > li._parent._childOpen::before {}
	.header .menuBlk nav > ul > li > ul {
		display: flex;
		flex-direction: column;
		gap: 0;
		margin: 0;
		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: 54px;
	}
	.header .menuBlk nav > ul > li > ul > li > a {
		position: relative;
		display: flex;
		font-size: 15px;
		padding: 0px 4%;
		background: #f0fafa;
		opacity: 0;
		visibility: hidden;
	}
	.header .menuBlk nav > ul > li._childOpen > ul > li > a {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		padding: 15px 4%;
	}
	.header .menuBlk nav > ul > li._childOpen > ul > li:not(:first-child) > a {
		border-top: 1px solid #d4d9de;
	}
	.header .menuBlk nav > ul > li._contact {
		display: none;
		border-bottom: none;
	}
	.header .mbMenuBlk {
		position: relative;
		height: 100%;
		aspect-ratio: 1/1;
		cursor: pointer;
		background: var(--mailBtnBg);
	}
	.header .mbMenuBlk::before {
		content: 'MENU';
		color: #fff;
		font-size: 10px;
		position: absolute;
		top: 9px;
		left: 50%;
		transform: translate(-50%, 0);
	}
	.header .mbMenuBdrBlk, .mbMenuBdrBlk span {
		display: inline-block;
		box-sizing: border-box;
	}
	.header .mbMenuBdrBlk {
		position: absolute;
		top: calc(50% + 6px);
		left: 50%;
		width: 28px;
		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: 4px;
		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;
}
@media screen and (max-width: 1024px) {
	main {
		margin: var(--headerH, 55px) 0 0;
	}
}
/*====================================

5. Footer

====================================*/
.footer {
	overflow: hidden;
	background: #e4f8f8;
	.inner {}
	.blk {}
	.logoBlk {
		position: relative;
		padding:40px 0 10px 0;
		@media screen and (max-width: 1024px) {
			text-align: center;
		}
		&::before {
			content:'';
			position:absolute;
			left: 0;
			bottom: 0;
			display: inline-block;
			width: 100vw;
			height: 1px;
			margin: 0 calc(50% - 50vw);
			padding: 0 calc(50vw - 50%);
			background: var(--mailBtnBg);
		}
		a {
			img {
				height: clamp(2.5rem, 2.074rem + 1.82vw, 3.438rem);
			}
		}
	}
	.mainBlk {
		padding: clamp(1.563rem, 1.278rem + 1.21vw, 2.188rem) 0;
		
		
		@media screen and (max-width: 1024px) {
			gap: clamp(2.188rem, 1.761rem + 1.82vw, 3.125rem);
		}
		.mainInfoBlk {
			p {
				@media screen and (max-width: 1024px) {
					text-align: center;
				}
			}
			.mainInfoLinkBlk {
				display: flex;
				flex-flow: column;
				gap: 5px;
				margin-top: clamp(1.25rem, 0.398rem + 3.64vw, 3.125rem);
				@media screen and (max-width: 1024px) {
					align-items: center;
				}
				a {
					&:hover {
						color: #027B79;
						opacity: 1;
					}
				}
			}
			@media screen and (max-width: 1024px) {
				order: 2;
				width: 100%;
			}
		}
		.mainMenuBlk {
			@media screen and (max-width: 1024px) {
				
				display: none;
				
			}
			> ul {
				gap: clamp(1.25rem, 0.767rem + 2.06vw, 2.313rem);
				@media screen and (max-width: 1024px) {
					display: grid;
					grid-template-columns: repeat(2, 1fr);
				}
				> li {
					> a {
						display: inline-block;
						min-width: 130px;
						padding-bottom:5px;
						border-bottom: dashed 1px #05bebb;
						@media screen and (max-width: 1024px) {
							display: block;
						}
					}
					> ul {
						display: grid;
						gap: 10px;
						margin-top: 12px;
						> li {
							font-size: 14px;
							> a {

							}
						}
					}
					a {
						&:hover {
							color: #027B79;
							opacity: 1;
						}
					}
				}
			}
		}
	}
	.copyrightBlk {
		width: 100vw;
		margin: 0 calc(50% - 50vw);
		padding: clamp(1.25rem, 0.966rem + 1.21vw, 1.875rem) 0 clamp(1.25rem, 0.966rem + 1.21vw, 1.875rem);
		background: #7dd0cf;



		p {
			text-align: center;
			font-size: 13px;
			color: #fff;
		}
	}
}

/*====================================

6. Common Style

====================================*/
/*
6.1 Single
====================================*/
.cmn_bgColor {
	background-color: var(--contentsBg);
}
.cmn_outer {
	padding: clamp(3.75rem, 2.898rem + 3.64vw, 5.625rem) 0;
}
.cmn_outer._top {
	padding: clamp(3.75rem, 2.898rem + 3.64vw, 5.625rem) 0 0;
}
.cmn_inner {
	max-width: 1200px;
	padding: 0 50px;
	margin: auto;
}
.cmn_inner._small {
	max-width: 750px;
	padding: 0;
}
.cmn_link1 {
	position: relative;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: min(267px, 100%);
	height: 53px;
	color: #027b79;
	font-size: 1rem;
	border-radius: 100px;
	background: #bcf0f0;
	> span {
		position: relative;
		padding-right: 1em;
		&::before {
			content: '';
			position: absolute;
			top: 53%;
			right: 0;
			transform: translate(0%, -50%) rotate(45deg);
			width: clamp(0.625rem, 0.568rem + 0.24vw, 0.75rem);
			height: clamp(0.625rem, 0.568rem + 0.24vw, 0.75rem);
			border: 0px;
			border-top: solid 2px #027b79;
			border-right: solid 2px #027b79;
			transition: .3s;
		}
	}
	&:hover {
		color: #fff;
		opacity: 1;
		background: #05BEBB;
		span {
			&::before {
				border-top: solid 2px #fff;
				border-right: solid 2px #fff;
			}
		}
	}
}
/*head*/
.cmn_head1 {
	padding-bottom: clamp(0.313rem, 0.17rem + 0.61vw, 0.625rem);
	font-family: var(--mincho);
	font-size: clamp(1.25rem, 0.682rem + 2.42vw, 2.5rem);
	font-weight: 500;
	line-height: calc(45/40);
	border-bottom: 1px solid #06a7a5;
}
/*lead*/
.cmn_lead1 {
	margin-top: clamp(1.563rem, 1.42rem + 0.61vw, 1.875rem);
}
/*title*/
.cmn_title1 {
	font-size: clamp(1.125rem, 0.955rem + 0.73vw, 1.5rem);
}
/*text*/
.cmn_text1 {
	font-size: clamp(0.875rem, 0.847rem + 0.12vw, 0.938rem);
	line-height: 2;
}
/*cmn_mainBox1*/
.cmn_mainBox1 {
	margin-top: clamp(1.875rem, 1.307rem + 2.42vw, 3.125rem)!important;
}
@media screen and (max-width: 1024px) {
	.cmn_inner {
		width: 92%;
		max-width: var(--maxWidth768);
		padding: 0;
	}
	.cmn_link1 {
		max-width: var(--maxWidth300);
	}
	/*text*/
	.cmn_text1 {
		line-height: 1.6;
	}
}
/*
6.2 Section
====================================*/
/* lower top */
.cmn_top {
	height: 315px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;

	#requirements & {
		background-image: url(./images/requirements_top_bg01.webp);
	}
	.inner {
		height: 100%;
	}
	.box {
		height: 100%;
	}
	.headBox {
		height: 100%;
		display: flex;
		align-items: center;
		> ._head {
			font-size: clamp(1.5rem, 1.188rem + 1.33vw, 2.188rem);
			line-height: 1;
			font-weight: 500;
		}
	}
}
/* overview */
.cmn_overview {
	.inner {}
	.blk {}
	.linkBox {
		justify-content: center;
		gap: clamp(0.313rem, 0.057rem + 1.09vw, 0.875rem);
		
		
		a {
			display: inline-grid;
			place-items: center;
			width: min(clamp(6.875rem, 5.114rem + 7.52vw, 10.75rem), 100%);
			height: 38px;
			border-radius: 30px;
			font-size: clamp(0.813rem, 0.756rem + 0.24vw, 0.938rem);
			color: #027b79;
			border: 1px solid #66d0d0;
		}
	}
	.mainBox {
		margin-top: clamp(2.188rem, 1.477rem + 3.03vw, 3.75rem);
		
		> ._head {
			font-size: clamp(1.25rem, 0.881rem + 1.58vw, 2.063rem);
			font-weight: 500;
		}
		> p {
			margin-top: clamp(0.938rem, 0.795rem + 0.61vw, 1.25rem);
			line-height: calc(32/16);
		}
	}
}
/* table */
.cmn_table > dl {
	border: 1px solid #d7dce2;
	background: white;
}
.cmn_table > dl > div {
	display: flex;
	flex-flow: wrap;
	border-bottom: 1px solid #d7dce2;
}
.cmn_table > dl > div:last-child {
	border-bottom: transparent;
}
.cmn_table > dl > div > * {
	padding: 25px 40px;
}
.cmn_table > dl > div > dt {
	width: 225px;
	background: var(--tableItemBg);
}
.cmn_table > dl > div > dd {
	flex: 1;
}
.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;
}
@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 {
		border: 1px solid #d7dce2;
		background: white;
	}
	.cmn_table > dl > div {
		display: flex;
		flex-flow: wrap;
		border-bottom: 1px solid #d7dce2;
	}
	.cmn_table > dl > div:last-child {
		border-bottom: transparent;
	}
	.cmn_table > dl > div > * {
		padding: 20px 15px;
	}
	.cmn_table > dl > div > dt {
		width: 100%;
		padding: 15px 15px;
		border-right: transparent;
	}
	.cmn_table > dl > div > dd {
		flex: unset;
		width: 100%;
	}
	.cmn_table > dl > div > dd a {}
	.cmn_table > dl > div > dd a[href^="tel"] {}
}
/*====================================

7. Module

====================================*/
/*requirements*/
.mod_requirements {
	.linkBox {
		a {
			display: grid;
			place-items: center;
			height: clamp(7.5rem, 2.898rem + 19.64vw, 17.625rem);
			flex: 1;
			color: #fff;
			font-size: clamp(1.563rem, 1.136rem + 1.82vw, 2.5rem);


			&._flesh {
				background: linear-gradient(#068ade 0%, #066ade 100%);
			}
			&._part {
				background: linear-gradient(#14bf48 0%, #01a77a 100%);
			}
			@media screen and (max-width: 1024px) {
				flex: initial;
				width: 100%;
			}
		}
	}
	.mainBox {
		margin-top: clamp(1.875rem, 1.165rem + 3.03vw, 3.438rem);
		padding: clamp(1.563rem, 0.284rem + 5.45vw, 4.375rem) clamp(1.25rem, 0.114rem + 4.85vw, 3.75rem);
		box-shadow: 0px 2px 10px #dde0e3;
		> ._head {
			text-align: center;
		}
		> ._lead {
			margin-top: clamp(0.938rem, 0.653rem + 1.21vw, 1.563rem);
			text-align: center;
		}
		.mainLinkBox {
			margin-top: clamp(0.938rem, 0.511rem + 1.82vw, 1.875rem);
			text-align: center;
			a {
				width: min(661px, 100%);
				height: clamp(2.75rem, 1.301rem + 6.18vw, 5.938rem);
				color: #fff;
				font-size: clamp(0.875rem, 0.619rem + 1.09vw, 1.438rem);
				background: var(--mailBtnBg);
				span {
					&::before {
						border-color: #fff;
					}
				}
				&:hover {
					background: #059F9D;
				}
				@media screen and (max-width: 1024px) {
					max-width: initial;
				}
			}
		}
		.mainTelBox {
			margin-top: clamp(1.875rem, 1.591rem + 1.21vw, 2.5rem);
			text-align: center;

			._desc1 {
				text-align: center;
			}
			.mainTelLinkBox {
				margin-top: clamp(0.625rem, 0.483rem + 0.61vw, 0.938rem);
				a {
					padding-left: 1em;
					line-height: 1;
					font-size: clamp(1.875rem, 1.449rem + 1.82vw, 2.813rem);
					color: #028e8c;
					background-image: url(./images/icon_tel01_green01.svg);
					background-repeat: no-repeat;
					background-position: left 57%;
					background-size: clamp(1.5rem, 1.216rem + 1.21vw, 2.125rem);
				}
			}
			._desc2 {
				margin-top: 10px;
				font-size: clamp(0.875rem, 0.761rem + 0.48vw, 1.125rem);
				text-align: center;
			}
		}
		@media screen and (max-width: 1024px) {}
	}
}
/*modal*/
.mod_modal {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999999;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100dvh;
	padding: 0 50px;
	background-color: rgb(51, 51, 51, 65%);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}
@media screen and (max-width: 1024px) {
	.mod_modal {
		padding: initial;
	}
}
.mod_modal._open {
	transition: all .5s;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}
.mod_modal .inner {
	position: relative;
	min-width: 50%;
	max-height: 90%;
	padding: 60px clamp(0.938rem, 0.795rem + 0.61vw, 1.25rem);
	border-radius: 10px;
	background: #fff;
}
@media screen and (max-width: 1024px) {
	.mod_modal .inner {
		max-width: initial;
	}
}
.mod_modal .blk {
	position: relative;
}
.mod_modal .closeBtn {
	position: absolute;
	top: 15px;
	right: 15px;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 2px solid #000;
	background: #fff;
	pointer-events: auto;
	cursor: pointer;
	transition: all .3s;
}
.mod_modal .closeBtn::before, .mod_modal .closeBtn::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 50%;
	height: 2px;
	background: #000;
	border-radius: 4px;
	transition: all .3s;
}
.mod_modal .closeBtn::before {
	transform: translate(-50%, -50%) rotate(45deg);
}
.mod_modal .closeBtn::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}
@media screen and (min-width: 1025px) {
	.mod_modal .closeBtn:hover {
		background: #000;
		opacity: 1;
	}
	.mod_modal .closeBtn:hover::before, .mod_modal .closeBtn:hover::after {
		background: #fff;
	}
}
.mod_modal .mainBlk {
	display: none;
	max-height: calc((100dvh - 10dvh) - 120px);
	padding: 0 clamp(0rem, -0.568rem + 2.42vw, 1.25rem);
	overflow: auto;
}
.mod_modal .mainBlk._active {
	display: block;
}
/* float link */
.mod_floatLink {
	display: grid;
	gap: 7px;
	top: 107px;
	z-index: 1;
}
.mod_floatLink a {
	display: grid;
	place-items: center;
	width: 50px;
	border-radius: 10px 0 0 10px;
	padding: 25px 0;
	font-size: 17px;
	color: white;
	background: var(--mailBtnBg);
	&._flesh {
		background: var(--flesh);
	}
	&._career {
		background: var(--career);
	}
}
/* pageTop */
.mod_pageTop {
	position: fixed;
	right: 50px;
	@media screen and (max-width: 1024px) {
		right: 4%;
	}
	bottom: -90px;
	z-index: 1;
	transition: .3s;
	&._scrollIn {
		bottom: 110px;
		@media screen and (max-width: 1024px) {
			bottom: 75px;
		}
	}
	a {
		display: inline-grid;
		place-items: center;
		width: 65px;
		aspect-ratio: 1/1;
		border-radius: 50%;
		color: var(--mailBtnBg);
		border: 1px solid #05bebb;
		background: #fff;
		@media screen and (max-width: 1024px) {
			width: 55px;
		}
	}
}
/* contact */
.mod_contact {
	margin: 0 0 90px;
	padding: 70px 0;
	background: var(--contentsBg);
	.inner {}
	.blk {}
	.headBlk {
		.head {
			text-align:center;
		}
		.headSpan {
			display:block;
			font-size: 45px;
			line-height: 1;
		}
	}
	.mainBlk {
		margin: 30px 0 0;
		.mainDesc {
			text-align:center;
		}
	}
	.linkBlk {
		align-items:center;
		justify-content:center;
		gap:20px;
		margin:30px 0 0;
		a{
			display:flex;
			align-items:center;
			justify-content:center;
			width: 280px;
			height: 65px;
			border-radius: 50px;
			border: 1px solid #000;
		}
		a._tel{

		}
		a.mail{}
	}
}
/*====================================

8. Page

====================================*/
/*
Top
====================================*/
/*common start*/
.top_cmn_head {
	font-size: 50px;
	line-height: 1;
	text-align: center;

	span {
		display: block;
		margin: 15px 0 0;
		font-size: 14px;
		font-weight: 500;
	}
}
/*common end*/
.top_mv {
	height: calc(100vh - var(--headerH));
	/* background-image: url(./images/top_mv_bg01.webp); */
	/* background-repeat: no-repeat; */
	/* background-size: cover; */
	/* background-position: center; */
	@media screen and (max-width: 1024px) {
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		width: 100%;
		height: auto;
		max-height: 600px;
		aspect-ratio: 16/16;
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
	}
	.inner {
		height: 100%;
	}
	.blk {
		position: relative;
		height: 100%;
	}
	.catchBlk {
		height: 100%;

		.desc {
			font-weight: 700;
			font-size: clamp(1.75rem, 0.841rem + 3.88vw, 3.75rem);
		}
	}
}
/*slider*/
.top_mv._slider {
	.catchBlk {
		position: relative;
		z-index: 1;
		pointer-events: none;
		p {
			text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
			@media screen and (max-width: 1024px) {
				text-shadow: 0px 0px 2.5px #fff,0px 0px 2.5px #fff;
			}
		}
		> ._catch1 {
			padding-top: clamp(1.875rem, 0.597rem + 5.45vw, 4.688rem);
			font-size: clamp(1.375rem, 0.892rem + 2.06vw, 2.438rem);
			line-height: calc(52 / 39);
			@media screen and (max-width: 1024px) {
				font-weight: 600;
			}
		}
		> ._catch2 {
			margin-top: 10px;
			font-size: clamp(0.875rem, 0.619rem + 1.09vw, 1.438rem);
		}
	}
	.slideBlk {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		img {
		}
		img:nth-child(2) {
			object-position: 49% bottom;
		}
		img:last-of-type {
			object-position: 77% bottom;
		}
	}
}
.top_overview {
	overflow: hidden;
	.inner {}
	.blk {}
	.mainBox {
		gap: clamp(1.563rem, -0.284rem + 7.88vw, 5.625rem);
		align-items: end;
		@media screen and (max-width: 1024px) {
			flex-flow: column-reverse;
		}
		.mainImgBox {
			width: calc(50% - 44px);
			img {
				@media screen and (max-width: 1024px) {
					width: 100%;
					max-height: 500px;
					object-position: center 25%;
				}
			}
			@media screen and (max-width: 1024px) {
				width: 100vw;
				margin: 0 calc(50% - 50vw);

			}
		}
		.mainTextBox {
			flex: 1;
			> ._head {
				font-size: clamp(1.25rem, 0.994rem + 1.09vw, 1.813rem);
				line-height: calc(45 / 29);
				font-weight: 500;
				@media screen and (max-width: 1024px) {
					text-align: center;
				}
			}
		}
		p {
			margin-top: clamp(1.25rem, 0.256rem + 4.24vw, 3.438rem);
			line-height: calc(32 / 16);
		}
	}
}
.top_about {
	.inner {}
	.blk {}
	.headBox {
		> ._head {}
		> ._lead {}
	}
	.mainBox {
		display: grid;
		gap: clamp(3.75rem, 3.182rem + 2.42vw, 5rem);


		> div {
			gap: clamp(1.25rem, -0.739rem + 8.48vw, 5.625rem);
			align-items: end;
		}
		.mainImgBox {
			width: calc(50% + 31px);
			@media screen and (max-width: 1024px) {
				width: 100%;
			}
		}
		.mainTextBox {
			flex: 1;
			> span {
				display: inline-block;
				padding: 5px 15px;
				font-size: 14px;
				color: #fff;
				background: var(--mainColor);
			}
			> ._head {
				margin-top: 12px;
				font-size: clamp(1.563rem, 1.42rem + 0.61vw, 1.875rem);
				line-height: calc(45 / 30);
				font-weight: 500;
			}
			> p {
				margin-top: clamp(0.938rem, 0.795rem + 0.61vw, 1.25rem);
				line-height: calc(32/16);
			}
			> a {
				margin: clamp(1.25rem, 0.824rem + 1.82vw, 2.188rem) auto 0;
				@media screen and (max-width: 1024px) {
					display: flex;
				}
			}
		}
	}
}
.top_infographic {
	background: var(--contentsBg);
	.mainBox {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(min(265px, 100%), 1fr));
		gap: clamp(0.938rem, 0.653rem + 1.21vw, 1.563rem);
		> div {
			aspect-ratio: 1/1;
			padding-top: 15%;
			box-shadow: 0px 3px 15px rgba(199, 208, 217, 0.5);
			background: #fff;
			> ._head {
				margin-top: 6px;
				font-weight: 500;
				font-size: clamp(1.25rem, 0.518rem + 1.14vw, 1.375rem);
				text-align: center;
			}
			> ._date {
				display: block;
				margin-top: 2px;
				text-align: center;
				font-size: 14px;
			}
			&._1 {}
			&._2 {}
		}
		.mainImgBox {
			display: grid;
			place-items: center;
			width: 50px;
			aspect-ratio: 1/1;
			margin: auto;
			img {}
		}
		.mainValueBox {
			margin-top: .8em;
		}
		.mainValueBox._1 {
			> ._value {
				font-size: clamp(3.438rem, -4.982rem + 13.14vw, 4.875rem);
				color: var(--mainColor);
				line-height: 1;
				text-align: center;
				span {
					font-size: 30px;
				}
			}
			> ._desc {
				display: table;
				margin: 8px auto 0;
				font-size: clamp(0.875rem, -0.589rem + 2.29vw, 1.125rem);
			}
		}
		.mainValueBox._2 {
			display: grid;
			grid-auto-flow: column;
			grid-template-rows: repeat(3, auto);
			gap: 6px clamp(0.938rem, 0.653rem + 1.21vw, 1.563rem);
			justify-content: center;
			> ._value {
				align-items: center;
				gap: 15px;
				line-height: 1;
				> span {
					color: var(--mainColor);
					&:nth-child(1) {
						font-size: clamp(1rem, 0.943rem + 0.24vw, 1.125rem);
					}
					&:nth-child(2) {
						font-size: clamp(1.875rem, -1.786rem + 5.71vw, 2.5rem);
						> span {
							font-size: 17px;
						}
					}
				}
			}
		}
		.mainValueBox._3 {
			display: grid;
			grid-auto-flow: column;
			grid-template-rows: repeat(2, auto);
			gap: 6px clamp(0.938rem, 0.653rem + 1.21vw, 1.563rem);
			justify-content: center;
			> ._value {
				font-size: clamp(1.125rem, -0.33rem + 2.27vw, 1.375rem);
				line-height: 1;
				color: var(--mainColor);
				> span {
					font-size: clamp(2.813rem, -2.642rem + 8.52vw, 3.75rem);
				}
			}
		}
	}
	@media screen and (max-width: 768px) {
		.mainBox {
			margin: auto;
			max-width:var(--maxWidth375);
			> div {
				padding-top: 18%;
			}
		}
	}
}
/*
requirements
====================================*/
.requirements_requirements {
	background: #e4f8f8;
	&._part {
		margin-top: clamp(3.75rem, 2.898rem + 3.64vw, 5.625rem);
	}
	.inner {}
	.box {}
	.headBox {
		> ._head {
			font-family: var(--gothic);
		}
	}
	.tabBox {
		margin-top: clamp(1.875rem, 1.591rem + 1.21vw, 2.5rem);
		padding: 0 clamp(0rem, -1.989rem + 8.48vw, 4.375rem);
		ul {
			justify-content: flex-start;
			gap: clamp(0.313rem, 0.057rem + 1.09vw, 0.875rem);
			padding: 0 15px;
			
			> li {
				flex: 1;
				max-width: 243px;
				padding: clamp(0.313rem, 0.17rem + 0.61vw, 0.625rem) 0;
				border-radius: clamp(0.625rem, 0.483rem + 0.61vw, 0.938rem) clamp(0.625rem, 0.483rem + 0.61vw, 0.938rem) 0px 0px;
				font-size: clamp(0.938rem, 0.881rem + 0.24vw, 1.063rem);
				font-weight: 700;
				text-align: center;
				color: #fff;
				background: #85c6c6;
				cursor: pointer;
				
				
				
				
				
				@media screen and (max-width: 1024px) {
					max-width: calc((100% - (5px * 2)) / 3);
				}
				&._active {
					color: #027b79;
					background: #fff;
				}
				span {
					display: block;
					margin-top: clamp(0.188rem, 0.131rem + 0.24vw, 0.313rem);
					font-weight: 500;
					line-height: calc(20/17);
					font-size: clamp(0.813rem, 0.727rem + 0.36vw, 1rem);
				}
			}
		}
	}
	.panelBox {}
	.mainBox {
		padding: clamp(0.938rem, -1.477rem + 10.3vw, 6.25rem) clamp(0.938rem, -1.477rem + 10.3vw, 6.25rem) clamp(1.875rem, -0.114rem + 8.48vw, 6.25rem);
		background: #fff;
		
		
		.mainTableBox {
			dl {
				div {}
				dt {
					font-weight: 500;
				}
				dd {
					a {}
				}
			}
		}
		.mainLinkBox {
			margin-top: clamp(2.188rem, 1.051rem + 4.85vw, 4.688rem);
			text-align: center;
			
			
			a {
				width: min(375px, 100%);
				height: clamp(3.75rem, 3.324rem + 1.82vw, 4.688rem);
				font-size: clamp(1.063rem, 0.92rem + 0.61vw, 1.375rem);
				color: #fff;
				background: #05bebb;
				&:hover {
					background: #059F9D;
				}
				span {
					&::before {
						border-color: #fff;
					}
				}
			}
		}
	}
}
/*テスト*/