/* わせだの杜 — shared styles, consolidated for the provisional site */
:root{--ink:#27362f;--muted:#596960;--green:#285b45;--line:#e2e9e1;--soft:#f6f8f5;--cream:#fcfbf7;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,system-ui,sans-serif;color:var(--ink);background:#fff;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-size:16px;line-height:1.8}a{color:var(--green);text-underline-offset:4px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b78c52;outline-offset:3px}
.container{width:min(1100px,calc(100% - 44px));margin-inline:auto}.skip{position:absolute;left:-9999px;z-index:50}.skip:focus{left:12px;top:12px;background:#fff;padding:8px}
.header{background:#fff;border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:94px;gap:24px}.brand{color:var(--green);font-weight:800;font-size:1.9rem;letter-spacing:.045em;line-height:1.2;text-decoration:none;flex-shrink:0}.brand span{display:block;font-size:.95rem;letter-spacing:.025em;font-weight:600;margin-top:3px}
.main-nav>ul{display:flex;align-items:center;flex-wrap:wrap;gap:18px;list-style:none;padding:0;margin:0}.main-nav a,.nav-group summary{color:var(--ink);font-size:.9rem;font-weight:400;text-decoration:none;white-space:nowrap}.main-nav a:hover,.main-nav a[aria-current="page"],.nav-group summary:hover{color:var(--green);text-decoration:underline}.main-nav .management-link{color:var(--ink);background:none;border:0;border-radius:0;padding:0;box-shadow:none}
.nav-group{position:relative}.nav-group details{position:relative}.nav-group summary{cursor:pointer;list-style:none;padding:8px 0}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary::after{content:"⌄";margin-left:6px;color:var(--green)}.nav-group .submenu{position:absolute;z-index:30;top:100%;left:-12px;display:flex;flex-direction:column;gap:0;min-width:196px;margin:0;padding:7px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 8px 20px #1b3d2718}.nav-group .submenu a{display:block;padding:8px 11px}.nav-group .submenu a:hover{background:var(--soft);text-decoration:none}
.button,.button.secondary{display:inline-flex;align-items:center;justify-content:center;padding:10px 22px;min-height:45px;border:1px solid var(--green);border-radius:8px;color:#fff;background:var(--green);font:inherit;font-size:.92rem;font-weight:700;cursor:pointer;text-decoration:none}.button:hover,.button.secondary:hover{background:#214835;color:#fff;text-decoration:none}.text-link{display:inline-block;margin:12px 0 8px;padding-bottom:2px;text-decoration:none;border-bottom:1px solid #a6c4b0;font-weight:700}.text-link:hover{border-color:var(--green)}
.hero{padding:75px 0 72px;background:#fff}.hero-layout{display:flex;justify-content:center}.hero-copy{width:100%;max-width:790px;text-align:center}.eyebrow,.section-kicker,.page-kicker{display:block;color:var(--green);font-size:.8rem;font-weight:700;letter-spacing:.13em;line-height:1.35;margin:0 0 8px}.hero h1{font-size:clamp(2.25rem,4.6vw,3.8rem);letter-spacing:.02em;line-height:1.42;margin:15px 0 20px}.hero .lead{font-size:1.06rem;color:var(--muted);max-width:690px;line-height:1.9;margin:0 auto 27px}
.section{padding:58px 0}.section h2{font-size:clamp(1.55rem,2.8vw,2.1rem);line-height:1.45;margin:0 0 17px}.section p{color:var(--muted)}.intro{margin:0 0 26px}.lead{font-size:1.09rem;color:var(--muted);line-height:1.85}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{border:1px solid var(--line);border-radius:15px;background:#fff;padding:26px;min-width:0}.card h3{font-size:1.16rem;margin:0 0 9px}.card p{margin:0}.card-index{display:block;color:#739681;font-weight:700;font-size:.8rem;letter-spacing:.08em;margin:0 0 12px}
.home-band{padding:21px 0}.home-band-inner{border:1px solid var(--line);border-radius:16px;background:var(--cream);padding:29px 35px;display:flex;align-items:center;justify-content:space-between;gap:26px}.home-band-inner>div{min-width:0}.home-band h2{margin:0 0 9px;font-size:1.8rem}.home-band p{margin:0}.home-band .section-kicker{margin:0 0 7px}.home-band .button{flex-shrink:0}.lesson-band .home-band-inner{display:block}.lesson-band .button{margin-top:18px}
.home-program-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.home-program{border:1px solid var(--line);border-radius:15px;padding:30px;background:#fff;min-width:0}.home-program .section-kicker{margin-bottom:6px}.home-program h2{font-size:clamp(1.48rem,2.2vw,1.85rem);margin:0 0 15px;line-height:1.5}.home-program p:not(.section-kicker){margin:0 0 10px}
.pagehead{padding:36px 0 12px;background:#fff}.pagehead .container,.section>.container.detail{max-width:960px}.pagehead .page-kicker{margin:0 0 4px;line-height:1.3}.pagehead h1{margin:0;font-size:clamp(1.9rem,3.2vw,2.5rem);line-height:1.36;letter-spacing:.015em}.pagehead .page-description{margin:8px 0 0;max-width:850px;color:var(--muted)}.pagehead+.section{padding-top:20px}
.detail{max-width:960px;font-size:1.025rem;line-height:1.85}.detail>.lead:first-child,.detail>p:first-child{margin-top:0}.detail .lead{margin:0 0 23px;font-size:1.07rem}.detail p{margin:0 0 17px}.detail p.notice{margin:24px 0}.detail h2{margin:34px 0 13px;font-size:clamp(1.38rem,2vw,1.65rem);line-height:1.45}.detail h3{margin:25px 0 11px;line-height:1.5}.detail p,.card p,.home-program p,.intro,.news-excerpt{text-align:left;line-break:strict}
.learning-topic{padding:20px 0 26px;border-bottom:1px solid var(--line)}.learning-topic:first-of-type{padding-top:20px;border-top:1px solid var(--line)}.detail > .lead + .learning-topic{margin-top:34px}.learning-topic>.section-kicker{margin:0 0 3px;line-height:1.3}.detail .learning-topic>h2{margin:0 0 8px;line-height:1.4}.detail .learning-topic>h3{margin:0 0 13px;color:var(--green);font-size:1.1rem}.learning-topic p{margin:0 0 13px}.learning-action{margin-top:28px}
.info{border-collapse:collapse;width:100%;margin:19px 0 24px;border:1px solid #cbd8cc}.info th,.info td{padding:15px 17px;border:1px solid #cbd8cc;text-align:left;vertical-align:top}.info th{width:32%;background:var(--soft);font-weight:700}.notice{padding:17px 21px;margin:22px 0;border-left:3px solid #9abb9e;border-right:3px solid #9abb9e;border-radius:8px;background:var(--soft);color:var(--muted)}.notice p:last-child{margin-bottom:0}
.steps{list-style:none;padding:0;margin:20px 0 30px}.steps li{display:grid;grid-template-columns:52px 1fr;gap:16px;position:relative;padding:0 0 25px}.steps li:not(:last-child)::before{content:"";position:absolute;left:24px;top:50px;bottom:3px;border-left:2px solid #cadccd}.step-num{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:#eaf2e9;color:var(--green);font-size:.9rem;font-weight:700}.steps h3{margin:4px 0 6px}.steps p{margin:0}
.flow-chart{margin:25px 0;max-width:850px;text-align:center}.flow-step{display:flex;align-items:center;flex-direction:column;gap:5px;border:1px solid #c2d2c4;border-radius:11px;padding:16px;background:#fff}.flow-step strong{color:var(--ink);font-size:1.02rem}.flow-step span:not(.flow-number){color:var(--muted);font-size:.86rem}.flow-main,.flow-end{background:#f0f5ef}.flow-number{color:var(--green);font-size:.77rem;font-weight:700}.flow-down{font-size:1.55rem;color:#6c9978;line-height:1.2;padding:7px}.flow-branches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.flow-branch{border:1px solid var(--line);border-radius:13px;padding:15px}.flow-label{display:block;margin:0 0 12px;color:var(--green);font-weight:700}.flow-selection{background:#faf6e9;border-color:#dbd0ad}.flow-actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin:18px 0}.flow-actions .text-link{margin-top:0}
.news-list{margin-top:15px}.news-item{padding:21px 0;border-bottom:1px solid var(--line)}.news-meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:.85rem;color:var(--muted)}.news-category{display:inline-block;padding:1px 9px;border:1px solid #d4e2d5;border-radius:4px;color:var(--green);font-size:.8rem}.news-item h2{margin:10px 0 8px;font-size:1.25rem}.news-excerpt{margin:0 0 9px}.news-item h2 a{color:var(--ink);text-decoration:none}.news-item h2 a:hover{text-decoration:underline}.news-readmore{font-size:.9rem;font-weight:700;text-decoration:none}.home-news-list{border-top:1px solid var(--line);margin:10px 0 13px}.home-news-item{padding:17px 0;border-bottom:1px solid var(--line)}.home-news-item h3{font-size:1.08rem;line-height:1.5;margin:8px 0 7px}.home-news-item p{margin:0}.news-detail-title{font-size:1.8rem!important}.news-body{padding-top:15px;border-top:1px solid var(--line)}
.map-wrap{margin:22px 0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.map-wrap iframe{width:100%;height:350px;display:block;border:0}
.contact-form{margin-top:18px}.form-field{margin-bottom:20px}.form-field label{display:block;margin-bottom:7px;font-weight:700}.form-field input,.form-field select,.form-field textarea{display:block;width:100%;font:inherit;color:inherit;padding:11px 13px;border:1px solid #a9bbb0;border-radius:8px;background:#fff}.form-field textarea{resize:vertical}.required{margin-left:6px;color:#8b3f1f;font-size:.78rem;font-weight:700}.form-note{font-size:.9rem}.privacy-consent{margin:18px 0;padding:15px 19px;border-radius:8px;background:var(--soft)}.privacy-consent p{margin:0 0 8px}.privacy-consent label{display:flex;gap:10px;align-items:center;cursor:pointer}.privacy-consent input{width:18px;height:18px;flex-shrink:0;accent-color:var(--green)}.contact-form button{cursor:pointer}
.footer{margin-top:45px;padding:38px 0;background:#234636;color:#fff}.footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.footer strong{font-size:1rem}.footer p{margin:0;color:#fff}.footer nav{display:flex;flex-wrap:wrap;gap:15px}.footer nav a{color:#fff;font-size:.9rem;text-decoration:none}.footer nav a:hover{text-decoration:underline}.footer small{width:100%;font-size:.8rem;opacity:.85}.footer small a{color:#fff}
@media(max-width:980px){.header-inner{flex-wrap:wrap;padding:16px 0}.main-nav{width:100%}.main-nav>ul{gap:10px 20px}.nav-group .submenu{left:0}}
@media(max-width:700px){.container{width:calc(100% - 36px)}.header-inner{display:block;min-height:0;padding:18px 0}.brand{font-size:1.7rem}.brand span{font-size:.86rem}.main-nav>ul{margin-top:15px;gap:8px 17px}.nav-group .submenu{min-width:178px}.hero{padding:48px 0}.hero h1{font-size:clamp(2rem,8vw,2.8rem)}.section{padding:42px 0}.grid,.home-program-grid,.flow-branches{grid-template-columns:1fr}.card,.home-program{padding:24px}.home-band{padding:18px 0}.home-band-inner{display:block;padding:25px}.home-band .button{margin-top:16px}.pagehead{padding:29px 0 10px}.pagehead+.section{padding-top:16px}.detail{font-size:1rem}.detail h2{margin-top:30px}.detail .lead{font-size:1.04rem}.footer{margin-top:30px}.footer nav{gap:9px 16px}.map-wrap iframe{height:300px}th{width:38%}th,td{padding:12px}.privacy-consent label{align-items:flex-start}}
