/* 静的サイト専用。ツール本体のHTML/CSSには一般セレクタを適用しない。 */
:root{--site-ink:#253b47;--site-sub:#536674;--site-line:#dbe6e8;--site-primary:#315c64;--site-soft:#f0f6f5;--site-paper:#fff;--site-sand:#f7f5f1}
.site-directory{margin:0;background:#fff;color:var(--site-ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,system-ui,sans-serif;line-height:1.75;font-size:16px}
.site-directory *,.site-topbar *,.site-footer *,.site-breadcrumb *,.site-related *{box-sizing:border-box}
.site-directory a,.site-topbar a,.site-footer a,.site-breadcrumb a,.site-related a{color:inherit;text-decoration:none}
.site-directory a:focus-visible,.site-topbar a:focus-visible,.site-footer a:focus-visible,.site-breadcrumb a:focus-visible,.site-related a:focus-visible,.site-directory button:focus-visible,.site-directory input:focus-visible{outline:3px solid #d48b4d;outline-offset:3px}
.site-directory h1,.site-directory h2,.site-directory p{margin-top:0}
.site-directory button,.site-directory input{font:inherit}
.site-topbar{background:#fff;border-bottom:1px solid var(--site-line);position:relative;z-index:3;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
.site-topbar-inner{max-width:1160px;margin:0 auto;padding:17px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.site-brand{display:inline-flex;align-items:center;gap:12px;color:var(--site-ink)!important;font-weight:800;font-size:16px;line-height:1.3;text-decoration:none!important}
.site-brand-mark{font-family:Arial,sans-serif;display:flex;align-items:center;justify-content:center;width:37px;height:37px;border-radius:12px;background:var(--site-primary);color:#fff;font-size:17px;letter-spacing:-2px;flex:none}
.site-toplinks{display:flex;gap:25px;align-items:center;flex-wrap:wrap}
.site-toplinks a{font-size:14px;color:var(--site-sub)!important;text-decoration:none!important;font-weight:600}
.site-toplinks a:hover,.site-footer a:hover,.site-breadcrumb a:hover{color:var(--site-primary)!important;text-decoration:underline!important}
.site-skip{position:absolute;left:-9999px;top:10px;background:#fff;color:#222;z-index:100;padding:8px}
.site-skip:focus{left:10px}
.site-main{max-width:1160px;margin:0 auto;padding:0 24px 84px}
.site-hero{padding:72px 0 70px;max-width:930px}
.site-eyebrow,.site-overline{display:block;color:var(--site-primary);font-weight:800;font-size:12px;letter-spacing:.11em;margin-bottom:16px}
.site-eyebrow{letter-spacing:.05em}
.site-hero h1{font-size:clamp(32px,4.6vw,54px);line-height:1.38;letter-spacing:-.04em;font-weight:800;margin:0 0 18px;color:var(--site-ink)}
.site-hero>p{font-size:17px;max-width:720px;color:var(--site-sub);line-height:1.9;margin:0 0 32px}
.site-search-form{padding:22px;border:1px solid var(--site-line);border-radius:18px;max-width:650px;background:var(--site-soft)}
.site-search-form label,.site-search-block label{display:block;font-weight:700;margin-bottom:9px;font-size:14px;color:var(--site-ink)}
.site-search-row{display:flex;gap:10px}
.site-search-row input,.site-search-block input{background:#fff;border:1px solid #bdcfd0;border-radius:10px;outline:none;padding:12px 14px;font-size:16px;width:100%;min-width:0;color:var(--site-ink)}
.site-search-row button,.site-loadbar button{border:0;border-radius:10px;background:var(--site-primary);color:#fff;cursor:pointer;padding:12px 22px;white-space:nowrap;font-weight:700}
.site-search-row button:hover,.site-loadbar button:hover{background:#24464f}
.site-hero-stats{display:flex;gap:18px;flex-wrap:wrap;margin-top:19px;color:var(--site-sub);font-size:13px}
.site-hero-stats span+span:before{content:'·';margin-right:18px;color:#abc0c1}
.site-hero-stats strong{color:var(--site-ink)}
.site-section{padding:35px 0 42px;border-top:1px solid var(--site-line)}
.site-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px}
.site-section-head h2{font-size:28px;margin:0 0 6px;line-height:1.45}
.site-section-head p{color:var(--site-sub);margin:4px 0 0}
.site-section-head>a{color:var(--site-primary);font-weight:700;font-size:14px;white-space:nowrap}
.site-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.site-category-card{padding:22px 23px;border:1px solid var(--site-line);border-radius:14px;display:flex;flex-direction:column;min-height:162px;background:#fff;transition:background .15s,border-color .15s}
.site-category-card:hover,.site-tool-card:hover{background:var(--site-soft);border-color:#9fbebd}
.site-category-heading{display:block;font-size:17px;font-weight:800;color:var(--site-ink)}
.site-category-desc{display:block;color:var(--site-sub);font-size:13px;line-height:1.7;margin:10px 0 14px;flex:1}
.site-category-foot{display:flex;justify-content:space-between;gap:5px;color:var(--site-primary);font-weight:700;font-size:12px}
.site-tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.site-tool-card{padding:20px 21px;min-height:155px;border:1px solid var(--site-line);border-radius:13px;display:flex;flex-direction:column;background:#fff;transition:background .15s,border-color .15s}
.site-tool-heading{font-weight:750;color:var(--site-ink);font-size:16px;line-height:1.55}
.site-tool-desc{font-size:13px;color:var(--site-sub);line-height:1.65;margin:8px 0 14px;flex:1}
.site-tool-arrow{color:var(--site-primary);font-size:13px;font-weight:700}
.site-info{background:var(--site-sand);border:1px solid #e9e4db;border-radius:17px;padding:29px 32px;margin:40px 0}
.site-info h2{font-size:24px;margin-bottom:16px}
.site-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.site-info-grid p{font-size:14px;margin:0;color:var(--site-sub)}
.site-info-grid strong{display:inline-block;color:var(--site-ink);margin-bottom:7px}
.site-pagehead{padding:48px 0 30px}
.site-pagehead h1{font-size:clamp(28px,4vw,38px);margin:0 0 12px;line-height:1.4}
.site-pagehead p{color:var(--site-sub);margin:0}
.site-search-block{padding:20px;background:var(--site-soft);border:1px solid var(--site-line);border-radius:14px;margin:0 0 22px}
.site-count{font-size:13px;color:var(--site-sub);margin-top:9px}
.site-loadbar{text-align:center;padding:28px 0}
.site-loadbar button[hidden]{display:none}
.site-prose{max-width:800px;line-height:1.95}
.site-prose h2{font-size:20px;margin:30px 0 6px}
.site-prose p{color:var(--site-sub)}
.site-footer{border-top:1px solid var(--site-line);background:var(--site-soft);color:var(--site-sub);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
.site-footer-inner{max-width:1160px;margin:0 auto;padding:29px 24px;display:flex;align-items:center;justify-content:space-between;gap:22px;font-size:13px}
.site-footer nav{display:flex;gap:20px;flex-wrap:wrap}
.site-footer a{color:var(--site-sub)!important;text-decoration:none!important}
.site-breadcrumb{max-width:1160px;margin:18px auto 6px;padding:0 24px;font-size:12px;color:var(--site-sub);display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
.site-breadcrumb a{color:var(--site-primary)!important;text-decoration:none!important}
.site-directory .site-breadcrumb{padding:0;margin:0}
.site-related{max-width:980px;margin:42px auto 24px;padding:16px 20px;border:1px solid var(--site-line);border-radius:12px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:13px;background:var(--site-soft)}
.site-related a{color:var(--site-primary)!important;text-decoration:none!important;font-weight:700}
.site-related a:hover{text-decoration:underline!important}
@media(max-width:900px){.site-category-grid,.site-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-hero{padding:55px 0}.site-info-grid{grid-template-columns:1fr}}
@media(max-width:600px){.site-topbar-inner{align-items:flex-start;flex-direction:column;gap:12px;padding:13px 16px}.site-brand{font-size:15px}.site-toplinks{gap:16px}.site-toplinks a{font-size:13px}.site-main{padding:0 16px 55px}.site-hero{padding:42px 0 48px}.site-hero>p{font-size:15px}.site-category-grid,.site-tool-grid{grid-template-columns:1fr}.site-section-head{align-items:flex-start;flex-direction:column;gap:7px}.site-search-row{flex-direction:column}.site-search-row button{width:100%}.site-info{padding:20px}.site-footer-inner{padding:24px 16px;align-items:flex-start;flex-direction:column}.site-breadcrumb{padding:0 16px}.site-related{margin:30px 16px 20px}.site-category-card{min-height:auto}.site-tool-card{min-height:auto}}
@media print{.site-topbar,.site-footer,.site-related,.site-breadcrumb,.site-skip{display:none!important}.site-main{max-width:none;padding:0}.site-directory .site-tool-grid{display:block}.site-directory a{color:#000!important}}

/* お問い合わせページ専用スタイル（他のツールのUIには影響しません） */
.site-contact-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(240px,1fr);align-items:start;gap:24px;max-width:1040px}
.site-contact-form-card,.site-contact-aside{border:1px solid var(--site-line);border-radius:16px;padding:30px;background:#fff}
.site-contact-form-card h2,.site-contact-aside h2{font-size:21px;line-height:1.5;margin:0 0 12px;color:var(--site-ink)}
.site-contact-intro,.site-contact-aside p{color:var(--site-sub);font-size:14px;line-height:1.9}
.site-contact-intro{margin:0 0 26px}
.site-contact-aside{background:var(--site-soft)}
.site-contact-aside p:last-child{margin-bottom:0}
.site-contact-field{margin-bottom:21px}
.site-contact-field label{display:block;font-size:14px;font-weight:700;margin-bottom:7px;color:var(--site-ink)}
.site-contact-field input,.site-contact-field select,.site-contact-field textarea{display:block;width:100%;max-width:100%;border:1px solid #b4c7cb;border-radius:10px;background:#fff;color:var(--site-ink);font:inherit;font-size:16px;padding:12px 14px;line-height:1.5}
.site-contact-field textarea{resize:vertical;min-height:150px}
.site-contact-field input:focus-visible,.site-contact-field select:focus-visible,.site-contact-field textarea:focus-visible{outline:3px solid #d48b4d;outline-offset:2px}
.site-required-mark{display:inline-block;background:#f7e9e4;color:#93462d;border-radius:6px;padding:2px 7px;margin-left:5px;font-size:11px;font-weight:700;vertical-align:middle}
.site-contact-help{color:var(--site-sub);font-size:12px;margin:5px 0 0}
.site-contact-privacy{font-size:13px;color:var(--site-sub);line-height:1.85;margin:0 0 20px}
.site-contact-privacy a{color:var(--site-primary);text-decoration:underline}
.site-contact-submit{width:100%;border:0;border-radius:10px;background:var(--site-primary);color:#fff;font:inherit;font-weight:700;padding:14px 20px;cursor:pointer}
.site-contact-submit:hover{background:#24464f}
.site-contact-submit:disabled{cursor:wait;opacity:.7}
.site-contact-status{font-size:14px;margin:14px 0 0;min-height:1em}
.site-contact-status.is-success{color:#28643d;font-weight:700}
.site-contact-status.is-error{color:#ac3131;font-weight:700}
.site-contact-honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
@media(max-width:760px){.site-contact-layout{grid-template-columns:1fr}.site-contact-form-card,.site-contact-aside{padding:22px}.site-contact-field{margin-bottom:18px}}
@media print{.site-contact-submit{display:none}}
