:root{--color-bg: #f7f5f0;--color-surface: #ffffff;--color-text: #182426;--color-muted: #5f6b6d;--color-line: #d9dedb;--color-primary: #116a71;--color-primary-dark: #0a454b;--color-accent: #9a6b31;--color-panel: rgb(255 255 255 / 72%);--radius-sm: 10px;--radius-md: 16px;--radius-lg: 24px;--shadow-soft: 0 18px 45px rgb(24 36 38 / 8%);--shadow-panel: 0 12px 32px rgb(24 36 38 / 6%);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif}*{box-sizing:border-box}html{background:var(--color-bg);color:var(--color-text)}body{margin:0;min-width:320px;line-height:1.75}a{color:inherit;text-decoration:none}p{margin:0}h1,h2{margin:0;line-height:1.35;letter-spacing:0}h1{font-size:clamp(2rem,4vw,3.8rem);text-wrap:balance}h2{font-size:clamp(1.35rem,2.2vw,2rem);text-wrap:balance}.site-header,.site-footer,main{width:min(1240px,calc(100% - 48px));margin-inline:auto}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0}.brand{display:inline-flex;align-items:center;gap:12px;min-width:max-content}.brand-mark{display:grid;width:40px;height:40px;place-items:center;border-radius:var(--radius-sm);border:1px solid var(--color-line);background:var(--color-primary);color:#fff;font-weight:700}.brand strong,.brand small{display:block}.brand small{color:var(--color-muted);font-size:.78rem}.site-header nav,.site-footer nav{display:flex;flex-wrap:wrap;gap:10px 18px;color:var(--color-muted);font-size:.94rem}.site-header nav a{border-radius:999px;padding:4px 10px}.site-header nav a:hover{background:#116a7114}.site-header nav a:hover,.site-footer nav a:hover,.mail-link:hover{color:var(--color-primary)}.hero{display:grid;min-height:560px;align-items:center;border:1px solid var(--color-line);border-radius:var(--radius-lg);border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);background:linear-gradient(120deg,rgb(17 106 113 / 10%),transparent 48%),linear-gradient(0deg,rgb(154 107 49 / 8%),transparent 45%);box-shadow:var(--shadow-soft);overflow:hidden}.hero-content{max-width:960px;padding:84px 56px}.eyebrow{margin-bottom:12px;color:var(--color-accent);font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.lead{max-width:840px;margin-top:22px;color:#334346;font-size:clamp(1rem,1.45vw,1.18rem);text-wrap:pretty}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}.button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;border:1px solid var(--color-line);border-radius:999px;padding:10px 18px;background:var(--color-surface);color:var(--color-primary-dark);font-weight:700}.button.primary{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.button.text{border-color:transparent;background:transparent}.section{margin-top:24px;padding:72px 48px;border:1px solid rgb(217 222 219 / 72%);border-radius:var(--radius-lg);background:#ffffff6b}.two-column{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px}.content{display:grid;gap:18px;color:#334346}.plain-list{display:grid;gap:10px;margin:0;padding-left:1.2em}.plain-list li::marker{color:var(--color-primary)}.section-heading{margin-bottom:28px}.link-list{display:grid;gap:14px}.link-list a{display:grid;grid-template-columns:180px 1fr;gap:24px;border:1px solid var(--color-line);border-radius:var(--radius-md);padding:24px 26px;background:var(--color-panel);box-shadow:var(--shadow-panel)}.link-list a:hover{border-color:#116a714d;background:var(--color-surface)}.link-list span{color:var(--color-primary);font-weight:700}.link-list strong{font-weight:600}.page-header{margin-top:8px;padding:64px 48px 52px;border:1px solid var(--color-line);border-radius:var(--radius-lg);background:linear-gradient(135deg,rgb(17 106 113 / 8%),transparent 52%),var(--color-panel);box-shadow:var(--shadow-panel)}.note,.contact-box{max-width:860px;background:linear-gradient(135deg,rgb(154 107 49 / 8%),transparent 55%),var(--color-panel)}.note p,.contact-box p{margin-top:16px;color:#334346}.note .button{margin-top:28px}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;border:0;background:transparent}.service-grid article{min-height:220px;border:1px solid var(--color-line);border-radius:var(--radius-md);padding:34px;background:var(--color-panel);box-shadow:var(--shadow-panel)}.service-grid p{margin-top:14px;color:#334346}.stack-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.stack-grid section{border:1px solid var(--color-line);border-radius:var(--radius-md);padding:26px;background:var(--color-panel);box-shadow:var(--shadow-panel)}.stack-grid h3{margin:0 0 16px;color:var(--color-primary-dark);font-size:1.08rem;line-height:1.4}.tag-list,.scope-list{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}.tag-list li,.scope-list li{border:1px solid rgb(17 106 113 / 18%);border-radius:999px;padding:6px 12px;background:#ffffffb3;color:#334346;font-size:.94rem;line-height:1.5;max-width:100%;overflow-wrap:anywhere}.scope-section{background:linear-gradient(135deg,rgb(17 106 113 / 8%),transparent 56%),var(--color-panel)}.mail-link{color:var(--color-primary-dark);font-size:clamp(1.2rem,4vw,1.8rem);font-weight:700;overflow-wrap:anywhere}.muted{color:var(--color-muted);font-size:.95rem}.policy{max-width:920px;background:var(--color-panel)}.policy h2{margin-top:34px;font-size:1.35rem}.policy h2:first-child{margin-top:0}.policy p{margin-top:10px;color:#334346}.policy a{color:var(--color-primary-dark);font-weight:700;overflow-wrap:anywhere}.info-list{display:grid;gap:10px;margin:18px 0 0}.info-list div{display:grid;grid-template-columns:160px 1fr;gap:14px;border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:14px 16px;background:#ffffffa3}.info-list dt,.info-list dd{margin:0}.info-list dt{color:var(--color-muted);font-weight:700}.info-list a{color:var(--color-primary-dark);font-weight:700;overflow-wrap:anywhere}.site-footer{display:grid;gap:18px;padding:40px 0;color:var(--color-muted)}.site-footer strong{color:var(--color-text)}.copyright{font-size:.88rem}@media(max-width:760px){.site-header,.site-footer,main{width:min(100% - 32px,1240px)}.site-header{align-items:flex-start;flex-direction:column}.site-header nav{gap:8px 14px}.hero{min-height:auto}.hero-content{padding:48px 24px}.two-column,.link-list a,.service-grid,.stack-grid{grid-template-columns:1fr}.section{margin-top:18px;padding:40px 24px}.page-header{padding:44px 24px 36px}.service-grid article{min-height:auto;padding:24px}.link-list a{padding:22px}.info-list div{grid-template-columns:1fr;gap:4px}}
