@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Overpass:ital,wght@0,100..900;1,100..900&display=swap');

.vis-sp {
    display: none;
}
a {
    color: #000;
    text-decoration: none;
}
b {
    font-weight: normal;
}
.gBody {
    /* padding-top: 50px; */
    padding-bottom: 0px;
}

.-hiraya .gVisual {
    padding: 0;
}

.u-inner {
    padding-top: 60px;
    padding-bottom: 50px;
}
.gHeader_inner {
    padding-top: 0px;
    padding-bottom: 0px;
}

.u-bgyellow {
    background-color: #F8F7F2;
}

.p-concept.p-concept-reform.-hiraya .gVisual_img {
    height: 850px;
}

.head-ttl_cnt {
    position: relative;
}

li {
    list-style: none;
}
.intro .u-inner {
    padding-top: 150px;
    padding-bottom: 120px;
    max-width: 1552px;
    position: relative;
}


.intro_sec {
    width: 100%;
    display: flex;
    justify-content: space-between;
    max-width: 1124px;
    margin: 0 auto;
}
.intro_ttl {
    font-size: 30px;
    margin-bottom: 35px;
}
.intro_txt {
    line-height: 2.5;
}

.intro_img_cnt {
    width: 45%;
    position: relative;
}

.intro_img01 {
    position: absolute;
    left: 0;
}
.intro_img02 {
    position: absolute;
    right: -180px;
    top: 23%;
}
.intro_logo {
    position: absolute;
    bottom: -65px;
}
.intro_logo img {}


/* ==========================
  フェードダウン基本
========================== */

.fade-down {
  opacity: 0;
  transform: translateY(-30px);
  transition: opacity 1s ease, transform 1s ease;
}

/* 表示状態 */
.fade-down.is-show {
  opacity: 1;
  transform: translateY(0);
}

/* 2枚目用ディレイ */
.fade-delay {
  transition-delay: 0.7s;
}



/* features */
.improve_intro_txt {
    text-align: center;
    margin-bottom: 60px;
}
.improve_cnt_ttl {
    display: flex;
    justify-content: left;
    align-items: center;
    gap: 20px;
    margin-bottom: 20px;
    position: relative;
}
.improve_cnt_ttl::after {
    content: '';
    width: 76%;
    height: 1px;
    border-bottom: 1px solid #707070;
    position: absolute;
    transform: translateY(50%);
    bottom: 50%;
    right: 0;

}
.improve_cnt.-no2 .improve_cnt_ttl::after {
    content: '';
    width: 83%;
    height: 1px;
    border-bottom: 1px solid #707070;
    position: absolute;
    transform: translateY(50%);
    bottom: 50%;
    right: 0;
}
.improve_cnt_ttl .u-ttl03,
.improve_cnt_ttl .u-ttl04 {
    margin-bottom: 0px;
}
.improve_cnt_ttl .-en {
    color: #343483;
}
.improve_cnt_col {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 83px;
    margin-bottom: 80px;
}
.improve_cnt_col_sec {
    max-width: 520px;
}
.improve_cnt_col_sec h3 {
    font-size: 20px;
}
.improve_cnt_col_sec img {
    width: 100%;
    height: auto;
    max-width: 550px;
    margin-bottom: 20px;
}
.improve_cnt_col_sec .mgb50 {
    margin-bottom: 50px;
}
.improve_more_btn {
    background-color: #343483;
    max-width: 387px;
    position: relative;
    padding-left: 30px;
}
.improve_more_btn a {
    color: #fff;
    display: block;
    width: 100%;
    height: auto;
    padding: 29px 0 28px;
    font-size: 18px;
    position: relative;
}
.renova_bnr {
    text-align: center;
}
.renova_bnr a:hover {
    opacity: 0.7;
}
.renova_bnr .renova_ttl {
    margin-bottom: 20px;
    display: grid;
    place-items: center;
    gap: 20px;
}
.renova_bnr .renova_ttl::after {
    content: '';
    width: 26px;
    height: 12px;
    background-image: url(/assets/img/concept/full-reform/renova-arrow.svg);
    background-repeat: no-repeat;
    background-size: cover;
}

.improve_more_btn {
    position: relative;
}
.improve_more_btn a::after {
    content: '';
    width: 9px;
    height: 12px;
    background-image: url(/assets/img/concept/more_arrow.svg);
    background-repeat: no-repeat;
    background-size: cover;
    z-index: 1;
    position: absolute;
    transform: translateY(50%);
    bottom: 50%;
    right: 10%;
}

/* cost */
.scroll-area {
    overflow-x: scroll;
    width: 100%;
    margin-bottom: 20px;
}
.cost_cnt {
    margin-top: 45px;
}
.cost_cnt table {
    width: 1124px;
    background-color: #fff;
}
.cost_cnt table tr th,
.cost_cnt table tr td {
    border: solid 1px #000;
    padding: 20px 0;
}
.cost_cnt table tr th {
    background-color: #343483;
    color: #fff;
}
.cost_cnt table tr th:nth-child(2),
.cost_cnt table tr th:nth-child(3),
.cost_cnt table tr th:nth-child(4) {
    width: 311px;
}
.cost_cnt table tr td {
    text-align: center;
}


/* exam */
.cost_intro_txt {
    text-align: center;
}
.renova_map {
    text-align: center;
    margin-bottom: 100px;
}
.renova_map_img {
    position: relative;
    margin-bottom: 60px;
}
.renova_map_img::before {
    position: absolute;
    top: -5%;
    transform: translateX(50%);
    right: 50%;
    z-index: 1;
    color: #fff;
    padding: 4px 100px;
    text-align: center;
    font-size: 30px;
    font-family: 'Noto Serif JP', serif;
}
.renova_map_img.-after::before {
    content: 'After';
    background-color: #343483;
}
.renova_map_img.-before::before {
    content: 'Before';
    background-color: #4A3D2E;
}

.renova_map_img img {
    width: 100%;
    height: auto;
    max-width: 900px;
}
.renova_exam_cnt.-before {
    position: relative;
    padding-top: 60px;
}

.renova_exam_cnt_img {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 16px;
}
.renova_exam_cnt_img img {
    width: 100%;
    height: auto;
    max-width: 364px;
}
.renova_exam_cnt {
    /* margin-bottom: 80px; */
    position: relative;
    /* padding-top: 60px; */
}
.box_img {
    max-width: 110px;
}
.box_img img {
    width: 100%;
    height: auto;
    max-width: 110px;
}
.item {
    text-align: center;
}
.renova_exam_cnt_col {
    margin-bottom: 20px;
}

.exam_intro_txt {
    text-align: center;
    margin-bottom: 40px;
}
.exam_cnt {
    margin-bottom: 70px;
}
.exam_data {
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 50px;
    max-width: 900px;
    margin: 0 auto;
    padding: 30px 0;
}
.exam_data_col {
    max-width: 390px;
    border-right: solid 1px #000;
    padding-right: 40px;
}
.exam_data_col_ttl {
    font-weight: bold;
}
.exam_data_col_list {
    display: flex;
    flex-wrap: wrap;
    gap: 0 50px;
    padding: 10px 50px 10px 0;

}
.exam_data_col_list li:nth-child(2) {
    padding-left: 77px;
}
.money .big {
    font-size: 46px;
    font-weight: bold;
    font-family: 'Hiragino Kaku Gothic ProN', serif;
}



/* flow */
.flow_intro_ttl.u-ttl03 {
    margin-bottom: 60px;
}
.flow_cnt ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 53px 22px;
}
.flow_cnt .flow_cnt_list {
    max-width: 324px;
    height: 125px;
    background-color: #F2F1F0;
    text-align: center;
    padding: 32px 18px 35px;
    position: relative;
}
.flow_cnt .flow_cnt_list::before {
    font-size: 18px;
    font-family: 'Noto Serif JP', serif;
    background-color: #343483;
    color: #fff;
    position: absolute;
    transform: translateX(50%);
    right: 50%;
    top: -8%;
    text-align: center;
    padding: 0 42px;
}
.flow_cnt .flow_cnt_list.-no1::before {
    content: 'step1';
}
.flow_cnt .flow_cnt_list.-no2::before {
    content: 'step2';
}
.flow_cnt .flow_cnt_list.-no3::before {
    content: 'step3';
}
.flow_cnt .flow_cnt_list.-no4::before {
    content: 'step4';
}
.flow_cnt .flow_cnt_list.-no5::before {
    content: 'step5';
}
.flow_cnt .flow_cnt_list.-no6::before {
    content: 'step6';
}

.flow_cnt .flow_cnt_list p {
    text-align: left;
}

.swiper-container .swiper-wrapper {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
}
.swiper-container .swiper-slide {
    width: 110px;
}

.scroll_area::-webkit-scrollbar {
    padding: 5px;
    color: #000;
}

.thumbnail {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}

.slider-thumbnail .swiper-slide {
    /* opacity: .5; */
    transition: opacity .5s;
    /* width: 100% !important; */
  }
  .slider-thumbnail .swiper-slide.swiper-slide-thumb-active {
    opacity: 1;
  }
  .slider-thumbnail .swiper-slide {
    min-width: 100px;
  }
  .thumbnail .swiper-wrapper {
    flex-wrap: wrap;
  }


  .improve_more_btn {
    position: relative;
    z-index: 0;
    overflow: hidden;
  }
  .improve_more_btn::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 0%;
    height: 100%;
    background-color: #131362;
    -webkit-transition: .5s;
    transition: .5s;
  }
  .improve_more_btn:hover::before {
    width: 100%;
  }



.u-bgyellow {
    background-color: #F8F7F2;
}

.p-concept.p-concept-reform.-hiraya .gVisual_img {
    height: 850px;
}

.head-ttl_cnt {
    position: relative;
}

li {
    list-style: none;
}
.intro .u-inner {
    padding-top: 150px;
    padding-bottom: 120px;
    max-width: 1552px;
    position: relative;
}


.intro_sec {
    width: 100%;
    display: flex;
    justify-content: space-between;
    max-width: 1124px;
    margin: 0 auto;
}
.intro_txt_cnt {
    text-align: start;
    width: 50%;
    padding: 50px 0 50px 0px;
}
.intro_ttl {
    font-size: 30px;
    margin-bottom: 35px;
}
.intro_txt {
    line-height: 2.5;
}

.intro_img_cnt {
    width: 45%;
    position: relative;
}

.intro_img01 {
    position: absolute;
    left: 0;
}
.intro_img02 {
    position: absolute;
    right: -180px;
    top: 23%;
}
.intro_logo {
    position: absolute;
    bottom: -65px;
}
.intro_logo img {}






/* 平屋 */

/* 初期状態 */
.fade-target {
  opacity: 0;
  transform: translate(-50%, -50%) translateY(30px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

/* 表示状態 */
.fade-target.is-show {
  opacity: 1;
  transform: translate(-50%, -50%) translateY(0);
}

.head-ttl_sec {
  position: relative;
  height: 100%;
}

.head-ttl_cnt {
  position: absolute;
  top: 50%;
  left: 50%;
  /* transform: translate(-50%, -50%); */
}

.head-ttl_cnt img {
    margin-bottom: 10px;
}

.head-ttl_cnt h4 {
    text-align: center;
    font-size: 28px;
    color: #fff;
}


.top .u-inner {
    padding-top: 150px;
}

/* 位置調整（画面下中央などに配置） */
.scroll {
  position: absolute;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
}

.scroll-line {
  width: 1px;
  height: 50px;
  /* background: rgba(255,255,255,0.3); */
  overflow: hidden;
  position: relative;
}

.scroll-line::after {
  content: "";
  position: absolute;
  top: -100%;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  animation: scrollLine 1.5s infinite ease-in-out;
}

.scroll-text {
  margin-top: 8px;
  font-size: 22px;
  letter-spacing: 0.2em;
  color: #fff;
  font-family: 'Cormorant Garamond', serif;
}

/* features */

.features {}
.features_sec {
    width: 100%;
}
.features_ttl {}
.features_ttl small {}
.features_ttl h2 {}
.features_sec01 {}
.features_sec02 {}
.features_sec03 {}

.features_ttl01,
.demerit_ttl01,
.exam_ttl01 {
  text-align: center;
  padding: 60px 20px;
}

.demerit_ttl01 {
  text-align: center;
  padding: 60px 20px 40px;
}

.features_ttl01 small,
.demerit_ttl01 small,
.exam_ttl01 small {
  display: block;
  font-size: 14px;
  letter-spacing: 0.25em;
  color: #1f3a8a;
  margin-bottom: 20px;
}

.features_ttl01 h2,
.demerit_ttl01 h2,
.exam_ttl01 h2 {
  font-size: 32px;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin: 0;
}

/* ===== セクション全体 ===== */
.features_sec01,
.features_sec02,
.features_sec03 {
  padding: 0 20px 0px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 80px;
  align-items: start;
  position: relative;
  margin-bottom: 100px;
}

/* ===== 左カラム（テキスト側） ===== */
.features_ttl02 {
  margin-bottom: 40px;
}

.features_ttl02 .small_ttl {
  display: block;
  font-size: 14px;
  letter-spacing: 0.25em;
  color: #1f3a8a;
  margin-bottom: 20px;
}

.features_ttl02 h3 {
  font-size: 30px;
  font-weight: 500;
  margin: 0;
  position: relative;
  padding-bottom: 20px;
}

/* 下線 */
.features_ttl02 h3::after {
  content: "";
  display: block;
  width: 60px;
  height: 1px;
  background: #999;
  margin-top: 20px;
}

/* ===== 説明文 ===== */
.features_txt h2 {
  font-size: 26px;
  font-weight: 500;
  line-height: 1.8;
  margin-bottom: 30px;
}

.features_txt p {
  font-size: 15px;
  line-height: 2;
  color: #444;
}

/* ===== 右カラム（画像） ===== */
.features_img {
  display: flex;
  justify-content: center;
  align-items: center;
}

.features_img img {
  width: 100%;
  max-width: 520px;
  background: #ddd;
  position: absolute;
  top: 170px;
}

.reco_sec {
    background-color: #fff;
    /* width: 100%; */
    position: relative;
    padding: 70px;
    margin-bottom: 100px;
}

.reco_ttl {
  text-align: center;
  margin-bottom: 60px;
}

.reco_ttl h3 {
  display: inline-block;
  background: #0b2a6b;
  color: #fff;
  padding: 16px 40px;
  border-radius: 999px;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.08em;
  position: absolute;
  top: -33px;
  left: 50%;
  transform: translateX(-50%);
  width: 55%;
}

.reco_img {
  text-align: center;
  margin-bottom: 80px;
}

.reco_img img {
  max-width: 100%;
  height: auto;
}

.comparison {
  /* max-width: 1100px; */
  margin: 0 auto;
  background: #f7f7f7;
  padding: 80px 60px;
  max-width: 900px;
}

.cost_sec02 .comparison {
  
}


.comparison_ttl {
  text-align: center;
  font-size: 22px;
  font-weight: 500;
  margin-bottom: 40px;
  letter-spacing: 0.1em;
}

.comparison_table {
  width: 100%;
  border-collapse: collapse;
  min-width: 800px; /* ← スマホ横スクロール用 */
}

.comparison_table th,
.comparison_table td {
  padding: 18px 20px;
  font-size: 15px;
  line-height: 1.8;
  border-bottom: 1px solid #ddd;
  text-align: left;
  vertical-align: top;
}

.comparison_table th {
  font-weight: bold;
  white-space: nowrap;
}

.comparison_table tr:first-child th {
  border-bottom: 2px solid #bbb;
}

.scroll-area {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.scroll-area::-webkit-scrollbar {
  height: 6px;
}

.scroll-area::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 3px;
}
.comparison_ttl_fot {
  margin-top: 30px;
  font-size: 20px;
  font-weight: 500;
  line-height: 2;
  text-align: center;
}

.point_sec {
    background-color: #fff;
    padding: 70px 40px;
    margin-bottom: 100px;
    max-width: 1124px;
}

.point_sec > div {
  max-width: 1200px;
  margin: 0 auto 120px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 80px;
  align-items: center;
}

.point_sec > .-right {
  direction: rtl;
}

.point_sec > .-right > * {
  direction: ltr;
}

.point_img img {
  width: 100%;
  max-width: 520px;
  display: block;
}

.point_txt {
  max-width: 480px;
}

.point_txt .small_ttl {
  display: block;
  font-size: 14px;
  letter-spacing: 0.25em;
  color: #1f3a8a;
  margin-bottom: 20px;
}

.point_txt h4 {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.8;
  margin-bottom: 24px;
}

.point_txt p {
  font-size: 15px;
  line-height: 2;
  color: #444;
}

.point_sec > div.-left {
  padding-left: 0px;
}

.point_sec > div.-left.-last {
    margin: 0;
}

.point_sec > div.-right {
  padding-right: 0px;
}

.cost_sec01,
.cost_sec02 {
  margin: 0 auto 120px;
  padding: 0 20px;
  background-color: #fff;
  padding: 70px;
}

.cost_txt {
  max-width: 650px;
}

.cost_txt p {
  font-size: 15px;
  line-height: 2;
  color: #333;
}

.cost_flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
}


.cost_txt h3.u-mincho {
  position: relative;
  font-size: 22px;
  /* margin-bottom: 30px; */
  padding-bottom: 18px;
  display: grid;
  place-items: baseline;
  padding-left: 10px;
  letter-spacing: 0.2em;
}

.cost_txt h3.u-mincho::after {
    content: '';
    width: 100%;
    max-width: 630px;
    height: 30px;
    background-image: url(/assets/img/concept/hiraya/ttl_br.webp);
    background-size: cover;
    background-repeat: no-repeat;
    margin-top: 10px;
    position: relative;
    left: -25px;
}


.cost_sec01 {
  margin-bottom: 30px;
}

.cost_img01 img {
  width: 100%;
  max-width: 300px;
  height: auto;
  display: block;
}

.cost_sec02 .cost_txt {
  margin-bottom: 50px;
  max-width: unset;
  width: 100%;
}

.cost_img02 {
  text-align: center;
  margin-bottom: 80px;
  background-color: #fff;
}

.cost_img02 img {
  max-width: 100%;
  height: auto;
}

.demerit_txt {}

.demerit .u-inner {
    padding-bottom: 80px;
}

.demerit_sec {}

.demerit_txt {
    text-align: center;
    margin-bottom: 40px;
}

/* ===== demerit section ===== */

.demerit_cnt{
  display: flex;
  justify-content: space-between;
  gap: 40px;
}

.demerit_cnt > div{
  width: 33.333%;
  text-align: center;
}

.demerit_cnt img{
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 10px;
}

/* Demerit.1 等 */
.demerit_cnt h4{
  font-family: "Cormorant Garamond", serif;
  font-size: 18px;
  letter-spacing: 0.2em;
  color: #1b2c7a; /* 濃いネイビー系 */
  margin-bottom: 0px;
}

/* 日本語タイトル */
.demerit_cnt h5{
  font-size: 20px;
  margin-bottom: 10px;
  font-weight: 100;
}

/* 説明文 */
.demerit_cnt p{
  font-size: 15px;
  line-height: 1.9;
  color: #333;
  text-align: left;
}

.renova_exam {
    margin-bottom: 40px;
}

.exam-map {
    margin-bottom: 60px;
}
.exam-map img {
    max-width: 1124px;
    width: 100%;
    margin: 0 auto;
    display: block;
}

.bnr-img {
    margin-bottom: 60px;
}

.bnr-img a {
    transition: all ease 0.3s;
}

.bnr-img a:hover {
    opacity: 0.7;
}

.bnr-img a img {
    max-width: 760px;
    width: 100%;
    margin: 0 auto;
    display: block;
}


@media screen and (max-width: 900px) {


}



@keyframes scrollLine {
  0% {
    top: -100%;
  }
  50% {
    top: 0%;
  }
  100% {
    top: 100%;
  }
}

@media screen and (max-width:810px) {

}

@media screen and (max-width:999px) {

    .intro .u-inner {
        padding-top: 150px;
    }
    .gBody {
        padding-top: 0px;
        padding-bottom: 0px;
    }
    p {
        text-align: left;
    }
    .vis-sp {
        display: block;
    } 
    .u-inner {
        padding-top: 30px;
        padding-bottom: 30px;
    }

    .intro_txt {
        line-height: 2;
    }

    .head-ttl_cnt h4 {
        font-size: 15px;
        top: 35%;
    }

    .scroll {
        bottom: 8px;
    }

    .scroll-text {
        font-size: 14px;
    }

    .scroll-line {
        height: 20px;
    }

    .features_ttl02 {
        margin-bottom: 20px;
    }

    .p-concept.p-concept-reform.-hiraya .gVisual_img {
        height: 300px;
    }

    .intro_sec {
        flex-wrap: wrap;
        justify-content: unset;
    }

    .intro_txt_cnt {
        width: 100%;
        padding: 0;
        padding-top: 80px;
    }

    .intro_ttl {
        font-size: 25px;
        margin-bottom: 35px;
    }









    .features_sec01,
    .features_sec02,
    .features_sec03 {
        grid-template-columns: 1fr;
        row-gap: 30px;
    }

    .features_ttl01 {
        padding: 20px 20px 60px;
    }

    .features_ttl01 h2 {
        font-size: 24px;
    }

    .features_txt h2 {
        font-size: 21px;
    }

    .features_img img {
        width: 100%;
        max-width: 520px;
        background: #ddd;
        position: unset;
        margin-bottom: 30px;
    }

    .intro_img_cnt {
        width: 100%;
        position: relative;
    }

    .intro_img01 {
        position: absolute;
        left: 0;
        width: 50%;
    }
    .intro_img02 {
        position: relative;
        right: -35%;
        top: 50px;
        width: 65%;
    }

    .intro_logo {
        bottom: -20px;
    }


    .comparison {
        padding: 60px 20px;
    }

    .comparison_ttl {
        font-size: 18px;
    }

    .comparison_ttl_fot {
        font-size: 16px;
    }

    .point_sec {
        padding: 50px 25px;
    }

    .point_sec > div {
        grid-template-columns: 1fr;
        row-gap: 40px;
        margin-bottom: 80px;
    }

    .point_sec > .-right {
        direction: ltr;
    }

    .point_txt {
        max-width: 100%;
    }

    .point_txt h4 {
        font-size: 18px;
    }

    .cost_sec01 {
        flex-direction: column;
        gap: 40px;
        display: flex;
        flex-wrap: wrap;
        padding: 50px 25px;
    }

    .cost_flex {
        display: flex;
        justify-content: unset;
        align-items: unset;
        flex-wrap: wrap;
    }

    .cost_txt {
        max-width: 100%;
        margin-bottom: 30px;
    }

    .cost_sec02 {
        padding: 50px 25px;
        margin-bottom: 50px;
    }

    .exam_ttl01 {
        text-align: center;
        padding: 20px 20px 30px;
    }

    .demerit .u-inner {
        padding-bottom: 50px;
    }

    .demerit_ttl01 {
        padding: 20px;

    }

    .comparison {
        padding: 50px 20px;
    }

    .comparison_txt {
        margin-bottom: 10px;
    }

    .cost_txt h3.u-mincho,
    .comparison_ttl.u-mincho {
        font-size: 20px;
        padding: 0;
        margin-bottom: 10px;
    }

    .cost_txt h3.u-mincho::after {
        left: 0;
    }

    .demerit_cnt{
        flex-direction: column;
    }

    .demerit_cnt > div{
        width: 100%;
    }

    .demerit_cnt img{
        margin-bottom: 20px;
    }

    .demerit_cnt h5{
        font-size: 18px;
    }

    .demerit_cnt p{
        font-size: 14px;
    }

    .reco_ttl h3 {
        top: -50px;
        width: 75%;
        font-size: 15px;
    }

    .reco_sec {
        padding: 70px 25px;
    }

    .reco_img {
        margin: 0 auto 80px;
        width: 300px;
    }

    .comparison_table th,
    .comparison_table td {
        padding: 10px;
    }

    .features_ttl02 h3 {
        font-size: 22px;
    }

    .thumbnail .swiper-wrapper {
        flex-wrap: wrap;
        gap: 10px;
    }
}

@media screen and (max-width:450px) {

    .intro_txt {
        line-height: 2;
    }

    .head-ttl_cnt h4 {
        font-size: 15px;
        top: 35%;
    }

    .scroll {
        bottom: 8px;
    }

    .scroll-text {
        font-size: 14px;
    }

    .scroll-line {
        height: 20px;
    }

    .features_ttl02 {
        margin-bottom: 20px;
    }

    .features_txt h2 {
        margin-bottom: 20px;
    }

    .features_sec01,
    .features_sec02,
    .features_sec03 {
        padding: 0;
    }

    .reco_ttl h3 {
        top: -50px;
        width: 83%;
        font-size: 17px;
    }

    .reco_sec {
        padding: 20px 25px 35px;
        margin-bottom: 50px;
    }

    .reco_img {
        width: 260px;
        margin: 0 auto 40px;
    }

    .reco_img img {
        max-width: 60%;
        height: auto;
        /* display: flex; */
        /* justify-content: center; */
        margin: 0 auto;
    }

    .comparison {
        padding: 50px 20px 30px;
    }

    .features_sec02 {
        margin-bottom: 50px;
    }

    .point_sec {
        padding: 25px 25px;
        margin-bottom: 50px;
    }

    .point_sec > div {
        row-gap: 20px;
        margin-bottom: 60px;
    }

    .point_txt h4 {
        margin-bottom: 10px;
    }

    .features_sec03 {
        padding: 0;
        margin-bottom: 50px;
    }

    .cost_sec01 {
        padding: 25px;
    }

    .cost_sec02 {
        padding: 25px;
        margin-bottom: 50px;
    }

    .cost_img02 {
        margin-bottom: 40px;
    }

    .demerit_txt {
        text-align: start;
        margin-bottom: 40px;
    }



    .thumbnail .swiper-wrapper {
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 10px 0px;
    }

    .intro .u-inner {
        padding-top: 60px;
    }

}
