/*
Theme Name: Belle Mer Karaoke
Author: Belle Mer
Description: カラオケ ベル・メールの公式サイト用テーマ
Version: 1.8.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: bellemer
*/
:root{--navy:#073c69;--blue:#0875b5;--aqua:#d8f6f9;--cream:#fffaf0;--orange:#ffad38;--ink:#17344b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Noto Sans JP',-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN',Meiryo,sans-serif;color:var(--ink);background:#fff}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid #ff8a00;outline-offset:3px}.wrap{width:min(1120px,calc(100% - 40px));margin:auto}.site-header{background:white;position:sticky;top:0;z-index:10;box-shadow:0 3px 18px #06345b13}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:82px}.brand{display:grid;color:var(--blue);font-weight:900;font-size:24px;line-height:1.2}.brand small{font-size:11px;letter-spacing:.2em}.nav{display:flex;align-items:center;gap:22px;font-size:14px;font-weight:700}.nav a:hover{color:var(--blue)}.header-tel{background:var(--orange);padding:12px 18px;border-radius:99px;color:#17344b}.menu-toggle{display:none;border:0;background:var(--blue);color:white;padding:10px 14px;border-radius:10px;font-size:18px}.hero{background:radial-gradient(circle at 80% 26%,#d1f8fa 0 8%,transparent 9%),linear-gradient(130deg,#07518a,#0a9fba);color:#fff;overflow:hidden;position:relative}.hero:after{content:'';position:absolute;bottom:-60px;left:-5%;width:110%;height:125px;background:#fff;border-radius:50% 50% 0 0}.hero-inner{min-height:550px;display:flex;align-items:center;position:relative;z-index:1}.hero-copy{max-width:690px;padding:65px 0 110px}.eyebrow{font-size:14px;font-weight:800;letter-spacing:.2em;color:#fff2b7}.hero h1{font-size:clamp(38px,6vw,76px);line-height:1.28;letter-spacing:.025em;margin:20px 0;text-shadow:0 3px 16px #003e6377}.hero h1 em{font-style:normal;color:#ffe26d}.hero p{font-size:18px;font-weight:700;line-height:1.8}.buttons{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}.btn{display:inline-block;background:var(--orange);color:#17344b;border-radius:99px;padding:15px 28px;font-weight:900;box-shadow:0 6px 0 #0002}.btn.secondary{background:white;color:var(--blue)}.hero-art{position:absolute;right:0;bottom:125px;font-size:clamp(120px,24vw,290px);opacity:.25;transform:rotate(-18deg);line-height:1}.section{padding:80px 0}.section.alt{background:var(--cream)}.section.blue{background:#e7f8fb}.section-title{text-align:center;font-size:clamp(28px,4vw,39px);margin:0 0 40px;color:var(--navy)}.section-title:after{content:'〜 〜 〜';display:block;color:#3fbacb;font-size:20px;letter-spacing:.3em;margin-top:12px}.news{padding:25px 0 45px}.news-list{list-style:none;padding:0;margin:0}.news-list li{border-bottom:1px solid #d7e6eb;padding:15px 2px;display:flex;gap:22px}.news-list time{font-size:13px;color:var(--blue);white-space:nowrap}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:white;border-radius:22px;padding:30px;box-shadow:0 8px 25px #073c6912}.card h3{font-size:24px;margin:8px 0 13px;color:var(--navy)}.card p{line-height:1.9;margin:0}.tag{display:inline-block;border-radius:99px;background:#daf5fa;color:var(--blue);padding:5px 13px;font-size:12px;font-weight:800}.card.pink{background:#fff0f3}.card.yellow{background:#fff3cd}.card.cyan{background:#e8f8fc}.price{font-size:38px;color:#d95147;font-weight:900}.details{font-size:13px;line-height:1.8}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:center}.feature{padding:28px 16px;background:white;border-radius:22px}.feature .icon{font-size:45px}.feature h3{color:var(--navy)}.feature p{line-height:1.7}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.menu-item{background:white;border:2px solid #dceff4;border-radius:18px;padding:22px}.menu-item strong{font-size:20px}.menu-item span{float:right;font-weight:800;color:var(--blue)}.access{display:grid;grid-template-columns:1fr 1fr;gap:35px}.access dl{display:grid;grid-template-columns:100px 1fr;gap:14px;line-height:1.8}.access dt{font-weight:900;color:var(--blue)}.access dd{margin:0}.map-link{display:flex;min-height:250px;align-items:center;justify-content:center;background:linear-gradient(135deg,#e8f6e6,#bee7eb);border-radius:22px;color:var(--navy);font-weight:900}.footer{background:var(--navy);color:white;padding:45px 0 25px}.footer-inner{display:flex;justify-content:space-between;gap:30px}.footer small{opacity:.7}.footer-links{display:flex;gap:18px;flex-wrap:wrap;font-size:13px}.page-main{padding:60px 0;min-height:55vh}.entry-content{line-height:1.9}.entry-content img{max-width:100%;height:auto}.wp-block-image img{height:auto}.mobile-call{display:none}@media(max-width:800px){.header-inner{min-height:66px}.brand{font-size:19px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:66px;left:0;right:0;padding:20px;background:white;box-shadow:0 10px 15px #0002;flex-direction:column;align-items:stretch}.nav.open{display:flex}.hero-inner{min-height:490px}.hero-copy{padding:55px 0 95px}.hero p{font-size:15px}.hero-art{right:-20px;bottom:80px}.grid,.features,.menu-grid{grid-template-columns:1fr 1fr}.access{grid-template-columns:1fr}.footer-inner{flex-direction:column}.mobile-call{display:block;position:fixed;bottom:15px;right:15px;z-index:15;background:var(--orange);padding:14px 20px;border-radius:50px;font-weight:900;box-shadow:0 4px 16px #0004}}@media(max-width:560px){.grid,.features,.menu-grid{grid-template-columns:1fr}.news-list li{display:block}.news-list time{display:block;margin-bottom:5px}.access dl{grid-template-columns:75px 1fr}.section{padding:60px 0}}
.video-section{background:#f1fbfd}.video-section video{display:block;width:min(100%,900px);max-height:600px;margin:0 auto;border-radius:20px;background:#073c69;box-shadow:0 12px 36px #073c6926}

.poster-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.poster{margin:0}.poster img{display:block;width:100%;height:auto;border-radius:17px;box-shadow:0 10px 28px #073c6925}.poster figcaption{margin-top:12px;text-align:center;font-weight:800;color:var(--navy)}@media(max-width:800px){.poster-grid{grid-template-columns:1fr}}
/* Top campaign and room photos */
.brand{display:block;flex:0 0 auto;line-height:0}.brand img{display:block;width:154px;height:74px;object-fit:contain}.top-campaign{padding:30px 0 42px;background:linear-gradient(145deg,#e7f9fd,#fff7d7)}.slider{position:relative;max-width:1060px;margin:auto;overflow:hidden;border-radius:22px;box-shadow:0 14px 35px #073c6930;background:#fff}.slide{display:none;position:relative}.slide.is-active{display:block}.slide img{display:block;width:100%;height:auto;aspect-ratio:1492/1054}.slide-prev,.slide-next{position:absolute;top:50%;transform:translateY(-50%);background:#073c69db;color:#fff;border:0;border-radius:50%;width:46px;height:46px;font-size:34px;line-height:1;cursor:pointer}.slide-prev{left:12px}.slide-next{right:12px}.slider-actions{display:flex;align-items:center;justify-content:center;gap:25px;margin-top:16px}.slide-dots{display:flex;gap:10px}.slide-dots button{border:0;border-radius:50%;width:12px;height:12px;background:#92bbce;cursor:pointer}.slide-dots button.is-active{background:#073c69}.slide-play{background:transparent;border:1px solid #073c69;border-radius:99px;padding:7px 14px;color:#073c69;cursor:pointer}.poster-day-correction{position:absolute;left:16.2%;top:55.6%;width:30.4%;height:13.8%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;font-family:'Noto Sans JP',Meiryo,sans-serif;color:#112d68;text-align:center;white-space:nowrap}.poster-day-correction strong{font-size:clamp(10px,3.2vw,46px);line-height:1.12}.poster-day-correction b{font-size:clamp(11px,3.7vw,52px);line-height:1.1}.room-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.room-grid figure{margin:0;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 8px 24px #073c6914}.room-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.room-grid figcaption{padding:16px 20px;font-weight:800;color:var(--navy)}@media(max-width:800px){.brand img{width:120px;height:60px}}@media(max-width:600px){.top-campaign .wrap{width:100%}.slider{border-radius:0}.slide-prev,.slide-next{width:32px;height:32px;font-size:25px}.room-grid{grid-template-columns:1fr}.poster-day-correction strong{font-size:3.15vw}.poster-day-correction b{font-size:3.6vw}}

/* Updated gallery and carousel */
.slider{aspect-ratio:1492/1054;isolation:isolate}.slider .slide{display:block;position:absolute;inset:0;opacity:0;visibility:hidden;transform:scale(1.035) translateX(12px);transition:opacity .85s ease,transform 1.2s cubic-bezier(.2,.7,.2,1),visibility 0s linear .85s}.slider .slide.is-active{opacity:1;visibility:visible;transform:scale(1) translateX(0);transition:opacity .85s ease,transform 1.2s cubic-bezier(.2,.7,.2,1),visibility 0s}.slider .slide img{width:100%;height:100%;object-fit:contain}.slide-prev,.slide-next{z-index:2}.room-grid{max-width:900px;margin:auto;gap:18px}.room-grid img{aspect-ratio:16/9;object-fit:cover}.food-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.food-grid figure{margin:0;overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 8px 25px #073c691b}.food-grid img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}.food-grid figcaption{padding:16px 18px;font-size:17px;font-weight:800;color:var(--navy)}.food-note{font-size:13px;text-align:right;margin:20px 0 0}@media(max-width:700px){.room-grid{max-width:470px}.food-grid{grid-template-columns:1fr;max-width:470px;margin:auto}}@media(prefers-reduced-motion:reduce){.slider .slide,.slider .slide.is-active{transition:none;transform:none}}

.feature-illustration{display:block;width:116px;height:116px;margin:0 auto 12px}.room-grid{max-width:960px}.room-grid img{aspect-ratio:2/1;object-fit:cover;object-position:center 55%}@media(max-width:700px){.room-grid img{aspect-ratio:16/9}}

.room-grid{grid-template-columns:minmax(0,1fr);max-width:850px;gap:28px}.room-grid img{aspect-ratio:2/1;object-fit:cover}.feature-illustration{width:min(100%,275px);height:auto;aspect-ratio:4/3;margin:0 auto 14px;border-radius:18px}.feature{padding:18px 16px 28px}.feature h3{font-size:20px}@media(max-width:700px){.room-grid{max-width:540px}.room-grid img{aspect-ratio:16/9}}

.feature-illustration{width:100%;max-width:none;aspect-ratio:4/3;object-fit:cover;border-radius:16px}.feature-note{text-align:right;font-size:12px;color:#526978;margin:20px 0 0}
