
*{box-sizing:border-box}
.wrap{font-family:'秀英丸ゴシック B', 'Shuei MaruGo B', 'Zen Maru Gothic', 'Hiragino Maru Gothic ProN', 'Yu Gothic', sans-serif;font-weight:700;font-size:16px;color:#4B4742;background:#F9F5F1;line-height:1.8;letter-spacing:.12em;position:relative;overflow:hidden;font-feature-settings:'palt'}
.wrap a{color:inherit;text-decoration:none}
.inner{max-width:1240px;margin:0 auto;padding:0 5vw;position:relative}
.ttl2{font-size:42px;color:#0EB5B9;letter-spacing:.2em;line-height:1.9;text-align:center;margin:0;font-weight:700}
.ttl3{display:flex;align-items:center;justify-content:center;gap:28px;font-size:32px;color:#0EB5B9;letter-spacing:.2em;line-height:1.4;margin:0;font-weight:700}
.ttl3 svg{flex:0 0 auto}
.vttl{writing-mode:vertical-rl;font-size:32px;color:#E08E9F;letter-spacing:.2em;line-height:70px;font-weight:700;margin:0}
.vttl-wh{writing-mode:vertical-rl;font-size:40px;color:#FFFFFF;letter-spacing:.3em;line-height:1.7;font-weight:400;margin:0;font-family:'Yomogi','Klee One','秀英丸ゴシック B', 'Shuei MaruGo B', 'Zen Maru Gothic', 'Hiragino Maru Gothic ProN', 'Yu Gothic', sans-serif}
.prose{font-size:18px;letter-spacing:.2em;line-height:2.8;margin:0;font-weight:700}
.u{color:#077F82;border-bottom:2px dashed #0EB5B9;padding-bottom:2px}
.circle{position:absolute;border-radius:50%;overflow:hidden}
.blob-l{clip-path:url(#blobL);border-radius:0}
.blob-r{clip-path:url(#blobR);border-radius:0}
.hd-wave{left:720px;top:-30px;width:720px;-webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%, #000 30%, transparent 72%);mask-image:radial-gradient(ellipse 50% 50% at 50% 50%, #000 30%, transparent 72%);opacity:.9}
.hd-yellow{left:870px;top:120px;width:225px;z-index:3}
.hd-pink{left:300px;top:640px;width:200px;z-index:3}
.hd-paws{left:1240px;top:92px;width:170px;z-index:3}
.hd-paws2{left:36px;top:892px;width:150px;z-index:1}
.sp-cta{display:none}
.mascot{position:absolute;z-index:2}
.cloud-news{display:none}
.sp-blocks{display:none}
.circle img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:xfade 14s ease-in-out infinite}
.circle img:nth-child(2){animation-delay:7s}
@keyframes xfade{0%,36%{opacity:1}50%,86%{opacity:0}100%{opacity:1}}
.blob{position:absolute;background:#FFFFFF;border-radius:52% 48% 55% 45% / 48% 52% 48% 52%}
.nav{position:absolute;top:56px;right:15%;display:flex;gap:40px;font-size:16px;letter-spacing:.1em;z-index:3}
.nav a{color:#6B5E58}
.cb{display:flex;align-items:flex-start;gap:12px;font-size:18px;color:#0EB5B9;letter-spacing:.1em;line-height:1.5;padding:9px 0;cursor:pointer}
.cb input{appearance:none;-webkit-appearance:none;flex:0 0 18px;width:18px;height:18px;margin:4px 0 0;border:1.6px solid #0EB5B9;border-radius:3px;background:#FFFFFF;position:relative}
.cb input:checked{background:#0EB5B9}
.cb input:checked::after{content:'';position:absolute;left:5px;top:1px;width:5px;height:9px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.grp{display:grid;grid-template-columns:260px 1fr;gap:0 24px;padding:26px 0;border-bottom:1.5px solid #BFE9E8}
.grp:last-of-type{border-bottom:0}
.grp-ttl{display:flex;align-items:center;gap:10px;font-size:18px;letter-spacing:.1em;align-self:center}
.grp-ttl i{width:0;height:0;border-left:9px solid currentColor;border-top:6px solid transparent;border-bottom:6px solid transparent;display:block}
.cbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px}
.card{background:#FFFFFF;border:1.5px solid #F5D98C;border-radius:20px;padding:36px 30px 32px;position:relative}
.card::before{content:'';position:absolute;left:50%;top:-1px;transform:translateX(-50%);width:120px;height:10px;background:#F5D98C;border-radius:0 0 8px 8px}
.card h3{display:flex;gap:14px;align-items:flex-start;margin:0 0 18px;font-size:20px;color:#0EB5B9;letter-spacing:.1em;line-height:1.6;font-weight:700}
.card p{margin:16px 0 0;font-size:16px;color:#826B63;letter-spacing:.1em;line-height:1.9}
.sq{background:#FFFFFF;border-radius:20px;padding:40px 24px 36px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:22px;font-size:18px;letter-spacing:.1em;line-height:1.7}
.fixed-ui{position:fixed;right:36px;bottom:36px;z-index:40;display:flex;flex-direction:column;gap:22px}
.menu-circle{position:fixed;top:-86px;right:-62px;width:230px;height:230px;border-radius:50%;background:#826B63;z-index:41;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:0 40px 110px 0;gap:8px}
.menu-circle i{display:block;width:58px;height:5px;border-radius:3px}
.menu-circle span{font-family:'Josefin Sans', sans-serif;font-weight:700;font-size:15px;letter-spacing:.2em;color:#FFD68D;margin-top:4px}
@supports (animation-timeline: scroll()){ .menu-circle{animation:menuIn linear both;animation-timeline:scroll();animation-range:0 400px} }
@keyframes menuIn{from{opacity:0;transform:translateY(-40px)}to{opacity:1;transform:none}}
.g2,.g3,.g4{display:grid}
.pc-only{display:block}.sp-only{display:none}.vw-hide{display:block}
@media (max-width: 1100px){ .g4{grid-template-columns:repeat(2,minmax(0,1fr)) !important} .cbs{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width: 900px){ .pc-only{display:none !important} .sp-only{display:block !important} .nav{display:none} .grp{grid-template-columns:1fr;gap:8px 0} .vttl{writing-mode:horizontal-tb;line-height:1.6;font-size:26px} .prose{font-size:16px;line-height:2.2;letter-spacing:.12em} .ttl2{font-size:30px} .ttl3{font-size:24px;gap:14px} .ttl3 svg{width:30px;height:20px} .deco-pc{display:none !important} .menu-circle{width:150px;height:150px;top:-50px;right:-40px;padding:0 26px 60px 0} .menu-circle i{width:40px} .fixed-ui{right:12px;bottom:12px;gap:12px} .fixed-ui a{width:84px !important;height:88px !important;font-size:13px !important;box-shadow:6px 6px 0 #F5D98C !important} .g3{grid-template-columns:repeat(2,minmax(0,1fr)) !important} }
@media (max-width: 600px){ .g4,.g3,.g2{grid-template-columns:minmax(0,1fr) !important} .cbs{grid-template-columns:1fr} }
@media (max-width: 900px){ .hero{height:190vw !important;padding:0 !important;min-height:0} .prose br{display:none} .sprig{display:none !important} .sprig.sp-show{display:block !important;width:18vw;height:18vw} .c-top,.blob-side{display:none !important} .c-right{left:0 !important;top:0 !important;width:50vw !important;height:50vw !important;clip-path:url(#blobSpL) !important;border-radius:0 !important} .c-left{left:47vw !important;top:92vw !important;width:56vw !important;height:66vw !important;clip-path:url(#blobSpR) !important;border-radius:0 !important} .blob-main{position:absolute !important;left:9vw !important;top:36vw !important;width:82vw !important;height:84vw !important;padding:0 4vw 3vw !important;border-radius:52% 48% 55% 45% / 48% 52% 48% 52% !important} .blob-main .logo-row{flex-direction:column !important;gap:1.5vw !important} .blob-main img{width:15vw !important;height:15vw !important} .wordmark{align-items:center !important} .wordmark > span:first-child{font-size:13vw !important} .wordmark > span:last-child{font-size:3.4vw !important;margin-top:1.2vw !important;padding-top:1vw !important;padding-bottom:1vw !important} .blob-main p{font-size:2.9vw !important;letter-spacing:.05em !important;line-height:1.9 !important;margin:2.6vw 0 0 !important} .hero .flags-row{gap:5vw !important;margin-bottom:1vw !important} .hero .flags-row svg{width:9vw !important;height:auto !important} .hd-wave{left:50vw;top:-3vw;width:50vw;height:auto} .hd-yellow{left:56vw;top:16vw;width:36vw;height:auto} .hd-pink{left:3vw;top:100vw;width:24vw;height:auto} .hd-paws{left:80vw;top:60vw;width:18vw;height:auto;z-index:3} .hd-paws2{left:4vw;top:52vw;width:20vw;height:auto} .sp-blocks{display:block;position:absolute;right:0;top:16vw;width:21vw;z-index:1} .sp-blocks svg{width:100%;height:auto} .sp-blocks2{top:160vw;width:24vw} .sp-quarter{position:absolute;right:0;top:47vw;width:9vw;z-index:1} .sp-quarter svg{width:100%;height:auto} .menu-circle{width:30vw;height:30vw;top:-7vw;right:-6vw;padding:0 7vw 11vw 0;opacity:1 !important;animation:none !important} .menu-circle i{width:12vw;height:1.1vw} .menu-circle span{font-size:3.4vw} .fixed-ui{display:none !important} .sp-cta{display:flex !important;position:fixed;left:0;right:0;bottom:0;z-index:40;gap:4vw;padding:0 4vw 2.6vw} .sp-cta a{flex:1 1 0;display:flex;align-items:center;justify-content:center;height:12vw;color:#FFFFFF;font-size:3.8vw;letter-spacing:.1em;border:1vw solid #FFFFFF;box-shadow:1.6vw 1.6vw 0 #F5D98C} .cloud-news{display:block;position:absolute;left:-6vw;top:-14vw;width:60vw;z-index:0} .cloud-news svg{width:100%;height:auto} .intro-sp-blocks{display:block !important;position:absolute;right:0;top:24vw;width:31vw;z-index:0} .intro-sp-blocks svg{width:100%;height:auto} .intro{margin-top:-58vw !important;position:relative;z-index:2} .news-row{padding:0 0 0 2vw !important;flex-direction:column;align-items:flex-start !important;gap:1.5vw !important;position:relative;z-index:1;width:50vw} .news-row > *{position:relative;z-index:1} .news-row > .cloud-news{position:absolute;z-index:0} .news-row a{max-width:46vw} .news-row a{color:#E08E9F !important;font-size:3.8vw !important;line-height:1.9} .news-row .nd{font-size:3.6vw !important} .intro-body{padding:40vw 0 0 !important;flex-direction:column} .intro-body .vttl{order:-1} .wrap{padding-bottom:16vw} .vttl{font-size:7.6vw;line-height:1.75;letter-spacing:.16em;margin:0 0 6vw !important} .mascot{width:34vw !important;right:auto !important;left:38vw !important;bottom:5vw !important} .genre-box{grid-template-columns:repeat(2,minmax(0,1fr)) !important;padding:20px 16px !important;gap:12px !important} .size-box{padding:20px 10px !important;gap:8px !important} .circ{width:76px !important;height:76px !important} .circ img,.circ svg{width:76px !important;height:76px !important} .round-item{font-size:15px !important} .cta-box{padding:28px 18px !important;outline-width:6px !important;gap:24px !important} .cta-box .ttl3{font-size:22px !important} .cta-big{font-size:24px !important} .cta-box p{font-size:15px !important} .goods-sp{display:block !important;width:100%;height:56vw;object-fit:cover;margin-top:24px} }

.deco{position:absolute;pointer-events:none;display:block}
.deco.fuzzy .dot{animation:twinkle 3.2s ease-in-out infinite;transform-origin:center;transform-box:fill-box}
@keyframes twinkle{0%,100%{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}}
.deco.paws > g{animation:pawIn 4.5s ease-in-out infinite;transform-origin:center;transform-box:fill-box}
@keyframes pawIn{0%{opacity:0;transform:scale(.6)}18%{opacity:1;transform:scale(1)}70%{opacity:1}100%{opacity:0;transform:scale(.9)}}
.deco.trail .step{animation:stepIn 6s ease-in-out infinite;transform-origin:center;transform-box:fill-box}
@keyframes stepIn{0%{opacity:0}12%{opacity:1}80%{opacity:1}100%{opacity:0}}
.deco.bones .bone{animation:bob 3.6s ease-in-out infinite}
.deco.scrib{animation:wiggle 5s ease-in-out infinite}
@keyframes wiggle{0%,100%{transform:rotate(0) translate(0,0)}50%{transform:rotate(-2deg) translate(2px,-4px)}}
.anim-bob{animation:bob 4s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.anim-drift{animation:drift 18s ease-in-out infinite}
@keyframes drift{0%,100%{transform:translateX(0)}50%{transform:translateX(26px)}}
.anim-drift2{animation:drift2 22s ease-in-out infinite}
@keyframes drift2{0%,100%{transform:translateX(0)}50%{transform:translateX(-30px)}}
.anim-sway{animation:sway 4.5s ease-in-out infinite;transform-origin:50% 100%}
@keyframes sway{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
.anim-walk{animation:walk 9s ease-in-out infinite}
@keyframes walk{0%{transform:translateX(0) scaleX(1)}45%{transform:translateX(60px) scaleX(1)}50%{transform:translateX(60px) scaleX(-1)}95%{transform:translateX(0) scaleX(-1)}100%{transform:translateX(0) scaleX(1)}}
.anim-steps{animation:steps .9s steps(2) infinite}
@keyframes steps{from{transform:translateY(0)}to{transform:translateY(-6px)}}
@supports (animation-timeline: view()){
 .para-up{animation:paraUp linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
 .para-dn{animation:paraDn linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
 @keyframes paraUp{from{translate:0 60px}to{translate:0 -60px}}
 @keyframes paraDn{from{translate:0 -40px}to{translate:0 40px}}
}
@media (prefers-reduced-motion: reduce){ .deco *, .anim-bob, .anim-drift, .anim-drift2, .anim-sway, .anim-walk, .deco.scrib{animation:none !important} }

.page-head{position:relative;text-align:center;padding:64px 0 0;overflow:hidden}
.page-ttl{display:flex;align-items:center;justify-content:center;gap:40px;font-size:32px;color:#826B63;letter-spacing:.16em;line-height:1.4;margin:0;font-weight:700}
.wm-band{position:relative;height:150px;margin-top:0}
.wm{position:absolute;left:50%;top:-10px;transform:translateX(-50%);font-family:'Josefin Sans', sans-serif;font-weight:700;font-size:188px;letter-spacing:.2em;color:#FFFFFF;line-height:1;white-space:nowrap;z-index:0}
.crumbs{position:relative;z-index:1;text-align:right;font-size:13px;color:#E08E9F;letter-spacing:.12em;padding-top:92px}
.crumbs a{color:#E08E9F}
.cbox{position:relative;background:#FFFFFF;border-radius:20px;padding:40px 40px 135px;overflow:hidden}
.cbox-band{position:absolute;left:0;right:0;bottom:0;height:124px;overflow:hidden;line-height:0}
.dots-ttl{position:relative;padding-left:32px;font-size:24px;color:#0EB5B9;letter-spacing:.08em;line-height:1.5;margin:0;font-weight:700}
.dots-ttl > span.d{position:absolute;left:0;top:7px}
.tag{display:inline-block;padding:3px 10px;font-size:14px;color:#FFFFFF;letter-spacing:.08em;line-height:1.5;font-weight:500}
.sbox{background:#F9F5F1;border-radius:10px;padding:32px}
.sbox h3{margin:0 0 8px;font-size:16px;color:#E08E9F;letter-spacing:.12em;font-weight:700}
.sbox li{display:flex;align-items:center;gap:10px;font-size:16px;letter-spacing:.08em;line-height:2}
.sbox li i{width:8px;height:8px;border-radius:50%;display:block;flex:0 0 auto}
.info{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:16px}
.info li{display:grid;grid-template-columns:208px 1fr}
.info h3{margin:0;padding:11px 24px;font-size:16px;color:#0EB5B9;letter-spacing:.12em;text-align:center;border-bottom:2px solid #0EB5B9;font-weight:700;align-self:stretch;line-height:2}
.info .d{padding:11px 24px;font-size:16px;color:#826B63;letter-spacing:.12em;line-height:2;border-bottom:1px solid #BFE9E8}
.teal{color:#0EB5B9}
.thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:10px}
.thumbs img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;border-radius:6px}
.rv{background:#F9F5F1;border-radius:10px;padding:24px 28px;display:flex;flex-direction:column;gap:14px}
.rv-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.rv-good{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;font-size:15px;line-height:1.9;letter-spacing:.06em}
.map{height:400px;background:#E6E4DF;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:#826B63;font-size:14px;letter-spacing:.1em}
@media (max-width: 900px){ .page-ttl{font-size:22px;gap:12px;white-space:nowrap} .page-ttl > span{display:none} .page-head > span:first-child{width:36vw !important;height:36vw !important;left:-12vw !important;top:-16vw !important} .page-head .deco.fuzzy{left:auto !important;right:14vw;top:6vw !important;width:30vw;height:auto} .page-head .deco.scrib{left:auto !important;right:4vw !important;top:58vw !important;width:15vw !important;height:auto !important;opacity:.75} .page-head .deco.paws{right:auto !important;left:3vw !important;top:44vw !important;width:16vw;height:auto} .deco.paws,.deco.bones,.deco.fuzzy{max-width:34vw;height:auto} .wm{font-size:120px} .crumbs{padding-top:70px;text-align:left} .cbox{padding:24px 18px 110px} .info li{grid-template-columns:1fr} .info h3{text-align:left;justify-content:flex-start;padding:8px 0} .info .d{padding:8px 0 12px} .thumbs{grid-template-columns:repeat(5,1fr);gap:6px} .rv-good{grid-template-columns:1fr} .map{height:240px} .rv{padding:18px 16px} .deco-pc{display:none !important} }

.sort-row .opt{white-space:nowrap}
@media (max-width: 900px){ .sort-row{width:100%;flex-wrap:nowrap;overflow-x:auto;gap:6px !important;padding-bottom:4px} .sort-row .opt{flex:0 0 auto;min-height:34px !important;font-size:12px;padding:0 12px} }
.spot-card{background:#FFFFFF;border:1.5px solid #F5D98C;border-radius:20px;padding:30px 26px 26px;position:relative;display:flex;flex-direction:column;gap:14px}
.spot-card::before{content:'';position:absolute;left:50%;top:-1px;transform:translateX(-50%);width:120px;height:10px;background:#F5D98C;border-radius:0 0 8px 8px}
.spot-card h3{display:flex;gap:12px;align-items:flex-start;margin:0;font-size:19px;color:#0EB5B9;letter-spacing:.08em;line-height:1.6;font-weight:700}
.spot-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}
.score{display:flex;gap:8px;flex-wrap:wrap;font-size:13px;letter-spacing:.06em}
.score span{border-radius:999px;padding:3px 12px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips span{font-size:12px;color:#FFFFFF;padding:2px 9px;letter-spacing:.06em;font-weight:500}
.pager{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:48px;font-family:'Josefin Sans', sans-serif;font-weight:700;font-size:16px;letter-spacing:.1em}
.pager a{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #0EB5B9;color:#077F82}
.pager a.on{background:#0EB5B9;color:#FFFFFF}
.fld{display:grid;grid-template-columns:220px 1fr;gap:0 24px;padding:22px 0;border-bottom:1.5px solid #BFE9E8}
.fld:last-of-type{border-bottom:0}
.fld-ttl{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px;font-size:16px;letter-spacing:.1em;color:#0EB5B9;padding-top:8px}
.fld-ttl i{width:0;height:0;border-left:9px solid currentColor;border-top:6px solid transparent;border-bottom:6px solid transparent;display:block;margin-top:9px}
.req{font-size:11px;color:#FFFFFF;background:#E08E9F;border-radius:999px;padding:1px 9px;margin-left:8px;letter-spacing:.06em;font-weight:700;align-self:center}
.inp{width:100%;min-height:54px;border:2px solid #BFE9E8;border-radius:12px;padding:12px 18px;font-size:16px;font-family:inherit;letter-spacing:.06em;background:#FFFFFF;color:#4B4742;font-weight:500}
.ta{min-height:140px;resize:vertical}
.opt{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;border:2px solid #0EB5B9;color:#077F82;font-size:14px;letter-spacing:.08em;background:#FFFFFF}
.opt.on{background:#0EB5B9;color:#FFFFFF}
.paws5{display:flex;gap:6px;align-items:center}
.hint{font-size:13px;color:#826B63;font-weight:500;letter-spacing:.06em;line-height:1.8;margin:8px 0 0}
.drop{border:2px dashed #0EB5B9;border-radius:16px;background:#E8F9F9;padding:28px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;color:#077F82;font-size:15px;letter-spacing:.08em}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.steps-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cbox .step{background:#F9F5F1}
.step{background:#FFFFFF;border-radius:20px;padding:36px 22px 30px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px;font-size:17px;letter-spacing:.08em;line-height:1.7}
.step p{margin:0;font-size:14px;color:#826B63;font-weight:500;letter-spacing:.06em;line-height:1.9;text-align:left}
.rule{background:#F9F5F1;border-radius:10px;padding:28px 32px}
.rule h3{margin:0 0 10px;font-size:17px;color:#E08E9F;letter-spacing:.12em}
.rule li{display:flex;gap:10px;align-items:flex-start;font-size:15px;letter-spacing:.06em;line-height:2;font-weight:500}
.rule li i{width:8px;height:8px;border-radius:50%;display:block;flex:0 0 auto;margin-top:12px}
.faq{border-bottom:1.5px solid #BFE9E8;padding:22px 0}
.faq .q{display:flex;gap:14px;align-items:flex-start;font-size:17px;color:#0EB5B9;letter-spacing:.08em;line-height:1.7}
.faq .a{display:flex;gap:14px;align-items:flex-start;margin:10px 0 0;font-size:15px;letter-spacing:.06em;line-height:2;font-weight:500;color:#4B4742}
.faq b{font-family:'Josefin Sans', sans-serif;font-size:20px;flex:0 0 28px;line-height:1.3}
@media (max-width: 1100px){ .steps{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width: 900px){ .fld{grid-template-columns:1fr;gap:10px 0;padding:18px 0} .fld-ttl{padding-top:0} .steps{grid-template-columns:1fr} .steps-4{grid-template-columns:repeat(2,minmax(0,1fr))} .pager{margin-top:32px} .rule{padding:20px 18px} }

html{scroll-behavior:smooth;overflow-x:clip} body{margin:0;background:#F9F5F1;overflow-x:clip} .wrap a,a.f-card{text-decoration:none}
button.menu-circle{border:0;cursor:pointer;font:inherit;color:inherit}
.site-menu{position:fixed;inset:0;z-index:100;background:rgba(75,71,66,.45);display:flex;justify-content:flex-end}
.site-menu[hidden]{display:none}
.site-menu-in{width:min(420px,100%);height:100%;overflow:auto;background:#F9F5F1;padding:40px 36px;display:flex;flex-direction:column;gap:28px;box-sizing:border-box}
.site-menu-logo{display:flex;align-items:center;gap:12px}
.site-menu nav{display:flex;flex-direction:column}
.site-menu nav a{display:flex;align-items:center;gap:14px;padding:16px 4px;border-bottom:1.5px dashed #BFE9E8;font-size:17px;letter-spacing:.1em;color:#4B4742}
.site-menu .close{align-self:flex-start;border:2px solid #0EB5B9;background:#FFFFFF;color:#077F82;border-radius:999px;padding:10px 22px;font:inherit;font-weight:700;letter-spacing:.1em;cursor:pointer}
.photo-none{position:relative;width:100%;aspect-ratio:4/3;border-radius:4px;background:#E8F9F9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#077F82;text-align:center;overflow:hidden}
.photo-none img{width:46%;height:auto}
.photo-none span{font-size:14px;letter-spacing:.1em;line-height:1.8;padding:0 16px}
.empty-box{border:2px dashed #BFE9E8;border-radius:14px;padding:32px 24px;text-align:center;color:#826B63;font-size:15px;letter-spacing:.08em;line-height:2;background:#F9F5F1}
.soon{display:inline-block;background:#FFD68D;color:#4B4742;font-size:12px;letter-spacing:.08em;border-radius:999px;padding:2px 12px;margin-left:8px;vertical-align:middle}
.f-card{background:#FFFFFF;border:1.5px solid #F5D98C;border-radius:20px;padding:30px 26px 24px;position:relative;display:flex;flex-direction:column;gap:12px;color:#4B4742}
.f-card::before{content:'';position:absolute;left:50%;top:-1px;transform:translateX(-50%);width:120px;height:10px;background:#F5D98C;border-radius:0 0 8px 8px}
.f-card h3{display:flex;gap:12px;align-items:flex-start;margin:0;font-size:18px;color:#0EB5B9;letter-spacing:.08em;line-height:1.6;font-weight:700}
.f-card .thumb{width:100%;aspect-ratio:16/9;border-radius:8px;background:#E8F9F9;display:flex;align-items:center;justify-content:center}
.f-card .thumb img{height:78%;width:auto}
.f-card p{margin:0;font-size:14px;color:#826B63;letter-spacing:.06em;line-height:1.9;font-weight:500}
.f-card .meta{font-size:13px;color:#826B63;letter-spacing:.08em}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips span{font-size:12px;color:#FFFFFF;padding:2px 9px;letter-spacing:.06em;font-weight:500}
.filter{display:flex;flex-direction:column;gap:14px;background:#E8F9F9;border-radius:20px;padding:26px 28px}
.filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.filter-row > b{flex:0 0 120px;font-size:15px;color:#077F82;letter-spacing:.1em}
.fbtn{display:inline-flex;align-items:center;min-height:38px;padding:0 16px;border-radius:999px;border:2px solid #0EB5B9;background:#FFFFFF;color:#077F82;font:inherit;font-size:14px;font-weight:700;letter-spacing:.08em;cursor:pointer}
.fbtn[aria-pressed=true]{background:#0EB5B9;color:#FFFFFF}
.count{font-size:14px;color:#826B63;letter-spacing:.08em}
.faq-list .faq:last-child{border-bottom:0}
.src{margin:16px 0 0;font-size:12px;color:#826B63;letter-spacing:.04em;line-height:1.9;font-weight:500;word-break:break-all}
.src a{color:#077F82;text-decoration:underline}
.mapf{width:100%;height:400px;border:0;border-radius:4px;display:block;background:#E6E4DF}
.lead{margin:22px 0 0;font-size:15px;letter-spacing:.1em;line-height:2;font-weight:500}
.arealine{margin:14px 0 0;font-size:14px;color:#826B63;letter-spacing:.08em;display:flex;align-items:center;gap:6px}
@media (max-width: 900px){ .filter{padding:20px 16px} .filter-row > b{flex-basis:100%} .mapf{height:260px} .site-menu-in{padding:28px 22px} }
