@media screen and (min-width: 751px) {
    a[href^="tel:"] {
        pointer-events: none;
    }

    .sp {
        display: none;
    }
}


/* screen-max:1023px */
@media screen and (max-width: 1200px) and (min-width: 1024px) {
    .inner {
        max-width: 100%;
        width: 100%;
        padding: 0 15px;
    }

    .s02-box01 ul {
        width: 100%;
    }

    .s02-box01 ul li {
        width: calc(100%/3 - 15px);
    }

    .s03-box01 ul {
        width: 100%;
    }

    .s03-box01 ul li {
        width: calc(100%/3 - 20px);
    }

    .s04-box01 ul {
        width: 100%;
    }

    .s05-box02 ul li {
        width: calc(100%/3 - 20px);
    }

    .s06-box01 ul {
        width: 100%;
    }

    .s06-box01 ul li {
        width: calc(100%/3 - 20px);
    }

    .s06-box02 ul {
        width: 100%;
    }

    .s06-box02 ul li {
        width: calc(100%/3 - 20px);
    }
	.s01-box01 .sec01_merit_list .sec01_merit_item {
        width: calc(100%/3 - 15px);
    }
}

@media screen and (max-width: 1024px) and (min-width: 769px) {
    #wrapper .mv_list .mv_item.it_right .list_img {
        width: 100%;
        height: 50vw;
    }

    #wrapper .mv_list .mv_item.it_right p.img {
        height: 100%;
    }

    .problem_list {
        justify-content: center;
        flex-wrap: wrap;
        gap: 10px;
    }

    .problem_list li {
        width: 30%;
        max-width: 220px;
    }
}

/* screen-max:1023px */
@media screen and (max-width: 1023px) {
    .lp_page .sp_menu_con .contact_btn1.top-test {
        background: #000;
        border-radius: 10px;
        box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 1px 3px 1px;
        width: 55%;
        margin: 10px auto;
        padding: 20px;
    }

    .mv_list .contact-btn .tel .sp {
        display: none;
    }

    .mv_list .contact-btn .tel .sp {
        display: block;
    }

    .mv_list {
        display: block;
    }

    #wrapper .mv_list .mv_item.it_left {
        width: auto;
        margin-bottom: 40px;
    }

    #wrapper .mv_list .mv_item.it_right .caption {
        width: 240px;
        font-size: 16px;
    }

    #wrapper .mv_list .mv_item.it_right .caption>img {
        width: auto;
        height: auto;
    }

    .lp_page #sec01 {
        padding: 0 0 40px;
    }

    .lp_page #sec01 .txt-sub {
        font-size: 14px;
        width: auto;
        margin-bottom: 20px;
    }







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

    #wrapper,
    main,
    .inner {
        width: 100% !important;
        min-width: unset !important
    }

    .inner {
        box-sizing: border-box;
        margin: 0 auto;
        padding: 0 15px;
        position: relative;
    }

    .pc {
        display: none !important
    }

    #sp-menu .menu_btn li a {
        font-size: 14px;
    }


    #sec01 .txt-sub2 {
        padding: 0 30px;
    }

    .s01-box01 .sec01_merit_list {
        width: 100%;
        /*max-width: 896px;*/
		gap: 30px;
    }

    .s02-box01 ul,
    .s03-box01 ul,
    .s04-box01 ul,
    .s05-box01 ul,
    .s06-box01 ul {
        width: 100%;
    }

    .s02-box01 ul {
        gap: 30px;
    }

    .s02-box01 ul li {
        width: calc(100%/3);
    }

    .s03-box01 ul {
        gap: 30px;
    }

    .s03-box01 ul li {
        width: calc(100%/2 - 15px);
    }

    .s04-box01 ul {
        flex-direction: column;
    }

    .s04-box01 ul li {
        width: 100%;
    }

    .s04-box01 ul li:nth-child(2) {
        height: auto;
    }

    .s04-box01 ul li:nth-child(2) .txt {
        margin-bottom: 0;
    }

    .s04-box01 ul li:nth-child(2) .img img {
        transform: rotate(90deg);
    }

    .s04-box01 ul li.org,
    .s04-box01 ul li.blue {
        width: 100%;
    }

    .s04-box01 ul li.arr {
        width: 100%;
    }

    .s04-box01.noarr ul li.blue {
        margin-bottom: 35px;
    }

    .s04-box02 {
        padding: 32px;
    }

    .s05-box01 ul::after {
        content: none;
    }

    .s05-box01 ul {
        flex-direction: column;
        gap: 32px;
    }

    .s05-box01 ul li {
        display: flex;
        width: 100%;
        padding-bottom: 56px;
        background: url(../images/s05-arrow-down.svg) no-repeat center bottom;
    }

    .s05-box01 ul li:last-child {
        padding-bottom: 0;
        background: none;
    }

    .s05-box01 ul li .step-img {
        flex-shrink: 0;
        margin-right: 16px;
        width: 80px;
        height: 80px;
    }

    .s05-box01 ul li .step-img img {
        width: 32px;
        height: 32px;
    }

    .s05-box01 ul li .content {
        flex: 1;
        align-items: flex-start;
    }

    .s05-box01 ul li .content .en-ttl {
        margin: 0 0 15px;
        font-size: 12px;
    }

    .s05-box01 ul li .content .txt {
        text-align: left;
    }

    .s05-box02 ul {
        gap: 30px;
    }

    .s05-box02 ul li {
        width: calc(100%/3);
    }

    .s06-box01 ul {
        gap: 30px;
    }

    .s06-box02 ul {
        width: 100%;
    }

    .s06-box02 ul li {
        width: calc(100%/2 - 15px);
    }

    .s06-box03 ul {
        padding: 0 32px;
    }

    .s07-box01 {
        flex-direction: column;
    }

    .s07-box01 .s07-contact-form,
    .s07-box01 .s07-contact-info {
        width: 100%;
        max-width: none;
    }

    .s07-contact-form .btn.tel a {
        background: url(../images/tel.svg) no-repeat calc(50% - 68px) center;
        background-size: 18px 18px;
    }

    .s07-info01 dt {
        align-items: center;
    }

    .s07-info02 dl .img,
    .s07-info01 dl .img {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .s07-info02 dt {
        align-items: center;
    }

    .contact-sp ul .sp-tel a {
        height: 100% !important;
    }

    .s07-box01 .s07-contact-form {
        padding: 56px 24px;
    }
	.s01-box01 .sec01_merit_list .sec01_merit_item {
    width: calc(100%/3);
  }
}

/* screen-max:768px */
@media screen and (max-width: 768px) {
    /*=====================================================
                          C U S T O M
    ======================================================*/

    /*============ HEADER ============*/

    /*============ Main ============*/
    main {}

    main p {
        font-size: 18px;
    }


    #wrapper .mv_list .mv_item.it_right .list_img {
        width: 100%;
        height: 54vw;
    }

    #wrapper .mv_list .mv_item.it_right p.img {
        width: 100%;
        height: 100%;
    }

    /* sec01 */
    #sec01 h1 {
        font-size: 36px;
    }

    #sec01 .txt-sub {
        font-size: 20px;
        margin-bottom: 32px;
    }

    #sec01 .txt-sub2 {
        font-size: 18px;
    }

    .contact-btn {
        margin: 48px 0 64px;
    }

    .s01-box01 .sec01_merit_list {
        gap: 15px;
    }

    .s01-box01 .sec01_merit_list .sec01_merit_item {
        height: auto;
        width: calc(100%/3 - 15px);
    }

    /* sec02 */
    #sec02 .txt-sub {
        padding: 0 50px;
    }

    .s02-box01 ul li {
        width: calc(100%/3 - 15px);
        height: auto;
    }

    /* sec03 */
    #sec03 .txt-sub {
        padding: 0 50px;
    }

    /* sec04 */
    #sec07 .txt-sub,
    #sec06 .txt-sub,
    #sec05 .txt-sub,
    #sec04 .txt-sub {
        padding: 0 45px;
    }

    .s04-box01 ul li {
        height: auto;
        padding: 56px 32px;
    }

    .s04-box01 ul li:nth-child(2) {
        padding: 32px 32px;
    }

    .s04-box02 ul li {
        width: 47%;
    }

    .s04-box03-item dd {
        height: 25px;
    }

    /* sec05 */
    .s05-box02 ul li {
        height: auto;
    }

    /* sec06 */
    .s06-box01 ul li {
        height: auto;
        padding: 30px 20px;
    }

    .s06-box01 ul li .num {
        line-height: 1.2;
    }

    .s06-box02 ul li>.s06-content .txt-sub {
        padding: 0 0 !important;
    }

    /* sec07 */
    .s07-info02 dd {
        gap: 0;
    }

    /*============ FOOTER ============*/
    #sec01 .mv_list p.tg_h1 {
        font-size: 30px;
    }

    #sec01 .mv_list p.tg_h1 span {
        font-size: 40px;
    }

    #sec01 .mv_list .txt-sub3 {
        font-size: 24px;
    }

    .sec01_problem {
        padding: 40px 0px 40px;
		margin-bottom: 40px;
    }

    .problem_list {
        justify-content: center;
        flex-wrap: wrap;
        gap: 10px;
    }

    .problem_list li {
        width: 31%;
        max-width: 220px;
    }

    .problem_list li span {
        font-size: 15px;
    }

    .problem_logo {
        display: block;
        font-size: 16px;
    }

    .problem_logo img {
        width: 200px;
        margin-bottom: 10px;
    }

    .problem_logo span {
        display: block;
    }

    .sec01_problem .contact-btn {
        margin: 20px 0 0;
    }
	.s01-box01 .sec01_merit_list {
        gap: 30px;
        flex-direction: column;
		max-width: 600px;
    }

    .s01-box01 .sec01_merit_list .sec01_merit_item {
        width: 100%;
    }

    .s01-box01 .sec01_merit_list .sec01_merit_item h3 {
        margin-bottom: 0;
    }
	.s01-box01 .slick-dots li button::before {
		font-size: 18px;
	}
	.s01-box01 .slick-dots li.slick-active button:before {
		color: #747474;
	}
	.sec03_box_tit {
		display: flex;
  flex-wrap: wrap;
		justify-content: center;
	}
	.sec03_box_tit .img_r {
		order: 3;
	}
	.s03-box01 {
  padding-top: 10px;
}
	.s07-info01 .img_r {
		width: 20%;
	}
	.s07-contact-info .s07-info03 {
		padding: 30px 10px 30px 20px;
	}
	.s07-info03 .img_r {
		width: 24%;
	}
	.s07-box02 {
  padding: 25px 0;
	}
	.s07-box02 .img_r, .s07-box02 .img_l {
		width: 20%;
	}
	.box_contact01 .img_l {
	width: 16%;
}
	.box_contact01 .img_r {
	width: 21%;
}
	.box_contact02 .img_l {
	width: 20%;
}
	.s07-contact-info .s07-info02 {
		padding: 30px 20px;
	}
}

/* screen-max:640px */
@media screen and (max-width: 640px) {

    .s02-box01 ul {
        gap: 15px;
    }

    .s05-box01 ul li .content .en-ttl {
        margin: 0px 0 10px;
        font-size: 10px;
    }
}

/* screen-max:600px */
@media screen and (max-width: 600px) {

    #sec01,
    #sec02,
    #sec03,
    #sec04,
    #sec05,
    #sec06,
    #sec07,
    #sec08 {
        padding: 40px 0;
    }

    

    #sec02 h2,
    #sec03 h2,
    #sec04 h2,
    #sec05 h2,
    #sec06 h2,
    #sec07 h2 {
        font-size: 30px;
    }

    .s02-box01 ul {
        gap: 30px;
        flex-direction: column;
    }

    .s02-box01 ul li {
        width: 100%;
    }

    .s02-box02 {
        padding: 48px 32px;
    }

    .s02-box02 h3 {
        font-size: 24px;
    }

    .s03-box01 ul {
        flex-direction: column;
    }

    .s03-box01 ul li {
        width: 100%;
        min-height: unset;
        padding: 32px 32px;
    }

    .s04-box01 ul li {
        padding: 56px 32px;
    }

    .s04-box01 ul li .price {
        margin-bottom: 0;
        line-height: 1.2;
        font-size: 32px;
        letter-spacing: 0;
    }

    .s04-box01 ul li .img {
        margin-bottom: 10px;
    }

    .s05-box02 {
        padding-bottom: 30px;
    }

    .s05-box02 ul {
        flex-direction: column;
    }

    .s05-box02 ul li {
        width: 100%;
    }

    .s05-box02 ul li img {
        width: 35px;
        height: 35px;
    }

    .s06-box01 ul {
        flex-direction: column;
    }

    .s06-box01 ul li {
        width: 100%;
    }

    .s06-box02 ul {
        flex-direction: column;
    }

    .s06-box02 ul li {
        width: 100%;
    }

    .s06-box03 ul {
        flex-direction: column;
    }

    .s07-info02 dl .img,
    .s07-info01 dl .img {
        width: 20px;
        height: 20px;
    }

    .s07-box02 h3 {
        font-size: 24px;
    }


    .problem_tit {
        font-size: 30px;
    }

    #sec01 .mv_list p.tg_h1 {
        font-size: 22px;
        display: grid;
    }

    #sec01 .mv_list p.tg_h1 span {
        font-size: 28px;
        margin-top: 10px;
    }

    #sec01 .mv_list .txt-sub2 {
        font-size: 16px;
    }

    #sec01 .mv_list .txt-sub3 {
        font-size: 18px;
    }
}

/* screen-max:500px */
@media screen and (max-width: 500px) {
    .spmb10 {
        margin-bottom: 10px;
    }

    #wrapper .mv_list .mv_item.it_right .list_img {
        height: 50vw;
    }

    #sec02 h2,
    #sec03 h2,
    #sec04 h2,
    #sec05 h2,
    #sec06 h2,
    #sec07 h2 {
        letter-spacing: -0.01em;
        font-size: 28px;
    }

    #sec01 p.tg_h1 {
        font-size: 10vw;
        letter-spacing: -0.01em;
    }

    #sec01 .txt-sub {
        letter-spacing: -0.01em;
    }

    #sec01 .txt-sub2 {
        padding: 0 0;
    }

    .contact-btn {
        gap: 15px;
        flex-direction: column;
    }

    .contact-btn li a {
        margin: 0 auto;
    }


    /*.s01-box01 ul li {
        padding: 48px 24px;
    }*/

    #sec07 .txt-sub,
    #sec06 .txt-sub,
    #sec05 .txt-sub,
    #sec04 .txt-sub,
    #sec03 .txt-sub,
    #sec02 .txt-sub {
        padding: 0 0;
        letter-spacing: -0.01em;
    }

    .s02-box01 ul li {
        padding: 56px 24px;
    }

    .s02-box02 {
        padding: 48px 30px;
    }

    .btn_group.flex_center {
        flex-direction: column;
    }

    .btn_group .btn,
    .btn_group .btn a {
        width: 100%;
    }

    .s04-box02-i.i01 .content p {
        letter-spacing: -0.1em;
    }

    .s04-box02-i.i01 .img img {
        width: 35px;
        height: auto;
    }

    .s04-box02 ul li {
        width: 100%;
    }

    .s04-box02-i .price {
        letter-spacing: -0.05em;
    }

    .s04-box03 {
        padding: 32px 30px;
    }

    .s04-box03-item dt {
        width: 60px;
    }

    .s04-box03-item dd {
        width: calc(100% - 60px);
    }

    .s04-box03-item.i03 dd::after {
        padding-right: 10px;
    }

    .s05-box01 ul li {
        padding-bottom: 50px;
    }

    .s07-contact-info .s07-info01 {
        padding: 30px 20px;
    }

    .s07-info01 dd {
        gap: 0;
    }

    .s07-info01 dd .mail-txt {
        font-size: 14px;
    }

    .s07-box02 {
        padding: 35px 0;
    }

    .s07-box02 .btn.voice a {
        padding-left: 30px;
        padding-right: 10px;
    }

    .contact-sp ul .sp-contact a {
        padding: 9px 0 9px 12% !important;
    }

    .problem_tit {
        font-size: 27px;
    }

    .problem_list li {
        width: 45%;
    }
	.sec01_merit h3 {
		font-size: 28px;
	}
	.sec01_merit h3 span {
  font-size: 36px;
}
}

/* screen-max:460px */
@media screen and (max-width: 440px) {
    .sp440 {
        display: block !important;
    }

    .ft_bnn li {
        width: 100%;
    }


}

/* screen-max: 360px */
@media screen and (max-width: 360px) {}