@charset "UTF-8";

/* =Reset
-------------------------------------------------------------- */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;word-wrap:break-word;overflow-wrap:break-word;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {display: block;}
table{border-collapse:collapse;border-spacing:0;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:normal;}
li{list-style:none;}
caption,th{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:inherit;}
q:before,q:after{content:'';}
abbr,acronym{border:0;font-variant:normal;}
sup{vertical-align:super;}
sub{vertical-align:text-bottom;}
input,textarea,select,button{font-family:inherit;font-size:inherit;font-weight:inherit;}
input,textarea,select,button{*font-size:100%;}
legend{color:#000;}
img {vertical-align:top;}
input[type="radio"],input[type="checkbox"] {vertical-align: -2px;}
label {cursor: pointer;}


/* =Common
-------------------------------------------------------------- */
body {
	text-align: center;
	line-height: 1;
	-webkit-text-size-adjust: 100%;
}
img {
	max-width: 100%;
	height: auto;
}
input[type="submit"], input[type="reset"], button {
	appearance: none;
	cursor: pointer;
}

@font-face {
	font-family: 'DIN';
	src: url('fonts/D-DIN-PRO-700-Bold.otf') format('opentype');
	font-weight: 700;
}
@font-face {
	font-family: 'DIN';
	src: url('fonts/D-DIN-PRO-500-Medium.otf') format('opentype');
	font-weight: 500;
}
@font-face {
	font-family: 'DIN';
	src: url('fonts/D-DIN-PRO-400-Regular.otf') format('opentype');
	font-weight: 400;
}

/* =Styles 
-------------------------------------------------------------- */
body {
	font-family: 'Noto Sans JP', YuGothic, -apple-system, BlinkMacSystemFont, 'Yu Gothic Medium', 'Yu Gothic', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;
	font-weight: 500;
	font-optical-sizing: auto;
	color: #4e515d;
	background: #fff;
}
a {
	text-decoration: none;
	color: #4e515d;
}
.din {
	font-family: 'DIN', sans-serif;
}
@media ( min-width: 601px ){
	body {
		font-size: 14px;
	}
	.sp {
		display: none !important;
	}
	.inner {
		max-width: 1000px;
		margin: 0 auto;
		padding: 0 20px;

	}
}
@media ( min-width: 961px ){
	.sptab {
		display: none !important;
	}
}
@media ( max-width: 960px ){
	.pc {
		display: none !important;
	}
	.inner {
		padding: 0 min(5.3333vw, 40px);
	}
}
@media ( max-width: 600px ){
	body {
		font-size: 4vw;
	}
	.pctab {
		display: none !important;
	}
}


/* IE11のみハック */
_:-ms-lang(x)::-ms-backdrop, .selector {

}

:root {
	--green: #0f4727;
	--grey: #eaebee;
}

/* =header 
-------------------------------------------------------------- */
.header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background: #fff;
	z-index: 100;
}
.header .in {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.header .header_info {
	text-align: left;
	line-height: 1.4;
}
.header .nav_wrap nav ul li a {
	color: var(--green);
}
.header .nav_wrap .btn a {
	position: relative;
	display: block;
	color: #fff;
	font-weight: bold;
	background: url(img/bg_btn.jpg)no-repeat center/cover;
}
.header .menu_btn {
	background: var(--green);
	cursor: pointer;
	box-sizing: border-box;
}
.header .menu_btn .btn_in {
	position: relative;
	height: 100%;
}
.header .menu_btn .btn_in span {
	position: absolute;
	left: 0;
	width: 100%;
	background: #fff;
}
.header .menu_btn .btn_in span:nth-child(1) {
	top: 0;
}
.header .menu_btn .btn_in span:nth-child(2) {
	top: 50%;
	transform: translateY(-50%);
}
.header .menu_btn .btn_in span:nth-child(3) {
	bottom: 0;
}
.header .nav_wrap nav ul li.insta a {
	display: inline-block;
}
.header .menu_warap .insta a {
	display: inline-block;
}

/*bp*/
@media ( min-width: 961px ){
	.header {
		border-radius: 0 0 0 75px;
	}
	.header .in {
		height: 101px;
		padding: 17px min(3vw, 60px);
		box-sizing: border-box;
	}
	.header .logo {
		width: min(14vw, 200px);
		margin-right: 10px;
	}
	.header .header_info {
		font-size: 12px;
	}
	.header .nav_wrap {
		display: flex;
		align-items: center;
		gap: 0 min(3vw, 25px);
	}
	.header .nav_wrap nav ul {
		display: flex;
		gap: 0 min(2vw, 20px);
		align-items: center;
	}
	.en .header .nav_wrap nav ul {
		display: flex;
		gap: 0 min(1.8vw, 15px);
	}
	.header .nav_wrap nav ul li.lang ul {
		gap: 0 min(1vw, 5px);
	}
	.header .nav_wrap nav ul li.lang {
		border-left: 1px solid #4e515d;
		padding-left: 15px;
		color: var(--green);
	}
	.header .nav_wrap nav ul li.lang a {
		color: #bbb;
	}
	.header .nav_wrap nav ul li.lang a:hover {
		color: var(--green);
	}
	.header .nav_wrap nav ul li.insta {
		width: 27px;
	}
	.header .nav_wrap nav ul li a {
		position: relative;
		font-size: 13px;
	}
	.header .nav_wrap nav ul li a:hover::after {
		content: '';
		position: absolute;
		left: 0;
		bottom: -0.3em;
		width: 100%;
		border-bottom: 2px solid var(--green);
	}
	.header .nav_wrap nav ul li.insta a:hover::after {
		display: none;
	}
	.header .nav_wrap .btn {
		width: min(15vw, 180px);
	}
	.header .nav_wrap .btn a {
		font-size: min(1.2vw, 18px);
		padding: 23px 0 24px;
		border-radius: 33px;
		transition: opacity .3s;
	}
	.header .nav_wrap .btn a:hover {
		opacity: 0.8;
	}
	.header .menu_btn {
		display: none;
	}
}
@media ( max-width: 960px ){
	.header {
		border-radius: 0 0 0 min(10vw, 75px);
	}
	.header .in {
		padding: 0 0 0 min(7.0667vw, 53px);
	}
	.header .in .logo {
		width: min(35vw, 344px);
	}
	.header .header_info {
		font-size: 2vw;
	}
	.header .nav_wrap {
		display: none;
	}
	.header .menu_warap {
		display: flex;
		gap: 0 5vw;
		align-items: center;
    	justify-content: flex-end;
	}
	.header .menu_btn {
		padding: min(5.3333vw, 40px) min(4.2667vw, 32px) min(5.0667vw, 38px) min(4.4vw, 33px);
		width: min(16.6667vw, 125px);
		height: min(16.6667vw, 125px);
	}
	.header .menu_btn .btn_in span {
		height: min(0.5333vw, 4px);
	}
	.header .sp_lang ul {
		display: flex;
		gap: 0 1vw;
		color: var(--green);
	}
	.header .sp_lang ul li a {
		color: #bbb;
	}
	.header .menu_warap .insta {
		width:  min(6.666vw, 50px);
	}
}

/* =gnav 
-------------------------------------------------------------- */
.gnav {
	position: fixed;
	top: 0;
	left: 100%;
	right: 0;
	width: 100%;
	margin: 0 auto;
	height: 100%;
	background: var(--green);
	z-index: 100;
	transition: left .4s;
}
.gnav.open {
	left: 0;
}
.gnav .in {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: min(24.6667vw, 185px) min(5.3333vw, 40px) min(6.6667vw, 50px);
	box-sizing: border-box;
	overflow: auto;
}
.gnav .in .close {
	position: absolute;
	top: min(5.7333vw, 43px);
	right: min(6.9333vw, 52px);
	width: min(8.8vw, 66px);
	height: min(8.8vw, 66px);
	cursor: pointer;
}
.gnav .in .gnav_list {
	margin: 0 0 min(8vw, 60px);
}
.gnav .in .gnav_list ul {
	border-top: min(0.2667vw, 2px) solid #516c5d;
}
.gnav .in .gnav_list ul li {
	border-bottom: min(0.2667vw, 2px) solid #516c5d;
}
.gnav .in .gnav_list ul li a {
	display: flex;
	align-items: center;
	color: #fff;
	text-align: left;
	font-size: min(5vw, 41px);
	padding-left: min(5.3333vw, 40px);
	height: min(17vw, 162px);
}
.gnav .in .gnav_list ul li a span {
	padding-left: min(9.7333vw, 73px);
	background: url(img/arrow.png)no-repeat center left/min(4vw, 30px) min(6.4vw, 48px);
}
.gnav .in .btn {
	margin: auto 0 0;
}
.gnav .in .btn a {
	position: relative;
	display: block;
	color: var(--green);
	font-weight: bold;
	background: #fff;
}
.gnav .in .btn a::after {
	content: '';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: url(img/btn_arrow2.png)no-repeat center/cover;
}
.gnav .in .btn a {
	font-size: min(6.8vw, 51px);
	padding: min(10.6667vw, 80px) min(2.2vw, 16.5px) min(10.5333vw, 79px) 0;
	border-radius: min(14vw, 105px);
}
.gnav .in .btn a::after {
	right: min(8.5333vw, 64px);
	width: min(6.4vw, 48px);
	height: min(7.3333vw, 55px);
}
/* =kv 
-------------------------------------------------------------- */
.kv {
	position: relative;
}
.kv .catch {
	position: absolute;
	left: 0;
	z-index: 1;
}
.kv .kv_img {
	position: relative;
	width: calc(100% + (50vw - 50%));
	margin-left: calc((50vw - 50%)*-1);
}
.kv .kv_img .swiper {
	height: 100%;
}
/*bp*/
@media ( min-width: 961px ){
	.kv {
		margin: 0 0 74px;
	}
	.kv .kv_img {
		border-radius: 0 0 150px 0;
		overflow: hidden;
		/*height: 630px; バナー設置時*/
		height: 750px;
	    background: url(img/kv.jpg)no-repeat left bottom 60%/cover;
	}
	.en .kv .kv_img {
		height: 750px;
	}
	.kv .kv_img .swiper-slide.slide_1 {
		background: url(img/kv_1.jpg)no-repeat top center/cover;
	}
	.kv .kv_img .swiper-slide.slide_2 {
		background: url(img/kv_2.jpg)no-repeat top center/cover;
	}
	.kv .kv_img .swiper-slide.slide_3 {
		background: url(img/kv_3.jpg)no-repeat top center/cover;
	}
	.kv .inner {
		position: relative;
	}
	.kv .catch {
		position: absolute;
		left: 20px;
		bottom: -150px;
		display: flex;
		align-items: center;
		width: 440px;
		height: 300px;
		background: #fff;
		border-radius: 0 150px 150px 0;
	}
	.kv .catch::before {
		content: '';
		position: absolute;
		top: 0;
		right: 100%;
		width: 100vw;
		height: 100%;
		background: #fff;
	}
}
@media ( max-width: 960px ){
	.kv {
		margin: 0 0 min(11.7333vw, 88px);
	}
	.kv .kv_img {
		height: min(133.3333vw, 1000px);
		/*height: min(106.666vw, 800px); バナー設置時*/
	}
	.en .kv .kv_img {
		height: min(133.3333vw, 1000px);
	}
	.kv .kv_img .swiper-slide.slide_1 {
		background: url(img/kv_1_sp.png)no-repeat right bottom/cover;
	}
	.kv .kv_img .swiper-slide.slide_2 {
		background: url(img/kv_2_sp.png)no-repeat right bottom/cover;
	}
	.kv .kv_img .swiper-slide.slide_3 {
		background: url(img/kv_3_sp.png)no-repeat right bottom/cover;
	}
	.kv .catch {
		width: min(79.6vw, 597px);
		bottom: max(-25.3333vw, -190px);
	}
}


/* =※section
-------------------------------------------------------------- */
section .sec_ttl {
	color: #000;
	position: relative;
}
section .sec_ttl::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0 auto;
	background: #d5b338;
}
section .sec_caption {
	color: var(--green);
	font-weight: bold;
}

/*bp*/
@media ( min-width: 961px ){
	section .sec_ttl {
		font-size: 90px;
		font-weight: bold;
		padding: 0 0 46px;
	}
	section .sec_ttl::after {
		width: 100px;
		height: 5px;
	}
	section .sec_caption {
		font-size: 30px;
	}
}
@media ( max-width: 960px ){
	section .sec_ttl {
		font-size: min(13.7333vw, 103px);
		font-weight: bold;
		padding: 0 0 min(5.2vw, 39px);
	}
	section .sec_ttl::after {
		width: min(17.3333vw, 130px);
		height: min(0.6667vw, 5px);
	}
	section .sec_caption {
		font-size: min(4.4vw, 33px);
	}
}

/* =about 
-------------------------------------------------------------- */
.about {
	position: relative;
	overflow: hidden;
}
.about::before {
	content: '';
	position: absolute;
	background: var(--grey);
	z-index: -1;
}
.about .contents .text_wrap {
	position: relative;
}
.about .contents .text_wrap p {
	position: absolute;
	text-align: left;
}
.about .contents .text_wrap p .bg {
	display: inline-block;
	background: #fff;
}
.about .contents .text_wrap p .color {
	color: var(--green);
	font-weight: bold;
}

/*bp*/
@media ( min-width: 961px ){
	.about {
		margin: 0 0 149px;
	}
	.about .inner {
		padding: 168px 20px 0;
		position: relative;
	}
	.about .inner::before {
		content: '';
		position: absolute;
		top: 0;
		right: calc((50vw - 50%)*-1);
		width: calc(100% + (50vw - 50%));
		height: 800px;
		border-radius: 400px 0 0 400px;
		background: var(--grey);
		z-index: -1;
	}
	.about .sec_ttl {
		margin: 0 0 50px;
	}
	.about .sec_caption {
		margin: 0 0 80px;
	}
	.about .contents .text_wrap + .text_wrap {
		margin-top: 100px;
	}
	.about .contents .text_wrap .img {
		width: 850px;
	}
	.about .contents .text_wrap:first-child .img {
		margin-left: -240px;
	}
	.about .contents .text_wrap:last-child .img {
		margin-right: -240px;
		margin-left: auto;
	}
	.about .contents .text_wrap p {
		font-size: 35px;
	}
	.about .contents .text_wrap:first-child p {
		left: 50%;
		bottom: 113px;
	}
	.about .contents .text_wrap:last-child p {
		left: 80px;
		bottom: 80px;
	}
	.about .contents .text_wrap p .bg {
		padding: 2px 7px 4px;
		border-radius: 7px;
	}
	.about .contents .text_wrap p br + .bg {
		margin-top: 15px;
	}
}
@media ( max-width: 960px ){
	.about {
		padding: min(29.8667vw, 224px) 0 0;
		margin: 0 0 min(12.4vw, 93px);
		/*margin: max(-21.333vw, -160px) 0 min(12.4vw, 93px); バナー設置時*/
	}
	.en .about {
		margin: 0 0 min(12.4vw, 93px); 
	}
	.about::before {
		top: 0;
		right: 0;
		width: min(93.3333vw, 700px);
		height: min(128vw, 960px);
		border-radius: min(64vw, 480px) 0 0 min(64vw, 480px);
	}
	.about .sec_ttl {
		margin: 0 auto min(6.8vw, 51px);
	}
	.about .sec_caption {
		margin: 0 0 min(9.6vw, 72px);
	}
	.about .contents .text_wrap .img {
		width: min(82.5333vw, 619px);
	}
	.about .contents .text_wrap:first-child .img {
		margin-left: max(-5.3333vw, -40px);
	}
	.about .contents .text_wrap:last-child .img {
		margin-right: max(-5.3333vw, -40px);
		margin-left: auto;
	}
	.about .contents .text_wrap + .text_wrap {
		margin-top: min(7.7333vw, 58px);
	}
	.about .contents .text_wrap p {
		font-size: min(4.9333vw, 37px);
	}
	.about .contents .text_wrap:first-child p {
		right: 0;
		bottom: min(8.8vw, 66px);
	}
	.about .contents .text_wrap:last-child p {
		left: 0;
		bottom: min(8.5333vw, 64px);
	}
	.about .contents .text_wrap p .bg {
		padding: min(0.2667vw, 2px) min(0.9333vw, 7px) min(0.5333vw, 4px);
		border-radius: min(0.9333vw, 7px);
	}
	.about .contents .text_wrap p br + .bg {
		margin-top: min(2.6667vw, 20px);
	}
}

/* =feature 
-------------------------------------------------------------- */
.feature {
	overflow: hidden;
	background: var(--grey);
}
.feature .feature_list li {
	position: relative;
}
.feature .feature_list li .num {
	position: absolute;
}
.feature .feature_list li dl dt {
	color: var(--green);
	font-weight: bold;
	letter-spacing: 0.05em;
}
.feature .feature_list li dl dd {
	text-align: left;
	letter-spacing: 0.05em;
}

/*bp*/
@media ( min-width: 961px ){
	.feature {
		padding: 131px 0 124px;
		border-radius: min(20vw, 150px) min(20vw, 150px) 0 0;
	}
	.feature .sec_ttl {
		margin: 0 0 50px;
	}
	.feature .sec_caption {
		margin: 0 0 78px;
	}
	.feature .feature_list li {
		display: flex;
		justify-content: space-between;
	}
	.feature .feature_list li:nth-child(even) {
		flex-direction: row-reverse;
	}
	.feature .feature_list li + li {
		margin-top: 107px;
	}
	.feature .feature_list li .img {
		flex: 0 1 600px;
		position: relative;
	}
	.feature .feature_list li:nth-child(odd) .img {
		margin-left: -140px;
	}
	.feature .feature_list li:nth-child(even) .img {
		margin-right: -140px;
	}
	.feature .feature_list li:nth-child(1) .num {
		width: 133px;
	}
	.feature .feature_list li:nth-child(2) .num {
		width: 149px;
	}
	.feature .feature_list li:nth-child(3) .num {
		width: 151px;
	}
	.feature .feature_list li:nth-child(odd) .num {
		top: 10px;
		right: 0;
	}
	.feature .feature_list li:nth-child(even) .num {
		top: 10px;
		left: 0;
	}
	.feature .feature_list li dl {
		flex: 0 0 50%;
		text-align: left;
	}
	.feature .feature_list li:nth-child(odd) dl dt {
		text-align: right;
	}
	.feature .feature_list li:nth-child(1) dl dt {
		padding-right: 160px;
	}
	.feature .feature_list li:nth-child(2) dl dt {
		padding-left: 170px;
	}
	.feature .feature_list li:nth-child(3) dl dt {
		padding-right: 175px;
	}
	.feature .feature_list li dl dt {
		font-size: 40px;
		line-height: 1.25;
		white-space: nowrap;
		margin: 0 0 35px;
	}
	.feature .feature_list li dl dd {
		font-size: 24px;
		line-height: 1.5;
	}
}
@media ( max-width: 960px ){
	.feature {
		padding: min(27.4667vw, 206px) 0 min(12vw, 90px);
		border-radius: 150px 150px 0 0;
	}
	.feature .sec_ttl {
		margin: 0 auto min(6.6667vw, 50px);
	}
	.feature .sec_caption {
		margin: 0 0 min(14vw, 105px);
	}
	.feature .feature_list li + li {
		margin-top: min(10.6667vw, 80px);
	}
	.feature .feature_list li:nth-child(odd) .num {
		right: min(1.8667vw, 14px);
	}
	.feature .feature_list li:nth-child(even) .num {
		left: min(1.8667vw, 14px);
	}
	.feature .feature_list li:nth-child(1) .num {
		width: min(20.8vw, 156px);
	}
	.feature .feature_list li:nth-child(2) .num {
		width: min(23.7333vw, 178px);
	}
	.feature .feature_list li:nth-child(3) .num {
		width: min(23.6vw, 177px);
	}
	.feature .feature_list li .img {
		margin-bottom: min(6.6667vw, 50px);
	}
	.feature .feature_list li .img {
		width: min(84.6667vw, 635px);
	}
	.feature .feature_list li:nth-child(odd) .img {
		margin-left: max(-5.3333vw, -40px);
	}
	.feature .feature_list li:nth-child(even) .img {
		margin-right: max(-5.3333vw, -40px);
		margin-left: auto;
	}
	.feature .feature_list li dl dt {
		font-size: min(8.2667vw, 62px);
		line-height: 1.258;
		padding: 0 min(2.4vw, 18px);
		margin: 0 0 min(2.2667vw, 17px);
	}
	.feature .feature_list li:nth-child(odd) dl dt {
		text-align: right;
	}
	.feature .feature_list li:nth-child(even) dl dt {
		text-align: left;
	}
	.feature .feature_list li dl dd {
		font-size: min(4.9333vw, 37px);
		line-height: 1.5;
		padding: 0 min(2.4vw, 18px);
	}
}

/* =cv_area
-------------------------------------------------------------- */
.cv_area .btn a {
	position: relative;
	display: block;
	color: #fff;
	font-weight: bold;
	background: url(img/bg_btn.jpg)no-repeat center/cover;
}
.cv_area .btn a::after {
	content: '';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: url(img/btn_arrow.png)no-repeat center/cover;
}
@media ( min-width: 961px ){
	.cv_area {
		padding: 101px 0;
	}
	.cv_area .btn_text {
		font-size: 35px;
		font-weight: bold;
		margin: 0 0 33px;
	}
	.cv_area .btn {
		width: 600px;
		margin: 0 auto;
	}
	.cv_area .btn a {
		font-size: 40px;
		padding: 55px 5px 56px 0;
		border-radius: min(14vw, 105px);
		transition: opacity .3s;
	}
	.cv_area .btn a:hover {
		opacity: .8;
	}
	.cv_area .btn a::after {
		right: min(8.5333vw, 64px);
		width: min(6.4vw, 48px);
		height: min(7.3333vw, 55px);
	}
}
@media ( max-width: 960px ){
	.cv_area {
		padding: min(8.8vw, 66px) 0 min(12vw, 90px);
	}
	.cv_area .btn_text {
		font-size: min(5.4667vw, 41px);
		font-weight: bold;
		margin: 0 0 min(6vw, 45px);
	}
	.cv_area .btn a {
		font-size: min(6.8vw, 51px);
		padding: min(10.9333vw, 82px) min(2.2vw, 16.5px) min(10.2667vw, 77px) 0;
		border-radius: min(14vw, 105px);
	}
	.cv_area .btn a::after {
		right: min(8.5333vw, 64px);
		width: min(6.4vw, 48px);
		height: min(7.3333vw, 55px);
	}
}
/* =menu 
-------------------------------------------------------------- */
.menu {
	background: var(--grey);
}
.menu .text {
	color: #000;
	font-weight: bold;
}
.menu .text .din:last-child {
	position: relative;
	z-index: 2;
	display: inline-block;
}
.menu .text .din:last-child::before {
	content: '';
	position: absolute;
	left: -0.15em;
	bottom: 0.05em;
	width: 100%;
	height: 0.3em;
	background: #FFEE00;
	z-index: -1;
}
.menu .menu_list > dl > dt {
	display: flex;
	align-items: center;
	background: #fff;
	box-sizing: border-box;
}
.menu .menu_list > dl > dt .menu_cate {
	text-align: left;
}
.menu .menu_list > dl > dd dl {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	text-align: left;
}
.menu .menu_list > dl > dd dl dt .star {
	display: block;
	color: #d5b338;
}
.menu .menu_list > dl > dd dl dt .indent {
	text-indent: -1em;
	padding-left: 1em;
}
.menu .menu_list > dl > dd dl .price {
	flex: 1 1 auto;
	display: flex;
	align-items: baseline;
	justify-content: flex-end;
	color: var(--green);
	white-space: nowrap;
}
.menu .menu_list > dl > dd dl .price .yen {
	font-weight: bold;
	font-family: 'Noto Sans JP', YuGothic, -apple-system, BlinkMacSystemFont, 'Yu Gothic Medium', 'Yu Gothic', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;
}
.menu .menu_list > dl > dd dl .price .price_text.yen {
	color: #4e515d;
	font-weight: normal;
}
.menu .note {
	text-align: left;
}
.menu .menu_list > dl > dd dl .price .original {
	position: relative;
	color: #4e515d;
}
.menu .menu_list > dl > dd dl .price .original::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	height: 1px;
	transform: translateY(-50%);
	background: #000;
}
.menu .menu_list > dl > dd dl .price .original::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	background: url(img/icon_arrow.png)no-repeat center/cover;
}
.menu .menu_list > dl > dd dl .price.noboder .original::before,
.menu .menu_list > dl > dd dl .price.noboder .original::after {
	display: none;
}
/*bp*/
@media ( min-width: 961px ){
	.menu {
		padding: 130px 0 min(12vw, 90px);
		margin: 0 0 min(13.0667vw, 98px);
		border-radius: 150px 150px 0 0;
	}
	.menu .sec_ttl {
		margin: 0 0 50px;
	}
	.menu .sec_caption {
		margin: 0 0 60px;
	}
	.menu .text {
		font-size: 47px;
		white-space: nowrap;
		margin: 0 0 70px;
	}
	.menu .text .sub {
		display: inline-block;
		font-size: 35px;
		margin: 5px 0;
	}
	.menu .text .open {
		font-size: 57px;
	}
	.menu .text .num {
		font-size: 100px;
	}
	.menu .text .off {
		font-size: 70px;
	}
	.menu .menu_list > dl > dd dl dt .sub {
		display: block;
	}
	.menu .menu_list > dl > dd dl dt .inline {
		display: inline-block;
		padding-left: 0.5em;
	}
	.menu .menu_list > dl > dt {
		padding: 21px 60px 19px;
		margin: 0 0 0;
		height: 130px;
		border-radius: 0 85px 0 85px;
	}
	.menu .menu_list > dl > dt .icon {
		width: 90px;
	}
	.menu .menu_list > dl > dt .menu_cate {
		font-size: 35px;
		padding-left: 30px;
	}
	.menu .menu_list > dl > dt .menu_cate .small {
		display: block;
		font-size: 26px;
		margin-top: 10px;
	}
	.menu .menu_list > dl > dd {
		max-width: 880px;
		margin: 0 auto;
	}
	.menu .menu_list > dl:not(:last-child) {
		padding: 0 0 min(8.6667vw, 65px);
	}
	.menu .menu_list > dl > dd dl {
		padding: 37px 0;
		min-height: 120px;
		border-bottom: 3px solid #d5d7dd;
		box-sizing: border-box;
	}
	.menu .menu_list > dl > dd dl dt .star,
	.menu .menu_list > dl > dd dl dt .menu_ttl {
		font-size: 30px;
		line-height: 1.27;
	}
	.menu .menu_list > dl > dd dl dt .star {
		margin: 0 0 5px;
	}
	.menu .menu_list > dl > dd dl dt .sub {
		font-size: 24px;
		font-weight: 400;
		line-height: 1.45;
		margin-top: 5px;
	}
	.menu .menu_list > dl > dd dl .price {
		font-size: 62px;
	}
	.menu .menu_list > dl > dd dl .price.noboder {
		font-size: 50px;
	}
	.menu .menu_list > dl > dd dl .price .yen {
		font-size: 41px;
	}
	.menu .menu_list > dl > dd dl .price.noboder .yen {
		font-size: 33px;
	}
	.menu .menu_list > dl > dd dl .price .price_text.yen {
		font-size: 24px;
		margin-right: 20px;
	}
	.menu .menu_list > dl > dd dl .price .price_text.yen .din {
		font-size: 30px;
	}
	.menu .menu_list > dl > dd dl .price .original {
		font-size: 50px;
		padding-right: 55px;
		margin-right: 20px;
	}
	.menu .menu_list > dl > dd dl .price.noboder .original {
		padding-right: 0;
	}
	.menu .menu_list > dl > dd dl .price .original::before {
		height: 2px;
		width: calc(100% - 55px);
	}
	.menu .menu_list > dl > dd dl .price .original::after {
		width: 40px;
		height: 37px;
	}
	.menu .menu_list > dl > dd dl .price .original .yen {
		font-size: 33px;
	}
	.menu .menu_list > dl > dd .note {
		margin-top: 30px;
		text-align: right;
	}
	.menu .note {
		font-size: 20px;
		margin-top: 51px;
		text-align: right;
	}
}
@media ( max-width: 960px ){
	.menu {
		padding: min(27.4667vw, 206px) 0 min(12vw, 90px);
		margin: 0 0 min(13.0667vw, 98px);
		border-radius: min(20vw, 150px) min(20vw, 150px) 0 0;
	}
	.menu .sec_ttl {
		margin: 0 auto min(6.6667vw, 50px);
	}
	.menu .sec_caption {
		margin: 0 0 min(8.9333vw, 67px);
	}
	.menu .text {
		font-size: min(5.7333vw, 43px);
		white-space: nowrap;
		margin: 0 0 min(8.4vw, 63px);
	}
	.menu .text .sub {
		font-size: min(4.5vw, 36px);
	}
	.menu .text .open {
		font-size: min(7.0667vw, 53px);
	}
	.menu .text .num {
		font-size: min(15vw, 95px);
	}
	.menu .text .off {
		font-size: min(8vw, 60px);
	}
	.menu .menu_list > dl > dd dl dt .menu_ttl,
	.menu .menu_list > dl > dd dl dt .sub {
		display: inline-block;
	}
	.menu .menu_list > dl > dd dl dt .sub.block {
		display: block;
	}
	.menu .menu_list > dl > dt {
		padding: min(3.7333vw, 28px) min(3.2vw, 24px) min(3.6vw, 27px);
		margin: 0 0 min(3.3333vw, 25px);
		height: min(22.6667vw, 170px);
		border-radius: 0 min(11.3333vw, 85px) 0 min(11.3333vw, 85px);
	}
	.menu .menu_list > dl > dt .icon {
		width: min(15.3333vw, 115px);
	}
	.menu .menu_list > dl > dt .menu_cate {
		font-size: min(5.2vw, 39px);
		line-height: 1.36;
		padding-left: min(5.0667vw, 38px);
	}
	.menu .menu_list > dl > dt .menu_cate .small {
		display: block;
		font-size: min(4.1333vw, 31px);
	}
	.menu .menu_list > dl:not(:last-child) {
		padding: 0 0 min(8.6667vw, 65px);
	}
	.menu .menu_list > dl > dd dl {
		gap: min(1.3333vw, 10px) 0;
		padding: min(3.8667vw, 29px) 0;
		min-height: min(19.3333vw, 145px);
		border-bottom: 0.4vw solid #d5d7dd;
		box-sizing: border-box;
	}
	.menu .menu_list > dl > dd dl dt .block {
		display: block;
	}
	.menu .menu_list > dl > dd dl dt .star,
	.menu .menu_list > dl > dd dl dt .menu_ttl {
		font-size: min(4.8vw, 36px);
		line-height: 1.27;
	}
	.menu .menu_list > dl > dd dl dt .sub {
		font-size: min(3.5vw, 25px);
		line-height: 1.39;
		font-weight: 400;
	}
	.menu .menu_list > dl > dd dl .price {
		font-size: min(8.2667vw, 62px);
	}
	.menu .menu_list > dl > dd dl .price.noboder {
		font-size: min(6.6667vw,50px);
	}
	.menu .menu_list > dl > dd dl .price .yen {
		font-size: min(5.4667vw, 41px);
	}
	.menu .menu_list > dl > dd dl .price.noboder .yen {
		font-size: min(4.4vw,33px);
	}
	.menu .menu_list > dl > dd dl .price .price_text.yen {
		font-size: min(2.8vw,24px);
		margin-right: min(2vw, 20px);
	}
	.menu .menu_list > dl > dd dl .price .price_text.yen .din {
		font-size: min(4vw,30px);
	}
	.menu .menu_list > dl > dd dl .price .original {
		font-size: min(6.6667vw,50px);
		padding-right: min(8vw, 55px);
		margin-right: min(1.3333vw, 10px);
	}
	.menu .menu_list > dl > dd dl .price.noboder .original {
		padding-right: 0;
	}
	.menu .menu_list > dl > dd dl .price .original::before {
		height: 2px;
		width: calc(100% - min(8vw, 55px));
	}
	.menu .menu_list > dl > dd dl .price .original::after {
		width: min(5.3333vw,40px);
		height: min(4.9333vw,37px);
	}
	.menu .menu_list > dl > dd dl .price .original .yen {
		font-size: min(4.4vw,33px);
	}
	.menu .note {
		font-size: min(3.5vw, 25px);
		margin-top: min(4.9333vw, 37px);
		text-align: right;
		line-height: 1.2;
	}
}

/* =flow 
-------------------------------------------------------------- */
.flow {
	position: relative;
	overflow: hidden;
}
.flow .flow_list .swiper .swiper-slide .img_wrap {
	position: relative;
}
.flow .flow_list .swiper .swiper-slide .img_wrap .num {
	position: absolute;
	left: 0;
	right: 0;
	color: #4e515d;
	margin: 0 auto;
}
.flow .flow_list .swiper .swiper-slide dl dt {
	color: var(--green);
	font-weight: bold;
}
.flow .flow_list .swiper .swiper-slide dl dd {
	text-align: left;
}
.flow .flow_list .swiper .swiper-slide dl dd .note {
	display: block;
}
@media ( min-width: 961px ){
	.flow {
		margin: 0 0 145px;
	}
	.flow .inner {
		position: relative;
		padding: 126px 20px 0;
	}
	.flow .inner::before {
		content: '';
		position: absolute;
		top: 0;
		right: calc((50vw - 50%)* -1);
		width: calc(100% + (50vw - 50%));
		height: 800px;
		border-radius: 400px 0 0 400px;
		background: var(--grey);
		z-index: -1;
	}
	.flow .sec_ttl {
		margin: 0 0 50px;
	}
	.flow .sec_caption {
		margin: 0 0 68px;
	}
	.flow .flow_list {
		overflow: hidden;
		width: 100vw;
		padding: 0 calc(50vw - 50%);
		margin-left: calc((50vw - 50%)* -1);
		box-sizing: border-box;
	}
	.flow .flow_list .swiper {
		max-width: 880px;
		overflow: unset;
	}
	.flow .flow_list .swiper .swiper-slide {
		width: 365px;
	}
	.flow .flow_list .swiper .swiper-slide .img_wrap {
		margin: 0 0 40px;
	}
	.flow .flow_list .swiper .swiper-slide .img_wrap .num {
		top: 46px;
		font-size: 36px;
		width: 50px;
		padding: 0 0 20px;
		border-bottom: 2px solid #4e515d;
	}
	.flow .flow_list .swiper .swiper-slide .img_wrap .img {
		width: 350px;
		margin: 0 auto;
	}
	.flow .flow_list .swiper .swiper-slide dl dt {
		font-size: 28px;
		margin: 0 0 27px;
	}
	.flow .flow_list .swiper .swiper-slide dl dd {
		font-size: 22px;
		line-height: 1.63;
	}
	.flow .flow_list .swiper .swiper-slide dl dd .note {
		font-size: 18px;
		line-height: 1.7;
	}
}
@media ( max-width: 960px ){
	.flow {
		padding: min(26.2667vw, 197px) 0 0;
		margin: 0 0 min(12vw, 90px);
	}
	.flow::before {
		content: '';
		position: absolute;
		background: var(--grey);
		z-index: -1;
		top: 0;
		right: 0;
		width: min(93.3333vw, 700px);
		height: min(128vw, 960px);
		border-radius: min(64vw, 480px) 0 0 min(64vw, 480px);
	}
	.flow .inner {
		padding: 0;
	}
	.flow .sec_ttl {
		margin: 0 auto min(6.6667vw, 50px);
	}
	.flow .sec_caption {
		margin: 0 0 min(12.2667vw, 92px);
	}
	.flow .flow_list .swiper {
		padding: 0 min(10vw, 75px);
	}
	.flow .flow_list .swiper .swiper-slide {
		width: min(65.3333vw, 490px);
	}
	.flow .flow_list .swiper .swiper-slide .img_wrap {
		margin: 0 0 min(6vw, 45px);
	}
	.flow .flow_list .swiper .swiper-slide .img_wrap .num {
		top: min(8.6667vw, 65px);
		font-size: min(6.8vw, 51px);
		width: min(9.3333vw, 70px);
		padding: 0 0 min(4.4vw, 33px);
		border-bottom: min(0.2667vw, 2px) solid #4e515d;
	}
	.flow .flow_list .swiper .swiper-slide .img_wrap .img {
		width: min(66.6667vw, 500px);
		margin: 0 auto;
	}
	.flow .flow_list .swiper .swiper-slide dl dt {
		font-size: min(5.4667vw, 41px);
		margin: 0 0 min(5.3333vw, 40px);
	}
	.flow .flow_list .swiper .swiper-slide dl dd {
		font-size: min(4.9333vw, 37px);
		line-height: 1.37;
	}
	.flow .flow_list .swiper .swiper-slide dl dd .note {
		font-size: min(4.1333vw, 31px);
		line-height: 1.38;
	}
}

/* =access 
-------------------------------------------------------------- */
.access {
	position: relative;
}
.access .map .in {
	position: relative;
	overflow: hidden;
}
.access .map .in iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.access .text_wrap {
	text-align: left;
}
.access .text_wrap .access_text {
	font-weight: bold;
}
.access .text_wrap .map_link a {
	position: relative;
	display: inline-block;
	color: var(--green);
}
.access .text_wrap .map_link a::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	background: url(img/icon_link.png)no-repeat center/cover;
}

/*bp*/
@media ( min-width: 961px ){
	.access .sec_ttl {
		margin: 0 0 50px;
	}
	.access .sec_caption {
		margin: 0 0 83px;
	}
	.access .inner {
		position: relative;
		padding: 126px 20px 0;
	}
	.access .inner::before {
		content: '';
		position: absolute;
		top: 0;
		left: calc((50vw - 50%)* -1);
		width: calc(100% + (50vw - 50%));
		height: 800px;
		border-radius: 0 400px 400px 0;
		background: var(--grey);
		z-index: -1;
	}
	.access .map {
		padding: 0 0 0 60px;
		margin: 0 0 min(7.8667vw, 59px);
	}
	.access .map .in {
		padding-top: 53.19%;
		border-radius: 0 min(11.3333vw, 85px) 0 min(11.3333vw, 85px);
	}
	.access .text_wrap {
		padding: 0 60px;
	}
	.access .text_wrap .address {
		font-size: 28px;
		line-height: 1.82;
		margin: 0 0 7px;
	}
	.access .text_wrap .access_text {
		font-size: 26px;
		line-height: 1.675;
		margin: 0 0 20px;
	}
	.access .text_wrap .map_link a {
		font-size: 30px;
		padding-left: 53px;
	}
	.access .text_wrap .map_link a::before {
		width: 27px;
		height: 27px;
	}
}
@media ( max-width: 960px ){
	.access {
		padding: min(26.2667vw, 197px) 0 0;
		margin: 0 0 min(20vw, 99px);
	}
	.access::before {
		content: '';
		position: absolute;
		background: var(--grey);
		z-index: -1;
		top: 0;
		left: 0;
		width: min(93.3333vw, 700px);
		height: min(128vw, 960px);
		border-radius: 0 min(64vw, 480px) min(64vw, 480px) 0;
	}
	.access .sec_ttl {
		margin: 0 auto min(6.6667vw, 50px);
	}
	.access .sec_caption {
		margin: 0 0 min(12.2667vw, 92px);
	}
	.access .map {
		padding: 0 min(4.6667vw, 35px);
		margin: 0 0 min(7.8667vw, 59px);
	}
	.access .map .in {
		padding-top: 138.33%;
		border-radius: 0 min(11.3333vw, 85px) 0 min(11.3333vw, 85px);
	}
	.access .text_wrap {
		padding: 0 min(4.6667vw, 35px);
	}
	.access .text_wrap .address {
		font-size: min(4.9333vw, 37px);
		line-height: 1.675;
		margin: 0 0 min(2.6667vw, 20px);
	}
	.access .text_wrap .access_text {
		font-size: min(3.3vw, 25px);
		line-height: 1.675;
		margin: 0 0 min(2.6667vw, 20px);
	}
	.access .text_wrap .map_link a {
		font-size: min(4.4vw, 33px);
		padding-left: min(7.2vw, 54px);
	}
	.access .text_wrap .map_link a::before {
		width: min(3.6vw, 27px);
		height: min(3.6vw, 27px);
	}
}

/* =director 
-------------------------------------------------------------- */
.director {
	overflow: hidden;
	background: var(--grey);
}
.director .contents dl {
	position: relative;
	text-align: left;
	z-index: 1;
	box-sizing: border-box;
}
.director .contents dl dt {
	color: var(--green);
	font-weight: bold;
}

/*bp*/
@media ( min-width: 961px ){
	.director {
		padding: 126px 0 130px;
	    border-radius: 150px 150px 0 0;
	}
	.director .sec_ttl {
		margin: 0 0 50px;
	}
	.director .sec_caption {
		margin: 0 0 61px;
	}
	.director .contents {
		max-width: 880px;
		margin: 0 auto;
	}
	.director .contents dl {
		padding: 119px 0 0;
		height: 450px;
		border-radius: 0 250px 0 0;
		background: #fff;
	}
	.director .contents dl::before {
		content: '';
		position: absolute;
		top: 0;
		right: 100%;
		width: 100vw;
		height: 100%;
		background: #fff;
	}
	.director .contents dl dt {
		font-size: 40px;
		margin: 0 0 39px;
	}
	.director .contents dl dd {
		font-size: 28px;
		line-height: 1.785;
	}
}
@media ( max-width: 960px ){
	.director {
		padding: min(27.4667vw, 206px) 0 min(12vw, 90px);
	    margin: 0 0 min(29.8667vw, 224px);
	    border-radius: min(20vw, 150px) min(20vw, 150px) 0 0;
	}
	.director .sec_ttl {
		margin: 0 auto min(6.6667vw, 50px);
	}
	.director .sec_caption {
		margin: 0 0 min(14.9333vw, 112px);
	}
	.director .contents dl {
		padding: min(17.4667vw, 131px) 0 0;
		height: min(80.5333vw, 604px);
	}
	.director .contents dl::before {
		content: '';
		position: absolute;
		left: max(-5.3333vw, -40px);
		top: 0;
		width: min(90vw, 675px);
		height: 100%;
		background: url(img/bg_white.png)no-repeat right center/cover;
		z-index: -1;
	}
	.director .contents dl dt {
		font-size: min(6vw, 45px);
		margin: 0 0 min(7.3333vw, 55px);
	}
	.director .contents dl dd {
		font-size: min(4.9333vw, 37px);
		line-height: 1.48;
	}
}

/* =recruitment 
-------------------------------------------------------------- */
.recruitment .catch {
	color: var(--green);
	font-weight: bold;
}
.recruitment .recruitment_list {
	text-align: left;
}
.recruitment .recruitment_list dl dt::before {
	content: '●';
	color: var(--green);
	margin-right: 0.5em;
}
.recruitment .recruitment_list dl dd dl dt::before {
	display: none;
}
.recruitment .recruitment_list dl dd strong {
	color: var(--green);
	font-weight: bold;
}
.recruitment .recruitment_list dl dd ul li {
	font-feature-settings: 'palt';
}
.recruitment .recruitment_list dl dd ul li:not(.asterisk)::before {
	content: '・';
	color: var(--green);
}
.recruitment .recruitment_list dl dd table {
	width: 100%;
}
.recruitment .recruitment_list dl dd th {
	border: 2px solid var(--green);
}
.recruitment .recruitment_list dl dd td {
	border: 2px solid var(--grey);
	border-collapse: collapse;
}
.recruitment .recruitment_list dl dd td,
.recruitment .recruitment_list dl dd th {
	width: 25%;
	text-align: center;
	border-collapse: collapse;
}
.recruitment .recruitment_list dl dd th {
	background: var(--green);
	color: #fff;
}
.recruitment .recruitment_list dl dd th:first-child {
	background: #fff;
	border: 0;
}
.recruitment .recruitment_list dl dd th:nth-child(2),
.recruitment .recruitment_list dl dd th:nth-child(3) {
	border-right: 2px solid #fff;
}
.recruitment .recruitment_list dl dd dl {
	display: flex;
	flex-direction: column;
    align-items: center;
    justify-content: center;
}
.recruitment .recruitment_list dl dd dl dt {
	background: var(--green);
	color: #fff;
	width: 100%;
	text-align: center;
}
.recruitment .recruitment_list dl dd div {
	display: flex;
	justify-content: space-between;
}

/*bp*/
@media ( min-width: 961px ){
	.recruitment {
		padding: 151px 0;
	}
	.recruitment .sec_ttl {
		margin: 0 0 50px;
	}
	.recruitment .sec_caption {
		margin: 0 0 min(12.9333vw, 97px);
	}
	.recruitment .catch {
		font-size: 40px;
		line-height: 1.5;
		margin: 0 0 62px;
	}
	.recruitment .recruitment_list {
		max-width: 880px;
		margin: 0 auto;
	}
	.recruitment .recruitment_list dl + dl {
		margin-top: 65px;
	}
	.recruitment .recruitment_list dl dd dl + dl {
		margin-top: 20px;
	}
	.recruitment .recruitment_list dl dd strong {
		display: block;
		font-size: 28px;
		margin: 0 0 15px;
	}
	.recruitment .recruitment_list dl dt {
		font-size: 30px;
		padding: 0 0 30px;
		border-bottom: 3px solid var(--grey);
	}
	.recruitment .recruitment_list dl dd dl dt {
		font-size: 28px;
		border-bottom: none;
		padding: 7px 0 10px;
	}
	.recruitment .recruitment_list dl dd dl dd {
		width: 100%;
		border-bottom: 2px solid var(--grey);
		border-right: 2px solid var(--grey);
		border-left: 2px solid var(--grey);
		box-sizing: border-box;
		text-align: center;
		padding: 30px 50px;
	}
	.recruitment .recruitment_list dl dd div {
		margin-top: 20px;
	}
	.recruitment .recruitment_list dl dd div .qr {
		width: 68%;
	}
	.recruitment .recruitment_list dl dd div .cassh {
		width: 30%;
	}
	.recruitment .recruitment_list dl dd div dl + dl {
		margin-top: 0;
	} 
	.recruitment .recruitment_list dl dd div dl dd {
		height: 126px;
	}
	.recruitment .recruitment_list dl dd {
		font-size: 24px;
		padding: 40px 0 0;
		line-height: 1.4;
	}
	.recruitment .recruitment_list dl dd .note {
		font-size: 18px;
	}
	.recruitment .recruitment_list dl dd ul li {
		line-height: 1.667;
	}
	.recruitment .recruitment_list dl dd ul li span {
		font-size: 20px;
		padding-left: 0.5em;
	}
	.recruitment .recruitment_list dl dd table {
		margin-bottom: 30px;
		font-size: 22px;
	}
	.recruitment .recruitment_list dl dd td,
	.recruitment .recruitment_list dl dd th {
		padding: 10px;
	}
	.recruitment .recruitment_list dl dd td span {
		font-size: 14px;
	}
}
@media ( max-width: 960px ){
	.recruitment {
		margin: 0 0 min(14vw, 105px);
	}
	.recruitment .sec_ttl {
		margin: 0 auto min(6.6667vw, 50px);
	}
	.recruitment .sec_caption {
		margin: 0 0 min(12.9333vw, 97px);
	}
	.recruitment .catch {
		font-size: min(6.8vw, 51px);
		line-height: 1.31;
		margin: 0 0 min(11.6vw, 87px);
	}
	.recruitment .recruitment_list dl + dl {
		margin-top: min(8vw, 60px);
	}
	.recruitment .recruitment_list dl dd dl + dl {
		margin-top: min(2.66vw, 20px);
	}
	.recruitment .recruitment_list dl dt {
		font-size: min(4.9333vw, 37px);
		padding: 0 0 min(5.0667vw, 38px);
		border-bottom: min(0.4vw, 3px) solid var(--grey);
	}
	.recruitment .recruitment_list dl dd dl dt {
		font-size: min(4.266vw, 32px);
		border-bottom: none;
		padding: min(1.333vw, 10px) 0 min(1.6vw, 12px);
	}
	.recruitment .recruitment_list dl dd dl dd {
		width: 100%;
		border-bottom: min(0.4vw, 3px) solid var(--grey);
		border-right: min(0.4vw, 3px) solid var(--grey);
		border-left: min(0.4vw, 3px) solid var(--grey);
		box-sizing: border-box;
		text-align: center;
		padding:  min(4vw, 30px);
	}
	.recruitment .recruitment_list dl dd .note {
		font-size: min(3.3vw, 25px);
	}
	.recruitment .recruitment_list dl dd div {
		margin-top: min(2.666vw, 20px);
	}
	.recruitment .recruitment_list dl dd div .qr {
		width: 63%;
	}
	.recruitment .recruitment_list dl dd div .cassh {
		width: 34%;
	}
	.recruitment .recruitment_list dl dd div .cassh img {
		width: min(11.2vw, 84px);
	}
	.recruitment .recruitment_list dl dd div dl + dl {
		margin-top: 0;
	} 
	.recruitment .recruitment_list dl dd div dl dd {
		height: min(16vw, 120px);
	}
	.recruitment .recruitment_list dl dd {
		font-size: min(4.9333vw, 37px);
		line-height: 1.378;
		padding: min(4vw, 30px) 0 0;
	}
	.recruitment .recruitment_list dl dd ul li span {
		font-size: min(4.1333vw, 31px);
	}
	.recruitment .recruitment_list dl dd ul li span.small {
		font-size: min(3.8667vw, 29px);
	}
	.recruitment .recruitment_list dl dd table {
		margin-bottom:min(3vw, 22.5px);
		font-size: min(3vw, 22.5px);
	}
	.recruitment .recruitment_list dl dd td,
	.recruitment .recruitment_list dl dd th {
		padding: min(1vw, 7.5px);
	}
	.recruitment .recruitment_list dl dd td span {
		font-size: min(2.1vw, 16px);
	}
}

/* =faq 
-------------------------------------------------------------- */
.faq {
	background: var(--grey);
}
.faq .faq_list dl dt {
	display: flex;
	align-items: center;
	color: var(--green);
	font-weight: bold;
}

.faq .faq_list dl dt,
.faq .faq_list dl dd {
	position: relative;
	text-align: left;
}
.faq .faq_list dl dt::before,
.faq .faq_list dl dd::before {
	content: '';
	position: absolute;
	left: 0;
}
.faq .faq_list dl dt::before {
	background: url(img/icon_q.png)no-repeat center/cover;
}
.faq .faq_list dl dd::before {
	background: url(img/icon_a.png)no-repeat center/cover;
}

/*bp*/
@media ( min-width: 961px ){
	.faq {
		padding: 131px 0 120px;
		margin: 0 0 min(4vw, 30px);
		border-radius: min(20vw, 150px) min(20vw, 150px) 0 0;
	}
	.faq .sec_ttl {
		margin: 0 0 50px;
	}
	.faq .sec_caption {
		margin: 0 0 min(10vw, 75px);
	}
	.faq .faq_list {
		max-width: 880px;
		margin: 0 auto;
	}
	.faq .faq_list dl:not(:last-child) {
		padding-bottom: 50px;
	}
	.faq .faq_list dl + dl {
		padding-top: 60px;
		border-top: 3px solid #fff;
	}
	.faq .faq_list dl dt {
		font-size: 30px;
		margin: 0 0 50px;
	}
	.faq .faq_list dl dt::before {
		top: 57%;
		transform: translateY(-50%);
		width: 37px;
		height: 56px;
	}
	.faq .faq_list dl dt,
	.faq .faq_list dl dd {
		padding-left: 72px;
	}
	.faq .faq_list dl dd {
		font-size: 26px;
		line-height: 1.73;
	}
	.faq .faq_list dl dd::before {
		top: 0;
		width: 37px;
		height: 46px;
	}
}
@media ( max-width: 960px ){
	.faq {
		padding: min(27.4667vw, 206px) 0 min(12vw, 90px);
		margin: 0 0 min(4vw, 30px);
		border-radius: min(20vw, 150px) min(20vw, 150px) 0 0;
	}
	.faq .sec_ttl {
		margin: 0 auto min(6.6667vw, 50px);
	}
	.faq .sec_caption {
		margin: 0 0 min(10vw, 75px);
	}
	.faq .faq_list dl {
		font-size: min(4.9333vw, 37px);
		line-height: 1.378;
	}
	.faq .faq_list dl:not(:last-child) {
		padding-bottom: min(6.6667vw, 50px);
	}
	.faq .faq_list dl + dl {
		padding-top: min(6.6667vw, 50px);
		border-top: min(0.4vw, 3px) solid #fff;
	}
	.faq .faq_list dl dt {
		min-height: 2.756em;
		margin: 0 0 min(2.9333vw, 22px);
	}
	.faq .faq_list dl dt::before {
		width: min(6.1333vw, 46px);
		height: min(9.3333vw, 70px);
	}
	.faq .faq_list dl.faq_1 dt::before,
	.faq .faq_list dl.faq_3 dt::before,
	.faq .faq_list dl.faq_5 dt::before {
		top: 57%;
		transform: translateY(-50%);
	}
	.faq .faq_list dl.faq_2 dt::before,
	.faq .faq_list dl.faq_4 dt::before,
	.faq .faq_list dl.faq_6 dt::before {
		top: min(1.3333vw, 10px);
	}
	.faq .faq_list dl dt,
	.faq .faq_list dl dd {
		padding-left: min(10.4vw, 78px);
	}
	.faq .faq_list dl dd::before {
		top: 0;
		width: min(6.1333vw, 46px);
		height: min(7.7333vw, 58px);
	}
	.faq .faq_list dl dd a {
		text-decoration: underline;
	}

}

/* =footer 
-------------------------------------------------------------- */
.footer {
	background: var(--green);
}
.footer .ft_nav li a,
.footer .copyright {
	color: #fff;
}
.footer .ft_nav .insta {
	display: inline-block;
}
/*bp*/
@media ( min-width: 961px ){
	.footer {
		padding: 132px 0 66px;
		border-radius: 150px 150px 0 0;
	}
	.footer .ft_nav {
		max-width: 590px;
		margin: 0 auto 60px;
	}
	.footer .ft_nav ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 50px 57px;
	}
	.footer .ft_nav .insta {
		margin: 50px auto 0;
		width: 250px;
		transition: opacity .3s;
	}
	.footer .ft_nav .insta:hover {
		opacity: .8;
	}
	.footer .ft_nav li a {
		font-size: 20px;
		transition: opacity .3s;
	}
	.footer .ft_nav li a:hover {
		opacity: .8;
	}
	.footer .logo {
		width: 200px;
		margin: 0 auto 80px;
	}
	.footer .copyright {
		font-size: 16px;
	}
}
@media ( max-width: 960px ){
	.footer {
		padding: min(23.4667vw, 176px) 0 min(11.3333vw, 85px);
		border-radius: min(20vw, 150px) min(20vw, 150px) 0 0;
	}
	.footer .ft_nav {
		margin: 0 0 min(13.3333vw, 100px);
	}
	.footer .ft_nav li + li {
		margin-top: min(7.4667vw, 56px);
	}
	.footer .ft_nav li a {
		font-size: min(4.9333vw, 37px);
	}
	.footer .logo {
		width: min(45.6vw, 342px);
		margin: 0 auto min(10.5333vw, 79px);
	}
	.footer .copyright {
		font-size: min(3.4667vw, 26px);
	}
	.footer .ft_nav .insta {
		margin: min(12vw, 90px) auto 0;
		width:  min(46.666vw, 350px);
	}
}

/* =modal
-------------------------------------------------------------- */
.modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 100;
	opacity: 0;
	visibility: hidden;
	background: rgba(17, 17, 17, .4);
	transition: opacity .3s, visibility .3s;
}
.modal.open {
	opacity: 1;
	visibility: visible;
}
.modal .in {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 100%;
	max-width: 800px;
	padding: 40px;
	box-sizing: border-box;
}
.modal .in .contents {
	
	margin: 0 auto;
	padding: 94px 0 101px;
	background: #fff;
	border-radius: 100px;
}
.modal .in .contents p {
	color: var(--green);
	font-size: 22px;
	margin: 0 0 40px;
}

/* =bnr
-------------------------------------------------------------- */
@media ( min-width: 961px ){
	.bnr {
		margin: 150px auto 80px;
	}
}
@media ( max-width: 960px ){
	.bnr {
		margin: min(26.666vw, 200px) auto 0;
	}
}