@charset "utf-8";

/*------------------------------------------------------------------------------
  reset
------------------------------------------------------------------------------*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
margin:0;
padding:0;
border:0;
outline:0;
font-size:100%;
vertical-align:baseline;
background:transparent;
}

body {
line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
display:block;
}

nav ul {
list-style:none;
}

blockquote, q {
quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
content:'';
content:none;
}

a {
margin:0;
padding:0;
font-size:100%;
vertical-align:baseline;
background:transparent;
}

/* change colours to suit your needs */
ins {
background-color:#ff9;
color:#000;
text-decoration:none;
}

/* change colours to suit your needs */
mark {
background-color:#ff9;
color:#000;
font-style:italic;
font-weight:bold;
}

del {
text-decoration: line-through;
}

abbr[title], dfn[title] {
border-bottom:1px dotted;
cursor:help;
}

table {
border-collapse:collapse;
border-spacing:0;
}

/* change border colour to suit your needs */
hr {
display:block;
height:1px;
border:0;  
border-top:1px solid #cccccc;
margin:1em 0;
padding:0;
}

input, select {
vertical-align:middle;
}

img {
vertical-align: top;
}

ul, li {
list-style: none;
}


/* --------------------------------

Primary style

-------------------------------- */
html * {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

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

body {
	font-family:  'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', 'HiraKakuPro-W3', 'ＭＳ Ｐゴシック', 'MS PGothic',sans-serif;
	color: #333333;
	margin: 0px;
	padding: 0px;
	text-align: left;
	font-size: 16px;
	line-height: 1.8;
}

body, html {

}

h2 {font-size: 2.25em;}
h3 {font-size: 1.5em;}
h4 {font-size: 1.2em;}
strong {font-size: 1.4em; display:block;}
a:link { color: #c9062c; }
a:visited { color: #c9062c; }
a:hover { color: #c9062c; }
a:active { color: #c9062c; }

.pc-on {display: none !important;}
.pc-off {display: block !important;}
.sp-on {display: none !important;}
.w100 {width: 100%;}
.w50 {width: 50%;}
.bdr { border:1px solid #000; }

.f150 {font-size: 1.5em;}
.f120 {font-size: 1.2em;}

.accent { color: #928a5c; }
.underline {
	background: linear-gradient(transparent 60%, #d5cfb1 30%);
	width: 100%;
	padding:5px;
}

.left { text-align: left!important; }
.right { text-align: right!important; }

/*
* img-responsive
*/
img.responsive {
	width: 100%;
	max-width: 100%;
	height: auto;
}
/*
* clearfix
*/
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
	font-size: 1px;
	line-height: 0;
}
.clearfix { display: inline-block; }
.clearfix { display: block; }
/*
* onmouse
*/
a.onmouse:hover img{
	opacity:0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

#page-top {
	position: fixed;
	opacity: 0;
	z-index:1000;
	cursor: pointer;
    right: -20px;
    bottom: 80px;
    height: 50px;
    text-decoration: none;
    font-weight: bold;
    transform: rotate(90deg);
    font-size: 1em!important;
    line-height: 1.5rem;
    color: #737373;
    padding: 0 0 0 35px;
    border-top: solid 1px;
    display: block;
}

#page-top::before {
    content: "";
    display: block;
    position: absolute;
    top: -1px;
    left: 0px;
    width: 15px;
    border-top: solid 1px;
    transform: rotate(35deg);
    transform-origin: left top;
}

#page-top.fade-in {
	color: #000;
	font-size: auto;
	opacity: 0.6;
	transition: opacity 1s;
}

/* --------------------------------

Maincontents style

-------------------------------- */

/* -------- #section 共通 ---------- */

section{
	width: 100%;
	text-align:center;
	}

section div.wrap{
	position:relactive;
	padding:0 10px!important;
	display:block;
	width:100%;
	margin:0 auto;
	}

section h2 {
	position:relative;
	display: inline;
	font-size: 1.9rem;
	font-weight: 600;
	line-height: 1.5em;
	padding: 5px;
	margin:5px;
	color:#fff;
	top:30px;
	left:20px;
	background: linear-gradient(transparent 0%, #c2d94e 0%);
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
	}

@media screen and ( max-width:320px){
section h2 {
	font-size: 1.4rem;
}
}

@media screen and ( min-width:321px) and  ( max-width:400px){
section h2 {
	font-size: 1.5rem;
}
}

section h2 span{
	font-size:0.8em;
	}

section h2::before {
	content: "";
	position:absolute;
	width: 70px;
	height: 50px;
	background: url(images/h2-icon.png) no-repeat;
	background-size: contain;
	top: -30px;
	left:-25px;
}

section ul.photo-w{
display:block;/**/
justify-content: space-between;
margin-top:50px;
}

section ul.photo-w li{
width:100%;/**/
margin-top:30px;
}

section ul.photo-w li img{
width:100%;
box-shadow: 0 8px 8px 0 rgba(0, 0, 0, .3);
border:10px solid #fff;
}
/* -------- #header ---------- */

header {
	display:block;
	background: url("images/main-bg_sp.png") no-repeat top center;
	background-size:100%;/**/
	background-color:#93c04b!important;/**/
	padding:0;
}

header section div.wrap{
	margin:0 auto;
}

header section div.title {
	width:100%;/**/
	margin:0 0 0 0;
	padding-top:15px;
}

header section div.title img{
	width:100%;/**/
}

header section div.title h1{
	margin:10px 0 10px 0;
}

header section div.title div.cv {
	position: relative;/**/
	width:100%;/**/
	margin:200px 0 0 0;
}

header section div.title div.cv img.cv-bg {
	position: relative;
	width:100%;
	z-index:10;
	right:0;/**/
}

header section div.title div.cv div{
	position: absolute;
	width:100%;
	left: 50%;
	top:0;
	transform: translateX(-50%);
	z-index:20;
	margin:20px auto 0 auto;
}

header section div.title div.cv div img.icatch{
	position: absolute;
	top:-80px;
	right:0px;
	z-index:30;
	width:30%;/**/
}

header section div.title div.cv p.reserve img{
	width:160px;/**/
}
header section div.title div.cv p.tel img{
	width:90%;/**/
}

header section div.title div.cv p.time{
	color:#fff;
	font-weight:bold;
	line-height:normal;
	margin-top:5px;
	font-size:75%;/**/
}

@media screen and ( min-width:360px) and  ( max-width:420px){
header {
	display:block;
	background: url("images/main-bg_sp.png") no-repeat top -5px center;
	background-size:100%;/**/
	padding:0;
}
header section div.title div.cv div{
	margin:30px auto 0 auto;
}
header section div.title div.cv div img.icatch{
	top:-90px;
}
}

@media screen and ( min-width:421px) and  ( max-width:539px){
header {
	display:block;
	background: url("images/main-bg_sp.png") no-repeat top -20px center;
	background-size:100%;/**/
	padding:0;
}
header section div.title div.cv div{
	margin:45px auto 0 auto;
}
header section div.title div.cv div img.icatch{
	top:-115px;
}
header section div.title div.cv p.reserve img{
	width:40%;/**/
	margin-bottom:10px;
}
}

@media screen and ( min-width:540px) and  ( max-width:699px){
header {
	display:block;
	background: url("images/main-bg_sp.png") no-repeat top -175px center;
	background-size:100%;/**/
	padding:0;
}
header section div.title div.cv {
	margin:150px 0 0 0;/**/
}
header section div.title div.cv div{
	top:50px;/**/
	margin:20px auto 0 auto;
}
header section div.title div.cv div img.icatch{
	top:-150px;
}
header section div.title div.cv p.reserve img{
	width:40%;/**/
	margin-bottom:10px;
}
header section div.title div.cv p.time{
	font-size:90%;/**/
}
}

/* -------- #section1 ---------- */

section#section1 {
	position:relative;
	background-color: #fdf0fa;
	padding:40px 0;/**/
	height:auto;
}

section#section1 div.r-photo{
	width:100%;
}
section#section1 div.r-back{
	position:absolute;
	width:100%;/**/
	height:300px;
	background-position: left top!important;
	background-size:100%!important;/**/
	top:450px;/**/
}

@media screen and ( max-width:320px){
section#section1 div.r-back{
	top:500px;/**/
}
}

section#section1 div.r-photo div.text{
	width:100%;/**/
	height:680px;
	text-align:left;
}

section#section1 div.r-photo div.midashi{
	height:140px;
}

section#section1 div.r-photo p{
	width:100%;
	margin:0 0 0 0;/**/
}


/* -------- #section2 ---------- */

section#section2 {
	background-color: #fff;
	padding:40px 0 0 0;/**/
	text-align:left;/**/
}

section#section2 div.midashi{
	height:100px;/**/
}

section#section2 div.floor{
	position: relative;
	background: url("images/back-tree.png") repeat-x;
	background-color: #ddea9d;
	padding-bottom:40px;/**/
	margin-top:120px;
}

section#section2 div.floor img.midashi{
	position: absolute;
	top: -50px;
	left: 50%;
	transform: translateX(-50%);
	max-width:100%;
}

section#section2 div.floor p img{
	max-width:100%;
}


/* -------- #section3 ---------- */

section#section3 {
	background: linear-gradient(180deg, #fef4e0 0%, #fef4e0 55%, #5a3819 55%, #5a3819 100%);
	padding:40px 0;/**/
	text-align:left;/**/
}

@media screen and ( max-width:420px){
section#section3 {
	background: linear-gradient(180deg, #fef4e0 0%, #fef4e0 52%, #5a3819 52%, #5a3819 100%);
	padding:40px 0;/**/
	text-align:left;/**/
}
}

section#section3 div.wrap{
	display:block;/**/
	justify-content: center;
}

section#section3 div.wrap div.text{

}

section#section3 div.wrap div.text div.midashi{
	height:150px;
}

section#section3 div.wrap div.text div.box{
	width:100%;/**/
	margin-left:0;/**/
	border:2px solid #c2d94e;
	border-radius:10px;
	background-color:#fff;
	padding:10px;
	text-align:center;
}

section#section3 div.wrap div.text div.box h3{
	background-color:#5a3819;
	color:#fff;
	padding:5px;
	text-align:center;
}

section#section3 div.wrap div.text div.box p{
	font-size:1.5em;/**/
	font-weight:bold;
	color:#5a3819;
}
section#section3 div.wrap div.text div.box p span{
	font-size:0.6em;
}

section#section3 div.wrap div.text div.box span{
	font-size:1em;/**/
	font-weight:bold;
	color:#5a3819;
}

section#section3 div.wrap div.photo{
	padding-top:80px;
}

section#section3 div.wrap div.photo img{
	max-width:100%;
	width:100%;
	height:auto;
}

section#section3 h3.sogei-price{
	position:relative;
	display: inline-block;
	color:#fff;
	margin:80px 0 30px 45px;
	font-size:1.5em;
	left:50%;
	transform: translateX(-50%);
}

section#section3 h3.sogei-price::before {
	content: "";
	position:absolute;
	width: 49px;
	height: 47px;
	background: url(images/h3-icon.png) no-repeat;
	background-size: contain;
	left:-55px;
	vertical-align: middle;
}

section#section3 div.price{
	display:flex;
	justify-content: center;
	width: 100%;
}


section#section3 div.price p.circle {
	display: inline-grid;
	color: #fff;
	font-size:1.5em;
	font-weight:bold;
	background-color: #c2d94e;
	width: 140px;
	height: 140px;
	border-radius: 50%;
	text-align: center;
	align-content: center;
	margin:0 5px;
}

section#section3 p.note{
	color:#fff;
	margin:30px 10px 0 10px;/**/
}

/* -------- #section4 ---------- */

section#section4 {
	position:relative;/**/
	background-color: #fff;
	padding:40px 0;/**/
}

section#section4 div.l-photo{
	position:relative;
	width:100%;
	height:630px;
}

section#section4 div.l-back{
	position:absolute;
	width:100%!important;
	height:300px;
	background-position: center top!important;
	background-size: 100%!important;
	bottom:0;
}

@media screen and ( min-width:480px){
section#section4 div.l-back{
	height:400px;
}
}
@media screen and ( max-width:320px){
section#section4 div.l-photo{
	height:600px;
}
section#section4 div.l-back{
	height:250px;
}
}

section#section4 div.l-photo div.text{
	width:100%!important;/**/
	height:auto;/**/
	text-align:left;
	margin:0 0 0 auto;

}

section#section4 div.l-photo div.midashi{
	height:120px;/**/
}

section#section4 div.l-photo p{
	width:100%!important;/**/
	margin:0 0 0 0;/**/
}


/* -------- #cv ---------- */

section#cv{
	background: url("images/cv-bg.png") repeat-x;
	background-color:#c2d94e;
	margin-top:100px;
	padding:50px 10px 0 10px;
}

section#cv div.wrap{
	position:relative;
	background: url("images/cv.png") no-repeat center bottom;
	background-size:contain;
	text-align:left;
	height:200px;
}


section#cv div.wrap img.icatch{
	position:absolute;
	z-index:10;
	right:0;
	top:0px;
	width:20%;/**/
}

section#cv div.wrap div.text{
	display:block;/**/
	align-items: center;
	padding:50px 0 0 10px;
}

section#cv div.wrap div.text p.reserve{
	margin:0 auto;
	text-align:center;
}

section#cv div.wrap div.text p.reserve img{
	width:180px;
	margin-bottom:10px;
}

section#cv div.wrap div.text p.tel img{
	width:100%;
}

section#cv p.time{
	color:#fff;
	margin:5px 0 0 0;/**/
	font-size:0.7em;
	text-align:center;
}

@media screen and ( min-width:401px) and ( max-width:699px){
section#cv div.wrap{
	height:250px;
}
section#cv div.wrap img.icatch{
	top:-15px;
	right:0px;
	width:100px;/**/
}
section#cv div.wrap div.text{
	padding:50px 0 0 0;
}
section#cv div.wrap div.text p.reserve img{
	width:200px;
}
section#cv div.wrap div.text p.tel img{
	display:block;
	width:370px;
	margin:0 auto;
}
section#cv p.time{
	margin:5px 0 0 0;/**/
}
}

@media screen and ( min-width:360px) and  ( max-width:400px){
section#cv div.wrap{
	height:230px;
}
section#cv div.wrap img.icatch{
	top:-20px;
	right:0px;
	width:100px;/**/
}
section#cv div.wrap div.text{
	padding:60px 0 0 0;
}
section#cv div.wrap div.text p.reserve img{
	width:150px;
}
}

/* -------- #price ---------- */

section#price,
section#access {
	background-color:#fff;
	margin-top:60px;
}

section#price h2,
section#access h2 {
	position:static;
	display:inline-block;
	margin:5px 0 ;
	padding:0;
	background: linear-gradient(transparent 0%, #fff 0%);
	border-bottom:5px solid #c2d94e;
	color:#333;
	}

section#price h2 span,
section#access{
	font-size:0.8em;
	}

section#price h2::before,
section#access h2::before {
	content: "";
	position:static;
	width: 140px;
	height: 99px;
	background: url(none) no-repeat;
	background-size: contain;
	}

section#price h3 {
	text-align:left;
	margin-top:60px;
	}

section#price div.note {
	text-align:left;
	}

section#price ul {
	display:flex;
	flex-wrap: wrap;
}
section#price ul li{
	width:auto;/**/
	text-align:center;/**/
	padding:0.5em;
	border-bottom:1px solid #ccc;
}

section#price ul li.midashi{
	background-color:#c2d94e;
	color:#fff;
	font-weight:bold;
}

section#price ul li.midashi-a{
	background-color:#fff;
	color:#333;
	font-weight:bold;
}

section#price ul li.price-b{
	background-color:#eee;
}

section#price ul li.midashi-a,
section#price ul li.price-a{
	width:100%;
}
section#price ul li.midashi-b,
section#price ul li.price-b{
	width:50%;
}


section#access div.map{
	margin-top:60px;
	}

section#access span{
	display:block;
	text-align:left;
	}
/* -------- #footer ---------- */

	footer{
	background-color: #80b003;
	text-align:center;
	font-size:0.8em;
	color:#fff;
	padding:10px 0;
}
