

:root{
  --bg:#faf9f7;
  --fg:#111;
  --muted:#666;
  --line: rgba(17,17,17,.14);
  --max: 1100px;
  --gutter: 22px;
  --serif: "Noto Serif JP", serif;
  --sans: "Inter", system-ui, -apple-system, "Helvetica Neue", Arial, "Noto Sans JP", sans-serif;
}

html,body{ background:var(--bg); color:var(--fg); }
body{ font-family:var(--sans); letter-spacing:.01em; }

/* 全体の余白設計 */
.casa-shell{ min-height:100vh; }
.casa-main{ padding-bottom: 80px; }


.casa-header__inner{
  max-width: var(--max);
  margin: 0 auto;
  padding: 16px var(--gutter);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 16px;
}
.casa-logo img{ height: 34px; width:auto; display:block; }

/* ナビは“文字中心”にして雑味を消す */
.casa-nav ul{
  display:flex;
  gap: 18px;
  align-items:center;
  list-style:none;
  margin:0; padding:0;
}
.casa-nav a{
  text-decoration:none;
  color:var(--fg);
  font-size: 13px;
  font-weight: 500;
  letter-spacing:.06em;
}
.casa-nav a:hover{ opacity:.7; }

/* 予約ボタン：画像ではなく文字＆枠で上品に */
.casa-nav__reserve a{
  border: 1px solid var(--fg);
  padding: 10px 14px;
  border-radius: 0;
  font-weight: 600;
}
.casa-nav__reserve a:hover{
  background: var(--fg);
  color: var(--bg);
  opacity:1;
}

/* ヒーロー（大きな余白＋タイポ） */
.casa-hero{
  border-bottom: 1px solid var(--line);
}
.casa-hero__inner{
  max-width: var(--max);
  margin: 0 auto;
  padding: 52px var(--gutter) 34px;
}
.casa-kicker{
  font-size: 12px;
  letter-spacing:.18em;
  margin: 0 0 12px;
  color: var(--muted);
}
.casa-title{
  font-family: var(--serif);
  font-weight: 600;
  font-size: 44px;
  line-height: 1.1;
  margin: 0 0 14px;
}
.casa-lead{
  margin:0;
  max-width: 58ch;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.9;
}

/* パンくず：小さく控えめ */
.casa-breadcrumb{
  max-width: var(--max);
  margin: 0 auto;
  padding: 14px var(--gutter) 0;
  opacity: .9;
}
.casa-breadcrumb ul{ margin:0; padding:0; list-style:none; display:flex; gap:10px; }
.casa-breadcrumb a{ color: var(--muted); text-decoration:none; font-size:12px; }
.casa-breadcrumb li{ font-size:12px; color:var(--muted); }

/* コンテンツ余白 */
.casa-content{
  max-width: var(--max);
  margin: 0 auto;
  padding: 28px var(--gutter) 0;
}

/* セクション見出し：線で区切り＋セリフ */
.casa-section{ padding-top: 10px; }
.casa-section__head{
  padding: 18px 0 18px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  margin-bottom: 22px;
}
.casa-h3{
  font-family: var(--serif);
  font-weight: 600;
  font-size: 22px;
  margin: 0 0 6px;
}
.casa-sub{
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  letter-spacing:.04em;
}

/* ギャラリー：整列＆大きい写真 */
.casa-gallery{
  display:grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 16px;
}
.casa-gallery figure{
  margin:0;
  grid-column: span 6; /* 2列 */
  border: 1px solid var(--line);
  background: #fff;
}
.casa-gallery img{
  display:block;
  width:100%;
  height: 340px;
  object-fit: cover;
}
.casa-gallery figcaption{
  font-size: 11px;
  letter-spacing:.14em;
  color: var(--muted);
  padding: 10px 12px;
}

/* 既存の左右交互(.img_left/.img_right)は“無効化”して統一 */
.img_left,.img_right{ float:none !important; width:auto !important; margin:0 !important; }

/* フッターも“紙っぽく” */
.casa-footer{
  border-top: 1px solid var(--line);
  padding-top: 24px;
  background: var(--bg);
}

/* レスポンシブ */
@media (max-width: 900px){
  .casa-title{ font-size: 36px; }
  .casa-gallery figure{ grid-column: span 12; } /* 1列 */
  .casa-gallery img{ height: 280px; }
  .casa-nav ul{ gap: 12px; }
}

@media (max-width: 560px){
  .casa-title{ font-size: 30px; }
  .casa-hero__inner{ padding: 40px var(--gutter) 26px; }
}


/* ---- Casa風：roomページ写真＋文章 ---- */
.casa-room{
  max-width: 1100px;
  margin: 0 auto;
  padding: 28px 22px 0;
  color:#111;
}


.casa-kicker{
  font-family: "Inter", system-ui, -apple-system, "Noto Sans JP", sans-serif;
  font-size: 12px;
  letter-spacing: .18em;
  color: #666;
  margin: 0 0 10px;
}

.casa-title{
  font-family: "Noto Serif JP", "Sawarabi Mincho", serif;
  font-weight: 600;
  font-size: 30px;
  line-height: 1.2;
  margin: 0 0 10px;
}

.casa-lead{
  margin: 0;
  max-width: 62ch;
  color: #555;
  font-size: 15px;
  line-height: 1.9;
}

.casa-text{
  padding: 18px 0;
  max-width: 70ch;
}
.casa-text h3{
  font-family: "Noto Serif JP", "Sawarabi Mincho", serif;
  font-size: 18px;
  margin: 0 0 8px;
}
.casa-text p{
  margin: 0;
  color:#444;
  line-height: 2;
  font-size: 14px;
}
.casa-text--thin{ max-width: 62ch; }

/* figure共通 */
.casa-room figure{ margin:0; }
.casa-room img{
  width:100%;
  display:block;
  object-fit: cover;
}

/* キャプション：小さく、番号で“編集感” */
.casa-room figcaption{
  display:flex;
  gap: 10px;
  padding: 10px 0 0;
  font-size: 12px;
  color:#666;
  letter-spacing:.06em;
}
.casa-room figcaption span{
  display:inline-block;
  min-width: 28px;
  color:#111;
}

/* 見せ写真（大きく） */
.casa-heroPhoto{
  border-top: 1px solid rgba(17,17,17,.14);
  padding-top: 18px;
  margin-top: 18px;
}
.casa-heroPhoto img{ height: 440px; }
.casa-heroPhoto--end img{ height: 380px; }

/* 2枚並べ */
.casa-grid2{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin: 10px 0 8px;
}
.casa-grid2 img{ height: 320px; }

/* 非対称レイアウト */
.casa-gridAsym{
  display:grid;
  grid-template-columns: 2fr 1fr;
  gap: 18px;
  align-items:start;
  margin: 14px 0 6px;
}
.casa-tall img{ height: 520px; }

.casa-note{
  border: 1px solid rgba(17,17,17,.14);
  padding: 14px 14px;
  background:#fff;
}
.casa-note h4{
  margin:0 0 8px;
  font-size: 12px;
  letter-spacing:.14em;
  color:#111;
  font-family: "Inter", system-ui, -apple-system, "Noto Sans JP", sans-serif;
}
.casa-note ul{
  margin:0;
  padding-left: 18px;
  color:#444;
  line-height: 1.9;
  font-size: 13px;
}

/* 連続カット（3枚） */
.casa-strip{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: 16px 0 10px;
}
.casa-strip img{ height: 240px; }

/* 既存の左右交互レイアウトを殺す（重要） */
.img_left,.img_right{ float:none !important; width:auto !important; margin:0 !important; }
.cont_wrap:after{ content:""; display:block; clear:both; }

/* レスポンシブ */
@media (max-width: 900px){
  .casa-heroPhoto img{ height: 340px; }
  .casa-grid2{ grid-template-columns: 1fr; }
  .casa-grid2 img{ height: 280px; }
  .casa-gridAsym{ grid-template-columns: 1fr; }
  .casa-tall img{ height: 360px; }
  .casa-strip{ grid-template-columns: 1fr; }
  .casa-strip img{ height: 260px; }
}

/* =========================
   Casa風（白ベース／余白／記事内写真のみ）
   ========================= */

/* 背景：白?オフホワイトに固定 */
html, body{
  background: #faf9f7 !important;
  color: #111;
}

/* 背景スライド系が残っていても強制的に見えなくする（保険） */
#supersized,
.sublime-slideshow,
.sublime-slideshow *{
  display: none !important;
}

/* コンテンツの幅と余白を“ゆったり” */
.content{
  max-width: 1100px;
  margin: 0 auto;
  padding: 40px 22px 90px;
}


/* 見出しはセリフ、UIはサンセリフ（フォント読み込み済み前提） */
.casa-title,
.casa-text h3{
  font-family: "Noto Serif JP","Sawarabi Mincho",serif;
}
.casa-kicker,
.casa-room figcaption,
.casa-note h4{
  font-family: "Inter",system-ui,-apple-system,"Noto Sans JP",sans-serif;
}

/* 記事内の写真：枠と整列で“編集感” */
.casa-room img{
  width: 100%;
  display: block;
  object-fit: cover;
}

/* キャプション：小さく番号で整える */
.casa-room figcaption{
  display:flex;
  gap: 10px;
  padding: 10px 0 0;
  font-size: 12px;
  color:#666;
  letter-spacing:.06em;
}
.casa-room figcaption span{
  min-width: 28px;
  color:#111;
}

/* 大きい見せ写真 */
.casa-heroPhoto{
  padding-top: 18px;
  margin-top: 18px;
  border-top: 1px solid rgba(17,17,17,.14);
}
.casa-heroPhoto img{ height: 440px; }
.casa-heroPhoto--end img{ height: 380px; }

/* 2枚並べ */
.casa-grid2{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin: 12px 0 8px;
}
.casa-grid2 img{ height: 320px; }

/* 非対称（写真＋メモ） */
.casa-gridAsym{
  display:grid;
  grid-template-columns: 2fr 1fr;
  gap: 18px;
  align-items:start;
  margin: 16px 0 6px;
}
.casa-tall img{ height: 520px; }

.casa-note{
  border: 1px solid rgba(17,17,17,.14);
  background: #fff;
  padding: 14px;
}
.casa-note ul{
  margin:0;
  padding-left: 18px;
  font-size: 13px;
  line-height: 1.9;
  color:#444;
}

/* 3枚連続カット */
.casa-strip{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: 18px 0 10px;
}
.casa-strip img{ height: 240px; }

/* 文章ブロック：行間を広めに */
.casa-text{
  padding: 18px 0;
  max-width: 70ch;
}
.casa-text p{
  margin:0;
  font-size: 14px;
  line-height: 2;
  color:#444;
}

/* 既存の左右交互floatを無効化（写真は記事内の新レイアウトだけに） */
.img_left,.img_right{
  float:none !important;
  width:auto !important;
  margin:0 !important;
}

/* レスポンシブ：スマホは1列 */
@media (max-width: 900px){
  .content{ padding: 30px 18px 70px; }
  .casa-heroPhoto img{ height: 340px; }
  .casa-grid2{ grid-template-columns: 1fr; }
  .casa-grid2 img{ height: 280px; }
  .casa-gridAsym{ grid-template-columns: 1fr; }
  .casa-tall img{ height: 360px; }
  .casa-strip{ grid-template-columns: 1fr; }
  .casa-strip img{ height: 260px; }
}

.casa-room__head{
  color: #eaeaea;
}

.casa-room__head .casa-kicker{
  color: #d8d8d8;
}

.casa-room__head .casa-lead{
  color: #dddddd;
}

.casa-room__head{
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.casa-room__head{
  margin-top: 200px;
}
header.txt_w{
  position: sticky !important;
  top: 0;
  z-index: 999;
  background: rgba(17,17,17,.92) !important;
  backdrop-filter: blur(8px);
}
header.txt_w a,
header.txt_w i{
  color: #fff !important;
}