@media(max-width:767px) {

    .header-wrapper::after {
        width: 220px;
        height: 250px;
        border-bottom-right-radius: 25px;
    }

    .text-banner span {
        font-size: 2.7rem;
    }

    .box-slide-cont p span {
        font-size: 1.8rem;
    }

    .box-slide-cont p {
        font-size: 1.5rem;
        margin-top: 20px;
    }

    .banner-home {
        flex-direction: column;
        padding-left: 15px;
    }

    .box-text-banner {
        width: 100%;
    }

    .box-img-banner {
        width: 100%;
        flex: unset;
        height: auto;
        margin-top: 30px;
    }

    .img-banner {
        width: calc(100vw - 30px);
        position: relative;
    }

    .box-img-banner::after {
        height: 213px;
        width: calc(100vw - 70px);
        left: 40px;
        top: 90px;
    }

    .img-banner-cs img {
        max-width: 506px;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
    }

    .img-banner-cs {
        margin: -20px 0;
        position: relative;
        height: 93px;
    }

    .banner-home::before {
        width: 310px;
        height: 54px;
        left: -63px;
        bottom: -112px;
    }

    .banner-home::after {
        width: 287px;
        height: 289px;
        left: calc(50% + 20px);
        top: 00px;
        transform: translateX(-50%);
    }

    .main-title h2 {
        font-size: 3rem;
    }

    .main-title p {
        font-size: 2rem;
    }

    .main-title h2::after {
        width: 3px;
        left: -14px;
    }

    .home-about {
        padding-left: 15px;
        padding-right: 15px;
    }

    .home-about-left {
        height: 233px;
    }

    .home-about-left .img-wrap {
        width: calc(100vw - 25px);
        right: -5px;
    }

    .home-about-left .img-wrap img {
        border-radius: 0 50px 50px 0;
    }

    .home-about::after {
        width: 310px;
        height: 55px;
        right: -155px;
        top: 130px;
    }
    .box-img-banner::after{
        border-bottom-left-radius: 25px;
    }
    .home-about-right {
        padding-left: 0;
        padding-top: 25px;
    }

    .home-about::before {
        width: 100%;
        height: 550px;
        top: 255px;
        border-radius: 0;
    }

    a.btn.btn-main {
        max-width: 225px;
        min-height: 62px;
        font-size: 1.4rem;
        padding-left: 20px;
        width: 100%;
        padding-right: 55px;
        justify-content: center;
    }

    a.btn.btn-main::after {
        width: 31px;
        height: 31px;
        right: 15px;
    }

    .home-about .container-full {
        margin: 0 -15px;
        width: calc(100% + 30px);
    }

    .home-about-slide .slick-slide {
        padding: 0 3px;
    }

    .home-about-slide .slick-list {
        margin: 0 -3px;
    }

    .home-manufacturing .container {
        padding-left: 30px;
        padding-right: 30px;
    }

    .manufacturing-right {
        padding-top: 2px;
    }

    .manufacturing-right a.btn.btn-main {
        margin: 0 auto;
    }

    .box-manu-link {
        margin-bottom: 5px;
    }

    .manu-text {
        padding: 13px 17px;
    }

    .manu-text a {
        padding-left: 13px;
        font-size: 1.8rem;
    }

    .manu-text a h2 {
        font-size: 1rem;
    }

    .manu-text a::after {
        width: 31px;
        height: 31px;
        bottom: 10px;
        right: 5px;
    }

    #home-manufacturing::after {
        height: 495px;
        width: calc(100vw);
        border-top-right-radius: 60px;
    }

    #home-manufacturing::before {
        width: calc(100vw - 15px);
        border-top-right-radius: 50px;
        top: 15px;
        height: 470px;
    }

    .manufacturing-left{
        position: relative;
        z-index: 1;
    }
    .manufacturing-left::after {
        width: 152px;
        height: 152px;
        left: -15px;
        top: -90px;
    }

    .manufacturing-right::after {
        width: 273px;
        height: 180px;
        left: 0;
        bottom: 140px;
        border-radius: 50px 0 0 50px;
        left: 170px;
    }

    .box-quality {
        flex-direction: column;
        border-radius: 11px;
        padding: 20px;
    }

    .quality-left {
        width: 100%;
    }

    .quality-right {
        padding-left: 15px;
        padding-right: 15px;
        padding-top: 18px;
        padding-bottom: 10px;
    }

    .quality-right .main-title h2 {
        font-size: 2.7rem;
        line-height: 1;
    }

    .box-quality::after {
        width: 31px;
        height: 31px;
        right: 15px;
        bottom: 20px;
    }

    .home-quality {
        padding-left: 15px;
        padding-right: 15px;
    }

    .quality-cs {
        max-width: 100%;
    }

    a.link-quality span {
        font-size: 1.3rem;
        padding: 10px 7px;
    }

    a.link-quality::after {
        width: 25px;
        height: 25px;
        bottom: 7px;
        right: 7px;
    }

    .footer-wrap {
        border-radius: 23px;
        padding: 18px 20px 28px;
    }

    .home-contact {
        flex-direction: column;
        padding: 23px;
    }

    .home-contact .main-title h2 {
        font-size: 1.8rem;
        margin-right: 15px;
    }

    .home-contact .main-title p {
        font-size: 1.8rem;
    }

    .home-contact .main-title {
        justify-content: center;
    }

    .home-contact a:not(.btn) {
        font-size: 2.8rem;
        margin: 20px auto 20px;
    }

    .home-contact a:not(.btn) img {
        width: 23px;
    }

    a.btn.btn-main.btn-contact img {
        margin-right: 18px;
    }

    .box-footer {
        flex-direction: column;
    }

    .footer-right.pt-sm-45 {
        display: none;
    }

    .footer-left {
        width: 100%;
    }

    .box-contact-header {
        max-width: calc(100% - 35px);
        margin: 0 auto;
        border: 2px solid #25465e;
        border-radius: 14px;
        position: relative;
    }

    .box-contact-header:after {
        content: "";
        width: 100vw;
        height: calc(100% + 200px);
        background: #25465e;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        z-index: -1;
        top: 75px;
    }

    .home-quality::after {
        width: 100%;
        border-radius: 50px;
        height: 400px;
        top: 105px;
    }

    .title-en {
        font-size: 3.1rem;
    }

    .title-jp {
        font-size: 2rem;
        margin-top: 5px;
    }

    .page-header {
        padding: 0 15px;
        height: 118px;
        display: flex;
        align-items: center;
    }

    .title-en::after {
        width: 3px;
        left: -15px;
    }

    .page-header::after {
        height: 100%;
        width: 100vw;
        left: -15px;
        border-radius: 10px;
    }

    .page-header::before {
        display: none;
    }

    .page-anchor {
        margin-top: 15px;
    }

    ul.list-anchor {
        padding: 13px;
        background-color: #fff;
        border-radius: 13px;
    }

    .sub-title {
        font-size: 1.8rem;
        padding-bottom: 12px;
    }

    .sub-title::after {
        width: 32px;
        height: 3px;
    }

    .company-01::before {
        width: 310px;
        height: 55px;
        right: -160px;
        top: -10px;
        z-index: -2;
    }

    .company-01::after {
        width: 310px;
        height: 55px;
        left: -100px;
        bottom: -30px;
    }

    .company-02-right::after {
        width: 100%;
        height: 1px;
        left: 0;
        top: -80px;
    }

    .company-02-right {
        padding: 25px 0;
        margin-top: 10px;
    }

    .flex-text-com h2 {
        font-size: 2.4rem;
        width: 180px;
    }

    .flex-text-com p {
        font-size: 1.2rem;
    }

    .flex-text-com {
        padding: 13px 0;
    }

    #company-02::before {
        width: 172px;
        height: 173px;
        left: 0;
    }

    .company-02,
    .company-01,
    .company-03 {
        padding-left: 15px;
        padding-right: 15px;
    }

    .text-company-3 {
        padding: 20px 0 0;
    }

    .table-company-left {
        width: 70px;
        font-size: 1.5rem;
        padding-right: 5px;
        display: flex;
        align-self: stretch;
        justify-content: flex-end;
        align-items: flex-end;
        padding-bottom: 10px;
    }

    .table-company-right {
        padding: 10px 0 10px 10px;
    }

    .table-company {
        margin-bottom: 0;
        align-self: flex-end;
    }

    #company-03::after {
        height: 225px;
        width: calc(50vw);
        top: 110px;
        border-top-right-radius: 50px;
    }

    #company-03::before {
        height: 218px;
        width: calc(50vw - 8px);
        top: 118px;
        border-top-right-radius: 50px;
    }

    .img-company-3 img {
        border-radius: 15px;
    }

    .company-03::before {
        width: 310px;
        height: 55px;
        right: -125px;
        top: -20px;
    }

    .company-03::after {
        width: 310px;
        height: 55px;
        left: -180px;
        top: 60px;
    }

    .box-history {
        flex-wrap: wrap;
    }

    .his-right {
        width: 100%;
        flex: unset;
        padding: 6px 0;
    }

    .his-left h2 {
        font-size: 2rem;
    }

    .his-left h2 span {
        font-size: 1.3rem;
    }

    .his-left {
        width: 80px;
    }

    .his-center {
        width: 75px;
        text-align: left;
    }

    .company-04,
    .company-05 {
        padding-left: 15px;
        padding-right: 15px;
    }

    .title-cs {
        font-size: 1.5rem;
        padding: 4px 15px;
        margin-bottom: 8px;
    }

    .title-cs::after {
        bottom: -8px;
    }

    .title-cs::before {
        width: 3px;
    }

    .box-map iframe {
        height: 180px;
    }

    .box-map-info {
        padding-top: 30px;
    }

    .box-map-info img {
        display: block;
        margin: 0 auto 12px;
        max-width: 114px;
    }

    ul.list-dot li {
        font-size: 1.3rem;
        margin-bottom: 10px;
        padding-left: 19px;
    }

    ul.list-dot li:after {
        width: 11px;
        height: 11px;
        top: 5px;
    }

    .product-01::before {
        width: 310px;
        height: 55px;
        right: -160px;
        top: -20px;
    }

    .product-01::after {
        left: -150px;
        width: 310px;
        height: 55px;
        bottom: -40px;
    }

    .box-product {
        padding-top: 60px;
    }

    .box-product::after {
        width: calc(100vw - 25px);
        border-top-right-radius: 50px;
        top: 20px;
        height: 350px;
    }

    .box-product::before {
        width: calc(100vw - 45px);
        border-top-right-radius: 50px;
        top: 40px;
        height: 350px;
    }

    .product-01 .container {
        padding-left: 30px;
        padding-right: 30px;
    }

    .product-02 .box-product {
        padding-left: 15px;
        padding-right: 15px;
    }

    .title-product {
        padding-left: 15px;
        font-size: 2.7rem;
    }

    .title-product h2 {
        font-size: 1.8rem;
    }

    .title-product:after {
        left: 0;
    }

    .product-left img {
        max-width: 100vw;
        right: -30px;
    }

    .product-left {
        height: 293px;
    }

    .product-right::after {
        width: 100vw;
        left: -30px;
        border-top-left-radius: 50px;
        top: -30px;
        height: 100%;
    }

    .product-right {
        padding: 0;
    }

    .product-right h2 {
        font-size: 1.5rem;
        margin-bottom: 5px;
    }

    .table-product table td:nth-child(2) {
        padding-right: 15px;
        font-size: 1.3rem;
    }

    .table-product table td:nth-child(1) {
        font-size: 1.3rem;
        height: 40px;
        padding: 0 10px;
        width: 80%;
    }

    .box-slide-product>h2 {
        font-size: 1.5rem;
        margin-bottom: 10px;
    }

    .slide-pro-item img {
        border-radius: 10px;
    }

    .slide-product button.slick-arrow {
        width: 35px;
        height: 35px;
        left: -22px;
        top: 46%;
    }

    .slide-product button.slick-arrow.next-arrow {
        right: -22px;
    }

    .slide-pro-item p {
        font-size: 1.3rem;
        padding-top: 8px;
    }

    .slide-product ul.slick-dots {
        bottom: -30px;
    }

    .slide-product ul.slick-dots li {
        width: 10px;
        height: 10px;
        margin: 0 3px;
    }

    .box-product>.container::after {
        width: 144px;
        height: 145px;
        right: -15px;
        bottom: -130px;
    }

    .box-product {
        padding-bottom: 60px;
    }

    .box-product.quality::after {
        height: 155px;
        border-radius: 0 50px 50px 0;
    }

    .box-product.quality::before {
        height: 134px;
        border-radius: 0 50px 50px 0;
        top: 30px;
    }

    ul.list-number li {
        font-size: 1.5rem;
        padding-left: 30px;
        line-height: 1.33;
    }
    .list-number-text{
        
        font-size: 1.5rem;
        line-height: 1.33;
    }
    ul.list-number li::after {
        font-size: 1.5rem;
        top: 1px;
        left: 3px;
    }

    .box-white {
        height: 89px;
        padding: 20px;
        font-size: 1.5rem;
        line-height: 1.33;
        margin-top: 30px;
    }

    .csr-02,
    .csr-01 {
        padding-left: 15px;
        padding-right: 15px;
    }

    .img-csr {
        margin: 20px -30px 0;
    }

    .img-csr img {
        border-radius: 5px;
    }

    .page-csr .list-number li {
        padding-left: 20px;
    }

    .page-csr .list-number p {
        margin-bottom: 15px;
    }

    .img-csr-02 img {
        width: auto;
    }
    .one-sdg{
        padding-bottom: 30px;
    }
    .container .container {
        padding-left: 0;
        padding-right: 0;
    }

    .box-contact-tel {
        flex-direction: column;
        border-width: 1px;
        border-radius: 5px;
        padding: 30px 0;
    }

    .box-contact-tel::after {
        width: calc(100% - 50px);
        height: 1px;
    }

    .contact-tel {
        width: 100%;
    }

    .box-tel-cs h2 {
        font-size: 2.3rem;
    }

    .box-tel-cs {
        font-size: 1.2rem;
        padding-left: 34px;
    }

    .contact-fax {
        width: 100%;
        margin-top: 41px;
    }

    .box-tel-cs::after {
        width: 27px;
        height: 30px;
        top: 0;
    }

    .contact-fax .box-tel-cs::after {
        width: 27px;
        height: 27px;
    }

    .contact-fax .box-tel-cs {
        padding-left: 35px;
    }

    .contact-01,
    .contact-02 {
        padding-left: 15px;
        padding-right: 15px;
    }
    .home-manufacturing::before{
        width: 310px;
        height: 55px;
        top: -15px;
        right: calc(50% - 15px);
        left: unset;
    }
    ul.list-number li,.page-csr .list-number p{
        letter-spacing: 0;
    }
}