@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** グローバル（サイト全体）
************************************/
/* 固定ページ系の余計な表示をOFF */
.page .entry-title,
.page .date-tags,
.page .author-info { display: none; }

/* ロゴ未設定時に出るサイト名テキストを消す（見た目だけ） */
.logo-text .site-name,
.logo-text .site-name-text-link{
  display: none;
}

/* Cocoon 固定モバイルボタンから「サイドバー」だけ隠す */
#mobile-menu-buttons .sidebar-button,
.mobile-menu-buttons .sidebar-button,
#footer-mobile-buttons .sidebar-button,
.mobile-menu-buttons [class*="sidebar"]{
  display: none !important;
}

/* LPのパンくず全部オフ（上も下も） */
#breadcrumb{
  display: none !important;
}

/* ① フロントページ（.home）だけフッターを全消し */
.home #footer,
.home #footer-in,
.home #footer-bottom,
.home #copyright{
  display: none !important;
}

/* ② ついでにパンくずが出るテーマなら下側も消しておく（任意） */
.home #breadcrumb{ display:none !important; }

/* ③ 余白が気になるときの保険（任意） */
.home .content,
.home #content{ padding-bottom: 0 !important; }

/* フロントページのみモバイルフッター消す */
.home #mobile-menu-buttons,
.home .mobile-menu-buttons{
  display: none !important;
}


/* ロゴ：中央寄せ＆サイズ */
.logo-header{
  display:flex; justify-content:center;
  padding: 0 24px; box-sizing:border-box;
}
.logo-header img{ max-width:200px; height:auto; display:block; }
@media screen and (max-width: 599px){
  .logo-header{ padding:0 16px }
  .logo-header img{ max-width:160px }
}

/* 背景：モルタル（タイルにしてボケ防止） */
body.page{
  background-image: url('https://coq-salut.com/wp-content/uploads/2025/07/mortar-bg.jpg');
  background-repeat: repeat;
  background-size: 520px auto;
  background-position: top center;
  background-attachment: scroll;
}

/* Cocoon側の白背景を透過して背景を見せる */
body.page #footer,
body.page #footer-in,
body.page #footer .footer,
body.page #footer .footer-bottom,
body.page #copyright{
  background: transparent !important;
  box-shadow: none;
}
.page #container,
.page #content,
.page .main,
.page .main .wrap,
.page .entry,
.page .article,
.page .content,
.page .content-in{
  background: transparent !important;
  box-shadow: none !important;
}
.page .main{ padding:0 }
.page .content-in{ padding:0 }

/* メニュー・ボタンの自動大文字化を無効化（小文字維持） */
.drawer-menu .menu a,
#navi .menu a,
#mobile-menu .menu a,
.mobile-menu-buttons a,
.mobile-menu-buttons a span{
  text-transform: none !important;
}

/* ヘッダーの電球高さ（1か所で管理） */
:root{ --bulb-h: clamp(64px, 10vw, 112px); }
#header-container{
  background: url("https://coq-salut.com/wp-content/uploads/toppage/light.png") repeat-x center top;
  background-size: auto var(--bulb-h);
  background-color: transparent;
}
#header-container-in{ padding-top: calc(var(--bulb-h) + 12px) }

/* アンカー用：滑らかスクロール＆見出しの被り回避 */
html{ scroll-behavior: smooth }
.page-id-37 h2[id]{ scroll-margin-top: calc(var(--bulb-h) + 24px) }

/************************************
** LP（page-id-37）共通レイアウト
************************************/
.page-id-37{
  --lp-w: 840px;                 /* PCの箱幅（必要ならここだけ変えればOK） */
  --lp-pad: clamp(8px, 3vw, 16px);
  --mv-r-min: 18px;              /* セクション共通：角丸の最小 */
  --mv-r-max: 56px;              /* セクション共通：角丸の最大 */
}

/* LPの各ブロックを箱幅で中央にそろえる */
.page-id-37 .entry-content > *{
  max-width: var(--lp-w);
  margin-inline: auto;
  padding-inline: var(--lp-pad);
}

/* H2：雑誌っぽく軽め（白文字） */
.page-id-37 .entry-content h2{
  margin: 36px 0 12px;
  padding: 0; border:none; background:transparent; box-shadow:none;
  color:#fff; font-weight:500; font-size:22px; letter-spacing:.12em;
  text-shadow: 0 1px 3px rgba(0,0,0,.35);
}
@media (max-width: 768px){
  .page-id-37 .entry-content h2{ font-size:18px; letter-spacing:.08em }
}
.page-id-37 .entry-content h2 + *{ margin-top:12px }

/* H3：白枠・四角・左右のインセットは他と揃える */
.page-id-37 .entry-content h3{
  border-radius: 0; width:auto;
  margin: clamp(20px, 3.2vw, 28px) auto clamp(12px, 2.2vw, 18px);
  padding: 10px var(--lp-pad); box-sizing: border-box;
  border: 1px solid rgba(255,255,255,.75);
  background: transparent; color:#fff; font-weight:600;
  font-size:18px; letter-spacing:.18em; text-align:center; box-shadow:none; display:block;
}
@media (max-width: 768px){
  .page-id-37 .entry-content h3{ font-size:16px; letter-spacing:.12em }
}

/************************************
** LP上部ナビ（PCのみ表示）
************************************/
.page-id-37 .lp-gnav{
  display:flex; align-items:center; justify-content:center;
  gap:0; padding-block:10px 18px; padding-inline: clamp(16px,4vw,56px);
  font-size: clamp(13px, 1.15vw, 18px);
  font-weight:600; letter-spacing:.12em; color:#fff; white-space:nowrap;
  text-align:center; filter: drop-shadow(0 1px 2px rgba(0,0,0,.45));
}
.page-id-37 .lp-gnav a{
  color:#fff; text-decoration:none; display:inline-block; padding-inline:.2em;
}
.page-id-37 .lp-gnav a:hover{ opacity:.85 }
.page-id-37 .lp-gnav .sep{ opacity:.6; margin:0 clamp(10px,1.8vw,22px) }
@media (max-width: 1024px){
  .page-id-37 .lp-gnav{ display:none !important; }
}

/************************************
** ヒーロー（スライドショー）
************************************/
/* 角丸の基準（LPにスコープ） */
.page-id-37{
  --hero-r-min: 28px;
  --hero-r-max: 100px;
  --hero-r: clamp(var(--hero-r-min), 6.94vw, var(--hero-r-max)); /* 1440px→約100px */
}
/* PCは箱幅、SPはフルブリード */
.page-id-37 .hero-wrap{ max-width: var(--lp-w); margin-inline:auto; padding-inline:0; }
@media (max-width: 768px){
  .page-id-37 .entry-content > .hero-wrap{ padding-inline:0 !important }
  .page-id-37 .hero-wrap{
    max-width:none; width:100vw;
    margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
  }
}
.page-id-37 .hero-frame{
  position:relative; overflow:hidden;
  box-shadow:0 12px 36px rgba(0,0,0,.18);
  border-radius: 0 var(--hero-r) 0 var(--hero-r);
}
.page-id-37 .hero-frame::before{ content:""; display:block; padding-top:66.6667% } /* 3:2 */
@supports (aspect-ratio: 1 / 1){
  .page-id-37 .hero-frame{ aspect-ratio: 3 / 2 }
  .page-id-37 .hero-frame::before{ content:none }
}
.page-id-37 .hero-slides,
.page-id-37 .hero-overlay{ position:absolute; inset:0 }
.page-id-37 .hero-slides img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:0; animation: heroFade 30s infinite ease-in-out;
}
.page-id-37 .hero-slides img:nth-child(1){ animation-delay:0s }
.page-id-37 .hero-slides img:nth-child(2){ animation-delay:6s }
.page-id-37 .hero-slides img:nth-child(3){ animation-delay:12s }
.page-id-37 .hero-slides img:nth-child(4){ animation-delay:18s }
.page-id-37 .hero-slides img:nth-child(5){ animation-delay:24s }

@keyframes heroFade{ 0%{opacity:0} 8%{opacity:1} 33%{opacity:1} 41%{opacity:0} 100%{opacity:0} }
@media (prefers-reduced-motion: reduce){
  .page-id-37 .hero-slides img{ animation:none }
  .page-id-37 .hero-slides img:nth-child(n+2){ display:none }
}
/* SPは楕円角を少し強めに */
@media (max-width:768px){
  .page-id-37 .hero-frame{ border-radius: 0 14% 0 14% / 0 16% 0 16% }
}
/* cqw対応でPC角丸をより正確に */
@supports (width: 1cqw){
  .page-id-37 .hero-frame{ --hero-r: clamp(var(--hero-r-min), 6.94cqw, var(--hero-r-max)) }
}

/************************************
** 1F/2F リンク（左右写真／中央テキスト＋横線）
************************************/
.page-id-37 .floors-cta.v2{ margin: clamp(20px, 6vw, 56px) 0; overflow:visible }
.page-id-37 .floors3{
  position:relative;
  max-width: min(1160px, 100%);
  margin-inline:auto;
  padding-inline: clamp(16px, 5vw, 48px);
  display:grid;
  grid-template-columns: minmax(120px,30%) 1fr minmax(120px,30%);
  column-gap: clamp(10px, 3vw, 20px);
  align-items: stretch;
}
/* 写真：左=上アーチ／右=下アーチ */
.page-id-37 .floors3 .ph{ display:block }
.page-id-37 .floors3 .ph,
.page-id-37 .floors3 .ph img{ height:100% }
.page-id-37 .floors3 .ph img{ width:100%; object-fit:cover; display:block }
.page-id-37 .floors3 .ph.f1 img{ border-radius: 50% 50% 0 0 / 28% 28% 0 0 } /* 上アーチ */
.page-id-37 .floors3 .ph.f2 img{ border-radius: 0 0 50% 50% / 0 0 28% 28% } /* 下アーチ */
/* 中央スタック＋横ライン */
.page-id-37 .floors3 .mid{
  position:relative; display:grid; grid-template-rows:auto auto;
  row-gap: clamp(28px, 9vw, 48px); justify-items:center; text-align:center;
}
.page-id-37 .floors3 .mid::before{
  content:""; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width: min(64%, 320px); height:1px; background: rgba(255,255,255,.75);
}
/* ロゴ画像（見出し代用） */
.page-id-37 .floors3 .wordmark{
  display:block; height:auto; margin:0 auto .4em;
  width: clamp(130px, 34vw, 210px);
}
/* サブとmore */
.page-id-37 .floors3 .unit{ display:flex; flex-direction:column; gap: clamp(4px, 1.4vw, 10px) }
.page-id-37 .floors3 .sub{
  margin:.1em 0 .45em; font-size: clamp(11px, 3.2vw, 14px);
  letter-spacing:.2em; opacity:.9;
}
.page-id-37 .floors3 .more-btn{
  display:inline-flex; align-items:center; gap:.2em;
  padding:.42em 1em; border:1.2px solid rgba(255,255,255,.9);
  border-radius:10px; letter-spacing:.16em; color:#fff; text-decoration:none;
  background: rgba(255,255,255,.06); font-size: clamp(13px, 3.6vw, 15px);
}
/* PCで“間”を詰める */
@media (min-width:1024px){
  .page-id-37 .floors3{
    grid-template-columns: minmax(240px,33vw) minmax(280px,32vw) minmax(240px,33vw);
    column-gap: clamp(4px, 0.6vw, 12px); align-items:center;
    padding-inline: 0 !important;
  }
  .page-id-37 .floors3 .mid{ row-gap: clamp(10px, 1.2vw, 14px) }
  .page-id-37 .floors3 .mid::before{ height:2px; width:min(56%,360px); background:rgba(255,255,255,.85) }
  .page-id-37 .floors3 .wordmark{ width: clamp(140px, 14vw, 190px) }
  .page-id-37 .floors3 .sub{ font-size: clamp(12px, 1vw, 15px); margin:.1em 0 .55em }
  .page-id-37 .floors3 .more-btn{ padding:.42em 1em; font-size: clamp(13px, 1vw, 14px) }
  .page-id-37 .floors3 .unit.u1,
  .page-id-37 .floors3 .unit.u2{ align-items:center !important; text-align:center !important }
}
/* タブレット微調整 */
@media (min-width:769px) and (max-width:1023px){
  .page-id-37 .floors3{
    grid-template-columns: minmax(220px,28vw) 1fr minmax(220px,28vw);
    column-gap: clamp(12px, 2vw, 24px);
  }
}
/* SPはまとまりと文字サイズをさらにタイトに */
@media (max-width:768px){
  .page-id-37 .floors3 .mid{ row-gap: clamp(18px, 6.2vw, 28px) }
  .page-id-37 .floors3 .unit{ gap: clamp(2px, 1vw, 6px) }
  .page-id-37 .floors3 .sub{
    font-size: clamp(11px, 3.0vw, 13px); letter-spacing:.16em;
    margin:.05em 0 .35em; line-height:1.5;
  }
  .page-id-37 .floors3 .more-btn{ padding:.38em .9em; font-size: clamp(11px, 3.2vw, 12px); border-width:1.2px }
  .page-id-37 .floors3 .wordmark{ width: clamp(118px, 28vw, 150px) }
  .page-id-37 .floors3 .mid::before{ height:1px; width:min(62%,300px); opacity:.75 }
}

/************************************
** coq1f / coq2f 共通：メイン画像＋本文／Instagram
************************************/
/* 細い白ライン（コンテンツ幅） */
.page-id-37 .lp-divider{
  height:1px; width:100%; background: rgba(255,255,255,.9);
  margin: clamp(14px, 3.4vw, 28px) auto clamp(12px, 2.6vw, 20px); opacity:.9;
}
/* セクション器 */
.page-id-37 .cafe-sec,
.page-id-37 .insta-sec{
  max-width:1160px; margin-inline:auto; padding-inline: var(--lp-pad);
  display:block; grid-column:auto; align-self:auto;
  font-size:16px; line-height:normal;
}
/* メインビジュアル：上左右だけ角丸 */
.page-id-37 .mv-arch{
  position:relative; overflow:hidden;
  border-radius: clamp(var(--mv-r-min), 4.6vw, var(--mv-r-max))
                 clamp(var(--mv-r-min), 4.6vw, var(--mv-r-max)) 0 0;
  aspect-ratio: 16 / 9; box-shadow: 0 10px 28px rgba(0,0,0,.14);
}
.page-id-37 .mv-arch img{ width:100%; height:100%; object-fit:cover; display:block }
/* 説明文（黒） */
.page-id-37 .mv-copy{
  margin: clamp(12px, 2.6vw, 20px) auto 0;
  line-height:1.9; letter-spacing:.06em; color: rgba(0,0,0,.88);
  font-size: clamp(14px, 1.6vw, 18px);
}
/* SPは比率だけ少し縦長 */
@media (max-width:768px){
  .page-id-37 .mv-arch{ aspect-ratio: 3 / 2 }
  .page-id-37 .mv-copy{ font-size: clamp(13px, 3.8vw, 16px) }
}

/* 見出し上のロゴ用の小さな器 */
.page-id-37 .section-logo{
  display: flex;
  justify-content: center;   /* 横センター */
  align-items: center;       /* 縦の見た目も安定させる */
  margin: clamp(6px, 2vw, 14px) auto;  /* 上の線との間はここで調整 */
}

/* ロゴ画像のサイズだけ決めておく（数値は好みで） */
.page-id-37 .section-logo img{
  display: block;
  width: clamp(160px, 26vw, 280px);
  height: auto;
}

/* Instagram：ヘッダー（アイコン＋ユーザー名）を中央＆下線のみ */
.page-id-37 .floor-ig > p{ margin:0 !important; padding:0 !important }
.page-id-37 .floor-ig .sbi-feed,
.page-id-37 .floor-ig .sbi,
.page-id-37 .floor-ig [id^="sbi_feed_"],
.page-id-37 .floor-ig [id^="sb_instagram"]{
  width:100% !important; max-width:none !important; margin:0 auto !important;
}
.page-id-37 .floor-ig .sbi-header,
.page-id-37 .floor-ig #sbi_header{
  margin: 0 0 clamp(6px, 1.4vw, 10px) !important; padding:0 !important;
}
.page-id-37 .floor-ig .sb_instagram_header.sbi_medium,
.page-id-37 .insta-sec .sb_instagram_header.sbi_medium{
  display:flex !important; justify-content:center !important; align-items:center !important;
  gap: clamp(8px, 2vw, 16px); text-align:center;
}
.page-id-37 .sb_instagram_header .sbi_header_img,
.page-id-37 .sb_instagram_header .sbi_header_text{
  margin:0 !important; float:none !important;
}
.page-id-37 .floor-ig .sbi_feedtheme_header_text h3,
.page-id-37 .insta-sec .sbi_feedtheme_header_text h3{
  padding:0 !important; margin:0 0 clamp(6px,1.4vw,10px) !important;
  border:none !important; border-radius:0 !important; background:transparent !important;
  width:auto !important; box-shadow:none !important; display:inline-block !important;
  color: rgba(255,255,255,.95) !important;
  font-weight:600; font-size: clamp(16px, 1.8vw, 22px); letter-spacing:.18em;
  text-align:left; text-decoration:none !important;
  border-bottom:1px solid rgba(255,255,255,.85) !important;
}
.page-id-37 .floor-ig .sbi_feedtheme_header_text h3 a,
.page-id-37 .insta-sec .sbi_feedtheme_header_text h3 a{
  color:inherit !important; padding:0 !important; background:none !important;
  border:none !important; text-decoration:none !important; border-bottom:inherit !important;
}

/************************************
** 店長プロフィール
************************************/
.page-id-37 .owner-profile{
  max-width:1160px; margin: clamp(20px, 6vw, 56px) auto; color:#111;
  display:grid; grid-template-columns: clamp(160px, 26vw, 280px) 1fr;
  column-gap: clamp(16px, 4vw, 40px); align-items:start;
}
.page-id-37 .owner-photo{
  width: clamp(160px, 26vw, 280px); aspect-ratio: 4 / 3; overflow:hidden; border-radius:0;
}
.page-id-37 .owner-photo img{ width:100%; height:100%; object-fit:cover; display:block }
.page-id-37 .owner-right{
  display:flex; flex-direction:column; gap: clamp(6px, .8vw, 12px); align-self:start;
}
.page-id-37 .owner-head{
  display:flex; gap:.5em; align-items:baseline; font-weight:400;
  line-height:1.2; letter-spacing:.04em; margin:0;
}
.page-id-37 .owner-name{ font-size: clamp(22px, 2.6vw, 32px) }
.page-id-37 .owner-role{ font-size: clamp(14px, 1.6vw, 22px); opacity:.95 }
.page-id-37 .owner-bio{ margin:0; font-size: clamp(14px, 1.4vw, 18px); line-height:2 }
/* SP：写真＋見出しを1行、本文は2行目 */
@media (max-width:768px){
  .page-id-37 .owner-profile{
    grid-template-columns:auto 1fr;
    grid-template-areas: "photo head" "bio bio";
    column-gap: clamp(12px, 4vw, 20px); row-gap: clamp(8px, 3vw, 16px); align-items:end;
  }
  .page-id-37 .owner-photo{
    grid-area:photo; width: clamp(120px, 36vw, 200px);
    margin-left: clamp(10px, 4vw, 16px);
  }
  .page-id-37 .owner-right{ display:contents }
  .page-id-37 .owner-head{ grid-area:head; align-items:flex-end; gap:.4em }
  .page-id-37 .owner-name{ font-size: clamp(16px, 5vw, 20px) }
  .page-id-37 .owner-role{ font-size: clamp(11px, 3.6vw, 14px) }
  .page-id-37 .owner-bio{
    grid-area:bio; margin: clamp(10px, 3.2vw, 14px) clamp(10px, 4vw, 16px) 0;
    font-size: clamp(13px, 3.6vw, 16px);
  }
}

/************************************
** staff（3枚横並び）
************************************/
.page-id-37 .staff-sec{ margin: clamp(20px,5vw,56px) auto }
.page-id-37 .staff-list{
  list-style:none; padding:0; margin: clamp(8px,2vw,16px) 0 0;
  display:grid; grid-template-columns: repeat(3, 1fr);
  gap: clamp(12px, 2.6vw, 24px); align-items:start;
}
.page-id-37 .staff-card .ph{ aspect-ratio:33 / 38; overflow:hidden; background:#ddd; margin:0 0 .6em }
.page-id-37 .staff-card .ph img{ width:100%; height:100%; object-fit:cover; display:block }
.page-id-37 .staff-card .role{
  margin:.2em 0 .1em; font-size: clamp(12px, 1.3vw, 14px);
  letter-spacing:.04em; opacity:.9; font-weight:400;
}
.page-id-37 .staff-card .name{ margin:0; font-size: clamp(14px, 1.6vw, 16px); font-weight:400; letter-spacing:.02em }
@media (max-width:768px){
  .page-id-37 .staff-list{ gap: clamp(8px, 2vw, 12px) }
  .page-id-37 .staff-card .role{ font-size: clamp(11px, 3vw, 13px) }
  .page-id-37 .staff-card .name{ font-size: clamp(13px, 3.6vw, 15px) }
}

/************************************
** 公式LINE（バナー1枚）
************************************/
.page-id-37 .line-sec{ margin: clamp(20px, 5vw, 56px) auto }
.page-id-37 .line-banner{
  display:block; margin: clamp(10px, 2vw, 16px) auto 0;
  border-radius:12px; overflow:hidden; box-shadow:0 8px 22px rgba(0,0,0,.16);
  transition: transform .2s ease, filter .2s ease;
}
.page-id-37 .line-banner img{ width:100%; height:auto; display:block }
.page-id-37 .line-banner:hover{ transform: translateY(-1px); filter: brightness(1.02) }
.page-id-37 .line-banner:focus-visible{ outline:2px solid #06C755; outline-offset:3px }

/************************************
** online shop（バナー＋テキスト＋ボタン）
************************************/
.page-id-37 .shop-banner{ margin-top: clamp(10px, 2.2vw, 18px) }
.page-id-37 .shop-banner img{
  width:100%; height:auto; display:block;
  border-radius:0; box-shadow:0 10px 28px rgba(0,0,0,.14);
}
.page-id-37 .shop-sec{ margin-top: clamp(12px, 2.6vw, 20px) }
.page-id-37 .shop-copy{
  margin:0 0 .35em; color:#111;
  font-size: clamp(18px, 2vw, 28px); letter-spacing:.06em; line-height:1.6;
}
.page-id-37 .shop-body{
  margin:0; color:rgba(0,0,0,.88); font-size: clamp(14px, 1.6vw, 18px); line-height:1.9;
}
/* ボタン（白枠・白文字）＋中央揃え */
.page-id-37 .btn-outline{
  display:inline-flex; align-items:center; gap:.4em;
  padding:.7em 1.4em; border:1.6px solid currentColor; border-radius:10px;
  text-decoration:none; letter-spacing:.16em;
  transition: background .2s ease, opacity .2s ease, transform .02s;
}
.page-id-37 .btn-white{ color:#fff; background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.9) }
.page-id-37 .btn-white:hover{ background:rgba(255,255,255,.12) }
.page-id-37 .btn-white:active{ transform: translateY(1px) }
.page-id-37 .shop-cta{
  margin: clamp(14px, 2.6vw, 22px) 0 0;
  display:flex; justify-content:center;
}
.page-id-37 .shop-cta a{
  display:inline-flex !important; width:auto !important; align-items:center; gap:.4em;
  margin-top: clamp(10px, 2.6vw, 16px);
}
@media (max-width:768px){
  .page-id-37 .shop-copy{ font-size: clamp(16px, 4.6vw, 22px) }
  .page-id-37 .shop-body{ font-size: clamp(13px, 3.8vw, 16px) }
  .page-id-37 .btn-outline{ padding:.64em 1.2em }
}

/************************************
** access（地図・住所・OPEN・営業時間）
************************************/
.page-id-37 .access-sec{
  max-width:1160px; margin: clamp(20px, 6vw, 64px) auto; color:#111;
}
/* 地図 */
.page-id-37 .access-map{ position:relative; aspect-ratio:16 / 9; overflow:hidden }
.page-id-37 .access-map iframe{ position:absolute; inset:0; width:100%; height:100%; border:0 }
/* 住所 */
.page-id-37 .access-addr{
  text-align:center; margin: clamp(10px, 2.2vw, 18px) 0 clamp(14px, 3vw, 24px);
  font-size: clamp(14px, 1.8vw, 18px); line-height:1.9;
}
/* OPEN（上側に細線） */
.page-id-37 .access-open{ text-align:center; margin: clamp(12px, 2.6vw, 22px) 0 0 }
.page-id-37 .access-open::before{
  content:""; display:block; width:100%; max-width:100%; height:1px; background:#111;
  margin: 0 auto clamp(8px, 1.6vw, 12px);
}
.page-id-37 .access-open span{
  display:inline-block; letter-spacing:.16em; font-size: clamp(16px, 2vw, 22px);
}
/* 営業時間（カード化） */
.page-id-37 .access-hours{
  display:grid; grid-template-columns:1fr; gap: clamp(12px, 2.4vw, 24px);
  margin-top: clamp(8px, 2vw, 16px);
}
@media (min-width:768px){
  .page-id-37 .access-hours{ grid-template-columns:1fr 1fr; column-gap: clamp(24px, 4vw, 56px) }
}
.page-id-37 .access-sec .hours-title,
.page-id-37 .access-sec h4.hours-title,
.page-id-37 .access-sec .wp-block-heading.hours-title{
  border:0 !important; padding:0 !important; background:transparent !important; box-shadow:none !important;
  margin:0 0 .4em !important; font-weight:400; letter-spacing:.12em; color:#111;
  font-size: clamp(16px, 1.8vw, 20px);
}
.page-id-37 .access-sec .hours-box,
.page-id-37 .access-sec .access-hours > div{
  border:1px solid rgba(0,0,0,.28); border-radius:8px;
  padding: clamp(14px, 2.6vw, 18px) clamp(16px, 3vw, 24px); background:transparent;
}

/************************************
** フッター（LPだけ幅を840pxに統一）
************************************/
.page-id-37 #footer .wrap,
.page-id-37 #footer-in{
  max-width: var(--lp-w);
  margin-inline:auto;
  padding-inline: var(--lp-pad);
}
.page-id-37 #footer .footer-widgets{
  display:flex; gap: clamp(10px, 2vw, 24px); justify-content:space-between;
}
.page-id-37 #footer .footer-left,
.page-id-37 #footer .footer-center,
.page-id-37 #footer .footer-right{
  flex:1 1 0; min-width:0;
}
@media (max-width:768px){
  .page-id-37 #footer .footer-widgets{
    display:grid; grid-template-columns:1fr; row-gap: clamp(10px, 3vw, 18px);
  }
}
/* 文字・リンクスタイルの軽い整形 */
.f-sec h4{
  margin:0 0 .4em; font-weight:400; font-size: clamp(14px,1.4vw,16px); letter-spacing:.08em;
}
.f-sec .f-list{ margin:0; padding:0; list-style:none; line-height:2 }
.f-sec .f-list li + li{ margin-top:.2em }
.f-sec a{ color:inherit; text-decoration: underline }
.f-sec .copy{
  opacity:.8; margin-top:.6em; border-top:1px solid rgba(0,0,0,.12); padding-top:.6em; text-align:left;
}
/* ほんのり上境界線 */
body.page #footer{ border-top:1px solid rgba(0,0,0,.08) }
