@charset "UTF-8";
/* ------------------------------------------------------------
    parts base
------------------------------------------------------------ */
/* ------------------------------
    movie
------------------------------ */

.moviewrap {
    margin: 0 auto;
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}

.moviewrap.shorts {
    aspect-ratio: 9/16;
}

.moviewrap iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
}


/* ------------------------------
    sq_num
------------------------------ */
.sq_num {
    width: 57px;
    height: 57px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #83C443;
    border: 4px solid #74D4FC;
    background: #fff;
    border-radius: 10px;
    font-size: 4rem;
    line-height: 1;
}

.sq_num .num {
    position: relative;
    display: block;
}

.sq_num .num1 {
    margin-right: 0.02em;
}

.sq_num .num:before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0.6em;
    height: 2px;
    background: #83C443;
}

.sq_num .num1:before {
    left: calc(50% + 0.02em);
}

@media screen and (min-width: 769px) {}

@media screen and (max-width: 768px) {
    .sq_num {
        width: 8.4vw;
        height: 8.4vw;
        border-width: 3px;
        border-radius: 6px;
        font-size: 5.3vw;
    }

}



/* ------------------------------------------------------------
    columnBlk
------------------------------------------------------------ */
/* ------------------------------
    column1
------------------------------ */
.column1 {
    /*margin-top: 44px;*/
}

.column1+.column1 {
    margin-top: 90px;
}

@media screen and (min-width: 769px) {
    .column1 {
        padding: 40px 40px 50px;
        background: #fff;
        position: relative;
    }

}

@media screen and (min-width: 769px) and (max-width: 999px) {
    .column1 {
        padding-left: 2vw;
        padding-right: 2vw;
    }
}

@media screen and (max-width: 768px) {
    .column1 {
        margin-top: 0;
    }

    .column1+.column1 {
        margin-top: 24vw;
    }
}


/* ------------------------------
    column2
------------------------------ */
.column2 {
    padding: 67px 40px 0;
}


@media screen and (min-width: 769px) {}

@media screen and (min-width: 769px) and (max-width: 999px) {
    .column2 {
        padding-left: 2vw;
        padding-right: 2vw;
    }
}

@media screen and (max-width: 768px) {
    .column2 {
        padding: 0 0 0;
    }

}

/* ------------------------------------------------------------
    余白
------------------------------------------------------------ */
/*--blk--*/
.indentblk {
    padding-left: 40px;
}

/*--margin--*/
.blk1 {}

.blk2+.blk2 {
    margin-top: 80px;
}

.blk3+.blk3 {
    margin-top: 40px;
}

.blk4+.blk4 {
    margin-top: 30px;
}


.mb120 {
    margin-bottom: 120px !important;
}

.mb80 {
    margin-bottom: 80px !important;
}

.mb60 {
    margin-bottom: 60px !important;
}

.mb50 {
    margin-bottom: 50px !important;
}

.mb40 {
    margin-bottom: 40px !important;
}

.mb30 {
    margin-bottom: 30px !important;
}

.mb25 {
    margin-bottom: 25px !important;
}

.mb10 {
    margin-bottom: 10px !important;
}

.mb0 {
    margin-bottom: 0 !important
}

.wfit {
    width: fit-content;
}

.wfit span {
    float: right;
}

@media screen and (min-width: 769px) {
    .pc_mr20 {
        margin-right: 20px !important;
    }

}

@media screen and (min-width: 769px) and (max-width: 999px) {
    .indentblk {
        padding-left: 20px;
    }
}

@media screen and (max-width: 768px) {

    /*--blk--*/
    .indentblk {
        padding-left: 4vw;
    }

    /*--margin--*/
    .blk2+.blk2 {
        margin-top: 12vw;
    }

    .blk3+.blk3 {
        margin-top: 8vw;
    }

    .blk4+.blk4 {
        margin-top: 5.3vw;
    }


    .mb120 {
        margin-bottom: 14vw !important;
    }

    .mb80 {
        margin-bottom: 10vw !important;
    }

    .mb60 {
        margin-bottom: 7vw !important;
    }

    .mb50 {
        margin-bottom: 5vw !important;
    }

    .mb40 {
        margin-bottom: 4vw !important;
    }

    .mb30 {
        margin-bottom: 4vw !important;
    }

    .mb25 {
        margin-bottom: 3vw !important;
    }

    .mb10 {
        margin-bottom: 1.3vw !important;
    }
}

/* ------------------------------------------------------------
    width
------------------------------------------------------------ */
@media screen and (min-width: 769px) {
    .pc_w20 {
        width: 20% !important;
    }

    .pc_w50 {
        width: 50% !important;
    }
}

/* ------------------------------------------------------------
    見出し
------------------------------------------------------------ */
/* ------------------------------
    mid1
------------------------------ */
.mid1 {
    line-height: 1;
    margin-bottom: 30px;
}

.mid1_txt {
    display: inline-block;
    border-radius: 12px 12px 0 0;
    font-size: 2.8rem;
    padding: 0.7em 40px 0.6em;
    font-weight: bold;
    border-bottom: 2px dashed #74D4FC;
    letter-spacing: 0.15em;

}

.mid1.en .mid1_txt {
    letter-spacing: 0.05em;
}

@media screen and (min-width: 769px) {
    .mid1 {
        width: calc(100% + 80px);
        margin-top: -40px;
        margin-left: -40px;
        background: #F4F4F4;
    }

    .mid1_txt {
        background: #fff;
        /*min-width: 360px;*/
    }

}

@media screen and (min-width: 769px) and (max-width: 999px) {
    .mid1 {
        width: calc(100% + 4vw);
        margin-left: -2vw;
    }

    .mid1_txt {
        padding-left: 2vw;
        padding-right: 2vw;
    }
}

@media screen and (max-width: 768px) {
    .mid1 {
        line-height: 1;
        margin-bottom: 5.3vw;
        border-bottom: 3px solid #74D4FC;
    }

    .mid1_txt {
        margin-bottom: -3px;
        background: #fff;
        width: 67.7vw;
        min-height: 18.1vw;
        display: flex;
        align-items: center;
        border: 3px solid #74D4FC;
        border-bottom: 2px dashed #74D4FC;
        font-size: 4.5vw;
        line-height: 1.45;
        padding: 0.5em 1em 0.4em;
    }
}

/* ------------------------------
    mid2
------------------------------ */
.mid2 {
    font-size: 2.7rem;
    line-height: 1.2;
    font-weight: bold;
    padding-bottom: 0.4em;
    border-bottom: 2px dashed #74D4FC;
    letter-spacing: 0.15em;
    margin-bottom: 20px;
}

.mid2.en {
    letter-spacing: 0.05em;
}

.mid2.noline {
    border-bottom: none;
}

@media screen and (min-width: 769px) {}

@media screen and (min-width: 769px) and (max-width: 999px) {}

@media screen and (max-width: 768px) {
    .mid2 {
        font-size: 4vw;
        padding-bottom: 0.3em;
        margin-bottom: 3.2vw;
    }
}


/* ------------------------------
    mid3
------------------------------ */
.mid3 {
    position: relative;
    font-size: 2.3rem;
    line-height: 1.2;
    font-weight: bold;
    letter-spacing: 0.12em;
    margin-bottom: 15px;
    padding-left: 40px;
}

.mid3.en {
    letter-spacing: 0.05em;
}

.mid3:before {
    content: "";
    display: block;
    position: absolute;
    background: url(../img/mid3_drop.png) no-repeat;
    background-size: contain;
    top: 0.1em;
    left: 0;
    width: 14px;
    height: 19px;
}


@media screen and (min-width: 769px) {}

@media screen and (min-width: 769px) and (max-width: 999px) {
    .mid3 {
        padding-left: 20px;
    }
}

@media screen and (max-width: 768px) {
    .mid3 {
        font-size: 3.7vw;
        margin-bottom: 2vw;
        padding-left: 4vw;
    }

    .mid3:before {
        left: 0;
        width: 2.5vw;
        height: 3.4vw;
    }

}


/* ------------------------------
    mid4
------------------------------ */
.mid4 {
    position: relative;
    font-size: 1.8rem;
    line-height: 1.2;
    font-weight: bold;
    letter-spacing: 0.15em;
    margin-bottom: 18px;
    padding-left: 30px;
}

.mid4.en {
    letter-spacing: 0.05em;
}

.mid4:before {
    content: "";
    display: block;
    position: absolute;
    top: 0.2em;
    left: 0.1em;
    width: 12px;
    height: 12px;
    background: #393939;
    border-radius: 50%;
}

@media screen and (min-width: 769px) {}

@media screen and (min-width: 769px) and (max-width: 999px) {}

@media screen and (max-width: 768px) {
    .mid4 {
        font-size: 3.7vw;
        margin-bottom: 3vw;
        padding-left: 4vw;
    }

    .mid4:before {
        top: 1vw;
        left: 0;
        width: 2.4vw;
        height: 2.4vw;
    }

}



/* ------------------------------------------------------------
    リンク
------------------------------------------------------------ */
/* ------------------------------
    arwlink
------------------------------ */
.arwlinkLi {}

.arwlinkLi li+li {
    margin-top: 15px;
}

.arwlink {
    /*display: flex;
    justify-content: flex-start;
    align-items: center;*/
    display: inline-block;
    vertical-align: middle;
    position: relative;
    padding-left: 40px;
    font-weight: bold;
    line-height: 1.2;
    letter-spacing: 0.05em;
    padding-right: 22px;
}

.arwlinkLi.en .arwlink,
.arwlink.en {
    letter-spacing: normal;
}

.arwlink:before {
    content: "";
    display: block;
    position: absolute;
    width: 25px;
    height: 14px;
    background: url(../img/arwlink_arw.png);
    background-repeat: no-repeat;
    background-size: contain;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.arwlink .txt {
    display: inline-block;
}

.arwlink .ico {
    padding-left: 0.3em;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

.arwlink .ico img {
    width: 15px;
}

.arwlink .ico2 img {
    width: 16px;
    margin-bottom: 3px;
}

@media screen and (min-width: 769px) {}

@media screen and (min-width: 769px) and (max-width: 999px) {}

@media screen and (max-width: 768px) {
    .arwlinkLi li+li {
        margin-top: 3vw;
    }

    .arwlink {
        padding-left: 6.4vw;
    }

    .arwlink:before {
        width: 4.8vw;
        height: 2.6vw;
    }

    .arwlink .ico {
        /*padding-left: 4vw;*/
    }

    .arwlink .ico img {
        width: 4vw;
    }

    .arwlink .ico2 img {
        width: 4.2vw;
        margin-bottom: 0.8vw;
    }

}


/* ------------------------------
    linklist1
------------------------------ */
.linklist1 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding-bottom: 10px;
}

.linklist1 li {
    width: 31.3%;
    margin-left: 3%;
}

.linklist1 li a {
    display: block;
    background: #fff;
    width: 100%;
    height: 100%;
    border: 7px solid #74D4FC;
    border-radius: 40px;
    box-shadow: 10px 10px 0px 0px rgba(0, 0, 0, 0.07);
    padding: 40px 10px 26px;

}

.linklist1 li p {
    font-size: 2.5rem;
    line-height: 1.8;
    font-weight: bold;
}

.linklist1_2 li p.line1 {
    padding-top: 0.5em;
}

.linklist1 li .ico {
    width: 170px;
    margin: 18px auto 0;
}

@media screen and (min-width: 769px) {
    .linklist1 li:nth-child(3n-2) {
        margin-left: 0;
    }

    .linklist1 li:nth-child(n+4) {
        margin-top: 30px;
    }

    .linklist1_2 li {
        height: 350px;
    }

    .linklist1_2 li p {
        height: 90px;
    }

    .linklist1_2 li .ico {
        width: 266px;
    }
}

@media screen and (max-width: 768px) {
    .linklist1 {
        padding-bottom: 1vw;
    }

    .linklist1 li {
        width: 48.5%;
        margin-left: 3%;
    }

    .linklist1 li:nth-child(2n-1) {
        margin-left: 0;
    }

    .linklist1 li:nth-child(n+3) {
        margin-top: 1.3vw;
    }

    .linklist1 li a {
        border-width: 3px;
        border-radius: 15px;
        box-shadow: 1vw 1vw 0px 0px rgba(0, 0, 0, 0.07);
        padding: 2.6vw 3.5vw;
    }

    .linklist1 li p {
        font-size: 4vw;
    }

    .linklist1 li .ico {
        width: 80%;
        margin: 3vw auto 0;
    }

}

/* ------------------------------
    linklist2
------------------------------ */
.linklist2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding-bottom: 10px;
}

.linklist2 li {
    width: 31%;
    margin-left: 3.5%;
}

.linklist2 li a {
    display: block;
    background: #fff;
    width: 100%;
    height: 100%;
    border: 5px solid #00A2FF;
    border-radius: 40px;
    box-shadow: 10px 10px 0px 0px rgba(0, 0, 0, 0.07);
    padding: 0;
    overflow: hidden;

}

.linklist2 li .txt {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 2rem;
    padding: 0.6em 30px 0.65em;
}

.linklist2 li p {
    flex: 1;
    line-height: 1.5;
    font-weight: bold;
    position: relative;
    padding-right: 0.1em;
}

.linklist2 li .ico {
    width: 21px;
    height: 27px;
    background: url(../img/arw_triangle.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

@media screen and (min-width: 1000px) {
    .linklist2 li:nth-child(3n-2) {
        margin-left: 0;
    }

    .linklist2 li:nth-child(n+4) {
        margin-top: 30px;
    }
}

@media screen and (min-width: 769px) and (max-width: 999px) {
    .linklist2 li {
        width: 48.5%;
        margin-left: 3%;
    }

    .linklist2 li:nth-child(2n-1) {
        margin-left: 0;
    }

    .linklist2 li:nth-child(n+3) {
        margin-top: 30px;
    }

    .linklist2 li .txt {
        padding-left: 15px;
        padding-right: 15px;
    }
}

@media screen and (max-width: 768px) {
    .linklist2 {
        padding-bottom: 1vw;
    }

    .linklist2 li {
        width: 48.5%;
        margin-left: 3%;
    }

    .linklist2 li:nth-child(2n-1) {
        margin-left: 0;
    }

    .linklist2 li:nth-child(n+3) {
        margin-top: 2.6vw;
    }

    .linklist2 li a {
        border-width: 3px;
        border-radius: 15px;
        box-shadow: 1vw 1vw 0px 0px rgba(0, 0, 0, 0.07);
    }

    .linklist2 li .txt {
        font-size: 3.2vw;
        padding: 0.4em 3.2vw;
    }

    .linklist2 li p {
        flex: 1;
        line-height: 1.25;
    }

    .linklist2 li .ico {
        width: 2.6vw;
        height: 3.7vw;
    }

}



/* ------------------------------
    linklist3
------------------------------ */
.linklist3 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding-bottom: 10px;
}

.linklist3 li {
    width: 22.2%;
    margin-left: 3.73%;
}

.linklist3 li a {
    display: block;
    background: #fff;
    width: 100%;
    height: 100%;
    border: 5px solid #00A2FF;
    border-radius: 40px;
    box-shadow: 10px 10px 0px 0px rgba(0, 0, 0, 0.07);
    padding: 0;
    overflow: hidden;
}

.linklist3 li .txt {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 2rem;
    padding: 0.6em 30px 0.65em;
}

.linklist3 li p {
    flex: 1;
    line-height: 1.5;
    font-weight: bold;
    position: relative;
    padding-right: 0.1em;
}

.linklist3 li .ico {
    width: 21px;
    height: 27px;
    background: url(../img/arw_triangle.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

@media screen and (min-width: 1000px) {
    .linklist3 li:nth-child(4n-3) {
        margin-left: 0;
    }

    .linklist3 li:nth-child(n+5) {
        margin-top: 30px;
    }
}

@media screen and (min-width: 769px) and (max-width: 1190px) {
    .linklist3 li .txt {
        padding-left: 15px;
        padding-right: 15px;
    }
}

@media screen and (min-width: 769px) and (max-width: 999px) {
    .linklist3 li {
        width: 32%;
        margin-left: 2%;
    }

    .linklist3 li:nth-child(3n-2) {
        margin-left: 0;
    }

    .linklist3 li:nth-child(n+4) {
        margin-top: 30px;
    }
}

@media screen and (max-width: 768px) {
    .linklist3 {
        padding-bottom: 1.6vw;
    }

    .linklist3 li {
        width: 48.5%;
        margin-left: 3%;
    }

    .linklist3 li:nth-child(2n-1) {
        margin-left: 0;
    }

    .linklist3 li:nth-child(n+3) {
        margin-top: 2.6vw;
    }

    .linklist3 li a {
        border-width: 3px;
        border-radius: 15px;
        box-shadow: 1.6vw 1.6vw 0px 0px rgba(0, 0, 0, 0.07);
    }

    .linklist3 li .txt {
        font-size: 3.2vw;
        padding: 0.4em 3.2vw;
    }

    .linklist3 li p {
        flex: 1;
        line-height: 1.25;
    }

    .linklist3 li .ico {
        width: 2.6vw;
        height: 3.7vw;
    }

}

/* ------------------------------
    linklist4
------------------------------ */
.linklist4 {
    padding-bottom: 10px;
    max-width: 1200px;
    margin: 0 auto;
}

.linklist4 li {
    width: 31%;
    margin-left: 3.5%;
}

.linklist4 li a {
    display: block;
    background: #fff;
    width: 100%;
    height: 100%;
    border: 5px solid #00A2FF;
    border-radius: 40px;
    box-shadow: 10px 10px 0px 0px rgba(0, 0, 0, 0.07);
    padding: 0;
    overflow: hidden;

}

.linklist4 li .txt {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 2rem;
    padding: 0.6em 30px 0.65em;
}

.linklist4 li p {
    flex: 1;
    line-height: 1.5;
    font-weight: bold;
    position: relative;
    padding-right: 0.1em;
}

.linklist4 li .ico {
    width: 21px;
    height: 27px;
    background: url(../img/arw_triangle.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

@media screen and (min-width: 1000px) {
    .linklist4 li:nth-child(3n-2) {
        margin-left: 0;
    }

    .linklist4 li:nth-child(n+4) {
        margin-top: 30px;
    }
}

@media screen and (min-width: 769px) and (max-width: 999px) {

    .linklist4 li {
        width: 32%;
        margin-left: 3%;
    }

    .linklist4 li:nth-child(2n-1) {
        margin-left: 0;
    }

    .linklist4 li:nth-child(n+3) {
        margin-top: 30px;
    }

    .linklist4 li .txt {
        padding-left: 15px;
        padding-right: 15px;
    }
}

@media screen and (max-width: 768px) {
    .linklist4 {
        padding-bottom: 1vw;
        max-width: 92vw;
    }

    .linklist4 li {
        width: 48.5%;
        margin-left: 3%;
    }

    .linklist4 li:nth-child(2n-1) {
        margin-left: 0;
    }

    .linklist4 li:nth-child(n+3) {
        margin-top: 2.6vw;
    }

    .linklist4 li a {
        border-width: 3px;
        border-radius: 15px;
        box-shadow: 1vw 1vw 0px 0px rgba(0, 0, 0, 0.07);
    }

    .linklist4 li .txt {
        font-size: 3.2vw;
        padding: 0.4em 3.2vw;
    }

    .linklist4 li p {
        flex: 1;
        line-height: 1.25;
    }

    .linklist4 li .ico {
        width: 2.6vw;
        height: 3.7vw;
    }


}

/* ------------------------------
    btn-l
------------------------------ */
.btn-l {
    padding-bottom: 10px;
    max-width: 1200px;
    margin: 0 auto;
}

.btn-l li {
    width: 362px;
    margin-left: 3.5%;
}

.btn-l li a {
    display: block;
    background: #fff;
    width: 100%;
    height: 100%;
    border: 5px solid #00A2FF;
    border-radius: 40px;
    box-shadow: 10px 10px 0px 0px rgba(0, 0, 0, 0.07);
    padding: 0;
    overflow: hidden;

}

@media screen and (min-width: 1000px) {
    .btn-l li:nth-child(3n-2) {
        margin-left: 0;
    }

    .btn-l li:nth-child(n+4) {
        margin-top: 30px;
    }
}

@media screen and (min-width: 769px) and (max-width: 999px) {

    .btn-l li {
        width: 362px;
        margin-left: 3%;
    }

    ..btn-l li:nth-child(2n-1) {
        margin-left: 0;
    }

    ..btn-l li:nth-child(n+3) {
        margin-top: 30px;
    }
}

@media screen and (max-width: 768px) {
    .btn-l {
        padding-bottom: 1vw;
        max-width: 92vw;
    }

    .btn-l li {
        width: 48.5%;
        margin-left: 3%;
    }

    .btn-l li:nth-child(2n-1) {
        margin-left: 0;
    }

    .btn-l li:nth-child(n+3) {
        margin-top: 2.6vw;
    }

    .btn-l li a {
        border-width: 3px;
        border-radius: 15px;
        box-shadow: 1vw 1vw 0px 0px rgba(0, 0, 0, 0.07);
    }
}

/* ------------------------------
    pagelink
------------------------------ */
.pagelink {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding-bottom: 10px;
}

.pagelink li {
    width: 49%;
    margin-left: 2%;
}

.pagelink li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #fff;
    width: 100%;
    height: 100%;
    border: 5px solid #00A2FF;
    border-radius: 30px;
    box-shadow: 10px 10px 0px 0px rgba(0, 0, 0, 0.07);
    padding: 2.3em 2em;
}

.pagelink li p {
    font-size: 2rem;
    line-height: 1.2;
    font-weight: bold;
    flex: 1;
    padding-right: 1em;
}

.pagelink li .ico {
    width: 21px;
    height: 27px;
    background: url(../img/arw_triangle.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

@media screen and (min-width: 769px) {
    .pagelink li:nth-child(2n-1) {
        margin-left: 0;
    }

    .pagelink li:nth-child(n+3) {
        margin-top: 28px;
    }

    .pagelink li a {
        min-height: 80px;
        padding: 0.2em 2em;
    }

}

@media screen and (max-width: 768px) {
    .pagelink {
        padding-bottom: 1vw;
    }

    .pagelink li {
        width: 100%;
        margin-left: 0%;
    }

    .pagelink li+li {
        margin-top: 2vw;
    }

    .pagelink li a {
        border-width: 3px;
        border-radius: 15px;
        box-shadow: 1vw 1vw 0px 0px rgba(0, 0, 0, 0.07);
        padding: 1.2em 1em;
    }

    .pagelink li p {
        font-size: 4.5vw;
    }

    .pagelink li .ico {
        width: 2.6vw;
        height: 3.7vw;
    }

}

/* ------------------------------
    sentence-ico
------------------------------ */
.sentence-ico img {
    width: 15px;
    position: relative;
    top: -5px;
    margin: 0 5px;
}




/* ------------------------------
    anchorlink
------------------------------ */
.anchorlink {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding-bottom: 10px;
    margin-bottom: 160px;
}

.anchorlink li {
    width: 23.2%;
    margin-left: 2.4%;
}

.anchorlink li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #fff;
    width: 100%;
    height: 100%;
}

.anchorlink li p {
    font-size: 2rem;
    line-height: 1.2;
    font-weight: bold;
    padding-right: 0.3em;
    flex: 1;
}

.anchorlink li .ico {
    width: 21px;
    height: 16px;
    background: url(../img/arw_triangle_btm.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

@media screen and (min-width: 769px) {
    .anchorlink li a {
        border: 5px solid #74D4FC;
        border-radius: 30px;
        box-shadow: 10px 10px 0px 0px rgba(0, 0, 0, 0.07);
        padding: 1em 1.5em;
    }
}

@media screen and (min-width: 1000px) {
    .anchorlink li:nth-child(4n-3) {
        margin-left: 0;
    }

    .anchorlink li:nth-child(n+5) {
        margin-top: 35px;
    }

}

@media screen and (min-width: 769px) and (max-width: 999px) {
    .anchorlink li {
        width: 32%;
        margin-left: 2%;
    }

    .anchorlink li:nth-child(3n-2) {
        margin-left: 0;
    }

    .anchorlink li:nth-child(n+4) {
        margin-top: 25px;
    }

}

@media screen and (max-width: 768px) {
    .anchorlink {
        padding-bottom: 0;
        margin-bottom: 16vw;
        border-top: 2px dashed #74D4FC;
    }

    .anchorlink li {
        width: 100%;
        margin-left: 0%;
    }

    .anchorlink li a {
        border-bottom: 2px dashed #74D4FC;
        padding: 3.7vw 3.7vw 3.7vw 13.3vw;
        position: relative;
    }

    .anchorlink li p {
        font-size: 4.5vw;
        padding-right: 0;
    }

    .anchorlink li .ico {
        position: absolute;
        width: 3.7vw;
        height: 2.6vw;
        left: 3.7vw;
        top: 50%;
        transform: translateY(-50%);
    }

}

/* ------------------------------
    anchorlink-left
------------------------------ */
.anchorlink-left {
    justify-content: left;
}

/* ------------------------------------------------------------
    imgbox
------------------------------------------------------------ */
/* ------------------------------
    base
------------------------------ */
.imgbox {
    display: flex;
    justify-content: space-between;
}

.imgbox>.img,
.imgbox_4inner>.img {}

.imgbox>.txt,
.imgbox_4inner>.txt {
    flex: 1;
}

.imgbox .image_ttl {
    line-height: 1;
    font-weight: bold;
    font-size: 1.8rem;
    margin-bottom: 0.5em;
}

.imgbox .image_cap {
    font-size: 1.4rem;
    margin-top: 0.5em;
}

@media screen and (min-width: 769px) {}

@media screen and (min-width: 769px) and (max-width: 999px) {}

@media screen and (max-width: 768px) {
    .imgbox {}

    .imgbox>.img,
    .imgbox_4inner>.img {
        margin-bottom: 3.7vw;
    }

    .imgbox>.txt,
    .imgbox_4inner>.txt {
        flex: 1;
    }

    .imgbox .image_ttl {
        font-size: 3.7vw;
        margin-bottom: 0.5em;
    }

    .imgbox .image_cap {
        font-size: 3.2vw;
    }
}


/* ------------------------------
    imgbox_1
------------------------------ */
.imgbox_1 {
    display: block;
}

.imgbox_1 .txt {
    margin-bottom: 60px;
}

@media screen and (min-width: 769px) {}

@media screen and (min-width: 769px) and (max-width: 999px) {}

@media screen and (max-width: 768px) {
    .imgbox_1 .txt {
        margin-bottom: 3.7vw;
    }

    .imgbox_1 .img {
        margin-bottom: 0;
    }
}


/* ------------------------------
    imgbox_2
------------------------------ */
.imgbox_2 {}

@media screen and (min-width: 769px) {
    .imgbox_2 .img {
        width: 50%;
        margin-right: 3%;
    }

    .imgbox_2.flex_prev>.img {
        margin-right: 0%;
        margin-left: 3%;
    }
}

@media screen and (max-width: 768px) {
    .imgbox_2 {
        display: block;
    }
}


/* ------------------------------
    imgbox_3
------------------------------ */
.imgbox_3 {}


@media screen and (min-width: 769px) {
    .imgbox_3 .img {
        width: 35.7%;
        margin-right: 2.2%;
    }

    .imgbox_3.flex_prev>.img {
        margin-right: 0%;
        margin-left: 2.2%;
    }
}

@media screen and (max-width: 768px) {
    .imgbox_3 {
        display: block;
    }
}

/* ------------------------------
    imgbox_4
------------------------------ */
.imgbox_4 {}


@media screen and (min-width: 769px) {
    .imgbox_4inner {
        width: 48.2%;
        display: flex;
    }

    .imgbox_4inner .img {
        width: 55.5%;
        margin-right: 3.7%;
    }

}

@media screen and (max-width: 768px) {
    .imgbox_4inner {
        width: 48.2%;
    }

    .imgbox_4inner .img {}
}

/* ------------------------------
    imgbox_5
------------------------------ */
.imgbox_5 {}


@media screen and (min-width: 769px) {
    .imgbox_5 .img {
        width: 54.4%;
        margin-right: 2.2%;
    }

    .imgbox_5.flex_prev .img {
        margin-right: 0%;
        margin-left: 2.2%;
    }
}

@media screen and (max-width: 768px) {
    .imgbox_5 {
        display: block;
    }
}

/* ------------------------------
    imgbox_6
------------------------------ */
.imgbox_6 {}


@media screen and (min-width: 769px) {
    .imgbox_6 .img {
        width: 37.9%;
        margin-right: 2.4%;
    }

    .imgbox_6.flex_prev .img {
        margin-right: 0%;
        margin-left: 2.4%;
    }
}

@media screen and (max-width: 768px) {
    .imgbox_6 {
        display: block;
    }
}

/* ------------------------------
    imgbox_7
------------------------------ */
.imgbox_7 {}


@media screen and (min-width: 769px) {
    .imgbox_7 .img {
        width: 48.6%;
        margin-right: 2.8%;
    }

    .imgbox_7 .img:nth-of-type(even) {
        margin-right: 0;

    }

    .imgbox_7 .img:nth-of-type(n+3) {
        margin-top: 30px;
    }

}

@media screen and (max-width: 768px) {
    .imgbox_7 {
        display: block;
    }

    .imgbox_7 .img {
        margin-bottom: 0;
    }

    .imgbox_7 .img+.img {
        margin-top: 5vw;
    }
}

/* ------------------------------
    imgbox_8
------------------------------ */
.imgbox_8 {
    flex-wrap: wrap;
    justify-content: flex-start;
}


@media screen and (min-width: 769px) {
    .imgbox_8 .img {
        width: 32%;
        margin-left: 2%;
    }

    .imgbox_8 .img:nth-of-type(3n-2) {
        margin-left: 0;

    }

    .imgbox_8 .img:nth-of-type(n+4) {
        margin-top: 30px;
    }
}

@media screen and (max-width: 768px) {
    .imgbox_8 {
        display: block;
    }

    .imgbox_8 .img {
        margin-bottom: 0;
    }

    .imgbox_8 .img+.img {
        margin-top: 5vw;
    }
}

/* ------------------------------
    imgbox_9
------------------------------ */
.imgbox_9 {
    flex-wrap: wrap;
    justify-content: flex-start;
}

.img_wrap {
    display: flex;
    flex: 2;
    justify-content: flex-end;
}


@media screen and (min-width: 769px) {
    .imgbox_9 .img {
        width: 36.5%;
        margin-left: 2%;
    }

    .imgbox_9 .img:nth-of-type(4n-3) {
        margin-left: 0;

    }

    .imgbox_9 .img:nth-of-type(n+5) {
        margin-top: 30px;
    }
}

@media screen and (max-width: 768px) {
    .imgbox_9 {
        flex-direction: column;
        justify-content: space-between;
    }

    .imgbox_9 .img {
        width: 48.5%;
        margin-bottom: 0;
    }

    .imgbox_9 .img:nth-of-type(n+3) {
        margin-top: 5vw;
    }

    .imgbox_9 .txtbox {
        margin-bottom: 20px;
    }

    .img_wrap {
        justify-content: space-between;
    }
}

/* ------------------------------
    imgbox_10
------------------------------ */
.imgbox_10 {
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-left: 40px;
}


@media screen and (min-width: 769px) {
    .imgbox_10 .img {
        width: 32%;
        margin-left: 12%;
    }

    .imgbox_10 .img:nth-of-type(3n-2) {
        margin-left: 0;
    }

    .imgbox_10 .img:nth-of-type(n+4) {
        margin-top: 30px;
    }
}

@media screen and (max-width: 768px) {
    .imgbox_10 {
        display: block;
        margin-left: 0;
    }

    .imgbox_10 .img {
        margin-bottom: 0;
    }

    .imgbox_10 .img+.img {
        margin-top: 5vw;
    }
}

/* ------------------------------
    imgbox_11
------------------------------ */
.imgbox_11 {
    justify-content: center;
}


@media screen and (min-width: 769px) {
    .imgbox_11 .img {
        margin-right: 2.8%;
        max-width: 380px;
    }

    .imgbox_11 .img:nth-of-type(even) {
        margin-right: 0;
        max-width: 544.31px;
    }

    .imgbox_11 .img:nth-of-type(n+3) {
        margin-top: 30px;
    }

}

@media screen and (max-width: 768px) {
    .imgbox_11 {
        display: block;
    }

    .imgbox_11 .img {
        margin-bottom: 0;
    }

    .imgbox_11 .img+.img {
        margin-top: 5vw;
    }
}


/* ------------------------------
    imgbox_12 高さ揃えflex
------------------------------ */
.imgbox_12 {
    display: flex;
    gap: 50px;
    align-items: stretch;
}

.imgbox_12 .img {
    flex: auto;
    /* コンテンツのサイズに応じて可変 */
    display: flex;
    align-items: center;
    justify-content: center;
}

.imgbox_12 .img img {
    width: 100%;
    /* 横幅を親要素に合わせる */
    height: 100%;
    /* 高さを親要素に合わせる */
    object-fit: contain;
    /* 画像を引き伸ばさず、トリミングもせずに収める */
}


@media screen and (min-width: 769px) {
    .imgbox_12 .img {
        display: flex;
        align-items: center;
        /* 画像を中央揃え */
        justify-content: center;
        /* 画像を中央配置 */
        flex-grow: 1;
        /* 幅は画像に応じて変動 */
    }

    .imgbox_12 .img img {
        height: 100%;
        /* 高さを親要素にフィット */
        width: auto;
        /* 幅は自動調整（比率維持） */
        max-width: 100%;
        /* 横幅が大きくなりすぎるのを防ぐ */
    }


}

@media screen and (max-width: 768px) {
    .imgbox_12 {
        display: block;
    }
}

/* ------------------------------
    imgbox_num
------------------------------ */
/*---base--*/
.numimg_list {}

.numimg_list li {
    display: flex;
    padding-bottom: 30px;
}

.numimg_list li+li {
    border-top: 1px dashed #707070;
    padding-top: 30px;
}

.numimg_list li:last-of-type {
    padding-bottom: 0;
}

.numimg_list li .sq_num {
    margin-right: 28px;
}

.numimg_list li .num_txt {
    flex: 1;
}

.numimg_list li .ttl {
    font-size: 2.3rem;
    line-height: 1;
    font-weight: bold;
    margin-bottom: 0.7em;
}

.numimg_list2 li {
    align-items: center;
}

.numimg_list2 li .ttl {
    margin-bottom: 0;
    line-height: 1.34;
    letter-spacing: 0.05em;
}

@media screen and (min-width: 769px) {}

@media screen and (max-width: 768px) {
    .numimg_list li {
        display: flex;
        padding-bottom: 4vw;
    }

    .numimg_list li+li {
        padding-top: 4vw;
    }

    .numimg_list li:last-of-type {
        padding-bottom: 0;
    }

    .numimg_list li .sq_num {
        margin-right: 4vw;
    }

    .numimg_list li .ttl {
        font-size: 4vw;
        line-height: 1.2;
        margin-bottom: 0.4em;
    }

    .numimg_list2 li .ttl {
        margin-bottom: 0;
    }
}

/*--imgbox_num1--*/
.imgbox_num1 {}

@media screen and (min-width: 769px) {
    .imgbox_num1 .img {
        width: 54.4%;
        margin-right: 2.9%;
    }

    .imgbox_num1.flex_prev .img {
        margin-right: 0%;
        margin-left: 2.9%;
    }
}

@media screen and (max-width: 768px) {
    .imgbox_num1 {
        display: block;
    }

    .imgbox_num1 .img {
        margin-bottom: 5vw;
    }
}

/*--imgbox_num2--*/
.imgbox_num2 {
    display: block;
}

@media screen and (min-width: 769px) {
    .imgbox_num2 .numimg_list {
        width: 84.4%;
        margin: 42px auto 0;
    }

    .imgbox_num2 .numimg_list li {
        padding-bottom: 36px;
    }
}

@media screen and (max-width: 768px) {}


/* ------------------------------------------------------------
    list
------------------------------------------------------------ */
/* ------------------------------
    booklist
------------------------------ */
.booklist {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.booklist li {
    width: 27.1%;
    margin-left: 5.1%;
}

.booklist li a {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: flex-start;
}

.booklist li a>img {
    border: 1px solid #ccc;
}

.booklist li p {
    display: flex;
    justify-content: center;
    text-align: center;
    padding-top: 0.6em;
    font-size: 1.7rem;
    line-height: 1.45;
    font-weight: bold;
}

@media screen and (min-width: 769px) {
    .booklist li.yoko {
        width: 35%;
    }

    .booklist li:nth-of-type(3n-2) {
        margin-left: 0;
    }

    .booklist li:nth-of-type(n+4) {
        margin-top: 65px;
    }

}

@media screen and (max-width: 768px) {
    .booklist {}

    .booklist li {
        width: 47.5%;
        margin-left: 5%;
    }

    .booklist li.yoko {
        width: 65%;
    }

    .booklist li:nth-of-type(odd) {
        margin-left: 0;
    }

    .booklist li:nth-of-type(n+3) {
        margin-top: 5vw;
    }

    .booklist li p {
        padding-top: 0.8em;
        font-size: 3.4vw;
    }

    .booklist li p .txt {
        font-size: 3vw;
    }
}

/* ------------------------------
    booklist--mixed
------------------------------ */
.booklist--mixed {
    align-items: center;
}

.booklist--mixed li:nth-child(2) {
    width: 37.1%;
}

@media screen and (max-width: 768px) {
    .booklist--mixed li:nth-child(2) {
        width: 47.5%;
    }
}

/* ------------------------------
    meritli
------------------------------ */
.merit_mid {
    font-size: 2.7rem;
    font-weight: bold;
    margin-bottom: 50px;
    text-align: center;
}

.meritli {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.meritli>li {
    padding-top: 25px;
}

.meritli .inner {
    position: relative;
    border: 4px solid #74D4FC;
    border-radius: 15px;
    padding: 60px 10px 35px;
    display: flex;
    height: 100%;
}

.meritli li .sq_num {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%)
}

.meritli p {
    font-weight: bold;
}

.merit_dotli li {
    padding-left: 1.25em;
    position: relative;
    font-weight: bold;
}

.merit_dotli li:before {
    content: "";
    display: block;
    position: absolute;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #83C443;
    top: calc(0.9em - 6px);
    left: 0;
}

/*--注意喚起--*/
.meritli.hupli .inner {
    border-color: #FFB741;

}

.meritli.hupli .sq_num {
    border-color: #FFB741;
    color: #FF5522;
}

.meritli.hupli .sq_num .num:before {
    background: #FF5522;
}

.meritli.hupli .merit_dotli li:before {
    background: #FF5522;
}

@media screen and (min-width: 769px) {
    .meritli p {
        text-align: center;
    }

    .meritli.col2>li {
        width: 48.2%;
        margin-left: 1.8%;
    }

    .meritli.col2>li:nth-of-type(2n-1) {
        margin-left: 0;
    }

    .meritli.col2>li:nth-of-type(n+3) {
        margin-top: 33px;
    }

    .meritli.col2 p {
        max-width: 340px;
        margin: 0 auto;
    }

    .meritli.col2 .merit_dotli {
        max-width: 390px;
        margin: 0 auto;
    }

    .meritli.col3>li {
        width: 31.2%;
        margin-left: 3.2%;
    }

    .meritli.col3 .inner {
        padding: 54px 10px 26px;
    }

    .meritli.col3>li:nth-of-type(3n-2) {
        margin-left: 0;
    }

    .meritli.col3>li:nth-of-type(n+4) {
        margin-top: 26px;
    }

    .meritli.col3 p {
        max-width: 200px;
        margin: 0 auto;
    }

    .meritli.col3 .merit_dotli {
        max-width: 254px;
        margin: 0 auto;
    }

}

@media screen and (max-width: 768px) {
    .merit_mid {
        font-size: 4vw;
        margin-bottom: 4vw;
    }

    .meritli {}

    .meritli>li {
        padding-top: 4.2vw;
        width: 48.2%;
        margin-left: 1.8%;
    }

    .meritli>li:nth-of-type(2n-1) {
        margin-left: 0;
    }

    .meritli>li:nth-of-type(n+3) {
        margin-top: 1.3vw;
    }

    .meritli .inner {
        border-width: 3px;
        border-radius: 10px;
        padding: 6.4vw 3vw 3vw;
    }

    .merit_dotli li {
        padding-left: 2.6vw;
    }

    .merit_dotli li:before {
        width: 1.4vw;
        height: 1.4vw;
        top: calc(0.8em - 0.7vw);
    }
}

/* ------------------------------
    meritli_img
------------------------------ */
.meritli_img .inner {
    flex-direction: column;
    justify-content: space-around;
}

.meritli_img.col3 p {
    max-width: none;
}



/* ------------------------------
    pointlist
------------------------------ */
.pointlist {}

.pointlist li {}

.pointlist li+li {
    margin-top: 25px;
}

.pointlist .ttlbox {
    display: flex;
    border: 4px solid #74D4FC;
    border-radius: 15px;
    width: 50%;
    max-width: 449px;
    margin-right: 2.5%;
}

.pointlist .ttlbox .num {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 8.8%;
    border-right: 2px dashed #74D4FC;
    width: 22%;
    font-size: 4rem;
    padding: 0.7em 0.2em;
    line-height: 1;
}

.pointlist .ttlbox .num span {
    position: relative;
    color: #83C443;
}

.pointlist .ttlbox .num .num1 {
    margin-right: 0.02em;
}

.pointlist .ttlbox .num span:before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    height: 1px;
    width: 0.6em;
    background: #83C443;
}

.pointlist .ttlbox .num .num1:before {
    left: calc(50% + 0.02em);
}

.pointlist .ttlbox .ttl {
    flex: 1;
    display: flex;
    align-items: center;
    font-size: 2rem;
    font-weight: bold;
    padding: 0.5em 0.5em 0.5em 0;
    line-height: 1.2;
}

.pointlist li>.txt {
    flex: 1;
}

@media screen and (min-width: 769px) {
    .pointlist li {
        display: flex;
        align-items: flex-start;
    }

    .pointlist li>.txt {
        padding: 10px 0 0;
    }

}

@media screen and (max-width: 768px) {
    .pointlist {}

    .pointlist li {}

    .pointlist li+li {
        margin-top: 5.3vw;
    }

    .pointlist .ttlbox {
        border-width: 3px;
        border-radius: 10px;
        margin-bottom: 2vw;
        width: 100%;
        max-width: initial;
        margin-right: 0;
    }

    .pointlist .ttlbox .num {
        margin-right: 3vw;
        width: 12vw;
        font-size: 5.3vw;
    }

    .pointlist .ttlbox .ttl {
        font-size: 3.7vw;
        padding: 0.5em 3vw 0.4em 0;
    }

}



/* ------------------------------
    troublelist
------------------------------ */
.troublelist {}

.troublelist li {
    border: 4px solid #FF5522;
    border-radius: 15px;
    background: #fff;
    padding: 1em 1.9em;
    display: flex;
    /*align-items: flex-start;*/
}

.troublelist .img {
    width: 38.3%;
    margin-right: 6%;
    display: flex;
    align-items: center;
}

.troublelist .txt {
    flex: 1;
}

.troublelist .ttl {
    font-size: 1.8rem;
    font-weight: bold;
    padding: 0.8em 0 0.5em;
    border-bottom: 2px dashed #FF5522;
    margin-bottom: 0.4em;
    line-height: 1.2;
}

.troublelist li .ttl:nth-of-type(n+2) {
    padding-top: 1.3em;
}

.troublelist p {}



@media screen and (min-width: 769px) {
    .troublelist {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
    }

    .troublelist li {
        width: 48.3%;
        margin-left: 3.4%;
    }

    .troublelist li:nth-of-type(2n-1) {
        margin-left: 0;
    }

    .troublelist li:nth-of-type(n+3) {
        margin-top: 36px;
    }


}

@media screen and (max-width: 768px) {
    .troublelist {}

    .troublelist li {
        border-width: 3px;
        border-radius: 10px;
        padding: 3vw;
    }

    .troublelist li+li {
        margin-top: 3vw;
    }

    .troublelist .img {
        width: 30vw;
        margin-right: 3vw;
    }

    .troublelist .txt {
        flex: 1;
    }

    .troublelist .ttl {
        font-size: 3.7vw;
        padding: 0.2em 0 0.3em;
    }

    .troublelist li .ttl:nth-of-type(n+2) {
        padding-top: 1em;
    }
}

/* ------------------------------
    howtolist
------------------------------ */

.howtolist {}

.howtolist li {
    border: 4px solid #fa8483;
    border-radius: 15px;
    background: #fff;
    padding: 1em 1.9em;
    display: flex;
    /*align-items: flex-start;*/
}

.howtolist-green li {
    border: 4px solid #83C443;
}

.howtolist .img {
    width: 15%;
    margin-right: 6%;
    display: flex;
    align-items: center;
}

.howtolist .txt {
    flex: 1;
}

.howtolist .ttl {
    font-size: 1.8rem;
    font-weight: bold;
    padding: 0.8em 0 0.5em;
    border-bottom: 2px dashed #fa8483;
    margin-bottom: 0.4em;
    line-height: 1.2;
}

.howtolist-green .ttl {
    border-bottom: 2px dashed #83C443;
}

.howtolist li .ttl:nth-of-type(n+2) {
    padding-top: 1.3em;
}

.howtolist p {}



@media screen and (min-width: 769px) {
    .howtolist {
        justify-content: center;
        flex-wrap: wrap;
    }

    .howtolist li {
        width: 100%;
    }

    .howtolist li:nth-of-type(n+2) {
        margin-top: 36px;
    }


}

@media screen and (max-width: 768px) {
    .howtolist {}

    .howtolist li {
        border-width: 3px;
        border-radius: 10px;
        padding: 3vw;
    }

    .howtolist li+li {
        margin-top: 3vw;
    }

    .howtolist .img {
        width: 30vw;
        margin-right: 3vw;
    }

    .howtolist .txt {
        flex: 1;
    }

    .howtolist .ttl {
        font-size: 3.7vw;
        padding: 0.2em 0 0.3em;
    }

    .howtolist li .ttl:nth-of-type(n+2) {
        padding-top: 1em;
    }
}



/* ------------------------------------------------------------
    かこみテキスト
------------------------------------------------------------ */
/* ------------------------------
    box_txt
------------------------------ */
.box_txt {
    padding: 0;
    border-radius: 15px;
    background: #fff;
    border: 4px solid #83C443;
}

.box_txt .ttl {
    font-size: 2.7rem;
    padding: 1.5em 10px 1.1em;
    line-height: 1.2;
    font-weight: bold;
    border-bottom: 2px dashed #83C443;

}

.box_txt+.box_txt {
    margin-top: 60px;
}

.box_txt>.txt {
    display: flex;
    align-items: flex-start;
    padding: 43px 15px 47px;
}

.box_txt>.txt.noimg {
    display: block;
}

.box_txt .txt p {
    flex: 1;
}

.box_txt .img {
    width: 37%;
    margin-left: 2.4%;
}

/*--注意喚起--*/
.box_txt.hup {
    border-color: #FF5522;
}

.box_txt.hup .ttl {
    border-color: #FF5522;
}

@media screen and (min-width: 769px) {
    .box_txt>.txt {
        max-width: 988px;
        margin: 0 auto;
    }

}

@media screen and (max-width: 768px) {
    .box_txt {
        border-radius: 10px;
        border-width: 3px;
    }

    .box_txt .ttl {
        font-size: 3.7vw;
        padding: 1.2em 3vw 1em;
        border-bottom: 2px dashed #83C443;
    }

    .box_txt+.box_txt {
        margin-top: 5.3vw;
    }

    .box_txt>.txt {
        display: block;
        padding: 5vw 3vw;
    }

    .box_txt .img {
        width: 90%;
        margin: 3.7vw auto 0;
    }

}



/* ------------------------------------------------------------
    table
------------------------------------------------------------ */
/* ------------------------------
    base
------------------------------ */
.tblbase {
    border-collapse: separate;
    border-spacing: 0;
}

.tblbase th,
.tblbase td {
    border: 2px dashed #74D4FC;
    border-top: none;
    border-left: none;
    vertical-align: middle;
    height: 88px;
}

.tblbase tr:last-of-type th {
    border-bottom: 3px solid #83C443;
}

.tblbase tr:last-of-type td {
    border-bottom: 3px solid #74D4FC;
}

.tblbase tr:last-of-type th {
    border-radius: 0 0 0 13px;
}

.tblbase tr:last-of-type td:last-of-type {
    border-radius: 0 0 13px 0;
}

.tblbase th {
    text-align: center;
    font-size: 1.8rem;
    line-height: 1.2;
    font-weight: bold;
    padding: 0.5em;
    /*white-space: nowrap;*/
}

.tblbase th.th_nobg {
    border: none;
    height: auto;
}

.tblbase th.th_bl {
    border-top: 3px solid #74D4FC;
    border-bottom: 3px solid #74D4FC;
    background: #c7eefe;
    height: 78px;
}

.tblbase th.th_bl:first-of-type {
    border-left: 3px solid #74D4FC;
    border-radius: 13px 0 0 0;
}

.tblbase th.th_bl:last-of-type {
    border-right: 3px solid #74D4FC;
    border-radius: 0 13px 0 0;
    overflow: hidden;
}

.tblbase th.th_bl {}

.tblbase th.th_gr {
    background: #cee8b4;
    border-bottom: 2px dashed #83C443;
    border-right: 3px solid #83C443;
    border-left: 3px solid #83C443;
}

.tblbase tr:first-of-type th.th_gr:first-of-type {
    border-top: 3px solid #83C443;
    border-radius: 13px 0 0 0;
}

.tblbase td {
    text-align: center;
    padding: 0.5em 1em;
}

.tblbase th.tblnowrap,
.tblbase td.tblnowrap {
    white-space: nowrap;
}

.tblbase th.tbltaL,
.tblbase td.tbltaL {
    text-align: left;
}

/*--イレギュラーなテーブル用--*/
th.cell_gr,
td.cell_gr {
    background: #cee8b4 !important;
}

th.cell_bl,
td.cell_bl {
    background: #c7eefe !important;
}

.tblbase th.cell_dash,
.tblbase td.cell_dash {
    border-style: dashed !important;
    border-width: 2px !important;
}

.tblbase th.cell_dash_r,
.tblbase td.cell_dash_r {
    border-right-style: dashed !important;
    border-right-width: 2px !important;
}

.tblbase th.cell_dash_l,
.tblbase td.cell_dash_l {
    border-left-style: dashed !important;
    border-left-width: 2px !important;
}

.tblbase th.cell_dash_t,
.tblbase td.cell_dash_t {
    border-top-style: dashed !important;
    border-top-width: 2px !important;
}

.tblbase th.cell_dash_b,
.tblbase td.cell_dash_b {
    border-bottom-style: dashed !important;
    border-bottom-width: 2px !important;
}

.tblbase th.cell_solid,
.tblbase td.cell_solid {
    border-style: solid !important;
    border-width: 3px !important;
}

.tblbase th.cell_solid_r,
.tblbase td.cell_solid_r {
    border-right-style: solid !important;
    border-right-width: 3px !important;
}

.tblbase th.cell_solid_l,
.tblbase td.cell_solid_l {
    border-left-style: solid !important;
    border-left-width: 3px !important;
}

.tblbase th.cell_solid_t,
.tblbase td.cell_solid_t {
    border-top-style: solid !important;
    border-top-width: 3px !important;
}

.tblbase th.cell_solid_b,
.tblbase td.cell_solid_b {
    border-bottom-style: solid !important;
    border-bottom-width: 3px !important;
}

.tblbase th.cell_r0000,
.tblbase td.cell_r0000 {
    border-radius: 0 !important;
}

.tblbase th.cell_r1000,
.tblbase td.cell_r1000 {
    border-radius: 13px 0 0 0 !important;
}

.tblbase th.cell_r1001,
.tblbase td.cell_r1001 {
    border-radius: 13px 0 0 13px !important;
}

.tblbase th.cell_r0010,
.tblbase td.cell_r0100 {
    border-radius: 0 13px 0 0 !important;
}

.tblbase th.cell_r0010,
.tblbase td.cell_r0010 {
    border-radius: 0 0 13px 0 !important;
}

.tblbase th.cell_r0001,
.tblbase td.cell_r0001 {
    border-radius: 0 0 0 13px !important;
}

.bdr_b_bl {
    border-bottom-color: #74D4FC !important;
}

.bdr_r_gr {
    border-right-color: #83C443 !important;
}

.bdr_l_none {
    border-left: none !important;
}

.tbl_ryokin td {
    height: auto;
    padding: 1em;
}

.tbl_ryokin th {
    height: auto;
}

.tblbase.narrow th,
.tblbase.narrow td {
    padding: 0.5em 0.2em;
}

@media screen and (min-width: 769px) {

    .tbl_ryokin th,
    .tbl_ryokin td {
        width: 25%;
    }
}

@media screen and (min-width: 769px) and (max-width: 999px) {}

@media screen and (max-width: 768px) {

    .tblbase th,
    .tblbase td {
        border-width: 1px;
        height: auto;
    }

    .tblbase tr:last-of-type th {
        border-width: 2px;
    }

    .tblbase tr:last-of-type td {
        border-bottom-width: 2px;
    }

    .tblbase tr:last-of-type th {
        border-radius: 0 0 0 6px;
    }

    .tblbase tr:last-of-type td:last-of-type {
        border-radius: 0 0 6px 0;
    }

    .tblbase th {
        font-size: 3.7vw;
        font-weight: bold;
        padding: 0.5em;
    }

    .tblbase th.th_bl {
        border-bottom-width: 2px;
        border-top-width: 2px;
        height: auto;
    }

    .tblbase th.th_bl:first-of-type {
        border-left-width: 2px;
        border-radius: 6px 0 0 0;
    }

    .tblbase th.th_bl:last-of-type {
        border-right-width: 2px;
        border-radius: 0 6px 0 0;
    }

    .tblbase th.th_bl {}

    .tblbase th.th_gr {
        border-bottom-width: 1px;
        border-right-width: 2px;
        border-left-width: 2px;
    }

    .tblbase tr:first-of-type th.th_gr:first-of-type {
        border-top-width: 2px;
        border-radius: 6px 0 0 0;
    }

    .tblbase td {
        padding: 0.5em 0.5em;
        font-size: 3.4vw;
    }

    /*--イレギュラーなテーブル用--*/
    .tblbase th.cell_dash,
    .tblbase td.cell_dash {
        border-width: 1px !important;
    }

    .tblbase th.cell_dash_r,
    .tblbase td.cell_dash_r {
        border-right-width: 1px !important;
    }

    .tblbase th.cell_dash_l,
    .tblbase td.cell_dash_l {
        border-left-width: 1px !important;
    }

    .tblbase th.cell_dash_t,
    .tblbase td.cell_dash_t {
        border-top-width: 1px !important;
    }

    .tblbase th.cell_dash_b,
    .tblbase td.cell_dash_b {
        border-bottom-width: 1px !important;
    }

    .tblbase th.cell_solid,
    .tblbase td.cell_solid {
        border-width: 2px !important;
    }

    .tblbase th.cell_solid_r,
    .tblbase td.cell_solid_r {
        border-right-width: 2px !important;
    }

    .tblbase th.cell_solid_l,
    .tblbase td.cell_solid_l {
        border-left-width: 2px !important;
    }

    .tblbase th.cell_solid_t,
    .tblbase td.cell_solid_t {
        border-top-width: 2px !important;
    }

    .tblbase th.cell_solid_b,
    .tblbase td.cell_solid_b {
        border-bottom-width: 2px !important;
    }

    .tblbase th.cell_r1000,
    .tblbase td.cell_r1000 {
        border-radius: 6px 0 0 0 !important;
    }

    .tblbase th.cell_r1001,
    .tblbase td.cell_r1001 {
        border-radius: 6px 0 0 6px !important;
    }

    .tblbase th.cell_r0010,
    .tblbase td.cell_r0100 {
        border-radius: 0 6px 0 0 !important;
    }

    .tblbase th.cell_r0010,
    .tblbase td.cell_r0010 {
        border-radius: 0 0 6px 0 !important;
    }

    .tblbase th.cell_r0001,
    .tblbase td.cell_r0001 {
        border-radius: 0 0 0 6px !important;
    }

    .tbl_ryokin th {
        padding: 0.5em 0.4em;
        font-size: 3.4vw;
    }

    .tbl_ryokin td {
        padding: 0.5em 0.2em;
    }
}



/* ------------------------------
    table1
------------------------------ */
.table1 {}

.table1 td {
    border-bottom-color: #83C443;
}

.table1 tr td:last-of-type {
    border-right: 3px solid #74D4FC;
}

.table1 th.th_bl {
    border-bottom: none;
}

.table1 th.th_bl:nth-of-type(2) {
    border-left: 3px solid #74D4FC;
    border-radius: 13px 0 0 0;
}

.table1 th.th_gr {
    border-right: none;
}

.table1 tr:nth-of-type(2) th.th_gr {
    border-top: 3px solid #83C443;
    border-radius: 13px 0 0 0;
}

.table1 tr:nth-of-type(2) td {
    border-top: 3px solid #74D4FC;
}

.table1 tr td:nth-of-type(1) {
    border-left: 3px solid #83C443;
}

@media screen and (min-width: 769px) {}

@media screen and (min-width: 769px) and (max-width: 999px) {}

@media screen and (max-width: 768px) {
    .table1 {}

    .table1 td {}

    .table1 tr td:last-of-type {
        border-right-width: 2px;
    }

    .table1 th.th_bl {}

    .table1 th.th_bl:nth-of-type(2) {
        border-left-width: 2px;
        border-radius: 6px 0 0 0;
    }

    .table1 tr:nth-of-type(2) th.th_gr {
        border-top-width: 2px;
        border-radius: 6px 0 0 0;
    }

    .table1 tr:nth-of-type(2) td {
        border-top-width: 2px;
    }

    .table1 tr td:nth-of-type(1) {
        border-left-width: 2px;
    }

}




/* ------------------------------
    table2
------------------------------ */
.table2 {}

.table2 th {}

.table2 td:first-of-type {
    border-left: 3px solid #74D4FC;
}

.table2 td:last-of-type {
    border-right: 3px solid #74D4FC;
}

.table2 tr:last-of-type td:first-of-type {
    border-radius: 0 0 0 13px
}

@media screen and (min-width: 769px) {}

@media screen and (min-width: 769px) and (max-width: 999px) {}

@media screen and (max-width: 768px) {
    .table2 td:first-of-type {
        border-left-width: 2px;
    }

    .table2 td:last-of-type {
        border-right-width: 2px;
    }

    .table2 tr:last-of-type td:first-of-type {
        border-radius: 0 0 0 6px
    }
}

/*
表の最終列を結合したとき用のスタイル
「直結給水について」ページで使用
*/
.combinedLastCell {
    border-radius: 0 0 13px 0 !important;
    border-bottom: 3px solid #74D4FC !important;
}

.normalCell {
    border-radius: 0 !important;
    border-right: 2px dashed #74D4FC !important;
}

@media screen and (max-width: 768px) {
    .combinedLastCell {
        border-bottom: 2px solid #74D4FC !important;
    }

    .normalCell {
        border-right: 1px dashed #74D4FC !important;
    }
}

/* ------------------------------
    table3
------------------------------ */
.table3 {}

.table3 th,
.table3 td {
    border-color: #83C443;
}

.table3 tr:first-of-type td {
    border-top: 3px solid #83C443;
}

.table3 tr:first-of-type td:last-of-type {
    border-radius: 0 13px 0 0;
}

.table3 tr td:last-of-type {
    border-right: 3px solid #83C443;
}

.table3 tr:last-of-type td {
    border-bottom: 3px solid #83C443;
}


@media screen and (min-width: 769px) {}

@media screen and (min-width: 769px) and (max-width: 999px) {}

@media screen and (max-width: 768px) {
    .table3 tr:first-of-type td {
        border-top-width: 2px;
    }

    .table3 tr:first-of-type td:last-of-type {
        border-radius: 0 6px 0 0;
    }

    .table3 tr td:last-of-type {
        border-right-width: 2px;
    }

    .table3 tr:last-of-type td {
        border-bottom-width: 2px;
    }
}




/* ------------------------------
    table4
------------------------------ */
.table4 {}

.table4 th,
.table4 td {
    border-color: #FFB741;
}

.table4 tr:first-of-type td {
    border-top: 3px solid #83C443;
    border-radius: 0 13px 0 0;
}

.table4 tr td:last-of-type {
    border-right: 3px solid #FFB741;
}

.table4 tr th {
    border-right: 3px solid #FFB741;
    border-left: 3px solid #FFB741;
    background: #ffe2b3;
    width: 16.1%;
    vertical-align: top;
    /*text-align: left;*/
    font-size: 2.2rem;
    padding: 34px 1.5rem 34px;
}

.table4 td {
    padding: 34px 4.2% 4.2%;
    text-align: left;
}

.table4 tr:first-of-type th:first-of-type {
    border-radius: 13px 0 0 0;
}

.table4 tr:first-of-type th,
.table4 tr:first-of-type td {
    border-top: 3px solid #FFB741;
}

.table4 tr:last-of-type th,
.table4 tr:last-of-type td {
    border-bottom: 3px solid #FFB741;
}

.tbl4_ttl {
    font-weight: bold;
    font-size: 2rem;
    margin-bottom: 0.85em;
    letter-spacing: 0.1em;
}

.table4.en .tbl4_ttl {
    letter-spacing: 0.03em;
}

.table4_imgbox {
    margin-top: 36px;
    width: 100%;
    position: relative;
    letter-spacing: -1em;
}

.table4_imgbox li {
    display: inline-block;
    vertical-align: top;
    letter-spacing: normal;
}

.table4_imgbox .image_cap {
    line-height: 1.2;
    padding-top: 0.3em;
}

.table4_imgbox+p {
    margin-top: 30px;
}

.table4_imgbox img {
    width: 100%;
}

@media screen and (min-width: 769px) {
    .table4 td {}

    .table4_imgbox li {
        width: 30.6%;
        margin-left: 4.1%;
        max-width: 258px;
    }

    .table4_imgbox li:nth-of-type(3n-2) {
        margin-left: 0;
    }

    .table4_imgbox li:nth-of-type(n+4) {
        margin-top: 30px;
    }
}

@media screen and (min-width: 769px) and (max-width: 999px) {
    .table4 {
        width: calc(96vw -40px);
        max-width: 100%;
    }

    .table4_imgbox li {
        width: 25.8vw;
    }

    .table4_imgbox li:nth-of-type(3n-2) {}
}

@media screen and (max-width: 768px) {
    .table4 tr:first-of-type td {
        border-top-width: 2px;
        border-radius: 0 6px 0 0;
    }

    .table4 tr td:last-of-type {
        border-right-width: 2px;
    }

    .table4 tr th {
        border-right-width: 2px;
        border-left-width: 2px;
        width: 18vw;
        font-size: 3.4vw;
        padding: 4vw 0.3em;
    }

    .table4 td {
        padding: 4vw 3vw;
    }

    .table4 tr:first-of-type th:first-of-type {
        border-radius: 6px 0 0 0;
    }

    .table4 tr:first-of-type th,
    .table4 tr:first-of-type td {
        border-top-width: 2px;
    }

    .table4 tr:last-of-type th,
    .table4 tr:last-of-type td {
        border-bottom-width: 2px;
    }

    .tbl4_ttl {
        font-size: 3.7vw;
        margin-bottom: 0.85em;
    }

    .table4_imgbox {
        margin: 3.7vw auto 0;
    }

    .table4_imgbox li {
        width: 48.5%;
        margin-left: 3%;
    }

    .table4_imgbox li:nth-of-type(2n-1) {
        margin-left: 0;
    }

    .table4_imgbox li:nth-of-type(n+3) {
        margin-top: 2vw;
    }

    .table4_imgbox .image_cap {
        font-size: 3vw;
        line-height: 1.5;
        padding-top: 0.2em
    }

    .table4_imgbox+p {
        margin-top: 4vw;
    }
}

/* ------------------------------
    center_tbl センター一覧
------------------------------ */
.center_tbl {}

.center_tbl .btn1 {
    width: auto;
}

.center_tbl th.cell_tel {}

.center_tbl th.cell_fax {}

.center_tbl th.cell_map {}

@media screen and (min-width: 769px) {
    .center_tbl td {
        width: 20%;
    }


}

@media screen and (max-width: 768px) {

    .center_tbl th,
    .center_tbl td {
        font-size: 3.2vw;
        padding: 0.5em 0.2em;
    }

    .center_tbl th.cell_map {
        width: 10vw;
    }

    .center_tbl th.cell_center {
        width: 20vw;
    }

    .center_tbl .btn1 {
        width: 5vw;
        height: 5vw;
        border-radius: 50%;
        position: relative;
        margin: 0 auto;
    }

    .center_tbl .btn1 .ico {
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        margin-left: 0.5vw;
    }
}


/* ------------------------------
    btn_flex ボタン横並び
------------------------------ */
.btn_flex {}

.btn_flexinner {}

.btn_flexinner+.btn_flexinner {}

@media screen and (min-width: 769px) {
    .btn_flex {
        justify-content: flex-start;
    }

    .btn_flex .btn1 {
        height: 100%;
    }

    .btn_flexinner+.btn_flexinner {
        margin-left: 20px;
    }
}

@media screen and (max-width: 768px) {
    .btn_flexinner+.btn_flexinner {
        margin-top: 3vw;
    }

}



/* ------------------------------
    ブログ一覧
------------------------------ */
.newsli {
    border-top: 1px dashed #707070;
}

.newsli li {
    border-bottom: 1px dashed #707070;
}

.newsli li a {
    justify-content: flex-start;
    padding: 25px 10px;
    font-size: 2rem;
    font-weight: bold;
    align-items: center;
}

.newsli .date {
    margin-right: 32px;
}

.newsli .category {
    margin-right: 26px;
    width: 187px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    padding-left: 0.2em;
    padding-right: 0.2em;
}

.ie .newsli .category {
    padding-top: 0.05em;
}

.newsli .cat1 {
    background: #74D4FC;
}

.newsli .cat2 {
    background: #0089D8;
}

.newsli .cat3 {
    background: #D90000;
}

.newsli .cat5 {
    background: #83C443;
}

.newsli .cat6 {
    background: #a11010;
}

.newsli .txt {
    flex: 1;
}


@media screen and (max-width: 768px) {

    .newsli {
        border-top: none;
    }

    .newsli li a {
        padding: 6.4vw 0 5.3vw;
        font-size: 3.7vw;
        flex-wrap: wrap;
    }

    .newsli li:last-of-type {
        border-bottom: none;
    }

    .newsli .date {
        margin-right: 2.6vw;
    }

    .newsli .category {
        margin-right: 0;
        width: 30vw;
        white-space: nowrap;
        font-size: 3.2vw;
    }

    .newsli .txt {
        flex: 100%;
        margin-top: 3.4vw;
    }
}



/* ------------------------------
    pagenation
------------------------------ */
.pagenation {
    display: flex;
    justify-content: center;
    white-space: nowrap;
    position: relative;
    margin-top: 90px;
}

.pagenation .page-numbers {
    color: #fff;
    background: #D6D6D6;
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    font-size: 1.4rem;
    line-height: 1;
    padding-top: 0.1em;
}


.pagenation .page-numbers+.page-numbers {
    margin-left: 15px;
}

.pagenation .page-numbers.prev+.page-numbers {}

.pagenation .page-numbers.prev,
.pagenation .page-numbers.next {
    font-size: 1rem;
}

.pagenation .prev,
.pagenation .next {
    position: relative;
    width: 18px;
    display: flex;
    transition: .3s;
}

.pagenation .prev:hover,
.pagenation .next:hover {
    opacity: 0.6;
}

.pagenation .prev:before,
.pagenation .next:before {
    content: "";
    display: block;
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    top: 50%;
    transform: translateY(-50%);
}

.pagenation .prev {
    margin-right: 33px;
}

.pagenation .prev:before {
    right: 0;
    border-width: 8px 14px 8px 0;
    border-color: transparent #393939 transparent transparent;
}

.pagenation .next {
    margin-left: 33px;
}

.pagenation .next:before {
    left: 0;
    border-width: 8px 0 8px 14px;
    border-color: transparent transparent transparent #393939;
}

.pagenation a.page-numbers:hover,
.pagenation .page-numbers.current {
    color: #fff;
    background: #393939;
    opacity: 1;
}

@media screen and (max-width: 768px) {
    .pagenation {
        margin-top: 8vw;
    }

    .pagenation .page-numbers {
        width: 6vw;
        height: 6vw;
    }

    .pagenation .page-numbers+.page-numbers {
        margin-left: 2vw;
    }

    .pagenation .page-numbers.prev,
    .pagenation .page-numbers.next {
        font-size: 2.6vw;
    }

    .pagenation .prev {
        margin-right: 5vw;
    }

    .pagenation .next {
        margin-left: 5vw;
    }
}

/*--newslist_col--*/
@media screen and (min-width: 769px) {
    .newslist_col {
        padding-top: 60px;
        padding-bottom: 94px;
    }
}


/* ------------------------------
    postdetail
------------------------------ */
.post_ttl {
    font-size: 3rem;
    font-weight: bold;
    line-height: 1.2;
    padding-bottom: 1.1em;
    border-bottom: 2px dashed #74D4FC;
}

.post_ttl .sub {
    line-height: 1;
    font-weight: normal;
    align-items: center;
    margin-bottom: 70px;
}

.post_ttl .date {
    font-size: 2rem;
}

.post_ttl .category {
    margin-right: 26px;
    width: 187px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 2rem;
    padding: 0 0.2em;
    margin-right: 38px;
    height: 1.8em;
    font-weight: bold;
}

.ie .post_ttl .category {
    padding-top: 0.05em;
}

.post_ttl .cat1 {
    background: #74D4FC;
}

.post_ttl .cat2 {
    background: #0089D8;
}

.post_ttl .cat3 {
    background: #D90000;
}

.post_ttl .cat5 {
    background: #83C443;
}

.post_ttl .cat6 {
    background: #a11010;
}



.post_detail {
    padding: 43px 0 103px;
}

.post_detail p {
    /* line-height: 1.3;*/
}

.post_detail p+img {
    margin-top: 77px;
}

.post_detail img+p {
    margin-top: 48px;
}

.post_detail p+p {
    margin-top: 48px;
}

.newsdetail_btn {
    padding-bottom: 37px;
}

.newsdetail_btn .btn1 {
    width: 6.9em;
    padding-left: 1.2em;
}

.newsdetail_btn .btn1 .ico {
    position: absolute;
    right: 0.8em;
    top: 50%;
    transform: translateY(-50%);
}

.newsdetail_btn .btn1 .txt {
    letter-spacing: 1em;
}

@media screen and (min-width: 769px) {}

@media screen and (max-width: 768px) {
    .post_ttl {
        font-size: 5vw;
        padding-bottom: 0.6em;
    }

    .post_ttl .sub {
        margin-bottom: 6vw;
    }

    .post_ttl .date {
        font-size: 3.7vw;
    }

    .post_ttl .category {
        margin-right: 3vw;
        width: 30vw;
        white-space: nowrap;
        font-size: 3.2vw;
    }

    .post_detail {
        padding: 8vw 0 10vw;
    }

    .post_detail p+img {
        margin-top: 8vw;
    }

    .post_detail img+p {
        margin-top: 6vw;
    }

    .post_detail p+p {
        margin-top: 5vw;
    }

    .newsdetail_btn {
        padding-bottom: 3vw;
    }

    .newsdetail_btn .btn1 {
        width: 9em;
        padding-left: 2.8em;
    }

}




/* ------------------------------
    tetuzuki
------------------------------ */

/*--qbox--*/
.tetuzuki_qbox {}

.qbox_ico {
    font-size: 2.5rem;
    line-height: 1;
    margin-bottom: 0.9em;
    display: block;
    text-align: center;
    font-weight: bold;
}

.qbox_ttl {
    text-align: center;
    font-size: 3.1rem;
    line-height: 2;
    font-weight: bold;
    text-align: center;
    margin-bottom: 55px;
}

.qbox_ttl .uline {
    background: linear-gradient(transparent 95%, #393939 0%);
    display: inline;
    padding: 0 0 0.4em;
}

.qbox_btns {}

.qbox_btns .btn {
    background: #fff;
    border-width: 5px;
    border-style: solid;
    border-radius: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 10px 10px 0px 0px #ededed;
    position: relative;
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1;
    cursor: pointer;
    transition: .3s;
    white-space: nowrap;
}

.qbox_btns .btn .ico {
    position: absolute;
    width: 25px;
    height: 16px;
    background: url(../img/arw_triangle_btm.svg) no-repeat;
    background-size: contain;
    right: 46px;
    top: 50%;
    transform: translateY(-50%);
}

.qbox_btn1 {
    border-color: #72C9E3;
    letter-spacing: 0.5em;
}

.qbox_btn2 {
    letter-spacing: 0.3em;
    border-color: #FF7A4A;
}

.qbox_btns .btn:hover,
.qbox_btns .btn.active,
.qbox_btns .btn.focus-visible {
    color: #fff;
    opacity: 1;
}

.qbox_btn1:hover,
.qbox_btn1.active,
.qbox_btn1.focus-visible {
    background: #72C9E3;
}

.qbox_btn2:hover,
.qbox_btn2.active,
.qbox_btn2.focus-visible {
    background: #FF7A4A;
}

/*--tetuzuki_infoblk--*/
.tetuzuki_infoblk {
    padding-top: 86px;
}

.tetuzuki_infoblk .items {
    display: none;
}

.droplist {
    font-weight: bold;
}

.droplist p {
    font-weight: inherit;
}

.droplist>li {
    position: relative;
    padding-left: 43px;
    position: relative;
}

.droplist>li:before {
    content: "";
    display: block;
    position: absolute;
    width: 13px;
    height: 17px;
    background: url(../img/mid3_drop.png) center no-repeat;
    background-size: contain;
    left: 12px;
    top: 0.3em;
}

.droplist>li+li {
    margin-top: 1em;
}

.ortxt {
    background: linear-gradient(#FF7A4A 100%, #FF7A4A 0%);
    display: inline;
    padding: 0.1em 0;
    color: #fff;
}

.whtxtli {
    border: 2px solid #fff;
    border-left: none;
    border-right: none;
    padding: 18px 30px;
    margin-top: 5px;
}

.whtxtli li {}

.whtxtli li+li {}

.whtxt {
    background: linear-gradient(#fff 100%, #fff 0%);
    display: inline;
    padding: 0.1em 0;
    color: #FF7A4A;
    font-size: 1.4rem;
}

.txt_or {
    color: #FF7A4A;
}




/*--info1--*/
.tetuzuki_info1 {
    background: #DBF2F8;
    padding: 45px 57px 52px 47px;
    margin-top: 57px;
}

.tetuzuki_info1.single {
    margin-top: 0;
}

.tetuzuki_info1 .ttl {
    font-weight: bold;
    line-height: 1;
    font-size: 2.7rem;
    margin-bottom: 1.4em;
    letter-spacing: 0.2em;
}

.tetuzuki_pointli {
    margin-top: 15px;
    border-top: 2px solid #fff;
}

.tetuzuki_pointli li {
    padding: 0.3em 0;
    border-bottom: 2px solid #fff;
}

/*--date--*/
.tetuzuki_date {
    background: #fff;
    margin-bottom: 30px;
    padding: 24px 45px 24px;
}

.tetuzuki_date_ttl {
    font-weight: bold;
    margin-right: 2em;
}

.date_start {
    margin-top: 20px;
    padding-bottom: 0.8em;
    margin-bottom: 0.8em;
    border-bottom: 1px solid #707070;
}

.date_start,
.date_move {
    line-height: 1;
    align-items: flex-end;
}

.tetuzuki_date .year,
.tetuzuki_date .month,
.tetuzuki_date .day {
    color: #0089D8;
    font-size: 3rem;
    font-family: "Arial", "メイリオ";
}

.tetuzuki_date .year {
    font-size: 2rem;
}

.tetuzuki_date .month,
.tetuzuki_date .day {
    padding-left: 0.2em;
}

.txt_end {
    padding-left: 1em;
    padding-bottom: 0.1em;
}

.date_start1,
.date_move1 {
    margin-right: 1.2em;
}


/*--info2--*/
.tetuzuki_info2 {
    background: #FFDDD1;
    padding: 32px 84px 50px 54px;
}

.tetuzuki_info2_1 {
    margin-bottom: 47px;
}

.tetuzuki_info2 .ttl {
    font-weight: bold;
    line-height: 1;
    font-size: 2.7rem;
    margin-bottom: 1em;
    letter-spacing: 0.2em;
}

.tetuzuki_info2 .ttls {
    font-weight: bold;
    line-height: 1;
    text-align: center;
    margin-bottom: 50px;
}

.tetuzuki_info2 .ttls span {
    background: linear-gradient(transparent 98%, #393939 0%);
    display: inline;
    padding: 0 0 0.3em;
    font-size: 2.2rem;
    letter-spacing: 0.05em;
}

.info_numbox {
    margin-top: 24px;
}

.tetuzuki_info2 .info_num {
    font-weight: bold;
}

.tetuzuki_info2 .info_num .num {
    display: inline-block;
    width: 25px;
    height: 25px;
    line-height: 25px;
    color: #fff;
    font-weight: bold;
    font-size: 1.8rem;
    border-radius: 50%;
    text-align: center;
    background: #FF7A4A;
    margin-right: 5px;
    vertical-align: middle;
}

.tetuzuki_info2_info {}

.tetuzuki_info2_blk {
    margin-top: 80px;
}

.tetuzuki_info2_blk+.tetuzuki_info2_blk {
    margin-top: 120px;
}

/*--info3--*/
.tetuzuki_info3 {
    margin-top: 108px;
}

.tetuzuki_info3 .ttl {
    font-weight: bold;
    font-size: 2.7rem;
    line-height: 1;
    margin-bottom: 1.5em;
    letter-spacing: 0.2em;
}

.info3_txt1 {
    position: relative;
    padding-left: 22px;
    font-weight: bold;
}

.info3_txt1:before {
    content: "";
    display: block;
    position: absolute;
    width: 12px;
    height: 14px;
    background: url(../img/kaishi-teishi-tetuzuki/triangle_blk.png);
    background-size: contain;
    background-repeat: no-repeat;
    left: 0;
    top: 0.4em;
}

.info3_txt2 {
    margin-left: 22px;
    font-size: 1.4rem;
    font-weight: bold;
    margin-bottom: 43px;
}

.info3_btns {
    display: flex;
    justify-content: center;
}

.info3_btns .btn {
    background: #fff;
    border: 5px solid #83C443;
    border-radius: 30px;
    padding: 30px 5px 5px;
    box-shadow: 10px 10px 0px 0px #ededed;
}

.info3_btns .btn .ico {
    height: 70px;
    display: flex;
    justify-content: center;
    margin-bottom: 24px;
}

.btn_other .ico {
    margin-bottom: 6px !important;
}

.info3_btns .btn img {
    width: auto;
    height: 100%;
}

.info3_btns .btn p {
    font-weight: bold;
    text-align: center;
    font-size: 1.8rem;
    line-height: 1.4;
    letter-spacing: 0.1em;
}

.info3_btns .btn p .dot {
    display: inline-block;
    position: relative;
    line-height: 1;
}

.info3_btns .btn p .dot:before {
    content: "";
    display: block;
    position: absolute;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    top: -0.6em;
    left: 50%;
    transform: translateX(-80%);
    background: #0089D8;
}

.info3_btns .btn p.sub {
    font-size: 1.3rem;
    line-height: 1;
    margin-top: 0.5em;
    letter-spacing: 0.05em;
}

.kaishi-teishilist li:nth-child(3) span {
    font-size: 1.8rem;
    position: relative;
    top: -12px;
}

.kaishi-teishilist li:nth-child(3) .ico {
    margin-top: 40px !important;
}


.info3_btn1 {}

.info3_btn2 {}

.info3_btn3 {}



/*--check--*/
.tetuzuki_checkbox {
    margin-top: 60px;
}

.tetuzuki_checkbox .check {
    /*  display: none;*/
    text-align: center;
    line-height: 1;
    position: relative;
}

.tetuzuki_checkbox .check input {
    position: absolute;
}

.tetuzuki_checkbox .check+span {
    cursor: pointer;
    display: inline-block;
    margin: 0 0.2em 0;
    padding: 0 0 0 2em;
    position: relative;
    font-weight: bold;
}

.tetuzuki_checkbox .check+span::before {
    -webkit-transform: translateY(-50%);
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.8);
    content: "";
    display: block;
    height: 1.1em;
    left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 1.1em;
}

.tetuzuki_checkbox .check+span::after {
    -webkit-transform: translateY(-50%) rotate(-45deg);
    border-bottom: 3px solid rgba(0, 0, 0, 0.8);
    border-left: 3px solid rgba(0, 0, 0, 0.8);
    content: "";
    display: block;
    height: 0.45em;
    left: 4%;
    margin-top: -0.12em;
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(-45deg);
    transition: all 0.3s ease 0s;
    width: 0.7em;
}

.tetuzuki_checkbox .check:checked+span::after {
    opacity: 1;
}

.btn_submit_no_checkbox,
.tetuzuki_checkbox .btn_submit {
    -webkit-appearance: none;
    background-color: rgba(0, 0, 0, 0.8);
    background-image: none;
    border: none;
    border-radius: 0;
    color: #fff;
    cursor: pointer;
    display: block;
    margin: 38px auto 0;
    padding: 0.9em 0.5em;
    width: 319px;
    font-weight: bold;
    text-decoration: none;
    border-radius: 50px;
    transition: .3s;
}

.tetuzuki_checkbox .btn_submit:hover,
.tetuzuki_checkbox .btn_submit:focus,
.btn_submit_no_checkbox:hover,
.btn_submit_no_checkbox:focus {
    outline: none;
    opacity: 0.6;
}

.btn_submit_no_checkbox::-moz-foucus-inner,
.tetuzuki_checkbox .btn_submit::-moz-foucus-inner {
    border: none;
    padding: 0;
}

.tetuzuki_checkbox .btn_submit:disabled {
    cursor: default;
    opacity: 0.5;
}

.stetuzuki_lead {
    margin-bottom: 40px;
    line-height: 2;
}


@media screen and (min-width: 769px) {

    /*--lead--*/
    .tetuzuki_lead {
        margin-bottom: 100px;
        padding-top: 25px;
    }

    .tetuzuki_lead p {
        font-weight: bold;
    }

    .tetuzuki_lead .txt1 {
        margin-bottom: 0.8em;
    }

    .tetuzuki_lead .txt2 {
        font-size: 1.4rem;
    }

    .tetuzuki_qbox,
    .tetuzuki_infoblk {
        width: 918px;
        margin-right: auto;
        margin-left: auto;
    }

    .tetuzuki_info1,
    .tetuzuki_info2 {
        border-radius: 5px;
    }

    .tetuzuki_info2.sonota {
        padding-bottom: 48px;
    }

    .tetuzuki_info3 {
        width: 752px;
        margin-right: auto;
        margin-left: auto;
    }

    .qbox_btns .btn {
        width: 434px;
        height: 105px;
    }

    .tetuzuki_pointli {
        width: 617px;
    }

    .ketuzuki_imgbox1 {
        width: 375px;
        margin-left: auto;
        margin-right: auto;
    }

    .ketuzuki_imgbox1 .img+.img {
        margin-left: 10px;
    }

    .ketuzuki_imgbox2 {
        margin-top: 20px;
        margin-left: auto;
        margin-right: auto;
        width: 540px;
    }

    .ketuzuki_imgbox2 .img+.img {
        margin-left: 20px;
    }

    .sketuzuki_imgbox1 {
        padding-left: 30px;
        margin-top: 20px;
        margin-left: auto;
        margin-right: auto;
        justify-content: center;
    }

    .sketuzuki_img1 {
        width: 382px;
    }

    .sketuzuki_imgbox1 .img+.img {
        margin-left: 44px;
    }

    .tetuzuki_info2 .image_cap {
        font-size: 1.3rem;
        line-height: 1.3;
    }

    .tetuzuki_info2 .info_num+.info_num {
        margin-left: 33px;
    }

    .tetuzuki_info2_info {
        position: relative;
        width: 918px;
        margin-top: 50px;
        background: #F4F4F4;
        padding: 24px;
        border-radius: 5px;
    }

    .info3_btns {
        padding-bottom: 120px;
    }

    .info3_btns li+li {
        margin-left: 40px;
    }

    .info3_btns .btn {
        width: 224px;
        height: 224px;
        display: block;
    }

    .info3_btns .info3_btn1 p {
        line-height: 1.7;
    }

}

@media screen and (max-width: 768px) {
    .tetuzuki_pttl {
        display: block;
        padding-bottom: 4vw;
    }

    .tetuzuki_lead {
        margin-bottom: 0;
        padding-top: 5vw;
    }

    .stetuzuki_lead {
        margin-bottom: 4vw;
    }

    .tetuzuki_lead p {
        font-weight: bold;
    }

    .tetuzuki_lead .txt1 {
        color: #fff;
        margin-bottom: 0.8em;
    }

    .tetuzuki_lead .txt2 {
        background: #fff;
        font-size: 3.2vw;
        padding: 0.5em;
    }

    /*--qbox--*/
    .tetuzuki_qbox {}

    .qbox_ico {
        font-size: 6vw;
        margin-bottom: 0.4em;
    }

    .qbox_ttl {
        font-size: 5.3vw;
        margin-bottom: 8vw;
        line-height: 2.2;
    }

    .qbox_ttl .uline {
        padding: 0 0 0.2em;
    }

    .qbox_btns {
        padding-right: 1vw;
    }

    .qbox_btns .btn {
        border-width: 3px;
        border-radius: 15px;
        box-shadow: 1vw 1vw 0px 0px #ededed;
        width: 100%;
        height: 20vw;
        font-size: 5.3vw;
    }

    .qbox_btns .btn+.btn {
        margin-top: 2.6vw;
    }

    .qbox_btns .btn .ico {
        width: 3.7vw;
        height: 2.6vw;
        right: 9vw;
    }

    .qbox_btn1 {
        letter-spacing: 0.3em;
    }

    .qbox_btn2 {
        letter-spacing: 0.3em;
    }

    /*--tetuzuki_infoblk--*/
    .tetuzuki_infoblk {
        padding-top: 13vw;
    }

    .tetuzuki_infoblk .items {}

    .droplist>li {
        padding-left: 4.8vw;
        line-height: 1.8;
    }

    .droplist>li:before {
        width: 3.4vw;
        height: 4.5vw;
        left: 0;
        top: 0.2em;
    }

    .droplist>li+li {
        margin-top: 1em;
    }

    .whtxtli {
        border-width: 1px;
        padding: 3.7vw 0;
        margin-top: 6.4vw;
        width: calc(100% + 4.8vw);
        margin-left: -4.8vw;
    }

    .whtxtli.w100 {
        width: 100%;
        margin-left: 0;
    }

    .whtxtli li {}

    .whtxtli li+li {
        margin-top: 1.3vw;
    }

    .whtxt {
        display: block;
        background: #fff;
        padding: 0.1em;
        font-size: 3.7vw;
        line-height: 1.3;
    }


    /*--info1--*/
    .tetuzuki_info1 {
        margin-top: 0;
        padding: 9vw 4vw 11vw;
        margin-left: -4vw;
    }

    .tetuzuki_info1 .ttl {
        text-align: center;
        font-size: 6.4vw;
        margin-bottom: 0.8em;
    }

    .tetuzuki_pointli {
        width: calc(100% + 4.8vw);
        margin-left: -4.8vw;
        margin-top: 4vw;
        border-top: none;
        margin-bottom: 11vw;
    }

    .tetuzuki_pointli li {
        padding: 0.3em 0;
        border-bottom: none;
    }

    .tetuzuki_pointli li+li {
        border-top: 1px solid #fff;
    }

    /*--date--*/
    .tetuzuki_date {
        margin-bottom: 5.3vw;
        padding: 3.2vw 4.8vw;
        font-size: 3.2vw;
    }

    .tetuzuki_date_ttl {
        margin-right: 1em;
        margin-top: 0.7em;
    }

    .date_start {
        margin-top: 0.6em;
        padding-bottom: 0.6em;
        margin-bottom: 0.6em;
    }

    .date_start,
    .date_move {
        line-height: 1;
        align-items: flex-start;
    }

    .tetuzuki_date .year,
    .tetuzuki_date .month,
    .tetuzuki_date .day {
        font-size: 5.6vw;
    }

    .tetuzuki_date .year {
        font-size: 3.7vw;
    }

    .tetuzuki_date .month {
        padding-left: 0.7em;
    }

    .txt_end {
        text-align: right;
        margin-top: 0.7em;
        padding-left: 0;
        padding-bottom: 0;
    }

    .tetuzuki_date_txt {
        flex: 1;
    }

    .date_start1,
    .date_move1 {
        margin-right: 0;
    }


    /*--info2--*/
    .tetuzuki_info2 {
        padding: 10vw 4vw 10vw;
        margin-left: -4vw;
    }

    .tetuzuki_info2_1 {
        margin-bottom: 8vw;
    }

    .tetuzuki_info2 .ttl {
        text-align: center;
        font-size: 6.8vw;
        margin-bottom: 0.8em;
        letter-spacing: 0.2em;
    }

    .tetuzuki_info2 .ttl2 {
        font-size: 5.8vw;
        letter-spacing: 0.1em;
        line-height: 1.3;
    }

    .info_numbox {
        margin-top: 3vw;
    }

    .tetuzuki_info2 .info_num+.info_num {
        margin-top: 3vw;
    }

    .tetuzuki_info2 .info_num .num {
        width: 5.8vw;
        height: 5.8vw;
        line-height: 5.8vw;
        font-size: 4.2vw;
        margin-right: 3px;
    }

    .tetuzuki_info2_info {
        margin-top: 3.2vw;
    }

    .ketuzuki_imgbox1 {
        margin-top: 6vw;
    }

    .ketuzuki_imgbox1 .img+.img {
        margin-left: 2.8%;
    }

    .ketuzuki_imgbox1 .image_cap {
        line-height: 1;
    }

    .ketuzuki_imgbox2 {
        margin-top: 6vw;
        padding-bottom: 1vw;
        display: block;
    }

    .ketuzuki_img3 {
        width: 44.5vw;
        display: block;
        margin: 0 auto;
    }

    .ketuzuki_imgbox2 .img+.img {
        margin-top: 10.6vw;
    }

    .sketuzuki_imgbox1 {
        margin-top: 3vw;
        margin-left: auto;
        margin-right: auto;
        justify-content: center;
    }

    .sketuzuki_imgbox1 .img {
        width: 48%;
    }

    .sketuzuki_imgbox1 .img+.img {
        margin-left: 4%;
    }


    .tetuzuki_info2 .ttls {
        margin-bottom: 7.4vw;
    }

    .tetuzuki_info2 .ttls span {
        padding: 0 0 0.15em;
        font-size: 4.8vw;
    }

    .tetuzuki_info2_blk {
        margin-top: 12vw;
    }

    .tetuzuki_info2_blk+.tetuzuki_info2_blk {
        margin-top: 16vw;
    }

    /*--info3--*/
    .tetuzuki_info3 {
        margin-top: 16vw;
    }

    .tetuzuki_info3 .ttl {
        font-size: 6.4vw;
        line-height: 1.6;
        margin-bottom: 0.8em;
    }

    .info3_txt1 {
        position: relative;
        padding-left: 3.7vw;
        margin-bottom: 4vw;
    }

    .info3_txt1:before {
        width: 2.9vw;
        height: 3.2vw;
        left: 0;
        top: 0.4em;
    }

    .info3_txt2 {
        margin-left: 0;
        font-size: 3.7vw;
        margin-bottom: 6vw;
    }

    .info3_btns {
        display: block;
    }

    .info3_btns li+li {
        margin-top: 2.6vw;
    }

    .info3_btns .btn {
        height: 18.6vw;
        border-width: 3px;
        border-radius: 15px;
        padding: 0 8vw 0 5.3vw;
        box-shadow: 1vw 1vw 0px 0px #ededed;
        justify-content: flex-start;
    }

    .info3_btns .btn .ico {
        height: 10vw;
        width: 11.7vw;
        align-items: center;
        margin-bottom: 0;
        margin-right: 3.2vw;
    }

    .info3_btns .btn .txt {
        margin-top: 2vw;
    }

    .btn_other .txt {
        margin-top: 0vw !important;
    }

    .info3_btns .btn_other img {
        height: 60%;
    }

    .info3_btns .btn p {
        text-align: left;
        font-size: 4.2vw;
        line-height: 1.5;
        letter-spacing: 0.2em;
    }

    .info3_btns .btn p .dot:before {
        width: 0.8vw;
        height: 0.8vw;
        top: -0.5em;
    }

    .info3_btns .btn p.sub {
        font-size: 3.2vw;
        margin-top: 0.3em;
        letter-spacing: 0.1em;
        text-align: right;
        margin-right: -0.5em;
    }

    /*--check--*/
    .tetuzuki_checkbox {
        margin-top: 11vw;
    }

    .tetuzuki_checkbox .check+span {
        font-size: 4.2vw;
    }

    .tetuzuki_checkbox .btn_submit {
        font-size: 4.2vw;
        margin: 8vw auto 0;
        padding: 1em 0.2em;
        width: 100%;
        border-radius: 50px;
        transition: .3s;
        letter-spacing: 0.1em;
    }

    .btn_submit_no_checkbox {
        font-size: 4.2vw;
        margin: 8vw auto 0;
        padding: 1em 0.2em;
        width: 100%;
        border-radius: 50px;
        transition: .3s;
        letter-spacing: 0.1em;
    }

    .kaishi-teishilist li:nth-child(3) span {
        font-size: 2.8vw;
        position: relative;
        top: -5px;
    }

    .kaishi-teishilist li:nth-child(3) .ico {
        margin-top: 0px !important;
    }
}




/* ------------------------------
    tetuzuki_pullblk
------------------------------ */
.tetuzuki_pullblk {}

.tetuzuki_pullblk+.tetuzuki_pullblk {
    margin-top: 25px;
}

.tetuzuki_pullblk .pull_btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    cursor: pointer;
    transition: .3s;
    border-radius: 30px;
    background: #fff;
    border: 5px solid #74D4FC;
    padding: 0;
    box-shadow: 10px 10px 0px 0px #ededed;
}

.tetuzuki_pullblk .pull_btn .num {
    width: 97px;
    height: 100%;
    align-items: center;
    display: flex;
    justify-content: center;
    line-height: 1;
    color: #FFB741;
    font-size: 4rem;
    border-right: 2px dashed #74D4FC;
}

.tetuzuki_pullblk .pull_btn .num span {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tetuzuki_pullblk .pull_btn .num1 {
    margin-right: 0.02em;
}

.tetuzuki_pullblk .pull_btn .num span:before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0.6em;
    height: 2px;
    background: #FFB741;
}

.tetuzuki_pullblk .pull_btn .num span:before {
    left: calc(50% + 0.02em);
}

.tetuzuki_pullblk .pull_btn .txt {
    flex: 1;
    padding-left: 40px;
    padding-right: 70px;
    font-weight: bold;
    font-size: 2rem;
    text-align: left;
}

.tetuzuki_pullblk .pull_btn .ico {
    position: absolute;
    width: 22px;
    height: 16px;
    display: block;
    top: 50%;
    transform: translateY(-50%);
    right: 40px;
    background: url(../img/arw_triangle_btm.svg) no-repeat;
    background-size: contain;
}

.tetuzuki_pullblk .pull_btn.active .ico {
    transform: translateY(-50%) rotate(180deg);
}

.tetuzuki_pullblk .pull_content {
    border: 2px dashed #74D4FC;
    border-left: none;
    border-right: none;
    display: none;
}

.telblk {}

.telblk_tbl {}

.telblk_tbl th,
.telblk_tbl td {
    font-weight: bold;
    vertical-align: middle;
    padding-top: 1em;
    font-size: 2rem;
    line-height: 1;
    letter-spacing: 0.1em;
}

.telblk_tbl th {
    color: #0089D8;
    width: 113px;
}

.telblk_tbl td {
    line-height: 1.3;
}

.telblk_tbl td .tellink {
    font-size: 4rem;
}

.telblk_tbl td.telblk_email {
    letter-spacing: normal;
}

@media screen and (min-width: 769px) {
    .tetuzuki_pullblk .pull_content {
        padding: 88px 100px;
        margin: 70px auto;
    }

    .tetuzuki_pullblk .pull_btn {
        width: 834px;
        height: 103px;
        margin: 0 auto;
    }

    .tetuzuki_pullblk .pull_btn.focus-visible {
        opacity: 0.6;
    }
}

@media screen and (max-width: 768px) {
    .tetuzuki_pullblk {}

    .tetuzuki_pullblk+.tetuzuki_pullblk {
        margin-top: 3vw;
    }

    .tetuzuki_pullblk .pull_btn {
        border-radius: 15px;
        border-width: 3px;
        box-shadow: 1vw 1vw 0px 0px #ededed;
        width: 100%;
        height: 20vw;
    }

    .tetuzuki_pullblk .pull_btn .num {
        width: 2em;
        font-size: 6vw;
    }

    .tetuzuki_pullblk .pull_btn .txt {
        padding-left: 4vw;
        padding-right: 6vw;
        font-size: 4.8vw;
        line-height: 1.3;
    }

    .tetuzuki_pullblk .pull_btn .ico {
        width: 4.6vw;
        height: 3.3vw;
        right: 4vw;
    }

    .tetuzuki_pullblk .pull_content {
        margin-top: 5vw;
        padding-top: 4vw;
        padding-bottom: 4vw;
    }

    .telblk {}

    .telblk_tbl {}

    .telblk_tbl th,
    .telblk_tbl td {
        padding-top: 0.5em;
        line-height: 1.3;
    }

    .telblk_tbl th {
        width: 5.5em;
        font-size: 3.7vw;
    }

    .telblk_tbl td {
        font-size: 4.4vw;
    }

    .telblk_tbl td .tellink {
        font-size: 8vw;
    }

    .telblk_tbl td.telblk_email {
        font-size: 4vw;
    }

}



/* ------------------------------
    contact top
------------------------------ */
.contact_pullbox {
    background: #fff;
    border-radius: 30px;
    margin-bottom: 38px;
}

.contact_pullbox .pull_btn,
.contact_pullbox2 .pull_btn {
    position: relative;
}

.contact_pullbox .pull_btn:before,
.contact_pullbox .pull_btn:after,
.contact_pullbox2 .pull_btn:before,
.contact_pullbox2 .pull_btn:after {
    content: "";
    display: block;
    position: absolute;
    width: 20px;
    height: 3px;
    top: 50%;
    transform: translateY(-50%);
    background: #FFB741;
    right: 56px;
}

.contact_pullbox .pull_btn:before,
.contact_pullbox2 .pull_btn:before {}

.contact_pullbox .pull_btn:after,
.contact_pullbox2 .pull_btn:after {
    transform: translateY(-50%) rotate(90deg);
}

.contact_pullbox .pull_btn.active:after,
.contact_pullbox2 .pull_btn.active:after {
    display: none;
}

.contact_pullbtn {
    border-radius: 30px;
    background: #0089D8;
    color: #fff;
    line-height: 1;
    height: 104px;
    width: 100%;
    display: flex;
    align-items: center;
    padding: 0 40px;
    font-size: 2.7rem;
    letter-spacing: 0.1em;
    font-weight: bold;
}

.contact_pullcontent {
    padding: 56px 40px;
    display: none;
}

.contact_pullbox2 {
    border: 2px solid #E0E0E0;

}

.contact_pullbox2+.contact_pullbox2 {
    margin-top: 20px;
}

.contact_pullbtn2 {
    background: #F4F4F4;
    display: flex;
    align-items: center;
    font-size: 2.3rem;
    font-weight: bold;
    line-height: 1;
    padding: 1em 40px;
    width: 100%;
}

.contact_pullcontent2 {
    padding: 27px 40px;
    display: none;
}



.pagelink.pagelink_formbtn li a {
    background: #83C443;
    border-color: #83C443;
    color: #fff;
}

@media screen and (min-width: 769px) {
    .contact_pullcontent.narrow {
        padding-top: 28px;
        padding-bottom: 40px;
    }

}

@media screen and (max-width: 768px) {
    .contact_pullbox {
        border-radius: 15px;
        margin-bottom: 4vw;
    }

    .contact_pullbox .pull_btn:before,
    .contact_pullbox .pull_btn:after {
        width: 3vw;
        height: 0.5vw;
        right: 3vw;
    }

    .contact_pullbox .pull_btn:before {}

    .contact_pullbox .pull_btn:after {}

    .contact_pullbox .pull_btn.active:after {}

    .contact_pullbtn {
        border-radius: 15px;
        min-height: 16vw;
        height: auto;
        padding: 2vw 8vw 2vw 4vw;
        font-size: 4.4vw;
    }

    .contact_pullcontent {
        padding: 4vw 0vw;
    }

    .contact_pullbox2 {
        border-width: 1px;
    }

    .contact_pullbox2+.contact_pullbox2 {
        margin-top: 3vw;
    }

    .contact_pullbtn2 {
        min-height: 12vw;
        height: auto;
        padding: 2vw 7vw 2vw 2vw;
        font-size: 4vw;
    }

    .contact_pullcontent2 {
        padding: 4vw 2vw;

    }

}

/* ------------------------------
    contact form
------------------------------ */
.formtbl {}

.formtbl th,
.formtbl td {
    border-color: #74D4FC !important;
}

.formtbl th {
    border-right: 3px solid #74D4FC;
    border-left: 3px solid #74D4FC;
    background: #c7eefe;
    text-align: left;
    padding-left: 1.5em;
    width: 395px;
}

.formtbl tr:first-of-type th {
    border-top: 3px solid #74D4FC;
}

.formtbl tr:last-of-type th {}

.formtbl td {
    text-align: left;
    border-right: 3px solid #74D4FC;
    font-weight: bold;
}

.formtbl td p {
    font-weight: inherit;
}

.formtbl tr:first-of-type td {}

.formtbl tr:last-of-type td {}

.formtbl .ico_required {
    display: inline-block;
    vertical-align: baseline;
    font-size: 1.4rem;
    color: #FF5522;
    padding-left: 0.5em;
}

.formtbl input[type=text],
.formtbl input[type=tel],
.formtbl input[type=email],
.formtbl textarea {
    width: 100%;
    padding: 8px 1em;
    background: #fff;
    border: 1px solid #D5D5D5;
    border-radius: 4px;
    font-weight: bold;
}

.formtbl input::placeholder,
.formtbl textarea::placeholder {
    color: #DFDFDF;
}

/* IE */
.formtbl input:-ms-input-placeholder,
.formtbl textarea:-ms-input-placeholder {
    color: #DFDFDF;
}

/* Edge */
.formtbl input::-ms-input-placeholder,
.formtbl textarea::-ms-input-placeholder {
    color: #DFDFDF;
}

.formtbl textarea {
    resize: vertical;
    overflow: auto;
    height: 207px;
}

.formtbl .checkli {
    /*display: flex;
    flex-wrap: wrap;*/
    padding: 26px 0;
}

.formtbl .checkli li+li {
    margin-top: 0.6em;
}

.formtbl .checkli input {
    width: 20px;
    height: 1em;
    direction: none;
    opacity: 0;
    background: transparent;
    padding: 0;
    left: 0;
    border: none;
    position: absolute;
}

.formtbl .checkli label {
    position: relative;
    cursor: pointer;
    line-height: 1;
    padding-left: 20px;
    display: inline-block;
}

.formtbl .checkli label {}

.formtbl .checkli label::before,
.formtbl .checkli label::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0px;
    padding: 0;
    margin: 0;
    border-radius: 50%;
}

.formtbl .checkli label::before {
    background: transparent;
    width: 15px;
    height: 15px;
    border: 1px solid #393939;
}

.formtbl .checkli input:checked+label::after {
    width: 9px;
    height: 9px;
    background: #393939;
    left: 3px;
}

.radiobtn .formError {
    margin-bottom: 15px;
}


.formtbl .form_info {
    margin-top: 0.7em;
}

.formtbl input[type="file"] {
    /*display: none;*/
    position: absolute;
    opacity: 0;
    z-index: -1;
}

#file_upload_wrap {
    display: flex;
    align-items: center;
}

#file_upload_wrap label {
    background: #fff;
    border: 1px solid #707070;
    border-radius: 6px;
    line-height: 1;
    height: 34px;
    width: 150px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    margin-right: 20px;
    transition: .3s;
}

#file_upload_wrap label:hover {
    opacity: 0.6;
}

#file_upload_wrap label::after {
    content: "選択されていません";
    position: absolute;
    right: -170px;
    top: 50%;
    transform: translateY(-50%);
}

#file_upload_wrap label.changed::after {
    content: "";
}

#file_upload_wrap .filename {}

.form_btn {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-flow: row-reverse;
    margin: 30px auto 40px;
}

.form_btn .btn_submit {
    border-radius: 30px;
    background: #00A2FF;
    color: #fff;
    height: 70px;
    width: 260px;
    font-size: 2rem;
    font-weight: bold;
    position: relative;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 40px;
    transition: .3s;
    box-shadow: 10px 10px 0px 0px rgba(0, 0, 0, 0.07);
}

.form_btn .btn_submit .ico {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 40px;
    width: 16px;
    height: 18px;
    background: url(../img/arw_triangle.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

.form_btn .btn_correct {
    border-radius: 30px;
    background: #F4F4F4;
    height: 70px;
    width: 200px;
    font-size: 2rem;
    font-weight: bold;
    position: relative;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .3s;
    box-shadow: 10px 10px 0px 0px rgba(0, 0, 0, 0.07);
    margin-right: 50px;

}

.check_confirm {
    position: relative;
    padding-left: 20px;
}

.check_confirm:before,
.check_confirm:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    border-radius: 50%;
}

.check_confirm:before {
    width: 15px;
    height: 15px;
    border: 1px solid #393939;
}

.check_confirm:after {
    width: 9px;
    height: 9px;
    background: #393939;
    left: 3px;
}

@media screen and (min-width: 769px) {
    .formtbl th {
        vertical-align: top;
        padding-top: 1.9em;
    }

    .formtbl td {
        padding: 1em 1.2em;
    }

    .formtbl tr:first-of-type th {
        border-top: 3px solid #74D4FC;
        border-radius: 13px 0 0 0;
    }

    .formtbl tr:first-of-type td {
        border-top: 3px solid #74D4FC;
        border-radius: 0 13px 0 0;
    }

    .formtbl tr:last-of-type td {
        border-bottom: 3px solid #74D4FC;
        border-radius: 0 13px 0 0;
    }

    .form_btn .btn_submit:hover,
    .form_btn .btn_correct:hover {
        opacity: 0.6;
    }

    .form_btn .btn_submit.btn_confirm,
    .form_btn .btn_submit.btn_back {
        padding-left: 20px;
    }

    .formtbl .checkli input.focus-visible+label {
        text-decoration: underline;
    }
}

@media screen and (max-width: 768px) {
    .formtbl {}

    .formtbl th,
    .formtbl td {
        display: block;
        width: 100%;
    }

    .formtbl th {
        background: #c7eefe;
        text-align: left;
        padding: 0.5em 1em;
        width: 100%;
        border-left: 2px solid #74D4FC;
        border-right: 2px solid #74D4FC;
        border-top: 2px solid #74D4FC;
        border-left-width: 2px;
        border-radius: 0 0 0 0;
    }

    .formtbl tr:first-of-type th {
        border-top-width: 2px;
        border-radius: 6px 6px 0 0;
    }

    .formtbl tr:last-of-type th {
        border-radius: 0 0 0 0;
        border-bottom-style: dashed;
        border-bottom-width: 1px;
    }

    .formtbl td {
        text-align: left;
        border-left: 2px solid #74D4FC;
        border-right-width: 2px;
        border-bottom: none;
        padding: 0.7em 1em;
    }

    .formtbl td p {
        font-weight: inherit;
    }

    .formtbl tr:first-of-type td {}

    .formtbl tr:last-of-type td {
        border-radius: 0 0 6px 6px !important;
    }

    .formtbl .ico_required {
        font-size: 2.9vw;
    }

    .formtbl textarea {
        height: 8em;
    }

    .formtbl .checkli {
        padding: 1vw 2vw;
    }

    .formtbl .checkli input {
        width: 5.3vw;
    }

    .formtbl .checkli label {
        padding-left: 5.3vw;
    }

    .formtbl .checkli label {}

    .formtbl .checkli label::before,
    .formtbl .checkli label::after {}

    .formtbl .checkli label::before {
        width: 4vw;
        height: 4vw;
    }

    .formtbl .checkli input:checked+label::after {
        width: 2.4vw;
        height: 2.4vw;
        left: 0.8vw;
    }

    .formtbl .form_info {
        font-size: 3.2vw;
    }

    .radiobtn .formError {
        margin-bottom: 2.4vw;
    }

    #file_upload_wrap label {
        border-radius: 6px;
        height: 9vw;
        width: 32vw;
        margin-right: 3vw
    }

    #file_upload_wrap label::after {
        right: -35vw;
    }

    .form_btn {
        margin: 6vw auto 1vw;
        display: block;
        width: 80vw;
    }

    .form_btn .btn_submit {
        border-radius: 5vw;
        height: 12vw;
        width: 100%;
        font-size: 4.8vw;
        padding: 0 5vw;
        box-shadow: 1vw 1vw 0px 0px rgba(0, 0, 0, 0.07);
    }

    .form_btn .btn_submit .ico {
        right: 4vw;
        width: 4.2vw;
        height: 4.8vw;
    }

    .form_btn .btn_correct {
        border-radius: 5vw;
        height: 8vw;
        width: 100%;
        font-size: 3.7vw;
        padding: 0;
        box-shadow: 1vw 1vw 0px 0px rgba(0, 0, 0, 0.07);
        margin-right: 0;
        margin-top: 6vw;
    }

    .check_confirm:before {
        width: 4vw;
        height: 4vw;
    }

    .check_confirm:after {
        width: 2.4vw;
        height: 2.4vw;
        left: 0.8vw;
    }


}



/* ------------------------------
    sitemap
------------------------------ */
.sitemap_li {}

.sitemap_li a {
    text-decoration: underline;
}

.sitemap_li>li>a {
    position: relative;
    font-size: 1.8rem;
    line-height: 1.2;
    font-weight: bold;
    letter-spacing: 0.15em;
    padding-left: 30px;
}

.sitemap_li>li>a:before {
    content: "";
    display: block;
    position: absolute;
    top: 0.2em;
    left: 0.1em;
    width: 12px;
    height: 12px;
    background: #393939;
    border-radius: 50%;
}

.sitemap_li>li+li {
    margin-top: 1em;
}

.sitemap_lis {
    margin-left: 30px;
}

.sitemap_lis>li>a {
    font-weight: bold;
    position: relative;
}

.sitemap_lis>li>a:before {
    content: "・";
    display: inline-block;
}

.sitemap_lis>li+li {
    margin-top: 0.3em;
}

.sitemap_liss {
    font-size: 1.4rem;
    margin-left: 30px;
}

.sitemap_liss>li>a {}

.sitemap_liss>li+li {
    margin-top: 0.3em;
}

@media screen and (min-width: 769px) {}

@media screen and (max-width: 768px) {
    .sitemap_li a {
        line-height: 1.2;
    }

    .sitemap_li>li>a {
        font-size: 3.4vw;
        margin-bottom: 3vw;
        padding-left: 4vw;
    }

    .sitemap_li>li>a:before {
        top: 1vw;
        left: 0;
        width: 2.4vw;
        height: 2.4vw;
    }

    .sitemap_li>li+li {
        margin-top: 0.5em;
    }

    .sitemap_lis {
        margin-left: 3vw;
    }

    .sitemap_lis>li>a {
        font-size: 3.2vw;
    }

    .sitemap_lis>li>a:before {
        content: "・";
        display: inline-block;
    }

    .sitemap_lis>li+li {
        margin-top: 0.3em;
    }

    .sitemap_liss {
        font-size: 2.9vw;
        margin-left: 5vw;
    }


}

/* ------------------------------
    pamph_list
------------------------------ */
.pamph_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

.pamph_list a {
    width: 18% !important;
    margin-bottom: 20px;

}

.pamph_list a p {
    text-align: center;

}

@media screen and (max-width: 768px) {
    .pamph_list a {
        width: 31% !important;
    }
}