/* =====================================================================
   見学会：詳細ページ・予約フォーム・開催一覧
   ---------------------------------------------------------------------
   会館ページ（新デザイン）と同じ色を使っている。
   文字サイズは px で指定（置かれるページの設定に左右されないようにするため）。
   .kg の中だけに効く書き方にしてある。
   ===================================================================== */
.kg,.kg-list,.kg-next{
  /* 湘和葬祭サイトの新デザイン（syouwa-templates）の色。--kg-gold は「主の色」（紺）、--kg-gold2 は差し色 */
  --kg-ink:#0F1C33;--kg-ink2:#24304A;--kg-mut:#56617A;
  --kg-gold:#002468;--kg-gold2:#3A5A94;--kg-line:#CBD3E0;--kg-line2:#E1E6EE;
  --kg-paper:#F3F5F9;--kg-paper2:#E7ECF4;--kg-red:#A3271F;
  --kg-tint:rgba(0,36,104,.06);--kg-shadow:rgba(15,28,51,.11);--kg-glow:rgba(58,90,148,.3);
  --kg-sans:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
  --kg-serif:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;
}
/* 会館ページを見たあと（html に kaido-mode）は、会館ページと同じ茶色にそろえる */
html.kaido-mode .kg,html.kaido-mode .kg-list,html.kaido-mode .kg-next{
  --kg-ink:#17150F;--kg-ink2:#2B261D;--kg-mut:#5A5246;
  --kg-gold:#735E34;--kg-gold2:#8A7449;--kg-line:#CDC2AC;--kg-line2:#E0D7C6;
  --kg-paper:#FBF9F4;--kg-paper2:#EDE5D5;
  --kg-tint:rgba(115,94,52,.07);--kg-shadow:rgba(23,21,15,.11);--kg-glow:rgba(138,116,73,.3);
}
.kg{
  max-width:880px;margin:0 auto;color:var(--kg-ink2);
  font-family:var(--kg-sans);
  font-size:17px;line-height:1.9;letter-spacing:.03em;
}
.kg *{box-sizing:border-box}
.kg a{color:var(--kg-gold);text-decoration:underline;text-underline-offset:3px}
.kg a:hover{color:var(--kg-gold2)}
.kg p{margin:0 0 14px}
.kg small{display:inline-block;margin-left:12px;font-size:14px;color:var(--kg-mut)}

/* ---------- 施設名と紹介文 ---------- */
.kg-head{margin:0 0 22px}
.kg .kg-fac{margin:0 0 6px;font-family:var(--kg-serif);font-weight:600;
  font-size:24px;letter-spacing:.08em;line-height:1.5}
.kg .kg-fac a{color:var(--kg-ink);text-decoration:none;border-bottom:1px solid var(--kg-line)}
.kg .kg-lead{margin:0;font-size:16px;color:var(--kg-ink2)}
.kg .kg-kicker{margin:0 0 2px;font-size:14px;letter-spacing:.2em;color:var(--kg-gold)}

/* ---------- 会場：住所・外観写真・地図 ---------- */
.kg .kg-addr{display:block;font-size:15px;color:var(--kg-mut);line-height:1.7}
.kg .kg-contact{display:flex;flex-wrap:wrap;gap:4px 22px}
.kg .kg-contact>span{white-space:nowrap}
.kg .kg-contact__k{display:inline-block;margin-right:8px;font-size:13px;letter-spacing:.1em;color:var(--kg-mut)}
.kg-venue{display:grid;grid-template-columns:1fr;gap:12px;margin:12px 0 4px}
.kg-venue__photo{margin:0;aspect-ratio:3/2;overflow:hidden;background:var(--kg-paper2)}
.kg-venue__photo img{display:block;width:100%;height:100%;object-fit:cover}
.kg-venue__map{aspect-ratio:3/2;background:var(--kg-paper2)}
.kg-venue__map iframe{display:block;width:100%;height:100%;border:0}
@media(min-width:600px){
  .kg-venue{grid-template-columns:1fr 1fr}
  .kg-venue--one{grid-template-columns:1fr}
  .kg-venue--one .kg-venue__map,.kg-venue--one .kg-venue__photo{aspect-ratio:16/7}
}
.kg .kg-notice{margin:0 0 20px;padding:14px 18px;background:var(--kg-paper2);border-left:3px solid var(--kg-gold);
  font-size:16px;color:var(--kg-ink)}

/* ---------- 開催日・時間・会場 ---------- */
.kg-when{margin:0 0 14px;border-top:1px solid var(--kg-line)}
.kg-when>div{display:grid;grid-template-columns:1fr;gap:2px;padding:14px 0;border-bottom:1px solid var(--kg-line)}
.kg-when dt{margin:0;font-size:14px;letter-spacing:.12em;color:var(--kg-mut)}
.kg-when dd{margin:0;font-size:18px;color:var(--kg-ink);line-height:1.7}
.kg-when>div:first-child dd{font-family:var(--kg-serif);font-weight:600;font-size:24px;letter-spacing:.06em}
@media(min-width:600px){
  .kg-when>div{grid-template-columns:120px 1fr;gap:18px;align-items:baseline}
}
.kg .kg-note{margin:0 0 8px;font-size:16px;color:var(--kg-ink2)}

/* ---------- 見出し ---------- */
.kg .kg-h{position:relative;margin:48px 0 22px;padding:0 0 12px;border:0;border-bottom:1px solid var(--kg-line);
  background:none;color:var(--kg-ink);
  font-family:var(--kg-serif);font-weight:600;font-size:24px;letter-spacing:.1em;line-height:1.5}
.kg .kg-h::before{content:none}
.kg .kg-h::after{content:"";position:absolute;left:0;bottom:-1px;width:56px;height:2px;background:var(--kg-gold)}

/* ---------- 開催内容 ---------- */
.kg-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.kg-item{margin:0;padding:0;display:grid;grid-template-columns:1fr;background:#fff;
  box-shadow:0 8px 24px var(--kg-shadow);overflow:hidden}
/* 挿絵は 3:2（推奨 900×600）で固定。文が長くてカードが伸びても、左上に置いたまま */
.kg-item__img{margin:0;background:var(--kg-paper2);align-self:start;aspect-ratio:3/2;overflow:hidden}
.kg-item__img img{display:block;width:100%;height:100%;object-fit:cover}
.kg-item__body{padding:20px 22px 22px;min-width:0}
.kg .kg-item__title{margin:0 0 8px;padding:0;border:0;background:none;color:var(--kg-ink);
  font-family:var(--kg-serif);font-weight:600;font-size:20px;letter-spacing:.06em;line-height:1.6}
.kg .kg-item__title::before,.kg .kg-item__title::after{content:none}
.kg .kg-item__meta{margin:0 0 10px;display:flex;flex-wrap:wrap;gap:6px 8px}
.kg .kg-item__desc{margin:0;font-size:16px;line-height:1.95;color:var(--kg-ink2)}
@media(min-width:680px){
  .kg-item{grid-template-columns:270px 1fr;align-items:start}
  .kg-item--noimg{grid-template-columns:1fr}
}
.kg-tag{display:inline-flex;align-items:center;padding:3px 12px;border:1px solid var(--kg-gold);border-radius:2px;
  font-size:14px;line-height:1.6;letter-spacing:.06em;color:var(--kg-gold);background:#fff;white-space:nowrap}
.kg-tag--reserve{background:var(--kg-gold);color:#fff}
.kg-tag--left{border-color:var(--kg-line);color:var(--kg-ink2)}
.kg-tag--left.is-full{background:#eee;border-color:#ccc;color:#555}

/* ---------- 予約フォーム ---------- */
.kg-form{margin-top:8px}
.kg .kg-form__lead{margin:0 0 20px;font-size:16px}
.kg .kg-closed{padding:16px 18px;background:var(--kg-paper2);border-left:3px solid var(--kg-gold);color:var(--kg-ink)}
.kg-f{margin:0;padding:clamp(18px,3.4vw,34px);background:var(--kg-paper);border:1px solid var(--kg-line2)}
.kg-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.kg-errors{margin:0 0 18px;padding:12px 16px;background:#FBEDEB;border-left:3px solid var(--kg-red);color:var(--kg-red);font-size:16px}
.kg-row{display:grid;grid-template-columns:1fr;gap:8px;padding:18px 0;border-top:1px solid var(--kg-line2)}
.kg-f .kg-row:first-of-type{border-top:0;padding-top:0}
@media(min-width:720px){
  .kg-row{grid-template-columns:230px 1fr;gap:24px}
}
.kg-row__label{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;font-size:16px;font-weight:600;color:var(--kg-ink);line-height:1.6}
.kg-row__label label{cursor:pointer}
.kg-req{flex:0 0 auto;margin-top:2px;padding:2px 8px;border-radius:2px;font-size:12px;font-weight:400;line-height:1.5;letter-spacing:.06em;white-space:nowrap}
.kg-req--must{background:var(--kg-red);color:#fff}
.kg-req--any{background:#fff;border:1px solid var(--kg-line);color:var(--kg-mut)}
.kg-row__input{min-width:0}
.kg-f input[type=text],.kg-f input[type=email],.kg-f input[type=tel],.kg-f input[type=number],.kg-f select,.kg-f textarea{
  width:100%;max-width:100%;margin:0;padding:11px 14px;border:1px solid #B9AC92;border-radius:3px;background:#fff;
  color:var(--kg-ink);font:inherit;font-size:17px;line-height:1.5;letter-spacing:.02em;box-shadow:none;
}
.kg-f input.swk-short{width:96px}
.kg-f textarea{min-height:120px;resize:vertical}
.kg-f input:focus,.kg-f select:focus,.kg-f textarea:focus{outline:2px solid var(--kg-gold);outline-offset:1px;border-color:var(--kg-gold)}
.kg .swk-unit{margin-left:6px}
.kg .swk-opt{display:flex;align-items:flex-start;gap:10px;margin:0 0 4px;padding:8px 10px 8px 6px;border-radius:3px;cursor:pointer;line-height:1.6;font-size:17px}
.kg .swk-opt:hover{background:var(--kg-tint)}
.kg .swk-opt input{flex:0 0 auto;width:20px;height:20px;margin:4px 0 0;accent-color:var(--kg-gold)}
.kg .swk-opt span{display:inline}
.kg .swk-opt.is-full{cursor:default;color:#77706a}
.kg .swk-opt.is-full:hover{background:none}
.kg .swk-left{flex:0 0 auto;margin-left:auto;padding-left:10px;font-style:normal;font-size:14px;color:var(--kg-gold);white-space:nowrap}
.kg .swk-left.is-full,.kg .swk-opt.is-full .swk-left{color:#77706a}
/* 時間枠（時刻のボタン） */
.kg .swk-chips{margin:2px 0 8px 36px}
.kg .swk-chips__lead{margin:0 0 8px;font-size:15px;color:var(--kg-mut)}
.kg .swk-chips__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;max-width:440px}
.kg .swk-chip{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:52px;padding:4px 2px;
  background:#fff;border:1px solid var(--kg-line);border-radius:3px;cursor:pointer;line-height:1.3;text-align:center;transition:border-color .2s,background-color .2s}
.kg .swk-chip input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.kg .swk-chip__t{font-size:16px;font-weight:600;color:var(--kg-ink);font-variant-numeric:tabular-nums}
.kg .swk-chip__l{font-style:normal;font-size:12px;color:var(--kg-gold)}
.kg .swk-chip:hover{border-color:var(--kg-gold)}
.kg .swk-chip:has(input:checked){background:var(--kg-gold);border-color:var(--kg-gold)}
.kg .swk-chip:has(input:checked) .swk-chip__t,.kg .swk-chip:has(input:checked) .swk-chip__l{color:#fff}
.kg .swk-chip:has(input:focus-visible){outline:2px solid var(--kg-gold2);outline-offset:2px}
.kg .swk-chip.is-full{background:var(--kg-paper);border-color:var(--kg-line2);cursor:default}
.kg .swk-chip.is-full .swk-chip__t,.kg .swk-chip.is-full .swk-chip__l{color:#9a948c}
.kg .swk-chip.is-lim{opacity:.45;cursor:default}
.kg .swk-chip.is-lim:hover{border-color:var(--kg-line)}
.kg .swk-chips__hint{margin:-4px 0 8px;font-size:14px;line-height:1.6;color:var(--kg-ink)}
@media(max-width:480px){.kg .swk-chips{margin-left:0}.kg .swk-chip__t{font-size:15px}}
.kg .swk-help{margin:6px 0 0;font-size:14px;line-height:1.7;color:var(--kg-mut)}
.kg .kg-row__error{margin:8px 0 0;font-size:15px;line-height:1.6;color:var(--kg-red)}
.kg-row.has-error input[type=text],.kg-row.has-error input[type=email],.kg-row.has-error input[type=tel],.kg-row.has-error input[type=number],.kg-row.has-error select,.kg-row.has-error textarea{border-color:var(--kg-red);background:#FFF8F7}
.kg-consent{padding:18px 0 0;border-top:1px solid var(--kg-line2)}
.kg .kg-submit{margin:22px 0 0;text-align:center}
.kg-btn{display:inline-flex;align-items:center;justify-content:center;min-width:280px;max-width:100%;padding:18px 36px;
  border:1px solid var(--kg-gold);border-radius:3px;background:var(--kg-gold);color:#fff;cursor:pointer;
  font:inherit;font-size:18px;font-weight:600;letter-spacing:.12em;line-height:1.4;
  transition:background-color .3s,box-shadow .3s,transform .3s}
.kg-btn:hover{background:var(--kg-gold2);border-color:var(--kg-gold2);transform:translateY(-1px);box-shadow:0 10px 24px var(--kg-glow)}
.kg-btn:focus-visible{outline:2px solid var(--kg-ink);outline-offset:3px}
.kg-btn[disabled]{opacity:.6;cursor:default;transform:none;box-shadow:none}
.kg-thanks{padding:26px 24px;background:var(--kg-paper2);border-left:3px solid var(--kg-gold);font-size:18px;color:var(--kg-ink)}
.kg-thanks:focus{outline:none}
.kg .kg-thanks p{margin:0}
.kg .kg-back{margin:40px 0 0;text-align:center;font-size:16px}

/* ---------- 次回見学会（今までの会館ページに貼る用） ---------- */
.kg-next{margin:0 0 16px;padding:12px 16px;background:var(--kg-paper2);border-left:2px solid var(--kg-gold);font-size:17px;line-height:1.7;color:var(--kg-ink)}
.kg-next{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px}
.kg-next b{font-weight:600;margin-left:.4em}
.kg-next a{color:var(--kg-gold)}
.kg-next--none{border-left-color:var(--kg-line)}
/* 見学会の詳細ページへのボタン（「詳しくはこちら」） */
.kg-next a.kg-next__more{display:inline-flex;align-items:center;gap:8px;padding:7px 15px;font-size:14px;letter-spacing:.1em;line-height:1.5;
  color:#fff;background:var(--kg-gold);border:1px solid var(--kg-gold);border-radius:3px;text-decoration:none;white-space:nowrap;transition:background-color .3s,color .3s,gap .3s}
.kg-next a.kg-next__more:hover{background:transparent;color:var(--kg-gold);gap:12px}

/* ---------- 開催一覧 ---------- */
.kg-list{font-family:var(--kg-sans);font-size:17px;line-height:1.7;color:var(--kg-ink2)}
.kg-list *{box-sizing:border-box}
.kg-list .kg-list__area{margin:34px 0 12px;padding:0 0 8px;border:0;border-bottom:1px solid var(--kg-line);background:none;color:var(--kg-ink);
  font-family:var(--kg-serif);font-weight:600;font-size:20px;letter-spacing:.1em}
.kg-list .kg-list__area:first-child{margin-top:0}
.kg-list .kg-list__area::before,.kg-list .kg-list__area::after{content:none}
.kg-list__items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.kg-list__items li{margin:0;padding:0}
.kg-card{display:grid;grid-template-columns:1fr;gap:6px;padding:16px 18px;background:#fff;border:1px solid var(--kg-line2);
  color:var(--kg-ink2);text-decoration:none;transition:border-color .3s,box-shadow .3s,transform .3s}
.kg-card:hover{border-color:var(--kg-gold);box-shadow:0 8px 22px var(--kg-shadow);transform:translateY(-2px);text-decoration:none}
.kg-card__date{font-family:var(--kg-serif);font-weight:600;font-size:20px;color:var(--kg-ink);letter-spacing:.04em;white-space:nowrap}
.kg-card__date small{display:block;margin:0;font-family:var(--kg-sans);font-weight:400;font-size:14px;color:var(--kg-mut)}
.kg-card__body{display:block;min-width:0}
.kg-card__body b{display:block;font-size:18px;color:var(--kg-ink)}
.kg-card__items{display:block;font-size:15px;color:var(--kg-mut)}
.kg-card__kind{display:inline-block;margin:0 0 4px;padding:1px 10px;font-size:13px;font-weight:500;letter-spacing:.08em;color:#fff;background:var(--kg-gold);border-radius:3px}
.kg-card__go{align-self:center;font-size:15px;color:var(--kg-gold);white-space:nowrap}
.kg-card__go::after{content:" →"}
@media(min-width:680px){
  .kg-card{grid-template-columns:170px 1fr auto;gap:22px;align-items:center}
}
.kg-list-none{font-size:17px}

/* ---------- 連日開催（日付のボタン）。詳細ページと開催一覧で共通 ---------- */
.kg-days{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.kg-days li{margin:0;padding:0}
.kg-days li::before{content:none}
.kg .kg-days__b,.kg-list .kg-days__b{display:inline-flex;align-items:baseline;gap:6px;min-width:96px;justify-content:center;padding:6px 14px;
  font-family:var(--kg-sans);font-weight:500;font-size:15px;letter-spacing:.04em;line-height:1.5;
  color:var(--kg-gold);background:#fff;border:1px solid var(--kg-gold);border-radius:3px;text-decoration:none;transition:background-color .3s,color .3s}
.kg a.kg-days__b:hover,.kg-list a.kg-days__b:hover{background:var(--kg-tint);text-decoration:none}
.kg .kg-days__b.is-current{color:#fff;background:var(--kg-gold)}
.kg .kg-days__b.is-past{color:var(--kg-mut);border-color:var(--kg-line);background:var(--kg-paper)}
.kg-days__s{font-size:12px;letter-spacing:.06em;color:var(--kg-red)}
.kg-days__b.is-current .kg-days__s{color:#fff}
.kg-days__b.is-past .kg-days__s{color:var(--kg-mut)}
.kg-days-n{display:inline-block;margin-left:10px;padding:1px 10px;font-family:var(--kg-sans);font-weight:500;font-size:13px;letter-spacing:.08em;
  color:var(--kg-gold);background:var(--kg-tint);border-radius:3px;vertical-align:middle}
.kg-when .kg-days-note{display:block;margin-top:10px;font-family:var(--kg-sans);font-weight:400;font-size:14px;letter-spacing:.03em;color:var(--kg-mut)}
.kg-days-note b{color:var(--kg-ink);font-weight:600}
.kg-form__day{margin:0 0 14px;padding:10px 14px;background:var(--kg-paper);border-left:2px solid var(--kg-gold);font-size:16px}
.kg-form__day b{margin-right:.6em;color:var(--kg-ink);font-weight:600}
.kg-card--multi:hover{transform:none}
.kg-card--multi .kg-days{margin-top:8px;gap:6px}
.kg-card--multi .kg-days__b{min-width:0;padding:3px 10px;font-size:14px}
.kg-card--multi a.kg-card__go{text-decoration:none}
@media(min-width:680px){
  .kg-card--multi{grid-template-columns:170px 1fr auto}
  .kg-card--multi .kg-card__to{display:block}
}

/* 詳細ページのタイトルを、本文と同じ幅にそろえる（Snow Monkey） */
.single-sw_event .c-entry__header{max-width:880px;margin-left:auto;margin-right:auto}

/* 同じ催しを1日に複数回行うときの、回ごとの表示 */
.kg-slots{list-style:none;margin:8px 0 10px;padding:0;display:grid;gap:6px}
.kg-slots li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0;padding:0}
.kg-slots__n{display:inline-block;min-width:3.2em;font-size:14px;font-weight:600;color:var(--kg-ink2,#4a443a)}

/* ---------- テーマのページ見出し（H1）を見た目だけ隠す（設定「ページの見出し」） ---------- */
.swk-hide-title .c-entry__title,.swk-hide-title .c-page-header__title,.swk-hide-title .entry-title,.swk-hide-title h1.wp-block-post-title{
  position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;
  overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}

/* ---------- 「その他」の内容 ---------- */
.kg .swk-other{margin:2px 0 8px 36px}
.kg .swk-other[hidden]{display:none}
.kg-f .swk-other input[type=text]{max-width:420px}

/* 残りわずかのときの案内 */
.kg .kg-lownote{margin:8px 0 0;padding:8px 12px;background:var(--kg-paper2);border-left:3px solid var(--kg-gold);font-size:15px;line-height:1.7;color:var(--kg-ink)}
.kg .kg-lownote[hidden]{display:none}

/* ---------- 新デザインに合わせた仕上げ ---------- */
/* ボタン：紺の地に白い文字、角丸3px、右に「→」 */
.kg-btn{gap:14px}
.kg-btn::after{content:"→";font-weight:400;transition:transform .3s}
.kg-btn:hover::after{transform:translateX(3px)}
.kg-btn[disabled]::after{content:none}
/* 電話番号は明朝 */
.kg .kg-contact a,.kg .kg-lownote a,.kg .kg-closed a{font-family:var(--kg-serif);font-weight:600;letter-spacing:.04em}
.kg .kg-contact a{font-size:20px}
/* ページ下に固定の帯（PC約85px／スマホ約62px）が出るので、最後の部分が隠れないように余白を取る */
.kg,.kg-list{padding-bottom:24px}
html:has(.kg),html:has(.kg-list){scroll-padding-bottom:95px}
@media(max-width:767px){html:has(.kg),html:has(.kg-list){scroll-padding-bottom:72px}}

/* 「開催内容」の見出しの右の「ご予約はこちら」（押すと予約フォームへ移動） */
.kg .kg-hrow{position:relative}
.kg a.kg-jump{position:absolute;right:0;bottom:10px;display:inline-flex;align-items:center;gap:8px;padding:7px 16px;
  font-size:14px;font-weight:500;letter-spacing:.08em;line-height:1.5;color:#fff;background:var(--kg-gold);border:1px solid var(--kg-gold);
  border-radius:3px;text-decoration:none;white-space:nowrap;transition:background-color .3s,color .3s}
.kg a.kg-jump::after{content:"↓";transition:transform .3s}
.kg a.kg-jump:hover{background:transparent;color:var(--kg-gold)}
.kg a.kg-jump:hover::after{transform:translateY(2px)}
.kg #yoyaku{scroll-margin-top:110px}
@media(max-width:480px){.kg a.kg-jump{padding:6px 12px;font-size:13px}}

/* 催しごとの人数（参加人数より少ない催しだけ減らす） */
.kg .swk-optrow{display:block}
.kg .swk-pc{display:flex;align-items:center;gap:8px;margin:-2px 0 8px 36px;font-size:14px;color:var(--kg-mut)}
.kg .swk-pc__k::before{content:"└ ";color:var(--kg-line)}
.kg .swk-pc[hidden]{display:none}
.kg .swk-pc select{min-width:5.5em;padding:4px 8px;font-size:15px;border:1px solid var(--kg-line);border-radius:3px;background:#fff}
.kg .swk-pc__k{white-space:nowrap}
.kg .swk-pc select{flex:0 0 auto;width:auto!important;max-width:7em}
