@charset "UTF-8";
/* CSS Document */

/*=========================
CSS　リセット
=========================*/
/* 
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;
	}
body {
line-height:1.6rem;
	}
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;
border-style:none;
text-decoration:none;
	}
/* 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;
	}

/*=========================
基本設定
=========================*/
.clearfix:after {
	visibility: hidden;
	display: block;
	content: " ";
	clear: both;
	height: 0;
	}
* html .clearfix	{ zoom: 1;
	} /* IE6 */
*:first-child+html .clearfix { zoom: 1;
	} /* IE7 */

body{
	font-family:"Noto Sans Japanese";
	line-height: 1.6em;
	font-size:1em;
	text-align:center;
	height:100%;
	background-color:#FFF;
	color:#3a3a3a;
	/*-----------コンテンツが少ない時のフッター固定対策*/
	margin:0;
}
html{
	height: 100%;
	margin:0;
	}
li{
	list-style: none;
	list-style-type: none;
	}
a{
	border-style:none;
	text-decoration:none;
	color:inherit;
	}
a:focus, *:focus {
	outline:none;
	}
a{
	color:#3a3a3a;
	}
a:hover {
	opacity: 0.6;
	}
/*-----------コンテンツが少ない時のフッター固定対策*/
.wrapper{
	/*min-height: 100%;*/
	/* フッタの高さと等しいネガティブマージン */
	/* また最後の子要素の潜在的なマージンとしても機能 */
	margin-bottom: -80px;
}
.link{
	border-bottom: 2px dotted #e8e3ce;
	line-height: 2em;
	}
h1,h2,h3,h4,h5{
	margin:0px;
	font-weight:normal;
	}
.pagetop{
	display:none;
	position:fixed;
	bottom:1em;
	right:1em;
	}
.pagetop img{
	display:block;
	}
.pagetop a:hover{
	opacity:1;
	}
.f_left{
	float:left;
	}
/*-----------テキスト*/
strong{
	font-weight:inherit;
	}
.white{
	color:#FFF;
	}
.bold{
	font-weight:bold;
	}
.t_center{
	text-align:center;
	}
.t_left{
	text-align:left;
	}
.t_right{
	text-align:right;
	}
.small{
	font-size:0.3rem;
}
.f_80{
	font-size:80%;
	}
.f_90{
	font-size:90%;
	}
.mincho{
	font-family: "Sawarabi Mincho";
	font-weight:600;
	}
.serif{
	font-family: 'IM Fell English', serif;
	text-transform:capitalize;
}
/*=========================
スマートフォン
=========================*/
/*-----------共通（スマホ）*/

/*-----------バナー*/
.banner{
	font-size:1.2rem;
	padding:1.5rem;
	background-image:url(../img/banner.png);
	background-repeat:no-repeat;
	background-size:cover;
}
.banner:hover{
	opacity: 0.8;
}
.banner dd{
	font-size: 80%;
	line-height: 3em;
}
/*-----------ヘッダー（スマホ）*/
main{
	padding-top:76px;
	display:block;
	}
header{
	background-color:#FFF;
	background-image:url(../img/line_wave.png);
	background-repeat:repeat-x;
	background-position:bottom;
	background-position: 0 140px;
	
	
	-moz-box-shadow: 0px 3px 10px rgba(216, 216, 216, 0.5);
	-webkit-box-shadow: 0px 3px 10px rgba(216, 216, 216, 0.5);
	box-shadow:0px 3px 10px rgba(216, 216, 216, 0.5);
	}
#h1{
	position:fixed;
	z-index:100;
	padding-left: 20px;
	}
#h1 h1{
	padding:15px 0;
	font-size: 1.1rem;
	letter-spacing:10px;
	}
#h1 h1:hover{
	opacity:0.95;
	}
#h1 h1 .small{
	letter-spacing: 5px;
	line-height:1.35rem;
}
#maincontents{
	padding:0;
	}
#maincontents p img{
}

/*-----------meanmenu メニュー（スマホ）*/
.mean-container .mean-bar {
	z-index:90;
	padding:0 0 !important;
	}
.mean-container .mean-nav {
	margin-top:76px;
	}
.mean-container .mean-bar {
	background-color:#FFF;
	position:fixed;
	height:76px;
	-moz-box-shadow: 0px 3px 10px rgba(216, 216, 216, 0.5);
	-webkit-box-shadow: 0px 3px 10px rgba(216, 216, 216, 0.5);
	box-shadow:0px 3px 10px rgba(216, 216, 216, 0.5);
	}
.mean-container .mean-nav{
	background-color:#f3f3f3;
	}
.mean-nav ul li a.coming img{
	display: block;
	margin-top: -1.3em;
	width: 70px;
	}
.mean-container .mean-nav ul li a.mean-expand {
	border-left:none !important;
	border-bottom:none 	!important;
	background-color-:rgba(212, 237, 234, 1) !important;
	}/*
.mean-container .mean-nav ul li a.mean-expand:hover{
	background:rgba(248, 202, 214);
	}*/
#gNav li a.coming img{
	display: block;
	margin-top: -1.3em;
	}
.mean-container .mean-nav ul li a{
	padding:10px 5%;
	padding-left:2em;
	}
.mean-container .mean-nav ul li ul li a{
	padding:10px 5%;
	padding-left:4em;
	}
.mean-container .mean-nav ul li a.mean-expand {
	height:33px;
	font-size: 30px;
	font-weight: normal;
	}
/*-----------ハンバーガーアイコン調整*/
.mean-container a.meanmenu-reveal {
	width:30px;
	height:26px;
	padding:25px 15px;
	}
.mean-container a.meanmenu-reveal span {
	margin-top:8px;
	}
.mean-container a.meanmenu-reveal span:first-child{
	margin-top:0px;
	}
.meanclose{
	font-size:10px !important;
	font-weight:100 !important;
	line-height:62px !important;
	padding:0 18px!important;
	}
#logo{
	text-align:left;
	bottom:0px;
	height:inherit;
	}
#logo a{
	background-image:url(../img/logo.png);
	background-repeat:no-repeat;
	background-size:contain;
	background-position:bottom left;
	height:inherit;
	display:block;
	text-indent:-9999px;
	overflow:hidden;
	}
#logo a:hover{
	opacity:1;
	}
/*-----------SNS */

#sns ul{
	text-align: center;
}
#sns ul li {
	display: inline;
	width: 20px;
	padding-left: 5px;
}
/*-----------フッター（スマホ）*/
footer{
	width:100%;
	bottom: 0;
	}
/*-----------コンテンツが少ない時のフッター固定対策*/
.footer,.push {
	height:80px;
}
footer a{
	color:#fff;
	}
footer h6{
	font-weight:500;
	font-size:110%;
	line-height:40px;
	}
footer .address{
	line-height:1.3em;
	padding-bottom: 30px;
	}
footer .f_80{
	margin-top:10px;
	}
footer small{
	font-size:70%;
	}

/*======================
#TOP（スマホ）
========================*/

/*-----------TOP トップイメージ（スマホ）*/
/*======================
#PROFILE（スマホ）
========================*/
#PROFILE section h2{
	font-weight:bold;
	line-height:3rem;
	text-align:left;
	padding:0 20px;
	margin-top:10px;
}
#PROFILE section p{
	text-align:left;
	padding:0 20px 20px 20px;
}
#PROFILE section p.small{
	text-align:right;
	padding-right:5px;
}
#PROFILE section img{
	width:100%;
}
/*======================
#GALLERY（スマホ）
========================*/

/*-----------lightboc（スマホ）*/
.lbox{
	margin:20px 0;
}
/*======================
#CONTACT（スマホ）
========================*/
/*======================
#NEWS（スマホ）
========================*/
#NEWS section h2{
	font-weight:bold;
	line-height:3rem;
	text-align:left;
	padding:0 20px;
	margin-top:10px;
}
#NEWS section p{
	text-align:left;
	padding:0 20px 20px 20px;
}
#NEWS section p.img_box img{
	border:1px solid #DDD;
	width:100%;
	margin-bottom:10px;
	max-width:650px;
}
#NEWS section p.img_box_tate img{
	width:100%;
	border:1px solid #DDD;
	margin-bottom:10px;
	}
/*-----------メールフォーム（スマホ）*/
#CONTACT th{
	font-weight:normal;
	font-size:0.9rem;
}

#CONTACT #formWrap{
	margin: 0 auto;
	margin-top: 30px;
	margin-bottom: 30px;
	width:95%;
	}
#CONTACT #formWrap h2{
	line-height:90px;
	}
#CONTACT .must{
	color:#F00;
	padding-left:5px;
	}
/*固定ヘッダーとの調整*/
#CONTACT .frame_03{
	padding-top:106px;
	margin-top:-76px;
	}
#CONTACT #formWrap dt{
	margin-bottom:10px;
	}
#CONTACT #formWrap .formTable{
	width:98%;
	margin: 0 auto;
	text-align: left;
	line-height: 20px;
	margin-top:40px;
	margin-right:10px;
	}
#CONTACT #formWrap .formTable tr{
	margin-bottom:20px;
	}
#CONTACT #formWrap .formTable th{
	display:block;
	font-weight:normal;
	font-size:80%;
	vertical-align:baseline;
	text-align:left;
	}
#CONTACT #formWrap .formTable th.bottom{
	vertical-align:top;
	}

#CONTACT #formWrap .formTable td{
	display:block;
	border:none;
	padding-bottom:20px;
	}
#CONTACT #formWrap .formTable .must{
	font-size:70%;
	}
#CONTACT #formWrap .formTable input{
	height:25px;
	width:98%;
	font-size:90%;
	border: 1px solid #AAA;
	}
#CONTACT #formWrap .formTable textarea{
	width:98%;
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	font-size:90%;
	border: 1px solid #AAA;
	}
#CONTACT #formWrap .input_button input{
	font-size:0.8rem;
	background-color: #FFF;
	width: 70px;
	padding: 2px;
	border: none;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	border-radius: 4px;
	-moz-box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.5);
	-webkit-box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.5);
	box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.5);
	filter: progid:DXImageTransform.Microsoft.Shadow(strength = 1, direction = 135, color = '#000000');
	-ms-filter: "progid:DXImageTransform.Microsoft.Shadow(strength = 1, Direction = 135, Color = '#000000')";
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#ffffff', endColorstr = '#DDD');
	-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr = '#ffffff', endColorstr = '#DDD')";
	background-image: -moz-linear-gradient(top, #ffffff, #DDD);
	background-image: -ms-linear-gradient(top, #ffffff, #DDD);
	background-image: -o-linear-gradient(top, #ffffff, #DDD);
	background-image: -webkit-gradient(linear, center top, center bottom, from(#ffffff), to(#DDD));
	background-image: -webkit-linear-gradient(top, #ffffff, #DDD);
	background-image: linear-gradient(top, #ffffff, #DDD);
	-moz-background-clip: padding;
	-webkit-background-clip: padding-box;
	background-clip: padding-box;
	}
/*-----------THANK YOU（スマホ）*/
#THANKS section h2{
	font-weight:bold;
	line-height:3rem;
	text-align:center;
	padding:0 20px;
	margin-top:30px;
}
#THANKS section p{
	text-align:center;
	padding:0 20px 20px 20px;
}
/*======================
#404（スマホ）
========================*/
#error_404 .wrapper main #section1 div p{
	padding-top:7rem;
	}
/*=========================
タブレット用
=========================*/

@media screen and (min-width: 600px) {
/*-----------共通（タブレット）*/
main{
	padding-top:0;
	}
.sidebar{
	width: 28%;
	margin:0 auto;
	margin-top:30px;
}
.banner{
	font-size:1rem;
}
/*-----------ヘッダー（タブレット）*/
#h1 {
	width:100%;
	height:auto;
	text-align:center;
	z-index:80;
	position:static;
	}
#h1 h1{
	padding: 40px 0 40px 0;
	float:left;
	font-size: 1.2rem;
	}
#h_top {
/*flexbox IE8-9互換表示用*/
	-js-display: flex;
	display:flex;
	justify-content: space-between;
	align-items: center;
	height:128px;
	}
#h1 img.cl_b{
	height: 60px;
	width: auto;
	margin:0 auto;
	}
#h1 img.cl_c{
	width: auto;
	height: 53px;
	margin-left: 50px;
	}
#TOP #topimage {
	padding-top:0;
	}
/*-----------meanmenu（タブレット）*/
.h_nav{
	width: 100%;
}
#gNav .sub-menu {
	visibility: hidden;
	opacity: 0;
	z-index: 1;
	display: block;
	position: absolute;
	left: 50%;
	margin-left: -100px;
	}
#gNav .sub-menu a:hover:after {
	content: none;}
#gNav ul {
	margin-right:30px;
	position: relative;
/*flexbox IE8-9互換表示用*/
	-js-display: flex;
	display: flex;
	display: -webkit-flex;
	z-index:150;
	margin-left:-1em;
	padding-left:0.5em;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
	-webkit-align-items: center;
	align-items: center;
	float:right;
	}
#gNav ul li {
	position:relative;
	line-height: 30px;
	padding-left:0;
	padding-bottom:19px;
	}#gNav li ul li:after {
	content: none;}#gNav ul > li:hover {
	-webkit-transition: all .5s;
	transition: all .5s;}
#gNav li a {
	position: relative;
	display: block;
	padding-left:2em;
	color:#333;
	font-size: 95%;
	}

#gNav li a:hover{
	/* background-color:#ffe7ed; */
}
#gNav li:hover ul.sub-menu {
	visibility: visible;
	opacity: 1;
	z-index: 9999;
	margin-top:-5px;
	}
#gNav .sub-menu li {
	display: block;
	font-size: 16px;
	padding: 0;
	margin: 0;
	background-color:#FFF;
	text-align:left;
	width:14.5em;
	/*サブメニューの高さに隙間ができるとうまく表示されないので注意*/
	line-height: 50px;
	}
#gNav #li_sakuhin li {
	left:30px;
	width:14.5em;
	}
#gNav #li_flaherty li {
	left:20px;
	width:12em;
	}
#gNav .sub-menu li:first-child{
	padding-top15px;
	}
#gNav .sub-menu li a {
	display: block;
	padding:0 1.5em;
	}
#gNav .sub-menu li a:hover{
	/*background-color:#f59fbb/;*/
	opacity:0.5;
	}
.fa {
	display: inline-block;
	font: normal normal normal 14px/1 FontAwesome;
	font-size: inherit;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	}
.fa-angle-down:before {
	content:url("../img/btn_downmenu.png");
	padding-left:0.3em;
	}
/*-----------フッター （タブレット）*/
/*======================
#PROFILE（タブレット）
========================*/
/*======================
#GALLERY（タブレット）
========================*/
#GALLERY main{
	margin-top:30px;
}
.lbox{
	width:90%;
	margin:0 auto;
}
/*======================
NEWS（タブレット）
=======================*/
#NEWS section p.img_box_tate img{
	border:1px solid #DDD;
	width: 40%;
	margin-right: 20px;
	}
/*======================
#CONTACT（タブレット）
========================*/
}
/*=========================
PC用
=========================*/

@media screen and (min-width: 1024px) {
/*-----------共通（PC）*/
header{
	-moz-box-shadow:none;
	-webkit-box-shado:none;
	box-shadow:none;
}
#header .container{
	width:850px;
	margin:0 auto;
}
#h1 h1{
	margin-left: -1rem;
}
.inner {
	width:850px;
	margin:0 auto;
	}
main{
	width:65%;
	float:left;
}
.sidebar{
	float:right;
	width:27%;
	margin-top:0;
}
/*-----------meanmenu（PC）*/
#gNav ul{
	margin-right:0;
}
#gNav li a {
	}
#TOP #topimage img.tb{
	display:none;
	}
#TOP #topimage img.pc{
	display:block;
	}
.bg_tb,.bg_tbwh{
	max-width:800px;
	}
.bg_tb section,.bg_tbwh section{
	max-width:800px;
	}

/*-----------フッター（PC）*/

#sns{
	padding:60px 0 30px 0;
	}
#sns ul li img{
	width:25px;
	}
/*======================
PROFILE（PC
========================*/
#PROFILE section h2{
	padding:0;
	line-height:1rem;
}
#PROFILE section p{
	padding:20px 0;
}
#PROFILE section p.small{
	padding:0;
}
/*======================
GALLERY(PC)
=======================*/
#GALLERY main{
	margin-top:0;
}
/*======================
CONTACT(PC)
=======================*/
#THANKS section h2{
	text-align:left;
}
#THANKS section p{
	text-align:left;
	}
}
/*=========================
PC 1000px以上用
=========================*/

@media screen and (min-width: 1001px) {
}