/* font */
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;500&family=Work+Sans:wght@100;200;300;400;500;600&family=Zen+Old+Mincho:wght@400;500;600;700;900&display=swap');
@import url('https://cdn.jsdelivr.net/npm/yakuhanjp@3.4.1/dist/css/yakuhanmp.min.css');

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

.payment_img { width:auto !important; height:auto !important; margin:1em; }

/* base */
html { -webkit-text-size-adjust:100%; -ms-text-size-adjust:100% }
body { word-wrap:break-word; overflow-wrap:break-word; font-kerning:normal; -webkit-font-kerning:normal; font-size:16px; font-family:"ÞâÌÀÄ«",YuMincho,"¥Ò¥é¥®¥ÎÌÀÄ« ProN W3","Hiragino Mincho ProN","HGÌÀÄ«E","£Í£Ó £ÐÌÀÄ«","£Í£Ó ÌÀÄ«",serif; text-align:center; letter-spacing:.05em; margin:0; padding:0; box-sizing:border-box; line-height:2em }
img { vertical-align:bottom; height:auto; width:100% }
::selection { background:#333; color:#FFF }
::-moz-selection { background:#333 }

/* link */
a:link,a:visited,a:active { color:#333; text-decoration:none }
a:hover { opacity:.4; filter:alpha(opacity=40); -ms-filter:alpha(opacity=40); color:#898989; text-decoration:none; transition:color .05s linear; -webkit-transition:color .05s linear; transition:border-color .05s linear; -webkit-transition:border-color .05s linear; transition:background-color .05s linear; -webkit-transition:background-color .05s linear }
a:hover img { opacity:.4; filter:alpha(opacity=40); -ms-filter:alpha(opacity=40) }
a[href^="tel:"] { pointer-events: none; }

/* clear */
.clear { clear:both }
.cbox { zoom:100% }
.cbox:after { content:" "; clear:both; height:0; display:block; visibility:hidden }

/* options */
.pc { display:block }
.sp { display:none }
.spbr { display:inline }
.fa { margin-right:.5em }
.he { font-family:helvetica,Helvetica Neue,'Work Sans',san-serif; font-weight:700 }
.button { text-align:center!important; border:1px solid #000; width:100%; padding-top:.7em; padding-bottom:.7em }
.button:hover { cursor:pointer; color:#FFF; background-color:#333; padding-top:.7em; padding-bottom:.7em; border:1px solid #000 }
.r { border-radius:50%; -webkit-border-radius:50%; -moz-border-radius:50% }
.rl { -webkit-writing-mode:vertical-rl; -ms-writing-mode:tb-rl; writing-mode:vertical-rl; letter-spacing:.1em }

/* wordpress */
.wp-caption.alignleft { float:left }
.wp-caption.alignleft img { margin-top:0 }
.wp-caption.alignleft .wp-caption-text { font-size:.8em }
.wp-caption.alignright { float:right }
.wp-caption.alignright img { margin-top:0 }
img.centered { display:block; margin-left:auto; margin-right:auto }
img.alignright { padding:0; display:inline; max-width:45%; margin-top:0; margin-right:0; margin-bottom:2em; margin-left:3em }
img.alignleft { padding:0; display:inline; max-width:45%; margin-top:0; margin-right:3em; margin-bottom:2em; margin-left:0 }
.aligncenter { margin-top:2em; margin-bottom:2em; margin-right:auto; margin-left:auto }
.alignright { float:right; margin-bottom:2em; margin-left:3em }
.alignleft { float:left; margin-bottom:2em; margin-right:3em }
img.aligncenter { display:block }

/* wrapper */
#wrapper { min-width:1200px; height:100%; width:100%; position:relative; margin-right:auto; margin-left:auto }
.btn_wrapper.clearfix { display:none }

/* header_top */
#header_top { font-family:'Work Sans',san-serif; width:92%; margin-right:auto; margin-left:auto; margin-top:3em; font-size:1.4em; font-weight:600; letter-spacing:.03em }
#header_top #nav { display:flex; width:100% }
#header_top #nav li { margin-right:1.35em }
#header_top #nav li.cart { margin-right:0; margin-left:auto }
#header_top #nav li a { border-bottom:none!important }
#header_top #nav span { font-size:1.2em }

/* header */
#header { font-family:'Work Sans',san-serif; width:92%; margin-right:auto; margin-left:auto; margin-top:3em; font-size:1.2em; font-weight:600; letter-spacing:.03em }
#header header { display:flex }
#header h1 { width:25%; margin:-1.25em 0 0 }
#header #nav { display:flex; margin-left:auto }
#header #nav li { margin-left:1.35em }
#header #nav li a { border-bottom:none!important }
#header #nav span { font-size:1.2em }

/* contents */
#contents { text-align:justify; margin-top:10em }
#contents h2 { font-size:1.85em; text-align:center; margin-bottom:4em }
.date { font-size:.9em }
.title { font-size:1.35em; line-height:1.5em; margin-top:.6em }
.caption { font-size:.85em; line-height:1.85em; margin-top:1.5em; display:block }
.caption3 { font-size:.85em; line-height:1.85em; margin-top:2em; display:block; padding-top:2em; border-top:1px dashed #000 }

/* shop */
#shop { width:85%; margin-right:auto; margin-left:auto }
#shop #quality { border-top:1px solid #000; border-bottom:1px solid #000; padding-top:3em; padding-bottom:3em; margin-bottom:6em }
#shop #quality li { display:inline-block; width:30%; margin-right:3.5%; vertical-align:top }
#shop #quality li:nth-child(2) { width:65.5%; margin-right:0 }
#shop #quality li dt { font-size:1.85em; line-height:1.85em }
#shop #quality li dd { margin-top:1em; line-height:1.85em }
#shop_item { margin-top:4em!important; width:100%; margin-right:auto; margin-left:auto }
#shop_item li { display:inline-block; width:22%; margin-right:3%; margin-bottom:3em; height:100%; vertical-align:top }
#shop_item li:nth-child(4n) { margin-right:0 }
#shop_item li li { float:left; width:75%; margin-right:5%; height:auto }
#shop_item li li:nth-child(2) { float:none; width:15%; min-height:35em; margin-right:0; vertical-align:bottom }
#shop_item li li dt { display:inline-block; font-size:1.3em }
#shop_item li li dt span { margin-top:1em; font-size:.6em }
#shop_item li li dd { display:inline-block; margin-top:1em; font-size:1em }
#shop #shop_gift { margin-top:6em; width:95%; margin-right:auto; margin-left:auto }
#shop #shop_gift li { display:inline-block; width:47%; margin-right:4%; margin-bottom:3em; height:100% }
#shop #shop_gift li:nth-child(2n) { margin-right:0 }
#shop #shop_gift li li { float:left; width:85%; height:auto }
#shop #shop_gift li li:nth-child(2) { float:none; width:10%; min-height:30em; margin-right:0; vertical-align:bottom }
#shop #shop_gift li li dt { display:inline-block; font-size:1.4em }
#shop #shop_gift li li dt span { margin-top:1em; font-size:.6em }
#shop #shop_gift li li dd { display:inline-block; margin-top:2em; font-size:.85em; padding-top:.75em; padding-bottom:.75em }
#shop_detail { width:75%; margin-right:auto; margin-left:auto }
#shop_detail .item_photo { display:inline-block; vertical-align:top; width:45%; margin-right:10%; margin-bottom:8em }
#shop_detail .item_photo img { max-height:800px; width:auto; margin-right:auto; margin-left:auto; display:block }
#shop_detail .item_detail { display:inline-block; vertical-align:top; width:40% }
#shop_detail .item_detail h1 { text-align:left; font-size:1.85em; line-height:1.85em; margin-bottom:1em }
#shop_detail .item_detail img { margin-top:1em }

/* footer */
#footer { width:90%; margin-right: auto; margin-left: auto; margin-top:10em; margin-bottom:5em; }
#footer footer { display:flex; justify-content: space-between; align-items: flex-start; }
#footer footer .footer__logo { width: 18%; margin:-1.2em 0 0 0; }
#footer footer .footer__logo p { white-space: nowrap; flex-wrap: nowrap; font-size: 0.6em; margin:2em 0 0 0; font-family: 'Roboto', san-serif; font-weight:400; line-height: 1.5em; letter-spacing: 0.05em; }
#footer footer address { white-space: nowrap; text-align: left; font-size: 0.9em; line-height: 2em; }
#footer footer address .jp { font-family: YakuHanMP,'Zen Old Mincho', serif; font-weight: 900; font-size: 1.15em; line-height: 1.6em; letter-spacing: 0.03em; margin:0 0 0.5em 0; }
#footer footer address .en { font-family: 'Roboto', san-serif; font-size: 1em; line-height: 1.6em; font-weight:600; letter-spacing: 0.03em; }
#footer footer .footer__nav { display: flex; flex-wrap: nowrap; }
#footer footer .footer__nav .footer__navItem { padding:0 0 0 2em; margin:0; }
#footer footer .footer__nav .footer__navItem:first-child { padding:0 0 0 0; }
#footer footer .footer__nav li { width:100%; }
#footer footer .footer__nav li a { white-space: nowrap; font-size: 1.25em; line-height: 1em; margin:0 0 0.9em 0; display:block; width:100%; font-family: 'Work Sans', san-serif; font-weight:600; text-align: left; letter-spacing: 0.03em; }
#footer footer .footer__nav li.footer__navItemSns { display: flex; font-size: 1.3em; margin:2.5em 0 0 0; }

/* contents */
#contents .item_detail table { width:100%; margin-bottom:2em; margin-top:3em; border-top-width:1px; border-top-style:solid; border-top-color:#000 }
#contents .item_detail th { padding-top:.8em; padding-bottom:.8em; border-bottom-width:1px; border-bottom-style:solid; border-bottom-color:#333; width:auto; font-weight:400; text-align:center; padding-right:.4em; padding-left:.4em; border-top:1px solid #000 }
#contents .item_detail td { padding-top:1em; padding-bottom:1em; border-bottom-width:1px; border-bottom-style:solid; border-bottom-color:#333; line-height:1.4em; text-align:left; border-top:1px solid #000 }

/* cartjs */
.cartjs_cart_in input { cursor:pointer!important; font-family:"ÞâÌÀÄ«",YuMincho,"¥Ò¥é¥®¥ÎÌÀÄ« ProN W3","Hiragino Mincho ProN","HGÌÀÄ«E","£Í£Ó £ÐÌÀÄ«","£Í£Ó ÌÀÄ«",serif!important; font-size:1.2em!important; line-heightimportant:1em; color:#FFF!important; background-color:#000!important; padding-top:.8em!important; padding-bottom:.8em!important; display:block!important; width:100%!important; border-top-style:none!important; border-right-style:none!important; border-bottom-style:none!important; border-left-style:none!important }
.cartjs_cart_in input:hover { color:#000; background-color:#eee }
.cartjs_product_form .cartjs_product_table td { position:relative; padding:0 }
.cartjs_sales_price td { font-size:1.5em }
.cartjs_sales_price td br { display:none }
.cartjs_product_num td:before { content:"" }
.cartjs_product_num td .cartjs_product_input_txt { font-size:1em!important; border:1px solid #DDD!important; background-color:#F3F4F6!important; padding:1.5em!important; text-align:center!important; margin:0!important; float:left!important }
.cartjs_product_table td select { -webkit-appearance:none; -moz-appearance:none; appearance:none; background-color:#F3F4F6; padding-top:.5em; padding-right:1em; padding-bottom:.5em; padding-left:2em; border:1px solid #CCC; font-family:"Yu Mincho","ÞâÌÀÄ«ÂÎ"; font-size:1em; line-height:1em }
.cartjs_product_table td select::-ms-expand { display:none }
.cartjs_product_table .cartjs_option td:before { content:"\f0d7"; position:absolute; left:.8em; top:1.4em; font-family:FontAwesome; color:#000 }

/* sp_menu */
.clearfix:after { content: " "; display: block; height: 0; clear: both; visibility: hidden; }
.clearfix { display: block; }
* html .clearfix { height: 1%; }
.ver_center { position: relative; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); }
.hor_center { position: relative; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }
.center { position: relative; left: 50%; top: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }
nav.sp_menu { position: fixed; width: 100%; height: 100%; top: 0; left: 0; background-color: transparent; z-index: 9; display: none; }
.menu_overlay { position: fixed; width: 100%; height: 100%; top: 0; left: 0; background-color: #FFFFFF; opacity: 0.95; z-index: -1; }
.menu_btn { width: 60px; height: 65px; position: fixed; overflow: visible; line-height: 13px; font-size: 1px; float: left; cursor: pointer; -webkit-transition: all 400ms ease-out 0ms; -moz-transition: all 400ms ease-out 0ms; -o-transition: all 400ms ease-out 0ms; transition: all 400ms ease-out 0ms; top: 0px; right: 0px; z-index: 999; }
.menu_btn .line { position: fixed; background-color: #000000; overflow: hidden; z-index: 999; width: 31px; height: 2px; -webkit-transition: all 400ms ease-out 0ms; -moz-transition: all 400ms ease-out 0ms; -o-transition: all 400ms ease-out 0ms; transition: all 400ms ease-out 0ms; top: 30px; right: 15px; }
.menu_btn .line:nth-child(1) { top: 30px; z-index: 2; }
.menu_btn .line:nth-child(2) { top: 40px; z-index: 2; }
.menu_btn .line:nth-child(3) { top: 50px; z-index: 2; }
.btn_wrapper .menu { color: #333333; font-family: bebas; font-size: 0.6em; padding-top: 1em; text-align: center; display: block; clear: both; width: 31px; margin-left: 15px; position: fixed; left: 0px; top: 0px; }
.btn_wrapper { z-index: 999; position: fixed; }
.btn_wrapper.clicked .menu_btn .line:nth-child(1) { -webkit-transform: translateY(10px) rotate(45deg); transform: translateY(10px) rotate(45deg); -webkit-transition: all 400ms ease-out 0ms; -moz-transition: all 400ms ease-out 0ms; -o-transition: all 400ms ease-out 0ms; transition: all 400ms ease-out 0ms; }
.btn_wrapper.clicked .menu_btn .line:nth-child(2) { opacity: 0; -webkit-transition: all 400ms ease-out 0ms; -moz-transition: all 400ms ease-out 0ms; -o-transition: all 400ms ease-out 0ms; transition: all 400ms ease-out 0ms; }
.btn_wrapper.clicked .menu_btn .line:nth-child(3) { -webkit-transform: translateY(-10px) rotate(-45deg); transform: translateY(-10px) rotate(-45deg); -webkit-transition: all 400ms ease-out 0ms; -moz-transition: all 400ms ease-out 0ms; -o-transition: all 400ms ease-out 0ms; transition: all 400ms ease-out 0ms; }
nav.sp_menu ul { position: relative; display: inline-block; margin-top: 15vh; margin-right: auto; margin-bottom: 0; margin-left: auto; width: 100%; }
nav.sp_menu ul li { font-family: 'Work Sans', san-serif; font-size: 1.4em; line-height: 2em; font-weight: 700; text-align: center; margin-bottom: 1em; letter-spacing: 0.03em; display: block; float: none; clear: both; margin-right: auto; margin-left: auto; }
.sp_menu ul .sns { vertical-align:middle; position: relative; display: inline-block; margin-right: 0.35em; margin-bottom: 0; margin-left: 0.35em; width: 6%; }
.sp_menu ul .sns:nth-child(8) { width: 18%; }
section.logo.center img { width: 100%; height: auto; }
span.horizontal { content: ""; height: 2px; width: 6px; background-color: #fff; display: block; margin: 20px 0; }
section.logo.center { max-width: 450px; width: 80%; max-height: 69px; height: auto; position: absolute; }
small { font-size: 9px; margin-top: 35px; display: block; text-transform: uppercase; }

@media screen and (max-width: 800px)  {

/* sp_menu */
nav.sp_menu ul { position: relative; display: inline-block; margin-top: 12vh; margin-right: auto; margin-bottom: 0; margin-left: auto; width: 100%; }
nav.sp_menu ul li { font-size: 1.4em; line-height: 2em; font-weight: 700; text-align: center; margin-bottom: 1em; letter-spacing: 0.03em; display: block; float: none; clear: both; margin-right: auto; margin-left: auto; }
.sp_menu ul .sns { vertical-align:middle; position: relative; display: inline-block; margin-right: 0.35em; margin-bottom: 0; margin-left: 0.35em; width: 4%; }
.sp_menu ul .sns:nth-child(8) { width: 12%; }

}

@media screen and (max-width: 470px)  {

body { font-size:14px }

/* option */
.pc { display:none }
.sp { display:block }
a[href^="tel:"] { pointer-events: auto; }
  
/* wrapper */
#wrapper { min-width:0; width:100%; padding-top:2em; padding-bottom:2em }
.btn_wrapper.clearfix { display:block }
.rl { -webkit-writing-mode:horizontal-tb; -ms-writing-mode:lr-tb; writing-mode:horizontal-tb; letter-spacing:.1em }
.spbr { display:block; font-size:0; line-height:0 }

/* header_top */
#header_top { display:none }

/* header */
#header { width:90%; margin-top:0 }
#header h1 { width:60% }
#header #nav { display:none }

/* contents */
#contents { text-align:justify; margin-top:7em }
#contents h2 { font-size:1.6em; line-height:1.75em; text-align:center; margin-bottom:3em }
.date { font-size:.9em }
.title { font-size:1.35em; line-height:1.5em; margin-top:.6em }
.caption { font-size:.65em; line-height:2em; margin-top:1.5em }

/* shop */
#shop { width:85%; margin-right:auto; margin-left:auto }
#shop #quality { border-top:1px solid #000; border-bottom:1px solid #000; padding-top:3em; padding-bottom:2em; margin-bottom:6em }
#shop #quality li { display:block; width:100%; margin-right:0; margin-bottom:2em }
#shop #quality li:nth-child(2) { width:100%; margin-right:0 }
#shop #quality li dt { font-size:1.85em; line-height:1.85em }
#shop #quality li dd { margin-top:1em }
#shop_item { margin-top:4em; width:100%; margin-right:auto; margin-left:auto }
#shop_item li { display:inline-block; width:41%; margin-right:15%; margin-bottom:3em; height:100% }
#shop_item li:nth-child(2n) { margin-right:0 }
#shop_item li li { float:none; width:100%; margin-right:0; height:auto; margin-bottom:0; margin-top:1em }
#shop_item li li:nth-child(2) { float:none; width:100%; min-height:0; margin-right:0; vertical-align:bottom }
#shop_item li li dt { text-align:left; display:block; font-size:1.2em; line-height:1.5em }
#shop_item li li dt span { margin-top:0; margin-left:.5em; font-size:.85em }
#shop_item li li dd { display:block; margin-top:1em; font-size:.85em }
#shop_gift li { display:inline-block; width:41%; margin-right:15%; margin-bottom:3em; height:100% }
#shop #shop_gift li:nth-child(2n) { margin-right:0 }
#shop #shop_gift li li { float:none; width:100%; margin-right:0; height:auto }
#shop #shop_gift li li:nth-child(2) { float:none; width:100%; min-height:0; margin-right:0; vertical-align:bottom }
#shop #shop_gift li li dt { text-align:left; display:block; font-size:1.35em }
#shop #shop_gift li li dt span { margin-top:0; margin-left:.5em; font-size:.85em }
#shop #shop_gift li li dd { display:block; margin-top:2em; font-size:.85em; padding-top:.75em; padding-bottom:.75em }
#shop_detail { width:85%; margin-right:auto; margin-left:auto }
#shop_detail .item_photo { display:block; vertical-align:top; width:100%; margin-right:auto; margin-left:auto }
#shop_detail .item_photo img { width:auto; max-height:500px; margin-right:auto; margin-left:auto; display:block }
#shop_detail .item_detail { display:block; vertical-align:top; width:100% }
#shop_detail .item_detail h1 { font-size:1.85em; line-height:1.85em; margin-bottom:1em; margin-top:2em }

/* footer */
#footer { margin-top:1.5em; margin-bottom:0em; }
#footer footer { flex-direction: column; align-items: end; }
#footer footer .footer__logo { width: 70%; margin:3em auto; }
#footer footer .footer__logo p { font-size: 0.7em; margin:1em 0 0 0; }
#footer footer address { white-space: normal; width:90%; margin: 0 auto; text-align: center; font-size: 0.9em; line-height: 2em; }
#footer footer address .jp { font-size: 1.1em; margin:0 0 1em 0; }
#footer footer address .en { font-weight:500; }
#footer footer .footer__nav { width:90%; margin: 0 auto; flex-direction: column; justify-content: center; }
#footer footer .footer__nav .footer__navItem { display:none; margin:1em 0 0 0; }
#footer footer .footer__nav li { display: none; }
#footer footer .footer__nav .footer__navItem:last-child { display:block; }
#footer footer .footer__nav li.footer__navItemSns { justify-content: center; font-size: 1.2em; margin:1.8em auto; }
#footer footer .footer__nav li a { white-space: normal; font-size: 2em; margin:0 0.2em 0 0; text-align: center; }

/* sp_menu */
nav.sp_menu ul { position: relative; display: inline-block; margin-top: 18vh; margin-right: auto; margin-bottom: 0; margin-left: auto; width: 100%; }
nav.sp_menu ul li { font-size: 1.4em; line-height: 1.8em; font-weight: 700; text-align: center; margin-bottom: 0.5em; letter-spacing: 0.03em; display: block; float: none; clear: both; margin-right: auto; margin-left: auto; }
.sp_menu ul .sns { vertical-align:middle; position: relative; display: inline-block; margin-right: 0.35em; margin-bottom: 0; margin-left: 0.35em; width: 6%; }
.sp_menu ul .sns:nth-child(8) { width: 18%; }

}

@media screen and (min-width: 600px) and (max-width: 1200px) {
body { font-size: 13px; }
}
@media screen and (min-width: 1201px) and (max-width: 1250px) {
body { font-size: 13px; }
}
@media screen and (min-width: 1251px) and (max-width: 1280px) {
body { font-size: 13.5px; }
}
@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: 15px; }
}