/* Additions for Mirai-only content. Reference layout lives in each p-*.css. */
.mirai-subpage .mirai-dummy-icon{display:grid;place-items:center;width:130px;height:130px;aspect-ratio:1;background:#e4ebe8;color:#354b71;border:1px dashed #94a8a1;border-radius:50%;font:600 15px 'Montserrat',sans-serif;transform:rotate(-12deg)}
.mirai-subpage .l-main-visual__image{object-fit:cover}
.mirai-subpage .l-main-visual__title-ja{overflow-wrap:anywhere}
.mirai-subpage .image-text + .image-text{margin-top:90px}
.mirai-subpage .image-text__image img{width:100%;height:100%;object-fit:cover}
.mirai-subpage .flow-unit__image{object-fit:cover;border-radius:8px}
.mirai-subpage .reason-unit__image img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px}
.mirai-subpage .reason-unit__image{padding-top:24px}
.mirai-subpage .mirai-quest-preview{display:block;border:1px solid #dce5e0;border-radius:6px;background:#f3f6f4}
.mirai-subpage .mirai-quest-preview img{display:block;aspect-ratio:4/3;object-fit:contain}
.mirai-quest-preview:focus-visible{outline:3px solid #58a797;outline-offset:4px}
.mirai-media-caption{margin-top:10px;color:#66747e;font-size:12px;line-height:1.65}
.mirai-note{padding:36px 42px;border-radius:10px;background:#f7f7f5;color:#354b71}
.mirai-note h3{margin-bottom:15px;font-size:25px;line-height:1.6}
.mirai-note p+p{margin-top:15px}
.mirai-caption{margin:28px auto 0;color:#66747e;font-size:14px;line-height:1.8}
.mirai-price-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}
.mirai-price-card{padding:45px;border:2px solid #354b71;border-radius:10px;background:#fff;color:#354b71}
.mirai-price-card.is-continuation{border-color:#d7e1dc;background:#f7f7f5}
.mirai-kicker{font-family:'Montserrat','Zen Kaku Gothic New',sans-serif;color:#58a797;font-size:14px;font-weight:700;letter-spacing:.06em}
.mirai-price-card h3{font-size:28px;margin:12px 0 24px}
.mirai-price-number{font-family:'Montserrat',sans-serif;font-size:58px;font-weight:700;line-height:1.2;white-space:nowrap}
.mirai-price-number span{font-family:'Zen Kaku Gothic New',sans-serif;font-size:15px;white-space:normal}
.mirai-price-card ul{margin-top:30px;padding-top:25px;border-top:1px solid #d7e1dc;display:grid;gap:12px}
.mirai-price-card li:before{content:'✓';margin-right:10px;color:#58a797}
.mirai-voice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}
.mirai-voice-grid .c-card-2{width:auto;min-width:0}
.mirai-voice-grid img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.mirai-company-intro{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:50px}
.mirai-company-intro img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.mirai-news-list{display:grid;border-top:1px solid #d7dfe0}
.mirai-news-item{display:grid;grid-template-columns:90px 1fr 28px;gap:25px;padding:38px 15px;border-bottom:1px solid #d7dfe0;transition:background .3s,color .3s}
.mirai-news-item:hover{background:#f7f7f5;color:#58a797}
.mirai-news-item h3{font-size:23px;color:#354b71;margin-bottom:8px}
.mirai-news-item p{font-size:15px}
.mirai-detail-back{padding-top:100px}
.mirai-subpage .l-primary-links{margin-top:160px}
.mirai-subpage .faq-item__name:after{background-image:none!important;content:'+';display:grid;place-items:center;background:#354b71;color:white;border-radius:50%;font:300 32px 'Montserrat',sans-serif}
.mirai-subpage .faq-item.is-open .faq-item__name:after{content:'−'}
.mirai-subpage .c-heading-2__en:before{content:'?';color:#58a797;font:700 32px 'Caveat',cursive;top:-8px}
.mirai-subpage .l-side a{opacity:.6!important}
.mirai-subpage .l-side a._active{opacity:1!important}
.mirai-subpage .usage-unit__image{object-fit:cover}
.mirai-subpage .usage-unit__button{line-height:1.45}
@media(max-width:1100px) and (min-width:768px){.mirai-price-card{padding:30px}.mirai-price-number{font-size:45px}.mirai-price-card h3{font-size:24px}}
@media(max-width:767px){
 .mirai-subpage .mirai-dummy-icon{width:76px;height:76px;font-size:10px}
 .mirai-subpage .l-main-visual__title-ja{font-size:27px}
 .mirai-subpage .image-text + .image-text{margin-top:45px}
 .mirai-subpage .image-text__image img{aspect-ratio:4/3}
 .mirai-note{padding:25px 20px}.mirai-note h3{font-size:21px}
 .mirai-price-grid{grid-template-columns:1fr;gap:20px}.mirai-price-card{padding:28px 22px}.mirai-price-card h3{font-size:25px}.mirai-price-number{font-size:46px}.mirai-price-number span{font-size:13px}
 .mirai-voice-grid{grid-template-columns:1fr;gap:40px}.mirai-company-intro{grid-template-columns:1fr;gap:25px}
 .mirai-news-item{grid-template-columns:1fr 22px;gap:10px;padding:25px 5px}.mirai-news-item .mirai-kicker{grid-column:1/-1}.mirai-news-item h3{font-size:20px}
 .mirai-detail-back{padding-top:60px}.mirai-subpage .l-primary-links{margin-top:90px}
 .mirai-subpage .faq-item__name:after{font-size:24px}
 .mirai-subpage .l-side{margin-bottom:45px}
}

/* Keep Step 03 in the existing timeline; emphasize its importance through text. */
.flow-unit--weekly-review{scroll-margin-top:135px}
.flow-unit__priority{margin:0 0 14px;color:#354b71;font-size:17px;font-weight:700;line-height:1.8}
.flow-unit--weekly-review .flow-unit__text-1 + .flow-unit__text-1{margin-top:14px}
@media(max-width:767px){.flow-unit--weekly-review{scroll-margin-top:75px}.flow-unit__priority{font-size:16px}}

/* Printable weekly schedule samples: reuse the existing headings and buttons. */
.mirai-print-samples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}
.mirai-print-sample{min-width:0}
.mirai-print-sample h3{font-size:26px;color:#354b71;font-weight:700;line-height:1.5;margin:0 0 12px}
.mirai-print-sample>p{line-height:1.9}
.mirai-print-sample__preview{display:block;margin:22px 0 12px;border:1px solid #dce4e3;border-radius:8px;overflow:hidden}
.mirai-print-sample__preview img{display:block;width:100%;height:auto}
.mirai-print-sample__meta{font-size:14px;color:#52637a}
.mirai-print-sample__actions{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:20px}
.mirai-print-sample__actions .c-button-1{width:100%;max-width:340px;min-width:0}
.mirai-print-guide{margin-top:40px}
.mirai-print-guide p+p{margin-top:12px}
#printable-pdf{scroll-margin-top:120px}
@media(max-width:767px){
.mirai-print-samples{grid-template-columns:1fr;gap:42px}
.mirai-print-sample h3{font-size:22px}
.mirai-print-sample__preview{margin-top:16px}
#printable-pdf{scroll-margin-top:75px}
}

/* Paper goal sheet: same download cards as weekly schedule PDFs. */
.mirai-goal-page-label{margin-top:20px;color:#52637a;font-size:14px}
.mirai-goal-more{margin:18px 0;color:#354b71}
.mirai-goal-more summary{cursor:pointer;font-size:15px;line-height:1.8;padding:12px 0;border-bottom:1px solid #dce4e3}
.mirai-goal-more summary:focus-visible{outline:2px solid #354b71;outline-offset:4px}
.mirai-goal-more .mirai-print-sample__preview{margin-top:16px}
#printable-goal-sheet{scroll-margin-top:120px}
@media(max-width:767px){#printable-goal-sheet{scroll-margin-top:75px}}

/* Fixed example: original goal-sheet result styles, scoped to this sample. */
.mirai-goal-sample{--ink:#1f2a27;--muted:#46564e;--teal:#2f7a6d;max-width:780px;margin:0 auto;color:var(--ink);font-family:"Zen Kaku Gothic New",sans-serif;font-size:16px;line-height:1.7;overflow-wrap:anywhere}
.mirai-goal-sample *{box-sizing:border-box}
.mirai-goal-sample .paper{position: relative; margin-top: 4px; padding: 22px 18px 26px; background: rgb(255, 255, 255); border: 1px solid var(--ink); box-shadow: 0 1px 0 var(--ink), 0 14px 30px rgb(31 42 39 / 8%);}
.mirai-goal-sample .paper::before{content: ""; position: absolute; inset: 6px; border: 1px solid rgba(31, 42, 39, 0.18); pointer-events: none;}
.mirai-goal-sample .paper-head{display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; padding-bottom: 12px; border-bottom: 2px solid var(--ink);}
.mirai-goal-sample .paper-head .who{font-family: "Shippori Mincho B1", serif; font-size: 20px; font-weight: 700; letter-spacing: 0.04em; line-height: 1.3;}
.mirai-goal-sample .paper-head .who small{display: block; font-family: inherit; font-size: 12px; font-weight: 600; letter-spacing: 0.18em; color: var(--muted); margin-bottom: 4px;}
.mirai-goal-sample .paper-head .date{font-family: "Shippori Mincho B1", serif; font-size: 13px; letter-spacing: 0.12em; color: var(--muted); white-space: nowrap;}
.mirai-goal-sample .blk{margin-top: 22px; animation: 0.5s ease 0s 1 normal both running rise;}
.mirai-goal-sample .blk:nth-of-type(2){animation-delay: 0.08s;}
.mirai-goal-sample .blk:nth-of-type(3){animation-delay: 0.16s;}
.mirai-goal-sample .blk:nth-of-type(4){animation-delay: 0.24s;}
.mirai-goal-sample .blk:nth-of-type(5){animation-delay: 0.32s;}
.mirai-goal-sample .blk-head{display: grid; grid-template-columns: auto 1fr; column-gap: 12px; align-items: baseline;}
.mirai-goal-sample .blk-head .no{font-family: "Shippori Mincho B1", serif; font-weight: 700; letter-spacing: 0.06em; line-height: 1; color: var(--ink);}
.mirai-goal-sample .blk-head .ttl{font-family: "Shippori Mincho B1", serif; font-weight: 700; line-height: 1.3; letter-spacing: 0.04em;}
.mirai-goal-sample .blk-head .sub{grid-column: 2; font-size: 12px; color: var(--muted); letter-spacing: 0.04em; margin-top: 2px;}
.mirai-goal-sample .blk.q .blk-head{padding: 10px 12px; background: var(--ink); color: rgb(255, 255, 255);}
.mirai-goal-sample .blk.q .blk-head .no{font-size: 30px; color: rgb(255, 255, 255);}
.mirai-goal-sample .blk.q .blk-head .ttl{font-size: 24px;}
.mirai-goal-sample .blk.q .blk-head .sub{color: rgba(255, 255, 255, 0.75);}
.mirai-goal-sample .blk.q .blk-body{border-right-color: ; border-right-style: ; border-right-width: ; border-bottom-color: ; border-bottom-style: ; border-bottom-width: ; border-left-color: ; border-left-style: ; border-left-width: ; border-image-source: ; border-image-slice: ; border-image-width: ; border-image-outset: ; border-image-repeat: ; border-top: 0px; padding: 4px 12px 10px;}
.mirai-goal-sample .blk.r .blk-head{padding: 8px 0px; border-top: 3px double var(--ink); border-bottom: 1px solid var(--ink);}
.mirai-goal-sample .blk.r .blk-head .no{font-size: 24px;}
.mirai-goal-sample .blk.r .blk-head .ttl{font-size: 20px;}
.mirai-goal-sample .blk.r .blk-body{padding: 2px 0px 0px;}
.mirai-goal-sample .blk.f .blk-head{padding: 6px 0px; border-bottom: 1px dashed rgba(31, 42, 39, 0.45);}
.mirai-goal-sample .blk.f .blk-head .no{font-size: 18px; color: var(--muted);}
.mirai-goal-sample .blk.f .blk-head .ttl{font-size: 16px; color: var(--muted);}
.mirai-goal-sample .blk.f .blk-body{padding: 8px 0px 0px;}
.mirai-goal-sample .blk.g .blk-head{padding: 8px 0px; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink);}
.mirai-goal-sample .blk.g .blk-head .no{font-size: 24px;}
.mirai-goal-sample .blk.g .blk-head .ttl{font-size: 20px;}
.mirai-goal-sample .blk.g .blk-body{padding: 0px;}
.mirai-goal-sample .lbl-row{display: flex; align-items: center; gap: 10px; margin: 14px 0px 2px; font-size: 11px; font-weight: 700; letter-spacing: 0.22em; color: var(--muted);}
.mirai-goal-sample .lbl-row::after{content: ""; flex: 1 1 0%; height: 1px; background: rgba(31, 42, 39, 0.15);}
.mirai-goal-sample .lbl-row.strong{color: var(--ink);}
.mirai-goal-sample .q-item{display: grid; grid-template-columns: 34px 1fr; column-gap: 8px; align-items: baseline; padding: 9px 0px; border-bottom: 1px solid rgba(31, 42, 39, 0.1);}
.mirai-goal-sample .q-item:last-child{border-bottom: 0px;}
.mirai-goal-sample .q-item .sn{font-family: "Shippori Mincho B1", serif; font-size: 22px; font-weight: 700; line-height: 1; color: rgba(31, 42, 39, 0.35); letter-spacing: 0.02em;}
.mirai-goal-sample .q-item .nm{font-size: 19px; font-weight: 700; line-height: 1.35; letter-spacing: 0.01em;}
.mirai-goal-sample .q-item .st{grid-column: 2; font-size: 12px; color: var(--muted); margin-top: 1px; letter-spacing: 0.02em;}
.mirai-goal-sample .q-item .st b{font-weight: 700; color: var(--ink);}
.mirai-goal-sample .tag-must{display: inline-block; margin-left: 8px; padding: 1px 7px; vertical-align: 3px; background: var(--ink); color: rgb(255, 255, 255); font-size: 10px; font-weight: 700; letter-spacing: 0.14em; border-radius: 2px;}
.mirai-goal-sample .r-row{display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; align-items: baseline; padding: 10px 0px; border-bottom: 1px solid rgba(31, 42, 39, 0.1);}
.mirai-goal-sample .r-row:last-child{border-bottom: 0px;}
.mirai-goal-sample .r-row .nm{font-size: 18px; font-weight: 700;}
.mirai-goal-sample .r-row .now{grid-column: 1 / -1; font-size: 13px; color: var(--muted); display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px;}
.mirai-goal-sample .r-row .now .to{font-family: "Shippori Mincho B1", serif; font-size: 15px; font-weight: 700; color: var(--ink); letter-spacing: 0.02em;}
.mirai-goal-sample .r-row .kind{font-size: 11px; letter-spacing: 0.12em; color: var(--muted);}
.mirai-goal-sample .f-list{display: flex; flex-wrap: wrap; gap: 6px 14px;}
.mirai-goal-sample .f-list span{font-size: 15px; color: var(--muted); padding: 2px 0px; border-bottom: 1px dotted rgba(31, 42, 39, 0.35);}
.mirai-goal-sample .f-list span small{font-size: 11px; margin-left: 4px;}
.mirai-goal-sample .g-row{display: grid; grid-template-columns: 1fr auto; gap: 2px 12px; align-items: center; padding: 10px 0px; border-bottom: 1px solid rgba(31, 42, 39, 0.1);}
.mirai-goal-sample .g-row:last-of-type{border-bottom: 0px;}
.mirai-goal-sample .g-row .nm{grid-column: 1; font-size: 16px; font-weight: 700;}
.mirai-goal-sample .g-row .txt{grid-column: 1; font-size: 12px; color: var(--muted);}
.mirai-goal-sample .g-row .txt b{color: var(--ink); font-weight: 700;}
.mirai-goal-sample .ladder{grid-area: 1 / 2; display: flex; align-items: center; gap: 0px; justify-self: end;}
.mirai-goal-sample .steps{grid-area: 2 / 2; justify-self: end;}
.mirai-goal-sample .steps select{min-height: 32px; padding: 2px 26px 2px 8px; font-size: 12px; border-radius: 6px; border-color: rgba(31, 42, 39, 0.3); width: auto;}
.mirai-goal-sample .ladder i{display: block; width: 12px; height: 12px; border-radius: 50%; border: 1.5px solid rgba(31, 42, 39, 0.3); background: rgb(255, 255, 255);}
.mirai-goal-sample .ladder i + i{margin-left: 10px; position: relative;}
.mirai-goal-sample .ladder i + i::before{content: ""; position: absolute; right: 100%; top: 50%; width: 10px; height: 1.5px; background: rgba(31, 42, 39, 0.25);}
.mirai-goal-sample .ladder i.now{border-color: var(--ink); background: rgb(255, 255, 255); box-shadow: inset 0 0 0 2px #fff, inset 0 0 0 5px var(--ink);}
.mirai-goal-sample .ladder i.goal{border-color: var(--teal); background: var(--teal);}
.mirai-goal-sample .ladder i.done{border-color: var(--ink); background: var(--ink);}
.mirai-goal-sample .ladder-key{display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 10px 0px 0px; font-size: 11px; color: var(--muted); letter-spacing: 0.04em;}
.mirai-goal-sample .ladder-key .all{flex-basis: 100%;}
.mirai-goal-sample .ladder-key i{display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-right: 4px; vertical-align: -1px; border: 1.5px solid rgba(31, 42, 39, 0.3);}
.mirai-goal-sample .ladder-key i.now{border-color: var(--ink); box-shadow: inset 0 0 0 1.5px #fff, inset 0 0 0 4px var(--ink);}
.mirai-goal-sample .ladder-key i.goal{background: var(--teal); border-color: var(--teal);}
.mirai-goal-sample .empty{margin: 8px 0px; color: var(--muted); font-size: 14px;}
.mirai-goal-sample .paper-foot{margin-top: 22px; padding-top: 12px; border-top: 1px solid rgba(31, 42, 39, 0.25); font-size: 12px; color: var(--muted); line-height: 1.7;}
.mirai-goal-sample .paper{padding:28px 24px;box-shadow:none}
.mirai-goal-sample .blk{animation:none;opacity:1;transform:none}
.mirai-goal-sample .blk-head .ttl{margin:0}
.mirai-goal-sample .paper-head .who small,.mirai-goal-sample .paper-head .date,.mirai-goal-sample .blk-head .sub,.mirai-goal-sample .q-item .st,.mirai-goal-sample .r-row .now,.mirai-goal-sample .g-row .txt,.mirai-goal-sample .paper-foot{font-size:14px}
.mirai-goal-sample .lbl-row,.mirai-goal-sample .r-row .kind,.mirai-goal-sample .f-list span small,.mirai-goal-sample .ladder-key{font-size:13px}
.mirai-goal-sample .q-item .sn{color:#58675f}
.mirai-goal-sample .blk.q .blk-head .sub{color:#fff}
.mirai-goal-sample .q-item,.mirai-goal-sample .r-row,.mirai-goal-sample .g-row{border-bottom-color:#bac6c0}
.mirai-goal-sample .step-value{font-size:13px;color:var(--muted)}
.mirai-goal-sample .paper-foot{margin-bottom:0}
.mirai-goal-guide{max-width:780px;margin:32px auto 0}
.mirai-goal-guide p+p{margin-top:12px}
@media(max-width:600px){
.mirai-goal-sample .paper{padding:22px 16px}
.mirai-goal-sample .paper-head{flex-wrap:wrap;gap:8px}
.mirai-goal-sample .blk.q .blk-head .ttl{font-size:20px}
.mirai-goal-sample .blk.q .blk-head{column-gap:8px;padding:10px}
.mirai-goal-sample .blk.q .blk-body{padding:4px 10px 10px}
.mirai-goal-sample .q-item{grid-template-columns:34px minmax(0,1fr);column-gap:6px}
.mirai-goal-sample .q-item .nm{font-size:18px}
.mirai-goal-sample .g-row{grid-template-columns:minmax(0,1fr)}
.mirai-goal-sample .ladder,.mirai-goal-sample .steps{grid-column:1;grid-row:auto;justify-self:start;margin-top:6px}
.mirai-goal-sample .r-row{grid-template-columns:minmax(0,1fr)}
.mirai-goal-sample .paper-head .date{white-space:normal}
}

.mirai-goal-sample .q-item .sn{white-space:nowrap}
.mirai-goal-sample p{text-align:left}
