@charset "utf-8";
/* Dr.ACIS の LP（Codex のデザイン画 acis-v2 A〜F。幅 約840px のカンプを1024に換算＝×1.2前後）。スマホはデコラ LP と同じ作り */

.ac {
	--pk: #B8336A;
	--pk-d: #A22A5B;
	--pk-l: #F9DCE6;
	--pk-btn: linear-gradient(180deg, #D45A84 0%, #B93767 55%, #A0285A 100%);
	--gold-t: linear-gradient(180deg, #D7BA7E 0%, #B48D50 55%, #9A773F 100%);
	color: #2B2733;
	background:
		radial-gradient(60% 30% at 10% 30%, rgba(255,255,255,.7), rgba(255,255,255,0) 70%),
		linear-gradient(180deg, #FCEAF1 0%, #FBF0F4 30%, #FCEAF1 60%, #FBF1F5 100%);
	overflow: hidden;
}
.ac-in { position: relative; width: calc(1024 * var(--u)); margin: 0 auto; padding: 0 calc(44 * var(--u)); }
.ac-pc { display: inline; }
.ac-vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ac-note { font-size: max(11px, calc(14 * var(--u))); color: #6F6670; line-height: 1.7; }
.ac-sec { position: relative; padding-block: calc(44 * var(--u)); }

/* 見出し：中央、左右に金の線 */
.ac-h2 { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; gap: calc(28 * var(--u)); text-align: center; font-family: var(--serif); font-weight: 700; font-size: calc(40 * var(--u)); line-height: 1.35; color: var(--navy); letter-spacing: .08em; font-feature-settings: "palt"; margin-bottom: calc(34 * var(--u)); }
.ac-h2::before, .ac-h2::after { content: ""; flex: none; width: calc(140 * var(--u)); height: calc(1.5 * var(--u)); background: linear-gradient(90deg, rgba(207,175,114,0), var(--gold-1)); }
.ac-h2::after { transform: scaleX(-1); }
.ac-h2-lg { font-size: calc(56 * var(--u)); letter-spacing: .14em; margin-bottom: calc(40 * var(--u)); }

/* ボタン */
.ac-btn { position: relative; display: inline-flex; white-space: nowrap; align-items: center; justify-content: center; height: calc(66 * var(--u)); padding: 0 calc(76 * var(--u)) 0 calc(56 * var(--u)); border-radius: 999px; background: var(--pk-btn); color: #fff !important; font-family: var(--serif); font-weight: 700; font-size: calc(25 * var(--u)); letter-spacing: .12em; box-shadow: 0 calc(10 * var(--u)) calc(22 * var(--u)) rgba(160,40,90,.28), inset 0 1px 0 rgba(255,255,255,.35); transition: filter .2s, transform .2s; }
.ac-btn::after { content: ""; position: absolute; right: calc(36 * var(--u)); top: 50%; width: calc(11 * var(--u)); height: calc(11 * var(--u)); margin-top: calc(-5.5 * var(--u)); border-top: calc(2 * var(--u)) solid #fff; border-right: calc(2 * var(--u)) solid #fff; transform: rotate(45deg); }
.ac-btn:hover { filter: brightness(1.07); transform: translateY(-1px); }
.ac-btn-wide { width: 100%; padding-left: calc(30 * var(--u)); }
.ac-btn-lg { height: calc(92 * var(--u)); font-size: calc(32 * var(--u)); padding: 0 calc(96 * var(--u)) 0 calc(70 * var(--u)); }
.ac-btn-lg::after { right: calc(44 * var(--u)); width: calc(14 * var(--u)); height: calc(14 * var(--u)); margin-top: calc(-7 * var(--u)); }

/* ブランド名 */
.ac-brand { font-family: var(--latin); font-weight: 600; font-size: calc(88 * var(--u)); line-height: 1; letter-spacing: .02em; background: var(--gold-t); -webkit-background-clip: text; background-clip: text; color: transparent; white-space: nowrap; }
.ac-kana { display: flex; align-items: center; justify-content: center; gap: calc(18 * var(--u)); margin-top: calc(10 * var(--u)); font-family: var(--serif); font-weight: 600; font-size: calc(20 * var(--u)); color: var(--navy); letter-spacing: .24em; }
.ac-kana::before, .ac-kana::after { content: ""; width: calc(60 * var(--u)); height: 1px; background: var(--gold-1); }

/* 飾り */
.ac-petals { position: absolute; pointer-events: none; opacity: .75; }
.ac-corner { position: absolute; top: calc(10 * var(--u)); width: calc(260 * var(--u)); height: auto; pointer-events: none; opacity: .55; }
.ac-corner-l { left: calc(-60 * var(--u)); transform: rotate(-24deg); }
.ac-corner-r { right: calc(-60 * var(--u)); transform: scaleX(-1) rotate(-24deg); }

/* ファーストビュー（A） */
.ac-hero { position: relative; background: radial-gradient(70% 60% at 25% 35%, rgba(255,255,255,.85), rgba(255,255,255,0) 70%), linear-gradient(180deg, #FBE9F0 0%, #FCEFF4 70%, rgba(252,234,241,0) 100%); }
.ac-hero-in { height: calc(1010 * var(--u)); }
.ac-hero-title { position: absolute; z-index: 3; left: calc(64 * var(--u)); top: calc(48 * var(--u)); display: flex; flex-direction: row-reverse; align-items: flex-start; margin: 0; }
.ac-hero-col { writing-mode: vertical-rl; font-family: var(--serif); font-weight: 700; font-size: calc(62 * var(--u)); line-height: 1.3; letter-spacing: .05em; color: var(--navy); }
.ac-hero-col > span { display: block; }
.ac-hero-col:first-child { padding-left: calc(24 * var(--u)); margin-left: calc(24 * var(--u)); border-left: calc(1.5 * var(--u)) solid var(--gold-1); }
.ac-hero-copy { position: absolute; z-index: 3; left: calc(44 * var(--u)); top: calc(560 * var(--u)); display: flex; flex-direction: column; align-items: flex-start; }
.ac-hero-kicker { font-family: var(--serif); font-weight: 700; font-size: calc(25 * var(--u)); color: var(--navy); letter-spacing: .04em; padding-bottom: calc(12 * var(--u)); background: linear-gradient(90deg, var(--gold-1), rgba(207,175,114,.2)) left bottom / 100% calc(1.5 * var(--u)) no-repeat; }
.ac-hero-sub { margin-top: calc(18 * var(--u)); font-size: calc(20 * var(--u)); line-height: 1.7; color: #2F3446; letter-spacing: .04em; }
.ac-hero-copy .ac-brand { margin-top: calc(16 * var(--u)); font-size: calc(90 * var(--u)); }
.ac-hero-copy .ac-kana { align-self: stretch; margin-top: calc(10 * var(--u)); }
.ac-hero-copy .ac-kana::before, .ac-hero-copy .ac-kana::after { flex: 1; width: auto; }
.ac-hero-doctor { margin-top: calc(18 * var(--u)); font-size: calc(21 * var(--u)); letter-spacing: .06em; color: #2F3446; }
.ac-hero-doctor b { font-family: var(--serif); font-weight: 700; color: var(--navy); }
.ac-hero-copy .ac-btn { margin-top: calc(26 * var(--u)); height: calc(70 * var(--u)); padding: 0 calc(84 * var(--u)) 0 calc(88 * var(--u)); }
.ac-hero-visual { position: absolute; left: calc(440 * var(--u)); right: 0; top: 0; bottom: 0; }
.ac-hero-model { position: absolute; left: calc(-250 * var(--u)); top: calc(-56 * var(--u)); width: calc(860 * var(--u)); max-width: none; height: auto; -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 56%, rgba(0,0,0,0) 74%), linear-gradient(90deg, rgba(0,0,0,0) 22%, #000 46%, #000 86%, rgba(0,0,0,0) 99%); -webkit-mask-composite: source-in; mask-image: linear-gradient(180deg, #000 0%, #000 56%, rgba(0,0,0,0) 74%), linear-gradient(90deg, rgba(0,0,0,0) 22%, #000 46%, #000 86%, rgba(0,0,0,0) 99%); mask-composite: intersect; mix-blend-mode: multiply; }
.ac-hero-pack { position: absolute; left: calc(212 * var(--u)); top: calc(560 * var(--u)); width: calc(296 * var(--u)); height: auto; z-index: 2; filter: drop-shadow(0 calc(16 * var(--u)) calc(20 * var(--u)) rgba(120,40,70,.22)); }
.ac-petals-hero { width: calc(520 * var(--u)); left: calc(-40 * var(--u)); top: calc(420 * var(--u)); opacity: .55; }

/* 3つの特長 */
.ac-medals-sec { padding-block: calc(62 * var(--u)) calc(20 * var(--u)); }
.ac-medals { display: flex; justify-content: center; gap: calc(26 * var(--u)); }
.ac-medals li { position: relative; display: grid; place-items: center; width: calc(278 * var(--u)); height: calc(278 * var(--u)); border-radius: 50%; background: radial-gradient(circle at 45% 35%, #fff 0%, #FFF8FA 55%, #FBEAF0 100%); border: calc(1.5 * var(--u)) solid #D9BC82; box-shadow: 0 calc(10 * var(--u)) calc(26 * var(--u)) rgba(160,40,90,.1), inset 0 0 0 calc(6 * var(--u)) rgba(255,255,255,.8); text-align: center; }
.ac-medals li::after { content: ""; position: absolute; left: 50%; bottom: calc(14 * var(--u)); width: calc(210 * var(--u)); height: calc(96 * var(--u)); translate: -50% 0; background: url(../../images/acis/wreath.png) center bottom / 100% auto no-repeat; opacity: .95; }
.ac-medals p { position: relative; z-index: 1; margin-top: calc(-40 * var(--u)); font-family: var(--serif); font-weight: 700; font-size: calc(31 * var(--u)); line-height: 1.22; color: var(--navy); letter-spacing: .04em; font-feature-settings: "palt"; }
.ac-medals em { font-style: normal; font-size: calc(34 * var(--u)); background: var(--gold-t); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ac-medals em.is-big { display: inline-block; margin-top: calc(10 * var(--u)); font-size: calc(46 * var(--u)); letter-spacing: .1em; }

/* 健康をサポートするために */
.ac-intro-sec { padding-top: calc(30 * var(--u)); }
.ac-intro { display: grid; grid-template-columns: calc(470 * var(--u)) minmax(0, 1fr); gap: calc(40 * var(--u)); align-items: center; padding: calc(40 * var(--u)) calc(50 * var(--u)) calc(40 * var(--u)) calc(20 * var(--u)); border-radius: calc(20 * var(--u)); background: rgba(255,255,255,.78); box-shadow: 0 calc(12 * var(--u)) calc(30 * var(--u)) rgba(160,40,90,.08); }
.ac-intro-visual { position: relative; display: grid; place-items: center; }
.ac-intro-pack { position: relative; z-index: 1; width: calc(350 * var(--u)); height: auto; filter: drop-shadow(0 calc(14 * var(--u)) calc(18 * var(--u)) rgba(120,40,70,.2)); }
.ac-intro-herbs { position: absolute; z-index: 2; left: calc(-10 * var(--u)); bottom: calc(-26 * var(--u)); width: calc(480 * var(--u)); height: auto; }
.ac-intro-text { display: flex; flex-direction: column; gap: calc(22 * var(--u)); font-size: calc(23 * var(--u)); line-height: 1.75; letter-spacing: .06em; color: #2F3446; }
.ac-intro-lead { font-family: var(--serif); font-weight: 600; font-size: calc(26 * var(--u)); line-height: 1.6; color: var(--navy); }
.ac-intro-lead strong { color: var(--pk); font-weight: 700; }

/* 吸収力にこだわった（今のページの画像の文言） */
.ac-absorb { margin-top: calc(30 * var(--u)); text-align: center; }
.ac-absorb-title { font-family: var(--serif); font-weight: 700; font-size: calc(26 * var(--u)); color: var(--navy); letter-spacing: .06em; }
.ac-absorb-list { display: flex; justify-content: center; gap: calc(24 * var(--u)); margin-top: calc(18 * var(--u)); }
.ac-absorb-list li { display: grid; place-items: center; width: calc(280 * var(--u)); min-height: calc(96 * var(--u)); padding: calc(14 * var(--u)) calc(20 * var(--u)); border-radius: calc(14 * var(--u)); background: rgba(255,255,255,.85); border: 1px solid #EBD3DC; font-family: var(--serif); font-weight: 600; font-size: calc(19 * var(--u)); line-height: 1.55; color: #2F3446; }
.ac-absorb em, .ac-absorb-sum em { font-style: normal; color: var(--pk); font-weight: 700; }
.ac-absorb-sum { margin-top: calc(16 * var(--u)); font-family: var(--serif); font-weight: 600; font-size: calc(22 * var(--u)); color: var(--navy); }

/* 購入プラン（B） */
.ac-order { padding-top: calc(60 * var(--u)); }
.ac-plans { display: grid; grid-template-columns: 1fr 1fr; gap: calc(30 * var(--u)) calc(22 * var(--u)); padding: 0 calc(4 * var(--u)); }
.ac-plan { display: flex; flex-direction: column; border-radius: calc(18 * var(--u)); background: rgba(255,255,255,.88); box-shadow: 0 calc(12 * var(--u)) calc(30 * var(--u)) rgba(160,40,90,.1); overflow: hidden; padding: calc(8 * var(--u)) calc(8 * var(--u)) 0; }
.ac-plan-title { display: grid; place-items: center; height: calc(68 * var(--u)); border-radius: calc(12 * var(--u)) calc(12 * var(--u)) 0 0; background: var(--pk-btn); color: #fff; font-family: var(--serif); font-weight: 700; font-size: calc(36 * var(--u)); letter-spacing: .1em; }
.ac-plan-body { flex: 1; display: flex; flex-direction: column; align-items: center; padding: calc(22 * var(--u)) calc(36 * var(--u)) calc(30 * var(--u)); }
.ac-plan-off { display: flex; align-items: baseline; gap: calc(10 * var(--u)); padding: calc(4 * var(--u)) calc(26 * var(--u)); border: calc(1.5 * var(--u)) solid #D2B074; border-radius: 999px; background: #FFFBF4; font-family: var(--serif); font-weight: 700; font-size: calc(29 * var(--u)); color: var(--pk); line-height: 1.3; }
.ac-plan-off small { font-size: calc(19 * var(--u)); color: var(--navy); }
.ac-plan-packs { position: relative; display: flex; justify-content: center; height: calc(270 * var(--u)); margin-top: calc(6 * var(--u)); }
.ac-plan-packs img { height: 100%; width: auto; filter: drop-shadow(0 calc(10 * var(--u)) calc(12 * var(--u)) rgba(120,40,70,.18)); }
.ac-plan-packs.is-3 { height: calc(200 * var(--u)); margin-top: calc(14 * var(--u)); }
.ac-plan-packs.is-3 img { height: 88%; margin-top: calc(14 * var(--u)); }
.ac-plan-packs.is-3 img:nth-child(1) { margin-right: calc(-56 * var(--u)); }
.ac-plan-packs.is-3 img:nth-child(2) { position: relative; z-index: 1; height: 100%; margin-top: 0; }
.ac-plan-packs.is-3 img:nth-child(3) { margin-left: calc(-56 * var(--u)); }
.ac-plan-catch { margin-top: calc(14 * var(--u)); font-family: var(--serif); font-weight: 700; font-size: calc(28 * var(--u)); color: var(--navy); letter-spacing: .08em; }
.ac-checks { align-self: stretch; display: flex; flex-direction: column; gap: calc(8 * var(--u)); margin-top: calc(16 * var(--u)); }
.ac-checks li { position: relative; padding-left: calc(40 * var(--u)); font-size: calc(18.5 * var(--u)); line-height: 1.6; letter-spacing: .03em; }
.ac-checks li::before { content: ""; position: absolute; left: 0; top: calc(.8em - 13 * var(--u)); width: calc(24 * var(--u)); height: calc(24 * var(--u)); border-radius: 50%; border: calc(1.5 * var(--u)) solid var(--gold-1); box-sizing: border-box; }
.ac-checks li::after { content: ""; position: absolute; left: calc(8.5 * var(--u)); top: calc(.8em - 8 * var(--u)); width: calc(6 * var(--u)); height: calc(11 * var(--u)); border-right: calc(2 * var(--u)) solid var(--gold-2); border-bottom: calc(2 * var(--u)) solid var(--gold-2); transform: rotate(40deg); }
.ac-checks strong { color: var(--pk); }
.ac-checks strong.ac-green { color: #007700; }
.ac-plan[hidden] { display: none; }
.ac-plan-price { align-self: stretch; margin-top: auto; padding-top: calc(18 * var(--u)); border-top: 1px solid #DCC296; text-align: center; }
.ac-plan-body .ac-plan-price { margin-top: auto; }
.ac-plan-body > .ac-checks { margin-bottom: calc(22 * var(--u)); }
.ac-plan-qty { font-family: var(--serif); font-weight: 700; font-size: calc(26 * var(--u)); color: var(--navy); letter-spacing: .04em; }
.ac-plan-normal { margin-top: calc(4 * var(--u)); font-size: calc(19 * var(--u)); color: #2F3446; }
.ac-plan-sale { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: center; white-space: nowrap; margin-top: calc(4 * var(--u)); font-family: var(--serif); font-weight: 700; color: var(--pk); }
.ac-plan-sale b { font-size: calc(54 * var(--u)); line-height: 1.15; letter-spacing: .01em; }
.ac-plan-sale span { font-size: calc(30 * var(--u)); }
.ac-plan-sale small { font-size: calc(19 * var(--u)); }
.ac-plan-sale .ac-plan-label { margin-right: calc(12 * var(--u)); font-size: calc(21 * var(--u)); }
.ac-plan.is-set .ac-plan-label { flex-basis: 100%; margin: calc(2 * var(--u)) 0 calc(-4 * var(--u)); }
.ac-plan .ac-btn { margin-top: calc(18 * var(--u)); height: calc(64 * var(--u)); font-size: calc(27 * var(--u)); }
.ac-order-notes { display: grid; grid-template-columns: calc(150 * var(--u)) minmax(0, 1fr); gap: calc(22 * var(--u)); align-items: center; margin-top: calc(34 * var(--u)); padding: calc(18 * var(--u)) calc(28 * var(--u)); border: 1px solid #E3A6BC; border-radius: calc(12 * var(--u)); background: rgba(255,255,255,.75); }
.ac-coupon { width: 100%; height: auto; border-radius: calc(8 * var(--u)); }
.ac-order-notes ul { display: flex; flex-direction: column; gap: calc(6 * var(--u)); font-size: calc(18 * var(--u)); line-height: 1.6; color: #2F3446; }

/* 成分紹介（C・D） */
.ac-ing-sec { padding-top: calc(60 * var(--u)); }
.ac-ings { display: grid; grid-template-columns: 1fr 1fr; gap: calc(36 * var(--u)) calc(30 * var(--u)); }
.ac-ing { display: flex; flex-direction: column; align-items: center; padding: calc(32 * var(--u)) calc(36 * var(--u)) calc(36 * var(--u)); border-radius: calc(18 * var(--u)); background: rgba(255,255,255,.9); box-shadow: 0 calc(10 * var(--u)) calc(28 * var(--u)) rgba(160,40,90,.08); }
.ac-ing-img { width: calc(250 * var(--u)); height: calc(250 * var(--u)); border-radius: 50%; object-fit: cover; border: 1px solid #EFE4E8; box-shadow: 0 calc(6 * var(--u)) calc(16 * var(--u)) rgba(120,60,80,.08); }
.ac-ing-name { align-self: stretch; display: flex; align-items: center; justify-content: center; gap: calc(12 * var(--u)); margin-top: calc(18 * var(--u)); padding-bottom: calc(16 * var(--u)); border-bottom: 1px solid #DCC296; font-family: var(--serif); font-weight: 700; font-size: calc(37 * var(--u)); line-height: 1.3; color: var(--navy); letter-spacing: .06em; font-feature-settings: "palt"; }
.ac-ing-name span { font-family: var(--serif); font-weight: 500; font-size: calc(36 * var(--u)); }
.ac-ing-sub { margin-top: calc(16 * var(--u)); text-align: center; font-family: var(--serif); font-weight: 700; font-size: calc(26 * var(--u)); line-height: 1.45; color: var(--pk); letter-spacing: .06em; }
.ac-ing-text { margin-top: calc(14 * var(--u)); font-size: calc(17.5 * var(--u)); line-height: 1.8; letter-spacing: .03em; color: #2F3446; }
.ac-ing-text strong { color: var(--pk); }
.ac-ing-notes { margin-top: calc(34 * var(--u)); display: flex; flex-direction: column; gap: calc(6 * var(--u)); font-size: max(11px, calc(15 * var(--u))); line-height: 1.7; color: #6F6670; }
.ac-band { display: grid; grid-template-columns: calc(400 * var(--u)) minmax(0, 1fr); align-items: center; margin-top: calc(40 * var(--u)); margin-bottom: calc(-20 * var(--u)); }
.ac-band-pack { width: calc(356 * var(--u)); height: auto; margin-left: calc(40 * var(--u)); filter: drop-shadow(0 calc(14 * var(--u)) calc(18 * var(--u)) rgba(120,40,70,.2)); }
.ac-band .ac-btn { justify-self: center; width: calc(450 * var(--u)); }

/* お客様の声（E） */
.ac-voice { padding-top: calc(24 * var(--u)); }
.ac-voice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: calc(30 * var(--u)); }
.ac-voice-card { position: relative; display: flex; flex-direction: column; gap: calc(14 * var(--u)); padding: calc(24 * var(--u)) calc(36 * var(--u)) calc(26 * var(--u)); border-radius: calc(18 * var(--u)); background: rgba(255,255,255,.92); box-shadow: 0 calc(10 * var(--u)) calc(28 * var(--u)) rgba(160,40,90,.08); font-size: calc(18.5 * var(--u)); line-height: 1.8; letter-spacing: .03em; color: #2F3446; }
.ac-letter { flex: none; display: grid; place-items: center; width: calc(68 * var(--u)); height: calc(68 * var(--u)); border-radius: 50%; background: radial-gradient(circle at 40% 35%, #FDF0F4, #F6D5E0); font-family: var(--serif); font-size: calc(36 * var(--u)); color: var(--pk); }
.ac-voice-who { display: flex; align-items: center; gap: calc(14 * var(--u)); font-size: calc(19 * var(--u)); color: var(--navy); padding-bottom: calc(10 * var(--u)); background: linear-gradient(90deg, var(--gold-1), rgba(207,175,114,.3)) calc(82 * var(--u)) bottom / calc(100% - 82 * var(--u)) 1px no-repeat; }
.ac-voice-who b { font-family: var(--serif); font-size: calc(24 * var(--u)); }
.ac-voice-title { font-family: var(--serif); font-weight: 700; font-size: calc(36 * var(--u)); line-height: 1.35; color: var(--navy); letter-spacing: .06em; }
.ac-voice-card .ac-note { margin-top: auto; }
.ac-voice-c { margin-top: calc(36 * var(--u)); padding-bottom: calc(26 * var(--u)); }
.ac-voice-herbs { position: absolute; right: calc(20 * var(--u)); top: calc(14 * var(--u)); width: calc(260 * var(--u)); height: auto; opacity: .8; }
.ac-voice-chead { display: flex; align-items: center; gap: calc(22 * var(--u)); padding-bottom: calc(14 * var(--u)); margin-right: calc(280 * var(--u)); border-bottom: 1px solid var(--gold-1); }
.ac-voice-chead .ac-voice-title { font-size: calc(39 * var(--u)); }
.ac-voice-chead .ac-voice-who { padding: 0; background: none; }
.ac-voice-chead .ac-voice-who b { font-size: calc(22 * var(--u)); }
.ac-timeline { position: relative; display: flex; flex-direction: column; gap: calc(14 * var(--u)); margin-top: calc(14 * var(--u)); padding-left: calc(46 * var(--u)); }
.ac-timeline::before { content: ""; position: absolute; left: calc(6 * var(--u)); top: calc(22 * var(--u)); bottom: calc(22 * var(--u)); width: calc(1.5 * var(--u)); background: var(--gold-1); }
.ac-timeline li { position: relative; display: grid; grid-template-columns: calc(140 * var(--u)) minmax(0, 1fr); gap: calc(26 * var(--u)); align-items: start; }
.ac-timeline li::before { content: ""; position: absolute; left: calc(-46 * var(--u)); top: calc(16 * var(--u)); width: calc(14 * var(--u)); height: calc(14 * var(--u)); border-radius: 50%; background: var(--pk); }
.ac-tl-when { display: grid; place-items: center; height: calc(46 * var(--u)); background: linear-gradient(90deg, #F6D3DF, #FBE6EE); font-family: var(--serif); font-weight: 700; font-size: calc(21 * var(--u)); color: var(--pk); clip-path: polygon(0 0, calc(100% - 16 * var(--u)) 0, 100% 50%, calc(100% - 16 * var(--u)) 100%, 0 100%); white-space: nowrap; }
.ac-timeline p { padding: calc(6 * var(--u)) 0 calc(10 * var(--u)); border-bottom: 1px solid #D9DCE4; }

/* よくある質問（E） */
.ac-faq { padding-top: calc(50 * var(--u)); }
.ac-faq .ac-corner-r { top: calc(20 * var(--u)); right: calc(40 * var(--u)); width: calc(200 * var(--u)); transform: rotate(-30deg); }
.ac-faq-list { display: flex; flex-direction: column; gap: calc(18 * var(--u)); }
.ac-faq-item { padding: calc(16 * var(--u)) calc(34 * var(--u)) calc(18 * var(--u)); border-radius: calc(14 * var(--u)); background: rgba(255,255,255,.95); box-shadow: 0 calc(8 * var(--u)) calc(22 * var(--u)) rgba(160,40,90,.07); }
.ac-faq-item summary { display: flex; align-items: center; gap: calc(18 * var(--u)); list-style: none; cursor: pointer; font-family: var(--serif); font-weight: 700; font-size: calc(23 * var(--u)); line-height: 1.5; color: var(--navy); letter-spacing: .04em; }
.ac-faq-item summary::-webkit-details-marker { display: none; }
.ac-faq-a { display: flex; align-items: center; gap: calc(18 * var(--u)); margin-top: calc(8 * var(--u)); font-size: calc(20 * var(--u)); line-height: 1.7; color: #2F3446; letter-spacing: .03em; }
.ac-faq-a a { color: var(--blue-2); text-decoration: underline; }
.ac-qa { flex: none; display: grid; place-items: center; width: calc(42 * var(--u)); height: calc(42 * var(--u)); border-radius: 50%; color: #fff; font-family: var(--serif); font-weight: 700; font-size: calc(23 * var(--u)); line-height: 1; }
.ac-qa.is-q { background: var(--pk-btn); }
.ac-qa.is-a { background: linear-gradient(180deg, #D9BB7E, #B08A4F); }

/* 開発者（F） */
.ac-doctor { padding-top: calc(60 * var(--u)); }
.ac-doctor-top { display: grid; grid-template-columns: calc(286 * var(--u)) minmax(0, 1fr); gap: calc(48 * var(--u)); align-items: start; padding: 0 calc(16 * var(--u)); }
.ac-doctor-fig { margin: 0; }
.ac-doctor-fig img { display: block; width: 100%; height: calc(290 * var(--u)); object-fit: cover; object-position: center top; background: radial-gradient(80% 70% at 50% 30%, #fff 0%, #FBEFF4 60%, #F5DCE6 100%); border-radius: calc(12 * var(--u)); box-shadow: 0 calc(10 * var(--u)) calc(24 * var(--u)) rgba(30,53,96,.14); }
.ac-doctor-fig figcaption { margin-top: calc(14 * var(--u)); padding-bottom: calc(10 * var(--u)); border-bottom: 1px solid var(--gold-1); text-align: center; font-family: var(--serif); font-weight: 600; font-size: calc(19 * var(--u)); color: var(--navy); letter-spacing: .06em; }
.ac-doctor-fig figcaption b { font-size: calc(21 * var(--u)); margin-left: .3em; }
.ac-doctor-msg { display: flex; flex-direction: column; gap: calc(16 * var(--u)); font-size: calc(19 * var(--u)); line-height: 1.85; letter-spacing: .04em; color: #2F3446; }
.ac-doctor-msg > p:first-child { font-family: var(--serif); font-weight: 700; font-size: calc(22 * var(--u)); line-height: 1.6; color: var(--navy); }
.ac-btn-dl { white-space: normal; align-self: flex-start; height: calc(88 * var(--u)); margin-top: calc(6 * var(--u)); padding: 0 calc(90 * var(--u)) 0 calc(80 * var(--u)); font-size: calc(22 * var(--u)); line-height: 1.45; text-align: center; letter-spacing: .14em; }
.ac-profile-card { margin-top: calc(40 * var(--u)); border-radius: calc(16 * var(--u)); background: rgba(255,255,255,.92); box-shadow: 0 calc(10 * var(--u)) calc(28 * var(--u)) rgba(160,40,90,.07); }
.ac-profile { padding: calc(18 * var(--u)) calc(30 * var(--u)) 0; }
.ac-profile > div { display: grid; grid-template-columns: calc(150 * var(--u)) minmax(0, 1fr); padding: calc(14 * var(--u)) 0; border-bottom: 1px solid #D9DCE4; }
.ac-profile > div > dt { padding: calc(4 * var(--u)) 0 0 calc(14 * var(--u)); border-right: calc(1.5 * var(--u)) solid var(--gold-1); font-family: var(--serif); font-weight: 700; font-size: calc(24 * var(--u)); line-height: 1.3; color: #A8803F; letter-spacing: .06em; }
.ac-profile > div > dd { padding-left: calc(30 * var(--u)); font-size: calc(19.5 * var(--u)); line-height: 1.7; color: #2F3446; }
.ac-years { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: calc(18 * var(--u)); }
.ac-years dt { white-space: nowrap; }
.ac-profile dd, .ac-years dd { margin: 0; }
.ac-slash li { display: inline; }
.ac-slash li + li::before { content: "／"; }
.ac-sns { display: flex; flex-wrap: wrap; gap: calc(10 * var(--u)) calc(30 * var(--u)); }
.ac-sns a { display: inline-flex; align-items: center; gap: calc(12 * var(--u)); color: var(--navy); font-size: calc(17 * var(--u)); }
.ac-sns a:hover { text-decoration: underline; }
.ac-x { display: grid; place-items: center; width: calc(42 * var(--u)); height: calc(42 * var(--u)); border-radius: calc(6 * var(--u)); border: calc(1.5 * var(--u)) solid #222; background: #fff; }
.ac-x svg { width: 58%; height: 58%; fill: #111; }
.ac-x.is-fill { background: #111; }
.ac-x.is-fill svg { fill: #fff; }
.ac-wiki { padding: calc(16 * var(--u)) 0 calc(20 * var(--u)); text-align: center; }
.ac-wiki a { display: inline-flex; align-items: center; gap: calc(10 * var(--u)); font-family: var(--serif); font-size: calc(20 * var(--u)); color: var(--navy); text-decoration: underline; text-underline-offset: .25em; letter-spacing: .04em; }
.ac-wiki svg { width: calc(22 * var(--u)); height: calc(22 * var(--u)); fill: none; stroke: currentColor; stroke-width: 2; }

/* お知らせ（F） */
.ac-news { padding-top: calc(30 * var(--u)); }
.ac-news-list { padding: calc(10 * var(--u)) calc(26 * var(--u)); border-radius: calc(14 * var(--u)); background: rgba(255,255,255,.92); box-shadow: 0 calc(10 * var(--u)) calc(28 * var(--u)) rgba(160,40,90,.07); }
.ac-news-list li + li { border-top: 1px solid #DADDE5; }
.ac-news-list a { display: grid; grid-template-columns: calc(190 * var(--u)) minmax(0, 1fr); align-items: center; min-height: calc(54 * var(--u)); color: #2F3446; font-size: calc(19 * var(--u)); letter-spacing: .03em; }
.ac-news-list time { padding-left: calc(12 * var(--u)); border-right: calc(1.5 * var(--u)) solid var(--gold-1); line-height: 1.2; }
.ac-news-list span { padding-left: calc(36 * var(--u)); }
.ac-news-list a:hover span { color: var(--pk); text-decoration: underline; }

/* 最後の購入帯（F） */
.ac-final { padding-block: calc(40 * var(--u)) calc(50 * var(--u)); }
.ac-final-in { display: grid; grid-template-columns: calc(470 * var(--u)) minmax(0, 1fr); align-items: center; }
.ac-final-visual { position: relative; display: grid; place-items: center; }
.ac-final-pack { position: relative; z-index: 1; width: calc(306 * var(--u)); height: auto; filter: drop-shadow(0 calc(14 * var(--u)) calc(18 * var(--u)) rgba(120,40,70,.2)); }
.ac-final-herbs { position: absolute; z-index: 2; left: calc(10 * var(--u)); bottom: calc(-20 * var(--u)); width: calc(440 * var(--u)); height: auto; }
.ac-final-copy { display: flex; flex-direction: column; align-items: center; }
.ac-final-copy .ac-brand { font-size: calc(100 * var(--u)); }
.ac-final-copy .ac-btn { margin-top: calc(40 * var(--u)); height: calc(78 * var(--u)); font-size: calc(30 * var(--u)); }
.ac-petals-final { width: calc(380 * var(--u)); right: calc(-150 * var(--u)); top: calc(-40 * var(--u)); opacity: .5; }

/* スマホ固定ボタン（PC では出さない） */
.ac-fixed-cta { display: none; }

/* ========== スマホ（デコラ LP のスマホ版と同じ作りで1列に） ========== */
@media (max-width: 1023px) {
	.ac-in { width: auto; max-width: 560px; padding: 0 18px; }
	.ac-pc { display: none; }
	.ac-sec { padding-block: 30px; }
	.ac-note { font-size: 12px; }
	.ac-h2, .ac-h2-lg { font-size: 22px; line-height: 1.45; gap: 10px; margin-bottom: 18px; letter-spacing: .06em; text-wrap: balance; word-break: keep-all; }
	.ac-h2::before, .ac-h2::after { width: 26px; height: 1px; }
	.ac-btn { height: 52px; padding: 0 52px 0 34px; font-size: 17px; }
	.ac-btn::after { right: 22px; width: 9px; height: 9px; margin-top: -4.5px; border-width: 2px; }
	.ac-btn-wide { padding-left: 20px; }
	.ac-btn-lg { height: 56px; font-size: 18px; padding: 0 52px 0 34px; }
	.ac-btn-lg::after { right: 22px; width: 9px; height: 9px; margin-top: -4.5px; }
	.ac-brand { font-size: 46px; }
	.ac-kana { font-size: 13px; gap: 10px; margin-top: 6px; }
	.ac-kana::before, .ac-kana::after { width: 30px; }
	.ac-corner { width: 130px; opacity: .45; top: 0; }
	.ac-corner-l { left: -50px; }
	.ac-corner-r { right: -50px; }

	/* ファーストビュー */
	.ac-hero-in { height: auto; display: grid; grid-template-columns: auto minmax(0, 1fr); padding-top: 22px; padding-bottom: 24px; }
	.ac-hero-title { position: relative; left: auto; top: auto; z-index: 3; grid-column: 1; grid-row: 1; }
	.ac-hero-col { font-size: clamp(24px, 7vw, 32px); line-height: 1.3; }
	.ac-hero-col:first-child { padding-left: 10px; margin-left: 10px; }
	.ac-hero-visual { position: relative; left: auto; right: auto; top: auto; bottom: auto; grid-column: 2; grid-row: 1; height: 290px; margin-right: -18px; }
	.ac-hero-model { left: -70px; top: -22px; width: 300px; }
	.ac-hero-pack { left: auto; right: 8px; top: 170px; width: 104px; }
	.ac-hero-copy { position: relative; left: auto; top: auto; grid-column: 1 / -1; grid-row: 2; margin-top: 18px; align-items: center; text-align: center; }
	.ac-hero-kicker { font-size: 17px; padding-bottom: 8px; background-size: 100% 1px; background-image: linear-gradient(90deg, rgba(207,175,114,.2), var(--gold-1), rgba(207,175,114,.2)); }
	.ac-hero-sub { margin-top: 10px; font-size: 14.5px; }
	.ac-hero-copy .ac-brand { margin-top: 10px; font-size: 50px; }
	.ac-hero-copy .ac-kana { align-self: center; width: 240px; }
	.ac-hero-doctor { margin-top: 10px; font-size: 14.5px; }
	.ac-hero-copy .ac-btn { margin-top: 16px; height: 52px; padding: 0 52px 0 46px; }
	.ac-petals-hero { width: 260px; left: -60px; top: auto; bottom: 0; }

	.ac-medals-sec { margin-top: 0; padding-block: 6px 20px; }
	.ac-medals { gap: 8px; }
	.ac-medals li { width: calc((100vw - 52px) / 3); height: calc((100vw - 52px) / 3); max-width: 170px; max-height: 170px; border-width: 1px; }
	.ac-medals li::after { width: 76%; height: 36%; bottom: 5%; }
	.ac-medals p { margin-top: -18px; font-size: clamp(11px, 3.3vw, 17px); line-height: 1.25; }
	.ac-medals em { font-size: clamp(11px, 3.2vw, 17px); }
	.ac-medals em.is-big { margin-top: 4px; font-size: clamp(18px, 5.4vw, 26px); }

	.ac-intro-sec { padding-top: 10px; }
	.ac-intro { grid-template-columns: 1fr; gap: 18px; padding: 22px 16px; border-radius: 14px; }
	.ac-intro-pack { width: 200px; }
	.ac-intro-herbs { width: 290px; left: 50%; translate: -50% 0; bottom: -16px; }
	.ac-intro-text { gap: 12px; font-size: 15px; line-height: 1.85; letter-spacing: .03em; }
	.ac-intro-lead { font-size: 18px; }
	.ac-absorb { margin-top: 22px; }
	.ac-absorb-title { font-size: 17px; }
	.ac-absorb-list { flex-direction: column; align-items: stretch; gap: 8px; margin-top: 12px; }
	.ac-absorb-list li { width: auto; min-height: 0; padding: 10px 14px; border-radius: 10px; font-size: 15px; }
	.ac-absorb-sum { font-size: 16px; margin-top: 12px; text-wrap: balance; }

	.ac-order { padding-top: 34px; }
	.ac-plans { grid-template-columns: 1fr; gap: 18px; padding: 0; }
	.ac-plan { border-radius: 14px; padding: 6px 6px 0; }
	.ac-plan-title { height: 50px; font-size: 21px; border-radius: 10px 10px 0 0; }
	.ac-plan-body { padding: 16px 16px 20px; }
	.ac-plan-off { font-size: 18px; padding: 3px 18px; gap: 8px; border-width: 1px; }
	.ac-plan-off small { font-size: 13px; }
	.ac-plan-packs { height: 180px; }
	.ac-plan-packs.is-3 { height: 150px; margin-top: 10px; }
	.ac-plan-packs.is-3 img { margin-top: 10px; }
	.ac-plan-packs.is-3 img:nth-child(1) { margin-right: -40px; }
	.ac-plan-packs.is-3 img:nth-child(3) { margin-left: -40px; }
	.ac-plan-catch { font-size: 19px; margin-top: 10px; }
	.ac-checks { gap: 6px; margin-top: 12px; }
	.ac-checks li { font-size: 14.5px; padding-left: 30px; }
	.ac-checks li::before { width: 20px; height: 20px; top: calc(.8em - 11px); border-width: 1.5px; }
	.ac-checks li::after { left: 7px; top: calc(.8em - 7px); width: 5px; height: 10px; border-width: 2px; }
	.ac-plan-body > .ac-checks { margin-bottom: 16px; }
	.ac-plan-price { padding-top: 12px; }
	.ac-plan-qty { font-size: 18px; }
	.ac-plan-normal { font-size: 13.5px; }
	.ac-plan-sale b { font-size: 38px; }
	.ac-plan-sale span { font-size: 20px; }
	.ac-plan-sale small { font-size: 13px; }
	.ac-plan-sale .ac-plan-label { font-size: 14px; margin-right: 8px; }
	.ac-plan.is-set .ac-plan-label { flex-basis: 100%; margin: calc(2 * var(--u)) 0 calc(-4 * var(--u)); }
.ac-plan .ac-btn { margin-top: 14px; height: 52px; font-size: 17px; }
	.ac-order-notes { grid-template-columns: 1fr; gap: 12px; margin-top: 20px; padding: 14px; border-radius: 10px; }
	.ac-coupon { width: 200px; justify-self: center; border-radius: 6px; }
	.ac-order-notes ul { font-size: 13.5px; gap: 4px; }

	.ac-ing-sec { padding-top: 34px; }
	.ac-ings { grid-template-columns: 1fr; gap: 16px; }
	.ac-ing { padding: 20px 16px 22px; border-radius: 14px; }
	.ac-ing-img { width: 150px; height: 150px; }
	.ac-ing-name { margin-top: 12px; padding-bottom: 10px; font-size: 22px; gap: 8px; }
	.ac-ing-name span { font-size: 22px; }
	.ac-ing-sub { margin-top: 10px; font-size: 16px; }
	.ac-ing-text { margin-top: 10px; font-size: 14.5px; line-height: 1.85; }
	.ac-ing-notes { margin-top: 18px; font-size: 12px; }
	.ac-band { grid-template-columns: 110px minmax(0, 1fr); gap: 14px; margin-top: 24px; }
	.ac-band-pack { width: 110px; margin-left: 0; }
	.ac-band .ac-btn { width: 100%; padding: 0 40px 0 22px; font-size: 16px; letter-spacing: .06em; }

	.ac-voice { padding-top: 20px; }
	.ac-voice-grid { grid-template-columns: 1fr; gap: 14px; }
	.ac-voice-card { gap: 10px; padding: 18px 16px; border-radius: 14px; font-size: 14.5px; line-height: 1.85; }
	.ac-letter { width: 44px; height: 44px; font-size: 23px; }
	.ac-voice-who { gap: 10px; font-size: 13.5px; padding-bottom: 8px; background-position: 54px bottom; background-size: calc(100% - 54px) 1px; }
	.ac-voice-who b { font-size: 16px; }
	.ac-voice-title { font-size: 20px; }
	.ac-voice-c { margin-top: 14px; }
	.ac-voice-herbs { display: none; }
	.ac-voice-chead { gap: 12px; margin-right: 0; padding-bottom: 10px; }
	.ac-voice-chead .ac-voice-title { font-size: 20px; }
	.ac-voice-chead .ac-voice-who b { font-size: 15px; }
	.ac-timeline { gap: 10px; margin-top: 6px; padding-left: 22px; }
	.ac-timeline::before { left: 4px; top: 14px; bottom: 14px; width: 1px; }
	.ac-timeline li { grid-template-columns: 1fr; gap: 4px; }
	.ac-timeline li::before { left: -22px; top: 10px; width: 9px; height: 9px; }
	.ac-tl-when { justify-self: start; height: 30px; padding: 0 22px 0 12px; font-size: 14.5px; clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%); }
	.ac-timeline p { padding: 0 0 10px; }

	.ac-faq { padding-top: 26px; }
	.ac-faq .ac-corner-r { width: 100px; right: -10px; top: 10px; }
	.ac-faq-list { gap: 10px; }
	.ac-faq-item { padding: 14px 14px 16px; border-radius: 10px; }
	.ac-faq-item summary { gap: 10px; font-size: 15.5px; align-items: flex-start; }
	.ac-faq-a { gap: 10px; margin-top: 8px; font-size: 14.5px; align-items: flex-start; }
	.ac-qa { width: 28px; height: 28px; font-size: 15px; margin-top: 1px; }

	.ac-doctor { padding-top: 34px; }
	.ac-doctor-top { grid-template-columns: 1fr; gap: 18px; padding: 0; }
	.ac-doctor-fig { width: 210px; justify-self: center; }
	.ac-doctor-fig img { height: 210px; border-radius: 10px; }
	.ac-doctor-fig figcaption { font-size: 14px; margin-top: 10px; padding-bottom: 8px; }
	.ac-doctor-fig figcaption b { font-size: 16px; }
	.ac-doctor-msg { gap: 12px; font-size: 14.5px; }
	.ac-doctor-msg > p:first-child { font-size: 16.5px; }
	.ac-btn-dl { align-self: stretch; height: 64px; padding: 0 44px 0 24px; font-size: 15px; letter-spacing: .08em; }
	.ac-profile-card { margin-top: 24px; border-radius: 12px; }
	.ac-profile { padding: 8px 14px 0; }
	.ac-profile > div { grid-template-columns: 1fr; padding: 12px 0; }
	.ac-profile > div > dt { padding: 0 0 4px; border-right: 0; font-size: 16px; }
	.ac-profile > div > dd { padding-left: 0; font-size: 14px; }
	.ac-years { column-gap: 12px; }
	.ac-sns { flex-direction: column; gap: 8px; }
	.ac-sns a { font-size: 13.5px; gap: 10px; }
	.ac-x { width: 34px; height: 34px; border-radius: 5px; border-width: 1.5px; }
	.ac-wiki { padding: 12px 10px 16px; }
	.ac-wiki a { font-size: 14.5px; gap: 6px; }
	.ac-wiki svg { width: 16px; height: 16px; }

	.ac-news { padding-top: 20px; }
	.ac-news-list { padding: 4px 14px; border-radius: 12px; }
	.ac-news-list a { grid-template-columns: 1fr; gap: 2px; padding: 10px 0; font-size: 14px; min-height: 0; }
	.ac-news-list time { padding-left: 0; border-right: 0; font-size: 12.5px; color: #8A7F88; }
	.ac-news-list span { padding-left: 0; }

	.ac-final { padding-block: 24px 34px; }
	.ac-final-in { grid-template-columns: 130px minmax(0, 1fr); gap: 14px; }
	.ac-final-pack { width: 120px; }
	.ac-final-herbs { width: 170px; left: -16px; bottom: -10px; }
	.ac-final-copy .ac-brand { font-size: clamp(34px, 11vw, 46px); }
	.ac-final-copy .ac-kana::before, .ac-final-copy .ac-kana::after { width: 18px; }
	.ac-final-copy .ac-btn { margin-top: 16px; width: 100%; height: 50px; padding: 0 36px 0 18px; font-size: 15px; letter-spacing: .04em; }
	.ac-final-copy .ac-btn::after { right: 16px; }
	.ac-petals-final { width: 260px; right: -60px; }

	/* 画面下に固定の購入ボタン */
	.ac-fixed-cta { position: fixed; left: 12px; right: 12px; bottom: calc(10px + env(safe-area-inset-bottom, 0px)); z-index: 40; display: flex; align-items: center; justify-content: center; height: 54px; border-radius: 999px; background: linear-gradient(180deg, #D45A84 0%, #B93767 55%, #A0285A 100%); color: #fff !important; font-family: var(--serif); font-weight: 700; font-size: 18px; letter-spacing: .1em; box-shadow: 0 10px 24px rgba(160,40,90,.35); }
	.ac-fixed-cta::after { content: ""; width: 9px; height: 9px; margin-left: 14px; border-top: 2px solid #fff; border-right: 2px solid #fff; transform: rotate(45deg); }
	.rn-footer { padding-bottom: 74px; }
}

/* ファーストビューを縦に詰めた版（Codex のデザイン画 hero2：1440×800 の1画面に収める）。PC だけ */
@media (min-width: 1024px) {
	.ac-hero-in { height: calc(592 * var(--u)); }
	.ac-hero-title { left: calc(20 * var(--u)); top: calc(118 * var(--u)); }
	.ac-hero-col { font-size: calc(34 * var(--u)); line-height: 1.55; }
	.ac-hero-col:first-child { padding-left: calc(18 * var(--u)); margin-left: calc(18 * var(--u)); }
	.ac-hero-copy { left: calc(300 * var(--u)); top: calc(118 * var(--u)); }
	.ac-hero-copy .ac-brand { margin-top: calc(12 * var(--u)); font-size: calc(84 * var(--u)); }
	.ac-hero-doctor { margin-top: calc(14 * var(--u)); }
	.ac-hero-copy .ac-btn { align-self: center; margin-top: calc(34 * var(--u)); height: calc(64 * var(--u)); }
	.ac-hero-visual { left: 0; overflow: hidden; }
	.ac-hero-model { left: calc(610 * var(--u)); top: calc(-22 * var(--u)); width: calc(404 * var(--u)); -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 58%, rgba(0,0,0,0) 76%), linear-gradient(90deg, rgba(0,0,0,0) 0%, #000 14%, #000 84%, rgba(0,0,0,0) 98%); mask-image: linear-gradient(180deg, #000 0%, #000 58%, rgba(0,0,0,0) 76%), linear-gradient(90deg, rgba(0,0,0,0) 0%, #000 14%, #000 84%, rgba(0,0,0,0) 98%); }
	.ac-hero-pack { left: calc(804 * var(--u)); top: calc(282 * var(--u)); width: calc(168 * var(--u)); }
}

/* 金の文字の下が切れないように */
.ac-brand { padding-bottom: .12em; margin-bottom: -.12em; }

/* 明朝の文字は見た目が下がって見えるので、ボタンの文字を少し上に寄せる */
.ac-btn { padding-bottom: .12em; }

/* ========== 英語版（html の lang が en のときだけ。日本語の見た目は変えない） ========== */
html[lang="en"] .ac { overflow-wrap: break-word; }
html[lang="en"] .ac-h2, html[lang="en"] .ac-h2-lg { letter-spacing: .02em; }
html[lang="en"] .ac-btn { letter-spacing: .04em; }
html[lang="en"] .ac-kana { letter-spacing: .3em; font-family: var(--latin); }
html[lang="en"] .ac-nw { white-space: nowrap; }
/* 縦書きのキャッチは横書きに。PC は左の列に見出し → 説明 → ボタンを縦に並べ、モデルと袋は右 */
html[lang="en"] .ac-hero-title-en { display: block; font-family: var(--serif); font-weight: 700; color: var(--navy); letter-spacing: .01em; text-wrap: balance; }
@media (min-width: 1024px) {
	/* 日本語の縦書き2列の場所（左 20〜280）に横書きで。説明は日本語と同じ位置（左 300）から */
	html[lang="en"] .ac-hero-title-en { left: calc(20 * var(--u)); top: calc(118 * var(--u)); width: calc(268 * var(--u)); padding-right: calc(16 * var(--u)); border-right: calc(1.5 * var(--u)) solid var(--gold-1); font-size: calc(25 * var(--u)); line-height: 1.4; }
	html[lang="en"] .ac-hero-copy { width: calc(356 * var(--u)); }
	html[lang="en"] .ac-hero-kicker { align-self: stretch; font-size: calc(19 * var(--u)); line-height: 1.45; letter-spacing: .01em; }
	html[lang="en"] .ac-hero-sub { margin-top: calc(12 * var(--u)); font-size: calc(16 * var(--u)); line-height: 1.55; letter-spacing: .01em; }
	html[lang="en"] .ac-hero-doctor { font-size: calc(16.5 * var(--u)); letter-spacing: .01em; }
	html[lang="en"] .ac-hero-copy .ac-brand { font-size: calc(76 * var(--u)); }
	html[lang="en"] .ac-hero-copy .ac-btn { margin-top: calc(26 * var(--u)); }
}
}
/* 3つの特長：英語は長いので文字を小さく */
html[lang="en"] .ac-medals p { margin-top: calc(-62 * var(--u)); font-size: calc(20 * var(--u)); line-height: 1.22; letter-spacing: 0; }
html[lang="en"] .ac-medals em { font-size: calc(21 * var(--u)); }
html[lang="en"] .ac-medals em.is-big { margin-top: 0; font-size: calc(34 * var(--u)); letter-spacing: .02em; }
/* 紹介文・吸収力 */
html[lang="en"] .ac-intro-text { font-size: calc(20 * var(--u)); letter-spacing: .01em; }
html[lang="en"] .ac-intro-lead { font-size: calc(25 * var(--u)); line-height: 1.5; }
html[lang="en"] .ac-absorb-title { letter-spacing: .02em; }
html[lang="en"] .ac-absorb-list li { font-size: calc(18 * var(--u)); line-height: 1.45; text-wrap: balance; }
/* 購入プラン */
html[lang="en"] .ac-intl { margin: calc(-14 * var(--u)) 0 calc(26 * var(--u)); text-align: center; font-size: calc(19 * var(--u)); }
html[lang="en"] .ac-intl a { display: inline-block; padding: calc(10 * var(--u)) calc(26 * var(--u)); border: 1px solid #E3A6BC; border-radius: 999px; background: rgba(255,255,255,.85); color: var(--navy); text-decoration: underline; text-underline-offset: .2em; }
html[lang="en"] .ac-intl b { color: var(--pk); margin-right: .3em; }
html[lang="en"] .ac-plan-title { font-size: calc(29 * var(--u)); letter-spacing: .03em; text-align: center; line-height: 1.2; }
html[lang="en"] .ac-plan-catch { letter-spacing: .02em; font-size: calc(25 * var(--u)); }
html[lang="en"] .ac-checks li { letter-spacing: 0; line-height: 1.55; }
html[lang="en"] .ac-plan-sale span { margin-right: .08em; }
html[lang="en"] .ac-plan-sale { white-space: normal; }
html[lang="en"] .ac-plan-sale small { white-space: nowrap; }
html[lang="en"] .ac-order-notes ul { font-size: calc(17 * var(--u)); }
html[lang="en"] .ac-coupon-en { color: var(--navy); }
/* 成分 */
html[lang="en"] .ac-ing-name { font-size: calc(33 * var(--u)); letter-spacing: .01em; text-align: center; }
html[lang="en"] .ac-ing-sub { font-size: calc(23 * var(--u)); letter-spacing: .01em; }
html[lang="en"] .ac-ing-text { letter-spacing: .01em; line-height: 1.7; }
/* お客様の声・FAQ・開発者 */
html[lang="en"] .ac-voice-title { font-size: calc(31 * var(--u)); letter-spacing: .01em; }
html[lang="en"] .ac-voice-chead .ac-voice-title { font-size: calc(32 * var(--u)); }
html[lang="en"] .ac-voice-card { letter-spacing: .01em; line-height: 1.7; }
html[lang="en"] .ac-tl-when { font-size: calc(19 * var(--u)); letter-spacing: .02em; }
html[lang="en"] .ac-faq-item summary, html[lang="en"] .ac-faq-a { letter-spacing: .01em; }
html[lang="en"] .ac-doctor-fig figcaption b { margin-left: 0; }
html[lang="en"] .ac-doctor-msg { font-size: calc(18 * var(--u)); line-height: 1.75; letter-spacing: .01em; }
html[lang="en"] .ac-btn-dl { height: auto; min-height: calc(88 * var(--u)); padding-block: calc(10 * var(--u)); font-size: calc(20 * var(--u)); letter-spacing: .03em; }
html[lang="en"] .ac-profile > div { grid-template-columns: calc(190 * var(--u)) minmax(0, 1fr); }
html[lang="en"] .ac-profile > div > dt { font-size: calc(21 * var(--u)); letter-spacing: .02em; }
html[lang="en"] .ac-profile > div > dd { font-size: calc(18.5 * var(--u)); line-height: 1.6; }
html[lang="en"] .ac-years { row-gap: calc(4 * var(--u)); }
html[lang="en"] .ac-slash li + li::before { content: " / "; }
html[lang="en"] .ac-wiki a { letter-spacing: .01em; }

@media (max-width: 1023px) {
	html[lang="en"] .ac-hero-in { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
	html[lang="en"] .ac-hero-title-en { align-self: center; padding-left: 10px; border-left: 1.5px solid var(--gold-1); font-size: clamp(16px, 4.7vw, 24px); line-height: 1.36; overflow-wrap: normal; }
	html[lang="en"] .ac-hero-visual { overflow: hidden; }
	html[lang="en"] .ac-hero-model { left: -40px; width: 270px; }
	html[lang="en"] .ac-hero-pack { right: 4px; width: 92px; }
	html[lang="en"] .ac-hero-kicker { font-size: 15.5px; line-height: 1.45; }
	html[lang="en"] .ac-hero-sub { font-size: 14px; line-height: 1.6; }
	html[lang="en"] .ac-hero-doctor { font-size: 14px; }
	html[lang="en"] .ac-kana { letter-spacing: .24em; }
	html[lang="en"] .ac-medals p { margin-top: -28px; font-size: clamp(9.5px, 2.7vw, 14px); line-height: 1.18; }
	html[lang="en"] .ac-medals em { font-size: clamp(10px, 2.8vw, 14.5px); }
	html[lang="en"] .ac-medals em.is-big { font-size: clamp(15px, 4.4vw, 22px); }
	html[lang="en"] .ac-intro-text { font-size: 14.5px; line-height: 1.75; }
	html[lang="en"] .ac-intro-lead { font-size: 17px; }
	html[lang="en"] .ac-absorb-list li { font-size: 14.5px; }
	html[lang="en"] .ac-intl { margin: -6px 0 16px; font-size: 13.5px; }
	html[lang="en"] .ac-intl a { padding: 8px 16px; border-radius: 12px; }
	html[lang="en"] .ac-plan-title { height: auto; min-height: 50px; padding: 6px 10px; font-size: 19px; }
	html[lang="en"] .ac-plan-catch { font-size: 17px; }
	html[lang="en"] .ac-checks li { font-size: 14px; }
	html[lang="en"] .ac-order-notes ul { font-size: 13px; }
	html[lang="en"] .ac-ing-name { font-size: 20px; }
	html[lang="en"] .ac-ing-sub { font-size: 15px; }
	html[lang="en"] .ac-ing-text { font-size: 14px; line-height: 1.75; }
	html[lang="en"] .ac-voice-card { font-size: 14px; }
	html[lang="en"] .ac-voice-title, html[lang="en"] .ac-voice-chead .ac-voice-title { font-size: 18px; }
	html[lang="en"] .ac-tl-when { font-size: 13.5px; }
	html[lang="en"] .ac-doctor-msg { font-size: 14px; }
	html[lang="en"] .ac-btn-dl { height: auto; min-height: 64px; padding-block: 8px; font-size: 14px; }
	html[lang="en"] .ac-profile > div { grid-template-columns: 1fr; }
	html[lang="en"] .ac-profile > div > dt { font-size: 15px; }
	html[lang="en"] .ac-profile > div > dd { font-size: 13.5px; }
	html[lang="en"] .ac-band .ac-btn { font-size: 15px; letter-spacing: .02em; }
	html[lang="en"] .ac-final-copy .ac-btn { font-size: 14px; letter-spacing: .02em; }
}
