/* ============================================
   OneThings合同会社 コーポレートサイト
   ============================================ */

:root{
  color-scheme:light dark;   /* フォームやスクロールバーも配色に追従させる */
  --bg:#FBFAF7;
  --surface:#FFFFFF;
  --line:#E5E2DA;
  --line-soft:#EFEDE6;
  --text:#1C1C1A;
  --muted:#6B6862;
  --green:#1B5E3F;
  --green-dark:#12432C;
  --green-tint:#EEF3EF;
  --header-bg:rgba(251,250,247,.92);
  --on-green:#fff;           /* 緑の面に乗せる文字色 */
}

/* 端末がダークモードのときの配色。
   緑は #1B5E3F のままだと暗い背景で沈むため、明度を上げたものに差し替える。 */
@media (prefers-color-scheme:dark){
  :root{
    --bg:#14161A;
    --surface:#1B1E23;
    --line:#2E333B;
    --line-soft:#262A31;
    --text:#E8E8E6;
    --muted:#9BA1AA;
    --green:#6FBF95;
    --green-dark:#8ED2AD;
    --green-tint:#1E2A24;
    --header-bg:rgba(20,22,26,.92);
    --on-green:#0E1A13;      /* 明るい緑の上では濃い文字にする */
  }
  /* 白背景を前提に作られた画像は、暗い面でのコントラストを少し落とす */
  .figures img,.app-icon{filter:brightness(.94)}
}

*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Noto Sans JP","Yu Gothic UI",sans-serif;
  font-size:16px;line-height:1.8;color:var(--text);background:var(--bg);
  font-feature-settings:"palt";   /* 日本語の字間を詰める */
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}

/* ========== ヘッダー ========== */
.header{position:sticky;top:0;z-index:50;background:var(--header-bg);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
/* flex-wrap は保険。メディアクエリはスクロールバーを含む幅で判定されるため、
   ブラウザの窓を狭めたときに境界がずれて1行に収まらない幅が生じうる。
   その場合でも横スクロールを出さず、ボタンを次の行へ送る。 */
.header-inner{max-width:1080px;margin:0 auto;padding:10px 24px;display:flex;flex-wrap:wrap;align-items:center;gap:32px}
.logo{display:inline-flex;align-items:center;min-height:44px;font-size:19px;font-weight:700;letter-spacing:.02em;white-space:nowrap}
.logo span{color:var(--green)}
.nav{display:flex;gap:4px;margin-right:auto}
.nav a{font-size:14px;color:var(--muted);padding:12px 10px;border-radius:6px;white-space:nowrap}
.nav a:hover{color:var(--text);background:var(--green-tint)}
.header-cta{font-size:14px;font-weight:600;color:var(--on-green);background:var(--green);padding:12px 18px;border-radius:6px;white-space:nowrap}
.header-cta:hover{background:var(--green-dark)}

/* ========== ヒーロー ========== */
.hero{padding:52px 0 38px}
.hero h1{font-size:clamp(30px,4.8vw,52px);line-height:1.32;font-weight:700;letter-spacing:-.015em}
.hero h1 .accent{color:var(--green)}
.hero p{margin-top:16px;color:var(--muted);font-size:15.5px}

/* ========== セクションラベル ========== */
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--green);margin-bottom:16px}

/* ========== カード共通 ========== */
.section{padding:0 0 64px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:26px;
  display:grid;grid-template-columns:1fr 340px;gap:30px;align-items:center}
.card-head{display:flex;align-items:center;gap:16px;margin-bottom:16px}
.kicker{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--green);
  background:var(--green-tint);padding:3px 9px;border-radius:99px}
.card h3{font-size:clamp(21px,2.5vw,28px);font-weight:700;line-height:1.35;margin-top:4px}
.card .lead{color:var(--muted);font-size:14.5px}

/* 右側の図版。2枚並べる */
.figures{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.figures img{border:1px solid var(--line);border-radius:12px}

/* ========== アプリ固有 ========== */
.app-icon{width:58px;height:58px;border-radius:14px;border:1px solid var(--line);flex-shrink:0}
.points{list-style:none;margin:16px 0 20px;display:flex;flex-wrap:wrap;gap:8px}
.points li{font-size:12.5px;background:var(--bg);border:1px solid var(--line);padding:5px 11px;border-radius:99px}
/* Google Play バッジは公式アセットを無改変で使用する（ブランドガイドライン要件） */
.badge{display:inline-block;min-height:44px}
.badge img{height:56px;width:auto}

/* プロダクトごとの法務文書へのリンク。
   サイト全体のフッターに置くと、どのプロダクトのものか分からなくなり、
   プロダクトが増えたときに同名のリンクが並んでしまうため、カード内に置く。 */
/* 文字色とサイズは本文（.lead）に揃える。
   下線があるため横並びでも個々のリンクの範囲が分かる。 */
.card-legal{display:flex;flex-wrap:wrap;gap:0 22px;margin-top:8px}
.card-legal a{font-size:14.5px;color:var(--muted);text-decoration:underline;
  text-underline-offset:3px;display:inline-flex;align-items:center;min-height:44px}
.card-legal a:hover{color:var(--green)}

/* ========== サービス固有 ========== */
.svc-block{margin-top:38px}
/* 説明文とボタンの間に1行ぶんの余白を置く */
.svc-cta{display:inline-flex;align-items:center;background:var(--green);color:var(--on-green);
  font-size:15px;font-weight:600;padding:13px 24px;border-radius:9px;min-height:44px;margin-top:28px}
.svc-cta:hover{background:var(--green-dark)}
/* 出品サムネイルは切り抜かず全体を表示する。
   価格が焼き込まれているため、ココナラ側で改定した際は画像の取り直しが必要。 */

/* ========== 会社概要 ========== */
.company{border-top:1px solid var(--line);padding:52px 0}
.dl{display:grid;grid-template-columns:112px 1fr;gap:11px 20px;font-size:14.5px;max-width:760px}
.dl dt{color:var(--muted)}
.dl dd a{display:inline-flex;align-items:center;min-height:44px}

/* ========== お問い合わせ ========== */
.contact{border-top:1px solid var(--line);padding:52px 0 60px}
.contact h2{font-size:24px;font-weight:700;margin-bottom:8px}
.contact p{color:var(--muted);font-size:14.5px;margin-bottom:22px}
.mail{display:inline-block;background:var(--green);color:var(--on-green);font-size:16px;font-weight:600;
  padding:15px 32px;border-radius:9px;max-width:100%}
.mail:hover{background:var(--green-dark)}

/* ========== フッター ========== */
.footer{border-top:1px solid var(--line);padding:26px 0 40px;font-size:13px;color:var(--muted)}
.footer-links{display:flex;flex-wrap:wrap;gap:2px 6px;margin-bottom:10px}
.footer-links a{padding:12px 10px 12px 0;min-height:44px;display:inline-flex;align-items:center}
.footer-links a:hover{color:var(--text)}

/* ========== 下層ページ ========== */
.page-head{padding:44px 0 28px;border-bottom:1px solid var(--line)}
.page-head h1{font-size:clamp(24px,3.4vw,36px);font-weight:700;line-height:1.4;letter-spacing:-.01em}
.page-head .meta{margin-top:10px;font-size:13.5px;color:var(--muted)}
.crumb{font-size:13px;color:var(--muted);margin-bottom:14px}
.crumb a{display:inline-flex;align-items:center;min-height:44px;padding:0 2px}
.crumb a:hover{color:var(--green)}

/* 本文（法的文書・長文向け） */
.prose{max-width:760px;padding:36px 0 56px}
.prose h2{font-size:17px;font-weight:700;line-height:1.6;margin:34px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.prose h2:first-child{margin-top:0}
.prose p{margin-bottom:14px;font-size:15px;line-height:1.95}
.prose a{color:var(--green);text-decoration:underline;text-underline-offset:3px}
.prose-foot{margin-top:40px;padding-top:18px;border-top:1px solid var(--line);font-size:13.5px;color:var(--muted)}
.prose-foot p{margin-bottom:4px}

/* 理念（会社概要ページ）。
   罫線は入れない。h2 の罫線と紛らわしくなり、見出しと中身の区別がつかなくなるため。
   区切りは行間で示す。 */
.principles{list-style:none;margin:0;padding:0}
.principles li{font-size:clamp(17px,2.2vw,21px);font-weight:700;line-height:1.7;margin-bottom:14px}
.principles li:last-child{margin-bottom:0}

/* ========== レスポンシブ ========== */
@media (max-width:860px){
  .card{grid-template-columns:1fr;gap:24px}
  .figures{max-width:330px}
}
@media (max-width:560px){
  body{font-size:15px}
  .wrap{padding:0 18px}
  .header-inner{padding:8px 18px;gap:12px}
  .nav{gap:0}
  .nav a{padding:12px 8px;font-size:13px}
  .header-cta{padding:12px 12px;font-size:13px}
  .hero{padding:30px 0 24px}
  .hero p{margin-top:12px;font-size:14px}
  .card{padding:20px}
  .dl{grid-template-columns:88px 1fr}
  /* PC向けの任意改行はスマホでは無効化（中途半端な位置で折り返されるため） */
  .br-pc{display:none}
}

/* 幅の狭い端末では、ロゴ・ナビ・お問い合わせボタンの3つが1行に収まらない
   （320px では 284px しか使えないのに 366px 必要）。
   ヘッダーを2段にすると画面の2割を占有してしまうため、
   ボタンのほうを隠す。問い合わせ先はページ下部とフッターから辿れる。 */
@media (max-width:389px){
  .header-cta{display:none}
  .logo{font-size:17.5px}
  .nav a{padding:12px 7px;font-size:12.5px}
}
