/* responsive */
@media screen and (max-width: 768px) {
    ul.navi_base {
        display: none;
    }

    #directory_link {
        padding: 0 10px;
    }

    .top_img_h .top_img {
        top: 110px;
        height: 260px;
    }

    .top_img_h .top_img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .main.sec1 {
        width: 92%;
        margin: auto;
        padding-top: 40px;
    }

    .main.sec1 .mds_box {
        margin-bottom: 60px;
    }

    .main.sec1 .mds_box p.txt_40 {
        margin: 10px 0;
    }

    .main.sec1 .template_box_l {
        width: 100%;
        margin-top: unset;
    }

    .main.sec1 .template_box_l .template_box_s {
        width: 32%;
        margin-bottom: 40px;
    }

    .main.sec1 .template_box_l::after {
        content: "";
        width: 32%;
        display: block;
        height: 0;
        order: 1;
    }

    .main.sec1 .template_box_s img.temp_img {
        width: 100%;
    }

    .main.sec1 .template_box_l .temp_ura img {
        margin-top: unset;
    }

    .sec2 .mds_box {
        margin-bottom: 40px;
    }

    .sec2 .txt_10.table_bottom_txt {
        text-align: center;
    }

    .sec2 .price_box {
        margin-top: unset;
        margin-bottom: 60px;
    }

    .sec2 .price_box_l {
        width: 100%;
        margin-bottom: 60px;
    }

    .sec2 .price_box_s {
        width: 92%;
        margin: auto;
    }
    
    .sec2 .price_box_s table.right {
        margin-top: 40px;
    }

    .sec2 .price_box_s table {
        width: 100%;
        font-size: 12px;
    }

    .desc_txt{
        margin-left: 0px !important;
    }
    .sec3 {
        width: 92%;
        margin: auto;
        padding-top: 40px;
    }

    .sec3 .template_box_l {
        width: 100%;
        margin-top: 40px;
    }

    .sec3 .template_box_l .template_box_s {
        width: 32%;
        margin-bottom: 40px;
    }

    .sec3 .template_box_l::after {
        content: "";
        width: 32%;
        height: 0;
        display: block;
        order: 1;
    }

    .sec4 {
        padding-top: 40px;
        width: 92%;
        margin: auto;
    }

    .sec4 .paper_box {
        overflow-x: scroll;
    }

    .sec4 .paper_box table {
        width: 1000px;
        margin: unset;
        margin-top: 40px;
    }

    .sec4 .paper_box table {
        position: relative;
    }

    .sec4 .paper_box table .sticky_area {
        position: sticky;
        left: 0;
    }

    .sec4 .paper_box table .sticky_area::before {
        content: "";
        position: absolute;
        top: -1px;
        left: -1px;
        width: 100%;
        height: 100%;
        border-right: 1px solid #EAE8E8;
        border-left: 1px solid #EAE8E8;
    }

    .sec4 .paper_box table .sticky_area.key::before {
        border-right: 1px solid #ffffff;
    }
}

@media screen and (max-width: 480px) {
    .main.sec1 {
        padding-top: 20px;
    }

    .main.sec1 .template_box_l .template_box_s {
        width: 48%;
        margin-bottom: 20px;
    }

    .main.sec1 .template_box_l::after {
        width: 48%;
    }

    .sec2 .price_box_s {
        width: 97%;
    }

    .sec2 .price_box_s table {
        table-layout: fixed;
    }

    .sec2 p.txt_link_box {
        width: 95%;
        margin: auto;
    }

    .sec2 .price_box_l {
        margin-bottom: 30px;
    }

    .sec2 .price_box_s table th img {
        width: 100%;
    }

    .sec2 .price_box_l table.left th {
        padding: 10px 0px;
    }

    .sec2 .price_box_l table.right th {
        padding: 10px 0px;
    }
    .price_box_l table.right td {
        padding: 10px 2px;
    }

    .price_box_l table.left td {
        padding: 10px 2px;
    }

    .sec3 {
        padding-top: 20px;
    }

    .sec3 .template_box_l .template_box_s {
        width: 100%;
    }

    .sec3 .template_box_l::after {
        display: none;
    }

    .sec4 {
        padding-top: unset;
    }

    .sec4 .paper_box table .sticky_area {
        width: 10%;
    }

    .line_gray {
        margin-bottom: 30px;
    }

    .line_space {
        white-space: nowrap;
        text-overflow: ellipsis; 
        overflow: hidden;
    }
    .line_space:hover{
        overflow: visible;
    }
}