@charset "utf-8";
/*--------------------------------------------------------------
 * Common
--------------------------------------------------------------*/
html,
body {
	color: #333;
	font-family: "zen-maru-gothic", "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, 游ゴシック体, メイリオ, sans-serif;
	font-weight: 400; /* 400 700 */
	font-style: normal;
	line-height: 1.6;
}
body.is-menu-open {
	overflow: hidden;
}
h1, h2, h3, h4, h5, h6 {
	font-size: 3.2rem;
	margin: 0;
	padding: 0;
}
h1,h2,h3,h4,h5,h6,strong,th {
	font-weight: 600;
}
.mn {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.tsuku {
	font-family: "fot-tsukuardgothic-std", sans-serif;
	font-weight: 700;
	font-style: normal;
}
.noto {
	font-family: "noto-sans-cjk-jp", sans-serif;
	font-weight: 400; /* 400 700 */
	font-style: normal;
}
.logo {
	font-family: "adobe-hebrew", sans-serif;
	font-weight: 600;
	font-style: normal;
}
a {
	color: #000;
	text-decoration: none;
	transition: color 0.3s ease;
}
a:visited {}
a:hover,
a:active {
	color: #009ab8;
	text-decoration: none;
}
::selection {
	background: rgba(0, 144, 202, 0.5); /* Safari */
}
::-moz-selection {
	background: rgba(0, 144, 202, 0.5); /* Firefox */
}
/* 1000 */
@media (max-width: 1000px) {
	h1, h2, h3, h4, h5, h6 {
		font-size: max(3.2vw, 1.8rem);
	}
}
/* 834 */
@media (max-width: 834px) {
	h1, h2, h3, h4, h5, h6 {
		font-size: 2.8rem;
	}
}
/* 580 */
@media (max-width: 580px) {
	body {
		font-size: 1.4rem;
	}
	h1, h2, h3, h4, h5, h6 {
		font-size: 2.2rem;
	}
}

/*--------------------------------------------------------------*/
/* layout */
/*--------------------------------------------------------------*/
body.sub {
	padding-top: 100px;
}
.flex {
	display: flex;
	flex-wrap: wrap;
}
.flex.reverse {
	flex-direction: row-reverse;
}
.center {
	text-align: center;
}
._right {
	text-align: right;
}
/* pc tb sp view */
.sp_view {
	display: none;
}
.tb_view {
	display: none;
}
/* 1000 */
@media (max-width: 1000px) {
	body.sub {
		padding-top: 70px;
	}
}
/* 834 */
@media (max-width: 834px) {
	.pc_view {
		display: none;
	}
	.tb_view {
		display: block;
	}
	.tb_none {
		display: none;
	}
}
/* 580 */
@media (max-width: 580px) {
	body {
		font-size: 14px;
	}
	body.sub {
		padding-top: 60px;
	}
	.sp_view {
		display: block;
	}
	.sp_view.inline {
		display: inline-block;
	}
	.sp_none {
		display: none!important;
	}
}
/* base */
.content {
	width: auto;
	max-width: 1240px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
}

/*--------------------------------------------------------------*/
/* .fixed */
/*--------------------------------------------------------------*/
.fixed {
	position: fixed!important;
	top: 0px;
	z-index: 99;
	animation: moveimg 1s 1;
	box-shadow: 0px 3px 3px rgba(0,0,0,0.3);
	border-bottom: none!important;
}
@keyframes moveimg {
	0% { top: -350px; }
	100% { top: 0px; }
}

/*--------------------------------------------------------------*/
/* f4 */
/*--------------------------------------------------------------*/
.f4 {
	font-size: 4.0rem;
}
/* 1000 */
@media (max-width: 1000px) {
	.f4 {
		font-size: max(4vw, 2.2rem);
	}
}

/*--------------------------------------------------------------*/
/* btn */
/*--------------------------------------------------------------*/
.btn {
	font-size: 2.0rem;
	font-weight: bold;
	border: none;
	color: #fff;
	background: #ff9900;
	margin: 0 auto;
	display: block;
	border-radius: 10px;
	max-width: 300px;
	min-width: 270px;
	width: 70%;
	height: 40px;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	transition: all .3s ease;
}
.btn._big {
	font-size: 2.4rem;
	max-width: 400px;
	height: 50px;
}
.btn:hover,
.btn._big:hover {
	background: #135A1E;
	color: #fff;
}
/* 1000 */
@media (max-width: 1000px) {
	.btn._big {
		font-size: max(2.4vw, 2.0rem);
	}
}

/*--------------------------------------------------------------*/
/* ul.btn3 */
/*--------------------------------------------------------------*/
/* normal */
ul.btn3 {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px 2%;
}
ul.btn3 li {
	width: 280px;
}
ul.btn3 a {
	font-size: 1.8rem;
	font-weight: bold;
	color: #fff;
	background: #ff9900;
	margin: 0 auto;
	border-radius: 10px;
	width: 280px;
	height: 50px;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: .3s ease;
}
/* _big */
ul.btn3._big a {
	font-size: 2.2rem;
	max-width: 360px;
	min-width: 310px;
	width: 100%;
	height: 60px;
}
ul.btn3 a:hover:hover {
	background: #135A1E;
	color: #fff;
}
/* tel */
ul.btn3 a.tel {
	font-size: 2.4rem;
}
ul.btn3._big a.tel {
	font-size: 2.8rem;
}
ul.btn3 a.tel img {
	width: 27px;
	margin-top: 2px;
	margin-right: 7px;
}
ul.btn3._big a.tel img {
	width: 33px;
}
ul.btn3 a.tel:hover {
	background: #916421;
}
/* mail */
ul.btn3 a.mail {
	background: #43cace;
}
ul.btn3 a.mail i {
	font-size: 2.4rem;
	margin-top: 2px;
	margin-right: 7px;
}
ul.btn3._big a.mail i {
	font-size: 2.8rem;
}
ul.btn3 a.mail:hover {
	background: #429395;
}
/* line */
ul.btn3 a.line {
	background: #19b62f;
}
ul.btn3 a.line i {
	font-size: 2.8rem;
	color: #06c755;
	margin-top: 2px;
	margin-right: 7px;
	position: relative;
}
ul.btn3._big a.line i {
	font-size: 3.2rem;
}
ul.btn3 a.line i::before {
	position: relative;
	z-index: 3;
}
ul.btn3 a.line i::after {
	content: '';
	display: block;
	aspect-ratio: 1 / 1;
	width: 85%;
	background: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index: 1;
}
ul.btn3 a.line:hover {
	background: #428b4d;
}
/* 1000 */
@media (max-width: 1000px) {
	ul.btn3 a {
		font-size: max(1.8vw, 1.6rem);
	}
}
/* 580 */
@media (max-width: 580px) {
	ul.btn3._big a {
		font-size: 1.9rem;
		width: 90%;
	}
}

/*--------------------------------------------------------------*/
/* a.more */
/*--------------------------------------------------------------*/
a.more {
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 444px;
	width: 80%;
	height: 75px;
	margin: 0 auto;
	border: 1px solid #707070;
	letter-spacing: 1.5px;
	position: relative;
	transition: all .3s ease;
}
a.more:before,
a.more:after {
	content: '';
	height: 1px;
	background: #707070;
	position: absolute;
	top: 50%;
	right: 22px;
	transition: all .3s ease;
}
a.more:before {
	width: 30px;
	transform: translateY(-50%);
}
a.more:after {
	width: 8px;
	transform: translateY(-50%) rotate(45deg);
	transform-origin: right center;
}
a.more:hover {
	background: #000;
	color: #fff;
}
a.more:hover:before {
	background: #fff;
	transform: translateY(-50%) translateX(8px);
}
a.more:hover:after {
	background: #fff;
	transform: translateY(-50%) translateX(8px) rotate(45deg);
}

/*--------------------------------------------------------------*/
/* a.more.black */
/*--------------------------------------------------------------*/
a.more.black {
	border: 1px solid #000;
	background: #000;
	color: #fff;
	transition: color .3s ease, background .3s ease;
}
a.more.black:before,
a.more.black:after {
	background: #fff;
}
a.more.black:hover {
	background: #555;
	border: 1px solid #555;
}

/*--------------------------------------------------------------*/
/* .pd_std */
/*--------------------------------------------------------------*/
.pd_std {
	padding: 80px 0;
}
.pd_std.tzero {
	padding: 0 0 80px 0;
}
.pd_std.bzero {
	padding: 80px 0 0 0;
}
/* 834 */
@media (max-width: 834px) {
	.pd_std {
		padding: max(9.6vw, 60px) 0 max(9.6vw, 60px) 0;
	}
	.pd_std.tzero {
		padding: 0 0 max(9.6vw, 60px) 0;
	}
	.pd_std.bzero {
		padding: max(9.6vw, 60px) 0 0 0;
	}
}

/*--------------------------------------------------------------*/
/* Form関連 */
/*--------------------------------------------------------------*/
input, textarea, select, button {
	font-family: inherit;
	font-size: inherit;
	font-weight: normal;
}
input, select, button {
	vertical-align: middle;
}
textarea::placeholder,
input::placeholder {
	color: #ccc;
}
input:-ms-input-placeholder {
	color: #ccc;
}
input::-ms-input-placeholder {
	color: #ccc;
}
input[type=text],
input[type=password],
input[type=email],
input[type=tel],
input[type=submit],
input[type=button],
input[type=number],
button,
select,
textarea {
	font-size: 2.4rem;
	border: 1px solid #64696d;
	margin: 0;
	padding: 6px 10px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 100%;
}
select {
	font-size: 2.2rem;
}
textarea {
	width: 100%;
	height: 240px;
}
input[type=text]:focus,
input[type=password]:focus,
input[type=email]:focus,
input[type=tel]:focus,
select:focus,
textarea:focus {
	outline: none;
	background-color: #FFFFDF;
}
input[type=submit],
input[type=button],
button {
	outline: none;
	cursor: pointer;
	background-color: #F4F4F4;
}
input[type=submit]:hover,
input[type=button]:hover,
button:hover {
	background-color: #fff;
}
input[type=submit]:active,
input[type=button]:active,
button:active {
	background-color: #FFFFDF;
}
select {
	background: url(../images/arrow.png) no-repeat #fff;
	background-position: right 10px center;
	background-size: 10%;
	padding-right: 40px;
}
/* checkbox */
input[type=checkbox] {
	width: 0;
}
input[type=checkbox] + .checkbox-text {
	position: relative;
	vertical-align: middle;
	cursor: pointer;
}
input[type=checkbox] + .checkbox-text:before {
	content: "\f0c8";
	font-family: "Font Awesome 6 Free";
	color: #ccc;
	font-size: 22px;
	margin-right: 4px;
	vertical-align: middle;
}
input[type=checkbox]:checked + .checkbox-text:before {
	content: "\f14a";
	color: #333;
}
/* radio */
input[type=radio] {
	display: none;
}
input[type=radio] + .radio-text:before {
	content: "\f111";
	font-family: "Font Awesome 6 Free";
	color: #ccc;
	font-size: 1.6rem;
	margin-right: 6px;
}
input[type=radio]:checked + .radio-text:before {
	content: "\f192";
	color: #333;
}
/* 1000 */
@media (max-width: 1000px) {
	input[type=text],
	input[type=password],
	input[type=email],
	input[type=tel],
	input[type=submit],
	input[type=button],
	input[type=number],
	button,
	select,
	textarea {
		font-size: max(2.4vw, 1.7rem);
	}
	select {
		font-size: max(2.2vw, 1.6rem);
	}
}

/*--------------------------------------------------------------*/
/* body */
/*--------------------------------------------------------------*/
body {
	padding-top: 80px;
	transition: padding .3s ease;
}
/* 900 */
@media (max-width: 900px) {
	body {
		padding-top: 70px;
	}
}
/* 580 */
@media (max-width: 590px) {
	body {
		padding-top: 60px;
	}
}

/*--------------------------------------------------------------*/
/* #header */
/*--------------------------------------------------------------*/
#header {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
}
#header .pc_head {
	padding: 0 0 0 7vw;
	background: #F5F9F8;
	transition: .3s ease;
	position: relative;
}
#header .pc_head h1 {
	line-height: 1;
}
#header .pc_head .flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}
/* flex -> logo_etc */
#header .pc_head .flex .logo_etc {
	display: flex;
	align-items: center;
	gap: 0 3vw;
}
#header .pc_head .flex .logo_etc .logo {
	height: 80px;
	display: flex;
	align-items: center;
	transition: .3s ease;
}
#header.fixed .pc_head .flex .logo_etc .logo {
	height: 70px;
}
#header .pc_head .flex .logo_etc ul {
	display: flex;
	gap: 0 2vw;
}
#header .pc_head .flex .logo_etc ul li a {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 80px;
	padding: 0 1vw;
	font-size: 1.8rem;
	transition: height .3s ease;
}
#header.fixed .pc_head .flex .logo_etc ul li a {
	height: 70px;
}
/* flex -> contact */
#header .pc_head .flex .contact {
	display: flex;
}
#header .pc_head .flex .contact a:hover {
	opacity: 0.9;
}
/* flex -> contact -> div.mail */
#header .pc_head .flex .contact div.mail a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 230px;
	height: 80px;
	font-size: 1.8rem;
	color: #fff;
	background: #FFA620;
	transition: .3s ease;
	backface-visibility: hidden;
}
#header.fixed .pc_head .flex .contact div.mail a {
	height: 70px;
}
#header .pc_head .flex .contact div.mail a i {
	font-size: 2.6rem;
	fill: #fff;
	margin-bottom: -1px;
	margin-right: 9px;
}
/* flex -> contact -> div.tel */
#header .pc_head .flex .contact div.tel a {
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 230px;
	height: 80px;
	color: #135A1E;
	transition: .3s ease;
	backface-visibility: hidden;
}
#header.fixed .pc_head .flex .contact div.tel a {
	height: 70px;
}
#header .pc_head .flex .contact div.tel a i {
	font-size: 2.6rem;
	fill: #fff;
	margin-bottom: -1px;
	margin-right: 9px;
}
#header .pc_head .flex .contact div.tel a div.text span.tel {
	display: block;
	font-size: 2.3rem;
	line-height: 1;
	margin-bottom: 3px;
	letter-spacing: 2px;
}
#header .pc_head .flex .contact div.tel a div.text span.time {
	display: block;
	font-size: 1.2rem;
	line-height: 1.1;
}
/* 1440 */
@media (max-width: 1440px) {
	#header .pc_head {
		padding: 0 0 0 20px;
	}
	#header .pc_head nav {
		padding-right: 10px;
	}
}
/* 1150 */
@media (max-width: 1050px) {
	#header .pc_head nav ul.gnav li {
		padding: 0 8px;
	}
}
/* 900 */
@media (max-width: 900px) {
	/* flex -> logo_etc */
	#header .pc_head .flex .logo_etc ul li a {
		height: 70px;
		font-size: 1.7rem;
	}
	/* flex -> contact -> div.mail */
	#header .pc_head .flex .contact div.mail a {
		height: 70px;
		font-size: 1.7rem;
	}
	/* flex -> contact -> div.tel */
	#header .pc_head .flex .contact div.tel a {
		height: 70px;
	}
}
/* 900 */
@media (max-width: 900px) {
	#header .pc_head nav {
		display: none;
	}
	#header .pc_head .flex .contact {
		display: none;
	}
}
/* 580 */
@media (max-width: 580px) {
	#header .pc_head .flex .logo_etc .logo {
		padding: 5px 0;
		height: 60px;
	}
	#header .pc_head .flex .logo_etc .logo img {
		height: auto;
	}
}

/*--------------------------------------------------------------*/
/* header.type01 */
/*--------------------------------------------------------------*/
header.type01 {
	background: #135A1E;
	color: #fff;
	text-align: center;
	padding: 20px 0;
	margin-bottom: 60px;
}
/* 580 */
@media (max-width: 580px) {
	header.type01 {
		margin-bottom: 40px;
	}
}

/*--------------------------------------------------------------*/
/* header#page_head */
/*--------------------------------------------------------------*/
header#page_head .content {
	height: 400px;
	position: relative;
}
header#page_head .content .wrap {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
header#page_head h1 {
	font-size: 40px;
	font-weight: 600;
	line-height: 1;
	text-align: center;
	color: #fff;
	letter-spacing: 5px;
	text-indent: 5px;
}
header#page_head span.eng {
	font-size: 100px;
	line-height: 1;
	position: absolute;
	top: 8%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	color: rgba(255,255,255,0.18);
	z-index: -1;
}
/* 580 */
@media (max-width: 580px) {
	header#page_head .content {
		height: 300px;
	}
	header#page_head h1 {
		font-size: 30px;
	}
	header#page_head span.eng {
		font-size: 90px;
	}
}

/*--------------------------------------------------------------*/
/* header#parrent */
/*--------------------------------------------------------------*/
header#parrent {
	background: url(../images/parrent_bk_l3.jpg) no-repeat;
	background-size: 100%;
	background-position: center bottom;
	height: 610px;
	display: flex;
	justify-content: center;
	overflow: hidden;
}
header#parrent .flex {
	width: 100%;
	position: relative;
	display: flex;
	align-items: center;
}
/* text */
header#parrent div.text {
	width: 50%;
	color: #135A1E;
	position: relative;
	z-index: 3;
}
header#parrent div.text h1 {
	font-size: 4.0rem;
	margin-bottom: 40px;
	white-space: nowrap;
}
header#parrent div.text h1 strong {
	font-size: 120%;
}
header#parrent div.text .okage {
	max-width: 465px;
	margin-bottom: 40px;
	position: relative;
}
header#parrent div.text .okage::before {
	content: '';
	display: block;
	aspect-ratio: 55 / 135;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: url(../images/gekkei_left.png) no-repeat;
	background-size: contain;
}
header#parrent div.text .okage::after {
	content: '';
	display: block;
	aspect-ratio: 55 / 135;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	background: url(../images/gekkei_right.png) no-repeat;
	background-size: contain;
}
header#parrent div.text .okage p {
	font-size: 3.2rem;
	font-weight: bold;
	color: #135A1E;
	text-align: center;
	line-height: 1.3;
}
header#parrent div.text .okage p strong {
	font-size: 180%;
}
header#parrent div.text .wrap {
	max-width: 465px;
}
header#parrent div.text .wrap a.btn {
	padding-top: 20px;
	padding-bottom: 20px;
	height: initial;
}
header#parrent div.text .wrap a.btn i {
	margin-right: 10px;
}
/* image */
header#parrent div.image {
	width: 50%;
}
header#parrent div.image .three {
	max-width: 540px;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	gap: 0 5%;
	transition: 2s ease;
}
header#parrent div.image .three .box {
	aspect-ratio: 26 / 30;
	max-width: 260px;
	width: 47.5%;
	clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
}
header#parrent div.image .three .box:nth-child(1),
header#parrent div.image .three .box:nth-child(2) {
	transform: translate(28%, 7%);
}
header#parrent div.image .three .box:nth-child(3),
header#parrent div.image .three .box:nth-child(4) {
	transform: translate(-28%, -8%);
}
header#parrent div.image .three .box:nth-child(1) {
	background: url(../images/photo_three01_l3.jpg) no-repeat;
	background-size: cover;
}
header#parrent div.image .three .box:nth-child(2) {
	background: url(../images/photo_three02_l3.jpg) no-repeat;
	background-size: cover;
}
header#parrent div.image .three .box:nth-child(3) {
	background: url(../images/photo_three03_l3.jpg) no-repeat;
	background-size: cover;
	background-position: center center;
}
header#parrent div.image .three .box:nth-child(4) {
	background: url(../images/photo_three04_l3.jpg) no-repeat;
	background-size: cover;
	background-position: center center;
}
/* 1200 */
@media (max-width: 1200px) {
	header#parrent {
		height: max(50.8vw, 400px);
	}
	/* text */
	header#parrent div.text h1 {
		font-size: max(3.33vw, 3.0rem);
		margin-bottom: max(3.33vw, 25px);
	}
	header#parrent div.text .okage {
		max-width: max(38.6vw, 365px);
		margin-bottom: max(3.33vw, 25px);
	}
	header#parrent div.text .okage p {
		font-size: max(2.65vw, 2.4rem);
	}
	header#parrent div.text .wrap {
		max-width: max(38.6vw, 365px);
	}
}
/* 1000 */
@media (max-width: 1000px) {
	header#parrent div.text .wrap a.btn {
		padding-top: max(2vw, 10px);
		padding-bottom: max(2vw, 10px);
		font-size: max(2vw, 1.6rem);
	}
}
/* 800 */
@media (max-width: 800px) {
	header#parrent {
		height: initial;
		background-size: 240%;
		background-position: center bottom;
	}
	header#parrent .content {
		padding-top: 40px;
		padding-bottom: 40px;
	}
	/* text */
	header#parrent div.text {
		width: 100%;
		text-align: center;
		margin-bottom: 10px;
	}
	header#parrent div.text h1 {
		font-size: max(3.75vw, 2.0rem);
		display: inline-block;
		text-align: left;
	}
	header#parrent div.text .okage {
		max-width: 400px;
		min-width: 290px;
		width: 52vw;
		margin: 0 auto 25px auto;
	}
	header#parrent div.text .okage p {
		font-size: max(3.75vw, 2.0rem);
	}
	header#parrent div.text .wrap {
		margin: 0 auto 25px auto;
	}
	/* image */
	header#parrent div.image {
		width: 85%;
		margin: 0 auto;
	}
	header#parrent div.image .three {
		margin: 0 auto;
	}
}

/*--------------------------------------------------------------*/
/* About */
/*--------------------------------------------------------------*/
#About {
	background: #FAFFF0;
}
#About .left {
	width: 50%;
	padding-right: 6%;
}
#About .right {
	width: 50%;
}
#About .right h1 {
	color: #135A1E;
	margin-bottom: 20px;
}
#About .right p.noto {
	font-size: 1.8rem;
}
/* 100 */
@media (max-width: 1000px) {
	#About .right p.noto {
		font-size: max(1.8vw, 1.6rem);
	}
}
/* 580 */
@media (max-width: 580px) {
	#About .flex {
		gap: 30px 0;
	}
	#About .left {
		width: 100%;
		padding-right: 0;
	}
	#About .right {
		width: 100%;
	}
	#About .right h1 {
		margin-bottom: 10px;
	}
}

/*--------------------------------------------------------------*/
/* Nayami */
/*--------------------------------------------------------------*/
#Nayami {
	background: url(../images/Nayami_bk.jpg) no-repeat;
	background-size: cover;
	overflow: hidden;
}
/* ul1 */
#Nayami ul.ul1 {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 30px 5%;
	margin-bottom: 60px;
}
#Nayami ul.ul1 li {
	font-size: 2.4rem;
	max-width: 280px;
	min-width: 190px;
	width: 21.25%;
	height: 125px;
	background: #5A9C64;
	color: #f5f104;
	border-radius: 6px;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}
#Nayami p.son {
	font-size: 3.2rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 60px;
}
#Nayami p.son strong {
	display: inline-block;
	font-size: 120%;
	border-bottom: 3px solid #ff9900;
}
#Nayami h2 {
	text-align: center;
	color: #135A1E;
	margin-bottom: 80px;
}
#Nayami h2 span.num {
	font-size: 160%;
	color: #ff9900;
}
/* ul2 */
#Nayami ul.ul2 {
	max-width: 1040px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding-bottom: 80px;
	margin: 0 auto;
	position: relative;
	gap: 60px 0;
}
#Nayami ul.ul2::after {
	content: '';
	display: block;
	background: #98D3A1;
	width: calc(100% + 120px);
	height: 40%;
	position: absolute;
	bottom: 0;
	left: -60px;
	z-index: 1;
}
#Nayami ul.ul2 li {
	max-width: 300px;
	width: 28%;
	background: #135A1E;
	color: #fff;
	padding: 40px 28px 28px 28px;
	position: relative;
	z-index: 2;
}
#Nayami ul.ul2 li dl dt {
	height: 60px;
	font-size: 2.4rem;
	color: #fff;
	margin-bottom: 25px;
}
#Nayami ul.ul2 li .point {
	background: #135A1E;
	aspect-ratio: 1 / 1;
	width: 60px;
	border-radius: 50%;
	border: 1px solid #fff;
	text-align: center;
	line-height: 1.2;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	position: absolute;
	left: 0;
	top: -30px;
}
#Nayami ul.ul2 li .point span.num {
	font-size: 2.0rem;
	font-weight: bold;
	display: block;
}
#Nayami ul.ul2 li dl dd {
	font-size: 1.8rem;
}
/* 1000 */
@media (max-width: 1000px) {
	#Nayami ul.ul1 li {
		font-size: max(2.4vw, 1.6rem);
	}
	#Nayami p.son {
		font-size: max(3.2vw, 1.6rem);
	}
	#Nayami ul.ul2 li dl dt {
		font-size: max(2.4vw, 2.0rem);
	}
	#Nayami ul.ul2 li dl dd {
		font-size: max(1.8vw, 1.6rem);
	}
}
/* 834 */
@media (max-width: 834px) {
	/* ul1 */
	#Nayami ul.ul1 {
		gap: 30px 5%;
	}
	#Nayami ul.ul1 li {
		min-width: initial;
		width: 47.5%;
		height: 100px;
	}
	/* ul2 */
	#Nayami ul.ul2 li {
		max-width: 500px;
		width: 100%;
		margin: 0 auto;
		padding: 40px 25px 25px 25px;
	}
	#Nayami ul.ul2::after {
		height: 55%;
	}
	#Nayami ul.ul2 li dl dt {
		height: initial;
		margin-bottom: 15px;
	}
}
/* 580 */
@media (max-width: 580px) {
	/* ul1 */
	#Nayami ul.ul1 {
		gap: 20px 5%;
		margin-bottom: 30px;
	}
	#Nayami p.son {
		margin-bottom: 30px;
	}
	#Nayami h2 {
		margin-bottom: 40px;
	}
}

/*--------------------------------------------------------------*/
/* Support */
/*--------------------------------------------------------------*/
#Support ul {
	display: flex;
	flex-wrap: wrap;
	gap: 60px 4%;
	padding-top: 30px;
	margin-bottom: 60px;
}
#Support ul li {
	width: calc(92% / 3);
}
#Support ul li figure figcaption {
	font-size: 3.0rem;
	font-weight: 500;
	text-align: center;
	margin-top: 10px;
}
#Support span.note {
	display: block;
	text-align: right;
	font-weight: 500;
}
/* 1200 */
@media (max-width: 1200px) {
	#Support ul li figure figcaption {
		font-size: max(2.5vw, 1.6rem);
	}
}
/* 580 */
@media (max-width: 580px) {
	#Support ul {
		gap: 35px 5%;
		padding-top: 10px;
		margin-bottom: 20px;
	}
	#Support ul li {
		width: calc(95% / 2);
	}
	#Support ul li figure figcaption {
		margin-top: 5px;
	}
	#Support span.note {
		font-size: 1.3rem;
	}
}

/*--------------------------------------------------------------*/
/* Point */
/*--------------------------------------------------------------*/
#Point ul {
	padding-top: 30px;
}
#Point ul li {
	padding-bottom: 50px;
	margin-bottom: 80px;
	border-bottom: 2px dashed #FFA620;
}
#Point ul li:last-child {
	padding-bottom: 20px;
	margin-bottom: 0;
	border-bottom: none;
}
#Point ul li figure {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin-bottom: 50px;
}
#Point ul li figure img {
	max-width: 600px;
	width: 100%;
}
#Point ul li figure.img2 img {
	width: 50%;
}
#Point ul li dl dt {
	text-align: center;
}
#Point ul li dl dt.p {
	margin-bottom: 20px;
}
#Point ul li dl dt.p span {
	display: inline-block;
	font-size: 2.0rem;
	font-weight: bold;
	border: 2px solid #FFA620;
	border-radius: 40px;
	color: #FFA620;
	padding: 14px 42px;
}
#Point ul li dl dt.t {
	font-size: 2.8rem;
	font-weight: bold;
	margin-bottom: 20px;
}
#Point ul li dl dd {
	max-width: 800px;
	margin: 0 auto;
	font-weight: 500;
}
#Point ul li:last-child dl dd {
	text-align: center;
}
/* 1000 */
@media (max-width: 1000px) {
	#Point ul li {
		padding-bottom: max(5vw, 40px);
		margin-bottom: max(8vw, 50px);
	}
	#Point ul li figure {
		margin-bottom: max(5vw, 30px);
	}
	#Point ul li dl dt.p span {
		font-size: max(2vw, 1.6rem);
		padding: max(1.4vw, 10px) max(4.2vw, 30px);
	}
	#Point ul li dl dt.t {
		font-size: max(2.8vw, 2.0rem);
	}
}
/* 580 */
@media (max-width: 580px) {
	#Point ul li:last-child {
		padding-bottom: 0px;
	}
	#Point ul li:last-child dl dd {
		text-align: left;
	}
	#Point ul li figure {
		gap: 5px 0;
	}
	#Point ul li figure.img2 img {
		width: 100%;
	}
}

/*--------------------------------------------------------------*/
/* Btns */
/*--------------------------------------------------------------*/
.Btns {
	background: #FAFFF0;
}
.Btns header {
	color: #135A1E;
	text-align: center;
	margin-bottom: 60px;
}
.Btns ul {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 30px 3%;
}
.Btns ul li {
	width: 360px;
}
.Btns ul li h3 {
	font-size: 3.2rem;
	font-weight: 500;
	text-align: center;
	margin-bottom: 10px;
}
.Btns p.note {
	font-weight: bold;
	text-align: center;
	margin-top: 30px;
}
/* 1300 */
@media (max-width: 1300px) {
	.Btns ul li h3 {
		font-size: max(2.4vw, 2.0rem);
	}
}

/*--------------------------------------------------------------*/
/* Flow */
/*--------------------------------------------------------------*/
#Flow ol {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 60px 6%;
}
#Flow ol li {
	max-width: 333px;
	width: calc(82% / 4);
	border: 1px solid #64696d;
	padding: 20px 20px 30px 20px;
	position: relative;
}
#Flow ol li:nth-child(n+2)::before {
	content: '';
	display: block;
	aspect-ratio: 59 / 26;
	max-width: 50px;
	width: 100%;
	background: url(../images/arrow.svg) no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	left: -14%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
#Flow ol li div.title {
	margin-bottom: 7px;
	text-align: center;
}
#Flow ol li div.title span.num {
	font-size: 5.0rem;
	font-weight: bold;
	line-height: 0.9;
	color: #FFA620;
	margin-right: 10px;
}
#Flow ol li figure {
	margin-bottom: 20px;
}
#Flow ol li p.txt {
	font-size: 3.0rem;
	font-weight: bold;
	text-align: center;
	line-height: 1;
}
#Flow ol li p.txt span.small {
	font-size: 1.6rem;
}
/* 1260 */
@media (max-width: 1260px) {
	#Flow ol li {
		padding: 20px max(1.58vw, 10px) max(2.38vw, 20px) max(1.58vw, 10px);
	}
	#Flow ol li:nth-child(n+2)::before {
		width: 20%;
	}
	#Flow ol li div.title span.num {
		font-size: max(3.968vw, 2.8rem);
	}
	#Flow ol li p.txt {
		font-size: max(2.38vw, 1.8rem);
	}
	#Flow ol li p.txt span.small {
		font-size: max(1.269vw, 1.4rem);
	}
}
/* 650 */
@media (max-width: 650px) {
	#Flow ol {
		display: block;
	}
	#Flow ol li {
		max-width: 333px;
		width: 100%;
		margin: 0 auto 60px auto;
		padding: 20px;
	}
	#Flow ol li:nth-child(n+2)::before {
		max-width: 40px;
		top: -10.5%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%) rotatez(90deg);
		transform: translate(-50%, -50%) rotatez(90deg);
	}
	#Flow ol li:last-child {
		margin-bottom: 0;
	}
	#Flow ol li div.title span.num {
		font-size: 3.0rem;
		margin-right: 8px;
	}
	#Flow ol li figure {
		margin-bottom: 12px;
	}
}

/*--------------------------------------------------------------*/
/* Works */
/*--------------------------------------------------------------*/
#Works {
	background: url(../images/works_bk.jpg) no-repeat;
	backgrouns-size: cover;
}
#Works ul.parrent > li {
	background: #fff;
	margin-bottom: 64px;
	box-shadow: 2px 2px 4px 0px rgba(0,0,0,0.3);
}
#Works ul.parrent > li:last-child {
	margin-bottom: 0px;
}
#Works ul.parrent > li h3 {
	background: #D7ECAE;
	color: #333;
	font-size: 2.4rem;
	text-align: center;
	padding: 5px 0;
}
#Works .body {
	padding: 35px 20px;
	max-width: 930px;
	margin: 0 auto;
}
/* table */
#Works .body table {
	width: calc(100% + 4px);
	margin-bottom: 20px;
	margin-left: -2px;
}
#Works .body table tr th {
	background: #A8D256;
	width: calc(100% / 3);
}
#Works .body table tr td {
	background: #F3FEDD;
}
#Works .body table tr th,
#Works .body table tr td {
	font-size: 2.0rem;
	font-weight: 500;
	padding: 5px;
	text-align: center;
}
/* photo */
#Works .body .photo {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 60px 0;
	margin-bottom: 25px;
	position: relative;
}
#Works .body .photo figure {
	width: 46%;
}
#Works .body .photo figure:nth-child(2)::before {
	content: '';
	display: block;
	aspect-ratio: 59 / 26;
	max-width: 59px;
	width: 100%;
	background: url(../images/arrow.svg) no-repeat;
	background-size: contain;
	position: absolute;
	top: 42%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
#Works .body .photo figure figcaption {
	text-align: center;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1;
	padding: 7px 0 10px 0;
	margin-top: 10px;
	border-radius: 14px;
}
#Works .body .photo figure:nth-child(1) figcaption {
	background: #A8D256;
}
#Works .body .photo figure:nth-child(2) figcaption {
	background: #FFA620;
}

/* 1000 */
@media (max-width: 1000px) {
	#Works .body {
		padding: max(3.5vw, 20px) 20px;
	}
	#Works ul.parrent > li h3 {
		font-size: max(2.4vw, 1.8rem);
	}
	/* table */
	#Works .body table tr th,
	#Works .body table tr td {
		font-size: max(2vw, 1.6rem);
	}
	/* photo */
	#Works .body .photo figure figcaption {
		font-size: max(2.4vw, 1.8rem);
	}
	#Works .body .photo figure:nth-child(2)::before {
		width: max(5.9vw, 30px);
		
	}
}
/* 580 */
@media (max-width: 580px) {
	/* photo */
	#Works .body .photo figure {
		width: 100%;
	}
	#Works .body .photo figure:nth-child(2)::before {
		top: 50%;
		-webkit-transform: translate(-50%, -50%) rotatez(90deg);
		transform: translate(-50%, -50%) rotatez(90deg);
	}
}

/*--------------------------------------------------------------*/
/* Voice */
/*--------------------------------------------------------------*/
#Voice ul {
	display: flex;
	flex-wrap: wrap;
	max-width: 1140px;
	margin: 0 auto;
	gap: 60px 5%;
}
#Voice ul li {
	background: #D7ECAE;
	width: 47.5%;
}
#Voice ul li .box {
	padding: 30px;
}
#Voice ul li .box figure {
	margin-bottom: 20px;
}
#Voice ul li .box h3 {
	font-size: 2.4rem;
	text-align: center;
	margin-bottom: 20px;
}
#Voice ul li .box hr {
	width: 80%;
	margin-bottom: 20px;
	border: none;
	border-bottom: 1px solid #333;
}
/* 1000 */
@media (max-width: 1000px) {
	#Voice ul {
		gap: max(6vw, 40px) 5%;
	}
	#Voice ul li span.msg {
		font-size: max(2.8vw, 2.0rem);
	}
	#Voice ul li .box {
		padding: max(3vw, 20px);
	}
	#Voice ul li .box h3 {
		font-size: max(2.4vw, 1.8rem);
	}
}
/* 580 */
@media (max-width: 580px) {
	#Voice ul li {
		width: 100%;
	}
	#Voice ul li .box figure {
		margin-bottom: 13px;
	}
	#Voice ul li .box h3 {
		margin-bottom: 13px;
	}
	#Voice ul li .box hr {
		margin-bottom: 13px;
	}
}

/*--------------------------------------------------------------*/
/* Keiyaku */
/*--------------------------------------------------------------*/
#Keiyaku p.head {
	text-align: center;
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 60px;
}
#Keiyaku ol > li {
	border: 2px solid #135A1E;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 65px;
}
#Keiyaku ol > li .step {
	max-width: 160px;
	width: 18%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	background: #135A1E;
	color: #fff;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1;
}
#Keiyaku ol > li .step .num {
	display: block;
	font-size: 6.0rem;
	font-weight: bold;
}
#Keiyaku ol > li .box {
	flex: 1;
	padding: 30px 40px 30px 80px;
}
#Keiyaku ol > li .box h3 {
	color: #135A1E;
	margin-bottom: 7px;
}
#Keiyaku ol > li .box h3 span.color {
	color: #FFAC30;
}
#Keiyaku ol > li .box p.noto {
	font-size: 2.0rem;
}
#Keiyaku ol > li .box p.noto strong {
	font-weight: normal;
	color: #ff9900;
}
#Keiyaku ul.btn3 {
	margin-top: 20px;
}
/* 1000 */
@media (max-width: 1000px) {
	#Keiyaku p.head {
		font-size: max(2.4vw, 1.8rem);
		margin-bottom: max(8vw, 40px);
	}
	#Keiyaku ol > li {
		margin-bottom: max(6.5vw, 40px);
	}
	#Keiyaku ol > li .step {
		font-size: max(2.4vw, 1.8rem);
	}
	#Keiyaku ol > li .step .num {
		font-size: 6.0rem;
		font-size: max(6.0vw, 3rem);
	}
	#Keiyaku ol > li .box {
		padding: max(3.0vw, 20px) max(4.0vw, 20px) max(3.0vw, 20px) max(8.0vw, 20px);
	}
	#Keiyaku ol > li .box h3 {
		margin-bottom: 7px;
	}
	#Keiyaku ol > li .box p.noto {
		font-size: max(2.0vw, 1.6rem);
	}
}
/* 580 */
@media (max-width: 580px) {
	#Keiyaku ol > li {
		display: block;
	}
	#Keiyaku ol > li .step {
		display: block;
		max-width: initial;
		width: 100%;
		padding: 3px 5px 10px 5px;
		text-align: center;
	}
	#Keiyaku ol > li .step .num {
		display: inline;
		margin-left: 3px;
	}
	#Keiyaku ol > li .box {
		padding: 20px;
	}

}

/*--------------------------------------------------------------*/
/* Faq */
/*--------------------------------------------------------------*/
#Faq {
	background: url(../images/faq_bk_l3.png);
}
.qa_lists {
	margin-bottom: 80px;
}
.qa_lists dl:last-child {
	margin-bottom: 0;
}
.qa_lists dl {
	border: 1px solid #64696d;
	background: #D7ECAE;
	margin-bottom: 60px;
}
.qa_lists dl dt.is-close {
	border-bottom: none;
}
.qa_lists dl dt {
	width: 100%;
	line-height: 1.2;
	padding: 32px 70px 28px 25px;
	position: relative;
}
.qa_lists dl dt.is-open .text,
.qa_lists dl dt:hover .text {
	background: #eb7077;
	color: #fff;
}
.qa_lists dl span.qq {
	font-size: 3.2rem;
	font-weight: bold;
	color: #FFA620;
	width: 36px;
	height: 36px;
	border-radius: 18px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 50%;
	left: 30px;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	padding-bottom: 3px;
}
.qa_lists dl dt span.q_txt {
	font-size: 2.4rem;
	margin-left: 55px;
	display: block;
	line-height: 1.4;
}
.qa_lists dl dd {
	background: #fff;
	overflow: hidden;
}
.qa_lists dl dd .text {
	margin: 32px 70px 28px 30px;
	padding-left: 50px;
	position: relative;
}
.qa_lists dl dd .text p {
	font-size: 1.8rem;
}
.qa_lists dl dt.is-close + dd {
	display: none;
}
.qa_lists dl dt.is-open + dd {
	display: block;
}
/* otameshi */
.otameshi {
	background: #fff;
	text-align: center;
}
.otameshi p.txt {
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 20px;
}
.otameshi p.txt span.txt {
	position: relative;
}
.otameshi p.txt span.txt::before {
	content: '';
	display: block;
	height: 90%;
	width: 2px;
	background: #333;
	position: absolute;
	top: 0;
	left: -20px;
	transform: rotateZ(-15deg);
}
.otameshi p.txt span.txt::after {
	content: '';
	display: block;
	height: 90%;
	width: 2px;
	background: #333;
	position: absolute;
	top: 0;
	right: -20px;
	transform: rotateZ(15deg);
}

/* 1000 */
@media (max-width: 1000px) {
	.qa_lists dl {
		margin-bottom: max(6.0vw, 30px);
	}
	.qa_lists dl dt span.q_txt {
		font-size: max(2.4vw, 1.7rem);
	}
	.qa_lists dl dd .text p {
		font-size: max(1.8vw, 1.5rem);
	}
	.otameshi p.txt {
		font-size: max(2.4vw, 2.0rem);
	}
}
/* 768 */
@media (max-width: 768px) {
	.qa_lists dl dt {
		padding: 27px 50px 23px 5px;
	}
	.qa_lists dl dt span.qq {
		left: 14px;
	}
	.qa_lists dl dd .text {
		margin: 27px 50px 23px 14px;
		padding-left: 45px;
	}
}
/* 580 */
@media (max-width: 580px) {
	.qa_lists dl dt {
		padding: 22px 45px 18px 5px;
	}
	.qa_lists dl dt span.qq {
		left: 14px;
		font-size: 2.6rem;
		padding-bottom: 0;
	}
	.qa_lists dl dd .text {
		margin: 22px 45px 18px 14px;
	}
}

/*--------------------------------------------------------------*/
/* Area */
/*--------------------------------------------------------------*/
#Area {
	text-align: center;
	position: relative;
	background: #FAFFF0;
}
#Area .text {
	display: inline-block;
	position: absolute;
	top: 20%;
	left: 34%;
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
}
#Area .text p.head {
	color: #ff9900;
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 30px;
	white-space: nowrap;
}
#Area .text .maru {
	aspect-ratio: 1 / 1;
	max-width: 280px;
	min-width: 165px;
	width: 60%;
	margin: 0 auto;
	border-radius: 50%;
	background: #135A1E;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}
#Area .text .maru h2 {
	font-size: 3.0rem;
	margin-bottom: 10px;
}
#Area .text .maru p.txt {
	font-size: 1.6rem;
	line-height: 1.2;
}
#Area .otameshi {
	background: initial;
}
/* 1000 */
@media (max-width: 1000px) {
	#Area .text p.head {
		font-size: max(2.4vw, 1.5rem);
		margin-bottom: max(3.0vw, 15px);
	}
	#Area .text .maru h2 {
		font-size: max(4.0vw, 2.2rem);
		margin-bottom: max(1vw, 0px);
	}
	#Area .text .maru p.txt {
		font-size: max(1.8vw, 1.4rem);
	}
	#Area .otameshi p.txt {
		font-size: max(2.4vw, 1.6rem);
	}
}

/*--------------------------------------------------------------*/
/* Contact */
/*--------------------------------------------------------------*/
#Contact {
	background: #ebf2fb;
}
#Contact .content {
	max-width: 840px;
}
#Contact p.head {
	text-align: center;
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 80px;
}
#Contact ul li {
	margin-bottom: 30px;
}
#Contact ul li span.item {
	display: block;
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 15px;
}
#Contact ul li span.item span.hissu {
	background: #ff9900;
	color: #fff;
	font-size: 1.8rem;
	display: inline-block;
	padding: 0 15px;
	margin-left: 30px;
}
#Contact input.btn {
	background: #ff9900;
	margin: 0 auto;
}
#Contact input.btn:hover {
	background: #135A1E;
}
#Contact input.flg,
#Contact select.flg {
	max-width: 300px;
	width: 100%;
}
#Contact span.radio-text {
	font-size: 2.0rem;
}
#Contact ul li.radio label {
	margin-right: 30px;
	margin-top: 5px;
	margin-bottom: 5px;
	white-space: nowrap;
}
#Contact ul li.radio label:last-child {
	margin-right: 0;
}
/* li.privacy */
#Contact ul li.privacy {
	margin-bottom: 40px;
}
#Contact ul li.privacy .noto {
	font-size: 1.6rem;
}
#Contact label {
	cursor: pointer;
}
#Contact label a {
	color: red;
	text-decoration: underline;
	transition: .3s ease;
}
#Contact label a:hover {
	color: #135A1E;
	text-decoration: none;
}
#Contact span.space {
	padding-left: 35px;
	display: inline-block;
}
#Contact input[type=checkbox] + .checkbox-text:before {
	margin-right: 13px;
	font-size: 2.6rem;
}
#Contact p.help-block {
	color: red;
	margin: 0 0 5px 0;
}
#Contact #success {
	margin-bottom: 15px;
	text-align: center;
}
#Contact #success strong {
	color: blue;
}
#Contact #success strong.rnote {
	color: red;
}
/* 1000 */
@media (max-width: 1000px) {
	#Contact p.head {
		font-size: max(2.4vw, 1.8rem);
		margin-bottom: max(8vw, 40px);
	}
	#Contact ul li span.item {
		font-size: max(2.4vw, 1.8rem);
		margin-bottom: max(1.5vw, 10px);
	}
	#Contact ul li span.item span.hissu {
		font-size: max(1.8vw, 1.5rem);
		padding: 0 max(1.5vw, 8px);
		margin-left: max(3vw, 15px);
	}
	#Contact span.radio-text {
		font-size: max(2.0vw, 1.6rem);
	}
	#Contact ul li.radio label:nth-of-type(n+2) {
		margin-right: max(3.0vw, 15px);
	}
	#Contact ul li.privacy .noto {
		font-size: max(1.6vw, 1.4rem);
	}
}

/*--------------------------------------------------------------*/
/* Policy */
/*--------------------------------------------------------------*/
.modaal-close:after,
.modaal-close:before {
	background: #9f9f9f;
}
#Policy {
	padding: 10px 0 60px 0;
}
#Policy {
	border: 1px solid #ccc;
	max-width: 1000px;
	margin: 0 auto;
	padding: 20px;
	background: #f9f9f9;
}
#Policy header h1 {
	font-size: 1.8rem;
	margin-top: 0;
	margin-bottom: 20px;
}
#Policy header p {
	margin-bottom: 20px;
}
#Policy dl dt {
	color: #000;
	margin-bottom: 5px;
}
#Policy dl dd {
	margin-left: 0;
	margin-bottom: 15px;
}
/* 580 */
@media (max-width: 580px) {
	.modaal-inner-wrapper {
		padding: 80px 20px;
	}
	.modaal-content-container {
		padding: 30px 20px;
	}
	#Policy {
		padding: 18px;
	}
	#Policy header h1 {
		font-size: 1.8rem;
	}
	#Policy header p {
		font-size: 1.3rem;
	}
	#Policy dl dt {
		font-size: 1.4rem;
	}
	#Policy dl dd {
		font-size: 1.3rem;
	}
}

/*--------------------------------------------------------------*/
/* #pageTop */
/*--------------------------------------------------------------*/
#pageTop {
	display: none;
	width: 60px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	right: 10px;
	bottom: 15px;
	cursor: pointer;
	position: fixed;
	text-align: center;
	background: #fff;
	filter: drop-shadow(0px 0px 0.5px rgba(0,0,0,0.3));
	z-index: 5;
}
#pageTop:hover {
	background: #f6fbeb;
}
#pageTop .box {
	display: flex;
	justify-content: center;
	align-items: center;
	aspect-ratio: 1 / 1;
	width: 100%;
}
/* 580 */
@media (max-width: 580px) {
	#pageTop {
		right: 5px;
		bottom: 15px;
		width: 40px;
	}
}

/*--------------------------------------------------------------*/
/* .banner_nav */
/*--------------------------------------------------------------*/
.banner_nav {
	background: #135A1E;
	z-index: 4;
}
.banner_nav .content {
	padding-top: 30px;
	padding-bottom: 30px;
	position: relative;
}
.banner_nav ul.index {
	position: absolute;
	width: 200px;
	left: -200px;
	transition: 1s ease;
}
.banner_nav ul.index li a,
.banner_nav ul.index li span {
	font-size: 1.8rem;
	color: #fff;
	cursor: pointer;
	transition: color 0.3s ease;
}
.banner_nav ul.index li a:hover,
.banner_nav ul.index li span:hover {
	color: #43cace;
}
.banner_nav ul.banner {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 20px 25px;
}
.banner_nav ul.banner li {
	width: 22%;
}
/* 1680 */
@media (max-width: 1680px) {
	.banner_nav ul.index {
		position: initial;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		gap: 0 30px;
		margin-bottom: 30px;
		width: 100%;
	}
}
/* 1000 */
@media (max-width: 1000px) {
	.banner_nav ul.banner {
		gap: 20px max(2.5vw, 10px);
	}
}
/* 834 */
@media (max-width: 834px) {
	.banner_nav ul.banner li {
		width: 47.5%;
	}
}
/* 580 */
@media (max-width: 580px) {
	.banner_nav ul.index {
		display: block;
		width: 100%;
		text-align: center;
	}
	.banner_nav ul.index li {
		margin-bottom: 10px;
	}
}

/*--------------------------------------------------------------*/
/* Fixed */
/*--------------------------------------------------------------*/
.Fixed {
	position: fixed;
	left: 0;
	bottom: 0;
	z-index: 9;
	width: 100%;
	padding: 5px 0 10px 0;
	filter: drop-shadow(0 0 5px rgba(0,0,0,0.4));
}
.Fixed h3.vflg {
	display: none;
	text-align: center;
	margin-bottom: 10px;
}
.Fixed ul {
	transition: .3s ease;
	flex-wrap: nowrap;
}
.Fixed ul li h3 {
	font-size: 2.2rem;
	margin-bottom: 1px;
}
.Fixed ul li a {
	min-width: initial!important;
}
/* 1300 */
@media (max-width: 1300px) {
	.Fixed h3 {
		font-size: max(1.69vw, 1.6rem)!important;
	}
	.Fixed ul li {
		width: calc(94% / 2);
		max-width: 360px;
		min-width: initial;
	}
	.Fixed ul li a.tel {
		font-size: max(2.15vw, 1.4rem)!important;
	}
	.Fixed ul li a {
		font-size: max(1.69vw, 1.4rem)!important;
	}
}
/* 1100 */
@media (max-width: 1100px) {
	.Fixed h3.vflg {
		display: block;
	}
	.Fixed ul li h3 {
		display: none;
	}
	.Fixed ul li span.vflg {
		display: none;
	}
	.Fixed ul li a {
		height: max(5.45vw, 40px)!important;
	}
}
/* 580 */
@media (max-width: 580px) {
	.Fixed h3.vflg {
		margin-bottom: 6px;
	}
	.Fixed .content {
		padding-left: 12px;
		padding-right: 12px;
	}
	.Fixed ul li a {
		height: 35px!important;
	}
	.Fixed ul.btn3._big a {
		width: 100%;
	}
	ul.btn3._big a.tel img {
		width: 22px;
		margin-right: 3px;
	}
	ul.btn3._big a.mail i {
		font-size: 2.2rem;
	}
	ul.btn3._big a.line i {
		font-size: 2.6rem;
	}
}


/*--------------------------------------------------------------*/
/* Footer */
/*--------------------------------------------------------------*/
footer {
	background: #333;
}
footer .foot {
	padding-top: 30px;
	padding-bottom: 20px;
}
footer .copy {
	text-align: center;
	color: #fff;
}
footer .copy a {
	color: #fff;
}
footer .copy a:hover {
	color: #ccc;
}
/* 1920 */
@media (min-width: 1920px) {
	footer .foot ul li {
		padding: 0 25px;
	}
}
/* 580 */
@media (max-width: 580px) {
	footer .foot ul li {
		padding: 0 2.4vw;
	}
	footer .foot ul li:nth-child(4) {
		border: none;
	}
	footer .copy {
		font-size: 80%;
	}
}

