@charset "utf-8";

/*============================
Shared components
============================*/

@media screen and (max-width:600px) {
.md_storeLinks { gap: var(--space-8); }
.md_storeBadgeLink { flex: 0 0 auto; width: auto; min-width: 0; max-width: none; min-height: 4.625rem; padding: var(--space-15) var(--space-10); }
.md_storeBadgeImage { height: 2.5rem; }
}

/* Shared mobile rhythm for the guide and companion pages. */
@media screen and (max-width: 860px) {
:where(#guidePage,#aboutPage,#termsPage,#privacyPage) { --gutter: clamp(24px,6.4vw,40px); }
:where(#guidePage,#aboutPage,#termsPage,#privacyPage) :is(p,li,dt,dd,h1,h2,h3,h4,summary) { line-break: strict; word-break: normal; overflow-wrap: break-word; }
:where(#guidePage,#aboutPage,#termsPage,#privacyPage) .md_storeLinks { gap: 8px; flex-wrap: nowrap; }
:where(#guidePage,#aboutPage,#termsPage,#privacyPage) .md_storeBadgeLink { padding: 8px 0; min-height: 0; }
:where(#guidePage,#aboutPage,#termsPage,#privacyPage) .md_storeBadgeLink:has(.md_storeReleaseLabel) { min-height: 0; gap: 6px; }
:where(#guidePage,#aboutPage,#termsPage,#privacyPage) .md_storeBadgeImage { height: 40px; width: auto; max-width: none; }
:where(#guidePage,#aboutPage,#termsPage,#privacyPage) .md_storeReleaseLabel { font-size: 10px; }
.md_planSummary p, .md_planNotice { font-size: 13px; line-height: 1.85; }
.md_planTableWrap { overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: #7fb0ff #101724; }
.md_planTableWrap:focus-visible { outline: 2px solid #7fb0ff; outline-offset: 3px; }
.md_entryPaths { gap: 10px; }
.md_entryPaths a { padding: 14px; font-size: 14px; }
}

/* 料金表：スマホでは機能ごとの縦並びカードに切り替え（2026-11-10） */
@media screen and (max-width: 600px) {
.md_planTableWrap { overflow: visible; border: 0; }
.md_planTableWrap table { min-width: 0; display: block; }
.md_planTableWrap caption { display: block; padding: 0 0 .75rem; }
.md_planTableWrap thead { display: none; }
.md_planTableWrap tbody { display: grid; gap: .625rem; }
.md_planTableWrap tr { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--color-tone7EA0D6Alpha16); border-radius: 10px; overflow: hidden; background: rgba(255,255,255,.02); }
.md_planTableWrap tbody th { width: auto; grid-column: 1 / -1; border-top: 0; padding: .75rem .875rem .5rem; font-size: .875rem; line-height: 1.6; background: var(--color-accentAlpha12); }
.md_planTableWrap td { padding: .625rem .875rem .75rem; font-size: .8125rem; line-height: 1.6; }
.md_planTableWrap td + td { border-left: 1px solid var(--color-tone7EA0D6Alpha16); }
.md_planTableWrap td[data-label]::before { content: attr(data-label); display: block; margin-bottom: .25rem; font-size: .6875rem; font-weight: 700; letter-spacing: .04em; color: var(--sub, #9fb0c4); }
}
