:root{--bg:#f6f4ef;--paper:#fffcf7;--forest:#344d45;--ink:#293c35;--muted:#596c61;--line:#d8ddd3;--soft:#eaf0e9;--serif:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Yu Gothic",Meiryo,sans-serif;font-size:15px;line-height:2;letter-spacing:.025em}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{display:block;width:100%;height:auto;max-width:100%}h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.65;letter-spacing:.06em;margin:0 0 22px}h1{font-size:clamp(32px,4vw,52px)}h2{font-size:clamp(26px,2.6vw,36px)}h3{font-size:21px}p{margin:0 0 22px}a:hover{text-decoration:underline;text-underline-offset:5px}:focus-visible{outline:3px solid #af7048;outline-offset:5px}button{cursor:pointer}input,select,textarea{font-size:16px}button:disabled{opacity:.55;cursor:not-allowed}[hidden]{display:none!important}.wrap{width:min(1160px,calc(100% - 64px));margin-inline:auto}.narrow{max-width:800px}.section{padding-block:100px}.soft{background:var(--soft)}.eyebrow{display:block;font:600 11px/1.5 Georgia,serif;letter-spacing:.22em;text-transform:uppercase;color:#52705e;margin-bottom:20px}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden;white-space:nowrap}.skip{position:absolute;top:-100px;left:16px;background:white;padding:12px;z-index:100}.skip:focus{top:8px}.fine{font-size:12px;line-height:1.9;color:var(--muted)}
.sample-bar{background:var(--forest);color:#fff;font-size:10px;text-align:center;padding:8px 20px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0 20px;line-height:1.6;letter-spacing:.08em}.sample-bar a{display:inline-flex;align-items:center;min-height:36px;text-decoration:underline}.web-header{position:sticky;top:0;z-index:50;background:#f6f4eff5;border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.header-row{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0;font:600 20px/1.4 var(--serif);letter-spacing:.08em}.brand svg{width:36px;height:42px;color:#59775e}.brand small{display:block;font:600 8px/1.8 sans-serif;letter-spacing:.2em;color:var(--muted);margin-top:4px}#siteNav{display:flex;align-items:center;gap:22px;font-size:12px;font-weight:600}#siteNav>a:not(.button){display:flex;align-items:center;min-height:48px}#siteNav [aria-current]{text-decoration:underline;text-underline-offset:7px}#siteMenu{display:none;min-width:46px;min-height:46px;border:1px solid var(--line);background:var(--paper);color:var(--forest);border-radius:8px;font-size:24px}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:54px;padding:14px 28px;background:var(--forest);color:white;border:1px solid var(--forest);border-radius:99px;font-size:13px;font-weight:600;text-align:center;line-height:1.6}.button:hover{background:#233e31;text-decoration:none}.button.small{min-height:45px;padding:11px 20px}.button.outline{color:var(--forest);background:transparent}.button.outline:hover{background:#dce6dc}.button.light{background:var(--paper);color:var(--forest);border-color:var(--paper)}.text-link{display:inline-flex;align-items:center;gap:16px;min-height:46px;font-size:13px;font-weight:600}.text-link span{font-size:18px}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin:32px 0 25px}
.home-hero{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding-block:75px 85px}.home-hero h1{font-size:clamp(38px,4.4vw,61px);line-height:1.7}.home-hero h1 span{background:linear-gradient(transparent 80%,#e7d8bc 80%)}.hero-copy>p:not(.fine){font-size:15px;line-height:2.3}.hero-image{position:relative;padding:0 0 22px 20px}.hero-image::before{content:"";position:absolute;inset:25px -15px 0 0;background:#dce5d7;border-radius:150px 14px 140px 14px;z-index:-1}.hero-image img{height:480px;object-fit:cover;object-position:54% center;border-radius:150px 14px 140px 14px}.hero-image>span{position:absolute;bottom:0;left:0;padding:14px 23px;background:var(--paper);font:16px var(--serif);border:1px solid var(--line)}.news-line{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:28px;padding-block:15px;font-size:13px}.news-line .eyebrow{margin:0}.news-line>a:not(.text-link),.news-line .news-update{display:flex;align-items:center;gap:25px;flex:1}.news-line time{color:var(--muted);font-size:12px;white-space:nowrap}.news-line b{margin-left:auto}.two-column{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:90px}.rounded{border-radius:8px 85px 8px 85px;object-fit:cover}.two-column img{height:380px}.section-heading{margin-bottom:42px}.section-heading>p{color:var(--muted);margin-bottom:0}.split{display:flex;align-items:end;justify-content:space-between;gap:25px}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.menu-panel{padding:45px;background:var(--paper);border:1px solid var(--line);border-radius:7px}.number{display:block;letter-spacing:.15em;font:11px Georgia,serif;color:var(--muted);margin-bottom:25px}.menu-panel h2{font-size:27px}.menu-panel ul{padding-left:20px;font-size:13px;margin:0 0 30px}.price{font:42px/1.4 Georgia,serif;margin:25px 0}.price span{font:12px sans-serif;margin-left:9px}.menu-grid+.fine{margin-top:18px}.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.article-card{border-bottom:1px solid var(--line);padding-bottom:24px}.article-card>a{display:block;height:100%}.article-card>a:hover{text-decoration:none}.article-card img{height:210px;object-fit:cover;border-radius:4px;margin-bottom:20px;transition:filter .2s}.article-card>a:hover img{filter:brightness(.94)}.post-label{font-size:11px;display:flex;flex-wrap:wrap;gap:12px;color:var(--muted);margin:0 0 14px}.article-card h3{font-size:21px;margin:10px 0 15px}.article-card p{font-size:13px;color:var(--muted);line-height:1.9}.closing{margin-top:110px;padding:65px 0;background:var(--forest);color:white}.closing .eyebrow{color:#d4e2d5}.closing h2{font-size:35px}.closing p{color:#d4e2d5;font-size:13px;margin:0}.closing-row{display:flex;justify-content:space-between;align-items:center;gap:40px}.closing-links{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.web-footer{padding-block:55px 25px}.web-footer nav{display:flex;flex-wrap:wrap;gap:5px 25px;margin:28px 0}.footer-link{font-size:12px;display:inline-flex;align-items:center;gap:8px;min-height:44px}.copyright{font-size:10px;border-top:1px solid var(--line);padding-top:20px;margin-bottom:0;color:var(--muted)}
.page-title{padding-block:68px 55px}.page-title h1{font-size:42px}.page-title p{color:var(--muted);max-width:650px;margin-bottom:0}.profile-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}.profile-layout img{height:500px;object-position:65% center}.profile-name{font:25px var(--serif);margin:30px 0}.profile-name small{font:11px sans-serif;margin-left:10px}.principle{display:flex;align-items:start;gap:30px;border-top:1px solid var(--line);padding:30px 0}.principle>span{font:italic 24px Georgia,serif;color:#5d7961}.principle h3{font-size:23px}.principle p{margin:0;font-size:14px}.themes{padding:0 0 40px;list-style:none}.themes li{padding:15px 0;border-bottom:1px solid var(--line)}.themes li::before{content:"✓";margin-right:15px;color:#52705e}.steps{padding-left:25px}.steps li{padding:15px 0 15px 12px}.steps h3{margin-bottom:10px}.steps p{font-size:14px}.demo-note{padding:24px 28px;background:var(--soft);border-left:3px solid #73917a;font-size:13px;margin:30px 0}.demo-note p:last-child{margin-bottom:0}.demo-note h3{font-size:20px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-of-type{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;padding:26px 35px 26px 0;position:relative;font-weight:600;font-size:15px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:"+";position:absolute;right:5px;font-size:24px;font-weight:400;color:#52705e;top:20px}.faq-list details[open] summary::after{content:"−"}.faq-list details p{font-size:14px;max-width:700px;padding-bottom:15px}.after-faq{margin-top:65px}.contact-layout{display:grid;grid-template-columns:.7fr 1fr;gap:70px}.contact-layout aside h2{font-size:24px}.contact-layout aside h2:not(:first-child){margin-top:45px}.contact-layout aside p{font-size:14px}.form-panel{background:var(--paper);border:1px solid var(--line);padding:35px 40px;border-radius:8px}.form-panel>.demo-note{margin-top:0}.form-panel label{display:block;font-size:13px;font-weight:600;margin-bottom:24px}.form-panel label>span{background:var(--soft);padding:3px 6px;font-size:10px;margin-left:7px}.form-panel input:not([type=checkbox]),.form-panel select,.form-panel textarea{display:block;width:100%;margin-top:9px;background:#fff;border:1px solid #b7c5b7;border-radius:6px;padding:13px;color:var(--ink);min-height:49px}.form-panel textarea{min-height:160px;resize:vertical}.form-panel .agree{display:flex;gap:12px;align-items:flex-start;font-weight:400}.agree input{margin-top:6px;min-width:20px;min-height:20px;accent-color:var(--forest)}.form-panel>.fine{margin-top:15px}.form-actions{display:flex;flex-wrap:wrap;gap:15px}.form-panel dd{margin:0 0 22px;white-space:pre-wrap;overflow-wrap:anywhere}.form-panel dt{font-size:12px;font-weight:600;color:var(--muted)}.notice-row{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;border-block:1px solid var(--line);padding:25px 0}.notice-row time{font-size:12px;color:var(--muted)}.notice-row h2{font-size:22px;margin:0}.article-body{max-width:900px;padding-top:35px}.article-heading{margin:35px auto;max-width:760px}.article-heading h1{font-size:39px}.article-heading>p:last-child{font-size:15px;color:var(--muted)}.article-image{height:420px;object-fit:cover;border-radius:5px;margin-bottom:45px}.prose{max-width:740px;margin-inline:auto}.prose h2{font-size:27px;margin-top:50px}.prose p{line-height:2.3}.prose .article-image{height:370px}.article-bottom{margin-top:55px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:15px}.pagination{margin-top:45px;display:flex;gap:20px;justify-content:center}.pagination a,.pagination span{padding:8px 15px;min-height:44px}.pagination .current{background:var(--forest);color:white}
body.admin-bar .web-header{top:32px}
@media(max-width:1120px){#siteMenu{display:block}#siteNav{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 90px);overflow:auto;background:var(--paper);padding:20px 32px;box-shadow:0 12px 20px #293c3510}#siteNav.open{display:grid;gap:8px}#siteNav a{border-bottom:1px solid var(--line);padding:8px}.home-hero{gap:35px}.hero-image img{height:420px}.two-column{gap:45px}.article-grid{gap:23px}}
@media(max-width:782px){body.admin-bar .web-header{top:46px}}
@media(max-width:700px){html{scroll-padding-top:85px}.wrap{width:calc(100% - 36px)}.sample-bar{font-size:9px;gap:2px 12px;padding:6px 15px}.sample-bar>span{flex-basis:100%}.header-row{min-height:75px;gap:15px}.brand{font-size:17px}.brand svg{width:30px;height:35px}.brand small{font-size:7px}.home-hero{grid-template-columns:1fr;gap:30px;padding-block:40px 45px}.home-hero h1{font-size:clamp(35px,9vw,47px)}.home-hero .eyebrow{font-size:10px}.home-hero .actions{gap:15px}.hero-copy>p:not(.fine){font-size:14px}.hero-image{padding:0 12px 20px 10px}.hero-image img{height:310px;border-radius:85px 8px 85px 8px}.hero-image::before{inset:20px 0 0 0;border-radius:85px 8px 85px 8px}.hero-image>span{font-size:13px;padding:12px 17px}.news-line{display:block;padding-block:23px}.news-line .eyebrow{margin-bottom:15px}.news-line>a:not(.text-link),.news-line .news-update{gap:12px;align-items:start;font-size:13px}.news-line time{font-size:10px;padding-top:3px}.news-line>.text-link{margin-top:10px}.section{padding-block:65px}.two-column,.profile-layout,.contact-layout{grid-template-columns:1fr;gap:30px}.two-column img{height:280px}.rounded{border-radius:5px 60px 5px 60px}.section-heading.split{display:block}.section-heading .text-link{margin-top:15px}.section-heading h2{font-size:29px}.section-heading>p{font-size:13px}.menu-grid{grid-template-columns:1fr;gap:22px}.menu-panel{padding:30px 25px}.menu-panel h2{font-size:25px}.menu-panel>p:not(.price){font-size:13px}.menu-panel .button{width:100%;padding-inline:13px}.article-grid{grid-template-columns:1fr;gap:35px}.article-card img{height:220px}.article-card h3{font-size:23px}.closing{margin-top:65px;padding-block:45px}.closing-row{display:block}.closing-links{margin-top:30px}.closing h2{font-size:30px}.closing-links .button{padding-inline:20px}.web-footer{padding-block:40px 25px}.web-footer nav{gap:0 22px}.page-title{padding-block:40px 35px}.page-title h1{font-size:30px;overflow-wrap:anywhere}.page-title p{font-size:13px}.profile-layout img{height:320px}.profile-layout p{font-size:14px}.profile-layout .profile-name{font-size:23px}.principle{gap:20px;padding:25px 0}.principle h3{font-size:20px}.principle p{font-size:13px}.demo-note{padding:20px}.faq-list summary{font-size:14px}.form-panel{padding:25px 20px}.notice-row{grid-template-columns:1fr auto;gap:10px}.notice-row time{grid-column:1/-1}.notice-row h2{font-size:20px}.article-heading h1{font-size:29px}.article-heading{margin-block:28px}.article-image,.prose .article-image{height:240px}.prose h2{font-size:24px}.prose p{font-size:14px}.article-bottom{display:block}.article-bottom a{display:flex}}
@media(max-width:600px){body.admin-bar .web-header{top:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
