@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Vollkorn');
@import url('https://fonts.googleapis.com/css?family=PT+Sans');

/* reset
------------------------------------------------------------- */
* { padding: 0; margin: 0; box-sizing: border-box; }
table { border-collapse: collapse; border-spacing: 0; }
fieldset, img { border: 0; }
address, caption, cite, code, dfn, em, var { font-style: normal; font-weight: normal; }
ol, ul { list-style: none; }
caption, th { text-align: left; }
h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal; }
q:before, q:after { content: ''; }
abbr, acronym { border: 0; }
section, article { display: block; }
strong { font-weight: bold; }
input[type=text],input[type=submit],input[type=email], button, textarea, select { margin: 0; padding: 0; background: none; border: none; border-radius: 0; outline: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; }

/* base */
html { -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
body { font-weight: normal; font-size: 16px; font-family: Vollkorn, "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; line-height: 2; word-wrap : break-word; overflow-wrap : break-word; font-kerning: normal; -webkit-font-kerning: normal; text-align: center; letter-spacing: 0.1em; margin: 0px; box-sizing: border-box; background-color: #FFF; color: #333; }
body#en { font-size: 14px; font-family: 'PT Sans', sans-serif; line-height: 1.8em; letter-spacing:0.05em; }
img { vertical-align: bottom; height: auto; width: 100%; }
.payment_img { height: auto; width: auto; margin-right: 1em; }
::selection { background: #333333; color: #FFF; }
::-moz-selection { background: #333333; }


/* clear */
.clear { clear: both; }
.cbox { zoom: 100%; }
.cbox:after { content: " "; clear: both; height: 0; display: block; visibility: hidden; }
/* options */
.r { border-radius: 50%; -webkit-border-radius: 50%; -moz-border-radius: 50%; overflow: hidden; }
.rl { -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; }

/* sp */
.pc { display: block; }
.sp { display: none; }
.pcbr { display: block; }
.spbr { display: none; }

/* link */
a:link, a:visited, a:active { color: #000000; text-decoration: none; }
a:hover { color: #999999; text-decoration: none; }
a:hover img { filter: alpha(opacity=80); filter: alpha(opacity=80); -moz-opacity: 0.8; opacity: 0.8; }
#contents .gallery_navi li a { text-decoration: none; }
#contents .gallery_navi li a:link, #contents .gallery_navi li a:visited, #contents .gallery_navi li a:active { padding-bottom: 2px; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #fff; color: #000; }
#contents .gallery_navi li a:hover { padding-bottom: 2px; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #000; color: #000; }
#contents .gallery_navi li a.on { padding-bottom: 2px; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #000; }

/* youtube */
.youtube { position: relative; width: 100%; padding-top: 56.25%; }
.youtube iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }

/* wrapper
------------------------------------------------------------- */
#wrapper { text-align: center; position: relative; padding-bottom: 4em; margin-right: 22%; margin-left: 6%; padding-top: 4em; }

/* header
------------------------------------------------------------- */
#header { margin: auto; overflow: hidden; text-align: left; padding-top: 1.5em; padding-bottom: 1.5em; position: fixed; right: 5%; bottom: 2em; width: 13%; }
#header h1 { z-index: 99999; position: static; text-align: left; width: 100%; float: left; margin-right: 2em; line-height: 3em; }

/* info
------------------------------------------------------------- */
#info { position: absolute; top: 4em; letter-spacing: 0.2em; left: -4.8%; white-space: nowrap; width: 1em; }
#info dt { margin-bottom: 2em; font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; font-size: 1em; line-height: 1em; padding-top: 1em; padding-bottom: 1em; border-top-width: 1px; border-bottom-width: 1px; border-top-style: solid; border-bottom-style: solid; border-top-color: #333; border-bottom-color: #333; }
#info dd { font-size: 1em; line-height: 1em; letter-spacing: 0.1em; }

/* gnavi
------------------------------------------------------------- */
#gnavi { z-index: 999; position: fixed; right: 5%; top: 4em; margin-left: auto; display: block; width: 15%; }
#gnavi li { float: right; line-height: 1em; font-size: 1em; margin-bottom: 2em; width: 7.2%; margin-left: 12.8%; padding-top: 0.8em; padding-right: 0em; padding-bottom: 0em; padding-left: 0em; border-top-width: 1px; border-top-style: solid; border-top-color: #333; }
#gnavi li a img { width: 100% !important; height: auto !important; }
#gnavi a:link, #gnavi a:visited, #gnavi a:active { color: #000000; text-decoration: none; letter-spacing: 0.2em; font-size: 1em; line-height: 1em; display: block; }
#gnavi a:hover, .about #header #gnavi li:nth-child(1) a, .someori #header #gnavi li:nth-child(2) a, .order #header #gnavi li:nth-child(3) a, .gallery #header #gnavi li:nth-child(4) a, .business #header #gnavi li:nth-child(5) a, .blog #header #gnavi li:nth-child(6) a, .contact #header #gnavi li:nth-child(7) a, .online #header #gnavi li:nth-child(8) a { color: #666666; text-decoration: none; }
#gnavi a:hover img { filter: alpha(opacity=50); filter: alpha(opacity=50); -moz-opacity: 0.5; opacity: 0.5; }
#gnavi .gnavi_top { clear: both; }
#gnavi .gnavi_bottom { clear: both; display: block; }
#en #gnavi { float: right; width: auto; }
#en #gnavi li { float: none; margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; text-align: left; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; padding: 0px; width: auto; }
#en #gnavi li a { text-decoration: none; line-height: 1em; padding-bottom: 0.2em; }
#en #gnavi li a:hover { color: #000; }

/* footer
------------------------------------------------------------- */
#footer { width: 60%; position: relative; clear: both; text-align: right; font-size: 0.8em; padding-top: 7em; overflow: hidden; margin-top: auto; margin-right: 0px; margin-bottom: auto; margin-left: auto; }
.home #footer { width:100%;  }
#footer .pagetop { position: absolute; bottom: 0px; float: right; left: 0px; }
#footer .pagetop a { text-decoration: none; padding-bottom: 0.2em; }
#footer .pagetop a:hover { border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #000; color: #000; }
#footer h2 { font-size: 1.1em; }
#footer .tag { float: right; }
#footer .sns { float: left; position: absolute; left: 0px; bottom: 0px; padding-left: 0.2em; }
#footer .sns li { float: left; margin-right: 1em; font-size: 1.2em; }
#footer .sns li i { font-size: 1.6em; }
#footer p { font-size: 0.8em; margin-bottom: 0em; }
#lang { font-size: 0.8em; letter-spacing: 0.1em; margin-bottom: 1em; padding-right: 1em; padding-left: 1em; border-right-width: 1px; border-left-width: 1px; border-right-style: solid; border-left-style: solid; border-right-color: #333; border-left-color: #333; line-height: 1em; margin-right: 0px; margin-left: 0px; display: inline-block; }

/* home
------------------------------------------------------------- */
.main_photo { overflow: hidden; }
.main_photo .cover { margin-bottom: 1.6em; }
.main_photo li { margin-bottom: 1.6em; }
.main_photo .left { float: left; width: 64%; }
.main_photo .right { float: right; width: 34%; }
.main_photo .lead { text-align: left; padding-top: 2em; padding-left: 2em; line-height: 2.4em; }
.main_photo .lead p { margin-bottom: 1.5em; }
.top_navi { padding-top: 2em; padding-bottom: 2em; margin: auto; width: 90%; }
.top_navi h3 { margin: auto; font-size: 1.1em; letter-spacing: 0.2em; width: 30%; }
.top_navi ul { display: block; padding-top: 3em; padding-bottom: 3em; overflow: hidden; }
.top_navi li { float: left; width: 22%; margin-right: 4%; margin-bottom: 3em; }
.top_navi li:nth-child(4n) { margin-right: 0px; }
.top_navi li:nth-child(4n+1) { clear: both; }
.top_navi li dt { display: block; margin-bottom: 1em; }
.top_navi li dd { line-height: 2em; font-size: 1.1em; }
.top_navi li dd span { font-size: 0.8em; line-height: 2em; display: block; padding-top: 0.5em; }
.top_latest { overflow: hidden; margin-bottom: 5em; }
.top_latest .thumbnail { width: 50%; margin-bottom: 2em; margin-right: auto; margin-left: auto; }
.top_latest .info a { padding-bottom: 0.1em; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #333; }
.top_latest .info a:hover { color: #999; border-top-color: #999; border-right-color: #999; border-bottom-color: #999; border-left-color: #999; }
.top_latest dt { padding-top: 2em; padding-bottom: 2em; }
.top_latest dt img { margin: auto; height: 8em; width: auto; }
.top_latest .title { font-size: 1.4em; margin-bottom: 1em; margin-top: 1em; }
.top_latest .ex { text-align: left; margin: auto; width: 70%; }
.top_latest .date { margin-top: 2em; font-size: 0.8em; }
.top_blog { float: left; width: 50%; }
.top_store { float: right; width: 50%; }
.top_latest .present { clear: both; padding-top: 3em; }
.top_latest .present dl { border-top-width: 1px; border-bottom-width: 1px; border-top-style: solid; border-bottom-style: solid; border-top-color: #333; border-bottom-color: #333; overflow: hidden; padding-top: 2em; padding-right: 6%; padding-left: 12%; }
.top_latest .present dl dt { float: left; width: 28%; margin-right: 3em; padding: 0px; margin-top: 0px; margin-bottom: 2em; margin-left: 0px; }
.top_latest .present dl dt img { height: auto; width: 100%; }
.top_latest .present dl dd h3 { width: auto; text-align: left; font-size: 1.3em; padding: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; }
.top_latest .present dl dd { text-align: left; margin-bottom: 2em; }

/* contents
------------------------------------------------------------- */
#contents { clear: both; min-height: 90vh; margin-left: 25%; margin-right: 15%; overflow: hidden; }
#contents h2 { margin-bottom: 3em; font-size: 1.5em; line-height: 2em; letter-spacing: 0.3em; text-align: center; }
#contents h3 { text-align: center; font-size: 1.4em; margin-top: 4em; margin-bottom: 1.5em; letter-spacing: 0.2em; }
#contents h3 span.small { font-size: 0.7em; }
#contents h4 { text-align: left; margin-top: 5em; margin-bottom: 1.5em; letter-spacing: 0.1em; font-size: 1.4em; padding-left: 1em; border-left-width: 1px; border-left-style: solid; border-left-color: #333; line-height: 1em; }
#contents strong { font-weight: bold; }
#contents p { margin-bottom: 2em; font-size: 1.1em; line-height: 2.3em; letter-spacing: 0.1em; text-align: justify; }
#en #contents p { text-align: left; }
#contents p img { margin-top: 2em; margin-bottom: 2em; }
#contents a { padding-bottom: 0.1em; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #333; }
#contents a:hover { color: #999; border-top-color: #999; border-right-color: #999; border-bottom-color: #999; border-left-color: #999; }
#contents .sec { clear: both; overflow: hidden; display: block; padding-top: 5em; padding-bottom: 5em; }
#contents .sec h3 { margin-top: 0px; }
#contents .sec .caption { margin-bottom: 0.5em; }
#contents .left { float: left; width: 46%; text-align: left; }
#contents .right { float: right; width: 46%; text-align: left; }

/* about
------------------------------------------------------------- */
#contents .portrait { width: 50%; margin-left: auto; margin-right: auto; margin-top: 5em; margin-bottom: 3em; }
#contents .message { margin: auto; width: 90%; }
#contents .profile { margin-bottom: 2em; overflow: hidden; }
#contents .profile dt { clear: both; float: left; width: 15%; text-align: left; }
#contents .profile dd { float: left; width: 85%; text-align: left; margin-bottom: 1em; }

/* someori
------------------------------------------------------------- */
.someori #contents { margin-top: auto; margin-right: 5%; margin-bottom: auto; margin-left: 15%; }
.someori #contents h3 { text-align: left; }
.someori #contents img { margin: 0px; padding: 0px; }
.someori #contents .caption { font-size: 0.9em; line-height: 1.6em; margin: 0px; padding: 0px; }

/* contact / magazine
------------------------------------------------------------- */
.contact_box { padding-top: 2em; }
.contact #contents { text-align: left; margin-bottom: 5em; }
#contents dl.mail { margin-bottom: 2em; overflow: hidden; text-align: left; }
#contents dl.mail dt { clear: both; float: left; width: 25%; margin-bottom: 1em; }
#contents dl.mail dd { float: right; width: 70%; margin-bottom: 1em; }
#contents dl.mail dd .att { font-size: 0.9em; line-height: 1.8em; display: block; padding-top: 1em; }
#contents dl.mail dd input[type="email"], #contents dl.mail dd input[type="text"] { font-size: 1em; line-height: 1em; padding: 0.5em; width: 100% !important; background-color: #eee; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
#contents dl.mail dd textarea { width:100% !important; height:10em !important; font-size: 1em; line-height: 1.6em; padding: 0.5em; height: 20em; width: 100%; background-color: #eee; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
#contents input[type="submit"] { border-radius: 0.5em; -webkit-border-radius: 0.5em; -moz-border-radius: 0.5em; cursor: pointer; font-size: 1.2em; line-height: 1em; color: #FFF; background-color: #333; text-align: center; padding-top: 1em; padding-bottom: 1em; font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; letter-spacing: 0.1em; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; margin-bottom: 2em; width: 100%; }
#contents input[type="submit"]:hover { color: #333; background-color: #eee; width: 100%; }
.text_check { background-color: #eee; text-align: center; margin-bottom: 2em; padding: 1em; }
#contents .send_bn { display:block; }
#contents .send_check { display:block; text-align: center; border:solid 2px #B70000; color:#B70000; padding:0.5em; margin:0 0 2em 0; border-radius: 0.5em; -webkit-border-radius: 0.5em; -moz-border-radius: 0.5em; }
#contents #mfp_hidden { display:none; }
#contents .mfp_err { color:#B70000; }
#contents #mfp_err, #contents #mfp_warning { color:#B70000; }
#contents #mfp_confirm_table { margin:0 0 2em 0; border-top:solid 1px #333; }
#contents #mfp_confirm_table th { width:40%; padding:1em 0; text-align: left; border-bottom:solid 1px #333; }
#contents #mfp_confirm_table td { width:60%; padding:1em 0; text-align: left; border-bottom:solid 1px #333; }

#contents #mfp_button_send { border-radius: 0.5em; -webkit-border-radius: 0.5em; -moz-border-radius: 0.5em; cursor: pointer; font-size: 1.2em; line-height: 1em; color: #FFF; background-color: #333; text-align: center; padding-top: 1em; padding-bottom: 1em; font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; letter-spacing: 0.1em; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; margin-bottom: 0; width: 100%; }
#contents #mfp_button_send:hover { color: #333; background-color: #eee; width: 100%; }
#contents #mfp_button_cancel { border-radius: 0.5em; -webkit-border-radius: 0.5em; -moz-border-radius: 0.5em; cursor: pointer; font-size: 1.2em; line-height: 1em; color: #333; background-color: #fff; text-align: center; padding-top: 1em; padding-bottom: 1em; font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; letter-spacing: 0.1em; border:solid 1px #333; margin-bottom: 0; width: 100%; }
#contents #mfp_button_cancel:hover { color: #333; background-color: #eee; width: 100%; }

#contents #mfp_phase_confirm #mfp_confirm_table { width:100%; }
#contents #mfp_phase_confirm #mfp_confirm_table tr:last-child { display:none; }

/* blog
------------------------------------------------------------- */
#contents.blog { margin-right: 10%; margin-left: 30%; }
#contents.blog p img { margin-top: 2em !important; margin-bottom: 2em !important; display: inline !important; }
#contents.blog .entrybody { margin-bottom: 5em; padding-bottom: 15em; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #333; }
.wp-pagenavi { font-size: 1em; line-height: 1em; padding-top: 3em; text-align: center; }
.wp-pagenavi .pages { margin-right: 0em; padding-right: 1em; border-right-width: 1px; border-right-style: solid; border-right-color: #333; padding-left: 1em; border-left-width: 1px; border-left-style: solid; border-left-color: #333; margin-bottom: 2em; display: inline-block; clear: both; }
.wp-pagenavi .current { font-weight: bold; margin-right: 0.5em; margin-left: 0.5em; margin-bottom: 1em; line-height: 2em; }
.wp-pagenavi a { margin-right: 0.5em; margin-left: 0.5em; margin-bottom: 1em; line-height: 2em; }

/* gallery
------------------------------------------------------------- */
#contents.gallery { }
#contents.gallery p img { margin-top: 2em !important; margin-bottom: 2em !important; display: inline !important; }
#contents.gallery h4 { font-size: 1.3em; line-height: 1em; margin-bottom: 1em; margin-top: 3em; padding-top: 3em; border-left-style: none; text-align: center; padding-left: 0px; }
#contents.gallery ul { overflow: hidden; padding-top: 2em; }
#contents.gallery li { float: left; width: 30%; margin-right: 5%; margin-bottom: 2em; }
#contents.gallery li:nth-child(3n) { margin-right: 0px; }
#contents.gallery li:nth-child(3n+1) { clear: both; }
#contents.gallery li p { font-size: 0.9em; line-height: 2em; }
#contents.gallery li img { margin-bottom: 1em; }
#contents.gallery .wp-pagenavi { padding: 0px; }
#contents.gallery .wp-pagenavi li { float: left; margin: 0px; padding: 0px; }
#contents.gallery .wp-pagenavi li:last-child { float: right; }

/* gallery_index
------------------------------------------------------------- */
#contents.gallery_index { margin: auto; width: 100%; padding: 0px; min-height: 0px !important; }
#contents #gallery_index { overflow: hidden; }
#contents #gallery_index li { float: left; width: 48%; text-align: center; }
#contents #gallery_index li:last-child { float: right; }
#contents #gallery_index li h3 { margin-top: 2em; margin-bottom: 1em; padding-bottom: 0.4em; font-size: 1.4em; line-height: 1em; display: inline-block; }
#contents #gallery_index li p { text-align: center; }
#contents #gallery_index select { margin: auto; width: 70%; }
#contents .entrybody .case_photo { text-align: center; }

/* media
------------------------------------------------------------- */
#contents .entrybody .case_photo img { border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; padding: 0.5em; width: auto; }
#contents .entrybody .case_photo table { margin-bottom: 2em; margin-right: auto; margin-left: auto; }
#contents .entrybody .case_photo td { text-align: right; font-size: 0.7em; }
#contents .entrybody .case_photo td a { display: block; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; }

/* side
------------------------------------------------------------- */
#side { float: left; width: 20%; text-align: left; padding-top: 4em; position: absolute; left: 0px; top: 0px; }
#side h3 { font-size: 1.2em; margin-bottom: 2em; line-height: 1em; }
#side li { font-size: 0.9em; line-height: 1.5em; margin-top: 1em; }
#side li li { padding-left: 1em; }
#side li ul { padding-top: 1em; padding-bottom: 1em; }
#side select { margin-top: 3em; margin-bottom: 3em; }

/* style
------------------------------------------------------------- */
#contents.style { margin-right: 0px; margin-left: 0px; }
#contents.style h2 a { padding-bottom: 0px; border-bottom-style: none !important; }
#contents.style select { border-radius: 1em!important; -webkit-border-radius: 1em!important; -moz-border-radius: 1em!important; overflow: hidden; -webkit-appearance: none !important; -webkit-border-radius: 0px; background-color: #fafafa; background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMTJweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIzcHgiIHZpZXdCb3g9IjAgMCA2IDMiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYgMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBvbHlnb24gcG9pbnRzPSI1Ljk5MiwwIDIuOTkyLDMgLTAuMDA4LDAgIi8+PC9zdmc+); background-position: 95% center; background-repeat: no-repeat; border: 1px solid #ddd; font-size: 1em; line-height: normal; border-radius: 0; height: auto; width: 100%; font-weight: normal; text-align: center; font-family: Vollkorn, "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; padding-top: 1em; padding-right: 2em; padding-bottom: 1em; padding-left: 2em; }
#contents.style .entry { text-align: left; margin-right: 25%; margin-left: 25%; }
#contents.style .entry img{  margin-top: 1em; margin-bottom: 1em; }
#contents.style .back { margin-top: 4em; }

/* store
------------------------------------------------------------- */
#contents.store { position: relative; text-align: center; margin-right: 0%; margin-left: 0%; }
#contents.store h2 { text-align: center; width: 40%; margin-right: auto; margin-left: auto; }
#contents.store h3 { font-size: 1.5em; line-height: 2em; padding: 0px; }
#contents.store .lead { margin-bottom: 3em; }
#contents.store .lead p { text-align: center; }
#contents #store_cat a { border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; }
#contents.store a { text-decoration: none; }
#contents.store .cart a { font-size: 1em; line-height: 1em; position: absolute; top: 0.2em; right: 0px; text-decoration: none; padding-top: 0.5em; padding-bottom: 0.2em; border-top-width: 1px; border-bottom-width: 1px; border-top-style: solid; border-bottom-style: solid; border-top-color: #000; border-bottom-color: #000; }
#contents.store .cart a:hover { color: #000; }
#contents #store_index { padding-top: 2em; margin-bottom: 2em; overflow: hidden; }
#contents #store_index li { border-radius: 1em; -webkit-border-radius: 1em; -moz-border-radius: 1em; overflow: hidden; float: left; width: 48%; position: relative; }
#contents #store_index li:last-child { float: right; }
#contents #store_index li a { margin: 0px; padding: 0px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; }
#contents #store_index li a:hover img { filter: alpha(opacity=100); filter: alpha(opacity=100); -moz-opacity: 1; opacity: 1; }
#contents #store_index li span { font-size: 1.2em; line-height: 1em; text-align: center; vertical-align: middle; display: block; position: absolute; height: 100%; width: 100%; left: 0px; top: 0px; }
#contents #store_index li span h3 { border-radius: 0.5em; -webkit-border-radius: 0.5em; -moz-border-radius: 0.5em; font-size: 1em; background-color: #FFF; display: inline-block; text-align: center; vertical-align: middle; margin-top: 30%; margin-right: auto; margin-bottom: auto; margin-left: auto; line-height: 1.8em; padding-top: 1em; padding-right: 1.5em; padding-bottom: 1em; padding-left: 1.5em; }
#contents #store_index li:hover span h3 { color: #FFF; background-color: #333; z-index: 10; }
#contents.store .entrybody_header .att { font-size: 0.9em; line-height: 1.4em; padding-top: 1em; }
#store_cat { padding-top: 1em; padding-bottom: 1em; text-align: center; margin-bottom: 3em; width: auto; margin-right: auto; margin-left: auto; clear: both; }
#store_cat li { display: inline-block; border-right-width: 1px; border-right-style: solid; border-right-color: #333; padding-right: 2em; padding-left: 2em; line-height: 1em; margin-bottom: 1em; }
#store_cat li:first-child { border-left-width: 1px; border-left-style: solid; border-left-color: #333; }
#store_list .ex { text-align: center; margin-bottom: 3em; }
#store_list .ex p { text-align: center; }
#store_list ul { display:flex; justify-content: center; flex-wrap: wrap; gap:0 3%; }
#store_list li { width: calc( ( 100% - 6% ) / 3 ); margin-bottom: 5em; text-align: left;  }
#store_list li dt { margin-bottom: 1em; position: relative; aspect-ratio: 1/1; }
#store_list li dt img { object-fit: cover; width:100%; height:100%; }
#store_list li dt .res { border-bottom-right-radius: 0.4em; -webkit-border-bottom-right-radius: 0.4em; -moz-border-bottom-right-radius: 0.4em; background-color: #FFF; padding-right: 1.5em; padding-bottom: 1em; position: absolute; left: -1px; top: -1px; font-size: 0.9em; line-height: 1em; display: block; padding-top: 0.2em; padding-left: 0.2em; }
#store_list li dt .res span { border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #333; margin: 0px; line-height: 1em; display: block; padding-top: 0px; padding-right: 0px; padding-bottom: 0.2em; padding-left: 0px; }
#store_list li dd { overflow: hidden; }
#store_list li dd.title { font-size: 1em; line-height: 1.8em; position: relative; }
#store_list li dd .mark { height: 1em; width: 1em; position: absolute; right: 0em; top: 0px; background-color: #F30; }
#store_list li dd .mark_other { background-color: #103893; }
#store_list li dd.ex { font-size: 0.8em; margin-top: 1em; line-height: 1em; text-align: left; }
#store_list li dd.ex .price { font-size: 1.4em; line-height: 1em; }
#store_list li dd.ex .number { line-height: 1em; display: block; padding-top: 1em; }
#contents.store .entrybody_header { position: fixed; clear: both; overflow: hidden; float: left; width: 21%; text-align: left; border-top-width: 1px; border-top-style: solid; border-top-color: #333; padding-top: 1.5em; padding-bottom: 2em; left: 7%; top: 4em; }
#contents.store .entrybody_header .number { overflow: hidden; clear: both; line-height: 1.4em; }
#contents.store .entrybody_header .number .price { font-size: 1.4em; }
#contents.store .entrybody_header .number .kataban { display: block; }
#contents.store .entrybody_header .back a { text-align: center; border-top-width: 1px; border-bottom-width: 1px; border-top-style: solid; border-right-style: none; border-bottom-style: solid; border-left-style: none; border-top-color: #333; border-right-color: #333; border-bottom-color: #333; border-left-color: #333; clear: both; width: 100%; display: block; font-size: 0.9em; line-height: 1em; padding: 1em; }
#contents.store .entrybody_header ul { padding-top: 2em; padding-bottom: 1em; }
#contents.store .entrybody_header li { margin-bottom: 0.6em; line-height: 1em; font-size: 1em; }
#contents.store .entrybody_header li a { padding-bottom: 0px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; }
#contents.store .entrybody_header li i { margin-right: 0.5em; }
#contents.store .entrybody_header h2 { text-align: left; font-size: 1.3em; line-height: 1.6em; margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; width: 100%; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #333; padding-top: 0px; padding-right: 0px; padding-bottom: 0.6em; padding-left: 0px; }
#contents.store .entrybody { width: 60%; margin-top: auto; margin-right: 2.5%; margin-left: auto; overflow: hidden; position: relative; float: right; }
#contents.store .entrybody img { margin-top: 0px; padding-top: 0px; }
#contents.store .data { border-top-width: 1px; border-top-style: solid; border-top-color: #000; width: 100%; margin-top: 5em; }
#contents.store .data th { white-space: nowrap; padding-right: 1em; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #000; padding-top: 1em; padding-bottom: 1em; width: 15%; text-align: left; }
#contents.store .data td { font-size: 1em; line-height: 1.5em; padding-top: 1em; padding-bottom: 1em; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #000; text-align: left; }
#contents.store .data .price { font-size: 2em; line-height: 2em; }
#contents.store .reserve { border-radius: 0.5em; -webkit-border-radius: 0.5em; -moz-border-radius: 0.5em; font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; font-size: 1.1em; line-height: 1.2em; background-color: #eee; text-align: center; padding: 1em; display: block; clear: both; font-weight: normal; letter-spacing: 0.1em; margin-top: 1.2em; color: #000; border: 1px none #000; }
#contents.store .contact a { border-radius: 0.5em; -webkit-border-radius: 0.5em; -moz-border-radius: 0.5em; font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; font-size: 1.1em; line-height: 1.2em; background-color: #FFF; text-align: center; padding: 0.8em; display: block; clear: both; font-weight: normal; letter-spacing: 0.1em; margin-top: 1em; color: #333; border: 1px solid #000; }
#contents.store .contact a:hover { color: #333; background-color: #eee; }
#contents.store .online_left { text-align: left; float: left; width: 22%; }
#contents.store .online_left dt { margin-bottom: 2em; padding-top: 0.5em; padding-bottom: 0.2em; border-top-width: 1px; border-bottom-width: 1px; border-top-style: solid; border-bottom-style: solid; border-top-color: #000; border-bottom-color: #000; display: inline-block; font-size: 1em; line-height: 1em; }
#contents.store .online_left dt.guide { margin-top: 3em; }
#contents.store .online_left dd { margin-bottom: 1.5em; font-size: 1em; line-height: 1em; }
#contents.store .online_left dd a { text-decoration: none; padding-bottom: 0.1em; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #FFF; }
#contents.store .online_left dd a:hover { border-bottom-color: #000; color: #000; }
#contents .store_info { clear: both; padding-top: 3em; padding-bottom: 3em; }
#contents.store .exs, #contents.store .exs p { text-align: center !important; }

/* cart
------------------------------------------------------------- */
.cartjs_product_num { display: none !important; }
.cartjs_product_table table { width: 100%; margin-bottom: 1em; }
.cartjs_product_table th { font-size: 1em; display: block; line-height: 1em; padding-bottom: 0.6em; }
.cartjs_product_table td { border-top-style: none; display: block; padding-bottom: 2em; }
.site-navigation-top-bar { display: none !important; }
.out_of_stock_badge_loop { display: none !important; }
.out_of_stock_badge_single { display: none !important; }
.cart_box { position: relative; display: block; clear: both; height: 6em; }
.cart_box:after { border-radius: 0.5em; -webkit-border-radius: 0.5em; -moz-border-radius: 0.5em; background-color: #eee; text-align: center; z-index: 0; content: "売り切れ"; position: absolute; left: 0px; bottom: 0px; font-size: 1.1em; font-weight: 700; width: 100%; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; line-height: 1em; padding-top: 1em; padding-bottom: 1em; }
.cart_box .cartjs_box .cartjs_product_form .cartjs_cart_in input { border-radius: 0.5em; -webkit-border-radius: 0.5em; -moz-border-radius: 0.5em; cursor: pointer; background-color: #333; text-align: center; z-index: 999; position: absolute; left: 0px; bottom: 0px; font-size: 1.3em; width: 100%; padding: 1.2em !important; color: #FFF; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; line-height: 1em; letter-spacing: 0.1em; font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; margin: 0px; font-weight: bold; }
.cart_box .cartjs_box .cartjs_product_form .cartjs_cart_in input[type=submit] { margin: 0px; }
#ja #wrapper #contents .entrybody_header .cart_box .cartjs_box .cartjs_product_form .cartjs_cart_in input { margin: 0px; font-size: 1.2em; }
.cart_box .cartjs_box .cartjs_product_form .cartjs_cart_in input:hover { color: #333; background-color: rgba(204,204,204,1); }
select { -webkit-appearance: none !important; -webkit-border-radius: 0px; background-color: #fafafa; background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMTJweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIzcHgiIHZpZXdCb3g9IjAgMCA2IDMiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYgMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBvbHlnb24gcG9pbnRzPSI1Ljk5MiwwIDIuOTkyLDMgLTAuMDA4LDAgIi8+PC9zdmc+); background-position: 100% center; background-repeat: no-repeat; border: 1px solid #ddd; font-size: 1em; color: rgba(0, 0, 0, 0.75); line-height: normal; border-radius: 0; height: auto; width: 100%; font-weight: 700; text-align: center; padding: 1em; }


@media screen and (max-width: 470px) {
body { font-size: 16px; }

/* spbr
------------------------------------------------------------- */
.pcbr { display: none; }
.spbr { display: block; }

/* sp */
.pc { display: none; }
.sp { display: block; }

/* options */
.rl { -webkit-writing-mode: horizontal-tb; -ms-writing-mode: lr-tb; writing-mode: horizontal-tb; }

/* wrapper
------------------------------------------------------------- */
#wrapper { text-align: center; position: relative; padding-bottom: 4em; margin-right: 5%; margin-left: 5%; padding-top: 0em; }

/* header
------------------------------------------------------------- */
#header { margin: auto; overflow: hidden; text-align: left; padding-top: 1em; padding-bottom: 1em; position: static; right: 5%; bottom: 2.5em; width: auto; }
#header h1 { z-index: 99999; position: static; text-align: left; width: 90%; float: left; margin-right: 2em; line-height: 3em; padding-bottom: 3em; }
.home #header { overflow: hidden; text-align: left; position: static; right: 5%; bottom: 2.5em; width: auto; margin-top: auto; margin-right: auto; margin-bottom: auto; margin-left: 0px; padding: 0em; }
.home #header h1 { z-index: 99999; position: static; text-align: left; width: 90%; float: none; margin-right: 0em; line-height: 3em; padding-top: 1em; padding-bottom: 1em; }
.home #header h1 img { height: auto; width: 100%; }
.home #wrapper { padding-top: 0px; }
.home #gnavi, .home #info { padding-top: 3em; }

/* info
------------------------------------------------------------- */
#info { position: static; top: 4em; letter-spacing: 0.2em; left: -4.8%; white-space: normal; text-align: center; width: 100%; display: block; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #333; margin: auto; padding-bottom: 3em; }
#info dt { margin-bottom: 2em; font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; font-size: 1em; line-height: 1em; padding-top: 1em; padding-bottom: 0.5em; border-top-width: 1px; border-bottom-width: 1px; border-top-style: none; border-bottom-style: solid; border-top-color: #333; border-bottom-color: #333; display: inline-block; }
#info dd { font-size: 1em; line-height: 2em; letter-spacing: 0.1em; text-align: left; width: 80%; margin-right: auto; margin-left: auto; }

/* gnavi
------------------------------------------------------------- */
#gnavi { z-index: 999; position: static; right: 0%; top: 3em; margin-left: auto; margin-right: auto; display: block; width: 90%; clear: both; padding-top: 5em; }
.home #gnavi { padding-top: 0em; }
#gnavi li { float: none; line-height: 1em; font-size: 1em; margin-bottom: 1.5em; width: auto; margin-left: auto; margin-right: auto; text-align: left; padding-top: 0em; padding-right: 0em; padding-bottom: 0em; padding-left: 1em; border-left-width: 1px; border-left-style: solid; border-left-color: #333; border-top-style: none; }
#gnavi li a img { }
#gnavi a:link, #gnavi a:visited, #gnavi a:active { color: #000000; text-decoration: none; letter-spacing: 0.2em; font-size: 1em; line-height: 1em; display: block; }
#gnavi a:hover, .about #header #gnavi li:nth-child(1) a, .someori #header #gnavi li:nth-child(2) a, .order #header #gnavi li:nth-child(3) a, .gallery #header #gnavi li:nth-child(4) a, .business #header #gnavi li:nth-child(5) a, .blog #header #gnavi li:nth-child(6) a, .contact #header #gnavi li:nth-child(7) a, .online #header #gnavi li:nth-child(8) a { color: #666666; text-decoration: none; }
#gnavi a:hover img { filter: alpha(opacity=100); filter: alpha(opacity=100); -moz-opacity: 1.0; opacity: 1.0; }
#gnavi .gnavi_top { clear: both; }
#gnavi .gnavi_bottom { clear: both; display: block; }
#en #gnavi { float: right; width: auto; }
#en #gnavi li { float: none; margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; text-align: left; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; padding: 0px; width: auto; }
#en #gnavi li a { text-decoration: none; line-height: 1em; padding-bottom: 0.2em; }
#en #gnavi li a:hover { color: #000; }

/* home
------------------------------------------------------------- */
.main_photo { overflow: hidden; }
.main_photo .cover { margin-bottom: 1.6em; }
.main_photo li { margin-bottom: 1.6em; }
.main_photo .left { float: none; width: 100%; }
.main_photo .right { float: none; width: 100%; }
.main_photo .lead { text-align: left; padding-top: 2em; padding-left: 2em; line-height: 2.4em; }
.main_photo .lead p { margin-bottom: 1.5em; }
.top_navi { padding-top: 5em; padding-bottom: 5em; margin: auto; width: 100%; }
.top_navi h3 { margin: auto; font-size: 1.1em; letter-spacing: 0.2em; width: 80%; }
.top_navi ul { display: block; padding-top: 3em; padding-bottom: 3em; overflow: hidden; }
.top_navi li { float: none; width: 70%; margin-right: auto; margin-left: auto; margin-bottom: 3em; }
.top_navi li:nth-child(4n) { margin-right: auto; }
.top_navi li:nth-child(4n+1) { clear: both; }
.top_navi li dt { display: block; margin-bottom: 1em; }
.top_navi li dd { line-height: 2em; font-size: 1.1em; }
.top_navi li dd span { font-size: 0.8em; line-height: 2em; display: block; padding-top: 0.5em; }
.top_latest { overflow: hidden; margin-bottom: 3em; }
.top_latest .thumbnail { width: 70%; margin-bottom: 2em; margin-right: auto; margin-left: auto; }
.top_latest dt { padding-top: 2em; padding-bottom: 2em; }
.top_latest dt img { margin: auto; height: 8em; width: auto; }
.top_latest .title { width: 80%; margin-right: auto; margin-left: auto; font-size: 1.4em; margin-bottom: 1em; margin-top: 1em; }
.top_latest .ex { text-align: left; margin: auto; width: 70%; }
.top_latest .date { margin-top: 2em; font-size: 0.8em; }
.top_blog { float: none; width: 100%; margin-right: auto; margin-left: auto; }
.top_store { float: none; width: 100%; margin-right: auto; margin-left: auto; margin-bottom: 5em; }
.top_latest .present { clear: both; padding-top: 3em; }
.top_latest .present dl { border-top-width: 1px; border-bottom-width: 1px; border-top-style: solid; border-bottom-style: solid; border-top-color: #333; border-bottom-color: #333; overflow: hidden; padding-top: 2em; padding-right: 12%; padding-bottom: 2em; padding-left: 12%; }
.top_latest .present dl dt { float: none; width: 100%; margin-right: 0em; padding: 0px; margin-top: 0px; margin-bottom: 2em; margin-left: 0px; }
.top_latest .present dl dt img { height: auto; width: 100%; }
.top_latest .present dl dd h3 { width: auto; text-align: left; font-size: 1.3em; padding: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; }
.top_latest .present dl dd { text-align: left; }

/* someori
------------------------------------------------------------- */
.someori #contents { margin-top: auto; margin-right: 0%; margin-bottom: auto; margin-left: 0%; }

/* footer
------------------------------------------------------------- */
#footer { width: 90%; margin-left: auto; margin-right: auto; }
#footer .sns { float: none; position: static; left: 0px; bottom: 0px; padding-left: 0.2em; padding-top: 2em; clear: both; }
#footer .sns li { float: left; margin-right: 1em; font-size: 1.2em; }
#footer .sns li i { font-size: 1.6em; }

/* contents
------------------------------------------------------------- */
#contents { clear: both; min-height: 90vh; margin-left: 0%; margin-right: 0%; }
#contents p { line-height: 2em; letter-spacing: 0.1em; }
#contents p br { }
#contents .lead p br { display: block; }
#contents h2 { font-size: 1.3em; margin-bottom: 1.5em; }
#contents h3 { font-size: 1.3em; margin-bottom: 1.5em; margin-top: 1em; }
#contents h3 span.small { font-size: 0.7em; display: block; }
#contents h4 { font-size: 1.2em; }
#contents .sec { clear: both; overflow: hidden; display: block; padding-bottom: 0em; }
#contents .left { float: none; width: 100%; text-align: left; }
#contents .right { float: none; width: 100%; text-align: left; }
#contents br { }

/* about
------------------------------------------------------------- */
#contents .portrait { width: 50%; }
#contents .message { margin: auto; width: 100%; }
#contents .profile dt { clear: both; float: left; width: 15%; text-align: left; }
#contents .profile dd { float: left; width: 85%; text-align: left; margin-bottom: 1em; }

/* contact
------------------------------------------------------------- */
.contact #contents dl { margin-bottom: 1em; overflow: hidden; }
.contact #contents dt { clear: both; float: none; width: 100%; margin-bottom: 0.2em; }
.contact #contents dd { float: none; width: 100%; margin-bottom: 1em; }
.contact #contents dd input[type="email"], .contact #contents dd input[type="text"] { font-size: 1em; line-height: 1em; padding: 0.5em; width: 100%; background-color: #eee; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; }
.contact #contents dd textarea { font-size: 1em; line-height: 1.6em; padding: 0.5em; height: 20em; width: 100%; background-color: #eee; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; }
.contact #contents input[type="submit"] { cursor: pointer; font-size: 1em; line-height: 1em; color: #FFF; background-color: #333; text-align: center; padding:1em; font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; letter-spacing: 0.1em; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; }
.contact #contents input[type="submit"]:hover { color: #333; background-color: #eee; }

/* blog
------------------------------------------------------------- */
#contents.blog { width: 100%; float: none; padding-right: 0%; margin-right: 0%; ; margin-left: 0%; }
#contents.blog p img { margin-top: 2em !important; margin-bottom: 2em !important; display: inline !important; }

/* gallery
------------------------------------------------------------- */
#contents.gallery p img { margin-top: 2em !important; margin-bottom: 2em !important; display: inline !important; }
#contents.gallery h4 { font-size: 1.3em; line-height: 1em; margin-bottom: 1em; margin-top: 3em; padding-top: 3em; border-top-width: 1px; border-top-style: solid; border-top-color: #333; }
#contents.gallery ul { overflow: hidden; padding-top: 2em; }
#contents.gallery li { float: left; width: 47.5%; margin-right: 5%; margin-bottom: 2em; }
#contents.gallery li:nth-child(3n) { margin-right: 4%; }
#contents.gallery li:nth-child(3n+1) { clear: none; }
#contents.gallery li:nth-child(2n) { margin-right: 0%; }
#contents.gallery li:nth-child(2n+1) { clear: both; }
#contents.gallery li p { font-size: 0.9em; line-height: 2em; }
#contents.gallery li img { margin-bottom: 1em; }

/* media
------------------------------------------------------------- */
#contents .entrybody .case_photo img { width: 100% !important; height: auto; }
#contents .entrybody .case_photo table { margin-bottom: 2em; width: 100%; }
#contents .entrybody .case_photo td { text-align: right; font-size: 0.7em; }
#contents .entrybody .case_photo th { text-align: left; }

/* side
------------------------------------------------------------- */
#side { float: none; width: 70%; text-align: center; padding-top: 3em; clear: both; position: static; margin: auto; padding-bottom: 5em; overflow: hidden; }
#side h3 { font-size: 1.1em; margin-bottom: 1em; line-height: 1em; }
#side li { font-size: 0.9em; line-height: 1.5em; margin-top: 0.5em; }
#side li:nth-child(2n) { }
#side li li { padding-left: 1em; }

/* store
------------------------------------------------------------- */
#contents.store { position: relative; text-align: center; margin-right: 0%; margin-left: 0%; }
#contents.store h2 { text-align: center; width: 100%; margin-right: auto; margin-left: auto; }
#contents.store h3 { font-size: 1.5em; line-height: 2em; padding: 0px; }
#contents.store .lead { margin-bottom: 3em; }
#contents.store .lead p { text-align: center; }
#contents #store_cat a { border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; }
#contents.store a { text-decoration: none; }
#contents.store .cart a { font-size: 1em; line-height: 1em; position: absolute; top: 0.2em; right: 0px; text-decoration: none; padding-top: 0.5em; padding-bottom: 0.2em; border-top-width: 1px; border-bottom-width: 1px; border-top-style: solid; border-bottom-style: solid; border-top-color: #000; border-bottom-color: #000; }
#contents.store .cart a:hover { color: #000; }
#contents #store_index { padding-top: 2em; }
#contents #store_index li { float: none; width: 100%; margin-bottom: 2em; }
#contents #store_index li:last-child { float: right; }
#contents #store_index li dt { margin-bottom: 2em; font-size: 1.2em; line-height: 1em; }
#contents #store_index li dd { margin-bottom: 2em; text-align: left; }
#contents #store_index li dd a { border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; }
#contents #store_index li span { font-size: 1.1em; line-height: 1em; text-align: center; vertical-align: middle; display: block; position: absolute; height: 100%; width: 100%; left: 0px; top: 0px; }
#contents #store_index li span h3 { font-size: 1em; background-color: #FFF; display: inline-block; padding: 1em; text-align: center; vertical-align: middle; margin-top: 30%; margin-right: auto; margin-bottom: auto; margin-left: auto; }
#contents #store_index li:hover span h3 { color: #FFF; background-color: #333; z-index: 10; }
#store_cat { padding-top: 1em; padding-bottom: 1em; text-align: center; margin-bottom: 3em; width: auto; margin-right: auto; margin-left: auto; clear: both; }
#store_cat li { display: inline-block; border-right-width: 1px; border-right-style: solid; border-right-color: #333; padding-right: 2em; padding-left: 2em; line-height: 1em; margin-bottom: 1em; }
#store_cat li:first-child { border-left-width: 1px; border-left-style: solid; border-left-color: #333; }
#store_list .ex { text-align: left; margin-bottom: 3em; }
#store_list .ex p { text-align: left; }
#store_list li { width: 100%; margin-left: 0%; margin-right: 0%; margin-bottom: 5em; text-align: left; }
#store_list li:nth-child(4n+1) { clear: both; }
#store_list li dt { margin-bottom: 1em; }
#store_list li dd { overflow: hidden; }
#store_list li dd.title { font-size: 1em; line-height: 1.8em; }
#store_list li dd.ex { font-size: 0.8em; margin-top: 1em; line-height: 1em; text-align: left; }
#store_list li dd.ex .price { font-size: 1.4em; line-height: 1em; }
#store_list li dd.ex .number { line-height: 1em; display: block; padding-top: 1em; }
#contents.store .entrybody_header { position: static; clear: both; overflow: hidden; float: none; width: 100%; text-align: left; border-top-width: 1px; border-top-style: solid; border-top-color: #333; padding-top: 2em; padding-bottom: 2em; left: 7%; top: 4em; }
#contents.store .entrybody_header .number { overflow: hidden; clear: both; }
#contents.store .entrybody_header .number .price { font-size: 1.4em; }
#contents.store .entrybody_header .number .kataban { display: block; }
#contents.store .entrybody_header .back a { text-align: center; border-top-width: 1px; border-bottom-width: 1px; border-top-style: solid; border-right-style: none; border-bottom-style: solid; border-left-style: none; border-top-color: #333; border-right-color: #333; border-bottom-color: #333; border-left-color: #333; clear: both; width: 100%; display: block; font-size: 0.9em; line-height: 1em; padding: 1em; }
#contents.store .entrybody_header ul { padding-top: 2em; padding-bottom: 1em; }
#contents.store .entrybody_header li { margin-bottom: 1em; line-height: 1em; font-size: 1em; }
#contents.store .entrybody_header li a { padding-bottom: 0px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; }
#contents.store .entrybody_header li i { margin-right: 0.5em; }
#contents.store .entrybody_header h2 { text-align: left; font-size: 1.4em; line-height: 1.8em; margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; width: 100%; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #333; padding-top: 0px; padding-right: 0px; padding-bottom: 1em; padding-left: 0px; }
#contents.store .entrybody { width: 100%; margin-top: auto; margin-right: 0%; margin-left: auto; overflow: hidden; position: relative; float: right; }
#contents.store .entrybody img { margin-top: 0px; padding-top: 0px; }
#contents.store .data { border-top-width: 1px; border-top-style: solid; border-top-color: #000; width: 100%; margin-top: 5em; }
#contents.store .data th { white-space: nowrap; padding-right: 1em; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #000; padding-top: 1em; padding-bottom: 1em; width: 15%; text-align: left; }
#contents.store .data td { font-size: 1em; line-height: 1.5em; padding-top: 1em; padding-bottom: 1em; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #000; text-align: left; }
#contents.store .data .price { font-size: 2em; line-height: 2em; }
#contents.store .reserve { border-radius: 0.5em; -webkit-border-radius: 0.5em; -moz-border-radius: 0.5em; font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; font-size: 1.1em; line-height: 1.2em; background-color: #eee; text-align: center; padding: 1em; display: block; clear: both; font-weight: normal; letter-spacing: 0.1em; margin-top: 1.2em; color: #000; border: 1px none #000; }
#contents.store .contact a { border-radius: 0.5em; -webkit-border-radius: 0.5em; -moz-border-radius: 0.5em; font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; font-size: 1.1em; line-height: 1.2em; background-color: #FFF; text-align: center; padding: 1em; display: block; clear: both; font-weight: normal; letter-spacing: 0.1em; margin-top: 1.2em; color: #333; border: 1px solid #000; }
#contents.store .online_left { text-align: left; float: left; width: 22%; }
#contents.store .online_left dt { margin-bottom: 2em; padding-top: 0.5em; padding-bottom: 0.2em; border-top-width: 1px; border-bottom-width: 1px; border-top-style: solid; border-bottom-style: solid; border-top-color: #000; border-bottom-color: #000; display: inline-block; font-size: 1em; line-height: 1em; }
#contents.store .online_left dt.guide { margin-top: 3em; }
#contents.store .online_left dd { margin-bottom: 1.5em; font-size: 1em; line-height: 1em; }
#contents.store .online_left dd a { text-decoration: none; padding-bottom: 0.1em; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #FFF; }
#contents.store .online_left dd a:hover { border-bottom-color: #000; color: #000; }
#contents .online_right .entrybody .contact a:hover { color: #FFF; background-color: #333; }
#contents .store_info { clear: both; padding-top: 3em; padding-bottom: 3em; }

/* cart
------------------------------------------------------------- */
.cartjs_box { border-top: 1px none #ccc !important; border-bottom: 1px none #ccc !important; }
.cartjs_block { padding: 0px !important; }
.cartjs_dtl_tbl { width: 100% !important; border-spacing: 0px !important; margin-bottom: 0px !important; }
.cartjs_dtl_tbl th { background: transparent !important; text-align: left; padding: 5px; width: 30%; font-weight: normal; }
.cartjs_dtl_tbl th { padding-top: 1em !important; font-size: 0.7em !important; }
.cartjs_dtl_tbl td { padding-top: 1em !important; border-top-style: none !important; }
.cartjs_btn { z-index: 1 !important; position: absolute !important; left: 0px !important; bottom: 0px !important; display: block !important; font-weight: bold !important; text-decoration: none !important; color: #fff !important; -webkit-border-radius: 0px !important; border-radius: 0px !important; font-size: 1em !important; width: 100% !important; text-align: center !important; -webkit-box-shadow: 0 0px 0px #fff !important; box-shadow: 0 0px 0px #fff !important; background-color: #333333 !important; background-image: none !important; border: 1px none #E67004 !important; text-shadow: 0 0px #EC7804 !important; margin-top: 0 !important; margin-right: auto !important; margin-bottom: 0px !important; margin-left: auto !important; line-height: 1em !important; padding-top: 1.5em !important; padding-right: 0em !important; padding-bottom: 1.5em !important; padding-left: 0em !important; border-radius: 0.5em !important; -webkit-border-radius: 0.5em !important; -moz-border-radius: 0.5em !important; overflow: hidden !important; }

/* gallery_index
------------------------------------------------------------- */
#contents.gallery_index { margin: auto; width: 100%; padding: 0px; min-height: 0px !important; }
#contents #gallery_index { overflow: hidden; }
#contents #gallery_index li { float: none; width: 100%; text-align: center; margin-bottom:5em; }
#contents #gallery_index li:last-child { float: none; }
#contents #gallery_index li h3 { margin-top: 2em; margin-bottom: 1em; padding-bottom: 0.4em; font-size: 1.4em; line-height: 1em; display: inline-block; }
#contents #gallery_index li p { text-align: center; }
#contents #gallery_index select { margin: auto; width: 90%; }

/* style
------------------------------------------------------------- */
#contents.style { margin-right: 0px; margin-left: 0px; }
#contents.style h2 a { padding-bottom: 0px; border-bottom-style: none !important; }
#contents.style select { border-radius: 1em!important; -webkit-border-radius: 1em!important; -moz-border-radius: 1em!important; overflow: hidden; -webkit-appearance: none !important; -webkit-border-radius: 0px; background-color: #fafafa; background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMTJweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIzcHgiIHZpZXdCb3g9IjAgMCA2IDMiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYgMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBvbHlnb24gcG9pbnRzPSI1Ljk5MiwwIDIuOTkyLDMgLTAuMDA4LDAgIi8+PC9zdmc+); background-position: 95% center; background-repeat: no-repeat; border: 1px solid #ddd; font-size: 1em; line-height: normal; border-radius: 0; height: auto; width: 100%; font-weight: normal; text-align: center; font-family: Vollkorn, "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; padding-top: 1em; padding-right: 2em; padding-bottom: 1em; padding-left: 2em; }
#contents.style .entry { text-align: left; margin-right: 5%; margin-left: 5%; }
#contents.style .entry img{  margin-top: 1em; margin-bottom: 1em; }
#contents.style .back { margin-top: 4em; }

}
@media screen and (max-width: 375px) {
body { font-size: 14px; }
}
@media screen and (min-width: 471px) and (max-width: 1280px) {
body { font-size: 13px; }
}
@media screen and (min-width: 1281px) and (max-width: 1350px) {
body { font-size: 14px; }
}
@media screen and (min-width: 1351px) and (max-width: 1450px) {
body { font-size: 15px; }
}
@media screen and (min-width: 1451px) and (max-width: 1550px) {
body { font-size: 16px; }
}
