@charset "Shift_jis";

html {
	font-size: 62.5%;
	scroll-padding: 18.395vw;
}
:root{
	/*フォント*/
	--font_eng: "Quicksand";
	/*カラー*/
	--color_gray: #302826;
	--color_red: #e31639;
	--color_orange: #ff9000;
	--color_lightorange: #fc7d55;
	--color_yellow: #fdf001;
	--color_green: #2fb359;
	--color_lightgreen: #89d835;
	--color_bg01: #fcf2e8;
	--color_bg02: #fff9ee;
}
body{
	margin: 0;
	padding: 0;
	color: var(--color_gray);
	line-height: 1.5;
	font-size: 4.267vw;
	font-weight: 500;
	font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Helvetica, "メイリオ", Meiryo, sans-serif, Arial, sans-serif,"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	background: #fff;
	overflow-x: hidden;
	position: relative;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
h2 { letter-spacing: .05em; }
input,
select,
button,
textarea{
	font-family: inherit;
	font-size: 100%;
}
button{
	padding: 0;
	border: none;
	color: var(--color_gray);
	background-color: transparent;
	cursor: pointer;
	appearance: none;
}
ul,ol,li{ list-style: none; }
a,
a span,
a img,
a::before,
a::after,
a span::before,
a span::after,
button,
button::before,
button::after{ text-decoration: none; transition: 0.4s; }
div img{ width: 100%; height: auto; display: block; }
*{ box-sizing: border-box; }
sup {
	font-size: 0.9rem;
	vertical-align: top;
	position: relative;
	top: -0.2em;
}
.pcOnly { display:none !important; }
main{ padding-top: 31.5vw; }
@media screen and (min-width: 768px) {
	html { scroll-padding: 6.736vw; }
	body{
		line-height: 1.75;
		font-size: 1.6rem;
	}
	br.smtOnly { display:none !important; }
	main{ padding-top: 12vw; }
}
@media screen and (min-width: 1025px) {
	html { scroll-padding:140px; }
	.smtOnly { display:none !important; }
	.pcOnly { display:block !important; }
	main{ padding-top: 160px; }
}
@media (prefers-reduced-motion: no-preference) {
	html { scroll-behavior: smooth; }
}
@media (any-hover: hover) {
	a:hover img{ opacity: 0.8; }
}
img{ height: auto; }
/*---------------------------------
	ヘッダー
---------------------------------*/
header > div{
	width: 100%;
	padding: 2.133vw 2.667vw 2.667vw;
	border-top: 3px solid var(--color_green);
	letter-spacing: .05em;
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 2;
}
header div{
	display: flex;
	justify-content: space-between;
}
header div div{
	width: calc(100% - 20vw);
	align-items: center;
	justify-content: end;
	flex-wrap: wrap;
}
header div h1{
	width: 20vw;
}
header .head-cv{
	margin-left: 13.333vw;
	display: flex;
	gap: 1.6vw;
}
header .head-cv li a{
	width: 20.8vw;
	height: 12.8vw;
	display: flex;
	text-align: center;
	align-items: center;
	justify-content: center;
	border: 2px solid var(--color_lightorange);
	border-radius: 2.667vw;
	color : #fff;
	line-height: 3.667vw;
	font-size: 2.933vw;
	font-weight: 700;
	background: var(--color_lightorange);
}
header .head-cv li + li a{
	border: 2px solid var(--color_green);
	color :var(--color_green);
	background: #fff;
}
header .nav-menu{
	width: 56vw;
	height: 100%;
	padding: 20vw 6.667vw 0;
	background: #fff;
	position: fixed;
	top: 0;
	right: 0;
	transition: all 0.2s;
	transform: translate(56vw);
	z-index: 2;
}
header .nav-menu.open {
	transform: translate(0); 
}
header .nav-menu ul li{
	padding: 4vw 0;
	border-bottom: 2px dotted #dcdcdc;
}
header .nav-menu ul li a{
	line-height: 3.733vw;
	color: var(--color_gray);
	font-size: 3.733vw;
	font-weight: 700;
}
header .nav-menu ul li a span{
	margin-top: 0.8vw;
	display: block;
	color: var(--color_green);
	font-size: 2.667vw;
}
body.fixed {
	width: 100%;
	min-width: 100%;
	height: 100%;
}
body.fixed header > div::after{
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	background: #000;
	opacity: .6;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1;
}
header .button-menu{
	width: 13.867vw;
	height: 12.8vw;
	margin-left: 1.6vw;
	padding: 8vw 2.667vw 2.667vw;
	display: block;
	border-radius: 1.867vw;
	line-height: 2.667vw;
	font-size: 2.667vw;
	font-family: var(--font_eng);
	background: var(--color_bg01);
	position: relative;
	z-index: 10;
	cursor: pointer;
}
header .button-menu span span:not(.menu-toggle){
	width: 6.933vw;
	height: 0.533vw;
	margin: 0 auto;
	background: var(--color_gray);
	border-radius: 100vmax;
	transition: .3s;
	position: absolute;
	top: 2.667vw;
	left: 0;
	right: 0;
}
header .button-menu span span:nth-of-type(2) { top: 4.267vw; }
header .button-menu span span:nth-of-type(3) { top: 5.867vw; }
header .button-menu[aria-expanded="true"] span span:nth-of-type(1) {
	top: 4.533vw;
	transform: rotate(30deg);
}
header .button-menu[aria-expanded="true"] span span:nth-of-type(2) { opacity: 0; }
header .button-menu[aria-expanded="true"] span span:nth-of-type(3) {
	top: 4.533vw;
	transform: rotate(-30deg);
}
header .nav-menu-sp{
	width: 100%;
	border-top: 1px solid #dcdcdc;
	border-bottom: 1px solid #dcdcdc;
	position: absolute;
	top: 18.4vw;
	left: 0;
}
header .nav-menu-sp ul{
	display: flex;
	background: #fff;
}
header .nav-menu-sp ul li{
	width: calc(100% / 4);
	margin: 1.333vw 0;
}
header .nav-menu-sp ul li + li{ border-left: 2px dotted #dcdcdc; }
header .nav-menu-sp ul li a{
	height: 10.667vw;
	padding: 1.333vw 0;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	line-height:  2.667vw;
	text-align: center;
	color: var(--color_gray);
	font-size:  2.667vw;
	font-weight: 700;
}
header .nav-menu-sp ul li a span{
	width: 100%;
	margin-top: 0.267vw;
	display: block;
	line-height: 2.4vw;
	color: var(--color_green);
	font-size: 2.4vw;
	font-family: var(--font_eng);
}
@media screen and (min-width: 768px) {
	header > div{ padding: 0.781vw 0.977vw 0.977vw; }
	header div div{ width: calc(100% - 7.324vw); }
	header div h1{ width: 7.324vw; }
	header .head-cv{
		margin-left: 4.883vw;
		gap: 0.586vw;
	}
	header .head-cv li a{
		width: 7.617vw;
		height: 4.688vw;
		border-radius: 0.977vw;
		line-height: 1.343vw;
		font-size: 1.074vw;
	}
	header .nav-menu{
		width: 20.508vw;
		padding: 7.324vw 2.441vw 0;
		transform: translate(20.977vw);
	}
	header .nav-menu ul li{
		padding: 1.465vw 0;
		border-right: none;
	}
	header .nav-menu ul li a{
		line-height: 1.367vw;
		font-size: 1.367vw;
	}
	header .nav-menu ul li a span{
		margin-top: .293vw;
		font-size: 0.977vw;
	}
	header .button-menu{
		width: 5.078vw;
		height: 4.688vw;
		margin-left: 0.586vw;
		padding: 2.93vw 0.977vw 0.977vw;
		border-radius: 0.684vw;
		line-height: 0.977vw;
		font-size: 0.977vw;
	}
	header .button-menu span span:not(.menu-toggle){
		width: 2.539vw;
		height: 0.195vw;
		top: 0.977vw;
	}
	header .button-menu span span:nth-of-type(2) { top: 1.563vw; }
	header .button-menu span span:nth-of-type(3) { top: 2.148vw; }
	header .button-menu[aria-expanded="true"] span span:nth-of-type(1) { top: 1.66vw; }
	header .button-menu[aria-expanded="true"] span span:nth-of-type(3) { top: 1.66vw; }
	header .nav-menu-sp{
		border-top: 1px solid #dcdcdc;
		top: 6.8vw;
	}
	header .nav-menu-sp ul li{ margin: 5px 0; }
	header .nav-menu-sp ul li a{
		height: auto;
		padding: 0;
		line-height: 1.5;
		font-size: 1rem;
	}
	header .nav-menu-sp ul li a span{
		width: 100%;
		margin-top: 5px;
		line-height: .9rem;
		font-size: .9rem;
		font-family: var(--font_eng);
	}
}
@media screen and (min-width: 1025px) {
	header > div{
		padding: 25px 40px;
		border-top: 8px solid var(--color_green);
		z-index: 10;
	}
	header div div{
		width: calc(100% - 150px);
		flex-direction: row-reverse;
		flex-wrap: nowrap;
	}
	header div h1{ width: 150px; }
	header ul{ display: flex; }
	header .head-cv{
		margin-left: 50px;
		gap: 10px;
	}
	header .head-cv li a{
		width: 125px;
		height: 82px;
		border-radius: 15px;
		line-height: 2.1rem;
		font-size: 1.5rem;
	}
	header .nav-menu{ all: unset; }
	header .nav-menu ul li{
		padding: 0;
		border-bottom: none;
		border-right: 1px dotted #dcdcdc;
	}
	header .nav-menu ul li a{
		height: 52px;
		padding: 0 25px;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-wrap: wrap;
		line-height: unset;
		text-align: center;
		color: var(--color_gray);
		font-size: 1.5rem;
	}
	header .nav-menu ul li a span{
		width: 100%;
		margin-top: -8px;
		font-size: 1.2rem;
	}
	.nav-menu-sp{ display: none; }
}
@media (any-hover: hover) {
	header .nav-menu ul li a:hover{
		color : var(--color_green);
		background: #FFFA9F;
	}
	header .head-cv li a:hover{
		color: var(--color_lightorange);
		background: #fff;
	}
	header .head-cv li + li a:hover{
		color: #fff;
		background: var(--color_green);
	}
}
/*---------------------------------
	固定ボタン(資料請求・加入申込)
---------------------------------*/
#fixed-nav{
	width: 16vw;
	display: flex;
	align-items: end;
	gap: 0.8vw;
	position: fixed;
	bottom: 0;
	left: 2.667vw;
	z-index: 2;
}
#fixed-nav li a{
	width: 37.333vw;
	height: 10.667vw;
	padding-left: 13.333vw;
	display: flex;
	align-items: center;
	color: var(--color_gray);
	font-size: 3.467vw;
	text-align: center;
	letter-spacing: 0.13em;
	font-weight: 700;
	background: var(--color_yellow) url(../img/fixednav-cv.webp)no-repeat 8vw center / 3.733vw;
	position: relative;
}
#fixed-nav li a::before{
	content: "";
	width: 100%;
	height: 5px;
	display: block;
	background: url(../img/fixednav-wave01.svg) repeat top left / 100%;
	position: absolute;
	top: -3px;
	left: 0;
}
#fixed-nav li + li a{
	color: #fff;
	background: var(--color_lightorange) url(../img/fixednav-kanyu.webp) no-repeat 8vw center / 3.733vw;
}
#fixed-nav li+ li a::before{
	background: url(../img/fixednav-wave02.svg) repeat top left / 100%;
}
.fixed-pagetop{
	position: fixed;
	bottom: 2.133vw;
	right: 5.333vw;
	z-index: 1;
}
.fixed-pagetop,
.fixed-pagetop a{
	width: 9.6vw;
	height: 9.6vw;
}
.fixed-pagetop a{
	display: flex;
	align-items: center;
	justify-content: center;
	border: 2px solid var(--color_green);
	border-radius: 100vmax;
	background: #fff;
}
.fixed-pagetop a::after{
	content: "";
	width: 3.2vw;
	height: 3.2vw;
	display: block;
	mask: url(../img/pagetop.svg) no-repeat center center / contain;
	-webkit-mask: url(../img/pagetop.svg) no-repeat center center / contain;
	background: var(--color_green);
}

@media screen and (min-width: 768px) {
	#fixed-nav{
		width: 5.859vw;
		gap: 0.293vw;
		top: auto;
		left: 0.977vw;
		right: auto;
	}
	#fixed-nav li a{
		width: 13.672vw;
		height: 3.906vw;
		padding: 0 0 0 4.883vw;
		font-size: 1.27vw;
		background: var(--color_yellow) url(../img/fixednav-cv.webp)no-repeat 2.93vw center / 1.27vw;
	}
	#fixed-nav li a::before{
		height: 0.488vw;
		top: -0.391vw;
	}
	#fixed-nav li + li a{
		background: var(--color_lightorange) url(../img/fixednav-kanyu.webp)no-repeat 2.93vw center / 1.367vw;
	}
	.fixed-pagetop{
		bottom: 0.781vw;
		right: 1.953vw;
	}
	.fixed-pagetop,
	.fixed-pagetop a{
		width: 3.516vw;
		height: 3.516vw;
	}
	.fixed-pagetop a::after{
		width: 1.172vw;
		height: 1.172vw;
	}
}
@media screen and (min-width: 1025px) {
	#fixed-nav{
		width: 60px;
		display: block;
		position: fixed;
		top: 200px;
		bottom: auto;
		left: auto;
		right: 0;
		z-index: 10;
	}
	#fixed-nav li a{
		width: 60px;
		height: auto;
		max-height: 150px;
		padding: 50px 0 20px;
		font-size: 1.6rem;
		letter-spacing: 0.25em;
		writing-mode: vertical-rl;
		background: var(--color_yellow) url(../img/fixednav-cv.webp)no-repeat center 20px / 16px;
	}
	#fixed-nav li a::before{
		width: 150px;
		height: 4px;
		top: 73px;
		right: -13.5px;
		transform: rotate(-90deg);
	}
	#fixed-nav li + li a{
		margin-top: 8px;
		background: var(--color_lightorange) url(../img/fixednav-kanyu.webp)no-repeat center 20px / 16px;
	}
	.fixed-pagetop{
		bottom: 20px;
		right: 20px;
	}
	.fixed-pagetop,
	.fixed-pagetop a{
		width: 60px;
		height: 60px;
	}
	.fixed-pagetop a::after{
		width: 20px;
		height: 20px;
	}
}
@media (any-hover: hover) {
	#fixed-nav li a:hover{ opacity: 0.8; }
	.fixed-pagetop a:hover{ background: var(--color_green); }
	.fixed-pagetop a:hover::after{ background: #fff; }
}

/*---------------------------------
	セクション区切り背景色
---------------------------------*/
.bgwave-white{
	filter: invert(100%) sepia(0%) saturate(7433%) hue-rotate(125deg) brightness(127%) contrast(111%);
}
.bgwave-green{
	filter: invert(62%) sepia(24%) saturate(1360%) hue-rotate(86deg) brightness(89%) contrast(81%);
}
.bgwave-yellow{
	filter: invert(97%) sepia(9%) saturate(1787%) hue-rotate(345deg) brightness(103%) contrast(105%);
}
.bgwave-lightyellow{
	filter: invert(98%) sepia(51%) saturate(823%) hue-rotate(311deg) brightness(107%) contrast(105%);
}
.bgwave-beige{
	filter: invert(99%) sepia(93%) saturate(369%) hue-rotate(299deg) brightness(103%) contrast(98%);
}

/*---------------------------------
	ボタン
---------------------------------*/
.primary-btn{
	height: 17.067vw;
	padding-right: 4vw;
	display: flex;
	color: #fff;
	align-items: center;
	justify-content: center;
	border: 2px solid var(--color_green);
	border-radius: 100vmax;
	text-align: center;
	font-size: 4vw;
	font-weight: 700;
	background: var(--color_green);
	position: relative;
}
.primary-btn::after{
	content: "";
	width: 8.533vw;
	height: 8.533vw;
	margin: auto 0;
	display: block;
	mask: url(../img/icon-arrowcircle.svg) no-repeat center center / contain;
	-webkit-mask: url(../img/icon-arrowcircle.svg) no-repeat center center / contain;
	background: #fff;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 4vw;
}
.secondary-btn,
.text-link{ color: var(--color_gray); }
.secondary-btn span,
.text-link span{
	padding: 4vw 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-bottom: 2px dotted var(--color_gray);
	font-size: 4vw;
}
.secondary-btn span::after,
.text-link span::after{
	content: "";
	width: 8.533vw;
	height: 8.533vw;
	display: block;
	mask: url(../img/icon-arrowcircle.svg) no-repeat center center / contain;
	-webkit-mask: url(../img/icon-arrowcircle.svg) no-repeat center center / contain;
	background: var(--color_gray);
}
.text-link span{ border-bottom: 2px dotted var(--color_green); }
.text-link.noline span{ border-bottom: none; }
.text-link span::after{ background: var(--color_green); }

@media screen and (min-width: 768px) {
	.primary-btn{
		height: 6.25vw;
		padding-right: 1.465vw;
		font-size: 1.563vw;
	}
	.primary-btn::after{
		width: 3.125vw;
		height: 3.125vw;
		right: 15px;
	}
	.secondary-btn span,
	.text-link span{
		padding: 1.465vw 0;
		font-size: 1.563vw;
	}
	.secondary-btn span::after,
	.text-link span::after{
		width: 3.125vw;
		height: 3.125vw;
	}
}
@media screen and (min-width: 1025px) {
	.primary-btn{
		height: 64px;
		padding-right: 15px;
		font-size: 1.6rem;
	}
	.primary-btn::after{
		width: 32px;
		height: 32px;
		right: 15px;
	}
	.secondary-btn span,
	.text-link span{
		padding: 15px 0;
		font-size: 1.6rem;
	}
	.secondary-btn span::after,
	.text-link span::after{
		width: 32px;
		height: 32px;
	}
}
@media (any-hover: hover) {
	.primary-btn:hover{
		color : var(--color_green);
		background: #fff;
	}
	.primary-btn:hover::after{ background: var(--color_green); }
	.secondary-btn:hover span,
	.text-link:hover span{
		color : var(--color_green);
		border-bottom: 2px dotted var(--color_green);
	}
	.secondary-btn:hover span::after,
	.text-link:hover span::after{ background: var(--color_green); }
}

/*---------------------------------
	パンくず
---------------------------------*/
.breadcrumb-list ol{
	width: calc(100% - 10.667vw);
	margin: 4vw auto 0;
}
.breadcrumb-list li{
	display: inline;
	font-size: 3.2vw;
	font-weight: 400;
	position: relative;
}
.breadcrumb-list li:not(:last-child){ margin-right: 5.333vw; }
.breadcrumb-list li:not(:last-child)::after {
	content: '';
	padding: 0.667vw;
	border: solid var(--color_gray);
	border-width: 0.267vw 0.267vw 0 0;
	display: inline-block;
	position: absolute;
	right: -3.733vw;
	top: 50%;
	translate: 0 -50%;
	rotate: 45deg;
}
.breadcrumb-list li a{ color: var(--color_orange); }
@media screen and (min-width: 768px) {
	.breadcrumb-list ol{
		width: 95.703vw;
		margin: 1.953vw auto 0;
		gap: 25px;
	}
	.breadcrumb-list li{ font-size: 1.27vw; }
	.breadcrumb-list li:not(:last-child){ margin-right: 1.953vw; }
	.breadcrumb-list li:not(:last-child)::after {
		padding: 0.244vw;
		border-width: 0.098vw 0.098vw 0 0;
		right: -14px;
	}
}
@media screen and (min-width: 1025px) {
	.breadcrumb-list ol{
		width: calc(100% - 140px);
		margin: 20px auto 0;
		gap: 25px;
	}
	.breadcrumb-list li{ font-size: 1.3rem; }
	.breadcrumb-list li:not(:last-child){ margin-right: 20px; }
	.breadcrumb-list li:not(:last-child)::after {
		padding: 2.5px;
		border-width: 1px 1px 0 0;
		right: -14px;
	}
}
@media (any-hover: hover) {
	.breadcrumb-list li a:hover{ color: var(--color_green); }
}
/*---------------------------------
	下層ページ内ナビゲーション
---------------------------------*/
.nav-sub{
	width: calc(100% - 40px);
	margin: 35px auto 0;
	padding: 15px 0;
	border-top: 2px dotted #dcdcdc;
	border-bottom: 2px dotted #dcdcdc;
}
.nav-sub ol{
	display: flex;
	flex-wrap: wrap;
	gap: 15px 40px;
}
.nav-sub ol li{ width: calc(50% - 20px); }
.nav-sub ol li a{
	color: var(--color_gray);
	font-size: 14px;
	font-weight: 400;
	position: relative;
}
.nav-sub ol li a::after{
	content: '';
	padding: 0.667vw;
	border: solid var(--color_green);
	border-width: 0.267vw 0.267vw 0 0;
	display: inline-block;
	position: absolute;
	right: -3.733vw;
	top: 50%;
	translate: 0 -50%;
	rotate: 135deg;
}
@media screen and (min-width: 768px) {
	.nav-sub{
		width: 95.703vw;
		margin: 2.93vw auto 0;
		padding: 0;
		border:none;
	}
	.nav-sub ol{
		flex-wrap: nowrap;
		gap: 0;
	}
	.nav-sub ol li{
		width: calc(100% / 4);
		border-left: 0.195vw dotted #dcdcdc;
		text-align: center;
	}
	.nav-sub ol li:last-child{ border-right: 2px dotted #dcdcdc; }
	.nav-sub ol li a{
		padding: 0.488vw 0 1.953vw;
		display: block;
		font-size: 1.563vw;
		font-weight: 500;
	}
	.nav-sub ol li a::after{
		padding: 0.342vw;
		border-width: 0.098vw 0.098vw 0 0;
		right: 50%;
		top: auto;
		bottom: 5px;
		translate: 50% 0;
	}
}
@media screen and (min-width: 1025px) {
	.nav-sub{
		width: 1024px;
		margin: 30px auto 0;
	}
	.nav-sub ol li{ border-left: 2px dotted #dcdcdc; }
	.nav-sub ol li:last-child{ border-right: 2px dotted #dcdcdc; }
	.nav-sub ol li a{
		padding: 5px 0 20px;
		font-size: 16px;
	}
	.nav-sub ol li a::after{
		padding: 3.5px;
		border-width: 1px 1px 0 0;
	}
}
@media (any-hover: hover) {
	.nav-sub ol li a:hover{ color: var(--color_green); }
}

/*---------------------------------
	フッターみっくすなっつ
---------------------------------*/
.foot-media{
	font-size: 4vw;
	position: relative;
	z-index: 1;
}
.foot-media a{
	width: 89.333vw;
	margin: 0 auto;
	display: block;
	color: var(--color_gray);
}
.foot-media a > div{
	padding: 13.333vw 10.667vw 34.667vw 8vw;
	border-radius: 8vw;
	background: #f5e6d0;
	position: relative;
	z-index: 1;
}
.foot-media h2 img{
	width: 69.333vw;
	margin-top: 5.333vw;
	display: block;
}
.foot-media h2 + p{
	margin-top: 8vw;
	line-height: 6vw;
}
.foot-media .foot-media-btn{ margin-top: 8vw; }
.foot-media .foot-media-btn{
	width: 50.667vw;
	height: 12.8vw;
	display: flex;
	color: #fff;
	align-items: center;
	justify-content: center;
	border: 2px solid var(--color_gray);
	border-radius: 100vmax;
	background: var(--color_gray);
	position: relative;
}
.foot-media .foot-media-btn::after{
	content: "";
	width: 3.733vw;
	height: 3.733vw;
	margin: auto 0;
	display: block;
	mask: url(../img/icon-newtab.svg) no-repeat center center / contain;
	-webkit-mask: url(../img/icon-newtab.svg) no-repeat center center / contain;
	background: #fff;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 5.333vw;
}
.foot-media a > div > picture{
	width: 78.667vw;
	position: absolute;
	bottom: 8vw;
	z-index : -1;
}
@media screen and (min-width: 768px) {
	.foot-media{
		font-size: 1.563vw;
		position: relative;
		z-index: 1;
	}
	.foot-media a{
		width: 95.703vw;
		margin: 0 auto;
		display: block;
		color: var(--color_gray);
	}
	.foot-media a > div{
		padding: 11.719vw 5.859vw 21.973vw;
		display: flex;
		align-items: flex-end;
		display: flex;
		justify-content: space-between;
		border-radius: 2.93vw;
		background: #f5e6d0;
		position: relative;
		z-index: 1;
	}
	.foot-media h2{ font-size: 1.563vw; }
	.foot-media h2 img{
		width: 30.859vw;
		margin-top: 1.953vw;
		display: block;
	}
	.foot-media h2 + p{
		margin-top: 2.93vw;
		line-height: 2.734vw;
	}
	.foot-media p:nth-of-type(2){
		font-size: 0.215vw;
		line-height: 1.75;
	}
	.foot-media p:nth-of-type(3){
		margin-top: 8.789vw;
		text-align: right;
	}
	.foot-media .foot-media-btn{
		width: 27.344vw;
		height: 5.664vw;
		display: flex;
		color: #fff;
		align-items: center;
		justify-content: center;
		border: 2px solid var(--color_gray);
		border-radius: 100vmax;
		background: var(--color_gray);
		position: relative;
		top: 9.766vw;
	}
	.foot-media .foot-media-btn::after{
		content: "";
		width: 1.563vw;
		height: 1.563vw;
		margin: auto 0;
		display: block;
		mask: url(../img/icon-newtab.svg) no-repeat center center / contain;
		-webkit-mask: url(../img/icon-newtab.svg) no-repeat center center / contain;
		background: #fff;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 1.953vw;
	}
	.foot-media a > div > picture{
		width: 81.836vw;
		height: 42.383vw;
		position: absolute;
		top: 2.93vw;
		z-index : -1;
	}
}
@media screen and (min-width: 1025px) {
	.foot-media{
		font-size: 1.6rem;
		position: relative;
		z-index: 1;
	}
	.foot-media a{
		width: 1024px;
		margin: 0 auto;
		display: block;
		color: var(--color_gray);
	}
	.foot-media a > div{
		padding: 120px 60px 225px;
		align-items: flex-end;
		display: flex;
		justify-content: space-between;
		border-radius: 30px;
		background: #f5e6d0;
		position: relative;
		z-index: 1;
	}
	.foot-media h2{ font-size: 1.6rem; }
	.foot-media h2 img{
		width: 316px;
		margin-top: 20px;
		display: block;
	}
	.foot-media h2 + p{
		margin-top: 30px;
		line-height: 2.8rem;
	}
	.foot-media p:nth-of-type(2){
		font-size: 2.2rem;
		line-height: 1.75;
	}
	.foot-media p:nth-of-type(3){
		margin-top: 90px;
		text-align: right;
	}
	.foot-media .foot-media-btn{
		width: 280px;
		height: 58px;
		margin-top: 0;
		display: flex;
		color: #fff;
		align-items: center;
		justify-content: center;
		border: 2px solid var(--color_gray);
		border-radius: 100vmax;
		background: var(--color_gray);
		position: relative;
		top: 105px;
		transition: .4s;
	}
	.foot-media .foot-media-btn::after{
		content: "";
		width: 16px;
		height: 16px;
		margin: auto 0;
		display: block;
		mask: url(../img/icon-newtab.svg) no-repeat center center / contain;
		-webkit-mask: url(../img/icon-newtab.svg) no-repeat center center / contain;
		background: #fff;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 20px;
	}
	.foot-media a > div > picture{
		width: 838px;
		height: 434px;
		position: absolute;
		top: 30px;
		z-index : -1;
	}

}
@media (any-hover: hover) {
	.foot-media a:hover .foot-media-btn{
		color: var(--color_gray);
		background: #fff;
	}
	.foot-media a:hover .foot-media-btn::after{ background: var(--color_gray); }
}

/*---------------------------------
	フッターみっくすなっつ
---------------------------------*/
.foot-mixnuts > div{
	width: 89.333vw;
	margin: 10.67vw auto 0;
}
.foot-mixnuts h2{
	text-align: center;
	line-height: 7.733vw;
	letter-spacing: .08em;
	font-size: 5.333vw;
}
.foot-mixnuts div div{
	display: flex;
	flex-wrap: wrap;
	gap: 5.33vw;
}
.foot-mixnuts div img{
	width: 100%;
	height: auto;
}
.foot-mixnuts .mixnuts-logo{
	margin: 8.00vw auto 0;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	letter-spacing: .2em;
	gap: 5.333vw;
	color: var(--color_gray);
	font-weight: 700;
}
.foot-mixnuts .mixnuts-logo img{
	width: 69.333vw;
	display: block;
}
.foot-mixnuts div a{ width: fit-content; }

@media screen and (min-width: 768px) {
	.foot-mixnuts{ font-size: 1.563vw; }
	.foot-mixnuts > div{
		width: 95.703vw;
		margin: 4.88vw auto 0;
	}
	.foot-mixnuts h2{
		letter-spacing: .15em;
		line-height: 1.5;
		font-size: 2.93vw;
	}
	.foot-mixnuts div div{
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-template-rows: auto auto;
		gap: 3.91vw;
	}
	.foot-mixnuts div div a:nth-of-type(1){
		justify-self: center;
		grid-column: 1 / span 2;
		grid-row: 1;
	}
	.foot-mixnuts div .banner-flex2 a:nth-of-type(1),
	.foot-mixnuts div .banner-flex3 a:nth-of-type(2){
		justify-self: right;
		grid-column: 1;
		grid-row: 2;
	}
	.foot-mixnuts div .banner-flex2 a:nth-of-type(2),
	.foot-mixnuts div .banner-flex3 a:nth-of-type(3){
		grid-column: 2;
		grid-row: 2;
	}
	.foot-mixnuts div div a img{ max-width: 450px; }
	.foot-mixnuts .mixnuts-logo{
		align-items: center;
		gap: 1.953vw;;
	}
	.foot-mixnuts .mixnuts-logo img{
		width: 30.859vw;
		display: block;
	}
}
@media screen and (min-width: 1025px) {
	.foot-mixnuts h2{
		letter-spacing: .15em;
		font-size: 3rem;
	}
	.foot-mixnuts > div{margin-top: 50px;}
	.foot-mixnuts div div{ gap: 40px; }
	.foot-mixnuts .mixnuts-logo{
		margin-top: 60px;
		gap: 20px;
		font-size: 1.8rem;
	}
	.foot-mixnuts .mixnuts-logo img{
		width: 316px;
		display: block;
	}
}
@media (any-hover: hover) {
	.foot-mixnuts .mixnuts-logo:hover{ opacity: .7; }
}


/*---------------------------------
	資料請求ボタン
---------------------------------*/
.cv-btn{
	position: relative;
}
.cv-btn a > span{
	color: #fff;
	text-align: center;
	letter-spacing: .05em;
	font-size: 4.533vw;
	font-weight: 700;
	position: absolute;
	top: 5.333vw;
	left: 0;
	right: 0;
	z-index: 1;
}
.cv-btn span strong{ color: var(--color_yellow); }
.cv-btn span strong span{ font-size: 6.4vw; }
@media screen and (min-width: 768px) {
	.cv-btn a > span{
		font-size: 2.148vw;
		top: 2.93vw;
	}
	.cv-btn span strong span{ font-size: 2.93vw; }
}
@media screen and (min-width: 1025px) {
	.cv-btn a > span{
		font-size: 22px;
		top: 30px;
	}
	.cv-btn span strong span{ font-size: 30px; }
}

/*---------------------------------
	フッター資料請求エリア
---------------------------------*/
.foot-cvparts{
	position: relative;
	z-index: 1;
}
.foot-cvparts .bg-wave{
	width: 100%;
	height: 8vw;
	display: block;
	position: absolute;
	top: -8vw;
	z-index: -1;
}
.foot-cvparts div{
	padding: 5.333vw 0 21.333vw;
	background: #FFFA9F;
}
.foot-cvparts h2{
	width: 89.333vw;
	margin: 0 auto;
}
.foot-cvparts h2 img{ width: 100%; }
.foot-cvparts p{
	width: 89.333vw;
	margin: 2.667vw auto 0;
}

@media screen and (min-width: 768px) {
	.foot-cvparts .bg-wave{
		height: 2.93vw;
		top: -2.93vw;
	}
	.foot-cvparts div{ padding: 1.953vw 0 7.813vw; }
	.foot-cvparts h2{ width: 69.531vw; }
	.foot-cvparts p{
		width: 69.531vw;
		margin: 0.977vw auto 0;
	}
}
@media screen and (min-width: 1025px) {
	.foot-cvparts .bg-wave{
		height: 120px;
		top: -90px;
	}
	.foot-cvparts div{ padding: 0 0 60px; }
	.foot-cvparts div > *{
		position: relative;
		top: -20px;
	}
	.foot-cvparts h2{ width: 494px; }
	.foot-cvparts p{
		width: 712px;
		margin: 0 auto;
	}
}

/*---------------------------------
	フッター
---------------------------------*/
footer{ background: var(--color_bg02); }
footer .pagetop a{
	padding: 6.667vw 0 4vw;
	display: block;
	color: #fff;
	text-align: center;
	line-height: 3.467vw;
	font-size: 3.467vw;
	background: var(--color_gray) url(../img/icon-top.svg) no-repeat center 3.2vw / 4.533vw 2.667vw;
}
footer > div{
	width: 89.333vw;
	margin: 0 auto;
}
footer .foot-links{ margin-top: 6.667vw; }
footer .foot-links div + div,
footer .foot-links + .foot-links{ margin-top: 4vw;}
footer .foot-links > div ul{ margin-top: 5.333vw; }
footer .foot-links + .foot-links ul li + li{ margin-top: 4vw; }
footer .foot-links > div ul li + li{ margin-top: 2.133vw;}
footer ul li a{
	color: var(--color_gray);
	font-size: 3.733vw;
	font-weight: 400;
}
footer .text-link{ font-weight: 700; }
footer .foot-pdflinks,
footer .foot-group{
	padding-top: 5.333vw;
	border-top: 2px solid #F5E6D0;
}
footer .foot-pdflinks{ margin-top: 16vw; }
footer .foot-pdflinks ul + ul,
footer .foot-pdflinks ul li + li{ margin-top: 2.133vw;}
footer .link-newtab a,
footer .link-pdf a{
	display: inline-block;
	position: relative;
}
footer .link-pdf{ margin-right: 8vw; }
footer .link-newtab a::after{
	content: "";
	width: 2.667vw;
	height: 2.667vw;
	display: block;
	mask: url(../img/icon-newtab.svg) no-repeat center center / contain;
	-webkit-mask: url(../img/icon-newtab.svg) no-repeat center center / contain;
	background: var(--color_gray);
	position: absolute;
	top: 2.133vw;
	right: -2.667vw;
}
footer .link-pdf a::after{
	content: "";
	width: 4.267vw;
	height: 4.267vw;
	display: block;
	mask: url(../img/icon-pdf.svg) no-repeat center center / contain;
	-webkit-mask: url(../img/icon-pdf.svg) no-repeat center center / contain;
	background: var(--color_gray);
	position: absolute;
	top: 1.067vw;
	right: -5.333vw;
}
footer .foot-group{
	margin-top: 5.333vw;
	font-size: 3.733vw;
}
footer .foot-group h2{
	display: flex;
	justify-content: space-between;
	padding-right: 1.6vw;
	cursor: pointer;
}
footer .foot-group h2::after{
	content: "＋";
	font-size: 4vw;
}
footer .foot-group h2.open::after{ content: "−"; }
footer .foot-group > div{
	margin-top: 5.333vw;
	display: none;
}
footer .foot-group div + div,
footer .foot-group div dl + dl{ margin-top: 2.667vw; }
footer .foot-group div dd{ margin-top: 0.8vw; }
footer > p:not(.pagetop){
	padding: 10.667vw 5.333vw 21.333vw;
	text-align: center;
	font-size: 3.2vw;
	font-weight: 400;
}

@media screen and (min-width: 768px) {
	footer .pagetop a{
		padding: 2.441vw 0 1.465vw;
		line-height: 1.27vw;
		font-size: 1.27vw;
		background: var(--color_gray) url(../img/icon-top.svg) no-repeat center 1.172vw / 1.3vw;
	}
	footer > div{ width: calc(100% - 1.953vw); }
	footer .foot-links{ margin-top: 2.441vw; }
	footer .foot-links div + div,
	footer .foot-links + .foot-links{ margin-top: 1.465vw;}
	footer .foot-links > div ul{ margin-top: 1.953vw; }
	footer .foot-links + .foot-links ul li + li{ margin-top: 1.465vw; }
	footer .foot-links > div ul li + li{ margin-top: 0.781vw;}
	footer ul li a{ font-size: 1.367vw; }
	footer .foot-pdflinks,
	footer .foot-group{ padding-top: 1.953vw; }
	footer .foot-pdflinks{ margin-top: 5.859vw; }
	footer .foot-pdflinks ul + ul,
	footer .foot-pdflinks ul li + li{ margin-top: 0.781vw;}
	footer .link-pdf{ margin-right: 2.93vw; }
	footer .link-newtab a::after{
		width: 0.977vw;
		height: 0.977vw;
		top: 0.781vw;
		right: -0.977vw;
	}
	footer .link-pdf a::after{
		width: 1.563vw;
		height: 1.563vw;
		top: 0.391vw;
		right: -1.953vw;
	}
	footer .foot-group{
		margin-top: 1.953vw;
		font-size: 1.4rem;
	}
	footer .foot-group h2{ padding-right: 0.586vw; }
	footer .foot-group h2::after{ font-size: 1.465vw; }
	footer .foot-group > div{ margin-top: 1.953vw; }
	footer .foot-group div + div,
	footer .foot-group div dl + dl{ margin-top: 0.977vw; }
	footer .foot-group div dd{ margin-top: 0.293vw; }
	footer > p:not(.pagetop){
		padding: 3.906vw 1.953vw 7.813vw;
		font-size: 1.172vw;
	}
}
@media screen and (min-width: 1025px) {
	footer .pagetop a{
		padding: 30px 0 15px;
		line-height: 1.5;
		font-size: 1.6rem;
		background: var(--color_gray) url(../img/icon-top.svg) no-repeat center 20px / 17px 10px;
	}
	footer > div{ width: 1024px; }
	footer .foot-links div + div,
	footer .foot-links+.foot-links ul li + li,
	footer .foot-pdflinks ul + ul,
	footer .foot-pdflinks ul li + li,
	footer .foot-group div+div,
	footer .foot-group div dl+dl{ margin-top: 0; }
	footer .foot-links{ margin-top: 60px; }
	footer .foot-links,
	footer .foot-links > ul{
		display: flex;
		flex-wrap: wrap;
		gap: 45px;
	}
	footer .foot-links > ul{ width: 100%; }
	footer .foot-links > div,
	footer .foot-links > ul li{
		width: calc(25% - 33.8px);
	}
	footer .foot-links > div ul{ margin-top: 25px; }
	footer .foot-links + .foot-links{ margin-top: 45px; }
	footer .foot-links > div ul li + li{ margin-top: 8px;}
	footer ul li a{ font-size: 1.4rem; }
	footer .text-link{
		font-size: 1.6rem;
		font-weight: 600;
	}
	footer .foot-pdflinks,
	footer .foot-group{ padding-top: 40px; }
	footer .foot-pdflinks{ margin-top: 60px; }
	footer .foot-pdflinks div{
		display: flex;
		flex-wrap: wrap;
		gap: 55px;
	}
	footer .foot-pdflinks ul{ width: calc(25% - 41.3px); }
	footer .foot-pdflinks ul li + li{ margin-top: 8px;}
	footer .link-newtab a::after{
		width: 10px;
		height: 10px;
		top: 9px;
		right: -10px;
	}
	footer .link-pdf a::after{
		width: 16px;
		height: 16px;
		top: 4px;
		right: -20px;
	}
	footer .foot-group{
		margin-top: 40px;
		font-size: 1.4rem;
	}
	footer .foot-group h2::after{ content: ""; }
	footer .foot-group > div{
		margin-top: 20px;
		padding: 0 10px;
		display: flex;
	}
	footer .foot-group div dl{
		display: flex;
		letter-spacing: 0;
		gap: 5px;
	}
	footer .foot-group div dl + dl{ margin-top: 8px; }
	footer .foot-group > div div:nth-of-type(1){ width: 530px; }
	footer .foot-group > div div:nth-of-type(2){ width: calc(100% - 530px); }
	footer .foot-group > div div:nth-of-type(1) dt{ width: 12em; }
	footer .foot-group > div div:nth-of-type(2) dt{ width: 8em; }
	footer .foot-group div dd{ margin-top: 0; }
	footer > p:not(.pagetop){
		padding: 90px 0 30px;
		text-align: center;
		font-size: 1.3rem;
		font-weight: 400;
	}
}
@media (any-hover: hover) {
	footer .pagetop a:hover{ opacity: .8; }
	footer ul li a:not(.text-link):hover{
		color: var(--color_green);
		text-decoration: underline;
	}
	footer ul .link-newtab a:hover::after,
	footer ul .link-pdf a:hover::after{ background: var(--color_green); }
}


/*---------------------------------
	フッター(おためしボックス)
---------------------------------*/

#footerWrap .footNav02{ border-top: 2px solid #e2e2e2; }
#footerWrap .footNav02 ul{
	width: 94%;
	margin: 30px auto;
}
#footerWrap .footNav02 ul li a{
	margin-bottom: 12px;
	display: block;
	color: #302826;
}
#footerWrap .footNav02 ul .footPdf a:after{
	content: "\e916";
	padding-left: 5px;
	display: inline-block;
	font-family: icomoon;
}

@media screen and (min-width: 1025px) {
#footerWrap .footNav02{
	border-top: 2px solid #e2e2e2;
}
#footerWrap .footNav02 ul{
	width: 600px;
	margin: 50px auto;
	padding: 0 30px;
	display: flex;
	justify-content: space-between;
	box-sizing: border-box;
}
#footerWrap .footNav02 ul li a{
	display: inline-block;
	color: #302826;
}
#footerWrap .footNav02 ul li a:hover{ text-decoration: underline; }
#footerWrap .footNav02 ul .footPdf a:after{
	content: "\e916";
	padding-left: 5px;
	display: inline-block;
	font-family: icomoon;
}
#footerWrap p{
	margin: 50px auto;
	text-align: center;
	font-size: 1.2rem;
}
}