@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Didact+Gothic&family=Noto+Sans+JP:wght@400;500;700&display=swap');

html, body {
	margin: 0;
	overflow-x: hidden;
	padding: 0;
	width: 100%;
	max-width: 100%;
}
body {
	color: #010101;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 1px;
	line-height: 1.6;
}
div, section, article {
	box-sizing: border-box;
	display: block;
}
h1, h2, h3, h4 {
	box-sizing: border-box;
	font-weight: 600;
	margin: 0;
	padding: 0;
}
p, figure, figcaption,
ul, ol, li, dl, dt, dd {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
ol li, ul li {
	box-sizing: border-box;
	list-style-type: none;
}
img {
	vertical-align: bottom;
	height: auto;
	width: auto;
	max-width: 100%;
}
a {
	color: #010101;
	text-decoration: none;
	transition: ease .3s;
}
a img:hover {
	opacity: .8;
}
em {
	font-style: normal;
}

.flexBox {
	-ms-display: flexbox;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
}
.sec_inner {
	margin: 0 auto;
	width: 1000px;
}
@media screen and (max-width: 1040px) {
	body {
		font-size: 1.5vw;
		letter-spacing: .1vw;
	}
	.sec_inner {
		margin: 0 4vw;
		width: auto;
	}
}
@media screen and (min-width: 641px) {
	.sp_on {
		display: none !important;
	}
}
@media screen and (max-width: 640px) {
	body {
		font-size: 3.6vw;
		letter-spacing: .2vw;
	}
	.pc_on {
		display: none !important;
	}
}
.swiper-container {
	background: none;
}
.swiper-slide {
	background: none;
	background-position: initial;
	background-size: initial;
	height: initial;
	display: initial;
	-webkit-box-pack: initial;
	-ms-flex-pack: initial;
	-webkit-justify-content: initial;
	justify-content: initial;
	-webkit-box-align: initial;
	-ms-flex-align: initial;
	-webkit-align-items: initial;
	align-items: initial;
}
.btn {
	display: initial;
	font-weight: initial;
	color: initial;
	text-align: initial;
	vertical-align: initial;
	-webkit-user-select: initial;
	-moz-user-select: initial;
	-ms-user-select: initial;
	user-select: initial;
	background-color: initial;
	border: 1px solid initial;
	padding: initial;
	font-size: initial;
	line-height: initial;
	border-radius: initial;
	transition: initial;
}


}

/** -------------------
	header
------------------- **/
header {
	position: relative;
	z-index: 999;
}
@media screen and (max-width: 1040px) {

}
@media screen and (max-width: 640px) {
	header {
		margin-top: 12vw;
	}
}

.signboard {
	background-color: rgba(255, 255, 255, .8);
	position: fixed;
	left: 0;
	top: 0;
	height: 60px;
	width: 100%;
	z-index: 999;
}
header .logo {
	line-height: 1.0;
	position: absolute;
	left: 40px;
	top: 10px;
	width: 140px;
}
header nav {
	display: table;
	margin-left: auto;
}
header nav li a {
	box-sizing: border-box;
	display: block;
	font-weight: 600;
	padding: 0 20px;
	padding-top: 16px;
	height: 60px;
}
header nav li a:hover {
	color: #75A200;
}
header nav li.btn a {
	background-color: #88BD20;
	color: #fff;
	margin-left: 15px;
	padding: 0 30px;
	padding-top: 16px;
}
header nav li.btn a:hover {
	background-color: #75A200;
}
.signboard .contact_btn {
	display: none;
}
@media screen and (max-width: 1260px) {
	header .logo {
		left: 2vw;
		top: 1vw;
		width: 10vw;
	}
	header nav li a {
		padding: 0 1vw;
		padding-top: 1.6vw;
	}
	header nav li.btn a {
		margin-left: 1.5vw;
		padding: 0 3vw;
		padding-top: 1.6vw;
	}
}
@media screen and (max-width: 1040px) {
	.signboard {
		height: 6vw;
	}
	header .logo {
		left: 4vw;
		top: 1.5vw;
		width: 12vw;
	}
	header nav li a {
		font-size: 1.4vw;
		padding: 0 1vw;
		padding-top: 1.8vw;
		height: 6vw;
	}
	header nav li.btn a {
		margin-left: 1.5vw;
		padding: 0 2vw;
		padding-top: 1.8vw;
	}
}
@media screen and (max-width: 640px) {
	.signboard {
		background-color: #fff;
		height: 12vw;
	}
	header .logo {
		left: 4vw;
		top: 1vw;
		width: 26vw;
	}
	header .menu_btn {
		display: block;
		position: absolute;
		right: 4vw;
		top: 50%;
		transform: translateY(-50%);
		height: 20px;
		width: 30px;
	}
	header .menu_btn span {
		background-color: #010101;
		display: block;
		position: absolute;
		left: 0;
		height: 2px;
		width: 100%;
	}
	header .menu_btn span:nth-child(1) {
		top: 0;
	}
	header .menu_btn span:nth-child(2) {
		top: 10px;
	}
	header .menu_btn span:nth-child(3) {
		top: 20px;
	}
	header .menu_btn.open span:nth-child(1) {
		top: 10px;
		transform: rotate(45deg);
	}
	header .menu_btn.open span:nth-child(2) {
		opacity: 0;
	}
	header .menu_btn.open span:nth-child(3) {
		top: 10px;
		transform: rotate(-45deg);
	}
	header nav {
		background-color: #fff;
		display: none;
		padding-top: 4vw;
		position: fixed;
		top: 12vw;
		width: 100%;
	}
	header nav ul.flexBox {
		display: block;
	}
	header nav li a {
		padding: 4vw 2vw;
		padding-top: 1.6vw;
		text-align: center;
		height: auto;
	}
	header nav li.btn a {
		margin-top: 2vw;
		margin-left: 0;
		padding: 4vw 2vw;
	}
	.signboard .contact_btn {
		background-color: #88BD20;
		box-sizing: border-box;
		color: #fff;
		display: block;
		font-size: 4vw;
		font-weight: 700;
		margin: 0;
		padding: 0 4vw;
		padding-top: 3vw;
		position: absolute;
		right: 16vw;
		top: 0;
		height: 100%;
	}
}

/** -------------------
	main
------------------- **/
main {
	display: block;
}
.bg_gray {
	background-color: #F4F4F4;
}
.bg_green {
	background-color: #EDF1E4;
}
.wh_box {
	background-color: #fff;
	padding: 50px 60px;
}
.gr_border {
	border: solid 1px #88BD20;
}
.headline_1 {
	font-size: 54px;
	line-height: 1.2;
	margin-bottom: 60px;
}
.headline_1 span {
	color: #88BD20;
	display: table;
	font-family: 'Didact Gothic', sans-serif;
	font-size: 36px;
	font-style: italic;
	position: relative;
}
.headline_1 span::after {
	background-color: #88BD20;
	content: '';
	display: block;
	position: absolute;
	right: -25px;
	top: 24px;
	height: 4px;
	width: 20px;
}
.headline_2 {
	background-color: #88BD20;
	color: #fff;
	font-size: 34px;
	margin: 0 auto;
	margin-bottom: 50px;
	position: relative;
	text-align: center;
	height: 54px;
	width: 420px;
	z-index: 1;
}
.headline_2::before,
.headline_2::after {
	border: solid 35px transparent;
	content: '';
	display: block;
	position: absolute;
	top: 0;
	z-index: -1;
}
.headline_2::before {
	border-bottom: solid 54px #88BD20;
	border-top: none;
	left: -35px;
}
.headline_2::after {
	border-top: solid 54px #88BD20;
	border-bottom: none;
	right: -35px;
}
@media screen and (max-width: 1040px) {
	.wh_box {
		padding: 5vw;
	}
	.headline_1 {
		font-size: 5.4vw;
		margin-bottom: 6vw;
	}
	.headline_1 span {
		font-size: 3.6vw;
	}
	.headline_1 span::after {
		right: -2.5vw;
		top: 2.4vw;
		height: 3px;
		width: 2vw;
	}
	.headline_2 {
		font-size: 3.4vw;
		margin-bottom: 5vw;
		height: 5.4vw;
		width: 42vw;
	}
	.headline_2::before,
	.headline_2::after {
		border: solid 3.5vw transparent;
	}
	.headline_2::before {
		border-bottom: solid 5.4vw #88BD20;
		border-top: none;
		left: -3.5vw;
	}
	.headline_2::after {
		border-top: solid 5.4vw #88BD20;
		border-bottom: none;
		right: -3.5vw;
	}
}
@media screen and (max-width: 640px) {
	.wh_box {
		padding: 7vw 4vw;
	}
	.headline_1 {
		font-size: 6vw;
		margin-bottom: 6vw;
	}
	.headline_1 span {
		font-size: 4.2vw;
	}
	.headline_1 span::after {
		right: -2.5vw;
		top: 2.6vw;
		height: 2px;
		width: 2vw;
	}
	.headline_2 {
		font-size: 4.6vw;
		margin-bottom: 5vw;
		height: 8vw;
		width: 54vw;
	}
	.headline_2::before,
	.headline_2::after {
		border: solid 5vw transparent;
	}
	.headline_2::before {
		border-bottom: solid 8vw #88BD20;
		border-top: none;
		left: -5vw;
	}
	.headline_2::after {
		border-top: solid 8vw #88BD20;
		border-bottom: none;
		right: -5vw;
	}
}

.fv {
	position: relative;
	height: 900px;
}
.fv .bg {
	object-fit: cover;
	object-position: center;
	height: 100%;
	width: 100%;
}
.fv .text_box {
	position: absolute;
	left: 60px;
	top: 50%;
	transform: translateY(-50%);
}
.fv .text_box h2 {
	background-color: rgba(255, 255, 255, .8);
	display: table;
	font-family: 'Arial', 'Helvetica';
	font-size: 90px;
	line-height: 1.0;
	margin-bottom: 20px;
}
.fv .text_box h2 span {
	display: inline-block;
	font-family: 'Noto Sans JP';
	font-size: 32px;
	padding: 0 45px 0 40px;
	position: relative;
}
.fv .text_box h2 span::before,
.fv .text_box h2 span::after {
	background-color: #010101;
	content: '';
	display: block;
	position: absolute;
	top: 16px;
	height: 5px;
	width: 25px;
}
.fv .text_box h2 span::before {
	left: 10px;
}
.fv .text_box h2 span::after {
	right: 15px;
}
.fv .text_box p {
	background-color: rgba(255, 255, 255, .8);
	display: table;
	font-size: 22px;
	margin-top: 10px;
}
.fv .price_box {
	background-color: #88BD20;
	color: #fff;
	line-height: 1.2;
	padding-left: 10px;
	padding-right: 80px;
	position: absolute;
	bottom: 50px;
	right: 0;
	height: 82px;
	z-index: 1;
}
.fv .price_box::before {
	border: solid 65px transparent;
	border-bottom: solid 82px #88BD20;
	border-top: none;
	content: '';
	display: block;
	position: absolute;
	left: -65px;
	top: 0;
	z-index: -1;
}
.fv .price_box .period {
	background-color: #fff;
	color: #88BD20;
	font-size: 20px;
	padding: 0 5px;
	position: absolute;
	left: 20px;
	top: 15px;
}
.fv .price_box .period span {
	display: block;
	font-size: 16px;
}
.fv .price_box .special {
	font-size: 20px;
	padding: 0 5px;
	position: absolute;
	bottom: 15px;
	left: 20px;
}
.fv .price_box .price {
	font-family: 'Arial', 'Helvetica';
	font-size: 54px;
	font-weight: 600;
	letter-spacing: 0;
	padding-top: 8px;
}
.fv .price_box .price small {
	font-size: 30px;
}
.fv .cta_btn {
	margin-top: 100px;
	width: 100%;
}
.fv .cta_btn p {
	background: transparent;
	font-size: 18px;
	margin-bottom: 10px;
	text-align: center;
	text-shadow: 2px 2px 3px white, -2px -2px 3px white, 2px 2px 3px white, -2px -2px 3px white,
		-2px 2px 3px white, 2px -2px 3px white, -2px 2px 3px white, 2px -2px 3px white;
	width: 100%;
}
.fv .cta_btn a {
	background-color: #88BD20;
	border: solid 3px #ffffff;
	border-radius: 50px;
	box-shadow: 5px 5px 10px 2px rgba(0, 0, 0, .3);
	box-sizing: border-box;
	color: #fff;
	display: block;
	font-size: 25px;
	font-weight: 700;
	padding: 20px 0;
	text-align: center;
	width: 100%;
}
.fv .cta_btn a:hover {
	background-color: #75A200;
}
@media screen and (max-width: 1450px) {
	.fv {
		height: auto;
	}
}
@media screen and (max-width: 1040px) {
	.fv .text_box {
		left: 4vw;
	}
	.fv .text_box h2 {
		font-size: 8vw;
		margin-bottom: 2vw;
	}
	.fv .text_box h2 span {
		font-size: 3vw;
		padding: 0 4.5vw 0 4vw;
	}
	.fv .text_box h2 span::before,
	.fv .text_box h2 span::after {
		top: 1.5vw;
		height: 4px;
		width: 2.5vw;
	}
	.fv .text_box h2 span::before {
		left: 1vw;
	}
	.fv .text_box h2 span::after {
		right: 1.5vw;
	}
	.fv .text_box p {
		font-size: 2.1vw;
		margin-top: 1vw;
	}
	.fv .price_box {
		padding-left: 1vw;
		padding-right: 2vw;
		bottom: 4vw;
		height: 7vw;
	}
	.fv .price_box::before {
		border: solid 6.5vw transparent;
		border-bottom: solid 7vw #88BD20;
		border-top: none;
		left: -6.5vw;
	}
	.fv .price_box .period {
		font-size: 2vw;
		padding: 0 .5vw;
		left: 2vw;
		top: 1.5vw;
	}
	.fv .price_box .period span {
		font-size: 1.6vw;
	}
	.fv .price_box .special {
		font-size: 2vw;
		padding: 0 .5vw;
		bottom: 1.5vw;
		left: 2vw;
	}
	.fv .price_box .price {
		font-size: 4.4vw;
		padding-top: .8vw;
	}
	.fv .price_box .price small {
		font-size: 2.6vw;
	}
	.fv .cta_btn {
		margin-top: 8vw;
	}
	.fv .cta_btn p {
		font-size: 2vw;
		margin-bottom: 1vw;
	}
	.fv .cta_btn a {
		border: solid 3px #ffffff;
		border-radius: 50px;
		font-size: 2.3vw;
		padding: 20px 0;
	}
}
@media screen and (max-width: 640px) {
	.fv {
		height: 90vw;
	}
	.fv .text_box {
		left: 6vw;
		top: 10vw;
		transform: initial;
		width: calc(100% - 12vw);
	}
	.fv .text_box h2 {
		font-size: 10vw;
		margin-bottom: 2vw;
	}
	.fv .text_box h2 span {
		font-size: 4.6vw;
		padding: 0 6vw 0 5vw;
	}
	.fv .text_box h2 span::before,
	.fv .text_box h2 span::after {
		top: 2vw;
		height: 3px;
		width: 3.5vw;
	}
	.fv .text_box h2 span::before {
		left: 1vw;
	}
	.fv .text_box h2 span::after {
		right: 1.5vw;
	}
	.fv .text_box p {
		font-size: 3.6vw;
		margin-top: 1vw;
	}
	.fv .price_box {
		padding-left: 2vw;
		padding-right: 4vw;
		bottom: 0;
		height: 10vw;
	}
	.fv .price_box::before {
		border: solid 7vw transparent;
		border-bottom: solid 10vw #88BD20;
		border-top: none;
		left: -7vw;
	}
	.fv .price_box .period {
		font-size: 3.4vw;
		padding: 0 .5vw;
		left: 2vw;
		top: 1vw;
	}
	.fv .price_box .special {
		font-size: 3.4vw;
		padding: 0 .5vw;
		bottom: 1vw;
		left: 2vw;
	}
	.fv .price_box .price {
		font-size: 7vw;
		padding-top: 1.2vw;
	}
	.fv .price_box .price small {
		font-size: 5vw;
	}
	.fv .cta_btn {
		margin-top: 8vw;
	}
	.fv .cta_btn p {
		font-size: 3.4vw;
		margin-bottom: 1vw;
	}
	.fv .cta_btn a {
		border-radius: 10vw;
		font-size: 4.8vw;
		padding: 2vw 0;
	}
}

.about {
	padding-top: 60px;
	text-align: center;
}
.about .sec_inner {
	position: relative;
	z-index: 2;
}
.about h2 {
	font-size: 40px;
	margin-bottom: 50px;
	padding-bottom: 5px;
	position: relative;
}
.about h2::before {
	background-color: #88BD20;
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	height: 4px;
	width: 50px;
}
.about h2 small {
	font-size: 30px;
}
.about p {
	margin-bottom: 60px;
}
.about .movie {
	height: 500px;
}
@media screen and (max-width: 1040px) {
	.about {
		padding-top: 6vw;
	}
	.about h2 {
		font-size: 4vw;
		margin-bottom: 5vw;
		padding-bottom: .5vw;
	}
	.about h2::before {
		height: 3px;
		width: 5vw;
	}
	.about h2 small {
		font-size: 3vw;
	}
	.about p {
		margin-bottom: 6vw;
	}
	.about .movie {
		height: 45vw;
	}
}
@media screen and (max-width: 640px) {
	.about {
		padding-top: 10vw;
	}
	.about h2 {
		font-size: 7vw;
		margin-bottom: 6vw;
		padding-bottom: 1vw;
	}
	.about h2::before {
		height: 3px;
		width: 8vw;
	}
	.about h2 small {
		font-size: 5vw;
	}
	.about p {
		margin-bottom: 6vw;
		text-align: left;
	}
	.about .movie {
		height: 50vw;
	}
}

.feature {
	margin-top: -240px;
	padding-bottom: 100px;
	padding-top: 340px;
	position: relative;
	z-index: 1;
}
.feature::before {
	border: solid 400px transparent;
	border-bottom: none;
	border-top: solid 600px rgba(121, 168, 29, .3);
	content: '';
	display: block;
	position: absolute;
	left: -400px;
	top: 0;
	z-index: -1;
}
.feature .inner {
	padding-bottom: 10px;
}
.feature ul {
	margin: 0 -30px;
}
.feature li {
	margin: 0 10px 40px;
	width: calc(33.3333% - 20px);
}
.feature li .point {
	align-items: center;
	margin-bottom: 20px;
}
.feature li .point p {
	color: #fff;
	font-size: 31px;
	font-weight: 600;
	line-height: 1.0;
	padding-top: 8px;
	position: relative;
	text-align: center;
	height: 60px;
	width: 60px;
	z-index: 1;
}
.feature li .point p::before,
.feature li .point p::after {
	border: solid 30px transparent;
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
}
.feature li .point p::before {
	border-left: solid 30px #79A81D;
	border-top: solid 30px #79A81D;
}
.feature li .point p::after {
	border-bottom: solid 30px #88BD20;
	border-right: solid 30px #88BD20;
}
.feature li .point p span {
	display: block;
	font-size: 14px;
	font-weight: 500;
}
.feature li .point h3 {
	color: #79A81D;
	font-size: 20px;
	line-height: 1.4;
	margin-left: 20px;
	width: calc(100% - 80px);
}
.feature li figure {
	margin-bottom: 20px;
	height: 260px;
}
.feature li figure img {
	object-fit: cover;
	height: 100%;
	width: 100%;
}
@media screen and (max-width: 1040px) {
	.feature {
		margin-top: -24vw;
		padding-bottom: 10vw;
		padding-top: 34vw;
	}
	.feature::before {
		border: solid 40vw transparent;
		border-bottom: none;
		border-top: solid 60vw rgba(121, 168, 29, .3);
		left: -40vw;
	}
	.feature .inner {
		padding-bottom: 1vw;
	}
	.feature ul {
		margin: 0 -3vw;
	}
	.feature li {
		margin: 0 1vw 4vw;
		width: calc(33.3333% - 2vw);
	}
	.feature li .point {
		margin-bottom: 2vw;
	}
	.feature li .point p {
		font-size: 3vw;
		padding-top: .8vw;
		height: 6vw;
		width: 6vw;
	}
	.feature li .point p::before,
	.feature li .point p::after {
		border: solid 3vw transparent;
	}
	.feature li .point p::before {
		border-left: solid 3vw #79A81D;
		border-top: solid 3vw #79A81D;
	}
	.feature li .point p::after {
		border-bottom: solid 3vw #88BD20;
		border-right: solid 3vw #88BD20;
	}
	.feature li .point p span {
		font-size: 1.4vw;
	}
	.feature li .point h3 {
		font-size: 1.8vw;
		margin-left: 1vw;
		width: calc(100% - 7vw);
	}
	.feature li figure {
		margin-bottom: 2vw;
		height: 24vw;
	}
}
@media screen and (max-width: 640px) {
	.feature {
		margin-top: -24vw;
		padding-bottom: 16vw;
		padding-top: 35vw;
	}
	.feature::before {
		border: solid 50vw transparent;
		border-bottom: none;
		border-top: solid 70vw rgba(121, 168, 29, .3);
		left: -50vw;
	}
	.feature .inner {
		padding-bottom: 1vw;
	}
	.feature ul {
		margin: 0;
	}
	.feature li {
		margin: 0 0 8vw;
		width: 100%;
	}
	.feature li .point {
		margin-bottom: 4vw;
	}
	.feature li .point p {
		font-size: 6vw;
		padding-top: 1.6vw;
		height: 12vw;
		width: 12vw;
	}
	.feature li .point p::before,
	.feature li .point p::after {
		border: solid 6vw transparent;
	}
	.feature li .point p::before {
		border-left: solid 6vw #79A81D;
		border-top: solid 6vw #79A81D;
	}
	.feature li .point p::after {
		border-bottom: solid 6vw #88BD20;
		border-right: solid 6vw #88BD20;
	}
	.feature li .point p span {
		font-size: 2.8vw;
	}
	.feature li .point h3 {
		font-size: 4vw;
		margin-left: 3vw;
		width: calc(100% - 15vw);
	}
	.feature li figure {
		margin-bottom: 2vw;
		height: 60vw;
	}
}

.product {
	padding-bottom: 100px;
	padding-top: 80px;
	position: relative;
	z-index: 1;
}
.product::before {
	border: solid 250px transparent;
	border-top: none;
	border-bottom: solid 400px rgba(121, 168, 29, .3);
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	right: -250px;
	z-index: -1;
}
.product .inner {
	padding-top: 0;
	max-width: initial;
}
.product ul {
	margin: 0 -15px 40px;
}
.product li {
	margin: 0 15px;
	width: calc(33.3333% - 30px);
}
.product h4 {
	color: #fff;
	display: table;
	font-size: 24px;
	line-height: 1.4;
	margin-bottom: 20px;
	padding: 0 15px 5px;
}
.product h4 small {
	font-size: 21px;
}
.product h4 span {
	display: block;
	font-size: 14px;
}
.product .oak h4 {
	background-color: #A58366;
}
.product .white h4 {
	background-color: #6F6C65;
}
.product .cherry h4 {
	background-color: #B37721;
}
.product dl {
	background-color: #E5E5E5;
	border-top: solid 1px #AEAEAE;
	display: flex;
	flex-wrap: wrap;
}
.product dt,
.product dd {
	border-bottom: solid 1px #AEAEAE;
	padding: 5px 15px;
}
.product dt {
	font-weight: 600;
	width: 120px;
}
.product dd {
	background-color: #F9F9F9;
	width: calc((100% - 120px) / 2);
}
@media screen and (max-width: 1040px) {
	.product {
		padding-bottom: 10vw;
		padding-top: 8vw;
	}
	.product::before {
		border: solid 25vw transparent;
		border-top: none;
		border-bottom: solid 40vw rgba(121, 168, 29, .3);
		right: -25vw;
	}
	.product ul {
		margin: 0 -1.5vw 4vw;
	}
	.product li {
		margin: 0 1.5vw;
		width: calc(33.3333% - 3vw);
	}
	.product h4 {
		font-size: 2.3vw;
		margin-bottom: 2vw;
		padding: 0 1.5vw .5vw;
	}
	.product h4 small {
		font-size: 2vw;
	}
	.product h4 span {
		font-size: 1.4vw;
	}
	.product dt,
	.product dd {
		padding: .5vw 1.5vw;
	}
	.product dt {
		width: 12vw;
	}
	.product dd {
		width: calc((100% - 12vw) / 2);
	}
}
@media screen and (max-width: 640px) {
	.product {
		padding-bottom: 16vw;
		padding-top: 14vw;
	}
	.product::before {
		border: solid 35vw transparent;
		border-top: none;
		border-bottom: solid 50vw rgba(121, 168, 29, .3);
		right: -35vw;
	}
	.product ul {
		margin: 0 0 6vw;
	}
	.product li {
		margin: 0 0 8vw;
		padding: 0 10vw;
		width: 100%;
	}
	.product h4 {
		font-size: 4.6vw;
		margin-bottom: 2vw;
		padding: 0 1.5vw .5vw;
	}
	.product h4 small {
		font-size: 4vw;
	}
	.product h4 span {
		font-size: 3.2vw;
	}
	.product dl + h3 {
		margin-top: 4vw;
	}
	.product dt,
	.product dd {
		padding: 2vw 2vw;
	}
	.product dt {
		width: 26vw;
	}
	.product dd {
		width: calc(100% - 26vw);
	}
}

.howtouse {
	padding-top: 100px;
}
.howtouse table {
	background-color: #F9F9F9;
	margin-bottom: 20px;
	width: 100%;
}
.howtouse table th,
.howtouse table td {
	border: solid 1px #AEAEAE;
	padding: 10px;
}
.howtouse table th,
.howtouse table tr:nth-child(1) td {
	background-color: #E5E5E5;
	text-align: center;
}
.howtouse p {
	font-size: 14px;
	text-align: center;
}
@media screen and (max-width: 1040px) {
	.howtouse {
		padding-top: 8vw;
	}
	.howtouse table {
		margin-bottom: 2vw;
	}
	.howtouse table th,
	.howtouse table td {
		padding: 1vw;
	}
	.howtouse p {
		font-size: 1.3vw;
	}
}
@media screen and (max-width: 640px) {
	.howtouse {
		padding-top: 10vw;
	}
	.howtouse table {
		margin-bottom: 3vw;
	}
	.howtouse table th,
	.howtouse table td {
		font-size: 3.2vw;
		padding: 2vw;
	}
	.howtouse p {
		font-size: 3vw;
	}
}




.size {
	padding-top: 100px;
}
.size table {
	background-color: #F9F9F9;
	margin-bottom: 20px;
	width: 100%;
}
.size table th,
.size table td {
	border: solid 1px #AEAEAE;
	padding: 10px;
}
.size table th,
.size table tr:nth-child(1) td {
	background-color: #E5E5E5;
	text-align: center;
}
.size p {
	font-size: 16px;
	text-align: center;
}
@media screen and (max-width: 1040px) {
	.size {
		padding-top: 8vw;
	}
	.size table {
		margin-bottom: 2vw;
	}
	.size table th,
	.size table td {
		padding: 1vw;
	}
	.size p {
		font-size: 3vw;
	}
}
@media screen and (max-width: 640px) {
	.size {
		padding-top: 10vw;
	}
	.size table {
		margin-bottom: 3vw;
	}
	.size table th,
	.size table td {
		font-size: 3.2vw;
		padding: 2vw;
	}
	.size p {
		font-size: 3.8vw;
	}
}



.cta {
	padding: 80px 0;
}
.cta .cta_btn p {
	background: transparent;
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 20px;
	text-align: center;
}
.cta .cta_btn a {
	background-color: #88BD20;
	border: solid 3px #ffffff;
	border-radius: 50px;
	box-shadow: 5px 5px 10px 2px rgba(0, 0, 0, .3);
	box-sizing: border-box;
	color: #fff;
	display: block;
	font-size: 28px;
	font-weight: 700;
	margin: 0 auto;
	padding: 20px 0;
	text-align: center;
	width: 600px;
}
.cta .cta_btn a:hover {
	background-color: #75A200;
}
@media screen and (max-width: 1040px) {
	.cta {
		padding: 8vw 0;
	}
	.cta .cta_btn p {
		font-size: 2vw;
		margin-bottom: 2vw;
	}
	.cta .cta_btn a {
		border-radius: 5vw;
		font-size: 2.8vw;
		padding: 2vw 0;
		width: 60vw;
	}
}
@media screen and (max-width: 640px) {
	.cta {
		padding: 10vw 0;
	}
	.cta .cta_btn p {
		font-size: 4.2vw;
		margin-bottom: 3vw;
	}
	.cta .cta_btn a {
		border: solid 3px #ffffff;
		border-radius: 10vw;
		font-size: 5.2vw;
		padding: 4vw 0;
		width: 100%;
	}
}

.case {
	padding-bottom: 100px;
	padding-top: 80px;
}
.case .inner {
	margin-bottom: 60px;
	padding-bottom: 40px;
	padding-top: 0;
}
.case .inner li {
	font-size: 21px;
	font-weight: 600;
	margin-bottom: 10px;
	width: 25%;
}
.case .inner p {
	font-size: 18px;
	font-weight: 500;
}
.case .slider {
	margin: 0 -50px;
	padding: 0 50px;
	position: relative;
}
.case .slider img {
	border-radius: 5px;
	object-fit: cover;
	height: 225px;
	width: 100%;
}
.case .slider p {
	text-align: center;
}
.case .swiper-button-prev,
.case .swiper-button-next {
	color: #88BD20;
	background-image: none;
}
@media screen and (max-width: 1040px) {
	.case {
		padding-bottom: 10vw;
		padding-top: 8vw;
	}
	.case .inner {
		margin-bottom: 6vw;
		padding-bottom: 4vw;
	}
	.case .inner li {
		font-size: 1.8vw;
		margin-bottom: 1vw;
	}
	.case .inner p {
		font-size: 1.8vw;
	}
	.case .slider {
		margin: 0 -5vw;
		padding: 0 5vw;
	}
	.case .slider img {
		height: 21vw;
	}
}
@media screen and (max-width: 640px) {
	.case {
		padding-bottom: 16vw;
		padding-top: 14vw;
	}
	.case .inner {
		margin-bottom: 6vw;
		padding-bottom: 4vw;
	}
	.case .inner li {
		font-size: 3.8vw;
		margin-bottom: 2vw;
		width: 50%;
	}
	.case .inner p {
		font-size: 3.6vw;
	}
	.case .slider {
		margin: 0 -5vw;
		padding: 0 5vw;
	}
	.case .slider img {
		height: 32vw;
	}
}

.review {
	padding-bottom: 100px;
	padding-top: 80px;
}
.review p a {
	color: #88BD20;
}
.review p a:hover {
	color: #75A200;
}
.review .tab-area {
	display: grid;
	grid-template-areas:
		"a a b b c c"
		"d d d e e e";
}
.review .tab {
	padding: 12px 30px 12px 10px;
	background-color: #fff;
	position: relative;
	text-align: center;
	transition: ease .3s;
	cursor: pointer;
}
.review .tab:nth-child(1){
	grid-area: a;
	clip-path: polygon(0 0, 95% 0, 100% 100%, 0 100%);
}
.review .tab:nth-child(2){
	margin: 0 -25px;
	grid-area: b;
	clip-path: polygon(0 0, 95% 0, 100% 100%, 5% 100%);
}
.review .tab:nth-child(3){
	grid-area: c;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 5% 100%);
}
.review .tab:nth-child(4){
	margin-right: -40px;
	grid-area: d;
	clip-path: polygon(0 0, 95% 0, 100% 100%, 0 100%);
}
.review .tab:nth-child(5){
	grid-area: e;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 5% 100%);
}
.review .tab:hover {
	background-color: #EDF1E4;
}
.review .tab.active {
	background-color: #88BD20;
	color: #fff;
}
.review .inner {
	display: none;
	padding-bottom: 0;
}
.review .inner.active {
	display: block;
	max-width: initial;
}
.review .block_1 {
	padding-bottom: 60px;
}
.review .block_1 h3 {
	background-color: #88BD20;
	color: #fff;
	font-size: 26px;
	line-height: 1.4;
	margin-bottom: 40px;
	padding: 10px 0;
	text-align: center;
}
.review .block_1 p {
	margin-bottom: 50px;
}
.review .block_1 figure {
	margin: 0 auto;
	text-align: center;
	width: 50%;
}
.review .block_1 figure p {
	margin-bottom: 0;
	margin-top: 10px;
}
.review .block_2 {
	background-color: #FAFAFA;
	margin: 0 -60px;
	padding: 50px 60px 30px;
}
.review .block_2 h3 {
	color: #88BD20;
	font-size: 26px;
	line-height: 1.4;
	margin-bottom: 50px;
	text-align: center;
}
.review .block_2 h4 {
	font-size: 24px;
	line-height: 1.2;
	margin-bottom: 20px;
	padding-bottom: 15px;
	position: relative;
}
.review .block_2 h4::after {
	background-color: #88BD20;
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	height: 4px;
	width: 30px;
}
.review .block_2 p + h4 {
	margin-top: 40px;
}
.review .image_left {
	flex-direction: row-reverse;
	margin-bottom: 60px;
}
.review .image_left figure {
	text-align: center;
	width: 340px;
}
.review .image_left figure img {
	margin-bottom: 10px;
	object-fit: cover;
	height: 230px;
	width: 100%;
}
.review .image_left .text_box {
	margin-left: 30px;
	width: calc(100% - 340px - 30px);
}
.review .image_right {
	margin-bottom: 60px;
}
.review .image_right figure {
	text-align: center;
	width: 260px;
}
.review .image_right figure img {
	margin-bottom: 10px;
	object-fit: cover;
	height: 360px;
	width: 100%;
}
.review .image_right .text_box {
	margin-right: 30px;
	width: calc(100% - 260px - 30px);
}
@media screen and (max-width: 1040px) {
	.review {
		padding-bottom: 10vw;
		padding-top: 8vw;
	}
	.review .tab {
		padding: 1.2vw 4vw 1.2vw 1vw;
	}
	.review .tab:nth-child(1){
		clip-path: polygon(0 0, 95% 0, 100% 100%, 0 100%);
	}
	.review .tab:nth-child(2){
		margin: 0 -2.3vw;
		clip-path: polygon(0 0, 95% 0, 100% 100%, 5% 100%);
	}
	.review .tab:nth-child(3){
		clip-path: polygon(0 0, 100% 0, 100% 100%, 5% 100%);
	}
	.review .tab:nth-child(4){
		margin-right: -3.7vw;
		clip-path: polygon(0 0, 95% 0, 100% 100%, 0 100%);
	}
	.review .tab:nth-child(5){
		clip-path: polygon(0 0, 100% 0, 100% 100%, 5% 100%);
	}
	.review .block_1 {
		padding-bottom: 6vw;
	}
	.review .block_1 h3 {
		font-size: 2.5vw;
		margin-bottom: 4vw;
		padding: 1vw 0;
	}
	.review .block_1 p {
		margin-bottom: 5vw;
	}
	.review .block_1 figure p {
		margin-top: 1vw;
	}
	.review .block_2 {
		margin: 0 -5vw;
		padding: 5vw 5vw 3vw;
	}
	.review .block_2 h3 {
		font-size: 2.5vw;
		margin-bottom: 5vw;
	}
	.review .block_2 h4 {
		font-size: 2.3vw;
		margin-bottom: 2vw;
		padding-bottom: 1.5vw;
	}
	.review .block_2 h4::after {
		height: 3px;
		width: 3vw;
	}
	.review .block_2 p + h4 {
		margin-top: 4vw;
	}
	.review .image_left {
		margin-bottom: 6vw;
	}
	.review .image_left figure {
		width: 30vw;
	}
	.review .image_left figure img {
		margin-bottom: 1vw;
		height: 20vw;
	}
	.review .image_left .text_box {
		margin-left: 3vw;
		width: calc(100% - 30vw - 3vw);
	}
	.review .image_right {
		margin-bottom: 6vw;
	}
	.review .image_right figure {
		width: 25vw;
	}
	.review .image_right figure img {
		margin-bottom: 1vw;
		height: 36vw;
	}
	.review .image_right .text_box {
		margin-right: 3vw;
		width: calc(100% - 25vw - 3vw);
	}
}
@media screen and (max-width: 640px) {
	.review {
		padding-bottom: 16vw;
		padding-top: 14vw;
	}
	.review .tab {
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 3vw 5vw 3vw 3vw;
		font-size: 3vw;
		line-height: 1.2;
	}
	.review .tab:nth-child(1){
	clip-path: polygon(0 0, 95% 0, 100% 100%, 0 100%);
	}
	.review .tab:nth-child(2){
		margin: 0 -2.5vw;
		clip-path: polygon(0 0, 95% 0, 100% 100%, 5% 100%);
	}
	.review .tab:nth-child(3){
		clip-path: polygon(0 0, 100% 0, 100% 100%, 5% 100%);
	}
	.review .tab:nth-child(4){
		margin-right: -4vw;
		clip-path: polygon(0 0, 95% 0, 100% 100%, 0 100%);
	}
	.review .tab:nth-child(5){
		clip-path: polygon(0 0, 100% 0, 100% 100%, 5% 100%);
	}
	.review .block_1 {
		padding-bottom: 10vw;
	}
	.review .block_1 h3 {
		font-size: 4.6vw;
		margin-bottom: 6vw;
		padding: 2vw 0;
	}
	.review .block_1 p {
		margin-bottom: 8vw;
	}
	.review .block_1 figure {
		width: 100%;
	}
	.review .block_1 figure img {
		max-width: 80%;
	}
	.review .block_1 figure p {
		margin-top: 2vw;
	}
	.review .block_2 {
		margin: 0 -4vw;
		padding: 5vw 4vw 3vw;
	}
	.review .block_2 h3 {
		font-size: 4.6vw;
		margin-bottom: 8vw;
	}
	.review .block_2 h4 {
		font-size: 4vw;
		margin-bottom: 4vw;
		padding-bottom: 3vw;
	}
	.review .block_2 h4::after {
		height: 3px;
		width: 6vw;
	}
	.review .block_2 p + h4 {
		margin-top: 8vw;
	}
	.review .image_left {
		flex-direction: column-reverse;
		margin-bottom: 12vw;
	}
	.review .image_left figure {
		margin-bottom: 8vw;
		width: 100%;
	}
	.review .image_left figure img {
		margin-bottom: 1vw;
		height: 50vw;
	}
	.review .image_left .text_box {
		margin-left: 0;
		width: 100%;
	}
	.review .image_right {
		flex-direction: column-reverse;
		margin-bottom: 12vw;
	}
	.review .image_right figure {
		margin-bottom: 8vw;
		width: 100%;
	}
	.review .image_right figure img {
		margin-bottom: 1vw;
		height: 70vw;
	}
	.review .image_right .text_box {
		margin-right: 3vw;
		width: 100%;
	}
}

.step {
	padding-bottom: 80px;
	padding-top: 80px;
}
.step li {
	align-items: center;
	background-color: #fff;
	border: solid 1px #88BD20;
	margin-bottom: 30px;
	height: 140px;
	padding: 0 60px;
	position: relative;
}
.step li::before,
.step li::after {
	border: solid 25px transparent;
	content: '';
	display: block;
	position: absolute;
}
.step li::before {
	border-left: solid 25px #88BD20;
	border-top: solid 25px #88BD20;
	left: 0;
	top: 0;
}
.step li::after {
	border-bottom: solid 25px #88BD20;
	border-right: solid 25px #88BD20;
	bottom: 0;
	right: 0;
}
.step li .title {
	align-items: center;
	color: #79A81D;
	width: 300px;
}
.step li .title p {
	font-family: 'Arial', 'Helvetica';
	font-weight: 700;
	font-size: 86px;
	line-height: 1.0;
	text-align: center;
}
.step li .title p span {
	display: block;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 20px;
}
.step li .title h3 {
	font-size: 21px;
	margin-left: 20px;
}
@media screen and (max-width: 1040px) {
	.step {
		padding-bottom: 8vw;
		padding-top: 8vw;
	}
	.step li {
		margin-bottom: 3vw;
		height: 14vw;
		padding: 0 5vw;
	}
	.step li::before,
	.step li::after {
		border: solid 2vw transparent;
	}
	.step li::before {
		border-left: solid 2vw #88BD20;
		border-top: solid 2vw #88BD20;
	}
	.step li::after {
		border-bottom: solid 2vw #88BD20;
		border-right: solid 2vw #88BD20;
	}
	.step li .title {
		width: 30vw;
	}
	.step li .title p {
		font-size: 8.4vw;
	}
	.step li .title p span {
		font-size: 2vw;
	}
	.step li .title h3 {
		font-size: 2vw;
		margin-left: 2vw;
	}
}
@media screen and (max-width: 640px) {
	.step {
		padding-bottom: 14vw;
		padding-top: 13vw;
	}
	.step li {
		margin-bottom: 5vw;
		padding: 6vw 4vw;
		height: auto;
	}
	.step li::before,
	.step li::after {
		border: solid 3vw transparent;
	}
	.step li::before {
		border-left: solid 3vw #88BD20;
		border-top: solid 3vw #88BD20;
	}
	.step li::after {
		border-bottom: solid 3vw #88BD20;
		border-right: solid 3vw #88BD20;
	}
	.step li .title {
		margin-bottom: 1vw;
		width: 100%;
	}
	.step li .title p {
		font-size: 11vw;
	}
	.step li .title p span {
		font-size: 3.4vw;
	}
	.step li .title h3 {
		font-size: 4vw;
		line-height: 1.4;
		margin-left: 2vw;
	}
}

.faq {
	padding-bottom: 100px;
	padding-top: 80px;
}
.faq .inner {
	margin: 0 60px;
}
.faq dl {
	border-bottom: solid 1px #AEAEAE;
	cursor: pointer;
	padding-bottom: 10px;
	padding-top: 20px;
}
.faq dt {
	color: #88BD20;
	font-weight: 600;
	padding-bottom: 20px;
	padding-left: 50px;
	padding-top: 7px;
	position: relative;
}
.faq dt::before {
	background-color: #88BD20;
	box-sizing: border-box;
	color: #fff;
	content: 'Q';
	display: block;
	font-family: 'Didact Gothic', sans-serif;
	font-size: 21px;
	padding-top: 3px;
	position: absolute;
	left: 0;
	top: 0;
	text-align: center;
	height: 40px;
	width: 40px;
}
.faq dt::after {
	background: url("img/icon-arrow.png") no-repeat center / 100%;
	content: '';
	display: block;
	position: absolute;
	right: 0;
	top: 20px;
	transform: rotate(180deg);
	height: 12px;
	width: 12px;
}
.faq dt.open::after {
	transform: rotate(0);
}
.faq dd {
	display: none;
	padding-bottom: 20px;
}
@media screen and (max-width: 1040px) {
	.faq {
		padding-bottom: 10vw;
		padding-top: 8vw;
	}
	.faq .inner {
		margin: 0;
	}
	.faq dl {
		padding-bottom: 1vw;
		padding-top: 2vw;
	}
	.faq dt {
		padding-bottom: 2vw;
		padding-left: 5vw;
		padding-top: .7vw;
	}
	.faq dt::before {
		font-size: 2vw;
		padding-top: .3vw;
		height: 4vw;
		width: 4vw;
	}
	.faq dt::after {
		top: 1.8vw;
		height: 1.2vw;
		width: 1.2vw;
	}
	.faq dd {
		padding-bottom: 2vw;
	}
}
@media screen and (max-width: 640px) {
	.faq {
		padding-bottom: 16vw;
		padding-top: 14vw;
	}
	.faq dl {
		padding-bottom: 2vw;
		padding-top: 4vw;
	}
	.faq dt {
		padding-bottom: 2vw;
		padding-left: 10vw;
		padding-right: 4vw;
		padding-top: .7vw;
	}
	.faq dt::before {
		font-size: 4vw;
		padding-top: .6vw;
		height: 8vw;
		width: 8vw;
	}
	.faq dt::after {
		top: 3vw;
		height: 2.4vw;
		width: 2.4vw;
	}
	.faq dd {
		padding-bottom: 4vw;
	}
}

.contact {
	padding-bottom: 100px;
	padding-top: 80px;
}
form .message {
	text-align: center;
	margin-bottom: 30px;
}
form dl {
	margin: 0 60px;
	margin-bottom: 30px;
}
form dt {
	font-weight: 600;
	float: left;
	line-height: 50px;
	width: 200px;
}
form dt .must {
	background-color: #FF5400;
	border-radius: 3px;
	color: #fff;
	font-size: 12px;
	margin-left: 10px;
	padding: 0 3px 2px;
}
form dd {
	margin-bottom: 30px;
	margin-left: 200px;
}
form dd .number + .number {
	margin-top: 10px;
}
.contact a.download {
	background-color: #88BD20;
	color: #fff;
	display: table;
	font-size: 18px;
	font-weight: 700;
	line-height: 50px;
	padding: 0 20px;
}
.contact a.download:hover {
	background-color: #75A200;
}
input[type="text"],
input[type="email"],
input[type="tel"] {
	background-color: #F4F4F4;
	border: none;
	box-sizing: border-box;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
	padding: 10px;
	height: 50px;
	width: 100%;
}
input[type="text"].address {
	width: 300px;
}
input[type="number"] {
	background-color: #F4F4F4;
	border: none;
	box-sizing: border-box;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
	margin: 0 10px;
	padding: 10px;
	height: 50px;
	width: 100px;
}
select {
	background-color: #F4F4F4;
	border: none;
	box-sizing: border-box;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
	padding: 10px;
	height: 50px;
}
option {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
}
textarea {
	background-color: #F4F4F4;
	border: none;
	box-sizing: border-box;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
	padding: 10px;
	height: 150px;
	width: 100%;
}
input[type="submit"] {
	background-color: #88BD20;
	border: none;
	color: #fff;
	cursor: pointer;
	display: block;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 18px;
	font-weight: 600;
	margin: 0 auto;
	height: 50px;
	width: 200px;
}
input[type="submit"]:hover {
	background-color: #75A200;
}
.checkbox-905 {
	align-items: center;
	display: flex;
	height: 50px;
}
.wpcf7-list-item {
	margin-left: 0;
	margin-right: 20px;
}
.wpcf7-not-valid-tip {
	font-size: 14px;
	position: absolute;
	top: 34px;
	word-break: keep-all;
}
@media screen and (max-width: 1040px) {
	.contact {
		padding-bottom: 10vw;
		padding-top: 8vw;
	}
	form .message {
		margin-bottom: 3vw;
	}
	form dl {
		margin: 0;
		margin-bottom: 3vw;
	}
	form dt {
		line-height: 5vw;
		width: 20vw;
	}
	form dt .must {
		font-size: 1.2vw;
		margin-left: 1vw;
		padding: 0 .3vw .2vw;
	}
	form dd {
		margin-bottom: 3vw;
		margin-left: 20vw;
	}
	form dd .number + .number {
		margin-top: 1vw;
	}
	input[type="text"],
	input[type="email"],
	input[type="tel"] {
		font-size: 1.5vw;
		padding: 1vw;
		height: 5vw;
	}
	input[type="text"].address {
		width: 30vw;
	}
	input[type="number"] {
		font-size: 1.5vw;
		margin: 0 1vw;
		padding: 1vw;
		height: 5vw;
		width: 10vw;
	}
	select {
		font-size: 1.5vw;
		padding: 1vw;
		height: 5vw;
	}
	option {
		font-size: 1.5vw;
	}
	textarea {
		font-size: 1.5vw;
		padding: 1vw;
		height: 15vw;
	}
	input[type="submit"] {
		font-size: 1.7vw;
		height: 5vw;
		width: 20vw;
	}
	.wpcf7-not-valid-tip {
		font-size: 1.4vw;
		top: 3.4vw;
	}
}
@media screen and (max-width: 640px) {
	.contact {
		padding-bottom: 10vw;
		padding-top: 8vw;
	}
	form .message {
		margin-bottom: 6vw;
	}
	form dl {
		margin: 0;
		margin-bottom: 3vw;
	}
	form dt {
		float: none;
		line-height: 1.6;
		margin-bottom: 2vw;
		width: 100%;
	}
	form dt .must {
		font-size: 3vw;
		margin-left: 3vw;
		padding: 0 1vw .4vw;
	}
	form dd {
		margin-bottom: 6vw;
		margin-left: 0;
	}
	form dd .number + .number {
		margin-top: 5vw;
	}
	input[type="text"],
	input[type="email"],
	input[type="tel"] {
		font-size: 3.6vw;
		padding: 1vw;
		height: 10vw;
	}
	input[type="text"].address {
		width: 50vw;
	}
	input[type="number"] {
		font-size: 3.6vw;
		margin: 0 2vw;
		padding: 1vw;
		height: 10vw;
		width: 20vw;
	}
	select {
		font-size: 3.6vw;
		padding: 1vw;
		height: 10vw;
	}
	option {
		font-size: 3.6vw;
	}
	textarea {
		font-size: 3.6vw;
		padding: 1vw;
		height: 30vw;
	}
	input[type="submit"] {
		font-size: 4vw;
		height: 10vw;
		width: 40vw;
	}
	.wpcf7-not-valid-tip {
		font-size: 3vw;
		top: 8vw;
	}
	.checkbox-905 .wpcf7-not-valid-tip {
		top: 11vw;
	}
}

/** -------------------
	footer
------------------- **/
footer {
	padding: 40px 0 100px;
}
footer .inner {
	position: relative;
}
footer .logo {
	line-height: 1.0;
	position: absolute;
	left: -50px;
	top: 0;
	width: 140px;
}
footer nav {
	display: table;
	margin-left: auto;
	padding-top: 5px;
}
footer nav li {
	padding-left: 14px;
}
footer nav li a:hover {
	text-decoration: underline;
}
@media screen and (max-width: 1040px) {
	footer {
		padding: 4vw 0 10vw;
	}
	footer .logo {
		left: 4vw;
		width: 14vw;
	}
	footer nav {
		padding-top: .5vw;
	}
	footer nav li {
		padding-left: 3vw;
	}
}
@media screen and (max-width: 640px) {
	footer {
		padding: 8vw 0;
	}
	footer .logo {
		margin: 0 auto;
		position: relative;
		left: auto;
		top: auto;
		width: 30vw;
	}
	footer nav {
		display: none;
	}
}

/** -------------------
	thanks page
------------------- **/

@media screen and (min-width: 769px) {

	.page-thanks {
		background: #FBFBFB;
	}
  .contact_thanks {
    padding: 155px 0;
		min-height: calc(100vh - 60px - 170px);
  }
  .contact_thanks h2 {
    font-size: 31px;
    margin-bottom: 60px;
    text-align: center;
    letter-spacing: 0.05em;
  }
  .contact_thanks p {
    font-size: 18px;
    margin-bottom: 100px;
    text-align: center;
    line-height: 1.8;
    letter-spacing: 0.05em;
  }
  .contact_thanks a {
    background-color: #88bd20;
    color: #fff;
    display: block;
    width: 394px;
    font-size: 20px;
    margin: 0 auto;
    padding: 10px 30px;
    border-radius: 5px;
    font-weight: bold;
  }
  .contact_thanks a:hover {
    background-color: #75a200;
  }
  .contact_thanks strong {
    font-weight: bold;
  }
  .sp_on {
    display: none;
  }

  .contact_thanks .wrap {
    margin-bottom: 80px;
    padding: 36px 0;
    background: #edf1e4;
  }
}
@media screen and (max-width: 768px) {
	.header-page-thanks {
		margin-top: 7vw;
	}

	.page-thanks {
		background: #FBFBFB;
	}

  .contact_thanks {
    padding: 19vw 0;
		min-height: calc(100vh - 12vw - 38vw);
  }
  .contact_thanks h2 {
    text-align: center;
    font-size: 5.333vw;
    line-height: 1.4;
    margin-bottom: 10.667vw;
    letter-spacing: 0.05em;
  }
  .contact_thanks p {
    font-size: 4vw;
    margin-bottom: 13.333vw;
    line-height: 1.8;
    letter-spacing: 0.05em;
  }
  .contact_thanks a {
    display: block;
    width: 70%;
    background-color: #88bd20;
    color: #fff;
    font-size: 4vw;
    margin: 0 auto;
    padding: 2vw 6vw;
    box-sizing: border-box;
    border-radius: 5px;
    text-align: center;
  }
  .contact_thanks strong {
    font-weight: bold;
  }
  .contact_thanks .wrap {
    padding: 6.4vw 4vw;
    background: #edf1e4;
  }
}
