@charset "UTF-8";
main {
  /* ---- パンくずリスト ---- */
}
main .breadcrumb .breadcrumb_item {
  display: inline-flex;
  align-items: center;
}
main .breadcrumb .breadcrumb_separator {
  margin: 0 0.5em;
}
main .breadcrumb .breadcrumb_link {
  text-decoration: none;
  transition: 0.4s;
}
main .breadcrumb .breadcrumb_link:focus-visible {
  outline-offset: 0.15vw;
}
main {
  /*----------------------------------------------------------------

  sub_common

  ----------------------------------------------------------------*/
}
main .yellow_line {
  text-decoration: underline;
  text-underline-offset: -0.23vw;
  text-decoration-color: #FFFDC2;
  text-decoration-thickness: 0.9375vw;
}
main .sub_title_area h3 {
  margin-inline: auto;
}
main .b_shadow_blue {
  box-shadow: 0px 2px 4px 2px rgba(95, 166, 246, 0.3);
}
main .demo_ban_cont .footer_inner_right_upper_ban {
  background-image: url(../img/common/sub_demo_ban.png);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: 100%;
  height: 11.77vw;
}
main .demo_ban_cont .footer_inner_right_upper_ban .footer_ban_house {
  width: 11.14vw;
  height: auto;
}
main .demo_ban_cont .footer_inner_right_upper_ban .footer_ban_text .footer_ban_text_upper {
  transform: skew(-10deg);
}
main .demo_ban_cont .footer_inner_right_upper_ban .footer_ban_text .footer_ban_text_lower {
  transform: skew(-10deg);
}
main .demo_ban_cont .footer_inner_right_upper_ban .footer_ban_arrow {
  width: 11.875vw;
  height: auto;
  transform: translateX(30px);
}
main {
  /*----------------------------------------------------------------

  sub_mv

  ----------------------------------------------------------------*/
}
main .sub_mv {
  background-image: url(../img/common/sub_mv.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
main .sub_mv .sub_mv_inner .sub_mv_inner_textarea img {
  width: 9.79vw;
  height: auto;
}
main {
  /*----------------------------------------------------------------

  case

  ----------------------------------------------------------------*/
}
main .case_cont01 .case_cont01_inner .text {
  width: 46.3vw;
  margin-left: auto;
  margin-right: auto;
}
main .case_cont01 .case_cont01_inner .sub_title_area img {
  width: 15.88vw;
  min-width: 180px;
}
main .case_cont01 .case_cont01_inner .sub_title_area h3 {
  width: 73.4vw;
}
main .case_cont01 .case_cont01_inner .case_grid {
  display: grid;
  grid-template-columns: repeat(2, 35.4vw);
  width: 73.4vw;
  margin-left: auto;
  margin-right: auto;
  gap: 3.125vw 2.6041666667vw;
}
main .case_cont01 .case_cont01_inner .case_grid .case_post img {
  width: 100%;
  max-width: 100%;
  aspect-ratio: 620/363;
  -o-object-fit: cover;
     object-fit: cover;
}
main .case_cont01 .case_cont01_inner .case_grid .case_post .case_post_lower {
  position: relative;
  z-index: 0;
}
main .case_cont01 .case_cont01_inner .case_grid .case_post .case_post_lower .material-icons {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
main {
  /*----------------------------------------------------------------

  case_single
  ----------------------------------------------------------------*/
}
main .case_single_cont .case_single_cont_inner .change_area {
  position: relative;
  z-index: 10;
}
main .case_single_cont .case_single_cont_inner .change_area .change_arrow {
  position: absolute;
  z-index: 20;
  top: 50%;
  left: 51%;
  transform: translate(-50%, -50%);
  width: 4.2vw;
  max-width: 81px;
  min-width: 30px;
  height: auto;
}
main .case_single_cont .case_single_cont_inner .change_area .change_box {
  position: relative;
  z-index: 0;
}
main .case_single_cont .case_single_cont_inner .change_area .change_box .chage_text {
  position: absolute;
  bottom: 0.72vw;
  left: 1.51vw;
}
main .case_single_cont .case_single_cont_inner .change_area .change_box img {
  width: 32.81vw;
  aspect-ratio: 630/415;
  -o-object-fit: cover;
     object-fit: cover;
}
main .case_single_cont .case_single_cont_inner .case_single_table table tr th {
  width: 12.8vw;
  max-width: 233px;
  min-width: 180px;
  border-bottom: 1px solid #115AE2;
}
main .case_single_cont .case_single_cont_inner .case_single_table table tr td {
  border-bottom: 1px solid #b8cef7;
  padding-left: 4.68vw;
}
main .case_single_cont .case_single_cont_inner .case_single_gallery {
  display: grid;
  grid-template-columns: repeat(2, 32.8125vw);
  gap: 0.93vw;
  justify-content: center;
}
main .case_single_cont .case_single_cont_inner .case_single_gallery img {
  width: 100%;
  aspect-ratio: 630/400;
  -o-object-fit: cover;
     object-fit: cover;
}
main .case_single_cont02 {
  background-image: url(../img/case/single_cont02_bg.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
main .case_single_cont02 .case_cont01_inner .sub_title_area h3 {
  background-color: rgba(255, 255, 255, 0.75);
}
main .house_ban_area {
  background-image: url(../img/common/house_ban_bg.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
main .house_ban_area .demo_ban_cont {
  width: 72.9vw;
  margin-left: auto;
  margin-right: auto;
}
main .house_ban_area .demo_ban_cont .footer_inner_right_upper_ban .footer_ban_arrow {
  width: 7.875vw;
}
main {
  /*----------------------------------------------------------------

  news

  ----------------------------------------------------------------*/
}
main .news_area .news_area_inner .news_inner_left {
  width: 58.33vw;
}
main .news_area .news_area_inner .news_inner_left .news_post_area .news_post_link img {
  width: 13vw;
  height: auto;
}
main .news_area .news_area_inner .news_inner_left .news_post_area .news_post_link .news_post_link_left .news_post_link_left_upper .news_post_link_left_upper_category {
  color: #115AE2;
}
main .news_area .news_area_inner .news_inner_right {
  width: 16.7vw;
}
main .news_area .news_area_inner .news_inner_right .news_category_area p {
  text-align: center;
}
main {
  /*----------------------------------------------------------------

  single (ブログ詳細)

  ----------------------------------------------------------------*/
}
main .single_post {
  border-radius: 10px;
  padding: 1.98vw 5vw 0vw 5.05vw;
  /* タイトル・メタ */
}
main .single_post .single_post_title {
  line-height: 1.5;
  color: #000000;
}
main .single_post .single_post_meta {
  border-bottom: 2px solid #115AE2;
}
main .single_post .single_post_meta .single_post_category {
  min-width: 6.66vw;
  padding: 0.26vw 1.04vw;
  text-align: center;
  color: #333333;
  text-decoration: none;
  transition: 0.4s;
}
main .single_post .single_post_meta .single_post_date {
  color: #000000;
}
main .single_post {
  /* この記事でわかること */
}
main .single_post .single_post_summary {
  border-bottom: 1px dotted #115AE2;
  padding-bottom: 1.302vw;
}
main .single_post .single_post_summary .single_post_summary_head .single_post_summary_label {
  padding: 0.2vw 0.83vw;
  border-radius: 5px 5px 0 0;
  white-space: nowrap;
  position: relative;
  z-index: 0;
  top: 0.7vw;
}
main .single_post .single_post_summary .single_post_summary_head .single_post_summary_line {
  flex: 1;
  height: 1px;
  margin-left: 0.68vw;
  border-top: 1px dotted #115AE2;
}
main .single_post .single_post_summary .single_post_summary_list {
  display: flex;
  flex-direction: column;
  gap: 0.52vw;
  margin-top: 1.2vw;
  padding-left: 1.98vw !important;
  padding-top: 1.822vw !important;
}
main .single_post .single_post_summary .single_post_summary_list .single_post_dot {
  flex-shrink: 0;
  width: 0.47vw;
  min-width: 8px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #115AE2;
  border-top: 1px dotted #115AE2;
}
main .single_post .single_post_summary .single_post_summary_list p {
  line-height: 1.26;
  color: #000000;
}
main .single_post {
  /* 目次 */
}
main .single_post .single_post_toc {
  background-color: #F5F5F5;
  padding: 1.41vw 2.08vw 1.82vw;
}
main .single_post .single_post_toc .single_post_toc_head .single_post_toc_icon {
  font-size: 1.25vw;
  min-width: 24px;
  color: #333333;
}
main .single_post .single_post_toc .single_post_toc_head p {
  color: #333333;
}
main .single_post .single_post_toc .single_post_toc_list {
  display: flex;
  flex-direction: column;
  gap: 0;
  color: #333333;
}
main .single_post .single_post_toc .single_post_toc_list li {
  line-height: 1.75;
}
main .single_post .single_post_toc .single_post_toc_list .single_post_toc_link {
  color: #333333;
  text-decoration: none;
  transition: 0.4s;
}
main .single_post .single_post_toc .single_post_toc_list .single_post_toc_link::before {
  content: "・";
  flex-shrink: 0;
}
main .single_post .single_post_toc .single_post_toc_list .single_post_toc_link:hover {
  opacity: 0.7;
}
main .single_post {
  /* アイキャッチ */
}
main .single_post .single_post_eyecatch {
  max-width: 100%;
}
main .single_post .single_post_eyecatch img {
  height: auto;
  display: block;
  border-radius: 5px;
}
main .single_post {
  /* 本文（WP投稿本文） */
}
main .single_post .single_post_body {
  color: #333333;
}
main .single_post .single_post_body p:last-child {
  margin-bottom: 0;
}
main .single_post .single_post_body {
  /* 本文リンク（青字＋下線） */
}
main .single_post .single_post_body a {
  color: #115AE2;
  text-decoration: underline;
  transition: 0.4s;
}
main .single_post .single_post_body a:hover {
  opacity: 0.7;
}
main .single_post .single_post_body {
  /* 大見出し */
}
main .single_post .single_post_body .single_post_body_h2,
main .single_post .single_post_body > h2 {
  display: flex;
  align-items: center;
  gap: 0.52vw;
  margin-top: 2.6vw;
  padding: 0.31vw 0.52vw;
  background-color: #115AE2;
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: clamp(16px, 1.14576vw, 22px);
  letter-spacing: 2px;
  line-height: 1.5;
}
main .single_post .single_post_body .single_post_body_h2::before,
main .single_post .single_post_body > h2::before {
  content: "";
  flex-shrink: 0;
  width: 0.73vw;
  min-width: 12px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #ffffff;
}
main .single_post .single_post_body {
  /* 中見出し */
}
main .single_post .single_post_body .single_post_body_h3,
main .single_post .single_post_body > h3 {
  margin-top: 1.35vw;
  padding: 0.52vw;
  border-bottom: 3px solid #115AE2;
  color: #333333;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: clamp(16px, 1.0416vw, 20px);
  letter-spacing: 2px;
  line-height: 1.4;
}
main .single_post .single_post_body {
  /* 小見出し */
}
main .single_post .single_post_body .single_post_body_h4,
main .single_post .single_post_body > h4 {
  display: flex;
  align-items: center;
  gap: 0.52vw;
  margin-top: 1.35vw;
  color: #333333;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: clamp(16px, 0.93744vw, 18px);
  letter-spacing: 2px;
  line-height: 1.5;
}
main .single_post .single_post_body .single_post_body_h4::before,
main .single_post .single_post_body > h4::before {
  content: "";
  flex-shrink: 0;
  width: 6px;
  height: 1.2vw;
  min-height: 20px;
  background-color: #767676;
}
main .single_post .single_post_body {
  /* 小見出し2（h5） */
}
main .single_post .single_post_body > h5 {
  margin-top: 1.35vw;
  color: #333333;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: clamp(15px, 0.8856vw, 17px);
  letter-spacing: 2px;
  line-height: 1.5;
}
main .single_post {
  /* 見出しサンプル（単独ブロック） */
}
main .single_post .single_post_headings .single_post_body_h2 {
  margin-top: 0;
}
main .single_post {
  /* CTAバナー */
}
main .single_post .single_post_cta {
  position: relative;
  z-index: 0;
  border: 4px solid #ffffff;
  border-radius: 5px;
  overflow: hidden;
  padding: 2.08vw 2.6vw;
  background-image: url(../img/news/single_cta_bg.png);
  background-repeat: no-repeat, no-repeat;
  background-size: contain;
  background-position: center;
  background-blend-mode: normal, multiply;
}
main .single_post .single_post_cta .single_post_cta_inner {
  width: 100%;
  max-width: 41.7vw;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.56vw;
}
main .single_post .single_post_cta .single_post_cta_text {
  width: 100%;
  text-align: center;
}
main .single_post .single_post_cta .single_post_cta_row {
  gap: 2.08vw;
  flex-wrap: nowrap;
}
main .single_post .single_post_cta .single_post_cta_btn {
  flex-shrink: 0;
  gap: 0.31vw;
  padding: 0.41vw 1.09vw;
  border: 2px solid #ffffff;
  border-radius: 50px;
  text-decoration: none;
  white-space: nowrap;
  transition: 0.4s;
}
main .single_post .single_post_cta .single_post_cta_btn .single_post_cta_btn_icon {
  font-size: 1.25vw;
  min-width: 22px;
  margin-right: 0.31vw;
}
main .single_post .single_post_cta .single_post_cta_btn .single_post_cta_btn_arrow {
  font-size: 1.25vw;
  min-width: 20px;
}
main .single_post .single_post_cta .single_post_cta_btn:hover {
  opacity: 0.85;
}
main .single_post .single_post_cta .single_post_cta_divider {
  flex-shrink: 0;
  width: 1px;
  height: 3.39vw;
  min-height: 50px;
  background-color: #B8CEF7;
}
main .single_post .single_post_cta .single_post_cta_tel {
  flex-shrink: 0;
  gap: 0.05vw;
  text-decoration: none;
  white-space: nowrap;
}
main .single_post .single_post_cta .single_post_cta_tel .single_post_cta_tel_num {
  gap: 0.47vw;
}
main .single_post .single_post_cta .single_post_cta_tel .single_post_cta_tel_icon {
  font-size: 1.875vw;
  min-width: 30px;
}
main .single_post {
  /* この記事を書いた人 */
}
main .single_post .single_post_author {
  position: relative;
  padding-top: 0.78vw;
}
main .single_post .single_post_author .single_post_author_label {
  position: absolute;
  top: 0;
  left: 1.4vw;
  z-index: 1;
  padding: 0.26vw 0.68vw;
  white-space: nowrap;
}
main .single_post .single_post_author .single_post_author_box {
  padding: 1.87vw 2.29vw 2vw;
}
main .single_post .single_post_author .single_post_author_box p {
  color: #000000;
}
main .single_post .single_post_author .single_post_author_box .single_post_author_name {
  line-height: 1.4;
}
main .single_post .single_post_author .single_post_author_box .single_post_author_role {
  margin-top: 0.62vw;
  line-height: 1.26;
}
main .single_post .single_post_author .single_post_author_box .single_post_author_text {
  margin-top: 0.62vw;
  word-break: break-all;
}
main .single_post {
  /* 前後の記事ナビ */
}
main .single_post .single_post_nav {
  border-top: 1px solid #115AE2;
  position: relative;
}
main .single_post .single_post_nav .single_post_nav_link {
  color: #333333;
  text-decoration: none;
  transition: 0.4s;
}
main .single_post .single_post_nav .single_post_nav_link .single_post_nav_icon {
  color: #5F6368;
  font-size: 1.25vw;
  min-width: 24px;
}
main .single_post .single_post_nav .single_post_nav_link:hover {
  opacity: 0.7;
}
main .single_post .single_post_nav .single_post_nav_back {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15.62vw;
  height: 3.02vw;
  min-height: 50px;
  background-color: #FF5319;
  border-radius: 50px;
  text-decoration: none;
  transition: 0.4s;
}
main .single_post .single_post_nav .single_post_nav_back:hover {
  opacity: 1;
  background-color: #fff;
  color: #FF5319;
}
main .pagenation_area .wp-pagenavi {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.52vw;
}
main .pagenation_area .pages,
main .pagenation_area .first,
main .pagenation_area .last {
  display: none;
}
main .pagenation_area .page,
main .pagenation_area .current {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5625vw;
  height: 1.5625vw;
  min-width: 30px;
  min-height: 30px;
  font-size: max(0.833vw, 16px);
  text-decoration: none;
  transition: opacity 0.2s ease;
  border: 1px solid #115AE2;
  color: #115AE2;
}
main .pagenation_area .current {
  background-color: #FF6031;
  color: #ffffff;
  border-color: #FF6031;
}
main .pagenation_area .extend {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 1.5625vw;
  color: #115AE2;
}
main .pagenation_area .previouspostslink,
main .pagenation_area .nextpostslink {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5625vw;
  height: 1.5625vw;
  min-width: 30px;
  min-height: 30px;
  text-decoration: none;
  background-color: #115AE2;
  border: 1px solid #115AE2;
  color: #ffffff;
  font-size: 1.04vw;
  line-height: 1;
  transition: opacity 0.2s ease;
}
main .pagenation_area .previouspostslink .material-icons,
main .pagenation_area .nextpostslink .material-icons {
  color: #ffffff;
  font-size: 1.04vw;
  line-height: 1;
}
@media (hover: hover) and (pointer: fine) {
  main .pagenation_area .page:hover,
  main .pagenation_area .previouspostslink:hover,
  main .pagenation_area .nextpostslink:hover {
    opacity: 0.7;
  }
}
main .pagenation_area .page:focus-visible,
main .pagenation_area .previouspostslink:focus-visible,
main .pagenation_area .nextpostslink:focus-visible {
  outline: 0.15vw solid #115AE2;
  outline-offset: 0.15vw;
}
main {
  /*----------------------------------------------------------------

  flow

  ----------------------------------------------------------------*/
}
main .flow_cont01 .flow_cont01_inner .sub_title_area h3 {
  margin-left: auto;
  margin-right: auto;
  width: 83.3vw;
}
main .flow_cont01 .flow_cont01_inner .flow_cont01_flex_wrapper {
  width: 75vw;
  margin-left: auto;
  margin-right: auto;
}
main .flow_cont01 .flow_cont01_inner .flow_cont01_flex_wrapper .flow_cont01_flex {
  width: 35.4vw;
}
main .flow_cont01 .flow_cont01_inner .flow_cont01_flex_wrapper .flow_cont01_flex .flow_cont01_flex_item h4 {
  border-radius: 20px 20px 0 0;
}
main .flow_cont01 .flow_cont01_inner .flow_cont01_flex_wrapper .flow_cont01_flex .flow_cont01_flex_item .flow_card {
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 3.38vw;
  padding-left: 1.04vw;
  padding-right: 1.04vw;
}
main .flow_cont01 .flow_cont01_inner .flow_cont01_flex_wrapper .flow_cont01_flex .flow_cont01_flex_item .flow_card.flow_card_blue {
  border: 2px solid rgba(17, 90, 226, 0.5);
  padding-top: 1.8vw;
}
main .flow_cont01 .flow_cont01_inner .flow_cont01_flex_wrapper .flow_cont01_flex .flow_cont01_flex_item .flow_card.flow_card_blue .flow_card_upper {
  top: -3.2vw;
}
main .flow_cont01 .flow_cont01_inner .flow_cont01_flex_wrapper .flow_cont01_flex .flow_cont01_flex_item .flow_card.flow_card_orange {
  border: 2px solid rgba(255, 96, 49, 0.5);
}
main .flow_cont01 .flow_cont01_inner .flow_cont01_flex_wrapper .flow_cont01_flex .flow_cont01_flex_item .flow_card .flow_card_upper {
  position: relative;
  z-index: 0;
  top: -2.9vw;
}
main .flow_cont01 .flow_cont01_inner .flow_cont01_flex_wrapper .flow_cont01_flex .flow_cont01_flex_item .flow_card .flow_card_upper img {
  width: 2.44vw;
}
main .flow_cont01 .flow_cont01_inner .flow_cont01_flex_wrapper .flow_cont01_flex .flow_cont01_flex_item .flow_card .flow_check img {
  width: 1.45vw;
}
main .flow_cont01 .flow_cont01_inner .flow_cont01_flex_wrapper .flow_cont01_flex .flow_cont01_flex_item .flow_card .description {
  max-width: 26vw;
  margin-left: auto;
  margin-right: auto;
}
main .flow_cont01 .flow_cont01_inner .flow_card_wide {
  width: 66.7vw;
  border-radius: 10px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 0;
}
main .flow_cont01 .flow_cont01_inner .flow_card_wide .flow_card_upper {
  position: absolute;
  top: -1.4vw;
  left: 50%;
  z-index: 10;
  transform: translateX(-50%);
}
main .flow_cont01 .flow_cont01_inner .flow_card_wide .flow_card_upper img {
  width: 2.44vw;
}
main .flow_cont01 .flow_cont01_inner .flow_card_wide.flow_card_blue {
  border: 2px solid transparent;
  border-radius: 10px;
  background-image: linear-gradient(#fff, #fff), linear-gradient(to right, rgba(17, 90, 226, 0.5) 50%, rgba(255, 96, 49, 0.5) 50%);
  background-origin: padding-box, border-box;
  background-clip: padding-box, border-box;
}
main .flow_cont01 .flow_cont01_inner .flow_card_wide .flow_card_wide_inner {
  width: 56vw;
  margin-left: auto;
  margin-right: auto;
}
main .flow_cont01 .flow_cont01_inner .flow_card_wide .flow_card_wide_inner .flow_card_wide_inner_left {
  width: 29.2vw;
}
main .flow_cont01 .flow_cont01_inner .flow_card_wide .flow_card_wide_inner .flow_card_wide_inner_left .flow_check img {
  width: 1.45vw;
}
main .flow_cont01 .flow_cont01_inner .flow_card_wide .flow_card_wide_inner .flow_card_wide_inner_right {
  width: 23vw;
}
main .flow_cont01 .flow_cont01_inner .flow_card_wide .flow_card_wide_inner .flow_card_wide_inner_right img {
  width: 100%;
  height: auto;
}
main .guarantee_cont {
  background-image: url(../img/flow/guarantee_bg.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  margin-bottom: 11.45vw;
}
main .guarantee_cont .guarantee_cont_inner .sub_title_area img {
  width: 12.18vw;
  max-width: 234px;
  height: auto;
  min-width: 100px;
}
main .guarantee_cont .guarantee_cont_inner .catch {
  text-underline-offset: 0.1vw;
}
main .guarantee_cont .guarantee_cont_inner .guarantee_area_flex .guarantee_area_flex_item {
  background-color: #fff;
  box-shadow: 3px 3px 5px 2px rgba(95, 165, 246, 0.36);
}
main .guarantee_cont .guarantee_cont_inner .guarantee_area_flex .guarantee_area_flex_item h4 {
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  border-radius: 0 0 10px 10px;
}
main .guarantee_cont .guarantee_cont_inner .guarantee_area_flex .guarantee_area_flex_item .text {
  text-align: center;
}
main .guarantee_cont .guarantee_cont_inner .guarantee_area_flex .guarantee_area_flex_item .text_line {
  background: #767676;
  height: 3px;
  max-width: 75px;
  width: 3.9vw;
  min-width: 40px;
}
main {
  /*----------------------------------------------------------------

  demo

  ----------------------------------------------------------------*/
}
main .demo_cont01 .flow_cont01_inner .sub_title_area img {
  width: 7.39vw;
}
main .demo_cont01 .flow_cont01_inner .sub_title_area h3 {
  width: 100%;
}
main .demo_cont01 .flow_cont01_inner .solution_catch_sub .solution_slash {
  width: 2.6vw;
  height: auto;
  max-width: 50px;
  min-width: 30px;
}
main .demo_cont01 .flow_cont01_inner .solution_area_imgarea img {
  max-width: 640px;
  width: 33.3vw;
  min-width: 200px;
  height: auto;
}
main .demo_cont03 .demo_cont03_inner {
  width: 76.6vw;
}
main .demo_cont03 .demo_cont03_inner .sub_title_area img {
  width: 5.52vw;
}
main .demo_cont03 .demo_cont03_inner .sub_title_area h3 {
  width: 100%;
}
main .demo_cont03 .demo_flow {
  width: 73.48vw;
  margin-left: auto;
  margin-right: auto;
}
main .demo_cont03 .demo_flow .demo_flow_item {
  position: relative;
  align-items: flex-start;
  gap: 1.56vw;
  margin-bottom: 3.13vw;
}
main .demo_cont03 .demo_flow .demo_flow_item:last-child::before {
  height: 87%;
}
main .demo_cont03 .demo_flow .demo_flow_item::before {
  content: "";
  position: absolute;
  top: 1.56vw;
  left: 2.2vw;
  width: 1px;
  height: calc(100% + 3.13vw);
  background-color: #115AE2;
  z-index: 0;
}
main .demo_cont03 .demo_flow .demo_flow_item .demo_flow_left {
  flex-shrink: 0;
}
main .demo_cont03 .demo_flow .demo_flow_item .demo_flow_left .demo_flow_num {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.47vw;
  min-width: 48px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #115AE2;
  line-height: 1;
}
main .demo_cont03 .demo_flow .demo_flow_item .demo_flow_body {
  flex: 1;
  min-width: 0;
}
main .demo_cont03 .demo_flow .demo_flow_item .demo_flow_body .demo_flow_sub {
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 0.52vw;
}
main .demo_cont03 .demo_flow .demo_flow_item .demo_flow_body .demo_flow_check {
  margin-top: 2.6vw !important;
  width: -moz-fit-content;
  width: fit-content;
}
main .demo_cont03 .demo_flow .demo_flow_item .demo_flow_body .demo_flow_check .flow_check {
  padding-top: 0.78vw;
  padding-bottom: 0.78vw;
  border-bottom: 1px dotted #B8CEF7;
}
main .demo_cont03 .demo_flow .demo_flow_item .demo_flow_body .demo_flow_check .flow_check img {
  flex-shrink: 0;
  width: 1.46vw;
  min-width: 20px;
  height: auto;
}
main .demo_cont03 .demo_flow .demo_flow_item .demo_flow_img {
  flex-shrink: 0;
  width: 32.8vw;
  max-width: 630px;
  min-width: 180px;
}
main .demo_cont03 .demo_flow .demo_flow_item .demo_flow_img img {
  width: 100%;
  height: auto;
}
main .demo_cont04 {
  background-image: url(../img/demo/area_bg.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  width: 89.5vw;
  margin-left: auto;
  margin-right: auto;
}
main .demo_cont04 .demo_cont04_inner {
  width: 77vw;
  margin-left: auto;
  margin-right: auto;
}
main .demo_cont04 .demo_cont04_inner .sub_title_area img {
  width: 7.39vw;
}
main .demo_cont04 .demo_cont04_inner .sub_title_area h3 {
  width: 100%;
}
main .demo_cont04 .demo_area_flex .demo_area_col {
  flex: 1;
  max-width: 36.4vw;
}
main .demo_cont04 .demo_area_flex .demo_area_col .demo_area_label {
  width: 100%;
}
main .demo_cont04 .demo_area_flex .demo_area_col .demo_area_region .demo_area_divider {
  width: 1px;
  height: 2.6vw;
  min-height: 22px;
}
main .demo_cont04 .demo_area_flex .demo_area_col .demo_area_map img {
  width: 26vw;
  max-width: 500px;
  min-width: 160px;
  height: auto;
}
main .demo_cont04 .demo_area_note {
  color: #333333;
}
main .demo_cont05 {
  background-image: url(../img/demo/area_bg.jpg);
  background-position: top center;
  background-size: cover;
  background-repeat: no-repeat;
  padding-bottom: 18.2vw;
  margin-bottom: -3vw;
}
main .demo_cont05 .demo_cont05_inner .demo_form_tel {
  padding: 1.04vw 2.6vw;
  box-shadow: 0 4px 20px rgba(17, 90, 226, 0.08);
}
main .demo_cont05 .demo_cont05_inner .demo_form_tel .demo_form_tel_divider {
  flex-shrink: 0;
  width: 1px;
  height: 3.95vw;
  min-height: 36px;
  background-color: #115AE2;
}
main .demo_cont05 .demo_cont05_inner .demo_form_tel .demo_form_tel_link {
  text-decoration: none;
  transition: 0.4s;
}
main .demo_cont05 .demo_cont05_inner .demo_form_tel .demo_form_tel_link .demo_form_tel_num {
  gap: 0.52vw;
}
main .demo_cont05 .demo_cont05_inner .demo_form_tel .demo_form_tel_link .demo_form_tel_num .demo_form_tel_icon {
  min-width: 28px;
}
main .demo_cont05 .demo_cont05_inner .demo_form_tel .demo_form_tel_link .demo_form_tel_time {
  margin-top: 0.2vw;
}
main .demo_cont05 .demo_cont05_inner .demo_form_tel .demo_form_tel_link:hover {
  opacity: 0.7;
}
main .demo_cont05 .demo_cont05_inner .demo_form_card {
  padding: 3.13vw 3.13vw 3.65vw;
  box-shadow: 0 4px 20px rgba(17, 90, 226, 0.08);
}
main .demo_cont05 .demo_cont05_inner .demo_form_card .demo_form_card_title .demo_form_card_icon {
  min-width: 28px;
}
main .demo_cont05 .demo_cont05_inner .demo_form_card .demo_form_card_area {
  width: 50vw;
  margin-left: auto;
  margin-right: auto;
}
main .demo_cont05 .demo_cont05_inner .demo_form_card .demo_form_card_area iframe {
  border-radius: 10px;
}
main .demo_cont02 {
  background-image: url(../img/demo/demo_bg.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  overflow: hidden;
  position: relative;
  z-index: 0;
}
main .demo_cont02 .demo_sun {
  position: absolute;
  width: 15.9vw;
  height: auto;
  top: -3vw;
  left: 50%;
  transform: translateX(-50%);
  z-index: 0;
}
main .demo_cont02 .demo_cont02_inner .title_area img {
  width: 11.14vw;
  height: auto;
  margin-bottom: -0.1vw;
}
main .demo_cont02 .demo_cont02_inner .demo_cont02_flex {
  position: relative;
  z-index: 0;
}
main .demo_cont02 .demo_cont02_inner .demo_cont02_flex .demo_arrow {
  position: absolute;
  width: 5.88vw;
  height: auto;
  top: 14vw;
  left: 52%;
  transform: translateX(-50%);
  z-index: 10;
}
main .demo_cont02 .demo_cont02_inner .demo_cont02_flex .demo_cont02_flex_item img {
  width: 32.29vw;
  height: auto;
}
main {
  /*----------------------------------------------------------------

  heatstroke

  ----------------------------------------------------------------*/
}
main .heatstroke_cont {
  background-image: url(../img/heatstroke/heatstroke_bg.png);
  background-position: 8.73vw 1.0625vw;
  background-size: 74.6vw auto;
  background-repeat: no-repeat;
}
main .heatstroke_cont .heatstroke_cont_inner .text {
  width: 58.1vw;
  margin-left: auto;
  margin-right: auto;
}
main .heatstroke_cont .heatstroke_cont_inner .heatstroke_cont_btn {
  text-decoration: underline;
}
main .heatstroke_cont .heatstroke_cont_inner .heatstroke_cont_flex .heatstroke_cont_flex_item {
  box-shadow: 3px 3px 4px 2px rgba(95, 166, 246, 0.2);
  width: 31vw;
  border-radius: 10px;
}
main .heatstroke_cont .heatstroke_cont_inner .heatstroke_cont_flex .heatstroke_cont_flex_item .heatstroke_cont_flex_item_header {
  position: relative;
  z-index: 0;
  border-radius: 10px 10px 0 0;
}
main .heatstroke_cont .heatstroke_cont_inner .heatstroke_cont_flex .heatstroke_cont_flex_item .heatstroke_cont_flex_item_header .heatstroke_cont_flex_item_header_icon {
  width: 4vw;
  height: auto;
  position: absolute;
  height: auto;
  top: -1.6vw;
  left: 1.5675vw;
  z-index: 10;
}
main .heatstroke_cont .heatstroke_cont_inner .heatstroke_cont_flex .heatstroke_cont_flex_item .heatstroke_cont_flex_item_header .heatstroke_cont_flex_item_header_icon02 {
  width: 4.375vw;
  top: -0.8vw;
}
main .heatstroke_cont .heatstroke_cont_inner .heatstroke_cont_flex .heatstroke_cont_flex_item_arrow {
  width: 3.54vw;
  margin-top: 11vw;
}
main .heatstroke_cont02 .heatstroke_cont02_inner .sub_title_area img {
  width: 8.43vw;
  min-width: 120px;
  max-width: 170px;
}
main .heatstroke_cont02 .heatstroke_cont02_inner .sub_title_area h3 {
  width: 100%;
}
main .heatstroke_cont02 .heatstroke_cont02_inner .text {
  margin-left: auto;
  margin-right: auto;
  width: 50vw;
}
main .heatstroke_cont02 .heatstroke_cont02_inner .heatstroke_cont02_block {
  width: 75vw;
  margin-left: auto;
  margin-right: auto;
}
main .heatstroke_cont02 .heatstroke_cont02_inner .heatstroke_cont02_block .heatstroke_cont02_flex {
  align-items: flex-start;
}
main .heatstroke_cont02 .heatstroke_cont02_inner .heatstroke_cont02_block .heatstroke_cont02_flex .heatstroke_cont02_flex_text {
  flex: 1;
  min-width: 0;
  max-width: 31.25vw;
}
main .heatstroke_cont02 .heatstroke_cont02_inner .heatstroke_cont02_block .heatstroke_cont02_flex .heatstroke_cont02_flex_text .heatstroke_cont02_head {
  border-bottom: 2px solid #B8CEF7;
}
main .heatstroke_cont02 .heatstroke_cont02_inner .heatstroke_cont02_block .heatstroke_cont02_flex .heatstroke_cont02_flex_img {
  flex-shrink: 0;
  width: 38vw;
  max-width: 732px;
}
main .heatstroke_cont02 .heatstroke_cont02_inner .heatstroke_cont02_block .heatstroke_cont02_flex .heatstroke_cont02_flex_img img {
  width: 100%;
  height: auto;
}
main .heatstroke_cont02 .heatstroke_cont02_inner .heatstroke_cont02_block .heatstroke_cont02_flex .heatstroke_cont02_flex_img p {
  text-align: right;
}
main .heatstroke_cont03 .heatstroke_cont03_inner .sub_title_area img {
  width: 12.6vw;
}
main .heatstroke_cont03 .heatstroke_cont03_inner .sub_title_area h3 {
  width: 100%;
}
main .heatstroke_cont03 .heatstroke_cont03_inner .text {
  width: 50vw;
  margin-left: auto;
  margin-right: auto;
}
main .heatstroke_cont03 .heatstroke_cont03_inner .heatstroke_cont03_lead {
  width: 68.4vw;
}
main .heatstroke_cont03 .heatstroke_cont03_inner .heatstroke_cont03_lead img {
  width: 2.39vw;
  min-width: 30px;
}
main .heatstroke_cont03 .heatstroke_cont03_inner .heatstroke_cont03_lead .line {
  background: #B8CEF7;
  height: 1px;
  max-width: 396px;
  width: 18.625vw;
  min-width: 100px;
}
main .heatstroke_cont03 .heatstroke_cont03_inner .heatstroke_cont03_cards {
  margin-left: auto;
  margin-right: auto;
  width: 68.28vw;
  display: grid;
  grid-template-columns: repeat(3, 20.67vw);
  gap: 2.0832vw;
  justify-content: center;
}
main .heatstroke_cont03 .heatstroke_cont03_inner .heatstroke_cont03_cards .heatstroke_cont03_card {
  width: 20.67vw;
  overflow: hidden;
}
main .heatstroke_cont03 .heatstroke_cont03_inner .heatstroke_cont03_cards .heatstroke_cont03_card picture {
  display: block;
}
main .heatstroke_cont03 .heatstroke_cont03_inner .heatstroke_cont03_cards .heatstroke_cont03_card img {
  width: 100%;
  height: auto;
  display: block;
}
main .heatstroke_cont03 .heatstroke_cont03_inner .heatstroke_cont03_block .heatstroke_cont03_flex {
  width: 68.48vw;
  justify-content: center;
  border-top: 1px dotted #115AE2;
  margin-inline: auto;
}
main .heatstroke_cont03 .heatstroke_cont03_inner .heatstroke_cont03_block .heatstroke_cont03_flex .heatstroke_cont03_flex_text {
  flex: 1;
  min-width: 0;
}
main .heatstroke_cont03 .heatstroke_cont03_inner .heatstroke_cont03_block .heatstroke_cont03_flex .heatstroke_cont03_flex_text .heatstroke_cont03_head {
  border-bottom: 1px solid #B8CEF7;
}
main .heatstroke_cont03 .heatstroke_cont03_inner .heatstroke_cont03_block .heatstroke_cont03_flex .heatstroke_cont03_flex_img {
  flex-shrink: 0;
  width: 30.2vw;
  max-width: 580px;
}
main .heatstroke_cont03 .heatstroke_cont03_inner .heatstroke_cont03_block .heatstroke_cont03_flex .heatstroke_cont03_flex_img img {
  width: 100%;
  height: auto;
}
main .heatstroke_cont04 {
  background-image: url(../img/heatstroke/heatstroke_bg04.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
main .heatstroke_cont04 .heatstroke_cont04_inner {
  width: 70.9vw;
}
main .heatstroke_cont04 .heatstroke_cont04_inner .heatstroke_arrow {
  width: 10.2vw;
}
main .heatstroke_cont04 .heatstroke_cont04_inner .sub_title_area h3 {
  width: 100%;
}
main .heatstroke_cont04 .heatstroke_cont04_inner .sub_title_area img {
  width: 19.32vw;
}
main .heatstroke_cont04 .heatstroke_cont04_inner .text {
  margin-left: auto;
  margin-right: auto;
  width: 52vw;
}
main .heatstroke_cont04 .heatstroke_cont04_inner .heatstroke_cont04_grid {
  display: grid;
  justify-content: center;
  grid-template-columns: repeat(2, 30.1vw);
}
main .heatstroke_cont04 .heatstroke_cont04_inner .heatstroke_cont04_grid .heatstroke_cont04_card {
  width: 30.1vw;
}
main .heatstroke_cont04 .heatstroke_cont04_inner .heatstroke_cont04_grid .heatstroke_cont04_card picture {
  display: block;
}
main .heatstroke_cont04 .heatstroke_cont04_inner .heatstroke_cont04_grid .heatstroke_cont04_card img {
  width: 100%;
  height: auto;
  display: block;
}
main .heatstroke_cont04 .heatstroke_wave {
  width: 70.9vw;
  height: auto;
  display: block;
  max-width: 1363px;
  min-width: 100px;
}
main .heatstroke_cont04 .heatstroke_sesaku_inner {
  width: 70.9vw;
}
main .heatstroke_cont04 .heatstroke_sesaku_inner .sub_title_area .sub_title_area_bg {
  background-image: url(../img/heatstroke/heatstorke_bg.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  border-radius: 20px 20px 0 0;
}
main .heatstroke_cont04 .heatstroke_sesaku_inner .sub_title_area h3 {
  width: 100%;
}
main .heatstroke_cont04 .heatstroke_sesaku_inner .heatstroke_sesaku_lead .heatstroke_sesaku_lead_line {
  display: block;
  width: 1.82vw;
  min-width: 18px;
  height: 1px;
  background-color: #333333;
}
main .heatstroke_cont04 .heatstroke_sesaku_inner .heatstroke_sesaku_grid {
  gap: 2.6vw 2.0832vw;
}
main .heatstroke_cont04 .heatstroke_sesaku_inner .heatstroke_sesaku_grid .heatstroke_sesaku_col {
  width: calc((100% - 2.0832vw) / 2);
}
main .heatstroke_cont04 .heatstroke_sesaku_inner .heatstroke_sesaku_grid .heatstroke_sesaku_col .heatstroke_sesaku_cat {
  border-left: 4px solid #FF6031;
  padding-left: 0.83vw;
}
main .heatstroke_cont04 .heatstroke_sesaku_inner .heatstroke_sesaku_grid .heatstroke_sesaku_col .heatstroke_sesaku_list .heatstroke_sesaku_item {
  padding-top: 0.78vw;
  padding-bottom: 0.78vw;
  border-bottom: 1px dotted #B8CEF7;
}
main .heatstroke_cont04 .heatstroke_sesaku_inner .heatstroke_sesaku_grid .heatstroke_sesaku_col .heatstroke_sesaku_list .heatstroke_sesaku_item .heatstroke_sesaku_check {
  flex-shrink: 0;
  width: 1.25vw;
  min-width: 18px;
  height: auto;
}
main .heatstroke_cont05 .heatstroke_cont05_inner {
  width: 73.2vw;
}
main .heatstroke_cont05 .heatstroke_cont05_inner .heatstroke_cont05_lead .yellow_line {
  text-underline-offset: 0.2vw;
}
main .heatstroke_cont05 .heatstroke_cont05_inner .heatstroke_cont05_grid .heatstroke_cont05_card {
  position: relative;
  width: calc((100% - 4.1664vw) / 3);
  margin-top: 2.5vw;
  background-color: #ffffff;
}
main .heatstroke_cont05 .heatstroke_cont05_inner .heatstroke_cont05_grid .heatstroke_cont05_card .heatstroke_cont05_card_icon {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 4.2vw;
  min-width: 60px;
  height: auto;
  z-index: 1;
}
main .heatstroke_cont05 .heatstroke_cont05_gallery img {
  width: 27.7vw;
  height: auto;
}
main .heatstroke_cont06 {
  padding-top: 15.625vw;
  margin-top: -18rem;
}
main .heatstroke_cont06 .heatstroke_cont06_inner .heatstroke_cont06_lead .heatstroke_cont06_slash {
  display: inline-block;
  color: #999999;
  font-weight: 400;
  margin: 0 0.5vw;
}
main .heatstroke_cont06 .heatstroke_cont06_inner .heatstroke_cont06_pills .heatstroke_cont06_pill {
  position: relative;
  width: calc((100% - 23vw) / 3);
  padding: 1.04vw 1.3vw;
}
main .heatstroke_cont06 .heatstroke_cont06_inner .heatstroke_cont06_pills .heatstroke_cont06_pill::after {
  content: "";
  position: absolute;
  bottom: -0.8vw;
  left: 50%;
  transform: translateX(-50%);
  border-style: solid;
  border-width: 0.9vw 0.9vw 0 0.9vw;
  border-color: #ffffff transparent transparent transparent;
  filter: drop-shadow(0px 2px 4px rgba(95, 166, 246, 0.3));
  clip-path: inset(0 -100% -100% -100%);
}
main .heatstroke_cont06 .heatstroke_cont06_inner .heatstroke_cont06_grid {
  display: grid;
  grid-template-columns: repeat(2, 31.8vw);
  justify-content: center;
}
main .heatstroke_cont06 .heatstroke_cont06_inner .heatstroke_cont06_grid .heatstroke_cont06_card .heatstroke_cont06_card_main .heatstroke_cont06_card_icon {
  flex-shrink: 0;
  width: 4.27vw;
  min-width: 50px;
  height: auto;
}
main .heatstroke_cont06 .heatstroke_cont06_inner .heatstroke_cont06_grid .heatstroke_cont06_card .heatstroke_cont06_card_main .heatstroke_cont06_card_icon02 {
  width: 3.85vw;
}
main .heatstroke_cont06 .heatstroke_cont06_inner .heatstroke_cont06_grid .heatstroke_cont06_card .heatstroke_cont06_card_main .heatstroke_cont06_card_icon03 {
  width: 3.85vw;
}
main .heatstroke_cont06 .heatstroke_cont06_inner .heatstroke_cont06_grid .heatstroke_cont06_card .heatstroke_cont06_card_main .heatstroke_cont06_card_icon04 {
  width: 3.85vw;
}
main .heatstroke_cont06 .heatstroke_cont06_inner .heatstroke_cont06_grid .heatstroke_cont06_card .heatstroke_cont06_card_note {
  border-top: 1px solid #B8CEF7;
}
main .heatstroke_cont06 .heatstroke_cont06_case .examples_area_inner_content .examples_area_inner_content_item {
  box-shadow: 4px 5px 4px 0 rgba(178, 214, 255, 0.25);
  width: 23.28vw;
  background-image: url(../img/top/examples_bg.png);
  background-position: center bottom;
  background-size: contain;
  background-repeat: no-repeat;
}
main .heatstroke_cont06 .heatstroke_cont06_case .examples_area_inner_content .examples_area_inner_content_item picture img {
  width: 14.79vw;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}
main {
  /*----------------------------------------------------------------

  solutions（おすすめ導入場所）

  ----------------------------------------------------------------*/
  /* 幅ヘルパー（1920基準の比率 + max-width） */
}
main .sol_w1234 {
  width: 64.27vw;
  max-width: 1234px;
  margin-inline: auto;
}
main .sol_w1278 {
  width: 66.56vw;
  max-width: 1278px;
  margin-inline: auto;
}
main .sol_w1280 {
  width: 66.66vw;
  max-width: 1280px;
  margin-inline: auto;
}
main .sol_w1383 {
  width: 72.03vw;
  max-width: 1383px;
  margin-inline: auto;
}
main .sol_w1390 {
  width: 72.39vw;
  max-width: 1390px;
  margin-inline: auto;
}
main .sol_w1400 {
  width: 72.91vw;
  max-width: 1400px;
  margin-inline: auto;
}
main .sol_w1421 {
  width: 74.01vw;
  max-width: 1421px;
  margin-inline: auto;
}
main .sol_w1440 {
  width: 75vw;
  max-width: 1440px;
  margin-inline: auto;
}
main .sol_w1597 {
  width: 83.18vw;
  max-width: 1597px;
  margin-inline: auto;
}
main {
  /* 白カード（ポリウレア・特許） */
}
main .sol_card {
  background: #fff;
  border-radius: 20px;
}
main .sol_card--pori {
  padding: 2.6vw 2.08vw 2.08vw;
}
main .sol_card--patent {
  border: 2px solid #B8CEF7;
  padding: 1.46vw 4.06vw;
}
main {
  /* 見出しバー（左右ライン付き） */
}
main .sol_sec_ttl {
  border-radius: 5px;
}
main .sol_sec_ttl--orange .orange {
  color: #FF6031;
}
main .sol_sec_ttl--merit {
  line-height: 1.4;
}
main {
  /* リード見出しのダッシュ */
}
main .sol_lead_dash {
  display: inline-block;
  width: 1.45vw;
  min-width: 20px;
  height: 2px;
  margin-right: 0.83vw;
  flex: none;
}
main .sol_lead--left {
  width: 50vw;
  margin-left: auto;
  margin-right: auto;
}
main .sol_lead--left .sol_lead_ttl {
  justify-content: flex-start;
}
main .sol_lead .text {
  width: 50vw;
  margin-left: auto;
  margin-right: auto;
}
main .sol_house_wrapper {
  position: relative;
  z-index: 0;
}
main .sol_house_wrapper .blue_lower_bg {
  position: absolute;
  width: 100%;
  height: auto;
  bottom: 0;
  left: 0;
  z-index: 10;
}
main {
  /* イントロ */
}
main .sol_intro_icon {
  width: 7.39vw;
  max-width: 142px;
  height: auto;
  display: block;
  margin-bottom: -0.8vw;
}
main {
  /* 設置場所 01〜03 */
}
main .sol_place_text {
  width: 41.5%;
}
main .sol_place_img {
  width: 54.6%;
}
main .sol_place_img img {
  width: 100%;
  height: auto;
}
main .sol_place_num {
  width: 2.4vw;
  max-width: 46px;
  height: auto;
  display: block;
}
main {
  /* 設置場所セクション背景 */
}
main .sol_places {
  background: #F0F9FF;
}
main {
  /* 一覧表 */
}
main .sol_table {
  border: 1px solid #B8CEF7;
  border-radius: 8px;
  overflow: hidden;
}
main .sol_table_row {
  display: grid;
}
main .sol_table_row:not(:last-child) {
  border-bottom: 1px solid #B8CEF7;
}
main .sol_table--roof .sol_table_row {
  grid-template-columns: 24.1% 29.8% 36.7% 9.4%;
}
main .sol_table--wall .sol_table_row {
  grid-template-columns: 24.1% 33% 42.9%;
}
main .sol_table_head {
  background: #F0F9FF;
}
main .sol_places_wrapper {
  max-width: 1460px;
  margin-left: auto;
  margin-right: auto;
  width: 76vw;
  border-bottom: 1px dotted #115AE2;
}
main .sol_table_cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.3em;
  text-align: center;
  padding: 0.52vw 0.83vw;
  background-color: #fff;
}
main .sol_table_cell:not(:last-child) {
  border-right: 1px solid #B8CEF7;
}
main .sol_table_cell03 {
  padding-top: 2vw;
  padding-bottom: 2vw;
}
main .sol_table_cell_th {
  background-color: #f5f5f5;
}
main .sol_table_cell--method {
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.62vw;
}
main .sol_circle {
  color: #115AE2;
  font-size: 1.56vw;
}
main {
  /* 詳しく見るピル */
}
main .sol_more {
  display: inline-flex;
  align-items: center;
  gap: 0.1em;
  padding: 0.3em 0.9em;
  border-radius: 999px;
  border: 1px solid #115AE2;
  color: #115AE2;
  background: #fff;
  font-size: 0.83vw;
  white-space: nowrap;
  text-decoration: none;
  transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}
main .sol_more .material-icons {
  font-size: inherit;
  color: inherit;
}
main .sol_more:hover {
  background: #115AE2;
  color: #fff;
  border-color: #115AE2;
}
main .sol_more--fill {
  background: #115AE2;
  color: #fff;
  border-color: #115AE2;
}
main .sol_more--fill:hover {
  background: #fff;
  color: #115AE2;
}
main .sol_cool p {
  text-underline-offset: 0.2vw;
}
main {
  /* ガラスCoolコート CTA */
}
main .sol_table_cell_left {
  text-align: left;
}
main {
  /* INSTALLATION タブ */
}
main .sol_tabs_ttl .yellow_line {
  color: #115AE2;
}
main .sol_tab {
  width: 15.62vw;
  max-width: 300px;
  border-bottom: 1px solid #115AE2;
  text-decoration: none;
  color: #333;
  transition: 0.3s;
}
main .sol_tab:hover {
  opacity: 0.7;
}
main .sol_install {
  position: relative;
  z-index: 0;
}
main .sol_install .blue_upper_bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
main .sol_install .sol_install_inner .coutnermeasure_title {
  max-width: 371px;
  min-width: 200px;
  width: 19.2vw;
}
main {
  /* 工法見出しバー */
}
main .sol_method_bar {
  background-image: url(../img/solutions/grad_title_bg.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 1.5vw 1vw;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 20px 20px 0 0;
}
main .sol_method_bar_sub {
  background-image: url(../img/solutions/grad_title_bg_sub.png);
  border-radius: 0px;
}
main {
  /* スカイ／フィット詳細 */
}
main .sol_thermal img {
  width: 60.41vw;
  max-width: 1160px;
  height: auto;
  display: block;
  margin-inline: auto;
}
main .sol_fit_imgs {
  width: 62.5vw;
}
main .sol_fit_arrow {
  flex: none;
  width: 4.2vw;
  max-width: 81px;
  height: auto;
}
main .sol_fit_imgs .sol_fit_ph {
  width: 28vw;
  max-width: 537px;
  height: auto;
}
main {
  /* OTHERS その他の屋根対策 */
}
main .sol_others {
  background: #F0F9FF;
}
main .sol_others .sol_others_inner .others_bg {
  max-width: 154px;
  min-width: 100px;
  width: 8.02vw;
}
main .sol_others_card {
  width: 29.3%;
}
main .sol_others_card img {
  width: 100%;
  height: auto;
}
main {
  /* 動画 */
}
main .sol_movie_thumb {
  flex: none;
  width: 31.19vw;
  max-width: 599px;
  display: block;
}
main .sol_movie_thumb img {
  width: 100%;
  height: auto;
}
main .sol_movie_frame {
  flex: none;
  width: 31.19vw;
  max-width: 599px;
  aspect-ratio: 16/9;
  overflow: hidden;
}
main .sol_movie_frame iframe {
  width: 32vw;
  height: 18vw;
  display: block;
  border: 0;
}
main .sol_movie_points {
  flex: 1;
  min-width: 0;
}
main .sol_movie_point {
  padding: 1.04vw 0;
  border-bottom: 2px solid #B8CEF7;
}
main {
  /* メリット（2カラム） */
}
main .sol_merit_grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: 4.16vw;
       column-gap: 4.16vw;
  row-gap: 3.12vw;
}
main .sol_merit_grid02 {
  border-top: 1px dashed #115AE2;
}
main .sol_merit_card img {
  width: 100%;
  height: auto;
}
main {
  /* ポリウレア */
}
main .sol_pori {
  position: relative;
  z-index: 0;
}
main .sol_pori .blue_upper_bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
main .sol_pori_head {
  display: flex;
  align-items: center;
  gap: 1.04vw;
}
main .sol_pori_bar {
  display: inline-block;
  width: 0.52vw;
  min-width: 8px;
  height: 2.5vw;
  min-height: 48px;
  background: #115AE2;
  flex: none;
}
main .sol_pori_grid {
  display: flex;
  flex-direction: column;
  gap: 2.08vw;
}
main .sol_pori_row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: 3.12vw;
       column-gap: 3.12vw;
  row-gap: 2.08vw;
}
main .sol_pori_row:not(:last-child) {
  padding-bottom: 2.08vw;
  border-bottom: 1px dashed #B8CEF7;
}
main .sol_pori_item {
  display: flex;
  gap: 1.04vw;
  align-items: flex-start;
}
main .sol_pori_item_body {
  flex: 1;
}
main .sol_pori_imgs {
  justify-content: center;
  gap: 1.04vw;
}
main .sol_pori_imgs img {
  width: 28.65vw;
  max-width: 550px;
  height: auto;
  aspect-ratio: 550/310;
  -o-object-fit: cover;
     object-fit: cover;
}
main {
  /* ラベルチップ（ポリウレア・特許共通） */
}
main .sol_pori_label,
main .sol_patent_label {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-radius: 5px;
  padding: 0.5em;
  line-height: 1.4;
}
main .sol_pori_label {
  width: 7.13vw;
  min-width: 100px;
}
main .sol_patent_label {
  width: 6.5vw;
  min-width: 86px;
}
main {
  /* 特許 */
}
main .sol_patent_card {
  align-items: center;
}
main .sol_patent_left {
  width: 48.3%;
}
main .sol_patent_right {
  width: 47.6%;
  flex: none;
}
main .sol_patent_right img {
  width: 100%;
  height: auto;
}
main .sol_patent_body {
  flex: 1;
}
main .sol_patent_rows {
  display: flex;
  flex-direction: column;
  gap: 1.04vw;
}
main .sol_patent_row {
  display: flex;
  gap: 1.04vw;
  align-items: flex-start;
}
main .sol_patent_row:not(:last-child) {
  padding-bottom: 1.04vw;
  border-bottom: 1px dashed #B8CEF7;
}
main .sol_case {
  position: relative;
  z-index: 0;
}
main .sol_case .example_bg {
  position: absolute;
  width: 100%;
  height: auto;
  bottom: 0;
  left: 0;
  z-index: 10;
}
main .sol_case .examples_area {
  background-image: unset;
}
main {
  /* お客様の声カード */
}
main .sol_case_card {
  width: 31.4%;
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  background: linear-gradient(to bottom, #fff 56%, #F0F9FF 56%);
  box-shadow: 0 0.2vw 0.6vw rgba(17, 90, 226, 0.15);
  padding: 1.8vw 1.2vw 2vw;
}
main .sol_case_photo {
  position: relative;
  width: 14.79vw;
  max-width: 284px;
  margin: 1.2vw auto;
}
main .sol_case_photo::before {
  content: "";
  position: absolute;
  inset: -6%;
  border-radius: 50%;
  background: rgba(184, 206, 247, 0.35);
  z-index: 0;
}
main .sol_case_photo img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
main {
  /* 西日対策 */
}
main .sun_img {
  width: 4.42vw;
}
main .sol_western_label {
  height: 2.81vw;
  max-height: 54px;
  width: auto;
}
main .sol_western_imgs img {
  width: 21.25vw;
  max-width: 408px;
  height: auto;
}
main {
  /* 窓対策 */
}
main .sol_window {
  position: relative;
  z-index: 0;
}
main .sol_window .windows_bg {
  position: absolute;
  width: 100%;
  height: auto;
  top: 0;
  left: 0;
  z-index: 10;
}
main .sol_window .sol_window_inner .mado_img {
  min-width: 40px;
  max-width: 85px;
  width: 4.42vw;
  height: auto;
}
main .sol_window_slash {
  font-weight: 700;
}
main .sol_window_card {
  width: 29.3%;
}
main .sol_window_card img {
  width: 100%;
  height: auto;
}
main {
  /* 導入場所別メリット */
}
main .merit_ex_img {
  max-width: 122px;
  min-width: 60px;
  width: 6.35vw;
}
main .sol_merit2 {
  position: relative;
  z-index: 0;
}
main .sol_merit2 .blue_upper_bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
main .sol_merit2_grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: 3.12vw;
       column-gap: 3.12vw;
  row-gap: 3.64vw;
}
main .sol_merit2_card {
  position: relative;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 0.2vw 0.6vw rgba(17, 90, 226, 0.12);
  padding: 3.125vw 2.08vw 2.08vw;
  margin-top: 2vw;
}
main .sol_merit2_icon {
  display: block;
  height: 3.8vw;
  max-height: 73px;
  width: auto;
  top: -1.5vw;
  left: 50%;
  transform: translateX(-50%);
  position: absolute;
  max-width: 200px;
}
main .sol_merit2_card_head {
  background: #F5F5F5;
}
main {
  /*----------------------------------------------------------------
    about（遮熱シートについて）
  ----------------------------------------------------------------*/
  /* 共通 */
}
main .ab_lead_text {
  max-width: 890px;
  margin-inline: auto;
}
main {
  /* EN見出し（左右ライン付き：FEATURE / MERIT） */
}
main .ab_en_label .ab_6merit_title {
  width: 5vw;
  min-width: 100px;
}
main .ab_en_line {
  display: inline-block;
  width: 1.71vw;
  min-width: 24px;
  height: 1px;
  background: #115AE2;
}
main .ab_en_text {
  font-family: "Roboto Condensed", sans-serif;
}
main {
  /* EN見出し（アウトライン文字：EXAMPLES） */
}
main .ab_en_outline {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 700;
  font-size: clamp(34px, 2.81vw, 54px);
  letter-spacing: 0.06em;
  line-height: 1;
  color: #fff;
  -webkit-text-stroke: 1.5px #B8CEF7;
}
main {
  /* MERIT 4カード */
}
main .ab_merit_grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: 2.08vw;
       column-gap: 2.08vw;
  row-gap: 1.66vw;
}
main .ab_merit_card {
  padding: 2.08vw 3.64vw 2.5vw 4.68vw;
  box-shadow: 3px 3px 5px 2px rgba(95, 166, 246, 0.36);
}
main .ab_merit_icon {
  width: 3.65vw;
  max-width: 70px;
  height: auto;
  flex: none;
}
main {
  /* SHEET */
}
main .ab_sheet {
  padding-top: 13.5vw;
  position: relative;
}
main .ab_sheet .abour_start_line {
  position: absolute;
  top: 1.5vw;
  left: 50%;
  z-index: 100;
  transform: translateX(-50%);
  width: 1px;
  height: 8.59vw;
  min-height: 80px;
  background: #115AE2;
}
main .ab_sheet .white_curve {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
main .ab_sheet_intro_text {
  flex: 1;
}
main .ab_sheet_intro_img {
  width: 8.75vw;
  max-width: 168px;
  height: auto;
  flex: none;
}
main .ab_sheet_col {
  flex: 1;
  width: 50%;
  position: relative;
}
main .ab_sheet_col h4 {
  position: absolute;
  top: -1.4vw;
  left: 50%;
  transform: translateX(-50%);
  z-index: 100;
}
main .ab_sheet_col_img {
  width: 100%;
  height: auto;
  aspect-ratio: 596/377;
  -o-object-fit: cover;
     object-fit: cover;
}
main {
  /* FEATURE 3カード */
}
main .ab_feature_grid > * {
  flex: 1;
}
main .ab_feature_card {
  position: relative;
  box-shadow: 0 0.2vw 0.6vw rgba(17, 90, 226, 0.12);
  display: flex;
  flex-direction: column;
}
main .ab_feature_badge {
  border-radius: 0 0 5px 5px;
  padding: 0.45em 1.6em;
  white-space: nowrap;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
main .about_line {
  width: 56px;
  background: #767676;
  height: 1px;
  margin-left: auto;
  margin-right: auto;
}
main .ab_feature_img {
  width: 100%;
  height: auto;
  aspect-ratio: 518/284;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0 0 10px 10px;
  margin-top: auto;
}
main {
  /* BARRIER */
}
main .ab_barrier_text {
  flex: 1;
}
main .ab_barrier_text .d-flex {
  text-underline-offset: 0vw;
}
main .ab_barrier_img {
  width: 23.85vw;
  max-width: 458px;
  height: auto;
  flex: none;
  aspect-ratio: 458/300;
  -o-object-fit: cover;
     object-fit: cover;
}
main .ab_perf {
  background-image: url(../img/about/ab_perf_bg.png);
  background-position: center top;
  background-size: contain;
  background-repeat: no-repeat;
}
main .ab_perf .ab_inner .heatstroke_arrow {
  width: 8.3vw;
}
main .ab_perf .ab_inner .ab_perf_title .about_wave {
  width: 22.6vw;
}
main .ab_perf_blocks {
  max-width: 1440px;
  width: 75vw;
  margin-right: 8.33vw;
  margin-left: auto;
}
main {
  /* 性能 */
}
main .ab_perf_text {
  flex: 1;
}
main .ab_perf_img {
  width: 38.64vw;
  max-width: 742px;
  height: auto;
  flex: none;
  aspect-ratio: 742/450;
  -o-object-fit: cover;
     object-fit: cover;
}
main .ab_perf_list {
  display: flex;
  flex-direction: column;
  gap: 0.83vw;
}
main .ab_perf_list li {
  border-bottom: 1px solid #B8CEF7;
  padding-bottom: 0.52vw;
}
main .ab_perf_check {
  font-size: 1.66vw;
}
main .ab_6merit {
  background-image: url(../img/about/merit_bg.png);
  background-position: 1.35vw 0vw;
  background-size: contain;
  background-repeat: no-repeat;
}
main {
  /* 6つのメリット */
}
main .ab_6merit_grid {
  display: grid;
  grid-template-columns: repeat(3, 22.9vw);
  -moz-column-gap: 1.66vw;
       column-gap: 1.66vw;
  row-gap: 5.7vw;
}
main .ab_6merit_badge {
  padding: 0.85em 0.6em;
  border-radius: 5px 5px 0 0;
}
main .ab_6merit_ttl {
  padding-top: 1.45vw;
  border-bottom: 1px solid #B8CEF7;
}
main .about_examples_area {
  background-image: url(../img/about/example.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
main .about_examples_area .heatstroke_arrow {
  width: 14.84vw;
}
main .ab_places .ab_inner .house_img {
  width: 9.47vw;
  height: auto;
  margin-bottom: -0.2vw;
}
main .ab_places .section_btn {
  width: 40.3vw;
  max-width: unset;
}
main {
  /* 施工場所 4カード */
}
main .ab_place_grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: 2.08vw;
       column-gap: 2.08vw;
  row-gap: 2.86vw;
}
main .ab_place_img {
  width: 100%;
  height: auto;
  aspect-ratio: 611/293;
  -o-object-fit: cover;
     object-fit: cover;
}
main {
  /* 実証実験 */
}
main .ab_exp_label {
  gap: 0;
}
main .ab_exp_slash {
  display: inline-block;
  width: 2px;
  height: 1.55vw;
  min-height: 24px;
  background: #333;
}
main .ab_exp_slash--l {
  transform: rotate(22deg);
}
main .ab_exp_slash--r {
  transform: rotate(-22deg);
}
main .ab_stat_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.14vw;
}
main .ab_stat_card {
  padding: 1.04vw;
  box-shadow: 0 0.2vw 0.5vw rgba(17, 90, 226, 0.12);
}
main .ab_stat_card .big_blue {
  position: relative;
  z-index: 0;
  top: 0.3vw;
}
main .ab_stat_card p {
  margin-bottom: 0.4vw;
}
main .ab_exp_desc {
  max-width: 960px;
}
main .ab_exp_about {
  flex: 1;
}
main .ab_exp_imgs {
  width: 34.64vw;
  max-width: 665px;
}
main .ab_exp_imgs img {
  width: 100%;
  height: auto;
  aspect-ratio: 324/193;
  -o-object-fit: cover;
     object-fit: cover;
}
main .ab_demo_about_ttl {
  border-left: 4px solid #B8cef7;
  padding-left: 1.04vw;
}
main .ab_exp2_boxes > * {
  flex: none;
}
main .ab_exp2_box {
  position: relative;
  width: 32.6vw;
  max-width: 626px;
  padding: 1.8vw 2vw 1.56vw;
  box-shadow: 0 0.2vw 0.5vw rgba(17, 90, 226, 0.12);
}
main .ab_exp2_arrow {
  position: absolute;
  top: -1vw;
  left: 50%;
  transform: translateX(-50%);
  width: 3.33vw;
  max-width: 64px;
  height: auto;
}
main .ab_exp2_img {
  width: 35.31vw;
  max-width: 678px;
  height: auto;
  flex: none;
  aspect-ratio: 678/387;
  -o-object-fit: cover;
     object-fit: cover;
}
main .ab_demo_wave {
  width: 100%;
  height: auto;
  display: block;
}
main {
  /* PDFボタン */
}
main .ab_pdf_btns .section_btn02 {
  width: 30vw;
  max-width: 520px;
}
main .ab_pdf_btn {
  background: #115AE2;
  border-radius: 999px;
  padding: 0.6em 0.6em 0.6em 1.5em;
  gap: 1em;
  text-decoration: none;
  transition: 0.3s;
  max-width: 100%;
}
main .ab_pdf_btn:hover {
  opacity: 0.85;
}
main .ab_pdf_btn_arrow {
  flex: none;
  width: 1.66vw;
  min-width: 32px;
  height: 1.66vw;
  min-height: 32px;
  border-radius: 50%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
main .ab_pdf_btn_arrow .material-icons {
  color: #115AE2;
  font-size: 1.25vw;
}
main {
  /* Q&A */
}
main .ab_qa_head {
  gap: 0;
}
main .ab_qa_head .qa_title {
  width: 4.79vw;
}
main .ab_qa_en {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 700;
}
main .ab_qa_div {
  display: inline-block;
  width: 1px;
  height: 1.87vw;
  min-height: 36px;
  background: #B8CEF7;
  margin: 0 1.04vw;
}
main .ab_qa_list {
  display: flex;
  flex-direction: column;
  gap: 1.04vw;
}
main .ab_qa_item {
  padding: 1.56vw 2.08vw;
}
main .ab_qa_q {
  gap: 1.04vw;
}
main .ab_qa_q_text {
  flex: 1;
}
main .ab_qa_badge {
  flex: none;
  width: 2.81vw;
  min-width: 40px;
  height: 2.81vw;
  min-height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 700;
  font-size: 1.25vw;
}
main .ab_qa_badge--q {
  background: #115AE2;
}
main .ab_qa_badge--a {
  background: #FF6031;
}
main .ab_qa_icon {
  flex: none;
  border-radius: 50%;
  border: 1px solid #115AE2;
}
main .ab_qa_a {
  gap: 1.04vw;
  margin-top: 1.04vw;
  padding-top: 1.04vw;
  border-top: 1px solid #E6EEFB;
}
main {
  /*----------------------------------------------------------------
    lineup（商品ラインナップ）
  ----------------------------------------------------------------*/
}
main .lu_list .lu_inner01 {
  max-width: 1440px;
  width: 75vw;
  margin-left: auto;
  margin-right: auto;
}
main .lu_en_img {
  width: auto;
  height: auto;
  max-height: 2.81vw;
}
main {
  /* ===== 商品一覧テーブル ===== */
}
main .lu_table_wrap {
  overflow: hidden;
  border-radius: 10px;
  border: 1px solid #B8CEF7;
}
main .lu_table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  table-layout: fixed;
}
main .lu_th {
  background: #F2F2F2;
  padding: 1.25vw 1vw;
  text-align: center;
  border-bottom: 1px solid #B8CEF7;
}
main .lu_th--name {
  width: 17vw;
}
main .lu_th + .lu_th {
  border-left: 1px solid #B8CEF7;
}
main .lu_th--img {
  width: 30vw;
}
main .lu_row {
  transition: background 0.3s;
}
main .lu_cell {
  padding: 1.45vw 1.5vw;
  border-bottom: 1px solid #B8CEF7;
  vertical-align: middle;
}
main .lu_table tbody tr:last-child .lu_cell {
  border-bottom: none;
}
main .lu_cell--name,
main .lu_cell--place {
  border-right: 1px solid #B8CEF7;
}
main {
  /* ホバーは商品名セルのaタグ上のみ水色 */
}
main .lu_cell--name {
  padding: 0;
  transition: background 0.3s;
}
main .lu_cell--name:has(.lu_anchor:hover) {
  opacity: 1 !important;
  background: #F0F9FF;
}
main .lu_anchor {
  text-decoration: none;
  gap: 1vw;
  padding: 1.45vw 1.5vw;
}
main .lu_anchor_arrow {
  flex: none;
  width: 1.77vw;
  min-width: 34px;
  height: 1.77vw;
  min-height: 34px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
main .lu_row_img {
  width: 100%;
  height: auto;
  aspect-ratio: 544/179;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
main {
  /* ===== タブ ===== */
}
main .lu_tabs_area {
  background-color: #f4f4f4;
}
main .lu_tabs_lead {
  color: #1a1a1a;
}
main .lu_tabs {
  max-width: 1460px;
  margin-left: auto;
  margin-right: auto;
  width: 76vw;
  display: flex;
  align-items: stretch;
}
main .lu_tab_btn {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  flex: 20 0 0; /* 200px相当 */
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4vw;
  height: 4.17vw; /* 80px相当 */
  min-height: 52px;
  margin-left: -1px; /* 隣接ボーダーを重ねる */
  border: 1px solid #B8CEF7;
  background: #fff;
  color: #115AE2;
  outline: none;
  cursor: pointer;
  transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
  text-align: center;
  border-radius: 20px 20px 0 0;
}
main .lu_tab_btn:first-child {
  flex: 26 0 0; /* 260px相当 */
  margin-left: 0;
}
main .lu_tab_label {
  line-height: 1.2;
  color: #115AE2;
  transition: 0.4s;
}
main .lu_tab_icon {
  color: inherit;
  font-size: 1.25vw;
  flex: none;
  transition: 0.4s;
}
main .lu_tab_btn:hover {
  background: #115AE2;
  color: #fff;
  border-color: #115AE2;
  position: relative;
  z-index: 2;
}
main .lu_tab_btn:hover .lu_tab_label {
  color: #fff;
}
main .lu_tab_btn--active {
  background: #115AE2;
  color: #fff;
  border-color: #115AE2;
  position: relative;
  z-index: 1;
}
main .lu_tab_btn--active .lu_tab_label {
  color: #fff;
}
main {
  /* ===== パネル ===== */
}
main .lu_panel {
  display: none;
  max-width: 1460px;
  margin-left: auto;
  margin-right: auto;
  width: 76vw;
}
main .lu_panel--active {
  display: block;
}
main .lu_sec_icon {
  flex: none;
  width: 2.6vw;
  max-width: 50px;
  height: auto;
}
main {
  /* 解決できること 4カード */
}
main .lu_solve_grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.45vw;
  border-bottom: 1px dotted #B8CEF7;
  padding-bottom: 3.64vw;
}
main .lu_solve_card {
  padding: 0 0 1.56vw;
  overflow: hidden;
}
main .lu_solve_label {
  border-radius: 0;
  background: #F5F5F5;
  border-left: 3px solid #B8CEF7;
  border-right: 3px solid #B8CEF7;
}
main .lu_solve_ttl,
main .lu_solve_desc {
  padding-inline: 1.25vw;
}
main {
  /* 活用場所ガイド */
}
main .lu_guide_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.3vw;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  width: 67vw;
}
main .lu_guide_grid--2 {
  grid-template-columns: repeat(2, 1fr);
  max-width: 66%;
  margin-inline: auto;
}
main .lu_guide_ttl {
  border-radius: 0;
  padding-left: 0.52vw;
  padding-right: 0.52vw;
  background: #F5F5F5;
  border-left: 3px solid #B8CEF7;
  border-right: 3px solid #B8CEF7;
}
main .lu_guide_img {
  width: 100%;
  height: auto;
  aspect-ratio: 394/271;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 5px;
  display: block;
}
main .lu_banner {
  width: 100%;
  border: 4px solid #4083FF;
  border-bottom: none;
  border-radius: 20px 20px 0 0;
  background: linear-gradient(90deg, rgba(17, 90, 226, 0.08) 12%, #115AE2 35%, #115AE2 65%, rgba(17, 90, 226, 0) 88%), #115AE2;
  min-height: 4.75vw;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.8vw 1vw;
}
main {
  /* 4つの特性（写真入り 2×2／各セルはテキストの下に写真の縦並び） */
}
main .lu_feat_list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: 3.1vw;
       column-gap: 3.1vw;
  row-gap: 3.1vw;
}
main .lu_feat_row {
  display: flex;
  flex-direction: column;
  gap: 1.8vw;
}
main .lu_feat_text {
  width: 100%;
}
main .lu_feat_photo {
  display: none;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 479/340;
  overflow: hidden;
  background: #fff;
  margin-top: auto;
}
main .lu_feat_photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
main .lu_feat_label {
  background: #F5F5F5;
  border-left: 5px solid #B8CEF7;
  border-right: 5px solid #B8CEF7;
  text-align: center;
}
main .lu_feat_checks {
  display: flex;
  flex-direction: column;
  gap: 1.1vw;
}
main .lu_feat_check {
  display: flex;
  align-items: center;
  gap: 0.83vw;
  border-bottom: 2px dashed #B8CEF7;
  padding-bottom: 0.5vw;
}
main .lu_feat_check_icon {
  flex: none;
  width: 1.45vw;
  max-width: 28px;
  height: auto;
}
main {
  /* 製品仕様テーブル */
}
main .lu_spec {
  padding-top: 3.64vw;
  border-top: 1px dotted #B8CEF7;
}
main .lu_spec_tables {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.6vw 4vw;
}
main .lu_spec_table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
main .lu_spec_table th,
main .lu_spec_table td {
  border: 1px solid #DCDCDC;
  padding: 0.9vw 1.1vw;
  text-align: left;
  vertical-align: middle;
}
main .lu_spec_table th {
  width: 38%;
  background: #F0F9FF;
  font-weight: 500;
}
main .lu_spec_link {
  display: none;
  text-decoration: none;
}
main .lu_spec_link:hover {
  opacity: 0.8;
}
main {
  /* CTAボタン */
}
main .lu_cta .lu_cta_btn01 {
  width: 19.4vw;
}
main .lu_cta .lu_cta_btn02 {
  width: 26.6vw;
}
main .lu_cta_btn {
  border: 2px solid #115AE2;
  border-radius: 999px;
  padding: 0.95vw 2.2vw;
  background: #fff;
  text-decoration: none;
  transition: 0.3s;
  text-align: center;
}
main .lu_cta_btn:hover {
  opacity: 0.85;
}
main .lu_cta_btn--blue {
  background: #115AE2;
  border-color: #115AE2;
}
main {
  /* ===== ガラスCoolコート ===== */
}
main .lu_glass .lu_inner {
  border-top: 1px dotted #B8CEF7;
  max-width: 1440px;
  width: 75vw;
  margin-left: auto;
  margin-right: auto;
}
main .lu_glass_icon {
  flex: none;
  width: 4.4vw;
  max-width: 85px;
  height: auto;
}
main .lu_glass_grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.45vw;
}
main .lu_glass_card {
  padding: 3.64vw 1vw 1.8vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #f5f5f5;
  position: relative;
}
main .lu_glass_card_icon {
  top: -1.8vw;
  left: 50%;
  transform: translateX(-50%);
  position: absolute;
  width: 4.16vw;
  max-width: 80px;
  height: auto;
}
main .lu_glass_season_item {
  max-width: 32vw;
}
main .lu_glass_season_item .lu_glass_season_icon {
  width: 6.5vw;
  max-width: 125px;
  height: auto;
  min-width: 60px;
}
main .lu_glass_season_badge {
  flex: none;
  width: 5.2vw;
  min-width: 80px;
  max-width: 100px;
  height: 5.2vw;
  min-height: 80px;
  max-height: 100px;
  border-radius: 50%;
  background: #115AE2;
  display: flex;
  align-items: center;
  justify-content: center;
}
main .lu_glass_season_line {
  display: inline-block;
  width: 1px;
  height: 6vw;
  max-height: 118px;
  background: #B8CEF7;
}