@charset "UTF-8";

/* ***********************************************************************
	ショップカテゴリー
*********************************************************************** */
#page_title { position: relative; cursor: pointer; }
#shopflip { }
#shopflip { position: absolute; top: 0; right: 10px; width: 32px; height: 32px; -webkit-perspective: 5000px; perspective: 5000px; -webkit-perspective-origin: 50% 50%; perspective-origin: 50% 50%; }
#shopflip .shopflip-t-area, #shopflip .shopflip-b-area { position: absolute; height: 16px; width: 100%; }
#shopflip .shopflip-t-area { background: #000; -webkit-perspective-origin: 50% 100%; -moz-perspective-origin: 50% 100%; -o-perspective-origin: 50% 100%; -ms-perspective-origin: 50% 100%; perspective-origin: 50% 100%; }
#shopflip .shopflip-b-area { bottom: 0; -webkit-perspective-origin: 50% 0%; -moz-perspective-origin: 50% 0%; -o-perspective-origin: 50% 0%; -ms-perspective-origin: 50% 0%; perspective-origin: 50% 0%; }
#shopflip .shopflip-t, #shopflip .shopflip-b { position: absolute; overflow: hidden; height: 16px; width: 100%; }
#shopflip .shopflip-t { background: #000 url(../png/btn_category_close.png) no-repeat right top; background-size: 100%; }
#shopflip .shoprot-t { background: url(../png/btn_category_open.png) no-repeat right top; background-size: 100%; }
#shopflip .shopflip-b { bottom: 0; background: #000 url(../png/btn_category_open.png) no-repeat right bottom; background-size: 100%; }
#shopflip .shoprot-b { background: url(../png/btn_category_close.png) no-repeat right bottom; background-size: 100%; }
#shopflip .shoprot-b { background-color: #000; }
@media screen and (max-width:640px) {
	#shopflip { width: 80px; height: 80px; }
	#shopflip .shopflip-t-area, #shopflip .shopflip-b-area, #shopflip .shopflip-t, #shopflip .shopflip-b { height: 40px; }
}

/* ***********************************************************************
	ショップカテゴリー
*********************************************************************** */
#subcategory li { list-style: none; float: left; width: 155px; font-size: 10px; line-height: 18px; }
#subcategory { border: 1px solid #000; background-color: #fff; padding: 14px; margin-bottom: 30px; }
@media screen and (max-width:640px) {
	#subcategory li { list-style: none; float: left; width: 198px; font-size: 20px; line-height: 40px; }
	#subcategory { padding: 20px; margin-bottom: 0px; }
}

/* ***********************************************************************
	ショップ一覧
*********************************************************************** */
#shop { outline: 1px solid #000; margin-top: 30px; background-color: #000; overflow: hidden; }
#shop .shopphoto { float: left; width: 320px; }
#shop .shopinfo { position: relative; float: right; width: 580px; min-height: 160px; background-color: #fff; padding: 10px 20px 10px 40px; }
#shop .shopinfo .name { font-weight: bold; font-size: 16px; }
#shop .shopinfo .text { font-size: 11px; line-height: 18px; margin: 10px 0; }
#shop .shopinfo ul { list-style: none; margin-top: 10px; }
#shop .shopinfo li { font-size: 10px; display: inline-block; border: 1px solid #000; margin-right: 10px; height: 18px; line-height: 18px; }
#shop .shopinfo li:hover { background-color: #000; }
#shop .shopinfo li:hover a { color: #fff; }
#shop .shopinfo li a { display: block; padding: 0 10px; }
#shop .shopinfo .address, #shop .shopinfo .tell { font-size: 10px; line-height: 18px; }
#shop .shopinfo .openmark { position: absolute; bottom: 0; right: 0; width: 14px; height: 14px; }
.pagination a { text-align: center; border: 1px solid #000; width: 118px; }
@media screen and (max-width:640px) {
	#shop { margin: 0; }
	#shop .shopphoto { float: none; width: 100%; }
	#shop .shopphoto img { width: 100%; height: 360px; }
	#shop .shopinfo { float: none; width: 576px; padding: 32px; }
	#shop .shopinfo .name { font-size: 32px; }
	#shop .shopinfo .text { font-size: 22px; line-height: 1.6em; margin: 10px 0; }
	#shop .shopinfo ul { list-style: none; margin-top: 10px; }
	#shop .shopinfo li { font-size: 20px; display: inline-block; border: 1px solid #000; margin-right: 10px; height: 50px; line-height: 50px; }
	#shop .shopinfo li a { padding: 0 20px; }
	#shop .shopinfo .address, #shop .shopinfo .tell { font-size: 20px; line-height: 1.6em; }
	#shop .shopinfo .openmark { bottom: 32px; right: 32px; width: 28px; height: 28px; }
	.pagination { margin-top: 30px; }
}

/* ***********************************************************************
	LightBox
*********************************************************************** */
.modal-overlay { z-index: 20; display: none; position: fixed; top: 0; left: 0; width: 100%; height: 120%; background-color: rgba(0, 0, 0, 0.80); cursor: pointer; }
.lightbox { display: none; position: absolute; }
.modalview { position: absolute; z-index: 21; max-width: 958px; top: 30px; background-color: #fff; border: 1px solid #fff; overflow: scroll; }
.modal-close { position: absolute; z-index: 22; width: 960px; height: 30px; }
.modal-close a { float: right; }
.modalview .topimg, .shopdetail .topimg { max-width: 958px; min-width: 958px; }
.modalview .modalwrapper { position: relative; margin: 0 30px; }
.shopdetail .modalwrapper { position: relative; }
.shopdetail .topimg { min-width: 100%; }
.modalview .shopname, .shopdetail .shopname { font-size: 30px; font-weight: bold; margin: 30px 0 15px; }
.modalview > div > ul, .shopdetail > div > ul { list-style: none; margin-bottom: 15px; }
.modalview > div > ul > li, .shopdetail > div > ul > li { font-size: 10px; display: inline-block; border: 1px solid #000; margin-right: 5px; }
.modalview > div > ul > li:hover, .shopdetail > div > ul > li:hover { background-color: #000; }
.modalview > div > ul > li > a, .shopdetail > div > ul > li > a { display: block; padding: 0 10px; font-size: 10px; line-height: 20px; }
.modalview > div > ul > li:hover > a, .shopdetail > div > ul > li:hover > a { color: #fff; }
.modalview .text, .shopdetail .text { font-size: 14px; }
.modalview .shopinfo, .shopdetail .shopinfo { margin-top: 30px; }
.modalview .shopinfo .map { float: left; width: 450px; height: 280px; }
.shopdetail .shopinfo .map { float: left; width: 480px; height: 280px; }
.modalview .info, .shopdetail .info { float: right; font-size: 12px; width: 420px; }
.modalview .info table, .shopdetail .info table { width: 100%; table-layout: fixed; }
.modalview .info th, .shopdetail .info th { width: 70px; line-height: 20px; }
.modalview .info td, .shopdetail .info td { line-height: 20px; }
.modalview .info td a, .shopdetail .info td a { text-decoration: underline; }
.modalview .info tr td.link, .shopdetail .info tr td.link { word-break: break-all; }
.modalview .newsarea-title, .shopdetail .newsarea-title { font-size: 14px; margin-top: 30px; }
.shopdetail .newsbox { position: relative; border: 1px solid; margin-bottom: 30px; background-color: #fff; padding: 15px; }
.modalview .newsbox { position: relative; border: 1px solid; margin-bottom: 30px; background-color: #fff; padding: 15px; }
.shopdetail .newsarticle { padding: 15px; margin-left: 320px; }
.modalview .newsdate, .shopdetail .newsdate { font-size: 10px; }
.modalview .newstitle, .shopdetail .newstitle { font-size: 16px; }
.modalview .newstext, .shopdetail .newstext { font-size: 10px; }
.modalview .newslink, .shopdetail .newslink { position: absolute; bottom: 0; right: 0; width: 14px; height: 14px; }
.modalview .notes, .shopdetail .notes { font-size: 10px; margin-bottom: 30px; }
@media screen and (max-width:640px) {
	.modal-overlay { }
	.lightbox { margin-left: 20px; }
	.modalview { width: 588px; top: 90px; }
	.modal-close { width: 590px; top: 30px; height: 60px; }
	.modal-close img { width: 60px; height: 60px; }
	.modalview .topimg, .shopdetail .topimg { max-width: 100%; min-width: 100%; margin: 0; }
	.modalview .modalwrapper, .shopdetail .modalwrapper { position: relative; margin: 0 20px; }
	.modalview .shopname, .shopdetail .shopname { font-size: 32px; margin-top: 30px; }
	.modalview > div > ul, .shopdetail > div > ul { list-style: none; margin: 15px 0; }
	.modalview > div > ul > li, .shopdetail > div > ul > li { margin-right: 10px; }
	.modalview > div > ul > li > a, .shopdetail > div > ul > li > a { display: block; padding: 0 10px; font-size: 20px; line-height: 50px; }
	.modalview > div > ul > li:hover > a, .shopdetail > div > ul > li:hover > a { color: #fff; }
	.modalview .text, .shopdetail .text { font-size: 24px; }
	.modalview .shopinfo, .shopdetail .shopinfo { margin-top: 30px; }
	.modalview .shopinfo .map, .shopdetail .shopinfo .map { float: none; margin: 30px 0 0 0; width: 100%; height: 600px; }
	.modalview .info, .shopdetail .info { float: none; font-size: 24px; width: 100%; }
	.modalview .info th, .shopdetail .info th { width: 140px; line-height: 1.6em; }
	.modalview .info td, .shopdetail .info td { line-height: 1.6em; }
	.modalview .info tr:last-child > td, .shopdetail .info tr:last-child > td { word-break: break-all; }
	.modalview .newsarea-title, .shopdetail .newsarea-title { font-size: 28px; margin: 40px 0 20px; }
	.modalview .newsbox, .shopdetail .newsbox { margin-bottom: 25px; }
	.shopdetail .newsbox > a { display: none; }
	.modalview .newsarticle, .shopdetail .newsarticle { padding: 20px 15px; margin: 0; }
	.modalview .newsdate, .shopdetail .newsdate { font-size: 20px; }
	.modalview .newstitle, .shopdetail .newstitle { font-size: 28px; }
	.modalview .newstext, .shopdetail .newstext { font-size: 20px; }
	.modalview .newslink, .shopdetail .newslink { position: absolute; bottom: 15px; right: 15px; width: 28px; height: 28px; }
	.modalview .notes, .shopdetail .notes { font-size: 17px; margin-bottom: 30px; }
}

/* ***********************************************************************
	ショップ一覧
*********************************************************************** */
#shopnews { }
@media screen and (max-width:640px) { }