@charset "UTF-8";

.material-symbols-outlined {
	display: inline-flex;
	vertical-align: middle;
}

:root {
	--color-normal: #374453;
	--color-green: #39b554;
	--color-orange: #e67f3a;
	--color-lgreen: #ebf8ee;
	--color-pink: #fff5f0;
	--color-dsyao: #3ab54a;
	--color-step: #ee1d23;
}


.forpc { display: block; }
.forsp { display: none; }
.forpcinline { display: inline; }
.forspinline { display: none; }
img { max-width: 100%; }

html, body {
	position: relative;
}

#mainv {
	position: relative;
	& header {
		position: absolute;
		top: 0;
		left: 0;
	}
}

header {
	width: 100%;
	padding: 20px 0;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 3;
	.hinner {
		width: 96%;
		min-width: 1100px;
		text-align: left;
		margin: 0 auto;
		display: flex;
		.gnavi {
			margin-left: auto;
			display: flex;
			align-items: center;
			& > ul {
				display: flex;
				& > li {
					font-size: .875rem;
					font-weight: 700;
					margin: 0 12px;
					position: relative;
					& > ul {
						width: 20em;
						position: absolute;
						top: 2em;
						left: 0;
						transition: all .3s;
						transform: scaleY(0);
						transform-origin: center top;
					}
					&.haschild:hover > ul {
						transform: scaleY(1);
					}
					& > span {
						padding-right: 16px;
						display: inline-block;
						position: relative;
						&:after {
							content: "";
							width: 0;
							height: 0;
							border-style: solid;
							border-width: 6px 6px 0 6px;
							border-color: var(--color-normal) transparent transparent transparent;
							position: absolute;
							top: calc(50% - .1em);
							right: 0;
						}
					}
					a {
						color: var(--color-normal);
						text-decoration: none;
						&:hover {
							text-decoration: underline;
						}
					}
				}
			}
			& div {
				margin-left: 20px;
				.rbtn {
					width: 15em;
					font-size: .875rem;
					padding: 5px 0;
					&::after {
						width: 14px;
						right: 10px;
					}

				}
			}
		}
	}
}

.breadpath {
	margin: 20px 0 40px;
	& ul {
		font-size: .75rem;
		display: flex;
		& li:not(:last-child) {
			margin-right: 10px;
			padding-right: 20px;
			position: relative;
			&::after {
				content: "";
				width: 5px;
				height: 5px;
				border-top: solid 1px var(--color-normal);
				border-right: solid 1px var(--color-normal);
				position: absolute;
				top: calc(50% - .2em);
				right: 0;
				transform: rotate(45deg);
			}
		}
	}
}

footer {
	background: var(--color-lgreen);
	padding: 60px 0 20px;
	.finner {
		width: 90%;
		min-width: 1000px;
		text-align: left;
		margin: 0 auto;
		display: flex;
		.address {
			margin-right: 100px;
			.logo {
				margin-bottom: 20px;
			}
			& p {
				font-size: .875rem;
				line-height: 1.7;
			}
		}
		.fnavi {
			margin-top: 15px;
			display: flex;
			& ul {
				margin-right: 80px;
				& li {
					font-size: .9375rem;
					font-weight: 700;
					margin-bottom: 15px;
					padding: 0 0 0 20px;
					position: relative;
					&::before {
						content: "";
						width: 12px;
						aspect-ratio: 1 / 1;
						border-radius: 50%;
						background: var(--color-green);
						position: absolute;
						top: calc(50% - 6px);
						left: 0;
					}
					& a {
						color: var(--color-normal);
					}
				}
			}
		}
	}
	.copyright {
		color: #999;
		text-align: center;
		margin: 60px 0 0 0;
	}
}
#totop {
	width: 64px;
	position: fixed;
	bottom: 15px;
	right: 15px;
	cursor: pointer;
}

.subContents {
	width: 900px;
	text-align: left;
	margin: 0 auto;
	.inner {
		margin: 0 70px;
	}
}
.subContents2 {
	width: 760px;
	text-align: left;
	margin: 0 auto;
}


#mainv {
	.pageTitle {
		filter: drop-shadow(0 3px 15px rgba(0,0,0,1));
	}
}

#fcontact {
	color: #fff;
	background: url(../images/common/contact_bg_01.jpg) no-repeat center center/cover;
	.subContens {
		height: 300px;
		display: flex;
		align-items: center;
		justify-content: center;
		& h3 {
		}
		.tel {
			line-height: 1.5;
			& a {
				color: #fff;
				font-size: 2rem;
				text-decoration: none;
				font-weight: bold;
			}
		}
		.time {
			font-size: .875rem;
			margin-bottom: 20px;
		}
	}
}

.h-type01 {
	font-size: 1.5rem;
	font-weight: 700;
	text-align: center;
	margin: 0 0 40px;
}
@media screen and (max-width:756px) {
	.h-type01 {
		margin-bottom: 8vw;
	}
}
.h-type02 {
	font-weight: 700;
	line-height: 1.4;
	border-left: solid 4px var(--color-green);
	margin-bottom: 20px;
	padding: 0 0 0 15px;
}
@media screen and (max-width:756px) {
	.h-type02 {
		margin-bottom: 5vw;
	}
}	
.rbtn {
	color: #fff;
	font-weight: bold;
	width: 20em;
	text-align: center;
	padding: 10px 0;
	display: inline-block;
	border-radius: 50vmax;
	position: relative;
	&::after {
		content: "";
		width: 16px;
		aspect-ratio: 16 / 13;
		background: url(../images/common/s_arrow.svg) no-repeat;
		background-size: 100% auto;
		position: absolute;
		top: 50%;
		right: 20px;
		transform: translateY(-50%);
	}
}
.btn-gr { background: var(--color-green); }
.btn-or { background: var(--color-orange); }
.btn-gray { background: #d7dadd; }
.btn-wh { color: var(--color-normal); background: #fff; border: solid 2px #d7dadd; }
.btn-dsyao { background: var(--color-dsyao); }
.btn-step { background: var(--color-step); }

.rbtn.noarrow::after {
	content: none;
}


.rbtn:hover {
	text-decoration: none;
	filter: brightness(1.1);
	opacity: 1;
}
.btn-gray {
	color: var(--color-normal);
	&::after {
		background: url(../images/common/s_arrow_black.svg) no-repeat;
	}
}
.btn-back {
	color: var(--color-normal);
	&::after {
		background: url(../images/common/s_arrow-2.svg) no-repeat;
		right: auto;
		left: 20px;
	}
}


.entrybtn .material-symbols-outlined {
	font-size: 125%;
}

.radius {
	border-radius: 10px;
}
.disclist li {
	list-style: disc;
	margin-left: 20px;
}

.linkarea,
.linkarea a {
	position: relative;
	transition: all .3s;
}
.linkarea a {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 100%;
	font-size: 0;
	text-indent: -9999px;
	overflow: visible;
	z-index: 999;
}
.linkarea:hover {
	opacity: .7;
}




@media screen and (max-width:756px) {

	.forpc { display: none; }
	.forsp { display: block; }
	.forpcinline { display: none; }
	.forspinline { display: inline; }
	img { width: 100%; }


	#mainv {
	}

	header {
		background: #fff;
		padding: 0;
		position: static;
		.hinner {
			width: 100%;
			min-width: auto;
			text-align: left;
			margin: 0 auto;
			display: flex;
			position: relative;
			.logo {
				width: 60vw;
				padding: 3vw 0 3vw 3vw;
			}

			#menuBtn {
				background:#fff;
				position: absolute;
				top: 0;
				right: 0;
				width: 60px;
				height: 100%;
				cursor: pointer;
			}
			#menuBtn span {
				position: absolute;
				left: 3vw;
				width: calc(100% - 6vw);
				height: 4px;
				background-color: var(--color-green);
				border-radius: 4px;
			}
			#menuBtn, #menuBtn span {
				display: inline-block;
				transition: all .5s;
				box-sizing: border-box;
			}
			#menuBtn span:nth-of-type(1) {
				top: 14px;
			}
			#menuBtn span:nth-of-type(2) {
				top: 26px;
			}
			#menuBtn span:nth-of-type(3) {
				bottom: 14px;
			}
			#menuBtn.active {
				background: #eff0f1;
			}
			#menuBtn.active span:nth-of-type(1) {
				transform: translateY(12px) rotate(-45deg);
			}
			#menuBtn.active span:nth-of-type(2) {
				opacity: 0;
			}
			#menuBtn.active span:nth-of-type(3) {
				transform: translateY(-12px) rotate(45deg);
			}

			.gnavi {
				width: 70vw;
				background: #eff0f1;
				padding: 5vw 5vw 10vw;
				position: absolute;
				top: -100vh;
				right: 0;
				margin-left: auto;
				display: block;
				transition: all .3s;
				z-index: 10;
				&.active {
					top: 14vw;
				}
				& > ul {
					display: block;
					& > li {
						margin: 0;
						position: relative;
						.material-symbols-outlined {
							color: var(--color-green);
						}
						& > ul {
							width: calc(100% - 5vw);
							margin-left: 5vw;
							position: static;
							transition: none;
							transform: scaleY(1);
						}
						&.haschild:hover > ul {
							transform: none;
						}
						& a {
							display: block;
							position: relative;
							border-bottom: dotted 1px #b3b3b3;
							padding: 6px 0;
							&::after {
								content: "";
								width: 6px;
								height: 6px;
								border-top: solid 2px var(--color-green);
								border-right: solid 2px var(--color-green);
								position: absolute;
								top: calc(50% - .2em);
								right: 0;
								transform: rotate(45deg);
							}
						}
						& > span {
							padding-right: 0;
							padding-top: 10px;
							&:after {
								content: none;
							}
						}
					}
				}
				.menuText {
					font-size: .875rem;
					text-align: center;
					margin-top: 6vw;
					line-height: 1.5;
					& h3 {
						font-weight: 700;
					}
					.tel {
						color: var(--color-green);
						font-size: 1.375rem;
						font-weight: 700;
						& a {
							color: var(--color-green);
						}
					}
					.time {
						font-size: .75rem;
					}
				}
				.btn {
					margin-left: 0;
					margin-top: 6vw;
					.rbtn {
						width: 100%;
					}
				}
			}
		}
	}
	.breadpath {
		margin: 4vw 0 6vw;
	}
	footer {
		padding: 10vw 0 5vw;
		.finner {
			width: 100vw;
			min-width: auto;
			padding: 0 5vw;
			display: block;
			.address {
				margin-right: 0;
				.logo {
					width: 80vw;
					margin-bottom: 5vw;
				}
				& p {
					text-align: center;
				}
			}
			.fnavi {
				margin-top: 5vw;
				display: block;
				& ul {
					margin-right: 0;
					& li {
						font-size: 1rem;
						margin-bottom: 0;
						padding: 0 0 0 1.2rem;
						&::before {
							width: .8rem;
							top: calc(50% - .3rem);
						}
						& a {
							padding: 2vw 0;
							display: block;
						}
					}
				}
			}
		}
		.copyright {
			text-align: center;
			margin: 10vw 0 0 0;
		}
	}
	#totop {
		width: 15vw;
	}

	.subContents {
		width: 100vw;
		padding: 0 5vw;
		.inner {
			margin: 0;
		}
	}
	.subContents2 {
		width: 100vw;
		padding: 0 5vw;
	}


	#mainv {
		.pageTitle {
		}
	}

	#fcontact {
		.subContens {
			height: auto;
			padding: 6vw 0;
		}
	}


}


/* ----------------------- form -------------- */
form {
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	textarea {
		width: 100%;
		background: #fff;
		border: solid 1px #999;
		border-radius: 6px;
		padding: 10px;
	}
	textarea {
		height: 100px;
	}
	select {
		color: $color-normal;
		height: calc(2em + 20px);
		border: solid 1px #999;
		border-radius: 6px;
		padding: 0 10px;
	}
	input[type="submit"] {
		-webkit-appearance: none;
		color: #fff;
		font-size: 1.125rem;
		font-weight: $fw-bold;
		border: none;
		border-radius: 10px;
		box-shadow: none;
		background: #000;
		border-radius: 50vh;
		margin-bottom: 15px;
		padding: 15px 100px;
		cursor: pointer;
	}
	input[type="submit"][name="submitBack"] {
		font-size: .9375rem;
		color: $color-normal;
		text-align: center;
		text-decoration: underline;
		border-radius: 0;
		background: transparent;
		padding: 0;
	}
		
	input[type="radio"] + span,
	input[type="checkbox"] + span {
		font-weight: 700;
	}
	.error-input input[type="text"],
	.error-input input[type="email"],
	.error-input input[type="tel"],
	.error-input input[type="url"] {
		border: solid 2px #ed5353;
		background: #ffe2e2;
	}
	.sizeZip {
		width: 120px!important;
	}
	.mw_wp_form .horizontal-item + .horizontal-item {
		margin-left: 0;
	}

}

@media screen and (max-width:756px) {
	form {
		input[type="text"],
		input[type="date"],
		input[type="email"],
		textarea {
		}
		textarea {
		}
		input[type="submit"]{
			width: 100%;
			margin-bottom: 15px;
			padding: 15px 0;
		}
		input[type="radio"] + span,
		input[type="checkbox"] + span {
		}

	}


}
