:root{--color-primary:#7f0019;--color-primary-dark:#5a0012;--color-accent:#b1a182;--color-bg:#f7f3ed;--color-surface:#fff;--color-text:#2f2923;--color-muted:#6d645c;--color-border:#d7cfc4;--shadow-md:0 16px 32px rgba(47,41,35,.12);--max-width:1100px;--radius-lg:12px;--radius-md:10px;--radius-sm:6px}*{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}body{margin:0;font-family:Noto Sans JP,Helvetica Neue,Arial,sans-serif;color:var(--color-text);background:var(--color-bg);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit}a,a:focus,a:hover{text-decoration:none}a:focus,a:hover{color:var(--color-primary)}.container{max-width:var(--max-width);margin:0 auto;padding:0 24px}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:999;background:var(--color-surface);border-bottom:1px solid var(--color-border);transition:transform .3s ease,background .3s ease}.site-header.--hidden{transform:translateY(-100%)}.site-header .container{justify-content:space-between;padding:18px 24px;gap:18px}.brand,.site-header .container{display:flex;align-items:center}.brand{gap:14px;padding:6px 12px;border-radius:var(--radius-sm);transition:background .2s ease,color .2s ease}.brand:focus-visible,.brand:hover{background:hsla(37,22%,64%,.15)}.brand__mark{flex-shrink:0;width:48px;height:48px;border-radius:var(--radius-sm);padding:0;background:transparent;border:none}.brand__text{display:flex;flex-direction:column;gap:4px}.brand__logo{font-size:1.3rem;font-weight:600;letter-spacing:.18em}.brand__tagline{font-size:.95rem;color:var(--color-muted)}.site-controls{display:flex;align-items:center;gap:20px}.site-nav{display:flex;gap:20px;font-weight:500;font-size:.95rem}.site-nav a{position:relative;padding-bottom:4px}.site-nav a:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s ease}.site-nav a:focus:after,.site-nav a:hover:after{transform:scaleX(1)}.language-switcher{display:flex;align-items:center;gap:8px}.language-switcher__button{position:relative;width:38px;height:38px;border-radius:var(--radius-md);border:none;background:transparent;font-size:1.18rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:4px;transition:transform .2s ease}.language-switcher__button:focus-visible,.language-switcher__button:hover{transform:translateY(-1px)}.language-switcher__button:focus-visible{outline:none}.language-switcher__button:after{content:"";position:absolute;top:calc(100% + 5px);left:50%;width:8px;height:8px;border-radius:50%;background:rgba(127,0,25,0);transform:translateX(-50%) scale(.6);transition:background .2s ease,transform .2s ease}.language-switcher__button:focus-visible:after,.language-switcher__button:hover:after{background:rgba(127,0,25,.3);transform:translateX(-50%) scale(.9)}.language-switcher__button.is-active:after{background:rgba(127,0,25,.6);transform:translateX(-50%) scale(1)}.hero{position:relative;padding:96px 0 72px}.hero:before{content:"";position:absolute;inset:48px 12% auto;height:68%;background:linear-gradient(135deg,rgba(127,0,25,.06),hsla(40,23%,60%,.16));z-index:-1;border-radius:var(--radius-lg)}.hero .container{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:56px;gap:56px;align-items:center}.hero__content h1{font-size:clamp(2.4rem,3.8vw,3.2rem);font-weight:600;letter-spacing:.04em;line-height:1.25;margin-bottom:20px}.hero__content p{font-size:1.05rem;color:var(--color-muted);margin-bottom:28px}.hero__actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 22px;border-radius:var(--radius-sm);font-weight:600;letter-spacing:.02em;transition:all .2s ease;border:1px solid transparent}.btn--primary{background:var(--color-primary);color:#fff;box-shadow:0 8px 18px rgba(127,0,25,.18);border-color:rgba(127,0,25,.4)}.btn--primary:hover{background:var(--color-primary-dark)}.btn--ghost{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.btn--ghost:hover{color:var(--color-primary);border-color:var(--color-primary);background:rgba(127,0,25,.06)}.hero__media{position:relative;display:flex;justify-content:center;align-items:center}.globe{width:min(340px,78%);aspect-ratio:1/1;border-radius:50%;position:relative;background:radial-gradient(circle,hsla(0,0%,100%,.85) 0,hsla(36,38%,95%,.1) 65%),linear-gradient(135deg,rgba(127,0,25,.14),hsla(40,23%,60%,.24));border:1px solid var(--color-border);box-shadow:0 12px 30px rgba(47,41,35,.08)}.globe:after{content:"";position:absolute;inset:18%;border-radius:50%;border:1px dashed rgba(127,0,25,.25);animation:orbit 14s linear infinite}@keyframes orbit{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.section{padding:88px 0}.section--alt{background:#f2ede6}.section__intro{text-align:center;max-width:640px;margin:0 auto 56px}.section__intro h2{font-size:1.9rem;font-weight:600;letter-spacing:.08em;margin-bottom:14px}.section__intro p{color:var(--color-muted);font-size:1rem;letter-spacing:.03em}.grid{display:grid;grid-gap:28px;gap:28px}.grid--three{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.grid--two{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.card,.feature{background:var(--color-surface);border-radius:var(--radius-md);padding:28px;border:1px solid var(--color-border);box-shadow:none;transition:border-color .2s ease,transform .2s ease}.card:focus-within,.card:hover,.feature:focus-within,.feature:hover{border-color:rgba(127,0,25,.35);transform:translateY(-4px)}.card h3,.feature h3{font-size:1.2rem;line-height:1.35;margin-top:0;margin-bottom:16px;font-weight:600;letter-spacing:.05em}.card p,.feature p{margin:0 0 16px;color:var(--color-muted)}.feature ul{margin:0;padding-left:20px;color:var(--color-muted)}.feature__cta{display:inline-flex;align-items:center;gap:6px;margin-top:18px;font-weight:500;letter-spacing:.05em;font-size:.95rem;color:var(--color-primary);transition:color .2s ease}.feature__cta:after{content:"→";font-size:.95rem;transition:transform .2s ease}.feature__cta:focus-visible,.feature__cta:hover{color:var(--color-primary-dark)}.feature__cta:focus-visible:after,.feature__cta:hover:after{transform:translateX(3px)}.about{display:grid;grid-gap:40px;gap:40px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.about__details dl{margin:0}.about__details div{display:grid;grid-template-columns:120px 1fr;grid-gap:12px;gap:12px;padding:14px 0;border-bottom:1px solid var(--color-border)}.about__details dt{font-weight:600;color:var(--color-muted)}.about__details dd{margin:0}.about__details div:last-child{border-bottom:none}.about__story h3{margin-top:0;font-weight:600;letter-spacing:.04em}.about__story p{color:var(--color-muted);line-height:1.75}.news{display:grid;grid-gap:24px;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.news article{background:var(--color-surface);padding:24px;border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:none;transition:border-color .2s ease,transform .2s ease}.news article h3{margin-top:0;margin-bottom:12px;font-weight:600;letter-spacing:.04em}.news article p{margin:0;color:var(--color-muted)}.news article:focus-within,.news article:hover{border-color:rgba(127,0,25,.3);transform:translateY(-3px)}.news__cta{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-weight:500;letter-spacing:.05em;font-size:.95rem;color:var(--color-primary);transition:color .2s ease}.news__cta:after{content:"→";font-size:.9rem;transition:transform .2s ease}.news__cta:focus-visible,.news__cta:hover{color:var(--color-primary-dark)}.news__cta:focus-visible:after,.news__cta:hover:after{transform:translateX(3px)}.news time{display:block;font-size:.9rem;color:var(--color-muted);margin-bottom:12px}.site-footer{border-top:1px solid var(--color-border);background:#f7f3ed}.site-footer .container{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:28px 24px;font-size:.9rem;color:var(--color-muted)}.site-footer nav{display:flex;gap:16px}.site-footer nav a:focus-visible,.site-footer nav a:hover{color:var(--color-primary)}@media (max-width:900px){.site-controls,.site-header .container{flex-direction:column;gap:16px}.site-nav{flex-wrap:wrap;justify-content:center}.hero .container{grid-template-columns:1fr;text-align:center}.hero:before{content:none}.hero__media{order:-1}.hero__actions{justify-content:center}}@media (max-width:600px){.container{padding:0 18px}.site-header .container{padding:16px 18px}.section{padding:64px 0}.language-switcher{gap:6px}.language-switcher__button{width:34px;height:34px;font-size:1rem}}