@charset "UTF-8";

#film_sec_title + section .content_wrapper .heading > h2 {
  background-color: #f39a35;
  color: #fff;
  padding: 8px 15px;
  width: 100%;
  box-sizing: border-box;
  display: inline-block;
}

/* 2. 各見出し "冷暖房効率のアップ！" 等 - left border accent */
#benefits + div h3.h {
  border-left: 4px solid #f39a35;
  padding-left: 10px;
  margin-left: 0;
}

/* 2. 各見出し "冷暖房効率のアップ！" 等 - left border accent */
#left_border_title + section div .heading > p{
  border-left: 4px solid #f39a35;
  padding-left: 10px;
  margin-left: 0;
 color: #f39a35;
line-height: 1.3;
}

/* margin 40px → 5px, scoped from #car_window */
#car_window ~ div.composite_box01.block_images_22 .inner_item,
#car_window ~ div.composite_box01.block_images_23 .inner_item,
#car_window ~ div.composite_box01.block_images_24 .inner_item {
  width: 100% !important;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  margin: 0 0 5px !important;
}

/* bullet point "・" before each text line */
#car_window ~ div.composite_box01.block_images_22 .inner_item_txt p::before,
#car_window ~ div.composite_box01.block_images_23 .inner_item_txt p::before,
#car_window ~ div.composite_box01.block_images_24 .inner_item_txt p::before {
  content: "•";
  color: #f39a35;
  font-weight: bold;
  margin-right: 8px;
  font-size: 1.1em;
  
}

#car_window ~ div.composite_box01.block_images_22 .inner_item_txt p,
#car_window ~ div.composite_box01.block_images_23 .inner_item_txt p,
#car_window ~ div.composite_box01.block_images_24 .inner_item_txt p{
line-height: 1.3;  
}



#film_table + div table {
  table-layout: fixed;
  width: 100%;
  border-collapse: collapse;
}

/* first column (row labels) - slightly wider */
#film_table + div table th:first-child,
#film_table + div table td:first-child {
  width: 16%;
}

/* remaining columns - equal width */
#film_table + div table th:not(:first-child),
#film_table + div table td:not(:first-child) {
  width: 14%;
}

/* equal row height + consistent padding for all cells */
#film_table + div table th,
#film_table + div table td {
  height: 60px;
  padding: 10px 8px;
  box-sizing: border-box;
  text-align: center;
  vertical-align: middle;
}

/* the inner divs inside each cell - so padding/height actually centers content */
#film_table + div table th div,
#film_table + div table td div {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

/* first column text stays left-aligned like your image (リア, サイド, etc.) */
#film_table + div table td:first-child div {
  justify-content: flex-start;
}




#film_table + div table td:first-child {
  background-color: #fff0df; /* 6 chars - valid */
  padding: 0;
}
#film_table + div table td:first-child div {
  background-color: #fff0df;
  padding: 6px;
  box-sizing: border-box;
  height: 100%;
}


@media screen and (max-width: 768px) {
  #film_table + div .outer {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; /* smooth momentum scroll on iOS */
    width: 100%;
  }

  #film_table + div table {
    width: auto;
    min-width: 700px; /* forces table to keep its real size instead of squishing */
    table-layout: auto;
  }

  /* keep first column readable width, let others size naturally */
  #film_table + div table td:first-child,
  #film_table + div table th:first-child {
    width: auto;
    min-width: 90px;
    white-space: nowrap;
  }
}



#film_table + div table td:not(:first-child) {
  text-align: right;
  padding-right: 20px;
}

#film_table + div table td:not(:first-child) div {
  justify-content: flex-end;
  text-align: right;
}



#film_table + div table td,
#film_table + div table th {
  white-space: nowrap;
}

#film_table + div table td div,
#film_table + div table th div {
  white-space: nowrap;
}