@charset "UTF-8";

body.woocommerce-checkout {
  background-color: #f7f4ee;

  background-image:
    linear-gradient(
      to bottom,
      rgba(247,244,238,0) 25%,
      rgba(247,244,238,.45) 50%,
      rgba(247,244,238,.85) 70%,
      #f7f4ee 85%,
      #f7f4ee 100%
    ),
    url("/wp-content/uploads/2026/06/fv_fu.png");

  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100% auto;
  font-family: "Noto Sans JP", sans-serif;
}

body.woocommerce-checkout header {
  max-width: 860px;
  margin: 0 auto;
  padding: 50px 20px 0px;text-align: center;
}
.header_01_img {
    width: 250px;filter: drop-shadow(5px 5px 5px #fff);
}
.header_02_t1 {
    margin-top: 30px;font-size: 40px;font-weight: 600;color: #203f78;text-shadow: 
	#fff 2px 0px 2px, #fff -2px 0px 2px,
	#fff 0px -2px 2px, #fff -2px 0px 2px,
	#fff 2px 2px 2px, #fff -2px 2px 2px,
	#fff 2px -2px 2px, #fff -2px -2px 2px,
	#fff 1px 2px 2px, #fff -1px 2px 2px,
	#fff 1px -2px 2px, #fff -1px -2px 2px,
	#fff 2px 1px 2px, #fff -2px 1px 2px,
	#fff 2px -1px 2px, #fff -2px -1px 2px,
	#fff 1px 1px 2px, #fff -1px 1px 2px,
	#fff 1px -1px 2px, #fff -1px -1px 2px;
}

.header_02_t2 {
    margin-top: 10px;font-size: 16px;font-weight: 600;line-height: 160%;color: #203f78;text-shadow: 
	#fff 2px 0px 2px, #fff -2px 0px 2px,
	#fff 0px -2px 2px, #fff -2px 0px 2px,
	#fff 2px 2px 2px, #fff -2px 2px 2px,
	#fff 2px -2px 2px, #fff -2px -2px 2px,
	#fff 1px 2px 2px, #fff -1px 2px 2px,
	#fff 1px -2px 2px, #fff -1px -2px 2px,
	#fff 2px 1px 2px, #fff -2px 1px 2px,
	#fff 2px -1px 2px, #fff -2px -1px 2px,
	#fff 1px 1px 2px, #fff -1px 1px 2px,
	#fff 1px -1px 2px, #fff -1px -1px 2px;
}

footer {width: 100%;padding: 40px 5vw 20px;background-color: #011a3e;text-align: center;box-sizing: border-box;}
.footer_01 {display: block;width: 250px;margin: 0 auto;}
.footer_01_img {width: 100%;}
.footer_02 {width: 100%;margin-top: 30px;font-size: 0;}
.footer_02_a {padding: 0 20px;font-size: 14px;border-right: solid 1px #fff;color: #fff;}
.footer_02_a:last-child {border-right: solid 0px #fff;}
.footer_03 {width: 100%;margin-top: 40px;text-align: center;}
.footer_03 small {font-size: 12px;line-height: 140%;color: #fff;}

body.woocommerce-checkout main {
  max-width: 860px;
  margin: 0 auto;
  padding: 25px 20px 80px;
}

body.woocommerce-checkout form.checkout {
  display: block !important;
}

body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #order_review {
  width: 100% !important;
  float: none !important;
  background: #fff;
  border: 1px solid #e8dcc8;
  border-radius: 24px;
  padding: 36px;
  margin-bottom: 28px;
  box-shadow: 0 18px 48px rgba(80, 60, 30, .08);
  box-sizing: border-box;
}

body.woocommerce-checkout #order_review_heading {
  display: none !important;
}

body.woocommerce-checkout #order_review::before {
  content: "ご注文内容";
  display: block;
  font-size: 24px;
  font-weight: 900;
  margin-bottom: 24px;
}

body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout .checkout_coupon {
  display: none !important;
}

body.woocommerce-checkout .col2-set,
body.woocommerce-checkout .col2-set .col-1,
body.woocommerce-checkout .col2-set .col-2 {
  width: 100% !important;
  float: none !important;
}

body.woocommerce-checkout h3 {
  font-size: 24px;
  font-weight: 900;
  margin: 0 0 28px;
}

body.woocommerce-checkout .form-row {
  width: 100% !important;
  float: none !important;
  clear: both !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
}

body.woocommerce-checkout #billing_last_name_field,
body.woocommerce-checkout #billing_postcode_field {
  width: calc(50% - 10px) !important;
  float: left !important;
  clear: none !important;
}

body.woocommerce-checkout #billing_postcode_field {
  margin-left: 20px !important;
}

body.woocommerce-checkout label {
  display: block;
  font-size: 14px;
  font-weight: 900;
  margin-bottom: 8px;
}

body.woocommerce-checkout input.input-text,
body.woocommerce-checkout select,
body.woocommerce-checkout textarea {
  width: 100% !important;
  height: 54px;
  border: 1px solid #d8c8af;
  border-radius: 12px;
  background: #fff;
  padding: 0 15px;
  font-size: 16px;
  box-sizing: border-box;
}

body.woocommerce-checkout input:focus {
  outline: none;
  border-color: #b98a2f;
  box-shadow: 0 0 0 3px rgba(185, 138, 47, .16);
}

body.woocommerce-checkout table.shop_table {
  border: 0 !important;
  border-collapse: collapse;
  margin-bottom: 28px;
}

body.woocommerce-checkout table.shop_table th,
body.woocommerce-checkout table.shop_table td {
  border: 0 !important;
  border-bottom: 1px solid #eadfce !important;
  padding: 16px 0 !important;
  font-size: 15px;
  line-height: 1.7;
}

body.woocommerce-checkout table.shop_table td:last-child,
body.woocommerce-checkout table.shop_table th:last-child {
  text-align: right;
}

body.woocommerce-checkout .order-total th,
body.woocommerce-checkout .order-total td {
  font-size: 20px !important;
  font-weight: 900;
}

body.woocommerce-checkout #payment {
  background: #fff9ef !important;
  border: 1px solid #e5c78f;
  border-radius: 20px;
  padding: 24px;
  margin-top: 28px;
}

body.woocommerce-checkout #payment ul.payment_methods {
  border-bottom: 1px solid #eadfce;
  padding-bottom: 20px;
}

body.woocommerce-checkout .woocommerce-privacy-policy-text {
  font-size: 13px;
  line-height: 1.8;
  margin: 22px 0;
}

body.woocommerce-checkout #place_order {
  width: 100%;
  height: 64px;
  border: 0;
  border-radius: 14px;
  background: linear-gradient(135deg, #b98218, #d5a542);
  color: #fff;
  font-size: 20px;
  font-weight: 900;
  cursor: pointer;
}

/* 不要項目を完全非表示 */
#billing_first_name_field,
#billing_country_field {
  display: none !important;
}

/* フォームカード内の余白調整 */
body.woocommerce-checkout #customer_details {
  max-width: 760px;
  margin: 0 auto 28px;
}

/* ご注文内容カードも幅を揃える */
body.woocommerce-checkout #order_review {
  max-width: 760px;
  margin: 0 auto;
}

/* Stripeカード欄の見た目調整 */
body.woocommerce-checkout #payment {
  background: #fffaf2 !important;
}

body.woocommerce-checkout #payment .payment_box,
body.woocommerce-checkout .wc-stripe-elements-field,
body.woocommerce-checkout .stripe-card-group {
  background: #fff !important;
  border-radius: 12px !important;
}

#payment a {color: blue;text-decoration-line: underline;}

.checkout-policy{
    margin:20px 0;
    font-size:16px;
    line-height:1.8;
    text-align:center;
    color:#666;
}

.checkout-policy a{
    color:#0b4ea2;
    font-size:16px;
    font-weight:700;
    text-decoration:none;
}

.checkout-policy a:hover{
    text-decoration:underline;
}

/* =========================
   Thank You Page 修正版
========================= */

body.woocommerce-order-received main {
  max-width: 860px;
  margin: 0 auto;
  padding: 0px 20px 0px;
}

body.woocommerce-order-received .woocommerce-order {
  max-width: 860px;
  margin: 0 auto;
}

/* 完了メッセージ */
body.woocommerce-order-received .woocommerce-thankyou-order-received {
  background: #fff;
  border-radius: 24px;
  padding: 42px 36px;
  text-align: center;
  font-size: 22px;
  font-weight: 800;
  line-height: 1.8;
  box-shadow: 0 18px 48px rgba(15,23,42,.07);
  margin: 0 0 32px;
}

body.woocommerce-order-received .woocommerce-thankyou-order-received::before {
  content: "✓";
  display: block;
  width: 72px;
  height: 72px;
  line-height: 72px;
  margin: 0 auto 22px;
  border-radius: 50%;
  background: #d39a18;
  color: #fff;
  font-size: 38px;
}

/* 注文概要 */
body.woocommerce-order-received .woocommerce-order-overview{
    display:block !important;
    background:#fff;
    border-radius:24px;
    padding:35px 40px !important;
    margin:40px 0;
    box-shadow:0 18px 48px rgba(15,23,42,.06);
    list-style:none;
}

body.woocommerce-order-received .woocommerce-order-overview li{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:18px 0;
    border-bottom:1px solid #ece8df;
    border-right:none;
    font-size:15px;
    margin:0 !important;
    width:100% !important;
}

body.woocommerce-order-received .woocommerce-order-overview li:last-child{
    border-bottom:none;
}

body.woocommerce-order-received .woocommerce-order-overview strong{
    font-size:20px;
    font-weight:700;
}

/* 注文詳細カード */
body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details {
  background: #fff;
  border-radius: 24px;
  padding: 34px;
  margin: 0 0 32px;
  box-shadow: 0 18px 48px rgba(15,23,42,.06);
}

body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-column__title {
  font-size: 22px;
  font-weight: 800;
  margin: 0 0 24px;
}

/* テーブル */
body.woocommerce-order-received table.shop_table {
  width: 100%;
  border: 0 !important;
  border-collapse: collapse;
}

body.woocommerce-order-received table.shop_table th,
body.woocommerce-order-received table.shop_table td {
  border: 0 !important;
  border-bottom: 1px solid #eadfce !important;
  padding: 16px 0 !important;
  font-size: 15px;
  line-height: 1.8;
}

body.woocommerce-order-received table.shop_table td:last-child,
body.woocommerce-order-received table.shop_table th:last-child {
  text-align: right;
}

/* 配送先の該当なしは非表示 */
body.woocommerce-order-received .woocommerce-column--shipping-address {
  display: none !important;
}

/* 購入完了：請求先住所カード */
body.woocommerce-order-received .woocommerce-customer-details {
  max-width: 860px;
  margin: 0 auto 80px;
  background: #fff;
  border-radius: 24px;
  padding: 34px;
  box-shadow: 0 18px 48px rgba(15,23,42,.06);
  box-sizing: border-box;
}

/* 住所枠 */
body.woocommerce-order-received .woocommerce-customer-details address {
  display: block;
  border: 1px solid #eadfce !important;
  border-radius: 16px;
  padding: 24px !important;
  margin: 0 !important;
  background: #fffdf9;
  font-style: normal;
  font-size: 16px;
  line-height: 1.9;
  color: #111827;
}

/* 電話・メール */
body.woocommerce-order-received .woocommerce-customer-details address p {
  margin: 8px 0 0 !important;
  font-size: 16px;
  line-height: 1.7;
}
.woocommerce-customer-details--phone,
.woocommerce-customer-details--email{
    margin-top:14px !important;
}

/* TOPへ戻るボタン */
.thankyou-home{
    text-align:center;
    margin:0 0 50px;
}

.thankyou-home .btn-home{

    display:inline-flex;
    justify-content:center;
    align-items:center;

    width:320px;
    height:60px;

    border:2px solid #c99a22;
    border-radius:999px;

    background:#fff;

    color:#c99a22;
    font-size:18px;
    font-weight:700;

    text-decoration:none;

    transition:.25s;
}

.thankyou-home .btn-home:hover{

    background:#c99a22;
    color:#fff;

    transform:translateY(-2px);

}

/* スマホ */
@media (max-width: 768px) {
  body.woocommerce-order-received main {
    padding: 50px 16px 80px;
  }

  body.woocommerce-order-received .woocommerce-thankyou-order-received,
  body.woocommerce-order-received .woocommerce-order-details,
  body.woocommerce-order-received .woocommerce-customer-details,
  body.woocommerce-order-received .woocommerce-order-overview {
    padding: 24px 18px;
  }

    body.woocommerce-order-received .woocommerce-order-overview li{
        display:block;
    }

    body.woocommerce-order-received .woocommerce-order-overview strong{
        display:block;
        margin-top:6px;
        font-size:18px;
    }
    
    .thankyou-home{
        margin:0 0 0px;
    }
    .thankyou-home .btn-home{

        width:100%;
        height:60px;
        font-size:18px;
    }
}

@media (max-width: 768px) {
  body.woocommerce-checkout main {
    padding: 28px 14px 56px;
  }

  body.woocommerce-checkout #customer_details,
  body.woocommerce-checkout #order_review {
    padding: 24px 18px;
    border-radius: 18px;
  }

  body.woocommerce-checkout #billing_last_name_field,
  body.woocommerce-checkout #billing_postcode_field {
    width: 100% !important;
    margin-left: 0 !important;
    float: none !important;
  }
    
    .header_01_img {width: 60%;filter: drop-shadow(5px 5px 5px #fff);}
    .footer_01 {display: block;width: 60%;margin: 0 auto;}
    .footer_02_a {display: block;margin: 2vw 0;padding: 1vw 0 2vw;font-size: 3vw;border-right: solid 0px #fff;border-bottom: solid 1px #fff;}
    .footer_03 small {font-size: 12px;}
}

/* ===========================
   Stripe モバイル最適化
=========================== */

@media (max-width:768px){

  /* 支払いエリア */
  #payment{
      padding:20px !important;
  }

  /* Stripeのカード入力欄 */
  .wc-stripe-upe-element,
  .wc-stripe-payment-request-wrapper,
  .StripeElement{
      font-size:18px !important;
  }

  /* Stripe iframeの親 */
  .wc-stripe-upe-element{
      min-height:240px;
  }

  /* テストモード説明 */
  #payment p,
  #payment a,
  #payment label,
  #payment li{
      font-size:15px !important;
      line-height:1.8;
  }
    #payment a {color: blue;text-decoration-line: underline;}

  /* 保存チェック */
  #payment .wc-payment-form{
      font-size:15px;
  }

  /* ボタン */
  #place_order{
      height:58px;
      font-size:20px;
      font-weight:700;
  }

}

