@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&family=Shippori+Mincho:wght@400;500;700&display=swap');

*, *:before, *:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html, body, h1, h2, h3, h4, h5, h6, p,
ul, ol, li, dl, dt, dd, a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	font-weight: normal;
	line-height: 1;
}

a { color: inherit;text-decoration: none;transition: all 0.3s ease 0s; }
li {list-style: none;}
img {max-width: 100%;}


html {
	font-size: 10px;
	font-weight: 400;
	color: #333;
	-webkit-text-size-adjust: 100%;
/*	scroll-behavior: smooth;*/
}

body {
	font-size: 1.6rem;
	font-family: 'Noto Sans JP', "Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
	font-style: normal;
	font-weight: 300;
	color:#1d1d1d;
	background:#fbf9f5;
}

.l-wrap {
	width: 100%;
	position: relative;
	padding: 0 0 0;
}
@media screen and (min-width: 800px) {
	.l-wrap {
		padding: 0;
		overflow: hidden;
	}
}

.pcv { display:none; }
.spv { display:block; }

@media screen and (min-width: 800px) {
	.pcv { display:block; }
	.spv { display:none; }
}


.floL {float:left;}
.floR {float:right;}

.clear  {content:"";display:table;clear:both;zoom:1;}
.ph-img { width:100%;height:auto; }

.shiM { font-family: 'Shippori Mincho', serif; }
.noto { font-family: 'Noto Sans JP', "Hiragino Kaku Gothic ProN","メイリオ", sans-serif; }



/*********************************************************************************************

	HEADER

**********************************************************************************************/
#header {
	width:100%;
	position:fixed;

	margin:0;
	z-index:9988;
	height:61px;
	background:#fbf9f5;
	box-sizing: border-box;
}
.header-bg {
	background: linear-gradient(to right, #296134 0%, #296134 50%, #4c862b 50%, #4c862b 100%);
	padding:3px 0;
}
.header-inner { padding:5px 10px 7px; }

.siteid {  }
.siteid a {
	display:block;
	text-indent:-9999px;
	background:url(../img/siteid.svg) 0 0 no-repeat;
	background-size:100%;
	width:200px;
	height:47px;
}

@media screen and (min-width: 800px) {
	#header {
		width:100%;
		margin:0;
		z-index:10;
		z-index:9988;

		height:110px;
/*		position:relative;
		background:none;
		border:none;
*/
	}

	.header-bg { padding:5px 0; }
	.header-inner {
		position:relative;
		padding:15px 60px;
		display:flex;
		justify-content: space-between;
		flex-wrap:wrap;
		align-items:center;
	}
	.siteid a {
		width:290px;
		height:69px;
	}
}

.l-nav_g { margin:0 15px; }
.l-nav_g li { position:relative; }

.l-nav_g li a {
	display:block;
	color:#fff;
	font-size:1.8rem;
	font-weight:700;
	padding:20px 0;
	transition: all 0.3s ease 0s;
	border-bottom:1px solid #eee;
}

#header .btn { width:70%;margin:15px auto; }


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

	.nav { padding:0; }
	.l-nav_inner:after {content:"";display:table;clear:both;zoom:1;}

	.l-nav_g {
		letter-spacing: -.4em;
		float:left;
		margin:15px 0 0 0;
	}
	.l-nav_g li {
		display: inline-block;
		letter-spacing: normal; 
		padding:0 1.5em;
	}
	.l-nav_g li:after {
		content:"";
		display:block;
		width: 1px;
		height:1em;
		background:#78947d;
		position:absolute;top:0;right:0;
	}
	.l-nav_g li:last-child:after { display:none; }

	.l-nav_g li a {
		color:#296134;
		font-size:1.6rem;
		padding:0;
		border:none;
		position:relative;
		padding:0 0 10px 0;
	}

	.l-nav_g li a::before {
		background: #429552;
		content: '';
		width: 100%;
		height: 2px;
		position: absolute;left: 0;bottom: 0;
		margin: auto;
		transform-origin: right top;
		transform: scale(0, 1);
		transition: transform .3s;
	}
	.l-nav_g li a:hover::before {
		transform-origin: left top;
		transform: scale(1, 1);
	}

	#header .btn {
		float:right;
		width:140px;
		margin:0;
	}
}



@media only screen and (max-width:799px) {
	.nav {
		position: fixed;top: 0;right: -320px;
		width: 300px;
		height: 100vh;
		padding-top: 60px;
		background-color: #296134;
		transition: all .6s;
		z-index: 200;
		overflow-y: auto;
	}

	.hamburger {
		position: absolute;top:6px;right:0;
		width: 55px;
		height:55px;
		cursor: pointer;
		z-index: 300;
		background:#296134;
	}

	.hamburger_border {
		position: absolute;left:8px;
		width: 70%;
		height: 2px;
		background-color: #fff;
		transition: all .6s;
	}

	.hamburger_border_top { top: 30px; }
	.hamburger_border_center { top: 20px; }

	.nav-open .hamburger_border { background-color:#fff; }
	.nav-open .hamburger_border_top { top: 20px;transform: rotate(45deg); }
	.nav-open .hamburger_border_center { top: 20px;transform: rotate(-45deg); }


	.black_bg {
		position: fixed;top: 0;left: 0;
		width: 100vw;
		height: 100vh;
		z-index: 100;
		background-color: #333;
		opacity: 0;
		visibility: hidden;
		transition: all .6s;
		cursor: pointer;
	}
	.nav-open .black_bg {
		opacity: .8;
		visibility: visible;
	}
	.nav-open .nav { right: 0; }
}/**/



@media screen and (min-width: 800px) {
	.hamburger,
	.black_bg { display:none; }
}






/*********************************************************************************************

	FOOTER

**********************************************************************************************/
#footer { background:#296134;padding:30px 0;text-align:center;color:#eee; }
.f-copy { font-size:1.2rem;line-height:1; }




/*********************************************************************************************

	Slider 基本

**********************************************************************************************/
.slick-slider {
	position: relative;

	display: block;
	box-sizing: border-box;

	-webkit-user-select: none;
	   -moz-user-select: none;
	    -ms-user-select: none;
	        user-select: none;

	-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
	    touch-action: pan-y;
	-webkit-tap-highlight-color: transparent;
}

.slick-list {
	position: relative;
	display: block;
	overflow: hidden;
	margin: 0;
	padding: 0;
}
.slick-list:focus { outline: none; }

.slick-list.dragging {
	cursor: pointer;
	cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
	-webkit-transform: translate3d(0, 0, 0);
	   -moz-transform: translate3d(0, 0, 0);
	    -ms-transform: translate3d(0, 0, 0);
	     -o-transform: translate3d(0, 0, 0);
	        transform: translate3d(0, 0, 0);
}

.slick-track {
	position: relative;top: 0;left: 0;
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.slick-track:before,
.slick-track:after {
	display: table;
	content: '';
}
.slick-track:after { clear: both; }
.slick-loading .slick-track { visibility: hidden; }

.slick-slide {
	display: none;
	float: left;
	height: 100%;
	min-height: 1px;
}

[dir='rtl'] .slick-slide { float: right; }
.slick-slide img { display: block; }
.slick-slide.slick-loading img { display: none; }
.slick-slide.dragging img { pointer-events: none; }
.slick-initialized .slick-slide { display: block; }
.slick-loading .slick-slide { visibility: hidden; }
.slick-vertical .slick-slide {
	display: block;
	height: auto;
	border: 1px solid transparent;
}
.slick-arrow.slick-hidden { display: none; }






/*********************************************************************************************

	CONTENTS

**********************************************************************************************/

#contents { width:auto; }

.c-inner {
	width:auto;
	margin:0 15px;
}
.c-inner:after {content:"";display:table;clear:both;zoom:1;}



@media screen and (min-width: 800px) {
	.c-box {
		padding-top: 110px;
		margin-top: -110px
	}
	.c-inner {
		width:1100px;
		margin:0 auto;
	}
}


.t-bold   { font-weight:700; }
.t-left   { text-align:left !important; }
.t-right  { text-align:right !important; }
.t-center { text-align:center !important; }




/* ============================================================
  見出し
============================================================== */

.ttl-area {
	font-family: 'Shippori Mincho', serif;
	margin:0 0 40px 0;
}

.ttl-area h2 {
	font-size:3.2rem;
	font-weight:700;
	color:#296134;
}

.ttl-area p {
	font-size:1.4rem;
	line-height:1.6;
	position:relative;
	margin:10px 0 0 0;
	padding:0;
}

@media screen and (min-width: 800px) {
	.ttl-area {
		display:flex;
		justify-content: start;
		flex-wrap:wrap;
		align-items:center;
		margin:0 0 80px -100px;
	}
	.ttl-area h2 { font-size:7.2rem; }
	.ttl-area p {
		font-size:1.6rem;
		margin:5px 0 0 30px;
		padding:0 0 0 30px;
	}
	.ttl-area p:before {
		content:"";
		display:block;
		width: 1px;
		height:100%;
		background:#666;
		position:absolute;top:0;left:0;
	}
}


/* ============================================================
  パーツ text link
============================================================== */
.t-txt,
.t-read {
	font-size:1.4rem;
	line-height:1.6;
	font-weight:400;
}
.t-note {
	font-size:1.3rem;
	line-height:1.4;
	color:#666;
	margin:10px 0;
}
.t-att {
	font-size:1.4rem;
	line-height:1.4;
	color:#666;
}

.t-exp {
	font-size:1.3rem;
	line-height:1.4;
}

.t-exp_att { font-size:1.2rem; }



@media screen and (min-width: 800px) {
	.t-txt { font-size:1.6rem; }
	.t-read { font-size:1.8rem; }
	.t-exp { font-size:1.4rem; }
}

.a-link {
	color:#0037d6;
	text-decoration:underline;
	transition: all 0.3s ease 0s;
}
.a-link:hover { opacity:0.8;filter:alpha(opacity=80);-ms-filter: "alpha( opacity=80 )"; }

.t-bold { font-weight:700 !important; }




/* ============================================================
  パーツ btn
============================================================== */

#page_top{
	position: fixed;bottom: 10px;right: 10px;
	opacity: 1.0;
	z-index:500;
}
#page_top a{
	display: block;
	text-decoration: none;
}

#page_top a img {
	width:50px;
	height:50px;
}


@media screen and (min-width: 800px) {
	#page_top{
		right: 50px;
		bottom:50px;
	}
	#page_top a img {
		width:62px;
		height:62px;
	}
}



/* 長丸 */
.btn-r {
	display:block;
	text-align:center;
	background:#296134;
	color:#fff;
	position: relative;
	z-index: 1;
	overflow: hidden;
}

.btn-r span { position:relative; }

.is-inq span:before {
	content:"\f1d8";
	display:block;
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	font-size:1.7rem;
	color:#fff;
	position:absolute;top:50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.btn-r::before {
	background: #429552;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;left: 0;bottom: 0;
	margin: auto;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform .4s;
	z-index: -1;
}
.btn-anime:hover::before {
	transform-origin: left top;
	transform: scale(1, 1);
}


#header .btn-r {
	padding:15px 0px 15px 30px;
	border-radius:30px;
	font-size:1.4rem;
}
#header .is-inq span:before {
	font-size:1.7rem;
	left:-30px;
}
#header .btn-r::before { border-radius:30px; }

@media screen and (max-width: 799px) {
	#header .btn-r { background:#fff;color:#296134; }
	#header .is-inq span:before { color:#296134; }
}




/* 長丸：ライン 
.btn-line {
	display:block;
	position:relative;
	text-align:center;
	border:1px solid #ababab;
	color:#ccc;
}
.btn-line:hover { background:rgba(195,195,195,0.2); }
*/




/* ============================================================
  パーツ 枠
============================================================== */
.is-beige { background-color:#f8ebc8; }
.is-items { align-items:center; }
.is-reverse { flex-direction: row-reverse; }

@media screen and (max-width: 799px) {
	.is-sp {
		display:flex;
		justify-content: space-between;
		flex-wrap:wrap;
	}
}

@media screen and (min-width: 800px) {
	.box-grid {
		display:flex;
		justify-content: space-between;
		flex-wrap:wrap;
	}
	.box-grid_c {
		display:flex;
		justify-content: center;
		flex-wrap:wrap;
	}
	.box-grid_s {
		display:flex;
		justify-content: start;
		flex-wrap:wrap;
	}
	.box-grid_e {
		display:flex;
		justify-content: end;
		flex-wrap:wrap;
	}
}

.box-order {
	display:-webkit-box;
	display: -webkit-flex;
	display:-ms-flexbox;
	display: flex;
	-webkit-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
}
.order_a {
	-webkit-box-ordinal-group:1;
	-ms-flex-order:1;
	-webkit-order:1;
	order:1;
}
.order_b {
	-webkit-box-ordinal-group:2;
	-ms-flex-order:2;
	-webkit-order:2;
	order:2;
}


.bg_dia { background:repeating-linear-gradient(-45deg, #f7f7f7, #f7f7f7 10px, #fff 0, #fff 20px); }





/* ============================================================
  表組
============================================================== */

.tbl-basic {
	border-collapse:collapse;border-spacing:0px;
	width:100%;
	margin:15px 0 0 0;
	clear:both;
	border:1px solid #ccc;
	color:#333;
}
.tbl-basic tbody th {
	padding:8px 5px;
	background:#e5ede6;
	border:1px solid #ccc;
	font-size:1.2rem;
	line-height:1.3;
	text-align:left;
	font-weight:400;
	width:25%;
}
.tbl-basic tbody td {
	padding:8px 5px;
	border:1px solid #ccc;
	font-size:1.2rem;
	font-weight:400;
	line-height:1.4;
	width:75%;
	background:#fff;
}

@media screen and (min-width: 800px) {
	.tbl-basic { margin:15px 0 0 0; }
	.tbl-basic tbody th {
		padding:10px 8px;
		font-size:1.4rem;
		width:25%;
	}
	.tbl-basic tbody td {
		padding:10px 8px;
		font-size:1.4rem;
		line-height:1.4;
	}
}




/* ============================================================
  リスト
============================================================== */
.li-yoko { letter-spacing: -.4em; }
.li-yoko li { display: inline-block;letter-spacing: normal;width:auto;margin:0 10px; }

.li-dot { margin:0 0 0 1em; }
.li-dot li {
	font-size:1.5rem;
	line-height:1.4;
	margin:0 0 0.5em;
	position:relative;
	padding:0 0 0 0.5em;
	text-indent:-0.5em;
}
.li-dot li:before {
	content:"・";
	display:inline-block;
}

.li-dec { margin:0 0 0 1.5em }

@media screen and (min-width: 800px) {
	.li-dot { margin:0 0 0 0; }
	.li-dot li { font-size:1.6rem; }

	.li-dec { margin:0 0 0 1.5em }
	.li-dec li { font-size:1.6rem; }
}


.li-line li {
	font-size:1.4rem;
	font-weight:300;
	line-height:1.4;
	margin:0 0 0.5em;
	position:relative;
	padding:0 0 0 25px;
	margin:15px 0;
}

.li-line li:before {
	content:"";
	display:block;
	width: 9px;
	height:4px;
	background:#0f0f0f;
	position:absolute;top:10px;left:5px;
}

@media screen and (min-width: 800px) {
	.li-line li { font-size:1.6rem; }
}



/* ============================================================
  JS Anime
============================================================== */
@media screen and (min-width: 800px) {
	/* Anime */
	.sa {
		opacity: 0;
		transition: all .5s ease;
	}
	.sa.show {
		opacity: 1;
		transform: none;
	}
	.sa--lr { transform: translate(-100px, 0); }
	.sa--rl { transform: translate(100px, 0); }
	.sa--up { transform: translate(0, 100px); }
	.sa--down { transform: translate(0, -100px); }
	.sa--scaleUp { transform: scale(.5); }
	.sa--scaleDown { transform: scale(1.5); }
	.sa--rotateL { transform: rotate(180deg); }
	.sa--rotateR { transform: rotate(-180deg); }
}




/* お問合せ */

#p-inq {  }
#p-inq.c-box {
	padding:80px 0;
	margin-top: 0px
}

@media screen and (min-width: 800px) {
	#p-inq.c-box {
		padding:200px 0;
		margin-top: 0px
	}
}



.tbl-inq {
	border-collapse:collapse;border-spacing:0px;
	width:100%;
	margin:15px 0 0 0;
	clear:both;
	color:#333;
	box-sizing: border-box;
	border-top:1px solid #ccc;
}
.tbl-inq tbody th {
	padding:15px 10px;
	background:#e5ede6;
	border-bottom:1px solid #ccc;
	font-size:1.4rem;
	line-height:1.3;
	text-align:left;
	font-weight:400;
	width:25%;
}
.tbl-inq tbody td {
	padding:15px 10px;
	border-bottom:1px solid #ccc;
	font-size:1.4rem;
	font-weight:400;
	line-height:1.4;
	width:75%;
	background:#fff;
}


.tbl-inq tbody th span.red { color:#f00; }
.tbl-inq tbody td ul li:first-child { margin-bottom:15px; }
.tbl-inq tbody td span { font-size:1.4rem; }
.tbl-inq tbody td p { text-align:center; }
.tbl-inq tbody td p.t-note { text-align:left;margin:5px 0 0 0; }
.tbl-inq tbody td p.col-att { color:#52a462; }

@media screen and (max-width: 799px) {
	.tbl-inq { width:100%;margin:10px 0px; }

	.tbl-inq tbody th,
	.tbl-inq tbody td {
		display:block;
		width:auto;
		padding:10px 5px;
	}
	.tbl-inq tbody th { width:100%; }
	.tbl-inq tbody td { width:100%; }


	.tbl-inq tbody td { padding:15px 5px; }
	.tbl-inq tbody td span { display:block;font-size:1.3rem;margin-top:5px; }
}



/* input ----------------------------------- */
input[type=radio],
input[type=checkbox] {
	display: inline-block;
	margin-right: 10px;
}
input[type=radio] + label,
input[type=checkbox] + label {
	position: relative;
	display: inline-block;
	margin-right: 12px;
	font-size: 16px;
	cursor: pointer;
}


@media (min-width: 1px) {
	input[type=radio],
	input[type=checkbox] {
		display: none;
		margin: 0;
	}

	input[type=radio] + label,
	input[type=checkbox] + label {
		padding: 0 0 0 35px;
	}

	input[type=radio] + label::before,
	input[type=checkbox] + label::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		display: block;
		width: 24px;
		height:24px;
		margin-top: -12px;
		background: #fff;
	}

	input[type=radio] + label::before {
		border: 1px solid #c3beba;
		border-radius: 30px;
	}
	input[type=checkbox] + label::before {
		border: 1px solid #c2c2c2;
		border-radius:         3px;
		-webkit-border-radius: 3px;
		-moz-border-radius:    3px;
		box-shadow:2px 3px 6px -4px #c2c2c2 inset;
	}

	input[type=radio]:checked + label::after,
	input[type=checkbox]:checked + label::after {
		content: "";
		position: absolute;
		top: 50%;

		-moz-box-sizing: border-box;
		box-sizing: border-box;
		display: block;
	}

	input[type=radio]:checked + label::after {
		left: 3px;
		width: 12px;
		height:12px;
		margin: -6px 0 0 3px;
		background: #52a462;
		border-radius: 10px;
	}
	input[type=checkbox]:checked + label::after {
		left: 3px;
		width: 21px;
		height: 13px;
		margin: -7px 0 0 0px;
		border-left: 5px solid #52a462;
		border-bottom: 5px solid #52a462;

		-webkit-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
} /* end */


input[type="text"], textarea, select {
	padding:10px;
	margin:0 5px 0 0;
	background-color:#fff;

	border: 1px solid #c2c2c2;
	border-radius:         3px;
	-webkit-border-radius: 3px;
	-moz-border-radius:    3px;
	box-shadow:2px 3px 6px -4px #c2c2c2 inset;
}

textarea {
	width:100%;
	height:230px;
}
.sizeS  {width:20%;}
.sizeM  {width:50%;}
.sizeL  {width:96%;}


@media screen and (min-width: 800px) {
	textarea {
		width:710px;
		height:230px;
	}
	.sizeS  {width:220px;}
	.sizeM  {width:310px;}
	.sizeL  {width:500px;}
}



.b-inq_area {
	text-align:center;
	margin-top:20px;
}

.b-inq {
	position: relative;
	text-align: center;
	display: inlin-block;
	margin:0 5px;
	width: 40%;
	box-sizing: border-box;
	padding: 10px;
	background:#f7f7f7;
	color: #999;
	
	border-radius: 8px;
	transition: 0.3s;
	outline:none;
	font-size:1.4rem;
	line-height: 1.4;
	border:1px solid #ccc;
}
.b-inq:hover { opacity: 0.8; }

.is-submit {
	background:#52a462;
	color:#fff;
	font-weight:700;
	font-size:1.6rem;
	width: 45%;
}

.btn-submit_area { margin:20px 0; text-align:center;}

@media screen and (min-width: 800px) {
	.b-inq {
		margin: 0 5px;
		width: 100%;
		max-width: 160px;
		font-size:1.4rem;
		line-height: 1.4;
	}
	.is-submit {
		font-size:1.6rem;
		max-width: 200px
	}
}


.t-kakunin {
	display:block;
	font-size:1.7rem;
	font-weight:700;
	margin:0 0 10px;
}

@media screen and (min-width: 800px) {
	.t-kakunin { font-size:2.0rem;margin:0 0 20px; }
}



/* thanks ----------------------------------- */
.inq-massage { text-align:center; }
.inq-ttl {
	font-size:1.8rem;
	font-weight:500;
	font-family: 'Shippori Mincho', serif;
	margin-bottom:1em;
	line-height:1.4;
}

.inq-massage .btn {
	margin:30px auto;
	width:60%;
}
.inq-massage .btn-r {
	padding:15px 0px;
	border-radius:30px;
	font-size:1.4rem;
}


@media screen and (min-width: 800px) {
	.inq-ttl { font-size:2.4rem;margin-bottom:2em; }
	.inq-massage .btn {
		margin:60px auto;
		width:240px;
	}
	.inq-massage .btn-r {
		padding:20px 0px;
		border-radius:40px;
		font-size:1.6rem;
	}
}


.inq-error { text-align:center; }
.inq-error p { text-align:left; }

.error-box {
	margin:25px 0;
	border:1px solid #ccc;
	background:#f7f7f7;
	padding:10px;
}
.error-box p {
	font-size:1.3rem;
	line-height:1.4;
	margin:0 0 0.5em;
	color:#f00;
}

@media screen and (min-width: 800px) {
	.error-box { padding:20px; }
	.error-box p { font-size:1.5rem; }
}







