@charset "utf-8";
/* リニューアル版（デザイン案B：ブルー主役・研究の信頼）
   PC はデザイン画（幅1024px）の座標をそのまま --u 単位で再現する。1u = 中身の横幅（最大1200px） / 1024。
   スマホはスマホ版デザイン画の並びに合わせ、文字は読める大きさにする。 */

:root {
	--navy: #1E3560;
	--ink: #2B3B55;
	--sub: #4A5568;
	--blue-1: #7FA0CC;
	--blue-2: #3E659A;
	--rose: #C46A84;
	--rose-d: #B24D6C;
	--gold-1: #CFAF72;
	--gold-2: #A5844C;
	--serif: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
	--sans: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;
	--latin: "Cormorant Garamond", "Times New Roman", serif;
	/* 中身の横幅は最大 1200px。背景だけ画面いっぱいに広げる */
	--u: calc(min(100vw, 1200px) / 1024);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.rn { margin: 0; background: #fff; color: var(--ink); font-family: var(--sans); line-height: 1.6; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
:where(.rn) img { display: block; max-width: none; }
:where(.rn) a { color: inherit; text-decoration: none; }
:where(.rn) :is(h1, h2, h3, p) { margin: 0; font-weight: inherit; }
.rn h1, .rn h2, .rn h3, .rn-stat-num, .rn-hero-name b, .rn-founder-name b, .rn-product-name, .rn-product-kana { font-feature-settings: "palt"; }
:where(.rn) :is(ul, ol) { margin: 0; padding: 0; list-style: none; }
.rn-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.rn-sp { display: none; }
.rn-canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; pointer-events: none; }
.rn-in { position: relative; width: calc(1024 * var(--u)); margin: 0 auto; }
.rn-gold { display: block; height: calc(2 * var(--u)); background: linear-gradient(90deg, var(--gold-1), var(--gold-2) 60%, rgba(165,132,76,0)); }
.rn-note { font-size: max(11px, calc(9.5 * var(--u))); color: #7A8494; }

/* ========== PC（1024px 以上） ========== */

/* ヘッダー：Codex のヘッダーのデザイン画（幅1958→1024換算で高さ約128） */
.rn-header { position: sticky; top: 0; z-index: 50; background: linear-gradient(180deg, #fff 0%, #FAFCFE 100%); box-shadow: 0 1px 0 rgba(30,53,96,.07), 0 calc(6 * var(--u)) calc(18 * var(--u)) rgba(30,53,96,.05); }
.rn-header-inner { position: relative; width: calc(1024 * var(--u)); height: calc(92 * var(--u)); margin: 0 auto; }
.rn-brand { position: absolute; left: calc(20 * var(--u)); top: calc(17 * var(--u)); width: calc(182 * var(--u)); display: flex; flex-direction: column; align-items: center; }
.rn-logo .rn-logo-svg { display: block; width: calc(142 * var(--u)); height: calc(34 * var(--u)); }
.rn-brand-tag { margin-top: calc(9 * var(--u)); display: flex; align-items: center; gap: calc(7 * var(--u)); font-family: var(--serif); font-weight: 600; font-size: calc(11.5 * var(--u)); letter-spacing: .04em; color: var(--navy); white-space: nowrap; }
.rn-brand-tag::before, .rn-brand-tag::after { content: ""; width: calc(16 * var(--u)); height: 1px; background: var(--gold-1); }
.rn-lang-switch { position: absolute; right: calc(16 * var(--u)); top: calc(12 * var(--u)); z-index: 2; display: flex; align-items: center; justify-content: center; gap: calc(7 * var(--u)); width: calc(160 * var(--u)); height: calc(20 * var(--u)); font-family: var(--serif); font-size: calc(13 * var(--u)); letter-spacing: .04em; }
.rn-lang-switch b { color: var(--navy); font-weight: 700; }
.rn-lang-switch span { color: #9AA6B8; }
.rn-lang-switch a { color: #7A8597; }
.rn-lang-switch a:hover { color: var(--navy); }
.rn-nav { position: absolute; left: calc(214 * var(--u)); right: calc(16 * var(--u)); top: calc(20 * var(--u)); }
.rn-nav > ul { position: relative; display: flex; align-items: stretch; height: calc(52 * var(--u)); border-left: 1px solid #D9E1EB; }
.rn-nav > ul > li { position: relative; display: flex; }
.rn-nav > ul > li:not(.rn-nav-contact):not(.rn-lang) + li:not(.rn-nav-contact)::before { content: ""; position: absolute; left: 0; top: calc(6 * var(--u)); bottom: calc(6 * var(--u)); width: 1px; background: #D9E1EB; }
.rn-nav > ul > li > a, .rn-sub-btn { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 0 calc(12 * var(--u)); background: none; border: 0; cursor: pointer; font: inherit; color: var(--navy); position: relative; }
.rn-nav-ja { font-family: var(--serif); font-weight: 700; font-size: calc(16 * var(--u)); line-height: calc(24 * var(--u)); letter-spacing: .04em; white-space: nowrap; font-feature-settings: "palt"; }
.rn-nav-en { font-family: var(--latin); font-weight: 500; font-size: calc(12.5 * var(--u)); line-height: calc(16 * var(--u)); letter-spacing: .04em; color: #6E7B90; margin-top: calc(2 * var(--u)); white-space: nowrap; }
.rn-sub-btn .rn-nav-ja::after { content: ""; display: inline-block; margin-left: calc(6 * var(--u)); vertical-align: middle; border-top: calc(6 * var(--u)) solid var(--gold-1); border-left: calc(5 * var(--u)) solid transparent; border-right: calc(5 * var(--u)) solid transparent; }
.rn-nav > ul > li > a::after, .rn-sub-btn::after { content: ""; position: absolute; left: calc(10 * var(--u)); right: calc(10 * var(--u)); bottom: calc(-12 * var(--u)); height: calc(2 * var(--u)); background: var(--gold-1); transform: scaleX(0); transition: transform .25s; }
.rn-nav > ul > li:not(.rn-nav-contact) > a:hover::after, .rn-sub-btn:hover::after, .rn-has-sub.is-open .rn-sub-btn::after, .rn-has-sub:focus-within .rn-sub-btn::after, .rn-nav .is-current > a::after, .rn-nav .is-current > .rn-sub-btn::after { transform: none; }
.rn-nav > ul > li > a:hover .rn-nav-ja, .rn-sub-btn:hover .rn-nav-ja { color: var(--blue-2); }
.rn-nav-contact { margin-left: auto; align-self: flex-end; }
.rn-nav > ul > li.rn-nav-contact > a { display: flex !important; flex-direction: row !important; align-items: center !important; justify-content: center !important; gap: calc(10 * var(--u)); width: calc(160 * var(--u)); height: calc(36 * var(--u)); padding: 0 calc(14 * var(--u)) !important; border-radius: 999px; background: linear-gradient(180deg, #4F7DBA 0%, #2F5A98 55%, #23497F 100%); box-shadow: 0 calc(8 * var(--u)) calc(18 * var(--u)) rgba(35,73,127,.3), inset 0 1px 0 rgba(255,255,255,.35); transition: filter .2s; }
.rn-nav-contact a:hover { filter: brightness(1.08); }
.rn-nav-contact svg { width: calc(19 * var(--u)); height: calc(19 * var(--u)); fill: none; stroke: #fff; stroke-width: 1.6; }
.rn-nav-contact .rn-nav-ja { color: #fff; font-size: calc(14.5 * var(--u)); text-align: center; }
.rn-nav-contact .rn-nav-en { display: none; }
.rn-nav .rn-lang, .rn-menu-btn, .rn-sp-cart { display: none; }
.rn-sub { position: absolute; top: calc(100% + 14 * var(--u)); left: 50%; translate: -50% 0; width: calc(368 * var(--u)); padding: calc(10 * var(--u)) calc(22 * var(--u)); background: rgba(255,255,255,.97); border-top: calc(3 * var(--u)) solid var(--gold-1); border-radius: calc(4 * var(--u)) calc(4 * var(--u)) calc(10 * var(--u)) calc(10 * var(--u)); box-shadow: 0 calc(20 * var(--u)) calc(40 * var(--u)) rgba(30,53,96,.18); opacity: 0; visibility: hidden; transition: opacity .2s, visibility .2s; }
.rn-sub::before { content: ""; position: absolute; left: 50%; top: calc(-10 * var(--u)); translate: -50% 0; border-bottom: calc(7 * var(--u)) solid var(--gold-1); border-left: calc(7 * var(--u)) solid transparent; border-right: calc(7 * var(--u)) solid transparent; }
.rn-has-sub:hover .rn-sub, .rn-has-sub:focus-within .rn-sub, .rn-has-sub.is-open .rn-sub { opacity: 1; visibility: visible; }
.rn-sub li + li { border-top: 1px solid #DCE4EE; }
.rn-sub a { position: relative; display: flex; flex-direction: column; padding: calc(13 * var(--u)) calc(36 * var(--u)) calc(13 * var(--u)) calc(4 * var(--u)); color: var(--navy); }
.rn-sub a::after { content: "→"; position: absolute; right: calc(4 * var(--u)); top: 50%; translate: 0 -50%; font-size: calc(20 * var(--u)); color: var(--gold-2); transition: transform .2s; }
.rn-sub a:hover::after { transform: translateX(calc(4 * var(--u))); }
.rn-sub .rn-nav-ja { font-size: calc(19 * var(--u)); line-height: calc(28 * var(--u)); }
.rn-sub .rn-nav-en { font-family: var(--sans); font-size: calc(12 * var(--u)); color: #6B7686; }
.rn-sub a:hover .rn-nav-ja { color: var(--blue-2); }

.rn-lang-switch b, .rn-lang-switch a, .rn-nav .rn-lang b, .rn-nav .rn-lang a { display: inline-flex; align-items: center; gap: .35em; }
.rn-flag { width: 1.35em; height: .9em; flex: none; border-radius: 1.5px; box-shadow: 0 0 0 .5px rgba(30,53,96,.18); }
.rn-lang-switch a .rn-flag, .rn-nav .rn-lang a .rn-flag { opacity: .75; }
.rn-lang-switch a:hover .rn-flag { opacity: 1; }

/* ショップ：お問い合わせの左に、カートマーク付きで独立させる */
.rn-nav-shop { margin-left: auto; align-self: flex-end; }
.rn-nav-shop + .rn-nav-contact { margin-left: calc(10 * var(--u)); }
.rn-nav > ul > li.rn-nav-shop > a { flex-direction: row; gap: calc(7 * var(--u)); height: calc(36 * var(--u)); padding: 0 calc(16 * var(--u)) !important; border-radius: 999px; border: calc(1.5 * var(--u)) solid var(--rose); background: linear-gradient(180deg, #fff, #FCEFF4); box-shadow: 0 calc(6 * var(--u)) calc(14 * var(--u)) rgba(196,106,132,.15); }
.rn-nav > ul > li.rn-nav-shop > a::after { display: none; }
.rn-nav-shop svg { width: calc(19 * var(--u)); height: calc(19 * var(--u)); fill: none; stroke: var(--rose-d); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.rn-nav-shop .rn-nav-ja { color: var(--rose-d); font-size: calc(14.5 * var(--u)); }
.rn-nav-shop .rn-nav-en { display: none; }
.rn-nav > ul > li.rn-nav-shop > a:hover { background: #fff; }
.rn-nav-shop + .rn-nav-contact > a { width: calc(150 * var(--u)) !important; }

/* 英語表示ではメニューの英字の添え書きは出さない */
html[lang="en"] .rn-nav > ul > li > a > .rn-nav-en, html[lang="en"] .rn-sub-btn > .rn-nav-en { display: none; }
html[lang="en"] .rn-brand-tag { font-size: calc(10 * var(--u)); }
html[lang="en"] .rn-brand-tag::before, html[lang="en"] .rn-brand-tag::after { display: none; }

/* ファーストビュー：y50–365 */
.rn-hero { position: relative; overflow: hidden; height: calc(315 * var(--u)); background: url(../images/renewal/hero-bg.jpg?v=2) center / cover no-repeat, #CFE3F4; }
.rn-hero-in { height: 100%; }
.rn-hero-copy { position: absolute; left: calc(78 * var(--u)); top: calc(49 * var(--u)); display: flex; flex-direction: column; z-index: 1; }
.rn-hero h1 { font-family: var(--serif); font-weight: 700; font-size: calc(46 * var(--u)); line-height: calc(62 * var(--u)); letter-spacing: .04em; color: var(--navy); white-space: nowrap; }
.rn-hero .rn-gold { width: calc(100 * var(--u)); margin-top: calc(12 * var(--u)); }
.rn-hero-lead { margin-top: calc(13 * var(--u)); font-size: calc(15.5 * var(--u)); line-height: calc(22 * var(--u)); color: #273246; font-weight: 500; letter-spacing: .02em; }
.rn-hero-name { margin-top: calc(16 * var(--u)); font-size: calc(13 * var(--u)); color: var(--ink); display: flex; align-items: baseline; gap: calc(10 * var(--u)); }
.rn-hero-nk { width: auto; height: calc(54 * var(--u)); align-self: center; margin-left: calc(6 * var(--u)); filter: drop-shadow(0 calc(4 * var(--u)) calc(6 * var(--u)) rgba(30,53,96,.18)); }
.rn-hero-name { align-items: center; }
.rn-hero-name b { font-family: var(--serif); font-weight: 500; font-size: calc(21 * var(--u)); color: var(--navy); letter-spacing: .12em; }
.rn-hero-photo { position: absolute; left: calc(609 * var(--u)); bottom: 0; width: calc(343 * var(--u)); height: calc(313 * var(--u)); margin: 0; z-index: 1; }
.rn-hero-photo img { width: 100%; height: 100%; object-fit: contain; object-position: bottom; }

/* ファーストビューの登場アニメーション：文字は左から、写真は右から順にフェードイン */
@keyframes rn-in-left { from { opacity: 0; transform: translateX(calc(-40 * var(--u))); } to { opacity: 1; transform: none; } }
@keyframes rn-in-right { from { opacity: 0; transform: translateX(calc(60 * var(--u))); } to { opacity: 1; transform: none; } }
.rn-hero-copy > * { animation: rn-in-left 1s cubic-bezier(.22,.7,.2,1) both; }
.rn-hero-copy > :nth-child(1) { animation-delay: .15s; }
.rn-hero-copy > :nth-child(2) { animation-delay: .45s; }
.rn-hero-copy > :nth-child(3) { animation-delay: .6s; }
.rn-hero-copy > :nth-child(4) { animation-delay: .75s; }
.rn-hero-photo { animation: rn-in-right 1.3s cubic-bezier(.22,.7,.2,1) .3s both; }
.rn-hero-nk { animation: rn-in-left 1s cubic-bezier(.22,.7,.2,1) 1.05s both; }
@media (prefers-reduced-motion: reduce) { .rn-hero-copy > *, .rn-hero-photo, .rn-hero-nk { animation: none; } }

/* 実績：y365–475 */
.rn-stats { background: linear-gradient(180deg, #fff, #F9FBFD); border-bottom: 1px solid #EDF1F6; }
.rn-stats-list { height: calc(110 * var(--u)); display: grid; grid-template-columns: repeat(4, calc(237.5 * var(--u))); padding-left: calc(37 * var(--u)); }
.rn-stats-list li { position: relative; text-align: center; padding-top: calc(13 * var(--u)); }
.rn-stats-list li + li::before { content: ""; position: absolute; left: 0; top: calc(20 * var(--u)); height: calc(70 * var(--u)); width: 1px; background: #D9E1EB; }
.rn-stat-num { font-family: var(--serif); color: #2A5594; line-height: calc(46 * var(--u)); }
.rn-stat-num b { font-variant-numeric: tabular-nums; text-align: right; font-weight: 700; font-size: calc(46 * var(--u)); background: linear-gradient(180deg, #3A6BAE, #1F4A8A); -webkit-background-clip: text; background-clip: text; color: transparent; letter-spacing: .01em; }
.rn-stat-num span { font-size: calc(23 * var(--u)); font-weight: 700; margin-left: calc(1 * var(--u)); }
.rn-stat-label { font-size: calc(15.5 * var(--u)); line-height: calc(20 * var(--u)); letter-spacing: .08em; color: #2F3B4E; font-weight: 500; }

/* 研究：y475–735 */
.rn-research { position: relative; background: linear-gradient(180deg, #F7FAFD 0%, #F4F7FC 60%, #F8F3F8 100%); }
.rn-research .rn-in { height: calc(292 * var(--u)); }
.rn-title-lines { position: absolute; left: 0; right: 0; top: calc(15 * var(--u)); display: flex; align-items: center; justify-content: center; gap: calc(25 * var(--u)); font-family: var(--serif); font-weight: 700; font-size: calc(32 * var(--u)); line-height: calc(44 * var(--u)); color: var(--navy); letter-spacing: .04em; }
.rn-title-lines::before, .rn-title-lines::after { content: ""; width: calc(77 * var(--u)); height: calc(1.5 * var(--u)); background: linear-gradient(90deg, rgba(207,175,114,0), var(--gold-1)); }
.rn-title-lines::after { transform: scaleX(-1); }
.rn-step { position: absolute; top: 0; height: 100%; }
.rn-step:nth-child(1) { left: 0; width: calc(340 * var(--u)); --no: 148; --tx: 145; --ty: 125; --py: 180; --img: 150; --ix: -12; --iy: 106; }
.rn-step:nth-child(2) { left: calc(340 * var(--u)); width: calc(325 * var(--u)); --no: 121; --tx: 125; --ty: 115; --py: 184; --img: 132; --ix: 2; --iy: 98; }
.rn-step:nth-child(3) { left: calc(665 * var(--u)); width: calc(359 * var(--u)); --no: 136; --tx: 135; --ty: 125; --py: 180; --img: 132; --ix: 8; --iy: 110; }
.rn-step-img { position: absolute; left: calc(var(--ix) * var(--u)); top: calc(var(--iy) * var(--u)); width: calc(var(--img) * var(--u)); height: calc(var(--img) * var(--u)); object-fit: contain; }
.rn-step-no { position: absolute; left: calc(var(--no) * var(--u)); top: calc(76 * var(--u)); width: calc(36 * var(--u)); height: calc(36 * var(--u)); border-radius: 50%; border: calc(1.5 * var(--u)) solid #E2A9BA; background: radial-gradient(circle at 50% 35%, #fff 30%, #F8E3EA); box-shadow: 0 calc(2 * var(--u)) calc(6 * var(--u)) rgba(196,106,132,.18); display: grid; place-items: center; font-family: var(--serif); font-size: calc(19 * var(--u)); color: var(--rose-d); }
.rn-step:nth-child(1) .rn-step-no::after, .rn-step:nth-child(2) .rn-step-no::after { content: ""; position: absolute; left: calc(42 * var(--u)); top: 50%; height: 1px; background: #C9D3E0; }
.rn-step:nth-child(1) .rn-step-no::after { width: calc(263 * var(--u)); }
.rn-step:nth-child(2) .rn-step-no::after { width: calc(290 * var(--u)); }
.rn-step:nth-child(n+2)::before { content: ""; position: absolute; left: calc(2 * var(--u)); top: calc(171 * var(--u)); width: calc(8 * var(--u)); height: calc(8 * var(--u)); border-top: 1px solid #8C97A8; border-right: 1px solid #8C97A8; transform: rotate(45deg); }
.rn-step h3 { position: absolute; left: calc(var(--tx) * var(--u)); top: calc(var(--ty) * var(--u)); font-family: var(--serif); font-weight: 700; font-size: calc(22 * var(--u)); line-height: calc(26 * var(--u)); color: var(--navy); white-space: nowrap; }
.rn-step h3 a::after { content: ""; position: absolute; inset: calc(-40 * var(--u)) calc(-20 * var(--u)) calc(-80 * var(--u)) calc(-140 * var(--u)); }
.rn-step h3 a:hover { color: var(--blue-2); }
.rn-step p { position: absolute; left: calc(var(--tx) * var(--u)); top: calc(var(--py) * var(--u)); font-size: calc(12.5 * var(--u)); line-height: calc(19 * var(--u)); color: #273246; font-weight: 500; white-space: nowrap; }
.rn-step:nth-child(2) p, .rn-step:nth-child(3) p { left: calc((var(--tx) + 4) * var(--u)); }
.rn-research .rn-note { position: absolute; right: calc(34 * var(--u)); bottom: calc(22 * var(--u)); font-size: max(10px, calc(8.5 * var(--u))); }

/* 商品：Codex の商品ゾーンのデザイン画（幅1024換算で高さ601） */
.rn-products { position: relative; background:
	radial-gradient(calc(260 * var(--u)) calc(230 * var(--u)) at 14% 50%, rgba(246,205,220,.55), rgba(246,205,220,0) 70%),
	radial-gradient(calc(280 * var(--u)) calc(240 * var(--u)) at 64% 50%, rgba(205,225,245,.6), rgba(205,225,245,0) 70%),
	url(../images/renewal/band-bg.jpg) center bottom / 100% auto no-repeat,
	linear-gradient(180deg, #FDFBFD 0%, #F5F8FC 100%); }
.rn-products-in { height: calc(1150 * var(--u)); }
.rn-products-in::before { content: ""; position: absolute; left: calc(36 * var(--u)); right: calc(36 * var(--u)); top: calc(546 * var(--u)); height: 1px; background: linear-gradient(90deg, rgba(207,175,114,0), var(--gold-1) 20%, var(--gold-1) 80%, rgba(207,175,114,0)); }
.rn-products-in::after { content: ""; position: absolute; left: calc(512 * var(--u)); top: calc(109 * var(--u)); height: calc(413 * var(--u)); width: 1px; background: #C9D3E0; }
.rn-products-title.rn-title-lines { top: calc(22 * var(--u)); font-size: calc(40 * var(--u)); line-height: calc(52 * var(--u)); gap: calc(34 * var(--u)); }
.rn-products-title.rn-title-lines::before, .rn-products-title.rn-title-lines::after { width: calc(116 * var(--u)); }
.rn-product { position: absolute; top: 0; height: calc(560 * var(--u)); }
.rn-product-decolla { left: 0; width: calc(512 * var(--u)); --pk-x: 28; --pk-w: 222; --pk-h: 329; --tx: 270; --tw: 230; }
.rn-product-energy { left: calc(512 * var(--u)); width: calc(512 * var(--u)); --pk-x: 16; --pk-w: 222; --pk-h: 326; --tx: 252; --tw: 236; }
.rn-product-pack { position: absolute; left: calc(var(--pk-x) * var(--u)); top: calc(131 * var(--u)); width: calc(var(--pk-w) * var(--u)); height: calc(var(--pk-h) * var(--u)); }
.rn-product-pack img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 calc(14 * var(--u)) calc(18 * var(--u)) rgba(40,60,100,.18)); transition: transform .3s; }
.rn-product-pack:hover img { transform: translateY(calc(-4 * var(--u))); }
.rn-product-body { position: absolute; left: calc(var(--tx) * var(--u)); top: calc(126 * var(--u)); width: calc(var(--tw) * var(--u)); }
.rn-product-name { font-family: var(--serif); font-weight: 700; font-size: calc(44 * var(--u)); line-height: calc(46 * var(--u)); color: var(--navy); letter-spacing: .01em; white-space: nowrap; }
.rn-product-energy .rn-product-name { font-size: calc(36 * var(--u)); line-height: calc(38 * var(--u)); }
.rn-product-kana { margin-top: calc(8 * var(--u)); font-family: var(--serif); font-weight: 500; font-size: calc(19 * var(--u)); line-height: calc(26 * var(--u)); color: var(--navy); white-space: nowrap; padding-bottom: calc(14 * var(--u)); background: linear-gradient(90deg, var(--gold-1), rgba(207,175,114,0) 70%) left bottom / 100% calc(1.5 * var(--u)) no-repeat; }
.rn-product-energy .rn-product-kana { font-size: calc(16 * var(--u)); }
.rn-product-tags { display: flex; gap: calc(9 * var(--u)); margin-top: calc(16 * var(--u)); }
.rn-product-tags li { padding: 0 calc(18 * var(--u)); height: calc(31 * var(--u)); line-height: calc(29 * var(--u)); border-radius: 999px; font-size: calc(15 * var(--u)); color: var(--ink); border: 1px solid #E2B5C4; background: linear-gradient(180deg, #fff, #FCEFF4); white-space: nowrap; }
.rn-product-energy .rn-product-tags li { border-color: #A9C4E2; background: linear-gradient(180deg, #fff, #EEF5FC); }
.rn-product-spec { margin-top: calc(6 * var(--u)); }
.rn-product-spec li { padding: calc(9 * var(--u)) 0; font-size: calc(14.5 * var(--u)); line-height: calc(22 * var(--u)); color: #273246; font-weight: 500; white-space: nowrap; }
.rn-product-spec li + li { border-top: 1px solid; border-image: linear-gradient(90deg, var(--gold-1), rgba(207,175,114,.15)) 1; }
.rn-product-qty { font-family: var(--serif); font-size: calc(22 * var(--u)) !important; font-weight: 600 !important; color: var(--navy) !important; }
.rn-product-qty small { font-size: calc(18 * var(--u)); }
.rn-product-btn { position: absolute; left: calc(-2 * var(--u)); top: calc(321 * var(--u)); width: calc(222 * var(--u)); height: calc(50 * var(--u)); border-radius: 999px; border: calc(1.5 * var(--u)) solid #2E4472; display: flex; align-items: center; justify-content: center; font-size: calc(17 * var(--u)); letter-spacing: .14em; color: var(--navy); background: linear-gradient(180deg, #fff, #FBEEF3); box-shadow: 0 calc(6 * var(--u)) calc(16 * var(--u)) rgba(30,53,96,.12); transition: background .2s; }
.rn-product-energy .rn-product-btn { background: linear-gradient(180deg, #fff, #EDF4FC); }
.rn-product-btn::after { content: ""; position: absolute; right: calc(36 * var(--u)); top: 50%; width: calc(8 * var(--u)); height: calc(8 * var(--u)); margin-top: calc(-4 * var(--u)); border-top: calc(1.5 * var(--u)) solid currentColor; border-right: calc(1.5 * var(--u)) solid currentColor; transform: rotate(45deg); }
.rn-product-btn:hover { background: #fff; }
.rn-product-sub { position: absolute; left: 0; top: calc(381 * var(--u)); width: calc(222 * var(--u)); text-align: center; font-size: calc(12.5 * var(--u)); color: #4A5568; }
.rn-product-sub a { color: var(--rose-d); border-bottom: 1px solid #E2B5C4; }
.rn-product-sub a::after { content: " ›"; }
.rn-books-sub { margin-top: calc(10 * var(--u)); text-align: center; font-size: calc(13.5 * var(--u)); color: #4A5568; }
/* Dr.ACIS（主力商品）：Codex の3商品のデザイン画（幅1159→1024換算） */
.rn-acis { position: absolute; left: 0; top: calc(440 * var(--u)); width: 100%; height: calc(670 * var(--u)); }
/* Dr.ACIS の段は上の2商品と重なるので、段そのものはクリックを受けず、中のリンクだけ受ける */
.rn-acis { pointer-events: none; }
.rn-acis a { pointer-events: auto; }
.rn-product-name a:hover, .rn-acis-name a:hover { opacity: .8; }
.rn-acis-pack { position: absolute; left: calc(60 * var(--u)); top: calc(132 * var(--u)); width: calc(340 * var(--u)); height: calc(490 * var(--u)); }
.rn-acis-pack img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 calc(16 * var(--u)) calc(22 * var(--u)) rgba(40,60,100,.2)); transition: transform .3s; }
.rn-acis-pack:hover img { transform: translateY(calc(-4 * var(--u))); }
.rn-acis-body { position: absolute; left: calc(430 * var(--u)); top: calc(146 * var(--u)); width: calc(540 * var(--u)); display: flex; flex-direction: column; align-items: center; text-align: center; }
.rn-acis-catch { font-family: var(--serif); font-weight: 600; font-size: calc(23 * var(--u)); letter-spacing: .14em; color: #A9844A; }
.rn-acis-catch::after { content: "◆"; display: block; margin: calc(10 * var(--u)) auto 0; width: calc(500 * var(--u)); font-size: calc(9 * var(--u)); line-height: 1; color: var(--gold-1); background: linear-gradient(90deg, rgba(207,175,114,0), var(--gold-1) 25%, rgba(207,175,114,0) 46%, rgba(207,175,114,0) 54%, var(--gold-1) 75%, rgba(207,175,114,0)) center / 100% 1px no-repeat; }
.rn-acis-name { margin-top: calc(14 * var(--u)); font-family: var(--latin); font-weight: 600; font-size: calc(92 * var(--u)); line-height: calc(92 * var(--u)); letter-spacing: .02em; background: linear-gradient(180deg, #D9BC80 0%, #B48D4E 55%, #9A773F 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.rn-acis-kana { margin-top: calc(6 * var(--u)); padding-bottom: calc(14 * var(--u)); width: calc(480 * var(--u)); font-family: var(--serif); font-weight: 500; font-size: calc(24 * var(--u)); letter-spacing: .3em; color: var(--navy); background: linear-gradient(90deg, rgba(207,175,114,0), var(--gold-1), rgba(207,175,114,0)) center bottom / 100% 1px no-repeat; }
.rn-acis-tag { margin-top: calc(16 * var(--u)); font-family: var(--serif); font-weight: 500; font-size: calc(30 * var(--u)); letter-spacing: .14em; color: var(--navy); }
.rn-acis-points { margin-top: calc(20 * var(--u)); display: flex; gap: calc(12 * var(--u)); }
.rn-acis-points li { width: calc(124 * var(--u)); height: calc(124 * var(--u)); border-radius: 50%; border: 1px solid #D5BB86; background: rgba(255,255,255,.75); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: calc(6 * var(--u)); }
.rn-acis-points svg { width: calc(28 * var(--u)); height: calc(28 * var(--u)); fill: none; stroke: #B48D4E; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.rn-acis-points span { font-family: var(--serif); font-size: calc(14 * var(--u)); line-height: calc(20 * var(--u)); color: var(--ink); }
.rn-product .rn-product-btn, .rn-acis .rn-acis-btn { }
.rn-acis .rn-acis-btn { position: relative; left: 0; top: 0; margin-top: calc(24 * var(--u)); width: calc(336 * var(--u)); height: calc(56 * var(--u)); font-size: calc(20 * var(--u)); background: linear-gradient(180deg, #fff, #EEF3FA); }
.rn-acis .rn-acis-btn::after { right: calc(52 * var(--u)); }
.rn-products-note { padding: 0 calc(24 * var(--u)) calc(14 * var(--u)); text-align: right; font-size: max(10px, calc(8.5 * var(--u))) !important; }

/* Dr.JAPANについて：Codex の About Us の段のデザイン画（幅1536→1024換算） */
.rn-aboutus { position: relative; overflow: hidden; background: url(../images/renewal/band-bg.jpg) center / cover no-repeat, #F1F6FB; padding-block: calc(44 * var(--u)) calc(52 * var(--u)); }
.rn-aboutus::before { content: ""; position: absolute; right: calc(-30 * var(--u)); top: calc(-40 * var(--u)); width: calc(260 * var(--u)); height: calc(260 * var(--u)); background: url(../images/renewal/research-fiber.png) center / contain no-repeat; opacity: .55; pointer-events: none; }
.rn-aboutus-in { display: flex; flex-direction: column; align-items: center; }
.rn-aboutus-head { display: flex; flex-direction: column; align-items: center; }
.rn-aboutus .rn-title-lines.rn-aboutus-title { position: static; font-size: calc(42 * var(--u)); line-height: calc(54 * var(--u)); gap: calc(28 * var(--u)); }
.rn-aboutus .rn-title-lines.rn-aboutus-title::before, .rn-aboutus .rn-title-lines.rn-aboutus-title::after { width: calc(97 * var(--u)); }
.rn-aboutus-en { margin-top: calc(4 * var(--u)); font-family: var(--latin); font-weight: 600; font-size: calc(21 * var(--u)); letter-spacing: .24em; color: #5E7192; }
.rn-aboutus-lead { margin-top: calc(26 * var(--u)); width: calc(914 * var(--u)); padding-bottom: calc(18 * var(--u)); text-align: center; font-family: var(--serif); font-weight: 700; font-size: calc(22 * var(--u)); line-height: calc(32 * var(--u)); color: var(--navy); font-feature-settings: "palt"; background: linear-gradient(90deg, rgba(207,175,114,0), var(--gold-1) 15%, var(--gold-1) 85%, rgba(207,175,114,0)) center bottom / 100% 1px no-repeat; }
.rn-aboutus-text { margin-top: calc(26 * var(--u)); width: calc(830 * var(--u)); display: flex; flex-direction: column; gap: calc(14 * var(--u)); }
.rn-aboutus-text p { font-size: calc(16.5 * var(--u)); line-height: calc(28 * var(--u)); letter-spacing: .04em; color: #273246; font-weight: 500; }
.rn-aboutus-quote { margin: calc(28 * var(--u)) 0 0; width: calc(900 * var(--u)); padding: calc(20 * var(--u)) calc(30 * var(--u)); border: 1px solid #D9BF8A; border-radius: calc(13 * var(--u)); background: rgba(255,255,255,.72); box-shadow: 0 calc(8 * var(--u)) calc(20 * var(--u)) rgba(30,53,96,.06); text-align: center; }
.rn-aboutus-quote p { font-family: var(--serif); font-weight: 600; font-size: calc(20 * var(--u)); line-height: calc(32 * var(--u)); color: var(--navy); letter-spacing: .03em; font-feature-settings: "palt"; }
.rn-aboutus-btns { margin-top: calc(30 * var(--u)); display: grid; grid-template-columns: calc(292 * var(--u)) calc(280 * var(--u)) calc(298 * var(--u)); gap: calc(22 * var(--u)); }
.rn-aboutus-btn { position: relative; display: flex; align-items: center; justify-content: center; text-align: center; height: calc(59 * var(--u)); padding: 0 calc(40 * var(--u)) 0 calc(20 * var(--u)); border-radius: 999px; border: 1px solid #8FA6C6; background: linear-gradient(180deg, #fff, #F1F6FC); color: var(--navy) !important; font-family: var(--serif); font-weight: 600; font-size: calc(16.5 * var(--u)); line-height: calc(22 * var(--u)); box-shadow: 0 calc(6 * var(--u)) calc(14 * var(--u)) rgba(30,53,96,.08); transition: background .2s, filter .2s; }
.rn-aboutus-btn::after { content: ""; position: absolute; right: calc(26 * var(--u)); top: 50%; width: calc(8 * var(--u)); height: calc(8 * var(--u)); margin-top: calc(-4 * var(--u)); border-top: calc(1.5 * var(--u)) solid currentColor; border-right: calc(1.5 * var(--u)) solid currentColor; transform: rotate(45deg); }
.rn-aboutus-btn:hover { background: #fff; }
.rn-aboutus-btn.is-fill { border: 0; color: #fff !important; background: linear-gradient(180deg, #5F8CC4 0%, #3B67A3 55%, #2A5189 100%); box-shadow: 0 calc(8 * var(--u)) calc(18 * var(--u)) rgba(42,81,137,.3); }
.rn-aboutus-btn.is-fill:hover { filter: brightness(1.07); }

/* 創業者：y1010–1190 */
.rn-founder { position: relative; background: linear-gradient(90deg, rgba(240,246,252,.6), rgba(214,230,245,.5)), url(../images/renewal/band-bg.jpg) center / cover no-repeat, #EEF4FA; }
.rn-founder-in { height: calc(240 * var(--u)); }
.rn-founder-photo { position: absolute; left: calc(137 * var(--u)); top: calc(32.5 * var(--u)); width: calc(175 * var(--u)); height: calc(175 * var(--u)); border-radius: 50%; padding: calc(4 * var(--u)); background: #fff; box-shadow: 0 calc(8 * var(--u)) calc(24 * var(--u)) rgba(30,53,96,.16); }
.rn-founder-photo img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.rn-founder-text { position: absolute; left: calc(370 * var(--u)); top: calc(61 * var(--u)); }
.rn-founder h2 { font-family: var(--serif); font-weight: 700; font-size: calc(28 * var(--u)); line-height: calc(38 * var(--u)); color: var(--navy); letter-spacing: .04em; white-space: nowrap; }
.rn-founder h2 a:hover { color: var(--blue-2); }
.rn-founder-text > p:not([class]) { margin-top: calc(12 * var(--u)); font-size: calc(14.5 * var(--u)); line-height: calc(22 * var(--u)); color: #273246; font-weight: 500; white-space: nowrap; }
.rn-founder-name { margin-top: calc(12 * var(--u)); font-size: calc(13 * var(--u)); color: var(--ink); display: flex; align-items: baseline; gap: calc(14 * var(--u)); }
.rn-founder-name b { font-family: var(--serif); font-weight: 500; font-size: calc(20 * var(--u)); color: var(--navy); letter-spacing: .12em; }

/* 著書・YouTube・お知らせバナー：Codex の追加セクションのデザイン画（幅973→1024換算） */
.rn-sec-head { display: flex; flex-direction: column; align-items: center; gap: calc(6 * var(--u)); }
.rn-sec-head .rn-title-lines.rn-sec-title { position: static; font-size: calc(34 * var(--u)); line-height: calc(46 * var(--u)); gap: calc(30 * var(--u)); }
.rn-sec-head .rn-title-lines.rn-sec-title::before, .rn-sec-head .rn-title-lines.rn-sec-title::after { width: calc(90 * var(--u)); }
.rn-eyebrow { font-family: var(--latin); font-weight: 600; font-size: calc(15 * var(--u)); letter-spacing: .2em; color: var(--navy); }
.rn-books { background: url(../images/renewal/band-bg.jpg) center top / 100% auto no-repeat, linear-gradient(180deg, #F2F7FC, #fff 40%, #F3F7FC); padding-block: calc(40 * var(--u)) calc(56 * var(--u)); }
.rn-books .rn-sec-head { flex-direction: column-reverse; }
.rn-book-list { margin-top: calc(32 * var(--u)); display: grid; grid-template-columns: repeat(4, 1fr); gap: calc(14 * var(--u)); padding: 0 calc(42 * var(--u)); }
.rn-book { display: flex; flex-direction: column; align-items: center; text-align: center; padding: calc(22 * var(--u)) calc(16 * var(--u)) calc(24 * var(--u)); border-radius: calc(12 * var(--u)); }
.rn-book.is-top { background: linear-gradient(180deg, #fff, #EEF4FB); border: 1px solid #D5BB86; box-shadow: 0 calc(10 * var(--u)) calc(26 * var(--u)) rgba(30,53,96,.1); }
.rn-book-cover { width: calc(176 * var(--u)); height: calc(262 * var(--u)); object-fit: contain; filter: drop-shadow(0 calc(8 * var(--u)) calc(12 * var(--u)) rgba(30,53,96,.22)); }
.rn-book-text { width: 100%; display: flex; flex-direction: column; align-items: center; }
.rn-book-sales { margin-top: calc(26 * var(--u)); min-width: calc(150 * var(--u)); padding: 0 calc(16 * var(--u)); height: calc(36 * var(--u)); line-height: calc(34 * var(--u)); border-radius: 999px; border: 1px solid #9FB2CC; background: #fff; font-family: var(--serif); font-weight: 600; font-size: calc(19 * var(--u)); color: var(--navy); }
.rn-book.is-top .rn-book-sales { position: relative; height: calc(46 * var(--u)); line-height: calc(46 * var(--u)); border: 0; background: linear-gradient(180deg, #2C4C86, #1C3566); color: #fff; font-size: calc(26 * var(--u)); padding: 0 calc(26 * var(--u)); }
.rn-book.is-top .rn-book-sales::before, .rn-book.is-top .rn-book-sales::after { content: "❦"; position: absolute; top: 50%; translate: 0 -50%; font-size: calc(30 * var(--u)); color: #C6A15F; }
.rn-book.is-top .rn-book-sales::before { left: calc(-26 * var(--u)); transform: scaleX(-1) rotate(-80deg); }
.rn-book.is-top .rn-book-sales::after { right: calc(-26 * var(--u)); transform: rotate(-80deg); }
.rn-book-pub { margin-top: calc(10 * var(--u)); font-family: var(--serif); font-size: calc(13.5 * var(--u)); color: var(--ink); padding-bottom: calc(14 * var(--u)); width: 100%; border-bottom: 1px solid #D9E1EB; }
.rn-book-title { margin-top: calc(16 * var(--u)); font-family: var(--serif); font-weight: 600; font-size: calc(15.5 * var(--u)); line-height: calc(23 * var(--u)); color: var(--navy); }
.rn-book.is-top .rn-book-title { font-size: calc(20 * var(--u)); }

/* YouTube：Codex の YouTube の段のデザイン画（幅1610→1024換算） */
.rn-videos { background: url(../images/renewal/band-bg.jpg) center / cover no-repeat, #EFF5FB; padding-block: calc(34 * var(--u)) calc(40 * var(--u)); }
.rn-videos .rn-in { display: flex; flex-direction: column; align-items: center; }
.rn-yt-head { display: flex; align-items: center; gap: calc(18 * var(--u)); }
.rn-yt-logo { width: calc(146 * var(--u)); height: calc(28 * var(--u)); }
.rn-yt-head span { padding-left: calc(18 * var(--u)); border-left: 1px solid #9AA6B8; font-family: var(--serif); font-weight: 600; font-size: calc(21 * var(--u)); line-height: calc(26 * var(--u)); color: var(--navy); }
.rn-videos .rn-title-lines.rn-yt-title { position: static; margin-top: calc(22 * var(--u)); font-size: calc(44 * var(--u)); line-height: calc(56 * var(--u)); gap: calc(26 * var(--u)); }
.rn-videos .rn-title-lines.rn-yt-title::before, .rn-videos .rn-title-lines.rn-yt-title::after { width: calc(108 * var(--u)); }
.rn-yt-sub { margin-top: calc(10 * var(--u)); font-size: calc(18 * var(--u)); letter-spacing: .2em; color: var(--ink); font-weight: 500; }
.rn-video-list { margin-top: calc(30 * var(--u)); width: 100%; display: grid; grid-template-columns: repeat(3, 1fr); gap: calc(12 * var(--u)); padding: 0 calc(39 * var(--u)); }
.rn-video-list a { display: flex; flex-direction: column; height: 100%; background: #fff; border-radius: calc(10 * var(--u)); padding: calc(11 * var(--u)) calc(11 * var(--u)) calc(18 * var(--u)); box-shadow: 0 calc(8 * var(--u)) calc(22 * var(--u)) rgba(30,53,96,.1); transition: transform .3s; }
.rn-video-list a:hover { transform: translateY(calc(-3 * var(--u))); }
.rn-video-thumb { position: relative; display: block; width: 100%; aspect-ratio: 288 / 176; overflow: hidden; border-radius: calc(6 * var(--u)); background: #3a3a3a; }
.rn-video-thumb img { width: 100%; height: 100%; object-fit: cover; }
.rn-video-play { position: absolute; left: 50%; top: 50%; width: calc(40 * var(--u)); height: calc(28 * var(--u)); translate: -50% -50%; border-radius: calc(8 * var(--u)); background: #FF0000; box-shadow: 0 calc(3 * var(--u)) calc(8 * var(--u)) rgba(0,0,0,.3); transition: transform .2s; }
.rn-video-play::after { content: ""; position: absolute; left: 50%; top: 50%; translate: -35% -50%; border-left: calc(11 * var(--u)) solid #fff; border-top: calc(7 * var(--u)) solid transparent; border-bottom: calc(7 * var(--u)) solid transparent; }
.rn-video-list a:hover .rn-video-play { transform: scale(1.08); }
.rn-video-tag { align-self: flex-start; margin-top: calc(13 * var(--u)); padding: 0 calc(10 * var(--u)); height: calc(20 * var(--u)); line-height: calc(20 * var(--u)); border-radius: 999px; background: #E00; color: #fff; font-size: calc(11.5 * var(--u)); font-weight: 700; letter-spacing: .06em; }
.rn-video-title { margin-top: calc(10 * var(--u)); padding: 0 calc(8 * var(--u)); font-family: var(--serif); font-weight: 600; font-size: calc(19 * var(--u)); line-height: calc(28 * var(--u)); color: var(--navy); }
.rn-video-channel { margin-top: calc(34 * var(--u)); display: flex; align-items: center; justify-content: center; gap: calc(16 * var(--u)); position: relative; width: calc(434 * var(--u)); height: calc(56 * var(--u)); border-radius: 999px; background: linear-gradient(180deg, #F2202A, #D10A12); box-shadow: 0 calc(8 * var(--u)) calc(18 * var(--u)) rgba(210,10,18,.3); color: #fff !important; font-family: var(--serif); font-weight: 600; font-size: calc(22 * var(--u)); letter-spacing: .08em; transition: filter .2s; }
.rn-video-channel svg { width: calc(38 * var(--u)); height: calc(27 * var(--u)); }
.rn-video-channel::after { content: ""; position: absolute; right: calc(52 * var(--u)); top: 50%; width: calc(9 * var(--u)); height: calc(9 * var(--u)); margin-top: calc(-4.5 * var(--u)); border-top: calc(2 * var(--u)) solid #fff; border-right: calc(2 * var(--u)) solid #fff; transform: rotate(45deg); }
.rn-video-channel:hover { filter: brightness(1.08); }

html[lang="en"] .rn-founder h2, html[lang="en"] .rn-founder-text > p:not([class]) { white-space: normal; max-width: calc(620 * var(--u)); }

/* チームとお知らせ：y1190–1385 */
.rn-team-news { background: #fff; }
.rn-team-news-in { height: calc(346 * var(--u)); }
.rn-team-news-in::after { content: ""; position: absolute; left: calc(522 * var(--u)); top: calc(42 * var(--u)); height: calc(262 * var(--u)); width: 1px; background: #E1E7EF; }
.rn-title-under { position: absolute; top: calc(40 * var(--u)); font-family: var(--serif); font-weight: 700; font-size: calc(18 * var(--u)); line-height: calc(26 * var(--u)); color: var(--navy); letter-spacing: .06em; white-space: nowrap; }
.rn-title-under::after { content: ""; position: absolute; left: 0; top: calc(30 * var(--u)); width: calc(97 * var(--u)); height: calc(1.5 * var(--u)); background: linear-gradient(90deg, var(--gold-1), rgba(207,175,114,0)); }
.rn-team .rn-title-under { left: calc(48 * var(--u)); }
.rn-news .rn-title-under { left: calc(556 * var(--u)); }
.rn-team-list li { position: absolute; top: calc(98 * var(--u)); width: calc(140 * var(--u)); display: flex; flex-direction: column; align-items: center; text-align: center; }
.rn-team-list li:nth-child(1) { left: calc(50 * var(--u)); }
.rn-team-list li:nth-child(2) { left: calc(200 * var(--u)); }
.rn-team-list li:nth-child(3) { left: calc(350 * var(--u)); }
.rn-team-list img { width: calc(110 * var(--u)); height: calc(110 * var(--u)); border-radius: 50%; object-fit: cover; background: #F1F5F9; box-shadow: 0 calc(6 * var(--u)) calc(16 * var(--u)) rgba(30,53,96,.14); border: calc(3 * var(--u)) solid #fff; }
.rn-team-name { margin-top: calc(8 * var(--u)); font-size: calc(13.5 * var(--u)); line-height: calc(18 * var(--u)); color: var(--ink); letter-spacing: .06em; }
.rn-team-role { font-size: calc(10.5 * var(--u)); line-height: calc(15 * var(--u)); color: #6B7686; }
.rn-news-list { position: absolute; left: calc(555 * var(--u)); top: calc(98 * var(--u)); width: calc(435 * var(--u)); }
.rn-news-list li { border-bottom: 1px solid #E1E7EF; }
.rn-news-list a { position: relative; display: flex; align-items: center; height: calc(34 * var(--u)); padding-left: calc(5 * var(--u)); font-size: calc(13 * var(--u)); color: var(--ink); }
.rn-news-list time { width: calc(110 * var(--u)); flex: none; letter-spacing: .04em; }
.rn-news-list span { min-width: 0; padding-right: calc(28 * var(--u)); font-size: calc(13.5 * var(--u)); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rn-news-list a::after { content: ""; position: absolute; right: calc(14 * var(--u)); top: 50%; width: calc(7 * var(--u)); height: calc(7 * var(--u)); margin-top: calc(-3.5 * var(--u)); border-top: 1px solid #556275; border-right: 1px solid #556275; transform: rotate(45deg); }
.rn-news-list a:hover span { color: var(--blue-2); }

/* お問い合わせ：y1385–1470 */
.rn-contact { position: relative; overflow: hidden; background: linear-gradient(90deg, rgba(226,237,248,.5), rgba(240,246,252,.3) 50%, rgba(214,230,245,.5)), url(../images/renewal/band-bg.jpg) center / cover no-repeat, #EDF4FB; }
.rn-contact-in { height: calc(85 * var(--u)); }
.rn-contact p { position: absolute; left: calc(222 * var(--u)); top: calc(22 * var(--u)); font-size: calc(16 * var(--u)); line-height: calc(22 * var(--u)); color: #273246; font-weight: 500; letter-spacing: .04em; white-space: nowrap; }
.rn-btn-contact { position: absolute; left: calc(532 * var(--u)); top: calc(18 * var(--u)); width: calc(294 * var(--u)); height: calc(50 * var(--u)); border-radius: 999px; background: linear-gradient(180deg, #86A6D0 0%, #5C82B5 45%, #3E659A 100%); border: 1px solid rgba(255,255,255,.7); box-shadow: 0 calc(8 * var(--u)) calc(18 * var(--u)) rgba(46,85,140,.3), inset 0 1px 0 rgba(255,255,255,.4); display: flex; align-items: center; padding-left: calc(64 * var(--u)); gap: calc(14 * var(--u)); color: #fff !important; font-size: calc(18 * var(--u)); letter-spacing: .1em; transition: filter .2s; }
.rn-btn-contact svg { width: calc(24 * var(--u)); height: calc(24 * var(--u)); fill: none; stroke: #fff; stroke-width: 1.4; }
.rn-btn-contact::after { content: ""; position: absolute; right: calc(38 * var(--u)); top: 50%; width: calc(8 * var(--u)); height: calc(8 * var(--u)); margin-top: calc(-4 * var(--u)); border-top: calc(1.5 * var(--u)) solid #fff; border-right: calc(1.5 * var(--u)) solid #fff; transform: rotate(45deg); }
.rn-btn-contact:hover { filter: brightness(1.06); }

/* フッター：Codex のフッターのデザイン画（幅1024換算で高さ383） */
.rn-footer { position: relative; overflow: hidden; color: #fff; background:
	radial-gradient(calc(420 * var(--u)) calc(90 * var(--u)) at 92% 40%, rgba(150,190,240,.22), rgba(150,190,240,0) 70%),
	radial-gradient(calc(380 * var(--u)) calc(80 * var(--u)) at 6% 8%, rgba(150,190,240,.18), rgba(150,190,240,0) 70%),
	linear-gradient(180deg, #24467F 0%, #1F3D72 55%, #22427A 100%); }
.rn-footer-inner { position: relative; width: calc(1024 * var(--u)); margin: 0 auto; padding: calc(40 * var(--u)) calc(30 * var(--u)) 0; }
.rn-footer-top { display: flex; align-items: stretch; }
.rn-footer-brand { width: calc(251 * var(--u)); padding-left: calc(37 * var(--u)); flex: none; }
.rn-footer-logo .rn-logo-svg { width: calc(160 * var(--u)); height: calc(37 * var(--u)); }
.rn-footer-name { margin-top: calc(10 * var(--u)); font-family: var(--serif); font-weight: 500; font-size: calc(17 * var(--u)); line-height: calc(26 * var(--u)); letter-spacing: .04em; }
.rn-footer-addr { margin-top: calc(8 * var(--u)); font-family: var(--serif); font-size: calc(13 * var(--u)); line-height: calc(21 * var(--u)); color: #E4EBF5; letter-spacing: .04em; }
.rn-footer-nav { border-left: 1px solid rgba(255,255,255,.5); padding: calc(2 * var(--u)) 0 calc(4 * var(--u)) calc(40 * var(--u)); flex: 1; }
.rn-footer-nav ul { display: grid; grid-template-columns: calc(262 * var(--u)) calc(212 * var(--u)) 1fr; grid-auto-flow: column; grid-template-rows: repeat(4, calc(34 * var(--u))); }
.rn-footer-nav li { display: flex; align-items: center; font-family: var(--serif); font-size: calc(15 * var(--u)); letter-spacing: .04em; white-space: nowrap; }
.rn-footer-nav li:nth-child(n+5) { border-left: 1px solid rgba(255,255,255,.55); padding-left: calc(24 * var(--u)); }
.rn-footer-nav li:nth-child(n+5) { height: calc(20 * var(--u)); align-self: center; }
.rn-footer-sns { margin-top: calc(32 * var(--u)); border-top: 1px solid rgba(255,255,255,.45); border-bottom: 1px solid rgba(255,255,255,.45); height: calc(102 * var(--u)); display: flex; align-items: center; padding-left: calc(20 * var(--u)); }
.rn-footer-sns-title { white-space: nowrap; font-family: var(--serif); font-size: calc(19 * var(--u)); letter-spacing: .08em; padding-right: calc(24 * var(--u)); border-right: 1px solid rgba(255,255,255,.55); line-height: calc(34 * var(--u)); }
.rn-footer-sns ul { display: flex; align-items: center; }
.rn-footer-sns li { display: flex; align-items: center; padding: 0 calc(16 * var(--u)) 0 calc(18 * var(--u)); }
.rn-footer-sns li + li { border-left: 1px solid rgba(255,255,255,.55); }
.rn-footer-sns a { display: flex; align-items: center; gap: calc(12 * var(--u)); }
.rn-sns-icon { flex: none; width: calc(37 * var(--u)); height: calc(37 * var(--u)); border-radius: calc(9 * var(--u)); display: grid; place-items: center; background: #fff; }
.rn-sns-icon svg { width: 62%; height: 62%; }
.rn-sns-icon.is-instagram { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%); }
.rn-sns-icon.is-line { background: #06C755; width: calc(37 * var(--u)); }
.rn-sns-icon.is-line svg { width: 76%; height: 76%; }
.rn-sns-name { font-family: var(--serif); font-size: calc(16 * var(--u)); line-height: calc(20 * var(--u)); letter-spacing: .02em; display: flex; flex-direction: column; white-space: nowrap; }
.rn-sns-name small { font-size: calc(11.5 * var(--u)); line-height: calc(16 * var(--u)); margin-top: calc(2 * var(--u)); color: #E4EBF5; }
.rn-footer a { color: #fff; }
.rn-footer a:hover .rn-sns-name, .rn-footer-nav a:hover { text-decoration: underline; text-underline-offset: 4px; }
.rn-legal { display: flex; justify-content: center; gap: calc(28 * var(--u)); padding-top: calc(16 * var(--u)); font-size: calc(12.5 * var(--u)); }
.rn-legal a { color: #E4EBF5 !important; }
.rn-copy { position: relative; display: flex; justify-content: center; align-items: center; height: calc(64 * var(--u)); font-family: var(--serif); font-size: calc(13 * var(--u)); color: #E4EBF5; letter-spacing: .04em; }
.rn-copy small { font-size: inherit; }
.rn-copy-lang { position: absolute; right: calc(20 * var(--u)); font-family: var(--latin); font-size: calc(13 * var(--u)); border: 1px solid rgba(255,255,255,.45); border-radius: 99px; padding: 0 calc(12 * var(--u)); line-height: calc(24 * var(--u)); }

/* ========== スマホ（1023px 以下）：スマホ版デザイン画の並び ========== */
@media (max-width: 1023px) {
	:root { --s: calc(min(100vw, 560px) / 390); }
	.rn-sp { display: inline; }
	.rn-in, .rn-header-inner, .rn-footer-inner { width: auto; max-width: 560px; }
	.rn-note { font-size: 11px; }

	/* ヘッダー：Codex のヘッダーのスマホ版デザイン画 */
	.rn-header-inner { height: 64px; padding: 0 12px 0 16px; display: flex; align-items: center; }
	.rn-brand { position: static; width: auto; flex-direction: row; align-items: center; gap: 10px; }
	.rn-logo .rn-logo-svg { width: 104px; height: 25px; }
	.rn-brand-tag { margin: 0; padding-left: 10px; border-left: 1px solid var(--gold-1); font-size: 11.5px; gap: 0; }
	.rn-brand-tag::before, .rn-brand-tag::after { display: none; }
	.rn-lang-switch { display: none; }
	.rn-sp-cart { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; margin-left: auto; margin-right: 8px; width: 52px; height: 46px; border: 1.5px solid var(--rose); border-radius: 8px; background: linear-gradient(180deg, #fff, #FCEFF4); }
	.rn-sp-cart svg { width: 22px; height: 20px; fill: none; stroke: var(--rose-d); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
	.rn-sp-cart b { font-family: var(--sans); font-size: 9px; font-weight: 700; letter-spacing: .06em; color: var(--rose-d); }
	.rn-sp-cart + .rn-menu-btn { margin-left: 0 !important; }
	.rn-menu-btn { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; margin-left: auto; width: 52px; height: 46px; border: 1.5px solid var(--navy); border-radius: 8px; background: #fff; cursor: pointer; }
	.rn-menu-lines { display: grid; gap: 4px; }
	.rn-menu-lines span { display: block; width: 22px; height: 1.5px; background: var(--navy); transition: transform .25s, opacity .25s; }
	.rn-menu-label { font-family: var(--sans); font-size: 9px; font-weight: 700; letter-spacing: .06em; color: var(--navy); }
	.rn-menu-btn[aria-expanded="true"] .rn-menu-lines span:nth-child(1) { transform: translateY(5.5px) rotate(45deg); }
	.rn-menu-btn[aria-expanded="true"] .rn-menu-lines span:nth-child(2) { opacity: 0; }
	.rn-menu-btn[aria-expanded="true"] .rn-menu-lines span:nth-child(3) { transform: translateY(-5.5px) rotate(-45deg); }
	.rn-nav { position: fixed; inset: 64px 0 0 0; left: 0; right: 0; top: 64px; background: url(../images/renewal/band-bg.jpg) center bottom / 200% auto no-repeat, linear-gradient(180deg, #FAFCFE, #F2F7FC); padding: 12px 16px calc(32px + env(safe-area-inset-bottom, 0px)); overflow-y: auto; opacity: 0; visibility: hidden; transition: opacity .25s, visibility .25s; }
	.rn-nav.is-open { opacity: 1; visibility: visible; }
	.rn-nav > ul { flex-direction: column; height: auto; border-left: 0; }
	.rn-nav > ul > li { display: block; border-bottom: 1px solid #D9E1EB; }
	.rn-nav > ul > li::before { display: none !important; }
	.rn-nav > ul > li > a, .rn-sub-btn { flex-direction: row; flex-wrap: wrap; justify-content: flex-start; align-items: baseline; gap: 2px 10px; width: 100%; padding: 17px 40px 17px 8px; text-align: left; }
	.rn-nav > ul > li > a::after, .rn-sub-btn::after { display: none; }
	.rn-nav > ul > li:not(.rn-nav-contact):not(.rn-lang) > a::before, .rn-sub-btn::before { content: ""; position: absolute; right: 10px; top: 50%; width: 9px; height: 9px; margin-top: -4.5px; border-top: 1.5px solid var(--navy); border-right: 1.5px solid var(--navy); transform: rotate(45deg); }
	.rn-sub-btn::before { transform: rotate(135deg); margin-top: -7px; transition: transform .2s; }
	.rn-has-sub.is-open .rn-sub-btn::before { transform: rotate(-45deg); margin-top: -2px; }
	.rn-nav-ja { font-size: 19px; line-height: 1.4; }
	.rn-nav-en { font-size: 14px; margin: 0; color: #6E7B90; }
	.rn-nav-en::before { content: "/"; margin-right: 10px; color: #A9B4C4; }
	.rn-sub-btn .rn-nav-ja::after { display: none; }
	.rn-has-sub.is-open .rn-sub-btn { background: linear-gradient(180deg, #E9F1FA, #DCE9F6); border-radius: 6px; }
	.rn-sub { position: static; translate: none; width: auto; opacity: 1; visibility: visible; display: none; box-shadow: none; border: 0; border-radius: 0 0 6px 6px; padding: 4px 0 8px 14px; margin: 0 0 10px; background: linear-gradient(180deg, #F0F6FC, #E6EFF8); }
	.rn-sub::before { display: none; }
	.rn-has-sub:hover .rn-sub { display: none; }
	.rn-has-sub.is-open .rn-sub { display: block; border-left: 3px solid var(--gold-1); margin-left: 6px; }
	.rn-sub a { padding: 13px 34px 13px 14px; }
	.rn-sub a::after { content: ""; right: 12px; width: 8px; height: 8px; border-top: 1.5px solid var(--navy); border-right: 1.5px solid var(--navy); transform: rotate(45deg); translate: 0 -50%; font-size: 0; }
	.rn-sub .rn-nav-ja { font-size: 16px; }
	.rn-sub .rn-nav-en { display: none; }
	.rn-nav-shop { margin: 28px 0 0; border-bottom: 0 !important; align-self: stretch; }
	.rn-nav > ul > li.rn-nav-shop > a { justify-content: center; align-items: center !important; height: 58px; border-radius: 10px; padding: 0 !important; }
	.rn-nav-shop svg { width: 26px; height: 26px; }
	.rn-nav-shop .rn-nav-ja { font-size: 18px; }
	.rn-nav > ul > li.rn-nav-shop > a::before { display: none; }
	.rn-nav-shop + .rn-nav-contact { margin: 12px 0 0 !important; }
	.rn-nav-shop + .rn-nav-contact > a { width: 100% !important; }
	.rn-nav-contact { margin: 12px 0 0; border-bottom: 0 !important; align-self: stretch; }
	.rn-nav > ul > li.rn-nav-contact > a { display: flex !important; flex-direction: row !important; justify-content: center; align-items: center !important; gap: 12px; width: 100%; height: 62px; border-radius: 10px; padding: 0 !important; }
	.rn-nav-contact svg { width: 30px; height: 30px; padding: 0; border: 0; }
	.rn-nav-contact .rn-nav-ja { font-size: 19px; }
	.rn-nav-contact .rn-nav-en { display: inline; font-size: 15px; color: rgba(255,255,255,.9); }
	.rn-nav-contact .rn-nav-en::before { color: rgba(255,255,255,.6); }
	.rn-nav .rn-lang { display: flex; justify-content: center; align-items: center; gap: 22px; border-bottom: 0 !important; padding-top: 28px; font-family: var(--serif); font-size: 20px; }
	.rn-nav .rn-lang b { color: var(--navy); padding-bottom: 4px; border-bottom: 2px solid var(--gold-1); }
	.rn-nav .rn-lang span { color: #9AA6B8; }
	.rn-nav .rn-lang a { color: #7A8597; padding-bottom: 6px; }
	body.rn-menu-open { overflow: hidden; }

	/* ファーストビュー */
	.rn-hero { height: auto; background-position: 30% center; }
	.rn-hero-in { min-height: calc(160 * var(--s)); }
	.rn-hero-copy { position: relative; left: 0; top: 0; padding: calc(18 * var(--s)) 0 calc(18 * var(--s)) 24px; width: 64%; }
	.rn-hero h1 { font-size: clamp(21px, calc(21 * var(--s)), 30px); line-height: 1.45; white-space: normal; }
	.rn-hero .rn-gold { width: 46px; margin-top: 10px; height: 2px; }
	.rn-hero-lead { margin-top: 10px; font-size: 12px; line-height: 1.6; }
	.rn-hero-name { margin-top: 8px; font-size: 10.5px; gap: 6px; flex-wrap: wrap; }
	.rn-hero-name b { font-size: 16px; }
	.rn-hero-nk { height: 36px; margin-left: 0; flex-basis: 100%; width: auto; object-fit: contain; object-position: left; }
	.rn-hero-photo { left: auto; right: -6%; bottom: 0; width: 50%; height: auto; aspect-ratio: 1000 / 914; }

	/* 実績 2×2 */
	.rn-stats-list { height: auto; grid-template-columns: 1fr 1fr; padding: 4px 16px; }
	.rn-stats-list li { padding: 10px 4px 8px; }
	.rn-stats-list li + li::before { display: none; }
	.rn-stats-list li:nth-child(even) { border-left: 1px solid #D9E1EB; }
	.rn-stats-list li:nth-child(n+3) { border-top: 1px solid #D9E1EB; }
	.rn-stat-num { line-height: 1.25; }
	.rn-stat-num b { font-size: 30px; }
	.rn-stat-num span { font-size: 16px; }
	.rn-stat-label { font-size: 12.5px; line-height: 1.6; }

	/* 研究 */
	.rn-research .rn-in { height: auto; padding: 22px 16px 28px; }
	.rn-title-lines { position: static; font-size: 19px; line-height: 1.5; gap: 14px; }
	.rn-title-lines::before, .rn-title-lines::after { width: 44px; height: 1px; }
	.rn-steps { position: relative; margin-top: 14px; }
	.rn-steps::before { content: ""; position: absolute; left: 21px; top: 30px; bottom: 60px; width: 1px; background: #C9D3E0; }
	.rn-step { position: relative; left: auto !important; width: auto !important; height: auto; display: grid; grid-template-columns: 54px 1fr 100px; grid-template-rows: auto auto; padding: 12px 0; border-bottom: 1px solid #E3E9F0; }
	.rn-step:last-child { border-bottom: 0; }
	.rn-step::before { display: none; }
	.rn-step-no { position: relative; left: 0; top: 0; grid-row: 1 / 3; width: 42px; height: 42px; font-size: 16px; }
	.rn-step .rn-step-no::after { display: none; }
	.rn-step h3 { position: static; grid-column: 2; font-size: 17px; line-height: 1.4; white-space: normal; }
	.rn-step h3 a::after { inset: 0; }
	.rn-step p, .rn-step:nth-child(n) p { position: static; grid-column: 2; margin-top: 4px; font-size: 12.5px; line-height: 1.6; white-space: normal; }
	.rn-step p br { display: none; }
	.rn-step-img { position: static; grid-column: 3; grid-row: 1 / 3; width: 112px; height: 112px; align-self: center; margin-right: -12px; }
	.rn-research .rn-note { position: static; margin-top: 8px; text-align: right; }

	/* 商品：Codex の商品ゾーンのスマホ版デザイン画 */
	.rn-products { background: radial-gradient(70% 30% at 20% 22%, rgba(246,205,220,.4), rgba(246,205,220,0) 70%), radial-gradient(70% 30% at 80% 60%, rgba(205,225,245,.5), rgba(205,225,245,0) 70%), linear-gradient(180deg, #FDFBFD 0%, #F5F8FC 100%); }
	.rn-products-in { height: auto; padding: 22px 16px 8px; display: flex; flex-direction: column; }
	.rn-products-in::after { display: none; }
	.rn-products-title.rn-title-lines { position: static; font-size: 22px; line-height: 1.5; gap: 14px; }
	.rn-products-title.rn-title-lines::before, .rn-products-title.rn-title-lines::after { width: 40px; }
	.rn-product { position: relative; left: auto !important; width: auto !important; height: auto; display: grid; grid-template-columns: 42% 1fr; column-gap: 14px; align-items: start; padding: 20px 0 22px; }
	.rn-product + .rn-product { border-top: 1px solid; border-image: linear-gradient(90deg, rgba(207,175,114,0), var(--gold-1), rgba(207,175,114,0)) 1; }
	.rn-product-pack { position: relative; left: 0 !important; top: 0; width: 100%; height: auto; padding-bottom: 14px; }
	.rn-product-pack::after { content: ""; position: absolute; left: -4%; right: -4%; bottom: 0; height: 26px; border-radius: 50%; background: radial-gradient(ellipse at 50% 40%, rgba(255,255,255,.95), rgba(220,228,242,.7) 55%, rgba(220,228,242,0) 72%); box-shadow: 0 6px 14px -8px rgba(120,90,160,.35); z-index: -1; }
	.rn-product-decolla .rn-product-pack::after { background: radial-gradient(ellipse at 50% 40%, rgba(255,255,255,.95), rgba(246,214,228,.7) 55%, rgba(246,214,228,0) 72%); }
	.rn-product-pack img { position: relative; width: 100%; height: auto; aspect-ratio: auto; }
	.rn-product-body { position: static; width: auto; min-width: 0; }
	.rn-product-name { font-size: 27px; line-height: 1.1; white-space: normal; background: linear-gradient(180deg, #D3B57A 0%, #B08A4F 55%, #9A773F 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
	.rn-product-energy .rn-product-name { font-size: 22px; line-height: 1.1; }
	.rn-product-kana, .rn-product-energy .rn-product-kana { margin-top: 4px; font-size: 13px; line-height: 1.5; white-space: normal; padding-bottom: 8px; background-size: 100% 1px; }
	.rn-product-tags { display: none; }
	.rn-product-spec { margin-top: 6px; }
	.rn-product-spec li { position: relative; padding: 3px 0 3px 14px; font-size: 12.5px; line-height: 1.5; white-space: normal; border: 0 !important; }
	.rn-product-spec li::before { content: ""; position: absolute; left: 0; top: .62em; width: 7px; height: 7px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #fff, #E7A8BD); }
	.rn-product-energy .rn-product-spec li::before { background: radial-gradient(circle at 35% 35%, #fff, #8DB6E0); }
	.rn-product-spec li br { display: none; }
	.rn-product-qty, .rn-product-qty small { font-family: var(--sans) !important; font-size: 12.5px !important; font-weight: 500 !important; color: #273246 !important; }
	.rn-product .rn-product-btn { position: relative; left: 0; top: 0; margin-top: 12px; width: 100%; height: 44px; font-size: 15px; letter-spacing: .1em; border-width: 1.5px; }
	.rn-product-decolla .rn-product-btn { border-color: #D77A98; color: var(--rose-d); }
	.rn-product-energy .rn-product-btn { border-color: #3E6AA8; color: var(--blue-2); }
	.rn-product-btn::after { right: 16px; width: 7px; height: 7px; margin-top: -3.5px; border-width: 1.5px; }
	.rn-products-in::before { display: none; }
	.rn-acis { position: relative; top: 0; height: auto; display: grid; grid-template-columns: 46% 1fr; column-gap: 12px; padding: 16px 0 24px; }
	.rn-acis-body { display: contents; }
	.rn-acis-catch { grid-column: 1 / -1; order: 1; font-size: 15px; letter-spacing: .06em; color: var(--navy); }
	.rn-acis-catch::after { width: 100%; font-size: 8px; margin-top: 6px; }
	.rn-acis-name { grid-column: 1 / -1; order: 2; margin-top: 8px; font-size: 58px; line-height: 1; text-align: center; }
	.rn-acis-kana { grid-column: 1 / -1; order: 3; width: auto; justify-self: center; font-size: 15px; padding-bottom: 8px; padding-inline: 40px; letter-spacing: .2em; }
	.rn-acis-tag { grid-column: 1 / -1; order: 4; margin-top: 10px; font-size: 19px; letter-spacing: .08em; text-align: center; }
	.rn-acis-pack { position: relative; left: 0; top: 0; order: 5; width: 100%; height: auto; margin-top: 16px; align-self: start; }
	.rn-acis-pack img { height: auto; }
	.rn-acis-points { order: 6; flex-direction: column; gap: 0; margin-top: 16px; }
	.rn-acis-points li { width: auto; height: auto; border-radius: 0; border: 0; border-bottom: 1px solid #E6D6B6; background: none; flex-direction: row; justify-content: flex-start; gap: 10px; padding: 8px 0; text-align: left; }
	.rn-acis-points svg { flex: none; width: 34px; height: 34px; padding: 7px; border: 1px solid #D5BB86; border-radius: 50%; }
	.rn-acis-points span { font-size: 13.5px; line-height: 1.5; }
	.rn-acis .rn-acis-btn { grid-column: 1 / -1; order: 7; justify-self: center; margin-top: 20px; width: min(300px, 80vw); height: 50px; font-size: 17px; background: linear-gradient(180deg, #fff, #FBEEF3); }
	.rn-acis .rn-acis-btn::after { right: 28px; }
	.rn-product { top: 0; height: auto; }
	.rn-acis { border-top: 1px solid; border-image: linear-gradient(90deg, rgba(207,175,114,0), var(--gold-1), rgba(207,175,114,0)) 1; padding-top: 24px; }
	.rn-products-note { position: static; padding: 0 16px 14px; text-align: center; }
	.rn-product-sub { position: static; grid-column: 2; width: 100%; margin-top: 8px; font-size: 12.5px; }
	.rn-books-sub { font-size: 13px; padding: 0 16px; }

	/* 創業者 */
	.rn-founder-in { height: auto; display: grid; grid-template-columns: 96px 1fr; gap: 16px; align-items: center; padding: 28px 16px; }
	.rn-founder-photo { position: static; width: 96px; height: 96px; padding: 3px; }
	.rn-founder-text { position: static; }
	.rn-founder h2 { font-size: 15.5px; line-height: 1.5; white-space: normal; }
	.rn-founder-text > p:not([class]) { margin-top: 6px; font-size: 12px; line-height: 1.6; white-space: normal; }
	.rn-founder-name { margin-top: 6px; font-size: 11px; gap: 8px; }
	.rn-founder-name b { font-size: 16px; }

	/* 著書・YouTube・お知らせバナー（スマホ版デザイン画） */
	.rn-sec-head { gap: 2px; }
	.rn-sec-head .rn-title-lines.rn-sec-title { font-size: 22px; line-height: 1.4; gap: 14px; text-align: center; }
	.rn-sec-head .rn-title-lines.rn-sec-title::before, .rn-sec-head .rn-title-lines.rn-sec-title::after { width: 36px; flex: none; }
	.rn-eyebrow { font-size: 13px; color: #B08A4F; }
	.rn-books { padding-block: 36px 40px; }
	.rn-book-list { margin-top: 20px; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 0 16px; }
	.rn-book { padding: 12px 6px 14px; background: #fff; box-shadow: 0 6px 16px rgba(30,53,96,.08); border-radius: 10px; }
	.rn-book.is-top { grid-column: 1 / -1; display: grid; grid-template-columns: 40% 1fr; align-items: center; padding: 16px; text-align: center; }
	.rn-book-cover { width: 100%; height: auto; max-height: 150px; }
	.rn-book.is-top .rn-book-cover { max-height: 170px; }
	.rn-book-text { display: flex; flex-direction: column-reverse; }
	.rn-book.is-top .rn-book-text { flex-direction: column; }
	.rn-book-sales { margin-top: 8px; min-width: 0; height: 26px; line-height: 24px; padding: 0 12px; font-size: 14px; }
	.rn-book.is-top .rn-book-sales { order: -1; height: 38px; line-height: 38px; font-size: 22px; padding: 0 20px; margin-top: 0; }
	.rn-book.is-top .rn-book-sales::before, .rn-book.is-top .rn-book-sales::after { font-size: 24px; }
	.rn-book.is-top .rn-book-sales::before { left: -20px; }
	.rn-book.is-top .rn-book-sales::after { right: -20px; }
	.rn-book-pub { margin-top: 4px; font-size: 11px; padding: 0; border: 0; }
	.rn-book-title { margin-top: 6px; font-size: 12px; line-height: 1.5; }
	.rn-book-title br { display: none; }
	.rn-book.is-top .rn-book-title { order: 0; font-size: 24px; margin-top: 8px; padding-bottom: 8px; border-bottom: 1px solid #D5BB86; }
	.rn-book.is-top .rn-book-pub { order: 1; margin-top: 8px; font-size: 12px; }
										
	/* YouTube（スマホ版デザイン画） */
	.rn-videos { padding-block: 28px 32px; }
	.rn-yt-head { flex-direction: column; gap: 8px; }
	.rn-yt-logo { width: 124px; height: 24px; }
	.rn-yt-head span { border: 1px solid var(--navy); border-radius: 99px; padding: 2px 18px; font-size: 13px; line-height: 1.6; }
	.rn-videos .rn-title-lines.rn-yt-title { margin-top: 12px; font-size: 24px; line-height: 1.4; gap: 12px; text-align: center; }
	.rn-videos .rn-title-lines.rn-yt-title::before, .rn-videos .rn-title-lines.rn-yt-title::after { width: 40px; flex: none; }
	.rn-yt-sub { margin-top: 10px; font-size: 13px; letter-spacing: .08em; text-align: center; padding: 0 16px; }
	.rn-video-list { margin-top: 18px; grid-template-columns: 1fr; gap: 12px; padding: 0 16px; }
	.rn-video-list a { padding: 8px 8px 12px; border-radius: 10px; }
	.rn-video-thumb { aspect-ratio: 16 / 6.2; border-radius: 6px; }
	.rn-video-play { width: 44px; height: 31px; border-radius: 9px; }
	.rn-video-play::after { border-left-width: 12px; border-top-width: 8px; border-bottom-width: 8px; }
	.rn-video-tag { display: none; }
	.rn-video-title { margin-top: 8px; padding: 0; text-align: center; font-size: 15px; line-height: 1.5; }
	.rn-video-title br { display: none; }
	.rn-video-channel { margin-top: 20px; width: min(320px, 84vw); height: 52px; gap: 12px; font-size: 17px; }
	.rn-video-channel svg { width: 30px; height: 21px; }
	.rn-video-channel::after { right: 26px; width: 8px; height: 8px; margin-top: -4px; border-width: 2px; }

	/* Dr.JAPANについて（スマホ版デザイン画） */
	.rn-aboutus { padding-block: 32px 40px; }
	.rn-aboutus::before { width: 160px; height: 160px; right: -50px; top: -30px; opacity: .4; }
	.rn-aboutus-in { padding: 0 18px; }
	.rn-aboutus-lead { order: -1; margin: 0 0 18px; width: auto; font-size: 13.5px; line-height: 1.6; padding-bottom: 16px; background-size: 40% 1px; }
	.rn-aboutus .rn-title-lines.rn-aboutus-title { font-size: 28px; line-height: 1.3; gap: 0; }
	.rn-aboutus .rn-title-lines.rn-aboutus-title::before, .rn-aboutus .rn-title-lines.rn-aboutus-title::after { display: none; }
	.rn-aboutus-en { font-size: 15px; padding-bottom: 16px; background: linear-gradient(90deg, rgba(207,175,114,0), var(--gold-1), rgba(207,175,114,0)) center bottom / 40% 1px no-repeat; }
	.rn-aboutus-text { margin-top: 20px; width: auto; gap: 16px; }
	.rn-aboutus-text p { font-size: 15px; line-height: 1.95; }
	.rn-aboutus-quote { margin-top: 22px; width: 100%; padding: 16px 16px 16px 22px; border: 0; border-left: 3px solid var(--gold-1); border-radius: 8px; background: rgba(234,242,250,.85); text-align: left; }
	.rn-aboutus-quote p { font-size: 15px; line-height: 1.85; }
	.rn-aboutus-quote br { display: none; }
	.rn-aboutus-btns { margin-top: 24px; width: 100%; grid-template-columns: 1fr; gap: 12px; }
	.rn-aboutus-btn { height: auto; min-height: 54px; padding: 10px 40px 10px 20px; font-size: 16px; line-height: 1.5; }
	.rn-aboutus-btn::after { right: 22px; width: 8px; height: 8px; margin-top: -4px; border-width: 1.5px; }
	.rn-aboutus-btn:first-child { border: 0; color: #fff !important; background: linear-gradient(180deg, #3E5F94, #1E3A6B); }
	.rn-aboutus-btn.is-fill { color: var(--navy) !important; border: 1px solid #8FA6C6; background: linear-gradient(180deg, #fff, #F1F6FC); box-shadow: none; }

	/* チームとお知らせ */
	.rn-team-news-in { height: auto; padding: 36px 16px 32px; display: flex; flex-direction: column; gap: 32px; }
	.rn-team-news-in::after { display: none; }
	.rn-title-under { position: static; display: flex; align-items: center; gap: 12px; font-size: 16px; line-height: 1.5; }
	.rn-title-under::after { position: static; width: 64px; height: 1px; }
	.rn-team-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 20px; }
	.rn-team-list li { position: static; width: auto; }
	.rn-team-list img { width: 84px; height: 84px; border-width: 2px; }
	.rn-team-name { margin-top: 6px; font-size: 13px; line-height: 1.4; }
	.rn-team-role { font-size: 10.5px; line-height: 1.4; }
	.rn-news-list { position: static; width: auto; margin-top: 16px; padding: 0 4px; }
	.rn-news-list a { height: auto; min-height: 40px; padding: 8px 24px 8px 4px; font-size: 12.5px; }
	.rn-news-list time { width: 88px; }
	.rn-news-list span { padding-right: 0; font-size: 12.5px; line-height: 1.5; white-space: normal; }
	.rn-news-list a::after { right: 6px; width: 7px; height: 7px; margin-top: -3.5px; }

	/* お問い合わせ */
	.rn-contact-in { height: auto; display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 18px 16px 20px; }
	.rn-contact p { position: static; font-size: 13px; line-height: 1.6; text-align: center; white-space: normal; }
	.rn-btn-contact { position: relative; left: 0; top: 0; width: min(300px, 82vw); height: 50px; padding-left: 0; justify-content: center; font-size: 17px; gap: 12px; }
	.rn-btn-contact svg { width: 22px; height: 22px; }
	.rn-btn-contact::after { right: 28px; width: 8px; height: 8px; margin-top: -4px; border-width: 1.5px; }

	/* フッター：Codex のフッターのスマホ版デザイン画 */
	.rn-footer-inner { width: auto; max-width: 560px; padding: 30px 20px 0; }
	.rn-footer-top { flex-direction: column; }
	.rn-footer-brand { width: auto; padding: 0 4px 22px; }
	.rn-footer-logo .rn-logo-svg { width: 132px; height: 31px; }
	.rn-footer-name { margin-top: 8px; font-size: 17px; line-height: 1.5; }
	.rn-footer-addr { margin-top: 4px; font-size: 13px; line-height: 1.6; }
	.rn-footer-addr br { display: none; }
	.rn-footer-nav { border-left: 0; padding: 0; }
	.rn-footer-nav ul { display: block; border-top: 1px solid rgba(255,255,255,.45); }
	.rn-footer-nav li, .rn-footer-nav li:nth-child(n+5) { height: auto; border-left: 0; padding: 0; font-size: 15px; border-bottom: 1px solid rgba(255,255,255,.45); }
	.rn-footer-nav a { position: relative; display: block; width: 100%; padding: 11px 28px 11px 6px; }
	.rn-footer-nav a::after { content: ""; position: absolute; right: 8px; top: 50%; width: 8px; height: 8px; margin-top: -4px; border-top: 1.5px solid #fff; border-right: 1.5px solid #fff; transform: rotate(45deg); }
	.rn-footer-sns { display: block; height: auto; margin-top: 26px; border-top: 0; padding: 0; }
	.rn-footer-sns-title { border-right: 0; padding: 0 4px 10px; font-size: 17px; line-height: 1.5; }
	.rn-footer-sns ul { display: grid; grid-template-columns: 1fr 1fr; }
	.rn-footer-sns li { padding: 12px 4px; border-left: 0 !important; border-bottom: 1px solid rgba(255,255,255,.45); }
	.rn-footer-sns li:nth-child(2n) { border-left: 1px solid rgba(255,255,255,.45) !important; padding-left: 18px; }
	.rn-footer-sns li.is-line { grid-column: 1 / -1; border-left: 0 !important; padding-left: 4px; }
	.rn-sns-icon, .rn-sns-icon.is-line { width: 38px; height: 38px; border-radius: 9px; }
	.rn-sns-name { font-size: 16px; line-height: 1.3; }
	.rn-sns-name small { font-size: 13px; line-height: 1.4; margin-top: 0; }
	.rn-legal { gap: 18px; padding-top: 14px; font-size: 12px; flex-wrap: wrap; }
	.rn-copy { height: auto; padding: 18px 0 calc(18px + env(safe-area-inset-bottom, 0px)); font-size: 12px; flex-direction: column; gap: 10px; }
	.rn-copy-lang { position: static; font-size: 13px; line-height: 26px; padding: 0 14px; }
}

@media (max-width: 430px) { .rn-brand-tag { display: none; } }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.rn *, .rn *::before, .rn *::after { transition: none !important; }
}

/* グラデーションの文字（金・青）で g・y などの下が切れないように、下に余白をとって打ち消す */
.rn-product-name, .rn-acis-name, .rn-stat-num b { padding-bottom: .14em; margin-bottom: -.14em; }

/* お知らせ一覧へのリンク（トップのお知らせの下） */
.rn-news-more { position: absolute; left: calc(555 * var(--u)); top: calc(282 * var(--u)); width: calc(435 * var(--u)); display: flex; justify-content: flex-end; align-items: center; gap: calc(8 * var(--u)); font-family: var(--serif); font-weight: 600; font-size: calc(14 * var(--u)); color: var(--navy); }
.rn-news-more::after { content: ""; width: calc(7 * var(--u)); height: calc(7 * var(--u)); border-top: 1.5px solid var(--gold-2); border-right: 1.5px solid var(--gold-2); transform: rotate(45deg); }
.rn-news-more:hover { color: var(--blue-2); }
@media (max-width: 1023px) {
	.rn-news-more { position: static; width: auto; margin-top: 14px; font-size: 14px; gap: 8px; }
	.rn-news-more::after { width: 7px; height: 7px; }
}

/* 研究のサブメニューの「研究トップ」はスマホだけ（PC は「研究」そのものが研究トップへのリンク） */
.rn-sub .rn-sub-top { display: none; }
@media (max-width: 1023px) {
	.rn-sub .rn-sub-top { display: block; }
}

/* ========== 英語表示（?lang=en）だけの調整。日本語表示には効かない ========== */
html[lang="en"] .rn-brand-tag { white-space: nowrap; letter-spacing: 0; }
@media (min-width: 1024px) {
	/* トップの商品：札を1行に収め、Dr.ACIS のキャッチ・見出しを英文の長さに合わせる */
	html[lang="en"] .rn-product-tags { gap: calc(6 * var(--u)); }
	html[lang="en"] .rn-product-tags li { padding: 0 calc(9 * var(--u)); font-size: calc(12.5 * var(--u)); letter-spacing: -.01em; }
	html[lang="en"] .rn-acis-catch { font-size: calc(19 * var(--u)); letter-spacing: .05em; white-space: nowrap; }
	html[lang="en"] .rn-acis-tag { font-size: calc(26 * var(--u)); letter-spacing: .06em; white-space: nowrap; }
	html[lang="en"] .rn-acis-points span { font-size: calc(12.5 * var(--u)); line-height: calc(18 * var(--u)); }
	/* 著書の部数（120,000 copies など）を札の中に1行で収める */
	html[lang="en"] .rn-book-sales { white-space: nowrap; font-size: calc(17 * var(--u)); padding: 0 calc(12 * var(--u)); min-width: calc(140 * var(--u)); }
	html[lang="en"] .rn-book.is-top .rn-book-sales { font-size: calc(20 * var(--u)); padding: 0 calc(18 * var(--u)); }
}
@media (max-width: 1023px) {
	html[lang="en"] .rn-hero-name b { font-size: 15px; letter-spacing: .04em; }
	html[lang="en"] .rn-book-sales { white-space: nowrap; padding: 0 8px; font-size: 12px; }
	html[lang="en"] .rn-book.is-top .rn-book-sales { padding: 0 14px; font-size: 17px; }
}

/* デコラの商品名を「Dr.DECOLLA」にしたので、列からはみ出さない大きさに */
@media (min-width: 1024px) {
	.rn-product-decolla .rn-product-name { font-size: calc(34 * var(--u)); letter-spacing: 0; }
}
