body{margin:0;padding:0;color:#666;}
body,button,input,select,textarea{font-size:12px;font-weight:300;font-family:'Poppins', sans-serif;line-height:1.866666666666667;}
a{color:#666;transition:color 0.2s;}
a:hover,a:active,a:focus{color:#d0a667;}
img{vertical-align:top;vertical-align:top;}

#breadcrumb{width:1000px;text-align:left;padding:12px 0 15px 0;line-height:1.4em;}
#breadcrumb span{display:inline-block;max-width:100%;margin:0;}

/* page structure */
#container{box-sizing:border-box;width:1000px;letter-spacing:-15px;padding-top:40px;}
#container *{box-sizing:border-box;}
#cont_right,#cont_left{display:inline-block;vertical-align:top;letter-spacing:normal;text-align:left;font-size:14px;}
#cont_right{width:calc(100% - 500px);float:right;}
#cont_left{width:450px;float:left;margin-right:50px;}

/* link to page top */
span.go2page_top{display:inline-block;width:100%;text-align:right;font-size:12px;letter-spacing:normal;margin-top:60px;}
span.go2page_top a{display:inline-block;text-align:center;background:#eee;text-decoration:none;padding:15px 10px 10px 10px;line-height:10px;border-radius:3px;transition:background-color 0.2s}
span.go2page_top a:hover{background:#d0a667;color:#666;}
span.go2page_top .arrow-top{display:inline-block;width:18px;height:18px;margin:0;border-top:2px solid #666;border-left:2px solid #666;transform:rotate(45deg);}

/* link to parent page */
span.back2parent{display:inline-block;width:100%;text-align:left;font-size:12px;letter-spacing:normal;}

/* header */
#header{display:block;background-color:#2b2b2b;color:#999;padding:28px 0 28px 0;}
#header a:link,span#header a:visited{color:#fff;text-decoration:none;}
#header a:hover,span#header a:active,span#header a:focus{color:#d0a667;}
div.site-identity{margin-top:5px;padding:0;line-height:1.6em;font-weight:600;}
div.site-identity > p{margin:0;}
p.site-description{font-size:13px;font-weight:400;}

/* footer */
#footer{width:1000px;text-align:left;padding-bottom:100px;clear:both;}
#footer span.footer_left{display:inline-block;vertical-align:top;float:left;}
#footer span.footer_right{display:inline-block;vertical-align:top;float:right;text-align:right;}
#footer hr{margin:10px 0;}

/* cont_left */
h3{font-size:16px;margin:0 0 5px 0;padding:0;font-weight:400;}
#cont_left{position:relative;z-index:0;}
#photo_main{display:block;width:450px;height:450px;box-shadow:inset 0 0 100px rgba(0,0,0,0.1);margin:0 0 10px 0;padding:0;over-flow:hidden;}
#photo_main img{position:relative;z-index:-1;}
#photo_thumb{display:block;letter-spacing:-15px;}
#photo_thumb span.thumb_each{margin-right:10px;display:inline-block;height:auto;box-shadow:inset 0 0 30px rgba(0,0,0,0.1);margin-bottom:10px;border-bottom:#fff solid 4px;transition:border-color 0.2s;cursor:pointer;}
#photo_thumb span.thumb_each:last-child{margin-right:0;}
#photo_thumb span.thumb_each img{position:relative;z-index:-1;height:auto;}
#photo_thumb span.thumb_each:hover{border-color:#d0a667;}
#photo_thumb span.current{border-color:#d0a667;}

a.on_youtube{display:inline-block;background:#eee;transition:background 0.2s linear;border-radius:3px;}
a.on_youtube:hover{background:#d0a667;}
a.on_youtube > img{width:100%;height:auto;}

/* cont_right */
#item_ttl{font-size:24px;margin:0 0 10px 0;padding:0 0 10px 0;border-bottom:#666 solid 3px;line-height:1.4em;font-weight:400;}

span.spec_head,span.spec_body{display:inline-block;}
span.spec_head{width:100px;float:left;}
span.spec_body{}
#item_desc{display:block;margin:20px 0 0 0;}

span.price_ttl{display:block;font-weight:800;border-bottom:#666 dotted 1px;margin-top:40px;}

.spe_price{display:inline-block;font-size:30px;font-weight:bold;}
.tax{display:inline-block;margin:0 5px;font-size:12px;line-height:1em;width:1em;}

a.stock_shop:link,a.stock_shop:visited{display:block;transition:background 0.2s linear;font-size:18px;color:#fff;background-color:#2b2b2b;text-decoration:none;padding:10px 0;line-height:1em;width:300px;border-radius:3px;}
a.stock_shop:hover,a.stock_shop:active,a.stock_shop:focus{background:#d0a667;}

.reservation_button{background-color:#444;display:block;color:#fff;text-decoration:none;font-weight:bold;text-align:center;font-size:16px;line-height:3em;margin-top:5px;padding:0;border-radius:5px;box-shadow:2px 2px 3px rgba(0,0,0,0.4);width:100%;border-style:none;}
.reservation_button:hover,.reservation_button:active,.reservation_button:focus{background-color:#d0a667;color:#fff;}
.reservation_button{transition:background-color 0.2s linear}

#stock_shop{display:block;background:#eee;border-radius:3px;padding:20px 10px;text-align:center;}
#stock_shop .spec_head{width:160px;text-align:left;vertical-align: middle;float: none;}
#stock_shop .spec_head a{text-decoration:none;font-weight:800;}
#stock_shop .spec_body{text-align:left;vertical-align: middle;float: none;}

.notice_ttl{align-items:center;text-align:center;display:flex;line-height:1.2em;margin:15px 0 20px 0;font-size:14px;}
.notice_ttl::before,.notice_ttl::after{background-color:#eee;content:"";flex-grow:1;height:20px;}
.notice_ttl::before{margin-right:15px;}
.notice_ttl::after{margin-left:15px;}

span.notice{display:inline-block;text-align:center;border:#ccc dotted 1px;border-radius:5px;padding:10px 20px;font-size:12px;line-height:1.6em;width:100%;}
ul.notice{padding:0;}
ul.notice li{list-style-type:'・';margin:0 0 0.5em 1em;padding-left:0.5em;}

/*
 * Responsive for mobile
 */
@media screen and (max-width: 1020px) {
	#breadcrumb{width:calc(100% - 20px);}
	#container{width:calc(100% - 20px);}
	#footer{width:calc(100% - 20px);}
}

@media screen and (max-width: 940px) {
	#container{width:100%;padding:0 10px;}
	#header{padding:20px 0 10px 0;font-size:10px;}
	#header img.custom-logo{width:150px;height:auto;}
	p.site-description{font-size:10px;}
	span.go2page_top{text-align:center;}
	#cont_right{width:100%;clear:both;padding-top:0;}
	#cont_left{width:100%;clear:both;}
	#photo_main{width:100%;height:auto;padding-top:100%;position: relative;}
	#photo_main img{width:100%;height:auto;position: absolute;top:0;}
	#photo_thumb span.thumb_each{width:calc(100% / 3 - 20px / 3);height:auto;}
	#photo_thumb span.thumb_each img{width:100%;height:auto;}
	span.price_ttl{margin-top:20px;}
	span.back2parent{text-align:center;margin-top:40px;}
	#footer span.footer_left,#footer span.footer_right{width:100%;;clear:both;text-align:center;}
	#footer span.footer_left{margin-bottom:10px;}
}

@media screen and (max-width: 650px) {
	span.notice{padding:10px 10px;}
	span.no_wrap{display:inline-block;}
	#footer span.footer_left a,#footer span.footer_right a{display:inline-block;}
}

@media screen and (max-width: 380px) {
	#item_ttl{font-size:18px;}
}