/* 共通の可読性、スマートフォンのナビゲーションと操作領域。 */
:root{--accent:#96542e}.eyebrow,.card-kicker,.required{color:#96542e}
.header-inner{position:relative;min-height:74px;align-items:center;flex-wrap:nowrap;gap:24px;padding:12px 0}
.site-menu{margin-left:auto;min-width:0;flex:none}
.site-menu>summary{display:none;align-items:center;gap:8px;cursor:pointer;padding:9px 12px;border:1px solid var(--line);border-radius:6px;min-height:44px;font-size:.9rem;white-space:nowrap;list-style:none}
.site-menu .main-nav{padding:0;gap:14px;flex-wrap:nowrap;justify-content:flex-end;font-size:.9rem}
.main-nav>a,.main-nav .inline-form{flex:none;white-space:nowrap}
.main-nav a,.main-nav .link-button{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}
.safety-disclosure>summary{cursor:pointer;min-height:44px;font-weight:600}.safety-disclosure h2{font-size:1.1rem;margin-top:12px}.safety-disclosure p{font-size:.88rem}
.main-nav .nav-secondary>summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.main-nav .nav-secondary>a{display:block;padding:0 10px}
.error-summary{padding:18px;border:2px solid #923624;border-radius:6px;background:var(--paper);margin:18px 0}.error-summary h2{font-size:1.1rem;margin:0}.error-summary ul{margin-bottom:0}.error-summary a{color:#923624}
input[readonly]{max-width:100%;padding:12px;border:1px solid var(--line);background:var(--paper)}.form-shell>input[readonly]{display:block;width:100%;margin:16px 0}.action-row a:not(.button){display:inline-flex;align-items:center;min-height:44px}
.form-actions,.profile-form .form-actions{position:static}.stack-form :is(input,select,textarea,summary){scroll-margin-top:24px}
/* app.js のメニュー切替と同じ幅。全項目が一列に収まるうちに切り替える。 */
@media(max-width:1024px){
 .header-inner{gap:14px}
 .site-menu>summary{display:flex}
 .site-menu .main-nav{position:absolute;z-index:30;top:100%;right:0;width:min(22rem,100%);display:grid;grid-template-columns:minmax(0,1fr);gap:4px;padding:8px;max-height:calc(100vh - 96px);max-height:calc(100dvh - 96px);overflow-y:auto;background:var(--paper);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}
 .site-menu .main-nav>a,.site-menu .link-button{padding:8px 12px;justify-content:flex-start;width:100%}
 .site-menu .inline-form{display:block;margin:0}
}
@media(max-width:760px){.page-content{padding-top:22px}.stack-form textarea{min-height:120px}.setup-prompt .button{margin-top:8px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* サービス案内と規約・運営情報を目的別に表示する。 */
.footer-groups{display:flex;flex-wrap:wrap;gap:24px 48px;min-width:0}
.footer-group{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.footer-group h2{margin:0 0 6px;font-size:.85rem;color:var(--ink)}
.footer-group a{display:inline-flex;align-items:center;min-height:33px;overflow-wrap:anywhere}
.policy-nav{display:flex;flex-wrap:wrap;gap:8px 20px;margin:18px 0 26px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.policy-nav a{display:inline-flex;align-items:center;min-height:44px}
.policy-nav a[aria-current="page"]{font-weight:700}
@media(max-width:760px){.footer-groups{margin-top:20px;gap:20px 32px}}

/* ページ番号と前後リンクの文字位置を揃える。 */
.pagination{align-items:center}

/* フォームや折り返す説明文に隣接しても、操作ボタンを縦に伸ばさない。 */
.action-row{align-items:center}
.action-row>form{min-width:0;max-width:100%}
.action-row>p{margin:0}
.publish-form{margin-top:24px}
.publish-form>.action-row{margin-top:16px}

/* 同意文が複数行になっても、チェック欄と文面を一組として表示する。 */
.checkbox-field{min-width:0;margin:12px 0}

.checkbox-label>span{min-width:0;overflow-wrap:anywhere}

.checkbox-field .helptext{display:block;color:var(--ink-soft);font-size:.85rem}
.checkbox-field .errorlist{margin:4px 0;color:#923624;font-size:.87rem}

/* 選択中の条件では使わない入力を、操作不可として明示する。 */
input:disabled, textarea:disabled, button:disabled:not([data-taxonomy-open]) {
  background-color: #eceff1; color: #66717c; border-color: #c9cfd5; cursor: not-allowed; opacity: 1;
}
label:has(> :disabled), .field.is-disabled { color: #66717c; }
.is-condition-disabled { color: #66717c; }
.is-condition-disabled input:disabled, .is-condition-disabled textarea:disabled { background-color: #eceff1; }
