﻿@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.webp?20251217);
    padding-top: 35%
}

.stoveburner .common_visual .position {
    background-image: url(../img/stoveburner/bg_main.png?20251217);
    padding-top: 35%
}

.stoveburner_bak .common_visual .position {
    background-image: url(../img/stoveburner/bg_main.png?20251217);
    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%
}

.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.webp?20251217);
        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?20251217);
        padding-top: 140%
    }

    .stoveburner_bak .common_visual .position {
        background-image: url(../img/stoveburner/bg_main_sp.png?20251217);
        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% */
}
}

.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
    }
}