/* ナビゲーション改修 */
@media screen and (min-width: 769px) {

    body header ul.subMenu {
        position: static;
    }
    .mainV + .container {
        position: absolute !important;
        top: 560px;
        left: 50%;
        transform: translateX(-50%);
        z-index: 10;
    }

    body header {
        position: relative;
    }
    body header .container nav ul {
        max-width: 480px;
        margin: 0 0 0 auto;
        height: auto;
    }
    body header .container nav ul li {
        width: auto;
        margin-inline: 10px;
        padding: 30px 0;
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: content-box;
    }
    body header .container nav ul li:last-child {
        padding: 25px 0;
    }
    body #wrapper .container,
    body header .container nav,
    body header .container nav ul li {
        position: static;
    }
    body header .container nav ul li a::after {
        display: none;
    }
    body header .container nav > ul > li {
        flex-wrap: wrap;
    }
    body header .container nav > ul > li > a {
        width: 100%;
    }
    body header .container nav > ul > li::after {
        opacity: 0;
        content: "";
        width: 7px;
        height: 7px;
        border-top: 1px solid #000;
        border-left: 1px solid #000;
        border-bottom: none;
        transition: none;
        transform: rotate(225deg);
        position: relative;
        bottom: -7px;
    }
    body header .container nav > ul > li:hover::after {
        transform: rotate(45deg);
        bottom: -10px;
    }
    body header .container nav > ul > li.has_child::after {
        opacity: 1;
    }

    body header .container nav > ul > li:hover > a {
        color: #1D78F6;
        border: none;
        background: none;
    }
    body header ul.subMenu {
        max-width: 960px;
    }
    .new_nav li .child {
        opacity: 0;
        pointer-events: none;
        position: absolute;
        top: 86px;
        left: 0;
        right: 0;
        background: #1D78F6;
        z-index: 100;
        padding: 25px 0 35px;
        transition: .6s;
    }
    .new_nav li .child p {
        font-size: 18px;
        padding-left: 25px;
        position: relative;
        text-align: left;
        color: #fff;
        margin-bottom: 20px;
    }
    .new_nav li .child p::before {
        content: "";
        width: 18px;
        height: 1px;
        position: absolute;
        top: 50%;
        left: 0;
        background: #fff;
    }
    .child_block {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
    }

    .child_block_img {
        width: 169px;
    }
    .child_block > img {
        width: auto;
        max-width: 100%;
        height: auto;
    }
    .new_nav li .child ul {
        max-width: none;
        height: auto;
        margin: 0;
        width: calc(100% - 40px - 169px);
        display: flex;
        flex-wrap: wrap;
        gap: 15px 30px;
        justify-content: flex-start;
        align-items: flex-start;
    }
    .new_nav li .child ul li:last-child {
        display: block;
        width: auto;
        margin: 0;
        text-align: left;
    }
    .new_nav li .child ul li {
        padding: 0;
        position: static;
        margin: 0;
        display: block;
        width: calc( (100% - 90px) / 4 ) !important;
        height: auto;
        text-align: left;
        display: flex !important;
        align-items: flex-start;
        gap: 4px;
        line-height: 1.4;
    }
    .new_nav li .child ul li:last-child {
        padding: 0;
        align-items: flex-start;
    }
    .new_nav li .child ul li::before {
        content: "";
        width: 10px;
        height: 10px;
        background: #fff;
        clip-path: polygon(0 0, 100% 50%, 0 100%);
        position: relative;
        top: 3px;
    }
    .new_nav li .child ul li a {
        color: #fff;
        font-size: 14px;
    }
    .new_nav li .child ul li a:hover {
        background: none;
        text-decoration: underline;
    }

    body header .container nav ul li:hover .child{
        opacity: 1;
        pointer-events: auto;
    }

}
@media screen and (max-width: 768px) {
    body header .nav_SP {
        width: 100%;
        overflow-y: auto;
    }
    .new_nav li .child {
        display: none;
    }

    body header .nav_SP dl dt {
        background: #1D78F6;
        text-align: left;
        padding-left: 30px;
    }
    body header .nav_SP dl dd .openContents div {
        background: #fff;
        color: #1D78F6;
        width: 100%;
        border: none;
        border-bottom: 1px solid #ccc;
    }



}


/* トップのバナー */
body article section.service ul {
    justify-content: flex-start;
    gap: 20px 24px;
}
body article section.service ul li {
    margin: 0;
    width: calc( (100% - 48px) / 3 );
}
@media screen and (max-width: 768px) {
    body article section.service ul {
        justify-content: flex-start;
        gap: 10px 12px;
    }
    body article section.service ul li {
        width: calc( (100% - 12px) / 2 );
    }

}

/* トップの背景色調整 */
@media screen and (min-width: 769px) {
    body.home article section:nth-child(even) {
        background: #fff;
    }

    body.home article section:nth-child(odd) {
        background: #f2f2f2;
    }
}

