/* Seasonal content keeps its existing typography, imagery and destinations.
   The home renderer owns one fluid shell, including nested sections and footer. */
.nb-responsive-home {
  --nb-home-gutter: var(--bj-page-gutter);
  overflow-x: visible;
}
.nb-responsive-home #head_top_block,
.nb-responsive-home #menu2_inner,
.nb-responsive-home #index_notice_inner,
.nb-responsive-home .area,
.nb-responsive-home .main_section_area_inner,
.nb-responsive-home .main_block_inner_left,
.nb-responsive-home #premium_service,
.nb-responsive-home .index_partition,
.nb-responsive-home .nb-home-footer {
  width: min(var(--bj-content-max), calc(100% - 2 * var(--nb-home-gutter)));
  margin-inline: auto;
}
.nb-responsive-home .area .main_section_area_inner,
.nb-responsive-home #premium_service .main_block_inner_left {
  width: 100%;
}
.nb-responsive-home #head_top_row,
.nb-responsive-home #head_top_block { height: auto; min-height: 35px; }
.nb-responsive-home #head_top_link_wrapper { float: none; display: flex; flex-wrap: wrap; justify-content: flex-end; }
.nb-responsive-home #head_top_block { display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; }
.nb-responsive-home #menu2_inner { height: auto; min-height: 95px; flex-wrap: wrap; align-items: center; }
.nb-responsive-home #head_main_logo { height: 95px; width: auto; }
.nb-responsive-home #menu2 { position: relative; flex-wrap: wrap; line-height: 1.5; }
.nb-responsive-home #menu2 > a,
.nb-responsive-home #menu2 .menu_has_submenu > a { min-height: 44px; display: flex; align-items: center; }
.nb-responsive-home .menu_has_submenu .menu2x { top: 100%; left: 0; }
.nb-responsive-home .menu_has_submenu:focus-within .menu2x { display: block; }
.nb-responsive-home #menu11 { left: auto; right: 0; }
.nb-responsive-home #main_roll_wrapper { position: relative; width: 100%; margin-inline: auto; height: min(500px, calc(100vw * 5 / 18)); max-width: 1800px; }
.nb-responsive-home #main_roll { position: relative; width: 100% !important; height: 100% !important; left: 0 !important; }
.nb-responsive-home #main_roll .main_roll_obj { width: 100% !important; height: 100% !important; }
.nb-responsive-home #main_roll img { display: block; width: 100%; height: auto; }
.nb-responsive-home #main_roll_controller { width: 100%; left: 0; bottom: var(--bj-space-1); }
.nb-responsive-home .main_roll_obj { display: block; }
.nb-responsive-home .main_roll_obj[hidden] { display: none; }
.nb-responsive-home #main_roll_controller { position: absolute; text-align: center; }
.nb-responsive-home .main_roll_btn,
.nb-responsive-home #main_roll_pause { min-width: 44px; min-height: 44px; border: 0; cursor: pointer; background: var(--bj-clean); color: var(--bj-ink); }
.nb-responsive-home .main_roll_btn span { display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: var(--bj-line-strong); }
.nb-responsive-home .main_roll_btn[aria-pressed="true"] span { background: var(--bj-ink); }
.nb-responsive-home .main_roll_btn:focus-visible,
.nb-responsive-home #main_roll_pause:focus-visible { outline: 2px solid var(--bj-ink); outline-offset: 2px; }
.nb-responsive-home #index_notice_row { height: auto; }
.nb-responsive-home #index_notice_inner { display: flex; flex-wrap: wrap; }
.nb-responsive-home .index_notice { height: auto; min-height: 48px; line-height: 1.6; padding-block: var(--bj-space-2); padding-right: 36px; }
.nb-responsive-home .index_card_list_wrapper { height: auto; gap: var(--bj-space-2); }
.nb-responsive-home .index_card_list_wrapper > .index_card_guide:first-of-type,
.nb-responsive-home .index_card_list_wrapper > .index_card_guide { width: calc((100% - var(--bj-space-2)) / 2); min-width: 0; margin: 0; }
.nb-responsive-home .card_guide_img_wrapper img { width: 100%; height: auto; }
.nb-responsive-home .nhb_photo_bg { height: auto; aspect-ratio: 235 / 300; }
.nb-responsive-home .main_block_inner_right { gap: var(--bj-space-2); }
.nb-responsive-home .premium_service_block { width: calc((100% - 3 * var(--bj-space-2)) / 4); height: auto; min-height: 235px; margin: 0; padding: var(--bj-space-2); }
.nb-responsive-home .premium_service_block_title { height: auto; min-height: 30px; }
.nb-responsive-home .main_event_block { gap: var(--bj-space-2); }
.nb-responsive-home .main_only_event { width: calc((100% - 2 * var(--bj-space-2)) / 3); min-width: 0; }
.nb-responsive-home .main_event_img_box { height: auto; }
.nb-responsive-home .main_event_img_box img { width: 100%; height: auto; }
.nb-responsive-home .product_area .product_list_photo_wrapper,
.nb-responsive-home .main_product_block_top { height: auto; aspect-ratio: 320 / 410; }
.nb-responsive-home .main_product_block_top img,
.nb-responsive-home .product_list_photo_wrapper img { max-width: 100%; max-height: 100%; object-fit: contain; }
.nb-responsive-home .main_collabo_buttons { width: calc((100% - 2 * var(--bj-space-2)) / 3); min-width: 0; }
.nb-responsive-home .main_collabo_buttons img { max-width: 100%; height: auto; }
.nb-responsive-home .best_design_card_img_wrapper img { max-width: 100%; height: auto; }
.nb-responsive-home .main_block_cardset { gap: var(--bj-space-2); }
.nb-responsive-home .main_block_cardset > div { min-width: 0; }
.nb-responsive-home #tail_area { width: 100vw; }

@media (max-width: 1000px) {
  .nb-responsive-home #main_roll_wrapper { height: min(640px, calc(100vw * 1211 / 1080)); background: var(--bj-paper); }
  .nb-responsive-home #main_roll picture { display: block; height: 100%; }
  .nb-responsive-home #main_roll img { height: 100%; object-fit: contain; }
  .nb-responsive-home .premium_service_block { width: calc((100% - var(--bj-space-2)) / 2); }
}
@media (max-width: 767px) {
  .nb-responsive-home { --nb-home-gutter: var(--bj-page-gutter-mobile); }
  .nb-responsive-home #head_top_link_wrapper { justify-content: flex-start; }
  .nb-responsive-home #head_top_link_wrapper .head_top_link { margin-inline: 0 var(--bj-space-2); padding-block: 0; }
  .nb-responsive-home #menu2 { width: 100%; justify-content: space-between; }
  .nb-responsive-home #menu2 > a,
  .nb-responsive-home #menu2 .menu_has_submenu > a { margin-inline: 0; padding-inline: var(--bj-space-1); font-size: 14px; }
  .nb-responsive-home .index_notice { width: 100%; }
  .nb-responsive-home .card_guide_layout_menu { gap: var(--bj-space-1); padding-block: var(--bj-space-3); }
  .nb-responsive-home .card_guide_layout_menu > li { flex: 1; padding: 0; font-size: 14px; min-height: 44px; text-align: center; }
  .nb-responsive-home .card_guide_layout_menu > li::before { content: none; }
  .nb-responsive-home .index_card_list_wrapper { flex-direction: column; }
  .nb-responsive-home .index_card_list_wrapper > .index_card_guide:first-of-type,
  .nb-responsive-home .index_card_list_wrapper > .index_card_guide { width: 100%; }
  .nb-responsive-home .premium_service_block { min-height: 0; }
  .nb-responsive-home .main_event_block { flex-direction: column; }
  .nb-responsive-home .main_only_event { width: 100%; }
  .nb-responsive-home .main_block_title { font-size: var(--bj-type-subsection); padding-top: var(--bj-space-3); margin-bottom: var(--bj-space-3); }
  .nb-responsive-home .product_area .main_product_row > div { width: calc((100% - 15px) / 2); }
  .nb-responsive-home .main_collabo_text { font-size: var(--bj-type-caption); }
  .nb-responsive-home .product_list_text_wrapper { flex-wrap: wrap; }
}
