.name_text {
    color: #000;
    font-size: 150%;
    font-weight: 900;
    margin-top: 20px;
    margin-bottom: 10px;
}

/* pnavi
================================================== */
.pnavi {
    margin-top: -45px;
    text-align: center;
}

.pnavi .ptop {
    text-align: center;
}

.pnavi a {
    display: inline-block;
    width: 200px;
    height: 45px;
    padding: 23px 10px 0;
    text-decoration: none;
    font-weight: bold;
    font-size: 88.9%;
    color: #490a7f;
    background: url(img/bg_backtop.png) no-repeat center top;
}

.pnavi a:hover,
.pnavi a:focus {
    text-decoration: underline;
}

.pnavi a:before {
    content: '';
    width: 15px;
    height: 13px;
    display: inline-block;
    margin-right: 8px;
    background: url(img/icon_arr_backtop.png) no-repeat left top;
}

/* footer
================================================== */
#tmp_footer {
    margin-top: 100px;
    position: relative;
}

#tmp_footer .footer_wrapper {
    padding: 30px 30px 100px 0px;
    color: #222222;
    background: #f4e7ff;
}

#tmp_footer .container {
    position: relative;
}

#tmp_footer .footer_inner {
    min-width: 1200px;
    width: 1200px;
    position: relative;
    padding: 42px 30px 36px 30px;
    height: auto;
}


#tmp_footer .footer_lft {
    width: 50%;
    position: relative;
    z-index: 2;
}

#tmp_footer .footer_rgt {
    position: absolute;
    right: 0;
    top: 0px;
    width: 43.7%;
}

#tmp_footer .footer_cnt p {
    font-size: 88.9%;
    margin-bottom: 7px;
}

#tmp_footer .footer_cnt p.phone {
    margin-bottom: 4px;
}

#tmp_footer .footer_cnt span.flogo {
    font-size: 150%;
    font-weight: bold;
    margin-right: 15px;
}

/* fnavi */
.fnavi,
.fnavi li {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.fnavi {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    list-style: none;
    margin: 30px -7px;
    padding: 0 0 11px;
}

.fnavi li {
    padding: 0 7px;
    margin: 0 0 13px;
    flex: 0 1 32%;
}

.fnavi li:nth-child(3n) {
    flex: 0 1 41%;
}

.fnavi li:nth-child(3n+2) {
    flex: 0 1 27%;
}

.fnavi li a {
    display: inline-block;
    padding-left: 26px;
    min-height: 20px;
    text-decoration: none;
    font-size: 88.9%;
    font-weight: 500;
    color: #222222;
    background: #f4e7ff url(img/icon_arr_rgt.png) no-repeat left 2px;
    background-size: 18px auto;
    -moz-background-size: 18px auto;
    -webkit-background-size: 18px auto;
}

.fnavi li a:hover,
.fnavi li a:focus {
    text-decoration: underline;
}



/* footer_cnt */
.footer_cnt {
    padding: 0;
}

.footer_cnt address {
    margin: 0 0 9px;
    font-style: normal;
}

.footer_cnt address span {
    margin: 0 1em 0 0;
}

.footer_cnt .phone span {
    margin-right: 11px;
}

.footer_cnt .block span {
    display: block;
    margin-bottom: 4px;
}

#tmp_footer .policy {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    list-style: none;
    gap: 16px;
    padding: 5px 0 0;
}

#tmp_footer .policy li {
    width: 179px;
}

#tmp_footer .policy li a {
    display: inline-block;
    padding: 9px 10px 7px;
    width: 100%;
    text-align: center;
    font-size: 88.9%;
    text-decoration: none;
    border: 1px solid #ffffff;
    color: #222222;
    background: #ffffff;
    border-radius: 20px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -webkit-box-shadow: 0px 0px 10px 0px rgba(178, 178, 178, 0.5);
    -moz-box-shadow: 0px 0px 10px 0px rgba(178, 178, 178, 0.5);
    box-shadow: 0px 0px 10px 0px rgba(178, 178, 178, 0.5);
}

#tmp_footer .policy li a:hover,
#tmp_footer .policy li a:focus {
    text-decoration: underline;
}

#tmp_footer .policy li a:before {
    content: '';
    width: 6px;
    height: 11px;
    display: inline-block;
    margin-right: 10px;
    margin-top: -4px;
    vertical-align: middle;
    background: url(img/icon_arr.png) no-repeat left center;
    background-size: 100% auto;
    -moz-background-size: 100% auto;
    -webkit-background-size: 100% auto;
}










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


    /* pnavi
================================================== */
    .pnavi {
        margin-top: -27px;
    }

    .pnavi a {
        width: 130px;
        height: 27px;
        padding: 12px 10px 0;
        font-size: 62.5%;
        background-image: url(img/bg_backtop_sp.png);
        background-size: 100% auto;
        -moz-background-size: 100% auto;
        -webkit-background-size: 100% auto;
    }

    .pnavi a:before {
        width: 11px;
        height: 9px;
        margin-right: 6px;
        background-size: 100% auto;
        -moz-background-size: 100% auto;
        -webkit-background-size: 100% auto;
    }



    /* ==================================================
footer
================================================== */
    #tmp_footer .footer_wrapper {
        position: relative;
        padding-bottom: 91px;
        background-size: auto 27px;
        -moz-background-size: auto 27px;
        -webkit-background-size: auto 27px;
        background-position: left bottom 64px;
        background-color: #f4e7ff;
        z-index: 1;
    }

    #tmp_footer .footer_inner {
        display: block;
        padding: 55px 0 18px;
        min-width: 100%;
        width: 100%;
    }

    #tmp_footer .footer_lft,
    #tmp_footer .footer_rgt {
        width: 100%;
    }

    #tmp_footer .footer_lft {
        padding-left: 0;
    }

    #tmp_footer .footer_rgt {
        position: static;
        margin-top: -4px;
    }

    #tmp_footer .footer_rgt img {
        max-width: 100%;
        height: auto;
    }

    .footer_cnt {
        padding: 0;
        clear: both;
    }

    #tmp_footer .footer_cnt span.flogo {
        mask-border: 11px;
        font-size: 142.8%;
    }

    #tmp_footer .footer_cnt p {
        font-size: 87.5%;
        line-height: 1.7;
        margin-bottom: 5px;
    }

    #tmp_footer .footer_cnt p.phone {
        margin-bottom: 0;
    }

    .footer_cnt address {
        margin-bottom: 14px;
    }

    .footer_cnt address span {
        margin-right: 0;
    }

    .footer_cnt .block span {
        display: inline;
        margin-bottom: 0;
    }

    .footer_cnt .phone span {
        display: block;
    }

    /* fnavi */
    .fnavi,
    .fnavi li {
        display: block;
    }

    .fnavi {
        margin: 0 0 32px;
        padding: 0;
        border-top: 1px solid #5b83a3;
    }

    .fnavi li {
        margin: 0;
        padding: 12px 0 10px;
        border-bottom: 1px solid #5b83a3;
    }

    .fnavi li a {
        background-size: 11px auto;
        -moz-background-size: 11px auto;
        -webkit-background-size: 11px auto;
        background-color: #f4e7ff;
        background-position: 10px 3px;
    }



    /* policy */
    #tmp_footer .policy {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        gap: 0;
        margin: 0 -4px;
    }

    #tmp_footer .policy li {
        width: 50%;
        padding: 0 4px;
        margin-bottom: 6px;
    }

    #tmp_footer .policy li a {
        padding: 8px 10px 5px;
    }

    #tmp_footer .policy li a:before {
        width: 5px;
        height: 9px;
        margin-right: 6px;
    }






}