@charset "utf-8";
/* デコラ LP（Codex のデザイン画 B案「華やかピンク」。幅724のカンプを1024に換算＝×1.414） */

.dc {
	--pk: #C43E6E;
	--pk-d: #A92D5B;
	--pk-l: #F7D9E3;
	--pk-bg: #FCEEF3;
	--pk-btn: linear-gradient(180deg, #D9577F 0%, #BC3366 55%, #A72857 100%);
	color: #2B2733;
	background:
		radial-gradient(60% 40% at 10% 10%, rgba(255,255,255,.7), rgba(255,255,255,0) 70%),
		linear-gradient(180deg, #FCEAF1 0%, #FBF0F4 30%, #FCEAF1 60%, #FBF1F5 100%);
	overflow: hidden;
}
.dc-in { position: relative; width: calc(1024 * var(--u)); margin: 0 auto; padding: 0 calc(52 * var(--u)); }
.dc-pc { display: inline; }
.dc-sp { display: none; }
.dc-center { text-align: center; }
.dc-note { font-size: max(11px, calc(11.5 * var(--u))); color: #6F6670; line-height: 1.7; }
.dc-sec { position: relative; padding-block: calc(40 * var(--u)); }

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

/* ボタン */
.dc-btn { position: relative; display: inline-flex; align-items: center; justify-content: center; height: calc(56 * var(--u)); padding: 0 calc(66 * var(--u)) 0 calc(48 * var(--u)); border-radius: 999px; color: #fff !important; font-family: var(--serif); font-weight: 700; font-size: calc(20 * var(--u)); letter-spacing: .1em; box-shadow: 0 calc(10 * var(--u)) calc(22 * var(--u)) rgba(169,40,87,.3), inset 0 1px 0 rgba(255,255,255,.35); transition: filter .2s, transform .2s; }
.dc-btn::after { content: ""; position: absolute; right: calc(32 * var(--u)); top: 50%; width: calc(10 * var(--u)); height: calc(10 * var(--u)); margin-top: calc(-5 * var(--u)); border-top: calc(2 * var(--u)) solid #fff; border-right: calc(2 * var(--u)) solid #fff; transform: rotate(45deg); }
.dc-btn-pink { background: var(--pk-btn); }
.dc-btn:hover { filter: brightness(1.07); transform: translateY(-1px); }
.dc-btn-wide { width: 100%; padding-left: calc(30 * var(--u)); }

/* 花びら */
.dc-petals { position: absolute; pointer-events: none; opacity: .85; }
.dc-petals-a { left: calc(-80 * var(--u)); bottom: calc(-40 * var(--u)); width: calc(420 * var(--u)); z-index: 1; opacity: .6; }

/* ファーストビュー */
.dc-hero { position: relative; background: url(../../images/decolla/hero-bg.jpg) center / cover no-repeat, #FBE6EE; }
.dc-hero-in { display: grid; grid-template-columns: calc(470 * var(--u)) minmax(0, 1fr); align-items: center; min-height: calc(440 * var(--u)); padding-block: calc(36 * var(--u)); }
.dc-hero-copy { position: relative; z-index: 3; display: flex; flex-direction: column; align-items: flex-start; }
.dc-hero-kicker { font-family: var(--serif); font-weight: 700; font-size: calc(27 * var(--u)); color: var(--navy); letter-spacing: .04em; padding-bottom: calc(10 * var(--u)); background: linear-gradient(90deg, var(--gold-1), rgba(207,175,114,0)) left bottom / 100% calc(1.5 * var(--u)) no-repeat; }
.dc-hero-title { white-space: nowrap; margin-top: calc(20 * var(--u)); font-family: var(--serif); font-weight: 700; font-size: calc(60 * var(--u)); line-height: calc(84 * var(--u)); color: var(--navy); letter-spacing: .04em; font-feature-settings: "palt"; }
.dc-hero-brand { margin-top: calc(14 * var(--u)); font-family: var(--latin); font-weight: 600; font-size: calc(38 * var(--u)); line-height: 1.1; letter-spacing: .06em; background: linear-gradient(180deg, #D3B57A 0%, #B08A4F 55%, #9A773F 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.dc-hero-kana { display: flex; align-items: center; gap: calc(12 * var(--u)); margin-top: calc(4 * var(--u)); font-family: var(--serif); font-size: calc(17 * var(--u)); color: var(--navy); letter-spacing: .2em; }
.dc-hero-kana::before, .dc-hero-kana::after { content: ""; width: calc(40 * var(--u)); height: 1px; background: var(--gold-1); }
.dc-hero-copy .dc-btn { margin-top: calc(26 * var(--u)); }
.dc-hero-visual { position: relative; height: calc(440 * var(--u)); }
.dc-hero-model { position: absolute; right: calc(-70 * var(--u)); top: calc(-36 * var(--u)); height: calc(512 * var(--u)); width: auto; max-width: none; -webkit-mask-image: linear-gradient(90deg, rgba(0,0,0,0) 0%, #000 28%, #000 80%, rgba(0,0,0,0) 100%); mask-image: linear-gradient(90deg, rgba(0,0,0,0) 0%, #000 28%, #000 80%, rgba(0,0,0,0) 100%); }
.dc-hero-pack { position: absolute; left: calc(-10 * var(--u)); bottom: calc(-24 * var(--u)); width: calc(210 * var(--u)); height: auto; z-index: 2; filter: drop-shadow(0 calc(16 * var(--u)) calc(20 * var(--u)) rgba(120,40,70,.25)); }

/* クラウドファンディングのお知らせ */
.dc-notice-sec { padding-block: calc(46 * var(--u)) calc(34 * var(--u)); }
.dc-notice { position: relative; padding: calc(56 * var(--u)) calc(48 * var(--u)) calc(34 * var(--u)); border: 1px solid #D6B98A; outline: 1px solid rgba(214,185,138,.6); outline-offset: calc(-8 * var(--u)); background: rgba(255,255,255,.82); text-align: center; display: flex; flex-direction: column; gap: calc(14 * var(--u)); font-size: calc(16.5 * var(--u)); line-height: 1.85; }
.dc-ribbon { position: absolute; left: 50%; top: 0; translate: -50% -50%; white-space: nowrap; padding: calc(9 * var(--u)) calc(56 * var(--u)); background: var(--pk-btn); color: #fff; font-family: var(--serif); font-weight: 700; font-size: calc(22 * var(--u)); letter-spacing: .08em; clip-path: polygon(0 50%, calc(16 * var(--u)) 0, calc(100% - 16 * var(--u)) 0, 100% 50%, calc(100% - 16 * var(--u)) 100%, calc(16 * var(--u)) 100%); }
.dc-notice em { font-style: normal; color: var(--pk); font-size: 1.35em; }
.dc-notice-lead { font-family: var(--serif); font-weight: 600; font-size: calc(19 * var(--u)); }
.dc-notice-line { padding-top: calc(14 * var(--u)); border-top: 1px solid #E9D7B8; }
.dc-notice-band { align-self: center; padding: calc(10 * var(--u)) calc(34 * var(--u)); border-radius: calc(8 * var(--u)); background: var(--pk-l); font-family: var(--serif); font-weight: 600; font-size: calc(20 * var(--u)); }
.dc-notice-band em { font-size: 1.7em; font-weight: 700; }

/* Dr.DECOLLAって何？ */
.dc-what-grid { display: grid; grid-template-columns: minmax(0, 1fr) calc(380 * var(--u)); gap: calc(24 * var(--u)); align-items: center; }
.dc-what-lead { font-family: var(--serif); font-weight: 700; font-size: calc(22 * var(--u)); line-height: 1.7; color: var(--navy); }
.dc-what-sub { margin-top: calc(10 * var(--u)); font-size: calc(17 * var(--u)); line-height: 1.8; }
.dc-what-sub strong { color: var(--pk-d); }
.dc-checks { margin-top: calc(18 * var(--u)); display: flex; flex-direction: column; gap: calc(10 * var(--u)); }
.dc-checks li { position: relative; padding-left: calc(36 * var(--u)); font-family: var(--serif); font-weight: 600; font-size: calc(18.5 * var(--u)); }
.dc-checks li::before { content: ""; position: absolute; left: 0; top: .2em; width: calc(24 * var(--u)); height: calc(24 * var(--u)); border-radius: 50%; border: calc(1.5 * var(--u)) solid var(--gold-2); }
.dc-checks li::after { content: ""; position: absolute; left: calc(8 * var(--u)); top: calc(.2em + 5 * var(--u)); width: calc(6 * var(--u)); height: calc(11 * var(--u)); border-right: calc(2.5 * var(--u)) solid var(--gold-2); border-bottom: calc(2.5 * var(--u)) solid var(--gold-2); transform: rotate(40deg); }
.dc-what-img { width: 100%; height: auto; }
.dc-life { margin-top: calc(30 * var(--u)); display: grid; grid-template-columns: calc(420 * var(--u)) minmax(0, 1fr); gap: calc(34 * var(--u)); align-items: center; padding: calc(22 * var(--u)); border-radius: calc(16 * var(--u)); background: rgba(255,255,255,.75); box-shadow: 0 calc(10 * var(--u)) calc(26 * var(--u)) rgba(169,40,87,.08); }
.dc-life-img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: calc(12 * var(--u)); }
.dc-life-text { display: flex; flex-direction: column; gap: calc(12 * var(--u)); font-size: calc(15.5 * var(--u)); line-height: 1.95; }

/* 乳房の構造 */
.dc-anatomy-grid { display: grid; grid-template-columns: calc(460 * var(--u)) minmax(0, 1fr); gap: calc(34 * var(--u)); align-items: center; }
.dc-anatomy-fig { position: relative; margin: 0; }
.dc-anatomy-fig img { width: 72%; height: auto; }
.dc-anatomy-labels { position: absolute; left: 70%; top: 14%; bottom: 14%; display: flex; flex-direction: column; justify-content: space-between; }
.dc-anatomy-labels li { position: relative; padding-left: calc(10 * var(--u)); font-family: var(--serif); font-weight: 600; font-size: calc(17 * var(--u)); color: var(--navy); white-space: nowrap; }
.dc-anatomy-labels li::before { content: ""; position: absolute; right: 100%; top: 50%; width: calc(70 * var(--u)); height: 1px; background: #3A4256; }
.dc-anatomy-labels li::after { content: ""; position: absolute; right: calc(100% + 70 * var(--u)); top: calc(50% - 3 * var(--u)); width: calc(6 * var(--u)); height: calc(6 * var(--u)); border-radius: 50%; background: #3A4256; }
.dc-anatomy-text { display: flex; flex-direction: column; gap: calc(18 * var(--u)); font-size: calc(15.5 * var(--u)); line-height: 1.95; }
.dc-anatomy-box { padding: calc(20 * var(--u)) calc(26 * var(--u)); border: 1px solid #D6B98A; border-radius: calc(10 * var(--u)); background: rgba(255,255,255,.85); font-family: var(--serif); font-weight: 600; font-size: calc(22 * var(--u)); line-height: 1.6; color: var(--navy); }
.dc-anatomy-box strong { color: var(--pk); }
.dc-anatomy .dc-note { margin-top: calc(18 * var(--u)); }

/* 二つの希少素材 */
.dc-mat-grid { display: grid; grid-template-columns: 1fr 1fr; gap: calc(18 * var(--u)); }
.dc-mat { position: relative; display: flex; flex-direction: column; justify-content: flex-start; align-items: center; min-height: calc(220 * var(--u)); padding: calc(22 * var(--u)) calc(16 * var(--u)); border-radius: calc(10 * var(--u)); overflow: hidden; background: center 70% / cover no-repeat; text-align: center; box-shadow: 0 calc(10 * var(--u)) calc(22 * var(--u)) rgba(30,53,96,.15); }
.dc-mat-cod { background-image: url(../../images/decolla/cod.jpg); }
.dc-mat-bonito { background-image: url(../../images/decolla/bonito.jpg); }
.dc-mat::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255,255,255,.9) 0%, rgba(255,255,255,.65) 38%, rgba(255,255,255,0) 60%); }
.dc-mat p, .dc-mat h3 { position: relative; }
.dc-mat p { font-family: var(--serif); font-weight: 600; font-size: calc(17 * var(--u)); line-height: 1.6; color: var(--navy); }
.dc-mat h3 { margin-top: calc(4 * var(--u)); font-family: var(--serif); font-weight: 700; font-size: calc(32 * var(--u)); line-height: 1.3; color: var(--navy); letter-spacing: .06em; }
.dc-mat-lead { margin-top: calc(22 * var(--u)); font-size: calc(15.5 * var(--u)); line-height: 1.95; }
.dc-kodawari { margin-top: calc(18 * var(--u)); display: grid; grid-template-columns: auto minmax(0, 1fr) calc(200 * var(--u)); gap: calc(20 * var(--u)); align-items: center; padding: calc(16 * var(--u)) calc(22 * var(--u)); border-radius: calc(10 * var(--u)); background: rgba(255,255,255,.8); border: 1px solid #EBCFDA; font-size: calc(15 * var(--u)); line-height: 1.9; }
.dc-kodawari strong { color: var(--pk-d); }
.dc-kodawari-img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: calc(8 * var(--u)); }
.dc-kodawari-tag { padding: calc(6 * var(--u)) calc(20 * var(--u)); background: var(--pk-l); color: var(--pk-d); font-family: var(--serif); font-weight: 700; font-size: calc(17 * var(--u)); white-space: nowrap; clip-path: polygon(0 0, calc(100% - 12 * var(--u)) 0, 100% 50%, calc(100% - 12 * var(--u)) 100%, 0 100%); }

/* お客様の声 */
.dc-voice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: calc(20 * var(--u)); }
.dc-voice-card { padding: calc(20 * var(--u)) calc(24 * var(--u)); border-radius: calc(12 * var(--u)); background: #fff; border: 1px solid #EBD6DE; box-shadow: 0 calc(8 * var(--u)) calc(20 * var(--u)) rgba(169,40,87,.07); font-size: calc(15.5 * var(--u)); line-height: 1.9; display: flex; flex-direction: column; gap: calc(10 * var(--u)); }
.dc-voice-who { display: flex; align-items: center; gap: calc(12 * var(--u)); font-family: var(--serif); font-weight: 700; font-size: calc(18 * var(--u)); color: var(--navy); }
.dc-voice-who span { display: grid; place-items: center; width: calc(44 * var(--u)); height: calc(44 * var(--u)); border-radius: 50%; border: 1px solid #E5A9BD; background: radial-gradient(circle at 40% 35%, #fff, #FBE3EB); font-family: var(--serif); font-size: calc(22 * var(--u)); color: var(--pk); }
.dc-voice .dc-note { margin-top: calc(14 * var(--u)); }

/* 開発者 */
.dc-doctor { background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.6) 20%, rgba(255,255,255,.6) 80%, rgba(255,255,255,0)); }
.dc-doctor-in { display: grid; grid-template-columns: calc(170 * var(--u)) minmax(0, 1fr) calc(290 * var(--u)); gap: calc(30 * var(--u)); align-items: center; }
.dc-doctor-photo { width: calc(170 * var(--u)); height: calc(170 * var(--u)); border-radius: 50%; object-fit: cover; border: calc(4 * var(--u)) solid #fff; box-shadow: 0 calc(8 * var(--u)) calc(22 * var(--u)) rgba(30,53,96,.18); }
.dc-doctor-label { font-family: var(--serif); font-size: calc(16 * var(--u)); color: var(--pk-d); letter-spacing: .1em; }
.dc-doctor-name { font-family: var(--serif); font-weight: 700; font-size: calc(36 * var(--u)); line-height: 1.3; color: var(--navy); letter-spacing: .1em; }
.dc-doctor-title { display: flex; align-items: center; gap: calc(10 * var(--u)); font-family: var(--serif); font-size: calc(17 * var(--u)); color: var(--navy); }
.dc-doctor-title::before, .dc-doctor-title::after { content: ""; width: calc(30 * var(--u)); height: 1px; background: var(--gold-1); }
.dc-doctor-text { margin-top: calc(10 * var(--u)); font-size: calc(14.5 * var(--u)); line-height: 1.85; }
.dc-doctor-quals { padding-left: calc(24 * var(--u)); border-left: 1px solid #D6B98A; font-size: calc(14.5 * var(--u)); line-height: 1.8; }
.dc-doctor-quals > p { font-family: var(--serif); font-weight: 700; color: var(--navy); margin-top: calc(6 * var(--u)); }
.dc-doctor-quals li { position: relative; padding-left: calc(16 * var(--u)); }
.dc-doctor-quals li::before { content: ""; position: absolute; left: 0; top: .62em; width: calc(8 * var(--u)); height: calc(8 * var(--u)); background: var(--gold-1); }

/* 購入 */
.dc-order-grid { display: grid; grid-template-columns: 1fr 1fr; gap: calc(22 * var(--u)); }
.dc-order-grid.is-single { grid-template-columns: minmax(0, calc(560 * var(--u))); justify-content: center; }
.dc-plan { display: flex; flex-direction: column; gap: calc(12 * var(--u)); padding: calc(22 * var(--u)) calc(24 * var(--u)) calc(24 * var(--u)); border-radius: calc(14 * var(--u)); background: #fff; box-shadow: 0 calc(12 * var(--u)) calc(28 * var(--u)) rgba(169,40,87,.12); }
.dc-plan-title { text-align: center; font-family: var(--serif); font-weight: 700; font-size: calc(24 * var(--u)); color: var(--navy); padding-bottom: calc(8 * var(--u)); background: linear-gradient(90deg, rgba(207,175,114,0), var(--gold-1), rgba(207,175,114,0)) center bottom / 70% 1px no-repeat; }
.dc-plan-catch { text-align: center; font-size: calc(14 * var(--u)); color: var(--pk-d); font-weight: 600; }
.dc-plan-body { display: grid; grid-template-columns: calc(140 * var(--u)) minmax(0, 1fr); gap: calc(16 * var(--u)); align-items: center; }
.dc-plan-body img { width: 100%; height: auto; filter: drop-shadow(0 calc(8 * var(--u)) calc(10 * var(--u)) rgba(120,40,70,.2)); }
.dc-plan-badge { display: inline-block; padding: calc(2 * var(--u)) calc(12 * var(--u)); background: var(--pk); color: #fff; font-weight: 700; font-size: calc(14 * var(--u)); }
.dc-plan-price { margin-top: calc(4 * var(--u)); font-family: var(--serif); font-weight: 700; font-size: calc(50 * var(--u)); line-height: 1.1; color: var(--pk); letter-spacing: .01em; }
.dc-plan-price small { font-size: calc(17 * var(--u)); }
.dc-plan-regular { margin-top: calc(6 * var(--u)); font-size: calc(13.5 * var(--u)); color: #4A4450; }
.dc-plan-points { display: flex; flex-direction: column; gap: calc(4 * var(--u)); padding: calc(12 * var(--u)) calc(16 * var(--u)); border-radius: calc(8 * var(--u)); background: var(--pk-bg); font-size: calc(14 * var(--u)); line-height: 1.7; }
.dc-plan-points strong { color: var(--pk-d); }
.dc-plan .dc-btn { margin-top: auto; font-size: calc(18 * var(--u)); }
.dc-order-note { margin-top: calc(18 * var(--u)); text-align: center; font-size: calc(14.5 * var(--u)); color: var(--navy); font-weight: 600; }

/* よくある質問 */
.dc-faq-list { max-width: calc(760 * var(--u)); margin: 0 auto; display: flex; flex-direction: column; gap: calc(10 * var(--u)); }
.dc-faq-item { border: 1px solid #E3D3DA; border-radius: calc(8 * var(--u)); background: #fff; }
.dc-faq-item summary { position: relative; list-style: none; cursor: pointer; padding: calc(14 * var(--u)) calc(52 * var(--u)) calc(14 * var(--u)) calc(22 * var(--u)); font-family: var(--serif); font-weight: 700; font-size: calc(17 * var(--u)); color: var(--navy); }
.dc-faq-item summary::-webkit-details-marker { display: none; }
.dc-faq-item summary::after { content: ""; position: absolute; right: calc(24 * var(--u)); top: 50%; width: calc(9 * var(--u)); height: calc(9 * var(--u)); margin-top: calc(-7 * var(--u)); border-right: calc(1.5 * var(--u)) solid var(--navy); border-bottom: calc(1.5 * var(--u)) solid var(--navy); transform: rotate(45deg); transition: transform .2s; }
.dc-faq-item[open] summary::after { transform: rotate(-135deg); margin-top: calc(-2 * var(--u)); }
.dc-faq-a { padding: 0 calc(22 * var(--u)) calc(16 * var(--u)); font-size: calc(15 * var(--u)); line-height: 1.85; }
.dc-faq-a a { color: var(--blue-2); text-decoration: underline; }
.dc-faq { padding-bottom: calc(60 * var(--u)); }

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

/* ========== スマホ（スマホ版デザイン画） ========== */
@media (max-width: 1023px) {
	.dc-in { width: auto; max-width: 560px; padding: 0 18px; }
	.dc-pc { display: none; }
	.dc-sp { display: inline; }
	.dc-sec { padding-block: 30px; }
	.dc-note { font-size: 11.5px; }
	.dc-h2 { font-size: 21px; line-height: 1.45; gap: 10px; margin-bottom: 18px; text-wrap: balance; word-break: keep-all; }
	.dc-h2::before, .dc-h2::after { width: 22px !important; }
	.dc-h2::before, .dc-h2::after { width: 32px; height: 1px; }
	.dc-btn { height: 52px; padding: 0 52px 0 34px; font-size: 17px; }
	.dc-btn::after { right: 22px; width: 9px; height: 9px; margin-top: -4.5px; border-width: 2px; }
	.dc-btn-wide { padding-left: 20px; }
	.dc-petals-a { width: 220px; left: -60px; bottom: -20px; }

	.dc-hero-in { grid-template-columns: 58% 42%; min-height: 0; padding-block: 22px 26px; align-items: start; }
	.dc-hero-kicker { font-size: 15px; padding-bottom: 6px; }
	.dc-hero-title { margin-top: 10px; font-size: clamp(24px, 7vw, 32px); line-height: 1.45; }
	.dc-hero-brand { margin-top: 8px; font-size: 22px; }
	.dc-hero-kana { font-size: 12px; gap: 8px; }
	.dc-hero-kana::before, .dc-hero-kana::after { width: 20px; }
	.dc-hero-copy .dc-btn { margin-top: 16px; height: 44px; font-size: 14px; letter-spacing: .04em; padding: 0 34px 0 18px; white-space: nowrap; }
	.dc-hero-copy .dc-btn::after { right: 16px; width: 7px; height: 7px; margin-top: -3.5px; }
	.dc-hero-visual { height: 260px; }
	.dc-hero-model { right: -50px; top: -22px; height: 300px; }
	.dc-hero-pack { left: -46px; bottom: -14px; width: 96px; }

	.dc-notice-sec { padding-block: 34px 20px; }
	.dc-notice { padding: 38px 16px 22px; gap: 12px; font-size: 14.5px; line-height: 1.85; outline-offset: -5px; }
	.dc-ribbon { font-size: 15px; padding: 7px 26px; clip-path: polygon(0 50%, 12px 0, calc(100% - 12px) 0, 100% 50%, calc(100% - 12px) 100%, 12px 100%); }
	.dc-notice-lead { font-size: 15.5px; }
	.dc-notice-band { font-size: 15px; padding: 8px 14px; }
	.dc-notice-line { padding-top: 12px; }

	.dc-what-grid { grid-template-columns: 1fr; gap: 12px; }
	.dc-what-lead { font-size: 18px; }
	.dc-what-sub { font-size: 14.5px; }
	.dc-checks { gap: 8px; margin-top: 12px; }
	.dc-checks li { font-size: 15px; padding-left: 30px; }
	.dc-checks li::before { width: 20px; height: 20px; border-width: 1.5px; }
	.dc-checks li::after { left: 7px; top: calc(.2em + 4px); width: 5px; height: 10px; border-width: 2px; }
	.dc-what-img { width: 82%; justify-self: center; }
	.dc-life { grid-template-columns: 1fr; gap: 14px; padding: 12px; margin-top: 20px; border-radius: 12px; }
	.dc-life-img { border-radius: 8px; }
	.dc-life-text { font-size: 14.5px; gap: 10px; }

	.dc-anatomy-grid { grid-template-columns: 1fr; gap: 16px; }
	.dc-anatomy-labels li { font-size: 14px; }
	.dc-anatomy-labels li::before { width: 40px; }
	.dc-anatomy-labels li::after { right: calc(100% + 40px); }
	.dc-anatomy-text { font-size: 14.5px; gap: 14px; }
	.dc-anatomy-box { font-size: 17px; padding: 14px 16px; }

	.dc-mat-grid { grid-template-columns: 1fr; gap: 12px; }
	.dc-mat { min-height: 210px; padding: 16px 12px; border-radius: 8px; background-position: center 85%; }
	.dc-mat::before { background: linear-gradient(180deg, rgba(255,255,255,.95) 0%, rgba(255,255,255,.8) 45%, rgba(255,255,255,0) 62%); }
	.dc-mat p { font-size: 14px; }
	.dc-mat h3 { font-size: 24px; }
	.dc-mat-lead { font-size: 14.5px; margin-top: 16px; }
	.dc-kodawari { grid-template-columns: 1fr; gap: 10px; padding: 14px; font-size: 14px; }
	.dc-kodawari-tag { justify-self: start; font-size: 15px; }
	.dc-kodawari-img { border-radius: 8px; }

	.dc-voice-grid { grid-template-columns: 1fr; gap: 12px; }
	.dc-voice-card { padding: 16px; font-size: 14.5px; gap: 8px; border-radius: 10px; }
	.dc-voice-who { font-size: 16px; gap: 10px; }
	.dc-voice-who span { width: 38px; height: 38px; font-size: 19px; }

	.dc-doctor-in { grid-template-columns: 110px minmax(0, 1fr); gap: 14px 16px; }
	.dc-doctor-photo { width: 110px; height: 110px; border-width: 3px; }
	.dc-doctor-label { font-size: 13px; }
	.dc-doctor-name { font-size: 26px; }
	.dc-doctor-title { font-size: 13.5px; }
	.dc-doctor-title::before, .dc-doctor-title::after { width: 18px; }
	.dc-doctor-text { grid-column: 1 / -1; font-size: 14.5px; }
	.dc-doctor-main { display: contents; }
	.dc-doctor-main > .dc-doctor-label, .dc-doctor-main > .dc-doctor-name, .dc-doctor-main > .dc-doctor-title { grid-column: 2; }
	.dc-doctor-photo { grid-row: 1 / 4; }
	.dc-doctor-quals { grid-column: 1 / -1; padding: 12px 0 0; border-left: 0; border-top: 1px solid #D6B98A; font-size: 14px; display: grid; grid-template-columns: auto 1fr; column-gap: 12px; }
	.dc-doctor-quals > p { margin-top: 0; }
	.dc-doctor-quals li::before { width: 7px; height: 7px; }

	.dc-order-grid, .dc-order-grid.is-single { grid-template-columns: 1fr; gap: 16px; }
	.dc-plan { padding: 18px 16px 18px; gap: 10px; border-radius: 12px; }
	.dc-plan-title { font-size: 20px; }
	.dc-plan-catch { font-size: 13px; }
	.dc-plan-body { grid-template-columns: 96px minmax(0, 1fr); gap: 12px; }
	.dc-plan-badge { font-size: 12.5px; padding: 1px 10px; }
	.dc-plan-price { font-size: 38px; }
	.dc-plan-price small { font-size: 14px; }
	.dc-plan-regular { font-size: 12.5px; }
	.dc-plan-points { font-size: 13.5px; padding: 10px 12px; }
	.dc-plan .dc-btn { font-size: 16px; }
	.dc-order-note { font-size: 13.5px; }

	.dc-faq-list { max-width: none; gap: 8px; }
	.dc-faq-item summary { font-size: 15px; padding: 13px 44px 13px 16px; }
	.dc-faq-item summary::after { right: 18px; width: 8px; height: 8px; margin-top: -6px; }
	.dc-faq-a { font-size: 14px; padding: 0 16px 14px; }
	.dc-faq { padding-bottom: 40px; }

	/* 画面下に固定の応募ボタン */
	.dc-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, #D9577F 0%, #BC3366 55%, #A72857 100%); color: #fff !important; font-family: var(--serif); font-weight: 700; font-size: 18px; letter-spacing: .1em; box-shadow: 0 10px 24px rgba(169,40,87,.35); transition: opacity .3s, transform .3s; }
	.dc-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; }
}

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

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

/* ファーストビューのキャッチ：PC は「幸せで、／胸が弾む／毎日へ。」の3行（Codex のデザイン画 dchero2 B案） */
@media (min-width: 1024px) {
	.dc-hero-title { font-size: calc(48 * var(--u)); line-height: calc(68 * var(--u)); }
	/* 真ん中が空かないように、袋を文字の近くで大きく、モデルも大きく左へ */
	.dc-hero-in { grid-template-columns: calc(420 * var(--u)) minmax(0, 1fr); }
	.dc-hero-pack { left: calc(-50 * var(--u)); bottom: calc(-18 * var(--u)); width: calc(250 * var(--u)); }
	.dc-hero-model { right: calc(-40 * var(--u)); height: calc(512 * var(--u)); }
}
@media (max-width: 1023px) {
	.dc-pc-br { display: none; }
}

/* 英語ページ（html lang="en"）。日本語ページには効かない */
html:lang(en) .dc-hero-kana { display: none; }
html:lang(en) .dc-plan-intl { margin-top: calc(8 * var(--u)); font-size: max(12px, calc(13 * var(--u))); line-height: 1.5; }
html:lang(en) .dc-plan-intl a { color: var(--pk-d); text-decoration: underline; text-underline-offset: .2em; }
html:lang(en) .dc-hero-kicker { font-size: calc(22 * var(--u)); letter-spacing: .01em; }
html:lang(en) .dc-hero-title, html:lang(en) .dc-h2 { letter-spacing: .01em; }
/* 乳房の図の名前：英語は長いので、図を少し小さくして名前の幅をとる */
html:lang(en) .dc-anatomy-fig img { width: 62%; }
html:lang(en) .dc-anatomy-labels { left: 60%; }
html:lang(en) .dc-anatomy-labels li { font-size: calc(15.5 * var(--u)); }
html:lang(en) .dc-anatomy-labels li::before { width: calc(50 * var(--u)); }
html:lang(en) .dc-anatomy-labels li::after { right: calc(100% + 50 * var(--u)); }
html:lang(en) .dc-kodawari-tag { white-space: normal; max-width: calc(190 * var(--u)); line-height: 1.4; padding-right: calc(28 * var(--u)); }
@media (max-width: 1023px) {
	html:lang(en) .dc-hero-kicker { font-size: 13px; }
	html:lang(en) .dc-hero-title { white-space: normal; font-size: clamp(22px, 6.4vw, 30px); line-height: 1.3; }
	html:lang(en) .dc-hero-copy .dc-btn { font-size: 13px; letter-spacing: .02em; }
	html:lang(en) .dc-anatomy-labels li { font-size: 13px; white-space: normal; line-height: 1.3; }
	html:lang(en) .dc-anatomy-labels li::before { width: 28px; }
	html:lang(en) .dc-anatomy-labels li::after { right: calc(100% + 28px); }
	html:lang(en) .dc-kodawari-tag { max-width: none; }
	html:lang(en) .dc-plan-intl { font-size: 12.5px; }
	html:lang(en) .dc-doctor-quals { grid-template-columns: 1fr; }
	html:lang(en) .dc-doctor-quals > p + ul + p { margin-top: 8px; }
}
@media (min-width: 1024px) {
	html:lang(en) .dc-plan-price { font-size: calc(44 * var(--u)); }
	html:lang(en) .dc-plan-price small { white-space: nowrap; font-size: calc(15 * var(--u)); }
	html:lang(en) .dc-mat p { font-size: calc(15 * var(--u)); }
}

/* 乳房の構造：前のサイトの図（文字入り）をそのまま使う（ローズさんの依頼） */
.dc-anatomy-fig img, html:lang(en) .dc-anatomy-fig img { display: block; width: 100%; height: auto; border-radius: calc(10 * var(--u)); }
/* お客様の声：前のサイトのイラストをそのまま使う（ローズさんの依頼） */
.dc-voice-face { flex: none; width: calc(84 * var(--u)); height: calc(84 * var(--u)); border-radius: 50%; object-fit: cover; object-position: 50% 25%; border: 2px solid #F3D3DE; background: #fff; }
@media (max-width: 1023px) { .dc-voice-face { width: 72px; height: 72px; } }
