@charset "utf-8";

* {
	margin: 0;
	padding: 0;
}

a:link,a:visited,a:active,a:hover {
	/*display: block;*/
	text-decoration: none;
	color: #900;
}

img { border: none; }

body {
	font-family: "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , sans-serif;
	font-size: 18px;
	line-height: 1.2em;
	color: #200;
	background-color: #f1e0ca;  /* 和紙色に合わせる */
	background-image: url("../img/background.jpg");

}

#wrapper {
	width: 100%;
	max-width: 960px;
	margin: 0px auto;
}
/* =========================================================
 Base
========================================================= */

#header {
	position: relative;
	overflow: hidden;
	margin: 0px auto;
	padding: 20px;
	text-align: left;
}

#headerImage {
	margin-left: 10px;
	width: calc( 90vw - 80px );
	min-width: 200px;
	max-width: 400px;
}

#main {
	overflow: hidden;
	width: 100%;
	padding: 10px;
	text-align: left;
}
#main .title-icon {
	margin: 80px 0px 8px 0px;
	text-align: left;
	font-size: 160%;
	font-weight: bold;
}
#main .title {
	margin: 10px 0px 3px 0px;
	text-align: left;
	font-size: 140%;
	font-weight: bold;
}
#main .title-sub {
	margin: 3px 0px 3px 0px;
	text-align: left;
	font-size: 120%;
	font-weight: bold;
}
#main .text {
	margin: 25px auto;
	max-width: 800px;
}
#main .news {
	background-color: #f8f8f8;
	border: 1px solid #333;
	margin: 12px auto;
	padding: 8px 16px;
	max-width: 800px;
}
#main .flexbox {
	display: flex;
	display: -ms-flexbox;
}
#main .news > .flexbox > .flexbox_t { flex: 1; padding-left: 1em; }
#main .news > .flexbox > .flexbox_d { flex: 6; padding-left: 1em; }

#main .midokoro {
	margin: 50px auto;
	max-width: 640px;
}

.midokoro_title {
	font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
	margin: 10px auto;
	color: #b33022;
	font-size: 140%;
	font-weight: bold;
}

.midokoro_title::before{
	content: '';
	display: block;
	background: #999;
	height: 1px;
	width: calc( 100vw - 50px - 4em );
	max-width: calc( 640px - 50px - 4em );
	margin-left: calc(  4.5em + 2px );
	position: relative;
	top: 7px;
}

.midokoro_title::after{
	content: '';
	display: inline-block;
	background: #999;
	height: 1px;
	width: calc( 100vw - 50px - 4em );
	max-width: calc( 640px - 50px - 4em );
	margin-bottom: 3px;
	margin-left: 0.5em;
}

.midokoro > .flexbox {
	margin: 10px auto;
}
.midokoro > .flexbox > .flexbox_t {
	border: 1px solid #333;
	flex:  1;
	height: calc( 100vw * 0.25 * 150 / 360 - 4px );  /* background image size 360x150px */
	max-width: 160px;
	max-height: 66px;
	cursor:pointer;
}
.flexbox_shinwa { background: #333 url(../img/icon_midokoro_shinwa.png) no-repeat; background-size: 155px; }
.flexbox_sakagura { background: #333 url(../img/icon_midokoro_sakagura.png) no-repeat; background-size: 155px; }
.flexbox_sengokusi { background: #333 url(../img/icon_midokoro_sengokusi.png) no-repeat; background-size: 155px; }
.flexbox_ima { background: #333 url(../img/icon_midokoro_ima.png) no-repeat; background-size: 155px; }
@media only screen and (max-width: 640px) {
	.flexbox_shinwa   { background-size: calc( 25vw - 12px); }
	.flexbox_sakagura { background-size: calc( 25vw - 12px); }
	.flexbox_sengokusi{ background-size: calc( 25vw - 12px); }
	.flexbox_ima      { background-size: calc( 25vw - 12px); }
}

.midokoro > .flexbox > .flexbox_d {
	background-color: #f8f8f8;
	border: 1px solid #333;
	padding: 4px;
	display: flex;
	align-items: center;
	cursor:pointer;
	
	flex: 3;
	height: calc( 100vw * 0.25 * 150 / 360 - 4px );  /* background image size 360x150px */
	max-height: 66px;
	padding-left: 1em;
}




#footer {
	width: 100%;
	margin: 20px 0;
	padding: 8px;
	text-align: left;
	color: #111;
	background-color: rgba(255,255,255,0.8);
}


/* =========================================================
for modal
========================================================= */

#modalOverlay {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.6);
	display: none;
	position: fixed;
	z-index: 30;
}

#modalWrapperSyoukai {
	top: 5%;
	left: 50%;
	transform: translate(-50%,0%);
	width: 90%;
	max-width: 800px;
	padding: 10px 30px;
	color: #fff;
	background-color: #758f64;
	font-size: 90%;
	display: none;
	position: absolute;  /* position: absolute; */
	overflow-y: scroll;
	z-index: 31;
}

#modalClose {
	position: absolute;
	top: 0.5rem;
	right: 1rem;
	font-size: 200%;
	cursor: pointer;
}

/* =========================================================
detail
========================================================= */

.btn_sengokusi_washizu {
	font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
	margin: 5px auto;
	padding: 8px;
	width: 100%;
	max-width: 300px;
	background-color: #d2a1c8;
	border: 1px solid #661430;
	text-align: center;
	font-size: 140%;
	font-weight: bold;
	cursor: pointer;
}

.btn_sengokusi_syokai {
	margin: 5px auto;
	padding: 8px;
	width: 100%;
	max-width: 300px;
	color: #fff;
	background-color: #758f64;
	border: 1px solid #231815;
	text-align: center;
	font-size: 120%;
	font-weight: bold;
	cursor: pointer;
}

.shoplist_title {
	margin: 10px 0px 3px 5px;
	text-align: left;
	font-size: 140%;
	font-weight: bold;
	line-height:1.1em;
}
.shoplist_url > a:link, .shoplist_url > a:visited, .shoplist_url > a:active, .shoplist_url > a:hover {
	font-size: 60%;
	text-decoration: none;
	color: #300;
}
.shoplist_text {
	margin: 2px 0px 0px 5px;
	font-size: 80%;
}


/* =========================================================
for global nav with side slide
========================================================= */
#gNav {
	width: 100%;
	height: 47px;
	background: #ebebeb;
	background: linear-gradient(to bottom,  #ebebeb 45%,#dddddd 55%);
	border-top: #aaa 1px solid;
	border-bottom: #aaa 1px solid;
	position: relative;
	z-index: 10;
}

#gNav ul {
	margin: 0 auto;
	width: 960px;
	height: 45px;
	text-align: center;
	list-style: none;
}

#gNav ul li {
	width: 240px;
	height: 45px;
	float: left;
	border-left: #aaa 1px solid;
}

#gNav ul li:last-child {
	border-right: #aaa 1px solid;
}

#gNav ul li a {
	height: 45px;
	font-weight: bold;
	line-height: 45px;
	display: block;
	text-align: center;
	transition: all 0.2s linear;
}

#gNav ul li > a:hover {
	background: #f8f8f8;
	/* background: linear-gradient(to bottom,  #efe 45%,#ded 55%); */
}

/* --- max-width: 960px li elements * 240 --- */
@media only screen and (max-width: 960px) {
	#gNav ul { width: 100%; }
	#gNav ul li { width: 25%; }
}

/* --- max-width: 768px --- */
@media only screen and (max-width: 768px) {
	#header { padding: 6px; }

	body { font-size: 14px; }

	#gNav { display: none; }

	#menuOverlay {
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,0.6);
		display: none;
		position: fixed;
		z-index: 96;
	}

	#switchBtnArea {
		width: 100%;
		top: 0px;
		height: calc( (90vw - 80px) * 100 / 500 + 6px * 2);  /* header padding 6px */
		min-height: 52px;
		max-height: 92px;
		background-color: rgba(0,0,0,0.0);
		/* border-bottom: #aaa 1px solid; */
		position: absolute;  /* position: relative; */
		z-index: 97;
	}

	#switchBtnArea #switchBtn {
		top: 10px;
		right: 10px;
		width: 40px;
		height: 40px;
		background: #c7ac87 url(../img/btnOpen.png) no-repeat center center;
		border-radius: 5px;
		position: absolute;  /* position: absolute; */
		z-index: 98;
	}

	#switchBtnArea #switchBtn.btnClose {
		background: transparent url(../img/btnClose.png) no-repeat center center;
	}

	#rwdMenuWrap {
		margin-top: calc( (90vw - 80px) * 100 / 500 + 6px * 2);  /* header padding 6px */
		left: 100vw;
		width: 100vw;
		 /* height: 100%; */
		overflow: auto;
		background-color: rgba(0,0,0,0.0);
		position: absolute;  /* position: fixed; */
		z-index: 100;
		display:none;
	}

	#rwdMenuWrap ul {
		width: 100%;
	}

	#rwdMenuWrap ul li {
		width: 100%;
		border-bottom: #aaa 1px solid;
	}
	#rwdMenuWrap ul li a {
		padding: 15px 20px;
		text-align: left;
		background: #eeedeb url(../img/linkarw.png) no-repeat right center;
		display: block;
	}
	#rwdMenuWrap ul li:hover > a {
		background: #eef8eb url(../img/linkarw.png) no-repeat right center;
	}

	#contents {
		width: 100%;
	}

	#contents p {
		padding: 0 20px 2em 20px;
	}
}

/* --- CLEARFIX ELEMENTS --- 
#gNav > ul:before,
#gNav > ul:after {
	content: " ";
	display: table;
}
#gNav > ul:after {clear: both;}
#gNav > ul {*zoom: 1;}
*/


@media only screen and (min-width: 530px) and (max-width: 768px) {
	#header { padding: 12px; }
	#rwdMenuWrap { margin-top: calc( 80px + 12px * 2 ); }
	#switchBtnArea { max-height: calc( 80px + 12px * 2 ); }
}
@media only screen and (max-width: 530px) {
	#main .news > .flexbox { flex-direction: column; }
	#main .news > .flexbox > .flexbox_t { padding-left: 0em; }
}
@media only screen and (max-width: 400px) {
	#main .midokoro > .flexbox {
		display: block;
		width: 100%;
	}
	#main .midokoro > .flexbox > .flexbox_t {
		border-bottom: 0px solid #333;
		height: calc( ( 100vw - 20px ) * 100 / 240 - 8px );  /* background image size 240x100px */
		max-width: none;
		max-height: none;
	}
	.flexbox_shinwa   { background-size: 100%; }
	.flexbox_sakagura { background-size: 100%; }
	.flexbox_sengokusi{ background-size: 100%; }
	.flexbox_ima      { background-size: 100%; }
	#main .midokoro > .flexbox > .flexbox_d {
		padding: 4px;
		height: auto;
		max-height: none;
}

}

@media only screen and (max-width: 377px) {
	#rwdMenuWrap { margin-top: 60px; }
	#headerImage {
		margin-top: calc( 35px - 9vw );
		margin-bottom: calc( 35px - 9vw );
	}
}


/* =========================================================
for carousel on TOP PAGE
========================================================= */

#sliderCarousel {
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
}

.carousel-cell {
  /* box-sizing: border-box;*/
  /*width: 480px;*/
  width: 100%;
  max-width: 480px;
  height: 200px;
  margin-left: 1px;
  /*background-color: #f8f8f8;*/
  background-repeat: no-repeat;
  background-size: contain;
  /*border-radius: 4px;*/
  
   overflow: hidden;
   /*cursor:pointer;*/
 }
 
.carousel {
  margin-bottom: 55px;
}

@media only screen and (max-width:480px) {
  .carousel-cell { height: calc( 200 / 480 * 100vw ); }
}

/* hide disabled button */
/*
@media only screen and (max-width:430px) {
 .flickity-button { display: none; }
#sliderCarousel .flickity-page-dots   { bottom: calc((430px - 100vw) / 2 - 25px); }
}
*/



