@charset "UTF-8";
/* 共通 */
header,footer,.nsp_bc{display: none;}
.container {
    margin: 0 auto;
    max-width: none;
    padding: 0;
    position: relative;
}
.container, .boxed-layout #page, .boxed-layout-small #page{width: auto !important;}
html{
    margin-top: 0 !important;}
#content {
    padding: 0 !important;
}
    .spElement,.spElement01,.br920,.kumo04{display: none;}
    .pcElement{display: block;}
p,a,li{
    color: #1D1D35;
    font-family: "noto-sans", sans-serif;
font-weight: 400;
font-style: normal;
font-size: 16px;
    letter-spacing: 1px;
}
h1,h2,h3,h4{
        font-family: "noto-sans", sans-serif;
font-weight: 400;
font-style: normal;
}
.b{
    font-weight: 600;
}
.green{
    color: #00DEB4;
    letter-spacing: 1px;
}
img{
    display: block;
}
section .ttl{
    position: relative;
    text-align: center;
    font-size: 40px;
    letter-spacing: 1px;
}
section h2::after{
    content: "";
    background: url(../img/sec-ttl.webp)no-repeat;
    display: inline-block;
    position: absolute;
    width: 93.6px;
    height: 85.82px;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: -57px;
    background-size: contain;
}
/* header */
.header{
    padding-block: 29px 23px;
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: end;
    gap: 62px;
}
.header img{
    width: 278px;
}
.header a{
    font-size: 16px;
    position: relative;
    margin-bottom: 5px;
}
.header a::before{
    content: "";
    background: url(../img/sec-head.webp)no-repeat;
    display: inline-block;
    position: absolute;
    width: 18.66px;
    height: 14px;
    left: -22px;
    bottom: 0;
    background-size: contain;
}

/* main */
.sec-main{
    background: url(../img/sec-main-back.webp)no-repeat;
    background-size: cover;
    background-position: bottom center;
    padding-block: 75px 30px;
}
.sec-main .main-txt{
    font-size: 24px;
    color: #fff;
    text-align: center;
}
.sec-main .main-ttl{
    font-size: 93px;
    color: #fff;
    text-align: center;
    margin-top: 23px;
    position: relative;
    padding-right: 55px;
    text-shadow: 0px 0px 15px rgba(94, 94, 94, 0.6);
    line-height: 1;
}
.sec-main .main-ttl .r01{
    font-size: 63px;
    font-weight: 600;
    position: absolute;
}
.r-02{
    font-weight: 600;
    font-size: 26px;
    top: -10px;
    position: relative;
}
.r-03{
    font-weight: 600;
    font-size: 11px;
    top: -5px;
    position: relative;
}
.sec-main .main-img01{
    max-width: 271.6px;
    width: 22%;
    margin: -10px auto 0;
    z-index: 1;
    position: relative;

}
.sec-main .main-img02{
    max-width: 906.4px;
    width: 70%;
    margin: -46px auto;
    position: relative;
    z-index: 2;
}
.sec-main .main-img03{
    max-width: 450px;
    width: 34%;
    margin: 10px auto 0;
    position: relative;
    z-index: 3;
}
.main-figure{
    position: relative;
}
.main-8{
    position: absolute;
    max-width: 198px;
    width: 14%;
    height: auto;
    z-index: 0;
    max-height: 398px;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}
/* sec01 */
.sec01{
    background: url(../img/sec01-back.webp)no-repeat;
    background-size: cover;
    background-position: top center;
    padding-block: 85px;
    margin-top: -85px;
    position: relative;
}
.sec01 .ttl{
    color: #fff;
    text-align: center;
    font-size: 28px;
    position: relative;
    width: 380px;
    margin-inline: auto;
}
.sec01 .txt{
    color: #fff;
    text-align: center;
    font-size: 28px;
    line-height: 1.5;
}
.sec01 .ttl::before{
    content: "";
    background: url(../img/sec01-ttl-img.webp)no-repeat;
    display: inline-block;
    position: absolute;
    width: 23px;
    height: 22px;
    left: -30px;
    bottom: 0;
    background-size: contain;
}
.sec01 .ttl::after{
    content: "";
    background: url(../img/sec01-ttl-img.webp)no-repeat;
    display: inline-block;
    position: absolute;
    width: 23px;
    height: 22px;
    left: auto;
    top: 0;
    right: -30px;
    bottom: 0;
    background-size: contain;
    transform: scaleX(-1);
}
.sec01 .img{
    max-width: 932px;
    width: 70%;
    margin: 40px auto 21px;
}

/* sec02 */
.sec02{
    background: url(../img/sec02-back.webp)no-repeat;
    background-size: cover;
    background-position: top left;
    padding-block: 5px 215px;
    margin-top: 80px;
    max-width: 1355px;
    margin-inline: auto;
}
.sec02 .txt{
    width: 80%;
    max-width: 693px;
    margin: 50px auto 17px;
    line-height: 1.4;
    letter-spacing: 0.7px;
}
.sec02 .img{
    max-width: 863px;
    width: 70%;
    margin: 0 auto;
}
/* sec03 */
.sec03{
    margin-block: -65px 48px;
}
.sec03 .ttl{
    line-height: 1.4;
}
.sec03 .box01{
    background: url(../img/sec03-back.webp)no-repeat;
    background-size: cover;
    background-position: top center;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    padding-block: 124px;
    position: relative;
}
.sec03 .box01 .img{
    max-width: 127.84px;
}
.sec03 .box01 .txt02{
    line-height: 1.4;
    margin-top: 20px;
}
.sec03 .box01 .txt01 .span{
    font-size: 20px;
}
.sec03 .bottom-box{
    margin-top: 30px;
}
.sec03 .bottom-box .ttl{
    font-size: 28px;
    position: relative;
}
.sec03 .bottom-box h3::after{
    content: "";
    background: url(../img/sec03-ttl-img01.webp)no-repeat;
    display: inline-block;
    position: absolute;
    width: 100%;
    height: 143px;
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: -22px;
    background-size: contain;
    background-position: bottom center;
}
.sec03 .bottom-box .slick01{
    margin-block: 44px 0;
    margin-inline: auto;
    max-width: 759px;
    max-height: 410px;
}
.sec03 .bottom-box .slick02{
    margin-inline: auto;
    max-width: 756px;
    max-height: 410px;
}
.sec03 .bottom-box .slick01 .box .box-inter{
    max-width: 368px;
    border: 1px solid #F1F2F6;
    padding-block: 20px 50px;
    min-height: 370px;
    margin-inline: auto;
    border: 1px solid;
    border-image: linear-gradient(0deg, #f1f2f6, #fbfbfdcc) 1;
    background-image: linear-gradient(#ffffff, #ffffff54);
}
.sec03 .bottom-box .slick01 .box img,.sec03 .bottom-box .slick02 .box img{
    max-width: 135px;
    margin: 0 auto;    
}
.sec03 .bottom-box .slick01 .box .ttl,.sec03 .bottom-box .slick02 .box .ttl{
    font-size: 20px;
}
.sec03 .bottom-box .slick02 .box .ttl{
    width: 70%;
    min-width: 165px;
    margin-inline: auto;
    margin-top: 7px;
}
.sec03 .bottom-box .slick01 .box .txt-box,.sec03 .bottom-box .slick02 .box .txt-box{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin-block: 19px 17px;
}
.sec03 .bottom-box .slick01 .box .txt-box .txt01{
    background-color: #00DEB4;
    padding: 3px 18px;
    border-radius: 30px;
    font-size: 14px;
    color: #fff;
}
.sec03 .bottom-box .slick01 .box .txt,.sec03 .bottom-box .slick02 .box .txt{
    line-height: 1.4;
    width: 80%;
    margin: 0 auto;
}
.sec03 .bottom-box .ttl02{
    margin-block: 76px 50px;
}
.sec03 .bottom-box .slick02 .box .box-inter{
    max-width: 242.6px;
    border: 1px solid;
    border-image: linear-gradient(0deg, #f1f2f6, #fbfbfdcc) 1;
    padding-block: 20px 50px;
    min-height: 370px;
    margin-inline: 7px;
    background-image: linear-gradient(#ffffff, #ffffff54);
}
.sec03 .bottom-box .slick02 .box .txt-box .txt01{
    background-color: #00DEB4;
    padding: 2px 8px;
    border-radius: 30px;
    font-size: 14px;
    color: #fff;
}
.slick-bottom-img{
    max-width: 932px;
    width: 80%;
    margin: -55px auto 0;
    opacity: 0.6;
    z-index: -1;
    position: relative;
}
.slick-bottom-img02{
    margin: -30px auto 0;
}
/* sec04 */
.sec04 .wrap01{
    background: url(../img/sec04-back.webp)no-repeat;
    background-size: cover;
    background-position: bottom center;
    padding-block: 110px 20px;
    position: relative;
}
.sec04 .wrap01 .kumo,.kumo01{
    display: none;
}
.sec04 .wrap01 .ttl::after{
    display: none;
}
.sec04 .wrap01 .ttl{
    color: #fff;
}
.sec04 .wrap01 .txt{
    margin-block: 40px 50px;
    text-align: center;
    color: #fff;
    line-height: 1.4;
}
.sec04 .wrap01 .box{
    display: flex;
    justify-content: center;
    align-items: end;
    gap: 20px;
}
.sec04 .wrap01 .box .item01 .img{
    max-width: 94.8px;
    margin: 0 auto;
}
.sec04 .wrap01 .box .item02 .img{
    max-width: 138.3px;
    margin: 0 auto -10px;
}
.sec04 .wrap01 .box .item03 .img{
    max-width: 144px;
    margin: 0 auto;
}
.sec04 .wrap01 .box .item01 .txt,.sec04 .wrap01 .box .item03 .txt{
    color: #fff;
    font-size: 20px;
    text-align: center;
    margin-block: 20px 0;
}
.sec04 .ttl02{
    margin-block: 100px 0;
}
.sec04 .img01{
    max-width: 1051px;
    width: 75%;
    margin: 0 auto;
}
.sec04 .img-back{
    position: absolute;
    max-width: 1249px;
    width: 90%;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: 270px;
    opacity: 0.3;
}
.sec04 .wrap02 .txt{
    font-size: 24px;
    text-align: center;
    padding-block: 5px 15px;
    border-bottom: 1px solid #E5E5E5;
    max-width: 932px;
    margin-inline: auto;
}
.sec04 .wrap02 .box{
    display: flex;
    justify-content: center;
    gap: 20px;
    max-width: 833px;
    width: 90%;
    margin: 30px auto 63px;
}
.sec04 .wrap02 .box .item01 img{
    max-width: 244px;
}
.sec04 .wrap02 .box .item01 .txt{
    line-height: 1.5;
    font-size: 16px;
    text-align: left;
    border: none;
    margin-block: 18px 0;
    letter-spacing: 0;
}
.sec04 .wrap02 .box .item02 .tel{
    font-size: 54px;
    position: relative;
    margin-left: 60px;
    margin-block: -10px 10px;
    letter-spacing: 0;
}
.sec04 .wrap02 .box .item01 a{
    position: relative;
    margin-left: 20px;
    letter-spacing: 0;
}
.sec04 .wrap02 .box .item01 a::before{
    content: "";
    background: url(../img/sec06-img02.webp)no-repeat;
    display: inline-block;
    position: absolute;
    width: 15.3px;
    height: 22.7px;
    left: -20px;
    top: 0;
    background-size: contain;
    background-position: center;
}
.sec04 .wrap02 .box .item02{
    margin-left: 20px;
}
.sec04 .wrap02 .box .item02 .tel::before{
    content: "";
    background: url(../img/sec06-img03.webp)no-repeat;
    display: inline-block;
    position: absolute;
    width: 44px;
    height: 44px;
    left: -50px;
    background-size: contain;
    background-position: center;
}
.sec04 .wrap02 .box .item02 a{
    display: block;
    max-width: 470px;
    transition: 0.5s;
    margin-left: -10px;
}
.sec04 .wrap02 .box .item02 a:hover{
    opacity: 0.7;
}
/* sec-box */
.sec-box{
    background: url(../img/sec07-back.webp)no-repeat;
    background-size: cover;
    background-position: top center;
    padding-block: 95px;
}
/* sec05 */
.sec05{
    background-color: #fff;
    width: 95%;
    max-width: 1300px;
    padding-block: 105px 75px;
    padding-left: 5%;
}
.sec05 .txt{
    text-align: center;
    margin-block: 50px 56px;
}
.sec05 .tab-menu{
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 932px;
    width: 90%;
    margin: 0 auto;
}
.sec05 .tab-menu .tab{
    font-size: 24px;
    width: 215px;
    text-align: center;
    padding-block: 21px;
    background-image: linear-gradient(0deg, #f4f4f4, #e6e6e6);
    position: relative;
    box-shadow: 0px 0px 7px 2px #f6f6f6;
    cursor: pointer;
}
.sec05 .tab-menu .tab.active{
    background-image: none;
    background-color: #00DEB4;
    color: #fff;
}
.sec05 .tab-menu .tab01::after{
    content: "";
    background: url(../img/sec07-01-0.webp)no-repeat;
    display: inline-block;
    position: absolute;
    width: 28.2px;
    height: 32.7px;
    left: 0;
    right: 0;
    top: -20px;
    margin: 0 auto;
    background-size: contain;
    background-position: center;
}
.sec05 .tab-menu .tab02::after{
    content: "";
    background: url(../img/sec07-02-0.webp)no-repeat;
    display: inline-block;
    position: absolute;
    width: 28.2px;
    height: 32.7px;
    left: 0;
    right: 0;
    top: -20px;
    margin: 0 auto;
    background-size: contain;
    background-position: center;
}
.sec05 .tab-menu .tab03::after{
    content: "";
    background: url(../img/sec07-03-0.webp)no-repeat;
    display: inline-block;
    position: absolute;
    width: 28.2px;
    height: 32.7px;
    left: 0;
    right: 0;
    top: -20px;
    margin: 0 auto;
    background-size: contain;
    background-position: center;
}
.sec05 .tab-menu .tab04::after{
    content: "";
    background: url(../img/sec07-04-0.webp)no-repeat;
    display: inline-block;
    position: absolute;
    width: 28.2px;
    height: 32.7px;
    left: 0;
    right: 0;
    top: -20px;
    margin: 0 auto;
    background-size: contain;
    background-position: center;
}
.sec05 .tab-menu .tab01.active::after {
  background-image: url(../img/sec07-01-0ac.webp);
}
.sec05 .tab-menu .tab02.active::after {
  background-image: url(../img/sec07-02-0ac.webp);
}
.sec05 .tab-menu .tab03.active::after {
  background-image: url(../img/sec07-03-0ac.webp);
}
.sec05 .tab-menu .tab04.active::after {
  background-image: url(../img/sec07-04-0ac.webp);
}
.sec05 .content{
    display: none;
}
.sec05 .content.active{
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 932px;
    width: 90%;
    margin-inline: auto;
}
.sec05 .content .item01{
    max-width: 244px;
    margin-top: 60px;
}
.sec05 .content .item02{
    margin-top: 20px;
    width: 58%;
}
.sec05 .content .item02 .list{
    margin-left: -30px;
}
.sec05 .content .item02 .txt03{
    text-align: right;
    font-size: 14px;
}
.sec05 .content .item02 .item{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    position: relative;
    margin-bottom: 10px;
}
.sec05 .content .item02 .item img{
    width: 172.5px;
    position: absolute;
    left: -160px;
}
.sec05 .content .item02 .item .txt-box{
    margin-top: 25px;
    width: 100%;
}
.sec05 .content .item02 .item .txt-box .txt01{
    font-size: 20px;
}
.sec05 .content .item02 .item .txt-box .txt02{
    line-height: 1.4;
    margin-top: 18px;
    padding-bottom: 15px;
    border-bottom: 1px solid #E5E5E5;
    letter-spacing: 0.5px;
}
/* sec06 */
.sec06{
    background-color: #fff;
    width: 95%;
    max-width: 1300px;
    margin-inline: auto 0;
    margin-top: 30px;
    padding-block: 110px 100px;
    padding-right: 5%;
}
.sec06 .txt{
    text-align: center;
    margin-block: 34px 70px;
}
.sec06 .slick03{
    max-width: 912px;
    margin-inline: auto;
    padding-left: 20px;
    max-height: 405px;
}
.sec06 .item .item-inter{
    max-width: 276px;
    margin-inline: 14px;
}
.sec06 .item .txt01{
    margin-top: -50px;
    line-height: 1.4;
    font-size: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #E5E5E7;
}
.sec06 .item .txt02{
    margin-top: 23px;
    line-height: 1.4;
}
/* sec07 */
.sec07{
    padding-block: 137px 57px;
}
.sec07 .txt{
    text-align: center;
    padding-block: 40px 64px;
}
.sec07 .flex{
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 2;
    position: relative;
    margin-bottom: 47px;
    max-width: 932px;
    margin-inline: auto;
    position: relative;
}
.sec07 .flex02{
    flex-direction: row-reverse
}
.sec07 .flex .img02{
    max-width: 377px;
    width: 40%;
    position: relative;
}
.sec07 .item01 .flex::after{
    content: "";
    background: url(../img/sec09-01-1.webp)no-repeat;
    display: inline-block;
    position: absolute;
    width: 153px;
    height: 153px;
    left: -78px;
    bottom: 0;
    background-size: contain;
    background-position: center;
}
.sec07 .item02 .flex::after{
    content: "";
    background: url(../img/sec09-02-1.webp)no-repeat;
    display: inline-block;
    position: absolute;
    width: 153px;
    height: 153px;
    right: -78px;
    bottom: 0;
    background-size: contain;
    background-position: center;
}
.sec07 .item03 .flex::after{
    content: "";
    background: url(../img/sec09-03-1.webp)no-repeat;
    display: inline-block;
    position: absolute;
    width: 153px;
    height: 153px;
    left: -78px;
    bottom: 0;
    background-size: contain;
    background-position: center;
}
.sec07 .item04 .flex::after{
    content: "";
    background: url(../img/sec09-04-1.webp)no-repeat;
    display: inline-block;
    position: absolute;
    width: 153px;
    height: 153px;
    right: -78px;
    bottom: 0;
    background-size: contain;
    background-position: center;
}
.sec07 .item{
    position: relative;
    width: 90%;
    max-width: 1236px;
    margin-inline: auto;
}
.sec07 .item .img01{
    position: absolute;
    z-index: 1;
    top: -35px;
}
.sec07 .item01 .img01{
    top: -12px;
}
.sec07 .flex01 .txt-box{
    margin-left: 30px;
}
.sec07 .flex02 .txt-box{
    padding-right: 30px;
    max-width: 932px;
    margin-inline: auto;
}
.sec07 .flex .txt-box .txt01{
    font-size: 28px;
    text-align: left;
    line-height: 1.4;
    letter-spacing: 1px;
    margin-block: 29px 13px;
}
.sec07 .flex .txt-box .txt02{
    text-align: left;
    line-height: 1.4;
}
/* sec08 */
.sec08{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 90%;
    max-width: 932px;
    margin-inline: auto;
    padding-block: 125px 95px;
}
.sec08 .item01 .ttl{
    text-align: left;
    margin-top: -10px;
}
.sec08 .item01 .ttl::after{
    right: 87px;
}
.sec08 .item01 .txt{
    text-align: left;
    line-height: 1.4;
    margin-top: 37px;
}
.sec08 .item02{
    width: 65%;
    margin-top: -86px;
}
.sec08 .item02-item{
    border-bottom: 1px solid #E5E5E5;
    padding-block: 30px 34px;
}
.sec08 .item02-item02{
    padding-block: 50px 34px;
}
.sec08 .item02 .txt01{
    font-size: 14px;
    display: inline-block;
}
.sec08 .item02 .txt02{
    font-size: 14px;
    color: #fff;
    background-color: #1D1D35;
    padding: 3px 15px;
    border-radius: 30px;
    text-align: center;
    display: inline-block;
}
.sec08 .item02 .txt03-box{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 30px;
}
.sec08 .item02 .txt03-box  .txt03{
    line-height: 1.4;
}
.sec08 .item02 .txt03-box img{
    width: 18.4px;
}
/* footer */
.wrap022{
    background: url(../img/sec-footer.webp)no-repeat;
    background-size: cover;
    background-position: top center;
    padding-block: 84px 5px;
}
.wrap022 .txt{
    font-size: 24px;
    text-align: center;
    padding-block: 5px 15px;
    max-width: 932px;
    color: #fff;
    margin-inline: auto;
}
.wrap022 .box{
    display: flex;
    justify-content: center;
    gap: 10px;
    padding-left: 25px;
    max-width: 840px;
    width: 90%;
    margin: 35px auto 55px;
}
.wrap022 .box .item01 img{
    max-width: 244px;
}
.wrap022 .box .item01 .txt{
    line-height: 1.5;
    font-size: 16px;
    text-align: left;
    margin-block: 18px 0;
    color: #fff;
    letter-spacing: 0.2px;
}
.wrap022 .box .item02{
    margin-left: 20px;
}
.wrap022 .box .item02 .tel{
    font-size: 54px;
    position: relative;
    margin-left: 60px;
    margin-block: -10px 10px;
    letter-spacing: 0.2px;
    color: #fff;
}
.wrap022 .box .item01 a{
    position: relative;
    margin-left: 20px;
    letter-spacing: 0.2px;
    color: #fff;
}
.wrap022 .box .item01 a::before{
    content: "";
    background: url(../img/sec-footer03.webp)no-repeat;
    display: inline-block;
    position: absolute;
    width: 15.3px;
    height: 22.7px;
    left: -20px;
    top: 0;
    background-size: contain;
    background-position: center;
}
.wrap022 .box .item02 .tel::before{
    content: "";
    background: url(../img/sec-footer02.webp)no-repeat;
    display: inline-block;
    position: absolute;
    width: 44px;
    height: 44px;
    left: -50px;
    background-size: contain;
    background-position: center;
}
.wrap022 .box .item02 a{
    display: block;
    max-width: 475px;
    margin-left: -10px;
    transition: 0.5s;
}
.wrap022 .box .item02 a:hover{
    opacity: 0.7;
}
/* 右上固定 */
.fixed{
    position: fixed;
    top: 0;
    right: 0;
    padding: 30px 12px;
    background-color: #FF0080;
    z-index: 99;
}
.fixed .txt{
    color: #fff;
    text-align: center;
    font-size: 16px;
}
.fixed .tel{
    color: #fff;
    text-align: center;
    font-size: 28px;
    display: block;
    margin-block: 10px;
}
.fixed img{
    width: 178px;
    margin: 0 auto;
}
/* slick */
.slick-prev{
    left: -100px !important;
    background: url(../img/arrow.webp)no-repeat !important;
    background-size: contain !important;
    background-position: center !important;
    display: inline-block !important;
    width: 35px !important;
    height: 35px !important;
    z-index: 3 !important;
}
.slick-next{
    right: -100px !important;
    background: url(../img/arrow-next.webp)no-repeat !important;
    background-size: contain !important;
    background-position: center !important;
    display: inline-block !important;
    width: 35px !important;
    height: 35px !important;
    z-index: 3 !important;
}
.slick-prev:before, .slick-next:before,.slick-prev:after,.slick-next:before{
    display: none !important;
}

@media screen and (min-width: 1390px) {
.kumo04{
    /* display: block; */
    position: absolute;
    bottom: -40px;
    width: 100%;
}}
@media screen and (max-width: 1360px) {
    .sec07 .item .img01{display: none;}
    .sec07{
        background: url(../img/sec07img-0-4.webp)no-repeat;
        background-size: contain;
        background-position: bottom center;
    }
}
@media screen and (max-width: 1300px) {
.sec-main {
    background: url(../img/sec-main-back-pc.webp) no-repeat;
    background-size: cover;
    background-position: top center;
}
}
@media screen and (min-width: 1580px) {
    .sec-main {
    background: url(../img/sec-main-back-00.webp) no-repeat;
    background-size: cover;
    background-position: center;
}
.sec-main {
    padding-block: 75px 80px;
}
.sec01 {
    margin-top: -135px;
}
}
@media screen and (min-width: 1800px) {
    .sec-main {
    background: url(../img/sec-main-back-01.webp) no-repeat;
    background-size: cover;
    background-position: center;
}
}
@media screen and (min-width: 2130px) {
    .sec-main {
    background: url(../img/sec-main-back-03.webp) no-repeat;
    background-size: cover;
    background-position: center;
}
}
@media screen and (max-width: 1325px) {
    .sec07{
        background: url(../img/sec07img-0-1-1.webp)no-repeat;
        background-size: contain;
        background-position: bottom center;
    }
}
@media screen and (max-width: 1315px) {
    .sec07{
        background: url(../img/sec07img-0-3.webp)no-repeat;
        background-size: contain;
        background-position: bottom center;
    }
}
@media screen and (max-width: 1280px) {
    .sec07{
        background: url(../img/sec07img-0-2.webp)no-repeat;
        background-size: contain;
        background-position: bottom center;
    }
    .sec01 {
    border-radius: 50px 50px 0 0;
}
    .sec02 {
    background: url(../img/sec02-back.webp) no-repeat;
    background-size: contain;
        background-position: center;
}
}
@media screen and (max-width: 1240px) {
    .sec07{
        background: url(../img/sec07img-0-1.webp)no-repeat;
        background-size: contain;
        background-position: bottom center;
    }
}
@media screen and (max-width: 1180px) {
    .sec07{
        background: url(../img/sec07img-0.webp)no-repeat;
        background-size: contain;
        background-position: bottom center;
    }
}
@media screen and (max-width: 1166px) {
    .sec07{
        background: url(../img/sec07img-01.webp)no-repeat;
        background-size: contain;
        background-position: bottom center;
    }
}
@media screen and (max-width: 1125px) {
    .sec07{
        background: url(../img/sec07img-02.webp)no-repeat;
        background-size: contain;
        background-position: bottom center;
    }
}
@media screen and (max-width: 1080px) {
    .sec07{
        background: url(../img/sec07img-03.webp)no-repeat;
        background-size: contain;
        background-position: bottom center;
    }
}
@media screen and (max-width: 1050px) {
    .sec07 .flex .img02 {
    max-width: 377px;
    width: 38%;
    position: relative;
}
}
@media screen and (max-width: 984px) {
    .fixed{
            padding: 20px 12px;
    }
    .fixed .tel {
    font-size: 27px;
    margin-block: 9px;
}
.fixed img {
    width: 168px;
    margin: 0 auto;
}
    .sec07 .flex .txt-box .txt01 {
    font-size: 26px;
    }
    .sec07{
        background: url(../img/sec07img-04.webp)no-repeat;
        background-size: contain;
        background-position: bottom center;
    }
}
@media screen and (max-width: 920px) {
    .sec-main .main-img03 {
    margin: 18px auto 0;
}
    .br920{display: block;}
}
@media screen and (max-width: 899px) {
    .sec07{
        background: url(../img/sec07img-05.webp)no-repeat;
        background-size: contain;
        background-position: bottom center;
    }
}
@media screen and (max-width: 810px) {
    .sec07{
        background: url(../img/sec07img-05.webp)no-repeat;
        background-size: contain;
        background-position: bottom center;
    }
}
@media screen and (min-width: 1441px) {
.sec03 .box01 {
    background: url(../img/sec03-back-01.webp) no-repeat;
    background-size: cover;
    background-position:center;
}
.sec04 .wrap01 .kumo{
    display: block;
    position: absolute;
    top: -50px;
    width: 100%;
}}
@media screen and (min-width: 1830px) {
.sec03 .box01 {
    background: url(../img/sec03-back-02.webp) no-repeat;
    background-size: cover;
    background-position:center;
}
}
@media screen and (min-width: 2200px) {
.kumo01{
    bottom: -70px;
}}

@media screen and (min-width: 1900px) {
.sec-box-inter{
    max-width: 1366px;
    margin: 0 auto;
}}
@media screen and (max-width: 1150px) {
/* slick */
.slick-prev{
    left: -70px !important;
}
.slick-next{
    right: -70px !important;
}
.slick03 .slick-prev{
    left: -7px !important;
    top: 25% !important;
}
.slick03 .slick-next{
    right:-20px !important;
    top: 25% !important;
}
}
@media screen and (max-width: 1090px) {
    .sec05 .tab-menu .tab {
    font-size: 22px;
    width: 200px;
    padding-block: 20px;
    margin-inline: 4px;
}
.sec05 .content .item01 {
    max-width: 190px;
}
    .sec07 .item02 .flex::after,.sec07 .item04 .flex::after{
        width: 140px;
        height: 140px;
        right: -44px;
    }
    .sec07 .item01 .flex::after{
        width: 140px;
        height: 140px;
        left: -44px;
    }
}
@media screen and (max-width: 1030px) {
.sec03 .bottom-box {
    margin-top: 20px;
}
}
@media screen and (max-width: 977px) {
.sec03 .bottom-box {
    margin-top: 10px;
}
}
@media screen and (max-width: 870px) {
.sec03 .bottom-box {
    margin-top: 0px;
}
}
@media screen and (max-width: 960px) {
    .sec05 .tab-menu,.sec05 .content.active{
        width: 95%;
    }
/* slick */
.slick-prev{
    left: -20px !important;
}
.slick-next{
    right: -20px !important;
}
.sec06 .item .item-inter {
    max-width: 249px;
}
}
@media screen and (max-width: 899px) {
    .sec05 .tab-menu .tab {
        font-size: 19px;
        width: 195px;
        padding-block: 20px;
        margin-inline: 2px;
    }
}
@media screen and (max-width: 890px) {
    .sec07 .item02 .flex::after,.sec07 .item04 .flex::after{
        width: 125px;
        height: 125px;
        right: -38px;
    }
    .sec07 .item01 .flex::after{
        width: 125px;
        height: 125px;
        left: -38px;
    }
    .sec05 .content .item02 .item .txt-box .txt01 {
    font-size: 19px;
}
.sec05 .content .item02 {
    width: 56%;
}
}
@media screen and (max-width: 880px) {
    .sec06 .item .item-inter {
        max-width: 225px;
    }
}
@media screen and (max-width: 830px) {
    .sec05 .content .item02 {
        width: 52%;
    }
}
@media screen and (max-width: 768px) {
    .spElement{display: block;}
    .pcElement,.spElement01,.br920{display: none;}

section .ttl{
    font-size: 26px;
    line-height: 1.4;
}
section h2::after{
    width: 69.32px;
    height: 63.56px;
    top: -43px;
}
    .fixed{
        display: none;
    }
    .sec07 .item02 .flex::after {
    right: 0;
}
.sec06 .slick03 {
    max-height: 353px;
}
/* header */
.header{
    padding-block: 9.5px 9.83px;
    gap: 45px;
}
.header img {
    width: 197px;
}
.header a::before {
    width: 15.97px;
    height: 12.03px;
    left: -22px;
}
.header a{
    font-size: 12px;
        letter-spacing: 0;
}
/* main */
.sec-main {
    background: url(../img/sec-main-back-sp.webp) no-repeat;
    background-size: cover;
    background-position: top center;
    padding-block: 30px 70px;
}
.sec-main .main-txt{
    font-size: 17px;
    line-height: 1.4;
}
.sec-main .main-ttl{
    font-size: 45px;
    margin-top: 9px;
    padding-right: 23px;
}
.sec-main .main-img01 {
    max-width: 130px;
    width: 34%;
}
.sec-main .main-img02 {
    max-width: 415px;
    width: 100%;
        margin: -32px auto -14px;
}
.sec-main .main-img03 {
    max-width: 199px;
    width: 60%;
    margin: -23px auto 0;
        z-index: 9;
        position: relative;
}
.main-8 {
    position: absolute;
    max-width: 165px;
    width: 40%;
    height: auto;
    z-index: 0;
    max-height: 320px;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}
.sec-main .main-ttl .r01 {
    font-size: 30px;
    position: absolute;
}
.r-02{
    font-weight: 600;
    font-size: 17px;
    top: -10px;
    position: relative;
}
.r-03{
    font-weight: 600;
    font-size: 11px;
    top: -5px;
    position: relative;
}
/* sec01 */
.sec01 {
    background: url(../img/sec01-back-sp.webp) no-repeat;
    background-size: cover;
    background-position: top center;
    padding-block: 28px 68px;
    margin-top: -85px;
}
.sec01 .ttl{
    font-size: 20px;
    width: auto;
    max-width: 275px;
}
.sec01 .txt{
    font-size: 20px;
        text-align: left;
        margin: -5px auto -3px;
        width: 275px;
}
.sec01 .img01{
    max-width: 390px;
    width: 100%;
    margin: -10px auto 0;
}
.sec01 .img02{
    margin-top: -35px;
}
.kumo01{
    display: block;
    position: absolute;
    bottom: -40px;
}
/* sec02 */
.sec02 {
    background: url(../img/sec02-back-sp.webp) no-repeat;
    background-size: cover;
    background-position: top left;
    padding-block: 1px 131px;
    margin-top: 34px;
}
.sec02 .txt {
    font-size: 15px;
    width: 90%;
        margin: 24px auto 27px;
        line-height: 1.7;
    font-weight: 600;
}
.sec02 .img {
    max-width: 350px;
    width: 90%;
}
/* sec03 */
    .sec03 h2 {
        text-align: left;
        margin-inline: auto;
        z-index: 1;
        max-width: 240px;
    }
        .sec03 .bottom-box h3 {
        font-size: 20px;
        margin-inline: auto;
        text-align: left;
        display: flex;
        justify-content: center;
    }
.sec03 {
    margin-block: -65px 27px;
}
.sec03 .box01 {
    background: url(../img/sec03-back-sp.webp) no-repeat;
    background-size: cover;
    background-position:top center;
    display: block;
    padding-block: 28px 50px;
    z-index: 0;
    position: relative;
}
.sec03 .box01 .img {
    max-width: 75.1px;
    margin: 0 auto 11px;
}
.sec03 .box01 .kumo03{
    display: block;
    position: absolute;
    bottom: -15px;
}
.sec03 .box01 .txt01 .span {
    font-size: 16px;
}
.sec03 .box01 .txt01,.sec03 .box01 .txt02 {
    font-size: 15px;
     width: 90%;
    margin-inline: auto;
}
.sec03 .box01 .txt02 {
    line-height: 1.6;
    margin-top: 20px;
        margin-inline: auto;
        max-width: 610px;
}
.sec03 .box01 .txt01{
    text-align: center;
}
.sec03 .bottom-box {
    margin-top: 15px;
}
.sec03 .bottom-box .ttl{
    font-size: 20px;
}
.sec03 .bottom-box h3::after {
    content: "";
    background: url(../img/sec03-ttl-img01-sp.webp) no-repeat;
    display: inline-block;
    position: absolute;
    width: 100%;
    height: 54px;
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: -7px !important;
    background-size: contain;
    background-position: bottom center;
}
.slick-bottom-img {
    width: 90%;
    margin: -18px auto 0;
}
.sec03 .bottom-box .slick01 {
    margin-block: 12px 0;
    max-height: 290px;
}
.sec03 .bottom-box .slick01 .box img{
    max-width: 123px;
}
.sec03 .bottom-box .slick02 .box img {
    max-width: 117px;
}
.sec03 .bottom-box .slick02 .box .box-inter{
    max-width: 368px;
    margin-inline: auto;
}
.sec03 .bottom-box .slick02{
    margin-inline: auto;
    max-width: 759px;
    max-height: 290px;
}
.sec03 .bottom-box .ttl02 {
    margin-block: 19px 10px;
}
/* sec04 */
.sec04 .wrap01 {
    background: url(../img/sec04-back-sp.webp) no-repeat;
    background-size: cover;
    background-position: top center;
    padding-block: 70px 20px;
}
.sec04 .wrap01 .txt {
    font-size: 15px;
    width: 90%;
    margin-inline: auto;
    letter-spacing: 0.3px;
    font-weight: 600;
    margin-block: 26px 11px;
        text-align: left;
        line-height: 1.7;
}
.sec04 .img-back {
    width: 100%;
    top: 235px;
    opacity: 0.4;
}
.sec04 .wrap01 .box .item01 .img {
    max-width: 61.8px;
}
.sec04 .wrap01 .box .item02 .img {
    max-width: 104px;
    margin: 0 auto -4px;
}
.sec04 .wrap01 .box .item03 .img {
    max-width: 94px;
}
.sec04 .wrap01 .box .item01 .txt, .sec04 .wrap01 .box .item03 .txt{
    font-size: 17px;
    min-width: 123px;
}
.sec04 .wrap01 .box .item01 .txt{
    margin-top: 13px;
}
.sec04 .wrap01 .box{
    gap: 0;
}
.sec04 .ttl02 {
    margin-block: 35px 0;
}
.sec04 .img01 {
    max-width: 314px;
    width: 83%;
        margin-top: -22px;
}
/* sec05 */
.sec05 {
    padding-block: 62px 37px;
}
.ssc05 h2{
    text-align: left;
    margin-inline: auto;
    max-width: 230px;
}
.sec05 .txt {
        margin-block: 19px 22px;
        width: 95%;
        line-height: 1.6;
        font-size: 15px;
        text-align: left;
        font-weight: 600;
        margin-inline: auto;
        max-width: 480px;
}
.sec05 .tab-menu {
    display: block;
    max-width: 405px;
    margin: 0 auto;
    width: 100%;
}
.content {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.3s ease;
}
.content.active {
  max-height: 1000px;
}
.tab {
  cursor: pointer;
  position: relative;
}
.sec05 .tab-menu .tab {
    font-size: 19px;
    width: 95%;
    text-align: left;
    padding-block: 15px;
    padding-left: 62px;
}
.sec05 .tab-menu .tab::after{
    width: 21.7px;
    height: 25.1px;
    left: 22px;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
}
.sec05 .tab-menu .tab::before{
    content: "";
    background: url(../img/sec07-con.webp)no-repeat;
    display: inline-block;
    position: absolute;
    width: 18px;
    height: 18px;
    right: 20px;
    top: 0;
    bottom: 0;
    margin: auto 0;
    background-size: contain;
    background-position: center;
}
.sec05 .tab-menu .tab.active::before {
  background-image: url(../img/sec07-ac.webp);
}
.sec05 .tab-menu .tab01.active::after {
  background-image: url(../img/sec07-01-0ac-sp.webp);
}
.sec05 .tab-menu .tab02.active::after {
  background-image: url(../img/sec07-02-0ac-sp.webp);
}
.sec05 .tab-menu .tab03.active::after {
  background-image: url(../img/sec07-03-0ac-sp.webp);
}
.sec05 .tab-menu .tab04.active::after {
  background-image: url(../img/sec07-04-0ac-sp.webp);
}
.sec05 .content.active {
    display: block;
    width: 95%;
    margin-inline: 0 auto;
    margin-bottom: 15px;
}
.sec05 .content .item02 {
    margin-top: 0px;
    width: 100%;
}
.sec05 .content .item02 .item{
    margin-left: 95px;
}
.sec05 .content .item02 .item img {
    width: 142px;
    position: absolute;
    left: -124px;
}
.sec05 .content .item02 .item .txt-box .txt01 {
    font-size: 17px;
}
.sec05 .content .item02 .item .txt-box .txt02 {
    font-size: 15px;
}
.sec05 .content .item01 {
    max-width: 335px;
    width: 100%;
    margin-top: 0px;
}
.sec05 #tab4 .item01{
    margin-top: 22px;
}
/* sec06 */
.sec-box{
    padding-block: 30px 40px;
    margin-top: 0;
}
.sec06{
    padding-block: 65px 20px;
}
.sec06 .item .txt01 {
    margin-top: -83px;
    font-size: 17px;
    padding-bottom: 13px;
    width: 80%;
}
.sec06 .txt {
    font-size: 15px;
    text-align: left;
    margin-block: 20px 20px;
    width: 100%;
    padding-left: 12px;
    font-weight: 600;
    margin-inline: auto;
    line-height: 1.5;
    letter-spacing: 0.5px;
        margin-inline: auto;
        max-width: 353px;
}
.sec06 .item .txt02 {
    font-size: 15px;
    margin-top: 21px;
    line-height: 1.4;
    font-weight: 600;
}
.sec06 .item .item-inter {
    max-width: 350px;
    margin-inline: auto;
    padding-left: 35px;
}
/* sec07 */
.sec07 {
    padding-block: 63px 40px;
    background: none;
}
.sec07 .txt {
    padding-block: 15px 30px;
    font-size: 15px;
    font-weight: 600;
}
.sec07 .flex{
    display: block;
    margin-bottom: 0;
}
.sec07 .flex .img02 {
    max-width: 349px;
    width: 95%;
    margin-inline: auto;
}
.sec07 .item .flex::after {
    width: 109px;
    height: 109px;
    left: auto;
    right: 24%;
    top: 135px;
}
.sec07 .flex01 .txt-box {
    margin-left: 0;
}
.sec07 .flex .txt-box .txt01 {
    font-size: 20px;
    margin-block: 17px 0;
    padding-block: 0px 13px;
        width: 91%;
        margin-inline: auto;
        padding-left: 55px;
}
.sec07 .flex .txt-box .txt02 {
    font-size: 15px;
    font-weight: 600;
    padding-bottom: 45px;
    line-height: 1.7;
        width: 94%;
        margin-inline: auto;
}
.sec07 .item01 .flex01 .txt-box{
    background: url(../img/sec09-back01-sp.webp)no-repeat;
    background-size: cover;
    background-position: top center;
    max-width: 390px;
    margin-inline: auto;
}
.sec07 .item02 .flex02 .txt-box{
    background: url(../img/sec09-back02-sp.webp)no-repeat;
    background-size: cover;
    background-position: top center;
    max-width: 390px;
    margin-inline: auto;
}
.sec07 .item03 .flex01 .txt-box{
    background: url(../img/sec09-back03-sp.webp)no-repeat;
    background-size: cover;
    background-position: top center;
    max-width: 390px;
    margin-inline: auto;
}
.sec07 .item04 .flex02 .txt-box{
    background: url(../img/sec09-back04-sp.webp)no-repeat;
    background-size: cover;
    background-position: top center;
    max-width: 390px;
    margin-inline: auto;
}
.sec07 .item02{
    margin-top: -20px;
}
.sec07 .item {
    width: 100%;
}
/* sec08 */
.sec08 {
    display: block;
    padding-block: 10px 167px;
}
.sec08 .item01 .ttl {
    text-align: center;
    margin-top: 0px;
}
.sec08 .item01 .ttl::after {
    right: 0;
}
.sec08 .item01 .txt {
    text-align: center;
    margin-top: 20px;
    font-size: 15px;
    font-weight: 600;
}
.sec08 .item02 {
    width: 100%;
    margin-top: 0;
}
.sec08 .item02 .txt03-box p{
    font-size: 15px;
}
.sec08 .item02 .txt03-box {
    margin-top: 34px;
}
.sec08 .item02-item {
    padding-block: 30px 20px;
}
.sec08 .item02-item02 {
    padding-block: 28px 14px;
}
/* スマホ下固定 */
.wrapsp{
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 100%;
    z-index: 9;
}
.wrapsp .item01{
    display: flex;
    justify-content: center;
    align-items: center;
}
.wrapsp .item01 .tel{
    background-color: #FF0080;
    position: relative;
        width: 70%;
        text-align: center;
        padding-block: 10px;
        padding-left: 27px;
        min-height: 48px;
}
.wrapsp .item01 .tel p{
    font-size: 29px;
    color: #fff;
    position: relative;
        text-align: center;
        font-weight: 600;
        max-width: 200px;
        margin-inline: auto;
}
.wrapsp .item01 .tel p::before{
    content: "";
    background: url(../img/sec-footer02.webp) no-repeat;
    display: inline-block;
    position: absolute;
    width: 33.7px;
    height: 33.7px;
        left: -40px;
        top: 0;
        bottom: 0;
        margin: auto 0;
    background-size: contain;
    background-position: center;
}
.wrapsp .item01 .form{
    background-color: #26262F;
        width: 30%;
        padding-block: 12px;
        padding: 7.21px 10px 7.21px 25px;
        position: relative;
        min-height: 48px;
}
.wrapsp .item01 .form p{
    font-size: 12px;
    color: #fff;
        margin-inline: auto;
        max-width: 70px;
        position: relative;
        line-height: 1.4;
}
.wrapsp .item01 .form p::before{
    content: "";
    background: url(../img/sec-footer-sp-img.webp) no-repeat;
    display: inline-block;
    position: absolute;
    width: 85.6px;
    height: 35px;
        left: -60px;
        bottom: -12px;
    background-size: contain;
    background-position: center;
}
.wrapsp .item02{
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #fff;
        padding-inline: 24px;
}
.wrapsp .item02 .item01{
    width: 70%;
        display: block;
}
.wrapsp .item02 .item01 img{
    width:185px ;
        margin-top: 10px;
}
.wrapsp .item02 .item01 .txt{
    font-size: 12px;
    line-height: 1.3;
    margin-block: 5px 20px;
    letter-spacing: 0;
}
.wrapsp .item02 .item02{
    width: 30%;
        display: block;
}
.wrapsp .item02 .item02 a{
    display: block;
    width: 69.32px;
    height: 63.6px;
    margin-inline: auto 0;
}
/* slick */
.slick-prev{
    left: 28px !important;
    background: url(../img/arrow.webp)no-repeat !important;
    background-size: contain !important;
    background-position: center !important;
    display: inline-block !important;
    width: 35px !important;
    height: 35px !important;
    z-index: 3 !important;
}
.slick-next{
    right: 28px !important;
    background: url(../img/arrow-next.webp)no-repeat !important;
    background-size: contain !important;
    background-position: center !important;
    display: inline-block !important;
    width: 35px !important;
    height: 35px !important;
    z-index: 3 !important;
}
.slick-prev:before, .slick-next:before,.slick-prev:after,.slick-next:before{
    display: none !important;
}
.sec03 .bottom-box .slick01 .box .txt-box, .sec03 .bottom-box .slick02 .box .txt-box {
    margin-block: 13px 11px;
}
.sec03 .bottom-box .slick01 .box .box-inter {
    max-width: 296px;
    padding-block: 3px 25px;
    min-height: 260px;
}
.sec03 .bottom-box .slick02 .box .box-inter {
    max-width: 296px;
    padding-block: 3px 25px;
    min-height: 260px;
}
.sec03 .bottom-box .slick01 .box .ttl, .sec03 .bottom-box .slick02 .box .ttl {
    font-size: 17px;
}
.sec03 .bottom-box .slick02 .box .ttl {
    text-align: left;
}
.sec03 .bottom-box .slick01 .box .txt, .sec03 .bottom-box .slick02 .box .txt{
    font-size: 15px;
    font-weight: 600;
    width: 90%;
    letter-spacing: 0.5px;
}
.sec03 .bottom-box .slick01 .box .txt-box .txt01,.sec03 .bottom-box .slick02 .box .txt-box .txt01{
    font-size: 12px;
}
.sec03 .bottom-box .slick01 .box .txt-box .txt02,.sec03 .bottom-box .slick02 .box .txt-box .txt02{
    font-size: 14px;
}
.slick03 .slick-prev{
    left: 4px !important;
    top: 26% !important;
}
.slick03 .slick-next{
    right: 4px !important;
    top: 26% !important;
}
/* kumo */
.sec03 .box01 .kumo04{
    display: none;
}
.sec03 .box01 .kumo04-02{
    display: block;
    position: absolute;
    bottom: -25px;
    width: 100%;
}
}
@media screen and (max-width: 725px){
.kumo01{
    display: block;
    position: absolute;
    bottom: -30px;
}
}
@media screen and (max-width: 525px){
.kumo01{
    display: block;
    position: absolute;
    bottom: -25px;
}
}
@media screen and (max-width: 499px) {
    .sec03 .box01 .kumo04-02 {
        bottom: -5px;
    }

.sec03 .box01 .kumo04{
    display: block;
    position: absolute;
    top: -40px;
    transform: scaleY(-1);
    width: 100%;
}
}
@media screen and (max-width: 375px){
.kumo01{
    display: block;
    position: absolute;
    bottom: -35px;
}
}
@media screen and (max-width: 695px){
    .sec07 .item .flex::after{
        right: 18%;
    }
}
@media screen and (max-width: 570px){
    .sec07 .item .flex::after{
        right: 10%;
    }
}
@media screen and (max-width: 456px){
        .wrapsp .item01 .form p::before {
        left: -48px;
    }
.sec07 .item .flex::after {
    width: 109px;
    height: 109px;
    left: auto;
    right: 6px;
    top: 135px;
}
}
@media screen and (max-width: 440px) {
    .wrapsp .item01 .form {
        padding: 7.71px 0px 7.71px 30px;
    }
}
@media screen and (max-width: 399px) {
    .wrapsp .item01 .form {
        padding: 7.71px 0px 7.71px 38px;
    }
}
@media screen and (max-width: 389px){
    .sec07 .item01 .flex01 .txt-box .txt01 .spElement,.sec07 .item22 .flex02 .txt-box .txt01 .spElement{
        display: none;
    }
    .sec07 .item01 .flex .txt-box .txt01 .spElement01{
        display: block;
    }
}
@media screen and (max-width: 383px){
    .slick01 .slick-prev,.slick02 .slick-prev{
        left: 11px !important;
    }
    .slick01 .slick-next,.slick02 .slick-next{
        right: 11px !important;
    }
        .wrapsp .item01 .form p::before {
        left: -48px;
    }
    .wrapsp .item01 .tel p {
        font-size: 25px;
    }
    .wrapsp .item01 .tel{
        width: 66%;
        padding-block: 11.5px;
    }
    .wrapsp .item01 .form{
        width: 34%;
        padding: 7.21px 1px 7.21px 28px;
    }
    .wrapsp .item01 .tel p::before{
        left: -23px;
    }
    .wrapsp .item02 {
        padding-inline: 10px;
    }
}
@media screen and (max-width: 365px) {
        .wrapsp .item01 .form p {
        margin-inline: auto 0px;
    }
    .sec07 .item .flex::after {
        top: 127px;
    }
        .sec06 .item .txt01 {
        margin-top: -70px;
    }
}
@media screen and (max-width: 355px){
    .slick01 .slick-prev,.slick02 .slick-prev{
        left: 6px !important;
    }
    .slick01 .slick-next,.slick02 .slick-next{
        right: 6px !important;
    }
    .sec04 .wrap01 .box .item02 .img {
        max-width: 65px;
        margin: 0 -5px 4px 0px;
    }
    .sec04 .wrap01 .box .item03 .img {
        max-width: 84px;
    }
    .sec01 .ttl::after{
        right: -21px;
    }
    .sec01 .ttl::before{
        left: -21px;
    }
    .sec07 .flex .txt-box .txt01{
        font-size: 19px;
    }
    .sec07 .flex .txt-box .txt02{
        line-height: 1.5;
        letter-spacing: 0.5px;
    }
        .wrapsp .item02 .item01 {
        width: 100%;
    }
        .wrapsp .item02 .item02 {
        width: 22%;
    }
        .wrapsp .item02 .item02 a {
        width: 56.32px;
        height: 50.6px;
    }
} 
@media screen and (max-width: 348px) {
        .wrapsp .item01 .form p {
        margin-inline: auto -4px;
    }
    .sec07 .item .flex::after {
        top: 118px;
    }
}
@media screen and (max-width: 338px){
        .sec06 .item .txt01 {
        margin-top: -60px;
    }
    .wrapsp .item01 .form p::before {
        left: -43px;
    }
        .wrapsp .item01 .tel p::before {
        width: 29.7px;
        height: 29.7px;
    }
    .sec03 .bottom-box .slick01 .box .ttl, .sec03 .bottom-box .slick02 .box .ttl {
        font-size: 16px;
    }
    .slick01 .slick-prev,.slick02 .slick-prev,.slick01 .slick-next,.slick02 .slick-next{        
        width: 30px !important;
        height: 30px !important;
    }
        .sec07 .flex .txt-box .txt01 {
        margin-block: 13px 0;
        padding-block: 0px 9px;
        padding-left: 46px;
    }
    .sec07 .flex .txt-box .txt02 {
        padding-bottom: 38px;
    }
    .sec07 .item .flex::after {
        width: 95px;
        height: 95px;
        right: 6px;
    }
}
@media screen and (max-width: 399px) {
    .sec03 .box01 {
        background: url(../img/sec03-back-sp.webp) no-repeat;
        background-size: cover;
        background-position: center;
        display: block;
        padding-block: 28px 50px;
    }
}
@media screen and (max-width: 365px) {
    .sec03 .box01 .kumo03 {
        display: block;
        position: absolute;
        bottom: -15px;
    }
}