/* WWM components — 見出し・ボタン・カード・一覧・ページ共通 */
.wt{--gold:#b8955a;--teal:#3f8a8a;--ink:#2b2b2b;--mute:#6b6b6b;--bg2:#f8f5ef;color:var(--ink)}
.wt-in{max-width:1080px;margin:0 auto}
.wt-in--narrow{max-width:860px}
.wt-head{text-align:center;margin:0 0 56px}
.wt-en{font-family:var(--en);font-size:clamp(32px,4.6vw,48px);letter-spacing:.16em;line-height:1.2;font-weight:400}
.wt-ja{font-size:13.1px;letter-spacing:.32em;color:var(--gold);margin-top:.8em}
.wt-line{display:block;width:1px;height:44px;background:var(--gold);margin:22px auto 0;opacity:.7}
.wt-btn{display:inline-block;padding:1.05em 3.2em;border:1px solid var(--ink);color:var(--ink)!important;font-family:var(--en);letter-spacing:.25em;font-size:16px;transition:all .35s;background:transparent;cursor:pointer}
.wt-btn:hover{background:var(--ink);color:#fff!important}
.wt-center{text-align:center;margin-top:52px}

/* ページ共通ヒーロー／ラッパー */
.wp-hero{text-align:center;padding:76px 24px 56px;background:var(--bg2)}
.wp-hero__eyebrow{font-family:var(--en);letter-spacing:.5em;font-size:14px;color:var(--gold);padding-left:.5em;margin-bottom:10px}
.wp-hero__title{font-family:var(--en);font-weight:400;font-size:clamp(40px,7vw,68px);letter-spacing:.14em;line-height:1.1;padding-left:.14em}
.wp-hero__sub{font-size:14px;letter-spacing:.3em;color:#777;margin-top:16px}
.wp-hero__lead{max-width:680px;margin:22px auto 0;font-size:15px;line-height:2.1;color:#4a4a4a}
.wp-hero__line{display:block;width:1px;height:44px;background:var(--gold);margin:28px auto 0;opacity:.7}
.wp-wrap{max-width:960px;margin:0 auto;padding:64px 20px 100px}
.wp-wrap--wide{max-width:1180px}
.wp-wrap--text{max-width:820px}
@media(max-width:599px){.wp-hero{padding:56px 18px 42px}.wp-wrap{padding:44px 16px 72px}}

/* 絞り込みタブ */
.wc-tabs{display:flex;justify-content:center;gap:10px;margin:0 0 54px}
.wc-tabs:has(+.wc-tabnote){margin-bottom:14px}
.wc-tabs.wc-tabs--top{margin-bottom:14px}
.wc-tabnote{margin:0 0 40px;text-align:center;font-size:13px;letter-spacing:.08em;color:#777}
.wc-tabs a,.wc-tabs button{position:relative;flex:0 1 220px;appearance:none;-webkit-appearance:none;font-family:var(--en);letter-spacing:.24em;font-size:15px;line-height:1.4;text-align:center;padding:.95em 1.2em;border:1px solid #ddd4c6;background:#fff;color:#9a9186;cursor:pointer;transition:color .3s,border-color .3s,background .3s}
.wc-tabs a:hover,.wc-tabs button:hover{color:var(--ink);border-color:var(--ink)}
/* 選択中：黒く塗りつぶし＋白の太め文字＋下向きの三角で「いまここ」を示す */
.wc-tabs a.is-on,.wc-tabs a[aria-current],.wc-tabs button.is-on,.wc-tabs button[aria-selected="true"]{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:600;cursor:default}
.wc-tabs a.is-on::after,.wc-tabs a[aria-current]::after,.wc-tabs button.is-on::after,.wc-tabs button[aria-selected="true"]::after{content:'';position:absolute;left:50%;bottom:-7px;margin-left:-7px;border:7px solid transparent;border-bottom:0;border-top-color:var(--ink)}
.wc-tabs a:focus-visible,.wc-tabs button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
/* TOP：JSが動くときだけ、選択中のパネルだけを表示（動かないときは両方を縦に並べる） */
.wc-tabbox .wc-tabs{display:none}
.wc-tabbox.is-js .wc-tabs{display:flex}
.wc-tabbox.is-js .wc-panel{display:none}
.wc-tabbox.is-js .wc-panel.is-on{display:block}
.wc-panel .wc-empty{padding:40px 0 20px}
@media(max-width:599px){.wc-tabs{gap:8px;margin-bottom:46px}.wc-tabs a,.wc-tabs button{flex:1 1 0;letter-spacing:.16em;font-size:14px;padding:.9em .6em}}

/* 行（お知らせ一覧） */
.wc-list{border-top:1px solid var(--line)}
.wc-row{display:flex;align-items:center;gap:22px;padding:20px 8px;border-bottom:1px solid var(--line);transition:background .3s}
.wc-row:hover{background:#fcfaf6}
.wc-row__img{position:relative;flex:0 0 168px;aspect-ratio:16/9;overflow:hidden;background:#eee}
.wc-row__img img{width:100%;height:100%;object-fit:cover}
.wc-row__main{flex:1;min-width:0;display:block}
.wc-row__meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-family:var(--en);font-size:14px;letter-spacing:.1em;color:var(--mute)}
.wc-row__cat{font-size:11.5px;letter-spacing:.14em;border:1px solid var(--gold);color:var(--gold);padding:1px 10px}
.wc-row__badge,.wc-card__badge{font-family:var(--serif);font-size:11.5px;letter-spacing:.1em;background:var(--teal);color:#fff;padding:2px 10px}
.wc-row__ttl{display:block;font-size:16px;line-height:1.8;margin-top:6px}
.wc-row__arrow{color:var(--gold);font-size:18px;transition:transform .3s}
.wc-row:hover .wc-row__arrow{transform:translateX(5px)}
@media(max-width:599px){.wc-row{gap:14px;padding:16px 2px}.wc-row__img{flex-basis:116px}.wc-row__ttl{font-size:14.5px}.wc-row__arrow{display:none}}

/* カード（実績） */
.wc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.wc-card{display:flex;flex-direction:column;background:#fff;border:1px solid #ebe4d6;transition:box-shadow .4s,transform .4s;height:100%}
.wc-card:hover{box-shadow:0 12px 30px rgba(60,48,28,.10);transform:translateY(-3px)}
.wc-card__img{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#efe9dc}
.wc-card__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.wc-card:hover .wc-card__img img{transform:scale(1.05)}
.wc-row__img .wc-card__noimg{font-size:16px}
.wc-card__noimg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--en);font-size:30px;letter-spacing:.3em;color:#cbbd9f}
.wc-card__badge{position:absolute;left:12px;top:12px}
.wc-card__body{display:block;padding:22px 22px 26px}
.wc-card__meta{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;font-family:var(--en);font-size:14px;letter-spacing:.1em;color:var(--mute)}
.wc-card__cat{font-size:11.5px;letter-spacing:.14em;color:var(--gold)}
.wc-card__ttl{display:block;font-size:16.5px;font-weight:500;line-height:1.7;margin-top:8px}
.wc-card__venue{display:block;font-size:12.5px;color:var(--teal);margin-top:4px;letter-spacing:.06em}
.wc-card__txt{display:block;font-size:13.5px;line-height:1.95;color:#555;margin-top:10px}
.wc-empty{text-align:center;color:var(--mute);padding:60px 0;line-height:2}
@media(max-width:959px){.wc-grid{grid-template-columns:repeat(2,1fr);gap:18px}}
@media(max-width:599px){.wc-grid{grid-template-columns:1fr}}

/* ページ送り */
.wc-pager,.navigation.pagination{margin-top:56px;text-align:center}
.wc-pager .page-numbers,.navigation.pagination .page-numbers{display:inline-block;min-width:40px;padding:.5em .9em;margin:0 3px;font-family:var(--en);letter-spacing:.12em;border:1px solid #ddd4c6;color:#555;transition:all .3s}
.wc-pager .page-numbers.current,.navigation.pagination .page-numbers.current,.wc-pager a.page-numbers:hover,.navigation.pagination a.page-numbers:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.wc-pager .dots,.navigation.pagination .dots{border:0}

/* ライトボックス（TOP・GALLERY共通） */
.wt-lb{position:fixed;inset:0;background:rgba(15,15,15,.95);display:none;align-items:center;justify-content:center;z-index:99999;cursor:zoom-out}
.wt-lb.is-open{display:flex}
.wt-lb img{max-width:92vw;max-height:88vh;object-fit:contain;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.wt-lb button{position:absolute;background:none;border:0;color:#eee;font-size:30px;cursor:pointer;padding:14px 18px;line-height:1}
.wt-lb .lb-x{top:8px;right:8px}
.wt-lb .lb-p{left:6px;top:50%;transform:translateY(-50%)}
.wt-lb .lb-n{right:6px;top:50%;transform:translateY(-50%)}

/* MEDIA（掲載）カード：3:4の縦長サムネイル */
.wm-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px 26px}
.wm-card{display:block;color:inherit;text-decoration:none}
.wm-card__img{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;background:#efe9dc}
.wm-card__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.wm-card:hover .wm-card__img img{transform:scale(1.05)}
.wm-card__noimg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--en);font-size:22px;letter-spacing:.3em;color:#cbbd9f;text-align:center}
.wm-card__meta{display:flex;flex-wrap:wrap;gap:2px 12px;align-items:center;margin-top:14px;font-family:var(--en);font-size:13.5px;letter-spacing:.1em;color:var(--mute)}
.wm-card__src{font-size:12px;letter-spacing:.14em;color:var(--gold)}
.wm-card__ttl{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:14.5px;font-weight:500;line-height:1.75;margin-top:6px}
@media(max-width:959px){.wm-grid{grid-template-columns:repeat(3,1fr);gap:28px 18px}}
@media(max-width:599px){.wm-grid{grid-template-columns:repeat(2,1fr);gap:24px 14px}.wm-card__ttl{font-size:13.5px}}
