*{box-sizing:border-box}body{margin:0;background:#fff;color:#173e43;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Yu Gothic",sans-serif;font-size:16px;line-height:1.7}a{color:inherit}header,main,footer{max-width:1160px;margin:auto}header{display:flex;align-items:center;justify-content:space-between;padding:26px 28px;border-bottom:1px solid #dce6e5}.brand{text-decoration:none;font-size:23px;font-weight:850;letter-spacing:.07em;line-height:1.1}.brand span{display:block;font-size:12px;letter-spacing:.25em;margin-top:5px}.edition{font-size:14px;color:#5e7477}main{padding:0 28px}.intro{display:grid;grid-template-columns:1.2fr 1fr;gap:45px;align-items:center;padding:40px 0 36px}.eyebrow{font-size:12px;letter-spacing:.13em;font-weight:700;color:#53787b;margin:0 0 12px}h1{font-size:clamp(27px,3.1vw,40px);line-height:1.55;letter-spacing:.035em;margin:0 0 12px}.intro p:last-child{margin:0;color:#607679}figure{position:relative;margin:0;overflow:hidden;border-radius:3px;height:238px;background:#c6d7d9}figure img{width:100%;height:100%;object-fit:cover;object-position:center 52%}figcaption{position:absolute;bottom:12px;right:16px;letter-spacing:.18em;font-size:12px;color:white;text-shadow:0 1px 5px #000}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-heading h2{font-size:22px;margin:0}.section-heading span{font-size:14px;color:#6b8082}.filters{display:flex;align-items:end;gap:16px;background:#f0f6f6;padding:24px;border-top:3px solid #17636b;border-radius:3px}label{font-size:14px;display:block;font-weight:600;flex:1}select,input{display:block;width:100%;min-width:0;font:inherit;font-weight:400;color:#234a4f;background:white;border:1px solid #b8cdcf;border-radius:4px;padding:12px;margin-top:7px;min-height:48px}.search{flex:1.5}button{font:inherit;cursor:pointer}.reset{background:none;border:0;color:#386b72;font-size:14px;min-height:48px;text-decoration:underline;white-space:nowrap}.result-meta{display:flex;justify-content:space-between;align-items:center;padding:17px 0}.result-meta p{margin:0;font-weight:600}.result-meta span{font-size:12px;color:#677e81}.shops{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.shop{display:flex;flex-direction:column;border:1px solid #d6e2e3;border-radius:5px;padding:25px;transition:border-color .2s}.shop:hover{border-color:#70a5a9}.shop-top{display:flex;justify-content:space-between;align-items:center}.area{font-size:13px;color:#356e75;letter-spacing:.04em}.index{font-size:12px;color:#849799;letter-spacing:.08em}.shop h3{font-size:23px;line-height:1.45;margin:11px 0 10px;overflow-wrap:anywhere}.desc{margin:0 0 16px;color:#566e72;min-height:3.4em}.tags{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 20px}.tags span{font-size:12px;padding:3px 9px;background:#eef5f5;border-radius:3px;color:#386970}.address{font-size:14px;color:#63797d;border-top:1px solid #e6eded;padding-top:16px;margin: auto 0 16px}.links{display:flex;align-items:center;gap:24px}.official{display:block;text-decoration:none;border:1px solid #24646b;border-radius:3px;padding:8px 16px;font-size:14px;font-weight:600}.official:hover{background:#164f57;color:white}.map{font-size:14px;color:#526f75;text-underline-offset:4px}.note{padding:25px 0 30px;margin-top:35px;border-top:1px solid #dce6e5;display:grid;grid-template-columns:140px 1fr;gap:6px 18px}.note h2{font-size:16px;margin:0}.note p{font-size:14px;color:#61777b;margin:0}.note span{grid-column:2;font-size:12px;color:#73888b}footer{padding:25px 28px;display:flex;justify-content:space-between;gap:20px;border-top:1px solid #dce6e5}footer strong{font-size:12px;letter-spacing:.1em}footer span{font-size:12px;color:#6b8184}#empty{text-align:center;padding:40px;background:#f4f8f8} :focus-visible{outline:3px solid #de880b;outline-offset:3px}@media(max-width:760px){header{padding:22px 20px}.edition{font-size:12px}main{padding:0 20px}.intro{gap:22px;padding:28px 0;grid-template-columns:1fr}figure{height:150px}.intro h1 br{display:none}.intro p:last-child br{display:none}.filters{display:grid;grid-template-columns:1fr 1fr;padding:18px;gap:14px}.search{grid-column:1/-1}.reset{grid-column:1/-1;min-height:32px;text-align:left;padding:0}.shops{grid-template-columns:1fr}.section-heading span{display:none}.shop{padding:22px}.result-meta{align-items:start;gap:15px}.result-meta span{text-align:right;max-width:145px}.note{grid-template-columns:1fr}.note span{grid-column:1}footer{flex-direction:column;padding:22px 20px}h1{font-size:28px}.desc{min-height:0}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Region search */
.points-directory{margin-top:50px;padding-top:30px;border-top:3px solid #17636b}.points-lead{margin:0 0 18px;color:#61777b;font-size:14px}.point-filters{display:grid;grid-template-columns:1fr 1.5fr;gap:16px;background:#f0f6f6;padding:20px;border-radius:3px}.point-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.point-card{border:1px solid #d6e2e3;border-radius:5px;padding:17px;background:#fff}.point-card span{font-size:12px;color:#53787b}.point-card h3{font-size:18px;line-height:1.45;margin:5px 0 10px}.point-card a{font-size:13px;color:#386b72;text-underline-offset:3px}@media(max-width:760px){.point-filters{grid-template-columns:1fr}.point-cards{grid-template-columns:1fr 1fr}.point-card{padding:14px}.point-card h3{font-size:16px}}
.point-badges{display:flex;gap:5px;flex-wrap:wrap;margin:2px 0 12px}.point-badge{font-size:11px!important;padding:3px 7px;border-radius:999px;color:#254f55!important;background:#eef5f5}.point-badge-toilet{background:#edf4ff;color:#315c89!important}.point-badge-shower{background:#eaf8f7;color:#1c6c68!important}.point-badge-parking{background:#fff4df;color:#805d20!important}
.cameras-directory{margin-top:50px;padding-top:30px;border-top:3px solid #17636b}.cameras-lead{margin:0 0 18px;color:#61777b;font-size:14px}.camera-filters{display:flex;align-items:end;gap:16px;background:#f0f6f6;padding:20px;border-radius:3px}.camera-filters label{max-width:360px}.camera-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.camera-card{border:1px solid #d6e2e3;border-radius:5px;padding:17px;background:#fff}.camera-top{display:flex;justify-content:space-between;gap:10px;color:#53787b;font-size:12px}.camera-card h3{font-size:18px;line-height:1.45;margin:6px 0 8px}.camera-card p{font-size:13px;color:#61777b;margin:0 0 12px}.camera-card a{font-size:13px;color:#386b72;text-underline-offset:3px;font-weight:600}@media(max-width:760px){.camera-filters{display:block}.camera-filters label{max-width:none}.camera-cards{grid-template-columns:1fr 1fr}.camera-card{padding:14px}.camera-card h3{font-size:16px}} 
.point-feature{font-size:13px;line-height:1.6;color:#61777b;margin:0 0 12px;min-height:3.2em}
.point-links{display:flex;flex-wrap:wrap;gap:12px}.point-links a{font-size:13px;color:#386b72;text-underline-offset:3px}.point-links a:last-child{font-weight:600}
.filters{display:grid;grid-template-columns:1fr 1.25fr 1.25fr;align-items:end}.filters label{min-width:0}.filters .search{grid-column:1/3}.filters .reset{justify-self:end}.shop .verified{font-size:12px;color:#73888b;margin:16px 0 0}.sources{font-size:12px;color:#61777b;margin-top:8px}.sources summary{cursor:pointer}.sources a{display:inline-block;margin-right:12px;text-underline-offset:3px}.intro h1{font-size:clamp(27px,2.8vw,36px)}@media(max-width:760px){.filters{grid-template-columns:1fr 1fr}.filters label:nth-child(3),.filters .search{grid-column:1/-1}.filters .reset{justify-self:start}.edition{max-width:135px;text-align:right}.intro h1{font-size:28px}}
.column{margin:0 0 42px;padding:26px 30px 24px;background:#f0f6f6;border-left:4px solid #17636b}.column-label{font-size:11px;letter-spacing:.15em;color:#53787b;font-weight:700}.column h2{font-size:25px;line-height:1.45;margin:7px 0 4px}.column-lead{margin:0 0 18px;color:#53787b;font-size:15px}.column-body{max-width:820px}.column-body p{margin:0 0 13px;color:#526c70;font-size:14px}.column-check{margin-top:18px;padding:15px 18px;background:#fff;border:1px solid #d6e2e3}.column-check strong{font-size:14px}.column-check ul{margin:8px 0 0;padding-left:1.3em;color:#526c70;font-size:14px}.column-meta{margin:16px 0 0!important;color:#7a8e90!important;font-size:12px!important}@media(max-width:760px){.column{padding:21px 19px}.column h2{font-size:21px}.column-lead{font-size:14px}}
.column summary{cursor:pointer;list-style:none}.column summary::-webkit-details-marker{display:none}.column summary strong{display:block;font-size:21px;line-height:1.45;margin:6px 0}.column-summary-lead{display:block;color:#53787b;font-size:14px}.column-content{margin-top:18px;max-width:820px}.column[open] summary{padding-bottom:3px;border-bottom:1px solid #d6e2e3}.column[open] .column-label:after{content:'  / 閉じる';font-weight:400;letter-spacing:0;color:#7a8e90}.column:not([open]){padding-bottom:21px}
.brand{display:flex;align-items:center;gap:0}.brand img{display:block;width:190px;height:64px;object-fit:cover;object-position:center;background:#fff}.brand-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.site-nav{display:flex;gap:18px;margin-left:auto;margin-right:24px}.site-nav a{font-size:13px;color:#386b72;text-decoration:none;text-underline-offset:4px}.site-nav a:hover{text-decoration:underline}.map-picker{margin:20px 0 18px;padding:18px 20px;background:#f0f6f6;border-radius:4px;border-top:2px solid #17636b}.map-picker-heading{display:flex;justify-content:space-between;align-items:baseline}.map-picker-heading h3{margin:0;font-size:16px}.map-picker-heading span{font-size:12px;color:#6b8082}.japan-map{position:relative;max-width:620px;height:330px;margin:2px auto 0}.japan-map svg{width:100%;height:100%;display:block}.map-land{fill:#a8d8d7;stroke:#247d80;stroke-width:3;stroke-linejoin:round}.map-wave{fill:none;stroke:#52a9aa;stroke-width:4;stroke-linecap:round}.map-pin{position:absolute;border:1px solid #17636b;background:#fff;color:#245e64;border-radius:999px;padding:4px 9px;font:600 11px inherit;cursor:pointer;box-shadow:0 1px 3px #173e4320}.map-pin:hover,.map-pin:focus-visible{background:#17636b;color:#fff}.map-pin-hokkaido{left:73%;top:8%}.map-pin-tohoku{left:61%;top:28%}.map-pin-chiba{left:53%;top:48%}.map-pin-shonan{left:43%;top:61%}.map-pin-seisho{left:34%;top:65%}.map-pin-shizuoka{left:31%;top:74%}.map-pin-ibaraki{left:58%;top:43%}.map-pin-kansai{left:23%;top:69%}.map-pin-shikoku{left:31%;top:84%}.map-pin-kyushu{left:17%;top:84%}.map-pin-okinawa{left:80%;top:89%}@media(max-width:760px){.site-nav{gap:10px;margin-right:0}.site-nav a{font-size:12px}.edition{display:none}.japan-map{height:250px}.map-pin{font-size:10px;padding:3px 6px}.map-picker{padding:15px}.map-picker-heading span{display:none}}
.japan-map-image{width:100%;height:100%;display:block;object-fit:contain;object-position:center;border-radius:3px}.japan-map{height:390px;max-width:620px;background:#fff;border-radius:3px;overflow:hidden}.japan-map .map-pin{z-index:2}@media(max-width:760px){.japan-map{height:300px}}
.wave-guide{margin:22px 0;background:#f0f7f7;border:1px solid #c9dedf;border-radius:8px;padding:22px}.wave-guide-heading{display:flex;align-items:center;gap:12px}.wave-guide h3{margin:0;font-size:21px}.wave-pilot{background:#dceeed;color:#22595e;border-radius:30px;padding:4px 10px;font-size:13px}.wave-guide p{font-size:14px;line-height:1.8;color:#49646a}.wave-guide summary{font-size:14px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.wave-guide details{margin:15px 0}.wave-legend{display:flex;flex-wrap:wrap;gap:8px}.wave-legend span{background:white;padding:6px 10px;border-radius:5px;font-size:15px;font-weight:750}.wave-head{color:#bf2436!important}.wave-chest{color:#725400!important}.wave-chest b{color:#e7b719}.wave-waist{color:#17714a!important}.wave-small,.wave-nosurf{color:#1460af!important}.wave-close{color:#8735a5!important}.wave-unknown{color:#61777b!important}.weather-links{display:flex;gap:12px 20px;flex-wrap:wrap;margin-top:16px}.weather-links a,.wave-credit a{color:#225f67;text-underline-offset:3px;font-size:14px}.wave-credit{margin-bottom:0}.point-card .wave-report{background:#f6f9fa;border:1px solid #e0e9eb;border-radius:7px;padding:14px;margin:12px 0 16px;min-height:120px}.wave-topline{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.point-card .wave-topline span{font-size:12px;color:#536c73}.wave-badge{display:flex;align-items:center;gap:8px;margin:10px 0 3px;text-decoration:none;font-size:19px;font-weight:750;flex-wrap:wrap}.wave-badge b{font-size:33px;line-height:1}.wave-badge strong{font-size:17px}.wave-badge small{font-size:12px}.point-card .wave-basis{font-size:12px;color:#61777b;margin:0 0 12px}.wave-metrics{margin:0;display:grid;gap:8px}.wave-metrics div{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.wave-metrics dt{font-size:13px;color:#567078}.wave-metrics dd{font-size:14px;font-weight:600;color:#23454e;margin:0}.point-card .wave-location{font-size:12px;line-height:1.7;color:#60767d;margin:12px 0}.wave-bottom{display:flex;gap:8px;flex-wrap:wrap;justify-content:space-between}.wave-bottom a{font-size:13px;color:#256373}.wave-bottom small{font-size:11px;color:#647b81}.point-card .wave-loading,.point-card .wave-error{font-size:14px;line-height:1.7;color:#5b7078}.wave-retry{padding:7px 12px;border:1px solid #749aa0;background:white;color:#24575f;cursor:pointer;border-radius:4px}.wave-retry:focus-visible,.wave-guide summary:focus-visible{outline:3px solid #2c96a0;outline-offset:3px}@media(max-width:760px){.wave-guide{padding:16px}.wave-metrics div{display:block}.wave-metrics dd{margin-top:2px}.wave-badge strong{font-size:16px}.point-cards{grid-template-columns:1fr}}

.point-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.wave-legend .wave-chest b{color:#e7b719}@media(max-width:760px){.point-cards{grid-template-columns:1fr}}
