:root{font-family:'Noto Sans JP',sans-serif;color:#173f32;background:#fff6e4;font-synthesis:none;font-weight:400;font-size:16px;--paper:#fff6e4;--red:#a93624;--forest:#173f32;--orange:#ee692a;--line:rgba(23,63,50,.23)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;min-width:320px;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button{color:inherit}img{display:block;width:100%;height:100%;object-fit:cover}figure{margin:0}h1,h2,h3,h4,p{margin:0}a{text-decoration:none}button{border:0}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #226abe;outline-offset:5px}::selection{background:#ecdca6;color:#173f32}.site{overflow:clip}.cafe-page{color:var(--red);--line:rgba(169,54,36,.28)}.sup-page{background:#f6efde}.mobile-only{display:none}.skip-link{position:fixed;left:12px;top:12px;transform:translateY(-200%);z-index:100;padding:12px 18px;background:white;color:#173f32}.skip-link:focus{transform:none}
.site-header{height:92px;padding:0 4.1%;display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;z-index:30;background:var(--paper)}.header-brand{display:flex;align-items:center;gap:15px}.header-brand>span{font-size:12px;font-weight:700;line-height:1.35;letter-spacing:1.8px}.desktop-nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:700}.desktop-nav a{padding:12px 0}.desktop-nav a:hover{text-decoration:underline;text-underline-offset:7px}.desktop-nav .home-nav-link{font-size:11px;font-weight:400;opacity:.8;border-left:1px solid var(--line);padding-left:20px}.header-message{font-size:10px;letter-spacing:1px;line-height:1.25;display:flex;align-items:center;gap:15px}.header-message>span{font-size:13px;line-height:1.6;letter-spacing:0}.honua-wordmark{font:44px/1 'Anton',sans-serif;letter-spacing:-1px}.menu-toggle{display:none;background:none;padding:10px}.mobile-nav{position:absolute;top:100%;left:0;width:100%;padding:16px 24px 28px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 12px 22px #00000012}.mobile-nav a{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line);font-weight:700}
.action{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:17px 26px;background:var(--red);color:var(--paper);border:1px solid transparent;border-radius:100px;font-size:16px;font-weight:700;line-height:1.4;min-height:58px;transition:background .18s,transform .18s}.action:hover{background:#842718;transform:translateY(-2px)}.action-secondary{background:transparent;border-color:currentColor;color:inherit}.action-secondary:hover{background:#00000009}.text-link{display:inline-flex;align-items:center;gap:14px;font-size:15px;font-weight:700;text-decoration:underline;text-underline-offset:6px}.text-link:hover{gap:20px}.small-note{font-size:12px;line-height:1.9;opacity:.85}.section-kicker{display:block;font-size:15px;letter-spacing:2px;font-weight:700;margin-bottom:22px}.section-wrap{padding:88px max(4.5%,calc((100vw - 1340px)/2))}.section-wrap h2{font-size:clamp(28px,3vw,46px);line-height:1.55;letter-spacing:-1px}.section-wrap p{font-size:15px;line-height:2}.split-heading{display:grid;grid-template-columns:1.3fr 1fr;align-items:end;gap:60px}.split-heading>p{padding-bottom:8px}.photo-note{position:absolute;bottom:14px;right:18px;font-size:10px;color:white;text-shadow:0 1px 5px #000}.photo-button{display:block;width:100%;padding:0;background:none;overflow:hidden}.photo-button img{transition:transform .5s}.photo-button:hover img{transform:scale(1.035)}
.cross-link{position:fixed;bottom:20px;right:18px;z-index:35;display:flex;align-items:center;gap:12px;padding:20px 23px;background:#e9bb50;color:#173f32;border-radius:58% 42% 51% 49% / 45% 60% 40% 55%;font-size:14px;font-weight:700;box-shadow:0 4px 14px #00000012;transition:transform .2s}.cross-link:hover{transform:translateY(-4px)}.cross-link small{display:block;font-size:8px;letter-spacing:1px;font-weight:400;margin-top:4px}.cross-link.to-sup{background:#173f32;color:#fff6e4}.site-footer{padding:44px 5% 130px;border-top:1px solid var(--line);background:var(--paper)}.footer-top{display:flex;justify-content:space-between;gap:28px;align-items:center}.footer-brand{font-family:'Fraunces',serif;font-size:21px}.footer-brand span{font-family:'Noto Sans JP';font-weight:400;font-size:14px;padding:0 8px}.footer-top nav{display:flex;gap:28px;font-size:13px}.footer-top nav a:hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:10px;letter-spacing:.3px;margin-top:35px;opacity:.8}
.modal{border:0;padding:0;background:var(--paper);color:var(--forest);border-radius:2px;width:min(550px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;box-shadow:0 20px 100px #0004}.modal::backdrop{background:#092a24b8;backdrop-filter:blur(4px)}.modal-close{position:absolute;top:12px;right:12px;background:var(--paper);color:#173f32;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;z-index:2}.modal-content{padding:58px 38px 35px}.modal-kicker{font-family:'Anton';font-size:17px;letter-spacing:1px}.modal-content h2{font-size:34px;line-height:1.5;margin:18px 0}.modal-content>p{font-size:14px;line-height:1.9}.booking-memo{margin:22px 0;padding:18px 0;border-block:1px solid var(--line);font-size:13px;line-height:1.9}.booking-memo h3{font-size:14px;margin-bottom:8px}.modal-content .action{margin-top:24px;background:var(--forest);width:100%}.photo-modal{width:min(850px,calc(100vw - 32px))}.photo-modal>img{width:100%;height:auto;max-height:70dvh;object-fit:contain;background:#241d13}.photo-caption{padding:20px 26px}.photo-caption h2{font-size:20px}.photo-caption p{font-size:11px;margin-top:8px}
.home-wordmark{font:24px 'Fraunces',serif!important;letter-spacing:0!important}.home-wordmark i{font-family:serif;font-weight:400}.home-intro{text-align:center;padding:40px 20px 50px}.home-intro p{font-size:14px;margin-bottom:18px}.home-intro h1{font-size:clamp(28px,4.3vw,62px);letter-spacing:-2px}.home-choices{display:grid;grid-template-columns:1fr 1fr}.home-choice{display:block;position:relative;overflow:hidden;padding:44px;color:var(--paper)}.home-choice>img{height:420px;object-position:center 57%;transition:transform .5s}.home-choice:hover>img{transform:scale(1.025)}.home-choice>div{padding-top:28px;position:relative}.home-choice>div>svg{position:absolute;right:0;top:26px}.home-choice>div>span{font-size:12px}.home-choice h2{font:clamp(44px,6.5vw,100px)/1.15 'Fraunces',serif;margin:18px 0 8px;letter-spacing:-3px}.home-choice p{font-size:18px;font-weight:700}.home-choice strong{margin-top:24px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #fff5;padding-top:20px;font-size:14px}.cafe-choice{background:var(--red)}.sup-choice{background:var(--forest)}.sup-choice h2{font-family:'Anton';letter-spacing:0}
@media(min-width:1600px){.site{max-width:1800px;margin:auto}}
@media(min-width:701px){.site-header{height:clamp(66px,6.4vw,92px)}}
@media(max-width:1000px){.site-header{height:78px}.header-message{display:none}.desktop-nav{gap:20px}.header-brand>span{font-size:10px}.section-wrap{padding:65px 5%}.split-heading{gap:32px}.home-choice{padding:28px}.home-choice>img{height:330px}}
@media(max-width:700px){html{scroll-padding-top:20px}.mobile-only{display:block}.site-header{height:72px;padding:0 20px}.desktop-nav{display:none}.menu-toggle{display:grid;place-items:center}.header-brand{gap:10px}.header-brand>svg{width:34px}.header-brand>span{font-size:10px;letter-spacing:1.2px}.honua-wordmark{font-size:34px}.action{font-size:14px;min-height:54px;padding:16px 22px}.text-link{font-size:13px}.section-wrap{padding:55px 24px}.section-wrap h2{font-size:28px;line-height:1.6;letter-spacing:-.5px}.section-wrap p{font-size:13px;line-height:2}.section-kicker{font-size:12px;letter-spacing:1.5px;margin-bottom:15px}.split-heading{display:block}.split-heading>p{margin-top:24px}.cross-link{bottom:14px;right:12px;padding:14px 17px;gap:9px;font-size:12px}.cross-link>svg:first-child{width:22px}.cross-link>svg:last-child{width:16px}.cross-link small{font-size:7px;letter-spacing:.7px}.site-footer{padding:32px 24px 118px}.footer-top{align-items:flex-start;flex-direction:column;gap:24px}.footer-brand{font-size:19px}.footer-top nav{gap:24px;font-size:12px}.footer-bottom{flex-direction:column;gap:10px;font-size:10px;margin-top:30px}.modal-content{padding:58px 25px 28px}.modal-content h2{font-size:28px}.photo-caption h2{font-size:17px}.home-intro{padding:34px 20px}.home-intro p{font-size:12px}.home-intro h1{font-size:35px;line-height:1.5;letter-spacing:-1px}.home-choices{grid-template-columns:1fr}.home-choice{padding:24px}.home-choice>img{height:280px}.home-choice h2{font-size:55px}.home-choice p{font-size:16px}.home-choice>div{padding-top:24px}.home-header .header-message{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.cafe-masthead{padding:0 3.2% 19px;display:flex;align-items:center;gap:1.5%;width:100%}.cafe-masthead h1{font-family:'Fraunces',Georgia,serif;font-weight:900;font-size:clamp(100px,16.2vw,292px);line-height:.93;letter-spacing:-.075em;white-space:nowrap;flex:1;transform-origin:left center}.cafe-masthead>span{font-size:10px;letter-spacing:1.3px;line-height:1.5;max-width:72px;flex-shrink:0}.cafe-masthead small{display:block;font-size:8px;letter-spacing:1px;margin-top:22px}.cafe-hero{display:grid;grid-template-columns:65.5% 34.5%;margin-bottom:50px}.cafe-hero-photo{position:relative;height:650px}.cafe-hero-photo>img{object-position:52% 55%}.image-handwriting{position:absolute;top:12%;left:7%;font-family:'Fraunces',serif;font-size:29px;line-height:1.4;color:var(--paper);font-style:italic;transform:rotate(-8deg);text-shadow:0 1px 8px #3422125a}.acai-inset{position:absolute;bottom:-35px;left:4%;width:32%;height:48%;padding:8px;background:#fffaeb;transform:rotate(-5deg);box-shadow:0 7px 10px #27160922}.acai-inset img{object-position:center}.acai-inset span{position:absolute;bottom:25px;left:23px;right:15px;color:white;font:italic 24px/1.1 'Fraunces';text-shadow:0 1px 6px #0008}.cafe-photo-note{position:absolute;bottom:10px;right:16px;font-size:10px;color:#fff;text-shadow:0 1px 6px #000}.cafe-hero-copy{padding:10px 6.8% 5px 9%;display:flex;flex-direction:column;align-items:flex-start}.cafe-hero-copy h2{font-size:clamp(29px,3.45vw,55px);font-weight:700;letter-spacing:-1.4px;line-height:1.43;margin:20px 0 9px;white-space:nowrap}.cafe-lead{font-size:clamp(15px,1.8vw,26px)!important;font-weight:700;margin-bottom:22px!important;letter-spacing:-.5px}.cafe-hero-copy>p{font-size:16px;line-height:2;margin-bottom:27px}.cafe-hero-copy .action{width:100%;white-space:nowrap;justify-content:space-between;padding-inline:26px}.cafe-hero-copy .text-link{margin-top:20px}.aloha-sign{display:flex;gap:10px;align-items:center;align-self:flex-end;margin:35px 0 0;transform:rotate(-13deg)}.aloha-sign>span{font:900 48px/1 'Fraunces';letter-spacing:-2px}.cafe-intro-foot{display:flex;justify-content:space-between;align-items:center;margin:12px 3% 0;border-bottom:7px double var(--red);padding:12px 0 17px;font-size:11px;letter-spacing:1px}.cafe-intro-foot>span:first-child{font-weight:700}.cafe-menu-section{background:var(--red);color:var(--paper);padding:62px 4.3% 34px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.section-heading h2{font-size:clamp(28px,4.6vw,69px);letter-spacing:-2px;line-height:1.5;text-align:center}.tiny-label{font-size:10px;line-height:1.6;letter-spacing:2px}.menu-side-note{text-align:right}.section-lead{text-align:center;margin-top:22px;font-size:15px;line-height:1.9}.menu-filters{display:flex;gap:12px;justify-content:center;margin:32px 0}.menu-filters button{padding:9px 24px;color:var(--paper);background:transparent;border:1px solid #fff6e480;border-radius:30px;font-size:12px;min-height:40px}.menu-filters button[aria-pressed=true]{background:var(--paper);color:var(--red)}.menu-filters button:hover{border-color:var(--paper)}.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;align-items:start}.menu-item .photo-button{aspect-ratio:1.35}.menu-item h3{font:900 clamp(25px,4vw,60px)/1.2 'Fraunces';letter-spacing:-2px;margin-top:10px}.menu-item h4{font-size:15px;margin-top:12px}.menu-item>p{font-size:13px;line-height:1.9;margin-top:10px;max-width:32em}.menu-pending{border-top:1px solid #fff6e48a;text-align:center;font-size:12px;line-height:1.9;margin-top:38px;padding:24px 0 2px}.cafe-about{padding:105px 7%;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.about-copy h2{font-size:clamp(30px,3.2vw,46px);line-height:1.6;margin:22px 0 26px;letter-spacing:-1px}.about-copy p{font-size:15px;line-height:2.1;margin-bottom:22px}.about-copy .text-link{margin-top:12px}.about-photo{height:560px;position:relative}.about-photo>span{position:absolute;bottom:25px;left:25px;color:white;font:italic 34px 'Fraunces';text-shadow:0 1px 8px #0005;transform:rotate(-6deg)}.cafe-access{background:#eee1bd;padding:78px 7%;display:grid;grid-template-columns:1fr 1fr;gap:80px}.cafe-access h2{font-size:clamp(30px,3.2vw,46px);letter-spacing:-1px;line-height:1.6}.cafe-access>div>p{font-size:14px;margin-top:26px}.access-details h3{font:900 40px 'Fraunces';letter-spacing:-2px;margin-bottom:22px}.access-details dl{margin:0}.access-details dl>div{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:20px 0;border-bottom:1px solid var(--line);font-size:14px}.access-details dt{display:flex;align-items:center;gap:7px;font-weight:700}.access-details dd{margin:0;line-height:1.8}.access-details dd>a{text-decoration:underline;text-underline-offset:5px}
@media(min-width:1600px){.cafe-hero-photo{height:750px}.cafe-hero-copy{padding-top:26px}.cafe-hero-copy h2{margin-top:28px}.cafe-hero-copy>p{font-size:18px;line-height:2.1}.cafe-masthead h1{font-size:16.2vw;max-font-size:292px}}
@media(max-width:1150px) and (min-width:701px){.cafe-masthead h1{font-size:15.9vw}.cafe-hero-photo{height:560px}.cafe-hero-copy{padding-left:8%;padding-right:7%}.cafe-sun{width:62px;height:62px}.cafe-hero-copy>p{font-size:13px;margin-bottom:20px}.cafe-hero-copy h2{font-size:3.5vw;margin-top:12px}.cafe-lead{font-size:1.6vw!important;margin-bottom:15px!important}.cafe-hero-copy .action{font-size:13px;padding:13px 20px;min-height:52px}.cafe-hero-copy .text-link{font-size:12px}.aloha-sign{margin-top:24px}.aloha-sign>span{font-size:36px}.cafe-about{gap:45px}.about-photo{height:460px}}
@media(max-width:700px){.cafe-masthead{padding:14px 16px 22px;display:block}.cafe-masthead h1{font-size:17.8vw;letter-spacing:-.075em;line-height:1}.cafe-masthead>span{display:none}.cafe-hero{display:flex;flex-direction:column;margin-bottom:0}.cafe-hero-photo{height:340px;width:100%}.cafe-hero-photo>img{object-position:56% 50%}.image-handwriting{font-size:23px;top:10%;left:7%}.acai-inset{width:32%;height:47%;left:5%;bottom:-20px;padding:5px}.acai-inset span{font-size:15px;bottom:15px;left:13px}.cafe-photo-note{font-size:8px}.cafe-hero-copy{padding:46px 25px 26px;position:relative}.cafe-sun{position:absolute;right:26px;top:36px;width:58px;height:58px}.cafe-hero-copy h2{font-size:35px;letter-spacing:-1px;line-height:1.45;margin:0 0 12px;white-space:normal}.cafe-lead{font-size:18px!important;margin-bottom:20px!important;letter-spacing:-.3px}.cafe-hero-copy>p{font-size:13px;line-height:2;margin-bottom:24px}.cafe-hero-copy .action{width:100%;justify-content:center;gap:24px}.cafe-hero-copy .text-link{margin-top:18px}.aloha-sign{position:absolute;right:24px;bottom:20px;margin:0;gap:4px}.aloha-sign>span{font-size:29px}.aloha-sign svg{width:25px}.cafe-intro-foot{margin:0 24px;padding:12px 0 17px;border-bottom-width:5px;font-size:8px;letter-spacing:.4px;gap:15px}.cafe-intro-foot>span:first-child{max-width:65px}.cafe-menu-section{padding:43px 24px 24px}.section-heading{display:block}.section-heading h2{font-size:32px;letter-spacing:-1px;text-align:left}.tiny-label{display:none}.section-lead{text-align:left;font-size:13px;margin-top:19px}.menu-filters{justify-content:flex-start;gap:8px;margin:26px 0;flex-wrap:wrap}.menu-filters button{padding:7px 14px;font-size:11px;min-height:38px}.menu-grid{grid-template-columns:1fr;gap:34px}.menu-item .photo-button{aspect-ratio:1.3}.menu-item h3{font-size:44px;letter-spacing:-1.5px;margin-top:7px}.menu-item h4{font-size:14px;margin-top:8px}.menu-item>p{font-size:12px;line-height:1.9;margin-top:7px}.menu-pending{text-align:left;font-size:11px;margin-top:30px;padding-top:20px}.cafe-about{padding:56px 24px;grid-template-columns:1fr;gap:30px}.about-copy h2{font-size:30px;margin:17px 0 22px}.about-copy p{font-size:13px;margin-bottom:20px}.about-photo{height:350px}.about-photo>span{font-size:28px;left:20px}.cafe-access{padding:52px 24px;grid-template-columns:1fr;gap:36px}.cafe-access h2{font-size:30px}.cafe-access>div>p{font-size:13px;margin-top:20px}.access-details h3{font-size:36px}.access-details dl>div{grid-template-columns:83px 1fr;font-size:12px;gap:10px;padding:17px 0}.access-details dt{gap:4px}.access-details dt svg{width:17px}.access-details dd{overflow-wrap:anywhere}}
@media(max-width:360px){.cafe-hero-copy h2{font-size:31px}.cafe-sun{width:48px;right:20px}.cafe-lead{font-size:16px!important}.aloha-sign{right:21px}.aloha-sign>span{font-size:23px}.aloha-sign svg{width:20px}.menu-filters{gap:6px}.menu-filters button{padding:7px 11px}.cafe-hero-photo{height:300px}.section-heading h2{font-size:29px}}
/* 採用案の丸みのある看板文字に合わせる。 */
.cafe-masthead h1,.menu-item h3,.aloha-sign>span{font-family:'Fraunces Variable',serif;font-variation-settings:'wght' 900,'SOFT' 100,'WONK' 1,'opsz' 144}
@media(min-width:701px){.cafe-masthead h1{font-size:min(18vw,324px);line-height:.86}.cafe-hero{margin-bottom:35px}}
.image-handwriting,.acai-inset span,.about-photo>span{font-family:'Fraunces Variable',serif;font-weight:400;font-variation-settings:'wght' 400,'SOFT' 100,'WONK' 1,'opsz' 32}
/* スマホは最初の画面からメニューへ進める順序にする。 */
@media(max-width:700px){.cafe-hero-photo{height:280px}.cafe-hero-copy{padding-top:39px}.cafe-hero-copy h2{order:1}.cafe-lead{order:2}.cafe-hero-copy .action{order:3}.cafe-hero-copy .text-link{order:4}.cafe-hero-copy>p:not(.cafe-lead){order:5;margin:24px 0 0}.aloha-sign{order:6;position:static;margin:10px 0 0}.menu-filters button{padding-inline:12px}.menu-filters{gap:7px}}

.tour-hero{display:grid;grid-template-columns:53% 47%;position:relative;background:var(--forest);color:var(--paper);min-height:740px}.tour-hero-copy{padding:28px 7.5% 40px;position:relative;z-index:2}.tour-eyebrow{display:block;font-family:'Anton';font-size:11px;letter-spacing:3px;line-height:1.45;margin-bottom:21px}.tour-hero h1{font:clamp(78px,8.8vw,146px)/1.04 'Anton',sans-serif;letter-spacing:-2px;margin-bottom:19px}.tour-hero h2{font-size:clamp(25px,3vw,43px);letter-spacing:-1px;line-height:1.4;white-space:nowrap}.tour-subtitle{font-size:clamp(15px,1.9vw,25px);font-weight:700;margin-top:10px}.tour-hero-description{font-size:14px;line-height:1.95;margin-top:22px}.hero-actions{display:flex;gap:18px;align-items:center;margin-top:30px;flex-wrap:wrap}.sup-page .action{background:var(--orange);color:#17352a}.sup-page .action:hover{background:#ff8143}.tour-hero .action{font-size:15px;padding:15px 24px;min-height:55px}.booking-inline{background:none;border:1px solid #fff6e4b3;color:var(--paper);border-radius:30px;font-size:12px;padding:15px 18px;min-height:49px}.booking-inline:hover{background:#fff1}.tour-hero-photo{position:relative;min-height:740px}.tour-hero-photo>img{position:absolute;inset:0;object-position:57% 55%}.tour-photo-caption{position:absolute;top:17%;right:9%;color:var(--paper);font-size:21px;font-weight:700;line-height:1.8;transform:rotate(-8deg);text-shadow:0 1px 8px #16372970}.beginner-badge{position:absolute;left:calc(53% - 88px);top:30px;width:162px;height:162px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border-radius:50%;background:var(--orange);color:#17352a;z-index:3;transform:rotate(-8deg)}.beginner-badge>span{font-size:28px;line-height:1.4;font-weight:700;letter-spacing:3px}.tour-facts{display:grid;grid-template-columns:repeat(3,1fr);padding:28px 5%;background:#f0e6ce}.tour-facts>div{display:flex;align-items:center;gap:22px;justify-content:center;border-right:1px solid #173f3233}.tour-facts>div:last-child{border:0}.tour-facts p{line-height:1.65}.tour-facts strong{display:block;font-size:24px;letter-spacing:-.7px}.tour-facts span{display:block;font-size:12px}.tour-flow{padding-top:48px;padding-bottom:64px}.tour-flow .section-kicker{color:#bc4d1c;font-family:'Anton';font-weight:400}.tour-flow .split-heading h2{font-size:clamp(29px,3.1vw,46px);line-height:1.5;letter-spacing:-1.2px}.tour-flow .split-heading{grid-template-columns:1.4fr 1fr;gap:50px}.steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);margin:53px 0 37px;padding:0}.steps li{position:relative;border-top:2px solid var(--orange);padding:35px 25px 0;text-align:center}.step-number{position:absolute;top:-23px;left:calc(50% - 23px);background:var(--orange);color:#17352a;font:30px/42px 'Anton';width:46px;height:46px;border:2px solid #f6efde;border-radius:50%}.steps h3{font-size:27px;letter-spacing:-1px;margin:9px 0 17px}.steps p{font-size:14px;line-height:2;text-align:left;max-width:28em;margin:auto}.gear-banner{height:300px;position:relative;overflow:hidden}.gear-banner>img{object-position:center 50%}.gear-banner figcaption{position:absolute;left:40px;top:40px;color:var(--paper);font-size:27px;line-height:1.6;font-weight:700;text-shadow:0 1px 10px #12382be0;transform:rotate(-6deg)}.tour-outline{display:grid;grid-template-columns:1fr 1.05fr;gap:90px;border-top:1px solid var(--line);background:#ebe1c8}.tour-outline>div>p{margin-top:25px}.tour-outline .action{margin-top:33px}.tour-data{margin:0}.tour-data>div{display:grid;grid-template-columns:130px 1fr;gap:14px;border-bottom:1px solid var(--line);padding:20px 0;font-size:14px;line-height:1.9}.tour-data>div:first-child{padding-top:0}.tour-data dt{font-weight:700}.tour-data dd{margin:0}.packing{background:#214637;color:var(--paper)}.packing-list{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);padding:0;margin:45px 0 35px}.packing-list li{padding:0 30px;border-right:1px solid #fff5;text-align:center}.packing-list li:first-child{padding-left:0}.packing-list li:last-child{border:0;padding-right:0}.packing-list h3{font-size:23px;margin:19px 0 15px}.packing-list p{font-size:14px}.packing>.small-note{text-align:center;font-size:12px}.faq-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.faq-section>div>p{margin-top:26px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;font-size:16px;font-weight:700;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary svg{flex-shrink:0;transition:transform .2s}.faq-list details[open] summary svg{transform:rotate(180deg)}.faq-list details>p{font-size:14px;padding-bottom:24px;line-height:2}.safety-section{padding-top:0}.safety-heading{display:flex;gap:13px;align-items:center;border-top:1px solid var(--line);padding-top:35px}.safety-heading h2{font-size:23px;letter-spacing:0}.safety-columns{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:30px}.safety-columns h3{font-size:16px;margin-bottom:14px}.safety-columns p{font-size:13px;line-height:2;margin-bottom:12px}.tour-last-call{text-align:center;padding:63px 24px 75px;background:#eadcae}.tour-last-call h2{font-size:clamp(30px,4.5vw,66px);line-height:1.5;margin:19px 0;letter-spacing:-1.5px}.tour-last-call>p{font:17px 'Anton';letter-spacing:2px;margin-bottom:32px}.tour-last-call .action{min-width:300px}.cta-status{font-size:10px;border:1px solid currentColor;border-radius:3px;padding:3px 6px;margin-left:0}
@media(max-width:1150px) and (min-width:701px){.tour-hero{min-height:650px}.tour-hero-copy{padding:28px 7% 34px}.tour-hero-photo{min-height:650px}.tour-hero h1{font-size:9vw;letter-spacing:-1px}.tour-hero h2{font-size:3vw}.tour-hero-description{font-size:12px}.tour-hero .action{font-size:13px;padding:14px 20px}.hero-actions{gap:10px;margin-top:24px}.booking-inline{font-size:11px;min-height:46px;padding:12px 14px}.beginner-badge{width:135px;height:135px;left:calc(53% - 65px);top:23px}.beginner-badge>span{font-size:24px}.beginner-badge>svg{width:30px}.tour-facts{padding:23px 3%}.tour-facts>div{gap:12px}.tour-facts strong{font-size:21px}.tour-facts span{font-size:10px}.tour-facts svg{width:35px}.tour-flow .split-heading{gap:30px}.steps h3{font-size:23px}.steps li{padding-inline:18px}.tour-outline,.faq-section{gap:45px}.tour-photo-caption{font-size:17px;right:7%;top:20%}}
@media(max-width:700px){.tour-hero{display:flex;flex-direction:column;min-height:0}.tour-hero-copy{padding:29px 24px 30px}.tour-eyebrow{font-size:9px;letter-spacing:2px;line-height:1.4;margin-bottom:19px}.tour-hero h1{font-size:clamp(66px,19.5vw,110px);line-height:1.05;letter-spacing:-1px;margin-bottom:20px}.tour-hero h2{font-size:28px;letter-spacing:-1px}.tour-subtitle{font-size:17px;margin-top:9px}.tour-hero-description{font-size:12px;margin-top:18px;line-height:1.9}.hero-actions{margin-top:23px;gap:14px;flex-direction:column;align-items:stretch}.tour-hero .action{min-height:52px;font-size:14px}.booking-inline{align-self:flex-start;border:0;border-radius:0;padding:0 0 5px;font-size:12px;min-height:32px;border-bottom:1px solid #fff7}.tour-hero-photo{height:390px;min-height:0}.tour-hero-photo>img{object-position:57% 56%}.tour-photo-caption{font-size:18px;top:30px;right:24px}.beginner-badge{left:auto;right:21px;top:23px;width:99px;height:99px;gap:1px}.beginner-badge>svg{width:25px;height:25px}.beginner-badge>span{font-size:18px;letter-spacing:1px;line-height:1.3}.tour-facts{padding:23px 24px;grid-template-columns:1fr;gap:0}.tour-facts>div{justify-content:flex-start;padding:15px 0;border:0;border-bottom:1px solid var(--line);gap:20px}.tour-facts>div:first-child{padding-top:0}.tour-facts>div:last-child{padding-bottom:0}.tour-facts>div>svg{width:34px;height:34px;flex-shrink:0}.tour-facts strong{font-size:20px;letter-spacing:0}.tour-facts span{font-size:11px}.tour-flow{padding-top:45px;padding-bottom:46px}.tour-flow .split-heading{display:block}.tour-flow .split-heading h2{font-size:28px;letter-spacing:-.7px;line-height:1.55}.steps{display:block;margin:34px 0}.steps li{border-top:0;border-left:2px solid var(--orange);padding:0 0 30px 30px;text-align:left;margin-left:16px}.steps li:last-child{padding-bottom:0;border-color:transparent}.step-number{left:-18px;top:0;width:34px;height:34px;display:grid;place-items:center;text-align:center;font-size:23px;line-height:1}.steps h3{font-size:23px;line-height:1.5;margin:0 0 10px}.steps p{font-size:13px;margin:0;max-width:none}.gear-banner{height:240px;margin:0 -24px}.gear-banner>img{object-position:55% center}.gear-banner figcaption{font-size:20px;left:25px;top:25px}.tour-outline{grid-template-columns:1fr;gap:38px}.tour-outline .action{margin-top:25px}.tour-data>div{grid-template-columns:96px 1fr;gap:14px;font-size:12px;padding:16px 0}.packing-list{display:block;margin:28px 0}.packing-list li{display:grid;grid-template-columns:55px 1fr;column-gap:15px;text-align:left;padding:22px 0!important;border-right:0;border-bottom:1px solid #fff4}.packing-list li>svg{grid-row:span 2;width:38px;align-self:center}.packing-list li h3{font-size:19px;margin:0 0 9px}.packing-list li p{font-size:12px;line-height:1.9}.packing>.small-note{text-align:left;font-size:11px}.faq-section{grid-template-columns:1fr;gap:30px}.faq-section>div>p{margin-top:19px}.faq-list summary{font-size:14px;padding:21px 0;line-height:1.9;gap:14px}.faq-list details>p{font-size:12px;line-height:2;padding-bottom:22px}.safety-section{padding-top:0}.safety-heading{padding-top:30px;gap:12px}.safety-heading h2{font-size:20px;letter-spacing:-.5px}.safety-heading svg{width:29px;flex-shrink:0}.safety-columns{grid-template-columns:1fr;gap:22px;margin-top:25px}.safety-columns h3{font-size:14px}.safety-columns p{font-size:12px;line-height:2}.tour-last-call{padding:45px 24px 52px}.tour-last-call h2{font-size:29px;letter-spacing:-1px}.tour-last-call>svg{width:40px}.tour-last-call>p{font-size:14px;margin-bottom:27px}.tour-last-call .action{min-width:0;width:100%;gap:12px}.tour-last-call .action svg{width:20px}.cta-status{font-size:9px;padding:2px 4px}}
@media(max-width:360px){.tour-hero h2{font-size:25px}.tour-subtitle{font-size:15px}.tour-hero h1{font-size:19vw}.tour-hero-photo{height:340px}.beginner-badge{width:83px;height:83px;right:17px}.beginner-badge>span{font-size:16px}.beginner-badge>svg{width:21px;height:21px}.tour-flow .split-heading h2{font-size:25px}.tour-last-call h2{font-size:26px}.tour-last-call .action{font-size:12px}.tour-data>div{grid-template-columns:85px 1fr;font-size:11px;gap:8px}}
.tour-hero-copy{background-size:cover;background-position:center}
/* 初心者表示と見出しが重ならないよう、専用の行を確保する。 */
@media(max-width:700px){.tour-eyebrow{min-height:58px;margin-bottom:18px}.beginner-badge{width:82px;height:82px;top:20px}.beginner-badge>span{font-size:16px}.beginner-badge>svg{width:23px;height:23px}.tour-hero h1{font-size:18.5vw}}

.menu-item[hidden]{display:none}
.footer-nap{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:18px;font-size:12px;line-height:1.7}
.footer-nap a{text-decoration:underline;text-underline-offset:3px}
.cafe-masthead h1,.menu-item h3,.aloha-sign>span,.image-handwriting,.acai-inset span,.about-photo>span{font-family:"Fraunces",serif}
.menu-toggle .icon-close{display:none}
.menu-toggle[aria-expanded="true"] .icon-open{display:none}
.menu-toggle[aria-expanded="true"] .icon-close{display:grid}
.cafe-sun{flex-shrink:0}
.prep-overlay{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:24px;background:rgba(23,63,50,.55);backdrop-filter:blur(6px)}
.prep-overlay[hidden]{display:none}
.prep-card{width:min(520px,100%);background:#fff6e4;color:#173f32;padding:48px 40px 40px;text-align:center;box-shadow:0 24px 80px #0004}
.prep-kicker{font-family:Anton,sans-serif;letter-spacing:.28em;font-size:13px;color:#a93624;margin:0 0 18px}
.prep-card h2{font-family:Fraunces,serif;font-weight:500;font-size:clamp(32px,5vw,46px);line-height:1.35;letter-spacing:-1px;margin:0 0 18px}
.prep-body{font-size:15px;line-height:2;margin:0 0 28px}
.prep-card .action{background:#173f32}
.prep-card .action:hover{background:#0f2c24}
.prep-badge{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:36;margin:0;padding:7px 16px;border-radius:999px;background:#a93624;color:#fff6e4;font-size:12px;font-weight:700;letter-spacing:.18em}
.prep-badge[hidden]{display:none}
@media(max-width:700px){.prep-card{padding:36px 22px 28px}.prep-body{font-size:13px}.prep-badge{bottom:16px}}
@media(prefers-reduced-motion:reduce){.prep-overlay{backdrop-filter:none}}
.cafe-masthead h1{font-size:calc(clamp(100px, 16.2vw, 292px) * var(--cafe-title-scale, 1))}
@media(min-width:1600px){.cafe-masthead h1{font-size:calc(16.2vw * var(--cafe-title-scale, 1))}}
@media(max-width:1150px) and (min-width:701px){.cafe-masthead h1{font-size:calc(15.9vw * var(--cafe-title-scale, 1))}}
@media(max-width:700px){.cafe-masthead h1{font-size:calc(17.8vw * var(--cafe-title-scale, 1))}}
@media(min-width:701px){.cafe-masthead h1{font-size:calc(min(18vw, 324px) * var(--cafe-title-scale, 1))}}
.footer-actions{display:flex;align-items:center;gap:22px}
.instagram-link{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid currentColor;border-radius:50%;flex-shrink:0}
.instagram-link:hover{background:#173f32;color:#fff6e4;text-decoration:none}
.instagram-menu{display:inline-flex;align-items:center;gap:10px}
.desktop-nav .instagram-link{padding:0}
@media(max-width:700px){.footer-actions{width:100%;justify-content:space-between}}
.header-end{display:flex;align-items:center;gap:22px}
.header-social{display:flex;align-items:center;gap:12px;flex-shrink:0}
.social-link-lg{width:50px;height:50px}
.social-link-lg svg{width:26px;height:26px}
.line-link{display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:#06c755;color:#fff;flex-shrink:0;cursor:pointer;font:inherit}
.line-link.social-link-lg{width:50px;height:50px}
.line-link:hover{background:#05a648;color:#fff;text-decoration:none}
.line-menu{display:inline-flex;align-items:center;gap:10px;width:auto;height:auto;padding:0;border-radius:0;background:none;color:inherit}
.line-menu:hover{background:none;color:inherit;text-decoration:underline}
@media(max-width:1000px){.header-end{gap:0}.social-link-lg,.line-link.social-link-lg{width:42px;height:42px}.social-link-lg svg{width:22px;height:22px}}
.mobile-nav .line-menu,.mobile-nav .instagram-menu{width:100%;justify-content:flex-start;padding:16px 0;border-bottom:1px solid var(--line);font-weight:700}
.mobile-nav .line-menu svg{color:#06c755}
.instagram-link,.line-link{border:0;border-radius:0;background:transparent;color:inherit;box-shadow:none;width:40px;height:40px}
.instagram-link:hover,.line-link:hover{background:transparent;color:inherit}
.brand-icon{width:100%;height:100%;display:block;object-fit:contain}
.instagram-menu .brand-icon,.line-menu .brand-icon{width:40px;height:40px;flex-shrink:0}
.social-link-lg,.line-link.social-link-lg{width:50px;height:50px}
.social-link-lg .brand-icon{width:50px;height:50px}
@media(max-width:1000px){.social-link-lg,.line-link.social-link-lg{width:42px;height:42px}.social-link-lg .brand-icon{width:42px;height:42px}}
