/* EmDash で追加した部品（お知らせ帯・紹介枠・よくある質問・お知らせページ）。
   色・書体は style.css の変数をそのまま使う。リサイタル・講習会・文章ページで共通。 */

/* ---- 最新のお知らせ帯 ---- */
.news-strip{padding:22px clamp(16px,5vw,48px);background:var(--cream);border-bottom:1px solid var(--gold-l)}
.news-strip__in{display:flex;align-items:flex-start;gap:clamp(14px,3vw,32px)}
.news-strip__lb{flex:none;display:flex;flex-direction:column;font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.28em;color:var(--wine);padding-top:3px}
.news-strip__lb small{font-family:var(--serif-jp);font-weight:500;font-size:11px;letter-spacing:.1em;color:var(--muted)}
.news-strip__list{flex:1;min-width:0;list-style:none;display:flex;flex-direction:column;gap:10px;margin:0;padding:0}
.news-strip__list a{display:grid;grid-template-columns:auto auto 1fr;align-items:baseline;column-gap:12px;row-gap:2px;color:var(--ink)}
.news-strip__list time{font-family:var(--serif-en);font-size:17px;color:var(--brown)}
.news-strip__list b{grid-column:3;font-weight:500;font-size:15px;line-height:1.6}
.news-strip__list a:hover b{color:var(--wine)}
.news-strip__list span{grid-column:3;font-size:13px;line-height:1.7;color:var(--ink-2)}
.news-strip__list li:not(.is-important) b{grid-column:2/4}
.news-strip__list li:not(.is-important) span{grid-column:2/4}
.news-strip__tag{font-style:normal;font-family:var(--sans);font-size:10px;letter-spacing:.1em;color:#fff;background:var(--wine);padding:2px 7px;border-radius:2px;white-space:nowrap}
.news-strip__all{flex:none;align-self:center}
@media (max-width:640px){
  .news-strip__in{flex-direction:column;gap:10px}
  .news-strip__lb{flex-direction:row;align-items:baseline;gap:10px}
  .news-strip__all{align-self:flex-end}
}

/* ---- リサイタル ⇄ 講習会の紹介枠 ---- */
.xlink{background:var(--cream)}
.xlink__card{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);overflow:hidden;background:var(--card);border:1px solid var(--gold-l);border-radius:8px;color:var(--ink);transition:box-shadow .2s,transform .2s}
.xlink__card:hover{box-shadow:0 10px 30px rgba(58,42,31,.12);transform:translateY(-2px)}
.xlink__photo{margin:0;min-height:240px;position:relative}
.xlink__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.xlink__body{display:flex;flex-direction:column;gap:14px;padding:clamp(24px,4vw,44px)}
.xlink__title{font-weight:500;font-size:clamp(20px,2.6vw,26px);line-height:1.6;color:var(--brown)}
.xlink__body p{font-size:14px;line-height:2;color:var(--ink-2)}
.xlink__facts{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.xlink__facts li{font-size:12px;letter-spacing:.05em;color:var(--brown);padding:4px 12px;border:1px solid var(--gold);border-radius:999px}
.xlink__btn{align-self:flex-start;margin-top:4px}
@media (max-width:760px){
  .xlink__card{grid-template-columns:1fr}
  .xlink__photo{min-height:0;aspect-ratio:16/9}
}

/* ---- よくある質問 ---- */
.faq{display:flex;flex-direction:column;gap:10px}
.faq__it{background:var(--card);border:1px solid var(--line);border-radius:6px}
.faq__it summary{display:flex;align-items:flex-start;gap:14px;padding:18px 48px 18px 20px;cursor:pointer;list-style:none;position:relative;font-size:15px;line-height:1.7}
.faq__it summary::-webkit-details-marker{display:none}
.faq__it summary::after{content:"";position:absolute;right:22px;top:26px;width:9px;height:9px;border-right:1.5px solid var(--wine);border-bottom:1.5px solid var(--wine);transform:rotate(45deg);transition:transform .2s}
.faq__it[open] summary::after{transform:rotate(-135deg);top:30px}
.faq__it summary b{font-weight:500}
.faq__q{flex:none;font-family:var(--serif-en);font-size:20px;line-height:1.3;color:var(--wine)}
.faq__a{margin:0;padding:0 20px 20px 50px;font-size:14px;line-height:2;color:var(--ink-2);white-space:pre-line}

/* ---- 講習会の申込完了画面：リサイタルのご案内 ---- */
.done__next{padding-top:18px;border-top:1px solid var(--line);font-size:14px;line-height:2}
.done__next a{color:var(--wine);border-bottom:1px solid var(--wine)}

/* ---- お知らせ一覧・記事 ---- */
.news-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.news-list li{border-bottom:1px solid var(--line)}
.news-list a{display:grid;grid-template-columns:7em 1fr;gap:4px 18px;padding:20px 4px;color:var(--ink)}
.news-list time{font-family:var(--serif-en);font-size:17px;color:var(--brown)}
.news-list b{font-weight:500;font-size:16px;line-height:1.7}
.news-list a:hover b{color:var(--wine)}
.news-list span{grid-column:2;font-size:13px;color:var(--ink-2)}
.news-list .news-strip__tag{margin-right:8px;vertical-align:2px}
@media (max-width:560px){.news-list a{grid-template-columns:1fr}.news-list span{grid-column:1}}
.doc__meta{display:flex;gap:12px;align-items:center;margin:-20px 0 32px;font-size:13px;color:var(--muted)}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:32px 0 0}
.gallery figure{margin:0}
.gallery img{width:100%;height:auto;border-radius:6px;display:block}
.gallery figcaption{font-size:12px;color:var(--muted);margin-top:6px}
.doc__empty{color:var(--muted)}

/* ---- リサイタル：料金表の注記・ランチの案内・ランチのタイミング ---- */
.prices__note{font-size:14px;color:var(--ink-2);text-align:right;margin-top:-8px}
.lunch__note p+p{margin-top:.6em}
.radios--sm .radio{padding:14px 18px}
.radios--sm .radio b{font-size:16px}
.radio.is-fixed{cursor:default}
.lunch-timing__note{font-size:12px;color:var(--muted)}
