/* Morisawa Fonts(有償・無効化済み)のフォールバック先を、無料の高品質和文フォントに差し替え */
html, body, * {
  font-family: "Zen Kaku Gothic New", "Inter", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif !important;
}
/* Next.jsのJS(IntersectionObserver等)によるフェードイン演出はhydration停止に伴い無効化。
   初期状態(opacity:0)のまま止まるため、常に表示状態を強制する */
[class*="FadeIn"] > *, [class*="fadeIn"], [class*="Reveal"], [class*="reveal"] {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

/* Prologueセクション(pText1〜3・pTextDay・pTextNight)は元テンプレートが
   position:absolute + 日本語の短い文章量を前提にした固定widthで組まれており、
   英語等の長い単語が折り返されずコンテナ幅からはみ出す(2026-09-22 多言語表示で発覚)。
   幅を広げ、長い単語でも強制的に折り返されるようにする。 */
.page-module-scss-module__zcQm6a__pText1,
.page-module-scss-module__zcQm6a__pText2,
.page-module-scss-module__zcQm6a__pText3,
.page-module-scss-module__zcQm6a__pTextDay,
.page-module-scss-module__zcQm6a__pTextNight {
  overflow-wrap: break-word !important;
  word-break: break-word !important;
  width: min(360px, 85%) !important;
}
@media (min-width: 768px) {
  .page-module-scss-module__zcQm6a__pText1,
  .page-module-scss-module__zcQm6a__pText2,
  .page-module-scss-module__zcQm6a__pText3,
  .page-module-scss-module__zcQm6a__pTextDay,
  .page-module-scss-module__zcQm6a__pTextNight {
    width: min(460px, 42vw) !important;
  }
}
.page-module-scss-module__zcQm6a__loungeWelcomeText {
  white-space: normal !important;
  overflow-wrap: break-word;
  max-width: 90%;
  text-align: center;
}

/* 見出しはゴシック体に統一(2026-09-17 Shown指示: 明朝混在で違和感、フォントは統一する)
   2026-10-01: アラハビーチレジデンスの構造(font-light・広いletter-spacing)を踏襲し、
   太すぎる800ウェイトを500へ。配色(緑ブランドカラー)・フォント自体は変更しない。 */
h1, h2, h3, h4,
[class*="RoomCard"] [class*="Title"],
[class*="roomCard"] [class*="Title"],
[class*="Hero"] h1,
[class*="loungeContentsTitle"] {
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", sans-serif !important;
  font-weight: 500 !important;
  letter-spacing: .03em;
}

/* 「1日の過ごし方」ストーリー演出(experience/morning/daytime/night)は
   sumu-hotel由来の構成のため非表示化。HTML構造は変更せずCSSのみで対処。
   [LEGACY ASSET WARNING 2026-10-02] このセクション(特に.night配下)は旧テンプレート
   (台東区上野エリアの物件)由来の写真(mv-left-ueno.jpg/mv-left-sensouji2.jpg/
   mv-left-yanesen.jpg/mv-left-ameyoko3.jpg/experience-ameyoko.jpg等)をそのまま
   参照している。池袋の物件に上野の写真が出る事故になるため、このdisplay:noneを
   外して再表示する場合は、先にこれらの画像参照を池袋の実写真に差し替えること。 */
.page-module-scss-module__zcQm6a__experience,
.page-module-scss-module__zcQm6a__morning,
.page-module-scss-module__zcQm6a__daytime,
.page-module-scss-module__zcQm6a__night {
  display: none !important;
}

/* 見出し画像(title-*.png)がsumu由来ロゴのため文字なし装飾画像に差し替え済みの箇所を
   テキスト見出しに置換した際のスタイル */
.ikb-title-text {
  display: inline-block;
  font-family: "Zen Kaku Gothic New", sans-serif !important;
  font-weight: 800 !important;
  font-size: 2rem;
  letter-spacing: .02em;
  color: #1a1a1a;
}

/* ヒーローセクション(araha型: フルスクリーン写真+暗幕オーバーレイ+中央寄せ文字)
   2026-08-14: 柔らかすぎるとの指摘を受け、オーバーレイを濃く・下部グラデーションで
   引き締め、見出しを明朝Boldへ変更してシャープな印象に調整。
   2026-10-01: アラハビーチレジデンス(araha-residence.com)の実装から構造原則を移植。
   採用=font-light見出し・広いletter-spacing・単層オーバーレイ(3段グラデ→黒42%ワッシュ)・
   100vh・余白拡大。配色(写真・緑ブランドカラー)・文章は変更しない。 */
.ikb-hero {
  position: relative;
  height: 100vh;
  min-height: 640px;
  max-height: 940px;
  width: 100%;
  margin-top: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.ikb-hero-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transform: scale(1.05);
  filter: contrast(1.05) saturate(.85);
}
.ikb-hero-overlay {
  position: absolute;
  inset: 0;
  background: rgba(8,8,8,.42);
}
.ikb-hero-content {
  position: relative;
  z-index: 2;
  max-width: 56rem;
  margin: 0 auto;
  padding: 0 1.5rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.ikb-hero-eyebrow {
  font-size: .78rem;
  font-weight: 500;
  color: rgba(255,255,255,.9);
  letter-spacing: .5em;
  text-transform: uppercase;
  margin-bottom: 2rem;
}
.ikb-hero-title {
  font-family: "Zen Kaku Gothic New", sans-serif !important;
  font-weight: 300 !important;
  font-size: clamp(2.1rem, 5.2vw, 3.7rem);
  color: #fff;
  line-height: 1.65;
  letter-spacing: .05em;
  margin-bottom: 2.25rem;
  text-shadow: 0 2px 20px rgba(0,0,0,.28);
}
.ikb-hero-lead {
  font-family: "Zen Kaku Gothic New", sans-serif !important;
  font-weight: 300;
  font-size: clamp(.85rem, 1.3vw, 1.05rem);
  color: rgba(255,255,255,.82);
  line-height: 2.15;
  letter-spacing: .05em;
  margin-bottom: 2.75rem;
  max-width: 40rem;
}
.ikb-hero-cta {
  position: relative;
  overflow: hidden;
  z-index: 1;
  display: inline-block;
  border: 1px solid rgba(255,255,255,.75);
  color: #fff;
  padding: 1.1rem 2.75rem;
  font-size: .85rem;
  font-weight: 500;
  letter-spacing: .22em;
  text-decoration: none;
  transition: color .35s;
}
.ikb-hero-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #fff;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .4s cubic-bezier(.65,0,.35,1);
  z-index: -1;
}
.ikb-hero-cta:hover {
  color: #111;
}
.ikb-hero-cta:hover::before {
  transform: scaleX(1);
}
@media (max-width: 640px) {
  .ikb-hero { height: 100vh; margin-top: 60px; }
  .ikb-hero-title { font-size: 1.8rem; }
}

/* 各部屋タイプページの「Concept & Design」欄は元サイト(sumu-hotel)が起用した
   実在デザイン会社(Whatever Co./TSUTAYA)へのクレジット・実リンクのため、
   池袋レジデンスには無関係。HTML側は無害化済みだが、JS再描画時の復元対策として
   CSSでも二重に非表示化する。 */
[class*="conceptRight"] {
  display: none !important;
}

/* news.html/news/index.html: wget取得時にJSで動的レンダリングされる一覧が
   空のまま保存されていたため、手動でカード一覧を追加した分のスタイル */
.ikb-news-main {
  max-width: 960px;
  margin: 6rem auto;
  padding: 0 1.5rem;
}
.ikb-news-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 2rem;
}
.ikb-news-card {
  display: block;
  text-decoration: none;
  color: inherit;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 12px;
  overflow: hidden;
  transition: box-shadow .25s;
}
.ikb-news-card:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,.1);
}
.ikb-news-thumb {
  width: 100%;
  aspect-ratio: 16/10;
  object-fit: cover;
  display: block;
}
.ikb-news-body {
  padding: 1.1rem 1.3rem 1.4rem;
}
.ikb-news-date {
  display: block;
  font-size: .78rem;
  color: rgba(0,0,0,.5);
  letter-spacing: .05em;
  margin-bottom: .5rem;
}
.ikb-news-title {
  font-size: .95rem;
  line-height: 1.6;
  margin: 0;
}

/* ロゴ刷新(2026-09-18 Shown支給の画像に差し替え・背景透過処理済み)
   画像内に「池袋レジデンス」の文字が既に描かれているため、
   別途テキストのワードマーク(.ikb-logo-word)は非表示にする */
.ikb-logo {
  display: flex !important;
  align-items: center;
  gap: 0;
  height: auto !important;
  min-width: 0 !important;
  padding: 0 !important;
}
.ikb-logo-mark {
  width: auto;
  height: 64px;
  object-fit: contain;
  display: block;
  flex-shrink: 0;
}
.ikb-logo-word {
  display: none;
}
.ikb-footer-logo .ikb-logo-mark {
  height: 56px;
}
@media (max-width: 480px) {
  .ikb-logo-mark {
    height: 40px;
  }
  /* 2026-09-18: ロゴ拡大後、375px幅でロゴがヘッダー右側(お問い合わせ/言語ボタン)を
     圧迫し「お問い合わせ」テキストが折り返されハンバーガーと重なる不具合を確認。
     ロゴを64px→40pxに、navの余白・ボタンpaddingを詰めて解消する。 */
  .Header-module-scss-module__P7cjuG__navContent {
    gap: 6px !important;
  }
  .Header-module-scss-module__P7cjuG__navBtns {
    gap: 4px !important;
  }
  .Header-module-scss-module__P7cjuG__reserveBtn {
    padding: 0 8px !important;
  }
  .Header-module-scss-module__P7cjuG__reserveBtnText {
    white-space: nowrap;
    font-size: 11px !important;
  }
  .Header-module-scss-module__P7cjuG__langBtnInner {
    padding: 8px !important;
  }
}

/* ヘッダー全体の刷新: 元サイト由来のオレンジ予約ボタン・素朴な配色を
   ブランドカラー(深いフォレストグリーン)に統一し、余白と質感を整える。
   2026-09-17 Shown指示によりヘッダーはスケルトン(完全透明)化。
   トップページのヒーロー写真はヘッダーの高さ分だけ下にずらし、
   ヘッダーの文字が写真に重ならないようにする(下記.ikb-hero参照)。
   他ページは元々コンテンツにmargin-topがあり写真背景でもないため対象外。 */
.Header-module-scss-module__P7cjuG__nav {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom: none !important;
}
.Header-module-scss-module__P7cjuG__navItem {
  font-weight: 600 !important;
  letter-spacing: .02em;
}
.Header-module-scss-module__P7cjuG__navItem:hover {
  opacity: .6;
}
.Header-module-scss-module__P7cjuG__reserveBtn {
  background: #0c3a5c !important;
  border-radius: 6px !important;
  transition: background .2s;
}
.Header-module-scss-module__P7cjuG__reserveBtn:hover {
  background: #1e5a82 !important;
}
.Header-module-scss-module__P7cjuG__langBtnInner {
  background: transparent !important;
  border: 1px solid rgba(23, 50, 42, .25) !important;
}
.Header-module-scss-module__P7cjuG__langBtnText {
  color: #0c3a5c !important;
}

/* 元サイト(sumu-hotel)のブランドカラー(オレンジ #ff6c37)がボタン・装飾ドットに
   全ページ共通で使われていたのを、この物件専用の配色(深いフォレストグリーン)に統一する */
.page-module-scss-module__gcuJEq__orangeDot,
.Button-module-scss-module__gW1A4G__buttonPrimaryDot,
.page-module-scss-module__zcQm6a__loungeContentsDot,
.RoomConcept-module-scss-module__WHSZmW__conceptDot,
.RoomHero-module-scss-module__U8saRq__heroDot,
.Footer-module-scss-module__kQc2fa__footerReserveBtn,
.RoomBooking-module-scss-module__II5HFG__bookingBtn {
  background: #0c3a5c !important;
}
.NewsContent-module-scss-module__dbwImq__title {
  border-bottom-color: #0c3a5c !important;
}
.page-module-scss-module__zcQm6a__roomDotActive,
.TopRoomSlider-module-scss-module__R_Gn5a__roomDotActive,
.RoomMvSlider-module-scss-module__jv9Dzq__dotActive {
  background: #0c3a5c !important;
}
.Footer-module-scss-module__kQc2fa__footerReserveBtn:hover,
.RoomBooking-module-scss-module__II5HFG__bookingBtn:hover {
  background: #1e5a82 !important;
}
.Header-module-scss-module__P7cjuG__reserveBtn:hover,
.Header-module-scss-module__P7cjuG__reserveBtn:active,
.Footer-module-scss-module__kQc2fa__footerReserveBtn:hover,
.Footer-module-scss-module__kQc2fa__footerReserveBtn:active {
  background: #071f33 !important;
}

/* 上記で拾いきれなかった残りのオレンジ装飾(見出し脇のドット・矢印・区切り線・
   リンク色)を網羅して同じブランドカラーに統一する */
.NewsCard-module-scss-module__iSHJva__date:before,
.page-module-scss-module__yTTEea__heroSubtitle:before,
.page-module-scss-module__lCNw9W__heroText:before,
.page-module-scss-module__gcuJEq__heroSubtitle:before,
.Header-module-scss-module__P7cjuG__mobileNavText:before,
.page-module-scss-module__zcQm6a__newsCardDate:before,
.page-module-scss-module__zcQm6a__sumuBrandKicker:before,
.NewsContent-module-scss-module__dbwImq__date:before,
.page-module-scss-module__taPGPq__heroSubtitle:before,
.Button-module-scss-module__gW1A4G__buttonPrimary:hover .Button-module-scss-module__gW1A4G__buttonPrimaryDot {
  background: #0c3a5c !important;
  background-color: #0c3a5c !important;
}
.page-module-scss-module__zcQm6a__newsMoreArrow {
  border-bottom-color: #0c3a5c !important;
  border-right-color: #0c3a5c !important;
}
.Button-module-scss-module__gW1A4G__buttonPrimaryDot:after {
  border-top-color: #0c3a5c !important;
  border-right-color: #0c3a5c !important;
}
.NewsContent-module-scss-module__dbwImq__content a {
  color: #0c3a5c !important;
}
.NewsContent-module-scss-module__dbwImq__content hr {
  border-top-color: #0c3a5c !important;
}
.NewsContent-module-scss-module__dbwImq__content blockquote {
  border-left-color: #0c3a5c !important;
}
.page-module-scss-module__zcQm6a__expArrow,
.page-module-scss-module__zcQm6a__expArrow:after {
  background: #0c3a5c !important;
  border-top-color: #0c3a5c !important;
  border-right-color: #0c3a5c !important;
}

/* 2026-09-17 Shown指示: ブランドカラーの緑がボタン等の小さい装飾にしか
   使われておらず「緑を感じられない」との指摘。フッター・見出し背景等、
   面積のある場所にも緑を展開してブランドカラーとして認識できるようにする。 */
.Footer-module-scss-module__kQc2fa__footer {
  background: #f2f6f4 !important;
  border-top: 1px solid rgba(23, 50, 42, .1);
}
.Footer-module-scss-module__kQc2fa__footerLink {
  color: #0c3a5c !important;
}
.Footer-module-scss-module__kQc2fa__footerSubmenuLink {
  color: #46574f !important;
}
.Footer-module-scss-module__kQc2fa__footerCopyright {
  color: #5c6b64 !important;
}
.ikb-footer-legal {
  font-size: 12px;
  color: #5c6b64;
  margin-bottom: 6px;
}
.ikb-footer-legal a {
  color: #5c6b64;
  text-decoration: underline;
}
.ikb-footer-legal a:hover {
  opacity: .7;
}

/* モバイルのハンバーガーメニュー開閉(2026-09-22 追加。元テンプレートのReact
   hydrationが効かない静的ミラーのため、素のJSでの開閉制御が必須) */
@media (max-width: 767px) {
  /* 固定ヘッダー(実高さ100px)の下に本文を出す。 */
  .page-module-scss-module__zcQm6a__prologue {
    margin-top: 110px !important;
  }

  /* ============================================================
     Prologue(モバイル) レイアウト再設計 2026-09-23
     方針: 半透明白背景で画像に文字を重ねる方式を廃止。テキストは canvas 全幅を
     使い(=横の見切れが原理的に起きない)、画像とは「縦の帯」で棲み分ける。
     画像の left / width は原典のまま。top だけ下げて帯を確保する。
     座標は7言語 x 8画面幅(320〜767px)のAABB衝突判定を通し、重なり0を確認済み。
     ============================================================ */
  .page-module-scss-module__zcQm6a__prologue {
    margin-top: 110px !important;
    padding: 0 20px !important;
  }
  .page-module-scss-module__zcQm6a__prologueScaled {
    transform: none !important;
  }
  .page-module-scss-module__zcQm6a__prologueCanvas {
    min-height: 1950px !important;
  }

  .page-module-scss-module__zcQm6a__pText1,
  .page-module-scss-module__zcQm6a__pText2,
  .page-module-scss-module__zcQm6a__pText3,
  .page-module-scss-module__zcQm6a__pTextDay,
  .page-module-scss-module__zcQm6a__pTextNight {
    background: none !important;
    padding: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
  }

  .page-module-scss-module__zcQm6a__pText1 {
    top: 20px !important;   left: 0 !important;    width: 100% !important;
  }
  .page-module-scss-module__zcQm6a__pText2 {
    top: 560px !important;  left: 24px !important; width: calc(100% - 24px) !important;
  }
  .page-module-scss-module__zcQm6a__pTextDay {
    top: 750px !important;  left: 0 !important;    width: 100% !important;
  }
  .page-module-scss-module__zcQm6a__pTextNight {
    top: 1160px !important; left: 24px !important; width: calc(100% - 24px) !important;
  }
  .page-module-scss-module__zcQm6a__pText3 {
    top: 1550px !important; left: 0 !important;    width: 100% !important;
  }

  .page-module-scss-module__zcQm6a__pImgTopRight { top: 156px !important; }
  .page-module-scss-module__zcQm6a__pImgCenter   { top: 310px !important; }
  .page-module-scss-module__zcQm6a__pImgFamily   { top: 890px !important; }
  .page-module-scss-module__zcQm6a__pImgCat      { top: 1010px !important; }
  .page-module-scss-module__zcQm6a__pImgIzakaya  { top: 1300px !important; }
  .page-module-scss-module__zcQm6a__pImgTemple   { top: 1340px !important; }
  .page-module-scss-module__zcQm6a__pImgMap      { top: 1690px !important; }

  /* 右下固定のLINEボタンと住所欄のMAPリンクが重ならないよう、
     MAPリンク側にタップ可能領域を確保する。 */
  .page-module-scss-module__zcQm6a__accessMapBtn,
  .page-module-scss-module__gcuJEq__infoMapBtn {
    margin-right: 60px !important;
  }

  .Header-module-scss-module__P7cjuG__navLinks.ikb-nav-open {
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
    position: fixed;
    top: 60px;
    left: 0;
    right: 0;
    background: #fff;
    padding: 20px 24px 28px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
    z-index: 150;
  }
}

/* 各ページの見出しセクション(faq/access/contact等のheroSection)背景を
   ベージュから、緑味のある落ち着いたトーンへ */
.page-module-scss-module__lCNw9W__hero,
.page-module-scss-module__gcuJEq__section,
.page-module-scss-module__yTTEea__section {
  background: #eef3f0 !important;
}
.page-module-scss-module__lCNw9W__hero *[fill="#000000"],
.page-module-scss-module__lCNw9W__deco1 *,
.page-module-scss-module__lCNw9W__deco2 * {
  stroke: #b9c9c1 !important;
}

/* FAQ開閉ボタン: 素のJSでhidden属性を切り替える実装(faq-accordion.js)に
   合わせて、開いた状態(aria-expanded=true)で矢印を反転させる */
[aria-expanded="true"] .page-module-scss-module__lCNw9W__arrowIcon {
  transform: rotate(180deg);
}

/* 部屋タイプページのheroKicker("Rooms"等の小見出し)が、トップページの
   ヒーローeyebrow(uppercase・letter-spacing .5em・weight 500)と字間・太さ・
   大文字小文字が不統一だった(2026-10-01 実機確認で判明)のを揃える */
.RoomHero-module-scss-module__U8saRq__heroKicker {
  font-weight: 500 !important;
  letter-spacing: .3em !important;
  text-transform: uppercase;
  color: #0c3a5c !important;
}

/* アクセス/FAQ/お問い合わせページの見出し: 元は"ACCESS"等の英字ロゴ画像
   (title-*.png/svg)だったため上記のfont-light化が及ばなかった。部屋ページと
   同じ手法(画像→テキスト)で2026-10-01に置換。英字は小さなkicker、
   実際の日本語見出し(既存のdata-i18n付きp)をh1に昇格しikb-room-title-textを適用。
   元のクラス名は維持(レイアウト用のCSSモジュール側ルールを壊さないため)。 */
.ikb-page-kicker {
  display: inline-block;
  font-weight: 500;
  font-size: .85rem;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: #0c3a5c;
}

/* アクセス/お問い合わせ/FAQの見出しは左カラム幅(最大380px)に対し、部屋ページ
   (1LDK/1K=4文字の英数字)と共有している.ikb-room-title-textのclamp(40px,6vw,64px)
   では「お問い合わせ」「よくある質問」(6文字)がデスクトップ幅で2行に折り返し、
   孤立した1文字が2行目に残る(2026-10-01 実機検証で判明)。サイズを縮小して
   日本語は1行に収める。スペイン語等の長い翻訳文言(例: "Preguntas frecuentes")は
   語の区切りで2行に折り返すこと自体は許容する(white-space:nowrapは使わない。
   強制すると長い言語ではみ出すため)。 */
.page-module-scss-module__gcuJEq__heroSubtitle.ikb-room-title-text,
.page-module-scss-module__yTTEea__heroSubtitle.ikb-room-title-text,
.page-module-scss-module__lCNw9W__heroText.ikb-room-title-text {
  font-size: clamp(28px, 4vw, 44px) !important;
}

/* 部屋タイプページ(1ldk.html/1k.html)の見出し: 元は"Standard"等の
   コンセプト固有タイトル画像(title-*.png)だったが、コンセプト演出を
   廃止し1LDK/1Kのシンプル表記に統一したためテキストに置き換えた */
h1.ikb-room-title-text {
  color: #0c3a5c;
  font-size: clamp(40px, 6vw, 64px);
}
span.ikb-room-title-text {
  display: inline-block;
  color: #1c1710;
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", sans-serif;
  font-weight: 500;
  letter-spacing: .04em;
  font-size: clamp(20px, 2.6vw, 26px);
}
