:root{font-family:system-ui,-apple-system,"Noto Sans JP",sans-serif;color:#203c34;background:#f4f6f4;line-height:1.8;scroll-padding-top:20px;--orange:#ce571d;--green:#203c34}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:5px}img{display:block;max-width:100%;height:auto}a:focus-visible{outline:3px solid #cf591f;outline-offset:5px}.skip{position:absolute;top:-70px;left:20px;background:white;padding:12px;z-index:10}.skip:focus{top:10px}.proposal{padding:8px max(24px,calc((100% - 1160px)/2));display:flex;justify-content:space-between;font-size:.75rem;border-bottom:1px solid #d7dfd8}header{max-width:1208px;margin:auto;padding:24px;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand strong{font-size:1.5rem;line-height:1.2}.brand span{display:block;font-size:.7rem;margin-top:5px}nav{margin-left:auto;display:flex;gap:24px;font-size:.85rem;font-weight:700}.button{display:inline-block;padding:14px 24px;background:var(--orange);color:white;text-decoration:none;font-weight:700;font-size:.9rem}.button:hover{background:#b64815}main{max-width:1208px;margin:auto;padding:0 24px}section{padding:66px 0;border-bottom:1px solid #d7dfd8}.hero{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:54px 0 38px}.school{font-size:.8rem;font-weight:700;margin:0 0 26px}h1{font-size:clamp(2.7rem,5vw,4.5rem);letter-spacing:-.06em;line-height:1.25;margin:0 0 28px;font-weight:800}p{margin:0 0 18px}.hero-lead{font-size:1rem;line-height:2}.hero figure{margin:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.hero figure img{width:100%;aspect-ratio:4/3;object-fit:cover}.hero figcaption,figcaption{font-size:.72rem;color:#53675e;margin-top:8px}.sample{font-size:.75rem;color:#526158;margin-top:12px}.hero .sample{max-width:400px}.route-intro h2{font-size:1.4rem;margin:0 0 24px}.route-intro{padding:32px 0 58px}.routes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.routes>a{position:relative;background:white;border-top:3px solid #7b9c81;padding:28px 24px;text-decoration:none}.routes>a:hover{background:#edf2ec}.routes small{font-size:.75rem;color:#5c7064}.routes h3{font-size:1.3rem;line-height:1.5;margin:10px 0}.routes p{font-size:.85rem}.routes strong{font-size:.8rem;color:#ab481b;text-decoration:underline}.route-icon{position:absolute;right:20px;top:20px;color:#617b69;font-size:1.5rem}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:28px;margin-bottom:30px}h2{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.4;margin:0}.section-head p{font-size:.9rem;color:#526158;max-width:480px}.records{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.records>a{display:block;border-top:1px solid #91a294;padding:20px 0;text-decoration:none}.records span,.records small{display:block;font-size:.8rem}.records strong{display:block;font-size:1.65rem;margin:8px 0}.life-photos{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;margin-bottom:20px}.life-photos figure{margin:0}.life-photos img{width:100%;aspect-ratio:5/4;object-fit:cover;object-position:center 45%}.family-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.family-links a{padding:22px;border:1px solid #becac0;text-decoration:none;font-weight:700}.family-links span{display:block;font-size:.75rem;font-weight:400;margin-top:6px}.visit{display:grid;grid-template-columns:1fr 1fr;gap:48px;background:var(--green);color:white;padding:54px 40px;margin:40px 0}.visit h2{margin-bottom:22px}.visit h3{margin:0 0 16px}.visit p{font-size:.9rem}.visit .button{font-size:.8rem;padding:15px 18px}.visit .conditions{font-size:.75rem;color:#d9e3dc;margin-top:16px}.visit a:not(.button){font-size:.8rem}footer{max-width:1208px;padding:24px;margin:auto;display:flex;flex-wrap:wrap;gap:16px;font-size:.8rem}footer p{margin:0}footer strong{margin-right:20px}footer small{display:block;width:100%;color:#526158}@media(max-width:850px){nav{gap:14px}header{gap:15px}.brand strong{font-size:1.25rem}.hero{gap:24px}.routes{gap:12px}.routes>a{padding:24px 18px}.routes h3{font-size:1.1rem}.section-head{display:block}.section-head p{margin-top:16px}.visit{padding:32px 24px;gap:26px}}@media(max-width:600px){.proposal{padding:8px 16px;font-size:.7rem}header{padding:20px 16px;flex-wrap:wrap}.brand{gap:8px}.brand img{width:28px;height:auto}header>.button{margin-left:auto;padding:10px 16px;font-size:.8rem}nav{order:3;width:100%;margin:6px 0 0;justify-content:space-between;font-size:.75rem}main{padding:0 16px}.hero{display:block;padding:26px 0}.school{margin-bottom:18px;font-size:.7rem}h1{font-size:2.5rem;margin-bottom:22px}.hero-lead{font-size:.85rem}.hero figure{margin-top:24px}.hero figcaption{font-size:.65rem}.hero .sample{font-size:.67rem}.route-intro{padding:20px 0 36px}.route-intro h2{font-size:1.2rem}.routes{grid-template-columns:1fr;gap:12px}.routes>a{padding:18px 20px}.routes h3{margin:4px 0;font-size:1.2rem}.routes p{margin-bottom:8px}.routes small{font-size:.7rem}.route-icon{right:20px;top:24px}section{padding:38px 0}.records{grid-template-columns:1fr}.records>a{padding:16px 0}.records strong{font-size:1.5rem}.life-photos{grid-template-columns:1fr;gap:20px}.family-links{grid-template-columns:1fr;gap:12px}.family-links a{padding:18px}.visit{grid-template-columns:1fr;padding:30px 22px;margin:30px 0;gap:22px}.visit h2{font-size:1.9rem}.visit .button{font-size:.75rem;padding:14px}footer{padding:20px 16px}}
