/* v20: 既存の本文順と構図を保った階層・面・画像の仕上げ。 */
.shelf>.course~.course-comment{max-width:56em!important;margin-top:26px!important;line-height:2!important;color:var(--ink)}
.shelf>.course~.course-comment .copy-lead{display:block;font:700 18px/1.85 var(--round)!important;margin:0 0 12px!important}
.shelf>.course~.course-comment .copy-limit{font-weight:500!important;margin-top:14px!important}
.shelf>.course~.course-comment+.course-comment{padding-top:24px!important;border-top:1px solid #DCC9B9!important}
.shelf>.course~.course-comment .source-detail{display:block;margin-top:10px}
.shelf>.course~.course-sources{font-size:16px!important}
.shelf>.course~.course-sources .copy-lead{font:400 16px/2 var(--sans)!important;display:inline;margin:0!important}

/* 項目・結論・出典説明の三段階。左端は面の内側でそろえる。 */
.terms{border:1px solid #D7BEAA;border-top:0;padding:0 32px 12px;background:#fff;box-shadow:none;border-radius:0}
.terms .section-head{position:relative;margin:0 -32px 0;padding:30px 32px;background:#F9E7D8;border:0;border-bottom:4px solid #B4D3E0}
.terms .section-head::before{content:none}
.terms .section-head h2{max-width:20em}
.trow{grid-template-columns:7.5em minmax(0,1fr);column-gap:32px;padding-block:32px}
.trow dt{font:700 18px/1.8 var(--round);color:#65412C}
.trow .term-lead,.trow:first-child .term-lead{display:block;font:700 23px/1.65 var(--round);margin-bottom:16px}
.trow:first-child .term-lead{font-size:30px;line-height:1.5}
.trow.condition-2 .term-lead{font:500 18px/1.8 var(--sans)}
.trow dd small{font:400 16px/2 var(--sans);color:var(--ink)}
.trow.key{background:transparent;margin-inline:-16px;padding-inline:16px}
.trow.minimum-term{background:#FFF4EA;border-top:3px solid #CCAA8D;border-bottom:1px solid #DCC9B9}
.trow.minimum-term .term-lead{font:900 28px/1.5 var(--round)}
.trow.cancel-term .term-lead{background:#FFF4EA;margin:0 -16px 24px;padding:18px 16px;border:0}
.trow.cancel-term .term-lead>.copy-block:first-child{font:700 23px/1.65 var(--round)}
.trow.cancel-term .term-lead>.copy-block+.copy-block{font:400 16px/2 var(--sans);margin-top:12px}
.trow .term-part,.trow .term-part+.term-part{margin-top:30px;padding:0;border:0}
.trow .term-part:first-child{margin-top:0}
.trow .term-part .d{display:table;font:700 18px/1.7 var(--round);margin:0 0 10px;padding:3px 0;border-bottom:2px solid #B4D3E0;background:none;color:var(--ink)}
.trow .term-summary{font-weight:600;line-height:2;margin-bottom:14px}
.trow .source-entry{padding-top:12px;border-top:1px solid #E7DDD5;margin-top:14px}
.trow .source-detail{font-weight:400;color:var(--ink)}
.trow .source-detail+.source-detail{margin-top:14px}
.trow .term-copy{line-height:2}
.trow.cancel-term .term-part:nth-of-type(2) .term-summary{font-weight:400}

/* 3場面の面は固定高にせず、カード群全体を受ける。 */
@media(min-width:860px){
 .flow-section .scenes{padding:24px 24px 20px;gap:24px}
 .flow-section .scenes::before{inset:0;height:auto;border-radius:64px 0 0 0;border-top:8px solid #E6C5AA;background:#E8F0F3}
 .flow-section .scene{background:transparent;border:0}
 .flow-section .scene .body{padding:18px 0 10px}
 .flow-section .scene .picture-mat{padding:0!important;background:transparent}
}
.flow-section .scenes+.cap{margin:10px 0 30px;padding:0;text-align:left;background:transparent}

/* 時間の床は既存の生成画の前面。5:1を正確に保ち、文字は下の白面に置く。 */
.timeline{--floor-h:44px;padding-bottom:82px!important;background:#fff!important}
.timeline .timeline-art{margin-bottom:0;mask-image:linear-gradient(#000 64%,transparent 88%);filter:saturate(.8)}
.timeline .time-band{display:grid;grid-template-columns:5fr 1fr;height:var(--floor-h);margin-top:8px;border:0;border-radius:0;background:none;box-shadow:none;overflow:hidden}
.timeline .time-band::before,.timeline .plan-days::before,.timeline .plan-days::after{content:none}
.timeline .play-days,.timeline .plan-days{display:flex;height:var(--floor-h);overflow:hidden;background:none;border:0;position:relative}
.timeline .floor-tile{display:block;position:relative;flex:0 0 calc(var(--floor-h)*9);height:var(--floor-h);overflow:hidden}
.timeline .floor-tile img{position:absolute;width:auto!important;max-width:none!important;height:calc(var(--floor-h)*9)!important;left:0;top:calc(var(--floor-h)*-6.5);aspect-ratio:3/2;object-fit:contain;mix-blend-mode:normal}
.timeline .plan-days .floor-tile{flex-basis:100%;width:100%}
.timeline .plan-days .floor-tile img{left:auto;right:0}
.timeline .floor-labels{height:80px;bottom:0;font:700 16px var(--round)!important;overflow:visible;background:#fff}
.timeline .floor-labels text[y="-38"]{transform:translateY(calc(22px - var(--floor-h)))}
.cycle>.figure>.cap{margin-top:8px;padding:0;text-align:left}

/* 図の注記は本文の後ろにある順序を保ち、同じ面にまとめる。 */
.supervision-section .card{background:#FFF3E9;border:0;box-shadow:none;overflow:hidden}
.supervision-section .picture-mat{border-radius:0!important;padding:12px!important;background:#FFF3E9!important}
.supervision-section .card .body{padding:16px 20px 18px;background:#FFF3E9}
.supervision-section .card .cap{margin-top:12px;padding:8px 0 0;border-top:1px solid #DDC4B0;text-align:left}
.supervision-section .card .body p:not(.cap){margin-bottom:0}

/* 後半も見出し・番号・読み面を一つの紙面として設計。 */
.start-section .section-head{padding:24px 0 24px;border-top:4px solid #D5B69F;margin-bottom:0}
.start-section .steps{gap:0;background:none;border-bottom:1px solid #D7BEAA}
.start-section .step{padding:26px 24px;border:0;border-radius:0;background:#FFF1E6;box-shadow:none;grid-template-columns:40px minmax(0,1fr);gap:0 12px}
.start-section .step:nth-child(2){background:#fff}
.start-section .step:nth-child(3){background:#E8F0F3}
.start-section .step .no{font:900 32px/1.4 var(--round);color:#805038}
.start-section .step:nth-child(3) .no{color:#174A68}
.start-section .step h3{font-size:21px;line-height:1.65;margin-bottom:20px}
.start-section .step p{color:var(--ink);font-size:16px;line-height:2}
.terms-section>.wrap>.final{padding:38px 30px 30px;border:0;background:#F9E7D8;margin-top:36px;box-shadow:none;border-radius:0}
.terms-section>.wrap>.final .cond{background:#fff;padding:18px 20px;margin:20px auto 0;max-width:34em;color:var(--ink)}
.terms-section>.wrap>.final::before,.terms-section>.wrap>.final::after{content:none}

@media(max-width:859px){
 .shelf>.course~.course-comment{margin-top:24px!important}
 .shelf>.course~.course-comment .copy-lead{font-size:18px!important}
 .terms{padding:0 18px 4px}
 .terms .section-head{margin-inline:-18px;padding:24px 18px;border-left:0}
 .trow{display:block;padding-block:26px}
 .trow dt{margin-bottom:12px;font-size:18px}
 .trow .term-lead{font-size:22px}
 .trow:first-child .term-lead{font-size:28px}
 .trow.condition-2 .term-lead{font-size:18px}
 .trow.minimum-term .term-lead{font-size:27px}
 .trow.key{margin-inline:-8px;padding-inline:8px}
 .trow.cancel-term .term-lead{margin-inline:-8px;padding:16px 8px}
 .trow.cancel-term .term-lead>.copy-block:first-child{font-size:22px}
 .trow .term-part .d{font-size:18px}
 .timeline{--floor-h:32px}
 .timeline .time-band{margin-top:6px}
 .timeline .floor-labels text[y="-38"]{transform:translateY(calc(22px - var(--floor-h)))}
 .supervision-section .card .body{padding:14px 16px 18px}
 .supervision-section .picture-mat{padding:10px!important}
 .start-section .step{padding:24px 18px;grid-template-columns:36px minmax(0,1fr)}
 .start-section .step h3{font-size:21px;margin-bottom:14px}
 .terms-section>.wrap>.final{padding:28px 12px 18px}
 .terms-section>.wrap>.final .cond{padding:16px 12px;font-size:16px}
}
@media(max-width:359px){
 .trow:first-child .term-lead{font-size:24px}
}
