@charset "utf-8";

/* ==============================================
ブロック共通
    * #container から指定することで、ヘッダー・フッターには適用していない。
/* ============================================= */
.block_outer {
	clear:both;
}
.side {
    overflow-x: hidden;
}
#container .block_outer {
    margin: 0 0;
    padding: 0 0;
}
.block_outer .block_body {
	width:100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 4% !important;
}

@media print, screen and (min-width: 768px) {
	#container .block_outer {
	    margin: 0 0;
	    padding: 0 0;
	}
	#container .block_outer .block_body  {
	    margin: 0 auto;
	    padding: 0 8%;
	}
}

@media print, screen and (min-width: 980px) {
	#container .block_outer {
	    margin: 0 0;
	    padding: 0 0;
	}
	#container .block_outer .block_body  {
	    margin: 0 auto;
	    padding: 0 10%;
	}
}

/* 背景
----------------------------------------------- */
#container .block_outer #guide_area {
    margin: 0 0;
    padding: 40px 0;
    background: url("../img/background/bg2.jpg") repeat;
}
#container .block_outer #tradition_area  {
    display: inline-block;
    margin: 0 0;
    padding: 40px 0;
    background: url("../img/background/bg2.jpg") repeat;
}
#container .block_outer #product_area {
    margin: 0 0;
    padding: 40px 0;
    background: url("../img/background/bg3.jpg") repeat;
}
#container .block_outer #news_area {
    margin: 0 0;
    padding: 40px 0;
    background: url("../img/background/bg1.jpg") repeat;
}
#container .block_outer #voice_area {
    margin: 0 0;
    padding: 40px 0;
    border-top: 1px solid #eeeae8;
    border-bottom: 1px solid #eeeae8;
    background: #fff;
}
#container .block_outer #guide_area .inner ,
#container .block_outer #tradition_area .inner ,
#container .block_outer #product_area .inner  {
    margin: 0 0;
    padding: 0 0;
    background: url("../img/background/sakurabg.png") repeat;
}
#container .block_outer #tradition_area .inner {
    width: 100%;
    display: inline-block;
    text-align: center;
}

@media print, screen and (min-width: 768px) {
	#container .block_outer #guide_area ,
	#container .block_outer #product_area ,
	#container .block_outer #tradition_area ,
	#container .block_outer #voice_area ,
	#container .block_outer #news_area {
	    padding: 60px 0;
	}
}

/* タイトル
----------------------------------------------- */
.main .block_outer h2{
	position:relative;
	margin:0 0 60px 0;
	padding:0;
	color:#340000;
	font-size: 140%;
	text-align: center;
	font-weight: bold;
	text-shadow: 2px 2px 2px rgba(52,0,0,0.5);
}
.main .block_outer h2:before {
 	 content: '';
 	 position: absolute;
 	 left: 50%;
 	 bottom: -25px;
 	 width: 40px;
 	 height: 3px;
 	 -webkit-transform: translateX(-50%);
 	 transform: translateX(-50%);
 	 background-color: #340000;
 	 border-radius: 2px;
}
@media print, screen and (min-width: 768px) {
	.main .block_outer h2{
		position:relative;
		margin:0 0 100px 0;
		padding:0;
		color:#340000;
		font-size: 160%;
		text-align: center;
		font-weight: bold;
		text-shadow: 2px 2px 2px rgba(52,0,0,0.5);
	}
	.main .block_outer h2:before {
	 	 content: '';
	 	 position: absolute;
	 	 left: 50%;
	 	 bottom: -45px;
	 	 width: 40px;
	 	 height: 3px;
	 	 -webkit-transform: translateX(-50%);
	 	 transform: translateX(-50%);
	 	 background-color: #340000;
	 	 border-radius: 2px;
	}
}
@media print, screen and (min-width: 980px) {
	.main .block_outer h2{
		position:relative;
		margin:0 0 100px 0;
		padding:0;
		color:#340000;
		font-size: 200%;
		text-align: center;
		font-weight: bold;
		text-shadow: 2px 2px 2px rgba(52,0,0,0.5);
	}
	.main .block_outer h2:before {
	 	 content: '';
	 	 position: absolute;
	 	 left: 50%;
	 	 bottom: -45px;
	 	 width: 40px;
	 	 height: 3px;
	 	 -webkit-transform: translateX(-50%);
	 	 transform: translateX(-50%);
	 	 background-color: #340000;
	 	 border-radius: 2px;
	}
}

#undercolumn .subTile h3{
	margin:0 0;
	padding:0;
	color:#340000;
	font-size: 130%;
	text-align: left;
	font-weight: bold;
	text-shadow: 2px 2px 2px rgba(52,0,0,0.5);
}
#undercolumn .subTile h3.title {
	position:relative;
	border-bottom:1px solid #ac8c8c;
	border-image: linear-gradient(to right, #ac8c8c 0%, #fff 100%); 
	border-image-slice: 1; 
	margin:30px 0 30px;
}
#undercolumn .subTile h3.title span{
	position:absolute;
	top:-18px;
	left:0px;
	background:#fff;
	padding:5px 15px 5px 0;
}
#undercolumn .subTile h3.title.color span{
	background:#f9f6f0;
}
#undercolumn .subTile.Btm{
	border:1px solid #fff;
	margin:30px 0 0 0 !important;
}

@media print, screen and (min-width: 768px) {
	#undercolumn .subTile h3{
		margin:50px 0;
		padding:0;
		color:#340000;
		font-size: 160%;
		text-align: left;
		font-weight: bold;
		margin-bottom:10px;
		text-shadow: 2px 2px 2px rgba(52,0,0,0.5);
	}
}
@media print, screen and (min-width: 980px) {
	#undercolumn .subTile h3{
		margin:80px 0 30px !important;
		padding:0;
		color:#340000;
		font-size: 180%;
		text-align: left;
		font-weight: bold;
		text-shadow: 2px 2px 2px rgba(52,0,0,0.5);
	}
	#undercolumn .subTile h3.title{
		position:relative;
		border-bottom:1px solid #ac8c8c;
		border-image: linear-gradient(to right, #ac8c8c 0%, #fff 100%); 
		border-image-slice: 1; 
		margin:40px 0 40px;
	}
	#undercolumn .subTile h3.title span{
		position:absolute;
		top:-22px;
		left:0px;
		background:#fff;
		padding:5px 15px 5px 0;
	}
}


/* ===============================================
▼起源
=============================================== */
#info_area {
	float:left;
	width:100%;
	background:url(../img/background/edo_fukei_sepia1200_4.png) no-repeat center bottom;
}
#info_area .block_body{
	width:95%;
	margin:10px auto 0;
	padding:1% 2.5%;
	box-sizing: border-box;
}
#info_area .block_body h3{
	margin-bottom: 20px;
	font-size: 105%;
	color:#340000;
	line-height: 1.6em;
}
#info_area .block_body p{
	margin:0 0 30px 0;
	font-size: 100%;
	font-weight: bold;
	color:#340000;
	line-height: 1.5em;
}
.title_info h2{
	margin:40px 0;
	padding:0 10px;
	color:#340000;
	font-size: 140%;
	text-align: center;
	font-weight: bold;
	margin-bottom:10px;
	text-shadow: 2px 2px 2px rgba(52,0,0,0.5);
}

@media print, screen and (min-width: 768px) {
	#info_area {
		float:left;
		width:100%;
		background:url(../img/background/edo_fukei_sepia1200_4.png) no-repeat center bottom;
	}
	#info_area .block_body{
		width:96%;
		margin:30px auto 0;
		padding:2% 2%;
		box-sizing: border-box;
	}
	#info_area .block_body h3{
		margin-bottom: 20px;
		font-size: 120%;
		color:#340000;
		line-height: 1.6em;
	}
	#info_area .block_body p{
		margin:0 0 50px 0;
		font-size: 105%;
		font-weight: bold;
		color:#340000;
		line-height: 1.6em;
	}
	.title_info h2{
		margin:50px 0;
		padding:0;
		color:#340000;
		font-size: 180%;
		text-align: center;
		font-weight: bold;
		margin-bottom:10px;
		text-shadow: 2px 2px 2px rgba(52,0,0,0.5);
	}
}
@media print, screen and (min-width: 980px) {
	#info_area {
		float:left;
		width:100%;
		background:url(../img/background/edo_fukei_sepia1200_4.png) no-repeat center bottom;
	}
	#info_area .block_body{
		width:90%;
		max-width:1200px;
		margin:30px auto 0;
		padding:2% 5%;
	}
	#info_area .block_body h3{
		margin-bottom: 20px;
		font-size: 125%;
		color:#340000;
		line-height: 1.6em;
	}
	#info_area .block_body p{
		margin:0 0 60px 0;
		font-size: 110%;
		font-weight: bold;
		color:#340000;
		line-height: 1.6em;
	}
	.title_info h2{
		margin:80px 0;
		padding:0;
		color:#340000;
		font-size: 200%;
		text-align: center;
		font-weight: bold;
		margin-bottom:10px;
		text-shadow: 2px 2px 2px rgba(52,0,0,0.5);
	}
}


/* ===============================================
▼こだわり
=============================================== */
#tradition_area {
	width:100%;
	margin: 40px auto 0;
	padding: 0 0;
	box-sizing: border-box;
}
.tradition_comment {
	width: 100%;
}
.tradition_commentInner {
	width: 96%;
	margin: 0 auto;
	margin-top: 20px; 
}
.tradition_commentInner h3{
	font-size: 120%;
	letter-spacing: 0.05em;
	display: block;
	text-align: center;
	margin: 0 0 30px;
}
.tradition_commentInner p{
	font-size: 105%;
	letter-spacing: 0.05em;
	text-align: left;
	line-height: 1.5em;
}
.tradition_image {
	width: 100%;
	margin: 40px auto 0;
	font-size: 0;
}
.tradition_imageList {
	float: left;
	width: 48.0%;
	margin: 0 1%;
	line-height: 0;
}
.tradition_imageList img {
	width: 100.0%;
}

@media print, screen and (min-width: 768px) {
	#tradition_area {
		width:100%;
		margin: 60px auto 0;
		padding: 0 0;
		box-sizing: border-box;
	}
	.tradition_comment {
		float: right;
		width: 45%;
	}
	.tradition_commentInner {
		width: 95%;
		margin: 0 0 0 5%;
		margin-top: 20px; 
	}
	.tradition_commentInner h3{
		font-size: 150%;
		letter-spacing: 0.05em;
		display: block;
		text-align: center;
		margin: 0 0 40px;
	}
	.tradition_commentInner p{
		font-size: 110%;
		letter-spacing: 0.05em;
		text-align: left;
		line-height: 1.6em;
	}
	.tradition_image {
		float: left;
		width: 55%;
		margin: 0 0;
		font-size: 0;
	}
}


/* ===============================================
▼お知らせ
=============================================== */
.news_contents{
    width: 100%;
    margin: 0 0;
    padding: 0 0;
}
.news_contents .newsList li{
    margin:0 0;
    padding:10px 0;
    border-bottom:1px solid #d7ceca;
}
.news_contents .newsList li .news_date{
    display:block;
    margin:0 0;
    padding:0;
    font-weight:bold;
}
@media print, screen and (min-width: 768px) {
	.news_contents .newsList li{
	    padding:20px 0;
	}
	.news_contents .newsList li .news_date{
	    display:inline;
	    margin:0 10px 0 0;
	    padding:0 25px;
	    font-weight:bold;
	}
}

/* 一覧 詳細
----------------------------------------------- */
.each_news {
    position:relative;
    width:100%;
    margin:0 0 5.0%;
    padding:5.0%;
    font-size:100%;
    border:1px solid #d7ceca;
    box-shadow: 0 6px 5px -6px rgba(0,0,0,.3);
    background:rgba(255,255,255,1.0);
    box-sizing: border-box;
}
.each_news a{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    text-indent:-9999px;
}
.LC_Page_News .each_news:hover {
    background:rgba(215,206,202,0.4);
   -webkit-transition: 0.5s ease-in-out; 
       -moz-transition: 0.5s ease-in-out; 
         -o-transition: 0.5s ease-in-out; 
            transition: 0.5s ease-in-out; 
}
.each_news h3{
    margin: 0 0 5px 0!important;
    padding: 0 0 !important;
    font-size: 110% !important;
}
.each_news p{
    margin: 40px 0 0 0;
    line-height: 1.6em;
}
.each_news .date{
    margin: 0 0 20px;
    text-align: right;
}
.each_news img{
    margin: 0 0;
    max-width: 100%;
}

@media print, screen and (min-width: 768px) {
	.each_news {
	    margin:0 0 2.0%;
	    padding:4.0% 6%;
	}
	.each_news h3{
	    margin: 0 0 5px 0!important;
	    padding: 0 0 !important;
	    font-size: 125% !important;
	}
	.each_news p{
	    margin: 60px 0 0 0;
	    line-height: 1.6em;
	    font-size: 105%;
	}
}

/* ===============================================
▼カレンダー
=============================================== */
#calender_area{
    margin-bottom: 20px;
}
#calender_area .float1{
    float: left;
    width: 48.5%;
    margin: 0 1.5% 0 0;
}
#calender_area .float2{
    float: right;
    width: 48.5%;
    margin: 0 0 0 1.5%;
}
#calender_area table {
    background: #fff;
    border: 1px solid #d7ceca;
    width: 100%;
    margin: 0 auto 5px;
}
#calender_area table td {
    padding: 1px 0;
    border: 1px solid #d7ceca;
    font-size:12px;
    text-align:center;
    background:#fff;
}
#calender_area th {
    padding: 1px 0;
    background: #fff;
    border: 1px solid #d7ceca;
    font-size:12px;
    text-align: center;
    background:#e8e3e1;
}
#calender_area table .month {
}
#calender_area .off {
    color: #c42d25;
    background:#f8e1e0;
}
#calender_area .information {
	text-align: right;
}
@media print, screen and (min-width: 768px) {
	#calender_area table td,
	#calender_area th {
	    padding: 1px 3px;
	    font-size: 14px;
	}
}


/* =============================================
 お客様の声
============================================== */
#voice_area{
    width: 100%;
    margin: 0 0;
    padding: 0 0;
}
#allreview {
    width: 100%;
    margin: 0 0;
    padding: 0 0;
}
#allreview ul{
    width: 100%;
}
#allreview ul li {
    width:100% !important;
    margin:0 0;
    padding:12px 0 !important;
    box-sizing: border-box;
    background:#fff;
    border-bottom: 1px solid #d7ceca;
}
#allreview .review_left {
    float:left;
    width:20%;
    margin:0 0;
    padding:0 0;
    border: 1px dotted #d7ceca;
    box-sizing: border-box;
}
#allreview .review_right {
    float:right;
    width:75%;
    margin:0 0;
    padding:0 0;
    margin-left: 5%;
    text-align: left;
    box-sizing: border-box;
}
#allreview ul li img {
    margin: 0 auto;
    padding: 10px;
    display: block;
}
#allreview ul li .level {
    margin: 0 0 10px;
}
#allreview ul li h3 {
    margin: 0 0;
}
#allreview ul li .voicecomment {
    margin: 0 0;
    text-align: left;
}
#allreview ul li .voicedate {
    margin: 0 0;
    padding: 0 0;
    text-align: right;
    font-style:italic;
    font-size:90%;
}

/* 一覧
----------------------------------------------- */
.undercolumn_contents .allreview{
    width:100%;
    border:none;
}
.undercolumn_contents .allreview dl.review{
    float:left;
    width:100%;
    margin:0 0 2.0%;
    padding:2.0%;
    font-size:100%;
    border:1px solid #d7ceca;
    box-shadow: 0 6px 5px -6px rgba(0,0,0,.3);
    box-sizing: border-box;
}
.undercolumn_contents .allreview dt{
    float:left;
    width:20%;
}
.undercolumn_contents .allreview dt img{
    width:100%;
}
.undercolumn_contents .allreview dd{
    float:left;
    width:78%;
    margin-left:2%;
}
.undercolumn_contents .allreview dd span{
    font-weight:bold;
    font-size:105%;
}
.undercolumn_contents .allreview dd .level{
    color:#ecbd00;
}
.undercolumn_contents .allreview .voicecomment{
    margin-top:10px;
}
.undercolumn_contents .main{
	position:relative;
	width:100%;
	z-index:0;
}
.undercolumn_contents .main .text{
	padding:10px 0;
}
@media only screen and (max-width: 767px) {
	.undercolumn_contents .allreview dl.review{
	    margin:0 0 2.5%;
	    padding:2.5%;
	}
	.undercolumn_contents .allreview dd.voicecomment{
	    clear:both;
	    float:none;
	    width:98%;
	    margin-left:1%;
	    margin-right:1%;
	}
}


/* =============================================
 店舗情報
============================================== */
div.info_area{
	width:100%;
	margin: 20px auto;
	padding: 0 0;
	box-sizing: border-box;
}
div.infomation_top {
	width: 100%;
	margin: 0 0;
}
div.infomation_topInner {
	width: 96%;
	margin: 0 auto;
	margin-top: 20px; 
}
div.infomation_top h3{
	font-size: 120%;
	letter-spacing: 0.05em;
	display: block;
	text-align: center;
	margin: 0 0 30px;
}
div.infomation_top p{
	font-size: 105%;
	letter-spacing: 0.05em;
	text-align: left;
	line-height: 1.5em;
}
div.shop_top {
	width: 100%;
	margin: 20px auto 0;
	font-size: 0;
}
div.shop_top img {
	width: 80%;
	margin: 0 auto 20px;
	display: block;
}
div.infomation_top table,
div.infomation_top table th,
div.infomation_top table td{
	border: none ;
	padding: 8px 2px 6px 2px;
	font-size: 100%;
}
div.infomation_top th{
	width: 25%;
	font-weight: bold;
	vertical-align: top;
	background: none;
}
div.infomation_top th,
div.infomation_top td{
	border-bottom: 1px dotted #d7ceca !important;
}

@media print, screen and (min-width: 768px) {
	div.info_area{
		float:left;
		width:100%;
		margin: 20px auto;
		padding: 0 0;
		box-sizing: border-box;
	}
	div.infomation_top {
		float: left;
		width: 55%;
		margin: 0;
		padding: 0;
	}
	div.infomation_topInner {
		width: 95%;
		margin: 0 5% 0 0;
		margin-top: 20px; 
	}
	div.infomation_top h3{
		font-size: 150%;
		letter-spacing: 0.05em;
		display: block;
		text-align: center;
		margin: 0 0 40px;
	}
	div.infomation_top p{
		font-size: 110%;
		letter-spacing: 0.05em;
		text-align: left;
		line-height: 1.6em;
	}
	div.shop_top {
		float: right;
		width: 43%;
		margin: 0;
		margin-left: 2%;
	}
	div.shop_top img {
		width: 100%;
		margin-top: 15px;
	}
	div.infomation_top table,
	div.infomation_top table th,
	div.infomation_top table td{
		border: none ;
		padding: 8px 2px 6px 2px;
		font-size: 105%;
	}
	div.infomation_top table{
		margin: 0 0 14px;
		padding: 0 0;
	}
}


/* ===============================================
▼コラム bloc
=============================================== */
/* 共通
----------------------------------------------- */
#column_area {
    width:98%;
    margin:0 auto;
    background:#fff;
	max-height:400px;
	overflow:auto;
}
.column_contents{
    padding: 3%;
}
.column_contents dl{
    margin-top:15px;
    padding-top: 15px;
    border-top: 1px dotted #aaa;
}
.column_contents dl:first-child{
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}
.column_contents dl dt{
    width:18%;
    margin: 6px 0;
    padding: 0;
    float: left;
    border:1px solid #eaeaea;
    box-sizing: border-box;
}
.column_contents dl dt img{
    margin:0 auto;
    padding:3px  0;
    display: block;
    width:90%;
}
.column_contents dl dd{
    width:80%;
    margin: 6px 0;
    padding: 0;
    float: right;
    box-sizing: border-box;
}
@media only screen and (max-width: 768px) {
	.column_contents dl dt{
	    width:96%;
	    margin: 6px auto;
	    padding: 0;
	    float: left;
	    border:none;
	    box-sizing: border-box;
	}
	.column_contents dl dt img{
	    margin:0 auto;
	    padding:3px  0;
	    display: block;
	    width:50%;
	}
	.column_contents dl dd{
	    width:96%;
	    margin: 6px auto;
	    padding: 0;
	    float: none;
	    box-sizing: border-box;
	}
}


/* =============================================
 google 自動翻訳
============================================== */
#header_nav_btn {
    display:none;
}

@media print, screen and (min-width: 768px) {
	#header_nav_btn {
	    display:block;
	    position:absolute;
	    top:23px;
	    right:100px;
	    left:auto;
	}
	#header_nav_btn .lang {
	    margin:0 0 0 0!important;
	    padding:0 0 !important;
	    height:39px;
	    overflow:hidden !important;
	}
	div#google_translate_element select{
	    margin:0 0 !important;
	    padding:8px 0px 10px 10px !important;
	    border:none !important;
	    color:#fff !important;
	    background-color : transparent !important;
	}
	div#google_translate_element select option{
	    color:#000 !important;
	}
	#header_wrap.fixed #header_nav_btn {
	    position:absolute;
	    top:13px;
	    right:20px;
	    left:auto;
	}
}

.select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
}
select::-ms-expand {
    display: none !important;
}
