@charset "utf-8";
/*
 * base css 
 * pc width 1100px fixed
 */


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

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

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

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

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

body { 
	color: #333;
	min-width: 751px;
	font-size: clamp(0.704rem, -0.001rem + 1.5vw, 1.125rem);
	overflow: scroll;
}

#drawer-menu,
#drawer,
.pushbar_overlay {
	display: none !important; 
}
a[href^="tel:"] { pointer-events: none; }

#wrapper { 

}
section { width: 100%; }
section h2,
section h3 {
	font-weight: 800;
	line-height: 1.4;
	text-align: center;
}
section h2 {
	color: #333;
	background: none;
	line-height: 1.4;
	font-weight: 700;
	font-size: clamp(1.563rem, -0.006rem + 3.34vw, 2.5rem);
	text-align: center;
	padding: 0 0 .5em;
	margin: 0 0 1em;
	position: relative;
}
section h2::after {
	content: "";
	display: block;
	width: 2em;
	aspect-ratio: 1 / 0.057;
	background: #019644;
	position: absolute;
	bottom: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

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

@media (min-width: 751px) {
	.sp { display: none !important; }
}


/* ---------------------------------------- header */

#headerWrap {
	position: sticky;
	top: 0;
	z-index: 999;
	background: #fff;
}

header .inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
header .catch {
	color: #019644;
	line-height: 1.4;
	font-weight: 700;
}

header .space { display: none; }
header { 
	padding: .5em 1em;
}
header .inner {
	max-width: 1100px;
	margin: 0 auto;
}
header .logo {
	width: 19.5454545%;
	max-width: 215px;
}
header .catch {
	font-size: clamp(0.75rem, 0.078rem + 1.43vw, 1.063rem);
}
header .sitelink a {
	display: block;
	color: #fff;
	background: #019644;
	font-size: clamp(0.75rem, 0.078rem + 1.43vw, 1.063rem);
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
	padding: .4em 2em;
	border-radius: 100px;
}


/* ---------------------------------------- globalnav */

#globalnav {
	color: #fff;
	background: #019644;
	padding: 1em;
}
#globalnav ul {
	display: flex;
	justify-content: center;
	font-size: clamp(0.813rem, 0.14rem + 1.43vw, 1.125rem);
}
#globalnav ul li:not(:last-child){ border-right: 1px #fff solid; }
#globalnav ul li a {
	display: block;
	line-height: 1;
	padding: 0 1em;
}

/* ---------------------------------------- mv */

#mv { min-width: 751px; }
#mv img { 
	width: 100%;
	aspect-ratio: 1 / 0.33;
	object-fit: cover;
}

/* ---------------------------------------- area */

#area {
	min-width: 751px;
	background: #fdff08 url( ../images/commons-pc/area-pc-back.jpg ) no-repeat center top;
	background-size: cover;
	padding: 3.8em 1em;
}
#area .inner { 
	max-width: 1100px;
	margin: 0 auto;
}
#area .bnr {
	display: table;
	width: 100%;
	margin: 0 0 2em;
}
#area .bnr > * {
	display: table-cell;
	vertical-align: middle;
	font-size: clamp(0.938rem, -0.004rem + 2.01vw, 1.375rem);
	font-weight: 700;
	line-height: 1.6;
	text-align: left;
}
#area .bnr > figure { 
	width: 63.272727%; 
	padding: 0 1em 0 0;
}

#area .inside ul {
	display: flex;
	flex-wrap: wrap;
	/* justify-content: space-between; */
	gap: 3.5%;
	width: 100%;
}
#area .inside ul li {
	width: 31%;
}
#area .inside ul li:nth-child( n+4 ){
	margin: 1.5em 0 0;
}
#area .inside ul li a {
	display: block;
	-webkit-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}
#area .inside ul li a:hover { opacity: .5; }


/* ---------------------------------------- content01 */

#content01 {
	background: url( ../images/pc/content01-back.jpg ) repeat-x;
	background-size: 100% 100%;
	padding: 0 1em;
}
#content01 .inner {
	max-width: 1200px;
	margin: 0 auto;
}

/* ---------------------------------------- content02 */

#content02 { 
	background: url( ../images/pc/content02-back.jpg );
	text-align: center; 
	padding: 5.75em 1em 6.25em;
}

#content02 .inner {
	max-width: 1200px;
	margin: 0 auto;
}

#content02 h2 {
	color: #fff;
}
#content02 h2::after {
	background: #fff;
}

#content02 figure + figure { margin: 2.5em 0 0; }

#content02 .pagelink { 
	text-align: center; 
	margin: 2.5em 0 0; 
}
#content02 .pagelink a { 
	display: inline-block;
	width: 32.5%; 
}

/* ---------------------------------------- content03 */

#content03 {
	background: #f6faf6;
	padding: 5.75em 0 5em;
}
#content03 .inner {
	max-width: calc( 1200px + 2em );
	padding: 0 1em;
	margin: 0 auto;
}
#content03 .headline {
	max-width: 1120px;
	color: #fff;
	background-color: #019644;
	background-image: url( ../images/pc/content03-upper.jpg ), url( ../images/pc/content03-under.jpg );
	background-position: top right, left bottom;
	background-repeat: no-repeat;
	text-align: center;
	padding: 2em;
	margin: 0 auto 6em;
}
#content03 .headline h3 {
	color: #fcff08;
	font-size: clamp(1.173rem, -0.001rem + 2.5vw, 1.875rem);
	margin: 0 0 1em;
}
#content03 .headline p {
	font-size: clamp(0.861rem, 1.83vw, 1.375rem);
	line-height: 1.6;
}
#content03 .headline p + p { margin: 1em 0 0; }

#content03 .inside .rightalign,
#content03 .inside .leftalign {
	font-size: clamp(0.7rem, -0.011rem + 1.51vw, 1.125rem);
}
#content03 .inside .rightalign {
	display: flex;
	justify-content: end;
	align-items: center;
}
#content03 .inside .leftalign {
	display: flex;
	justify-content: start;
	flex-direction:row-reverse;
	align-items: center;
}
#content03 .inside .detail {
	max-width: 28em;
	min-width: 26em;
	border: .375em #019644 solid;
	text-align: left;
}
#content03 .inside .detail h3 {
	color: #019644;
	border-bottom: 1px #019644 solid;
	font-size: clamp(1.563rem, -0.006rem + 3.34vw, 2.5rem);
	text-align: left;
	padding: .4em;
}
#content03 .inside .detail .text { margin: 1em; }
#content03 .inside .detail p + p { margin: 1em 0 0; }
#content03 .inside figure {
	max-width: 47em;
}

#content03 .pagelink { 
	text-align: center; 
	margin: 2.5em 0 0; 
}
#content03 .pagelink a { 
	display: inline-block;
	width: 32.5%; 
}

/* ---------------------------------------- content04 */

#content04 {
	background: #f6faf6;
	padding: 5.75em 1em 6.25em;
}
#content04 .inner {
	max-width: 1100px;
	margin: 0 auto;
}
#content04 h2 { margin: 0 0 2.5em; }

#content04 ul li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-bottom: 1px #ddd solid;
	padding: 1em 0;
}
#content04 ul li:first-child {
	padding: 0 0 1em;
}
#content04 ul li:last-child {
	border-bottom: none;
	padding: 1em 0 0;
}

#content04 ul li > figure { width: 15%; }
#content04 ul li > div { width: 83%; }

#content04 ul li > div h3 {
	font-size: clamp(0.813rem, -0.024rem + 1.78vw, 1.313rem);
	text-align: left;
	line-height: 1.6;
	margin: 0 0 .5em;
}
#content04 ul li > div p {
	font-size: clamp(0.7rem, -0.011rem + 1.51vw, 1.125rem);
	line-height: 1.6;
}
#content04 ul li > div p.stars {
	color: #fad83b;
	font-size: clamp(0.938rem, -0.004rem + 2.01vw, 1.375rem);
}
#content04 ul li > div p span { color: #e71414; }


/* ---------------------------------------- content05 */

#content05 {
	text-align: center;
	padding: 5.75em 1em 6.25em;
}
#content05 .inner {
	max-width: 1100px;
	margin: 0 auto;
}
#content05 h2 { margin: 0 0 2.5em; }

#content05 .inside {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#content05 .inside > .detail {
	width: 47%;
}
#content05 .inside > .detail:nth-child( n+3 ) {
	margin: 3.75em 0 0;
}

#content05 .inside > .detail figure { margin: 0 0 1.5em; }
#content05 .inside > .detail h3 {
	color: #019644;
	font-size: clamp(1.212rem, 2.58vw, 1.938rem);
	font-weight: 600;
	line-height: 1.4;
	margin: 0 0 1em;
	position: relative;
}
#content05 .inside > .detail p {
	font-size: clamp(0.7rem, -0.011rem + 1.51vw, 1.125rem);
	line-height: 1.6;
}

#content05 .inside h3 span.deco {
	color: #e5f1e5;
	font-size: clamp(3.875rem, -0.097rem + 8.46vw, 6.25rem);
	font-weight: 800;
	line-height: .8;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

/* ---------------------------------------- content06 */

#content06 {
	background: #019644;
	padding: 0 1em;
}
#content06 .inner {
	max-width: 1100px;
	margin: 0 auto;
}







/* ---------------------------------------- content07 */

/* upper */

#content07 .upper {
	background: #f6faf6;
	padding: 3.75em 1em 6.25em;
}
#content07 .upper .inner {
	max-width: 1000px;
	margin: 0 auto;
}
#content07 .upper h2 { margin: 0 0 2.75em; }

#content07 .upper table {
	width: 100%;
	table-layout: fixed;
}
#content07 .upper table th,
#content07 .upper table td {
	border: 1px #cacaca solid;
	font-size: clamp(0.768rem, 1.64vw, 1.125rem);
	padding: 1em;
	line-height: 1.5;
	vertical-align: middle;
}
#content07 .upper table th {
	width: 25%;
	background: #f3f3f3;
	font-weight: 700;
	text-align: center;
}
#content07 .upper table td {
	background: #fff;
}

/* bottom */

#content07 .bottom {
	background: #019644;
	padding: 0 1em;
}
#content07 .bottom .inner {
	max-width: 1100px;
	margin: 0 auto;
}


/* ---------------------------------------- footer */

footer { text-align: center; }
footer .upper p.sitelink {
	color: #019644;
	text-decoration: underline;
	margin: 1em 0 0;
}

footer .sns { margin: 1.5em 0 0; }
footer .sns a { 
	display: inline-block; 
	margin: 0 1em 0 0;
}
footer .sns a img {
	width: 3em;
	aspect-ratio: 1;
}

/* ---------------------------------------- shikibu */

@media (max-width: 750px) {

	footer .upper .inner {
		font-size: clamp(0.813rem, 0.673rem + 0.7vw, 1rem);
		padding: 1.75em 1.428571428em;
	}
	footer .upper .logo { margin: 0 0 1em; }
	footer .upper .logo span {
		display: block;
		font-size: clamp(0.625rem, 0.346rem + 1.4vw, 1rem);
		margin: 0 0 .5em;
	}
	footer .upper .logo img { 
		width: 40%; 
		max-width: 220px;
	}
	footer .upper .sitelink {
		margin: 1em 0 0;
	}
	footer .upper .sitelink a {
		color: #019644;
		text-decoration: underline;
	}
	
	footer .bottom {
		color: #fff;
		background: #019644;
		font-size: clamp(0.625rem, 0.253rem + 1.86vw, 1.125rem);
		text-align: center;
		padding: .5em 1.428571428em;
	}
	footer .bottom .inner {
		font-size: clamp(0.625rem, 0.439rem + 0.93vw, 0.875rem);
		padding: 0 1.428571428em;
	}

}

@media (min-width: 751px) {

/* upper */

	footer .upper { 
		font-size: clamp(0.813rem, 0.411rem + 0.86vw, 1rem);
		padding: 3.75em 1em 2.75em;
	}
	footer .upper .inner {
		max-width: 1100px;
		margin: 0 auto;
	}
	footer .upper .logo { margin: 0 0 2em; }
	footer .upper .logo span {
		display: block;
		font-size: clamp(0.625rem, 0.491rem + 0.29vw, 0.688rem);
		margin: 0 0 .5em;
	}
	footer .upper .logo img {
		width: 19.545454%;
		height: auto;
	}

	/* bottom */
	
	footer .bottom { 
		color: #fff;
		background: #019644;
		font-size: clamp(0.625rem, 0.491rem + 0.29vw, 0.688rem);
		padding: .5em 0;
	}

}


/* ----------------------------------------
   area shikibu PC
   yellow area bottom-aligned / centered
---------------------------------------- */

#area {
	position: relative;
	overflow: hidden;
	padding: 3.8em 1em 220px;
}

#area .inner {
	position: relative;
	z-index: 2;
}

#area .area-shikibu {
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 300px;
	height: auto;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	z-index: 1;
	pointer-events: none;
}
