/*
 * ARASHI 1.0.0 — responsive Joomla template for Arashi Budokan Palárikovo
 * Design foundation inspired by TemplateMo 610 Aurum Gold, rebuilt for Joomla.
 * No jQuery. No Bootstrap dependency. No web-font dependency.
 */
:root {
  color-scheme: dark;
  --arashi-red: #d7222f;
  --arashi-red-deep: #8e141c;
  --arashi-gold: #c89436;
  --arashi-gold-light: #e4bb6b;
  --arashi-bg: #090a0c;
  --arashi-bg-2: #0d0f12;
  --arashi-card: #111318;
  --arashi-card-2: #15171c;
  --arashi-text: #f5f3ef;
  --arashi-muted: #a6a6aa;
  --arashi-muted-2: #777a80;
  --arashi-border: rgba(255,255,255,.09);
  --arashi-border-strong: rgba(255,255,255,.15);
  --arashi-shadow: 0 24px 80px rgba(0,0,0,.42);
  --arashi-shadow-soft: 0 14px 44px rgba(0,0,0,.28);
  --arashi-container: 1240px;
  --arashi-content: 860px;
  --arashi-radius: 22px;
  --arashi-radius-sm: 14px;
  --arashi-header-h: 78px;
  --arashi-font: Inter, Roboto, "Helvetica Neue", "Arial Nova", Arial, system-ui, sans-serif;
  --arashi-display: Avenir, "Avenir Next LT Pro", Montserrat, Corbel, "URW Gothic", var(--arashi-font);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--arashi-bg); }
body { margin: 0; min-width: 280px; background: var(--arashi-bg); color: var(--arashi-text); font: 400 16px/1.65 var(--arashi-font); text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
img, svg, video, canvas { max-width: 100%; height: auto; }
img { vertical-align: middle; }
a { color: var(--arashi-gold-light); text-decoration-thickness: .08em; text-underline-offset: .16em; }
a:hover { color: #fff; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
::selection { background: color-mix(in srgb, var(--arashi-red) 75%, #fff 0%); color: #fff; }

.arashi-container { width: min(calc(100% - 40px), var(--arashi-container)); margin-inline: auto; }
.arashi-skip-link { position: fixed; z-index: 9999; top: 8px; left: 8px; transform: translateY(-150%); background: #fff; color: #000; padding: 10px 14px; border-radius: 10px; }
.arashi-skip-link:focus { transform: none; }

/* Header */
.arashi-topbar { background: #07080a; border-bottom: 1px solid var(--arashi-border); color: var(--arashi-muted); font-size: .82rem; }
.arashi-topbar .arashi-container { min-height: 32px; display: flex; align-items: center; justify-content: flex-end; }
.arashi-header { position: relative; z-index: 1000; height: var(--arashi-header-h); background: rgba(10,11,13,.88); border-bottom: 1px solid var(--arashi-border); transition: background .25s ease, box-shadow .25s ease, backdrop-filter .25s ease; }
.has-sticky-header .arashi-header { position: sticky; top: 0; }
.arashi-header.is-scrolled { background: rgba(8,9,11,.78); backdrop-filter: blur(18px) saturate(130%); -webkit-backdrop-filter: blur(18px) saturate(130%); box-shadow: 0 16px 44px rgba(0,0,0,.34); }
.arashi-header__inner { height: 100%; display: flex; align-items: center; gap: 28px; }
.arashi-brand { display: inline-flex; align-items: center; gap: 11px; min-width: max-content; color: #fff; text-decoration: none; }
.arashi-brand__image { display: block; width: auto; max-width: 255px; height: 42px; object-fit: contain; }
.arashi-brand__mark { width: 40px; height: 40px; flex: 0 0 40px; border-radius: 999px; display: grid; place-items: center; position: relative; background: radial-gradient(circle at 35% 30%, #fff 0 9%, transparent 10%), linear-gradient(135deg, #f4f0e8, #bfc4ca); box-shadow: inset 0 0 0 4px #1a1c21, 0 0 0 2px var(--arashi-red); color: #17191d; }
.arashi-brand__mark::after { content:""; position:absolute; inset:7px; border:1px solid rgba(215,34,47,.7); border-radius:50%; }
.arashi-brand__mark span { position: relative; z-index: 1; font-weight: 900; font-size: 14px; }
.arashi-brand__text, .arashi-footer__brand > span:last-child { display:flex; flex-direction:column; line-height:1.1; letter-spacing:.13em; }
.arashi-brand__text strong, .arashi-footer__brand strong { color:#fff; font-size:.77rem; font-weight:800; }
.arashi-brand__text small, .arashi-footer__brand small { color:var(--arashi-red); font-size:.58rem; font-weight:800; margin-top:4px; }
.arashi-nav { margin-left: auto; min-width: 0; }
.arashi-nav .mod-menu, .arashi-nav ul { list-style:none; display:flex; align-items:center; gap: clamp(14px, 1.6vw, 26px); padding:0; margin:0; }
.arashi-nav li { position:relative; }
.arashi-nav a { display:block; padding: 10px 0; color: rgba(255,255,255,.82); text-decoration:none; font-size:.87rem; font-weight:650; white-space:nowrap; transition: color .2s ease; }
.arashi-nav li.active > a, .arashi-nav li.current > a, .arashi-nav a:hover { color:#fff; }
.arashi-nav li.active > a::after, .arashi-nav li.current > a::after { content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:linear-gradient(90deg,var(--arashi-red),var(--arashi-gold)); border-radius:2px; }
.arashi-nav li > ul { display:none; position:absolute; top:100%; left:-18px; min-width:230px; padding:12px; background:#111319; border:1px solid var(--arashi-border); box-shadow:var(--arashi-shadow-soft); border-radius:14px; }
.arashi-nav li:hover > ul, .arashi-nav li:focus-within > ul { display:grid; gap:2px; }
.arashi-nav li > ul a { padding:10px 12px; border-radius:9px; white-space:normal; }
.arashi-nav li > ul a:hover { background:rgba(255,255,255,.06); }
.arashi-header__actions { display:flex; align-items:center; gap:12px; margin-left:auto; }
.arashi-header__cta { font-size:.68rem; padding:11px 16px; }
.arashi-menu-toggle { display:none; width:44px; height:44px; border:1px solid var(--arashi-border); background:rgba(255,255,255,.03); border-radius:12px; align-items:center; justify-content:center; gap:4px; flex-direction:column; color:#fff; }
.arashi-menu-toggle span { display:block; width:19px; height:2px; border-radius:2px; background:var(--arashi-red); }

/* Buttons and shared */
.arashi-btn { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:12px 19px; border-radius:12px; border:1px solid transparent; font-weight:800; font-size:.77rem; letter-spacing:.08em; text-transform:uppercase; text-decoration:none; transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease; }
.arashi-btn:hover { transform:translateY(-2px); color:#fff; }
.arashi-btn--primary { color:#fff; background:linear-gradient(135deg, color-mix(in srgb,var(--arashi-red) 92%,#fff 0%), var(--arashi-red-deep)); border-color:color-mix(in srgb,var(--arashi-red) 75%,#fff 18%); box-shadow:0 10px 30px color-mix(in srgb,var(--arashi-red) 25%,transparent); }
.arashi-btn--primary:hover { box-shadow:0 16px 40px color-mix(in srgb,var(--arashi-red) 32%,transparent); }
.arashi-btn--ghost { color:var(--arashi-gold-light); background:rgba(255,255,255,.025); border-color:color-mix(in srgb,var(--arashi-gold) 55%,transparent); }
.arashi-btn--ghost:hover { background:color-mix(in srgb,var(--arashi-gold) 10%,transparent); border-color:var(--arashi-gold); }
.arashi-eyebrow { margin:0 0 10px; color:var(--arashi-red); font-size:.72rem; font-weight:850; letter-spacing:.18em; text-transform:uppercase; }
.arashi-pill { display:inline-flex; align-items:center; width:max-content; min-height:27px; padding:5px 9px; border-radius:999px; color:var(--arashi-gold-light); background:color-mix(in srgb,var(--arashi-gold) 8%,transparent); border:1px solid color-mix(in srgb,var(--arashi-gold) 24%,transparent); font-size:.65rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.arashi-pill--red { color:#fff; background:color-mix(in srgb,var(--arashi-red) 18%,transparent); border-color:color-mix(in srgb,var(--arashi-red) 42%,transparent); }
.arashi-text-link { display:inline-flex; gap:7px; align-items:center; color:var(--arashi-red); font-weight:800; text-decoration:none; font-size:.77rem; letter-spacing:.04em; text-transform:uppercase; }
.arashi-text-link span { transition: transform .2s ease; }.arashi-text-link:hover span { transform:translateX(4px); }

/* Mobile drawer */
.arashi-mobile-overlay { position:fixed; inset:0; z-index:1500; background:rgba(0,0,0,.72); opacity:0; transition:opacity .26s ease; }
.arashi-mobile-overlay.is-open { opacity:1; }
.arashi-mobile-menu { position:fixed; z-index:1600; inset:0 0 0 auto; width:min(90vw,400px); transform:translateX(102%); background:linear-gradient(180deg,#121419,#0b0c0f); border-left:1px solid var(--arashi-border); box-shadow:-30px 0 80px rgba(0,0,0,.45); padding:22px; transition:transform .3s cubic-bezier(.2,.8,.2,1); overflow:auto; }
.arashi-mobile-menu.is-open { transform:none; }
.arashi-mobile-menu__top { display:flex; align-items:center; justify-content:space-between; padding-bottom:18px; border-bottom:1px solid var(--arashi-border); }
.arashi-mobile-menu__label { font-weight:850; font-size:.78rem; letter-spacing:.14em; }
.arashi-mobile-menu__close { width:44px;height:44px;border-radius:12px;border:1px solid var(--arashi-border);background:rgba(255,255,255,.03);color:#fff;font-size:28px;line-height:1; }
.arashi-mobile-nav { margin-top:16px; }
.arashi-mobile-nav ul { list-style:none; margin:0; padding:0; }
.arashi-mobile-nav > .mod-menu > li, .arashi-mobile-nav > ul > li { border-bottom:1px solid var(--arashi-border); }
.arashi-mobile-nav a { display:flex; align-items:center; justify-content:space-between; padding:16px 4px; color:rgba(255,255,255,.88); text-decoration:none; font-weight:750; }
.arashi-mobile-nav li.active > a, .arashi-mobile-nav li.current > a { color:var(--arashi-gold-light); }
.arashi-mobile-nav li ul { padding:0 0 10px 14px; border-left:1px solid color-mix(in srgb,var(--arashi-red) 45%,transparent); }
.arashi-mobile-nav li ul a { padding:10px 4px; font-size:.91rem; color:var(--arashi-muted); }
.arashi-mobile-menu__cta { width:100%; margin-top:24px; }
.arashi-menu-open { overflow:hidden; }

/* Hero */
.arashi-home { overflow:hidden; }
.arashi-hero { position:relative; isolation:isolate; padding: clamp(34px,5vw,72px) 0 24px; background:
  radial-gradient(900px 500px at 86% 10%, color-mix(in srgb,var(--arashi-red) 18%,transparent), transparent 62%),
  radial-gradient(650px 400px at 6% 8%, color-mix(in srgb,var(--arashi-gold) 8%,transparent), transparent 64%),
  linear-gradient(180deg,#090a0c,#0c0d10 70%,#090a0c); }
.arashi-hero::after { content:""; position:absolute; inset:auto 0 0; height:90px; opacity:.19; z-index:-1; background-image:radial-gradient(circle at 50% 110%, transparent 0 18px, rgba(200,148,54,.55) 19px 20px, transparent 21px 38px); background-size:76px 38px; }
.arashi-hero__grid { display:grid; grid-template-columns:minmax(0,1.03fr) minmax(400px,.97fr); min-height:min(620px,72vh); align-items:center; gap:clamp(30px,5vw,76px); }
.arashi-hero__content { position:relative; z-index:2; padding:20px 0 34px; }
.arashi-hero__title { max-width:800px; margin:0; color:#fff; font-family:var(--arashi-display); font-size:clamp(2.35rem,5.4vw,5.3rem); line-height:.98; letter-spacing:-.045em; font-weight:850; text-wrap:balance; }
.arashi-hero__title::after { content:""; display:block; width:86px; height:4px; margin-top:24px; border-radius:4px; background:linear-gradient(90deg,var(--arashi-red),var(--arashi-gold)); }
.arashi-hero__lead { max-width:66ch; margin:22px 0 0; color:var(--arashi-muted); font-size:clamp(1rem,1.4vw,1.16rem); line-height:1.72; }
.arashi-hero__actions { display:flex; flex-wrap:wrap; gap:11px; margin-top:27px; }
.arashi-hero__facts { display:flex; flex-wrap:wrap; gap:9px; margin-top:28px; }
.arashi-hero__facts span { display:inline-flex; align-items:center; gap:8px; padding:8px 11px; border:1px solid var(--arashi-border); border-radius:999px; background:rgba(255,255,255,.025); color:var(--arashi-muted); font-size:.79rem; font-weight:650; }
.arashi-hero__facts b { color:var(--arashi-gold); font-size:.86rem; }
.arashi-hero__visual { min-height:520px; position:relative; overflow:hidden; border-radius:30px; border:1px solid var(--arashi-border); background:
  radial-gradient(circle at 58% 38%,rgba(170,31,39,.34),transparent 29%),
  linear-gradient(145deg,#15171b,#090a0c 72%); box-shadow:var(--arashi-shadow); }
.arashi-hero__visual.has-image::before { content:""; position:absolute; inset:0; background-image:linear-gradient(90deg,rgba(9,10,12,.55),rgba(9,10,12,.04) 45%,rgba(9,10,12,.22)),linear-gradient(0deg,rgba(9,10,12,.78),transparent 48%),var(--hero-image); background-size:cover; background-position:center; filter:saturate(.82) contrast(1.07); }
.arashi-hero__sun { position:absolute; width:330px; aspect-ratio:1; border-radius:50%; top:36px; right:64px; background:radial-gradient(circle at 34% 28%,#9c2930,#64151b 64%,#351012); opacity:.72; box-shadow:0 0 100px rgba(215,34,47,.11); }
.arashi-hero__torii { position:absolute; z-index:2; top:90px; left:50%; width:210px; height:170px; transform:translateX(-25%); opacity:.23; }
.arashi-hero__torii::before { content:""; position:absolute; top:18px; left:0; width:100%; height:15px; background:#08090b; clip-path:polygon(0 35%,100% 0,96% 70%,4% 100%); }
.arashi-hero__torii::after { content:""; position:absolute; top:43px; left:17px; right:17px; height:10px; background:#08090b; }
.arashi-hero__torii span::before,.arashi-hero__torii span::after { content:""; position:absolute; top:46px; bottom:0; width:14px; background:#08090b; }
.arashi-hero__torii span::before { left:48px; }.arashi-hero__torii span::after { right:48px; }
.arashi-hero__kanji { position:absolute; z-index:3; right:22px; top:130px; color:var(--arashi-gold-light); font-family:serif; font-weight:700; font-size:28px; line-height:1.22; text-shadow:0 2px 12px #000; opacity:.86; }
.arashi-hero__seal { position:absolute; z-index:3; right:20px; top:260px; display:grid; place-items:center; width:34px; height:34px; border:2px solid var(--arashi-red); color:var(--arashi-red); font-family:serif; font-weight:900; }
.arashi-trustline { position:relative; z-index:3; margin-top:-10px; display:grid; grid-template-columns:repeat(3,1fr); background:rgba(14,16,20,.88); border:1px solid var(--arashi-border); border-radius:18px; box-shadow:var(--arashi-shadow-soft); overflow:hidden; }
.arashi-trustline > div { min-height:92px; padding:20px 24px; display:grid; grid-template-columns:38px 1fr; grid-template-rows:auto auto; column-gap:12px; align-content:center; }
.arashi-trustline > div + div { border-left:1px solid var(--arashi-border); }
.arashi-trustline__icon { grid-row:1 / span 2; width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--arashi-gold) 48%,transparent);color:var(--arashi-gold-light);background:color-mix(in srgb,var(--arashi-gold) 7%,transparent);font-family:serif;font-weight:900; }
.arashi-trustline strong { font-size:.88rem; color:#fff; }.arashi-trustline small { color:var(--arashi-muted); font-size:.74rem; }

/* Home sections */
.arashi-section { position:relative; padding:clamp(58px,8vw,108px) 0; }
.arashi-section--muted { background:linear-gradient(180deg,#0c0e11,#101217 48%,#0b0c0f); border-block:1px solid var(--arashi-border); }
.arashi-section__head { max-width:760px; margin:0 auto 32px; text-align:center; }
.arashi-section__head--left { margin-inline:0; text-align:left; }
.arashi-section__head h2, .arashi-contact-card h2 { margin:0; font-family:var(--arashi-display); font-size:clamp(1.8rem,3.5vw,3.3rem); line-height:1.04; letter-spacing:-.035em; text-wrap:balance; }
.arashi-section__head > p:last-child { margin:15px 0 0; color:var(--arashi-muted); line-height:1.72; }
.arashi-feature-grid, .arashi-audience-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.arashi-feature-card, .arashi-audience-card { min-width:0; border:1px solid var(--arashi-border); border-radius:var(--arashi-radius); overflow:hidden; background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.018)); box-shadow:var(--arashi-shadow-soft); transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease; }
.arashi-feature-card:hover, .arashi-audience-card:hover { transform:translateY(-5px); border-color:color-mix(in srgb,var(--arashi-red) 36%,var(--arashi-border)); box-shadow:0 28px 76px rgba(0,0,0,.38); }
.arashi-feature-card__media { aspect-ratio:16/9; position:relative; overflow:hidden; display:grid; place-items:center; background:radial-gradient(circle at 70% 30%,color-mix(in srgb,var(--arashi-red) 26%,transparent),transparent 48%),#0d0f12; }
.arashi-feature-card__media.has-image::before,.arashi-audience-card__media.has-image::before { content:""; position:absolute; inset:0; background-image:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.72)),var(--card-image); background-size:cover; background-position:center; filter:saturate(.78) contrast(1.05); transition:transform .7s ease; }
.arashi-feature-card:hover .arashi-feature-card__media::before,.arashi-audience-card:hover .arashi-audience-card__media::before { transform:scale(1.055); }
.arashi-feature-card__media > span { position:relative; z-index:2; width:62px;height:62px;border-radius:50%;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--arashi-gold) 55%,transparent);color:var(--arashi-gold-light);background:rgba(9,10,12,.72);font:800 25px/1 serif;backdrop-filter:blur(8px); }
.arashi-feature-card__body { padding:20px 21px 22px; }
.arashi-feature-card h3, .arashi-audience-card h3 { margin:12px 0 8px; font-size:1.16rem; line-height:1.25; }
.arashi-feature-card p, .arashi-audience-card p { margin:0; color:var(--arashi-muted); font-size:.92rem; line-height:1.67; }
.arashi-feature-card .arashi-text-link { margin-top:18px; }
.arashi-audience-card__media { position:relative; aspect-ratio:16/8.7; background:radial-gradient(circle at 50% 40%,rgba(200,148,54,.12),transparent 60%),#0b0d10; overflow:hidden; }
.arashi-audience-card__body { padding:18px 20px 21px; }
.arashi-audience-card small { display:block; margin-top:14px; padding-top:12px; border-top:1px solid var(--arashi-border); color:var(--arashi-gold-light); font-size:.75rem; font-weight:750; }
.arashi-method-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.arashi-method-grid > article { position:relative; padding:22px 22px 23px 72px; border-radius:18px; border:1px solid var(--arashi-border); background:radial-gradient(520px 220px at 0 0,color-mix(in srgb,var(--arashi-red) 9%,transparent),transparent 54%),rgba(255,255,255,.022); }
.arashi-method-grid b { position:absolute; top:22px; left:21px; width:36px;height:30px;display:grid;place-items:center;border-radius:999px;background:color-mix(in srgb,var(--arashi-red) 16%,transparent);border:1px solid color-mix(in srgb,var(--arashi-red) 34%,transparent);color:#fff;font-size:.68rem;letter-spacing:.08em; }
.arashi-method-grid h3 { margin:0 0 8px;font-size:1.05rem; }.arashi-method-grid p { margin:0;color:var(--arashi-muted);font-size:.91rem; }
.arashi-section--contact { padding-top:clamp(44px,7vw,86px); background:linear-gradient(180deg,#0a0b0d,#0d0f12); }
.arashi-contact-grid { display:grid; grid-template-columns:minmax(0,.94fr) minmax(360px,1.06fr); gap:16px; align-items:stretch; }
.arashi-contact-card, .arashi-map-card { min-height:420px; border:1px solid var(--arashi-border); border-radius:var(--arashi-radius); overflow:hidden; box-shadow:var(--arashi-shadow-soft); }
.arashi-contact-card { padding:clamp(24px,4vw,44px); background:radial-gradient(700px 300px at 0 0,color-mix(in srgb,var(--arashi-red) 14%,transparent),transparent 54%),linear-gradient(180deg,#151318,#0f1115); }
.arashi-contact-card__lead { color:var(--arashi-muted);max-width:62ch; }
.arashi-contact-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:24px 0 0; }
.arashi-contact-list > div { padding:13px 14px;border:1px solid var(--arashi-border);border-radius:13px;background:rgba(255,255,255,.022); }
.arashi-contact-list dt { color:var(--arashi-gold);font-size:.67rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase; }.arashi-contact-list dd { margin:4px 0 0;color:#fff;font-size:.88rem; }.arashi-contact-list a { color:#fff;text-decoration:none; }
.arashi-map-card { position:relative; display:grid;place-items:center;background:radial-gradient(circle at 50% 50%,#292d33,#15181d); }
.arashi-map-card.has-image::before { content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(10,11,13,.16),rgba(10,11,13,.36)),var(--map-image);background-size:cover;background-position:center;filter:saturate(.65) contrast(1.04); }
.arashi-map-card__pin { position:relative; z-index:2; display:flex;align-items:center;gap:10px;padding:12px 15px;border-radius:14px;border:1px solid rgba(255,255,255,.2);background:rgba(10,11,13,.82);box-shadow:0 16px 44px rgba(0,0,0,.38);backdrop-filter:blur(10px); }
.arashi-map-card__pin span { color:var(--arashi-red);font-size:22px; }.arashi-map-card__pin strong { font-size:.84rem;line-height:1.22; }
.arashi-partners { padding:30px 0 42px; border-top:1px solid var(--arashi-border); background:#090a0c; text-align:center; }.arashi-partners .arashi-eyebrow { color:var(--arashi-muted); }
.arashi-module-zone { padding:34px 0; }.arashi-module-zone--hero { padding:0; }
.arashi-home-component { padding:50px 0; }

/* Newsflash and module cards */
.arashi-home-news .moduletable, .arashi-home-news .mod-articlesnews, .arashi-home-news .newsflash { width:100%; }
.arashi-home-news .mod-articlesnews, .arashi-home-news .newsflash, .arashi-home-news .mod-articlesnews-horizontal { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.arashi-home-news .mod-articlesnews__item, .arashi-home-news .newsflash-item, .arashi-home-news article { padding:20px; border:1px solid var(--arashi-border); border-radius:18px; background:var(--arashi-card); }
.arashi-home-news h3, .arashi-home-news h4 { margin:0 0 9px; }.arashi-home-news p { color:var(--arashi-muted); }

/* Inner pages */
.arashi-main { min-height:65vh; background:
  radial-gradient(760px 320px at 50% 0,color-mix(in srgb,var(--arashi-red) 8%,transparent),transparent 70%),
  linear-gradient(180deg,#0c0e11,#090a0c 390px); padding-bottom:clamp(60px,8vw,100px); }
.arashi-page-hero { padding:32px 0 0; }
.arashi-breadcrumbs { padding:18px 0 0; color:var(--arashi-muted);font-size:.8rem; }
.arashi-breadcrumbs ol,.arashi-breadcrumbs ul { display:flex;flex-wrap:wrap;gap:7px;list-style:none;margin:0;padding:0; }.arashi-breadcrumbs a { color:var(--arashi-muted); }
.arashi-above-content { padding:24px 0 0; }
.arashi-content-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:22px; padding-top:clamp(28px,5vw,58px); }
.arashi-content-grid.has-left { grid-template-columns:minmax(210px,270px) minmax(0,1fr); }.arashi-content-grid.has-right { grid-template-columns:minmax(0,1fr) minmax(210px,270px); }.arashi-content-grid.has-left.has-right { grid-template-columns:minmax(190px,240px) minmax(0,1fr) minmax(190px,240px); }
.arashi-component { min-width:0; }
.arashi-sidebar { min-width:0; }
.arashi-sidebar .moduletable, .arashi-sidebar .mod-module { margin-bottom:16px;padding:18px;border-radius:16px;border:1px solid var(--arashi-border);background:rgba(255,255,255,.025); }
.arashi-sidebar h3 { margin:0 0 13px;font-size:1rem; }.arashi-sidebar ul { margin:0;padding-left:18px; }
.arashi-below-content { padding-top:28px; }

/* Joomla content styling: deliberately CSS-first to preserve core compatibility across Joomla 5/6. */
.arashi-component > .com-content-article,
.arashi-component > .item-page,
.arashi-component .com-contact-contact,
.arashi-component .com-users-login,
.arashi-component .com-users-profile,
.arashi-component .com-users-registration,
.arashi-component .com-content-form,
.arashi-component .com-config-profile,
.arashi-component .com-tags-tag {
  width:min(100%,var(--arashi-content)); margin-inline:auto; padding:clamp(22px,4vw,48px); border:1px solid var(--arashi-border); border-radius:24px; background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.018)); box-shadow:var(--arashi-shadow-soft);
}
.arashi-component .page-header h1,.arashi-component .page-header h2,.arashi-component h1[itemprop="headline"],.arashi-component .com-content-article > h1 { margin-top:0;font-family:var(--arashi-display);font-size:clamp(2rem,4.6vw,4.25rem);line-height:1;letter-spacing:-.045em;text-wrap:balance; }
.arashi-component .page-header h1::after,.arashi-component .page-header h2::after { content:"";display:block;width:72px;height:3px;margin-top:18px;border-radius:3px;background:linear-gradient(90deg,var(--arashi-red),var(--arashi-gold)); }
.arashi-component .article-info,.arashi-component .article-info-term,.arashi-component .createdby,.arashi-component .published,.arashi-component .modified,.arashi-component .category-name { color:var(--arashi-muted-2);font-size:.78rem; }
.arashi-component .article-info { display:flex;flex-wrap:wrap;gap:8px 16px;padding:0;margin:14px 0 25px;list-style:none; }
.arashi-component p { line-height:1.78; }.arashi-component .com-content-article p { color:#d4d2ce; }
.arashi-component h2,.arashi-component h3,.arashi-component h4 { font-family:var(--arashi-display);line-height:1.18;letter-spacing:-.02em; }
.arashi-component .com-content-article h2 { margin-top:2em;font-size:clamp(1.45rem,2.7vw,2.2rem); }.arashi-component .com-content-article h3 { margin-top:1.7em;font-size:clamp(1.2rem,2vw,1.6rem); }
.arashi-component blockquote { margin:28px 0;padding:18px 20px;border-left:3px solid var(--arashi-red);border-radius:0 14px 14px 0;background:linear-gradient(90deg,color-mix(in srgb,var(--arashi-red) 10%,transparent),rgba(255,255,255,.018));color:#e9e5df;font-size:1.05rem; }
.arashi-component figure,.arashi-component .item-image { margin:28px 0; }.arashi-component figure img,.arashi-component .item-image img,.arashi-component .com-content-article img { border-radius:16px; }
.arashi-component figcaption { margin-top:8px;color:var(--arashi-muted);font-size:.78rem; }
.arashi-component hr { border:0;border-top:1px solid var(--arashi-border);margin:34px 0; }
.arashi-component pre,.arashi-component code { font-family:ui-monospace,"Cascadia Code","Source Code Pro",Menlo,Consolas,monospace; }.arashi-component pre { overflow:auto;padding:16px;border:1px solid var(--arashi-border);border-radius:14px;background:#07080a; }
.arashi-component table { width:100%;border-collapse:collapse;margin:24px 0;font-size:.91rem; }.arashi-component th,.arashi-component td { padding:10px 12px;border:1px solid var(--arashi-border);text-align:left; }.arashi-component th { background:rgba(255,255,255,.055);color:#fff; }
.arashi-component iframe,.arashi-component video { width:100%;max-width:100%;border:0;border-radius:16px; }.arashi-component iframe[src*="youtube"],.arashi-component iframe[src*="vimeo"] { aspect-ratio:16/9;height:auto; }
.arashi-component .tags,.arashi-component .com-tags-tag__category { display:flex;flex-wrap:wrap;gap:7px; }.arashi-component .tags a,.arashi-component .tag-category a { display:inline-flex;padding:6px 9px;border-radius:999px;border:1px solid var(--arashi-border);background:rgba(255,255,255,.035);color:var(--arashi-muted);font-size:.75rem;text-decoration:none; }

/* Joomla blog/category grids */
.arashi-component .blog,.arashi-component .blog-featured,.arashi-component .com-content-category-blog,.arashi-component .com-content-featured { width:100%; }
.arashi-component .blog > h1,.arashi-component .blog > h2,.arashi-component .blog-featured > h1,.arashi-component .blog-featured > h2,.arashi-component .com-content-category-blog > h1,.arashi-component .com-content-featured > h1 { font-family:var(--arashi-display);font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.04em; }
.arashi-component .blog-items,.arashi-component .items-leading,.arashi-component .items-row { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px; }
.arashi-component .blog-item,.arashi-component .items-leading > div,.arashi-component .items-row > div,.arashi-component .item { min-width:0;padding:20px;border:1px solid var(--arashi-border);border-radius:19px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.015));box-shadow:var(--arashi-shadow-soft); }
.arashi-component .blog-item .item-image,.arashi-component .item .item-image { margin:-20px -20px 18px; }.arashi-component .blog-item .item-image img,.arashi-component .item .item-image img { width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:19px 19px 0 0; }
.arashi-component .blog-item h2,.arashi-component .blog-item h3,.arashi-component .item h2,.arashi-component .item h3 { margin:0 0 10px;font-size:1.3rem; }.arashi-component .blog-item p,.arashi-component .item p { color:var(--arashi-muted); }
.arashi-component .readmore a,.arashi-component a.btn { display:inline-flex;align-items:center;min-height:40px;padding:9px 13px;border-radius:10px;border:1px solid color-mix(in srgb,var(--arashi-red) 40%,transparent);background:color-mix(in srgb,var(--arashi-red) 10%,transparent);color:#fff;text-decoration:none;font-weight:750;font-size:.78rem; }

/* Joomla forms */
.arashi-component input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),.arashi-component select,.arashi-component textarea { width:100%;min-height:46px;padding:10px 12px;border-radius:10px;border:1px solid var(--arashi-border-strong);background:#0a0c0f;color:#fff;outline:none; }
.arashi-component textarea { min-height:130px;resize:vertical; }.arashi-component input:focus,.arashi-component select:focus,.arashi-component textarea:focus { border-color:var(--arashi-red);box-shadow:0 0 0 3px color-mix(in srgb,var(--arashi-red) 18%,transparent); }
.arashi-component label { color:#e4e2dd;font-size:.88rem;font-weight:650; }.arashi-component fieldset { border:1px solid var(--arashi-border);border-radius:15px;padding:18px; }
.arashi-component button,.arashi-component input[type="submit"],.arashi-component .btn-primary { min-height:44px;padding:10px 16px;border:1px solid color-mix(in srgb,var(--arashi-red) 60%,#fff 10%);border-radius:10px;background:var(--arashi-red);color:#fff;font-weight:800;cursor:pointer; }

/* Joomla messages / pagination */
joomla-alert,.alert,.system-message-container > * { display:block;margin:12px 0;padding:13px 15px;border-radius:12px;border:1px solid var(--arashi-border);background:#15171c;color:#fff; }
.pagination,.pagination ul { display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:28px 0 0; }.pagination a,.pagination span { display:grid;place-items:center;min-width:40px;min-height:40px;padding:6px 10px;border-radius:9px;border:1px solid var(--arashi-border);background:rgba(255,255,255,.025);color:var(--arashi-muted);text-decoration:none; }.pagination .active span,.pagination a:hover { color:#fff;border-color:var(--arashi-red);background:color-mix(in srgb,var(--arashi-red) 13%,transparent); }

/* Footer */
.arashi-footer { border-top:1px solid var(--arashi-border);background:#111216;padding:46px 0 22px;color:var(--arashi-muted); }
.arashi-footer__grid { display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:28px;padding-bottom:34px; }.arashi-footer h3 { color:#fff;font-size:1rem;margin:0 0 12px; }.arashi-footer ul { list-style:none;padding:0;margin:0; }.arashi-footer li + li { margin-top:7px; }.arashi-footer a { color:var(--arashi-muted);text-decoration:none; }.arashi-footer a:hover { color:#fff; }
.arashi-footer__modules { padding:18px 0;border-top:1px solid var(--arashi-border); }
.arashi-footer__bottom { display:flex;align-items:center;justify-content:space-between;gap:22px;padding-top:20px;border-top:1px solid var(--arashi-border);font-size:.75rem; }.arashi-footer__bottom p { margin:0; }
.arashi-footer__brand { display:inline-flex;align-items:center;gap:10px;text-decoration:none; }

/* Back to top */
.arashi-backtop { position:fixed;z-index:900;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));width:44px;height:44px;border-radius:12px;border:1px solid var(--arashi-border-strong);background:rgba(13,15,18,.86);color:#fff;box-shadow:var(--arashi-shadow-soft);backdrop-filter:blur(10px);opacity:0;pointer-events:none;transform:translateY(10px);transition:.2s ease; }.arashi-backtop.is-visible { opacity:1;pointer-events:auto;transform:none; }

/* Error/offline/component-only */
.arashi-error-page { min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 30%,color-mix(in srgb,var(--arashi-red) 14%,transparent),transparent 40%),#090a0c; }.arashi-error { width:min(100%,680px);text-align:center;padding:44px;border:1px solid var(--arashi-border);border-radius:26px;background:rgba(255,255,255,.025);box-shadow:var(--arashi-shadow); }.arashi-error__mark { width:72px;height:72px;margin:0 auto 20px;display:grid;place-items:center;border:2px solid var(--arashi-red);color:var(--arashi-red);font:900 30px/1 serif; }.arashi-error h1 { margin:0;font-size:clamp(4rem,14vw,9rem);line-height:.9; }.arashi-error h2 { color:var(--arashi-muted);font-weight:500;margin:18px 0 28px; }.arashi-component-only { padding:24px;background:#090a0c; }

/* Progressive reveal */
.arashi-has-js .arashi-reveal { opacity:0;transform:translateY(18px); }.arashi-has-js .arashi-reveal.is-revealed { opacity:1;transform:none;transition:opacity .55s ease,transform .55s cubic-bezier(.2,.75,.2,1); }

/* Responsive */
@media (max-width: 1180px) {
  .arashi-nav { display:none; }.arashi-menu-toggle { display:flex; }.arashi-header__actions { margin-left:auto; }
  .arashi-hero__grid { grid-template-columns:minmax(0,1fr) minmax(360px,.85fr);gap:30px; }.arashi-hero__visual { min-height:470px; }
  .arashi-content-grid.has-left.has-right { grid-template-columns:minmax(0,1fr); }.arashi-content-grid.has-left.has-right .arashi-sidebar { display:none; }
}
@media (max-width: 940px) {
  .arashi-hero { padding-top:24px; }.arashi-hero__grid { grid-template-columns:1fr;min-height:0; }.arashi-hero__content { padding-bottom:0; }.arashi-hero__visual { min-height:min(68vw,520px);order:-1; }.arashi-hero__title { max-width:760px; }
  .arashi-feature-grid,.arashi-audience-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.arashi-feature-grid > :last-child,.arashi-audience-grid > :last-child { grid-column:1 / -1; }.arashi-feature-grid > :last-child { display:grid;grid-template-columns:1fr 1fr; }.arashi-feature-grid > :last-child .arashi-feature-card__media { aspect-ratio:auto;min-height:260px; }
  .arashi-trustline { grid-template-columns:1fr; }.arashi-trustline > div + div { border-left:0;border-top:1px solid var(--arashi-border); }
  .arashi-contact-grid { grid-template-columns:1fr; }.arashi-map-card { min-height:380px; }
  .arashi-content-grid.has-left,.arashi-content-grid.has-right { grid-template-columns:1fr; }.arashi-sidebar { order:2; }
  .arashi-footer__grid { grid-template-columns:1fr 1fr; }.arashi-footer__grid > :first-child { grid-column:1 / -1; }
}
@media (max-width: 700px) {
  :root { --arashi-header-h:68px; --arashi-radius:18px; }
  .arashi-container { width:min(calc(100% - 24px),var(--arashi-container)); }.arashi-header__inner { gap:14px; }.arashi-brand__image { max-width:190px;height:36px; }.arashi-header__cta { display:none; }
  .arashi-hero__visual { min-height:68vw;border-radius:20px; }.arashi-hero__sun { width:240px;right:22px; }.arashi-hero__torii { transform:translateX(-40%) scale(.8); }.arashi-hero__kanji { font-size:22px;right:14px;top:90px; }.arashi-hero__seal { right:13px;top:195px; }
  .arashi-hero__title { font-size:clamp(2.25rem,11vw,4.2rem); }.arashi-hero__actions .arashi-btn { flex:1 1 190px; }.arashi-hero__facts { gap:7px; }.arashi-hero__facts span { font-size:.73rem; }
  .arashi-section { padding:58px 0; }.arashi-feature-grid,.arashi-audience-grid,.arashi-method-grid { grid-template-columns:1fr; }.arashi-feature-grid > :last-child,.arashi-audience-grid > :last-child { grid-column:auto; }.arashi-feature-grid > :last-child { display:block; }.arashi-feature-grid > :last-child .arashi-feature-card__media { aspect-ratio:16/9;min-height:0; }
  .arashi-contact-list { grid-template-columns:1fr; }.arashi-contact-card,.arashi-map-card { min-height:0; }.arashi-map-card { min-height:320px; }
  .arashi-component > .com-content-article,.arashi-component > .item-page,.arashi-component .com-contact-contact,.arashi-component .com-users-login,.arashi-component .com-users-profile,.arashi-component .com-users-registration,.arashi-component .com-content-form,.arashi-component .com-config-profile,.arashi-component .com-tags-tag { padding:20px;border-radius:18px; }
  .arashi-component .blog-items,.arashi-component .items-leading,.arashi-component .items-row { grid-template-columns:1fr; }
  .arashi-footer__grid { grid-template-columns:1fr; }.arashi-footer__grid > :first-child { grid-column:auto; }.arashi-footer__bottom { align-items:flex-start;flex-direction:column; }
}
@media (max-width: 430px) {
  .arashi-container { width:min(calc(100% - 16px),var(--arashi-container)); }.arashi-brand__image { max-width:160px;height:32px; }.arashi-brand__mark { width:36px;height:36px;flex-basis:36px; }.arashi-brand__text strong { font-size:.68rem; }.arashi-brand__text small { font-size:.52rem; }
  .arashi-menu-toggle { width:42px;height:42px; }.arashi-mobile-menu { width:94vw;padding:18px; }
  .arashi-hero { padding-top:12px; }.arashi-hero__visual { border-radius:16px; }.arashi-hero__content { padding-top:15px; }.arashi-eyebrow { font-size:.65rem; }.arashi-hero__lead { font-size:.95rem; }.arashi-btn { width:100%; }
  .arashi-feature-card__body,.arashi-audience-card__body { padding:16px; }.arashi-method-grid > article { padding:18px 16px 18px 60px; }.arashi-method-grid b { left:15px;top:17px; }
  .arashi-contact-card { padding:20px 16px; }.arashi-map-card { min-height:270px; }
  .arashi-error { padding:30px 18px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important; }
}
.arashi-no-motion *, .arashi-no-motion *::before, .arashi-no-motion *::after { transition:none !important; animation:none !important; }

@media print {
  .arashi-header,.arashi-topbar,.arashi-footer,.arashi-mobile-menu,.arashi-mobile-overlay,.arashi-backtop,.arashi-breadcrumbs,.arashi-sidebar { display:none !important; }
  body { background:#fff;color:#111; }.arashi-main { background:#fff;padding:0; }.arashi-content-grid { display:block;width:100%;padding:0; }.arashi-component > .com-content-article,.arashi-component > .item-page { box-shadow:none;border:0;padding:0;color:#111; }.arashi-component p { color:#111 !important; }
}

/* ------------------------------------------------------------
   ARASHI 1.1.0 — decorative polish / painted homepage feeling
   ------------------------------------------------------------ */
body.arashi-site {
  background:
    radial-gradient(1200px 620px at 8% 0%, rgba(124,20,28,.16), transparent 58%),
    radial-gradient(900px 560px at 100% 0%, rgba(200,148,54,.08), transparent 50%),
    linear-gradient(180deg, #090a0c 0%, #0a0b0d 42%, #090a0c 100%);
}

.arashi-home {
  position: relative;
  isolation: isolate;
}

.arashi-home::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: -2;
  background-image: url('../images/seigaiha.svg');
  background-repeat: repeat-y;
  background-size: 210px auto;
  background-position: left top;
  opacity: .06;
}

.arashi-home::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: min(34vw, 440px);
  height: min(34vw, 440px);
  pointer-events: none;
  z-index: -1;
  background: url('../images/sakura-corner.svg') no-repeat top right / contain;
  opacity: .42;
}

.arashi-header {
  background: linear-gradient(180deg, rgba(9,10,12,.94), rgba(9,10,12,.78));
}

.arashi-header::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(200,148,54,.15), transparent);
}

.arashi-hero {
  padding-top: clamp(42px, 5.5vw, 84px);
  background:
    radial-gradient(1000px 520px at 85% 8%, rgba(172,27,37,.16), transparent 58%),
    radial-gradient(700px 360px at 15% 6%, rgba(200,148,54,.08), transparent 60%),
    linear-gradient(180deg, #090a0c, #0c0d10 68%, #090a0c);
}

.arashi-hero::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 100%;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), transparent 22%),
    radial-gradient(500px 240px at 22% 0%, rgba(255,255,255,.035), transparent 60%);
  opacity: .55;
}

.arashi-hero__content {
  padding-right: clamp(0px, 1vw, 10px);
}

.arashi-hero__title {
  max-width: 9.5ch;
  text-shadow: 0 10px 30px rgba(0,0,0,.22);
}

.arashi-hero__lead {
  max-width: 58ch;
}

.arashi-hero__visual {
  border-radius: 32px;
  border-color: rgba(255,255,255,.12);
  box-shadow:
    0 30px 110px rgba(0,0,0,.46),
    0 0 0 1px rgba(200,148,54,.04) inset,
    0 0 0 1px rgba(255,255,255,.03);
}

.arashi-hero__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    url('../images/sakura-corner.svg') no-repeat top right / 52% auto,
    url('../images/seigaiha.svg') repeat-x center bottom / 190px auto,
    linear-gradient(180deg, transparent 18%, rgba(9,10,12,.08) 42%, rgba(9,10,12,.28) 100%);
  opacity: .42;
}

.arashi-hero__sun {
  width: min(58%, 360px);
  top: 38px;
  right: 56px;
  opacity: .76;
  background:
    radial-gradient(circle at 35% 30%, rgba(255,255,255,.08), transparent 18%),
    radial-gradient(circle at 50% 50%, rgba(180,32,41,.88), rgba(100,19,26,.82) 66%, rgba(53,16,18,.94));
  box-shadow: 0 0 120px rgba(215,34,47,.12);
}

.arashi-hero__torii { opacity: .26; }
.arashi-hero__kanji {
  right: 24px;
  top: 116px;
  font-size: 31px;
  text-shadow: 0 2px 12px rgba(0,0,0,.8), 0 0 14px rgba(200,148,54,.18);
}
.arashi-hero__seal { top: 272px; }

.arashi-trustline,
.arashi-feature-card,
.arashi-audience-card,
.arashi-method-grid > article,
.arashi-contact-card,
.arashi-map-card,
.arashi-sidebar .moduletable,
.arashi-sidebar .mod-module,
.arashi-component > .com-content-article,
.arashi-component > .item-page,
.arashi-component .com-content-category-blog,
.arashi-component .com-content-featured {
  backdrop-filter: blur(8px) saturate(110%);
  -webkit-backdrop-filter: blur(8px) saturate(110%);
}

.arashi-trustline {
  background:
    linear-gradient(180deg, rgba(19,21,26,.92), rgba(13,15,18,.9)),
    radial-gradient(420px 120px at 12% 0%, rgba(200,148,54,.06), transparent 60%);
}

.arashi-section::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.06), transparent);
  opacity: .6;
}

.arashi-section__head h2::after,
.arashi-contact-card h2::after {
  content: "";
  display: block;
  width: 108px;
  height: 3px;
  margin: 18px auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--arashi-red), rgba(200,148,54,.85));
}

.arashi-section__head--left h2::after,
.arashi-section--contact .arashi-contact-card h2::after {
  margin-left: 0;
}

.arashi-feature-grid,
.arashi-audience-grid { gap: 18px; }

.arashi-feature-card,
.arashi-audience-card {
  position: relative;
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.018)),
    radial-gradient(360px 160px at 0 0, rgba(200,148,54,.035), transparent 60%);
}

.arashi-feature-card::before,
.arashi-audience-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(135deg, rgba(255,255,255,.03), transparent 28%);
}

.arashi-feature-card__media,
.arashi-audience-card__media {
  background-color: #0d0f12;
}

.arashi-feature-card__media.has-image::after,
.arashi-audience-card__media.has-image::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 70px;
  pointer-events: none;
  background: url('../images/seigaiha.svg') repeat-x center bottom / 160px auto;
  opacity: .18;
}

.arashi-method-grid > article {
  background:
    radial-gradient(520px 220px at 0 0, rgba(124,20,28,.12), transparent 54%),
    linear-gradient(180deg, rgba(255,255,255,.032), rgba(255,255,255,.014));
}

.arashi-section--contact {
  background:
    linear-gradient(180deg, #0a0b0d, #0d0f12),
    url('../images/seigaiha.svg') repeat-x center top / 180px auto;
  background-blend-mode: normal, screen;
}

.arashi-contact-card {
  position: relative;
  background:
    radial-gradient(700px 300px at 0 0, rgba(124,20,28,.18), transparent 54%),
    radial-gradient(220px 180px at 100% 0, rgba(200,148,54,.08), transparent 55%),
    linear-gradient(180deg, #151318, #0f1115);
}

.arashi-contact-card::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 76px;
  pointer-events: none;
  opacity: .12;
  background: url('../images/seigaiha.svg') repeat-x center bottom / 190px auto;
}

.arashi-map-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,.02), transparent 20%), linear-gradient(0deg, rgba(9,10,12,.12), transparent 35%);
}

.arashi-partners {
  position: relative;
  background: linear-gradient(180deg, #0a0b0d, #090a0c);
}

.arashi-partners::before {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 64px;
  opacity: .08;
  background: url('../images/seigaiha.svg') repeat-x center bottom / 170px auto;
}

.arashi-main {
  background:
    radial-gradient(760px 320px at 50% 0, rgba(124,20,28,.09), transparent 70%),
    radial-gradient(340px 200px at 100% 0, rgba(200,148,54,.07), transparent 70%),
    linear-gradient(180deg, #0c0e11, #090a0c 390px);
}

.arashi-component > .com-content-article,
.arashi-component > .item-page,
.arashi-component .com-contact-contact,
.arashi-component .com-users-login,
.arashi-component .com-users-profile,
.arashi-component .com-users-registration,
.arashi-component .com-content-form,
.arashi-component .com-config-profile,
.arashi-component .com-tags-tag,
.arashi-sidebar .moduletable,
.arashi-sidebar .mod-module {
  background:
    linear-gradient(180deg, rgba(255,255,255,.038), rgba(255,255,255,.018)),
    radial-gradient(320px 140px at 0 0, rgba(200,148,54,.03), transparent 60%);
}

@media (max-width: 1024px) {
  .arashi-home::after { width: min(44vw, 360px); height: min(44vw, 360px); opacity: .32; }
  .arashi-hero__visual::after { background-size: 44% auto, 170px auto, auto; }
}

@media (max-width: 767px) {
  .arashi-home::before { background-size: 160px auto; opacity: .045; }
  .arashi-home::after { width: 220px; height: 220px; opacity: .28; }
  .arashi-hero__title { max-width: 11ch; }
  .arashi-hero__visual {
    min-height: 400px;
    border-radius: 26px;
  }
  .arashi-hero__visual::after {
    background:
      url('../images/sakura-corner.svg') no-repeat top right / 58% auto,
      url('../images/seigaiha.svg') repeat-x center bottom / 140px auto,
      linear-gradient(180deg, transparent 18%, rgba(9,10,12,.08) 42%, rgba(9,10,12,.28) 100%);
    opacity: .36;
  }
  .arashi-trustline { backdrop-filter: none; -webkit-backdrop-filter: none; }
}

@media (prefers-reduced-motion: reduce) {
  .arashi-feature-card,
  .arashi-audience-card,
  .arashi-btn,
  .arashi-backtop { transition: none !important; }
}

/* ------------------------------------------------------------
   ARASHI 1.2.0 — stronger premium / painted visual treatment
   ------------------------------------------------------------ */
:root {
  --arashi-shadow-premium: 0 34px 120px rgba(0,0,0,.52);
}

body.arashi-site {
  background:
    radial-gradient(1300px 720px at 5% 0%, rgba(124,20,28,.18), transparent 55%),
    radial-gradient(900px 620px at 100% 0%, rgba(200,148,54,.09), transparent 48%),
    linear-gradient(180deg, #090a0c 0%, #0b0c0f 42%, #090a0c 100%);
}

.arashi-container {
  width: min(calc(100% - 48px), var(--arashi-container));
}

.arashi-home::before {
  background-size: 240px auto;
  opacity: .075;
}

.arashi-home::after {
  width: min(38vw, 520px);
  height: min(38vw, 520px);
  opacity: .5;
}

.arashi-header {
  background:
    linear-gradient(180deg, rgba(9,10,12,.97), rgba(9,10,12,.80));
  box-shadow: 0 14px 40px rgba(0,0,0,.18);
}

.arashi-header__inner {
  gap: 36px;
}

.arashi-nav a {
  font-size: .9rem;
  letter-spacing: .01em;
}

.arashi-header__cta {
  min-height: 42px;
  padding-inline: 18px;
  box-shadow: 0 12px 28px rgba(215,34,47,.22);
}

.arashi-hero {
  padding: clamp(54px, 6vw, 94px) 0 34px;
}

.arashi-hero__grid {
  grid-template-columns: minmax(0, 1fr) minmax(460px, .98fr);
  min-height: min(680px, 78vh);
  gap: clamp(40px, 6vw, 88px);
}

.arashi-hero__content {
  padding: 20px 0 46px;
}

.arashi-hero__title {
  font-size: clamp(2.6rem, 5.9vw, 5.75rem);
  max-width: 8.8ch;
  line-height: .94;
}

.arashi-hero__title::after {
  width: 92px;
  margin-top: 22px;
}

.arashi-hero__lead {
  margin-top: 24px;
  font-size: clamp(1rem, 1.5vw, 1.14rem);
  color: #c8c7c8;
}

.arashi-hero__actions {
  margin-top: 30px;
  gap: 12px;
}

.arashi-hero__facts {
  margin-top: 26px;
  gap: 10px;
}

.arashi-hero__facts span {
  padding: 8px 12px;
  background: rgba(255,255,255,.03);
  border-color: rgba(255,255,255,.12);
}

.arashi-hero__visual {
  min-height: 580px;
  border-radius: 34px;
  box-shadow: var(--arashi-shadow-premium);
  background:
    radial-gradient(circle at 74% 20%, rgba(177,29,40,.12), transparent 26%),
    linear-gradient(145deg, #17191e, #0a0b0d 72%);
}

.arashi-hero__visual.has-image::before {
  background-image:
    linear-gradient(90deg, rgba(9,10,12,.56), rgba(9,10,12,.06) 40%, rgba(9,10,12,.18)),
    linear-gradient(0deg, rgba(9,10,12,.80), transparent 48%),
    var(--hero-image);
  background-size: auto, auto, cover;
  background-position: 0 0, 0 0, 58% center;
  filter: saturate(.92) contrast(1.06) brightness(.98);
}

.arashi-hero__visual::after {
  background:
    url('../images/sakura-corner.svg') no-repeat top right / 54% auto,
    url('../images/seigaiha.svg') repeat-x center bottom / 190px auto,
    linear-gradient(180deg, transparent 14%, rgba(9,10,12,.06) 36%, rgba(9,10,12,.24) 100%);
  opacity: .46;
}

.arashi-hero__sun {
  width: min(52%, 314px);
  top: 26px;
  right: 26px;
  opacity: .48;
  box-shadow: 0 0 120px rgba(215,34,47,.08);
}

.arashi-hero__torii {
  top: 86px;
  left: 52%;
  opacity: .22;
}

.arashi-hero__kanji {
  top: 124px;
  right: 20px;
  font-size: 30px;
}

.arashi-trustline {
  margin-top: -6px;
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(18,20,25,.95), rgba(12,14,17,.94));
}

.arashi-trustline > div {
  min-height: 96px;
}

.arashi-section {
  padding: clamp(68px, 8.5vw, 118px) 0;
}

.arashi-section__head {
  margin-bottom: 38px;
}

.arashi-section__head h2,
.arashi-contact-card h2 {
  font-size: clamp(2rem, 3.8vw, 3.6rem);
  line-height: 1;
}

.arashi-section__head > p:last-child {
  margin-top: 16px;
  font-size: .98rem;
  color: #b7b8ba;
}

.arashi-feature-grid,
.arashi-audience-grid {
  gap: 20px;
}

.arashi-feature-card,
.arashi-audience-card {
  border-color: rgba(255,255,255,.10);
  box-shadow: 0 18px 54px rgba(0,0,0,.28);
}

.arashi-feature-card::after,
.arashi-audience-card::after {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, rgba(215,34,47,.45), rgba(200,148,54,.22), transparent 70%);
}

.arashi-feature-card__media {
  aspect-ratio: 16 / 9.6;
}

.arashi-feature-card__body {
  padding: 22px 22px 24px;
}

.arashi-feature-card h3,
.arashi-audience-card h3 {
  font-size: 1.24rem;
}

.arashi-feature-card p,
.arashi-audience-card p {
  font-size: .95rem;
  color: #b7b8ba;
}

.arashi-audience-card__media {
  aspect-ratio: 16 / 9.2;
}

.arashi-audience-card small {
  margin-top: 16px;
}

.arashi-method-grid {
  gap: 16px;
}

.arashi-method-grid > article {
  min-height: 138px;
  border-color: rgba(255,255,255,.1);
  box-shadow: 0 14px 42px rgba(0,0,0,.22);
}

.arashi-contact-grid {
  gap: 20px;
}

.arashi-contact-card,
.arashi-map-card {
  min-height: 450px;
  border-radius: 24px;
  border-color: rgba(255,255,255,.11);
  box-shadow: 0 24px 80px rgba(0,0,0,.34);
}

.arashi-contact-card {
  padding: clamp(28px, 4vw, 46px);
}

.arashi-contact-card__lead {
  font-size: .98rem;
  color: #bdbcc0;
}

.arashi-contact-list {
  margin-top: 26px;
}

.arashi-contact-list > div {
  min-height: 86px;
  background: rgba(255,255,255,.03);
}

.arashi-map-card__pin {
  padding: 14px 16px;
  border-radius: 16px;
}

.arashi-footer {
  background:
    linear-gradient(180deg, #101216, #0c0d10);
}

.arashi-footer__bottom {
  font-size: .76rem;
}

@media (max-width: 1180px) {
  .arashi-hero__grid {
    grid-template-columns: minmax(0,1fr) minmax(390px,.92fr);
    min-height: 0;
  }
}

@media (max-width: 940px) {
  .arashi-hero {
    padding-top: 28px;
  }
  .arashi-hero__grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .arashi-hero__visual {
    order: -1;
    min-height: min(74vw, 540px);
  }
  .arashi-hero__title {
    max-width: 10.2ch;
  }
}

@media (max-width: 700px) {
  .arashi-container {
    width: min(calc(100% - 24px), var(--arashi-container));
  }
  .arashi-home::before {
    background-size: 180px auto;
  }
  .arashi-hero {
    padding: 18px 0 26px;
  }
  .arashi-hero__title {
    max-width: 10.6ch;
    font-size: clamp(2.4rem, 11.5vw, 4.25rem);
  }
  .arashi-hero__visual {
    min-height: 78vw;
    border-radius: 24px;
  }
  .arashi-hero__visual.has-image::before {
    background-position: 0 0, 0 0, 60% center;
  }
  .arashi-section {
    padding: 60px 0;
  }
}

@media (max-width: 430px) {
  .arashi-hero__title {
    max-width: 9.8ch;
  }
  .arashi-section__head h2,
  .arashi-contact-card h2 {
    font-size: clamp(1.85rem, 10vw, 2.6rem);
  }
}

/* ------------------------------------------------------------
   ARASHI 1.3.0 — hero with foreground subject, closer to mockup
   ------------------------------------------------------------ */
.arashi-home::before {
  background-size: 250px auto;
  opacity: .082;
}

.arashi-home::after {
  width: min(42vw, 620px);
  height: min(42vw, 620px);
  opacity: .56;
}

.arashi-hero {
  padding: clamp(58px, 6vw, 98px) 0 28px;
}

.arashi-hero__grid {
  grid-template-columns: minmax(0, 1.02fr) minmax(520px, .98fr);
  gap: clamp(42px, 6vw, 86px);
  min-height: min(700px, 80vh);
}

.arashi-hero__title {
  max-width: 8.4ch;
  font-size: clamp(2.8rem, 6vw, 5.95rem);
}

.arashi-hero__lead {
  max-width: 56ch;
}

.arashi-hero__visual {
  min-height: 610px;
  border-radius: 34px;
  overflow: hidden;
  background:
    radial-gradient(circle at 70% 16%, rgba(177,29,40,.10), transparent 22%),
    radial-gradient(circle at 18% 76%, rgba(200,148,54,.05), transparent 24%),
    linear-gradient(145deg, #16181d, #0a0b0d 72%);
}

.arashi-hero__visual.has-image::before {
  background-image:
    linear-gradient(90deg, rgba(9,10,12,.60), rgba(9,10,12,.10) 42%, rgba(9,10,12,.20)),
    linear-gradient(0deg, rgba(9,10,12,.82), transparent 48%),
    var(--hero-image);
  background-size: auto, auto, cover;
  background-position: 0 0, 0 0, center center;
  filter: saturate(.58) contrast(1.04) brightness(.86) blur(.5px);
  opacity: .40;
}

.arashi-hero__visual::after {
  background:
    url('../images/sakura-corner.svg') no-repeat top right / 56% auto,
    url('../images/seigaiha.svg') repeat-x center bottom / 184px auto,
    linear-gradient(180deg, transparent 12%, rgba(9,10,12,.04) 34%, rgba(9,10,12,.26) 100%);
  opacity: .58;
}

.arashi-hero__sun {
  width: min(54%, 340px);
  top: 28px;
  right: 58px;
  opacity: .38;
  background:
    radial-gradient(circle at 34% 30%, rgba(255,255,255,.07), transparent 16%),
    radial-gradient(circle at 50% 50%, rgba(175,34,43,.84), rgba(93,18,25,.78) 66%, rgba(53,16,18,.88));
}

.arashi-hero__torii {
  top: 112px;
  left: 52%;
  width: 232px;
  height: 186px;
  transform: translateX(-35%);
  opacity: .22;
}

.arashi-hero__kanji {
  top: 148px;
  right: 24px;
  font-size: 31px;
  z-index: 4;
}

.arashi-hero__seal {
  top: 288px;
  right: 22px;
  z-index: 4;
}

.arashi-hero__subject {
  position: absolute;
  inset: 10px 0 0;
  z-index: 3;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  pointer-events: none;
}

.arashi-hero__subject img {
  display: block;
  width: min(94%, 660px);
  height: auto;
  max-height: 100%;
  object-fit: contain;
  object-position: center bottom;
  filter:
    drop-shadow(0 22px 28px rgba(0,0,0,.38))
    drop-shadow(0 16px 58px rgba(0,0,0,.46));
}

.arashi-trustline {
  margin-top: 2px;
}

.arashi-section--muted,
.arashi-section--contact {
  position: relative;
}

.arashi-section--muted::after,
.arashi-section--contact::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 96px;
  pointer-events: none;
  background: url('../images/seigaiha.svg') repeat-x center bottom / 188px auto;
  opacity: .09;
}

.arashi-section--contact::before {
  top: 0;
  bottom: auto;
  transform: rotate(180deg);
  opacity: .07;
}

.arashi-feature-card,
.arashi-audience-card,
.arashi-method-grid > article,
.arashi-contact-card,
.arashi-map-card {
  box-shadow: 0 20px 62px rgba(0,0,0,.30);
}

.arashi-feature-card__media.has-image::after,
.arashi-audience-card__media.has-image::after {
  height: 76px;
  background-size: 150px auto;
  opacity: .2;
}

.arashi-partners::before {
  height: 84px;
  background-size: 184px auto;
  opacity: .11;
}

@media (max-width: 1180px) {
  .arashi-hero__grid {
    grid-template-columns: minmax(0,1fr) minmax(420px,.92fr);
  }
  .arashi-hero__visual {
    min-height: 560px;
  }
}

@media (max-width: 940px) {
  .arashi-hero__grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .arashi-hero__visual {
    min-height: min(78vw, 560px);
    order: -1;
  }
  .arashi-hero__torii {
    top: 88px;
    left: 50%;
    transform: translateX(-44%) scale(.92);
  }
  .arashi-hero__kanji {
    top: 118px;
  }
  .arashi-hero__seal {
    top: 255px;
  }
}

@media (max-width: 700px) {
  .arashi-home::before {
    background-size: 180px auto;
    opacity: .058;
  }
  .arashi-home::after {
    width: 240px;
    height: 240px;
    opacity: .34;
  }
  .arashi-hero {
    padding: 18px 0 22px;
  }
  .arashi-hero__title {
    max-width: 10.1ch;
    font-size: clamp(2.45rem, 11vw, 4.35rem);
  }
  .arashi-hero__visual {
    min-height: 86vw;
    border-radius: 24px;
  }
  .arashi-hero__visual::after {
    background:
      url('../images/sakura-corner.svg') no-repeat top right / 56% auto,
      url('../images/seigaiha.svg') repeat-x center bottom / 140px auto,
      linear-gradient(180deg, transparent 12%, rgba(9,10,12,.04) 34%, rgba(9,10,12,.26) 100%);
  }
  .arashi-hero__sun {
    width: min(56%, 240px);
    top: 18px;
    right: 16px;
  }
  .arashi-hero__torii {
    top: 64px;
    left: 54%;
    transform: translateX(-48%) scale(.76);
  }
  .arashi-hero__kanji {
    top: 92px;
    right: 14px;
    font-size: 23px;
  }
  .arashi-hero__seal {
    top: 182px;
    right: 14px;
    width: 28px;
    height: 28px;
    font-size: .9rem;
  }
  .arashi-hero__subject img {
    width: min(98%, 520px);
  }
}

@media (max-width: 430px) {
  .arashi-hero__visual {
    min-height: 94vw;
    border-radius: 20px;
  }
  .arashi-hero__torii {
    top: 56px;
    transform: translateX(-54%) scale(.68);
  }
  .arashi-hero__kanji {
    top: 80px;
    right: 10px;
  }
  .arashi-hero__seal {
    top: 164px;
    right: 10px;
  }
}

/* ------------------------------------------------------------
   ARASHI 1.4.0 — composite hero poster mode
   ------------------------------------------------------------ */
.arashi-hero__visual.has-poster {
  min-height: 610px;
  background: linear-gradient(180deg, #0f1115, #090a0c);
  box-shadow: 0 30px 110px rgba(0,0,0,.48);
}

.arashi-hero__visual.has-poster::before,
.arashi-hero__visual.has-poster::after {
  display: none;
}

.arashi-hero__poster {
  position: absolute;
  inset: 0;
  z-index: 2;
}

.arashi-hero__poster img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.arashi-hero__visual.has-poster .arashi-hero__subject,
.arashi-hero__visual.has-poster .arashi-hero__sun,
.arashi-hero__visual.has-poster .arashi-hero__torii,
.arashi-hero__visual.has-poster .arashi-hero__kanji,
.arashi-hero__visual.has-poster .arashi-hero__seal {
  display: none;
}

.arashi-hero__visual.has-poster::marker { content: ''; }

@media (max-width: 940px) {
  .arashi-hero__visual.has-poster {
    min-height: min(78vw, 560px);
  }
}

@media (max-width: 700px) {
  .arashi-hero__visual.has-poster {
    min-height: 86vw;
    border-radius: 24px;
  }
}

@media (max-width: 430px) {
  .arashi-hero__visual.has-poster {
    min-height: 94vw;
    border-radius: 20px;
  }
}

/* ------------------------------------------------------------
   ARASHI 1.5.0 — rebuilt community strip / footer bottom area
   ------------------------------------------------------------ */
.arashi-partners {
  padding: 26px 0 28px;
  background: linear-gradient(180deg, #090a0c, #0a0b0d);
}

.arashi-partners .arashi-eyebrow {
  margin-bottom: 18px;
  text-align: center;
  color: var(--arashi-muted);
}

.arashi-partner-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
}

.arashi-partner-item {
  min-width: 0;
  min-height: 126px;
  padding: 14px 12px 16px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.012)),
    radial-gradient(220px 120px at 50% 0, rgba(200,148,54,.028), transparent 60%);
  box-shadow: 0 12px 34px rgba(0,0,0,.18);
  display: grid;
  place-items: center;
  gap: 12px;
  text-decoration: none;
  text-align: center;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.arashi-partner-item:hover {
  transform: translateY(-3px);
  border-color: rgba(200,148,54,.30);
  box-shadow: 0 18px 42px rgba(0,0,0,.26);
}

.arashi-partner-item__logo {
  display: grid;
  place-items: center;
  min-height: 70px;
}

.arashi-partner-item__logo img {
  display: block;
  max-width: 100%;
  max-height: 72px;
  width: auto;
  height: auto;
  object-fit: contain;
}

.arashi-partner-item__name {
  display: block;
  font-size: .86rem;
  font-weight: 750;
  color: #d7d6d8;
  line-height: 1.3;
}

.arashi-footer {
  padding: 24px 0 18px;
  background: linear-gradient(180deg, #0d0f12, #0a0b0d);
}

.arashi-footer__grid,
.arashi-footer__modules {
  display: none;
}

.arashi-footer__bottom {
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.08);
}

.arashi-footer__brand .arashi-brand__mark {
  width: 34px;
  height: 34px;
  flex-basis: 34px;
}

.arashi-footer__brand strong {
  font-size: .72rem;
}

.arashi-footer__brand small {
  font-size: .54rem;
}

.arashi-footer__bottom p {
  color: var(--arashi-muted);
  text-align: center;
  flex: 1 1 auto;
}

@media (max-width: 940px) {
  .arashi-partner-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 700px) {
  .arashi-partners {
    padding: 22px 0 24px;
  }
  .arashi-partner-grid {
    gap: 12px;
  }
  .arashi-partner-item {
    min-height: 116px;
    padding: 12px 10px 14px;
    border-radius: 16px;
  }
  .arashi-partner-item__logo img {
    max-height: 60px;
  }
  .arashi-footer__bottom {
    flex-direction: column;
    align-items: center;
  }
  .arashi-footer__brand,
  .arashi-footer__bottom p {
    text-align: center;
  }
}

@media (max-width: 430px) {
  .arashi-partner-grid {
    grid-template-columns: 1fr 1fr;
  }
  .arashi-partner-item__name {
    font-size: .78rem;
  }
}

/* ------------------------------------------------------------
   ARASHI 1.5.1 — classic partner/footer fix
   ------------------------------------------------------------ */
.arashi-partners {
  padding: 34px 0 42px;
  border-top: 1px solid rgba(255,255,255,.07);
  background: #111214;
}

.arashi-partners .arashi-eyebrow {
  margin-bottom: 26px;
  color: #b7b7ba;
  letter-spacing: .2em;
}

.arashi-partner-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(20px, 4vw, 58px);
  align-items: start;
}

.arashi-partner-item {
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  display: flex;
  flex-direction: column-reverse;
  justify-content: flex-end;
  align-items: center;
  gap: 14px;
}

.arashi-partner-item:hover {
  transform: none;
  border-color: transparent;
  box-shadow: none;
}

.arashi-partner-item__name {
  order: 2;
  color: #ff232d;
  font-size: clamp(.92rem, 1.3vw, 1.1rem);
  font-weight: 500;
  line-height: 1.25;
}

.arashi-partner-item__logo {
  order: 1;
  min-height: 142px;
  width: 100%;
  display: grid;
  place-items: center;
}

.arashi-partner-item__logo img {
  max-height: 138px;
  max-width: min(100%, 180px);
  filter: drop-shadow(0 10px 22px rgba(0,0,0,.22));
}

.arashi-footer {
  padding: 0 0 16px;
  background: #111214;
  border-top: 0;
}

.arashi-footer .arashi-container {
  border-top: 1px solid rgba(255,255,255,.36);
  padding-top: 30px;
}

.arashi-footer__bottom--classic {
  min-height: 0;
  padding-top: 0;
  border-top: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

.arashi-footer__crest {
  display: inline-grid;
  place-items: center;
  text-decoration: none;
}

.arashi-footer__crest img {
  width: 74px;
  height: 74px;
  object-fit: contain;
  filter: drop-shadow(0 8px 18px rgba(0,0,0,.25));
}

.arashi-footer__bottom--classic p {
  margin: 0;
  flex: 0 0 auto;
  color: #d6d6d6;
  font-size: .78rem;
  text-align: center;
}

@media (max-width: 940px) {
  .arashi-partner-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
    row-gap: 34px;
  }
}

@media (max-width: 520px) {
  .arashi-partner-grid {
    grid-template-columns: 1fr 1fr;
    gap: 28px 12px;
  }
  .arashi-partner-item__logo {
    min-height: 100px;
  }
  .arashi-partner-item__logo img {
    max-height: 96px;
    max-width: 130px;
  }
  .arashi-partner-item__name {
    font-size: .82rem;
  }
  .arashi-footer__crest img {
    width: 62px;
    height: 62px;
  }
}
