/* Shared lower-page design: company-page typography, width and orange accent. */
.renewal-subpage { --page-accent:#f4511e; --page-space:clamp(56px,5vw,80px); }
.renewal-page { color:#000; background:#fff; font:15px/2.1 "Helvetica Neue",Arial,"Noto Sans JP","Yu Gothic",Meiryo,sans-serif; font-feature-settings:"palt"; -webkit-font-smoothing:antialiased; }
.renewal-page *, .renewal-page *::before, .renewal-page *::after { box-sizing:border-box; }
.renewal-page :is(h1,h2,h3,h4,p,figure) { margin:0; }
.renewal-page a { color:inherit; text-decoration:none; }
.renewal-page :is(a,button,input,textarea,select):focus-visible { outline:2px solid var(--page-accent); outline-offset:4px; }
.renewal-page-container { width:min(100% - var(--gutter) * 2,var(--content-width)); margin-inline:auto; }
.renewal-page-hero { padding-top:32px; padding-bottom:var(--page-space); }
.renewal-page-hero-top { display:flex; justify-content:space-between; align-items:center; gap:24px; }
.renewal-page-kicker { font-size:14px; font-weight:700; letter-spacing:.12em; }
.renewal-page-kicker > span { display:inline-block; width:7px; height:7px; margin-right:9px; border-radius:50%; background:var(--page-accent); vertical-align:2px; }
.renewal-page-breadcrumb { display:flex; align-items:baseline; justify-content:flex-end; gap:16px; font-size:14px; }
.renewal-page-breadcrumb a:hover { text-decoration:underline; text-underline-offset:5px; }
.renewal-page .renewal-page-hero .renewal-page-display { margin:48px 0 36px; font-size:clamp(76px,9.7vw,156px); font-weight:700; font-style:italic; letter-spacing:-.055em; line-height:1.05; overflow-wrap:anywhere; }
.renewal-page-display > span,.renewal-page-hero h1 > span { color:var(--page-accent); }
.renewal-page-hero-grid { display:grid; grid-template-columns:1.15fr 1fr; align-items:end; gap:72px; }
.renewal-page-hero h1 { font-size:clamp(32px,3.5vw,56px); font-weight:700; letter-spacing:.02em; line-height:1.65; overflow-wrap:anywhere; }
.renewal-page-hero-grid > p { max-width:540px; line-height:2.1; letter-spacing:.015em; }
.renewal-page-hero-simple { grid-template-columns:minmax(0,1fr); }
/* Keep existing form markup/handlers, with presentation scoped to redesigned pages. */
.renewal-page > section:not(.renewal-page-hero):not(.renewal-legal-section):not(.renewal-journal-section) { padding-block:56px; border-width:0; }
.renewal-page > section > :is(.container,.max-w-screen-2xl),.renewal-page > div > .container { max-width:1440px; width:calc(100% - var(--gutter) * 2); margin-inline:auto; padding-inline:0; }
.renewal-page > section > .max-w-3xl { max-width:880px; }
.renewal-page > section > .max-w-2xl { max-width:800px; }
.renewal-page > section:not(.renewal-page-hero) :is(h2,h3,h4,[style*="Noto Serif"],[style*="Playfair"]) { font-family:inherit!important; letter-spacing:.03em; }
.renewal-page > section:not(.renewal-page-hero):not(.renewal-journal-section) h2 { font-size:clamp(26px,2.8vw,40px)!important; line-height:1.6; font-weight:700; }
.renewal-page > section:not(.renewal-page-hero) h3 { font-size:clamp(20px,2vw,26px)!important; line-height:1.65; }
.renewal-page :is(p,label,legend,small,time,button,input,select,textarea,[class*="text-xs"],[class*="text-["],.text-sm) { font-size:max(14px,1em); }
.renewal-page :is([class~="text-pink-400"],[class~="text-pink-500"],[class~="text-indigo-600"]) { color:var(--page-accent); }
.renewal-page :is([class~="bg-pink-500"],[class~="bg-black"]) { background-color:var(--page-accent); color:#fff; }
.renewal-page :is([class~="bg-pink-500"],[class~="bg-black"]) :is(p,span,h2,h3,svg) { color:#fff; }
.renewal-page [class~="border-pink-500"] { border-color:var(--page-accent); }
.renewal-page .peer:checked ~ :is([class~="peer-checked:bg-pink-500"],[class~="peer-checked:bg-black"]) { background-color:var(--page-accent); color:#fff; }
.renewal-page .peer:checked ~ [class~="peer-checked:border-pink-500"] { border-color:var(--page-accent); }
.renewal-page input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.renewal-page textarea,.renewal-page select { border:1px solid #c9c9c9; border-radius:12px; background:#fff; color:#000; font:inherit; min-height:48px; }
.renewal-page input[type=checkbox],.renewal-page input[type=radio] { accent-color:var(--page-accent); min-width:18px; min-height:18px; }
.renewal-page :is(button[type=submit],button[type=button],a[class*="inline-flex"]) { border-radius:999px; min-height:48px; font-size:14px; letter-spacing:.04em; transition:background-color .25s,color .25s,transform .25s; }
.renewal-page :is(button[type=submit],a[class~="bg-black"]):hover { background:#fff!important; color:var(--page-accent)!important; box-shadow:inset 0 0 0 1px var(--page-accent); }
.renewal-page :is([class~="hover:bg-black"],[class~="hover:bg-pink-500"]):hover { background-color:var(--page-accent); color:#fff; }
.renewal-page [class*="shadow"] { box-shadow:none; }
.renewal-page [class*="border-4"] { border-width:1px; }
.renewal-page [class*="rounded-none"] { border-radius:20px; }
/* Download cards retain their live thumbnail previews and original destinations. */
.renewal-subpage.page-template-page-downloads .renewal-page .grid > [class*="border"] { border:1px solid #ddd; border-radius:24px; overflow:hidden; }
.renewal-subpage.page-template-page-downloads .renewal-page .grid > [class*="border"]:hover { border-color:var(--page-accent); }
/* Policy text remains the original editable page content. */
.renewal-legal-section { display:grid; grid-template-columns:.45fr 1fr; gap:80px; padding-block:0 80px; border-top:1px solid #000; }
.renewal-legal-label { padding-top:32px; font-size:14px; font-weight:700; letter-spacing:.04em; }
.renewal-legal-label span { display:block; width:40px; height:3px; margin-top:16px; background:var(--page-accent); }
.renewal-legal-content { min-width:0; padding-top:32px; overflow-wrap:anywhere; }
.renewal-legal-content :is(div,small) { max-width:none; width:auto; margin:0; padding:0; border-radius:0; box-shadow:none; background:transparent; font:inherit; color:inherit; }
.renewal-legal-content p { font-size:15px; line-height:2.1; letter-spacing:.025em; margin:0 0 24px; }
.renewal-legal-content :is(h2,h3,h4) { font-size:20px!important; font-weight:700; line-height:1.7; padding-top:28px; margin:28px 0 16px; border-top:1px solid #ddd; letter-spacing:.025em; }
.renewal-legal-content a { color:var(--page-accent); text-decoration:underline; text-underline-offset:4px; }
.renewal-legal-content .grid-cols-6 { border-color:#ddd; }
.renewal-legal-content .col-span-6 { padding-block:24px; gap:24px; }
.renewal-legal-content .col-span-2 { font-weight:700; }
/* Editorial archive cards and page navigation. */
.renewal-journal-section { padding-bottom:80px; }
.renewal-journal-nav { display:flex; flex-wrap:wrap; gap:12px; align-items:center; padding:24px 0 32px; border-top:1px solid #000; }
.renewal-journal-nav > a { padding:10px 24px; border:1px solid #000; border-radius:999px; font-size:14px; }
.renewal-journal-nav > a[aria-current],.renewal-journal-nav > a:hover { background:var(--page-accent); border-color:var(--page-accent); color:#fff; }
.renewal-journal-select { display:flex; gap:16px; align-items:center; margin-left:auto; }
.renewal-journal-select select { max-width:320px; padding:10px 36px 10px 16px; }
.renewal-journal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:56px 32px; }
.renewal-journal-card { min-width:0; }
.renewal-journal-image { position:relative; aspect-ratio:16/10; border-radius:20px; overflow:hidden; background:#f7f5f2; }
.renewal-journal-image img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.renewal-journal-card a:hover img { transform:scale(1.035); }
.renewal-journal-placeholder { display:flex; align-items:center; justify-content:center; height:100%; font:700 clamp(38px,4vw,64px)/1 Georgia,serif; letter-spacing:-.06em; }
.renewal-journal-placeholder > span { color:var(--page-accent); }
.renewal-journal-arrow { position:absolute; bottom:16px; right:16px; display:grid; place-items:center; width:40px; height:40px; border-radius:50%; color:var(--page-accent); background:#fff; font-size:24px; line-height:1; transition:transform .3s; }
.renewal-journal-card a:hover .renewal-journal-arrow { transform:translateX(4px); }
.renewal-journal-meta { display:flex; justify-content:space-between; gap:16px; margin-top:20px; font-size:14px; }
.renewal-journal-meta > span { color:var(--page-accent); }
.renewal-journal-card h2 { margin-top:12px; font-size:20px; line-height:1.7; font-weight:700; }
.renewal-journal-card p { margin-top:12px; font-size:14px; line-height:1.9; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.renewal-pagination { margin-top:64px; }
.renewal-pagination .nav-links { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.renewal-pagination .page-numbers { display:grid; place-items:center; min-width:44px; min-height:44px; padding:8px 14px; border:1px solid #000; border-radius:999px; }
.renewal-pagination .current,.renewal-pagination a:hover { background:var(--page-accent); border-color:var(--page-accent); color:#fff; }
.renewal-pagination .screen-reader-text { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
@media(max-width:1100px) { .renewal-page-hero-grid { grid-template-columns:1.1fr 1fr; gap:48px; } .renewal-page-hero h1 { font-size:32px; } .renewal-journal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .renewal-legal-section { grid-template-columns:.3fr 1fr; gap:40px; } }
@media(max-width:760px) {
 .renewal-page-hero { padding-top:24px; }
 .renewal-page-hero-top { align-items:start; }
 .renewal-page-breadcrumb { gap:10px; flex-wrap:wrap; }
 .renewal-page-kicker { letter-spacing:.06em; white-space:nowrap; }
 .renewal-page .renewal-page-hero .renewal-page-display { font-size:clamp(54px,13.5vw,100px); margin-block:48px 28px; }
 .renewal-page-hero-grid,.renewal-legal-section { grid-template-columns:minmax(0,1fr); gap:32px; }
 .renewal-page-hero h1 { font-size:clamp(25px,6.8vw,40px); letter-spacing:.01em; line-height:1.7; }
 .renewal-page > section:not(.renewal-page-hero):not(.renewal-legal-section):not(.renewal-journal-section) { padding-block:40px; }
 .renewal-legal-section { gap:0; }
 .renewal-legal-label { padding-top:24px; }
 .renewal-legal-content { padding-top:24px; }
 .renewal-legal-content .col-span-6 { display:flex; flex-direction:column; gap:8px; }
 .renewal-journal-grid { grid-template-columns:minmax(0,1fr); gap:40px; }
 .renewal-journal-select { margin-left:0; flex-wrap:wrap; }
 .renewal-journal-select select { max-width:100%; }
}
@media(max-width:360px) { .renewal-page-breadcrumb { display:none; } .renewal-page .renewal-page-hero .renewal-page-display { font-size:48px; } }
@media(prefers-reduced-motion:reduce) { .renewal-page *, .renewal-page *::before,.renewal-page *::after { transition:none!important; animation:none!important; } }
.renewal-journal-select { min-width:0; max-width:100%; }
.renewal-journal-select select { min-width:0; }
@media(max-width:760px) { .renewal-journal-select { width:100%; flex-direction:column; align-items:stretch; gap:8px; } .renewal-journal-select select { width:100%; } }
.renewal-page :is(button[type=submit],a[class~="bg-black"]):hover :is(svg,span,p,h2,h3) { color:inherit; }
.renewal-subpage #sp-contact-btn :is(a,button) { background:#f4511e; color:#fff; font-size:14px; letter-spacing:.06em; }
.renewal-subpage #scroll-top-btn { border:1px solid #f4511e; border-radius:50%; background:#fff; color:#f4511e; }
.renewal-subpage #scroll-top-btn:hover { background:#f4511e; color:#fff; }
/* Active form steps use the same orange outline as their fill. */
.renewal-page [class~="w-8"][class~="h-8"][class~="rounded-full"][class~="bg-black"] { border-color:var(--page-accent); }
/* Text selection follows the shared orange accent. */
.renewal-subpage ::selection { background:#f4511e; color:#fff; }
/* Keep position numbers legible on the orange hovered row. */
.renewal-subpage .renewal-page .group:hover [class~="group-hover:text-pink-400"] { color:#fff; }
/* Keep text and placeholders away from the edges of form fields. */
.renewal-page input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=button]):not([type=file]),
.renewal-page textarea { padding-inline:16px; }
/* Align the download contact copy and keep its white button legible. */
.renewal-page .download-contact-inner { display:flex; flex-direction:column; align-items:center; gap:16px; text-align:center; }
.renewal-page .download-contact-inner > p { margin:0; }
.renewal-page .download-contact .download-contact-button { display:inline-flex; justify-content:center; gap:12px; margin-top:8px; padding:14px 24px; border:1px solid #fff; border-radius:999px; background:#fff; color:var(--page-accent); }
.renewal-page .download-contact .download-contact-button svg { color:inherit; }
.renewal-page .download-contact .download-contact-button:hover { background:transparent; color:#fff; }

.renewal-news-item{border-bottom:1px solid #ddd}.renewal-news-item:first-child{border-top:1px solid #ddd}.renewal-news-item>a{display:grid;grid-template-columns:144px minmax(0,1fr) 44px;align-items:center;gap:32px;padding:32px 0}.renewal-news-item time{font-size:14px;line-height:1.8}.renewal-news-item h2{font-size:20px;line-height:1.8;font-weight:700;letter-spacing:.015em;overflow-wrap:anywhere}.renewal-news-arrow{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:var(--page-accent);border:1px solid #e5e5e5;font-size:24px;line-height:1;transition:background .2s,color .2s}.renewal-news-item>a:hover h2{color:var(--page-accent)}.renewal-news-item>a:hover .renewal-news-arrow{color:#fff;background:var(--page-accent);border-color:var(--page-accent)}
@media(max-width:760px){.renewal-news-item>a{grid-template-columns:minmax(0,1fr) 40px;gap:12px 20px;padding:24px 0}.renewal-news-item time{grid-column:1;grid-row:1}.renewal-news-item h2{grid-column:1;grid-row:2;font-size:18px}.renewal-news-arrow{grid-column:2;grid-row:1/3}}

/* Step labels share the same endpoint centres as the 32px circles. */
.renewal-page .form-step-labels{justify-content:space-between}.renewal-page .form-step-labels>div{flex:0 0 32px;white-space:nowrap}
/* Secondary submit controls use one orange border on hover. */
.renewal-page button[type=submit][class~="border-black"]:hover{background:var(--page-accent)!important;border-color:var(--page-accent);color:#fff!important;box-shadow:none}
