/* 3つの新しい計算アプリで共通して使う色です。 */
:root { --navy:#132c4f; --green:#13a58c; --green-dark:#0d7e6d; --mint:#e8f8f4; --ink:#243447; --muted:#687386; --line:#dce6eb; --white:#fff; --bg:#f5f8f9; --shadow:0 16px 40px rgba(19,44,79,.09); }

/* 余白を含めて幅を計算します。 */
* { box-sizing: border-box; }

/* ページ全体の基本デザインです。 */
body { margin:0; color:var(--ink); background:var(--bg); font-family:"Yu Gothic UI","Hiragino Kaku Gothic ProN",Meiryo,sans-serif; line-height:1.7; }

/* 入力欄とボタンの文字を本文とそろえます。 */
button, input { font:inherit; }

/* 内容が横に広がりすぎないようにします。 */
.container { width:min(960px,calc(100% - 32px)); margin-inline:auto; }

/* ページ上部の帯です。 */
.site-header { color:var(--white); background:var(--navy); }

/* ヘッダー内を横並びにします。 */
.header-inner { display:flex; align-items:center; justify-content:space-between; min-height:68px; }

/* トップページへ戻るリンクです。 */
.brand { color:var(--white); font-weight:900; text-decoration:none; }

/* ヘッダー右側の案内です。 */
.back-link { color:#dce9f1; font-size:.86rem; text-decoration:none; }

/* アプリの紹介部分です。 */
.hero { padding:58px 0 30px; text-align:center; }

/* 見出し上の小さな文字です。 */
.eyebrow { margin:0 0 8px; color:var(--green-dark); font-size:.82rem; font-weight:900; letter-spacing:.12em; }

/* ページの大見出しです。 */
h1 { margin:0; color:var(--navy); font-size:clamp(2rem,6vw,3.3rem); line-height:1.2; }

/* 見出し下の説明です。 */
.lead { margin:13px auto 0; color:var(--muted); }

/* 入力と結果を2列のカードにします。 */
.calculator { display:grid; grid-template-columns:1fr 1fr; overflow:hidden; border:1px solid var(--line); border-radius:24px; background:var(--white); box-shadow:var(--shadow); }

/* 入力側と結果側に余白を付けます。 */
.form-area, .result-area { padding:34px; }

/* 結果側を薄い緑色にします。 */
.result-area { background:var(--mint); }

/* 小見出しの見た目です。 */
h2 { margin:0 0 22px; color:var(--navy); font-size:1.25rem; }

/* 小見出しの番号を丸くします。 */
h2 span { display:inline-grid; place-items:center; width:34px; height:34px; margin-right:8px; border-radius:50%; color:var(--white); background:var(--green); }

/* 入力項目名を太字にします。 */
label { display:block; margin:17px 0 7px; font-weight:800; }

/* 入力欄と単位を横並びにします。 */
.field { display:flex; align-items:center; gap:10px; padding:0 15px; border:1px solid var(--line); border-radius:12px; background:var(--white); }

/* 数字入力欄の余分な枠を消します。 */
.field input { width:100%; min-width:0; padding:14px 0; border:0; outline:0; background:transparent; }

/* 時刻入力欄を2列にします。 */
.time-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }

/* 計算ボタンを緑色にします。 */
.calculate-button { width:100%; margin-top:26px; padding:15px; border:0; border-radius:12px; color:var(--white); background:var(--green); font-weight:900; cursor:pointer; }

/* ボタンにマウスを重ねると色を濃くします。 */
.calculate-button:hover { background:var(--green-dark); }

/* 結果の説明を薄い色にします。 */
.result-label { margin:30px 0 0; color:var(--muted); }

/* 一番大切な計算結果を大きくします。 */
.main-result { display:block; margin:2px 0 24px; color:var(--navy); font-size:clamp(2.35rem,7vw,3.8rem); font-weight:900; line-height:1.2; }

/* 結果の内訳を左右に分けます。 */
.result-row { display:flex; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid rgba(19,44,79,.13); }

/* 結果についての説明を白い箱にします。 */
.message { margin:21px 0 0; padding:13px 15px; border-radius:10px; background:var(--white); }

/* 使い方の説明を白いカードにします。 */
.guide { margin:28px 0 54px; padding:28px; border:1px solid var(--line); border-radius:20px; background:var(--white); }

/* 使い方の見出し下の余白を小さくします。 */
.guide h2 { margin-bottom:8px; }

/* ページ下部を中央寄せにします。 */
.site-footer { padding:22px 16px; color:var(--muted); background:var(--white); text-align:center; }

/* ページ下部の案内リンクを横並びにします。 */
.footer-links { display:flex; flex-wrap:wrap; justify-content:center; gap:16px; margin-bottom:8px; }

/* ページ下部のリンクを本文になじむ色にします。 */
.footer-links a { color:var(--green-dark); }

/* スマートフォンでは入力と結果を縦並びにします。 */
@media (max-width:720px) { .hero{padding-top:42px}.calculator{grid-template-columns:1fr}.form-area,.result-area{padding:25px 22px}.time-grid{grid-template-columns:1fr} }
