@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;
}


/* =Styles 
-------------------------------------------------------------- */
body {
	/* win：游ゴシック、mac：游ゴシック、iPhone：San Francisco、ヒラギノ（-1px） */
	font-family: YuGothic, -apple-system, BlinkMacSystemFont, 'Yu Gothic Medium', 'Yu Gothic', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;
	font-family: 'M PLUS 2', sans-serif;
	color: #000;
	font-weight: 500;
	background: #fff;
}
.num {
	font-family: "Oswald", sans-serif;
}
a {
	text-decoration: none;
	color: #000;
}
@media ( min-width: 961px ){
	.sptab {
		display: none !important;
	}
}
@media ( max-width: 960px ){
	.pc {
		display: none !important;
	}
}
@media ( max-width: 600px ){
	body {
		font-size: 4vw;
	}
	.pctab {
		display: none !important;
	}
}

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

}

:root {
	--red: #db0006;
	--green: #01ac50;
}
.container {
	background: #ede8d7;
}
.main_contents_wrap {
	position: relative;
	max-width: 750px;
	margin: 0 auto;
	z-index: 1;
	overflow: hidden;
}
.main_contents_wrap main {
	background: #fff;
}


/* =frame_wrap 
-------------------------------------------------------------- */
.frame_wrap {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.frame_wrap .frame {
	display: flex;
	flex-direction: column;
	position: absolute;
	top: 0;
	width: 66px;
	height: 100%;
	padding: 0 24px 0 23px;
	background: var(--green);
	overflow: hidden;
	box-sizing: border-box;
}
.frame_wrap .frame.left {
	left: 0;
}
.frame_wrap .frame.right {
	right: 0;
}
.frame_wrap .frame .in {
	transform:translateY(100%);
	display: flex;
	flex-direction: column;
	width: 100%;
	box-sizing: border-box;
	animation: loop_text 30s linear infinite;
}
@keyframes loop_text {
	0% {
		transform: translateY(0);
	}
	100% {
		transform: translateY(-100%);
	}
}
.frame_wrap .frame p {	
	color: #fff;
	font-size: 19px;
	font-weight: bold;
	white-space: nowrap;
	letter-spacing: 0.05em;
	writing-mode: vertical-rl;
	margin-bottom: 1em;
}
.frame_wrap .frame p span {
	color: #ffe242;
}
.main_contents_wrap {
	padding: min(13.3333vw, 100px) 0 0;
}

.fixed_btn {
	position: fixed;
	z-index: 150;
}
.fixed_btn a {
	position: relative;
	color: #fff;
	font-weight: bold;
	background-color: #fe6702;
}

@keyframes fuwafuwa {
	0% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(10px);
	}
	100% {
		transform: translateY(0);
	}
}
@media ( min-width: 961px ){
	.fixed_btn {
		right: 93px;
		bottom: 18px;
		width: 200px;
		height: 200px;
		border-radius: 50%;
		background: #fff;
		animation-name:fuwafuwa;
		animation-delay:0s;
		animation-duration: 2.5s;
		animation-timing-function: ease-in-out;
		animation-iteration-count: infinite; 
	}
	.fixed_btn a {
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 24px;
		line-height: 1.5;
		height: 100%;
		border-radius: 50%;
		transition: opacity .3s;
		opacity: 1;
	}
	.fixed_btn a:hover {
		opacity: .8;
	}
	.fixed_btn a span {
		display: block;
		position: relative;
		padding: 0 0 39px;
	}
	.fixed_btn a::before {
		content: '';
		position: absolute;
		top: 51px;
		left: -28px;
		width: 75px;
		height: 100px;
		background: url(img/btn_card.png)no-repeat center/cover;
	}
	.fixed_btn a span::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		margin: 0 auto;
		width: 16px;
		height: 24px;
		background: url(img/btn_arrow.png) no-repeat center / cover;
	}
}
@media ( max-width: 960px ){
	.fixed_btn {
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		max-width: 750px;
		margin: 0 auto;
	}
	.fixed_btn a {
		display: block;
		font-size: min(4.6667vw, 35px);
		padding: min(5.0667vw, 38px) 0 min(4.9333vw, 37px);
		
	}
	.fixed_btn a::after {
		content: '';
		position: absolute;
		top: 50%;
		right: min(6.5333vw, 49px);
		transform: translateY(-50%);
		width: min(2.9333vw, 22px);
		height: min(4.5333vw, 34px);
		background: url(img/btn_arrow.png) no-repeat center / cover;
	}
}

/* =header 
-------------------------------------------------------------- */
.header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	max-width: 750px;
	margin: 0 auto;
	background: #fff;
	z-index: 100;
}
.header .in {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: min(1.7333vw, 13px) min(4.8vw, 36px) min(1.4667vw, 11px) min(3.0667vw, 23px);
}
.header .in .logos {
	display: flex;
	align-items: center;
	gap: 0 min(3.0667vw, 23px);
}
.header .in .logos .heiwado {
	width: min(10.2667vw, 77px);
}
.header .in .logos .smbc {
	width: min(18.5333vw, 139px);
}
.header .in .menu_btn {
	position: relative;
	width: min(5.3333vw, 40px);
	height: min(4.4vw, 33px);
	cursor: pointer;
}
.header .in .menu_btn span {
	position: absolute;
	left: 0;
	width: 100%;
	height: min(0.4vw, 3px);
	background: #000;
}
.header .in .menu_btn span:first-child {
	top: 0;
}
.header .in .menu_btn span:nth-child(2) {
	top: 50%;
	transform: translateY(-50%);
}
.header .in .menu_btn span:last-child {
	bottom: 0;
}

/* =gnav_menu 
-------------------------------------------------------------- */
.gnav_menu {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
	max-width: 750px;
	margin: 0 auto;
	transform: translateY(-100%);
	background: #fff;
	transition: transform .3s;
	z-index: 110;
}
.gnav_menu.open {
	transform: translateY(0);
}
.gnav_menu .in {
	position: relative;
	padding: min(22.6667vw, 170px) min(22.6667vw, 53px) min(16vw, 120px);
	height: 100%;
	box-sizing: border-box;
	overflow-y: auto;
}
.gnav_menu .in .close {
	position: absolute;
	top: min(5.3333vw, 40px);
	right: min(5.3333vw, 40px);
	width: min(5.7333vw, 43px);
	cursor: pointer;
}
.gnav_menu .in .nav ul {
	text-align: left;
}
.gnav_menu .in .nav ul li + li {
	margin-top: min(8.6667vw, 65px);
}
.gnav_menu .in .nav ul li a {
	position: relative;
	display: inline-block;
	font-size: min(4.1333vw, 31px);
	padding-left: min(8.6667vw, 65px);
}
.gnav_menu .in .nav ul li a::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: min(4.8vw, 36px);
	height: min(4.8vw, 36px);
	background: url(img/list_icon.png)no-repeat center/cover;
}
@media ( min-width: 961px ){
	.gnav_menu .in .nav ul li a {
		opacity: 1;
		transition: opacity .3s;
	}
	.gnav_menu .in .nav ul li a:hover {
		opacity: .7;
	}
}
/* =kv_wrap 
-------------------------------------------------------------- */
.kv_wrap .kv_list {
	display: flex;
	padding: 0 min(2vw, 15px);
	margin: max(-7.6vw, -57px) 0 min(0.4vw, 3px);
}
.kv_wrap p {
	font-size: min(2.5333vw, 19px);
	line-height: 1.15;
	margin: 0 0 min(4vw, 30px);
}
.kv_wrap .btn {
	width: 80%;
	margin: 0 auto min(4.2667vw, 32px);
}
.kv_wrap .btn a {
	position: relative;
	display: block;
	color: #fff;
	font-size: min(4.6667vw, 35px);
	font-weight: bold;
	padding: min(5.0667vw, 38px) 0 min(4.9333vw, 37px);
	border-radius: min(7.3333vw, 55px);
	box-shadow: 0px min(1.0667vw, 8px) 0px 0px rgba(0, 0, 0, 0.25);
	background: #fe6702;
}
.kv_wrap .btn a::before,
.kv_wrap .btn a::after {
	content: '';
	position: absolute;
}
.kv_wrap .btn a::before {
	top: max(-3.0667vw, -23px);
	left: min(6.2667vw, 47px);
	width: min(13.2vw, 99px);
	height: min(17.6vw, 132px);
	background: url(img/btn_card.png)no-repeat center/cover;
}
.kv_wrap .btn a::after {
	top: 50%;
	right: min(5.8667vw, 44px);
	transform: translateY(-50%);
	width: min(2.9333vw, 22px);
	height: min(4.5333vw, 34px);
	background: url(img/btn_arrow.png)no-repeat center/cover;
}
.kv_wrap .point_contents {
	position: relative;
	width: 90.4%;
	padding: min(5.7333vw, 43px) 0 min(16.5333vw, 124px);
	margin: 0 0 min(7.0667vw, 53px) min(4vw, 30px);
	box-sizing: border-box;
	border: min(0.4vw, 3px) solid #000;
	border-radius: min(4.5333vw, 34px);
	box-shadow: min(2.1333vw, 16px) min(2.1333vw, 16px) 0px 0px rgba(255, 226, 66, 1);
}
.kv_wrap .point_contents::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0 auto;
	width: min(76vw, 570px);
	height: min(14.1333vw, 106px);
	background: url(img/bg_point_contents.png)no-repeat center/cover;
}

.kv_wrap .point_contents p {
	font-size: min(3.8667vw, 29px);
	font-weight: bold;
	margin: 0 0 min(1.8667vw, 14px);
}
.kv_wrap .point_contents p span {
	color: var(--green);
}
.kv_wrap .point_contents .point_text {
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 800;
}
.kv_wrap .point_contents .point_text .vertical {
	color: var(--red);
	font-size: min(4.9333vw, 37px);
	writing-mode: vertical-rl;
	letter-spacing: 0.2em;
}
.kv_wrap .point_contents .point_text .num {
	color: var(--red);
	font-size: min(14.6667vw, 110px);
}
.kv_wrap .point_contents .point_text .text {
	text-align: left;
	font-size: min(5.6vw, 42px);
}
.kv_wrap .point_contents .point_text .text .red {
	color: var(--red);
	display: block;
	font-size: min(5.3333vw, 40px);
}
.kv_wrap .point_contents .benefits_text {
	color: #61677a;
    font-size: min(2.6667vw, 20px);
    font-weight: bold;
    margin-top: min(1.8vw, 10px);
}
.kv_wrap .m_copy {
	position: relative;
	display: inline-block;
	font-size: min(3.7333vw, 28px);
	font-weight: bold;
	line-height: 1.6;
	letter-spacing: 0.1em;
	padding: 0 min(7.2vw, 54px);
	margin: 0 0 min(4vw, 25px);
}
.kv_wrap .m_copy .big {
	font-size: min(5vw, 40px);
}
.kv_wrap .m_copy .red {
	color: var(--red);
} 
.kv_wrap .m_copy::before, .kv_wrap .m_copy::after {
	content: '';
	position: absolute;
	top: 50%;
	width: min(4.4vw, 33px);
	height: min(6.1333vw, 46px);
	transform: translateY(-50%);
}
.kv_wrap .m_copy::before {
	left: 0;
    background: url(img/admission_line_left.png) no-repeat center / cover;
}
.kv_wrap .m_copy::after {
	right: 0;
    background: url(img/admission_line_right.png) no-repeat center / cover;
}

@media ( min-width: 961px ){
	.kv_wrap .btn a {
		opacity: 1;
		transition: opacity .3s;
	}
	.kv_wrap .btn a:hover {
		opacity: .8;
	}
}
/* =contents_1 
-------------------------------------------------------------- */
.contents_1 {
	position: relative;
	padding: min(4.9333vw, 37px) 0 min(11.6vw, 87px);
	margin: 0 0 min(15.2vw, 114px);
	border-radius: min(9.3333vw, 70px);
	background: #f5f1e4;
}
.contents_1::after {
	content: '';
	position: absolute;
	top: min(3.8667vw, 29px);
	/* right: 0; */
	right: min(0.933vw, 7px);
	/* width: min(37.7333vw, 283px); */
	width: min(41.066vw, 308px);
	/* height: min(64.4vw, 483px); */
	height: min(64.933vw, 487px);
	/* background: url(img/contents_1_bg_img.png)no-repeat center/cover; */
	background: url(img/contents_1_bg_img_nishikawa.png)no-repeat center/cover;
}
.contents_1 .ttl_wrap {
	text-align: left;
	padding: 0 min(5.2vw, 39px);
	margin: 0 0 min(5.0667vw, 38px);
}
.contents_1 .ttl_wrap .sub {
	width: min(46.9333vw, 352px);
	margin: 0 0 min(2.6667vw, 20px);
}
.contents_1 .ttl_wrap .ttl {
	display: inline-block;
	color: var(--green);
	font-size: min(8.6667vw, 65px);
	font-weight: bold;
	margin-left: min(9.0667vw, 68px);
	padding: 0 0 min(1.2vw, 9px);
	border-bottom: min(0.2667vw, 2px) solid var(--green);
}
.contents_1 .ttl_wrap .ttl span {
	font-size: min(6vw, 45px);
}
.contents_1 ul {
	position: relative;
	display: flex;
	gap: 0 min(2vw, 15px);
	margin: 0 0 min(5.4667vw, 41px) min(3.4667vw, 26px);
	z-index: 1;
}
.contents_1 ul li {
	width: min(30.9333vw, 232px);
	height: min(30.9333vw, 232px);
	padding-bottom: min(2.9333vw, 22px);
	background: #fff;
	box-sizing: border-box;
	border-radius: min(4vw, 30px);
}
.contents_1 ul li.heiwado {
	padding-top: min(5.6vw, 42px);
}
.contents_1 ul li.other {
	padding-top: min(5.0667vw, 38px);
}
.contents_1 ul li.heiwado .logo {
	width: min(15.3333vw, 115px);
	margin: 0 auto min(4vw, 30px);
}
.contents_1 ul li.other .logo {
	width: min(16vw, 120px);
	margin: 0 auto min(3.4667vw, 26px);
}
.contents_1 ul li .caption {
	font-size: min(2.9333vw, 22px);
	font-weight: bold;
	letter-spacing: 0.05em;
}
.contents_1 .text {
	font-size: min(3.7333vw, 28px);
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 1.5;
	margin: 0 0 min(6vw, 45px)
}
.contents_1 .text:last-child {
	margin: 0;
}
.contents_1 .text span {
	color: var(--red);
}
.contents_1 .text span.border {
	border-bottom: 1px solid var(--red);
}

.contents_1 .img {
	width: min(53.8667vw, 404px);
	margin: 0 auto min(4.8vw, 36px);
}
.contents_1 .note {
	font-size: min(2.6667vw, 20px);
	line-height: 1.5;
	margin: 0 0 min(5.3333vw, 40px);
}


/* =admission 
-------------------------------------------------------------- */
.admission_wrap {
	padding: min(15.4667vw, 116px) 0 0;
}
.admission {
	position: relative;
	max-width: 90.4%;
	padding: min(10vw, 75px) 0 min(13.8667vw, 104px) 0;
	margin-left: min(4vw, 30px);
	border: min(0.4vw, 3px) solid #000;
	border-radius: min(4.5333vw, 34px);
	box-sizing: border-box;
	box-shadow: min(2.1333vw, 16px) min(2.1333vw, 16px) 0px 0px rgba(255, 226, 66, 1);
	margin-bottom: min(20vw, 150px);
}
.admission.open {
	padding: min(10vw, 75px) 0 min(4.2667vw, 32px) 0;
}
.admission .head {
	position: absolute;
	top: max(-1.0667vw, -8px);
	left: 0;
	right: 0;
	margin: 0 auto;
	width: min(44.4vw, 333px);
	background-color: #fff;
}
.admission .head span {
	position: relative;
	font-size: min(3.3333vw, 25px);
	font-weight: bold;
	padding: 0 min(8vw, 60px);
}
.admission .head span::before,
.admission .head span::after {
	content: '';
	position: absolute;
	top: 50%;
	width: min(4.4vw, 33px);
	height: min(6.1333vw, 46px);
	transform: translateY(-50%);
}
.admission .head span::before {
	left: 0;
	background: url(img/admission_line_left.png)no-repeat center/cover;
}
.admission .head span::after {
	right: 0;
	background: url(img/admission_line_right.png)no-repeat center/cover;
}
.admission .sub {
	margin: 0 0 min(2.6667vw, 20px);
}
.admission .sub,
.admission .benefit .benefit_head_wrap .benefit_head {
	position: relative;
	display: inline-block;
	color: #Fff;
	font-size: min(3.6vw, 27px);
	font-weight: bold;
	border-radius: min(4.4vw, 33px);
	padding: min(2.5333vw, 19px) min(5.2vw, 39px) min(2.6667vw, 20px);
	background: #000;
}
.admission .sub::after,
.admission .benefit .benefit_head_wrap .benefit_head::after {
	content: '';
	position: absolute;
	bottom: max(-2.6667vw, -20px);
	left: 0;
	right: 0;
	width: min(4vw, 30px);
	height: min(2.6667vw, 20px);
	margin: 0 auto;
	background: #000;
	clip-path: polygon(100% 0, 0 0, 50% 100%);
}
.admission .point_text_wrap {
	margin: 0 0 min(1.0667vw, 8px);
}
.admission .point_text_wrap .point_text {
	color: var(--red);
	font-weight: 800;
	font-size: min(5.3333vw, 40px);
}
.admission .point_text_wrap .point_text .num {
	display: inline-block;
	position: relative;
	font-size: min(17.8667vw, 134px);
	padding-left: min(15.7333vw, 118px);
	margin: 0 0 min(1.3333vw, 10px);
}
.admission .point_text_wrap .point_text .num::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: min(15.2vw, 114px);
	height: min(14.5333vw, 109px);
	background: url(img/point_icon.png)no-repeat center/cover;
}
.admission .point_text_wrap .benefits_text {
	color: #61677a;
	font-size: min(2.6667vw, 20px);
	font-weight: bold;
	margin-top: min(2.4vw, 18px);
}
.admission .img {
	width: min(61.2vw, 459px);
	margin: 0 auto min(4.6667vw, 35px);
}
.admission > .dl_list {
	padding: 0 min(7.4667vw, 56px) 0 min(7.6vw, 57px);
}
.admission .dl_list dl {
	font-weight: bold;
	text-align: left;
}
.admission > .dl_list dl + dl {
	margin-top: min(4.9333vw, 37px);
}
.admission .dl_list dl dt {
	display: inline-block;
	color: var(--green);
	font-size: min(2.6667vw, 20px);
	text-align: center;
	padding: min(1.3333vw, 10px) min(3.4667vw, 26px) min(1.2vw, 9px);
	border-radius: min(2.5333vw, 19px);
	background: #d9f3e5;
	box-sizing: border-box;
}
.admission .dl_list dl dd {
	font-size: min(3.4667vw, 26px);
	letter-spacing: 0.05em;
	text-align: left;
	margin-top: min(2.9333vw, 22px);
}
.admission .dl_list dl dd.large {
	font-size: min(3.7333vw, 28px);
	line-height: 1.357;
	margin-top: min(2vw, 15px);
}
.admission .dl_list dl dd.large span {
	display: block;
	color: #61677a;
	font-size: min(2.6667vw, 20px);
	font-weight: 500;
	line-height: 1;
	margin-top: min(1.4667vw, 11px);
	letter-spacing: 0;
}
.admission .detail_btn {
	position: absolute;
	bottom: max(-7.0667vw, -53px);
	left: 0;
	right: 0;
	color: #fff;
	width: min(50.6667vw, 380px);
	margin: 0 auto;
	padding: min(5.0667vw, 38px) 0 min(4.9333vw, 37px);
	background: #000;
	border-radius: min(6.6667vw, 50px);
	box-sizing: border-box;
	cursor: pointer;
	
}
.admission.open .detail_btn {
	display: none;
}
.admission .detail_btn::after {
	content: '＋';
	position: absolute;
	top: 48%;
	right: min(3.8667vw, 29px);
	transform: translateY(-50%);
	font-size: min(5.3333vw, 40px);
}
.admission .detail_btn span {
	font-size: min(3.4667vw, 26px);
	font-weight: bold;
	letter-spacing: 0.1em;
	padding-right: min(1.3333vw, 10px);
}

.admission .detail_wrap {
	padding: min(11.6vw, 87px) min(4.5333vw, 34px) 0;
}
.admission .detail_wrap .benefit {
	position: relative;
	padding: min(10.4vw, 78px) min(4.5333vw, 34px) min(5.0667vw, 38px);
	border-radius: min(5.3333vw, 40px);
	background: #f5f1e4;
}
.admission .detail_wrap .benefit + .benefit {
	margin-top: min(15.6vw, 117px);
}
.admission .detail_wrap .benefit .benefit_head_wrap {
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
}
.admission .detail_wrap .benefit.num1 .benefit_head_wrap {
	top: max(-4.4vw, -33px);
}
.admission .detail_wrap .benefit.num2 .benefit_head_wrap,
.admission .detail_wrap .benefit.num3 .benefit_head_wrap {
	top: max(-9.6vw, -72px);
}
.admission .detail_wrap .benefit .benefit_head_wrap .text {
	color: var(--green);
	font-size: min(2.6667vw, 20px);
	margin: 0 0 1em;
}
.admission .detail_wrap .benefit .benefit_head_wrap .benefit_head {
	width: min(27.4667vw, 206px);
	box-sizing: border-box;
}
.admission .detail_wrap .benefit .contents > dt {
	font-size: min(3.4667vw, 26px);
	line-height: 1.34;
	padding: 0 0 min(3.4667vw, 26px);
	border-bottom: min(0.2667vw, 2px) solid #000;
}
.admission .detail_wrap .benefit .contents > dt sup {
	font-size: 70%;
	vertical-align: super;
}
.admission .detail_wrap .benefit .contents > dt .red {
	display: block;
	color: var(--red);
	font-size: min(4.2667vw, 32px);
	font-weight: bold;
}
.admission .detail_wrap .benefit .contents > dt .red .num {
	font-size: min(8vw, 60px);
}
.admission .detail_wrap .benefit .contents > dd .dl_list dl {
	position: relative;
	padding: min(3.6vw, 27px) 0 min(3.4667vw, 26px);
}
.admission .detail_wrap .benefit .contents > dd .dl_list dl::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	display: inline-block;
	height: min(0.4vw, 3px);
	width: 100%;
	background: radial-gradient(circle farthest-side, #000, #000 50%, transparent 50%, transparent);
	background-repeat: repeat-x;
	background-position: center;
	background-size: min(0.9333vw, 7px) min(0.4vw, 3px);
} 

.admission .detail_wrap .benefit .contents > dd .dl_list dl dt {
	color: #fff;
	background: var(--green);
}
.admission .detail_wrap .benefit .contents > dd .dl_list dl dd {
	font-size: min(3.2vw, 24px);
	line-height: 1.667;
	margin-top: min(2vw, 15px);
}
.admission .detail_wrap .benefit .contents > dd .dl_list dl dd .note {
	display: block;
	color: #61677a;
	font-size: min(2.6667vw, 20px);
	line-height: 1;
}
.admission .detail_wrap .benefit .contents > dd .dl_list + .note {
	font-size: min(2.5333vw, 19px);
	text-align: left;
	line-height: 1.368;
	margin-top: min(3.3333vw, 25px);
}

/* =feature 
-------------------------------------------------------------- */
.feature {
	margin-top: min(15.4667vw, 116px);
}
.feature .head_contents {
	padding: 0 0 min(1.6vw, 12px);
}
.feature .head_contents .ttl {
	position: relative;
	font-size: min(3.7333vw, 28px);
	font-weight: bold;
	width: 92%;
	padding: min(6vw, 45px) 0;
	margin: 0 auto min(7.8667vw, 59px);
	border-top: min(0.4vw, 3px) solid #000;
	border-bottom: min(0.4vw, 3px) solid #000;
}
.feature .head_contents .ttl::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
	bottom: max(-3.7333vw, -28px);
	width: min(5.8667vw, 44px);
	height: min(4.1333vw, 31px);
	background: url(img/feature_head_contents_arrow.png)no-repeat center/cover;
}
.feature .head_contents .ttl span {
	display: block;
	font-size: min(5.3333vw, 40px);
	margin-top: min(2.2667vw, 17px);
}
.feature .head_contents .wrap {
	display: flex;
	gap: 0 min(4.4vw, 33px);
	margin: 0 0 min(8.1333vw, 61px);
}
.feature .head_contents .wrap .card_wrap {
	flex: 0 0 min(48.2667vw, 362px);
	padding-left: min(2vw, 15px);
	box-sizing: border-box;
}
.feature .head_contents .wrap .card_wrap .card {
	width: min(42.8vw, 321px);
	margin: 0 0 min(4.5333vw, 34px) min(2vw, 15px);
}
.feature .head_contents .wrap .list {
	flex: 1 1 auto;
}
.feature .head_contents .wrap .list ul li {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	border-style: solid;
	border-color: var(--green);
	height: min(17.0667vw, 128px);
	border-width: min(0.5333vw, 4px) 0 min(0.5333vw, 4px) min(0.5333vw, 4px);
	border-radius: min(8.5333vw, 64px) 0 0 min(8.5333vw, 64px);
	box-sizing: border-box;
	background: #fff9d9;
}
.feature .head_contents .wrap .list ul li::after {
	content: '';
	position: absolute;
	top: max(-0.5333vw, -4px);
	right: 0;
	width: min(17.6vw, 132px);
	height: min(0.5333vw, 4px);
	background: #fff9d9;
}
.feature .head_contents .wrap .list ul li + li {
	margin-top: min(5.0667vw, 38px);
}
.feature .head_contents .wrap .list ul li .num {
	position: absolute;
	top: -0.5em;
	right: min(3.0667vw, 23px);
	color: var(--green);
	font-size: min(7.3333vw, 55px);
	z-index: 1;
}
.feature .head_contents .wrap .list ul li p {
	font-size: min(2.9333vw, 22px);
	font-weight: bold;
}
.feature .head_contents .wrap .list ul li p span {
	display: block;
	color: var(--red);
	font-size: min(3.7333vw, 28px);
	margin-top: min(0.8vw, 6px);
}
.feature .head_contents .wrap .list ul li p span sup {
	color: #000;
	font-size: min(2.2667vw, 17px);
	vertical-align: super;
}
.feature .head_contents .note {
	font-size: min(2.1333vw, 16px);
	text-align: right;
	padding-right: min(1.6vw, 12px);
}

/* =feature_wrap 
-------------------------------------------------------------- */
.feature_wrap {
	padding: min(4vw, 30px) min(3.3333vw, 25px);
	background: var(--green);
}
.feature_wrap .feature_contents {
	padding-top: min(9.8667vw, 74px);
	padding-left: min(4.8vw, 36px);
	padding-right: min(4.8vw, 36px);
	border-radius: min(6.6667vw, 50px);
	background: #fff;
}
.feature_contents .num_wrap {
	color: var(--green);
	font-weight: bold;
}
.feature_contents .num_wrap .text {
	font-size: min(2.6667vw, 20px);
	margin: 0 0 min(2.6667vw, 20px);
}
.feature_contents .num_wrap .num {
	display: inline-block;
	font-size: min(8.6667vw, 65px);
	padding: 0 min(1.7333vw, 13px) min(2.6667vw, 20px);
	border-bottom: min(0.2667vw, 2px) solid var(--green);
}
.feature_contents .head_text {
	font-weight: bold;
	font-size: min(4.6667vw, 35px);
}
.feature_contents .head_text .red {
	display: block;
	color: var(--red);
	font-size: min(6.6667vw, 50px);
}
.feature_contents .head_text .small {
	font-size: min(3.7333vw, 28px);
	line-height: 1.785;
}
.feature_contents .box {
	border: min(0.4vw, 3px) solid #000;
	border-radius: min(2.8vw, 21px);
	background: #fff9d9;
}
.feature_contents .box p {
	font-size: min(3.7333vw, 28px);
	font-weight: bold;
	line-height: 1.42;
}
.feature_contents .box p span {
	color: var(--green);
}
.feature_contents .box2 {
	position: relative;
	width: min(81.8667vw, 614px);
	border: min(0.4vw, 3px) solid #000;
	border-radius: min(4.5333vw, 34px);
	box-shadow: min(2.1333vw, 16px) min(2.1333vw, 16px) 0px 0px rgba(255, 226, 66, 1);
	box-sizing: border-box;
}
.feature_contents .obi {
	display: flex;
	align-items: center;
	justify-content: center;
	width: min(92.6667vw, 695px);
	height: min(24.2667vw, 182px);
	padding: 0 0 min(2.8vw, 21px);
	margin-left: max(-8.1333vw, -61px);
	box-sizing: border-box;
	background: url(img/bg_obi.png)no-repeat center/cover;
}
.feature_contents .obi p {
	font-weight: bold;
}
.feature_contents .obi p span {
	display: block;
	font-size: min(5.3333vw, 40px);
	margin-top: min(2.2667vw, 17px);
}

/* =feature_wrap num1
-------------------------------------------------------------- */
.feature_contents.num1 {
	padding-bottom: min(6.9333vw, 52px);
	margin: 0 0 min(3.6vw, 27px);
}
.feature_contents.num1 .num_wrap {
	margin: 0 0 min(8.4vw, 63px);
}
.feature_contents.num1 .head_text {
	margin: 0 0 min(10.4vw, 78px);
}
.feature_contents.num1 .head_text .red {
	margin: min(3.6vw, 27px) 0 min(1.8667vw, 14px);
}
.feature_contents.num1 .box {
	padding: min(3.8667vw, 29px) 0 min(3.7333vw, 28px);
}
.feature_contents.num1 .note {
	color: #61677a;
	font-size: min(2.6667vw, 20px);
	line-height: 1.5;
	margin: min(2.4vw, 18px) 0 min(10.4vw, 78px);
}
.feature_contents.num1 .red_text {
	color: var(--red);
	font-size: min(4vw, 30px);
	font-weight: bold;
	margin: 0 0 min(4.1333vw, 31px);
}
.feature_contents.num1 .point_img_1 {
	width: min(56.2667vw, 422px);
	margin: min(5.3333vw, 40px) auto min(6.2667vw, 47px);
}
.feature_contents.num1 .or {
	display: inline-block;
	font-size: min(4vw, 30px);
	font-weight: bold;
	letter-spacing: 0.2em;
	padding: min(4.9333vw, 37px) min(3.8667vw, 29px) min( 5.2vw, 39px) min(4.6667vw, 35px);
	margin: 0 0 min(6vw, 45px);
	background: url(img/or.png)no-repeat center/cover;
}
.feature_contents.num1 .point_img_2 {
	width: min(60.1333vw, 451px);
	margin: min(6.4vw, 48px) auto min(7.7333vw, 58px);
}
.feature_contents.num1 .box2 {
	padding: min(5.3333vw, 40px) min(4vw, 30px) min(7.3333vw, 55px) min(5.0667vw, 38px);
}
.feature_contents.num1 .box2 dl dt {
	position: relative;
	display: inline-block;
	color: #fff;
	font-size: min(3.6vw, 27px);
	font-weight: bold;
	padding: min(2.6667vw, 20px) min(7.3333vw, 55px) min(2.8vw, 21px);
	margin: 0 0 min(8vw, 60px);
	border-radius: min(4.4vw, 33px);
	background: #000;
}
.feature_contents.num1 .box2 dl dt::after {
	content: '';
	position: absolute;
	bottom: max(-2.6667vw, -20px);
	left: 0;
	right: 0;
	width: min(4vw, 30px);
	height: min(2.6667vw, 20px);
	margin: 0 auto;
	background: #000;
	clip-path: polygon(100% 0, 0 0, 50% 100%);
}
.feature_contents.num1 .box2 dl dd p {
	font-size: min(3.4667vw, 26px);
	text-align: left;
	line-height: 1.73;
}
.feature_contents.num1 .box2 dl dd p + p {
	margin-top: 1.73em;
}
.feature_contents.num1 .box2 dl dd .wrap {
	display: flex;
	justify-content: center;
	gap: 0 min(4.6667vw, 35px);
	margin: min(6.5333vw, 49px) 0 0;
}
.feature_contents.num1 .box2 dl dd .wrap .img:first-child {
	width: min(26.5333vw, 199px);
}
.feature_contents.num1 .box2 dl dd .wrap .img:last-child {
	width: min(33.3333vw, 250px);
}

/* =feature_wrap num2
-------------------------------------------------------------- */
.feature_contents.num2 {
	padding-bottom: min(6.9333vw, 52px);
	margin: 0 0 min(3.6vw, 27px);
}
.feature_contents.num2 .num_wrap {
	margin: 0 0 min(8.4vw, 63px);
}
.feature_contents.num2 .head_text {
	padding: 0 0 min(8.5333vw, 64px);
}
.feature_contents.num2 .head_text .red {
	margin: min(3.3333vw, 25px) 0 min(3.3333vw, 25px);
}
.feature_contents.num2 .box {
	position: relative;
	padding: min(5.4667vw, 41px) 0 min(5.2vw, 39px);
	margin: min(13.7333vw, 103px) 0 min(6vw, 45px);
}
.feature_contents.num2 .box::before {
	content: '';
	position: absolute;
	top: max(-14.1333vw, -106px);
	left: min(21.3333vw, 160px);
	width: min(45.4667vw, 341px);
	height: min(13.7333vw, 103px);
	background: url(img/feature_contents_num2_box_img.png)no-repeat center/cover;
}
.feature_contents.num2 .box .text {
	margin: 0 0 min(1.3333vw, 10px);
}
.feature_contents.num2 .box .red {
	color: var(--red);
	font-size: min(5.3333vw, 40px);
	line-height: 1.45;
	margin: 0 0 min(3.2vw, 24px);
}
.feature_contents.num2 .box .note {
	font-size: min(2.6667vw, 20px);
	line-height: 1.5;
}
.feature_contents.num2 .tbl_img {
	width: min(83.0667vw, 623px);
	margin: 0 auto min(5.7333vw, 43px);
}
.feature_contents.num2 .hukidashi {
	position: relative;
	margin: 0 0 min(7.7333vw, 58px);
}
.feature_contents.num2 .hukidashi::after {
	content: '';
	position: absolute;
	top: max(-1.4667vw, -11px);
	right: max(-2.5333vw, -19px);
	/* width: min(39.8667vw, 299px); */
	width: min(44.666vw, 335px);
	/* height: min(45.7333vw, 343px); */
	height: min(45.866vw, 344px);
	/* background: url(img/hukidashi_img.png)no-repeat center/cover; */
	background: url(img/hukidashi_img_nishikawa.png)no-repeat center/cover;
}
.feature_contents.num2 .hukidashi p {
	position: relative;
	font-size: min(3.6vw, 27px);
	line-height: 1.55;
	/* width: min(54vw, 405px); */
	width: min(51.733vw, 388px);
	padding: min(5.3333vw, 40px) 0 min(5.4667vw, 41px);
	border-radius: min(5.3333vw, 40px);
	background: #e9e9f0;
}
.feature_contents.num2 .hukidashi p::after {
	content: '';
	position: absolute;
	top: min(11.7333vw, 88px);
	right: max(-7.7333vw, -58px);
	width: min(7.7333vw, 58px);
	height: min(8.9333vw, 67px);
	background: #e9e9f0;
	clip-path:  polygon(100% 0, 0 min(2.2667vw, 17px), 0 100%);
}
.feature_contents.num2 .hukidashi p span {
	color: var(--green);
}
.feature_contents.num2 .box2 .head {
	position: absolute;
	top: max(-4.6667vw, -35px);
	left: 0;
	right: 0;
	font-size: min(3.4667vw, 26px);
	width: min(34.1333vw, 256px);
	padding: min(2.4vw, 18px) 0;
	margin: 0 auto;
	border: min(0.4vw, 3px) solid #000;
	border-radius: min(4.4vw, 33px);
	background-color: #fff;
}
.feature_contents.num2 .box2 .head::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: max(-3.0667vw, -23px);
	width: min(4vw, 30px);
	height: min(3.0667vw, 23px);
	margin: 0 auto;
	background: url(img/box_head_arrow.png)no-repeat center/cover;
}
.feature_contents.num2 .box2 .img_contents_wrap {
	padding: min(5.3333vw, 40px) min(4vw, 30px) 0;
}
.feature_contents.num2 .box2 .img_contents_wrap .img_contents {
	display: flex;
	align-items: center;
	gap: 0 min(3.4667vw, 26px);
	padding: min(4.6667vw, 35px) 0 min(5.3333vw, 40px);
}
.feature_contents.num2 .box2 .img_contents_wrap .img_contents + .img_contents {
	border-top: min(0.4vw, 3px) solid #000;
}
.feature_contents.num2 .box2 .img_contents_wrap .img_contents .img {
	flex: 0 0 min(26.6667vw, 200px);
}
.feature_contents.num2 .box2 .img_contents_wrap .img_contents .text_wrap {
	text-align: left;
}
.feature_contents.num2 .box2 .img_contents_wrap .img_contents .text_wrap .text {
	font-size: min(3.4667vw, 26px);
	line-height: 1.53;
}
.feature_contents.num2 .box2 .img_contents_wrap .img_contents .text_wrap .red {
	color: var(--red);
	font-size: min(4vw, 30px);
	font-weight: bold;
	line-height: 1.2;
	margin-top: min(2vw, 15px);
}
.feature_contents.num2 .obi {
	margin-top: min(8.8vw, 66px);
	margin-bottom: min(5.2vw, 39px);
}
.feature_contents.num2 .obi p {
	font-size: min(3.4667vw, 26px);
}
.feature_contents.num2 .cost {
	margin: 0 0 min(4.2667vw, 32px);
}
.feature_contents.num2 .cost .cost_text {
	font-size: min(4.2667vw, 32px);
}
.feature_contents.num2 .cost .cost_text .red {
	display: block;
	color: var(--red);
	font-size: min(6vw, 45px);
	font-weight: bold;
	margin-top: min(3.4667vw, 26px);
}
.feature_contents.num2 .cost .cost_text .red .small {
	font-size: min(4vw, 30px);
}
.feature_contents.num2 .cost .note {
	text-align: left;
	font-size: min(2.5333vw, 19px);
	line-height: 1.36;
	width: min(70.9333vw, 532px);
	margin: min(3.4667vw, 26px) auto 0;
}
.feature_contents.num2 .cost_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: min(10vw, 75px) 0;
	margin: 0 0 min(12.1333vw, 91px);
}
.feature_contents.num2 .cost_list li {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: center;
	flex: 0 0 min(19.2vw, 144px);
}
.feature_contents.num2 .cost_list li:nth-child(1) .icon {
	width: min(14.5333vw, 109px);
	margin: 0 auto min(2.6667vw, 20px);
}
.feature_contents.num2 .cost_list li:nth-child(2) .icon {
	width: min(9.2vw, 69px);
	margin: 0 auto min(2.4vw, 18px);
}
.feature_contents.num2 .cost_list li:nth-child(3) .icon {
	width: min(9.8667vw, 74px);
	margin: 0 auto min(2.4vw, 18px);
}
.feature_contents.num2 .cost_list li:nth-child(4) .icon {
	width: min(7.4667vw, 56px);
	margin: 0 auto min(2vw, 15px);
}
.feature_contents.num2 .cost_list li:nth-child(5) .icon {
	width: min(11.6vw, 87px);
	margin: 0 auto min(2.4vw, 18px);
}
.feature_contents.num2 .cost_list li:nth-child(6) .icon {
	width: min(11.4667vw, 86px);
	margin: 0 auto min(3.0667vw, 23px);
}
.feature_contents.num2 .cost_list li:nth-child(7) .icon {
	width: min(9.7333vw, 73px);
	margin: 0 auto min(2.2667vw, 17px);
}
.feature_contents.num2 .cost_list li:nth-child(8) .icon {
	width: min(9.8667vw, 74px);
	margin: 0 auto min(2.8vw, 21px);
}
.feature_contents.num2 .cost_list li:nth-child(9) .icon {
	width: min(10.6667vw, 80px);
	margin: 0 auto min(2.1333vw, 16px);
}
.feature_contents.num2 .cost_list li:nth-child(10) .icon {
	width: min(10.4vw, 78px);
	margin: 0 auto min(2.2667vw, 17px);;
}
.feature_contents.num2 .cost_list li:nth-child(11) .icon {
	width: min(9.2vw, 69px);
	margin: 0 auto min(2.1333vw, 16px);
}
.feature_contents.num2 .cost_list li:nth-child(12) .icon {
	width: min(14.9333vw, 112px);
	margin: 0 auto min(2.2667vw, 17px);
}
.feature_contents.num2 .cost_list li .caption {
	font-size: min(3.2vw, 24px);
	padding: min(1.7333vw, 13px) 0;
	width: 100%;
	border-radius: min(3.2vw, 24px);
	background: #fff3b2;
}
.feature_contents.num2 .box2.bottom {
	padding: min(12.5333vw, 94px) 0 min(7.4667vw, 56px);
	margin: 0 0 min(6.1333vw, 46px);
}
.feature_contents.num2 .box2.bottom .head {
	top: max(-6.8vw, -51px);
	font-size: min(3.2vw, 24px);
	line-height: 1.25;
	width: min(65.8667vw, 494px);
	padding: min(1.8667vw, 14px) 0;
	border-radius: min(6.6667vw, 50px);
}
.feature_contents.num2 .box2.bottom::after {
	content: '';
	position: absolute;
	right: max(-5.3333vw, -40px);
	bottom: max(-9.8667vw, -74px);
	width: min(27.8667vw, 209px);
	height: min(24.2667vw, 182px);
	background: url(img/feature_num2_box2_img.png)no-repeat center/cover;
}
.feature_contents.num2 .box2.bottom p {
	font-size: min(3.4667vw, 26px);
	font-weight: bold;
}
.feature_contents.num2 .box2.bottom p .red {
	display: block;
	color: var(--red);
	font-size: min(5.3333vw, 40px);
	line-height: 1.33;
	margin-top: min(1.0667vw, 8px);
}
.feature_contents.num2 .box2.bottom p .red .number {
	font-size: min(6vw, 45px)
}
.feature_contents.num2 .box2.bottom p .red .small {
	font-size: min(4vw, 30px);
}
.feature_contents.num2 .note.bottom {
	font-size: min(2.5333vw, 19px);
	line-height: 1.36;
	text-align: left;
	letter-spacing: -0.04em;
}

/* =feature_wrap num3
-------------------------------------------------------------- */
.feature_contents.num3 {
	margin: 0 0 min(3.6vw, 27px);
}
.feature_contents.num3 .num_wrap {
	margin: 0 0 min(8.4vw, 63px);
}
.feature_contents.num3 .head_text {
	padding: 0 0 min(5.8667vw, 44px);
}
.feature_contents.num3 .head_text .red {
	margin: min(3.3333vw, 25px) 0 0;
}
.feature_contents.num3 .obi {
	height: min(28.9333vw, 217px);
	margin-bottom: min(1.8667vw, 14px);
	background: url(img/bg_obi2.png)no-repeat center/cover;
}
.feature_contents.num3 .obi p {
	font-size: min(3.2vw, 24px);
}
.feature_contents.num3 .obi p .middle {
	font-size: min(4.6667vw, 35px);
	margin-top: 0;
	margin-bottom: min(2.6667vw, 20px);
}
.feature_contents.num3 .obi p span:not(.middle) {
	margin-top: min(1.6vw, 12px);
}
.feature_contents.num3 .card_wrap {
	position: relative;
	padding: 0 0 min(6.9333vw, 52px);
}
.feature_contents.num3 .card_wrap .dl_wrap dl {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	font-weight: bold;
	width: min(30vw, 225px);
	height: min(30vw, 225px);
	background: #fff3b2;
	border-radius: 50%;
	box-sizing: border-box;
}
.feature_contents.num3 .card_wrap .dl_wrap dl + dl {
	margin-top: min(3.3333vw, 25px);
}
.feature_contents.num3 .card_wrap .dl_wrap dl dt {
	font-size: min(3.7333vw, 28px);
	margin: 0 0 min(0.5333vw, 4px);
}
.feature_contents.num3 .card_wrap .dl_wrap dl dd {
	color: var(--red);
	font-size: min(7.4667vw, 56px);
}
.feature_contents.num3 .card_wrap .dl_wrap dl dd .num {
	font-size: min(11.7333vw, 88px);
}
.feature_contents.num3 .card_wrap .card_img {
	position: absolute;
	right: 0;
	bottom: 0;
	width: min(48.1333vw, 361px);
}

/* =feature_wrap num4
-------------------------------------------------------------- */
.feature_contents.num4 {
	padding-bottom: min(7.2vw, 54px);
}
.feature_contents.num4 .num_wrap {
	margin: 0 0 min(8.4vw, 63px);
}
.feature_contents.num4 .head_text {
	margin: 0 0 min(6.6667vw, 50px);
}
.feature_contents.num4 .head_text .small {
	display: block;
	line-height: 1.6;
	margin: min(5.3333vw, 40px) 0 0;
}
.feature_contents.num4 .box {
	padding: min(6.9333vw, 52px) 0 min(8vw, 60px);
	margin: 0 0 min(13.2vw, 99px);
}
.feature_contents.num4 .box p {
	margin: 0 0 min(5.3333vw, 40px);
}
.feature_contents.num4 .box .wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 min(7.2vw, 54px);
}
.feature_contents.num4 .box .wrap .etc {
	width: min(15.8667vw, 119px);
}
.feature_contents.num4 .box .wrap .apple {
	width: min(17.3333vw, 130px);
}
.feature_contents.num4 .box .wrap .google {
	width: min(18.8vw, 141px);
}
.feature_contents.num4 .box2 {
	padding: min(11.8667vw, 89px) 0 min(6.5333vw, 49px);
	margin: 0 0 min(9.8667vw, 74px);
}
.feature_contents.num4 .box2 .head {
	position: absolute;
	top: max(-4.6667vw, -35px);
	left: 0;
	right: 0;
	font-size: min(3.4667vw, 26px);
	width: min(70vw, 525px);
	padding: min(2.4vw, 18px) 0;
	margin: 0 auto;
	border: min(0.4vw, 3px) solid #000;
	border-radius: min(4.4vw, 33px);
	background-color: #fff;
}
.feature_contents.num4 .box2 .head::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: max(-3.0667vw, -23px);
	width: min(4vw, 30px);
	height: min(3.0667vw, 23px);
	margin: 0 auto;
	background: url(img/box_head_arrow.png) no-repeat center / cover;
}
.feature_contents.num4 .box2 .card {
	width: min(45.3333vw, 340px);
	margin: 0 auto min(5.8667vw, 44px);
}
.feature_contents.num4 .box2 .text {
	font-size: min(3.4667vw, 26px);
	font-weight: bold;
	line-height: 1.38;
}
.feature_contents.num4 .text_wrap {
	position: relative;
	padding-left: min(3.7333vw, 28px);
}
.feature_contents.num4 .text_wrap::after {
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	width: min(25.8667vw, 194px);
	height: min(42.9333vw, 322px);
	background: url(img/feature_num4_img.png)no-repeat center/cover;
}
.feature_contents.num4 .text_wrap p {
	font-size: min(3.4667vw, 26px);
	text-align: left;
	line-height: 1.73;
	width: min(47.3333vw, 355px);
}
.feature_contents.num4 .text_wrap p span {
	color: var(--green);
	font-weight: bold;
}

/* =hospitality
-------------------------------------------------------------- */
.hospitality {
	padding: min(16.4vw, 123px) 0 0;
}
.hospitality .head_contents {
	margin: 0 0 min(6.5333vw, 49px);
}
.hospitality .head_contents .sub {
	font-size: min(3.6vw, 27px);
	font-weight: bold;
	width: min(48.2667vw, 362px);
	height: min(15.6vw, 117px);
	padding: min(4.6667vw, 35px) 0 0;
	margin: 0 auto min(5.7333vw, 43px);
	box-sizing: border-box;
	background: url(img/hospitality_sub_border.png)no-repeat top center/100% 100%;
}
.hospitality .head_contents .ttl {
	color: var(--green);
	font-size: min(6vw, 45px);
	font-weight: bold;
	margin: 0 0 min(5.4667vw, 41px);
}
.hospitality .head_contents p {
	font-size: min(3.4667vw, 26px);
	font-weight: bold;
	line-height: 1.73;
}
.hospitality .list_wrap {
	padding: 0 min(8.8vw, 66px);
	margin: 0 0 min(15.3333vw, 115px);
}
.hospitality .list_wrap ul {
	display: flex;
	flex-wrap: wrap;
	gap: min(5.3333vw, 40px) min(7.7333vw, 58px);
}
.hospitality .list_wrap ul li {
	flex: 0 1 min(37.3333vw, 280px);
}
.hospitality .list_wrap ul li .caption {
	font-size: min(3.0667vw, 23px);
	line-height: 1.39;
	margin-top: min(3.6vw, 27px);
}
.hospitality .list_wrap .etc {
	font-size: min(3.4667vw, 26px);
	text-align: right;
	margin-top: min(1.3333vw, 10px);
}

/* =cv_area
-------------------------------------------------------------- */
.cv_area {
	padding: min(8.9333vw, 67px) 0 min(6.5333vw, 49px);
	background: var(--green);
}
.cv_area .text {
	position: relative;
	display: inline-block;
	color: #fff;
	font-size: min(3.7333vw, 28px);
	font-weight: bold;
	line-height: 1.6;
	letter-spacing: 0.1em;
	padding: 0 min(7.2vw, 54px);
	margin: 0 0 min(5vw, 30px);
}
.cv_area .text .big {
	font-size: min(5vw, 40px);
}
.cv_area .text::before,
.cv_area .text::after {
	content: '';
	position: absolute;
	bottom: -20%;
	width: min(3.8667vw, 29px);
	height: min(7.4667vw, 56px);
	transform: translateY(-50%);
}
.cv_area .text::before {
	left: 0;
	background: url(img/cv_text_line_left.png)no-repeat center/cover;
}
.cv_area .text::after {
	right: 0;
	background: url(img/cv_text_line_right.png)no-repeat center/cover;
}
.cv_area .btn {
	width: 80%;
	margin: 0 auto;
}
.cv_area .btn a {
	position: relative;
	display: block;
	color: #fff;
	font-size: min(4.6667vw, 35px);
	font-weight: bold;
	padding: min(5.0667vw, 38px) 0 min(4.9333vw, 37px);
	border-radius: min(7.3333vw, 55px);
	box-shadow: 0px min(1.0667vw, 8px) 0px 0px rgba(0, 0, 0, 0.25);
	background: #fe6702;
}
.cv_area .btn a::after {
	content: '';
	position: absolute;
	top: 50%;
	right: min(5.8667vw, 44px);
	transform: translateY(-50%);
	width: min(2.9333vw, 22px);
	height: min(4.5333vw, 34px);
	background: url(img/btn_arrow.png) no-repeat center / cover;
}
@media ( min-width: 961px ){
	.cv_area .btn a {
		opacity: 1;
	transition: opacity .3s;
	}
	.cv_area .btn a:hover {
		opacity: .8;
	}
}


/* =case
-------------------------------------------------------------- */
.case {
	padding: min(16.2667vw, 122px) 0 min(14.8vw, 111px);
}
.case .head_contents {
	margin: 0 0 min(6.4vw, 48px);
}
.case .head_contents .ttl {
	font-size: min(4vw, 30px);
	font-weight: bold;
	margin: 0 0 min(6.8vw, 51px);
}
.case .head_contents .ttl span {
	display: block;
	color: var(--green);
	font-size: min(6.6667vw, 50px);
	margin-top: min(4vw, 30px);
}
.case .head_contents p {
	font-size: min(3.4667vw, 26px);
	line-height: 1.73;
}
.case .list_wrap {
	padding: min(4vw, 30px) min(3.3333vw, 25px);
}
.case .case_list {
	padding: min(7.733vw, 58px) min(4.8vw, 36px) min(37.6vw, 282px) min(4.8vw, 36px);
	margin: 0 0 min(9.4667vw, 71px);
	background: #e9e9f0;
	border-radius: min(6.6667vw, 50px);
	overflow: hidden;
}
.case .case_list li {
	position: relative;
	display: flex;
	/* padding: min(13.6vw, 102px) 0 0; */
	padding: min(9.333vw, 70px) 0 0;
}
.case .case_list li + li {
	/* margin-top: min(5.0667vw, 38px); */
	margin-top: min(9.333vw, 70px);
}
.case .case_list li:nth-child(3) {
	padding: min(2.666vw, 20px) 0 0;
}
.case .case_list li:nth-child(even) {
	flex-direction: row-reverse;
}
.case .case_list li .img {
	position: absolute;
	top: 0;
	/* width: min(37.3333vw, 280px); */
	width: min(46.666vw, 350px);
	z-index: 1;
}
.case .case_list li:nth-child(1) .img {
	left: 0;
}
.case .case_list li:nth-child(2) .img,
.case .case_list li:nth-child(3) .img {
	right: 0;
}
.case .case_list li:nth-child(3) .img {
	width: min(79.06vw, 593px);
	z-index: 999;
}
.case .case_list li dl {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	/* width: min(60.2667vw, 452px); */
	width: min(53.333vw, 400px);
	/* height: min(27.7333vw, 208px); */
	height: min(16vw, 120px);
	background: #fff;
	z-index: 9;
}
.case .case_list li:nth-child(1) dl {
	/* margin: 0 min(4.4vw, 33px) 0 auto; */
	margin: 0 0 0 auto;
	border-radius: min(5.3333vw, 40px) min(5.3333vw, 40px) min(5.3333vw, 40px) 0;
}
.case .case_list li:nth-child(2) dl,
.case .case_list li:nth-child(3) dl {
	/* margin: 0 auto 0 min(10vw, 75px); */
	margin: 0 auto 0 0;
	border-radius: min(5.3333vw, 40px) min(5.3333vw, 40px) 0 min(5.3333vw, 40px);
}
.case .case_list li:nth-child(3) dl {
	height: min(18.66vw, 140px);
	width: min(50.666vw, 380px);
}
.case .case_list li dl dt {
	position: absolute;
}
.case .case_list li:nth-child(1) dl dt {
	top: max(-4vw, -30px);
	/* right: max(-4.4vw, -33px); */
	right: 32px;
	width: min(19.0667vw, 143px);
}
@media ( max-width: 750px ){
	.case .case_list li:nth-child(1) dl dt {
		right: 2.266vw;
	}
}

.case .case_list li:nth-child(2) dl dt,
.case .case_list li:nth-child(3) dl dt {
	/* top: max(-2.9333vw, -22px); */
	top: max(-4vw, -30px);
	/* left: max(-4vw, -30px); */
	left: 38px;
	width: min(20.4vw, 153px);
}
@media ( max-width: 750px ){
	.case .case_list li:nth-child(2) dl dt,
	.case .case_list li:nth-child(3) dl dt {
		left: 5.066vw;
	}
}

.case .case_list li:nth-child(3) dl dt {
	top: max(-3.4667vw, -26px);
	right: max(-4.4vw, -33px);
	width: min(19.4667vw, 146px);
}
.case .case_list li dl dd {
	font-size: min(3.3333vw, 25px);
	text-align: left;
	line-height: 1.4;
}
.case .case_list li:nth-child(odd) dl dd {
	/* margin-left: min(24vw, 180px); */
	margin-left: min(5.066vw, 38px);
}
.case .case_list li:nth-child(even) dl dd {
	/* margin-left: min(8vw, 60px); */
	margin-left: min(5.066vw, 38px);
}
.case .box {
	position: relative;
	width: min(60.8vw, 456px);
	margin: 0 min(8.6667vw, 65px) 0 auto;
	box-sizing: border-box;
	border: min(0.2667vw, 2px) solid #000;
}
.case .box::before,
.case .box::after {
	content: '';
	position: absolute;
}
.case .box::before {
	top: max(-3.6vw, -27px);
	left: max(-23.4667vw, -176px);
	width: min(23.7333vw, 178px);
	height: min(37.4667vw, 281px);
	background: url(img/case_box_img_1.jpg)no-repeat center/cover;
}
.case .box::after {
	bottom: max(-3.2vw, -24px);
	right: max(-2.2667vw, -17px);
	width: min(18.2667vw, 137px);
	height: min(14.5333vw, 109px);
	background: url(img/case_box_img_2.jpg)no-repeat center/cover;
}
.case .box p {
	font-size: min(4.2667vw, 32px);
	font-weight: bold;
	line-height: 1.5625;
	padding: min(5.3333vw, 40px) min(2.6667vw, 20px) min(4.9333vw, 37px) 0;
}
.case .box p span {
	color: var(--red);
}

/* =flow
-------------------------------------------------------------- */
.flow {
	position: relative;
	padding: min(14.4vw, 108px) 0 min(12.1333vw, 91px);
	margin: 0 0 min(14.6667vw, 110px);
	border-radius: min(9.3333vw, 70px);
	background: #f5f1e4;
}
.flow::after {
	content: '';
	position: absolute;
	right: min(2.2667vw, 17px);
	bottom: max(-2.5333vw, -19px);
	width: min(27.0667vw, 203px);
	height: min(42.2667vw, 317px);
	background: url(img/flow_bg_img.png)no-repeat center/cover;
}
.flow .circle {
	position: absolute;
	top: max(-4.4vw, -33px);
	right: min(5.8667vw, 44px);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: min(2.6667vw, 20px);
	font-weight: bold;
	width: min(21.6vw, 162px);
	height: min(21.6vw, 162px);
	border-radius: 50%;
	background: #000;
}
.flow .circle span {
	display: block;
	font-size: min(4vw, 30px);
	margin: min(1.0667vw, 8px) 0;
}
.flow .head_contents {
	margin: 0 0 min(8.6667vw, 65px);
}
.flow .head_contents .sub {
	font-size: min(4vw, 30px);
	font-weight: bold;
	margin: 0 0 1em;
}
.flow .head_contents .ttl {
	color: var(--green);
	font-size: min(6.6667vw, 50px);
	font-weight: bold;
	margin: 0 0 min(6.8vw, 51px);
}
.flow .head_contents p {
	font-size: min(3.4667vw, 26px);
	line-height: 1.73;
}
.flow .step_list {
	padding: 0 min(7.6vw, 57px);
}
.flow .step_list ul li {
	position: relative;
	display: flex;
	align-items: center;
	gap: 0 min(4.6667vw, 35px);
}
.flow .step_list ul li:not(:last-child)::after {
	content: '';
	position: absolute;
	left: min(9.6vw, 72px);
	bottom: max(-5.0667vw, -38px);
	width: min(2.9333vw, 22px);
	height: min(2.4vw, 18px);
	background: #000;
	clip-path: polygon(100% 0, 0 0, 50% 100%);
}
.flow .step_list ul li + li {
	margin-top: min(6.8vw, 51px);
}
.flow .step_list ul li .icon {
	flex:  0 1 min(22.1333vw, 166px);
	border-radius: 50%;
	box-shadow: min(1.0667vw, 8px) min(1.0667vw, 8px) 0px 0px rgba(255, 226, 66, 1);
}
.flow .step_list ul li dl {
	text-align: left;
}
.flow .step_list ul li dl dt {
	color: var(--green);
	font-size: min(2.4vw, 18px);
	margin: 0 0 min(1.3333vw, 10px);
}
.flow .step_list ul li dl dd {
	font-size: min(3.4667vw, 26px);
	line-height: 1.538;
}

/* =qa
-------------------------------------------------------------- */
.qa {
	padding: min(15.4667vw, 116px) 0 min(11.4667vw, 86px);
	background: #dfeee3;
}
.qa .ttl_wrap {
	margin: 0 0 min(0, 0);
}
.qa .ttl_wrap .sub {
	font-size: min(4vw, 30px);
	font-weight: bold;
	margin: 0 0 1em;
}
.qa .ttl_wrap .ttl {
	color: var(--green);
	font-weight: bold;
	font-size: min(6.6667vw, 50px);
}
.qa .qa_list {
	padding: 0 min(6.6667vw, 50px);
}
.qa .qa_list dl {
	text-align: left;
}
.qa .qa_list dl dt {
	position: relative;
	display: flex;
	align-items: center;
	font-size: min(2.9333vw, 22px);
	font-weight: bold;
	line-height: 1.59;
	padding: min(4.1333vw, 31px) 0 min(4.6667vw, 35px) min(11.3333vw, 85px);
	min-height: min(18.6667vw, 140px);
	border-bottom: min(0.2667vw, 2px) solid #98a0b0;
	box-sizing: border-box;
	cursor: pointer;
}
.qa .qa_list dl dt.open {
	border-bottom: none;
}
.qa .qa_list dl dt::before {
	content: '';
	position: absolute;
	top: min(5.3333vw, 40px);
	left: 0;
	width: min(8.1333vw, 61px);
	height: min(8.1333vw, 61px);
	background: url(img/q.png)no-repeat center/cover;
}
.qa .qa_list dl dt::after {
	content: '＋';
	position: absolute;
	top: 50%;
	right: 0;
	color: var(--green);
	font-size: min(6.6667vw, 50px);
	font-weight: bold;
	transform: translateY(-50%);
}
.qa .qa_list dl dt.open::after {
	content: '－';
}
.qa .qa_list dl dd {
	font-size: min(2.9333vw, 22px);
	line-height: 1.81;
	padding: min(3.3333vw, 25px) min(4vw, 30px) min(2.8vw, 21px);
	background: #fff;
}
.qa .qa_list dl dd a {
	text-decoration: underline;
}
.qa .qa_list dl dd a:hover {
	text-decoration: none;
}

/* =card_info
-------------------------------------------------------------- */
.card_info {
	padding: 0 min(6.6667vw, 50px) min(14.6667vw, 110px);
}
.card_info .ttl {
	display: inline-block;
	font-size: min(5.3333vw, 40px);
	font-weight: bold;
	padding: 0 0 min(4vw, 30px);
	margin: 0 0 min(8.4vw, 63px);
	border-bottom: min(0.2667vw, 2px) solid var(--green);
}
.card_info .card_img {
	width: min(34vw, 255px);
	margin: 0 auto min(8.2667vw, 62px);
}
.card_info .caption {
	font-size: min(3.3333vw, 25px);
	font-weight: bold;
	margin: 0 0 min(11.7333vw, 88px);
}
.card_info .dl_list dl {
	text-align: left;
	padding: min(2.8vw, 21px) 0 min(1.6vw, 12px);
	border-top: min(0.2667vw, 2px) solid #61677a;
}
.card_info .dl_list dl:last-child {
	border-bottom: min(0.2667vw, 2px) solid #61677a;
}
.card_info .dl_list dl dt {
	color: #61677a;
	font-size: min(2.9333vw, 22px);
	margin: 0 0 min(1.7333vw, 13px);
}
.card_info .dl_list dl dd {
	font-size: min(2.9333vw, 22px);
	line-height: 1.59;
}
.card_info .dl_list dl dd .note {
	font-size: min(2.6667vw, 20px);
	line-height: 1.75;
}
.card_info .dl_list dl dd .flex {
	display: flex;
	align-items: center;
	gap: 0 min(1.0667vw, 8px);
}
.card_info .dl_list dl dd .flex .border {
	display: inline-block;
	line-height: 1;
	padding: min(1.2vw, 9px) min(2.2667vw, 17px) min(1.3333vw, 10px);
	white-space: nowrap;
	border: 1px solid #000;
}
.card_info .note_list {
	text-align: left;
	margin-top: min(2.5333vw, 19px);
}
.card_info .note_list li {
	font-size: min(2.6667vw, 20px);
	line-height: 1.5;
}

/* =security
-------------------------------------------------------------- */
.security {
	padding: min(16.6667vw, 125px) min(5.4667vw, 41px) min(12.6667vw, 95px);
	border-radius: min(9.3333vw, 70px);
	background: #f5f1e4;
}
.security .contents_wrap + .contents_wrap {
	margin-top: min(19.2vw, 144px);
}
.security .contents_wrap .ttl {
	display: inline-block;
	font-size: min(5.3333vw, 40px);
	font-weight: bold;
	padding: 0 0 min(4vw, 30px);
	margin: 0 0 min(8.4vw, 63px);
	border-bottom: min(0.2667vw, 2px) solid var(--green);
}
.security .contents_wrap .text {
	font-size: min(3.2vw, 24px);
	line-height: 1.667;
	margin: 0 0 min(10.4vw, 78px);
}
.security .contents_wrap .service_list li {
	display: flex;
	align-items: center;
	gap: 0 min(3.2vw, 24px);
	text-align: left;
}
.security .contents_wrap .service_list li + li {
	margin-top: min(4.4vw, 33px);
}
.security .contents_wrap .service_list li .icon {
	flex: 0 0 min(20.6667vw, 155px);
}
.security .contents_wrap .service_list li dl {
	flex: 0 1 auto;
}
.security .contents_wrap .service_list li dl dt {
	color: var(--green);
	font-size: min(3.4667vw, 26px);
	font-weight: bold;
	margin: 0 0 min(2.8vw, 21px);
}
.security .contents_wrap .service_list li dl dd,
.security .contents_wrap .wrap .contents dl dd {
	font-size: min(2.9333vw, 22px);
	line-height: 1.59;
}
.security .contents_wrap .wrap {
	display: flex;
	justify-content: center;
	gap: 0 min(7.8667vw, 59px);
}
.security .contents_wrap .wrap .contents {
	flex: 0 0 min(37.6vw, 282px);
}
.security .contents_wrap .wrap .contents .icon {
	width: min(20.6667vw, 155px);
	margin: 0 auto min(4.6667vw, 35px);
}
.security .contents_wrap .wrap .contents dl dt {
	color: var(--green);
	font-size: min(3.4667vw, 26px);
	font-weight: bold;
	line-height: 1.538;
	margin: 0 0 min(3.7333vw, 28px);
}
.security .contents_wrap .wrap .contents dl dd {
	text-align: left;
}

/* =cautionary_note
-------------------------------------------------------------- */
.cautionary_note {
	padding: min(15.6vw, 117px) min(6.2667vw, 47px) min(11.3333vw, 85px);
}
.cautionary_note dl dt {
	font-size: min(4vw, 30px);
	font-weight: bold;
	margin: 0 0 min(8.9333vw, 67px);
}
.cautionary_note dl dd {
	font-size: min(2.6667vw, 20px);
	text-align: left;
	line-height: 1.5;
}

/* =footer
-------------------------------------------------------------- */
.footer {
	padding: min(6.9333vw, 52px) 0 min(7.4667vw, 56px);
	border-top: min(0.2667vw, 2px) solid var(--green);
	background: #fff;
}
.footer .copyright {
	color: var(--green);
	font-size: min(2.6667vw, 20px);
	font-weight: bold;
}
@media ( max-width: 960px ){
	.footer {
		padding: min(6.9333vw, 52px) 0 min(22.1333vw, 166px);
	}
}