:root{--green:#183d32;--deep:#102d25;--moss:#586746;--gold:#d0b577;--ink:#243b32;--white:#fff;--line:#d5ded8;--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:100px}body{margin:0;color:var(--ink);background:#fff;font-family:var(--sans);font-size:16px;line-height:1.95;letter-spacing:0}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #a77823;outline-offset:6px}a:hover{opacity:.8}h1,h2,h3,p{margin:0}h2{font-family:var(--serif);font-size:36px;font-weight:500;line-height:1.65}h3{line-height:1.6}p+p{margin-top:20px}.header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:var(--deep);color:white;gap:24px}.brand{display:flex;align-items:center;gap:14px;flex-shrink:0}.compass{display:block;position:relative;width:60px;height:60px;border-radius:50%;background:white url('assets/brand.png') no-repeat -5px -5px;background-size:226px auto}.brand-word{font-family:Georgia,serif;font-size:30px;line-height:1.15;color:var(--gold)}.brand-word>span{display:block;font-size:13px;font-family:var(--sans);color:white;margin-top:5px}.header nav{display:flex;align-items:center;gap:30px;font-size:14px}.nav-contact{border:1px solid #8b815a;padding:8px 25px}.hero{min-height:620px;height:calc(100svh - 180px);max-height:790px;position:relative;background:var(--green);overflow:hidden;color:white}.hero-portrait{position:absolute;right:0;top:0;width:43%;height:100%;object-fit:cover;object-position:50% 35%}.hero-inner{position:relative;max-width:1280px;margin:auto;padding:55px 5%;}.eyebrow{color:#e1ddca;font-size:14px;margin-bottom:16px}h1{color:var(--gold);font-family:Georgia,serif;font-size:52px;font-weight:400;line-height:1.15}h1>span{font-family:var(--serif);font-size:23px;display:block;margin-top:9px}.hero-message{font-family:var(--serif);font-size:38px;line-height:1.65;margin-top:24px}.hero-copy{font-size:15px;line-height:1.9;margin-top:18px;color:#e0e8e2}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:44px;padding:14px 26px;min-height:56px;font-size:15px;font-weight:600;transition:opacity .2s}.button span{font-size:23px;line-height:1}.gold{background:var(--gold);color:var(--deep);margin-top:26px}.hero-name{margin-top:20px;font-size:16px}.hero-name span{margin-left:12px;color:#bacdc0;font-family:Georgia,serif;font-size:14px}.journey-strip{display:flex;justify-content:center;align-items:center;gap:52px;background:var(--moss);color:white;padding:21px 5%;font-size:16px}.journey-strip a span{font-family:Georgia,serif;color:#eddbab;margin-right:13px}.flow-arrow{color:#d9ccab}.section{padding:92px max(6%,calc((100% - 1120px)/2));scroll-margin-top:20px}.section-label{display:flex;align-items:center;gap:25px;color:#79602f;font-family:Georgia,serif;font-size:14px;margin-bottom:35px}.section-label span{font-family:var(--sans);font-size:13px;color:#576b61}.approach-body{display:grid;grid-template-columns:1fr 1.1fr;gap:70px}.approach-body p{font-size:16px}.audience{margin-top:45px;border-top:1px solid var(--line);padding-top:24px;display:flex;align-items:start;gap:48px}.audience>span{font-size:14px;flex-shrink:0;padding-top:3px;color:#69794f}.audience p{font-size:15px}.services{background:#f2f5f1}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:50px}.section-heading>p{font-size:15px}.service-row{display:grid;grid-template-columns:70px 1.2fr 1fr;gap:35px;border-top:1px solid #c7d1c7;padding:45px 0}.service-row:last-child{padding-bottom:0}.service-index{font:40px Georgia,serif;color:#83926a;line-height:1.2}.service-index>span{display:block;font-size:12px;margin-top:12px}.small-title{font-size:14px;color:#657347;margin-bottom:9px}.service-main h3{font-family:var(--serif);font-size:27px;font-weight:500}.registered{font-size:16px;vertical-align:super}.service-lead{font-weight:600;font-size:17px;margin:22px 0 15px}.service-main>p:last-child{font-size:15px}.service-aside{padding:14px 0 0 25px;border-left:1px solid #d2dace}.service-aside>p{font-size:14px;color:#627344}.service-aside ul{list-style:none;padding:0;margin:18px 0 24px;font-size:14px}.service-aside li{margin:12px 0;padding-left:16px;position:relative}.service-aside li:before{content:'・';position:absolute;left:0;color:#8f753e}.text-link{display:inline-block;border-bottom:1px solid #a48d57;font-size:14px;padding:7px 0}.text-link span{margin-left:14px}.team{background:var(--green);color:#eef3ed}.team .section-label{color:var(--gold)}.team .section-label span{color:#c8d3c7}.team-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:75px}.team h2{margin-bottom:26px}.team p{font-size:15px}.team-note{color:#dfc58d;border-left:2px solid #c7ac6f;padding-left:18px;margin-top:30px}.team-points{padding-top:8px}.team-points>div{display:flex;gap:22px;padding:23px 0;border-bottom:1px solid #567160}.team-points>div:first-child{border-top:1px solid #567160}.team-points>div>span{color:var(--gold);font:24px Georgia,serif;padding-top:6px}.team-points h3{font-size:20px;font-weight:500;margin-bottom:8px}.team-points p{color:#cdd9d0;font-size:14px}.profile{display:grid;grid-template-columns:310px 1fr;gap:85px;align-items:center}.profile-photo img{display:block;width:100%;height:auto}.profile-photo>span{display:block;font-family:Georgia,serif;color:#756338;font-size:13px;border-bottom:1px solid var(--line);padding:14px 0}.profile-copy .section-label{margin-bottom:18px}.profile h2{font-size:34px}.qualification{font-size:14px;color:#68785d;margin-top:12px}.profile h3{font-family:var(--serif);font-size:25px;font-weight:500;margin:25px 0 18px}.profile-copy>p:not(.qualification){font-size:15px}.profile .text-link{margin-top:22px}.contact{background:var(--gold);text-align:center;padding-top:65px;padding-bottom:65px}.contact .section-label{justify-content:center;color:var(--deep);margin-bottom:20px}.contact .section-label span{color:#3d513d}.contact h2{font-size:34px}.contact>p{margin-top:20px;font-size:16px}.dark{background:var(--green);color:white;margin-top:28px}.contact .contact-sub{font-size:13px;margin-top:20px}footer{background:var(--deep);color:#d8e2d8;padding:30px 5%;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:12px}.footer-brand{font:25px Georgia,serif;color:var(--gold)}.footer-brand span{font-family:var(--sans);font-size:12px;color:#d8e2d8;margin-left:10px}footer>a:last-child{font-size:13px}
@media(min-width:1450px){.hero-portrait{width:43%;object-fit:contain;background:#d6d3c9;object-position:center}.hero-inner{padding-left:0}}@media(max-width:1050px){.header nav{gap:18px}.header nav>a:first-child{display:none}.hero-message{font-size:32px}.hero-inner{padding-top:40px}.hero h1{font-size:45px}.hero{min-height:605px}.section{padding:70px 6%}.approach-body,.team-layout{gap:35px}.service-row{grid-template-columns:50px 1.1fr 1fr;gap:20px}.profile{gap:45px;grid-template-columns:270px 1fr}.journey-strip{gap:25px}h2{font-size:30px}}
@media(max-width:700px){html{scroll-padding-top:20px}.header{height:82px;padding:0 5%;gap:12px}.compass{width:45px;height:45px;background-size:173px auto;background-position:-4px -4px}.brand{gap:9px}.brand-word{font-size:24px}.brand-word>span{font-size:11px}.header nav>a{display:none}.header nav>.nav-contact{display:block;padding:6px 15px;font-size:13px}.hero{height:auto;min-height:0;max-height:none;padding-bottom:0}.hero-portrait{top:0;right:0;width:44%;height:295px;object-position:50% 25%;object-fit:cover}.hero-inner{padding:28px 6% 27px}.eyebrow{font-size:12px;max-width:52%;line-height:1.7;margin-bottom:17px}.hero h1{font-size:34px;max-width:52%}.hero h1>span{font-size:17px;margin-top:9px}.hero-message{font-size:22px;line-height:1.65;max-width:55%;margin-top:24px}.hero-copy{font-size:14px;padding-top:23px;margin-top:20px}.hero .button{margin-top:22px}.hero-name{margin-top:16px;font-size:15px}.journey-strip{gap:8px;padding:18px 4%;font-size:12px;justify-content:space-between}.journey-strip a span{display:block;font-size:15px;line-height:1.6;margin:0}.flow-arrow{font-size:14px}.section{padding:55px 6%}.section-label{font-size:12px;gap:15px;margin-bottom:24px;flex-wrap:wrap}.section-label span{font-size:12px}h2{font-size:27px}.approach-body,.team-layout{display:block}.approach-body>div{margin-top:24px}.approach-body p{font-size:15px}.audience{display:block;margin-top:30px}.audience p{font-size:14px;margin-top:10px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:20px;font-size:14px}.service-row{grid-template-columns:35px 1fr;gap:18px;padding:30px 0}.service-index{font-size:29px}.service-index>span{font-size:10px}.service-main h3{font-size:24px}.service-lead{font-size:16px;margin-top:20px}.service-aside{grid-column:2;padding:0;border:0}.service-aside ul{margin:12px 0}.service-aside li{font-size:14px}.team-points{margin-top:28px}.profile{display:flex;flex-direction:column;gap:30px;align-items:stretch}.profile-photo{width:70%;max-width:270px;margin:auto}.profile h2{font-size:29px}.profile h3{font-size:23px}.contact h2{font-size:25px}.contact>p{font-size:14px}.contact .contact-sub{font-size:12px}.contact .button{gap:24px}footer{display:flex;flex-wrap:wrap;gap:16px;padding:28px 6%}footer .footer-brand{width:100%}footer p{font-size:11px}footer>a:last-child{margin-left:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
