/* DESIGN SETTINGS — 添付ブランドボードに合わせた色 */
:root{--ivory:#faf7f2;--white:#fffcf8;--gold:#c8a46f;--gold-dark:#806637;--ocean:#83a1af;--sky:#dae3e8;--navy:#1a2f3f;--ink:#304752;--muted:#5e6c70;--line:#d9d8cf;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:105px}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.95}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500}h2{font-size:clamp(27px,3vw,40px);line-height:1.8;letter-spacing:.08em}h3{font-size:23px;line-height:1.7}p+p{margin-top:1.5em}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--gold-dark);outline-offset:6px}.skip{position:absolute;left:20px;top:-100px;background:var(--white);padding:12px;z-index:100}.skip:focus{top:0}.wrap{width:min(1120px,calc(100% - 64px));margin:auto}.narrow{max-width:680px;margin:auto}.eyebrow{font-family:Georgia,serif;font-size:13px;letter-spacing:.22em;color:var(--gold-dark);margin-bottom:18px}.section{padding:100px 0}.center{text-align:center}.draft-banner{padding:6px 20px;text-align:center;font-size:12px;background:#e9e5db;color:#526069;letter-spacing:.06em}.header{height:92px;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid #c5c5b955;position:relative;z-index:5}.brand{width:122px;display:block}.logo-crop{position:relative;overflow:hidden;display:block;aspect-ratio:186/103;width:100%}.logo-crop img{position:absolute;max-width:none}.header nav{display:flex;align-items:center;gap:32px;font-size:13px;letter-spacing:.07em}.nav-cta{border:1px solid var(--gold);padding:9px 22px;border-radius:2px}.hero{position:relative;overflow:hidden;padding:28px 0 68px;text-align:center;background:radial-gradient(ellipse at 50% 20%,#fffdf9 5%,#faf7f2a0 46%,transparent 70%),linear-gradient(180deg,var(--ivory) 48%,#e2eced 84%,#c9dce1 100%)}.hero:after{content:"";position:absolute;bottom:52px;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,#a4bdc566,transparent);pointer-events:none}.hero .wrap{position:relative;z-index:1}.hero-logo{width:268px;margin:0 auto -12px}.hero h1{font-size:clamp(28px,3.45vw,45px);line-height:1.7;letter-spacing:.11em;color:var(--navy)}.hero-lead{font-size:16px;line-height:2;margin:23px auto 30px;letter-spacing:.06em}.hero-lead .sub{display:block;font-size:14px;margin-top:12px}.button{display:inline-flex;min-height:55px;align-items:center;justify-content:center;gap:28px;padding:14px 32px;background:var(--navy);color:#fffdf7;border:1px solid var(--navy);border-radius:2px;font-size:14px;letter-spacing:.07em;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#345767}.button .arrow{font-family:Arial,sans-serif;font-size:19px}.scroll-note{font-family:Georgia,serif;font-size:11px;letter-spacing:.24em;margin-top:33px;color:#496675}.intro{padding:100px 0 110px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:start}.intro h2{position:relative}.intro p{font-size:16px}.intro .closing{font-family:var(--serif);font-size:23px;color:var(--navy);line-height:1.9;margin-top:32px}.fine-line{width:42px;height:1px;background:var(--gold);margin:28px 0}.draft-note{font-size:13px;color:var(--muted);padding:12px 16px;border-left:2px solid var(--gold);background:#eee9df;margin-top:24px}.small{font-size:14px;color:var(--muted)}
@media(max-width:767px){html{scroll-padding-top:24px}.wrap{width:calc(100% - 40px)}.header{height:76px;gap:16px}.brand{width:103px}.header nav{gap:12px}.header nav .desktop{display:none}.nav-cta{font-size:12px;padding:7px 12px}.draft-banner{font-size:11px;padding:5px 12px}.hero{padding:16px 0 44px}.hero-logo{width:222px;margin-bottom:-5px}.hero h1{font-size:27px;letter-spacing:.035em;line-height:1.8}.hero-lead{font-size:15px;letter-spacing:.015em;margin:20px 0 26px}.hero-lead .sub{font-size:13px;line-height:2}.button{font-size:14px;max-width:100%;padding:14px 24px;gap:20px}.scroll-note{margin-top:25px}.intro,.section{padding:66px 0}.intro-grid{grid-template-columns:1fr;gap:30px}.intro h2{font-size:28px}.intro .closing{font-size:22px}.eyebrow{font-size:12px;margin-bottom:14px}}
.foundation{background:#eef1ec}.foundation .narrow{margin-top:32px}.journey{padding-bottom:76px}.journey-map{list-style:none;padding:0;margin:52px 0 30px;display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.journey-map li{position:relative}.journey-map li:not(:last-child):after{content:"→";position:absolute;top:76px;right:-24px;color:var(--gold-dark)}.journey-map a{display:flex;align-items:center;flex-direction:column;text-align:center;padding:25px 8px 27px;border-top:1px solid var(--gold);border-bottom:1px solid var(--line);min-height:220px;background:#fffaf54d}.journey-map a:hover{background:#e8eef0}.map-number{font-family:Georgia,serif;font-size:18px;color:var(--gold-dark)}.map-name{font-family:Georgia,serif;letter-spacing:.13em;font-size:20px;color:var(--navy);margin:12px 0}.journey-map li:last-child a{background:#e0eaed}.step-section{padding:88px 0;border-top:1px solid var(--line)}.step-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.step-word{font-family:Georgia,serif;font-size:76px;line-height:1.2;font-style:italic;letter-spacing:-.04em;color:#718e9a;position:relative;padding-bottom:28px;margin-bottom:27px;border-bottom:1px solid #b7bdbb}.step-index{font-size:16px;letter-spacing:.06em;position:absolute;right:0;bottom:39px;color:var(--gold-dark);font-style:normal}.step-heading h2{font-size:34px}.step-caption{font-family:var(--serif);margin-top:24px;color:var(--muted)}.step-copy{padding-top:28px}.step-example{margin-top:30px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.step-example>span{font-size:12px;letter-spacing:.08em;color:var(--gold-dark)}.step-example p{font-size:14px;margin-top:8px}.key-line{font-family:var(--serif);font-size:23px;line-height:1.8;margin-top:28px;color:var(--navy)}.blue{background:#eaf0f1}.life-section{background:var(--navy);color:#faf7f2;padding:94px 0}.life-section .eyebrow{color:#dcc398}.life-section h2{font-size:34px}.life-question{font-family:var(--serif);font-size:clamp(28px,4vw,45px);letter-spacing:.1em;margin:25px 0 35px;color:#eee0c2}.life-choices{list-style:none;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:38px auto;max-width:740px}.life-choices li{border:1px solid #74909d;padding:9px 20px;font-size:14px}.life-ending{font-family:var(--serif);font-size:23px}.toolbox{background:#f0ede5}.section-title{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:38px}.section-title>p{font-size:14px;color:var(--muted)}.toolbox-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.tool-card{padding:28px 26px;background:var(--ivory);border-top:2px solid var(--gold)}.tool-card:nth-child(2){border-top-color:var(--ocean)}.tool-card:nth-child(3){border-top-color:var(--navy)}.tool-label{font:13px Georgia,serif;letter-spacing:.16em;color:var(--gold-dark);margin-bottom:20px}.tool-card h3{font-size:21px}.tool-card ul{list-style:none;padding:20px 0 0;margin:0}.tool-card li{padding:8px 0;border-top:1px solid #e3dfd6;font-size:14px;line-height:1.8}.community .intro-grid{gap:70px}.member-count{margin-top:36px!important}.member-count>span{font-family:var(--serif);font-size:34px;color:var(--gold-dark)}.member-count small{display:block;font-size:13px}.community-support{margin-top:55px;padding:38px;border-top:1px solid var(--gold);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}.support-message{font-family:var(--serif);font-size:23px;line-height:2}.support-list{display:flex;flex-wrap:wrap;gap:10px 20px;list-style:none;padding:0;margin:0;font-size:13px}.support-list li{border-bottom:1px solid #c8d6dc;padding:3px 0}.cta-space{margin-top:42px}.cta-note{font-size:12px;line-height:1.9;color:var(--muted);margin-top:14px!important}.founder{background:#f3f0e9}.founder-key{font-family:var(--serif);font-size:23px;color:var(--navy)}.founder-more{margin-top:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.founder-more summary{padding:18px 0;font-size:14px;display:flex;justify-content:space-between;gap:16px}.founder-more>div{padding:4px 0 24px}.founder-more[open] summary span{transform:rotate(45deg)}.brand-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:80px;align-items:center}.brand-grid p:not(.eyebrow){margin-top:24px}.round-logo{max-width:440px}.stories{background:#eaf0f2;overflow:hidden}.stories .section-title{margin-bottom:24px}.story-controls{display:flex;gap:12px}.story-controls button{width:46px;height:46px;background:transparent;border:1px solid #8097a2;color:var(--navy);cursor:pointer;border-radius:50%;font-size:20px}.story-controls button:hover{background:#d6e2e7}.story-controls button:disabled{opacity:.3;cursor:default}.story-disclaimer{max-width:710px;margin-bottom:28px}.story-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/3);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:24px;scrollbar-width:thin;scrollbar-color:#849ba4 #d9e3e8}.story-card{background:var(--ivory);scroll-snap-align:start;min-width:0}.story-art{height:245px;position:relative;overflow:hidden;background:#fcf9f4}.story-art img{position:absolute;height:100%;width:500%;max-width:none;object-fit:fill;top:0}.story-content{padding:23px 26px 30px}.story-meta{font-size:11px;letter-spacing:.1em;color:var(--gold-dark);display:flex;justify-content:space-between;margin-bottom:15px}.story-meta strong{font-weight:400;border:1px solid #b9ae98;padding:1px 7px}.story-content h3{font-size:20px;white-space:pre-line;line-height:1.8;margin-bottom:20px}.story-content blockquote{margin:0;font-size:14px;line-height:2}.story-position{text-align:right;margin-top:13px}.join{background:var(--ivory)}.join-panel{max-width:810px;margin:auto;padding:55px 65px;border:1px solid var(--gold);position:relative;background:#fffcf8}.join-panel h2{margin-bottom:25px}.fee-block{margin:30px 0;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.fee-block h3{font-size:21px}.fee-block p{margin-top:14px}.join-panel .button{margin-top:28px}.faq{padding-top:10px}.faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:60px}.faq-item{border-top:1px solid #c7cfce}.faq-item:last-child{border-bottom:1px solid #c7cfce}.faq-item summary{padding:23px 0;display:flex;align-items:baseline;gap:15px;font-size:15px}.faq-item summary:before{content:"Q";color:var(--gold-dark);font:20px Georgia,serif}.faq-item summary:after{content:"＋";margin-left:auto;font-size:20px;line-height:1}.faq-item[open] summary:after{content:"−"}.faq-item>p{font-size:14px;line-height:2;padding:0 22px 25px 30px}.final-section{background:linear-gradient(180deg,#edf0eb,#d8e6e9);padding:92px 0 88px}.final-section h2{font-size:clamp(26px,3.2vw,40px);margin-bottom:32px}.final-message{font:28px/1.9 var(--serif);margin:32px 0!important;letter-spacing:.1em}.footer{min-height:150px;display:flex;align-items:center;justify-content:space-between;gap:28px}.footer p{font:13px var(--serif)}.footer small{font:12px Georgia,serif;color:var(--muted)}.mobile-sticky{display:none}strong{font-weight:600}
@media(max-width:1000px) and (min-width:768px){.step-grid,.intro-grid,.brand-grid{gap:40px}.header nav{gap:20px}.toolbox-grid{gap:15px}.tool-card{padding:24px 18px}.tool-card h3{font-size:18px}.story-track{grid-auto-columns:calc((100% - 24px)/2)}.step-word{font-size:64px}.support-message{font-size:20px}}
@media(max-width:767px){.foundation br{display:none}.foundation p{max-width:320px;margin-left:auto;margin-right:auto}.foundation p+p{margin-top:24px}.journey{padding-bottom:55px}.journey h2{font-size:25px;letter-spacing:.035em}.journey-map{grid-template-columns:1fr;gap:22px;margin:35px auto 27px;max-width:360px}.journey-map a{display:grid;grid-template-columns:35px 1fr 1.3fr;gap:10px;min-height:100px;text-align:left;padding:17px 15px;border-top:0;border-left:2px solid var(--gold);border-bottom:1px solid var(--line);align-items:center}.journey-map li:not(:last-child):after{content:"↓";top:auto;right:50%;bottom:-25px;line-height:22px}.map-name{font-size:15px;letter-spacing:.08em;margin:0}.map-number{font-size:17px}.journey-map a>span:last-child{font-size:14px}.step-section{padding:55px 0}.step-grid{grid-template-columns:1fr;gap:25px}.step-word{font-size:60px;padding-bottom:18px;margin-bottom:23px}.step-index{bottom:27px}.step-heading h2{font-size:29px}.step-caption{margin-top:14px;font-size:16px}.step-copy{padding-top:0}.step-copy>p{font-size:15px}.step-copy .key-line{font-size:23px}.step-copy .small{font-size:12px}.step-example{margin-top:24px;padding:15px 0}.life-section{padding:65px 0}.life-section h2{font-size:29px}.life-question{font-size:29px;letter-spacing:.04em}.life-section .narrow p{font-size:14px}.life-choices{gap:9px;margin:30px 0}.life-choices li{font-size:12px;padding:8px 13px}.life-ending{font-size:19px}.section-title{align-items:start;flex-direction:column;gap:20px;margin-bottom:28px}.toolbox-grid{grid-template-columns:1fr;gap:20px}.tool-card{padding:26px}.tool-card h3{font-size:23px}.tool-card li{font-size:14px}.tool-label{margin-bottom:14px}.community .intro-grid{gap:28px}.member-count{margin-top:22px!important}.community-support{grid-template-columns:1fr;margin-top:32px;padding:26px 0;gap:22px}.support-message{font-size:20px}.support-list{font-size:12px;gap:8px 16px}.founder-key{font-size:21px}.brand-grid{grid-template-columns:1fr;gap:35px}.round-logo{width:260px;margin:auto}.brand-grid h2{font-size:29px}.brand-grid .eyebrow{text-align:center}.brand-grid h2{text-align:center}.brand-grid .key-line{font-size:23px}.stories .section-title{flex-direction:row;align-items:center;gap:16px}.stories h2{font-size:25px;letter-spacing:.025em}.story-controls{gap:6px}.story-controls button{width:34px;height:34px;font-size:16px}.story-controls button:focus-visible{outline-offset:2px}.story-disclaimer{font-size:12px}.story-track{grid-auto-columns:86%;gap:17px;margin-right:-20px;padding-right:20px}.story-content{padding:21px 23px 27px}.story-content h3{font-size:20px}.story-art{height:248px}.story-position{font-size:12px;text-align:left}.join-panel{padding:32px 24px}.join-panel h2{font-size:25px;letter-spacing:.035em}.join-panel p{font-size:14px}.fee-block h3{font-size:20px}.join-panel .draft-note{font-size:12px;padding:10px}.join-panel .button{padding:14px 13px;font-size:13px;gap:15px;display:flex}.join-panel .cta-note{font-size:12px}.faq{padding-top:0}.faq-grid{grid-template-columns:1fr;gap:30px}.faq-item summary{font-size:14px;gap:12px}.faq-item>p{font-size:14px;padding-left:28px;padding-right:5px}.final-section{padding:65px 0}.final-section h2{font-size:24px;letter-spacing:.02em}.final-section .narrow>p{font-size:14px}.final-section .narrow .final-message{font-size:26px}.footer{padding:35px 0 104px;flex-wrap:wrap;gap:18px}.footer p{font-size:11px;flex-basis:100%;order:3}.footer small{margin-left:auto}.mobile-sticky{display:block;position:fixed;bottom:0;left:0;right:0;padding:10px 20px max(10px,env(safe-area-inset-bottom));background:#faf7f2f5;border-top:1px solid #cecdbf;z-index:20;transform:translateY(110%);transition:transform .25s}.mobile-sticky.visible{transform:translateY(0)}.mobile-sticky .button{display:flex;width:100%;min-height:48px;padding:10px 16px;font-size:13px}.desktop-break{display:none}}
@media(max-width:359px){.hero h1{font-size:24px}.wrap{width:calc(100% - 32px)}.journey h2{font-size:23px}.map-name{font-size:13px}.journey-map a{padding-left:10px;padding-right:10px;gap:7px}.stories .section-title{flex-direction:column;align-items:start}.final-section h2{font-size:21px}.join-panel{padding:27px 20px}}
.story-art img{height:auto;top:0;transform:translateY(-14%)}
.step-copy>p,.story-content blockquote,.faq-item>p,.join-panel>p,.fee-block p{font-size:16px}
.step-copy>.key-line{font-size:23px}.step-copy>.small,.join-panel>.draft-note{font-size:13px}.join-panel>.cta-note{font-size:12px}
@media(max-width:767px){.life-section .narrow p,.final-section .narrow>p{font-size:16px}.final-section .narrow .final-message{font-size:26px}.stories .section-title{flex-direction:column;align-items:start;gap:15px}.story-controls{align-self:flex-end}.story-controls button{width:44px;height:44px}.stories h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* MY LIFE COMPASS — 既存の紙面を重ねるプレビュー。画像原本は変更しない。 */
.compass{background:#f0eee6;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.compass-intro{text-align:center;margin-bottom:48px}.compass-bridge{font-family:var(--serif);font-size:23px;line-height:1.9}
.compass-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.compass-name{font-family:var(--serif);color:var(--gold-dark);font-size:30px;letter-spacing:.1em;text-align:center}.compass-subtitle{font-family:var(--serif);font-size:17px;text-align:center;margin-top:10px}
.worksheet-stack{position:relative;aspect-ratio:1.15;margin:40px 15px 20px}.worksheet-stack img{position:absolute;width:87%;height:auto;box-shadow:0 15px 30px #203a4a22;border:1px solid #d6d2c6}.worksheet-back{right:0;top:0;transform:rotate(6deg)}.worksheet-front{left:0;top:25%;transform:rotate(-5deg)}
.compass-copy h2{font-size:27px;letter-spacing:.035em;margin-bottom:25px}.compass-copy p{font-size:16px}.compass-steps{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:56px}.compass-steps article{border-top:1px solid var(--gold);padding-top:26px}.compass-steps h3{margin-bottom:16px}.compass-steps ul{padding-left:1.3em;line-height:2.1;font-size:16px}.compass-close{margin-top:45px}.compass-question{font-family:var(--serif);font-size:28px;color:var(--navy)}.compass-close .button{margin-top:28px}
@media(max-width:767px){.compass-intro{margin-bottom:32px}.compass-intro .eyebrow{font-size:11px;letter-spacing:.12em}.compass-bridge{font-size:20px}.compass-grid{grid-template-columns:1fr;gap:36px}.compass-name{font-size:26px}.compass-subtitle{font-size:15px}.worksheet-stack{margin:32px 16px 12px}.compass-copy h2{font-size:23px;letter-spacing:0;line-height:1.9}.compass-copy h2 br{display:none}.compass-steps{grid-template-columns:1fr;gap:24px;margin-top:34px}.compass-question{font-size:24px}.compass-close .button{font-size:13px;padding:15px 12px;gap:10px}.compass-close>p:not(.compass-question):not(.cta-note){font-size:16px}}


.support-details{margin-top:28px}.support-details p{font-size:16px}

/* スマートフォンで見出し・CTAの短い行が孤立しないよう調整 */
@media(max-width:767px){
  h1,h2,h3,.button>span:first-child,.support-message,.compass-bridge,.compass-question{text-wrap:balance;line-break:strict}
  .hero h1{font-size:clamp(20px,6vw,27px)}
  .join-panel h2{font-size:clamp(19px,5.8vw,25px)}
  .final-section h2{font-size:clamp(18px,5.5vw,24px)}
  .button .arrow{flex-shrink:0}
}

@media(max-width:767px){
  .phrase{display:inline-block}
  .journey h2{font-size:clamp(18px,5.6vw,25px)}
  .compass-copy h2{font-size:clamp(17px,5.2vw,23px)}
  .compass-copy h2 br{display:initial}
  .compass-question{font-size:clamp(18px,5.5vw,24px)}
}
