@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
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/

/* RSS を隠す（Gutenberg標準＆汎用） */
.sidebar .wp-block-social-links .wp-social-link-rss,
.sidebar .wp-block-social-links li a[aria-label*="RSS"],
.sidebar .social-icons .rss { display:none !important; }

/* Feedly を隠す（テーマ差吸収のため複数パターン） */
.sidebar .wp-block-social-links li a[aria-label*="Feedly"],
.sidebar .wp-block-social-links li a[href*="feedly.com"],
.sidebar .social-icons .feedly { display:none !important; }

/* メニュー表 */
* {
    scroll-behavior: smooth;
    scroll-padding: 2em;
}
.body:not(.home) #custom_html-2,
.body:not(.home) #custom_html-3 {
    display: none;
}
.show-price-btn {
    display: block;
    padding: .25em;
    background-color: #9b7b6c;
    border-radius: .25em;
    color: #fff;
    text-align: center;
    text-decoration: none;
}
.show-price-btn:hover {
    background-color: #84695C;
    color: #fff;
}
#price-table :is(h2,
h3) {
    text-align: center;
}
#price-table h3 {
    margin-bottom: 2rem;
}
.tablepress {
    border-bottom: 1px solid var(--border-color);
}
.tablepress:not(:has(+ small)),
#price-table small {
    margin-bottom: 2rem;
}
.tablepress:has(+ small) {
    margin-bottom: 0;
}
#price-table small {
    display: block;
}
#price-table td.column-2 {
    width: 7em;
}
@media (max-width:767px) {
    #price-table h2 {
        font-size: 1.5em;
    }
    #price-table h3 {
        font-size: 1.25em;
    }
    #price-table h4 {
        font-size: 1em;
    }
}
@media (min-width:768px) {
    #price-table h2 {
        font-size: 24px;
    }
    #price-table h3 {
        font-size: 20px;
    }
    #price-table h4 {
        font-size: 18px;
    }
}

/* ホーム画面: ページ送りボタンを料金表の上に移動 */
.home .main {
    display: flex;
    flex-direction: column;
}
.home .widget-index-top {
    order: 0;
}
.home #list {
    order: 1;
}
.home .pagination-next {
    order: 2;
}
.home .pagination {
    order: 3;
}
.home .widget-index-bottom {
    order: 4;
}

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

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

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

/************************************
* フッター3カラム化（2026-06-12）
* モック: mockups/footer-3column-mockup.html 準拠
************************************/
.footer {
  background: #9b7b6c;
  color: #fff;
  padding-top: 30px;
}
.footer a { color: #fff; }
.footer .widget-footer-left,
.footer .widget-footer-center,
.footer .widget-footer-right { font-size: 13.5px; line-height: 1.9; }

/* ウィジェットタイトル */
.footer h3 {
  font-size: 15px;
  letter-spacing: .12em;
  margin-bottom: 14px;
  padding-bottom: 8px;
  border-bottom: 2px solid rgba(255,255,255,.35);
  color: #fff;
}
.footer h3::before { content: "─ "; opacity: .6; }

/* 列1: 店舗情報 */
.footer .f-shop-name { font-size: 17px; font-weight: 700; margin-bottom: 10px; letter-spacing: .06em; }
.footer .f-shop-info { margin: 0 0 6px; }
.footer .f-tel-btn {
  display: inline-flex; align-items: center; gap: 8px;
  background: #fff; color: #745c51 !important;
  font-size: 17px; font-weight: 700;
  padding: 10px 22px; border-radius: 30px;
  text-decoration: none; margin: 10px 0 4px;
  box-shadow: 0 2px 6px rgba(0,0,0,.18);
}
.footer .f-tel-note { font-size: 11px; opacity: .8; display: block; margin-bottom: 10px; }
.footer .f-map-link { font-size: 13px; text-decoration: underline; text-underline-offset: 3px; }

/* 列2: メニュー */
.footer .f-menu { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 18px; }
.footer .f-menu li { margin-bottom: 9px; break-inside: avoid; }
.footer .f-menu a { text-decoration: none; opacity: .92; }
.footer .f-menu a::before { content: "› "; color: #f39800; font-weight: 700; }
.footer .f-menu a:hover { opacity: 1; text-decoration: underline; }

/* 列3: ご予約・SNS */
.footer .f-line-btn {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  background: #06C755; color: #fff !important;
  font-size: 16px; font-weight: 700;
  padding: 14px 18px; border-radius: 10px;
  text-decoration: none; margin-bottom: 8px;
  box-shadow: 0 3px 8px rgba(0,0,0,.2);
}
.footer .f-line-mark {
  background: #fff; color: #06C755;
  border-radius: 6px; font-size: 11px; font-weight: 800;
  padding: 3px 6px; letter-spacing: .03em;
}
.footer .f-line-note { font-size: 11.5px; text-align: center; opacity: .85; margin-bottom: 16px; }
.footer .f-sns-row { display: flex; gap: 12px; justify-content: center; }
.footer .f-sns-icon {
  width: 42px; height: 42px; border-radius: 50%;
  background: rgba(255,255,255,.92); color: #745c51 !important;
  display: flex; align-items: center; justify-content: center;
  font-size: 19px; text-decoration: none;
  box-shadow: 0 2px 5px rgba(0,0,0,.15);
}

/* 旧フッターメニュー（列2と重複のため非表示） */
.footer .navi-footer-in { display: none; }

/* コピーライト帯 */
.footer .footer-bottom,
.footer .copyright {
  background: #745c51;
  text-align: center; font-size: 12px;
  padding: 14px; margin-top: 26px;
  letter-spacing: .05em;
}

/* スマホ: 電話ボタン全幅 */
@media (max-width: 767px) {
  .footer .f-tel-btn { width: 100%; justify-content: center; }
}

/************************************
* 料金表リニューアル pt2（2026-06-12）
* モック: mockups/price-table-mockup.html 準拠
* 旧ルールは温存し詳細度で上書き
************************************/
#price-table.pt2 { --pt-brown:#9b7b6c; --pt-dark:#745c51; --pt-accent:#f39800; }

/* 見出しまわり */
.pt2-eyebrow { display:block; text-align:center; font-family:Georgia,"Times New Roman",serif; font-style:italic; letter-spacing:.3em; color:#9b7b6c; font-size:15px; text-transform:uppercase; }
#price-table.pt2 h2 { text-align:center; letter-spacing:.25em; color:#745c51; margin:2px 0 6px; }
.pt2-orn { display:block; text-align:center; color:#9b7b6c; letter-spacing:.5em; opacity:.7; font-size:14px; }
.pt2-note { text-align:center; font-size:12px; color:#8a7a72; margin:8px 0 22px; }

/* タブ（CSSのみ） */
.pt2-radio { display:none; }
.pt2-tabs { display:flex; justify-content:center; gap:10px; margin-bottom:24px; }
.pt2-tabs label {
  border:1.5px solid #9b7b6c; background:#fff; color:#745c51;
  font-size:14px; font-weight:700; letter-spacing:.08em;
  padding:9px 26px; border-radius:30px; cursor:pointer; transition:all .2s;
}
#pt2-tab-l:checked ~ .pt2-tabs label[for="pt2-tab-l"],
#pt2-tab-m:checked ~ .pt2-tabs label[for="pt2-tab-m"] {
  background:#9b7b6c; color:#fff; box-shadow:0 3px 10px rgba(155,123,108,.35);
}
.pt2-sec.pt2-mens { display:none; }
#pt2-tab-m:checked ~ .pt2-sec.pt2-ladies { display:none; }
#pt2-tab-m:checked ~ .pt2-sec.pt2-mens { display:block; }

/* スクリーンリーダー用h3（視覚非表示） */
#price-table.pt2 .pt2-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); margin:0; padding:0; }

/* カテゴリカード */
.pt2-cards { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.pt2-card {
  background:#fff; border-radius:14px; padding:20px 20px 16px;
  box-shadow:0 2px 12px rgba(116,92,81,.08);
  border-top:3px solid #9b7b6c;
}
#price-table.pt2 h4 {
  display:flex; align-items:baseline; gap:8px;
  font-size:16px; color:#745c51; letter-spacing:.08em;
  margin:0 0 10px; padding:0 0 8px; border-bottom:1px solid #eee2dc;
}
.pt2-ico { font-size:17px; }
.pt2-en { font-family:Georgia,serif; font-style:italic; color:#9b7b6c; font-size:12.5px; letter-spacing:.12em; font-weight:400; }

/* TablePress → ドットリーダー行 */
#price-table.pt2 .tablepress { width:100%; border:none; border-bottom:none; margin:0; }
#price-table.pt2 .tablepress tbody td { border:none; background:none; padding:0; }
#price-table.pt2 .tablepress tr { display:flex; align-items:baseline; padding:7px 0; background:none; }
#price-table.pt2 .tablepress tr + tr { border-top:1px dashed #f1e8e3; }
#price-table.pt2 .tablepress td.column-1 { display:flex; flex:1 1 auto; min-width:0; align-items:baseline; font-size:14px; }
#price-table.pt2 .tablepress td.column-1::after {
  content:""; flex:1; border-bottom:1.5px dotted #d8c8c0;
  margin:0 8px; transform:translateY(-4px); min-width:14px;
}
#price-table.pt2 .tablepress td.column-2 {
  width:auto; flex:0 0 auto; font-weight:700; color:#745c51;
  font-variant-numeric:tabular-nums; white-space:nowrap; font-size:14px;
}
#price-table.pt2 .tablepress .row-hover tr:hover td { background:none; }

/* 注記 */
#price-table.pt2 small { display:block; font-size:11px; color:#8a7a72; margin-top:8px; margin-bottom:0; line-height:1.6; }

/* スマホ */
@media (max-width:640px) {
  .pt2-cards { grid-template-columns:1fr; }
  .pt2-tabs label { padding:9px 18px; font-size:13px; }
}
