@charset "UTF-8";

@import url('https://fonts.googleapis.com/css?family=Allura|M+PLUS+1p:400,500,700,800&display=swap&subset=japanese');


/*----------------------------------------------------*/ 
/* Reset style
-----------------------------------------------------*/ 
/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated:2010-09-17
Author:Richard Clark - http://richclarkdesign.com 
Twitter:@rich_clark
*/

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;
}
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;
}
del {
	text-decoration:line-through;
}
abbr[title], dfn[title] {
	border-bottom:1px dotted;
	cursor:help;
}
table {
	border-collapse:collapse;
	border-spacing:0;
}

hr {
	display:block;
	height:1px;
	border:0;
	border-top:1px solid #ccc;
	margin:1em 0;
	padding:0;
}
input, select {
	vertical-align:middle;
}
li {
	list-style:none;
}
img {
	vertical-align:bottom;
	font-size:0;
	line-height:0;
	max-width:100%;
	height:auto;
}

body h1,body h2,body h3,body h4,body h5,body ul, body ol, body table, body dl, body p ,body .quote {
	transform:rotate(0.005deg);
}

body img {
	transform:rotate(-0.005deg);
}

/*----------------------------------------------------*/ 
/* Base style
-----------------------------------------------------*/ 

html {
	font-size:62.5%; /* sets the base font to 10px for easier math */
}

body {
	background:#FFF;
	color:#504f4f;
	font-family:'M PLUS 1p', sans-serif;
	font-size:1.6rem;
	font-weight:400;
	line-height:1.8;
}

.latin {
	font-family:'Allura', cursive;
	font-weight:normal !important;
}

body, html {
	min-width:1080px;
}

@media only screen and (max-width:767px) {

body {	font-size:2.8vw;}
body, html {	min-width:0;}

}


a:link {	color:#504f4f;	text-decoration:none;}
a:visited {	color:#504f4f;	text-decoration:none;}
a:hover {	color:#504f4f;	text-decoration:none;}
a:active {	color:#504f4f;	text-decoration:none;}

p { line-height:1.8;}

a img {	transition:all .3s ease;}
a:hover img {	opacity:.8;}

.sp {	display:none;}
.pc {	display:block;}


@media only screen and (max-width:767px) {

.sp {	display:block;}
.pc {	display:none;}

p { line-height:1.8;}

}

@media all and (min-width:641px) {

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

}


/* header
-----------------------------------------------------*/ 
#header {
	background:#fbf1e8 url(/lib/img/cmn/bg_header.gif) center top no-repeat;
	padding:25px 0;
	position:relative;
}

#header .hd_inner {
	margin:0 auto;
	position:relative;
	width:1080px;
}

#header .logo {
	height:112px;
	left:0;
	line-height:1;
	position:absolute;
	top:-11px;
	width:370px;
}

#header dl {
	letter-spacing:-.40em;
	margin-bottom:10px;
	text-align:right;
}

#header dl dt {
	display:inline-block;
	letter-spacing:normal;
	vertical-align:middle;
}

#header dl dd {
	display:inline-block;
	letter-spacing:normal;
	vertical-align:middle;
}

#header .btn_pink {
	margin-right:15px;
}

#header .btn_pink span {
	padding:.3em .4em;
}

#header dl dt span.cmt {
	background:#fff;
	border-radius:50%;
	box-sizing:border-box;
	color:#ed7482;
	font-size:1.2rem;
	display:inline-block;
	height:60px;
	line-height:60px;
	margin:0 15px 0 0;
	padding:0 5px;
	position:relative;
	text-align:center;
	width:60px;
	vertical-align:middle;
}

#header dl dt span.cmt:before {
	border:10px solid transparent;
	border-left:10px solid #fff;
	content:"";
	margin-top:-10px;
	position:absolute;
	right:-15px;
	top:50%;
	z-index:0;
}

@media only screen and (max-width:767px) {

#header {
	background:#fff;
	padding:8px 0;
}

#header .hd_inner {
	margin:0;
	width:auto;
}

#header .logo {
	height:auto;
	left:auto;
	margin:0 auto;
	position:static;
	top:auto;
	width:67%;
}

#header dl {
	display:none;
}

}

/* gnav
-----------------------------------------------------*/ 
#btn_spmenu {
	display:none;
}

#gnav {
	margin-left:480px;
}

#gnav ul {
	display:-ms-flexbox;
	display:flex;
	-ms-flex-pack:justify;
	justify-content:space-between;
}

#gnav ul li {
	text-align:center;
}

#gnav ul li a {
	color:#3c3311;
	font-weight:500;
	line-height:1.2;
	letter-spacing:.05em;
}

#gnav ul li a span {
	color:#b9ab79;
	display:block;
	font-family:'Allura', cursive;
	font-size:1.8rem;
	font-weight:300;
}

@media only screen and (max-width:767px) {

#btn_spmenu {
	background:url(/lib/img/cmn/icon_spmenu.gif) no-repeat center center;
	background-size:19px 16px;
	cursor:pointer;
	display:block;
	height:16px;
	left:16px;
	margin-top:-8px;
	position:absolute;
	top:50%;
	width:19px;
	z-index:2;
}
		
.js-slidemenu #btn_spmenu {
	background:url(/lib/img/cmn/icon_spmenu_close.gif) no-repeat center center;
	background-size:19px 16px;
}

/* gnavi */
#gnav {
	background-color:#ed7482;
	box-sizing:border-box;
	height:100%;
	left:0;
	margin:0 0 0 15.5vw;
	padding:0;
	position:fixed;
	top:0;
	transform:translateX(100%);
	transition:all .4s;
	width:100%;
	z-index:15;
}

#gnav ul {
	display:block;
}

#gnav ul li {
	text-align:left;
}

#gnav ul li a {
	border-bottom:1px solid #fff;
	box-sizing:border-box;
	color:#fff;
	display:block;
	font-size:3.4vw;
	font-weight:400;
	padding:1.5em 34vw 1.5em 3em;
	position:relative;
}

#gnav ul li a:before {
	background:url(/lib/img/cmn/icon_sp_gnav.png) no-repeat;
	background-size:12px 12px;
	content:"";
	height:12px;
	left:1.5em;
	margin-top:-6px;
	position:absolute;
	top:50%;
	width:12px;
}

#gnav ul li a span {
	color:#fff;
	display:block;
	font-size:3.4vw;
	margin-top:-.5em;
	position:absolute;
	right:19vw;
	top:50%;
}

body.js-slidemenu #gnav {
	transform:translateX(0);
}

}


/* footer
-----------------------------------------------------*/ 
#footer {
	background:#e5ebee url(/lib/img/cmn/bg_ft_top.gif) center top no-repeat;
	background-size:contain;
	margin-top:5em;
	padding:145px 0 20px;
	position:relative;
}

#footer:before {
	background:url(/lib/img/cmn/img_leaf_07.png) no-repeat;
	content:"";
	height:160px;
	left:0;
	position:absolute;
	top:-78px;
	width:362px;
}

#footer:after {
	background:url(/lib/img/cmn/img_leaf_08.png) no-repeat;
	content:"";
	height:150px;
	position:absolute;
	right:0;
	top:-38px;
	width:282px;
}

#footer #fixnav {
	position:fixed;
	right:0;
	top:20%;
	z-index:3;
}

#footer #fixnav li {
	line-height:1;
	margin-bottom:10px;
}

#footer #gmap {
	height:0;
	margin-bottom:66px;
	overflow:hidden;
	padding-top:45%;
}

#footer .map iframe {
	height:100%;
	left:0;
	position:absolute;
	top:0;
	width:100%;
}

#footer .ft_info {
	margin:0 auto;
	position:relative;
	width:1080px;
}

#footer .ft_info p {
	left:0;
	line-height:1;
	height:102px;
	margin:-51px 0 0;
	position:absolute;
	top:50%;
	width:428px;
}

#footer .ft_info dl {
	color:#3c3311;
	margin-left:720px;
}

#footer .ft_info dl dt {
	font-size:1.8rem;
}

#footer .ft_info dl dd.tel {
	font-size:2rem;
	font-weight:500;
	line-height:1.1;
	margin-bottom:.8em;
}

#footer .ft_info dl dd.tel span {
	display:inline-block;
	margin:.8em 1em 0 0;
}

#footer .ft_info dl dd.btn_pink {
	display:block;
	margin-bottom:.8em;
	text-align:center;
}

#footer .copy {
	font-size:1.2rem;
	padding:3em .5em 0;
	text-align:center;
}

@media only screen and (max-width:767px) {

#footer {
	margin-top:3%;
	padding:35px 0 20px;
}

#footer:before {
	background:url(/lib/img/cmn/img_leaf_07.png) no-repeat;
	background-size:100px 44px;
	height:44px;
	top:-23px;
	width:100px;
}

#footer:after {
	background:url(/lib/img/cmn/img_leaf_08.png) no-repeat;
	background-size:73px 39px;
	height:39px;
	top:-24px;
	width:73px;
}

#footer #gmap {
	margin-bottom:32px;
	padding-top:45.2%;
}

#footer .ft_info {
	background:#fff;
	margin:0;
	padding:20px 0 17px;
	width:auto;
}

#footer .ft_info p {
	left:auto;
	height:auto;
	margin:0 auto 10px;
	position:static;
	top:auto;
	width:67.2vw;
}

#footer .ft_info dl {
	margin-left:0;
	text-align:center;
}

#footer .ft_info dl dt {
	font-size:2.8vw;
	margin-bottom:.3em;
}

#footer .ft_info dl dd.tel {
	display:none;
}

#footer .ft_info dl dd.btn_pink {
	margin:0 auto .4em;
	width:52.2vw
}

#footer .ft_info dl dd.btn_pink span {
	padding:.3em 1em;
}

#footer .copy {
	font-size:1.9vw;
	padding:.6em .5em;
}

#footer #fixnav {
	background:#fff;
	border-top:1px solid #b4b4ab;
	bottom:0;
	box-sizing:border-box;
	padding:13px 15px 0;
	position:fixed;
	right:0;
	top:auto;
	width:100%;
}

#footer #fixnav p.sp {
	font-size:3.1vw;
	font-weight:500;
	line-height:1.1;
	margin-bottom:1em;
	text-align:center;
}

#footer #fixnav p.sp span {
	display:inline-block;
	margin:.8em 1em 0 0;
}

#footer #fixnav p.sp a img {
	height:auto;
	width:40%;
}

#footer #fixnav ul {
	display:flex;
	justify-content:space-between;
}

#footer #fixnav li {
	text-align:center;
	width:48%;
}

#footer #fixnav li a {
	border-radius:4px;
	color:#fff;
	display:block;
	font-size:3.4vw;
	padding:1px;
}

#footer #fixnav li a span {
	border-radius:4px;
	display:block;
	padding:.8em .3em;
	position:relative;
}

#footer #fixnav li:first-child a {	background:url(/lib/img/cmn/bg_dither_pink.gif) repeat;}
#footer #fixnav li:first-child a span {	background:#ed7482;}
#footer #fixnav li:last-child a {	background:url(/lib/img/cmn/bg_dither_khaki.gif) repeat;}
#footer #fixnav li:last-child a span {	background:#b9ab79;}

#footer #fixnav li:first-child a span:before {
	background:url(/lib/img/cmn/icon_pc.png) no-repeat;
	background-size:19px 18px;
	content:"";
	display:inline-block;
	height:18px;
	margin-right:8px;
	vertical-align:middle;
	width:19px;
}

#footer #fixnav li:last-child a span:before {
	background:url(/lib/img/cmn/icon_top.png) no-repeat;
	background-size:18px 18px;
	content:"";
	display:inline-block;
	height:18px;
	margin-right:5px;
	vertical-align:middle;
	width:18px;
}

}



