:root{
  --ua-ink:#111;
  --ua-paper:#fff;
  --ua-yellow:#f2d23a;
  --ua-soft:#f5f5f1;
  --ua-line:#111;
  --ua-shell:1120px;
  --ua-wide:1280px;
  --ua-motion:.34s;
  --ua-ease:cubic-bezier(.22,.78,.18,1);
  --ua-font:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
}
*{box-sizing:border-box}
html{scroll-behavior:auto}
body{margin:0;padding-top:94px;background:var(--ua-paper);color:var(--ua-ink);font-family:var(--ua-font);font-weight:400;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font:inherit;color:inherit}
.ua-shell{width:min(var(--ua-shell),calc(100% - 80px));margin-inline:auto}
.ua-main{overflow:hidden}

/* Header — all legacy header styling intentionally replaced */
.ua-header{height:94px;background:#fff;position:fixed;top:0;left:0;right:0;z-index:90;border-bottom:1px solid #111}
.ua-header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 34px 0 26px}
.ua-brand{height:100%;display:flex;align-items:center;gap:17px;white-space:nowrap}
.ua-brand-logo{display:block;width:auto;height:auto;max-width:min(330px,42vw);max-height:42px;object-fit:contain}
.ua-brand-symbol{width:50px;height:50px;border:2px solid #111;border-radius:50%;display:grid;place-items:center;font-family:var(--ua-font);font-size:14px;font-weight:800;letter-spacing:.06em}
.ua-brand-name{display:flex;flex-direction:column;line-height:1}.ua-brand-name strong{font-family:var(--ua-font);font-size:26px;letter-spacing:.08em}.ua-brand-name small{font-size:9px;font-weight:700;letter-spacing:.42em;margin-top:7px}
.ua-brand-rule{width:1.5px;height:60px;background:#111;margin-left:8px}
.ua-brand-copy{font-size:13px;font-weight:700;line-height:1.55;letter-spacing:.02em}
.ua-header-right{display:flex;align-items:center;gap:26px}.ua-header-message{font-family:var(--ua-font);font-size:12px;letter-spacing:.02em;color:#555;margin:0}
.ua-menu-button{width:48px;height:34px;padding:0;border:0;background:transparent;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer}
.ua-menu-button span{display:block;width:40px;height:2px;background:#111;transform-origin:center;transition:transform var(--ua-motion) var(--ua-ease),opacity var(--ua-motion) var(--ua-ease)}
.ua-drawer{position:fixed;inset:0;z-index:100;pointer-events:none}.ua-drawer.is-open{pointer-events:auto}.ua-drawer-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.34);border:0;opacity:0;transition:opacity var(--ua-motion) var(--ua-ease);width:100%;height:100%}.ua-drawer.is-open .ua-drawer-backdrop{opacity:1}
.ua-drawer-panel{position:absolute;top:0;right:0;width:min(520px,92vw);height:100%;background:#fff;padding:28px 34px 24px;transform:translateX(100%);transition:transform var(--ua-motion) var(--ua-ease);display:flex;flex-direction:column}.ua-drawer.is-open .ua-drawer-panel{transform:translateX(0)}
.ua-drawer-top{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #111;padding-bottom:22px}.ua-drawer-brand{display:flex;flex-direction:column}.ua-drawer-brand b{font:800 26px/1 var(--ua-font);letter-spacing:.08em}.ua-drawer-brand small{margin-top:8px;font-size:9px;letter-spacing:.18em}
.ua-drawer-close{width:38px;height:38px;border:0;background:transparent;position:relative;cursor:pointer}.ua-drawer-close span{position:absolute;width:34px;height:2px;background:#111;left:2px;top:18px}.ua-drawer-close span:first-child{transform:rotate(45deg)}.ua-drawer-close span:last-child{transform:rotate(-45deg)}
.ua-drawer-links{margin-top:14px}.ua-drawer-links a{display:grid;grid-template-columns:44px 1fr 24px;align-items:center;min-height:82px;border-bottom:1px solid #111}.ua-drawer-links a>span{font:600 10px var(--ua-font);letter-spacing:.14em}.ua-drawer-links strong{font-size:20px}.ua-drawer-links i{font-style:normal;font-size:18px;text-align:right}.ua-drawer-foot{margin-top:auto;padding-top:24px;border-top:1px solid #111;display:flex;justify-content:space-between;gap:20px;font-size:10px;line-height:1.8}.ua-drawer-foot p{margin:0}

/* Home hero: five automatically selected URANO ANOINE articles */
.ua-color-hero{height:560px;position:relative;overflow:hidden}.ua-color-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility .9s ease}.ua-color-slide.is-active{opacity:1;visibility:visible}.ua-yellow{background:var(--ua-yellow)}
.ua-visual-slide{height:100%;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.65fr);align-items:stretch;width:min(var(--ua-wide),100%);margin:auto}.ua-slider-visual{display:block;height:100%;overflow:hidden;background:#ddd}.ua-slider-visual img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,.61,.36,1)}.ua-slider-visual:hover img{transform:scale(1.018)}.ua-visual-caption{display:flex;flex-direction:column;justify-content:center;padding:54px 42px 60px 52px;min-width:0}.ua-visual-caption>span{font:700 11px var(--ua-font);letter-spacing:.14em;margin-bottom:25px}.ua-visual-caption h2{font-family:var(--ua-font);font-size:38px;line-height:1.45;margin:0 0 18px;max-width:9.5em;line-break:strict;word-break:normal;text-wrap:pretty}.ua-visual-caption h2 a{display:block}.ua-visual-caption p{font-size:12px;line-height:2;margin:0;max-width:320px;line-break:strict;word-break:normal;text-wrap:pretty}.ua-slider-read{margin-top:24px;font:700 9px var(--ua-font);letter-spacing:.14em;width:max-content;border-bottom:1px solid #111;padding-bottom:4px}
.ua-slider-index{position:absolute;right:36px;bottom:22px;display:flex;gap:12px;align-items:center;z-index:3}.ua-slider-index button{appearance:none;border:0;background:transparent;padding:0;font:700 10px var(--ua-font);color:rgba(0,0,0,.35);cursor:pointer}.ua-slider-index button.is-active{color:#111}.ua-slider-index button+button:before{content:"";display:inline-block;width:24px;height:1px;background:#111;margin:0 10px 3px 0}
.ua-hero-fallback{display:flex;align-items:center;justify-content:center;border-bottom:1px solid #111}.ua-hero-fallback-inner{width:min(900px,calc(100% - 80px));margin:auto;text-align:left}.ua-hero-fallback-kicker{font:800 12px var(--ua-font);letter-spacing:.22em;margin:0 0 26px}.ua-hero-fallback h1{font-family:var(--ua-font);font-size:48px;line-height:1.45;max-width:13em;margin:0 0 28px;line-break:strict;word-break:normal;text-wrap:pretty}.ua-hero-fallback-lead{font-family:var(--ua-font);font-size:15px;line-height:2.15;max-width:44em;margin:0;line-break:strict;word-break:normal;text-wrap:pretty}

.ua-news-strip{border-bottom:1px solid #111;background:#fff}.ua-news-strip-inner{width:min(1000px,calc(100% - 80px));margin:auto;min-height:82px;display:grid;grid-template-columns:110px 120px 1fr;align-items:center;gap:28px}.ua-news-strip strong{font:700 13px var(--ua-font);letter-spacing:.35em}.ua-news-strip time{font:700 11px var(--ua-font);letter-spacing:.12em}.ua-news-strip a{font-size:13px}


/* Horizontal media introduction */
.ua-media-intro{display:block;padding:94px 0 108px;border-bottom:1px solid #111}.ua-media-intro-copy{max-width:820px;margin:0}.ua-media-intro-overline{margin:0 0 18px!important;font:700 10px/1.5 var(--ua-font)!important;letter-spacing:.18em}.ua-media-intro-copy h1{font-family:var(--ua-font);font-size:44px;line-height:1.45;margin:0 0 30px;letter-spacing:.02em}.ua-media-intro-actions{display:flex;gap:10px;margin:0 0 28px}.ua-media-intro-actions span{min-width:72px;padding:8px 16px;border:1px solid #111;text-align:center;font-size:12px;font-weight:700}.ua-media-intro-copy>p{font-family:var(--ua-font);font-size:15px;line-height:2.15;margin:0 0 16px;max-width:760px}.ua-text-link{display:inline-block;margin-top:20px;padding-bottom:4px;border-bottom:1px solid #111;font:700 10px var(--ua-font);letter-spacing:.12em}

/* Dedicated media / article archive */
.ua-media-archive-hero{border-bottom:1px solid #111}.ua-media-archive-hero-inner{min-height:290px;display:grid;grid-template-columns:1fr 1fr;align-items:end;padding-top:58px;padding-bottom:52px}.ua-media-archive-hero-inner>div:first-child{display:flex;align-items:baseline;gap:18px}.ua-media-archive-hero span{font:900 94px/1 var(--ua-font);letter-spacing:-.055em}.ua-media-archive-hero small{font:700 10px var(--ua-font);letter-spacing:.16em}.ua-media-archive-hero h1{font-family:var(--ua-font);font-size:34px;line-height:1.45;margin:0 0 10px}.ua-media-archive-hero p{margin:0;font-size:13px}.ua-media-archive-body{padding:72px 0 118px}.ua-home-latest{padding-top:72px}.ua-media-filter{display:flex;flex-wrap:wrap;gap:0;border-bottom:1px solid #111;padding-top:24px}.ua-media-filter a{padding:14px 20px 13px;border-left:1px solid #111;font:700 10px var(--ua-font);letter-spacing:.08em}.ua-media-filter a:first-child{border-left:0;padding-left:0}.ua-media-filter a.is-current{text-decoration:underline;text-underline-offset:5px}

.ua-articles{padding:32px 0 110px}.ua-section-head{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:2px solid #111;padding-bottom:16px;margin-bottom:34px}.ua-section-head div{display:flex;gap:18px;align-items:baseline}.ua-section-head span{font:900 46px/1 var(--ua-font);letter-spacing:.05em}.ua-section-head small{font-size:12px;font-weight:700}.ua-section-head>a{font:700 10px var(--ua-font);letter-spacing:.12em}
.ua-article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:58px 28px}.ua-card-visual{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;background:#eee}.ua-card-visual img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ua-ease)}.ua-card:hover .ua-card-visual img{transform:scale(1.025)}.ua-card-number{position:absolute;right:10px;bottom:10px;width:42px;height:42px;border-radius:50%;background:#fff;border:1px solid #111;display:grid;place-items:center;font:700 10px var(--ua-font)}.ua-card-meta{display:flex;gap:12px;margin-top:14px;font:600 9px var(--ua-font);letter-spacing:.08em}.ua-card-meta a{border-left:1px solid #111;padding-left:12px}.ua-card h2{font-family:var(--ua-font);font-size:18px;line-height:1.65;margin:11px 0 8px}.ua-card p{font-size:11px;line-height:1.9;color:#555;margin:0}
/* Home latest cards: show the full thumbnail and frame each item */
.ua-home-latest .ua-card{border:1px solid #111;background:#fff;padding-bottom:18px}.ua-home-latest .ua-card-visual{background:#f3f3ef}.ua-home-latest .ua-card-visual img{object-fit:contain}.ua-home-latest .ua-card:hover .ua-card-visual img{transform:none}.ua-home-latest .ua-card-meta{margin:14px 16px 0}.ua-home-latest .ua-card h2{margin:11px 16px 8px}.ua-home-latest .ua-card p{margin:0 16px}
.ua-pagination{display:flex;justify-content:center;align-items:center;gap:7px;margin-top:62px}.ua-pagination button{min-width:40px;height:40px;border:1px solid #111;background:#fff;cursor:pointer}.ua-pagination button.is-current{background:#111;color:#fff}.ua-pagination span{padding:0 5px}

/* Shared subpages */
.ua-page-hero,.ua-detail-mast{padding:72px 0 62px;border-bottom:1px solid #111}.ua-page-hero span,.ua-detail-mast>div>span{font:900 84px/1 var(--ua-font);letter-spacing:-.04em}.ua-page-hero h1,.ua-detail-mast h1{font-family:var(--ua-font);font-size:34px;margin:18px 0 10px}.ua-page-hero p{margin:0;font-size:13px}.ua-category-list{padding:64px 0 100px}.ua-category-list>a{display:grid;grid-template-columns:48px 1fr 120px 24px;gap:20px;align-items:center;min-height:92px;border-bottom:1px solid #111}.ua-category-list strong{font-family:var(--ua-font);font-size:22px}.ua-category-list small,.ua-category-list>a>span{font:600 9px var(--ua-font)}.ua-category-list i{font-style:normal}
.ua-news-list{padding:64px 0 110px}.ua-news-list article>a{display:grid;grid-template-columns:50px 120px 1fr 24px;gap:18px;align-items:start;padding:26px 0;border-bottom:1px solid #111}.ua-news-no,.ua-news-list time{font:600 9px var(--ua-font)}.ua-news-list h2{font-family:var(--ua-font);font-size:19px;margin:0 0 8px}.ua-news-list p{font-size:11px;line-height:1.8;color:#555;margin:0}.ua-news-list i{font-style:normal}
.ua-detail-mast time{display:block;margin-top:22px;font:600 10px var(--ua-font)}.ua-prose{display:grid;grid-template-columns:90px 1fr;gap:52px;padding:64px 0 100px}.ua-prose-label{font:800 10px/1.7 var(--ua-font);letter-spacing:.1em}.ua-prose-body{font-family:var(--ua-font);font-size:15px;line-height:2.2;max-width:800px}.ua-prose-body p{margin:0 0 1.6em}.ua-prose-body h2,.ua-prose-body .section-heading{font-family:var(--ua-font);font-size:27px;line-height:1.5;margin:2.4em 0 1em;padding-bottom:.45em;border-bottom:1px solid #111}.ua-prose-body h3{font-size:21px;margin:2em 0 .9em}.ua-back{margin-top:54px!important;padding-top:18px;border-top:1px solid #111}

/* Article detail — editorial interview-inspired layout */
.ua-story-hero{padding:70px 0 0}.ua-story-heading{display:flex;justify-content:space-between;align-items:center}.ua-story-en{font:900 68px/1 var(--ua-font);letter-spacing:.08em}.ua-story-no{width:92px;height:92px;border:2px solid #111;border-radius:50%;display:grid;place-items:center;font:500 30px var(--ua-font)}.ua-story-rule{border-top:4px double #111;margin:22px 0 24px}.ua-story-media{overflow:hidden}.ua-story-media>img{display:block;width:100%;height:620px;object-fit:cover}

/* Article body with desktop-only editorial sidebar */
.ua-story-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:74px;align-items:start;padding:72px 0 118px}.ua-story-main{min-width:0}.ua-story-meta-row{display:flex;flex-wrap:wrap;gap:16px 22px;align-items:center;padding-bottom:18px;border-bottom:1px solid #111;font:700 9px var(--ua-font);letter-spacing:.1em}.ua-story-meta-row span{font-family:var(--ua-font);letter-spacing:.04em}.ua-story-article-title{font-family:var(--ua-font);font-size:34px;line-height:1.65;margin:34px 0 46px;max-width:760px}.ua-story-main .ua-prose-body{max-width:760px}.ua-article-sidebar{position:sticky;top:28px;border-top:3px double #111}.ua-sidebar-block{padding:26px 0;border-bottom:1px solid #111}.ua-sidebar-en{display:block;font:800 10px var(--ua-font);letter-spacing:.2em;margin-bottom:16px}.ua-sidebar-about h2{font:900 24px/1.2 var(--ua-font);letter-spacing:.04em;margin:0 0 16px}.ua-sidebar-about p{font-family:var(--ua-font);font-size:11px;line-height:2;margin:0}.ua-sidebar-category{display:flex;justify-content:space-between;gap:20px;align-items:center;font-family:var(--ua-font);font-size:18px;font-weight:600}.ua-sidebar-category i{font-style:normal}.ua-sidebar-categories{display:flex;flex-direction:column}.ua-sidebar-categories a{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-top:1px solid #ddd;font-size:11px}.ua-sidebar-categories a:first-child{border-top:0}.ua-sidebar-categories small{font:600 9px var(--ua-font)}.ua-sidebar-block-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.ua-sidebar-block-head .ua-sidebar-en{margin:0}.ua-sidebar-block-head>a{font:700 9px var(--ua-font);letter-spacing:.12em}.ua-sidebar-latest>a{display:grid;grid-template-columns:26px 72px 1fr;gap:10px;align-items:start;padding:13px 0;border-top:1px solid #ddd}.ua-sidebar-latest>a:first-child{border-top:0}.ua-sidebar-latest-no{font:700 8px var(--ua-font)}.ua-sidebar-latest img{width:72px;height:54px;object-fit:cover}.ua-sidebar-latest>a>span:last-child{display:flex;flex-direction:column;gap:5px;min-width:0}.ua-sidebar-latest time{font:600 8px var(--ua-font)}.ua-sidebar-latest strong{font-family:var(--ua-font);font-size:11px;line-height:1.55;font-weight:600}

.ua-empty{padding:42px 0;font-size:13px}
.ua-footer{background:#111;color:#fff;padding:72px 0 20px}.ua-footer-inner{width:min(var(--ua-wide),calc(100% - 80px));margin:auto}.ua-footer-brand{display:flex;align-items:baseline;gap:16px}.ua-footer-brand span{font:900 56px/1 var(--ua-font);letter-spacing:.04em}.ua-footer-brand strong{font-family:var(--ua-font);font-size:26px;letter-spacing:.08em}.ua-footer-copy{font-family:var(--ua-font);font-size:13px;line-height:2;margin:24px 0}.ua-footer-nav{display:flex;flex-wrap:wrap;gap:32px;border-top:1px solid #555;border-bottom:1px solid #555;padding:22px 0;margin-top:42px}.ua-footer-nav a{font-size:11px}.ua-footer-bottom{display:flex;justify-content:space-between;padding-top:18px;font:600 9px var(--ua-font);letter-spacing:.1em;color:#bbb}
.ua-footer-brand img{display:block;width:min(520px,100%);height:auto;filter:invert(1);opacity:.98}

@media (max-width:900px){
  .ua-shell{width:calc(100% - 36px)}.ua-header{height:76px}.ua-header-inner{padding:0 18px}.ua-brand{gap:10px}.ua-brand-logo{max-width:min(220px,62vw);max-height:30px}.ua-brand-symbol{width:42px;height:42px;font-size:11px}.ua-brand-name strong{font-size:18px}.ua-brand-name small{font-size:7px;margin-top:5px}.ua-brand-rule{height:46px;margin-left:2px}.ua-brand-copy{font-size:9px;line-height:1.45}.ua-header-message{display:none}.ua-menu-button{width:40px;height:28px}.ua-menu-button span{width:36px;height:2px}
  .ua-color-hero{height:520px}.ua-visual-slide{grid-template-columns:1fr;grid-template-rows:64% 36%;width:100%}.ua-slider-visual{height:100%}.ua-visual-caption{height:auto;padding:20px 20px 24px;display:block}.ua-visual-caption>span{display:block;margin:0 0 9px;font-size:8px;letter-spacing:.1em}.ua-visual-caption h2{font-size:22px;line-height:1.5;max-width:none;margin:0 0 8px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-break:strict;word-break:normal;text-wrap:pretty}.ua-visual-caption p{font-size:10px;line-height:1.75;max-width:none;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-break:strict;word-break:normal;text-wrap:pretty}.ua-slider-read{margin-top:10px;font-size:7px}.ua-slider-index{right:18px;bottom:12px;gap:7px}.ua-slider-index button{font-size:8px}.ua-slider-index button+button:before{width:14px;margin-right:6px}.ua-hero-fallback-inner{width:calc(100% - 40px)}.ua-hero-fallback-kicker{font-size:9px;margin-bottom:18px}.ua-hero-fallback h1{font-size:31px;line-height:1.55;max-width:none;margin-bottom:20px}.ua-hero-fallback-lead{font-size:12px;line-height:2;max-width:none}
  .ua-news-strip-inner{width:calc(100% - 36px);min-height:76px;grid-template-columns:62px 78px 1fr;gap:10px}.ua-news-strip strong,.ua-news-strip time{font-size:8px}.ua-news-strip a{font-size:10px;line-height:1.6}
    .ua-media-intro{display:block;padding:56px 0 68px}.ua-media-intro-copy h1{font-size:28px;line-height:1.55;margin-bottom:22px}.ua-media-intro-actions{gap:7px}.ua-media-intro-actions span{min-width:58px;padding:7px 10px;font-size:10px}.ua-media-intro-copy>p{font-size:12px;line-height:2}.ua-media-archive-hero-inner{min-height:220px;grid-template-columns:1fr;gap:28px;align-content:end;padding-top:42px;padding-bottom:38px}.ua-media-archive-hero span{font-size:58px}.ua-media-archive-hero h1{font-size:24px}.ua-media-archive-body{padding:52px 0 84px}.ua-home-latest{padding-top:54px}.ua-media-filter{padding-top:14px;overflow-x:auto;flex-wrap:nowrap}.ua-media-filter a{white-space:nowrap;padding:11px 14px 10px;font-size:8px}.ua-media-filter a:first-child{padding-left:0}
  .ua-article-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 14px}.ua-card-number{width:34px;height:34px;font-size:8px}.ua-card-meta{gap:8px;font-size:7px}.ua-card-meta a{padding-left:8px}.ua-card h2{font-size:12px}.ua-card p{display:none}.ua-section-head span{font-size:31px}.ua-section-head small{font-size:9px}
  .ua-home-latest .ua-card{padding-bottom:12px}.ua-home-latest .ua-card-meta{margin:10px 10px 0}.ua-home-latest .ua-card h2{margin:8px 10px 10px}.ua-footer-inner{width:calc(100% - 36px)}.ua-footer-brand{width:100%;max-width:100%;gap:clamp(7px,2.5vw,12px);flex-wrap:nowrap;white-space:nowrap;overflow:visible}.ua-footer-brand span{font-size:clamp(30px,11vw,42px);letter-spacing:.02em;min-width:0;flex:0 1 auto}.ua-footer-brand strong{font-size:clamp(16px,5.6vw,22px);letter-spacing:.04em;min-width:0;flex:0 1 auto}
  .ua-footer-brand img{width:min(420px,100%)}
  .ua-page-hero,.ua-detail-mast{padding:50px 0 44px}.ua-page-hero span,.ua-detail-mast>div>span{font-size:50px}.ua-page-hero h1,.ua-detail-mast h1{font-size:24px}
  .ua-category-list>a{grid-template-columns:34px 1fr auto 18px;gap:10px}.ua-category-list strong{font-size:17px}.ua-news-list article>a{grid-template-columns:30px 74px 1fr 18px;gap:9px}.ua-news-list h2{font-size:14px}.ua-news-list p{font-size:9px}
  .ua-story-body{display:block;padding:48px 0 82px}.ua-story-article-title{font-size:24px;line-height:1.65;margin:26px 0 34px}.ua-story-meta-row{gap:10px 14px}.ua-article-sidebar{display:none!important}
  .ua-prose{grid-template-columns:1fr;gap:18px}.ua-prose-label{font-size:9px}.ua-prose-body{font-size:13px;line-height:2}.ua-story-hero{padding-top:46px}.ua-story-en{font-size:44px}.ua-story-no{width:62px;height:62px;font-size:20px}.ua-story-media>img{height:420px}}


/* v1.7.3: archive card frames + breadcrumbs */
.ua-media-archive .ua-card{border:1px solid #111;padding-bottom:16px;background:#fff}
.ua-media-archive .ua-card-meta{margin:14px 16px 0}
.ua-media-archive .ua-card h2{margin:11px 16px 8px}
.ua-media-archive .ua-card p{margin:0 16px}
.ua-breadcrumb{background:#111;color:#fff;border:0;position:relative;z-index:20}
.ua-breadcrumb ol{list-style:none;margin:0;padding:13px 0;display:flex;align-items:center;gap:0;min-width:0;font-size:10px;line-height:1.5}
.ua-breadcrumb li{display:flex;align-items:center;min-width:0;color:#fff}
.ua-breadcrumb li+li:before{content:"/";display:inline-block;margin:0 12px;color:rgba(255,255,255,.6)}
.ua-breadcrumb a{display:block;white-space:nowrap;font-weight:600;color:#fff}
.ua-breadcrumb a:hover,.ua-breadcrumb a:focus-visible{text-decoration:underline;text-underline-offset:3px}
.ua-breadcrumb .is-current{color:#fff;min-width:0;overflow:hidden}
.ua-breadcrumb .is-current span{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:900px){
  .ua-media-archive .ua-card{padding-bottom:10px}
  .ua-media-archive .ua-card-meta{margin:10px 10px 0}
  .ua-media-archive .ua-card h2{margin:8px 10px 10px}
  .ua-media-archive .ua-card p{margin:0 10px}
  .ua-breadcrumb ol{padding:11px 0;font-size:9px}
  .ua-breadcrumb li+li:before{margin:0 8px}
}


/* v1.7.4: flush home thumbnails + title hover */
.ua-home-latest .ua-card-visual{aspect-ratio:auto;background:transparent}
.ua-home-latest .ua-card-visual img{width:100%;height:auto;object-fit:contain}
.ua-home-latest .ua-card h2 a:hover,
.ua-home-latest .ua-card h2 a:focus-visible{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}

/* v1.7.7: article archive thumbnails show the complete image */
.ua-media-archive .ua-card-visual{aspect-ratio:auto;background:transparent}
.ua-media-archive .ua-card-visual img{display:block;width:100%;height:auto;object-fit:contain}
.ua-media-archive .ua-card:hover .ua-card-visual img{transform:none}


/* v1.8.0: global home return + editorial article detail/sidebar */
.ua-scroll-top{position:fixed;right:24px;bottom:24px;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:46px;min-height:126px;padding:12px 0;border:1px solid #111;background:var(--ua-yellow);color:#111;font-size:11px;font-weight:800;letter-spacing:.04em;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);pointer-events:none;transition:opacity var(--ua-motion) var(--ua-ease),visibility var(--ua-motion) var(--ua-ease),transform var(--ua-motion) var(--ua-ease),background var(--ua-motion) var(--ua-ease)}
.ua-scroll-top.is-visible{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.ua-scroll-top span{font:700 16px/1 var(--ua-font)}.ua-scroll-top strong{display:block;writing-mode:vertical-rl;text-orientation:upright;line-height:1;letter-spacing:.14em}.ua-scroll-top:hover,.ua-scroll-top:focus-visible{transform:translateY(-2px);background:#fff}

.ua-story-detail{background:#fff}.ua-story-hero{padding-top:70px}.ua-story-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px}.ua-story-heading-copy{display:flex;align-items:flex-end;gap:24px;min-width:0}.ua-story-heading-copy small{font:700 9px/1.5 var(--ua-font);letter-spacing:.16em;padding-bottom:10px;white-space:nowrap}.ua-story-en{font:900 86px/.86 var(--ua-font);letter-spacing:-.055em}.ua-story-no{flex:0 0 auto;width:96px;height:96px;border:2px solid #111;border-radius:50%;display:grid;place-items:center;font:500 30px/1 var(--ua-font)}.ua-story-rule{border-top:4px double #111;margin:24px 0 44px}.ua-story-title-block{display:grid;grid-template-columns:180px minmax(0,1fr);gap:26px 46px;align-items:start;margin-bottom:42px}.ua-story-title-meta{grid-row:1 / span 2;display:flex;flex-direction:column;gap:12px;padding-top:8px;font:700 9px/1.7 var(--ua-font);letter-spacing:.1em}.ua-story-title-meta span{font-family:var(--ua-font);letter-spacing:.04em}.ua-story-title-block h1{font-family:var(--ua-font);font-size:38px;line-height:1.62;letter-spacing:.01em;margin:0;max-width:820px}.ua-story-title-block>p{font-family:var(--ua-font);font-size:13px;line-height:2.05;margin:0;max-width:760px;color:#444}.ua-story-media{margin:0;border-top:1px solid #111;border-bottom:1px solid #111;padding:18px 0}.ua-story-media>img{display:block;width:100%;height:auto;object-fit:contain}.ua-story-body{grid-template-columns:minmax(0,1fr) 326px;gap:82px;padding:70px 0 122px}.ua-story-main{min-width:0}.ua-story-reading-head{display:flex;align-items:center;gap:18px;padding-bottom:14px;margin-bottom:34px;border-bottom:1px solid #111}.ua-story-reading-head span{font:900 28px/1 var(--ua-font);letter-spacing:.05em}.ua-story-reading-head strong{width:42px;height:42px;border:1px solid #111;border-radius:50%;display:grid;place-items:center;font:600 11px var(--ua-font)}.ua-story-main .ua-prose-body{max-width:760px;font-size:15px;line-height:2.25}.ua-story-main .ua-prose-body>p:first-child{font-size:16px;line-height:2.2}.ua-story-main .ua-prose-body h2,.ua-story-main .ua-prose-body .section-heading{font-size:28px;line-height:1.55;margin:2.7em 0 1.15em;padding:0 0 .55em;border-bottom:2px solid #111}.ua-story-main .ua-prose-body h3{font-size:21px;line-height:1.65;border-left:5px solid var(--ua-yellow);padding-left:15px}.ua-story-main .ua-prose-body img{height:auto;margin:2.2em auto}.ua-story-main .ua-back{margin-top:64px!important}.ua-story-main .ua-back a{display:inline-block;padding-bottom:4px;border-bottom:1px solid #111;font-weight:700}

.ua-article-sidebar{position:sticky;top:22px;border:1px solid #111;background:#fff}.ua-sidebar-sign{background:var(--ua-yellow);padding:24px 22px 26px;border-bottom:1px solid #111}.ua-sidebar-sign span{display:block;font:800 9px var(--ua-font);letter-spacing:.18em;margin-bottom:10px}.ua-sidebar-sign strong{display:block;font:900 28px/.95 var(--ua-font);letter-spacing:-.02em}.ua-sidebar-sign small{display:block;margin-top:14px;font-family:var(--ua-font);font-size:10px;line-height:1.8}.ua-sidebar-block{padding:24px 22px 26px;border-bottom:1px solid #111}.ua-sidebar-block:last-child{border-bottom:0}.ua-sidebar-title{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start;padding-bottom:16px;margin-bottom:4px;border-bottom:1px solid #111}.ua-sidebar-title>span{width:32px;height:32px;border:1px solid #111;border-radius:50%;display:grid;place-items:center;font:700 8px var(--ua-font)}.ua-sidebar-title>div{display:flex;flex-direction:column;gap:5px}.ua-sidebar-title strong{font:900 17px/1 var(--ua-font);letter-spacing:.04em}.ua-sidebar-title small{font-size:9px;font-weight:700}.ua-sidebar-latest>a{display:grid;grid-template-columns:22px 82px minmax(0,1fr);gap:10px;align-items:start;padding:15px 0;border-top:1px solid #ddd}.ua-sidebar-latest>a:first-child{border-top:0}.ua-sidebar-latest>a:hover strong,.ua-sidebar-latest>a:focus-visible strong{text-decoration:underline;text-underline-offset:3px}.ua-sidebar-latest-no{font:700 8px var(--ua-font);padding-top:2px}.ua-sidebar-latest img{width:82px;height:62px;object-fit:cover}.ua-sidebar-latest>a>span:last-child{display:flex;flex-direction:column;gap:6px;min-width:0}.ua-sidebar-latest time{font:600 8px var(--ua-font)}.ua-sidebar-latest strong{font-family:var(--ua-font);font-size:11px;line-height:1.55;font-weight:600}.ua-sidebar-all{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding:13px 0 0;border-top:1px solid #111;font-size:10px;font-weight:800}.ua-sidebar-all span{font-family:var(--ua-font)}.ua-sidebar-current-category{display:flex;justify-content:space-between;align-items:center;margin:14px 0 4px;padding:12px 13px;background:var(--ua-yellow);border:1px solid #111;font-family:var(--ua-font);font-size:14px;font-weight:700}.ua-sidebar-current-category i{font-style:normal}.ua-sidebar-categories{display:flex;flex-direction:column}.ua-sidebar-categories a{display:flex;justify-content:space-between;align-items:center;padding:10px 2px;border-top:1px solid #ddd;font-size:11px}.ua-sidebar-categories a:first-child{border-top:0}.ua-sidebar-categories a:hover span,.ua-sidebar-categories a:focus-visible span{text-decoration:underline;text-underline-offset:3px}.ua-sidebar-categories small{font:600 9px var(--ua-font)}.ua-sidebar-about h2{font:900 22px/1 var(--ua-font);letter-spacing:.02em;margin:18px 0 12px}.ua-sidebar-about p{font-family:var(--ua-font);font-size:11px;line-height:2;margin:0}

@media (max-width:900px){.ua-scroll-top{right:12px;bottom:14px;width:40px;min-height:112px;padding:10px 0;font-size:9px;gap:7px}.ua-scroll-top span{font-size:14px}.ua-scroll-top strong{letter-spacing:.12em}.ua-story-hero{padding-top:42px}.ua-story-heading{align-items:center}.ua-story-heading-copy{display:block}.ua-story-heading-copy small{display:none}.ua-story-en{font-size:48px}.ua-story-no{width:58px;height:58px;font-size:18px}.ua-story-rule{margin:18px 0 28px}.ua-story-title-block{display:block;margin-bottom:26px}.ua-story-title-meta{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px 14px;padding:0 0 16px}.ua-story-title-block h1{font-size:25px;line-height:1.68}.ua-story-title-block>p{font-size:11px;line-height:2;margin-top:16px}.ua-story-media{padding:10px 0}.ua-story-body{display:block;padding:46px 0 82px}.ua-story-reading-head{margin-bottom:26px}.ua-story-reading-head span{font-size:23px}.ua-story-reading-head strong{width:36px;height:36px;font-size:9px}.ua-story-main .ua-prose-body{font-size:13px;line-height:2.05;max-width:none}.ua-story-main .ua-prose-body>p:first-child{font-size:13px}.ua-story-main .ua-prose-body h2,.ua-story-main .ua-prose-body .section-heading{font-size:22px}.ua-story-main .ua-prose-body h3{font-size:17px}.ua-article-sidebar{display:none!important}}


/* v1.8.1: every article-list thumbnail shows the complete source image */
.ua-article-grid .ua-card-visual{
  aspect-ratio:auto!important;
  height:auto!important;
  min-height:0!important;
  background:transparent!important;
  overflow:hidden;
}
.ua-article-grid .ua-card-visual img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
}
.ua-article-grid .ua-card:hover .ua-card-visual img,
.ua-article-grid .ua-card:focus-within .ua-card-visual img{
  transform:none!important;
}


/* v1.8.2: mobile article hero image must show the complete original image */
@media (max-width:900px){
  .ua-story-detail .ua-story-media{
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    overflow:visible!important;
  }
  .ua-story-detail .ua-story-media>img{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
}


/* v1.8.3: fixed header, framed article lists, desktop/mobile TOC */
.ua-article-grid .ua-card{
  border:1px solid #111!important;
  background:#fff;
  padding-bottom:16px;
  overflow:hidden;
}
.ua-article-grid .ua-card-meta{margin:14px 16px 0!important}
.ua-article-grid .ua-card h2{margin:11px 16px 8px!important}
.ua-article-grid .ua-card p{margin:0 16px!important}

.ua-article-sidebar{
  top:116px;
  max-height:calc(100vh - 138px);
  overflow-y:auto;
  overscroll-behavior:contain;
}
.ua-sidebar-toc{background:#fff}
.ua-toc-list{list-style:none;margin:0;padding:4px 0 0}
.ua-toc-list li{margin:0;padding:0;border-top:1px solid #ddd}
.ua-toc-list li:first-child{border-top:0}
.ua-toc-list a{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:start;padding:11px 0}
.ua-toc-list a>span{font:700 8px/1.7 var(--ua-font);letter-spacing:.08em}
.ua-toc-list a>strong{font-family:var(--ua-font);font-size:11px;line-height:1.65;font-weight:600}
.ua-toc-list a:hover strong,
.ua-toc-list a:focus-visible strong,
.ua-toc-list a.is-active strong{text-decoration:underline;text-underline-offset:3px}
.ua-toc-list a.is-active>span{font-weight:900}

.ua-mobile-toc{display:none}

@media (max-width:900px){
  body{padding-top:76px}
  .ua-article-grid .ua-card{padding-bottom:10px}
  .ua-article-grid .ua-card-meta{margin:10px 10px 0!important}
  .ua-article-grid .ua-card h2{margin:8px 10px 10px!important}
  .ua-article-grid .ua-card p{margin:0 10px!important}

  .ua-mobile-toc{display:block;position:fixed;inset:0 auto auto 0;z-index:58;pointer-events:none}
  .ua-mobile-toc-toggle{
    position:fixed;left:0;top:42%;z-index:2;width:42px;min-height:92px;padding:10px 6px;border:1px solid #111;border-left:0;
    background:var(--ua-yellow);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;
    pointer-events:auto;transition:left var(--ua-motion) var(--ua-ease),background var(--ua-motion) var(--ua-ease)
  }
  .ua-mobile-toc-toggle span{writing-mode:vertical-rl;text-orientation:upright;font-size:11px;font-weight:800;letter-spacing:.15em}
  .ua-mobile-toc-toggle i{font:700 16px/1 var(--ua-font);font-style:normal;transition:transform var(--ua-motion) var(--ua-ease)}
  .ua-mobile-toc.is-open .ua-mobile-toc-toggle{left:min(300px,82vw);background:#fff}
  .ua-mobile-toc.is-open .ua-mobile-toc-toggle i{transform:rotate(180deg)}
  .ua-mobile-toc-panel{
    position:fixed;left:0;top:88px;bottom:78px;width:min(300px,82vw);z-index:1;background:#fff;border:1px solid #111;border-left:0;
    transform:translateX(-100%);transition:transform var(--ua-motion) var(--ua-ease);pointer-events:auto;overflow-y:auto;overscroll-behavior:contain
  }
  .ua-mobile-toc.is-open .ua-mobile-toc-panel{transform:translateX(0)}
  .ua-mobile-toc-head{position:sticky;top:0;background:var(--ua-yellow);border-bottom:1px solid #111;padding:16px 16px 15px;display:flex;justify-content:space-between;gap:14px;align-items:center;z-index:2}
  .ua-mobile-toc-head>div{display:flex;flex-direction:column;gap:4px}
  .ua-mobile-toc-head strong{font:900 18px/1 var(--ua-font);letter-spacing:.04em}
  .ua-mobile-toc-head small{font-size:9px;font-weight:700}
  .ua-mobile-toc-close{width:34px;height:34px;border:1px solid #111;background:#fff;font:500 22px/1 var(--ua-font);cursor:pointer}
  .ua-mobile-toc .ua-toc-list{padding:8px 16px 18px}
  .ua-mobile-toc .ua-toc-list a{grid-template-columns:28px minmax(0,1fr);padding:12px 0}
  .ua-mobile-toc .ua-toc-list a>strong{font-size:12px;line-height:1.65}
}

.ua-story-main .section-heading,.ua-story-main h2[id],.ua-story-main h3[id]{scroll-margin-top:124px}
@media (max-width:900px){.ua-story-main .section-heading,.ua-story-main h2[id],.ua-story-main h3[id]{scroll-margin-top:94px}}

/* v1.8.4: vertical scroll-to-top button */


/* v1.8.6: logo-led typography + centered responsive footer */
body,button,input,textarea,select{font-family:var(--ua-font)}

/* Weight hierarchy: regular reading text / medium UI / bold editorial headings. */
.ua-header-message,.ua-visual-caption p,.ua-hero-fallback-lead,.ua-media-intro-copy>p,.ua-page-hero p,.ua-card p,.ua-prose-body,.ua-story-title-block>p,.ua-sidebar-about p,.ua-sidebar-sign small{font-weight:400}
.ua-news-strip a,.ua-footer-nav a,.ua-category-list>a,.ua-sidebar-categories a,.ua-toc-list a>strong{font-weight:600}
.ua-card h2,.ua-media-intro-copy h1,.ua-page-hero h1,.ua-detail-mast h1,.ua-category-list strong,.ua-story-article-title,.ua-story-title-block h1,.ua-prose-body h2,.ua-prose-body h3,.ua-story-main .ua-prose-body .section-heading{font-family:var(--ua-font);font-weight:800}
.ua-section-head span,.ua-page-hero span,.ua-detail-mast>div>span,.ua-story-en,.ua-sidebar-title strong,.ua-sidebar-about h2,.ua-drawer-brand b{font-family:var(--ua-font);font-weight:900}

.ua-footer{background:#111;color:#fff;padding:70px 0 26px}
.ua-footer-inner{width:min(var(--ua-wide),calc(100% - 80px));margin:auto;display:flex;flex-direction:column;align-items:center;text-align:center}
.ua-footer-brand{display:flex;justify-content:center;align-items:center;width:100%;margin:0 auto}
.ua-footer-brand img{display:block;width:min(460px,46vw);max-width:100%;height:auto;filter:invert(1);opacity:1}
.ua-footer-nav{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:0;border:0;padding:0;margin:34px 0 0}
.ua-footer-nav a{position:relative;display:inline-flex;align-items:center;padding:0 11px;font-size:11px;line-height:1.7;letter-spacing:.04em;color:#fff}
.ua-footer-nav a::before{content:"｜";position:absolute;left:-3px;color:#fff;font-weight:400}
.ua-footer-nav a:last-child::after{content:"｜";position:absolute;right:-3px;color:#fff;font-weight:400}
.ua-footer-nav a:hover,.ua-footer-nav a:focus-visible{text-decoration:underline;text-underline-offset:4px}
.ua-footer-copyright{margin:25px 0 0;font-family:var(--ua-font);font-size:10px;line-height:1.7;font-weight:500;letter-spacing:.04em;color:#fff}
.ua-footer-copy,.ua-footer-bottom{display:none!important}

@media (max-width:900px){
  .ua-footer{padding:52px 0 24px}
  .ua-footer-inner{width:calc(100% - 36px)}
  .ua-footer-brand{width:100%;justify-content:center}
  .ua-footer-brand img{width:min(290px,78vw)}
  .ua-footer-nav{width:100%;margin-top:30px;display:flex;flex-direction:column;align-items:center;gap:0}
  .ua-footer-nav a{width:100%;justify-content:center;padding:13px 0;border-top:1px solid rgba(255,255,255,.26);font-size:11px}
  .ua-footer-nav a:last-child{border-bottom:1px solid rgba(255,255,255,.26)}
  .ua-footer-nav a::before,.ua-footer-nav a::after{content:none!important}
  .ua-footer-copyright{margin-top:24px;font-size:9px;line-height:1.8;letter-spacing:.025em;white-space:normal}
}


/* v1.8.7: full-screen reference menu + latest article on desktop */
/* Keep the document width unchanged while the menu temporarily removes scrolling. */
html{scrollbar-gutter:stable}
html.ua-menu-open,html.ua-menu-open body{overflow:hidden!important}
.ua-header-right{margin-left:auto;display:flex;align-items:center}
.ua-header-message{display:none!important}
.ua-menu-button{
  width:58px!important;height:42px!important;padding:0!important;border:0!important;background:#fff!important;
  display:grid!important;place-items:center!important;overflow:hidden;cursor:pointer
}
.ua-menu-button img{display:block;width:54px;height:31px;object-fit:fill}

.ua-drawer{position:fixed!important;inset:0!important;z-index:120!important;pointer-events:none!important;opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s ease}
.ua-drawer.is-open{pointer-events:auto!important;opacity:1;visibility:visible}
.ua-drawer-backdrop{display:none!important}
.ua-drawer-panel{
  position:absolute!important;inset:0!important;width:100%!important;max-width:none!important;height:100dvh!important;
  background:#fff!important;padding:26px 42px 22px!important;transform:none!important;transition:none!important;
  display:flex!important;flex-direction:column!important;overflow-y:auto!important
}
.ua-drawer-top{display:flex!important;align-items:center!important;justify-content:space-between!important;border-bottom:4px solid #111!important;padding:0 0 26px!important;flex:0 0 auto}
.ua-drawer-brand{display:block!important;width:min(510px,46vw)!important;line-height:0}
.ua-drawer-brand img{display:block;width:100%!important;height:auto!important;max-height:66px!important;object-fit:contain!important;object-position:left center!important}
.ua-drawer-brand b,.ua-drawer-brand small{display:none!important}
.ua-drawer-close{position:relative!important;width:76px!important;height:76px!important;flex:0 0 76px!important;border:0!important;background:transparent!important;padding:0!important;cursor:pointer!important}
.ua-drawer-close span{position:absolute!important;left:7px!important;top:36px!important;width:66px!important;height:7px!important;background:#111!important;border-radius:0!important}
.ua-drawer-close span:first-child{transform:rotate(45deg)!important}.ua-drawer-close span:last-child{transform:rotate(-45deg)!important}

.ua-drawer-layout{flex:1 0 auto;display:grid;grid-template-columns:minmax(330px,.82fr) minmax(520px,1.18fr);gap:clamp(58px,8vw,150px);padding:54px 22px 38px 10px;align-items:start}
.ua-drawer-menu-column{min-width:0}
.ua-drawer-links{margin:0!important;display:flex!important;flex-direction:column!important}
.ua-drawer-links a{
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;
  min-height:0!important;padding:25px 10px 27px!important;border-bottom:3px solid #111!important;grid-template-columns:none!important
}
.ua-drawer-links a:first-child{padding-top:8px!important}
.ua-drawer-links a>span,.ua-drawer-links a>i{display:none!important}
.ua-drawer-links strong{font-family:var(--ua-font)!important;font-size:clamp(35px,3.3vw,62px)!important;line-height:1.13!important;font-weight:800!important;letter-spacing:-.045em!important}
.ua-drawer-links small{display:block;margin-top:11px;font-family:var(--ua-font);font-size:clamp(13px,1.1vw,19px);line-height:1.2;font-weight:400;letter-spacing:.01em}
.ua-drawer-links a:hover strong,.ua-drawer-links a:focus-visible strong{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:8px}

.ua-drawer-feature{min-width:0;padding-top:2px}
.ua-drawer-feature-image{display:block;width:100%;border:2px solid #111;background:#fff;overflow:hidden}
.ua-drawer-feature-image img{display:block;width:100%;height:auto;max-height:49vh;object-fit:contain;background:#fff}
.ua-drawer-feature-meta{display:flex;align-items:center;gap:18px;margin:23px 0 10px;font-size:11px;line-height:1.4;font-weight:600;letter-spacing:.04em}
.ua-drawer-feature-meta span{display:inline-flex;align-items:center;min-height:27px;padding:4px 9px;background:var(--ua-yellow);border:1px solid #111}
.ua-drawer-feature-meta time{font-family:var(--ua-font);font-weight:500}
.ua-drawer-feature h2{margin:0;padding:0 0 15px;border-bottom:4px solid #111;font-family:var(--ua-font);font-size:clamp(28px,2.55vw,48px);line-height:1.35;font-weight:800;letter-spacing:-.035em}
.ua-drawer-feature h2 a:hover,.ua-drawer-feature h2 a:focus-visible{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.ua-drawer-feature p{margin:13px 0 0;font-size:13px;line-height:1.95;font-weight:400}
.ua-drawer-feature-read{display:inline-flex;margin-top:20px;padding-bottom:4px;border-bottom:2px solid #111;font:700 11px/1.4 var(--ua-font);letter-spacing:.06em}
.ua-drawer-feature-empty{min-height:340px;border:2px solid #111;display:grid;place-items:center;font-size:13px}
.ua-drawer-foot{margin:0!important;padding:18px 10px 0!important;border-top:3px solid #111!important;display:flex!important;justify-content:flex-start!important;gap:0!important;font-family:var(--ua-font)!important;font-size:9px!important;line-height:1.5!important;font-weight:500!important;letter-spacing:.025em!important;flex:0 0 auto}
.ua-drawer-foot p{display:none!important}

@media (max-width:900px){
  .ua-menu-button{width:48px!important;height:36px!important}
  .ua-menu-button img{width:44px;height:25px}
  .ua-drawer-panel{padding:20px 22px 22px!important}
  .ua-drawer-top{padding-bottom:20px!important;border-bottom:3px solid #111!important}
  .ua-drawer-brand{width:min(255px,68vw)!important}
  .ua-drawer-brand img{max-height:48px!important}
  .ua-drawer-close{width:54px!important;height:54px!important;flex-basis:54px!important}
  .ua-drawer-close span{left:5px!important;top:25px!important;width:48px!important;height:6px!important}
  .ua-drawer-layout{display:block!important;padding:26px 0 22px!important}
  .ua-drawer-feature{display:none!important}
  .ua-drawer-links a{padding:22px 8px 24px!important;border-bottom:3px solid #111!important}
  .ua-drawer-links a:first-child{padding-top:6px!important}
  .ua-drawer-links strong{font-size:clamp(42px,12.2vw,62px)!important;line-height:1.16!important;letter-spacing:-.055em!important}
  .ua-drawer-links small{margin-top:8px;font-size:14px}
  .ua-drawer-foot{margin-top:auto!important;padding:18px 4px 0!important;border-top:3px solid #111!important;font-size:8px!important;justify-content:center!important;text-align:center}
}

@media (max-width:430px){
  .ua-drawer-panel{padding-left:18px!important;padding-right:18px!important}
  .ua-drawer-brand{width:min(225px,66vw)!important}
  .ua-drawer-links strong{font-size:clamp(38px,11.8vw,52px)!important}
}

/* v1.8.8: staged full-screen menu animations */
@keyframes uaMenuSlideFromLeft{from{opacity:0;transform:translateX(-54px)}to{opacity:1;transform:translateX(0)}}
@keyframes uaMenuSlideFromRight{from{opacity:0;transform:translateX(54px)}to{opacity:1;transform:translateX(0)}}
@keyframes uaMenuFeatureFade{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes uaMenuCloseFade{from{opacity:0}to{opacity:1}}
@keyframes uaMenuLogoBlur{0%{opacity:0;filter:blur(18px);transform:scale(.985)}100%{opacity:1;filter:blur(0);transform:scale(1)}}
@keyframes uaMenuMobileJa{0%{opacity:0;transform:translateX(-58px)}70%{opacity:1;transform:translateX(4px)}100%{opacity:1;transform:translateX(0)}}
@keyframes uaMenuMobileEn{from{opacity:0}to{opacity:1}}
@keyframes uaMenuRuleFlow{from{transform:scaleX(0)}to{transform:scaleX(1)}}

@media (min-width:901px){
  /* Desktop: alternate the four menu rows, then reveal the latest article, then the close button. */
  .ua-drawer-links a{opacity:0;will-change:transform,opacity}
  .ua-drawer.is-open .ua-drawer-links a:nth-child(odd){animation:uaMenuSlideFromLeft .56s cubic-bezier(.2,.8,.2,1) both}
  .ua-drawer.is-open .ua-drawer-links a:nth-child(even){animation:uaMenuSlideFromRight .56s cubic-bezier(.2,.8,.2,1) both}
  .ua-drawer.is-open .ua-drawer-links a:nth-child(1){animation-delay:.18s}
  .ua-drawer.is-open .ua-drawer-links a:nth-child(2){animation-delay:.38s}
  .ua-drawer.is-open .ua-drawer-links a:nth-child(3){animation-delay:.58s}
  .ua-drawer.is-open .ua-drawer-links a:nth-child(4){animation-delay:.78s}

  .ua-drawer-feature{opacity:0;will-change:transform,opacity}
  .ua-drawer.is-open .ua-drawer-feature{animation:uaMenuFeatureFade 1.15s cubic-bezier(.22,.61,.36,1) 1.38s both}

  .ua-drawer-close{opacity:0;pointer-events:none;will-change:opacity}
  .ua-drawer.is-open .ua-drawer-close{animation:uaMenuCloseFade .58s ease 2.62s both;pointer-events:auto}
}

@media (max-width:900px){
  /* Mobile phase 1: logo appears slowly through blur. */
  .ua-drawer-brand{opacity:0;filter:blur(18px);will-change:opacity,filter,transform}
  .ua-drawer.is-open .ua-drawer-brand{animation:uaMenuLogoBlur 1.05s cubic-bezier(.22,.61,.36,1) .18s both}

  /* Phase 2: Japanese labels shoot in from the left, one after another. */
  .ua-drawer-links a{position:relative;border-bottom:0!important;overflow:hidden}
  .ua-drawer-links strong{opacity:0;will-change:transform,opacity}
  .ua-drawer.is-open .ua-drawer-links a:nth-child(1) strong{animation:uaMenuMobileJa .46s cubic-bezier(.16,1,.3,1) 1.30s both}
  .ua-drawer.is-open .ua-drawer-links a:nth-child(2) strong{animation:uaMenuMobileJa .46s cubic-bezier(.16,1,.3,1) 1.50s both}
  .ua-drawer.is-open .ua-drawer-links a:nth-child(3) strong{animation:uaMenuMobileJa .46s cubic-bezier(.16,1,.3,1) 1.70s both}
  .ua-drawer.is-open .ua-drawer-links a:nth-child(4) strong{animation:uaMenuMobileJa .46s cubic-bezier(.16,1,.3,1) 1.90s both}

  /* Phase 3: English labels fade in only after the Japanese labels finish. */
  .ua-drawer-links small{opacity:0;will-change:opacity}
  .ua-drawer.is-open .ua-drawer-links a:nth-child(1) small{animation:uaMenuMobileEn .46s ease 2.42s both}
  .ua-drawer.is-open .ua-drawer-links a:nth-child(2) small{animation:uaMenuMobileEn .46s ease 2.57s both}
  .ua-drawer.is-open .ua-drawer-links a:nth-child(3) small{animation:uaMenuMobileEn .46s ease 2.72s both}
  .ua-drawer.is-open .ua-drawer-links a:nth-child(4) small{animation:uaMenuMobileEn .46s ease 2.87s both}

  /* Phase 4: each divider grows from left to right. */
  .ua-drawer-links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:#111;transform:scaleX(0);transform-origin:left center;will-change:transform}
  .ua-drawer.is-open .ua-drawer-links a:nth-child(1)::after{animation:uaMenuRuleFlow .52s cubic-bezier(.22,.61,.36,1) 3.34s both}
  .ua-drawer.is-open .ua-drawer-links a:nth-child(2)::after{animation:uaMenuRuleFlow .52s cubic-bezier(.22,.61,.36,1) 3.49s both}
  .ua-drawer.is-open .ua-drawer-links a:nth-child(3)::after{animation:uaMenuRuleFlow .52s cubic-bezier(.22,.61,.36,1) 3.64s both}
  .ua-drawer.is-open .ua-drawer-links a:nth-child(4)::after{animation:uaMenuRuleFlow .52s cubic-bezier(.22,.61,.36,1) 3.79s both}

  /* Phase 5: close button appears only after every preceding animation is complete. */
  .ua-drawer-close{opacity:0;pointer-events:none;will-change:opacity}
  .ua-drawer.is-open .ua-drawer-close{animation:uaMenuCloseFade .58s ease 4.42s both;pointer-events:auto}
}




/* v1.8.9: align open/close controls, contain desktop feature image, lock desktop menu viewport */
@media (min-width:901px){
  html.ua-menu-open,html.ua-menu-open body{overflow:hidden!important;height:100%!important;overscroll-behavior:none!important}
  .ua-menu-button,.ua-drawer-close{width:58px!important;height:42px!important;min-width:58px!important;min-height:42px!important;max-width:58px!important;max-height:42px!important;flex:0 0 58px!important}
  .ua-drawer-panel{padding:26px 34px 22px 26px!important;overflow:hidden!important}
  .ua-drawer-top{align-items:flex-start!important}
  .ua-drawer-close{margin:0!important}
  .ua-drawer-close span{left:7px!important;top:18px!important;width:44px!important;height:6px!important}
  .ua-drawer-layout{min-height:0!important;overflow:hidden!important}
  .ua-drawer-menu-column,.ua-drawer-feature{min-height:0!important}
  .ua-drawer-feature-image{height:clamp(250px,38vh,430px)!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}
  .ua-drawer-feature-image img{width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important;object-position:center!important;background:#fff!important}
}
@media (max-width:900px){
  .ua-menu-button,.ua-drawer-close{width:48px!important;height:36px!important;min-width:48px!important;min-height:36px!important;max-width:48px!important;max-height:36px!important;flex:0 0 48px!important}
  .ua-drawer-panel{padding:20px 18px 22px!important}
  .ua-drawer-top{align-items:flex-start!important}
  .ua-drawer-close{margin:0!important}
  .ua-drawer-close span{left:5px!important;top:15px!important;width:38px!important;height:5px!important}
}


/* v1.8.10: slower desktop menu sequence + exact mobile header/control alignment */
@media (min-width:901px){
  /* Give each alternating desktop menu row substantially more time to travel into place. */
  .ua-drawer.is-open .ua-drawer-links a:nth-child(odd){
    animation-name:uaMenuSlideFromLeft!important;
    animation-duration:1.15s!important;
    animation-timing-function:cubic-bezier(.2,.8,.2,1)!important;
    animation-fill-mode:both!important
  }
  .ua-drawer.is-open .ua-drawer-links a:nth-child(even){
    animation-name:uaMenuSlideFromRight!important;
    animation-duration:1.15s!important;
    animation-timing-function:cubic-bezier(.2,.8,.2,1)!important;
    animation-fill-mode:both!important
  }
  .ua-drawer.is-open .ua-drawer-links a:nth-child(1){animation-delay:.35s!important}
  .ua-drawer.is-open .ua-drawer-links a:nth-child(2){animation-delay:.85s!important}
  .ua-drawer.is-open .ua-drawer-links a:nth-child(3){animation-delay:1.35s!important}
  .ua-drawer.is-open .ua-drawer-links a:nth-child(4){animation-delay:1.85s!important}

  /* Latest article starts only after the four menu rows have settled, then fades in slowly. */
  .ua-drawer.is-open .ua-drawer-feature{
    animation:uaMenuFeatureFade 2.2s cubic-bezier(.22,.61,.36,1) 3.45s both!important
  }

  /* Close button remains the final element in the sequence. */
  .ua-drawer.is-open .ua-drawer-close{
    animation:uaMenuCloseFade .8s ease 6.05s both!important;
    pointer-events:auto
  }
}

@media (max-width:900px){
  /* The open menu header occupies exactly the same 76px header band as the closed header. */
  .ua-drawer-panel{padding:0 18px 22px!important}
  .ua-drawer-top{
    height:76px!important;
    min-height:76px!important;
    padding:0!important;
    align-items:center!important;
    border-bottom:3px solid #111!important
  }

  /* Match the open-menu logo to the closed header logo: same left edge and same rendered limits. */
  .ua-drawer-brand{
    display:flex!important;
    align-items:center!important;
    width:auto!important;
    max-width:min(220px,62vw)!important;
    height:100%!important;
    line-height:0!important
  }
  .ua-drawer-brand img{
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-width:min(220px,62vw)!important;
    max-height:30px!important;
    object-fit:contain!important;
    object-position:left center!important
  }

  /* Match the close control to the closed-state hamburger control exactly. */
  .ua-drawer-close{
    width:48px!important;
    height:36px!important;
    min-width:48px!important;
    min-height:36px!important;
    max-width:48px!important;
    max-height:36px!important;
    flex:0 0 48px!important;
    margin:0!important;
    align-self:center!important
  }

  /* Keep Japanese and English labels on the exact same left guide. */
  .ua-drawer-links a{padding-left:8px!important;padding-right:8px!important}
  .ua-drawer-links strong,
  .ua-drawer-links small{
    display:block!important;
    width:100%!important;
    margin-left:0!important;
    padding-left:0!important;
    text-align:left!important;
    align-self:flex-start!important
  }
  .ua-drawer-links small{margin-right:0!important}
}


/* v1.8.11: desktop menu/header alignment, edge-to-edge feature image, strict no-scroll menu, mobile footer alignment */
@media (min-width:901px){
  /* The full-screen menu header mirrors the fixed site header exactly. */
  html.ua-menu-open,
  html.ua-menu-open body{
    overflow:hidden!important;
    height:100%!important;
    max-height:100%!important;
    overscroll-behavior:none!important;
    touch-action:none!important
  }
  .ua-drawer,
  .ua-drawer.is-open,
  .ua-drawer-panel{
    overflow:hidden!important;
    overscroll-behavior:none!important
  }
  .ua-drawer-panel{
    height:100dvh!important;
    max-height:100dvh!important;
    padding:0 34px 18px 26px!important
  }
  .ua-drawer-top{
    height:94px!important;
    min-height:94px!important;
    max-height:94px!important;
    padding:0!important;
    align-items:center!important;
    border-bottom:4px solid #111!important;
    flex:0 0 94px!important
  }
  .ua-drawer-brand{
    display:flex!important;
    align-items:center!important;
    width:auto!important;
    max-width:min(330px,42vw)!important;
    height:100%!important;
    line-height:0!important
  }
  .ua-drawer-brand img{
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-width:min(330px,42vw)!important;
    max-height:42px!important;
    object-fit:contain!important;
    object-position:left center!important
  }
  .ua-menu-button,
  .ua-drawer-close{
    width:58px!important;
    height:42px!important;
    min-width:58px!important;
    min-height:42px!important;
    max-width:58px!important;
    max-height:42px!important;
    flex:0 0 58px!important;
    margin:0!important
  }
  .ua-drawer-close{align-self:center!important}

  /* Keep every part of the opened menu inside the viewport with no internal scroll area. */
  .ua-drawer-layout{
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
    padding:clamp(24px,4.4vh,48px) 22px clamp(16px,2.8vh,30px) 10px!important;
    align-items:start!important
  }
  .ua-drawer-menu-column,
  .ua-drawer-feature{
    min-height:0!important;
    max-height:100%!important;
    overflow:hidden!important
  }
  .ua-drawer-links a{
    padding:clamp(13px,2.5vh,25px) 10px clamp(15px,2.7vh,27px)!important
  }
  .ua-drawer-links a:first-child{padding-top:clamp(4px,.8vh,8px)!important}

  /* Latest article image fills the frame edge-to-edge with no inner gap. */
  .ua-drawer-feature-image{
    display:block!important;
    width:100%!important;
    height:clamp(180px,30vh,340px)!important;
    padding:0!important;
    margin:0!important;
    border:2px solid #111!important;
    background:#fff!important;
    line-height:0!important;
    overflow:hidden!important
  }
  .ua-drawer-feature-image img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    object-fit:cover!important;
    object-position:center!important;
    background:#fff!important
  }
  .ua-drawer-feature-meta{margin:clamp(12px,2vh,20px) 0 8px!important}
  .ua-drawer-feature h2{
    font-size:clamp(24px,2.2vw,42px)!important;
    line-height:1.3!important;
    padding-bottom:clamp(10px,1.6vh,15px)!important;
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important
  }
  .ua-drawer-feature p{
    margin:10px 0 0!important;
    line-height:1.75!important;
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important
  }
  .ua-drawer-feature-read{margin-top:clamp(10px,1.7vh,18px)!important}
  .ua-drawer-foot{
    min-height:28px!important;
    padding:10px 10px 0!important;
    flex:0 0 auto!important;
    overflow:hidden!important
  }
}

@media (max-width:900px){
  /* Mobile footer menu: larger labels aligned to the left edge. */
  .ua-footer-nav{
    align-items:stretch!important;
    text-align:left!important
  }
  .ua-footer-nav a{
    justify-content:flex-start!important;
    text-align:left!important;
    font-size:14px!important;
    line-height:1.65!important;
    padding:15px 2px!important
  }
}


/* v1.8.12: mobile drawer header mirrors the closed header + exact label left alignment */
@keyframes uaMenuLogoBlurHeader{
  0%{opacity:0;filter:blur(18px)}
  100%{opacity:1;filter:blur(0)}
}
@media (max-width:900px){
  /* Treat the opened drawer's top band as the same fixed header, rather than a separate block. */
  .ua-drawer-panel{
    padding:76px 18px 22px!important;
  }
  .ua-drawer-top{
    position:absolute!important;
    top:0!important;
    left:0!important;
    right:0!important;
    z-index:4!important;
    width:100%!important;
    height:76px!important;
    min-height:76px!important;
    max-height:76px!important;
    padding:0 18px!important;
    margin:0!important;
    background:#fff!important;
    border-bottom:1px solid #111!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    overflow:visible!important;
  }
  .ua-drawer-brand{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:auto!important;
    max-width:min(220px,62vw)!important;
    height:76px!important;
    min-height:76px!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    line-height:0!important;
  }
  .ua-drawer-brand img{
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-width:min(220px,62vw)!important;
    max-height:30px!important;
    margin:0!important;
    padding:0!important;
    object-fit:contain!important;
    object-position:left center!important;
    position:relative!important;
    top:0!important;
  }
  .ua-drawer.is-open .ua-drawer-brand{
    animation:uaMenuLogoBlurHeader 1.05s cubic-bezier(.22,.61,.36,1) .18s both!important;
    transform:none!important;
  }
  .ua-drawer-close{
    width:48px!important;
    height:36px!important;
    min-width:48px!important;
    min-height:36px!important;
    max-width:48px!important;
    max-height:36px!important;
    flex:0 0 48px!important;
    margin:0!important;
    padding:0!important;
    align-self:center!important;
  }

  /* Japanese and English labels share one exact left guide. */
  .ua-drawer-links a{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  .ua-drawer-links strong,
  .ua-drawer-links small{
    display:block!important;
    width:auto!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
    text-indent:0!important;
    text-align:left!important;
    align-self:flex-start!important;
    transform-origin:left center!important;
  }
}

/* v1.8.13: keep the real header visible while menu is open + slower staged menu */
/* The opened menu now sits underneath the actual fixed header. This guarantees that
   the logo never shifts upward or gets clipped on either desktop or mobile. */
.ua-header{z-index:140!important}
.ua-drawer{z-index:120!important}
.ua-drawer-top{display:none!important}
.ua-menu-button{position:relative!important}
html.ua-menu-open .ua-menu-button img{opacity:0!important}
html.ua-menu-open .ua-menu-button::before,
html.ua-menu-open .ua-menu-button::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:44px;
  height:6px;
  background:#111;
  transform-origin:center;
  opacity:0;
  border-radius:0;
}
html.ua-menu-open .ua-menu-button::before{transform:translate(-50%,-50%) rotate(45deg)}
html.ua-menu-open .ua-menu-button::after{transform:translate(-50%,-50%) rotate(-45deg)}
.ua-drawer-close{display:none!important}

@media (min-width:901px){
  /* Use the exact normal 94px header as the visible top band. */
  .ua-drawer-panel{
    padding:94px 34px 18px 26px!important;
    height:100dvh!important;
    max-height:100dvh!important;
    overflow:hidden!important;
  }
  .ua-drawer-layout{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow:hidden!important;
  }

  /* Japanese and English labels start on exactly the same left guide. */
  .ua-drawer-links a{
    align-items:flex-start!important;
    padding-left:10px!important;
    padding-right:10px!important;
  }
  .ua-drawer-links strong,
  .ua-drawer-links small{
    display:block!important;
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
    text-indent:0!important;
    text-align:left!important;
    align-self:flex-start!important;
  }

  /* Keep the complete latest-article thumbnail visible. */
  .ua-drawer-feature-image{
    height:clamp(180px,30vh,340px)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0!important;
    overflow:hidden!important;
    background:#fff!important;
  }
  .ua-drawer-feature-image img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
  }

  /* Much slower alternating menu entrance. */
  .ua-drawer.is-open .ua-drawer-links a:nth-child(odd){
    animation:uaMenuSlideFromLeft 2.2s cubic-bezier(.2,.8,.2,1) both!important;
  }
  .ua-drawer.is-open .ua-drawer-links a:nth-child(even){
    animation:uaMenuSlideFromRight 2.2s cubic-bezier(.2,.8,.2,1) both!important;
  }
  .ua-drawer.is-open .ua-drawer-links a:nth-child(1){animation-delay:.55s!important}
  .ua-drawer.is-open .ua-drawer-links a:nth-child(2){animation-delay:1.65s!important}
  .ua-drawer.is-open .ua-drawer-links a:nth-child(3){animation-delay:2.75s!important}
  .ua-drawer.is-open .ua-drawer-links a:nth-child(4){animation-delay:3.85s!important}

  /* Latest article fades in only after the menu rows have settled. */
  .ua-drawer.is-open .ua-drawer-feature{
    animation:uaMenuFeatureFade 3.4s cubic-bezier(.22,.61,.36,1) 6.55s both!important;
  }

  /* The X occupies the exact hamburger button box and appears last. */
  html.ua-menu-open .ua-menu-button::before,
  html.ua-menu-open .ua-menu-button::after{
    animation:uaMenuCloseFade 1.2s ease 10.25s both!important;
  }
}

@media (max-width:900px){
  /* Keep the actual 76px mobile header visible; drawer content starts below it. */
  .ua-drawer-panel{
    padding:76px 18px 22px!important;
    height:100dvh!important;
    max-height:100dvh!important;
  }

  /* Preserve the requested logo blur, but animate the real header logo in place. */
  html.ua-menu-open .ua-header .ua-brand-logo{
    animation:uaMenuLogoBlurHeader 2.6s cubic-bezier(.22,.61,.36,1) .25s both!important;
  }

  /* Japanese and English labels share exactly one left edge. */
  .ua-drawer-links a{
    align-items:flex-start!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  .ua-drawer-links strong,
  .ua-drawer-links small{
    display:block!important;
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
    text-indent:0!important;
    text-align:left!important;
    align-self:flex-start!important;
  }

  /* Much slower mobile sequence: Japanese -> English -> rules -> X. */
  .ua-drawer.is-open .ua-drawer-links a:nth-child(1) strong{animation:uaMenuMobileJa 1.55s cubic-bezier(.16,1,.3,1) 3.20s both!important}
  .ua-drawer.is-open .ua-drawer-links a:nth-child(2) strong{animation:uaMenuMobileJa 1.55s cubic-bezier(.16,1,.3,1) 4.25s both!important}
  .ua-drawer.is-open .ua-drawer-links a:nth-child(3) strong{animation:uaMenuMobileJa 1.55s cubic-bezier(.16,1,.3,1) 5.30s both!important}
  .ua-drawer.is-open .ua-drawer-links a:nth-child(4) strong{animation:uaMenuMobileJa 1.55s cubic-bezier(.16,1,.3,1) 6.35s both!important}

  .ua-drawer.is-open .ua-drawer-links a:nth-child(1) small{animation:uaMenuMobileEn 1.35s ease 8.25s both!important}
  .ua-drawer.is-open .ua-drawer-links a:nth-child(2) small{animation:uaMenuMobileEn 1.35s ease 8.70s both!important}
  .ua-drawer.is-open .ua-drawer-links a:nth-child(3) small{animation:uaMenuMobileEn 1.35s ease 9.15s both!important}
  .ua-drawer.is-open .ua-drawer-links a:nth-child(4) small{animation:uaMenuMobileEn 1.35s ease 9.60s both!important}

  .ua-drawer.is-open .ua-drawer-links a:nth-child(1)::after{animation:uaMenuRuleFlow 1.25s cubic-bezier(.22,.61,.36,1) 11.25s both!important}
  .ua-drawer.is-open .ua-drawer-links a:nth-child(2)::after{animation:uaMenuRuleFlow 1.25s cubic-bezier(.22,.61,.36,1) 11.70s both!important}
  .ua-drawer.is-open .ua-drawer-links a:nth-child(3)::after{animation:uaMenuRuleFlow 1.25s cubic-bezier(.22,.61,.36,1) 12.15s both!important}
  .ua-drawer.is-open .ua-drawer-links a:nth-child(4)::after{animation:uaMenuRuleFlow 1.25s cubic-bezier(.22,.61,.36,1) 12.60s both!important}

  html.ua-menu-open .ua-menu-button::before,
  html.ua-menu-open .ua-menu-button::after{
    width:38px;
    height:5px;
    animation:uaMenuCloseFade 1.05s ease 14.20s both!important;
  }
}


/* v1.8.14: deterministic hamburger animation replay, especially on mobile */
/* The animation sequence is started by JS only after the drawer has painted once.
   This avoids mobile browsers skipping the initial state on the first/open-again paint. */
@media (max-width:900px){
  /* Before the sequence class is attached, keep every animated part in its true start state. */
  html.ua-menu-open:not(.ua-menu-sequence-mobile) .ua-header .ua-brand-logo{
    opacity:0!important;
    filter:blur(24px)!important;
    transform:none!important;
  }
  .ua-drawer.is-open:not(.ua-menu-sequence-mobile) .ua-drawer-links strong,
  .ua-drawer.is-open:not(.ua-menu-sequence-mobile) .ua-drawer-links small{
    opacity:0!important;
    animation:none!important;
  }
  .ua-drawer.is-open:not(.ua-menu-sequence-mobile) .ua-drawer-links a::after{
    transform:scaleX(0)!important;
    animation:none!important;
  }
  html.ua-menu-open:not(.ua-menu-sequence-mobile) .ua-menu-button::before,
  html.ua-menu-open:not(.ua-menu-sequence-mobile) .ua-menu-button::after{
    opacity:0!important;
    animation:none!important;
  }

  /* Phase 1: real header logo resolves slowly from blur, in its normal header position. */
  html.ua-menu-sequence-mobile .ua-header .ua-brand-logo{
    animation:uaMenuLogoBlurHeader 3.2s cubic-bezier(.22,.61,.36,1) .35s both!important;
    will-change:opacity,filter!important;
  }

  /* Phase 2: Japanese labels enter slowly from the left, one after another. */
  .ua-drawer.ua-menu-sequence-mobile .ua-drawer-links strong{
    will-change:opacity,transform!important;
  }
  .ua-drawer.ua-menu-sequence-mobile .ua-drawer-links a:nth-child(1) strong{animation:uaMenuMobileJa 1.9s cubic-bezier(.16,1,.3,1) 4.15s both!important}
  .ua-drawer.ua-menu-sequence-mobile .ua-drawer-links a:nth-child(2) strong{animation:uaMenuMobileJa 1.9s cubic-bezier(.16,1,.3,1) 5.45s both!important}
  .ua-drawer.ua-menu-sequence-mobile .ua-drawer-links a:nth-child(3) strong{animation:uaMenuMobileJa 1.9s cubic-bezier(.16,1,.3,1) 6.75s both!important}
  .ua-drawer.ua-menu-sequence-mobile .ua-drawer-links a:nth-child(4) strong{animation:uaMenuMobileJa 1.9s cubic-bezier(.16,1,.3,1) 8.05s both!important}

  /* Phase 3: English labels fade in after the Japanese sequence. */
  .ua-drawer.ua-menu-sequence-mobile .ua-drawer-links small{will-change:opacity!important}
  .ua-drawer.ua-menu-sequence-mobile .ua-drawer-links a:nth-child(1) small{animation:uaMenuMobileEn 1.65s ease 10.55s both!important}
  .ua-drawer.ua-menu-sequence-mobile .ua-drawer-links a:nth-child(2) small{animation:uaMenuMobileEn 1.65s ease 11.05s both!important}
  .ua-drawer.ua-menu-sequence-mobile .ua-drawer-links a:nth-child(3) small{animation:uaMenuMobileEn 1.65s ease 11.55s both!important}
  .ua-drawer.ua-menu-sequence-mobile .ua-drawer-links a:nth-child(4) small{animation:uaMenuMobileEn 1.65s ease 12.05s both!important}

  /* Phase 4: divider lines draw from left to right. */
  .ua-drawer.ua-menu-sequence-mobile .ua-drawer-links a::after{transform-origin:left center!important}
  .ua-drawer.ua-menu-sequence-mobile .ua-drawer-links a:nth-child(1)::after{animation:uaMenuRuleFlow 1.45s cubic-bezier(.22,.61,.36,1) 14.05s both!important}
  .ua-drawer.ua-menu-sequence-mobile .ua-drawer-links a:nth-child(2)::after{animation:uaMenuRuleFlow 1.45s cubic-bezier(.22,.61,.36,1) 14.55s both!important}
  .ua-drawer.ua-menu-sequence-mobile .ua-drawer-links a:nth-child(3)::after{animation:uaMenuRuleFlow 1.45s cubic-bezier(.22,.61,.36,1) 15.05s both!important}
  .ua-drawer.ua-menu-sequence-mobile .ua-drawer-links a:nth-child(4)::after{animation:uaMenuRuleFlow 1.45s cubic-bezier(.22,.61,.36,1) 15.55s both!important}

  /* Phase 5: X appears only after every menu animation has finished. */
  html.ua-menu-sequence-mobile .ua-menu-button::before,
  html.ua-menu-sequence-mobile .ua-menu-button::after{
    animation:uaMenuCloseFade 1.5s ease 17.55s both!important;
    will-change:opacity!important;
  }
}

/* v1.8.15: desktop drawer latest thumbnail matches the text column width and shows the whole image */
@media (min-width:901px){
  .ua-drawer-feature-image{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    padding:0!important;
    margin:0!important;
    border:2px solid #111!important;
    background:#fff!important;
    overflow:hidden!important;
    line-height:0!important;
    box-sizing:border-box!important;
  }
  .ua-drawer-feature-image img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    object-fit:contain!important;
    object-position:center center!important;
    background:#fff!important;
  }
}
\n\n/* v1.8.16: exact shared left guide for Japanese + English hamburger labels on desktop/mobile */
.ua-drawer-links a{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
}
.ua-drawer-label-copy{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  box-sizing:border-box!important;
  text-align:left!important;
}
.ua-drawer-label-copy>strong,
.ua-drawer-label-copy>small{
  display:block!important;
  position:relative!important;
  left:0!important;
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  text-indent:0!important;
  text-align:left!important;
  align-self:flex-start!important;
  box-sizing:border-box!important;
}
.ua-drawer-label-copy>small{margin-top:11px!important}
@media (max-width:900px){
  .ua-drawer-label-copy>small{margin-top:8px!important}
}

/* v1.8.17: animated hamburger-menu exit sequence */
@keyframes uaMenuExitX{from{opacity:1}to{opacity:0}}
@keyframes uaMenuExitFeature{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(22px)}}
@keyframes uaMenuExitLeft{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-76px)}}
@keyframes uaMenuExitRight{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(76px)}}
@keyframes uaMenuExitEnglish{from{opacity:1}to{opacity:0}}
@keyframes uaMenuExitJapanese{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-72px)}}
@keyframes uaMenuExitRule{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@keyframes uaMenuExitPanel{from{opacity:1}to{opacity:0}}

.ua-drawer.ua-menu-closing{
  pointer-events:none!important;
  opacity:1!important;
  visibility:visible!important;
}
html.ua-menu-closing .ua-menu-button{pointer-events:none!important}

@media (min-width:901px){
  /* X disappears first, followed by the article and alternating menu rows. */
  html.ua-menu-closing-desktop .ua-menu-button::before,
  html.ua-menu-closing-desktop .ua-menu-button::after{
    animation:uaMenuExitX .8s ease 0s both!important;
  }
  .ua-drawer.ua-menu-closing-desktop .ua-drawer-feature{
    animation:uaMenuExitFeature .95s cubic-bezier(.4,0,.2,1) .22s both!important;
  }
  .ua-drawer.ua-menu-closing-desktop .ua-drawer-links a:nth-child(4){animation:uaMenuExitRight .78s cubic-bezier(.4,0,.2,1) 1.02s both!important}
  .ua-drawer.ua-menu-closing-desktop .ua-drawer-links a:nth-child(3){animation:uaMenuExitLeft .78s cubic-bezier(.4,0,.2,1) 1.30s both!important}
  .ua-drawer.ua-menu-closing-desktop .ua-drawer-links a:nth-child(2){animation:uaMenuExitRight .78s cubic-bezier(.4,0,.2,1) 1.58s both!important}
  .ua-drawer.ua-menu-closing-desktop .ua-drawer-links a:nth-child(1){animation:uaMenuExitLeft .78s cubic-bezier(.4,0,.2,1) 1.86s both!important}
  .ua-drawer.ua-menu-closing-desktop .ua-drawer-panel{
    animation:uaMenuExitPanel .72s ease 2.55s both!important;
  }
}

@media (max-width:900px){
  /* Mobile closes in the reverse visual order of the opening sequence. */
  html.ua-menu-closing-mobile .ua-menu-button::before,
  html.ua-menu-closing-mobile .ua-menu-button::after{
    animation:uaMenuExitX .8s ease 0s both!important;
  }
  .ua-drawer.ua-menu-closing-mobile .ua-drawer-links a:nth-child(4)::after{animation:uaMenuExitRule .8s cubic-bezier(.4,0,.2,1) .20s both!important}
  .ua-drawer.ua-menu-closing-mobile .ua-drawer-links a:nth-child(3)::after{animation:uaMenuExitRule .8s cubic-bezier(.4,0,.2,1) .35s both!important}
  .ua-drawer.ua-menu-closing-mobile .ua-drawer-links a:nth-child(2)::after{animation:uaMenuExitRule .8s cubic-bezier(.4,0,.2,1) .50s both!important}
  .ua-drawer.ua-menu-closing-mobile .ua-drawer-links a:nth-child(1)::after{animation:uaMenuExitRule .8s cubic-bezier(.4,0,.2,1) .65s both!important}

  .ua-drawer.ua-menu-closing-mobile .ua-drawer-links a:nth-child(4) small{animation:uaMenuExitEnglish .75s ease 1.20s both!important}
  .ua-drawer.ua-menu-closing-mobile .ua-drawer-links a:nth-child(3) small{animation:uaMenuExitEnglish .75s ease 1.38s both!important}
  .ua-drawer.ua-menu-closing-mobile .ua-drawer-links a:nth-child(2) small{animation:uaMenuExitEnglish .75s ease 1.56s both!important}
  .ua-drawer.ua-menu-closing-mobile .ua-drawer-links a:nth-child(1) small{animation:uaMenuExitEnglish .75s ease 1.74s both!important}

  .ua-drawer.ua-menu-closing-mobile .ua-drawer-links a:nth-child(4) strong{animation:uaMenuExitJapanese 1.05s cubic-bezier(.4,0,.2,1) 2.35s both!important}
  .ua-drawer.ua-menu-closing-mobile .ua-drawer-links a:nth-child(3) strong{animation:uaMenuExitJapanese 1.05s cubic-bezier(.4,0,.2,1) 2.62s both!important}
  .ua-drawer.ua-menu-closing-mobile .ua-drawer-links a:nth-child(2) strong{animation:uaMenuExitJapanese 1.05s cubic-bezier(.4,0,.2,1) 2.89s both!important}
  .ua-drawer.ua-menu-closing-mobile .ua-drawer-links a:nth-child(1) strong{animation:uaMenuExitJapanese 1.05s cubic-bezier(.4,0,.2,1) 3.16s both!important}

  .ua-drawer.ua-menu-closing-mobile .ua-drawer-panel{
    animation:uaMenuExitPanel .78s ease 4.72s both!important;
  }
}


/* v1.8.18: underline article titles on hover/focus across every article list */
.ua-article-grid .ua-card h2 a:hover,
.ua-article-grid .ua-card h2 a:focus-visible{
  text-decoration:underline!important;
  text-underline-offset:4px;
  text-decoration-thickness:1px;
}

/* v1.8.19: hamburger labels rebuilt on a single physical left guide.
   Markup no longer uses strong/small, so all historical strong/small rules are inert. */
.ua-drawer-links .ua-drawer-label-copy{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  justify-items:start!important;
  align-items:start!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  box-sizing:border-box!important;
  text-align:left!important;
}
.ua-drawer-links .ua-drawer-label-ja,
.ua-drawer-links .ua-drawer-label-en{
  grid-column:1!important;
  justify-self:start!important;
  align-self:start!important;
  display:block!important;
  position:relative!important;
  inset-inline-start:0!important;
  left:0!important;
  right:auto!important;
  width:auto!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  text-indent:0!important;
  text-align:left!important;
  box-sizing:border-box!important;
  transform-origin:left center!important;
}
.ua-drawer-links .ua-drawer-label-ja{
  margin-top:0!important;
  margin-bottom:0!important;
  font-family:var(--ua-font)!important;
  font-size:clamp(35px,3.3vw,62px)!important;
  line-height:1.13!important;
  font-weight:800!important;
  letter-spacing:-.045em!important;
}
.ua-drawer-links .ua-drawer-label-en{
  margin-top:11px!important;
  margin-bottom:0!important;
  font-family:var(--ua-font)!important;
  font-size:clamp(13px,1.1vw,19px)!important;
  line-height:1.2!important;
  font-weight:400!important;
  letter-spacing:.01em!important;
}
.ua-drawer-links a:hover .ua-drawer-label-ja,
.ua-drawer-links a:focus-visible .ua-drawer-label-ja{
  text-decoration:underline;
  text-decoration-thickness:3px;
  text-underline-offset:8px;
}

/* Mobile: new labels participate in the deterministic v1.8.14 sequence. */
@media (max-width:900px){
  .ua-drawer-links .ua-drawer-label-ja{
    font-size:clamp(42px,12.2vw,62px)!important;
    line-height:1.16!important;
    letter-spacing:-.055em!important;
  }
  .ua-drawer-links .ua-drawer-label-en{
    margin-top:8px!important;
    font-size:14px!important;
  }

  .ua-drawer.is-open:not(.ua-menu-sequence-mobile) .ua-drawer-label-ja,
  .ua-drawer.is-open:not(.ua-menu-sequence-mobile) .ua-drawer-label-en{
    opacity:0!important;
    animation:none!important;
  }

  .ua-drawer.ua-menu-sequence-mobile .ua-drawer-label-ja{will-change:opacity,transform!important}
  .ua-drawer.ua-menu-sequence-mobile .ua-drawer-links a:nth-child(1) .ua-drawer-label-ja{animation:uaMenuMobileJa 1.9s cubic-bezier(.16,1,.3,1) 4.15s both!important}
  .ua-drawer.ua-menu-sequence-mobile .ua-drawer-links a:nth-child(2) .ua-drawer-label-ja{animation:uaMenuMobileJa 1.9s cubic-bezier(.16,1,.3,1) 5.45s both!important}
  .ua-drawer.ua-menu-sequence-mobile .ua-drawer-links a:nth-child(3) .ua-drawer-label-ja{animation:uaMenuMobileJa 1.9s cubic-bezier(.16,1,.3,1) 6.75s both!important}
  .ua-drawer.ua-menu-sequence-mobile .ua-drawer-links a:nth-child(4) .ua-drawer-label-ja{animation:uaMenuMobileJa 1.9s cubic-bezier(.16,1,.3,1) 8.05s both!important}

  .ua-drawer.ua-menu-sequence-mobile .ua-drawer-label-en{will-change:opacity!important}
  .ua-drawer.ua-menu-sequence-mobile .ua-drawer-links a:nth-child(1) .ua-drawer-label-en{animation:uaMenuMobileEn 1.65s ease 10.55s both!important}
  .ua-drawer.ua-menu-sequence-mobile .ua-drawer-links a:nth-child(2) .ua-drawer-label-en{animation:uaMenuMobileEn 1.65s ease 11.05s both!important}
  .ua-drawer.ua-menu-sequence-mobile .ua-drawer-links a:nth-child(3) .ua-drawer-label-en{animation:uaMenuMobileEn 1.65s ease 11.55s both!important}
  .ua-drawer.ua-menu-sequence-mobile .ua-drawer-links a:nth-child(4) .ua-drawer-label-en{animation:uaMenuMobileEn 1.65s ease 12.05s both!important}

  .ua-drawer.ua-menu-closing-mobile .ua-drawer-links a:nth-child(4) .ua-drawer-label-en{animation:uaMenuExitEnglish .75s ease 1.20s both!important}
  .ua-drawer.ua-menu-closing-mobile .ua-drawer-links a:nth-child(3) .ua-drawer-label-en{animation:uaMenuExitEnglish .75s ease 1.38s both!important}
  .ua-drawer.ua-menu-closing-mobile .ua-drawer-links a:nth-child(2) .ua-drawer-label-en{animation:uaMenuExitEnglish .75s ease 1.56s both!important}
  .ua-drawer.ua-menu-closing-mobile .ua-drawer-links a:nth-child(1) .ua-drawer-label-en{animation:uaMenuExitEnglish .75s ease 1.74s both!important}

  .ua-drawer.ua-menu-closing-mobile .ua-drawer-links a:nth-child(4) .ua-drawer-label-ja{animation:uaMenuExitJapanese 1.05s cubic-bezier(.4,0,.2,1) 2.35s both!important}
  .ua-drawer.ua-menu-closing-mobile .ua-drawer-links a:nth-child(3) .ua-drawer-label-ja{animation:uaMenuExitJapanese 1.05s cubic-bezier(.4,0,.2,1) 2.62s both!important}
  .ua-drawer.ua-menu-closing-mobile .ua-drawer-links a:nth-child(2) .ua-drawer-label-ja{animation:uaMenuExitJapanese 1.05s cubic-bezier(.4,0,.2,1) 2.89s both!important}
  .ua-drawer.ua-menu-closing-mobile .ua-drawer-links a:nth-child(1) .ua-drawer-label-ja{animation:uaMenuExitJapanese 1.05s cubic-bezier(.4,0,.2,1) 3.16s both!important}
}
@media (max-width:430px){
  .ua-drawer-links .ua-drawer-label-ja{font-size:clamp(38px,11.8vw,52px)!important}
}


/* v1.8.20: seamless drawer-close finalization.
   The exit animation itself already fades the panel to zero. During the JS cleanup
   we suppress the base drawer transition so there is no extra dead/frozen frame. */
.ua-drawer.ua-menu-finalizing{
  transition:none!important;
  animation:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
html.ua-menu-finalizing .ua-menu-button::before,
html.ua-menu-finalizing .ua-menu-button::after{
  animation:none!important;
  opacity:0!important;
}
html.ua-menu-finalizing .ua-menu-button img{opacity:1!important}


/* v1.8.22: optical left-edge correction for the first Japanese drawer label.
   The glyph 「ト」 has visible left side-bearing, so identical CSS coordinates
   still look misaligned against "TOP PAGE". Shift only its ink edge left. */
.ua-drawer-links a:first-child .ua-drawer-label-ja{
  margin-left:-0.14em!important;
}


/* v1.8.23: simplified article detail mast and post metadata */
.ua-story-detail .ua-story-hero-simple{padding-top:46px}
.ua-story-detail .ua-story-hero-simple .ua-story-media{margin:0}
.ua-story-postmeta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px 34px;
  padding:18px 0 20px;
  border-bottom:1px solid #111;
}
.ua-story-postmeta-item{
  display:flex;
  align-items:baseline;
  gap:9px;
  min-width:0;
  font-size:12px;
  line-height:1.5;
}
.ua-story-postmeta-item>span:first-child{
  font-weight:700;
  white-space:nowrap;
}
.ua-story-postmeta-item time,
.ua-story-postmeta-item a,
.ua-story-postmeta-value{
  font-family:var(--ua-font);
  font-weight:500;
}
.ua-story-postmeta-item a{text-decoration:none}
.ua-story-postmeta-item a:hover,
.ua-story-postmeta-item a:focus-visible{text-decoration:underline;text-underline-offset:3px}
.ua-story-detail .ua-story-body{padding-top:54px}
@media (max-width:900px){
  .ua-story-detail .ua-story-hero-simple{padding-top:26px}
  .ua-story-postmeta{display:grid;grid-template-columns:1fr;gap:8px;padding:14px 0 16px}
  .ua-story-postmeta-item{font-size:11px}
  .ua-story-detail .ua-story-body{padding-top:38px}
}

/* v1.8.24: article title below hero image + separated desktop TOC/sidebar */
.ua-story-detail-title{
  margin:24px 0 0;
  font-family:var(--ua-font);
  font-size:34px;
  line-height:1.55;
  font-weight:800;
  letter-spacing:.01em;
}

@media (min-width:901px){
  .ua-article-sidebar{
    position:relative!important;
    top:auto!important;
    align-self:stretch!important;
    max-height:none!important;
    overflow:visible!important;
    overscroll-behavior:auto!important;
    border:0!important;
    background:transparent!important;
    display:flex;
    flex-direction:column;
    gap:24px;
  }
  .ua-sidebar-toc-card{
    position:sticky;
    top:116px;
    z-index:4;
    max-height:calc(100vh - 138px);
    overflow-y:auto;
    overscroll-behavior:contain;
    border:1px solid #111;
    background:#fff;
    padding:24px 22px 26px;
  }
  .ua-sidebar-content-card{
    border:1px solid #111;
    background:#fff;
  }
  .ua-sidebar-title-plain{
    display:block!important;
    grid-template-columns:none!important;
    gap:0!important;
  }
  .ua-sidebar-title-plain>div{
    display:flex;
    flex-direction:column;
    gap:5px;
  }
  .ua-sidebar-toc-card .ua-toc-list{
    padding-top:4px;
  }
  .ua-sidebar-toc-card .ua-toc-list a{
    display:block;
    padding:11px 0;
  }
  .ua-sidebar-latest-plain>a{
    grid-template-columns:82px minmax(0,1fr)!important;
    gap:10px!important;
  }
}

@media (max-width:900px){
  .ua-story-detail-title{
    margin-top:18px;
    font-size:24px;
    line-height:1.6;
  }
}


/* v1.8.25: article-body heading design based on the supplied black-bar reference.
   Article title is intentionally excluded. Every h2/h3 uses the same fit engine. */
.ua-story-main .ua-prose-body h2,
.ua-story-main .ua-prose-body h3,
.ua-story-main .ua-prose-body .section-heading{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:82px!important;
  box-sizing:border-box!important;
  margin:2.7em 0 1.15em!important;
  padding:14px 22px 14px 20px!important;
  border:0!important;
  border-left:0!important;
  border-bottom:0!important;
  border-radius:0!important;
  background:#000!important;
  color:#fff!important;
  font-family:var(--ua-font)!important;
  font-size:var(--ua-heading-fit-size,var(--ua-heading-default-size,28px))!important;
  font-weight:800!important;
  line-height:1.2!important;
  letter-spacing:-.025em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
}
.ua-story-main .ua-prose-body h3{
  --ua-heading-default-size:21px;
}
.ua-story-main .ua-prose-body h2,
.ua-story-main .ua-prose-body .section-heading{
  --ua-heading-default-size:28px;
}
.ua-story-main .ua-prose-body h2::before,
.ua-story-main .ua-prose-body h3::before,
.ua-story-main .ua-prose-body .section-heading::before{
  content:"";
  display:block;
  flex:0 0 auto;
  width:14px;
  height:60px;
  margin:0 22px 0 0;
  border-radius:999px;
  background:#fff;
}
@media (max-width:900px){
  .ua-story-main .ua-prose-body h2,
  .ua-story-main .ua-prose-body h3,
  .ua-story-main .ua-prose-body .section-heading{
    min-height:62px!important;
    margin:2.35em 0 1em!important;
    padding:10px 14px 10px 14px!important;
    font-size:var(--ua-heading-fit-size,var(--ua-heading-default-size,22px))!important;
  }
  .ua-story-main .ua-prose-body h2,
  .ua-story-main .ua-prose-body .section-heading{
    --ua-heading-default-size:22px;
  }
  .ua-story-main .ua-prose-body h3{
    --ua-heading-default-size:17px;
  }
  .ua-story-main .ua-prose-body h2::before,
  .ua-story-main .ua-prose-body h3::before,
  .ua-story-main .ua-prose-body .section-heading::before{
    width:10px;
    height:44px;
    margin-right:14px;
  }
}

/* v1.8.26: article hero separation + truly sticky desktop TOC */
.ua-main.ua-story-detail{
  overflow:visible!important;
}
.ua-story-detail .ua-story-hero-simple .ua-story-media{
  border-top:0!important;
  padding-top:0!important;
}
.ua-story-title-panel{
  display:block;
  margin:26px 0 0;
  padding:0;
}
.ua-story-title-panel .ua-story-detail-title{
  margin:0!important;
}
.ua-story-meta-panel{
  display:block;
  margin:26px 0 0;
  padding:0;
  border-top:1px solid #111;
  border-bottom:1px solid #111;
}
.ua-story-meta-panel .ua-story-postmeta{
  margin:0;
  padding:16px 0;
  border:0!important;
}

@media (min-width:901px){
  .ua-story-detail .ua-story-body{
    overflow:visible!important;
    align-items:start!important;
  }
  .ua-story-detail .ua-article-sidebar{
    position:relative!important;
    top:auto!important;
    display:block!important;
    align-self:stretch!important;
    max-height:none!important;
    overflow:visible!important;
    border:0!important;
    background:transparent!important;
  }
  .ua-sidebar-toc-sticky{
    position:sticky!important;
    top:116px!important;
    z-index:12;
    display:block;
    margin:0 0 28px;
  }
  .ua-sidebar-toc-card{
    position:static!important;
    top:auto!important;
    max-height:calc(100vh - 138px);
    overflow-y:auto;
    overscroll-behavior:contain;
    border:1px solid #111!important;
    background:var(--ua-yellow)!important;
    padding:24px 22px 26px;
  }
  .ua-sidebar-toc-card .ua-sidebar-title{
    border-bottom:1px solid #111!important;
  }
  .ua-sidebar-toc-card .ua-toc-list li{
    border-color:rgba(17,17,17,.35)!important;
  }
  .ua-sidebar-toc-card .ua-toc-list a{
    color:#111;
  }
  .ua-sidebar-content-card{
    position:relative;
    z-index:1;
    margin:0;
    border:1px solid #111;
    background:#fff;
  }
}

@media (max-width:900px){
  .ua-story-title-panel{
    margin-top:18px;
  }
  .ua-story-meta-panel{
    margin-top:18px;
  }
  .ua-story-meta-panel .ua-story-postmeta{
    padding:14px 0 16px;
  }
}

/* v1.8.27: desktop article sidebar follows as one unit; TOC header only is yellow. */
@media (min-width:901px){
  .ua-story-detail .ua-story-body{
    overflow:visible!important;
    align-items:start!important;
  }
  .ua-story-detail .ua-article-sidebar{
    position:sticky!important;
    top:116px!important;
    align-self:start!important;
    display:flex!important;
    flex-direction:column!important;
    gap:24px!important;
    max-height:calc(100vh - 132px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
    border:0!important;
    background:transparent!important;
    scrollbar-width:thin;
  }
  .ua-story-detail .ua-sidebar-toc-sticky{
    position:static!important;
    top:auto!important;
    z-index:auto!important;
    display:block!important;
    flex:0 0 auto;
    margin:0!important;
  }
  .ua-story-detail .ua-sidebar-toc-card{
    position:static!important;
    top:auto!important;
    max-height:none!important;
    overflow:visible!important;
    overscroll-behavior:auto!important;
    border:1px solid #111!important;
    background:#fff!important;
    padding:0!important;
  }
  .ua-story-detail .ua-sidebar-toc-card .ua-sidebar-title{
    margin:0!important;
    padding:18px 22px!important;
    border:0!important;
    border-bottom:1px solid #111!important;
    background:var(--ua-yellow)!important;
  }
  .ua-story-detail .ua-sidebar-toc-card .ua-toc-list{
    margin:0!important;
    padding:4px 22px 18px!important;
    background:#fff!important;
  }
  .ua-story-detail .ua-sidebar-toc-card .ua-toc-list li{
    background:#fff!important;
  }
  .ua-story-detail .ua-sidebar-content-card{
    position:static!important;
    z-index:auto!important;
    flex:0 0 auto;
    margin:0!important;
    border:1px solid #111!important;
    background:#fff!important;
  }
}



/* v1.8.28: draggable mobile TOC + adaptive uploaded-image scroll-top control. */
.ua-scroll-top{
  right:24px!important;
  bottom:24px!important;
  width:64px!important;
  height:64px!important;
  min-height:0!important;
  padding:0!important;
  gap:0!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid #111!important;
  border-radius:0!important;
  background:#fff!important;
  color:#111!important;
  box-shadow:none!important;
  transition:
    opacity var(--ua-motion) var(--ua-ease),
    visibility var(--ua-motion) var(--ua-ease),
    transform var(--ua-motion) var(--ua-ease),
    background-color .28s var(--ua-ease),
    border-color .28s var(--ua-ease),
    color .28s var(--ua-ease)!important;
}
.ua-scroll-top-icon{
  display:block!important;
  width:24px!important;
  height:21px!important;
  margin:0!important;
  background:currentColor!important;
  -webkit-mask:url("scroll-top-arrow.png") center/contain no-repeat;
  mask:url("scroll-top-arrow.png") center/contain no-repeat;
  font-size:0!important;
  line-height:0!important;
}
.ua-scroll-top:hover,
.ua-scroll-top:focus-visible{
  background:#111!important;
  border-color:#111!important;
  color:#fff!important;
}
.ua-scroll-top.is-on-dark{
  background:#111!important;
  border-color:#fff!important;
  color:#fff!important;
}
.ua-scroll-top.is-on-dark:hover,
.ua-scroll-top.is-on-dark:focus-visible{
  background:#fff!important;
  border-color:#fff!important;
  color:#111!important;
}

@media (max-width:900px){
  .ua-scroll-top{
    right:12px!important;
    bottom:14px!important;
    width:54px!important;
    height:54px!important;
    min-height:0!important;
    padding:0!important;
  }
  .ua-scroll-top-icon{
    width:21px!important;
    height:18px!important;
  }

  .ua-mobile-toc-toggle{
    touch-action:none!important;
    user-select:none!important;
    -webkit-user-select:none!important;
    cursor:grab!important;
    will-change:left,top;
  }
  .ua-mobile-toc-toggle.is-dragging{
    cursor:grabbing!important;
    transition:none!important;
  }
  /* Keep the user's dragged position when the TOC opens. */
  .ua-mobile-toc.is-open .ua-mobile-toc-toggle{
    background:#fff!important;
  }
}


/* v1.8.29: uploaded photographic hero background for the top-page fallback mast. */
.ua-home .ua-hero-fallback{
  position:relative;
  isolation:isolate;
  height:560px;
  border-bottom:1px solid #111;
  background-color:#111;
  background-image:
    linear-gradient(90deg,rgba(0,0,0,.62) 0%,rgba(0,0,0,.48) 34%,rgba(0,0,0,.20) 62%,rgba(0,0,0,.06) 100%),
    url('home-hero.webp');
  background-size:cover;
  background-repeat:no-repeat;
  background-position:center 46%;
  color:#fff;
}
.ua-home .ua-hero-fallback-inner{
  position:relative;
  z-index:1;
}
.ua-home .ua-hero-fallback-kicker,
.ua-home .ua-hero-fallback h1,
.ua-home .ua-hero-fallback-lead{
  color:#fff;
  text-shadow:0 2px 18px rgba(0,0,0,.34);
}
.ua-home .ua-hero-fallback-kicker{
  opacity:.94;
}
.ua-home .ua-hero-fallback-lead{
  max-width:40em;
}
@media (max-width:900px){
  .ua-home .ua-hero-fallback{
    height:clamp(520px,70svh,620px);
    min-height:520px;
    background-image:
      linear-gradient(180deg,rgba(0,0,0,.16) 0%,rgba(0,0,0,.22) 34%,rgba(0,0,0,.60) 100%),
      linear-gradient(90deg,rgba(0,0,0,.26) 0%,rgba(0,0,0,.10) 72%,rgba(0,0,0,.04) 100%),
      url('home-hero.webp');
    background-position:35% center;
  }
  .ua-home .ua-hero-fallback-inner{
    align-self:flex-end;
    width:calc(100% - 40px);
    padding-bottom:42px;
  }
  .ua-home .ua-hero-fallback h1{
    font-size:clamp(28px,8.4vw,34px);
    line-height:1.5;
    max-width:11.5em;
    margin-bottom:16px;
  }
  .ua-home .ua-hero-fallback-lead{
    font-size:12px;
    line-height:1.9;
    max-width:31em;
  }
}

/* v1.8.29: keep the same uploaded photo as the hero background when the 5-article slider becomes active. */
.ua-home .ua-article-slider{
  background-color:#111;
  background-image:
    linear-gradient(90deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.18) 58%,rgba(0,0,0,.58) 100%),
    url('home-hero.webp');
  background-size:cover;
  background-repeat:no-repeat;
  background-position:center 46%;
}
.ua-home .ua-article-slider .ua-color-slide{
  background:transparent!important;
}
.ua-home .ua-article-slider .ua-visual-caption{
  color:#fff;
  text-shadow:0 2px 14px rgba(0,0,0,.34);
}
.ua-home .ua-article-slider .ua-visual-caption a,
.ua-home .ua-article-slider .ua-slider-index button.is-active{
  color:#fff;
}
.ua-home .ua-article-slider .ua-slider-read{
  border-bottom-color:#fff;
}
.ua-home .ua-article-slider .ua-slider-index button{
  color:rgba(255,255,255,.52);
}
.ua-home .ua-article-slider .ua-slider-index button+button:before{
  background:#fff;
}
@media (max-width:900px){
  .ua-home .ua-article-slider{
    background-image:
      linear-gradient(180deg,rgba(0,0,0,.10) 0%,rgba(0,0,0,.20) 58%,rgba(0,0,0,.68) 100%),
      url('home-hero.webp');
    background-position:35% center;
  }
}


/* v1.8.30: news detail body without left URANO / ANOINE label */
.ua-news-detail .ua-prose{grid-template-columns:1fr;gap:0}

/* v1.8.31: uploaded home story image placed directly below the intro heading */
.ua-media-intro-heading h1{margin-bottom:0}
.ua-media-intro-image{display:block;width:100%;margin:32px 0 34px;padding:0}
.ua-media-intro-image img{display:block;width:100%;max-width:100%;height:auto;margin:0;padding:0;object-fit:contain}
.ua-media-intro-body{margin-top:0}
@media (max-width:900px){
  .ua-media-intro-image{margin:22px 0 26px}
}

/* v1.8.32: reference-matched desktop global navigation + mobile fullscreen menu */
.ua-global-nav{display:none}
.ua-mobile-menu-list,.ua-mobile-category-group,.ua-mobile-category-panel{display:none}

@media (min-width:901px){
  body{padding-top:126px!important}
  .ua-header{
    height:126px!important;
    background:#fff!important;
    border-bottom:1px solid #111!important;
  }
  .ua-header-inner{
    height:126px!important;
    padding:0 16px!important;
    display:flex!important;
    align-items:center!important;
    gap:28px!important;
  }
  .ua-brand{
    flex:0 0 auto!important;
    height:126px!important;
    display:flex!important;
    align-items:center!important;
  }
  .ua-brand-logo{
    width:auto!important;
    max-width:min(310px,27vw)!important;
    max-height:50px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  .ua-global-nav{
    margin-left:auto!important;
    height:126px!important;
    display:flex!important;
    align-items:stretch!important;
    justify-content:flex-end!important;
    gap:clamp(24px,3.2vw,54px)!important;
    font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif!important;
  }
  .ua-global-nav-item{
    position:relative!important;
    min-width:clamp(128px,10.2vw,160px)!important;
    height:126px!important;
    flex:0 0 auto!important;
  }
  .ua-global-nav-link{
    position:relative!important;
    height:126px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    padding:0 4px 4px!important;
    color:#111!important;
    background:#fff!important;
    text-align:center!important;
    overflow:visible!important;
  }
  .ua-global-nav-link>span{
    display:block!important;
    margin:0!important;
    padding:0!important;
    font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif!important;
    font-size:clamp(22px,2vw,31px)!important;
    line-height:1.25!important;
    font-weight:400!important;
    letter-spacing:.01em!important;
    white-space:nowrap!important;
  }
  .ua-global-nav-link>small{
    display:block!important;
    margin:0!important;
    padding:0!important;
    font-family:var(--ua-font)!important;
    font-size:10px!important;
    line-height:1!important;
    font-weight:400!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
  }
  .ua-global-nav-link::after{
    content:""!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:18px!important;
    height:1px!important;
    background:#111!important;
    transform:scaleX(0)!important;
    transform-origin:center!important;
    transition:transform .28s ease!important;
  }
  .ua-global-nav-link:hover::after,
  .ua-global-nav-link:focus-visible::after,
  .ua-global-nav-category:hover>.ua-global-nav-link::after,
  .ua-global-nav-category:focus-within>.ua-global-nav-link::after{
    transform:scaleX(1)!important;
  }
  .ua-global-nav-category{
    position:relative!important;
  }
  .ua-global-submenu{
    position:absolute!important;
    z-index:260!important;
    top:108px!important;
    left:0!important;
    width:100%!important;
    min-width:100%!important;
    display:block!important;
    padding:0!important;
    margin:0!important;
    border-top:1px solid #111!important;
    background:#fff!important;
    opacity:0!important;
    visibility:hidden!important;
    transform:translateY(-4px)!important;
    pointer-events:none!important;
    transition:opacity .22s ease,transform .22s ease,visibility .22s ease!important;
    box-shadow:none!important;
  }
  .ua-global-nav-category:hover>.ua-global-submenu,
  .ua-global-nav-category:focus-within>.ua-global-submenu{
    opacity:1!important;
    visibility:visible!important;
    transform:translateY(0)!important;
    pointer-events:auto!important;
  }
  .ua-global-submenu a{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:58px!important;
    padding:10px 12px!important;
    margin:0!important;
    border:0!important;
    border-bottom:1px solid #e5e5e5!important;
    background:#fff!important;
    color:#111!important;
    font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif!important;
    font-size:clamp(20px,1.8vw,28px)!important;
    line-height:1.2!important;
    font-weight:400!important;
    text-align:center!important;
    transition:background-color .2s ease,color .2s ease!important;
  }
  .ua-global-submenu a:last-child{border-bottom:0!important}
  .ua-global-submenu a:hover,
  .ua-global-submenu a:focus-visible{
    background:#111!important;
    color:#fff!important;
  }
  .ua-header-right{display:none!important}
  .ua-drawer{display:none!important}
}

@media (max-width:900px){
  body{padding-top:76px!important}
  .ua-header{
    height:76px!important;
    background:#fff!important;
    border-bottom:1px solid #111!important;
    z-index:140!important;
  }
  .ua-header-inner{
    height:76px!important;
    padding:0 18px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
  }
  .ua-brand{
    height:76px!important;
    display:flex!important;
    align-items:center!important;
  }
  .ua-brand-logo{
    width:auto!important;
    max-width:min(225px,66vw)!important;
    max-height:34px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  .ua-global-nav{display:none!important}
  .ua-header-right{
    margin-left:auto!important;
    display:flex!important;
    align-items:center!important;
  }
  .ua-menu-button{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    gap:6px!important;
    width:48px!important;
    height:36px!important;
    min-width:48px!important;
    min-height:36px!important;
    max-width:48px!important;
    max-height:36px!important;
    padding:0 4px!important;
    margin:0!important;
    border:0!important;
    background:transparent!important;
    cursor:pointer!important;
    visibility:visible!important;
  }
  .ua-menu-button>span{
    position:static!important;
    display:block!important;
    width:40px!important;
    height:3px!important;
    min-height:3px!important;
    margin:0!important;
    padding:0!important;
    background:#111!important;
    border:0!important;
    transform:none!important;
    opacity:1!important;
    animation:none!important;
    transition:none!important;
  }
  html.ua-menu-open .ua-menu-button::before,
  html.ua-menu-open .ua-menu-button::after{content:none!important;display:none!important}

  .ua-drawer{
    position:fixed!important;
    inset:0!important;
    z-index:300!important;
    display:block!important;
    width:100%!important;
    height:100dvh!important;
    overflow:hidden!important;
    background:transparent!important;
    opacity:1!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:none!important;
  }
  .ua-drawer.is-open{
    visibility:visible!important;
    pointer-events:auto!important;
  }
  .ua-drawer-panel{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    max-width:none!important;
    height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:#000!important;
    border:0!important;
    opacity:1!important;
    visibility:visible!important;
    transform:translate3d(0,-100%,0)!important;
    transition:transform 1.15s cubic-bezier(.22,.76,.24,1)!important;
    animation:none!important;
    will-change:transform!important;
  }
  .ua-drawer.is-open .ua-drawer-panel{
    transform:translate3d(0,0,0)!important;
  }
  .ua-drawer.is-closing .ua-drawer-panel{
    transform:translate3d(0,-100%,0)!important;
    transition-duration:1.05s!important;
  }
  .ua-drawer-panel *,
  .ua-drawer-panel *::before,
  .ua-drawer-panel *::after{
    animation:none!important;
  }
  .ua-drawer-top,
  .ua-drawer-layout,
  .ua-drawer-foot,
  .ua-drawer-feature,
  .ua-drawer-links{display:none!important}

  .ua-drawer-close{
    position:absolute!important;
    z-index:5!important;
    top:clamp(24px,4.6vw,46px)!important;
    right:clamp(28px,5.8vw,52px)!important;
    display:block!important;
    width:72px!important;
    height:72px!important;
    min-width:72px!important;
    min-height:72px!important;
    max-width:72px!important;
    max-height:72px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
    transition:none!important;
    cursor:pointer!important;
  }
  .ua-drawer-close>span{
    position:absolute!important;
    left:7px!important;
    top:35px!important;
    display:block!important;
    width:58px!important;
    height:2px!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    border:0!important;
    opacity:1!important;
    transition:none!important;
  }
  .ua-drawer-close>span:first-child{transform:rotate(45deg)!important}
  .ua-drawer-close>span:last-child{transform:rotate(-45deg)!important}

  .ua-mobile-menu-list{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    gap:clamp(42px,5vh,66px)!important;
    width:min(80vw,860px)!important;
    height:auto!important;
    margin:0 auto!important;
    padding:clamp(180px,16vh,220px) 0 48px!important;
  }
  .ua-mobile-menu-item{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:clamp(76px,7.5vh,100px)!important;
    margin:0!important;
    padding:14px 72px!important;
    border:1.5px solid #fff!important;
    background:transparent!important;
    color:#fff!important;
    font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif!important;
    font-size:clamp(24px,4vw,44px)!important;
    line-height:1.25!important;
    font-weight:400!important;
    letter-spacing:.01em!important;
    text-align:center!important;
    box-shadow:none!important;
    cursor:pointer!important;
    transition:background-color .2s ease,color .2s ease!important;
  }
  a.ua-mobile-menu-item:hover,
  a.ua-mobile-menu-item:focus-visible,
  .ua-mobile-category-toggle:hover,
  .ua-mobile-category-toggle:focus-visible{
    background:#111!important;
    color:#fff!important;
  }
  .ua-mobile-category-group{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
  }
  .ua-mobile-category-toggle{
    appearance:none!important;
    -webkit-appearance:none!important;
  }
  .ua-mobile-category-arrow{
    position:absolute!important;
    right:clamp(28px,4vw,40px)!important;
    top:50%!important;
    display:block!important;
    width:34px!important;
    height:34px!important;
    margin:-22px 0 0!important;
    border-right:8px solid #fff!important;
    border-bottom:8px solid #fff!important;
    transform:rotate(45deg)!important;
    transform-origin:center!important;
    transition:transform .3s ease!important;
  }
  .ua-mobile-category-toggle.is-open .ua-mobile-category-arrow{
    margin:-10px 0 0!important;
    transform:rotate(225deg)!important;
  }
  .ua-mobile-category-panel{
    display:block!important;
    width:100%!important;
    max-height:0!important;
    margin:-1.5px 0 0!important;
    padding:0!important;
    overflow:hidden!important;
    border-left:1.5px solid #fff!important;
    border-right:1.5px solid #fff!important;
    border-bottom:0 solid #fff!important;
    background:#4b4b4b!important;
    opacity:0!important;
    visibility:hidden!important;
    transition:max-height .5s ease,opacity .35s ease,visibility .35s ease,border-bottom-width .01s linear .48s!important;
  }
  .ua-mobile-category-panel.is-open{
    max-height:340px!important;
    opacity:1!important;
    visibility:visible!important;
    border-bottom-width:1.5px!important;
    transition:max-height .5s ease,opacity .35s ease,visibility .35s ease,border-bottom-width .01s linear!important;
  }
  .ua-mobile-category-panel a{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:96px!important;
    padding:12px 24px!important;
    border-top:1px solid rgba(255,255,255,.16)!important;
    background:#4b4b4b!important;
    color:#fff!important;
    font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif!important;
    font-size:clamp(24px,4vw,42px)!important;
    line-height:1.2!important;
    font-weight:400!important;
    text-align:center!important;
    transition:background-color .2s ease!important;
  }
  .ua-mobile-category-panel a:first-child{border-top:0!important}
  .ua-mobile-category-panel a:hover,
  .ua-mobile-category-panel a:focus-visible{background:#111!important}
}

@media (max-width:520px){
  .ua-drawer-close{
    width:54px!important;
    height:54px!important;
    min-width:54px!important;
    min-height:54px!important;
    max-width:54px!important;
    max-height:54px!important;
    top:20px!important;
    right:18px!important;
  }
  .ua-drawer-close>span{
    left:5px!important;
    top:26px!important;
    width:44px!important;
    height:2px!important;
  }
  .ua-mobile-menu-list{
    width:calc(100% - 56px)!important;
    gap:34px!important;
    padding-top:136px!important;
  }
  .ua-mobile-menu-item{
    min-height:76px!important;
    padding:12px 58px!important;
    font-size:25px!important;
  }
  .ua-mobile-category-arrow{
    right:24px!important;
    width:25px!important;
    height:25px!important;
    border-right-width:6px!important;
    border-bottom-width:6px!important;
    margin-top:-17px!important;
  }
  .ua-mobile-category-toggle.is-open .ua-mobile-category-arrow{margin-top:-8px!important}
  .ua-mobile-category-panel a{
    min-height:76px!important;
    font-size:25px!important;
  }
}

/* v1.8.33: fluid header/menu typography for desktop and mobile */
@media (min-width:901px){
  .ua-global-nav-link>span{
    font-size:clamp(18px,calc(12px + .9vw),30px)!important;
  }
  .ua-global-nav-link>small{
    font-size:clamp(8px,calc(6px + .22vw),11px)!important;
  }
  .ua-global-submenu a{
    font-size:clamp(17px,calc(11px + .75vw),27px)!important;
  }
}
@media (max-width:900px){
  .ua-mobile-menu-item{
    font-size:clamp(21px,6.25vw,36px)!important;
  }
  .ua-mobile-category-panel a{
    font-size:clamp(20px,5.9vw,34px)!important;
  }
}
@media (max-width:520px){
  .ua-mobile-menu-item{
    font-size:clamp(20px,6.25vw,27px)!important;
  }
  .ua-mobile-category-panel a{
    font-size:clamp(19px,5.9vw,26px)!important;
  }
}


/* v1.8.34: compact reference-balanced desktop navigation + smaller mobile fullscreen menu */
@media (min-width:901px){
  /* Keep the 126px reference header and 50px logo, but reduce the menu type so the
     whole label stack has a calmer visual weight beside the logo. */
  .ua-global-nav{
    gap:clamp(20px,2.5vw,42px)!important;
  }
  .ua-global-nav-item{
    min-width:clamp(112px,8.8vw,142px)!important;
  }
  .ua-global-nav-link{
    gap:6px!important;
    padding-bottom:4px!important;
  }
  .ua-global-nav-link>span{
    font-size:clamp(18px,calc(13px + .62vw),25px)!important;
    line-height:1.22!important;
    letter-spacing:.005em!important;
  }
  .ua-global-nav-link>small{
    font-size:clamp(7.5px,calc(6.5px + .14vw),9.5px)!important;
    line-height:1!important;
  }
  .ua-global-submenu{
    top:108px!important;
  }
  .ua-global-submenu a{
    min-height:48px!important;
    padding:8px 10px!important;
    font-size:clamp(16px,calc(12px + .5vw),21px)!important;
    line-height:1.2!important;
  }
}

@media (max-width:900px){
  /* Match the uploaded black fullscreen reference, but use a more compact frame,
     smaller labels and lighter borders so it does not dominate smaller phones. */
  .ua-drawer-close{
    top:clamp(18px,3.8vw,34px)!important;
    right:clamp(20px,4.8vw,38px)!important;
    width:58px!important;
    height:58px!important;
    min-width:58px!important;
    min-height:58px!important;
    max-width:58px!important;
    max-height:58px!important;
  }
  .ua-drawer-close>span{
    left:7px!important;
    top:28px!important;
    width:44px!important;
    height:1.5px!important;
  }
  .ua-mobile-menu-list{
    width:min(72vw,680px)!important;
    gap:clamp(26px,3.8vh,44px)!important;
    padding:clamp(140px,14vh,180px) 0 40px!important;
  }
  .ua-mobile-menu-item{
    min-height:clamp(58px,6.2vh,76px)!important;
    padding:10px 54px!important;
    border-width:1px!important;
    font-size:clamp(18px,4.6vw,30px)!important;
    line-height:1.2!important;
  }
  .ua-mobile-category-arrow{
    right:clamp(20px,3.1vw,30px)!important;
    width:26px!important;
    height:26px!important;
    margin-top:-17px!important;
    border-right-width:5px!important;
    border-bottom-width:5px!important;
  }
  .ua-mobile-category-toggle.is-open .ua-mobile-category-arrow{
    margin-top:-8px!important;
  }
  .ua-mobile-category-panel{
    margin-top:-1px!important;
    border-left-width:1px!important;
    border-right-width:1px!important;
  }
  .ua-mobile-category-panel.is-open{
    border-bottom-width:1px!important;
    max-height:280px!important;
  }
  .ua-mobile-category-panel a{
    min-height:clamp(58px,6.2vh,76px)!important;
    padding:10px 20px!important;
    font-size:clamp(17px,4.35vw,28px)!important;
    line-height:1.2!important;
  }
}

@media (max-width:520px){
  .ua-drawer-close{
    top:16px!important;
    right:14px!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    max-width:44px!important;
    max-height:44px!important;
  }
  .ua-drawer-close>span{
    left:5px!important;
    top:21px!important;
    width:34px!important;
    height:1.5px!important;
  }
  .ua-mobile-menu-list{
    width:calc(100% - 92px)!important;
    gap:24px!important;
    padding-top:112px!important;
    padding-bottom:34px!important;
  }
  .ua-mobile-menu-item{
    min-height:58px!important;
    padding:9px 46px!important;
    font-size:clamp(18px,5.4vw,22px)!important;
  }
  .ua-mobile-category-arrow{
    right:18px!important;
    width:20px!important;
    height:20px!important;
    margin-top:-13px!important;
    border-right-width:4px!important;
    border-bottom-width:4px!important;
  }
  .ua-mobile-category-toggle.is-open .ua-mobile-category-arrow{
    margin-top:-6px!important;
  }
  .ua-mobile-category-panel a{
    min-height:58px!important;
    font-size:clamp(17px,5vw,21px)!important;
  }
}


/* v1.8.35: article detail pages no longer render a desktop sidebar.
   The reading column uses the full article-body grid width while keeping
   the existing mobile floating TOC available. */
.ua-story-detail .ua-story-body{
  grid-template-columns:minmax(0,1fr)!important;
  gap:0!important;
}
.ua-story-detail .ua-story-main{
  width:100%;
  min-width:0;
}
@media (min-width:901px){
  .ua-story-detail .ua-article-sidebar{display:none!important;}
}

/* v1.8.36: make desktop header navigation text smaller and calmer relative to the logo */
@media (min-width:901px){
  .ua-global-nav{
    gap:clamp(16px,2.1vw,34px)!important;
  }
  .ua-global-nav-item{
    min-width:clamp(96px,8vw,128px)!important;
  }
  .ua-global-nav-link{
    gap:4px!important;
    padding:0 2px 4px!important;
  }
  .ua-global-nav-link>span{
    font-size:clamp(15px,calc(11px + .42vw),20px)!important;
    line-height:1.18!important;
    letter-spacing:0!important;
  }
  .ua-global-nav-link>small{
    font-size:clamp(6.8px,calc(6.2px + .1vw),8.5px)!important;
    line-height:1!important;
    letter-spacing:0!important;
  }
  .ua-global-nav-link::after{
    bottom:20px!important;
  }
  .ua-global-submenu{
    top:106px!important;
  }
  .ua-global-submenu a{
    min-height:44px!important;
    padding:7px 8px!important;
    font-size:clamp(14px,calc(11px + .32vw),18px)!important;
    line-height:1.18!important;
  }
}

/* v1.8.37: remove extra desktop header rule lines under the global nav,
   while keeping the intended menu-item underline effect. */
@media (min-width:901px){
  .ua-header{
    border-bottom:0!important;
  }
  .ua-global-submenu{
    border-top:0!important;
  }
}

/* v1.8.38: more compact mobile fullscreen menu, synchronized category-panel
   border reveal, and a stable header logo during menu open/close transitions. */
@media (max-width:900px){
  /* Keep the actual header logo from being faded/blurred by legacy menu sequences.
     The drawer may naturally cover it while passing over the header, but the logo
     itself remains rendered continuously so it cannot blink out on open/close. */
  html.ua-menu-open .ua-header .ua-brand-logo,
  html.ua-menu-open:not(.ua-menu-sequence-mobile) .ua-header .ua-brand-logo,
  html.ua-menu-sequence-mobile .ua-header .ua-brand-logo,
  html.ua-menu-closing .ua-header .ua-brand-logo,
  html.ua-menu-closing-mobile .ua-header .ua-brand-logo{
    opacity:1!important;
    visibility:visible!important;
    filter:none!important;
    transform:none!important;
    animation:none!important;
    transition:none!important;
  }

  /* Smaller mobile menu frames and labels. */
  .ua-mobile-menu-list{
    width:clamp(220px,64vw,520px)!important;
    gap:clamp(18px,2.8vh,30px)!important;
    padding:clamp(118px,12.5vh,154px) 0 34px!important;
  }
  .ua-mobile-menu-item{
    min-height:clamp(46px,5.1vh,58px)!important;
    padding:7px 42px!important;
    border-width:.8px!important;
    font-size:clamp(15px,3.6vw,22px)!important;
    line-height:1.18!important;
  }
  .ua-mobile-category-arrow{
    right:clamp(15px,2.5vw,22px)!important;
    width:20px!important;
    height:20px!important;
    margin-top:-13px!important;
    border-right-width:4px!important;
    border-bottom-width:4px!important;
  }
  .ua-mobile-category-toggle.is-open .ua-mobile-category-arrow{
    margin-top:-6px!important;
  }

  /* Keep the panel border geometry present from the start, but transparent while
     closed. When .is-open is applied, the border fades in at the same time as the
     dropdown itself instead of the bottom edge appearing a moment later. */
  .ua-mobile-category-panel{
    box-sizing:border-box!important;
    margin-top:-.8px!important;
    border-top:0!important;
    border-left:.8px solid transparent!important;
    border-right:.8px solid transparent!important;
    border-bottom:.8px solid transparent!important;
    box-shadow:none!important;
    transition:max-height .42s ease,
               opacity .26s ease,
               visibility 0s linear .42s,
               border-color .26s ease!important;
  }
  .ua-mobile-category-panel.is-open{
    border-left-color:#fff!important;
    border-right-color:#fff!important;
    border-bottom-color:#fff!important;
    max-height:230px!important;
    transition:max-height .42s ease,
               opacity .26s ease,
               visibility 0s linear 0s,
               border-color .26s ease!important;
  }
  .ua-mobile-category-panel a{
    min-height:clamp(46px,5.1vh,58px)!important;
    padding:7px 16px!important;
    font-size:clamp(14px,3.45vw,21px)!important;
    line-height:1.18!important;
  }
}

@media (max-width:520px){
  .ua-mobile-menu-list{
    width:clamp(218px,64vw,276px)!important;
    gap:18px!important;
    padding-top:102px!important;
    padding-bottom:28px!important;
  }
  .ua-mobile-menu-item{
    min-height:48px!important;
    padding:6px 36px!important;
    font-size:clamp(15px,4.35vw,18px)!important;
  }
  .ua-mobile-category-arrow{
    right:14px!important;
    width:17px!important;
    height:17px!important;
    margin-top:-11px!important;
    border-right-width:3px!important;
    border-bottom-width:3px!important;
  }
  .ua-mobile-category-toggle.is-open .ua-mobile-category-arrow{
    margin-top:-5px!important;
  }
  .ua-mobile-category-panel.is-open{
    max-height:200px!important;
  }
  .ua-mobile-category-panel a{
    min-height:48px!important;
    font-size:clamp(14px,4.1vw,17px)!important;
  }
}

/* v1.8.39: lower desktop header, full-width article body, right-side mobile TOC,
   and one-line mobile post metadata. */
@media (min-width:901px){
  body{
    padding-top:88px!important;
  }
  .ua-header,
  .ua-header-inner,
  .ua-brand,
  .ua-global-nav,
  .ua-global-nav-item,
  .ua-global-nav-link{
    height:88px!important;
  }
  .ua-header-inner{
    align-items:center!important;
  }
  .ua-brand-logo{
    max-height:42px!important;
  }
  .ua-global-nav-link::after{
    bottom:10px!important;
  }
  .ua-global-submenu{
    top:78px!important;
  }

  /* The old sidebar column is gone, so let article copy use the whole shell. */
  .ua-story-detail .ua-story-body{
    grid-template-columns:minmax(0,1fr)!important;
    width:min(var(--ua-wide),calc(100% - 80px))!important;
  }
  .ua-story-detail .ua-story-main,
  .ua-story-detail .ua-story-main .ua-prose-body{
    width:100%!important;
    max-width:none!important;
  }
}

@media (max-width:900px){
  /* Anchor the floating table-of-contents tab to the right edge. */
  .ua-mobile-toc-toggle{
    left:auto!important;
    right:0!important;
  }
  .ua-mobile-toc.is-open .ua-mobile-toc-toggle{
    left:auto!important;
    right:min(300px,82vw)!important;
  }
  .ua-mobile-toc-panel{
    left:auto!important;
    right:0!important;
    border-left:1px solid #111!important;
    border-right:0!important;
    transform:translateX(100%)!important;
  }
  .ua-mobile-toc.is-open .ua-mobile-toc-panel{
    transform:translateX(0)!important;
  }

  /* Keep publish date, modified date and category on one horizontal line. */
  .ua-story-meta-panel .ua-story-postmeta{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:6px 9px!important;
    padding:12px 0 13px!important;
    white-space:nowrap!important;
    overflow:visible!important;
  }
  .ua-story-meta-panel .ua-story-postmeta-item{
    flex:0 0 auto!important;
    gap:3px!important;
    font-size:clamp(8.4px,2.4vw,10px)!important;
    line-height:1.35!important;
    white-space:nowrap!important;
  }
}

@media (max-width:360px){
  .ua-story-meta-panel .ua-story-postmeta{
    gap:5px 7px!important;
  }
  .ua-story-meta-panel .ua-story-postmeta-item{
    gap:2px!important;
    font-size:8.2px!important;
  }
}


/* v1.8.40: fixed-page header divider + sitewide header-menu typeface. */
body,button,input,textarea,select{
  font-family:var(--ua-font)!important;
}
/* Keep the line only on page/archive-style screens; article/news details and home
   retain the cleaner header treatment requested previously. */
body.ua-fixed-page .ua-header{
  border-bottom:1px solid #111!important;
}
/* Noto Serif JP is loaded through 900 so existing heavy hierarchy renders with
   real bold faces instead of synthetic weight. */
strong,b,h1,h2,h3,h4,h5,h6{
  font-family:var(--ua-font)!important;
}

/* v1.8.41: add a clear divider exactly between the fixed header and the
   top-page hero image, on both desktop and mobile, without restoring the
   extra desktop navigation rules removed in earlier versions. */
.ua-home > .ua-color-hero:first-child{
  border-top:1px solid #111!important;
}


/* v1.8.42: align article-detail title width with the expanded reading column.
   The body was widened after the desktop sidebar was removed; give the article
   hero/title the same desktop shell so the title and article copy share one width. */
@media (min-width:901px){
  .ua-story-detail .ua-story-hero-simple{
    width:min(var(--ua-wide),calc(100% - 80px))!important;
  }
}
.ua-story-detail .ua-story-title-panel,
.ua-story-detail .ua-story-title-panel .ua-story-detail-title,
.ua-story-detail .ua-story-main .ua-prose-body{
  width:100%!important;
  max-width:none!important;
}

/* v1.8.43: keep a single divider attached to the fixed header at all times.
   This replaces the home-hero-only top border so the line remains visible
   while scrolling instead of staying behind with the image. */
.ua-header{
  border-bottom:1px solid #111!important;
}
.ua-home > .ua-color-hero:first-child{
  border-top:0!important;
}

/* v1.8.44: mobile floating TOC uses black instead of the previous yellow accents. */
@media (max-width:900px){
  .ua-mobile-toc-toggle{
    background:#111!important;
    border-color:#111!important;
    color:#fff!important;
  }
  .ua-mobile-toc-head{
    background:#111!important;
    border-color:#111!important;
    color:#fff!important;
  }
  /* Preserve the existing open-state contrast for the draggable tab. */
  .ua-mobile-toc.is-open .ua-mobile-toc-toggle{
    background:#fff!important;
    color:#111!important;
  }
}

/* v1.8.45: make the fixed-header divider one uninterrupted line.
   Drawing it on the header border allowed white nav/link backgrounds to cover
   parts of the rule, which made it look segmented. The divider now sits above
   all header children and remains visible during scroll on desktop and mobile. */
.ua-header{
  border-bottom:0!important;
}
.ua-header::after{
  content:""!important;
  position:absolute!important;
  z-index:999!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  display:block!important;
  width:100%!important;
  height:1px!important;
  margin:0!important;
  padding:0!important;
  background:#111!important;
  pointer-events:none!important;
}

/* v1.8.46: page/archive hero image section added below the fixed header.
   Fixed pages now use a panoramic visual like the provided reference, with the
   title and introduction moved below the image instead of inside a colored mast. */
body.ua-fixed-page .ua-breadcrumb{
  display:none!important;
}
.ua-fixed-page-visual{
  position:relative;
  width:100%;
  margin:0;
  padding:0;
  overflow:hidden;
  background:#dfe7ef;
  border-bottom:1px solid #111;
}
.ua-fixed-page-visual-media{
  position:relative;
  width:100%;
  height:clamp(250px,33vw,560px);
  overflow:hidden;
}
.ua-fixed-page-visual-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.04) 0%,rgba(0,0,0,.12) 100%);
  pointer-events:none;
}
.ua-fixed-page-visual-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
body.ua-fixed-page .ua-page-hero{
  background:#fff!important;
  border-bottom:1px solid #111!important;
  padding:42px 0 40px!important;
}
body.ua-fixed-page .ua-page-hero .ua-shell{
  width:min(var(--ua-wide),calc(100% - 80px));
}
body.ua-fixed-page .ua-page-hero span{
  display:block;
  margin:0 0 12px!important;
  font-family:Montserrat,"Noto Sans JP",sans-serif!important;
  font-size:12px!important;
  line-height:1.3!important;
  font-weight:700!important;
  letter-spacing:.18em!important;
}
body.ua-fixed-page .ua-page-hero h1{
  margin:0!important;
  font-family:var(--ua-font)!important;
  font-size:clamp(28px,2.9vw,42px)!important;
  line-height:1.34!important;
  font-weight:800!important;
  letter-spacing:.02em!important;
}
body.ua-fixed-page .ua-page-hero p{
  margin:16px 0 0!important;
  max-width:820px!important;
  font-size:15px!important;
  line-height:2!important;
  color:#222!important;
}
@media (max-width:900px){
  .ua-fixed-page-visual-media{
    height:clamp(190px,50vw,340px);
  }
  body.ua-fixed-page .ua-page-hero{
    padding:28px 0 30px!important;
  }
  body.ua-fixed-page .ua-page-hero .ua-shell{
    width:calc(100% - 36px)!important;
  }
  body.ua-fixed-page .ua-page-hero span{
    margin-bottom:9px!important;
    font-size:10px!important;
    letter-spacing:.16em!important;
  }
  body.ua-fixed-page .ua-page-hero h1{
    font-size:clamp(22px,6.2vw,30px)!important;
    line-height:1.38!important;
  }
  body.ua-fixed-page .ua-page-hero p{
    margin-top:12px!important;
    font-size:13px!important;
    line-height:1.9!important;
  }
}

/* v1.8.47: archive/fixed-page title areas use a black magazine-style panel,
   and the same uploaded visual is now used on news detail pages as well. */
body.ua-fixed-page .ua-page-hero,
body.ua-fixed-page .ua-news-detail .ua-detail-mast{
  background:#000!important;
  color:#fff!important;
  border-top:0!important;
  border-bottom:1px solid #111!important;
}
body.ua-fixed-page .ua-page-hero span,
body.ua-fixed-page .ua-page-hero h1,
body.ua-fixed-page .ua-page-hero p,
body.ua-fixed-page .ua-detail-mast span,
body.ua-fixed-page .ua-detail-mast time,
body.ua-fixed-page .ua-detail-mast h1{
  color:#fff!important;
}
body.ua-fixed-page .ua-detail-mast{
  padding:42px 0 40px!important;
}
body.ua-fixed-page .ua-detail-mast .ua-shell{
  width:min(var(--ua-wide),calc(100% - 80px))!important;
}
body.ua-fixed-page .ua-detail-mast>div>span{
  display:block!important;
  margin:0 0 12px!important;
  font-family:Montserrat,"Noto Sans JP",sans-serif!important;
  font-size:12px!important;
  line-height:1.3!important;
  font-weight:700!important;
  letter-spacing:.18em!important;
}
body.ua-fixed-page .ua-detail-mast time{
  display:block!important;
  margin:0 0 12px!important;
  font-size:11px!important;
  line-height:1.4!important;
  letter-spacing:.08em!important;
}
body.ua-fixed-page .ua-detail-mast h1{
  margin:0!important;
  font-family:var(--ua-font)!important;
  font-size:clamp(28px,2.9vw,42px)!important;
  line-height:1.45!important;
  font-weight:800!important;
  letter-spacing:.02em!important;
}
/* Keep the uploaded image visually prominent and prevent the title panel from
   appearing like a detached white block. */
body.ua-fixed-page .ua-fixed-page-visual{
  background:#000!important;
  border-bottom:0!important;
}
body.ua-fixed-page .ua-fixed-page-visual-media{
  min-height:320px!important;
  height:clamp(320px,32vw,540px)!important;
}
@media (max-width:900px){
  body.ua-fixed-page .ua-fixed-page-visual-media{
    min-height:190px!important;
    height:clamp(190px,52vw,330px)!important;
  }
  body.ua-fixed-page .ua-detail-mast{
    padding:28px 0 30px!important;
  }
  body.ua-fixed-page .ua-detail-mast .ua-shell{
    width:calc(100% - 36px)!important;
  }
  body.ua-fixed-page .ua-detail-mast>div>span{
    margin-bottom:9px!important;
    font-size:10px!important;
  }
  body.ua-fixed-page .ua-detail-mast time{
    margin-bottom:9px!important;
    font-size:9px!important;
  }
  body.ua-fixed-page .ua-detail-mast h1{
    font-size:clamp(22px,6.2vw,30px)!important;
    line-height:1.5!important;
  }
}

/* v1.8.48: desktop article-detail main content is a centered 600px column.
   Header/footer and mobile layout are intentionally unchanged. */
@media (min-width:901px){
  .ua-story-detail > .ua-story-hero-simple,
  .ua-story-detail > .ua-story-body{
    width:600px!important;
    max-width:600px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .ua-story-detail .ua-story-title-panel,
  .ua-story-detail .ua-story-meta-panel,
  .ua-story-detail .ua-story-main,
  .ua-story-detail .ua-story-main .ua-prose-body,
  .ua-story-detail .ua-story-media{
    width:100%!important;
    max-width:600px!important;
  }
}

/* v1.8.49: make the desktop article page title block and main reading column
   use exactly the same 600px measure. */
@media (min-width:901px){
  .ua-story-detail > .ua-story-hero-simple,
  .ua-story-detail > .ua-story-body,
  .ua-story-detail .ua-story-title-panel,
  .ua-story-detail .ua-story-meta-panel,
  .ua-story-detail .ua-story-main,
  .ua-story-detail .ua-story-main .ua-prose-body{
    width:600px!important;
    max-width:600px!important;
    min-width:0!important;
    box-sizing:border-box!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .ua-story-detail .ua-story-title-panel .ua-story-detail-title{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
  }
}

/* v1.8.50: align archive/news-detail title panels to the exact same content
   measure used by the content immediately below them. */
@media (min-width:901px){
  body.ua-fixed-page .ua-page-hero .ua-shell,
  body.ua-fixed-page .ua-detail-mast .ua-shell{
    width:min(var(--ua-shell),calc(100% - 80px))!important;
    max-width:var(--ua-shell)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }

  /* The archive/list sections below already use .ua-shell; make that common
     measure explicit so category/articles/news/news-detail all line up. */
  body.ua-fixed-page .ua-category-list,
  body.ua-fixed-page .ua-media-filter,
  body.ua-fixed-page .ua-media-archive-body,
  body.ua-fixed-page .ua-articles,
  body.ua-fixed-page .ua-news-list,
  body.ua-fixed-page .ua-news-detail .ua-prose{
    width:min(var(--ua-shell),calc(100% - 80px))!important;
    max-width:var(--ua-shell)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }
}

@media (max-width:900px){
  body.ua-fixed-page .ua-page-hero .ua-shell,
  body.ua-fixed-page .ua-detail-mast .ua-shell,
  body.ua-fixed-page .ua-category-list,
  body.ua-fixed-page .ua-media-filter,
  body.ua-fixed-page .ua-media-archive-body,
  body.ua-fixed-page .ua-articles,
  body.ua-fixed-page .ua-news-list,
  body.ua-fixed-page .ua-news-detail .ua-prose{
    width:calc(100% - 36px)!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }
}

/* v1.8.51: breadcrumbs now live below the main content on category, article,
   news-list and news-detail screens instead of directly under the header. */
body.ua-fixed-page .ua-breadcrumb{
  display:block!important;
}
.ua-main + .ua-breadcrumb{
  margin-top:0!important;
  border-top:1px solid #111!important;
}



/* v1.8.53: keep the bottom breadcrumb visually and structurally separate from
   the footer. It remains directly below page content, but uses its own white
   bar so it cannot read as part of the black footer. */
.ua-main + .ua-breadcrumb{
  position:relative!important;
  z-index:20!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
  color:#111!important;
  border-top:1px solid #111!important;
  border-bottom:1px solid #111!important;
}
.ua-main + .ua-breadcrumb .ua-shell{
  background:#fff!important;
}
.ua-main + .ua-breadcrumb ol{
  color:#111!important;
}
.ua-main + .ua-breadcrumb li,
.ua-main + .ua-breadcrumb a,
.ua-main + .ua-breadcrumb .is-current,
.ua-main + .ua-breadcrumb .is-current span{
  color:#111!important;
}
.ua-main + .ua-breadcrumb li+li::before{
  color:rgba(0,0,0,.48)!important;
}
.ua-main + .ua-breadcrumb + .ua-footer{
  margin-top:0!important;
}


/* v1.8.54: force the fixed-header divider to render as one continuous viewport
   line above all nav-item backgrounds. This fixes the segmented appearance
   visible beneath the desktop menu labels. */
.ua-header::after{
  position:fixed!important;
  left:0!important;
  right:0!important;
  bottom:auto!important;
  width:100vw!important;
  height:1px!important;
  background:#111!important;
  z-index:2147483000!important;
  pointer-events:none!important;
}
@media (min-width:901px){
  .ua-header::after{top:87px!important;}
}
@media (max-width:900px){
  .ua-header::after{top:75px!important;}
}


/* v1.8.55: restore the desktop submenu as an overlay below the fixed header.
   Do not move the page content when it opens. Give the submenu a clear frame,
   light-gray resting surface, and black hover/focus state. */
@media (min-width:901px){
  .ua-global-submenu{
    top:88px!important;
    border:1px solid #111!important;
    background:#f1f1f1!important;
    box-shadow:none!important;
  }
  .ua-global-submenu a{
    background:#f1f1f1!important;
    color:#111!important;
    border-bottom:1px solid #c9c9c9!important;
    transition:background-color .2s ease,color .2s ease!important;
  }
  .ua-global-submenu a:last-child{
    border-bottom:0!important;
  }
  .ua-global-submenu a:hover,
  .ua-global-submenu a:focus-visible{
    background:#111!important;
    color:#fff!important;
  }
  body.ua-desktop-submenu-open .ua-main{
    margin-top:0!important;
  }
}


/* v1.8.58: widen the mobile fullscreen-menu frames almost to the viewport edges,
   while making the labels smaller and calmer. Keep a small, even side margin. */
@media (max-width:900px){
  .ua-mobile-menu-list{
    width:min(calc(100% - 32px),720px)!important;
    max-width:none!important;
    gap:clamp(16px,2.4vh,26px)!important;
  }
  .ua-mobile-menu-item{
    min-height:clamp(44px,4.8vh,54px)!important;
    padding:6px 40px!important;
    font-size:clamp(13px,3vw,18px)!important;
    line-height:1.16!important;
  }
  .ua-mobile-category-panel a{
    min-height:clamp(44px,4.8vh,54px)!important;
    padding:6px 14px!important;
    font-size:clamp(12.5px,2.9vw,17px)!important;
    line-height:1.16!important;
  }
}

@media (max-width:520px){
  .ua-mobile-menu-list{
    width:calc(100% - 28px)!important;
    gap:16px!important;
  }
  .ua-mobile-menu-item{
    min-height:46px!important;
    padding:6px 34px!important;
    font-size:clamp(13px,3.8vw,16px)!important;
  }
  .ua-mobile-category-panel a{
    min-height:46px!important;
    font-size:clamp(12.5px,3.6vw,15.5px)!important;
  }
  .ua-mobile-category-arrow{
    right:16px!important;
  }
}


/* v1.8.59: the mobile "カテゴリー" label is now a real link to the category
   index, while the arrow remains a separate control for opening/closing the
   category dropdown. */
@media (max-width:900px){
  .ua-mobile-category-row{
    position:relative!important;
    padding:0!important;
    cursor:default!important;
  }
  .ua-mobile-category-link{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:inherit!important;
    padding:6px 52px 6px 40px!important;
    color:#fff!important;
    font:inherit!important;
    line-height:inherit!important;
    text-align:center!important;
    text-decoration:none!important;
    background:transparent!important;
    transition:background-color .2s ease,color .2s ease!important;
  }
  .ua-mobile-category-link:hover,
  .ua-mobile-category-link:focus-visible{
    background:#111!important;
    color:#fff!important;
  }
  .ua-mobile-category-toggle{
    position:absolute!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    z-index:2!important;
    display:block!important;
    width:52px!important;
    min-width:52px!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:#fff!important;
    cursor:pointer!important;
  }
  .ua-mobile-category-toggle:hover,
  .ua-mobile-category-toggle:focus-visible{
    background:rgba(255,255,255,.08)!important;
  }
  .ua-mobile-category-toggle .ua-mobile-category-arrow{
    right:16px!important;
  }
}
@media (max-width:520px){
  .ua-mobile-category-link{
    padding-left:34px!important;
    padding-right:50px!important;
  }
  .ua-mobile-category-toggle{
    width:48px!important;
    min-width:48px!important;
  }
  .ua-mobile-category-toggle .ua-mobile-category-arrow{
    right:14px!important;
  }
}

/* v1.8.60: ABOUT area and three editorial-principle pages. */
.ua-media-intro-actions a{
  min-width:72px;
  padding:8px 16px;
  border:1px solid #111;
  text-align:center;
  font-size:12px;
  font-weight:700;
  color:#111;
  background:#fff;
  transition:background-color .2s ease,color .2s ease;
}
.ua-media-intro-actions a:hover,
.ua-media-intro-actions a:focus-visible{
  background:#111;
  color:#fff;
}

.ua-about-page{background:#fff;color:#111}
.ua-about-hero{background:#050505;color:#fff;border-bottom:1px solid #111}
.ua-about-hero-inner{padding:86px 0 92px}
.ua-about-hero-inner>span{display:block;margin:0 0 20px;font-size:11px;font-weight:800;letter-spacing:.22em}
.ua-about-hero-inner h1{margin:0;font-size:clamp(40px,5.2vw,74px);line-height:1.16;font-weight:900;letter-spacing:.02em}
.ua-about-hero-inner p{max-width:780px;margin:28px 0 0;font-size:16px;line-height:2.05;color:#f2f2f2}
.ua-about-hero-detail .ua-about-hero-inner{padding-top:74px;padding-bottom:78px}
.ua-about-hero-detail .ua-about-hero-inner h1{font-size:clamp(36px,4.4vw,62px)}

.ua-about-intro-section{padding:92px 0 104px;border-bottom:1px solid #111}
.ua-about-kicker{margin-bottom:28px;font-size:10px;font-weight:800;letter-spacing:.2em}
.ua-about-intro-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:80px;align-items:start}
.ua-about-intro-grid h2{margin:0;font-size:clamp(28px,3vw,44px);line-height:1.65;font-weight:800}
.ua-about-intro-grid p{margin:0 0 22px;font-size:15px;line-height:2.15}
.ua-about-intro-grid p:last-child{margin-bottom:0}

.ua-about-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;margin-top:72px;margin-bottom:96px;border-top:1px solid #111;border-left:1px solid #111}
.ua-about-pillars>a{display:flex;min-height:330px;flex-direction:column;padding:30px 28px 26px;border-right:1px solid #111;border-bottom:1px solid #111;background:#fff;color:#111;transition:background-color .25s ease,color .25s ease}
.ua-about-pillars>a:hover,.ua-about-pillars>a:focus-visible{background:#111;color:#fff}
.ua-about-pillars>a>span{font-size:9px;font-weight:800;letter-spacing:.18em}
.ua-about-pillars h2{margin:52px 0 20px;font-size:28px;line-height:1.4;font-weight:800}
.ua-about-pillars p{margin:0;font-size:13px;line-height:2;flex:1}
.ua-about-pillars strong{display:block;margin-top:28px;font-size:10px;letter-spacing:.08em}

.ua-about-essay{padding:92px 0 112px}
.ua-about-essay-lead{max-width:900px;padding-bottom:54px;border-bottom:1px solid #111}
.ua-about-essay-lead>span{display:block;margin-bottom:18px;font-size:10px;font-weight:800;letter-spacing:.2em}
.ua-about-essay-lead h2{margin:0 0 24px;font-size:clamp(30px,3.6vw,52px);line-height:1.5;font-weight:800}
.ua-about-essay-lead p{max-width:760px;margin:0;font-size:15px;line-height:2.15}
.ua-about-essay-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:56px;border-top:1px solid #111;border-left:1px solid #111}
.ua-about-essay-grid section{min-height:310px;padding:26px 26px 30px;border-right:1px solid #111;border-bottom:1px solid #111}
.ua-about-essay-grid section>span{display:block;margin-bottom:44px;font-size:9px;font-weight:800;letter-spacing:.16em}
.ua-about-essay-grid h3{margin:0 0 18px;font-size:22px;line-height:1.6;font-weight:800}
.ua-about-essay-grid p{margin:0;font-size:13px;line-height:2.05}
.ua-about-note{display:grid;grid-template-columns:180px minmax(0,1fr);gap:40px;margin:58px 0 70px;padding:30px 0;border-top:3px double #111;border-bottom:1px solid #111}
.ua-about-note span{font-size:10px;font-weight:800;letter-spacing:.17em}
.ua-about-note p{margin:0;font-size:17px;line-height:2;font-weight:700}
.ua-about-section-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #111;border-left:1px solid #111}
.ua-about-section-nav a{display:flex;min-height:116px;flex-direction:column;justify-content:center;gap:10px;padding:18px 22px;border-right:1px solid #111;border-bottom:1px solid #111;background:#fff;color:#111;transition:background-color .2s ease,color .2s ease}
.ua-about-section-nav a:hover,.ua-about-section-nav a:focus-visible,.ua-about-section-nav a.is-current{background:#111;color:#fff}
.ua-about-section-nav small{font-size:8px;font-weight:800;letter-spacing:.16em}
.ua-about-section-nav strong{font-size:18px}

@media (min-width:901px){
  .ua-global-nav{
    gap:clamp(10px,1.35vw,24px)!important;
  }
  .ua-global-nav-item{
    min-width:clamp(88px,7.2vw,118px)!important;
  }
}

@media (max-width:900px){
  .ua-media-intro-actions a{min-width:58px;padding:7px 10px;font-size:10px}
  .ua-about-hero-inner{padding:56px 0 60px}
  .ua-about-hero-inner>span{margin-bottom:14px;font-size:9px}
  .ua-about-hero-inner h1{font-size:clamp(30px,9vw,44px)}
  .ua-about-hero-inner p{margin-top:20px;font-size:13px;line-height:1.95}
  .ua-about-hero-detail .ua-about-hero-inner{padding-top:52px;padding-bottom:56px}
  .ua-about-intro-section{padding:56px 0 64px}
  .ua-about-kicker{margin-bottom:20px;font-size:9px}
  .ua-about-intro-grid{grid-template-columns:1fr;gap:32px}
  .ua-about-intro-grid h2{font-size:clamp(23px,6.4vw,32px);line-height:1.7}
  .ua-about-intro-grid p{font-size:13px;line-height:2}
  .ua-about-pillars{grid-template-columns:1fr;margin-top:42px;margin-bottom:62px}
  .ua-about-pillars>a{min-height:0;padding:24px 22px}
  .ua-about-pillars h2{margin:28px 0 14px;font-size:22px}
  .ua-about-pillars p{font-size:12px;line-height:1.95}
      .ua-about-essay{padding:58px 0 76px}
  .ua-about-essay-lead{padding-bottom:36px}
  .ua-about-essay-lead h2{font-size:clamp(26px,7.4vw,36px)}
  .ua-about-essay-lead p{font-size:13px;line-height:2}
  .ua-about-essay-grid{grid-template-columns:1fr;margin-top:38px}
  .ua-about-essay-grid section{min-height:0;padding:22px 20px 26px}
  .ua-about-essay-grid section>span{margin-bottom:22px}
  .ua-about-essay-grid h3{font-size:19px}
  .ua-about-essay-grid p{font-size:12px;line-height:2}
  .ua-about-note{grid-template-columns:1fr;gap:14px;margin:42px 0 50px;padding:24px 0}
  .ua-about-note p{font-size:14px;line-height:1.95}
  .ua-about-section-nav{grid-template-columns:1fr}
  .ua-about-section-nav a{min-height:82px}
  .ua-about-section-nav strong{font-size:16px}
}

@media (max-width:520px){
  .ua-mobile-menu-list{
    padding-top:92px!important;
    gap:12px!important;
  }
  .ua-mobile-category-panel.is-open{
    max-height:220px!important;
  }
}


/* v1.8.63: simplify the ABOUT page and improve readability with clear
   background-backed section headings. Remove the rule below the ABOUT content. */
.ua-about-page .ua-about-intro-section{
  border-bottom:0!important;
  padding-bottom:104px!important;
}
.ua-about-readable-content{
  display:flex;
  flex-direction:column;
  gap:30px;
  width:100%;
  max-width:900px;
}
.ua-about-readable-block{
  margin:0;
  padding:0;
  border:0!important;
}
.ua-about-readable-block h2{
  margin:0 0 22px!important;
  padding:16px 20px!important;
  background:#111!important;
  color:#fff!important;
  border:0!important;
  font-family:var(--ua-font)!important;
  font-size:22px!important;
  line-height:1.55!important;
  font-weight:800!important;
  letter-spacing:.02em!important;
}
.ua-about-readable-block p{
  margin:0!important;
  padding:0 4px!important;
  font-size:15px!important;
  line-height:2.15!important;
  color:#111!important;
}
@media (max-width:900px){
  .ua-about-page .ua-about-intro-section{
    padding-bottom:64px!important;
  }
  .ua-about-readable-content{
    gap:24px!important;
  }
  .ua-about-readable-block h2{
    margin-bottom:16px!important;
    padding:13px 15px!important;
    font-size:18px!important;
    line-height:1.5!important;
  }
  .ua-about-readable-block p{
    padding:0 2px!important;
    font-size:13px!important;
    line-height:2!important;
  }
}

/* v1.8.64: align the ABOUT page with the same visual/page-width system used by
   the other fixed pages, while keeping the clearer section-heading treatment
   requested earlier. */
.ua-about-page{
  background:#fff!important;
  color:#111!important;
}
body.ua-fixed-page.ua-about-route .ua-about-intro-section{
  width:min(var(--ua-shell),calc(100% - 80px))!important;
  max-width:var(--ua-shell)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
  padding:58px 0 86px!important;
  border-bottom:0!important;
}
body.ua-fixed-page.ua-about-route .ua-about-kicker{
  margin:0 0 24px!important;
  font-family:Montserrat,"Noto Sans JP",sans-serif!important;
  font-size:11px!important;
  line-height:1.3!important;
  font-weight:700!important;
  letter-spacing:.18em!important;
  color:#111!important;
}
body.ua-fixed-page.ua-about-route .ua-about-readable-content{
  width:100%!important;
  max-width:none!important;
  gap:34px!important;
}
body.ua-fixed-page.ua-about-route .ua-about-readable-block h2{
  margin:0 0 20px!important;
  padding:15px 18px!important;
  background:#111!important;
  color:#fff!important;
  font-size:22px!important;
  line-height:1.55!important;
}
body.ua-fixed-page.ua-about-route .ua-about-readable-block p{
  padding:0!important;
  font-size:15px!important;
  line-height:2.1!important;
  color:#111!important;
}
@media (max-width:900px){
  body.ua-fixed-page.ua-about-route .ua-about-intro-section{
    width:calc(100% - 36px)!important;
    max-width:none!important;
    padding:38px 0 58px!important;
  }
  body.ua-fixed-page.ua-about-route .ua-about-kicker{
    margin-bottom:18px!important;
    font-size:9px!important;
    letter-spacing:.16em!important;
  }
  body.ua-fixed-page.ua-about-route .ua-about-readable-content{
    gap:24px!important;
  }
  body.ua-fixed-page.ua-about-route .ua-about-readable-block h2{
    margin-bottom:14px!important;
    padding:13px 14px!important;
    font-size:18px!important;
    line-height:1.5!important;
  }
  body.ua-fixed-page.ua-about-route .ua-about-readable-block p{
    font-size:13px!important;
    line-height:2!important;
  }
}


/* v1.8.65: hide the browser's right-side page scrollbar on desktop and mobile
   while preserving normal wheel, touch, keyboard, and programmatic scrolling. */
html,body{
  -ms-overflow-style:none!important;
  scrollbar-width:none!important;
}
html{
  scrollbar-gutter:auto!important;
}
html::-webkit-scrollbar,
body::-webkit-scrollbar{
  width:0!important;
  height:0!important;
  display:none!important;
}

/* v1.8.66: ABOUT cleanup + article-detail heading design.
   Remove the ABOUT URANO ANOINE kicker, add a plain introductory paragraph,
   and make every following ABOUT heading match article-detail h2 bars. */
body.ua-fixed-page.ua-about-route .ua-about-kicker{
  display:none!important;
}
.ua-about-person-copy{
  margin:0 0 54px!important;
  padding:0!important;
  max-width:none!important;
  font-family:var(--ua-font)!important;
  font-size:15px!important;
  line-height:2.15!important;
  font-weight:400!important;
  color:#111!important;
}
body.ua-fixed-page.ua-about-route .ua-about-readable-block h2{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:82px!important;
  box-sizing:border-box!important;
  margin:2.7em 0 1.15em!important;
  padding:14px 22px 14px 20px!important;
  border:0!important;
  border-left:0!important;
  border-bottom:0!important;
  border-radius:0!important;
  background:#000!important;
  color:#fff!important;
  font-family:var(--ua-font)!important;
  font-size:28px!important;
  font-weight:800!important;
  line-height:1.2!important;
  letter-spacing:-.025em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
}
body.ua-fixed-page.ua-about-route .ua-about-readable-block:first-of-type h2{
  margin-top:0!important;
}
body.ua-fixed-page.ua-about-route .ua-about-readable-block h2::before{
  content:""!important;
  display:block!important;
  flex:0 0 auto!important;
  width:14px!important;
  height:60px!important;
  margin:0 22px 0 0!important;
  border-radius:999px!important;
  background:#fff!important;
}
@media (max-width:900px){
  .ua-about-person-copy{
    margin-bottom:38px!important;
    font-size:13px!important;
    line-height:2!important;
  }
  body.ua-fixed-page.ua-about-route .ua-about-readable-block h2{
    min-height:62px!important;
    margin:2.35em 0 1em!important;
    padding:10px 14px!important;
    font-size:22px!important;
  }
  body.ua-fixed-page.ua-about-route .ua-about-readable-block:first-of-type h2{
    margin-top:0!important;
  }
  body.ua-fixed-page.ua-about-route .ua-about-readable-block h2::before{
    width:10px!important;
    height:44px!important;
    margin-right:14px!important;
  }
}


/* v1.8.67: make the news-detail reading area use the same content width as
   its title panel and the other fixed pages. Remove the legacy 800px cap from
   the prose body so the actual article content fills the shared page measure. */
.ua-news-detail .ua-prose{
  display:block!important;
}
.ua-news-detail .ua-prose-body{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}
@media (min-width:901px){
  body.ua-fixed-page .ua-news-detail .ua-detail-mast .ua-shell,
  body.ua-fixed-page .ua-news-detail .ua-prose{
    width:min(var(--ua-shell),calc(100% - 80px))!important;
    max-width:var(--ua-shell)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }
}
@media (max-width:900px){
  body.ua-fixed-page .ua-news-detail .ua-detail-mast .ua-shell,
  body.ua-fixed-page .ua-news-detail .ua-prose{
    width:calc(100% - 36px)!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }
}

/* v1.8.68: desktop-only article detail width increased from 600px to 800px.
   Mobile/tablet widths and all non-article pages remain unchanged. */
@media (min-width:901px){
  .ua-story-detail > .ua-story-hero-simple,
  .ua-story-detail > .ua-story-body,
  .ua-story-detail .ua-story-title-panel,
  .ua-story-detail .ua-story-meta-panel,
  .ua-story-detail .ua-story-main,
  .ua-story-detail .ua-story-main .ua-prose-body,
  .ua-story-detail .ua-story-media{
    width:800px!important;
    max-width:800px!important;
    min-width:0!important;
    box-sizing:border-box!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .ua-story-detail .ua-story-title-panel .ua-story-detail-title{
    width:100%!important;
    max-width:none!important;
  }
}


/* v1.8.69: reduce only the height of headings that use a solid background.
   Plain headings without a background are intentionally left unchanged. */
.ua-story-main .ua-prose-body h2,
.ua-story-main .ua-prose-body h3,
.ua-story-main .ua-prose-body .section-heading,
body.ua-fixed-page.ua-about-route .ua-about-readable-block h2{
  min-height:68px!important;
  padding-top:9px!important;
  padding-bottom:9px!important;
}
.ua-story-main .ua-prose-body h2::before,
.ua-story-main .ua-prose-body h3::before,
.ua-story-main .ua-prose-body .section-heading::before,
body.ua-fixed-page.ua-about-route .ua-about-readable-block h2::before{
  height:48px!important;
}
@media (max-width:900px){
  .ua-story-main .ua-prose-body h2,
  .ua-story-main .ua-prose-body h3,
  .ua-story-main .ua-prose-body .section-heading,
  body.ua-fixed-page.ua-about-route .ua-about-readable-block h2{
    min-height:52px!important;
    padding-top:7px!important;
    padding-bottom:7px!important;
  }
  .ua-story-main .ua-prose-body h2::before,
  .ua-story-main .ua-prose-body h3::before,
  .ua-story-main .ua-prose-body .section-heading::before,
  body.ua-fixed-page.ua-about-route .ua-about-readable-block h2::before{
    height:36px!important;
  }
}

/* v1.8.70: make the white pill accent inside solid-background headings slimmer
   on both desktop and mobile, without changing headings that have no background. */
.ua-story-main .ua-prose-body h2::before,
.ua-story-main .ua-prose-body h3::before,
.ua-story-main .ua-prose-body .section-heading::before,
body.ua-fixed-page.ua-about-route .ua-about-readable-block h2::before{
  width:8px!important;
}
@media (max-width:900px){
  .ua-story-main .ua-prose-body h2::before,
  .ua-story-main .ua-prose-body h3::before,
  .ua-story-main .ua-prose-body .section-heading::before,
  body.ua-fixed-page.ua-about-route .ua-about-readable-block h2::before{
    width:6px!important;
  }
}


/* v1.8.71: tighten the vertical rhythm around solid-background section headings.
   Only the same black-background heading family adjusted in v1.8.69/1.8.70 is
   affected; plain headings elsewhere keep their existing spacing. */
.ua-story-main .ua-prose-body h2,
.ua-story-main .ua-prose-body h3,
.ua-story-main .ua-prose-body .section-heading{
  margin-top:1.75em!important;
  margin-bottom:.62em!important;
}
.ua-story-main .ua-prose-body p{
  margin-bottom:1.15em!important;
}
body.ua-fixed-page.ua-about-route .ua-about-readable-content{
  gap:18px!important;
}
body.ua-fixed-page.ua-about-route .ua-about-readable-block h2{
  margin-top:1.45em!important;
  margin-bottom:12px!important;
}
body.ua-fixed-page.ua-about-route .ua-about-readable-block:first-of-type h2{
  margin-top:0!important;
}
body.ua-fixed-page.ua-about-route .ua-about-readable-block p{
  margin-bottom:0!important;
}
@media (max-width:900px){
  .ua-story-main .ua-prose-body h2,
  .ua-story-main .ua-prose-body h3,
  .ua-story-main .ua-prose-body .section-heading{
    margin-top:1.55em!important;
    margin-bottom:.55em!important;
  }
  .ua-story-main .ua-prose-body p{
    margin-bottom:1em!important;
  }
  body.ua-fixed-page.ua-about-route .ua-about-readable-content{
    gap:14px!important;
  }
  body.ua-fixed-page.ua-about-route .ua-about-readable-block h2{
    margin-top:1.25em!important;
    margin-bottom:10px!important;
  }
  body.ua-fixed-page.ua-about-route .ua-about-readable-block:first-of-type h2{
    margin-top:0!important;
  }
}

/* v1.8.72: show a concise article summary directly beneath the published/
   updated/category metadata on article detail pages. */
.ua-story-summary{
  margin:0!important;
  padding:16px 0 18px!important;
  border-top:1px solid #e1e1e1!important;
}
.ua-story-summary p{
  margin:0!important;
  padding:0!important;
  font-family:var(--ua-font)!important;
  font-size:13px!important;
  line-height:2!important;
  font-weight:400!important;
  color:#333!important;
}
@media (max-width:900px){
  .ua-story-summary{
    padding:13px 0 15px!important;
  }
  .ua-story-summary p{
    font-size:11.5px!important;
    line-height:1.9!important;
  }
}

/* v1.8.73: give the article summary a compact magazine-style treatment and
   tighten the space between the summary area and the article's solid-background
   section headings. Other pages and plain headings are not affected. */
.ua-story-summary{
  position:relative!important;
  margin:14px 0 0!important;
  padding:18px 20px 19px!important;
  border:1px solid #111!important;
  background:#f3f3f3!important;
}
.ua-story-summary-label{
  display:flex!important;
  align-items:baseline!important;
  gap:10px!important;
  margin:0 0 10px!important;
  padding:0 0 9px!important;
  border-bottom:1px solid #c9c9c9!important;
  color:#111!important;
}
.ua-story-summary-label span{
  font-family:Montserrat,"Noto Sans JP",sans-serif!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.16em!important;
}
.ua-story-summary-label strong{
  font-family:var(--ua-font)!important;
  font-size:12px!important;
  line-height:1.35!important;
  font-weight:800!important;
}
.ua-story-summary p{
  margin:0!important;
  padding:0!important;
  font-family:var(--ua-font)!important;
  font-size:13px!important;
  line-height:1.9!important;
  font-weight:400!important;
  color:#222!important;
}
.ua-story-detail .ua-story-body{
  padding-top:28px!important;
}
.ua-story-detail .ua-prose-body > h2:first-child,
.ua-story-detail .ua-prose-body > h3:first-child,
.ua-story-detail .ua-prose-body > .section-heading:first-child{
  margin-top:0!important;
}
@media (max-width:900px){
  .ua-story-summary{
    margin-top:11px!important;
    padding:14px 15px 15px!important;
  }
  .ua-story-summary-label{
    gap:8px!important;
    margin-bottom:8px!important;
    padding-bottom:7px!important;
  }
  .ua-story-summary-label span{
    font-size:8px!important;
    letter-spacing:.14em!important;
  }
  .ua-story-summary-label strong{
    font-size:10.5px!important;
  }
  .ua-story-summary p{
    font-size:11.5px!important;
    line-height:1.82!important;
  }
  .ua-story-detail .ua-story-body{
    padding-top:20px!important;
  }
}


/* v1.8.74: add restrained magazine-style decoration to article detail titles
   while preserving the existing monochrome URANO ANOINE design. */
.ua-story-detail .ua-story-title-panel{
  position:relative!important;
  margin-top:26px!important;
  padding:18px 20px 18px!important;
  border-top:3px solid #111!important;
  border-right:1px solid #111!important;
  border-bottom:1px solid #111!important;
  border-left:1px solid #111!important;
  background:#fff!important;
}
.ua-story-detail .ua-story-title-panel::before{
  content:"ARTICLE";
  display:inline-flex!important;
  align-items:center!important;
  min-height:22px!important;
  margin:0 0 10px!important;
  padding:4px 8px 3px!important;
  background:#111!important;
  color:#fff!important;
  font-family:Montserrat,"Noto Sans JP",sans-serif!important;
  font-size:8px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.16em!important;
}
.ua-story-detail .ua-story-title-panel .ua-story-detail-title{
  margin:0!important;
  padding:0!important;
  color:#111!important;
}
@media (max-width:900px){
  .ua-story-detail .ua-story-title-panel{
    margin-top:18px!important;
    padding:14px 14px 15px!important;
    border-top-width:2px!important;
  }
  .ua-story-detail .ua-story-title-panel::before{
    min-height:20px!important;
    margin-bottom:8px!important;
    padding:4px 7px 3px!important;
    font-size:7px!important;
    letter-spacing:.14em!important;
  }
}

/* v1.8.75: redesign the article-detail title without horizontal rules.
   Keep the monochrome magazine feel using a slim left accent, subtle surface,
   and the existing ARTICLE label; remove the top and bottom borders entirely. */
.ua-story-detail .ua-story-title-panel{
  position:relative!important;
  margin-top:24px!important;
  padding:18px 20px 18px 22px!important;
  border-top:0!important;
  border-right:0!important;
  border-bottom:0!important;
  border-left:3px solid #111!important;
  background:#f4f4f4!important;
  box-shadow:none!important;
}
.ua-story-detail .ua-story-title-panel::before{
  content:"ARTICLE"!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:21px!important;
  margin:0 0 10px!important;
  padding:4px 8px 3px!important;
  background:#111!important;
  color:#fff!important;
  border:0!important;
  font-family:Montserrat,"Noto Sans JP",sans-serif!important;
  font-size:8px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.16em!important;
}
.ua-story-detail .ua-story-title-panel .ua-story-detail-title{
  margin:0!important;
  padding:0!important;
  color:#111!important;
}
@media (max-width:900px){
  .ua-story-detail .ua-story-title-panel{
    margin-top:18px!important;
    padding:14px 14px 15px 16px!important;
    border-top:0!important;
    border-right:0!important;
    border-bottom:0!important;
    border-left-width:2px!important;
  }
  .ua-story-detail .ua-story-title-panel::before{
    min-height:19px!important;
    margin-bottom:8px!important;
    padding:4px 7px 3px!important;
    font-size:7px!important;
    letter-spacing:.14em!important;
  }
}

/* v1.8.76: black metadata strip on article detail pages and remove the
   horizontal rules immediately above/below the title area. */
.ua-story-detail .ua-story-media{
  border-bottom:0!important;
}
.ua-story-detail .ua-story-title-panel{
  border-top:0!important;
  border-bottom:0!important;
}
.ua-story-detail .ua-story-meta-panel{
  border-top:0!important;
  border-bottom:0!important;
}
.ua-story-detail .ua-story-meta-panel .ua-story-postmeta{
  box-sizing:border-box!important;
  width:100%!important;
  margin:0!important;
  padding:14px 16px!important;
  background:#111!important;
  color:#fff!important;
  border:0!important;
}
.ua-story-detail .ua-story-postmeta-item,
.ua-story-detail .ua-story-postmeta-item>span:first-child,
.ua-story-detail .ua-story-postmeta-item time,
.ua-story-detail .ua-story-postmeta-item a,
.ua-story-detail .ua-story-postmeta-value{
  color:#fff!important;
}
@media (max-width:900px){
  .ua-story-detail .ua-story-meta-panel .ua-story-postmeta{
    padding:11px 12px!important;
  }
}


/* v1.8.77: simplify the article-detail title treatment to a plain black frame only. */
.ua-story-detail .ua-story-title-panel{
  position:relative!important;
  margin-top:24px!important;
  padding:18px 20px!important;
  border:1px solid #111!important;
  background:#fff!important;
  box-shadow:none!important;
}
.ua-story-detail .ua-story-title-panel::before{
  content:none!important;
  display:none!important;
}
.ua-story-detail .ua-story-title-panel .ua-story-detail-title{
  margin:0!important;
  padding:0!important;
  color:#111!important;
  background:transparent!important;
}
@media (max-width:900px){
  .ua-story-detail .ua-story-title-panel{
    margin-top:18px!important;
    padding:14px 14px!important;
    border:1px solid #111!important;
    background:#fff!important;
  }
}


/* v1.8.78: further tighten spacing only on the ABOUT page between each
   solid-background heading and its paragraph, and between that paragraph and
   the next solid-background heading. */
body.ua-fixed-page.ua-about-route .ua-about-readable-content{
  gap:10px!important;
}
body.ua-fixed-page.ua-about-route .ua-about-readable-block h2{
  margin-top:.9em!important;
  margin-bottom:7px!important;
}
body.ua-fixed-page.ua-about-route .ua-about-readable-block:first-of-type h2{
  margin-top:0!important;
}
body.ua-fixed-page.ua-about-route .ua-about-readable-block p{
  margin:0!important;
}
@media (max-width:900px){
  body.ua-fixed-page.ua-about-route .ua-about-readable-content{
    gap:8px!important;
  }
  body.ua-fixed-page.ua-about-route .ua-about-readable-block h2{
    margin-top:.75em!important;
    margin-bottom:6px!important;
  }
  body.ua-fixed-page.ua-about-route .ua-about-readable-block:first-of-type h2{
    margin-top:0!important;
  }
}


/* v1.8.80: keep the ABOUT introduction and first heading closer than the
   original layout, but restore a little breathing room so they do not feel
   cramped. */
body.ua-fixed-page.ua-about-route .ua-about-person-copy{
  margin-bottom:12px!important;
}
body.ua-fixed-page.ua-about-route .ua-about-readable-content{
  gap:10px!important;
}
body.ua-fixed-page.ua-about-route .ua-about-readable-block:first-of-type h2{
  margin-top:0!important;
}
@media (max-width:900px){
  body.ua-fixed-page.ua-about-route .ua-about-person-copy{
    margin-bottom:10px!important;
  }
  body.ua-fixed-page.ua-about-route .ua-about-readable-content{
    gap:8px!important;
  }
}

/* v1.8.81: automatically generated article section headings use the existing
   solid-background article heading design. No visual change is applied outside
   article detail pages. */
.ua-story-detail .ua-prose-body .section-heading[data-auto-heading="true"]{
  background:#000!important;
  color:#fff!important;
}


/* v1.9.9: URANO ANOINE contact page */
.ua-contact-content{max-width:900px!important;padding-top:44px!important;padding-bottom:64px!important}
.ua-contact-intro{margin:0 0 18px;padding:18px 20px;border:1px solid #111;background:#f3f3f3}
.ua-contact-intro p{margin:0;line-height:1.9}
.ua-contact-form{border:1px solid #111;background:#fff;padding:28px}
.ua-contact-field{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;align-items:start;padding:18px 0;border-bottom:1px solid #ddd}
.ua-contact-field:first-of-type{padding-top:0}.ua-contact-field:last-of-type{border-bottom:0}
.ua-contact-field>label{padding-top:12px;font-weight:800;line-height:1.5}
.ua-contact-field label em{display:inline-block;margin-left:6px;padding:3px 6px;background:#111;color:#fff;font-style:normal;font-size:9px;letter-spacing:.08em}
.ua-contact-field label span{margin-left:6px;color:#777;font-size:10px;font-weight:500}
.ua-contact-field input,.ua-contact-field select,.ua-contact-field textarea{width:100%;box-sizing:border-box;border:1px solid #999;border-radius:0;background:#fff;color:#111;font:inherit;padding:12px 13px;outline:none}
.ua-contact-field input:focus,.ua-contact-field select:focus,.ua-contact-field textarea:focus{border-color:#111;box-shadow:0 0 0 1px #111}
.ua-contact-field textarea{resize:vertical;min-height:220px;line-height:1.8}
.ua-contact-agree{display:flex;gap:10px;align-items:flex-start;margin:24px 0 0;padding:16px 18px;background:#f4f4f4;border:1px solid #ddd;line-height:1.7;font-size:12px}
.ua-contact-agree input{margin-top:4px}
.ua-contact-submit{margin-top:22px}.ua-contact-submit button{width:100%;min-height:52px;border:1px solid #111;background:#111;color:#fff;font-family:inherit;font-weight:800;letter-spacing:.06em;cursor:pointer}.ua-contact-submit button:hover{background:#fff;color:#111}
.ua-contact-notice{margin:0 0 18px;padding:18px 20px;border:1px solid #111}.ua-contact-notice strong{display:block;margin-bottom:6px}.ua-contact-notice p{margin:0;line-height:1.8}.ua-contact-notice.is-success{background:#f2f2f2}.ua-contact-notice.is-error{background:#fff}
.ua-contact-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:900px){.ua-contact-content{padding-top:28px!important;padding-bottom:46px!important}.ua-contact-form{padding:18px 14px}.ua-contact-field{grid-template-columns:1fr;gap:8px;padding:15px 0}.ua-contact-field>label{padding-top:0}.ua-contact-field textarea{min-height:190px}.ua-contact-agree{padding:14px}.ua-contact-submit button{min-height:50px}}

/* v1.10.0: seven-item navigation, empty editorial categories in both category menus,
   and the URANO ANOINE privacy-policy page. */
@media (min-width:901px){
  .ua-global-nav{
    gap:clamp(5px,.72vw,12px)!important;
  }
  .ua-global-nav-item{
    min-width:0!important;
    width:auto!important;
  }
  .ua-global-nav-link{
    padding-left:7px!important;
    padding-right:7px!important;
  }
  .ua-global-nav-link>span{
    font-size:clamp(13px,1.08vw,17px)!important;
    letter-spacing:0!important;
  }
  .ua-global-nav-link>small{
    font-size:clamp(6.5px,.55vw,8px)!important;
  }
  .ua-global-submenu{
    min-width:190px!important;
    width:max-content!important;
    max-width:280px!important;
    left:50%!important;
    transform:translate(-50%,-4px)!important;
  }
  .ua-global-nav-category:hover>.ua-global-submenu,
  .ua-global-nav-category:focus-within>.ua-global-submenu{
    transform:translate(-50%,0)!important;
  }
  .ua-global-submenu a{
    justify-content:flex-start!important;
    min-height:44px!important;
    padding:9px 12px!important;
    font-size:14px!important;
    text-align:left!important;
  }
}
.ua-policy-content{max-width:900px!important;padding-top:38px!important;padding-bottom:68px!important}
.ua-policy-lead{margin:0 0 24px;padding:20px 22px;border:1px solid #111;background:#f3f3f3}
.ua-policy-lead p{margin:0;font-size:14px;line-height:2}
.ua-policy-block{margin:0 0 24px}
.ua-policy-block h2{margin:0 0 12px;padding:10px 14px;background:#111;color:#fff;font-size:17px;line-height:1.5;font-weight:800}
.ua-policy-block p{margin:0;font-size:13px;line-height:2.05;color:#111}
.ua-policy-block a{color:#111;text-decoration:underline;text-underline-offset:3px}
.ua-policy-updated{margin:36px 0 0;padding-top:18px;border-top:1px solid #111;font-size:12px;line-height:1.9}
.ua-contact-agree a{color:#111;text-decoration:underline;text-underline-offset:2px;font-weight:700}
@media(max-width:900px){
  .ua-policy-content{padding-top:28px!important;padding-bottom:48px!important}
  .ua-policy-lead{margin-bottom:20px;padding:16px 15px}
  .ua-policy-lead p{font-size:13px;line-height:1.95}
  .ua-policy-block{margin-bottom:20px}
  .ua-policy-block h2{margin-bottom:10px;padding:9px 11px;font-size:15px}
  .ua-policy-block p{font-size:12.5px;line-height:1.95}
  .ua-policy-updated{margin-top:28px;font-size:11px}
}


/* v1.10.2: multi-type contact form, confirmation screen, and archive-matching masthead. */
.ua-contact-page .ua-page-hero{margin:0!important}
.ua-contact-content{max-width:var(--ua-shell)!important}
.ua-contact-form-guide{margin:18px 0 0;padding:18px 20px;border:1px solid #111;background:#111;color:#fff}
.ua-contact-form-guide strong{display:block;font-size:15px;margin-bottom:5px}
.ua-contact-form-guide p{margin:0;font-size:12px;line-height:1.8;color:rgba(255,255,255,.82)}
.ua-contact-form-fields[hidden]{display:none!important}
.ua-contact-type-section{display:none;margin:22px 0 0;border-top:1px solid #111}
.ua-contact-type-section.is-active{display:block}
.ua-contact-type-title{padding:20px 0 6px}
.ua-contact-type-title span{display:block;margin-bottom:5px;font:800 9px/1 Montserrat,"Noto Sans JP",sans-serif;letter-spacing:.18em}
.ua-contact-type-title h2{margin:0 0 7px;font-size:clamp(20px,2.2vw,30px);line-height:1.35}
.ua-contact-type-title p{margin:0;color:#555;font-size:13px;line-height:1.8}
.ua-postal-input{display:flex;gap:8px;align-items:stretch}
.ua-postal-input input{flex:1;min-width:0}
.ua-postal-input button{flex:0 0 auto;border:1px solid #111;background:#111;color:#fff;padding:0 15px;font:700 11px/1.2 inherit;cursor:pointer;white-space:nowrap}
.ua-postal-input button:hover{background:#fff;color:#111}
.ua-postal-field small{display:block;min-height:1.5em;margin-top:6px;color:#555;font-size:11px;line-height:1.5}
.ua-contact-confirm{border:1px solid #111;background:#fff}
.ua-contact-confirm-head{padding:26px 28px 22px;background:#111;color:#fff}
.ua-contact-confirm-head span{display:block;margin-bottom:7px;font:800 9px/1 Montserrat,"Noto Sans JP",sans-serif;letter-spacing:.18em}
.ua-contact-confirm-head h2{margin:0 0 8px;font-size:clamp(22px,2.5vw,34px);line-height:1.3}
.ua-contact-confirm-head p{margin:0;color:rgba(255,255,255,.82);font-size:13px;line-height:1.8}
.ua-contact-confirm-list{margin:0;padding:0}
.ua-contact-confirm-list>div{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;padding:16px 24px;border-bottom:1px solid #ddd}
.ua-contact-confirm-list dt{font-weight:800}.ua-contact-confirm-list dd{margin:0;line-height:1.8;overflow-wrap:anywhere}
.ua-contact-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:22px 24px}
.ua-contact-confirm-actions form{margin:0}
.ua-contact-confirm-actions button{width:100%;min-height:50px;border:1px solid #111;background:#111;color:#fff;font-family:inherit;font-weight:800;cursor:pointer}
.ua-contact-confirm-actions button.is-secondary{background:#fff;color:#111}
.ua-contact-confirm-actions button:hover{opacity:.82}
@media(max-width:900px){
  .ua-contact-type-title{padding-top:17px}
  .ua-postal-input{display:grid;grid-template-columns:1fr}
  .ua-postal-input button{min-height:44px}
  .ua-contact-confirm-head{padding:20px 18px}
  .ua-contact-confirm-list>div{grid-template-columns:1fr;gap:5px;padding:14px 16px}
  .ua-contact-confirm-actions{grid-template-columns:1fr;padding:16px}
}


/* v1.10.4: contact required badges + remove the obsolete form guide block. */
.ua-contact-form .ua-contact-field label em{
  background:#d60000!important;
  color:#fff!important;
}
.ua-contact-form-guide{
  display:none!important;
}


/* v1.10.5: the selected contact-type heading belongs to the same form and must appear before all shared fields. */
.ua-contact-selected-title{
  margin:0 0 2px!important;
  padding:20px 0 14px!important;
  border-bottom:1px solid #111!important;
}
.ua-contact-selected-title[hidden]{display:none!important;}
.ua-contact-type-section{margin-top:0!important;border-top:0!important;}


/* v1.10.8: keep every hamburger-category submenu row the same height.
   The old 220px open-panel cap clipped the last category ("機能・開発"),
   making that row appear shorter than the others. */
@media (max-width:900px){
  .ua-mobile-category-panel.is-open{
    max-height:460px!important;
    overflow-y:auto!important;
  }
  .ua-mobile-category-panel a{
    box-sizing:border-box!important;
    flex:0 0 48px!important;
    height:48px!important;
    min-height:48px!important;
    max-height:48px!important;
    padding:6px 16px!important;
    line-height:1.2!important;
  }
}
@media (max-width:520px){
  .ua-mobile-category-panel.is-open{
    max-height:420px!important;
  }
  .ua-mobile-category-panel a{
    height:48px!important;
    min-height:48px!important;
    max-height:48px!important;
  }
}


/* v1.10.9: mobile hamburger / close button horizontal twirl.
   The clicked icon rotates around its vertical axis before the menu opens/closes. */
@keyframes uaHorizontalMenuSpin{
  0%{
    rotate:y 0deg;
    filter:brightness(1);
  }
  45%{
    rotate:y 180deg;
    filter:brightness(.72);
  }
  100%{
    rotate:y 360deg;
    filter:brightness(1);
  }
}
@media (max-width:900px){
  .ua-menu-button,
  .ua-drawer-close{
    transform-style:preserve-3d!important;
    perspective:520px!important;
    backface-visibility:visible!important;
    will-change:rotate,filter!important;
  }
  .ua-menu-button.ua-horizontal-spin,
  .ua-drawer-close.ua-horizontal-spin{
    animation:uaHorizontalMenuSpin .56s cubic-bezier(.22,.8,.22,1) both!important;
    pointer-events:none!important;
  }
}
@media (prefers-reduced-motion:reduce){
  .ua-menu-button.ua-horizontal-spin,
  .ua-drawer-close.ua-horizontal-spin{
    animation-duration:.01ms!important;
  }
}


/* v1.10.10: match the uploaded reference video.
   Instead of rotating the entire button in 3D, the three horizontal strokes
   fold toward the centre, briefly form a fan, and become an X.
   Closing performs the same motion in reverse while the drawer moves away. */
@keyframes uaMenuRefTopOpen{
  0%   {translate:0 0;    rotate:0deg}
  38%  {translate:0 9px;  rotate:0deg}
  68%  {translate:0 9px;  rotate:24deg}
  100% {translate:0 9px;  rotate:45deg}
}
@keyframes uaMenuRefMiddleOpen{
  0%,34% {opacity:1;scale:1 1}
  70%     {opacity:.35;scale:.35 1}
  100%    {opacity:0;scale:.05 1}
}
@keyframes uaMenuRefBottomOpen{
  0%   {translate:0 0;     rotate:0deg}
  38%  {translate:0 -9px;  rotate:0deg}
  68%  {translate:0 -9px;  rotate:-24deg}
  100% {translate:0 -9px;  rotate:-45deg}
}

@keyframes uaDrawerRefTopOpen{
  0%   {translate:0 -8px; rotate:0deg}
  38%  {translate:0 -2px; rotate:0deg}
  68%  {translate:0 0;    rotate:24deg}
  100% {translate:0 0;    rotate:45deg}
}
@keyframes uaDrawerRefMiddleOpen{
  0%,32% {opacity:1;scale:1 1}
  70%     {opacity:.35;scale:.35 1}
  100%    {opacity:0;scale:.05 1}
}
@keyframes uaDrawerRefBottomOpen{
  0%   {translate:0 8px; rotate:0deg}
  38%  {translate:0 2px; rotate:0deg}
  68%  {translate:0 0;   rotate:-24deg}
  100% {translate:0 0;   rotate:-45deg}
}

@keyframes uaDrawerRefTopClose{
  0%   {translate:0 0;    rotate:45deg}
  32%  {translate:0 0;    rotate:24deg}
  66%  {translate:0 -2px; rotate:0deg}
  100% {translate:0 -8px; rotate:0deg}
}
@keyframes uaDrawerRefMiddleClose{
  0%      {opacity:0;scale:.05 1}
  38%     {opacity:.3;scale:.35 1}
  72%,100%{opacity:1;scale:1 1}
}
@keyframes uaDrawerRefBottomClose{
  0%   {translate:0 0;   rotate:-45deg}
  32%  {translate:0 0;   rotate:-24deg}
  66%  {translate:0 2px; rotate:0deg}
  100% {translate:0 8px; rotate:0deg}
}

@media (max-width:900px){
  /* Cancel the previous whole-button 3D spin. */
  .ua-menu-button,
  .ua-drawer-close{
    transform:none!important;
    rotate:none!important;
    filter:none!important;
  }
  .ua-menu-button.ua-horizontal-spin,
  .ua-drawer-close.ua-horizontal-spin{
    animation:none!important;
  }

  /* Header hamburger morphs immediately as the black drawer starts moving in. */
  .ua-menu-button>span{
    transform:none!important;
    transform-origin:center!important;
    translate:0 0;
    rotate:0deg;
    scale:1 1;
    will-change:translate,rotate,scale,opacity!important;
  }
  .ua-menu-button.ua-menu-morph-open>span:nth-child(1){
    animation:uaMenuRefTopOpen .44s cubic-bezier(.22,.72,.22,1) both!important;
  }
  .ua-menu-button.ua-menu-morph-open>span:nth-child(2){
    animation:uaMenuRefMiddleOpen .38s ease-out both!important;
  }
  .ua-menu-button.ua-menu-morph-open>span:nth-child(3){
    animation:uaMenuRefBottomOpen .44s cubic-bezier(.22,.72,.22,1) both!important;
  }

  /* The drawer control begins as three horizontal lines and finishes as X. */
  .ua-drawer-close>span{
    left:50%!important;
    top:50%!important;
    width:40px!important;
    height:2px!important;
    transform:none!important;
    transform-origin:center!important;
    margin-left:-20px!important;
    margin-top:-1px!important;
    translate:0 0;
    rotate:0deg;
    scale:1 1;
    opacity:1;
    will-change:translate,rotate,scale,opacity!important;
  }
  .ua-drawer-close>span:first-child,
  .ua-drawer-close>span:last-child{
    transform:none!important;
  }

  .ua-drawer.is-open:not(.is-closing) .ua-drawer-close>span:nth-child(1){
    animation:uaDrawerRefTopOpen .46s cubic-bezier(.22,.72,.22,1) .08s both!important;
  }
  .ua-drawer.is-open:not(.is-closing) .ua-drawer-close>span:nth-child(2){
    animation:uaDrawerRefMiddleOpen .40s ease-out .08s both!important;
  }
  .ua-drawer.is-open:not(.is-closing) .ua-drawer-close>span:nth-child(3){
    animation:uaDrawerRefBottomOpen .46s cubic-bezier(.22,.72,.22,1) .08s both!important;
  }

  /* Stable X after the opening animation finishes. */
  .ua-drawer.is-open:not(.is-closing) .ua-drawer-close>span:nth-child(1){
    translate:0 0;rotate:45deg;
  }
  .ua-drawer.is-open:not(.is-closing) .ua-drawer-close>span:nth-child(2){
    opacity:0;scale:.05 1;
  }
  .ua-drawer.is-open:not(.is-closing) .ua-drawer-close>span:nth-child(3){
    translate:0 0;rotate:-45deg;
  }

  /* X -> fan -> hamburger while the menu slides back up. */
  .ua-drawer.is-closing .ua-drawer-close>span:nth-child(1){
    animation:uaDrawerRefTopClose .44s cubic-bezier(.22,.72,.22,1) both!important;
  }
  .ua-drawer.is-closing .ua-drawer-close>span:nth-child(2){
    animation:uaDrawerRefMiddleClose .38s ease-out both!important;
  }
  .ua-drawer.is-closing .ua-drawer-close>span:nth-child(3){
    animation:uaDrawerRefBottomClose .44s cubic-bezier(.22,.72,.22,1) both!important;
  }
}
@media (max-width:520px){
  .ua-drawer-close>span{
    width:34px!important;
    margin-left:-17px!important;
  }
}
@media (prefers-reduced-motion:reduce){
  .ua-menu-button.ua-menu-morph-open>span,
  .ua-drawer.is-open .ua-drawer-close>span,
  .ua-drawer.is-closing .ua-drawer-close>span{
    animation-duration:.01ms!important;
    animation-delay:0ms!important;
  }
}


/* v1.10.11: hamburger animation based on the user's #btn08 example.
   Slow transition. Hamburger = black, close X = white. */
@media (max-width:900px){
  .ua-menu-button,
  .ua-drawer-close{
    transform:none!important;
    rotate:none!important;
    filter:none!important;
  }

  .ua-menu-button>span,
  .ua-drawer-close>span{
    position:absolute!important;
    left:50%!important;
    width:38px!important;
    height:2px!important;
    margin-left:-19px!important;
    border:0!important;
    border-radius:0!important;
    transition:
      transform .72s cubic-bezier(.65,0,.35,1),
      opacity .48s ease,
      background-color .35s ease!important;
    -webkit-transition:
      -webkit-transform .72s cubic-bezier(.65,0,.35,1),
      opacity .48s ease,
      background-color .35s ease!important;
    transform-origin:center!important;
    -webkit-transform-origin:center!important;
    animation:none!important;
    translate:none!important;
    rotate:none!important;
    scale:none!important;
  }

  /* Closed state: three black horizontal lines. */
  .ua-menu-button>span{
    background:#000!important;
    opacity:1!important;
  }
  .ua-menu-button>span:nth-of-type(1){
    top:calc(50% - 10px)!important;
    transform:translateY(0) rotate(0deg)!important;
    -webkit-transform:translateY(0) rotate(0deg)!important;
  }
  .ua-menu-button>span:nth-of-type(2){
    top:50%!important;
    transform:translateY(-1px) rotate(0deg)!important;
    -webkit-transform:translateY(-1px) rotate(0deg)!important;
  }
  .ua-menu-button>span:nth-of-type(3){
    top:calc(50% + 8px)!important;
    transform:translateY(0) rotate(0deg)!important;
    -webkit-transform:translateY(0) rotate(0deg)!important;
  }

  /* Exact #btn08-style active state, scaled to the existing button geometry. */
  .ua-menu-button.active>span:nth-of-type(1){
    transform:translateY(10px) rotate(-315deg)!important;
    -webkit-transform:translateY(10px) rotate(-315deg)!important;
  }
  .ua-menu-button.active>span:nth-of-type(2){
    opacity:0!important;
  }
  .ua-menu-button.active>span:nth-of-type(3){
    transform:translateY(-10px) rotate(315deg)!important;
    -webkit-transform:translateY(-10px) rotate(315deg)!important;
  }

  /* Drawer close control uses the same three-line animation but in white. */
  .ua-drawer-close>span{
    background:#fff!important;
    opacity:1!important;
  }
  .ua-drawer-close>span:nth-of-type(1){
    top:calc(50% - 10px)!important;
    transform:translateY(0) rotate(0deg)!important;
    -webkit-transform:translateY(0) rotate(0deg)!important;
  }
  .ua-drawer-close>span:nth-of-type(2){
    top:50%!important;
    transform:translateY(-1px) rotate(0deg)!important;
    -webkit-transform:translateY(-1px) rotate(0deg)!important;
  }
  .ua-drawer-close>span:nth-of-type(3){
    top:calc(50% + 8px)!important;
    transform:translateY(0) rotate(0deg)!important;
    -webkit-transform:translateY(0) rotate(0deg)!important;
  }
  .ua-drawer-close.active>span:nth-of-type(1){
    transform:translateY(10px) rotate(-315deg)!important;
    -webkit-transform:translateY(10px) rotate(-315deg)!important;
  }
  .ua-drawer-close.active>span:nth-of-type(2){
    opacity:0!important;
  }
  .ua-drawer-close.active>span:nth-of-type(3){
    transform:translateY(-10px) rotate(315deg)!important;
    -webkit-transform:translateY(-10px) rotate(315deg)!important;
  }

  /* Neutralize earlier animation selectors. */
  .ua-menu-button.ua-menu-morph-open>span,
  .ua-menu-button.ua-horizontal-spin,
  .ua-drawer-close.ua-horizontal-spin,
  .ua-drawer.is-open .ua-drawer-close>span,
  .ua-drawer.is-closing .ua-drawer-close>span{
    animation:none!important;
  }
}

@media (prefers-reduced-motion:reduce){
  .ua-menu-button>span,
  .ua-drawer-close>span{
    transition-duration:.01ms!important;
  }
}


/* v1.10.12: start hamburger/close morph immediately on tap. */
@media (max-width:900px){
  .ua-menu-button,
  .ua-drawer-close{
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:transparent!important;
  }

  .ua-menu-button>span,
  .ua-drawer-close>span{
    transition-delay:0s!important;
    -webkit-transition-delay:0s!important;
  }
}


/* v1.10.13 — hamburger animation rebuilt from the uploaded
   hamburger-menu-sample02 behavior.
   One control is used for both states, removing the duplicate/flash issue.
   The existing top-to-bottom drawer slide is intentionally preserved. */
@media (max-width:900px){

  /* Keep the existing drawer movement exactly as the site uses it. */
  .ua-drawer-panel{
    transform:translate3d(0,-100%,0)!important;
    transition:transform 1.15s cubic-bezier(.22,.76,.24,1)!important;
  }
  .ua-drawer.is-open .ua-drawer-panel{
    transform:translate3d(0,0,0)!important;
  }
  .ua-drawer.is-closing .ua-drawer-panel{
    transform:translate3d(0,-100%,0)!important;
    transition-duration:1.05s!important;
  }

  /* The same header button remains above the sliding black menu. */
  html.ua-menu-open .ua-header{
    z-index:360!important;
    background:transparent!important;
    border-color:transparent!important;
    box-shadow:none!important;
  }
  html.ua-menu-open .ua-header::after{
    display:none!important;
  }
  html.ua-menu-open .ua-header-inner{
    pointer-events:none!important;
  }
  html.ua-menu-open .ua-menu-button{
    pointer-events:auto!important;
  }
  html.ua-menu-open .ua-brand-logo{
    filter:brightness(0) invert(1)!important;
  }

  /* Remove the second close control completely. This is what prevented
     the temporary extra three-line icon when the drawer appeared. */
  .ua-drawer-close{
    display:none!important;
  }

  /* Uploaded sample dimensions/behavior adapted to URANO ANOINE. */
  .ua-menu-button{
    position:relative!important;
    display:block!important;
    width:48px!important;
    height:36px!important;
    min-width:48px!important;
    min-height:36px!important;
    padding:3px 9px!important;
    margin:0!important;
    border:0!important;
    background:transparent!important;
    cursor:pointer!important;
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:transparent!important;
    z-index:2!important;
  }

  .ua-menu-button>span{
    display:block!important;
    position:absolute!important;
    left:9px!important;
    width:30px!important;
    height:2px!important;
    min-height:2px!important;
    margin:0!important;
    padding:0!important;
    background-color:#000!important;
    border:0!important;
    border-radius:4px!important;
    opacity:1!important;
    transform:none!important;
    -webkit-transform:none!important;
    transform-origin:center!important;
    -webkit-transform-origin:center!important;
    transition:
      transform .68s cubic-bezier(.65,0,.35,1),
      opacity .42s ease,
      background-color .22s linear!important;
    -webkit-transition:
      -webkit-transform .68s cubic-bezier(.65,0,.35,1),
      opacity .42s ease,
      background-color .22s linear!important;
    transition-delay:0s!important;
    animation:none!important;
    translate:none!important;
    rotate:none!important;
    scale:none!important;
  }

  .ua-menu-button>span:nth-child(1){
    top:7px!important;
  }
  .ua-menu-button>span:nth-child(2){
    top:17px!important;
  }
  .ua-menu-button>span:nth-child(3){
    top:27px!important;
  }

  /* Same transforms as the uploaded sample02:
     line 1: translateY(10px) rotate(-315deg)
     line 2: opacity 0
     line 3: translateY(-10px) rotate(315deg) */
  .ua-menu-button.active>span{
    background-color:#fff!important;
  }
  .ua-menu-button.active>span:nth-child(1){
    transform:translateY(10px) rotate(-315deg)!important;
    -webkit-transform:translateY(10px) rotate(-315deg)!important;
  }
  .ua-menu-button.active>span:nth-child(2){
    opacity:0!important;
  }
  .ua-menu-button.active>span:nth-child(3){
    transform:translateY(-10px) rotate(315deg)!important;
    -webkit-transform:translateY(-10px) rotate(315deg)!important;
  }

  /* Neutralize every older experimental hamburger animation rule. */
  .ua-menu-button.ua-menu-morph-open>span,
  .ua-menu-button.ua-horizontal-spin,
  .ua-drawer-close.ua-horizontal-spin,
  .ua-drawer.is-open .ua-drawer-close>span,
  .ua-drawer.is-closing .ua-drawer-close>span{
    animation:none!important;
  }
}

@media (prefers-reduced-motion:reduce){
  .ua-menu-button>span{
    transition-duration:.01ms!important;
  }
}


/* v1.10.14 — icon morph and drawer slide are strictly sequential.
   OPEN : hamburger -> X (0.68s), then drawer slides down.
   CLOSE: drawer slides up (1.05s), then X -> hamburger (0.68s).
   No time overlap between the two motion systems. */
@media (max-width:900px){
  /* Before the drawer begins moving, the transformed X stays black
     so it remains visible on the normal white header. */
  .ua-menu-button.active>span{
    background-color:#000!important;
  }

  /* Only once the drawer slide starts does the X become white. */
  html.ua-menu-open .ua-menu-button.active>span{
    background-color:#fff!important;
  }

  /* Keep the exact sample-based transform speed explicit. */
  .ua-menu-button>span{
    transition:
      transform .68s cubic-bezier(.65,0,.35,1),
      opacity .42s ease,
      background-color .18s linear!important;
    -webkit-transition:
      -webkit-transform .68s cubic-bezier(.65,0,.35,1),
      opacity .42s ease,
      background-color .18s linear!important;
    transition-delay:0s!important;
    -webkit-transition-delay:0s!important;
  }
}


/* v1.10.15
   Mobile navigation rebuilt from the user-supplied open_navi specification.
   Icon: .35s ease-in-out
   Fullscreen slide: .7s ease-in-out
   Content blur: 3px / .7s
   Submenu arrow: .2s
*/
@media (max-width:900px){

  /* One button only. The duplicate in-drawer close icon remains disabled. */
  .ua-drawer-close{
    display:none!important;
  }

  .ua-menu-button{
    position:relative!important;
    display:block!important;
    width:48px!important;
    height:36px!important;
    min-width:48px!important;
    min-height:36px!important;
    padding:0 9px!important;
    margin:0!important;
    border:0!important;
    background:transparent!important;
    cursor:pointer!important;
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:transparent!important;
    z-index:380!important;
  }

  /* Normal three-line state.
     Closed hamburger stays black per the existing URANO ANOINE requirement. */
  .ua-menu-button>span{
    display:block!important;
    position:absolute!important;
    left:9px!important;
    width:30px!important;
    height:4px!important;
    min-height:4px!important;
    margin:0!important;
    padding:0!important;
    background:#000!important;
    border:0!important;
    border-radius:4px!important;
    opacity:1!important;
    transform:none!important;
    -webkit-transform:none!important;
    transform-origin:center!important;
    -webkit-transform-origin:center!important;
    transition:.35s ease-in-out!important;
    -webkit-transition:.35s ease-in-out!important;
    animation:none!important;
    translate:none!important;
    rotate:none!important;
    scale:none!important;
  }
  .ua-menu-button>span:first-child{
    top:5px!important;
  }
  .ua-menu-button>span:nth-child(2){
    top:16px!important;
  }
  .ua-menu-button>span:nth-child(3){
    top:27px!important;
  }

  /* body.open_navi is the single state switch, matching the supplied code. */
  body.open_navi .ua-menu-button>span{
    background:#fff!important;
  }
  body.open_navi .ua-menu-button>span:first-of-type{
    transform:translateY(11px) rotate(-315deg)!important;
    -webkit-transform:translateY(11px) rotate(-315deg)!important;
  }
  body.open_navi .ua-menu-button>span:nth-of-type(2){
    opacity:0!important;
  }
  body.open_navi .ua-menu-button>span:nth-of-type(3){
    transform:translateY(-11px) rotate(315deg)!important;
    -webkit-transform:translateY(-11px) rotate(315deg)!important;
  }

  /* Fullscreen navigation: off-screen above by default. */
  .ua-drawer{
    position:fixed!important;
    inset:0!important;
    z-index:300!important;
    display:block!important;
    width:100vw!important;
    height:100dvh!important;
    overflow:hidden!important;
    background:transparent!important;
    opacity:1!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:none!important;
  }
  .ua-drawer.is-open{
    visibility:visible!important;
    pointer-events:auto!important;
  }

  .ua-drawer-panel,
  .ua-drawer.is-open .ua-drawer-panel,
  .ua-drawer.is-closing .ua-drawer-panel{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:auto!important;
    bottom:0!important;
    width:100vw!important;
    max-width:none!important;
    height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background-color:rgba(0,0,0,.9)!important;
    border:0!important;
    opacity:1!important;
    visibility:visible!important;
    transform:translateY(-100%)!important;
    -webkit-transform:translateY(-100%)!important;
    transition:transform .7s ease-in-out!important;
    -webkit-transition:-webkit-transform .7s ease-in-out!important;
    animation:none!important;
    will-change:transform!important;
  }

  body.open_navi .ua-drawer.is-open .ua-drawer-panel{
    transform:translateY(0)!important;
    -webkit-transform:translateY(0)!important;
  }

  /* Keep the header button above the dark menu and preserve white X state. */
  html.ua-menu-open .ua-header{
    z-index:360!important;
    background:transparent!important;
    border-color:transparent!important;
    box-shadow:none!important;
  }
  html.ua-menu-open .ua-header-inner{
    pointer-events:none!important;
  }
  html.ua-menu-open .ua-menu-button{
    pointer-events:auto!important;
  }

  /* Blur the page behind the menu, following the supplied #wrapper behavior. */
  .ua-main{
    transform-origin:left center!important;
    filter:blur(0)!important;
    transition:filter .7s ease-in-out!important;
  }
  body.open_navi .ua-main{
    filter:blur(3px)!important;
  }

  /* Submenu arrow: .2s rotation driven by menu_open. */
  .ua-mobile-category-arrow{
    transform:rotate(135deg)!important;
    transform-origin:center!important;
    transition:transform .2s ease-in-out!important;
  }
  .ua-mobile-category-group.menu_open .ua-mobile-category-arrow{
    transform:rotate(-45deg)!important;
  }

  /* Neutralize all earlier experimental icon animation classes. */
  .ua-menu-button.active>span,
  .ua-menu-button.ua-menu-morph-open>span,
  .ua-menu-button.ua-horizontal-spin{
    animation:none!important;
  }
}

/* Preserve smooth return when the menu closes. */
@media (prefers-reduced-motion:reduce){
  .ua-menu-button>span,
  .ua-drawer-panel,
  .ua-main,
  .ua-mobile-category-arrow{
    transition-duration:.01ms!important;
  }
}


/* v1.10.16: mobile category dropdown icon direction.
   Closed = down, Open = up. */
@media (max-width:900px){
  .ua-mobile-category-arrow{
    transform:rotate(45deg)!important;
    transform-origin:center!important;
    transition:transform .2s ease-in-out!important;
  }
  .ua-mobile-category-group.menu_open .ua-mobile-category-arrow,
  .ua-mobile-submenu-toggle.is-open .ua-mobile-category-arrow{
    transform:rotate(-135deg)!important;
  }
}


/* v1.10.17: mobile hamburger menu background is fully opaque black. */
@media (max-width:900px){
  .ua-drawer-panel,
  .ua-drawer.is-open .ua-drawer-panel,
  .ua-drawer.is-closing .ua-drawer-panel,
  body.open_navi .ua-drawer.is-open .ua-drawer-panel{
    background:#000!important;
    background-color:#000!important;
  }
}


/* v1.10.18: visually isolate the mobile header from the sliding menu.
   This removes the tiny overlap where the moving black drawer edge could be
   seen through/behind the logo and hamburger during open/close. */
@media (max-width:900px){
  .ua-header{
    z-index:420!important;
    overflow:hidden!important;
    isolation:isolate!important;
    background:#fff!important;
    transition:none!important;
    -webkit-transition:none!important;
  }

  .ua-header-inner{
    position:relative!important;
    z-index:2!important;
    background:inherit!important;
  }

  .ua-brand,
  .ua-brand-logo,
  .ua-header-right,
  .ua-menu-button{
    position:relative!important;
    z-index:3!important;
  }

  /* Once menu-open state begins, the header becomes a fully opaque black
     cap above the sliding black drawer. There is no transparent stage. */
  html.ua-menu-open .ua-header{
    background:#000!important;
    background-color:#000!important;
    border-color:#000!important;
    box-shadow:none!important;
    transition:none!important;
  }

  html.ua-menu-open .ua-header-inner{
    background:#000!important;
    background-color:#000!important;
  }

  html.ua-menu-open .ua-brand-logo{
    filter:brightness(0) invert(1)!important;
    opacity:1!important;
    visibility:visible!important;
    transition:none!important;
  }

  /* Keep the button white for the entire open/closing phase.
     body.open_navi is removed at the start of closing, but ua-menu-open
     remains until the drawer has completely finished moving. */
  html.ua-menu-open .ua-menu-button>span{
    background:#fff!important;
    background-color:#fff!important;
  }

  /* Ensure the drawer is always below the isolated header layer. */
  .ua-drawer{
    z-index:300!important;
  }

  /* No translucent header divider while the black menu is active. */
  html.ua-menu-open .ua-header::after{
    display:none!important;
  }
}


/* v1.10.19: natural mobile menu/header motion.
   The drawer is clipped below the 76px mobile header, so its moving black edge
   never crosses the logo or hamburger area. Header colors now transition
   smoothly instead of switching abruptly. */
@media (max-width:900px){

  /* Header remains a separate, clean layer. */
  .ua-header,
  html.ua-menu-open .ua-header{
    z-index:420!important;
    overflow:hidden!important;
    isolation:isolate!important;
    background:#fff!important;
    background-color:#fff!important;
    border-color:#111!important;
    box-shadow:none!important;
    transition:
      background-color .35s ease-in-out,
      border-color .35s ease-in-out!important;
    -webkit-transition:
      background-color .35s ease-in-out,
      border-color .35s ease-in-out!important;
  }

  .ua-header-inner,
  html.ua-menu-open .ua-header-inner{
    background:transparent!important;
    transition:background-color .35s ease-in-out!important;
    -webkit-transition:background-color .35s ease-in-out!important;
  }

  .ua-brand-logo,
  html.ua-menu-open .ua-brand-logo{
    filter:none!important;
    opacity:1!important;
    visibility:visible!important;
    transition:filter .35s ease-in-out!important;
    -webkit-transition:-webkit-filter .35s ease-in-out!important;
  }

  .ua-menu-button>span,
  html.ua-menu-open .ua-menu-button>span{
    background:#000!important;
    background-color:#000!important;
    transition:
      transform .35s ease-in-out,
      opacity .35s ease-in-out,
      background-color .35s ease-in-out!important;
    -webkit-transition:
      -webkit-transform .35s ease-in-out,
      opacity .35s ease-in-out,
      background-color .35s ease-in-out!important;
  }

  /* While open, header, logo and X transition together to black/white. */
  html.ua-menu-open body.open_navi .ua-header{
    background:#000!important;
    background-color:#000!important;
    border-color:#000!important;
  }

  html.ua-menu-open body.open_navi .ua-brand-logo{
    filter:brightness(0) invert(1)!important;
  }

  html.ua-menu-open body.open_navi .ua-menu-button>span{
    background:#fff!important;
    background-color:#fff!important;
  }

  /* Clip the sliding menu below the header.
     This is the key fix: the moving drawer edge physically cannot enter
     the 76px header zone, eliminating visual overlap without abrupt masking. */
  .ua-drawer,
  .ua-drawer.is-open{
    top:76px!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    inset:auto 0 0 0!important;
    width:100vw!important;
    height:calc(100dvh - 76px)!important;
    max-height:calc(100dvh - 76px)!important;
    overflow:hidden!important;
    z-index:300!important;
  }

  .ua-drawer-panel,
  .ua-drawer.is-open .ua-drawer-panel,
  .ua-drawer.is-closing .ua-drawer-panel{
    position:absolute!important;
    top:0!important;
    right:0!important;
    bottom:auto!important;
    left:0!important;
    width:100%!important;
    height:100%!important;
    max-height:100%!important;
    transform:translateY(-100%)!important;
    -webkit-transform:translateY(-100%)!important;
    transition:transform .7s ease-in-out!important;
    -webkit-transition:-webkit-transform .7s ease-in-out!important;
    will-change:transform!important;
  }

  body.open_navi .ua-drawer.is-open .ua-drawer-panel{
    transform:translateY(0)!important;
    -webkit-transform:translateY(0)!important;
  }

  /* Keep all menu content safely inside the clipped area. */
  .ua-drawer-panel{
    box-sizing:border-box!important;
  }

  html.ua-menu-open .ua-header::after{
    display:none!important;
  }
}

@media (prefers-reduced-motion:reduce){
  .ua-header,
  .ua-brand-logo,
  .ua-menu-button>span{
    transition-duration:.01ms!important;
  }
}


/* v1.10.20: make mobile menu content feel attached to the X button and
   remove the "items visibly coming down with the panel" feeling. */
@media (max-width:900px){

  /* Bring the navigation group closer to the fixed header/X.
     The drawer itself starts immediately below the 76px header. */
  .ua-mobile-menu-list{
    width:min(82vw,680px)!important;
    padding:26px 0 28px!important;
    gap:18px!important;
    margin:0 auto!important;

    /* Keep labels still while only the black panel slides.
       They fade in once the panel is mostly settled. */
    opacity:0!important;
    transform:none!important;
    -webkit-transform:none!important;
    transition:opacity .20s ease 0s!important;
    -webkit-transition:opacity .20s ease 0s!important;
    will-change:opacity!important;
  }

  body.open_navi .ua-mobile-menu-list{
    opacity:1!important;
    transition-delay:.38s!important;
    -webkit-transition-delay:.38s!important;
  }

  /* Closing: remove labels promptly, then the black panel continues upward.
     This prevents text from visibly travelling toward the top edge. */
  .ua-drawer.is-closing .ua-mobile-menu-list{
    opacity:0!important;
    transition-delay:0s!important;
    -webkit-transition-delay:0s!important;
    transition-duration:.14s!important;
    -webkit-transition-duration:.14s!important;
  }

  /* Slightly tighter vertical rhythm so the first item feels related to
     the close/X control rather than floating far below it. */
  .ua-mobile-menu-item{
    min-height:56px!important;
    padding-top:8px!important;
    padding-bottom:8px!important;
  }
}

@media (max-width:520px){
  .ua-mobile-menu-list{
    width:calc(100% - 48px)!important;
    padding:18px 0 24px!important;
    gap:14px!important;
  }

  .ua-mobile-menu-item{
    min-height:54px!important;
  }
}

@media (prefers-reduced-motion:reduce){
  .ua-mobile-menu-list{
    transition-duration:.01ms!important;
    transition-delay:0ms!important;
  }
}


/* v1.10.21: mobile menu labels stay fully hidden until the drawer has
   completed its slide. Also tighten typography and item height. */
@media (max-width:900px){

  /* Prevent menu labels from being seen while the black panel is sliding in. */
  .ua-mobile-menu-list{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:none!important;
    -webkit-transform:none!important;
    transition:
      opacity .18s ease .72s,
      visibility 0s linear .72s!important;
    -webkit-transition:
      opacity .18s ease .72s,
      visibility 0s linear .72s!important;
  }

  /* The panel slide is 0.7s, so reveal text only after it is fully settled. */
  body.open_navi .ua-mobile-menu-list{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transition:
      opacity .18s ease .72s,
      visibility 0s linear .72s!important;
    -webkit-transition:
      opacity .18s ease .72s,
      visibility 0s linear .72s!important;
  }

  /* On close, hide text immediately before the panel begins moving upward. */
  .ua-drawer.is-closing .ua-mobile-menu-list,
  body:not(.open_navi) .ua-drawer .ua-mobile-menu-list{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:
      opacity .08s ease 0s,
      visibility 0s linear .08s!important;
    -webkit-transition:
      opacity .08s ease 0s,
      visibility 0s linear .08s!important;
  }

  /* Smaller, tighter primary menu items. */
  .ua-mobile-menu-item,
  .ua-mobile-submenu-toggle{
    min-height:46px!important;
    padding-top:5px!important;
    padding-bottom:5px!important;
    font-size:14px!important;
    line-height:1.35!important;
  }

  .ua-mobile-menu-item a,
  .ua-mobile-submenu-toggle{
    font-size:14px!important;
    line-height:1.35!important;
  }

  /* Smaller category dropdown rows as well. */
  .ua-mobile-category-panel a{
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    padding:5px 14px!important;
    font-size:13px!important;
    line-height:1.25!important;
  }
}

@media (max-width:520px){
  .ua-mobile-menu-list{
    padding-top:14px!important;
    gap:10px!important;
  }

  .ua-mobile-menu-item,
  .ua-mobile-submenu-toggle{
    min-height:42px!important;
    font-size:13px!important;
  }

  .ua-mobile-menu-item a,
  .ua-mobile-submenu-toggle{
    font-size:13px!important;
  }

  .ua-mobile-category-panel a{
    height:40px!important;
    min-height:40px!important;
    max-height:40px!important;
    font-size:12.5px!important;
  }
}

@media (prefers-reduced-motion:reduce){
  .ua-mobile-menu-list{
    transition-duration:.01ms!important;
    transition-delay:0ms!important;
  }
}


/* v1.10.22: no fade animation for mobile menu labels.
   Labels stay fully hidden during the 0.7s drawer slide, then appear instantly.
   On close, they disappear instantly before the drawer moves upward. */
@media (max-width:900px){

  .ua-mobile-menu-list{
    opacity:1!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:none!important;
    -webkit-transition:none!important;
    animation:none!important;
  }

  body.open_navi .ua-mobile-menu-list{
    opacity:1!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:none!important;
    -webkit-transition:none!important;
    animation:none!important;
  }

  /* Reveal only after the drawer's 0.7s movement is finished.
     Visibility switches instantly; there is no opacity transition. */
  body.open_navi .ua-drawer.is-open .ua-mobile-menu-list{
    animation:uaMenuItemsInstantReveal .001s linear .72s forwards!important;
  }

  /* Closing: hide immediately, with no fade. */
  .ua-drawer.is-closing .ua-mobile-menu-list,
  body:not(.open_navi) .ua-drawer .ua-mobile-menu-list{
    opacity:1!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:none!important;
    -webkit-transition:none!important;
    animation:none!important;
  }
}

@keyframes uaMenuItemsInstantReveal{
  from{
    visibility:hidden;
    pointer-events:none;
  }
  to{
    visibility:visible;
    pointer-events:auto;
  }
}

@media (prefers-reduced-motion:reduce){
  body.open_navi .ua-drawer.is-open .ua-mobile-menu-list{
    animation-delay:0s!important;
  }
}


/* v1.10.23: reliable instant menu-item reveal.
   JavaScript adds .menu-items-visible only after the 0.7s drawer slide has
   completed. There is no fade in/out. */
@media (max-width:900px){
  .ua-mobile-menu-list,
  body.open_navi .ua-mobile-menu-list,
  body.open_navi .ua-drawer.is-open .ua-mobile-menu-list{
    opacity:1!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:none!important;
    -webkit-transition:none!important;
    animation:none!important;
  }

  .ua-drawer.menu-items-visible .ua-mobile-menu-list,
  body.open_navi .ua-drawer.menu-items-visible .ua-mobile-menu-list{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transition:none!important;
    -webkit-transition:none!important;
    animation:none!important;
  }

  .ua-drawer.is-closing .ua-mobile-menu-list,
  body:not(.open_navi) .ua-drawer .ua-mobile-menu-list{
    opacity:1!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:none!important;
    -webkit-transition:none!important;
    animation:none!important;
  }
}


/* v1.10.24: mobile menu background and menu items are one sliding unit.
   No delayed reveal, no fade, no separate visibility timing. */
@media (max-width:900px){
  .ua-mobile-menu-list,
  body.open_navi .ua-mobile-menu-list,
  .ua-drawer.is-open .ua-mobile-menu-list,
  .ua-drawer.is-closing .ua-mobile-menu-list,
  .ua-drawer.menu-items-visible .ua-mobile-menu-list{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
    -webkit-transform:none!important;
    transition:none!important;
    -webkit-transition:none!important;
    animation:none!important;
  }

  /* Keep the compact sizing requested previously. */
  .ua-mobile-menu-item,
  .ua-mobile-submenu-toggle{
    min-height:46px!important;
    padding-top:5px!important;
    padding-bottom:5px!important;
    font-size:14px!important;
    line-height:1.35!important;
  }

  .ua-mobile-menu-item a,
  .ua-mobile-submenu-toggle{
    font-size:14px!important;
    line-height:1.35!important;
  }

  .ua-mobile-category-panel a{
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    padding:5px 14px!important;
    font-size:13px!important;
    line-height:1.25!important;
  }
}

@media (max-width:520px){
  .ua-mobile-menu-item,
  .ua-mobile-submenu-toggle{
    min-height:42px!important;
    font-size:13px!important;
  }

  .ua-mobile-menu-item a,
  .ua-mobile-submenu-toggle{
    font-size:13px!important;
  }

  .ua-mobile-category-panel a{
    height:40px!important;
    min-height:40px!important;
    max-height:40px!important;
    font-size:12.5px!important;
  }
}


/* v1.10.25: definitive mobile-menu visibility fix.
   Older experimental rules used a more-specific selector with
   visibility:hidden. This final selector wins and keeps the menu labels
   visible while the open drawer slides together with its black background. */
@media (max-width:900px){
  body.open_navi .ua-drawer.is-open .ua-mobile-menu-list,
  html.ua-menu-open body.open_navi .ua-drawer.is-open .ua-mobile-menu-list{
    display:flex!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
    -webkit-transform:none!important;
    transition:none!important;
    -webkit-transition:none!important;
    animation:none!important;
  }

  /* Closing also keeps the items attached to the black panel until it leaves. */
  .ua-drawer.is-closing .ua-mobile-menu-list{
    display:flex!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:none!important;
    transition:none!important;
    -webkit-transition:none!important;
    animation:none!important;
  }
}


/* v1.10.26: equalize the top-level "カテゴリー" row with every other
   hamburger-menu item. The arrow/control is intentionally smaller so it
   cannot make the category row taller. */
@media (max-width:900px){
  .ua-mobile-menu-item,
  .ua-mobile-category-row{
    box-sizing:border-box!important;
    height:46px!important;
    min-height:46px!important;
    max-height:46px!important;
    padding-top:5px!important;
    padding-bottom:5px!important;
  }

  .ua-mobile-category-row{
    padding:0!important;
    overflow:visible!important;
  }

  .ua-mobile-category-link{
    box-sizing:border-box!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    padding:5px 44px 5px 16px!important;
  }

  .ua-mobile-category-toggle,
  .ua-mobile-submenu-toggle{
    box-sizing:border-box!important;
    top:0!important;
    right:0!important;
    bottom:auto!important;
    width:40px!important;
    min-width:40px!important;
    height:46px!important;
    min-height:46px!important;
    max-height:46px!important;
    margin:0!important;
    padding:0!important;
    line-height:1!important;
  }

  .ua-mobile-category-toggle .ua-mobile-category-arrow,
  .ua-mobile-submenu-toggle .ua-mobile-category-arrow{
    position:absolute!important;
    top:50%!important;
    right:14px!important;
    width:10px!important;
    height:10px!important;
    margin:-7px 0 0!important;
    border-right:2px solid #fff!important;
    border-bottom:2px solid #fff!important;
    box-sizing:border-box!important;
  }

  .ua-mobile-category-group.menu_open .ua-mobile-category-arrow,
  .ua-mobile-submenu-toggle.is-open .ua-mobile-category-arrow{
    margin:-3px 0 0!important;
  }
}

@media (max-width:520px){
  .ua-mobile-menu-item,
  .ua-mobile-category-row{
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
  }

  .ua-mobile-category-toggle,
  .ua-mobile-submenu-toggle{
    width:38px!important;
    min-width:38px!important;
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
  }

  .ua-mobile-category-link{
    padding-right:42px!important;
  }

  .ua-mobile-category-toggle .ua-mobile-category-arrow,
  .ua-mobile-submenu-toggle .ua-mobile-category-arrow{
    right:13px!important;
    width:9px!important;
    height:9px!important;
    border-right-width:2px!important;
    border-bottom-width:2px!important;
  }
}


/* v1.10.27: align the "カテゴリー" label exactly with the other
   top-level hamburger-menu labels. */
@media (max-width:900px){
  .ua-mobile-category-link{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
    width:100%!important;
    height:46px!important;
    min-height:46px!important;
    max-height:46px!important;
    margin:0!important;
    padding:0 44px!important;
    font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif!important;
    font-size:14px!important;
    font-weight:400!important;
    line-height:1.35!important;
    letter-spacing:.01em!important;
    text-align:center!important;
  }

  /* The arrow is an overlay only; it does not participate in label centering. */
  .ua-mobile-category-toggle{
    position:absolute!important;
    top:0!important;
    right:0!important;
    bottom:auto!important;
    z-index:3!important;
  }
}

@media (max-width:520px){
  .ua-mobile-category-link{
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    padding:0 42px!important;
    font-size:13px!important;
  }
}


/* v1.10.28: URANO ANOINE HTTP error pages */
.ua-error-page{
  min-height:calc(100vh - 76px);
  background:#050505;
  color:#fff;
}
.ua-error-stage{
  position:relative;
  min-height:calc(100vh - 76px);
  overflow:hidden;
  background:
    radial-gradient(circle at 78% 18%, rgba(255,255,255,.08), transparent 28%),
    #050505;
}
.ua-error-grid{
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.18;
  background-image:
    linear-gradient(rgba(255,255,255,.16) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.16) 1px, transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom, #000 0%, transparent 82%);
}
.ua-error-shell{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);
  grid-template-areas:
    "kicker kicker"
    "code copy"
    "nav nav";
  align-items:center;
  gap:26px 54px;
  min-height:calc(100vh - 76px);
  padding-top:64px;
  padding-bottom:54px;
}
.ua-error-kicker{
  grid-area:kicker;
  display:flex;
  align-items:center;
  gap:14px;
  font-family:Arial,sans-serif;
  font-size:11px;
  letter-spacing:.18em;
}
.ua-error-kicker i{
  display:block;
  width:54px;
  height:1px;
  background:#fff;
  opacity:.5;
}
.ua-error-kicker strong{font-weight:500;opacity:.62}
.ua-error-code{
  grid-area:code;
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(128px,23vw,360px);
  font-weight:900;
  line-height:.74;
  letter-spacing:-.08em;
  color:transparent;
  -webkit-text-stroke:2px rgba(255,255,255,.9);
  text-shadow:20px 20px 0 rgba(255,255,255,.04);
  user-select:none;
}
.ua-error-copy{
  grid-area:copy;
  align-self:center;
  max-width:560px;
  padding:28px 0;
}
.ua-error-en{
  margin:0 0 14px;
  font-family:Arial,sans-serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:.24em;
  color:#bdbdbd;
}
.ua-error-copy h1{
  margin:0;
  font-family:"Noto Serif JP","Yu Mincho",serif;
  font-size:clamp(27px,4vw,54px);
  font-weight:600;
  line-height:1.35;
  letter-spacing:.035em;
}
.ua-error-message{
  margin:22px 0 0;
  max-width:34em;
  font-size:14px;
  line-height:2;
  color:#d2d2d2;
}
.ua-error-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:32px;
}
.ua-error-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 22px;
  border:1px solid #fff;
  font-size:12px;
  letter-spacing:.04em;
  text-decoration:none;
  transition:.2s ease;
}
.ua-error-primary{background:#fff;color:#000!important}
.ua-error-primary:hover{background:#dcdcdc}
.ua-error-secondary{background:transparent;color:#fff!important}
.ua-error-secondary:hover{background:#fff;color:#000!important}
.ua-error-nav{
  grid-area:nav;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid rgba(255,255,255,.28);
  border-bottom:1px solid rgba(255,255,255,.28);
}
.ua-error-nav a{
  display:flex;
  align-items:center;
  gap:14px;
  min-height:68px;
  padding:0 18px;
  color:#fff;
  text-decoration:none;
  border-right:1px solid rgba(255,255,255,.28);
  font-size:13px;
}
.ua-error-nav a:last-child{border-right:0}
.ua-error-nav span{
  font-family:Arial,sans-serif;
  font-size:10px;
  opacity:.46;
}
.ua-error-nav a:hover{background:#fff;color:#000}
@media (max-width:780px){
  .ua-error-shell{
    grid-template-columns:1fr;
    grid-template-areas:"kicker" "code" "copy" "nav";
    gap:22px;
    padding-top:42px;
    padding-bottom:36px;
  }
  .ua-error-code{
    font-size:clamp(118px,43vw,210px);
    line-height:.8;
  }
  .ua-error-copy{padding:0}
  .ua-error-copy h1{font-size:28px}
  .ua-error-message{font-size:13px;line-height:1.9}
  .ua-error-nav{grid-template-columns:1fr}
  .ua-error-nav a{
    min-height:54px;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.22);
  }
  .ua-error-nav a:last-child{border-bottom:0}
}


/* v1.10.29: scroll-to-top button no longer changes color according to
   the background behind it. It always uses the same white/black design. */
.ua-scroll-top,
.ua-scroll-top.is-on-dark{
  background:#fff!important;
  background-color:#fff!important;
  border-color:#111!important;
  color:#111!important;
}
.ua-scroll-top:hover,
.ua-scroll-top:focus-visible,
.ua-scroll-top.is-on-dark:hover,
.ua-scroll-top.is-on-dark:focus-visible{
  background:#111!important;
  background-color:#111!important;
  border-color:#111!important;
  color:#fff!important;
}


/* v1.10.30: all URANO ANOINE error pages use a clean white, vertical layout.
   Error number on top, then title/message, then vertically stacked actions. */
.ua-error-page{
  min-height:calc(100vh - 76px)!important;
  background:#fff!important;
  color:#111!important;
}
.ua-error-stage{
  position:relative!important;
  min-height:calc(100vh - 76px)!important;
  overflow:hidden!important;
  background:#fff!important;
  color:#111!important;
}
.ua-error-grid,
.ua-error-kicker{
  display:none!important;
}
.ua-error-shell{
  position:relative!important;
  z-index:1!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:0!important;
  min-height:calc(100vh - 76px)!important;
  padding-top:72px!important;
  padding-bottom:56px!important;
  text-align:center!important;
}
.ua-error-code{
  order:1!important;
  margin:0!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:clamp(120px,24vw,300px)!important;
  font-weight:900!important;
  line-height:.82!important;
  letter-spacing:-.075em!important;
  color:#111!important;
  -webkit-text-stroke:0!important;
  text-shadow:none!important;
  user-select:none!important;
}
.ua-error-copy{
  order:2!important;
  width:min(100%,720px)!important;
  max-width:720px!important;
  margin:34px auto 0!important;
  padding:0!important;
  color:#111!important;
  text-align:center!important;
}
.ua-error-en{
  margin:0 0 14px!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:.22em!important;
  color:#6a6a6a!important;
}
.ua-error-copy h1{
  margin:0!important;
  color:#111!important;
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif!important;
  font-size:clamp(26px,4vw,46px)!important;
  font-weight:600!important;
  line-height:1.4!important;
  letter-spacing:.03em!important;
}
.ua-error-message{
  margin:20px auto 0!important;
  max-width:40em!important;
  color:#555!important;
  font-size:14px!important;
  line-height:2!important;
}
.ua-error-actions{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  width:min(100%,360px)!important;
  gap:12px!important;
  margin:34px auto 0!important;
}
.ua-error-actions a{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:50px!important;
  padding:0 22px!important;
  box-sizing:border-box!important;
  border:1px solid #111!important;
  font-size:13px!important;
  letter-spacing:.03em!important;
  text-decoration:none!important;
  transition:.2s ease!important;
}
.ua-error-primary{
  background:#111!important;
  color:#fff!important;
}
.ua-error-primary:hover,
.ua-error-primary:focus-visible{
  background:#333!important;
  color:#fff!important;
}
.ua-error-secondary{
  background:#fff!important;
  color:#111!important;
}
.ua-error-secondary:hover,
.ua-error-secondary:focus-visible{
  background:#111!important;
  color:#fff!important;
}
.ua-error-nav{
  order:3!important;
  display:flex!important;
  flex-direction:column!important;
  width:min(100%,360px)!important;
  margin:28px auto 0!important;
  border-top:1px solid #d7d7d7!important;
  border-bottom:1px solid #d7d7d7!important;
}
.ua-error-nav a{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  padding:0 14px!important;
  color:#333!important;
  background:#fff!important;
  text-decoration:none!important;
  border:0!important;
  border-bottom:1px solid #e7e7e7!important;
  font-size:12px!important;
}
.ua-error-nav a:last-child{
  border-bottom:0!important;
}
.ua-error-nav a:hover,
.ua-error-nav a:focus-visible{
  background:#f4f4f4!important;
  color:#000!important;
}
.ua-error-nav span{
  display:none!important;
}

@media (max-width:780px){
  .ua-error-shell{
    padding-top:52px!important;
    padding-bottom:40px!important;
  }
  .ua-error-code{
    font-size:clamp(104px,39vw,180px)!important;
    line-height:.86!important;
  }
  .ua-error-copy{
    margin-top:28px!important;
  }
  .ua-error-copy h1{
    font-size:26px!important;
  }
  .ua-error-message{
    font-size:13px!important;
    line-height:1.9!important;
  }
  .ua-error-actions,
  .ua-error-nav{
    width:min(100%,320px)!important;
  }
}


/* v1.10.31: remove secondary error-page navigation buttons. */
.ua-error-nav{
  display:none!important;
}


/* v1.10.32: error-page primary actions
   Desktop = horizontal, Mobile = vertical. */
.ua-error-actions{
  display:flex!important;
  flex-direction:row!important;
  align-items:stretch!important;
  justify-content:center!important;
  width:min(100%,760px)!important;
  gap:14px!important;
  margin:34px auto 0!important;
}

.ua-error-actions a{
  flex:1 1 0!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
}

@media (max-width:780px){
  .ua-error-actions{
    flex-direction:column!important;
    width:min(100%,320px)!important;
    gap:12px!important;
  }

  .ua-error-actions a{
    width:100%!important;
    flex:0 0 auto!important;
  }
}


/* v1.10.33: add a little space between error-page action buttons and footer. */
.ua-error-stage{
  padding-bottom:24px!important;
  box-sizing:border-box!important;
}

@media (max-width:780px){
  .ua-error-stage{
    padding-bottom:20px!important;
  }
}


/* v1.10.34: slightly increase the gap between the header and the large
   error code on all URANO ANOINE error pages. */
.ua-error-shell{
  padding-top:88px!important;
}

@media (max-width:780px){
  .ua-error-shell{
    padding-top:64px!important;
  }
}


/* v1.10.35: reduce the empty space between the error action buttons
   and the footer. The error section no longer stretches to viewport height. */
.ua-error-page{
  min-height:0!important;
}
.ua-error-stage{
  min-height:0!important;
  padding-bottom:0!important;
}
.ua-error-shell{
  min-height:0!important;
  padding-bottom:44px!important;
}

@media (max-width:780px){
  .ua-error-stage{
    min-height:0!important;
    padding-bottom:0!important;
  }
  .ua-error-shell{
    min-height:0!important;
    padding-bottom:34px!important;
  }
}


/* v1.10.36: tighten the gap between the error-page action buttons
   and the footer, while intentionally leaving a small amount of space. */
.ua-error-stage{
  min-height:0!important;
  padding-bottom:0!important;
}
.ua-error-shell{
  min-height:0!important;
  padding-bottom:24px!important;
}

@media (max-width:780px){
  .ua-error-stage{
    min-height:0!important;
    padding-bottom:0!important;
  }
  .ua-error-shell{
    min-height:0!important;
    padding-bottom:20px!important;
  }
}
