/* mv --------------------------------------- */
.mv {
  padding: 5rem 0 3.5rem;
  background: var(--color-bage);
}
.mv .swiper {
  overflow: visible;
}
.mv .swiper-pagination-mv {
  display: flex;
  justify-content: center;
  margin-top: 2.5rem;
}
.mv .swiper-pagination-bullet {
  width: 0.8rem;
  height: 0.8rem;
  margin: 0 0.6rem;
  background: var(--color-black);
}
.mv .swiper-slide {
  position: relative;
  overflow: hidden;
  width: 116rem;
  height: 54rem;
  border-radius: 1rem;
  margin: 0 -4rem;
  transition: .5s;
}
.mv .swiper-slide:not(.swiper-slide-active) {
  transform: scale(0.815);
}
.mv .swiper-slide img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.mv .swiper-controll {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 128.2rem;
  justify-content: space-between;
  transform: translate(-50%, -50%);
  margin: 0;
  z-index: 2;
  pointer-events: none;
}
.mv .swiper-button {
  background: var(--color-white);
  border: none;
  width: 8.7rem;
  height: 8.7rem;
  box-shadow: 0 0.2rem 0.6rem rgb(0 0 0 / 0.1);
  pointer-events: auto;
}
.mv .swiper-button::before {
  width: 2rem;
  height: 1.4rem;
}
@media screen and (max-width: 767px) {
  .mv {
    padding: 3rem 0 2rem;
  }
  .mv .swiper-slide {
    width: 31.5rem;
    height: 41.5rem;
    margin: 0 -1rem;
  }
  .mv .swiper-pagination-mv {
    margin-top: 2rem;
  }
  .mv .swiper-pagination-bullet {
    width: 0.6rem;
    height: 0.6rem;
    margin: 0 0.2rem;
  }
}

/* leadWrap --------------------------------------- */
.leadWrap {
  padding: 7rem 0 7.8rem;
}
.leadWrap .links {
  display: flex;
  gap: 3rem;
}
.leadWrap .news {
  position: relative;
  display: flex;
  gap: 7.7rem;
  align-items: center;
  margin-top: 5rem;
  background: #F6F6F6;
  border-radius: 1rem;
  padding: 0 22rem 0 6rem;
}
.leadWrap .news .ttl_h2 {
  font-size: 2.2rem;
}
.leadWrap .news_card {
  display: block;
  padding: 4rem 0;
}
.leadWrap .news_card::after {
  content: none;
}
.leadWrap .news_card time {
  display: block;
  margin-bottom: 1.3rem;
}
.leadWrap .more {
  position: absolute;
  right: 5rem;
  top: 50%;
  transform: translateY(-50%);
  padding: 0;
}
.leadWrap .more::after {
  content: none;
}
@media screen and (max-width: 767px) {
  .leadWrap {
    padding: 4rem 0 6rem;
  }
  .leadWrap .links {
    gap: 1rem;
    flex-wrap: wrap;
  }
  .leadWrap .news {
    flex-direction: column;
    align-items: flex-start;
    padding: 2.9rem 3rem 3.8rem;
    margin-top: 4rem;
    gap: 2.2rem;
  }
  .leadWrap .news .ttl_h2 {
    font-size: 1.6rem;
  }
  .leadWrap .news_card {
    padding: 0;
    width: 100%
  }
  .leadWrap .news_card p {
    max-width: none;
  }
  .leadWrap .news_card::after {
    content: none;
  }
  .leadWrap .more {
    position: static;
    font-size: 1.2rem;
    transform: unset;
  }
}



/* product --------------------------------------- */
.product {
  background: url(../img/waterheater/top/product_bg.jpg) center/cover no-repeat;
}
.product .flex {
  display: flex;
  align-items: center;
  margin-bottom: 4.7rem;
  justify-content: space-between;
  padding-right: 15.2rem;
}
.product .flex .df_ttl {
  margin-bottom: 0;
}
.product .maker_list {
  display: flex;
  gap: 0.7rem;
  align-items: center;
}
.product .maker_list li {
  font-size: 1.4rem;
  font-family: var(--font-en);
  font-weight: var(--medium);
  padding: 1.2rem 1.9rem;
  border: 1px solid rgb(0 0 0 / 0.1);
  border-radius: 5rem;
  line-height: 1;
  background: var(--color-white);
  letter-spacing: 0.04em;
  transition: .3s;
  cursor: pointer;
}
.product .maker_list li.current {
  background: #333333;
  color: var(--color-white);
}
.product .product_slide {
  position: absolute;
  transition: 0.3s;
  opacity: 0;
  z-index: -1;
}
.product .product_slide.is-first,
.product .product_slide.is-show {
  position: static;
  display: block;
  transform: scale(1);
  opacity: 1;
  transition: 0.5s;
}
@media screen and (min-width: 768px) {
  .product .maker_list li:hover {
    opacity: 0.68;
  }
}
@media screen and (max-width: 767px) {
  .product {
    background-position: center left;
  }
  .product .flex {
    display: block;
    padding: 0;
    margin: 0;
  }
  .product .flex .df_ttl {
    margin-bottom: 2.2rem;
  }
  .product .maker_list {
    flex-wrap: nowrap;
    overflow-x: scroll;
    gap: 0.6rem;
    margin: 0 -2rem 3rem;
    padding: 0 2rem;
  }
  .product .maker_list::-webkit-scrollbar {
    display: none;
  }
  .product .maker_list a {
    font-size: 1rem;
    padding: 1rem 1.5rem;
    min-width: max-content;
  }
  .product .maker_list li {
    min-width: max-content;
    font-size: 1rem;
    padding: 1rem 1.5rem;
    min-width: max-content;
  }
}



/* ranking --------------------------------------- */
.ranking {
  background: var(--color-lght-green);
}



/* choice --------------------------------------- */
.choice {
  background: url(../img/waterheater/top/choice_bg.jpg) center/cover no-repeat;
}
.choice .in {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 3rem;
}
.choice .block {
  width: calc(50% - 1.5rem);
  background: var(--color-white);
  border-radius: 1rem;
  box-shadow: 0 0.2rem 0.6rem rgb(0 0 0 / 0.1);
  padding: 5rem 5rem 4rem;
}
.choice .block .buttons {
  margin-top: 3rem;
}
.choice .block:nth-of-type(2) .icon_h2 img {
  width: 2.7rem;
}
.choice .block .buttons2.buttons_tag {
  display: flex;
  flex-wrap: wrap;
  gap: 1.4rem;
}
.choice .block .buttons2.buttons_tag .button2 {
  font-size: 1.6rem;
  padding: 0.8rem 2.5rem;
  margin: 0;
}
.choice .block .buttons2.buttons_tag .button2::after {
  content: none;
}
.choice .block .buttons2.col2 {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}
.choice .block .buttons2.col2 .button2 {
  width: calc(50% - 0.5rem);
  margin: 0;
}
.choice .icon_h2 {
  gap: 2rem;
}
.choice .icon_h2 img {
  width: 2.7rem;
}
@media screen and (max-width: 767px) {
  .choice .in {
    gap: 2rem;
  }
  .choice .block {
    width: 100%;
    padding: 3.6rem 3rem 4rem;
  }
  .choice .block .buttons {
    margin-top: 2.6rem;
  }
  .choice .block .button2 {
    padding-top: 0;
    padding-bottom: 0;
    display: flex;
    align-items: center;
    height: 6.4rem;
  }
  .choice .icon_h2 {
    gap: 1.7rem;
  }
  .choice .icon_h2 img {
    width: 2rem;
  }
  .choice .block:nth-of-type(2) .icon_h2 img {
    width: 2rem;
  }
  .choice .block .buttons2.buttons_tag {
    gap: 1rem;
  }
  .choice .block .buttons2.buttons_tag .button2 {
    font-size: 1.2rem;
    padding: 0.8rem 2rem;
    display: block;
    height: auto;
  }
  .choice .block .buttons2.col2 .button2 {
    height: 5rem;
    padding-left: 1.5rem;
    font-size: 1.2rem;
  }
}



/* makerchoice --------------------------------------- */
.makerchoice .df_ttl {
  text-align: center;
}
.makerchoice .list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 2.5rem;
}
.makerchoice .list li {
  width: 20.4rem;
}
.makerchoice .list li a {
  display: block;
  padding: 2rem 3rem;
  border: 1px solid #E3E3E3;
  background: var(--color-white);
  font-size: 1.2rem;
  text-align: center;
  font-weight: 400;
}
.makerchoice .list li a img {
  margin-bottom: -1rem;
}
.makerchoice .in::before {
  position: absolute;
  left: -10.3rem;
  bottom: -24rem;
  content: "";
  width: 36.3rem;
  height: 45.8rem;
  background: url(../img/common/makerchoice_cath.png) center/contain no-repeat;
}
.makerchoice .in:has(.col_m)::before {
  content: none !important;
}
.makerchoice .in:has(.ecocute)::before {
  bottom: -10rem;
}
.makerchoice .list.col_m {
  gap: 2rem;
}
.makerchoice .list.col_m li {
  width: 17rem;
}
.makerchoice .list.col_m li a {
  padding: 0.9rem 1.3rem 2rem;
}
@media screen and (max-width: 767px) {
  .makerchoice .list {
    gap: 0.7rem !important;
    justify-content: flex-start;
  }
  .makerchoice .list li {
    width: calc(50% - 0.35rem) !important;
  }
  .makerchoice .list li a {
    padding: 1rem 2.5rem 2rem !important;
    font-size: 0.9rem !important;
  }
  .makerchoice .in::before {
    width: 9.2rem;
    height: 11.7rem;
    left: 0;
    bottom: auto !important;
    z-index: -1;
    top: -3rem;
  }
}



/* serieschoice --------------------------------------- */
.makerchoice + .serieschoice {
  padding-top: 0;
}
.serieschoice .df_ttl {
  text-align: center;
}
.serieschoice .list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 2rem;
}
.serieschoice .list li {
  width: calc(33.33% - (2rem * 2 / 3));
}
.serieschoice .list li a {
  display: flex;
  gap: 1rem;
  border-radius: 1rem;
  overflow: hidden;
  height: 11.8rem;
  background: #F5F7F7 url(../img/common/icon_arrow_gr.svg) center right 3rem/1.2rem auto no-repeat;
  border: 0.2rem solid #F5F7F7;
  font-size: 1.8rem;
  font-weight: 600;
  align-items: center;
}
.serieschoice .list li a figure {
  position: relative;
  overflow: hidden;
  width: 11.8rem;
  height: 100%;
  border-top-left-radius: 1rem;
  border-bottom-left-radius: 1rem;
}
.serieschoice .list li a figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (min-width: 768px) {
  .serieschoice .list:has(.door) {
    justify-content: center;
  }
  .makerchoice:has(.door) .in::before {
    bottom: -44.2rem;
  }
}
@media screen and (max-width: 767px) {
  .serieschoice .list {
    gap: 1.6rem;
  }
  .serieschoice .list li {
    width: 100%;
  }
  .serieschoice .list li a {
    height: 9.3rem;
    gap: 1.3rem;
  }
  .serieschoice .list li a figure {
    width: 9.3rem;
  }
}



/* campaign --------------------------------------- */
.campaign {
  background: linear-gradient(180deg, #fff 0%, #fff 36rem, #E8F8F4 36rem, #E8F8F4 100%);
}
@media screen and (max-width: 767px) {
  .campaign {
    padding: 6rem 0 4rem;
    background: linear-gradient(180deg, #fff 0%, #fff 22.4rem, #E8F8F4 22.4rem, #E8F8F4 100%);
  }
}



/* helpful --------------------------------------- */
.helpful {
  background: var(--color-bage);
}
.helpful .links {
  display: flex;
  gap: 3rem;
  flex-wrap: wrap;
}
.helpful .links .button3 {
  width: calc(33.33% - (3rem * 2 / 3));
}
@media screen and (max-width: 767px) {
  .helpful {
    padding: 7rem 0;
  }
  .helpful .links {
    gap: 1rem;
  }
  .helpful .links .button3 {
    width: 100%;
  }
}



/* start --------------------------------------- */
.start {
  padding: 1.5rem 0 0;
  background: var(--color-bage);
}
.start .links {
  display: flex;
  gap: 1px;
}
.start .links .item {
  width: 33.33%;
}
.start .links .item a {
  position: relative;
  overflow: hidden;
  display: block;
  height: 53.3rem;
}
.start .links .item a img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.start .links .item dl {
  position: absolute;
  z-index: 2;
  left: 3rem;
  bottom: 3.9rem;
  width: 30rem;
  color: var(--color-white);
}
.start .links .item dt {
  font-size: 2.4rem;
  font-weight: var(--medium);
}
.start .links .item dd {
  margin-top: 2.1rem;
  font-size: 1.5rem;
  font-weight: var(--regular);
}
.start .links .item a::before {
  position: absolute;
  right: 3rem;
  bottom: 4rem;
  content: "";
  display: block;
  width: 5.3rem;
  height: 5.3rem;
  border-radius: 100%;
  border: 1px solid var(--color-white);
  background: url(../img/common/icon_arrow.svg) center/1.3rem auto no-repeat;
  z-index: 2;
}
.start .links .item a::after {
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  width: 100%;
  height: 26.7rem;
  background: linear-gradient(180deg,rgba(37, 184, 171, 0) 0%, rgba(37, 184, 171, 1) 100%);
}
@media screen and (max-width: 767px) {
  .start .links {
    flex-wrap: wrap;
  }
  .start .links .item {
    width: 100%;
  }
  .start .links .item a {
    height: 37.5rem;
  }
  .start .links .item a::after {
    height: 18.7rem
  }
  .start .links .item dl {
    left: 2rem;
    bottom: 2.8rem;
    width: 26rem;
  }
  .start .links .item dt {
    font-size: 1.7rem;
  }
  .start .links .item dd {
    margin-top: 1.5rem;
    font-size: 1.2rem;
  }
  .start .links .item a::before {
    right: 2rem;
    bottom: 2.4rem;
    width: 4.5rem;
    height: 4.5rem;
  }
}



/* column --------------------------------------- */
@media screen and (max-width: 767px) {
  .column {
    padding: 7rem 0 8rem;
  }
}



/* case --------------------------------------- */
.case {
  position: relative;
  padding-top: 128px;
}
.case::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 45.3rem;
  background: url(../img/waterheater/top/case_bg.jpg) center/cover no-repeat;
}
.case .in {
  position: relative;
  z-index: 2;
}
.case .button {
  margin: 5rem auto 0;
}
@media screen and (max-width: 767px) {
  .case {
    padding: 6rem 0 0;
  }
  .case::before {
    height: 25.6rem;
    background-image: url(../img/waterheater/top/case_bg_sp.jpg);
  }
}



/* voice --------------------------------------- */
.voice {
  padding: 25.6rem 0 14rem;
  margin-top: -25.5rem;
  background: var(--color-glay);
}
@media screen and (max-width: 767px) {
  .voice {
    padding: 19.7rem 0 8rem;
    margin-top: -14.5rem;
  }
  .voice .df_ttl {
    margin-bottom: 4.8rem;
  }
}





/* news --------------------------------------- */
section.news .in {
  display: flex;
  justify-content: space-between;
}
section.news .right {
  width: 104.2rem;
}
section.news .more {
  margin-top: 5.9rem;
}
@media screen and (min-width: 768px) {
  section.news .buttons {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  section.news {
    padding: 6rem 0 7rem;
  }
  section.news .in {
    display: block;
  }
  section.news .right {
    width: 100%;
  }
  section.news .more {
    display: none;
  }
}



/* reform --------------------------------------- */
.reform {
  padding-top: 0;
}
.reform .box_links {
  display: flex;
  flex-wrap: wrap;
}
.reform .box_links li {
  width: 20%;
  border-bottom: 1px solid rgb(0 0 0 / 0.1);
}
.reform .box_links li a {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 2.5rem;
  height: 24.3rem;
  font-size: 1.8rem;
  letter-spacing: 0.04em;
  font-weight: var(--medium);
}
.reform .box_links li a img {
  width: 7rem;
}
@media screen and (min-width: 768px) {
  .reform .box_links li:nth-of-type(-n + 5) {
    border-top: 1px solid rgb(0 0 0 / 0.1);
  }
  .reform .box_links li:not(:first-of-type,:nth-of-type(6n)) {
    border-left: 1px solid rgb(0 0 0 / 0.1);
  }
  .reform .box_links li a:hover {
    background: var(--color-green);
    color: var(--color-white);
    opacity: 1;
  }
  .reform .box_links li a:hover img {
    filter: brightness(100);
  }
  .reform .box_links li a {
    position: relative;
  }
  .reform .box_links li a::after {
    position: absolute;
    content: "more";
    font-size: 1.2rem;
    font-weight: var(--bold);
    bottom: 2.3rem;
    padding-right: 1.6rem;
    left: 50%;
    transform: translateX(-50%);
    background: url(../img/common/more_arrow.png) center right/0.45rem auto no-repeat;
  }
  .reform .box_links li a:hover::after {
    background-image: url(../img/common/more_arrow_wh.png);
  }
}
@media screen and (max-width: 767px) {
  .reform {
    padding-bottom: 8rem;
  }
  .reform .box_links li {
    width: 50%;
  }
  .reform .box_links li a {
    font-size: 1.3rem;
    flex-direction: row;
    gap: 1.4rem;
    justify-content: flex-start;
    height: 6.2rem;
    padding: 1.5rem;
  }
  .reform .box_links li a img {
    width: 3.3rem;
  }
  .reform .box_links li:nth-of-type(-n + 2) {
    border-top: 1px solid rgb(0 0 0 / 0.1);
  }
  .reform .box_links li:nth-of-type(2n) {
    border-left: 1px solid rgb(0 0 0 / 0.1);
  }
}


/* ---------------------------------------
 2025 10 29 top renew add css 
--------------------------------------- */
.df_ttl.border .ttl_h2 {
  position: relative;
  padding-bottom: 3.5rem;
}
.df_ttl.border .ttl_h2::after {
  position: absolute;
  content: "";
  left: 50%;
  bottom: 0;
  width: 7.3rem;
  height: 0.2rem;
  background: var(--color-green);
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .df_ttl.border {
    margin-bottom: 7rem;
  }
  .df_ttl.border .ttl_h2 {
    padding-bottom: 2rem;
  }
  .df_ttl.border .txt {
    margin-top: 3.4rem;
  }
}
/* re_reason -------------------------- */
.re_reason {
  background: var(--color-bage);
}
.re_reason .in {
  max-width: 116rem;
}
.re_reason .item {
  position: relative;
  display: flex;
  border-radius: 1rem;
  box-shadow: 0 0.2rem 0.6rem rgb(0 0 0 / 0.1);
  background: var(--color-white);
}
.re_reason .item:nth-of-type(2):after {
  position: absolute;
  right: 1rem;
  top: -23.9rem;
  content: "";
  width: 29rem;
  height: 23.9rem;
  background: url(../img/re_top/reason_ikko.png) center/contain no-repeat;
}
.re_reason .item.wide {
  flex-direction: column;
  gap: 4.6rem;
  padding-bottom: 5.6rem;
}
.re_reason .item + .item {
  margin-top: 2rem;
}
.re_reason .item figure {
  position: relative;
  overflow: hidden;
  width: 35rem;
  height: auto;
  border-top-right-radius: 1rem;
  border-bottom-right-radius: 1rem;
}
.re_reason .item figure img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  object-fit: cover;
}
.re_reason .item .left {
  padding: 3.4rem 4rem 4rem;
  width: calc(100% - 35rem);
}
.re_reason .item .point {
  width: max-content;
  padding: 0.4rem 1.3rem 0.3rem 4rem;
  margin-bottom: 1.1rem;
  border-radius: 0.3rem;
  background: #FDC60A url(../img/re_top/reason_point.png) center left 0.7rem/2.6rem auto no-repeat;
  font-size: 1.8rem;
  color: var(--color-white);
}
.re_reason .item .ttl_h3 {
  position: relative;
  padding-bottom: 1.6rem;
  margin-bottom: 2rem;
  font-size: 2.4rem;
  font-weight: var(--bold);
  color: var(--color-green);
}
.re_reason .item .ttl_h3::after {
  position: absolute;
  content: "";
  left: 0;
  bottom: 0;
  width: 3.3rem;
  height: 0.2rem;
  background: var(--color-green);
}
.re_reason .item .txt {
  font-weight: 400;
  font-size: 1.8rem;
}
.re_reason .item.wide .left {
  width: 100%;
  padding-bottom: 0;
}
.re_reason .item .movie {
  position: relative;
  overflow: hidden;
  width: 65rem;
  height: 43.3rem;
  margin: 0 auto;
}
.re_reason .item .movie iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .re_reason .item {
    flex-direction: column;
    padding: 3.3rem 3rem 2.9rem;
    gap: 2.6rem !important;
  }
  .re_reason .item + .item {
    margin-top: 3rem;
  }
  .re_reason .item .left {
    width: 100%;
    padding: 0;
  }
  .re_reason .item figure {
    width: 100%;
    height: 21rem;
    border-radius: 1rem;
  }
  .re_reason .item .ttl_h3 {
    text-align: center;
    font-size: 2.1rem;
  }
  .re_reason .item .ttl_h3::after {
    left: 50%;
    transform: translateX(-50%);
  }
  .re_reason .item .point {
    margin: 0 auto 2.1rem;
  }
  .re_reason .item .txt {
    font-size: 1.7rem;
  }
  .re_reason .item .movie {
    width: 100%;
    height: 19.3rem;
  }
  .re_reason .item:nth-of-type(2) {
    z-index: 2;
  }
  .re_reason .item:nth-of-type(2):after {
    right: auto;
    left: -4.5rem;
    width: 16.9rem;
    height: 16rem;
    transform: rotate(-10deg);
    top: -13.5rem;
    z-index: -1;
    mix-blend-mode: color;
  }
}

/* re_offer -------------------------- */
.re_offer * {
  letter-spacing: 0.04em;
}
.re_offer {
  background: var(--color-bage);
}
.re_offer .wrap {
  position: relative;
  border-radius: 1rem;
  background: #29BEEF;
  padding: 17.5rem 12rem 11rem;
}
.re_offer .wrap::before {
  position: absolute;
  left: 1rem;
  top: -27.8rem;
  content: "";
  width: 31.2rem;
  height: 27.8rem;
  background: url(../img/re_top/offer_ikko.png) center/contain no-repeat;
}
.re_offer .block {
  position: relative;
  padding: 10.4rem 4rem 9rem;
  background: var(--color-white);
  border: 0.5rem solid #FFEB00;
  box-shadow: 0 0.3rem 1rem rgb(0 0 0 / 0.16);
}
.re_offer .block + .block {
  margin-top: 17rem;
}
.re_offer .block::after {
  position: absolute;
  left: 50%;
  top: -3.6rem;
  content: "";
  width: 30.3rem;
  height: 8.3rem;
  background: url(../img/re_top/te-pu.png) center/contain no-repeat;
  transform: translateX(-50%);
  z-index: 2;
}
.re_offer .badge {
  position: absolute;
  width: 18.2rem;
  left: 3.2rem;
  top: -12.3rem;
  z-index: 2;
}
.re_offer .ttl_h3 {
  margin-bottom: 4.5rem;
  text-align: center;
  font-size: 3.2rem;
  font-weight: var(--bold);
  color: #25B0DE;
}
.re_offer .ttl_h3 span {
  background: #FFEB00;
}
.re_offer .txt {
  font-weight: 400;
}
.re_offer .ttl_h3 + .txt {
  text-align: center;
  max-width: 100.9rem;
  margin: 0 auto;
  line-height: 1.75;
}
.re_offer .block .flex {
  display: flex;
  flex-wrap: wrap;
  gap: 4.5rem;
  justify-content: center;
}
.re_offer .block .flex .left {
  width: 43.9rem;
}
.re_offer .block .flex .right {
  padding-right: 4.8rem;
  width: calc(100% - 43.9rem - 4.5rem);
}
.re_offer .block .flex .left .merit {
  margin-top: 3rem;
  border-radius: 1rem;
  box-shadow: 0 0.3rem 0.6rem rgb(0 0 0 / 0.16);
  overflow: hidden;
}
.re_offer .block .flex .left .merit dt {
  padding: 0.8rem 2rem;
  font-size: 2rem;
  background: #29BEEF;
  color: var(--color-white);
  text-align: center;
}
.re_offer .block .flex .left .merit dd {
  padding: 2rem 2rem 3.2rem;
}
.re_offer .check_list li + li {
  position: relative;
  margin-top: 3.8rem;
}
.re_offer .check_list li {
  background-image: url(../img/re_top/icon_check_yellow.png);
}
.re_offer .check_list li + li::before {
  position: absolute;
  content: "";
  top: -2rem;
  left: 0;
  width: 100%;
  height: 1px;
  background: rgb(0 0 0 / 0.1);
}
.re_offer .merit + .txt {
  font-size: 1.4rem;
  font-weight: var(--bold);
  margin-top: 1.9rem;
}
.re_offer .block .flex .right h4 {
  font-size: 1.8rem;
  font-weight: var(--bold);
  letter-spacing: 0.04em;
  margin-bottom: 1rem;
}
.re_offer .block .flex .right figure {
  display: flex;
  align-items: center;
  padding: 0.4rem;
  border: 1px solid var(--color-black);
}
.re_offer .block .flex .right figure img {
  width: 10.5rem;
}
.re_offer .block .flex .right figure figcaption {
  width: calc(100% - 10.5rem);
  text-align: center;
  font-size: 2.6rem;
}
.re_offer .block .flex .right figure figcaption .price {
  font-size: 1.8rem;
  color: #FF0000;
}
.re_offer .block .flex .right .arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  font-size: 2.3rem;
  margin: 1.6rem auto;
}
.re_offer .block .flex .right .arrow::before {
  content: "";
  width: 4.9rem;
  height: 4.7rem;
  background: url(../img/re_top/icon_arrow.png) center/contain no-repeat;
}
.re_offer .block .flex .right .box {
  position: relative;
  padding: 2rem;
  background-image: repeating-linear-gradient(125deg, #FFEB00, #FFEB00 3rem, #ffeb00b8 3rem, #ffeb00b8 6rem);
}
.re_offer .block .flex .right .box::after {
  position: absolute;
  right: -17.5rem;
  bottom: -16.4rem;
  pointer-events: none;
  content: "";
  width: 34.2rem;
  height: 56.4rem;
  background: url(../img/re_top/offer_ikko2.png) center/contain no-repeat;
}
.re_offer .block .flex .right .box .item {
  width: 48.4rem;
  margin: 0 auto;
}
.re_offer .block .flex .right .box .ttl {
  margin-bottom: 0.6rem;
  font-size: 1.6rem;
  font-weight: var(--bold);
}
/* .re_offer .block .flex .right .box .ttl span {
  position: relative;
  padding: 0 1.3rem;
} */
.re_offer .block .flex .right .box .wh {
  position: relative;
  padding: 2.3rem;
  background: var(--color-white);
}
.re_offer .block .flex .right .box .off {
  position: absolute;
  top: -3.7rem;
  right: -1.9rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 10.9rem;
  height: 10.9rem;
  background: url(../img/re_top/offer_off.png) center/contain no-repeat;
  font-size: 2.4rem;
  font-weight: var(--bold);
  text-align: center;
  color: var(--color-white);
}
.re_offer .block .flex .right .box .off strong {
  display: block;
  font-size: 3.1rem;
  font-weight: var(--bold);
}
.re_offer .block .flex .right .box .off small {
  font-size: 1.9rem;
  font-weight: var(--bold);
}
.re_offer .block .flex .right .ttl_bg {
  margin-bottom: 1.1rem;
  width: 34.1rem;
  text-align: center;
  padding: 0.5rem 1rem;
  font-size: 1.6rem;
  color: var(--color-white);
  border-radius: 5rem;
  font-weight: var(--bold);
}
.re_offer .block .flex .right .ttl_bg.blue {
  background: #29BEEF;
}
.re_offer .block .flex .right .ttl_bg.red {
  background: #FD4B4B;
}
.re_offer .block .flex .right .price {
  font-weight: var(--bold);
}
.re_offer .block .flex .right .price small {
  display: block;
  font-size: 1.3rem;
}
.re_offer .block .flex .right .price strong {
  font-size: 4.9rem;
  color: red;
}
.re_offer .block .flex .right .price strong span {
  color: var(--color-black);
  font-size: 2.5rem;
}
.re_offer .block .flex .right .lead {
  font-size: 1.8rem;
  font-weight: var(--bold);
}
.re_offer .block .flex .right .lead strong:not(.red) {
  font-size: 2.3rem;
}
.re_offer .block .flex .right .lead small {
  font-size: 1.6rem;
}
.re_offer .block .flex .right .lead strong.red {
  font-size: 4.9rem;
  color: red;
}
.re_offer .block .flex .right .lead .fs_m {
  font-size: 2.7rem;
}
.re_offer .block .flex .right .note {
  text-align: right;
  margin-top: 0.7rem;
  font-size: 1.2rem;
  font-weight: 400;
}
.re_offer .block .flex .right .sarani {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  font-weight: var(--bold);
  font-size: 3.8rem;
  margin: 0.8rem auto -2rem;
}
.re_offer .block .flex .right .sarani::before {
  content: "";
  width: 4rem;
  height: 4rem;
  background: url(../img/re_top/icon_plus.png) center/contain no-repeat;
}
.re_offer .block .bottom {
  width: 81.4rem;
  border: 0.2rem solid #29BEEF;
  margin: 6.9rem auto 0;
  padding: 2.2rem;
  text-align: center;
}
.re_offer .block .flex .bottom {
  margin-top: 0;
}
.re_offer .block .bottom .lead {
  font-size: 2.7rem;
  font-weight: var(--bold);
}
.re_offer .block .bottom .lead span {
  color: #29BEEF;
  font-size: 3.2rem;
  letter-spacing: 0.05em;
}
.re_offer .block .bottom .lead span .obi {
  background: linear-gradient(transparent 70%, #FFEB00 70%);
}
.re_offer .block .flex_box {
  overflow: hidden;
  display: flex;
  margin-top: 3.2rem;
  border-radius: 1rem;
  box-shadow: 0 0.3rem 0.6rem rgb(0 0 0 / 0.16);
}
.re_offer .block .flex_box figure {
  width: 43.9rem;
  height: auto;
  position: relative;
}
.re_offer .block .flex_box figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.re_offer .block .flex_box dl {
  width: calc(100% - 43.9rem);
  padding: 3.4rem 3rem 3.4rem 3.7rem;
}
.re_offer .block .flex_box .check_list li {
  padding-right: 2rem;
}
.re_offer .block .flex_box .check_list li sup {
  font-size: 0.7em;
  vertical-align: top;
}
.re_offer .block .flex_box + .note {
  margin-top: 2.1rem;
  text-align: right;
  font-size: 1.2rem;
  font-weight: 400;
}
.re_offer .block.comingsoon::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  backdrop-filter: blur(12px);
  z-index: 2;
}
.re_offer .block.comingsoon .comingsoon_txt {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: red;
  font-size: 2.8rem;
  font-weight: var(--bold);
  z-index: 2;
}
.re_offer .block.comingsoon .comingsoon_txt small {
  display: block;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .re_offer {
    padding-bottom: 0;
  }
  .re_offer .df_ttl.border .ttl_h2 {
    padding-bottom: 4.6rem;
  }
  .re_offer .wrap {
    padding: 6.4rem 2rem 8rem;
    margin: 0 -2rem;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }
  .re_offer .block {
    padding: 7rem 3rem 4.4rem;
  }
  .re_offer .badge {
    left: 0.7rem;
    top: -8rem;
    width: 10.7rem;
    height: 12.8rem;
    z-index: 3;
  }
  .re_offer .block::after {
    top: -2rem;
    width: 14.6rem;
    height: 4rem;
  }
  .re_offer .ttl_h3 {
    margin-bottom: 2.2rem;
    padding: 0 1rem;
    font-size: 2.1rem;
  }
  .re_offer .block .flex .left {
    width: 100%;
  }
  .re_offer .block .flex .left .merit {
    margin-top: 4.6rem;
    border-radius: 0;
    box-shadow: none;
  }
  .re_offer .block .flex .left .merit dd {
    padding: 2.6rem 0 0;
  }
  .re_offer .check_list li {
    font-size: 1.7rem;
  }
  .re_offer .merit + .txt {
    margin-top: 5.7rem;
    font-size: 1.7rem;
    font-weight: 400;
  }
  .re_offer .block .flex {
    gap: 4rem;
  }
  .re_offer .block .flex .right {
    width: 100%;
    padding: 4rem 0 0;
    border-top: 1px solid rgb(0 0 0 / 0.1);
  }
  .re_offer .block .flex .right h4 {
    font-size: 1.7rem;
    margin-bottom: 1.6rem;
  }
  .re_offer .block .flex .example .txt {
    font-size: 1.4rem;
  }
  .re_offer .block .flex .right figure {
    flex-direction: column;
    padding: 2rem;
    gap: 1.4rem;
  }
  .re_offer .block .flex .right figure img {
    width: 25rem;
  }
  .re_offer .block .flex .right figure figcaption {
    width: 100%;
    font-size: 1.7rem;
  }
  .re_offer .block .flex .right figure figcaption .price {
    font-size: 1.5rem;
    margin-top: 1.1rem;
  }
  .re_offer .block .flex .right .arrow {
    margin: 2.6rem auto 1.4rem;
    flex-direction: column;
    gap: 1.3rem;
  }
  .re_offer .block .flex .right .arrow::before {
    height: 3rem;
    background-size: 100% 100%;
  }
  .re_offer .block .flex .right .box {
    margin: 0 -3rem;
    padding: 2rem 2.5rem 3.5rem;
  }
  .re_offer .block .flex .right .box .item {
    width: 100%;
  }
  .re_offer .block .flex .right .box .ttl {
    text-align: center;
  }
  .re_offer .block .flex .right .box .wh {
    padding: 0 0 1.8rem;
  }
  .re_offer .block .flex .right .ttl_bg {
    padding: 1.6rem 0 0.8rem;
    border-radius: 0;
    width: 100%;
    margin: 0 auto 1.7rem;
    font-size: 2rem;
  }
  .re_offer .block .flex .right .box .off {
    top: -6rem;
    right: -4rem;
    transform: scale(0.77);
  }
  .re_offer .block .flex .right .price {
    text-align: center;
  }
  .re_offer .block .flex .right .price small {
    font-size: 1.7rem;
  }
  .re_offer .block .flex .right .price strong {
    font-size: 4rem;
    white-space: nowrap;
    letter-spacing: 0;
  }
  .re_offer .block .flex .right .price strong span {
    font-size: 1.7rem;
  }
  .re_offer .block .flex .right .sarani {
    margin: 3rem auto 3.5rem;
  }
  .re_offer .block .flex .right .lead strong.red {
    font-size: 4rem;
  }
  .re_offer .block .flex .right .lead .fs_m {
    font-size: 1.7rem;
  }
  .re_offer .block .flex .right .lead .fs_m:last-of-type {
    color: red;
  }
  .re_offer .block .flex .right .lead {
    text-align: center;
  }
  .re_offer .block .flex .right .note {
    margin-top: 0.9rem;
    text-align: left;
    font-size: 1.4rem;
  }
  .re_offer .block .flex .right .box::after {
    transform: rotate(-15deg);
    right: -19.5rem;
    bottom: -13rem;
  }
  .re_offer .block .bottom {
    padding: 1rem 0.5rem 2.5rem;
    width: auto;
    margin: 0 -0.5rem;
  }
  .re_offer .block .bottom .lead {
    font-size: 1.7rem;
    letter-spacing: 0;
  }
  .re_offer .block .bottom .lead span {
    font-size: 2.3rem;
    display: block;
    margin-top: 1rem;
    letter-spacing: 0;
  }
  .re_offer .ttl_h3 + .txt {
    font-size: 1.7rem;
    text-align: left;
    margin-top: 26.1rem;
  }
  .re_offer .block .flex_box figure {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 6rem);
    height: 21rem;
    top: 15rem;
    border-radius: 0.8rem;
    overflow: hidden;
  }
  .re_offer .block .flex_box {
    box-shadow: none;
    border-radius: 0;
    padding: 0;
    margin-top: 7rem;
  }
  .re_offer .block .flex_box dl {
    width: auto;
    padding: 0;
  }
  .re_offer .block + .block {
    margin-top: 13rem;
  }
  .re_offer .block .flex_box .check_list {
    margin-bottom: 5.5rem;
  }
  .re_offer .block .bottom + .note {
    font-size: 1.2rem;
    margin-top: 1.6rem;
    text-indent: -1em;
    padding-left: 1em;
    color: #8B8B8B;
    font-weight: 400;
  }
  .re_offer .df_ttl.border {
    margin-bottom: 11.5rem;
  }
  .re_offer .wrap::before {
    left: 18rem;
    top: -10.8rem;
    width: 21.3rem;
    height: 19.1rem;
    transform: rotate(-19deg);
  }
}

/* re_area -------------------------- */
.re_area {
  background: #F6F6F6;
}
.re_area * {
  letter-spacing: 0.04em;
}
.re_area .in {
  background: var(--color-white);
  padding: 7.5rem 12rem;
}
.re_area .map {
  margin-bottom: 5.5rem;
}
.re_area .map figcaption {
  font-size: 1.6rem;
  font-weight: 400;
  text-align: right;
  margin-top: -3rem;
}
.re_area .in .sp_accordion {
  display: flex;
  align-items: baseline;
  gap: 4.2rem;
  padding-bottom: 2.6rem;
  border-bottom: 1px solid var(--color-green);
}
.re_area .in .sp_accordion:last-of-type {
  border: none;
  padding-bottom: 0;
}
.re_area .in .sp_accordion + .sp_accordion {
  margin-top: 3rem;
}
.re_area .in .sp_accordion .accordion_ttl {
  width: 12.7rem;
  min-width: 12.7rem;
}
.re_area .in .sp_accordion .accordion_ttl span {
  display: block;
  padding: 0.3rem 1rem;
  background: var(--color-green);
  border-radius: 5rem;
  color: var(--color-white);
  font-size: 2.2rem;
  font-weight: var(--bold);
  text-align: center;
}
.re_area .in .sp_accordion .accordion_contents {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.875;
}
@media screen and (min-width: 768px) {
  .re_area .in .sp_accordion .accordion_ttl {
    pointer-events: none;
  }
  .re_area .in .sp_accordion .accordion_ttl::before,
  .re_area .in .sp_accordion .accordion_ttl::after {
    content: none;
  }
}
@media screen and (max-width: 767px) {
  .re_area .df_ttl.border {
    padding: 0 2rem;
    margin-bottom: 1.9rem;
  }
  .re_area .df_ttl.border .txt {
    text-align: left;
  }
  .re_area .in {
    padding: 5.4rem 3rem 3.4rem;
    margin: 0 2rem;
  }
  .re_area .in .sp_accordion {
    display: block;
    padding-bottom: 2.4rem;
  }
  .re_area .in .sp_accordion + .sp_accordion {
    margin-top: 2.4rem;
  }
  .re_area .in .sp_accordion .accordion_ttl {
    position: relative;
    width: auto;
    min-width: auto;
  }
  .re_area .in .sp_accordion .accordion_ttl span {
    font-size: 1.3rem;
    width: 6.6rem;
    padding: 0.3rem 0.5rem 0.2rem;
  }
  .re_area .in .sp_accordion .accordion_contents {
    font-size: 1.3rem;
    padding-top: 2rem;
    display: none;
  }
  .re_area .in .sp_accordion .accordion_ttl::before,
  .re_area .in .sp_accordion .accordion_ttl::after {
    background: var(--color-green);
  }
  .re_area .map {
    margin-bottom: 4.8rem;
  }
  .re_area .map figcaption {
    margin-top: 2.5rem;
    font-size: 1.3rem;
    text-align: center;
  }
}

/* re_promise -------------------------- */
.re_promise:not(.wrap) {
  padding-top: 12.5rem;
  background-image: repeating-linear-gradient(125deg, #29BEEF, #29BEEF 6rem, #1CC6FF 6rem, #1CC6FF 12rem);
}
.re_promise * {
  letter-spacing: 0.04em;
}
.re_promise:not(.wrap) .df_ttl * {
  color: var(--color-white) !important;
}
.re_promise:not(.wrap) .df_ttl .ttl_h2::after {
  background: var(--color-white);
}
.re_promise:not(.wrap) .in {
  max-width: 116rem;
}
.re_promise .point_list {
  position: relative;
  margin-top: 4.7rem;
  display: flex;
  flex-wrap: wrap;
  gap: 3.6rem 2rem;
}
.re_promise:not(.wrap) .point_list::before {
  position: absolute;
  right: 8.2rem;
  top: -29.7rem;
  content: "";
  width: 22.7rem;
  height: 31.1rem;
  background: url(../img/re_top/promise_ikko.png) center/contain no-repeat;
}
.re_promise .point_list li {
  position: relative;
  width: 37.3rem;
  border-radius: 1rem;
  background: var(--color-white);
  box-shadow: 0 0.2rem 0.6rem rgb(0 0 0 / 0.1);
}
.re_promise .point_list li .num {
  position: absolute;
  left: 50%;
  top: -1.5rem;
  z-index: 1;
  transform: translateX(-50%);
  font-size: 1.8rem;
  letter-spacing: 0.04em;
  padding: 0.6rem 2.7rem;
  background: #FFD650;
  font-weight: var(--medium);
  border-radius: 5rem;
  width: max-content;
  line-height: 1.2;
  margin: 0;
}
.re_promise .point_list li figure {
  position: relative;
  height: 18.8rem;
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
  overflow: hidden;
}
.re_promise .point_list li figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.re_promise .point_list li > div {
  padding: 3rem 2.4rem 2.5rem 2.4rem;
}
.re_promise .point_list li > div h3 {
  margin: 0 0 2rem;
  text-align: center;
  font-size: 2.2rem;
  letter-spacing: 0.04em;
  color: #25B0DE;
}
.re_promise .point_list li > div p {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .re_promise:not(.wrap) {
    padding: 8rem 0 8.9rem;
    background-image: repeating-linear-gradient(102deg, #29BEEF, #29BEEF 3rem, #1CC6FF 3rem, #1CC6FF 6rem);
  }
  .re_promise:not(.wrap) .df_ttl.border {
    margin-bottom: 4rem;
  }
  .re_promise .point_list {
    margin-top: 2.7rem;
    flex-wrap: nowrap;
    overflow-x: scroll;
    margin: 0 -2rem;
    padding: 2rem 2rem 0;
    gap: 0;
  }
  .re_promise .point_list::-webkit-scrollbar {
    display: none;
  }
  .re_promise .point_list li {
    width: 30.5rem;
    min-width: 30.5rem;
    margin-right: 2rem;
  }
  .re_promise .point_list li:last-of-type {
    margin-right: 0;
  }
  .re_promise .point_list li figure {
    height: 20.7rem;
  }
  .re_promise .point_list li > div {
    padding: 2.6rem 2.5rem 4.5rem;
  }
  .re_promise .point_list li > div h3 {
    font-size: 2rem;
    margin-bottom: 3.5rem;
  }
  .re_promise .point_list li .num {
    font-size: 1.6rem;
    padding: 0.6rem 3rem;
  }
  .re_promise:not(.wrap) .point_list::before {
    content: none;
  }
}

/* re_company -------------------------- */
.re_company {
  background: var(--color-bage);
  padding: 10rem 0;
}
.re_company .contents {
  max-width: 116.2rem;
  position: relative;
  margin: 0 auto;
  background: var(--color-white);
  border-radius: 1rem;
  box-shadow: 0 0.2rem 0.6rem rgb(0 0 0 / 0.1);
  padding: 7.5rem 8rem 9rem;
}
.re_company .contents + .contents {
  margin-top: 7.2rem;
}
.re_company .contents::before {
  position: absolute;
  top: 0;
  left: 50%;
  content: "";
  display: block;
  width: 100%;
  height: 0.3rem;
  background: var(--color-gr);
  transform: translateX(-50%);
}
.re_company .contents_ttl {
  margin-bottom: 5.5rem;
  text-align: center;
}
.re_company .contents_ttl .ttl_h2 {
  font-size: 3.2rem;
}
.re_company table {
  min-width: auto !important;
}
.re_company table th,
.re_company table td {
  font-size: 1.6rem;
  text-align: center;
  padding: 2.8rem 0;
  border: none;
  letter-spacing: 0.04em;
}
.re_company table th {
  width: 17.6rem;
  min-width: 17.6rem;
  font-weight: var(--medium);
  background: none;
  border-bottom: 0.2rem solid var(--color-green);
}
.re_company table td {
  padding: 2.8rem 4.4rem;
  text-align: left; 
  font-weight: var(--regular);
  border-bottom: 1px solid #E2DED3;
  line-height: 1.75;
}
.re_company table td a {
  color: var(--color-green);
  text-decoration: underline;
}
.re_company table td .flex {
  display: flex;
  gap: 0.8rem;
}
.re_company table td .flex span {
  width: calc(33.33% - (0.8rem * 2 / 3));
  color: var(--color-txt);
  font-size: 1.4rem;
  font-weight: var(--regular);
  line-height: 1.57;
  letter-spacing: 0.04em;
}
.re_company table td .flex.col2 {
  display: none;
}
.re_company .movie_block + .movie_block {
  padding-top: 7.6rem;
  margin-top: 7.6rem;
  border-top: 1px solid #707070;
}
.re_company .movie_block .top {
  display: flex;
  gap: 2.8rem;
}
.re_company .movie_block .top .left {
  position: relative;
  overflow: hidden;
  width: 46.5rem;
  border-radius: 0.8rem;
  height: 29.8rem;
}
.re_company .movie_block .top .left > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.re_company .movie_block .top .right {
  width: calc(100% - 46.5rem - 2.8rem);
}
.re_company .movie_block .top .right time {
  display: block;
  font-size: 1.4rem;
  margin: 0 0 1rem;
}
.re_company .movie_block .top .right h3 {
  margin: 0 0 1.3rem;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  font-weight: var(--medium);
  line-height: 1.66;
}
.re_company .movie_block .top .right h3 + .note {
  font-size: 1.2rem;
  margin: 0;
  text-align: right;
  margin-bottom: -3.5rem;
}
.re_company .movie_block .top .right .label {
  display: block;
  width: max-content;
  margin: 1.3rem 0 0;
  padding: 0.4rem 1.4rem;
  font-size: 1.4rem;
  font-weight: var(--regular);
  background: var(--color-green);
  color: var(--color-white);
  border-radius: 0.3rem;
  line-height: 1.3;
}
.re_company .movie_block .top .right dl {
  display: flex;
  flex-wrap: wrap;
  margin: 2.5rem 0 0;
  border-top: 0.2rem solid var(--color-green);
  border-bottom: 0.2rem solid var(--color-green);
}
.re_company .movie_block .top .right dt,
.re_company .movie_block .top .right dd {
  padding: 2rem 0;
}
.re_company .movie_block .top .right dt {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 13.4rem;
  text-align: center;
  font-size: 1.6rem;
  font-weight: var(--medium);
  color: var(--color-green);
}
.re_company .movie_block .top .right dd {
  width: calc(100% - 13.4rem);
  font-size: 1.4rem;
  font-weight: var(--regular);
  letter-spacing: 0;
  line-height: 1.5;
}
.re_company .movie_block .top .right dd:not(:first-of-type) {
  border-top: 1px solid #E2DED3;
}
.re_company .movie_block .top .right dt:not(:first-of-type) {
  border-top: 0.2rem solid var(--color-green);
}
.re_company .movie_block .bottom {
  display: flex;
  gap: 1.6rem;
  flex-wrap: wrap;
  margin-top: 3.9rem;
}
.re_company .movie_block .bottom a {
  position: relative;
  overflow: hidden;
  border-radius: 0.8rem;
  width: calc(20% - (1.6rem * 4 / 5));
  aspect-ratio: 1/0.71;
}
.re_company .movie_block .bottom a img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .re_company .contents {
    padding: 5.2rem 2rem 7rem;
    box-shadow: none;
    border-radius: 0;
  }
  .re_company .contents_ttl {
    margin-bottom: 2.7rem;
  }
  .re_company .contents_ttl .ttl_h2 {
    font-size: 1.8rem;
  }
  .re_company table th, 
  .re_company table td {
    display: block;
    width: 100%;
    text-align: left;
  }
  .re_company table th {
    position: relative;
    min-width: auto;
    font-size: 1.4rem;
    padding: 0 0 0.6rem;
    border-bottom: 1px solid #E5E5E5;
  }
  .re_company table th::after {
    position: absolute;
    left: 0;
    bottom: -0.1rem;
    content: "";
    display: block;
    width: 13.4rem;
    height: 0.2rem;
    background: var(--color-green);
  }
  .re_company table td {
    border-bottom: none;
    padding: 2rem 0 2.4rem;
    font-size: 1.3rem;
  }
  .re_company table td .flex {
    margin: 0;
  }
  .re_company table td .flex.col3 {
    display: none;
  }
  .re_company table td .flex.col2 {
    display: flex;
    gap: 1.8rem;
  }
  .re_company table td .flex.col2 span {
    width: calc(50% - 0.9rem);
    font-size: 1.3rem;
  }
  .re_company .card_wrap {
    flex-wrap: wrap;
  }
  .re_company .card_wrap .card {
    width: 100%;
    padding: 3.7rem 1.6rem;
  }
  .re_company .card_wrap .card h3 {
    font-size: 1.6rem;
    margin-bottom: 1.8rem;
  }
  .re_company .card_wrap .card dl {
    padding: 2.2rem 2rem;
  }
  .re_company .card_wrap .card dt {
    font-size: 1.4rem;
    margin-bottom: 1.8rem;
  }
  .re_company .card_wrap .card dd li {
    font-size: 1.3rem;
  }
  .re_company .movie_block .top {
    flex-wrap: wrap;
    gap: 2.5rem;
  }
  .re_company .movie_block .top .left {
    width: 100%;
    height: 21.4rem;
  }
  .re_company .movie_block .top .right {
    width: 100%;
  }
  .re_company .movie_block .top .right h3 {
    font-size: 1.6rem;
    margin-bottom: 0.4rem;
  }
  .re_company .movie_block .top .right h3 + .note {
    font-size: 1rem;
    text-align: left;
    margin-bottom: 2rem;
  }
  .re_company .movie_block .top .right .label {
    margin-top: 0.4rem;
    font-size: 1.2rem;
  }
  .re_company .movie_block .top .right dl {
    margin-top: 2rem;
  }
  .re_company .movie_block .top .right dt, .re_company .movie_block .top .right dd {
    padding: 1.7rem 0;
  }
  .re_company .movie_block .top .right dt {
    width: 8.6rem;
    font-size: 1.4rem;
  }
  .re_company .movie_block .top .right dd {
    width: calc(100% - 8.6rem);
    font-size: 1.3rem;
  }
  .re_company .movie_block .bottom {
    gap: 0.7rem;
    margin-top: 3rem;
  }
  .re_company .movie_block .bottom a {
    width: calc(50% - 0.35rem);
  }
  .re_company .movie_block + .movie_block {
    margin-top: 5rem;
    padding-top: 5rem;
  }
}

/* news -------------------------- */
section.re_news {
  background: #F6F6F6;
}
section.re_news .news_card {
  background: var(--color-white);
}
section.re_news + .reform {
  padding-top: 10rem;
}
section.re_news .df_ttl .button {
  margin-top: 4rem;
  width: 25.4rem;
}
@media screen and (max-width: 767px) {
  section.re_news .df_ttl .button {
    display: none;
  }
  section.re_news + .reform {
    padding-top: 6rem;
  }
}

/* re_top_article -------------------------- */
.re_top_article {
  padding: 12.2rem 0;
}
.re_top_article * {
  letter-spacing: 0.04em;
}
.re_top_article .green {
  color: var(--color-green);
}
.re_top_article .blue {
  color: #29BEEF;
}
.re_top_article .item h3 {
  margin-top: 6.3rem;
  margin-bottom: 2rem;
  font-size: 2.4rem;
  font-weight: var(--bold);
  letter-spacing: 0.05em;
}
.re_top_article .item h3 .green {
  color: var(--color-green);
}
.re_top_article p {
  font-size: 1.6rem;
  font-weight: var(--regular);
  margin: 2rem 0;
  line-height: 1.75;
}
.re_top_article .txt_icon {
  position: relative;
  padding-right: 28.2rem;
}
.re_top_article .txt_icon::after {
  position: absolute;
  right: 0.9rem;
  bottom: -3rem;
  content: "";
  width: 29rem;
  height: 23.9rem;
  background: url(../img/re_top/reason_ikko.png) center/contain no-repeat;
}
.re_top_article .txt_icon.icon2::after {
  right: 4.6rem;
  width: 20.9rem;
  height: 29.2rem;
  background: url(../img/re_top/txt_icon2.png) center/contain no-repeat;
}
.re_top_article .txt_icon.icon3::after {
  right: -5.4rem;
  width: 33.4rem;
  height: 31.9rem;
  background: url(../img/waterheater/types-selection/types-selection_osusume.png) center/contain no-repeat;
}
.re_top_article .txt_icon.icon4::after {
  right: 1.6rem;
  width: 28.8rem;
  height: 25.3rem;
  background: url(../img/re_top/card_list3_ikko.png) center top/100% auto no-repeat;
}
.re_top_article .txt_icon.icon5::after {
  right: -1.32rem;
  width: 23.6rem;
  height: 29.4rem;
  background: url(../img/re_top/txt_icon4.png) center top/100% auto no-repeat;
}
.re_top_article .txt_icon.icon6::after {
  right: -1.32rem;
  width: 25.6rem;
  height: 28.5rem;
  background: url(../img/re_top/txt_icon5.png) center top/100% auto no-repeat;
}
.re_top_article .txt_icon.icon7::after {
  right: 0.68rem;
  width: 22.9rem;
  height: 29.9rem;
  background: url(../img/common/button_area_bg_icon3.png) center top / 100% auto no-repeat;
}
.re_top_article .txt_icon.icon8::after {
  right: -2.5rem;
  width: 28rem;
  height: 26.7rem;
  background: url(../img/re_top/txt_icon8.png) center top / 100% auto no-repeat;
}
.re_top_article .txt_icon.icon9::after {
  right: 3rem;
  width: 23.6rem;
  height: 28.2rem;
  background: url(../img/re_top/txt_icon9.png) center top / 100% auto no-repeat;
}
.re_top_article .txt_icon.icon10::after {
  right: 0rem;
  width: 25.2rem;
  height: 26.1rem;
  background: url(../img/re_top/txt_icon10.png) center top / 100% auto no-repeat;
}
.re_top_article .txt_icon.icon11::after {
  right: -1rem;
  width: 25.8rem;
  height: 24.7rem;
  background: url(../img/re_top/txt_icon11.png) center top / 100% auto no-repeat;
}
.re_top_article .txt_icon.icon12::after {
  right: -3rem;
  width: 32.1rem;
  height: 72.1rem;
  background: url(../img/re_top/offer_ikko2.png) center / auto 100% no-repeat;
  bottom: auto;
  top: -9rem;
}
.re_top_article .txt_icon.icon13::after {
  right: 2rem;
  width: 25.2rem;
  height: 40.6rem;
  background: url(../img/re_top/txt_icon13.png) center / auto 100% no-repeat;
  bottom: auto;
  top: -4rem;
}
.re_top_article .txt_icon:has(h2)::after {
  bottom: -5rem;
}
.re_top_article .txt_icon2 {
  position: relative;
}
.re_top_article .txt_icon2 .flex_box dl {
  padding-right: 11.9rem;
}
.re_top_article .txt_icon2 > h2,
.re_top_article .txt_icon2 > p {
  margin-right: 11.9rem;
}
.re_top_article .txt_icon2::after {
  position: absolute;
  content: "";
  right: -14rem;
  width: 30.1rem;
  height: 77.1rem;
  background: url(../img/re_top/offer_ikko2.png) center / auto 100% no-repeat;
  bottom: auto;
  top: -11rem;
}
.re_top_article .contents {
  position: relative;
  border-radius: 1rem;
  box-shadow: 0 0.2rem 0.6rem rgb(0 0 0 / 0.16);
  max-width: 140rem;
  margin: 0 auto;
  padding: 8.3rem 12rem 13.8rem;
  background: #F4FCFA;
}
.re_top_article .contents.icon::after {
  position: absolute;
  content: "";
  right: 9rem;
  bottom: 0;
  width: 27.8rem;
  height: 32.3rem;
  background: url(../img/common/button_area_bg_icon3.png) center top / 100% auto no-repeat;
}
.re_top_article .contents + .contents {
  margin-top: 9.9rem;
}
.re_top_article .contents::before {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  content: "";
  width: 132.8rem;
  height: 0.3rem;
  background: var(--color-gr);
}
.re_top_article .contents_ttl {
  margin-bottom: 9.6rem;
}
.re_top_article .contents_ttl .ttl_h2 {
  font-size: 3.6rem;
  font-weight: var(--bold);
  text-align: center;
}
.re_top_article .contents_ttl .txt {
  font-weight: var(--regular);
}
.re_top_article .contents_ttl .ttl_h2 + .txt {
  margin-top: 4.8rem;
}
.re_top_article .wrap h2 {
  position: relative;
  font-size: 2.8rem;
  color: var(--color-green);
  padding-bottom: 0.6rem;
  margin-bottom: 5rem;
}
.re_top_article .wrap h2::before,
.re_top_article .wrap h2::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #E5E5E5; 
}
.re_top_article .wrap h2::before {
  width: 13.4rem;
  height: 2px;
  background: var(--color-green);
}
.re_top_article .wrap h2 + p {
  font-size: 1.6rem;
  font-weight: var(--regular);
  margin-bottom: 4rem;
}
.re_top_article h2.ttl_obi {
  text-align: center;
  padding: 1.4rem;
  color: var(--color-txt);
  background: #FFEB00;
}
.re_top_article h2.ttl_obi::before,
.re_top_article h2.ttl_obi::after {
  content: none;
}
.re_top_article .wrap .txt_icon h2 + p {
  margin-bottom: 5rem;
}
.re_top_article .hikaku {
  position: relative;
  padding: 5.4rem 6rem 5.7rem;
  background: var(--color-white);
  border-radius: 1rem;
  box-shadow: 0 0.2rem 0.6rem rgb(0 0 0 / 0.1);
}
.re_top_article .hikaku + .hikaku {
  margin-top: 4.4rem;
}
.re_top_article .hikaku.icon::after {
  position: absolute;
  right: -3.9rem;
  bottom: 0;
  content: "";
  width: 29rem;
  height: 27.8rem;
  background: url(../img/re_top/txt_icon8.png) center bottom / 100% auto no-repeat;
}
.re_top_article .hikaku .button {
  background: #1CC6FF;
}
@media screen and (max-width: 767px) {
  .re_top_article {
    padding: 4.7rem 0 0;
  }
  .re_top_article .contents {
    padding: 8rem 2rem 4.2rem;
    box-shadow: none;
  }
  .re_top_article .contents + .contents {
    margin-top: 5.6rem;
  }
  .re_top_article .item h3 {
    font-size: 2.1rem;
  }
  .re_top_article .contents_ttl {
    margin-bottom: 5.9rem;
  }
  .re_top_article .contents_ttl .ttl_h2 {
    font-size: 2.9rem;
  }
  .re_top_article p {
    font-size: 1.7rem;
    line-height: 1.76;
  }
  .re_top_article .contents .wrap {
    margin-top: 7.6rem;
  }
  .re_top_article .wrap h2 {
    margin-bottom: 4.6rem;
    font-size: 2.1rem;
    padding-bottom: 1.2rem;
    letter-spacing: 0;
  }
  .re_top_article .wrap h2::before {
    width: 8.1rem;
  }
  .re_top_article .txt_icon {
    padding: 0 0 5rem;

    padding: 0;
  }
  .re_top_article .txt_icon::after {
    transform: scale(0.6);
    transform-origin: right bottom;
    right: 0 !important;

    display: none;
  }
  .re_top_article .hikaku.icon:nth-of-type(2)::after {
    content: none;
  }
  .re_top_article .hikaku.icon:nth-of-type(odd):not(:nth-of-type(2))::after {
    right: -2rem;
    top: -14rem;
    width: 10.7rem;
    height: 32.7rem;
    background-image: url(../img/re_top/re_article_ikko1.png);
  }
  .re_top_article .hikaku.icon:nth-of-type(even):not(:nth-of-type(2))::after {
    left: -2rem;
    top: -11rem;
    width: 14.1rem;
    height: 36.1rem;
    background-image: url(../img/re_top/re_article_ikko3.png);
  }
  .re_top_article .contents.icon::after {
    content: none;
  }
  .re_top_article .txt_icon2::after {
    content: none;
  }
  .re_top_article .txt_icon2 > h2, .re_top_article .txt_icon2 > p {
    margin-right: 0;
  }
  .re_top_article .txt_icon2 .flex_box dl {
    padding-right: 3rem;
  }
  .re_top_article h2.ttl_obi {
    text-align: left;
  }
}

/* hikaku ----------------- */
.re_top_article .hikaku .ttl_wrap {
  display: flex;
  gap: 4.8rem;
}
.re_top_article .hikaku .ttl_wrap figure {
  position: relative;
  overflow: hidden;
  width: 39.9rem;
  min-width: 39.9rem;
  height: 27.8rem;
  border-radius: 1rem;
}
.re_top_article .hikaku .ttl_wrap figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.re_top_article .hikaku .right {
  padding-top: 2.9rem;
}
.re_top_article .hikaku .ttl_wrap h3 {
  margin: 0 0 1.5rem;
  font-size: 3.2rem;
  font-weight: var(--bold);
  letter-spacing: 0.05em;
}
.re_top_article .hikaku .ttl_wrap .txt {
  font-weight: var(--regular);
  font-size: 2rem;
}
.re_top_article .hikaku .merit_flex {
  display: flex;
  margin-top: 2rem;
  gap: 2rem;
  align-items: flex-start;
}
.re_top_article .hikaku .merit_flex > * {
  width: 50%;
  border-radius: 1rem;
  box-shadow: 0 0.2rem 0.6rem rgb(0 0 0 / 0.1);
  overflow: hidden;
}
.re_top_article .hikaku .merit_flex dt {
  font-size: 2.8rem;
  padding: 1.2rem 1.6rem;
  text-align: center;
  background: var(--color-green);
  color: var(--color-white);
}
.re_top_article .hikaku .merit_flex dd {
  padding: 3.2rem 3rem 3.6rem;
}
.re_top_article .hikaku .merit_flex .demerit dt {
  background: #FD4B4B;
}
.re_top_article .hikaku .merit_flex .check_list li {
  font-size: 1.8rem;
  padding-left: 3.8rem;
  background-size: 2.4rem auto;
}
.re_top_article .hikaku .merit_flex .demerit .check_list li {
  background-image: url(../img/re_top/icon_batsu_red.png);
}
.re_top_article .check_list > li + li {
  position: relative;
  margin-top: 6rem;
}
.re_top_article .check_list > li + li::before {
  position: absolute;
  content: "";
  top: -3rem;
  left: 0;
  width: 100%;
  height: 1px;
  background: rgb(0 0 0 / 0.1);
}
.re_top_article .hikaku h2 {
  position: relative;
  color: #29BEEF;
}
.re_top_article .hikaku h2::before,
.re_top_article .hikaku h2::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #E5E5E5;
}
.re_top_article .hikaku h2::before {
  width: 13.4rem;
  height: 2px;
  background: #29BEEF;
}
.re_top_article .button_area_bg {
  position: relative;
  margin-top: 4rem;
  border-radius: 1rem;
  padding: 0 0 4.2rem;
  box-shadow: 0 0.2rem 0.6rem rgb(0 0 0 / 0.1);
}
.re_top_article .button_area_bg::after {
  position: absolute;
  right: -6rem;
  bottom: 0;
  content: "";
  width: 30.8rem;
  height: 30.1rem;
  background: url(../img/re_top/osusume_ikko.png) center/contain no-repeat;
}
.re_top_article .button_area_bg .ttl {
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
  font-size: 2.8rem;
  padding: 1.2rem 1.6rem;
  text-align: center;
  background: #29BEEF;
  color: var(--color-white);
}
.re_top_article .button_area_bg .check_list {
  width: 46.9rem;
  margin: 0 auto;
  padding: 4.6rem 0 0;
}
.re_top_article .button_area_bg .check_list li {
  font-size: 2rem;
  padding-left: 3.4rem;
  background-image: url(../img/re_top/icon_check_yellow.png);
  background-size: 2.4rem auto;
}
.re_top_article .button_area_bg .check_list li + li {
  margin-top: 4.6rem;
}
.re_top_article .button_area_bg .check_list li + li::before {
  top: -2.3rem;
}
.re_top_article .button_area_bg .button {
  margin: 3.3rem auto 0;
  background: #29BEEF;
  height: 5rem;
  width: 26.9rem;
}
.re_top_article .contents .wrap {
  margin-top: 8.4rem;
}
@media screen and (min-width: 768px) {
  .re_top_article .hikaku .merit_flex .check_list li.col {
    grid-template-columns: 10.8rem auto;
  }
  .re_top_article .hikaku .merit_flex .check_list li .ttl,
  .re_top_article .hikaku .merit_flex .check_list li .txt {
    font-size: 1.8rem;
    font-weight: var(--bold);
    width: auto;
    min-width: auto;
  }
  .re_top_article .hikaku .merit_flex .check_list li .ttl {
    color: var(--color-green);
  }
}
@media screen and (max-width: 767px) {
  .re_top_article .hikaku {
    padding: 3rem;
  }
  .re_top_article .hikaku .ttl_wrap figure {
    width: calc(100% + 6rem);
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    margin: -3rem -3rem 0;
    min-width: auto;
    height: 23.3rem;
  }
  .re_top_article .hikaku .ttl_wrap {
    flex-direction: column;
    gap: 4rem;
  }
  .re_top_article .hikaku .right {
    width: 100%;
    padding: 0;
  }
  .re_top_article .hikaku .ttl_wrap .txt {
    font-size: 1.7rem;
  }
  .re_top_article .hikaku .ttl_wrap h3 {
    font-size: 2.1rem;
    margin-bottom: 3.3rem;
    text-align: center;
  }
  .re_top_article .hikaku .merit_flex {
    flex-wrap: wrap;
    gap: 4.6rem;
    margin-top: 5.1rem;
  }
  .re_top_article .hikaku .merit_flex > * {
    width: 100%;
    border-radius: 0;
    box-shadow: none;
  }
  .re_top_article .hikaku .merit_flex dt {
    font-size: 2.1rem;
    padding: 1.1rem;
    margin-bottom: 3.2rem;
  }
  .re_top_article .hikaku .merit_flex dd {
    padding: 0;
  }
  .re_top_article .hikaku .button_area_bg {
    margin: 4.6rem -3rem -3rem;
    padding: 2.7rem 3rem 6rem;
    background: #EDFBFF;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    box-shadow: none;
  }
  .re_top_article .check_list li {
    font-size: 1.7rem;
  }
  .re_top_article .hikaku .merit_flex .check_list li {
    font-size: 1.7rem;
  }
  .re_top_article .hikaku h2 {
    font-size: 2.1rem;
  }
  .re_top_article .button_area_bg.bg_gr p {
    text-align: center;
    padding: 0;
    background: none;
    font-size: 2.1rem;
    font-weight: var(--bold);
    color: #1CC6FF;
  }
  .re_top_article .button_area_bg::after {
    content: none;
  }
  .re_top_article .button_area_bg .check_list {
    width: 100%;
    padding-top: 3rem;
  }
  .re_top_article .button_area_bg .check_list li {
    font-size: 1.7rem;
  }
  .re_top_article .button_area_bg .button {
    width: 26rem;
    font-size: 1.7rem;
    margin-top: 4.9rem;
  }
  .re_top_article .contents .wrap {
    margin-top: 5.9rem;
  }
  .re_top_article .catch {
    position: relative;
  }
  .re_top_article .catch::before {
    position: absolute;
    content: "";
    z-index: 1;
    background: url(../img/re_top/re_article_ikko1.png) center/contain no-repeat;
  }
  .re_top_article .catch.catch1::before {
    right: -2rem;
    top: -14rem;
    width: 10.7rem;
    height: 32.7rem;
    background-image: url(../img/re_top/re_article_ikko1.png);
  }
  .re_top_article .catch.catch2::before {
    right: -2rem !important;
    top: -10rem !important;
    width: 10.3rem !important;
    height: 33.9rem !important;
    background-image: url(../img/re_top/re_article_ikko2.png) !important;
  }
  .re_top_article .catch.catch3::before {
    left: -2rem;
    top: -11rem;
    width: 14.1rem;
    height: 36.1rem;
    background-image: url(../img/re_top/re_article_ikko3.png);
  }
  .re_top_article .check_list > li + li {
    margin-top: 3.8rem;
  }
  .re_top_article .check_list > li + li::before {
    top: -2rem;
  }
  .re_top_article .hikaku .ttl_wrap figure img {
    width: 102%;
    height: 102%;
  }
}

/* table ----------------- */
.re_top_article .note {
  font-size: 1.6rem;
  font-weight: var(--regular);
  text-indent: -1em;
  padding-left: 1em;
  margin-top: 1.8rem;
  color: #8B8B8B;
}
.re_top_article table {
  width: 100%;
  margin: 3rem 0;
  background: var(--color-white);
}
.re_top_article table th,
.re_top_article table td {
  font-size: 2rem;
  text-align: center;
  padding: 2.3rem;
  border: 1px solid #E5E5E5;
}
.re_top_article table td {
  font-size: 1.8rem;
}
.re_top_article table td small {
  font-size: 1.4rem;
}
.re_top_article table thead th {
  background: #29BEEF;
  color: var(--color-white);
  font-size: 2.2rem;
  font-weight: var(--bold);
}
.re_top_article table tbody th {
  background: #D9F6FF;
  font-weight: var(--bold);
}
.re_top_article table tbody th img {
  margin: 0 auto;
}
.re_top_article table td img {
  width: 3.5rem;
  margin: 0 auto;
}
.re_top_article table td.star img {
  height: 2.8rem;
  width: auto;
}
.re_top_article table .green {
  color: var(--color-green);
}
.re_top_article table .blue {
  color: #29BEEF;
}
.re_top_article table tfoot {
  background: #FFEB00;
}
.re_top_article table tfoot.color2 {
  background: #FFEBA9;
}
.re_top_article table tfoot th {
  font-weight: var(--bold);
}
.re_top_article table tfoot th:not(:first-of-type) {
  color: #25B0DE;
}
.re_top_article table tfoot.color2 th:not(:first-of-type) {
  color: var(--color-txt);
}
.re_top_article table tbody.arrow::before {
  position: absolute;
  content: "";
  display: block;
  width: 0.5rem;
  height: calc(50% - 8rem);
  background: linear-gradient(-180deg, #FFEB00 50%, #FD4B4B 100%);
  top: calc(50% + 3.5rem);
  transform: translateY(-50%);
  right: 8.75rem;
}
.re_top_article table tbody.arrow::after {
  position: absolute;
  content: "";
  display: block;
  width: 1.5rem;
  height: calc(55% - 9rem);
  background-image: url(../img/re_top/table_arrow_yellow.png), url(../img/re_top/table_arrow_red.png);
  background-position: center top, center bottom;
  background-size: 1.5rem auto;
  background-repeat: no-repeat;
  top: calc(50% + 3.5rem);
  transform: translateY(-50%);
  right: 8.23rem;
}
.re_top_article table td.arrow {
  width: 18rem;
  min-width: 18rem;
}
.re_top_article table td.arrow span {
  padding: 0.4rem 4.7rem;
  border-radius: 5rem;
  color: var(--color-white);
}
.re_top_article table tbody.arrow tr:first-of-type td.arrow span {
  background: #FFEB00;
  color: var(--color-txt);
} 
.re_top_article table tbody.arrow tr:last-of-type td.arrow span {
  background: #FD4B4B;
} 
.re_top_article .yokoscroll_inner {
  position: relative;
  display: inline-block;
  min-width: 100%;
}
.re_top_article table.fs_s th {
  font-size: 1.6rem;
}
.re_top_article table.fs_s td {
  padding-left: 1rem;
  padding-right: 1rem;
  font-size: 1.4rem;
}
.re_top_article .underline {
  text-decoration: underline;
}
@media screen and (max-width: 767px) {
  .re_top_article table:not(.no_scroll) {
    min-width: max-content;
  }
  .re_top_article table th,
  .re_top_article table td {
    font-size: 1.6rem;
    padding: 2rem 5rem;
  }
  .re_top_article table td small {
    font-size: 1.2rem;
  }
  .re_top_article .sp_yokoscroll table th,
  .re_top_article .sp_yokoscroll table td {
    font-size: 1.6rem;
    white-space: nowrap;
  }
  .re_top_article table thead th {
    font-size: 1.8em !important;
  }
  .re_top_article table td img {
    width: 3rem;
  }
  .re_top_article table td.star img {
    height: 2.2rem;
  }
  .re_top_article table tbody.arrow {
    width: 100%;
    min-width: max-content;
  }
  .re_top_article table tbody.arrow::before {
    height: calc(50% - 5.9rem);
    top: calc(50% + 2.5rem);
    right: 10.4rem;
  }
  .re_top_article table tbody.arrow::after {
    height: calc(55% - 5.9rem);
    top: calc(50% + 2.5rem);
    right: 9.9rem;
  }
  .re_top_article .note {
    font-size: 1.5rem;
    color: #8B8B8B;
  }
}

/* df_check ----------------- */
.re_top_article .df_check {
  position: relative;
  margin-top: 10rem;
}
.re_top_article .txt_icon + .df_check {
  margin-top: 5rem;
}
.re_top_article .df_check:not(.no_icon)::before {
  position: absolute;
  right: 1rem;
  top: -23.9rem;
  content: "";
  width: 29rem;
  height: 23.9rem;
  background: url(../img/re_top/reason_ikko.png) center/contain no-repeat;
}
.re_top_article .df_check > li {
  overflow: hidden;
  display: flex;
  border: 1px solid #E5E5E5;
  background: var(--color-white);
  border-radius: 1rem;
  box-shadow: 0 0.2rem 0.6rem rgb(0 0 0 / 0.1);
  flex-wrap: wrap;
}
.re_top_article .df_check > li:not(.no_reverse) {
  flex-direction: row-reverse;
}
.re_top_article .df_check > li h3 {
  margin: 0 0 1.3rem !important;
}
.re_top_article .df_check > li + li {
  margin-top: 2rem;
}
.re_top_article .df_check > li figure {
  position: relative;
  width: 41rem;
  height: auto;
  overflow: hidden;
}
.re_top_article .df_check > li.no_reverse figure {
  width: 37.2rem;
}
.re_top_article .df_check > li figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.re_top_article .df_check > li > div {
  position: relative;
  padding: 4rem;
  width: calc(100% - 41rem);
}
.re_top_article .df_check > li.no_reverse > div {
  width: calc(100% - 37.2rem);
}
.re_top_article .df_check > li .ttl {
  font-size: 2.4rem;
  font-weight: var(--bold);
  color: var(--color-green);
  margin-bottom: 3.5rem;
}
.re_top_article .df_check > li .ttl p {
  font-size: 1.4rem;
  letter-spacing: 0.04em;
}
.re_top_article .df_check > li .ttl.blue {
  color: #29BEEF;
  margin-bottom: 0.8rem;
}
.re_top_article .df_check > li p {
  margin: 0;
}
.re_top_article .df_check > li span:not(.pci,.pc,.sp,.spi,.indent,.notxt,.notxt_h,.notxt_t) {
  display: block;
  width: max-content;
  padding: 0.4rem 1.3rem 0.3rem 4rem;
  margin-bottom: 2.4rem;
  border-radius: 0.3rem;
  background: #FDC60A url(../img/re_top/reason_point.png) center left 0.7rem / 2.6rem auto no-repeat;
  font-size: 1.8rem;
  color: var(--color-white);
}
.re_top_article .df_check > li span.indent,
.re_top_article .df_check > li span.notxt,
.re_top_article .df_check > li span.notxt span {
  font-size: 1.8rem;
  font-weight: var(--regular);
  color: var(--color-txt);
  display: block;
  margin: 0 !important;
  line-height: 1.77;
}
.re_top_article .df_check > li span.indent {
  font-weight: var(--bold);
  text-indent: -1em;
  padding-left: 1em;
}
.re_top_article .df_check > li span.notxt {
  display: grid;
  grid-template-rows: auto 1fr;
  grid-template-columns: auto 1fr;
}
.re_top_article .df_check + p {
  margin-top: 6rem;
}
.re_top_article .df_check .sp_yokoscroll {
  width: 100%;
  padding: 0;
}
.re_top_article .df_check .sp_yokoscroll table {
  margin: 0 !important;
}
.re_top_article .df_check > li > div .button {
  width: 22.8rem;
  height: 5rem;
  margin-top: 3rem;
}
.re_top_article .df_check > li > div .button span {
  background: none;
  padding: 0;
  margin: 0;
  font-weight: var(--bold);
}
.re_top_article .df_check > li p.txt_obi {
  width: 45.9rem;
  margin: 3.5rem auto 0;
  padding: 2.7rem 0;
  font-size: 2.2rem !important;
  text-align: center;
  background: url(../img/re_top/masute.png) center/100% 100% no-repeat;
}
.re_top_article .df_check > li p.txt_obi span {
  color: var(--color-green);
  background: var(--color-white);
  display: inline;
  padding: 0 0.3rem;
  border-radius: 0;
  margin: 0;
  font-size: 2.2rem;
}
.re_top_article .button_area_bg2 {
  margin-top: 4rem;
  padding: 3rem 4rem;
  background-image: repeating-linear-gradient(125deg, #FFD650, #FFD650 3rem, #fdc60ad1 3rem, #fdc60ad1 6rem);
  border-radius: 1rem;
}
.re_top_article .button_area_bg2 .in {
  background: var(--color-white);
  border-radius: 1rem;
  padding: 3rem 3rem 2.3rem;
  text-align: center;
}
.re_top_article .button_area_bg2 .ttl {
  font-size: 2.2rem;
  font-weight: var(--bold);
  margin-bottom: 1.9rem;
}
.re_top_article .button_area_bg2 .txt {
  font-size: 1.8rem;
  font-weight: var(--regular);
}
.re_top_article .button_area_bg2 .button {
  margin: 2.2rem auto 0;
  width: 26.9rem;
  height: 5rem;
}
.re_top_article .button_area_bg2.icon {
  position: relative;
}
.re_top_article .button_area_bg2.icon .in {
  padding-left: 12rem;
  padding-right: 12rem;
}
.re_top_article .button_area_bg2.icon::after {
  position: absolute;
  right: 0;
  bottom: 0;
  content: "";
  width: 19.9rem;
  height: 23.3rem;
  background: url(../img/re_top/txt_icon9.png) center top /contain no-repeat;
}
.re_top_article .df_check li .mx_w p {
  font-size: 1.8rem;
  font-weight: var(--bold);
  text-align: center;
}
.re_top_article .df_check li:has(.mx_w) figure {
  width: 51.8rem;
}
.re_top_article .df_check li:has(.mx_w) > div {
  width: calc(100% - 51.8rem);
}
@media screen and (max-width: 767px) {
  .re_top_article .df_check > li .ttl.blue {
    margin-bottom: 2rem;
  }
  .re_top_article .df_check > li .ttl.blue::after {
    background: #29BEEF;
  }
  .re_top_article .df_check {
    margin-top: 4.6rem;
  }
  .re_top_article .df_check > li {
    position: relative;
    overflow: visible;
    flex-wrap: wrap;
  }
  .re_top_article .df_check > li figure {
    width: 100%;
    height: 23.3rem;
    border-top-left-radius: 1rem;
    border-top-right-radius: 1rem;
  }
  .re_top_article .df_check > li > div {
    width: 100% !important;
    padding: 3rem 3rem 4.8rem;
  }
  .re_top_article .df_check > li span:not(.pci,.pc,.sp,.spi,.indent) {
    margin: 0 auto 3rem !important;
  }
  .re_top_article .df_check > li .ttl {
    position: relative;
    text-align: center;
    font-size: 2rem;
    padding-bottom: 2.3rem;
    margin-bottom: 3.7rem;
  }
  .re_top_article .df_check:not(.no_icon)::before {
    content: none;
  }
  .re_top_article .df_check > li .ttl::after {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    content: "";
    width: 3.3rem;
    height: 0.2rem;
    background: var(--color-green);
  }
  .re_top_article .df_check > li + li {
    margin-top: 3rem;
  }
  .re_top_article .df_check .sp_yokoscroll {
    margin: 0;
    padding: 0;
  }
  .re_top_article .df_check > li > div .button {
    width: 100%;
  }
  .re_top_article .df_check > li > div .button span {
    margin: 0 !important;
  }
  .re_top_article .df_check > li p.txt_obi {
    padding: 1.6rem;
    margin: 3.5rem 0;
    font-size: 1.7rem !important;
    max-width: 100%;
    margin-bottom: 0;
  }
  .re_top_article .df_check > li p.txt_obi span {
    font-size: 1.7rem;
    padding: 0 2rem;
    margin: 0 auto 1rem !important;
  }
  .re_top_article .df_check > li > div .mx_w p.txt {
    text-align: center;
  }
  .re_top_article .df_check > li span:not(.pci,.pc,.sp,.spi,.indent,.notxt,.notxt_h,.notxt_t) {
    display: block !important;
  }
  .re_top_article .df_check > li span.indent, .re_top_article .df_check > li span.notxt, .re_top_article .df_check > li span.notxt span {
    font-size: 1.7rem;
  }
  .re_top_article .df_check > li span.indent + span.indent {
    margin-top: 2.6rem !important;
  }
  .re_top_article .df_check > li span.notxt {
    display: block;
  }
  .re_top_article .button_area_bg2 {
    border-radius: 0;
    padding: 3rem 2.5rem 3.5rem;
    margin: 5.6rem -2rem -4.2rem;
  }
  .re_top_article .button_area_bg2 .in {
    padding: 3.6rem 3rem 4.7rem;
  }
  .re_top_article .button_area_bg2 .ttl {
    font-size: 2.1rem;
    margin-bottom: 3rem;
  }
  .re_top_article .button_area_bg2 .txt {
    font-size: 1.7rem;
    text-align: left;
  }
  .re_top_article .button_area_bg2 .button {
    width: 100%;
    margin-top: 4.9rem;
    font-size: 1.7rem;
  }
  .re_top_article .df_check.catch::before {
    top: -17rem;
  }
  .re_top_article .button_area_bg2.icon .in {
    padding: 3.6rem 3rem 4.7rem;
  }
  .re_top_article .button_area_bg2.icon::after {
    right: auto;
    left: -2rem;
    bottom: -2rem;
    width: 14.9rem;
    height: 17.3rem;
    transform: rotate(-5deg);
    pointer-events: none;
  }
}

/* num_wrap ----------------- */
.re_top_article .num_wrap {
  position: relative;
  padding-left: 6rem;
  margin-top: 8rem;
}
.re_top_article .num_wrap + .num_wrap {
  margin-top: 10rem;
}
.re_top_article .num_wrap h3 {
  font-size: 2.8rem;
  font-weight: var(--bold);
  color: var(--color-green);
  margin: 0 0 3.3rem 0;
}
.re_top_article .num_wrap h3 span {
  position: absolute;
  left: 0;
  top: -1rem;
  min-width: 4rem;
  border-bottom: 0.3rem solid var(--color-green);
  font-size: 4rem;
  font-family: var(--font-en);
  font-weight: var(--semibold);
  letter-spacing: -0.02em;
  color: var(--color-green);
  text-align: center;
}
.re_top_article .num_wrap h3.num_blue {
  color: var(--color-txt);
}
.re_top_article .num_wrap h3.num_blue span {
  color: #29BEEF;
  border-color: #29BEEF;
}
.re_top_article .num_wrap.black h3 {
  color: var(--color-txt);
}
.re_top_article .num_wrap.black > *:not(h3) {
  margin-left: -6rem;
}
.re_top_article .num_wrap p {
  margin: 0;
  font-size: 2rem;
  font-weight: var(--regular);
}
.re_top_article .num_wrap .osusume {
  padding: 0;
  background: none;
  margin: 3rem 0 0;
}
.re_top_article .num_wrap .osusume .flex::before {
  content: none;
}
.re_top_article .num_wrap.only_ttl h3,
.re_top_article .num_wrap.only_ttl h3 span {
  color: #29BEEF;
  border-color: #29BEEF;
}
.re_top_article .num_wrap.only_ttl p {
  font-size: 1.6rem;
}
.re_top_article .num_wrap.bg_white {
  background: var(--color-white);
  padding: 4.3rem 4rem 7rem 11.1rem;
  border-radius: 1rem;
}
.re_top_article .num_wrap.bg_white + .num_wrap.bg_white {
  margin-top: 2rem;
}
.re_top_article .num_wrap.bg_white h3 span {
  top: 3rem;
  left: 4rem;
}
@media screen and (min-width: 768px) {
  .re_top_article .num_wrap .osusume .flex .item {
    padding-left: 4.5rem;
    padding-right: 4.5rem;
  }
  .re_top_article .num_wrap .osusume .flex .item .bottom {
    width: calc(100% - 9rem);
  }
}
@media screen and (max-width: 767px) {
  .re_top_article .num_wrap {
    padding: 0 2rem;
    margin: 0 -2rem 0;
  }
  .re_top_article .num_wrap + .num_wrap {
    margin-top: 6rem;
  }
  .re_top_article .num_wrap h3 {
    margin: 0 0 3.3rem 0;
    display: flex;
    align-items: baseline;
    gap: 1.4rem;
    font-size: 2.1rem;
  }
  .re_top_article .num_wrap h3 span {
    position: static;
    font-size: 3rem;
    width: max-content;
    min-width: max-content;
  }
  .re_top_article .num_wrap p {
    font-size: 1.7rem;
  }
  .re_top_article .num_wrap.bg_white {
    padding: 4rem 2rem;
  }
  .re_top_article .num_wrap.black > *:not(h3) {
    margin-left: 0;
  }
}

/* flex_box ----------------- */
.re_top_article .flex_box {
  display: flex;
  border-radius: 1rem;
  overflow: hidden;
  border: 1px solid #E5E5E5;
  margin-top: 3rem;
  min-height: 46rem;
  background: var(--color-white);
}
.re_top_article .flex_box figure {
  position: relative;
  overflow: hidden;
  width: 46rem;
}
.re_top_article .flex_box figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.re_top_article .flex_box dl {
  padding: 3.2rem 6rem 3.2rem 4.9rem;
  width: calc(100% - 46rem);
}
.re_top_article .flex_box dt:not(:has(.green)) {
  max-width: max-content;
  padding: 0.6rem 1.3rem 0.6rem 5.9rem;
  background: #FFD650 url(../img/re_top/reason_point.png) center left 1rem/4rem auto no-repeat;
  font-size: 2.4rem;
  margin-bottom: 3.8rem;
  font-weight: var(--bold);
}
.re_top_article .flex_box dt:has(.green) {
  font-size: 2.4rem;
  margin-bottom: 2.3rem;
  color: var(--color-green);
}
.re_top_article .flex_box .check_list li {
  font-size: 1.8rem;
  padding-left: 3.8rem;
  background-size: 2.4rem auto;
  background-image: url(../img/re_top/icon_check_red.png);
}
.re_top_article .flex_box .check_list li + li {
  margin-top: 4.6rem;
}
.re_top_article .flex_box .check_list li + li::before {
  top: -2.3rem;
}
.re_top_article .flex_box .check_list li small {
  display: block;
  margin-top: 1rem;
  font-size: 1.4rem;
  letter-spacing: 0.04em;
  line-height: 2;
}
.re_top_article .flex_box .check_list.yellow li {
  background-image: url(../img/re_top/icon_check_yellow.png);
}
.re_top_article .flex_box .check_list li.blue_check {
  background-image: url(../img/re_top/icon_check_blue.png);
}
.re_top_article .flex_box dd p {
  padding-top: 3rem;
  border-top: 1px solid rgb(0 0 0 / 0.1);
  margin: 0;
  font-weight: var(--bold);
}
.re_top_article .flex_box + p {
  margin-top: 6rem;
}
.re_top_article .flex_box dd p.ttl,
.re_top_article .flex_box dd p.txt {
  padding: 0;
  border: none;
}
.re_top_article .flex_box dd p.txt {
  font-weight: var(--regular);
}
.re_top_article .flex_box dd p.ttl + p.txt {
  padding-top: 1rem;
}
.re_top_article .flex_box dd p.txt + p.ttl {
  padding-top: 4rem;
}
.re_top_article .point.icon {
  position: relative;
  margin-top: 2.8rem;
  border-radius: 1rem;
  padding: 1.7rem 20.7rem 2.4rem 4.6rem;
  background-image: repeating-linear-gradient(125deg, #FFD650, #FFD650 3rem, #fdc60ad1 3rem, #fdc60ad1 6rem);
}
.re_top_article .point.icon::after {
  position: absolute;
  right: 2rem;
  bottom: 0;
  content: "";
  width: 16.4rem;
  height: 23.2rem;
  background: url(../img/common/cvwrap2_icon.png) center/contain no-repeat;
}
.re_top_article .point.icon .ttl {
  margin-bottom: 1rem;
}
.re_top_article .point.icon .ttl img {
  width: 20.2rem;
}
.re_top_article .point.icon p {
  margin: 0;
}
.re_top_article .point.icon .txt {
  padding: 1.5rem 1.4rem 1.4rem 2.1rem;
  background: var(--color-white);
  border-radius: 0.4rem;
  font-size: 2rem;
  font-weight: var(--bold);
  margin: 0;
}
.re_top_article .point.icon .txt .green {
  color: var(--color-green);
}
.re_top_article .point.icon .txt .red {
  color: #FD4B4B;
}
@media screen and (min-width: 768px) {
  .re_top_article .point.icon.icon2 {
    padding-right: 12.9rem;
  }
  .re_top_article .point.icon.icon2 .txt {
    padding-right: 12.8rem;
    font-size: 1.8rem;
  }
  .re_top_article .point.icon.icon2::after {
    right: 3.6rem;
    width: 25rem;
    height: 22.4rem;
    background: url(../img/re_top/cvwrap2_icon2.png) center/contain no-repeat;
  }
  .re_top_article .point.icon.icon3 {
    padding: 2.5rem 4rem;
  }
  .re_top_article .point.icon.icon3 .txt {
    padding-right: 24rem;
    font-size: 1.8rem;
  }
  .re_top_article .point.icon.icon3::after {
    right: 1.1rem;
    width: 24.6rem;
    height: 23.6rem;
    background: url(../img/re_top/txt_icon8.png) center top / 100% auto no-repeat;
  }
}
@media screen and (max-width: 767px) {
  .re_top_article .flex_box {
    display: block;
    min-height: auto;
    margin-top: 2.9rem;
  }
  .re_top_article .flex_box figure {
    width: 100%;
    height: 23.3rem;
  }
  .re_top_article .flex_box dl {
    width: 100%;
    padding: 5rem 3rem;
  }
  .re_top_article .flex_box dt:not(:has(.green)) {
    margin-bottom: 1.8rem;
    font-size: 1.4rem;
  }
  .re_top_article .flex_box .check_list li {
    font-size: 1.7rem;
  }
  .re_top_article .flex_box .check_list li small {
    font-size: 1.3rem;
    font-weight: var(--regular);
  }
  .re_top_article .flex_box + p {
    margin-top: 3rem;
  }
  .re_top_article .point.icon {
    margin: 4rem auto 0;
    padding: 2.2rem 3rem 3rem;
  }
  .re_top_article .wrap .point.icon,
  .re_top_article .num_wrap .point.icon {
    margin: -1rem auto 0 !important;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }
  .re_top_article .point.icon .ttl {
    margin-bottom: 1.6rem;
    text-align: center;
  }
  .re_top_article .point.icon .ttl img {
    width: 17.2rem;
    margin: 0 auto;
  }
  .re_top_article .point.icon .txt {
    padding: 3.4rem 2rem 2.5rem;
    border-radius: 1rem;
    font-size: 1.7rem;
  }
  .re_top_article .point.icon::after {
    right: -2rem;
    top: -4rem;
    width: 8.4rem;
    height: 27.6rem;
    background-image: url(../img/re_top/re_article_ikko2.png);
  }
  .re_top_article .flex_box dt:has(.green) {
    font-size: 2.1rem;
  }
}

/* card_list3 ----------------- */
.re_top_article .button {
  width: 26.9rem;
  height: 5rem;
}
.re_top_article .card_list3 {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  margin: 7.6rem 0 0;
}
.re_top_article .card_list3::before {
  position: absolute;
  right: 1rem;
  top: -30.2rem;
  content: "";
  width: 25.2rem;
  height: 30.2rem;
  background: url(../img/re_top/card_list3_ikko.png) center/contain no-repeat;
}
.re_top_article .card_list3.no_icon {
  margin-top: 3rem;
}
.re_top_article .card_list3.no_icon::before {
  content: none;
}
.re_top_article .card_list3 li {
  overflow: hidden;
  width: calc(33.33% - (2rem * 2 / 3));
  background: var(--color-white);
  border-radius: 1rem;
  box-shadow: 0 0.2rem 0.6rem rgb(0 0 0 / 0.1);
}
.re_top_article .card_list3 li.no_button {
  padding-bottom: 0;
}
.re_top_article .card_list3 li figure {
  position: relative;
  overflow: hidden;
  height: 22rem;
}
.re_top_article .card_list3 li figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.re_top_article .card_list3 li > div {
  text-align: center;
  padding: 3.7rem 2rem 3.5rem;
}
.re_top_article .card_list3 li .button {
  max-width: none;
  min-width: auto;
  width: 100%;
  max-width: 26.9rem;
}
.re_top_article .card_list3 li p {
  font-weight: var(--bold);
  font-size: 2.2rem;
  letter-spacing: 0.04em;
  margin: 0;
}
.re_top_article .card_list3 li .labels {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.9rem;
  margin: 5.3rem 0 2.8rem;
}
.re_top_article .card_list3 li .blue {
  color: #25B0DE;
}
.re_top_article .card_list3 li .txt {
  position: relative;
  font-size: 1.8rem;
}
.re_top_article .card_list3 li .labels + .txt {
  margin: -3rem 0 0;
}
.re_top_article .card_list3 li .labels::before {
  position: absolute;
  top: -3.4rem;
  left: 50%;
  content: "";
  display: block;
  width:0;
  height:0;
  border-style:solid;
  border-width: 1.7rem 2.9rem 0 2.9rem;
  border-color: #C1C1C1 transparent transparent transparent;
  transform: translateX(-50%);
}
.re_top_article .card_list3 li .labels span {
  font-size: 1.8rem;
  font-weight: var(--bold);
  letter-spacing: 0;
  line-height: 1;
  padding: 0.7rem 0.6rem 0.6rem;
  border-radius: 0.5rem;
  background: #FFD650;
  line-height: 1.35;
}
.re_top_article .card_list3 li .labels.blue span {
  background: #29BEEF;
  color: var(--color-white);
}
.re_top_article .card_list3 + .txt {
  margin-top: 6rem;
  font-weight: var(--regular);
}
@media screen and (min-width: 768px) {
  .re_top_article .card_list3 li {
    padding-bottom: 8rem;
    position: relative;
  }
  .re_top_article .card_list3  li .button {
    position: absolute;
    bottom: 3.5rem;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 2.2rem);
  }
  .re_top_article .card_list3.col4 {
    gap: 2rem;
  }
  .re_top_article .card_list3.col4 li {
    width: calc(25% - (2rem * 3 / 4));
  }
}
@media screen and (max-width: 767px) {
  .re_top_article .card_list3  {
    gap: 2.9rem;
    margin: 1.4rem 0 0;
  }
  .re_top_article .card_list3  li {
    width: 100%;
    border: 1px solid rgb(0 0 0 / 0.1);
  }
  .re_top_article .card_list3::before {
    content: none;
  }
  .re_top_article .card_list3 li p {
    font-size: 2.1rem;
  }
  .re_top_article .card_list3 li .labels {
    flex-direction: column;
    gap: 1.8rem;
  }
  .re_top_article .card_list3 li .labels span {
    font-size: 1.7rem;
    min-width: 16.2rem;
  }
  .re_top_article .card_list3 + .txt {
    margin-top: 5rem;
  }
  .re_top_article .button {
    width: 29rem;
    font-size: 1.7rem;
  }
  .re_top_article .card_list3 li .button {
    margin: 3rem auto 0;
  }
}


/* df_ac_links ----------------- */
.re_top_article .df_ac_links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2.9rem;
}
.re_top_article .df_ac_links li {
  width: calc(25% - (2.9rem * 3 / 4));
}
.re_top_article .df_ac_links li a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  background-color: var(--color-green);
  padding: 2rem 1rem;
  font-size: 1.8rem;
  border-radius: 1rem;
  letter-spacing: 0.04em;
  box-shadow: 0 0.2rem 0.6rem rgb(0 0 0 / 0.1);
  color: var(--color-white);
}
.re_top_article .df_ac_links li a::after {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  border-right: 0.2rem solid var(--color-white);
  border-top: 0.2rem solid var(--color-white);
  transform: rotate(135deg);
}
@media screen and (max-width: 767px) {
  .re_top_article .df_ac_links {
    gap: 1rem;
  }
  .re_top_article .df_ac_links li {
    width: 100%;
  }
  .re_top_article .df_ac_links li a {
    box-shadow: none;
    padding: 1.5rem;
  }
  .re_top_article .df_ac_links li a::after {
    right: 1.5rem;
  }
}


/* card_list ----------------- */
.re_top_article .ta_left {
  text-align: left !important;
}
.re_top_article .ta_center {
  text-align: center !important;
}
.re_top_article .card_list {
  display: flex;
  gap: 2.1rem;
  margin-top: 2.8rem;
}
.re_top_article .card_list > li {
  overflow: hidden;
  width: calc(33.33% - (2.1rem * 2 / 3));
  border-radius: 1rem;
  background: var(--color-white);
  box-shadow: 0 0.2rem 0.6rem rgb(0 0 0 / 0.1);
}
.re_top_article .card_list > li figure {
  position: relative;
  width: 100%;
  height: 23.3rem;
  overflow: hidden;
}
.re_top_article .card_list > li figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.re_top_article .card_list > li dl {
  position: relative;
  padding: 3.2rem 2rem 4.4rem;
  height: calc(100% - 23.3rem);
}
.re_top_article .card_list > li dt {
  font-size: 2.2rem;
  text-align: center;
  color: var(--color-green);
  letter-spacing: 0.05em;
  font-weight: var(--bold);
}
.re_top_article .card_list > li dt.blue {
  color: #25B0DE;
}
.re_top_article .card_list > li dd {
  margin-top: 2.6rem;
  font-size: 1.8rem;
  letter-spacing: 0.04em;
  font-weight: var(--regular);
  padding-bottom: 8.6rem;
  line-height: 1.57;
  text-align: center;
}
.re_top_article .card_list > li dd.no_button {
  padding-bottom: 0;
}
.re_top_article .card_list > li .button {
  margin-top: 3.6rem;
  width: 26.9rem;
  height: 5rem;
  font-size: 1.6rem;
  position: absolute;
  bottom: 4.4rem;
  left: 50%;
  transform: translateX(-50%);
}
.re_top_article .card_list > li dt.num {
  display: flex;
  align-items: center;
  gap: 1.7rem;
}
.re_top_article .card_list > li dt.num span {
  font-size: 3.3rem;
  font-family: var(--font-en);
  font-weight: var(--medium);
  letter-spacing: 0.05em;
  line-height: 1;
  padding-bottom: 0.2rem;
  border-bottom: 0.3rem solid #25B0DE;
  color: #25B0DE;
}
.re_top_article .card_list.col4 > li dt {
  font-size: 1.6rem;
}
.re_top_article .card_list.col4 > li dd strong {
  font-size: 1.8rem;
  font-weight: var(--regular) !important;
}
.re_top_article .button_area_bg3 {
  margin: 4rem 0;
  padding: 2.8rem;
  border-radius: 0;
  background-image: repeating-linear-gradient(125deg, #29BEEF, #29BEEF 6rem, #1CC6FF 6rem, #1CC6FF 12rem);
}
.re_top_article .button_area_bg3 .button {
  background: #FFEB00;
  color: #29BEEF;
  width: 28.7rem;
  height: 6rem;
  font-size: 1.6rem;
  margin: 0 auto;
  max-width: 100%;
}
.re_top_article .button_area_bg3 .button::after {
  background-image: url(../img/re_top/icon_arrow_bl.png);
}
.re_top_article .button_area_bg3.yellow {
  background-image: repeating-linear-gradient(125deg, #FFEB00, #FFEB00 3rem, #ffeb00b8 3rem, #ffeb00b8 6rem);
}
.re_top_article .button_area_bg3.yellow .button {
  background: #29BEEF;
  color: var(--color-white);
}
@media screen and (min-width: 768px) {
  .re_top_article .card_list.col4 > li {
    width: calc(25% - (1.9rem * 3 / 4));
  }
  .re_top_article .card_list.col4 > li .button {
    min-width: auto;
    padding: 1rem 3rem 1rem 1.7rem;
    width: calc(100% - 3.8rem);
    height: 3.7rem;
  }
  .re_top_article .card_list.col4 > li .button::after {
    right: 1.5rem;
  }
  .re_top_article .card_list.col4 > li dd {
    margin-top: 1.8rem;
    padding-bottom: 6rem;
  }
  .re_top_article .card_list.col4 > li dt {
    font-size: 1.6rem;
  }
  .re_top_article .card_list.col4 > li dd strong {
    font-size: 1.8rem;
    font-weight: var(--regular) !important;
  }
}
@media screen and (max-width: 767px) {
  .re_top_article .card_list {
    flex-wrap: wrap;
    gap: 2rem;
    margin-top: 2rem;
  }
  .re_top_article .card_list > li {
    width: 100%;
  }
  .re_top_article .card_list > li dl {
    padding-bottom: 3.5rem;
  }
  .re_top_article .card_list > li dt {
    font-size: 2.1rem;
  }
  .re_top_article .card_list > li dt.num span {
    font-size: 3rem;
  }
  .re_top_article .card_list > li dd {
    margin-top: 1.1rem;
    font-size: 1.7rem;
  }
  .re_top_article .card_list > li .button {
    margin: 3rem auto 0;
    width: 26rem;
  }
  .re_top_article .card_list.col4 > li dt {
    font-size: 2.1rem;
  }
}


/* osusume ----------------- */
.re_top_article .osusume {
  position: relative;
  margin-top: 5rem;
  background: var(--color-white);
  padding: 3.6rem 6rem 7rem;
  border-radius: 1rem;
  box-shadow: 0 0.2rem 0.6rem rgb(0 0 0 / 0.16);
}
.re_top_article .osusume h3 {
  margin: 0 0 3.7rem;
  font-size: 2.8rem;
  font-weight: var(--bold);
  text-align: center;
}
.re_top_article .osusume .flex {
  position: relative;
  gap: 2.9rem;
}
.re_top_article .osusume .flex .item {
  position: relative;
  width: 50%;
  padding: 0 3rem 28.6rem;
  background: var(--color-white);
  border-radius: 1rem;
  box-shadow: 0 0.2rem 0.6rem rgb(0 0 0 / 0.1);
}
.re_top_article .osusume .flex .item.no_btn {
  padding-bottom: 3.8rem;
  margin: 0;
}
.re_top_article .osusume .flex .item.no_button {
  padding-bottom: 4rem;
}
.re_top_article .osusume .flex .item.no_button .bottom {
  position: static;
  transform: unset;
  width: 100% !important;
  margin-top: 3rem;
}
.re_top_article .osusume .flex .item.no_button .bottom .ttl {
  margin-bottom: 0;
}
.re_top_article .osusume .flex .item h4 {
  padding: 1.2rem 1rem 1.6rem;
  font-size: 2.8rem;
  color: var(--color-white);
  background: var(--color-green);
  text-align: center;
  margin: 0 -3rem 0;
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
}
.re_top_article .osusume .flex .item.red h4 {
  background: #FD4B4B;
}
.re_top_article .osusume .flex .item.blue h4 {
  background: #29BEEF;
}
.re_top_article .osusume .flex .item figure {
  position: relative;
  overflow: hidden;
  margin: 0 -3rem;
  height: 22.4rem;
}
.re_top_article .osusume .flex .item figure.medium {
  width: 100%;
  margin: 3.2rem 0 0;
  border-radius: 1rem;
}
.re_top_article .osusume .flex .item figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.re_top_article .osusume .flex .item .check_list {
  padding: 4rem 0 0;
}
.re_top_article .osusume .flex .item .check_list li {
  font-size: 1.8rem;
  background-size: 2.4rem auto;
  padding-left: 3.8rem;
}
.re_top_article .osusume .flex .item .bottom {
  position: absolute;
  left: 50%;
  bottom: 6rem;
  transform: translateX(-50%);
  width: calc(100% - 6rem);
  text-align: center;
}
.re_top_article .osusume .flex .item .bottom .ttl {
  font-size: 2.2rem;
  padding: 2.6rem;
  background: url(../img/re_top/masute.png) center/100% 100% no-repeat;
}
.re_top_article .osusume .flex .item .bottom .ttl span {
  color: var(--color-green);
  font-weight: var(--bold);
}
.re_top_article .osusume .flex .item.red .bottom .ttl span {
  color: #FD4B4B;
}
.re_top_article .osusume .flex .item.red .check_list li {
  background-image: url(../img/re_top/icon_check_red.png);
}
.re_top_article .osusume .flex .item .bottom .button {
  margin: 4.3rem auto 0;
}
.re_top_article .osusume h3 + p {
  text-align: center;
  margin: 0 auto 5rem;
}
.re_top_article .osusume .flex .item.h_auto {
  padding-bottom: 3.5rem;
}
.re_top_article .osusume .flex .item.h_auto .bottom {
  position: static;
  margin-left: auto;
  margin-right: auto;
  transform: unset;
}
.re_top_article .osusume .flex .item img {
  margin-bottom: 2rem;
}
.re_top_article .osusume h3 span {
  background: #FFEB00;
  padding: 0 1rem;
  margin-top: 1rem;
  display: inline-block;
}
.re_top_article .osusume.icon .flex::after {
  position: absolute;
  content: "";
  right: 1rem;
  top: -34rem;
  width: 20.1rem;
  height: 34rem;
  background: url(../img/re_top/osusume_ttl_ikko.png) center top/100% auto no-repeat;
}
.re_top_article .osusume.border {
  padding: 3rem 4rem;
  box-shadow: none;
  background-image: repeating-linear-gradient(125deg, #FFD650, #FFD650 3rem, #fdc60ad1 3rem, #fdc60ad1 6rem);
}
.re_top_article .osusume.border .border_in {
  background: var(--color-white);
  border-radius: 1rem;
  padding: 4rem 10rem;
}
@media screen and (max-width: 767px) {
  .re_top_article .osusume {
    padding: 4.7rem 2rem 6rem;
    margin: 4rem -2rem 0;
  }
  .re_top_article .osusume h3 {
    min-height: 4.7rem;
    margin-bottom: 2.2rem;
    font-size: 2.1rem;
  }
  .re_top_article .osusume .flex::before {
    width: 13.6rem;
    height: 13.7rem;
    right: -2.5rem;
    top: -13.5rem;
  }
  .re_top_article .osusume .flex {
    flex-wrap: wrap;
    gap: 3rem;
  }
  .re_top_article .osusume .flex .item {
    width: 100%;
    padding-bottom: 27.7rem;
  }
  .re_top_article .osusume .flex .item h4 {
    font-size: 2.1rem;
  }
  .re_top_article .osusume .flex .item figure {
    height: 14.5rem;
    margin-bottom: 3rem;
  }
  .re_top_article .osusume .flex .item .check_list {
    padding: 0;
  }
  .re_top_article .osusume .flex .item .bottom .ttl {
    padding: 1.6rem;
    margin: 3.5rem 0;
    font-size: 1.7rem;
  }
  .re_top_article .osusume .flex .item .bottom .button {
    margin-top: 3.5rem;
    width: 26rem;
    max-width: 100%;
  }
  .re_top_article .osusume .flex .item .bottom {
    bottom: 6rem;
  }
  /* .re_top_article .osusume h3 + p {
    max-width: 23rem;
  } */
  .re_top_article .osusume > h3.ta_center {
    text-align: left !important;
  }
  .re_top_article .osusume .flex .item .check_list li {
    font-size: 1.7rem;
  }
  .re_top_article .osusume.border {
    padding: 3rem 2rem;
  }
  .re_top_article .osusume.border .border_in {
    padding: 3rem 2rem;
  }
  .re_top_article .osusume .flex .item.h_auto .bottom {
    width: auto;
  }
  .re_top_article .osusume .flex .item figure.medium {
    margin: 2rem 0;
  }
  .re_top_article .osusume.icon .flex::after {
    content: none;
  }
  .re_top_article .osusume .flex .item.no_btn {
    margin-top: 0 !important;
  }
}

/* img_txt_col2 ----------------- */
.re_top_article .img_txt_col2 {
  display: flex;
  flex-direction: row-reverse;
  background: var(--color-white);
  box-shadow: 0 0.2rem 0.6rem rgb(0 0 0 / 0.1);
  border: 1px solid #E5E5E5;
  margin-top: 2.6rem;
  border-radius: 1rem;
  overflow: hidden;
  min-height: 24.8rem;
}
.re_top_article .img_txt_col2 + .img_txt_col2 {
  margin-top: 3rem;
}
.re_top_article .img_txt_col2 figure {
  position: relative;
  overflow: hidden;
  width: 41rem;
}
.re_top_article .img_txt_col2 figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.re_top_article .img_txt_col2 dl {
  width: calc(100% - 41rem);
  padding: 3.6rem;
}
.re_top_article .img_txt_col2 dl .button {
  margin-top: 2.5rem;
  width: 23rem;
  height: 6.6rem;
  font-size: 1.4rem;
}
.re_top_article .img_txt_col2 dt {
  position: relative;
  padding-bottom: 1.6rem;
  margin-bottom: 2.4rem;
  font-size: 2.4rem;
  color: var(--color-green);
  letter-spacing: 0.04em;
  font-weight: var(--bold);
}
.re_top_article .img_txt_col2 dt::after {
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  width: 3.2rem;
  height: 0.3rem;
  background: var(--color-green);
}
.re_top_article .img_txt_col2 dd {
  margin-top: 2rem;
  font-size: 1.8rem;
  line-height: 1.77;
}
.re_top_article .img_txt_col2 + p {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .re_top_article .img_txt_col2 {
    display: block;
    margin-top: 2rem;
  }
  .re_top_article .img_txt_col2 figure {
    width: 100%;
    height: 18rem;
  }
  .re_top_article .img_txt_col2 dl {
    width: 100%;
    padding: 3rem 2.4rem;
  }
  .re_top_article .img_txt_col2 dt {
    font-size: 2.1rem;
  }
  .re_top_article .img_txt_col2 dd {
    font-size: 1.7rem;
    margin-top: 1rem;
  }
  .re_top_article .img_txt_col2 dl .button {
    margin: 2.5rem auto 0;
  }
}


/* card_list2 ----------------- */
.re_top_article .card_list2 {
  margin-top: 2rem;
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
}
.re_top_article .card_list2 > li {
  overflow: hidden;
  width: calc(20% - (2rem * 4 / 5));
  border-radius: 1rem;
  background: var(--color-white);
  box-shadow: 0 0.2rem 0.6rem rgb(0 0 0 / 0.1);
}
.re_top_article .card_list2 > li figure {
  position: relative;
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
}
.re_top_article .card_list2 > li figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.re_top_article .card_list2 > li p {
  display: flex;
  justify-content: center;
  align-items: center;
  height: calc(100% - 21.6rem);
  padding: 2.5rem 2rem;
  text-align: center;
  font-size: 2rem;
  font-weight: var(--bold);
  color: var(--color-green);
  letter-spacing: 0.04em;
  line-height: 1.57;
  margin: 0;
}
.re_top_article .card_list2 > li p.ttl {
  color: var(--color-green);
  font-weight: var(--bold);
  padding: 0 1.5rem 1.7rem;
  line-height: 1.3;
}
.re_top_article .card_list2 > li p.ttl + p {
  font-size: 1.4rem;
  padding: 0 1.5rem 4rem;
  font-weight: var(--regular);
}
.re_top_article .card_list2.col4 {
  gap: 1.9rem;
}
.re_top_article .card_list2.col4 li {
  width: calc(25% - (1.9rem * 3 / 4));
}
.re_top_article .card_list2.col4 li p small {
  font-size: 1.2rem;
  font-weight: var(--regular);
}
.re_top_article .card_list2.col4 li p.lead {
  padding: 0 0.7rem 2rem;
  color: var(--color-green);
  font-weight: var(--medium);
}
.re_top_article .card_list2.col3 {
  gap: 1.9rem;
}
.re_top_article .card_list2.col3 > li {
  width: calc(33.33% - (1.9rem * 2 / 3));
}
.re_top_article .card_list2.col3 > li figure {
  height: 18rem;
}
.re_top_article .card_list2.col3 > li .lead {
  font-size: 1.8rem;
  padding: 2.9rem 2.4rem;
  margin: 0;
  text-align: left;
  font-weight: var(--medium);
}
.re_top_article .card_list2.col3 > li .sub_txt {
  padding: 0 2.4rem 4rem;
  text-align: left;
  font-size: 1.4rem;
  margin: 0;
  font-weight: var(--regular);
}
.re_top_article .card_list2.col3.pd_24 li h3 {
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  padding: 2.9rem 2.4rem 2.2rem;
  margin: 0;
}
.re_top_article .card_list2.col3.pd_24 li p {
  text-align: left;
  padding: 0 2.4rem 5.8rem;
}
@media screen and (max-width: 767px) {
  .re_top_article .card_list2 {
    gap: 1.5rem 1rem;
  }
  .re_top_article .card_list2 > li {
    width: calc(50% - 0.5rem);
  }
  .re_top_article .card_list2 > li figure {
    aspect-ratio: 1 / 0.8;
  }
  .re_top_article .card_list2.col4 {
    gap: 1rem 0.7rem;
  }
  .re_top_article .card_list2.col4 li {
    width: calc(50% - 0.35rem);
  }
  .re_top_article .card_list2.col4 li figure {
    height: 10.7rem;
  }
  .re_top_article .card_list2.col4 li p {
    font-size: 1.6rem;
    font-weight: var(--bold);
  }
  .re_top_article .card_list2.col4 li small {
    font-weight: var(--regular);
  }
  .re_top_article .card_list2.col4 li p.lead {
    font-size: 1.4rem;
    color: var(--color-green);
  }
  .re_top_article .card_list2.col3 {
    gap: 1rem;
  }
  .re_top_article .card_list2.col3 > li {
    width: 100%;
  }
  .re_top_article .card_list2.col3 > li .lead {
    font-size: 1.6rem;
    padding: 3rem 2.5rem 1.6rem;
    text-align: center;
    font-weight: var(--bold);
  }
  .re_top_article .card_list2.col3 > li .sub_txt {
    padding: 0 2.5rem 3.5rem;
    font-size: 1.3rem;
  }
  .re_top_article .card_list2.col3.pd_24 li h3 {
    font-size: 1.6rem;
  }
  .re_top_article .card_list2.col3.pd_24 li p {
    padding: 0 2.5rem 3.5rem;
    font-size: 1.3rem;
  }
  .re_top_article .card_list2 > li p {
    height: calc(100% - 13rem);
    font-size: 1.7rem;
  }
}


/* df_ac_links2 ----------------- */
.re_top_article .df_ac_links2 {
  position: relative;
  margin: 3.8rem 0 3rem;
  padding: 4.3rem 29.3rem 4.3rem 6rem;
  border-radius: 1rem;
  background: var(--color-white);
  box-shadow: 0 0.2rem 0.6rem rgb(0 0 0 / 0.16);
}
.re_top_article .df_ac_links2::after {
  position: absolute;
  content: "";
  right: -8rem;
  bottom: 0;
  width: 36.4rem;
  height: 34.8rem;
  background: url(../img/waterheater/types-selection/types-selection_osusume.png) center/contain no-repeat;
  pointer-events: none;
}
.re_top_article .df_ac_links2.icon2::after {
  position: absolute;
  content: "";
  right: 0;
  bottom: 0;
  width: 17.5rem;
  height: 27.2rem;
  background: url(../img/waterheater/types-selection/types-selection_osusume2.png) center/contain no-repeat;
  pointer-events: none;
}
.re_top_article .df_ac_links2.icon3::after {
  position: absolute;
  content: "";
  right: -3.6rem;
  bottom: 0;
  width: 36.3rem;
  height: 36.9rem;
  background: url(../img/common/button_area_bg_icon3.png) center/contain no-repeat;
  pointer-events: none;
}
.re_top_article .df_ac_links2 .list {
  display: flex;
  gap: 3.9rem;
}
.re_top_article .df_ac_links2 .list li {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: calc(33.33% - (3.9rem * 2 / 3));
  text-align: center;
}
.re_top_article .df_ac_links2 .list li p {
  font-weight: var(--bold);
  position: relative;
  font-size: 2rem;
  letter-spacing: 0.04em;
  margin: 0;
}
.re_top_article .df_ac_links2 .list li p small {
  font-size: 1.6rem;
}
.re_top_article .df_ac_links2 .list li .button {
  margin-top: 4.8rem;
  width: 100%;
  height: 6rem;
  background: #29BEEF;
  color: var(--color-white);
  font-size: 2.2rem;
}
.re_top_article .df_ac_links2 .list li .button::before {
  position: absolute;
  left: 50%;
  top: -2.7rem;
  transform: translateX(-50%);
  content: "";
  width:0;
  height:0;
  border-style:solid;
  border-width: 1.2rem 0.8rem 0 0.8rem;
  border-color: #29BEEF transparent transparent transparent;
}
.re_top_article .df_ac_links2 .list li .button::after {
  right: 2rem;
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 100%;
  background: var(--color-white) url(../img/re_top/icon_arrow_bl.png) center/1.3rem auto no-repeat;
}
.re_top_article .df_ac_links2.icon2::after {
  width: 28.7rem;
  height: 26.6rem;
  background: url(../img/common/point_icon_3.png) center/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .re_top_article .df_ac_links2 {
    margin: 1.7rem 0 3.5rem;
    padding: 3rem 1.6rem;
  }
  .re_top_article .df_ac_links2 .list {
    display: block;
  }
  .re_top_article .df_ac_links2::after,
  .re_top_article .df_ac_links2.icon2::after,
  .re_top_article .df_ac_links2.icon3::after {
    content: none;
  }
  .re_top_article .df_ac_links2 .list li {
    width: 100%;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid rgb(0 0 0 / 0.1);
  }
  .re_top_article .df_ac_links2 .list li p {
    font-size: 1.7rem;
    text-align: center;
  }
  .re_top_article .df_ac_links2 .list li .button {
    margin: 3.5rem auto 0;
    width: 19.9rem;
    font-size: 1.7rem;
    height: 5rem;
  }
  .re_top_article .df_ac_links2 .list li .button span {
    transform: translateX(-1.5rem);
  }
  .re_top_article .df_ac_links2 .list li + li {
    margin-top: 3rem;
  }
  .re_top_article .df_ac_links2 {
    padding: 3rem 1.6rem;
  }
  .re_top_article .df_ac_links2 .list li {
    align-items: center;
    width: 100%;
  }
}


/* df_ac_links3 ----------------- */
.re_top_article .button_blue {
  background: #29BEEF;
}
.re_top_article .button_red {
  background: #FD4B4B;
}
.re_top_article .button_orange {
  background: #F7BE00;
}
.re_top_article .df_ac_links3 {
  position: relative;
  padding: 8.9rem 6rem 7rem !important;
}
.re_top_article .df_ac_links3 .list {
  display: flex;
  gap: 5.5rem;
  justify-content: center;
  flex-wrap: wrap;
}
.re_top_article .df_ac_links3 .list li {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 27rem;
  text-align: center;
}
.re_top_article .df_ac_links3 .list li p {
  font-weight: var(--bold);
  position: relative;
  font-size: 2.2rem;
  letter-spacing: 0.04em;
  margin: 0;
}
.re_top_article .df_ac_links3 .list li p small {
  font-size: 1.6rem;
}
.re_top_article .df_ac_links3 .list li .button {
  margin-top: 4.8rem;
  width: 100%;
  height: 6rem;
  background: #29BEEF;
  color: var(--color-white);
  font-size: 2.2rem;
  box-shadow: 0 0.2rem 0.4rem rgb(0 0 0 / 0.5);
}
.re_top_article .df_ac_links3 .list li .button span {
  font-size: 2.2rem;
}
.re_top_article .df_ac_links3 .list li .button::before {
  position: absolute;
  left: 50%;
  top: -2.7rem;
  transform: translateX(-50%);
  content: "";
  width:0;
  height:0;
  border-style:solid;
  border-width: 1.2rem 0.8rem 0 0.8rem;
  border-color: #29BEEF transparent transparent transparent;
}
.re_top_article .df_ac_links3 .list li .button::after {
  right: 2rem;
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 100%;
  background: var(--color-white) url(../img/re_top/icon_arrow_bl.png) center/1.3rem auto no-repeat;
}
.re_top_article .df_ac_links3.icon2::after {
  width: 28.7rem;
  height: 26.6rem;
  background: url(../img/common/point_icon_3.png) center/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .re_top_article .df_ac_links3 {
    margin: 1.7rem 0 3.5rem;
    padding: 3rem 1.6rem !important;
  }
  .re_top_article .df_ac_links3 .list {
    display: block;
  }
  .re_top_article .df_ac_links3::after,
  .re_top_article .df_ac_links3.icon2::after,
  .re_top_article .df_ac_links3.icon3::after {
    content: none;
  }
  .re_top_article .df_ac_links3 .list li {
    width: 100%;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid rgb(0 0 0 / 0.1);
  }
  .re_top_article .df_ac_links3 .list li p {
    font-size: 1.7rem;
    text-align: center;
  }
  .re_top_article .df_ac_links3 .list li .button {
    margin: 3.5rem auto 0;
    width: 26rem;
  }
  .re_top_article .df_ac_links3 .list li + li {
    margin-top: 3rem;
  }
  .re_top_article .df_ac_links3 {
    padding: 3rem 1.6rem;
  }
  .re_top_article .df_ac_links3 .list li {
    align-items: center;
    width: 100%;
  }
  .re_top_article .df_ac_links3 .list li .button span {
    font-size: 1.7rem;
  }
}


/* df_check2 ----------------- */
.re_top_article .df_check2 > li {
  overflow: hidden;
  display: flex;
  gap: 4rem;
  border: 1px solid rgb(0 0 0 / 0.13);
  padding: 4rem;
  background: var(--color-white);
  border-radius: 1rem;
  box-shadow: 0 0.2rem 0.6rem rgb(0 0 0 / 0.1);
}
.re_top_article .df_check2 > li + li {
  margin-top: 2rem;
}
.re_top_article .df_check2 > li figure {
  position: relative;
  width: 30rem;
  height: 31.2rem;
  overflow: hidden;
}
.re_top_article .df_check2 > li figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.re_top_article .df_check2 > li > div {
  position: relative;
  width: calc(100% - 30rem - 4rem);
}
.re_top_article .contents .df_check2 > li div > .ttl {
  position: relative;
  margin: 0 0 4.4rem;
  padding-left: 5.4rem;
  color: #F7BE00;
  font-size: 2.4rem;
  letter-spacing: 0.04em;
  font-weight: var(--bold);
}
.re_top_article .df_check2 > li .ttl p {
  font-size: 1.4rem;
  letter-spacing: 0.04em;
}
.re_top_article .df_check2 > li span.num {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  font-size: 3.3rem;
  font-weight: var(--medium);
  font-family: var(--font-en);
  line-height: 1;
  padding-bottom: 0.1rem;
  border-bottom: 0.3rem solid #F7BE00;
  color: #F7BE00;
}
.re_top_article .df_check2 > li p.end_txt {
  position: relative;
  padding-left: 4rem;
  padding-top: 1.8rem;
  font-weight: var(--bold);
}
.re_top_article .df_check2 > li p.end_txt::before {
  position: absolute;
  top: 1.4rem;
  left: 1rem;
  content: "▶︎";
  color: var(--color-green);
  font-size: 2rem;
}
.re_top_article .df_check2 + p {
  margin-top: 6rem;
}
.re_top_article .df_check2 > li > div dl {
  display: grid;
  grid-template-rows: auto 1fr;
  grid-template-columns: auto 1fr;
  gap: 0 2rem;
  margin-top: 1rem;
}
.re_top_article .df_check2 > li > div dt,
.re_top_article .df_check2 > li > div dd {
  font-size: 1.4rem;
  letter-spacing: 0.04em;
  font-weight: var(--regular);
}
.re_top_article .df_check2 > li > div dt {
  font-weight: var(--bold);
}
.re_top_article .df_check2 > li > div dd {
  position: relative;
}
.re_top_article .df_check2 > li > div dd::before {
  position: absolute;
  top: -0.2rem;
  left: -1.3rem;
  content: ":";
  font-size: 1.6rem;
}
.re_top_article .df_check2 > li > div .check_list li {
  background-size: 2.4rem auto;
  padding-left: 3.8rem;
  background-position: left top 0.3rem;
  background-image: url(../img/re_top/icon_check_yellow.png);
}
.re_top_article .df_check2 > li > div .check_list li.col {
  grid-template-columns: 14.7rem auto;
}
.re_top_article .df_check2 > li > div .check_list li .ttl {
  font-size: 1.8rem;
  font-weight: var(--bold);
}
.re_top_article .df_check2 > li > div .check_list li .txt {
  width: 100%;
  font-size: 1.8rem;
}
.re_top_article .df_check2 > li.pd {
  padding: 5.4rem;
}
.re_top_article .df_check2 > li.pd figure {
  width: 30rem;
  height: 31.2rem;
  border-radius: 1rem;
}
.re_top_article .df_check2 > li.pd > div {
  padding-right: 0;
}
.re_top_article .df_check2 > li > div .button {
  width: 19.2rem;
  height: 4.2rem;
  margin: 4.4rem 0 0 auto;
  font-size: 1.4rem;
}
.re_top_article .df_check2 > li.pd figure.auto {
  height: auto;
}
.re_top_article .df_check2 > li.pd figure.auto img {
  position: static;
  object-fit: unset;
  height: auto;
}
.border_blue_box {
  position: relative;
  border-radius: 1rem;
  padding: 5rem 4rem;
  background-image: repeating-linear-gradient(125deg, #29BEEF, #29BEEF 6rem, #1CC6FF 6rem, #1CC6FF 12rem);
}
.border_blue_box .border_in {
  position: relative;
  background: var(--color-white);
  border-radius: 1rem;
  padding: 6.7rem 7.2rem;
}
.border_blue_box::before,
.border_blue_box::after,
.border_blue_box .border_in::before {
  position: absolute;
  content: "";
}
.border_blue_box::before {
  top: -17.7rem;
  right: 5.7rem;
  width: 29rem;
  height: 22.7rem;
  background: url(../img/re_top/txt_icon8.png) center top / 100% auto no-repeat;
}
.border_blue_box::after {
  top: 83rem;
  left: 0;
  width: 21.5rem;
  height: 45.2rem;
  background: url(../img/re_top/re_article_ikko4.png) center top / 100% auto no-repeat;
}
.border_blue_box .border_in::before {
  bottom: -5rem;
  right: -6.9rem;
  width: 28.9rem;
  height: 30.3rem;
  background: url(../img/re_top/card_list3_ikko.png) center top/100% auto no-repeat;
}
.border_blue_box.icon_bottom::after,
.border_blue_box.icon_bottom .border_in::before {
  content: none;
}
.border_blue_box.icon_bottom::before {
  top: auto;
  bottom: 0;
  z-index: 2;
  right: -1rem;
}
.border_blue_box h2.blue {
  color: #29BEEF;
}
.border_blue_box h2.blue::before {
  background: #29BEEF;
}
.border_blue_box.no_icon::before,
.border_blue_box.no_icon::after,
.border_blue_box.no_icon .border_in::before {
  content: none !important;
}
@media screen and (min-width: 768px) {
  .re_top_article .df_check2 > li.w_half {
    gap: 3.4rem;
  }
  .re_top_article .df_check2 > li.w_half figure {
    width: calc(50% - 1.7rem);
  }
  .re_top_article .df_check2 > li.w_half > div {
    width: calc(50% - 1.7rem);
    padding-left: 5.4rem;
  }
  .re_top_article .df_check2 > li.w_half.pd {
    padding: 4rem 3rem;
  }
  .re_top_article .df_check2 > li.w_half span.num {
    left: 0;
  }
}
@media screen and (max-width: 767px) {
  .re_top_article .df_check2 > li {
    position: relative;
    overflow: visible;
    flex-wrap: wrap;
  }
  .re_top_article .df_check2 > li::after {
    position: absolute;
    content: "";
    left: 50%;
    bottom: -2.6rem;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4.3rem 2.4rem 0 2.4rem;
    border-color: var(--color-white) transparent transparent transparent;
    transform: translateX(-50%);
    content: none;
  }
  .re_top_article .df_check2 > li figure {
    width: 100%;
    height: 15.4rem;
    border-top-left-radius: 1rem;
    border-top-right-radius: 1rem;
  }
  .re_top_article .df_check2 > li > div {
    width: 100%;
    padding: 2.8rem 1.8rem;
  }
  .re_top_article .contents .df_check2 > li .ttl {
    position: relative;
    text-align: left;
    /* padding-left: 5rem; */
    text-align: left;
    font-size: 1.6rem;
    margin-bottom: 1.3rem;
  }
  .re_top_article .df_check2 > li + li {
    margin-top: 5rem;
  }
  .re_top_article .df_check2 > li span.num {
    font-size: 3rem;
    top: -0.1rem;
    left: 0;
  }
  .re_top_article .df_check2 > li p.end_txt::before {
    top: 1.1rem;
  }
  .re_top_article .df_check2 > li > div dt, 
  .re_top_article .df_check2 > li > div dd,
  .re_top_article .df_check2 > li > div dd::before {
    font-size: 1.3rem !important;
  }
  .re_top_article .contents .df_check2 > li .col .ttl {
    padding-left: 0;
    margin: 0;
  }
  .re_top_article .df_check2 > li.pd {
    padding: 2rem;
  }
  .re_top_article .df_check2 > li.pd > div {
    padding-left: 0;
  }
  .re_top_article .df_check2 > li > div .button {
    margin: 4rem auto 0;
    width: 100%;
    font-size: 1.2rem;
    height: 5rem;
  }
  .border_blue_box {
    padding: 3rem 2rem;
  }
  .border_blue_box::before {
    content: none;
  }
  .border_blue_box::after {
    left: -2rem;
    top: 77rem;
    width: 14.1rem;
    height: 36.1rem;
  }
  .border_blue_box .border_in {
    padding: 0;
    background: none;
  }
  .re_top_article .df_check2 > li.pd {
    gap: 0;
  }
  .re_top_article .df_check2 > li.pd figure {
    height: 20rem;
  }
  .re_top_article .contents .df_check2 > li div > .ttl {
    font-size: 2.1rem;
    margin-bottom: 2rem;
  }
  .re_top_article .df_check2 > li > div .check_list li .ttl,
  .re_top_article .df_check2 > li > div .check_list li .txt {
    font-size: 1.7rem;
  }
  .border_blue_box .border_in::before {
    content: none;
  }
  .border_blue_box:has(.sp_wh) {
    margin-left: -2rem;
    margin-right: -2rem;
    border-radius: 0;
  }
  .border_blue_box .border_in.sp_wh {
    background: var(--color-white);
    padding: 3rem 2rem 2rem;
  }
  .re_top_article .df_check > li .ttl.only_label {
    padding: 0;
    margin: 0;
  }
  .re_top_article .df_check > li .ttl.only_label::after {
    content: none;
  }
  .border_blue_box .border_in.sp_wh .df_check > li > div {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}


.re_top_article .osusume.osusume2 {
  box-shadow: none;
}
.re_top_article .osusume.osusume2 .flex .item h4 {
  background: none;
  font-size: 2.2rem;
  padding: 2.5rem;
}
.re_top_article .osusume.osusume2 .flex .item.orange h4,
.re_top_article .osusume.osusume2 .flex .item.orange .obi span {
  color: #F7BE00;
}
.re_top_article .osusume.osusume2 .flex .item.blue h4,
.re_top_article .osusume.osusume2 .flex .item.blue .obi span {
  color: #29BEEF;
}
.re_top_article .osusume.osusume2 .flex .item .txt {
  color: var(--color-txt);
  font-size: 1.6rem;
}
.re_top_article .osusume.osusume2 .flex .item .obi {
  text-align: center;
  font-size: 1.8rem;
  padding: 1.3rem;
  margin: 1.2rem 0 4rem;
  color: var(--color-txt);
  background: #FFFBCB;
}
.re_top_article .osusume.osusume2 .flex .item .obi span {
  font-weight: var(--bold);
}
.re_top_article .osusume.osusume2 .flex .item.orange .obi {
  border-left: 0.2rem solid #F7BE00;
}
.re_top_article .osusume.osusume2 .flex .item.blue .obi {
  border-left: 0.2rem solid #29BEEF;
}
.re_top_article .osusume.osusume2 .flex .item .button {
  margin-left: auto;
  margin-right: auto;
}

.re_top_article .df_check3 > li {
  overflow: hidden;
  display: flex;
  border: 1px solid #E5E5E5;
  border-radius: 1rem;
  box-shadow: 0 0.2rem 0.6rem rgb(0 0 0 / 0.1);
  flex-wrap: wrap;
}
.re_top_article .df_check3 > li h3 {
  margin: 0 0 1.3rem !important;
}
.re_top_article .df_check3 > li + li {
  margin-top: 2rem;
}
.re_top_article .df_check3 > li figure {
  position: relative;
  width: 23.5rem;
  overflow: hidden;
}
.re_top_article .df_check3 > li figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.re_top_article .df_check3 > li > div {
  position: relative;
  padding: 2.6rem 4rem 2.6rem 2.7rem;
  width: calc(100% - 23.5rem);
}
.re_top_article .df_check3 > li .ttl {
  margin: 0 0 1.3rem;
  font-size: 2.2rem;
  letter-spacing: 0.04em;
  font-weight: var(--bold);
  white-space: nowrap;
}
.re_top_article .df_check3 > li .ttl p {
  font-size: 1.4rem;
  letter-spacing: 0.04em;
}
.re_top_article .df_check3 > li .txt {
  font-size: 1.6rem;
}
.re_top_article .df_check3 > li span:not(.pci,.pc,.sp,.spi,.indent,.notxt,.notxt_h,.notxt_t) {
  display: block;
  width: max-content;
  padding: 0.5rem 1.4rem;
  border-radius: 0.3rem;
  margin-bottom: 1.1rem;
  background-color: var(--color-green);
  color: var(--color-white);
  font-size: 1.4rem;
  font-family: var(--font-en);
  font-weight: var(--regular);
}
.re_top_article .df_check3 > li span.indent,
.re_top_article .df_check3 > li span.notxt,
.re_top_article .df_check3 > li span.notxt span {
  font-weight: var(--regular);
  color: var(--color-txt);
  display: block;
  margin: 0 !important;
}
.re_top_article .df_check3 > li span.notxt {
  display: grid;
  grid-template-rows: auto 1fr;
  grid-template-columns: auto 1fr;
}
.re_top_article .df_check3 + p {
  margin-top: 6rem;
}
.re_top_article .df_check3 .sp_yokoscroll {
  width: 100%;
  padding: 0;
}
.re_top_article .df_check3 .sp_yokoscroll table {
  margin: 0 !important;
}
.re_top_article .df_check3 > li > div .button {
  width: 22.8rem;
  height: 5rem;
  margin-top: 3rem;
}
.re_top_article .df_check3 > li > div .button span {
  background: none;
  padding: 0;
  margin: 0;
  font-weight: var(--bold);
}
.re_top_article .df_check3 > li p.txt_obi {
  font-size: 1.8rem;
  text-align: center;
  line-height: 1.75;
  padding: 0.7rem 2rem;
  background: #FFFBCB;
  border-left: 0.2rem solid var(--color-green);
  margin-top: 1rem;
  max-width: 36rem;
}
.re_top_article .df_check3 > li p.txt_obi span {
  display: inline;
  margin: 0;
  background: none;
  padding: 0;
  color: var(--color-green);
  font-weight: var(--bold);
  font-size: 1.6rem;
}
@media screen and (min-width: 768px) {
  .re_top_article .df_check3 > li > div .button {
    position: absolute;
    right: 4rem;
    bottom: 3rem;
  }
  .re_top_article .df_check3 > li > div .mx_w {
    max-width: calc(100% - 19.2rem - 7rem);
  }
}
@media screen and (max-width: 767px) {
  .re_top_article .df_check3 > li {
    position: relative;
    overflow: visible;
    flex-wrap: wrap;
  }
  .re_top_article .df_check3:not(.no_arrow) > li:not(:last-of-type)::after {
    position: absolute;
    content: "";
    left: 50%;
    bottom: -2.6rem;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4.3rem 2.4rem 0 2.4rem;
    border-color: var(--color-white) transparent transparent transparent;
    transform: translateX(-50%);
  }
  .re_top_article .df_check3:not(.no_arrow) > li:not(:last-of-type)::before {
    position: absolute;
    content: "";
    left: 50%;
    bottom: -2.6rem;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 2.3rem 2.4rem 0 2.4rem;
    border-color: #000000 transparent transparent transparent;
    transform: translateX(-50%);
    filter: blur(6px);
    opacity: 0.1;
  }
  .re_top_article .df_check3 > li figure {
    width: 100% !important;
    height: 15.4rem;
    border-top-left-radius: 1rem;
    border-top-right-radius: 1rem;
  }
  .re_top_article .df_check3 > li > div {
    width: 100% !important;
    padding: 2.8rem 1.8rem;
  }
  .re_top_article .df_check3 > li span:not(.pci,.pc,.sp,.spi) {
    margin: 0 auto 1.5rem;
  }
  .re_top_article .df_check3 > li .ttl {
    text-align: center;
    font-size: 2.1rem;
    margin-bottom: 1.3rem;
    white-space: normal;
  }
  .re_top_article .df_check3 > li + li {
    margin-top: 5rem;
  }
  .re_top_article .df_check3 .sp_yokoscroll {
    margin: 0;
    padding: 0;
  }
  .re_top_article .df_check3 > li > div .button {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .re_top_article .df_check3 > li > div .button span {
    font-size: 1.7rem;
  }
  .re_top_article .df_check3 > li p.txt_obi {
    padding: 1.6rem;
    margin: 3.5rem 0;
    font-size: 1.7rem;
  }
  .re_top_article .df_check3 > li p.txt_obi span {
    font-size: 1.7rem;
  }
  .re_top_article .df_check3 > li > div .mx_w p.txt {
    text-align: center;
  }
  .re_top_article .osusume.osusume2 .flex .item h4 {
    font-size: 2.1rem;
  }
  .re_top_article .osusume.osusume2 .flex .item .obi {
    font-size: 1.7rem;
  }
  .re_top_article .osusume.osusume2 .flex .item .button {
    max-width: 100%;
  }
  .re_top_article .osusume.osusume2 .flex .item {
    margin-top: 0 !important;
  }
}
.re_top_article .contents .df_check2 > li div.type2 > .ttl {
  margin-left: -5.4rem;
  margin-bottom: 3.5rem;
  color: var(--color-green);
}
.re_top_article .contents .df_check2 > li div.type2 > .ttl .num {
  color: var(--color-green);
  border-color: var(--color-green);
}
.re_top_article .df_check2 > li > div.type2 .button {
  margin-top: 1.7rem;
  font-size: 1.6rem;
  width: 23.2rem;
  height: 5rem;
}
@media screen and (max-width: 767px) {
  .re_top_article .contents .df_check2 > li div.type2 > .ttl {
    margin-left: 0;
  }
}



.re_top_article .wrap:has(.txt_icon),
.re_top_article .item:has(.txt_icon),
.re_top_article .num_wrap:has(.txt_icon) {
  margin-top: 14.9rem;
}
.re_top_article .df_list {
  text-align: left;
}
.re_top_article .df_list li {
  text-indent: -1em;
  padding-left: 1em;
  font-weight: var(--regular);
}
.re_top_article .df_list li + li {
  margin-top: 0.7em;
}
.re_top_article .card_list .df_list li + li {
  margin-top: 0;
}
.re_top_article .block_mt {
  margin-top: 14rem;
}
.re_top_article .fs_14 {
  font-size: 1.4rem !important;
}
.re_top_article .fs_16 {
  font-size: 1.6rem !important;
}
.re_top_article .fs_18 {
  font-size: 1.8rem !important;
}
.re_top_article .fs_20 {
  font-size: 2rem !important;
}
.re_top_article .fs_24 {
  font-size: 2.4rem !important;
}
.re_top_article hr {
  margin: 6.6rem 0;
  opacity: 0.3;
}
@media screen and (max-width: 767px) {
  /* .re_top_article .df_list li {
    font-size: 1.3rem;
  } */
  .re_top_article .wrap:has(.txt_icon),
  .re_top_article .item:has(.txt_icon),
  .re_top_article .num_wrap:has(.txt_icon),
  .re_top_article .item + .item {
    margin-top: 5.9rem !important;
  }
  .re_top_article .block_mt {
    margin-top: 5.9rem;
  }

  .re_top_article .fs_16 {
    font-size: 1.6rem !important;
  }
  .re_top_article .fs_18 {
    font-size: 1.7rem !important;
  }
  .re_top_article .fs_20 {
    font-size: 1.8rem !important;
  }
  .re_top_article .fs_24 {
    font-size: 2.1rem !important;
  }
}


/* エクステリアカテゴリ ---------------------------- */
.ex_mv {
  position: relative;
  padding: 0;
}
.ex_mv .ttl_wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 57.4rem;
  padding: 4.4rem 4.2rem 13.2rem 5rem;
  background: var(--color-white);
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.ex_mv picture {
  position: relative;
  display: block;
  overflow: hidden;
  width: calc(100% - 57.4rem);
  min-height: 70.2rem;
  margin: 0 0 0 auto;
}
.ex_mv img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom right;
}
.ex_mv .ttl_wrap .ttl_h2 {
  font-size: 2.4rem;
  font-weight: var(--medium);
  color: var(--color-green);
  margin-bottom: 4rem;
}
.ex_mv .ttl_wrap * {
  font-family: var(--font-ja2);
  font-weight: 500 !important;
}
.ex_mv .ttl_wrap .scroll {
  position: absolute;
  left: 50%;
  bottom: 2.9rem;
  transform: translateX(-50%);
  width: max-content;
  font-size: 1.4rem;
  font-family: var(--font-en);
  color: var(--color-green);
  padding-bottom: 1.54rem;
  letter-spacing: 0.1em;
}
.ex_mv .ttl_wrap .scroll::after {
  position: absolute;
  content: "";
  width: 1px;
  height: 1.5rem;
  background: var(--color-green);
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
}
.ex_mv .ttl_wrap .lead {
  margin-bottom: 4.3rem;
  font-size: 5.6rem;
  font-weight: var(--medium);
  letter-spacing: -0.05em;
}
.ex_mv .ttl_wrap .lead span {
  position: relative;
  font-weight: var(--bold) !important;
  color: var(--color-green);
}
.ex_mv .ttl_wrap .lead span::after {
  position: absolute;
  top: 50%;
  transform: translate(2rem,-50%);
  content: "";
  width: 31.7rem;
  height: 0.2rem;
  background: var(--color-green);
}
.ex_mv .ttl_wrap .txt {
  font-weight: 500;
  font-size: 1.7rem;
  line-height: 1.76;
}
.ex_mv .ttl_wrap .txt span {
  color: var(--color-green);
}
.mv_loop_slide .swiper-wrapper {
  transition-timing-function: linear;
}
.mv_loop_slide .swiper-slide {
  width: 30rem;
}
.ex_lead {
  padding: 4.7rem 0 12.8rem;
  background: linear-gradient(180deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 30%, rgba(227, 248, 255, 1) 58%, rgba(198, 242, 255, 1) 74%, rgba(252, 252, 252, 1) 100%);
}
.ex_lead .in {
  position: relative;
  background: var(--color-white);
  padding: 3.6rem 8rem 12.2rem;
  border-radius: 2rem;
}
.ex_lead .in::after {
  position: absolute;
  right: -7.9rem;
  bottom: -12.8rem;
  content: "";
  width: 29.6rem;
  height: 38.6rem;
  background: url(../img/exterior/setti_img.png) center/contain no-repeat;
}
.ex_lead .ttl_h2 {
  margin-bottom: 6.4rem;
  text-align: center;
  color: var(--color-green);
  font-size: 3.2rem;
  font-weight: var(--bold);
}
.ex_lead .ttl_h2 .txt_slash::before,
.ex_lead .ttl_h2 .txt_slash::after {
  background: var(--color-green);
}
.ex_lead .ttl_h2 + .txt {
  text-align: center;
  font-weight: var(--regular);
  font-size: 2rem;
}
.ex_lead .block {
  margin-top: 9.9rem;
}
.ex_lead .block .ttl_h3 {
  display: flex;
  gap: 1.4rem;
  align-items: center;
  justify-content: center;
  margin-bottom: 5rem;
  text-align: center;
  color: var(--color-green);
  font-size: 3.2rem;
  font-weight: var(--bold);
}
.ex_lead .block .ttl_h3::before,
.ex_lead .block .ttl_h3::after {
  content: "";
  height: 1px;
  width: 100%;
  background: var(--color-green);
}
.ex_lead .block .ttl_h3 span {
  white-space: nowrap;
}
.ex_lead .list {
  display: flex;
  flex-wrap: wrap;
  gap: 3.8rem 3rem;
}
.ex_lead .list .card {
  width: calc(25% - (3rem * 3 / 4));
  background: var(--color-white);
  border-radius: 1rem;
  box-shadow: 0 0.2rem 0.6rem rgb(0 0 0 / 0.16);
}
.ex_lead .list .card figure {
  position: relative;
  overflow: hidden;
  height: 17.2rem;
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
}
.ex_lead .list .card figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ex_lead .list .card dl {
  padding: 3.6rem 2.3rem 6rem;
  text-align: center;
}
.ex_lead .list .card dt {
  position: relative;
  font-size: 2.4rem;
  font-weight: var(--bold);
  color: var(--color-green);
  padding-bottom: 2.2rem;
  margin-bottom: 3rem;
}
.ex_lead .list .card dt::after {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  content: "";
  width: 3.5rem;
  height: 1px;
  background: var(--color-green);
}
.ex_lead .list .card dd {
  font-size: 2rem;
  font-weight: var(--regular);
  line-height: 1.5;
}
.ex_lead .list .card dd span {
  font-weight: var(--bold);
  background:linear-gradient(transparent 60%, #FFD650 60%);
}
.ex_lead .bottom {
  position: relative;
  max-width: 97.9rem;
  margin: 10.2rem auto 0;
  padding: 1.5rem 2rem 2.5rem;
  text-align: center;
  background-image: repeating-linear-gradient(125deg, #FFF5E0, #FFF5E0 1.5rem, #FFF9EC 1.5rem, #FFF9EC 3rem);
}
.ex_lead .bottom .lead {
  font-size: 2.8rem;
  line-height: 1.8;
}
.ex_lead .bottom .lead strong {
  font-size: 4rem;
  color: var(--color-green);
  border-bottom: 0.2rem solid var(--color-green);
  line-height: 0.9;
  display: inline-block;
}
.ex_lead .bottom::before,
.ex_lead .bottom::after {
  position: absolute;
  content: "";
  width: 4rem;
  height: 5rem;
}
.ex_lead .bottom::before {
  top: -1.7rem;
  left: 1.9rem;
  border-top: 1rem solid var(--color-green);
  border-left: 1rem solid var(--color-green);
}
.ex_lead .bottom::after {
  right: 1.9rem;
  bottom: -1.7rem;
  border-right: 1rem solid #FFD650;
  border-bottom: 1rem solid #FFD650;
}
.ex_ninki {
  padding: 21.5rem 0 16rem;
  background: linear-gradient(180deg,rgba(252, 247, 240, 1) 0%, rgba(255, 244, 226, 1) 100%, rgba(255, 255, 255, 1) 100%);
}
.ex_ninki .in {
  position: relative;
  padding: 0 8rem 8rem;
  background: #F4FCFA;
  border-radius: 2rem;
}
.ex_ninki .in .ttl_h2 {
  position: absolute;
  top: -9.2rem;
  left: 50%;
  transform: translateX(-50%);
  width: 124rem;
  text-align: center;
  padding: 2.3rem 0 7.3rem;
  font-size: 3.6rem;
  background: url(../img/exterior/ribon.png) center/100% 100% no-repeat;
  z-index: 2;
}
.txt_slash {
  position: relative;
  padding: 0 1rem;
  display: inline-block;
}
.txt_slash::before,
.txt_slash::after {
  position: absolute;
  content: "";
  width: 0.4rem;
  height: 80%;
  top: 50%;
  background: var(--color-txt);
}
.txt_slash::before {
  left: -1rem;
  transform: translateY(-50%) rotate(-15deg);
}
.txt_slash::after {
  right: -1rem;
  transform: translateY(-50%) rotate(15deg);
}
.ex_ninki .in .block {
  position: relative;
}
.ex_ninki .in .block::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: 100%;
  height: 0.3rem;
  background: var(--color-gr);
}
.ex_ninki .in .block + .block {
  margin-top: 11.6rem;
}
.ex_ninki .in .block .label {
  position: absolute;
  left: 0;
  top: 0;
  background: var(--color-green);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 19rem;
  width: 17.2rem;
  font-size: 2rem;
  color: var(--color-white);
  text-align: center;
}
.ex_ninki .in .block .label img {
  width: 5.6rem;
  margin: 0 auto 1.8rem;
}
.ex_ninki .in .block:first-of-type .label {
  height: 20.2rem;
  padding-top: 4rem;
}
.ex_ninki .in .df_ttl {
  padding-top: 9rem;
  margin-bottom: 8.6rem;
}
.ex_ninki .in .ttl_h3 {
  position: relative;
  padding-bottom: 3rem;
  text-align: center;
  font-size: 3.2rem;
  font-weight: var(--bold);
  color: var(--color-green);
}
.ex_ninki .in .ttl_h3::after {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  content: "";
  width: 7.3rem;
  height: 0.2rem;
  background: var(--color-green);
}
.ex_ninki_list {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  align-items: flex-start;
}
.ex_ninki_list .product_card {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: calc(50% - 1rem);
  margin: 0;
  background: var(--color-white);
  padding: 0 2rem 5rem;
  border-radius: 1rem;
  box-shadow: 0 0.2rem 0.6rem rgb(0 0 0 / 0.1);
}
#home .ex_ninki_list .product_card::before,
#home .ex_ninki_list .product_card::after {
  content: none;
}
#home .ex_ninki_list .product_card .name_wrap {
  padding: 3rem 0 2.7rem;
  background: none;
  width: 100%;
  margin: 0;
}
#home .ex_ninki_list .product_card .name_wrap .maker {
  position: static;
  width: auto;
  font-size: 1.4rem;
  color: rgb(0 0 0 / 0.5);
  font-weight: var(--regular);
}
#home .ex_ninki_list .product_card .name_wrap .maker img {
  position: absolute;
  height: 7rem;
  width: auto;
  right: 2rem;
  top: 1rem;
}
#home .ex_ninki_list .product_card .name_wrap .name {
  font-size: 2.6rem;
  padding-right: 24rem;
}
#home .ex_ninki_list .product_card .name_wrap .sku,
#home .ex_ninki_list .product_card .name_wrap .spec {
  font-weight: var(--regular);
  font-size: 1.2rem;
  margin-top: 0.5rem;
}
#home .ex_ninki_list .product_card .img_wrap,
#home .ex_ninki_list .product_card .txt_wrap {
  margin: 0;
}
#home .ex_ninki_list .product_card .img_wrap {
  display: block;
  width: 26.8rem;
}
#home .ex_ninki_list .product_card .txt_wrap {
  width: 27.5rem;
}
#home .ex_ninki_list .product_card .img_wrap figure {
  width: 100%;
}
#home .ex_ninki_list .product_card .img_note {
  position: static;
  display: none;
}
#home .ex_ninki_list .product_card .check_list > li {
  position: relative;
  padding-bottom: 3.2rem;
  margin: 0 !important;
}
#home .ex_ninki_list .product_card .check_list > li + li::before {
  position: absolute;
  left: 0;
  top: -1.8rem;
  content: "";
  width: 100%;
  height: 1px;
  background: rgb(0 0 0 / 0.1);
}
#home .ex_ninki_list .product_card .price_wrap {
  padding: 0;
}
#home .ex_ninki_list .product_card .price_wrap .price {
  font-size: 4.3rem;
  color: #FF0000;
  font-family: var(--font-en);
}
#home .ex_ninki_list .product_card .price_wrap .price span {
  display: block;
  margin-bottom: -0.5rem;
  font-size: 2.1rem;
  color: var(--color-txt);
  font-weight: var(--regular);
}
#home .ex_ninki_list .product_card .price_wrap .price small {
  font-size: 2rem;
  font-weight: var(--regular);
}
#home .ex_ninki_list .product_card .price_wrap .note {
  font-size: 1.2rem;
}
#home .ex_ninki_list .product_card .button_wrap {
  display: flex;
  gap: 2rem;
  margin-top: 3.8rem;
  width: 100%;
}
#home .ex_ninki_list .product_card .button_wrap .button {
  margin: 0;
  width: calc(50% - 1rem);
  height: 6rem;
  padding: 0 !important;
  display: flex;
  align-items: center;
  border-radius: 5rem;
  box-shadow: none;
  font-size: 1.6rem;
}
#home .ex_ninki_list .product_card .button_wrap .button_cv {
  background: #FFD650;
  color: var(--color-txt);
}
#home .ex_ninki_list .product_card .button_wrap .button::after {
  background-image: none;
}
.ex_teian {
  position: relative;
  padding: 0 0 33.7rem;
  background: linear-gradient(180deg,rgba(252, 247, 240, 1) 0%, rgba(255, 244, 226, 1) 50%, rgba(255, 255, 255, 1) 100%);
}
.ex_teian::after {
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  width: 100%;
  height: 100%;
  background: url(../img/inner-window/re_otoku_bg.png) center bottom/100% auto no-repeat;
  mix-blend-mode: darken;
  pointer-events: none;
  opacity: 0.5;
}
.ex_teian .ttl_h2 {
  position: relative;
  margin-bottom: 7.9rem;
  padding: 8.3rem 0;
  background: var(--color-gr);
  color: var(--color-white);
  font-size: 4.8rem;
  font-weight: var(--bold);
  text-align: center;
}
.ex_teian .ttl_h2::before {
  position: absolute;
  content: "";
  width: 27rem;
  height: 27rem;
  left: calc(50% + 49rem);
  transform: translateX(-50%);
  bottom: -7.9rem;
  background: url(../img/exterior/teian_ikko.png) center/contain no-repeat;
}
.ex_teian .ttl_h2::after {
  position: absolute;
  left: 50%;
  bottom: -2rem;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2.4rem 3.3rem 0 3.3rem;
  border-color: #2bb6b7 transparent transparent transparent;
  transform: translateX(-50%);
}
.ex_teian .in {
  padding: 6rem 4rem 8.5rem;
  max-width: 124rem;
  margin: 0 auto;
  background: #F4FCFA;
  border-radius: 1rem;
}
.ex_teian .flex {
  display: flex;
  gap: 7.3rem;
}
.ex_teian .flex figure {
  width: 58rem;
}
.ex_teian .flex .txt_wrap {
  width: calc(100% - 7.3rem - 58rem);
}
.ex_teian .flex .txt_wrap .lead {
  margin-bottom: 5.8rem;
  font-size: 3.2rem;
  line-height: 2.1875;
  font-weight: var(--bold);
}
.ex_teian .flex .txt_wrap .lead span {
  background: var(--color-white);
}
.ex_teian .flex .txt_wrap .lead span strong {
  color: #F7090C;
}
.ex_teian .flex .txt_wrap .txt {
  font-size: 1.8rem;
  font-weight: var(--regular);
  line-height: 2.22;
}
.ex_teian .flex + .flex {
  margin-top: 2rem;
}
.ex_teian .flex dl.txt_wrap {
  border-radius: 1rem;
  background: var(--color-white);
  overflow: hidden;
  box-shadow: 0 0.2rem 0.6rem rgb(0 0 0 / 0.16);
}
.ex_teian .flex dl.txt_wrap dt {
  background: #25B0DE;
  color: var(--color-white);
  text-align: center;
  font-size: 2rem;
  padding: 2rem;
  font-weight: var(--bold);
}
.ex_teian .flex dl.txt_wrap dt .txt_slash::before,
.ex_teian .flex dl.txt_wrap dt .txt_slash::after {
  background: var(--color-white);
}
.ex_teian .flex dl.txt_wrap dd {
  padding: 3.2rem 3rem;
}
.ex_teian .flex dl.txt_wrap dd .check_list > li {
  position: relative;
  font-size: 1.8rem;
  padding-bottom: 5rem;
  padding-right: 3rem;
  margin: 0;
  background-image: url(../img/re_top/icon_check_blue.png);
}
.ex_teian .flex dl.txt_wrap dd .check_list > li:last-of-type {
  padding-bottom: 0;
}
.ex_teian .flex dl.txt_wrap dd .check_list > li + li::before {
  position: absolute;
  left: 0;
  top: -2.8rem;
  content: "";
  width: 100%;
  height: 1px;
  background: rgb(0 0 0 / 0.1);
}
.ex_teian .bottom {
  position: relative;
  max-width: 88rem;
  margin: 7rem 0 0 auto;
}
.ex_teian .bottom::before {
  position: absolute;
  content: "";
  width: 38.1rem;
  height: 58.4rem;
  bottom: -8.5rem;
  left: -43rem;
  background: url(../img/exterior/teian_ikko2.png) center/contain no-repeat;
}
.ex_teian .bottom .fukidashi {
  position: relative;
  padding: 2.9rem 4.2rem;
  background-image: repeating-linear-gradient(125deg, #FFF95F, #FFF95F 1.5rem, #FFFBA0 1.5rem, #FFFBA0 3rem);
}
.ex_teian .bottom .fukidashi::before {
  position: absolute;
  top: 50%;
  left: -1.8rem;
  transform: translateY(-50%);
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2.35rem 1.8rem 2.35rem 0;
  border-color: transparent #FFF95F transparent transparent;
}
.ex_teian .bottom .fukidashi .lead {
  background: var(--color-white);
  border-radius: 1rem;
  padding: 3.4rem 0 3.8rem;
  text-align: center;
  font-size: 2.4rem;
  font-weight: var(--bold);
}
.ex_teian .bottom .fukidashi .lead > span {
  display: block;
  color: #F7090C;
  font-weight: var(--bold);
  font-size: 5.6rem;
  margin: 1rem auto 3.5rem;
}
.ex_teian .bottom .fukidashi .lead > span small {
  font-size: inherit;
}
.ex_teian .bottom .fukidashi .lead span.border {
  border-bottom: 0.2rem solid #F7090C;
}
.ex_teian .bottom .fukidashi .lead span.border strong {
  font-size: 7rem;
}
.ex_teian .bottom .button {
  width: 49rem;
  margin: 8.5rem auto 0;
  height: 7rem;
  background: #29BEEF;
  font-size: 1.8rem;
}
.ex_teian .end_txt {
  text-align: center;
  margin-top: 8.8rem;
  font-size: 3.2rem;
  font-weight: var(--regular);
}
.ex_teian .end_txt span {
  display: block;
  font-size: 4rem;
  width: max-content;
  margin: 0 auto;
}
.ex_teian .end_txt span strong {
  font-size: 6rem;
  font-weight: var(--bold);
  color: #F7090C;
  border-bottom: 0.2rem solid #F7090C;
}
.re_top_article.exterior {
  background: #FFF5E0;
}
.re_top_article.exterior .contents {
  background: var(--color-white);
  padding-left: 8rem;
  padding-right: 8rem;
}
.re_top_article.exterior .contents_ttl {
  text-align: center;
}
.re_top_article.exterior .contents_ttl small {
  display: block;
  margin-bottom: 0.7rem;
  text-transform: uppercase;
  opacity: 0.5;
  font-size: 1.4rem;
  font-family: var(--font-en);
}
.re_top_article.exterior .contents_ttl .ttl_h2 {
  position: relative;
  padding-bottom: 3.5rem;
}
.re_top_article.exterior .contents_ttl .ttl_h2::after {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  content: "";
  width: 7.3rem;
  height: 0.2rem;
  background: var(--color-green);
}
.re_top_article.exterior .ttl_border {
  position: relative;
  padding-left: 3rem;
  font-size: 2rem;
  color: var(--color-green);
}
.re_top_article.exterior .ttl_border::before {
  position: absolute;
  left: 0;
  top: 1.2rem;
  content: "";
  width: 2.1rem;
  height: 0.3rem;
  background: var(--color-green);
}
.re_top_article .card_flex {
  display: flex;
  gap: 6.8rem;
  margin-top: 5.6rem;
}
.re_top_article .card_flex .card {
  display: flex;
  overflow: hidden;
  width: calc(50% - 3.4rem);
  border-radius: 1rem;
  box-shadow: 0 0.2rem 0.6rem rgb(0 0 0 / 0.16);
}
.re_top_article .card_flex .card figure {
  position: relative;
  width: 25.7rem;
  overflow: hidden;
}
.re_top_article .card_flex .card figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.re_top_article .card_flex .card dl {
  width: calc(100% - 25.7rem);
  padding: 1.8rem;
}
.re_top_article .card_flex .card dt {
  position: relative;
  margin-bottom: 3.1rem;
  background: var(--color-white);
  text-align: center;
  padding: 0.5rem;
  border-radius: 0.6rem;
  text-align: center;
  font-size: 2.4rem;
  font-weight: var(--bold);
}
.re_top_article .card_flex .card dt::before {
  position: absolute;
  left: 50%;
  bottom: -3.1rem;
  transform: translateX(-50%);
  content: "";
  width: 0.2rem;
  height: 3.1rem;
  background: var(--color-white);
}
.re_top_article .card_flex .card dd {
  border-radius: 0.6rem;
  padding: 2.2rem 1.3rem 2.5rem;
  background: var(--color-white);
  box-shadow: 0 0.3rem 0.6rem rgb(0 0 0 / 0.16);
  font-size: 1.6rem;
  font-weight: var(--regular);
  color: var(--color-txt);
  text-align: center;
}
.re_top_article .card_flex .card dd .label {
  width: max-content;
  display: block;
  padding: 0.3rem;
  min-width: 11.5rem;
  font-size: 1.8rem;
  font-weight: var(--bold);
  margin: 0 auto 2rem;
  border: 1px solid #3FAEDE;
}
.re_top_article .card_flex .card.blue {
  background: #3FAEDE;
}
.re_top_article .card_flex .card.blue .label {
  color: #3FAEDE;
}
.re_top_article .card_flex .card.red {
  background: #FF585A;
}
.re_top_article .card_flex .card.red dt {
  color: #FF585A;
}
.re_top_article .card_flex .card.red .label {
  color: #FF585A;
  border-color: #FF585A;
}
.re_top_article.exterior .num_wrap h3 {
  font-size: 2rem;
  color: var(--color-green);
}
.re_top_article.exterior .num_wrap h3 span {
  font-size: 3.4rem;
}
.re_top_article.exterior .num_wrap h3 + p {
  font-size: 1.6rem;
  margin-bottom: 5.3rem;
}
.re_top_article.exterior .df_check3 figure {
  width: 33.9rem;
}
.re_top_article.exterior .df_check3 li > div {
  width: calc(100% - 33.9rem);
  padding: 3.5rem 6rem;
}
.re_top_article.exterior .df_check3 li .ttl {
  position: relative;
  font-size: 1.8rem;
  padding-bottom: 1.7rem;
  margin-bottom: 2rem;
}
.re_top_article.exterior .df_check3 li .ttl::after {
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  width: 1.9rem;
  height: 0.2rem;
  background: #29BEEF;
}
.re_top_article .label_list {
  display: flex;
  gap: 4.4rem;
  flex-wrap: wrap;
  margin-top: 4.4rem;
} 
.re_top_article .label_card {
  width: calc(33.33% - (4.4rem * 2 / 3));
  background: var(--color-white);
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 0.2rem 0.6rem rgb(0 0 0 / 0.16);
}
.re_top_article .label_card figure {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 18.8rem;
}
.re_top_article .label_card figure img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.re_top_article .label_card > dl {
  padding: 3rem 3rem 3.5rem;
}
.re_top_article .label_card dt {
  position: relative;
  text-align: center;
  color: #29BEEF;
  font-size: 1.8rem;
  font-weight: var(--bold);
  padding-bottom: 0.7rem;
  margin-bottom: 1.7rem;
}
.re_top_article .label_card dt::after {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  content: "";
  width: 2.2rem;
  height: 0.2rem;
  background: #29BEEF;
}
.re_top_article .label_card .labels {
  display: flex;
  gap: 1.3rem 1.6rem;
  flex-wrap: wrap;
}
.re_top_article .label_card .labels span {
  min-width: calc(33.33% - (1.6rem * 2 / 3));
  padding: 0.2rem 1rem;
  color: var(--color-white);
  background: #29BEEF;
  border-radius: 5rem;
  font-size: 1.4rem;
  text-align: center;
  font-weight: var(--bold);
}
.re_top_article.exterior table thead th {
  font-size: 1.8rem;
}
.re_top_article.exterior table td,
.re_top_article.exterior table tbody th,
.re_top_article.exterior table .df_list li {
  font-size: 1.6rem;
}
.re_top_article table .th_w_s,
.re_top_article table .th_w_m {
  width: 22rem !important;
}
@media screen and (min-width: 768px) {
  .banner_links.exterior {
    padding: 0 0 9.2rem;
    background: var(--color-bage);
  }
  .banner_links.exterior .in {
    background: var(--color-gr);
    border-radius: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .banner_links.exterior .in {
    padding: 0;
  }
  .ex_mv img {
    height: 44rem;
  }
  .ex_mv picture {
    width: 100%;
    height: 49rem;
    min-height: auto;
  }
  .ex_mv .ttl_wrap {
    position: relative;
    width: auto;
    margin: -16.6rem 2rem 0 0;
    padding: 2.7rem 2rem 12.4rem;
    background: var(--color-white);
  }
  .ex_mv .ttl_wrap .scroll {
    font-size: 1.2rem;
    padding-bottom: 1.24rem;
    bottom: 4.7rem;
  }
  .ex_mv .ttl_wrap .scroll::after {
    height: 1.2rem;
  }
  .ex_mv .ttl_wrap .ttl_h2 {
    margin-bottom: 2.2rem;
    font-size: 1.8rem;
  }
  .ex_mv .ttl_wrap .lead {
    font-size: 3.2rem;
    margin-bottom: 3.3rem;
  }
  .ex_mv .ttl_wrap .lead span::after {
    width: 18rem
  }
  .ex_mv .ttl_wrap .txt {
    font-size: 1.6rem;
  }
  .mv_loop_slide .swiper-slide {
    width: 20rem;
  }
  .ex_lead {
    background: var(--color-white);
    padding: 4.9rem 0 16rem;
  }
  .ex_lead .in {
    padding: 0 2rem;
    border-radius: 0;
  }
  .ex_lead .ttl_h2 {
    margin-bottom: 3.6rem;
    font-size: 2rem;
  }
  .ex_lead .ttl_h2 + .txt {
    font-size: 1.6rem;
    text-align: left;
  }
  .ex_lead .block {
    margin-top: 7.8rem;
  }
  .ex_lead .block .ttl_h3 {
    font-size: 2rem;
    gap: 1rem;
    margin: 0;
  }
  .ex_lead .list {
    padding: 5.2rem 2rem 6rem;
    margin: 0 -2rem;
    flex-wrap: nowrap;
    gap: 2rem;
    overflow-x: scroll;
  }
  .ex_lead .list .card {
    width: 23.5rem;
    min-width: 23.5rem;
  }
  .ex_lead .list .card dl {
    padding: 2.6rem 2rem 4.5rem;
  }
  .ex_lead .list .card dt {
    font-size: 1.8rem;
    padding-bottom: 1.9rem;
    margin-bottom: 2.5rem;
  }
  .ex_lead .list .card dd {
    font-size: 1.6rem;
  }
  .ex_lead .bottom {
    margin: 0;
    padding: 2.6rem 2rem 2.7rem;
  }
  .ex_lead .in::after {
    width: 16.8rem;
    height: 17.2rem;
    background-size: 100% auto;
    background-position: center top;
    left: 0;
    bottom: -16rem;
    right: auto;
  }
  .ex_lead .bottom .lead {
    font-size: 1.8rem;
  }
  .ex_lead .bottom .lead strong {
    font-size: 2.2rem;
  }
  .ex_lead .bottom::before, 
  .ex_lead .bottom::after {
    width: 2.4rem;
    height: 3.1rem;
    border-width: 0.8rem;
  }
  .ex_lead .bottom::before {
    top: -1.1rem;
    left: 1rem;
  }
  .ex_lead .bottom::after {
    bottom: -1.1rem;
    right: 1rem;
  }
  .ex_ninki {
    padding: 12rem 0 7.6rem;
  }
  .ex_ninki .in {
    padding: 0 2rem;
    border-radius: 0;
  }
  .ex_ninki .in .block .label {
    position: static;
    margin: 0 auto 4.8rem;
    width: 17.2rem;
    height: 15.2rem;
    font-size: 1.8rem;
  }
  .ex_ninki .in .df_ttl {
    padding: 0;
    margin: 0 0 6.6rem;
  }
  .ex_ninki .in .ttl_h3 {
    font-size: 2.2rem;
    padding-bottom: 1.9rem;
  }
  .ex_ninki .in .ttl_h3 + .txt {
    font-size: 1.6rem;
    text-align: left;
  }
  .ex_ninki_list {
    gap: 2rem;
  }
  .ex_ninki_list .product_card {
    width: 100%;
    padding-bottom: 4rem;
  }
  #home .ex_ninki_list .product_card .name_wrap .maker {
    font-size: 1.2rem;
  }
  #home .ex_ninki_list .product_card .name_wrap .maker img {
    height: 4.5rem;
  }
  #home .ex_ninki_list .product_card .name_wrap .name {
    font-size: 2.1rem;
    margin-top: 0.8rem;
    margin-bottom: 1.5rem;
    padding-right: 0;
  }
  #home .ex_ninki_list .product_card .name_wrap .sku, 
  #home .ex_ninki_list .product_card .name_wrap .spec {
    font-size: 1.3rem;
  }
  #home .ex_ninki_list .product_card .img_wrap {
    width: 100%;
  }
  #home .ex_ninki_list .product_card .txt_wrap {
    width: 100%;
    padding-top: 2.4rem;
  }
  #home .ex_ninki_list .product_card .check_list > li {
    font-size: 1.4rem;
    font-weight: var(--regular);
  }
  #home .ex_ninki_list .product_card .price_wrap .price span {
    font-size: 1.4rem;
    margin-bottom: 0.2rem;
  }
  #home .ex_ninki_list .product_card .price_wrap .price {
    font-size: 4.8rem;
  }
  #home .ex_ninki_list .product_card .price_wrap .price small {
    font-size: 1.6rem;
  }
  #home .ex_ninki_list .product_card .button_wrap {
    margin-top: 4.2rem;
    gap: 1.6rem;
    flex-wrap: wrap;
  }
  #home .ex_ninki_list .product_card .button_wrap .button {
    width: 100%;
    font-size: 1.4rem;
    height: 4.8rem;
  }
  #home .ex_ninki_list .product_card .button_wrap .button_arrow::before {
    width: 1.8rem;
    height: 1.8rem;
    left: 2.2rem;
  }
  #home .ex_ninki_list .product_card .button_wrap .button_arrow::after {
    width: 0.5rem;
    height: 0.5rem;
    left: 2.7rem;
  }
  .ex_ninki .in .block + .block {
    margin-top: 9.5rem;
  }
  .ex_ninki .in .block::before {
    width: calc(100% + 4rem);
    left: -2rem;
  }
  .ex_ninki .in .ttl_h2 {
    top: -5.2rem;
    font-size: 2rem;
    padding: 0.9rem 0 2.7rem;
    width: calc(100% - 4rem);
    z-index: 2;
    background-image: url(../img/exterior/ribon_sp.png);
  }
  .ex_teian .ttl_h2 {
    padding: 2.4rem 2rem 1.4rem;
    margin-bottom: 5.9rem;
    font-size: 2.2rem;
    text-align: left;
  }
  .ex_teian .ttl_h2::before {
    width: 16.5rem;
    height: 16.5rem;
    right: -1rem;
    bottom: -7.5rem;
    left: auto;
    transform: unset;
  }
  .ex_teian .ttl_h2::after {
    bottom: -0.6rem;
    border-width: 0.8rem 0.6rem 0 0.6rem;
  }
  .ex_teian .in {
    padding: 4.4rem 2rem 5.9rem;
    background: linear-gradient(180deg,rgba(244, 252, 250, 1) 0%, rgba(255, 255, 255, 0) 100%);
  }
  .ex_teian .flex {
    gap: 3.6rem;
    flex-wrap: wrap;
  }
  .ex_teian .flex .txt_wrap {
    width: 100%;
  }
  .ex_teian .flex figure {
    width: 100%;
  }
  .ex_teian .flex .txt_wrap .lead {
    margin-bottom: 5rem;
    font-size: 2.2rem;
    line-height: 1.81;
  }
  .ex_teian .flex .txt_wrap .txt {
    font-size: 1.6rem;
    line-height: 1.75;
  }
  .ex_teian .flex + .flex {
    margin-top: 1rem;
  }
  .ex_teian .flex:nth-of-type(2) {
    flex-direction: column-reverse;
  }
  .ex_teian .flex dl.txt_wrap dt {
    padding: 1.7rem;
    font-size: 1.8rem;
  }
  .ex_teian .flex dl.txt_wrap dd {
    padding: 3.2rem 2rem 3.8rem;
  }
  .ex_teian .flex dl.txt_wrap dd .check_list > li {
    font-size: 1.6rem;
    padding-right: 0;
  }
  .ex_teian .bottom {
    margin-top: 19.2rem;
    max-width: none;
    width: 100%;
  }
  .ex_teian .bottom .fukidashi {
    padding: 2rem;
  }
  .ex_teian .bottom .fukidashi .lead {
    padding: 2.6rem 2rem 4rem;
    font-size: 1.6rem;
  }
  .ex_teian .bottom .fukidashi .lead > span {
    font-size: 2.2rem;
    margin: 2.6rem 0 2rem;
  }
  .ex_teian .bottom .fukidashi .lead > span small {
    font-size: 2.2rem;
  }
  .ex_teian .bottom .fukidashi .lead span.border,
  .ex_teian .bottom .fukidashi .lead span.border strong {
    font-size: 3.2rem;
    border: none;
  }
  .ex_teian .bottom .fukidashi .lead .sp_border {
    line-height: 1;
    display: inline-block;
    border-bottom: 0.2rem solid #F7090C;
  }
  .ex_teian .bottom .button {
    margin: 4rem auto 0;
    width: 100%;
    height: 5.6rem;
    font-size: 1.6rem;
  }
  .ex_teian .bottom .fukidashi::before {
    top: -3rem;
    left: 50%;
    transform: translateX(-50%) rotate(90deg);
  }
  .ex_teian .bottom::before {
    width: 19.9rem;
    height: 21.3rem;
    left: 50%;
    bottom: auto;
    top: -21.1rem;
    transform: translateX(-50%);
    background-image: url(../img/exterior/teian_ikko2_sp.png);
  }
  .ex_teian {
    padding-bottom: 14.8rem;
    background: linear-gradient(180deg, rgba(252, 247, 240, 1) 0%, rgb(255 255 255) 50%, rgba(255, 255, 255, 1) 100%);
  }
  .ex_teian::after {
    background-size: auto 45.5rem;
    background-position: center bottom -3rem;
    opacity: 0.9;
  }
  .ex_teian .end_txt {
    margin: 0;
    padding: 0;
    font-size: 1.8rem;
  }
  .ex_teian .end_txt span {
    font-size: 2.2rem;
    margin-top: 2.9rem;
    line-height: 1.87;
  }
  .ex_teian .end_txt span strong {
    font-size: 3.2rem;
    border: none;
  }
  .re_top_article.exterior p {
    font-size: 1.6rem;
  }
  .re_top_article.exterior .contents {
    padding: 5.8rem 2rem;
    border-radius: 2rem;
    box-shadow: 0 0.2rem 1.2rem rgb(0 0 0 / 0.16);
  }
  .re_top_article.exterior .contents_ttl .ttl_h2 {
    font-size: 2.1rem;
    padding-bottom: 2.4rem;
  }
  .re_top_article.exterior .contents_ttl small {
    font-size: 1.5rem;
    font-weight: var(--regular);
  }
  .re_top_article.exterior .contents_ttl .ttl_h2 + .txt {
    margin-top: 3.9rem;
    text-align: left;
    font-size: 1.6rem;
  }
  .re_top_article.exterior .ttl_border {
    font-size: 1.8rem;
    padding-left: 2.6rem;
  }
  .re_top_article.exterior .ttl_border {
    margin-top: 5rem;
  }
  .re_top_article.exterior .ttl_border::before {
    top: 1rem;
    width: 2rem;
  }
  .re_top_article .card_flex {
    gap: 4.3rem;
    flex-direction: column;
    margin-top: 5.5rem;
  }
  .re_top_article .card_flex .card {
    width: 100%;
    display: block;
  }
  .re_top_article .card_flex .card figure {
    width: 100%;
    height: 23.9rem;
  }
  .re_top_article .card_flex .card dl {
    width: 100%;
    padding: 3.2rem 2rem 1.9rem;
  }
  .re_top_article .card_flex .card dt {
    font-size: 2.2rem;
  }
  .re_top_article.exterior .num_wrap h3 {
    font-size: 1.8rem;
  }
  .re_top_article.exterior .num_wrap h3 span {
    font-size: 2.6rem;
  }
  .re_top_article.exterior .num_wrap h3 + p {
    margin-bottom: 3rem;
  }
  .re_top_article .df_check3.sp_yokoscroll {
    display: flex;
    flex-wrap: nowrap;
    gap: 2rem;
    padding: 1rem 2rem;
    margin: 0 -2rem !important;
  }
  .re_top_article .df_check3.sp_yokoscroll li {
    display: block;
    width: 31rem;
    min-width: 31rem;
  }
  .re_top_article.exterior .df_check3 figure {
    height: 26.1rem;
  }
  .re_top_article.exterior .df_check3 li > div {
    padding: 2.6rem 2rem 4.7rem;
  }
  .re_top_article.exterior .df_check3 li .ttl::after {
    left: 50%;
    transform: translateX(-50%);
  }
  .re_top_article .label_list.sp_yokoscroll {
    display: flex;
    flex-wrap: nowrap;
    gap: 2rem;
    padding: 1rem 2rem;
    margin: 0 -2rem !important;
  }
  .re_top_article .label_list li {
    width: 100%;
  }
  .re_top_article .label_list.sp_yokoscroll li {
    width: 31rem;
    min-width: 31rem;
  }
  .re_top_article .label_card dt {
    padding-bottom: 1.7rem;
    margin-bottom: 2rem;
  }
  .re_top_article .label_card > dl {
    padding: 2.6rem 2rem 4.7rem;
  }
  .re_top_article .label_card .labels {
    margin-top: 0.7rem;
    gap: 1.1rem 0.7rem;
  }
  .re_top_article .label_card .labels span {
    font-size: 1.2rem;
    min-width: calc(33.33% - (0.7rem * 2 / 3));
  }
  .re_top_article table .th_w_s {
    padding: 2rem !important;
    width: 11.5rem !important;
  }
  .re_top_article table .th_w_m {
    padding: 2rem !important;
    width: 16.5rem !important;
  }
  .re_top_article.exterior table thead th {
    font-size: 1.6rem !important;
  }
  .re_top_article.exterior {
    padding-bottom: 6rem;
  }
  .re_top_article.exterior .contents::before {
    width: calc(100% - 4rem);
  }
  .txt_slash::before,
  .txt_slash::after {
    width: 0.2rem;
  }
  .ex_ninki .in .block:first-of-type .label {
    height: 18.4rem;
    padding-top: 2rem;
  }
}