:root{--ink:#143d3b;--muted:#667b78;--teal:#087f78;--sand:#f7f2e9;--line:#dfe8e5;--coral:#ef765d;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Noto Sans JP",sans-serif;background:#fbfcfa}a{color:inherit;text-decoration:none}.site-header{height:82px;padding:0 max(5vw,28px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:5}.logo{display:flex;gap:10px;align-items:center;font-size:20px;font-weight:800}.logo-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:#fff;background:var(--teal)}.logo small{display:block;font:600 8px/1.2 "DM Sans";letter-spacing:1.4px}.site-header nav{display:flex;gap:32px;font-size:14px;font-weight:600}.site-header nav a{padding:29px 0 25px;border-bottom:3px solid transparent}.site-header nav a:hover,.site-header nav a.active{color:var(--teal);border-color:var(--teal)}.menu-button{display:none;border:0;background:none;font-size:25px}.page-hero{min-height:310px;display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(7,54,51,.88),rgba(7,54,51,.25)),url('/hero-okinawa.png') center 55%/cover}.hero-inner{width:min(1180px,90vw);margin:auto}.eyebrow,.kicker{font:700 12px "DM Sans";letter-spacing:2.5px;color:#70d1c8}.page-hero h1{font-size:clamp(36px,5vw,62px);margin:10px 0}.page-hero p:last-child{font-size:16px}.search-panel{width:min(1060px,92vw);margin:-42px auto 0;background:#fff;border-radius:16px;padding:20px;box-shadow:0 18px 45px rgba(20,61,59,.15);position:relative}.search-panel form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:14px;align-items:end}.search-panel label span{display:block;font-size:12px;font-weight:700;margin:0 0 7px}.search-panel select{width:100%;height:52px;border:1px solid var(--line);border-radius:9px;padding:0 15px;background:#fff;color:var(--ink);font:600 14px inherit}.search-panel button{height:52px;padding:0 28px;border:0;border-radius:9px;color:#fff;background:var(--teal);font-weight:700;cursor:pointer}.results-section{width:min(1180px,92vw);margin:74px auto 90px}.results-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.kicker{color:var(--teal);margin:0 0 8px}.results-head h2{font-size:30px;margin:0}.result-note{color:var(--muted);font-size:12px}.activity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.activity-card{min-width:0;background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden;box-shadow:0 8px 24px rgba(21,65,61,.07);transition:.2s}.activity-card:hover{transform:translateY(-4px);box-shadow:0 15px 35px rgba(21,65,61,.12)}.card-image{display:block;height:235px;position:relative;background:linear-gradient(135deg,#b8dedb,#e9d8bc);overflow:hidden}.card-image img{width:100%;height:100%;object-fit:cover;transition:.35s}.activity-card:hover img{transform:scale(1.035)}.no-image{height:100%;display:grid;place-items:center;font:700 18px "DM Sans";letter-spacing:3px}.badge{position:absolute;left:14px;top:14px;padding:7px 11px;border-radius:20px;background:#fff;color:var(--teal);font-size:11px;font-weight:800;box-shadow:0 2px 10px #0002}.card-body{padding:19px}.features{height:24px;display:flex;gap:7px}.features span{font-size:10px;font-weight:700;color:var(--teal);background:#eaf7f5;border-radius:12px;padding:4px 8px}.card-body h3{font-size:16px;line-height:1.65;margin:10px 0;height:53px;overflow:hidden}.card-body h3 a:hover{color:var(--teal)}.rating{height:28px;font-size:12px}.rating strong{color:#e9862a;margin-right:4px}.rating span{color:var(--muted)}.price-row{border-top:1px solid var(--line);padding-top:15px;display:flex;align-items:end;justify-content:space-between}.price-row small{display:block;color:var(--muted);font-size:10px}.price-row strong{display:block;font-size:21px}.price-row>a{color:#fff;background:var(--teal);padding:9px 13px;border-radius:7px;font-size:12px;font-weight:700}.translation-note{display:block;color:#8b9896;font-size:9px;margin-top:10px}.notice{padding:15px 18px;margin-bottom:22px;background:#fff7df;border:1px solid #f0d58c;border-radius:9px;font-size:13px}.notice.error{background:#fff0ee;border-color:#f1aaa0}.pagination{margin:40px auto 0;display:grid;grid-template-columns:1fr 60px 1fr;align-items:center;text-align:center}.pagination a{justify-self:start;border:1px solid var(--line);background:#fff;padding:11px 18px;border-radius:8px;font-size:13px;font-weight:700}.pagination a:last-child{justify-self:end}.empty{padding:70px 20px;text-align:center;border:1px dashed #bbcbc8;border-radius:14px}.provider-note{text-align:center;color:var(--muted);font-size:10px;margin:38px 0 0}footer{background:#123f3b;color:#fff;padding:45px max(5vw,28px);display:flex;align-items:center;gap:40px}footer>small{margin-left:auto;color:#a8c3bf}
@media(max-width:900px){.site-header nav{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;padding:18px 28px;flex-direction:column;gap:0;box-shadow:0 10px 20px #0001}.site-header nav.open{display:flex}.site-header nav a{padding:13px 0}.menu-button{display:block}.activity-grid{grid-template-columns:repeat(2,1fr)}}
.badge.featured{left:auto;right:14px;color:#fff;background:var(--coral)}
.direct-book{display:block;margin-top:12px;text-align:right;color:var(--teal);font-size:11px;font-weight:700}
@media(max-width:620px){.page-hero{min-height:260px}.search-panel form{grid-template-columns:1fr}.results-section{margin-top:55px}.results-head{display:block}.result-note{margin-top:10px}.activity-grid{grid-template-columns:1fr}.card-image{height:230px}footer{align-items:flex-start;flex-direction:column;gap:14px}footer>small{margin:0}.pagination a{font-size:0}.pagination a:first-child:after{content:'←';font-size:15px}.pagination a:last-child:after{content:'→';font-size:15px}}
.site-logo{display:block;width:auto;height:42px;object-fit:contain}.footer-logo{width:max-content;padding:8px 12px;border-radius:6px;background:#fff}.footer-logo .site-logo{height:34px}@media(max-width:560px){.site-logo{height:34px}}.site-header .logo{min-width:0;max-width:190px;flex:0 1 auto}.site-header .site-logo{display:block;width:auto;max-width:min(180px,38vw);height:auto;max-height:38px;object-fit:contain}.footer-logo .site-logo{width:auto;max-width:170px;height:auto;max-height:34px}@media(max-width:560px){.site-header .logo{max-width:145px}.site-header .site-logo{max-width:140px;max-height:32px}}footer{background:#fff!important;color:#526a67!important;border-top:1px solid #dfe8e5!important}footer .footer-logo{padding:0!important;background:transparent!important}footer .footer-logo .site-logo{max-width:170px}footer a{color:#143d3b}footer>small{color:#748784!important}.search-panel form{grid-template-columns:repeat(4,minmax(140px,1fr)) 180px}.search-panel input[type=date]{width:100%;height:52px;border:1px solid var(--line);border-radius:9px;padding:0 15px;background:#fff;color:var(--ink);font:600 14px inherit}.advanced-filter{grid-column:1/-1;border-top:1px solid var(--line);padding-top:12px}.advanced-filter summary{width:max-content;color:var(--teal);font-size:12px;font-weight:800;cursor:pointer}.advanced-body{display:flex;align-items:end;gap:20px;margin-top:12px}.advanced-body>label:first-child{width:230px}.advanced-body .check-option{display:flex;flex-direction:row;align-items:center;gap:8px;padding:0 0 14px}.advanced-body .check-option span{display:inline;margin:0;font-size:12px}.check-option input{width:18px;height:18px;accent-color:var(--teal)}.clear-filter{margin:0 0 14px auto;color:var(--muted);font-size:11px;text-decoration:underline}@media(max-width:1100px){.search-panel form{grid-template-columns:1fr 1fr}.search-submit{grid-column:1/-1}.advanced-filter{grid-column:1/-1}}@media(max-width:620px){.search-panel form{grid-template-columns:1fr}.search-submit,.advanced-filter{grid-column:1}.advanced-body{align-items:stretch;flex-direction:column;gap:10px}.advanced-body>label:first-child{width:100%}.advanced-body .check-option{padding:0}.clear-filter{margin:6px 0 0}}.keyword-field{grid-column:1/-1}.search-panel input[type=search]{width:100%;height:50px;border:1px solid var(--line);border-radius:9px;padding:0 16px;background:#fff;color:var(--ink);font:600 14px inherit}.search-panel input[type=search]::placeholder{color:#98a9a6;font-weight:400}@media(max-width:620px){.keyword-field{grid-column:1}}