:root{
  --bg:#f7f4ee;
  --paper:#fffdf9;
  --ink:#27241f;
  --muted:#756f65;
  --line:#ddd7cd;
  --accent:#8a6a43;
  --green:#7c9473;
  --green-soft:#e3ead9;
  --blue-soft:#dde7e8;
  --pink-soft:#f3e2e3;
  --sand-soft:#f0e6d2;
  --max:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;
  line-height:1.9;letter-spacing:.02em;
}
a{color:inherit}
.wrap{width:min(calc(100% - 40px),var(--max));margin:auto}
img{max-width:100%;display:block}

/* header */
header{position:sticky;top:0;z-index:10;background:rgba(247,244,238,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(221,215,205,.8)}
nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{text-decoration:none;font-weight:800;letter-spacing:.16em;font-size:20px}
.brand small{display:block;font-size:10px;letter-spacing:.12em;color:var(--muted);font-weight:500;margin-top:4px}
.navlinks{display:flex;gap:20px;font-size:13px;flex-wrap:wrap}
.navlinks a{text-decoration:none;color:var(--muted);white-space:nowrap}
.navlinks a:hover{color:var(--ink)}

/* hero */
.hero{padding:70px 0 0;border-top:none}
.hero .wrap{display:flex;gap:48px;align-items:center}
.hero-text{flex:1.3}
.hero-art{flex:.8;min-width:0;max-width:400px}
.hero-text{padding:40px 0 60px}
.eyebrow{font-size:12px;letter-spacing:.18em;color:var(--accent);font-weight:700}
h1{font-family:Georgia,"Times New Roman","Noto Serif JP",serif;font-size:clamp(38px,5.4vw,58px);line-height:1.35;margin:18px 0 24px;font-weight:600}
.lead{color:var(--muted);max-width:420px;font-size:15.5px}
.buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border:1px solid var(--ink);text-decoration:none;font-size:13px;border-radius:999px}
.btn.primary{background:var(--ink);color:#fff}
.hero-art{border-radius:18px;overflow:hidden;aspect-ratio:4/5;position:relative}
.hero-art img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) brightness(1.05) contrast(.96)}
.hero-art::after{content:"";position:absolute;inset:0;background:var(--bg);opacity:.16;mix-blend-mode:multiply;pointer-events:none}

/* section heading (shared) */
section{border-top:1px solid var(--line)}
.section-head{display:flex;flex-wrap:wrap;gap:14px 40px;align-items:baseline;margin-bottom:10px}
.section-head h2{margin:10px 0 14px}
.section-head p{color:var(--muted);font-size:14.5px;max-width:640px;margin:0}

/* about intro */
.about-intro{padding:70px 0 10px}
.about-intro .section-head{display:block}
.about-intro h2{font-family:"Noto Serif JP",serif;font-size:clamp(24px,3.2vw,32px);margin:10px 0 14px}
.about-intro p{color:var(--ink);font-size:15px;max-width:680px}

/* icon grid */
.iconband{padding:56px 0 64px}
.icongrid{display:flex;flex-wrap:wrap;gap:36px 28px}
.iconcard{text-align:center;flex:1 1 230px;min-width:230px;max-width:260px}
.iconcard img{width:48px;height:48px;margin:0 auto 18px}
.iconcard h3{font-size:15px;margin:0 0 6px;font-weight:700}
.iconcard p{color:var(--muted);font-size:13.5px;margin:0}

/* name meaning */
.namewrap{padding:80px 0;border-top:1px solid var(--line)}
.namewrap .wrap{display:flex;gap:56px;align-items:center}
.namewrap .art{flex:.75;min-width:0;max-width:340px;position:relative}
.namewrap .text{flex:1.3}
.namewrap .art{border-radius:18px;overflow:hidden;aspect-ratio:4/5}
.namewrap .art img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) brightness(1.05) contrast(.96)}
.namewrap .art::after{content:"";position:absolute;inset:0;background:var(--bg);opacity:.16;mix-blend-mode:multiply;pointer-events:none}
h2{font-family:"Noto Serif JP",serif;font-size:clamp(24px,3.2vw,32px);line-height:1.5;margin:0 0 6px;font-weight:600}
.rule{width:40px;height:2px;background:var(--ink);margin:14px 0 22px}
.namewrap p{color:var(--ink);font-size:15px}
.pills{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.pill{padding:14px 20px;border-radius:14px;font-size:13.5px;line-height:1.5;font-weight:600}
.pill.c1{background:var(--blue-soft)}
.pill.c2{background:var(--green-soft)}
.pill.c3{background:var(--pink-soft)}
.pill.c4{background:var(--sand-soft)}

/* principles */
.principles-section{
  padding:90px 0;position:relative;
  background:linear-gradient(180deg,#fbeed7 0%,#f6ddc6 22%,#eee0d6 46%,#e6e8de 68%,#eef2ea 100%);
  border-top:1px solid var(--line);
}
.principles-section h2{text-align:center;margin-bottom:44px}
.pgrid{display:flex;flex-wrap:wrap;gap:14px}
.pgrid .pcard{flex:1 1 130px;min-width:120px}
.pcard{background:rgba(255,253,249,.55);border:1px solid rgba(255,255,255,.6);border-radius:16px;padding:22px 10px;text-align:center}
.pcard img{width:30px;height:30px;margin:0 auto 14px}
.pcard b{display:block;font-size:12.5px;margin-bottom:6px}
.pcard span{display:block;color:var(--muted);font-size:11.5px;line-height:1.6}

/* news */
.news-section{padding:80px 0}
.news-section .section-head{display:block;margin-bottom:24px}
.newsbox{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:28px 30px;color:var(--muted);font-size:14px}

/* closing */
.closing{padding:70px 0 100px;text-align:center}
.closing img{width:70px;height:70px;object-fit:cover;border-radius:50%;margin:0 auto 26px;box-shadow:0 6px 18px rgba(138,106,67,.25)}
.closing p{font-family:"Noto Serif JP",serif;font-size:clamp(17px,2.2vw,21px);line-height:1.9;margin:0}
.closing p.sub{font-family:inherit;color:var(--muted);font-size:13.5px;margin-top:14px}

footer{padding:40px 0 60px;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}
footer .brand{font-size:15px}

@media(max-width:900px){
  .hero .wrap{flex-direction:column}
  .hero-art{order:-1;width:100%;max-width:none;aspect-ratio:16/11}
  .namewrap .wrap{flex-direction:column}
  .namewrap .art{width:100%;max-width:none;aspect-ratio:16/11}
  .navlinks{display:none}
  .about-intro .brk{display:none}
}
@media(max-width:520px){
  .pgrid .pcard{flex:1 1 45%}
}
