@charset "utf-8";

body:not(.ordercompletion) header .inner.header__nav__inner {
  height: 100px;
}
body:not(.ordercompletion) .header__nav__mainsite,
body:not(.ordercompletion) .header__nav__cart,
body:not(.ordercompletion) .footer__paging,
body:not(.ordercompletion) .footer__nav,
body:not(.ordercompletion) .footer__content__copy {
  display: none;
}
body:not(.ordercompletion) .footer__content {
  padding-block: 0;
}
body:not(.ordercompletion) .footer__content__copyright {
  height: 80px;
  margin-top: 0;
  padding-block: 32px;
}
@media screen and (max-width: 480px){
  body:not(.ordercompletion) .footer__content {
    background-size: auto 200%;
  }
  body:not(.ordercompletion) .footer__content__copyright {
    height: 60px;
    padding-block: 22px;
  }
  body:not(.ordercompletion) .header__nav__spnavbtn {
    visibility: hidden;
  }
}


.cart_page_title {
  font-size: clamp(14px, calc(24 / 1200 * 100vw), 24px);
  font-weight: normal;
  letter-spacing: .1em;
  margin-bottom: 25px;
}
div.cart_navi ul {
  background: #D5CDB1;
}
div.cart_navi li {
  padding: 0 .909095em 0 1.81818em;
  background: #D5CDB1;
  color: #212121;
  font-size: clamp(12px, calc(18 / 1200 * 100vw), 18px);
  line-height: 60px;
  letter-spacing: .1em;
}
div.cart_navi li::before {
  width: 30px;
  height: 30px;
  margin: 0 -30px -30px auto;
  background: #D5CDB1;
}
div.cart_navi li::after {
  width: 30px;
  height: 30px;
  margin: -30px -30px 0 auto;
  background: #D5CDB1;
}
div.cart_navi li.current,
div.cart_navi li.current::before,
div.cart_navi li.current::after {
  background-color: #AB9B63;
}
div.cart_navi li:last-child::before,
div.cart_navi li:last-child::after {
  -webkit-transform: skew(0);
  -moz-transform: skew(0);
  -o-transform: skew(0);
  transform: skew(0);
}
#wc_cart #cart .upbutton {
  padding: 25px 0 20px;
  font-size: clamp(11px, calc(16 / 1200 * 100vw), 16px);
  letter-spacing: .08em;
}
#wc_cart #cart .upbutton input {
  margin-left: 15px;
  padding: 8px 12px 7px;
  border: 1px solid #D36900;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14.835" height="12.5" viewBox="0 0 14.835 12.5"><path d="M8.623,4.649l3.421,2.79,2.791-3.421-.775-.632-1.627,1.995c-.425-3.036-3.032-5.382-6.183-5.382C2.804,0,0,2.804,0,6.25s2.804,6.25,6.25,6.25c2.227,0,4.3-1.197,5.412-3.125l-.865-.5c-.935,1.619-2.677,2.625-4.547,2.625-2.895,0-5.25-2.355-5.25-5.25S3.355,1,6.25,1c2.691,0,4.891,2.044,5.19,4.656l-2.184-1.782-.633.775Z" fill="%23d36900"/></svg>') no-repeat center left calc(50% - 2.25em)/15px auto #fff;
  color: #D36900;
  font-size: 15px;
  font-family: inherit;
  letter-spacing: .08em;
  text-indent: 1.25em;
}
#wc_cart #cart .upbutton input:hover {
  background-color: #fff0de;
}
#cart_table th {
  padding: 8px 5px 7px;
  border-color: #DEDEDE;
  background-color: #F2F2F2;
  font-size: 16px;
  font-weight: bold;
}
#cart_table th em.tax {
  color: inherit;
  font-size: calc(13 / 16 * 100%);
}
#cart_table td {
  padding: 15px;
  border-color: #DEDEDE;
  font-size: 16px;
  letter-spacing: .025em;
}
#cart_table .num {
  width: 46px;
}
#cart_table .thumbnail {
  width: 100px;
}
/* #cart_table .unitprice {
  width: 135px;
}
#cart_table .quantity {
  width: 100px;
}
#cart_table .subtotal {
  width: 130px;
}
#cart_table .stock {
  width: 110px;
}
#cart_table .action {
  width: 100px;
} */
#cart_table td.unitprice::first-letter,
#cart_table td.subtotal::first-letter {
  font-size: 0;
}
#cart_table td.unitprice::after,
#cart_table td.subtotal::after {
  content: " 円";
}
#cart_table .quantity input {
  width: 70px;
  height: 30px;
  border-color: #DEDEDE;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  font-family: inherit;
}
#cart .action input.delButton {
  background-color: #666;
  color: #fff;
  margin-inline: auto;
  font-size: 15px;
  font-family: inherit;
  letter-spacing: .08em;
  text-indent: .08em;
  padding: 4px 8px;
}
#cart_table tfoot th {
  padding-inline: 15px;
}
#cart_table tfoot th.amount {
  font-size: 18px;
  padding: 12px 15px 10px;
}
#cart_table tfoot th.amount::first-letter {
  font-size: 0;
}
#cart_table tfoot th.amount::after {
  content: " 円";
}
#wc_cart .currency_code {
  display: none;
}
.cart-page .send {
  padding-top: 50px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 30px 10px;
}
.cart-page .send input {
  background-color: #F2F2F2;
  color: #212121;
  margin-bottom: 0;
  width: 240px;
  height: 60px;
  font-size: 18px;
  font-family: inherit;
  line-height: 1;
}
.cart-page .send input:hover {
  opacity: .7;
}
.send input.to_customerinfo_button, .send input.to_memberlogin_button, .send input.to_deliveryinfo_button, .send input.to_confirm_button, .send input#purchase_button {
  background-color: #D36900;
  color: #fff;
}
.send input.to_customerinfo_button:hover, .send input.to_memberlogin_button:hover, .send input.to_deliveryinfo_button:hover, .send input.to_confirm_button:hover, .send input#purchase_button:hover {
  background-color: #D36900;
}
#wc_cart .no_cart {
  font-size: 18px;
  letter-spacing: .08em;
  font-weight: normal;
}
#wc_customer div.header_explanation {
  font-size: clamp(12px, calc(18 / 1200 * 100vw), 18px);
  letter-spacing: .08em;
  line-height: 2;
  margin: 40px 0 0;
}
#wc_customer .error_message {
  margin-bottom: 40px;
  transform: translateY(15px);
}
#wc_delivery div.header_explanation {
  font-size: clamp(12px, calc(18 / 1200 * 100vw), 18px);
  letter-spacing: .08em;
  line-height: 2;
  margin: 40px 0;
}
#wc_delivery .customer_form dt {
  padding: .5em 0 .25em;
}
#wc_delivery .customer_form dd {
  margin-bottom: .5em;
}
#wc_delivery textarea {
  width: 90%;
  height: 120px;
  padding: 10px .5em;
  border-color: #DEDEDE;
  border-radius: 3px;
}
#escott-dialog {
  top: 50% !important;
}
.ui-dialog-titlebar {
  letter-spacing: .07em;
}
.settlement_form_send {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 30px 10px;
}
.settlement_form_send input {
  background-color: #F2F2F2;
  color: #212121;
  margin-bottom: 0;
  width: 240px;
  height: 60px;
  font-size: 18px;
  font-family: inherit;
  line-height: 1;
}
.settlement_form_send input:hover {
  opacity: .7;
}
#wc_confirm div.cart_navi ul {
  background: #AB9B63;
}
#wc_confirm .currency_code {
  display: none;
}
#wc_confirm #cart_table td.shipping::first-letter {
  font-size: 0;
}
#wc_confirm #cart_table td.shipping::after {
  content: " 円";
}
#confirm_table th {
  width: 25%;
	padding: 8px 15px 7px;
	border-color: #DEDEDE;
	background-color: #F2F2F2;
	font-size: 16px;
	font-weight: bold;
}
#confirm_table td {
	padding: 8px 15px 7px;
	border-color: #DEDEDE;
	font-size: 16px;
}
#confirm_table tr.ttl td {
  background-color: #F2F2F2;
}
.cart-page #wc_confirm .send::before {
  content: "  ";
  white-space: pre;
}
.cart-page #wc_confirm .send .back_to_delivery_button {
  order: -1;
}
#wc_error {
  padding-top: 80px;
  padding-bottom: 20px;
}
#wc_error .cart_page_title {
	font-size: clamp(20px, calc(30 / 1200 * 100vw), 30px);
	font-weight: bold;
  text-align: center;
}
#wc_error .error_page_mesage {
  font-size: clamp(12px, calc(18 / 1200 * 100vw), 18px);
  letter-spacing: .08em;
  line-height: 2;
  text-align: center;
}
#wc_error .return_settlement a {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #F2F2F2;
  color: #212121;
  width: fit-content;
  min-width: 240px;
  height: 60px;
  box-sizing: border-box;
  padding-inline: 2em;
  border-radius: 3px;
  font-size: 18px;
  line-height: 1;
  margin: 20px auto 0;
  transition: opacity .3s ease-in-out;
}
#wc_error .return_settlement a:hover {
  text-decoration: none;
  opacity: .7;
}
#wc_ordercompletion {
  padding-top: 80px;
  padding-bottom: 20px;
}
#wc_ordercompletion .cart_page_title {
  display: none;
}
#wc_ordercompletion h3 {
	font-size: clamp(20px, calc(30 / 1200 * 100vw), 30px);
	font-weight: bold;
  margin: 0 0 25px;
}
#wc_ordercompletion .header_explanation {
  font-size: clamp(12px, calc(18 / 1200 * 100vw), 18px);
  letter-spacing: .08em;
  line-height: 2;
}
.cart-page #wc_ordercompletion .send {
  padding-top: 20px;
}
#wc_ordercompletion .send a {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #F2F2F2;
  color: #212121;
  width: 240px;
  height: 60px;
  border-radius: 3px;
  font-size: 18px;
  line-height: 1;
  transition: opacity .3s ease-in-out;
}
#wc_ordercompletion .send a:hover {
  background-color: #F2F2F2;
  opacity: .7;
}
@media screen and (min-width: 46.25em){
  .customer_form th {
    padding: 20px 18px 20px 30px;
    border: 1px solid #DEDEDE;
    background-color: #F2F2F2;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: .08em;
  }
  .customer_form th em {
    color: #B10000;
    font-size: 12px;
    font-weight: normal;
    margin-left: -1.5em;
    padding-right: .5em;
  }
  .customer_form td {
    padding: 12px 18px;
    border: 1px solid #DEDEDE;
    color: #909090;
    font-size: 16px;
    letter-spacing: .025em;
  }
  .customer_form .member_name,
  .customer_form .member_furigana {
    display: inline-block;
    width: 2em;
    text-align: center;
    padding-left: 0;
    color: #212121;
  }
  .customer_form tr.inp1 input {
    width: 75%;
    margin-left: .75em;
  }
  .customer_form input[type="text"] {
    padding: 10px .5em;
    border-color: #DEDEDE;
    border-radius: 3px;
    color: #212121;
    width: 220px;
    margin-right: 15px;
  }
  .customer_form input#search_zipcode {
    margin: 0 15px;
    background-color: #F2F2F2;
    color: #212121;
    height: 40px;
    font-size: 15px;
    font-family: inherit;
    letter-spacing: .08em;
  }
  .customer_form select {
    padding: .25em 55px .25em 20px;
    border: 1px solid #DEDEDE;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="7.864" height="6.364" viewBox="0 0 7.864 6.364"><polygon points="0 0 3.932 6.364 7.864 0 0 0" fill="%23666"/></svg>') no-repeat center right 15px/8px auto;
    color: #212121;
    height: 40px;
    border-radius: 3px;
    text-align: center;
  }
  .customer_form tr.customkey_invoice td {
    vertical-align: middle;
  }
  .customer_form td label {
    color: #212121;
    margin-right: 1em;
  }
  .customer_form input[type="radio"], .customer_form input[type="checkbox"] {
    vertical-align: baseline;
  }
  .customer_form.settlement_form th {
    width: 32%;
  }
  .customer_form.settlement_form input[type="tel"] {
    padding: 10px .5em;
    border-color: #DEDEDE;
    border-radius: 3px;
    color: #212121;
    margin-right: 15px;
  }
  .customer_form.settlement_form .attention {
    margin-top: 10px;
  }
  .customer_form.settlement_form select {
    margin-right: 15px;
  }
  .customer_form.settlement_form select#expyy {
    margin-left: 15px;
  }
}
@media screen and (max-width: 46.1875em){
  .customer_form tr {
    margin-bottom: 20px;
    padding: 0 10px 20px;
    border-bottom: 1px solid #efefef;
  }
  .customer_form th {
    margin-bottom: 8px;
    font-size: calc(16 / 380 * 100vw);
    font-weight: bold;
  }
  .customer_form th em {
    font-weight: normal;
    color: #B10000;
    font-size: calc(13 / 16 * 100%);
    display: inline-block;
    width: 0;
    transform: translateX(-.9em) translateY(-.1em);
  }
  .customer_form td {
    color: #909090;
    font-size: calc(16 / 380 * 100vw);
  }
  .customer_form .member_name,
  .customer_form .member_furigana {
    display: inline-block;
    width: 2em;
    text-align: center;
    padding-left: 0;
    color: #212121;
  }
  .customer_form input[type="text"] {
    padding: 10px .5em;
    border-color: #DEDEDE;
    border-radius: 3px;
    color: #212121;
    width: 100%;
  }
  .customer_form tr.inp1 input {
    margin-left: .25em;
  }
  .customer_form #zipcode_row td {
    display: grid;
    align-items: center;
    grid-template-columns: 1fr 100px;
    gap: 0 10px;
  }
  .customer_form input#search_zipcode {
    margin: 0;
    background-color: #F2F2F2;
    color: #212121;
    height: calc(40 / 380 * 100vw);
    font-size: 15px;
    font-family: inherit;
    letter-spacing: .04em;
  }
  .customer_form select {
    padding: .25em 55px .25em 20px;
    border: 1px solid #DEDEDE;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="7.864" height="6.364" viewBox="0 0 7.864 6.364"><polygon points="0 0 3.932 6.364 7.864 0 0 0" fill="%23666"/></svg>') no-repeat center right 15px/8px auto;
    color: #212121;
    height: calc(40 / 380 * 100vw);
    border-radius: 3px;
    text-align: center;
  }
  .customer_form td label {
    color: #212121;
    display: block;
  }
  .customer_form td label + label {
    margin-top: 8px;
  }
  .customer_form input[type="radio"], .customer_form input[type="checkbox"] {
    vertical-align: baseline;
  }
  .customer_form input#loginmail, .customer_form input#mailaddress1, .customer_form input#mailaddress2 {
    width: 100%;
  }
  #wc_delivery .customer_form#delivery_flag td label {
    display: inline;
  }
  #wc_delivery .customer_form#delivery_flag tr:nth-child(1) {
    margin-bottom: 8px;
    padding-bottom: 0;
    border-bottom: none;
  }
  .customer_form.settlement_form input[type="tel"] {
    width: 50%;
    margin-right: 8px;
    padding: 10px .5em;
    border-color: #DEDEDE;
    border-radius: 3px;
    color: #212121;
  }
  .customer_form.settlement_form .attention {
    margin-top: 8px;
  }
  .customer_form.settlement_form select {
    margin-right: 8px;
    padding: .25em 35px .25em 10px;
  }
  .customer_form.settlement_form select#expyy {
    margin-left: 8px;
  }
}
@media screen and (min-width: 38.75em) {
  #main {
    margin: 80px auto 130px;
  }
}
@media screen and (max-width: 38.6875em){
  .cart_page_title {
    font-size: calc(20 / 380 * 100vw);
    margin-top: calc(2em + 10px);
  }
  div.cart_navi li {
    width: calc(100% / 4);
    padding: 0;
    font-size: calc(10 / 380 * 100vw);
    line-height: calc(50 / 10 * 1em);
    letter-spacing: -.05em;
    text-indent: 12px;
    position: relative;
  }
  div.cart_navi li::before {
    width: 10px;
    height: 50%;
    margin: 0;
    position: absolute;
    z-index: 1;
    top: 0;
    right: -7px;
    float: none;
    border-right-width: 3px;
  }
  div.cart_navi li::after {
    width: 10px;
    height: 50%;
    margin: 0;
    position: absolute;
    z-index: 1;
    bottom: 0;
    right: -7px;
    float: none;
    border-right-width: 3px;
  }
  div.cart_navi li:nth-child(1) {
    width: calc((100% / 4) - 5px);
    text-indent: 0;
  }
  #wc_cart #cart .upbutton {
    padding: 10px 0;
    font-size: calc(11 / 380 * 100vw);
    letter-spacing: .04em;
    display: flex;
    flex-direction: column;
    gap: 5px 0;
  }
  #wc_cart #cart .upbutton input {
    max-width: 120px;
    margin-left: auto;
  }
  #cart_table {
    display: block;
    border: none;
  }
  #cart_table thead {
    display: none;
  }
  #cart_table tbody {
    display: block;
  }
  #cart_table tr {
    display: block;
    border: 1px solid #DEDEDE;
    box-sizing: border-box;
    padding: 15px;
    position: relative;
  }
  #cart_table tr + tr {
    margin-top: -1px;
  }
  #cart_table tbody tr {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
  }
  #cart_table td {
    font-size: calc(16 / 380 * 100vw);
  }
  #cart_table tbody td.thumbnail {
    width: 60px;
  }
  #cart_table tbody td.productname {
    flex: 1;
    margin-left: 10px;
    font-weight: bold;
  }
  #cart_table tbody td:not(.num, .stock) {
    display: block;
    padding: 0;
    border: none;
    position: relative;
  }
  #cart_table tbody td:not(.thumbnail, .productname) {
    width: calc(100% - 70px);
    margin-top: 5px;
    text-align: right;
  }
  #cart_table tbody td:not(.productname)::before {
    content: attr(data-label);
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    font-size: calc(14 / 380 * 100vw);
  }
  #cart_table .num {
    width: 100%;
  }
  #cart_table .thumbnail {
    width: 100%;
  }
  #cart_table .quantity {
    width: 100%;
  }
  #cart .action input.delButton {
    margin-right: 0;
  }
  #cart_table tfoot {
    display: block;
    position: relative;
    margin-top: -1px;
  }
  #cart_table tfoot tr {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: .5em;
    background-color: #F2F2F2;
  }
  #cart_table th {
    display: block;
    padding: 0;
    border: none;
    font-size: calc(16 / 380 * 100vw);
  }
  #cart_table tfoot th {
    padding-inline: 0;
  }
  #cart_table tfoot th.amount {
    font-size: calc(18 / 380 * 100vw);
    padding: 0;
  }
  #cart_table tfoot th.action {
    display: none;
  }
  .cart-page .send {
    padding-top: 30px;
    flex-wrap: nowrap;
    flex-direction: column;
    gap: 0;
  }
  .cart-page .send input {
    width: 100%;
    height: calc(60 / 20 * 1em);
    font-size: calc(20 / 380 * 100vw);
  }
  #wc_cart .no_cart {
    font-size: calc(16 / 380 * 100vw);
    letter-spacing: .04em;
  }
  #wc_customer div.header_explanation {
    font-size: calc(16 / 380 * 100vw);
    letter-spacing: .04em;
    margin: 20px 0 0;
  }
  #wc_customer .error_message {
    margin-bottom: 20px;
    transform: translateY(10px);
  }
  #wc_delivery div.header_explanation {
    font-size: calc(16 / 380 * 100vw);
    letter-spacing: .04em;
    margin: 20px 0;
  }
  #wc_delivery .customer_form dt {
    font-size: 90%;
  }
  #wc_delivery .customer_form dd {
    font-size: 90%;
  }
  #wc_delivery textarea {
    width: 100%;
    height: 140px;
  }
  .ui-dialog-titlebar {
    letter-spacing: .04em;
  }
  .settlement_form_send {
    flex-wrap: nowrap;
    flex-direction: column;
    gap: 0;
  }
  .settlement_form_send input {
    width: 100%;
    height: calc(60 / 20 * 1em);
    font-size: calc(20 / 380 * 100vw);
  }
  #cart_table tfoot td {
    padding: 0;
    border: none;
  }
  #confirm_table th {
    width: 35%;
    padding: 8px 5px 7px 15px;
    font-size: calc(14 / 380 * 100vw);
  }
  #confirm_table td {
    font-size: calc(14 / 380 * 100vw);
  }
  #confirm_table .ttl h3 {
    font-size: calc(16 / 380 * 100vw);
  }
  #wc_confirm .send input#back_button {
    margin-bottom: 0;
  }
  #wc_error {
    padding-top: 20px;
    padding-bottom: 30px;
  }
  #wc_error .cart_page_title {
    font-size: calc(22 / 380 * 100vw);
  }
  #wc_error .error_page_mesage {
    font-size: calc(16 / 380 * 100vw);
    letter-spacing: .04em;
  }
  #wc_error .return_settlement a {
    width: 100%;
    height: calc(60 / 20 * 1em);
    font-size: calc(20 / 380 * 100vw);
  }
  #wc_ordercompletion {
    padding-top: 60px;
    padding-bottom: 20px;
  }
  #wc_ordercompletion h3 {
    font-size: calc(24 / 380 * 100vw);
  }
  #wc_ordercompletion .header_explanation {
    font-size: calc(16 / 380 * 100vw);
    letter-spacing: .04em;
    text-align: justify;
  }
  .cart-page #wc_ordercompletion .send {
    padding-top: 10px;
  }
  #wc_ordercompletion .send a {
    width: 100%;
    height: calc(60 / 20 * 1em);
    font-size: calc(20 / 380 * 100vw);
  }
}