@media screen and (max-width: 1300px){
    #wrapper.top .business .business_list > li:nth-child(6),
    #wrapper.top .business .business_list > li:nth-child(5),
    #wrapper.top .business .business_list > li:nth-child(4),
    #wrapper.top .business .business_list > li:nth-child(3),
    #wrapper.top .business .business_list > li:nth-child(2),
    #wrapper.top .business .business_list > li:nth-child(1){
        margin-top: 3rem;
    }
}
@media screen and (max-width: 1200px){
    #wrapper.outline .inner > .title_blc h3{
        padding: 2.4rem 1.75rem;
    }
    #wrapper.office .inner > .title_blc h3{
        padding: 2.4rem 1.75rem;
    }
    #wrapper.office .inner .main_blc{
    }
    #wrapper.office .inner .main_blc .flex > *{
        width: 100% !important;
    }
    #wrapper.office .main_blc .map.img{
        position: relative;
        aspect-ratio: 1.75;
        border-top: 0;
        padding: 0;
    }
    #wrapper.office .main_blc .map.img iframe{
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
    }
    #wrapper.strengths .mv h3{
        font-size: 4.8rem;
        bottom: 3%;
    }
    #wrapper.catalog .main_blc .list .flex > li,
    #wrapper.movie .main_blc .list .flex > li{
        width: calc((100% - 4.9rem) / 2);
    }
    #wrapper.strengths main .point_blc .img{
        width: 40rem;
    }
    #wrapper.strengths main .point_blc .txt {
        width: calc(100% - 51.1rem);
    }
    #wrapper.strengths main .point_blc .txt{
        padding: 0 5rem 0 0;
    }
    #wrapper.strengths main .point_blc:nth-of-type(2n+1) .txt{
        padding: 0 0 0 5rem;
    }
    #wrapper.strengths main .point_blc .txt .box{
        width: 100%;
    }
}
@media screen and (max-width: 1024px){
    .inner{
        transform: unset;
    }
    .inner > .title_blc{
    }
    .inner > .title_blc h3{
        font-size: 1.2rem;
        width: unset;
        letter-spacing: .1rem;
    }
    .inner > .title_blc h3 > div:before{
        content: "";
    }
    .inner > .title_blc h3 .disabled{
        display: none;
    }
    .inner > .title_blc h3 .disabled + div{
        margin-top: 0;
    }
    #wrapper.outline .inner > .title_blc{
        width: 11rem;
    }
    .inner > .main_blc{
        width: calc( 100% - 11.5rem)
    }
    #wrapper.recruit .recruit_menu{
        width: 100%;
        height: unset;
    }
    #wrapper.recruit .recruit_menu > *{
        width: 100%;
        height: 50rem;
        position: relative;
    }
}
@media screen and (max-width: 920px){
    footer .contact_wrap {
        gap: 3rem;
        justify-content: center;
    }
    footer .contact .logo{
        width: 10rem;
    }
    footer .contact .tel{
        width: 30rem;
    }
    footer .contact .link{
        width: 25rem;
    }
    footer .footer_menu{
        width: 90%;
        margin: 0 auto;
        padding: 4rem 0 5rem;
        border: none;
    }
    footer .footer_menu .footer_menu_wrap{
        gap: 3rem 2.5rem;
    }
    footer .footer_menu .footer_menu_wrap > *:last-child > *,
    footer .footer_menu .footer_menu_wrap > *{
        width: calc( (100% - 2.5rem) / 2 );
    }
    footer .footer_menu .footer_menu_wrap > *:last-child{
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        gap: 3rem 2.5rem;
    }
    footer .footer_menu dl + dl{
        margin-top: 0;
    }
    footer .footer_menu_wrap > div:nth-child(1) dl + dl,
    footer .footer_menu_wrap > div:nth-child(2) dl + dl{
        margin-top: 2.4rem;
    }
    footer .footer_menu dl dt{
        font-size: 1.4rem;
    }
    #wrapper.environment .sdgs .flex .box{
        width: calc( (100% - 2.5rem) / 2);
    }
    #wrapper.strengths main .point_blc{
        gap: 5rem;
    }
    #wrapper.strengths main .point_blc .img{
        width: 35rem;
    }
    #wrapper.strengths main .point_blc .txt {
        width: calc(100% - 40rem);
    }
    #wrapper.strengths main .base {
        top: -6rem;
        transform: translate(-50%, 0) scale(.75);
    }
    #wrapper.strengths main .image {
        height: 45rem;
        margin: 5rem 0 0;
    }
    #wrapper.strengths main .point_blc .txt{
        padding: 0 3rem 0 0;
    }
    #wrapper.strengths main .point_blc .box {
        width: 100%;
    }
    #wrapper.strengths main .point_blc:nth-of-type(2n+1) .txt{
        padding: 0 0 0 3rem;
    }
}
@media screen and (max-width: 750px){
    .pc{ display: none;}
    .sp{ display: block;}
    .sp.inline{ display: inline;}

    body.search_open,
    body.menu_open{
        height: 100vh;
        overflow: hidden;
    }
    .inner{
        width: 90%;
        gap: 0 1rem;
    }
    .dl_table dt{
        width: 14rem;
    }
    #modal .modal_box{
        padding: 5rem;
        top: calc((100% + 5.8rem) / 2);
    }
    #wrapper.entrustment #modal .modal_box,
    #wrapper.plastic #modal .modal_box{
        min-height: unset;
    }
    #modal .modal_close {
        top: 1.5rem;
        right: 1.5rem;
    }
    .pagetop{
        right: unset;
        left: 1.5rem;
        bottom: 1.5rem;
        width: 5.2rem;
        height: 5.2rem;
    }
    #wrapper.page .entrustment.pagetop{
        display: none;
    }
    #wrapper.entrustment .entrustment.pagetop{
        display: block;
        right: unset;
        left: 1.5rem;
        bottom: 1.5rem;
        width: 5.2rem;
        height: 5.2rem;
    }

    main{
        padding: 5rem 0 5.5rem;
    }

    header{
        height: 5.8rem;
        padding: 0 2rem;
    }
    header .logo{
        order: 2;
        background: url(images/logo.svg) center / 5.3rem auto no-repeat;
    }
    header .sns{
        order: 1;
        margin-left: unset;
        margin-right: auto;
    }
    header .menu{
        order: 3;
        width: 6rem;
    }
    header .menu_trg{
        display: block;
        width: 3.75rem;
        height: 3rem;
        margin:  1.4rem 0 1.4rem auto;
        position: relative;
    }
    header .menu_trg > span{
        display: block;
        height: 0.15rem;
        width: 1.875rem;
        position: absolute;
        background: #000;
        right: 0;
        transition: all .2s linear;
        opacity: 1;
    }
    header .menu_trg > span:nth-of-type(1){
        top: 0.75rem;
    }
    header .menu_trg > span:nth-of-type(2){
        top: 1.45rem;
    }
    header .menu_trg > span:nth-of-type(3){
        top: 2.15rem;
    }
    body.menu_open header .menu_trg > span{
        width: 2.15rem;
    }
    body.menu_open header .menu_trg > span:nth-of-type(1){
        top: 1.55rem;
        transform: translate(0, 0) rotate(45deg);
    }
    body.menu_open header .menu_trg > span:nth-of-type(2){
        opacity: 0;
    }
    body.menu_open header .menu_trg > span:nth-of-type(3){
        top: 1.55rem;
        transform: translate(0, 0) rotate(-45deg);
    }
    header .menu_trg{
    }
    header .menu_wrap{
        position: fixed;
        right: -15rem;
        top: 5.8rem;
        bottom: 0;
        width: 15rem;
        background: #fff;
        z-index: 10000;
        display: block;
        transition: all .2s ease-out;
    }
    body.menu_open header .menu_wrap{
        right: 0;
    }
    header .menu_wrap > li{
        width: 100%;
        padding: 0;
        display: block;
        padding: 0 1rem 0  2rem;
    }
    header li.works:after,
    header li.daiwa:after{
        transform: rotate(135deg) translateY(-50%);
        position: absolute;
        bottom: unset;
        left: .9rem;
        top: 37.5%;
    }
    header .menu_wrap > li > span,
    header .menu_wrap > li > a{
        display: block;
        padding: 1rem 0;
    }
    header .menu_wrap > li > span{
        padding: 1rem 0;
    }
    .header_nav{
        opacity: 1;
        pointer-events:none;
        top: 5.8rem;
        right: -100vw;
        left: unset;
        bottom: 0;
        width: 15rem;
        overflow-y: auto;
        transition: all .2s linear;
        padding: 2rem .5rem;
        z-index: 9999;
        pointer-events: auto;
    }
    .header_nav.active{
        top: 5.8rem;
        transition: opacity .2s linear, right .2s ease-out;
        right: 15rem;
    }
    body.menu_open header li.works span,
    body.menu_open header li.daiwa span{
        border: none;
    }
    header li.works span:after,
    header li.daiwa span:after {
        content: "";
        display: block;
        height: 0px;
        width: 3px;
        background: #0B59A0;
        transition: height .3s ease-out;
        position: absolute;
        bottom: 0;
        left: 0;
        right: unset;
        top: 0;
    }
    header li.works.active span:after,
    header li.daiwa.active span:after {
        width: 5px;
        height: 100%;
    }
    .header_nav .nav_wrap{
        gap: 2rem 0;
    }
    .header_nav .nav_wrap{
        transition: opacity .2s linear;
    }
    .header_nav .nav_wrap + h3,
    .header_nav .nav_wrap{
        transition: opacity .2s linear .5s;
    }
    .header_nav .nav_wrap > li{
        width: 14rem !important;
    }
    .header_nav .nav_wrap > li .txt {
        font-size: 1rem;
        padding: 0.75rem 0;
    }
    body .overlay{
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(255,255,255,0.6);
        cursor: pointer;
        opacity: 0;
        pointer-events: none;
        transition: all .2s ease-out;
        z-index: 5000;
    }
    body.menu_open .overlay{
        opacity: 1;
        pointer-events: auto;
    }
    .header_nav:after{
        opacity: 0;
        top: 5.8rem;
        transition: opacity .1s linear;
        right: 15rem;
        left: unset;
        bottom: 2rem;
        width: 1px;
        height: unset;
        pointer-events: none;
    }
    body.menu_open .header_nav:after{
        opacity: 1;
        transition: opacity .1s linear .2s;
    }
    header .sns_wrap{
        gap: 1.8rem;
    }
    header .sns_wrap .x a{
        background: url(images/X.svg) center / 1.5rem auto no-repeat;
    }
    header .sns_wrap .instagram a{
        background: url(images/instagram.svg) center / 1.5rem auto no-repeat;
    }
    body.menu_open #wrapper:has(section[id="product"]) header{
        background: #fff;
    }

    footer{
        padding: 6.6rem 0;
    }
    footer .footer_wrap{
        width: 100%;
    }
    footer .contact_wrap .tel{
        border-right: none;
        padding-right: 0;
        border-bottom: 1px solid rgba(57, 57, 57, 0.3);
        padding-bottom: 2rem;
    }
    footer .contact .logo,
    footer .contact .tel{
        width: 90%;
        font-size: 2.35rem;
    }
    footer .contact .link{
        width: 24.4rem;
    }
    footer .contact .tel_wrap{
        width: 24.4rem;
        margin: 0 auto;
        gap: 0 1rem;
    }
    footer .contact .tel_wrap .icon{
        width: 4.8rem;
    }
    footer .contact .link p{
        margin-top: 1rem;
        font-size: 1.2rem;
    }
    footer .footer_bottom .group,
    footer .footer_bottom .copyright{
        position: static;
        transform: unset;
        margin: 0 auto;
    }
    footer .footer_bottom .copyright{
        text-align: center;
        margin-top: 3rem;
    }
    footer .footer_bottom .copyright{
        text-align: center;
        margin-top: 3rem;
    }
    footer .footer_menu.sp{
        margin: 5.5rem 0 1.2rem;
    }
    footer .footer_menu.sp .category{
        margin-bottom: 6rem;
    }
    footer .footer_menu.sp .category a{
        border-top: 1px solid rgba(57, 57, 57, 0.3);
        display: block;
        padding: 1.6rem 0 1.6rem 4rem;
        font-size: 1.6rem;
        line-height: 1.1;
        font-weight: 500;
        position: relative;
    }
    footer .footer_menu.sp .category li:last-child a{
        border-bottom: 1px solid rgba(57, 57, 57, 0.3);
    }
    footer .footer_menu.sp .category li a:after{
        content: "";
        display: block;
        width: 2.8rem;
        height: 2.8rem;
        border: 1px solid rgba(57, 57, 57, 1);
        border-radius: 50%;
        position: absolute;
        top: 50%;
        right: 3.35rem;
        transform: translateY(-50%) rotate(90deg);
        background: url(images/icon_arrow_g.svg) center / 0.64rem auto no-repeat;
    }
    footer .footer_menu.sp .other{
        width: 34rem;
        margin: 0 auto;
        padding: 0 0 2.4rem;
        gap: .7rem 1.6rem;
        line-height: 2.1;
        justify-content: center;
        border-bottom: 1px solid rgba(57, 57, 57, 0.3);
    }
    footer .footer_bottom{
        padding: 3.45rem 0 0;
        height: unset;
    }

    .container{
        padding-top: 5.8rem;
    }

    #wrapper.top .mv{
        height: 123.333vw;
    }
    #wrapper.top .mv .mv_box.mv1{
        background: url(images/sp_mv01.jpg) center / cover no-repeat;
    }
    #wrapper.top .mv .mv_box.mv2{
        background: url(images/sp_mv02.jpg) center / cover no-repeat;
    }
    #wrapper.top .mv .mv_box.mv3{
        background: url(images/sp_mv03.jpg) center / cover no-repeat;
    }
    #wrapper.top .ttl_box{
        top: unset;
        bottom: 10.5rem;
        width: 30rem;
        left: 3.3rem;
        transform: unset;
        color: #fff;
    }
    #wrapper.top .ttl_box h2{
        font-size: 2rem;
    }
    #wrapper.top .ttl_box h2 .en{
        font-size: .8rem;
        margin: .2rem 0 2.25rem;
    }
    #wrapper.top .mv .txt{
        font-size: 1.2rem;
        letter-spacing: 0;
        line-height: 1.7;
    }
    #wrapper.top .mv .sns{
        display: none;
    }
    #wrapper.top .mv .slick-dots{
        width: 4.6rem;
        bottom: 6.7rem;
        left: 1.9rem;
        right: unset;
        gap: 0;
    }
    #wrapper.top .mv .slick-dots li button{
        position: relative;
        width: 1rem;
        height: 1rem;
    }
    #wrapper.top .mv .slick-dots li button:before{
        width: .8rem;
        height: .8rem;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
        background: #B5E0F9;
    }
    .slick-dots li button{
        padding: 5px 0;
    }
    #wrapper.top .news .news_box{
        top: -5.5rem;
        left: 1.5rem;
        width: 24.5rem;
        height: 11rem;
        padding: 2.8rem 5.5rem 1rem 1rem;
        background: #0b58a0;
        border-radius: 0 1.6rem 1.6rem 0;
        color: #fff;
    }
    #wrapper.top .news .head{
        font-size: 1rem;
        padding-top: 0.5rem;
    }
    #wrapper.top .news .category{
        border: .1rem solid #fff;
        /*background: #0B58A0;*/
        color: #fff;
        top: -48px;
        left: 23px;
    }
    #wrapper.top .news .news_box .item {
        gap: 0px;
    }
    #wrapper.top .news .txt{
        white-space: nowrap;
        text-overflow: unset;
        font-size: 1.2rem;
        text-overflow: ellipsis;
        width: 18rem;
    }
    #wrapper.top .news .link{
        width: 3.75rem;
        height: 3.75rem;
        right: 1.3rem;
    }
    #wrapper.top .news .link .btn{
        background: transparent url(images/icon_arrow_b.svg) center / 1.1rem auto no-repeat;
        background-color: #fff;
        /*border: 1px solid #393939;*/
    }
    #wrapper.page .contact_box a,
    #wrapper .contact_box a{
        width: 7.9rem;
        height: 7.9rem;
        border-radius: 50%;
        top: unset;
        bottom: 1.5rem;
        padding: 3.5rem 0 0;
        text-align: center;
        font-size: 1rem;
        line-height: 1.5;
        letter-spacing: .1rem;
        background: #0b58a0 url(images/icon_tel.svg) center top 1.2rem / 1.9rem auto no-repeat;
    }

    #wrapper.top .business:before{
        right: 5rem;
    }
    #wrapper.top .business .section_ttl{
        left: 5%;
        top: 5rem;
    }
    #wrapper.top .business .business_list > li{
        margin-top: 0 !important;
    }
    #wrapper.top .business .business_list a{
        width: 35rem;
        height: 27rem;
    }
    #wrapper.top .business .plastic h4{
        padding-left: 5%;
    }
    #wrapper.top .business .plastic .plastic_list > li {
        width: 75%;
        aspect-ratio: 1.75;
    }
    #wrapper.top .card .brand{
        height: unset;
    }
    #wrapper.top .card .brand .box{
        padding: 5rem 0 8rem;
    }
    #wrapper.top .card .brand .flex > li{
        width: 32rem;
    }
    #wrapper.top .card .box:before{
        right: 0;
    }
    #wrapper.top .card > *:nth-child(2n) .box:before{
        left: 0;
        top: 0;
    }
    #wrapper.top .card .catalog{
        top: 10rem;
    }
    #wrapper.top .card .movie{
        top: 15rem;
        height: 60rem;
    }
    #wrapper.top .card .catalog .box > *{
        width: 100%;
    }
    #wrapper.top .card .catalog h3{
        padding: 2rem 0 0;
    }
    #wrapper.top .card .catalog .list_wrap{
        margin-top: 8rem !important;
    }
    #wrapper.top .card .catalog .splide__arrows{
        right: unset;
        top: -3.5rem;
        left: 53%;
        transform: translateX(-50%);
    }
    #wrapper.top .card > * .box:before{
        border-radius: 3rem 3rem 0 0 !important;
    }
    #wrapper.top .card > *:nth-child(3) .box:before{
        top: -2rem;
    }
    #wrapper.top .card .catalog .link .btn{
        u
        margin-top: 3rem;
    }
    #wrapper.top .bottom .flex > div {
        width: 90%;
        padding: 1.4rem 3rem 3.5rem;
    }

    #wrapper.page .mv{
        height: 35vw;
    }
    #wrapper.page .mv .breadcrumb{
        font-size: 1rem;
        line-height: 1;
        letter-spacing: .05em;
    }
    #wrapper.page .mv .breadcrumb ul li:not(:last-child):after{
        height: 1rem;
        vertical-align: -.15rem;
    }
    #wrapper.page .mv .ttl{
        left: 3rem;
        font-size: 2.8rem;
        letter-spacing: .05em;
    }
    #wrapper.electronic .mv .ttl h2{
        padding-right: 13rem;
    }
    #wrapper.electronic .mv .ttl h2 .code{
        font-size: 1.3rem;
    }

    #wrapper.outline .dl_table dt{
        width: 9rem;
    }
    #wrapper.outline .history .year{
        padding: 0 0 0 5rem;
    }
    #wrapper.outline .history .year:before{
        width: 2.2rem;
    }
    #wrapper.outline .history .history_img{
        position: static;
        margin-top: 1rem;
        width: 100% !important;
    }
    #wrapper.outline .history .history_img.year2025{
        margin-top: 0;
        margin-left: 2rem;
        width: 90% !important;
    }
    #wrapper.outline .history .txt{
        padding: 3.4rem 0 3.4rem 5rem;
    }


    #wrapper.recruit-new-grad .mv{
        height: 36rem;
    }
    #wrapper.recruit-new-grad .mv .ttl{
        top: unset;
        left: 50%;
        bottom: 4rem;
        transform: translateX(-50%);
        font-size: 2.8rem;
        white-space: nowrap;
    }
    #wrapper.recruit-new-grad .note{
        font-size: 1.3rem;
    }
    #wrapper.recruit-new-grad .mv .ttl .sub{
        font-size: 1.4rem;
        margin-bottom: 1.8rem;
    }
    #wrapper.recruit-new-grad .entry_blc .attention{
        padding: 2rem;
    }
    #wrapper.recruit-new-grad .entry_blc .attention .flex > *{
        width: 100%;
    }
    #wrapper.recruit-new-grad .entry_blc .attention .flex .ex{
        font-size: 1.3rem;
    }
    #wrapper.recruit-new-grad .entry_blc .btn{
        font-size: 1.4rem;
        min-width: unset;
        width: 95%;
    }
    #wrapper.recruit-new-grad .entry_blc .btn + p{
        font-size: 1.3rem;
        width: 90%;
        max-width: 392px;
        margin: 0 auto 3.9rem;
    }
    #wrapper.recruit-new-grad ul.list.flex li,
    #wrapper.recruit-new-grad ul.list.flex li:nth-child(2n){
        width: 100%;
    }
    #wrapper.recruit-new-grad .dl_table > dl dt{
        width: 10rem;
    }

    #wrapper.strengths main .image {
        height: 30rem;
        margin: 5rem 0 0;
    }
    #wrapper.strengths main .base{
        top: -14rem;
        transform: translate(-50%, 0) scale(.4);
    }
    #wrapper.strengths main .image .roop{
        font-size: 6rem;
        width: 100vw;
    }

    #wrapper.strengths .mv h3{
        font-size: 2rem;
    }
    #wrapper.strengths main .point_blc .img,
    #wrapper.strengths main .point_blc .txt{
        width: 100%;
        padding: 0;
    }
    #wrapper.strengths main .point_blc:nth-of-type(2n+1){
        flex-direction: unset;
    }
    #wrapper.strengths main .point_blc:nth-of-type(2n+1) .txt{
        padding: 0;
    }
    #wrapper.strengths main .point_blc .txt .box{
        margin: 0 auto;
        width: 90%;
    }

    #wrapper.environment .sdgs .flex .box{
        width: 90%;
    }
    #wrapper.environment .product_box .img,
    #wrapper.environment .product_box .txt,
    #wrapper.environment .reuse .img,
    #wrapper.environment .reuse .txt{
        width: 100%;
    }
    #wrapper.environment .product_box{
        padding: 3rem;
    }
    #wrapper.catalog .item_wrap .nav_blc,
    #wrapper.movie .item_wrap .nav_blc,
    #wrapper.catalog .item_wrap .main_blc,
    #wrapper.movie .item_wrap .main_blc{
        width: 100%;
    }
    #wrapper.catalog .nav_blc .movie a,
    #wrapper.movie .nav_blc .catalog a{
        margin-top: 1rem;
    }
    #wrapper.catalog .main_blc .list .flex,
    #wrapper.movie .main_blc .list .flex{
        gap: 4rem 3rem;
    }
    #wrapper.catalog .main_blc .list .flex > li,
    #wrapper.movie .main_blc .list .flex > li{
        width: calc( (100% - 3rem) / 2);
    }
    #wrapper.catalog .list .txt,
    #wrapper.movie .list .txt{
        margin: 1.4rem 0;
    }
    #wrapper.catalog .main_blc .list .flex .link .btn,
    #wrapper.movie .main_blc .list .flex .link .btn{
        min-width: unset;
        font-size: 1.4rem;
    }
    #wrapper.checklist .pickup .flex,
    #wrapper.search .pickup .flex,
    #wrapper.catalog .pickup .flex,
    #wrapper.movie .pickup .flex{
        gap: 3rem;
    }
    #wrapper.checklist .pickup .flex li,
    #wrapper.search .pickup .flex li,
    #wrapper.catalog .pickup .flex li,
    #wrapper.movie .pickup .flex li{
        width: calc( ( 100% - 3rem ) / 2);

    }

    #wrapper.group main h3{
        margin-bottom: 6.5rem;
    }
    #wrapper.group main .list{
        gap: 3rem;
    }
    #wrapper.group main .list li{
        width: 100%;
        padding: 5rem;
    }
    #wrapper.group main .list .txt{
        min-height: unset;
    }
    #product .bg_img{
        animation: sp-scroll-anim linear;
        animation-timeline: scroll();
        animation-range: entry 0% entry 50vh;
    }
    #product .amazon .box{
        position: static;
        padding: 10rem 0 20rem;
        transform: unset;
        margin: 0 auto;
    }
    #product .amazon.lower{
        padding: 0;
    }
    #product .amazon.lower .box{
        padding: 7rem 0;
    }
    #product .manage .main_blc{
    }
    #product .list{
        width: 90%;
    }
    #product .list li + li{
        margin-top: 5rem;
    }
    #product .list h4,
    #product .list .ex{
        margin-bottom: 2rem;
    }
    #product .list h4{
        font-size: 2.4rem;
    }
    #product .list .img,
    #product .list .txt{
        width: 100%;
    }
    #product .manage.inner{
        display: block;
    }
    #product .manage .main_blc{
        padding: 3rem 0 0;
        width: 100%;
    }
    #product .manage .main_blc .flex > *{
        width: 100%;
    }
    #product .manage .main_blc .flex .link{
        margin-top: 1rem;
    }
    #wrapper.cup #product .amazon.lower box{
    }
    #wrapper.cup #product .amazon.lower a{
        background: #0B58A0 url(images/cup_img05.png) left center / 16.5rem auto no-repeat;
        padding: 3rem 0 3rem 16.5rem;
        font-size: 1.4rem;
    }

    #wrapper:has(main[class="product_child"]) .mv:before{
        display: block;
        background: rgba(255,255,255,0.8);
    }
    #wrapper:has(main[class="product_child"]) .mv .img{
        width: 100vw;
    }
    #wrapper:has(main[class="product_child"]) .mv .ttl{
        width: 6.5em;
    }
    #wrapper:has(main[class="product_child"]).packaging .mv .ttl,
    #wrapper:has(main[class="product_child"]).plate .mv .ttl,
    #wrapper:has(main[class="product_child"]).medical .mv .ttl{
        width: 7.5em;
    }
    #wrapper:has(main[class="product_child"]) .mv .ttl.meal{
        width: 10em;
    }
    #wrapper:has(main[class="product_child"]) .mv .ttl.school{
        width: 11em;
    }
    #wrapper.page main.product_child .item{
        background: #E3EDF2;
        padding: 8rem 0;
    }
    #wrapper.page main.product_child .box{
        padding: 3rem 3rem 4rem;
        flex-direction: column-reverse;
    }
    #wrapper.page main.product_child .item .box > *{
        width: 100%;
    }
    #wrapper.page main.product_child .box.one_row .img > div{
        width: 100%;
    }
    #wrapper:has(main[class="product_child"]) .feature {
        width: 100%;
    }


    #wrapper.packaging .copy{
        padding: 10vw 5%;
    }
    #wrapper.packaging .copy .flex{
        height: unset;
        padding-right: 4rem;
    }
    #wrapper.packaging .copy .flex > *{
        width: 100%;
    }
    #wrapper.packaging .copy .flex .separator{
        height: .1rem;
    }
    #wrapper.lacquerware .amazon.upper + .list .txt .ex,
    #wrapper:has(main[class="product_child"]).school .item.large_img .list > *:nth-child(1) .txt p,
    #wrapper:has(main[class="product_child"]).meal .item.large_img .list > *:nth-child(2) .txt p {
        letter-spacing: .1rem;
    }


    #wrapper.checklist .mv,
    #wrapper.search .mv{
        height: 40vw;
    }
    #wrapper.checklist .mv .ttl,
    #wrapper.search .mv .ttl{
        top: 57%;
    }
    #wrapper.checklist .mv .ttl p,
    #wrapper.search .mv .ttl p{
        font-size: 0.9rem;
        margin-top: 1.5rem;
    }
    #wrapper.checklist .item_wrap,
    #wrapper.search .item_wrap{
        position: relative;
        gap: 0rem;
    }
    #wrapper.checklist .item_wrap .nav_trg,
    #wrapper.search .item_wrap .nav_trg{
        display: block;
        width: 5rem;
        height: 5rem;
        border-radius: 50%;
        background: #0b58a0 url(images/icon_search_w.svg) center / 3rem auto no-repeat;
        cursor: pointer;
        position: sticky;
        top: 6rem;
        transition: left 0.2s ease-out;
    }
    #wrapper.checklist .item_wrap .nav_blc,
    #wrapper.search .item_wrap form,
    #wrapper.search .item_wrap .nav_blc{
        width: 5rem;
    }
    #wrapper.search .item_wrap .nav_blc{
        height: 100%;
    }
    #wrapper.checklist .item_wrap .main_blc,
    #wrapper.search .item_wrap .main_blc{
        width: calc(100% - 5rem);
        padding: 0;
    }
    #wrapper.checklist .item_wrap .nav_blc .box,
    #wrapper.search .item_wrap .nav_blc .box{
        position: fixed;
        width: 26.2rem;
        left: -26.2rem;
        min-height: 100vh;
        padding: 3rem 1rem 15rem;
        top: 5.8rem;
        bottom: 0;
        overflow: auto;
        background: #fff;
        z-index: 9000;
        transition: left 0.2s ease-out;
    }
    #wrapper.search .item_wrap .btn_box{
        display: none;
    }
    #wrapper.search .item_wrap .nav_blc .btn_box{
        display: block;
    }
    body.search_open #wrapper.checklist .item_wrap .nav_trg,
    body.search_open #wrapper.search .item_wrap .nav_trg{
        left: 26rem;
    }
    body.search_open #wrapper.checklist .item_wrap .nav_blc .box,
    body.search_open #wrapper.search .item_wrap .nav_blc .box{
        left: 0;
    }
    #wrapper.checklist .item_wrap .main_blc .list li, 
    #wrapper.search .item_wrap .main_blc .list li{
        width: 50%;
    }


    #wrapper:has(main[class="product_child"]) .feature .flex > *{
        width: 100% !important;
    }
    #wrapper.biomass .feature .flex .img{
        text-align:center;
    }
    #wrapper.biomass .feature_box{
        padding: 6.5rem 3rem 8rem;
    }
    #wrapper.biomass .feature_box .purpose .flex > *{
        width: 100%;
    }
    #wrapper.biomass .feature_box .purpose .img{
        width: 13.4rem;
        margin: 0 auto;
    }
    #wrapper.biomass .feature_box .mark{
        padding: 2rem 1.5rem;
    }
    #wrapper.biomass .feature_box .mark .certification,
    #wrapper.biomass .feature_box .mark .logo{
        width: 100%;
    }
    #wrapper.biomass .feature_box .mark .certification {
        padding: 8rem 0 3.6rem 0;
        background: url(images/environment_biomass_mark02.svg) center top / auto 7rem no-repeat;
    }
    #wrapper.biomass .feature_box .mark .logo{
        padding: 3.6rem 0 0;
        border-left: none;
        border-top: 1px solid #dedede;
        text-align: center;
    }
    #wrapper.biomass .feature_box .mark .certification p{
        font-size: 1.5rem;
    }
    #wrapper.biomass .feature_box .mark .certification h6{
        line-height: 1.25;
        margin-bottom: 2rem;
    }
    #wrapper:has(main[class="product_child"]) .item.large_img .img.img_box,
    #wrapper:has(main[class="product_child"]) .item.large_img .txt{
        width: 100%;
    }

    #wrapper:has(main[class="product_child"]).care .copy .pdf a.flex{
        padding: 0 3rem;
    }
    #wrapper:has(main[class="product_child"]).care .copy .pdf .txt{
        width: calc(100% - 7.5rem) !important;
    }
    #wrapper:has(main[class="product_child"]).care .copy .pdf .img{
        width: 7.5rem !important;
    }
    #wrapper:has(main[class="product_child"]).care .copy .amazon a.flex{
        height: unset;
    }


    #wrapper.plastic .copy .flex > *{
        width: 100%;
    }
    #wrapper.plastic .lineup{
        padding: 6rem 0 10rem;
    }
    #wrapper.plastic .lineup .plastic_contents{
        padding: 2rem 2.4rem;
    }
    #wrapper.plastic .lineup .plastic_trg{
        font-size: 2rem;
    }
    #wrapper.plastic .lineup .plastic_trg span{
        display: block;
    }
    #wrapper.plastic .lineup .plastic_contents .txt ul,
    #wrapper.plastic .lineup .plastic_contents .txt ol{
        padding: .5rem 0 .5rem 2.4rem;
    }
    #wrapper.plastic .lineup .plastic_contents .img{
        width: 100%;
        padding: 1rem 0 0 10.4rem;
    }
    #wrapper.plastic .lineup .plastic_contents .img img{
        width: 100% !important;
        height: auto !important;
    }
    #wrapper.plastic .lineup .plastic_contents dt h5{
        width: 8rem;
    }
    #wrapper.plastic .lineup .plastic_contents .txt{
        width: calc( 100% - 8rem );
    }

    #wrapper.entrustment .entrustment_menu li{
        width: 80%;
    }
    #wrapper.entrustment .entrustment_menu a{
        width: 100%;
    }
    #wrapper.entrustment .inner{
        gap: 0 1.5rem;
    }
    #wrapper.entrustment .inner > .title_blc{
        display: none;
    }
    #wrapper.entrustment .main_blc .entrust_img{
        gap: 4rem 3rem;
    }
    #wrapper.entrustment .main_blc .entrust_img > * {
        width: calc((100% - 3rem) / 2);
    }
    #wrapper.entrustment .main_blc .system02 .flow_wrap .flex{
        gap: 0 2rem;
    }
    #wrapper.entrustment .main_blc .system02 .flow_wrap .flow03{
        width: calc( (100% - 2rem ) / 2 );
    }
    #wrapper.entrustment .main_blc .oem_img .img,
    #wrapper.entrustment .main_blc .oem_img .txt{
        width: 100%;
    }
    #wrapper.entrustment .main_blc .factory_data thead th,
    #wrapper.entrustment .main_blc .factory_data tbody td{
        font-size: 1.3rem;
    }
    #wrapper.showroom .slide .nav{
        width: 50vw;
        padding: 1.5rem;
        height: auto;
    }
    #wrapper.showroom .ex{
        padding: 5rem 0 0;
    }
    #wrapper.showroom main .contact .flex > *{
        width: 100% !important;
        flex: unset !important;
        text-align: center;
    }
    #wrapper.watching .mv{
        height: 52.1rem;
    }
    #wrapper.watching section.map .chara_img,
    #wrapper.watching section.map .pin_img{
        width: 80%; 
    }
    #wrapper.watching main{
        padding: 8rem 0 5.5rem;
        overflow: hidden;
    }
    #wrapper.watching section.map{
        transform: scale(1.65) translate(-8%, 0);
    }
    #wrapper.watching section.map div[id^=chara]:hover + .chara_img,
    #wrapper.watching section.map div[id^=chara].active + .chara_img,
    #wrapper.watching section.map div[id^=chara] + .chara_img,
    #wrapper.watching section.map div[id^=pin] + .pin_img{
        top: 50% !important;
        left: 50% !important;
        transform: translate(-39%, -44%) scale(0.7)
    }
    #wrapper.recruit-new-grad .inner,
    #wrapper.outline .inner,
    #wrapper.office .inner{
        flex-wrap: wrap;
        gap: 1rem;
    }
    #wrapper.recruit-new-grad .inner > *,
    #wrapper.outline .inner > *{
        width: 100%;
    }
    #wrapper.outline .inner > .title_blc{
        display: none;
    }
    #wrapper.recruit-new-grad .inner > .title_blc,
    #wrapper.office .inner > .title_blc{
        position: sticky;
        top: 7rem;
        z-index: 1000;
        width: 100%;
    }
    #wrapper.recruit-new-grad .inner > .title_blc h3,
    #wrapper.office .inner > .title_blc h3{
        position: static;
        background: none !important;
        padding: 0;
        display: flex;
        gap: 1rem;
        width: 100%;
        border-radius: 0;
    }
    #wrapper.recruit-new-grad .inner > .title_blc h3 > div,
    #wrapper.office .inner > .title_blc h3 > div{
        width: calc( ( 100% - 2rem ) / 3);
        background: #0b58a0;
        border-radius: .8rem;
    }
    #wrapper.recruit-new-grad .inner > .title_blc h3 > div + div,
    #wrapper.office .inner > .title_blc h3 > div + div{
        margin: 0;
    }
    #wrapper.office .inner > .title_blc h3 > div:nth-child(1){
    }
    #wrapper.office .inner > .title_blc h3 > div:nth-child(2){
        background: #A08C0B;
    }
    #wrapper.office .inner > .title_blc h3 > div:nth-child(3){
        background: #393939;
    }
    .inner > .title_blc h3 > div a{
        opacity: 1;
    }
    .inner > .title_blc h3 > div a:before,
    .inner > .title_blc h3 > div a.active:before{
        display: none;
    }
    #wrapper.recruit-new-grad .inner > .title_blc h3 a,
    #wrapper.office .inner > .title_blc h3 a{
        display: block;
        padding: 1rem;
        text-align: center;
        font-size: 1.4rem;
    }
    #wrapper.recruit-new-grad .inner .main_blc ,
    #wrapper.office .inner .main_blc {
        width: 100%;
    }
    #wrapper.recruit-new-grad .inner  .target_blc,
    #wrapper.office .inner  .target_blc{
        margin-top: -2.5rem;
        padding-top: 7.5rem;
    }
    #wrapper.office .dl_table{
        display: block;
    }
    #wrapper.office .dl_table dl{
        display: flex;
        flex-wrap: wrap;
    }
    #wrapper.office .dl_table dl dt,
    #wrapper.office .dl_table dl dd{
        width: 100%;
        display: block;
        padding: 1.5rem 0;
    }

    /*
    #wrapper.contact .inner > .title_blc{
        display: none;
    }
    #wrapper.contact .inner > .main_blc{
        width: 100%;
    }
    */
    #wrapper.contact .dl_table dt{
        width: 7em;
    }
    #wrapper.contact .catalog_blc, #wrapper.contact .form_blc{
        padding: 3rem 1rem;
    }
    #wrapper.contact .catalog_blc .btn, #wrapper.contact .form_blc .btn{
        min-width: unset;
        width: 100%;
    }
    #wrapper.contact .form_blc .btn{
        font-size: 1.25rem;
        padding: 1rem 0;
        border-radius: 5.17rem;
    }

    #wrapper.page .mv.form{
        height: 5rem;
    }
    #wrapper.contact-form main h3,
    #wrapper.recruit-new-grad-form main h3,
    #wrapper.recruit-form main h3{
        line-height: 1.3;
        padding: .8rem 0;
        margin: 0 0 4.5rem;
        
    }
    #wrapper.recruit-new-grad-form,
    #wrapper.recruit-form h3{
        margin-bottom: 5rem;
    }
    .form_table{
        overflow: hidden;
    }
    .form_table,
    .form_table dl,
    .form_table dl dt,
    .form_table dl dd,
    .recruit-new-grad-form .form_table dt,
    .recruit-new-grad-form .form_table dd,
    .recruit-new-grad-form .form_table.request_date dt,
    .recruit-new-grad-form .form_table.request_date dd{
        display: block;
        width: 100%;
    }
    .form_table dl dd{
        border-color: #F3F3F3;
    }
    .recruit-new-grad-form .form_table.request_date dt,
    .recruit-new-grad-form .form_table.request_date dt div{
        position: static;
    }
    .recruit-new-grad-form .form_table.request_date dt div{
        padding: 1.8rem 1rem;
        font-weight: 700;
        font-size: 1.4rem;
        text-align: left;
    }
    .form_table dt{
        border-bottom: none;
        padding: 1.8rem 0;
        font-weight: 700;
        font-size: 1.6rem;
    }
    .form_table dl.msg > dd,
    .recruit-new-grad-form .form_table.request_date dd,
    .form_table dd{
        padding: 0 0 2.4rem;
    }
    .form_table dt.inquire:after{
        position: static;
        transform: unset;
        margin-left: 1rem;
    }
    .form_table textarea,
    .form_table input[type="email"],
    .form_table input[type="tel"],
    .form_table input[type="text"]{
        font-size: 1.6rem;
    }
    .form_table .zipcode button,
    .form_table input[type="email"],
    .form_table input[type="tel"],
    .form_table input[type="text"]{
        height: 4rem;
    }
    .form_table + .submit{
        margin-top: 5rem;
    }
    #wrapper:has(main[class="product_child"]) .item.large_img .txt p.ls0{
        letter-spacing: 0.1rem !important;
    }
    #wrapper.policy main .txt p,
    #wrapper.policy main .txt ul li,
    #wrapper.policy main .txt ul li:first-child,
    #wrapper.policy main .txt ul li:nth-child(5),
    #wrapper.policy main .txt ul li:nth-child(6){
        letter-spacing: 0.1rem;
    }
    #product .product_head .title_blc {
        top: 35vh;
    }
    #wrapper.plastic #product .product_head .title_blc h2,
    #wrapper.cup #product .product_head .title_blc h2{
        font-size: 3.4rem;
    }
    #wrapper #product .product_head .title_blc h2{
        white-space: nowrap;
    }
    #wrapper.top .whats .movie_box .img_box video{
        height: 85%;
    }
    #wrapper.top .link_about{
        left: 50%;
        top: 65%;
        transform: translate(-50%, 0%);
    }
    #wrapper.search .item_wrap .btn_box .reset button p,
    #wrapper.search .item_wrap .btn_box .submit button p,
    #wrapper.search .item_wrap .btn_box .submit button h5{
        position: static;
        transform: unset;
        line-height: 1.5;
    }



}

