/* 共通デザイントークン。下層ページもこのスタイルシートを共有できます。 */
:root{--green:#07583f;--ink:#213d33;--paper:#ffffff;--yellow:#f7cf42;--coral:#ad452c;--line:#dce5dc;--pale:#f8fff0;--font:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.95;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:5px}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #136a97;outline-offset:6px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{color:var(--green);font-weight:800;line-height:1.6}h2{font-size:clamp(27px,3.15vw,42px);letter-spacing:.035em}h3{font-size:25px;line-height:1.65}p+p{margin-top:1.3em}strong{font-weight:800}ul,ol{padding:0}::selection{background:#f4d55e;color:var(--green)}[hidden]{display:none!important}.mobile-only{display:none}.skip-link{position:fixed;z-index:100;top:-100px;left:12px;background:white;padding:12px 24px}.skip-link:focus{top:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;min-height:58px;padding:13px 28px;border-radius:60px;background:var(--green);color:white;text-decoration:none;font-size:16px;font-weight:700;transition:transform .2s,background .2s}.button:hover{background:#164c39;transform:translateY(-2px)}.button span{font-size:23px;line-height:1}.text-link{font-weight:700;display:inline-flex;align-items:center;gap:20px;padding:9px 0;text-decoration-thickness:1px}.text-link:hover{color:var(--coral)}.fine-print{font-size:14px;line-height:1.8;color:#56655c}.eyebrow,.kicker{font-size:15px;font-weight:700;letter-spacing:.08em}.kicker{margin-bottom:19px}.coral{color:var(--coral)}.section{max-width:1200px;margin:0 auto;padding:80px 40px}.section-marker{display:flex;align-items:center;gap:17px;font-size:12px;letter-spacing:.14em;font-weight:700;margin-bottom:48px;color:var(--green)}.section-marker span{font-size:13px;letter-spacing:0;border:1px solid var(--green);border-radius:50%;width:33px;height:33px;text-align:center;line-height:31px}.section-marker i{height:1px;flex:1;background:var(--line);margin-left:10px}.section-heading{margin-bottom:60px}.section-heading>p:last-child:not(.kicker){margin-top:20px}.small-dot{display:inline-block;height:9px;width:9px;border-radius:50%;background:var(--green);margin-right:7px}
/* Header */
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97);min-height:107px;padding:14px 3%;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid rgba(7,88,63,.08)}.brand{flex-shrink:0;text-decoration:none;display:flex;flex-direction:column;align-items:center}.brand-category{font-size:12px;font-weight:700;letter-spacing:.03em}.brand img{width:130px;height:66px;object-fit:contain;mix-blend-mode:multiply}.main-nav{display:flex;gap:22px;align-items:center}.main-nav a{font-size:13px;white-space:nowrap;font-weight:700;text-decoration:none;padding:12px 0}.main-nav a:hover{text-decoration:underline}.main-nav .dining-link{color:var(--coral)}.header-cta{min-height:48px;padding:10px 21px;font-size:14px;gap:15px}.menu-toggle{display:none}
/* Hero: clear copy alongside the complete supplied illustration. */
.hero{position:relative;max-width:1600px;margin:auto;display:grid;grid-template-columns:49% 51%;align-items:center;padding:36px 0 0 5.4%;min-height:710px;overflow:hidden}.hero-copy{position:relative;z-index:1;padding:0 0 25px}.hero .eyebrow{font-size:13px;letter-spacing:.04em;margin-bottom:25px}.hero h1{font-size:clamp(32px,3.3vw,51px);line-height:1.6;letter-spacing:.045em;margin-bottom:23px;white-space:nowrap}.hero-description{max-width:465px;font-size:15px;line-height:2.1;margin-bottom:27px;padding-right:18px}.hero-art{align-self:stretch;display:flex;align-items:center;padding:0 0 20px 15px}.hero-art img{width:100%;border-radius:47% 0 0 45% / 27% 0 0 24%;aspect-ratio:1372/1147;object-fit:contain}.hero-bottom{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:24px 6% 25px 0;font-size:13px;letter-spacing:.15em;border-top:1px solid var(--line);margin-right:4%}.hero-bottom>a{font-size:11px;letter-spacing:.16em;text-decoration:none;display:flex;gap:25px;align-items:center}.hero-bottom>a span{font-size:23px}
/* Restaurant editorial spread */
.gohan{padding-top:70px}.gohan-top{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.gohan-heading{font-size:25px;line-height:1.8}.gohan-name{display:block;font-size:38px;color:var(--coral);letter-spacing:.04em}.gohan-top>.text-link{font-size:14px;white-space:nowrap}.gohan-layout{display:grid;grid-template-columns:54% 1fr;gap:55px;margin-top:45px}.dining-photos{position:relative;min-height:610px;padding:0 38px 80px 0}.dining-main img{width:100%;aspect-ratio:1.05;object-fit:cover;border-radius:48% 47% 19% 19% / 35% 36% 17% 18%}.dining-small{position:absolute;right:0;top:330px;width:44%;aspect-ratio:1;object-fit:cover;border-radius:50%;border:8px solid var(--paper);transform:rotate(7deg)}.dining-building{width:43%;position:absolute;left:18px;top:460px;aspect-ratio:1.45;object-fit:cover;border-radius:20px;transform:rotate(-5deg);border:6px solid var(--paper)}.dining-copy{padding-top:7px}.dining-copy>p{margin-top:22px}.dining-copy h3{font-size:27px}.restaurant-info{margin:24px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;display:grid;grid-template-columns:1fr 1fr;gap:20px;font-size:14px}.restaurant-info dt{font-size:12px;color:#59675f}.restaurant-info dd{margin:6px 0 0;line-height:1.8}.restaurant-info strong{font-size:20px}.dining-copy .reservation-label{font-size:13px;margin:20px 0 0}.phone-number{display:block;font-size:clamp(30px,3.25vw,44px);font-weight:800;letter-spacing:.02em;text-decoration:none;line-height:1.5;color:var(--green);font-variant-numeric:tabular-nums}.phone-number:hover{text-decoration:underline}.coral-button{background:var(--coral)}.coral-button:hover{background:#933a23}.dining-actions{margin-top:15px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.dining-actions .button{min-width:245px}.dining-actions .text-link{font-size:14px}.dining-copy .fine-print{margin-top:9px;font-size:12px}
/* About */
.about{padding-top:80px}.about-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:100px}.about-title h2{font-size:40px}.highlight{background:linear-gradient(transparent 74%,#f6d764 74%,#f6d764 94%,transparent 94%);padding-bottom:3px}.about-title img{width:85%;margin:35px 0 0 -8px;border-radius:45% 45% 35% 35%;mix-blend-mode:multiply}.about-copy{padding-top:45px}.about-copy .lead{font-weight:700;font-size:19px}.about-copy>p{line-height:2.1}.wish{margin:30px 0;color:var(--green);font-weight:800;font-size:23px;line-height:1.9}.wish>span{display:table;background:linear-gradient(transparent 65%,#f8e593 65%);transform:rotate(-3deg);margin-bottom:4px}.wish>span:nth-child(2){margin-left:35px;transform:rotate(2deg)}.wish>span:nth-child(3){margin-left:65px}.wish p{font-size:16px;text-align:right;margin-top:4px}
/* Five jobs with varied scale, positions, and no cards */
.work{padding-top:95px}.work-spread{display:grid;grid-template-columns:1fr 1fr;gap:55px 95px}.work-item p{font-size:15px;line-height:2}.work-number{font-size:13px;font-weight:700;color:#526c5e;letter-spacing:.09em;display:block;margin-bottom:14px}.work-item h3{font-size:29px;margin-bottom:17px}.work-item .work-caption{font-size:13px;font-weight:700;margin:0 0 12px}.work-food img{aspect-ratio:1.4;width:100%;object-fit:cover;border-radius:90px 28px 90px 28px;margin-bottom:28px}.work-farm{align-self:center;padding:30px 20px 0 30px;border-top:2px solid #bad175;position:relative;margin-top:50px}.work-farm h3{font-size:36px}.farm-words{display:flex;gap:20px;align-items:center;margin-top:25px;color:var(--green)}.farm-words span{border-radius:50%;width:96px;height:96px;display:flex;align-items:center;justify-content:center;background:#f1fae7;font-size:18px;font-weight:700}.farm-words span:last-child{background:#fff2bd}.farm-words b{font-size:26px}.work-packing{display:grid;grid-template-columns:45% 1fr;grid-column:1/-1;max-width:860px;gap:55px;align-items:center;margin:0 auto;padding-top:35px}.work-packing img{border-radius:50%;mix-blend-mode:multiply}.work-packing h3 br{display:none}.work-it{margin-top:35px}.work-it img{width:90%;margin:0 0 28px;border-radius:40%;mix-blend-mode:multiply}.work-craft{padding-top:95px}.work-craft img{width:90%;margin:0 0 28px;border-radius:40%;mix-blend-mode:multiply}.work-note{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:75px;margin-top:95px;padding-top:40px;border-top:1px solid var(--line)}.work-note img{width:100%;aspect-ratio:1.5;object-fit:cover;border-radius:30px 110px 30px 30px}.work-note .kicker{font-size:14px;margin-bottom:10px}.work-note h3{font-size:30px;margin-bottom:20px}.work-note p{font-size:15px}.work-note .fine-print{font-size:12px}
/* A connected support path */
.support{padding-top:90px}.support h2{font-size:34px}.support-flow{list-style:none;display:flex;justify-content:space-between;gap:23px;position:relative;margin:55px 0 60px}.support-flow:before{content:"";position:absolute;left:6%;right:6%;height:130px;top:50px;border:2px dashed #97b29b;border-radius:50%;transform:rotate(2deg);z-index:-1}.support-flow li{width:23%;aspect-ratio:1;max-height:245px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border-radius:47% 53% 46% 54%;background:#eff9e7;transform:rotate(-3deg)}.support-flow li>*{transform:rotate(3deg)}.support-flow li:nth-child(even){margin-top:45px;background:#fff5cd;border-radius:54% 46% 54% 46%}.support-flow h3{font-size:22px;margin:7px 0}.support-flow p{font-size:13px;line-height:1.8}.step-no{font-size:13px;font-weight:700}.support-copy{max-width:750px;margin:auto}.support-copy>p{line-height:2}.support-copy .fine-print{margin-top:25px}
/* A small, cheerful lunch interlude */
.meals{margin-top:25px;margin-bottom:20px;padding:55px 65px;display:flex;align-items:center;justify-content:space-between;gap:65px;position:relative}.meals:before{content:"";position:absolute;inset:0 10px;background:#fffbea;border-radius:70px 140px 70px 130px;z-index:-1;transform:rotate(-2deg)}.meals-copy{max-width:650px}.meals-copy .kicker{font-size:13px}.meals h2{font-size:31px;margin-bottom:22px}.meals-copy>p{font-size:15px}.meals .meal-tag{font-weight:700;font-size:16px}.meal-price{border:2px solid var(--green);border-radius:50%;width:230px;height:230px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(5deg)}.meal-price>span{font-size:12px}.meal-price>strong{font-size:26px}.meal-price p{margin:0;font-size:15px}.meal-price b{font-size:44px}
/* Usage and daily schedule */
.use{padding-top:100px}.use-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}.days{font-size:20px;display:flex;align-items:baseline;gap:12px;color:var(--green)}.days strong{font-size:30px}.days strong>span{font-size:65px;line-height:1;font-family:Arial,sans-serif;padding:0 8px}.use-info{margin:20px 0 0}.use-info>div{display:grid;grid-template-columns:105px 1fr;padding:18px 0;border-bottom:1px solid var(--line);font-size:15px;gap:15px}.use-info dt{font-weight:700}.use-info dd{margin:0}.day-schedule{padding-top:10px}.day-schedule h3{font-size:22px}.day-schedule ol{list-style:none;position:relative;margin-top:20px}.day-schedule li{display:flex;align-items:center;gap:45px;padding:15px 20px 15px 0;position:relative;border-bottom:1px solid var(--line);font-weight:700;font-size:17px}.day-schedule time{font-size:21px;font-variant-numeric:tabular-nums;width:88px;color:var(--green)}.day-schedule li span{position:relative}.day-schedule li span:before{content:"";position:absolute;left:-27px;top:12px;width:8px;height:8px;background:#5d9772;border-radius:50%}.day-schedule .lunch-time{background:#fcf3ca;border-radius:0 40px 40px 0}.day-schedule .fine-print{font-size:12px}.reassurance{margin-top:85px;text-align:center;padding:40px 0 0}.reassurance h3{font-size:34px;line-height:1.9;letter-spacing:.05em;margin-bottom:30px}
/* Place */
.place-heading{display:grid;grid-template-columns:1.5fr 1fr;gap:65px;align-items:end;margin-bottom:40px}.place-heading h2{font-size:30px}.place-heading>p{font-size:15px}.place-main img{width:100%;max-height:570px;object-fit:cover;object-position:center 54%;border-radius:140px 28px 140px 28px;aspect-ratio:1.97}.place-main figcaption{font-size:13px;margin-top:15px;letter-spacing:.06em}.facilities{list-style:none;display:flex;gap:12px 28px;flex-wrap:wrap;font-size:14px;margin:28px 0 0}.facilities li:before{content:"✓";margin-right:8px;font-weight:700;color:var(--green)}
/* Contact and footer */
.contact{margin-top:75px;background:var(--pale);border-radius:50% 50% 0 0 / 65px 65px 0 0;padding:85px 25px 65px;text-align:center;position:relative}.contact-inner{max-width:900px;margin:auto}.contact h2{font-size:40px;margin-bottom:25px}.contact-worries{font-size:18px;line-height:2}.contact-inner>p{line-height:2}.contact .phone-number{font-size:56px;margin:28px 0 16px}.contact .button{min-width:310px}.mail-link{display:table;margin:25px auto;font-size:13px;text-decoration:none}.mail-link strong{font-size:21px;text-decoration:underline}.contact-close{margin-top:45px;font-weight:700;font-size:19px}.site-footer{max-width:1200px;margin:auto;padding:55px 40px 25px;font-size:14px}.footer-main{display:grid;grid-template-columns:1fr 1fr;gap:80px}.footer-name{font-size:30px;font-weight:800;color:var(--green);letter-spacing:.08em;margin:2px 0 12px}.footer-main p+p{margin-top:8px}.footer-main address{font-style:normal;line-height:2;margin-top:18px}.footer-main address a{text-decoration:none}.footer-main address a:hover{text-decoration:underline}.footer-nav{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:17px 35px;padding-top:16px}.footer-nav a{text-decoration:none;font-weight:700}.footer-nav a:hover{text-decoration:underline}.footer-instagram{grid-column:1/-1;color:var(--coral);margin-top:10px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:40px;padding-top:20px;font-size:12px}.footer-bottom a{text-decoration:none}.mobile-call{display:none}
/* Tablet navigation and layouts */
@media(min-width:1450px){.hero{min-height:780px}.hero h1{font-size:52px}}
@media(max-width:1180px){.site-header{padding:10px 4%;min-height:90px;gap:20px}.brand img{width:115px;height:57px}.header-cta{margin-left:auto}.main-nav{flex-wrap:wrap;justify-content:center;gap:8px 20px}.js-nav .main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:25px 6%;border-bottom:1px solid var(--line);box-shadow:0 15px 20px #07583f0b}.js-nav .main-nav.is-open{display:grid;grid-template-columns:1fr 1fr}.main-nav a{font-size:15px;padding:12px}.menu-toggle{display:flex;order:3;flex-direction:column;gap:5px;align-items:center;justify-content:center;background:none;border:0;color:var(--green);padding:7px;min-width:54px;min-height:54px;cursor:pointer}.menu-label{font-size:10px;font-weight:700}.menu-lines{width:23px;height:12px;border-top:2px solid currentColor;border-bottom:2px solid currentColor}.hero{min-height:620px;padding-top:25px}.hero h1{font-size:3.35vw;letter-spacing:.015em}.hero .eyebrow{font-size:11px}.hero-description{font-size:14px;max-width:400px}.hero-art{padding-left:8px}.gohan-layout{gap:35px;grid-template-columns:51% 1fr}.dining-photos{min-height:540px;padding-right:15px}.dining-small{top:290px;width:48%}.dining-building{top:420px}.dining-copy h3{font-size:23px}.gohan-heading{font-size:22px}.gohan-name{font-size:32px}.about-layout{gap:55px}.about-title h2{font-size:34px}.work-spread{gap:45px 55px}.work-farm{padding-left:10px}.support-flow h3{font-size:19px}.support-flow p{font-size:12px}.use-layout{gap:50px}.place-heading{gap:35px}.place-heading h2{font-size:26px}.meals{margin-left:20px;margin-right:20px}.meal-price{width:205px;height:205px}}
@media(max-width:900px) and (min-width:761px){.hero{min-height:550px}.hero h1{font-size:29px}.hero-copy{padding-bottom:25px}.hero .eyebrow{max-width:300px}.hero-description{font-size:13px}.hero .button{font-size:14px;padding:12px 20px;gap:15px}.section{padding-left:30px;padding-right:30px}.gohan-layout{grid-template-columns:47% 1fr;gap:30px}.dining-small{top:235px}.dining-building{top:365px}.gohan-top>.text-link{display:none}.about-layout{gap:35px}.about-title h2{font-size:28px}.about-copy{padding-top:25px}.about-copy p{font-size:15px}.work-item h3{font-size:26px}.work-farm h3{font-size:30px}.work-note{gap:40px}.support-flow{gap:10px}.support-flow li{width:24%;min-height:175px}.support h2{font-size:29px}.support-flow h3{font-size:17px}.support-flow p{font-size:11px}.use-layout{gap:30px}.use-info>div{grid-template-columns:85px 1fr;font-size:14px}.day-schedule li{gap:32px}.day-schedule li span:before{left:-21px}.place-heading{grid-template-columns:1fr}.place-heading>p{max-width:580px}.place-heading>p br{display:none}.meals{gap:30px;padding:40px}.meals-copy>p{font-size:14px}.meal-price{width:175px;height:175px}.meal-price>span{font-size:10px}.meal-price>strong{font-size:23px}}
/* Mobile */
@media(max-width:760px){html{scroll-padding-top:90px}body{font-size:16px;padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}.mobile-only{display:block}.section{padding:56px 24px}.section-marker{margin-bottom:32px;font-size:10px;gap:12px}.section-marker span{width:29px;height:29px;line-height:27px;font-size:12px}.section-heading{margin-bottom:35px}h2{font-size:28px}.kicker{font-size:13px;margin-bottom:14px}.button{min-height:56px;padding:13px 24px;font-size:15px;gap:28px}.site-header{min-height:80px;padding:8px 18px;gap:12px}.brand-category{font-size:10px}.brand img{width:103px;height:50px}.header-cta{font-size:12px;min-height:42px;padding:10px 14px;gap:9px}.header-cta span{font-size:17px}.menu-toggle{padding:4px;min-width:43px}.js-nav .main-nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:12px 24px 20px;max-height:calc(100dvh - 90px);overflow:auto}.main-nav a{padding:12px;border-bottom:1px solid var(--line);font-size:15px}.site-header:has(.main-nav:not(.is-open)){flex-wrap:nowrap}html:not(.js-nav) .site-header{position:relative;flex-wrap:wrap}html:not(.js-nav) .main-nav{order:5;width:100%}.hero{display:flex;flex-direction:column;min-height:0;padding:31px 24px 0;overflow:hidden;align-items:stretch}.hero-copy{padding:0}.hero .eyebrow{font-size:10px;margin-bottom:19px;letter-spacing:0}.small-dot{height:7px;width:7px;margin-right:3px}.hero h1{font-size:clamp(25px,6.55vw,44px);letter-spacing:.015em;line-height:1.65;margin-bottom:20px}.hero-description{max-width:520px;font-size:14px;line-height:2.1;padding:0;margin-bottom:22px}.hero-art{padding:0;margin:25px -24px 0 3%;align-self:auto}.hero-art img{width:100%;max-height:470px;border-radius:43% 0 0 38%;object-fit:cover;object-position:center}.hero-bottom{margin:20px 0 0;padding:16px 0;gap:15px;font-size:10px;letter-spacing:.06em}.hero-bottom>a{font-size:9px;gap:9px}.hero-bottom>a span{font-size:19px}.gohan{padding-top:45px}.gohan-top{display:block}.gohan-heading{font-size:18px;line-height:1.9}.gohan-name{font-size:28px;margin:6px 0}.gohan-top>.text-link{display:none}.gohan-layout{display:flex;flex-direction:column;gap:20px;margin-top:28px}.dining-photos{min-height:0;height:calc((100vw - 48px) * 1.15);max-height:620px;padding:0 45px 0 0}.dining-main img{aspect-ratio:1.18;border-radius:45% 45% 18% 18%}.dining-small{top:45%;width:41%;right:0;border-width:5px}.dining-building{top:69%;width:42%;left:14px;border-width:4px}.dining-copy{padding-top:0}.dining-copy h3{font-size:25px}.dining-copy>p{margin-top:18px;font-size:15px}.restaurant-info{font-size:14px;gap:18px;padding:18px 0}.restaurant-info dt{font-size:12px}.restaurant-info strong{font-size:22px}.phone-number{font-size:36px}.dining-actions .button{width:100%}.dining-actions{gap:12px}.dining-actions .text-link{min-height:48px;font-size:14px}.dining-copy .fine-print{font-size:12px}.about-layout{display:flex;flex-direction:column;gap:25px}.about-title h2{font-size:32px}.about-title img{width:77%;max-width:350px;margin:28px auto 0}.about-copy{padding:0}.about-copy .lead{font-size:18px}.about-copy>p{font-size:15px}.wish{max-width:320px;margin:28px auto}.work-spread{display:flex;flex-direction:column;gap:45px}.work-item h3{font-size:28px}.work-food img{margin-bottom:23px;aspect-ratio:1.35;border-radius:65px 20px 65px 20px}.work-farm{margin:0 0 0 25px;padding:25px 0 0 12px;max-width:none}.work-farm h3{font-size:30px}.farm-words span{width:82px;height:82px;font-size:16px}.work-packing{display:flex;flex-direction:column;gap:20px;padding-top:0}.work-packing img{width:80%;max-width:300px;align-self:flex-end}.work-packing h3 br{display:none}.work-it{margin-top:0}.work-it img{width:90%;max-width:360px}.work-craft{padding-top:0;margin-left:20px}.work-craft img{width:90%;max-width:340px}.work-note{grid-template-columns:1fr;gap:27px;margin-top:45px;padding-top:35px}.work-note img{aspect-ratio:1.33;border-radius:22px 70px 22px 22px}.work-note h3{font-size:26px;margin-bottom:14px}.support h2{font-size:26px}.support-flow{display:grid;grid-template-columns:1fr 1fr;gap:25px 14px;margin:35px 0}.support-flow:before{top:25%;height:55%;left:20%;right:20%;border-radius:40%}.support-flow li{width:100%;max-height:210px;min-height:165px;padding:15px 3px}.support-flow li:nth-child(even){margin-top:20px}.support-flow h3{font-size:18px;margin:5px 0}.support-flow p{font-size:11px}.step-no{font-size:12px}.support-copy>p{font-size:15px}.support-copy .fine-print{font-size:13px}.meals{flex-direction:column;align-items:flex-start;padding:38px 28px;margin:5px 14px 10px;gap:25px}.meals:before{inset:0;background:#fffbea;border-radius:35px 70px 35px 70px}.meals h2{font-size:28px}.meal-price{width:170px;height:170px;align-self:flex-end;margin-top:-5px}.meal-price>strong{font-size:23px}.meal-price>span{font-size:10px}.meal-price b{font-size:36px}.meals-copy>p{font-size:15px}.meals .meal-tag{font-size:15px}.use-layout{grid-template-columns:1fr;gap:35px}.days{font-size:18px}.days strong{font-size:27px}.days strong>span{font-size:56px}.use-info>div{grid-template-columns:88px 1fr;gap:12px;padding:16px 0;font-size:14px}.day-schedule h3{font-size:22px}.day-schedule li{font-size:17px;gap:40px;padding:14px 0}.day-schedule time{font-size:22px}.reassurance{margin-top:45px;padding-top:10px}.reassurance h3{font-size:22px;line-height:2;letter-spacing:0;margin-bottom:25px}.place-heading{grid-template-columns:1fr;gap:22px;margin-bottom:28px}.place-heading h2{font-size:24px}.place-main img{aspect-ratio:1.25;border-radius:65px 20px 65px 20px;object-position:center}.place-main figcaption{font-size:11px}.facilities{gap:9px 18px;font-size:13px}.contact{margin-top:35px;padding:65px 24px 45px;border-radius:50% 50% 0 0 / 35px 35px 0 0}.contact h2{font-size:29px;line-height:1.7}.contact-inner>p{font-size:14px}.contact-inner .contact-worries{font-size:15px;line-height:2.2}.contact-worries br{display:none}.contact .phone-number{font-size:36px;margin-top:25px}.contact .button{min-width:0;width:100%;max-width:350px;gap:20px}.mail-link strong{font-size:20px}.contact-inner .contact-close{font-size:15px;margin-top:30px}.site-footer{padding:40px 24px 25px}.footer-main{grid-template-columns:1fr;gap:25px}.footer-name{font-size:27px}.footer-nav{font-size:13px;gap:4px 20px;padding-top:0}.footer-nav a{padding:10px 0;min-height:44px}.footer-bottom{font-size:10px;align-items:center;margin-top:25px;gap:15px}.mobile-call{position:fixed;bottom:0;left:0;right:0;z-index:30;display:flex;align-items:center;justify-content:center;gap:24px;min-height:64px;padding:17px 12px calc(17px + env(safe-area-inset-bottom,0px));background:var(--green);color:white;text-decoration:none;font-size:15px;font-weight:700;box-shadow:0 -3px 18px #073d3315}.mobile-call span{font-size:23px;line-height:1}}
@media(max-width:360px){.site-header{padding:7px 12px;gap:8px}.header-cta{padding:10px 11px;font-size:11px}.section{padding-left:20px;padding-right:20px}.hero{padding-left:20px;padding-right:20px}.hero h1{font-size:6.5vw}.hero .eyebrow{font-size:9px}.gohan-name{font-size:26px}.support-flow{gap:18px 8px}.support-flow li{min-height:153px}.support-flow h3{font-size:16px}.support-flow p{font-size:10px}.phone-number,.contact .phone-number{font-size:32px}.reassurance h3{font-size:20px}.contact h2{font-size:26px}}
/* Supplied logo and photographs */
.brand img{height:auto;width:143px;margin-top:5px;mix-blend-mode:normal}.meals{gap:45px}.meals-copy{flex:1}.meal-photo{width:42%;flex-shrink:0;transform:rotate(3deg)}.meal-photo img{width:100%;aspect-ratio:1.22;object-fit:cover;border-radius:65px 22px 65px 22px}.meal-photo figcaption{font-size:12px;margin-top:10px;text-align:center}.place-gallery{display:grid;grid-template-columns:1fr 1.15fr;gap:40px;margin:35px 45px 0 100px;align-items:start}.place-gallery figure:first-child{padding-top:25px}.place-gallery img{width:100%;aspect-ratio:1.5;object-fit:cover;border-radius:25px}.place-gallery figure:last-child img{border-radius:70px 25px 25px 25px}.place-gallery figcaption{font-size:13px;margin-top:10px}.support,.meals{isolation:isolate}.support-flow:before{z-index:0}.support-flow li{position:relative;z-index:1}
@media(max-width:1180px){.brand img{width:125px}}
@media(max-width:760px){.brand img{width:108px}.meal-photo{width:90%;max-width:390px;align-self:flex-end}.meals{gap:25px}.meal-photo img{aspect-ratio:1.33;border-radius:45px 20px 45px 20px}.place-gallery{margin:25px 0 0;gap:17px;grid-template-columns:1fr 1fr}.place-gallery figure:first-child{padding-top:20px}.place-gallery img{aspect-ratio:1;border-radius:18px}.place-gallery figure:last-child img{border-radius:38px 18px 18px 18px}.place-gallery figcaption{font-size:11px}}
.hero-description,.dining-copy>p,.about-copy>p,.work-item p,.work-note p,.support-copy>p,.meals-copy>p,.place-heading>p,.contact-inner>p{font-size:16px}.work-item .work-caption{font-size:13px}.work-note .fine-print,.support-copy .fine-print{font-size:14px}.dining-copy .fine-print{font-size:13px}.dining-copy .reservation-label{font-size:14px}
@media(max-width:760px){.support-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.support-flow li{min-width:0;min-height:0;height:180px;aspect-ratio:auto;transform:none}.support-flow li>*{transform:none}.support-flow p{font-size:12px}.support-flow h3{font-size:17px}.hero-description{font-size:15px}}
@media(max-width:360px){.support-flow li{height:165px}.support-flow h3{font-size:15px}.support-flow p{font-size:11px}}
/* Bright white canvas and a one-time, staggered collage entrance. */
.contact{background:#fff;isolation:isolate}
.contact:before{content:"";position:absolute;inset:18px max(16px,6%) 10px;background:#f8fff0;border-radius:48% 52% 46% 54% / 32% 35% 65% 68%;z-index:-1;pointer-events:none}
.hero-art.hero-collage{position:relative;display:block;align-self:center;width:94%;aspect-ratio:1.04;min-width:0;padding:0;margin:8px 3% 25px;isolation:isolate}
.collage-shape{position:absolute;display:block;z-index:0;pointer-events:none}
.collage-shape-yellow{width:75%;height:70%;left:12%;top:13%;background:#fff8db;border-radius:47% 53% 59% 41% / 43% 40% 60% 57%;transform:rotate(-12deg)}
.collage-shape-blue{width:23%;height:24%;right:2%;top:63%;background:#eaf7fc;border-radius:50%}
.collage-shape-coral{width:9%;height:9%;left:7%;top:41%;background:#ffece4;border-radius:50%}
.collage-card{position:absolute;z-index:1;padding:10px 10px 12px;background:#fff;border-radius:7px;box-shadow:0 9px 22px #15453212,0 1px 4px #15453210;transform:rotate(var(--tilt));transform-origin:50% 60%}
.hero-collage .collage-card img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center;border-radius:3px}
.collage-card figcaption{position:relative;display:table;margin:9px auto 0;padding:1px 12px;border-radius:20px;color:var(--green);background:#eff8e9;font-size:13px;font-weight:700;line-height:1.8;white-space:nowrap}
.collage-it{left:4%;top:4%;width:43%;--tilt:-7deg;--arrival-x:-22px;--arrival-y:-22px;--arrival-turn:-5deg;--delay:0s}
.collage-food{left:52%;top:8%;width:41%;--tilt:8deg;--arrival-x:23px;--arrival-y:-16px;--arrival-turn:5deg;--delay:.22s}
.collage-food figcaption{background:#fff0e6;color:#974028}
.collage-natural{left:5%;top:50%;width:41%;--tilt:-6deg;--arrival-x:-24px;--arrival-y:22px;--arrival-turn:-5deg;--delay:.44s}
.collage-natural figcaption{font-size:12px;padding-inline:9px}
.collage-packing{left:64%;top:46%;width:30%;--tilt:5deg;--arrival-x:22px;--arrival-y:20px;--arrival-turn:5deg;--delay:.66s;border-radius:48% 48% 18px 18px;padding:9px}
.hero-collage .collage-packing img{border-radius:50%}
.collage-packing figcaption{background:#edf8ff}
.collage-craft{left:40%;top:59%;width:36%;--tilt:7deg;--arrival-x:12px;--arrival-y:25px;--arrival-turn:6deg;--delay:.88s;z-index:2}
.collage-craft figcaption{background:#fff6cf}
.collage-it{--arrival-x:12px;--arrival-y:12px;--arrival-turn:3deg}
.collage-food{--arrival-x:-12px;--arrival-y:12px;--arrival-turn:-3deg}
.collage-natural{--arrival-x:12px;--arrival-y:-12px;--arrival-turn:3deg}
.collage-packing{--arrival-x:-12px;--arrival-y:-12px;--arrival-turn:-3deg}
.collage-craft{--arrival-x:0px;--arrival-y:-12px;--arrival-turn:-3deg}
@keyframes collage-arrive{from{opacity:0;transform:translate(var(--arrival-x),var(--arrival-y)) rotate(calc(var(--tilt) + var(--arrival-turn))) scale(.96)}to{opacity:1;transform:translate(0,0) rotate(var(--tilt)) scale(1)}}
@media(prefers-reduced-motion:no-preference){.collage-card{animation:collage-arrive .7s cubic-bezier(.22,.61,.36,1) var(--delay) both}}
@media(max-width:1180px){.hero-art.hero-collage{aspect-ratio:.96}.collage-card{padding:7px 7px 9px}.collage-card figcaption{font-size:12px;margin-top:6px;padding-inline:9px}.collage-natural figcaption{font-size:10px;padding-inline:5px}}
@media(max-width:760px){
  .hero-art.hero-collage{width:100%;max-width:490px;aspect-ratio:.98;align-self:center;padding:0;margin:26px 0 5px}
  .collage-card{padding:7px 7px 9px}
  .collage-it{left:4%;top:5%;width:42%;--tilt:-6deg}
  .collage-food{left:53%;top:9%;width:41%;--tilt:7deg}
  .collage-natural{left:4%;top:52%;width:44%;--tilt:-5deg}
  .collage-packing{display:none}
  .collage-craft{left:54%;top:52%;width:39%;--tilt:6deg;--delay:.66s}
  .collage-card figcaption{font-size:12px;margin-top:6px;padding-inline:9px}
  .collage-natural figcaption{font-size:10px;padding-inline:5px}
  .collage-shape-yellow{top:14%;left:12%;width:80%;height:72%}
  .collage-shape-blue{right:2%;top:71%;height:20%}
  .contact:before{inset:25px 10px 15px;border-radius:45% 55% 45% 55% / 18% 21% 23% 22%}
}
@media print{.collage-card{animation:none!important}}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{.site-header{position:static}.main-nav,.header-cta,.menu-toggle,.mobile-call,.hero-bottom{display:none!important}body{padding-bottom:0}.section{padding-top:30px;padding-bottom:30px}.contact{break-inside:avoid}.hero{min-height:0}.hero h1{font-size:30px}a{text-decoration:none}}

/* Vegetables grown and harvested at Hitoto Works. */
.farm-harvest{margin-top:24px}
.farm-harvest img{width:100%;height:auto;border-radius:28px 80px 28px 60px}
.farm-harvest figcaption{margin-top:14px;font-size:13px;line-height:1.9;color:#526c5e}
@media(max-width:760px){.farm-harvest img{border-radius:22px 60px 22px 45px}}
