@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%;
}
body.fixed {
	overflow: hidden;
}
img {
	max-width: 100%;
	height: auto;
}
input[type="submit"], input[type="reset"] {
	appearance: none;
	cursor: pointer;
}

/* clearfix */
.cf:before, .cf:after {content:"";display:table;}
.cf:after {clear:both;}
.clr {clear: both;}

.noto {
	font-family: "Noto Serif JP", serif;
}
.cabin {
	font-family: "Cabin", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-variation-settings:
    "wdth" 100;
}
.josefin {
	font-family: "Josefin Sans", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
}
.zen {
	font-family: "Zen Kaku Gothic New", sans-serif;
}


/* =Styles 
-------------------------------------------------------------- */
body {
	font-family: "Cabin", "Zen Kaku Gothic New", sans-serif;
	color: #333;
	background: #fff;
	letter-spacing: 0.04em;
	font-weight: 500;
}
a {
	text-decoration: none;
	color: #333;
}
@media ( min-width: 601px ){
	body {
		font-size: 18px;
	}
	.sp {
		display: none !important;
	}
	.inner {
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 20px;
	}
}
@media ( min-width: 961px ){
	.sptab {
		display: none !important;
	}
}
@media ( max-width: 960px ){
	.pc {
		display: none !important;
	}
}
@media ( max-width: 600px ){
	body {
		font-size: 4.2667vw;
	}
	.pctab {
		display: none !important;
	}
	.inner {
		padding: 0 5.3333vw;
	}
}

/*--------------------------------------
btn
--------------------------------------*/
.btn.requirements a,
.btn.entry a {
	box-sizing: border-box;
	width: 100%;
	position: relative;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	background-position: 100% 0;
	background-size: 200% auto;
	background-repeat: no-repeat;
	transition: background 0.3s, color 0.3s;
}
.btn.requirements a::before,
.btn.entry a::before {
	content: '';
	display: block;
	transition: background 0.3s;
}
.btn.requirements a {
	background-image: linear-gradient(to right, #fff 0%,#fff 50%,rgba(138,199,116,1) 50%,rgba(138,199,116,1) 62.5%, rgba(76,174,42,1) 90%);
}
.btn.requirements a::before {
	background: url('img/icon_btn_requirements.png') no-repeat left top/contain;
}
.btn.entry a {
	background-image: linear-gradient(to right, #fff 0%, #fff 50%,rgba(239,208,48,1) 50%, rgba(227,166,10,1) 100%);
	border: 0 solid #E3A60A;
}
.btn.entry a::before {
	background: url('img/icon_btn_entry.png') no-repeat left top/contain;
}
.cta_btn_wrap {
	text-align: center;
}
.cta_btn_wrap .text {
	position: relative;
	display: inline-flex;
	color: #fff;
}
.cta_btn_wrap .text::before,
.cta_btn_wrap .text::after {
	content: '';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.cta_btn_wrap .text::before {
	left: 0;
	background: url(img/line_left.svg)no-repeat center/cover;
}
.cta_btn_wrap .text::after {
	right: 0;
	background: url(img/line_right.svg)no-repeat center/cover;
}
.cat_btn_entry {
	position: relative;
}
.cat_btn_entry::after {
	content: '';
	position: absolute;
	top: 50%;
	background-color: #EFD030;
}
.cat_btn_entry a {
	display: block;
	background-color: #fff;
	box-sizing: border-box;
}
.cat_btn_entry a .btn_txt {
	display: block;
	color: #fff;
}
@media ( min-width: 601px ) {
	.btn.requirements a,
	.btn.entry a {
		height: 60px;
	}
	.btn.requirements a::before {
		width: 29px;
		height: 29px;
		margin: 0 9px 0 0;
	}
	.btn.requirements a:hover {
		color: #4CAE2A;
		background-position: 0 0;
		border: 2px solid #4CAE2A;
	}
	.btn.requirements a:hover::before {
		background: url('img/icon_btn_requirements_hover.png') no-repeat left top/contain;
	}
	.btn.entry a::before {
		width: 38px;
		height: 21px;
		margin: 0 11px 0 0;
	}
	.btn.entry a:hover {
		color: #E3A60A;
		background-position: 0 0;
		border: 2px solid #E3A60A;
	}
	.btn.entry a:hover::before {
		background: url('img/icon_btn_entry_hover.png') no-repeat left top/contain;
	}
	.cta_btn_wrap .text {
		font-size: 20px;
		line-height: 1.4;
		padding: 0 22px;
		margin: 0 0 5px;
	}
	.cta_btn_wrap .text span {
		font-size: 22px;
	}
	.cat_btn_entry::after {
		right: -30px;
		width: 61px;
		height: 2px;
	}
	.cat_btn_entry a {
		height: 87px;
		padding-left: 10px;
		box-shadow: 0px 0px 12px rgba(86, 45, 5, 0.4);
	}
	.cat_btn_entry a .btn_txt {
		height: 100%;
		font-size: 26px;
		display: flex;
		justify-content: center;
		align-items: center;
		box-sizing: border-box;
		background-repeat: no-repeat;
		background-position: 100% 0;
		background-size: 200% 100%;
		background-image: linear-gradient(to right, #fff 0%, #fff 50%, #EFD030 50%, #E3A60A 100%);
		transition: background-position .8s cubic-bezier(0.19, 1, 0.22, 1);
	}
	.cat_btn_entry a .btn_txt span {
		letter-spacing: 0.1em;
	}
	.cat_btn_entry a:hover {
		border: 2px solid #E3A60A;
	}
	.cat_btn_entry a:hover span {
		color: #E3A60A;
		background-position: 0 0;
	}
	.cta_btn_wrap .text::before,
	.cta_btn_wrap .text::after {
		width: 15px;
		height: 23px;
	}
}
@media ( max-width: 960px ){
	.cta_btn_wrap .text {
		filter: drop-shadow(0px 2px 0.8em rgba(75, 108, 126, 0.7)) drop-shadow(0px 0px 0.6em rgba(75, 108, 126, 0.7));
	}
}
@media ( max-width: 600px ) {
	.btn.requirements a,
	.btn.entry a {
		height: 14.4vw;
	}
	.btn.requirements a::before {
		width: 9.0667vw;
		height: 9.0667vw;
		margin: 0 2.6667vw 0 0;
	}
	.btn.entry a::before {
		width: 12vw;
		height: 6.6667vw;
		margin: 0 2.6667vw 0 0;
	}
	.cta_btn_wrap .text::before,
	.cta_btn_wrap .text::after {
		width: 2.9333vw;
		height: 4.5333vw;
	}
	.cta_btn_wrap .text {
		font-size: 4.2667vw;
		line-height: 1.4;
		padding: 0 5.0667vw;
		margin: 0 0 1.8667vw;
	}
	.cta_btn_wrap .text span {
		font-size: 4.2667vw;
	}
	.cat_btn_entry {
		width: 74.6667vw;
	}
	.cat_btn_entry::after {
		right: -5.3333vw;
		width: 10.6667vw;
		height: 0.5333vw;
	}
	.cat_btn_entry a {
		padding-left: 1.3333vw;
		box-shadow: 0px 0px 3.2vw rgba(86, 45, 5, 0.4);
	}
	.cat_btn_entry a .btn_txt {
		font-size: 5.3333vw;
		line-height: 1.4;
		padding: 2.4vw 0 2.9333vw;
		background: linear-gradient(90deg, #EFD030 0%, #E3A60A 100%);
	}
}
/*--------------------------------------
.header
--------------------------------------*/
.header {
	width: 100%;
	background: rgba(255,255,255,0);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 999;
}
.header.hide {
	transition: top .3s;
}
.header.fix {
	position: fixed;
	top: 0;
	background: rgba(255,255,255,0.8);
	transition: top .3s;
}
.header.open {
	background: rgba(255,255,255,0);
}
.header .content {
	display: flex;
	align-items: center;
}
@media ( min-width: 1101px ) {
	.header.hide {
		top: -70px;
	}
	.header .content {
		justify-content: flex-end;
		gap: 0 19px;
	}
	.header .logo {
		width: 91px;
		margin: 0 auto 0 0;
	}
	.header .logo {
	}
	.header .nav ul {
		display: flex;
		align-items: center;
		gap: 0 20px;
	}
	.header .nav ul li a {
		color: rgba(18,95,51,1);
		transition: color 0.3s;
		font-size: 16px;
	}
	.header .nav ul li a:hover {
		color: rgba(18,95,51,0.5);
	}
	.header .btn_area {
		display: flex;
		align-items: center;
	}
	.header .btn_area .btn {
		width: 184px;
	}
	.header .hamburger_menu_btn {
		display: none;
	}
}
@media ( min-width: 601px ) and ( max-width: 1100px ) {
	.header.hide {
		top: -80px;
	}
	.header .content {
		height: 80px;
	}
	.header .logo {
		width: 124px;
	}
	.header .hamburger_menu_btn {
		cursor: pointer;
		width: 40px;
	}
	.header .hamburger_menu_btn::before,
	.header .hamburger_menu_btn::after,
	.header .hamburger_menu_btn div {
		margin: 6px auto;
	}
	.header .hamburger_menu_btn.active::before {
		transform: translateY(7px) rotate(135deg);
	}
	.header .hamburger_menu_btn.active::after {
		transform: translateY(-7px) rotate(-135deg);
	}
}
@media ( max-width: 1100px ) {
	.header .content {
		justify-content: space-between;
	}
	.header .nav,
	.header .btn_area {
		display: none;
	}
	.header .hamburger_menu_btn {
		position: relative;
	}
	.header .hamburger_menu_btn::before,
	.header .hamburger_menu_btn::after,
	.header .hamburger_menu_btn div {
		content: '';
		display: block;
		background: #125F33;
		width: 100%;
		height: 1px;
		transition: 0.5s;
	}
	.header .hamburger_menu_btn::before,
	.header .hamburger_menu_btn::after {
		transform: translateY(0) rotate(0);
	}
	.header .hamburger_menu_btn.active div {
		transform: scale(0);
	}
}
@media ( max-width: 600px ) {
	.header.hide {
		top: -11.6667vw;
	}
	.header .content {
		height: 10.6667vw;
	}
	.header .logo {
		width: 16.5333vw;
	}
	.header .hamburger_menu_btn {
		width: 5.3333vw;
	}
	.header .hamburger_menu_btn::before,
	.header .hamburger_menu_btn::after,
	.header .hamburger_menu_btn div {
		margin: 0.8vw auto;
	}
	.header .hamburger_menu_btn.active::before {
		transform: translateY(1.0667vw) rotate(135deg);
	}
	.header .hamburger_menu_btn.active::after {
		transform: translateY(-1.0667vw) rotate(-135deg);
	}
}

/*--------------------------------------
.sp_menu
--------------------------------------*/
.sp_menu {
	display: none;
}
@media ( max-width: 1100px ) {
	.sp_menu {
		box-sizing: border-box;
		width: 100%;
		height: 100%;
		position: fixed;
		background: linear-gradient(0deg, rgba(181,251,253,1) 0%, rgba(196,254,208,1) 55%, rgba(221,254,238,1) 100%);
		z-index: 998;
	}
	.sp_menu.open {
		display: block;
	}
	.sp_menu .nav ul {
		display: inline-flex;
		flex-direction: column;
		align-items: flex-start;
	}
	.sp_menu .nav ul li a {
		display: block;
		position: relative;
		color: rgba(18,95,51,1);
	}
	.sp_menu .nav ul li a::before {
		content: '';
		display: block;
		background: url('img/icon_diagonal.png') no-repeat top left/cover;
		position: absolute;
		top: 0;
	}
	.sp_menu .btn_area {
		display: flex;
		flex-direction: column;
		align-items: center;
	}
}
@media ( min-width: 601px ) and ( max-width: 1100px ) {
	.sp_menu {
		padding: 130px 0 60px;
	}
	.sp_menu .nav {
		margin: 0 0 74px;
	}
	.sp_menu .nav ul {
		gap: 56px 0;
	}
	.sp_menu .nav ul li a {
		font-size: 16px;
		padding: 24px 0 0;
	}
	.sp_menu .nav ul li a:hover {
		color: rgba(18,95,51,0.5);
	}
	.sp_menu .nav ul li a::before {
		width: 47px;
		height: 24px;
		left: -46px;
	}
	.sp_menu .btn_area {
		gap: 40px 0;
	}
	.sp_menu .btn_area .btn {
		width: 480px;
	}
	.sp_menu .btn_area .btn a {
		box-shadow: 0 4px 4px rgba(0,0,0,0.25);
	}
}
@media ( max-width: 600px ) {
	.sp_menu {
		padding: 24vw 0 8vw;
	}
	.sp_menu .nav {
		margin: 0 0 9.8667vw;
	}
	.sp_menu .nav ul {
		gap: 10.1333vw 0;
	}
	.sp_menu .nav ul li a {
		padding: 3.2vw 0 0;
	}
	.sp_menu .nav ul li a::before {
		width: 6.1333vw;
		height: 3.2vw;
		left: -6.1333vw;
	}
	.sp_menu .btn_area {
		gap: 5.3333vw 0;
	}
	.sp_menu .btn_area .btn {
		width: 64vw;
	}
	.sp_menu .btn_area .btn a {
		box-shadow: 0 1.0667vw 1.0667vw rgba(0,0,0,0.25);
	}
}


/*--------------------------------------
.fv
--------------------------------------*/
.fv {
	box-sizing: border-box;
}
.fv .contents {
	text-align: left;
}
.fv .contents .box {
	display: inline-flex;
	color: #fff;
	font-weight: bold;
	background-color: #125F33;
}
.fv .contents .catch {
	color: #125F33;
	font-weight: bold;
}

@media ( min-width: 961px ){
	.fv {
		position: relative;
		height: 653px;
		padding: 130px 0 0;
		background: url(img/kv_bg.jpg)no-repeat center/cover;
	}
	.fv .inner {
		position: relative;
		height: 100%;
	}
	.fv .contents .box {
		font-size: 24px;
		line-height: 1.4;
		padding: 8px 44px;
		margin: 0 0 16px;
		clip-path: polygon(19px 0%, 100% 0, calc(100% - 19px) 100%, 0% 100%);
	}
	.fv .contents .catch {
		font-size: 50px;
		line-height: 1.3;
		margin: 0 0 36px;
	}
	.fv .contents .circle {
		display: flex;
		gap: 0 20px;
	}
	.fv .contents .cta_btn_wrap {
		position: absolute;
		right: 43px;
		bottom: 40px;
		width: 415px;
	}
}
@media ( min-width: 1500px ){
	.fv::before,
	.fv::after {
		content: '';
		position: absolute;
	}
	.fv::before {
		left: 0;
		bottom: 0;
		width: 189px;
		height: 434px;
		background: url(img/kv_decoration_01.png)no-repeat center/cover;
	}
	.fv::after {
		right: 0;
		bottom: -45px;
		width: 286px;
		height: 201px;
		background: url(img/kv_decoration_02.png)no-repeat center/cover;
	}
}
@media ( max-width: 960px ){
	.fv {
		padding: 17.3333vw 0 0;
		height: 156.5333vw;
		background: url(img/kv_bg_sp.jpg)no-repeat center/cover;	
	}
	.fv .contents .box {
		font-size: min(4.2667vw,24px);
		line-height: 1.4;
		padding: min(0.8vw,8px) min(5vw,44px);
		clip-path: polygon(min(3.7333vw,19px) 0%, 100% 0, calc(100% - min(3.7333vw,19px)) 100%, 0% 100%);
	}
	.fv .contents .catch {
		font-size: min(7.4667vw,50px);
		line-height: 1.35;
		letter-spacing: -0.02em;
		margin: min(4vw,36px) 0 min(10vw,55px);
	}
	.fv .contents .circle {
		margin: 0 0 min(3.7333vw, 15px);
	}
	.fv .contents .circle li {
		width: 33.3333vw;
	}
	.fv .contents .circle li img {
		width: 100%;
	}
	.fv .contents .circle li + li {
		margin-top: min(1.3333vw, 20px);
	}
	.fv .contents .cta_btn_wrap {
		width: min(74.6667vw, 415px);
		margin: 0 auto;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ){
	.fv .contents .box {
		margin: 0 0 20px;
	}
}

/*--------------------------------------
.sec_ttl
--------------------------------------*/
.sec_ttl {
	position: relative;
	display: inline-block;
	font-weight: bold;
	background: linear-gradient(273.06deg, #5DD134 8.37%, #125F33 81.35%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	text-fill-color: transparent;
}
.sec_ttl::before {
	content: '';
	position: absolute;
	background: url(img/item_sec_ttl.png)no-repeat center/cover;
}
@media ( min-width: 601px ){
	.sec_ttl {
		font-size: 36px;
		line-height: 1.8;
		padding-left: 58px;
	}
	.sec_ttl::before {
		top: 0;
		left: 0;
		width: 58px;
		height: 30px;
	}
}
@media ( max-width: 600px ){
	.sec_ttl {
		font-size: 6.9333vw;
		line-height: 1.8;
		padding-left: 10.9333vw;
	}
	.sec_ttl::before {
		top: -1.8667vw;
		left: 0;
		width: 10.9333vw;
		height: 5.6vw;
	}
}

/*--------------------------------------
.career
--------------------------------------*/
.career {
	position: relative;
}
.career .sec_ttl {
	padding: 0;
}
.career .sec_ttl::before {
	content: none;
}
.career .career_slide_wrap {
	position: relative;
	overflow: hidden;
}
.career .career_slide_wrap .swiper {
	overflow: initial;
}
.career .career_slide_wrap .contents {
	position: relative;
	text-align: left;
	border: 1px solid #125F33;
	box-sizing: border-box;
}
.career .career_slide_wrap .contents .icon {
	position: absolute;
}
.career .career_slide_wrap .contents .dl_wrap {
	text-align: left;
}
.career .career_slide_wrap .contents .dl_wrap dl {
	display: flex;
	align-items: baseline;
}
.career .career_slide_wrap .contents .dl_wrap dl dt {
	position: relative;
	color: #125F33;
}
.career .career_slide_wrap .contents .dl_wrap dl dd .arrow {
	position: relative;
}
.career .career_slide_wrap .contents .dl_wrap dl dt::after,
.career .career_slide_wrap .contents .dl_wrap dl dd .arrow::after {
	content: '';
	position: absolute;
	right: 0;
	background-color: #125F33;
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
.career .career_slide_wrap .contents .dl_wrap dl dd .green {
	position: relative;
	color: #125F33;
	font-weight: bold;
}
.career .career_slide_wrap .contents .dl_wrap dl dd .green::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
	background: url(img/career_decoration.png)no-repeat center/cover;
}
.career .swiper .swiper-button-prev,
.career .swiper .swiper-button-next {
	margin: 0;
	transform: translateY(-50%);
}
.career .swiper .swiper-button-prev {
	background: url(img/slider_arrow_left.png)no-repeat center/cover;
}
.career .swiper .swiper-button-next {
	background: url(img/slider_arrow_right.png)no-repeat center/cover;
}
.career .swiper .swiper-button-prev::after,
.career .swiper .swiper-button-next::after {
	content: none;
}
.career .swiper-pagination {
	bottom: 0;
}
.career .swiper-pagination-bullet-active {
	background: #125F33;
}
@media ( min-width: 601px ){
	.career .sec_ttl {
		margin: 0 0 10px;
	}
	.career .career_slide_wrap {
		width: 100%;
		max-width: 1240px;
		padding: 20px 20px 30px;
		margin: 0 auto;
		box-sizing: border-box;
	}
	.career .career_slide_wrap .swiper {
		max-width: 386px;
		margin: 0 auto;
	}
	.career .career_slide_wrap .contents .icon {
		position: absolute;
		top: -19px;
		right: 10px;
	}
	.career .career_slide_wrap .contents {
		box-shadow: 0 0 24px rgba(0, 0, 0, .16),
			10px 10px 0 #E8E8E8;
	}
	.career .career_slide_wrap .contents .dl_wrap {
		padding: 25px 10px 28px 30px;
	}
	.career .career_slide_wrap .contents .dl_wrap dl {
		font-size: 18px;
		line-height: 1.4;
	}
	.career .career_slide_wrap .contents .dl_wrap dl + dl {
		margin-top: 16px;
	}
	.career .career_slide_wrap .contents .dl_wrap dl dt {
		position: relative;
		font-size: 18px;
		flex: 0 0 92px;
	}
	.career .career_slide_wrap .contents .dl_wrap dl dd .arrow {
		padding-right: 19px;
		margin-right: 9px;
	}
	.career .career_slide_wrap .contents .dl_wrap dl dt::after,
	.career .career_slide_wrap .contents .dl_wrap dl dd .arrow::after {
		top: 7px;
		width: 7px;
		height: 8px;
	}
	.career .career_slide_wrap .contents .dl_wrap dl dd {
		flex: 1 1 auto;
		padding-left: 9px;
	}
	.career .career_slide_wrap .contents .dl_wrap dl dd .green {
		font-size: 28px;
	}
	.career .career_slide_wrap .contents .dl_wrap dl dd .green::before {
		top: -10px;
		width: 24px;
		height: 12px;
	}
	.career .career_slide_wrap .contents .dl_wrap dl dd .small {
		font-size: 14px;
	}
	.career .career_slide_wrap .contents .dl_wrap dl dd .small.indent {
		padding-left: 5px;
	}
	.career .swiper .swiper-button-prev,
	.career .swiper .swiper-button-next {
		width: 20px;
		height: 30px;
	}
	.career .swiper .swiper-button-prev {
		left: -20px;
	}
	.career .swiper .swiper-button-next {
		right: -20px;
	}
}
@media ( min-width: 961px ){
	.career {
		padding: 61px 0 100px;
	}
	.career .box {
		margin: 0 20px 100px;
	}
	.career::before, 
	.career::after {
		width: 10px;
		height: 550px;
	}
	.career::before {
		bottom: max(-12.5521vw, -241px);
	} 
	.career::after {
		top: 100px;
	}
	.career .wrap .contents + .contents {
		margin-top: 167px;
	}
	.career .wrap .contents:nth-child(odd) {
		max-width: 786px;
		padding: 50px 40px 46px;
	}
	.career .wrap .contents:nth-child(even) {
		padding: 42px 13px 46px 300px;
		width: 840px;
	}
	.career .wrap .contents .icon_wrap {
		position: absolute;
		top: -27px;
	}
	.career .wrap .contents:nth-child(odd) .icon_wrap {
		right: 30px;
	}
	.career .wrap .contents:nth-child(even) .icon_wrap {
		left: 30px;
	}
	.career .wrap .contents .dl_wrap dl dd .small.block {
		display: block;
		text-align: right;
	}
}
@media ( min-width: 1220px ){
	.career .swiper .swiper-button-prev,
	.career .swiper .swiper-button-next,
	.career .swiper-pagination-bullet {
		display: none;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ){
	.career {
		padding: 61px 0 16vw;
	}
	.career::before,
	.career::after {
		width: 10px;
	}
	.career::after {
		top: 320px;
	}
	.career .box {
		margin: 0 20px 170px;
	}
	.career .wrap .contents {
		padding: 0 50px 46px;
	}
	.career .wrap .contents + .contents {
		margin-top: 217px;
	}
	.career .wrap .contents .icon_wrap {
		margin: -126px 0 20px;
	}
}
@media ( max-width: 960px ){
	.career::before, 
	.career::after {
		height: 93.3333vw;
		z-index: -1;
	}
	.career::before {
		bottom: -1.0667vw;
	}
}
@media ( max-width: 600px ){
	.career {
		padding: 4.8vw 0 8vw;
	}
	.career .box .sec_ttl {
		line-height: 1.5;
		margin: 0 0 13.0667vw;
	}
	.career .career_slide_wrap {
		width: 100%;
		padding: 11.2vw 0 8vw;
		box-sizing: border-box;
	}
	.career .career_slide_wrap .swiper {
		max-width: 74.4vw;
		margin: 0 auto;
	}
	.career .career_slide_wrap .contents .icon {
		top: -11.2vw;
		right: 1.6vw;
		width: 26.6667vw;
	}
	.career .career_slide_wrap .contents .icon img {
		width: 100%;
	}
	.career .career_slide_wrap .contents {
		height: auto;
		box-shadow: 0 0 6.1069vw rgba(0, 0, 0, .16),
			2.6667vw 2.6667vw 0 #E8E8E8;
	}
	.career .career_slide_wrap .contents .dl_wrap {
		padding: 4vw 5.0667vw 5.3333vw;
	}
	.career .career_slide_wrap .contents .dl_wrap dl {
		font-size: 4.2667vw;
		line-height: 1.4;
	}
	.career .career_slide_wrap .contents .dl_wrap dl + dl {
		margin-top: 5.0667vw;
	}
	.career .career_slide_wrap .contents .dl_wrap dl dt {
		position: relative;
		flex: 0 0 20.8vw;
	}
	.career .career_slide_wrap .contents .dl_wrap dl dd {
		flex: 1 1 auto;
		padding-left: 2.6667vw;
	}
	.career .career_slide_wrap .contents .dl_wrap dl dd .arrow {
		padding-right: 3.2vw;
		margin-right: 2vw;
	}
	.career .career_slide_wrap .contents .dl_wrap dl dt::after,
	.career .career_slide_wrap .contents .dl_wrap dl dd .arrow::after {
		top: 0.4em;
		width: 1.6vw;
		height: 1.6vw;
	}
	.career .career_slide_wrap .contents .dl_wrap dl dt::after {
		top: 50%;
		transform: translateY(-50%);
	}
	.career .career_slide_wrap .contents .dl_wrap dl dd .green {
		font-size: 6.4vw;
	}
	.career .career_slide_wrap .contents .dl_wrap dl dd .green::before {
		top: -2.1333vw;
		width: 4.2667vw;
		height: 2.4vw;
	}
	.career .career_slide_wrap .contents .dl_wrap dl dd .small {
		display: block;
		font-size: 3.2vw;
	}
	.career .career_slide_wrap .contents .dl_wrap dl dd .small.indent {
		padding-left: 0.5vw;
	}
	.career .career_slide_wrap .contents .dl_wrap dl dd .small.block {
		margin-left: -0.5em;
	}
	.career .swiper .swiper-button-prev,
	.career .swiper .swiper-button-next {
		width: 2.6667vw;
		height: 4vw;
	}
	.career .swiper .swiper-button-prev {
		left: -4.5333vw;
	}
	.career .swiper .swiper-button-next {
		right: -4.5333vw;
	}
	.career .swiper-pagination-bullet {
		width: 2.6667vw;
		height: 2.6667vw;
		margin: 0 2.6667vw !important;
	}
}


/*--------------------------------------
.messege
--------------------------------------*/
.messege .box {
	position: relative;
	z-index: 1;
}
.messege .text_wrap .catch span {
	display: inline-block;
	font-weight: bold;
	opacity: 0;
	background: linear-gradient(273.06deg, #5DD134 8.37%, #125F33 81.35%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	text-fill-color: transparent;
}
:root {
	--delay: 0;
	--duration: 900ms;
	--iterations: 1;
}
.messege .text_wrap .catch span,
.messege .text_wrap .catch span::after {
	animation-delay: var(--animation-delay, 2s);
	animation-iteration-count: var(--iterations, 1);
	animation-duration: var(--duration, 800ms);
	animation-fill-mode: both;
	animation-timing-function: cubic-bezier(0.7, 0, 0.3, 1);;
}
.messege .text_wrap .catch span.active {
	--animation-delay: var(--delay, 0);
	--animation-duration: var(--duration, 800ms);
	--animation-iterations: var(--iterations, 1);
	position: relative;
	animation-name: clip-text;
	opacity: 1;
}
.messege .text_wrap .catch span.active::after {
	content: '';
	position: absolute;
	z-index: 999;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(273.06deg, #5DD134 -8%, #125F33 52.52%);
	transform: scaleX(0);
	transform-origin: 0 50%;
	pointer-events: none;
	animation-name: text-revealer;
}
@keyframes clip-text {
	from {
		clip-path: inset(0 100% 0 0);
	}
	to {
		clip-path: inset(0 0 0 0);
	}
}
@keyframes text-revealer {
	0%, 50% {
		transform-origin: 0 50%;
	}
	
	60%, 100% {
		transform-origin: 100% 50%;		
	}
	60% {
		transform: scaleX(1);
	}
	
	100% {
		transform: scaleX(0);
	}
}

.messege .text_wrap p .green {
	color: #125F33;
}
.messege .text_wrap p .bold {
	font-weight: bold;
}
@media ( min-width: 601px ){
	.messege {
		padding-top: 30px;
	}
	.messege .box {
		margin: 0 20px;
	}
	.messege .box::after {
		content: '';
		position: absolute;
		top: -110px;
		left: 0;
		right: 0;
		width: 100%;
		height: 100px;
		max-width: 1505px;
		margin: 0 auto;
		background-color: #fff;
		z-index: -1;
	}
	.messege .sec_ttl {
		margin: 0 0 38px;
	}
	.messege .text_wrap .catch {
		font-size: 30px;
		margin: 0 0 37px;
	}
	.messege .text_wrap .catch span {
		padding: 0.3em 0;
	}
	.messege .text_wrap .catch span:last-child {
		margin-top: 0.2em;
	}
	.messege .text_wrap p {
		font-size: 18px;
		line-height: 2.2;
	}
	.messege .text_wrap p + p {
		margin: 34px 0 0;
	}
	.messege .text_wrap p .green {
		font-size: 24px;
	}
	.messege .text_messege {
		color: #DBEEE2;
		font-size: 130px;
		text-align: left;
		margin: 47px 0 0 185px;
	}
}
@media ( min-width: 961px ){
	.messege {
		position: relative;
		padding-bottom: 181px;
	}
	.messege::after {
		content: '';
		position: absolute;
		bottom: -100px;
		right: 0;
		width: 380px;
		height: 293px;
		background: url(img/item_bg_messege.png)no-repeat center/cover;
		z-index: 1;
	}
	.messege .img {
		position: absolute;
		z-index: 1;
	}
	.messege .img.left {
		top: 70px;
		left: 0;
		width: 20.4583vw;
	}
	.messege .img.right {
		top: 200px;
		right: 0;
		width: 20.8333vw;
	}
}
@media ( min-width: 1650px ){
	.messege .img.left {
		width: 31.4583vw;
	}
	.messege .img.right {
		right: 6.7708vw;
		width: 20.8333vw;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ){
	.messege {
		padding-bottom: 14.4vw;
	}
	.messege .text_wrap {
		margin: 0 0 30px;
	}
	.messege .img.left {
		width: min(89.3333vw, 604px);
		margin-left: -20px;
	}
}
@media ( max-width: 960px ){
	.messege {
		position: relative;
	}
	.messege::before {
		content: '';
		position: absolute;
		bottom: -17.0667vw;
		right: 0;
		width: min(30.9333vw, 232px);
		height: min(22vw, 165px);
		background: url(img/mforce_decoration_sp.png)no-repeat center/cover;
		z-index: 3;
	}
}
@media ( max-width: 600px ){
	.messege {
		padding: 5.6vw 0 14.4vw;
	}
	.messege::after {
		content: '';
		position: absolute;
		bottom: -17.0667vw;
		right: 0;
		width: 30.9333vw;
		height: 32.5333vw;
		background: url(img/item_bg_messege_sp.png)no-repeat center/cover;
		z-index: 1;
	}
	.messege .box::after {
		content: '';
		position: absolute;
		top: -11.4667vw;
		left: 0;
		right: 0;
		width: 94.6667vw;
		height: 12vw;
		max-width: 1505px;
		margin: 0 auto;
		background-color: #fff;
		z-index: -1;
	}
	.messege .sec_ttl {
		margin: 0 0 5.3333vw;
	}
	.messege .text_wrap {
		margin: 0 0 7.7333vw;
	}
	.messege .text_wrap .catch {
		font-size: 5.3333vw;
		line-height: 1.7;
		margin: 0 0 4vw;
	}
	.messege .text_wrap .catch span {
		padding: 0.25em 0;
	}
	.messege .text_wrap .catch span:last-child {
		margin-top: 0.2em;
	}
	.messege .text_wrap p {
		font-size: 4.2667vw;
		line-height: 2.2;
	}
	.messege .text_wrap p + p {
		margin: 2.9333vw 0 0;
	}
	.messege .text_wrap p.sp_height {
		margin-top: 0.5333vw;
	}
	.messege .text_wrap p .green {
		font-size: 5.3333vw;
	}
	.messege .img.left {
		margin-left: -5.3333vw;
	}
}
/*--------------------------------------
.mforce
--------------------------------------*/
.mforce .problem {
	background: #fff;
	position: relative;
	max-width: 1200px;
	padding: 88px 20px 30px;
	box-shadow: 0px 0px 24px rgba(0, 0, 0, 0.16);
	margin: 100px auto 150px;
	box-sizing: border-box;
}
.mforce .problem::before {
	content: "";
	background: #fff;
	clip-path: polygon(100% 0, 0 0, 50% 80%);
	display: block;
	height: 100px;
	position: absolute;
	width: 100%;
	left: 0;
	bottom: -99px;
}
.mforce .problem .sec_ttl {
	padding-left: 0;
	margin: 0 0 43px;
}
.mforce .problem .sec_ttl::before {
	display: none;
}
.mforce .problem .case {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 30px;
}
.mforce .problem .case ul {
	text-align: left;
}
.mforce .problem .case ul li {
	font-size: 18px;
	line-height: 2.5;
	letter-spacing: 0.15em;
	background: url("img/icon_check.png")no-repeat 0 center/27px;
	padding: 0 0 0 32px;
}
.mforce .problem .case ul li span {
	color: #125F33;
	font-weight: bold;
}
.mforce {
	position: relative;
	background: url(img/bg_gradation.png)no-repeat center/cover;
}
.mforce .ttl {
	display: flex;
	justify-content: center;
	align-items: baseline;
}
.mforce .ttl span {
	font-weight: bold;
}
.mforce .catch {
	font-weight: bold;
}
.mforce .catch span {
	position: relative;
}
.mforce .catch span::after {
	content: '';
	position: absolute;
	bottom: 0;
	width: 100%;
	background-color: #EFFEC5;
	z-index: -1;
}
.mforce p span {
	font-weight: bold;
}
.mforce .trust_wrap {
	display: flex;
	justify-content: center;
	background: #fff;
}
.mforce .trust {
	box-sizing: border-box;
}
.mforce .trust dt {
	color: #16A453;
	font-weight: 700;
	line-height: 1.1;
}
.mforce .trust:last-child dt {
	line-height: 1.4;
}
.mforce .trust dt .color {
	color: #EFD030;
}
.mforce .trust dd {
	text-align: left;
	line-height: 1.6;
}
@media ( min-width: 601px ){
	.mforce .ttl {
		margin: 0 0 25px;
	}
	.mforce .ttl span {
		font-size: 30px;
		padding-left: 0.5em;
	}
	.mforce .catch {
		font-size: 30px;
		line-height: 2.2;
		margin: 0 0 18px;
	}
	.mforce .catch span::after {
		left: -5px;
		height: 18px;
		width: calc(100% + 10px);
	}
	.mforce p {
		font-size: 18px;
		line-height: 2.2;
		margin: 0 0 39px;
	}
	.mforce .trust_wrap {
		border: 3px solid #4A9C2D;
	}
	.mforce .trust {
		border: 1px solid #4A9C2D;
		padding: 20px 15px;
		width: 300px;
	}
	.mforce .trust dt {
		white-space: nowrap;
		font-size: 24px;
		margin: 0 0 8px;
	}
	.mforce .trust dt .num {
		font-size: 40px;
	}
	.mforce .trust dd {
		font-size: 18px;
	}
}
@media ( min-width: 961px ){
	.mforce {
		padding: min(13.8021vw, 265px) 0 min(21.6667vw, 416px);
		margin: -57px 0 0;
		clip-path: polygon(0 15.625vw, 100% 0, 100% calc(100% - 15.625vw), 0% 100%);
	}
}
@media ( max-width: 960px ){
	.mforce .problem {
		padding: 40px 20px 30px;
		margin: 50px auto 150px;
	}
	.mforce .problem .sec_ttl {
		margin: 0 0 30px;
	}
	.mforce .problem .case {
		gap: 0 20px;
	}
	.mforce .problem .case .img {
		max-width: 250px;
	}
	.mforce .problem .case ul li {
		font-size: 18px;
		line-height: 2.5;
		letter-spacing: 0;
		background: url("img/icon_check.png")no-repeat 0 center/27px;
		padding: 0 0 0 32px;
	}
	.mforce {
		position: relative;
		padding: 26.1333vw 0 36.5333vw;
		clip-path: polygon(0 15.7333vw, 100% 0, 100% calc(100% - 15.7333vw), 0% 100%);
	}
	.mforce .ttl img {
		width: min(33.3333vw, 209px);
	}
	.mforce .catch span {
		background: linear-gradient(transparent 60%,#EFFEC5 60%);
	}
	.mforce .trust_wrap {
		display: block;
	}
	.mforce .trust {
		width: 100%;
	}
}
@media ( max-width: 600px ){
	.mforce .problem {
		padding: 13.33vw 5.33vw 8vw;
		margin: 4vw auto 18vw;
	}
	.mforce .problem::before {
		clip-path: polygon(100% 0, 0 0, 50% 50%);
		height: 15vw;
		bottom: -14.9vw;
	}
	.mforce .problem .sec_ttl {
		line-height: 1.5;
		margin: 0 0 8vw;
	}
	.mforce .problem .case {
		flex-direction: column-reverse;
		gap: 8vw 0;
	}
	.mforce .problem .case .img {
		max-width: 100%;
	}
	.mforce .problem .case ul li {
		font-size: 4.27vw;
		line-height: 1.5;
		background: url("img/icon_check.png")no-repeat 0 center/6.4vw;
		padding: 0 0 0 8.6vw;
		margin: 0 0 4vw;
	}
	.mforce .ttl {
		margin: 0 0 1.3333vw;
	}
	.mforce .ttl span {
		font-size: 5.8667vw;
		padding-left: 2vw;
	}
	.mforce .catch {
		font-size: 5.8667vw;
		line-height: 2.2;
		margin: 0 0 2.6667vw;
	}
	.mforce p {
		font-size: 4.2667vw;
		line-height: 2.2;
		margin: 0 0 8vw;
	}
	.mforce .trust_wrap {
		border: 0.8vw solid #4A9C2D;
	}
	.mforce .trust {
		border: 0.2667vw solid #4A9C2D;
		padding: 4vw 5.3333vw 5.3333vw;
	}
	.mforce .trust dt {
		text-align: left;
		font-size: 5.3333vw;
		margin: 0 0 2.1333vw;
	}
	.mforce .trust dt .color {
		font-size: 4.2667vw;
		margin: 0 0.2em;
	}
	.mforce .trust dt .num {
		font-size: 9.0667vw;
	}
	.mforce .trust dt .small {
		font-size: 4.2667vw;
	}
	.mforce .trust dd {
		font-size: 4.2667vw;
	}
}

/*--------------------------------------
.career model
--------------------------------------*/
.career.model .model_ttl {
	display: flex;
	align-items: center;
}
.career.model .model_ttl p {
	font-weight: 700;
	color: #125F33;
}
.career.model .model_ttl p span {
	display: block;
	color: #000;
	margin: 0.75em 0 0 -0.5em;
}
.career.model .experience dt {
	display: inline-block;
	background: #4CA92B;
	color: #fff;
	font-weight: 700;
	letter-spacing: 0.2em;
}
.career.model .experience dd {
	font-weight: 700;
	color: #333;
	line-height: 1.3;
}
.career.model .txt p + p {
	margin: 1em 0 0;
}
.career.model .txt p span {
	color: #125F33;
	font-weight: 700;
}
@media ( min-width: 601px ){
    .career.model .career_slide_wrap {
        margin: 0 auto 30px;
    }	
	.career.model .career_slide_wrap .contents {
		box-shadow: 0 0 12px rgba(0, 0, 0, .16);
		padding: 30px;
    }
	.career.model .model_ttl {
		gap: 0 10px;
		margin: 0 0 16px;
	}
	.career.model .model_ttl p {
		font-size: 18px;
	}
	.career.model .model_ttl p span {
		font-size: 12px;
	}
	.career.model .experience {
		margin: 0 0 20px;
	}
	.career.model .experience dt {
		font-size: 14px;
		padding: 6px 12px;
		border-radius: 5px 5px 0 0;
	}
    .career.model .experience dd {
        border: 3px solid #4CA92B;
        border-radius: 0 5px 5px 5px;
        font-size: 14px;
        padding: 10px 20px;
    }
	.career.model .txt p {
		font-size: 14px;
		line-height: 1.27;
	}
}
@media ( max-width: 600px ){
    .career.model {
        padding: 4.8vw 0 16vw;
    }	
	.career.model .career_slide_wrap {
		padding: 0 0 8vw;
	}
    .career.model .career_slide_wrap .swiper {
        max-width: 78.6667vw;
    }	
	.career.model .career_slide_wrap .contents {
		box-shadow: 0 0 3.2vw rgba(0, 0, 0, .16);
		padding: 6.6667vw 2.6667vw;
	}
	.career.model .model_ttl {
		gap: 0 2.6667vw;
		margin: 0 0 4.2667vw;
	}
	.career.model .model_ttl p {
		font-size: 4.8vw;
	}
	.career.model .model_ttl p span {
		font-size: 3.2vw;
	}
	.career.model .experience {
		margin: 0 0 5.3333vw;
	}
	.career.model .experience dt {
		font-size: 3.7333vw;
		padding: 1.6vw 3.2vw;
		border-radius: 1.3333vw 1.3333vw 0 0;
	}
	.career.model .experience dd {
		border: 0.8vw solid #4CA92B;
		border-radius: 0 1.3333vw 1.3333vw 1.3333vw;
		font-size: 3.7333vw;
		padding: 2.6667vw;
	}
	.career.model .txt p {
		font-size: 3.7333vw;
		line-height: 1.27;
	}
}

/*--------------------------------------
.attraction
--------------------------------------*/
.attraction {
	position: relative;
}
.attraction::before,
.attraction .contents_wrap::after {
	content: '';
	position: absolute;
	background: linear-gradient(360deg, #B5FBFD 0%, #C4FED0 53.5%, #DDFEEE 100%);
}
.attraction::before {
	left: 0;
	z-index: 2;
}
.attraction .box {
	position: relative;
	z-index: 1;
}
.attraction .contents_wrap {
	overflow: hidden;
	background-color: #fff;
}
.attraction .contents_wrap::after {
	right: 0;
}
.attraction .contents_wrap .content {
	position: relative;
	z-index: 3;
}
.attraction .contents_wrap .content dl dt .bg {
	position: relative;
	display: inline-block;
	color: transparent;
	overflow: hidden;
	transition-property: color;
	transition-delay: .2s;
	transition-duration: 1.3s;
}
.attraction .contents_wrap .content dl dt .bg.active {
	color: #fff;
}
.attraction .contents_wrap .content dl dt .bg::after {
	position: absolute;
	content: '';
	top:0;
	left: 0;
	background: linear-gradient(300.73deg, #5DD134 40.71%, #16A453 112.67%);
	width: 100%;
	height: 100%;
	transform: translateX(-100%);
	z-index: -1;
}
.attraction .contents_wrap .content dl dt .bg.active::after {
	animation-name: test_box_slide;
	animation-duration: 1.5s;
	animation-fill-mode: forwards;
}
@keyframes test_box_slide {
	0% {
		transform: translate(-100%,0)
	}
	100% {
		transform: translate(0,0)
	}
}
.attraction .contents_wrap .content dl dd p {
	text-align: left;
}
.attraction .contents_wrap .content dl dd p span {
	color: #125F33;
	font-weight: bold;
}
.attraction .contents_wrap .content dl dd .btn a {
	position: relative;
	color: #fff;
	display: block;
	background: linear-gradient(90deg, #EFD030 0%, #E3A60A 100%);
	box-shadow: 0px 0px 12px rgba(86, 45, 5, 0.4);
}
.attraction .contents_wrap .content dl dd .btn a::after {
	content: '';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: url(img/arrow.svg) no-repeat center/cover;
}
@media ( min-width: 601px ){
	.attraction {
		padding: 0 0 100px;
	}
	.attraction .contents_wrap .content dl dt .bg {
		font-size: 30px;
		padding: 12px 30px 13px;
		clip-path: polygon(30px 0%, 100% 0, calc(100% - 30px) 100%, 0% 100%);
	}
	.attraction .contents_wrap .content dl dd p {
		font-size: 18px;
		line-height: 2.2;
	}
	.attraction .contents_wrap .content dl dd .btn {
		width: 395px;
		margin-top: 19px;
	}
	.attraction .contents_wrap .content dl dd .btn a {
		font-size: 26px;
		text-align: left;
		padding: 19px 0 19px 24px;
		opacity: 1;
		transition: opacity .3s;
	}
	.attraction .contents_wrap .content dl dd .btn a:hover {
		opacity: .8;
	}
	.attraction .contents_wrap .content dl dd .btn a::after {
		right: 26px;
		width: 6px;
		height: 12px;
	}
}
@media ( min-width: 961px ){
	.attraction {
		margin: max(-10.625vw, -204px) 0 0;
	}
	.attraction::before,
	.attraction .contents_wrap::after {
		width: 10px;
		height: 1137px;
	}
	.attraction::before {
		bottom: -49px;
	}
	.attraction .contents_wrap::after {
		top: 244px;
	}
	.attraction .box {
		margin: 0 20px 70px;
	}
	.attraction .box::after {
		content: '';
		position: absolute;
		top: max(-5.7292vw, -110px);
		left: 0;
		right: 0;
		width: 100%;
		height: 300px;
		max-width: 1505px;
		margin: 0 auto;
		background-color: #fff;
		z-index: -1;
	}
	.attraction .contents_wrap {
		padding: 0 0 100px;
	}
	.attraction .contents_wrap .content {
		display: flex;
		gap: 0 49px;
		max-width: 1200px;
		margin-left: auto;
		margin-right: auto;
		padding: 0 20px;
	}
	.attraction .contents_wrap .content + .content {
		margin-top: 80px;
	}
	.attraction .contents_wrap .content:nth-child(even) {
		flex-direction: row-reverse;
	}
	.attraction .contents_wrap .content .img {
		flex: 0 0 43.75vw;
	}
	.attraction .contents_wrap .content:nth-child(odd) .img {
		margin-left: calc((50vw - 50%)*-1);
	}
	.attraction .contents_wrap .content:nth-child(even) .img {
		margin-right: calc((50vw - 50%)*-1);
	}
	.attraction .contents_wrap .content dl {
		padding: 40px 0 0;
	}
	.attraction .contents_wrap .content dl dt {
		margin-bottom: 37px;
	}
	.attraction .contents_wrap .content:nth-child(odd) dl dt {
		text-align: left;
		margin-left: -123px;
	}
	.attraction .contents_wrap .content:nth-child(even) dl dt {
		text-align: right;
		margin-right: -123px;
	}
	.attraction .contents_wrap .content dl dt .bg:last-child {
		margin-top: 10px;
	}
	.attraction .contents_wrap .content:nth-child(odd) dl dt .bg:last-child {
		margin-left: -30px;
	}
	.attraction .contents_wrap .content:nth-child(even) dl dt .bg:first-child {
		margin-right: -30px;
	}
}
@media ( min-width: 1260px ){
	.attraction::before,
	.attraction .contents_wrap::after {
		width: 30px;
	}
}
@media ( max-width: 960px ){
	.attraction {
		margin: -2.1333vw 0 0;
	}
	.attraction::before,
	.attraction .contents_wrap::after {
		width: min(1.8667vw,10px);
		height: min(298.6667vw,1137px);
	}
	.attraction::before {
		bottom: min(252.8vw, 948px);
	}
	.attraction .contents_wrap::after {
		top: 46.1333vw;
	}
	.attraction .box {
		margin: 0 min(5.3333vw, 20px) min(8vw,70px);
	}
	.attraction .box::after {
		content: '';
		position: absolute;
		top: -18.4vw;
		left: 0;
		right: 0;
		width: 100%;
		height: 300px;
		max-width: 1505px;
		margin: 0 auto;
		background-color: #fff;
		z-index: -1;
	}
	.attraction .contents_wrap {
		padding: 0 0 min(16vw, 100px);
	}
	.attraction .contents_wrap .content + .content {
		margin-top: min(8vw, 60px);
	}
	.attraction .contents_wrap .content .img {
		width: 84%;
	}
	.attraction .contents_wrap .content .img img {
		width: 100%;
	}
	.attraction .contents_wrap .content:nth-child(even) .img {
		margin-left: auto;
	}
	.attraction .contents_wrap .content dl dt {	
		margin: max(-8vw, -30px) 0 min(5.0667vw, 20px);
	}
	.attraction .contents_wrap .content dl dt .bg {
		display: block;
		box-sizing: border-box;
	}
	.attraction .contents_wrap .content dt .bg:last-child {
		margin-top: min(1.3333vw, 5px);
	}
	.attraction .contents_wrap .content:nth-child(odd) dt .bg {
		margin-left: auto;
		white-space: nowrap;
	}
	.attraction .contents_wrap .content:nth-child(odd) dt .bg:last-child {
		margin-right: min(5.8667vw,30px);
	}
	.attraction .contents_wrap .content:nth-child(even) dt .bg:first-child {
		margin-left: min(5.8667vw,30px);
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ){
	.attraction .contents_wrap .content dl dt {
		padding: 0 20px;
	}
	.attraction .contents_wrap .content dl dt .bg {
		max-width: 518px;
	}
	.attraction .contents_wrap .content dl dd p {
		padding: 0 20px;
	}
	.attraction .contents_wrap .content dl dd .btn {
		margin-left: auto;
		margin-right: auto;
	}
}
@media ( max-width: 600px ){
	.attraction {
		padding: 0 0 16vw;
	}
    .attraction .sec_ttl {
        line-height: 1.5;
        margin: 0 0 9.0667vw;
    }
	.attraction .contents_wrap .content dl dt {
		padding: 0 2.6667vw;
	}
	.attraction .contents_wrap .content dl dt .bg {
		font-size: 4.8vw;
		line-height: 1.6;
		padding: 0.8vw 4.5333vw;
		width: 82.9333vw;
		clip-path: polygon(5.8667vw 0%, 100% 0, calc(100% - 5.8667vw) 100%, 0% 100%);
	}
	.attraction .contents_wrap .content dl dd p {
		font-size: 4.2667vw;
		line-height: 2.2;
		padding: 0 5.3333vw;
	}
	.attraction .contents_wrap .content dl dd .btn {
		width: 80%;
		margin: 2.6667vw auto 0;
		box-shadow: 0px 0px 1.6vw rgba(86, 45, 5, 0.36);
	}
	.attraction .contents_wrap .content dl dd .btn a {
		font-size: 5.3333vw;
		text-align: left;
		line-height: 1.4;
		padding: 2.6667vw 0 2.6667vw 3.4667vw;
	}
	.attraction .contents_wrap .content dl dd .btn a::after {
		right: 4.2667vw;
		width: 1.3333vw;
		height: 2.4vw;
	}
}

/*.certification*/
.attraction .certification {
	border-style: solid;
	border-image: linear-gradient(to left, #5DD134, #16A453)1;
}
.attraction .certification > dt {
	background: linear-gradient(300.73deg, #5DD134 40.71%, #16A453 112.67%);
	color: #fff;
}
.attraction .certification > dt span {
	display: inline-block;
	font-weight: bold;
}
.attraction .certification > dt .main_ttl {
}
.attraction .certification > dd .content {
	background: linear-gradient(300.73deg, #5DD134 40.71%, #16A453 112.67%);
}
.attraction .certification > dd p.top span {
	color: #16A453;
}
.attraction .certification .text span {
	color: #125F33;
	font-weight: bold;
}
.attraction .certification > dd .content .graph_wrap dt .program {
	text-align: left;
	color: #fff;
}
.attraction .certification > dd .content .graph_wrap dt .program .ttl {
	display: inline-block;
	position: relative;
	background: #125F33;
}
.attraction .certification > dd .content .graph_wrap dt .program .ttl::after {
	content: "";
	background: #125F33;
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
	height: 100%;
	position: absolute;
	top: 0;
}
@media ( min-width: 601px ){
	.attraction .certification {
		padding: 0 0 44px;
		border-width: 3px;
	}
	.attraction .certification > dt {
		padding: 16px 0 20px;
		margin: 0 0 25px;
	}
	.attraction .certification > dt .sub {
		font-size: 23px;
		margin: 0 18px 0 0;
	}
	.attraction .certification > dt .main_ttl {
		font-size: 30px;
	}
	.attraction .certification > dd p {
		font-size: 18px;
		line-height: 1.9;
	}
	.attraction .certification > dd p.top {
		margin: 0 0 22px;
	}
	.attraction .certification > dd .content {
		padding: 40px 40px 36px;
		margin: 0 0 20px;
	}
	.attraction .certification > dd p.bottom span {
		font-size: 24px;
	}
	.attraction .certification .text span.cabin {
		font-size: 26px;
	}
	.attraction .certification > dd .content .graph_wrap > dt {
		flex: 0 0 325px;
	}
	.attraction .certification > dd .content .graph_wrap dt .program .ttl {
		font-size: 18px;
		padding: 16px 30px;
	}
	.attraction .certification > dd .content .graph_wrap dt .program .ttl::after {
		width: 18px;
		right: -17.9px;
	}
	.attraction .certification > dd .content .graph_wrap dt .program dd {
		font-size: 16px;
		line-height: 1.4;
		padding: 5px 0 8px;
	}
}
@media ( min-width: 961px ){
	.attraction .certification > dd .content .graph_wrap {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
}
@media ( max-width: 960px ){
	.attraction .certification > dd .content .graph_wrap dd img {
		width: 100%;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ){
	.attraction .certification > dd p.top {
		padding: 0 30px;
	}
	.attraction .certification > dd .content .graph_wrap dt {
		margin: 0 0 30px;
	}
	.attraction .certification > dd .content .graph_wrap img {
		width: 100%;
	}
}
@media ( max-width: 600px ){
	.inner.line {
		position: relative;
	}
	.inner.line::after {
		content: '';
		position: absolute;
		right: 0;
		bottom: -16vw;
		width: min(1.8667vw, 10px);
    	height: 252.8vw;
    	background: linear-gradient(360deg, #B5FBFD 0%, #C4FED0 53.5%, #DDFEEE 100%);
	}
	.attraction .certification {
		padding: 0 0 3.7333vw;
		border-width: 0.5333vw;
	}
	.attraction .certification > dt {
		padding: 2.6667vw 0 4vw;
	}
	.attraction .certification > dt .sub {
		display: block;
		font-size: 5.3333vw;
		line-height: 1.4;
	}
	.attraction .certification > dt .main_ttl {
		font-size: 5.8667vw;
	}
	.attraction .certification > dd p {
		font-size: 4.2667vw;
		line-height: 1.9;
	}
	.attraction .certification > dd p.top {
		padding: 5.3333vw;
	}
	.attraction .certification > dd .content {
		padding: 5.3333vw 5.3333vw 4vw;
		margin: 0 0 3.4667vw;
	}
	.attraction .certification > dd .content .graph_wrap {
		margin: 0 0 5.3333vw;
	}
	.attraction .certification > dd .content .graph_wrap > dt {
		margin: 0 0 3vw;
	}
	.attraction .certification > dd p.bottom {
		line-height: 1.8;
	}
	.attraction .certification > dd p.bottom span {
		font-size: 5.3333vw;
	}
	.attraction .certification > dd .content .graph_wrap dt .program .ttl {
		text-align: center;
		font-size: 4.2667vw;
		padding: 4.2667vw 0;
		width: calc(100% - 4.8vw);
		box-sizing: border-box;
	}
	.attraction .certification > dd .content .graph_wrap dt .program .ttl::after {
		width: 4.8vw;
		right: -4.7vw;
	}
	.attraction .certification > dd .content .graph_wrap dt .program dd {
		font-size: 4.2667vw;
		line-height: 1.7;
		padding: 1.3333vw 0 2.1333vw;
	}	
}

/*--------------------------------------
.cta_area
--------------------------------------*/
.cta_area {
	position: relative;
	text-align: left;
	z-index: 2;
}
.cta_area .catch {
	color: #fff;
	font-weight: bold;
}
@media ( min-width: 601px ) {
	.cta_area .catch {
		font-size: 36px;
		line-height: 1.4;
		margin: 0 0 27px;
	}
	.cta_area .cta_btn_wrap {
		width: 415px;
	}
}
@media ( min-width: 961px ){
	.cta_area {
		padding: 54px 0;
	}
	.cta_area::before,
	.cta_area::after {
		content: '';
		position: absolute;
		top: 0;
		height: 100%;
		z-index: -1;
	}
	.cta_area::after {
		left: 0;
		width: 65.5%;
		background: linear-gradient(90.35deg, #125F33 -79.73%, #5DD134 88.04%, rgba(180, 218, 186, 0) 98.51%);
	}
	.cta_area::before {
		right: 0;
		width: 44.5%;
		background: url(img/bg_cta_img.jpg)no-repeat center/cover;
	}
}
@media ( max-width: 960px ){
	.cta_area {
		padding: 6.4vw 0 35.7333vw;
		margin: 0 0 28.2667vw;
		text-align: center;
	}
	.cta_area::before,
	.cta_area::after {
		content: '';
		position: absolute;
		left: 0;
		width: 100%;
		z-index: -1;
	}
	.cta_area::before {
		bottom: -28.2667vw;
		height: 77.6vw;
		background: url(img/bg_cta_img_sp.jpg)no-repeat center/cover;
	}
	.cta_area::after {
		top: 0;
		left: 0;
		height: 100%;
		background: linear-gradient(179.67deg, #125F33 -19.17%, #5DD134 64.26%, rgba(180, 218, 186, 0) 85.8%);
	}
	.cta_area .cta_btn_wrap {
		margin: 0 auto;
	}
}
@media ( max-width: 600px ){
	.cta_area .catch {
		font-size: 6.9333vw;
		line-height: 1.3;
		margin: 0 0 5.3333vw;
	}
	.cta_area .cta_btn_wrap {
		width: 74.6667vw;
	}
}

/*--------------------------------------
.about
--------------------------------------*/
.about .wrap dl {
	position: relative;
	background-color: #fff;
}
.about .wrap dl dt {
	position: relative;
	color: #125F33;
	font-weight: bold;
}
.about .wrap dl dt::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
	background-color: #125F33;
}
.bg_cover {
	position: relative;
}
.bg_cover::after {
	content: '';
	position: absolute;
	left: 0;
}
@media ( min-width: 601px ){
	.about {
		padding: 0 0 112px;
	}
	.about .sec_ttl {
		margin: 0 0 65px;
	}
	.about .sec_ttl .cabin {
		font-size: 40px;
	}
	.about .wrap {
		position: relative;
	}
	.about .wrap dl {
		padding: 41px 0;
		box-shadow: 0px 0px 24px rgba(0, 0, 0, 0.16);
	}
	.about .wrap dl dt {
		font-size: 30px;
		line-height: 1.4;
		margin: 0 0 63px;
	}
	.about .wrap dl dt::after {
		bottom: -27px;
		width: 65px;
		height: 2px;
	}
	.about .wrap dl dd {
		font-size: 18px;
		line-height: 2.2;
	}
}
@media ( min-width: 961px ){
	.about {
		position: relative;
		padding-bottom: 100px;
	}
	.about::after {
		content: '';
		position: absolute;
		bottom: -100px;
		right: 0;
		width: 380px;
		height: 293px;
		background: url(img/item_bg_messege.png)no-repeat center/cover;
		z-index: 1;
	}
	.about .wrap .img {
		position: absolute;
		top: 0;
		left: calc((50vw - 50%)*-1);
		width: 50vw;
	}
	.about .wrap {
		padding: 126px 0 0;
	}
	.about .wrap dl {
		width: 805px;
		margin-left: auto;
		box-sizing: border-box;
	}
	.bg_cover {
		height: 356px;
		width: 100%;
		background: url(img/bg_cover.jpg)no-repeat center/cover;
	}
}
@media ( min-width: 1800px ){
	.bg_cover::after {
		top: -110px;
		width: 353px;
		height: 293px;
		background: url(img/item_bg_cover.png)no-repeat center/cover;
	}
}
@media ( max-width: 960px ){
	.about {
		position: relative;
	}
	.about::before {
		content: '';
		position: absolute;
		bottom: -17.0667vw;
		right: 0;
		width: min(30.9333vw, 232px);
		height: min(22vw, 165px);
		background: url(img/mforce_decoration_sp.png)no-repeat center/cover;
		z-index: 3;
	}
	.about .wrap .img {
		width: 84vw;
		margin-left: calc((50vw - 50%)*-1);
	}
	.about .wrap .img img {
		width: 100%;
	}
	.about .wrap dl {
		margin-top: -8.8vw;
	}
	.bg_cover {
		height: 59.4667vw;
		width: 100%;
		background: url(img/bg_cover_sp.jpg)no-repeat center/cover;
	}
}
@media ( max-width: 600px ){
	.about {
		padding: 5.6vw 0 14.4vw;
	}
	.about::after {
		content: '';
		position: absolute;
		bottom: -17.0667vw;
		right: 0;
		width: 30.9333vw;
		height: 32.5333vw;
		background: url(img/item_bg_messege_sp.png)no-repeat center/cover;
		z-index: 1;
	}
	.about .sec_ttl {
		margin: 0 0 7.7333vw;
	}
	.about .wrap dl {
		padding: 4.1333vw 5.3333vw 2.6667vw;
		box-shadow: 0px 0px 6.4vw rgba(0, 0, 0, 0.16);
	}
	.about .wrap dl dt {
		font-size: 5.3333vw;
		line-height: 1.6;
		margin: 0 0 10.1333vw;
	}
	.about .wrap dl dt::after {
		bottom: -5.0667vw;
		width: 8vw;
		height: 1px;
	}
	.about .wrap dl dd {
		font-size: 4.2667vw;
		line-height: 2.2;
	}	
}

/*--------------------------------------
.voice
--------------------------------------*/
.voice {
	background: url(img/bg_gradation.png) no-repeat center / cover;
}
.voice .contents + .contents {
	border-top: 1px solid #fff;
}
.voice .contents .icon_wrap .icon_text {
	color: #125F33;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: bold;
}
.voice .contents .icon_wrap .icon_text .cate {
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 500;
	box-sizing: border-box;
	background-color: #fff;
}
.voice .contents .icon_wrap .icon_text .cate .cabin {
	padding-top: 0.1em;
}
.voice .contents .text_wrap {
	text-align: left;
}
.voice .contents .text_wrap dl dt,
.voice .contents .text_wrap dl dd span {
	color: #125F33;
	font-weight: bold;
}
@media ( min-width: 601px ){
	.voice .sec_ttl {
		margin: 0 0 73px;
	}
	.voice .contents {
		padding: 0 0 37px;
	}
	.voice .contents + .contents {
		padding: 35px 0 0;
	}
	.voice .contents .icon_wrap .icon_text {
		font-size: 30px;
		margin-top: 28px;
	}
	.voice .contents .icon_wrap .icon_text .cate {
		font-size: 20px;
		height: 28px;
		padding: 0 6px;
		margin-left: 5px;
		min-width: 90px;
	}
	.voice .contents .icon_wrap .icon_text .cate .cabin {
		font-size: 22px;
	}
	.voice .contents .text_wrap {
		padding: 16px 0 0;
	}
	.voice .contents .text_wrap dl + dl {
		margin-top: 28px;
	}
	.voice .contents .text_wrap dl dt {
		font-size: 30px;
		line-height: 1.8;
		margin: 0 0 8px;
	}
	.voice .contents .text_wrap dl dd {
		font-size: 18px;
		line-height: 2;
	}
}
@media ( min-width: 961px ){
	.voice {
		padding: min(16.7708vw, 322px) 0 min(23.5417vw, 452px);
		clip-path: polygon(0 15.625vw, 100% 0, 100% calc(100% - 15.625vw), 0% 100%);
	}
	.voice .contents {
		display: flex;
		gap: 0 37px;
	}
	.voice .contents .icon_wrap {
		flex: 0 0 340px;
	}
}
@media ( max-width: 960px ){
	.voice {
		padding: 26.6667vw 0 33.8667vw;
		clip-path: polygon(0 15.7333vw, 100% 0, 100% calc(100% - 15.7333vw), 0% 100%);
		background: url(img/bg_voice_sp.jpg)no-repeat center/cover;
	}
}
@media ( max-width: 600px ){
	.voice {
		padding: 26.6667vw 0 33.8667vw;
		clip-path: polygon(0 15.7333vw, 100% 0, 100% calc(100% - 15.7333vw), 0% 100%);
		background: url(img/bg_voice_sp.jpg)no-repeat center/cover;
	}
	.voice .sec_ttl {
		line-height: 1.5;
		margin: 0 0 9.0667vw;
	}
	.voice .contents {
		padding: 0 0 8vw;
	}
	.voice .contents + .contents {
		padding: 10.9333vw 0 0;
	}
	.voice .contents .icon_wrap {
		margin: 0 0 4.8vw;
	}
	.voice .contents .icon_wrap .icon {
		width: 49.0667vw;
		margin: 0 auto;
	}
	.voice .contents .icon_wrap .icon_text {
		font-size: 5.8667vw;
		margin-top: 4vw;
	}
	.voice .contents .icon_wrap .icon_text .cabin {
		font-size: 6.9333vw;
	}
	.voice .contents .icon_wrap .icon_text .cate {
		font-size: 4.8vw;
		line-height: 1.4;
		padding: 0 2.1333vw;
		margin-left: 2.1333vw;
		min-width: 16.2667vw;
	}
	.voice .contents .icon_wrap .icon_text .cate .cabin {
		font-size: 4.8vw;
	}
	.voice .contents .text_wrap dl + dl {
		margin-top: 2.9333vw;
	}
	.voice .contents .text_wrap dl dt {
		font-size: 5.8667vw;
		line-height: 1.8;
	}
	.voice .contents .text_wrap dl dd {
		font-size: 4.2667vw;
		line-height: 2.2;
	}
}
/*--------------------------------------
.welfare
--------------------------------------*/
.welfare {
	position: relative;
}
.welfare .box {
	position: relative;
	z-index: 1;
}
.welfare .inner {
	position: relative;
	z-index: 2;
}
.welfare ul {
	display: flex;
	flex-wrap: wrap;
}
@media ( min-width: 601px ){
	.welfare {
		padding: 0 0 100px;
	}
	.welfare .box {
		margin: 0 20px 60px;
	}
	.welfare .text {
		font-size: 18px;
		line-height: 2.2;
		margin: 0 0 40px;
	}
	.welfare ul {
		max-width: 715px;
		margin: 0 auto;
		gap: 50px 6.995%;
	}
	.welfare ul li {
		width: 28.67%;
		box-shadow: 0px 0px 24px rgba(0, 0, 0, 0.16);
	}
}
@media ( min-width: 961px ){
	.welfare {
		margin: max(-10.4688vw, -201px) 0 0;
	}
	.welfare::after {
		content: '';
		position: absolute;
		top: 277px;
		right: 0;
		width: min(19.7917vw, 380px);
		height: min(15.2083vw, 292px);
		background: url(img/welfare_decoration.png)no-repeat center/cover;
	}
	.welfare .box::after {
		content: '';
		position: absolute;
		top: max(-5.7292vw, -100px);
		left: 0;
		right: 0;
		width: 100%;
		height: 300px;
		max-width: 1505px;
		margin: 0 auto;
		background-color: #fff;
		z-index: -1;
	}
}
@media ( max-width: 960px ){
	.welfare {
		margin-top: -2.4vw;
	}
	.welfare .box::after {
		content: '';
		position: absolute;
		top: -20.5333vw;
		left: 0;
		right: 0;
		width: 100%;
		height: 300px;
		margin: 0 auto;
		background-color: #fff;
		z-index: -1;
	}
}
@media ( max-width: 600px ){
	.welfare  {
		padding: 0 0 16vw;
	}
	.welfare .box {
		margin: 0 0 5.0667vw;
	}
	.welfare .text {
		font-size: 4.2667vw;
		line-height: 2.2;
		margin: 0 0 5.3333vw;
	}
	.welfare ul {
		gap: 2.6667vw;
	}
	.welfare ul li {
		width: 43.2vw;
		box-shadow: 0px 0px 2.4vw rgba(0, 0, 0, 0.16);
	}
	.welfare ul li img {
		width: 100%;
	}
}


/*--------------------------------------
.guidelines
--------------------------------------*/
.guidelines {
	position: relative;
	background: url(img/bg_guidelines.jpg)no-repeat center/cover;
}
.guidelines .wrap {
	border-top: 1px solid #125F33;
}
.guidelines .wrap dl {
	display: flex;
	text-align: left;
	border-bottom: 1px solid #125F33;
	box-sizing: border-box;
}
.guidelines .wrap dl dt {
	color: #125F33;
	box-sizing: border-box;
}
.guidelines .wrap dl dd span {
	display: block;
	padding-left: 1em;
	text-indent: -1em;
}
.guidelines .note {
	text-align: left;
}
@media ( min-width: 601px ){
	.guidelines {
		padding: 101px 0 66px;
	}
	.guidelines .sec_ttl {
		margin: 0 0 70px;
	}
	.guidelines .wrap dl {
		font-size: 18px;
		line-height: 1.4;
	}
	.guidelines .wrap dl dt {
		flex: 0 0 190px;
		padding-left: 49px;
	}
	.guidelines .wrap dl dd.line_1 {
		line-height: 2;
	}
	.guidelines .wrap dl dd.line_2 {
		line-height: 1.95;
	}
	.guidelines .note {
		font-size: 18px;
		line-height: 1.4;
		margin-top: 25px;
	}
}
@media ( min-width: 961px ){
	.guidelines::before {
		content: '';
		position: absolute;
		left: 0;
		bottom: -138px;
		width: min(18.3854vw, 353px);
		height: min(15.2604vw, 293px);
		background: url(img/guidelines_decoration.png)no-repeat center/cover;
	}
	.guidelines .inner {
		max-width: 1000px;
		margin: 0 auto;
	}
	.guidelines .wrap dl {
		align-items: center;
		min-height: 77px;
		padding: 18px 0 19px;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ){
	.guidelines .wrap dl {
		padding: 20px 0;
	}
	.guidelines .note {
		padding-left: 49px;
	}
}
@media ( max-width: 960px ){
	.guidelines::before {
		content: '';
		position: absolute;
		top: -9.3333vw;
		right: 0;
		width: min(30.9333vw, 116px);
		height: min(22vw, 83px);
		background: url(img/guidelines_decoration_sp.png)no-repeat center/cover;
	}
	.guidelines .wrap dl {
		align-items: baseline;
	}
}
@media ( max-width: 600px ){
	.guidelines {
		padding: 18.6667vw 0 14.9333vw;
	}
	.guidelines .sec_ttl {
		margin: 0 0 8.2667vw;
	}
	.guidelines .wrap dl {
		font-size: 4.2667vw;
		line-height: 1.6;
		padding: 6.9333vw 0 7.2vw;
	}
	.guidelines .wrap dl dt {
		flex: 0 0 32.5333vw;
	}
	.guidelines .note {
		font-size: 3.7333vw;
		line-height: 1.4;
		margin-top: 6.6667vw;
	}
}


/*--------------------------------------
.flow
--------------------------------------*/
.flow {
	position: relative;
}
.flow::before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
}
.flow .step {
	position: relative;
}
.flow .step::before {
	content: '';
	position: absolute;
	background-color: #16A453;
}
.flow .step dl {
	position: relative;
}
.flow .step dl dt {
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-weight: bold;
	border-radius: 50%;
	box-sizing: border-box;
	background: linear-gradient(300.73deg, #5DD134 40.71%, #16A453 112.67%);
}
.flow .step dl dd {
	color: #16A453;
}
.flow .step dl dd .note {
	font-weight: bold;
}
.flow .step dl dd .note::before,
.flow .step dl dd .note::after {
	content: '';
	position: absolute;
}
.flow .step dl dd .note::before {
	left: 0;
	background: url(img/green_line_left.png)no-repeat center/cover;
}
.flow .step dl dd .note::after {
	right: 0;
	background: url(img/green_line_right.png)no-repeat center/cover;
}
.flow .step dl dd .note span {
	display: block;
}
.flow .step dl dd .text {
	font-weight: bold;
}
.flow .notes {
	text-align: left;
}
.flow .notes li {
	padding-left: 1.3em;
	text-indent: -1.3em;
}
@media ( min-width: 601px ){
	.flow {
		padding: 110px 0 92px;
	}
	.flow .step dl dt {
		font-size: 18px;
		line-height: 1.2;
		width: 72px;
		height: 72px;
		padding: 7px 0 0;
	}
	.flow .step dl dd .note {
		font-size: 22px;
		line-height: 1.2;
		padding: 0 28px;
	}
	.flow .step dl dd .note::before,
	.flow .step dl dd .note::after {
		bottom: 0;
		width: 25px;
		height: 25px;
	}
	.flow .step dl dd .note span {
		display: block;
		font-size: 16px;
	}
	.flow .step dl dd .text {
		font-size: 24px;
		line-height: 1.4;
		margin-top: 12px;
	}
	.flow .notes {
		position: relative;
		font-size: 16px;
		line-height: 2;
	}
}
@media ( min-width: 961px ){
	.flow::before {
		content: '';
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 539px;
		background: url(img/bg_flow.png)no-repeat center/cover;
	}
	.flow .sec_ttl {
		margin: 0 0 120px;
	}
	.flow .step {
		display: flex;
		justify-content: space-between;
		gap: 0 9.17%;
		max-width: 1035px;
		margin: 0 auto 35px;
	}
	.flow .step::before {
		content: '';
		position: absolute;
		top: 36px;
		height: 2px;
		left: 0;
		right: 0;
		width: calc(100% - 60px);
		margin: 0 auto;
		background-color: #16A453;
	}
	.flow .step dl dt {
		margin: 0 auto 27px;
	}
	.flow .step dl dd .note {
		position: absolute;
		top: -52px;
		left: 0;
		right: 0;
		font-size: 22px;
		line-height: 1.2;
		margin: 0 auto;
		padding: 0 28px;
		width: max-content;
	}
	.flow .step dl dd .icon {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 44px;
	}
}
@media ( min-width: 1920px ){
	.flow::before {
		background: #EFFBF1;
		clip-path: polygon(0 min(15.625vw, 300px), 100% 0, 100% 100%, 0% 100%);
	}
}
@media ( max-width: 960px ){
	.flow::before {
		background: #EFFBF1;
		clip-path: polygon(0 15.4667vw, 100% 0, 100% 100%, 0% 100%);
	}
	.flow .step {
		max-width: 500px;
	}
	.flow .step::before {
		content: '';
		position: absolute;
		background-color: #16A453;
	}
	.flow .step dl {
		display: flex;
		align-items: center;
	}
	.flow .step dl:nth-child(3) dt {
		align-self: flex-start;
	}
	.flow .step dl dd {
		flex: 1 1 auto;
	}
	.flow .step dl dd .note {
		position: relative;
		display: inline-block;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ){
	.flow::before {
		height: 706px;
	}
	.flow .sec_ttl {
		margin: 0 0 70px;
	}
	.flow .step {
		margin: 0 auto 60px;
	}
	.flow .step::before {
		width: 2px;
		top: 30px;
		left: 36px;
		height: calc(100% - 80px);
	}
	.flow .step dl + dl {
		margin-top: 40px;
	}
	.flow .step dl:nth-child(3) dt {
		margin-top: 10px;
	}
	.flow .step dl dd .note {
		margin: 0 0 10px;
	}
}
@media ( max-width: 600px ){
	.flow {
		padding: 19.2vw 0 14.1333vw;
	}
	.flow::before {
		height: 146.4vw;
	}
	.flow .sec_ttl {
		margin: 0 0 8.2667vw;
	}
	.flow .step {
		margin: 0 0 5.8667vw 7.4667vw;
	}
	.flow .step::before {
		width: 0.5333vw;
		top: 8vw;
		left: 10.1333vw;
		height: calc(100% - 16vw);
	}
	.flow .step dl + dl {
		margin-top: 10.9333vw;
	}
	.flow .step dl dt {
		font-size: 4.2667vw;
		line-height: 1.2;
		width: 20.2667vw;
		height: 20.2667vw;
		padding: 1.8667vw 0 0;
	}
	.flow .step dl:nth-child(1) dd .icon {
		width: 15.2vw;
		margin: 0 auto 0.8vw;
	}
	.flow .step dl:nth-child(2) dd .icon {
		width: 9.0667vw;
		margin: 0 auto 1.0667vw;
	}
	.flow .step dl:nth-child(3) dd .icon {
		width: 11.7333vw;
		margin: 0 auto 0.9333vw;
	}
	.flow .step dl:nth-child(4) dd .icon {
		width: 10.1333vw;
		margin: 0 auto 1.4933vw;
	}
	.flow .step dl:nth-child(5) dd .icon {
		width: 14.4vw;
		margin: 0 auto 1.3333vw;
	}
	.flow .step dl dd .icon img {
		width: 100%;
	}
	.flow .step dl dd .note {
		font-size: 4.8vw;
		line-height: 1.2;
		padding: 0 6.4vw;
		margin: 0 0 1.3333vw;
	}
	.flow .step dl dd .note::before,
	.flow .step dl dd .note::after {
		bottom: 0.2667vw;
		width: 6.4vw;
		height: 6.4vw;
	}
	.flow .step dl dd .note span {
		font-size: 3.7333vw;
	}
	.flow .step dl dd .text {
		font-size: 5.3333vw;
		line-height: 1.4;
	}
	.flow .notes {
		position: relative;
		font-size: 3.7333vw;
		line-height: 2;
	}
}

/*--------------------------------------
.ft_cat
--------------------------------------*/
.ft_cat {
	position: relative;
}
.ft_cat::before,
.ft_cat::after {
	content: '';
	position: absolute;
	z-index: -1;
}
.ft_cat dl {
	color: #fff;
	text-align: left;
}
.ft_cat dl dt,
.ft_cat dl dd {
	font-weight: bold;
}
.ft_cat dl dd .cat_btn_entry {
	text-align: center;
}
@media ( min-width: 601px ){
	.ft_cat dl dt {
		font-size: 36px;
		line-height: 1.677;
		margin: 0 0 25px;
	}
	.ft_cat dl dd p {
		font-size: 18px;
		line-height: 2.2;
	}
	.ft_cat dl dd p + p {
		margin-top: 26px;
	}
	.ft_cat dl dd .large {
		font-size: 24px;
		margin-top: 23px;
	}
	.ft_cat dl dd .cat_btn_entry {
		width: 415px;
		margin-top: 36px;
	}
}
@media ( min-width: 961px ){
	.ft_cat {
		padding: 85px 0 100px;
	}
	.ft_cat::before,
	.ft_cat::after {
		top: 0;
		height: 100%;
	}
	.ft_cat::after {
		left: 0;
		width: 64.5%;
		background: linear-gradient(90.35deg, #125F33 -79.73%, #5DD134 71.92%, rgba(180, 218, 186, 0) 86.88%);
	}
	.ft_cat::before {
		right: 0;
		width: 66.5%;
		background: url(img/bg_ft_cta_img.jpg)no-repeat top right/cover;
	}
}
@media ( max-width: 960px ){
	.ft_cat::before,
	.ft_cat::after {
		left: 0;
		width: 100%;
	}
	.ft_cat::after {
		top: 0;
		height: 100%;
		background: linear-gradient(179.63deg, #125F33 -19.37%, #5DD134 82.57%, rgba(180, 218, 186, 0) 91.44%);
	}
	.ft_cat::before {
		bottom: -39.4667vw;		
		aspect-ratio: 750/636;
		background: url(img/bg_ft_cta_img_sp.jpg)no-repeat top right/cover;
	}
	.ft_cat dl dd .cat_btn_entry {
		margin-left: auto;
		margin-right: auto;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ){
	.ft_cat {
		padding: 40px 0 165px;
		margin: 0 0 calc( 39.4667vw + 100px);
	}
	.ft_cat::before {
		bottom: calc( -39.4667vw - 100px);
	}
}
@media ( max-width: 600px ){
	.ft_cat {
		padding: 14.4vw 0 32.8vw;
		margin: 0 0 39.4667vw;
	}
	.ft_cat::before {
		bottom: -39.4667vw;
	}
	.ft_cat dl dt {
		font-size: 6.9333vw;
		line-height: 1.48;
		margin: 0 0 6.4vw;
	}
	.ft_cat dl dd p {
		font-size: 4.2667vw;
		line-height: 2;
	}
	.ft_cat dl dd p + p {
		margin-top: 3.4667vw;
	}
	.ft_cat dl dd .large {
		font-size: 5.3333vw;
		margin-top: 3.7333vw;
	}
	.ft_cat dl dd .cat_btn_entry {
		margin-top: 6.4vw;
	}
}

.fixed_cta_wrap {
	position: fixed;
	left: 0;
	bottom: -100%;
	width: 100%;
	/*opacity: 0;
	visibility: hidden;*/
	background: linear-gradient(300.73deg, #5DD134 40.71%, #16A453 112.67%);
	box-sizing: border-box;
	transition: bottom .3s;
	z-index: 997;
}
.fixed_cta_wrap.active {
	bottom: 0;
}
.fixed_cta_wrap .cat_btn_entry {
	margin: 0 auto;
}
@media ( max-width: 600px ){
	.fixed_cta_wrap {
		padding: 3vw 0;
	}
}

/*--------------------------------------
.footer
--------------------------------------*/
.footer {
	color: #fff;
	background-color: #125F33;
}
.footer .info .address,
.footer .info .tel a {
	font-weight: bold;
}
.footer .info .tel a {
	color: #fff;
	display: inline-block;
}
.footer .line_wrap .btn_line a {
	position: relative;
	display: block;
	color: #fff;
	background-color: #fff;
}
.btn_line {
	position: relative;
}
.btn_line::after {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    height: 1px;
    background-color: #13E066;
}
.footer .line_wrap .btn_line a span {
	display: block;
	background: #07C755;
}
.footer .copyright {
	font-weight: 400;
}

@media ( min-width: 601px ){
	.footer {
		padding: 43px 0 46px;
	}
	.footer .info .logo {
		margin: 0 0 20px;
	}
	.footer .info .address,
	.footer .info .tel a {
		font-size: 18px;
		line-height: 2;
	}
	.footer .line_wrap .text {
		font-size: 16px;
		line-height: 1.7;
		margin: 0 0 14px;
	}
	.footer .line_wrap .btn_line {
		width: 415px;
		box-shadow: 0px 0px 12px rgba(86, 45, 5, 0.4);
	}
	.footer .line_wrap .btn_line a {
		height: 87px;
		padding-left: 10px;
		box-sizing: border-box;
	}
	.btn_line::after {
		right: -30px;
		width: 61px;
	}
	.footer .line_wrap .btn_line a span {
		font-size: 26px;
		display: flex;
		justify-content: center;
		align-items: center;
		height: 100%;
		box-sizing: border-box;
		background-repeat: no-repeat;
		background-position: 100% 0;
		background-size: 200% 100%;
		background-image: linear-gradient(to right, #fff 0%, #fff 50%, #07C755 50%, #07C755 100%);
		transition: background-position .8s cubic-bezier(0.19, 1, 0.22, 1);
	}
	.footer .line_wrap .btn_line a:hover {
		border: 2px solid #07C755;
	}
	.footer .line_wrap .btn_line a:hover span {
		color: #07C755;
		background-position: 0 0;
	}
	.footer .copyright {
		font-size: 14px;
		line-height: 1.4;
		margin-top: 45px;
	}
}
@media ( min-width: 961px ){
	.footer {
		overflow: hidden;
	}
	.footer .inner {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 0 17%;
	}
	.footer .info .address,
	.footer .info .tel {
		text-align: left;
	}
	.footer .info .address span {
		padding-right: 0.3em;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ){
	.footer .line_wrap {
		margin: 30px 0 0;
	}
	.footer .line_wrap .btn_line {
		margin: 0 auto;
	}
}
@media ( max-width: 960px ){
	.footer .info .address span {
		display: block;
	}
}
@media ( max-width: 600px ){
	.footer {
		padding: 10.6667vw 0 33.3333vw;
	}
	.footer .info .logo {
		width: 25.6vw;
		margin: 0 auto 3.4667vw;
	}
	.footer .info .address,
	.footer .info .tel a {
		font-size: 4.2667vw;
		line-height: 1.6;
	}
	.footer .line_wrap {
		margin: 8.2667vw 0 12.5333vw;
	}
	.footer .line_wrap .text {
		font-size: 4.2667vw;
		line-height: 1.625;
		margin: 0 0 2.1333vw;
	}
	.footer .line_wrap .btn_line {
		width: 64vw;
		margin: 0 auto;
		box-shadow: 0px 0px 3.2vw rgba(86, 45, 5, 0.4);
	}
	.footer .line_wrap .btn_line a {
		padding-left: 1.3333vw;
	}
	.btn_line::after {
		right: -5.3333vw;
		width: 10.6667vw;
		height: 0.5333vw;
	}
	.footer .line_wrap .btn_line a span {
		font-size: 5.3333vw;
		line-height: 1.4;
		padding: 2.4vw 0 2.9333vw;
	}
	.footer .copyright {
		font-size: 3.7333vw;
		line-height: 1.4;
	}
}

/*--------------------------------------
.anchor
--------------------------------------*/
.anchor .btn_wrap {
	display: flex;
	justify-content: center;
}
.anchor .btn_wrap .btn a {
	position: relative;
	color: #fff;
	display: block;
	background: linear-gradient(90deg, #EFD030 0%, #E3A60A 100%);
	box-shadow: 0px 0px 12px rgba(86, 45, 5, 0.4);
}
.anchor .btn_wrap .btn a::after {
	content: '';
	position: absolute;
	right: 0;
	left: 0;
	margin: auto;
	background: url(img/arrow2.svg) no-repeat center / cover;
}

@media ( min-width: 961px ){
	.anchor .btn_wrap {
		gap: 20px;
		margin-bottom: 100px;
	}
	.anchor .btn_wrap .btn a {
		padding: 19px 20px 40px;
		opacity: 1;
		transition: opacity .3s;
		width: 250px;
	}
	.anchor .btn_wrap .btn a:hover {
		opacity: .8;
	}
	.anchor .btn_wrap .btn a::after {
		bottom: 10px;
		width: 18px;
		height: 18px;
	}
}

@media ( max-width: 960px ){
	.anchor .btn_wrap {
		gap: 2%;
		margin-bottom: 8vw;
	}
	.anchor .btn_wrap .btn {
		width: 32%;
	}
	.anchor .btn_wrap .btn a {
		font-size: 3.5vw;
		line-height: 1.2;
		padding: 5.5vw 2.6667vw 13vw;
	}
	.anchor .btn_wrap .btn a::after {
		bottom: 3vw;
		width: 5.6vw;
		height: 5.6vw;
	}
}