/* いっしょシフト: the support, privacy and 特商法 pages. Deep green like the app icon; Japanese system fonts. */
:root {
  --bg:#F5F8F6; --card:#FFFFFF; --ink:#16211D; --ink-2:#4A5753; --line:#DCE6E1; --accent-text:#2F6F5E;
  color-scheme:light;
}
@media (prefers-color-scheme: dark) {
  :root { --bg:#101614; --card:#18201D; --ink:#EEF3F1; --ink-2:#B5C2BD; --line:#2A3632; --accent-text:#7CC8AE; color-scheme:dark; }
}
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font:400 16px/1.85 -apple-system, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", Meiryo, system-ui, sans-serif; -webkit-font-smoothing:antialiased; }
main { max-width:720px; margin:0 auto; padding:40px 16px 64px; }
a { color:var(--accent-text); text-underline-offset:3px; }
header { display:flex; align-items:center; gap:16px; margin-bottom:28px; }
header img { width:72px; height:72px; border-radius:16px; flex:none; }
h1 { margin:0; font-size:28px; line-height:1.3; }
header p { margin:2px 0 0; color:var(--ink-2); }
h2 { margin:40px 0 10px; font-size:21px; line-height:1.4; }
h3 { margin:24px 0 6px; font-size:17px; }
p, li { color:var(--ink-2); }
p { margin:0 0 12px; }
ul { margin:0 0 12px; padding-left:22px; }
strong { color:var(--ink); }
.button { display:inline-block; padding:6px 16px; border-radius:999px; background:#2F6F5E; color:#fff; font-weight:600; text-decoration:none; }
.button + .soon { margin-left:8px; }
.soon { color:var(--ink-2); font-size:15px; }
.box { margin:0 0 24px; padding:18px 20px; background:var(--card); border:1px solid var(--line); border-radius:16px; }
.box p:last-child { margin-bottom:0; }
nav { display:flex; flex-wrap:wrap; gap:8px 20px; margin-top:48px; padding-top:20px; border-top:1px solid var(--line); font-size:15px; }
.en { margin-top:56px; padding-top:8px; border-top:1px solid var(--line); }
.en, .en * { font-family:-apple-system, system-ui, "Segoe UI", sans-serif; line-height:1.7; }
@media (max-width: 480px) { h1 { font-size:24px; } }
dl.terms { margin:0; background:var(--card); border:1px solid var(--line); border-radius:16px; overflow:hidden; }
dl.terms > div { display:grid; grid-template-columns:11em 1fr; gap:4px 20px; padding:14px 20px; border-top:1px solid var(--line); }
dl.terms > div:first-child { border-top:0; }
dl.terms dt { font-weight:600; color:var(--ink); }
dl.terms dd { margin:0; color:var(--ink-2); }
dl.terms dd p:last-child { margin-bottom:0; }
@media (max-width: 560px) { dl.terms > div { grid-template-columns:1fr; } }

/* The app at a glance, at the top of the support page: screenshots and the main features */
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; margin:0 0 4px; }
.hero-actions .button + .soon { margin-left:0; }
.button { padding:10px 20px; }
.shots { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:12px; margin:24px 0; padding:0; list-style:none; }
.shots li { margin:0; }
.shots img { display:block; width:100%; height:auto; border-radius:14px; border:1px solid var(--line); }
@media (max-width:560px) {
  .shots { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:10px; margin-inline:-16px; padding:0 16px 6px; scrollbar-width:none; }
  .shots::-webkit-scrollbar { display:none; }
  .shots li { flex:0 0 66%; scroll-snap-align:center; }
}
.features { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px; margin:0 0 28px; padding:0; list-style:none; }
.features li { margin:0; padding:14px 16px; background:var(--card); border:1px solid var(--line); border-radius:14px; font-size:15.5px; line-height:1.6; }
.features strong { display:block; margin-bottom:2px; font-size:16.5px; }
@media (max-width:560px) { .features { grid-template-columns:minmax(0,1fr); } }
/* bigger tap targets for the footer links */
nav { row-gap:0; }
nav a { display:inline-block; padding:9px 0; }
.soon { white-space:nowrap; }
