@charset "UTF-8";
/*
Theme Name: TUPS Store
Theme URI: https://store.tupsjapan.com/
Description: TUPS OFFICIAL STORE（B2C）専用の子テーマ。ノーコードビルダーに依存せず PHP/SCSS で構築する。
Author: FREEBE
Template: hello-elementor
Version: 0.2.0
Text Domain: tups-store
*/
body {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴシック", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: -0.03em;
  color: #333333;
  background: #ffffff;
  line-break: strict;
}
@media (max-width: 1024px) {
  body {
    font-size: 14.5px;
  }
}
@media (max-width: 767px) {
  body {
    font-size: 13px;
  }
}

h1, h2, h3, h4, h5, h6 {
  color: #000000;
  font-weight: 500;
  line-height: 1.2;
  margin: 0 0 16px;
}

h1 {
  font-size: 2rem;
}
@media (max-width: 1024px) {
  h1 {
    font-size: 1.7rem;
  }
}
@media (max-width: 767px) {
  h1 {
    font-size: 1.5rem;
  }
}

h2 {
  font-size: 1.5rem;
}
@media (max-width: 1024px) {
  h2 {
    font-size: 1.35rem;
  }
}
@media (max-width: 767px) {
  h2 {
    font-size: 1.2rem;
  }
}

h3 {
  font-size: 1.1rem;
}
@media (max-width: 1024px) {
  h3 {
    font-size: 1.05rem;
  }
}
@media (max-width: 767px) {
  h3 {
    font-size: 1rem;
  }
}

p {
  margin: 0 0 16px;
}

p:last-child {
  margin-bottom: 0;
}

a {
  color: #000000;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
a:hover {
  opacity: 0.6;
}

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

.tups-en,
.quantity input {
  font-family: "Inter", "Noto Sans JP", sans-serif;
  font-feature-settings: "tnum" 1;
}

.tups-container {
  width: 100%;
  max-width: 1280px;
  margin-inline: auto;
  padding-inline: 32px;
}
@media (max-width: 767px) {
  .tups-container {
    padding-inline: 30px;
  }
}

.tups-container--narrow {
  max-width: 880px;
}

.tups-button {
  display: inline-block;
  font-family: "Inter", "Noto Sans JP", sans-serif;
  font-size: 0.8rem;
  font-weight: 500;
  line-height: 1;
  padding: 14px 32px;
  border: 1px solid #000000;
  border-radius: 0;
  background: transparent;
  color: #000000;
  cursor: pointer;
  text-align: center;
  transition: background-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}
.tups-button:hover {
  background: #000000;
  color: #ffffff;
  opacity: 1;
}
@media (max-width: 767px) {
  .tups-button {
    padding: 12px 24px;
  }
}

.tups-button--filled {
  display: inline-block;
  font-family: "Inter", "Noto Sans JP", sans-serif;
  font-size: 0.8rem;
  font-weight: 500;
  line-height: 1;
  padding: 14px 32px;
  border: 1px solid #000000;
  border-radius: 0;
  background: transparent;
  color: #000000;
  cursor: pointer;
  text-align: center;
  transition: background-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}
.tups-button--filled:hover {
  background: #000000;
  color: #ffffff;
  opacity: 1;
}
@media (max-width: 767px) {
  .tups-button--filled {
    padding: 12px 24px;
  }
}
.tups-button--filled {
  background: #000000;
  color: #ffffff;
}
.tups-button--filled:hover {
  background: transparent;
  color: #000000;
}

/** 主要な動作（カートに入れる・ご購入手続きへ・注文する） */
/** 副次の動作（クーポンを使う・カートを更新する・買い物を続ける） */
/** 入力欄。高さと枠をボタンに揃える */
/** 入力欄の見出し */
/** ページの見出し（商品一覧と同じ組み） */
.site-main {
  width: 1100px !important;
  max-width: 91.8% !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}

ul.products::before, ul.products::after,
.woocommerce-cart-form::before,
.woocommerce-cart-form::after,
.cart-collaterals::before,
.cart-collaterals::after {
  content: none !important;
  display: none !important;
}

@media (max-width: 767px) {
  input[type=text],
  input[type=email],
  input[type=tel],
  input[type=password],
  input[type=number],
  input[type=search],
  input[type=url],
  input[type=date],
  select,
  textarea,
  .select2-container .select2-selection__rendered {
    font-size: 16px !important;
  }
}
:focus-visible {
  outline: 2px solid #000000;
  outline-offset: 2px;
}

[tabindex="-1"]:focus-visible {
  outline: none;
}

/*
Theme Name: TUPS Store
Theme URI: https://store.tupsjapan.com/
Description: TUPS OFFICIAL STORE（B2C）専用の子テーマ。ノーコードビルダーに依存せず PHP/SCSS で構築する。
Author: FREEBE
Template: hello-elementor
Version: 0.2.0
Text Domain: tups-store
*/
.tups-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 80px;
  z-index: 60;
  background: #ffffff;
  border-radius: 0;
}
@media (min-width: 1680px) {
  .tups-header {
    height: 96px;
  }
}
@media (max-width: 767px) {
  .tups-header {
    height: 64px;
  }
}
.tups-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  width: 1100px;
  max-width: 91.8%;
  margin-inline: auto;
  padding: 0;
}
.tups-header__logo {
  flex: 0 0 auto;
  line-height: 0;
}
.tups-header__logo img {
  display: block;
  width: 87px;
  height: auto;
}
@media (max-width: 767px) {
  .tups-header__logo img {
    width: 80px;
  }
}
.tups-header__nav {
  display: flex;
  align-items: center;
  gap: 22px;
}
.tups-header__nav ul {
  display: flex;
  align-items: center;
  gap: 22px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.tups-header__nav a {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  color: #000000;
  text-decoration: none;
}
.tups-header__nav a[aria-current=page] {
  color: #999999;
}
.tups-header__nav a:hover {
  opacity: 0.6;
}
@media (max-width: 1279px) {
  .tups-header__nav {
    display: none;
  }
}
.tups-header__actions {
  gap: 24px !important;
}
.tups-header__actions a {
  position: relative;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
}
.tups-header__primary {
  gap: 5px !important;
}
.tups-header__primary a {
  flex-direction: row;
  align-items: center;
  gap: 6px;
  height: 46px;
  padding: 0 14px;
  border: 1px solid #000000;
  font-size: clamp(0.6875rem, 0.6655rem + 0.0939vw, 0.75rem);
  font-weight: 500;
  white-space: nowrap;
}
.tups-header__primary a:hover {
  background: #000000;
  color: #ffffff;
  opacity: 1;
}
.tups-header__toggle {
  display: none;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #000000;
  cursor: pointer;
}
@media (max-width: 1279px) {
  .tups-header__toggle {
    display: flex;
  }
}
.tups-header__toggle-label {
  font-family: "Inter", "Noto Sans JP", sans-serif;
  font-size: clamp(0.625rem, 0.625rem + 0vw, 0.625rem);
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1;
}
.tups-header__toggle:hover, .tups-header__toggle:focus, .tups-header__toggle:active {
  background: transparent;
  color: #000000;
}
.tups-header__toggle[aria-expanded=true] .tups-bars span:nth-child(1) {
  transform: translateY(5px) rotate(45deg);
}
.tups-header__toggle[aria-expanded=true] .tups-bars span:nth-child(2) {
  opacity: 0;
}
.tups-header__toggle[aria-expanded=true] .tups-bars span:nth-child(3) {
  transform: translateY(-5px) rotate(-45deg);
}

.tups-bars {
  display: block;
  width: 22px;
}
.tups-bars span {
  display: block;
  height: 1px;
  margin: 4px 0;
  background: currentColor;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.tups-en-label {
  font-family: "Inter", "Noto Sans JP", sans-serif;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.2;
  white-space: nowrap;
}

.tups-ja-label {
  font-size: clamp(0.625rem, 0.625rem + 0vw, 0.625rem);
  font-weight: 500;
  color: #333333;
  line-height: 1.2;
  white-space: nowrap;
}

.tups-cart-count {
  position: absolute;
  top: -6px;
  right: -8px;
  display: inline-block;
  min-width: 16px;
  height: 16px;
  line-height: 16px;
  padding: 0 4px;
  border-radius: 8px;
  background: #000000;
  color: #ffffff;
  font-family: "Inter", "Noto Sans JP", sans-serif;
  font-size: 10px;
  text-align: center;
}

.tups-action-icon {
  display: block;
  flex: 0 0 auto;
}

.tups-lock {
  flex: 0 0 auto;
}

.tups-header-space {
  height: 80px;
}
@media (min-width: 1680px) {
  .tups-header-space {
    height: 96px;
  }
}
@media (max-width: 767px) {
  .tups-header-space {
    height: 64px;
  }
}

.tups-drawer {
  display: none;
  position: fixed;
  inset: 80px 0 0;
  z-index: 55;
  overflow-y: auto;
  padding: 24px 0 40px;
  background: #ffffff;
}
@media (min-width: 1680px) {
  .tups-drawer {
    inset: 96px 0 0;
  }
}
@media (max-width: 767px) {
  .tups-drawer {
    inset: 64px 0 0;
  }
}
.tups-drawer.is-open {
  display: block;
}
.tups-drawer nav {
  width: 1100px;
  max-width: 91.8%;
  margin-inline: auto;
}
.tups-drawer__nav {
  list-style: none;
  margin: 0;
  padding: 0;
}
.tups-drawer__nav li + li {
  border-top: 1px solid #000000;
}
.tups-drawer__nav a {
  display: flex;
  align-items: baseline;
  padding: 14px 0;
  color: #000000;
  text-decoration: none;
}
.tups-drawer__nav a[aria-current=page] {
  color: #999999;
}
.tups-drawer__primary {
  list-style: none;
  margin: 32px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.tups-drawer__primary a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: 12px 16px;
  border: 1px solid #000000;
  font-size: clamp(0.6875rem, 0.6655rem + 0.0939vw, 0.75rem);
  font-weight: 500;
  color: #000000;
  text-decoration: none;
  text-align: center;
}

.tups-drawer__nav .tups-labels,
.tups-footer__columns .tups-labels {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  min-width: 0;
}

.tups-header__nav .tups-labels {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
}

.tups-main {
  min-height: 50vh;
}

.tups-footer {
  padding-block: 140px;
  background: #ffffff;
}
@media (max-width: 767px) {
  .tups-footer {
    padding-block: 40px 24px;
  }
}
.tups-footer__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 56px;
  width: 1100px;
  max-width: 91.8%;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .tups-footer__inner {
    gap: 32px;
  }
}
.tups-footer__brand {
  line-height: 0;
}
.tups-footer__brand img {
  display: block;
  width: 120px;
  height: auto;
}
@media (max-width: 767px) {
  .tups-footer__brand img {
    width: 117px;
  }
}
.tups-footer__columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 88px;
  width: 100%;
  max-width: 1012px;
  margin-inline: auto;
}
.tups-footer__columns ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.tups-footer__columns a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  height: 48px;
  border-bottom: 1px solid #000000;
  color: #000000;
  text-decoration: none;
}
.tups-footer__columns a:hover {
  opacity: 0.6;
}
.tups-footer__columns a[aria-current=page] {
  color: #999999;
}
@media (max-width: 767px) {
  .tups-footer__columns {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .tups-footer__columns a {
    height: 45px;
  }
}
.tups-footer__salon {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}
.tups-footer__salon a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 320px;
  max-width: 100%;
  min-height: 54px;
  gap: 8px;
  padding: 8px 16px;
  border: 1px solid #000000;
  font-size: clamp(0.6875rem, 0.6655rem + 0.0939vw, 0.75rem);
  font-weight: 500;
  color: #000000;
  text-decoration: none;
  text-align: center;
}
.tups-footer__salon a:hover {
  background: #000000;
  color: #ffffff;
}
@media (max-width: 767px) {
  .tups-footer__salon {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }
  .tups-footer__salon li {
    width: 100%;
  }
  .tups-footer__salon a {
    width: 100%;
  }
}
.tups-footer__social {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 24px;
}
.tups-footer__social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  color: #000000;
}
.tups-footer__social a:hover {
  opacity: 0.6;
}
.tups-footer__bottom {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}
.tups-footer__legal {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 28px;
}
.tups-footer__legal a {
  font-size: clamp(0.6875rem, 0.6655rem + 0.0939vw, 0.75rem);
  font-weight: 500;
  line-height: 1.4;
  color: #000000;
  text-decoration: none;
}
.tups-footer__legal a:hover {
  opacity: 0.6;
}
.tups-footer__legal a[aria-current=page] {
  color: #999999;
}
@media (max-width: 767px) {
  .tups-footer__legal {
    display: grid;
    grid-template-columns: repeat(2, auto);
    justify-content: center;
    gap: 10px 24px;
  }
  .tups-footer__legal li {
    text-align: center;
  }
}
.tups-footer__copy {
  margin: 0;
  text-align: center;
}
.tups-footer__copy a {
  font-family: "M PLUS 1", "Noto Sans JP", sans-serif;
  font-size: clamp(0.6875rem, 0.6655rem + 0.0939vw, 0.75rem);
  font-weight: 500;
  line-height: 1;
  color: #54595f;
  text-decoration: none;
}

.tups-chevron {
  flex: 0 0 auto;
}

/*
Theme Name: TUPS Store
Theme URI: https://store.tupsjapan.com/
Description: TUPS OFFICIAL STORE（B2C）専用の子テーマ。ノーコードビルダーに依存せず PHP/SCSS で構築する。
Author: FREEBE
Template: hello-elementor
Version: 0.2.0
Text Domain: tups-store
*/
.woocommerce-result-count,
.woocommerce-ordering {
  display: none;
}

ul.products {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px 20px;
  margin: 0 0 64px;
  padding: 0;
  list-style: none;
  align-items: stretch;
}
@media (max-width: 767px) {
  ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 40px 8px;
  }
}
ul.products li.product {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
ul.products li.product > .screen-reader-text {
  display: none;
}

.woocommerce ul.products li.product a.woocommerce-loop-product__link {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1 1 auto;
}

.woocommerce ul.products li.product a.woocommerce-loop-product__link img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  background: #f5f5f5;
  margin: 0;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴシック", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;
  font-size: clamp(0.8125rem, 0.6585rem + 0.6573vw, 1.25rem);
  font-weight: 500;
  line-height: 1.2;
  color: #000000;
  margin: 0;
  padding: 0;
  overflow-wrap: anywhere;
  word-break: normal;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title span {
  display: block;
  line-height: 1.2;
}

.woocommerce ul.products li.product .tups-name-first {
  font-size: clamp(0.75rem, 0.662rem + 0.3756vw, 1rem);
}

.woocommerce ul.products li.product .tups-name-second {
  font-size: clamp(0.8125rem, 0.6585rem + 0.6573vw, 1.25rem);
}

@media (max-width: 374.98px) {
  .woocommerce ul.products li.product .tups-name-second,
  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: clamp(0.6rem, 3.4667vw, 0.8125rem);
  }
  .woocommerce ul.products li.product .tups-name-first {
    font-size: clamp(0.55rem, 3.2vw, 0.75rem);
  }
}
.woocommerce ul.products li.product {
  padding-bottom: 7px;
}
@media (max-width: 767px) {
  .woocommerce ul.products li.product {
    padding-bottom: 6px;
  }
}

.woocommerce ul.products li.product .price {
  display: block;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴシック", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 500;
  line-height: 1.2;
  color: #000000;
  margin: 0;
}

.woocommerce ul.products li.product .tups-capacity {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴシック", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 500;
  line-height: 1.2;
  color: #000000;
  margin: 0;
  white-space: pre-line;
  min-height: 2.4em;
}

.woocommerce ul.products li.product .tups-price-row {
  display: flex;
  align-items: flex-start;
  margin-top: auto;
}

.woocommerce ul.products li.product .tups-tax {
  font-size: clamp(0.625rem, 0.625rem + 0vw, 0.625rem);
  font-weight: 500;
  line-height: 1rem;
  color: #000000;
}

.onsale,
.tups-badge {
  display: inline-block;
  font-family: "Inter", "Noto Sans JP", sans-serif;
  font-size: 0.8rem;
  padding: 4px 8px;
  border: 1px solid #000000;
  background: #ffffff;
  color: #000000;
}

.woocommerce ul.products li.product .button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 0;
  padding: 5px;
  border: 0;
  border-radius: 0;
  background: #999999;
  color: #ffffff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴシック", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
}
.woocommerce ul.products li.product .button:hover {
  background: #999999;
  opacity: 0.8;
}

.woocommerce-pagination {
  text-align: center;
  margin-bottom: 64px;
}
.woocommerce-pagination ul {
  display: inline-flex;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.woocommerce-pagination li a, .woocommerce-pagination li span {
  display: block;
  font-family: "Inter", "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  min-width: 40px;
  padding: 8px;
  border: 1px solid #000000;
}
.woocommerce-pagination li span.current {
  border-color: #000000;
  background: #000000;
  color: #ffffff;
}

.woocommerce-no-products-found {
  padding: 64px 0;
  text-align: center;
  color: #767676;
}

/*
Theme Name: TUPS Store
Theme URI: https://store.tupsjapan.com/
Description: TUPS OFFICIAL STORE（B2C）専用の子テーマ。ノーコードビルダーに依存せず PHP/SCSS で構築する。
Author: FREEBE
Template: hello-elementor
Version: 0.2.0
Text Domain: tups-store
*/
.woocommerce .woocommerce-breadcrumb {
  padding: 50px 0 0;
  margin: 0;
  font-size: clamp(0.6875rem, 0.6655rem + 0.0939vw, 0.75rem);
  color: #767676;
}
.woocommerce .woocommerce-breadcrumb a {
  color: #767676;
}
.woocommerce .woocommerce-breadcrumb a:hover {
  opacity: 0.6;
}
@media (max-width: 767px) {
  .woocommerce .woocommerce-breadcrumb {
    padding-top: 30px;
  }
}

.single-product div.product {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 40px;
  padding: 30px 0 0;
}
@media (max-width: 767px) {
  .single-product div.product {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    padding-top: 20px;
  }
}
.single-product div.product > .tups-product-details,
.single-product div.product > .tups-product-lp,
.single-product div.product > .related.products {
  grid-column: 1/-1;
}

.woocommerce div.product .woocommerce-product-gallery {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}
.woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
  width: 100%;
  aspect-ratio: 4/5;
  object-fit: contain;
  background: #f5f5f5;
}

.woocommerce-product-gallery__wrapper {
  margin: 0;
}

.woocommerce div.product div.images .flex-control-thumbs {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  gap: 20px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 767px) {
  .woocommerce div.product div.images .flex-control-thumbs {
    gap: 8px;
    margin-top: 10px;
  }
}
.woocommerce div.product div.images .flex-control-thumbs li {
  float: none;
  width: auto;
  margin: 0;
}
.woocommerce div.product div.images .flex-control-thumbs img {
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: contain;
  background: #f5f5f5;
  cursor: pointer;
}
.woocommerce div.product div.images .flex-control-thumbs img:hover {
  opacity: 0.7;
}

.woocommerce div.product div.images.tups-single-image .flex-control-thumbs {
  display: none;
}

.woocommerce div.product .summary.entry-summary {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.woocommerce div.product .product_title.entry-title {
  margin: 0;
  padding: 0;
  color: #000000;
  font-weight: 500;
}
.woocommerce div.product .product_title.entry-title .tups-name-first {
  display: block;
  font-size: clamp(1rem, 0.8239rem + 0.7512vw, 1.5rem);
  line-height: 1.2;
}
.woocommerce div.product .product_title.entry-title .tups-name-second {
  display: block;
  font-size: clamp(1.25rem, 0.9859rem + 1.1268vw, 2rem);
  line-height: 1.2;
}

.woocommerce div.product .tups-price-row {
  display: flex;
  align-items: flex-start;
  margin: 10px 0 0;
}

.woocommerce div.product .price,
.woocommerce div.product span.price,
.woocommerce div.product p.price {
  display: block;
  margin: 0;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴシック", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;
  font-size: clamp(0.875rem, 0.787rem + 0.3756vw, 1.125rem);
  font-weight: 500;
  line-height: 1.2;
  color: #000000;
}

.woocommerce div.product .tups-tax {
  font-size: clamp(0.6875rem, 0.6655rem + 0.0939vw, 0.75rem);
  font-weight: 500;
  line-height: 1.4;
  color: #000000;
}

.woocommerce div.product .tups-product-category {
  margin: 0;
  font-size: clamp(0.6875rem, 0.6655rem + 0.0939vw, 0.75rem);
  font-weight: 500;
  line-height: 1.2;
  color: #767676;
}

.woocommerce div.product .tups-product-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.woocommerce div.product .tups-product-tags li {
  padding: 3px 8px;
  border: 1px solid #000000;
  font-size: clamp(0.625rem, 0.625rem + 0vw, 0.625rem);
  font-weight: 500;
  line-height: 1.4;
  color: #333333;
}

.woocommerce div.product .tups-product-lead {
  margin: 10px 0 0;
  font-size: clamp(0.8125rem, 0.7465rem + 0.2817vw, 1rem);
  font-weight: 400;
  line-height: 1.5;
  color: #333333;
}

.woocommerce div.product .tups-product-sections {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 20px 0 0;
}

.woocommerce div.product .tups-product-section {
  border-top: 1px solid #000000;
  padding: 16px 0;
}
.woocommerce div.product .tups-product-section:last-child {
  border-bottom: 1px solid #000000;
}
.woocommerce div.product .tups-product-section__title {
  margin: 0 0 8px;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 500;
  line-height: 1.2;
  color: #000000;
}
.woocommerce div.product .tups-product-section__body {
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 400;
  line-height: 1.5;
  color: #333333;
}

.woocommerce div.product .tups-product-caution {
  margin: 20px 0 0;
  padding: 12px 16px;
  background: #f5f5f5;
}
.woocommerce div.product .tups-product-caution p {
  margin: 0;
  font-size: clamp(0.6875rem, 0.6655rem + 0.0939vw, 0.75rem);
  font-weight: 400;
  line-height: 1.5;
  color: #333333;
}

.woocommerce div.product form.cart {
  display: flex;
  align-items: stretch;
  gap: 10px;
  margin: 30px 0 0;
}
.woocommerce div.product form.cart .quantity {
  margin: 0;
}
.woocommerce div.product form.cart .quantity input {
  width: 80px;
  height: 54px;
  padding: 0 8px;
  border: 1px solid #000000;
  border-radius: 0;
  background: #ffffff;
  text-align: center;
  font-family: "Inter", "Noto Sans JP", sans-serif;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 500;
  color: #000000;
}
.woocommerce div.product form.cart button.single_add_to_cart_button {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 54px;
  padding: 0 16px;
  border: 1px solid #000000;
  border-radius: 0;
  background: #000000;
  color: #ffffff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴシック", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.woocommerce div.product form.cart button.single_add_to_cart_button:hover {
  background: #ffffff;
  color: #000000;
}

.woocommerce div.product .stock.out-of-stock {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 54px;
  margin: 30px 0 0;
  border: 1px solid #000000;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 500;
  color: #767676;
}

.tups-product-details {
  margin-top: 56px;
  border-top: 1px solid #000000;
}
@media (max-width: 767px) {
  .tups-product-details {
    margin-top: 32px;
  }
}

.tups-panel {
  border-bottom: 1px solid #000000;
}
.tups-panel__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 20px 0;
  cursor: pointer;
  list-style: none;
  font-size: clamp(0.875rem, 0.787rem + 0.3756vw, 1.125rem);
  font-weight: 500;
  line-height: 1.2;
  color: #000000;
}
.tups-panel__summary::-webkit-details-marker {
  display: none;
}
.tups-panel__summary::after {
  content: "＋";
  font-family: "Inter", "Noto Sans JP", sans-serif;
  font-size: clamp(0.875rem, 0.787rem + 0.3756vw, 1.125rem);
  line-height: 1;
  color: #000000;
}
.tups-panel[open] .tups-panel__summary::after {
  content: "−";
}
.tups-panel__body {
  padding: 0 0 24px;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 400;
  line-height: 1.5;
  color: #333333;
}

.tups-ingredients {
  word-break: break-all;
}

.tups-product-faq {
  margin: 0;
}
.tups-product-faq dt {
  font-size: clamp(0.8125rem, 0.7465rem + 0.2817vw, 1rem);
  font-weight: 500;
  line-height: 1.5;
  color: #000000;
}
.tups-product-faq dd {
  margin: 8px 0 0;
  color: #333333;
}
.tups-product-faq dd + dt {
  margin-top: 24px;
}

.tups-product-voices {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 767px) {
  .tups-product-voices {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }
}
.tups-product-voices li {
  padding: 16px;
  background: #f5f5f5;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  line-height: 1.5;
  color: #333333;
}

.tups-product-lp {
  margin-top: 56px;
  line-height: 0;
}
@media (max-width: 767px) {
  .tups-product-lp {
    margin-top: 32px;
  }
}
.tups-product-lp picture, .tups-product-lp img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
}

.woocommerce div.product .related.products,
.related.products {
  margin: 80px 0 0;
  padding-top: 56px;
  border-top: 1px solid #000000;
}
@media (max-width: 767px) {
  .woocommerce div.product .related.products,
  .related.products {
    margin-top: 48px;
    padding-top: 32px;
  }
}
.woocommerce div.product .related.products > h2,
.related.products > h2 {
  margin: 0 0 30px;
  font-family: "Inter", "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.8rem;
  color: #000000;
  text-align: left;
}
@media (max-width: 767px) {
  .woocommerce div.product .related.products > h2,
  .related.products > h2 {
    font-size: 1.6rem;
    line-height: 1.6rem;
    margin-bottom: 20px;
  }
}

/*
Theme Name: TUPS Store
Theme URI: https://store.tupsjapan.com/
Description: TUPS OFFICIAL STORE（B2C）専用の子テーマ。ノーコードビルダーに依存せず PHP/SCSS で構築する。
Author: FREEBE
Template: hello-elementor
Version: 0.2.0
Text Domain: tups-store
*/
.woocommerce-cart .page-header,
.woocommerce-checkout .page-header,
.woocommerce-account .page-header {
  margin: 0;
  padding: 0;
}
.woocommerce-cart .entry-title,
.woocommerce-cart .page-title,
.woocommerce-checkout .entry-title,
.woocommerce-checkout .page-title,
.woocommerce-account .entry-title,
.woocommerce-account .page-title {
  margin: 0;
  padding: 50px 0 30px;
  font-family: "Inter", "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.8rem;
  color: #000000;
  text-align: left;
}
@media (max-width: 767px) {
  .woocommerce-cart .entry-title,
  .woocommerce-cart .page-title,
  .woocommerce-checkout .entry-title,
  .woocommerce-checkout .page-title,
  .woocommerce-account .entry-title,
  .woocommerce-account .page-title {
    padding: 30px 0 20px;
    font-size: 1.6rem;
    line-height: 1.6rem;
  }
}

table.shop_table th,
table.shop_table td,
table.shop_table thead tr:first-child th,
table.shop_table thead tr:first-child td {
  border-top: 0;
  border-block-start: 0;
}

.woocommerce table.shop_table {
  width: 100%;
  border: 0;
  border-collapse: collapse;
  border-radius: 0;
  margin: 0 0 30px;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  padding: 16px 12px;
  border: 0;
  border-bottom: 1px solid #000000;
  vertical-align: middle;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 400;
  line-height: 1.5;
  color: #333333;
}
.woocommerce table.shop_table th {
  font-weight: 500;
  color: #000000;
  text-align: left;
}
.woocommerce table.shop_table thead th {
  border-bottom-color: #000000;
}
.woocommerce table.shop_table tfoot th, .woocommerce table.shop_table tfoot td, .woocommerce table.shop_table tbody th {
  border-top: 0;
  border-bottom-color: #000000;
}
.woocommerce table.shop_table tbody > tr:nth-child(odd) > td,
.woocommerce table.shop_table tbody > tr:nth-child(odd) > th {
  background-color: transparent;
}
.woocommerce table.shop_table tr:nth-child(2n) > td,
.woocommerce table.shop_table tr:nth-child(2n) > th {
  background-color: transparent !important;
}
.woocommerce table.shop_table th:first-child, .woocommerce table.shop_table td:first-child {
  padding-left: 0;
}
.woocommerce table.shop_table th:last-child, .woocommerce table.shop_table td:last-child {
  padding-right: 0;
}

.woocommerce-cart table.cart .product-remove {
  width: 32px;
}
.woocommerce-cart table.cart .product-thumbnail {
  width: 96px;
}
.woocommerce-cart table.cart .product-thumbnail img {
  display: block;
  width: 96px;
  height: auto;
  aspect-ratio: 1/1;
  object-fit: contain;
  background: #f5f5f5;
}
.woocommerce-cart table.cart .product-name a {
  font-size: clamp(0.8125rem, 0.7465rem + 0.2817vw, 1rem);
  font-weight: 500;
  color: #000000;
  text-decoration: none;
}
.woocommerce-cart table.cart .product-name a:hover {
  opacity: 0.6;
}
.woocommerce-cart table.cart a.remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 0;
  background: transparent !important;
  color: #999999 !important;
  font-size: clamp(0.875rem, 0.787rem + 0.3756vw, 1.125rem);
  line-height: 1;
}
.woocommerce-cart table.cart a.remove:hover {
  background: transparent !important;
  color: #000000 !important;
}
.woocommerce-cart table.cart .quantity input.qty {
  width: 100%;
  height: 54px;
  padding: 0 14px;
  border: 1px solid #000000;
  border-radius: 0;
  background: #ffffff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴシック", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 400;
  color: #333333;
}
.woocommerce-cart table.cart .quantity input.qty:focus {
  border-color: #000000;
}
.woocommerce-cart table.cart .quantity input.qty::placeholder {
  color: #999999;
}
.woocommerce-cart table.cart .quantity input.qty {
  width: 72px;
  text-align: center;
  font-family: "Inter", "Noto Sans JP", sans-serif;
}
.woocommerce-cart .woocommerce-cart-form td.actions {
  padding-top: 24px;
}
.woocommerce-cart .woocommerce-cart-form td.actions::after {
  content: "";
  display: table;
  clear: both;
}
.woocommerce-cart .woocommerce .cart .actions .coupon {
  display: flex;
  gap: 10px;
  width: 100%;
  max-width: 420px;
}
.woocommerce-cart .woocommerce .cart .actions .coupon input.input-text {
  width: 100%;
  height: 54px;
  padding: 0 14px;
  border: 1px solid #000000;
  border-radius: 0;
  background: #ffffff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴシック", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 400;
  color: #333333;
}
.woocommerce-cart .woocommerce .cart .actions .coupon input.input-text:focus {
  border-color: #000000;
}
.woocommerce-cart .woocommerce .cart .actions .coupon input.input-text::placeholder {
  color: #999999;
}
.woocommerce-cart .woocommerce .cart .actions .coupon input.input-text {
  flex: 1 1 auto;
  min-width: 0;
}
.woocommerce-cart .woocommerce .cart .actions .coupon button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 16px;
  border: 1px solid #000000;
  border-radius: 0;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴシック", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
  background: transparent;
  color: #000000;
}
.woocommerce-cart .woocommerce .cart .actions .coupon button:hover {
  background: #000000;
  color: #ffffff;
}
.woocommerce-cart .woocommerce .cart .actions .coupon button {
  flex: 0 0 auto;
}
@media (max-width: 767px) {
  .woocommerce-cart .woocommerce .cart .actions .coupon {
    float: none;
    max-width: none;
    margin-bottom: 12px;
  }
}
@media (max-width: 767px) {
  .woocommerce-cart #content table.cart td.actions .coupon {
    justify-content: flex-start;
  }
  .woocommerce-cart #content table.cart td.actions .coupon::before, .woocommerce-cart #content table.cart td.actions .coupon::after {
    display: none;
  }
  .woocommerce-cart #content table.cart td.actions .coupon input.input-text {
    flex: 1 1 120px;
    width: auto !important;
    margin: 0;
  }
  .woocommerce-cart #content table.cart td.actions .coupon button {
    width: auto !important;
    white-space: nowrap;
  }
}
.woocommerce-cart .woocommerce .cart .actions .wps_wpr_apply_custom_points {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  clear: both;
  width: 100%;
  max-width: 420px;
  margin-top: 16px;
}
.woocommerce-cart .woocommerce .cart .actions .wps_wpr_apply_custom_points input.input-text {
  width: 100%;
  height: 54px;
  padding: 0 14px;
  border: 1px solid #000000;
  border-radius: 0;
  background: #ffffff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴシック", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 400;
  color: #333333;
}
.woocommerce-cart .woocommerce .cart .actions .wps_wpr_apply_custom_points input.input-text:focus {
  border-color: #000000;
}
.woocommerce-cart .woocommerce .cart .actions .wps_wpr_apply_custom_points input.input-text::placeholder {
  color: #999999;
}
.woocommerce-cart .woocommerce .cart .actions .wps_wpr_apply_custom_points input.input-text {
  flex: 1 1 120px;
  min-width: 0;
  font-family: "Inter", "Noto Sans JP", sans-serif;
}
.woocommerce-cart .woocommerce .cart .actions .wps_wpr_apply_custom_points button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 16px;
  border: 1px solid #000000;
  border-radius: 0;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴシック", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
  background: transparent;
  color: #000000;
}
.woocommerce-cart .woocommerce .cart .actions .wps_wpr_apply_custom_points button:hover {
  background: #000000;
  color: #ffffff;
}
.woocommerce-cart .woocommerce .cart .actions .wps_wpr_apply_custom_points button {
  flex: 0 0 auto;
}
.woocommerce-cart .woocommerce .cart .actions .wps_wpr_apply_custom_points p {
  flex: 1 0 100%;
  margin: 0;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  color: #333333;
}
@media (max-width: 767px) {
  .woocommerce-cart .woocommerce .cart .actions .wps_wpr_apply_custom_points {
    max-width: none;
  }
}
.woocommerce-cart .cart-collaterals {
  display: flex;
  justify-content: flex-end;
  width: 100%;
  margin-bottom: 80px;
}
@media (max-width: 767px) {
  .woocommerce-cart .cart-collaterals {
    margin-bottom: 48px;
  }
}
.woocommerce-cart .cart_totals {
  width: 100%;
  max-width: 480px;
  float: none;
}
.woocommerce-cart .cart_totals h2 {
  margin: 0 0 16px;
  font-size: clamp(0.875rem, 0.787rem + 0.3756vw, 1.125rem);
  font-weight: 500;
  color: #000000;
}
.woocommerce-cart .cart_totals table th {
  width: 40%;
}
.woocommerce-cart .cart_totals .order-total td {
  font-size: clamp(0.875rem, 0.787rem + 0.3756vw, 1.125rem);
  font-weight: 500;
  color: #000000;
}
.woocommerce-cart .cart_totals .woocommerce-shipping-methods {
  margin: 0;
  padding: 0;
  list-style: none;
}
.woocommerce-cart .cart_totals .woocommerce-shipping-methods li {
  margin-bottom: 6px;
}
.woocommerce-cart .cart_totals .woocommerce-shipping-methods label {
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
}
.woocommerce-cart .cart_totals .shipping-calculator-button::after {
  content: none;
}
.woocommerce-cart .cart_totals .wc-proceed-to-checkout {
  padding: 0;
}
.woocommerce-cart .cart_totals .wc-proceed-to-checkout a.checkout-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 16px;
  border: 1px solid #000000;
  border-radius: 0;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴシック", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
  background: #000000;
  color: #ffffff;
}
.woocommerce-cart .cart_totals .wc-proceed-to-checkout a.checkout-button:hover {
  background: #ffffff;
  color: #000000;
}
.woocommerce-cart .cart_totals .wc-proceed-to-checkout a.checkout-button {
  display: flex;
  width: 100%;
  margin: 0;
}
.woocommerce-cart .shop_table.cart .wps_wpr_apply_custom_points input#wps_cart_points {
  width: 100%;
  height: 54px;
  padding: 0 14px;
  border: 1px solid #000000;
  border-radius: 0;
  background: #ffffff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴシック", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 400;
  color: #333333;
}
.woocommerce-cart .shop_table.cart .wps_wpr_apply_custom_points input#wps_cart_points:focus {
  border-color: #000000;
}
.woocommerce-cart .shop_table.cart .wps_wpr_apply_custom_points input#wps_cart_points::placeholder {
  color: #999999;
}
.woocommerce-cart .shop_table.cart .wps_wpr_apply_custom_points input#wps_cart_points {
  height: 54px !important;
  flex: 1 1 120px;
  width: auto !important;
  max-width: none;
  min-width: 0;
  margin: 0;
  font-family: "Inter", "Noto Sans JP", sans-serif;
}
.woocommerce-cart .shop_table.cart .wps_wpr_apply_custom_points button#wps_cart_points_apply {
  min-height: 54px;
  width: auto !important;
  white-space: nowrap;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
}
.woocommerce-cart .shop_table.cart .wps_wpr_apply_custom_points {
  margin-top: 0;
  padding-top: 12px;
}
.woocommerce-cart .woocommerce a.button.tups-continue-shopping {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 16px;
  border: 1px solid #000000;
  border-radius: 0;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴシック", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
  background: transparent;
  color: #000000;
}
.woocommerce-cart .woocommerce a.button.tups-continue-shopping:hover {
  background: #000000;
  color: #ffffff;
}
.woocommerce-cart .woocommerce a.button.tups-continue-shopping {
  display: flex;
  width: 100%;
  margin-top: 12px;
}

.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
  margin: 0 0 20px;
  padding: 14px 16px;
  border: 0;
  border-top: 1px solid #000000;
  background: #f5f5f5;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  color: #333333;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before {
  display: none;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a {
  color: #000000;
  text-decoration: underline;
}
.woocommerce-checkout form.checkout_coupon {
  margin: 0 0 30px;
  padding: 20px;
  border: 1px solid #000000;
  border-radius: 0;
}
.woocommerce-checkout form.checkout_coupon button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 16px;
  border: 1px solid #000000;
  border-radius: 0;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴシック", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
  background: transparent;
  color: #000000;
}
.woocommerce-checkout form.checkout_coupon button:hover {
  background: #000000;
  color: #ffffff;
}
.woocommerce-checkout form.checkout {
  padding-bottom: 80px;
}
@media (max-width: 767px) {
  .woocommerce-checkout form.checkout {
    padding-bottom: 48px;
  }
}
.woocommerce-checkout .col2-set {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 40px;
  margin-bottom: 40px;
}
.woocommerce-checkout .col2-set::before, .woocommerce-checkout .col2-set::after {
  display: none;
}
@media (max-width: 1024px) {
  .woocommerce-checkout .col2-set {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }
}
@media (max-width: 767px) {
  .woocommerce-checkout .col2-set {
    gap: 24px;
    margin-bottom: 24px;
  }
}
.woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2 {
  width: auto;
  float: none;
}
.woocommerce-checkout wc-order-attribution-inputs {
  display: none;
}
.woocommerce-checkout #billing_country_field select,
.woocommerce-checkout #shipping_country_field select {
  width: 100%;
  height: 54px;
  padding: 0 14px;
  border: 1px solid #000000;
  border-radius: 0;
  background: #ffffff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴシック", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 400;
  color: #333333;
}
.woocommerce-checkout #billing_country_field select:focus,
.woocommerce-checkout #shipping_country_field select:focus {
  border-color: #000000;
}
.woocommerce-checkout #billing_country_field select::placeholder,
.woocommerce-checkout #shipping_country_field select::placeholder {
  color: #999999;
}
.woocommerce-checkout #billing_country_field select,
.woocommerce-checkout #shipping_country_field select {
  font-weight: 400;
}
.woocommerce-checkout textarea#order_comments {
  width: 100%;
  height: 54px;
  padding: 0 14px;
  border: 1px solid #000000;
  border-radius: 0;
  background: #ffffff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴシック", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 400;
  color: #333333;
}
.woocommerce-checkout textarea#order_comments:focus {
  border-color: #000000;
}
.woocommerce-checkout textarea#order_comments::placeholder {
  color: #999999;
}
.woocommerce-checkout textarea#order_comments {
  height: auto;
  min-height: 120px;
  padding: 12px 14px;
  line-height: 1.5;
}
.woocommerce-checkout h3 {
  float: none;
  width: 100%;
  margin: 0 0 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid #000000;
  font-size: clamp(0.875rem, 0.787rem + 0.3756vw, 1.125rem);
  font-weight: 500;
  color: #000000;
}
.woocommerce-checkout #order_review_heading {
  margin: 40px 0 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid #000000;
  font-size: clamp(0.875rem, 0.787rem + 0.3756vw, 1.125rem);
  font-weight: 500;
  color: #000000;
}

.woocommerce form .form-row {
  display: block;
  margin: 0 0 16px;
  padding: 0;
}
.woocommerce form .form-row label {
  display: block;
  margin-bottom: 6px;
  font-size: clamp(0.6875rem, 0.6655rem + 0.0939vw, 0.75rem);
  font-weight: 500;
  line-height: 1.2;
  color: #000000;
}
.woocommerce form .form-row label.screen-reader-text {
  display: block;
  margin-bottom: 6px;
  font-size: clamp(0.6875rem, 0.6655rem + 0.0939vw, 0.75rem);
  font-weight: 500;
  line-height: 1.2;
  color: #000000;
  position: static !important;
  width: auto !important;
  height: auto !important;
  margin: 0 0 6px !important;
  clip: auto !important;
  clip-path: none !important;
  overflow: visible !important;
  white-space: normal !important;
}
.woocommerce form .form-row .required {
  color: #d90000;
  text-decoration: none;
}
.woocommerce form .form-row .optional {
  color: #999999;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row textarea.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row select.input-text {
  width: 100%;
  height: 54px;
  padding: 0 14px;
  border: 1px solid #000000;
  border-radius: 0;
  background: #ffffff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴシック", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 400;
  color: #333333;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row textarea.input-text:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row select.input-text:focus {
  border-color: #000000;
}
.woocommerce form .form-row input.input-text::placeholder,
.woocommerce form .form-row textarea::placeholder,
.woocommerce form .form-row textarea.input-text::placeholder,
.woocommerce form .form-row select::placeholder,
.woocommerce form .form-row select.input-text::placeholder {
  color: #999999;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row textarea.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row select.input-text {
  border-radius: 0;
}
.woocommerce form .form-row textarea,
.woocommerce form .form-row textarea.input-text {
  height: auto;
  min-height: 120px;
  padding: 12px 14px;
  line-height: 1.5;
}
.woocommerce form .form-row.form-row-first, .woocommerce form .form-row.form-row-last {
  width: 100%;
  float: none;
}

.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 20px;
}
@media (max-width: 767px) {
  .woocommerce-billing-fields__field-wrapper,
  .woocommerce-shipping-fields__field-wrapper {
    grid-template-columns: minmax(0, 1fr);
  }
}
.woocommerce-billing-fields__field-wrapper > .form-row-wide,
.woocommerce-shipping-fields__field-wrapper > .form-row-wide {
  grid-column: 1/-1;
}

.woocommerce .select2-container .select2-selection--single {
  height: 54px;
  border: 1px solid #000000;
  border-radius: 0;
}
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered {
  line-height: 54px;
  padding-left: 14px;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
}
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow {
  height: 54px;
}

.woocommerce-checkout #payment {
  border-radius: 0;
  background: transparent;
}
.woocommerce-checkout #payment ul.payment_methods {
  margin: 0;
  padding: 0 0 20px;
  border-bottom: 1px solid #000000;
  list-style: none;
}
.woocommerce-checkout #payment ul.payment_methods li {
  margin-bottom: 12px;
}
.woocommerce-checkout #payment ul.payment_methods label {
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 500;
  color: #000000;
}
.woocommerce-checkout #payment div.payment_box {
  margin: 12px 0 0;
  padding: 16px;
  border-radius: 0;
  background: #f5f5f5;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  color: #333333;
}
.woocommerce-checkout #payment div.payment_box::before {
  display: none;
}
.woocommerce-checkout #payment div.payment_box fieldset {
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}
.woocommerce-checkout #payment div.payment_box a.button.sv-wc-payment-gateway-payment-form-manage-payment-methods {
  display: table;
  float: none;
  margin: 0 0 12px auto;
  padding: 0;
  background: transparent;
  border: 0;
  font-size: clamp(0.6875rem, 0.6655rem + 0.0939vw, 0.75rem);
  font-weight: 400;
  color: #000000;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.woocommerce-checkout #payment div.payment_box a.button.sv-wc-payment-gateway-payment-form-manage-payment-methods:hover {
  background: transparent;
  opacity: 0.6;
}
.woocommerce-checkout #payment .form-row.place-order {
  padding: 20px 0 0;
  margin: 0;
}
.woocommerce-checkout #payment #place_order {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 16px;
  border: 1px solid #000000;
  border-radius: 0;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴシック", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
  background: #000000;
  color: #ffffff;
}
.woocommerce-checkout #payment #place_order:hover {
  background: #ffffff;
  color: #000000;
}
.woocommerce-checkout #payment #place_order {
  display: flex;
  width: 100%;
  float: none;
}

/* 🔴 **ご注文完了・注文詳細の商品名に下線が付いていた**（2026-09-18）。
   カートでは消してあるのに、完了画面の表では woocommerce.css の下線が残っていた。
   サイトのほかのリンクは下線を引かない組み方なので、そろえる */
.woocommerce table.order_details a,
.woocommerce-table--order-details a,
table.woocommerce-table--order-details a {
  color: #000000;
  text-decoration: none;
}
.woocommerce table.order_details a:hover,
.woocommerce-table--order-details a:hover,
table.woocommerce-table--order-details a:hover {
  opacity: 0.6;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  display: flow-root;
  margin: 20px 0;
  padding: 14px 16px;
  border: 0;
  border-top: 1px solid #000000;
  border-radius: 0;
  background: #f5f5f5;
  font-size: clamp(0.8125rem, 0.7465rem + 0.2817vw, 1rem);
  color: #333333;
  list-style: none;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
  display: none;
}
.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a {
  color: #000000;
  text-decoration: underline;
}
.woocommerce-message .button,
.woocommerce-message a.button, .woocommerce .woocommerce-message a.button,
.woocommerce-info .button,
.woocommerce-info a.button,
.woocommerce .woocommerce-info a.button,
.woocommerce-error .button,
.woocommerce-error a.button,
.woocommerce .woocommerce-error a.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 16px;
  border: 1px solid #000000;
  border-radius: 0;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴシック", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
  background: transparent;
  color: #000000;
}
.woocommerce-message .button:hover,
.woocommerce-message a.button:hover, .woocommerce .woocommerce-message a.button:hover,
.woocommerce-info .button:hover,
.woocommerce-info a.button:hover,
.woocommerce .woocommerce-info a.button:hover,
.woocommerce-error .button:hover,
.woocommerce-error a.button:hover,
.woocommerce .woocommerce-error a.button:hover {
  background: #000000;
  color: #ffffff;
}
.woocommerce-message .button,
.woocommerce-message a.button, .woocommerce .woocommerce-message a.button,
.woocommerce-info .button,
.woocommerce-info a.button,
.woocommerce .woocommerce-info a.button,
.woocommerce-error .button,
.woocommerce-error a.button,
.woocommerce .woocommerce-error a.button {
  float: right;
  min-height: 40px;
  margin: 0 0 0 16px;
  text-decoration: none;
}
@media (max-width: 767px) {
  .woocommerce-message .button,
  .woocommerce-message a.button, .woocommerce .woocommerce-message a.button,
  .woocommerce-info .button,
  .woocommerce-info a.button,
  .woocommerce .woocommerce-info a.button,
  .woocommerce-error .button,
  .woocommerce-error a.button,
  .woocommerce .woocommerce-error a.button {
    float: none;
    display: flex;
    width: fit-content;
    margin: 12px 0 0;
  }
}

.woocommerce-error {
  border-top-color: #d90000;
}

.cart-empty {
  font-size: clamp(0.8125rem, 0.7465rem + 0.2817vw, 1rem);
}

.return-to-shop a.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 16px;
  border: 1px solid #000000;
  border-radius: 0;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴシック", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
  background: transparent;
  color: #000000;
}
.return-to-shop a.button:hover {
  background: #000000;
  color: #ffffff;
}

/* ==========================================================================
   注文完了画面の行き先（2026-09-09 岩田さん
   「買い物を続けるとか、TOPページに戻るとかマイページの履歴を見るのようなボタン」）
   ⚠️ 既定の WooCommerce は「注文が完了しました」で終わり、次の行き先が無い。
      ブラウザの戻るを押されると注文の再送信を促されることがある。
   ========================================================================== */
/* 🔴 **ご注文完了の「注文番号／日付／メール／合計／決済方法」の並び**（2026-09-18）。
   WooCommerce 既定は `float` ＋ 右に点線 ＋ 下に線で、**スマホで折り返すと線が途中で切れて見えた**
   （実測: 幅57px の項目に `border-right: 1px dashed #cfc8d8` と `border-bottom: 1px solid`）。
   折り返しに強い横並び（flex）にして、区切りは**黒い縦線**だけにする。スマホは1列で線を出さない。 */
.woocommerce ul.order_details,
ul.woocommerce-order-overview {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
  border: 0;
}
.woocommerce ul.order_details li,
ul.woocommerce-order-overview li {
  float: none;
  margin: 0;
  padding: 0 0 0 24px;
  border: 0;
  border-left: 1px solid #000000;
  font-size: clamp(0.6875rem, 0.6655rem + 0.0939vw, 0.75rem);
  text-transform: none;
  line-height: 1.4;
}
.woocommerce ul.order_details li:first-child,
ul.woocommerce-order-overview li:first-child {
  padding-left: 0;
  border-left: 0;
}
.woocommerce ul.order_details li strong,
ul.woocommerce-order-overview li strong {
  display: block;
  margin-top: 4px;
  font-size: clamp(0.8125rem, 0.7465rem + 0.2817vw, 1rem);
}
@media (max-width: 767px) {
  .woocommerce ul.order_details,
  ul.woocommerce-order-overview {
    flex-direction: column;
    gap: 12px;
  }
  .woocommerce ul.order_details li,
  ul.woocommerce-order-overview li {
    padding-left: 0;
    border-left: 0;
  }
}

/* 住所の枠。⚠️ **`.woocommerce` を前置する。** woocommerce.css の
   `.woocommerce .woocommerce-customer-details address`（クラス2＋要素1）に、
   クラス1つでは負けて角丸 5px が残る（2026-09-18 実測） */
.woocommerce .woocommerce-customer-details address,
.woocommerce-customer-details address {
  border-radius: 0;
  padding: 16px 18px;
  font-style: normal;
  line-height: 1.8;
}

.tups-thankyou-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 56px;
}

/* 買い終えた直後に一番自然な行き先を主にする */
/* ⚠️ **下線を消すには `.woocommerce a.…` まで書く。** woocommerce.css の `.woocommerce a`
      （クラス1＋要素1）に、クラス1つでは負ける（2026-09-18 実測） */
.woocommerce a.tups-thankyou-links__primary,
.woocommerce a.tups-thankyou-links__sub,
a.tups-thankyou-links__primary,
a.tups-thankyou-links__sub {
  text-decoration: none;
}

.tups-thankyou-links__primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 16px;
  border: 1px solid #000000;
  border-radius: 0;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴシック", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
  background: #000000;
  color: #ffffff;
}
.tups-thankyou-links__primary:hover {
  background: #ffffff;
  color: #000000;
}
.tups-thankyou-links__primary {
  min-width: 280px;
  text-decoration: none;
}

.tups-thankyou-links__sub {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 16px;
  border: 1px solid #000000;
  border-radius: 0;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴシック", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
  background: transparent;
  color: #000000;
}
.tups-thankyou-links__sub:hover {
  background: #000000;
  color: #ffffff;
}
.tups-thankyou-links__sub {
  min-width: 220px;
  text-decoration: none;
}

@media (max-width: 767px) {
  .tups-thankyou-links {
    flex-direction: column;
    gap: 12px;
    margin-top: 40px;
  }
  .tups-thankyou-links__primary,
  .tups-thankyou-links__sub {
    width: 100%;
    min-width: 0;
  }
}
/* ポイントの単位の案内（2026-09-09 岩田さん「100pt単位での使用にします」）。
   ⚠️ 囲みは横並び（flex）。案内は行を変えて全幅で出す。 */
.tups-points-hint {
  flex: 1 0 100%;
  margin: 0;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  color: #333333;
}

/* 数量のすぐ隣の「更新」（2026-09-09 岩田さん）。
   ⚠️ 標準の「お買い物カゴを更新」は**表の下**にあり、数量を変えた場所から離れている。
      押さずに進んでしまうことが多いので、隣に置いて、下のものは隠す。
   ⚠️ **変えた行にだけ出す**（2026-09-09 岩田さん
      「変更しなかった方もハイライトしてしまうのは気になります」）。
      出す・出さないは `inc/cart.php` の JS が `hidden` で切り替える。 */
/* 🔴 **`.woocommerce button.button` まで書く**（2026-09-16 実測）。
      クラス1つだけの `.tups-qty-update` は woocommerce.css の
      `.woocommerce button.button`（クラス2＋要素1）に負けていて、
      **WooCommerce 既定の薄紫の塗り（#e9e6ed・枠線なし・文字 #515151）のまま**だった。
      枠線の意匠にそろえる。 */
.woocommerce button.button.tups-qty-update,
.tups-qty-update {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 16px;
  border: 1px solid #000000;
  border-radius: 0;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴシック", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
  background: transparent;
  color: #000000;
}
.woocommerce button.button.tups-qty-update:hover,
.tups-qty-update:hover {
  background: #000000;
  color: #ffffff;
}
.woocommerce button.button.tups-qty-update,
.tups-qty-update {
  display: inline-flex;
  min-width: 0;
  margin-left: 8px;
  padding: 8px 14px;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  white-space: nowrap;
}
.woocommerce button.button.tups-qty-update[hidden],
.tups-qty-update[hidden] {
  display: none;
}

/* 表の下の「お買い物カゴを更新」は消す（2026-09-09 岩田さん
   「この『更新』のボタンがあれば、下の『お買い物カゴを更新』は不要では？」）。
   ⚠️ クーポン欄と「買い物を続ける」は残す。
   ⚠️ **`.woocommerce-cart` まで書く。** 付けないと、上の見た目の指定
      （クラス5つ）に負けて消えない（2026-09-09 に実測で踏んだ）。 */
.woocommerce-cart .woocommerce .cart .actions button[name=update_cart],
.woocommerce-cart .woocommerce .cart .actions input[name=update_cart] {
  display: none !important;
}

/* 数量と更新を横に並べる */
.woocommerce-cart-form td.product-quantity {
  white-space: nowrap;
}
.woocommerce-cart-form td.product-quantity .quantity {
  display: inline-flex;
  vertical-align: middle;
}

@media (max-width: 767px) {
  .tups-qty-update {
    margin-left: 6px;
    padding: 8px 10px;
  }
}
/* ==========================================================================
   クーポン・ポイントのかたまり（2026-09-09 岩田さん
   「このクーポンとポイントの表示位置は、クレジットカードの上で良いと思います」）

   ⚠️ 中身は JS が `#tups-discount-slot` へ移してくる（`inc/checkout-ux.php`）。
      SCSS 側は**どちらの場所でも同じに見える**ように、
      入れ物ではなく中の部品にあてる。
   ========================================================================== */
.tups-discount-slot {
  margin: 0 0 24px;
}
.tups-discount-slot > :last-child {
  margin-bottom: 0;
}

/* ポイントの案内。クーポンの案内と同じ組み（_cart.scss 上部の .woocommerce-form-coupon-toggle） */
.woocommerce-checkout .woocommerce-form-points-toggle .woocommerce-info {
  margin: 0 0 20px;
  padding: 14px 16px;
  border: 0;
  border-top: 1px solid #000000;
  background: #f5f5f5;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  color: #333333;
}
.woocommerce-checkout .woocommerce-form-points-toggle .woocommerce-info::before {
  display: none;
}
.woocommerce-checkout .woocommerce-form-points-toggle .woocommerce-info a {
  color: #000000;
  text-decoration: underline;
}
.woocommerce-checkout {
  /* たたんだ中身。クーポンの `form.checkout_coupon` と同じ枠 */
}
.woocommerce-checkout .tups-form-points {
  margin: 0 0 30px;
  padding: 20px;
  border: 1px solid #000000;
}
.woocommerce-checkout {
  /* ⚠️ プラグインは中身に `woocommerce-info` を付けてくる（＝案内の帯の見た目）。
        枠の中でもう一度帯にならないように打ち消す。 */
}
.woocommerce-checkout .tups-form-points .custom_point_checkout {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.woocommerce-checkout .tups-form-points .custom_point_checkout::before {
  display: none;
}
.woocommerce-checkout .tups-form-points .custom_point_checkout {
  /* ⚠️ `flex-basis: auto` にしない（カート側と同じ理由。囲みが折り返す） */
}
.woocommerce-checkout .tups-form-points .custom_point_checkout input.input-text {
  width: 100%;
  height: 54px;
  padding: 0 14px;
  border: 1px solid #000000;
  border-radius: 0;
  background: #ffffff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴシック", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 400;
  color: #333333;
}
.woocommerce-checkout .tups-form-points .custom_point_checkout input.input-text:focus {
  border-color: #000000;
}
.woocommerce-checkout .tups-form-points .custom_point_checkout input.input-text::placeholder {
  color: #999999;
}
.woocommerce-checkout .tups-form-points .custom_point_checkout input.input-text {
  flex: 1 1 120px;
  min-width: 0;
  font-family: "Inter", "Noto Sans JP", sans-serif;
}
.woocommerce-checkout .tups-form-points .custom_point_checkout button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 16px;
  border: 1px solid #000000;
  border-radius: 0;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴシック", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
  background: transparent;
  color: #000000;
}
.woocommerce-checkout .tups-form-points .custom_point_checkout button:hover {
  background: #000000;
  color: #ffffff;
}
.woocommerce-checkout .tups-form-points .custom_point_checkout button {
  flex: 0 0 auto;
}
.woocommerce-checkout .tups-form-points .custom_point_checkout {
  /* 🔴 カートと同じく、プラグインが ID で当ててくる（`input#wps_cart_points { max-width: 200px }`・
        `button#wps_cart_points_apply { min-height: 30px; font-size: 16px }`）。ボタンが潰れていた（2026-09-15） */
}
.woocommerce-checkout .tups-form-points .custom_point_checkout input#wps_cart_points {
  max-width: none;
  margin: 0;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
}
.woocommerce-checkout .tups-form-points .custom_point_checkout button#wps_cart_points_apply {
  min-height: 54px;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  white-space: nowrap;
}
.woocommerce-checkout .tups-form-points .custom_point_checkout {
  /* 「400 ポイント = ¥400」／単位の案内。行を折り返して全幅で置く */
}
.woocommerce-checkout .tups-form-points .custom_point_checkout p {
  flex: 1 0 100%;
  margin: 0;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  color: #333333;
}

/* ==========================================================================
   スマートフォン（2026-09-09 岩田さん「まだ、モバイル（スマホ）の対応はしていないですね？」）

   🔴 **カートは6列の表。** 375px では横に収まらず、はみ出すか文字が潰れる。
      → 表の体裁をやめ、**1商品＝1枚のカード**に積み替える。
      見出し行（thead）は隠し、各セルの `data-title` を項目名として出す
      （WooCommerce のテンプレートが `data-title` を持っている）。

   ⚠️ **`display: block` にした `<tr>` の中で `<td>` を flex にしてよい。**
      表の幅計算から外れて困るのは**表のまま**のときだけ（2026-09-05 の罠）。
   ========================================================================== */
@media (max-width: 767px) {
  /* ---------- カート ---------- */
  /* 🔴 **`#content` まで書く。** woocommerce-smallscreen.css が `.woocommerce #content table.cart .product-thumbnail`（ID入り）で
        写真を隠し、`td` を `text-align: right !important`・`::before` に「商品: 」を出していた。
        クラスだけのこの指定は全部負けていて、SP のカートが表の名残のまま崩れていた（2026-09-15 実物のブラウザで発見） */
  .woocommerce-cart #content table.cart {
    display: block;
    margin-bottom: 24px;
  }
  .woocommerce-cart #content table.cart thead {
    display: none;
  }
  .woocommerce-cart #content table.cart tbody {
    display: block;
  }
  .woocommerce-cart #content table.cart tr.woocommerce-cart-form__cart-item {
    position: relative;
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    grid-template-areas: "thumb name" "thumb price" "qty   qty" "sub   sub";
    column-gap: 14px;
    row-gap: 6px;
    padding: 20px 0;
    border-bottom: 1px solid #000000;
  }
  .woocommerce-cart #content table.cart td {
    display: block;
    padding: 0;
    border: 0;
    background: transparent;
    text-align: left !important; /* smallscreen.css の !important を打ち消す */
  }
  .woocommerce-cart #content table.cart {
    /* smallscreen.css が全セルの ::before に「項目名: 」を出す。名前・写真・数量には要らない */
  }
  .woocommerce-cart #content table.cart td.product-name::before,
  .woocommerce-cart #content table.cart td.product-thumbnail::before,
  .woocommerce-cart #content table.cart td.product-quantity::before {
    content: none;
    display: none;
  }
  .woocommerce-cart #content table.cart {
    /* 削除（×）は右上に浮かせる */
  }
  .woocommerce-cart #content table.cart td.product-remove {
    position: absolute;
    top: 16px;
    right: 0;
    width: auto;
  }
  .woocommerce-cart #content table.cart td.product-thumbnail {
    grid-area: thumb;
    display: block; /* 標準テーマは SP で写真を隠すが、TUPS は見せる */
    width: 72px;
  }
  .woocommerce-cart #content table.cart td.product-thumbnail img {
    width: 72px;
  }
  .woocommerce-cart #content table.cart td.product-name {
    grid-area: name;
    padding-right: 32px;
  }
  .woocommerce-cart #content table.cart td.product-price {
    grid-area: price;
  }
  .woocommerce-cart #content table.cart td.product-quantity {
    grid-area: qty;
    margin-top: 6px;
  }
  .woocommerce-cart #content table.cart td.product-subtotal {
    grid-area: sub;
  }
  .woocommerce-cart #content table.cart {
    /* 項目名（金額／数量／小計）を値の前に出す */
  }
  .woocommerce-cart #content table.cart td.product-price::before,
  .woocommerce-cart #content table.cart td.product-subtotal::before {
    content: attr(data-title) "：";
    margin-right: 6px;
    color: #999999;
  }
  .woocommerce-cart #content table.cart {
    /* 数量と「更新」は横並びのまま。入力欄は指で押せる大きさに */
  }
  .woocommerce-cart #content table.cart .quantity {
    display: flex;
    align-items: stretch;
  }
  .woocommerce-cart #content table.cart .quantity input.qty {
    width: 88px;
  }
  .woocommerce-cart #content table.cart {
    /* 高さを入力欄にそろえる（隣り合うので段差が目立つ） */
  }
  .woocommerce-cart #content table.cart .tups-qty-update {
    align-items: center;
  }
  .woocommerce-cart #content table.cart {
    /* 小計だけは強めに */
  }
  .woocommerce-cart #content table.cart td.product-subtotal {
    font-size: clamp(0.8125rem, 0.7465rem + 0.2817vw, 1rem);
    color: #000000;
  }
  .woocommerce-cart #content table.cart {
    /* クーポンの行はカードの外の帯として置く */
  }
  .woocommerce-cart #content table.cart tr:not(.woocommerce-cart-form__cart-item) {
    display: block;
  }
  .woocommerce-cart #content table.cart td.actions {
    display: block;
    padding: 20px 0 0;
    border: 0;
  }
  .woocommerce-cart #content .cart-collaterals {
    display: block;
  }
  .woocommerce-cart #content .cart_totals {
    max-width: none;
  }
  /* ---------- チェックアウト ---------- */
  .woocommerce-checkout {
    /* WooCommerce の 48% フロートを解いて縦に積む */
  }
  .woocommerce-checkout .form-row-first,
  .woocommerce-checkout .form-row-last {
    float: none;
    width: 100%;
    margin-right: 0;
  }
  .woocommerce-checkout {
    /* 姓・名／郵便番号・都道府県は横に並べたい（縦に長くなりすぎるため） */
  }
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 12px;
  }
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row,
  .woocommerce-checkout .woocommerce-additional-fields__field-wrapper > .form-row {
    grid-column: 1/-1;
  }
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-first,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row-first,
  .woocommerce-checkout .woocommerce-additional-fields__field-wrapper > .form-row-first {
    grid-column: 1/2;
  }
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-last,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row-last,
  .woocommerce-checkout .woocommerce-additional-fields__field-wrapper > .form-row-last {
    grid-column: 2/3;
  }
  .woocommerce-checkout {
    /* 注文内容の表。金額が右、品名が左のまま2列で足りる */
  }
  .woocommerce-checkout table.shop_table th, .woocommerce-checkout table.shop_table td {
    padding: 12px 0;
    font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  }
  .woocommerce-checkout table.shop_table th:first-child, .woocommerce-checkout table.shop_table td:first-child {
    padding-left: 0;
  }
  .woocommerce-checkout table.shop_table th:last-child, .woocommerce-checkout table.shop_table td:last-child {
    padding-right: 0;
  }
  .woocommerce-checkout {
    /* クーポン・ポイントの枠は内側の余白を詰める */
  }
  .woocommerce-checkout form.checkout_coupon,
  .woocommerce-checkout .tups-form-points {
    padding: 16px;
  }
  .woocommerce-checkout form.checkout_coupon .form-row-first,
  .woocommerce-checkout form.checkout_coupon .form-row-last {
    margin-bottom: 10px;
  }
  .woocommerce-checkout form.checkout_coupon button {
    width: 100%;
  }
  .woocommerce-checkout .tups-form-points .custom_point_checkout button {
    width: 100%;
  }
  .woocommerce-checkout {
    /* カードのロゴ7つ。40px（Square が style 属性で指定）だと「クレジットカード」の横に収まらず2行に割れる */
  }
  .woocommerce-checkout #payment li.payment_method_square_credit_card > label img {
    width: 30px !important;
    height: auto !important;
  }
  /* ---------- 注文完了 ---------- */
  .woocommerce-order .woocommerce-order-overview {
    display: block;
    padding: 0;
  }
  .woocommerce-order .woocommerce-order-overview li {
    display: block;
    width: auto;
    border: 0;
    border-bottom: 1px solid #000000;
    padding: 12px 0;
    float: none;
  }
}
/* ==========================================================================
   ご購入手続きの2段（① お客様情報の入力 → ② ご注文内容の確認・お支払い）
   2026-09-14 岩田さん。仕組みと理由は `inc/checkout-steps.php` の冒頭。

   ⚠️ **出し分けは `body[data-tups-step]` が付いたときだけ。** JS が動かなければ
      属性が付かず、従来どおり1画面に全部出る（注文できなくなることはない）。
   ⚠️ **`[hidden]` を display で上書きしない。** 要素に display を当てるときは
      `:not([hidden])` を付ける（summary・next は JS が hidden を付け外しする）。
   ========================================================================== */
.tups-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 32px;
  padding: 0;
  list-style: none;
  counter-reset: none;
}
@media (max-width: 767px) {
  .tups-steps {
    gap: 4px;
    margin-bottom: 24px;
  }
}

.tups-steps__item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 8px;
  border-bottom: 2px solid #000000;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  line-height: 1.3;
  color: #999999;
  text-align: center;
}
.tups-steps__item[aria-current=step] {
  border-bottom-color: #000000;
  color: #000000;
  font-weight: 600;
}
@media (max-width: 767px) {
  .tups-steps__item {
    flex-direction: column;
    gap: 4px;
    min-height: 0;
    padding: 6px 2px;
    font-size: clamp(0.6875rem, 0.6655rem + 0.0939vw, 0.75rem);
  }
}

.tups-steps__label {
  word-break: keep-all;
}

@media (max-width: 767px) {
  .tups-steps__pc {
    display: none;
  }
}

.tups-steps__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-family: "Inter", "Noto Sans JP", sans-serif;
  font-size: clamp(0.6875rem, 0.6655rem + 0.0939vw, 0.75rem);
  font-weight: 500;
  line-height: 1;
}

body[data-tups-step=input] #tups-discount-slot,
body[data-tups-step=input] #tups-wallet-slot,
body[data-tups-step=input] #payment {
  display: none;
}

body[data-tups-step=confirm] #customer_details,
body[data-tups-step=confirm] .woocommerce-form-login-toggle,
body[data-tups-step=confirm] form.woocommerce-form-login {
  display: none;
}

.tups-confirm-summary:not([hidden]) {
  display: block;
  margin: 0 0 40px;
}
@media (max-width: 767px) {
  .tups-confirm-summary:not([hidden]) {
    margin-bottom: 28px;
  }
}

.tups-confirm-summary__list {
  margin: 0;
}

.tups-confirm-summary__row:not([hidden]) {
  display: grid;
  grid-template-columns: 10em minmax(0, 1fr);
  gap: 16px;
  padding: 14px 0;
  border-bottom: 1px solid #000000;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  line-height: 1.5;
}
.tups-confirm-summary__row:not([hidden]) dt {
  color: #999999;
  font-weight: 500;
}
.tups-confirm-summary__row:not([hidden]) dd {
  margin: 0;
  color: #000000;
  overflow-wrap: anywhere;
}
@media (max-width: 767px) {
  .tups-confirm-summary__row:not([hidden]) {
    grid-template-columns: minmax(0, 1fr);
    gap: 2px;
    padding: 12px 0;
  }
}

.tups-confirm-summary__edit {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  margin: 16px 0 0;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
}
.tups-confirm-summary__edit button {
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  color: #000000;
  text-decoration: underline;
  cursor: pointer;
}
.tups-confirm-summary__edit a {
  color: #000000;
  text-decoration: underline;
}

.tups-step-next:not([hidden]) {
  display: block;
  margin: 24px 0 0;
}

.tups-step-next__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 16px;
  border: 1px solid #000000;
  border-radius: 0;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴシック", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
  background: #000000;
  color: #ffffff;
}
.tups-step-next__button:hover {
  background: #ffffff;
  color: #000000;
}
.tups-step-next__button {
  display: flex;
  width: 100%;
}

.tups-step-next__note {
  margin: 10px 0 0;
  font-size: clamp(0.6875rem, 0.6655rem + 0.0939vw, 0.75rem);
  color: #999999;
  text-align: center;
}

.tups-wallet-slot:empty {
  display: none;
}

.tups-wallet-slot {
  margin: 0 0 24px;
}

.tups-order-terms {
  margin: 20px 0 24px;
  padding: 20px;
  border: 1px solid #000000;
  background: #ffffff;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  line-height: 1.5;
  color: #000000;
}
@media (max-width: 767px) {
  .tups-order-terms {
    padding: 16px;
  }
}

.tups-order-terms__title {
  margin: 0 0 12px;
  font-weight: 600;
}

.tups-order-terms__list {
  margin: 0;
}
.tups-order-terms__list > div {
  display: grid;
  grid-template-columns: 9em minmax(0, 1fr);
  gap: 12px;
  padding: 10px 0;
  border-top: 1px solid #000000;
}
@media (max-width: 767px) {
  .tups-order-terms__list > div {
    grid-template-columns: minmax(0, 1fr);
    gap: 2px;
  }
}
.tups-order-terms__list dt {
  font-weight: 600;
}
.tups-order-terms__list dd {
  margin: 0;
}

.tups-order-terms__links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  margin: 12px 0 0;
}
.tups-order-terms__links a {
  color: #000000;
  text-decoration: underline;
}

/*
Theme Name: TUPS Store
Theme URI: https://store.tupsjapan.com/
Description: TUPS OFFICIAL STORE（B2C）専用の子テーマ。ノーコードビルダーに依存せず PHP/SCSS で構築する。
Author: FREEBE
Template: hello-elementor
Version: 0.2.0
Text Domain: tups-store
*/
.woocommerce-account .woocommerce {
  padding-bottom: 80px;
}
@media (max-width: 767px) {
  .woocommerce-account .woocommerce {
    padding-bottom: 48px;
  }
}
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 40px;
  align-items: start;
}
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation)::before, .woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation)::after {
  display: none;
}
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-navigation {
  grid-column: 1;
  width: auto;
  float: none;
}
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-content {
  grid-column: 2;
  width: auto;
  float: none;
  min-width: 0;
}
@media (max-width: 767px) {
  .woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
  .woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-content {
    grid-column: 1;
  }
}

.woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid #000000;
}
.woocommerce-MyAccount-navigation li {
  border-bottom: 1px solid #000000;
}
.woocommerce-MyAccount-navigation li a, .woocommerce .woocommerce-MyAccount-navigation li a {
  display: block;
  padding: 14px 0;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 400;
  line-height: 1.2;
  color: #333333;
  text-decoration: none;
}
.woocommerce-MyAccount-navigation li a:hover, .woocommerce .woocommerce-MyAccount-navigation li a:hover {
  opacity: 0.6;
}
.woocommerce-MyAccount-navigation li.is-active a {
  font-weight: 500;
  color: #000000;
}

.woocommerce-MyAccount-content {
  font-size: clamp(0.8125rem, 0.7465rem + 0.2817vw, 1rem);
  line-height: 1.5;
  color: #333333;
}
.woocommerce-MyAccount-content p {
  margin: 0 0 16px;
}
.woocommerce-MyAccount-content a {
  color: #000000;
  text-decoration: underline;
}
.woocommerce-MyAccount-content h2, .woocommerce-MyAccount-content h3 {
  margin: 0 0 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid #000000;
  font-size: clamp(0.875rem, 0.787rem + 0.3756vw, 1.125rem);
  font-weight: 500;
  color: #000000;
}
.woocommerce-MyAccount-content .button,
.woocommerce-MyAccount-content .woocommerce-Button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 16px;
  border: 1px solid #000000;
  border-radius: 0;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴシック", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
  background: transparent;
  color: #000000;
}
.woocommerce-MyAccount-content .button:hover,
.woocommerce-MyAccount-content .woocommerce-Button:hover {
  background: #000000;
  color: #ffffff;
}
.woocommerce-MyAccount-content table.shop_table td.woocommerce-orders-table__cell-order-actions .button {
  min-height: 40px;
  padding: 0 12px;
  font-size: clamp(0.6875rem, 0.6655rem + 0.0939vw, 0.75rem);
}

#customer_login.col2-set {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;
  align-items: start;
}
#customer_login.col2-set::before, #customer_login.col2-set::after {
  display: none;
}
#customer_login.col2-set .col-1, #customer_login.col2-set .col-2, #customer_login.col2-set .u-column1, #customer_login.col2-set .u-column2 {
  width: auto;
  float: none;
}
#customer_login.col2-set form.login,
#customer_login.col2-set form.register {
  max-width: none;
  margin: 0;
}
#customer_login.col2-set h2 {
  margin: 0 0 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #000000;
  font-size: clamp(0.875rem, 0.787rem + 0.3756vw, 1.125rem);
  font-weight: 500;
  color: #000000;
}
@media (max-width: 1024px) {
  #customer_login.col2-set {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
}

.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.woocommerce-ResetPassword,
.woocommerce .woocommerce-ResetPassword {
  width: 100%;
  max-width: 480px;
  margin: 0 auto;
  padding: 32px;
  border: 1px solid #000000;
  border-radius: 0;
}
@media (max-width: 767px) {
  .woocommerce form.login,
  .woocommerce form.register,
  .woocommerce form.woocommerce-ResetPassword,
  .woocommerce .woocommerce-ResetPassword {
    padding: 20px;
  }
}
.woocommerce form.login button[type=submit],
.woocommerce form.register button[type=submit],
.woocommerce form.woocommerce-ResetPassword button[type=submit],
.woocommerce .woocommerce-ResetPassword button[type=submit] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 16px;
  border: 1px solid #000000;
  border-radius: 0;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴシック", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
  background: #000000;
  color: #ffffff;
}
.woocommerce form.login button[type=submit]:hover,
.woocommerce form.register button[type=submit]:hover,
.woocommerce form.woocommerce-ResetPassword button[type=submit]:hover,
.woocommerce .woocommerce-ResetPassword button[type=submit]:hover {
  background: #ffffff;
  color: #000000;
}
.woocommerce form.login button[type=submit],
.woocommerce form.register button[type=submit],
.woocommerce form.woocommerce-ResetPassword button[type=submit],
.woocommerce .woocommerce-ResetPassword button[type=submit] {
  display: flex;
  width: 100%;
  margin-top: 8px;
}
.woocommerce form.login .show-password-input,
.woocommerce form.register .show-password-input,
.woocommerce form.woocommerce-ResetPassword .show-password-input,
.woocommerce .woocommerce-ResetPassword .show-password-input {
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: #333333;
  cursor: pointer;
}
.woocommerce form.login .password-input,
.woocommerce form.register .password-input,
.woocommerce form.woocommerce-ResetPassword .password-input,
.woocommerce .woocommerce-ResetPassword .password-input {
  position: relative;
  display: block;
  width: 100%;
}
.woocommerce form.login .woocommerce-form-login__rememberme,
.woocommerce form.register .woocommerce-form-login__rememberme,
.woocommerce form.woocommerce-ResetPassword .woocommerce-form-login__rememberme,
.woocommerce .woocommerce-ResetPassword .woocommerce-form-login__rememberme {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 16px;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  color: #333333;
}
.woocommerce form.login .woocommerce-form-login__rememberme input,
.woocommerce form.register .woocommerce-form-login__rememberme input,
.woocommerce form.woocommerce-ResetPassword .woocommerce-form-login__rememberme input,
.woocommerce .woocommerce-ResetPassword .woocommerce-form-login__rememberme input {
  width: auto;
  height: auto;
}

.woocommerce-LostPassword {
  margin: 16px 0 0;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  text-align: center;
}
.woocommerce-LostPassword a {
  color: #000000;
  text-decoration: underline;
}

.woocommerce-account .woocommerce > h2 {
  max-width: 480px;
  margin: 0 auto 16px;
  font-size: clamp(0.875rem, 0.787rem + 0.3756vw, 1.125rem);
  font-weight: 500;
  color: #000000;
}

.tups-account-contact__lead {
  margin: 0 0 20px;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  line-height: 1.5;
  color: #333333;
}
.tups-account-contact__me {
  display: grid;
  grid-template-columns: 8em minmax(0, 1fr);
  gap: 8px 16px;
  margin: 0 0 12px;
  padding: 16px;
  background: #f5f5f5;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  line-height: 1.4;
}
@media (max-width: 767px) {
  .tups-account-contact__me {
    grid-template-columns: minmax(0, 1fr);
    gap: 2px 0;
  }
}
.tups-account-contact__me dt {
  color: #767676;
}
.tups-account-contact__me dd {
  margin: 0;
  color: #000000;
}
.tups-account-contact__edit {
  margin: 0 0 30px;
  font-size: clamp(0.6875rem, 0.6655rem + 0.0939vw, 0.75rem);
  color: #767676;
}
.tups-account-contact__edit a {
  color: #000000;
}
.tups-account-contact select.input-text,
.tups-account-contact textarea.input-text {
  width: 100%;
  height: 54px;
  padding: 0 14px;
  border: 1px solid #000000;
  border-radius: 0;
  background: #ffffff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴシック", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 400;
  color: #333333;
}
.tups-account-contact select.input-text:focus,
.tups-account-contact textarea.input-text:focus {
  border-color: #000000;
}
.tups-account-contact select.input-text::placeholder,
.tups-account-contact textarea.input-text::placeholder {
  color: #999999;
}
.tups-account-contact textarea.input-text {
  height: auto;
  min-height: 140px;
  padding: 12px 14px;
  line-height: 1.5;
}
.tups-account-contact label {
  display: block;
  margin-bottom: 6px;
  font-size: clamp(0.6875rem, 0.6655rem + 0.0939vw, 0.75rem);
  font-weight: 500;
  line-height: 1.2;
  color: #000000;
}
.tups-account-contact .required {
  color: #d90000;
}
.tups-account-contact button.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 16px;
  border: 1px solid #000000;
  border-radius: 0;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴシック", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
  background: #000000;
  color: #ffffff;
}
.tups-account-contact button.button:hover {
  background: #ffffff;
  color: #000000;
}
.tups-account-contact button.button {
  display: flex;
  width: 100%;
}

/* ==========================================================================
   スマートフォン（2026-09-09 岩田さん「まだ、モバイル（スマホ）の対応はしていないですね？」）

   🔴 **注文履歴は5列の表**（注文番号／日付／状況／合計／操作）。
      375px では収まらないので、**1注文＝1枚**に積み替える。
      見出しは `data-title`（WooCommerce のテンプレートが持っている）から出す。
   ========================================================================== */
@media (max-width: 767px) {
  .woocommerce-account table.woocommerce-orders-table {
    display: block;
  }
  .woocommerce-account table.woocommerce-orders-table thead {
    display: none;
  }
  .woocommerce-account table.woocommerce-orders-table tbody {
    display: block;
  }
  .woocommerce-account table.woocommerce-orders-table tr {
    display: block;
    padding: 16px 0;
    border-bottom: 1px solid #000000;
  }
  .woocommerce-account table.woocommerce-orders-table td, .woocommerce-account table.woocommerce-orders-table th {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding: 4px 0;
    border: 0;
    text-align: right;
  }
  .woocommerce-account table.woocommerce-orders-table td::before,
  .woocommerce-account table.woocommerce-orders-table th::before {
    content: attr(data-title);
    flex: 0 0 auto;
    color: #999999;
    text-align: left;
  }
  .woocommerce-account table.woocommerce-orders-table {
    /* 「表示」ボタンの行は横いっぱいに */
  }
  .woocommerce-account table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions {
    display: block;
    margin-top: 10px;
  }
  .woocommerce-account table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions::before {
    content: none;
  }
  .woocommerce-account table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .button {
    display: flex;
    width: 100%;
  }
  .woocommerce-account {
    /* ⚠️ 注文の明細（`woocommerce-table--order-details`）は**表のまま**にする。
          「商品｜合計」の2列なので 375px でも収まる。
          `data-title` を持たないセルがあり、カードに積み替えると
          商品名まで右に寄ってしまう。 */
  }
  .woocommerce-account table.woocommerce-table--order-details th, .woocommerce-account table.woocommerce-table--order-details td {
    padding: 12px 0;
    font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  }
  .woocommerce-account table.woocommerce-table--order-details th:first-child, .woocommerce-account table.woocommerce-table--order-details td:first-child {
    padding-left: 0;
  }
  .woocommerce-account table.woocommerce-table--order-details th:last-child, .woocommerce-account table.woocommerce-table--order-details td:last-child {
    padding-right: 0;
    text-align: right;
  }
  .woocommerce-account {
    /* 住所の2枚組は縦積み */
  }
  .woocommerce-account .woocommerce-Addresses {
    display: block;
  }
  .woocommerce-account .woocommerce-Address {
    width: auto;
    float: none;
    margin-bottom: 24px;
  }
}
/* 会員登録の「姓・名」を横に並べる（inc/account.php）。
   ⚠️ WooCommerce の `form-row-first` / `form-row-last` は `float` で組む作りで、
      この枠では効かず縦に積まれた（2026-09-09 実測）。grid で並べ、float は打ち消す。 */
.tups-name-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 12px;
}
.tups-name-row > .form-row {
  float: none;
  width: auto;
  margin-right: 0;
}
@media (max-width: 480px) {
  .tups-name-row {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* 個人情報の取り扱いの一文（inc/account.php）。
   🔴 WooCommerce の既定は `wp_page_for_privacy_policy` が無いと**何も出さない**。
      TUPS のプライバシーポリシーはブランドサイト側にあるため、自前で出している。 */
.tups-privacy-note {
  margin: 16px 0;
  font-size: clamp(0.6875rem, 0.6655rem + 0.0939vw, 0.75rem);
  line-height: 1.5;
  color: #999999;
}
.tups-privacy-note p {
  margin: 0;
}
.tups-privacy-note a {
  color: #000000;
  text-decoration: underline;
}

/* ==========================================================================
   マイページ → ポイント（`inc/account-points.php`・2026-09-14）
   ========================================================================== */
.tups-points__balance {
  padding: 24px;
  background: #f5f5f5;
  text-align: center;
}
@media (max-width: 767px) {
  .tups-points__balance {
    padding: 20px 16px;
  }
}

.tups-points__label {
  margin: 0;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  color: #333333;
}

.tups-points__value {
  margin: 4px 0 0;
  font-size: clamp(0.875rem, 0.787rem + 0.3756vw, 1.125rem);
  color: #000000;
}
.tups-points__value span {
  font-family: "Inter", "Noto Sans JP", sans-serif;
  font-size: clamp(1.25rem, 0.9859rem + 1.1268vw, 2rem);
  font-weight: 600;
}

.tups-points__note {
  margin: 8px 0 0;
  font-size: clamp(0.6875rem, 0.6655rem + 0.0939vw, 0.75rem);
  color: #333333;
}

.tups-points__rule {
  margin: 20px 0 0;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  line-height: 1.5;
  color: #333333;
}
.tups-points__rule p {
  margin: 0 0 8px;
}
.tups-points__rule a {
  color: #000000;
  text-decoration: underline;
}

.tups-points__heading {
  margin: 32px 0 12px;
  font-size: clamp(0.875rem, 0.787rem + 0.3756vw, 1.125rem);
  font-weight: 500;
  color: #000000;
}

.tups-points__empty {
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  color: #333333;
}

.tups-points__table {
  width: 100%;
}
.tups-points__table th, .tups-points__table td {
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
}
.tups-points__table .tups-points__num {
  text-align: right;
  white-space: nowrap;
  font-family: "Inter", "Noto Sans JP", sans-serif;
}
.tups-points__table .is-minus {
  color: #333333;
}
.tups-points__table .is-plus {
  color: #000000;
}
@media (max-width: 767px) {
  .tups-points__table thead {
    display: none;
  }
  .tups-points__table tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 2px 12px;
    padding: 12px 0;
    border-bottom: 1px solid #000000;
  }
  .tups-points__table td {
    display: block;
    padding: 0;
    border: 0;
  }
  .tups-points__table td[data-title=日付] {
    grid-column: 1/-1;
    font-size: clamp(0.6875rem, 0.6655rem + 0.0939vw, 0.75rem);
    color: #999999;
  }
}

/* ==========================================================================
   マイページの中身の部品（2026-09-14 岩田さん「レイアウトがおかしい」）

   🔴 **WooCommerce の既定の見た目が残っていた**（全画面を PC 1440 / SP 390 で見て洗い出し）。
      ・ボタンがグレーの塊（`.woocommerce a.button` がクラス2つで勝っていた）
      ・表が縞模様＋見出しセルだけ太線（`woocommerce.css` / `woocommerce-smallscreen.css`）
      ・SP の注文一覧で**注文番号が消えていた**（smallscreen が `tbody th` を `display:none` にする）
      ・住所が斜体（`address { font-style: italic }`）
   ⚠️ セレクタは `.woocommerce-account .woocommerce …` まで書く（WooCommerce の CSS に負けないため）。
   ========================================================================== */
.woocommerce-account .woocommerce .woocommerce-MyAccount-content a.button,
.woocommerce-account .woocommerce .woocommerce-MyAccount-content button.button,
.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-Button,
.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 16px;
  border: 1px solid #000000;
  border-radius: 0;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴシック", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
  background: transparent;
  color: #000000;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content a.button:hover,
.woocommerce-account .woocommerce .woocommerce-MyAccount-content button.button:hover,
.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-Button:hover,
.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-button:hover {
  background: #000000;
  color: #ffffff;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content a.button,
.woocommerce-account .woocommerce .woocommerce-MyAccount-content button.button,
.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-Button,
.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-button {
  min-height: 44px;
  padding: 0 16px;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  text-decoration: none;
  border-radius: 0;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content button[type=submit].button,
.woocommerce-account .woocommerce .woocommerce-MyAccount-content button[name=save_account_details],
.woocommerce-account .woocommerce .woocommerce-MyAccount-content button[name=save_address] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 16px;
  border: 1px solid #000000;
  border-radius: 0;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴシック", "游ゴシック", "Yu Gothic", Meiryo, sans-serif;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
  background: #000000;
  color: #ffffff;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content button[type=submit].button:hover,
.woocommerce-account .woocommerce .woocommerce-MyAccount-content button[name=save_account_details]:hover,
.woocommerce-account .woocommerce .woocommerce-MyAccount-content button[name=save_address]:hover {
  background: #ffffff;
  color: #000000;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content button[type=submit].button,
.woocommerce-account .woocommerce .woocommerce-MyAccount-content button[name=save_account_details],
.woocommerce-account .woocommerce .woocommerce-MyAccount-content button[name=save_address] {
  display: flex;
  width: 100%;
  max-width: 360px;
  margin-top: 12px;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content table.shop_table {
  width: 100%;
  margin: 0 0 24px;
  border: 0;
  border-collapse: collapse;
  border-radius: 0;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content table.shop_table th, .woocommerce-account .woocommerce .woocommerce-MyAccount-content table.shop_table td {
  padding: 14px 10px;
  border: 0;
  border-bottom: 1px solid #000000;
  background: transparent;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 400;
  line-height: 1.5;
  color: #333333;
  text-align: left;
  vertical-align: middle;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content table.shop_table th:first-child, .woocommerce-account .woocommerce .woocommerce-MyAccount-content table.shop_table td:first-child {
  padding-left: 0;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content table.shop_table th:last-child, .woocommerce-account .woocommerce .woocommerce-MyAccount-content table.shop_table td:last-child {
  padding-right: 0;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content table.shop_table thead th {
  border-bottom-color: #000000;
  font-weight: 500;
  color: #000000;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content table.shop_table tbody tr:nth-child(2n) td,
.woocommerce-account .woocommerce .woocommerce-MyAccount-content table.shop_table tbody tr:nth-child(2n) th {
  background: transparent;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content table.shop_table tfoot th {
  font-weight: 500;
  color: #000000;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content table.shop_table .woocommerce-orders-table__cell-order-total,
.woocommerce-account .woocommerce .woocommerce-MyAccount-content table.shop_table .woocommerce-orders-table__cell-order-actions,
.woocommerce-account .woocommerce .woocommerce-MyAccount-content table.shop_table .payment-method-actions,
.woocommerce-account .woocommerce .woocommerce-MyAccount-content table.shop_table .woocommerce-table__product-total,
.woocommerce-account .woocommerce .woocommerce-MyAccount-content table.shop_table .tups-points__num,
.woocommerce-account .woocommerce .woocommerce-MyAccount-content table.shop_table .woocommerce-orders-table__header-order-total,
.woocommerce-account .woocommerce .woocommerce-MyAccount-content table.shop_table .woocommerce-orders-table__header-order-actions,
.woocommerce-account .woocommerce .woocommerce-MyAccount-content table.shop_table .product-total,
.woocommerce-account .woocommerce .woocommerce-MyAccount-content table.shop_table .payment-method-actions,
.woocommerce-account .woocommerce .woocommerce-MyAccount-content table.shop_table tfoot td {
  text-align: right;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content table.shop_table .woocommerce-orders-table__cell-order-number a,
.woocommerce-account .woocommerce .woocommerce-MyAccount-content table.shop_table .woocommerce-table__product-name a {
  font-weight: 500;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content table.shop_table small, .woocommerce-account .woocommerce .woocommerce-MyAccount-content table.shop_table .includes_tax {
  font-size: clamp(0.6875rem, 0.6655rem + 0.0939vw, 0.75rem);
  color: #999999;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content .tups-points .tups-points__heading {
  margin-top: 40px;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-notice {
  display: flex;
  flex-direction: column-reverse;
  align-items: flex-start;
  gap: 12px;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-info .button,
.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-message .button,
.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-notice .button {
  float: none;
  margin: 0;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content address {
  font-style: normal;
  line-height: 1.5;
  color: #333333;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-Addresses {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;
  margin-top: 16px;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-Addresses::before, .woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-Addresses::after {
  display: none;
}
@media (max-width: 767px) {
  .woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-Addresses {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-Address {
  width: auto;
  float: none;
  margin: 0;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-Address-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 12px;
  border-bottom: 1px solid #000000;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-Address-title::before, .woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-Address-title::after {
  display: none;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-Address-title h2, .woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-Address-title h3 {
  margin: 0;
  padding-bottom: 12px;
  border: 0;
  float: none;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-Address-title .edit {
  float: none;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  white-space: nowrap;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-customer-details address {
  padding: 16px;
  border: 1px solid #000000;
  border-radius: 0;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-columns--addresses {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-columns--addresses::before, .woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-columns--addresses::after {
  display: none;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-columns--addresses .woocommerce-column {
  width: auto;
  float: none;
}
@media (max-width: 767px) {
  .woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-columns--addresses {
    grid-template-columns: minmax(0, 1fr);
  }
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content form .form-row {
  margin-bottom: 16px;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-input-wrapper strong {
  display: block;
  font-size: clamp(0.75rem, 0.706rem + 0.1878vw, 0.875rem);
  font-weight: 400;
  color: #000000;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content em {
  font-style: normal;
  font-size: clamp(0.6875rem, 0.6655rem + 0.0939vw, 0.75rem);
  color: #999999;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content fieldset {
  margin: 32px 0 0;
  padding: 0;
  border: 0;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content fieldset legend {
  display: block;
  width: 100%;
  margin: 0 0 16px;
  padding: 0 0 12px;
  border-bottom: 1px solid #000000;
  font-size: clamp(0.875rem, 0.787rem + 0.3756vw, 1.125rem);
  font-weight: 500;
  color: #000000;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content form.woocommerce-EditAccountForm {
  display: flex;
  flex-direction: column;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content form.woocommerce-EditAccountForm > .clear {
  display: none;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content form.woocommerce-EditAccountForm > p:has(#account_last_name) {
  order: -2;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content form.woocommerce-EditAccountForm > p:has(#account_first_name) {
  order: -1;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content form.woocommerce-EditAccountForm > .form-row-first, .woocommerce-account .woocommerce .woocommerce-MyAccount-content form.woocommerce-EditAccountForm > .form-row-last {
  width: 100%;
  float: none;
}

/* ---------- スマートフォン ---------- */
@media (max-width: 767px) {
  .woocommerce-MyAccount-navigation ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 16px;
  }
  .woocommerce-MyAccount-navigation ul li a {
    padding: 12px 0;
  }
  .woocommerce-account .woocommerce .woocommerce-MyAccount-content table.woocommerce-orders-table tbody th {
    display: flex !important;
    font-weight: 500;
  }
  .woocommerce-account .woocommerce .woocommerce-MyAccount-content table.woocommerce-orders-table tr {
    padding: 16px 0;
  }
  .woocommerce-account .woocommerce .woocommerce-MyAccount-content table.woocommerce-orders-table td,
  .woocommerce-account .woocommerce .woocommerce-MyAccount-content table.woocommerce-orders-table th {
    border: 0;
    padding: 4px 0;
  }
  .woocommerce-account .woocommerce .woocommerce-MyAccount-content table.tups-points__table thead {
    display: none;
  }
  .woocommerce-account .woocommerce .woocommerce-MyAccount-content table.tups-points__table tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 2px 12px;
    padding: 12px 0;
    border-bottom: 1px solid #000000;
  }
  .woocommerce-account .woocommerce .woocommerce-MyAccount-content table.tups-points__table td {
    display: block;
    padding: 0;
    border: 0;
  }
  .woocommerce-account .woocommerce .woocommerce-MyAccount-content table.tups-points__table td[data-title=日付] {
    grid-column: 1/-1;
    font-size: clamp(0.6875rem, 0.6655rem + 0.0939vw, 0.75rem);
    color: #999999;
  }
  .woocommerce-account .woocommerce .woocommerce-MyAccount-content table.woocommerce-MyAccount-paymentMethods thead {
    display: none;
  }
  .woocommerce-account .woocommerce .woocommerce-MyAccount-content table.woocommerce-MyAccount-paymentMethods tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 4px 12px;
    padding: 12px 0;
    border-bottom: 1px solid #000000;
  }
  .woocommerce-account .woocommerce .woocommerce-MyAccount-content table.woocommerce-MyAccount-paymentMethods td {
    display: block;
    padding: 0;
    border: 0;
    text-align: left !important;
  }
  .woocommerce-account .woocommerce .woocommerce-MyAccount-content table.woocommerce-MyAccount-paymentMethods td::before {
    content: none !important;
  }
  .woocommerce-account .woocommerce .woocommerce-MyAccount-content table.woocommerce-MyAccount-paymentMethods .payment-method-actions {
    grid-row: 1/span 2;
    grid-column: 2;
    align-self: center;
  }
}
.tups-turnstile {
  margin: 16px 0;
}

.tups-turnstile-checkout {
  margin: 24px 0;
}

/*
Theme Name: TUPS Store
Theme URI: https://store.tupsjapan.com/
Description: TUPS OFFICIAL STORE（B2C）専用の子テーマ。ノーコードビルダーに依存せず PHP/SCSS で構築する。
Author: FREEBE
Template: hello-elementor
Version: 0.2.0
Text Domain: tups-store
*/
.tups-doc-page .page-content {
  padding-bottom: 64px;
  color: #000000;
}
@media (max-width: 767px) {
  .tups-doc-page .page-content {
    padding-bottom: 48px;
  }
}
.tups-doc-page .tups-doc-rows {
  border-bottom: 1px solid #000000;
}
.tups-doc-page .tups-doc-row {
  display: grid;
  grid-template-columns: 15em minmax(0, 1fr);
  column-gap: 32px;
  padding-block: 24px;
  border-top: 1px solid #000000;
}
@media (max-width: 767px) {
  .tups-doc-page .tups-doc-row {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 4px;
    padding-block: 16px;
  }
}
.tups-doc-page .tups-doc-row:first-child {
  border-top: 0;
  padding-top: 0;
}
.tups-doc-page h2.tups-doc-key {
  margin: 0;
  padding: 0;
  font-size: clamp(0.8125rem, 0.7465rem + 0.2817vw, 1rem);
  font-weight: 500;
  line-height: 1.8;
  color: #000000;
}
.tups-doc-page .tups-doc-value {
  font-size: clamp(0.8125rem, 0.7465rem + 0.2817vw, 1rem);
  font-weight: 400;
  line-height: 1.8;
  color: #000000;
}
.tups-doc-page .tups-doc-value > * {
  margin: 0;
}
.tups-doc-page .tups-doc-value > * + * {
  margin-top: 16px;
}
.tups-doc-page .tups-doc-value ul {
  padding-left: 1.4em;
}
.tups-doc-page .tups-doc-value li {
  margin: 0;
}
.tups-doc-page .tups-doc-value a {
  color: inherit;
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.tups-doc-page .tups-doc-value a:hover {
  opacity: 0.6;
}

/*
Theme Name: TUPS Store
Theme URI: https://store.tupsjapan.com/
Description: TUPS OFFICIAL STORE（B2C）専用の子テーマ。ノーコードビルダーに依存せず PHP/SCSS で構築する。
Author: FREEBE
Template: hello-elementor
Version: 0.2.0
Text Domain: tups-store
*/
.tups-page-title {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: 24px;
  row-gap: 4px;
  margin: 0 0 32px;
  padding-bottom: 32px;
  border-bottom: 1px solid #000000;
  text-align: left;
}
@media (max-width: 767px) {
  .tups-page-title {
    column-gap: 16px;
    margin-bottom: 24px;
    padding-bottom: 24px;
  }
}

.tups-page-title__en {
  margin: 0;
  font-family: "Inter", "Noto Sans JP", sans-serif;
  font-size: clamp(1.25rem, 0.9859rem + 1.1268vw, 2rem);
  font-weight: 400;
  line-height: 1.2;
  color: #000000;
}

h1.tups-page-title__ja {
  margin: 0;
  padding: 0;
  font-family: inherit;
  font-size: clamp(0.875rem, 0.787rem + 0.3756vw, 1.125rem);
  font-weight: 400;
  line-height: 1.4;
  color: #000000;
}

.tups-titled .page-content {
  padding-top: 48px;
}
@media (max-width: 767px) {
  .tups-titled .page-content {
    padding-top: 32px;
  }
}

.woocommerce-products-header {
  padding: 48px 0 0;
}
@media (max-width: 767px) {
  .woocommerce-products-header {
    padding: 32px 0 0;
  }
}
