/* shared design tokens (generated by build-shared.mjs from site.config.json) */
:root{
  --ink:#1a323d;--muted:#5d6b7e;
  --brand:#326391;--brand-dark:#1a323d;
  --line:#e2e9f0;--soft:#f2f7fa;--white:#ffffff;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:-apple-system,"Helvetica Neue","Hiragino Sans","Yu Gothic",sans-serif;color:var(--ink);background:var(--white);line-height:1.75;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.shell{max-width:1160px;margin:0 auto;padding:0 24px}
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:11px;font-weight:700;font-size:15px;padding:13px 22px;transition:.2s;cursor:pointer;border:1px solid transparent}
.btn-primary{background:var(--brand);color:#fff}
.btn-primary:hover{filter:brightness(1.05);transform:translateY(-1px)}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.site-header .nav{display:flex;align-items:center;justify-content:space-between;height:66px;gap:18px}
.brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:19px;color:var(--brand-dark)}
.brand-mk{width:28px;height:28px;object-fit:contain}
.menu{display:none;align-items:center;gap:22px;margin-left:auto}
.menu a{font-size:14px;font-weight:600;color:var(--ink);position:relative;padding:4px 0}
.menu a::after{content:"";position:absolute;left:0;right:100%;bottom:-4px;height:2px;background:var(--brand);transition:right .25s}
.menu a:hover::after{right:0}
.nav-cta{display:none}
.burger{display:flex;flex-direction:column;gap:5px;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:11px;background:#fff;cursor:pointer;margin-left:auto}
.burger span{width:20px;height:2px;background:var(--brand-dark);border-radius:2px;transition:.3s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mnav{display:flex;flex-direction:column;padding:10px 24px 18px;gap:4px;border-top:1px solid var(--line);background:#fff}
.mnav a{padding:12px 6px;font-weight:600;border-bottom:1px solid var(--line)}
.mnav .nav-cta{display:inline-flex;justify-content:center;margin-top:10px;border-bottom:none}
@media(min-width:900px){
  .menu{display:flex}.nav-cta{display:inline-flex}.burger{display:none}.mnav{display:none !important}
}
/* アクティブ表示: <body data-page="X"> と [data-nav="X"] が一致したリンクを強調 */
body[data-page] .menu [data-nav]{}
body[data-page="index"] [data-nav="index"]:not(.nav-cta){color:var(--brand)}
body[data-page="business"] [data-nav="business"]:not(.nav-cta){color:var(--brand)}
body[data-page="cruising"] [data-nav="cruising"]:not(.nav-cta){color:var(--brand)}
body[data-page="restaurant"] [data-nav="restaurant"]:not(.nav-cta){color:var(--brand)}
body[data-page="restaurant-dolphins-cafe"] [data-nav="restaurant-dolphins-cafe"]:not(.nav-cta){color:var(--brand)}
body[data-page="restaurant-dolphins-kitchen"] [data-nav="restaurant-dolphins-kitchen"]:not(.nav-cta){color:var(--brand)}
body[data-page="restaurant-aura"] [data-nav="restaurant-aura"]:not(.nav-cta){color:var(--brand)}
body[data-page="restaurant-portmesse"] [data-nav="restaurant-portmesse"]:not(.nav-cta){color:var(--brand)}
body[data-page="catering"] [data-nav="catering"]:not(.nav-cta){color:var(--brand)}
body[data-page="catering-portbuilding"] [data-nav="catering-portbuilding"]:not(.nav-cta){color:var(--brand)}
body[data-page="catering-portmesse"] [data-nav="catering-portmesse"]:not(.nav-cta){color:var(--brand)}
body[data-page="company"] [data-nav="company"]:not(.nav-cta){color:var(--brand)}
body[data-page="news"] [data-nav="news"]:not(.nav-cta){color:var(--brand)}
body[data-page="recruit"] [data-nav="recruit"]:not(.nav-cta){color:var(--brand)}
body[data-page="contact"] [data-nav="contact"]:not(.nav-cta){color:var(--brand)}
body[data-page="privacy"] [data-nav="privacy"]:not(.nav-cta){color:var(--brand)}

/* footer */
.site-footer{background:var(--brand-dark);color:rgba(255,255,255,.82);padding:48px 0 28px}
.site-footer .foot{display:flex;flex-direction:column;gap:18px}
.site-footer .brand{color:#fff}
.fnav{display:flex;flex-wrap:wrap;gap:8px 22px}
.fnav a{font-size:13.5px;color:rgba(255,255,255,.82)}
.fnav a:hover{color:#fff}
.copy{font-size:12.5px;color:rgba(255,255,255,.5);border-top:1px solid rgba(255,255,255,.12);padding-top:18px}
