/* ==========================================================================
   SAMURAI デザインと、ローンチ機能・WooCommerce をつなぐ調整
   ここだけが移植ではなく、WordPress側のために書き足した部分です。
   ========================================================================== */

/* ---------- 基本 ---------- */
html { -webkit-text-size-adjust: 100%; }

body.sm-body {
	margin: 0;
	background: var(--sm-cream, #fff4ea);
	color: var(--sm-ink, #0d0d0d);
	font-family: var(--sm-body, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Noto Sans CJK JP", "Yu Gothic", Meiryo, sans-serif);
	line-height: 1.9;
	overflow-x: hidden;
}

body.sm-body img,
body.sm-body video { max-width: 100%; height: auto; }

body.sm-body a { color: var(--sm-orange, #ff6a13); }

.sm-main { display: block; min-height: 40vh; }

/* ヘッダーが固定なので、トップページ以外は上に余白を作る */
body.sm-body:not(.home) .sm-main { padding-top: var(--sm-hh, 108px); }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.skip-link:focus {
	position: fixed;
	top: 8px; left: 8px;
	z-index: 100000;
	width: auto; height: auto;
	clip: auto;
	padding: 10px 18px;
	background: var(--sm-ink, #0d0d0d);
	color: #fff;
	border-radius: 999px;
}

:focus-visible {
	outline: 2px solid var(--sm-orange, #ff6a13);
	outline-offset: 3px;
}

/* ---------- ローンチ機能（プラグイン）の見た目をSAMURAIに合わせる ---------- */
.sl-gate {
	margin: 24px 0;
	padding: 24px;
	border: 1px solid rgba(13, 13, 13, .1);
	border-left: 3px solid var(--sm-orange, #ff6a13);
	border-radius: var(--sm-radius, 28px);
	background: rgba(255, 255, 255, .8);
	backdrop-filter: blur(10px);
	color: var(--sm-ink, #0d0d0d);
}

.sl-gate__title {
	margin: 0 0 8px;
	font-family: var(--sm-display, sans-serif);
	font-size: 20px;
	letter-spacing: .04em;
	color: var(--sm-ink, #0d0d0d);
}

.sl-gate__message {
	margin: 0;
	font-size: 14px;
	line-height: 1.9;
	color: var(--sm-gray, #6b625b);
}

.sl-gate__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 18px;
}

/* プラグイン側のボタンを SAMURAI のボタンと同じ形にする */
.sl-gate__btn {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 18px 30px;
	border: 0;
	border-radius: 999px;
	background: var(--sm-ink, #0d0d0d);
	color: #fff;
	font-family: var(--sm-display, sans-serif);
	font-size: 14px;
	letter-spacing: .08em;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: transform .4s var(--sm-ease, ease), box-shadow .4s var(--sm-ease, ease);
	box-shadow: 0 14px 30px -12px rgba(0, 0, 0, .5);
}

.sl-gate__btn:hover {
	transform: translateY(-3px);
	color: #fff;
	box-shadow: 0 24px 40px -14px rgba(255, 106, 19, .7);
}

.sl-gate__btn--primary {
	background: linear-gradient(100deg, var(--sm-orange, #ff6a13), #ff3d00);
	color: #fff;
}

.sl-gate__btn--ghost {
	background: rgba(255, 255, 255, .7);
	color: var(--sm-ink, #0d0d0d);
	border: 1.5px solid rgba(0, 0, 0, .12);
	box-shadow: none;
}

.sl-gate__btn--ghost:hover { color: var(--sm-ink, #0d0d0d); }

/* フェーズの帯 */
.sl-phase-banner {
	margin: 0 0 24px;
	padding: 14px 20px;
	border-radius: 999px;
	background: rgba(255, 106, 19, .12);
	border: 1px solid rgba(255, 106, 19, .35);
	color: var(--sm-ink, #0d0d0d);
	font-size: 14px;
}

/* コード入力・事前登録フォーム */
.sl-code,
.sl-register { max-width: 560px; }

.sl-code__lead,
.sl-register__consent,
.sl-code__hint {
	font-size: 14px;
	line-height: 1.9;
	color: var(--sm-gray, #6b625b);
}

.sl-code__input {
	min-height: 56px;
	padding: 14px 20px;
	background: #fff;
	border: 1.5px solid rgba(0, 0, 0, .12);
	border-radius: 999px;
	color: var(--sm-ink, #0d0d0d);
	font-size: 15px;
}

.sl-code__input:focus {
	outline: 2px solid var(--sm-orange, #ff6a13);
	outline-offset: 2px;
}

.sl-code__message {
	padding: 16px 20px;
	border-radius: 20px;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, .08);
	font-size: 14px;
}

.sl-code__message--success { border-left: 3px solid #1aa64b; }
.sl-code__message--info    { border-left: 3px solid var(--sm-orange, #ff6a13); }
.sl-code__message--error   { border-left: 3px solid #d63638; }

.sl-code__done-title { color: #1aa64b; font-family: var(--sm-display, sans-serif); }

/* 登録セクション内ではカード色に合わせる */
.sm-sign--mail .sl-register { max-width: none; }
.sm-sign--mail .sl-code__lead { display: none; }

/* 商品ページの注意書き */
.sl-product-notice {
	margin: 20px 0;
	padding: 18px 22px;
	border-radius: 20px;
	background: rgba(255, 255, 255, .7);
	border: 1px solid rgba(0, 0, 0, .08);
}

.sl-product-notice__item {
	margin: 0;
	font-size: 12.5px;
	line-height: 1.9;
	color: var(--sm-gray, #6b625b);
}

.sl-product-notice__item + .sl-product-notice__item {
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px dashed rgba(0, 0, 0, .1);
}

.sl-product-notice__badge {
	display: inline-block;
	margin-right: 8px;
	padding: 3px 12px;
	border-radius: 999px;
	background: var(--sm-orange, #ff6a13);
	color: #fff;
	font-family: var(--sm-display, sans-serif);
	font-size: 11px;
	letter-spacing: .08em;
}

/* 年齢確認ゲート */
.sl-age-gate { background: rgba(255, 244, 234, .96); }

.sl-age-gate__inner {
	background: #fff;
	border: 1px solid rgba(0, 0, 0, .08);
	border-radius: var(--sm-radius, 28px);
	color: var(--sm-ink, #0d0d0d);
	box-shadow: 0 60px 100px -50px rgba(120, 40, 0, .5);
}

.sl-age-gate__brand { color: var(--sm-orange, #ff6a13); font-family: var(--sm-display, sans-serif); }
.sl-age-gate__title { font-family: var(--sm-display, sans-serif); }
.sl-age-gate__message { color: var(--sm-gray, #6b625b); }
.sl-age-gate__note { color: rgba(13, 13, 13, .45); }

/* 最終確認画面・特商法・COA */
.sl-final-confirm {
	border: 2px solid var(--sm-orange, #ff6a13);
	border-radius: var(--sm-radius, 28px);
	background: #fff;
}

.sl-final-confirm__title { font-family: var(--sm-display, sans-serif); color: var(--sm-orange, #ff6a13); }
.sl-final-confirm__row { border-top-color: rgba(0, 0, 0, .08); }
.sl-final-confirm__row dt { color: var(--sm-gray, #6b625b); }
.sl-final-confirm__note { border-top-color: rgba(0, 0, 0, .08); color: var(--sm-gray, #6b625b); }

.sl-legal-table th {
	background: rgba(255, 215, 184, .35);
	border-color: rgba(0, 0, 0, .1);
}

.sl-legal-table td { border-color: rgba(0, 0, 0, .1); }

.sl-coa__placeholder {
	border-color: rgba(0, 0, 0, .15);
	background:
		repeating-linear-gradient(45deg, rgba(0, 0, 0, .04) 0 12px, transparent 12px 24px),
		linear-gradient(135deg, var(--sm-peach, #ffd7b8), var(--sm-cream, #fff4ea));
	color: rgba(0, 0, 0, .4);
}

.sl-bacs-notice {
	border: 2px solid var(--sm-orange, #ff6a13);
	border-radius: var(--sm-radius, 28px);
	background: #fff;
}

.sl-bacs-notice__title { font-family: var(--sm-display, sans-serif); color: var(--sm-orange, #ff6a13); }
.sl-bacs-notice__body { color: var(--sm-gray, #6b625b); }

/* ---------- WooCommerce の共通調整 ---------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border-radius: 20px;
	border: 1px solid rgba(0, 0, 0, .08);
	border-top: 3px solid var(--sm-orange, #ff6a13);
	background: #fff;
	font-size: 14px;
}

.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button {
	border-radius: 999px;
	padding: 16px 28px;
	background: var(--sm-ink, #0d0d0d);
	color: #fff;
	font-family: var(--sm-display, sans-serif);
	font-size: 14px;
	letter-spacing: .08em;
	transition: transform .4s var(--sm-ease, ease), box-shadow .4s var(--sm-ease, ease);
}

.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button:hover {
	background: linear-gradient(100deg, var(--sm-orange, #ff6a13), #ff3d00);
	color: #fff;
	transform: translateY(-3px);
}

.woocommerce .button.alt,
.woocommerce button.button.alt {
	background: linear-gradient(100deg, var(--sm-orange, #ff6a13), #ff3d00);
	color: #fff;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text {
	padding: 14px 18px;
	border: 1.5px solid rgba(0, 0, 0, .12);
	border-radius: 16px;
	background: #fff;
	font-size: 15px;
}

.woocommerce table.shop_table {
	border-radius: 20px;
	border-color: rgba(0, 0, 0, .1);
	background: #fff;
}

/* 一覧・カート・購入手続きの余白 */
.woocommerce-page .sm-main > .woocommerce,
.woocommerce-page .sm-main > .sm-wrap {
	width: min(1240px, 100% - 32px);
	margin-inline: auto;
	padding-block: clamp(32px, 6vw, 64px);
}

@media (prefers-reduced-motion: reduce) {
	.sl-gate__btn:hover,
	.woocommerce .button:hover { transform: none; }
}
/* ==========================================================
   マイアカウント（ログイン・会員登録・ダッシュボード）
   スマホで見やすく、指で押しやすいことを優先しています。
   ========================================================== */

/* 幅の計算に余白を含める。
   これが無いと「幅100% + 余白」で画面からはみ出し、横スクロールが出ます。 */
.woocommerce-account .woocommerce,
.woocommerce-account .woocommerce *,
.woocommerce-account .woocommerce *::before,
.woocommerce-account .woocommerce *::after{box-sizing:border-box}

.woocommerce-account .sm-main{background:var(--sm-cream,#fff4ea)}
.woocommerce-account .woocommerce{width:100%;max-width:1100px;margin:0 auto;padding:clamp(24px,5vw,56px) 16px clamp(48px,8vw,100px)}

/* 見出しが画面左端に付かないようにする */
.woocommerce-account .sm-phero__inner,
.woocommerce-account .sm-wrap{padding-left:16px;padding-right:16px}

/* ----------------------------------------------------------
   ログイン / 会員登録（未ログイン時）
   ---------------------------------------------------------- */
.woocommerce-account #customer_login.u-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.woocommerce-account #customer_login .u-column1,
.woocommerce-account #customer_login .u-column2{float:none;width:auto;padding:clamp(22px,4vw,36px);border-radius:26px;background:#fff;box-shadow:0 30px 60px -45px rgba(120,40,0,.45)}
.woocommerce-account #customer_login .u-column2{background:linear-gradient(160deg,#fff,#fff6ee);border:1.5px solid rgba(255,106,19,.25)}
.woocommerce-account #customer_login h2{font-family:var(--sm-display);font-size:clamp(20px,2.4vw,26px);line-height:1.25;margin:0 0 16px;color:var(--sm-ink)}

/* ----------------------------------------------------------
   メニュー（2列グリッド）
   横に流れるチップだと、画面の外に出た項目に気づけないため。
   ---------------------------------------------------------- */
.woocommerce-account .woocommerce-MyAccount-navigation{margin:0 0 20px}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.woocommerce-account .woocommerce-MyAccount-navigation li{margin:0}

/* ログアウトは1行使って、誤タップしにくい位置に置く */
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout{grid-column:1 / -1}

/* デジタル商品を扱っていないため、ダウンロードは出さない */
.woocommerce-account .woocommerce-MyAccount-navigation-link--downloads{display:none}

.woocommerce-account .woocommerce-MyAccount-navigation a{display:flex;align-items:center;justify-content:center;min-height:52px;padding:10px 12px;border-radius:16px;background:#fff;color:var(--sm-ink);text-decoration:none;font-size:14px;font-weight:700;line-height:1.3;text-align:center;border:1.5px solid rgba(0,0,0,.08);transition:background .25s,color .25s,border-color .25s}
.woocommerce-account .woocommerce-MyAccount-navigation a:hover{border-color:rgba(255,106,19,.4)}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--sm-orange,#ff6a13);border-color:var(--sm-orange,#ff6a13);color:#fff}
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a{background:transparent;border-style:dashed;color:var(--sm-gray,#6b6b6b);font-weight:700}

/* ----------------------------------------------------------
   本文のカード
   ---------------------------------------------------------- */
.woocommerce-account .woocommerce-MyAccount-content{width:100%;padding:clamp(20px,4vw,34px);border-radius:26px;background:#fff;box-shadow:0 30px 60px -45px rgba(120,40,0,.45);font-size:15px;line-height:1.9}
.woocommerce-account .woocommerce-MyAccount-content p{margin:0 0 14px}
.woocommerce-account .woocommerce-MyAccount-content p:last-child{margin-bottom:0}
.woocommerce-account .woocommerce-MyAccount-content a{color:var(--sm-orange,#ff6a13)}
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3{font-family:var(--sm-display);font-size:20px;line-height:1.3;margin:0 0 14px;color:var(--sm-ink)}

/* ----------------------------------------------------------
   注文履歴（カード形式）
   表のままだとスマホで横にはみ出し、値が画面の外に出てしまうため、
   1注文を1枚のカードにして、上から順に読める形にする。
   位置はグリッドで指定せず「順番に積む」だけにしている。
   WooCommerce のテーブル用スタイルと競合して崩れにくくするため。
   ---------------------------------------------------------- */
.woocommerce-account .woocommerce-orders-table{width:100%;border:0;border-collapse:collapse;display:block;background:transparent}
.woocommerce-account .woocommerce-orders-table thead{display:none}
.woocommerce-account .woocommerce-orders-table tbody{display:block;width:100%}

.woocommerce-account .woocommerce-orders-table__row{display:flex;flex-direction:column;align-items:stretch;gap:6px;width:100%;margin:0 0 12px;padding:18px;border-radius:20px;background:var(--sm-cream,#fff4ea);border:1.5px solid rgba(0,0,0,.06)}
.woocommerce-account .woocommerce-orders-table__row:last-child{margin-bottom:0}

/* 注文番号は <th>、それ以外は <td>。どちらにも同じ見た目を当てる。
   WooCommerce の罫線と縞模様はカードの中に線や帯が出るので消す。 */
.woocommerce-account .woocommerce-orders-table th.woocommerce-orders-table__cell,
.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell{display:block;width:auto;padding:0;margin:0;border:0;background:transparent;text-align:left;font-size:14px;font-weight:400;color:var(--sm-ink)}
.woocommerce-account .woocommerce-orders-table__cell::before{content:attr(data-title) "：";display:block;font-size:11px;font-weight:700;color:var(--sm-gray,#6b6b6b);margin:0 0 2px}

/* ① 注文番号 */
.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-number{order:1;font-family:var(--sm-display);font-size:22px;line-height:1.2}
.woocommerce-account .woocommerce-orders-table__cell-order-number::before{display:none}
.woocommerce-account .woocommerce-orders-table__cell-order-number a{color:var(--sm-ink);text-decoration:none;font-weight:800}

/* ② 状態のバッジ */
.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-status{order:2;align-self:flex-start;padding:5px 14px;border-radius:999px;background:rgba(0,0,0,.06);font-size:12px;font-weight:800;line-height:1.5;white-space:nowrap}
.woocommerce-account .woocommerce-orders-table__cell-order-status::before{display:none}
.woocommerce-account .woocommerce-orders-table__row--status-completed .woocommerce-orders-table__cell-order-status{background:#e6f4ea;color:#1e7b34}
.woocommerce-account .woocommerce-orders-table__row--status-on-hold .woocommerce-orders-table__cell-order-status{background:#fff0e0;color:#a85a00}
.woocommerce-account .woocommerce-orders-table__row--status-processing .woocommerce-orders-table__cell-order-status{background:#e8f0fe;color:#1a56b8}
.woocommerce-account .woocommerce-orders-table__row--status-cancelled .woocommerce-orders-table__cell-order-status,
.woocommerce-account .woocommerce-orders-table__row--status-failed .woocommerce-orders-table__cell-order-status,
.woocommerce-account .woocommerce-orders-table__row--status-refunded .woocommerce-orders-table__cell-order-status{background:#f1f1f1;color:#6b6b6b}

/* ③ 日付 */
.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-date{order:3;color:var(--sm-gray,#6b6b6b);font-size:13px}
.woocommerce-account .woocommerce-orders-table__cell-order-date::before{display:none}

/* ④ 合計 */
.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-total{order:4;font-size:15px;font-weight:700}
.woocommerce-account .woocommerce-orders-table__cell-order-total::before{display:none}
.woocommerce-account .woocommerce-orders-table__cell-order-total .woocommerce-Price-amount{font-family:var(--sm-display);font-size:21px;font-weight:800;margin-left:4px}

/* ⑤ ボタンは幅いっぱい */
.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions{order:5;margin-top:6px}
.woocommerce-account .woocommerce-orders-table__cell-order-actions::before{display:none}
.woocommerce-account .woocommerce-orders-table__cell-order-actions .button{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:12px 20px;border:0;border-radius:999px;background:var(--sm-ink,#0d0d0d);color:#fff;font-size:14px;font-weight:800;text-decoration:none}
.woocommerce-account .woocommerce-orders-table__cell-order-actions .button:hover{background:var(--sm-orange,#ff6a13)}

/* 注文が無いときの案内 */
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info{display:flex;flex-wrap:wrap;align-items:center;gap:12px;width:100%;margin:0 0 18px;padding:16px 18px;border-radius:18px;border:0;border-left:4px solid var(--sm-orange,#ff6a13);background:var(--sm-cream,#fff4ea);font-size:14px;line-height:1.8;color:var(--sm-ink)}
.woocommerce-account .woocommerce-info::before,
.woocommerce-account .woocommerce-message::before{display:none}
.woocommerce-account .woocommerce-info .button,
.woocommerce-account .woocommerce-message .button{flex:1 1 100%;display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:999px;background:var(--sm-ink,#0d0d0d);color:#fff;font-weight:800;text-decoration:none}

/* ----------------------------------------------------------
   住所
   ---------------------------------------------------------- */
.woocommerce-account .woocommerce-Addresses.u-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%}
.woocommerce-account .woocommerce-Addresses .u-column1,
.woocommerce-account .woocommerce-Addresses .u-column2{float:none;width:auto;padding:20px;border-radius:20px;background:var(--sm-cream,#fff4ea);border:1.5px solid rgba(0,0,0,.06)}
.woocommerce-account .woocommerce-Address-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}
.woocommerce-account .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Address-title h3{margin:0;font-size:17px}
.woocommerce-account .woocommerce-Address-title .edit{flex:none;min-height:40px;display:inline-flex;align-items:center;padding:0 16px;border-radius:999px;background:#fff;border:1.5px solid rgba(0,0,0,.1);color:var(--sm-ink);font-size:13px;font-weight:700;text-decoration:none}
.woocommerce-account .woocommerce-Address address{font-style:normal;font-size:14px;line-height:2;color:var(--sm-ink)}

/* ----------------------------------------------------------
   入力フォーム（ログイン・登録・住所・アカウント詳細で共通）
   ---------------------------------------------------------- */
.woocommerce-account .woocommerce-form-row,
.woocommerce-account .form-row{width:100%;margin:0 0 14px;padding:0;float:none}
.woocommerce-account .form-row label,
.woocommerce-account .woocommerce-form-row label{display:block;font-size:13px;font-weight:700;color:var(--sm-gray,#6b6b6b);margin:0 0 6px}
.woocommerce-account .required{color:var(--sm-orange,#ff6a13);text-decoration:none;border:0}

.woocommerce-account input[type="text"],
.woocommerce-account input[type="email"],
.woocommerce-account input[type="tel"],
.woocommerce-account input[type="password"],
.woocommerce-account select,
.woocommerce-account textarea{width:100%;min-height:50px;padding:13px 16px;border-radius:14px;border:1.5px solid rgba(0,0,0,.12);background:#fff;font:inherit;
	/* 16px未満だと iPhone で入力時に画面が勝手に拡大されるため、16pxを下回らせない */
	font-size:16px !important;color:var(--sm-ink);outline:none;transition:border-color .25s,box-shadow .25s;appearance:none;-webkit-appearance:none}
.woocommerce-account input:focus,
.woocommerce-account select:focus,
.woocommerce-account textarea:focus{border-color:var(--sm-orange,#ff6a13);box-shadow:0 0 0 4px rgba(255,106,19,.15)}

/* 「パスワードの変更」の枠をカード風に */
.woocommerce-account fieldset{margin:18px 0 0;padding:18px;border:0;border-radius:18px;background:var(--sm-cream,#fff4ea)}
.woocommerce-account fieldset legend{padding:0 0 10px;font-family:var(--sm-display);font-size:16px;font-weight:700;color:var(--sm-ink)}

/* ボタン */
.woocommerce-account .woocommerce-Button,
.woocommerce-account .woocommerce-form button[type="submit"],
.woocommerce-account button[type="submit"].button{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;padding:14px 22px;border:0;border-radius:999px;background:linear-gradient(100deg,var(--sm-orange,#ff6a13),#ff3d00);color:#fff;font:inherit;font-size:15px;font-weight:800;letter-spacing:.02em;cursor:pointer;transition:filter .25s}
.woocommerce-account .woocommerce-Button:hover,
.woocommerce-account .woocommerce-form button[type="submit"]:hover{filter:brightness(1.08)}

/* ログイン画面の補助要素 */
.woocommerce-account .woocommerce-form-login__rememberme{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--sm-gray,#6b6b6b);margin:2px 0 14px}
.woocommerce-account .woocommerce-form-login__rememberme input{width:20px;height:20px;min-height:0;accent-color:var(--sm-orange,#ff6a13);margin:0}
.woocommerce-account .woocommerce-LostPassword{margin:14px 0 0;font-size:14px}
.woocommerce-account .woocommerce-LostPassword a{color:var(--sm-gray,#6b6b6b);text-decoration:underline}
.woocommerce-account .woocommerce-privacy-policy-text{font-size:13px;line-height:1.9;color:var(--sm-gray,#6b6b6b)}

/* エラー表示 */
.woocommerce-account .woocommerce-error{width:100%;margin:0 0 18px;padding:16px 18px;border-radius:18px;border:0;border-left:4px solid #d83a2e;background:#fdeceb;color:#8c1d14;font-size:14px;line-height:1.8;list-style:none}
.woocommerce-account .woocommerce-error::before{display:none}
.woocommerce-account .woocommerce-error li{margin:0}

/* ----------------------------------------------------------
   スマホ（767px以下）
   ---------------------------------------------------------- */
@media (max-width:767px){
	.woocommerce-account #customer_login.u-columns,
	.woocommerce-account .woocommerce-Addresses.u-columns{grid-template-columns:1fr}

	/* 名・姓の2カラムを1列にする */
	.woocommerce-account .form-row-first,
	.woocommerce-account .form-row-last{width:100%;float:none;margin-right:0}

	.woocommerce-account .woocommerce-MyAccount-content{padding:20px 16px;border-radius:22px}
	.woocommerce-account .woocommerce-orders-table__row{padding:16px}
}

/* ダッシュボードのあいさつ */
.woocommerce-account .sl-account-greeting{font-family:var(--sm-display);font-size:clamp(19px,2.2vw,24px);line-height:1.4;margin:0 0 8px;color:var(--sm-ink)}
.woocommerce-account .sl-account-lead{font-size:14px;line-height:1.9;color:var(--sm-gray,#6b6b6b);margin:0}
/* 案内の中のボタンは、文章を読んでから押せるよう下に置く */
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-message{flex-direction:column;align-items:stretch}
.woocommerce-account .woocommerce-info .button,
.woocommerce-account .woocommerce-message .button{order:2;margin-top:4px}

/* 注文カードの中で、テーブル由来の余白が残らないようにする */
.woocommerce-account .woocommerce-orders-table tbody tr:last-child{margin-bottom:0}
/* WooCommerce のスマホ用CSSを打ち消す
   （woocommerce-smallscreen.css が !important で右寄せ・番号非表示・縞模様を当てているため） */
.woocommerce-account table.shop_table_responsive tbody th,
.woocommerce-account table.shop_table_responsive tbody th.woocommerce-orders-table__cell-order-number{display:block!important}

.woocommerce-account table.shop_table_responsive tr td,
.woocommerce-account table.shop_table_responsive tr th{text-align:left!important;background-color:transparent!important}

.woocommerce-account table.shop_table_responsive tr td::before,
.woocommerce-account table.shop_table_responsive tr th::before{float:none!important}

.woocommerce-account table.shop_table_responsive tr:nth-child(2n) td{background-color:transparent!important}

/* 状態のバッジだけは背景を戻す */
.woocommerce-account .woocommerce-orders-table__row--status-completed td.woocommerce-orders-table__cell-order-status{background-color:#e6f4ea!important;color:#1e7b34}
.woocommerce-account .woocommerce-orders-table__row--status-on-hold td.woocommerce-orders-table__cell-order-status{background-color:#fff0e0!important;color:#a85a00}
.woocommerce-account .woocommerce-orders-table__row--status-processing td.woocommerce-orders-table__cell-order-status{background-color:#e8f0fe!important;color:#1a56b8}
.woocommerce-account .woocommerce-orders-table__row--status-cancelled td.woocommerce-orders-table__cell-order-status,
.woocommerce-account .woocommerce-orders-table__row--status-failed td.woocommerce-orders-table__cell-order-status,
.woocommerce-account .woocommerce-orders-table__row--status-refunded td.woocommerce-orders-table__cell-order-status{background-color:#f1f1f1!important;color:#6b6b6b}

/* カード自体の背景（縞模様の打ち消しで消えないように） */
.woocommerce-account .woocommerce-orders-table__row{background-color:var(--sm-cream,#fff4ea)!important}

/* ボタンの背景も戻す */
.woocommerce-account .woocommerce-orders-table__cell-order-actions .button{background-color:var(--sm-ink,#0d0d0d)!important;color:#fff!important}
.woocommerce-account .woocommerce-orders-table__cell-order-actions .button:hover{background-color:var(--sm-orange,#ff6a13)!important}

/* 状態のバッジを内容の幅に収める
   （flex の align-self だけでは、テーブル由来の指定に負けて幅いっぱいに伸びるため） */
.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-status{
	align-self:flex-start!important;
	width:auto!important;
	max-width:max-content!important;
	border-radius:999px!important;
	padding:5px 14px!important;
	line-height:1.5!important;
}

/* ホームのショートカット */
.woocommerce-account .sl-account-links{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0 0}
.woocommerce-account .sl-account-link{display:flex;flex-direction:column;justify-content:center;gap:3px;min-height:76px;padding:14px 16px;border-radius:18px;background:var(--sm-cream,#fff4ea);border:1.5px solid rgba(0,0,0,.06);text-decoration:none;transition:border-color .25s}
.woocommerce-account .sl-account-link:hover{border-color:rgba(255,106,19,.45)}
.woocommerce-account .sl-account-link--shop{background:linear-gradient(150deg,var(--sm-orange,#ff6a13),#ff3d00);border-color:transparent}
/* 項目が5つで最後の1つだけが余るため、横いっぱいに広げて収まりをよくする */
.woocommerce-account .sl-account-link--shop{grid-column:1 / -1;min-height:64px}
.woocommerce-account .sl-account-link__title{font-size:15px;font-weight:800;color:var(--sm-ink)}
.woocommerce-account .sl-account-link__note{font-size:11px;color:var(--sm-gray,#6b6b6b)}
.woocommerce-account .sl-account-link--shop .sl-account-link__title{color:#fff}
.woocommerce-account .sl-account-link--shop .sl-account-link__note{color:rgba(255,255,255,.8)}

/* =========================================================
   ポイント
   ========================================================= */

/* 残高のカード（マイアカウントのホームとポイントページ） */
.sl-points-card{
	display:flex;flex-direction:column;gap:4px;
	margin:16px 0 0;padding:18px 20px;border-radius:20px;
	background:linear-gradient(150deg,var(--sm-ink,#0d0d0d),#2a2320);
	color:#fff;
}
.sl-points-card__label{font-size:12px;letter-spacing:.06em;color:rgba(255,255,255,.7)}
.sl-points-card__value{font-family:var(--sm-display);font-size:34px;line-height:1.1;color:var(--sm-orange,#ff6a13)}
.sl-points-card__value small{font-size:13px;margin-left:6px;color:#fff;font-family:var(--sm-body)}
.sl-points-card__expiry{font-size:12px;color:rgba(255,255,255,.75)}

/* ポイントページの説明 */
.sl-points-rules{margin:18px 0 0;padding:16px 18px;border-radius:16px;background:var(--sm-cream,#fff4ea)}
.sl-points-rules p{margin:0;font-size:13px;line-height:1.85;color:var(--sm-gray,#6b625b)}
.sl-points-rules p + p{margin-top:8px}

.sl-points-heading{font-family:var(--sm-display);font-size:17px;margin:26px 0 12px}
.sl-points-empty{font-size:14px;color:var(--sm-gray,#6b625b)}

/* 履歴 */
.sl-points-history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.sl-points-history__item{
	padding:14px 16px;border-radius:16px;
	background:var(--sm-cream,#fff4ea);border:1.5px solid rgba(0,0,0,.06);
}
.sl-points-history__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.sl-points-history__type{font-size:14px;font-weight:700;color:var(--sm-ink,#0d0d0d)}
.sl-points-history__points{font-family:var(--sm-display);font-size:19px;white-space:nowrap}
.sl-points-history__points--plus{color:#1e7b34}
.sl-points-history__points--minus{color:#b3261e}
.sl-points-history__note{margin:6px 0 0;font-size:13px;line-height:1.7;color:var(--sm-gray,#6b625b)}
.sl-points-history__date{margin:6px 0 0;font-size:11px;color:rgba(0,0,0,.45)}

/* ページ送り（指で押しやすい大きさにする） */
.sl-points-pager{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0}
.sl-points-pager a,
.sl-points-pager span{
	min-width:48px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;
	border-radius:14px;font-weight:700;font-size:15px;text-decoration:none;
	background:var(--sm-cream,#fff4ea);color:var(--sm-ink,#0d0d0d);border:1.5px solid rgba(0,0,0,.08);
}
.sl-points-pager span.is-current{background:var(--sm-ink,#0d0d0d);color:#fff;border-color:transparent}

/* 購入手続きの入力欄 */
.sl-points-box{
	margin:0 0 18px;padding:18px;border-radius:20px;
	background:var(--sm-cream,#fff4ea);border:1.5px solid rgba(0,0,0,.08);
}
.sl-points-box__title{font-family:var(--sm-display);font-size:15px;margin:0 0 8px}
.sl-points-box__balance{margin:0 0 12px;font-size:14px;color:var(--sm-gray,#6b625b)}
.sl-points-box__balance strong{font-family:var(--sm-display);font-size:22px;color:var(--sm-ink,#0d0d0d);margin:0 4px}
.sl-points-box__form{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch}
.sl-points-box__form input[type=number]{
	flex:1 1 110px;min-width:0;min-height:48px;padding:0 14px;
	font-size:16px;text-align:right;
	border-radius:14px;border:1.5px solid rgba(0,0,0,.15);background:#fff;
}
.sl-points-box__btn{
	min-height:48px;padding:0 18px;border:0;border-radius:14px;cursor:pointer;
	font-size:14px;font-weight:700;
	background:var(--sm-ink,#0d0d0d);color:#fff;
}
.sl-points-box__btn:hover{background:var(--sm-orange,#ff6a13)}
.sl-points-box__btn--ghost{background:#fff;color:var(--sm-ink,#0d0d0d);border:1.5px solid rgba(0,0,0,.15)}
.sl-points-box__btn--ghost:hover{background:#fff;border-color:var(--sm-orange,#ff6a13);color:var(--sm-orange,#ff6a13)}
.sl-points-box__note{margin:10px 0 0;font-size:12px;line-height:1.75;color:var(--sm-gray,#6b625b)}
.sl-points-box__earn{margin:12px 0 0;font-size:13px;font-weight:700;color:var(--sm-ink,#0d0d0d)}
.sl-points-box__earn span{font-weight:400;font-size:12px;color:var(--sm-gray,#6b625b)}

/* 商品ページの「◯ポイント貯まります」 */
.sl-points-earn{
	display:inline-flex;align-items:center;gap:6px;
	margin:10px 0 0;padding:6px 14px;border-radius:999px;
	background:rgba(255,106,19,.12);
	font-size:12px;font-weight:700;color:#b34700;
}

@media (max-width:420px){
	/* ボタンが窮屈になるため、入力欄を1行に独立させる */
	.sl-points-box__form input[type=number]{flex:1 1 100%}
	.sl-points-box__btn{flex:1 1 calc(50% - 4px)}
}

/* =========================================================
   レビュー投稿ページ
   ========================================================= */

.sl-review-notice{
	margin:0 0 18px;padding:14px 18px;border-radius:14px;
	font-size:14px;line-height:1.8;
}
.sl-review-notice--ok{background:#e9f6ec;color:#1e7b34;border:1.5px solid rgba(30,123,52,.25)}
.sl-review-notice--ng{background:#fdeceb;color:#a3251d;border:1.5px solid rgba(163,37,29,.25)}

.sl-review-intro p{margin:0 0 10px;font-size:14px;line-height:1.9;color:var(--sm-gray,#6b625b)}
.sl-review-perk{
	padding:12px 16px;border-radius:14px;
	background:rgba(255,106,19,.10);color:#b34700!important;font-weight:700;
}
.sl-review-hint{font-size:12px;line-height:1.8;color:var(--sm-gray,#6b625b)}
.sl-review-empty{font-size:14px;line-height:1.9}

/* 買った商品の一覧 */
.sl-review-items{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}
.sl-review-item{
	display:flex;align-items:center;gap:14px;
	padding:14px;border-radius:18px;
	background:var(--sm-cream,#fff4ea);border:1.5px solid rgba(0,0,0,.06);
}
.sl-review-item__img{flex:none;width:64px;height:64px;border-radius:12px;overflow:hidden;background:#fff}
.sl-review-item__img img{width:100%;height:100%;object-fit:cover;display:block}
.sl-review-item__body{flex:1;min-width:0}
.sl-review-item__name{margin:0;font-size:14px;font-weight:700;line-height:1.5;color:var(--sm-ink,#0d0d0d)}
.sl-review-item__state{margin:4px 0 0;font-size:11px;color:var(--sm-gray,#6b625b)}

/* ボタン */
.sl-review-btn{
	flex:none;display:inline-flex;align-items:center;justify-content:center;
	min-height:48px;padding:0 20px;border:0;border-radius:14px;cursor:pointer;
	font-size:14px;font-weight:700;text-decoration:none;
	background:var(--sm-ink,#0d0d0d);color:#fff;
}
.sl-review-btn:hover{background:var(--sm-orange,#ff6a13);color:#fff}
.sl-review-btn--ghost{background:#fff;color:var(--sm-ink,#0d0d0d);border:1.5px solid rgba(0,0,0,.15)}
.sl-review-btn--ghost:hover{background:#fff;border-color:var(--sm-orange,#ff6a13);color:var(--sm-orange,#ff6a13)}

/* 投稿フォーム */
.sl-review-form{margin:22px 0 0;padding:20px;border-radius:20px;background:var(--sm-cream,#fff4ea);border:1.5px solid rgba(0,0,0,.06)}
.sl-review-form__product{margin:0 0 16px;font-size:16px;font-weight:700}
.sl-review-form label{display:block;margin:0 0 6px;font-size:13px;font-weight:700}
.sl-review-form textarea{
	width:100%;padding:12px 14px;font-size:16px;line-height:1.8;
	border-radius:14px;border:1.5px solid rgba(0,0,0,.15);background:#fff;
	box-sizing:border-box;
}
.sl-review-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0}

/* 星（右から左に並べて、ホバーで左側も光らせる） */
.sl-review-stars{border:0;margin:0 0 18px;padding:0;display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px}
.sl-review-stars legend{font-size:13px;font-weight:700;margin:0 0 6px;padding:0;float:left;width:100%}
.sl-review-stars input{position:absolute;opacity:0;width:1px;height:1px}
.sl-review-stars label{
	margin:0;cursor:pointer;width:40px;height:40px;
	display:inline-flex;align-items:center;justify-content:center;
	font-size:30px;line-height:1;color:rgba(0,0,0,.18);
	transition:color .15s;
}
.sl-review-stars label::before{content:"★"}
.sl-review-stars input:checked ~ label,
.sl-review-stars label:hover,
.sl-review-stars label:hover ~ label{color:#e8a33d}
.sl-review-stars input:focus-visible + label{outline:2px solid var(--sm-orange,#ff6a13);outline-offset:2px;border-radius:8px}

@media (max-width:480px){
	.sl-review-item{flex-wrap:wrap}
	.sl-review-item .sl-review-btn{width:100%}
}

/* =========================================================
   成分別カテゴリーの「準備中」
   ========================================================= */

.sl-cat-soon{
	margin:0 0 28px;padding:28px 22px;border-radius:22px;text-align:center;
	background:linear-gradient(150deg,rgba(255,106,19,.10),rgba(255,61,0,.06));
	border:1.5px solid rgba(255,106,19,.35);
}
.sl-cat-soon__label{
	margin:0 0 10px;font-family:var(--sm-display);font-size:12px;letter-spacing:.24em;
	color:var(--sm-orange,#ff6a13);
}
.sl-cat-soon__title{margin:0 0 10px;font-size:19px;font-weight:800;line-height:1.5;color:var(--sm-ink,#0d0d0d)}
.sl-cat-soon__text{margin:0 auto;max-width:34em;font-size:14px;line-height:1.9;color:var(--sm-gray,#6b625b)}
.sl-cat-soon__actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:20px 0 0}
.sl-cat-soon__btn{
	display:inline-flex;align-items:center;justify-content:center;
	min-height:48px;padding:0 22px;border-radius:14px;
	font-size:14px;font-weight:700;text-decoration:none;
	background:#06c755;color:#fff!important;
}
.sl-cat-soon__btn:hover{background:#05b34c;color:#fff!important}
.sl-cat-soon__btn--ghost{background:#fff;color:var(--sm-ink,#0d0d0d)!important;border:1.5px solid rgba(0,0,0,.15)}
.sl-cat-soon__btn--ghost:hover{background:#fff;border-color:var(--sm-orange,#ff6a13);color:var(--sm-orange,#ff6a13)!important}

@media (max-width:480px){
	.sl-cat-soon{padding:24px 16px}
	.sl-cat-soon__btn{width:100%}
}

/* 成分の切り替え（商品一覧・カテゴリーページ） */
.sl-cat-nav{margin:0 0 26px}
.sl-cat-nav__label{
	display:block;margin:0 0 10px;
	font-family:var(--sm-display);font-size:11px;letter-spacing:.2em;
	color:var(--sm-gray,#6b625b);
}
.sl-cat-nav__list{
	list-style:none;margin:0;padding:0 0 4px;
	display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;
}
.sl-cat-nav__list::-webkit-scrollbar{display:none}
.sl-cat-nav__item{
	display:inline-flex;align-items:center;gap:6px;white-space:nowrap;
	min-height:44px;padding:0 18px;border-radius:999px;
	font-size:14px;font-weight:700;text-decoration:none;
	background:#fff;color:var(--sm-ink,#0d0d0d);border:1.5px solid rgba(0,0,0,.12);
}
.sl-cat-nav__item:hover{border-color:var(--sm-orange,#ff6a13);color:var(--sm-orange,#ff6a13)}
.sl-cat-nav__item.is-current{background:var(--sm-ink,#0d0d0d);color:#fff;border-color:transparent}
.sl-cat-nav__item.is-current:hover{color:#fff}
.sl-cat-nav__item small{font-size:10px;font-weight:400;opacity:.7}
.sl-cat-nav__item.is-soon{color:var(--sm-gray,#6b625b)}
.sl-cat-nav__item.is-soon.is-current{color:#fff}

/* --- レビュー受付をひろげる期間（2026-10-03） --- */
.sl-review-open{
	margin:0 0 10px;padding:10px 14px;border-radius:12px;
	background:var(--sm-cream,#fff4ea);border:1.5px solid var(--sm-orange,#ff6a13);
	font-size:13px;font-weight:700;line-height:1.7;color:var(--sm-ink,#0d0d0d);
}
.sl-review-item__bought{margin:4px 0 0;font-size:11px;color:var(--sm-gray,#6b625b)}
.sl-review-form input[type="text"],
.sl-review-form input[type="email"]{
	width:100%;padding:12px 14px;border-radius:12px;
	border:1.5px solid rgba(0,0,0,.14);background:#fff;
	font-size:16px;color:var(--sm-ink,#0d0d0d);
}
.sl-review-form input[type="text"]:focus,
.sl-review-form input[type="email"]:focus{outline:2px solid var(--sm-orange,#ff6a13);outline-offset:1px}
.sl-review-form .sl-review-hint{display:block;margin:6px 0 0}
.sl-review-free{border:0;margin:0 0 16px;padding:0}
.sl-review-free legend{font-size:13px;font-weight:700;margin:0 0 8px;padding:0}
.sl-review-free label{
	display:flex;align-items:center;gap:8px;margin:0 0 6px;
	font-size:14px;font-weight:400;cursor:pointer;
}
.sl-review-free input[type="radio"]{width:18px;height:18px;margin:0;accent-color:var(--sm-orange,#ff6a13)}
.sl-review-hint--warn{
	margin:0 0 16px;padding:10px 12px;border-radius:10px;
	background:#fdeceb;color:#a3251d;font-weight:700;
}
.sl-review-pr{
	margin:0 0 8px;padding:6px 10px;border-radius:8px;display:inline-block;
	background:rgba(0,0,0,.06);color:var(--sm-gray,#6b625b);
	font-size:11px;font-weight:700;letter-spacing:.02em;
}

/* --- スマホの左右の余白を必ず16px確保する（2026-10-03） --- */
@media (max-width: 767px) {
	.hs-wrap,
	#primary.content-area,
	.sm-main > .woocommerce,
	.woocommerce-tabs.wc-tabs-wrapper,
	.sm-wrap {
		padding-left: 16px;
		padding-right: 16px;
		box-sizing: border-box;
	}

	/* タブの見出しは、既定の字下げ（40px）を外して枠に合わせる */
	.woocommerce-tabs ul.tabs {
		padding-left: 0;
		margin-left: 0;
	}

	/* 関連商品も枠の内側に収める */
	section.related.products,
	section.upsells.products {
		padding-left: 16px;
		padding-right: 16px;
		box-sizing: border-box;
	}

	/* 表が画面からはみ出さないようにする */
	.hs-entry__content table,
	.woocommerce table.shop_table,
	.sl-legal-table,
	.sl-legal table,
	.samurai-legal table {
		width: 100%;
		max-width: 100%;
		table-layout: fixed;
		word-break: break-word;
		box-sizing: border-box;
	}

	.sl-legal-table th,
	.sl-legal-table td {
		padding-left: 10px;
		padding-right: 10px;
		box-sizing: border-box;
	}

	/* 箇条書きの字下げも、枠の内側に収める */
	.hs-entry__content ul,
	.hs-entry__content ol {
		padding-left: 1.3em;
	}
}

/* --- お振込先カード（注文完了画面・注文詳細）2026-10-03 --- */
.sl-thankyou__head{margin:0 0 20px}
.sl-thankyou__lead{margin:0 0 4px;font-size:20px;font-weight:800;line-height:1.5;color:var(--sm-ink,#0d0d0d)}
.sl-thankyou__num{margin:0;font-size:13px;color:var(--sm-gray,#6b625b)}
.sl-thankyou__num strong{font-size:16px;color:var(--sm-ink,#0d0d0d)}
.sl-thankyou__h2,.sl-vieworder__h2{margin:28px 0 12px;font-size:17px;font-weight:800}
.sl-vieworder__head{margin:0 0 18px;font-size:14px;line-height:1.9}

.sl-bank{
	margin:0 0 24px;padding:18px;border-radius:20px;
	background:#fff;border:2px solid var(--sm-orange,#ff6a13);
	box-shadow:0 30px 60px -44px rgba(120,40,0,.5);
}
.sl-bank__title{
	margin:0 0 14px;font-size:18px;font-weight:800;line-height:1.4;
	color:var(--sm-ink,#0d0d0d);
}
.sl-bank__highlight{display:grid;gap:10px;margin:0 0 12px}
.sl-bank__amount,.sl-bank__due{
	display:flex;flex-wrap:wrap;align-items:center;gap:8px;
	padding:14px 16px;border-radius:14px;
}
.sl-bank__amount{background:var(--sm-ink,#0d0d0d)}
.sl-bank__due{background:#fff8f2;border:1.5px solid var(--sm-orange,#ff6a13)}
.sl-bank__label{
	flex:0 0 100%;font-size:11px;letter-spacing:.08em;
	color:rgba(255,255,255,.65);
}
.sl-bank__due .sl-bank__label{color:#8a6a55}
.sl-bank__amount .sl-bank__value{font-size:28px;font-weight:800;color:#fff;line-height:1.2}
.sl-bank__amount .sl-bank__value bdi,.sl-bank__amount .sl-bank__value span{color:#fff}
.sl-bank__due .sl-bank__value{font-size:20px;font-weight:800;color:#c2410c;line-height:1.3}

.sl-bank__warn{
	margin:0 0 16px;padding:12px 14px;border-radius:12px;
	background:#fdeceb;border-left:4px solid #a3251d;
	font-size:13px;font-weight:700;line-height:1.75;color:#8a1f18;
}

.sl-bank__list{margin:0 0 12px;padding:0;border:1px solid rgba(0,0,0,.1);border-radius:14px;overflow:hidden}
.sl-bank__row{display:block;padding:12px 14px;background:#fff}
.sl-bank__row+.sl-bank__row{border-top:1px solid rgba(0,0,0,.08)}
.sl-bank__row dt{margin:0 0 2px;font-size:11px;letter-spacing:.06em;color:var(--sm-gray,#6b625b)}
.sl-bank__row dd{
	margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:10px;
	font-size:19px;font-weight:800;line-height:1.4;color:var(--sm-ink,#0d0d0d);
	word-break:break-all;
}
.sl-bank__data{flex:1 1 auto;min-width:0}

.sl-copy{
	flex:0 0 auto;min-height:36px;padding:0 14px;border-radius:999px;
	border:1.5px solid rgba(0,0,0,.18);background:#fff;cursor:pointer;
	font-size:12px;font-weight:700;color:var(--sm-ink,#0d0d0d);
	transition:background .2s,color .2s,border-color .2s;
}
.sl-bank__amount .sl-copy{border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.12);color:#fff}
.sl-copy:hover,.sl-copy:focus-visible{background:var(--sm-orange,#ff6a13);border-color:var(--sm-orange,#ff6a13);color:#fff}
.sl-copy.is-done{background:#1f7a3d;border-color:#1f7a3d;color:#fff}
.sl-copy:focus-visible{outline:2px solid var(--sm-ink,#0d0d0d);outline-offset:2px}

.sl-bank__note{margin:4px 0 0;font-size:12px;line-height:1.8;color:var(--sm-gray,#6b625b)}
.sl-copy__done{
	margin:10px 0 0;padding:8px 12px;border-radius:10px;
	background:#e9f6ec;color:#1e7b34;font-size:12px;font-weight:700;text-align:center;
}
.sl-copy__done[hidden]{display:none}

@media (min-width:768px){
	.sl-bank{padding:26px}
	.sl-bank__highlight{grid-template-columns:1fr 1fr}
	.sl-bank__amount .sl-bank__value{font-size:32px}
}

/* =========================================================
   .hs-* のスタイル（2026-10-04）

   もとは assets/css/main.css にありましたが、そのファイルは
   2026-09-29 のデザイン差し替え以降、読み込んでいません。
   404ページと固定ページ（特商法・利用規約など）で実際に
   使っているクラスだけを、いまの明るい配色に直して移しました。

   ※ main.css の --hs-* 変数はダーク基調の値なので、ここでは
      定義していません（プラグインの front.css が同じ値を
      「予備」として持っており、定義すると見た目が変わるため）。
   ========================================================= */

/* --- ボタン --- */
.hs-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 48px;
	padding: 12px 28px;
	border: 1.5px solid transparent;
	border-radius: 999px;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .02em;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease;
}

.hs-btn:active { transform: translateY(1px); }

a.hs-btn--primary,
.hs-btn--primary {
	background: var(--sm-orange, #ff6a13);
	color: #fff !important;
}

a.hs-btn--primary:hover,
a.hs-btn--primary:focus-visible,
.hs-btn--primary:hover,
.hs-btn--primary:focus-visible {
	filter: brightness(1.08);
	color: #fff !important;
}

a.hs-btn--ghost,
.hs-btn--ghost {
	background: rgba(255, 255, 255, .7);
	color: var(--sm-ink, #0d0d0d) !important;
	border-color: rgba(0, 0, 0, .12);
}

a.hs-btn--ghost:hover,
a.hs-btn--ghost:focus-visible,
.hs-btn--ghost:hover,
.hs-btn--ghost:focus-visible {
	border-color: var(--sm-orange, #ff6a13);
	color: var(--sm-orange, #ff6a13) !important;
}

.hs-btn[disabled],
.hs-btn.is-disabled {
	opacity: .45;
	cursor: not-allowed;
	pointer-events: none;
}

/* --- 画像を入れるまでの枠 --- */
.hs-placeholder {
	position: relative;
	display: grid;
	place-items: center;
	aspect-ratio: 1 / 1;
	padding: 16px;
	background: repeating-linear-gradient(45deg, #fff 0 12px, var(--sm-cream, #fff4ea) 12px 24px);
	color: var(--sm-gray, #6b625b);
	font-size: 13px;
	letter-spacing: .08em;
	text-align: center;
}

.hs-placeholder--wide { aspect-ratio: 16 / 9; }

/* --- 固定ページ（特商法・利用規約・プライバシーポリシー） --- */
.hs-entry { padding-block: clamp(32px, 6vw, 64px); }
.hs-entry__header { margin-bottom: 28px; }
.hs-entry__meta { color: var(--sm-gray, #6b625b); font-size: 14px; }
.hs-entry__content { max-width: 780px; }

.hs-entry__content img {
	border-radius: 10px;
	margin-block: 1.5em;
}

.hs-entry__content table {
	width: 100%;
	border-collapse: collapse;
	margin-block: 1.5em;
	background: #fff;
}

.hs-entry__content th,
.hs-entry__content td {
	border: 1px solid rgba(0, 0, 0, .12);
	padding: 12px 14px;
	text-align: left;
	vertical-align: top;
}

.hs-entry__content th {
	background: var(--sm-cream, #fff4ea);
	white-space: nowrap;
}

.hs-entry__content blockquote {
	margin: 1.5em 0;
	padding: 4px 0 4px 20px;
	border-left: 3px solid var(--sm-orange, #ff6a13);
	color: var(--sm-gray, #6b625b);
}

/* --- 404ページ --- */
.hs-404 {
	text-align: center;
	padding-block: clamp(64px, 14vw, 140px);
}

.hs-404__code {
	margin: 0 0 16px;
	font-size: clamp(56px, 18vw, 120px);
	line-height: 1;
	font-weight: 800;
	color: var(--sm-orange, #ff6a13);
}

/* --- 一覧・ページ送り（いまは使っていませんが、同じ見た目に揃えます） --- */
.hs-archive__header { margin-bottom: 28px; }

.hs-post-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 16px;
}

.hs-post-card__body { padding: 16px; }
.hs-post-card__title { margin: 0 0 8px; font-size: 17px; font-weight: 800; }
.hs-post-card__excerpt { margin: 0; font-size: 14px; color: var(--sm-gray, #6b625b); }

.hs-pagination {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 36px;
}

.hs-pagination .page-numbers {
	min-width: 44px;
	height: 44px;
	padding: 0 14px;
	border-radius: 999px;
	display: grid;
	place-items: center;
	background: #fff;
	color: var(--sm-ink, #0d0d0d);
	text-decoration: none;
	font-weight: 700;
}

.hs-pagination .page-numbers.current,
.hs-pagination .page-numbers:hover {
	background: var(--sm-ink, #0d0d0d);
	color: #fff;
}

/* =========================================================
   固定ヘッダーの高さ（2026-10-04）

   pages.js が読み込み後に実際の高さを測って --sm-hh を書き換えるため、
   CSSの初期値とずれていると本文がガクッと下がっていました（CLSの原因）。
   実測値に合わせておくことで、書き換えても位置が動きません。
     1280px / 1024px → 110px   768px → 106px   375px / 414px → 102px
   ========================================================= */
:root { --sm-hh: 110px; }

@media (max-width: 989px) {
	:root { --sm-hh: 106px; }
}

@media (max-width: 640px) {
	:root { --sm-hh: 102px; }
}
