@media screen and (min-width: 961px) {
body#order #page-title h1::after{background-image:url(../img/ec/title.jpg);}
/*body#order #site-navigation li:nth-child(5) a::after,#site-navigation li a:hover::after{width:100%}
body#order #site-navigation li:nth-child(5) a:hover{color:#fff}*/
}

/* SP STYLE  *************************************************************/
@media screen and (max-width:960px){
/*body#order #ftnav ul li:nth-child(5) a{color:#ba871a}*/
body#order #page-title::after{background-image:url(../img/ec/title.jpg);}
}

@media screen and (min-width: 961px) {body #page-title h1::after{background-image:url(https://www.matsushimakouren.com/img/ec/title.jpg);}}
@media screen and (max-width:960px){body #page-title::after{background-image:url(https://www.matsushimakouren.com/img/ec/title.jpg);z-index:0;}}
.fas.fa-phone-alt{transform: scale(-1, 1);}
.sec-shopping{max-width:1200px;margin:0 auto;}
select.qty,.cart-qty {width: 60px;background-color: #000;color: #fff;border: 1px solid #666;padding: 5px;border-radius: 3px;margin-right: 5px;}
.product button {margin-top: 5px;background-color: #fff;color: #000;border: none;padding: 5px 10px;cursor: pointer;border-radius: 3px;font-size: 14px;}
.product,.cart-item{display:flex;gap:1em;padding:10px 0;align-items: center;}
#cart-items .cart-item{padding:.5em 1em;}
#cart-items .cart-item:nth-child(2n - 1){background:rgba(255,255,255,.05);}
.product + .product{border-top:1px solid #ccc}
.product-item__img{width:100px;height: auto}
.product-item__img img{width: 100%;height:auto;}
.selectItem{margin-left:auto;display:flex;align-items: center;}
.product button {font-weight:bold;}
.cart-heading{font-size:2em;font-weight:bold;text-align:center;padding:0 0 1em;}
.cart-item .cart-qty{margin-left:auto;}
.total {font-weight: bold;margin-top: 20px;}
select.qty {width: 60px;padding:5px;border-radius:3px;margin-right:.8em}
.cart-qty {padding:0 5px;margin-right:5px;}
.order-info label {display: block;margin-bottom: 10px;}
.order-info input[type="text"],.order-info input[type="tel"],.order-info input[type="email"],.order-info textarea {width: 100% !important;padding: .5em 1em;box-sizing: border-box;border:1px solid #666;}
.order-info select{padding: .5em 1em;box-sizing: border-box;border:1px solid #666;}
.order-info select,.order-info select option{background-color: #000;color: #fff;border: 1px solid #666;padding: .5em 1em;border-radius: 3px;}
.optional-fields{display: none;margin-top: 10px;}
.selectItemName strong,.cart-item span{font-size:1.125rem;}
.selectItemName span{display:inline-block;}
.cart-hidden input[type="text"],.cart-hidden textarea {border:none;background-color: transparent;}
.cart-hidden textarea{resize: none;min-height: 100px;width: 100%;}

ul#mfp_phase_stat li.mfp_active_phase{background:#ba871a;color:#000;border:2px solid #ba871a;}
ul#mfp_phase_stat li.mfp_inactive_phase{border:2px solid #999;}
ul#mfp_phase_stat li.mfp_phase_arrow{color:#fff;margin:0 10px;}
ul#mfp_phase_stat li.mfp_active_phase,ul#mfp_phase_stat li.mfp_inactive_phase{font-weight:bold;font-size:1.25rem;border-radius:3px;}
.mfp_element_submit, .mfp_element_reset, .mfp_element_button, button.mfp_next, button.mfp_prev {text-shadow:none;}
.mfp_element_submit:hover, .mfp_element_reset:hover, .mfp_element_button:hover, button.mfp_next:hover, button.mfp_prev:hover{box-shadow:none;}
form#mailformpro h2,.order-info h2,#mfp_phase_confirm_inner h4{font-size:2.25rem;text-align:center;margin: 0 0 1.3em;}
#orderer-info h3,div#mfp_thanks {font-size:2rem;text-align:center;margin:1em 0 1.3em}
#mfp_phase_confirm_inner h4{}
.mailform{padding:0 2vw;}
.field-legend span {display:block;}
form#mailformpro label.mfp_not_checked,form#mailformpro label.mfp_checked{border:none;box-shadow:none;}
.mfp_checked{padding:1em 0}
.mfp_element_checkbox, .mfp_element_radio{margin-right:10px;}
form#mailformpro label.mfp_not_checked a,form#mailformpro label.mfp_checked a{text-decoration:underline;}
.mailform #summary {width: 100%;margin: 4em auto;padding: 2em;background: #111;border-radius:10px;border:5px solid rgba(255,255,255,.3);text-align:center;}
.mailform #summary strong{font-size:2rem;}
.mailform #summary span{display:block;margin-top:1em;}
div.mfp_err{font-size:1rem;}
#tr_product-tax,#tr_bag-tax,#tr_subtotal{display:none;}

@media screen and (min-width: 961px) {
#order-form{display:flex;gap:60px;}
.products,.cart{margin: 40px 0 20px;padding: 40px 10px 20px;}
.mfp_element_submit, .mfp_element_reset, .mfp_element_button, button.mfp_next, button.mfp_prev{padding:1.5em 3em;font-size:1.125rem;font-weight:bold;width: fit-content;margin:0 auto;}
.cart-step01{display:flex;gap:80px;justify-content: space-between;}
.products{width:calc(65% - 40px);}
.cart{width:calc(35% - 40px);background:#111;border-radius:10px}
.cart .cart-qty{background:#111;padding:5px 5px 5px 10px;}
.order-info{margin: 40px auto 20px;padding:40px 10px 0}
#mfp_phase_confirm_inner {margin: 40px auto 20px;padding:40px 10px 0}
.order-info fieldset{display:flex;gap:2em;}
.order-info fieldset:nth-of-type(odd) {background: rgba(255, 255, 255, .05);}
.order-info fieldset .field-legend {width:200px;padding:1em .5em .5em;}
.order-info fieldset .field-content {width: calc(100% - 2em - 200px);padding:.5em;}
.mfp_err{font-size:1rem}
#orderer-info .order-info-box{padding-top:2em;margin-top:2em;border-top:1px solid #fff;}
#mfp_phase_confirm_inner{max-width:800px;margin:0 auto;}
#mfp_confirm_table th,#mfp_confirm_table td{padding:1.5em 1em}
table#mfp_confirm_table tr th, table#mfp_confirm_table tr td{font-size:1rem;}
#mfp_confirm_table tr:nth-child(2n) th,#mfp_confirm_table tr:nth-child(2n) td{background: #111;}
#mfp_confirm_table + .mfp_buttons{display:flex;gap:1em;justify-content: center;flex-direction:column;margin:2em auto;}
}
#mfp_button_cancel,button.mfp_prev{padding:1em 2em;border:1px solid #ccc;color:#ccc;background:transparent;}
#mfp_button_cancel:hover,button.mfp_prev:hover{padding:1em 2em;border:1px solid #ccc;color:#ccc;background:transparent;opacity:.7;}

.order-info fieldset .field-content label {width:100%;}

#mfp_button_send{background:#ba871a;color:#fff;font-size:1.25em;border:1px solid #ba871a;}

@media screen and (max-width: 960px) {
.order-info input[type="text"],.order-info input[type="tel"],.order-info input[type="email"],.order-info textarea {padding: .5em 1em;font-size:1.25rem;box-sizing: border-box;border:1px solid #fff;}
.order-info input[type="text"].problem,.order-info input[type="tel"].problem,.order-info input[type="email"].problem,.order-info textarea.problem {border:1px solid #f00;}
.order-info select{padding:.8em 20px .8em .8em;width:100%;border:1px solid #fff;min-height:2em;-webkit-appearance: none;font-size:1.25rem;margin-right:10px;
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8'><path fill='%23fff' d='M0 0l6 8 6-8z'/></svg>");background-repeat: no-repeat;background-position: right 5px center;background-size: 10px 6px;}

.order-info fieldset{}
.order-info fieldset:nth-of-type(odd) {background: rgba(255, 255, 255, .05);}
.order-info fieldset .field-legend {padding:1em .5em .5em;font-size:1.25rem;}
.order-info fieldset .field-content {padding:0 .5em .5em;}
.mfp_err{font-size:1rem}

}
#postal{width: 200px;}
div#wrapper,.mfp_phase{width:100%;}
.mailform{display:flex;}
#hidden-order-details{width:100% !important;height:200px !important;}
.product-item{display:flex;}
.cart-hidden{display:none;}
table#mfp_confirm_table tr th, table#mfp_confirm_table tr td{background:none;border:none;}
.mfp_element_text, .mfp_element_number, .mfp_element_select-one, .mfp_element_email, .mfp_element_tel, .mfp_element_textarea, .mfp_element_date, .mfp_element_password{background:none;color:#fff;}
input[type=color], input[type=date], input[type=datetime-local], input[type=datetime], input[type=email], input[type=month], input[type=number], input[type=password], input[type=range], input[type=search], input[type=tel], input[type=text], input[type=time], input[type=url], input[type=week], textarea,
input[type=color]:focus, input[type=date]:focus, input[type=datetime-local]:focus, input[type=datetime]:focus, input[type=email]:focus, input[type=month]:focus, input[type=number]:focus, input[type=password]:focus, input[type=range]:focus, input[type=search]:focus, input[type=tel]:focus, input[type=text]:focus, input[type=time]:focus, input[type=url]:focus, input[type=week]:focus, textarea:focus{color:#ccc;} {color:#fff;}
input[type=color]:placeholder, input[type=date]:placeholder, input[type=datetime-local]:placeholder, input[type=datetime]:placeholder, input[type=email]:placeholder, input[type=month]:placeholder, input[type=number]:placeholder, input[type=password]:placeholder, input[type=range]:placeholder, input[type=search]:placeholder, input[type=tel]:placeholder, input[type=text]:placeholder, input[type=time]:placeholder, input[type=url]:placeholder, input[type=week]:placeholder, textarea:placeholder{color:#ccc;}
input[type=email],
input[type=email]:valid,
input[type=email]:invalid {
  background: #000 !important;
  color: #fff;
}
input[type="text"]:valid,
input[type="email"]:valid,
input[type="tel"]:valid,
input[type="number"]:valid,
input[type="date"]:valid,
textarea:valid {
  background-color: #000 !important;
  color: #fff !important;
}
input:-webkit-autofill{
	box-shadow: 0 0 0px 1000px #000000 inset;
    -webkit-text-fill-color: #fff !important;
}
select:-webkit-autofill{
	box-shadow: 0 0 0px 1000px #000000 inset;
    -webkit-text-fill-color: #fff !important;
}
form#mailformpro label.mfp_checked,table#mfp_confirm_table tr.mfp_achroma,table#mfp_confirm_table tr.mfp_colored{background:none;}
.cart-empty{text-align:center;}
.cart-step01.is-empty + .mfp_next{opacity:.3;pointer-events: none;cursor: default;}
@media screen and (min-width: 961px) {
#cart-count{display:none;}
.product button {padding:1em;margin-left:2em;}
.agree-box{text-align:center;}
.agree-box__inner{text-align:left;display:inline-block;margin:0 auto 2em;min-width: 440px;}
table#mfp_confirm_table tr th{width:240px;}
table#mfp_confirm_table tr th, table#mfp_confirm_table tr td{padding:10px;}
}
@media screen and (max-width: 960px) {
#order #hdcta,#shop #gmap {display:none;}
#order #spnav{position:absolute;}
.products,.cart,.order-info,#mfp_phase_confirm_inner{padding-top:6vw;}
.product button {padding:.5em;margin-left:1em;line-height:1.4;width:70px;}
select.qty,.cart-qty{padding:.8em 20px .8em .8em;border:1px solid #fff;min-height:2em;-webkit-appearance: none;font-size:1.25rem;margin-right:10px;
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8'><path fill='%23fff' d='M0 0l6 8 6-8z'/></svg>");background-repeat: no-repeat;background-position: right 5px center;background-size: 10px 6px;}
.selectItemName strong {font-size:1.25rem}
#cart-count.is-empty{padding:.8em}
#cart-count{color:#fff;background:#F00;border-radius:9999px;display:flex;justify-content:center;align-items: center;gap:.5em;white-space:nowrap;width:auto;height:auto;padding:.5em .9em .5em .5em;line-height:1;font-weight:bold;position:fixed;top:70px;right:2vw;font-size:1.5em;transition:.5s;}
#cart-count:before{content:"";display:block;width:1.2em;height:1.2em;background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg id='ico-cart' data-name='ico-cart' xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 24 24'%3E%3Cdefs%3E%3Cstyle%3E      .st0 {        fill: %23fff;      }    %3C/style%3E%3C/defs%3E%3Cpath class='st0' d='M8,22c-.6,0-1-.2-1.4-.6s-.6-.9-.6-1.4.2-1,.6-1.4.9-.6,1.4-.6,1,.2,1.4.6.6.9.6,1.4-.2,1-.6,1.4-.9.6-1.4.6ZM18,22c-.6,0-1-.2-1.4-.6s-.6-.9-.6-1.4.2-1,.6-1.4.9-.6,1.4-.6,1,.2,1.4.6.6.9.6,1.4-.2,1-.6,1.4-.9.6-1.4.6ZM7.2,6l2.4,5h7l2.8-5H7.2ZM6.2,4h14.8c.4,0,.7.2.9.5s.2.7,0,1l-3.6,6.4c-.2.3-.4.6-.7.8s-.6.3-1,.3h-7.5l-1.1,2h12v2h-12c-.8,0-1.3-.3-1.7-1s-.4-1.3,0-2l1.4-2.5-3.6-7.6h-2V2h3.3l1,2ZM9.6,11h7-7Z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:cover;font-size:1em;position:relative;top:-.05em;}
.pagedown #cart-count{top:20px;}
.cart-item{font-size:1.25rem;}
.cart-step01 + .mfp_next,.mfp_element_submit.mfp_element_all,#mfp_button_send{width:-webkit-fill-available;font-weight:bold;text-align:center;font-size:1.5rem;padding:2em .8em;display:block;margin-top:2em;border-radius: 999px;}
.cart{background: #111;border-radius: 10px;margin:6vw auto 0;padding:6vw 0;}
.cart-empty{padding-bottom:1em;font-size:1.125rem;}
.mfp_checked,.mfp_not_checked{font-size:1.125rem}
input[type=email],
input[type=email]:valid,
input[type=email]:invalid {
  background: none;
  color: #fff;
}
#mfp_phase_confirm_inner{padding:6vw 4vw 0;}
.order-info-box .field-legend span{display:inline}
#mfp_confirm_table th,#mfp_confirm_table td{padding:2em 1.5em;display:table-cell;}
table#mfp_confirm_table tr th, table#mfp_confirm_table tr td {display: table-cell;width: 100%;}
table#mfp_confirm_table tr th{width:38%;white-space: normal;}
table#mfp_confirm_table tr td{width:58%;white-space: normal;}
table#mfp_confirm_table tr th, table#mfp_confirm_table tr td{font-size:1.125rem;}
#mfp_confirm_table tr:nth-child(2n) th,#mfp_confirm_table tr:nth-child(2n) td{background: #111;}
#mfp_confirm_table + .mfp_buttons{display:flex;gap:1em;justify-content: center;flex-direction:column;margin:2em auto;}
table#mfp_confirm_table tr th, table#mfp_confirm_table tr td{padding:1em .5em}

#cart-count {
  transition: transform 0.3s ease;
}

#cart-count.animate {
  transform: scale(1.2);
}

}
.field-legend{white-space:nowrap;}
.is-required{position:relative;}
.is-required:after{content:"\00203b";color:#f00;padding:0 .2em;margin-left:1em;font-size:12px;display:inline-block;position:absolute;top:1.5em;right:0;}

@media screen and (min-width: 641px) and (max-width: 1023px) {
.product button{width: auto;padding:1em .5em;}
#cart-count{display:flex;}
}
.order-info-text{margin-bottom:2em}
.order-info-text span {color:#f00;padding-right:.5em;}

@media screen and (max-width: 960px) {
.is-required:after{position:relative;top:auto;right:auto;}
#datepicker{width:100%;border:1px solid #fff;}

  .flatpickr-calendar.flatpickr-fullwidth {
    width: 100vw !important;
    left: 0 !important;
    right: 0 !important;
    margin: 0 auto !important;
    border-radius: 0 !important;
    border: none !important;
    box-shadow: none !important;
  }

  /* カレンダー内の文字やボタンを少し大きく */
  .flatpickr-calendar.flatpickr-fullwidth .flatpickr-day {
    font-size: 1.1em;
    line-height: 2.2em;
  }

  /* 月切り替えボタンのサイズ調整 */
  .flatpickr-calendar.flatpickr-fullwidth .flatpickr-months .flatpickr-prev-month,
  .flatpickr-calendar.flatpickr-fullwidth .flatpickr-months .flatpickr-next-month {
    width: 3rem;
    height: 3rem;
  }

  /* 閉じるボタンを右上に */
  .flatpickr-calendar.flatpickr-fullwidth:after {
    content: "?";
    position: absolute;
    top: 8px;
    right: 12px;
    font-size: 1.2em;
    color: #fff;
    opacity: 0.7;
  }

.flatpickr-calendar.open{width: 96vw !important;left:2vw !important;}
.flatpickr-rContainer{width:100% !important;}
.flatpickr-days,.dayContainer{width:100% !important;min-width:unset !important;max-width:unset !important;}
.dayContainer .flatpickr-day{max-width:unset !important;width:auto !important;height:auto !important;line-height: 4em !important;}
}



input[type="date"],
.flatpickr-input {
padding:.8em 20px .8em .8em;width:100%;border:1px solid #fff;min-height:2em;-webkit-appearance: none;font-size:1.25rem;margin-right:10px;
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8'><path fill='%23fff' d='M0 0l6 8 6-8z'/></svg>");background-repeat: no-repeat;background-position: right 5px center;background-size: 10px 6px;
}

input[type="date"]::placeholder {
  color: #aaa;              /* プレースホルダーを薄いグレーに */
}

/* カレンダーのポップアップ部分 */
.flatpickr-calendar {
  background-color: #111;
  color: #fff;
  border: 1px solid #fff;
}

/* 選択中の日付のハイライト */
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
  background-color: #fff;
  color: #000;
}

/* ホバー時 */
.flatpickr-day:hover {
  background-color: #333;
}
.flatpickr-day.selected{
background:#ba871a !important;border:1px solid #ba871a !important;
}
#datepicker{text-align:left !important;}

.thanks-heading{font-size:2em;margin-bottom:2em;}
.outofservice{padding:6em 2em;text-align:center;}

.copy-btn{padding:1em 2em;font-size:1.125em;margin-bottom:1em;}


#orderflow h2{text-align:center}


#orderflow ol {
  list-style: none;          /* デフォルトの番号を消す */
  margin: 0 0 1.5rem;
  padding: 0;
  counter-reset: flow;
text-align:left;
}

/* 各ステップ */
#orderflow ol li {
  position: relative;
  padding:.4em 0 0 3.5em;       /* 番号バッジのぶん右に詰める */
  margin-bottom: 1.2em;
  line-height: 1.6;
}

/* 番号バッジ */
#orderflow ol li::before {
  counter-increment: flow;
  content: counter(flow);
  position: absolute;
  left: 0;
  top: 0;
  width: 2em;
  height: 2em;
  border-radius: 50%;
  background: #ba871a;
  color: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1rem;
}
#orderflow p strong {padding:0 .2em .05em;}
#orderflow a {color:#ccc;text-decoration:underline;}

/* PC STYLE  *************************************************************/
@media screen and (min-width: 961px) {
#orderflow{width:750px;margin:0 auto 120px;padding:20px 60px 60px;background:url(../img/index/bg01.gif)}
#orderflow h2{font-size:2.25rem;padding:40px 0 20px}
#orderflow a:hover {text-decoration:none;}
#orderflow p {text-align:center;}
}

/* SP STYLE  *************************************************************/
@media screen and (max-width:960px){
#orderflow{padding:40px 20px 80px;margin:0 auto 140px;}
#orderflow{background:url(../img/index/bg01.gif);padding:20px;text-align:center;line-height:2.2em;margin:0 auto 120px;font-size:1.062rem}
#orderflow h2{font-size:1.625rem;margin-bottom:1em;}
#orderflow h2{padding:2em 0 0;background:url(../img/index/bg01.gif)}
#orderflow ol li {padding:.2em 0 0 3em;}
#orderflow p {text-align:left;}
}
#mfp_confirm_table tr#tr_grand-total #th_grand-total,
#mfp_confirm_table tr#tr_grand-total #td_grand-total{background:none;}
.confirm-note{text-align:center;padding:2em 0 1em;}

@media screen and (max-width:960px){
.confirm-note{text-align:center;padding:2em 0 0;font-size:1.125rem;}
div.mfp_buttons button#mfp_button_send{margin-bottom:2em;}
}

#mfp_thanks span {font-size:.72em;line-height:1.8em;display:block;}