@media(max-width:767px) {
    .box-button-header a::after {
        content: "";
        width: 5px;
        height: 9px;
        background-image: url(../images/index/icon-right.svg);
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 30px;
        background-color: transparent;
        left: auto;
    }

    .box-button-header a {
        width: 100%;
        height: 60px;
        position: relative;
        font-size: 1.5rem;
        margin: 13px 0;
    }

    .box-button-header {
        width: 100%;
        flex-direction: column;
        max-width: 300px;
        margin: 20px auto 0;
    }

    .box-button-header a img {
        position: absolute;
        width: 24px;
        left: 20px;
    }

    .toggle-cont-inner {
        padding: 25px 35px;
        background-color: #f7f7f7;
    }

    .toggle-cont-inner a {
        display: block;
        text-align: left;
        font-size: 1.3rem;
        letter-spacing: 0.1em;
        color: #000;
        margin-bottom: 30px;
        border: none;
        background-color: transparent;
        min-height: unset;
        padding: 0;
        width: fit-content;
    }

    .toggle-cont-inner a::after {
        right: -25px;
    }

    .toggle-cont-inner a:last-child {
        margin-bottom: 0;
    }

    a.btn.btn-main {
        width: 161px;
        min-height: 38px;
        font-size: 1.3rem;
    }

    a.btn.btn-main::after {
        width: 5px;
        height: 9px;
        right: 15px;
    }

    .banner-home {
        flex-direction: column;
        height: auto;
    }

    .banner-home-left {
        width: 100%;
        height: 210px;
    }

    .banner-home-right {
        width: 100%;
    }

    .img-banner {
        max-width: 210px;
        margin: 0 auto;
    }

    a.btn.btn-blank {
        max-width: 210px;
        min-height: 50px;
        font-size: 1.2rem;
    }

    a.btn.btn-blank::after {
        width: 14px;
        height: 14px;
        right: 14px;
    }

    .home-text::after {
        background-position: center left;
    }

    .box-text-home h2 {
        font-size: 1.4rem;
    }

    .box-text-home h3 {
        font-size: 3.3rem;
    }

    .box-text-home p {
        font-size: 1.2rem;
    }

    .box-text-home {
        margin-bottom: 25px;
    }

    section.home-text {
        padding-bottom: 5px;
    }

    .box-flex-news {
        flex-direction: column;
    }

    .flex-news-left {
        width: 100%;
        padding-bottom: 30px;
    }

    .flex-news-right {
        width: 100%;
        margin-top: 25px;
    }

    .news-img {
        width: 49px;
    }

    .box-text-news {
        padding-left: 13px;
    }

    .news-item .date {
        font-size: 1rem;
        width: 68px;
    }

    a.cat {
        min-width: 83px;
        min-height: 16px;
        font-size: 1rem;
    }

    .news-item.item-list .title {
        margin-top: 5px;
    }

    .news-item.item-list {
        padding-bottom: 13px;
    }

    .news-item.item-list .title a {
        font-size: 1.2rem;
    }

    .box-news-top {
        padding: 30px 15px;
    }

    .box-news-top::after {
        width: 100%;
        height: 50%;
        top: 0;
    }

    .span-news {
        width: 25px;
        height: 25px;
        font-size: 1rem;
        top: -10px;
    }

    .page-header {
        height: 190px;
    }

    .title-jp {
        font-size: 1.8rem;
    }

    .home-over .container {
        padding: 0;
    }

    .title-over {
        padding-left: 30px;
        font-size: 1.9rem;
        min-height: unset;
    }

    .box-img-over {
        border-width: 3px;
    }

    .box-img-over p {
        font-size: 2.2rem;
    }

    .box-link-over {
        padding: 3px 11px;
    }

    .box-link-over a {
        padding: 13px 20px;
    }

    .box-link-over a::after {
        width: 5px;
        height: 9px;
        right: 15px;
    }

    .box-over {
        margin-bottom: 35px;
    }

    .box-text-home h2 {
        font-size: 1.4rem;
    }

    .box-text-home h3 {
        font-size: 3.3rem;
    }

    .box-text-home p {
        font-size: 1.2rem;
    }

    .box-text-home {
        margin-bottom: 25px;
    }

    section.home-text {
        padding-bottom: 5px;
    }

    .box-flex-news {
        flex-direction: column;
    }

    .flex-news-left {
        width: 100%;
        padding-bottom: 30px;
    }

    .flex-news-right {
        width: 100%;
        margin-top: 25px;
    }

    .news-img {
        width: 49px;
    }

    .box-text-news {
        padding-left: 13px;
    }

    .news-item .date {
        font-size: 1rem;
        width: 68px;
    }

    a.cat {
        min-width: 83px;
        min-height: 16px;
        font-size: 1rem;
    }

    .news-item.item-list .title {
        margin-top: 5px;
    }

    .news-item.item-list {
        padding-bottom: 13px;
    }

    .news-item.item-list .title a {
        font-size: 1.2rem;
    }

    .box-news-top {
        padding: 30px 15px;
    }

    .box-news-top::after {
        width: 100%;
        height: 50%;
        top: 0;
    }

    .span-news {
        width: 25px;
        height: 25px;
        font-size: 1rem;
    }

    .home-over .container {
        padding: 0;
    }

    .title-over {
        padding-left: 30px;
        font-size: 1.9rem;
        min-height: 52px;
    }

    .box-img-over {
        border-width: 3px;
    }

    .box-img-over p {
        font-size: 2.2rem;
    }

    .box-link-over {
        padding: 3px 11px;
    }

    .box-link-over a {
        padding: 13px 20px;
    }

    .box-link-over a::after {
        width: 5px;
        height: 9px;
        right: 15px;
    }

    .box-over {
        margin-bottom: 35px;
    }

    .box-about-right {
        width: 100%;
        padding: 0 15px;
    }

    .title-about {
        font-size: 2rem;
        text-align: center;
        margin-bottom: 130px;
    }

    .about-img {
        position: absolute;
        width: 100vw;
        left: -15px;
        top: 32px;
    }

    .box-text-about {
        padding: 30px 25px;
    }

    .box-text-about h3 {
        font-size: 1.8rem;
        margin-bottom: 10px;
    }

    .box-text-about .box-link-over a {
        padding: 13px;
        padding-right: 50px;
    }

    .box-about::after {
        width: 100vw;
        height: 135px;
        right: -15px;
        clip-path: polygon(0 17%, 100% 0, 100% 83%, 0% 100%);
        top: auto;
        bottom: -37px;
    }

    .box-about.reverse {
        margin-top: 75px;
    }

    .box-about.reverse .title-about {
        text-align: center;
    }

    .box-about.reverse::after {
        left: -15px;
    }

    .main-title {
        font-size: 2.4rem;
        text-align: center;
    }

    .list-news {
        margin-top: 35px;
    }

    a.btn.btn-more {
        max-width: 248px;
        min-height: 50px;
        font-size: 1.3rem;
    }

    .box-btn-more {
        padding-top: 10px;
    }

    section#home-news::after {
        width: 100%;
        height: 50%;
        top: 0;
    }

    section#home-news {
        padding: 45px 15px;
    }

    .home-contact {
        min-height: 182px;
        background-position: center left;
    }

    .home-related {
        padding: 30px 40px;
    }

    .home-related .main-title {
        font-size: 1.5rem;
    }

    .img-related {
        margin-bottom: 15px;
    }

    .footer-top {
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .footer-wrap {
        padding: 30px 0;
    }

    .home-contact-top {
        width: 251px;
        margin-bottom: 40px;
    }

    .list-news .news-item.item-list {
        margin-bottom: 13px;
    }

    .single .page-navi {
        position: relative;
    }

    .box-404 h2 span {
        font-size: 5.2rem;
    }

    .box-404 h2 {
        font-size: 2.2rem;
    }

    .box-404 h3 {
        font-size: 1.5rem;
        margin-top: 15px;
        margin-bottom: 45px;
    }

    .box-404 p {
        font-size: 1.4rem;
        text-align: left;
        font-weight: 500;
    }

    .box-404 {
        padding: 0 15px;
    }

    .banner-left-item a {
        height: 210px;
    }

    .page-header,
    .banner-home {
        margin-top: 64px;
    }
}