/*
 * base css 
 * pc width 1000px fixed
 */

@media (max-width: 599px) {
}

@media (min-width: 600px) and (max-width:959px) {
}

@media (min-width: 960px) {
}

@media (max-width: 480px) {
}

@media (min-width: 481px) and (max-width:767px) {
}

@media (min-width: 768px) and (max-width:959px) {
}

@media (min-width: 960px) {
}

@media (max-width: 750px) {
}

@media (min-width: 751px) {
}
/*
009644
cfe5d9

background: #009644;
background: linear-gradient(0deg,rgba(0, 150, 68, 0.5) 0%, rgba(0, 110, 50, 0) 99%);
*/


/* ---------------------------------------- common */

@media (max-width: 750px) {
	.pc { display: none !important; }
}

@media (min-width: 751px) {
	.sp { display: none !important; }
	a[href^="tel:"] { pointer-events: none; }
}

/* ---------------------------------------- breadcrumbs */

@media (max-width: 750px) {
	#breadcrumbWrap { display: none !important; }
}

@media (min-width: 751px) {

	#breadcrumbWrap { 
		font-size: clamp(1.3rem, 0.14rem + 1.43vw, 1.8rem); 
		line-height: 1.4;
		padding: 1em 1.5em 0; 
	}
	#breadcrumbWrap .inner { 
		max-width: 1100px;
		margin: 0 auto;
	}
	#breadcrumbWrap p { font-size: clamp(1.2rem, 0.481rem + 0.57vw, 1.4rem); }
	#breadcrumbWrap p span span {
		display: inline-block;
		letter-spacing: normal;
	}
	#breadcrumbWrap a {
		color: var( --heavenly-blue );
		font-weight: 500;
		-webkit-transition: all 0.5s ease-out;
		transition: all 0.5s ease-out;
	}
	#breadcrumbWrap a:hover { opacity: .3; }

}

/* ---------------------------------------- visual */

#visual {
	position: relative;
	width: 100%;
	contain: paint;
}
#visual h1 {
	width: 90%;
	max-width: 1100px;
	color: #fff;
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
#visual h1 small {
	display: block;
	color: #009644;
	font-family: "Montserrat", sans-serif;
	font-weight: 600;
}

#visual img {
	width: 100%;
	
	display: block;
	object-fit: cover;
}

@media (max-width: 750px) {
	#visual { font-size: clamp(1.6rem, 0.106rem + 2.97vw, 2.4rem); }
	#visual h1 { font-size: clamp(2.4rem, 0.756rem + 3.72vw, 4rem); }
	#visual h1 small { font-size: clamp(1.6rem, 0.814rem + 0.93vw, 2rem); }
	#visual img { height: 14em; }
}

@media (min-width: 751px) {
	#visual { font-size: clamp(1.3rem, 0.14rem + 1.43vw, 1.8rem); }
	#visual h1 { font-size: clamp(3.2rem, -0.421rem + 5.16vw, 5rem); }
	#visual h1 small { font-size: clamp(1.4rem, 0.068rem + 1.72vw, 2rem); }
	#visual img { height: 22em; }
}

/* ---------------------------------------- main */

@media (max-width: 480px) {
	main { font-size: clamp(1.3rem, 0.438rem + 1.88vw, 1.6rem); }
}

@media (min-width: 481px) and (max-width:750px) {
	main { font-size: clamp(1.6rem, 0.106rem + 2.97vw, 2.4rem); }
}

@media (max-width: 750px) {
	/* main { font-size: clamp(1.3rem, 0.301rem + 2.56vw, 2.4rem); } */
	main { 
		line-height: 2;
		padding: 3em 1.25em; 
	}
}

@media (min-width: 751px) {
	main { 
		font-size: clamp(1.3rem, 0.14rem + 1.43vw, 1.8rem); 
		line-height: 2;
		padding: 4.4em 1.5em;
	}
	main .inner { 
		max-width: 1100px;
		margin: 0 auto;
	}
}

/* title */

/* h2 */
.underbar {
	color: #009644;
	font-weight: bold;
	text-align: center;
	line-height: 1.5;
	padding: 0 0 .25em;
	margin: 0 0 1.5em;
	position: relative;
}
.underbar::after {
	content: "";
	display: block;
	width: 1em;
	height: 4px;
	background: #009644;
	position: absolute;
	bottom: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

/* h3 */
.bothline {
	color: #009644;
	border-top: 1px #009644 solid;
	border-bottom: 1px #009644 solid;
	font-weight: bold;
	line-height: 1.4;
	padding: .25em;
	margin: 0 0 1em;
}

/* h4 */
.greenbox {
	color: #fff;
	background: #009644;
	font-weight: bold;
	line-height: 1.5;
	padding: .25em .5em;
	margin: 0 0 1em;
}

main .headline {
	color: #009644;
	text-align: center;
	line-height: 1.5;
	margin: 0 0 1em;
}

@media (max-width: 750px) {
	.underbar { font-size: clamp(2.2rem, 0.352rem + 5.12vw, 4.4rem); }
	.bothline { font-size: clamp(2rem, 0.413rem + 4.19vw, 3.8rem); }
	.greenbox { font-size: clamp(1.8rem, 0.474rem + 3.26vw, 3.2rem); }
	.headline { font-size: clamp(1.8rem, 0.474rem + 3.26vw, 3.2rem); }
}

@media (min-width: 751px) {
/*
デザインデカすぎ
	.underbar { font-size: clamp(2.8rem, -0.402rem + 4.58vw, 4.4rem); }
	.bothline { font-size: clamp(2.4rem, -0.383rem + 4.01vw, 3.8rem); }
	.greenbox { font-size: clamp(2rem, -0.364rem + 3.44vw, 3.2rem); }
*/
	.underbar { font-size: clamp(2rem, -1.44rem + 5.73vw, 4rem); }
	.bothline { font-size: clamp(1.8rem, -0.758rem + 4.01vw, 3.2rem); }
	.greenbox { font-size: clamp(1.6rem, -0.345rem + 2.87vw, 2.6rem); }
	.headline { font-size: clamp(1.6rem, -0.345rem + 2.87vw, 2.6rem); }
}

/* contentBlock, space */

.contentBlock { margin: 0 0 4em; }
article.contentBlock { margin: 0 0 6em; }
.spaceUpper { margin-top: 2em; }
.spaceBottom { margin-bottom: 2em; }
.spaceBoth { margin: 2em 0; }

article p + p { margin: 1em 0 0; }
section p + p { margin: 1em 0 0; }

/* etc */

.alignRight { text-align: right; }
.alignCenter { text-align: center; }

figure { text-align: center; }

ul.disc {
	list-style: outside disc;
	font-weight: bold;
	margin: 0 0 0 1em;
}
ul.disc.spaceUpper {
	padding: 2em 0 0;
	margin: 0 0 0 1em;
}
ul.disc.spaceBottom {
	padding: 0 0 2em;
	margin: 0 0 0 1em;
}
ul.disc.spaceBoth {
	padding: 2em 0;
	margin: 0 0 0 1em;
}

strong { font-weight: bold; }
a strong {
	color: #009644;
	text-decoration: underline;
}

/* flexed */

@media (max-width: 750px) {

	.flexed > figure { margin-bottom: 2em; }

}

@media (min-width: 751px) {

	.flexed {
		display: flex;
		justify-content: space-between;
	}
	.flexed.reverse {
		flex-direction:row-reverse;
	}
	.flexed > figure { width: 45%; }
	.flexed > div { width: 50%; }

}

/* table */
/* tablepress [table id=1 first_column_th="1" /] */

table:not(.nonborder) { 
	width: 100%; 
	table-layout: fixed;
}
table caption { text-align: left; }
table:not(.nonborder) thead th { 
	background: #eee; 
	font-weight: bold;
}
table.cellBlock:not(.nonborder) td.column-1,
table:not(.nonborder) th, 
table:not(.nonborder) td {
	line-height: 1.6;
	vertical-align: middle;
	padding: 0.75em;
}
table.cellBlock:not(.nonborder) td.column-1 { background: #eee; }
table.alignCenter:not(.nonborder) th,
table.alignCenter:not(.nonborder) td { text-align: center; }

table.nonborder th {
	font-weight: bold;
	padding: 0 1.5em 0 0;
}

@media (max-width: 750px) {

	table:not(.nonborder) { 
		width: 100%; 
		border-top: 1px #ccc solid;
	}
	table.cellBlock th, 
	table.cellBlock td {
		display: block;
	}
	table:not(.nonborder) th, 
	table:not(.nonborder) td {
		border-bottom: 1px #ccc solid;
		padding: 0.75em;
	}

}

@media (min-width: 751px) {

	table.cellBlock:not(.nonborder) .w25 { width: 25%; }
	table:not(.nonborder) th, table:not(.nonborder) td {
		border-top: 1px #ccc solid;
		border-bottom: 1px #ccc solid;
	}

}


/* learnMore link button */

.learnMore a {
	display: inline-block;
	color: #009644;
	border: 1px #fff solid;
	background: #fff;
	font-weight: bold;
	text-align: center;
	padding: .5em 3.5em .5em 3em;
	border-radius: 100px;
	position: relative;
	-webkit-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}
.learnMore.greens a {
	color: #fff;
	border: 1px #009644 solid;
	background: #009644;
}
.learnMore a i {
	position: absolute;
	top: 50%;
	right: 1em;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.learnMore a:hover {
	color: #fff;
	background: #009644;
}
.learnMore.greens a:hover {
	color: #009644;
	background: #fff;
}

/* inquiries link button */

ul.inquiries li a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	color: #fff;
	background: #009644;
	border: 1px #009644 solid;
	line-height: 1.4;
	text-align: center;
	padding: 1em 1.5em;
	border-radius: 10px;
	position: relative;
	-webkit-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}
ul.inquiries li a i {
	position: absolute;
	top: 50%;
	right: 1em;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

ul.inquiries li a:hover {
	color: #009644;
	background: #fff;
}

@media (max-width: 750px) {
	ul.inquiries li:not(:last-child){ margin: 0 0 1em; }
}

@media (min-width: 751px) {

	ul.inquiries {
		display: flex;
		justify-content: space-between;
	}
	ul.inquiries li {
		display: flex;
		align-items: stretch;
		width: 48%;
		font-size: clamp(1.5rem, 0.265rem + 1.43vw, 2rem);
	}

}

/* ---------------------------------------- bnrarea */

#bnrarea { 
	background: #fffee3; 
	text-align: center;
}
#bnrarea a {
	-webkit-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}
#bnrarea a:hover { opacity: .5; }

@media (max-width: 750px) {

	#bnrarea { 
		padding: 3em 1em; 
	}
	#bnrarea ul li:not(:last-child) { margin: 0 0 1em; }

}

@media (min-width: 751px) {

	#bnrarea { 
		padding: 3.5em 1.5em; 
	}
	#bnrarea .inner {
		max-width: 1100px;
		margin: 0 auto;
	}
	#bnrarea ul li:not(:last-child) { margin: 0 0 2.3333em; }

}