/* v3: choose first, read detail when needed. */
:root{--accent:#b19b53;--soft:#f4f5ef;--ink:#183829;--line:#dce3d6}
.chapter{padding:64px 0;border-top:1px solid #eef0e9}.chapter.soft{background:#f7f8f3}
.chapter-head{margin-bottom:32px;max-width:800px}.chapter-head h2{font-size:34px;line-height:1.5;margin-top:12px;text-wrap:balance}
.chapter-head .kicker{font-size:11px;color:#52684f}.chapter> .shell>p{max-width:820px}
.hero-description{max-width:510px}.hero-description p{font-size:15px;line-height:1.85}.service-hero{min-height:550px;padding-block:55px}
.line-icon{width:80px;height:80px;color:#345b41;flex-shrink:0}
.read-more{margin-top:22px;border-top:1px solid #d6dfcf;border-bottom:1px solid #d6dfcf;background:transparent}
.read-more+.read-more{margin-top:0;border-top:0}
.read-more summary{display:flex;align-items:center;justify-content:space-between;gap:18px;list-style:none;padding:16px 0;font-size:13px;font-weight:500;cursor:pointer;min-height:52px}
.read-more summary::-webkit-details-marker{display:none}.read-more summary>span{font-size:18px;color:#738467;font-weight:400;flex-shrink:0}
.read-more[open] summary>span{transform:rotate(45deg)}.read-more[open] summary{border-bottom:1px solid #e3e9dd}
.detail-content{padding:22px 0 26px;font-size:13px;line-height:1.85;max-width:850px}.detail-content p{margin:0 0 15px}.detail-content p:last-child{margin-bottom:0}.detail-content li{margin:10px 0}.detail-content h3{font-size:21px;margin:26px 0 12px}.detail-content>h3:first-child{margin-top:0}.detail-content table{font-size:13px}.detail-content .text-link{font-size:12px}
.need-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.need-strip p{margin:0;border-left:2px solid #c3ccaf;padding:12px 20px;font:600 21px/1.65 RenaMincho,serif}
.price-pair,.home-fees{display:grid;grid-template-columns:1fr 1fr;gap:24px}.fee-card{padding:30px 34px;background:white;border:1px solid #dce4d6;border-radius:6px 38px 6px 6px}.fee-label{font-size:16px;font-weight:500}.fee-amount{font:600 50px/1.3 RenaMincho,serif;margin:18px 0 13px;letter-spacing:-.02em}.fee-amount span{font:400 13px RenaSans,sans-serif;margin-left:8px;letter-spacing:0}.fee-copy{font-size:13px;color:#52684f;line-height:1.8}.under-fee{font-size:13px;line-height:1.85;margin:21px 0 0!important;color:#3e5b43}.small-note{font-size:12px;line-height:1.8;color:#52684f;margin:17px 0 0!important;max-width:850px}
.service-price-split{display:grid;grid-template-columns:1fr 1fr;gap:55px;margin-top:40px;padding-top:35px;border-top:1px solid #d6dfcf}.service-price-split>.line-icon{width:60px;height:60px}.service-price-split h3{font-size:26px;margin:14px 0 18px}.service-price-split>div>.line-icon{width:58px;height:58px}.service-price-split strong{font-size:19px}.service-price-split .read-more{max-width:100%}
.selected-work{display:grid;grid-template-columns:1.15fr 1fr;gap:50px;align-items:center}.selected-work figure{padding:25px;background:var(--soft);border-radius:5px 35px 5px 5px}.selected-work img{max-height:270px;width:100%;object-fit:contain}.selected-work h3{font-size:27px;margin:16px 0}.selected-work p{font-size:13px}
.visual-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;padding:0;margin:0;gap:22px}.visual-steps>li{position:relative;min-width:0}.step-drawing{position:relative;display:flex;justify-content:center;align-items:center;width:100px;height:100px;margin:0 auto 20px;border-radius:50%;background:#edf1e6}.step-drawing .line-icon{width:63px;height:63px}.step-number{position:absolute;top:-8px;left:0;width:28px;height:28px;display:grid;place-items:center;background:#fff;color:#75845e;border-radius:50%;font-size:12px;border:1px solid #dce4d6}.step-copy{text-align:center}.step-copy h3{font-size:20px;margin:0 0 10px}.step-copy p{font-size:12px;line-height:1.75;color:#52684f;max-width:180px;margin:auto}.visual-steps>li:not(:last-child):after{content:'→';position:absolute;top:34px;left:calc(100% - 1px);color:#819372;font-size:22px}
.flow-chapter{background:#fafaf5}.three-stages{grid-template-columns:repeat(3,minmax(0,1fr));gap:50px}.three-stages .step-copy h3{font-size:24px}.three-stages .step-copy p{max-width:260px;font-size:13px;line-height:1.9}.three-stages .step-drawing{width:116px;height:116px}.three-stages .step-drawing .line-icon{width:72px;height:72px}.three-stages>li:not(:last-child):after{left:calc(100% + 8px);top:42px}.flow-duration{font-size:14px;margin:0 0 35px;padding-bottom:20px;border-bottom:1px solid #dce4d6}.flow-duration strong{font:600 30px RenaMincho,serif;margin:0 9px}
.group-label{font-size:14px;font-weight:500;margin-bottom:18px;color:#375940}.lesson-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.lesson-card{padding:24px;background:#f4f5ef;border-radius:5px 32px 5px 5px;display:flex;flex-direction:column;align-items:stretch;min-width:0}.lesson-card>.kicker{font-size:11px}.lesson-illustration{height:120px;display:flex;align-items:center;justify-content:center;gap:12px;margin:12px 0 8px}.lesson-illustration .line-icon{width:95px;height:95px}.lesson-card h3{font-size:23px;line-height:1.55;min-height:74px;margin:16px 0 12px}.lesson-card>p:not(.lesson-price):not(.small-note):not(.kicker){font-size:13px;line-height:1.8;min-height:47px}.lesson-price{font:600 35px/1.3 RenaMincho,serif;margin:23px 0 0}.lesson-price span{font:400 11px RenaSans,sans-serif;display:block;margin-top:8px}.lesson-card .small-note{font-size:11px}.lesson-card .read-more{margin-top:auto}.lesson-card .read-more summary{font-size:12px;padding-top:18px;gap:8px}.lesson-card .detail-content{font-size:12px}.course-pills{display:flex;gap:5px;flex-wrap:wrap;margin:2px 0 -7px}.course-pills span{border:1px solid #c9d3bd;border-radius:30px;padding:4px 8px;font-size:10px;background:#fff}.custom-lesson{display:grid;grid-template-columns:130px 1fr;gap:28px;align-items:center;margin-top:30px;padding:30px 35px;background:#fbf6e8;border:1px solid #e5dbc0;border-radius:28px 6px 6px 6px}.custom-icon{display:flex;justify-content:center;align-items:center}.custom-icon .line-icon{width:96px;height:96px}.custom-lesson h3{font-size:25px;margin:7px 0 12px}.custom-lesson p{font-size:13px}.custom-lesson .group-label{font-size:12px;margin:0;color:#7a692c}.custom-lesson .custom-price{font:600 32px/1.3 RenaMincho,serif;margin:18px 0 0}.custom-price span{font:400 12px RenaSans,sans-serif;margin-left:7px}
.included-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.included-grid>div{border-top:2px solid #809572;padding-top:17px}.included-grid>div+div{border-color:#b6b9a3}.included-grid h3{font-size:23px;margin:0 0 15px}.included-grid p{font-size:14px;line-height:2}.cancel-scale{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:20px}.cancel-scale>div{padding:18px 12px;text-align:center;background:#f5f6f0;border-radius:8px}.cancel-scale p{font-size:12px;margin-bottom:12px}.cancel-scale strong{font:600 35px RenaMincho,serif}.cancel-scale small{font-size:16px;margin-left:3px}
.home-goals,.included-items{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.home-goals article,.included-items article{padding:24px 25px;background:#f6f7f1;border-radius:4px 32px 4px 4px}.home-goals .line-icon,.included-items .line-icon{width:65px;height:65px}.home-goals h3,.included-items h3{font-size:22px;margin:18px 0 12px;line-height:1.55}.home-goals p,.included-items p{font-size:13px;line-height:1.8}.safety-note{margin-top:25px!important;font-size:12px;color:#52684f;padding-left:15px;border-left:2px solid #bbc7ab;line-height:1.8}.included-items article{background:#fff;border:1px solid #e0e6da}.fee-card.early{background:#fbf6e8;border-color:#e4d6b1}.early .fee-label{color:#806a2b}.early-rule{font-size:12px;line-height:1.8;margin:20px 0 0;padding-left:15px;border-left:2px solid #c2a860;max-width:850px}.area-summary{display:flex;align-items:center;gap:22px;margin-top:30px;padding-top:25px;border-top:1px solid #dce3d6}.area-summary .line-icon{width:64px;height:64px}.area-summary h3{font-size:21px;margin:0 0 10px}.area-summary p{font-size:13px}.after-summary{font-size:17px;line-height:1.9}.faq-list .read-more:first-child{margin-top:0}
.page-footer{align-items:center;font-size:11px}.page-footer nav{display:flex;gap:25px;flex-wrap:wrap}.page-footer a{border-bottom:0}.page-footer small{color:#65785c;font-size:10px}
/* Portfolio: work and context belong together; background opens on demand. */
.work-card .read-more{margin-top:17px}.work-card h3{font-size:24px}.work-card .credit{margin-top:10px!important}.work-0 figure{grid-row:1/7}.work-0 .read-more{max-width:100%}.work-card .detail-content{font-size:12px}.role-teaser{font-size:12px!important;color:#375940;margin:12px 0 0!important}.work-card dl{margin-top:15px}.work-card .detail-content dl{display:block}.work-card .detail-content dt{margin-bottom:5px}.work-card figure{height:280px}.work-0 figure{height:340px}.activity-entry h3{font-size:22px}.activity-entry .read-more{margin-top:12px}.activity-feature>div>p{font-size:14px}.experience-grid h3{font-size:25px}.experience-grid .read-more{max-width:100%}.experience-grid p{font-size:14px}
@media(max-width:760px){
 .shell{width:calc(100% - 56px)}.page-header{width:calc(100% - 48px)}
 .service-hero{padding-block:31px 34px;min-height:0;gap:20px}.hero-description p{font-size:14px;line-height:1.8}
 .chapter{padding:39px 0}.chapter-head{margin-bottom:25px}.chapter-head h2{font-size:27px;line-height:1.55}.chapter-head .kicker{font-size:10px}
 .read-more summary{font-size:12px;line-height:1.65;padding-block:15px;min-height:54px}.detail-content{font-size:13px;line-height:1.85;padding-top:18px}.detail-content table{font-size:12px}
 .need-strip{display:block}.need-strip p{font-size:20px;padding:9px 16px;margin:10px 0}
 .price-pair,.home-fees{grid-template-columns:1fr;gap:16px}.fee-card{padding:24px 25px}.fee-label{font-size:15px}.fee-amount{font-size:43px;margin:12px 0 10px;white-space:nowrap}.fee-amount span{font-size:12px;margin-left:6px}.fee-copy{font-size:12px}.under-fee{font-size:12px;line-height:1.85}.small-note{font-size:11px;line-height:1.85}
 .service-price-split{grid-template-columns:1fr;gap:30px;margin-top:30px;padding-top:27px}.service-price-split h3{font-size:24px;margin-top:12px}.service-price-split>div>.line-icon{width:50px;height:50px}.service-price-split p{font-size:13px}.service-price-split strong{font-size:18px}
 .selected-work{display:block}.selected-work figure{padding:20px;margin-bottom:23px}.selected-work img{max-height:200px}.selected-work h3{font-size:24px;margin:12px 0}.selected-work .text-link{font-size:12px;gap:12px}
 .visual-steps,.three-stages{display:block}.visual-steps>li{display:grid;grid-template-columns:70px minmax(0,1fr);gap:20px;padding-bottom:28px;position:relative;min-height:100px}.visual-steps>li:last-child{padding-bottom:0}.step-drawing,.three-stages .step-drawing{width:67px;height:67px;margin:0;z-index:1}.step-drawing .line-icon,.three-stages .step-drawing .line-icon{width:45px;height:45px}.step-number{width:24px;height:24px;font-size:11px;left:-4px;top:-4px}.step-copy,.three-stages .step-copy{text-align:left;padding-top:4px}.step-copy h3,.three-stages .step-copy h3{font-size:21px;margin:0 0 8px}.step-copy p,.three-stages .step-copy p{max-width:100%;font-size:12px;line-height:1.85;margin:0}.visual-steps>li:not(:last-child):after,.three-stages>li:not(:last-child):after{content:'';left:32px;top:63px;width:1px;height:calc(100% - 61px);background:#b8c6a8;z-index:0}.three-stages>li{padding-bottom:34px}.flow-duration{font-size:12px;margin-bottom:28px}.flow-duration strong{font-size:27px}
 .lesson-grid{grid-template-columns:1fr;gap:20px}.group-label{font-size:13px}.lesson-card{padding:23px 25px;border-radius:5px 35px 5px 5px}.lesson-illustration{height:105px;margin-top:8px}.lesson-illustration .line-icon{width:86px;height:86px}.lesson-card h3{font-size:25px;min-height:0;margin-top:17px}.lesson-card>p:not(.lesson-price):not(.small-note):not(.kicker){font-size:13px;min-height:0}.lesson-price{font-size:36px;margin-top:20px}.lesson-price span{display:inline;font-size:11px;margin-left:8px}.lesson-card .read-more{margin-top:19px}.lesson-card .small-note{font-size:11px}.course-pills span{font-size:10px}
 .custom-lesson{display:block;padding:26px 25px;margin-top:25px}.custom-icon{justify-content:flex-start;margin-bottom:13px}.custom-icon .line-icon{width:64px;height:64px}.custom-lesson h3{font-size:24px;line-height:1.6}.custom-lesson .group-label{font-size:11px;line-height:1.7}.custom-lesson .custom-price{font-size:31px}.custom-price span{font-size:11px}
 .included-grid{grid-template-columns:1fr;gap:25px}.included-grid h3{font-size:23px}.included-grid p{font-size:13px;line-height:1.95}.cancel-scale{grid-template-columns:1fr 1fr;gap:12px}.cancel-scale>div{padding:16px 9px}.cancel-scale strong{font-size:34px}.cancel-scale p{font-size:12px}
 .home-goals,.included-items{grid-template-columns:1fr;gap:16px}.home-goals article,.included-items article{display:grid;grid-template-columns:49px minmax(0,1fr);gap:5px 17px;padding:23px 22px}.home-goals .line-icon,.included-items .line-icon{grid-row:1/3;width:49px;height:55px}.home-goals h3,.included-items h3{font-size:20px;margin:0;line-height:1.55}.home-goals p,.included-items p{font-size:12px;line-height:1.8;grid-column:2}.safety-note{font-size:11px;margin-top:20px!important}.early-rule{font-size:11px}.area-summary{gap:16px;align-items:start}.area-summary .line-icon{width:47px;height:47px}.area-summary h3{font-size:20px;line-height:1.6}.area-summary p{font-size:12px}.after-summary{font-size:15px;line-height:1.9}
 .page-footer{padding-block:30px}.page-footer nav{margin-top:24px;gap:18px}.page-footer small{display:block;margin-top:20px}
 .work-card figure,.work-0 figure{height:235px;padding:20px}.work-card img,.work-0 img{max-height:195px}.work-card h3{font-size:23px}.work-0 .read-more{margin-top:17px}.work-card .role-teaser{font-size:12px!important}.activity-entry h3{font-size:21px}.activity-feature>div>p,.experience-grid p{font-size:13px}.experience-grid h3{font-size:24px}.portfolio-section{padding-block:40px}.work-grid{gap:35px}
}

.course-pills{height:31px;min-height:31px}.lesson-card:first-child .lesson-illustration .line-icon{width:78px;height:78px}
.three-stages .step-copy p span{display:inline-block;white-space:nowrap}@media(max-width:760px){.included-items h3{font-size:19px}.page-footer{width:calc(100% - 56px)}}
@media(max-width:760px){.page-header nav{font-size:11px;gap:12px}}
