:root{
  --ork-navy:#13284a;
  --ork-navy-deep:#0b1b36;
  --ork-graphite:#2f3740;
  --ork-graphite-soft:#4a5361;
  --ork-olive:#6b7a4b;
  --ork-olive-soft:#8c9a71;
  --ork-paper:#f6f7f5;
  --ork-ivory:#fbfaf5;
  --ork-line:#d9dbe0;
  --ork-line-soft:#e8eaee;
  --ork-text:#1c2736;
  --ork-muted:#5a6472;
  --ork-accent:#e7eadd;
  --ork-warn:#7a3b3b;
  --ork-radius:2px;
  --ork-shadow:0 1px 2px rgba(15,25,45,.06);
  --ork-shadow-card:0 2px 6px rgba(15,25,45,.08);
  --ork-font:'IBM Plex Sans JP','Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;
  --ork-container:1160px;
  --ork-gap:24px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--ork-font);
  font-size:16px;
  line-height:1.78;
  color:var(--ork-text);
  background:var(--ork-ivory);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,h6{
  font-family:var(--ork-font);
  color:var(--ork-navy-deep);
  font-weight:600;
  letter-spacing:.01em;
  line-height:1.35;
  margin:0 0 .6em;
}
h1{font-size:2.15rem;font-weight:600}
h2{font-size:1.55rem}
h3{font-size:1.2rem}
h4{font-size:1.05rem}
p{margin:0 0 1em;color:var(--ork-graphite)}
a{color:var(--ork-navy);text-decoration:none;transition:color .2s ease}
a:hover{color:var(--ork-olive)}
img{max-width:100%;height:auto;display:block}
ul,ol{padding-left:1.2em;margin:0 0 1em}
li{margin-bottom:.3em}
hr{border:0;border-top:1px solid var(--ork-line);margin:2.5rem 0}
section{padding:72px 0}
small{color:var(--ork-muted);font-size:.85rem}
blockquote{
  margin:1.6rem 0;
  padding:1rem 1.2rem;
  border-left:3px solid var(--ork-olive);
  background:var(--ork-paper);
  color:var(--ork-graphite);
  font-size:.96rem;
}
code{
  font-family:'IBM Plex Mono','Menlo',monospace;
  font-size:.9rem;
  background:var(--ork-paper);
  padding:.1em .4em;
  border-radius:var(--ork-radius);
}
.container{
  width:100%;
  max-width:var(--ork-container);
  margin:0 auto;
  padding:0 28px;
}
.eyebrow{
  display:inline-block;
  font-size:.78rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ork-olive);
  font-weight:600;
  margin-bottom:.8rem;
}
.section-num{
  display:inline-block;
  font-family:'IBM Plex Mono',monospace;
  font-size:.8rem;
  color:var(--ork-olive);
  letter-spacing:.1em;
  margin-right:.6rem;
}
.btn{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.75rem 1.3rem;
  border-radius:var(--ork-radius);
  font-weight:500;
  font-size:.95rem;
  cursor:pointer;
  border:1px solid transparent;
  transition:all .25s ease;
  font-family:inherit;
  text-align:center;
}
.btn-primary{
  background:var(--ork-navy);
  color:#fff;
}
.btn-primary:hover{
  background:var(--ork-navy-deep);
  color:#fff;
}
.btn-outline{
  background:transparent;
  color:var(--ork-navy);
  border-color:var(--ork-navy);
}
.btn-outline:hover{
  background:var(--ork-navy);
  color:#fff;
}
.btn-ghost{
  background:transparent;
  color:var(--ork-graphite);
  border-color:var(--ork-line);
}
.btn-ghost:hover{
  border-color:var(--ork-navy);
  color:var(--ork-navy);
}
.divider{
  width:48px;
  height:2px;
  background:var(--ork-olive);
  margin:0 0 1.4rem;
}
.muted{color:var(--ork-muted)}
.lead{
  font-size:1.1rem;
  color:var(--ork-graphite);
  line-height:1.75;
}
.badge{
  display:inline-block;
  padding:.2rem .6rem;
  background:var(--ork-accent);
  color:var(--ork-olive);
  font-size:.75rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  border-radius:var(--ork-radius);
}
.bi{
  font-size:1.05em;
  line-height:1;
  vertical-align:-.125em;
}
.visually-hidden{
  position:absolute;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);
  white-space:nowrap;border:0;
}
