
:root{
  --ink:#234448;--deep:#315e64;--blue:#9fcfd0;--pale:#e9f5f3;--beige:#e8dfd2;
  --sand:#f7f2ea;--white:#fff;--line:rgba(35,68,72,.16)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:"Noto Sans JP",sans-serif;background:#fff;line-height:1.9;letter-spacing:.04em}
a{color:inherit;text-decoration:none}img{display:block;width:100%}
.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 4.5vw;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);position:fixed;top:0;left:0;right:0;z-index:30;border-bottom:1px solid rgba(35,68,72,.08)}
.brand{display:grid;grid-template-columns:42px auto;grid-template-rows:auto auto;column-gap:10px;align-items:center}
.brand-mark{grid-row:1/3;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:white;font-family:"Shippori Mincho";font-size:23px}
.brand-name{font-weight:700;font-size:20px;line-height:1.1;letter-spacing:.12em}.brand-sub{font-size:8px;letter-spacing:.23em;color:#688287}
nav{display:flex;gap:28px;font-size:11px;font-weight:600;letter-spacing:.14em}
.header-cta{border:1px solid var(--deep);padding:10px 20px;border-radius:999px;font-size:12px}
.hero{height:770px;min-height:720px;position:relative;display:flex;align-items:center;overflow:hidden;margin-top:88px}
.hero-image{position:absolute;inset:0;background:url("https://images.unsplash.com/photo-1507525428034-b723cf961d3e?auto=format&fit=crop&w=2000&q=90") center 56%/cover no-repeat;transform:scale(1.02)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.72) 40%,rgba(255,255,255,.12) 72%)}
.hero-copy{position:relative;z-index:2;margin-left:8vw;max-width:680px}.eyebrow,.section-kicker{font-size:11px;letter-spacing:.23em;font-weight:700;color:#5f8589}
.hero h1{font-family:"Shippori Mincho";font-size:58px;line-height:1.45;font-weight:600;margin:22px 0}.hero .lead{font-size:16px}
.hero-actions{display:flex;gap:14px;margin-top:34px}
.button{display:inline-flex;align-items:center;justify-content:center;min-width:180px;padding:15px 24px;border-radius:999px;font-size:13px;font-weight:600}
.button.primary{background:var(--deep);color:white;box-shadow:0 12px 30px rgba(49,94,100,.18)}.button.ghost{background:rgba(255,255,255,.76);border:1px solid var(--deep)}
.hero-badge{position:absolute;right:4vw;bottom:34px;z-index:2;background:rgba(255,255,255,.91);padding:18px 22px;border-left:4px solid var(--blue);box-shadow:0 14px 35px rgba(49,94,100,.14)}
.hero-badge span,.hero-badge small{display:block;font-size:10px;letter-spacing:.12em}.hero-badge strong{display:block;font-size:18px;letter-spacing:.1em}
.section{padding:120px 8vw}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:start;margin-top:24px}
h2{font-family:"Shippori Mincho";font-weight:600}.intro h2,.concept h2,.award h2,.section-heading h2,.menu h2,.contact h2{font-size:42px;line-height:1.6;margin:0}
.intro p,.concept p,.award p{color:#5a7074}
.concept{display:grid;grid-template-columns:1.15fr .85fr;gap:7vw;background:var(--sand);align-items:center}
.concept-photo img{height:610px;object-fit:cover}.concept-points{margin-top:34px;border-top:1px solid var(--line)}
.concept-points div{display:grid;grid-template-columns:48px 180px 1fr;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}
.concept-points span{font-size:10px;color:#7b9da0}.concept-points strong{font-size:14px}.concept-points small{color:#728589}
.award{display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw;align-items:center;background:#fff}
.award-logo-wrap{display:flex;align-items:center;gap:22px;margin-top:34px;padding:20px;background:var(--pale)}
.award-logo-wrap img{width:120px;height:70px;object-fit:contain}.award-logo-wrap span,.award-logo-wrap strong{display:block}.award-logo-wrap span{font-size:9px;color:#6d8589}.award-logo-wrap strong{font-size:16px}
.award-visual img{border:10px solid white;box-shadow:0 18px 55px rgba(49,94,100,.16)}.award-visual p{font-size:10px;text-align:right}
.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:42px}.section-heading p{max-width:420px;color:#718488;margin:0}
.logo-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.logo-card{height:145px;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;align-items:center}.logo-card span{font-size:10px;letter-spacing:.2em;color:#8ba2a5}.logo-card b{font-size:24px;color:#58787c}.micro-note{font-size:10px;color:#8aa0a3;text-align:right}
.events{background:var(--pale)}.text-link{font-size:12px;border-bottom:1px solid currentColor}
.event-grid{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:1fr 1fr;gap:22px}.event-card{background:#fff;display:grid;grid-template-columns:46% 54%;min-height:260px}.event-large{grid-row:1/3;display:block}.event-card img{height:100%;object-fit:cover}.event-large img{height:440px}.event-info{padding:28px}.event-info .tag{font-size:9px;letter-spacing:.18em;color:#6e9498}.event-info h3{font-family:"Shippori Mincho";font-size:22px;margin:8px 0}.event-info p{font-size:12px;color:#6d8084}
.menu{display:grid;grid-template-columns:.75fr 1.25fr;gap:9vw}.menu-intro p{color:#718488}
.menu-list article{display:grid;grid-template-columns:55px 1fr 180px;gap:18px;padding:28px 0;border-top:1px solid var(--line)}.menu-list article:last-child{border-bottom:1px solid var(--line)}
.menu-list span{font-size:11px;color:#8cabaf}.menu-list h3{margin:0 0 8px;font-family:"Shippori Mincho";font-size:22px}.menu-list p{margin:0;color:#6d8084;font-size:13px}.menu-list b{font-size:9px;letter-spacing:.14em;text-align:right;color:#86a2a5}
.impact{padding:110px 8vw;background:linear-gradient(rgba(35,68,72,.86),rgba(35,68,72,.86)),url("https://images.unsplash.com/photo-1470252649378-9c29740c9fa8?auto=format&fit=crop&w=2000&q=85") center/cover;color:white}.impact-inner{text-align:center;max-width:1100px;margin:auto}.impact h2{font-size:44px;line-height:1.6}.impact-flow{display:grid;grid-template-columns:1fr 50px 1fr 50px 1fr;align-items:center;margin-top:52px}.impact-flow div{border:1px solid rgba(255,255,255,.35);padding:28px 15px}.impact-flow strong{display:block;font-family:"Shippori Mincho";font-size:24px}.impact-flow span{font-size:11px}
.news-list a{display:grid;grid-template-columns:150px 1fr 90px;padding:22px 4px;border-top:1px solid var(--line)}.news-list a:last-child{border-bottom:1px solid var(--line)}.news-list time,.news-list b{font-size:10px;color:#759397}.news-list b{text-align:right}
.contact{display:grid;grid-template-columns:1fr 320px;gap:10vw;background:var(--sand);align-items:center}.contact-copy p{color:#6b7f82}.contact-copy small{display:block;margin-top:14px;color:#8b9c9e;font-size:10px}
.qr-card{background:#fff;padding:30px;text-align:center;box-shadow:0 18px 50px rgba(49,94,100,.08)}.qr-card img{width:170px;margin:0 auto 15px}.qr-card strong,.qr-card span,.qr-card small{display:block}.qr-card strong{font-family:"Shippori Mincho";font-size:18px}.qr-card span{font-size:11px;color:#6e8386}.qr-card small{font-size:9px;color:#a0abad}
footer{padding:52px 8vw;background:#24484d;color:white;display:grid;grid-template-columns:1fr auto;gap:28px}.footer-brand{display:flex;gap:12px;align-items:center}.footer-brand strong,.footer-brand small{display:block}.footer-brand small{font-size:10px;color:#b8cdcf}.footer-links{display:flex;gap:24px;font-size:10px}.footer-brand .brand-mark{background:#9fcfd0}footer>p{grid-column:1/3;font-size:9px;color:#9fb6b9;border-top:1px solid rgba(255,255,255,.15);padding-top:22px}
@media(max-width:900px){nav,.header-cta{display:none}.site-header{padding:0 20px}.hero{height:700px}.hero-copy{margin:0 24px}.hero h1{font-size:40px}.hero-badge{right:20px;bottom:20px}.section{padding:80px 24px}.intro-grid,.concept,.award,.menu,.contact{grid-template-columns:1fr}.logo-grid{grid-template-columns:repeat(2,1fr)}.event-grid{display:block}.event-card,.event-large{display:block;margin-bottom:18px}.event-card img,.event-large img{height:260px}.impact-flow{grid-template-columns:1fr}.impact-flow i{padding:10px}}


.partner-card-filled{
  padding:24px;
  background:#fff;
}

.partner-logo{
  width:100%;
  max-width:190px;
  max-height:86px;
  object-fit:contain;
}
