:root{--op-accent:#c4838d;--op-bg:#fffaf9;--op-ink:#262b36;--op-muted:#717784;--op-radius:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--op-bg);color:var(--op-ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;line-height:1.75}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}button{font:inherit}.op-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.93);backdrop-filter:blur(15px);border-bottom:1px solid #e9eaf0}.admin-bar .op-header{top:32px}.op-header-inner{max-width:1250px;min-height:76px;padding:0 28px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}.op-brand{display:flex;align-items:center;gap:12px;font-weight:750;letter-spacing:.03em}.op-brand-mark{font-size:26px;color:#262b36}.op-nav-list{display:flex;list-style:none;gap:27px;margin:0;padding:0}.op-nav a{font-size:13px;font-weight:700;letter-spacing:.04em;transition:color .2s}.op-nav a:hover{color:var(--op-accent)}.op-nav-toggle{display:none;border:0;background:transparent;padding:8px}.op-nav-toggle span{display:block;width:24px;height:2px;background:#262b36;margin:5px 0}.op-hero{position:relative;overflow:hidden;max-width:1500px;min-height:min(680px,85vh);margin:0 auto 40px;border-radius:0 0 70px 70px;display:flex;align-items:center;background:var(--op-hero-surface,#f8e8e9)}.op-hero-copy{position:relative;z-index:2;padding:90px max(7%,32px);width:55%}.op-hero-label,.op-eyebrow{font-size:11px;letter-spacing:.24em;font-weight:800;color:var(--op-accent)}.op-hero h1{font-size:clamp(42px,6vw,86px);line-height:1.12;letter-spacing:-.045em;margin:20px 0 25px;overflow-wrap:anywhere}.op-hero-copy p{font-size:16px;color:#726568;white-space:normal}.op-hero-link{display:inline-flex;gap:40px;align-items:center;margin-top:28px;padding:13px 24px;border:1px solid var(--op-accent);border-radius:100px;color:#604a4d;background:#fff;font-weight:700;font-size:13px}.op-hero-picture{position:absolute;right:0;top:0;bottom:0;width:48%;overflow:hidden}.op-hero-picture img{width:100%;height:100%;object-fit:cover}.op-hero-split .op-hero-picture{inset:9% 5% 9% auto;width:41%;border-radius:var(--op-radius);box-shadow:0 30px 60px #3b222220}.op-hero-diagonal .op-hero-picture{width:55%;clip-path:polygon(27% 0,100% 0,100% 100%,0 100%)}.op-hero-full{background-image:linear-gradient(90deg,rgba(10,18,31,.68),rgba(10,18,31,.2)),var(--op-hero-bg);background-size:cover;background-position:center;background-color:#30394a}.op-hero-full .op-hero-copy{width:75%}.op-hero-full h1,.op-hero-full .op-hero-copy p,.op-hero-full .op-hero-label{color:#fff}.op-hero-full .op-hero-link{color:#49383b}.op-main-sections{max-width:1210px;margin:auto;padding:0 28px}.op-section{padding:90px 0;scroll-margin-top:90px}.op-section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px}.op-section h2{font-size:clamp(30px,4vw,47px);letter-spacing:.07em;margin:6px 0}.op-section-head p{margin:0;color:var(--op-muted)}.op-art-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.op-art{min-width:0}.op-art-image{aspect-ratio:1;overflow:hidden;background:#f2eaea;border-radius:var(--op-radius)}.op-art-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.op-art:hover img,.op-blog-card:hover img{transform:scale(1.04)}.op-art-title{font-weight:700;font-size:13px;margin-top:11px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.op-about{display:flex;align-items:center;gap:clamp(30px,8vw,100px);background:#fff;border-radius:var(--op-radius);padding:clamp(28px,6vw,75px);box-shadow:0 12px 50px #17243808}.op-avatar{width:clamp(160px,26vw,300px);height:clamp(160px,26vw,300px);flex-shrink:0;display:grid;place-items:center;background:#f5eeee;border-radius:50%;overflow:hidden;font-size:90px;color:var(--op-accent)}.op-avatar img{width:100%;height:100%;object-fit:cover}.op-about-copy{flex:1}.op-about h3{font-size:23px;margin:4px 0 12px}.op-about-copy p{color:var(--op-muted);max-width:570px}.op-about-center{flex-direction:column;text-align:center;gap:20px}.op-about-center .op-avatar{width:180px;height:180px}.op-about-center .op-about-copy p{margin-left:auto;margin-right:auto}.op-social{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.op-social a{border:1px solid #d9dfe8;padding:7px 14px;border-radius:30px;font-size:12px}.op-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.op-blog-card{background:#fff;overflow:hidden;border-radius:var(--op-radius);box-shadow:0 8px 30px #1b27330a}.op-blog-image{height:195px;background:#f2eaea;overflow:hidden}.op-blog-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.op-blog-info{padding:22px}.op-blog-info time{font-size:11px;color:var(--op-accent);font-weight:700}.op-blog-info h3{font-size:17px;line-height:1.5;margin:8px 0}.op-blog-info p{font-size:13px;color:var(--op-muted)}.op-footer{background:#25282e;color:#fff;margin-top:85px;padding:48px max(28px,calc((100vw - 1154px)/2)) 24px}.op-footer>div{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.op-footer a{font-size:13px;color:#cbd0d9}.op-footer small{display:block;color:#9da3af;margin-top:24px;font-size:11px}.op-page{min-height:60vh;padding:70px 24px}.op-page-inner{max-width:1150px;margin:auto}.op-article{max-width:790px;background:#fff;padding:clamp(25px,5vw,65px);margin:auto;border-radius:var(--op-radius)}.op-article h1{font-size:clamp(28px,4vw,45px)}.op-article-body{margin-top:30px}.op-article-body img{border-radius:12px}
@media(max-width:850px){.op-nav-toggle{display:block}.op-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:20px 28px;border-bottom:1px solid #e9eaf0}.op-nav.is-open{display:block}.op-nav-list{flex-direction:column;gap:15px}.op-art-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.op-hero{min-height:570px}.op-hero-copy{width:62%}.op-hero-split .op-hero-picture{width:39%;right:3%}}
@media(max-width:600px){.admin-bar .op-header{top:46px}.op-header-inner{min-height:66px;padding:0 18px}.op-brand{font-size:13px}.op-hero{min-height:650px;border-radius:0 0 35px 35px;align-items:flex-start}.op-hero-copy{width:100%;padding:50px 25px}.op-hero h1{font-size:48px}.op-hero-split .op-hero-picture{inset:auto 6% 5% 6%;width:88%;height:42%}.op-hero-diagonal .op-hero-picture{inset:auto 0 0 0;width:100%;height:52%;clip-path:polygon(0 18%,100% 0,100% 100%,0 100%)}.op-hero-full{align-items:center}.op-hero-full .op-hero-copy{width:100%}.op-main-sections{padding:0 18px}.op-section{padding:60px 0}.op-art-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.op-art-title{font-size:12px}.op-about{flex-direction:column;text-align:center}.op-avatar{width:160px;height:160px}.op-social{justify-content:center}.op-blog-grid{grid-template-columns:1fr}.op-blog-image{height:230px}}

.op-art-overlay .op-art-image{position:relative}.op-art-overlay .op-art-title{position:absolute;left:0;right:0;bottom:0;margin:0;padding:30px 13px 13px;color:white;background:linear-gradient(transparent,rgba(0,0,0,.72));font-size:13px;white-space:normal}.op-art-hidden .op-art-image{margin-bottom:0}

/* Minimal default labels: keep spacing compact when eyebrow/description is empty. */
.op-section-head h2{margin-top:0}

/* Individual illustration thumbnail zoom, independent from hover effects */
.op-art-image img{transform:scale(var(--op-art-zoom,1));transform-origin:center center}
.op-art:hover .op-art-image img{transform:scale(calc(var(--op-art-zoom,1) * 1.04))}
