@charset "utf-8";

/* 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; }

/* base */
html { -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
body { font-feature-settings : "palt"; word-wrap : break-word; overflow-wrap : break-word; font-kerning: normal; -webkit-font-kerning: normal; font-size: 15px; text-align: center; letter-spacing: 0em; margin: 0px; box-sizing: border-box; background-color: #FFF; color: #000; padding: 0em; font-family: "Shuei KakuGo Gin B", "秀英角ゴシック銀 B", "A P-OTF 秀英角ゴシック銀 Std B"; }
img { vertical-align: bottom; height: auto; width: 100%; }
::selection { background: #333333; color: #FFF; }
::-moz-selection { background: #333333; }

/* link */
a:link, a:visited, a:active { transition: 0.3s linear; color: #339900; text-decoration: none; -webkit-transition: all 0.5s; -moz-transition: all 0.5s; -ms-transition: all 0.5s; -o-transition: all 0.5s; transition: all 0.5s; }
a:hover { transition: 0.3s linear; -webkit-transition: all 0.5s; -moz-transition: all 0.5s; -ms-transition: all 0.5s; -o-transition: all 0.5s; transition: all 0.5s; color: #333333; text-decoration: none; transition: color 0.05s linear; -webkit-transition: color 0.05s linear; transition: border-color 0.05s linear; -webkit-transition: border-color 0.05s linear; transition: background-color 0.05s linear; -webkit-transition: background-color 0.05s linear; }

/* 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%; }
.rl {  transform: scale(1.05, 0.95); -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
.upright { font-feature-settings : "normal" !important;  }
.pc { display:block !important; }
.pcbr { display:block !important; }
.pcin { display:inline !important; }
.sp { display:none !important; }
.spbr { display:inline !important; }
.spin { display:none !important; }

/* wordpress */
#contents .wp-caption.alignleft { float: left;  }
#contents .wp-caption.alignleft img {  }
#contents .wp-caption.alignleft .wp-caption-text { font-size: 0.8em; }
#contents .wp-caption.alignright { float: right;  }
#contents .wp-caption.alignright img {  }
img.centered { display: block; margin-left: auto; margin-right: auto; }
img.alignright { padding: 0px; margin: 0 0 20px 2%; display: inline; max-width: 47%; }
img.alignleft { padding: 0px; margin: 0 20px 2% 0; display: inline; max-width: 47%; }
.aligncenter { margin-top: 15px; margin-bottom: 15px; margin-right: auto; margin-left: auto; }
.alignright { float: right; margin-bottom: 20px; margin-left: 20px; }
.alignleft { float: left; margin-bottom: 20px; margin-right: 20px; }
img.aligncenter { display: block; }

/* 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 { min-width: 1200px; margin: auto; padding-bottom: 5em; padding-top: 5em; }

/* header */
#header .logo { width: 25%; position: fixed; left: 3.5%; top: 5em; }
.home #header .logo { width: 45%; position: static; margin-top: auto; margin-right: auto; margin-bottom: 3em; margin-left: auto; }


/* top */
#top .photo { margin-right: 16%; margin-left: 10%; }
#top .txt { display: inline; margin-right: auto; margin-left: auto; margin-top: 0; margin-bottom: 0; padding-top: 3em; padding-bottom: 3em; text-decoration: none; text-align: left; }
#top .txt p { font-size: 2.2em; line-height: 1.75em; text-align: left; margin-left: 1em; letter-spacing: 0em; }
#top .txt p:last-child { margin-left: 0px; }

/* contents */
#contents section { margin-left: 38%; margin-right: 22%; }
.home #contents section { width:100%; margin-left:auto; margin-right:auto; }
#contents section.map { margin-left: 8%; margin-right: 20%; }
#contents section.menu { margin-top: 5em; border-top-width: 3px; border-bottom-width: 3px; border-top-style: solid; border-bottom-style: solid; border-top-color: #333; border-bottom-color: #333; padding-top: 5em; padding-bottom: 5em; margin-bottom: 5em; }
#contents .entrybody { margin-bottom: 10em; }
#contents h2 { font-size: 2.2em; line-height: 1.4em; margin-top: 5em; margin-bottom: 1.5em; text-align: left; }
#contents h2.h2_top { margin-top: 0em; }
#contents .top_5 h2 { margin-bottom: 0.7em; margin-top: 3em; }
#contents .top_5 h2.h2_top { margin-top: 0px; }
#contents .top_5 p { margin-bottom: 0.5em; font-size: 1.4em; }
#contents h3 { font-size: 1.6em; line-height: 1.5em; margin-top: 2em; margin-bottom: 0.8em; text-align: left; }
#contents .column p { font-size: 1.2em; line-height: 1.8em; }
#contents p { text-align: justify; font-size: 1.5em; line-height: 2em; margin-bottom: 1em; letter-spacing: 0.05em; }
#contents p.lead { font-size: 2em; line-height: 2em; display: inline; margin-right: auto; margin-left: auto; text-align: left; margin-bottom: 3em; letter-spacing: 0em; }
#contents p.cap { font-size: 1em; line-height: 1.5em; margin-bottom: 2em; }
#contents p.date { margin-bottom: 1em; font-size: 1em; line-height: 1.5em; text-align: left; }
#contents p.data { font-size: 1.3em; line-height: 1.8em; margin-top: 2em; }
#contents .tenpo { margin-top: 5em; }
#contents .history { overflow: hidden; font-size: 1.5em; line-height: 1.5em; }
#contents .history dt { clear: both; float: left; width: 25%; text-align: left; }
#contents .history dd { float: left; width: 75%; text-align: left; margin-bottom: 0.5em; }

#contents .shop_list { overflow: hidden; }
#contents .shop_list li { text-align: left; float: left; width: 46%; margin-right: 8%; margin-bottom: 4em; }
#contents .shop_list li:nth-child(2n) { margin-right: 0px; }
#contents .shop_list li a { color: #333; }
#contents .shop_list li a:hover { color: #390; }
#contents .shop_list li .thumb { }
#contents .shop_list li .title { font-size: 1.8em; line-height: 1.4em; margin-bottom: 0.5em; margin-top: 1em; }
#contents .shop_list li .price { font-size: 1.8em; line-height: 1em; }
#contents .shop_list li .price .tax { font-size: 0.8em; margin-left: 0.1em; }
#contents .shop_ex { margin-bottom: 10em; }
#contents .shop_ex .slide div { position: relative; }
#contents .shop_ex .slide div span { position: absolute; right:1.5em; top:1.5em; font-size: 1em; line-height: 1em; }
#contents .shop_ex .price { font-size: 3em; line-height: 1.5em; text-align: left; margin-bottom: 0.5em; }
#contents .shop_ex .price .tax { font-size: 0.5em; margin-left: 0.1em; }
#contents .shop_ex .cart_box iframe { width: 100% !important; }
#contents .shop_ex h2 { margin-top: 2em; margin-bottom: 1em; }

/* footer */
#footer article.info { position: fixed; left: 1.6em; top: 2.5em; font-size: 1.8em; display: none; }
#footer article.info a { display: inline; font-size: 0.8em; padding-top: 1em; }
#footer article.sns { position: fixed; left: 2.2em; bottom: 2em; font-size: 1.8em; }
#footer article.sns a { line-height: 1em; font-size: 1em; padding: 0px; margin-top: 0.6em; margin-right: 0em; margin-bottom: 0em; margin-left: 0em; color: #000; display: block; }
#footer article.sns a:hover { color: #390; }
.home #footer article { display:block; }
#footer nav { text-align: left; overflow: hidden; font-size: 1.8em; }
#footer nav ul { display: block; position: fixed; top: 2.5em; right: 3.3%; clear: both; padding-bottom: 2em; }
#footer nav ul.bottom { top: 10.5em; }
#footer nav li { text-decoration: none; line-height: 1.65em; font-size: 1.3em; letter-spacing: 0em; }
#footer nav li a { color: #000; }
#footer nav li a:hover,
.post-type-archive-blog #footer nav li.blog a,
.map #footer nav li.map a,
.menu #footer nav li.menu a,
.message #footer nav li.message a,
.post-type-archive-news #footer nav li.news a,
.shop #footer nav li.shop a
 { color: #339900; }
#footer address { letter-spacing: 0em; position: fixed; right: 3.7%; bottom: 4em; text-align: left; line-height: 1.85em; font-size: 1.2em; }
#footer .tsuru { width: 13%; margin-top: 10em; margin-right: auto; margin-bottom: auto; margin-left: auto; }

/* styles */


/* sp */
body { }
body { }
body { }
body { }
body { }
body { }
body { }

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

/* options */
.rl { -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings : "pkna"; }
.rl.tb { -webkit-writing-mode: horizontal-tb; -ms-writing-mode: lr-tb; writing-mode: horizontal-tb; }
.pc { display:none !important; }
.pcbr { display:inline !important; }
.pcin { display:none !important; }
.sp { display:block !important; }
.spbr { display:block !important; }
.spin { display:inline !important; }

/* wrapper */
#wrapper { min-width: 0px; padding-bottom: 5em; padding-top: 2em; }

/* header */
#header .logo { width: 88%; position: static; margin:auto; }
.home #header .logo { width: 88%; position: static; margin-right: auto; margin-left: auto; margin-bottom: 1.5em; }

/* top */
#top .photo { width: 94%; margin-right: auto; margin-left: auto; }
#top .txt { display: inline; margin-right: auto; margin-left: auto; padding-top: 1.8em; padding-bottom: 2em; text-decoration: none; text-align: left; }
#top .txt p { font-size: 1.75em; line-height: 1.6em; text-align: left; margin-left: 0.6em; }
#top .txt p:last-child { margin-left: 0px; }

/* contents */
#contents section { width:88%; margin-left: auto; margin-right: auto; }
.home #contents section { width:100%; margin-left:auto; margin-right:auto; }
#contents section.map { width:100%; margin-left: auto; margin-right: auto; }
#contents section.menu { margin-left: auto; margin-top: 5em; }
#contents section.shop { margin-right: auto; margin-left: auto; }

#contents h2 { font-size: 1.8em; line-height: 1.4em; margin-top: 4em; margin-bottom: 1em; }
#contents p { text-align: justify; font-size: 1.4em; line-height: 1.8em; margin-bottom: 1em; letter-spacing: 0.05em; }
#contents p.lead { font-size: 1.8em; line-height: 2em; display: inline; margin-right: auto; margin-left: auto; text-align: left; padding-top: 3em; }
#contents p.cap { font-size: 1em; line-height: 1.5em; margin-bottom: 2em; }
#contents p.data { font-size: 1.3em; line-height: 1.8em; margin-top: 2em; text-align: left; }
#contents p.date { margin-bottom: 1em; font-size: 1em; line-height: 1.5em; text-align: left; }
#contents .history { overflow: hidden; font-size: 1.5em; }
#contents .history dt { clear: both; float: left; width: 40%; }
#contents .history dd { float: left; width: 60%; line-height: 1.6em; margin-bottom: 1em; }

#contents .shop_list { overflow: hidden; }
#contents .shop_list li { text-align: left; float: none; width: 100%; margin-right: 0; margin-bottom: 4em; }
#contents .shop_list li:nth-child(2n) { margin-right: 0px; }
#contents .shop_list li a { color: #333; }
#contents .shop_list li a:hover { color: #390; }
#contents .shop_list li .thumb { }
#contents .shop_list li .title { font-size: 1.8em; line-height: 1.4em; margin-bottom: 0.5em; margin-top: 1em; }
#contents .shop_list li .price { font-size: 1.8em; line-height: 1em; }
#contents .shop_list li .price .tax { font-size: 0.8em; margin-left: 0.1em; }
#contents .shop_ex { margin-top: 3em; margin-bottom: 10em; }
#contents .shop_ex .price { font-size: 3em; line-height: 1.5em; text-align: left; margin-bottom: 0.5em; }
#contents .shop_ex .price .tax { font-size: 0.5em; margin-left: 0.1em; }

/* footer */
#footer article.info { position: static; font-size: 1.8em; line-height: 1.4em; width: 80%; margin-bottom: 1em; margin-right: auto; margin-left: auto; margin-top: 2em; }
#footer article.info a { display: block; font-size: 0.9em; line-height: 1.4em; text-align: center; padding-top: 0.5em; }
#footer article.sns { display: block; position: static; padding-top: 0em; margin-bottom: 2em; }
#footer article.sns a { margin-right: 0.4em; margin-left: 0.4em; font-size: 1.4em; display: inline; }
#footer nav { text-align: left; font-size: 2.2em; display: inline; margin: auto; padding-top: 3em; }
#footer nav ul { margin-bottom: 1em; display: inline; position: static; }
#footer nav ul.bottom { top: 10em; }
#footer nav li { text-decoration: none; font-size: 1em; line-height: 1.8em; }
#footer address { letter-spacing: 0em; position: static; text-align: left; line-height: 1.9em; display: inline; margin: auto; font-size: 1.2em; }
#footer .tsuru { width: 37%; margin-top: 2em; margin-right: auto; margin-bottom: 3em; margin-left: auto; }

}
@media screen and (max-width: 374px) {
body { font-size: 11px; }
}
@media screen and (min-width: 471px) and (max-width: 1280px) {
body { font-size: 12px; }
}
@media screen and (min-width: 1281px) and (max-width: 1300px) {
body { font-size: 12.18px; }
}
@media screen and (min-width: 1301px) and (max-width: 1325px) {
body { font-size: 12.36px; }
}
@media screen and (min-width: 1326px) and (max-width: 1350px) {
body { font-size: 12.54px; }
}
@media screen and (min-width: 1351px) and (max-width: 1375px) {
body { font-size: 12.72px; }
}
@media screen and (min-width: 1376px) and (max-width: 1400px) {
body { font-size: 12.9px; }
}
@media screen and (min-width: 1401px) and (max-width: 1425px) {
body { font-size: 13.08px; }
}
@media screen and (min-width: 1426px) and (max-width: 1450px) {
body { font-size: 13.26px; }
}
@media screen and (min-width: 1451px) and (max-width: 1475px) {
body { font-size: 13.44px; }
}
@media screen and (min-width: 1476px) and (max-width: 1500px) {
body { font-size: 13.62px; }
}
@media screen and (min-width: 1501px) and (max-width: 1525px) {
body { font-size: 13.8px; }
}
@media screen and (min-width: 1526px) and (max-width: 1550px) {
body { font-size: 13.98px; }
}
@media screen and (min-width: 1551px) and (max-width: 1575px) {
body { font-size: 14.16px; }
}
@media screen and (min-width: 1576px) and (max-width: 1600px) {
body { font-size: 14.34px; }
}
@media screen and (min-width: 1601px) and (max-width: 1625px) {
body { font-size: 14.52px; }
}
@media screen and (min-width: 1626px) and (max-width: 1650px) {
body { font-size: 14.7px; }
}
@media screen and (min-width: 1651px) and (max-width: 1675px) {
body { font-size: 14.88px; }
}
@media screen and (min-width: 1676px) and (max-width: 1700px) {
body { font-size: 15px; }
}
