@charset "UTF-8";
/* ============================================================
   matakichi-link.css — 祇園又吉サイト内の「また吉」導線（2026-10-19）
   本店サイトの既存CSSに影響しないよう、すべて .mk- で始まる名前にしている。
   本店の声（白地・墨・細い罫・字間広め）に合わせ、また吉の要素は
   「花ブロックの格子」と「淡い金の細線」だけを差し色として持ち込む。
   ============================================================ */

/* ---------- 1. ヒーロー直下のお知らせ ---------- */
.mk-notice { padding: 28px 16px 0; text-align: center; }
.mk-notice a {
  display: inline-flex; align-items: center; gap: 14px;
  padding: 10px 26px; border: 1px solid #1c1a17;
  color: #1c1a17; text-decoration: none; letter-spacing: .12em; font-size: 14px;
  transition: background-color .3s, color .3s;
}
.mk-notice a:hover, .mk-notice a:focus-visible { background: #1c1a17; color: #fff; text-decoration: none; }
.mk-notice__label { font-size: 11px; letter-spacing: .2em; padding: 2px 8px; border: 1px solid currentColor; }
.mk-arrow { display: inline-block; transition: transform .3s; }
.mk-notice a:hover .mk-arrow, .mk-door:hover .mk-arrow { transform: translateX(4px); }

/* ---------- 2. また吉セクション ---------- */
.mk-lead { text-align: center; margin: -10px 0 0; }
.mk-lead__sub { font-size: 13px; letter-spacing: .3em; color: #666; margin-bottom: 18px; }
.mk-lead__body { font-weight: 700; line-height: 2; margin-bottom: 44px; }
.mk-lead__quote { display: block; margin-bottom: 6px; }

/* 2-1. 格子の「窓」— クリックするとまた吉サイトへ（また吉サイトの入口と同じ演出の縮小版） */
.mk-door {
  position: relative; display: block; overflow: hidden;
  max-width: 1140px; margin: 0 auto; aspect-ratio: 16 / 7; min-height: 360px;
  color: #1c1a17; text-decoration: none;
  background: #141210 url("../assets/images/matakichi/mk-window.jpg") center 55% / cover no-repeat;
}
.mk-door:hover, .mk-door:focus { text-decoration: none; color: #1c1a17; }
.mk-door__lattice {
  position: absolute; inset: 0; width: 100%; height: 100%;
  transition: transform 1.4s cubic-bezier(.22, 1, .36, 1), opacity 1.4s;
  transform-origin: center;
}
/* マウスを乗せると格子がわずかに開き、店内が近づく */
.mk-door:hover .mk-door__lattice, .mk-door:focus-visible .mk-door__lattice { transform: scale(1.12); opacity: .82; }
.mk-door__panel {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  width: min(420px, 82%); padding: 34px 28px 30px;
  background: #f4efe6; text-align: center;
  box-shadow: 0 0 0 1px #aaa;
  outline: 1px solid rgba(212, 173, 85, .55); outline-offset: -10px;
}
.mk-door__logo { width: 84px; height: auto; margin: 0 auto 14px; display: block; }
.mk-door__title { font-size: 20px; font-weight: 700; letter-spacing: .14em; margin: 0; line-height: 1.6; }
.mk-door__en { font-style: italic; font-size: 13px; letter-spacing: .08em; color: #666; margin: 4px 0 18px; }
.mk-door__cta {
  display: inline-flex; align-items: center; gap: 12px;
  padding: 10px 22px; background: #1c1a17; color: #fff;
  font-size: 14px; letter-spacing: .14em;
}
.mk-door:focus-visible { outline: 2px solid #1c1a17; outline-offset: 4px; }

/* 2-2. 3つの使い方 */
.mk-uses { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; max-width: 1140px; margin: 40px auto 0; padding: 0 15px; }
.mk-use { display: block; color: #1c1a17; text-decoration: none; text-align: center; }
.mk-use:hover, .mk-use:focus { color: #1c1a17; text-decoration: none; }
.mk-use__img { aspect-ratio: 3 / 2; overflow: hidden; background: #141210; }
.mk-use__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.22, 1, .36, 1); }
.mk-use:hover .mk-use__img img { transform: scale(1.05); }
.mk-use__time { display: block; margin-top: 16px; font-size: 12px; letter-spacing: .14em; color: #666; }
.mk-use__name { display: block; margin-top: 4px; font-size: 17px; font-weight: 700; letter-spacing: .12em; }

/* 2-3. 店舗情報とボタン */
.mk-info { max-width: 640px; margin: 44px auto 0; padding: 0 15px; }
.mk-info dl { display: grid; grid-template-columns: 7em 1fr; margin: 0; border-top: 1px solid #ddd; }
.mk-info dt, .mk-info dd { padding: 12px 0; border-bottom: 1px solid #ddd; margin: 0; font-size: 14px; line-height: 1.8; }
.mk-info dt { color: #666; font-weight: 400; letter-spacing: .1em; }
.mk-info dd small { display: block; color: #666; font-size: 12px; }
.mk-info a { color: inherit; }
.mk-buttons { display: flex; justify-content: center; flex-wrap: wrap; gap: 14px; margin: 36px 0 0; padding: 0 15px; }
.mk-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  min-width: 260px; padding: 14px 26px; border: 1px solid #1c1a17;
  font-size: 14px; letter-spacing: .14em; text-decoration: none;
  transition: background-color .3s, color .3s;
}
.mk-btn--primary { background: #1c1a17; color: #fff; }
.mk-btn--primary:hover, .mk-btn--primary:focus { background: #fff; color: #1c1a17; text-decoration: none; }
.mk-btn--ghost { background: #fff; color: #1c1a17; }
.mk-btn--ghost:hover, .mk-btn--ghost:focus { background: #1c1a17; color: #fff; text-decoration: none; }
.mk-btn svg { width: 18px; height: 18px; }

/* ---------- 3. スマホ ---------- */
@media (max-width: 768px) {
  .mk-notice a { font-size: 13px; padding: 10px 16px; gap: 10px; }
  .mk-lead__body { font-size: 14px; }
  .mk-door { aspect-ratio: auto; height: 460px; margin: 0 15px; }
  .mk-uses { grid-template-columns: 1fr; gap: 26px; }
  .mk-use__img { aspect-ratio: 16 / 9; }
  .mk-door__title { font-size: 17px; letter-spacing: .06em; }
  .mk-info dl { grid-template-columns: 5.5em 1fr; }
  .mk-btn { width: 100%; min-width: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .mk-door__lattice, .mk-use__img img, .mk-arrow { transition: none; }
}
