@charset "UTF-8";
:root{--paper:#f7f5ed;--ink:#263a32;--muted:#626b61;--green:#50644b;--orange:#b8492d;--line:#d7d9cd;--serif:"Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN","Meiryo",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:600;letter-spacing:.025em;line-height:1.5}h2{font-size:clamp(28px,3.3vw,41px)}p+p{margin-top:22px}.wrap{width:min(1160px,calc(100% - 88px));margin-inline:auto}.section{padding-block:96px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.13em;margin-bottom:23px;display:flex;align-items:center;gap:9px}.dot{height:7px;width:7px;border-radius:50%;background:var(--orange)}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;padding:12px;background:white}.skip-link:focus{top:15px}
.site-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:21px 44px;border-bottom:1px solid var(--line);max-width:1600px;margin:auto}.brand{display:flex;align-items:center;gap:12px;font-family:Georgia,serif;font-size:21px;line-height:1.35}.brand-mark{font-family:var(--serif);font-size:23px;width:38px;height:42px;display:grid;place-items:center;border:1px solid #809080;border-radius:3px}.brand-sub{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.1em;margin-top:4px}nav{display:flex;align-items:center;gap:32px;font-size:12px}nav>a:hover{color:var(--orange)}.header-cta{padding:8px 15px;border:1px solid #7d8978;border-radius:3px}.header-cta span{margin-left:14px}.hero{display:grid;grid-template-columns:1.13fr 1fr;gap:62px;padding-top:66px;padding-bottom:74px;align-items:center}.hero-audience{font-size:14px;line-height:1.8;margin-bottom:20px;color:#50624e}.hero h1{font-size:clamp(40px,4.1vw,58px);line-height:1.38;letter-spacing:.045em;margin-bottom:25px}.accent{color:var(--green)}.hero-description{font-size:14px;line-height:2.05;margin-bottom:28px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;padding:16px 27px;border:0;border-radius:3px;font-size:14px;font-weight:700;min-height:58px;line-height:1.5;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.primary{color:#fff;background:var(--orange);box-shadow:0 3px 0 #923822}.primary:hover{background:#9d3d24}.button span{font-size:21px;font-weight:400}.micro{font-size:11px;color:var(--muted);margin-top:12px;max-width:370px}.hero-caption{display:flex;align-items:center;gap:10px;font-size:11px;margin-top:31px;flex-wrap:wrap}.small-line{width:26px;height:1px;background:var(--green)}.tag{border:1px solid var(--line);padding:0 5px;font-size:9px;color:var(--muted)}
.hero-art{position:relative;padding:36px 25px 22px;background:#e9ecdf;border:1px solid #dde1d3;border-radius:160px 160px 8px 8px;min-height:560px}.art-label{font-family:Georgia,serif;letter-spacing:.15em;text-align:center;font-size:10px;margin:4px 0 33px;color:#647459}.note-paper{position:relative;background:#fffefa;padding:23px 23px 15px;border:1px solid #e7e5da;box-shadow:6px 9px 0 #d6dcce,0 16px 40px #394b3112;transform:rotate(-3deg);margin-inline:7px}.paper-top{display:flex;align-items:center;font-size:10px;gap:7px;color:var(--muted)}.paper-dot{width:6px;height:6px;border-radius:50%;background:var(--orange)}.paper-date{margin-left:auto;font-size:9px}.waveform{display:flex;align-items:center;justify-content:center;height:67px;gap:5px;margin-block:20px 12px}.waveform i{background:#819572;width:3px;border-radius:3px;height:17px}.waveform i:nth-child(3n){height:42px}.waveform i:nth-child(4n){height:58px}.waveform i:nth-child(5n){height:27px}.waveform i:nth-child(7n){height:65px}.note-hand{font-family:var(--serif);font-size:17px;line-height:2.35;letter-spacing:.025em;background:repeating-linear-gradient(transparent,transparent 39px,#e8e8df 39px,#e8e8df 40px);padding-bottom:10px}.paper-foot{display:flex;align-items:center;justify-content:space-between;font-size:10px;margin-top:14px}.paper-foot span+span{font-size:30px;color:#87936d;line-height:1}.sorting-label{text-align:center;font-size:11px;margin-top:27px;margin-bottom:17px;display:flex;gap:10px;justify-content:center;align-items:center}.sorting-label>span{font-size:22px;color:var(--green)}.sorted-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.sorted-notes>div{background:#fbfaf4;border:1px solid #d4d9c9;padding:13px 9px;transform:rotate(-2deg)}.sorted-notes>div:nth-child(2){transform:rotate(2deg);background:#f3ecd9}.sorted-notes>div:nth-child(3){transform:rotate(-1deg);background:#e2e7dc}.note-number{font-family:Georgia,serif;font-size:11px;color:#728368}.sorted-notes strong{display:block;font-size:11px;font-weight:600;white-space:nowrap}.sorted-notes div>span:last-child{font-size:8px;color:var(--muted);display:block;white-space:nowrap;margin-top:5px}.illustration-note{margin-top:23px!important;font-size:9px;color:#64705e;text-align:center}.intro-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#eeeee5}.intro-strip>.wrap{display:flex;justify-content:center;align-items:center;gap:55px;padding-block:19px;font-size:13px;letter-spacing:.07em}.strip-arrow{color:#87977f}
.method{display:grid;grid-template-columns:1fr 1fr;gap:85px}.method-body{font-size:15px;line-height:2.15}.author-line{display:flex;align-items:center;gap:12px;margin-top:30px;font-size:13px}.author-monogram{font-family:Georgia,serif;background:#e4e7d9;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;font-size:23px}.author-line small{display:block;font-size:10px;color:var(--muted)}.demo-section{background:#e9eddf}.demo-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:36px}.demo-head>p{font-size:13px;color:var(--muted);line-height:2}.demo-box{display:grid;grid-template-columns:1fr 1fr;background:#fcfbf5;border:1px solid #d2d9c5;border-radius:5px}.demo-source{padding:34px 38px}.demo-label{display:block;font-size:11px;color:var(--muted);margin-bottom:16px}.demo-source>p{font-family:var(--serif);font-size:19px;line-height:2}.demo-button{background:var(--green);color:white;margin-top:23px;font-size:12px;padding:13px 18px;min-height:47px}.demo-button:hover{background:#3c5237}.demo-result{display:grid;align-content:center;padding:34px 38px;border-left:1px dashed #c7cfbc}.demo-empty{text-align:center;color:#75816b;font-size:13px}.demo-items>div{border-bottom:1px solid #e2e4d9;padding-block:13px}.demo-items>div:last-child{border-bottom:0}.demo-items p{font-size:14px;margin-top:5px}.category{font-size:10px;padding:3px 8px;border-radius:2px;display:inline-block}.task{background:#e8e3d1;color:#615944}.reading{background:#dee7d3;color:#42563b}.idea{background:#ede0d4;color:#885738}.demo-note{font-size:10px;color:var(--muted);margin-top:14px}
.case-section{display:grid;grid-template-columns:1fr 1.5fr;gap:85px}.case-date{display:block;font-family:Georgia,serif;font-size:31px;font-style:italic;margin-top:35px}.case-aside-text{font-size:12px;margin-top:15px;line-height:1.9}.case-lines{display:grid;justify-items:center;gap:9px;width:210px;margin-top:35px}.case-lines span{font-size:12px;background:#e9ecdf;width:100%;text-align:center;padding:8px 16px;border:1px solid #d5dbca}.case-lines i{font-style:normal;font-size:18px;color:#7b8d71}.case-body h2{margin-bottom:27px}.case-body>p{font-size:14px;line-height:2.1}.case-body .case-footnote{font-size:11px;color:var(--muted);border-left:2px solid #a3af95;padding-left:13px;margin-top:28px}.contents-section{background:#f0eee3;border-top:1px solid #e1e0d5}.contents-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:40px}.outline-label{border:1px solid #bfc6b4;padding:4px 12px;font-size:10px;white-space:nowrap}.lesson-list article{display:flex;align-items:start;gap:28px;border-top:1px solid #ccd2c1;padding:28px 0}.lesson-list article:last-child{border-bottom:1px solid #ccd2c1}.lesson-num{font-family:Georgia,serif;font-size:27px;line-height:1.3;color:#718466;width:50px;flex-shrink:0}.lesson-list h3{font-family:var(--serif);font-size:21px;font-weight:600;line-height:1.4;margin-bottom:10px}.lesson-list p{font-size:13px;color:var(--muted)}.lesson-icon{margin-left:auto;font-size:25px;color:#809172;padding-left:10px}.contents-note{font-size:11px;color:var(--muted);margin-top:21px}.mid-cta{display:flex;align-items:center;gap:24px;margin-top:37px}.secondary{background:transparent;border:1px solid #74846a;color:var(--ink)}.secondary:hover{background:#e3e7d7}.mid-cta>span{font-size:11px;color:var(--muted)}.faq-section{display:grid;grid-template-columns:1fr 1.5fr;gap:85px}.faq-list details{border-bottom:1px solid var(--line);padding:21px 0}.faq-list details:first-child{border-top:1px solid var(--line)}summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px;cursor:pointer;font-size:14px;font-weight:600}summary::-webkit-details-marker{display:none}summary span{color:var(--green);font-size:21px;transition:transform .2s}details[open] summary span{transform:rotate(45deg)}details>p{font-size:13px;line-height:2;color:var(--muted);margin-top:15px;padding-right:30px}
.reserve-section{background:#283e32;color:#f8f7ef;padding-block:74px}.reserve-inner{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:100px}.reserve-copy .eyebrow{color:#c2ccb6}.reserve-copy h2{font-size:clamp(30px,3.4vw,43px)}.reserve-copy>p:not(.eyebrow){font-size:14px;margin-top:27px;line-height:2}.reserve-by{font-size:10px;color:#c0cab8;display:block;margin-top:27px}.reservation-card{background:var(--paper);color:var(--ink);padding:31px 33px;border-radius:5px}.reservation-label{font-size:12px;color:var(--muted)}.price-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:12px}.price-row>span{font-size:13px}.price-row>strong{font-size:31px;font-family:var(--serif);font-weight:600}.reservation-card dl{margin:22px 0}.reservation-card dl>div{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-block:10px;font-size:11px}.reservation-card dt{color:var(--muted)}.reservation-card dd{margin:0}.reservation-card .button{width:100%;gap:15px;padding-inline:20px}.reservation-note{font-size:11px;line-height:1.9;text-align:center;color:var(--muted);margin-top:16px}.site-footer{padding-block:36px;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:12px}.site-footer>span{font-family:Georgia,serif;font-size:19px}.site-footer small{display:block;font-family:var(--sans);font-size:10px;color:var(--muted)}.site-footer p{color:var(--muted);font-size:10px}.site-footer>a{font-size:10px;white-space:nowrap}dialog{border:1px solid var(--line);border-radius:6px;padding:42px;width:min(510px,calc(100% - 36px));background:var(--paper);color:var(--ink)}dialog::backdrop{background:#15251caa;backdrop-filter:blur(4px)}dialog h2{font-size:26px;margin-bottom:20px}dialog p{font-size:14px}dialog .eyebrow{font-size:11px}dialog .dialog-note{font-size:12px;color:var(--muted);margin-bottom:25px;margin-top:20px}.close-dialog{position:absolute;right:13px;top:9px;background:none;border:0;font-size:27px;color:var(--muted);width:36px;height:36px}.close-dialog:hover{color:var(--orange)}[hidden]{display:none!important}
@media(min-width:1440px){.hero{gap:85px}.hero-art{max-width:500px}.hero h1{font-size:60px}}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.site-header{padding:18px 32px}nav{gap:20px}nav>a:not(.header-cta){display:none}.hero{gap:34px}.hero h1{font-size:43px}.hero-art{padding:32px 19px 20px;min-height:520px}.note-hand{font-size:14px}.sorted-notes{gap:5px}.sorted-notes strong{font-size:10px}.sorted-notes div>span:last-child{font-size:7px}.method,.case-section,.faq-section{gap:45px}.reserve-inner{gap:45px}.hero-description{font-size:13px}.desktop-break{display:none}}
@media(max-width:740px){html{scroll-padding-top:25px}.wrap{width:calc(100% - 40px)}.section{padding-block:58px}.site-header{padding:14px 20px;gap:10px}.brand{font-size:19px;gap:9px}.brand-mark{width:30px;height:36px;font-size:20px}.brand-sub{font-size:8px}.header-cta{font-size:10px;padding:8px 10px}.header-cta span{margin-left:7px}.hero{display:flex;flex-direction:column;align-items:stretch;padding-top:36px;padding-bottom:40px;gap:39px}.hero .eyebrow{font-size:10px;margin-bottom:18px}.hero-audience{font-size:12px;margin-bottom:17px}.hero h1{font-size:clamp(36px,8.8vw,55px);line-height:1.45;letter-spacing:.025em;margin-bottom:18px}.hero-description{font-size:13px;margin-bottom:23px;line-height:2}.hero .button{width:100%;font-size:14px;min-height:57px}.hero .micro{font-size:10px}.hero-caption{font-size:10px;margin-top:23px}.hero-art{max-width:470px;width:100%;margin:auto;min-height:0;padding:29px 22px 20px;border-radius:140px 140px 6px 6px}.art-label{margin:0 0 28px;font-size:9px}.note-paper{padding:20px 18px 13px}.note-hand{font-size:clamp(13px,3.8vw,18px)}.sorted-notes{gap:8px}.sorted-notes strong{font-size:11px}.sorted-notes div>span:last-child{font-size:8px}.intro-strip>.wrap{gap:16px;font-size:10px;padding-block:15px;letter-spacing:0}.intro-strip .strip-arrow{font-size:12px}.method,.case-section,.faq-section{display:block}.section-heading{margin-bottom:26px}.eyebrow{font-size:10px;margin-bottom:17px}.method-body{font-size:14px;line-height:2.1}.demo-head{display:block;margin-bottom:27px}.demo-head>p{margin-top:17px;font-size:12px}.demo-box{grid-template-columns:1fr}.demo-source{padding:26px 23px}.demo-source>p{font-size:18px}.demo-button{width:100%;font-size:12px;gap:10px}.demo-result{border-left:0;border-top:1px dashed #c7cfbc;padding:24px 23px;min-height:145px}.demo-note{font-size:10px;line-height:1.9}.case-aside{margin-bottom:28px}.case-date{font-size:23px;margin-top:0}.case-aside-text,.case-lines{display:none}.case-body h2{margin-bottom:22px}.case-body p{font-size:14px}.case-body .case-footnote{font-size:11px}.contents-head{display:block;margin-bottom:28px}.outline-label{display:inline-block;margin-top:20px}.lesson-list article{gap:15px;padding:22px 0}.lesson-num{font-size:22px;width:31px}.lesson-list h3{font-size:18px;line-height:1.5;margin-bottom:8px}.lesson-list p{font-size:12px;line-height:1.9}.lesson-icon{display:none}.mid-cta{flex-direction:column;align-items:stretch;gap:12px;margin-top:27px}.mid-cta>span{text-align:center;font-size:10px}.faq-list{margin-top:30px}summary{font-size:12px}.faq-list details{padding:17px 0}details>p{font-size:12px;padding-right:10px}.reserve-section{padding-block:50px}.reserve-inner{display:block}.reserve-copy h2{font-size:31px}.reserve-copy>p:not(.eyebrow){font-size:13px;margin-top:19px}.reserve-by{margin-top:20px;font-size:9px}.reservation-card{padding:25px 22px;margin-top:29px}.price-row strong{font-size:29px}.site-footer{display:block;padding-block:28px}.site-footer>p{margin-top:17px}.site-footer>a{display:inline-block;margin-top:15px}dialog{padding:37px 25px 28px}dialog h2{font-size:23px}dialog p{font-size:13px}}
@media(max-width:360px){.site-header{padding-inline:13px}.header-cta{font-size:9px;padding-inline:6px}.hero-art{padding-inline:16px}.sorted-notes>div{padding-inline:7px}.sorted-notes strong{font-size:9px}.sorted-notes div>span:last-child{font-size:7px}.intro-strip>.wrap{gap:10px;font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
