@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: block !important;}
.pc-off {display: none !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 20px 0 20px!important;
	display:block;
	max-width:1024px;
	width:100%;
	margin:0 auto;
	}

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

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

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

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

section ul.photo-w li{
width:49%;
}

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_pc.png") no-repeat top center;
	background-size:cover;
	padding:0;
}

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

header section div.title {
	position: relative;
	max-width:100%;
	width:720px;
	height:796px;
	margin:0 0 0 auto;
	padding-top:30px;
}

header section div.title img {
	max-width:100%;
}

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

header section div.title div.cv {
	width:485px;
	margin:104px 0 0 auto;
}

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

header section div.title div.cv div{
	position: absolute;
	width:440px;
	z-index:20;
	margin:40px 0 0 0;
}

header section div.title div.cv div img.icatch{
	position: absolute;
	top:-150px;
	right:-50px;
	z-index:30;
}

header section div.title div.cv p.reserve{
margin-bottom:15px;
}

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:10px;
}

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

section#section1 {
	background-color: #fdf0fa;
	padding:80px 0;
}

section#section1 div.r-photo{
	position:relative;
	width:100%;
}
section#section1 div.r-back{
	position:absolute;
	width:52%;
	height:500px;
	background-position: left top!important;
	background-size: auto 100%!important;
	right:0;
}

section#section1 div.r-photo div.text{
	width:500px;
	height:500px;
	text-align:left;
}

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

section#section1 div.r-photo p{
	width:390px;
	margin:0 0 50px 50px;
}


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

section#section2 {
	background-color: #fff;
	padding:80px 0 0 0;
}

section#section2 div.midashi{
	height:150px;
}

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

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

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


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

section#section3 {
	background: linear-gradient(180deg, #fef4e0 0%, #fef4e0 50%, #5a3819 50%, #5a3819 100%);
	padding:80px 0;
}

section#section3 div.wrap{
	display:flex;
	justify-content: center;
}

section#section3 div.wrap div.text{
	width:500px;
	height:500px;
	text-align:left;
}

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

section#section3 div.wrap div.text div.box{
	width:365px;
	margin-left:50px;
	border:2px solid #c2d94e;
	border-radius:10px;
	background-color:#fff;
	padding:15px;
	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:2.2em;
	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:1.2em;
	font-weight:bold;
	color:#5a3819;
}

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

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

@media screen and ( min-width:700px) and  ( max-width:870px){
section#section3 div.wrap div.photo{
	padding-top:120px;
	padding-left:1em;
}
}

section#section3 h3.sogei-price{
	position:relative;
	display: inline-block;
	color:#fff;
	margin:80px 0 30px 55px;
	font-size:2em;
}

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.wrap p.circle {
	display: inline-grid;
	color: #fff;
	font-size:2em;
	font-weight:bold;
	background-color: #c2d94e;
	width: 200px;
	height: 200px;
	border-radius: 50%;
	text-align: center;
	align-content: center;
	margin:0 50px;
}

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

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

section#section4 {
	background-color: #fff;
	padding:80px 0;
}

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

section#section4 div.l-back{
	position:absolute;
	width:51%;
	height:450px;
	background-position: right top!important;
	background-size: auto 100%!important;
	left:0;
}

section#section4 div.l-photo div.text{
	width:500px;
	height:450px;
	text-align:left;
	margin:0 0 0 auto;
}

@media screen and ( min-width:700px) and  ( max-width:870px){
section#section4 div.l-photo div.text{
	width:400px;
	height:450px;
	text-align:left;
	margin:0 0 0 auto;
}
}

section#section4 div.l-photo div.midashi{
	height:220px;
}

section#section4 div.l-photo p{
	width:auto;
	margin:0 0 50px 50px;
	text-shadow: #fff 1px 2px;
}


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

section#cv{
	background: url("images/cv-bg.png") repeat-x;
	margin-top:120px;
	padding:50px 1em 0 1em;
}

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


section#cv div.wrap img.icatch{
	position:absolute;
	z-index:10;
	right:50px;
}

section#cv div.wrap div.text{
	display:flex;
	align-items: center;
	padding:50px 0 0 20px;
	justify-content: center;
}

section#cv div.wrap div.text p.reserve{
	margin-right:30px;
}

section#cv div.wrap div.text p.tel img{
	width:430px;
}

section#cv p.time{
	color:#fff;
	margin:10px 0 0 20px;
	text-align:center;
}

@media screen and ( max-width:1000px) {
section#cv div.wrap img.icatch{
	position:absolute;
	z-index:10;
	top:-50px;
	right:0;
	width:150px;
}
section#cv div.wrap div.text{
	padding:60px 0 0 0;
}
section#cv p.time{
	color:#fff;
	margin:10px 0 0 0;
}
}

@media screen and ( min-width:700px) and  ( max-width:870px){
section#cv div.wrap img.icatch{
	position:absolute;
	z-index:10;
	top:-80px;
	right:0;
	width:150px;
}
section#cv div.wrap div.text{
	padding:85px 0 0 0;
}

section#cv div.wrap div.text img{
	max-width:100%;
}
section#cv p.time{
	color:#fff;
	margin:10px 0 0 0;
}
}

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

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

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:33%;
	text-align:left;
	padding:0.5em;
	border-bottom:1px solid #ccc;
}

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


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;
}

a[href^="tel:"]{
	pointer-events: none;
}
