/* responsive */
.pc {}

.sp560,
.sp480,
.sp420,
.sp380,
.sp {
    display: none
}

.sp-2 {
    display: flex;
}

@media screen and (min-width: 751px) {
    .hover a:hover {
        opacity: 0.7
    }

    .block2 .item-bottom .bottom-r ul li.h50 {
        height: 50px;
    }

    .block2 .item-bottom .bottom-r ul li.h60 {
        height: 60px;
    }

    .block2 .item-bottom .bottom-r ul li.h70 {
        height: 70px;
    }
    .block2 .item-bottom .bottom-r ul li.h80{
        height: 80px;
    }
    a[href*="tel:0120947368"] {
        pointer-events: none;
    }

    header .header-contact .mail:hover {
        background-color: #82D214;
    }

    header .header-contact .mail:hover .icon {
        background-color: #FBE133;
    }

    header .header-contact .mail:hover .txt {
        color: #fff;
    }

    header .header-nav li a:hover {
        text-decoration: underline;
        text-underline-offset: 3px;
    }

    .sec-fmail .fmail-wrapper .item1:hover,
    .sec-fmail .fmail-wrapper .item3:hover {
        transform: translateY(-5px);
    }

    #btn-top:hover {
        bottom: 5px;
    }

    .contact #fmail #en1667353224_01_label:hover {
        background-color: rgb(250 230 10 / 30%);
    }
}

@media screen and (min-width: 751px) and (max-width: 1560px) {
    .inner-2 {
        width: 1250px;
    }

    header {
        height: 65px;
    }

    header h1 {
        padding-left: 15px;
    }

    header .header-contact .phone {
        width: 260px;
    }

    header .header-contact .phone .txt span.big {
        font-size: 32px;
    }

    header .header-contact .phone .txt span.small {
        font-size: 10px;
    }

    header .header-contact .mail {
        width: 175px;
    }

    header .header-contact .mail .txt {
        font-size: 16px;
    }

    header .header-nav {
        margin-right: 60px;
    }

    header .header-nav li:not(:last-child) {
        margin-right: 30px;
    }

    header .header-nav li a {
        font-size: 16px;
    }

    #main {
        padding-top: 65px;
    }

    .banner .inner-2,
    .banner .banner-l,
    .banner .banner-r {
        min-height: 650px;
    }

    .banner .banner-l .img {
        width: 100%;
        left: 65px;
    }

    .banner .banner-l .txt {
        font-size: 16px;
        left: 5%;
    }

    .banner .banner-l .txt span.big {
        font-size: 20px;
    }


    .banner .banner-r .banner-tlt {
        width: 100%;
        top: 0;
        left: -20%;
    }

    .banner .banner-list .list-l {
        width: 400px;
    }

    .banner .banner-list .list-l .item {
        width: 195px;
        height: 50px;
    }

    .banner .banner-list .list-l .item5 {
        /* width: 400px; */
    }

    .banner .banner-list .list-l .item span,
    .banner .banner-service li span {
        font-size: 28px;
    }

    .banner .banner-list .list-r {
        right: 20px;
        width: 180px;
    }

    .banner .banner-content {
        font-size: 24px;
    }

    .banner .banner-service {
        width: 100%;
        margin-bottom: 30px;
    }

    .banner .banner-service li:not(:last-child) {
        margin-right: 15px;
    }

    .block1-center .txt {
        font-size: 44px;
        padding: 0;
        text-align: center;
    }

    .banner .banner-bottom {
        padding: 0;
        display: flex;
        align-items: center;
    }

    .block4 .bottom-wrapper1 .wrapper-r {
        width: 66%;
        right: -165px;
    }

    .contact .contact-title,
    .contact .content {
        left: 0;
    }

    footer .foot-top .inner-2 .info {
        padding: 90px 0 20px 130px;
    }
}

@media screen and (max-width: 750px) {

    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    input,
    button,
    textarea,
    select,
    p,
    blockquote,
    th,
    td,
    pre,
    address,
    li,
    dt,
    dd {
        font-size: 14px;
    }



    #wrapper,
    header,
    main,
    footer,
    .inner,
    .inner-2 {
        width: 100% !important;
        min-width: inherit !important;
    }

    .inner {
        box-sizing: border-box;
        padding: 0 15px;
    }

    .sp {
        display: block !important;
    }

    .pc {
        display: none !important;
    }

    .main-title {
        font-size: 22px;
    }

    /*---*/
    .sec-fmail {
        padding: 40px 0;
    }

    #btn-top {
        bottom: 0;
        width: 50px;
        height: 50px;
    }

    #btn-top::before {
        border-width: 0 15px 15px 15px;
    }

    /*==========================================================================*/
    /*                               ALL                                        */
    /*==========================================================================*/
    header {
        height: auto;
        padding: 10px 0;
        z-index: 99;
    }

    header h1 {
        padding-left: 15px;
        width: 150px;
    }

    header .header-sp {
        position: fixed;
        top: 0;
        right: -100%;
        width: 100%;
        height: 100vh;
        transition: all ease .8s;
        background-color: #009D57;
        z-index: 98;
        padding: 60px 30px 200px;
        overflow-y: scroll;
    }

    header .nav-sp {
        margin-bottom: 30px;
    }

    header .nav-sp li a {
        display: block;
        font-size: 16px;
        font-weight: 700;
        color: #fff;
        width: 100%;
        height: 100%;
        padding: 15px;
        border-bottom: 1px solid #fff;
    }

    header .contact-sp {
        width: 290px;
        margin: 0 auto;
    }

    header .contact-sp li {
        position: relative;
        width: 100%;
        height: 90px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 10px;
    }

    header .contact-sp li a {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    header .contact-sp li:not(:last-child) {
        margin-bottom: 15px;
    }

    header .contact-sp li.phone {
        background-color: #fff;
    }

    header .contact-sp li.phone .icon {
        position: relative;
        background-color: #FBE133;
    }

    header .contact-sp li.phone .icon::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        z-index: 3;
        transform: translate(-50%, -50%);
        background: url("data:image/svg+xml,%3Csvg version='1.1' id='Layer_2_00000113311721884256899530000015009419969414077828_' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 73.8 75' style='enable-background:new 0 0 73.8 75;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%230AA046;%7D%0A%3C/style%3E%3Cg id='design'%3E%3Cg%3E%3Cpath class='st0' d='M60.4,60.2l-12.6-9.4h-0.1c-0.4-0.3-1-0.5-1.8-0.6c-1.1-0.1-2.1,0.1-3,0.8l-4.4,3.6c-0.1,0.1-0.3,0.2-0.5,0.2 c-0.2,0-0.4,0.1-0.5,0.1l-0.8-0.3c-0.6-0.2-1.4-0.6-2.4-1.3c-1-0.7-2.3-1.7-3.8-3.1s-3.2-3.2-5-5.6c-1.9-2.3-3.4-4.3-4.3-6.1 c-1-1.7-1.7-3.2-2.1-4.4c-0.5-1.3-0.8-2.5-0.9-3.5c0-0.1,0.1-0.3,0.2-0.5s0.2-0.3,0.3-0.4l3.8-3c0.7-0.5,1.1-1.2,1.4-2.1 s0.3-1.7-0.1-2.5l-5.9-15c-0.3-0.6-0.6-1-1-1.4c-0.4-0.4-0.9-0.6-1.5-0.7c-0.8-0.1-1.6,0.2-2.3,0.7L2.6,14.1 c-0.5,0.4-1,0.9-1.4,1.5c-0.4,0.6-0.7,1.3-0.8,1.9c0,0.1-0.1,0.6-0.2,1.4C0,19.7,0,20.9,0,22.4s0.3,3.3,0.8,5.4S2,32.2,3,34.8 s2.5,5.5,4.3,8.7s4.2,6.5,7.1,10.1c3.6,4.6,7.1,8.2,10.5,11c3.4,2.8,6.4,4.9,9.1,6.4s5.1,2.5,7,3c1.9,0.5,3.3,0.8,4.2,0.9 c0.4,0,0.7,0.1,0.9,0.1c0.2,0,0.4,0,0.4,0c0.7,0,1.3-0.2,2-0.4c0.7-0.2,1.3-0.6,1.8-1l10.3-8.2c0.9-0.7,1.3-1.6,1.3-2.7 C61.8,61.8,61.3,60.9,60.4,60.2L60.4,60.2z'/%3E%3Cpath class='st0' d='M45.5,41.9c0.2,0.3,0.5,0.5,0.9,0.5l3.2,0.3c0.7,0.1,1.3-0.4,1.4-1.1c0.8-4.7-0.4-9.5-3.4-13.2 c-3-3.8-7.5-6-12.3-6.2c-0.7,0-1.3,0.5-1.3,1.2l-0.3,3.2c0,0.3,0.1,0.7,0.3,1c0,0,0,0,0,0c0.2,0.3,0.6,0.4,1,0.4 c3.2,0.1,6.2,1.5,8.1,4c2,2.5,2.8,5.7,2.2,8.8C45.2,41.2,45.3,41.6,45.5,41.9L45.5,41.9z'/%3E%3Cpath class='st0' d='M56.7,43.1c0.2,0.3,0.5,0.5,0.9,0.5l3.2,0.3c0.7,0.1,1.3-0.4,1.4-1.1c1-7.7-1.1-15.3-6-21.3 c-4.9-6.1-11.9-9.8-19.7-10.5c-0.7-0.1-1.3,0.5-1.4,1.2l-0.3,3.2c0,0.3,0.1,0.7,0.3,1c0,0,0,0,0,0c0.2,0.3,0.5,0.4,0.9,0.5 c6.2,0.5,11.8,3.5,15.7,8.3c3.9,4.8,5.5,10.8,4.7,17C56.4,42.5,56.5,42.8,56.7,43.1L56.7,43.1z'/%3E%3Cpath class='st0' d='M65.4,14.2C58.6,5.8,48.5,0.6,37.6,0c-0.7,0-1.3,0.5-1.4,1.2l-0.3,3.2c0,0.3,0.1,0.7,0.3,0.9c0,0,0,0,0,0 c0.2,0.3,0.6,0.4,0.9,0.4c9.3,0.5,17.9,4.9,23.7,12.1c5.7,7.1,8.2,16.3,6.7,25.3c-0.1,0.3,0,0.7,0.3,1s0.5,0.5,0.9,0.5l3.2,0.3 c0.7,0.1,1.3-0.4,1.4-1.1C75,33.4,72.1,22.6,65.4,14.2L65.4,14.2z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A") no-repeat center /contain;
        width: 29px;
        height: 29px;
    }

    header .contact-sp li.phone .txt {
        text-align: right;
        font-size: 11px;
    }

    header .contact-sp li.phone .txt span.big {
        font-size: 280%;
        color: #2C2C2C;
        font-weight: 700;
    }

    header .contact-sp li.phone .txt span.small {
        font-size: 100%;
        font-weight: 700;
        color: #2C2C2C;
        display: inline-block;
        margin-top: 5px;
    }

    header .contact-sp li.mail {
        background-color: #FBE133;
    }

    header .contact-sp li.mail .icon {
        position: relative;
        background-color: #009D57;
    }

    header .contact-sp li.mail .icon::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        z-index: 3;
        transform: translate(-50%, -50%);
        background: url(../images/mail-sp1.png) no-repeat center /cover;
        width: 26px;
        height: 18px;
    }

    header .contact-sp li.mail .txt {
        font-size: 20px;
        font-weight: 700;
        color: #000;
        padding-left: 5px;
    }

    header .contact-sp li.phone .icon,
    header .contact-sp li.mail .icon {
        width: 45px;
        height: 45px;
        border-radius: 50%;
    }

    header .contact-sp li.phone .txt,
    header .contact-sp li.mail .txt {
        width: calc(100% - 50px);
    }

    header .contact-sp li.line {
        background-color: #fff;
    }

    header .contact-sp li.line .icon {
        position: relative;
        width: 50px;
        height: 50px;
    }

    header .contact-sp li.line .icon::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        z-index: 2;
        transform: translate(-50%, -50%);
        background: url(../images/line-sp1.png) no-repeat center /cover;
        width: 50px;
        height: 50px;
    }

    header .contact-sp li.line .txt {
        width: calc(100% - 65px);
        font-size: 20px;
        font-weight: 700;
        color: #000;
        padding-left: 5px;
    }

    header .contact-sp li.line .txt span.gr {
        color: #00BA51;
    }

    header .header-sp.active {
        right: 0;
    }

    #main {
        padding-top: 63px;
    }

    .banner {
        background-position: bottom left;
    }

    .banner .inner-2 {
        min-height: auto;
        flex-wrap: wrap;
        height: calc(550px - 63px);
        overflow: hidden;
        padding: 0 15px;
    }

    .banner .banner-l,
    .banner .banner-r {
        flex: 0 0 100%;
        max-width: 100%;
        min-height: auto;
    }

    .banner .banner-l {
        padding-top: 20px;
        max-width:80%;
        margin: 0 auto;
        display: flex;
        flex-wrap: wrap;
    }
    .banner .banner-l .banner-tlt.sp{
        text-align: center;
        width: 100%;
    }
    .banner .banner-l .banner-tlt.sp img{
        max-height: 270px;
    }
    .banner .banner-l .img {
        width: 40%;
        position: unset;
        display: block;
        display: flex;
        align-items: flex-end;
    }
    .banner .banner-list{
        left: 0;
    }

    .banner .banner-l .img img {
        width: 110%;
        position: relative;
        left: -10%;
        max-width: inherit;
        min-width: 240px;
    }

    .banner .banner-l .img-2 {
        position: absolute;
        top: 0;
        right: -15px;
        display: inline-block;
        width: 180px;
    }

    .banner .banner-l .img-2 img {
        width: 100%;
    }

    .banner .banner-l span.txt {
        top: 30%;
        left: auto;
        right: 15px;
        font-size: 14px;
    }

    .banner .banner-l .txt span.big {
        font-size: 18px;
    }

    .banner .banner-r {
        background-color: #fff;
        padding: 40px 0;
    }

    .banner .banner-list .list-l {
        width: 100%;
    }

    .banner .banner-list {
        display: flex !important;
        justify-content: center;
        align-items: center;
        width: 60%;
        margin: 0;
        position: unset;
    }

    .banner .banner-list .list-l {
    }

    .banner .banner-list .list-l .item {
        width:48%;
        height: 32px;
        margin: 0 auto;

    }

    .banner .banner-list .list-l .item:not(:last-child) {
        margin-bottom: 5px;
    }

    .banner .banner-list .list-l .item5 {
        /* width: 100%; */
    }

    .banner .banner-list .list-l .item6 {
        text-align: center;
    }

    .banner .banner-list .list-l .item span {
        position: relative;
        top: auto;
        right: auto;
        font-size: 2.5vw;
    }

    .banner .banner-list .list-l .item span.txt {
        font-size: 12px;
        margin: 0 auto;
    }

    .banner .banner-list .list-l .item span.big {
        font-size: 14px;
    }

    .banner .banner-content {
        top: 0;
        left: 0;
        text-shadow: none;
        color: #009D57;
        text-align: center;
        width: auto;
        margin-bottom: 30px;
        font-size: 27px;
        line-height: 1.3em;
    }

    .banner .banner-service {
        width: auto;
        flex-direction: column;
        padding-left: 0;
        margin-bottom: 0;
    }

    .banner .banner-service li {
        width: 300px;
        height: 70px;
        border: 2px solid #009D57;
    }

    .banner .banner-service li span {
        font-size: 24px;
        margin-top: 0;
    }

    .banner .banner-service li span.dot::before {
        width: 8px;
        height: 8px;
        top: -5px;
    }

    .banner .banner-service li:not(:last-child) {
        margin-right: 0;
        margin-bottom: 30px;
    }

    .banner .banner-bottom {
        padding: 40px 0;
    }

    .sec-fmail {
        min-height: calc((100vw * 671) / 1920);
    }

    .main-title {
        width: max-content;
        margin: 0 auto;
    }

    .main-title::before {
        bottom: -20px;
        width: 100%;
        height: 15px;
    }

    .sec-fmail .fmail-wrapper {
        flex-direction: column;
    }

    .sec-fmail .fmail-wrapper .item.item1,
    .sec-fmail .fmail-wrapper .item.item2,
    .sec-fmail .fmail-wrapper .item.item3 {
        width: 100%;
        height: 88px;
        max-width: 330px;
        margin-left: auto;
        margin-right: auto;
        padding: 0 15px;
        margin-bottom: 20px;
    }

    .sec-fmail .fmail-wrapper .item.item1 .icon,
    .sec-fmail .fmail-wrapper .item.item2 .icon {
        width: 73px;
        height: 73px;
    }

    .sec-fmail .fmail-wrapper .item.item1 .icon::before {
        width: 38px;
        height: 27px;
    }

    .sec-fmail .fmail-wrapper .item.item2 .icon::before {
        width: 46px;
        height: 46px;
    }

    .sec-fmail .fmail-wrapper .item.item3 .icon {
        width: 67px;
        height: 67px;
        margin-left: 10px;
        margin-right: 10px;
    }

    .sec-fmail .fmail-wrapper .item.item3 .icon::before {
        width: 100%;
        height: 100%;
    }

    .sec-fmail .wrapper-r .txt {
        font-size: 22px;
    }

    .sec-fmail .wrapper-r .btn {
        width: 161px;
        height: 37px;
        font-size: 16px;
    }

    .sec-fmail .wrapper-r .txt2 span.big {
        font-size: 16px;
    }

    .sec-fmail .wrapper-r .txt2 span.small {
        font-size: 10px;
    }

    .sec-fmail .wrapper-r .txt2 .en {
        font-size: 22px;
        top: 0;
        left: 0;
    }

    .sec-fmail .wrapper-r .txt3 {
        font-size: 22px;
    }

    .sec-fmail .wrapper-r .txt2 {
        top: -3px;
    }

    .block1 .block1-top {
        padding: 140px 0 40px;
    }

    .block1 .block1-top .block1-title,
    .block1 .block1-top .block1-title span.title-l {
        width: 100%;
    }

    .block1 .block1-top .block1-title {
        flex-direction: column;
        left: 0;
        max-width: 360px;
        margin: 0 auto;
    }

    .block1 .block1-top .block1-title span.title-l {
        margin-right: 0;
        font-size: 32px;
        height: 90px;
    }

    .block1 .block1-top .block1-title span.title-l::before {
        width: 25vw;
        height: 39vw;
        top: -110px;
        left: 35px;
        max-width: 90px;
        max-height: 140px;
    }

    .block1 .block1-top .block1-title .abs {
        top: -80px;
        left: 80px;
        transform: translateX(0);
        font-size: 16px;
        width: 280px;
        height: 39px;
    }

    .block1 .block1-top .block1-title .abs::before {
        width: 260px;
        height: 34px;
        left: 0;
    }

    .block1 .block1-top .block1-title .abs span {
        position: absolute;
        left: 30px;
        width: auto;
    }

    .block1 .block1-top .block1-title span.title-r {
        display: block;
        font-size: 30px;
        margin-top: 15px;
    }

    .block1-center {
        position: relative;
        z-index: 1;
        background-image: none;
        background-color: #000;
        min-height: auto;
        padding: 160px 0 20px;
    }

    .block1-center::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
        background: url(../images/block1-bgsp.jpg) no-repeat center /cover;
        width: 100vw;
        height: calc((100vw * 192) / 375);
    }

    .block1-center .bottom-wrapper {
        padding: 0 15px;
        width: 100%;
        max-width: 420px;
        margin: 0 auto 20px;
    }

    .block1-center .bottom-wrapper .step {
        width: 100%;
        height: auto;
        justify-content: space-between;
    }

    .block1-center .step .step-num {
        font-size: 14px;
        width: 50px;
        padding: 0 10px;
    }

    .block1-center .step .step-num span.en {
        font-size: 24px;
        top: 0;
        margin-top: 5px;
    }

    .block1-center .step .step-content {
        font-size: 13px;
        letter-spacing: -0.05em;
        padding-left: 5px;
        width: 210px;
    }

    .block1-center .step .step-img {
        width: 98px;
        height: 54px;
    }

    .block1-center .step .step-img img {
        width: 100%;
        height: 100%;
    }

    .block1-center .txt {
        font-size: 20px;
        line-height: 2em;
        text-align: center;
    }

    .block1-center .txt span.dot::before {
        width: 6px;
        height: 6px;
        top: -6px;
        left: 50%;
        transform: translateX(-50%);
    }

    .block1-bottom {
        padding: 30px 0;
        min-height: auto;
    }

    .block1-bottom h4 {
        left: 0;
        width: auto;
        font-size: 16px;
        text-align: center;
    }

    .block2 {
        padding: 40px 0 0px;
    }

    .block-title {
        font-size: 40px;
    }

    .block2 .block-title {
        margin-bottom: 40px;
    }

    .block2 .block2-wrapper {
        max-width: 420px;
        width: 100%;
        margin: 0 auto;
    }

    .block2 .block2-wrapper .item {
        margin-bottom: 40px;
    }

    .block2 .block2-wrapper .item-top {
        margin-bottom: 10px;
        background-color: #fff;
    }

    .block2 .block2-wrapper .top-img,
    .block2 .block2-wrapper .top-content {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .block2 .block2-wrapper .top-img {
        padding-top: 0;
    }

    .block2 .block2-wrapper .top-img .des {
        font-size: 20px;
        height: 70px;
    }

    .block2 .block2-wrapper .top-content {
        padding-top: 20px;
        padding-left: 15px;
    }

    .block2 .block2-wrapper .top-content h4 {
        font-size: 18px;
        margin-bottom: 20px;
    }

    .block2 .block2-wrapper .top-content ul {
        max-width: 100%;
        justify-content: space-between;
    }

    .block2 .block2-wrapper .top-content ul li {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .block2 .block2-wrapper .top-content ul .is-l {
        width: 80px;
        height: 30px;
    }

    .block2 .block2-wrapper .top-content ul .is-l span {
        font-size: 13px;
    }

    .block2 .block2-wrapper .top-content ul .is-r {
        margin-left: 10px;
    }

    .block2 .block2-wrapper .top-content ul .is-r span {
        font-size: 16px;
    }

    .block2 .block2-wrapper .top-content ul.first .is-l {
        width: 40%;
        height: 35px;
    }

    .block2 .block2-wrapper .top-content ul.first .is-l span {
        font-size: 18px;
    }

    .block2 .block2-wrapper .top-content ul.first .is-r {
        margin-left: 15px;
    }

    .block2 .block2-wrapper .top-content ul.first .is-r span {
        font-size: 24px;
    }

    .block2 .item-bottom {
        padding: 0;
    }

    .block2 .item-bottom .bottom-l,
    .block2 .item-bottom .bottom-r {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .block2 .item-bottom .bottom-l {
        padding-right: 0;
        margin-bottom: 30px;
        padding: 0 15px;
    }

    .block2 .item-bottom .bottom-r {
        top: 0;
        left: 0;
        padding: 0 15px;
    }

    .block2 .item-bottom .bottom-r h5 {
        font-size: 14px;
    }

    .block2 .item-bottom .bottom-l h5 {
        font-size: 18px;
        margin-bottom: 10px;
    }

    .block2 .item-bottom .bottom-l p {
        font-size: 14px;
    }

    .block2 .item-bottom .bottom-r .box {
        width: 100%;
        padding: 15px;
    }

    .block2 .item-bottom .bottom-r .is-item {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .block2 .item-bottom .bottom-r .is-item:first-child {
        margin-bottom: 15px;
        padding-bottom: 15px;
        border-right: 0;
        position: relative;
    }

    .block2 .item-bottom .bottom-r .is-item:first-child::before {
        content: '';
        position: absolute;
        bottom: 0;
        left: 15px;
        width: calc(100% - 30px);
        height: 2px;
        border-bottom: 2px dashed #000;
    }

    .block2 .item-bottom .bottom-r .name {
        font-size: 14px;
        margin: 0 auto 15px;
    }

    .block2 .item-bottom .bottom-r .price {
        font-size: 20px;
        margin-bottom: 20px;
    }

    .block2 .item-bottom .bottom-r .content {
        font-size: 14px;
        margin-bottom: 10px;
    }

    .block2 .item-bottom .bottom-r .is-item ul {
        position: relative;
        bottom: auto;
        left: auto;
        width: 100%;
    }
    .block2 .item.item1 .item-bottom .bottom-r .is-item:last-child ul::before{
        display: none;
    }
    .block2 .item-bottom .bottom-r .is-item:last-child ul {
        left: auto;
    }

    .block2 .item-bottom .bottom-r .is-item:first-child {
        padding-right: 0;
    }

    .block2 .item-bottom .bottom-r .is-item:last-child {
        padding-left: 0;
    }


    .block2 .item-bottom .bottom-r .is-item:first-child ul::before {
        display: none;
    }

    .block2 .item-bottom .bottom-r .txt {
        font-size: 18px;
        min-height: auto;
        top: 0;
        left: 0;
        margin-bottom: 20px;
    }



    .block3 {
        padding: 40px 0;
    }

    .block3 .block-title {
        margin-bottom: 30px;
    }

    .block3 .block3-wrapper {
        padding: 0 0 0 15px;
        max-width: 560px;
        width: 100%;
        margin: 0 auto;
    }

    .block3 .column {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .block3 .column:last-child {
        margin-bottom: 0;
    }

    .block3 .column .item ,
    .block3 .column.column1 .item{
        padding: 20px 15px 25px;
        min-height: auto;
    }

    .block3 .item h4 {
        padding-left: 35px;
        font-size: 11px;
    }

    .block3 .column .item h4::before {
        width: 60px;
        height: 60px;
        top: -10px;
        left: -30px;
    }

    .block3 .item h4 span.big {
        font-size: 180%;
    }

    .block3 .item h4 span.small {
        font-size: 100%;
    }

    .block3 .item .price dl dt,
    .block3 .item .price dl dd {
        font-size: 14px;
    }

    .block3 .item .price {
        padding: 20px 15px;
    }

    .block3 .item .price dl dd span.num {
        font-size: 18px;
        margin-right: 5px;
    }

    .block3 .info dl {
        flex: 0 0 49%;
        max-width: 49%;
    }

    .block3 .info.if3 dl {
        flex: 0 0 100%;
        max-width: 100%;
        margin-bottom: 10px;
    }

    .block3 .info dl dt {
        font-size: 2.5vw;
        width: 60px;
        height: 25px;
    }

    .block3 .info dl dd {
        font-size: 3.1vw;
        margin-left: 9px;
    }

    .block3 h5 {
        font-size: 18px;
        height: 35px;
    }

    .block3 .txt {
        font-size: 14px;
    }

    .block3 .txt2 {
        font-size: 14px;
        padding-left: 0;
    }

    .block3 .info.if2 {
        margin-bottom: 15px;
    }

    .block4 .block4-top {
        padding: 40px 0;
    }

    .block4 .block4-bottom .inner {
        padding: 0;
    }

    .block4 .block-title2 {
        width: max-content;
        margin: 0 auto 40px;
        font-size: 28px;
        line-height: 1.3em;
    }

    .block4 .block-title2::before {
        bottom: -25px;
        width: 100%;
        left: 50%;
        transform: translateX(-50%);
    }

    .block4 .block4-top .column:not(:last-child) {
        margin-bottom: 40px;
    }

    .block4 .block4-top .column {
        margin: 0 auto;
        justify-content: center;
    }


    .block4 .block4-top .img {
        position: relative;
        top: auto;
        left: auto;
    }

    .block4 .block4-top .content {
        width: 100%;
        max-width: 420px;
        padding: 20px 15px;
        box-shadow: none;
        min-height: auto;
    }

    .block4 .block4-top .content h4 {
        font-size: 24px;
        padding-bottom: 15px;
        margin-bottom: 15px;
    }

    .block4 .block4-top .content .title {
        padding-left: 0;
        font-size: 18px;
        margin-bottom: 15px;
    }

    .block4 .block4-top .content .txt {
        padding-left: 0;
        font-size: 14px;
    }

    .block4 .block4-bottom {
        padding: 40px 0;
    }

    .block4 .bottom-wrapper1 {
        flex-wrap: wrap;
        margin-bottom: 40px;
    }

    .block4 .bottom-wrapper1 .wrapper-l,
    .block4 .bottom-wrapper1 .wrapper-r {
        width: 100%;
    }

    .block4 .bottom-wrapper1 .wrapper-l {
        margin-bottom: 40px;
        padding: 0 15px;
    }

    .block4 .bottom-wrapper1 .wrapper-l h4 {
        font-size: 24px;
        margin-bottom: 30px;
        padding-left: 0;
        width: max-content;
    }

    .block4 .bottom-wrapper1 .wrapper-l h4::before {
        bottom: -20px;
        width: 100%;
        left: 0;
        height: 15px;
    }

    .block4 .bottom-wrapper1 .wrapper-l .title {
        font-size: 18px;
        padding-left: 0;
        margin-bottom: 15px;
    }

    .block4 .bottom-wrapper1 .wrapper-l .txt {
        font-size: 13px;
        letter-spacing: -0.03em;
    }

    .block4 .bottom-wrapper1 .wrapper-r {
        position: relative;
        top: auto;
        right: auto;
    }



    .block4 .block4-bottom .bottom-tlt {
        font-size: 28px;

    }

    .block4 .block4-bottom .bottom-tlt {
        width: max-content;
        margin: 0 auto 55px;
    }

    .block4 .block4-bottom .bottom-tlt::before {
        width: 100%;
        bottom: -25px;
        height: 15px;
        left: 50%;
        transform: translateX(-50%);
    }

    .block4 .block4-bottom .bottom-wrapper2 {
        padding: 0 15px;
        width: 100%;
        max-width: 440px;
        margin: 0 auto 40px;
    }

    .block4 .bottom-wrapper2 .column {
        box-shadow: none;
        max-height: initial;
        background: transparent;
        justify-content: flex-end;
    }

    .block4 .bottom-wrapper2 .column .img {
        flex: 0 0 100%;
        max-width: 100%;
        order: 1;
        margin-bottom: 30px;
    }

    .block4 .bottom-wrapper2 .column .content {
        flex: 0 0 calc(100% - 15px);
        max-width: calc(100% - 15px);
        background-color: #fff;
        order: 2;
    }

    .block4 .bottom-wrapper2 .column .content {
        padding: 25px 15px 30px 15px;
        box-shadow: 5px 5px 8px rgb(0 0 0 / 10%),
            -5px -5px 8px rgb(0 0 0 / 10%),
            -5px 5px 8px rgb(0 0 0 / 10%),
            5px -5px 8px rgb(0 0 0 / 10%);
    }

    .block4 .bottom-wrapper2 .column .content h3 span {
        font-size: 16px;
        letter-spacing: -0.05em;
    }

    .block4 .bottom-wrapper2 .column .content h3 {
        line-height: .9em;
        margin-bottom: 15px;
    }

    .block4 .bottom-wrapper2 .column .content h3 span::after {
        height: 8px;
        bottom: 3px;
    }

    .block4 .bottom-wrapper2 .column .content p {
        font-size: 12px;
        padding-right: 0;
    }

    .block4 .bottom-wrapper2 .column p.num {
        width: 60px;
        height: 60px;
        font-size: 20px;
        padding: 0 0 0 5px;
        top: -15px;
        left: -15px;
    }

    .block4 .bottom-wrapper2 .column .num::before {
        border-width: 60px 60px 0 0;
    }

    .block4 .block4-bottom .bottom-flow {
        flex-wrap: wrap;
        padding: 0 15px;
        max-width: 440px;
        margin: 0 auto;
    }

    .block4 .bottom-flow .flow-l,
    .block4 .bottom-flow .flow-r {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .block4 .bottom-flow .flow-l::before {
        top: auto;
        bottom: -25px;
        right: 50%;
        transform: translateX(50%) rotate(90deg);
    }

    .block4 .bottom-flow .flow-l {
        height: calc(((100vw - 30px) * 230) / 265);
        max-height: 165px;
        max-width: 280px;
        margin: 0 auto 60px;
    }

    .block4 .bottom-flow .flow-l p {
        font-size: 16px;
    }

    .block4 .bottom-flow .flow-l h4 {
        font-size: 20px;
    }

    .block4 .bottom-flow .flow-r {
        flex-wrap: wrap;
        justify-content: center;
    }

    .block4 .bottom-flow .flow-r li {
        flex: 0 0 100%;
        max-width: 100%;
        align-items: center;
    }

    .block4 .bottom-flow .flow-r li:not(:last-child) {
        margin-bottom: 60px;
    }

    .block4 .bottom-flow .flow-r li .img {
        margin-bottom: 15px;
    }

    .block4 .bottom-flow .flow-r li:not(:last-child) .img::before {
        display: none;
    }

    .block4 .bottom-flow .flow-r li:not(:last-child)::after {
        content: '';
        position: absolute;
        bottom: -45px;
        right: 50%;
        transform: translateX(50%) rotate(90deg);
        background: url(../images/chevron-r.png) no-repeat center /cover;
        width: 21px;
        height: 31px;
    }

    .block4 .bottom-flow .flow-r li .txt {
        font-size: 14px;
    }

    .block4 .bottom-flow .flow-r li:nth-child(1) .txt,
    .block4 .bottom-flow .flow-r li:nth-child(2) .txt,
    .block4 .bottom-flow .flow-r li:nth-child(3) .txt {
        left: auto;
    }

    .contact {
        padding: 40px 0;
    }

    .contact .contact-title {
        font-size: 16px;
        left: auto;
        margin-bottom: 20px;
    }

    .contact .contact-title span.small {
        left: 0;
    }

    .contact .contact-title span.big {
        font-size: 150%;
        top: auto;
        left: auto;
        padding: 0;
    }

    .contact .content {
        font-size: 14px;
        left: 0;
        margin-bottom: 30px;
    }

    .contact .content2 {
        font-size: 18px;
        line-height: 1.8em;
        margin-bottom: 40px;
    }

    .contact .content2 span.small {
        font-size: 100%;
    }

    .contact .content2 span.big {
        font-size: 150%;
    }

    .contact .privacy {
        margin-top: 40px;
        margin-bottom: 20px;
    }

    .contact .privacy .content2 {
        margin-bottom: 20px;
    }

    .contact .privacy .privacy-box {
        padding: 20px 15px;
    }

    #fmail>.fmail_checkbox_list li {
        width: 100%;
    }

    .contact #fmail #en1667270433_01_label {
        width: 100%;
        max-width: 290px;
    }

    footer {}

    footer .foot-top {
        padding: 0;
        background-color: #FCFBF2;
    }

    footer .foot-top .inner-2 {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    footer .foot-top .inner-2 .img,
    footer .foot-top .inner-2 .info {
        max-width: 560px;
        margin-left: auto;
        margin-right: auto;
    }

    footer .foot-top .inner-2 .info {
        position: relative;
        top: auto;
        right: auto;
        width: 100%;
        padding: 40px 15px 20px;
        min-height: auto;
    }

    footer .foot-top .inner-2 .info dl dt {
        font-size: 14px;
        width: 120px;
    }

    footer .foot-top .inner-2 .info dl.sp-70 dt {
        height: 70px;
    }

    footer .foot-top .inner-2 .info dl dd {
        font-size: 14px;
        width: calc(100% - 120px);
        margin-left: 15px;
    }

    footer .foot-bottom .map {
        height: calc((100vw * 450) / 600);
    }

    footer .foot-bottom .bot {
        padding: 40px 0;
    }

    footer .foot-bottom .bot .wrapper {
        flex-wrap: wrap;
    }

    footer .foot-bottom .bot h5 {
        flex: 0 0 100%;
        max-width: 100%;
        order: 2;
        font-size: 17px;
        line-height: 1.3em;
        text-align: center;
    }

    footer .foot-bottom .bot .img {
        flex: 0 0 100%;
        max-width: 100%;
        order: 1;
        margin-left: 0;
        max-width: 80px;
        margin-bottom: 15px;
    }

    footer .foot-bottom .bot .wrapper {
        margin-bottom: 15px;
    }

    footer .foot-bottom .bot address {
        font-size: 10px;
    }

    .contact-main {
        position: fixed;
        top: -100%;
        left: 0;
        z-index: 30;
        width: 100%;
        height: 60px;
        display: flex !important;
        align-items: center;
        opacity: 0;
        transition: all ease .8s;
    }

    .contact-main.active {
        opacity: 1;
        top: 60px;
    }

    .contact-main li {
        flex: 0 0 calc(100% / 3);
        max-width: calc(100% / 3);
        height: 100%;
        position: relative;
    }

    .contact-main li a {
        position: absolute;
        top: 0;
        right: 0;
        width: 100%;
        height: 100%;
    }

    .contact-main li:nth-child(1) {
        background-color: #fff;
    }

    .contact-main li:nth-child(1)::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background: url("data:image/svg+xml,%3Csvg version='1.1' id='Layer_2_00000113311721884256899530000015009419969414077828_' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 73.8 75' style='enable-background:new 0 0 73.8 75;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%230AA046;%7D%0A%3C/style%3E%3Cg id='design'%3E%3Cg%3E%3Cpath class='st0' d='M60.4,60.2l-12.6-9.4h-0.1c-0.4-0.3-1-0.5-1.8-0.6c-1.1-0.1-2.1,0.1-3,0.8l-4.4,3.6c-0.1,0.1-0.3,0.2-0.5,0.2 c-0.2,0-0.4,0.1-0.5,0.1l-0.8-0.3c-0.6-0.2-1.4-0.6-2.4-1.3c-1-0.7-2.3-1.7-3.8-3.1s-3.2-3.2-5-5.6c-1.9-2.3-3.4-4.3-4.3-6.1 c-1-1.7-1.7-3.2-2.1-4.4c-0.5-1.3-0.8-2.5-0.9-3.5c0-0.1,0.1-0.3,0.2-0.5s0.2-0.3,0.3-0.4l3.8-3c0.7-0.5,1.1-1.2,1.4-2.1 s0.3-1.7-0.1-2.5l-5.9-15c-0.3-0.6-0.6-1-1-1.4c-0.4-0.4-0.9-0.6-1.5-0.7c-0.8-0.1-1.6,0.2-2.3,0.7L2.6,14.1 c-0.5,0.4-1,0.9-1.4,1.5c-0.4,0.6-0.7,1.3-0.8,1.9c0,0.1-0.1,0.6-0.2,1.4C0,19.7,0,20.9,0,22.4s0.3,3.3,0.8,5.4S2,32.2,3,34.8 s2.5,5.5,4.3,8.7s4.2,6.5,7.1,10.1c3.6,4.6,7.1,8.2,10.5,11c3.4,2.8,6.4,4.9,9.1,6.4s5.1,2.5,7,3c1.9,0.5,3.3,0.8,4.2,0.9 c0.4,0,0.7,0.1,0.9,0.1c0.2,0,0.4,0,0.4,0c0.7,0,1.3-0.2,2-0.4c0.7-0.2,1.3-0.6,1.8-1l10.3-8.2c0.9-0.7,1.3-1.6,1.3-2.7 C61.8,61.8,61.3,60.9,60.4,60.2L60.4,60.2z'/%3E%3Cpath class='st0' d='M45.5,41.9c0.2,0.3,0.5,0.5,0.9,0.5l3.2,0.3c0.7,0.1,1.3-0.4,1.4-1.1c0.8-4.7-0.4-9.5-3.4-13.2 c-3-3.8-7.5-6-12.3-6.2c-0.7,0-1.3,0.5-1.3,1.2l-0.3,3.2c0,0.3,0.1,0.7,0.3,1c0,0,0,0,0,0c0.2,0.3,0.6,0.4,1,0.4 c3.2,0.1,6.2,1.5,8.1,4c2,2.5,2.8,5.7,2.2,8.8C45.2,41.2,45.3,41.6,45.5,41.9L45.5,41.9z'/%3E%3Cpath class='st0' d='M56.7,43.1c0.2,0.3,0.5,0.5,0.9,0.5l3.2,0.3c0.7,0.1,1.3-0.4,1.4-1.1c1-7.7-1.1-15.3-6-21.3 c-4.9-6.1-11.9-9.8-19.7-10.5c-0.7-0.1-1.3,0.5-1.4,1.2l-0.3,3.2c0,0.3,0.1,0.7,0.3,1c0,0,0,0,0,0c0.2,0.3,0.5,0.4,0.9,0.5 c6.2,0.5,11.8,3.5,15.7,8.3c3.9,4.8,5.5,10.8,4.7,17C56.4,42.5,56.5,42.8,56.7,43.1L56.7,43.1z'/%3E%3Cpath class='st0' d='M65.4,14.2C58.6,5.8,48.5,0.6,37.6,0c-0.7,0-1.3,0.5-1.4,1.2l-0.3,3.2c0,0.3,0.1,0.7,0.3,0.9c0,0,0,0,0,0 c0.2,0.3,0.6,0.4,0.9,0.4c9.3,0.5,17.9,4.9,23.7,12.1c5.7,7.1,8.2,16.3,6.7,25.3c-0.1,0.3,0,0.7,0.3,1s0.5,0.5,0.9,0.5l3.2,0.3 c0.7,0.1,1.3-0.4,1.4-1.1C75,33.4,72.1,22.6,65.4,14.2L65.4,14.2z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A") no-repeat center /contain;
        width: 32px;
        height: 32px;
    }

    .contact-main li:nth-child(2) {
        background-color: #FBE133;
    }

    .contact-main li:nth-child(2)::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background: url(../images/mail-sp2.png) no-repeat center /cover;
        width: 31px;
        height: 20px;
    }

    .contact-main li:nth-child(3) {
        background-color: #00BA51;
    }

    .contact-main li:nth-child(3)::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background: url(../images/line-sp2.png) no-repeat center /cover;
        width: 34px;
        height: 33px;
    }

    #link01,
    #link02,
    #link03,
    #link04 {
        padding-top: 60px;
    }

    /*==========================================================================*/
    /*                               MAIN                                       */
    /*==========================================================================*/



    /* ===========  OVERNOTE ===========  */

}

@media screen and (max-width: 560px) {
    .pc560 {
        display: none
    }

    .sp560 {
        display: block
    }

    .banner .banner-l .img-2 {
        width: 120px;
    }

    .banner .banner-l {
        max-width: 100%;
    }
    .banner .banner-list{
        left:-5%;
    }
}

@media screen and (max-width: 480px) {
    .pc480 {
        display: none
    }

    .sp480 {
        display: block
    }
    .block2 .block2-wrapper .top-img .des {
        font-size: 4.2vw;
        height: 55px;
    }
}


@media screen and (max-width: 440px) {
    .pc420 {
        display: none
    }

    .sp420 {
        display: block
    }
    .banner .banner-list .list-l .item.sp{
        width: 100%;
    }
}


@media screen and (max-width: 390px) {
    .pc380 {
        display: none
    }

    .sp380 {
        display: block
    }

    .block3 .txt {
        font-size: 2.85vw;
    }

    .block1-center .step .step-content {
        width: 200px;
    }

    .block1-center .step .step-content {
        font-size: 3.1vw;
    }

    .banner .banner-l .img img {
        left: -45%;
        top: 20px;
      }
      .banner .banner-list .list-l .item span {
        font-size: 3.5vw;
      }
      .banner .inner-2 {
        height: calc(510px - 63px);
}
}
@media screen and (max-width: 360px) {

    .main-title,
    .sec-fmail .wrapper-r .txt3,
    .sec-fmail .wrapper-r .txt {
        font-size: 6vw;
    }

    .sec-fmail .wrapper-r .txt2 span.small {
        font-size: 2.5vw;
    }

    .block1 .block1-top .block1-title .abs {
        font-size: 4vw;
    }

    .block1 .block1-top .block1-title .abs::before {
        width: 220px;
        height: 29px;
    }


    .block1-center .step .step-num {
        font-size: 12px;
    }

    .block1-bottom h4 {
        font-size: 14px;
    }

    .block1-center .txt {
        font-size: 17px;
    }

    .block2 .block2-wrapper .top-content h4 {
        font-size: 4.7vw;
    }

    .block2 .item-bottom .bottom-r h5 {
        font-size: 3.5vw;
    }

    .block3 .item h4 span.big {
        font-size: 5.35vw;
    }

    .block3 .info dl dt,
    .block3 .info dl dd {
        font-size: 3.1vw;
    }

    .block4 .bottom-wrapper2 .column .content h3 span {
        font-size: 4.4vw;
    }

    .contact .contact-title {
        font-size: 14px;
    }

    .contact .content {
        font-size: 12px;
    }

    .contact .content2 {
        font-size: 16px;
    }

    footer .foot-bottom .bot h5 {
        font-size: 4.5vw;
    }

    header .header-sp {
        padding: 40px 15px 200px
    }

    footer .foot-top .inner-2 .info dl dd {
        font-size: 3.5vw;
    }

    .block4 .block-title2,
    .block1 .block1-top .block1-title span.title-r {
        font-size: 26px;
    }

    .block2 .block2-wrapper .top-content ul .is-r span {
        font-size: 13px;
    }
}