@charset "utf-8";
/* CSS Document */
@media (max-width: 1300px) {
    .tl_title {
        font-size: 1.4vw;
        line-height: 1.8vw;
        letter-spacing: -0.05em;
    }
}

@media (max-width: 1040px) {
    .hanbaiten .h_map li {
        position: absolute;
        transform: scale(0.4);
    }

    .hanbaiten .h_map li:nth-child(2) {
        right: 0;
        bottom: 7vw;
        transform-origin: right bottom;
        top: inherit;
    }

    .hanbaiten .h_map li:nth-child(3) {
        right: 27vw;
        bottom: 37vw;
        transform-origin: right bottom;
        top: inherit;
    }

    .hanbaiten .h_map li:nth-child(4) {
        right: 29vw;
        bottom: 7vw;
        transform-origin: right bottom;
        top: inherit;
    }

    .hanbaiten .h_map li:nth-child(5) {
        left: 20vw;
        bottom: 28vw;
        transform-origin: left bottom;
        top: inherit;
    }

    .hanbaiten .h_map li:last-child {
        left: 0;
        bottom: 0;
        transform-origin: left bottom;
        top: inherit;
    }

}

@media (max-width: 992px) {
    .pc_nav .navbar-nav li a {
        font-size: 1.5vw;
    }

/*    .header_logo h2 {
        font-size: 1.4vw;
    }*/

    .tl_title {
        font-size: 1.5vw;
        line-height: 1.2;
    }

    .next_link {
        padding: 0.5vw 10px;
    }

    .next_link img {
        width: 70%;
    }

    .next_link:before {
        width: 20%;
    }


}


@media (max-width: 767px) {

    .br::before {
        content: "\A";
        white-space: pre;
    }

    .sp_nav {
        background: #f2f2f2;
        border-top: 2px solid #d5d5d5;
        border-bottom: 2px solid #d5d5d5;
    }

    .accordion {
        margin: 0;
        padding: 0;
    }

    .accordion .inner {
        display: none;
    }

    .accordion p {
        cursor: pointer;
        padding: 10px;
        margin-bottom: 0;
    }

    .accordion .inner li {
        padding: 10px 20px;
        border-top: 1px solid #ccc;
    }

    .top main .container,
    .top .top_list_item {
        flex-wrap: wrap;
    }

    .top article {
        width: 100%;
    }

    .top aside {
        width: 100%;
        margin-top: 5vw;
        max-width: 100%;
    }

    main h2 {
        font-size: 20px;
    }

    main .h2_en {
        font-size: 16px;
    }

    main h3 {
        font-size: 17px;
        padding: 2vw;
    }

    .fs24 {
        font-size: 17px !important;
    }

    .pl20 {
        padding-left: 2vw !important;
    }

    .tl_img {
        padding: 0;
        max-width: 100%;
    }

    .top .top_list_item {
        padding: 10px 10px 80px;
        position: initial;
    }

    .tl_txt {
        padding-top: 20px;
        max-width: 100%;
        position: inherit;
        width: 100%;
    }

    .tl_title {
        font-size: 14px;
    }

    .next_link {
        bottom: 10px;
        left: 5%;
        width: 90%;
        position: absolute;
        max-width: 100%;
    }

    .top main .top_list li {
        position: relative;
    }

    .btn_link {
        flex-wrap: wrap;
    }

    .top .btn_link li {
        width: 100%;
        margin-bottom: 20px;
    }

    footer .container {
        flex-wrap: wrap;
        padding: 30px 15px;
    }

    .footer_logo {
        width: 80%;
        margin: 30px auto;
    }

    .footer_link1 {
        width: 45%;
    }

    .footer_link2 {
        width: 55%;
        padding-left: 15px;
    }

    .footer_logo .d-flex {
        flex-wrap: wrap;
    }

    .footer_logo .hedaer_tel_link {
        width: 100%;
        text-align: center;
    }

    .top .as1 {
        text-align: center;
    }

    .next_link {
        padding: 10px;
    }

    .next_link img {
        width: 45%;
    }

    .next_link:before {
        width: 40%;
    }


    /***********
      下層ページ
    ************/
    .contact form table th {
        padding: 15px 0 0;
        vertical-align: top;
        width: 100%;
        display: block;
    }

    .contact form table td {
        padding: 10px 0 15px;
        width: 100%;
        display: block;
    }

    .form-inline .form-control {
        display: initial;
    }

    .his {
        font-size: 12px;
    }

    .contact .zip {
        width: 35%;
    }

    .form-inline textarea.form-control {
        width: 100%;
    }

    .topics main .accordion h5 {
        font-size: 18px;
    }

    .topics .table-bordered th,
    .topics .table-bordered td,
    .topics .table-bordered.item2_t th,
    .topics .table-bordered.item2_t td {
        font-size: 3vw;

    }

    .topics .table-bordered.item2_t td:first-child,
    .topics .table-bordered.item2_t td {
        display: block;
        width: 100%;
    }

    .topics .table-bordered.item2_t td {
        padding: .75rem 4vw;
        border-bottom: none;
    }

    .topics .table-bordered.item2_t tr:last-child td:last-child {
        border-bottom: 1px solid #333;
    }

    .topics #collapse4 .two_box_txt {
        font-size: 18px;
        line-height: 50px;
    }

    .products .pd_list li {
        width: 48%;
    }

    .products .two_box {
        flex-wrap: wrap;
    }

    .products .two_box .two_box_img,
    .products .two_box .two_box_txt {
        width: 100%;
        margin: 0;
        margin-bottom: 15px;
    }

    .products .two_box .two_box_img {
        text-align: center;
    }

    .products .two_box .two_box_img img {
        width: fit-content;
    }

    .dairiten .three_box,
    .dairiten .three_box2 {
        width: 100%;
        flex-wrap: wrap;
    }

    .dairiten .three_box > div {
        width: 80%;
        margin: 30px auto;
        text-align: center;
    }

    .dairiten .three_box2 > div {
        width: 80%;
        margin: 30px auto;
    }

    .dairiten .three_box2 > ul {
        width: 70%;
        margin: 0 auto;
    }

    .dairiten .three_box2 > ul:last-child {
        margin-bottom: 30px;
    }

    .topics main .accordion h5 span {
        width: 40px;
    }

    .topics main .accordion h5 {
        font-size: 4vw;
    }

    .hanbaiten .h_map {
        margin: 30px auto;
    }

    .hanbaiten .h_map li {
        position: absolute;
        transform: scale(0.25);
    }

    .subContent ul {
        flex-wrap: wrap;
    }

    .subContent ul li {
        width: 100% !important;
        padding-bottom: 0;
    }

    .subContent ul li:last-child {
        text-align: center;
    }

    .hanbaiten .h_map li:nth-child(3) {
        right: 27vw;
        bottom: 37vw;
        transform: scale(0.35);
    }

    .hanbaiten .h_map li:nth-child(4) {
        transform: scale(0.35);
    }

    .hanbaiten .subContent h3 span {
        width: 40px;
    }

    .topics .table-bordered.item2_t2 th {
        padding: 2vw 4vw;
    }


}
