﻿@charset "UTF-8";


body {
  font-family: "Noto Sans JP", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 16px;
  color: #333333;
	overflow-x: hidden;
}
a { color: #333333;}
a:hover { text-decoration: none;}
a.for-blank { padding-right: 23px; background: url("../../img/usr/common/ico_arrow_blank.png") right center no-repeat; -webkit-background-size: 15px 15px; background-size: 15px 15px;}

.only-sp { display: none !important;}

.sp_only, .viewSp { display: none;}
@media screen and ( max-width: 767px) {
	.sp_only, .viewSp { display: block;}
	.pc_only, .viewPc { display: none!important;}
}

#switchObject { display: none !important;}

/* ----------------------------------
 Title
---------------------------------- */
h1, .h1 { padding: 0; margin: 60px 0 20px; border: 0; font-size: 32px; font-weight: 700; text-align: center; color: #333333;}
h2, .h2 { padding: 12px 0; margin: 0 0 24px; border-bottom: 1px solid #333333; font-size: 24px; font-weight: 500; color: #333333;}
h3, .h3 { padding: 12px 0; margin: 0 0 24px; border-bottom: 1px solid #dedede; font-size: 18px; font-weight: bold; color: #333333;}
h4, .h4 { padding: 12px 0; margin: 0; border-bottom: 0; font-size: 16px; font-weight: bold; color: #333333;}
h5, .h5 { font-size: 14px; font-weight: bold;}
h6, .h6 { font-size: 14px; font-weight: 500;}

.design-underline-title { padding: 0 0 13px 0; margin: 0 0 30px 0; border: none; border-bottom: #E5E4E4 2px solid; font-size: 30px; font-weight: 700; text-align: left; position: relative;}
.design-underline-title span { display: inline-block; position: relative;}
.design-underline-title span::after { content: ''; width: 100%; height: 2px; display: block; background: #E98805; position: absolute; left: 0; bottom: -15px;}

p.legend { padding: 0 0 10px 0; margin: 40px 0 15px; border: none; border-bottom: #E5E4E4 2px solid; font-size: 20px; font-weight: 700; text-align: left; position: relative;}
p.legend span:first-child { display: inline-block; position: relative;}
p.legend span:first-child::after { content: ''; width: 100%; height: 2px; display: block; background: #E98805; position: absolute; left: 0; bottom: -12px;}

/* ----------------------------------
 Price / Massage
---------------------------------- */
.price { color: #333;}
.net,
.net-price,
.default-net { display: none !important;}

.price::after,
.default-price::after { content: "（税込）"; font-size: 12px;}
.net::after,
.net-price::after,
.default-net::after { content: "（税抜）"; font-size: 12px;}
.block-addr2-message { color: #E30000;}

.help-block { font-size: 14px;}
.block-login--display-password { margin-left: 10px; font-size: 14px;}
.form-error { color: #E30000;}
.block-common-alert-list { width: 100%; margin: 0 auto 40px; padding: 20px; border: 1px solid #999; background: #fff; font-size: 16px; box-sizing: border-box;}
.block-common-alert-list--message { font-size: 16px;}
.block-common-alert-list--items { font-size: 16px; color: #E30000;}

/* ----------------------------------
 Input
---------------------------------- */
::placeholder { color: #999;}
input[name="pwd_display"] { margin-top: -5px;}

input,
button,
select,
textarea { font-size: 16px; font-family: inherit; line-height: inherit;}

input[readonly],
button[readonly],
select[readonly] { box-shadow: none !important; cursor: default !important; outline: none !important;}
textarea[readonly] { border-color: #ccc !important; box-shadow: none !important; cursor: default !important; outline: none !important;}

input[type="text"],
input[type="tel"],
input[type="email"],
input[type="search"],
input[type="password"],
input[type="url"],
input[type="number"],
select,
textarea { max-width: 100%; min-height: 50px; padding: 4px 10px; border: 1px solid #ccc; border-radius: 5px; background-color: #fff; font-size: 16px; box-sizing: border-box; box-shadow: inset 0 2px 4px 0 rgba(0,0,0,.08);}

input[type="number"]::-webkit-outer-spin-button, 
input[type="number"]::-webkit-inner-spin-button { 
  -webkit-appearance: none; 
  margin: 0; 
}
input[type="number"] { 
  -moz-appearance:textfield; 
}

select,
option { height: 50px; line-height: 50px;}

input[type="text"]:hover,
input[type="tel"]:hover,
input[type="email"]:hover,
input[type="search"]:hover,
input[type="password"]:hover,
input[type="url"]:hover,
input[type="number"]:hover,
select:hover,
textarea:hover { border: #E98805 1px solid;}

input[type="text"]:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
input[type="search"]:focus,
input[type="password"]:focus,
input[type="url"]:focus,
input[type="number"]:focus,
select:focus,
textarea:focus { outline: #E98805 2px solid;}

input[type="radio"] { width: 21px; height: 21px; margin-right: 8px; vertical-align: middle;}
input[type="checkbox"] { width: 21px; height: 21px; margin-right: 8px; vertical-align: middle;}

label.radio,
label.checkbox,
input[type="radio"],
input[type="radio"] + label,
input[type="checkbox"],
input[type="checkbox"] + label,
select { cursor: pointer;}

input[type="text"][disabled] { background: #dcdcdc; cursor: not-allowed;}

select.efo-valid[name="time_spec"] { background-color: #fff;}

.block-shipping-address input[name="dept"],
.block-shipping-address input[name="dept2"] { max-width: 200px;}

div.agree-body-text { width: 100%; height: 200px; padding: 20px; margin: 10px 0 20px 0; border: 1px solid #e5e4e4; overflow-y: scroll;}
div.agree-body-text strong { font-weight: bold;}

/* radio */
body:not(.page-goods) input[type="radio"] { width: 34px; height: 34px; margin-right: 10px; margin-bottom: 3px; border: #CCC 2px solid; -webkit-border-radius: 34px; border-radius: 34px; outline: 0; -webkit-appearance: none; -moz-appearance: none; -ms-appearance: none; background: #fff; position: relative; transition: 0.3s;}
body:not(.page-goods) input[type="radio"]:before { transition: 0.3s;}
body:not(.page-goods) input[type="radio"]:checked { border: #4c4c4c 2px solid;}
body:not(.page-goods) input[type="radio"]:checked:before { content: ''; width: 16px; height: 16px; border: #4c4c4c 2px solid; -webkit-border-radius: 10px; border-radius: 10px; position: absolute; left: calc(50% - 8px); top: calc(50% - 8px); display: block; background: #4c4c4c;}
body:not(.page-goods) input[type="radio"] + label { font-size: 16px;}

/* checkbox */
input[type="checkbox"] { width: 20px; height: 20px; margin-bottom: 3px; margin-right: 5px; border: #ccc 1px solid; background: #fff; position: relative; outline: 0; -webkit-appearance: none; -moz-appearance: none; -ms-appearance: none; transition: 0.3s;}
input[type="checkbox"]:before { transition: 0.3s;}
input[type="checkbox"]:checked { border: #333 1px solid; background: #333;}
input[type="checkbox"]:checked:before { content: ""; width: 12px; height: 8px; margin: 0; border-right: 2px solid #fff; border-top: 2px solid #fff; transform: rotate(135deg); position: absolute; left: calc(50% - 6px); top: calc(50% - 6px); display: block;}

/* ----------------------------------
 Button
---------------------------------- */
.action-buttons { width: 100%; margin: 40px 0 60px; text-align: center; display: block;}
.action-buttons.width-big-button .action + .action { display: block; margin: 10px 0 0 0;}
.action .btn { min-width: 240px; margin-top: 10px; padding: 8px 8px; font-size: 20px; border-width: 2px; box-sizing: border-box; transition: 0.4s;}
.btn-default { border: 2px solid #999; border-radius: 5px; background-color: #999; color: #fff;}
.btn-default:hover { background-color: #fff; color: #999;}
.btn-primary { border: 2px solid #F18700; border-radius: 5px; background-color: #F18700; color: #fff;}
.btn-primary:hover { background-color: #fff; color: #F18700}
.btn-secondary { border: 2px solid #9d9896; border-radius: 5px; background: #9d9896; color: #fff;}
.btn-danger  { border: 2px solid #000; border-radius: 5px; background: #000; color: #fff;}
.btn-danger:hover { border: 2px solid #000; border-radius: 5px; background: #fff; color: #000;}
.star-base   { width: 110px; height: 22px; background-position: 0 0; background-size: 110px 44px;}
.star-select { width: 110px; height: 22px; background-position: -110px -22px; background-size: 110px 44px;}
.fieldset .form-control { padding-left: 12px;}

.action-buttons .action .big-orange-btn,
.action-buttons .action .big-orange-text-btn { width: 510px; height: 87px; padding: 0; margin: 0 auto; border: 2px solid #F18700; border-radius: 10px; color: #fff; font-size: 24px; font-weight: 700; line-height: 1.4; letter-spacing: 1px; box-shadow: 0px 5px 5px -3px rgba(0,0,0,0.4); background-image: url("../../img/usr/common/btn_arrow_white.png"); background-position: 20px center; -webkit-background-size: 22px 22px; background-size: 22px 22px; background-repeat: no-repeat; background-color: #F18700; position: relative; display: flex; justify-content: center; align-items: center;}
.action-buttons .action .big-orange-btn:hover,
.action-buttons .action .big-orange-text-btn:hover { background-image: url("../../img/usr/common/btn_arrow_orange.png"); background-color: #fff; color: #F18700;}
.action-buttons .action .big-orange-text-btn input { width: 100%; height: 100%; border: none; display: block; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: none; outline: none; cursor: pointer; font-size: 0;}

/* ----------------------------------
 DesignButton
---------------------------------- */
a.design-btn { width: 400px; height: 60px; padding: 0 0 2px 0; margin: 0 auto; border: #FE7784 2px solid; border-radius: 30px; font-size: 22px; font-weight: 700; background: linear-gradient( #FFFFFF 0%, #f3f3f3 50%, #EEEEEE 50%); display: flex; justify-content: center; align-items: center; text-decoration: none; color: #FE7784; box-sizing: border-box; box-shadow: 0px 5px 5px -5px rgba(0,0,0,0.6); position: relative; transition: 0.2s background, 0.2s color ease-out 0.05s;}
a.design-btn.orange { border-color: #E98600; color: #E98600;}
a.design-btn.whiteorange { border-color: #ffffff; background: #fff; color: #333;}
a.design-btn.arrow::after { content: ''; width: 0; height: 0; border-color: transparent transparent transparent #FE7784; border-style: solid; border-width: 6px 0 6px 10px; vertical-align: middle; display: inline-block; position: absolute; top: calc(50% - 5px); right: 20px;}
a.design-btn.orange.arrow::after { border-color: transparent transparent transparent #E98600;}
a.design-btn:hover { background: linear-gradient( #FE7784 0%, #FB7682 49%, #FB8790 50%, #FFBBC1 100%); color: #fff;}
a.design-btn.orange:hover { background: linear-gradient( #FF9601 0%, #FF9A11 49%, #FDA329 50%, #F3BE75 100%); color: #fff;}
a.design-btn.whiteorange:hover { background: linear-gradient( #E98600 0%, #FFBC61 100%); color: #fff;}
a.design-btn.arrow:hover::after { border-color: transparent transparent transparent #fff !important;}
a.design-cart-btn { border: #00AA00 2px solid; border-radius: 30px; box-shadow: 0px 5px 5px -3px rgba(0,0,0,0.3); background: linear-gradient( #76C876 0%, #1BA41B 46%, #039703 49%, #009600 50%, #007500 100%); color: #FF0000; text-shadow: 2px 0 0 #fff, 2px 2px 0 #fff, 0 2px 0 #fff, -2px 2px 0 #fff, -2px 0 0 #fff, -2px -2px 0 #fff, 0 -2px 0 #fff, 2px -2px 0 #fff; transition: 0.4s;}
a.design-cart-btn:hover { border-color: #76C876; background: linear-gradient( #007500 0%, #039703 46%, #009600 49%, #1BA41B 50%, #76C876 100%);}
a.design-cart-btn.cart-icon::after { content: ''; width: 32px; height: 32px; background: url("../../img/usr/common/icon_cart_btn.png") center center no-repeat; -webkit-background-size: cover; background-size: cover; position: absolute; left: 20px; top: calc(50% - 16px); transition: 0.4s;}

/* ----------------------------------
 Fieldset
---------------------------------- */
.fieldset-vertical { margin: 20px 0;}
.fieldset-vertical .form-group { margin: 5px 0 10px 0;}
.fieldset-vertical .form-label,
.fieldset-vertical .constraint { margin: 0 0 5px 0;}
.fieldset-vertical .form-label { padding: 10px; margin-right: 10px; text-align: left; vertical-align: middle; background: #FFF7EB;}
.fieldset-vertical .form-label label { font-weight: bold;}
.fieldset-vertical .form-control { clear: both;}

.fieldset { width: 100%; margin: 20px 0;}
.fieldset .form-group { width: 100%; border: #e5e5e5 1px solid; display: table;}
.fieldset .form-group + .form-group { border-top: none;}
.fieldset .form-label,
.fieldset .constraint,
.fieldset .form-control { display: table-cell;}
.fieldset .form-label { width: 18%; padding: 15px 10px 15px 20px; font-size: 18px; text-align: left; background: #FFF7EB; box-sizing: border-box; vertical-align: middle;}
.fieldset .form-label label { font-weight: bold;}
.fieldset .constraint   { width: 145px; padding: 15px 15px 15px 0; text-align: right; background: #FFF7EB; box-sizing: border-box; vertical-align: middle;}
.fieldset .form-control { max-width: 660px; padding: 15px 15px 15px 20px; border-left: #e5e5e5 1px solid; vertical-align: middle;}

/* ----------------------------------
 Required
---------------------------------- */
.required::after { content: "必須"; height: 26px; padding: 0 8px; margin-left: 5px; border-radius: .25em; font-size: 12px; text-align: center; line-height: 25px; vertical-align: baseline; white-space: nowrap; display: inline-block; background-color: #E30000; color: #fff;}

.form-group[class$='-nickname'] .required::before,
.form-group[class$='-name'] .required::before,
.form-group[class$='-parentname'] .required::before,
.form-group[class$='-kana'] .required::before,
.form-group[class$='-mail'] .required::before,
.form-group[class$='-tel'] .required::before,
.form-group[class$='-zip'] .required::before,
.form-group[class$='-addr'] .required::before,
.form-group[class$='-addr2'] .required::before,
.form-group[class$='-addr3'] .constraint::before,
.form-group[class$='-addr22'] .required::before,
.form-group[class$='-pwd'] .constraint::before,
.form-group[class$='-comp'] .constraint::before,
.form-group[class$='-dept'] .constraint::before,
.form-group[class$='-update-old-id'] .required::before,
.form-group[class$='-update-new-pwd1'] .required::before,
.form-group[class$='-password--uid'] .constraint::before,
.form-group[class$='-password--customer3'] .constraint::before,
.form-group[class$='-certify--code'] .constraint::before,
.form-group[class$='-order-id'] .constraint::before,
.form-group[class$='-inquiry-body'] .required::before { 
	content: ""; height: 26px; padding: 0 8px; border-radius: .25em; font-size: 12px; text-align: center; line-height: 25px; vertical-align: baseline; white-space: nowrap; display: inline-block; background-color: #00a3d2; color: #fff;}

.form-group[class$='-nickname'] .required::before,
.form-group[class$='-name']     .required::before,
.form-group[class$='-parentname'] .required::before { content: "全角";}
.form-group[class$='-kana']     .required::before  { content: "全角カナ";}
.form-group[class$='-mail']      .required::before { content: "半角英数字";}
.form-group[class$='-tel']      .required::before { content: "半角数字";}
.form-group[class$='-zip']      .required::before { content: "半角数字";}
.form-group[class$='-addr']     .required::before { content: "全角";}
.form-group[class$='-addr2']    .required::before { content: "全角";}
.form-group[class$='-addr3']    .constraint::before { content: "全角";}
.form-group[class$='-addr22']   .required::before { content: "全角";}
.form-group[class$='-pwd']      .constraint::before { content: "半角英数字";}
.form-group[class$='-comp']     .constraint::before { content: "全角";}
.form-group[class$='-dept']     .constraint::before { content: "全角";}
.form-group[class$='-update-old-id']   .required::before { content: "半角英数字";}
.form-group[class$='-update-new-pwd1'] .required::before { content: "半角英数字";}
.form-group[class$='-password--uid'] .constraint::before { content: "半角英数字";}
.form-group[class$='-password--customer3'] .constraint::before { content: "半角英数字";}
.form-group[class$='-certify--code'] .constraint::before { content: "半角英数字";}
.form-group[class$='-order-id'] .constraint::before { content: "半角英数字";}
.form-group[class$='-inquiry-body'] .required::before { content: "全角";}
.form-group.block-onetimepassword-certify--code[class*='-certify--code'] .constraint::before { content: "半角数字";}

/* ----------------------------------
 Pager
---------------------------------- */
.pager { margin: 0; padding: 20px 0 40px; border-top: 0;}
.block-goods-list--pager-top { display: none;}
.block-goods-list--pager.pager { border: none;}
.pager[class*="-pager-top"],
[class*="-pager-top"] > .pager { display: none;}
.pager-total { margin: 0 0 20px 0; font-size: 16px; text-align: center; display: block;}
.pager-total .pager-count { margin: 0 8px; font-size: 24px; font-weight: 700;}
.pager-total .pager-count-ttl { display: none;}
.page-event .pager-total .pager-count-ttl,
.page-genre .pager-total .pager-count-ttl,
.page-category .pager-total .pager-count-ttl { display: inline-block;}
.pager-total .pager-count-ttl::after { content: '：';}
.pager-pagination-wrap { display: flex; justify-content: center; align-items: center;}
.pagination > * { margin: 0; padding: 0; border: 0;}
ul.pagination { display: flex; justify-content: center; align-items: center;}
ul.pagination.numbers { margin: 0 10px;}
.pagination li { width: 40px; height: 40px; margin: 0 5px; border: #707070 1px solid; border-radius: 5px; box-sizing: border-box; transition: 0.4s;}
.pagination li:hover { border: #E98600 1px solid;}
.pagination li.pager-previous { width: 80px;}
.pagination li.pager-next { width: 80px;}
.pagination li a { width: 100%; height: 38px; padding: 0; margin: 0; border-radius: 3px; font-size: 16px; color: #333333; text-decoration: underline; display: flex; justify-content: center; align-items: center; transition: 0.4s; box-sizing: border-box;}
.pagination li a:hover { text-decoration: none; background: #FFFAF3; color: #E98600;}
.pager-current { width: 38px; height: 38px; background: #E98600; font-size: 16px; font-weight: 700; text-decoration: none; color: #fff; display: flex; justify-content: center; align-items: center;}
.pagination li.pager-first a,
.pagination li.pager-last a { font-size: 0; color: #fff; position: relative;}
.pagination li.pager-previous a { padding-left: 10px; font-size: 16px; position: relative;}
.pagination li.pager-next a { padding-right: 10px; font-size: 16px; position: relative;}
.pagination li.pager-first a::before,
.pagination li.pager-first a::after,
.pagination li.pager-previous a::before,
.pagination li.pager-next a::before,
.pagination li.pager-last a::before,
.pagination li.pager-last a::after { content: ''; width: 0; height: 0; border-color: transparent transparent transparent #E98600; border-style: solid; border-width: 6px 0 6px 10px; vertical-align: middle; display: inline-block; position: absolute; top: calc(50% - 5px); left: 20px;}
.pagination li.pager-first a::before { left: 8px; transform: rotate(180deg);}
.pagination li.pager-first a::after  { left: 20px; transform: rotate(180deg);}
.pagination li.pager-previous a::before { left: 10px; transform: rotate(180deg);}
.pagination li.pager-next a::before  { left: 58px;}
.pagination li.pager-last a::before  { left:  8px;}
.pagination li.pager-last a::after   { left: 20px;}

/* ----------------------------------
 OrderFlow
---------------------------------- */
div.block-order-flow--step { padding: 20px 0; margin: 0; text-align: center;}
div.block-order-flow--step .block-order-flow--step1,
div.block-order-flow--step .block-order-flow--step2,
div.block-order-flow--step .block-order-flow--step3,
div.block-order-flow--step .block-order-flow--step4,
div.block-order-flow--step .block-order-flow--step5 { height: 36px; padding: 5px 10px 0 15px; margin: 0 30px 0 0; display: inline-block; position: relative; background: #e6e6e6; color: #3f3e3d;}
div.block-order-flow--step .block-order-flow--step1:after,
div.block-order-flow--step .block-order-flow--step2:after,
div.block-order-flow--step .block-order-flow--step3:after,
div.block-order-flow--step .block-order-flow--step4:after,
div.block-order-flow--step .block-order-flow--step5:after { content: ""; width: 0; height: 0; border: 18px solid transparent; border-left: 18px solid #e6e6e6; border-bottom-width: 18px; border-top-width: 18px; position: absolute; top: 0; right: -36px;}
div.block-order-flow--step .block-order-flow--step-current { background: #F18700; font-weight: bold; color: #fff;}
div.block-order-flow--step .block-order-flow--step-current:after { border-left: 18px solid #F18700;}

/* ----------------------------------
 PanKuzu
---------------------------------- */
.block-topic-path { padding: 30px 0 0 0; font-size: 16px;}
.block-topic-path--list li { padding-right: 1.0em;}
.block-topic-path--list a { padding-left: 1.0em; text-decoration: underline;}
.block-topic-path--list a:hover { text-decoration: none;}
.block-topic-path--list .block-topic-path--item__home a { padding-left: 0;}
.block-topic-path--list .block-topic-path--item__current a { text-decoration: none;}

/* ----------------------------------
 Modal
---------------------------------- */
.modal-header { font-size: 18px; background: #E98805; color: #fff;}
.modal-content{ background: #ffffff; color: #333;}
.modal-body   { background: #ffffff; color: #333;}
.modal-body li { border-bottom: #CCC 1px solid;}
.modal-body li a { color: #333;}
.modal-body li a:hover { text-decoration: underline;}
.modal-dialog .btn-primary { padding: 11px 0; margin: 0 15px; border: #E98805 2px solid; border-radius: 5px; font-size: 16px; text-align: center; text-decoration: none; box-sizing: border-box; background: #E98805; transition: 0.4s; position: relative; cursor: pointer; color: #fff;}
.modal-dialog .btn-primary:hover { border-color: #E98600; background: #fff; color: #E98600;}
.modal-dialog .btn-secondary { padding: 12px 0; margin: 0 15px; border: #CCC 1px solid; border-radius: 5px; font-size: 16px; text-align: center; text-decoration: none; box-sizing: border-box; background: linear-gradient( #FFF 0%, #EEE 100%); transition: 0.4s; position: relative; cursor: pointer; color: #333;}
.modal-dialog .btn-secondary:hover { border-color: #E98600; background: linear-gradient(#FFF7EB 0%, #FFF 100%); color: #E98600;}
.modal-dialog .bookmarkmodal-option { margin: 15px 0 0 0; text-align: center;}
.modal-dialog .modal-footer { padding: 0 10px 25px;}

/* ----------------------------------
 POPUP GUIDE
---------------------------------- */
.mfp-content { width: 980px !important; padding: 40px; margin: auto; background: #fff; box-sizing: border-box;}
.popup-guide-frame h2 { padding: 0 0 10px 0; margin: 0 0 30px 0; border-bottom: 3px solid #e5e4e4; font-size: 28px; line-height: 1.3; position: relative;}
.popup-guide-frame h2 span { display: inline-block; position: relative;}
.popup-guide-frame h2 span::after { content: ''; width: 100%; height: 3px; position: absolute; left: 0; bottom: -13px; background: #f39800; z-index: 1;}
.popup-guide-frame p + p { margin: 15px 0 0 0;}
.popup-guide-frame .notice-text { padding: 0 0 0 1em; text-indent: -1em;}
.popup-guide-frame strong { font-weight: bold;}
.popup-guide-frame .color { color: #FF0000;}
.popup-guide-frame .popup-guide-modal-close { margin: 30px 0 0 0; text-align: center;}
.popup-guide-frame .popup-guide-modal-close span { width: 160px; height: 40px; margin: 0 auto; border-radius: 40px; background: #b2b0ac; color: #fff; text-decoration: none; display: flex; justify-content: center; align-items: center; cursor: pointer;}
