@charset "UTF-8";
* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; word-break: break-all; }

html { font-size: 16px; }
@media screen and (max-width: 640px) { html { font-size: 3.5vw; } }

body { color: #363636; font-family: 'Noto Sans JP', YuGothicM, YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif; font-weight: 300; }

li { list-style: none; }

img { max-width: 100%; vertical-align: bottom; }

a { color: #363636; }
a:hover { text-decoration: none; }

button { padding: 0; border: none; background: none; font-size: 1rem; }

input[type="text"], input[type="password"], input[type="tel"], input[type="email"], textarea, select { padding: 6px 6px 4px; border: 1px solid #363636; font-size: 1rem; }

.only-pc { display: block; }
@media screen and (max-width: 640px) { .only-pc { display: none; } }

.only-sp { display: none; }
@media screen and (max-width: 640px) { .only-sp { display: block; } }

img.only-pc, span.only-pc { display: inline; }
@media screen and (max-width: 640px) { img.only-pc, span.only-pc { display: none !important; } }
img.only-sp, span.only-sp { display: none !important; }
@media screen and (max-width: 640px) { img.only-sp, span.only-sp { display: inline !important; } }

table.only-pc { display: table; }
@media screen and (max-width: 640px) { table.only-pc { display: none; } }
table.only-sp { display: none; }
@media screen and (max-width: 640px) { table.only-sp { display: table; } }

.ico { display: inline-block; vertical-align: middle; }
.ico::before { line-height: 1; }

.ico-cart::before { content: url("../img/common/i_cart.svg"); }

.ico-cart-w::before { content: url("../img/common/i_cart_w.svg"); }

.ico-facebook::before { content: ''; display: block; width: 40px; height: 40px; background: url("../img/common/i_facebook.svg") no-repeat; background-size: contain; }
@media screen and (max-width: 640px) { .ico-facebook::before { width: 30px; height: 30px; } }
.ico-facebook:hover::before { background-image: url("../img/common/i_facebook_on.svg"); }

.ico-facebook-w { width: 42px; }
.ico-facebook-w::before { content: url("../img/common/i_facebook_w.svg"); }
.ico-facebook-w:hover::before { content: url("../img/common/i_facebook_w_on.svg"); }

.ico-instagram::before { content: ''; display: block; width: 40px; height: 40px; background: url("../img/common/i_instagram.svg") no-repeat; background-size: contain; }
@media screen and (max-width: 640px) { .ico-instagram::before { width: 30px; height: 30px; } }
.ico-instagram:hover::before { background-image: url("../img/common/i_instagram_on.svg"); }

.ico-instagram-w { width: 42px; }
.ico-instagram-w::before { content: url("../img/common/i_instagram_w.svg"); }
.ico-instagram-w:hover::before { content: url("../img/common/i_instagram_w_on.svg"); }

.ico-line::before { content: ''; display: block; width: 40px; height: 40px; background: url("../img/common/i_line.svg") no-repeat; background-size: contain; }
@media screen and (max-width: 640px) { .ico-line::before { width: 30px; height: 30px; } }
.ico-line:hover::before { background-image: url("../img/common/i_line_on.svg"); }

.ico-line-w { width: 42px; }
.ico-line-w::before { content: url("../img/common/i_line_w.svg"); }
.ico-line-w:hover::before { content: url("../img/common/i_line_w_on.svg"); }

.ico-menu { width: 25px; height: 25px; }
.ico-menu::before { content: url("../img/common/i_menu.svg"); }

.ico-tree::before { content: url("../img/common/i_tree.svg"); }

.cmn-col2 > .cmn-col-item { float: left; width: 46.875%; }
@media screen and (max-width: 640px) { .cmn-col2 > .cmn-col-item { float: none; width: 100%; } }
.cmn-col2 > .cmn-col-item:nth-child(even) { float: right; }
@media screen and (max-width: 640px) { .cmn-col2 > .cmn-col-item:nth-child(even) { float: none; margin-top: 40px; } }

.cmn-col2-s > .cmn-col-item { float: left; width: 45.8333333333%; }
@media screen and (max-width: 640px) { .cmn-col2-s > .cmn-col-item { float: none; width: 100%; } }
.cmn-col2-s > .cmn-col-item:nth-child(even) { float: right; }
@media screen and (max-width: 640px) { .cmn-col2-s > .cmn-col-item:nth-child(even) { float: none; margin-top: 40px; } }

.cmn-col3 > .cmn-col-item { float: left; width: 33.3333333333%; padding-right: 15px; }
@media screen and (max-width: 640px) { .cmn-col3 > .cmn-col-item { float: none; width: 100%; padding-right: 0; }
  .cmn-col3 > .cmn-col-item:last-child { margin-bottom: 0; } }

.ttl-sec { margin-bottom: 25px; font-size: 1.625rem; font-weight: 400; line-height: 1.4; }
@media screen and (max-width: 640px) { .ttl-sec { font-size: 1.2173913043rem; } }

.ttl-subsec { margin-bottom: 40px; padding: 5px 30px; background-color: #979797; color: #fff; font-size: 1.375rem; }

.ttl-block { margin-bottom: 10px; padding-bottom: 5px; border-bottom: 1px solid #363636; font-size: 1.25rem; }

.txt-cap { padding-left: 1em; text-indent: -1em; }

.txt-red { color: #A52B31; }

.txt-lred { color: #f00; }

.txt-small { font-size: 0.75rem; }

.f_en { font-family: 'Montserrat', sans-serif; font-weight: 400; }

.f_en_b { font-family: 'Montserrat', sans-serif; font-weight: 500 !important; }

.f_min, .beauty-cap { font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; }

.box-error { margin-bottom: 15px; padding: 10px; background-color: #A52B31; color: #fff; text-align: center; }

.error-message { margin-top: 5px; padding: 5px; background-color: #A52B31; color: #fff; text-align: center; }

.message-box { margin-bottom: 15px; padding: 10px; color: #fff; text-align: center; }

.bg-danger { background-color: #A52B31; }

.bg-success { background-color: #008B46; }

.cmn-btn { position: relative; display: block; width: 145px; height: 34px; margin: 0 auto; border: 1px solid #363636; font-size: 0.75rem; font-weight: 400; line-height: 32px; text-align: center; text-decoration: none; }
.cmn-btn::after { content: url("../img/common/i_arrow.svg"); position: absolute; top: 50%; right: 10px; margin-top: -6px; line-height: 1; }
.cmn-btn.is-back::after { left: 10px; right: initial; transform: scale(-1, 1); }

.cmn-btn-l { position: relative; display: block; width: 328px; height: 42px; margin: 0 auto; border: 1px solid #363636; font-weight: 400; line-height: 40px; text-align: center; text-decoration: none; }
@media screen and (max-width: 640px) { .cmn-btn-l { font-size: 0.7826086957rem; } }
.cmn-btn-l::after { content: url("../img/common/i_arrow_l.svg"); position: absolute; top: 50%; right: 14px; margin-top: -7px; line-height: 1; }
.cmn-btn-l:hover { border-color: #c2c2c2; }
.cmn-btn-l:hover::before { content: ''; position: absolute; top: 0; left: 0; z-index: 1; width: 100%; height: 100%; background-color: rgba(228, 228, 228, 0.8); }

.cmn-btn-mono { position: relative; display: block; width: 100%; max-width: 328px; height: 42px; margin: 0 auto; background-color: #979797; color: #fff; font-weight: 400; line-height: 42px; text-align: center; text-decoration: none; }
.cmn-btn-mono:hover::before { content: ''; position: absolute; top: 0; left: 0; z-index: 1; width: 100%; height: 100%; background-color: rgba(127, 127, 127, 0.8); }
.cmn-btn-mono.cmn-btn-s { max-width: 196px; }
@media screen and (max-width: 640px) { .cmn-btn-mono.cmn-btn-s { max-width: 276px; } }

.cmn-btn-g { position: relative; display: block; width: 100%; max-width: 328px; height: 42px; margin: 0 auto; background-color: #008B46; color: #fff; font-weight: 400; line-height: 42px; text-align: center; text-decoration: none; }
.cmn-btn-g::after { content: url("../img/common/i_arrow_w.svg"); position: absolute; top: 50%; right: 14px; margin-top: -7px; line-height: 1; }
.cmn-btn-g:hover::before { content: ''; position: absolute; top: 0; left: 0; z-index: 1; width: 100%; height: 100%; background-color: rgba(151, 151, 151, 0.8); }
.cmn-btn-g.cmn-btn-s { max-width: 196px; }
@media screen and (max-width: 640px) { .cmn-btn-g.cmn-btn-s { max-width: 276px; } }

.cmn-link-wrap { text-decoration: none; }
.cmn-link-wrap:hover figure { position: relative; }
.cmn-link-wrap:hover figure::before { content: ''; position: absolute; top: 0; left: 0; z-index: 1; width: 100%; height: 100%; background-color: rgba(228, 228, 228, 0.8); }

.cmn-box-cap { padding-left: 1em; text-indent: -1em; }

.tbl-v { width: 100%; border-top: 1px solid #363636; }
.tbl-v th { width: 14em; padding: 15px 1em; background-color: #E4E4E4; border-bottom: 1px solid #363636; font-weight: normal; text-align: left; }
@media screen and (max-width: 640px) { .tbl-v th { display: block; width: 100%; } }
.tbl-v td { padding: 15px 15px 15px 30px; border-bottom: 1px solid #363636; }
@media screen and (max-width: 640px) { .tbl-v td { display: block; padding: 15px 0; } }

.tbl-border { width: 100%; }
.tbl-border th, .tbl-border td { padding: 5px 10px 3px; border: 1px solid #979797; vertical-align: middle; }

.w20 { width: 20%; }

.w40 { width: 40%; }

.w60 { width: 60%; }

.w100 { width: 100%; }

@media screen and (max-width: 640px) { .w50-sp { width: 50%; }
  .w60-sp { width: 60%; }
  .w100-sp { width: 100%; } }
.header { position: fixed; top: 0; left: 0; z-index: 1000; width: 100%; height: 68px; background-color: #fff; }
.header a { text-decoration: none; }
@media screen and (max-width: 640px) { .header { height: 50px; }
  .header .inner { display: flex; justify-content: space-between; column-gap: 5px; padding: 0 0 0 2.34375%; } }
.header .header-logo { margin-top: 12px; width: 44.7540983607%; }
@media screen and (max-width: 640px) { .header .header-logo { flex: 1; display: flex; align-items: center; height: 50px; margin-top: 0; } }
.header .header-nav { position: absolute; top: 0; right: 0; }
@media screen and (max-width: 640px) { .header .header-nav { position: static; } }
.header .header-btn { float: left; margin: 16px 13px 0 0; }
.header .header-btn li { margin-bottom: 5px; }
.header .header-btn li a { display: block; width: 82px; font-size: 0.75rem; text-align: center; }
.header .header-btn li:first-child a { padding: 4px 0 2px; background-color: #008B46; color: #fff; }
.header .header-btn li:first-child a:hover { background-color: #979797; }
.header .header-btn li:nth-child(2) a { padding: 3px 0 1px; border: 1px solid #363636; background-color: rgba(255, 255, 255, 0.5); }
.header .header-btn li:nth-child(2) a:hover { border-color: #979797; color: #979797; }
.header .header-cart { float: left; margin: 24px 15px 0 0; }
@media screen and (max-width: 640px) { .header .header-cart { margin: 16px 10px 0 0; } }
@media screen and (max-width: 640px) { .header .header-cart { margin-right: 10px; } }
.header .header-cart .ico { margin-right: 5px; }
.header .header-cart span { display: inline-block; padding: 4px 10px 2px; background-color: #008B46; color: #fff; font-size: 0.5625rem; }
.header .header-sns { float: left; margin-top: 16px; }
@media screen and (max-width: 640px) { .header .header-sns { margin-top: 12px; } }
.header .header-sns li { float: left; margin-right: 11px; }
@media screen and (max-width: 640px) { .header .header-sns li { margin-right: 5px; } }
.header .header-sns li:last-child { margin-right: 13px; }
@media screen and (max-width: 640px) { .header .header-sns li:last-child { margin-right: 5px; } }
.header .header-menu { position: relative; float: left; width: 68px; height: 68px; background-color: #666; cursor: pointer; }
@media screen and (max-width: 640px) { .header .header-menu { width: 50px; height: 50px; } }
.header .header-menu span { position: absolute; left: 16px; width: 36px; height: 1px; background-color: #fff; transition: all .4s; }
@media screen and (max-width: 640px) { .header .header-menu span { left: 12px; width: 26px; } }
.header .header-menu span:nth-child(1) { top: 24px; }
@media screen and (max-width: 640px) { .header .header-menu span:nth-child(1) { top: 18px; } }
.header .header-menu span:nth-child(2) { top: 34px; }
@media screen and (max-width: 640px) { .header .header-menu span:nth-child(2) { top: 25px; } }
.header .header-menu span:nth-child(3) { top: 44px; }
@media screen and (max-width: 640px) { .header .header-menu span:nth-child(3) { top: 32px; } }

.gnav { position: fixed; top: 0; left: 0; z-index: 100; display: none; justify-content: center; align-items: center; width: 100%; height: 100%; background: url("../img/common/menu_bg.jpg") no-repeat center center; background-size: cover; }
.gnav .gnav-inner { width: 100%; max-width: 540px; padding: 0 15px; }
.gnav a { color: #fff; text-decoration: none; }
.gnav .gnav-member { margin-bottom: 55px; }
.gnav .gnav-member li { float: left; width: 48%; max-width: 220px; }
.gnav .gnav-member li a { display: block; padding: 10px; border: 1px solid #fff; text-align: center; }
.gnav .gnav-member li a:hover { position: relative; border-color: #c2c2c2; }
.gnav .gnav-member li a:hover::before { content: ''; position: absolute; top: 0; left: 0; z-index: 1; width: 100%; height: 100%; background-color: rgba(151, 151, 151, 0.8); }
.gnav .gnav-member li:last-child { float: right; }
.gnav .gnav-menu { display: flex; justify-content: space-between; }
.gnav .gnav-menu ul { width: 48%; max-width: 220px; border-bottom: 1px solid #fff; }
.gnav .gnav-menu ul a { display: flex; justify-content: start; align-items: center; padding: 10px 0; border-top: 1px solid #fff; }
.gnav .gnav-menu ul a .ico { margin-right: 5px; }
.gnav .gnav-menu ul a:hover { color: #979797; }
.gnav .gnav-menu ul a:hover .ico-menu::before { content: url("../img/common/i_menu_on.svg"); }
.gnav .gnav-store { padding: 15px 0; border-top: 1px solid #fff; border-bottom: 1px solid #fff; }
.gnav .gnav-store p { margin-bottom: 5px; text-align: center; }
.gnav .gnav-store li { display: inline-block; margin: 10px 2em 0 0; }
.gnav .gnav-store li a::before { content: '◆'; margin-right: 5px; }
.gnav .gnav-store li a:hover { color: #979797; }
.gnav .gnav-store li:last-child { margin-right: 0; }

.js-menuopen { position: relative; overflow: hidden; }
.js-menuopen .header { background: none; }
.js-menuopen .header .header-menu span:nth-child(1) { transform: translateY(10px) rotate(-45deg); }
@media screen and (max-width: 640px) { .js-menuopen .header .header-menu span:nth-child(1) { transform: translateY(7px) rotate(-45deg); } }
.js-menuopen .header .header-menu span:nth-child(2) { opacity: 0; }
.js-menuopen .header .header-menu span:nth-child(3) { transform: translateY(-10px) rotate(45deg); }
@media screen and (max-width: 640px) { .js-menuopen .header .header-menu span:nth-child(3) { transform: translateY(-7px) rotate(45deg); } }
.js-menuopen .gnav { display: flex; }

.main { padding: 68px 0 74px; line-height: 1.6; }
@media screen and (max-width: 640px) { .main { padding-top: 50px; } }

.inner { width: 100%; max-width: 980px; margin: 0 auto; padding: 0 10px; }
@media screen and (max-width: 640px) { .inner { padding: 0 7.8125%; } }

.inner-s { width: 100%; max-width: 580px; margin: 0 auto; padding: 0 10px; }
@media screen and (max-width: 640px) { .inner-s { padding: 0 7.8125%; } }

.footer { padding: 35px 0; background-color: #008B46; color: #fff; }
.footer .footer-menu { margin-bottom: 40px; font-weight: 400; text-align: center; }
.footer .footer-menu li { display: inline-block; margin-right: 20px; }
.footer .footer-menu li:last-child { margin-right: 0; }
.footer .footer-menu:first-child { margin-bottom: 20px; }
.footer .footer-menu:first-child li { margin-right: 25px; }
.footer .footer-menu:first-child li:last-child { margin-right: 0; }
.footer .footer-menu a { color: #fff; text-decoration: none; }
.footer .footer-menu a:hover { color: #979797; }
.footer .footer-logo { float: left; }
.footer .footer-nav { float: right; margin-top: 12px; }
.footer .footer-nav p { float: left; width: 224px; }
.footer .footer-sns { float: left; }
.footer .footer-sns li { float: left; margin-right: 12px; }
.footer .footer-sns li:last-child { margin-right: 26px; }
@media screen and (max-width: 640px) { .footer .footer-sns li:last-child { margin-right: 0; } }
.footer .cmn-btn-g { border: 1px solid #fff; line-height: 40px; }
.footer .cmn-btn-g:hover { border-color: #aeaeae; }
.footer .footer-copy { margin-top: 45px; font-size: 0.75rem; text-align: center; }

.store-area { padding-top: 74px; }
.store-area .store-ttl { margin-bottom: 40px; text-align: center; }
.store-area .store-img { margin-bottom: 40px; }
.store-area .store-menu { margin-bottom: 40px; padding: 20px; border: 1px solid #363636; }
.store-area ul { max-width: 815px; margin: 0 auto; }
.store-area ul li { float: left; width: 40.245398773%; }
@media screen and (max-width: 640px) { .store-area ul li { float: none; width: 100%; max-width: 328px; margin: 0 auto 35px; } }
.store-area ul li:last-child { float: right; }
@media screen and (max-width: 640px) { .store-area ul li:last-child { float: none; margin-bottom: 0; } }
.store-area ul li .cmn-btn-l { width: 100%; }
.store-area .store-btn { display: flex; justify-content: center; align-items: center; max-width: 592px; height: 64px; margin-bottom: 50px; line-height: 64px; }
.store-area .store-btn::after { display: none; }

.title-area { position: relative; margin-bottom: 40px; padding-top: 45%; }
.title-area .title-inner { position: absolute; top: 0; left: 0; display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; }
@media screen and (max-width: 640px) { .title-area .title-inner .inner { padding: 0 4.6875%; } }

.storetitle-area { margin-bottom: 40px; background-color: #008B46; }
.storetitle-area .storetitle-inner { position: relative; max-width: 960px; margin: 0 auto; }
.storetitle-area .storetitle-inner .storetitle-h { position: absolute; top: 0; left: 0; display: flex; justify-content: center; align-items: center; width: 50%; height: 100%; padding: 20px; }
.storetitle-area .storetitle-inner figure { float: right; width: 50%; }

.subtitle-area { margin-bottom: 40px; background-color: #008B46; }
.subtitle-area .subtitle-inner { display: flex; justify-content: start; align-items: center; max-width: 980px; height: 60px; margin: 0 auto; padding: 0 10px; color: #fff; font-size: 1.25rem; font-weight: 300; line-height: 1; letter-spacing: 2px; }

.image-area { margin-bottom: 55px; }
.image-area img { width: 100%; }

.form-area .form-lead { margin-bottom: 15px; }
.form-area .form-sec { margin-bottom: 40px; }
.form-area .form-row { margin-bottom: 15px; }
.form-area .form-row p { margin-top: 5px; }
.form-area .form-v > dt { margin-bottom: 5px; }
.form-area .form-h { display: table; width: 100%; }
.form-area .form-h > dt { display: table-cell; vertical-align: middle; }
.form-area .form-h > dd { display: table-cell; vertical-align: middle; }
@media screen and (max-width: 640px) { .form-area .form-h.form-v-sp > dt { display: block; }
  .form-area .form-h.form-v-sp > dd { display: block; } }
.form-area .form-btn { margin-top: 20px; }
@media screen and (max-width: 640px) { .form-area .form-name dd span { display: block; margin-top: 10px; } }
.form-area .form-name dd input { margin-left: 0.75em; }
.form-area .form-birth { float: left; width: 50%; }
@media screen and (max-width: 640px) { .form-area .form-birth { float: none; width: 100%; } }
.form-area .form-sex { float: left; width: 50%; padding-left: 16.0714285714%; }
@media screen and (max-width: 640px) { .form-area .form-sex { float: none; width: 100%; margin-top: 20px; padding-left: 0; } }
.form-area .form-address dt { width: 10em; }
@media screen and (max-width: 640px) { .form-area .form-address dt { width: 6em; } }
@media screen and (max-width: 640px) { .form-area .form-address .form-v-sp dt { width: 100%; } }
.form-area .form-email dl { margin-bottom: 10px; }
.form-area .form-delivery dt { width: 8em; }
.form-area .form-delivery textarea { width: 100%; height: 120px; }
.form-area .form-payment dt { width: 13em; vertical-align: top; }
.form-area .form-gift .form-gift-noshi { display: flex; margin-bottom: 10px; }
@media screen and (max-width: 640px) { .form-area .form-gift .form-gift-noshi { display: block; } }
.form-area .form-gift .form-gift-noshi .form-gift-item { padding-left: 2em; }
@media screen and (max-width: 640px) { .form-area .form-gift .form-gift-noshi .form-gift-item { margin-top: 10px; padding-left: 1.2em; } }
.form-area .form-gift .form-gift-noshi .form-gift-item label { display: inline-block; margin-right: 0.5em; }
@media screen and (max-width: 640px) { .form-area .form-gift .form-gift-noshi .form-gift-item label { width: 4em; } }
.form-area .form-gift .form-gift-noshi .form-gift-noshi-front, .form-area .form-gift .form-gift-noshi .form-gift2-noshi-front { width: 9em; }
.form-area .form-gift .form-gift-noshi .form-gift-noshi-name, .form-area .form-gift .form-gift-noshi .form-gift2-noshi-name { width: 11em; }
.form-area .form-gift .form-gift-card .form-gift-item { margin-top: 5px; padding-left: 1.2em; }
.form-area .form-gift .form-gift-card .form-gift-noshi-message, .form-area .form-gift .form-gift-card .form-gift2-noshi-message { width: 100%; height: 6em; }
.form-area .form-gift-other { margin-bottom: 40px; }
.form-area .form-gift-other .form-gift-other-txt { margin-bottom: 10px; }
.form-area .form-gift-other .form-gift-other-sel label { margin-right: 1em; }
.form-area .form-gift-other .form-gift { margin-bottom: 0; }
.form-area .form-gift-other .form-gift._toggle { display: none; margin-top: 25px; }
.form-area .form-gift-other .form-gift._toggle._show { display: block; }
.form-area .form-credit dt { width: 11em; }
@media screen and (max-width: 640px) { .form-area .form-credit dt { display: block; width: 100%; } }
@media screen and (max-width: 640px) { .form-area .form-credit dd { display: block; } }
.form-area .form-orderno { padding: 5px; border: 1px solid #008B46; font-size: 1.25rem; font-weight: bold; text-align: center; }

.btn-contact { margin-top: 80px; }

.cooking-fig { position: relative; }
.cooking-fig .cooking-flag { position: absolute; top: 0; left: 0; }
.cooking-fig .cooking-flag img { display: block; margin-bottom: 5px; }
.cooking-fig .cooking-mark { position: absolute; right: 0; bottom: 0; }
.cooking-fig figure { text-align: center; }
.cooking-fig figure img { max-height: 450px; }

.beauty-fig { position: relative; }
.beauty-fig .beauty-cap { position: absolute; top: 0; left: 0; }

.beauty-cap { font-weight: bold; line-height: 1.1; }
.beauty-cap .beauty-cap-en { margin-bottom: 5px; font-size: 1.625rem; }
.beauty-cap .beauty-cap-ensub { margin-bottom: 20px; font-size: 1.25rem; }
.beauty-cap .beauty-cap-enttl { margin-bottom: 5px; font-size: 1.625rem; }
.beauty-cap .beauty-cap-ttl { margin-bottom: 25px; font-size: 1.125rem; }

/* home */
#home .header { background: none; }
#home .main { padding: 0; }

.mainvisual-area img { width: 100%; }

.home-area { position: relative; padding-top: 60.9375%; }
@media screen and (max-width: 640px) { .home-area { padding-top: 0; } }
.home-area .home-inner { position: absolute; top: 0; left: 0; display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; }
@media screen and (max-width: 640px) { .home-area .home-inner { position: static; display: block; } }
.home-area .home-ttl { margin-bottom: 50px; }
.home-area .ttl-sec { margin-bottom: 10px; }
@media screen and (max-width: 640px) { .home-area .ttl-sec { font-size: 1.3043478261rem; } }
.home-area dd { margin-bottom: 20px; }

#home .store-area { margin-bottom: 60px; }

.news-area { padding-bottom: 80px; }
@media screen and (max-width: 640px) { .news-area { margin-top: 40px; padding-bottom: 40px; } }
.news-area .news-ttl { font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; font-size: 2rem; font-weight: 400; text-align: center; }
@media screen and (max-width: 640px) { .news-area .news-ttl { border-bottom: none; font-family: 'Noto Sans JP', YuGothicM, YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif; font-size: 1.2173913043rem; }
  .news-area .news-ttl .only-sp { display: inline-block !important; min-width: 60%; padding: 5px; border: 1px solid #363636; } }
.news-area .news-list { display: flex; flex-direction: column; align-items: center; padding: 25px 0; border-top: 1px solid #363636; border-bottom: 1px solid #363636; }
@media screen and (max-width: 640px) { .news-area .news-list { padding-bottom: 0; border: none; } }
.news-area .news-list ul { max-height: 300px; overflow-y: auto; }
.news-area .news-list ul::-webkit-scrollbar { width: 5px; }
.news-area .news-list ul::-webkit-scrollbar-track { background-color: #ededed; }
.news-area .news-list ul::-webkit-scrollbar-thumb { background-color: #008B46; }
@media screen and (max-width: 640px) { .news-area .news-list ul { margin-left: 1em; } }
.news-area .news-list ul li { margin-bottom: 15px; }
@media screen and (max-width: 640px) { .news-area .news-list ul li { list-style: disc; } }

.banner-area { padding-bottom: 50px; }
@media screen and (max-width: 640px) { .banner-area { padding-bottom: 10px; } }
.banner-area .banner-ttl { margin-bottom: 30px; border-bottom: 1px solid #363636; font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; font-size: 1.75rem; font-weight: 400; text-align: center; }
@media screen and (max-width: 640px) { .banner-area .banner-ttl { font-size: 1.2173913043rem; } }
.banner-area ul { display: flex; flex-wrap: wrap; }
@media screen and (max-width: 640px) { .banner-area ul { display: block; } }
.banner-area ul li { width: 31.25%; margin-right: 3.125%; margin-bottom: 30px; text-align: center; }
@media screen and (max-width: 640px) { .banner-area ul li { width: 100%; margin-right: 0; } }
.banner-area ul li:nth-child(3n) { margin-right: 0; }
.banner-area ul li a { text-decoration: none; }
.banner-area ul li a p { margin-top: 10px; line-height: 1.4; }
.banner-area._link { padding: 40px 0 20px; }

.concept-area { background: url("../img/home/concept_bg.jpg") no-repeat; background-size: cover; }
@media screen and (max-width: 640px) { .concept-area { background: none; } }
.concept-area .home-content { max-width: 60.4166666667%; }
@media screen and (max-width: 640px) { .concept-area .home-content { max-width: initial; padding: 25px 0 55px; } }
.concept-area .concept-overview { margin-bottom: 60px; }
.concept-area .concept-overview dd { width: 95.8620689655%; }
@media screen and (max-width: 640px) { .concept-area .concept-overview dd { width: 100%; text-align: center; } }
.concept-area .concept-overview dd p { float: left; width: 58.4532374101%; }
@media screen and (max-width: 640px) { .concept-area .concept-overview dd p { float: none; width: 100%; margin-bottom: 20px; text-align: left; } }
.concept-area .concept-overview dd figure { float: left; width: 18.345323741%; margin: -5px 0 0 10px; }
@media screen and (max-width: 640px) { .concept-area .concept-overview dd figure { display: inline-block; float: none; width: 24.0740740741%; margin-left: 0; } }
.concept-area .concept-btn { width: 80.9352517986%; }
@media screen and (max-width: 640px) { .concept-area .concept-btn { width: 100%; } }

.cooking-area { background: url("../img/home/cooking_bg.jpg") no-repeat; background-size: cover; }
@media screen and (max-width: 640px) { .cooking-area { background: none; } }
.cooking-area .home-content { float: right; max-width: 50%; padding-left: 6.25%; }
@media screen and (max-width: 640px) { .cooking-area .home-content { max-width: initial; padding: 25px 0 55px; } }

.beauty-area { background: url("../img/home/beauty_bg.jpg") no-repeat; background-size: cover; }
@media screen and (max-width: 640px) { .beauty-area { background: none; } }
.beauty-area .home-content { max-width: 55.2083333333%; padding-top: 20.8333333333%; }
@media screen and (max-width: 640px) { .beauty-area .home-content { max-width: initial; padding: 25px 0 55px; } }
.beauty-area .home-ttl { margin-bottom: 30px; }
.beauty-area dl { position: relative; padding-top: 10px; }
.beauty-area dl .beauty-fig { position: absolute; top: 0; right: 0; }
@media screen and (max-width: 640px) { .beauty-area dl .beauty-fig { position: static; margin-bottom: 10px; } }
.beauty-area dl .beauty-fig figure { float: left; margin-left: 16px; }
@media screen and (max-width: 640px) { .beauty-area dl .beauty-fig figure { margin-left: 0; margin-right: 16px; } }
.beauty-area dl p { width: 84.9056603774%; }
@media screen and (max-width: 640px) { .beauty-area dl p { width: 100%; } }
.beauty-area .beauty-btn { width: 84.9056603774%; }
@media screen and (max-width: 640px) { .beauty-area .beauty-btn { width: 100%; } }

/* Concept */
#concept .title-area { background: url("../img/concept/main_bg.jpg") no-repeat; background-size: cover; }
#concept .title-area .inner { text-align: center; }
@media screen and (max-width: 640px) { #concept .title-area .inner img { width: 35%; } }

.overview-area { padding-bottom: 25px; }
.overview-area .cmn-col2 { margin-bottom: 55px; }
.overview-area dl { margin: 15px 0; }
.overview-area dl:first-child { margin-top: 0; }
.overview-area dl big { display: block; font-size: 1.375rem; }
.overview-area h3 { margin-top: 40px; }

.shop-area { margin-bottom: 15px; }
@media screen and (max-width: 640px) { .shop-area { margin-bottom: 60px; } }
.shop-area .shop-detail img { width: 100%; }
.shop-area .shop-detail p { margin-bottom: 23px; }
.shop-area .shop-detail p:last-child { margin-bottom: 0; }
.shop-area .shop-staff figure { margin: 15px 0 20px; }
.shop-area .shop-staff figure img { display: inline-block; width: 51.1111111111%; vertical-align: bottom; }
@media screen and (max-width: 640px) { .shop-area .shop-staff figure img { width: 47.7777777778%; } }
.shop-area .shop-staff figure figcaption { display: inline-block; width: 46.6666666667%; padding-left: 15px; line-height: 1; vertical-align: bottom; }
@media screen and (max-width: 640px) { .shop-area .shop-staff figure figcaption { width: 50%; } }
.shop-area .shop-staff figure figcaption big { display: block; margin-top: 10px; font-size: 1.375rem; }
.shop-area .shop-fig { margin-top: 38px; }
.shop-area .shop-fig li { float: left; width: 25%; }
@media screen and (max-width: 640px) { .shop-area .shop-fig li { width: 50%; } }
.shop-area .shop-fig li img { width: 100%; }
.shop-area .shop-map { position: relative; margin-top: 55px; padding-top: 44.0625%; }
@media screen and (max-width: 640px) { .shop-area .shop-map { padding-top: 62.962962963%; } }
.shop-area .shop-map iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/* For Cooking */
#cooking .title-area { background: url("../img/cooking/main_bg.jpg") no-repeat; background-size: cover; }
#cooking .title-area .inner { text-align: right; }
@media screen and (max-width: 640px) { #cooking .title-area .inner img { width: 41.7105263158%; } }

.cooking01-area { margin-bottom: 55px; }
.cooking01-area .cooking01-master figure img { display: inline-block; width: 51.1111111111%; vertical-align: bottom; }
.cooking01-area .cooking01-master figure figcaption { display: inline-block; width: 46.6666666667%; padding-left: 15px; line-height: 1; vertical-align: bottom; }
.cooking01-area .cooking01-master figure figcaption big { display: block; margin: 5px 0; font-size: 1.375rem; line-height: 1.2; }
.cooking01-area .cooking01-fig { margin-top: 75px; text-align: center; }

.cooking02-area .cmn-col-item p { margin-bottom: 40px; }

/* Beauty Care */
#beauty .title-area { background: url("../img/beauty/main_bg.jpg") no-repeat; background-size: cover; }
@media screen and (max-width: 640px) { #beauty .title-area .inner img { width: 41.0526315789%; margin-left: 6.8965517241%; } }

.beauty01-area { margin-bottom: 55px; }
.beauty01-area .beauty01-fig { margin-top: 35px; text-align: center; }

.beauty02-area .cmn-col2 { margin-bottom: 40px; }
.beauty02-area .cmn-col2:last-child { margin-bottom: 0; }
@media screen and (max-width: 640px) { .beauty02-area .ttl-sec { font-size: 1.1304347826rem; } }
.beauty02-area dl { margin-bottom: 40px; }
.beauty02-area dl dt { margin-bottom: 15px; padding: 8px 5px 0 12px; background-color: #008B46; color: #fff; font-size: 1.375rem; }
.beauty02-area dl dt .ico { margin-right: 12px; }

/* Online Store | index */
.storetop-area .ttl-sec { margin-bottom: 40px; }
.storetop-area .storetop-list { display: flex; flex-wrap: wrap; justify-content: space-between; }
.storetop-area .storetop-list a { display: block; color: #fff; text-align: center; text-decoration: none; }
@media screen and (max-width: 640px) { .storetop-area .storetop-list a { padding: 10px; } }
.storetop-area .storetop-list .storetop-list-p { width: 45.8333333333%; margin-bottom: 60px; }
@media screen and (max-width: 640px) { .storetop-area .storetop-list .storetop-list-p { width: 100%; margin-bottom: 20px; }
  .storetop-area .storetop-list .storetop-list-p a { background-color: #008B46; } }
.storetop-area .storetop-list .storetop-list-c { width: 90%; margin: 0 auto; }
.storetop-area .storetop-list .storetop-list-c li { margin-top: 20px; }
.storetop-area .storetop-list .storetop-list-c li a { background-color: #676767; }

/* Online Store | cat */
.storelist-area .ttl-sec { margin-bottom: 40px; }
.storelist-area ul { display: flex; flex-wrap: wrap; justify-content: space-between; }
.storelist-area ul li { width: 45.8333333333%; margin-bottom: 60px; }
@media screen and (max-width: 768px) { .storelist-area ul li { width: 100%; } }
.storelist-area ul li .storelist-ttl { font-size: 1.5rem; font-weight: bold; }
.storelist-area ul li .storelist-txt { margin-bottom: 40px; }
.storelist-area ul li .storelist-fig { margin-bottom: 20px; }
.storelist-area ul li .cooking-fig { margin-bottom: 20px; }
.storelist-area ul li .cooking-fig .cooking-flag { top: 40px; }
.storelist-area ul li .cooking-fig figure img { max-height: 430px; }
.storelist-area ul li .beauty-fig { margin-bottom: 15px; }
.storelist-area ul li .storelist-link { display: flex; justify-content: space-between; }
.storelist-area ul li dl { flex: 1; }
.storelist-area ul li dl dt { font-size: 1.125rem; font-weight: bold; }
.storelist-area ul li .cmn-btn-g { max-width: 129px; margin-top: 5px; }
.storelist-area ul li .cmn-btn-g:hover::before { background-color: rgba(228, 228, 228, 0.8); }

/* Online Store | detail */
.storedetail-area .storedetail-main { margin-bottom: 50px; }
.storedetail-area .storedetail-main .cmn-col-item { display: flex; justify-content: start; align-items: center; }
.storedetail-area .storedetail-main .cmn-col-item form { width: 100%; }
.storedetail-area .storedetail-fig { width: 100%; }
.storedetail-area .storedetail-fig figure { position: relative; }
.storedetail-area .storedetail-fig figure::before { content: ''; display: block; padding-top: 100%; }
.storedetail-area .storedetail-fig figure img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.storedetail-area .storedetail-fig .storedetail-fig-main { overflow: hidden; }
.storedetail-area .storedetail-fig .storedetail-fig-main img { object-fit: contain; }
.storedetail-area .storedetail-fig .storedetail-fig-thumb { display: flex; flex-wrap: wrap; }
.storedetail-area .storedetail-fig .storedetail-fig-thumb figure { width: 22.9545454545%; margin: 2.7272727273% 2.7272727273% 0 0; }
.storedetail-area .storedetail-fig .storedetail-fig-thumb figure:nth-child(4n) { margin-right: 0; }
.storedetail-area .storedetail-fig .storedetail-fig-thumb figure img { object-fit: cover; }
.storedetail-area .storedetail-name { padding-bottom: 10px; font-size: 1.375rem; }
.storedetail-area .storedetail-price { font-size: 1.25rem; font-weight: bold; }
.storedetail-area .storedetail-desc { margin: 20px 0 40px; }
.storedetail-area .storedetail-status { padding-bottom: 10px; }
.storedetail-area .storedetail-status dt { float: left; }
.storedetail-area .storedetail-status dd { margin: 0 0 10px 3.5em; }
.storedetail-area .storedetail-status dd th { padding: 0 1em 5px 0; font-weight: normal; text-align: left; }
.storedetail-area .storedetail-status .storedetail-num { padding: 2px 4px; margin-right: 5px; }
.storedetail-area .storedetail-btn { width: 100%; }
.storedetail-area .storedetail-btn div { display: flex; }
.storedetail-area .storedetail-btn div i { display: flex; justify-content: center; align-items: center; width: 24.0909090909%; height: 70px; background-color: #4E4E4E; }
.storedetail-area .storedetail-btn div span { display: flex; justify-content: center; align-items: center; width: 78.1818181818%; height: 70px; background-color: #008B46; color: #fff; font-size: 1.25rem; }
.storedetail-area .storedetail-btn:hover { position: relative; }
.storedetail-area .storedetail-btn:hover::before { content: ''; position: absolute; top: 0; left: 0; z-index: 1; width: 100%; height: 100%; background-color: rgba(228, 228, 228, 0.8); }
.storedetail-area .storedetail-sub { margin-bottom: 40px; }
.storedetail-area .storedetail-detail { margin-bottom: 50px; }
.storedetail-area .storedetail-detail:last-child { margin-bottom: 0; }
.storedetail-area .storedetail-detail dt { margin-bottom: 10px; padding-bottom: 5px; border-bottom: 1px solid #363636; }
.storedetail-area .storedetail-data { border-bottom: 1px solid #363636; }
.storedetail-area .storedetail-data::before { content: '　'; display: block; margin-bottom: 5px; }
@media screen and (max-width: 640px) { .storedetail-area .storedetail-data::before { display: none; } }
.storedetail-area .storedetail-data dl { padding: 10px 0 8px; border-top: 1px solid #363636; }
.storedetail-area .storedetail-data dl dt { float: left; }
.storedetail-area .storedetail-data dl dd { margin-left: 6em; }
.storedetail-area .storedetail-reco { padding-bottom: 50px; }
.storedetail-area .storedetail-reco li { display: table; margin-bottom: 70px; }
@media screen and (max-width: 640px) { .storedetail-area .storedetail-reco li { margin-bottom: 40px; } }
.storedetail-area .storedetail-reco li figure { display: table-cell; min-width: 158px; text-align: center; }
.storedetail-area .storedetail-reco li figure img { max-height: 233px; }
.storedetail-area .storedetail-reco li dl { display: table-cell; vertical-align: bottom; }
.storedetail-area .storedetail-reco li dl dt { margin-bottom: 5px; font-size: 1.125rem; }
.storedetail-area .storedetail-reco li dl dt .cooking-fig { margin-bottom: 20px; }
.storedetail-area .storedetail-reco li dl dt .cooking-fig .cooking-flag { position: static; }
.storedetail-area .storedetail-reco li dl dt .cooking-fig .cooking-flag img { width: 70px; }
.storedetail-area .storedetail-reco li dl dt .cooking-fig .cooking-mark { width: 57px; }
.storedetail-area .storedetail-reco li dl dt .beauty-cap { position: relative; }
.storedetail-area .storedetail-reco li dl dt .beauty-cap .beauty-cap-en { font-size: 1.25rem; }
.storedetail-area .storedetail-reco li dl dt .beauty-cap .beauty-cap-ensub { font-size: 0.875rem; }
.storedetail-area .storedetail-reco li dl dt .beauty-cap .beauty-cap-enttl { padding-right: 120px; font-size: 1.25rem; }
.storedetail-area .storedetail-reco li dl dt .beauty-cap .beauty-cap-ttl { padding-right: 120px; font-size: 1rem; }
.storedetail-area .storedetail-reco li dl dt .beauty-cap .beauty-cap-fig { position: absolute; right: 0; bottom: 0; width: 95px; }

.storedetail-back { max-width: 520px; margin-bottom: 45px; }
@media screen and (max-width: 640px) { .storedetail-back { max-width: 328px; } }

/* カート */
.cart-area .cart-lead { margin-bottom: 15px; }
.cart-area .cart-attention { margin-bottom: 60px; }
.cart-area .cart-tbl { margin-bottom: 15px; }
.cart-area .cart-tbl img { max-width: 100px; max-height: 110px; vertical-align: middle; }
.cart-area .cart-tbl p { margin-top: 8px; }
.cart-area .cart-tbl tfoot td { font-weight: bold; text-align: right; }
@media screen and (max-width: 640px) { .cart-area .cart-tbl tfoot td { border-top: none; border-left: none; border-right: none; } }
.cart-area .cart-item { margin-bottom: 15px; padding-bottom: 15px; border-bottom: 1px solid #979797; }
.cart-area .cart-item .cart-item-name { display: table; width: 100%; }
.cart-area .cart-item .cart-item-name figure { display: table-cell; width: 25%; text-align: center; vertical-align: middle; }
.cart-area .cart-item .cart-item-name figure img { max-width: 100px; max-height: 110px; vertical-align: middle; }
.cart-area .cart-item .cart-item-name dl { display: table-cell; vertical-align: middle; padding-left: 15px; }
.cart-area .cart-item .cart-item-ctrl { display: flex; justify-content: flex-end; }
.cart-area .cart-item .cart-item-ctrl p { margin-left: 15px; }
.cart-area .cart-num { width: 4em; padding: 2px 4px; text-align: right; }
.cart-area .cart-btn { padding: 5px 10px 3px; border: 1px solid #979797; border-radius: 10px; white-space: nowrap; }
.cart-area .cart-btn.is-inverse { background-color: #979797; color: #fff; }
.cart-area .cart-secure { margin-bottom: 80px; }
.cart-area .cart-goshop { margin-top: 30px; text-align: center; }

/* Contact */
#contact .storetitle-area .storetitle-h { justify-content: start; }

.contact-area .contact-ttl { margin-bottom: 10px; font-size: 1.25rem; }
.contact-area .contact-tel { margin-top: 10px; font-size: 0.875rem; }
.contact-area dt span { margin-left: 2em; }
.contact-area textarea { height: 140px; }

/* ご利用案内 */
.guide-area { margin-bottom: 75px; }
.guide-area li { margin-bottom: 25px; }
.guide-area li figure { margin-top: 5px; }

/* 特定商取引法に関する表示 */
.legal-area { padding-bottom: 30px; }
.legal-area .legal-ttl { margin-bottom: 5px; font-size: 1.25rem; }
.legal-area .legal-box { margin-bottom: 30px; }

.privacy-area .privacy-ttl { margin-bottom: 20px; font-size: 1.25rem; }
.privacy-area .ttl-block { font-size: 1rem; }
.privacy-area dl { margin-bottom: 60px; }
.privacy-area dl p, .privacy-area dl li { margin-bottom: 1em; }

/* マイページ */
.mypage-nav { display: flex; justify-content: space-between; margin-bottom: 30px; }
.mypage-nav li { width: 40%; }
@media screen and (max-width: 640px) { .mypage-nav li { width: 47.5%; } }
.mypage-nav li a { display: block; padding: 10px; text-align: center; border: 1px solid #363636; background-color: #e9e9e9; text-decoration: none; }
.mypage-nav li a.is-current { border-color: #008B46; background-color: #008B46; color: #fff; }

.mypage-history li { margin-bottom: 15px; padding-bottom: 15px; border-bottom: 1px solid #e9e9e9; }
.mypage-history li dl { display: flex; }
.mypage-history li dl dt { font-weight: 700; white-space: nowrap; }
.mypage-history li dl:last-child { display: block; }

.login-area .login-inner { display: flex; justify-content: space-between; }
@media screen and (max-width: 640px) { .login-area .login-inner { display: block; } }
.login-area .login-form { width: 46.875%; }
@media screen and (max-width: 640px) { .login-area .login-form { width: 100%; } }
.login-area .login-register { width: 46.875%; }
@media screen and (max-width: 640px) { .login-area .login-register { width: 100%; } }

/* 共通 */
.tac { text-align: center; }

.tar { text-align: right; }

.clearfix { zoom: 1; }
.clearfix::before { content: ""; display: table; }
.clearfix::after { content: ""; display: table; clear: both; }

/*# sourceMappingURL=style.css.map */
