/* 共通 */
#PageContainer:has(#c_find-your-insulation) {
  overflow: clip;
}
#c_find-your-insulation {
  --c_fyi_ink: #1e1e1e;
  --c_fyi_accent: #fb355f;
  --c_fyi_en_font: "Helvetica Neue LT Pro", Helvetica, Arial, sans-serif;
  --c_fyi_jp_font: "Noto Sans JP", Arial, sans-serif;
  color: var(--c_fyi_ink);
  background: #fff;
  font-family: "Noto Sans JP", Arial, sans-serif;
  line-height: 1.7;

  img {
    display: block;
    max-width: 100%;
    height: auto;
  }
  p {
    margin-top: 0;
  }
  .c_fyi_forSP {
    display: none;
    @media (max-width: 768px) {
      display: block;
    }
  }
  br.c_fyi_forSP {
    display: none;
    @media (max-width: 768px) {
      display: inline-block;
    }
  }
  .c_fyi_forPC {
    display: block;
    @media (max-width: 768px) {
      display: none;
    }
  }
  br.c_fyi_forPC {
    display: inline-block;
    @media (max-width: 768px) {
      display: none;
    }
  }
}
#c_find-your-insulation *,
#c_find-your-insulation *::before,
#c_find-your-insulation *::after {
  box-sizing: border-box;
}
#c_find-your-insulation .c_fyi_visually_hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
#c_find-your-insulation .c_fyi_section {
  padding: 90px 24px;
  @media (max-width: 768px) {
    padding: 58px 11vw;
  }
}
#c_find-your-insulation .c_fyi_section_heading {
  max-width: 800px;
  margin: 0 auto 48px;
  text-align: center;
  h2 {
    margin: 0;
    font-size: clamp(28px, 4vw, 42px);
    font-weight: 600;
  }
}
#c_find-your-insulation .c_fyi_section_intro {
  margin-top: 20px;
}
#c_find-your-insulation .c_fyi_section_intro p,
#c_find-your-insulation .c_fyi_intro p,
#c_find-your-insulation .c_fyi_product_description p {
  margin: 0 0 1em;
}

/* Hero */
#c_find-your-insulation .c_fyi_jump_nav {
  position: sticky;
  z-index: 10;
  top: 0;
  right: 10px;
  width: 35px;
  left: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 0 0 auto;
  height: 100svh;
  justify-content: center;
  padding-bottom: 20%;
  float: right;
  @media (max-width: 768px) {
    position: sticky;
    top: 0;
    flex-direction: row;
    width: auto;
    margin: 0;
    padding: 12px 18px 0;
    gap: 6px;
    float: none;
    height: auto;
  }

  a {
    display: block;
    margin-bottom: 8px;
    padding: 31px 4px;
    border: 1px solid #bbb;
    border-radius: 20px;
    background: #fff;
    color: inherit;
    font-size: 12px;
    text-align: center;
    text-decoration: none;
    writing-mode: vertical-rl;
    @media (max-width: 768px) {
      margin: 0;
      padding: 2px 28px;
      border-radius: 30px;
      writing-mode: initial;
      display: inline-block;
    }
  }
  a:hover,
  a[aria-current="location"] {
    background: #222;
    color: #fff;
  }
}
#c_find-your-insulation .c_fyi_hero {
  max-width: 1100px;
  margin: 0 auto;
  padding: 90px 24px 40px;
  text-align: center;
  @media (max-width: 768px) {
    padding: 64px 0px 30px;
  }
}
#c_find-your-insulation .c_fyi_hero_title {
  max-width: 680px;
  margin: 0 auto;
  font-family: Georgia, serif;
  font-size: clamp(49px, 7vw, 90px);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.06em;
  @media (max-width: 768px) {
    font-size: clamp(42px, 11vw, 72px);
  }
  picture {
    display: block;
    .c_fyi_hero_title_image {
      display: block;
      width: 80%;
      max-width: 456px;
      height: auto;
      margin: 0 auto;
    }
  }
}
#c_find-your-insulation .c_fyi_hero_subtitle {
  margin: 20px 0 0;
  font-size: 20px;
  letter-spacing: 0.06em;
  @media (max-width: 768px) {
    font-size: 14px;
  }
}
#c_find-your-insulation .c_fyi_hero_illustration {
  display: block;
  width: 100%;
  margin: 0 auto -10%;
  img {
    width: 100%;
  }
}
#c_find-your-insulation .c_fyi_hero_visual {
  display: block;
  position: relative;
  max-width: 850px;
  margin: 0 auto;
  overflow: hidden;
  @media (max-width: 768px) {
    overflow: visible;
  }
  img {
    width: 100%;
  }
}
#c_find-your-insulation .c_fyi_intro {
  max-width: 697px;
  margin: 15px auto 0;
  font-size: 16px;
  text-align: left;
  @media (max-width: 768px) {
    margin-top: 32px;
    padding: 0 11vw;
  }
}
#c_find-your-insulation .c_fyi_ctas {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 520px;
  margin: 30px auto 0;
  @media (max-width: 768px) {
    flex-direction: column;
    gap: 12px;
    margin: 20px auto 0;
    padding: 0 11vw;
  }
}
#c_find-your-insulation .c_fyi_cta {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  border: 1px solid #4d4d4d;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: calc(20px / 1em);
  padding: 15px 34px;
  border-radius: 25px;
  transition: all 0.3s ease;
  &:after {
    content: "";
    display: inline-block;
    width: 10px;
    height: 17px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='17' viewBox='0 0 10 17' fill='none'%3E%3Cpath d='M.5 15.6082 9.14703 8.05411.5.5' stroke='%234D4D4D' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
      center / contain no-repeat;

    @media screen and (max-width: 768px) {
      width: 5px;
      height: 8px;
    }
  }
  @media screen and (max-width: 768px) {
    padding: 7px 25px;
    font-size: 10px;
  }

  &:hover {
    color: #fff;
    background: #4d4d4d;
    opacity: 1;
    &:after {
      background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='17' viewBox='0 0 10 17' fill='none'%3E%3Cpath d='M.5 15.6082 9.14703 8.05411.5.5' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
        center / contain no-repeat;
    }
  }
}

/* ポイント */
#c_find-your-insulation .c_fyi_points {
  max-width: 700px;
  margin: 60px auto 0;
  padding: 0 24px;
  background: #fff;
  color: #222;
  @media (max-width: 768px) {
    margin: 50px auto 0;
    padding: 0 11vw;
  }
  h2 {
    margin: 0 0 20px;
    font-size: clamp(25px, 3vw, 28px);
    text-align: center;
    letter-spacing: 5%;
    @media (max-width: 768px) {
      font-size: 18px;
      letter-spacing: 5%;
      font-weight: 500;
      line-height: 28px;
    }
  }
  ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  li {
    position: relative;
    padding: 12px 0 12px 25px;
    border-bottom: 1px solid #aaa;
    font-size: 20px;
    letter-spacing: 5%;
    @media (max-width: 768px) {
      font-size: 15px;
    }
    &:last-child {
      border-bottom: 0;
    }
  }
  li::before {
    content: "";
    position: absolute;
    top: 23px;
    left: 0;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #d7d17d;
  }
}
#c_find-your-insulation .c_fyi_intro_followup {
  margin: 40px auto 0;
  line-height: 2;
  @media (max-width: 768px) {
    margin: 40px auto 0;
  }
}
#c_find-your-insulation .c_fyi_points_illustration {
  width: 420px;
  margin: 25px max(0px, calc((100% - 1100px) / 2)) 0 auto;
  img {
    display: block;
    width: 100%;
    height: auto;
  }
  @media (max-width: 768px) {
    width: 75%;
    margin: -10% 0 0 auto;
    opacity: 0.6;
  }
}

/* ランドスケープ・素材 */
#c_find-your-insulation .c_fyi_landscape {
  display: block;
  position: relative;
  z-index: 2;
  overflow: hidden;
  aspect-ratio: 1280 / 540;
  @media (max-width: 768px) {
    aspect-ratio: 375/200;
  }
  picture {
    display: block;
    width: 100%;
    height: 100%;
  }
  img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
#c_find-your-insulation .c_fyi_banner_copy {
  position: absolute;
  z-index: 1;
  bottom: 7%;
  left: 5.5%;
  max-width: 89%;

  font-weight: 400;
  pointer-events: none;
  @media (max-width: 768px) {
    bottom: 8%;
  }
  &.c_fyi_banner_copy--down {
    right: 5.5%;
    left: auto;
    text-align: right;
  }
  .c_fyi_banner_copy_title {
    display: block;
    margin: 0;
    font-size: clamp(30px, 3.5vw, 90px);
    font-weight: 500;
    letter-spacing: 10%;
    line-height: 1.12;
    color: #fff;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    @media (max-width: 768px) {
      font-size: 7.5vw;
    }
  }
  .c_fyi_banner_copy_subtitle {
    display: block;
    margin: clamp(8px, 0.9vw, 24px) 0 0;
    font-size: clamp(14px, 1.55vw, 24px);
    line-height: 1.4;
    color: #fff;
    @media (max-width: 768px) {
      margin-top: 10px;
      font-size: 3.7vw;
    }
  }
}
#c_find-your-insulation .c_fyi_materials {
  max-width: 1120px;
  margin: 0 auto;
  padding-top: 120px;
  @media (max-width: 768px) {
    padding-top: 10%;
  }
}
#c_find-your-insulation .c_fyi_material_list {
  display: grid;
  gap: 80px;
  @media (max-width: 768px) {
    gap: 200px;
  }
}
#c_find-your-insulation .c_fyi_material {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: clamp(30px, 5vw, 70px);
  max-width: 860px;
  margin: 0 auto;
  position: relative;
  scroll-margin-top: 90px;
  @media (max-width: 768px) {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}
#c_find-your-insulation .c_fyi_material_visual {
  position: relative;
  min-height: 340px;
  z-index: 1;
  @media (max-width: 768px) {
    min-height: 0;
  }
}
#c_find-your-insulation .c_fyi_material_content {
  position: relative;
  z-index: 1;
}
#c_find-your-insulation .c_fyi_material_illustration {
  position: absolute;
  img {
    display: block;
    width: 100%;
    height: auto;
  }
}
#c_find-your-insulation [data-material="synthetic"] {
  .c_fyi_material_illustration {
    top: -130px;
    left: 100%;
    width: 50%;
    min-width: 280px;
    z-index: 0;
    transform: translate(-30%);
    @media (max-width: 768px) {
      left: auto;
      right: 0;
      top: 38%;
      transform: translateX(calc(11vw + 20%));
      width: 40%;
      min-width: 190px;
    }
  }
}
#c_find-your-insulation [data-material="down"] {
  .c_fyi_material_illustration {
    top: -20%;
    left: -16%;
    width: 33%;
    z-index: 0;
    @media (max-width: 768px) {
      top: -200px;
      left: -11vw;
      width: 220px;
    }
  }
}
#c_find-your-insulation .c_fyi_material_image {
  position: relative;
  width: 100%;
  max-height: 480px;
  object-fit: contain;
  @media (max-width: 768px) {
    max-height: 360px;
  }
}
#c_find-your-insulation .c_fyi_material_lead {
  margin: 0 0 8px;
  font-size: 18px;
  letter-spacing: 5%;
  @media (max-width: 768px) {
    font-size: 14px;
    margin: 0 0 14px;
  }
}
#c_find-your-insulation h3.c_fyi_material_title {
  margin: 0 0 25px;
  font-size: clamp(34px, 4vw, 50px);
  line-height: 1.25;
  font-family: var(--c_fyi_en_font);
  font-weight: 600;
  letter-spacing: 10%;
  @media (max-width: 768px) {
    font-size: 32px;
    line-height: 1.15;
    letter-spacing: 0.04em;
  }
  span {
    display: block;
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 5%;
    @media (max-width: 768px) {
      font-size: 14px;
      margin-top: 10px;
    }
  }
}
#c_find-your-insulation .c_fyi_material_description {
  margin: 0 0 28px;
  font-size: 16px;
  line-height: 2;
  p {
    margin: 0;
  }
}
#c_find-your-insulation .c_fyi_material_link {
  display: inline-block;
  min-width: 300px;
  padding: 12px 20px;
  border-radius: 4px;
  background: #8c8c8c;
  color: #fff;
  text-align: center;
  text-decoration: none;
  @media (max-width: 768px) {
    width: 100%;
    min-width: 0;
    font-size: 11px;
  }
}

/* 製品マッピング */
#c_find-your-insulation .c_fyi_mapping {
  max-width: 900px;
  margin: 15px auto 0px;
  padding: 0 24px;
  @media (max-width: 768px) {
    margin-bottom: 60px;
    padding: 0;
  }
}
#c_find-your-insulation .c_fyi_mapping_stage {
  position: relative;
  aspect-ratio: 1800/1280;
  overflow: hidden;
  @media (max-width: 768px) {
    aspect-ratio: auto;
    min-height: 760px;
  }
}
#c_find-your-insulation .c_fyi_mapping_background {
  display: block;

  img {
    width: 100%;
    height: 100%;
    object-fit: fill;
  }
}

#c_find-your-insulation .c_fyi_mapping_product {
  position: absolute;
  z-index: 1;
  left: var(--c_fyi_map_x);
  top: var(--c_fyi_map_y);
  display: flex;
  flex-direction: column;
  align-items: center;
  width: clamp(60px, 9%, 115px);
  color: #222;
  text-align: center;
  text-decoration: none;
  transform: translate(-50%, -50%);
  @media (max-width: 768px) {
    width: 20%;
    max-width: 105px;
  }
  @media (max-width: 400px) {
    width: 60px;
  }
  img {
    width: 100%;
    height: clamp(55px, 9vw, 110px);
    object-fit: contain;
    transition: transform 0.2s ease;
  }
}
/* 商品ごとのPC・SP配置 */
#c_find-your-insulation .c_fyi_mapping_product[data-target="atom-sv"] {
  --c_fyi_map_x: 40%;
  --c_fyi_map_y: 51%;
  @media (max-width: 768px) {
    --c_fyi_map_x: 42%;
    --c_fyi_map_y: 55%;
  }
}
#c_find-your-insulation .c_fyi_mapping_product[data-target="atom"] {
  --c_fyi_map_x: 50%;
  --c_fyi_map_y: 46%;
  @media (max-width: 768px) {
    --c_fyi_map_x: 50%;
    --c_fyi_map_y: 48%;
  }
}
#c_find-your-insulation .c_fyi_mapping_product[data-target="proton"] {
  --c_fyi_map_x: 71%;
  --c_fyi_map_y: 19%;
  @media (max-width: 768px) {
    --c_fyi_map_x: 70%;
    --c_fyi_map_y: 25%;
  }
}
#c_find-your-insulation .c_fyi_mapping_product[data-target="proton-sl"] {
  --c_fyi_map_x: 91%;
  --c_fyi_map_y: 15%;
  @media (max-width: 768px) {
    --c_fyi_map_x: 88%;
    --c_fyi_map_y: 15%;
  }
}
#c_find-your-insulation .c_fyi_mapping_product[data-target="cerium-sv"] {
  --c_fyi_map_x: 10%;
  --c_fyi_map_y: 80%;
  @media (max-width: 768px) {
    --c_fyi_map_x: 10%;
    --c_fyi_map_y: 85%;
  }
}
#c_find-your-insulation .c_fyi_mapping_product[data-target="cerium"] {
  --c_fyi_map_x: 30%;
  --c_fyi_map_y: 73%;
  @media (max-width: 768px) {
    --c_fyi_map_x: 28%;
    --c_fyi_map_y: 71%;
  }
}
#c_find-your-insulation .c_fyi_mapping_product[data-target="thorium"] {
  --c_fyi_map_x: 20%;
  --c_fyi_map_y: 80%;
  @media (max-width: 768px) {
    --c_fyi_map_x: 24%;
    --c_fyi_map_y: 85%;
  }
}
#c_find-your-insulation .c_fyi_mapping_product[data-target="omineca"] {
  --c_fyi_map_x: 40%;
  --c_fyi_map_y: 73%;
  @media (max-width: 768px) {
    --c_fyi_map_x: 41%;
    --c_fyi_map_y: 71%;
  }
}
#c_find-your-insulation .c_fyi_mapping_product:hover img,
#c_find-your-insulation .c_fyi_mapping_product:focus-visible img {
  transform: scale(1.07);
}
#c_find-your-insulation .c_fyi_mapping_product_name {
  font-size: clamp(9px, 1.2vw, 13px);
  line-height: 1.3;
  @media (max-width: 768px) {
    font-size: 10px;
  }
}
#c_find-your-insulation .c_fyi_mapping_product_dot {
  width: 11px;
  height: 11px;
  margin-top: 5px;
  border-radius: 50%;
  background: #32856b;
  @media (max-width: 768px) {
    width: 8px;
    height: 8px;
  }
}
#c_find-your-insulation
  .c_fyi_mapping_product[data-material="down"]
  .c_fyi_mapping_product_dot {
  background: #a532d6;
}
#c_find-your-insulation .c_fyi_mapping_product:focus-visible {
  outline: 2px solid #222;
  outline-offset: 4px;
}
#c_find-your-insulation .c_fyi_mapping_illustration {
  position: relative;
  z-index: 2;
  display: block;
  width: 30%;
  max-width: 300px;
  margin: -150px -24px 0 auto;
  pointer-events: none;
  img {
    display: block;
    width: 100%;
    height: auto;
  }
  @media (max-width: 768px) {
    width: 42%;
    margin: -45px 0 0 auto;
  }
}

/* 製品 */
#c_find-your-insulation .c_fyi_section_banner {
  display: block;
  overflow: hidden;
  position: relative;
  z-index: 2;
  aspect-ratio: 1280 / 540;
  @media (max-width: 768px) {
    aspect-ratio: 375 / 200;
  }
  picture {
    display: block;
    width: 100%;
    height: 100%;
  }
  img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
#c_find-your-insulation .c_fyi_products {
  scroll-margin-top: 80px;
  position: relative;
  padding-bottom: 0px;
}
#c_find-your-insulation .c_fyi_section_banner,
#c_find-your-insulation .c_fyi_series_anchor {
  scroll-margin-top: 80px;
}
#c_find-your-insulation .c_fyi_series_anchor {
  display: block;
}
#c_find-your-insulation .c_fyi_products_inner {
  max-width: 920px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
#c_find-your-insulation .c_fyi_products_illustration {
  position: absolute;
  img {
    width: 100%;
    margin: 0 auto 0px;
    object-fit: contain;
  }
}
#c_find-your-insulation [data-material="synthetic"] {
  .c_fyi_products_illustration--top {
    position: sticky;
    height: 1px;
    opacity: 0.6;
    width: 50%;
    max-width: 490px;
    z-index: 0;
    top: 0;
    left: 0;
    transform: translate(-30%, -43%);
    @media (max-width: 768px) {
      width: 104svw;
      left: 0;
      top: 80px;
      transform: translate(-11vw, -30vw);
      max-width: none;
      opacity: 0.2;
    }
  }
  .c_fyi_products_illustration--bottom {
    width: 41%;
    max-width: 490px;
    min-width: 244px;
    position: relative;
    margin: -2% 0 0 auto;
    transform: translateX(20%);
  }
}
#c_find-your-insulation [data-material="down"] {
  .c_fyi_products_illustration--top {
    position: sticky;
    height: 1px;
    opacity: 0.6;
    width: 50%;
    max-width: 500px;
    z-index: 0;
    top: 0;
    left: 0;
    transform: translate(-30%, -43%);
    @media (max-width: 768px) {
      width: 104svw;
      left: 0;
      top: 80px;
      transform: translate(-11vw, -30vw);
      max-width: none;
      opacity: 0.2;
    }
  }
  .c_fyi_products_illustration--bottom {
    width: 41%;
    max-width: 400px;
    min-width: 240px;
    position: relative;
    margin: -10% 0px -3% auto;
    transform: translateX(20%);
  }
}
#c_find-your-insulation .c_fyi_group_title {
  margin: 0 0 50px;
  padding-bottom: 16px;
  border-bottom: 1px solid #464646;
  font-size: clamp(27px, 3vw, 38px);
  font-weight: 500;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 10%;
  span {
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 10%;
    margin: 0;
    font-family: "Noto Sans JP", Arial, sans-serif;
    @media (max-width: 768px) {
      display: block;
      margin: 4px 0 0;
    }
  }
}
#c_find-your-insulation .c_fyi_product {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: clamp(36px, 3vw, 80px);
  margin-bottom: 95px;
  scroll-margin-top: 90px;
  @media (max-width: 768px) {
    display: flex;
    flex-direction: column;
    min-height: 0;
    gap: 24px;
    margin-bottom: 90px;
  }
}
#c_find-your-insulation .c_fyi_product_visual {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: stretch;
  min-width: 0;
  @media (max-width: 768px) {
    display: contents;
  }
}
#c_find-your-insulation .c_fyi_product_image {
  position: relative;
  flex: 1;
  img {
    position: sticky;
    top: calc(var(--header-height) + 20px);
    left: 0;
    z-index: 1;
    width: 90%;
    max-height: 550px;
    object-fit: contain;
    @media (max-width: 768px) {
      position: relative;
      order: 1;
      max-height: 440px;
      margin: 0 auto;
      top: 0;
    }
  }
}
#c_find-your-insulation .c_fyi_product_links {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  gap: 22px;
  margin: 24px 0 0;
  @media (max-width: 768px) {
    order: 3;
    width: 100%;
    margin: 0 auto;
  }
  a,
  .c_fyi_product_link {
    display: flex;
    flex: 0 1 120px;
    flex-direction: column;
    align-items: center;
    color: inherit;
    font-size: 12px;
    text-align: center;
    text-decoration: none;
  }
  img {
    width: 100%;
    height: 130px;
    object-fit: contain;
  }
  span {
    display: block;
    width: 100%;
    padding: 9px 4px;
    border: 1px solid #1e1e1e;
    background: #fff;
    border-radius: 4px;
    line-height: 1.3;
    margin-top: 8px;
  }
}
#c_find-your-insulation .c_fyi_product_link--coming-soon span {
  border-color: #999;
  color: #666;
}
#c_find-your-insulation .c_fyi_product_content {
  min-width: 0;
  @media (max-width: 768px) {
    order: 2;
  }
}
#c_find-your-insulation .c_fyi_product_name {
  margin: 0 0 18px;
  line-height: 1.2;
  @media (max-width: 768px) {
    text-align: center;
  }
}
#c_find-your-insulation .c_fyi_product_name_en {
  display: block;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(32px, 3.5vw, 46px);
  font-weight: 500;
  @media (max-width: 768px) {
    filter: drop-shadow(0px 0px 20px #fff);
  }
}
#c_find-your-insulation .c_fyi_product_name_jp {
  display: block;
  margin-top: 2px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  @media (max-width: 768px) {
    font-size: 12px;
    letter-spacing: 5%;
    line-height: 2;
    filter: drop-shadow(0px 0px 20px #fff);
  }
}
#c_find-your-insulation .c_fyi_product_lead {
  font-size: 17px;
  font-weight: 600;
  letter-spacing: 5%;
  @media (max-width: 768px) {
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    filter: drop-shadow(0px 0px 20px #fff);
  }
}
#c_find-your-insulation .c_fyi_product_models {
  margin: 20px 0;
  font-size: 14px;
  line-height: 1.7;
  @media (max-width: 768px) {
    font-size: 12px;
    margin: 0px 0 8px;
    filter: drop-shadow(0px 0px 20px #fff);
  }
}
#c_find-your-insulation .c_fyi_product_price {
  margin-bottom: 3px;
  font-weight: 600;
  @media (max-width: 768px) {
    filter: drop-shadow(0px 0px 20px #fff);
  }
}
#c_find-your-insulation .c_fyi_product_weight {
  margin-bottom: 22px;
  font-size: 12px;
  @media (max-width: 768px) {
    filter: drop-shadow(0px 0px 20px #fff);
  }
}
#c_find-your-insulation .c_fyi_product_specs {
  margin: 22px 0 28px;
  div {
    display: flex;
    margin: 4px 0;
    font-size: 13px;
    gap: 2px;
  }
  dt {
    width: 70px;
    padding: 3px;
    background: #222;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    flex-shrink: 0;
    word-break: keep-all;
  }
  dd {
    margin: 0;
    padding: 3px 12px;
    background: var(--c_fyi_accent);
    color: #fff;
    font-weight: 600;
    font-size: 13px;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    @media (max-width: 768px) {
      padding: 2px 10px;
      font-size: 10px;
    }
  }
  dd.c_fyi_product_spec_values {
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
    padding: 0;
    background: none;
    span {
      padding: 3px 12px;
      background: var(--c_fyi_accent);
      @media (max-width: 768px) {
        padding: 2px 10px;
        font-size: 10px;
      }
    }
  }
}
#c_find-your-insulation .c_fyi_product_description {
  font-size: 14px;
  line-height: 1.9;
  p {
    @media (max-width: 768px) {
      filter: drop-shadow(0px 0px 20px #fff);
    }
  }
}
#c_find-your-insulation .c_fyi_features {
  position: relative;
  margin-top: 32px;
  padding: 0 10px;
  @media (max-width: 768px) {
    width: 100svw;
    margin-left: -11vw;
  }
}
#c_find-your-insulation .c_fyi_features .swiper-wrapper {
  padding-bottom: 8px !important;
}
#c_find-your-insulation .c_fyi_feature_image_slide {
  img {
    width: 100%;
    height: auto;
  }
}
#c_find-your-insulation .c_fyi_feature_text_slide {
  h4 {
    margin: 0 0 8px;
    font-size: 16px;
    font-weight: 500;
    font-family: var(--c_fyi_jp_font);
    line-height: 1.57;
    letter-spacing: 0.7px;
    text-align: center;
    @media (max-width: 768px) {
      font-size: 14px;
      filter: drop-shadow(0px 0px 20px #fff);
    }
  }
  div {
    font-size: 12px;
    line-height: 1.66;
    padding: 0 50px;
    text-align: left;
    @media (max-width: 768px) {
      filter: drop-shadow(0px 0px 20px #fff);
    }
  }
  p {
    margin: 0;
  }
}
#c_find-your-insulation .c_fyi_feature_dots {
  position: relative;
  inset: auto;
  display: flex;
  justify-content: center;
  gap: 6px;
  margin: 10px auto;
  transform: none;

  .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #c8c8c8;
  }
  .swiper-pagination-bullet-active {
    background: #464646;
  }
}
#c_find-your-insulation .c_fyi_features .swiper-button-prev,
#c_find-your-insulation .c_fyi_features .swiper-button-next {
  position: absolute;
  z-index: 2;
  top: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #464646;
  appearance: none;
  cursor: pointer;
  margin-top: -19px;
  transform: translateY(-50%);
  svg {
    width: 9px;
  }
  &::after {
    display: none;
  }
}
#c_find-your-insulation .c_fyi_features .swiper-button-prev {
  left: 10px;
}
#c_find-your-insulation .c_fyi_features .swiper-button-next {
  right: 10px;
}
#c_find-your-insulation .c_fyi_features .swiper-button-disabled {
  background: #c8c8c8;
  opacity: 1;
  cursor: default;
}
#c_find-your-insulation .c_fyi_comparison {
  max-width: 1012px;
  margin: 0 auto;

  .c_fyi_comparison_inner {
    position: relative;
    width: min(1012px, calc(100vw - 48px));
    overflow-x: auto;
    margin: 30px auto 0px;
    z-index: 2;
    @media (max-width: 768px) {
      left: auto;
      width: calc(100% + 36px);
      margin: 30px -18px 50px;
      padding: 0 0;
      transform: none;
      -webkit-overflow-scrolling: touch;
    }
    &:focus-visible {
      outline: 2px solid #222;
      outline-offset: 4px;
    }
  }

  table {
    width: 100%;
    min-width: 900px;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: clamp(13px, 1.1vw, 17px);
    line-height: 1.45;
    text-align: center;
    @media (max-width: 768px) {
      min-width: 768px;
    }
  }
  caption {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
  th,
  td {
    width: 220px;
    padding: 15px 12px;
    border: 3px solid #fff;
    vertical-align: middle;
    text-align: center;
    font-size: 12px;
    @media (max-width: 768px) {
      width: 180px;
      font-size: 10px;
      padding: 10px;
    }
  }
  tr > *:first-child {
    width: 120px;
    @media (max-width: 768px) {
      width: 84px;
      word-break: auto-phrase;
      padding: 0 8px;
      font-size: 10px;
    }
  }
  .c_fyi_comparison_images td {
    background: transparent;
  }
  .c_fyi_comparison_images img {
    width: 100%;
    height: clamp(155px, 23vw, 200px);
    object-fit: contain;
    @media (max-width: 768px) {
      height: 214px;
    }
  }
  .c_fyi_comparison_names th {
    padding: 10px 10px;
    background: #1e1e1e;
    color: #fff;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.3;
    font-family: "Noto Sans JP", Arial, sans-serif;
    @media (max-width: 768px) {
      font-size: 10px;
    }
  }
  tbody {
    tr:nth-child(odd) {
      background: #fff;
    }
    tr:nth-child(even) {
      background: #e9e9e9;
    }
    th {
      font-weight: 600;
      font-size: 12px;
      padding: 0;
    }
  }
  .scroll-hint-icon-wrap {
    @media (min-width: 769px) {
      display: none;
    }
  }
}
#c_find-your-insulation .c_fyi_comparison_size {
  display: block;
}

/* 商品LINEUP */
#c_find-your-insulation .c_fyi_lineup_banner {
  display: block;
  position: relative;
  overflow: hidden;
  aspect-ratio: 1280 / 540;
  z-index: 2;
  @media (max-width: 768px) {
    aspect-ratio: 375 / 200;
  }
  picture {
    display: block;
    width: 100%;
    height: 100%;
  }
  img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
#c_find-your-insulation .c_fyi_lineup {
  max-width: 710px;
  margin: 0 auto;

  .c_fyi_section_heading h2 {
    text-align: left;
    font-size: 24px;
  }

  .c_fyi_lineup_group {
    margin-bottom: 58px;
    h3 {
      margin: 0 0 24px;
      padding-bottom: 12px;
      border-bottom: 1px solid #888;
      font-size: 20px;
      font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-weight: 500;
      letter-spacing: 10%;
      span {
        font-size: 10px;
        font-weight: 400;
        margin: 0;
        font-weight: 400;
        letter-spacing: 10%;
        @media (max-width: 768px) {
          display: block;
          margin: 8px 0 0;
        }
      }
    }
  }

  .c_fyi_ctas {
    @media (max-width: 768px) {
      padding: 0;
    }
  }
}
#c_find-your-insulation .c_fyi_product_list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 26px;
  margin: 0;
  padding: 0;
  list-style: none;
  @media (max-width: 768px) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  li {
    text-align: center;
    font-size: 13px;
  }
  img {
    width: 100%;
    height: 190px;
    object-fit: contain;
    @media (max-width: 768px) {
      height: 160px;
    }
  }
  span {
    display: block;
    min-height: 46px;
    margin: 12px 0;
    @media (max-width: 768px) {
      min-height: 25px;
    }
  }
  a {
    display: block;
    padding: 5px;
    border: 1px solid #464646;
    color: #464646;
    text-decoration: none;
    font-size: 11px;
    font-weight: 500;
    max-width: 180px;
    margin: 0 auto;
  }
}
