@charset "UTF-8";

@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;600;700;900&display=swap");

.birthday-detail-placeholder {
  padding-top: 60px;
  padding-bottom: 60px;
}

/* =========================================================
   WooCommerce cart / checkout / order complete
   ========================================================= */
body.woocommerce-cart #main,
body.woocommerce-checkout #main {
  box-sizing: border-box;
  width: calc(100% - 80px);
  max-width: 1100px;
  margin-right: auto;
  margin-left: auto;
}

.wako-checkout-progress {
  margin: 40px auto 48px;
}

.wako-checkout-progress ol {
  display: grid;
  margin: 0;
  padding: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  list-style: none;
}

.wako-checkout-progress__step {
  position: relative;
  padding: 14px 10px;
  color: #777;
  border-top: 1px solid #cfcfcf;
  border-bottom: 1px solid #cfcfcf;
  background: #fff;
  font-size: 15px;
  line-height: 1.4;
  text-align: center;
}

.wako-checkout-progress__step:not(:last-child)::after {
  position: absolute;
  z-index: 1;
  top: 50%;
  right: -4px;
  width: 8px;
  height: 8px;
  border-top: 1px solid #999;
  border-right: 1px solid #999;
  background: #fff;
  content: "";
  transform: translateY(-50%) rotate(45deg);
}

.wako-checkout-progress__step.is-active {
  color: #fff;
  border-color: #76a5d8;
  background: #76a5d8;
}

.wako-checkout-progress__step.is-active::after {
  border-color: #fff;
  background: #76a5d8;
}

/* Confirmation plugins using the legacy WCDC markup. */
body.woocommerce-checkout:has(.wcdc-confirm-header) .wako-checkout-progress__step--customer {
  color: #777;
  border-color: #cfcfcf;
  background: #fff;
}

body.woocommerce-checkout:has(.wcdc-confirm-header) .wako-checkout-progress__step--customer::after {
  border-color: #999;
  background: #fff;
}

body.woocommerce-checkout:has(.wcdc-confirm-header) .wako-checkout-progress__step--confirm {
  color: #fff;
  border-color: #76a5d8;
  background: #76a5d8;
}

body.woocommerce-checkout:has(.wcdc-confirm-header) .wako-checkout-progress__step--confirm::after {
  border-color: #fff;
  background: #76a5d8;
}

/* Cart */
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart-collaterals {
  width: 100%;
}

body.woocommerce-cart .cart_txt {
  display: inline-block;
  margin: 0 0 13px;
  font-size: 20px;
}

body.woocommerce-cart table.shop_table {
  width: 100%;
  margin: 30px auto;
  border: 1px solid rgba(0, 0, 0, .12);
  border-collapse: separate;
  border-spacing: 0;
  font-size: 16px;
}

body.woocommerce-cart table.shop_table th,
body.woocommerce-cart table.shop_table td {
  padding: 14px 12px;
  vertical-align: middle;
}

body.woocommerce-cart table.cart .product-thumbnail {
  width: 130px;
}

body.woocommerce-cart table.cart .product-thumbnail img {
  display: block;
  width: 100%;
  max-width: 110px;
  height: auto;
}

body.woocommerce-cart table.cart .product-name a {
  color: #76a5d8;
}

body.woocommerce-cart table.cart .product-quantity,
body.woocommerce-cart .cart-quantity {
  display: none;
}

body.woocommerce-cart .product-remove a.remove {
  display: block;
  width: auto;
  height: auto;
  color: #000;
  border-radius: 0;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
  text-align: center;
  text-decoration: underline;
}

body.woocommerce-cart .product-remove a.remove:hover {
  color: #000;
  background: transparent;
}

body.woocommerce-cart .woocommerce-cart-form__contents .actions,
body.woocommerce-cart .tr_bordernon .actions {
  border: 0;
}

body.woocommerce-cart .woocommerce-cart-form__contents .actions .coupon {
  display: flex;
  gap: 8px;
  align-items: center;
}

body.woocommerce-cart .woocommerce-cart-form__contents .actions input.input-text {
  box-sizing: border-box;
  min-height: 42px;
  padding: 8px 12px;
  border: 1px solid #ccc;
}

body.woocommerce-cart .woocommerce-cart-form__contents .actions button[name="update_cart"] {
  display: none;
}

body.woocommerce-cart .continue-shopping-button {
  margin: 0 0 13px;
  text-align: right;
}

body.woocommerce-cart .continue-shopping-button a.button {
  display: inline-block;
  padding: 3px 2px;
  color: #666;
  border: 0;
  background: transparent;
  font-weight: 400;
  letter-spacing: .015em;
  text-decoration: underline;
}

body.woocommerce-cart .cart-collaterals::after {
  display: table;
  clear: both;
  content: "";
}

body.woocommerce-cart .cart-collaterals .cart_totals {
  width: min(100%, 520px);
  margin-left: auto;
}

body.woocommerce-cart .cart-collaterals .cart_totals > h2 {
  margin-bottom: 18px;
  font-size: 22px;
  font-weight: 400;
}

body.woocommerce-cart .cart-collaterals .cart_totals table {
  margin-top: 0;
}

body.woocommerce-cart .cart-collaterals .cart_totals th {
  font-weight: 400;
  text-align: left;
}

body.woocommerce-cart .cart-collaterals .cart_totals td {
  text-align: right;
}

body.woocommerce-cart .cart-collaterals .woocommerce-shipping-destination {
  display: none;
}

body.woocommerce-cart .cart-collaterals .shipping-calculator-button::after {
  display: none;
}

body.woocommerce-cart ul#shipping_method {
  margin: 0;
  padding: 0;
  list-style: none;
}

body.woocommerce-cart ul#shipping_method li {
  margin: 0;
}

body.woocommerce-cart .wc-proceed-to-checkout {
  padding-top: 18px;
}

body.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  padding: .618em 1em;
  border: 0;
  border-radius: 5px;
  color: #fff;
  background: #86754d;
  font-size: 100%;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  -webkit-font-smoothing: antialiased;
}

body.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover,
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button:focus,
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button:active {
  border-color: transparent;
  color: #fff;
  background: #86754d;
}

body.woocommerce-cart .woocommerce-error,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-message,
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-message {
  box-sizing: border-box;
  width: 100%;
  padding: 1em;
  border: 1px solid #76a5d8;
  background-color: #fff;
  font-size: 16px;
}

body.woocommerce-cart .woocommerce-error::before,
body.woocommerce-cart .woocommerce-info::before,
body.woocommerce-cart .woocommerce-message::before,
body.woocommerce-checkout .woocommerce-error::before,
body.woocommerce-checkout .woocommerce-info::before,
body.woocommerce-checkout .woocommerce-message::before {
  display: none;
}

body.woocommerce-cart .woocommerce-message .button,
body.woocommerce-cart .return-to-shop {
  display: none;
}

/* Checkout */
body.woocommerce-checkout form.checkout {
  display: block;
  width: 100%;
}

body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout #order_review_heading {
  width: 100%;
}

body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2 {
  float: none;
  width: 100%;
}

body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout .woocommerce-shipping-fields > h3,
body.woocommerce-checkout #order_review_heading {
  margin: 34px 0 22px;
  font-size: 22px;
  font-weight: 400;
}

body.woocommerce-checkout form .form-row {
  box-sizing: border-box;
  margin: 0 0 18px;
  padding: 0;
}

body.woocommerce-checkout form .form-row label {
  display: block;
  margin-bottom: 7px;
  font-size: 15px;
}

body.woocommerce-checkout form .form-row .required {
  color: #c00;
}

body.woocommerce-checkout form .form-row input.input-text,
body.woocommerce-checkout form .form-row textarea,
body.woocommerce-checkout form .form-row select,
body.woocommerce-checkout .select2-container .select2-selection--single {
  box-sizing: border-box;
  width: 100%;
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid #ccc;
  border-radius: 0;
  background: #fff;
  font-size: 16px;
}

body.woocommerce-checkout form .form-row textarea {
  min-height: 150px;
  resize: vertical;
}

body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
  padding: 0;
  line-height: 24px;
}

body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow {
  top: 9px;
}

body.woocommerce-checkout form .form-row.woocommerce-invalid input.input-text,
body.woocommerce-checkout form .form-row.woocommerce-invalid textarea,
body.woocommerce-checkout form .form-row.woocommerce-invalid .select2-selection {
  border-color: #d33;
  background: #fff5f5;
}

body.woocommerce-checkout table.shop_table {
  width: 100%;
  margin: 0 0 28px;
  border: 1px solid rgba(0, 0, 0, .12);
  border-collapse: separate;
  border-spacing: 0;
}

body.woocommerce-checkout table.shop_table th,
body.woocommerce-checkout table.shop_table td {
  padding: 14px 12px;
  vertical-align: middle;
}

body.woocommerce-checkout table.shop_table th {
  font-weight: 400;
  text-align: left;
}

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

body.woocommerce-checkout #payment {
  padding: 24px;
  border-radius: 0;
  background: #f7f7f7;
}

body.woocommerce-checkout #payment ul.payment_methods {
  margin: 0;
  padding: 0 0 18px;
  border: 0;
}

body.woocommerce-checkout #payment ul.payment_methods li {
  margin-bottom: 12px;
}

body.woocommerce-checkout #payment div.payment_box {
  box-sizing: border-box;
  margin: 12px 0;
  padding: 16px;
  background: #fff;
}

body.woocommerce-checkout #payment div.form-row {
  padding: 0;
}

body.woocommerce-checkout #payment #place_order,
body.woocommerce-checkout #complete {
  box-sizing: border-box;
  width: 100%;
  min-height: 54px;
  margin: 0;
  border: 0;
  border-radius: 5px;
  background: #b59450;
  color: #fff;
  font-size: 17px;
  text-align: center;
}

body.woocommerce-checkout .backtocart {
  margin: 24px 0 50px;
  text-align: right;
}

body.woocommerce-checkout .backtocart a,
body.woocommerce-checkout #btn-back {
  color: #333;
  text-decoration: underline;
}

/* Existing confirmation-page plugin markup, when that plugin is active. */
body.woocommerce-checkout .wcdc-confirm-header {
  margin: 32px 0 24px;
  font-size: 22px;
  font-weight: 400;
  text-align: center;
}

body.woocommerce-checkout .wcdc-confirm-table {
  width: 100%;
  margin-bottom: 30px;
  border-top: 1px solid #ddd;
}

body.woocommerce-checkout .wcdc-confirm-table-row {
  display: grid;
  padding: 15px 0;
  border-bottom: 1px solid #ddd;
  grid-template-columns: minmax(180px, 30%) minmax(0, 1fr);
}

body.woocommerce-checkout .wcdc-confirm-table-title {
  color: #76a5d8;
}

body.woocommerce-checkout .wcdc-cfm-other {
  white-space: pre-wrap;
}

body.woocommerce-checkout .wcdc-cfm-btn-table {
  display: grid;
  margin: 30px auto 50px;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  align-items: center;
}

/* Order received */
body.woocommerce-order-received .woocommerce-thankyou-order-received {
  margin: 32px 0;
  color: #76a5d8;
  font-size: 20px;
  text-align: center;
}

body.woocommerce-order-received ul.woocommerce-order-overview {
  display: grid;
  margin: 0 0 36px;
  padding: 0;
  border: 1px solid #ddd;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  list-style: none;
}

body.woocommerce-order-received ul.woocommerce-order-overview li {
  box-sizing: border-box;
  margin: 0;
  padding: 16px;
  border-right: 1px solid #ddd;
}

body.woocommerce-order-received ul.woocommerce-order-overview li:last-child {
  border-right: 0;
}

body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details {
  margin-bottom: 42px;
}

@media (max-width: 767px) {
  body.woocommerce-cart #main,
  body.woocommerce-checkout #main {
    width: calc(100% - 40px);
  }

  .wako-checkout-progress {
    margin: 28px auto 34px;
  }

  .wako-checkout-progress__step {
    display: flex;
    min-height: 54px;
    padding: 8px 5px;
    align-items: center;
    justify-content: center;
    font-size: 11px;
  }

  body.woocommerce-cart table.shop_table,
  body.woocommerce-cart table.shop_table_responsive {
    margin: 0 0 10px;
    border: 0;
    font-size: 16px;
  }

  body.woocommerce-cart table.shop_table_responsive thead {
    display: none;
  }

  body.woocommerce-cart table.shop_table_responsive tbody,
  body.woocommerce-cart table.shop_table_responsive tr.cart_item {
    display: block;
  }

  body.woocommerce-cart table.shop_table_responsive tr.cart_item {
    position: relative;
    min-height: 180px;
    margin: 0;
    padding: 16px 0 24px;
    border-bottom: 1px solid #ddd;
  }

  body.woocommerce-cart table.shop_table_responsive tr.cart_item td {
    border-top: 0;
    background: #fff;
  }

  body.woocommerce-cart table.shop_table_responsive tr.cart_item td::before {
    display: none;
  }

  body.woocommerce-cart table.shop_table_responsive tr.cart_item .product-thumbnail {
    display: block;
    box-sizing: border-box;
    width: 40%;
    margin: 0;
    padding: 0 12px 0 0;
    text-align: left;
  }

  body.woocommerce-cart table.shop_table_responsive tr.cart_item .product-thumbnail img {
    width: 100%;
    max-width: none;
    height: auto;
  }

  body.woocommerce-cart table.shop_table_responsive tr.cart_item .product-name {
    position: absolute;
    top: 16px;
    right: 0;
    left: calc(40% + 12px);
    width: auto;
    padding: 0;
    color: #76a5d8;
    font-size: 15px;
    text-align: left;
  }

  body.woocommerce-cart table.shop_table_responsive tr.cart_item .product-price {
    position: absolute;
    top: 76px;
    right: 0;
    left: calc(40% + 12px);
    padding: 0;
    border: 0;
    font-size: 18px;
    text-align: left;
  }

  body.woocommerce-cart table.shop_table_responsive tr.cart_item .product-subtotal {
    display: none;
  }

  body.woocommerce-cart table.shop_table_responsive tr.cart_item .product-remove {
    position: absolute;
    right: 0;
    bottom: 24px;
    display: block;
    width: auto;
    padding: 0;
    text-align: right;
  }

  body.woocommerce-cart .woocommerce-cart-form__contents .actions {
    display: block;
    padding: 18px 0;
  }

  body.woocommerce-cart .woocommerce-cart-form__contents .actions .coupon {
    display: grid;
    margin-bottom: 10px;
    grid-template-columns: minmax(0, 1fr) auto;
  }

  body.woocommerce-cart .cart_txt {
    display: block;
    color: #76a5d8;
    text-align: center;
  }

  body.woocommerce-cart .cart-collaterals .cart_totals {
    float: none;
    width: 100%;
  }

  body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table_responsive tr {
    display: grid;
    grid-template-columns: minmax(100px, 42%) minmax(0, 1fr);
    align-items: start;
  }

  body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table_responsive th,
  body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table_responsive td {
    display: block;
    box-sizing: border-box;
    width: auto;
    padding: 10px 12px;
    border-top: 0;
    background: #fff;
  }

  body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table_responsive th {
    text-align: right;
  }

  body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table_responsive td::before {
    display: none;
  }

  body.woocommerce-cart .wc-proceed-to-checkout {
    margin: 0 10px;
    border-radius: 5px;
  }

  body.woocommerce-checkout .woocommerce-billing-fields > h3,
  body.woocommerce-checkout .woocommerce-shipping-fields > h3,
  body.woocommerce-checkout #order_review_heading,
  body.woocommerce-checkout .wcdc-confirm-header {
    font-size: 19px;
  }

  body.woocommerce-checkout #payment {
    padding: 18px 14px;
  }

  body.woocommerce-checkout .wcdc-confirm-table-row {
    display: block;
  }

  body.woocommerce-checkout .wcdc-confirm-table-title {
    margin-bottom: 7px;
  }

  body.woocommerce-checkout .wcdc-cfm-btn-table {
    display: flex;
    flex-direction: column-reverse;
  }

  body.woocommerce-checkout .wcdc-cfm-btn-table > * {
    width: 100%;
  }

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

  body.woocommerce-order-received ul.woocommerce-order-overview li {
    border-right: 0;
    border-bottom: 1px solid #ddd;
  }

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

/* WooCommerce My Account */
.woocommerce-account #main {
  box-sizing: border-box;
  width: calc(100% - 80px);
  max-width: 1100px;
  margin-right: auto;
  margin-left: auto;
}

.woocommerce-account #main > article > h1 {
  font-size: 22px;
  font-weight: 400;
}

@media (max-width: 767px) {
  .woocommerce-account #main {
    width: calc(100% - 40px);
  }

  .woocommerce-account #main > article > h1 {
    font-size: 18px;
  }
}

/* サブページ共通タイトル */
.subpage-title {
  padding: 20px 0;
  background: url("../../img/renewal/sub_tit_bg.png") center / cover no-repeat;
  font-family: "Zen Old Mincho", "Yu Mincho", serif;
  font-size: 16px;
  font-weight: 400;
}

@font-face {
  font-family: "Zen Old Mincho";
  src: url("../../fonts/Zen_Old_Mincho/ZenOldMincho-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Zen Old Mincho";
  src: url("../../fonts/Zen_Old_Mincho/ZenOldMincho-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Zen Old Mincho";
  src: url("../../fonts/Zen_Old_Mincho/ZenOldMincho-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Zen Old Mincho";
  src: url("../../fonts/Zen_Old_Mincho/ZenOldMincho-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Zen Old Mincho";
  src: url("../../fonts/Zen_Old_Mincho/ZenOldMincho-Black.ttf") format("truetype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Sterling Display";
  src: url("../../fonts/SterlingDisplayRoman.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Vast Shadow";
  src: url("../fonts/Vast_Shadow/VastShadow-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  --ink: #111;
  --paper: #fff;
  --soft-gray: #f5f5f5;
  --line: #b7b7b7;
  --wako-blue: #225C8D;
  --content-width: 95%;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 170px;
}

@media (max-width: 767px) {
  html {
    scroll-padding-top: 180px;
  }
}

body {
  margin: 0;
  color: var(--ink);
  background: #fff;
  font-family: "Zen Kaku Gothic New", "Helvetica Neue", Helvetica, Arial,
    "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
}




@media (min-width: 768px) {
.woocommerce-account .woocommerce-MyAccount-navigation {
  width: 25%;
}
}
.woocommerce-MyAccount-navigation ul{
  list-style: none;margin-left: 0;
  padding: 0 0 0px;
}
.woocommerce-MyAccount-navigation ul li{
  border-bottom: 1px solid #e7e7e7;
  padding: 0 0 5px 0;
  margin-bottom: 5px;
}


.site-header {
  position: sticky;
  z-index: 80;
  top: 0;
  background: #fff;
}

body.is-menu-open {
  overflow: hidden;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  color: inherit;
  font: inherit;
}

.content-width {
  width: var(--content-width);
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 768px) {
  body:not(.home-page):not(.item-list-page):not(.item-detail-page) .content-width {
    max-width: 1100px;
  }
}


.mgt30{
  margin-top: 30px;
}

/* サブページ共通：メインビジュアル内タイトル */
.subpage-visual-title {
  color: #225C8D;
  font-weight: 400;
}

.subpage-visual-title__en {
  display: block;
  font-family: "kumlien-pro", "Zen Old Mincho", "Yu Mincho", serif;
  font-weight: 400;
  line-height: .92;
  letter-spacing: .02em;
}

.subpage-visual-title__jp {
  display: block;
  margin-top: 18px;
  font-family: "Zen Old Mincho", "Yu Mincho", serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.5;
}

/* サブページ共通：メインビジュアル直下の紹介文 */
.subpage-intro {
  padding: 64px 7% 78px;
  text-align: center;
}

.subpage-intro h2:not(.fnt41):not(.fnt35):not(.fnt28),
.subpage-intro__title {
  margin: 0 0 42px;
  font-family: "Zen Old Mincho", "Yu Mincho", serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.8;
}

.subpage-intro p,
.subpage-intro__text {
      margin: 0 auto;
  text-align: left;
  font-size: 13px;
  line-height: 1.9;
}
@media (min-width: 768px) {
  .subpage-intro h2:not(.fnt41):not(.fnt35):not(.fnt28),
.subpage-intro__title {
  font-size: 24px;
}
 .subpage-intro p,
.subpage-intro__text {
  font-size: 16px;
} 
}
.skip-link {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 100;
  padding: 8px 12px;
  background: #fff;
  transform: translateY(-150%);
}

.skip-link:focus {
  transform: none;
}

.announcement {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 48px;
  align-items: center;
  min-height: 52px;
  background: var(--soft-gray);
}

.announcement--dismissible {
  grid-template-columns: 48px minmax(0, 1fr) 48px 36px;
}

.announcement[hidden] {
  display: none;
}

.announcement__text {
  margin: 0;
  font-size: var(--fs-note);
  letter-spacing: .055em;
  line-height: 1.5;
  text-align: center;
}

.announcement .announcement__viewport {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
}

.announcement__swiper-wrapper {
  display: flex;
  width: 100%;
}

.announcement__swiper-wrapper > .announcement__text {
  flex: 0 0 100%;
  width: 100%;
}

.announcement__text.is-changing {
  animation: announcement-fade .22s ease-out;
}

.announcement__arrow {
  height: 52px;
  padding: 0;
  border: 0;
  background: transparent;
  font-size: 9px;
  cursor: pointer;
}

.announcement__arrow:active {
  background: rgb(0 0 0 / 5%);
}

.announcement__close {
  width: 22px;
  height: 22px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #6598ce;
  color: #fff;
  font-size: 15px;
  line-height: 22px;
  cursor: pointer;
      padding-bottom: 2px;
}

.announcement__close:active {
  opacity: .75;
}

@keyframes announcement-fade {
  from {
    opacity: 0;
    transform: translateY(3px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.header-main {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  min-height: 65px;
}

.header-tools {
  display: flex;
  align-items: center;
  min-width: 0;
}

.header-tools--left {
  justify-content: flex-start;
  gap: clamp(7px, 2.1vw, 11px);
}

.header-tools--right {
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: 3px;
  margin-left: auto;
}

.header-tool {
  display: grid;
  min-width: 20px;
  padding: 0;
  border: 0;
  background: transparent;
  place-items: center;
  cursor: pointer;
}

.header-tool img {
  width: clamp(16px, 4.3vw, 18px);
  max-height: 19px;
  transform: translateY(3px);
}

.header-tool--menu {
  gap: 4px;
}

.header-tool--menu span {
  font-size: 10px;
  line-height: 1;
}

.menu-icon {
  position: relative;
  display: block;
  width: 22px;
  height: 13px;
}

.header-tool--menu .menu-icon__line {
  position: absolute;
  left: 0;
  display: block;
  width: 22px;
  height: 1.5px;
  background: #111;
  transition: top .2s ease, width .2s ease, transform .2s ease;
}

.header-tool--menu .menu-icon__line:first-child {
  top: 1px;
}

.header-tool--menu .menu-icon__line:last-child {
  top: 11px;
  width: 14px;
}

.header-tool--menu[aria-expanded="true"] .menu-icon__line:first-child,
.header-tool--menu[aria-expanded="true"] .menu-icon__line:last-child {
  top: 6px;
  width: 20px;
}

.header-tool--menu[aria-expanded="true"] .menu-icon__line:first-child {
  transform: rotate(45deg);
}

.header-tool--menu[aria-expanded="true"] .menu-icon__line:last-child {
  transform: rotate(-45deg);
}

.site-header__logo {
  display: block;
  width: 84px;
  margin: 0 7px;
}

.header-action {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 74px;
  min-height: 22px;
  padding: 1px 10px 2px;
  border: 1px solid var(--ink);
  border-radius: 999px;
  font-size: 11px;
  line-height: 1;
}

.header-action img {
  display: none;
}

.drawer {
  position: fixed;
  inset: 0;
  z-index: 90;
  overflow-y: auto;
  background: #fff;
  overscroll-behavior: contain;
}

.drawer__panel {
  position: relative;
  width: var(--content-width);
  min-height: 100%;
  margin: 0 auto;
  padding: 26px 0 70px;
}

.drawer__close {
  display: flex;
  position: static;
  align-items: center;
  gap: 14px;
  min-height: 32px;
  margin-bottom: 29px;
  padding: 0 0 0 2px;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.drawer__close-icon {
  position: relative;
  display: block;
  width: 18px;
  height: 18px;
}

.drawer__close-icon::before,
.drawer__close-icon::after {
  position: absolute;
  top: 8px;
  left: 0;
  width: 18px;
  height: 1px;
  background: #111;
  content: "";
}

.drawer__close-icon::before {
  transform: rotate(45deg);
}

.drawer__close-icon::after {
  transform: rotate(-45deg);
}

.drawer__close-text {
  font-size: 14px;
  font-weight: 500;
}

.drawer-menu-group {
  border-bottom: 1px solid #ddd;
}

.drawer-menu-group__title {
  margin: 0;
}

.drawer-menu-group__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 48px;
  padding: 0;
  border: 0;
  background: transparent;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 18px;
  font-weight: 400;
  text-align: left;
  cursor: pointer;
}

.drawer-menu-group__toggle small {
  margin-left: 13px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 12px;
  font-weight: 600;
}

.drawer-menu-group__sign {
  font-size: 25px;
  font-weight: 300;
  line-height: 1;
}

.drawer-menu-group__list {
  display: grid;
  margin: 0;
  padding: 0;
  border-top: 1px solid #ddd;
  list-style: none;
}

.drawer-menu-group__list[hidden] {
  display: none;
}

.drawer-menu-group__list li + li {
  border-top: 1px solid #ddd;
}

.drawer-menu-group__list a {
  display: flex;
  position: relative;
  align-items: center;
  min-height: 58px;
  padding: 9px 40px 9px 18px;
  background: #fafafa;
  font-size: 16px;
  line-height: 1.4;
}

.drawer-menu-group__list a::after {
  position: absolute;
  top: 50%;
  right: 16px;
  width: 10px;
  height: 10px;
  border-top: 2px solid #111;
  border-right: 2px solid #111;
  content: "";
  transform: translateY(-50%) rotate(45deg);
}

.drawer-actions {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 30px;
  overflow: hidden;
  color: #527ebd;
  border: 1px solid #527ebd;
  border-radius: 17px;
}

.drawer-actions__cart {
  display: grid;
  grid-column: 1 / -1;
  min-height: 100px;
  color: #fff;
  background: linear-gradient(105deg, #456bac, #83a6d1);
  font-family: "Zen Old Mincho", serif;
  font-size: 16px;
  font-weight: 600;
  place-content: center;
  place-items: center;
}

.drawer-actions__cart img {
  margin-bottom: 5px;
  filter: brightness(0) invert(1);
}

.drawer-actions__item {
  display: grid;
  min-height: 112px;
  padding: 10px 5px;
  border-top: 1px solid #527ebd;
  font-family: "Zen Old Mincho", serif;
  font-size: 15px;
  line-height: 1.45;
  place-content: center;
  place-items: center;
  text-align: center;
}

.drawer-actions__item:nth-child(even) {
  border-right: 1px solid #527ebd;
}

.drawer-actions__item img {
  width: 30px;
  margin-bottom: 4px;
  opacity: .7;
}

.drawer-actions__icon {
  margin-bottom: 3px;
  font-family: Arial, sans-serif;
  font-size: 36px;
  font-weight: 300;
  line-height: 1;
}

.drawer-actions__icon--phone {
  font-size: 26px;
}

.drawer-actions__item b {
  white-space: nowrap;
  font-size: 18px;
  font-weight: 400;
}

.drawer-actions__phone-list {
  display: grid;
  gap: 5px;
}

.drawer-actions__phone-list a {
  display: grid;
  color: inherit;
  line-height: 1.25;
  text-decoration: none;
}

.drawer-actions__phone-list small {
  font-size: 11px;
}

.drawer a:focus-visible,
.drawer__close:focus-visible {
  outline: 2px solid var(--wako-blue);
  outline-offset: 4px;
}

.category-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 40px;
  margin-top: -6px;
  white-space: nowrap;
}

.category-nav a {
  position: relative;
  flex: 1;
  padding: 0 9px;
  font-size: var(--fs-small);
  letter-spacing: .03em;
  text-align: center;
}

.category-nav a + a::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 1px;
  height: 18px;
  background: #666;
  content: "";
  transform: translateY(-50%);
}

.category-nav__pc-only {
  display: none;
}

.hero {
  width: 100%;
  overflow: hidden;
}

.hero__image {
  width: 100%;
}

  .home-page .home-intro p{font-size:10px;text-align: center;}
.collection {
  padding-bottom: 0;
}

.common-section-title {
  margin: 0 0 28px;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: var(--fs-title-lg);
  font-weight: 300;
  letter-spacing: 0;
  line-height: 1.2;
}

.common-section-title--center {
  text-align: center;
}

.collection__grid {
  display: grid;
  width: var(--content-width);
  margin: 0 auto;
  gap: 0;
}

.collection-card__visual {
  display: block;
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #f7efe8;
}

.collection-card__visual img {
  width: 100%;
}

.collection-card__visual--pending {
  display: grid;
  aspect-ratio: 680 / 824;
  background:
    linear-gradient(130deg, rgb(255 255 255 / 75%), transparent 45%),
    #f4e9df;
  place-items: center;
}

.collection-card__english {
  position: absolute;
  top: 18%;
  left: 50%;
  color: #225C8D;
  font-family: "Sterling Display", "Times New Roman", serif;
  font-size: clamp(25px, 8vw, 36px);
  line-height: 1;
  text-align: center;
  transform: translateX(-50%);

  white-space: nowrap;
}

.collection-card__english small {
  display: block;
  margin-top: 8px;
  font-size: .65em;
}

.collection-card__body {
  padding: 0 12% 50px;
  text-align: center;
}
#colored-stone.collection-card__body{
  padding-bottom: 0;
}
.collection-card__title {
  margin: 26px 0 19px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: var(--fs-title-sm);
  font-weight: 500;
  letter-spacing: .08em;
}

.collection-card__rule {
  width: 100%;
  height: 1px;
  margin: 0 auto 38px;
  background: #8b8b8b;
}

.common-outline-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 50px;
  padding: 0 18px;
  border: 1px solid #555;
  border-radius: 999px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: var(--fs-button);
  letter-spacing: .06em;
  text-align: center;
      background: #fff;
}

.common-outline-button--section {
  width: 80%;
  margin-right: auto;
  margin-left: auto;
}

.item-section {
  padding-bottom: 0;
}

.item-slider {
  position: relative;
  width: 100%;
}

.item-slider__track {
  display: flex;
  gap: 16px;
  width: 100%;
  padding: 0 12.5%;
  overflow-x: auto;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.item-slider__track::-webkit-scrollbar {
  display: none;
}

.item-card {
  flex: 0 0 72%;
  scroll-snap-align: center;
}

.item-card__visual {
  display: grid;
  aspect-ratio: 1 / 1.22;
  color: #fff;
  background: linear-gradient(145deg, #6eaccf, #e9dfd5 62%, #d5ba9a);
  font-family: "Sterling Display", serif;
  font-size: 26px;
  place-items: start center;
  padding-top: 18%;
}

.item-card__visual--ring {
  background:
    linear-gradient(rgb(15 86 124 / 22%), rgb(255 255 255 / 8%)),
    url("../../img/renewal/top/ring_s.png") center / cover;
}

.item-card__visual--pendant {
  background:
    linear-gradient(rgb(15 86 124 / 22%), rgb(255 255 255 / 8%)),
    url("../../img/renewal/top/pendant_s.png") center / cover;
}

.item-card__visual--earring {
  background:
    linear-gradient(rgb(15 86 124 / 22%), rgb(255 255 255 / 8%)),
    url("../../img/renewal/top/earring_s.png") center / cover;
}

.item-card__visual--bracelet {
  background:
    linear-gradient(rgb(15 86 124 / 22%), rgb(255 255 255 / 8%)),
    url("../../img/renewal/top/bracelet_s.png") center / cover;
}

.item-card__visual--necklace {
  background:
    linear-gradient(rgb(15 86 124 / 22%), rgb(255 255 255 / 8%)),
    url("../../img/renewal/top/necklace_s.png") center / cover;
}

.item-card__visual--brooch {
  background:
    linear-gradient(rgb(15 86 124 / 22%), rgb(255 255 255 / 8%)),
    url("../../img/renewal/top/brooch_s.png") center / cover;
}
.item-card__link {
  display: inline-block;
  margin: -34px 0 0 16px;
  color: #225C8D;
  border-bottom: 1px solid currentColor;
  font-size: 11px;
  transform: translateY(-38px);
}

.item-slider__arrow {
  position: absolute;
  top: 48%;
  z-index: 2;
  padding: 5px;
  color: #fff;
  border: 0;
  background: transparent;
  font-family: Arial, sans-serif;
  font-size: 40px;
  font-weight: 200;
  line-height: 1;
  transform: translateY(-50%);
  cursor: pointer;
}

.item-slider__arrow--prev {
  left: 3%;
}

.item-slider__arrow--next {
  right: 3%;
}

.item-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
  margin-top: 0px;
}

.item-tags a {
  padding: 3px 15px 4px;
  border: 1px solid #555;
  border-radius: 999px;
  font-size: 11px;
}

.pickup-section {
  background: #fff;
}

.pickup-section__heading {
  display: grid;
  min-height: 112px;
  margin-bottom: 0;
  color: #fff;
  background: transparent;
  place-items: center;
}

.common-section-title--light {
  margin: 0;
  color: #fff;
}

.pickup-slider {
  position: relative;
  overflow: hidden;
  background: transparent;
}

.pickup-slider__track {
  display: flex;
  gap: 16px;
  width: 100%;
  padding: 0 14%;
  overflow-x: auto;
  background: transparent;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: 14%;
  scrollbar-width: none;
}

.pickup-slider__track::-webkit-scrollbar {
  display: none;
}

.pickup-card {
  flex: 0 0 100%;
  background: transparent;
  scroll-snap-align: center;
  text-align: center;
}

.pickup-card > a {
  display: block;
}

.pickup-card__image {
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #f2f2f2;
}

.pickup-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pickup-card__image--kihei {
  background:
    url("../../img/renewal/top/kihei.png") center / cover,
    linear-gradient(145deg, #fff 0 45%, #e5c678 46% 49%, #fff 50% 60%, #d7ad48 61% 64%, #fff 65%);
}

.pickup-card__image--reform {
  background:
    url("../../img/renewal/top/reform.png") center / cover,
    linear-gradient(135deg, #ecf7fb, #f5ebe5 58%, #d6a78c);
}

.pickup-card__caption {
  display: block;
  min-height: 78px;
  padding: 17px 4px 8px;
  background: transparent;
  font-size: 13px;
  line-height: 1.7;
}

.pickup-slider__pagination {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 17px;
}

.pickup-slider__controls {
  padding: 17px 0 0;
}

.pickup-slider__controls .pickup-slider__pagination {
  margin-top: 0;
}

.pickup-slider__dot {
  width: 9px;
  height: 9px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #ddd;
  cursor: pointer;
}

.pickup-slider__dot.is-active {
  background: #006a9e;
}

.pickup-slider__dot[hidden] {
  display: none;
}

.pickup-slider__progress {
  position: relative;
  width: var(--content-width);
  height: 2px;
  margin: 37px auto 0;
  background: #f0f0f0;
}

.pickup-slider__progress-bar {
  position: absolute;
  inset: 0 auto 0 0;
  width: 25%;
  background: #006a9e;
  transform: translateX(0);
  will-change: transform;
}

.pickup-slider__arrow {
  position: absolute;
  z-index: 2;
  top: calc(50% - 48px);
  width: 34px;
  height: 52px;
  padding: 0;
  border: 0;
  background: rgb(255 255 255 / 88%);
  color: #111;
  font-size: 32px;
  line-height: 1;
  cursor: pointer;
}

.pickup-slider__arrow--prev {
  left: 0;
}

.pickup-slider__arrow--next {
  right: 0;
}

.topics-section {
  margin-top: 70px;
  background: #fff;
}

.topics-section__heading {
  margin-bottom: 24px;
  text-align: center;
}

.topics-section__heading .common-section-title {
  margin: 0;
  padding: 0;
  text-align: center;
}

.topics-slider {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.topics-slider__track {
  display: flex;
  gap: 14px;
  width: 100%;
  padding: 0 14%;
  overflow-x: auto;
  scroll-behavior: smooth;
  scroll-padding-inline: 14%;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.topics-slider__track::-webkit-scrollbar {
  display: none;
}

.topics-card {
  min-width: 0;
  flex: 0 0 72%;
  scroll-snap-align: center;
  text-align: center;
}

.topics-card > a {
  display: block;
}

.topics-card__image {
  display: block;
  aspect-ratio: 260 / 173;
  overflow: hidden;
  background: #fff;
}

.topics-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.topics-card__caption {
  display: block;
  min-height: 52px;
  padding: 14px 4px 6px;
  font-size: 13px;
  line-height: 1.5;
  text-align: center;
}

.topics-slider__arrow {
  position: absolute;
  z-index: 2;
  top: calc(50% - 40px);
  width: 28px;
  height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #111;
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
}

.topics-slider__arrow--prev {
  left: 4px;
}

.topics-slider__arrow--next {
  right: 4px;
}

.topics-slider__pagination {
  display: flex;
  margin-top: 16px;
  justify-content: center;
  gap: 10px;
}

.topics-slider__dot {
  width: 7px;
  height: 7px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #d7d7d7;
  cursor: pointer;
}

.topics-slider__dot.is-active {
  background: #006a9e;
}

.topics-slider__dot[hidden] {
  display: none;
}

@media (min-width: 768px) {
  .topics-section {
    margin-top: 90px;
  }

  .topics-section__heading {
    margin-bottom: 34px;
  }

  .topics-slider {
    width: min(calc(100% - 40px), 800px);
    margin-inline: auto;
    padding-inline: 42px;
  }

  .topics-slider__track {
    gap: 28px;
    padding: 0;
    scroll-padding-inline: 0;
    scroll-snap-type: x mandatory;
  }

  .topics-card {
    flex: 0 0 calc((100% - 56px) / 3);
    scroll-snap-align: start;
  }

  .topics-card__caption {
    min-height: 60px;
    padding-top: 18px;
    font-size: 16px;
  }

  .topics-slider__arrow {
    top: calc(50% - 46px);
  }

  .topics-slider__arrow--prev {
    left: 0;
  }

  .topics-slider__arrow--next {
    right: 0;
  }

  .topics-slider__pagination {
    margin-top: 18px;
  }
}

.recommend-section {
  padding: 0;
}

.recommend-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: 100%;
  margin-bottom: 27px;
  border-bottom: 1px solid #c8d7df;
}

.recommend-tabs__button {
  position: relative;
  min-width: 0;
  min-height: 43px;
  padding: 0 3px 10px;
  overflow: hidden;
  border: 0;
  background: transparent;
  font-size: var(--fs-button);
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
}

.recommend-tabs__button::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  background: transparent;
  content: "";
}

.recommend-tabs__button.is-active {
  color: #225C8D;
  font-weight: 500;
}

.recommend-tabs__button.is-active::after {
  background: #1686c1;
}

.recommend-panel[hidden] {
  display: none;
}

.recommend-products {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.recommend-product {
  min-width: 0;
  background: transparent;
}

.recommend-product a {
  display: flex;
  height: 100%;
  padding-bottom: 0;
  flex-direction: column;
}

.recommend-product__image {
  display: block;
  width: 100%;
  aspect-ratio: 340 / 270;
  background-color: #f7f7f7;
}

.recommend-product__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.recommend-product__image--necklace,
.recommend-product__image--pendant,
.recommend-product__image--brooch,
.recommend-product__image--ring {
  background-image: url("../../img/renewal/top/top_daia.png");
  background-repeat: no-repeat;
  background-size: cover;
}

.recommend-product__image--necklace { background-position: 50% 87%; }
.recommend-product__image--pendant { background-position: 50% 37%; }
.recommend-product__image--brooch { background-position: 14% 65%; }
.recommend-product__image--ring { background-position: 89% 65%; }

.item-detail-page .item-detail-recently-viewed {
  padding: 80px 0;
  background: #fff;
}

.item-detail-page .item-detail-recently-viewed [hidden] {
  display: none;
}

.item-detail-page .item-detail-recently-viewed__heading {
  margin-bottom: 36px;
  text-align: center;
}

.item-detail-page .item-detail-recently-viewed__heading .common-section-title {
  margin-bottom: 10px;
}

.item-detail-page .item-detail-recently-viewed__heading p {
  margin: 0;
  font-size: 14px;
}

.item-detail-page .item-detail-recently-viewed__status {
  margin: 0;
  padding: 50px 20px;
  text-align: center;
}

@media (max-width: 767px) {
  .item-detail-page .item-detail-recently-viewed {
    padding: 56px 0;
  }

  .item-detail-page .item-detail-recently-viewed__heading {
    margin-bottom: 28px;
  }
}

.recommend-product__name,
.recommend-product__price {
  display: block;
  margin: 0;
  background: transparent;
  padding: 0 10px;
  font-size: var(--fs-small);
  line-height: 1.55;
}

.recommend-product__name {
  min-height: 53px;
  padding-top: 12px;
}

.recommend-product__price {
  margin-top: auto;
  padding-top: 3px;
  padding-bottom: 13px;
}

.recommend-panel__button {
  margin-top: 52px;
}

.brand-section {
  padding: 0;
}

.brand-section__intro {
  display: grid;
  min-height: 230px;
  margin: 30px 0 0;
  padding: 38px 20px 30px;
  background: url("../../img/renewal/top/brand_s_bg.png") center / cover no-repeat;
  place-content: center;
  text-align: center;
}

.brand-section__lead {
  margin: 0 0 20px;
  font-family: "Zen Old Mincho", "Yu Mincho", serif;
font-size: 18px;
    line-height: 1.8;
    letter-spacing: 0.02em;
}

.brand-section__message {
  margin: 0;
  font-family: "Zen Old Mincho", "Yu Mincho", serif;
  font-size: 22px;
  line-height: 1.65;
  letter-spacing: .16em;
}

.brand-slider {
  position: relative;
  margin-top: -1px;
  overflow: hidden;
}

.brand-slider__track {
  display: flex;
  gap: 16px;
  width: 100%;
  padding: 0 14%;
  overflow-x: auto;
  scroll-behavior: smooth;
  scroll-snap-type: none;
  scrollbar-width: none;
  touch-action: pan-x pan-y;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-inline: contain;
}

.brand-slider__track::-webkit-scrollbar {
  display: none;
}

.brand-card {
  flex: 0 0 72%;
  scroll-snap-align: none;
  text-align: center;
}

.brand-card__image {
  display: block;
  position: relative;
  aspect-ratio: 320 / 386;
  overflow: hidden;
  background: #e8e8e8;
}

.brand-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.brand-card__overlay {
  position: absolute;
  inset: 0;
  display: grid;
  align-content: start;
  justify-items: center;
  padding-top: 17%;
  color: #fff;
  text-shadow: 0 1px 8px rgb(0 0 0 / 35%);
}

.brand-card__overlay b {
  font-family: "Sterling Display", "Times New Roman", serif;
  font-size: clamp(22px, 6.4vw, 32px);
  font-weight: 400;
}

.brand-card__overlay small {
  margin-top: 10px;
  font-size: 14px;
}

.brand-card__caption {
  display: block;
  min-height: 78px;
  padding: 17px 4px 7px;
  font-size: 13px;
  line-height: 1.7;
}

.brand-slider__arrow {
  position: absolute;
  top: 42%;
  z-index: 3;
  display: grid;
  width: 30px;
  height: 54px;
  padding: 0;
  color: #fff;
  border: 0;
  background: transparent;
  font-family: Arial, sans-serif;
  font-size: 42px;
  font-weight: 200;
  line-height: 1;
  place-items: center;
  transform: translateY(-50%);
  cursor: pointer;
  text-shadow: 0 1px 5px rgb(0 0 0 / 25%);
}

.brand-slider__arrow--prev {
  left: calc(5% - 15px);
}

.brand-slider__arrow--next {
  right: calc(5% - 15px);
}

.brand-slider__pagination {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 17px;
}

.brand-slider__dot {
  width: 9px;
  height: 9px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #ddd;
  cursor: pointer;
}

.brand-slider__dot.is-active {
  background: #006a9e;
}

.brand-slider__progress {
  position: relative;
  width: var(--content-width);
  height: 2px;
  margin: 37px auto 0;
  background: #f0f0f0;
}

.brand-slider__progress-bar {
  position: absolute;
  inset: 0 auto 0 0;
  width: calc(100% / 6);
  background: #006a9e;
  transform: translateX(0);
  will-change: transform;
}

.howto-section {
  padding: 0;
}

.howto-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px 12px;
}

.howto-card {
  min-width: 0;
  text-align: center;
}

.howto-card__visual {
  display: block;
  position: relative;
  aspect-ratio: 1 / 1.2;
  overflow: hidden;
  border: 1px solid #f0f0f0;
  background: #fff;
}

.howto-card__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.howto-card__english {
  position: absolute;
  top: 9%;
  left: 50%;
  color: #225C8D;
  font-family: "Sterling Display", "Times New Roman", serif;
  font-size: clamp(20px, 6.3vw, 29px);
  font-weight: 400;
  line-height: .95;
  transform: translateX(-50%);
}

.howto-card__english small {
  display: block;
  margin-bottom: 4px;
  color: #225C8D;
  font-size: .72em;
}

.howto-card__label {
  display: block;
  padding-top: 18px;
  color: #111;
  font-size: var(--fs-button);
  line-height: 1.5;
}

.staff-snap-section {
  padding: 0;
}

.staff-snap-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.staff-snap-grid img {
  width: 100%;
}

.staff-snap-section__button {
  margin-top: 38px;
}

.shop-section {
  padding: 0 0 60px;
  background: #f7f7f7;
}

.shop-section__title {
  margin-bottom: 45px;
}

.shop-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 60px 12px;
}

.shop-card--wide {
  grid-column: 1 / -1;
  width: 82%;
  margin: 0 auto;
}

.shop-card__name {
  min-height: 55px;
  margin: 0;
  font-size: var(--fs-title-sm);
  font-weight: 500;
  line-height: 1.45;
  text-align: center;
}

.shop-card__rule {
  width: 88%;
  height: 1px;
  margin: 0 auto 27px;
  background: #777;
}

.shop-card__image {
  width: 100%;
}

.shop-card__button {
  min-height: 49px;
  margin-top: 28px;
  padding-right: 7px;
  padding-left: 7px;
  font-size: var(--fs-button);
  line-height: 1.4;
}

.shop-card__button--workshop {
  font-size: var(--fs-button);
  line-height: 1.25;
  text-align: center;
}

.shop-section__reservation {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 82%;
  min-height: 52px;
  margin: 54px auto 0;
  color: #fff;
  border-radius: 999px;
  background: linear-gradient(100deg, #004681, #0077a9);
  font-size: var(--fs-button);
}

.online-store-section {
  padding: 68px 0 50px;
  background: #f7f7f7;
}

.online-store-section__title {
  margin-bottom: 45px;
}

.online-store-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 48px 12px;
}

.online-store-card {
  display: block;
  color: #111;
}

.online-store-card--cocon {
  grid-column: 1 / -1;
  width: 50%;
  margin: 0 auto;
}

.online-store-card__title {
  min-height: 58px;
  margin: 0;
  font-size: var(--fs-title-sm);
  font-weight: 500;
  line-height: 1.45;
  text-align: center;
}

.online-store-card__rule {
  display: block;
  width: 100%;
  height: 1px;
  margin-bottom: 27px;
  background: #666;
}

.online-store-card img {
  width: 100%;
}

.news-section,
.useful-tips-section {
  padding: 0;
}

.useful-tips-section {
  padding-top: 0;
}

.article-list {
  display: grid;
  gap: 20px;
  margin-top: 30px;
}

.article-card a {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 13px;
  color: #111;
}

.article-card__image {
  width: 88px;
  height: 88px;
  background: #f5f5f5;
  object-fit: cover;
}

.article-card__body {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

.article-card time {
  margin-bottom: 4px;
  color: #555;
  font-family: "Zen Old Mincho", serif;
  font-size: var(--fs-small);
}

.article-card b {
  font-size: var(--fs-title-sm);
  font-weight: 500;
  line-height: 1.45;
}

.article-card__excerpt {
  display: -webkit-box;
  overflow: hidden;
  margin-top: 3px;
  font-size: var(--fs-body);
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.article-card__views {
  margin-bottom: 7px;
  padding: 4px 8px;
  color: #fff;
  background: #006c9f;
  font-family: "Zen Old Mincho", serif;
  font-size: var(--fs-small);
}

.article-section__button {
  margin-top: 38px;
}

.shopping-guide {
  padding: 68px 0 80px;
  background: #f7f7f7;
}

.shopping-guide__title {
  margin-bottom: 45px;
}

.guide-block + .guide-block {
  margin-top: 44px;
}

.guide-block__heading {
  margin: 0;
  padding: 8px 8px 7px;
  color: #fff;
  background: #225C8D;
  font-family: "Zen Old Mincho", "Yu Mincho", serif;
  font-size: var(--fs-title-md);
  font-weight: 400;
  line-height: 1.35;
  text-align: center;
}

.guide-block__content {
  padding-top: 18px;
}

.guide-block__content > p,
.guide-item p {
  margin: 0;
  font-size: var(--fs-body);
  line-height: 1.55;
}

.guide-item + .guide-item {
  margin-top: 27px;
}

.guide-block__content > p + .guide-item {
  margin-top: 32px;
}

.guide-item__title {
  margin: 0 0 15px;
  padding: 0 0 7px;
  color: #225C8D;
  border-bottom: 1px solid #5ca4c5;
  font-size: var(--fs-title-sm);
  font-weight: 500;
  letter-spacing: .08em;
  line-height: 1.4;
}

.guide-item__cards {
  width: min(70%, 360px);
  margin: 0 0 12px;
}

.guide-item__rpay {
  width: min(36%, 180px);
  margin: 0 0 13px;
}

.site-footer {
  background: linear-gradient(to bottom, #fff 0, #fff 18%, #c7dce7 52%, #3f8ab3 100%);
}

.site-footer__inner {
  padding-top: 90px;
  padding-bottom: 58px;
}

.site-footer__logo {
  display: block;
  width: 132px;
  margin: 0 auto 22px;
}

.site-footer__logo img {
  width: 100%;
}

.footer-social {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 54px;
}

.footer-social__label {
  margin-right: 5px;
  font-size: 16px;
}

.footer-social a,
.footer-social img {
  display: block;
  width: 40px;
  height: 40px;
}

.footer-nav {
  display: grid;
  gap: 26px;
}

.footer-nav__group h2 {
  margin: 0 0 12px;
  font-size: 14px;
  font-weight: 600;
}

.footer-nav__group ul {
  display: grid;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-nav__group a {
  color: #111;
    font-size: 13px;
    line-height: 1em;
}

.site-footer__description {
  margin: 58px 0 0;
  font-size: 13px;
  line-height: 1.55;
}

.site-footer__copyright {
  margin: 0;
  padding: 21px 12px;
  color: #fff;
  background: #006a9e;
  font-family: Arial, sans-serif;
  font-size: var(--fs-caption);
  text-align: center;
}

/* WordPress化後も再利用できるフォントユーティリティ */
.zen-kaku {
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN",
    "Hiragino Sans", Meiryo, sans-serif;
}

.zen-old {
  font-family: "Zen Old Mincho", "Yu Mincho", YuMincho,
    "Hiragino Mincho ProN", serif;
}

.helvetica {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.sterling {
  font-family: "Sterling Display", "Times New Roman", serif;
}

.vast-shadow {
  font-family: "Vast Shadow", serif;
}

.w300 { font-weight: 300; }
.w400 { font-weight: 400; }
.w500 { font-weight: 500; }
.w600 { font-weight: 600; }
.w700 { font-weight: 700; }
.w900 { font-weight: 900; }

.header-tool:focus-visible,
.header-action:focus-visible,
.category-nav a:focus-visible,
.common-outline-button:focus-visible {
  outline: 2px solid var(--wako-blue);
  outline-offset: 3px;
}

.sp_br{
  display: block;
}

@media (min-width: 768px) {
.sp_br{
  display: none;
}

  .site-header{
    max-width: 1920px;
    margin: 0 auto;
  }

  .collection__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .collection-card__body {
    padding: 0 6% 70px;
  }

  .collection-card__english {
    font-size: clamp(25px, 2.3vw, 36px);
  }

  .collection-card__title {
    min-height: 48px;
    font-size: var(--fs-title-sm);
  }

  .collection-card__rule {
    margin-bottom: 26px;
  }

  .common-outline-button {
    min-height: 46px;
    padding: 0 8px;
    font-size: var(--fs-button);
  }

  .item-slider__track {
    gap: 18px;
    padding: 0 2.5%;
    scroll-padding-inline: 2.5%;
  }

  .item-card {
    flex-basis: calc((100% - 54px) / 4.15);
    scroll-snap-align: start;
  }

  .pickup-card {
    flex-basis: 36%;
  }

  .recommend-tabs {
    width: var(--content-width);
    margin-right: auto;
    margin-left: auto;
  }

  .recommend-products {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
  }

  .common-outline-button--section {
    max-width: 390px;
  }

  .brand-slider__track {
    padding-right: 5%;
    padding-left: 5%;
    scroll-snap-type: none;
    cursor: grab;
    user-select: none;
  }

  .brand-slider__track.is-dragging {
    scroll-behavior: auto;
    cursor: grabbing;
  }

  .brand-slider__track img,
  .brand-slider__track a {
    -webkit-user-drag: none;
  }

  .brand-card {
    flex-basis: 36%;
    scroll-snap-align: none;
  }

  .howto-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
  }

  .howto-card__english {
    font-size: clamp(20px, 2.4vw, 29px);
  }

  .shop-section__reservation {
    max-width: 390px;
  }

  .shop-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 18px;
    width: 100%;
    max-width: 760px;
    margin-inline: auto;
  }

  .shop-card--wide {
    grid-column: span 2;
    width: 100%;
  }

  .online-store-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
  }

  .online-store-card--cocon {
    grid-column: auto;
    width: 100%;
    margin: 0;
  }

  .news-section .content-width,
  .useful-tips-section .content-width {
    max-width: 760px;
  }

  .article-card a {
    grid-template-columns: 112px minmax(0, 1fr);
  }

  .article-card__image {
    width: 112px;
    height: 112px;
  }

  .shopping-guide .content-width {
    max-width: 760px;
  }

  .guide-block__heading {
    font-size: var(--fs-title-md);
  }

  .footer-nav {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 38px 28px;
  }

  .site-footer__description {
    max-width: 820px;
    margin-right: auto;
    margin-left: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
/* Reusable vertical rhythm for long-form pages. */
.content-gap-120 {
  margin-top: 120px;
}

/* 統合したPC表示 */
.home-page .staff-snap-grid__pc-extra{display:none}
.drawer__logo,.header-tool__pc-label,.header-tool--pc-action{display:none}
.home-page .collection-card__pc-english,.home-page .collection-card__description{display:none}
@media (min-width:768px){
  .site-header{--site-menu-content:min(calc(100% - 80px),1200px)}
  .home-page{--home-content:min(calc(100% - 80px),1200px);--home-wide:var(--home-content)}
  .home-page .content-width{width:var(--home-content);max-width:none;margin-inline:auto}
  .site-header.site-header--renewal{width:100%;max-width:none;background:#fff}
  .site-header--renewal .announcement{grid-template-columns:54px minmax(0,1fr) 54px 40px;min-height:40px}
  .site-header--renewal .announcement__arrow{height:40px}
  .site-header--renewal .announcement__text{font-size:12px}
  .site-header .header-main{position:relative;grid-template-columns:1fr auto 1fr;width:var(--site-menu-content);min-height:65px;margin-inline:auto}
  .site-header .site-header__logo{position:absolute;top:50%;left:50%;width:clamp(150px,14vw,205px);margin:0;transform:translate(-50%,-50%)}
  .site-header .site-header__logo img{width:100%;height:auto ;       max-width: 135px;}
  .site-header .header-tools--left{grid-column:1;justify-self:start;gap:0}
  .site-header .header-tools--left>.header-tool:not(.header-tool--menu){display:none}
  .site-header .header-tool--menu{width:54px;gap:8px}
  .site-header .header-tool--menu .menu-icon{width:38px;height:22px}
  .site-header .header-tool--menu .menu-icon__line{width:38px;height:2px}
  .site-header .header-tool--menu .menu-icon__line:first-child{top:2px}
  .site-header .header-tool--menu .menu-icon__line:last-child{top:18px;width:27px}
  .site-header .header-tool--menu>span:last-child{font-size:11px}
  .site-header .header-tools--right{display:flex;grid-column:3;justify-self:end;flex-direction:row;align-items:center;gap:clamp(12px,1.8vw,28px);margin:0}
  .site-header .header-tool--pc-action{display:flex;min-width:44px;flex-direction:column;gap:8px;font-size:11px;white-space:nowrap}
  .site-header .header-tool--pc-action img{width:25px;max-height:25px;transform:none}
  .site-header .header-action{display:none}
  .site-header .category-nav{width:var(--site-menu-content);min-height:40px;margin:0 auto;justify-content:center;gap:clamp(48px,7vw,110px)}
  .site-header .category-nav a{flex:0 1 auto;min-width:auto;padding:0;font-size:15px}
  .site-menu{background:rgb(0 0 0/.14)}
  .site-menu .drawer__panel{width:100%;min-height:0;max-height:100vh;margin:0;padding:32px 0 38px;overflow-y:auto;background:#f7f7f7;box-shadow:0 12px 30px rgb(0 0 0/.14)}
  .site-menu .drawer__close{position:absolute;z-index:2;top:32px;left:calc((100% - var(--site-menu-content))/2);width:auto;margin:0;gap:7px;flex-direction:column;align-items:flex-start}
  .site-menu .drawer__close-icon{width:30px;height:30px}
  .site-menu .drawer__close-icon::before{top:14px;width:30px}
  .site-menu .drawer__close-icon::after{top:14px;width:30px}
  .site-menu .drawer__close-text{font-size:11px;font-weight:400}
  .site-menu .drawer__logo{display:block;position:absolute;top:31px;left:calc((100% - var(--site-menu-content))/2 + 48px);width:132px}
  .site-menu .drawer__logo img{width:100%;height:auto}
  .site-menu .drawer__nav{display:grid;grid-template-columns:1.05fr 1.1fr 1.2fr 1.2fr 1.2fr;grid-template-rows:auto auto;gap:20px clamp(24px,4vw,68px);width:var(--site-menu-content);margin:72px auto 0}
  .site-menu .drawer-menu-group{min-width:0;border:0}
  .site-menu .drawer-menu-group:nth-child(7){grid-column:1;grid-row:1/span 2}
  .site-menu .drawer-menu-group:nth-child(1){grid-column:2;grid-row:1}
  .site-menu .drawer-menu-group:nth-child(2){grid-column:2;grid-row:2}
  .site-menu .drawer-menu-group:nth-child(4){grid-column:3;grid-row:1/span 2}
  .site-menu .drawer-menu-group:nth-child(3){grid-column:4;grid-row:1/span 2}
  .site-menu .drawer-menu-group:nth-child(5){grid-column:5;grid-row:1}
  .site-menu .drawer-menu-group:nth-child(6){grid-column:5;grid-row:2}
  .site-menu .drawer-menu-group__toggle{min-height:34px;pointer-events:none;font-size:16px;font-weight:600}
  .site-menu .drawer-menu-group__toggle small{display:none}
  .site-menu .drawer-menu-group__sign{display:none}
  .site-menu .drawer-menu-group__list{display:grid;padding:4px 0 0;border:0;gap:2px}
  .site-menu .drawer-menu-group__list[hidden]{display:grid;padding:4px 0 0;border:0;gap:2px}
  .site-menu .drawer-menu-group__list li+li{border:0}
  .site-menu .drawer-menu-group__list a{min-height:25px;padding:4px 0;background:transparent;font-size:13px;line-height:1.45}
  .site-menu .drawer-menu-group__list a::after{display:none}
  .site-menu .drawer-actions{grid-template-columns:repeat(5,minmax(0,1fr));width:var(--site-menu-content);margin:28px auto 0;border-radius:0}
  .site-menu .drawer-actions__cart{grid-column:auto;min-height:72px;font-size:13px}
  .site-menu .drawer-actions__cart img{display:none}
  .site-menu .drawer-actions__item{min-height:72px;padding:8px;border-top:0;border-left:1px solid #527ebd;font-size:12px}
  .site-menu .drawer-actions__item:nth-child(even){border-right:0}
  .site-menu .drawer-actions__item img{display:none}
  .site-menu .drawer-actions__icon{display:none}
  .home-page .section-spacing{padding-bottom:clamp(76px,8vw,124px)}
  .home-page .section-spacing:not(.pdt70){padding-top:clamp(76px,0vw,124px)}
  .home-page .common-section-title{margin-bottom:42px;font-size:22px;text-align:left;}
  .home-page .common-section-title--center{margin-bottom:42px;font-size:22px;text-align:left}
  .home-page .hero{width:100%;max-width:1920px;height:auto;margin-right:auto;margin-left:auto;overflow:hidden}
  .home-page .hero picture{display:block;width:100%}
  .home-page .hero__image{display:block;width:100%;height:auto}
  .home-page .home-intro{max-width:880px;padding:64px 0 8px}
  .home-page .home-intro p{font-size:clamp(14px,1.35vw,17px);line-height:2;        text-align: center;}
  .home-page .collection{padding-bottom:clamp(90px,9vw,140px)}
  .home-page .collection__grid{grid-template-columns:minmax(0,1fr);width:var(--home-content);gap:0}
  .home-page .collection-card{display:grid;grid-template-columns:minmax(0,43%) minmax(0,1fr);column-gap:8%;min-height:0;background:transparent}
  .home-page .collection-card:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(0,43%);margin-top:clamp(-70px,-9vw,-90px)}
  .home-page .collection-card:nth-child(odd):nth-child(n+3){margin-top:clamp(-70px,-9vw,-90px);}
  .home-page .collection-card:nth-child(even) .collection-card__visual{order:2}
  .home-page .collection-card:nth-child(even) .collection-card__body{order:1}
  .home-page .collection-card__visual{width:100%;max-width:550px;height:auto;min-height:0;margin-top:clamp(-20px,calc(166.67px - 13.8889vw),0px);aspect-ratio:494/598}
  .home-page .collection-card:first-child .collection-card__visual{margin-top:0}
  .home-page .collection-card__visual img{width:100%;height:100%;object-fit:cover}
  .home-page .collection-card__english{display:none}
  .home-page .collection-card__body{display:flex;min-width:0;margin-top:clamp(90px,10vw,150px);padding:0;align-self:start;flex-direction:column;justify-content:flex-start;text-align: center;}
  .home-page .collection-card:nth-child(even) .collection-card__body{margin-top:clamp(150px,16vw,230px)}
  .home-page .collection-card__pc-english{display:block;margin:0 0 10px;color:#225c8d;font-family:"Sterling Display","Times New Roman",serif;line-height:1;text-align:center}
  .home-page .collection-card__pc-english span{display:block;font-size:39px}
  .home-page .collection-card__pc-english small{display:block;margin-top:4px;font-size:27px}
  .home-page .collection-card__title{min-height:0;margin:0 0 25px;font-family:"Zen Old Mincho","Yu Mincho",serif;font-size:16px;font-weight:500;color: #225c8d;}
  .home-page .collection-card__description{display:block;margin:0 0 30px;font-size:clamp(13px,1.1vw,16px);line-height:1.9}
  .home-page .collection-card__rule{width:220px;height:.5px;margin:0 auto 30px;background:#225c8d}
  .home-page .collection-card .common-outline-button{max-width:310px;margin:0  auto;min-height:50px}
  .home-page .item-slider{width:var(--home-content);margin:0 auto}
  .home-page .item-slider__track{gap:18px;padding:0 54px;scroll-padding-inline:54px}
  .home-page .item-card{flex-basis:calc((100% - 36px)/3)}
  .home-page .item-card__visual{aspect-ratio:4/5}
  .home-page .item-slider__arrow{top:45%;color:#225c8d;text-shadow:none}
  .home-page .item-slider__arrow--prev{left:4px}
  .home-page .item-slider__arrow--next{right:4px}
  .home-page .item-tags{max-width:1180px;justify-content:center;margin-top:26px}
  .home-page .pickup-section{padding-bottom:100px;background-size:100% auto}
  .home-page .pickup-section__heading{display:block;width:var(--home-content);min-height:0;margin:0 auto 42px;padding-top:28px;text-align:left}
  .home-page .pickup-section__heading .common-section-title{display:block;width:100%;margin:0;text-align:left;padding-top: 90px;}
  .home-page .pickup-slider{width:var(--home-content);margin:0 auto;overflow:visible}
  .home-page .pickup-slider__track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;width:100%;padding:0;overflow:visible;scroll-snap-type:none}
  .home-page .pickup-card{min-width:0}
  .home-page .pickup-card__image{aspect-ratio:4/5}
  .home-page .pickup-card__caption{min-height:92px;padding:20px 10px;font-size:14px}
  .home-page .pickup-slider__controls{display:none}
  .home-page .recommend-tabs{width:var(--home-content);max-width:none}
  .home-page .recommend-panel{width:var(--home-content);max-width:none}
  .home-page .recommend-products{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
  .home-page .recommend-product__image{aspect-ratio:1/1}
  .home-page .brand-section{background-image: url("../../img/renewal/blue_bg.png");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;}
.home-page .brand-section .common-section-title{
  padding-top: 90px;
}

  .home-page .brand-section__intro{background: none;}
  .home-page .brand-slider{width:min(100%,1440px);margin:0 auto;overflow:hidden}
  .home-page .brand-slider__track{display:flex;gap:clamp(28px,3vw,42px);width:100%;padding:0 8%;overflow-x:auto;scroll-padding-inline:8%;scroll-snap-type:none}
  .home-page .brand-card{flex:0 0 clamp(260px,20vw,300px);min-width:0;scroll-snap-align:none}
  .home-page .brand-card__image{aspect-ratio:4/5}
  .home-page .brand-card__overlay b{font-size:clamp(26px,2.6vw,38px)}
  .home-page .brand-card__caption{min-height:70px;padding:16px 8px;font-size:16px}
  .home-page .brand-slider__arrow{display:grid;top:42%}
  .home-page .brand-slider__arrow--prev{left:20px}
  .home-page .brand-slider__arrow--next{right:20px}
  .home-page .brand-slider__pagination{display:flex}
  .home-page .brand-slider__progress{display:block;width:var(--home-content)}
  .home-page .shop-section > .content-width{width: var(--home-content);
  max-width: none;}
  .home-page .shop-grid{display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  max-width: none;
  margin-inline: 0;
  align-items: stretch;}
  .home-page .shop-card{display: flex;
  width: 100%;
  min-width: 0;
  margin: 0;
  flex-direction: column;
  grid-column: auto;}
  .home-page .shop-card--wide{display: flex;
  width: 100%;
  min-width: 0;
  margin: 0;
  flex-direction: column;
  grid-column: auto;}
  .home-page .shop-card__name{min-height: 58px;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  line-height: 1.5;
  text-align: center;}
  .home-page .shop-card__rule{width: 100%;
  margin: 14px 0 36px;}
  .home-page .shop-card__image{display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;}
  .home-page .shop-card__button {
        width: min(80%, 210px);
        min-height: 43px;
        margin: 30px auto 0;
        font-size: 14px;
    }
  .home-page .shop-section__reservation{display: flex;
  width: min(100%, 360px);
  min-height: 52px;
  margin: 70px auto 0;
  padding: 0 20px;

  align-items: center;
  justify-content: center;

  border-radius: 999px;

  color: #fff;
  font-size: 14px;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;}
  .home-page .howto-section>.content-width{width:var(--home-content);max-width:none}
  .home-page .staff-snap-section>.content-width{width:var(--home-content);max-width:none}
  .home-page .howto-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.online-store-section {
    padding: 68px 0 140px;
    background: #f7f7f7;
}

  .home-page .staff-snap-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .home-page .staff-snap-grid img{aspect-ratio:680/1227;object-fit:cover}
  .home-page .staff-snap-grid__pc-extra{display:block}
  .home-page .staff-snap-section .common-section-title::after{content:"WAKOスタッフのおすすめ";display:block;margin-top:12px;font-family:"Zen Kaku Gothic New",sans-serif;font-size:15px;font-weight:400;letter-spacing:.08em}
  .home-page .news-section .content-width{width:var(--home-content);max-width:none}
  .home-page .useful-tips-section .content-width{width:var(--home-content);max-width:none}
  .home-page .article-list{align-items:stretch;gap:28px;margin-top:0}
  .home-page .news-section .content-width{width: var(--home-content);
  max-width: none;}
  .home-page .useful-tips-section .content-width{width: var(--home-content);
  max-width: none;}
  .home-page .news-section .article-list{display: block;
  margin-top: 0;}
  .home-page .news-section .article-card{width: 100%;
  height: auto;
  border-bottom: 1px solid #ccc;}
  .home-page .news-section .article-card:first-child{border-top: 0;}
  .home-page .news-section .article-card > a{display: grid;
  grid-template-columns: 120px 130px minmax(0, 1fr);
  grid-template-rows: auto auto;
  grid-template-areas:
    "date image title"
    "date image excerpt";
  column-gap: 32px;
  row-gap: 10px;

  width: 100%;
  min-height: 180px;
  padding: 34px 0;

  align-items: start;}

  .home-page .news-section .article-card__image{grid-area: image;

  width: 130px;
  height: 130px;
  aspect-ratio: 1 / 1;

  object-fit: cover;}
  .home-page .news-section .article-card__body{display: contents;}
  .home-page .news-section .article-card time{grid-area: date;

  font-size: 17px;
  line-height: 1.4;
  white-space: nowrap;}
  .home-page .news-section .article-card b{grid-area: title;

  margin: 0;
  font-size: 18px;
  line-height: 1.6;}
  .home-page .news-section .article-card__excerpt{grid-area: excerpt;

  margin: 0;
  font-size: 16px;
  line-height: 1.8;}
  .home-page .news-section .article-section__button{margin-top: 70px;}
  .home-page .useful-tips-section .article-list{display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 36px;
  margin-top: 0;}
  .home-page .useful-tips-section .common-section-title{
    padding-top: 90px;
  }

  .home-page .useful-tips-section .article-card{height: 100%;}
  .home-page .useful-tips-section .article-card > a{height: 100%;}
  .home-page .useful-tips-section .article-card > a{display: flex;
  flex-direction: column;}
  .home-page .useful-tips-section .article-card__image{display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;}
  .home-page .useful-tips-section .article-card__body{display: flex;
  min-height: 125px;
  padding: 15px 0 0;

  flex-direction: column;
  justify-content: flex-start;}
  .home-page .useful-tips-section .article-card b{order: 1;

  margin: 0;
  font-size: 13px;
  line-height: 1.6;}
  .home-page .useful-tips-section .article-card__views{order: 2;
  margin-top: auto;
  font-size: 11px;}
  .home-page .useful-tips-section .article-section__button{margin-top: 50px;}
  .home-page .article-card b{font-size:clamp(14px,1.35vw,18px)}
  .home-page .article-section__button{margin-top:50px}
}
@media (min-width:768px) and (max-width:1023px){
  .site-header .site-header__logo{width:140px}
  .site-header .header-tools--right{gap:8px}
  .site-header .header-tool--pc-action{min-width:38px;font-size:10px}
  .site-header .header-action{min-width:58px;font-size:10px}
  .site-menu .drawer__nav{gap:18px 20px}
  .site-menu .drawer-menu-group__toggle{font-size:14px}
  .site-menu .drawer-menu-group__list a{font-size:11px}
}
@media (min-width:1024px){
  .home-page .item-card{flex-basis:calc((100% - 54px)/4)}
  .home-page .staff-snap-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (min-width:1280px){
  .home-page .item-card{flex-basis:calc((100% - 72px)/5)}
  .home-page .staff-snap-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media (min-width:1440px){
  .home-page .staff-snap-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
}

/* 統合したPC表示 */
@media (min-width:768px){
  .announcement{min-height:46px}
  .header-main{min-height:112px;grid-template-columns:minmax(200px,1fr) 170px minmax(200px,1fr)}
  .site-header__logo img{width:150px;height:auto}
  .header-tools--left{justify-self:start;gap:12px}
  .header-tools--right{justify-self:end;gap:12px}
  .header-tool--pill{min-width:110px;min-height:36px}
  .category-nav{min-height:62px;justify-content:center;gap:0}
  .category-nav a{flex:1 1 0;min-width:0;padding:0 15px;text-align:center}
  .site-footer__inner{padding-top:90px}
  .footer-nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:46px 42px}
  .category-nav a + a::before{background: none;}
  .item-tags a {
    font-size: 14px;
}
}
@media (min-width:1024px){
  .header-main{grid-template-columns:minmax(280px,1fr) 220px minmax(280px,1fr)}
  .site-header__logo img{width:180px}
  .header-tools--left{gap:22px}
  .header-tool--pill{min-width:132px}
}
@media (min-width:1440px){
  .site-header{max-width:none}
}

/* TOPページ：スマホヘッダー */
@media (max-width:767px){
  .site-header--renewal .header-main{
    width:calc(100% - 20px);
    min-height:76px;
    margin-inline:auto;
    grid-template-columns:1fr auto 1fr;
  }

  .site-header--renewal .site-header__logo{
    position:absolute;
    top:50%;
    left:50%;
    width:92px;
    margin:0;
    transform:translate(-50%,-50%);
  }

  .site-header--renewal .site-header__logo img{
    width:100%;
    height:auto;
  }

  .site-header--renewal .header-tools--left{
    grid-column:1;
    gap:8px;
  }

  .site-header--renewal .header-tools--left > .header-tool[href="#search"],
  .site-header--renewal .header-tools--left > .header-tool[href$="/recently-viewed/"]{
    display:none;
  }

  .site-header--renewal .header-tool--favorite{
    display:grid;
  }

  .site-header--renewal .header-tools--left > .header-tool:not(.header-tool--menu) img{
    width:22px;
    max-height:22px;
    transform:none;
  }

  .site-header--renewal .header-tools--right{
    display:flex;
    grid-column:3;
    justify-self:end;
    margin:0;
  }

  .site-header--renewal .header-tools--right > *{
    display:none;
  }

  .site-header--renewal .header-tools--right > .header-action[href="https://wako-jewelry.com/reservation"]{
    display:flex;
    min-width:88px;
    min-height:30px;
    padding:3px 12px;
    border:1px solid #111;
    border-radius:999px;
    background:#fff;
    font-size:12px;
    text-align:center;
  }

  .site-header--renewal .category-nav{
    width:100%;
    min-height:44px;
    margin:0;
    padding-inline:4px;
    justify-content:center;
    overflow:hidden;
  }

  .site-header--renewal .category-nav a{
    flex:1 1 25%;
    min-width:0;
    padding:0 clamp(8px,2.7vw,12px);
    font-size:clamp(10px,3vw,12px);
    letter-spacing:0;
  }

  .site-header--renewal .category-nav a + a::before{
    height:20px;
    background:#666;
  }
}

@media (max-width:390px){
  .site-header--renewal .category-nav a{
    font-size:9px;
  }
}

/* TOPページ：PCグローバルナビ／メガメニュー／PICK UPスライダー */
@media (min-width:768px){
  .site-header--renewal .announcement{
    min-height:40px;
    background:#f4f4f4;
  }

  .site-header--renewal .announcement__arrow{
    height:40px;
  }

  .site-header--renewal .header-main{
    width:min(calc(100% - 64px),1920px);
    max-width:1920px;
    min-height:78px;
    margin-inline:auto;
    grid-template-columns:1fr auto 1fr;
  }

  .site-header--renewal .site-header__logo{
    top:50%;
    left:50%;
    width:132px;
    transform:translate(-50%,-50%);
  }

  .site-header--renewal .site-header__logo img{
    width:132px;
    max-width:none;
    height:auto;
  }

  .site-header--renewal .header-tools--left{
    gap:0;
  }

  .site-header--renewal .header-tool--menu{
    width:44px;
    gap:5px;
  }

  .site-header--renewal .header-tool--menu .menu-icon{
    width:30px;
    height:18px;
  }

  .site-header--renewal .header-tool--menu .menu-icon__line{
    width:30px;
  }

  .site-header--renewal .header-tool--menu .menu-icon__line:first-child{
    top:2px;
  }

  .site-header--renewal .header-tool--menu .menu-icon__line:last-child{
    top:14px;
    width:22px;
  }

  .site-header--renewal .header-tool--menu > span:last-child{
    font-size:10px;
  }

  .site-header--renewal .header-tools--right{
    gap:18px;
  }

  .site-header--renewal .header-tools--right > .header-tool[href="#search"]{
    display:none;
  }

  .site-header--renewal .header-tools--right > .header-tool--pc-favorite{
    display:flex;
  }

  .site-header--renewal .header-tool--pc-action{
    min-width:52px;
    gap:2px;
    font-size:10px;
    line-height:1.2;
  }

  .site-header--renewal .header-tool--pc-action img{
    width:20px;
    height:30px;
    max-height:30px;
    object-fit:contain;
  }

  .site-header--renewal .category-nav{
    position:static;
    width:min(calc(100% - 64px),1100px);
    max-width:1100px;
    min-height:44px;
    margin-inline:auto;
    align-items:stretch;
    gap:0;
    overflow:visible;
  }

  .site-header--renewal .category-nav > a,
  .site-header--renewal .category-nav__item{
    display:flex;
    height:44px;
    min-width:0;
    flex:1 1 0;
    align-items:center;
    justify-content:center;
  }

  .site-header--renewal .category-nav > a,
  .site-header--renewal .category-nav__item > a{
    padding:0 8px;
    font-size:clamp(10px,.9vw,14px);
    white-space:nowrap;
  }

  .site-header--renewal .category-nav__item{
    position:static;
  }

  .site-header--renewal .category-nav__item > a{
    position:relative;
    display:flex;
    width:100%;
    height:100%;
    align-items:center;
    justify-content:center;
  }

  .site-header--renewal .category-nav__item > a::after{
    position:absolute;
    right:12px;
    bottom:7px;
    left:12px;
    height:1px;
    background:#111;
    content:"";
    opacity:0;
    transform:scaleX(.4);
    transition:opacity .2s ease,transform .2s ease;
  }

  .site-header--renewal .category-nav__item:hover > a::after,
  .site-header--renewal .category-nav__item:focus-within > a::after{
    opacity:1;
    transform:scaleX(1);
  }

  .site-header--renewal .header-mega-menu{
    position:absolute;
    z-index:85;
    top:100%;
    left:0;
    width:100%;
    border-top:1px solid #ddd;
    border-bottom:1px solid #bbb;
    background:#fff;
    opacity:0;
    pointer-events:none;
    transform:translateY(-4px);
    transition:opacity .18s ease,transform .18s ease;
    visibility:hidden;
  }

  .site-header--renewal .category-nav__item:hover > .header-mega-menu,
  .site-header--renewal .category-nav__item:focus-within > .header-mega-menu{
    opacity:1;
    pointer-events:auto;
    transform:translateY(0);
    visibility:visible;
  }

  .site-header--renewal .header-mega-menu__inner{
    display:grid;
    width:min(calc(100% - 64px),1100px);
    max-width:1100px;
    min-height:50px;
    margin:0 auto;
    grid-template-columns:repeat(5,minmax(0,1fr));
    align-items:center;
  }

  .site-header--renewal .header-mega-menu__inner a{
    display:flex;
    min-height:50px;
    padding:8px 14px;
    align-items:center;
    justify-content:center;
    font-size:12px;
    line-height:1.6;
    text-align:center;
  }

  .site-header--renewal .header-mega-menu--pickup .header-mega-menu__inner a{
    min-height:50px;
  }

  .home-page .pickup-section{
    padding-bottom:100px;
  }

  .home-page .pickup-section__heading{
    display:grid;
    width:var(--home-content);
    min-height:0;
    margin:0 auto 42px;
    padding-top:0;
    place-items:center;
    text-align:center;
  }

  .home-page .pickup-section__heading .common-section-title{
    width:100%;
    margin:0;
    padding-top:0;
    text-align:center;
  }

  .home-page .pickup-slider{
    width:var(--home-content);
    margin:0 auto;
    padding:0 54px;
    overflow:visible;
  }

  .home-page .pickup-slider__track{
    display:flex;
    gap:22px;
    width:100%;
    padding:0;
    overflow-x:auto;
    scroll-padding-inline:0;
    scroll-snap-type:x mandatory;
  }

  .home-page .pickup-card{
    min-width:0;
    flex:0 0 calc((100% - 44px)/3);
    scroll-snap-align:start;
  }

  .home-page .pickup-card__image{
    aspect-ratio:16/9;
  }

  .home-page .pickup-card__caption{
    min-height:64px;
    padding:18px 8px 8px;
    font-size:14px;
  }

  .home-page .pickup-slider__controls{
    display:block;
  }

  .home-page .pickup-slider__arrow{
    top:calc(50% - 58px);
  }
}

@media (max-width: 767px) {
  .home-page .brand-intro p {
    text-align: center;
  }
}

/* 共通フッター：基本情報とお問い合わせ導線 */
.site-footer .site-footer__inner.content-width {
  width: min(calc(100% - 32px), 1920px);
  max-width: 1920px;
}

.site-footer__logo {
  width: 193px;
  margin: 0 auto 18px;
}

.site-footer__logo img {
  display: block;
  width: 100%;
  height: auto;
      max-width: 150px;
    text-align: center;
    margin: 0 auto;
}

.site-footer__address {
  max-width: 500px;
  margin: 28px auto 44px;
  font-size: 15px;
  line-height: 1.45;
}

.site-footer__address dl {
  margin: 0;
}

.site-footer__address dl > div {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 12px;
  margin-bottom: 8px;
}

.site-footer__address dt,
.site-footer__address dd {
  margin: 0;
}

.site-footer__address a {
  color: inherit;
  text-decoration: none;
}

.site-footer__company {
  display: block;
  width: min(286px, 86%);
  margin: 34px auto 0;
  padding: 11px 18px;
  border: 1px solid #222;
  border-radius: 999px;
  background: #fff;
  text-align: center;
}

.footer-information {
  margin-bottom: 48px;
}

.footer-information h2 {
  margin: 0 0 26px;
  font-family: Arial, sans-serif;
  font-size: 22px;
  font-weight: 500;
  text-align: center;
}

.footer-information__links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.footer-information__links > a {
  display: flex;
  min-height: 72px;
  padding: 10px 8px;
  border: 1px solid #222;
  color: #111;
  font-size: 13px;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  align-items: center;
  flex-direction: column;
  justify-content: center;
}

.footer-information__links strong {
  font-weight: 500;
}

.footer-information__links span {
  display: block;
  font-size: 17px;
}

.footer-information__links .footer-information__reservation {
  border-color: #76a7db;
  background: #76a7db;
  color: #fff;
}

.footer-information__links .footer-information__shop {
  border-color: #000;
  background: #000;
  color: #fff;
}

.site-footer .footer-nav {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.site-footer__description {
  display: block !important;
}

@media (max-width: 767px) {
  .site-footer--renewal .footer-shop-socials {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    margin: 0 auto 44px;
  }

  .site-footer--renewal .footer-shop-socials__shop h2 {
    margin: 0 0 8px;
    text-align: center;
  }

  .site-footer--renewal .footer-shop-socials__links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
  }

  .site-footer--renewal .footer-shop-socials__links a,
  .site-footer--renewal .footer-shop-socials__links img {
    display: block;
    width: 25px;
    height: 25px;
  }
}


@media (min-width: 768px) {
  .site-footer.site-footer--renewal {
    margin-top: 120px;
  }

  .site-footer.site-footer--renewal .site-footer__inner.content-width {
    display: grid;
    width: min(calc(100% - 72px), 1920px);
    max-width: 1920px;
    padding-top: 72px;
    padding-bottom: 32px;
    grid-template-columns: minmax(0, 1fr) minmax(270px, 340px);
    grid-template-rows: auto auto auto;
    column-gap: clamp(28px, 2.5vw, 52px);
    row-gap: 0;
    align-items: start;
  }

  .site-footer--renewal .site-footer__logo {
    width: 150px;
    margin: 0 auto 12px;
    grid-column: 1 / -1;
    grid-row: 1;
  }

  .site-footer.site-footer--renewal .footer-social,
  .site-footer--renewal .site-footer__address,
  .site-footer--renewal .footer-information {
    display: none;
  }

  .site-footer--renewal .footer-shop-socials {
    display: grid;
    width: min(100%, 310px);
    margin: 0 auto 56px;
    grid-column: 1 / -1;
    grid-row: 2;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px;
  }

  .site-footer--renewal .footer-shop-socials__shop h2 {
    margin: 0 0 8px;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 12px;
    font-weight: 400;
    text-align: center;
  }

  .site-footer--renewal .footer-shop-socials__links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
  }

  .site-footer--renewal .footer-shop-socials__links a,
  .site-footer--renewal .footer-shop-socials__links img {
    display: block;
    width: 25px;
    height: 25px;
  }

  .site-footer.site-footer--renewal .footer-nav {
    display: grid;
    margin: 0;
    grid-column: 1;
    grid-row: 3;
    grid-template-columns: .75fr 1.35fr 1.15fr .85fr;
    grid-template-rows: auto auto;
    gap: 34px clamp(22px, 2.2vw, 44px);
  }

  .site-footer.site-footer--renewal .footer-nav__group:nth-child(1) {
    grid-column: 1;
    grid-row: 1;
  }

  .site-footer.site-footer--renewal .footer-nav__group:nth-child(2) {
    grid-column: 1;
    grid-row: 2;
  }

  .site-footer.site-footer--renewal .footer-nav__group:nth-child(3) {
    grid-column: 2;
    grid-row: 1;
  }

  .site-footer.site-footer--renewal .footer-nav__group:nth-child(4) {
    grid-column: 2;
    grid-row: 2;
  }

  .site-footer.site-footer--renewal .footer-nav__group:nth-child(5) {
    grid-column: 3;
    grid-row: 1;
  }

  .site-footer.site-footer--renewal .footer-nav__group:nth-child(6) {
    grid-column: 3;
    grid-row: 2;
  }

  .site-footer.site-footer--renewal .footer-nav__group:nth-child(7) {
    grid-column: 4;
    grid-row: 1 / span 2;
  }

  .site-footer.site-footer--renewal .footer-nav__group h2 {
    margin: 0 0 8px;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 15px;
    font-weight: 700;
  }

  .site-footer.site-footer--renewal .footer-nav__group a {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.7;
  }

  .site-footer--renewal .site-footer__description {
    display: block;
    margin: 0;
    padding-left: clamp(24px, 2.2vw, 40px);
    border-left: 1px solid rgb(255 255 255 / 85%);
    font-size: 12px;
    line-height: 1.55;
    grid-column: 2;
    grid-row: 3;
  }
}

/* お問い合わせ・採用・来店予約：フォーム離脱防止用の簡易ヘッダー／フッター */
.form-flow-page .site-header {
  position: relative;
}

.form-flow-page .site-header .announcement,
.form-flow-page .site-header .header-tools,
.form-flow-page .site-header .drawer,
.form-flow-page .site-header .category-nav {
  display: none;
}

.form-flow-page .site-header .header-main {
  display: flex;
  width: 100%;
  min-height: 92px;
  padding: 18px 20px;
  align-items: center;
  justify-content: center;
}

.form-flow-page .site-header .site-header__logo {
  position: static;
  display: block;
  width: 132px;
  margin: 0;
  transform: none;
}

.form-flow-page .site-header .site-header__logo img {
  width: 100%;
  max-width: none;
  height: auto;
}

.form-flow-page .site-footer.site-footer--renewal {
  margin-top: 64px;
  background: #fff;
}

.form-flow-page .site-footer.site-footer--renewal .site-footer__inner.content-width {
  display: flex;
  width: 100%;
  max-width: none;
  padding: 36px 20px 30px;
  align-items: center;
  flex-direction: column;
  justify-content: center;
}

.form-flow-page .site-footer .site-footer__inner > :not(.site-footer__logo) {
  display: none;
}

.form-flow-page .site-footer .site-footer__logo {
  display: block;
  width: 132px;
  margin: 0;
}

.form-flow-page .site-footer .site-footer__logo img {
  width: 100%;
  max-width: none;
  height: auto;
}

body.contact-page .site-footer .site-footer__logo,
body.reservation-page .site-footer .site-footer__logo {
  margin-bottom: 48px;
}

.form-flow-page .site-footer .site-footer__copyright {
  padding: 14px 12px;
}

@media (max-width: 767px) {
  .form-flow-page .site-header .header-main {
    min-height: 78px;
    padding: 14px 20px;
  }

  .form-flow-page .site-header .site-header__logo,
  .form-flow-page .site-footer .site-footer__logo {
    width: 110px;
  }

  .form-flow-page .site-footer.site-footer--renewal {
    margin-top: 48px;
  }

  .form-flow-page .site-footer.site-footer--renewal .site-footer__inner.content-width {
    padding: 28px 20px 24px;
  }

  body.contact-page .site-footer .site-footer__logo,
  body.reservation-page .site-footer .site-footer__logo {
    margin-bottom: 30px;
  }
}

.home-page .topics-section__heading {
  width: 100%;
  text-align: center;
}

.home-page .topics-section__heading .common-section-title {
  width: 100%;
  margin: 0;
  padding: 0;
  text-align: center;
}

.home-page .pickup-section {
  padding: 70px 0 50px;
  background: url("../../img/renewal/blue_bg.png") center top / cover no-repeat;
}

.home-page .pickup-section .common-section-title {
  margin: 0;
  color: #fff;
}

.home-page .pickup-slider {
  position: relative;
  margin-top: 24px;
  overflow: hidden;
  background: transparent;
}

.home-page .pickup-slider__track {
  display: flex;
  gap: 16px;
  width: 100%;
  padding: 0 14%;
  overflow-x: auto;
  background: transparent;
  scroll-behavior: smooth;
  scroll-padding-inline: 14%;
  scroll-snap-type: none;
  scrollbar-width: none;
  touch-action: pan-x pan-y;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-inline: contain;
}

.home-page .pickup-slider__track::-webkit-scrollbar {
  display: none;
}

.home-page .pickup-card {
  min-width: 0;
  flex: 0 0 72%;
  background: transparent;
  scroll-snap-align: none;
  text-align: center;
}

.home-page .pickup-card__image {
  position: relative;
  display: block;
  aspect-ratio: 320 / 386;
  overflow: hidden;
  background: #e8e8e8;
}

.home-page .pickup-card__overlay {
  position: absolute;
  top: 11%;
  right: 7%;
  left: 7%;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  color: #225c8d;
  text-align: left;
  text-shadow:
    0 1px 2px rgba(255, 255, 255, .8),
    0 0 5px rgba(255, 255, 255, .45);
}

.home-page .pickup-card__overlay b {
  font-family: "Sterling Display", "Times New Roman", serif;
  font-size: 28px;
  font-weight: 400;
  line-height: .9;
}

.home-page .pickup-card__overlay small {
  margin-top: 12px;
  font-size: 13px;
  line-height: 1.4;
}

.home-page .pickup-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-page .pickup-card__caption {
  display: block;
  min-height: 78px;
  padding: 17px 4px 7px;
  font-size: 13px;
  line-height: 1.7;
  text-align: center;
}

.home-page .pickup-slider__arrow {
  position: absolute;
  top: 42%;
  z-index: 3;
  display: grid;
  width: 30px;
  height: 54px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff;
  font-family: Arial, sans-serif;
  font-size: 42px;
  font-weight: 200;
  line-height: 1;
  place-items: center;
  transform: translateY(-50%);
  cursor: pointer;
  text-shadow: 0 1px 5px rgb(0 0 0 / 25%);
}

.home-page .pickup-slider__arrow--prev {
  left: calc(5% - 15px);
}

.home-page .pickup-slider__arrow--next {
  right: calc(5% - 15px);
}

.home-page .pickup-slider__pagination {
  display: flex;
  margin-top: 17px;
  justify-content: center;
  gap: 12px;
}

.home-page .pickup-slider__dot {
  width: 9px;
  height: 9px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #ddd;
  cursor: pointer;
}

.home-page .pickup-slider__dot.is-active {
  background: #006a9e;
}

.home-page .pickup-slider__progress {
  position: relative;
  width: var(--content-width);
  height: 2px;
  margin: 37px auto 0;
  background: #f0f0f0;
}

.home-page .pickup-slider__progress-bar {
  position: absolute;
  inset: 0 auto 0 0;
  width: calc(100% / 8);
  background: #006a9e;
  transform: translateX(0);
  will-change: transform;
}

@media (min-width: 768px) {
  .home-page .pickup-section {
    padding: 90px 0 100px;
  }

  .home-page .pickup-slider {
    width: min(100%, 1440px);
    margin: 42px auto 0;
    overflow: hidden;
  }

  .home-page .pickup-slider__track {
    gap: clamp(28px, 3vw, 42px);
    width: 100%;
    padding: 0 8%;
    overflow-x: auto;
    scroll-padding-inline: 8%;
    scroll-snap-type: none;
    cursor: grab;
    user-select: none;
  }

  .home-page .pickup-slider__track.is-dragging {
    scroll-behavior: auto;
    cursor: grabbing;
  }

  .home-page .pickup-slider__track img,
  .home-page .pickup-slider__track a {
    -webkit-user-drag: none;
  }

  .home-page .pickup-card {
    min-width: 0;
    flex: 0 0 clamp(260px, 20vw, 300px);
    scroll-snap-align: none;
  }

  .home-page .pickup-card__image {
    aspect-ratio: 4 / 5;
  }

  .home-page .pickup-card__overlay b {
    font-size: 35px;
  }

  .home-page .pickup-card__overlay small {
    font-size: 15px;
  }

  .home-page .pickup-card__caption {
    min-height: 70px;
    padding: 16px 8px;
    font-size: 16px;
  }

  .home-page .pickup-slider__arrow {
    top: 42%;
  }

  .home-page .pickup-slider__arrow--prev {
    left: 20px;
  }

  .home-page .pickup-slider__arrow--next {
    right: 20px;
  }

  .home-page .pickup-slider__progress {
    width: var(--home-content);
  }

  .home-page .online-store-section__title {
    font-size: 22px;
    white-space: nowrap;
  }

  .home-page .online-store-card__title {
    white-space: nowrap;    min-height: 41px;
  }

  .home-page .online-store-card__title br {
    display: none;
  }

  .home-page .home-articles {
    display: grid;
    width: var(--home-content);
    margin: 90px auto 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 60px;
    align-items: start;
  }

  .home-page .home-articles .news-section,
  .home-page .home-articles .useful-tips-section {
    width: 100%;
    margin: 0;
    padding: 0;
  }

  .home-page .home-articles .content-width {
    width: 100%;
    max-width: none;
    margin: 0;
  }

  .home-page .home-articles .common-section-title {
    margin: 0 0 24px;
    padding: 0;
    font-size: 22px;
    text-align: left;
  }

  .home-page .home-articles .article-list {
    display: block;
    margin: 0;
  }

  .home-page .home-articles .article-card {
    width: 100%;
    height: auto;
    border: 0;
  }

  .home-page .home-articles .article-card > a {
    display: grid;
    width: 100%;
    min-height: 106px;
    padding: 0 0 14px;
    grid-template-columns: 90px minmax(0, 1fr);
    grid-template-rows: auto;
    grid-template-areas: none;
    gap: 16px;
    align-items: start;
  }

  .home-page .home-articles .article-card__image {
    display: block;
    width: 90px;
    height: 90px;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    grid-area: auto;
  }

  .home-page .home-articles .article-card__body {
    display: flex;
    min-width: 0;
    min-height: 90px;
    padding: 0;
    flex-direction: column;
    justify-content: flex-start;
  }

  .home-page .home-articles .article-card time {
    margin: 0 0 5px;
    font-size: 14px;
    line-height: 1.3;
    white-space: nowrap;
    grid-area: auto;
  }

  .home-page .home-articles .article-card b {
    order: initial;
    margin: 0;
    font-size: 18px;
    line-height: 1.45;
    grid-area: auto;
  }

  .home-page .home-articles .article-card__excerpt {
    margin: 6px 0 0;
    font-size: 16px;
    line-height: 1.45;
    grid-area: auto;
  }

  .home-page .home-articles .article-card__views {
    order: initial;
    width: max-content;
    margin: 0 0 10px;
    padding: 5px 9px;
    font-size: 10px;
    line-height: 1.2;
  }

  .home-page .home-articles .article-section__button {
    width: min(220px, 80%);
    margin: 30px auto 0;
  }
}
