/*
Theme Name: う島や POP
Theme URI: https://ushimaya.com
Author: Adventure Hostel う島や
Description: 西表島 Adventure Hostel う島や のトップページテーマ。お部屋・夜の定食・お知らせを管理画面から更新できます。
Version: 1.3.1
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: ushimaya-pop
*/

:root{--cream:#F2EADB;--ink:#1E1E1E;--yellow:#E8B53A;--green:#2F7448;--blue:#9CD3E0;--coral:#E5664A;--navy:#1F2A44;--line:#E2D8C6;--r:clamp(32px,6vw,56px);--px:clamp(16px,4vw,24px);--py:clamp(56px,9vw,88px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{margin:0;background:var(--cream);color:var(--ink);font-family:'Zen Kaku Gothic New',sans-serif;line-height:1.8;-webkit-font-smoothing:antialiased;overflow-x:hidden}
p,h1,h2,h3,span,strong,a{word-break:auto-phrase}
img{display:block;max-width:100%;height:auto}
a{color:var(--ink)}a:hover{color:var(--green)}
h1,h2,h3,p{margin:0}
.c-yellow{color:var(--yellow)}.c-green{color:var(--green)}
.u-bold{font-weight:700;font-size:15px}

/* buttons */
.u-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:14px;min-height:52px;padding:5px 6px 5px 22px;border-radius:999px;font-weight:900;font-size:15px;text-decoration:none;transition:transform .15s,background .2s;white-space:nowrap}
.u-btn:hover{transform:scale(1.04)}
.u-btn i{font-style:normal;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--yellow);color:var(--ink)}
.u-btn i.is-white{background:#fff}
.u-btn--lg{min-height:60px;font-size:16px;padding-left:26px}.u-btn--lg i{width:46px;height:46px}
.u-btn--dark{background:var(--ink);color:#fff}.u-btn--dark:hover{color:#fff;background:var(--green)}
.u-btn--coral{background:var(--coral);color:#fff}.u-btn--coral:hover{color:#fff}
.u-btn--yellow{background:var(--yellow);color:var(--ink)}.u-btn--yellow i{background:var(--ink);color:#fff}
.u-btn--white{background:#fff;color:var(--ink);padding:5px 22px}.u-btn--white:hover{color:var(--ink)}
.u-btns{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}

/* notice + header */
.u-notice{display:flex;align-items:center;justify-content:center;gap:10px;min-height:40px;padding:6px 16px;background:var(--ink);color:var(--cream);text-decoration:none;font-weight:700;font-size:13px;text-align:center}
.u-notice:hover{color:var(--yellow)}
.u-pill-new{padding:0 10px;background:var(--yellow);color:var(--ink);border-radius:999px;font-family:'Archivo Black';font-size:12px;letter-spacing:.06em}
.u-header{position:sticky;top:0;z-index:60;background:var(--cream)}
.u-header__in{max-width:1440px;margin:0 auto;padding:10px var(--px);display:flex;align-items:center;gap:20px}
.u-brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:none}
.u-brand img{width:40px}
.u-brand span{display:flex;flex-direction:column;gap:5px;line-height:1}
.u-brand strong{font-weight:900;font-size:20px;letter-spacing:.04em}
.u-brand small{font-family:'Archivo Black';font-size:8.5px;letter-spacing:.2em;color:var(--green)}
.u-nav{flex:1;display:flex;justify-content:flex-end;gap:22px}
.u-nav a:not(.u-btn){font-weight:700;font-size:14px;text-decoration:none;white-space:nowrap}
.u-nav__cta,.u-menu-btn{display:none}
.u-menu-btn{border:0;border-radius:999px;background:var(--yellow);color:var(--ink);font:inherit;font-weight:900;font-size:14px;height:48px;padding:0 18px;cursor:pointer}

/* sections */
.u-sec{position:relative;margin-top:calc(var(--r) * -1);border-radius:var(--r) var(--r) 0 0;padding:var(--py) var(--px) calc(var(--py) + var(--r))}
.u-sec--cream{background:var(--cream)}.u-sec--white{background:#fff}.u-sec--blue{background:var(--blue)}
.u-sec--dark{background:var(--ink);color:var(--cream)}.u-sec--dark a:not(.u-btn){color:var(--cream)}
.u-sec--green{background:var(--green);color:#fff}.u-sec--navy{background:var(--navy);color:var(--cream)}
.u-sec--coral{background:var(--coral)}.u-sec--last{padding-bottom:clamp(48px,7vw,72px)}
.u-sec--ticker{padding:clamp(40px,6vw,56px) 0 calc(var(--py) + var(--r));overflow:hidden}
.u-sec--full{padding-left:0;padding-right:0;overflow:hidden}
.u-wrap{max-width:1280px;margin:0 auto}
.u-sec--ticker .u-wrap{padding:0 var(--px)}
.u-col{display:flex;flex-direction:column;gap:clamp(24px,4vw,40px)}
.u-stack{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.u-stack>p{font-size:16px;font-weight:500;max-width:32em}
.u-grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:clamp(28px,5vw,48px);align-items:center}
.u-grid2.is-top{align-items:stretch;gap:16px}
.u-grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px}
.u-grid-auto300{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px}
.u-pair{display:grid;grid-template-columns:1fr 1fr;gap:clamp(10px,2vw,16px);width:100%}
.u-span2{grid-column:1/-1}
.u-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.u-sec--full .u-head{padding:0 var(--px);margin-bottom:clamp(20px,3vw,32px)}

/* headings */
.u-hd-text{display:block;font-family:'Archivo Black';font-size:clamp(40px,6vw,80px);line-height:1}
.u-hd-text.is-md{font-size:clamp(32px,4.4vw,56px)}
.u-hd-img{height:clamp(84px,12vw,168px);width:auto;max-width:100%;object-fit:contain;object-position:left center}
.u-hd-img.is-md{height:clamp(72px,9vw,128px)}
.u-sub{font-weight:900;font-size:20px;margin-top:4px}
.u-strips{display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-weight:900;font-size:clamp(24px,3.2vw,42px);line-height:1.2;color:var(--ink)}
.u-strips span{background:#fff;padding:4px 14px}
.u-strips.is-yellow span{background:var(--yellow)}
.u-final{font-weight:900;font-size:clamp(40px,7vw,96px);line-height:1.12;display:flex;flex-direction:column}

/* images */
.u-r24{border-radius:24px}.u-r28{border-radius:28px}.u-r40{border-radius:clamp(28px,4vw,40px)}
img.u-r24,img.u-r28,img.u-r40{width:100%;object-fit:cover}
.u-ar-54{aspect-ratio:5/4}.u-ar-1610{aspect-ratio:16/10}.u-ar-34{aspect-ratio:3/4}.u-ar-11{aspect-ratio:1/1}.u-ar-32{aspect-ratio:3/2}.u-ar-43{aspect-ratio:4/3}.u-ar-169{aspect-ratio:16/9}
.u-par{position:relative;overflow:hidden;width:100%}
.u-par img{position:absolute;inset:-12% 0;width:100%;height:124%;max-width:none;object-fit:cover}

/* hero */
.u-hero{position:relative;overflow-x:clip;background:var(--cream);padding:4px clamp(8px,1vw,16px) calc(var(--r) + 16px)}
.u-hero__frame{position:relative;height:calc(100svh - 120px);min-height:600px}
.u-hero__photo{position:absolute;inset:0;border-radius:clamp(28px,4vw,48px);overflow:hidden;background:var(--blue)}
.u-hero__photo>div{position:absolute;inset:-10% 0}
.u-hero__photo img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;opacity:0;transition:opacity 1.4s ease}
.u-hero__photo img.is-on{opacity:1}
.u-hero__photo::after{content:"";position:absolute;inset:auto 0 0 0;height:60%;background:linear-gradient(180deg,rgba(30,30,30,0),rgba(30,30,30,.35))}
.u-hero__copy{position:absolute;left:0;bottom:0;z-index:4;padding:clamp(24px,4vw,56px) clamp(20px,4.4vw,72px) clamp(40px,6.4vw,96px);display:flex;flex-direction:column;align-items:flex-start;gap:clamp(18px,2.2vw,32px);max-width:100%}
.u-hero__copy .u-btns{margin-top:clamp(4px,1vw,12px);gap:12px}
.u-hero__eyebrow{padding:7px 20px;background:var(--ink);color:#fff;border-radius:999px;font-weight:700;font-size:clamp(13px,1.4vw,17px)}
.u-hero h1{font-weight:900;font-size:clamp(36px,6vw,96px);line-height:1;letter-spacing:-.01em;display:flex;flex-direction:column;align-items:flex-start;gap:clamp(6px,.8vw,10px)}
.u-hero h1>span{display:block;overflow:hidden}
.u-hero h1>span>span{display:inline-block;white-space:nowrap;padding:.12em .28em .16em}
.u-hero h1 .is-white{background:#fff}.u-hero h1 .is-yellow{background:var(--yellow)}
.u-hero__copy p{padding:12px 22px;background:var(--ink);color:#fff;border-radius:20px;font-weight:700;font-size:clamp(14px,1.6vw,19px);line-height:1.7}
.u-hero__copy .u-btn--lg{min-height:clamp(60px,5vw,72px);font-size:clamp(15px,1.5vw,19px);padding-left:30px}.u-hero__copy .u-btn--lg i{width:clamp(46px,4vw,56px);height:clamp(46px,4vw,56px)}.u-hero__copy .u-btn--white{padding-right:32px}
.u-float{position:absolute;z-index:3;pointer-events:none;will-change:transform}
.u-float img{width:100%}
.u-float--logo{top:7.7%;left:7.3%;width:15%}
.u-float--jump{top:7.9%;left:34.5%;width:19%}
.u-float--ukiwa{top:39%;right:2.2%;width:20.5%}
.u-float--peek{bottom:0;left:48%;width:27%}
.u-float--kurosai{top:8%;left:60.5%;width:14%}

/* ticker + new menu */
.u-ticker{overflow:hidden;padding-bottom:clamp(24px,4vw,40px)}
.u-ticker>div{display:flex;gap:40px;padding-right:40px;width:max-content;animation:u-marquee 40s linear infinite;font-family:'Archivo Black';font-size:clamp(48px,9vw,140px);line-height:1;white-space:nowrap;will-change:transform}
.u-newmenu{background:var(--yellow);border-radius:clamp(28px,4vw,40px);padding:clamp(20px,4vw,40px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:clamp(20px,3vw,32px);align-items:center}
.u-newmenu__items{display:grid;grid-template-columns:1fr 1fr;gap:clamp(10px,2vw,16px)}
.u-food{background:var(--cream);border-radius:clamp(20px,3vw,28px);padding:clamp(8px,1.2vw,12px) clamp(8px,1.2vw,12px) 16px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;line-height:1.35}
.u-food img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:clamp(14px,2vw,20px);margin-bottom:4px}
.u-food strong{font-weight:900;font-size:clamp(14px,1.6vw,18px);padding:0 6px}
.u-food .u-tag{margin-left:6px}
.u-tag{display:inline-block;padding:0 10px;border-radius:999px;font-family:'Archivo Black';font-size:11px;letter-spacing:.06em;color:#fff;background:var(--ink)}
.u-tag.is-green{background:var(--green)}.u-tag.is-yellow{background:var(--yellow);color:var(--ink)}
.u-badge{align-self:flex-start;padding:0 10px;background:#fff;border-radius:999px;font-size:12px;font-weight:700;color:var(--ink)}
.u-badge.is-yellow{background:var(--yellow)}

/* about / shokudo */
.u-chips{display:flex;flex-wrap:wrap;gap:8px}.u-chips span{padding:6px 16px;background:var(--cream);border-radius:999px;font-weight:700;font-size:14px}
.u-pills{display:flex;flex-direction:column;gap:8px;width:100%}.u-pills span{padding:10px 18px;background:#fff;border-radius:999px;font-weight:700;font-size:15px}
.u-plan{padding:12px 12px 22px;background:#fff;border-radius:28px;display:flex;flex-direction:column;gap:2px}
.u-plan.is-dark{background:var(--ink);color:var(--cream)}
.u-plan img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:20px;margin-bottom:12px}
.u-plan strong,.u-plan small,.u-price{padding:0 12px}.u-plan strong{font-weight:900;font-size:16px}.u-plan small{font-size:13px;font-weight:700}
.u-price{font-family:'Archivo Black';font-size:clamp(32px,4vw,40px);line-height:1.15}
.u-card{border-radius:clamp(28px,4vw,40px);padding:clamp(22px,4vw,40px);display:flex;flex-direction:column;gap:clamp(20px,3vw,28px)}
.u-card.u-grid2{display:grid}
.u-card--dark{background:var(--ink);color:var(--cream)}.u-card--white{background:#fff}
.u-card h3{font-weight:900;font-size:clamp(20px,2.4vw,24px);margin-top:4px}
.u-card__head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.u-card__head p{font-size:14px;font-weight:700;max-width:26em}
.u-dishnew{display:grid;grid-template-columns:clamp(72px,9vw,96px) minmax(0,1fr);align-items:center;gap:16px;padding:10px 20px 10px 10px;border-radius:24px}
.u-dishnew.is-green{background:var(--green);color:#fff}.u-dishnew.is-yellow{background:var(--yellow);color:var(--ink)}
.u-dishnew img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:16px}
.u-dishnew span{display:flex;flex-direction:column;line-height:1.35}.u-dishnew small{font-family:'Archivo Black';font-size:12px;letter-spacing:.08em}.u-dishnew strong{font-weight:900;font-size:clamp(18px,2.2vw,22px)}
.u-menulist{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));column-gap:32px;width:100%}
.u-menulist.is-one{grid-template-columns:1fr}
.u-menulist>div{display:flex;align-items:baseline;gap:16px;padding:14px 4px;border-bottom:1px solid #3A3A3A}
.u-menulist.is-light>div{border-color:var(--line)}
.u-menulist strong{font-weight:900;font-size:17px;line-height:1.4}
.u-menulist>div>span:not(.u-no):not(.u-tag){display:flex;flex-direction:column;line-height:1.5}.u-menulist small{font-size:14px;font-weight:500}
.u-no{font-family:'Archivo Black';font-size:16px;color:var(--yellow);width:28px;flex:none}

/* rooms */
.u-rooms{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,500px),1fr));gap:12px}
.u-room{display:grid;grid-template-columns:clamp(100px,14vw,160px) minmax(0,1fr) auto;gap:clamp(12px,2vw,20px);align-items:center;padding:10px clamp(12px,2vw,20px) 10px 10px;background:var(--cream);border-radius:28px;text-decoration:none;transition:background .2s}
.u-room:hover{background:var(--yellow);color:var(--ink)}.u-room.is-blue{background:var(--blue)}
.u-room img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:20px}
.u-room__txt{display:flex;flex-direction:column;gap:2px;line-height:1.45;min-width:0}
.u-room__txt strong{font-weight:900;font-size:clamp(16px,2vw,19px)}.u-room__txt>span:not(.u-badge){font-size:13px;font-weight:500}.u-room__txt b{font-weight:900;font-size:15px}
.u-arrow{font-style:normal;width:clamp(36px,4vw,46px);height:clamp(36px,4vw,46px);border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center}

/* flow */
.u-step{display:flex;flex-direction:column;gap:8px;padding:12px 12px 24px;background:#2C2C2C;color:var(--cream);border-radius:28px;text-decoration:none;transition:background .2s}
.u-sec--dark .u-step{color:var(--cream)}
.u-step:hover{background:var(--green);color:#fff}
.u-step img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:20px;margin-bottom:6px}
.u-step>span,.u-step>strong{padding:0 12px}.u-step strong{font-weight:900;font-size:19px;line-height:1.4}.u-step>span:last-child{font-size:14px;font-weight:500;line-height:1.6}
.u-no-lg{font-family:'Archivo Black';font-size:36px;line-height:1;color:var(--yellow)}

/* activity / stars / access */
.u-rentals{display:flex;flex-direction:column;gap:12px;width:100%}
.u-rental{display:grid;grid-template-columns:clamp(96px,12vw,140px) minmax(0,1fr);gap:clamp(12px,2vw,18px);align-items:center;padding:10px clamp(14px,2vw,20px) 10px 10px;background:var(--cream);color:var(--ink);border-radius:28px}
.u-rental img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:20px}
.u-rental div{display:flex;flex-direction:column;gap:4px;line-height:1.5}.u-rental strong{font-weight:900;font-size:clamp(16px,2vw,19px)}.u-rental span:not(.u-badge){font-size:13px;font-weight:500}
.u-rental a{font-weight:900;font-size:14px;color:var(--green)}.u-rental small{font-weight:700;font-size:13px}
.u-note{padding:18px 22px;background:#fff;color:var(--ink);border-radius:24px;display:flex;flex-direction:column;gap:4px;line-height:1.7;width:100%}
.u-note strong{font-weight:900;font-size:16px}.u-note span{font-size:14px;font-weight:500}
.u-note.is-navy{background:#2C3A5C;color:var(--cream)}.u-note.is-navy strong{color:var(--yellow)}.u-note.is-cream{background:var(--cream)}
.u-route{display:flex;flex-direction:column;gap:8px;width:100%}.u-route div{display:flex;align-items:center;gap:14px;padding:12px 18px;background:var(--cream);border-radius:24px;font-weight:700;font-size:15px;line-height:1.5}.u-route b{font-family:'Archivo Black';font-size:20px;color:var(--green);font-weight:400}
.u-map{border-radius:28px;overflow:hidden;flex:1;min-height:300px;width:100%;background:var(--blue)}.u-map iframe{width:100%;height:100%;min-height:300px;border:0;display:block}

/* news */
.u-news{display:flex;flex-direction:column;gap:6px;padding:12px 12px 20px;background:var(--cream);border-radius:28px;text-decoration:none;transition:background .2s}
.u-news:hover{background:var(--yellow);color:var(--ink)}
.u-news img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:20px;margin-bottom:6px}
.u-news-slider{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 32px) / 3);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding-bottom:4px}
.u-news-slider::-webkit-scrollbar{display:none}
.u-news-slider>.u-news{scroll-snap-align:start}
.u-slider-btn{width:52px;height:52px;border:0;border-radius:50%;background:var(--cream);color:var(--ink);font:inherit;font-size:18px;font-weight:900;cursor:pointer;transition:background .2s}
.u-slider-btn:hover{background:var(--yellow)}
@media (max-width:900px){.u-news-slider{grid-auto-columns:min(84%,420px)}}
.u-news time{padding:0 8px;font-family:'Archivo Black';font-size:13px;color:var(--green)}.u-news strong{padding:0 8px;font-weight:900;font-size:17px;line-height:1.5}

/* gallery */
.u-marquee{overflow:hidden}.u-marquee>div{display:flex;width:max-content;animation:u-marquee 48s linear infinite}.u-marquee:hover>div{animation-play-state:paused}
.u-marquee figure{margin:0 8px;width:clamp(220px,28vw,400px);flex:none}
.u-marquee img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:28px}
.u-marquee figcaption{padding:8px 8px 0;font-weight:700;font-size:14px}
@keyframes u-marquee{to{transform:translateX(-50%)}}

/* footer */
.u-panorama{background:var(--coral)}.u-panorama img{width:100%;height:clamp(180px,33vw,520px);object-fit:cover;object-position:center bottom}
.u-footer{padding:56px var(--px) 32px;background:var(--ink);color:var(--cream)}
.u-footer a{color:var(--cream)}
.u-footer__in{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:32px;align-items:end}
.u-footer__brand{display:flex;align-items:center;gap:20px}
.u-footer__brand>div:last-child{display:flex;flex-direction:column;line-height:1.4}.u-footer__brand strong{font-weight:900;font-size:24px}.u-footer__brand span{font-weight:700;font-size:14px}.u-footer__brand .u-en{font-family:'Archivo Black';font-size:11px;letter-spacing:.08em;font-weight:400}
.u-footer__icon{flex:none;width:clamp(100px,12vw,140px);aspect-ratio:1/1;background:var(--cream);border-radius:28px;display:flex;align-items:center;justify-content:center;padding:16px}
.u-footer__links{display:flex;flex-wrap:wrap;gap:16px 20px;font-size:14px;font-weight:700}
.u-copy{max-width:1280px;margin:32px auto 0;font-size:12px;opacity:.7}
.u-sp-bar{display:none}

/* posts */
.u-page{max-width:880px;margin:0 auto;padding:clamp(32px,6vw,64px) var(--px) clamp(64px,9vw,96px)}
.u-page h1{font-weight:900;font-size:clamp(28px,4vw,44px);line-height:1.35;margin:8px 0 24px}
.u-page time{font-family:'Archivo Black';font-size:14px;color:var(--green)}
.u-entry{background:#fff;border-radius:28px;padding:clamp(20px,4vw,48px);font-size:16px}
.u-entry img{border-radius:20px}.u-entry h2{font-weight:900;font-size:24px;margin:1.6em 0 .6em}.u-entry p{margin:0 0 1.2em}
.u-entry .wp-post-image{width:100%;margin-bottom:24px}
.u-pager{display:flex;justify-content:center;gap:8px;margin-top:32px}.u-pager .page-numbers{min-width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:#fff;text-decoration:none;font-weight:900;padding:0 14px}.u-pager .current{background:var(--ink);color:#fff}

/* responsive */
@media (max-width:1100px){.u-nav{gap:16px}.u-nav a:not(.u-btn){font-size:13px}}
@media (max-width:900px){
	.u-header__cta{display:none}
	.u-menu-btn{display:block;margin-left:auto}
	.u-nav{position:fixed;inset:108px 0 0 0;background:var(--cream);flex-direction:column;justify-content:flex-start;gap:8px;padding:16px var(--px) 120px;overflow:auto;transform:translateX(100%);transition:transform .3s}
	.u-nav.is-open{transform:none}
	.u-nav a:not(.u-btn){display:flex;align-items:center;min-height:56px;padding:0 22px;background:#fff;border-radius:999px;font-size:17px;font-weight:900}
	.u-nav__cta{display:inline-flex;margin-top:8px;min-height:60px;font-size:16px;background:var(--coral)}
	.u-nav__cta i{background:#fff;color:var(--coral)}
	.u-hero__frame{height:min(150vw,760px)}
	.u-float--jump{top:-3%;left:31%;width:38%}.u-float--kurosai{top:6%;left:72%;width:32%}.u-float--logo{top:16.5%;left:4.7%;width:23%}.u-float--ukiwa{top:79%;right:auto;left:62%;width:42%}.u-float--peek{left:-4%;width:36%}.u-hero__copy p{display:none}
	.u-follow--banner{display:none}
	.u-sp-bar{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:70;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--cream);box-shadow:0 -1px 0 var(--line)}
	.u-sp-bar .u-btn{min-height:52px}
	.u-sp-bar .u-btn--dark{background:var(--coral);color:#fff}
	.u-sp-bar .u-btn--dark i{background:#fff;color:var(--coral)}
	.u-sp-bar .u-btn--white{border:2px solid var(--ink)}
	.u-footer{padding-bottom:112px}
}
@media (max-width:560px){
	.u-room{grid-template-columns:96px minmax(0,1fr)}.u-room .u-arrow{display:none}
	.u-hero__copy .u-btn--lg{min-height:54px;font-size:15px}
}
@media (prefers-reduced-motion:reduce){.u-marquee>div,.u-ticker>div{animation:none}}

.u-room img.is-low{object-position:center 70%}
.u-note--peek{position:relative;overflow:hidden;padding-right:clamp(112px,13vw,140px)}.u-note--peek img{position:absolute;right:0;bottom:0;height:min(100%,150px);width:auto}
.u-cyclemap{margin-top:clamp(28px,5vw,48px);display:flex;flex-direction:column;gap:16px}.u-cyclemap h3{font-weight:900;font-size:clamp(20px,2.4vw,26px)}.u-cyclemap .u-head span{font-size:13px;font-weight:700}
.u-cyclemap__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:16px}.u-cyclemap__grid a{display:block;border-radius:28px;overflow:hidden;background:#fff}.u-cyclemap__grid img{width:100%;height:auto;display:block}
.u-stripe{display:block;width:100%;height:clamp(10px,1.2vw,16px);margin-bottom:var(--py)}
.u-sec--mount{padding-bottom:var(--r)}
.u-mountains{height:clamp(80px,9vw,140px);margin:clamp(32px,5vw,56px) calc(var(--px) * -1) 0;background:url(assets/img/gen/d01_mountains.webp) repeat-x center bottom/auto 100%}
.u-notice__tag{height:28px;width:auto}
.u-sp-bar__label{display:flex;align-items:center;gap:8px}.u-sp-bar__label img{width:24px;height:auto}
.u-follow{position:fixed;bottom:24px;z-index:70;opacity:0;pointer-events:none;transform:translateY(24px);transition:opacity .35s,transform .35s}
.is-past-hero .u-follow{opacity:1;pointer-events:auto;transform:none}
.u-follow img{width:100%;height:auto;display:block}
.u-follow--book{right:24px;width:132px}.is-past-hero .u-follow--book:hover{transform:scale(1.06)}
.u-follow--banner{left:24px;width:340px}
.u-follow--banner button{position:absolute;top:-10px;left:-10px;width:32px;height:32px;border:0;border-radius:50%;background:var(--ink);color:#fff;font:inherit;font-weight:900;font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
@media (max-width:900px){.u-float--peek,.u-float--logo{display:none}.u-hero__logo{display:none}.u-float--jump{top:9.4%;left:4.1%;width:40%}.u-float--kurosai{top:12%;left:61%;right:auto;width:34%}.u-float--ukiwa{top:73%;bottom:auto;left:66%;right:auto;width:48%}.u-hero__copy .u-btn--lg{min-height:52px;font-size:15px;padding-left:22px}.u-hero__copy .u-btn--lg i{width:40px;height:40px}.u-hero__copy .u-btn--white{padding-right:22px}}
.u-hero__logo{width:clamp(160px,15vw,280px);height:auto;display:block}
@media (max-width:900px){.u-hero__logo{display:none}.u-follow--book{right:12px;bottom:calc(84px + env(safe-area-inset-bottom));width:92px;z-index:71}}
@media (max-width:900px){.u-hero__copy{padding:24px 16px 74px}.u-hero__eyebrow{padding:9px 18px;font-size:14px}.u-hero h1{font-size:clamp(34px,10.4vw,48px)}}
.u-lang{flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:52px;height:40px;padding:0 14px;margin-left:16px;border:2px solid var(--ink);border-radius:999px;font-weight:900;font-size:13px;text-decoration:none;color:var(--ink)}.u-lang:hover{background:var(--ink);color:#fff}
@media (max-width:900px){.u-lang{margin-left:auto}.u-menu-btn{margin-left:8px}}
/* night fishing */
.u-fish{align-items:start}
.u-fish__catch{font-weight:900;font-size:clamp(22px,2.8vw,32px);line-height:1.4;text-wrap:pretty}
.u-fish__lead{font-size:15px;font-weight:500;line-height:1.9;text-wrap:pretty}
.u-fish__price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.u-fish__price strong{font-family:'Archivo Black';font-size:clamp(40px,5vw,60px);line-height:1;color:var(--yellow)}.u-fish__price span{font-weight:700;font-size:16px}
.u-fish__incl{align-self:stretch;display:flex;flex-direction:column;gap:10px}.u-fish__incl>span{font-weight:900;font-size:15px}
.u-fish__incl>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,120px),1fr));gap:10px}
.u-fish__incl>div>div{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 10px;background:var(--cream);color:var(--ink);border-radius:24px;text-align:center}
.u-fish__incl img{width:88px;height:88px;object-fit:contain}.u-fish__incl b{font-weight:900;font-size:14px;line-height:1.4}
.u-fish__note{font-size:14px;font-weight:500;line-height:1.7}.u-fish__cta{align-self:flex-start}
.u-fish__photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.u-fish__photos img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:24px}
.u-fish__photos img.is-main{grid-column:1/-1;aspect-ratio:4/3;object-position:center 60%;border-radius:clamp(28px,4vw,40px)}
.u-fish__list{margin-top:clamp(36px,6vw,64px);display:flex;flex-direction:column;gap:16px}
.u-fish__listhd{display:flex;align-items:flex-end;justify-content:space-between;gap:8px 16px;flex-wrap:wrap}.u-fish__listhd h3{font-weight:900;font-size:clamp(20px,2.4vw,26px)}.u-fish__listhd span{font-size:13px;font-weight:700}
.u-fish__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px}
.u-fish__grid>div{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 14px;background:var(--navy);border-radius:28px;text-align:center}
.u-fish__grid img{width:100%;max-width:200px;aspect-ratio:4/3;object-fit:contain}.u-fish__grid strong{font-weight:900;font-size:18px}.u-fish__grid span{font-size:13px;font-weight:500}
