@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
*/
body.page,
body.single {
  caret-color: transparent;
}
body input {
  caret-color: #000;
}
body a:hover,
body a:focus-visible {
  color: var(--f-color-orange, #f24822) !important;
}
/* SNSブロック */
.sns-block figure:nth-child(1),
.sns-block figure:nth-child(2) {
  display: none !important;
}
.is-page-singular .date-tags {
  display: none;
}
.article h2,
.article h3,
.article h4 {
  border: none;
  padding: 0;
}
/* パンくず */
#breadcrumb {
  margin: 0 0 44px;
  font-size: 15px;
  letter-spacing: 0.18em;
}
#breadcrumb a {
  text-decoration: none;
  color: #111;
}
#breadcrumb .fa-fw {
  display: none;
}
.body .wp-block-buttons.bottom-contact-us {
  margin-bottom: -34px;
}
.content-bottom {
  background: var(--f-color-green);
}
.wp-block-buttons.bottom-contact-us > .wp-block-button {
  width: 100%;
  text-align: right;
}
.wp-block-buttons.bottom-contact-us .wp-block-button__link {
  text-align: right;
  background: var(--f-color-green);
  width: fit-content;
  right: 138px;
  position: relative;
}
.wp-block-buttons.bottom-contact-us .wp-block-button__link:after {
  content: url(/wp-content/uploads/2025/09/14889.png);
  position: relative;
  margin-left: 12px;
  display: inline-block;
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  -moz-transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  -ms-transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  -o-transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
@media (max-width: 1260px) {
  .wp-block-buttons.bottom-contact-us .wp-block-button__link {
    right: min(10vw, 91px);
  }
}
.wp-block-buttons.bottom-contact-us .wp-block-button__link:hover {
  color: #fff;
}
.wp-block-buttons.bottom-contact-us .wp-block-button__link:hover:after {
  transform: translateX(8px);
}
.wp-block-buttons.bottom-contact-us .wp-block-button__link:hover:before {
  transform: translateY(14px) scaleX(1);
}
/* =============================================
   ホーム：投稿カード件数レスポンシブ制御
   目的:
     - 3カラム域: 全3件表示
     - 2カラム域(<=860px): 3件目を非表示
     - 1カラム域(<=420px): 2件目と3件目を非表示 (1件のみ表示)
   備考: nth-child は最初の3件のみを想定。4件以上ある場合は要調整。
   ============================================= */
@media (max-width: 699px) {
  body.home .nk-section:nth-child(1) .nk-post-cards .nk-post-card:nth-child(3),
  body.home .nk-section:nth-child(2) .nk-post-cards .nk-post-card:nth-child(3) {
    display: none !important;
  }
  body.home .nk-section:nth-child(3) .nk-post-cards .nk-post-card:nth-child(5),
  body.home .nk-section:nth-child(3) .nk-post-cards .nk-post-card:nth-child(6) {
    display: none !important;
  }
}
@media (max-width: 464px) {
  body.home .nk-section:nth-child(1) .nk-post-cards .nk-post-card:nth-child(2),
  body.home .nk-section:nth-child(1) .nk-post-cards .nk-post-card:nth-child(3),
  body.home .nk-section:nth-child(2) .nk-post-cards .nk-post-card:nth-child(2),
  body.home .nk-section:nth-child(2) .nk-post-cards .nk-post-card:nth-child(3) {
    display: none !important;
  }
  body.home .nk-section:nth-child(3) .nk-post-cards .nk-post-card:nth-child(3),
  body.home .nk-section:nth-child(3) .nk-post-cards .nk-post-card:nth-child(4),
  body.home .nk-section:nth-child(3) .nk-post-cards .nk-post-card:nth-child(5),
  body.home .nk-section:nth-child(3) .nk-post-cards .nk-post-card:nth-child(6) {
    display: none !important;
  }
}

/* =====================================================
   Global Linked Image Hover Effect
   要件: すべての "有効な画像リンク" 上にマウスオーバーした際
         1) 画像上に薄い白円フィルターが "中心よりやや左下" から出現
         2) 円がスムーズに拡大し最終的に画像全体を覆う (ほのかな白膜)
   実装ポリシー:
     - a > img, a picture > img, a .wp-block-image img 等を対象
     - 擬似要素(::after)を a 要素に付与 (positioning 安全)
     - 既存 object-fit/サイズ崩し防止のため画像自体は変更しない
     - Filter は透明白 (rgba(255,255,255,.17)) をベース + 乗算せず通常重ね
     - 余計な Reflow を避け transform + opacity のみで描画
     - prefers-reduced-motion でアニメ最小化
   注意:
     - 既に position 指定済み a にも影響なく重ねるため inline-block 付与
     - ボタン等で a 内に複数要素があるケースは img を含む a のみに限定
 ===================================================== */

/* ベース選択: 画像を直接子にもつリンク (代表的パターン) */
a:has(> img),
a:has(> picture > img),
a:has(> figure > img),
.wp-block-image a,
.gallery-item a {
  position: relative;
  display: inline-block;
  overflow: hidden; /* 円が外へ漏れない */
}

/* 擬似要素 (ボール → 拡散) */
a:has(> img)::after,
a:has(> picture > img)::after,
a:has(> figure > img)::after,
.wp-block-image a::after,
.gallery-item a::after {
  content: "";
  position: absolute;
  left: 32%;
  top: 68%;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.22); /* ボール自体 = フィルター色 */
  transform: translate(-50%, -50%) scale(0.25);
  opacity: 0;
  pointer-events: none;
  z-index: 2;
  will-change: transform, opacity;
  transition: none;
}

/* 単段階: 拡大し全面を覆った状態を hover 中保持 */
a:has(> img):hover::after,
a:has(> picture > img):hover::after,
a:has(> figure > img):hover::after,
.wp-block-image a:hover::after,
.gallery-item a:hover::after,
a:has(> img):focus-visible::after,
a:has(> picture > img):focus-visible::after,
a:has(> figure > img):focus-visible::after,
.wp-block-image a:focus-visible::after,
.gallery-item a:focus-visible::after {
  animation: nk-hover-ball-cover var(--nk-hover-ball-duration)
    cubic-bezier(0.32, 0.72, 0.2, 1) forwards;
}

@keyframes nk-hover-ball-cover {
  0% {
    transform: translate(-50%, -50%) scale(0.25);
    opacity: 0;
  }
  100% {
    transform: translate(-50%, -50%) scale(var(--nk-hover-ball-final-scale));
    opacity: 1;
  }
}

/* 全体を均一に軽く白くする薄膜 (2層目) */
a:has(> img)::before,
a:has(> picture > img)::before,
/* 薄膜フィルター（不要化により無効化） */
a:has(> img)::before,
a:has(> picture > img)::before,
a:has(> figure > img)::before,
.wp-block-image a::before,
.gallery-item a::before {
  content: "";
  position: absolute;
  inset: 0;
  background: transparent;
  pointer-events: none;
}

/* 画像自体の微少ズーム (ボール接近に合わせ僅かに) */
a:has(> img) > img,
a:has(> picture > img) > picture > img,
a:has(> figure > img) > figure > img,
.wp-block-image a img,
.gallery-item a img {
  transition: transform 0.85s cubic-bezier(0.25, 0.6, 0.18, 1),
    filter 0.85s cubic-bezier(0.25, 0.6, 0.18, 1);
  will-change: transform;
}
a:has(> img):hover > img,
a:has(> picture > img):hover > picture > img,
a:has(> figure > img):hover > figure > img,
.wp-block-image a:hover img,
.gallery-item a:hover img,
a:has(> img):focus-visible > img,
a:has(> picture > img):focus-visible > picture > img,
a:has(> figure > img):focus-visible > figure > img,
.wp-block-image a:focus-visible img,
.gallery-item a:focus-visible img {
  transform: scale(1.035);
  filter: brightness(1.02) saturate(1.03);
}

/* Reduced Motion: 拡大アニメ短縮 */
@media (prefers-reduced-motion: reduce) {
  a:has(> img)::after,
  a:has(> picture > img)::after,
  a:has(> figure > img)::after,
  .wp-block-image a::after,
  .gallery-item a::after {
    animation: none !important;
    width: 100%;
    height: 100%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.12 !important;
    background: rgba(255, 255, 255, 0.5);
    box-shadow: none;
  }
  a:has(> img):hover::after,
  a:has(> picture > img):hover::after,
  a:has(> figure > img):hover::after,
  .wp-block-image a:hover::after,
  .gallery-item a:hover::after {
    opacity: 0.18 !important;
  }
  a:has(> img) > img,
  a:has(> picture > img) > picture > img,
  a:has(> figure > img) > figure > img,
  .wp-block-image a img,
  .gallery-item a img {
    transition: none;
  }
}

/* 互換: :has() 未対応ブラウザ (Safari 15.3 以前 等) フォールバック
   - 可能な範囲で .nk-img-link クラスを a に付ければ挙動再現可能 (任意) */
.nk-img-link {
  position: relative;
  display: inline-block;
  overflow: hidden;
}
.nk-img-link::after {
  content: "";
  position: absolute;
  left: 32%;
  top: 68%;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.22);
  transform: translate(-50%, -50%) scale(0.25);
  opacity: 0;
  pointer-events: none;
}
.nk-img-link:hover::after,
.nk-img-link:focus-visible::after {
  animation: nk-hover-ball-cover var(--nk-hover-ball-duration)
    cubic-bezier(0.32, 0.72, 0.2, 1) forwards;
}
.nk-img-link::before {
  content: "";
  position: absolute;
  inset: 0;
  background: transparent;
}
.nk-img-link > img {
  transition: transform 0.85s cubic-bezier(0.25, 0.6, 0.18, 1);
}
.nk-img-link:hover > img,
.nk-img-link:focus-visible > img {
  transform: scale(1.035);
}

/* =====================================================
     Nested thumbnail hover (Post Cards)
     事情: .nk-post-card-link 内では img が孫要素 (a > .nk-post-thumb > img) のため
           グローバル a:has(> img) ルールが適用されない。
     対応: .nk-post-thumb コンテナに擬似要素を生成し、a hover で発火。
   ===================================================== */
.nk-post-card-link .nk-post-thumb {
  position: relative;
  overflow: hidden;
}
.nk-post-card-link .nk-post-thumb::after,
.nk-post-card-link .nk-post-thumb::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}
/* 円拡大 (after) */
.nk-post-card-link .nk-post-thumb::after {
  left: 32%;
  top: 68%;
  width: 36px;
  height: 36px;
  margin: 0;
  background: rgba(255, 255, 255, 0.22);
  border-radius: 50%;
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.25);
  transition: none;
  z-index: 1;
}
/* 薄膜 (before) */
.nk-post-card-link .nk-post-thumb::before {
  background: transparent;
  z-index: 2;
}
.nk-post-card-link:hover .nk-post-thumb::after,
.nk-post-card-link:focus-visible .nk-post-thumb::after {
  animation: nk-hover-ball-cover var(--nk-hover-ball-card-duration)
    cubic-bezier(0.32, 0.72, 0.2, 1) forwards;
}
/* before 薄膜は無効化済み */
/* 画像ズーム (既存scaleと整合) */
.nk-post-card-link:hover .nk-post-thumb img,
.nk-post-card-link:focus-visible .nk-post-thumb img {
  transform: scale(1.05);
}

@media (prefers-reduced-motion: reduce) {
  .nk-post-card-link .nk-post-thumb::after {
    animation: none !important;
    width: 100% !important;
    height: 100% !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) scale(1) !important;
    opacity: 0.14 !important;
    background: rgba(255, 255, 255, 0.5) !important;
    box-shadow: none !important;
  }
  .nk-post-card-link:hover .nk-post-thumb::after,
  .nk-post-card-link:focus-visible .nk-post-thumb::after {
    opacity: 0.2 !important;
  }
}

/* =============================
   Lightbox (about-store gallery & floor-guide)
   ============================= */
html.nk-lb-lock,
html.nk-lb-lock body {
  overflow: hidden;
}
.nk-lightbox {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.nk-lightbox.is-open {
  opacity: 1;
  pointer-events: auto;
}
.nk-lightbox .nk-lb-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.78);
  backdrop-filter: blur(2px);
}
.nk-lightbox .nk-lb-dialog {
  position: relative;
  width: min(92vw, 1080px);
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.nk-lightbox .nk-lb-stage {
  position: relative;
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.nk-lightbox .nk-lb-figure {
  margin: 0;
  max-height: 100%;
  max-width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.nk-lightbox .nk-lb-figure img {
  max-width: 100%;
  max-height: 80vh;
  width: auto;
  height: auto;
  opacity: 0;
  transition: opacity 0.35s ease;
  box-shadow: 0 8px 30px -8px rgba(0, 0, 0, 0.6);
}
.nk-lightbox .nk-lb-figure img.is-loaded {
  opacity: 1;
}
.nk-lightbox button {
  cursor: pointer;
  border: none;
  background: rgba(0, 0, 0, 0.45);
  color: #fff;
  font-size: 24px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 16px;
  transition: background 0.25s ease, transform 0.25s ease;
}
.nk-lightbox button:hover {
  background: rgba(0, 0, 0, 0.7);
}
.nk-lightbox .nk-lb-close {
  position: absolute;
  top: -52px;
  right: 0;
  font-size: 32px;
  padding: 10px 14px;
  background: rgba(0, 0, 0, 0.55);
}
.nk-lightbox .nk-lb-prev,
.nk-lightbox .nk-lb-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 42px;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.45);
}
.nk-lightbox .nk-lb-prev {
  left: 6px;
}
.nk-lightbox .nk-lb-next {
  right: 6px;
}
.nk-lightbox .nk-lb-prev:active,
.nk-lightbox .nk-lb-next:active {
  transform: translateY(-50%) scale(0.92);
}
.nk-lightbox .nk-lb-counter {
  text-align: right;
  font-size: 13px;
  letter-spacing: 0.15em;
  color: #fff;
  font-family: var(--nk-font-accent1-1, sans-serif);
}
@media (max-width: 640px) {
  .nk-lightbox .nk-lb-close {
    top: -65px;
    font-size: 28px;
  }
  .nk-lightbox .nk-lb-prev,
  .nk-lightbox .nk-lb-next {
    width: 35px;
    height: 35px;
    font-size: 20px;
  }
  .nk-lightbox .nk-lb-prev {
    left: -10px;
  }
  .nk-lightbox .nk-lb-next {
    right: -10px;
  }
  .nk-lightbox .nk-lb-figure {
    padding: 0;
    width: 100%;
    box-sizing: border-box;
  }
  .nk-lightbox .nk-lb-figure img {
    max-height: 70vh;
    width: 100%;
    height: auto;
    object-fit: contain;
  }
}
@media (max-width: 480px) {
  .nk-lightbox .nk-lb-close {
    top: -61px;
  }
}

#footer {
  background: #030303;
  padding: auto;
}

table:not(.has-border-color) :where(th, td) {
  border: none;
}
table tr:nth-of-type(2n + 1) {
  background-color: inherit;
}
.mobile-menu-buttons {
  background: transparent;
}
.mobile-menu-buttons .menu-content {
  background: url(/wp-content/uploads/2025/09/sp-menu-bg.png);
  background-repeat: no-repeat;
  overflow: auto;
}
footer .footer-in .footer-right aside {
  margin-top: 43px;
  margin-bottom: -23px;
}
footer .footer-in .ats-spcw-content ul {
  padding-left: 60px;
  list-style-type: none;
}
footer .footer-in .ats-spcw-content .wp-block-group {
  padding-left: 60px;
  margin-top: 27px;
}
@media screen and (max-width: 1023px) {
  footer .footer-in .footer-right aside {
    margin-top: 0;
  }
  footer .footer-in .ats-spcw-content .wp-block-group {
    margin-top: 7px;
  }
  .footer-widgets {
    display: flex;
    height: 117px;
  }
  .footer-widgets > div {
    width: fit-content;
    right: 35px;
    position: relative;
  }
  footer .footer-in .ats-spcw-content ul,
  footer .footer-in .ats-spcw-content .wp-block-group {
    padding-left: 0;
  }
}
@media screen and (max-width: 700px) {
  .footer-left {
    display: none;
  }
}
@media screen and (max-width: 420px) {
  .footer-center {
    display: block;
    max-width: 163px !important;
  }
}
@media (min-width: 1100px) {
  .copyright {
    text-align: left;
    position: absolute;
    bottom: 155px;
    padding-left: 16px;
  }
}
@media (min-width: 1350px) {
  .copyright {
    left: -50px;
  }
}

/************************************
** 子テーマ用のスタイルを書く
************************************/
.tagline {
  display: none; /* キャッチフレーズ非表示 */
}
.go-to-top {
  bottom: 50px;
}
/* ========================================
  ヘッダー背景（アピール画像）
  ======================================== */
#header {
  background-image: url(/wp-content/uploads/2025/09/appeal-imag_appeal.png);
  background-position: left top; /* 左上基準 */
  background-repeat: no-repeat;
  background-size: cover; /* 余白なくフィット */
}
.header,
.header .site-name-text,
#navi .navi-in a,
#navi .navi-in a:hover {
  position: relative;
}

#header
  .is-layout-constrained
  > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ========================================
   アピールブロック（ヒーローセクション）
   - 背景画像右寄せ / 全体右寄せ
   - 可変アスペクト比維持
   ======================================== */
.appeal-block {
  position: relative;
  width: 93%;
  overflow: visible;
  background-image: url(/wp-content/uploads/2025/09/2288.png);
  background-repeat: no-repeat;
  background-position: right center;
  background-size: cover; /* 必要に応じ contain 等へ変更 */
  margin-left: auto;
  margin-right: 0;
  aspect-ratio: 1285 / 513;
  /* max-width:1400px; */
}

/* --- コンテンツ配置（画像フィギュア + オーバーレイパネル） --- */
.appeal-block figure {
  margin: 0 0 0 140px;
  max-width: clamp(20rem, 34vw, 36rem);
  width: 60%;
}
.appeal-block figure img {
  display: block;
  width: 85%;
  height: auto;
}

/* オーバーレイパネル */
.appeal-sub-block {
  position: absolute;
  left: 0;
  bottom: 0;
  color: #000;
  background: rgb(255 255 255 / 41%);
  padding: 34px 48px 42px;
  width: clamp(39rem, 38vw, 43rem);
  box-shadow: 0 10px 30px -12px rgba(0, 0, 0, 0.35);
  text-align: right;
}

/* インナー（右寄せ・内容幅フィット） */
.appeal-sub-block .inner-block {
  display: inline-block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin-left: auto;
  position: relative;
  right: 0;
}
.appeal-sub-block .inner-block p {
  white-space: nowrap;
}

/* 斜め配置の小キャッチコピー */
.appeal-sub-block .text-1 {
  position: absolute;
  left: -30px;
  top: -63px;
  transform: rotate(-17deg);
  font-size: 28px;
  font-weight: 300;
  letter-spacing: 0.08em;
  color: #fff;
  text-shadow: 4px 3px 3px rgba(0, 0, 0, 0.45);
  margin: 0;
  white-space: nowrap;
}

.appeal-sub-block .text-2,
.appeal-sub-block .text-3 {
  margin: 0;
  line-height: 1.15;
  font-weight: 700;
  font-family: var(--nk-font-accent1);
  text-shadow: 0 3px 14px rgba(0, 0, 0, 0.25);
}
.appeal-sub-block .text-2 {
  font-size: clamp(28px, 3.4vw, 38px);
  letter-spacing: 0.05em;
}
.appeal-sub-block .text-3 {
  font-size: clamp(40px, 4.8vw, 45px);
  letter-spacing: 0.06em;
  margin-top: 6px;
}

/* ヒーロー下部のラディアル影 */
.appeal-block::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -48px;
  height: 90px;
  background: radial-gradient(
    ellipse at center,
    rgba(0, 0, 0, 0.32) 0%,
    rgba(0, 0, 0, 0) 70%
  );
  pointer-events: none;
  z-index: 0;
}

/* ===============================
   ヒーロー レスポンシブ再構築（デスクトップそのまま維持）
   対象: figure(size-full ロゴ画像) / .appeal-sub-block 内テキスト
   ポイント:
     - デスクトップ(>1200px付近): 現状据え置き
     - 中幅: 余白とパネルパディング縮小, テキストや回転キャッチ再配置
     - 狭幅: パネル幅を端末幅にフィット, ロゴ画像は中央寄せ
     - 最小幅: 行間/文字サイズ圧縮
 =============================== */

@media (max-width: 1500px) {
  .appeal-block figure img {
    width: 82%;
  }
}

@media (max-width: 1350px) {
  .appeal-sub-block {
    padding: 12px 42px 11px;
  }
  .appeal-block figure img {
    width: 79%;
  }
}
/* 1100px 以下: 余白縮小 */
@media (max-width: 1100px) {
  .appeal-block figure {
    margin-left: 110px;
    width: 63%;
  }
  .appeal-sub-block {
    padding: 12px 11px 9px;
    width: 28rem;
  }
  .appeal-sub-block .text-1 {
    left: -18px;
    top: -55px;
    font-size: 25px;
  }
  .appeal-sub-block .text-2 {
    font-size: 27px;
  }
  .appeal-sub-block .text-3 {
    font-size: 40px;
  }
  .appeal-block figure img {
    width: 72%;
  }
}
/* 920px 以下: さらに縮小 */
@media (max-width: 920px) {
  .appeal-block figure {
    margin-left: 80px;
    width: 64%;
  }
  .body .appeal-sub-block {
    width: 24rem;
    margin-bottom: 12px;
    max-width: 453px;
  }
  .appeal-sub-block .text-1 {
    left: -10px;
    top: -45px;
    font-size: 19px;
  }
  .appeal-sub-block .text-2 {
    font-size: clamp(24px, 3.2vw, 36px);
  }
  .appeal-sub-block .text-3 {
    font-size: clamp(34px, 3.2vw, 52px);
  }
}
/* 720px 以下: パネルと画像をやや中央寄せ、余白縦方向調整 */
@media (max-width: 720px) {
  .appeal-block {
    padding: 52px 0 66px;
    min-height: 231px;
  }
  .appeal-block figure {
    margin-left: 54px;
    width: 68%;
  }
  .body .appeal-sub-block {
    max-width: 353px;
  }
  .appeal-sub-block .text-1 {
    left: -31px;
    top: -39px;
    font-size: 19px;
  }
  .appeal-sub-block .text-2 {
    font-size: clamp(22px, 3.6vw, 32px);
  }
  .appeal-sub-block .text-3 {
    font-size: clamp(30px, 5vw, 46px);
  }
  .appeal-block figure img {
    width: 57%;
    margin-top: -66px;
  }
}
/* 600px 以下: 縦積み（画像→パネル）。可読性優先・nowrap解除 */
@media (max-width: 600px) {
  .appeal-block {
    background-image: url(/wp-content/uploads/2025/10/appeal-imag_golf-sp.png);
    width: 100%;
  }
  /* ロゴ画像（figure）を画面幅に応じて縮小拡大 */
  .appeal-block figure {
    margin: 0 auto;
    width: clamp(260px, 88vw, 556px);
    max-width: 100%;
  }
  .appeal-block figure img {
    width: 144px !important;
    height: auto;
    display: block;
    margin-left: 44px;
    margin-top: -46px;
  }
  /* パネルを画像直下に軽くオーバーラップさせる */
  .body .appeal-sub-block {
    width: 61%;
    max-width: 320px;
    padding: 16px 18px 14px;
  }
  .appeal-sub-block .inner-block {
    margin-left: 0;
    text-align: center;
  }
  .appeal-sub-block .inner-block p {
    white-space: normal;
  }
  .appeal-sub-block .text-1 {
    left: -4px;
    top: -51px;
  }
  .appeal-sub-block .text-2 {
    font-size: 20px;
  }
  .appeal-sub-block .text-3 {
    font-size: 30px;
  }
}
@media (max-width: 500px) {
  .appeal-sub-block {
    max-width: 200px;
  }
  .appeal-sub-block .text-2 {
    font-size: 17px;
  }
  .appeal-sub-block .text-3 {
    font-size: 24px;
  }
}
@media (max-width: 420px) {
  .appeal-block figure img {
    margin-left: 29px;
  }
}
@media (max-width: 400px) {
  .appeal-sub-block .text-2 {
    font-size: 14px;
  }
  .appeal-sub-block .text-3 {
    font-size: 20px;
  }
}

/* =============================
   Sidebar Custom Styling (nk-)
   参考イメージ: 太字見出し黒バー / 余白調整 / タイポ調整
   ============================= */
.nk-custom-sidebar {
  font-family: "Helvetica Neue", Arial, sans-serif;
}
.nk-custom-sidebar .nk-sidebar-block {
  margin: 0 0 38px;
  padding: 0;
}
.nk-custom-sidebar .nk-sidebar-block + .nk-sidebar-block {
  margin-top: 42px;
}
.nk-custom-sidebar .nk-sidebar-block:last-child {
  margin-bottom: 0;
}

/* Search */
.nk-custom-sidebar .nk-sidebar-search .search-box {
  position: relative;
  border: none;
  padding: 0;
}
.nk-custom-sidebar .nk-sidebar-search .search-edit {
  width: 100%;
  border: none;
  border-bottom: 2px solid #111;
  border-radius: 0;
  background: transparent;
  padding: 8px 42px 8px 6px;
  /* 入力時は通常字間・左寄せ。placeholder 表示時は後続の :placeholder-shown で上書き */
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-align: left;
}
.nk-custom-sidebar .nk-sidebar-search .search-edit::placeholder,
#search-menu-content .search-box .search-edit::placeholder {
  color: #999;
  opacity: 1; /* Firefox 用 */
  font-style: italic;
}

/* placeholder が表示されている状態のみ中央寄せ + 広い letter-spacing */
.nk-custom-sidebar .nk-sidebar-search .search-edit:placeholder-shown,
#search-menu-content .search-box .search-edit:placeholder-shown {
  letter-spacing: 0.32em;
  text-align: center;
}

/* メニュー検索入力: 入力時は親と同じ通常字間に戻す (既定 0.05em) */
#search-menu-content .search-box .search-edit {
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-align: left;
}
/* サイドバー検索: 従来通りの簡素なフォーカス (カスタム枠不要) */
.nk-custom-sidebar .nk-sidebar-search .search-edit:focus {
  outline: none;
  border-color: #222;
  box-shadow: none;
  border-radius: 0;
}

/* メニュー展開検索のみグレー枠スタイルを適用 */
#search-menu-content .search-box .search-edit:focus {
  outline: none;
  border-color: #666;
  box-shadow: 0 0 0 1px #bbb inset, 0 0 0 2px #e2e2e2;
  border-radius: 4px;
  background-color: #fff;
}
.nk-custom-sidebar .nk-sidebar-search .search-submit {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 40px;
  border: none;
  cursor: pointer;
  color: #111;
  background: #fff;
}
.nk-custom-sidebar .nk-sidebar-search .search-submit .fa {
  font-size: 22px;
}

/* Section heading bar */
.nk-custom-sidebar .nk-sb-heading {
  margin: 0 0 16px;
  padding: 10px 16px;
  background: #000;
  color: #fff;
  letter-spacing: 0.45em;
  font-weight: 600;
  text-transform: uppercase;
  line-height: 1;
}
.nk-custom-sidebar h3.nk-sb-heading {
  text-align: center;
}
/* h4 variant (サブ見出し: 最新/CATEGORY/人気) */
.nk-custom-sidebar h4.nk-sb-heading {
  background: transparent;
  color: #000;
  padding: 0;
  margin: 0 0 14px;
  letter-spacing: 0.32em;
  font-weight: 600;
  position: relative;
}
/* === Sidebar Accordion (最新/CATEGORY/人気) === */
.nk-custom-sidebar .nk-accordion-block h4.nk-sb-heading {
  cursor: pointer;
  padding-right: 26px;
  padding-bottom: 10px;
}
.nk-custom-sidebar .nk-accordion-block h4.nk-sb-heading:after {
  content: "";
  position: absolute;
  right: 10px;
  top: 50%;
  width: 7px;
  height: 7px;
  margin-top: -9px;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  transform: rotate(45deg);
  transition: transform 0.3s ease;
}
.nk-custom-sidebar .nk-sidebar-about .ats-spcw-content figure,
.nk-custom-sidebar .nk-sidebar-about .ats-spcw-content iframe,
.nk-custom-sidebar .nk-sidebar-about .ats-spcw-content .icon-gray,
.nk-custom-sidebar
  .nk-sidebar-about
  .ats-spcw-content
  .wp-block-group.icon-gray {
  display: none;
}
.nk-custom-sidebar .nk-accordion-block.is-acc-collapsed h4.nk-sb-heading:after {
  transform: rotate(-135deg);
  margin-top: -3px;
}
.nk-custom-sidebar .nk-accordion-block.is-acc-collapsed > ul,
.nk-custom-sidebar .nk-accordion-block.is-acc-collapsed > ol {
  display: none;
}
@media (min-width: 1024px) {
  /* PC: デフォルト展開。ただし .is-acc-collapsed が付いた場合は閉じたまま */
  .nk-custom-sidebar .nk-accordion-block:not(.is-acc-collapsed) > ul,
  .nk-custom-sidebar .nk-accordion-block:not(.is-acc-collapsed) > ol {
    display: block;
  }
  .nk-custom-sidebar
    .nk-accordion-block:not(.is-acc-collapsed)
    h4.nk-sb-heading:after {
    transform: rotate(45deg);
  }
}
@media (max-width: 480px) {
  .nk-custom-sidebar h4.nk-sb-heading {
    letter-spacing: 0.25em;
  }
}
@media (max-width: 480px) {
  .nk-custom-sidebar .nk-sb-heading {
    letter-spacing: 0.35em;
  }
}

.nk-custom-sidebar .fa-search:before {
  content: url(/wp-content/uploads/2025/09/1194275.png);
}

/* Lists base reset */
.nk-custom-sidebar ul,
.nk-custom-sidebar ol {
  margin: 0;
  padding: 0;
  list-style: none;
}
.nk-custom-sidebar li {
  margin: 0 0 10px;
  line-height: 1.55;
  font-size: 16px;
}
.nk-custom-sidebar li a {
  color: #111;
  text-decoration: none;
  position: relative;
}
.nk-custom-sidebar li a:hover {
  opacity: 0.7;
}

/* Pages MENU specific */
.nk-custom-sidebar .nk-sidebar-pages ul li {
  padding-left: 0;
}

/* Latest posts underline style (optional subtle) */
.nk-custom-sidebar .nk-sidebar-latest ul li {
  position: relative;
  padding-left: 18px; /* ドット分のスペース */
}
.nk-custom-sidebar .nk-sidebar-latest li a {
  display: block; /* クリック領域を広げ、行頭の擬似要素と同じ行に配置 */
}
.nk-custom-sidebar .nk-sidebar-latest ul li:before {
  content: "・";
  color: #b5b5b5;
  position: absolute;
  left: 0;
  top: 0.2em; /* 文字の中心に寄せる微調整 */
  line-height: 1;
}
/* Add slight left indent for lists under h4 */
.nk-custom-sidebar .nk-sidebar-block h4 + ul,
.nk-custom-sidebar .nk-sidebar-block h4 + ol {
  padding-left: 4px;
}
/* tighten lists spacing & typography */
.nk-custom-sidebar .nk-sidebar-latest ul li,
.nk-custom-sidebar .nk-sidebar-categories ul li,
.nk-custom-sidebar .nk-sidebar-ranking ol li {
  margin-bottom: 8px;
}
.nk-custom-sidebar .nk-sidebar-latest ul li:last-child,
.nk-custom-sidebar .nk-sidebar-categories ul li:last-child,
.nk-custom-sidebar .nk-sidebar-ranking ol li:last-child {
  margin-bottom: 0;
}

/* Category list with leading dash mimic */
.nk-custom-sidebar .nk-sidebar-categories li {
  position: relative;
  padding-left: 18px;
}
.nk-custom-sidebar .nk-sidebar-categories li:before {
  content: "-";
  position: absolute;
  left: 0;
  top: 0;
  color: #b5b5b5;
}

/* Ranking numbers styling */
.nk-custom-sidebar .nk-sidebar-ranking ol {
  counter-reset: rk;
}
.nk-custom-sidebar .nk-sidebar-ranking ol li {
  counter-increment: rk;
  padding-left: 22px;
  position: relative;
}
.nk-custom-sidebar .nk-sidebar-ranking ol li:before {
  content: counter(rk) ".";
  position: absolute;
  left: 0;
  top: 0;
  font-weight: 600;
}

/* About media + address spacing */
.nk-custom-sidebar .nk-about-media {
  margin: 0 0 14px;
}
.nk-custom-sidebar .nk-about-address {
  font-style: normal;
  line-height: 1.6;
  letter-spacing: 0.03em;
}

/* ACCESS block map placeholder */
.nk-custom-sidebar .nk-access-map {
  height: auto;
  min-height: 60px;
  background: #f5f5f5;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #555;
  letter-spacing: 0.05em;
}

/* =============================
   ABOUT block (Gutenberg content inside ats_page_content)
   ============================= */
.nk-custom-sidebar .nk-sidebar-about .ats-spcw-content {
  padding: 0;
  margin: 0;
}
.nk-custom-sidebar .nk-sidebar-about .ats-spcw-content figure {
  margin: 0 0 18px;
}
.nk-custom-sidebar .nk-sidebar-about .ats-spcw-content img {
  display: block;
  width: 100%;
  height: auto;
}
.nk-custom-sidebar .nk-sidebar-about .ats-spcw-content p {
  line-height: 1.65;
  letter-spacing: 0.03em;
  margin: 0 0 22px;
}
.nk-custom-sidebar .nk-sidebar-about .ats-spcw-content iframe {
  width: 100%;
  height: 200px;
  border: 0;
  margin: 0 0 28px;
}
/* Access pages list (first li acts as heading) */
.nk-custom-sidebar .nk-sidebar-about .ats-spcw-content ul.wp-block-list {
  list-style: none;
  margin: 0 0 30px;
  padding: 0;
}
.nk-custom-sidebar
  .nk-sidebar-about
  .ats-spcw-content
  ul.wp-block-list
  li:first-child
  a,
.nk-custom-sidebar .nk-sidebar-about .ats-spcw-content ul.wp-block-list li {
  margin: 0 0 10px;
  font-weight: 600;
}
.nk-custom-sidebar
  .nk-sidebar-about
  .ats-spcw-content
  ul.wp-block-list
  li:first-child
  a {
  display: inline;
  letter-spacing: 0;
  font-weight: 400;
  text-transform: none;
  padding: 0;
  margin: 0;
  position: static;
  font-weight: bold;
}
.nk-custom-sidebar
  .nk-sidebar-about
  .ats-spcw-content
  ul.wp-block-list
  li:first-child
  a:after {
  display: none;
}
.nk-custom-sidebar
  .nk-sidebar-about
  .ats-spcw-content
  ul.wp-block-list
  li:first-child {
  margin-bottom: 10px;
}
/* CONTACT pseudo heading before social icons group */
.nk-custom-sidebar .nk-sidebar-about .ats-spcw-content .wp-block-group {
  margin: 0 0 34px;
  position: relative;
  padding-top: 0;
  display: flex;
  align-items: center;
  gap: 26px;
  flex-wrap: nowrap;
}
.nk-custom-sidebar .nk-sidebar-about .ats-spcw-content .wp-block-group:before {
  content: none;
}
.nk-custom-sidebar .nk-sidebar-about .ats-spcw-content .wp-block-group {
  margin-top: 30px;
}
.nk-custom-sidebar .nk-sidebar-about .ats-spcw-content .wp-block-group figure {
  margin: 0 !important;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.nk-custom-sidebar
  .nk-sidebar-about
  .ats-spcw-content
  .wp-block-group
  figure
  img {
  width: 100%;
  height: auto;
}

/* Gutenberg button inside about block becomes CTA */
.nk-custom-sidebar .nk-sidebar-about .ats-spcw-content .wp-block-buttons {
  margin: 38px 0 0;
}
.nk-custom-sidebar .nk-sidebar-about .ats-spcw-content .wp-block-button {
  margin: 0;
  width: 100%;
}
.nk-custom-sidebar
  .nk-sidebar-about
  .ats-spcw-content
  .wp-block-button
  .wp-block-button__link {
  display: block;
  width: 100%;
  background: #f24822;
  color: #fff;
  text-align: center;
  padding: 14px 4px;
  font-weight: 400;
  letter-spacing: 0.15em;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: background 0.35s ease;
  font-size: 16px;
}
.nk-custom-sidebar
  .nk-sidebar-about
  .ats-spcw-content
  .wp-block-button
  .wp-block-button__link:after {
  content: url(/wp-content/uploads/2025/09/14889.png);
  position: relative;
  margin-left: 12px;
  display: inline-block;
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.nk-custom-sidebar
  .nk-sidebar-about
  .ats-spcw-content
  .wp-block-button
  .wp-block-button__link:hover {
  background: var(--f-color-green) !important;
  color: #fff !important;
}
.nk-custom-sidebar
  .nk-sidebar-about
  .ats-spcw-content
  .wp-block-button
  .wp-block-button__link:hover:after {
  transform: translateX(8px);
}
.nk-custom-sidebar
  .nk-sidebar-about
  .ats-spcw-content
  .wp-block-button
  .wp-block-button__link:hover:before {
  transform: translateY(14px) scaleX(1);
}

/* Reduce overall block bottom margin after about since following blocks removed in new design */
.nk-custom-sidebar .nk-sidebar-about {
  margin-bottom: 46px;
}
@media (max-width: 1200px) {
  .nk-custom-sidebar
    .nk-sidebar-about
    .ats-spcw-content
    .wp-block-button
    .wp-block-button__link {
    font-size: 14px;
  }
}
@media (max-width: 600px) {
  .nk-custom-sidebar .nk-sidebar-about .ats-spcw-content iframe {
    height: 190px;
  }
  .nk-custom-sidebar .nk-sidebar-about .ats-spcw-content .wp-block-group {
    gap: 22px;
  }
}

@media (max-width: 600px) {
  .nk-about-inline {
    margin-bottom: 48px;
  }
  .nk-about-inline .nk-cta-button {
    letter-spacing: 0.16em;
    padding: 14px 20px;
  }
}

/* Utility classes for future variations */
.nk-custom-sidebar .is-condensed .nk-sb-heading {
  padding: 6px 10px;
}

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px) {
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px) {
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px) {
  /*必要ならばここにコードを書く*/
}

/* =============================
   Global Font Setup (Noto Sans / Futura PT / Sarah Script)
   ============================= */
:root {
  --nk-font-base: "Noto Sans", "Noto Sans JP", "Hiragino Sans",
    "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  --nk-font-accent1: "futura-pt", "Futura PT", "Futura", "Avenir Next", "Avenir",
    sans-serif; /* Medium (500) */
  --nk-font-accent2: "sarah-script", "Sarah Script", "Brush Script MT", cursive; /* Regular */
  /* Futura PT Demi Oblique (追加バリエーション)  
     Adobe Fonts キットで Demi / Oblique (italic) スタイルを読み込んでいる前提。 
     未読込の場合はキット管理画面で該当スタイルを追加してください。 */
  --nk-font-accent1-1: "futura-pt", "Futura PT", "Futura", "Avenir Next",
    "Avenir", sans-serif;
  --f-color-green: #2e5e4e;
  --f-color-orange: #f24822;
  /* Hover ball configurable variables */
  --nk-hover-ball-final-scale: 16; /* 画像幅を十分覆う値 (必要に応じ 14〜20) */
  --nk-hover-ball-duration: 0.65s; /* +0.2s (従来 .45s) */
  --nk-hover-ball-card-duration: 0.6s; /* +0.2s (従来 .4s) */
  /* Appeal (cover) ball configurable variables */
  --nk-shot-ball-cover-opacity: 0.6; /* 前: .8  さらに透過 (要望: “さらに透明度を上げ”) */
  --nk-shot-ball-cover-duration: 0.6s; /* 仕様: 0.6s で覆う */
  --nk-shot-ball-partial-factor: 0.55; /* 0.55 = 55% 程度しか覆わず輪郭を残す */
  --nk-shot-ball-ease: cubic-bezier(
    0.25,
    0.72,
    0.22,
    1
  ); /* 参照サイト類似の滑らか加速減速イメージ */
  --nk-shot-ball-ring-inner: rgba(255, 255, 255, 0); /* リング中心透明 */
  --nk-shot-ball-ring-mid: rgba(255, 255, 255, 0.55); /* 中間淡い白 */
  --nk-shot-ball-ring-edge: rgba(255, 255, 255, 0.9); /* 外周強め */
}

body,
button,
input,
select,
textarea {
  font-family: var(--nk-font-base);
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 500;
}
strong,
b {
  font-weight: 700;
}

/* Utility classes */
.nk-font-accent1,
.font-accent1 {
  font-family: var(--nk-font-accent1);
  font-weight: 500;
  letter-spacing: 0.05em;
}
.nk-font-accent2,
.font-accent2,
.nk-font-script {
  font-family: var(--nk-font-accent2);
  font-weight: 400;
  letter-spacing: 0.04em;
}
/* Demi Oblique バリエーション用 */
.nk-font-accent1-1,
.font-accent1-1 {
  font-family: var(--nk-font-accent1-1);
  font-weight: 600;
  font-style: italic;
  letter-spacing: 0.05em;
}

/* Override previously fixed sidebar font */
.nk-custom-sidebar {
  font-family: var(--nk-font-base);
}

/* Example usage comments:
   <h2 class="nk-font-accent1">PROGRAM</h2>
   <p class="nk-font-accent2">Signature Swing</p>
*/

/* =====================================================
   トップページ コンテンツセクション (Home page only)
   対象: .home .nk-home-sections 内の .nk-section / .nk-post-card
   ===================================================== */
body.home.is-page-singular #main > .article .entry-title {
  font-size: 24px;
  letter-spacing: 0.07em;
}
body.home.is-page-singular .content {
  margin-top: 68px;
}
body.home.is-page-singular #main > .article .entry-title {
  padding-left: 32px;
  top: -30px;
  font-family: var(--nk-font-accent1);
  font-style: normal;
}
body.home #main > .article .entry-title.wrap {
  width: inherit;
}
body.home .nk-home-sections {
  margin: 40px 0 80px;
}
body.home .nk-section {
  position: relative;
  margin: 0 0 14px;
}
body.home .nk-section:last-of-type {
  margin-bottom: 40px;
}

/* セクションヘッダー */
body.home .nk-section-header {
  display: flex;
  align-items: flex-end;
  gap: 18px;
  margin: 0 0 18px;
  border-bottom: 5px solid #2e5e4e;
}
body.is-page-singular.home .article h2 {
  margin-bottom: 0px;
}
body.home .nk-section-title {
  font-family: var(--nk-font-accent1-1);
  background-color: transparent;
  font-size: 30px;
  font-weight: 600;
  font-style: italic;
  letter-spacing: 0.02em;
  line-height: 1.1;
  margin: 0;
  position: relative;
}
body.home .article h2.nk-section-title {
  padding: 10px 6px;
}
body.home .nk-section-subtitle {
  padding: 5px 0px;
  font-size: 17px;
  letter-spacing: 0.15em;
  font-weight: 500;
  color: #111;
  white-space: nowrap;
}

/* カードグリッド */
body.home .nk-post-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(195px, 1fr));
  gap: 34px 31px;
  margin: 36px 0 18px;
}
body.home .nk-post-card {
  line-height: 1.45;
  position: relative;
  display: flex;
  flex-direction: column;
}
body.home .nk-post-card-link {
  text-decoration: none;
  color: #111;
  display: flex;
  flex-direction: column;
  gap: 10px;
  /* タイトル長の違いがあっても、下のメタを揃えるため本文領域を伸長 */
  flex: 1 1 auto;
}
body.home .nk-post-thumb {
  aspect-ratio: 4 / 3;
  background: #f0f0f0;
  overflow: hidden;
  position: relative;
}
body.home .nk-post-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
body.home .article h3.nk-post-title {
  font-weight: 600;
  letter-spacing: 0.02em;
  margin: 0;
  font-size: 16px;
  /* 3行で固定し超過は省略記号 */
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
body.home .nk-post-meta {
  /* カード下部に固定配置（タイトル長の違いによるズレ防止） */
  margin-top: auto;
  font-size: 11px;
  letter-spacing: 0.08em;
  color: #222;
  font-family: var(--nk-font-base);
  display: flex;
  align-items: center;
  gap: 4px;
}
body.home .nk-post-meta time {
  text-align: right;
  white-space: nowrap;
  width: 100%;
  font-family: var(--nk-font-accent1-1);
  font-style: italic;
  color: #636363;
  padding-top: 18px;
}

/* VIEW ALL */
body.home .nk-view-all {
  margin: 8px 0 0;
  text-align: right;
  border-bottom: 1px solid #63636349;
}
body.home .nk-view-all a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  letter-spacing: 0.35em;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  color: #636363;
  padding: 6px 2px;
  position: relative;
}
body.home .nk-view-all a:after {
  content: none !important;
}
body.home .nk-view-all a .nk-arrow {
  display: inline-block;
  width: 40px;
  height: 14px;
  background: url(/wp-content/uploads/2025/09/14782.png) no-repeat
    center/contain;
  font-size: 0;
  line-height: 0;
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
body.home .nk-view-all a:hover .nk-arrow {
  transform: translateX(10px);
}

/* セクション間の薄いボーダー（オプション） */
body.home .nk-section + .nk-section {
  padding-top: 52px;
}

/* 特色バッジ例 (先頭カードなどに付与想定 .is-featured) */
body.home .nk-post-card.is-featured::before {
  content: "pickup";
  position: absolute;
  top: 6px;
  left: 6px;
  background: #f24822;
  color: #fff;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
  padding: 4px 6px;
  line-height: 1;
}

/* ホバー効果 */
body.home .nk-post-card-link:hover .nk-post-thumb img {
  transform: scale(1.05);
}
body.home .nk-post-thumb img {
  transition: transform 0.55s cubic-bezier(0.4, 0, 0.2, 1);
}

/* レスポンシブ調整 */
@media (max-width: 1255px) {
  body.home.is-page-singular #main > .article .entry-title {
    padding-left: 0;
  }
}
@media (max-width: 960px) {
  body.home .nk-post-cards {
    gap: 30px 34px;
  }
  body.home.is-page-singular #main > .article .entry-title {
    top: -20px;
  }
  body.home.is-page-singular #main {
    padding-top: inherit;
  }
}
@media (max-width: 834px) {
  body.home.is-page-singular #main > .article .entry-title {
    top: -39px;
  }
}
@media (max-width: 680px) {
  body.home .nk-section-header {
    flex-wrap: wrap;
    gap: 10px 16px;
  }
  body.home .nk-section-title {
    font-size: 26px;
  }
  body.home .nk-post-cards {
    gap: 26px 28px;
    margin: 30px 0 12px;
  }
  body.home .nk-view-all a {
    letter-spacing: 0.28em;
  }
}
@media (max-width: 520px) {
  body.home .nk-post-cards {
  }
  body.home .nk-section {
    margin-bottom: -18px;
  }
}
@media (max-width: 480px) {
  body.home.is-page-singular #main > .article .entry-title {
    top: -56px;
  }
}
@media (max-width: 420px) {
  body.home .nk-post-cards {
    gap: 24px 18px;
  }
  body.home .nk-section-title {
    font-size: 24px;
  }
  body.home .nk-section-subtitle {
    font-size: 12px;
    letter-spacing: 0.2em;
  }
  body.home .nk-view-all a {
    font-size: 10px;
    letter-spacing: 0.25em;
  }
}

/* =====================================================
   料金案内ページ (pricing) 専用スタイル
   デザイン要素: セクション見出し(英+補足), 料金表(会員/ビジター), 注意書きボックス, 体験予約CTA
   ===================================================== */
body.is-page-singular.pricing #main > .article .entry-title {
  font-style: normal;
}
body.pricing .entry-content {
  --price-border: #d9d9d9;
  --price-text: #111;
  --price-bg-note: #f5f5f5;
  --price-font-accent: var(--nk-font-accent1);
}
/* 見出し(最初の H2 ブロック行) */
body.pricing .entry-content > .wp-block-columns {
  align-items: flex-end;
  gap: 26px;
  margin: 0 0 18px;
  position: relative;
  padding-bottom: 8px;
  display: ruby-text;
}
body.pricing .entry-content > .wp-block-columns h2 {
  font-family: var(--nk-font-accent1-1);
  font-style: italic;
  background: transparent;
  color: var(--price-font-accent);
  width: fit-content;
  font-size: 24px;
  font-weight: 700;
  margin: 0;
  line-height: 1.2;
}
body.pricing .entry-content > .wp-block-columns p {
  margin: 0 0 4px;
  font-size: 13px;
  letter-spacing: 0.16em;
  font-weight: 500;
}
body.pricing .entry-content > .wp-block-columns p br {
  display: none;
}

/* 料金表共通 */
body.pricing .entry-content figure.wp-block-table {
  margin: 0 0 40px;
}
body.pricing .entry-content figure.wp-block-table table {
  width: 100%;
  border-collapse: collapse;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: var(--price-text);
}
body.pricing .entry-content figure.wp-block-table td {
  padding: 14px 18px 12px;
  border-bottom: 1px solid var(--price-border);
  vertical-align: top;
}
body.pricing .entry-content figure.wp-block-table tr:first-child td {
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.3em;
  background: #fff;
  padding: 10px 18px 12px;
  border-bottom: 5px solid var(--f-color-green);
}
body.pricing .entry-content figure.wp-block-table td:nth-child(1),
body.pricing .entry-content figure.wp-block-table td:nth-child(2) {
  font-weight: 600;
}
/* 金額のフォーマット揃え (￥の後スペース最小化) */
body.pricing .entry-content figure.wp-block-table td:nth-child(2) {
  font-feature-settings: "palt" 1;
  letter-spacing: 0.2em;
}

body.pricing .entry-content figure.wp-block-table td:nth-child(1) {
  width: 30%;
}
body.pricing .entry-content figure.wp-block-table td:nth-child(2) {
  width: 25%;
}
body.pricing .entry-content figure.wp-block-table td:nth-child(3) {
  width: 45%;
}

/* 行間隔調整 (読みやすさ重視) */
body.pricing .entry-content figure.wp-block-table td:last-child {
  line-height: 1.55;
}

body.pricing .entry-content .text-1 {
  background: #f0f0f0;
  padding: 24px 26px;
}

/* 注意書きパラグラフ (会員申込案内) */
body.pricing .entry-content > p:nth-of-type(1n + 1) {
  /* 保守: 1つ目以降既存段落調整 */
}
body.pricing .entry-content > p:has(> br) {
  /* no-op for compatibility */
}
body.pricing .entry-content > p:nth-of-type(3) {
  background: var(--price-bg-note);
  padding: 18px 22px;
  font-size: 11.5px;
  line-height: 1.75;
  letter-spacing: 0.04em;
  margin: 0 0 70px;
}

/* 初回無料体験 CTA ブロック */
body.pricing .entry-content .wp-block-group h3 {
  letter-spacing: 0.2em;
  font-weight: 600;
  text-align: center;
  margin: 0 0 22px;
}
body.pricing .entry-content .wp-block-group {
  border: 1px solid #bcbcbc;
  padding: 34px 38px 40px;
  margin: 70px 0 74px;
}
body.pricing .entry-content .wp-block-group .wp-block-columns {
  gap: 40px;
  margin: 0;
}
body.pricing .entry-content .wp-block-group .wp-block-column p {
  font-size: 16px;
  letter-spacing: 0.15em;
  font-weight: 600;
  margin: 0 0 4px;
  text-align: center;
}
body.pricing .entry-content .wp-block-group .wp-block-button__link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: var(--f-color-green);
  color: #fff;
  min-width: 322px;
  letter-spacing: 0.15em;
  font-weight: 600;
  padding: 14px 16px;
  border-radius: 0;
  text-decoration: none;
  transition: background 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
body.pricing .entry-content .wp-block-group .wp-block-button__link:hover {
  background: var(--f-color-green);
}
/* ボタン種別差異 (2番目: Web予約) */
body.pricing
  .entry-content
  .wp-block-group
  .wp-block-column:last-child
  .wp-block-button__link {
  background: var(--f-color-green);
}
body.pricing
  .entry-content
  .wp-block-group
  .wp-block-column:last-child
  .wp-block-button__link:hover {
  background: var(--f-color-green);
}

/* 初回無料体験 CTA ボタン: 1=電話, 2=WEB にアイコン追加 */
body.pricing
  .entry-content
  .wp-block-group
  .wp-block-columns
  > .wp-block-column:first-child
  .wp-block-button__link,
body.pricing
  .entry-content
  .wp-block-group
  .wp-block-columns
  > .wp-block-column:nth-child(2)
  .wp-block-button__link {
  position: relative;
}
body.pricing
  .entry-content
  .wp-block-group
  .wp-block-columns
  > .wp-block-column:first-child
  .wp-block-button__link:before,
body.pricing
  .entry-content
  .wp-block-group
  .wp-block-columns
  > .wp-block-column:nth-child(2)
  .wp-block-button__link:before {
  content: "";
  display: inline-block;
  width: 26px;
  height: 26px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
body.pricing
  .entry-content
  .wp-block-group
  .wp-block-columns
  > .wp-block-column:first-child
  .wp-block-button__link:before {
  background-image: url(/wp-content/uploads/2025/09/169122.png);
}
body.pricing
  .entry-content
  .wp-block-group
  .wp-block-columns
  > .wp-block-column:nth-child(2)
  .wp-block-button__link:before {
  background-image: url(/wp-content/uploads/2025/09/169127.png);
}
body.pricing
  .entry-content
  .wp-block-group
  .wp-block-columns
  > .wp-block-column
  .wp-block-button__link:before {
  flex: 0 0 26px;
}
@media (max-width: 640px) {
  body.pricing
    .entry-content
    .wp-block-group
    .wp-block-columns
    > .wp-block-column
    .wp-block-button__link:before {
    width: 22px;
    height: 22px;
  }
}

/* 次見出し (h4) */
body.pricing .entry-content h4.wp-block-heading {
  letter-spacing: 0.26em;
  font-weight: 600;
  margin: 0 0 18px;
  position: relative;
  padding: 0 0 8px;
}
body.pricing .entry-content h4.wp-block-heading:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: #222;
}
body.pricing .entry-content h4.wp-block-heading + p {
  line-height: 1.9;
  letter-spacing: 0.03em;
  margin: 0 0 46px;
}
body.pricing .entry-content h4.wp-block-heading + ul {
  margin: -4px 0 46px;
  padding: 0 0 0 18px;
  font-size: 12px;
  line-height: 1.85;
  letter-spacing: 0.03em;
}
body.pricing .entry-content h4.wp-block-heading + ul li {
  margin: 0 0 14px;
}
body.pricing .entry-content h4.wp-block-heading + ul li:last-child {
  margin-bottom: 0;
}

/* リスト中の全角スペース整形 (視覚的に詰まる場合 palt) */
body.pricing .entry-content h4.wp-block-heading + ul li {
  font-feature-settings: "palt" 1;
}

/* カードロゴ想定領域 (将来的に画像挿入する場合) */
/* body.pricing .entry-content .card-logos {display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin:20px 0 0;} */

/* レスポンシブ */
@media (max-width: 960px) {
  body.pricing .entry-content .wp-block-group {
    padding: 30px 30px 36px;
  }
  body.pricing .entry-content .wp-block-group .wp-block-columns {
    flex-direction: column;
    gap: 32px;
  }
}
@media (max-width: 640px) {
  body.pricing .entry-content > .wp-block-columns h2,
  body.pricing .entry-content > .wp-block-columns:nth-of-type(2) h2 {
    letter-spacing: 0.1em;
  }
  body.pricing .entry-content figure.wp-block-table td {
    padding: 12px 12px 10px;
  }
  body.pricing .entry-content figure.wp-block-table tr:first-child td {
    font-size: 11px;
  }
  body.pricing .entry-content .wp-block-group .wp-block-button__link {
    font-size: 19px;
    min-width: 302px;
  }
  body.pricing .entry-content h4.wp-block-heading {
    font-size: 16px;
  }
  body.pricing .entry-content > .wp-block-columns {
    margin: 0 0 -15px;
  }
  body.pricing
    .entry-content
    figure.wp-block-table
    table.has-fixed-layout
    tr:nth-child(1) {
    border-bottom: 5px solid var(--f-color-green);
  }
  body.pricing .entry-content figure.wp-block-table td:nth-child(1),
  body.pricing .entry-content figure.wp-block-table td:nth-child(2) {
    width: inherit;
  }
  body.pricing
    .entry-content
    figure.wp-block-table
    table.has-fixed-layout
    tr
    > :nth-child(1),
  body.pricing
    .entry-content
    figure.wp-block-table
    table.has-fixed-layout
    tr
    > :nth-child(2) {
    border: none;
  }
  body.pricing
    .entry-content
    figure.wp-block-table
    table.has-fixed-layout
    tr:nth-child(1)
    > :nth-child(3) {
    display: none; /* 3列目ヘッダーは非表示 */
  }
  body.pricing .entry-content figure.wp-block-table table.has-fixed-layout {
    table-layout: auto; /* レイアウト自由度を上げる */
  }
  body.pricing .entry-content figure.wp-block-table table.has-fixed-layout tr {
    display: grid;
    grid-template-columns: 67% 33% 1fr;
    column-gap: 0;
    row-gap: 6px;
  }
  body.pricing
    .entry-content
    figure.wp-block-table
    table.has-fixed-layout
    tr
    > :nth-child(1),
  body.pricing
    .entry-content
    figure.wp-block-table
    table.has-fixed-layout
    tr
    > :nth-child(2) {
    grid-column: auto;
  }
  body.pricing
    .entry-content
    figure.wp-block-table
    table.has-fixed-layout
    tr
    > :nth-child(3) {
    grid-column: 1 / -1; /* 3列目を次段にして全幅へ */
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    width: 100%;
    padding-right: 50px;
    padding-top: 0;
  }
}
@media (max-width: 480px) {
  body.pricing .entry-content .wp-block-group {
    padding: 26px 22px 32px;
  }
  body.pricing .entry-content > .wp-block-columns,
  body.pricing .entry-content > .wp-block-columns:nth-of-type(2) {
    gap: 18px;
  }
}

/* =====================================================
   共通: is-page-singular のページタイトルを全幅中央に再配置
   目的: パンくずより上 / コンテンツ+サイドバーを跨いで表示
   手法: #main に余白を付与し h1.entry-title を絶対配置
   注意: テンプレ構造変更なしの暫定。テンプレ差し替えで根本対応可。
   ===================================================== */
body.is-page-singular .content {
  margin-top: 227px;
}
body.is-page-singular #main {
  position: relative;
  padding-top: 0;
}
body.is-page-singular #main > .article .entry-title {
  position: absolute;
  top: -143px;
  left: -3px;
  text-align: center;
  font-family: var(--nk-font-accent1-1);
  font-weight: 600;
  font-style: italic;
  letter-spacing: 0.48em;
  font-size: 46px;
  margin: 0;
  z-index: 20;
}

/* パンくずとの距離微調整 */
body.is-page-singular #breadcrumb {
  margin-top: 0;
}

/* 固定ページ共通ブロック */
body.is-page-singular .article {
  --acc-max-width: 1040px;
}
body.is-page-singular .article .entry-title {
  font-family: var(--nk-font-accent1-1);
  font-weight: 600;
  font-style: italic;
  letter-spacing: 0.4em;
  font-size: 42px;
  text-align: center;
  margin: 40px 0 70px;
}

/* ヒーローブロック: メイン画像 + 右下テキストボックス重なり */
body.is-page-singular .page-top-block {
  position: relative;
  width: 100%;
  max-width: 760px;
  margin: 0 0 90px;
}
body.is-page-singular .page-top-block .page-top-img1 {
  margin-left: -53px !important;
  position: relative;
  z-index: 2;
}
body.is-page-singular .page-top-block .page-top-img1 img {
  display: block;
  width: 100%;
  height: auto;
}
/* 下地の横長グレー帯 */
body.is-page-singular .page-top-block:before {
  content: "";
  position: absolute;
  left: -22%;
  top: 73%;
  width: 127%;
  height: 264px;
  background: #d9dcde;
  z-index: 1;
}
/* 背景の微細パターン (簡易的斜線) */
body.is-page-singular .page-top-block:after {
  content: "";
  position: absolute;
  left: -22%;
  top: 52%;
  width: 140%;
  height: 220px;
  background-image: repeating-linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.4) 0 8px,
    transparent 8px 16px
  );
  mix-blend-mode: multiply;
  opacity: 0.35;
  z-index: 1;
}

/* 右側テキストボックス (画像右に寄せ下に少しズラす) */
body.is-page-singular .page-top-sub-block {
  position: absolute;
  right: -42px;
  bottom: -204px;
  width: 75%;
  background: transparent;
  z-index: 3;
  padding: 0;
}
body.is-page-singular .page-top-sub-block figure {
  width: 100%;
  margin: 0 0 28px;
}
body.is-page-singular .page-top-sub-block figure img {
  width: 97%;
}

body.is-page-singular .page-top-sub-block p {
  line-height: 2.05;
  letter-spacing: 0.05em;
  margin: 0;
}

@media screen and (max-width: 1255px) {
  body.is-page-singular #main > .article .entry-title {
    left: inherit;
  }
}
@media (max-width: 960px) {
  body.is-page-singular .content {
    margin-top: 0;
  }
  body.is-page-singular #main {
    padding-top: 130px;
  }
  body.is-page-singular #main > .article .entry-title {
    font-size: 40px;
    letter-spacing: 0.44em;
    top: 34px;
  }
  body.is-page-singular .page-top-sub-block {
    right: 26px;
  }
  body.is-page-singular .page-top-block:after {
    width: 100%;
  }
}
@media (max-width: 640px) {
  body.is-page-singular #main {
    padding-top: 118px;
  }
  body.is-page-singular #main > .article .entry-title {
    font-size: 34px;
    letter-spacing: 0.4em;
    top: 30px;
  }
}
@media (max-width: 480px) {
  body.is-page-singular #main {
    padding-top: 108px;
  }
  body.is-page-singular #main > .article .entry-title {
    font-size: 30px;
    letter-spacing: 0.36em;
    top: 28px;
  }
}

/* =====================================================
   ACCESS ページ専用スタイル (page-id-9)
   目的: 添付デザインに合わせコンテンツ領域のみ調整
   対象: #post-9 .entry-content 配下 (サイドバーは除外)
   メモ: 余白/重なり効果/テーブル整形/見出しライン
   ===================================================== */
/* 本文最初の説明パラグラフ (重複分2回表示されるケース対処で最初の後続同文を間引く可能性は後続JS) */
body.page-id-9 .entry-content > p:first-of-type {
  max-width: 660px;
  line-height: 2;
  letter-spacing: 0.05em;
  margin-bottom: -18px;
}

/* 右寄せマップ画像 */
body.page-id-9 .entry-content > figure.alignright {
  max-width: 60%;
  position: absolute;
  right: 0;
  margin-top: -89px;
}
body.page-id-9 .entry-content > figure.alignright img {
  width: 100%;
  height: auto;
  display: block;
}

/* 見出し (h4) */
body.page-id-9 .entry-content h4.wp-block-heading {
  letter-spacing: 0.28em;
  font-weight: 600;
  margin: 0 0 7px;
  position: relative;
  padding: 0 0 6px;
}
/* 見出し前の余白調整 */
body.page-id-9 .entry-content h4.wp-block-heading:not(:first-of-type) {
  margin-top: 54px;
}

/* 区切り線 */
body.page-id-9 .entry-content hr.wp-block-separator {
  margin: 34px 0 48px;
  border: 0;
  border-top: 1px solid #cbcbcb;
  height: 0;
}

/* パラグラフ共通 */
body.page-id-9 .entry-content p {
  line-height: 2;
  letter-spacing: 0.05em;
  margin-bottom: -18px;
  padding: 10px;
}

/* テーブル (営業時間) */
body.page-id-9 .entry-content figure.wp-block-table {
  margin: 80px 0 60px;
  width: 83%;
}
body.page-id-9 .entry-content figure.wp-block-table table {
  width: 100%;
  border-collapse: collapse;
  line-height: 1.9;
  letter-spacing: 0.04em;
}
body.page-id-9 .entry-content figure.wp-block-table td {
  padding: 14px 20px 12px;
  border-bottom: 1px solid #d3d3d3;
  vertical-align: top;
}
body.page-id-9 .entry-content figure.wp-block-table tr:nth-child(2),
body.page-id-9 .entry-content figure.wp-block-table tr:nth-child(3),
body.page-id-9 .entry-content figure.wp-block-table tr:nth-child(4),
body.page-id-9 .entry-content figure.wp-block-table tr:nth-child(5),
body.page-id-9 .entry-content figure.wp-block-table tr:nth-child(8) {
  text-align: center;
}
body.page-id-9 .entry-content figure.wp-block-table tr:nth-child(6) td,
body.page-id-9 .entry-content figure.wp-block-table tr:nth-child(8) td {
  border: none;
  padding-bottom: 10px;
  font-size: 16px;
}
body.page-id-9 .entry-content figure.wp-block-table tr:nth-child(7) td,
body.page-id-9 .entry-content figure.wp-block-table tr:nth-child(9) td {
  padding-top: 0;
  padding-left: 2vw;
}
body.page-id-9 .entry-content figure.wp-block-table tr:first-child td {
  background: #000;
  color: #fff;
  font-weight: 600;
  letter-spacing: 0.35em;
  font-size: 17px;
  padding: 9px 20px;
  text-align: center;
}
body.page-id-9 .entry-content figure.wp-block-table td:first-child {
  width: 30%;
  font-weight: 500;
}
body.page-id-9 .entry-content figure.wp-block-table tr td:empty {
  background: transparent;
  border-bottom: none;
}
/* 強調行 (●) */
body.page-id-9 .entry-content figure.wp-block-table td:first-child:has(> br) {
  font-weight: 500;
}
body.page-id-9 .entry-content figure.wp-block-table td:first-child {
  position: relative;
}
body.page-id-9 .entry-content figure.wp-block-table td:first-child:before {
  content: "";
  position: absolute;
  left: 6px;
  top: 21px;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background: #0d614f;
  opacity: 0;
}
body.page-id-9
  .entry-content
  figure.wp-block-table
  tr:nth-child(4)
  td:first-child:before,
body.page-id-9
  .entry-content
  figure.wp-block-table
  tr:nth-child(5)
  td:first-child:before,
body.page-id-9
  .entry-content
  figure.wp-block-table
  tr:nth-child(8)
  td:first-child:before {
  opacity: 1;
}
body.page-id-9 .entry-content figure.wp-block-table td {
  border-left: none;
  border-right: none;
}

/* 免責/注意 (最終行) */
body.page-id-9
  .entry-content
  figure.wp-block-table
  tr:last-child
  td:first-child {
  font-weight: 400;
}
body.page-id-9 .entry-content figure.wp-block-table tr:last-child td {
  font-size: 15px;
  line-height: 1.9;
  letter-spacing: 0.03em;
}

/* レスポンシブ */
@media (max-width: 1180px) {
  body.page-id-9 .page-top-sub-block {
    right: 10px;
  }
}
@media (max-width: 1080px) {
  body.page-id-9 .page-top-sub-block {
    right: 8px;
  }
}
@media (max-width: 980px) {
  body.page-id-9 .page-top-sub-block {
    position: relative;
    right: auto;
    bottom: auto;
    width: 100%;
    margin: 40px 0 0;
  }
  body.page-id-9 .page-top-block {
    margin-bottom: 50px;
  }
  body.page-id-9 .page-top-block:before,
  body.page-id-9 .page-top-block:after {
    left: -10%;
    width: 114%;
    top: 58%;
    height: 200px;
  }
}
@media (max-width: 960px) {
  .space1 {
    height: 30px !important;
  }
}
@media (max-width: 860px) {
  body.page-id-9 .entry-content > figure.alignright {
    float: none;
    margin: 0 0 50px;
    width: 100% !important;
    max-width: 100%;
  }
  body.page-id-9 .entry-content > figure.alignright img {
    position: absolute;
    right: 0;
    width: clamp(23rem, 56vw, 35rem) !important;
    margin-top: -107px;
  }
  body.page-id-9 .entry-content figure.wp-block-table {
    width: 100%;
  }
}
@media (max-width: 640px) {
  body.page-id-9 .article .entry-title {
    font-size: 34px;
    letter-spacing: 0.42em;
    margin: 28px 0 54px;
  }
  body.page-id-9 .page-top-block {
    max-width: 100%;
  }
  body.page-id-9 .page-top-block:before,
  body.page-id-9 .page-top-block:after {
    top: 49%;
    height: 180px;
  }
  body.page-id-9 .entry-content > p:first-of-type {
    margin-bottom: 54px;
  }
  body.page-id-9 .entry-content figure.wp-block-table td {
    padding: 12px 14px 10px;
  }
  body.page-id-9 .entry-content figure.wp-block-table tr:first-child td {
    font-size: 14px;
    letter-spacing: 0.28em;
  }
  body.page-id-9 .entry-content > figure.alignright img {
    margin-top: -158px;
  }
}
@media (max-width: 480px) {
  body.page-id-9 .article .entry-title {
    font-size: 30px;
    letter-spacing: 0.38em;
  }
  body.page-id-9 #breadcrumb {
    font-size: 10px;
  }
  body.page-id-9 .entry-content figure.wp-block-table td {
    padding: 10px 12px 8px;
  }
  body.page-id-9 .entry-content figure.wp-block-table td:first-child {
    width: 38%;
  }
  body.page-id-9 .entry-content > figure.alignright img {
    margin-top: -210px;
  }
}

/* =====================================================
     Footer 背景画像 右寄せオーバーレイ
     要件: 既存背景色は維持しつつ右側に画像を重ねる
     画像: /wp-content/uploads/2025/09/footer_bg.png
     備考: 背景色は親テーマ側指定をそのまま利用し background-image のみ追加
   ===================================================== */
#footer {
  position: relative;
  background-image: url(/wp-content/uploads/2025/09/footer_bg.png);
  background-repeat: no-repeat;
  background-position: right center;
  background-size: auto 100%;
}

/* =====================================================
   店内紹介 ページ専用スタイル (page-id-9)
   ===================================================== */
body.about-store .spacer1 {
  height: 193px !important;
}
body.about-store #main > .article .entry-title {
  font-style: normal;
}
body.about-store .article h2 {
  font-family: var(--nk-font-accent1-1);
  background-color: transparent;
  font-size: 30px;
  font-weight: 600;
  font-style: italic;
  letter-spacing: 0.02em;
  line-height: 1.1;
  position: relative;
  padding: 0 0 11px 3px;
  border-bottom: 3px solid #2e5e4e;
  padding-top: 57px;
}
body.about-store .gallery .wp-block-image,
body.about-store .floor-guide .wp-block-image {
  text-align: -webkit-center;
}
body.about-store .gallery .wp-block-image img {
  min-width: 100%;
}
body.about-store .floor-guide .wp-block-image img {
  min-width: 100%;
}
@media (max-width: 782px) {
  body.about-store .spacer1 {
    height: 290px !important;
  }
  body.about-store.is-page-singular .page-top-block:before {
    height: 424px;
  }
  body.about-store.is-page-singular .page-top-sub-block {
    bottom: -366px;
  }
  body.about-store.is-page-singular .article h2 {
    margin-bottom: 28px;
  }
  body.about-store.is-page-singular .article p {
    margin-bottom: 14px;
  }
  body.about-store .gallery .wp-block-image img {
    padding: 0 20px;
  }
}

/* =====================================================
   投稿ページ（single post） h2 見出し: 先細りアンダーライン
   body.wp-singular を親に限定（固定ページ等にも付く場合は条件追加検討）
   仕様: 左端は太く右端に向けて細く消える楔形。clip-path + mask グラデで再現。
===================================================== */
body.is-post-single .date-tags {
  color: #636363;
  font-family: var(--nk-font-accent1-1);
  font-style: italic;
}

body.is-post-single .entry-content h2 {
  position: relative;
  margin: 60px 0 32px;
  padding: 0 0 16px;
  font-size: 28px;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: 0.04em;
  font-family: var(--nk-font-accent1-1);
  background: transparent;
}
/* Cocoon デフォルトの装飾抑止 */
body.is-post-single .entry-content h2:before,
body.is-post-single .entry-content h2:after {
  box-shadow: none;
}
body.is-post-single .entry-content h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 8px;
  background: var(--f-color-green, #2e5e4e);
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  -webkit-mask-image: linear-gradient(
    to right,
    rgba(0, 0, 0, 0.95),
    rgba(0, 0, 0, 0.85) 40%,
    rgba(0, 0, 0, 0.3) 85%,
    rgba(0, 0, 0, 0)
  );
  mask-image: linear-gradient(
    to right,
    rgba(0, 0, 0, 0.95),
    rgba(0, 0, 0, 0.85) 40%,
    rgba(0, 0, 0, 0.3) 85%,
    rgba(0, 0, 0, 0)
  );
}
body.is-post-single .entry-content h3 {
  margin-bottom: 1.1em;
}

/* 吹き出し */
body.is-post-single .cocoon-block-balloon.not-nested-style > .speech-balloon {
  border-color: #000;
  border-radius: 0px;
  background: transparent;
}
body.is-post-single
  .cocoon-block-balloon.not-nested-style.sbp-l
  > .speech-balloon {
  margin-left: 46px;
}
body.is-post-single .speech-balloon::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: -35px;
  top: 23px;
  width: 0;
  height: 0;
  border-top: 21px solid transparent;
  border-right: 44px solid #000;
}
body.is-post-single .speech-balloon::after {
  content: "";
  position: absolute;
  left: -37px;
  top: 25px;
  width: 0;
  height: 0;
  border-top: 22px solid transparent;
  border-right: 46px solid #fff;
  z-index: -1;
}
body.is-post-single .speech-icon img {
  border: 2px solid #000;
}

/* まとめブロック */
body.is-post-single .entry-content .primary-box h2 {
  margin: 8px 0 0px;
}
body.is-post-single .entry-content .primary-box h2::after {
  content: none;
}
body.is-post-single .is-style-primary-box,
.primary-box,
.sp-primary,
.primary {
  background-color: #d5dedb;
  color: #000;
}

/* 著者 */
body.is-page-singular .author-info,
body.is-post-single .author-info {
  display: none;
}

@supports (clip-path: polygon(0 0, 100% 49%, 100% 51%, 0 100%)) {
  body.is-post-single .entry-content h2::after {
    clip-path: polygon(0 0, 100% 49%, 100% 51%, 0 100%);
  }
}
@supports not (clip-path: polygon(0 0, 100% 50%, 0 100%)) {
  body.is-post-single .entry-content h2::after {
    height: 6px;
    background: linear-gradient(
      to right,
      var(--f-color-green, #2e5e4e) 0%,
      var(--f-color-green, #2e5e4e) 55%,
      rgba(46, 94, 78, 0) 100%
    );
    clip-path: none;
    -webkit-mask-image: none;
    mask-image: none;
  }
}
@media (max-width: 640px) {
  body.is-post-single .entry-content h2 {
    font-size: 24px;
    margin: 50px 0 28px;
  }
  body.is-post-single .entry-content h2::after {
    height: 6px;
  }
}
@media (max-width: 420px) {
  body.is-post-single .entry-content h2 {
    font-size: 22px;
    margin: 42px 0 26px;
    padding-bottom: 14px;
  }
  body.is-post-single .entry-content h2::after {
    height: 5px;
  }
}

/* =====================================================
   モバイルヘッダー メニューボタン画像置換
   要件:
     - 検索: /wp-content/uploads/2025/09/219199.png
     - HOME:  /wp-content/uploads/2025/10/top_logo.png
     - MENU(サイドバー): /wp-content/uploads/2025/09/219130.png
     - 文字とFontAwesomeアイコンは消し、リンク/トグル動作は保持
   実装方針:
     - 元の .menu-icon / .menu-caption を視覚的非表示 (アクセシビリティ上は残す)
     - 各 .menu-button-in に擬似要素 ::before で画像表示
     - 既存で home ボタンを非表示にしていたルールを強制表示
 ===================================================== */
@media (max-width: 1023px) {
  .nk-custom-sidebar .nk-sidebar-block:nth-child(3),
  .nk-custom-sidebar .nk-sidebar-block:nth-child(4),
  .nk-custom-sidebar .nk-sidebar-block:nth-child(5) {
    margin-bottom: 18px;
  }
  .nk-custom-sidebar .nk-sidebar-block + .nk-sidebar-block {
    margin-top: 0;
  }
  .nk-custom-sidebar h4.nk-sb-heading {
    margin-bottom: 0;
  }
  body:where(
      .mblt-header-mobile-buttons,
      .mblt-header-and-footer-mobile-buttons
    ) {
    margin-top: 0;
  }
  .mobile-menu-buttons .home-menu-button {
    /* display: none; */
  }
  .mobile-menu-buttons {
    min-height: 1px;
  }
  .mobile-header-menu-buttons {
    box-shadow: none;
  }
  .sidebar-menu-close-button .fa.fa-close,
  #slide-in-sidebar .search-box,
  #slide-in-sidebar .icon-black {
    display: none;
  }
  #slide-in-sidebar .icon-gray {
    display: flex;
  }
  #slide-in-sidebar {
    padding: 4px;
    background: transparent;
    color: #fff;
    padding: 0px 8px;
  }
  #slide-in-sidebar .nk-sidebar-block:first-child {
    margin-top: -32px;
  }
  #slide-in-sidebar.nk-custom-sidebar h4.nk-sb-heading {
    color: #fff;
  }
  #slide-in-sidebar.nk-custom-sidebar li,
  #slide-in-sidebar.nk-custom-sidebar li a {
    color: #b5b5b5;
  }
  #slide-in-sidebar.nk-custom-sidebar
    .nk-accordion-block
    h4.nk-sb-heading:after {
    border-right: 2px solid #b5b5b5;
    border-bottom: 2px solid #b5b5b5;
  }
  .logo-image {
    height: 44px;
    padding: 2px;
  }
  .site-logo-image {
    display: none;
  }
  .mobile-menu-buttons .menu-button {
    padding: 10px;
  }
  .mobile-menu-buttons .search-menu-button.menu-button {
    padding: 6px;
    margin-left: -10px;
  }
  .mobile-menu-buttons .search-menu-button.menu-button .menu-button-in {
    padding: 2px;
    margin-top: -5px;
  }
  .mobile-menu-buttons .sidebar-menu-button.menu-button {
    margin-top: -4px;
    margin-right: -10px;
  }
  .mobile-menu-buttons .home-menu-button.menu-button .menu-button-in {
    width: 158px;
    margin-left: -53px;
    top: -3px;
  }
  .mobile-menu-buttons .home-menu-button {
    display: list-item !important;
  }
  .mobile-menu-buttons {
    gap: 6px;
  }
  .mobile-menu-buttons .menu-button .menu-button-in {
    position: relative;
    width: 28px;
    height: 28px;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    box-shadow: none;
    border: none;
  }
  /* 視覚的非表示 (スクリーンリーダーには残す) */
  .mobile-menu-buttons .menu-button .menu-icon,
  .mobile-menu-buttons .menu-button .menu-caption {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
  }
  .mobile-menu-buttons .menu-button .menu-button-in::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }
  .mobile-menu-buttons .search-menu-button .menu-button-in::before {
    background-image: url(/wp-content/uploads/2025/10/search-sp.png);
  }
  .mobile-menu-buttons .home-menu-button .menu-button-in::before {
    background-image: url(/wp-content/uploads/2025/10/top_logo.png);
  }
  .mobile-menu-buttons .sidebar-menu-button .menu-button-in::before {
    background-image: url(/wp-content/uploads/2025/09/219130.png);
  }
  /* タップ領域拡張 (label用) */
  .mobile-menu-buttons
    .menu-button
    input[type="checkbox"]
    + label.menu-open.menu-button-in {
    cursor: pointer;
  }
  /* 検索/サイドバー開閉中の視覚変化 (任意) */
  .mobile-menu-buttons
    .search-menu-button
    #search-menu-input:checked
    + #search-menu-open::after,
  .mobile-menu-buttons
    .sidebar-menu-button
    #sidebar-menu-input:checked
    + #sidebar-menu-open::after {
    content: "";
    position: absolute;
    bottom: 4px;
    right: 4px;
    width: 10px;
    height: 10px;
    background: rgba(255, 255, 255, 0.85);
    border-radius: 50%;
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.25);
  }
}
