.hero{color:#fff;background:#000;border-bottom:6px double #000;min-height:min(92svh,860px);display:flex;position:relative;overflow:hidden}.hero-img{object-fit:cover;object-position:60% 50%;opacity:.85}.hero-shade{background:var(--brass);mix-blend-mode:multiply;position:absolute;inset:0}.hero-shade:after{content:"";background:linear-gradient(100deg,#000000b8 0%,#00000059 45%,#0000 100%);position:absolute;inset:0}.hero-contours{color:#fff;opacity:.55;pointer-events:none;width:100%;height:100%;animation:2.4s ease-out both contour-in;position:absolute;inset:0}@keyframes contour-in{0%{opacity:0;transform:scale(1.04)}to{opacity:.55;transform:none}}.hero-inner{align-content:end;gap:48px;padding-block:120px 72px;display:grid;position:relative}.hero-catch{letter-spacing:.1em;font-size:clamp(2rem,6.2vw,3.4rem);font-weight:900;line-height:1.45}.hero-catch span{color:#000;box-shadow:6px 6px 0 var(--pink);background:#fff;width:fit-content;padding:.05em .25em}.hero-catch span+span{box-shadow:6px 6px 0 var(--orange);margin-top:.3em}.hero-catch span{display:block}.hero-sub{max-width:34em}.hero-sub p{color:#fff;font-size:.95rem}.hero-cta{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}@media (min-width:960px){.hero-inner{grid-template-columns:minmax(0,1fr) auto;align-items:end}.hero-catch{writing-mode:vertical-rl;letter-spacing:.18em;grid-area:1/2;place-self:start end;margin-top:-40px;font-size:clamp(2.6rem,4.4vw,4.2rem);line-height:1.6}.hero-catch span+span{margin-top:2.6em;margin-right:.4em}.hero-sub{grid-area:1/1}}.message{gap:40px;display:grid}.message-title{font-size:clamp(1.35rem,2.6vw,2.1rem);line-height:1.8}.message-title span{display:inline-block}.message-link{flex-wrap:wrap;gap:8px 28px;display:flex;margin-top:2em!important}.message-link a{text-decoration-thickness:3px;-webkit-text-decoration-color:var(--pink);text-decoration-color:var(--pink);text-underline-offset:6px}@media (min-width:900px){.message{grid-template-columns:1fr 1fr;gap:72px}}.hq-grid{gap:40px;display:grid}.hq-figure{aspect-ratio:4/5;margin:0;position:relative}.hq-figure img{object-fit:cover}.biz-list{border-top:1px solid var(--rule);margin:0;padding:0;list-style:none}.biz-list li{border-bottom:1px solid var(--rule);padding-block:28px}.biz-list h3{font-size:1.35rem}.biz-list .en{font-family:var(--font-display);color:var(--accent);letter-spacing:.08em;margin-bottom:10px;font-size:.85rem}.biz-list p:last-child{color:var(--muted);max-width:34em}@media (min-width:900px){.hq-grid{grid-template-columns:5fr 7fr;align-items:start;gap:72px}}.more{margin-top:48px}.region-band{background:var(--bg);color:var(--fg);border-top:6px double #000;padding-block:clamp(72px,11vw,144px)}.region-inner{align-items:center;gap:48px;display:grid}.region-band h2{margin-top:12px;font-size:clamp(1.6rem,3.4vw,2.4rem)}.region-body{max-width:32em;margin-block:28px 36px}.region-figure{aspect-ratio:3/2;margin:0;position:relative}.region-figure img{object-fit:cover}.region-figure figcaption{background:var(--fg);color:var(--bg);letter-spacing:.14em;border-left:4px solid var(--region);padding:8px 14px;font-size:.8rem;position:absolute;bottom:0;left:0}@media (min-width:900px){.region-inner{grid-template-columns:5fr 6fr;gap:80px}}.news-list{border-top:3px solid #000;margin:0;padding:0;list-style:none}.news-list li{border-bottom:1px solid var(--rule);grid-template-columns:auto auto;justify-content:start;gap:4px 20px;padding-block:22px;display:grid}.news-list time{color:var(--muted);font-size:.88rem}.news-list .cat{background:var(--brass);border:2px solid #000;place-self:center start;padding:0 8px;font-size:.75rem;font-weight:700}.news-list .cat[data-cat=プレスリリース],.news-list .cat[data-cat=事業]{background:var(--orange)}.news-list a{grid-column:1/-1;text-decoration:none}.news-list a:hover{text-underline-offset:5px;text-decoration:underline}@media (min-width:760px){.news-list li{grid-template-columns:120px 120px minmax(0,1fr)}.news-list a{grid-column:auto}.news-list .cat{justify-self:start}}.contact-band{background:var(--paper);color:#000;border-top:6px double #000;padding-block:clamp(72px,10vw,120px)}.contact-inner>div{border:3px solid #000;padding:clamp(28px,4vw,48px);box-shadow:8px 8px #000}.contact-inner>div:first-child{background:var(--brass)}.contact-inner>div:last-child{background:var(--pink)}.contact-inner{gap:56px;display:grid}.contact-inner h2{font-size:clamp(1.4rem,2.6vw,1.9rem)}.contact-inner p{margin-block:14px 28px}@media (min-width:900px){.contact-inner{grid-template-columns:1fr 1fr}}
