.roastery-page{--forest:#264936;--forest-deep:#1d382b;--ink:#252823;--muted:#666861;--cream:#f7f4eb;--paper:#fffcf7;--sand:#ece8dc;--line:#dddcd0;--copper:#b18f59;--heading:"Noto Serif CJK JP", "Yu Mincho", "Hiragino Mincho ProN", Georgia, serif;--body:"Noto Sans CJK JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", system-ui, sans-serif}.roastery-page *,.roastery-page :before,.roastery-page :after{box-sizing:border-box}.roastery-page{scroll-behavior:smooth;background:var(--cream);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.85}.roastery-page img{max-width:100%;display:block}.roastery-page a{color:inherit}.roastery-page button,.roastery-page a,.roastery-page summary{touch-action:manipulation}.roastery-page a:focus-visible,.roastery-page summary:focus-visible{outline-offset:4px;outline:3px solid #b9a067}.roastery-page .wrap{width:min(100% - 48px,1120px);margin-inline:auto}.roastery-page .site-header{background:var(--cream);border-bottom:1px solid #26493621}.roastery-page .header-inner{justify-content:space-between;align-items:center;gap:24px;min-height:78px;display:flex}.roastery-page .brand{font-family:var(--heading);letter-spacing:.005em;color:var(--forest);font-size:19px;font-weight:700;line-height:1.3;text-decoration:none}.roastery-page .brand small{font-family:var(--body);letter-spacing:.16em;margin-top:4px;font-size:9px;font-weight:500;display:block}.roastery-page nav{color:#4f5c52;letter-spacing:.02em;align-items:center;gap:28px;font-size:12px;display:flex}.roastery-page nav a{text-decoration:none}.roastery-page nav a:hover{color:var(--forest)}.roastery-page .nav-cta{border:1px solid var(--forest);color:var(--forest);border-radius:999px;padding:11px 18px;font-weight:700}.roastery-page .eyebrow{font-family:var(--body);text-transform:uppercase;letter-spacing:.19em;color:var(--forest);font-size:11px;font-weight:700}.roastery-page .section-title{font-family:var(--heading);letter-spacing:-.045em;margin:15px 0 0;font-size:clamp(28px,3vw,39px);font-weight:600;line-height:1.5}.roastery-page .section-intro{color:var(--muted);max-width:720px;margin:20px 0 0;font-size:15px}.roastery-page .button{background:var(--forest);color:#fff;letter-spacing:.015em;border-radius:4px;justify-content:center;align-items:center;gap:18px;min-height:56px;padding:15px 26px;font-size:14px;font-weight:700;text-decoration:none;transition:background .15s,transform .15s;display:inline-flex}.roastery-page .button:hover{background:var(--forest-deep);transform:translateY(-1px)}.roastery-page .button svg{flex:none;width:17px;height:17px}.roastery-page .button.light{background:var(--cream);color:var(--forest)}.roastery-page .button.light:hover{background:#fff}.roastery-page .hero{padding:74px 0 92px;overflow:hidden}.roastery-page .hero-grid{grid-template-columns:minmax(0,1.01fr) minmax(0,.99fr);align-items:center;gap:clamp(35px,5vw,80px);display:grid}.roastery-page .hero-kicker{letter-spacing:.1em;color:var(--forest);margin:0 0 25px;font-size:12px;font-weight:700}.roastery-page .hero h1{font-family:var(--heading);letter-spacing:-.065em;margin:0;font-size:clamp(38px,4.3vw,65px);font-weight:600;line-height:1.53}.roastery-page .hero h1 span{color:var(--forest);display:block}.roastery-page .hero-sub{color:var(--forest);margin:22px 0 0;font-size:18px;font-weight:600;line-height:2}.roastery-page .hero-description{color:#60645c;max-width:520px;margin:24px 0 0;font-size:14px;line-height:2}.roastery-page .hero-cta{margin-top:31px}.roastery-page .hero-photo{margin:0;position:relative}.roastery-page .hero-photo:before{content:"";z-index:0;border:1px solid #c4bba8;border-radius:2px;position:absolute;inset:20px -20px -20px 20px}.roastery-page .hero-photo img{aspect-ratio:4/5;object-fit:cover;object-position:51% center;filter:saturate(.9);border-radius:2px;width:100%;position:relative}.roastery-page .hero-photo figcaption{z-index:1;color:#fff;letter-spacing:.16em;text-shadow:0 1px 8px #000;opacity:.75;font-size:10px;position:absolute;bottom:13px;left:17px}.roastery-page .value-strip{background:var(--forest);color:#f8f7ed;padding:44px 0}.roastery-page .value-flex{justify-content:space-between;align-items:center;gap:40px;display:flex}.roastery-page .value-line{font-family:var(--heading);letter-spacing:.045em;margin:0;font-size:clamp(22px,2.7vw,34px);line-height:1.8}.roastery-page .value-side{color:#d5d8cf;max-width:365px;margin:0;font-size:13px;line-height:2}.roastery-page .section{padding:103px 0}.roastery-page .pillars{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:47px;display:grid}.roastery-page .pillar{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--forest);padding:35px 30px 34px}.roastery-page .pillar .no{color:var(--copper);font-family:Georgia,serif;font-size:24px;line-height:1}.roastery-page .pillar h3{font-family:var(--heading);letter-spacing:-.03em;min-height:103px;margin:19px 0 15px;font-size:20px;font-weight:600;line-height:1.7}.roastery-page .pillar p{color:var(--muted);margin:0;font-size:13px;line-height:2.1}.roastery-page .pillar p+p{margin-top:14px}.roastery-page .profile-section{background:var(--sand);padding:0}.roastery-page .profile-grid{grid-template-columns:1fr 1fr;min-height:610px;display:grid}.roastery-page .profile-visual{background:#aeb0a4;min-height:610px;position:relative;overflow:hidden}.roastery-page .profile-visual img{object-fit:cover;object-position:57% center;width:100%;height:100%;position:absolute;inset:0}.roastery-page .profile-text{align-self:center;max-width:670px;padding:80px clamp(32px,6vw,90px)}.roastery-page .profile-text h2{font-family:var(--heading);margin:17px 0 24px;font-size:clamp(27px,3vw,39px);font-weight:600;line-height:1.5}.roastery-page .profile-text .name{font-family:var(--heading);color:var(--forest);margin:0 0 22px;font-size:24px}.roastery-page .profile-text p{color:#50584f;margin:0 0 13px;font-size:14px;line-height:2.1}.roastery-page .profile-text .strong{color:var(--forest);margin-top:17px;font-weight:700}.roastery-page .history-list{flex-wrap:wrap;gap:8px;margin:25px 0 0;padding:0;list-style:none;display:flex}.roastery-page .history-list li{color:#405344;border:1px solid #c5cbbf;border-radius:999px;padding:5px 12px;font-size:11px;line-height:1.6}.roastery-page .smallnote{color:#78796f!important;margin-top:18px!important;font-size:11px!important;line-height:1.9!important}.roastery-page .goal-section{background:#f4f0e7;padding:80px 0}.roastery-page .goal-grid{grid-template-columns:.75fr 1fr;align-items:start;gap:90px;display:grid}.roastery-page .goal-grid p{color:var(--muted);margin:0 0 17px;font-size:15px;line-height:2.1}.roastery-page .goal-grid p strong{color:var(--forest)}.roastery-page .rhythm{background:#fffdf7}.roastery-page .rhythm-grid{grid-template-columns:1.08fr .92fr;align-items:center;gap:55px;display:grid}.roastery-page .rhythm-image{align-self:stretch;margin:0}.roastery-page .rhythm-image img{object-fit:cover;object-position:center;width:100%;height:100%;min-height:570px}.roastery-page .rhythm-copy{padding:24px 0}.roastery-page .rhythm-copy h2{font-family:var(--heading);letter-spacing:-.03em;margin:14px 0 33px;font-size:clamp(27px,3vw,39px);line-height:1.6}.roastery-page .rhythm-item{border-top:1px solid #dedfd2;margin-top:26px;padding-top:23px}.roastery-page .rhythm-item .small{letter-spacing:.13em;color:var(--forest);font-size:11px;font-weight:700}.roastery-page .rhythm-item h3{font-family:var(--heading);margin:8px 0 10px;font-size:21px;font-weight:600}.roastery-page .rhythm-item p{color:var(--muted);margin:0;font-size:13px;line-height:2.15}.roastery-page .rhythm-emphasis{font-family:var(--heading);color:var(--forest);font-weight:700;margin-top:12px!important;font-size:18px!important}.roastery-page .price-section{background:#f0eddf}.roastery-page .price-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:39px;display:grid}.roastery-page .price-card{background:var(--paper);border:1px solid #e4dfd4;padding:28px 29px 30px}.roastery-page .tier-label{color:#6d7268;letter-spacing:.02em;font-size:13px}.roastery-page .tier-name{font-family:var(--heading);color:var(--forest);margin:6px 0 25px;font-size:28px;font-weight:600}.roastery-page .price-number{letter-spacing:-.025em;font-family:Georgia,serif;font-size:33px;font-weight:600;line-height:1.2}.roastery-page .price-number span{font-family:var(--body);color:#636b61;margin-left:4px;font-size:12px;font-weight:400}.roastery-page .tier-detail{color:#53594f;border-top:1px solid #e4e2d6;margin-top:25px;padding-top:20px;padding-left:0;font-size:12px;line-height:2.15;list-style:none}.roastery-page .conditions{border-left:3px solid var(--forest);color:#52584e;background:#e6e4d7;margin-top:28px;padding:14px 19px;font-size:12px;line-height:2.1}.roastery-page .conditions p{margin:0}.roastery-page .conditions p+p{margin-top:8px}.roastery-page .policy{background:var(--forest-deep);color:#f7f3e8;padding:90px 0}.roastery-page .policy-grid{grid-template-columns:.92fr 1.08fr;gap:75px;display:grid}.roastery-page .policy h2{font-family:var(--heading);margin:14px 0;font-size:clamp(27px,3vw,40px);font-weight:500;line-height:1.7}.roastery-page .policy p{color:#d7e0d6;margin:0 0 17px;font-size:14px;line-height:2.15}.roastery-page .policy .eyebrow{color:#c7b78c}.roastery-page .policy strong{color:#fff}.roastery-page .policy .emphasis{font-family:var(--heading);color:#e4d0a4;margin-top:27px;font-size:20px}.roastery-page .steps{counter-reset:step;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin-top:38px;padding:0;list-style:none;display:grid}.roastery-page .steps li{background:var(--paper);border:1px solid var(--line);min-height:155px;padding:24px 17px}.roastery-page .steps .step-no{color:var(--copper);font-family:Georgia,serif;font-size:23px;line-height:1;display:block}.roastery-page .steps p{color:#4d554d;margin:18px 0 0;font-size:13px;font-weight:600;line-height:1.9}.roastery-page .faq{background:#fffdf7}.roastery-page .faq-list{max-width:900px;margin-top:35px}.roastery-page .faq details{border-bottom:1px solid #dfded4;padding:18px 0}.roastery-page .faq summary{cursor:pointer;justify-content:space-between;align-items:flex-start;gap:18px;font-size:14px;font-weight:600;line-height:1.9;list-style:none;display:flex}.roastery-page .faq summary::-webkit-details-marker{display:none}.roastery-page .faq summary:after{content:"+";color:var(--forest);font-family:Georgia,serif;font-size:23px;font-weight:400;line-height:1.15}.roastery-page .faq details[open] summary:after{content:"−"}.roastery-page .faq details p{color:var(--muted);margin:13px 34px 0 0;font-size:13px;line-height:2}.roastery-page .cta-band{text-align:center;background:var(--forest);color:#f8f5ed;padding:100px 20px}.roastery-page .cta-band .eyebrow{color:#e3d5aa}.roastery-page .cta-band h2{font-family:var(--heading);max-width:720px;margin:15px auto 17px;font-size:clamp(28px,3.5vw,43px);font-weight:500;line-height:1.65}.roastery-page .cta-band p{color:#d5ded2;max-width:580px;margin:0 auto 26px;font-size:14px;line-height:2}.roastery-page .cta-band .note{color:#bacbbb;margin:15px auto 0;font-size:11px}.roastery-page .footer{color:#cad2c5;background:#172e23;padding:30px 0;font-size:11px}.roastery-page .footer-inner{justify-content:space-between;gap:20px;display:flex}.roastery-page .footer a{color:#cad2c5;text-decoration:none}@media (width<=950px){.roastery-page .pillars{gap:12px}.roastery-page .pillar{padding:25px 20px}.roastery-page .pillar h3{min-height:115px;font-size:17px}.roastery-page .hero-grid{gap:35px}.roastery-page .hero h1{font-size:40px}.roastery-page .profile-text{padding:48px 30px}.roastery-page .profile-visual{min-height:560px}.roastery-page .goal-grid{gap:35px}.roastery-page .rhythm-grid{gap:28px}.roastery-page .steps{grid-template-columns:repeat(3,1fr)}.roastery-page .price-card{padding:24px 17px}}@media (width<=700px){.roastery-page .wrap{width:min(100% - 36px,1120px)}.roastery-page nav .nav-hide{display:none}.roastery-page .header-inner{min-height:68px}.roastery-page .brand{font-size:17px}.roastery-page .brand small{font-size:8px}.roastery-page .nav-cta{padding:9px 13px;font-size:11px}.roastery-page .hero{padding:44px 0 64px}.roastery-page .hero-grid{grid-template-columns:1fr;gap:34px}.roastery-page .hero h1{font-size:clamp(34px,9vw,47px)}.roastery-page .hero-sub{font-size:16px}.roastery-page .hero-description{font-size:13px}.roastery-page .hero-photo{margin:0 12px 0 0}.roastery-page .hero-photo img{aspect-ratio:16/10;object-position:50% 53%}.roastery-page .hero-photo:before{inset:12px -12px -12px 12px}.roastery-page .value-strip{padding:32px 0}.roastery-page .value-flex{flex-direction:column;align-items:start;gap:13px}.roastery-page .value-side{font-size:12px}.roastery-page .section{padding:67px 0}.roastery-page .section-title{font-size:29px}.roastery-page .pillars,.roastery-page .price-grid{grid-template-columns:1fr;gap:13px;margin-top:32px}.roastery-page .pillar{padding:25px 23px}.roastery-page .pillar h3{min-height:0;margin-top:13px;font-size:19px}.roastery-page .profile-grid{grid-template-columns:1fr}.roastery-page .profile-visual{aspect-ratio:5/3;width:100%;min-width:0;height:auto;min-height:0;max-height:400px}.roastery-page .profile-text{max-width:100%;padding:52px 18px 60px}.roastery-page .goal-section{padding:61px 0}.roastery-page .goal-grid{grid-template-columns:1fr;gap:24px}.roastery-page .rhythm-grid{grid-template-columns:1fr;gap:10px}.roastery-page .rhythm-image img{aspect-ratio:16/9;min-height:0}.roastery-page .rhythm-copy{padding:22px 0 0}.roastery-page .rhythm-copy h2{margin-bottom:20px}.roastery-page .price-card{padding:24px 26px}.roastery-page .policy{padding:68px 0}.roastery-page .policy-grid{grid-template-columns:1fr;gap:22px}.roastery-page .steps{grid-template-columns:repeat(2,minmax(0,1fr))}.roastery-page .steps li{min-height:130px}.roastery-page .faq summary{font-size:13px}.roastery-page .cta-band{padding:75px 18px}.roastery-page .footer-inner{flex-direction:column;gap:9px}}@media (width<=370px){.steps{grid-template-columns:1fr}.roastery-page .steps li{min-height:0}.roastery-page .button{width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.roastery-page .button{transition:none}}@media print{.preview-flag{display:none}.roastery-page{background:#fff}.roastery-page .section{break-inside:avoid}}.roastery-page .policy-footnote{margin-top:24px;font-size:11px}.roastery-page .rhythm-item p+p{margin-top:10px}.roastery-page .rhythm-item p strong{color:var(--forest);font-weight:700}.roastery-page .rhythm-item .first-visit-note{margin-top:15px;font-size:11px;line-height:1.9}
