/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Oct 20 2025 | 15:28:19 */
/* =========================================================
   0) グローバル制御：テーマ製ヘッダー／フッターを全ページで隠す
   ========================================================= */
.wp-site-blocks :is(header.wp-block-template-part, footer.wp-block-template-part){
  display: none !important;
}
.wp-site-blocks{ padding-top:0 !important; }
main[role="main"],
.wp-site-blocks > main,
.wp-site-blocks > .wp-block-group.is-layout-flow{ margin-top:0 !important; }
body.admin-bar .sk-header-wrap{ margin-top:0 !important; }
.sk-header-wrap{ position:relative; z-index:2; }

/* =========================================================
   1) Design Tokens / Base
   ========================================================= */
:root{
  --sk-gold:#C8A953; --sk-gold-deep:#B88F24;
  --sk-blue:#9FCEEC; --sk-blue-deep:#77BCE6;
  --sk-pink:#FD7AAB; --sk-ink:#1F2937; --sk-white:#FFFFFF;
  --sk-font-sans: system-ui,-apple-system,"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  --sk-font-serif:"Noto Serif JP","Yu Mincho",serif;
  --sk-radius:16px; --sk-radius-lg:24px; --sk-shadow:0 8px 24px rgba(0,0,0,.08);
}
html,body{ background:#fff !important; }
html{ scroll-behavior:smooth; }
body{ font-family:var(--sk-font-sans); color:var(--sk-ink); line-height:1.75; }
h1,h2,h3,h4{ font-family:var(--sk-font-serif); line-height:1.35; letter-spacing:.02em; }
a{ color:var(--sk-blue-deep); text-decoration:none; }
a:hover{ opacity:.9; text-decoration:underline; }
img{ max-width:100%; height:auto; display:block; }
.wp-site-blocks, .wp-block-group, .wp-block-cover, .sk-hero{ background:#fff !important; }

/* =========================================================
   2) Components
   ========================================================= */
.sk-btn{
  display:inline-block; padding:.8rem 1.25rem; border-radius:var(--sk-radius);
  font-weight:700; border:2px solid transparent; box-shadow:var(--sk-shadow); transition:.2s;
}
.sk-btn--gold{ background:var(--sk-gold-deep); color:#fff; }
.sk-btn--gold:hover{ filter:brightness(.95); }
.sk-btn--outline{ background:#fff; border-color:var(--sk-gold-deep); color:var(--sk-gold-deep); }
.sk-btn--outline:hover{ background:var(--sk-gold); color:#222; }

.sk-card{ background:#fff; border-radius:var(--sk-radius-lg); box-shadow:var(--sk-shadow); padding:1.25rem; overflow:hidden; }

.sk-underline{ position:relative; display:inline-block; padding-bottom:.25rem; }
.sk-underline:after{
  content:""; position:absolute; left:0; bottom:0; width:100%; height:4px;
  background:linear-gradient(90deg,var(--sk-gold),var(--sk-gold-deep)); border-radius:2px;
}

.sk-hours{ width:100%; border-collapse:separate; border-spacing:0; overflow:hidden; border-radius:var(--sk-radius); }
.sk-hours th, .sk-hours td{ padding:.75rem 1rem; border-bottom:1px solid #e5e7eb; text-align:center; }
.sk-hours thead th{ background:linear-gradient(90deg,var(--sk-blue),var(--sk-blue-deep)); color:#fff; font-family:var(--sk-font-serif); }
.sk-hours tbody tr:nth-child(even){ background:#fafafa; }
.sk-hours tr:last-child td{ border-bottom:none; }

/* =========================================================
   3) Header（全ページ）
   ========================================================= */
.sk-header{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:12px 16px; border-radius:var(--sk-radius-lg); background:#fff; box-shadow:var(--sk-shadow);
}
.sk-header .site-logo img{ width:180px; height:auto; display:block; filter:drop-shadow(0 1px 1px rgba(0,0,0,.06)); }
.sk-nav ul{ display:flex; gap:16px; list-style:none; margin:0; padding:0; align-items:center; }
.sk-nav a{ font-weight:600; }
.sk-nav .tel{
  padding:.55rem .9rem; border-radius:var(--sk-radius); background:var(--sk-gold-deep);
  color:#fff; border:2px solid transparent; box-shadow:var(--sk-shadow);
}
.sk-nav .tel:hover{ filter:brightness(.95); }
.sk-menu-toggle{ display:none; cursor:pointer; user-select:none; }
.sk-menu-toggle .bar{ width:24px; height:2px; background:var(--sk-ink); display:block; margin:5px 0; }

@media (max-width:900px){
  .sk-menu-toggle{ display:block; }
  .sk-nav{
    position:fixed; inset:64px 12px auto 12px; background:#fff; border-radius:16px; box-shadow:var(--sk-shadow);
    padding:12px; display:none;
  }
  #sk-menu:checked ~ .sk-nav{ display:block; }
  .sk-nav ul{ flex-direction:column; align-items:stretch; gap:8px; }
  .sk-nav .tel{ text-align:center; }
}

/* =========================================================
   3.5) Home only: ヘッダー直下の余白を大きく（さらに広げる版）
   ========================================================= */
.home .sk-header-wrap{
  /* SP〜中画面：28px〜72px、画面に応じて自動可変 */
  margin-bottom: clamp(28px, 5vw, 72px);
}
@media (min-width: 900px){
  .home .sk-header-wrap{
    /* PC：40px〜96px、余裕ある見た目に */
    margin-bottom: clamp(40px, 6vw, 96px);
  }
}

/* =========================================================
   4) Layout / Sections
   ========================================================= */
.sk-container{ max-width:1080px; margin:0 auto; padding:24px 16px; }
.sk-section{ margin:48px 0; }
.sk-section h2.sk-underline{ margin-top:0; }
.sk-cta{ display:flex; gap:12px; flex-wrap:wrap; }
.sk-feature{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.sk-feature .sk-card{ min-height:120px; }
@media (max-width:900px){ .sk-feature{ grid-template-columns:1fr; } }

/* =========================================================
   5) Hero（grid版＆flex版の両対応）
   ========================================================= */
/* 共通ロゴ */
.sk-hero-logo{ display:block; margin:0; width:min(360px,80%); height:auto; }

/* grid版 */
.sk-hero{ display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:center; }
.sk-hero .sk-hero-copy{ padding:4px 0 0; min-width:0 !important; }
.sk-hero .sk-hero-copy h2{
  margin:0 0 .5rem; text-wrap:nowrap; white-space:nowrap; word-break:keep-all;
  font-size:clamp(20px,2.4vw,28px);
}
.sk-hero .sk-hero-copy p{ margin:0 0 .75rem; } /* SPでは通常折り返し */

@media (min-width:900px){
  .sk-hero{ grid-template-columns:.70fr 1.30fr; } /* 右テキスト広め */
  .sk-hero-logo{ width:440px; }                  /* ロゴ控えめ */
  .sk-hero .sk-hero-copy h2{ font-size:clamp(24px,1.6vw + 16px,36px); }
  .sk-hero .sk-hero-copy p{
    white-space:nowrap; text-wrap:nowrap; word-break:keep-all;  /* 本文も1行固定 */
  }
}

/* flex版（.col-left / .col-right） */
@media (min-width:900px){
  .sk-hero-flex{ display:flex !important; align-items:center !important; gap:24px !important; flex-wrap:nowrap !important; }
  .sk-hero-flex .col-left{ flex:0 0 28% !important; max-width:480px !important; }
  .sk-hero-flex .col-left img{ width:min(420px,30vw) !important; height:auto !important; display:block !important; margin:0 !important; }
  .sk-hero-flex .col-right{ flex:1 1 72% !important; min-width:0 !important; }
  .sk-hero-flex .col-right h2{
    margin:0 0 .5rem; text-wrap:nowrap; white-space:nowrap; word-break:keep-all;
    line-height:1.2; letter-spacing:.02em; font-size:clamp(24px,1.6vw + 16px,36px);
  }
  .sk-hero-flex .col-right p{
    white-space:nowrap; text-wrap:nowrap; word-break:keep-all;  /* 本文も1行固定 */
  }
}

/* =========================================================
   6) アクセスの余白最適化
   ========================================================= */
section[aria-label="アクセス"] > p:first-of-type{ margin:.35rem 0 .35rem !important; }
section[aria-label="アクセス"]{ margin-bottom:20px !important; }
section[aria-label="アクセス"] .sk-card:last-child{ margin-bottom:0 !important; }

/* =========================================================
   7) Footer（全ページ）
   ========================================================= */
.sk-footer{ margin-top:48px; padding:24px 16px; border-top:1px solid #e5e7eb; background:#fff; }
.sk-footer .cols{ display:grid; grid-template-columns:2fr 1fr 1fr; gap:24px; max-width:1080px; margin:0 auto; }
.sk-footer small{ display:block; margin-top:12px; color:#6b7280; }
@media (max-width:900px){ .sk-footer .cols{ grid-template-columns:1fr; } }
.sk-footer .sk-hours-mini{ display:grid; grid-template-columns:3.5em 1fr; column-gap:10px; row-gap:2px; margin-top:.25rem; line-height:1.4; }
.sk-footer .sk-hours-mini .label{ white-space:nowrap; color:inherit; }
.sk-footer .sk-hours-mini .time{ white-space:nowrap; }
.sk-tabnums{ font-variant-numeric:tabular-nums; font-feature-settings:"tnum" 1,"lnum" 1; }
@media (max-width:420px){ .sk-footer .sk-hours-mini{ grid-template-columns:3.8em 1fr; } }

/* アクセシビリティ：視覚的に隠す（H1など） */
.sr-only{
  position:absolute !important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
