@media screen and (min-width: 751px) and (max-width: 1440px) {
	.true-cost_heading span.fix_txt {
		left: -90px;
		width: 80px;
  		height: 80px;
	}
}
@media screen and (min-width: 1501px){
    .diagnosis_heading-main{ font-size: 80px;}
    .diagnosis-txt-content{ font-size: 22px;}
    .diagnosis-txt-content.txt-large span{ font-size: 120px;}

    .painting-fee_heading{ font-size: 100px;}
    .painting-fee_heading span.txt-small{ font-size: 80px;}
    .painting-fee_content p{ font-size: 60px;}
    
    .painting-fee_content p.txt-large{ font-size: 80px;}

    .true-cost_heading { font-size: 70px;}
    .true-cost_heading span.txt-large{ font-size: 90px;}

    .solved_heading{ font-size: 57px;}
    .solved-txt1{ font-size: 50px;}
    .solved-txt2{ font-size: 88px;}
    .solved-txt3{ font-size: 60px;}
    .solved-im img{
        width: 30vw;
        height: auto;
    }

    .industry_heading-main{ font-size: 145px;}
    .industry p{ font-size: 40px;}

    .guard_txt5>span { font-size: 60px;}

    .cost_saving_heading p{ font-size: 64px; }
    .cost_saving_sub01{ font-size: 80px;}
    .cs-sub{ font-size: 40px;}
    .painting-cost .tbl_highlight span { font-size: 40px;}


}

@media screen and (min-width: 751px) {
	.true-cost-headimg.fix_txt img {
		width: 65px;
		padding-bottom: 15px;
	}
    #lightboxOverlay,
    #lightbox {
        min-width: var(--content-width) !important;
        width: 100% !important
    }

    .sp, .sp680 , .sp625, .sp374 , .sp320 {
        display: none !important
    }

    .lap {
        display: none !important
    }

    a:hover {
        text-decoration: none
    }

    .btn-hover:hover {
        opacity: .7
    }

    .to-top a:hover {
        opacity: .7
    }

    .case_slider-thumb .slick-slide:hover {
        opacity: .7
    }

    .case_carousel-arrow:hover {
        opacity: .6
    }

    #side-navi:hover .list-navi .text {
        opacity: 1;
        visibility: visible
    }

    #side-navi .list-navi a:hover .text {
        opacity: .8;
        background: var(--color-primary);
        color: var(--color-white)
    }
}

@media screen and (min-width: 751px)and (max-width: 1820px) {
    .header_right-contact {
        margin: 0 20px
    }

    .note {
        background: url(../images/note_pc.png) 36% center/cover no-repeat
    }

    .header_left-company {
        font-size: 18px
    }

    .header_right-contact .contact_title {
        font-size: 16px
    }

    .header_right-contact .contact_tel-num {
        font-size: 34px
    }

    .header_right-btn .btn_item-title {
        font-size: 15px
    }

    .header_right-btn .btn_item-sub {
        font-size: 20px
    }

    .header_right-btn .btn_item a {
        padding: 15px
    }

    .support_bottom,
    .support_mid {
        margin-top: 0
    }

    .support_top-sub img {
        width: 360px
    }

    .pickme_bottom {
        background: url(../images/pickme_bg05.jpg) -5px 43.7%/40% auto no-repeat, url(../images/pickme_bg06.jpg) 118% 58%/70% auto no-repeat
    }
}

@media screen and (min-width: 751px)and (max-width: 1500px) {
    .pickme_mid .inner::before {
        transform: translateX(0) scale(0.7);
        transform-origin: top
    }

    .header_right-btn {
        display: none
    }

    .header_right-contact {
        margin-right: 0
    }

    .support_content {
        padding-right: 15px
    }

    .support_content-heading span {
        font-size: 52px
    }

    .support_content-heading img {
        width: 128px
    }

    .support_content-desc {
        font-size: 24px
    }

    .support_mid2 {
        margin-top: -10%
    }

    .support_mid-content {
        padding: 50px 60px
    }

    .pickme_bottom-flow .flow_item-content .title::after {
        font-size: 160px;
        top: -65px;
        left: -20px
    }

    .pickme_bottom-heading::before {
        font-size: 160px;
        bottom: 20px;
        left: -20px
    }

    .pickme_top-heading::after {
        transform: translate(75px, 78%);
        background-size: 185px auto
    }

    .greeting_promo {
        width: 92%;
        margin: 0 auto
    }

    .greeting_promo-top .top_heading {
        font-size: 22px
    }

    .greeting_promo-top .top_heading .num {
        font-size: 48px
    }

    .greeting_promo-top .top_heading .large {
        font-size: 28px
    }

    .pickme_bottom-flow .flow_item .flow_item-img {
        width: 45%
    }

    .pickme_bottom-flow .flow_item:nth-child(2) .flow_item-img p,
    .pickme_bottom-flow .flow_item:nth-child(3) .flow_item-img p {
        width: auto
    }

    .pickme_bottom-flow .flow_item .flow_item-content {
        width: 55%
    }

    .pickme_bottom-flow .flow_item-content .title_main {
        font-size: 44px
    }

    .greeting {
        background: url(../images/greeting01.png) calc(100% - 55px) 32.7%/auto no-repeat, url(../images/greeting_bg01.png) 101.2% -15%/1050px auto no-repeat, url(../images/greeting_bg02.png) -460px 101.5%/auto no-repeat, #f9f6f3
    }
    .visual_banner_txt a{
        top: 1.15rem;
        right: 4%;
    }

    .glass-coating_heading{ font-size: 60px;}
}
@media screen and (min-width: 751px)and (max-width: 1345px){
    .inner2{ padding:  0 15px;}
    .header_left{ width: 75%;}
    .header_left-gg { padding: 5px 15px;}
    .header_left-gg span{ font-size: 14px;}
    .header_left-gg span .num { font-size: 20px; padding:  0 5px;}
    .header_left-gg > img{ width: 50%;}
    .header_right-contact .contact_title { font-size: 15px ;}

    .diagnosis { padding: 100px 0 80px;}
    .diagnosis-txt-content{ font-size: 18px;}
    .diagnosis-img-group{ justify-content: center;}
    .diagnosis-img-group img{ max-width: 200px;}

    .exterior-painting-bnr{ padding: 0 0;}
    .exterior-painting-bnr p{ font-size: 80px;}
    .exterior-painting-bg{ top: 70px; bottom: 70px;}
    .exterior-painting-list p{ padding-bottom: 0;}

    .free-booklet_txtsub2 { font-size: 54px;}


    .contact-info-ctn { gap: 15px;}
    .contact-info-ctn { width: 80%;}
    .contact-info-ctn p.contact_img-btn{min-width: 400px;}

    .glass-coating_heading{ font-size: 60px;}
    .glass-coating_heading .txt-shadow::before{ top: 26%;}
    .glass-coating_head-wrap>p {font-size: 50px}
    .glass-coating-content>p.ttl{ font-size: 32px;}
    .glass-coating-btn span{ font-size: 20px;}

    .reason_wrap{ align-items: flex-start; column-gap: 45px;}
    .reason_video{ aspect-ratio: 730/ 550;}

    .solved_heading { font-size: 42px; }
    .solved-txt2 { font-size: 55px;}

    .industry_heading{ font-size: 80px;}
    .guard_txt1{ font-size: 55px;}
    .guard_txt3>span{ font-size: 55px;}

    .expertise_sub_txt{ font-size: 30px;}
    .painting-cost-col table.tbl03 td {
        font-size: 17px;
    }

}

@media screen and (min-width: 751px)and (max-width: 1279px) {
    .lppage h1 img{
        width: 23vw;
        height: auto;
    }
    .case_carousel-arrow img {
        width: 25px
    }

    .case_carousel-arrow.arrow-next {
        right: -15px
    }

    .case_carousel-arrow.arrow-prev {
        left: -10px
    }

    .lap {
        display: block !important
    }


    .solved-txt1 { font-size: 35px }

    .guard_txt3>span { font-size: 56px;}

    .painting-cost-tbl .tbl-desc p, .painting-cost-tbl .tbl-desc span { font-size: 26px;}

    .award_img-item{ width: 33%; text-align: center;}



}



@media screen and (min-width: 1px)and (max-width: 750px) {
	.true-cost_heading span.fix_txt {
		width: 45px;
		height: 45px;
		left: -50px;
		top: -5px;
		border: 2px solid #fd0001;
		padding-top: 7px;
	}
	
    :root {
        --fs-18: 14px
    }

    main {
        margin-top: 90px
    }

    #wrapper {
        min-width: unset !important
    }

    .to-top {
        bottom: 80px
    }

    .to-top>a {
        transform: scale(0.7);
        transform-origin: bottom right
    }

    .pc {
        display: none !important
    }

    .sp {
        display: block !important
    }

    .inner {
        width: 100%;
        padding-left: 15px;
        padding-right: 15px
    }

    #menu-toggle {
        display: block
    }

    .open-nav #side-navi {
        z-index: 25
    }

    #side-navi {
        width: 100%;
        height: calc(100% - 90px);
        background: var(--color-white);
        right: 0;
        top: 90px;
        transform: translateY(0);
        z-index: -1;
        opacity: 0;
        visibility: hidden;
        transition: .2s all;
        overflow-y: auto
    }

    #side-navi .list-navi {
        padding-bottom: 120px
    }

    #side-navi .list-navi li {
        margin-bottom: 0 !important
    }

    #side-navi .list-navi li:nth-child(odd) a {
        background: #dcedf8
    }

    #side-navi .list-navi li a {
        padding: 15px;
        min-height: 85px;
        display: flex;
        justify-content: center;
        align-items: center
    }

    #side-navi .list-navi li a.active .text {
        background: none;
        color: #333
    }

    #side-navi .list-navi li a .text {
        padding: 0;
        position: relative;
        top: 0;
        right: 0;
        transform: translateY(0);
        width: 100%;
        opacity: 1;
        visibility: visible;
        border-radius: 0;
        box-shadow: none;
        text-align: center;
        background: none;
        font-size: 16px;
        font-family: var(--font-family);
        font-weight: 700;
        color: #333;
        text-transform: none
    }

    #side-navi .list-navi li a .icon {
        display: none
    }

    .header {
        position: fixed;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 101%;
        height: 90px;
        background: var(--color-white);
        padding: 0 8px;
        align-items: center;
        z-index: 20
    }

    .header_right {
        display: none
    }

    .header_left {
        column-gap: 0
    }

    .header_left-logo {
        margin-right: 5px;
        padding: 5px;
        width: 65px
    }

    .header_left-logo img {
        width: 100%
    }

    .header_left h1 {
        margin-right: 5px;
        width: 50px
    }

    .header_left h1 img {
        width: 100%
    }

    .header_left-company {
        font-size: min(3.2vw, 12px)
    }

    .header_left-gg {
        width: max-content;
        display: inline-block;
        position: absolute;
        bottom: 15px;
        transform: translate(0, 100%);
        padding: 5px;
        line-height: 1em;
    }

    .header_left-gg img {
        max-width: 230px;
    }

    .header_left-gg span .num {
        font-size: 12px
    }

    .header_left-gg::before {
        top: -1px;
        left: 50%;
        transform: translate(-50%, -50%) rotate(135deg)
    }

    .featured {
        padding: 40px 0 80px;
        background: url(../images/featured_bg.png) 90% 0%/240% auto no-repeat, #c9d1e0
    }

    .featured_heading {
        margin-bottom: 70px
    }

    .featured_heading-sub {
        margin-bottom: 10px;
        font-size: min(5.5vw, 26px);
        line-height: 1.4em
    }

    .featured_heading-main {
        font-size: min(8.5vw, 44px);
        line-height: 1.2em
    }

    .featured_video-title::before {
        top: -80px;
        left: -10px;
        width: 120px
    }

    .featured_video .title_sub-num,
    .featured_video .title_sub-txt {
        font-size: min(7vw, 34px)
    }

    .featured_video .title_main {
        font-size: min(7.95vw, 48px)
    }

    .featured_video .title_main .txt-dot .char::after {
        width: 8px;
        height: 8px;
        transform: translate(-50%, -10px)
    }

    .featured_sub {
        bottom: -90px
    }

    .featured_sub img {
        width: 220px
    }

    .intro {
        padding: 40px 0 60px;
        background: url(../images/intro_bg_sp.jpg) top center/cover no-repeat
    }

    .intro .inner {
        flex-direction: column;
        align-items: center
    }

    .intro_img {
        width: 140px;
        margin-left: 0
    }

    .intro_heading {
        margin-bottom: 30px;
        padding-top: 20px;
        text-align: center
    }

    .intro_heading-sub {
        margin-bottom: 5px
    }

    .intro_heading-main {
        font-size: 32px
    }

    .intro_heading-desc {
        line-height: 1.8em
    }

    .award_wrapper {
        padding: 70px 0 60px;
        background: url(../images/award_bg02.png) top left/180px auto no-repeat, url(../images/award_bg01.png) center -320px/1637px auto no-repeat
    }

    .award_heading-sub {
        font-size: min(7vw, 40px)
    }

    .award_heading-main {
        font-size: min(11vw, 60px)
    }

    .award_desc {
        font-size: min(3vw, 14px)
    }

    .award_img {
        flex-direction: column;
        margin-bottom: 30px;
    }

    .award_img::after {
        top: -915px;
        background: url(../images/award_bg03.png) center 16%/1620px auto no-repeat
    }

    .award_img-item {
        width: 60%;
        text-align: center;
    }

    .award_img-item:nth-child(2) img {
        margin-top: 0
    }

    .award_img-item:not(:last-child) {
        margin-bottom: 30px
    }

    .award_mid {
        margin-bottom: 40px
    }

    .award_mid-wrapper {
        padding: 50px 0;
        background: url(../images/ballon_bg.png) center top/90% auto no-repeat, url(../images/award_bg04.png) center center/100% 100% no-repeat
    }

    .award_mid-img {
        max-width: 180px;
        margin: 0 auto
    }

    .award_mid-heading {
        margin-bottom: 30px
    }

    .award_mid-heading .sub {
        margin-bottom: 0;
        font-size: min(5vw, 32px)
    }

    .award_mid-heading .main {
        font-size: min(5vw, 32px);
        letter-spacing: .025em
    }

    .award_mid-heading .main .large {
        font-size: min(8.5vw, 50px);
        letter-spacing: .025em
    }

    .award_mid-book {
        gap: 20px
    }

    .award_mid-book li {
        padding: 10px
    }

    .award_bottom-heading {
        margin-bottom: 10px;
        font-size: min(6.5vw, 32px)
    }

    .award_bottom-desc {
        margin-bottom: 40px;
        font-size: min(2.8vw, 14px)
    }

    .award_bottom-gallery {
        padding: 40px 20px;
        gap: 10px;
        grid-column-gap: 10px;
        grid-row-gap: 10px
    }

    .award_bottom-gallery::after {
        border-top: 20px solid #112236;
        border-left: 25px solid rgba(0, 0, 0, 0);
        border-right: 25px solid rgba(0, 0, 0, 0)
    }

    .reason {
        padding: 60px 0;
        background: url(../images/reason_bg_sp.jpg) top center/cover no-repeat
    }

    .reason_wrap {
        padding: 0;
        flex-direction: column
    }

    .reason_content {
        margin-bottom: 20px;
        flex-direction: row;
        justify-content: center;
        align-items: flex-start
    }

    .reason_content-heading {
        -webkit-writing-mode: unset;
        -moz-writing-mode: unset;
        -ms-writing-mode: unset;
        writing-mode: unset;
        line-height: 1.4em;
        font-size: min(5.25vw, 28px)
    }

    .reason_content-img {
        margin-top: 5px;
        margin-bottom: 0;
        margin-right: 20px;
        width: 100px
    }

    .reason_desc {
        font-size: min(5vw, 26px);
        line-height: 1.8em
    }

    .reason_desc::before {
        bottom: 20px;
        right: -5px;
        width: 240px
    }

    .reason_desc-hl {
        font-size: min(6.25vw, 40px);
        line-height: 1.8em
    }

    .contact_top {
        padding: 50px 0 40px;
        background-position: -180px 0
    }
    #sec-05 .contact_top-heading .sub,
    .contact_top-heading .sub {
        font-size:min(7vw, 40px) 
    }

    .contact_top-heading .main {
        font-size: min(9vw, 46px)
    }

    .contact_top-heading .main::before {
        width: 100%;
        top: -20px;
        left: 0;
        bottom: auto
    }

    .contact_top::after {
        width: min(70%, 360px);
        bottom: 0;
        transform: translate(-50%, 35%)
    }

    .contact_bottom {
        background: url(../images/contact_bg04_sp.jpg) bottom center/cover no-repeat;
        padding: 60px 0 40px
    }

    .contact_bottom-heading {
        font-size: min(4.8vw, 28px)
    }

    .contact_bottom-heading .large {
        font-size: min(6.75vw, 38px)
    }

    .contact_bottom-heading::after {
        width: 75px;
        height: 75px;
        right: -20px;
        top: -28px
    }

    .contact_bottom-heading::before {
        width: calc(100% + 5px);
        height: 14px;
        background-position: 33% 0%;
        bottom: -15px
    }

    .contact_bottom-desc {
        font-size: min(3.5vw, 14px)
    }

    .contact_bottom-desc .large {
        font-size: min(3.5vw, 16px)
    }

    .contact_wrap {
        padding: 0;
        flex-direction: column
    }

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

    .contact_form-main {
        padding: 0
    }

    .contact_img {
        width: 100%
    }

    .contact_img-main {
        margin: 0;
        margin-bottom: 40px
    }

    .contact_img-main img {
        width: 280px
    }

    .contact_img-main::after {
        bottom: -55px;
        left: 115px;
        width: 240px
    }

    .contact_img-btn {
        justify-content: center
    }

    .contact_img-btn a {
        padding-left: 20px;
        padding-right: 20px;
        column-gap: 0;
        max-width: 400px;
        font-size: min(4.5vw, 20px)
    }

    .contact_img-btn a .large {
        font-size: min(5.75vw, 24px)
    }

    .contact_img-btn a img {
        margin-right: 22px;
        width: 50px
    }

    .contact_btn {
        position: absolute;
        left: 10px;
        bottom: 0;
        transform: translateY(calc(100% - 15px)) scale(0.5);
        transform-origin: top;
        width: fit-content;
        background: linear-gradient(180deg, rgb(255, 244, 220) 0%, rgb(120, 105, 49) 30%, rgb(255, 244, 220) 70%, #978d48 88%);
        z-index: 2
    }

    .contact_btn span {
        line-height: 1.05em;
        margin-left: 0;
        background: linear-gradient(180deg, rgb(255, 244, 220) 0%, rgb(120, 105, 49) 30%, rgb(255, 244, 220) 70%, #978d48 88%);
        -webkit-writing-mode: vertical-rl;
        -moz-writing-mode: vertical-rl;
        -ms-writing-mode: vertical-rl;
        writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        -webkit-text-orientation: mixed;
        -moz-text-orientation: mixed;
        -ms-text-orientation: mixed;
        text-orientation: mixed
    }

    .contact_btn span::after {
        bottom: 0;
        top: auto;
        left: 50%;
        transform: translate(-50%, calc(100% - 22px)) rotate(90deg)
    }

    .price {
        padding: 40px 0
    }

    .price_heading {
        margin-bottom: 40px;
        font-size: min(6.5vw, 40px)
    }

    .price_heading span.large {
        font-size: min(9vw, 52px)
    }

    .note {
        background: none;
        height: auto
    }

    .step {
        padding: 40px 0
    }

    .step_sub {
        margin-bottom: 30px;
        font-size: min(3.5vw, 16px);
        line-height: 2em
    }

    .step_sub .large {
        font-size: min(6vw, 26px)
    }

    .step_heading {
        margin-bottom: 30px;
        font-size: min(7vw, 32px)
    }

    .step_heading .large {
        font-size: min(10vw, 44px)
    }

    .step::after {
        width: 65%;
        top: -17%
    }

    .step_list-item .item_heading-no span {
        font-size: 16px
    }

    .step_list-item .item_heading-no span:first-child {
        margin-bottom: 10px
    }

    .step_list-item .item_heading-no .num {
        margin-left: 3px;
        font-size: 38px
    }

    .step_list-item .item_heading-no .title {
        width: 100%;
        margin-bottom: 5px;
        margin-left: 0;
        font-size: 18px;
        line-height: 1.4em
    }

    .step_list-item .item_desc {
        font-size: 14px
    }

    .step_list-item .item_desc.desc-1 {
        font-size: 16px
    }

    .step_list-item .item_desc .large {
        font-size: 16px
    }

    .step_list-item .item_img {
        margin-top: 0
    }

    .step_list-item .item_wrap {
        padding-left: 33px
    }

    .step_list-item .item_wrap-img {
        width: 25px;
        margin-right: 20px;
        flex-shrink: 0
    }

    .step_list-item .item_wrap .point {
        width: 120px;
        transform: translateY(8px)
    }

    .step_list-item .item_wrap .point-img img {
        width: 32px
    }

    .step_list-item .item_heading {
        padding: 15px 10px 5px 10px
    }

    .step_list-item .item_content {
        padding: 15px
    }

    .step_list-item .item_img::after {
        display: none
    }

    .checklist {
        padding: 60px 0 80px
    }

    .checklist::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: 534px;
        height: 359px;
        background: url(../images/checklist_bg_sp.png) top left/340px auto no-repeat
    }

    .checklist::after {
        width: min(70%, 360px);
        bottom: 0;
        transform: translate(-50%, 45%)
    }

    .checklist_heading {
        margin-bottom: 25px;
        font-size: min(7.1vw, 32px);
        text-align: center;
        line-height: 1.4em
    }

    .checklist_list {
        padding-left: 0
    }

    .checklist_list-item {
        padding-top: 9px;
        padding-bottom: 5px;
        padding-left: 30px;
        background-size: 24px auto;
        background-position: 0 7px;
        font-size: 14px
    }

    .checklist_list-item:not(:last-child) {
        margin-bottom: 5px
    }

    .checklist_content {
        width: 100%;
        margin-left: 0;
        padding: 0 20px
    }

    .quote {
        padding: 60px 0
    }

    .quote::before {
        left: -100px;
        width: 100%;
        height: 100%;
        background-size: contain
    }

    .quote_img {
        margin-top: 30px
    }

    .quote_img-sub {
        width: 65% !important;
        right: -60px;
        bottom: -40px
    }

    .quote_desc {
        font-size: 14px
    }

    .quote_heading {
        font-size: min(5.15vw, 24px)
    }

    .cost {
        background: url(../images/cost_bg03_sp.png) 0 8%/750px auto no-repeat, url(../images/cost_bg.png) center center/cover repeat-y;
        padding: 120px 0 80px
    }

    .cost_heading {
        margin-bottom: 40px;
        flex-direction: column;
        align-items: unset;
        width: 100%
    }

    .cost_heading span {
        width: fit-content
    }

    .cost_heading .sub {
        margin-left: 30px;
        font-size: 24px
    }

    .cost_heading .sub::after {
        width: 24px
    }

    .cost_heading .sub::before {
        width: 280px;
        top: -15%
    }

    .cost_heading .sub.normal {
        margin: 0 auto
    }

    .cost_heading .main {
        margin: 0 auto;
        font-size: min(11.5vw, 54px);
        line-height: 1.8em
    }

    .cost_desc {
        font-size: 14px;
        line-height: 1.8em
    }

    .cost_desc .large {
        font-size: min(max(4vw, 14px), 18px)
    }

    .cost_desc .more {
        margin-top: -3px
    }

    .cost_list {
        gap: 0;
        max-width: 100%;
        width: 320px;
        margin-left: auto;
        margin-right: auto
    }

    .cost_list-item {
        max-width: 76px;
        margin-right: 30px
    }

    .cost_list-item:nth-child(3n+3) {
        margin-right: 0
    }

    .cost_list-item:last-child {
        margin-right: 0
    }

    .cost_list-item span {
        font-size: 14px
    }

    .cost_box-heading {
        padding: 15px 8px
    }

    .cost_box-heading .inner {
        padding: 0
    }

    .cost_box-heading h4 {
        font-size: min(5.8vw, 28px);
        line-height: 1.4em
    }

    .cost_box-heading h4 .sub {
        font-size: min(5.5vw, 24px)
    }

    .cost_box-heading h4 .large::after {
        height: 100%;
        top: -2px
    }

    .cost_box-content {
        padding: 80px 0 0px
    }

    .cost_box-content::after {
        border-top-width: 15px;
        border-left-width: 15px;
        border-right-width: 15px
    }

    .cost_box-content .content_chart {
        margin-bottom: 35px
    }

    .cost_box-content .content_chart-img {
        margin-bottom: 15px
    }

    .cost_box-content .content_chart-img::after {
        width: 100px;
        top: -150px;
        right: 0px
    }

    .cost_box-content .content_chart-title {
        column-gap: 10px
    }

    .cost_box-content .content_chart-title p {
        padding: 5px;
        font-size: min(2.65vw, 18px);
        font-weight: 400
    }

    .cost_box-content .content_case-item .item_heading {
        align-items: center;
        font-size: 20px;
        line-height: 1.25em;
        padding-left: 10px;
        padding-bottom: 10px
    }

    .cost_box-content .content_case-item .item_heading .small {
        font-size: 22px
    }

    .cost_box-content .content_case-item .item_heading .recommend {
        margin-left: 40px;
        width: 100px;
        object-fit: contain
    }

    .cost_box-content .content_case-item .item_heading::after {
        width: 85px;
        bottom: -40px
    }

    .cost_box-content .content_case-item .item_heading>span {
        margin-left: 15px
    }

    .cost_box-content .content_case-item .item_content {
        flex-direction: column;
        padding: 40px 0 25px
    }

    .cost_box-content .content_case-item .item_content-img {
        width: 100%;
        text-align: center
    }

    .cost_box-content .content_case-item .item_content-detail.x-list li {
        background-size: 36px auto
    }

    .cost_box-content .content_case-item .item_content-detail.o-list li {
        background-size: 38px auto;
        padding-left: 60px
    }

    .cost_box-content .content_case-item .item_content-detail li {
        font-weight: 500;
        font-size: 12px;
        padding-left: 55px
    }

    .support {
        padding: 0
    }

    .support_top {
        position: relative;
        padding-bottom: 155px;
        justify-content: center
    }

    .support_top-img {
        position: absolute;
        top: 0;
        left: 0;
        width: min(60%, 840px);
        z-index: -1
    }

    .support_top-sub {
        width: 210px;
        left: 38%
    }

    .support_content {
        margin-top: 100px
    }

    .support_content::after {
        width: 400px;
        top: auto;
        bottom: -105px;
        left: -35px;
        transform: translate(0)
    }

    .support_content-heading {
        row-gap: 20px;
        margin-right: 25px
    }

    .support_content-heading span {
        font-size: 32px
    }

    .support_content-heading img {
        width: 80px
    }

    .support_content-heading:first-child::after {
        right: 13px
    }

    .support_content-heading:nth-child(2)::before {
        transform: translateY(-50%) scale(0.6);
        left: -45px
    }

    .support_content-heading:after {
        width: 3px
    }

    .support_content-desc {
        font-size: 16px
    }

    .support_mid {
        position: relative;
        margin-top: 0;
        flex-direction: column
    }

    .support_mid-content {
        width: fit-content;
        margin-top: 0;
        margin-right: 15px;
        padding: 40px 20px
    }

    .support_mid-content .content_heading {
        font-size: min(5.75vw, 22px)
    }

    .support_mid-content .content_list-item {
        padding-top: 8px;
        padding-left: 35px;
        font-size: 14px;
        background-size: 26px auto;
        background-position: 0 7px
    }

    .support_mid-img {
        position: absolute;
        top: -80px;
        right: 0;
        min-width: 50%
    }

    .support_mid2 {
        position: relative;
        margin-top: 100px
    }

    .support_mid2-img {
        position: absolute;
        top: -140px;
        left: 0;
        min-width: 45%
    }

    .support_mid2-content {
        margin: 0 15px;
        padding: 40px 20px
    }

    .support_mid2-content .content_heading {
        margin-bottom: 20px;
        font-size: min(5vw, 22px)
    }

    .support_mid2-content .content_desc {
        font-size: 14px
    }

    .support_bottom {
        margin-top: 0
    }

    .support_bottom-img {
        min-width: 70%
    }

    .compare {
        padding: 80px 0 60px
    }

    .compare_sub {
        width: fit-content;
        margin: 0 auto 10px;
        font-size: min(4vw, 22px)
    }

    .compare_sub::before {
        width: 160px;
        top: -70px;
        left: -30px
    }

    .compare_heading {
        text-align: center;
        font-size: min(7.5vw, 48px)
    }

    .compare_title {
        margin-top: 80px;
        column-gap: 50px
    }

    .compare_title p {
        font-size: min(4.1vw, 26px);
        position: relative;
        z-index: 2
    }

    .compare_title::before {
        width: 100px
    }

    .compare .flow_wrap {
        row-gap: 0;
        margin-bottom: 30px
    }

    .compare .flow_wrap .flow_sub {
        padding: 0;
        margin-bottom: 20px
    }

    .compare_flow {
        column-gap: 50px
    }

    .compare_flow-col,
    .compare_flow .flow_group {
        row-gap: 0
    }

    .compare_flow .flow_item {
        padding: 10px;
        min-height: 55px
    }

    .compare_flow .flow_item:not(:last-child) {
        margin-bottom: 30px
    }

    .compare_flow .flow_item.has-content {
        margin-bottom: 20px;
        padding: 15px 10px
    }

    .compare_flow .flow_item-title {
        line-height: 1.3em;
        font-size: 12px
    }

    .compare_flow .flow_item-title .small {
        font-size: 12px
    }

    .compare_flow .flow_item-desc {
        font-size: 12px
    }

    .compare_flow .flow_item-desc .large {
        font-size: 14px
    }

    .compare_flow .flow_item-img {
        margin: 10px 0
    }

    .compare .flow_sub-title {
        font-size: 10px
    }

    .compare .compare_flow-col.col-r::after,
    .compare .compare_flow-col.col-l::after {
        width: 45px
    }

    .pickme_top {
        padding: 40px 0
    }

    .pickme_top .inner {
        width: fit-content;
        flex-direction: column;
        align-items: flex-start
    }

    .pickme_top-box {
        padding: 12px;
        margin-bottom: 25px;
        font-size: 12px;
        background: linear-gradient(to bottom, var(--color-third) 2px, transparent 2px, transparent calc(100% - 2px), var(--color-third) calc(100% - 2px)) no-repeat, linear-gradient(to left, var(--color-third) 2px, transparent 2px, transparent calc(100% - 2px), var(--color-third) calc(100% - 2px)) no-repeat;
        background-position: center;
        background-size: calc(100% - 10px) 100%, 100% calc(100% - 10px);
        margin-right: 0
    }

    .pickme_top-box::after {
        width: 2px;
        height: 15px;
        top: auto;
        bottom: 0;
        right: 50%;
        transform: translate(-50%, 100%)
    }

    .pickme_top-heading {
        font-size: min(8vw, 32px)
    }

    .pickme_top-heading::before {
        font-size: min(4vw, 15px);
        left: -10px;
        top: -15px
    }

    .pickme_top-heading .num {
        margin: 0px -10px 0 -15px;
        font-size: min(22vw, 82px)
    }

    .pickme_top-heading .large {
        font-size: min(11vw, 44px)
    }

    .pickme_top-heading::after {
        width: 200px;
        transform: translate(0, 77%)
    }

    .pickme_mid {
        padding: 80px 0 60px;
        background: url(../images/pickme_bg02_sp.jpg) bottom center/cover no-repeat, var(--color-black)
    }

    .pickme_mid .inner::before {
        width: 70px;
        top: -118px;
        left: 20px;
        transform: translateX(0)
    }

    .pickme_mid-wrap {
        flex-direction: column
    }

    .pickme_mid-content .content_sub {
        width: fit-content;
        font-size: min(5vw, 24px)
    }

    .pickme_mid-content .content_heading {
        margin-bottom: 30px;
        width: fit-content;
        font-size: min(7.5vw, 42px)
    }

    .pickme_mid-content .content_heading .large {
        font-size: min(13vw, 72px)
    }

    .pickme_mid-content .content_heading::after {
        width: 28px;
        top: -30%;
        right: 6%
    }

    .pickme_mid-content .content_img {
        margin-bottom: 20px;
        padding-left: 0;
        text-align: center
    }

    .pickme_mid-content .content_img img {
        max-width: 200px
    }

    .pickme_mid-check {
        flex-direction: column
    }

    .pickme_mid-check li {
        padding: 15px;
        width: 100%
    }

    .pickme_mid-check li:not(:last-child) {
        margin-bottom: 10px
    }

    .pickme_mid-check li span {
        background-size: 30px auto;
        font-size: 14px;
        padding-left: 35px;
        padding-top: 12px
    }

    .pickme_mid-img {
        max-width: 160px;
        margin: 0 auto
    }

    .pickme_mid-img::before {
        top: -85%;
        left: -40%;
        width: 100px
    }

    .pickme_bottom {
        padding: 70px 0;
        background: url(../images/pickme_bg05.jpg) -5px 1500px/260px auto no-repeat, url(../images/pickme_bg06.jpg) calc(100% + 27px) 49%/240px auto no-repeat
    }

    .pickme_bottom-heading {
        column-gap: 0;
        margin-bottom: 20px
    }

    .pickme_bottom-heading::before {
        font-size: 130px;
        bottom: auto;
        top: -45px;
        left: -17px
    }

    .pickme_bottom-heading .num {
        margin-bottom: 0;
        margin-right: 15px;
        font-size: 72px
    }

    .pickme_bottom-heading .title_main {
        width: 100%;
        margin: 0;
        font-size: min(5.8vw, 22px)
    }

    .pickme_bottom-heading .title_sub {
        font-size: min(6vw, 22px)
    }

    .pickme_bottom-desc {
        margin-bottom: 40px
    }

    .pickme_bottom-cleaning {
        width: calc(100% + 30px);
        margin-left: -15px;
        margin-bottom: 60px;
        background: url(../images/pickme_bg07.png) -150px 0/750px auto no-repeat, url(../images/pickme_bg04.png) top left/cover no-repeat;
        padding: 50px 15px
    }

    .pickme_bottom-cleaning .heading {
        margin-bottom: 30px;
        font-size: min(6vw, 36px)
    }

    .pickme_bottom-cleaning .heading .sub {
        font-size: min(5vw, 24px)
    }

    .pickme_bottom-cleaning .heading::after {
        font-size: min(10vw, 64px);
        bottom: -22px
    }

    .pickme_bottom-cleaning .desc {
        font-size: min(2.8vw, 14px);
        margin-bottom: 30px
    }

    .pickme_bottom-cleaning .desc .large {
        font-size: min(3vw, 16px)
    }

    .pickme_bottom-cleaning .content {
        margin-left: 0;
        column-gap: 80px
    }

    .pickme_bottom-cleaning .content::before,
    .pickme_bottom-cleaning .content::after {
        width: 60px;
        height: 10px;
        top: 35px
    }

    .pickme_bottom-cleaning .content_col {
        width: 50% !important
    }

    .pickme_bottom-cleaning .content_title {
        font-size: 30px
    }

    .pickme_bottom-cleaning .content_title-sub {
        padding: 5px;
        font-size: 12px;
        line-height: 1.3em
    }

    .pickme_bottom-cleaning .content_img.img-out {
        width: 100%;
        transform: scale(1.35);
        transform-origin: left
    }

    .pickme_bottom-flow {
        margin-bottom: 30px
    }

    .pickme_bottom-flow .flow_item {
        width: 100%;
        flex-direction: column
    }

    .pickme_bottom-flow .flow_item:nth-child(even) {
        flex-direction: column-reverse
    }

    .pickme_bottom-flow .flow_item:not(:last-child) {
        margin-bottom: 90px
    }

    .pickme_bottom-flow .flow_item:not(:last-child) .flow_item-img {
        display: none
    }

    .pickme_bottom-flow .flow_item:first-child img {
        max-width: 160px
    }

    .pickme_bottom-flow .flow_item:nth-child(2) img:last-child {
        max-width: 85%
    }

    .pickme_bottom-flow .flow_item:last-child .flow_item-img p {
        margin-top: 0;
        text-align: center;
        float: none
    }

    .pickme_bottom-flow .flow_item-content {
        width: 100% !important
    }

    .pickme_bottom-flow .flow_item-content .title {
        margin-bottom: 20px;
        column-gap: 0
    }

    .pickme_bottom-flow .flow_item-content .title.no-sub {
        column-gap: 0
    }

    .pickme_bottom-flow .flow_item-content .title::after {
        font-size: 88px;
        bottom: auto;
        top: -30px;
        left: -18px
    }

    .pickme_bottom-flow .flow_item-content .title_num {
        margin-right: 15px;
        font-size: 56px
    }

    .pickme_bottom-flow .flow_item-content .title_main {
        width: 100%;
        margin: 0;
        font-size: min(7vw, 36px)
    }

    .pickme_bottom-flow .flow_item-content .title_main.font-s {
        font-size: min(6vw, 28px)
    }

    .pickme_bottom-flow .flow_item-content .title_main-sub {
        font-size: min(5vw, 26px)
    }

    .pickme_bottom-flow .flow_item-content .title_sub {
        font-size: 28px
    }

    .pickme_bottom-flow .flow_item-content .desc {
        font-weight: 400
    }

    .pickme_bottom-flow .flow_item-content .desc:not(:last-child) {
        margin-bottom: 20px
    }

    .pickme_bottom-flow .flow_item-content .img img:not(:last-child) {
        margin-bottom: 20px
    }

    .pickme_bottom-logo {
        gap: 0
    }

    .pickme_bottom-logo li {
        width: calc(50% - 8px)
    }

    .pickme_bottom-logo li:nth-child(odd) {
        margin-right: 16px
    }

    .pickme_bottom-logo li:not(:last-child) {
        margin-bottom: 16px
    }

    .about {
        padding: 40px 0
    }

    .about_img {
        width: 140px;
        bottom: 40%;
        right: 15px
    }

    .about_heading {
        font-size: min(4.2vw, 22px)
    }

    .about_heading .large {
        font-size: min(6vw, 32px)
    }

    .about_desc {
        font-weight: 400;
        font-size: min(3.5vw, 14px)
    }

    .about_desc .small {
        font-size: min(3.5vw, 14px)
    }

    .case {
        padding: 60px 0;
        background-position: 20% top
    }

    .case_heading-main {
        margin-bottom: 10px;
        font-size: min(10vw, 52px)
    }

    .case_heading-sub {
        margin-bottom: 30px;
        font-size: min(5.5vw, 24px)
    }

    .case_slider {
        margin-bottom: 20px;
        position: relative;
        padding: 40px 20px
    }

    .case_slider-wrap {
        margin: 45px auto 0;
        flex-direction: column;
        width: 95%
    }

    .case_slider-sub {
        width: 100%
    }

    .case_slider-main {
        width: 100%;
        margin-bottom: 20px
    }

    .case_slider-title {
        padding: 5px 0;
        position: absolute;
        top: 30px;
        left: 20px;
        font-size: 22px;
        width: calc(100% - 40px)
    }

    .case_slider-cmt {
        margin-top: 0;
        margin-bottom: 20px
    }

    .case_slider-thumb .slick-track {
        gap: 5px;
        grid-column-gap: 5px;
        grid-row-gap: 5px;
        grid-template-columns: repeat(4, 1fr)
    }

    .case_carousel-item {
        margin-top: 80px;
        position: relative;
        padding: 110px 15px 40px;
        column-gap: 0
    }

    .case_carousel-item .item_before {
        margin-right: 30px
    }

    .case_carousel-item .item_before-title {
        position: absolute;
        top: 50px;
        left: 20px;
        width: calc(100% - 40px);
        font-size: 17px;
        line-height: 1.4em;
        padding-bottom: 3px
    }

    .case_carousel-item .item_before-title .large {
        font-size: 20px
    }

    .case_carousel-item .item_before-img {
        margin-top: auto
    }

    .case_carousel-item .item_before-img::after {
        background-size: 26px;
        transform: translate(75%, -50%)
    }

    .case_carousel-item .item_before-img::before {
        font-size: 12px;
        padding: 5px 10px;
        bottom: 10px
    }

    .case_carousel-item .item_after::before {
        font-size: 12px;
        padding: 5px 10px;
        bottom: 10px
    }

    .case_carousel-arrow.arrow-next {
        right: -10px
    }

    .case_carousel-arrow.arrow-prev {
        left: -10px
    }

    .case_carousel-arrow img {
        width: 25px
    }

    .greeting {
        background: url(../images/greeting_bg01.png) 100% 0%/400px auto no-repeat, url(../images/greeting_bg02.png) -147px 1180px/500px auto no-repeat, #f9f6f3;
        padding: 60px 0 40px
    }

    .greeting_heading-main {
        margin-bottom: 10px;
        font-size: min(10vw, 52px)
    }

    .greeting_heading-sub {
        margin-bottom: 50px;
        font-size: min(5.5vw, 24px)
    }

    .greeting_box {
        margin-bottom: 40px
    }

    .greeting_box-txt {
        padding: 40px 20px
    }

    .greeting_box-txt:not(:last-child) {
        margin-bottom: 30px
    }

    .greeting_box-txt:nth-child(2) {
        margin-bottom: 120px
    }

    .greeting_sign-top {
        margin-bottom: 5px;
        font-size: 12px
    }

    .greeting_sign-top .large {
        font-size: 14px
    }

    .greeting_sign-bottom {
        justify-content: center;
        flex-wrap: wrap
    }

    .greeting_sign-bottom img {
        width: 85px
    }

    .greeting_sign-bottom span {
        font-size: 12px
    }

    .greeting_promo {
        margin-top: 100px;
        z-index: 2;
        margin: 0 auto;
        width: calc(100% - 30px)
    }

    .greeting_promo::before {
        display: none
    }

    .greeting_promo-top {
        padding: 10px 10px 10px 85px
    }

    .greeting_promo-top::after,
    .greeting_promo-top::before {
        width: 40px;
        top: auto;
        bottom: -70px;
        z-index: -1
    }

    .greeting_promo-top::after {
        right: 10px
    }

    .greeting_promo-top::before {
        left: 10px
    }

    .greeting_promo-top .top_img {
        width: 80px;
        left: 10px
    }

    .greeting_promo-top .top_heading {
        font-size: 17px;
        z-index: 2
    }

    .greeting_promo-top .top_heading .large {
        font-size: 22px
    }

    .greeting_promo-top .top_heading .large .num {
        font-size: 40px
    }

    .greeting_promo-top .top_heading::after {
        width: 120px;
        top: 20%;
        right: -7px;
        transform: translateX(0);
        z-index: -1
    }

    .greeting_promo-bottom {
        padding: 20px 20px 40px
    }

    .greeting_promo-bottom p .bold {
        font-size: 14px
    }

    .greeting_promo-bottom p .highlight {
        font-size: 15px
    }

    .promotion {
        padding: 0 0 80px 0
    }

    .promotion_banner {
        position: relative;
        z-index: 2
    }

    .promotion_banner::after,
    .promotion_banner::before {
        content: "";
        position: absolute;
        bottom: -70px;
        width: 50px;
        height: 201px;
        background: url(../images/promotion_bg02.png) center center/24px auto no-repeat;
        z-index: -1
    }

    .promotion_banner::before {
        left: -35px
    }

    .promotion_banner::after {
        right: -35px;
        transform: rotate(180deg)
    }

    .footer {
        margin-bottom: 100px
    }

    .footer_top {
        padding: 40px 0;
        flex-direction: column;
        align-items: center
    }

    .footer_top-content {
        margin-bottom: 30px
    }

    .footer_top-content p:not(:last-child) {
        margin-bottom: 10px
    }

    .footer_top-content .contact a {
        justify-content: center
    }

    .footer_top-content .contact_tel-icon {
        padding-top: 20px;
        background-size: 40px auto;
        font-size: 10px
    }

    .footer_top-content .contact_tel-num {
        font-size: 28px;
        line-height: .6em
    }

    .footer_top-content .contact_tel-detail {
        font-size: 11px
    }

    .footer_top-content .contact_tel-detail span {
        font-size: 12px
    }

    .footer_top-content .address {
        text-align: center
    }

    .footer_top-content .desc .large {
        font-size: 16px
    }

    .footer_top-content .company img {
        width: 65px
    }

    .footer_top-content .company_name {
        font-size: min(4.5vw, 16px)
    }

    .footer_top-content .company_name .large {
        font-size: min(4.5vw, 18px)
    }

    .footer_top-content .logo img {
        width: 85px
    }

    .footer_top-content p {
        font-size: 16px
    }

    .footer_top-map {
        width: 100%
    }

    .footer_top-map iframe {
        width: 100%;
        height: 210px
    }

    .footer_bottom .inner {
        column-gap: 0;
        padding-left: 8px;
        padding-right: 8px
    }

    .footer_bottom-contact .contact_title {
        display: none
    }

    .footer_bottom-contact .contact_tel {
        margin-top: 0;
        column-gap: 0;
        line-height: 1.3em
    }

    .footer_bottom-contact .contact_tel-icon {
        padding-top: 16px;
        background-size: 22px auto;
        font-size: 6px;
        line-height: 1em
    }

    .footer_bottom-contact .contact_tel-num {
        margin-left: 3px;
        margin-top: -5px;
        padding-top: 0;
        font-size: 13px
    }

    .footer_bottom-contact .contact_tel-detail {
        font-size: 7px;
        line-height: 1em
    }

    .footer_bottom-contact .contact_tel-detail span {
        font-size: 8px
    }

    .footer_bottom-btn {
        width: 100%;
        margin-left: 10px;
        column-gap: 0
    }

    .footer_bottom-btn .btn_item {
        width: 50%
    }

    .footer_bottom-btn .btn_item:not(:last-child) {
        margin-right: 5px
    }

    .footer_bottom-btn .btn_item.line a {
        line-height: .8em;
        padding: 5px 5px 5px 24px;
        background-size: 15px auto;
        background-position: 4px center
    }

    .footer_bottom-btn .btn_item.mail a {
        line-height: .8em;
        padding: 0px 5px 5px 24px;
        background-size: 14px auto;
        background-position: 4px center
    }

    .footer_bottom-btn .btn_item a {
        min-width: auto
    }

    .footer_bottom-btn .btn_item a .top {
        line-height: 1em;
        font-size: 8px
    }

    .footer_bottom-btn .btn_item a .top.big {
        font-size: 8px
    }

    .footer_bottom-btn .btn_item a .bottom {
        line-height: 1em;
        font-size: 8px
    }

    .footer_bottom-btn .btn_item a .bottom .large {
        font-size: 9px
    }

    .footer address {
        margin-bottom: 40px
    }
      .d_flex {
        line-height: 1.6;
      }

  /* 240604 */
  .footer_top-content .company img {
    width: 290px;
  }
  .header_left h1 {
    margin-right: 5px;
    margin-right: 0;
    width: 150px;
  }
  .header_left h1 img{
    width: 150px;
    height: 42px;
  }
  .header_left-gg{
    padding: 10px 16px;
    gap: 5px;
    transform: translate(10%, -50%);
    top: 50%;
    height: 70px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  .header_left-gg::before{
    top: 50%;
    left: -1px;
    transform: translate(-50%, -50%) rotate(45deg);
  }
  .header_left-gg span {
    font-size: 16px
    }
  .lp-pc-only{
    display: none;
  }
  .step_list-item .item_wrap .point{
    width: 159px;
    transform: translateY(8px);
  }
  .step_list-item .item_content{
    padding-right: 0;
  }
  .step_list-item .item_wrap .point{
    width: 150px;
    object-fit: contain;
    transform: translate(0px, 0px);
  }
  .step_list-item .item_content.step01-item{
    padding-top: 15px;
    padding-bottom: 15px;
  }
  .step01-item-text{
    width: 100%;
  }
  .branch-name{
    transform: none;
  }
  .visual_banner_txt a {
    right: inherit;
    width: 25%;
    top:5%;
    right: 6%
  }



  /*  */
  .sp374{ display: none;}
  .spmb0{ margin-bottom: 0 !important;}
  .spmb15{ margin-bottom: 15px !important;}
  .inner2{
    width: 100%;
    padding-left: 15px;
    padding-right: 15px;}

    .diagnosis{ padding: 40px 0 30px;}
  .diagnosis_heading-main{ font-size: min( 6.5vw, 40px);}
  .diagnosis_left,.diagnosis_right{width: 50%;}
  .diagnosis_left p{
    width: 100%;
    height: 300px;
    object-fit: cover;
  }
  .diagnosis_left p>img{width: 100%; height: 100%; object-fit: cover;}

  .diagnosis-img-group{ justify-content: center; margin-bottom: 15px;}
  .diagnosis-img-group img{ width: 45%; max-width: 150px;}
  .diagnosis-txt-content  { margin-bottom: 0; font-size: 18px;}
  .diagnosis-txt-content.txt-large, 
  .diagnosis-txt-content.txt-large span{
    font-size:  min( 10vw, 44px);;
  }

  .exterior-painting-bnr{padding: 0 3vw;}
  .exterior-painting-bnr p{ font-size: min( 7.5vw, 48px);}
  .exterior-painting-bnr p.exterior-painting-img{ width: 35%;}
  .exterior-painting-bg{
    height: 84%;
    top: 8%;
  }

  .exterior-painting-list{
    justify-content: center;
    gap: 1vw;
  }
  .exterior-painting-list .col{ width: 45%; gap: 1vw; justify-content: center;}
  .exterior-painting-list p{ font-size: min(5.15vw, 24px); padding: 5px 10px 5px 25px;}
  .exterior-painting-list .exterior-painting-img img{width: 150px;}

  .painting-fee_heading{ 
    font-size: min(7.5vw, 48px);
    line-height: 1.5;
    }
    .painting-fee_heading span.txt-small{font-size:min(7.5vw, 48px);}
    .painting-fee_content p{ font-size:min(6vw, 32px) ;}
    .painting-fee_content p.txt-large{ font-size: min(7.5vw, 42px);}
    .painting-fee_content::before{ width: 90%;}

    .true-cost{ padding: 50px 0 60px;}
    .true-cost_heading{ font-size: min(6vw, 32px) }
    .true-cost_heading span.txt-large{  font-size: min(10vw, 44px);}
    .true-cost_content .note-txt{ font-size: 18px;}

    .free-booklet { padding: 30px 0 30px;}
    .free-booklet_heading{ font-size: min(7.5vw, 48px);}
    .free-booklet_txtsub1{ font-size: min(6vw, 32px)}
    .free-booklet_txtsub1 span{ font-size: 130%;}
    .free-booklet_txtsub2{ font-size:min(6vw, 32px) ;}
    
    .free-booklet_contact-info{width: 100%;}
    .contact-info-tag{ width: 30%;}
    .contact-info-tag .tag{ width: 94%; font-size: 14px;}
    .contact-info-tag .tag span { font-size: min(6vw, 22px);}

    .contact-info-ctn{ gap: 2vw;}
    .contact-info-ctn .contact_img-btn a{ font-size: 14px; line-height: 1.5;}
    .contact-info-ctn .contact_img-btn a .large{ font-size: min(4vw, 22px);}
    .contact-info-ctn{ width: 70%;}
    .contact-info-ctn .contact_img-btn a{ padding: 5px 10px ;}
    .contact-info-ctn .contact_img-btn a img{ width: 20%; margin-right: 10px;}


    .contact-info-ctn>p.tel_img{ background-color: #fff; display: flex; align-items: center;}
    .contact-info-ctn>p.tel_img a{ height: 100%; align-items: center; display: flex;}

    .glass-coating{ padding: 30px 0 60px; }
    .glass-coating_heading{ font-size:min(6vw, 32px) ; padding: 1vw 1vw;}
    .glass-coating_heading .txt-shadow::before{ top: 8px;}
    .glass-coating_head-wrap>p{ font-size: min(5.15vw, 24px);}
    .glass-coating_head-wrap p span.txt-bg{ font-size: 120%; margin-left: 1vw;}
    .glass-coating_head-wrap{ width: 95%; margin: 0 auto; padding: 0 0 5vw; }
    .glass-coating_head-wrap:after{ bottom: 10px; height: 3px; left: 0; right: 0;}
    .glass-coating_body{ gap: 0; padding: 0 0;}
    .glass-coating-wrap .content{ padding: 30px 3vw;}
    .glass-coating_heading { letter-spacing: normal;}
    .glass-coating-content-wrap{ width: 45%;}
    .glass-coating-content{ padding: 5vw 3vw 3vw;}
    .glass-coating-youtube { width: 55%;}
    .glass-coating-content>p.ttl{ font-size: min(5.15vw, 24px); }
    .glass-coating-content>p { font-size: min(3vw, 18px);}
    .glass-coating-btn span{ padding: 4vw 6vw ; font-size:  min(2vw, 12px);}

    .reason_video{padding: 0 3vw 30px;}


    .solved{ padding: 30px 0;}
    .solved_heading{font-size:min(6vw, 26px)}
    .solved_heading-sub > span{ display: block; padding-bottom: 3vw;}
    .solved_heading-sub > span:after{ width: 80%; left: 50%; transform: translateX(-50% );}
    .solved-main02::before, .solved-main03::before{ height: 25px; bottom: 10px;}
    .solved-main01, .solved-main02, .solved-main03{ font-size:min(9vw, 52px) ;}
    .solved-txt2{ font-size: min(10vw, 44px); padding: 1vw 0; }
    .solved-txt2 span.txt-small{font-size: min(6vw, 32px) }
    .solved-note{ font-size: 13px;}
    .solved-txt3 { font-size:  min(6vw, 32px) ; padding-top: 15px; }
    .solved-img img{ width: 30vw; height: auto;}
    .industry_heading-main { font-size:min(11vw, 60px);}
    .industry_heading{ font-size: min(8.5vw, 50px);}
    .industry p{ font-size: min(5.15vw, 24px)}

    .guard_heading{ font-size:  min(6vw, 32px)}
    .guard_heading-main{  font-size: min(8.5vw, 50px); }
    .guard_txt1{ font-size:min(6vw, 32px)  ; padding: 25px 3vw;}
    .guard1_inner{ padding: 0 0;}
    .guard_txt3{ padding: 30px 15px 15px;}
    .guard_txt3>span{ font-size:  min(6vw, 32px)}
    .guard_txt3>span:after{height: 15px;width: 110%; left: -5%;   }
    p.guard_img{ padding: 2vw 3vw 0;}
    .guard2-item span{ font-size: min(3vw, 18px) ;}
    p.guard2_txt{ font-size:  min(6.5vw, 40px) ; margin-bottom: 3vw; }
    .guard_txt4{font-size: min(5.15vw, 24px) }
    .guard_txt4>span:before, .guard_txt4>span:after{
        width:  18vw;
        height: 18vw;
    }
    .guard_txt4>span:before{ left: -18vw;}
    .guard_txt4>span:after{ right: -18vw;}
    .guard_txt5>span{  font-size: min(8.5vw, 50px) }
    .cost_saving_heading{ font-size:  min(6.5vw, 40px) ;}
    .cost_saving_heading>span.txt-big{ font-size: min(10vw, 44px); }
    .cost_saving_sub01{font-size: min(8.5vw, 50px); font-weight: bold;  }

    .cost_saving-group{ gap: 1vw; margin-bottom: 3vw;}
    .cost_saving-item { width: 50% ;  padding: 4vw 3vw;}
    .cs-ttl{ font-size: min(8.5vw, 50px) }
    .cs-sub2{ font-size: min(5.15vw, 24px) }
    .cost_saving-item.item02 .cs-ttl{ text-align: center; padding-left: 3vw;}
    .cs-price,
    .cost_saving-item.item02>p.cs-price {font-size:min(11vw, 60px) }

    .painting-cost{ padding: 3vw 0;}
    .painting-cost .inner{ padding: 0 1vw;}
    .tbl01-scroll{overflow-x: scroll;}
    .tbl01-scroll > table.tbl01{ width: 735px; margin-bottom: 5px;}
    .painting-cost-tbl table th{ font-size: min(3vw, 18px) }
    .painting-cost-tbl table td { font-size: 16px; padding: 5px;}
    .painting-cost-tbl table tr.popular td,
    .painting-cost-tbl table tr.popular td.big{ font-size: 18px;}
    .painting-cost-tbl table tr.popular td.bigger{ font-size: min(5.15vw, 24px) ;}

    .painting-cost .tbl_highlight span{ font-size: min(6vw, 32px);}
    .painting-cost_heading, .tbl_heading{ font-size:min(6.5vw, 40px)  ; margin-bottom: 3vw;}
    .painting-cost-tbl .tbl-desc span.tag-cl{ font-size: min(5.15vw, 24px) ;}
    .tbl02-scroll{ overflow-x: scroll; margin-bottom: 0;}
    .tbl02-scroll.mb0{ margin-bottom: 0;}
    .painting-cost-tbl table.tbl02{width: 735px; margin-bottom: 5px;}
    .painting-cost-tbl table.tbl02 th span.small{ font-size: 14px;}


    .painting-cost-tbl table.tbl02 td span.main{ font-size: 20px;}
    .painting-cost-tbl table.tbl02 td span.large{ font-size: 20px; }
    .painting-cost-tbl table.tbl02 td span.larger{ font-size: min(5.8vw, 28px);}
    .painting-cost-tbl table.tbl02 td span.small{ font-size: 12px;}

    .painting-cost-col>.tbl03-scroll{ width: 100%;}
    .tbl03-scroll{ overflow-x: scroll; }
    .painting-cost-col table.tbl03 { min-width: 735px}
    .painting-cost-col table.tbl03 th{ width: 33%;}
    .painting-cost-col table.tbl03 td{ font-size: 18px;}

    .painting-cost-col{ flex-direction: column; gap: 5px;}
    .painting-cost-col table{ width: 100%;}
    .painting-cost-col table.tbl03 td { font-size: 16px;}
    .painting-img-col{ flex-direction: column;}
    .painting-img-col .img-item{ width: 100%;}
    .painting-img-col .img-item>p>span{ font-size: 18px;}
    .painting-cost-note.right { width: 100%; box-sizing: border-box; padding-top: 15px;}
    .painting-cost-note.note02{ width: 100%; box-sizing: border-box;}
    .painting-cost-note.right  p{ font-size: 16px;}
    .painting-cost-note.note02 p{ font-size: 16px;}
    .painting-cost .tbl_txt01{ font-size:min(6.5vw, 40px)}
    .expertise_heading{ font-size:min(8.5vw, 50px)}
    .expertise_sub_txt02{font-size:min(6.5vw, 40px) ;}
    .painting-cost .tbl_txt01 {
        font-size: min(5.8vw, 28px);
    }
    .painting-cost-tbl .tbl-desc p, .painting-cost-tbl .tbl-desc span {
        font-size: 18px;
        font-weight: bold;
    }

    .contact_img-main.contact-book{ padding-left: 20vw;}
}

@media screen and (min-width: 375px)and (max-width: 750px) {
	
	
    #menu-toggle {
        margin: 0 10px
    }

    .support_content-heading {
        margin-right: 55px
    }

    .support_content-heading:nth-child(2)::before {
        transform: translateY(-50%) scale(0.8);
        top: 51%;
        left: -60px
    }

    .pickme_bottom-cleaning .content_title-sub {
        font-size: 16px
    }

    .greeting_promo-top .top_heading::after {
        top: -8%
    }

    .footer_bottom-btn .btn_item.line a {
        line-height: .8em;
        padding: 5px 5px 5px 35px;
        background-size: 18px auto;
        background-position: 8px center
    }

    .footer_bottom-btn .btn_item.mail a {
        padding: 0px 5px 5px 40px;
        background-size: 18px auto;
        background-position: 11px center
    }

    .footer_bottom-btn .btn_item a {
        min-width: auto
    }

    .footer_bottom-btn .btn_item a .top {
        font-size: 9px
    }

    .footer_bottom-btn .btn_item a .top.big {
        font-size: 9px
    }

    .footer_bottom-btn .btn_item a .bottom {
        font-size: 9px
    }

    .footer_bottom-btn .btn_item a .bottom .large {
        font-size: 10px
    }
}

@media screen and (min-width: 425px)and (max-width: 750px) {
    .cost_list {
        width: 400px
    }

    .cost_list-item {
        max-width: 106px
    }

    .greeting {
        background-position: 100% 0%, -147px 1080px
    }

    .greeting_promo-top .top_img {
        width: 100px;
        left: 10px
    }

    .greeting_promo-top .top_heading::after {
        width: 180px;
        top: -15px;
        transform: translateX(0)
    }

    .greeting_promo-top {
        padding: 30px 30px 10px 110px
    }

    .quote_img-sub {
        width: 65% !important;
        right: -130px;
        bottom: -60px
    }

    .cost_box-content .content_case-item .item_heading {
        font-size: 23px
    }

    .cost_box-content .content_case-item .item_heading .recommend {
        width: 140px
    }

    .pickme_mid-img::before {
        top: -60%;
        left: -53%;
        width: 165px
    }

    .pickme_mid-content .content_img img {
        max-width: 240px
    }

    .pickme_mid-img {
        max-width: 200px
    }

    .pickme_bottom-flow .flow_item-content .title_main.font-s {
        font-size: min(7vw, 34px)
    }

    .pickme_bottom-flow .flow_item:first-child img {
        max-width: 200px
    }

    .pickme_bottom-flow .flow_item-content .title_num {
        font-size: 72px
    }

    .pickme_bottom-flow .flow_item-content .title::after {
        font-size: 100px
    }

    .pickme_bottom-heading .title_sub {
        font-size: min(6vw, 26px)
    }

    .pickme_bottom-heading .title_main {
        font-size: min(6vw, 32px)
    }

    .footer_bottom .inner {
        padding-left: 15px;
        padding-right: 15px
    }

    .footer_bottom-btn .btn_item.line {
        justify-content: center
    }

    .footer_bottom-btn .btn_item.mail {
        display: flex;
        align-items: center;
        justify-content: center
    }

    .footer_bottom-contact .contact_tel-icon {
        padding-top: 19px;
        background-size: 26px auto;
        font-size: 7px
    }

    .footer_bottom-contact .contact_tel-num {
        padding-top: 5px;
        font-size: 16px
    }

    .footer_bottom-contact .contact_tel-detail {
        font-size: 9px
    }

    .footer_bottom-contact .contact_tel-detail span {
        font-size: 10px
    }
}

@media screen and (min-width: 525px)and (max-width: 750px) {
    .featured {
        padding: 60px 0;
        background: url(../images/featured_bg.png) 90% 0%/190% auto no-repeat, #c9d1e0
    }

    .featured_video-title::before {
        left: 12%;
        width: 160px
    }
    

    .contact_top {
        background-position: -80px 0
    }

    .contact_top-heading .main::before {
        left: 50px
    }

    .contact_bottom-heading {
        font-size: min(3.75vw, 28px)
    }

    .contact_bottom-heading .large {
        font-size: min(5.5vw, 38px)
    }

    .contact_bottom-heading::after {
        width: 85px;
        height: 85px;
        right: -85px;
        top: calc(50% + 10px)
    }

    .contact_btn {
        transform: translateY(calc(100% - 15px)) scale(0.75)
    }

    .contact_img-main img {
        width: auto
    }

    .step_list-item .item_heading-no {
        flex-wrap: nowrap
    }

    .step_list-item .item_heading-no .title {
        margin-left: 5px;
        margin-bottom: 5px;
        width: auto
    }

    .step_list-item .item_heading {
        padding: 15px 15px 0 15px
    }

    .step_list-item .item_wrap {
        padding-left: 50px
    }

    .step_list-item .item_heading-no span,
    .step_list-item .item_desc.desc-1 {
        font-size: 18px
    }

    .step_list-item .item_desc {
        font-size: 16px
    }

    .step_list-item .item_desc .large {
        font-size: 18px
    }

    .step_list-item .item_wrap .point {
        width: 150px;
        transform: translateY(3px)
    }

    .step_list-item .item_heading-no .num {
        margin-left: 8px;
        font-size: 52px
    }

    .step_list-item .item_heading-no .title {
        font-size: 22px
    }

    .cost {
        background-size: 1040px auto, cover;
        background-position: 0 7%, center
    }

    .cost_box-content .content_chart-img::after {
        width: 140px;
        top: -140px;
        right: 0px
    }

    .greeting {
        background-position: 100% 0%, -147px 880px
    }

    .pickme_mid-content .content_heading::after {
        width: 35px;
        top: -14px;
        right: 35px
    }

    .pickme_bottom-heading,
    .pickme_bottom-flow .flow_item-content .title {
        flex-direction: row
    }

    .cost_box-content .content_case-item .item_content-detail li {
        font-size: 14px
    }

    .support_content-heading span {
        font-size: 40px
    }

    .support_content-desc {
        font-size: 20px
    }

    .support_content-heading img {
        width: 100px
    }

    .support_top-sub {
        width: 230px
    }

    .support_mid-content,
    .support_mid2-content {
        padding: 40px 60px
    }

    .support_mid-content .content_list-item,
    .support_mid2-content .content_desc {
        font-size: 16px
    }

    .support_mid-content .content_list-item {
        padding-left: 40px;
        background-size: 30px auto
    }

    .pickme_top-box {
        padding: 15px;
        font-size: 14px
    }

    .pickme_top-heading {
        font-size: 44px
    }

    .pickme_top-heading .large {
        font-size: 52px
    }

    .pickme_top-heading .num {
        font-size: 110px
    }

    .pickme_top-heading::before {
        font-size: 20px
    }

    .pickme_mid-content .content_img img {
        max-width: 280px
    }

    .pickme_mid-img {
        max-width: 240px
    }

    .pickme_mid-check li {
        padding: 20px
    }

    .pickme_mid-check li span {
        background-size: 34px auto;
        padding-left: 40px;
        font-size: 16px
    }

    .case_slider-thumb .slick-track {
        gap: 10px;
        grid-column-gap: 10px;
        grid-row-gap: 10px
    }

    .header_left-logo {
        margin-right: 10px;
        padding: 8px;
        width: 100px
    }

    .header_left h1 {
        margin-right: 10px;
    }

    .header_left-company {
        font-size: 14px
    }

    .header_left-gg span .num {
        font-size: 14px
    }

    .compare_flow .flow_item-title {
        font-size: 14px
    }

    .compare_flow .flow_item-desc {
        font-size: 14px
    }

    .compare_flow .flow_item-desc .large {
        font-size: 16px
    }

    .compare .flow_sub-title {
        font-size: 13px
    }

    .greeting_sign-top {
        font-size: 14px
    }

    .greeting_sign-top .large {
        font-size: 16px
    }

    .greeting_sign-bottom img {
        width: 100px
    }

    .greeting_sign-bottom span {
        font-size: 14px
    }

    .support_mid2 {
        margin-top: 120px
    }

    .support_mid2-img {
        top: -180px
    }

    .footer_bottom-btn {
        width: 55%
    }

    .footer_bottom-contact .contact_tel-icon {
        padding-top: 25px;
        background-size: 36px auto;
        font-size: 9px
    }

    .footer_bottom-contact .contact_tel-num {
        margin-left: 5px;
        padding-top: 10px;
        font-size: 28px
    }

    .footer_bottom-contact .contact_tel-detail {
        font-size: 11px;
        line-height: 1.5em
    }

    .footer_bottom-contact .contact_tel-detail span {
        font-size: 12px
    }
}
@media screen and (max-width: 680px) {
    .sp680{display: block !important;}
    .diagnosis_heading-main{font-size: min(6vw, 32px); }
    .exterior-painting-list .col{width: 48%;}
    .exterior-painting-list .col:nth-child(2){ padding-left: 1vw;}
    .exterior-painting-list p:last-child{ margin-bottom: 0;}
    
    .true-cost_heading span.txt-large {
        font-size: min(6.5vw, 40px);
    }

    .painting-fee_content p.txt-large{ font-size: min(6vw, 32px);}
    .free-booklet_txtsub1{font-size: min(5.15vw, 24px)}
    .free-booklet_txtsub2{font-size: min(6.5vw, 40px);}

    .glass-coating_head-wrap>p {
        font-size: min(4vw, 22px);
    }

    .glass-coating_heading{font-size: 7vw;}
    .glass-coating_heading .txt-shadow::before{
        content: "無機塗料を超えた、\a 革新的な技術";
        white-space: pre-wrap;
        top: 3px;
    }

    .contact-info-tag .tag{ padding-right: 4vw;}

    .solved-txt1{font-size: min(5.8vw, 28px);}
    .solved-txt3,
    .solved_heading-sub{ font-size: min(5.15vw, 24px);}
    .solved_heading-main{font-size: min(5.15vw, 24px); }
    .solved-main01, .solved-main02, .solved-main03{font-size: min(6.5vw, 40px);}
    .solved-txt2 {
        font-size: min(6vw, 32px);
    }
    .industry_heading {
        font-size: min(7.5vw, 48px);
    }
    .industry p{
        font-size: min(3.8vw, 20px);
    }
    .guard_heading {
        font-size: min(5.8vw, 28px);
    }
    .guard_heading-main{font-size: min(6.5vw, 40px);}
    .guard_txt1 {
        font-size: min(5.15vw, 24px);
    }
    .guard_txt3{ padding: 30px 0;}
    .guard_txt3>span{
        font-size: min(5.8vw, 28px);
    }
    p.guard_img{ padding-top: 30px; margin-top: 0;}

    .guard2-list{ flex-wrap: wrap; padding-bottom: 0;}
    .guard2-item{ width: 45%;}
    p.guard2_txt{ font-size: min(5.8vw, 28px)}
    .guard_txt4>span:before, .guard_txt4>span:after{
        width: 16vw;
        height: 16vw;
    }
    .guard_txt4>span:before{ left: -15vw;}
    .guard_txt4>span:after{ right: -16vw;}
    .guard_txt5{ margin-bottom: 0;}
    .guard_txt5>span {
        font-size:min(6.5vw, 40px);
    }

    .cost_saving_heading {
        font-size: min(5.8vw, 28px);
        line-height: 1.5;
    }
    .cost_saving_sub01{font-size:min(6.5vw, 40px);}
    .cs-ttl,
    .cost_saving-item.item02 .cs-ttl{font-size:min(6.5vw, 40px); }
    .cs-sub{ font-size: min(3.8vw, 20px);}
    .cs-sub2{ padding: 0 5px; font-size: min(3.8vw, 20px)}

    .painting-cost .tbl_highlight span {
        font-size:  min(5.8vw, 28px);
    }
    .exterior-painting-img img{
        max-width: 30vw; height: auto;
    }
    .expertise_heading {
        font-size: min(6.5vw, 40px);
    }
    .expertise_sub_txt{ font-size:  min(5.15vw, 24px);}
    .payment_heading{ font-size:  min(5.8vw, 28px);}

    .award_img-item{ max-width: 300px;}

}
@media screen and (max-width: 625px) {
    .sp625{ display: block !important;}
    .inner2{ padding-left: 3vw; padding-right: 3vw;}
    .award_mid-book {
        flex-direction: column;
        justify-content: center;
        align-items: center
    }

    .award_mid-book li {
        width: 100%;
        max-width: 280px
    }


    .diagnosis{ background: url(../images/diagnosis_heading_bg.png) center top 6vw no-repeat, #002060; background-size: 100% auto;}
    .diagnosis_heading{ margin-bottom: 5vw;}
    .diagnosis_heading-main{ font-size: 5vw;}
    .diagnosis-txt-content{ font-size: 4vw;}
    .diagnosis-txt-content.txt-large span {font-size: 10vw;}
    .diagnosis_flex{ flex-direction: column; align-items: center; gap: 6vw;}
    .diagnosis_left, .diagnosis_right {
        width: 100%;
        min-width: 300px;
    }
    .diagnosis_left p {
        width: 100%;
        height: auto;
    }
    .diagnosis-img-group img{ max-width: unset;}

    .exterior-painting-list{ padding: 40px 0 20px;}
    .exterior-painting-fee{ padding: 5vw 3vw 3vw;}
    .painting-fee_content{ padding-top: 3vw;}
    .painting-fee_content p{ font-size: 5vw;}
    .painting-fee_content p.txt-large{ font-size: 5.5vw;}

    .true-cost{ padding: 8vw 0 5vw ;}
    .true-cost_content .note-txt{ font-size: 14px;}
    .free-booklet_txtsub1 {font-size: 4.5vw;}
    .free-booklet_txtsub2 { font-size: 7vw;}
    .free-booklet_txtsub1 span{ font-size: 120%;}
    .free-booklet_img-group{ gap: 3vw;}

    .free-booklet_contact-info{ flex-direction: column; gap: 15px;}
    .contact-info-tag { 
        width:  210px;
        height: 136px;
        background: url(../images/contact-info-tag_bgsp.png)no-repeat;
        background-size: 100% 100%;
    } 
    .contact-info-tag .tag{ 
        width: 100%;
        padding: 10px 3vw;
        margin-right: 0;
        background: unset;
        font-size: 18px;
        
    }
    .contact-info-tag .tag span{ font-size: 30px;}

    .contact-info-ctn{ width: 100%;}
    .contact_img-btn a > span{ padding-left: 3vw;}
    .glass-coating-wrap .content{ padding: 5vw 3vw;}
    .glass-coating_heading{ font-size: 7vw; line-height: 1.5em; margin-bottom: 3vw;}
    .glass-coating_head-wrap>p{ font-size: 3vw;}
    .glass-coating_head-wrap{ padding: 0 0 8vw;}
    .glass-coating_head-wrap:after{height: 2px;}

    .glass-coating_body{ flex-direction: column; padding: 0 3vw 5vw; align-items: center;}
    .glass-coating-content-wrap{ width: 80%;}
    .glass-coating-content { padding: 10vw 3vw 9vw;}
    .glass-coating-content>p.ttl{ font-size: 6vw;}
    .glass-coating-content>p{ font-size: 4vw;}
    .glass-coating-btn span{ 
        font-size: 4vw; 
        padding: 5vw 15vw 10vw;
        background: url(../images/glass-coating-btn_bgsp.png)no-repeat;
        background-size: 100% 100%;
    }
    .glass-coating-youtube{ width: 100%;}

    .reason_video{ aspect-ratio: 723/445;}

    .solved_heading{padding: 3vw 0;}
    .solved-txt3, .solved_heading-sub{ font-size: 16px;}
    .solved_heading-sub > span:after{ bottom: -3vw;}
    .solved_heading-sub > span:after { display: none;}
    .solved_heading-sub{ position: relative; margin-bottom: 3vw;}
    .solved_heading-sub:after{
        position: absolute;
        content: "";
        left: 3vw;
        right: 3vw;
        bottom: -3vw;
        height: 3px;
        background: rgb(0, 0, 0);
        background: linear-gradient(90deg, rgba(0, 0, 0, 1) 0%, rgba(29, 135, 253, 1) 50%, rgba(69, 217, 252, 1) 100%);
    }
    .solved_heading-main{ font-size: 14px; padding-top: 3vw;}
    .solved-main01, .solved-main02, .solved-main03 {
        font-size: 22px;
        padding: 0 5px;
    }

    .solved-main02::before, .solved-main03::before {
        position: absolute;
        z-index: -1;
        content: "";
        width: 80%;
        height: 15px;
        bottom: 0;
        background-color: #b4c7e7;
    }
    .solved-img { margin-bottom: 3vw;}
    .solved-img img{ width: 80px;}
    .solved-txt3{ padding-bottom: 3vw; }
    .solved-txt3 span{ font-size: 4vw; line-height: 1.5em;}
    .solved-txt3 span:after{ bottom: -3vw;}

    .industry{ padding: 5vw 3vw 7vw;}
    .industry_heading-main{ font-size: 9vw; line-height: 1.5em;}
    .industry_heading{ font-size: 6vw;}
    .industry p{ font-size: 18px;}

    .guard_heading{font-size: 4vw; padding: 5vw 3vw 6vw;}
    .guard_heading-main{ font-size: 6vw;}
    .guard_txt1{ font-size: 5vw;}
    .guard_txt3{padding: 3vw 0;}
    .guard_txt3>span span.blue{ position: relative;}
    .guard_txt3>span span.blue:after{
        position: absolute;
        z-index: -1;
        content: "";
        bottom: 0;
        left: 0;
        width: 100%;
        height: 3vw;
        background-color: #fdfd1a;
    }
    .guard_txt3>span:after{height: 3vw; width: 110%; left: -3vw;}
    .guard1_inner p.guard_img{ padding: 0 0; margin-bottom: 5vw;}
    .guard2-list{ padding: 5vw 0;}
    .guard2-item span{padding: 3vw 2vw; font-size: 16px;}

    .guard_txt4{padding: 3vw 15vw; font-size: 14px; margin: 3vw 0;}
    .guard_txt4>span:before, .guard_txt4>span:after {
        width:  14vw;
        height: 14vw;
    }
    .guard_txt4>span:before{ left: -15vw;}
    .guard_txt4>span:after{ right: -15vw;}
    p.guard_img{ margin-bottom: 3vw;}

    .cost_saving{ padding: 8vw 0;}
    .cost_saving_heading{ font-size: 5vw;}
    .cost_saving_heading>span.txt-big{ font-size: 8vw;}
    .cost_saving-item>p {margin-bottom: 3vw}

    .cost_saving-group{ flex-direction: column; align-items: center; gap: 3vw;}
    .cost_saving-item{ width: 100%; max-width: 500px; padding: 7vw 3vw 5vw;}
    .cost_saving-item.item02{padding: 8vw 3vw 6vw; }
    .cost_saving_sub01 .txt-small{ font-size: 75%;}
    .cs-ttl, .cost_saving-item.item02 .cs-ttl{ font-size: 8vw;}
    .cs-sub{ font-size: 6vw;}
    .cs-sub2{ font-size: 5vw;}
    .cs-price, .cost_saving-item.item02>p.cs-price{ font-size: 10vw;}
    .cost_saving-note{ font-size: 16px;}

    .painting-cost{padding: 5vw 0;}
    .painting-cost .tbl_highlight span{ display: block;}
    .painting-cost .tbl_highlight{ margin-bottom: 5vw;}
    .tbl02-scroll{ margin-bottom: 0;}

    .painting-img-col .img-item>p{ margin-bottom: 3vw;}
    .painting-img-col .img-item>p>span{padding-bottom: 0;}
    .painting-cost-note.right{ margin-bottom: 3vw !important;}

    .expertise{ padding: 8vw 0 10vw;}
    .expertise_heading{ font-size: 8vw;}
    .expertise_sub_txt{ font-size: 4vw;}
    .expertise_sub_txt02{ font-size: 6vw;}
    .contact_img-main img { width: 120px;}
    .expertise_img_group{ margin-bottom: 5vw;}
    .contact_img-main.contact-book span.book-txt{ font-size: 5vw;}
}


@media screen and (max-width: 524px) {
    .header_left h1{ width: 150px;}
    .header_left-gg { height: 45px;}
    .header_left-gg img { max-width: 180px; }
    .header_left-gg span{ font-size: 14px; }

    .contact-info-tag{
        width: 190px;
        height: 110px;
    }
    .contact-info-tag .tag { font-size: 16px;}
    .contact-info-tag .tag span{ font-size: 6vw;}

}

@media screen and (max-width: 480px) {
    .header_left-gg{width: 185px; padding: 5px 5px;}
    .header_left-gg img {max-width: 100%;}
    .header_left-gg span{ font-size: 12px;line-height: 1.5;}

    #menu-toggle{ width: 40px; height: 35px; margin: 0 0;}
}

@media screen and (max-width: 420px){
    .header_left-gg{ width: 32vw; height: 60px;}
}
@media screen and (max-width: 400px) {
	.true-cost_heading span.fix_txt {
		width: 40px;
		height: 40px;
		left: -50px;
		top: -5px;
		border: 2px solid #fd0001;
		padding-top: 6px;
	}
}

@media screen and (max-width: 374px) {
    .sp374{ display: block !important;}
    .contact_img-main {
        margin-bottom: 65px
    }

    .contact_img-main img {
        width: 230px
    }
	
	.true-cost_heading span.fix_txt {
		width: 35px;
		height: 35px;
		left: -45px;
		top: -5px;
		border: 2px solid #fd0001;
		padding-top: 6px;
	}


    .diagnosis_heading-main { font-size: 18px;}
    .diagnosis-txt-content{ font-size: 16px;}
    .diagnosis-txt-content.txt-large span{ font-size: 12vw;}
    .exterior-painting-bnr{ gap: 3vw;}
    .exterior-painting-bnr p{font-size: 7vw;}

    .exterior-painting-list{ padding: 5vw 0 3vw;}
    .exterior-painting-list p{ padding: 3vw 0 3vw 2vw; font-size: 13px;}
    .exterior-painting-list .exterior-painting-img img{ width: 80px;}

    .glass-coating_heading{ margin-bottom: 2vw;}
    .glass-coating_heading span{ font-size: 24px; line-height: 1.5; margin-bottom: 3vw;}
    .glass-coating_head-wrap>p{font-size: 14px; line-height: 2em;}
    .glass-coating_head-wrap p span.txt-bg{ margin-left: 0; }
    .glass-coating_head-wrap:after{left: 3vw; right: 3vw;}
    .glass-coating-content>p.ttl { font-size: 5vw;}
    .solved_heading-sub { font-size: 15px;}
    .solved-main01, .solved-main02, .solved-main03{ font-size: 20px;}

    .solved_heading-sub,
    .solved-txt3 span{ font-size: 18px;}
    .solved-txt3 span:after { width: 113%;}

    .industry_heading{ font-size: 22px;}
    .industry p{ font-size: 16px; line-height: 1.5;}

    .industry_heading{ font-size: 20px;}
    .guard_heading-main {
        font-size: 7vw;
    }
    .guard_txt1 { font-size: 15px;}
    .guard_txt4>span{ display: inline-block;}

    .cost_saving-note{ font-size: 13px;}
    .contact_btn{ left: 5px; bottom: -15px;}
    .contact_img-main.contact-book{ flex-direction: column;}
    .contact_img-main.contact-book span.book-txt {
        font-size: 24px;
        
    }
    .contact_img-main img{ width: 180px;}
    .contact-info-tag .tag{ font-size: 14px;}
}
@media screen and (max-width: 320px) {
    .sp320{ display: block !important;}
    
}



@-moz-document url-prefix() {}
