:root{--ink:#18201d;--green:#17352d;--deep:#0e2822;--paper:#f4f0e7;--white:#fffdf8;--gold:#c69745;--line:rgba(24,32,29,.18);--serif:"Noto Serif JP",serif;--sans:"Noto Sans JP",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:16px;line-height:2;overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit}.skip-link{position:fixed;z-index:100;top:-100px;left:1rem;background:#fff;padding:.7rem 1rem}.skip-link:focus{top:1rem}.site-header{height:88px;position:absolute;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;padding:0 2.2vw;border-bottom:1px solid rgba(255,255,255,.2);color:#fff}.brand{display:flex;align-items:center;gap:13px;line-height:1}.brand-mark{width:32px;height:35px;position:relative;display:block}.brand-mark i{position:absolute;bottom:1px;width:9px;border-radius:80% 0 80% 0;background:var(--gold);transform-origin:bottom}.brand-mark i:nth-child(1){height:23px;left:2px;transform:rotate(-28deg)}.brand-mark i:nth-child(2){height:31px;left:12px}.brand-mark i:nth-child(3){height:20px;right:1px;transform:rotate(30deg)}.brand b{font-size:1.45rem;letter-spacing:.18em;font-weight:500}.brand small{display:block;margin-top:8px;font:500 .56rem/1 var(--sans);letter-spacing:.2em}.desktop-nav{margin-left:auto;display:flex;gap:2.2rem;font-size:.78rem;letter-spacing:.1em}.desktop-nav a{position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:#fff;transition:.35s}.desktop-nav a:hover:after{right:0}.reserve-link{margin-left:2.3rem;padding:10px 18px;border:1px solid rgba(255,255,255,.65);font-size:.78rem;letter-spacing:.12em}.menu-button{width:72px;height:88px;margin-left:10px;border:0;border-left:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer}.menu-button span{font:500 .57rem/1 var(--sans);letter-spacing:.18em}.menu-button i{display:block;width:24px;height:1px;background:currentColor;transition:.3s}.menu-open .menu-button i:nth-of-type(1){transform:translateY(3.5px) rotate(45deg)}.menu-open .menu-button i:nth-of-type(2){transform:translateY(-3.5px) rotate(-45deg)}.menu-panel{position:fixed;z-index:15;inset:0;background:var(--green);color:#fff;opacity:0;visibility:hidden;transform:translateY(-3%);transition:.45s ease}.menu-panel.open{opacity:1;visibility:visible;transform:none}.menu-inner{height:100%;display:grid;align-content:center;max-width:760px;margin:auto;padding:100px 7vw}.menu-kicker{font:500 .7rem/1 var(--sans);letter-spacing:.35em;color:var(--gold)}.menu-inner nav{border-top:1px solid rgba(255,255,255,.2)}.menu-inner nav a{display:flex;align-items:center;gap:1.6rem;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.16);font-size:clamp(1.25rem,2.5vw,2rem)}.menu-inner nav span{font:400 .65rem/1 var(--sans);color:var(--gold)}.menu-contact{display:flex;justify-content:space-between;align-items:end;margin-top:2rem}.menu-contact small{font-family:var(--sans)}.menu-contact a{font-size:1.4rem;letter-spacing:.08em}.hero{height:100svh;min-height:700px;position:relative;display:grid;place-items:center;color:#fff;background:var(--deep);overflow:hidden}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,27,23,.66),rgba(8,27,23,.28) 52%,rgba(8,27,23,.55))}.hero-image{position:absolute;inset:-3%;background:url('ajimu-landscape.jpg') center/cover;filter:saturate(.68) contrast(1.05);animation:heroZoom 18s ease-out both}.hero-place{position:absolute;z-index:2;left:4vw;top:50%;margin:0;transform:translateY(-45%);writing-mode:vertical-rl;font-size:.72rem;letter-spacing:.22em;line-height:2}.hero-copy{position:relative;z-index:2;margin:34px 0 0;display:flex;flex-direction:row-reverse;gap:clamp(18px,3vw,52px);font-weight:400}.hero-copy span{writing-mode:vertical-rl;font-size:clamp(2rem,4.3vw,4.2rem);letter-spacing:.18em;line-height:1.25;text-shadow:0 2px 18px rgba(0,0,0,.2)}.hero-copy span:nth-child(2){margin-top:11vh}.hero-copy span:nth-child(3){margin-top:4vh}.hero-copy span:nth-child(4){margin-top:16vh}.hero-lines{position:absolute;z-index:2;inset:18% 26% 16%}.hero-lines i{position:absolute;display:block;width:1px;background:rgba(255,255,255,.45);transform:rotate(42deg)}.hero-lines i:nth-child(1){height:120px;left:29%;top:18%}.hero-lines i:nth-child(2){height:80px;left:48%;top:45%}.hero-lines i:nth-child(3){height:110px;left:69%;top:13%}.scroll-cue{position:absolute;z-index:2;right:3vw;bottom:0;display:flex;flex-direction:column;align-items:center;gap:15px}.scroll-cue span{writing-mode:vertical-rl;font:500 .56rem/1 var(--sans);letter-spacing:.18em}.scroll-cue i{display:block;width:1px;height:75px;background:rgba(255,255,255,.6);position:relative;overflow:hidden}.scroll-cue i:after{content:"";position:absolute;width:1px;height:32px;background:#fff;animation:scroll 2s infinite}.hero-year{position:absolute;z-index:2;right:4vw;top:46%;margin:0;writing-mode:vertical-rl;font:400 .62rem/1 var(--sans);letter-spacing:.2em}.page-pad{padding-left:8vw;padding-right:8vw}.intro{min-height:700px;padding-top:150px;padding-bottom:150px;display:grid;grid-template-columns:120px 1fr;max-width:1500px;margin:auto}.vertical-label{writing-mode:vertical-rl;margin:0;font:500 .65rem/1 var(--sans);letter-spacing:.25em;color:var(--gold)}.intro-body{max-width:1000px}.eyebrow{margin:0 0 1rem;font:600 .65rem/1.4 var(--sans);letter-spacing:.24em;color:var(--gold)}.intro h2{margin:0;font-size:clamp(2.1rem,4.4vw,4.8rem);font-weight:400;line-height:1.55;letter-spacing:.07em}.intro-copy{width:65%;margin:70px 0 0 auto;display:grid;grid-template-columns:1fr 1fr;gap:45px;font-size:.95rem;line-height:2.25}.message{padding-top:130px;padding-bottom:160px;border-top:1px solid var(--line)}.section-heading{position:relative;max-width:900px;margin:0 auto 90px;display:grid;grid-template-columns:60px 1fr auto;align-items:start}.section-no{font:500 .7rem/1 var(--sans);color:var(--gold)}.section-heading h2{margin:0;font-size:clamp(2.3rem,5vw,5.5rem);line-height:1.3;font-weight:400;letter-spacing:.06em}.section-heading h2 span{display:block}.section-en{align-self:end;margin:0 0 .7rem;writing-mode:vertical-rl;font:500 .6rem/1 var(--sans);letter-spacing:.25em;color:var(--gold)}.portrait-wrap{max-width:1180px;margin:auto;position:relative}.portrait{width:73%;height:min(62vw,690px);margin:0;overflow:hidden}.portrait img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.02)}.portrait-note{position:absolute;right:8%;bottom:4%;margin:0;font:500 clamp(2.2rem,6vw,6.5rem)/.88 var(--sans);letter-spacing:.08em;color:transparent;-webkit-text-stroke:1px var(--gold);text-align:right}.message-grid{max-width:1040px;margin:100px auto 0;display:grid;grid-template-columns:.9fr 1.1fr;gap:10vw}.message-lead h3{font-size:clamp(1.6rem,3vw,2.7rem);font-weight:400;line-height:1.7}.message-copy{font-size:.94rem;line-height:2.35}.message-copy p{margin:0 0 1.5rem}.values{background:#e7e2d7;padding:0 8vw}.value-card{max-width:1200px;margin:auto;padding:100px 2vw;display:grid;grid-template-columns:70px 1fr 1fr;gap:6vw;align-items:start;border-top:1px solid rgba(24,32,29,.25)}.value-card:first-child{border-top:0}.value-num{color:var(--gold);font-size:2.2rem}.value-card h2{font-size:clamp(1.8rem,3vw,3.2rem);font-weight:400;line-height:1.55;margin:0}.value-card>p{font-size:.93rem;line-height:2.25;margin:1rem 0}.about{min-height:900px;padding-top:150px;padding-bottom:150px;background:var(--green);color:#fff;display:grid;grid-template-columns:1.05fr .95fr;gap:8vw;align-items:center}.about-visual{height:760px;overflow:hidden;margin-left:-8vw}.about-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.7)}.about-content .section-heading{display:grid;grid-template-columns:45px 1fr auto;margin-bottom:50px}.section-heading.light .section-no,.section-heading.light .section-en{color:#dbc18e}.about-content>p{max-width:570px;font-size:.95rem;line-height:2.3}.facts{margin:55px 0 45px;border-top:1px solid rgba(255,255,255,.25)}.facts div{display:grid;grid-template-columns:145px 1fr;align-items:center;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.25)}.facts dt{font:400 1.6rem/1 var(--sans);color:#dbc18e}.facts dd{margin:0;font-size:.82rem}.text-link{width:max-content;display:flex;align-items:center;gap:35px;font-size:.85rem;letter-spacing:.1em}.text-link i{display:block;width:80px;height:1px;background:currentColor;position:relative;transition:.35s}.text-link i:after{content:"";position:absolute;right:0;bottom:0;width:12px;height:1px;background:currentColor;transform:rotate(35deg);transform-origin:right}.text-link:hover i{width:105px}.experience{padding-top:150px;padding-bottom:160px}.experience-list{max-width:1120px;margin:auto;border-top:1px solid var(--line)}.experience-item{display:grid;grid-template-columns:80px .7fr 1fr;gap:5vw;align-items:center;padding:45px 0;border-bottom:1px solid var(--line)}.experience-item>span{font:500 .7rem/1 var(--sans);color:var(--gold)}.experience-item div p{margin:0;font:600 .6rem/1 var(--sans);letter-spacing:.25em;color:var(--gold)}.experience-item h3{margin:8px 0 0;font-size:clamp(1.5rem,2.6vw,2.4rem);font-weight:400}.experience-item>p{margin:0;font-size:.9rem;line-height:2}.stay{min-height:800px;position:relative;padding-top:140px;padding-bottom:140px;display:flex;justify-content:flex-end;overflow:hidden;background:#d8d1c3}.stay-bg{position:absolute;inset:0 40% 0 0;background:url('ajimu-family.jpg') center/cover;filter:saturate(.65)}.stay-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,#d8d1c3)}.stay-content{position:relative;width:52%;padding:55px 5vw;background:rgba(244,240,231,.93)}.stay-content h2{margin:.6rem 0 2rem;font-size:clamp(1.9rem,3.3vw,3.2rem);font-weight:400;line-height:1.6}.stay-content>p{font-size:.9rem;line-height:2.2}.stay-info{display:grid;grid-template-columns:1fr 1fr;margin:38px 0}.stay-info div{padding:0 18px;border-left:1px solid var(--line)}.stay-info div:last-child{grid-column:1/-1;margin-top:22px}.stay-info span{display:block;font:600 .55rem/1 var(--sans);letter-spacing:.2em;color:var(--gold)}.stay-info strong{display:block;margin-top:9px;font:400 1.1rem/1 var(--sans);letter-spacing:.08em}.closing{min-height:840px;background:var(--deep);color:#fff;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:110px 11vw;gap:10vw;position:relative;overflow:hidden}.closing:before{content:"";position:absolute;width:55vw;height:55vw;border:1px solid rgba(255,255,255,.08);border-radius:50%;left:-25vw;top:8%}.closing-copy{display:flex;flex-direction:row-reverse;justify-content:center;gap:3vw}.vertical-closing{writing-mode:vertical-rl;margin:20px 0 0;font-size:.75rem;letter-spacing:.18em;color:#dbc18e}.closing-copy h2{display:flex;flex-direction:row-reverse;gap:20px;margin:0;font-size:clamp(2rem,4.2vw,4.4rem);font-weight:400;line-height:1.2;letter-spacing:.15em}.closing-copy h2 span{writing-mode:vertical-rl}.closing-copy h2 span:nth-child(2){margin-top:80px}.closing-copy h2 span:nth-child(3){margin-top:150px}.closing-cta>p{font-size:.94rem}.primary-button{display:grid;place-items:center;width:100%;max-width:390px;height:85px;margin:35px 0 40px;border:1px solid #dbc18e;background:#dbc18e;color:var(--deep);font-size:.95rem;letter-spacing:.16em;transition:.3s}.primary-button:hover{background:transparent;color:#fff}.phone-label{margin-bottom:5px!important;font:500 .6rem/1 var(--sans);letter-spacing:.18em;color:#dbc18e}.phone{font:400 clamp(1.6rem,3vw,2.7rem)/1 var(--sans);letter-spacing:.08em}.site-footer{padding:80px 6vw 25px;background:#f0ece3;display:grid;grid-template-columns:1fr 1fr 1fr;gap:5vw}.footer-brand strong{display:block;font-size:2.2rem;font-weight:500;letter-spacing:.16em}.footer-brand span{font:500 .6rem/1 var(--sans);letter-spacing:.25em}.footer-address{font-size:.78rem;line-height:1.8}.site-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:8px 30px;font-size:.78rem}.site-footer nav a:hover{color:var(--gold)}.footer-bottom{grid-column:1/-1;margin-top:50px;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font:500 .56rem/1 var(--sans);letter-spacing:.15em}.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s ease,transform .9s ease}.reveal.visible{opacity:1;transform:none}@keyframes heroZoom{from{transform:scale(1.08)}to{transform:scale(1)}}@keyframes scroll{from{top:-35px}to{top:80px}}
@media(max-width:980px){.desktop-nav,.reserve-link{display:none}.menu-button{margin-left:auto}.intro{grid-template-columns:60px 1fr}.intro-copy{width:82%}.about{grid-template-columns:1fr;padding-left:8vw}.about-visual{height:60vw;min-height:420px;margin-right:-8vw}.stay-bg{inset:0 27% 0 0}.stay-content{width:65%}.site-footer{grid-template-columns:1fr 1fr}.site-footer nav{grid-column:1/-1}}
@media(max-width:680px){body{font-size:15px}.site-header{height:72px;padding:0 18px}.brand b{font-size:1.15rem}.brand small{font-size:.48rem}.menu-button{width:55px;height:72px}.hero{min-height:650px}.hero-place{left:14px}.hero-copy{gap:14px;margin-top:40px}.hero-copy span{font-size:clamp(1.65rem,8vw,2.6rem)}.hero-copy span:nth-child(2){margin-top:8vh}.hero-copy span:nth-child(3){margin-top:2vh}.hero-copy span:nth-child(4){margin-top:12vh}.hero-lines{display:none}.hero-year{right:18px}.scroll-cue{right:20px}.page-pad{padding-left:24px;padding-right:24px}.intro{min-height:auto;padding-top:100px;padding-bottom:100px;display:block}.vertical-label{writing-mode:initial;margin-bottom:30px}.intro h2{font-size:1.9rem}.intro-copy{width:100%;margin-top:50px;grid-template-columns:1fr;gap:10px}.message{padding-top:90px;padding-bottom:100px}.section-heading{grid-template-columns:38px 1fr auto;margin-bottom:55px}.section-heading h2{font-size:2.15rem}.portrait{width:92%;height:92vw}.portrait-note{right:0}.message-grid{margin-top:70px;grid-template-columns:1fr;gap:28px}.value-card{padding:70px 0;grid-template-columns:44px 1fr}.value-card>p{grid-column:2}.about{padding-top:80px;padding-bottom:90px;display:block}.about-visual{height:70vh;min-height:430px;margin:0 -24px 70px}.about-content .section-heading{grid-template-columns:38px 1fr auto}.facts div{grid-template-columns:110px 1fr}.experience{padding-top:95px;padding-bottom:100px}.experience-item{grid-template-columns:30px 1fr;gap:22px;padding:32px 0}.experience-item>p{grid-column:2}.stay{padding-top:300px;padding-bottom:70px}.stay-bg{inset:0 0 46% 0}.stay-bg:after{background:linear-gradient(0deg,#d8d1c3,transparent 48%)}.stay-content{width:100%;padding:38px 24px}.stay-info{grid-template-columns:1fr}.stay-info div:nth-child(2){margin-top:20px}.closing{min-height:760px;grid-template-columns:1fr;padding:85px 24px;gap:60px}.closing-copy{min-height:350px}.closing-copy h2{font-size:2.25rem}.closing-copy h2 span:nth-child(2){margin-top:55px}.closing-copy h2 span:nth-child(3){margin-top:105px}.site-footer{padding:65px 24px 25px;grid-template-columns:1fr}.site-footer nav{grid-column:auto}.footer-bottom{grid-column:auto;margin-top:25px}.menu-inner{padding-left:30px;padding-right:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-image{animation:none}.scroll-cue i:after{animation:none}.reveal{opacity:1;transform:none;transition:none}}

/* Keep the decorative diagonal lines behind the hero typography. */
.hero-lines{z-index:1;pointer-events:none}

/* Official Ajimu Green Tourism logo lockup */
.brand{gap:12px}
.brand-mark{width:48px;height:48px;border-radius:50%;background:#2f5b43;display:grid;place-items:center;flex:0 0 auto;position:relative}
.brand-mark img{width:25px;height:25px}
.brand b{font-size:1rem;letter-spacing:.06em;font-weight:600;white-space:nowrap}
.brand small{margin-top:7px;font-size:.55rem;letter-spacing:.14em}
.site-footer .brand{color:var(--ink);align-self:start}
.site-footer .brand-mark{background:#2f5b43}
.site-footer .brand b{font-size:.98rem}
.site-footer .brand small{font-size:.52rem}
@media(max-width:680px){.site-header{padding-left:12px}.site-header .brand{gap:8px}.site-header .brand-mark{width:40px;height:40px}.site-header .brand-mark img{width:22px;height:22px}.site-header .brand b{font-size:.72rem;letter-spacing:.02em}.site-header .brand small{font-size:.45rem}}

/* Hero message: Ajimu as the origin of Japanese farm stays */
.hero-copy{gap:clamp(28px,5vw,78px)}
.hero-copy span{font-size:clamp(2.35rem,5.2vw,5.25rem)}
.hero-copy span:nth-child(1){margin-top:0}
.hero-copy span:nth-child(2){margin-top:9vh}
.hero-place{top:47%;line-height:2.3}
.hero-statement{position:absolute;z-index:2;left:10vw;bottom:45px;margin:0;padding-left:20px;border-left:1px solid rgba(255,255,255,.65);font:500 .72rem/1.9 var(--sans);letter-spacing:.12em}
@media(max-width:680px){.hero-copy{gap:22px;margin-top:10px}.hero-copy span{font-size:clamp(2rem,10.5vw,2.8rem);letter-spacing:.12em}.hero-copy span:nth-child(2){margin-top:7vh}.hero-place{top:44%;left:15px;font-size:.62rem;line-height:2}.hero-statement{left:18px;right:55px;bottom:28px;padding-left:12px;font-size:.58rem;line-height:1.75;letter-spacing:.07em}.hero-statement br{display:none}}

.site-header .brand b{font-size:.86rem;letter-spacing:.035em}
.site-footer .brand b{font-size:.86rem;letter-spacing:.035em}
@media(max-width:680px){.site-header .brand b{font-size:.62rem;letter-spacing:0}.site-header .brand small{font-size:.42rem}}

/* News and pricing directly below the first view */
.quick-info{display:grid;grid-template-columns:1.08fr .92fr;background:var(--paper);border-bottom:1px solid var(--line)}
.news-panel,.price-panel{padding:82px 6vw}
.quick-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px}
.quick-heading h2{margin:0;font-size:clamp(1.8rem,3vw,2.8rem);font-weight:400;line-height:1.3;letter-spacing:.06em}
.quick-heading>a{padding-bottom:5px;border-bottom:1px solid currentColor;font:500 .68rem/1.5 var(--sans);letter-spacing:.1em;white-space:nowrap}
.news-list{border-top:1px solid var(--line)}
.news-list>a{display:grid;grid-template-columns:95px 1fr 24px;gap:22px;align-items:center;padding:19px 0;border-bottom:1px solid var(--line);font-size:.82rem;line-height:1.7}
.news-list time{font:500 .64rem/1 var(--sans);letter-spacing:.08em;color:var(--gold)}
.news-list i{width:18px;height:1px;background:currentColor;position:relative;transition:.3s}
.news-list i:after{content:"";position:absolute;right:0;bottom:0;width:7px;height:1px;background:currentColor;transform:rotate(35deg);transform-origin:right}
.news-list>a:hover i{width:24px}
.price-panel{background:var(--green);color:#fff}
.price-panel .eyebrow{color:#dbc18e}
.price-heading>a{color:#dbc18e}
.price-note{margin:-6px 0 23px;font:500 .68rem/1.7 var(--sans);letter-spacing:.06em;color:rgba(255,255,255,.72)}
.price-list{border-top:1px solid rgba(255,255,255,.28)}
.price-list>div{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.28)}
.price-list span{font-size:.78rem}
.price-list p{margin:0;font:400 .67rem/1.4 var(--sans);white-space:nowrap}
.price-list strong{margin:0 3px;font-size:1.55rem;font-weight:400;letter-spacing:.03em;color:#dbc18e}
@media(max-width:900px){.quick-info{grid-template-columns:1fr}.news-panel,.price-panel{padding:70px 8vw}}
@media(max-width:680px){.news-panel,.price-panel{padding:60px 24px}.quick-heading{margin-bottom:28px}.quick-heading h2{font-size:1.8rem}.news-list>a{grid-template-columns:75px 1fr 15px;gap:12px;padding:17px 0;font-size:.76rem}.news-list time{font-size:.57rem}.price-note{font-size:.61rem}.price-list>div{display:block;padding:14px 0}.price-list p{margin-top:6px;white-space:normal}.price-list strong{font-size:1.45rem}}
