﻿@charset "utf-8";

.common_visual .position {
    padding-top: 13%;
    background-size: cover
}

.shop .common_visual .position {
    background-image: url(../img/shop/bg_main.webp)
}

.faq .common_visual .position {
    background-image: url(../img/faq/bg_main.webp)
}

.lp-faq .common_visual .position {
    background-image: url(../img/faq/bg_main.webp)
}

.catalog .common_visual .position {
    background-image: url(../img/catalog/bg_main.webp)
}

.company .common_visual .position {
    background-image: url(../img/company/bg_main.webp)
}

.contact .common_visual .position {
    background-image: url(../img/contact/bg_main.webp)
}

.flow .common_visual .position {
    background-image: url(../img/flow/bg_main.webp)
}

.pay .common_visual .position {
    background-image: url(../img/pay/bg_main.webp);
    background-size: cover;
    background-position: center
}

.news .common_visual .position {
    background-image: url(../img/news/bg_main.webp)
}

.blog .common_visual .position {
    background-image: url(../img/blog/bg_main.webp);
    background-size: cover;
    background-position: center
}

.privacy .common_visual .position {
    background-image: url(../img/privacy/bg_main.webp);
    background-size: cover;
    background-position: center
}

.management .common_visual .position {
    background-image: url(../img/management/bg_main.webp);
    background-size: cover;
    background-position: center
}

.complaint .common_visual .position {
    background-image: url(../img/complaint/bg_main.webp);
    background-size: cover;
    background-position: center
}

.tokusyou .common_visual .position {
    background-image: url(../img/tokusyou/bg_main.webp);
    background-size: cover;
    background-position: center
}

.exclusion .common_visual .position {
    background-image: url(../img/exclusion/bg_main.webp);
    background-size: cover;
    background-position: center
}

.waterheater .common_visual .position {
    background-image: url(../img/waterheater/bg_main.png?20251229);
    padding-top: 35%
}

.stoveburner .common_visual .position {
    background-image: url(../img/stoveburner/bg_main.png?20251229);
    padding-top: 35%
}

.stoveburner_bak .common_visual .position {
    background-image: url(../img/stoveburner/bg_main.png?20251229);
    padding-top: 35%
}

/* .rangefood .common_visual .position {
    background-image: url(../img/rangefood/bg_main.webp);
    padding-top: 18%
} */

.case .common_visual .position {
    background-image: url(../img/pref/gifu/case/bg_main.webp)
}

.voice .common_visual .position {
    background-image: url(../img/pref/gifu/voice/bg_main.webp);
    background-size: cover;
    background-position: 75%
}

.campaign .common_visual .position {
    background-image: url(../img/campaign/bg_main.webp);
    padding-top: 18%
}

.reviews .common_visual .position {
    background-image: url(../img/reviews/bg_01.jpg);
    padding-top: 18%
}

.ih .common_visual .position {
    background-image: url(../img/ih/top.webp);
    padding-top: 35%
}

.rangefood .common_visual .position {
    background-image: url(../img/rangefood/top.webp);
    padding-top: 35%;
}

.dishwasher .common_visual .position {
    background-image: url(../img/dishwasher/top.webp);
    padding-top: 35%;
}

.common_visual .mv_wrap {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    margin: auto;
    font-size: 2.5rem;
    font-weight: 700;
    color: #fff;
    transform: translateY(-50%)
}

@media screen and (max-width:768px) {
    .article_body {
        padding-bottom: 40px
    }

    .common_visual .position {
        padding-top: 46.6695%
    }

    .shop .common_visual .position {
        background-image: url(../img/shop/bg_main_sp.webp)
    }

    .faq .common_visual .position {
        background-image: url(../img/faq/bg_main_sp.webp)
    }

    .lp-faq .common_visual .position {
        background-image: url(../img/faq/bg_main_sp.webp)
    }

    .catalog .common_visual .position {
        background-image: url(../img/catalog/bg_main_sp.webp)
    }

    .company .common_visual .position {
        background-image: url(../img/company/bg_main_sp.webp)
    }

    .contact .common_visual .position {
        background-image: url(../img/contact/bg_main_sp.webp)
    }

    .waterheater .common_visual .position {
        background-image: url(../img/waterheater/bg_main_sp.png?20251229);
        padding-top: 140%
    }

    .common_visual .mv_wrap {
        font-size: 1.75rem
    }

    .flow .common_visual .position {
        background-image: url(../img/flow/bg_main_sp.webp)
    }

    .pay .common_visual .position {
        background-image: url(../img/pay/bg_main_sp.webp);
        background-size: cover;
        background-position: center
    }

    .stoveburner .common_visual .position {
        background-image: url(../img/stoveburner/bg_main_sp.png?20251229);
        padding-top: 140%
    }

    .stoveburner_bak .common_visual .position {
        background-image: url(../img/stoveburner/bg_main_sp.png?20251229);
        padding-top: 140%
    }

    .news .common_visual .position {
        background-image: url(../img/news/bg_main_sp.webp)
    }

    .blog .common_visual .position {
        background-image: url(../img/blog/bg_main_sp.webp)
    }

    .privacy .common_visual .position {
        background-image: url(../img/privacy/bg_main_sp.webp)
    }

    .management .common_visual .position {
        background-image: url(../img/management/bg_main_sp.webp)
    }

    .complaint .common_visual .position {
        background-image: url(../img/complaint/bg_main_sp.webp)
    }

    .tokusyou .common_visual .position {
        background-image: url(../img/tokusyou/bg_main_sp.webp)
    }

    .exclusion .common_visual .position {
        background-image: url(../img/exclusion/bg_main_sp.webp)
    }

    /* .rangefood .common_visual .position {
        background-image: url(../img/rangefood/bg_main_sp.webp);
        padding-top: 64%
    } */

    .case .common_visual .position {
        background-image: url(../img/pref/gifu/case/bg_main_sp.webp)
    }

    .voice .common_visual .position {
        background-image: url(../img/pref/gifu/voice/bg_main_sp.webp)
    }

    .campaign .common_visual .position {
        background-image: url(../img/campaign/bg_main_sp.webp);
        padding-top: 64%
    }

    .reviews .common_visual .position {
        background-image: url(../img/reviews/bg_01_sp.jpg);
        padding-top: 46.6695%
        /* padding-top: 18% */
        }

    .ih .common_visual .position {
        background-image: url(../img/ih/top_sp.webp);
        padding-top: 35%;
        height: 450px;
    }

    .rangefood .common_visual .position {
        background-image: url(../img/rangefood/top_sp.webp);
        padding-top: 35%;
        height: 450px;

    }

    .dishwasher .common_visual .position {
        background-image: url(../img/dishwasher/top_sp.webp);
        padding-top: 35%;
        height: 450px;

    }
}

.pref_page .menu_top #site_ttl a span {
    display: inline-block;
    vertical-align: middle;
    font-size: 175%;
    font-weight: 700;
    min-width: 137px;
    text-align: center;
    border-radius: 8px;
    margin-left: 10px;
    color: #ffec0f;
    background: #142e7a;
    padding: 7px 0 4px;
    line-height: 1
}

.pref_page #foot_left a span {
    display: inline-block;
    vertical-align: middle;
    font-size: 175%;
    font-weight: 700;
    min-width: 137px;
    text-align: center;
    border-radius: 8px;
    margin-left: 10px;
    color: #ffec0f;
    background: #142e7a
}

.pref_page .example_wrap {
    padding: 40px 0 35px
}

.pref_page .example_wrap .ttl {
    text-align: center;
    font-size: 200%;
    font-weight: 700;
    margin-bottom: 40px;
    color: #142e7a
}

.pref_page .example_wrap .example_list {
    display: flex;
    flex-wrap: wrap
}

.pref_page .example_wrap .example_list li {
    width: 32%;
    margin-right: 2%
}

.pref_page .example_wrap .example_list li:nth-child(3n) {
    margin-right: 0
}

.pref_page .example_wrap .example_list li a {
    display: block;
    padding: 15px;
    border: solid 1px #c7c7c7;
    border-radius: 8px;
    text-align: center;
    text-decoration: none;
    background: #fff;
    transition: background .4s, border-color .4s
}

.pref_page .example_wrap .example_list li a:hover {
    background: #ebf4fe;
    border-color: #142e7a
}

.pref_page .example_wrap .example_list li p img {
    display: inline-block;
    vertical-align: middle;
    object-fit: contain
}

.pref_page .example_wrap .example_list li p img.image {
    max-width: 155px
}

.pref_page .example_wrap .example_list li p img.arrow {
    width: 18px;
    height: auto;
    margin: 0 8px
}

.pref_page .example_wrap .example_list li h3 {
    font-size: 125%;
    font-weight: 700;
    margin: 20px 0;
    border-bottom: solid 1px #c7c7c7;
    color: #142e7a;
    text-align: left;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    min-height: 57px
}

.pref_page .example_wrap .example_list li p {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    min-height: 52px
}

.pref_page .example_wrap .btn_links a {
    margin: 40px auto 0
}

.pref_page.shop_wrap .shop_area .shop_tit {
    top: -20px
}

.pref_page.shop_wrap .shop_area .shop_tit span b {
    font-size: 50px;
    line-height: 75px
}

.pref_page.shop_wrap .shop_area .shop_list .shop_links {
    width: 75%
}

.pref_page.shop_wrap .shop_area .shop_list .shop_links dd li {
    border-left: none;
    border-right: solid 1px;
    padding-left: 0;
    padding-right: 15px;
    margin-right: 15px
}

.pref_page.shop_wrap .shop_area .shop_list .shop_links dd li:last-child {
    padding-right: 0;
    margin-right: 0;
    border: none
}

.pref_page.shop_wrap .shop_area .shop_list .map_wrap {
    width: 20%;
    text-align: center
}

.pref_page.shop_wrap .shop_area .shop_list .map_wrap img {
    max-width: 100%;
    height: auto
}

.pref_page.shop_wrap .shop_img {
    justify-content: flex-start
}

.pref_page.shop_wrap .shop_img .shop_items {
    width: 220px;
    margin-right: 10px
}

.pref_page.shop_wrap .shop_staff {
    margin-top: 30px
}

.pref_page.shop_wrap .shop_staff .left_area {
    float: left;
    width: 55%
}

.pref_page.shop_wrap .shop_staff .left_area h3 {
    background: #ebf4fe;
    font-size: 175%;
    padding: 10px 15px;
    font-weight: 700;
    margin-bottom: 20px;
    color: #142e7a
}

.pref_page.shop_wrap .shop_staff .right_area {
    float: right;
    width: 42%
}

.pref_page.shop_wrap .shop_staff .right_area img {
    max-width: 100%;
    height: auto
}

@media screen and (max-width:768px) {
    .pref_page .menu_top #site_ttl a {
        position: relative;
        display: flex
    }

    .pref_page .menu_top #site_ttl a span {
        font-size: max(1em, 2.25vw);
        min-width: 4em;
        border-radius: 4px;
        margin-left: .5em;
        padding: 4px 0 2px
    }

    .pref_page #foot_left a span {
        font-size: 4vw;
        min-width: 5em;
        text-align: center;
        border-radius: 3px;
        margin-left: 10px;
        color: #ffec0f;
        background: #142e7a;
        padding: 4px 0 2px
    }

    .pref_page .example_wrap {
        padding: 0 0 35px
    }

    .pref_page .example_wrap .ttl {
        text-align: center;
        font-size: 200%;
        font-weight: 700;
        margin-bottom: 20px;
        color: #142e7a
    }

    .pref_page .example_wrap .example_list {
        display: block
    }

    .pref_page .example_wrap .example_list li {
        width: auto;
        margin: 0 0 20px
    }

    .pref_page .example_wrap .example_list li:nth-child(3n) {
        margin-right: 0
    }

    .pref_page .example_wrap .example_list li a>p {
        font-size: 0
    }

    .pref_page .example_wrap .example_list li p img.image {
        max-width: calc(50% - 32px)
    }

    .pref_page .example_wrap .example_list li p img.arrow {
        width: 16px
    }

    .pref_page .example_wrap .example_list li h3 {
        min-height: auto
    }

    .pref_page .example_wrap .example_list li p {
        min-height: auto
    }

    .pref_page .example_wrap .btn_links a {
        margin: 40px auto 0
    }

    .pref_page.shop_wrap {
        padding-top: 60px
    }

    .pref_page.shop_wrap .shop_area .shop_tit {
        top: -20px
    }

    .pref_page.shop_wrap .shop_area .shop_tit span b {
        font-size: 6vw;
        line-height: 1.5
    }

    .pref_page.shop_wrap .shop_area .shop_list .shop_links {
        width: 100%
    }

    .pref_page.shop_wrap .shop_area .shop_list .shop_links dd li {
        border-left: none;
        border-right: solid 1px;
        padding-left: 0;
        padding-right: 15px;
        margin-right: 15px
    }

    .pref_page.shop_wrap .shop_area .shop_list .shop_links dd li:last-child {
        padding-right: 0;
        margin-right: 0;
        border: none
    }

    .pref_page.shop_wrap .shop_area .shop_list .map_wrap .map_img {
        margin: 0 auto;
        max-width: 137px
    }

    .pref_page.shop_wrap .shop_area .shop_list .map_wrap {
        width: auto;
        text-align: center;
        margin-bottom: 20px
    }

    .pref_page.shop_wrap .shop_img {
        justify-content: flex-start
    }

    .pref_page.shop_wrap .shop_img .shop_items {
        width: 48%;
        margin-right: 4%
    }

    .pref_page.shop_wrap .shop_img .shop_items:nth-child(2n) {
        margin-right: 0
    }

    .pref_page.shop_wrap .shop_staff .left_area {
        float: none;
        width: auto
    }

    .pref_page.shop_wrap .shop_staff .left_area h3 {
        font-size: 150%;
        padding: 10px 15px
    }

    .pref_page.shop_wrap .shop_staff .right_area {
        float: none;
        width: auto
    }

    .pref_page .contact_wrap .col3 .freecall_items dd .freecall_wrap a {
        font-size: 7vw
    }

    .pref_page.shop_wrap .shop_area {
        padding: 50px 10px 124px
    }
}

.btn_links_wrap.action.popups.delay_set {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; /* ← space-aroundを上書き */
  gap: 100px; /* 要素間の間隔を調整 */
}

/* タブレット版 */
@media (max-width: 768px) {
  .btn_links_wrap.action.popups.delay_set {
    gap: 30px;
    padding: 0 15px;
    flex-direction: row !important;
  }
}

/* スマホ版 */
@media (max-width: 480px) {
  .btn_links_wrap.action.popups.delay_set {
    gap: 10px;
    padding: 0 10px;
    flex-direction: row !important;
    justify-content: center;
  }
  
  /* btn_links03のサイズを調整 */
  .btn_links_wrap.action.popups.delay_set .btn_links03 {
    flex: 0 1 calc(50% - 5px); /* 2つ横並び */
    max-width: calc(50% - 5px);
    min-width: 0;
    width: auto !important; /* 既存の幅指定を上書き */
  }
  
  /* リンク要素も調整 */
  .btn_links_wrap.action.popups.delay_set .btn_links03 a {
    width: 100%;
    box-sizing: border-box;
  }
  
  /* テキストサイズを調整 */
  .btn_links_wrap.action.popups.delay_set .btn_links03 span {
    font-size: 13px; /* 必要に応じて調整 */
  }
}

.case .btn_links_wrap {
    justify-content: space-between;
    margin-bottom: 40px
}

.case .btn_links_wrap div {
    width: 24%
}

.case .btn_links03 a {
    width: 100%
}

.case .case_list {
    margin-bottom: 40px
}

.case .case_list_item {
    border-bottom: #c7c7c7 solid 1px;
    padding: 20px 0
}

.case .case_list_item article {
    display: flex;
    justify-content: flex-start
}

.case .case_list_item article .left {
    width: 40%;
    text-align: center
}

.case .case_list_item article .left img {
    vertical-align: middle;
    width: 100%;
    height: auto
}

.case .case_list_item article .left .arrow_right_wrap {
    width: 4%;
    display: inline-block
}

.case .case_list_item article .left .image_wrap {
    display: inline-block;
    width: 38%;
    padding: 0 2%
}

.case .case_list_item article .right {
    width: 60%;
    padding-left: 3%;
    box-sizing: border-box
}

.case .case_list_item article .right a {
    display: block;
    margin-bottom: 1em;
    text-decoration: underline #142e7a;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden
}

.case .case_list_item article .right a b {
    font-size: 18px;
    color: #142e7a
}

.case .case_list_item article .right a:hover {
    text-decoration: none;
    cursor: pointer
}

.case .case_list_item article .right p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden
}

@media screen and (max-width:768px) {
    .case .btn_links_wrap {
        justify-content: space-between;
        margin-bottom: 40px;
        flex-wrap: wrap
    }

    .case .btn_links_wrap .btn_links03:first-of-type {
        width: 50%
    }

    .case .btn_links_wrap .btn_links03:first-of-type a {
        width: 100%
    }

    .case .btn_links_wrap div {
        width: 50%
    }

    .case .case_list_item article {
        display: block
    }

    .case .case_list_item article .left {
        width: 100%
    }

    .case .case_list_item article .right {
        width: 100%;
        padding: 5% 0
    }
}

.case_detail time {
    display: inline-block;
    padding-bottom: 36px
}

.case_detail .btn_links a {
    margin: auto
}

.case_detail .before_after_image {
    text-align: center;
    margin-bottom: 48px
}

.case_detail .before_after_image * {
    vertical-align: middle
}

.case_detail .before_after_image .image_wrap {
    display: inline-block;
    width: 30%
}

.case_detail .before_after_image .image_wrap span {
    display: block;
    background: #142e7a;
    border-radius: 5px;
    margin-bottom: 10px;
    font-weight: 700;
    color: #fff
}

.case_detail .before_after_image .image_wrap img {
    width: 100%;
    height: auto
}

.case_detail .before_after_image .arrow_right_wrap {
    display: inline-block;
    width: 3%;
    padding: 0 2%
}

.case_detail .before_after_image .arrow_right_wrap img {
    width: 100%;
    height: auto
}

.case_detail .case_detail_wrap {
    margin-bottom: 64px
}

.case_detail .case_detail_wrap .table_style {
    margin-bottom: 32px
}

.case_detail .case_detail_wrap .table_style dl:nth-of-type(2) dt {
    display: flex;
    align-items: center
}

@media screen and (max-width:768px) {
    .case_detail .before_after_image .image_wrap {
        display: block;
        width: 90%;
        margin: 0 auto
    }

    .case_detail .before_after_image .arrow_right_wrap {
        display: block;
        width: 8%;
        padding: 4% 0;
        margin: auto
    }

    .case_detail .before_after_image .arrow_right_wrap img {
        transform: rotate(90deg)
    }

    .case_detail .case_detail_wrap .table_style dt {
        position: static;
        text-align: left
    }

    .case_detail .case_detail_wrap .table_style dl:nth-of-type(2) dt {
        padding: 15px 10px
    }
}

.voice .h_style02 {
    margin-bottom: 0
}

.voice p.voice_txt {
    padding: 15px 20px
}

.voice .topics_list li:first-of-type {
    border-top: none
}

.voice .topics_list {
    margin-bottom: 60px
}

@media screen and (max-width:768px) {
    .voice p.voice_txt {
        padding: 5px 20px 5px 5px
    }

    .voice .topics_list {
        margin-bottom: 40px
    }
}

.voice_detail .voice_detail_wrap {
    margin-bottom: 64px
}

.voice_detail .voice_detail_wrap .voice_customer {
    padding: 60px 0 20px
}

.voice_detail .btn_links a {
    margin: auto
}

@media screen and (max-width:768px) {
    .voice .voice_detail_wrap .voice_customer {
        padding: 30px 0 20px
    }
}

.pref_page.shop .shop_detail {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-bottom: 68px
}

.pref_page.shop .shop_detail .table_style {
    width: 60%
}

.pref_page.shop .shop_detail .table_style dt {
    width: 160px;
    height: 100%
}

.pref_page.shop .shop_detail .table_style dd {
    padding-left: 180px;
    min-height: 42.39px
}

.pref_page.shop .staff_wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 68px
}

.pref_page.shop .staff_wrap .txt_staff {
    width: 60%;
    line-height: 1.6
}

.pref_page.shop .detail {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
    padding-bottom: 20px;
    border-bottom: 1px solid #c7c7c7
}

.pref_page.shop .detail .img_wrap {
    width: 232px
}

.pref_page.shop .detail .img_wrap img {
    width: 100%
}

.pref_page.shop .detail .txt_wrap {
    width: calc(100% - 272px)
}

.pref_page.shop .detail .txt_wrap .store_nam {
    font-size: 1.125rem;
    font-weight: 700;
    margin-bottom: 20px
}

.pref_page.shop .detail .txt_wrap dl {
    display: flex;
    border-top: 1px solid #c7c7c7;
    border-bottom: 1px solid #c7c7c7;
    background: #f2f3f3
}

.pref_page.shop .detail .txt_wrap dl:after {
    display: none
}

.pref_page.shop .detail .txt_wrap dt {
    width: 146px;
    padding: 10px;
    box-sizing: border-box;
    font-weight: 700
}

.pref_page.shop .detail .txt_wrap dd {
    width: calc(100% - 146px);
    background: #fff;
    padding: 10px 0
}

.pref_page.shop .detail .txt_wrap dd span {
    display: inline-block;
    padding-left: 15px
}

@media screen and (max-width:768px) {
    .pref_page.shop .shop_detail .table_style {
        order: 2;
        width: 100%
    }

    .pref_page.shop .shop_detail .table_style dt {
        width: 120px
    }

    .pref_page.shop .shop_detail .table_style dd {
        padding-left: 130px;
        min-height: 49.59px
    }

    .pref_page.shop .shop_detail .img_wrap {
        order: 1;
        width: 100%;
        margin-bottom: 40px
    }

    .pref_page.shop .shop_detail .img_wrap img {
        width: 100%
    }

    .pref_page.shop .staff_wrap {
        display: block;
        justify-content: space-between;
        align-items: flex-start;
        margin-bottom: 68px
    }

    .pref_page.shop .staff_wrap .txt_staff {
        width: 100%
    }

    .pref_page.shop .detail {
        display: block;
        margin-bottom: 20px
    }

    .pref_page.shop .detail .img_wrap {
        width: 85%;
        margin: auto
    }

    .pref_page.shop .detail .txt_wrap {
        width: 100%;
        margin-top: 15px
    }

    .pref_page.shop .detail .txt_wrap .store_nam {
        font-size: 1rem;
        margin-bottom: 5px
    }

    .pref_page.shop .detail .txt_wrap dl {
        justify-content: center;
        align-items: center;
        font-size: .85rem
    }

    .pref_page.shop .detail .txt_wrap dt {
        width: 135px;
        padding: 5px 10px
    }

    .pref_page.shop .detail .txt_wrap dd {
        width: calc(100% - 60px);
        padding: 5px 5px 5px 0
    }

    .pref_page.shop .detail .txt_wrap dd span {
        display: block;
        padding-left: 10px
    }
}

body.service .visual .position {
    background: url(../img/service/bg_01.webp?t=20250401) no-repeat top center;
    background-size: cover;
    min-height: 300px
}

body.service .visual p {
    padding: 20px 0
}

body.service .visual h1 {
    color: #142e7a;
    font-size: 50px;
    font-weight: 700
}

body.service .service_lead {
    margin: 40px 0 100px;
    text-align: center
}

body.service .service_lead h2 {
    font-weight: 700;
    font-size: 225%;
    margin-bottom: .5em
}

body.service .service_lead .em_style {
    font-weight: 700;
    font-size: 200%;
    margin-bottom: 1em
}

/* reviews ページ用の lead */
.reviews .reviews_lead {
    margin: 40px 0 100px;
    text-align: center
}

.reviews .reviews_lead h2 {
    font-weight: 700;
    font-size: 225%;
    margin-bottom: .5em
}

.reviews .reviews_lead .em_style {
    font-weight: 700;
    font-size: 200%;
    margin-bottom: 1em
}

/* スマホ対応 */
@media screen and (max-width:768px) {
    .reviews .reviews_lead {
        margin: 20px 0 50px
    }

    .reviews .reviews_lead h2 {
        font-size: 175%;
        font-size: 6.5vw
    }

    .reviews .reviews_lead .em_style {
        font-size: 150%;
        font-size: 6vw
    }
}

body.service .navi_btns {
    display: flex;
    flex-wrap: wrap;
    margin: 30px auto 60px
}

body.service .navi_btns li {
    width: 235px;
    margin-right: 20px;
    margin-bottom: 20px;
    background: #24af09;
    border: solid 2px #24af09;
    border-radius: 8px;
    box-sizing: border-box
}

body.service .navi_btns li:nth-child(4n) {
    margin-right: 0
}

body.service .navi_btns li a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    color: #fff;
    font-size: 137.5%;
    font-weight: 700;
    height: 112px;
    box-sizing: border-box;
    transition: transform .4s, background .4s
}

body.service .navi_btns li a b {
    font-size: 127%;
    color: #ffec0f
}

body.service .navi_btns li a:after {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    transform: rotate(135deg);
    transition: border-color .4s
}

body.service .navi_btns li a:hover {
    background: #4b4;
    text-decoration: none;
    transform: translateY(2px)
}

body.service .service_ttl {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
    letter-spacing: -.03em
}

body.service .service_ttl b {
    display: inline-block;
    border-radius: 8px;
    vertical-align: middle;
    font-size: 185%;
    font-weight: 700;
    background: #24af09;
    color: #ffec0f;
    padding: 15px 15px 10px;
    margin-right: 20px;
    line-height: 1
}

body.service .service_ttl div {
    font-size: 140%;
    font-weight: 700
}

body.service .service_ttl div strong {
    color: #142e7a
}

body.service .service_blocks {
    padding-bottom: 50px;
    border-bottom: solid 1px #f3f3f3;
    margin-bottom: 50px
}

body.service .service_blocks .col_single .texts {
    margin: 10px 10px 30px
}

body.service .contacts_block {
    background: url(../img/service/bg_contact.webp?20250922) no-repeat #d3f4ff;
    background-position: center bottom;
    text-align: center;
    padding: 30px 0 30px;
    margin: 40px 0
}

body.service .contacts_block h2 {
    font-size: 150%;
    font-weight: 700;
    color: #333;
    margin-bottom: 10px
}

body.service .contacts_block h2 span {
    display: inline-block;
    vertical-align: middle;
    position: relative
}

body.service .contacts_block h2:before,
body.service .contacts_block h2:after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 28px;
    height: 45px;
    background: url(../img/service/ico_bar_l.webp) no-repeat;
    background-size: contain;
    margin: 0 5px
}

body.service .contacts_block h2:after {
    background-image: url(../img/service/ico_bar_r.webp)
}

body.service .contacts_block .tel_link,
body.service .contacts_block .tel_link a {
    display: inline-block;
    margin: -.5em 0 1em
}

body.service .contacts_block .tel_link a img {
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px
}

body.service .contacts_block .tel_link a b {
    display: inline-block;
    vertical-align: middle;
    font-size: 300%;
    color: #d4002d
}

body.service .contacts_block .tel_link p {
    font-size: 137.5%;
    font-weight: 700;
    color: #fff;
    background: #142e7a;
    border-radius: 5px;
    margin-bottom: .3em
}

body.service .contacts_block .btns {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 20px auto 0
}

body.service .contacts_block .btn_links+.btn_links {
    margin-left: 20px
}

body.service .contacts_block .btn_links a {
    display: flex;
    align-items: center;
    justify-content: center
}

body.service .contacts_block .btn_links a img {
    width: 30px;
    height: 26px;
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px
}

body.service .contacts_block .btn_links.mail a {
    border-color: #2973d7;
    background: #2973d7;
    transition: transform .4s, background .4s
}

body.service .contacts_block .btn_links.line a {
    border-color: #00b900;
    background: #00b900;
    transition: transform .4s, background .4s
}

body.service .contacts_block .btn_links.mail a:hover {
    color: #fff;
    background: #49f;
    transform: translateY(2px)
}

body.service .contacts_block .btn_links.line a:hover {
    color: #fff;
    background: #4c4;
    transform: translateY(2px)
}

body.service .contacts_block .btn_links a:hover:before {
    border-color: #fff
}

body.service .promise_block,
.contact .promise_block {
    margin-bottom: 130px;
    border-radius: 10px;
    overflow: hidden;
    background: #ebf4fe;
    text-align: center
}

body.service .promise_block h2,
.contact .promise_block h2 {
    background: #334c97 url(../img/service/bg_down.webp) no-repeat;
    background-position: bottom center;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 20px 0 60px
}

body.service .promise_block h2 img,
.contact .promise_block h2 img {
    width: 60px;
    height: 85px
}

body.service .promise_block h2 span,
.contact .promise_block h2 span {
    display: block;
    font-size: 125%;
    font-weight: 700
}

body.service .promise_block h2 b,
.contact .promise_block h2 b {
    font-size: 175%
}

body.service .promise_block h3,
.contact .promise_block h3 {
    text-align: center;
    font-size: 162.5%;
    font-weight: 700;
    color: #142e7a;
    margin-bottom: 30px
}

body.service .promise_block h3 b,
.contact .promise_block h3 b {
    font-size: 130%;
    color: #d4002d
}

body.service .promise_block ul,
.contact .promise_block ul {
    font-size: 137.5%;
    display: inline-block;
    text-align: left;
    font-weight: 700;
    color: #333
}

body.service .promise_block ul li,
.contact .promise_block ul li {
    margin-bottom: 10px
}

body.service .promise_block ul img,
.contact .promise_block ul img {
    width: 34px;
    height: auto;
    margin-right: 10px;
    vertical-align: middle;
    display: inline-block
}

body.service .promise_block ul b,
.contact .promise_block ul b {
    color: #d4002d
}

body.service .promise_block .texts,
.contact .promise_block .texts {
    margin: 20px;
    padding: 20px;
    background: #fff;
    border-radius: 5px
}

@media screen and (max-width:768px) {
    body.service .visual .position {
        background: url(../img/service/bg_01_sp.webp?t=20250401) no-repeat top center;
        background-size: cover;
        min-height: 66.66vw
    }

    body.service .visual p {
        padding: 8% 0 3%
    }

    body.service .visual p img {
        width: 200px;
        height: auto
    }

    body.service .visual h1 {
        font-size: 7.25vw
    }

    body.service .service_lead {
        margin: 20px 0 50px
    }

    body.service .service_lead h2 {
        font-size: 175%;
        font-size: 6.5vw
    }

    body.service .service_lead .em_style {
        font-size: 150%;
        font-size: 6vw
    }

    body.service .navi_btns {
        margin: 30px auto 60px
    }

    body.service .navi_btns li {
        width: 23.5%;
        margin-right: 2%;
        margin-bottom: 2%;
        display: flex;
        justify-content: center;
        align-items: center
    }

    body.service .navi_btns li a {
        font-size: 2.25vw;
        letter-spacing: -.03em;
        height: auto;
        padding: 15px 0
    }

    body.service .navi_btns li.row_02 a {
        padding: 3px 0
    }

    body.service .navi_btns li a:after {
        width: 6px;
        height: 6px
    }

    body.service .service_ttl {
        margin-bottom: 10px
    }

    body.service .service_ttl b {
        display: block;
        font-size: 125%;
        padding: 15px 0;
        width: 58px;
        text-align: center;
        margin-right: 10px
    }

    body.service .service_ttl div {
        width: calc(100% - 68px);
        font-size: 120%
    }

    body.service .service_blocks {
        padding-bottom: 30px;
        margin-bottom: 30px
    }

    body.service .service_blocks .col_child+.col_child {
        margin-top: 10px
    }

    body.service .service_blocks .col_single .texts {
        margin: 10px 0 30px
    }

    body.service .contacts_block {
        background-image: url(../img/service/bg_contact_sp.webp?20250922);
        background-size: 100%;
        padding: 30px 15px 30px;
        margin: 40px 0 0
    }

    body.service .contacts_block h2 {
        font-size: 5.5vw
    }

    body.service .contacts_block h2:before,
    body.service .contacts_block h2:after {
        width: 14px;
        height: 28px
    }

    body.service .contacts_block .tel_link a img {
        margin-right: 10px;
        width: 35px;
        height: auto
    }

    body.service .contacts_block .tel_link a b {
        font-size: 7.5vw
    }

    body.service .contacts_block .btns {
        flex-direction: column;
        margin: -1em 0 4.5em
    }

    body.service .contacts_block .btn_links+.btn_links {
        margin: 10px 0 0
    }

    body.service .contacts_block .btn_links a {
        padding: 10px 25px 10px 15px;
        font-size: 12px
    }

    body.service .contacts_block .btn_links a:before {
        width: 6px;
        height: 6px;
        right: 15px
    }

    body.service .contacts_block .btn_links a img {
        width: 20px;
        height: 18px
    }

    body.service .promise_block,
    .contact .promise_block {
        margin-bottom: 50px;
        border-radius: 10px
    }

    body.service .promise_block h2,
    .contact .promise_block h2 {
        background-size: 100% auto;
        padding: 20px 0 45px
    }

    body.service .promise_block h2 img,
    .contact .promise_block h2 img {
        width: 37px;
        height: 53px
    }

    body.service .promise_block h2 span,
    .contact .promise_block h2 span {
        font-size: 3vw
    }

    body.service .promise_block h2 b,
    .contact .promise_block h2 b {
        font-size: 4.5vw;
        display: inline-block;
        margin: 0 10px
    }

    body.service .promise_block h3,
    .contact .promise_block h3 {
        font-size: 150%;
        margin: 10px 0 10px
    }

    body.service .promise_block ul,
    .contact .promise_block ul {
        font-size: 125%;
        display: block;
        margin: 0 20px 10px
    }

    body.service .promise_block ul li,
    .contact .promise_block ul li {
        margin-bottom: 10px;
        text-indent: -35px;
        margin-left: 35px
    }

    body.service .promise_block ul img,
    .contact .promise_block ul img {
        width: 25px;
        height: 23px;
        margin-right: 10px;
        vertical-align: top
    }

    body.service .promise_block ul b,
    .contact .promise_block ul b {
        color: #d4002d
    }

    body.service .promise_block .texts,
    .contact .promise_block .texts {
        margin: 0 20px 20px;
        padding: 15px;
        background: #fff;
        border-radius: 5px
    }
}

.shop .shop_wrap {
    overflow: hidden;
    background: #fff;
    padding: 0
}

.shop .shop_wrap .leads_style .ttl {
    text-align: center;
    font-size: 2rem;
    font-weight: 700;
    margin-top: 20px;
    margin-bottom: 10px
}

.shop .shop_wrap .leads_style .text {
    text-align: center
}

.shop .shop_wrap .shop_area {
    padding: 50px 0 0
}

.shop .shop_wrap .shop_area .shop_list {
    position: relative;
    margin-bottom: 50px;
    z-index: 0
}

.shop .shop_wrap .shop_area .shop_list .shop_links {
    z-index: 10;
    margin-top: 20px
}

.shop .shop_wrap .shop_area .shop_list .shop_links dt {
    position: relative;
    padding-left: 16px
}

.shop .shop_wrap .shop_area .shop_list .shop_links dt,
.shop .shop_wrap .shop_area .shop_list .shop_links dt a {
    color: #333
}

.shop .shop_wrap .shop_area .shop_list .shop_links dt:after {
    position: absolute;
    display: inline-block;
    content: "";
    width: 5px;
    height: 22px;
    background: #142e7a;
    left: 0
}

.shop .shop_wrap .shop_area .shop_list .shop_links dd ul {
    margin-bottom: 25px
}

.shop .shop_wrap .shop_area .shop_list .shop_links dd li {
    padding: 0 20px 0 0;
    margin: 0;
    border: none
}

.shop .shop_wrap .shop_area .shop_list .shop_links dd li:last-of-type {
    padding: 0
}

.shop .shop_wrap .shop_area .shop_list .map_wrap {
    position: absolute;
    width: auto;
    top: -50px;
    right: -120px;
    z-index: 0
}

.shop .shop_wrap .shop_area .shop_list .map_wrap .bubble {
    position: absolute;
    left: -15%;
    top: -6%
}

.shop .shop_wrap .shop_area .shop_list .map_wrap .map_img {
    margin-top: 0
}

.shop .shop_wrap .pickup_wrap {
    margin-top: 60px
}

.shop .shop_wrap .pickup_wrap .shop_img {
    flex-wrap: wrap
}

.shop .shop_wrap .pickup_wrap .shop_img .shop_items {
    width: 19%
}

.shop .shop_wrap .pickup_wrap .shop_img .shop_items img {
    width: 100%
}

.shop .shop_wrap .pickup_wrap.shop_img .shop_items p {
    color: #333
}

.shop .search_result {
    margin-bottom: 60px
}

.shop .search_result .detail {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
    padding-bottom: 20px;
    border-bottom: 1px solid #c7c7c7
}

.shop .search_result .detail .img_wrap {
    width: 232px
}

.shop .search_result .detail .img_wrap img {
    width: 100%
}

.shop .search_result .detail .txt_wrap {
    width: calc(100% - 272px)
}

.shop .search_result .detail .txt_wrap .store_nam {
    font-size: 1.125rem;
    font-weight: 700;
    margin-bottom: 20px
}

.shop .search_result .detail .txt_wrap dl {
    display: flex;
    border-top: 1px solid #c7c7c7;
    border-bottom: 1px solid #c7c7c7;
    background: #f2f3f3
}

.shop .search_result .detail .txt_wrap dl:after {
    display: none
}

.shop .search_result .detail .txt_wrap dt {
    width: 146px;
    padding: 10px;
    box-sizing: border-box;
    font-weight: 700
}

.shop .search_result .detail .txt_wrap dd {
    width: calc(100% - 146px);
    background: #fff;
    padding: 10px 0
}

.shop .search_result .detail .txt_wrap dd span {
    display: inline-block;
    padding-left: 15px
}

.shop .search_result .btn_links a {
    margin: 60px auto 0
}

@media screen and (max-width:768px) {
    .shop .shop_wrap .leads_style .ttl {
        font-size: 1.715rem;
        margin-top: 0;
        margin-bottom: 15px
    }

    .shop .shop_wrap .leads_style .text {
        text-align: left
    }

    .shop .shop_wrap .shop_area {
        padding: 20px 0 0
    }

    .shop .shop_wrap .shop_area .shop_list {
        margin-bottom: 10px
    }

    .shop .shop_wrap .shop_area .shop_list .shop_links {
        z-index: 10;
        margin-top: 20px
    }

    .shop .shop_wrap .shop_area .shop_list .shop_links dt {
        position: relative;
        padding: 5px 20px 5px 10px
    }

    .shop .shop_wrap .shop_area .shop_list .shop_links dt,
    .shop .shop_wrap .shop_area .shop_list .shop_links dt a {
        color: #142e7a
    }

    .shop .shop_wrap .shop_area .shop_list .shop_links dt:after {
        display: none
    }

    .shop .shop_wrap .shop_area .shop_list .shop_links dd ul {
        margin-bottom: 0
    }

    .shop .shop_wrap .shop_area .shop_list .shop_links dd li {
        padding: 0 10px;
        margin-bottom: 10px;
        border-right: 1px solid #282828
    }

    .shop .shop_wrap .shop_area .shop_list .shop_links dd li:last-of-type {
        padding: 0 10px;
        border-right: none
    }

    .shop .shop_wrap .shop_area .shop_list .map_wrap {
        position: relative;
        width: auto;
        top: 0;
        right: 0;
        z-index: 0;
        margin: 0
    }

    .shop .shop_wrap .shop_area .shop_list .map_wrap .map_img {
        margin-top: 0;
        width: 100%
    }

    .shop .shop_wrap .pickup_wrap {
        margin-top: 30px
    }

    .shop .shop_wrap .pickup_wrap .shop_img .shop_items {
        width: 44%;
        margin-bottom: 5px
    }

    .shop .shop_wrap .pickup_wrap.shop_img .shop_items p {
        color: #333
    }

    .shop .search_result {
        margin-bottom: 40px
    }

    .shop .search_result .detail {
        display: block;
        margin-bottom: 20px
    }

    .shop .search_result .detail .img_wrap {
        width: 85%;
        margin: auto
    }

    .shop .search_result .detail .txt_wrap {
        width: 100%;
        margin-top: 15px
    }

    .shop .search_result .detail .txt_wrap .store_nam {
        font-size: 1rem;
        margin-bottom: 5px
    }

    .shop .search_result .detail .txt_wrap dl {
        justify-content: center;
        align-items: center;
        font-size: .85rem
    }

    .shop .search_result .detail .txt_wrap dt {
        width: 60px;
        padding: 5px 10px
    }

    .shop .search_result .detail .txt_wrap dd {
        width: calc(100% - 60px);
        padding: 15px 5px 15px 0
    }

    .shop .search_result .detail .txt_wrap dd span {
        display: block;
        padding-left: 10px
    }

    .shop .search_result .btn_links a {
        margin: 20px auto 0
    }
}

.faq .faq_wrap .lead_txt {
    margin-bottom: 40px
}

.faq .faq_wrap .faq_list {
    padding: 0
}

@media screen and (max-width:768px) {
    .faq .faq_wrap .lead_txt {
        margin-bottom: 20px
    }
}

.lp-faq .faq_wrap {
    margin-top: -2em
}

.lp-faq .faq_wrap .lead_txt {
    font-size: 16px;
    margin-bottom: 50px;
    text-align: center
}

@media (max-width:768px) {
    .lp-faq .faq_wrap .lead_txt {
        margin-top: 50px !important;
        font-size: 14px !important
    }
}

.lp-faq .faq_wrap .faq_list {
    padding: 0
}

.lp-faq .common_page .article_body .sitewrap {
    width: 1000px;
    min-width: 1000px;
    margin-bottom: 1em
}

@media (max-width:768px) {
    .lp-faq .common_page .article_body .sitewrap {
        margin-bottom: 0px !important
    }

    .lp-faq .pref_page .article_body .sitewrap {
        margin-bottom: 0em !important
    }

    .lp-faq .sitewrap {
        margin: 0px !important
    }
}

.lp-faq .common_visual .position {
    height: 100px
}

.lp-faq .faq-category-header {
    display: flex;
    align-items: center;
    gap: 39px 8px;
    margin-bottom: 8px;
    font-size: 24px;
    margin-right: 26px
}

.lp-faq .faq-category-icon {
    width: 80px;
    height: 80px;
    margin-bottom: 12px
}

.lp-faq .faq-category-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #15397a;
    margin-bottom: 8px
}

.lp-faq .faq-category-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 7% 3%;
    justify-content: center;
    margin: 40px 0 32px 0
}

.lp-faq .faq-category-box {
    background: #f2f8fd;
    border: 4px solid #15397a;
    border-radius: 10px;
    width: 100%;
    min-height: 237px;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 24px 28px 24px 28px;
    box-sizing: border-box;
    position: relative;
    transition: box-shadow 0.2s
}

.faq-category-box:hover {
    box-shadow: 0 4px 16px rgba(21, 57, 122, .1)
}

.lp-faq .faq-category-desc {
    font-size: 16px;
    color: #222;
    margin-bottom: 0;
    font-weight: 700
}

.lp-faq .faq-arrow-img-wrap {
    width: 100%;
    text-align: center;
    position: absolute;
    left: 0;
    bottom: 20px
}

.lp-faq .faq-arrow-img {
    width: 26px;
    height: 14px;
    display: inline-block
}

@media (max-width:768px) {
    .lp-faq .faq-category-header {
        gap: 0 8px !important;
        justify-content: center;
        align-items: center;
        text-align: center;
        flex-direction: column;
        margin: 0 auto
    }

    .lp-faq .faq-category-icon {
        margin: 0 auto 12px auto;
        display: block;
        order: 2
    }

    .lp-faq .faq-category-title {
        font-size: 5vw !important;
        text-align: center;
        padding: 10px;
        width: 100%;
        order: 1
    }

    .lp-faq .faq-category-box {
        border: 3px solid #15397a !important;
        padding: 24px 16px 18px 16px !important;
        min-height: 78vw !important
    }

    .lp-faq .faq-category-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px 16px
    }

    .lp-faq .faq-category-desc {
        font-size: 3.5vw !important
    }
}

.lp-faq .faq-detail {
    border-radius: 0 0 32px 32px;
    margin-top: 80px;
    margin-bottom: 0
}

.lp-faq .faq-detail-title-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    margin-bottom: 32px
}

.lp-faq .faq-detail-icon {
    width: 80px;
    height: 80px
}

.lp-faq .faq-detail-title {
    font-size: 2rem;
    color: #15397a;
    font-weight: 700;
    margin: 0
}

.lp-faq #faq-detail-price:target {
    padding-top: 100px;
    margin-top: -100px
}

.lp-faq #faq-detail-price {
    scroll-margin-top: 100px
}

@media (max-width:768px) {
    .lp-faq .faq-detail {
        padding: 32px 8px 40px 8px;
        margin-top: 40px
    }

    .lp-faq .faq-detail-title-wrap {
        align-items: center;
        justify-content: center;
        text-align: center;
        display: flex;
        flex-direction: column;
        gap: 16px
    }

    .lp-faq .faq-detail-icon {
        margin: 0 auto 8px auto;
        display: block
    }

    .lp-faq .faq-detail-icon {
        width: 70px;
        height: 70px
    }

    .lp-faq .faq-detail-title {
        text-align: center;
        margin: 0 auto;
        font-size: 1.3rem
    }
}

.lp-faq .faq-detail-qa {
    margin-bottom: 32px
}

.lp-faq .faq-detail-q,
.lp-faq .faq-detail-a {
    display: flex;
    align-items: center;
    padding: 18px 15px;
    margin-bottom: 16px
}

.lp-faq .faq-detail-q {
    display: flex;
    align-items: center;
    margin-bottom: 16px;
    padding: 18px 15px;
    font-size: 1.1rem;
    font-weight: 600;
    color: #222
}

.lp-faq .faq-detail-q span,
.lp-faq .faq-detail-a span {
    display: inline-block;
    font-family: inherit;
    font-size: 1.3rem;
    font-weight: 700;
    text-align: center;
    border-radius: 50%;
    width: 38px;
    height: 38px;
    line-height: 38px;
    margin-right: 16px;
    border: 2px solid #15397a;
    flex-shrink: 0
}

.lp-faq .faq-detail-q span {
    background: #15397a;
    color: #fff
}

.lp-faq .faq-detail-a span {
    background: #fff;
    color: #15397a;
    border: 2px solid #15397a;
    margin-right: 0;
    margin-right: 16px;
    margin-top: 2px;
    flex-shrink: 0
}

.lp-faq .faq-detail-a {
    background: #eaf4fb;
    padding: 18px 15px;
    color: #222;
    font-size: 1rem;
    line-height: 1.7;
    display: flex;
    align-items: flex-start;
    border-top: 1px solid #d3d7de;
    margin-left: 0;
    margin-bottom: 0;
    position: relative;
    padding: 18px 15px
}

.lp-faq .faq-detail-qa-list {
    margin: 0 auto
}

@media (max-width:768px) {
    .lp-faq .faq-detail-qa-list {
        max-width: 100%
    }

    .lp-faq .faq-detail-q span,
    .lp-faq .faq-detail-a span {
        margin-top: -2px !important;
        width: 30px !important;
        height: 30px !important;
        line-height: 30px !important;
        margin-right: 10px !important;
        border: 2px solid #15397a !important
    }

    .lp-faq .faq-detail-a {
        gap: 0px !important
    }
}

.lp-faq .faq-cta {
    background: #142E7A;
    color: #fff;
    padding: 48px 0 32px 0;
    text-align: center;
    margin-top: 64px
}

.lp-faq .faq-cta-head {
    position: relative;
    color: #ffe14d;
    font-size: 2.2rem;
    font-weight: 700;
    margin-bottom: 32px;
    letter-spacing: .05em;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 80px
}

.lp-faq .faq-cta-head-img-wrap {
    text-align: center;
    margin-bottom: 40px
}

.lp-faq .faq-cta-head-img {
    height: 38px;
    display: inline-block
}

.lp-faq .faq-cta-head::before,
.lp-faq .faq-cta-head::after {
    content: '';
    display: inline-block;
    height: 48px;
    width: 36px;
    position: relative;
    background-repeat: no-repeat
}

.lp-faq .faq-cta-head::before {
    margin-right: 24px;
    background: linear-gradient(120deg, #ffe14d 3px, #ffe14d 3px, transparent 0) 0 0/100% 50% no-repeat, linear-gradient(110deg, #ffe14d 3px, #ffe14d 3px, transparent 0) 0 100%/100% 50% no-repeat
}

.lp-faq .faq-cta-head::after {
    margin-left: 24px;
    background: linear-gradient(-120deg, #ffe14d 3px, #ffe14d 3px, transparent 0) 0 0/100% 50% no-repeat, linear-gradient(-110deg, #ffe14d 3px, #ffe14d 3px, transparent 0) 0 100%/100% 50% no-repeat
}

.lp-faq .faq-cta-btns {
    display: flex;
    justify-content: center;
    gap: 60px;
    margin-bottom: 18px;
    flex-wrap: wrap
}

.lp-faq .faq-cta-btn,
.lp-faq .faq-cta-btn-tel,
.lp-faq .faq-cta-btn-mail {
    font-size: 1.1rem;
    font-weight: 700;
    padding: 18px 40px 18px 100px;
    text-decoration: none !important;
    display: flex;
    align-items: center;
    position: relative;
    min-width: 260px;
    box-shadow: 0 2px 8px rgba(21, 57, 122, .08);
    transition: background 0.2s, color 0.2s;
    text-align: center
}

.lp-faq a.faq-cta-btn,
.lp-faq a.faq-cta-btn.faq-cta-btn-tel,
.lp-faq a.faq-cta-btn.faq-cta-btn-mail {
    position: relative;
    padding-right: 48px;
    width: 400px;
    height: 80px;
    box-sizing: border-box;
    flex-shrink: 0;
    flex-grow: 0;
    font-size: 1.2rem;
    font-weight: 700;
    border-radius: 50px;
    text-decoration: none !important;
    display: flex;
    align-items: center;
    position: relative;
    box-shadow: 0 2px 8px rgba(21, 57, 122, .08);
    transition: background 0.2s, color 0.2s
}

.lp-faq .faq-cta-btn-tel {
    background: #EBF4FE;
    color: #142E7A !important
}

.lp-faq .faq-cta-btn-mail {
    background: #2973D7;
    color: #fff !important
}

.lp-faq .faq-cta-btn:hover,
.lp-faq .faq-cta-btn-tel:hover,
.lp-faq .faq-cta-btn-mail:hover {
    background: #ffe14d;
    color: #15397a;
    text-decoration: none !important
}

.lp-faq a.faq-cta-btn.faq-cta-btn-tel::after,
.lp-faq a.faq-cta-btn.faq-cta-btn-mail::after {
    content: "";
    position: absolute;
    display: inline-block;
    width: 12px;
    height: 12px;
    border-top: 2.5px solid #fff;
    border-right: 2.5px solid #fff;
    top: 0;
    bottom: 0;
    right: 30px;
    margin: auto;
    transform: rotate(45deg);
    transition: border-color .4s
}

.lp-faq a.faq-cta-btn.faq-cta-btn-tel::after {
    border-top: 2.5px solid #15397a;
    border-right: 2.5px solid #15397a
}

.lp-faq .faq-cta-note {
    color: #fff;
    font-size: .95rem;
    opacity: .85;
    margin-top: 10px
}

.lp-faq .faq-cta-btn-text {
    display: inline-block
}

@media (max-width:768px) {
    .lp-faq .faq-cta {
        padding: 32px 0 24px 0;
        margin-top: 0px !important
    }

    .lp-faq .faq-cta-btn {
        gap: 30px;
        min-width: 0;
        width: 90vw;
        padding: 16px 16px 16px 48px;
        font-size: 18px !important
    }

    .lp-faq .faq-cta-btn-tel,
    .lp-faq .faq-cta-btn-mail {
        width: 93vw !important;
        height: 20vw !important
    }

    .lp-faq .faq-cta-btn-tel {
        color: #142E7A !important
    }

    .lp-faq .faq-cta-btn-mail {
        color: #fff !important
    }

    .lp-faq .faq-cta-head {
        font-size: 1.1rem;
        min-height: 48px
    }

    .lp-faq .faq-cta-head::before,
    .lp-faq .faq-cta-head::after {
        height: 28px;
        width: 20px;
        margin-right: 8px;
        margin-left: 8px
    }

    .lp-faq .faq-cta-head-img {
        height: 67px !important
    }

    .lp-faq .faq-cta-btn-text {
        margin-left: 13vw;
        display: inline-block
    }
}

.lp-faq .faq-cta-btn-icon {
    position: absolute;
    left: 48px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center
}

.lp-faq .faq-cta-btn-icon img {
    max-width: 28px;
    max-height: 28px;
    height: auto;
    width: auto
}

.company .sitewrap {
    overflow: visible
}

.company .comapny_detail {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap
}

.company .comapny_detail .table_style {
    width: 60%
}

.company .comapny_detail .table_style dt {
    width: 160px;
    height: 100%
}

.company .comapny_detail .table_style dd {
    padding-left: 180px
}

.company .sdgs_wrap {
    margin: 40px 0 80px;
    padding: 60px 90px 0;
    box-sizing: border-box;
    border: #009dda 3px solid
}

.company .sdgs_wrap .sdgs_logo {
    text-align: center;
    margin-bottom: 30px
}

.company .sdgs_wrap .lead_txt {
    text-align: center;
    margin-bottom: 60px
}

.company .sdgs_wrap .details_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start
}

.company .sdgs_wrap .details_wrap .items {
    width: 48%;
    margin-bottom: 60px
}

.company .sdgs_wrap .details_wrap .items .tit {
    font-size: 1.125rem;
    font-weight: 700;
    color: #009dda;
    margin-bottom: 5px
}

.company .sdgs_wrap .details_wrap .items p,
.company .sdgs_wrap .details_wrap .items ul {
    font-size: .875rem;
    margin-bottom: 20px
}

.company .sdgs_wrap .details_wrap .items .img_wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: .5em
}

.company .sdgs_wrap .details_wrap .items .img_wrap span {
    width: 85px
}

.company .sdgs_wrap .details_wrap .items .img_wrap span img {
    width: 100%
}

.company .network_wrap a {
    display: block;
    box-shadow: 0 0 10px #bfbfbf;
    margin-bottom: 15px;
    transition: transform .4s, box-shadow .4s
}

.company .network_wrap a:hover {
    box-shadow: none;
    transform: translateY(2px)
}

@media screen and (max-width:768px) {
    .company .comapny_detail .table_style {
        order: 2;
        width: 100%
    }

    .company .comapny_detail .table_style dt {
        width: 120px
    }

    .company .comapny_detail .table_style dd {
        padding-left: 130px
    }

    .company .comapny_detail .img_wrap {
        order: 1;
        width: 100%;
        margin-bottom: 40px
    }

    .company .comapny_detail .img_wrap img {
        width: 100%
    }

    .company .sdgs_wrap {
        margin: 40px 0;
        padding: 20px 15px 0
    }

    .company .sdgs_wrap .sdgs_logo {
        margin-bottom: 20px
    }

    .company .sdgs_wrap .sdgs_logo img {
        width: 100%
    }

    .company .sdgs_wrap .lead_txt {
        text-align: left;
        margin-bottom: 30px
    }

    .company .sdgs_wrap .details_wrap .items {
        width: 100%;
        margin-bottom: 10px
    }

    .company .sdgs_wrap .details_wrap .items .tit {
        font-size: 1.125rem;
        font-weight: 700;
        color: #009dda;
        margin-bottom: 5px
    }

    .company .sdgs_wrap .details_wrap .items p,
    .company .sdgs_wrap .details_wrap .items ul {
        font-size: 1rem
    }

    .company .sdgs_wrap .details_wrap .items .img_wrap {
        margin-bottom: 1.5em
    }

    .company .sdgs_wrap .details_wrap .items .img_wrap span {
        width: 48%
    }

    .company .network_wrap a,
    .company .network_wrap a img {
        width: 100%
    }
}

.contact .sitewrap {
    overflow: visible
}

.contact .promise_wrap {
    margin-bottom: 80px
}

.contact .promise_wrap .btn_links02 a {
    margin: auto
}

.contact .promise_wrap .promise_block {
    margin: 40px 0
}

.contact .pref_link a {
    display: block;
    box-shadow: 0 0 10px #bfbfbf;
    margin-bottom: 15px;
    transition: transform .4s, box-shadow .4s;
    width: 100%;
    height: 239px;
    background-image: url(../img/contact/bg_all_pref.webp);
    text-decoration: none;
    padding: 30px 40px;
    box-sizing: border-box
}

.contact .pref_link a strong {
    font-size: 24px
}

.contact .pref_link a .area_box {
    display: flex;
    font-size: 12px;
    align-items: center;
    margin-bottom: 10px
}

.contact .pref_link a .area_box .red_box {
    color: #fff;
    background-color: #d4002d;
    border-radius: 5px;
    text-align: center;
    font-weight: 700;
    padding: 16px 12px;
    box-sizing: border-box;
    margin-right: 14px
}

.contact .pref_link a .txt_caution {
    font-size: 12px;
    color: #d4002d
}

.contact .pref_link a:hover {
    box-shadow: none;
    transform: translateY(2px)
}

.contact .contact_tel {
    margin-bottom: 80px
}

.contact .contact_tel a {
    display: block;
    background-image: url(../img/contact/bg_all_tell.webp?t=20250401);
    background-size: contain;
    background-repeat: no-repeat;
    width: 100%;
    height: 152px;
    text-decoration: none;
    position: relative
}

.contact .contact_tel a strong {
    display: block;
    font-weight: bolder;
    color: #d4002d;
    font-size: 40px;
    position: absolute;
    left: 128px;
    bottom: 40px
}

.contact .contact_tel a span {
    display: block;
    font-weight: bolder;
    color: #fff;
    font-size: 18px;
    position: absolute;
    left: 188px;
    bottom: 24px
}

.contact .lead_txt {
    padding: 0 30px 30px
}

.contact .lead_txt span {
    font-size: 1.125rem;
    font-weight: 700;
    color: #d4002d
}

.contact .lead_txt p {
    margin-top: 20px
}

.pref_page.contact .pref_link a {
    background-image: url(../img/pref/gifu/contact_bnr.webp);
    position: relative;
    padding-right: 220px;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start
}

.pref_page.contact .pref_link a strong {
    display: block;
    margin-bottom: 10px
}

.pref_page.contact .pref_link a .area_box .red_box {
    width: 74px
}

.pref_page.contact .pref_link a .area_box .red_box+p {
    width: calc(100% - 88px);
    line-height: 1.6
}

.pref_page.contact .pref_link a .pref_image {
    position: absolute;
    width: 180px;
    height: auto;
    top: 15px;
    right: 15px
}

.contact form .nam input {
    width: 170px
}

.contact form .txt_caution {
    font-size: .875rem;
    margin-top: 5px
}

.contact form .address input,
.contact form .tel input {
    width: 430px
}

.contact form .part_num {
    display: flex;
    justify-content: space-between
}

.contact form .part_num .left {
    width: 295px
}

.contact form .part_num .right {
    display: flex
}

.contact form .part_num .right dl {
    border: 1px solid #142e7a;
    border-top: none;
    font-size: 0;
    width: 202px
}

.contact form .part_num .right dt {
    background: #142e7a;
    font-size: .875rem;
    font-weight: 700;
    color: #fff;
    text-align: center;
    padding: 4px 5px
}

.contact form .part_num .right dd {
    padding: 10px;
    box-sizing: border-box
}

.contact form .part_num .right dl.apartment {
    border-left: none
}

.contact form .part_num .right .apartment dt {
    background: #4d65ac
}

.contact form .type {
    display: flex
}

.contact form .type .left {
    width: calc(100% - 120px)
}

.contact form .type .left .radio {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 10px
}

.contact form .type .left p {
    width: 50%;
    margin-left: auto;
    color: #d4002d
}

.contact form .type .left .radio>* {
    width: 40%;
    white-space: nowrap
}

.contact form .type .right {
    width: 111px
}

.contact form .type .right img {
    width: 100%
}

.contact form .policy_text {
    text-align: center;
    margin: 30px 0 20px
}

.contact form .submit_area {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 40px
}

.contact form .submit_area>* {
    margin: 0 2%
}

.contact .lead_txt+.btn_links>a {
    margin: auto
}

@media screen and (max-width:768px) {
    .contact .promise_wrap {
        margin-bottom: 40px
    }

    .contact .pref_link a,
    .contact .pref_link a img,
    .contact .contact_tel a,
    .contact .contact_tel a img {
        width: 100%
    }

    .contact .pref_link a {
        width: 100%;
        height: calc(107vw - 30px);
        background-image: url(../img/contact/bg_all_pref_sp.webp);
        background-repeat: no-repeat;
        background-size: 100%;
        text-decoration: none;
        padding: 0;
        box-sizing: border-box;
        position: relative
    }

    .contact .pref_link a strong {
        display: block;
        text-align: center;
        font-size: 5.5vw;
        text-shadow: 0 0 8px #fff;
        position: absolute;
        top: 8%;
        left: 0;
        right: 0;
        transform: none
    }

    .contact .pref_link a strong.sp_txt {
        top: 24%;
        left: 5%;
        font-size: 4.75vw;
        text-align: left
    }

    .contact .pref_link a .area_box {
        display: none
    }

    .contact .pref_link a .area_box .red_box {
        display: none
    }

    .contact .pref_link a .txt_caution {
        font-size: 3vw;
        color: #d4002d;
        position: absolute;
        left: 5%;
        right: 5%;
        padding-left: 1em;
        text-indent: -1em;
        top: 85%
    }

    .pref_page.contact .pref_link a {
        background: url(../img/pref/gifu/bg_bnr.webp) no-repeat top center;
        background-size: cover;
        padding: 0;
        height: auto;
        display: block;
        overflow: hidden;
        border: solid 1px #ddd;
        border-radius: 5px
    }

    .pref_page.contact .pref_link a strong {
        position: static;
        margin: 5% 0 2.5%;
        display: block
    }

    .pref_page.contact .pref_link a .area_box {
        display: block;
        position: static;
        margin: 0 5% 5%;
        flex-direction: column
    }

    .pref_page.contact .pref_link a .area_box .red_box {
        display: block;
        width: auto;
        margin: 0 0 10px;
        padding: 5px
    }

    .pref_page.contact .pref_link a .area_box .red_box br {
        display: none
    }

    .pref_page.contact .pref_link a .area_box .red_box+p {
        width: auto;
        margin-bottom: 65px
    }

    .pref_page.contact .pref_link a .pref_image {
        position: static;
        display: block;
        margin: 2.5% auto 5%;
        max-width: 40%
    }

    .contact .contact_tel {
        margin-bottom: 40px
    }

    .contact .contact_tel a {
        background-image: url(../img/contact/img_tel_sp.webp?t=20250401);
        background-size: 100%;
        background-repeat: no-repeat;
        width: 100%;
        height: 0;
        position: relative;
        padding-bottom: 55%
    }

    .contact .contact_tel a strong {
        font-size: 6.5vw;
        position: absolute;
        left: 30%;
        top: 19%
    }

    .contact .contact_tel a span {
        display: block;
        font-weight: bolder;
        color: #fff;
        font-size: 3.6vw;
        position: absolute;
        left: 36%;
        top: 36.5%
    }

    .contact .lead_txt {
        padding: 0 0 20px
    }

    .contact .lead_txt p {
        margin-top: 10px
    }

    .contact form .nam input {
        width: 48%
    }

    .contact form .address input,
    .contact form .tel input {
        width: 100%
    }

    .contact form .part_num {
        display: block
    }

    .contact form .part_num .left {
        width: 100%;
        margin-bottom: 15px
    }

    .contact form .part_num .right {
        display: block
    }

    .contact form .part_num .right dl {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        width: 100%;
        border-top: 1px solid #142e7a;
        background: #142e7a
    }

    .contact form .part_num .right dt {
        background: #142e7a;
        color: #fff;
        text-align: left;
        line-height: 1.8;
        width: 90px
    }

    .contact form .part_num .right dd {
        background: #fff;
        width: calc(100% - 90px)
    }

    .contact form .part_num .right dd img {
        width: 100%
    }

    .contact form .part_num .right dl.apartment {
        border: 1px solid #142e7a;
        border-top: none;
        background: #4d65ac
    }

    .contact form .type {
        justify-content: space-between
    }

    .contact form .type .left {
        width: 50%
    }

    .contact form .type .left .radio {
        display: block;
        margin-bottom: 10px
    }

    .contact form .type .left p {
        width: 100%
    }

    .contact form .type .left .radio>* {
        width: 100%
    }

    .contact form .type .right {
        width: 45%
    }

    .contact form .type .right img {
        width: 100%
    }

    .contact form .policy_text {
        text-align: left;
        margin: 20px 0 10px
    }

    .contact form .submit_area {
        display: block;
        margin-top: 20px
    }

    .contact form .submit_area>* {
        margin: 5% 0
    }
}

.flow .flow_tit {
    font-size: 36px;
    font-weight: 700;
    text-align: center;
    padding: 6.4% 0 4%
}

.flow .flow_tit .sub_tit {
    margin-top: 28px;
    display: block;
    font-size: 16px;
    font-weight: 400
}

.flow .step_wrap {
    position: relative;
    background: none;
    padding: 0 0 80px 0
}

.flow .step_wrap::before {
    position: absolute;
    display: inline-block;
    content: "";
    width: 257px;
    height: 70px;
    top: 0;
    bottom: 0;
    left: 0
}

/* .flow .step_wrap.step01::before {
    background-image: url(../img/flow/step01.webp)
}

.flow .step_wrap.step02::before {
    background-image: url(../img/flow/step02.webp)
}

.flow .step_wrap.step03::before {
    background-image: url(../img/flow/step03.webp)
}

.flow .step_wrap.step04::before {
    background-image: url(../img/flow/step04.webp)
}

.flow .step_wrap.step05::before {
    background-image: url(../img/flow/step05.webp)
} */

.flow .step_wrap .step_tit {
    background: #142e7a;
    width: 100%;
    padding: 20px 0;
    padding-left: 0; /* 280px を 0 に変更 */
    margin: 0;
    margin-bottom: 2.2%;
    text-align: center;
    font-size: 24px;
    height: 70px;
    box-sizing: border-box;
    display: flex; /* 追加 */
    align-items: center; /* 追加 */
    justify-content: center; /* 追加 */
}


.flow .step_wrap .step_detail {
    display: flex;
    justify-content: flex-start
}

.flow .step_wrap .step_detail .flow_tag {
    background: #24af09;
    box-sizing: border-box;
    width: auto;
    height: 45px;
    padding: 10px 16px;
    font-size: 22px;
    font-weight: 700;
    color: #ffec0f;
    text-align: center;
    border-radius: 10px;
    margin-bottom: 20px;
    display: inline-block
}

.flow .step_wrap .step_detail b {
    color: #d4002d
}

.flow .step_wrap .step_detail b.txt_black {
    color: #282828
}

.flow .step_wrap .step_detail .step_detail_txt {
    padding-left: 3%
}

.flow .step_wrap .step_detail .step_detail_txt p {
    padding-bottom: 1.2rem
}

.flow .step_wrap .step_detail_box {
    border: solid 1px #142e7a;
    border-radius: 10px;
    padding: 1.6% 3.5%;
    box-sizing: border-box;
    margin-top: 3.2%
}

.flow .step_wrap .step_detail_box h4 {
    text-align: center;
    padding: .8rem 0;
    margin-bottom: 1rem;
    border-bottom: solid 1px #d2d2d2;
    color: #163387;
    font-weight: 700;
    font-size: 18px
}

.flow .step_wrap .step_detail_box h4 img {
    display: inline-block;
    margin-right: .5rem
}

.flow .step_wrap .step_detail_figure {
    margin-top: 2%;
    display: flex;
    justify-content: space-around;
    align-items: flex-end
}

.flow .step_wrap .step_detail_figure .right {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    width: 45%
}

.flow .step_wrap .step_detail_figure .right p {
    padding-left: 5%;
    width: 55%
}

.flow .step_wrap .step_detail_figure .right b {
    color: #d4002d;
    font-size: 14px
}

.flow .step_wrap .step_detail_figure .left {
    display: flex;
    width: 50%
}

.flow .step_wrap .step_detail_figure .left dl {
    border: 1px solid #142e7a;
    border-top: none;
    font-size: 0;
    width: 100%
}

.flow .step_wrap .step_detail_figure .left dt {
    background: #142e7a;
    font-size: .875rem;
    font-weight: 700;
    color: #fff;
    text-align: center;
    padding: 4px 5px
}

.flow .step_wrap .step_detail_figure .left dd {
    padding: 10px;
    box-sizing: border-box;
    text-align: center
}

.flow .step_wrap .step_detail_figure .left dl.apartment {
    border-left: none
}

.flow .step_wrap .step_detail_figure .left .apartment dt {
    background: #4d65ac
}

@media screen and (max-width:768px) {
    .flow img {
        width: 100%;
        height: auto
    }

    .flow .flow_tit {
        font-size: 24px;
        padding: 6.4% 0 4%
    }

    .flow .flow_tit .sub_tit {
        margin-top: 1rem;
        font-size: 14px;
        text-align: left
    }

    .flow .step_wrap {
        padding: 0 0 44px 0
    }

    .flow .step_wrap::before {
        height: 45px;
        background-size: cover;
        background-repeat: no-repeat;
        width: 85px
    }

    .flow .step_wrap.step01::before {
        background-image: url(../img/flow/step01_sp.webp)
    }

    .flow .step_wrap.step02::before {
        background-image: url(../img/flow/step02_sp.webp)
    }

    .flow .step_wrap.step03::before {
        background-image: url(../img/flow/step03_sp.webp)
    }

    .flow .step_wrap.step04::before {
        background-image: url(../img/flow/step04_sp.webp)
    }

    .flow .step_wrap.step05::before {
        background-image: url(../img/flow/step05_sp.webp)
    }

    .flow .step_wrap .step_tit {
        padding: 10px 0;
        /* padding-left: 30%; */
        font-size: 18px;
        height: 45px
    }

    .flow .step_wrap .step_detail {
        display: block
    }

    .flow .step_wrap .step_detail .flow_tag {
        margin: 3% 0
    }

    .flow .step_wrap .step_detail_box h4 {
        text-align: left;
        display: flex;
        justify-content: flex-start;
        align-items: center
    }

    .flow .step_wrap .extra_mark {
        display: block;
        width: 33px;
        height: 33px;
        padding-right: 1rem
    }

    .flow .step_wrap .step_detail_figure {
        display: block;
        width: 100%
    }

    .flow .step_wrap .step_detail_figure .left {
        display: block;
        width: 100%;
        margin-bottom: 15px
    }

    .flow .step_wrap .step_detail_figure .right {
        display: flex;
        width: 100%;
        flex-direction: row-reverse
    }

    .flow .step_wrap .step_detail_figure .left dl {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        width: 100%;
        border-top: 1px solid #142e7a;
        background: #142e7a
    }

    .flow .step_wrap .step_detail_figure .left dt {
        background: #142e7a;
        color: #fff;
        text-align: left;
        line-height: 1.8;
        width: 90px
    }

    .flow .step_wrap .step_detail_figure .left dd {
        background: #fff;
        width: calc(100% - 90px)
    }

    .flow .step_wrap .step_detail_figure .left dd img {
        width: 100%
    }

    .flow .step_wrap .step_detail_figure .left dl.apartment {
        border: 1px solid #142e7a;
        border-top: none;
        background: #4d65ac
    }

    .flow .step_wrap .step_detail_figure .right p {
        padding: 0;
        padding-right: 5%
    }

    .flow .step_wrap .step_detail_box p {
        margin-bottom: 5%
    }

    .flow .step_wrap .step_detail .flow_tag {
        height: 32px;
        padding: 7px 20px;
        font-size: 14px;
        border-radius: 5px;
        margin: 0 0 3% 0
    }

    .step_wrap.step03 .step_tit span {
        font-size: 11px;
        vertical-align: middle
    }

    .step_wrap .step_detail_img {
        margin-bottom: 3%
    }
}

.pay .article_body p b {
    color: #d4002d
}

.pay .article_body p {
    padding-bottom: 2.4%
}

.pay .pay_txt {
    padding-bottom: 3.6%
}

.news .h_style02 {
    margin-bottom: 0
}

.news .topics_list li:first-of-type {
    border-top: none
}

.news .topics_list {
    margin-bottom: 86px
}

@media screen and (max-width:768px) {
    .news .topics_list {
        margin-bottom: 40px
    }
}

.news.detail .btn_links a {
    margin: auto
}

.news.detail .h_style02 {
    margin-bottom: 20px
}

.news.detail time {
    display: inline-block;
    padding-bottom: 36px
}

.news.detail .news_detail_wrap {
    padding-bottom: 84px
}

.news.detail .news_detail_wrap p {
    line-height: 1.8
}

.news.detail .news_detail_wrap img {
    max-width: 100%;
    height: auto
}

.news.detail .news_detail_wrap iframe {
    max-width: 100%;
    max-height: 51vw
}

.news.detail .news_detail_wrap a {
    overflow-wrap: break-word
}

@media screen and (max-width:768px) {
    .news.detail time {
        padding-bottom: 18px
    }

    .news.detail .news_detail_wrap {
        padding-bottom: 40px
    }
}

.reviews .h_style02 {
    margin-bottom: 40px;
    font-size: 20px;
}

.blog .h_style02 {
    margin-bottom: 0
}

.blog .topics_list li:first-of-type {
    border-top: none
}

.blog .topics_list {
    margin-bottom: 86px
}

@media screen and (max-width:768px) {
    .blog .topics_list {
        margin-bottom: 40px
    }
}

.blog.detail .btn_links a {
    margin: auto
}

.blog.detail .h_style02 {
    margin-bottom: 20px
}

.blog.detail time {
    display: inline-block;
    padding-bottom: 36px
}

.blog.detail .blog_detail_wrap {
    padding-bottom: 84px
}

.blog.detail .blog_detail_wrap p {
    line-height: 1.8
}

.blog.detail .img_blog_wrapper {
    text-align: center;
    margin-bottom: 36px
}

@media screen and (max-width:768px) {
    .blog.detail .blog_detail_wrap {
        padding-bottom: 40px
    }

    .blog.detail .img_blog_wrapper {
        text-align: center;
        margin-bottom: 36px
    }

    .blog.detail .img_blog_wrapper img {
        width: 100%
    }

    .blog.detail time {
        padding-bottom: 18px
    }

    .blog.detail .img_blog_wrapper {
        margin-bottom: 18px
    }
}

.privacy h3 {
    text-align: center;
    padding-bottom: 20px
}

.privacy .privacy_policy_status {
    margin-bottom: 36px
}

.privacy .privacy_policy p {
    line-height: 1.8
}

.privacy .privacy_contents ul,
.privacy .privacy_contents ol {
    margin-bottom: 20px
}

.privacy .privacy_contents ul>li,
.privacy .privacy_contents ol>li {
    border-bottom: 1px solid #c7c7c7;
    padding-top: 20px;
    padding-bottom: 20px;
    line-height: 1.8
}

.privacy .privacy_contents .li_inlist {
    margin-bottom: 0
}

.privacy .privacy_contents .li_inlist li {
    border: none;
    padding: 0;
    padding-left: 1em
}

.privacy .signature {
    text-align: right
}

.privacy .privacy_contact {
    border: 1px solid #c7c7c7;
    padding: 18px 30px;
    margin-bottom: 10px;
    text-indent: 0
}

.privacy .privacy_data_wrap {
    border-top: 1px solid #c7c7c7;
    padding: .5em 0
}

.privacy .privacy_ad p {
    padding: 0 18px;
    line-height: 1.8
}

@media screen and (max-width:768px) {
    .privacy .privacy_policy_status {
        margin-bottom: 18px
    }

    .privacy .signature {
        margin-bottom: 20px
    }

    .privacy .privacy_contents ul>li,
    .privacy .privacy_contents ol>li {
        padding-top: 10px;
        padding-bottom: 10px;
        line-height: 1.8
    }
}

.management .table_style dt {
    padding: 15px
}

.management .table_style dd {
    padding: 15px 15px;
    padding-left: 270px
}

@media screen and (max-width:768px) {
    .management .table_style dt {
        padding: 15px;
        border-right: none
    }

    .management .table_style dd {
        padding: 15px
    }

    .management .table_style dt {
        position: static
    }
}

.complaint .complaint_contents * {
    line-height: 1.8
}

.complaint .complaint_contents a {
    text-decoration: underline
}

.complaint .complaint_contents a:hover {
    text-decoration: none
}

.complaint .dl_style dl:first-of-type {
    border-bottom: none
}

.complaint .dl_style dd:last-of-type {
    border-bottom: none
}

.tokusyou dl {
    line-height: 1.8
}

.tokusyou .mb20 {
    margin-bottom: 0 !important
}

.tokusyou .goods_pay dd {
    padding-top: 24.5px;
    padding-bottom: 24.5px
}

.tokusyou .recall dt {
    padding: 125.5px 15px
}

.tokusyou .attention dt {
    padding: 67.5px 15px
}

@media screen and (max-width:768px) {
    .tokusyou .table_style dt {
        position: static
    }

    .tokusyou .pay_way dt,
    .tokusyou .recall dt,
    .tokusyou .attention dt,
    .tokusyou .attention dt {
        padding: 15px 10px
    }

    .tokusyou .goods_pay dd {
        padding: 15px 10px
    }
}

.exclusion .exclusion_contents {
    line-height: 1.8
}

.exclusion .exclusion_contents ol>li {
    border-bottom: 1px solid #c7c7c7;
    padding-top: 20px;
    padding-bottom: 20px
}

.exclusion .exclusion_contents ol>li:last-of-type {
    border: none
}

.exclusion .exclusion_data_wrap {
    border-top: 1px solid #c7c7c7;
    padding: 1em 0
}

@media screen and (max-width:768px) {
    .exclusion .exclusion_contents ol>li {
        padding-top: 10px;
        padding-bottom: 10px
    }
}

.stoveburner .visual h1,
.waterheater .visual h1 {
    color: #142e7a;
    font-weight: 700;
    font-size: 3.2vw
}

.waterheater .visual h1 {
    top: 45%
}

.stoveburner .visual h1 {
    top: 53%
}

.stoveburner .sitewrap,
.waterheater .sitewrap {
    overflow: visible
}

.stoveburner .stoveburner_tit,
.stoveburner .waterheater_tit,
.waterheater .stoveburner_tit,
.waterheater .waterheater_tit {
    font-size: 36px;
    text-align: center;
    padding: 6.4% 0 4%
}

.stoveburner .stoveburner_tit .sub_tit,
.stoveburner .waterheater_tit .sub_tit,
.waterheater .stoveburner_tit .sub_tit,
.waterheater .waterheater_tit .sub_tit {
    margin-top: 28px;
    display: block;
    font-size: 16px;
    font-weight: 400
}

.stoveburner strong,
.waterheater strong {
    color: #142e7a
}

.ranK {
    display: flex;
    flex-direction: column;
    justify-content: stretch;
    align-items: center
}

.rank-num {
    margin: 0em auto 1em;
    display: block;
    text-align: center;
    height: 5em
}

.maker-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 3em
}

.maker-wrap img {
    height: 4em
}

.comparison-title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2em;
    margin-bottom: 1em
}

.comparison-title .product-img {
    width: 35%
}

.comparison-title .title-text {
    font-weight: 700;
    text-align: center
}

.comparison-title .title-text .title-text-top {
    font-size: 4em;
    display: inline-block;
    color: #c01924;
    position: relative
}

.comparison-title .title-text .title-text-top::before {
    content: "";
    position: absolute;
    background-position: center;
    background-size: contain;
    height: 1em;
    width: 1em;
    background-repeat: no-repeat;
    background-image: url(../img/common/dec_blu_l.webp);
    right: 100%
}

.comparison-title .title-text .title-text-top::after {
    content: "";
    position: absolute;
    background-position: center;
    background-size: contain;
    height: 1em;
    width: 1em;
    background-repeat: no-repeat;
    background-image: url(../img/common/dec_blu_r.webp);
    left: 100%
}

.comparison-title .title-text .product-logos {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2em
}

.comparison-title .title-text .product-logos img {
    height: 3em
}

.comparison-title .title-text .title-text-code {
    display: block;
    font-size: 2.5em
}

.comparison-title .title-text .title-text-bottom {
    font-size: 3em
}

.companys {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    gap: 1em;
    margin-bottom: 2em;
    font-size: 14px
}

.companys .syouzikiya {
    background-color: #e3f5ff;
    border: .2em solid #162e79;
    font-size: 1.1em;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .5em;
    padding: 1em 2em;
    border-radius: 1em;
    line-height: 1
}

.companys .syouzikiya .syouzikiya-logo {
    height: 4em
}

.companys .syouzikiya .komi {
    background-color: #C11F1F;
    padding: .3em 1em .2em;
    font-weight: 700;
    color: #fff;
    border-radius: 5em;
    width: 100%;
    text-align: center
}

.companys .syouzikiya .komi .sp-block {
    display: none
}

.companys .syouzikiya .price-wrapper {
    font-size: 1.4em;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center
}

.companys .syouzikiya .price-wrapper .price {
    color: #C11F1F;
    font-size: 3em;
    font-weight: 700
}

.companys .syouzikiya .price-wrapper .tax-yen {
    color: #162e79;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    margin-left: .2em
}

.companys .syouzikiya .price-wrapper .tax-yen .tax {
    font-size: .9em;
    margin-bottom: 0em;
    font-weight: 700;
    white-space: nowrap
}

.companys .syouzikiya .price-wrapper .tax-yen .yen {
    font-size: 1.8em;
    font-weight: 900
}

.companys .syouzikiya .price-wrapper .kara {
    color: #162e79;
    font-size: 2em
}

.companys .syouzikiya .company-name {
    font-size: 1.8em;
    font-weight: 700;
    line-height: 1.3
}

.companys .syouzikiya .plus {
    font-size: 2em;
    font-weight: 700;
    margin-top: -.15em;
    color: #282828
}

.companys .syouzikiya .plus .sub-cost {
    font-size: .8em;
    font-weight: 700;
    margin-left: -.3em
}

.companys .company {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .5em;
    padding: 1em 2em;
    border-radius: 1em;
    line-height: 1
}

.companys .company:nth-child(2) {
    background-color: #D0D0E2
}

.companys .company:nth-child(3) {
    background-color: #E5C0C0
}

.companys .company .komi {
    background-color: #282828;
    padding: .3em 1em .2em;
    font-weight: 700;
    color: #fff;
    border-radius: 5em;
    width: 100%;
    text-align: center
}

.companys .company .komi .sp-block {
    display: none
}

.companys .company .price-wrapper {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center
}

.companys .company .price-wrapper .price {
    font-size: 3em;
    color: #282828;
    font-weight: 700
}

.companys .company .price-wrapper .tax-yen {
    color: #282828;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    margin-left: .2em
}

.companys .company .price-wrapper .tax-yen .tax {
    font-size: .9em;
    margin-bottom: 0em;
    font-weight: 700;
    white-space: nowrap
}

.companys .company .price-wrapper .tax-yen .yen {
    font-size: 1.8em;
    font-weight: 900
}

.companys .company .price-wrapper .kara {
    color: #282828;
    font-size: 2em
}

.companys .company .company-name {
    font-size: 1.8em;
    font-weight: 700;
    line-height: 1.3
}

.companys .company .plus {
    font-size: 2em;
    font-weight: 700;
    margin-top: -.15em;
    color: #282828
}

.companys .company .plus .sub-cost {
    font-size: .8em;
    font-weight: 700;
    margin-left: -.3em
}

.companys .survey {
    text-align: left;
    width: 100%
}

.all-komikomi {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1em
}

.all-komikomi .product-cost {
    font-size: 2.5em;
    font-weight: 700;
    text-align: center;
    border: .05em solid #162e79;
    border-radius: 1em;
    background-color: #e3f5ff;
    padding: .2em;
    width: 80%
}

.all-komikomi .plus {
    width: 3em
}

.all-komikomi .costs {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1em;
    width: 90%
}

.all-komikomi .costs .cost-item {
    background-color: #e3f5ff;
    padding: .5em;
    border: .15em solid #162e79;
    border-radius: 1em;
    width: 25%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1em
}

.stoveburner .stoveburner_contents .all-komikomi .costs .cost-item img,
.stoveburner .waterheater_contents .all-komikomi .costs .cost-item img,
.waterheater .stoveburner_contents .all-komikomi .costs .cost-item img,
.waterheater .waterheater_contents .all-komikomi .costs .cost-item img {
    height: 100%
}

.stoveburner .stoveburner_contents .all-komikomi .costs .cost-item span,
.stoveburner .waterheater_contents .all-komikomi .costs .cost-item span,
.waterheater .stoveburner_contents .all-komikomi .costs .cost-item span,
.waterheater .waterheater_contents .all-komikomi .costs .cost-item span {
    font-size: 1.5em;
    font-weight: 700;
    white-space: nowrap
}

#add-cost {
    width: 40em;
    margin: 0em auto 2em;
    background-color: #fff;
    overflow: hidden;
    border-radius: .5em;
    border: .2em solid #162e79
}

#add-cost .top {
    color: #fff;
    background-color: #162e79;
    text-align: center;
    padding-bottom: .1em;
    font-size: 1.5em;
    font-weight: 700;
    padding-top: .2em
}

#add-cost .bottom {
    display: flex;
    align-items: center;
    justify-content: center
}

#add-cost .bottom p {
    padding: .5em 1em;
    font-size: 1.1em
}

#add-cost .bottom p span {
    color: #C11F1F;
    font-weight: 700;
    font-size: 1.3em
}

#flow {
    background: rgb(212, 254, 255);
    background: linear-gradient(135deg, rgb(212, 254, 255) 0%, rgb(141, 182, 255) 100%);
    width: 100%;
    padding: 2em;
    overflow: hidden;
    box-sizing: border-box
}

#flow .flow-wrapper {
    background-color: #fff;
    margin: 1em;
    border-radius: 2em;
    padding: 3em
}

#flow .flow-wrapper h2 {
    text-align: center;
    font-size: 3.5em;
    background-repeat: no-repeat;
    background-position: center 65%;
    font-weight: 700;
    position: relative;
    display: inline
}

#flow .flow-wrapper h2::before,
#flow .flow-wrapper h2::after {
    content: "";
    position: absolute;
    background-position: center;
    background-size: contain;
    height: 1em;
    width: 1em;
    background-repeat: no-repeat
}

#flow .flow-wrapper h2::before {
    background-image: url(../img/common/dec_blu_l.webp);
    right: 105%
}

#flow .flow-wrapper h2::after {
    background-image: url(../img/common/dec_blu_r.webp);
    left: 105%
}

#flow .flow-wrapper .steps {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 3em;
    margin: 6em 0 3em
}

#flow .flow-wrapper .steps .step {
    position: relative;
    background-color: #C8D5FF;
    width: 11em;
    border-radius: 0 1em 1em 1em;
    padding: 1.2em;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center
}

#flow .flow-wrapper .steps .step .step-num {
    position: absolute;
    top: -2.7em;
    left: -.1em;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    line-height: .9;
    text-align: center;
    font-weight: 700;
    color: #142b77
}

#flow .flow-wrapper .steps .step .step-num .step-num-text {
    font-size: 1.6em
}

#flow .flow-wrapper .steps .step .step-num .step-num-num {
    font-size: 3.3em
}

#flow .flow-wrapper .steps .step img {
    height: 6em;
    width: 6em;
    margin: .5em 0
}

#flow .flow-wrapper .steps .step .flow-text-wrapper {
    display: contents
}

#flow .flow-wrapper .steps .step h6 {
    font-size: 1.4em;
    font-weight: 700;
    white-space: nowrap;
    line-height: 1;
    margin: .5em 0 1em 0
}

#flow .flow-wrapper .steps .step p {
    font-size: 1em;
    text-align: left
}

#flow .flow-wrapper .steps .step::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 100%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 3em solid transparent;
    border-bottom: 3em solid transparent;
    border-left: 2em solid #C8D5FF;
    border-right: 0
}

#flow .flow-wrapper .steps .step:last-child::after {
    display: none
}

@media screen and (max-width:1200px) {
    .waterheater .waterheater_contents .all-komikomi .product-cost {
        width: 90%;
        border: .08em solid #162e79
    }

    .waterheater .waterheater_contents .all-komikomi .costs {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        gap: 1em;
        width: 100%
    }

    .waterheater .waterheater_contents .all-komikomi .costs .cost-item {
        border-radius: 1em;
        width: 25%;
        flex-direction: column
    }

    #flow {
        padding: 2em
    }

    #flow .flow-wrapper {
        margin: 1em;
        border-radius: 2em;
        min-height: 80vh;
        padding: 3em
    }

    #flow .flow-wrapper h2 {
        text-align: center;
        font-size: 4em;
        background-size: 6em
    }

    #flow .flow-wrapper .steps {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 7em;
        margin: 6em 0 3em;
        padding: 0 1em
    }

    #flow .flow-wrapper .steps .step {
        position: relative;
        background-color: #C8D5FF;
        width: 100%;
        max-width: 450px;
        border-radius: 0 1em 1em 1em;
        padding: 1.5em;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: center;
        gap: 1em
    }

    #flow .flow-wrapper .steps .step .step-num {
        top: -5em
    }

    #flow .flow-wrapper .steps .step .step-num .step-num-text {
        font-size: 2.5em
    }

    #flow .flow-wrapper .steps .step .step-num .step-num-num {
        font-size: 6em
    }

    #flow .flow-wrapper .steps .step img {
        height: auto;
        width: 30%;
        padding: 1em
    }

    #flow .flow-wrapper .steps .step .flow-text-wrapper {
        display: block;
        width: 70%;
        text-align: left
    }

    #flow .flow-wrapper .steps .step h6 {
        font-size: max(20px, 2.3em);
        font-weight: 700;
        white-space: nowrap;
        line-height: 1;
        margin: 0 0 .5em
    }

    #flow .flow-wrapper .steps .step p {
        font-size: max(14px, 1.1em)
    }

    #flow .flow-wrapper .steps .step::after {
        content: "";
        position: absolute;
        top: 100%;
        left: 50%;
        transform: translateX(-50%);
        width: 0;
        height: 0;
        border-style: solid;
        border-right: 3em solid transparent;
        border-left: 3em solid transparent;
        border-top: 2.5em solid #C8D5FF;
        border-bottom: 0
    }

    #flow .flow-wrapper .steps .step:last-child::after {
        display: none
    }
}

@media screen and (max-width:600px) {
    #add-cost {
        width: 85%;
        margin: 0em auto 1.5em;
        background-color: #fff;
        overflow: hidden;
        border-radius: .5em;
        border: .2em solid #182e78
    }

    #add-cost .top {
        color: #fff;
        background-color: #182e78;
        text-align: center;
        padding-bottom: .1em;
        font-size: 1.7em;
        font-weight: 700
    }

    #add-cost .bottom p {
        padding: .5em 1em;
        font-size: max(14px, 1.3em)
    }

    #add-cost .bottom p span {
        color: #d2002f;
        font-weight: 700
    }

    #flow {
        padding: 1em;
        font-size: 3vw
    }

    #flow .flow-wrapper {
        margin: 1em;
        border-radius: 2em;
        min-height: 80vh;
        padding: 3em
    }

    #flow .flow-wrapper h2 {
        text-align: center;
        font-size: 10vw;
        background-repeat: no-repeat;
        background-position: center 65%;
        background-size: contain
    }

    #flow .flow-wrapper .steps {
        flex-direction: column;
        gap: 5em;
        margin: 6em 0 3em
    }

    #flow .flow-wrapper .steps .step {
        position: relative;
        background-color: #C8D5FF;
        width: 100%;
        border-radius: 0 1em 1em 1em;
        padding: 2em 1.5em;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: center;
        gap: 1em
    }

    #flow .flow-wrapper .steps .step .step-num {
        position: absolute;
        top: -4em;
        left: -.1em;
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
        line-height: .9;
        text-align: center
    }

    #flow .flow-wrapper .steps .step .step-num .step-num-text {
        font-size: 2em
    }

    #flow .flow-wrapper .steps .step .step-num .step-num-num {
        font-size: 5em
    }

    #flow .flow-wrapper .steps .step img {
        padding: 0
    }

    #flow .flow-wrapper .steps .step .flow-text-wrapper {
        display: block;
        width: 70%
    }

    #flow .flow-wrapper .steps .step h6 {
        font-size: max(20px, 2.1em);
        font-weight: 700;
        white-space: nowrap;
        line-height: 1;
        margin: 0 0 .5em
    }

    #flow .flow-wrapper .steps .step p {
        font-size: max(14px, 1.3em)
    }

    #flow .flow-wrapper .steps .step::after {
        content: "";
        position: absolute;
        top: 100%;
        left: 50%;
        transform: translateX(-50%);
        width: 0;
        height: 0;
        border-style: solid;
        border-right: 3em solid transparent;
        border-left: 3em solid transparent;
        border-top: 2.5em solid #C8D5FF;
        border-bottom: 0
    }

    #flow .flow-wrapper .steps .step:last-child::after {
        display: none
    }
}

.waterheater .cta_link {
    display: block;
    box-shadow: 0 0 10px #bfbfbf;
    margin-bottom: 44px;
    transition: transform .4s, box-shadow .4s
}

.waterheater .cta_link:hover {
    box-shadow: none;
    transform: translateY(2px)
}

.waterheater .waterheater_contents .goods_wrap div img {
    width: 100%;
    height: auto
}

.waterheater .btn_links_wrap .btn_links04.link_flow {
    background-image: url(../img/stoveburner/btn_flow.webp)
}

.waterheater .btn_links_wrap .btn_links04.link_case {
    background-image: url(../img/common/btn_case.webp)
}

.waterheater .btn_links_wrap .btn_links04.link_contact {
    background-image: url(../img/common/btn_contact.webp)
}

.waterheater .btn_links_wrap .btn_links04:hover {
    text-decoration: none;
    border: solid 1px #142e7a
}

.waterheater .btn_links_wrap .btn_links04 span {
    font-weight: 700
}

.waterheater .btn_links_wrap .btn_links04 span b {
    color: #142e7a;
    font-size: 24px
}

@media screen and (max-width:768px) {
    .waterheater .visual h1 {
        top: 22%;
        font-size: 7vw
    }

    .waterheater .waterheater_contents .goods_wrap .goods_item {
        width: 48%
    }

    .waterheater .waterheater_tit {
        font-size: 24px;
        padding: 6.4% 0 10%
    }

    .waterheater .waterheater_contents .logo_wrap img {
        width: 19%;
        display: inline-block;
        padding-right: 4%;
        padding-bottom: 5%
    }

    .waterheater .waterheater_contents p.txt_welcome {
        font-size: 18px
    }

    .waterheater .waterheater_contents .goods_wrap .off_area {
        width: 42px;
        top: -20px;
        left: 0
    }

    .waterheater .waterheater_contents .goods_wrap .off_area img {
        width: 100%
    }

    .waterheater .cta_link img {
        width: 100%;
        height: auto
    }

    .waterheater .btn_links_wrap {
        display: block
    }

    .waterheater .btn_links_wrap div {
        width: 100%;
        margin-bottom: 1em
    }

    .waterheater .btn_links_wrap .btn_links04 {
        background-position: right
    }
}

stoveburner -------------------------------------------------------------------*/ .waterheater_bak .visual h1 {
    color: #142e7a;
    font-weight: 700;
    top: 53%;
    font-size: 3.2vw
}

.waterheater_bak .sitewrap {
    overflow: visible
}

.waterheater_bak .waterheater_tit {
    font-size: 36px;
    text-align: center;
    padding: 6.4% 0 4%
}

.waterheater_bak .waterheater_tit .sub_tit {
    margin-top: 28px;
    display: block;
    font-size: 16px;
    font-weight: 400
}

.waterheater_bak strong {
    color: #142e7a
}

.waterheater_bak .waterheater_contents {
    padding: 2% 2% 6%
}

.waterheater_bak .waterheater_contents:nth-of-type(2) {
    padding: 8% 0 0
}

.waterheater_bak .waterheater_contents p.txt_welcome {
    font-size: 24px
}

.waterheater_bak .waterheater_contents .big_logo {
    border-bottom: 1px solid #c7c7c7;
    padding-bottom: 1rem;
    margin-bottom: 1rem
}

.waterheater_bak .waterheater_contents .big_logo img {
    display: inline-block;
    padding-right: 1.5%
}

.waterheater_bak .waterheater_contents .logo_wrap {
    margin-bottom: 42px
}

.waterheater_bak .waterheater_contents .logo_wrap img {
    display: inline-block;
    padding-right: 1.5%;
    vertical-align: middle
}

.waterheater_bak .waterheater_contents .goods_wrap {
    padding: 0 2%
}

.waterheater_bak .waterheater_contents .goods_wrap .goods_item {
    position: relative;
    float: left;
    width: 31%;
    padding: 0 1%;
    margin-bottom: 8%;
    text-align: center;
    z-index: 0
}

.waterheater_bak .waterheater_contents .goods_wrap .off_area {
    position: absolute;
    top: -40px;
    left: 10px;
    z-index: 1
}

.waterheater_bak .cta_link {
    display: block;
    box-shadow: 0 0 10px #bfbfbf;
    margin-bottom: 44px;
    transition: transform .4s, box-shadow .4s
}

.waterheater_bak .cta_link:hover {
    box-shadow: none;
    transform: translateY(2px)
}

.waterheater_bak .waterheater_contents .goods_wrap div img {
    width: 100%;
    height: auto
}

.waterheater_bak .btn_links_wrap .btn_links04.link_flow {
    background-image: url(../img/stoveburner/btn_flow.webp)
}

.waterheater_bak .btn_links_wrap .btn_links04.link_case {
    background-image: url(../img/common/btn_case.webp)
}

.waterheater_bak .btn_links_wrap .btn_links04.link_contact {
    background-image: url(../img/common/btn_contact.webp)
}

.waterheater_bak .btn_links_wrap .btn_links04:hover {
    text-decoration: none;
    border: solid 1px #142e7a
}

.waterheater_bak .btn_links_wrap .btn_links04 span {
    font-weight: 700
}

.waterheater_bak .btn_links_wrap .btn_links04 span b {
    color: #142e7a;
    font-size: 24px
}

@media screen and (max-width:768px) {
    .waterheater_bak .visual h1 {
        top: 22%;
        font-size: 7vw
    }

    .waterheater_bak .waterheater_contents .goods_wrap .goods_item {
        width: 48%
    }

    .waterheater_bak .waterheater_tit {
        font-size: 24px;
        padding: 6.4% 0 10%
    }

    .waterheater_bak .waterheater_contents .logo_wrap img {
        width: 19%;
        display: inline-block;
        padding-right: 4%;
        padding-bottom: 5%
    }

    .waterheater_bak .waterheater_contents p.txt_welcome {
        font-size: 18px
    }

    .waterheater_bak .waterheater_contents:nth-of-type(2) {
        padding: 15% 0 0
    }

    .waterheater_bak .waterheater_contents .goods_wrap .off_area {
        width: 42px;
        top: -20px
    }

    .waterheater_bak .waterheater_contents .goods_wrap .off_area img {
        width: 100%
    }

    .waterheater_bak .cta_link img {
        width: 100%;
        height: auto
    }

    .waterheater_bak .btn_links_wrap {
        display: block
    }

    .waterheater_bak .btn_links_wrap div {
        width: 100%;
        margin-bottom: 1em
    }

    .waterheater_bak .btn_links_wrap .btn_links04 {
        background-position: right
    }
}

#add-cost {
    width: 40em;
    margin: 0em auto 2em;
    background-color: #fff;
    overflow: hidden;
    border-radius: .5em;
    border: .2em solid #162e79
}

#add-cost .top {
    color: #fff;
    background-color: #162e79;
    text-align: center;
    padding-bottom: .1em;
    font-size: 1.5em;
    font-weight: 700;
    padding-top: .2em
}

#add-cost .bottom {
    display: flex;
    align-items: center;
    justify-content: center
}

#add-cost .bottom p {
    padding: .5em 1em;
    font-size: 1.1em
}

#add-cost .bottom p span {
    color: #C11F1F;
    font-weight: 700;
    font-size: 1.3em
}

@media screen and (max-width:1200px) {
    .stoveburner .stoveburner_contents .all-komikomi .product-cost {
        width: 90%;
        border: .08em solid #162e79
    }

    .stoveburner .stoveburner_contents .all-komikomi .costs {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        gap: 1em;
        width: 100%
    }

    .stoveburner .stoveburner_contents .all-komikomi .costs .cost-item {
        border-radius: 1em;
        width: 25%;
        flex-direction: column
    }
}

@media screen and (max-width:600px) {
    #add-cost {
        width: 85%;
        margin: 0em auto 1.5em;
        background-color: #fff;
        overflow: hidden;
        border-radius: .5em;
        border: .2em solid #182e78
    }

    #add-cost .top {
        color: #fff;
        background-color: #182e78;
        text-align: center;
        padding-bottom: .1em;
        font-size: 1.7em;
        font-weight: 700
    }

    #add-cost .bottom p {
        padding: .5em 1em;
        font-size: max(14px, 1.3em)
    }

    #add-cost .bottom p span {
        color: #d2002f;
        font-weight: 700
    }
}

.stoveburner .cta_link {
    display: block;
    box-shadow: 0 0 10px #bfbfbf;
    margin: 3em 0;
    transition: transform .4s, box-shadow .4s
}

.stoveburner .cta_link:hover {
    box-shadow: none;
    transform: translateY(2px)
}

.stoveburner .stoveburner_contents .goods_wrap div img {
    width: 100%;
    height: auto
}

.stoveburner .btn_links_wrap .btn_links04.link_flow {
    background-image: url(../img/stoveburner/btn_flow.webp)
}

.stoveburner .btn_links_wrap .btn_links04.link_case {
    background-image: url(../img/common/btn_case.webp)
}

.stoveburner .btn_links_wrap .btn_links04.link_contact {
    background-image: url(../img/common/btn_contact.webp)
}

.stoveburner .btn_links_wrap .btn_links04:hover {
    text-decoration: none;
    border: solid 1px #142e7a
}

.stoveburner .btn_links_wrap .btn_links04 span {
    font-weight: 700
}

.stoveburner .btn_links_wrap .btn_links04 span b {
    color: #142e7a;
    font-size: 24px
}

@media screen and (max-width:768px) {
    .stoveburner .visual h1 {
        top: 22%;
        font-size: 7vw
    }

    .stoveburner .stoveburner_contents .goods_wrap .goods_item {
        width: 48%
    }

    .stoveburner .stoveburner_tit {
        font-size: 24px;
        padding: 6.4% 0 10%
    }

    .stoveburner .stoveburner_contents .logo_wrap img {
        width: 19%;
        display: inline-block;
        padding-right: 4%;
        padding-bottom: 5%
    }

    .stoveburner .stoveburner_contents p.txt_welcome {
        font-size: 18px
    }

    .stoveburner .stoveburner_contents .goods_wrap .off_area {
        width: 42px;
        top: -20px;
        left: 0
    }

    .stoveburner .stoveburner_contents .goods_wrap .off_area img {
        width: 100%
    }

    .stoveburner .cta_link img {
        width: 100%;
        height: auto
    }

    .stoveburner .btn_links_wrap {
        display: block
    }

    .stoveburner .btn_links_wrap div {
        width: 100%;
        margin-bottom: 1em
    }

    .stoveburner .btn_links_wrap .btn_links04 {
        background-position: right
    }
}

stoveburner -------------------------------------------------------------------*/ .stoveburner_bak .visual h1 {
    color: #142e7a;
    font-weight: 700;
    top: 53%;
    font-size: 3.2vw
}

.stoveburner_bak .sitewrap {
    overflow: visible
}

.stoveburner_bak .stoveburner_tit {
    font-size: 36px;
    text-align: center;
    padding: 6.4% 0 4%
}

.stoveburner_bak .stoveburner_tit .sub_tit {
    margin-top: 28px;
    display: block;
    font-size: 16px;
    font-weight: 400
}

.stoveburner_bak strong {
    color: #142e7a
}

.stoveburner_bak .stoveburner_contents {
    padding: 2% 2% 6%
}

.stoveburner_bak .stoveburner_contents:nth-of-type(2) {
    padding: 8% 0 0
}

.stoveburner_bak .stoveburner_contents p.txt_welcome {
    font-size: 24px
}

.stoveburner_bak .stoveburner_contents .big_logo {
    border-bottom: 1px solid #c7c7c7;
    padding-bottom: 1rem;
    margin-bottom: 1rem
}

.stoveburner_bak .stoveburner_contents .big_logo img {
    display: inline-block;
    padding-right: 1.5%
}

.stoveburner_bak .stoveburner_contents .logo_wrap {
    margin-bottom: 42px
}

.stoveburner_bak .stoveburner_contents .logo_wrap img {
    display: inline-block;
    padding-right: 1.5%;
    vertical-align: middle
}

.stoveburner_bak .stoveburner_contents .goods_wrap {
    padding: 0 2%
}

.stoveburner_bak .stoveburner_contents .goods_wrap .goods_item {
    position: relative;
    float: left;
    width: 31%;
    padding: 0 1%;
    margin-bottom: 8%;
    text-align: center;
    z-index: 0
}

.stoveburner_bak .stoveburner_contents .goods_wrap .off_area {
    position: absolute;
    top: -40px;
    left: 10px;
    z-index: 1
}

.stoveburner_bak .cta_link {
    display: block;
    box-shadow: 0 0 10px #bfbfbf;
    margin-bottom: 44px;
    transition: transform .4s, box-shadow .4s
}

.stoveburner_bak .cta_link:hover {
    box-shadow: none;
    transform: translateY(2px)
}

.stoveburner_bak .stoveburner_contents .goods_wrap div img {
    width: 100%;
    height: auto
}

.stoveburner_bak .btn_links_wrap .btn_links04.link_flow {
    background-image: url(../img/stoveburner/btn_flow.webp)
}

.stoveburner_bak .btn_links_wrap .btn_links04.link_case {
    background-image: url(../img/common/btn_case.webp)
}

.stoveburner_bak .btn_links_wrap .btn_links04.link_contact {
    background-image: url(../img/common/btn_contact.webp)
}

.stoveburner_bak .btn_links_wrap .btn_links04:hover {
    text-decoration: none;
    border: solid 1px #142e7a
}

.stoveburner_bak .btn_links_wrap .btn_links04 span {
    font-weight: 700
}

.stoveburner_bak .btn_links_wrap .btn_links04 span b {
    color: #142e7a;
    font-size: 24px
}

@media screen and (max-width:768px) {
    .stoveburner_bak .visual h1 {
        top: 22%;
        font-size: 7vw
    }

    .stoveburner_bak .stoveburner_contents .goods_wrap .goods_item {
        width: 48%
    }

    .stoveburner_bak .stoveburner_tit {
        font-size: 24px;
        padding: 6.4% 0 10%
    }

    .stoveburner_bak .stoveburner_contents .logo_wrap img {
        width: 19%;
        display: inline-block;
        padding-right: 4%;
        padding-bottom: 5%
    }

    .stoveburner_bak .stoveburner_contents p.txt_welcome {
        font-size: 18px
    }

    .stoveburner_bak .stoveburner_contents:nth-of-type(2) {
        padding: 15% 0 0
    }

    .stoveburner_bak .stoveburner_contents .goods_wrap .off_area {
        width: 42px;
        top: -20px
    }

    .stoveburner_bak .stoveburner_contents .goods_wrap .off_area img {
        width: 100%
    }

    .stoveburner_bak .cta_link img {
        width: 100%;
        height: auto
    }

    .stoveburner_bak .btn_links_wrap {
        display: block
    }

    .stoveburner_bak .btn_links_wrap div {
        width: 100%;
        margin-bottom: 1em
    }

    .stoveburner_bak .btn_links_wrap .btn_links04 {
        background-position: right
    }
}

.rangefood .visual h1 {
    color: #142e7a;
    font-weight: 700;
    top: 53%;
    font-size: 3.2vw
}

.rangefood .sitewrap {
    overflow: visible
}

.rangefood .rangefood_tit {
    font-size: 36px;
    text-align: center;
    padding: 6.4% 0 4%
}

.rangefood .rangefood_tit .sub_tit {
    margin-top: 28px;
    display: block;
    font-size: 16px;
    font-weight: 400
}

.rangefood strong {
    color: #142e7a
}

.rangefood .rangefood_contents {
    padding: 2% 2% 6%
}

.rangefood .rangefood_contents:nth-of-type(2) {
    padding: 8% 0 0
}

.rangefood .rangefood_contents p.txt_welcome {
    font-size: 24px
}

.rangefood .rangefood_contents .logo_wrap {
    margin-bottom: 42px
}

.rangefood .rangefood_contents .logo_wrap img {
    display: inline-block;
    padding-right: 5%;
    vertical-align: middle
}

.rangefood .rangefood_contents .goods_wrap {
    padding: 0 2%
}

.rangefood .rangefood_contents .goods_wrap .goods_item {
    position: relative;
    float: left;
    width: 31%;
    padding: 0 1%;
    margin-bottom: 8%;
    text-align: center;
    z-index: 0
}

.rangefood .rangefood_contents .goods_wrap .off_area {
    position: absolute;
    top: -40px;
    left: 10px;
    z-index: 1
}

.rangefood .cta_link {
    display: block;
    box-shadow: 0 0 10px #bfbfbf;
    margin-bottom: 44px;
    transition: transform .4s, box-shadow .4s
}

.rangefood .cta_link:hover {
    box-shadow: none;
    transform: translateY(2px)
}

.rangefood .rangefood_contents .goods_wrap div img {
    width: 100%;
    height: auto
}

.rangefood .btn_links_wrap .btn_links04.link_flow {
    background-image: url(../img/rangefood/btn_flow.webp)
}

.rangefood .btn_links_wrap .btn_links04.link_case {
    background-image: url(../img/common/btn_case.webp)
}

.rangefood .btn_links_wrap .btn_links04.link_contact {
    background-image: url(../img/common/btn_contact.webp)
}

.rangefood .btn_links_wrap .btn_links04:hover {
    text-decoration: none;
    border: solid 1px #142e7a
}

.rangefood .btn_links_wrap .btn_links04 span {
    font-weight: 700
}

.rangefood .btn_links_wrap .btn_links04 span b {
    color: #142e7a;
    font-size: 24px
}

@media screen and (max-width:768px) {
    .rangefood .visual h1 {
        top: 28%;
        font-size: 7vw;
        text-shadow: #fff 1px 7px 20px
    }

    .rangefood .rangefood_contents .goods_wrap .goods_item {
        width: 48%
    }

    .rangefood .rangefood_tit {
        font-size: 24px;
        padding: 6.4% 0 10%
    }

    .rangefood .rangefood_contents .logo_wrap img {
        width: 28%;
        display: inline-block;
        padding-right: 4%
    }

    .rangefood .rangefood_contents p.txt_welcome {
        font-size: 18px
    }

    .rangefood .rangefood_contents:nth-of-type(2) {
        padding: 15% 0 0
    }

    .rangefood .rangefood_contents .goods_wrap .off_area {
        width: 42px;
        top: -20px
    }

    .rangefood .rangefood_contents .goods_wrap .off_area img {
        width: 100%
    }

    .rangefood .cta_link img {
        width: 100%;
        height: auto
    }

    .rangefood .btn_links_wrap {
        display: block
    }

    .rangefood .btn_links_wrap div {
        width: 100%;
        margin-bottom: 1em
    }

    .rangefood .btn_links_wrap .btn_links04 {
        background-position: right
    }
}

body.ecoone .visual .position {
    background: url(../img/ecoone/bg_01.webp) no-repeat top center;
    background-size: cover;
    min-height: 300px
}

body.ecoone .visual p {
    padding: 20px 0
}

body.ecoone .visual h1 {
    color: #142e7a;
    font-size: 50px;
    font-weight: 700
}

body.ecoone .ecoone_lead {
    margin: 40px 0 100px;
    text-align: center
}

body.ecoone .ecoone_lead h2 {
    font-weight: 700;
    font-size: 225%;
    margin-bottom: .5em
}

body.ecoone .ecoone_lead .em_style {
    font-weight: 700;
    font-size: 200%;
    margin-bottom: 1em
}

body.ecoone .navi_btns {
    display: flex;
    flex-wrap: wrap;
    margin: 30px auto 60px
}

body.ecoone .navi_btns li {
    width: 235px;
    margin-right: 20px;
    margin-bottom: 20px;
    background: #24af09;
    border: solid 2px #24af09;
    border-radius: 8px;
    box-sizing: border-box
}

body.ecoone .navi_btns li:nth-child(4n) {
    margin-right: 0
}

body.ecoone .navi_btns li a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    color: #fff;
    font-size: 137.5%;
    font-weight: 700;
    height: 112px;
    box-sizing: border-box;
    transition: transform .4s, background .4s
}

body.ecoone .navi_btns li a b {
    font-size: 127%;
    color: #ffec0f
}

body.ecoone .navi_btns li a:after {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    transform: rotate(135deg);
    transition: border-color .4s
}

body.ecoone .navi_btns li a:hover {
    background: #4b4;
    text-decoration: none;
    transform: translateY(2px)
}

body.ecoone .ecoone_ttl {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
    letter-spacing: -.03em
}

body.ecoone .ecoone_ttl b {
    display: inline-block;
    border-radius: 8px;
    vertical-align: middle;
    font-size: 185%;
    font-weight: 700;
    background: #24af09;
    color: #ffec0f;
    padding: 15px 15px 10px;
    margin-right: 20px;
    line-height: 1
}

body.ecoone .ecoone_ttl div {
    font-size: 140%;
    font-weight: 700
}

body.ecoone .ecoone_ttl div strong {
    color: #142e7a
}

body.ecoone .ecoone_blocks {
    padding-bottom: 50px;
    border-bottom: solid 1px #f3f3f3;
    margin-bottom: 50px
}

body.ecoone .ecoone_blocks .col_single .texts {
    margin: 10px 10px 30px
}

body.ecoone .contacts_block {
    background: url(../img/ecoone/bg_contact.webp) no-repeat #e3f5ff;
    background-position: center bottom;
    text-align: center;
    padding: 30px 0 30px;
    margin: 40px 0
}

body.ecoone .contacts_block h2 {
    font-size: 150%;
    font-weight: 700;
    color: #333;
    margin-bottom: 10px
}

body.ecoone .contacts_block h2 span {
    display: inline-block;
    vertical-align: middle;
    position: relative
}

body.ecoone .contacts_block h2:before,
body.ecoone .contacts_block h2:after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 28px;
    height: 45px;
    background: url(../img/ecoone/ico_bar_l.webp) no-repeat;
    background-size: contain;
    margin: 0 5px
}

body.ecoone .contacts_block h2:after {
    background-image: url(../img/ecoone/ico_bar_r.webp)
}

body.ecoone .contacts_block .tel_link,
body.ecoone .contacts_block .tel_link a {
    display: inline-block
}

body.ecoone .contacts_block .tel_link a img {
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px
}

body.ecoone .contacts_block .tel_link a b {
    display: inline-block;
    vertical-align: middle;
    font-size: 300%;
    color: #d4002d
}

body.ecoone .contacts_block .tel_link p {
    font-size: 137.5%;
    font-weight: 700;
    color: #fff;
    background: #142e7a;
    border-radius: 5px
}

body.ecoone .contacts_block .btns {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 20px auto 0
}

body.ecoone .contacts_block .btn_links+.btn_links {
    margin-left: 20px
}

body.ecoone .contacts_block .btn_links a {
    display: flex;
    align-items: center;
    justify-content: center
}

body.ecoone .contacts_block .btn_links a img {
    width: 30px;
    height: 26px;
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px
}

body.ecoone .contacts_block .btn_links.mail a {
    border-color: #2973d7;
    background: #2973d7;
    transition: transform .4s, background .4s
}

body.ecoone .contacts_block .btn_links.line a {
    border-color: #00b900;
    background: #00b900;
    transition: transform .4s, background .4s
}

body.ecoone .contacts_block .btn_links.mail a:hover {
    color: #fff;
    background: #49f;
    transform: translateY(2px)
}

body.ecoone .contacts_block .btn_links.line a:hover {
    color: #fff;
    background: #4c4;
    transform: translateY(2px)
}

body.ecoone .contacts_block .btn_links a:hover:before {
    border-color: #fff
}

body.ecoone .promise_block,
.contact .promise_block {
    margin-bottom: 130px;
    border-radius: 10px;
    overflow: hidden;
    background: #ebf4fe;
    text-align: center
}

body.ecoone .promise_block h2,
.contact .promise_block h2 {
    background: #334c97 url(../img/ecoone/bg_down.webp) no-repeat;
    background-position: bottom center;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 20px 0 60px
}

body.ecoone .promise_block h2 img,
.contact .promise_block h2 img {
    width: 60px;
    height: 85px
}

body.ecoone .promise_block h2 span,
.contact .promise_block h2 span {
    display: block;
    font-size: 125%;
    font-weight: 700
}

body.ecoone .promise_block h2 b,
.contact .promise_block h2 b {
    font-size: 175%
}

body.ecoone .promise_block h3,
.contact .promise_block h3 {
    text-align: center;
    font-size: 162.5%;
    font-weight: 700;
    color: #142e7a;
    margin-bottom: 30px
}

body.ecoone .promise_block h3 b,
.contact .promise_block h3 b {
    font-size: 130%;
    color: #d4002d
}

body.ecoone .promise_block ul,
.contact .promise_block ul {
    font-size: 137.5%;
    display: inline-block;
    text-align: left;
    font-weight: 700;
    color: #333
}

body.ecoone .promise_block ul li,
.contact .promise_block ul li {
    margin-bottom: 10px
}

body.ecoone .promise_block ul img,
.contact .promise_block ul img {
    width: 34px;
    height: auto;
    margin-right: 10px;
    vertical-align: middle;
    display: inline-block
}

body.ecoone .promise_block ul b,
.contact .promise_block ul b {
    color: #d4002d
}

body.ecoone .promise_block .texts,
.contact .promise_block .texts {
    margin: 20px;
    padding: 20px;
    background: #fff;
    border-radius: 5px
}

@media screen and (max-width:768px) {
    body.ecoone .visual .position {
        background: url(../img/ecoone/bg_01_sp.webp) no-repeat top center;
        background-size: cover;
        min-height: 66.66vw
    }

    body.ecoone .visual p {
        padding: 8% 0 3%
    }

    body.ecoone .visual p img {
        width: 200px;
        height: auto
    }

    body.ecoone .visual h1 {
        font-size: 7.25vw
    }

    body.ecoone .ecoone_lead {
        margin: 20px 0 50px
    }

    body.ecoone .ecoone_lead h2 {
        font-size: 175%;
        font-size: 6.5vw
    }

    body.ecoone .ecoone_lead .em_style {
        font-size: 150%;
        font-size: 6vw
    }

    body.ecoone .navi_btns {
        margin: 30px auto 60px
    }

    body.ecoone .navi_btns li {
        width: 23.5%;
        margin-right: 2%;
        margin-bottom: 2%;
        display: flex;
        justify-content: center;
        align-items: center
    }

    body.ecoone .navi_btns li a {
        font-size: 2.25vw;
        letter-spacing: -.03em;
        height: auto;
        padding: 15px 0
    }

    body.ecoone .navi_btns li.row_02 a {
        padding: 3px 0
    }

    body.ecoone .navi_btns li a:after {
        width: 6px;
        height: 6px
    }

    body.ecoone .ecoone_ttl {
        margin-bottom: 10px
    }

    body.ecoone .ecoone_ttl b {
        display: block;
        font-size: 125%;
        padding: 15px 0;
        width: 58px;
        text-align: center;
        margin-right: 10px
    }

    body.ecoone .ecoone_ttl div {
        width: calc(100% - 68px);
        font-size: 120%
    }

    body.ecoone .ecoone_blocks {
        padding-bottom: 30px;
        margin-bottom: 30px
    }

    body.ecoone .ecoone_blocks .col_child+.col_child {
        margin-top: 10px
    }

    body.ecoone .ecoone_blocks .col_single .texts {
        margin: 10px 0 30px
    }

    body.ecoone .contacts_block {
        background-image: url(../img/ecoone/bg_contact_sp.webp);
        background-size: cover;
        padding: 30px 15px 30px;
        margin: 40px 0 0
    }

    body.ecoone .contacts_block h2 {
        font-size: 5.5vw
    }

    body.ecoone .contacts_block h2:before,
    body.ecoone .contacts_block h2:after {
        width: 14px;
        height: 28px
    }

    body.ecoone .contacts_block .tel_link a img {
        margin-right: 10px;
        width: 35px;
        height: auto
    }

    body.ecoone .contacts_block .tel_link a b {
        font-size: 7.5vw
    }

    body.ecoone .contacts_block .btns {
        flex-direction: column;
        margin: 20px auto 0
    }

    body.ecoone .contacts_block .btn_links+.btn_links {
        margin: 10px 0 0
    }

    body.ecoone .contacts_block .btn_links a {
        padding: 10px 25px 10px 15px;
        font-size: 12px
    }

    body.ecoone .contacts_block .btn_links a:before {
        width: 6px;
        height: 6px;
        right: 15px
    }

    body.ecoone .contacts_block .btn_links a img {
        width: 20px;
        height: 18px
    }

    body.ecoone .promise_block,
    .contact .promise_block {
        margin-bottom: 50px;
        border-radius: 10px
    }

    body.ecoone .promise_block h2,
    .contact .promise_block h2 {
        background-size: 100% auto;
        padding: 20px 0 45px
    }

    body.ecoone .promise_block h2 img,
    .contact .promise_block h2 img {
        width: 37px;
        height: 53px
    }

    body.ecoone .promise_block h2 span,
    .contact .promise_block h2 span {
        font-size: 3vw
    }

    body.ecoone .promise_block h2 b,
    .contact .promise_block h2 b {
        font-size: 4.5vw;
        display: inline-block;
        margin: 0 10px
    }

    body.ecoone .promise_block h3,
    .contact .promise_block h3 {
        font-size: 150%;
        margin: 10px 0 10px
    }

    body.ecoone .promise_block ul,
    .contact .promise_block ul {
        font-size: 125%;
        display: block;
        margin: 0 20px 10px
    }

    body.ecoone .promise_block ul li,
    .contact .promise_block ul li {
        margin-bottom: 10px;
        text-indent: -35px;
        margin-left: 35px
    }

    body.ecoone .promise_block ul img,
    .contact .promise_block ul img {
        width: 25px;
        height: 23px;
        margin-right: 10px;
        vertical-align: top
    }

    body.ecoone .promise_block ul b,
    .contact .promise_block ul b {
        color: #d4002d
    }

    body.ecoone .promise_block .texts,
    .contact .promise_block .texts {
        margin: 0 20px 20px;
        padding: 15px;
        background: #fff;
        border-radius: 5px
    }
}

.related-article {
    margin-bottom: 6em
}

.column-btn {
    display: inline-block;
    width: auto;
    background-color: #192e77;
    padding: 1em 2.5em;
    border-radius: 10em;
    color: #fff;
    font-weight: 700;
    position: relative;
    border: .15em solid #192e77;
    transition: 0.2s all;
    margin: 3em auto
}

.column-btn span {
    color: #fff;
    font-weight: 700;
    font-size: 1.1em
}

.column-btn::after {
    position: absolute;
    top: 50%;
    right: 1em;
    content: "";
    height: .5em;
    width: .5em;
    border-top: .2em solid #fff;
    border-right: .2em solid #fff;
    transform: translateY(-50%) rotate(45deg);
    transition: 0.2s all
}

.column-btn:hover {
    border: .15em solid #192e77;
    background-color: #feeb2c;
    color: #192e77;
    text-decoration: none
}

.column-btn:hover span {
    color: #192e77
}

.column-btn:hover::after {
    border-top: .2em solid #192e77;
    border-right: .2em solid #192e77;
    right: .75em
}

.related-article-title {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    width: 100%
}

.related-article-title span {
    width: 100%;
    height: .15em;
    background-color: #192e77
}

.related-article-title h2 {
    white-space: nowrap;
    padding: .5em;
    font-size: 2em;
    font-weight: 700
}

.article {
    background-color: #e3f5ff;
    padding: 1.5em;
    transition: 0.2s all;
    position: relative;
    width: 100%;
    min-height: 7em;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
    gap: 1em;
    transition: 0.2s all;
    border: .15em solid #192e77
}

.article-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.5em
}

.article p {
    color: #192e77;
    font-weight: 700;
    font-size: 1.2em;
    text-align: left;
    width: calc(100% - 3em)
}

.article::after {
    content: "";
    height: 1.5em;
    width: 1.5em;
    border-top: .2em solid #192e77;
    border-right: .2em solid #192e77;
    transform: translateY(-50%) rotate(45deg);
    transition: 0.2s all;
    position: absolute;
    top: 50%;
    right: 2.25em
}

.article:hover {
    background-color: #feeb2c;
    text-decoration: none
}

.article:hover p {
    color: #192e77
}

.article:hover::after {
    border-top: .2em solid #192e77;
    border-right: .2em solid #192e77;
    right: 1.5em
}

@media screen and (max-width:768px) {
    .column_main {
        width: 90%;
        margin: 0 auto 2em;
        letter-spacing: .07em;
        font-feature-settings: palt;
        min-height: 80vh
    }

    .article:hover {
        background-color: #192e77
    }

    .article:hover p {
        color: #fff
    }

    .article:hover::after {
        border-top: .2em solid #fff;
        border-right: .2em solid #fff;
        right: 2.25em
    }

    .article:hover {
        background-color: #e3f5ff;
        text-decoration: none
    }

    .article:hover p {
        color: #192e77
    }

    .article:hover::after {
        right: 2.25em;
        border-top: .2em solid #192e77;
        border-right: .2em solid #192e77
    }
}

.campaign .mv_wrap {
    color: #142b77;
    font-size: 3.3vw
}

.reviews .mv_wrap {
    color: black;
}

.campaign_tit {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    margin: 0 auto 2em
}

.campaign_tit h2 {
    text-align: center;
    font-size: 2em
}

.campaign_tit .sub_tit {
    text-align: left;
    font-size: 16px;
    display: block;
    margin-top: 1em
}

.imgs-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 2em;
    margin: 2em auto
}

.product-name,
.campaign-items,
.imgs-wrap img {
    max-width: 700px;
    width: 100%;
    margin: 0 auto;
    box-sizing: border-box
}

.product-name {
    display: flex;
    align-items: center;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    background-color: #e6e6e6;
    padding: 1em
}

.product-name {
    text-align: left
}

.product-name .name {
    font-weight: 700;
    font-size: 1.5em
}

.campaign-items {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2em;
    margin: 2em auto
}

.campaign-item {
    width: 100%;
    box-shadow: 0 0 1em #192d774d;
    overflow: hidden;
    border-radius: .5em;
    border: .2rem solid #192e77;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center
}

.campaign-item .product-code {
    background-color: #192e77;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .3em 1em .2em;
    font-weight: 700;
    font-size: 2em
}

.campaign-item-middle {
    display: flex;
    flex-wrap: nowrap
}

.product-img {
    display: flex;
    border-right: .2em solid #192e77;
    width: 40%
}

.product-img img {
    width: 100%;
    height: 100%;
    object-fit: contain
}

.campaign-item-info {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: stretch;
    width: 60%
}

.campaign-item .tags {
    padding: 1em;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: .5em;
    border-bottom: .2em solid #192e77
}

.campaign-item .tag {
    background-color: #192e77;
    color: #fff;
    font-weight: 700;
    padding: .3em 1em .2em;
    border-radius: 10em;
    white-space: nowrap
}

.campaign-item .list-price {
    padding: .3em 1em .2em;
    font-size: 1.2em;
    text-align: center
}

.campaign-item .komi {
    background-color: #192e77;
    color: #fff;
    font-weight: 700;
    font-size: 1.3em;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .3em 1em .2em
}

.price-wrap {
    display: flex;
    flex-direction: column
}

.price-order {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .5em 1em .5em;
    gap: .5em
}

.campaign-item .price {
    font-size: 3em;
    font-weight: 900;
    color: #c11c22;
    background: linear-gradient(transparent 60%, #ffff2b 60%);
    line-height: 1;
    white-space: nowrap
}

.campaign-item .price span {
    font-size: .35em;
    margin-left: -.8em
}

.campaign-item .order {
    background-color: orangered;
    box-shadow: 0 .3em 0 rgb(170, 45, 0);
    border-radius: .5em;
    padding: .5em 1em;
    height: calc(100% - 1em);
    color: #fff;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: 0.2s all;
    transform: translateY(-.15em)
}

.campaign-item .order span {
    white-space: nowrap
}

.campaign-item .order:hover {
    box-shadow: 0 0em 0 rgb(170, 45, 0);
    transform: translateY(.15em)
}

.campaign-item-moreinfo {
    background-color: #192e77;
    cursor: pointer;
    transition: 0.2s all;
    position: relative
}

.campaign-item-moreinfo .scroll-box::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    box-shadow: inset 0 -2em 1.3em -2em rgba(0, 0, 0, 1);
    z-index: 99999999;
    top: 0;
    left: 0;
    pointer-events: none;
    transition: 0.2s all
}

.campaign-item-moreinfo .scroll-box.bottom::after {
    box-shadow: none
}

.campaign-item-moreinfo summary {
    color: #fff;
    font-weight: 700;
    font-size: 1.3em;
    padding: .7em 1em .5em;
    list-style: none;
    transition: 0.15s all;
    position: relative
}

summary::-webkit-details-marker {
    display: none
}

.campaign-item-moreinfo summary>span {
    width: 100%;
    text-align: center;
    display: block
}

.campaign-item-moreinfo summary:hover {
    box-shadow: inset 0 0 .5em #86a1ff
}

.campaign-item-moreinfo summary::after {
    content: "";
    position: absolute;
    right: .75em;
    top: 50%;
    height: .5em;
    width: .5em;
    border-top: .2em solid #fff;
    border-right: .2em solid #fff;
    transform: translateY(calc(-50% - 0.1em)) rotate(135deg);
    transition: 0.2s all
}

.accordion-open summary::after {
    transform: translateY(calc(-50% + 0.1em)) rotate(-45deg)
}

.campaign-item-moreinfo .answer {
    background-color: #fff;
    cursor: auto;
    max-height: 30em;
    overflow: scroll;
    overflow-x: hidden;
    border-top: .2rem solid #192e77
}

.campaign-item-moreinfo .answerInner {
    background-color: #192e77
}

.flex-title {
    width: 100%;
    background-color: #e3f5ff;
    color: #192e77;
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: .2rem solid #192e77;
    margin-top: -.2em;
    position: sticky;
    top: 0;
    padding: .45rem .5rem .25rem
}

.flex-title span {
    font-weight: 700;
    font-size: 1.3em
}

.flex-row {
    display: flex;
    gap: 0;
    border-bottom: .15rem solid #192e77
}

.flex-row:last-child {
    padding-bottom: .2rem
}

.answerInner:last-child .flex-row:last-child {
    border-bottom: none;
    padding-bottom: 0
}

.answerInner .flex-title {
    box-shadow: 0 -.2rem 0 #192e77
}

.flex-item {
    background: #fff;
    padding: .5em;
    font-size: 16px;
    display: flex;
    align-items: flex-start;
    font-size: 16px;
    flex-direction: column;
    justify-content: center
}

.flex-item:nth-child(1) {
    width: 40%;
    border-right: .1rem solid #192e77;
    background-color: rgb(235, 235, 235);
    font-weight: 700
}

.flex-item:nth-child(2) {
    flex: 60%
}

@media screen and (max-width:768px) {
    .campaign .mv_wrap {
        top: 50%;
        font-size: 8.5vw
    }

    .campaign_tit h2 {
        text-align: center;
        font-size: 24px
    }

    .campaign_tit br {
        display: none
    }

    .campaign-item {
        max-width: 400px;
        width: calc(100% - 2em)
    }

    .campaign-item-middle {
        flex-wrap: wrap
    }

    .product-img {
        width: 100%;
        border-right: none;
        border-bottom: .15em solid #192e77
    }

    .campaign-item-info {
        width: 100%
    }

    .campaign-item .komi {
        font-size: 18px
    }

    .price-order {
        flex-wrap: wrap;
        padding: .5em 1em 1em
    }

    .campaign-item .price {
        font-size: 3.3em;
        width: 100%;
        text-align: center;
        margin: .2em
    }

    .campaign-item .order {
        width: 100%;
        height: auto;
        border-radius: 10em;
        font-size: 18px;
        padding: .3em 1em .2em
    }

    .campaign-item .order:hover {
        box-shadow: 0 .3em 0 rgb(170, 45, 0);
        transform: translateY(-.15em)
    }

    .campaign-item-moreinfo summary {
        font-size: 16px
    }

    .campaign-item-moreinfo summary:hover {
        box-shadow: none
    }

    .flex-title {
        font-size: 14px
    }

    .flex-item {
        font-size: 14px
    }

    .flex-item:nth-child(1) {
        width: 100%
    }

    .flex-item:nth-child(2) {
        width: 100%
    }

    .flex-item br {
        display: none
    }

    .flex-row {
        display: flex;
        gap: 0;
        border-bottom: .2rem solid #192e77;
        flex-direction: column;
        padding-right: .75em
    }
}

@media screen and (max-width:450px) {
    .campaign-item {
        font-size: 3.5vw
    }

    .campaign-item .tag {
        font-size: 1.3em
    }

    .campaign-item .list-price {
        font-size: 1.5em
    }
}

.column-wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 1em;
    margin: 2em auto
}

.column-wrap a {
    width: calc((100% / 3) - 1em);
    overflow: hidden;
    border-radius: 1em;
    box-shadow: 0 .3em .3em rgba(0, 0, 0, .3);
    transition: 0.2s all;
    border: 1px solid #192e77
}

.column-wrap a:hover {
    transform: translateY(.3em);
    box-shadow: 0 0em 0em rgba(0, 0, 0, .3)
}

.column-wrap a img {
    width: 100%
}

@media screen and (max-width:768px) {
    .column-wrap {
        gap: 2em
    }

    .column-wrap a {
        width: calc(100% - 2em)
    }
}

.merit-wrap {
    position: absolute;
    bottom: 1.5vw;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 1em;
    align-items: stretch;
    justify-content: center;
    line-height: 1.3
}

.merit {
    font-size: 1vw;
    background-color: #2aae1b;
    padding: .5em;
    color: #fff;
    font-weight: 700;
    border-radius: .5em;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center
}

.merit-main {
    color: #feec3e;
    font-size: 1.1em
}

@media screen and (max-width:767px) {

    .common_visual,
    .main-visual {
        height: auto
    }

    .merit {
        font-size: 3.5vw;
        white-space: nowrap
    }
}

.achievement {
    background-color: #f8e3c4;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 4em 1em 3em;
    position: relative;
    font-weight: 700;
    color: #192e77;
    margin-top: 8em
}

.achievement-deco {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #192e77;
    color: #fff;
    font-size: 3em;
    line-height: 1;
    padding: .3em .5em .2em;
    white-space: nowrap
}

.achievement-deco span {
    font-size: .8em
}

.achievement-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 100%;
    max-width: 727px
}

.achievement-copy {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    line-height: 1;
    margin-bottom: 1em;
    gap: .5em
}

.achievement .copy-left {
    font-size: 2.5em
}

.achievement .copy-left span {
    font-size: .7em
}

.achievement .copy-right {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    background: linear-gradient(transparent 60%, #feeb2c 60%);
    padding: 0 .5em
}

.copy-right-monthly {
    font-size: 2.3em
}

.copy-right-main {
    font-size: 4em;
    line-height: .8
}

.copy-right-morethan {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: .3em
}

.copy-right-morethan span:nth-child(1) {
    font-size: 1em
}

.copy-right-morethan span:nth-child(2) {
    font-size: 2em
}

.achievement-img {
    width: 100%;
    position: relative
}

.achievement-img img {
    width: 100%
}

.achievement-img div {
    position: absolute;
    left: 1em;
    bottom: 1em;
    text-align: left;
    font-size: 1.7em;
    line-height: 1;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: column;
    gap: .3em
}

.achievement-img div p {
    background-color: #fff;
    display: inline;
    padding: .2em .3em .1em
}

@media screen and (max-width:766px) {
    .achievement-deco {
        font-size: 10vw
    }

    .achievement-copy {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        font-size: 3.5vw;
        gap: 1em
    }

    .achievement-img {
        font-size: 2.5vw
    }
}

#work-sample {
    background-color: #e3f5ff;
    overflow-wrap: break-word;
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    overflow: auto
}

#work-sample * {
    box-sizing: border-box
}

#work-sample .splide {
    width: 100%
}

.work-sample-title {
    background-color: #1a2e76;
    width: 100%
}

#work-sample .work-sample-title h2 {
    font-size: 2.5em;
    font-weight: 700;
    color: #fff;
    line-height: 1;
    padding: .5em 0 .3em;
    position: relative;
    display: inline-block
}

#work-sample .work-sample-title h2::before,
#work-sample .work-sample-title h2::after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    height: calc(100% - 0.5em);
    width: 2em;
    z-index: 1;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    display: block;
    margin: 0
}

#work-sample .work-sample-title h2::before {
    background-image: url(../img/common/dec_wht_l.webp);
    right: 100%
}

#work-sample .work-sample-title h2::after {
    background-image: url(../img/common/dec_wht_r.webp);
    left: 100%
}

#work-sample .work-sample-title h2 br {
    display: none
}

@media screen and (max-width:650px) {
    .work-sample-title {
        font-size: calc(4vw - 0.1em)
    }

    #work-sample .work-sample-title h2 {
        line-height: 1.2
    }

    #work-sample .work-sample-title h2 br {
        display: block
    }

    #work-sample .work-sample-title h2::before,
    #work-sample .work-sample-title h2::after {
        height: 1.5em
    }

    #work-sample .work-sample-title h2::before {
        right: calc(100% - 0.5em)
    }

    #work-sample .work-sample-title h2::after {
        left: calc(100% - 0.5em)
    }

    .review {
        width: 100%
    }
}

.splide__list {
    display: flex
}

#work-sample .splide__slide {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: stretch;
    padding: 1em;
    background-color: #fff;
    width: auto;
    padding: 0;
    border: .15em solid #192e77;
    overflow: hidden;
    border-radius: .5em
}

#work-sample .splide__slide.splide__slide:hover img {
    box-shadow: none
}

#work-sample .splide__slide img {
    width: 100%;
    height: auto;
    max-width: 100%
}

.work-code-wrap {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: stretch
}

.before-code {
    background-color: #ededed;
    width: 100%;
    position: relative;
    min-height: 5em;
    height: auto
}

.work-code {
    font-weight: 700;
    white-space: inherit;
    width: 100%;
    background-color: #fff;
    color: #000;
    position: relative;
    min-height: 5em
}

.work-code span {
    display: inline
}

.work-code .marker {
    background: linear-gradient(transparent 50%, #feeb2c 50%)
}

.before-code {
    width: 100%;
    position: relative
}

.before-code::before {
    content: "";
    position: absolute;
    right: .5em;
    top: 110%;
    transform: translateY(-50%);
    width: .75em;
    height: 3em;
    background-image: url(../img/work-sample/work-arrow.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    z-index: 99
}

.before-code,
.work-code {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: .15em solid #192e77;
    font-size: 13px
}

.before-code .work-code-arrow {
    background-image: url(../img/work-sample/work-code-arrow-old.svg)
}

.work-code .work-code-arrow {
    background-image: url(../img/work-sample/work-code-arrow-new.svg)
}

.before-code .work-code-arrow,
.work-code .work-code-arrow {
    width: 1.75rem;
    height: 100%;
    background-size: 100% 100%;
    filter: drop-shadow(.15em 0 0 #192e77);
    position: relative
}

.before-code .work-code-arrow::before,
.work-code .work-code-arrow::before {
    position: absolute;
    white-space: nowrap;
    left: 40%;
    top: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    font-weight: 700;
    font-size: 14px;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
}

.before-code .work-code-arrow::before {
    content: "既設"
}

.work-code .work-code-arrow::before {
    content: "新設"
}

.before-code .code,
.work-code .code {
    padding: .3em .3em .3em .5em;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: calc(100% - 1.75rem);
    text-align: left
}

#work-sample .product-img {
    border: none;
    object-fit: cover;
    height: 100%;
    width: 100%
}

.work-address {
    padding: .5em .5em;
    border-top: .15em solid #192e77;
    width: 100%;
    font-size: 14px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center
}

.reviews {
    margin: auto
}

.reviews .reviews-heading {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 4em
}

.reviews-heading h2 {
    color: #fff;
    background: #ffa53b;
    padding: 1em;
    font-size: 1.5em;
    font-weight: 700;
    border-radius: 1em;
    position: relative
}

.reviews-heading h2::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 95%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 1.2em solid transparent;
    border-left: 1.2em solid transparent;
    border-top: 1.3em solid #ffa53b;
    border-bottom: 0
}

.reviews-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    gap: 2em;
    margin-bottom: 3em;
    filter: drop-shadow(0 0 2.5em rgba(230, 150, 0, .3)) drop-shadow(0 0 .15em rgba(230, 150, 0, .3))
}

.reviews .reviews-wrap {
    background: #ebf4fe;
    padding-top: 60px;
    padding-bottom: 10px;
}

.review {
    width: 45%;
    max-width: 25em;
    display: block;
    background-color: #fff;
    padding: 1.5em;
    position: relative;
    border-radius: .5em
}

.review::before,
.review::after {
    content: '';
    position: absolute;
    bottom: 10px;
    width: 40%;
    height: 10px;
    box-shadow: 0 5px 14px rgba(200, 120, 0, .7);
    z-index: -1;
    transition: all .3s ease-in-out
}

.review::before {
    left: 15px;
    transform: skew(-5deg) rotate(-5deg)
}

.review::after {
    right: 15px;
    transform: skew(5deg) rotate(5deg)
}

.review .note {
    background-color: #fff;
    background-image: linear-gradient(180deg, #ccc 1px, transparent 1px);
    background-size: 100% 2.2em;
    line-height: 2.2em;
    padding-bottom: 1px
}

@media screen and (max-width:766px) {
    .reviews-wrap {
        gap: 2em
    }

    .review {
        width: 100%;
        margin: 0 .5em;
        max-width: 500px
    }
}

/* reviews ページ用の contacts_block */
.reviews .contacts_block {
    background: url(../img/service/bg_contact.webp?20250922) no-repeat #d3f4ff;
    background-position: center bottom;
    text-align: center;
    padding: 30px 0 30px;
    margin: 40px 0
}

.reviews .contacts_block h2 {
    font-size: 150%;
    font-weight: 700;
    color: #333;
    margin-bottom: 10px
}

.reviews .contacts_block h2 span {
    display: inline-block;
    vertical-align: middle;
    position: relative
}

.reviews .contacts_block h2:before,
.reviews .contacts_block h2:after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 28px;
    height: 45px;
    background: url(../img/service/ico_bar_l.webp) no-repeat;
    background-size: contain;
    margin: 0 5px
}

.reviews .contacts_block h2:after {
    background-image: url(../img/service/ico_bar_r.webp)
}

.reviews .contacts_block .tel_link,
.reviews .contacts_block .tel_link a {
    display: inline-block;
    margin: -.5em 0 1em
}

.reviews .contacts_block .tel_link a img {
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px
}

.reviews .contacts_block .tel_link a b {
    display: inline-block;
    vertical-align: middle;
    font-size: 300%;
    color: #d4002d
}

.reviews .contacts_block .tel_link p {
    font-size: 137.5%;
    font-weight: 700;
    color: #fff;
    background: #142e7a;
    border-radius: 5px;
    margin-bottom: .3em
}

.reviews .contacts_block .btns {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 20px auto 0
}

.reviews .contacts_block .btn_links+.btn_links {
    margin-left: 20px
}

.reviews .contacts_block .btn_links a {
    display: flex;
    align-items: center;
    justify-content: center
}

.reviews .contacts_block .btn_links a img {
    width: 30px;
    height: 26px;
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px
}

.reviews .contacts_block .btn_links.mail a {
    border-color: #2973d7;
    background: #2973d7;
    transition: transform .4s, background .4s
}

.reviews .contacts_block .btn_links.line a {
    border-color: #00b900;
    background: #00b900;
    transition: transform .4s, background .4s
}

.reviews .contacts_block .btn_links.mail a:hover {
    color: #fff;
    background: #49f;
    transform: translateY(2px)
}

.reviews .contacts_block .btn_links.line a:hover {
    color: #fff;
    background: #4c4;
    transform: translateY(2px)
}

.reviews .contacts_block .btn_links a:hover:before {
    border-color: #fff
}

/* スマホ対応 */
@media screen and (max-width:768px) {
    .reviews .contacts_block {
        background-image: url(../img/service/bg_contact_sp.webp?20250922);
        background-size: 100%;
        padding: 30px 15px 30px;
        margin: 40px 0 0
    }

    .reviews .contacts_block h2 {
        font-size: 5.5vw
    }

    .reviews .contacts_block h2:before,
    .reviews .contacts_block h2:after {
        width: 14px;
        height: 28px
    }

    .reviews .contacts_block .tel_link a img {
        margin-right: 10px;
        width: 35px;
        height: auto
    }

    .reviews .contacts_block .tel_link a b {
        font-size: 7.5vw
    }

    .reviews .contacts_block .btns {
        flex-direction: column;
        margin: -1em 0 4.5em
    }

    .reviews .contacts_block .btn_links+.btn_links {
        margin: 10px 0 0
    }

    .reviews .contacts_block .btn_links a {
        padding: 10px 25px 10px 15px;
        font-size: 12px
    }

    .reviews .contacts_block .btn_links a:before {
        width: 6px;
        height: 6px;
        right: 15px
    }

    .reviews .contacts_block .btn_links a img {
        width: 20px;
        height: 18px
    }
}

/* .ih .visual h1 {
    color: #142e7a;
    font-weight: 700;
    top: 45%;
    font-size: 3.2vw
}

.ih .sitewrap {
    overflow: visible
}

.ih .waterheater_tit,
.ih .stoveburner_tit {
    font-size: 36px;
    text-align: center;
    padding: 6.4% 0 4%
}

.ih .waterheater_tit .sub_tit,
.ih .stoveburner_tit .sub_tit {
    margin-top: 28px;
    display: block;
    font-size: 16px;
    font-weight: 400
}

.ih strong {
    color: #142e7a
}

.ih .cta_link {
    display: block;
    box-shadow: 0 0 10px #bfbfbf;
    margin-bottom: 44px;
    transition: transform .4s, box-shadow .4s
}

.ih .cta_link:hover {
    box-shadow: none;
    transform: translateY(2px)
}

.ih .waterheater_contents .goods_wrap div img {
    width: 100%;
    height: auto
}

.ih .btn_links_wrap .btn_links04.link_flow {
    background-image: url(../img/stoveburner/btn_flow.webp)
}

.ih .btn_links_wrap .btn_links04.link_case {
    background-image: url(../img/common/btn_case.webp)
}

.ih .btn_links_wrap .btn_links04.link_contact {
    background-image: url(../img/common/btn_contact.webp)
}

.ih .btn_links_wrap .btn_links04:hover {
    text-decoration: none;
    border: solid 1px #142e7a
}

.ih .btn_links_wrap .btn_links04 span {
    font-weight: 700
}

.ih .btn_links_wrap .btn_links04 span b {
    color: #142e7a;
    font-size: 24px
}

@media screen and (max-width:768px) {
    .ih .visual h1 {
        top: 22%;
        font-size: 7vw
    }

    .ih .waterheater_contents .goods_wrap .goods_item {
        width: 48%
    }

    .ih .waterheater_tit {
        font-size: 24px;
        padding: 6.4% 0 10%
    }

    .ih .waterheater_contents .logo_wrap img {
        width: 19%;
        display: inline-block;
        padding-right: 4%;
        padding-bottom: 5%
    }

    .ih .waterheater_contents p.txt_welcome {
        font-size: 18px
    }

    .ih .waterheater_contents .goods_wrap .off_area {
        width: 42px;
        top: -20px;
        left: 0
    }

    .ih .waterheater_contents .goods_wrap .off_area img {
        width: 100%
    }

    .ih .cta_link img {
        width: 100%;
        height: auto
    }

    .ih .btn_links_wrap {
        display: block
    }

    .ih .btn_links_wrap div {
        width: 100%;
        margin-bottom: 1em
    }

    .ih .btn_links_wrap .btn_links04 {
        background-position: right
    }
} */

/* page_min.css に追加 */

/* ===== PC版 - 全体の幅設定 ===== */
/* body.ih .sitewrap, */
body.ih main,
body.ih .article_body {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
}

/* 全体の横スクロール防止 */
body.ih {
    overflow-x: hidden;
    max-width: 100vw;
}

body.ih,body.rangefood,body.dishwasher {
  font-family: 'Noto Sans JP', sans-serif;
  box-sizing: border-box;
  overflow-x: hidden;
  font-feature-settings: "palt";
  letter-spacing: 0.04em;
  background: white;
  color: #2c2c2c;
}

h1, h2, h3, h4, h5, h6 {
    font-size: 100%;
    font-weight: bold;
}

.taitl_line {
  font-size: max(2.3rem, 3.3vw);
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
  color: #345EC4;
  position: relative;
  padding-bottom: max(0.1rem, 0.1vw);
  margin-bottom: max(0.2rem, 0.2vw);
  background-image: repeating-linear-gradient(135deg, transparent 0 max(0.2rem, 0.2vw), #c9edff 0px max(0.5rem, 0.5vw));
  background-repeat: no-repeat;
  mix-blend-mode: multiply;
  background-size: 100% max(1rem, 1vw);
  background-position: left 0 bottom 0;
  display: inline-block;
}

/* ===== komikomi セクション ===== */
.komikomi {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    margin: 1.5em 0;
}

.komikomi div {
    margin: 0.1em 0 0.5em 0;
    width: 35em;
}

.komikomi div .komikomiText {
    background-color: #345EC4;
    border-radius: 100em;
    width: 100%;
}

.komikomi div .komikomiText p {
    font-size: 1.7em;
    font-weight: bold;
    text-align: center;
    color: white;
}

.komikomi .contents {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    gap: 1em;
}

.komikomi .contents .contentsItem {
    background-color: #EBF4FE;
    border: solid 0.13rem #345EC4;
    box-shadow: 0.2em 0.2em 0.8em #00877544;
    border-radius: 0.71em;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5em;
    padding: 1em;
}

.komikomi .contents .contentsItem img {
    height: 5em;
    margin: 0;
}

.komikomi .contents .contentsItem h3 {
    font-size: 1.5em;
    color: #345EC4;
}

.komikomi .contents .plus {
    width: 10em;
}

/* ===== merchandise セクション ===== */
#merchandise {
    position: relative;
    background-color: #EBF4FE;
}

#merchandise .sub_title {
    background-color: #345EC4;
    padding-bottom: 1em;
}

#merchandise .sub_title h1 {
    color: white;
    font-size: 3em;
    text-align: center;
}

#merchandise .sub_title h1 span {
    font-family: "メイリオ", "Meiryo", "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-style: italic;
    font-size: 1.5em;
    text-shadow: 0 0 0.4em #82FFEE;
    background: linear-gradient(transparent 92%, #FCF204 0%);
}

#merchandise .sub_title h1 span span {
    margin-left: -0.1em;
    margin-right: 0.1em;
    font-family: 'Noto Sans JP', sans-serif;
    background: none;
    font-size: 0.8em;
}

/* ===== construction_cost セクション ===== */
.construction_cost {
    color: #345EC4;
}

.construction_cost .wrapper {
    display: flex;
    flex-wrap: nowrap; /* nowrapを明示 */
    justify-content: center;
    align-items: center;
    margin: 2em auto 0;
    width: 80%; /* 60%から80%に拡大 */
    max-width: 1200px; /* 最大幅を設定 */
    gap: 2em; /* 要素間の間隔 */
}

.construction_cost .wrapper .main_quote {
    position: relative;
    padding: 1.5em 2em; /* paddingを少し調整 */
    background-color: #EBF4FE;
    border-radius: 1em;
    text-align: center;
    max-width: 450px; /* 31emから調整 */
    margin-bottom: 2em;
    flex-shrink: 0; /* 縮小を防ぐ */
}

.construction_cost .wrapper .main_quote .main_quote_triangle {
    /* z-index: -1; */
    position: absolute;
    top: 50%; /* 3emから50%に変更 */
    right: -3em; /* -4emから-3emに調整 */
    transform: translateY(-50%); /* 垂直中央揃え */
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 2em 0 2em 3em; /* 三角形の向きと大きさを調整 */
    border-color: transparent transparent transparent #EBF4FE;
}

.construction_cost .wrapper .main_quote div {
    display: inline-block;
    margin: 0 auto;
}

.construction_cost .wrapper .main_quote div h3 {
    text-align: left;
    font-size: 2em; /* 2.3emから2emに調整 */
    margin-bottom: 0.5em;
    line-height: 1.4; /* 行間を追加 */
}

.construction_cost .wrapper .main_quote div p {
    text-align: left;
    font-size: 0.9em; /* 1emから0.9emに調整 */
    line-height: 1.6;
}

.construction_cost .wrapper .anri_guts {
    /* z-index: -2; */
    margin-left: 0; /* 1emから0に変更（gapで調整） */
    flex-shrink: 0; /* 縮小を防ぐ */
}

.construction_cost .wrapper .anri_guts img {
    width: 18em; /* 15emから18emに拡大 */
    height: auto;
}

/* ===== nationwide_deployment セクション ===== */

.nationwide_deployment {
  background-color: #EBF4FE;
  color: #345EC4;
  padding: 3em 0;
}

.nationwide_deployment .wrapper {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  width: 70%;
}

.nationwide_deployment .wrapper .main {
  text-align: center;
  margin-bottom: 3em;
}

.nationwide_deployment .wrapper .main .logo {
  width: 15em;
  margin-bottom: 1em;
}

.nationwide_deployment .wrapper .main div {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
}

.nationwide_deployment .wrapper .main div h2 {
  font-size: 3.5em;
  margin: 0 0.5em;
  font-weight: 900;
  background: linear-gradient(transparent 75%, #FCF204 30%);
}

.nationwide_deployment .wrapper .main div .decoration_line {
  width: 3em;
}

.nationwide_deployment .wrapper .main div .decoration_line_l {
  transform: scale(-1, 1);
}

.nationwide_deployment .wrapper .main h3 {
  font-size: 1.5em;
  font-weight: 700;
  margin-top: 0.5em;
}

.nationwide_deployment .wrapper .nationwide {
  width: 30em;
}

/* ===== main_inquiry セクション ===== */

.main_inquiry {
    background-color: #ffcd28;
    overflow: hidden;
    padding: 1em;
    box-sizing: border-box;
}

.main_inquiry .wrapper {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    max-width: 1400px; /* 最大幅を追加 */
    margin: 0 auto; /* 中央寄せ */
}

.main_inquiry .wrapper .borujuku_guts {
    margin-right: 2em;
    padding: 2em 0 0 0;
    display: flex;
    justify-content: center;
    align-items: flex-end; /* center → flex-end に変更 */
    flex-shrink: 0; /* 追加 */
}

.main_inquiry .wrapper .borujuku_guts img {
    display: block; /* flex → block に変更 */
    width: 20em;
    max-width: 100%; /* 追加 */
    height: auto; /* 追加 */
    filter: drop-shadow(0 0 0.75em rgba(255, 255, 255, 0.5)) drop-shadow(0 0 0.5em white);
}

.main_inquiry .wrapper .information {
    width: 30em;
    max-width: 100%; /* 追加 */
    white-space: nowrap;
    flex-shrink: 1; /* 追加 */
}


.main_inquiry .wrapper .information .title {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  color: #345EC4;
}

.main_inquiry .wrapper .information .title .cheapest_price_title {
  font-size: 3em;
  text-shadow: 0 0 0.1em white, 0 0 0.1em white, 0 0 0.1em white;
  letter-spacing: 0.1em;
}

.main_inquiry .wrapper .information .title h3 {
  text-shadow: 0 0 0.15em white, 0 0 0.15em white, 0 0 0.15em white;
  letter-spacing: 0.1em;
}

.main_inquiry .wrapper .information .title .additional_fee {
  background-color: white;
  color: #345EC4;
  text-align: center;
  padding: 0.5em 1em;
  border-radius: 1em;
}

.main_inquiry .wrapper .information .title .additional_fee p {
  font-size: 1em;
  font-weight: bold;
}

.main_inquiry .wrapper .information .title .additional_fee h2 {
  font-size: 3em;
  font-family: 'Roboto Condensed', sans-serif;
}

.main_inquiry .wrapper .information .title h3 {
  font-size: 2em;
}

.main_inquiry .wrapper .information .ok {
  text-align: center;
  display: block;
  background-color: white;
  border-radius: 0.2em;
  font-size: 1em;
  font-weight: bold;
  color: #345EC4;
  margin: 0.7em 0;
}

.main_inquiry .wrapper .information .tel {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  margin: 0.7em 0;
  background-color: #FCF204;
  border-radius: 100em;
  box-shadow: 0 0.25em 0.3em #ff510085;
  transition: 0.2s;
  text-decoration: none;
}

.main_inquiry .wrapper .information .tel h4 {
  color: #0f0d69;
  font-size: 3em;
  font-family: 'Roboto Condensed', sans-serif;
}

.main_inquiry .wrapper .information .tel .freeDial {
  height: 2.5em;
  margin-right: 0.5em;
}

.main_inquiry .wrapper .information .tel:hover {
  transform: scale(0.98);
  box-shadow: 0 0.05rem 0.1rem #ff5100;
}

.main_inquiry .wrapper .information .mailLine {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  min-height: 2rem;
}

.main_inquiry .wrapper .information .mailLine .estimate_word {
  display: table;
  padding-bottom: 0.2em;
  color: white;
}

.main_inquiry .wrapper .information .mailLine .estimate_word .mailLine_main_word {
  font-weight: bold;
  font-size: 1.8em;
}

.main_inquiry .wrapper .information .mailLine .estimate_word .mailLine_sub_word {
  font-size: 1.2em;
}

.main_inquiry .wrapper .information .mailLine .icon {
  width: 2em;
  margin-right: 0.3em;
}

.main_inquiry .wrapper .information .mailLine .mail,
.main_inquiry .wrapper .information .mailLine .line {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  padding: 0.5em;
  border-radius: 100em;
  width: 100%;
  box-shadow: 0 0.25em 0.2em #00000030;
  height: 100%;
  transition: 0.2s;
  text-decoration: none;
}

.main_inquiry .wrapper .information .mailLine .mail:hover,
.main_inquiry .wrapper .information .mailLine .line:hover {
  transform: scale(0.98);
  box-shadow: 0 0.05rem 0.1rem rgba(0, 0, 0, 0.5);
}

.main_inquiry .wrapper .information .mailLine .mail {
  background-color: #44BFD2;
  margin-right: 0.5em;
}

.main_inquiry .wrapper .information .mailLine .line {
  background-color: #06C755;
}

/* ===== cheap_reason セクション ===== */

.cheap_reason {
  background-color: #9FACB9;
  padding: 5em 0;
}

.cheap_reason .wrapper {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
}

.cheap_reason .wrapper .information {
  margin-bottom: 4em;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
}

.cheap_reason .wrapper .information .haruka_surprised img {
  width: 15em;
  margin-right: 1em;
}

.cheap_reason .wrapper .information .words {
  letter-spacing: 0.1em;
  color: white;
  text-align: center;
}

.cheap_reason .wrapper .information .words h3 {
  font-size: 2em;
}

.cheap_reason .wrapper .information .words h1 {
  font-size: 6em;
  text-shadow: 0 0 0.3em #82FFEE;
  letter-spacing: 0.1em;
}

.cheap_reason .wrapper .information .words p {
  font-weight: bold;
  font-size: 1.5em;
}

.cheap_reason .wrapper .information .words .underline {
  border-bottom: 0.3em solid #FCF204;
  display: inline;
}

.cheap_reason .wrapper .information .words .underline span {
  font-size: 1.7em;
}

.cheap_reason .wrapper .comparison {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: center;
  width: 45em;
}

.cheap_reason .wrapper .comparison .cheap_reason_another,
.cheap_reason .wrapper .comparison .cheap_reason_syouzikiya {
  width: 18em;
  border-radius: 1em;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  overflow: hidden;
}

.cheap_reason .wrapper .comparison .cheap_reason_another img,
.cheap_reason .wrapper .comparison .cheap_reason_syouzikiya img {
  width: 100%;
  height: 100%;
}

.cheap_reason .wrapper .comparison .cheap_reason_another .cheap_reason_name,
.cheap_reason .wrapper .comparison .cheap_reason_syouzikiya .cheap_reason_name {
  font-size: 1.8em;
  font-weight: bold;
  color: white;
  width: 100%;
  height: 4em;
  margin-top: -0.3em;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cheap_reason .wrapper .comparison .cheap_reason_another .via,
.cheap_reason .wrapper .comparison .cheap_reason_syouzikiya .via {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 20em;
  background: url(.../common/images/flow_arrow.svg) no-repeat;
  background-position: 50% 0em;
  padding-bottom: 4em;
  margin-top: 1em;
  background-size: 24%;
}

.cheap_reason .wrapper .comparison .cheap_reason_another .via span,
.cheap_reason .wrapper .comparison .cheap_reason_syouzikiya .via span {
  text-align: center;
  font-size: 1.3em;
  font-weight: bold;
  color: white;
  width: 85%;
  padding: 0.3em 0;
  border-radius: 100em;
  position: relative;
}

.cheap_reason .wrapper .comparison .cheap_reason_another .via span img,
.cheap_reason .wrapper .comparison .cheap_reason_syouzikiya .via span img {
  position: absolute;
  top: 50%;
  left: 5%;
  transform: translate(-50%, -50%);
}

.cheap_reason .wrapper .comparison .cheap_reason_another .via span .maker_icon,
.cheap_reason .wrapper .comparison .cheap_reason_syouzikiya .via span .maker_icon {
  width: 4em;
}

.cheap_reason .wrapper .comparison .cheap_reason_another .via span .house_icon,
.cheap_reason .wrapper .comparison .cheap_reason_syouzikiya .via span .house_icon {
  width: 5em;
}

.cheap_reason .wrapper .comparison .cheap_reason_another .result,
.cheap_reason .wrapper .comparison .cheap_reason_syouzikiya .result {
  width: 100%;
  display: flex;
  justify-content: center;
  height: 5em;
}

.cheap_reason .wrapper .comparison .cheap_reason_another .result_wrapper,
.cheap_reason .wrapper .comparison .cheap_reason_syouzikiya .result_wrapper {
  background-size: 85%;
  color: white;
  height: 80%;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
}

.cheap_reason .wrapper .comparison .cheap_reason_another .result_wrapper span,
.cheap_reason .wrapper .comparison .cheap_reason_syouzikiya .result_wrapper span {
  text-align: center;
}

.cheap_reason .wrapper .cheap_reason_another {
  border: solid 0.12em #2c2c2c;
  background-color: #dedede;
}

.cheap_reason .wrapper .cheap_reason_another .cheap_reason_name {
  background-color: #2c2c2c;
}

.cheap_reason .wrapper .cheap_reason_another .via span {
  background-color: #6a6a6a;
}

.cheap_reason .wrapper .cheap_reason_another .via span img {
  filter: drop-shadow(0 0 0.15em rgba(0, 0, 0, 0.5));
}

.cheap_reason .wrapper .cheap_reason_another .result {
  align-items: flex-start;
}

.cheap_reason .wrapper .cheap_reason_another .result_wrapper {
  background: url(.../common/images/bad_result.svg) no-repeat center;
  font-size: 1em;
}

.cheap_reason .wrapper .cheap_reason_syouzikiya {
  box-shadow: 0 0 1em #82FFEE;
  border: solid 0.12em #345EC4;
  background: #EBF4FE;
}

.cheap_reason .wrapper .cheap_reason_syouzikiya .cheap_reason_name {
  background-color: #345EC4;
}

.cheap_reason .wrapper .cheap_reason_syouzikiya .via div {
  background-color: white;
  border-radius: 100%;
  box-shadow: 0 0 1em 1em white;
  color: #345EC4;
  font-size: 1.1em;
  font-weight: bold;
  text-align: center;
  line-height: 1.3;
}

.cheap_reason .wrapper .cheap_reason_syouzikiya .via div div {
  font-size: 2em;
  font-weight: 800;
  margin: 0 auto;
  background: linear-gradient(transparent 70%, #FCF204 0%);
  padding-bottom: 0.2em;
  border-radius: 0%;
}

.cheap_reason .wrapper .cheap_reason_syouzikiya .via span {
  background-color: #345EC4;
}

.cheap_reason .wrapper .cheap_reason_syouzikiya .via span img {
  filter: drop-shadow(0 0 0.15em #345EC4);
}

.cheap_reason .wrapper .cheap_reason_syouzikiya .result {
  align-items: center;
  background-color: #345EC4;
}

.cheap_reason .wrapper .cheap_reason_syouzikiya .result_wrapper {
  font-size: 1.7em;
}

.cheap_reason .wrapper .cheap_reason_syouzikiya .result_wrapper span {
  text-align: center;
  text-shadow: 0 0 0.3em #82FFEE;
}

.cheap_reason .wrapper .cheap_reason_syouzikiya .result_wrapper span span {
  font-size: 1.5em;
}

/* ===== cheap_reason セクション ===== */

.moreover {
  position: relative;
  padding: 2em 0 3em 0;
  background-color: #345EC4;
  text-align: center;
  color: white;
  font-size: 1.3em;
  line-height: 2.5em;
  overflow: visible;
}

.moreover h1 {
  z-index: 99;
  font-size: 2em;
}

.moreover .underline {
  border-bottom: 0.25em solid #FCF204;
  display: inline;
}

.moreover .triangle {
  position: absolute;
  z-index: 1;
  bottom: -3em;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5em 10em 0 10em;
  border-color: #345EC4 transparent transparent transparent;
}

.safe_trust {
  position: relative;
  z-index: 0;
  background-color: #EBF4FE;
  padding: 8em 0 7em 0;
}

.safe_trust .wrapper {
  text-align: center;
}

.safe_trust .wrapper .main_title {
  margin-bottom: 2em;
}

.safe_trust .wrapper .main_title_sp {
  display: none;
}

.safe_trust .wrapper .sections {
  margin: 0 21em;
}

.safe_trust .wrapper .sections .section:not(.last) {
  margin: 0 0 7em 0;
}

.safe_trust .wrapper .sections .section {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  text-align: left;
  gap: 3em;
}

.safe_trust .wrapper .sections .section:nth-child(even) {
  flex-direction: row-reverse;
}

.safe_trust .wrapper .sections .section .section_img {
  width: 20em;
}

.safe_trust .wrapper .sections .section .section_information {
  width: 30em;
  background-color: white;
  padding: 2em;
  border-radius: 1em;
  position: relative;
}

.safe_trust .wrapper .sections .section .section_information .section_number {
  font-family: 'Roboto', sans-serif;
  font-weight: bold;
  font-size: 6.5em;
  position: absolute;
  top: -0.5em;
  left: -0.3em;
  color: #8badff;
}

.safe_trust .wrapper .sections .section .section_information .section_title {
  margin-bottom: 0.5em;
  color: #345EC4;
  font-size: 1.8em;
  display: block;
}

.safe_trust .wrapper .sections .section .section_information .section_title .br_sp {
  display: none;
}

.safe_trust .wrapper .sections .section .section_information .section_title .underline {
  display: inline;
  background: linear-gradient(transparent 70%, #FCF204 0%);
}

.safe_trust .wrapper .sections .section .section_information .section_title .underline span {
  font-family: 'Roboto Condensed', sans-serif;
  font-size: 1.75em;
}

.safe_trust .wrapper .sections .section .section_information .section_sentence {
  line-height: 1.5em;
  color: #2c2c2c;
  font-weight: 500;
  font-size: 0.9em;
}

.safe_trust .wrapper .sections .section .section_information .supplement {
  color: #2c2c2c;
  margin-top: 0.2em;
  font-size: 0.7em;
}

.safe_trust .wrapper .sections .section .section_information .supplement:not(.last) {
  margin-bottom: 1.5em;
}

.promise {
  padding: 3em 0 0 0;
  background-color: #404040;
}

.promise .band {
  background: #d8c256;
  background: linear-gradient(90deg, #d8c256 0%, #d2991d 18%, #ffeba2 24%, #ffeba2 77%, #d2991d 84%, #fcbd3c 100%);
}

.promise .main_title {
  text-align: center;
  font-family: 'Noto Serif JP', serif;
  font-weight: 800;
  color: #404040;
  font-size: 3em;
}

.promise .wrapper {
  text-align: center;
  padding: 3em 0;
}

.promise .wrapper .promise_elements {
  display: inline-block;
}

.promise .wrapper .promise_element {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
}

.promise .wrapper .promise_element p {
  font-family: 'Noto Serif JP', serif;
  color: white;
  font-size: 1.3em;
  font-weight: 800;
  line-height: 3em;
}

.flow {
  padding: 5em 0;
  background-size: 100%;
  background-color: rgba(235, 244, 254, 0.795);
}

.flow .wrapper {
  text-align: center;
  background-color: white;
  height: 100%;
  width: 80%;
  margin: 0 auto;
  padding: 3em 0 5em;
  border-radius: 3em;
}

.flow .wrapper .main_title {
  margin-bottom: 1em;
}

.flow .wrapper .steps {
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  align-self: center;
}

.flow .wrapper .steps .step {
  background-color: #EBF4FE;
  width: 11em;
  min-height: 100%;
  border-radius: 1em;
  padding: 0 1em 1em 1em;
  text-align: center;
  border: solid 0.12em #345EC4;
  box-shadow: 0.2em 0.2em 1em #00877544;
}

.flow .wrapper .steps .step .sp_step_img {
  display: none;
}

.flow .wrapper .steps .step .step_number {
  font-family: 'Roboto', sans-serif;
  font-size: 4em;
  font-weight: bold;
  color: #8badff;
}

.flow .wrapper .steps .step .step_title .sp_step_number,
.flow .wrapper .steps .step .step_title .step_title_name {
  font-size: 1.4em;
  color: #345EC4;
}

.flow .wrapper .steps .step .step_title .sp_step_number {
  display: none;
}

.flow .wrapper .steps .step .step_img {
  height: 4em;
  margin: 1em 0;
}

.flow .wrapper .steps .step .step_sentence {
  text-align: left;
  font-size: 1em;
  font-weight: 500;
  color: #2c2c2c;
}

.flow .wrapper .steps .next_pc {
  width: 1.5em;
  margin: 1em;
  align-self: center;
}

.flow .wrapper .steps .next_sp {
  display: none;
}

#suggestion {
  background-color: #9FACB9;
}

#suggestion .wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
}

#suggestion .wrapper .sentence {
  text-align: center;
  color: white;
}

#suggestion .wrapper .sentence h1 {
  font-size: 2.5em;
  text-shadow: 0 0 0.2em #82FFEE;
  margin: 0.3em 0;
}

#suggestion .wrapper .sentence h3 {
  font-size: 1.5em;
}

#suggestion .wrapper .sentence .underline {
  display: inline;
  background: linear-gradient(transparent 90%, #FCF204 0%);
  padding-bottom: 0.2em;
}

#suggestion .wrapper .suggestion_img img {
  width: 18em;
  margin-left: 2em;
  vertical-align: middle;
  padding-top: 2em;
}

/* ===== メディアクエリ（大きい順） ===== */

/* タブレット（1280px以下） */
@media screen and (max-width: 1280px) {
    /* komikomi */
    .komikomi {
        margin: 1.5em 0;
    }
    
    .komikomi div {
        width: 50em;
    }
    
    .komikomi div .komikomiText p {
        font-size: 2.5em;
    }
    
    .komikomi .contents .contentsItem {
        border-radius: 0.9em;
    }
    
    .komikomi .contents .contentsItem img {
        height: 8em;
    }
    
    .komikomi .contents .contentsItem h3 {
        font-size: 2em;
    }
    
    .komikomi .contents .plus {
        width: 3em;
    }
    
    /* construction_cost */
    .construction_cost {
        font-size: 1.3em;
    }
    
    .construction_cost .wrapper {
        width: 100%;
        margin: 1em 0 0;
    }
    
    .construction_cost .wrapper .main {
        max-width: 42em;
    }
    
    .construction_cost .wrapper .main .main_title {
        font-size: 4.2em;
    }
    
    .construction_cost .wrapper .main .main_cost .main_cost_construction {
        font-size: 2em;
        border: 0.15rem solid #345EC4;
    }
    
    .construction_cost .wrapper .main .main_cost .main_cost_construction p {
        text-align: center;
        margin-top: 2.1em;
        font-size: 18px;
    }
    
    .construction_cost .wrapper .main .main_cost .main_cost_price {
        font-size: 8em;
    }
    
    .construction_cost .wrapper .main .main_cost .main_cost_taxincluded {
        font-size: 2em;
    }
    
    .construction_cost .wrapper .main .main_quote {
        border-radius: 2em;
    }
    
    .construction_cost .wrapper .main .main_quote div h3 {
        font-size: 2.3em;
    }
    
    .construction_cost .wrapper .main .main_quote div p {
        font-size: 18px;
    }
    
    .construction_cost .wrapper .anri_guts img {
        width: 18em;
    }

    .nationwide_deployment {
    padding: 3em 0;
    }

    .nationwide_deployment .wrapper {
        width: 100%;
    }

    .nationwide_deployment .wrapper .main {
        text-align: center;
        margin-bottom: 3em;
    }

    .nationwide_deployment .wrapper .main .logo {
        width: 17em;
        margin-bottom: 1em;
    }

    .nationwide_deployment .wrapper .main div h2 {
        font-size: 4.5em;
    }

    .nationwide_deployment .wrapper .main div .decoration_line {
        width: 4em;
    }

    .nationwide_deployment .wrapper .main div .decoration_line_l {
        transform: scale(-1, 1);
    }

    .nationwide_deployment .wrapper .main h3 {
        font-size: 2.2em;
    }

    .nationwide_deployment .wrapper .nationwide {
        width: 35em;
    }

    .main_inquiry {
        padding: 2em 1em; /* 上下のpaddingを増やす */
    }

    .main_inquiry .wrapper {
        max-width: 100%;
        gap: 2em; /* 要素間の間隔 */
    }

    .main_inquiry .wrapper .borujuku_guts {
        margin-right: 0; /* 2em → 0 に変更（gapで調整） */
        padding: 0; /* padding削除 */
    }

    .main_inquiry .wrapper .borujuku_guts img {
        width: 25em; /* 30em → 25em に縮小 */
        max-width: 100%;
    }

    .main_inquiry .wrapper .information {
        width: 40em;
        max-width: 100%;
    }

    .main_inquiry .wrapper .information .title .cheapest_price_title {
        font-size: 4.2em;
        letter-spacing: 0.1em;
    }

    .main_inquiry .wrapper .information .title .additional_fee {
        padding: 0.5em 0.6em;
        border-radius: 1.5em;
    }

    .main_inquiry .wrapper .information .title .additional_fee p {
        font-size: 1.5em;
        font-weight: bold;
    }

    .main_inquiry .wrapper .information .title .additional_fee h2 {
        font-size: 4em;
    }

    .main_inquiry .wrapper .information .title h3 {
        font-size: 2.75em;
        letter-spacing: 0.1em;
    }

    .main_inquiry .wrapper .information .ok {
        font-size: 1.5em;
        margin: 1em 0;
    }

    .main_inquiry .wrapper .information .tel {
        margin: 1em 0;
        border-radius: 100em;
        box-shadow: 0 0.25em 0.2em rgba(255, 81, 0, 0.5215686275);
    }

    .main_inquiry .wrapper .information .tel h4 {
        font-size: 3.5em;
    }

    .main_inquiry .wrapper .information .tel .freeDial {
        height: 3em;
        margin-right: 0.5em;
    }
    
    .main_inquiry .wrapper .information .tel:hover {
        transform: scale(0.98);
        box-shadow: 0 0.05rem 0.1rem rgba(255, 81, 0, 0.5215686275);
    }

    .main_inquiry .wrapper .information .mailLine {
        min-height: 2rem;
    }

    .main_inquiry .wrapper .information .mailLine .estimate_word {
        color: white;
    }

    .main_inquiry .wrapper .information .mailLine .estimate_word .mailLine_main_word {
        font-size: 2.3em;
    }

    .main_inquiry .wrapper .information .mailLine .estimate_word .mailLine_sub_word {
        font-size: 1.8em;
    }

    .main_inquiry .wrapper .information .mailLine .icon {
        width: 2.5em;
        margin-right: 0.5em;
    }

    .main_inquiry .wrapper .information .mailLine .mail,
    .main_inquiry .wrapper .information .mailLine .line {
        padding: 0.5em;
        border-radius: 100em;
        width: 100em;
        box-shadow: 0 0.25em 0.2em rgba(0, 0, 0, 0.1882352941);
        height: 100%;
        transition: 0.2s;
    }

    .main_inquiry .wrapper .information .mailLine .mail:hover,
    .main_inquiry .wrapper .information .mailLine .line:hover {
        transform: scale(0.98);
        box-shadow: 0 0.05rem 0.1rem rgba(0, 0, 0, 0.5);
    }

    .cheap_reason {
        padding: 8em 0;
    }
    .cheap_reason .wrapper .information {
        margin-bottom: 4em;
    }
    .cheap_reason .wrapper .information .haruka_surprised img {
        width: 25em;
        margin-right: 1em;
    }
    .cheap_reason .wrapper .information .words {
        letter-spacing: 0.1em;
    }
    .cheap_reason .wrapper .information .words h3 {
        font-size: 3.5em;
    }
    .cheap_reason .wrapper .information .words h1 {
        font-size: 8em;
        text-shadow: 0 0 0.3em #82FFEE;
        letter-spacing: 0.1em;
    }
    .cheap_reason .wrapper .information .words p {
        font-size: 2.2em;
    }
    .cheap_reason .wrapper .information .words .underline span {
        font-size: 1.7em;
    }
    .cheap_reason .wrapper .comparison {
        justify-content: center;
        width: 100%;
        row-gap: 5em;
        font-size: 2em;
    }
    .cheap_reason .wrapper .comparison .cheap_reason_another,
    .cheap_reason .wrapper .comparison .cheap_reason_syouzikiya {
        margin: 0 2.5em;
    }
    .cheap_reason .wrapper .comparison .cheap_reason_another .via span .maker_icon,
    .cheap_reason .wrapper .comparison .cheap_reason_syouzikiya .via span .maker_icon {
        width: 4em;
    }
    .cheap_reason .wrapper .comparison .cheap_reason_another .via span .house_icon,
    .cheap_reason .wrapper .comparison .cheap_reason_syouzikiya .via span .house_icon {
        width: 5em;
    }

    .moreover {
        padding: 2em 0 3em 0;
        font-size: 2.5em;
    }

    .moreover h1 {
        z-index: 99;
    }

    .moreover .dot-text {
        padding-top: 0.1em;
        background-position: top left -5px;
        background-size: 1em 0.3em;
    }

    .moreover .underline {
        border-bottom: 0.3em solid #FCF204;
    }

    .moreover .triangle {
        z-index: -10;
        bottom: -2em;
        left: 50%;
        width: 0;
        height: 0;
        border-width: 5rem 10rem 0 10rem;
    }

    .safe_trust {
        padding: 6rem 0 5rem 0;
    }
    .safe_trust .wrapper .main_title {
        font-size: 4.5em;
        margin: 0 auto 2em;
    }
    .safe_trust .wrapper .sections {
        margin: 0 auto;
    }
    .safe_trust .wrapper .sections .section:not(.last) {
        margin: 0px 50px 10em 50px;
    }
    .safe_trust .wrapper .sections .section .section_img {
        width: 32em;
    }
    .safe_trust .wrapper .sections .section .section_information {
        width: 50em;
        padding: 2em;
        border-radius: 1.5em;
    }
    .safe_trust .wrapper .sections .section .section_information .section_number {
        font-size: 8em;
        color: #8badff;
    }
    .safe_trust .wrapper .sections .section .section_information .section_title {
        margin-bottom: 0.3em;
        font-size: 3em;
    }
    .safe_trust .wrapper .sections .section .section_information .section_title .underline span {
        font-size: 1.5em;
    }
    .safe_trust .wrapper .sections .section .section_information .section_sentence {
        font-size: 16px;
    }
    .safe_trust .wrapper .sections .section .section_information .supplement {
        font-size: 14px;
    }
    .safe_trust .wrapper .sections .section .section_information .supplement:not(.last) {
        margin-bottom: 1.5em;
    }
    .promise {
        padding: 3em 0 0 0;
    }
    .promise .wrapper .promise_element p {
        font-size: 2.5em;
    }
    .flow {
        padding: 5em 0;
        font-size: 1.5em;
    }
    .flow .wrapper {
        width: calc(100% - 4em);
        padding: 5em 0 8em 0;
        max-width: 800px;
    }
    .flow .wrapper .main_title {
        margin-bottom: 1em;
        font-size: 4em;
    }
    .flow .wrapper .steps {
        display: block;
    }
    .flow .wrapper .steps .step {
        display: flex;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: center;
        margin: 0 auto;
        width: 80%;
        min-height: 10em;
        border-radius: 1.5em;
        padding: 2em;
        text-align: center;
        box-shadow: 0.3em 0.3em 1em rgba(0, 135, 117, 0.2666666667);
    }
    .flow .wrapper .steps .step .sp_step_img {
        display: block;
        width: 6em;
        margin: 0 3em 0 1em;
    }
    .flow .wrapper .steps .step .step_number {
        display: none;
    }
    .flow .wrapper .steps .step .step_title {
        display: flex;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: flex-start;
        margin-bottom: 1em;
    }
    .flow .wrapper .steps .step .step_title .sp_step_number,
    .flow .wrapper .steps .step .step_title .step_title_name {
        font-size: 2em;
        font-weight: bold;
        color: #345EC4;
        text-align: left;
    }
    .flow .wrapper .steps .step .step_title .sp_step_number {
        display: block;
    }
    .flow .wrapper .steps .step .step_img {
        display: none;
    }
    .flow .wrapper .steps .step .step_sentence {
        text-align: left;
        font-size: 16px;
        font-weight: 500;
        color: #2c2c2c;
    }
    .flow .wrapper .steps .next_pc {
        display: none;
    }
    .flow .wrapper .steps .next_sp {
        display: block;
        width: 2.5em;
        margin: 1.5em auto;
    }
    #suggestion .wrapper {
        font-size: 1.3em;
    }
    #suggestion .wrapper .sentence h1 {
        font-size: 2.5em;
    }
    #suggestion .wrapper .sentence h3 {
        font-size: 1.7em;
    }
    #suggestion .wrapper .suggestion_img {
        width: 25em;
    }

}

/* スマホ・タブレット共通（768px以下） */
@media screen and (max-width: 768px) {
    body.ih .sitewrap,
    body.ih main,
    body.ih .article_body,
    body.ih section {
        max-width: 100% !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
}

/* スマホ（600px以下） */
@media screen and (max-width: 600px) {

    #merchandise .sub_title h1 {
        color: white;
        font-size: 2em;
        text-align: center;
    }

    #merchandise .sub_title h1 span {
        font-family: "メイリオ", "Meiryo", "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
        font-style: italic;
        font-size: 2.5em;
        text-shadow: 0 0 0.4em #82FFEE;
        background: linear-gradient(transparent 92%, #FCF204 0%);
    }

    /* komikomi */
    .komikomi {
        margin: 0;
        padding: 0 10px;
        box-sizing: border-box;
    }
    
    .komikomi div {
        width: calc(100% - 20px);
        max-width: 100%;
        box-sizing: border-box;
    }
    
    .komikomi div .komikomiText {
        margin-top: 10px;
        width: 100%;
        box-sizing: border-box;
    }
    
    .komikomi div .komikomiText p {
        font-size: 6vw;
        padding: 0.2em 0.2em;
        word-break: keep-all;
    }
    
    .komikomi .contents {
        flex-wrap: nowrap;
        width: 95%;
        max-width: 100%;
        box-sizing: border-box;
        gap: 0.5em;
    }
    
    .komikomi .contents .contentsItem {
        width: calc(30% - 0.5em);
        min-width: 0;
        border-radius: 0.5em;
        border: solid 0.2rem #345EC4;
        padding: 1em 0.5em;
        box-sizing: border-box;
    }
    
    .komikomi .contents .contentsItem img {
        height: 12vw;
        max-height: 60px;
        width: auto;
    }
    
    .komikomi .contents .contentsItem h3 {
        font-size: 4.5vw;
        word-break: keep-all;
        text-align: center;
        font-weight: bold;
    }
    
    .komikomi .contents .plus {
        width: 3em;
        flex-shrink: 0;
    }
    
    .komikomi .contents .plus img {
        width: 100%;
        height: auto;
    }
    
    /* construction_cost */
    .construction_cost {
        font-size: 2em;
        overflow-x: hidden;
    }
    
    .construction_cost .wrapper {
        padding: 0 10px;
        flex-wrap: wrap;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
    
    .construction_cost .wrapper .main_quote {
        padding: 2em 1em;
        border-radius: 0.5em;
        max-width: none;
        width: calc(100% - 20px);
        margin: 0 auto 2em;
        box-sizing: border-box;
        position: relative; /* 追加 */
    }
    
    .construction_cost .wrapper .main_quote .main_quote_triangle {
        position: absolute;
        top: 100%; /* 98%から100%に変更 */
        right: 15%; /* 20%から15%に変更 */
        width: 0;
        height: 0;
        border-style: solid;
        border-right: 3em solid transparent; /* 6emから3emに縮小 */
        border-left: 0 solid transparent;
        border-top: 4em solid #EBF4FE; /* 8emから4emに縮小 */
        border-bottom: 0;
        /* z-index: -1; */
    }
    
    .construction_cost .wrapper .main_quote div h3 {
        font-size: 9vw;
        margin-bottom: 0.3em;
        font-weight: bold;
    }
    
    .construction_cost .wrapper .main_quote div p {
        font-size: 16px;
        line-height: 1.6;
    }
    
    .construction_cost .wrapper .anri_guts {
        height: auto;
        width: 60%;
        max-width: 300px;
        margin: 0 auto;
        margin-top: -3em;
    }
    
    .construction_cost .wrapper .anri_guts img {
        /* padding-top: 1em; */
        height: 100%;
        width: 100%;
        object-fit: cover;
        object-position: 0% 0%;
    }

    .nationwide_deployment {
        padding: 4em 0;
        overflow-x: hidden;
        box-sizing: border-box;
    }

    .nationwide_deployment .wrapper {
        width: calc(100% - 20px); /* 両端に10pxずつ余白 */
        max-width: 100%;
        flex-wrap: wrap;
        margin: 0 auto;
        padding: 0;
        box-sizing: border-box;
    }

    .nationwide_deployment .wrapper .main {
        width: 100%;
        text-align: center;
        margin-bottom: 2em;
        padding: 0 10px;
        box-sizing: border-box;
    }

    .nationwide_deployment .wrapper .main .logo {
        width: clamp(150px, 50%, 200px); /* 最小150px、最大200px */
        height: auto;
        margin: 0 auto 1em;
        display: block;
    }

    .nationwide_deployment .wrapper .main div {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        gap: 0.5em; /* 要素間の間隔 */
    }

    .nationwide_deployment .wrapper .main div h2 {
        font-size: clamp(1.5rem, 13vw, 6rem); /* レスポンシブサイズ */
        white-space: nowrap;
        margin: 0;
        font-weight: 900;
    }

    .nationwide_deployment .wrapper .main div .decoration_line {
        width: clamp(30px, 7vw, 60px); /* レスポンシブサイズ */
        height: auto;
        flex-shrink: 0;
    }

    .nationwide_deployment .wrapper .main h3 {
        font-size: clamp(1rem, 6.5vw, 2.5rem); /* レスポンシブサイズ */
        margin: 0.5em 0;
        font-weight: 700;
    }

    .nationwide_deployment .wrapper .nationwide {
        width: 100%;
        max-width: 100%;
        height: auto;
        display: block;
    }


    .main_inquiry {
        padding: 2em 0.5em 0;
        overflow-x: hidden;
    }

    .main_inquiry .wrapper {
        flex-wrap: wrap; /* nowrap → wrap に変更（縦並び） */
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        padding: 0 10px;
        box-sizing: border-box;
        gap: 0.5em;
        align-items: center; /* flex-end → center */
    }

    .main_inquiry .wrapper .borujuku_guts {
        width: 100%; /* auto → 100% */
        margin: 0 auto;
        padding: 0;
        flex-shrink: 0;
        order: 2; /* 画像を下に（情報の後） */
    }

    .main_inquiry .wrapper .borujuku_guts img {
        width: 100%; /* 35vw → 100% */
        max-width: 450px; /* 180px → 450px */
        height: auto;
        display: block;
        margin: 0 auto; /* 中央寄せ */
    }

    .main_inquiry .wrapper .information {
        width: 100%; /* auto → 100% */
        flex: none; /* flex: 1 を削除 */
        max-width: 100%;
        padding: 0;
        box-sizing: border-box;
        white-space: normal;
        order: 1; /* 情報を上に（画像の前） */
    }

    .main_inquiry .wrapper .information .title {
        flex-wrap: wrap;
        gap: 0.5em;
        justify-content: space-between;
        margin-bottom: 0.5em;
        align-items: flex-start;
    }

    .main_inquiry .wrapper .information .title .cheapest_price {
        width: auto;
        text-align: left;
        flex: 1;
    }

    .main_inquiry .wrapper .information .title .cheapest_price_title {
        font-size: 10vw;
        letter-spacing: 0.02em;
        margin-bottom: 0.1em;
        line-height: 1.2;
    }

    .main_inquiry .wrapper .information .title h3 {
        font-size: 6vw;
        letter-spacing: 0.02em;
        line-height: 1.2;
    }

    .main_inquiry .wrapper .information .title .additional_fee {
        padding: 0.4em 0.8em; /* 0.3em 0.6em → 0.4em 0.8em */
        border-radius: 0.8em;
        flex-shrink: 0;
        height: 75px;
    }

    .main_inquiry .wrapper .information .title .additional_fee p {
        font-size: 3.4vw; /* 2.5vw → 3vw */
        margin-bottom: 0.1em;
        line-height: 1;
    }

    .main_inquiry .wrapper .information .title .additional_fee h2 {
        font-size: 11.5vw;
        line-height: 1;
    }

    .main_inquiry .wrapper .information .ok {
        font-size: 4vw; /* 3vw → 3.5vw */
        margin: 0.5em 0;
        white-space: normal;
        line-height: 1.3;
    }

    .main_inquiry .wrapper .information .tel {
        flex-wrap: nowrap;
        justify-content: center;
        padding: 0.5em 1em; /* 0.4em 0.6em → 0.5em 1em */
        margin: 0.5em 0;
    }

    .main_inquiry .wrapper .information .tel h4 {
        font-size: 8.5vw; /* 5.5vw → 6.5vw */
        line-height: 1;
    }

    .main_inquiry .wrapper .information .tel .freeDial {
        height: 3em; /* 1.6em → 2em */
        margin-right: 0.5em;
        flex-shrink: 0;
    }

    .main_inquiry .wrapper .information .mailLine {
        flex-direction: row;
        gap: 0.5em;
        align-items: stretch;
    }

    .main_inquiry .wrapper .information .mailLine .estimate_word {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .main_inquiry .wrapper .information .mailLine .estimate_word .mailLine_main_word {
        font-size: 5vw; /* 3.5vw → 4vw */
        line-height: 1.1;
        font-weight: bold;
    }

    .main_inquiry .wrapper .information .mailLine .estimate_word .mailLine_sub_word {
        font-size: 4vw; /* 2.5vw → 3vw */
        line-height: 1.1;
    }

    .main_inquiry .wrapper .information .mailLine .icon {
        width: 2.8em; /* 1.5em → 1.8em */
        height: auto;
        margin-right: 0.3em;
        flex-shrink: 0;
    }

    .main_inquiry .wrapper .information .mailLine .mail,
    .main_inquiry .wrapper .information .mailLine .line {
        width: 50%;
        max-width: 50%;
        padding: 0.5em 0.3em; /* 0.4em 0.2em → 0.5em 0.3em */
        border-radius: 100em;
        box-sizing: border-box;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .main_inquiry .wrapper .information .mailLine .mail {
        margin-right: 0;
    }

    .cheap_reason {
        background-color: #B5C1CC !important;
        padding: 2em 0 !important;
        overflow-x: hidden !important;
    }

    .cheap_reason .wrapper {
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 0 10px !important;
        box-sizing: border-box !important;
    }

    .cheap_reason .wrapper .information {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 1em !important;
        margin-bottom: 2em !important;
    }

    /* 画像を下に配置 */
    .cheap_reason .wrapper .information .haruka_surprised {
        width: 100% !important;
        max-width: 300px !important;
        flex-shrink: 0 !important;
        order: 2 !important; /* 追加：画像を下に */
    }

    .cheap_reason .wrapper .information .haruka_surprised img {
        width: 80% !important;
        max-width: 100% !important;
        height: auto !important;
        display: block !important;
        margin: 0 auto !important;
    }

    /* 文字を上に配置 */
    .cheap_reason .wrapper .information .words {
        color: white !important;
        text-align: center !important;
        width: 100% !important;
        padding: 0 10px !important;
        box-sizing: border-box !important;
        order: 1 !important; /* 追加：文字を上に */
    }

    .cheap_reason .wrapper .information .words h3 {
        font-size: 5vw !important;
        margin-bottom: 0.3em !important;
        line-height: 1.3 !important;
        letter-spacing: normal !important;
    }

    .cheap_reason .wrapper .information .words h1 {
        font-size: 18vw !important; /* 10vw → 11vw に拡大 */
        font-weight: 900 !important;
        line-height: 1.2 !important;
        text-shadow: none !important;
        letter-spacing: normal !important;
        text-shadow: 0 0 0.1em #82FFEE !important;
    }

    .cheap_reason .wrapper .information .words p {
        font-size: 4.2vw !important; /* 3.5vw → 3.8vw に拡大 */
        margin-bottom: 0.2em !important;
        line-height: 1.4 !important;
    }

    .cheap_reason .wrapper .information .words p.underline {
        border-bottom: 0.5em solid #FCF204;
        display: inline-block !important;
        font-size: 4.5vw !important; /* 4vw → 4.5vw に拡大 */
    }

    .cheap_reason .wrapper .information .words p.underline span {
        font-weight: bold !important;
        font-size: 2.2em !important;
    }

    .cheap_reason .wrapper .comparison {
        display: flex !important;
        flex-direction: column !important;
        gap: 1em !important;
        width: 100% !important;
        align-items: center !important;
    }

    .cheap_reason .wrapper .comparison .cheap_reason_another,
    .cheap_reason .wrapper .comparison .cheap_reason_syouzikiya {
        width: 80% !important;
        max-width: 500px !important;
        box-sizing: border-box !important;
        margin: 0 auto !important;
    }

    .cheap_reason .wrapper .comparison .cheap_reason_another img,
    .cheap_reason .wrapper .comparison .cheap_reason_syouzikiya img {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        display: block !important;
        margin: 0 auto !important;
    }

    .moreover {
        background-color: #345EC4 !important;
        color: white !important;
        text-align: center !important;
        padding: 2.5em 0.5em !important; /* 左右のpaddingを縮小 */
        position: relative !important;
        overflow: visible !important;
        box-sizing: border-box !important;
        min-height: auto !important;
        font-size: 1.3em;
    }

    .moreover .fade {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        padding: 0 5px !important; /* 10px → 5px に縮小 */
    }

    .moreover h1 {
        font-size: 9vw !important; /* 8.5vw → 9vw に拡大 */
        font-weight: 900 !important;
        margin: 0 !important;
        line-height: 1.2 !important; /* 1.3 → 1.2 に縮小 */
        z-index: 99 !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        white-space: nowrap !important; /* 改行を防ぐ */
        width: 100% !important;
        max-width: 100% !important;
    }

    .moreover h1.sarani {
        font-size: 8vw !important; /* 7.5vw → 8vw に拡大 */
        margin-bottom: 0.2em !important;
        white-space: normal !important; /* さらには改行OK */
    }

    .moreover .underline {
        display: inline-block !important;
        padding-bottom: 0.15em !important;
        font-size: 8vw !important; /* 9vw → 9.5vw に拡大 */
        max-width: 100% !important;
        word-wrap: break-word !important;
        white-space: normal !important; /* 必要に応じて改行 */
    }

    .moreover .dot-text {
        padding-top: 0.05em !important;
        background-position: top left -5px !important;
        background-size: 1em 0.3em !important;
    }

    .moreover .triangle {
        position: absolute !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: 0 !important;
        height: 0 !important;
        border-style: solid !important;
        border-width: 3em 5em 0 5em !important;
        border-color: #345EC4 transparent transparent transparent !important;
        z-index: 1 !important;
    }

    .safe_trust {
        padding: 3em 0 !important;
        overflow-x: hidden !important;
    }

    .safe_trust .wrapper {
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 0 20px !important; /* 10px → 20px に変更（左右の余白を増やす） */
        box-sizing: border-box !important;
    }

    /* PC用タイトルを非表示 */
    .safe_trust .wrapper .main_title {
        display: none !important;
    }

    /* スマホ用タイトルを表示 */
    .safe_trust .wrapper .main_title_sp {
        display: block !important;
        text-align: center !important;
        margin-bottom: 3em !important;
    }

    .safe_trust .wrapper .main_title_sp_syouzikiya,
    .safe_trust .wrapper .main_title_sp_safe_trustfade {
        display: inline-block !important;
        font-weight: 900 !important;
        color: #345EC4 !important;
        line-height: 1.2 !important;
    }

    .safe_trust .wrapper .main_title_sp_syouzikiya {
        font-size: 10vw !important;
        margin-bottom: 0.2em !important;
    }

    .safe_trust .wrapper .main_title_sp_safe_trustfade {
        font-size: 15vw !important;
    }

    .safe_trust .wrapper .main_title_sp_safe_trustfade span {
        font-size: 0.8em !important;
    }

    /* セクション全体 */
    .safe_trust .wrapper .sections {
        display: flex !important;
        flex-direction: column !important;
        gap: 3em !important;
    }

    /* 各セクション - ここが重要！ */
    .safe_trust .wrapper .sections .section {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 1.5em !important;
        padding: 2em 1.5em !important;
        background-color: white !important;
        border-radius: 1.5em !important;
        box-sizing: border-box !important;
        width: 90% !important;
        max-width: 500px !important; /* 追加：最大幅を制限 */
        margin: 0 auto !important; /* 追加：中央寄せ */
        box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
    }

    .safe_trust .wrapper .sections .section:nth-child(even) {
        flex-direction: column !important;
    }

    .safe_trust .wrapper .sections .section:not(.last) {
        margin-bottom: 0 !important;
    }

    /* セクション情報を上に */
    .safe_trust .wrapper .sections .section .section_information {
        flex: none !important;
        width: 100% !important;
        position: relative !important;
        order: 1 !important;
        background: none !important;
        padding: 0 !important;
    }

    .safe_trust .wrapper .sections .section .section_information .section_number {
        position: static !important;
        text-align: center !important;
        display: block !important;
        font-size: 8em !important;
        line-height: 1 !important;
        color: #8badff !important;
    }

    .safe_trust .wrapper .sections .section .section_information .section_title {
        font-size: 9.5vw !important;
        color: #345EC4 !important;
        margin-bottom: 1em !important;
        position: relative !important;
        z-index: 1 !important;
        line-height: 1 !important;
        text-align: center !important;
    }

    .safe_trust .wrapper .sections .section .section_information .section_title .underline {
        background: linear-gradient(transparent 85%, #FCF204 0%) !important;
        display: inline-block !important;
    }

    .safe_trust .wrapper .sections .section .section_information .section_title .underline span {
        font-size: 1.5em !important;
    }

    .safe_trust .wrapper .sections .section .section_information .section_sentence {
        font-size: 5vw !important;
        line-height: 1 !important;
        color: #2c2c2c !important;
        margin-bottom: 0.8em !important;
        text-align: left !important;
    }

    .safe_trust .wrapper .sections .section .section_information .supplement {
        font-size: 3vw !important;
        color: #666 !important;
        line-height: 1.6 !important;
        margin-bottom: 0.8em !important;
        text-align: left !important;
    }

    .safe_trust .wrapper .sections .section .section_information .supplement.last {
        margin-bottom: 0 !important;
    }

    /* セクション画像を下に */
    .safe_trust .wrapper .sections .section .section_img {
        width: 80% !important;
        max-width: 300px !important;
        height: auto !important;
        object-fit: contain !important;
        order: 2 !important;
    }

    /* br_sp を表示 */
    .safe_trust .wrapper .sections .section .br_sp {
        display: block !important;
    }

    .promise {
        padding: 3em 0 0 0 !important;
        overflow-x: hidden !important;
    }

    .promise .band {
        background: linear-gradient(90deg, #d8c256 0%, #d2991d 10%, #ffeba2 17%, #ffeba2 83%, #d2991d 90%, #fcbd3c 100%) !important;
        margin-bottom: 0 !important; /* 追加：margin削除 */
    }

    .promise .band .main_title {
        font-size: 9vw !important;
        font-weight: 900 !important;
        color: #2c2c2c !important; /* white → #2c2c2c */
        text-align: center !important;
        margin: 0 !important;
        text-shadow: none !important; /* 影を削除 */
        line-height: 1.3 !important;
    }

    .promise .wrapper {
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 2em 1em !important; /* 変更 */
        box-sizing: border-box !important;
        background-color: #3d3d3d !important; /* 追加：濃いグレー背景 */
    }

    .promise .wrapper .promise_elements {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important; /* 1.5em → 0 */
    }

    .promise .wrapper .promise_element {
       display: flex !important; /* ここがポイント */
        flex-wrap: nowrap !important; /* 折り返さない */
        align-items: flex-start !important;
        justify-content: center !important; /* 中央揃え */
        padding: 0.8em 1em !important;
        background-color: transparent !important; /* white → transparent */
        border-radius: 0 !important; /* 角丸を削除 */
        box-shadow: none !important; /* 影を削除 */
        box-sizing: border-box !important;
        width: 100% !important;
        gap: 0 !important; /* pタグ間の余白なし */
    }

    .promise .wrapper .promise_element.last {
        border-bottom: none !important; /* 最後の要素は線なし */
    }

    .promise .wrapper .promise_element p {
        font-size: 5vw !important;
        line-height: 1.7 !important;
        color: white !important; /* #2c2c2c → white */
        margin: 0 !important;
        flex-shrink: 1 !important; /* テキストを縮小可能に */
        text-align: left !important
    }

    .promise .wrapper .promise_element:not(.last) {
        margin-bottom: 0 !important;
    }

    .flow {
        padding: 3em 0 !important;
        overflow-x: hidden !important;
    }

    .flow .wrapper {
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 2em 1em 3em 1em !important;
        background-color: white !important;
        border-radius: 1em !important;
        box-sizing: border-box !important;
    }

    .flow .wrapper .main_title {
        font-size: 12vw !important;
        font-weight: 900 !important;
        color: #345EC4 !important;
        text-align: center !important;
        margin-bottom: 2em !important;
        line-height: 1.2 !important;
    }

    /* ステップを縦並びに */
    .flow .wrapper .steps {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0 !important;
        width: 100% !important;
    }

    /* 各ステップカード */
    .flow .wrapper .steps .step {
        display: flex !important;
        flex-direction: row !important; /* column → row */
        align-items: center !important;
        background-color: #EBF4FE !important;
        border: 2px solid #345EC4 !important;
        border-radius: 1.5em !important;
        padding: 1.5em 1em !important;
        min-height: auto !important;
        flex: none !important;
        max-width: 100% !important;
        width: 100% !important;
        box-sizing: border-box !important;
        gap: 1em !important;
    }

    /* スマホ用画像を表示 */
    .flow .wrapper .steps .step .sp_step_img {
        display: block !important;
        width: 60px !important;
        height: 60px !important;
        flex-shrink: 0 !important;
        margin: 0;
    }

    /* PC用の大きな番号を非表示 */
    .flow .wrapper .steps .step .step_number {
        display: none !important;
    }

    /* 右側のコンテンツエリア */
    .flow .wrapper .steps .step .sp_flex {
        flex: 1 !important;
        display: flex !important;
        flex-direction: column !important;
    }

    /* タイトル部分 */
    .flow .wrapper .steps .step .step_title {
        display: flex !important;
        align-items: center !important;
        gap: 0.3em !important;
        margin-bottom: 0.5em !important;
    }

    .flow .wrapper .steps .step .step_title .sp_step_number {
        display: inline-block !important;
        font-size: 5vw !important;
        font-weight: 900 !important;
        color: #345EC4 !important;
    }

    .flow .wrapper .steps .step .step_title .step_title_name {
        font-size: 5vw !important;
        font-weight: 900 !important;
        color: #345EC4 !important;
        margin: 0 !important;
    }

    /* PC用画像を非表示 */
    .flow .wrapper .steps .step .step_img {
        display: none !important;
    }

    /* 説明文 */
    .flow .wrapper .steps .step .step_sentence {
        font-size: 4.5vw !important;
        line-height: 1.1 !important;
        color: #2c2c2c !important;
        text-align: left !important;
        margin: 0 !important;
    }

    /* PC用の横矢印を非表示 */
    .flow .wrapper .steps .next_pc {
        display: none !important;
    }

    /* スマホ用の縦矢印を表示 */
    .flow .wrapper .steps .next_sp {
        display: block !important;
        width: 40px !important;
        height: auto !important;
        margin: 1em auto !important;
        flex-shrink: 0 !important;
    }

    #suggestion {
        padding: 3em 0 0 !important;
        position: relative !important;
        overflow: hidden !important;
    }

    #suggestion .wrapper {
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 0 10px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0 !important;
        box-sizing: border-box !important;
    }

    #suggestion .wrapper .sentence {
        flex: none !important;
        text-align: center !important;
        width: 100% !important;
        order: 1 !important;
        padding: 0 10px !important;
    }

    #suggestion .wrapper .sentence h3 {
        font-size: 6.5vw !important; /* 5vw → 5.5vw */
        font-weight: 700 !important;
        color: white !important;
        line-height: 1.6 !important;
        margin-bottom: 0.5em !important;
        text-shadow: 1px 1px 2px rgba(0,0,0,0.1) !important;
    }

    #suggestion .wrapper .sentence h1 {
        font-size: 10vw !important;
        color: white !important;
        margin: 0.5em 0 !important;
        line-height: 1.2 !important;
    }

    #suggestion .wrapper .sentence .underline {
        display: inline-block !important;
        padding-bottom: 0.2em !important;
        color: white !important;
        font-weight: 700 !important;
    }

    #suggestion .wrapper .suggestion_img {
        flex: none !important;
        text-align: center !important;
        width: 75% !important;
        order: 2 !important;
        margin-bottom: 0 !important;
    }

    #suggestion .wrapper .suggestion_img img {
        width: 100% !important;
        max-width: 400px !important; /* 450px → 400px */
        height: auto !important;
        display: block !important;
        margin: 0 auto !important;
    }

}


@media screen and (max-width: 420px) {
    .ih .common_visual .position {
        background-image: url(../img/ih/top_sp.webp);
        padding-top: 35%;
        height: 400px;
    }

    .rangefood .common_visual .position {
        background-image: url(../img/rangefood/top_sp.webp);
        padding-top: 35%;
        height: 400px;

    }

    .dishwasher .common_visual .position {
        background-image: url(../img/dishwasher/top_sp.webp);
        padding-top: 35%;
        height: 400px;

    }

    .main_inquiry .wrapper .information .title .additional_fee h2 {
        font-size: 11.5vw;
        line-height: 1.5;
    }

    .main_inquiry .wrapper .information .title .cheapest_price_title {
        font-size: 9vw;
        letter-spacing: 0.02em;
        margin-bottom: 0.1em;
        line-height: 1.2;
    }

    .flow .wrapper .steps .step .step_title .step_title_name {
        font-size: 4.2vw !important;
        font-weight: 900 !important;
        color: #345EC4 !important;
        margin: 0 !important;
    }

    .flow .wrapper .steps .step .step_sentence {
        font-size: 4vw !important;
        line-height: 1.1 !important;
        color: #2c2c2c !important;
        text-align: left !important;
        margin: 0 !important;
    }

}
/* 超小型スマホ（375px以下） */
/* @media screen and (max-width: 375px) {
    .komikomi div .komikomiText p {
        font-size: 4.5vw;
        padding: 0.4em 0.3em;
    }
    
    .komikomi .contents .contentsItem {
        padding: 0.8em 0.3em;
    }
    
    .komikomi .contents .contentsItem img {
        height: 10vw;
    }
    
    .komikomi .contents .plus {
        width: 2.5em;
    }
    
    .construction_cost .wrapper .main_quote div h3 {
        font-size: 9vw;
    }

    .nationwide_deployment {
        padding: 3em 0;
    }
    
    .nationwide_deployment .wrapper .main .logo {
        width: 55%;
        max-width: 180px;
    }
    
    .nationwide_deployment .wrapper .main div h2 {
        font-size: 13.5vw;
    }
    
    .nationwide_deployment .wrapper .main div .decoration_line {
        width: 6vw;
    }
    
    .nationwide_deployment .wrapper .main h3 {
        font-size: 6vw;
    }

    .main_inquiry .wrapper .borujuku_guts img {
        width: 100%;
        max-width: 350px;
    }

    .main_inquiry .wrapper .information .title .cheapest_price_title {
        font-size: 6.5vw;
    }

    .main_inquiry .wrapper .information .title h3 {
        font-size: 3.8vw;
    }

    .main_inquiry .wrapper .information .title .additional_fee p {
        font-size: 2.8vw;
    }

    .main_inquiry .wrapper .information .title .additional_fee h2 {
        font-size: 5vw;
    }

    .main_inquiry .wrapper .information .ok {
        font-size: 3.2vw;
    }

    .main_inquiry .wrapper .information .tel h4 {
        font-size: 6vw;
    }

    .main_inquiry .wrapper .information .tel .freeDial {
        height: 1.8em;
    }

    .main_inquiry .wrapper .information .mailLine .estimate_word .mailLine_main_word {
        font-size: 3.8vw;
    }

    .main_inquiry .wrapper .information .mailLine .estimate_word .mailLine_sub_word {
        font-size: 2.8vw;
    }

    .main_inquiry .wrapper .information .mailLine .icon {
        width: 1.6em;
    }

    .cheap_reason .wrapper .information .haruka_surprised {
        max-width: 250px !important;
    }

    .cheap_reason .wrapper .information .words h3 {
        font-size: 4.8vw !important;
    }

    .cheap_reason .wrapper .information .words h1 {
        font-size: 10vw !important;
    }

    .cheap_reason .wrapper .information .words p {
        font-size: 3.5vw !important;
    }

    .cheap_reason .wrapper .information .words p.underline {
        font-size: 4.2vw !important;
    }

    .cheap_reason .wrapper .comparison .cheap_reason_another,
    .cheap_reason .wrapper .comparison .cheap_reason_syouzikiya {
        max-width: 100% !important;
    }

    .moreover {
        padding: 1.8em 0.5em 2.8em 0.5em !important;
    }

    .moreover h1 {
        font-size: 7.5vw !important;
        line-height: 1.15 !important;
    }

    .moreover h1.sarani {
        font-size: 6.5vw !important;
        margin-bottom: 0.15em !important;
    }

    .moreover .underline {
        font-size: 8vw !important;
        padding-bottom: 0.1em !important;
    }

    .moreover .triangle {
        bottom: -1.8em !important;
        border-width: 2.2em 4em 0 4em !important;
    }

    .safe_trust {
        padding: 2.5em 0 !important;
    }

    .safe_trust .wrapper {
        padding: 0 15px !important;
    }

    .safe_trust .wrapper .main_title_sp_syouzikiya {
        font-size: 9vw !important;
    }

    .safe_trust .wrapper .main_title_sp_safe_trustfade {
        font-size: 11vw !important;
    }

    .safe_trust .wrapper .sections {
        gap: 2.5em !important;
    }

    .safe_trust .wrapper .sections .section {
        padding: 1.5em 1.2em !important;
        max-width: 100% !important;
    }

    .safe_trust .wrapper .sections .section .section_img {
        width: 75% !important;
        max-width: 280px !important;
    }

    .safe_trust .wrapper .sections .section .section_information .section_number {
        font-size: 7em !important;
    }

    .safe_trust .wrapper .sections .section .section_information .section_title {
        font-size: 6vw !important;
    }

    .safe_trust .wrapper .sections .section .section_information .section_sentence {
        font-size: 3.3vw !important;
    }

    .safe_trust .wrapper .sections .section .section_information .supplement {
        font-size: 2.8vw !important;
    }

    .promise .band {
        padding: 1.3em 0.5em !important;
    }

    .promise .band .main_title {
        font-size: 7.5vw !important;
    }

    .promise .wrapper {
        padding: 1.8em 0.8em !important;
    }

    .promise .wrapper .promise_element {
        padding: 1.5em 0.8em !important;
    }

    .promise .wrapper .promise_element p {
        font-size: 3.8vw !important;
        line-height: 1.65 !important;
    }

    .flow {
        padding: 2.5em 0 !important;
    }

    .flow .wrapper {
        padding: 1.8em 0.8em 2.5em 0.8em !important;
    }

    .flow .wrapper .main_title {
        font-size: 9vw !important;
        margin-bottom: 1.8em !important;
    }

    .flow .wrapper .steps .step {
        padding: 1.3em 0.8em !important;
        gap: 0.8em !important;
    }

    .flow .wrapper .steps .step .sp_step_img {
        width: 50px !important;
        height: 50px !important;
    }

    .flow .wrapper .steps .step .step_title .sp_step_number {
        font-size: 4.5vw !important;
    }

    .flow .wrapper .steps .step .step_title .step_title_name {
        font-size: 4.5vw !important;
    }

    .flow .wrapper .steps .step .step_sentence {
        font-size: 3.3vw !important;
    }

    .flow .wrapper .steps .next_sp {
        width: 35px !important;
        margin: 0.8em auto !important;
    }

    #suggestion {
        padding: 2.5em 0 !important;
    }

    #suggestion .wrapper {
        padding: 0 8px !important;
        gap: 1.8em !important;
    }

    #suggestion .wrapper .sentence h3 {
        font-size: 5vw !important;
        margin-bottom: 0.4em !important;
    }

    #suggestion .wrapper .sentence h1 {
        font-size: 12vw !important;
        margin: 0.4em 0 !important;
    }

    #suggestion .wrapper .suggestion_img img {
        max-width: 350px !important;
    }
    
} */