:root {
    --red: #FF422F;
    --red-ink: #CC3526;
    --ink: #16181D;
    --paper: #FBFAF7;
    --body: #4A4E55;
    --muted: #6E727A;
    --rule: #E8E6E1;
}

html { background: var(--paper); }
body { background: var(--paper) !important; color: var(--ink) !important; font-family: Inter,"Noto Sans JP",sans-serif !important; }
a { text-underline-offset: 4px; }

.glass-nav { height: 82px; background: rgba(251,250,247,.92) !important; border: 0 !important; box-shadow: none !important; backdrop-filter: blur(14px); }
.glass-nav > div { max-width: 1380px; padding-left: clamp(20px,4vw,64px); padding-right: clamp(20px,4vw,64px); }
.glass-nav .h-20 { height: 82px !important; }
.glass-nav img.h-12 { height: 34px !important; }
.glass-nav nav { gap: 28px; }
.glass-nav nav a { color: rgba(22,24,29,.68) !important; font-size: 13px !important; font-weight: 600 !important; }
.glass-nav nav a:hover,.glass-nav nav a.text-trigger-blue { color: var(--ink) !important; }
.glass-nav a.bg-trigger-blue { border: 0 !important; border-radius: 999px !important; background: var(--red) !important; box-shadow: none !important; color: #fff !important; }
.glass-nav a.bg-trigger-blue:hover { background: #e53b2a !important; }
#mobile-menu { background: var(--paper) !important; border-color: var(--rule) !important; box-shadow: 0 18px 28px rgba(22,24,29,.08); }
#mobile-menu a { border-radius: 0 !important; color: var(--ink) !important; }
#mobile-menu a:hover { background: #fff !important; color: var(--red-ink) !important; }
#mobile-menu-button { color: var(--ink) !important; }

.news-page { padding: 154px clamp(20px,5vw,76px) 104px !important; }
.news-container { max-width: 1080px !important; }
.news-heading { margin-bottom: 54px !important; text-align: left !important; }
.news-heading::before { content: "TRIGGER JOURNAL"; display: flex; align-items: center; gap: 10px; margin-bottom: 18px; color: var(--red-ink); font-size: 11px; font-weight: 800; letter-spacing: .18em; }
.news-heading::after { content: ""; display: block; width: 44px; height: 3px; margin-top: 24px; background: var(--red); }
.news-heading h1 { margin: 0 !important; color: var(--ink) !important; font-size: clamp(44px,6vw,76px) !important; line-height: 1 !important; letter-spacing: -.04em; }
.news-heading p { margin-top: 18px !important; color: var(--muted) !important; font-size: 13px !important; }

.news-list-shell { overflow: visible !important; border: 0 !important; border-top: 1px solid var(--ink) !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
.news-index-list { border: 0 !important; }
.news-index-item { position: relative; display: grid !important; grid-template-columns: 132px 1fr; gap: 28px; padding: 30px 8px !important; border: 0 !important; border-bottom: 1px solid var(--rule) !important; background: transparent !important; color: var(--ink); text-decoration: none; }
.news-index-item::after { content: "↗"; position: absolute; right: 8px; top: 31px; color: var(--red-ink); font-size: 15px; opacity: 0; transform: translate(-5px,5px); transition: .25s; }
.news-index-item:hover { background: #fff !important; }
.news-index-item:hover::after { opacity: 1; transform: translate(0,0); }
.news-index-item > div { display: contents !important; }
.news-index-item > div > span { grid-column: 1; margin: 0 !important; color: var(--muted) !important; font-family: Inter,sans-serif !important; font-size: 11px !important; letter-spacing: .04em; }
.news-index-item > div > div { grid-column: 2; min-width: 0; padding-right: 28px; }
.news-index-item .rounded { display: inline-block; margin: 0 0 10px !important; padding: 0 !important; border-radius: 0 !important; background: transparent !important; color: var(--red-ink) !important; font-size: 9px !important; font-weight: 800 !important; letter-spacing: .13em; text-transform: uppercase; }
.news-index-item h3 { margin: 0; color: var(--ink) !important; font-size: clamp(17px,2vw,22px) !important; line-height: 1.75 !important; letter-spacing: -.01em; }
.news-index-item:hover h3 { color: var(--ink) !important; }
.news-index-item:not(a)::after { display: none; }

.news-article-container { max-width: 980px !important; }
.news-article-shell { padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
.news-article-head { margin-bottom: 54px !important; padding-bottom: 40px !important; border-color: var(--ink) !important; }
.news-article-head > div { margin-bottom: 22px !important; }
.news-article-head > div > span:first-child { color: var(--muted) !important; font-size: 11px !important; letter-spacing: .06em; }
.news-article-head .rounded { padding: 5px 9px !important; border-radius: 0 !important; background: var(--red) !important; color: #fff !important; font-size: 9px !important; font-weight: 800 !important; letter-spacing: .1em; text-transform: uppercase; }
.news-article-head h1 { margin: 0 !important; color: var(--ink) !important; font-size: clamp(30px,4.5vw,52px) !important; line-height: 1.45 !important; letter-spacing: -.035em; }
.news-article-head h1 span { margin-top: 16px !important; color: var(--body) !important; font-size: clamp(17px,2.25vw,25px) !important; line-height: 1.65 !important; }

.news-article-body { color: var(--body) !important; font-size: 15px; line-height: 2.05 !important; }
.news-article-body > * + * { margin-top: 34px; }
.news-article-body p { color: var(--body) !important; }
.news-article-body h2 { margin: 0 0 18px !important; padding: 0 0 13px !important; border: 0 !important; border-bottom: 2px solid var(--red) !important; color: var(--ink) !important; font-size: clamp(20px,2.5vw,28px) !important; line-height: 1.55 !important; }
.news-article-body .overflow-hidden { border: 0 !important; border-radius: 0 !important; background: #eee; }
.news-article-body img { display: block; width: 100%; }
.news-article-body .bg-gray-50 { border: 0 !important; border-radius: 0 !important; background: #F0EEE9 !important; }
.news-article-body .bg-trigger-blue { background: var(--red) !important; }
.news-article-body .text-trigger-blue { color: var(--red-ink) !important; }
.news-article-body .text-trigger-dark { color: var(--ink) !important; }
.news-article-body .border-trigger-blue { border-color: var(--red) !important; }
.news-article-body a { color: var(--red-ink) !important; }

.back-row { margin-top: 54px !important; text-align: left !important; }
.back-link { min-height: 50px; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; color: var(--ink) !important; font-size: 13px !important; font-weight: 700 !important; }
.back-link i { color: var(--red-ink); }

body > footer { padding: 34px clamp(20px,5vw,76px) !important; border: 0 !important; border-top: 1px solid rgba(255,255,255,.1) !important; background: var(--ink) !important; color: rgba(255,255,255,.48) !important; }
body > footer > div { max-width: 1240px !important; }
body > footer img { height: 36px !important; opacity: .7; filter: brightness(0) invert(1) !important; }
body > footer a { color: inherit !important; }

@media (max-width: 767px) {
    .glass-nav { height: 66px; }
    .glass-nav .h-20 { height: 66px !important; }
    .glass-nav img.h-12 { height: 28px !important; }
    .news-page { padding: 108px 20px 76px !important; }
    .news-heading { margin-bottom: 38px !important; }
    .news-heading h1 { font-size: 48px !important; }
    .news-index-item { grid-template-columns: 1fr; gap: 10px; padding: 24px 0 !important; }
    .news-index-item > div > span,.news-index-item > div > div { grid-column: 1; }
    .news-index-item h3 { padding-right: 16px; font-size: 17px !important; line-height: 1.7 !important; }
    .news-index-item::after { right: 0; top: 25px; }
    .news-article-head { margin-bottom: 38px !important; padding-bottom: 30px !important; }
    .news-article-head > div { align-items: flex-start !important; gap: 10px !important; }
    .news-article-head h1 { font-size: 29px !important; line-height: 1.55 !important; }
    .news-article-body { font-size: 14px; line-height: 1.95 !important; }
    .news-article-body > * + * { margin-top: 28px; }
    .news-article-body .p-6 { padding: 20px !important; }
    body > footer > div { gap: 12px; }
}
