/* 閉店のお知らせ：既存の固定幅レイアウトに限定した追加スタイル */
.closure-hero { position: relative; width: 740px; height: 815px; overflow: hidden; }
.closure-hero object { display: block; position: relative; z-index: 0; }
.closure-top {
  position: absolute; z-index: 1; top: 50%; left: 50%; box-sizing: border-box;
  width: 650px; min-height: 500px; padding: 24px 42px 22px;
  transform: translate(-50%, -50%); border: 1px solid #8d5d36;
  outline: 1px solid rgba(141, 93, 54, .7); outline-offset: -7px; border-radius: 14px;
  color: #30251e; background-color: #fbf2df;
  background-image: repeating-linear-gradient(3deg, rgba(135,103,62,.035) 0, rgba(135,103,62,.035) 1px, transparent 1px, transparent 5px), radial-gradient(ellipse at 20% 15%, rgba(255,255,255,.8), transparent 55%);
  box-shadow: 0 5px 18px rgba(35,20,10,.28);
  font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
}
.closure-top h1 { margin: 0 0 17px; color: #76281e; font-size: 34px; font-weight: 500; line-height: 1.35; text-align: center; letter-spacing: .12em; }
.closure-top-copy { font-size: 16px; line-height: 1.75; letter-spacing: .04em; }
.closure-top-copy p { margin: 0 0 9px; }
.closure-top-copy strong { color: #8f2e23; font-size: 22px; white-space: nowrap; }
.closure-signature { margin-top: 12px !important; text-align: center; font-weight: 600; letter-spacing: .1em; }
.closure-banner {
  position: relative; display: flex; align-items: center; box-sizing: border-box; width: 990px;
  min-height: 112px; margin: 0 auto 18px; padding: 15px 58px 15px 28px;
  border: 1px solid #cd5757; border-radius: 11px; color: #29201d; background: #fbe7e5;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
}
.closure-banner h2 { flex: 0 0 235px; box-sizing: border-box; margin: 0 28px 0 0; padding: 11px 10px; border-radius: 9px; color: #fff; background: #b62828; font-size: 22px; font-weight: 500; text-align: center; white-space: nowrap; }
.closure-banner p { flex: 1; margin: 0; padding-left: 28px; border-left: 1px solid #9c3833; font-size: 16px; line-height: 1.6; letter-spacing: .04em; }
.closure-banner strong { color: #a92724; font-size: 19px; font-weight: 700; white-space: nowrap; }
.closure-mobile-break { display: none; }
.closure-legacy-mobile { box-sizing: border-box; margin: 12px 8px; padding: 12px; border: 1px solid #cd5757; border-radius: 8px; color: #38221f; background: #fbe7e5; font-family: "Yu Mincho", "Hiragino Mincho ProN", serif; line-height: 1.7; }
.closure-legacy-mobile h2 { margin: 0 0 6px; color: #a92724; font-size: 1.15em; }
.closure-legacy-mobile p { margin: 0; }
.closure-legacy-mobile strong { color: #a92724; }
/* iPhoneなど狭い画面では、固定幅の旧2カラムを縦積みにする */
@media screen and (max-width: 700px) {
  html, body { width: 100%; max-width: 100%; overflow-x: hidden; }
  body > table { width: 100% !important; table-layout: fixed; }
  body > table > tbody > tr:nth-child(2) > td > table[width="990"],
  body > table > tr:nth-child(2) > td > table[width="990"] { width: 100% !important; }
  body > table > tbody > tr:nth-child(2) > td > table > tbody > tr > td:first-child,
  body > table > tr:nth-child(2) > td > table > tr > td:first-child { display: none; }
  body > table > tbody > tr:nth-child(2) > td > table > tbody > tr > td:last-child,
  body > table > tr:nth-child(2) > td > table > tr > td:last-child { display: block; width: 100% !important; }

  .closure-hero {
    box-sizing: border-box; width: 100%; height: auto; min-height: 100svh;
    padding: 22px 14px; display: flex; align-items: center; justify-content: center;
    background: #5c4636 url(img/topimage.jpg) center / cover no-repeat;
  }
  .closure-hero object { display: none; }
  .closure-hero > img { display: none; }
  .closure-top {
    position: relative; inset: auto; transform: none; box-sizing: border-box;
    width: 100%; max-width: 540px; min-height: 0; padding: 24px 20px 22px;
    border-radius: 10px;
  }
  .closure-top h1 { margin-bottom: 16px; font-size: clamp(23px, 6vw, 30px); line-height: 1.45; }
  .closure-top-copy { font-size: clamp(16px, 4.25vw, 19px); line-height: 1.9; letter-spacing: .02em; }
  .closure-top-copy p { margin-bottom: 12px; }
  .closure-top-copy strong { font-size: 1.08em; white-space: normal; }
  .closure-signature { margin-top: 16px !important; }

  body > table > tbody > tr:last-child > td,
  body > table > tr:last-child > td { height: auto !important; padding: 18px 14px 24px; }
  body > table > tbody > tr:last-child > td > table[width="990"],
  body > table > tr:last-child > td > table[width="990"] { width: 100% !important; }
  .under-address01, .under-address02 { box-sizing: border-box; padding-left: 0; text-align: left; line-height: 1.7; overflow-wrap: anywhere; }
  .copyright, .undermenu { text-align: left; line-height: 1.8; overflow-wrap: anywhere; }
  .undermenu { padding-top: 10px; }
}
