/* cover-style images */
img{display:block;width:100%;height:100%;object-fit:cover}

/* cover: statement */
.cover{position:relative;min-height:80vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}
.cover__bg{position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,#2b3038,#0E0F12)}
.cover__bg img{transform:scale(1.06);animation:kb 22s ease-out forwards;filter:grayscale(.3) brightness(.75)}
@keyframes kb{to{transform:scale(1.14)}}
.cover__scrim{position:absolute;inset:0;z-index:2;background:radial-gradient(ellipse at center,rgba(9,10,12,.35) 0%,rgba(9,10,12,.9) 100%)}
.cover__in{position:relative;z-index:3;padding:150px var(--pad) 70px;max-width:900px}
.cover .crumb{font-size:11.5px;letter-spacing:.16em;color:rgba(255,255,255,.72);margin-bottom:26px}
.cover .crumb a:hover{color:var(--terra)}
.cover .roman{font-family:"Zen Old Mincho",serif;font-size:13px;letter-spacing:.4em;color:var(--terra);margin-bottom:20px}
.cover h1{font-family:"Zen Old Mincho",serif;font-weight:700;color:#fff;font-size:clamp(32px,5.2vw,60px);line-height:1.6;letter-spacing:.08em;text-shadow:0 2px 40px rgba(0,0,0,.5)}
.cover h1 em{font-style:normal;color:var(--terra)}
.cover .en{margin-top:18px;font-family:"Zen Old Mincho",serif;font-size:12px;letter-spacing:.3em;color:rgba(255,255,255,.6)}

/* philosophy prose */
.chbody{background:var(--midnight);padding:clamp(56px,9vw,110px) var(--pad)}
.chbody__in{max-width:720px;margin:0 auto}
.chbody p{font-size:15.5px;color:#c7cdd2;line-height:2.4;margin-bottom:26px}
.chbody p:last-child{margin-bottom:0}
.chbody p em{font-style:normal;color:#fff;border-bottom:1px solid var(--terra);padding-bottom:1px}
.chbody .drop::first-letter{font-family:"Zen Old Mincho",serif;font-size:3.1em;float:left;line-height:1;padding:6px 12px 0 0;color:var(--terra)}
.chbody .sig{margin-top:34px;text-align:right;font-size:13px;color:var(--muted)}
.chbody .sig b{display:block;font-family:"Zen Old Mincho",serif;font-size:16px;color:#fff;margin-top:6px;letter-spacing:.1em}

/* mission */
.mission{position:relative;background:var(--midnight);border-top:1px solid var(--line);padding:clamp(76px,11vw,144px) var(--pad);overflow:hidden}
.mission::before{content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);width:1px;height:clamp(40px,6vw,76px);background:linear-gradient(180deg,var(--terra),transparent)}
.mission::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(940px,120%);aspect-ratio:2/1;background:radial-gradient(ellipse at center,rgba(176,141,87,.11),transparent 68%);pointer-events:none}
.mission__in{position:relative;z-index:1;max-width:880px;margin:0 auto;text-align:center}
.mission .roman{display:block;font-family:"Zen Old Mincho",serif;font-size:12.5px;letter-spacing:.4em;color:var(--terra);margin-bottom:clamp(26px,4vw,42px)}
.mission h2{font-family:"Zen Old Mincho",serif;font-weight:700;color:#fff;font-size:clamp(22px,3.8vw,42px);line-height:1.9;letter-spacing:.08em;text-shadow:0 2px 30px rgba(0,0,0,.5);text-wrap:balance}
.mission h2 em{font-style:normal;color:var(--terra);white-space:nowrap}
/* 狭い画面では改行位置を固定せず、balanceで均等に折り返す（1文字だけ残るのを防ぐ） */
@media(max-width:560px){
  .mission h2{font-size:20px;letter-spacing:.04em;line-height:2}
  .mission h2 br{display:none}
}

/* profile: quiet rows */
.profile{background:var(--paper);padding:clamp(64px,10vw,120px) var(--pad)}
.profile__in{max-width:820px;margin:0 auto}
.profile .roman{font-family:"Zen Old Mincho",serif;font-size:12.5px;letter-spacing:.34em;color:var(--terra);margin-bottom:18px;display:block;text-align:center}
.profile h2{font-family:"Zen Old Mincho",serif;font-weight:700;font-size:clamp(22px,3.2vw,32px);color:#fff;margin-bottom:clamp(28px,4vw,46px);text-align:center}
.pr{display:grid;grid-template-columns:160px 1fr;gap:22px;padding:22px 0;border-top:1px solid var(--line);align-items:baseline}
.pr:last-of-type{border-bottom:1px solid var(--line)}
@media(max-width:560px){.pr{grid-template-columns:100px 1fr;gap:14px}}
.pr .k{font-family:"Zen Old Mincho",serif;color:var(--terra);font-size:13.5px;letter-spacing:.16em}
.pr p{font-size:14px;color:#c7cdd2;line-height:2.05}

/* history */
.history{background:var(--midnight);padding:clamp(64px,10vw,120px) var(--pad)}
.history__in{max-width:720px;margin:0 auto}
.history .roman{font-family:"Zen Old Mincho",serif;font-size:12.5px;letter-spacing:.34em;color:var(--terra);margin-bottom:18px;display:block;text-align:center}
.history h2{font-family:"Zen Old Mincho",serif;font-weight:700;font-size:clamp(22px,3.2vw,32px);color:#fff;margin-bottom:clamp(28px,4vw,46px);text-align:center}
.hs{display:grid;grid-template-columns:110px 1fr;gap:22px;padding:20px 0;border-top:1px solid var(--line);align-items:baseline}
.hs:last-of-type{border-bottom:1px solid var(--line)}
.hs .yr{font-family:"Zen Old Mincho",serif;font-weight:700;color:var(--terra);font-size:15px;letter-spacing:.12em}
.hs p{font-size:13.5px;color:#c7cdd2;line-height:2}

@media (prefers-reduced-motion: reduce) {

  .cover__bg img{transform:scale(1.06)}
}
