@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap');

*{
    box-sizing: border-box;
    line-height: inherit;
    font-weight: inherit;
    font-size: inherit;
    color: inherit;
    font-family: inherit;
}
html,body,div,h1,h2,h3,h4,h5,h6,ul,ol,li,p,dl,dt,dd{
    padding: 0;
    margin: 0;
}
html{
    font-size: 10px;
}
body{
    font-family:"Zen Kaku Gothic New", sans-serif;
    line-height: 1.5;
    color: #393939;
}
ol,ul,li{
    list-style: none;
}
img{
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}
img.right{
    object-position: right;
}
button,
a{
    opacity: 1;
    transition: all .2s ease-out;
    color: inherit;
    text-decoration: none;
}
button:hover,
a:hover{
    opacity: .6;
}
textarea,
button,
input{
    appearance: none;
    -webkit-appearance: none;
    outline: none;
    border: none;
}
table{
    border-collapse: collapse;
}

.pc{ }
.sp{ display: none;}
.ls0{letter-spacing: 0 !important;}
.ls-01p{ letter-spacing: -0.1px;}
.ls-04p{ letter-spacing: -0.4px;}
.ls-05p{ letter-spacing: -0.5px;}
.ls-06p{ letter-spacing: -0.6px;}
.ls-07p{ letter-spacing: -0.7px;}
.ls-08p{ letter-spacing: -0.8px;}
.ls-09p{ letter-spacing: -0.9px;}
.ls-10p{ letter-spacing: -1.0px;}
.ls-13p{ letter-spacing: -1.3px;}
.ls-18p{ letter-spacing: -1.8px;}
.ls05p{ letter-spacing: 0.5px;}
.ls08p{ letter-spacing: 0.8px;}
.ls09p{ letter-spacing: 0.9px;}
.ls10p{ letter-spacing: 1.0px;}
.ls15p{ letter-spacing: 1.5px;}
.ls18p{ letter-spacing: 1.8px;}
.ls25p{ letter-spacing: 2.5px;}
.ls30p{ letter-spacing: 3.0px;}
i.word{
    display: inline-block !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    font-style: inherit !important;
}
.flex{
    display: flex;
    flex-wrap: wrap;
}
.dl_table{
    display: table;
    width: 100%;
    border-spacing: collapse;
}
.dl_table > dl{
    display: table-row;
    width: 100%;
}
.dl_table > dl > dt,
.dl_table > dl > dd{
    display: table-cell;
}
.dl_table dt,
.dl_table dd{
    border-top: 1px solid #e5e2e2;
    padding: 3.4rem 0;
    font-size: 1.3rem;
    line-height: 1.5;
    font-weight: 500;
}
.dl_table dd a{
    display: inline-block;
    text-decoration: underline;
    text-decoration-color: #999;
}
.dl_table dt{
    border-top: 1px solid #0B58A0;
    letter-spacing: .2rem;
    width: 20rem;
}
.main_blc .target_blc + .target_blc{
    margin-top: 11.6rem;
}
.btn{
    color: #fff;
    display: block;
    padding: 1.5rem 0 1.4rem;
    background: #0B58A0 url(images/icon_arrow_w.svg) right 1.4rem center / 1.1rem auto no-repeat;
    font-size: 1.6rem;
    font-weight: 500;
    text-align: center;
    line-height: 1.218;
    text-decoration: none !important;
}
.btn.gray{
    background: #393939 url(images/icon_arrow_w.svg) right 1.4rem center / 1.1rem auto no-repeat;
}
.btn.transparent{
    border: .1rem solid #2A2625;
    color: #2A2625;
    background: transparent url(images/icon_arrow_g.svg) right 1.4rem center / 1.1rem auto no-repeat;
}
.btn.rounded{
    border-radius: 2.5rem;
    min-width: 24.4rem;
}
.btn.circle{
    border-radius: 50%;
    aspect-ratio: 1;
    background-size: 1.1rem auto;
    background-position: center;
}
.btn.white{
    background-color: #fff;
    background-image: url(images/icon_arrow_b.svg);
}
.btn.white.transparent{
    color: #fff;
    border-color: #fff;
    background-color: transparent;
    background-image: url(images/icon_arrow_w.svg);
}
.btn.exlink{
    background: #0B58A0 url(images/icon_exlink_w.svg) right 1.5rem center / 1.3rem auto no-repeat;
}
.pagetop{
    /*display: none;*/
    position: fixed;
    right: 1rem;
    bottom: 9rem;
    width: 6rem;
    height: 6rem;
    background: #0B58A0;
    border-radius: 50%;
    z-index: 5000;
}
.pagetop span{
    display: block;
    width: 1.1rem;
    height: 1.1rem;
    background: url(images/icon_arrow_w.svg) center / contain no-repeat;
    transform: translate(-50%,-50%) rotate(-90deg);
    cursor: pointer;
    position: absolute;
    top: 50%;
    left: 50%;
}
#wrapper.movie .pagetop,
#wrapper.office .pagetop{
    display: block;
}

.pager{
}
.pager ul{
    display: flex;
    justify-content: center;
    gap: .55rem;
    align-items: center;
}
.pager ul .disabled{
    opacity: .3;
    pointer-events: none;
}
.pager ul a{
    display: block;
    width: 2.85rem;
    height: 2.85rem;
    line-height: 2.85rem;
    font-weight: 500;
    font-size: 1.32rem;
    text-align: center;
}
.pager ul .current a{
    font-weight: 700;
    pointer-events: none;
}
.pager ul span:not(.dots){
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 0.59px solid #393939;
}
.pager ul span.current{
    border: none;
    border-radius: 0;
    width: 2.85rem;
    height: 2.85rem;
    line-height: 2.85rem;
    font-weight: 700;
    font-size: 1.32rem;
    text-align: center;
}
.pager ul .latest span{
    background: url(images/icon_latest.svg) center / 1rem auto no-repeat;
}
.pager ul .oldest span{
    background: url(images/icon_oldest.svg) center / 1rem auto no-repeat;
}
.pager ul .prev span{
    background: url(images/icon_arrow_back_g.svg) center / .653rem auto no-repeat;
}
.pager ul .next span{
    background: url(images/icon_arrow_g.svg) center / .653rem auto no-repeat;
}

#modal,
.modal_overlay{
    opacity: 0;
    pointer-events: none;
    transition: all 0.2s ease-in;
}
.modal_overlay{
    transition: all 0.2s ease-out;
}
#modal .modal_box{
    width: 90%;
    max-width: 80rem;
    max-height: 70vh;
    min-width: 35rem;
    min-height: 35rem;
    overflow: auto;
    background: #fff;
    padding: 7.2rem;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: 5200;
    border-radius: .75rem;
}
#modal .modal_close{
    position: absolute;
    top: 2.7rem;
    right: 2.7rem;
    width: 1.9rem;
    height: 1.9rem;
    background: url(images/icon_close_b.svg) center / contain no-repeat;
    cursor: pointer;
    z-index: 2;
}
#modal .modal_contents{
    display: none;
}
#modal.wakayama .wakayama,
#modal.furukawa_hardening .furukawa_hardening,
#modal.furukawa .furukawa,
#modal.tanakura .tanakura,
#modal.yachiyo .yachiyo,
#modal.aiduwakamatsu .aiduwakamatsu,
#modal.niigata .niigata{
    display: block;
}
.modal_overlay{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 5100;
    background: rgba(11, 88, 160, 0.8);
    cursor: pointer;
}
body.modal_open #modal,
body.modal_open .modal_overlay{
    opacity: 1;
    pointer-events: auto;
}


#wrapper{
    position: relative;
    min-height: 100%;
}

.inner{
    display: flex;
    gap: 0 3rem;
    max-width: 80rem;
    margin: 0 auto;
    position: relative;
    transform: translatex(-5rem);
}
.inner > .title_blc{
    top: 0;
    position: relative;
    left: 0;
    width: 14rem;
    bottom: 0;
}
.inner > .main_blc{
    width: 61.5rem;
}
.inner > .title_blc h4,
.inner > .title_blc h3{
    position: sticky;
    top: 6.5rem;
    padding: 2.4rem;
    border-radius: .8rem;
    background: #0B58A0;
    transition: background .2s linear;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.9;
    text-align: center;
}
.inner > .title_blc h3 > div{
    text-align: left;
}
.inner > .title_blc h3 > div + div{
    margin-top: 1.5rem;
}
.inner > .title_blc h3 > div a{
    opacity: 0.5;
}
.inner > .title_blc h3 > div a.active:before{
    content: "・ ";
}
.inner > .title_blc h3 a.active{
    opacity: 1;
}
main{
    padding: 10rem 0 14.4rem;
}
main > section + section{
    margin-top: 12rem;
}

header{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 6.5rem;
    padding: 0 2.3rem 0 3.2rem;
    background: #fff;
    z-index: 10000;
}
header .header_wrap{
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
}
footer .footer_wrap .logo,
header .logo{
    width: 8.157rem;
    height: 2.676rem;
    background: url(images/logo.svg) center / contain no-repeat;
}
header .logo a{
    display: block;
    width: 100%;
    height: 100%;
}
footer .footer_wrap h2,
header h1{
    text-indent: -9999px;
    width: 100%;
}
header .menu{
    margin-left: auto;
    font-size: 1.2rem;
    font-weight: 500;
    height: 100%;
}
header .menu_wrap{
    gap: 0 .5rem;
    height: 100%;
}
header .menu_wrap > li{
    padding: 2.25rem 1.5rem;
}
@media screen and (max-width: 900px){
    header .menu_wrap{
        gap: 0;
    }
    header .menu_wrap > li{
        padding: 2.25rem clamp(0.5rem, -2.000rem + 5.333vw, 1rem);;
    }
    header .sns {
        margin-left: 2.2rem !important;
    }
}
.header_nav{
    opacity: 1;
    pointer-events: none;
    transition: top .5s cubic-bezier(0.23, -0.03, 1, 1);
    position: fixed;
    top: -100vh;
    left: 0;
    right: 0;
    background: #fff;
    z-index: 9999;
    padding: 4rem 0 5.5rem;
}
.header_nav:after{
    content: "";
    opacity: 0;
    transition: opacity .3s linear;
    display: block;
    position: fixed;
    top: 6.5rem;
    left: 2.5rem;
    right: 2.5rem;
    height: 1px;
    background: rgba(57, 57, 57, 0.3);
    z-index: 10001;
}
.header_nav.active:after{
    opacity: 1;
}
header li.works,
header li.daiwa{
    cursor: pointer;
    position: relative;
    transition: all .2s;
}
header li.works:hover,
header li.daiwa:hover{
    color: #0B59A0;
}
header li.works:after,
header li.daiwa:after{
    content: "";
    display: block;
    width: 5px;
    height: 5px;
    border-right: .15rem solid #393939;
    border-bottom: .15rem solid #393939;
    transform: rotate(45deg) translateX(-50%);
    position: absolute;
    bottom: 1.25rem;
    left: 50%;
    transition: all .2s;
}
header li.works.active:after,
header li.daiwa.active:after,
header li.works:hover:after,
header li.daiwa:hover:after{
    border-right: .15rem solid #0B59A0;
    border-bottom: .15rem solid #0B59A0;
}
body header li.works span,
body header li.daiwa span,
header li.works span,
header li.daiwa span{
    transition: all .2s linear;
}
header li.works.active span,
header li.daiwa.active span{
    display: inline-block;
    font-weight: 700;
    color: #0B59A0;
}
header li.works span:after,
header li.daiwa span:after{
    content: "";
    display: block;
    height: 5px;
    width: 0px;
    background: #0B59A0;
    transition: width .3s ease-out;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
}
header li.works.active span:after,
header li.daiwa.active span:after{
    width: 100%;
}
.header_nav .nav_wrap{
    opacity: 0;
    position: relative;
    z-index: 1;
    transition: opacity .05s ease-in;
    gap: 3.5rem 4.5rem;
    max-width: 81.5rem;
    width: 90%;
    margin: 0 auto;
}
.header_nav .nav_wrap > li{
    width: 17rem;
    border-bottom: 1px solid rgba(57, 57, 57, 0.3);
}
.header_nav .nav_wrap > li .txt{
    font-size: 1.2rem;
    font-weight: 500;
    padding: 1rem 0;
}
.header_nav.active{
    opacity: 1;
    transition: top .3s cubic-bezier(0.14, 0.78, 1, 1);
    top: 6.5rem;
    pointer-events: auto;
}
.header_nav.active .nav_wrap{
    opacity: 1;
    transition: opacity .5s ease-out .2s;
}
.header_nav .nav_wrap + h3{
    opacity: 0;
    transition: opacity .5s ease-out;
    position: relative;
    margin: 4.8rem auto 2rem;
    max-width: 60rem;
    width: 90%;
}
.header_nav .nav_wrap + h3{
    opacity: 1;
    transition: opacity .5s ease-out .2s;
}
.header_nav .nav_wrap + h3 p{
    display: inline-block;
    height: 100%;
    padding: 0 1rem 0 0;
    color: #0B58A0;
    background: #fff;
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 1.4;
}
.header_nav .nav_wrap + h3 span{
    display: block;
    width: 100%;
    height: .1rem;
    background: #0B58A0;
    top: 50%;
    position: absolute;
    z-index: -1;
}
.header_nav h3 span:after{
    display: none;
}
.header_nav#biz_nav .nav_wrap{
    max-width: 60rem;
}
.header_nav#biz_nav .nav_wrap > li{
    width: calc( ( 100% - (4.5rem * 2) ) / 3);
}
.header_nav#biz_nav .nav_wrap > li .img{
    width: 100%;
    aspect-ratio: 3.02;
    overflow: hidden;
    border-radius: .5rem;
}
.header_nav#biz_nav .nav_wrap > li .img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
header .sns{
    margin-left: 7.2rem;
}
header .sns_wrap{
    gap: 2rem;
}
#wrapper.top .sns a,
header .sns_wrap a{
    display: block;
    width: 2rem;
    height: 2rem;
    text-indent: -9999px;
}
header .sns_wrap .x a{
    background: url(images/X.svg) center / contain no-repeat;
}
header .sns_wrap .instagram a{
    background: url(images/instagram.svg) center / contain no-repeat;
}
#wrapper.top .mv .sns .x a{
    background: url(images/X_w.svg) center / contain no-repeat;
}
#wrapper.top .mv .sns .instagram a{
    background: url(images/instagram_w.svg) center / contain no-repeat;
}

footer{
    border-top: 1px solid rgba(57, 57, 57, 0.3);
    padding: 9rem 0 6.6rem;
    position: relative;
    z-index: 4000;
    background: #fff;
}
footer .footer_wrap{
    max-width: 87rem;
    width: 95%;
    margin: 0 auto;
}
footer .contact_wrap{
    gap: 5rem;
    justify-content: center;
}
footer .contact .logo{
    width: 15rem;
}
footer .contact .tel{
    width: 33rem;
    font-size: 2.6rem;
    line-height: 1.1;
    color: #2A2625;
    border-right: 1px solid rgba(57, 57, 57, 0.3);
}
footer .contact .tel_wrap{
    gap: 0 1.5rem;
}
footer .contact .icon span{
    display: block;
    width: 5rem;
    height: 5rem;
    background: url(images/footer_tel.svg) center / contain no-repeat;
}
footer .contact .tel .time{
    margin-top: .9rem;
    font-size: 1rem;
}
footer .contact .link{
    width: 29rem;
}
footer .contact .link a{
    margin: 1.5rem 0;
}
footer .contact .link p{
    margin-top: .5rem;
}
footer .footer_menu{
    max-width: 87rem;
    border-bottom: 1px solid rgba(57, 57, 57, 0.3);
    padding: 7rem 0 8rem;
}
footer .footer_menu .footer_menu_wrap{
    gap: 6.4rem;
    justify-content: center;
}
footer .footer_menu .footer_menu_wrap > *{
    width: 18.7rem;
}
footer .footer_menu dl{
}
footer .footer_menu dl + dl{
    margin-top: 3.6rem;
}
footer .footer_menu dt{
    display: block;
    font-size: 1.6rem;
    font-weight: 500;
    padding: 0 0 1rem;
    margin: 0 0 1rem;
    border-bottom: 1px solid rgba(57, 57, 57, 0.3);
}
footer .footer_menu dd{
    font-size: 1.1rem;
    line-height: 1.75;
}
footer .footer_menu dd a{
    display: inline-block;
    padding: 0;
    position:relative;
}
footer .footer_menu dd a:after{
    content: "";
    display: block;
    height: 1px;
    width: 0px;
    background: #000;
    transition: width .3s ease-out;
}
footer .footer_menu dd a:hover:after{
    width:100%;
}
footer .footer_menu li + li,
footer .footer_menu dd + dd{
    margin-top: .7rem;
}
footer .footer_menu dd ul{
    padding-left: 1rem;
    border-left: 1px solid #E5E5E5;
}
footer .footer_bottom{
    position: relative;
    padding: 5rem 0;
}
footer .footer_bottom .group{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 14.6rem;
    height: 3.3rem
}
footer .footer_bottom .copyright{
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    font-size: 1rem;
    letter-spacing: 0.03em;
}


.container{
    padding-top: 6.5rem;
}
.box{
}




/* top */
#wrapper.top .mv{
    width: 100%;
    height: 48.46vw;
    position: relative;
}
#wrapper.top .mv .image{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}
#wrapper.top .mv .slick-list,
#wrapper.top .mv .slick-track,
#wrapper.top .mv .image li,
#wrapper.top .mv .mv_box{
    width: 100%;
    height: 100%;
}
#wrapper.top .mv .image li{
    position: relative;
}
#wrapper.top .mv .mv_box.mv1{
    background: url(images/mv01.jpg) center / cover no-repeat;
}
#wrapper.top .mv .mv_box.mv2{
    background: url(images/mv02.jpg) center / cover no-repeat;
}
#wrapper.top .mv .mv_box.mv3{
    background: url(images/mv03.jpg) center / cover no-repeat;
}
#wrapper.top .ttl_box{
    position: absolute;
    top: 50%;
    left: 8.7rem;
    color: #fff;
    width: 39rem;
    transform: translateY(-50%);
    z-index: 2;
}
#wrapper.top .ttl_box h2{
    font-size: 3.4rem;
    line-height: 1.4;
    font-weight: 500;
    letter-spacing: 0.1rem;
}
#wrapper.top .ttl_box h2 .en{
    font-size: 1.2rem;
    font-weight: 400;
    letter-spacing: 0.45rem;
    margin: 2.5rem 0;
}
#wrapper.top .mv .txt{
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.1rem;
}
#wrapper.top .mv .sns{
    display: none;
    position: absolute;
    top: 50%;
    left: 1.5rem;
    transform: translateY(-50%);
    z-index: 2;
}
#wrapper.top .mv .sns li + li{
    margin-top: 2.1rem;
}
#wrapper.top .mv .slick-dotted.slick-slider{
    margin: 0;
}
#wrapper.top .mv .slick-dots{
    bottom: 3.2rem;
    right: 10rem;
    width: 5.6rem;
    margin: 0;
    display: flex;
    gap: 2.4rem;
}
#wrapper.top .mv .slick-dots li{
    margin: 0;
}
#wrapper.top .mv .slick-dots li button{
    width: 1.6rem;
    height: 1.6rem;
}
#wrapper.top .mv .slick-dots li button:before{
    content: "";
    background: #fff;
    border-radius: 50%;
    width: 1.6rem;
    height: 1.6rem;
    opacity: 1;
}
#wrapper.top .mv .slick-dots li.slick-active button:before{
    background: #0b58a0;
}
#wrapper.top .news{
    height: 11rem;
    position: relative;
}
#wrapper.top .news .news_box{
    background: #0b58a0;
    color: #fff;
    width: 60vw;
    max-width: 54rem;
    height: 16.5rem;
    position: relative;
    top: -10rem;
    left: 14rem;
    border-radius: .5rem 20rem 20rem .5rem;
    z-index: 3;
    padding: 5rem 12rem 3rem 4.2rem;
    align-items: center;
}
#wrapper.top .news .news_box .item{
    align-items: flex-start;
    justify-items: left;
    gap: 9px;
}
#wrapper.top .news .head{
    font-size: 1.2rem;
    gap: 0 1.6rem;
    align-items: center;
}
#wrapper.top .news .category{
    font-size: 1.0rem;
    padding: .3rem 1rem;
    border: .1rem solid #fff;
    position: absolute;
    top: -87px;
    left: 182px;
    background: #0b58a0;
    color: #fff;
    z-index: 4;
}
#wrapper.top .news .txt{
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.5;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-top: 0;
    max-width: 310px;
}
#wrapper.top .news .link{
    position: absolute;
    top: 50%;
    right: 5.5rem;
    width: 4.8rem;
    height: 4.8rem;
    transform: translateY(-50%);
}
#wrapper .contact_box a{
    position: fixed;
    top: 30rem;
    right: 1.5rem;
    display: block;
    width: 4rem;
    height: 22rem;
    border-radius: 2rem;
    background: #0b58a0 url(images/icon_tel.svg) center top 1.2rem / 2.4rem auto no-repeat;
    color: #fff;
    padding: 6rem 1.4rem 0;
    font-size: 1.2rem;
    font-weight: 500;
    z-index: 4500;
    line-height: 1.25;
}
#wrapper.page .contact_box a{
    top: 10rem;
}
#wrapper.top .business{
    position: relative;
}
#wrapper.top .business:before{
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 14.8rem;
    bottom: 0;
    z-index: -1;
    background: #F3F3F3;
}
#wrapper.top .business .section_ttl{
    position: absolute;
    top: 9rem;
    left: 9.8rem;
    font-size: 4.4rem;
    font-weight: 500;
    line-height: 1.1;
}
#wrapper.top .business .section_ttl .sub{
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.75;
    margin-top: 1.7rem;;
}
#wrapper.top .business .business_list{
    gap: 3.2rem 3.4rem;
    justify-content: center;
    padding: 17rem 0 9rem;
    max-width: 124rem;
    margin: 0 auto;
}
#wrapper.top .business .bnr{
    width: 90%;
    max-width: 57rem;
    margin: 0 auto 7rem;
}
#wrapper.top .business .business_list > li{
}
#wrapper.top .business .business_list > li:nth-child(1){
    margin-top: 7rem;
}
#wrapper.top .business .business_list > li:nth-child(2){
    margin-top: 0;
}
#wrapper.top .business .business_list > li:nth-child(3){
    margin-top: -7rem;
}
#wrapper.top .business .business_list > li:nth-child(5){
    margin-top: -7rem;
}
#wrapper.top .business .business_list > li:nth-child(6){
    margin-top: -14rem;
}
#wrapper.top .business .business_list a:before{
    content: "";
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(163.63deg, #FFFFFF 17.07%, rgba(255, 255, 255, 0) 56.85%);
}
#wrapper.top .business .business_list a{
    display: block;
    width: 38.9rem;
    height: 41.4rem;
    position:relative;
    overflow: hidden;
    border-radius: .5rem 2rem .5rem .5rem;
    box-shadow: 0px 0px 23px 0px rgba(0,0,0,0.26);
    background: #ccc;
}
#wrapper.top .business .business_list .img{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
#wrapper.top .business .business_list .img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#wrapper.top .business .business_list .ttl{
    position: absolute;
    top: 3rem;
    left: 3.2rem;
    right: 3.2rem;
    z-index: 3;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1;
    color: #0B58A0;
}
#wrapper.top .business .business_list .ttl .en{
    font-size: 1.2rem;
    font-weight: 400;
    margin-bottom: 1.4rem;
}
#wrapper.top .business .plastic .plastic_list .link,
#wrapper.top .business .business_list .link{
    position: absolute;
    z-index: 3;
    bottom: 1.6rem;
    right: 1.6rem;
    width: 8rem;
    height: 8rem;
    transition: background .2s ease-in;
}
#wrapper.top .business .plastic .plastic_list a:hover .link,
#wrapper.top .business .business_list a:hover .link{
    background-color: #fff;
    background-image: url(images/icon_arrow_b.svg);
}
#wrapper.top .business .plastic{
    position: relative;
    padding: 6.8rem 0 7.8rem;
    color: #fff;
}
#wrapper.top .business .plastic:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 3.3rem;
    z-index: 0;
    bottom: 0;
    background: url(images/top_business_plastic_bg.jpg) center / cover no-repeat;
    border-radius: 0 3rem .5rem 0;
}
#wrapper.top .business .plastic:after{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 3.3rem;
    z-index: 1;
    bottom: 0;
    background: rgba(11, 88, 160, 0.86);
    border-radius: 0 3rem .5rem 0;
}
#wrapper.top .business .plastic h4{
    position: relative;
    z-index: 2;
    padding-left: 10rem;
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 5.4rem;
}
#wrapper.top .business .plastic h4 .en{
    font-size: 1.2rem;
    font-weight: 400;
    margin-bottom: 1.4rem;
}
#wrapper.top .business .plastic .plastic_list{
    position: relative;
    z-index: 2;
    gap: 3.1rem;
    justify-content: center;
}
#wrapper.top .business .plastic .plastic_list > li{
    position: relative;
    width: 34.7rem;
    height: 19.1rem;
}
#wrapper.top .business .plastic .plastic_list > li a{
    display: block;
    width: 100%;
    height: 100%;
}
#wrapper.top .business .plastic .plastic_list > li a:after{
    content: "";
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(28.89deg, #0B58A0 6.65%, rgba(11, 88, 160, 0) 47.98%);
}
#wrapper.top .business .plastic .plastic_list .img{
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    overflow: hidden;
}
#wrapper.top .business .plastic .plastic_list .img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#wrapper.top .business .plastic .plastic_list .ttl{
    position: absolute;
    z-index: 3;
    left: 2.4rem;
    bottom: 2.4rem;
}
#wrapper.top .business .plastic .plastic_list h5{
    font-size: 1.8rem;
    line-height: 1;
    font-weight: 700;
}
#wrapper.top .business .plastic .plastic_list .en{
    font-size: 1.2rem;
    font-weight: 400;
    margin-bottom: 1.4rem;
}
#wrapper.top .whats .movie_box{
    width: 100%;
    height: 100vh;
    overflow: hidden;
    position: relative;
}
#wrapper.top .whats .movie_box .svg_box{
    width: 100%;
    height: 100vh;
    position: absolute;
    transform: scale(.25, .25);
    top: 0;
    z-index: 5;
}
@media screen and (max-width: 750px){
    #wrapper.top .whats .movie_box,
    #wrapper.top .whats .movie_box .svg_box{
        height: calc( 100vh - 6.5rem);
    }
}
#wrapper.top .whats .movie_box .svg_box img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#wrapper.top .whats .movie_box .img_box{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
    overflow: hidden;
}
#wrapper.top .whats .movie_box .img_box video{
    height: 57.5%;
    min-height: 58rem;
    width: 100%;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate( -50%, -50%);
    object-fit:cover;
}
#wrapper.top .whats .logo_box{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    z-index: 1;
    max-width: 40.7rem;
    width: 65vw;
}
#wrapper.top .whats_txt{
    transition: opacity .35s ease-in;
    opacity: 0;
    position: absolute;
    left: 50%;
    top: 52.5%;
    transform: translate(-50%,-50%);
    z-index: 1;
    color: #fff;
    text-align: center;
    font-weight: 500;
    font-size: 2.8rem;
    line-height: 1.5;
    white-space: nowrap;
}
#wrapper.top .whats_txt.enable{
    opacity: 1;
}
#wrapper.top .link_about{
    position: absolute;
    left: calc( 50vw + 25rem);
    top: 50%;
    transform: translateY(-50%);
    max-width: 8rem;
    width: 20vw;
    z-index: 10;
}
#wrapper.top .link_about a{
    position: relative;
    background: #0B58A0;
    text-decoration: none !important;
    display: block;
    border-radius: 50%;
    aspect-ratio: 1;
    transition: all .35s ease-in;
}
#wrapper.top .link_about.enable a{
    background-color: #fff;
}
#wrapper.top .link_about svg{
    display: block;
    width: 1.875rem;
    height: 1rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transition: all .35s ease-in;
    transform: translate(-50%,-50%);
}
#wrapper.top .link_about svg path{
    fill: #fff;
    transition: all .35s ease-in;
}
#wrapper.top .link_about.enable svg path{
    fill: #0B58A0;
}
#wrapper.top .whats .movie_bnr{
    width: 90%;
    max-width: 78.2rem;
    margin: 5rem auto 8rem;;
}

#wrapper.top .card{
    position:relative;
}
#wrapper.top .card > *{
    position: sticky;
}
#wrapper.top .card .brand{
    z-index: 1;
    top: 6.5rem; 
    height: 55rem;
}
#wrapper.top .card .catalog{
    z-index: 2;
    top: 18.5rem; 
    height: 50.2rem;
}
#wrapper.top .card .movie{
    z-index: 3;
    top: 28.5rem; 
    height: 50.2rem;
}
#wrapper.top .card .box{
    position: relative;
    height: 100%;
}
#wrapper.top .card .box:before{
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 9.8rem;
    bottom: 0;
    background: url(images/top_brand_bg.png) center top / cover no-repeat;
    z-index: -2;
    border-radius: 0 3rem 3rem 0;
    box-shadow: 0px 0px 23px 0px rgba(0, 0, 0, 0.15);
}
#wrapper.top .card > *:nth-child(2n) .box:before{
    left: 9.8rem;
    right: 0;
    border-radius: 3rem 0 0 3rem;
}
#wrapper.top .card > *:nth-child(2) .box:before{
    background: url(images/top_catalog_bg.png) center top / cover no-repeat;
}
#wrapper.top .card > *:nth-child(3) .box:before{
    background: url(images/top_movie_bg.png) center top / cover no-repeat;
}
#wrapper.top .card > *:nth-child(2) .box:before{
    top: -3rem;
}
#wrapper.top .card > *:nth-child(3) .box:before{
    top: -3rem;
}
#wrapper.top .card h3{
    text-align: center;
    font-size: 4.4rem;
    font-weight: 500;
    line-height: 1.1;
}
#wrapper.top .card h3 .sub{
    font-size: 1.2rem;
    margin-top: 2rem;
}
#wrapper.top .card .brand .box{
    color: #fff;
    text-align: center;
    padding: 8rem 0 0;
}
#wrapper.top .card .brand .flex{
    justify-content: center;
    gap: 2.4rem 5.8rem;
    margin-top: 5.6rem;
}
#wrapper.top .card .brand .flex > li{
    width: 36.2rem ;
}
#wrapper.top .card .catalog .box{
    height: 100%;
}
#wrapper.top .card .catalog .box > *{
    width: calc(100% - 9.8rem);
    margin: 0 0 0 auto;
}
#wrapper.top .card .catalog h3{
    padding: 2rem 0 0;
}
#wrapper.top .card .catalog .list_wrap{
    margin-top: 5.7rem !important;
    padding: 3.3rem 6rem 0 0 !important;
    border-top: 1px solid rgba(57, 57, 57, 1);
}
#wrapper.top .card .catalog .splide__arrows{
    position: absolute;
    top: -5rem;
    right: 13rem;
}
#wrapper.top .card .catalog .splide__arrows button{
    width: 4.8rem;
    height: 4.8rem;
    border: 1px solid #393939;
    background: transparent url(images/icon_arrow_g.svg) center / 1.1rem auto no-repeat;
    left: 0;
    right: unset;
}
#wrapper.top .card .catalog .splide__arrows button.splide__arrow--prev{
    background: transparent url(images/icon_arrow_back_g.svg) center / 1.1rem auto no-repeat;
    right: 0;
    left: unset;
    margin-right: 1.7rem;
}
#wrapper.top .card .catalog.movie .splide__arrows button{
    border: 1px solid #fff;
    background: transparent url(images/icon_arrow_w.svg) center / 1.1rem auto no-repeat;
}
#wrapper.top .card .catalog.movie .splide__arrows button.splide__arrow--prev{
    background: transparent url(images/icon_arrow_back_w.svg) center / 1.1rem auto no-repeat;
}
#wrapper.top .card .catalog .splide__arrows svg{
    display: none;
}
#wrapper.top .card .catalog .catalog_list{
}
#wrapper.top .card .catalog .catalog_list:before{
    content: "";
    display: block;
    clear: both;
}
#wrapper.top .card .catalog .catalog_list li{
    width: 30rem !important;
    margin-left: 3.4rem;
    opacity: 1 !important;
}
#wrapper.top .card .catalog li.last{
    width: 11.7rem !important;
    height: 21rem;
    background: #0B58A0;
    color: #fff;
    border-radius: 0.5rem;
}
#wrapper.top .card .catalog li.last a{
    position: relative;
    height: 100%;
    display: block;
}
#wrapper.top .card .catalog li.last span{
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    font-weight: 500;
    font-size: 1.3rem;
    line-height: 1.5;
    text-align: center;
}
#wrapper.top .card .catalog li.last i{
    display: block;
    width: 1.5rem;
    height: .75rem;
    margin: 0 auto 1rem;
    background: url(images/icon_arrow_w.svg) center / contain no-repeat;
}
#wrapper.top .card .catalog.movie li.last{
    background: #fff;
    color: #0B58A0;

}
#wrapper.top .card .catalog.movie li.last i{
    background: url(images/icon_arrow_b.svg) center / contain no-repeat;
}
#wrapper.top .card .movie video{
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    padding: 2rem;
    z-index: 1;
}
#wrapper.top .card .catalog .img{
    width: 100%;
    height: 21rem;
    background: #fff;
    border-radius: .5rem;
    padding: 2rem;
}
#wrapper.top .card .catalog .img img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}
#wrapper.top .card .movie .img img{
    width: 100%;
    height: 100%;
    object-fit: contain;
    position: relative;
    z-index: 2;
    background-color: #fff;
}
#wrapper.top .card .catalog .new .icon{
    display: none;
}
#wrapper.top .card .catalog .new .icon{
    display: block;
    position: absolute;
    z-index: 10;
    top: -2.7rem;
    right: 1.5rem;
    border-radius: 50%;
    width: 5.4rem;
    height: 5.4rem;
    background: #0B58A0;
    color: #fff;
    text-align: center;
    line-height: 1.95;
    font-size: 1rem;
    font-weight: 500;
    padding: 1.7rem 0;
}
#wrapper.top .card .catalog .ttl{
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.5;
    padding: 1.4rem 0;
}
#wrapper.top .card .catalog .ttl span{
    display: none;
}
#wrapper.top .card .catalog .new_arrival .ttl span{
    display: inline-block;
    margin-left: 0.5rem;
    color: #FF6D6D;
    font-weight: 700;
}
#wrapper.top .card .catalog .link .btn{
    max-width: 40rem;
    width: 80%;
    margin: 5.5rem auto 0;
}
#wrapper.top .card .catalog.movie .box > * {
    margin: 0;
    color: #fff;
}
#wrapper.top .card .catalog.movie .list_wrap{
    border-color: #fff;
}
#wrapper.top .card .catalog.movie .new .icon{
    background: #B5E0F9;
    color: #393939;
}
#wrapper.top .bottom{
    padding: 12rem 0 11rem;
}
#wrapper.top .bottom .flex{
    gap: 3rem;
    justify-content: center;
}
#wrapper.top .bottom .flex > div{
    width: 50.3rem;
    background: #fff;
    border-radius: .5rem;
    padding:1.4rem 6rem 6.5rem;
    box-shadow: 0px 16px 23px 0px rgba(0, 0, 0, 0.06);
}
#wrapper.top .bottom .flex .ttl{
    height: 12.8rem;
    position: relative;
}
#wrapper.top .bottom .flex h3{
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    color: #0B58A0;
    font-size: 4.4rem;
    line-height: 1;
    font-weight: 500;
}
#wrapper.top .bottom .flex h3 .sub{
    font-size: 1.2rem;
    line-height: 1.75;
    margin-top: 2rem;
}
#wrapper.top .bottom .flex .img{
    margin: 4rem 0;
}
#wrapper.top .bottom .flex .txt{
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 180%;
    margin: 0 0 5rem;
}

#wrapper.page{
}
#wrapper.page .mv{
    position: relative;
    width: 100%;
    height: 31rem;
}
#wrapper.page .mv.form{
    position: relative;
    width: 100%;
    height: 13.5rem;
}
#wrapper.page .mv:before{
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    opacity: .8;
    background: rgba(11, 88, 160, 1);
    backdrop-filter: blur(28.4px);
}
#wrapper.page .mv.form:before{
    display: none;
}
#wrapper.page .mv .img{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    background: center / cover no-repeat;
}
#wrapper.page .mv .breadcrumb{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4.6rem;
    z-index: 3;
    padding: 1.3rem 3rem;
    color: #fff;
    font-size: 1.2rem;
    line-height: 1.625;
    font-weight: 500;
}
#wrapper.page .mv .breadcrumb ul{
    display: flex;
    gap: 0.5rem 1rem;
    white-space: nowrap;
    flex-wrap: wrap;
}
#wrapper.page .mv .breadcrumb ul li:not(:last-child):after{
    content: "";
    display: inline-block;
    width: .5rem;
    height: 1.95rem;
    margin-left: .75rem;
    vertical-align: -.5rem;
    background: url(images/icon_chevron_w.svg) center / contain no-repeat;
}
#wrapper.page .mv.form .breadcrumb{
    color: #393939;
}
#wrapper.page .mv.form .breadcrumb ul li:not(:last-child):after{
    background: url(images/icon_chevron_g.svg) center / contain no-repeat;
}
#wrapper.page .mv .ttl{
    position: absolute;
    top: 50%;
    left: 9.8rem;
    transform: translateY(-50%);
    z-index: 3;
    color: #fff;
    font-weight: 500;
    font-size: 4rem;
    line-height: 1.4;
}
#wrapper.electronic .mv .ttl h2{
    positiona :relative;
    padding-right: 15rem;
}
#wrapper.electronic .mv .ttl h2 .code{
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 1.3;
}

/* お問合せ */
#wrapper.contact .mv .img{
    background-image: url(images/contact_mv.jpg);
}
#wrapper.contact .catalog_blc,
#wrapper.contact .form_blc{
    padding: 5.5rem 3rem;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.9;
    letter-spacing: .1rem;
    text-align: center;
    border-radius: .5rem;
    margin-top: 4rem;
}
#wrapper.contact .catalog_blc .btn,
#wrapper.contact .form_blc .btn{
    max-width: 36rem;
    margin: 3.2rem auto 0;
}
#wrapper.contact .form_blc{
    background: #0B58A0;
    color: #fff;
}
#wrapper.contact .catalog_blc{
    background: #EFF9FF;
}

/* 会社概要 */
#wrapper.outline .mv .img{
    background-image: url(images/outline_mv.jpg);
}
#wrapper.outline .inner{
    width: 90%;
    max-width: 80rem;
}
#wrapper.outline .inner > .title_blc h3{
    text-align: left;
}
#wrapper.outline .history ul li{
    position: relative;
}
#wrapper.outline .history ul li:before{
    content: "";
    display: block;
    position: absolute;
    top: 3.5rem;
    left: 0.7rem;
    bottom: 0;
    width: 1px;
    background: #E5E2E2;
}
#wrapper.outline .history ul li:after{
    content: "";
    display: block;
    position: absolute;
    top: 1.2rem;
    left: 0;
    width: 1.5rem;
    height: 1.5rem;
    background: #0B58A0;
    border-radius: 50%;
}
#wrapper.outline .history .year{
    position: relative;
    padding: 0 0 0 7.8rem;
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 1px;
    color: #0B58A0;
}
#wrapper.outline .history .year:before{
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 2.3rem;
    transform: translateY(-50%);
    height: 1px;
    width: 4.7rem;
    background: #0B58A0;
}
#wrapper.outline .history .year:after{
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 14.7rem;
    right: 0;
    transform: translateY(-50%);
    height: 1px;
    background: #e2e2e2;
}
#wrapper.outline .history .txt{
    padding: 3.4rem 0 3.4rem 8.54rem;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.385;
    letter-spacing: 1px;
}
#wrapper.outline .history .txt.img{
    position: relative;
}
#wrapper.outline .history .history_img{
    position: absolute;
    z-index: 3;
}
#wrapper.outline .history .history_img.year1935{
    top: -6.5rem;
    left: 30.4rem;
    width: 18.7rem;
}
#wrapper.outline .history .history_img.year1953{
    top: -3.05rem;
    left: 57rem;
    width: 18.7rem;
}
#wrapper.outline .history .history_img.year1954{
    top: -6.45rem;
    left: 37.9rem;
    width: 15.2rem;
}
#wrapper.outline .history .history_img.year1973{
    top: -3.45rem;
    left: 65.5rem;
    width: 12.4rem;
}
#wrapper.outline .history .history_img.year1993{
    top: -4.45rem;
    left: 53.3rem;
    width: 17.1rem;
}
#wrapper.outline .history .history_img.year2002{
    top: -4.85rem;
    left: 48.3rem;
    width: 7rem;
}
#wrapper.outline .history .history_img.year2011{
    top: -3.05rem;
    left: 36.9rem;
    width: 15.3rem;
}
#wrapper.outline .history .history_img.year2021{
    top: -6.45rem;
    left: 47.2rem;
    width: 21.3rem;
}
#wrapper.outline .history .history_img.year2025{
    top: -2.45rem;
    left: 39rem;
    width: 23.6rem;
    border: 1px solid #dadada;
    background-color: #fff;
    padding: 20px;
}

/* 採用情報 */
#wrapper.recruit .mv .img{
    background-image: url(images/recruit_mv.jpg);
}
#wrapper.recruit main{
    padding: 0;
}
#wrapper.recruit .recruit_menu{
    width: 100%;
    height: 48.845vw;
}
#wrapper.recruit .recruit_menu > *{
    width: 50%;
    height: 100%;
    position: relative;
}
#wrapper.recruit .recruit_menu .img{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}
#wrapper.recruit .recruit_menu .img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#wrapper.recruit .recruit_menu > *:before{
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    backdrop-filter: blur(25px);
    background: rgba(0, 0, 0, 0.4);
}
#wrapper.recruit .recruit_menu .txt{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: 3;
    text-align: center;
    width: 28.5rem;
    color: #fff;
}
#wrapper.recruit .recruit_menu h3{
    font-size: 4.4rem;
    font-weight: 500;
    line-height: 1.1;
}
#wrapper.recruit .recruit_menu .sub{
    font-size: 1.2rem;
    line-height: 1.625;
    margin-top: 1.6rem;
}
#wrapper.recruit .recruit_menu h3 + p{
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 2;
    letter-spacing: .1rem;
    margin: 5.6rem 0 2.8rem;
}

/* 採用情報 - 新卒採用 */
#wrapper.recruit-new-grad .mv{
    height: 48rem;
}
#wrapper.recruit-new-grad .mv:before{
    background: rgba(0, 0, 0, 0.4);
    backdrop-filter: none;
}
#wrapper.recruit-new-grad .mv .img{
    background-image: url(images/recruit_img01.jpg);
}
#wrapper.recruit-new-grad .mv .ttl{
    top: unset;
    left: 50%;
    bottom: 6.7rem;
    transform: translateX(-50%);
    font-size: 6rem;
    font-weight: 500;
    line-height: 0.8;
    white-space: nowrap;
    text-align: center;
}
#wrapper.recruit-new-grad .mv .ttl .sub{
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.1;
    margin-bottom: 2.6rem;
}
#wrapper.recruit-new-grad .inner .title_blc > h3{
    min-width: 13.6rem;
}
#wrapper.recruit-new-grad ul.list.flex{
    gap: .5rem 0;
}
#wrapper.recruit-new-grad ul.list.flex li{
    width: 10rem;
}
#wrapper.recruit-new-grad ul.list.flex li:nth-child(2n){
    width: calc( 100% - 10rem );
}
#wrapper.recruit-new-grad ul.list.vertical li + li{
    margin-top: 1.75rem;
}
#wrapper.recruit-new-grad ul.list li:before{
    content: "〇";
    display: inline-block;
    margin-right: .2rem;
}
#wrapper.recruit-new-grad ul.list.work li:before{
    content: "◆";
    display: inline-block;
    margin-right: .2rem;
}
#wrapper.recruit-new-grad ul.list.work li{
    text-indent: -0.7em;
    padding-left: 1.2em;
}
#wrapper.recruit-new-grad .note{
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5;
}
#wrapper.recruit-new-grad ul.work + .note{
    margin-top: 1rem;
}
#wrapper.recruit-new-grad .entry_blc{
    padding: 3.5rem .2rem .2rem;
    text-align: center;
    border-radius: .5rem;
    margin-top: 4rem;
    background: #0B58A0;
    color: #fff;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5;
}
#wrapper.recruit-new-grad .entry_blc .btn{
    max-width: 32.7rem;
    margin: 0 auto 1.6rem;
}
#wrapper.recruit-new-grad .entry_blc .btn + p{
    margin: 0 0 3.9rem;
}
#wrapper.recruit-new-grad .entry_blc .attention{
    background: #fff;
    color: #393939;
    border-radius: 0 0 .4rem .4rem;
    padding: 2rem 4.5rem;
    text-align: left;
}
#wrapper.recruit-new-grad .entry_blc .attention .flex{
    gap: 2rem 3.5rem;
}
#wrapper.recruit-new-grad .entry_blc .attention .ex{
    width: 28.5rem;
}
#wrapper.recruit-new-grad .entry_blc .attention .somu{
    width: 20rem;
    font-family: Zen Kaku Gothic New;
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: .1rem;
}
#wrapper.recruit-new-grad .entry_blc .attention .somu p{
    font-size: 200%;
    line-height: 1;
    letter-spacing: 0;
}

/*事業所案内*/
#wrapper.office .mv .img{
    background-image: url(images/office_mv.jpg);
}
#wrapper.office .map{
    position: relative;
}
#wrapper.office .map .arrow a{
    position: absolute;
    display: block;
    width: 3.6%;
    aspect-ratio: 1;
    background: #fff;
    border-radius: 50%;
    transform: translate(0,0);
    line-height: 3.6%;
    text-align: center;
}
#wrapper.office .map .arrow .sales{
    background: #0b58a0;
}
#wrapper.office .map .arrow .manage{
    background: #393939;
}
#wrapper.office .map .arrow .factory{
    background: #a08c0c;
}
#wrapper.office .map .arrow a[href="#soshu"]{
    left: 20.2186%;
    top: 26.598%;
}
#wrapper.office .map .arrow a[href="#aiduwakamatsu"]{
    left: 37.865%;
    top: 41.99%;
}
#wrapper.office .map .arrow a[href="#aidu"]{
    left: 37.865%;
    top: 47.1768%;
}
#wrapper.office .map .arrow a[href="#niigata"]{
    left: 37.865%;
    top: 53.0201%;
}
#wrapper.office .map .arrow a[href="#hokuriku"]{
    left: 37.865%;
    top: 59.0%;
}
#wrapper.office .map .arrow a[href="#osaka"]{
    left: 27.7019%;
    top: 67.8002%;
}
#wrapper.office .map .arrow a[href="#material_1"]{
    left: 32.4793%;
    top: 67.8002%;
}
#wrapper.office .map .arrow a[href="#wakayama"]{
    left: 27.7019%;
    top: 76.3515%;
}
#wrapper.office .map .arrow a[href="#nagoya"]{
    left: 27.7019%;
    top: 84.7008%;
}
#wrapper.office .map .arrow a[href="#tanakura"]{
    left: 78.9993%;
    top: 45.7761%;
}
#wrapper.office .map .arrow a[href="#furukawa"]{
    left: 78.9993%;
    top: 51.8262%;
}
#wrapper.office .map .arrow a[href="#resin"]{
    left: 78.9993%;
    top: 56.9586%;
}
#wrapper.office .map .arrow a[href="#yachiyo_office"]{
    left: 78.9993%;
    top: 62.8587%;
}
#wrapper.office .map .arrow a[href="#yachiyo_factory"]{
    left: 78.9993%;
    top: 68.0941%;
}
#wrapper.office .map .arrow a[href="#main_office"]{
    left: 65.924%;
    top: 74.3588%;
}
#wrapper.office .map .arrow a[href="#material_2"]{
    left: 78.9993%;
    top: 79.6065%;
}
#wrapper.office .map .arrow a[href="#tableware"]{
    left: 78.9993%;
    top: 74.3588%;
}
#wrapper.office .map .arrow a[href="#electronic_material"]{
    left: 78.9993%;
    top: 84.7888%;
}
#wrapper.office .map .arrow svg{
    width: 26%;
    aspect-ratio: 1.53333;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
#wrapper.office .map .arrow svg path{
    fill: #fff;
}
#wrapper.office main{
    padding: 0 0 14.4rem;
}
#wrapper.office #factory .inner > .title_blc h3{
    background: #A08C0B;
}
#wrapper.office #management .inner > .title_blc h3{
    background: #393939;
}
#wrapper.office .inner{
    max-width: 98rem;
}
#wrapper.office .inner > .title_blc h3.sales_sec{
    background: #0B58A0;
}
#wrapper.office .inner > .title_blc h3.manufacture_sec{
    background: #A08C0B;
}
#wrapper.office .inner > .title_blc h3.manage_sec{
    background: #393939;
}
#wrapper.office .inner .main_blc{
    width: calc(100% - 17rem);
}
#wrapper.office .main_blc .flex{
    gap: 1rem 0;
}
#wrapper.office .main_blc .flex + .flex{
    margin-top: 8rem;
}
#wrapper.office .main_blc .data{
    width: 52.5rem;
}
#wrapper.office .main_blc .map.img{
    padding-top: 3.2rem;
    padding-left: 3.2rem;
    border-top: 0.1rem solid #e5e2e2;
}
#wrapper.office .main_blc dt{
    color: #0B58A0;
    font-size: 1.7rem;
    letter-spacing: .2rem;
}
#wrapper.office .main_blc dt p{
    font-size: 75%;
    margin: .55rem 0 1rem;
}
#wrapper.office .main_blc dt .modal_trg{
    display: block;
    width: 11.3rem;
    height: 2.6rem;
    border-radius: 1.3rem;
    font-weight: 500;
    font-size: 1.3rem;
    line-height: 1.25;
    text-align: center;
    padding: .4rem;
    background: #0B58A0;
    cursor: pointer;
    position: relative;
    color: #fff;
    margin-top: .5rem;
}
#wrapper.office .main_blc dt .modal_trg:after{
    content: "";
    display: block;
    width: .923rem;
    height: .923rem;
    position: absolute;
    right: .874rem;
    top: 50%;
    transform: translateY(-50%);
    background: url(images/icon_plus_w.svg) center / contain no-repeat;
}
#wrapper.office .main_blc dd{
    font-weight: 500;
    font-size: 1.3rem;
    line-height: 1.75;
    letter-spacing: .1rem;
}
#wrapper.office .main_blc .dl_table dd a{
    color: #0B58A0;
    text-decoration-color:  #0B58A0;
}
#wrapper.office .main_blc .equip{
    margin-bottom: 2rem;
}
#wrapper.office .main_blc .equip dl{
    display: flex;
}
#wrapper.office .main_blc .equip dl dt,
#wrapper.office .main_blc .equip dl dd{
    font-weight: inherit;
    font-size: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    color: inherit;
    border: none;
    padding: 0;
}
#wrapper.office .main_blc .equip dl dt{
    width: 5.5em;
}
#wrapper.office .main_blc .equip dl dd{
    width: calc( 100% - 5.5em );
}
#wrapper.office .modal_contents h4{
    border-bottom: 1px solid #0B58A0;
    padding: 0 0 1.6rem;
    font-weight: 500;
    font-size: 1.7rem;
    line-height: 1.2;
    text-align: center;
    margin-bottom: 4rem;
    color: #0B58A0;
}
#wrapper.office .modal_contents p{
    font-weight: 500;
    font-size: 1.3rem;
    line-height: 1.5;
}
#wrapper.office .modal_contents ul li{
    text-indent: -2.5em;
    padding-left: 2.5em;
}

/* 商品紹介動画 */
#wrapper.movie .mv .img{
    background-image: url(images/item_mv.png);
}
#wrapper.catalog .mv .img{
    background-image: url(images/catalog_mv.jpg);
}
#wrapper.checklist .item_wrap,
#wrapper.search .item_wrap,
#wrapper.catalog .item_wrap,
#wrapper.movie .item_wrap{
    width: 90%;
    max-width: 110rem;
    margin: 0 auto;
    gap: 3rem 5rem;
}
#wrapper.catalog .item_wrap .nav_blc,
#wrapper.movie .item_wrap .nav_blc{
    width: 19rem;
    position: relative;
}
#wrapper.catalog .item_wrap .nav_blc > .box,
#wrapper.movie .item_wrap .nav_blc > .box{
    position: sticky;
    top: 6.5rem;
}
#wrapper.catalog .category,
#wrapper.movie .category{
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 1.75;
}
#wrapper.catalog .category h3,
#wrapper.movie .category h3{
    border-top: 1px solid #393939;
    padding: 1.4rem 1rem;
}
#wrapper.catalog .category li,
#wrapper.movie .category li{
    border-radius: .4rem;
    cursor: pointer;
}
#wrapper.catalog .category li a,
#wrapper.movie .category li a{
    display: block;
    width: 100%;
    height: 100%;
    padding: .25rem 1rem;
}
#wrapper.catalog .category li + li,
#wrapper.movie .category li + li{
    margin-top: .5rem;
}
#wrapper.catalog .category li:hover,
#wrapper.movie .category li:hover{
    background: #eee;
}
#wrapper.catalog .category li.active,
#wrapper.movie .category li.active{
    color: #fff;
    background: #0B58A0;
}
#wrapper.catalog .nav_blc .new_arrival_icon,
#wrapper.movie .nav_blc .new_arrival_icon{
    text-align: right;
    font-weight: 500;
    font-size: 1.1rem;
    line-height: 1.8;
}
#wrapper.catalog .nav_blc .new_arrival_icon span,
#wrapper.movie .nav_blc .new_arrival_icon span{
    color: #FF6D6D;
    font-weight: 700;
    font-size: 1.5rem;
}
#wrapper.search .submit button,
#wrapper.search .nav_blc .catalog a,
#wrapper.catalog .nav_blc .movie a,
#wrapper.movie .nav_blc .catalog a{
    display: block;
    border-radius: 0.5rem;
    padding: .7rem 3.5rem 1.6rem;
    background: #B5E0F9 url(images/icon_arrow_g.svg) right 1.3rem center / 1.1rem auto no-repeat;
    text-align: center;
    font-weight: 500;
    font-size: 2.4rem;
    margin-top: 5rem;
}
#wrapper.catalog .nav_blc .movie a{
    background: #0B58A0 url(images/icon_arrow_w.svg) right 1.3rem center / 1.1rem auto no-repeat;
    color: #fff;
}
#wrapper.search .submit h5,
#wrapper.search .nav_blc .catalog h5,
#wrapper.catalog .nav_blc .movie h5,
#wrapper.movie .nav_blc .catalog h5{
    line-height: 2;
}
#wrapper.search .submit p,
#wrapper.search .nav_blc .catalog p,
#wrapper.catalog .nav_blc .movie p,
#wrapper.movie .nav_blc .catalog p{
    font-size: 50%;
    line-height: 1.75;
}
#wrapper.catalog .item_wrap .main_blc,
#wrapper.movie .item_wrap .main_blc{
    width: calc( 100% - 24rem );
}
#wrapper.catalog .main_blc .list .flex,
#wrapper.movie .main_blc .list .flex{
    gap: 4.9rem;
}
#wrapper.catalog .main_blc .list .flex > li,
#wrapper.movie .main_blc .list .flex > li{
    width: calc( (100% - 9.8rem) / 3);
}
#wrapper.catalog .list .img,
#wrapper.movie .list .img{
    aspect-ratio: 1.2095;
    border: 1px solid #DCDCDC;
    background: #fff;
    border-radius: .5rem;
    padding: 0rem;
    position: relative;
}
#wrapper.movie .list .img:has(video){
    position: relative;
}
#wrapper.movie .list .img video{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    right: 0;
    width: 100%;
    z-index: 1;
    padding: 2rem;
}
#wrapper.catalog .list .img img,
#wrapper.movie .list .img img{
    display: block;
    border: none;
    width: 100%;
    height: 100%;
    aspect-ratio: unset;
    object-fit: contain;
    position: relative;
    z-index: 2;
    background: #fff;
    padding: 1rem;

}
#wrapper.catalog .list .txt,
#wrapper.movie .list .txt{
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 1.65;
    margin: 1.4rem 0 3rem;
    border-bottom: 1px solid #393939;
    padding: 0 0 .4rem;
}
#wrapper.catalog .list .txt.new_arrival span:after,
#wrapper.movie .list .txt.new_arrival span:after{
    content: "*";
    display: inline;
    color: #FF6D6D;
    font-weight: 700;
    font-size: 1.5rem;
}
#wrapper.checklist .pickup,
#wrapper.search .pickup,
#wrapper.catalog .pickup,
#wrapper.movie .pickup{
    margin-top: 15rem;
}
#wrapper.checklist .pickup h3,
#wrapper.search .pickup h3,
#wrapper.catalog .pickup h3,
#wrapper.movie .pickup h3{
    font-weight: 500;
    font-size: 4.4rem;
    line-height: 1.1;
}
#wrapper.checklist .pickup h3 .sub,
#wrapper.search .pickup h3 .sub,
#wrapper.catalog .pickup h3 .sub,
#wrapper.movie .pickup h3 .sub{
    font-size: 1.2rem;
    line-height: 1.75;
    margin-top: 2rem;
}
#wrapper.checklist .pickup .flex,
#wrapper.search .pickup .flex,
#wrapper.catalog .pickup .flex,
#wrapper.movie .pickup .flex{
    margin-top: 5.6rem;
    gap: 3rem 4.5rem;
}
#wrapper.checklist .pickup .flex li,
#wrapper.search .pickup .flex li,
#wrapper.catalog .pickup .flex li,
#wrapper.movie .pickup .flex li{
    width: calc( ( 100% - 9rem ) / 3);

}



/* 台和の強み */
#wrapper.strengths .mv{
    height: 42.8rem;
}
#wrapper.strengths .mv h3{
    color: #fff;
    font-weight: 500;
    font-size: 6.95rem;
    line-height: 1.2;
    position: absolute;
    bottom: 3%;
    left: 0;
    right: 0;
    text-align: center;
    z-index: 3;
}
#wrapper.strengths .mv .img{
    background: url(images/about_daiwa_mv.jpg) center / cover no-repeat;
}
#wrapper.strengths main{
    padding-bottom: 0;
    overflow: hidden;
}
#wrapper.strengths main .image{
    position: relative;
    height: 64rem;
    margin: 10rem 0 18rem;
}
#wrapper.strengths main .base{
    width: 76.7rem;
    height: 52.1rem;
    background: url(images/about_daiwa_feature_base.png) center / contain no-repeat;
    position: absolute;
    z-index: 2;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}
#wrapper.strengths main .image .icon_box{
    position: relative;
    width: 100%;
    height: 100%;
}
#wrapper.strengths main .image .icon{
    position: absolute;
    width: 12.3rem;
    height: 12.3rem;
    border-radius: 50%;
	-webkit-animation: text-shadow-drop-br 0.6s both;
	        animation: text-shadow-drop-br 0.6s both;
}
#wrapper.strengths main .image .icon.logo{
    background: url(images/about_daiwa_feature.png) center / contain no-repeat;
    width: 25rem;
    height: 25rem;
    left: 25.6rem;
    top: 2.4rem;
}
#wrapper.strengths main .image .icon.plan{
    background: url(images/about_daiwa_feature01.png) center / contain no-repeat;
    left: 1.5rem;
    top: 17.6rem;
}
#wrapper.strengths main .image .icon.production{
    background: url(images/about_daiwa_feature02.png) center / contain no-repeat;
    left: 19.35rem;
    top: 36.3rem;
}
#wrapper.strengths main .image .icon.sale{
    background: url(images/about_daiwa_feature03.png) center / contain no-repeat;
    left: 45.2rem;
    top: 36.2rem;
}
#wrapper.strengths main .image .icon.customer{
    background: url(images/about_daiwa_feature04.png) center / contain no-repeat;
    left: 62.7rem;
    top: 17.7rem;
}
#wrapper.strengths main .image .roop{
    overflow: hidden;
    display: flex;
    margin-inline: calc(50% - 50vw);
}
#wrapper.strengths main .image .roop{
    position: absolute;
    top: 3rem;
    left: 0;
    right: 0;
    z-index: 1;
    flex-shrink: 0;
    white-space: nowrap;
    font-weight: 700;
    font-size: 9rem;
    line-height: 1.2;
    letter-spacing: 0px;
    padding-inline: .1em;
    color: #ccc;
    flex-shrink: 0;
}
#wrapper.strengths main .image .txt{
    position: absolute;
    opacity: 0;
}
#wrapper.strengths main .image .txt h4{
    font-weight: 700;
    font-size: 3.4rem;
    line-height: 1.2;
    letter-spacing: 1rem;
    text-align: center;
    margin-bottom: 1rem;
    white-space: nowrap;
}
#wrapper.strengths main .image .txt p{
    font-weight: 500;
    font-size: 1.3rem;
    line-height: 1.4;
    letter-spacing: .1rem;
    text-align: center;
    white-space: nowrap;
    color: #393939;
}
#wrapper.strengths main .image .txt.plan{
    top: 35.1rem;
    left: -7.7rem;
    color: #00C4EF;
    animation: text-display .75s .5s ease-out both;
}
#wrapper.strengths main .image .txt.production{
    top: 54.1rem;
    left: 14.9rem;
    color: #11A2F0;
    animation: text-display .75s .75s ease-out both;
}
#wrapper.strengths main .image .txt.sale{
    top: 54.1rem;
    left: 45.3rem;
    color: #3678E3;
    animation: text-display .75s 1s ease-out both;
}
#wrapper.strengths main .image .txt.customer{
    top: 37.2rem;
    left: 66.3rem;
    color: #734CC8;
    animation: text-display .75s 1.25s ease-out both;
}
#wrapper.strengths main .image .roop .roop_txt{
}
#wrapper.strengths main .image .roop .roop_txt:nth-child(odd){
    animation: MoveLeft 24s -12s infinite linear; /*24秒かけて-12秒後に無限ループさせる*/
}
#wrapper.strengths main .image .roop .roop_txt:nth-child(even){
    animation: MoveLeft2 24s infinite linear; /*24秒かけて無限ループさせる*/
}
#wrapper.strengths main .point{
    padding: 13rem 0 17rem;
    background: #0B58A0;
    color: #fff;
}
#wrapper.strengths main .point h3{
    font-weight: 500;
    font-size: 4.4rem;
    line-height: 1.1;
    margin-bottom: 10rem;
    text-align: center;
}
#wrapper.strengths main .point h3 .sub{
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 1.75;
    letter-spacing: .4rem;
    margin-top: 1.6rem;
}
#wrapper.strengths main .point_blc{
    display: flex;
    flex-wrap: wrap;
    gap: 5rem 11.1rem;
    max-width: 130rem;
    margin: 0 auto;
}
#wrapper.strengths main .point_blc + .point_blc{
    margin-top: 10.8rem;
}
#wrapper.strengths main .point_blc:nth-of-type(2n+1){
    flex-direction: row-reverse;
}
#wrapper.strengths main .point_blc .img{
    width: 68.2rem;
}
#wrapper.strengths main .point_blc .img img{
    width: 100%;
    aspect-ratio: 1.7668;
    object-fit: cover;
}
#wrapper.strengths main .point_blc .txt{
    width: calc( 100% - 79.3rem );
    padding: 0 16rem 0 0;
}
#wrapper.strengths main .point_blc:nth-of-type(2n+1) .txt{
    padding: 0 0 0 16rem;
}
#wrapper.strengths main .point_blc .box{
    width: 34.4rem;
}
#wrapper.strengths main .point_blc .box h4{
    font-weight: 500;
    font-size: 3.2rem;
    line-height: 1.5;
    margin-bottom: 3.6rem;
}
#wrapper.strengths main .point_blc .box p{
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: .1rem;
    text-align: justify;

}

/* お知らせ */
#wrapper.news .mv .img{
    background: url(images/news_mv.jpg) center / cover no-repeat;
}

/* 環境への取り組み */
#wrapper.environment .mv .img{
    background: url(images/environment_mv.jpg) center / cover no-repeat;
}
#wrapper.environment main{
    padding-bottom: 0;
}
#wrapper.environment .copy h3{
    width: 90%;
    margin: 0 auto;
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: .1rem;
    text-align: center;
}
#wrapper.environment .copy .bnr{
    margin: 5rem auto 0;
    width: 80%;
    max-width: 30rem;
}
#wrapper.environment .sdgs{
    padding: 0 0 14rem;
}
#wrapper.environment .sdgs .flex{
    max-width: 120rem;
    margin: 0 auto;
    gap: 2.5rem;
    align-items: stretch;
    justify-content: center;
}
#wrapper.environment .sdgs .flex .box{
    width: calc( (100% - 5rem) / 3);
    padding: 4rem;
    background: #fff;
    border-radius: .5rem;
    box-shadow: 0px 16px 23px 0px rgba(0, 0, 0, 0.06);
}
#wrapper.environment .sdgs .img{
    text-align: center;
    margin-bottom: 2.5rem;
}
#wrapper.environment .sdgs .data{
    display: table;
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 1.75rem;
}
#wrapper.environment .sdgs .data > dl{
    display: table-row;
    width: 100%;
}
#wrapper.environment .sdgs .data > dl > dt,
#wrapper.environment .sdgs .data > dl > dd{
    display: table-cell;
    vertical-align: middle;
}
#wrapper.environment .sdgs .data > dl:last-child > dt,
#wrapper.environment .sdgs .data > dl:last-child > dd{
    height: 4.48rem;
}
#wrapper.environment .sdgs .data dt,
#wrapper.environment .sdgs .data dd{
    font-weight: 500;
}
#wrapper.environment .sdgs .data dd{
    padding-left: 1rem;
    font-size: 1.4rem;
    line-height: 1.6;
}
#wrapper.environment .sdgs .data dt{
    width: 9rem;
    color: #006733;
    padding-right: 1rem;
    border-right: .1rem solid #393939;
    line-height: 1;
    text-align: center;
}
#wrapper.environment .sdgs .data dt .ja{
    font-weight: 700;
    font-size: 1.8rem;
    letter-spacing: .1rem;
}
#wrapper.environment .sdgs .data dt .en{
    font-size: 1.2rem;
}
#wrapper.environment .sdgs .sdgs .img:nth-of-type(1){
    margin: 0 auto 5.1rem;
    width: 21.6rem;;
}
#wrapper.environment .sdgs .sdgs .img:nth-of-type(2){
    margin: 0 auto 2.76rem;
}
#wrapper.environment .sdgs .plasticsmart .img{
    margin: 0 auto 6.52rem;
}
#wrapper.environment .sdgs .txt{
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 1.6;
}
#wrapper.environment .main img{
    width: 100vw;
    aspect-ratio: 3.19;
    object-fit: cover;
}
#wrapper.environment .catch{
    max-width: 80rem;
    width: 90%;
    margin: 8rem auto 9rem;
}
#wrapper.environment .catch h3{
    font-weight: 500;
    font-size: 3.2rem;
    line-height: 1.5;
    margin: 0 0 2.4rem;
    color: #006733;
}
#wrapper.environment .catch p{
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: .1rem;
    text-align: justify;
}
#wrapper.environment .product_box{
    max-width: 80rem;
    width: 90%;
    margin: 0 auto;
    background: #F8F6F3;
    border-radius: .8rem;
    padding: 6.4rem;
}
#wrapper.environment .product_box + .product_box{
    margin-top: 1.5rem;
}
#wrapper.environment .product_box .flex{
    gap: 3rem 6.5rem;
    align-items: center;
}
#wrapper.environment .product_box .img{
    width: 21.9rem;
}
#wrapper.environment .product_box .img_box{
    width: 100%;
    aspect-ratio: 1.422;
    position: relative;
}
#wrapper.environment .product_box .img_box:after{
    content: "";
    display: block;
    position: absolute;
    right: .8rem;
    bottom: .8rem;
    z-index: 2;
}
#wrapper.environment .product_box .img_box.biomass_mark1:after{
    width: 3.06rem;
    height: 5.45rem;
    background: url(images/environment_biomass_mark01.svg) center / contain no-repeat;
}
#wrapper.environment .product_box .img_box.biomass_mark2:after{
    width: 3.06rem;
    height: 5.45rem;
    background: url(images/environment_biomass_mark02.svg) center / contain no-repeat;
}
#wrapper.environment .product_box .img_box.biomass_mark3:after{
    width: 3.06rem;
    height: 5.45rem;
    background: url(images/environment_biomass_mark03.svg) center / contain no-repeat;
}
#wrapper.environment .product_box .img_box.recycle_mark1:after{
    width: 3.1rem;
    height: 4.7rem;
    background: url(images/environment_recycle_mark01.svg) center / contain no-repeat;
}
#wrapper.environment .product_box .img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#wrapper.environment .product_box .img .caption{
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 1.75;
}
#wrapper.environment .product_box .img .caption + .img_box{
    margin-top: 2rem;
}
#wrapper.environment .product_box .txt{
    width: calc( 100% - 28.45rem );
}
#wrapper.environment .reuse .txt h3,
#wrapper.environment .product_box .txt h4{
    color: #006733;
    font-weight: 500;
    font-size: 2.4rem;
    line-height: 2;
    margin-bottom: .8rem;
}
#wrapper.environment .reuse .txt p,
#wrapper.environment .product_box .reism .reism_txt,
#wrapper.environment .product_box .txt p{
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: .1rem;
    text-align: justify;
    margin-bottom: 3.2rem;
}
#wrapper.environment .product_box .reism{
    margin-top: 2.85rem;
    border-radius: .4rem;
    background: #fff;
    padding: 4.5rem;
}
#wrapper.environment .product_box .reism .logo{
    max-width: 19.4rem;
    margin: 0 auto 1.7rem;
}
#wrapper.environment .product_box .reism .reism_txt{
    line-height: 1.8;
}
#wrapper.environment .reuse{
    background: #D4DFD9;
    padding: 13.4rem 0;
}
#wrapper.environment .reuse .flex{
    width: 90%;
    max-width: 80rem;
    margin: 0 auto;
    gap: 3rem 7.3rem;
    align-items: center;
}
#wrapper.environment .reuse .img{
    width: 33.8rem;
}
#wrapper.environment .reuse .img img{
    width: 100%;
    aspect-ratio: .995;
    object-fit: cover;
}
#wrapper.environment .reuse .txt{
    width: calc( 100% - 41.1rem );
}
#wrapper.environment .reuse .txt h3{
    text-align: center;
    font-weight: 500;
    font-size: 3.2rem;
    line-height: 1.5;
    margin-bottom: 2.5rem;
}
#wrapper.environment .reuse .txt p{
    letter-spacing: .09rem;
    margin-bottom: 4.4rem;
}


/* 社長挨拶 */
#wrapper.president .mv .img{
    background: url(images/president_mv.jpg) center / cover no-repeat;
}
#wrapper.president main{
    padding: 0;
    position: relative;
    overflow: hidden;
}
/*
#wrapper.president main:before{
    content: "";
    display: block;
    width: 55.5vw;
    height: 55.5vw;
    max-height: 72.2rem;
    max-width: 72.2rem;
    border-radius: 50%;
    background: #B5E0F9;
    opacity: .15;
    z-index: -1;
    position: absolute;
    top: -10.1vw;
    right: -11.8vw;
}
#wrapper.president main:after{
    content: "";
    display: block;
    width: 40.7vw;
    height: 40.7vw;
    max-height: 53rem;
    max-width: 53rem;
    border-radius: 50%;
    background: #B5E0F9;
    opacity: .15;
    z-index: -1;
    position: absolute;
    bottom: -15.2vw;
    left: -4vw;
}
*/
#wrapper.president main .txt{
    width: 90%;
    max-width: 61.4rem;
    margin: 12rem auto 13rem;
    display: flex;
    flex-wrap: wrap;
    gap: 5.9rem;
}
#wrapper.president main .txt > *{
    width: 100%;
    font-weight: 500;
}
#wrapper.president main .txt h2{
    font-size: 3.2rem;
    line-height: 1.9;
}
#wrapper.president main .txt p{
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: .1rem;
    text-align: justify;
}
#wrapper.president main .txt .name{
    text-align: right;
    font-size: 1.6rem;
}


/* プライバシーポリシー */
#wrapper.policy .mv .img{
    background: url(images/policy_mv.jpg) center / cover no-repeat;
}
#wrapper.website main,
#wrapper.policy main{
    padding: 0;
    position: relative;
    overflow: hidden;
}
#wrapper.website main .txt,
#wrapper.policy main .txt{
    width: 90%;
    max-width: 61.4rem;
    margin: 12rem auto 13rem;
}
#wrapper.website main .txt > *,
#wrapper.policy main .txt > *{
    width: 100%;
    font-weight: 500;
}
#wrapper.website main .txt h2,
#wrapper.policy main .txt h2{
    font-size: 3.2rem;
    line-height: 1.9;
}
#wrapper.website main .msg{
    margin-bottom: 7.7rem;
}
#wrapper.website main .txt li,
#wrapper.website main .txt p,
#wrapper.policy main .txt li,
#wrapper.policy main .txt p{
    font-size: 1.4rem;
    line-height: 2;
    text-align: justify;
    letter-spacing: .09rem;
}
#wrapper.website main .txt ul,
#wrapper.website main .txt ul li,
#wrapper.policy main .txt ul,
#wrapper.policy main .txt ul li{
    list-style: "・" inside;
}
#wrapper.website main .txt ul li,
#wrapper.policy main .txt ul li{
    text-indent: -1em;
    padding-left: 1em;
    letter-spacing: 0.1rem;
}
#wrapper.policy main .txt ul li:first-child{
    letter-spacing: 0.08rem;
}
#wrapper.policy main .txt ul li:nth-child(5){
    letter-spacing: 0.125rem;
}
#wrapper.policy main .txt ul li:nth-child(6){
    letter-spacing: 0.15rem;
}
#wrapper.website main .txt ul li + li,
#wrapper.policy main .txt ul li + li{
    margin-top: 1em;
}
#wrapper.website main .txt h3,
#wrapper.policy main .txt h3{
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: .1rem;
    text-align: justify;
    padding: .35rem  1.5rem;
    background: #0B58A0;
    color: #fff;
    margin: 9rem 0 2.8rem;
}
#wrapper.website main .txt h3{
    margin: 4.6rem 0 2.8rem;
}
#wrapper.website main .txt .name,
#wrapper.policy main .txt .name{
    text-align: right;
    margin-top: 2em;
}
#wrapper.website .mv .img{
    background: url(images/website_mv.jpg) center / cover no-repeat;
}
#wrapper.website main .txt ul li{
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 160%;
    letter-spacing: 0.12rem;
    text-transform: capitalize;
}
#wrapper.website main .txt ul li a{
    font-weight: 500;
    text-transform: uppercase;
    text-decoration: underline;
    text-decoration-style: solid;
    text-decoration-offset: 0%;
    text-decoration-thickness: 0%;
    color: #0B58A0;
}
#wrapper.website main .txt ul:nth-of-type(1) li{
    letter-spacing: 0.075rem;
}


/* グループ会社 */
#wrapper.group .mv .img{
    background: url(images/group_mv.jpg) center / cover no-repeat;
}
#wrapper.group main h3{
    font-weight: 500;
    font-size: 4.4rem;
    line-height: 1.1;
    color: #0B58A0;
    margin-bottom: 13rem;
    text-align: center;
}
#wrapper.group main h3 .sub{
    margin-top: 1.6rem;
    font-size: 1.2rem;
    line-height: 1.75;
    letter-spacing: .4rem;
}
#wrapper.group main .list{
    width: 90%;
    max-width: 105rem;
    margin: 0 auto;
    gap: 9.5rem 3.3rem;
}
#wrapper.group main .list li{
    width: calc( (100% - 3.3rem) / 2);
    background: #fff;
    padding: 7rem;
    box-shadow: 0px 16px 23px 0px rgba(0, 0, 0, 0.06);
    border-radius: .5rem;
}
#wrapper.group main .list .txt{
    min-height: 15.1rem;
    margin-bottom: 5.4rem;
    font-weight: 500;
}
#wrapper.group main .list h4{
    font-size: 2rem;
    line-height: .95;
    margin-bottom: 1.9rem;
    color: #0B58A0;
}
#wrapper.group main .list p{
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: .1rem;

}



/* 事業紹介 */
#wrapper:has(section[id="product"]) header{
    /*
    background: transparent;
    transition: background .3s linear;
    */
}
#wrapper:has(section[id="product"]) header:has(.daiwa:hover),
#wrapper:has(section[id="product"]) header:has(.works:hover){
    background: #fff;
}
#wrapper:has(section[id="product"]) .mv:before{
    display: none;
}
#wrapper:has(main[class="product_child"]) .mv .breadcrumb ul li:not(:last-child):after,
#wrapper:has(section[id="product"]) .mv .breadcrumb ul li:not(:last-child):after{
    background: url(images/icon_chevron_g.svg) center / contain no-repeat;
}
#wrapper:has(main[class="product_child"]) .mv .breadcrumb,
#wrapper:has(section[id="product"]) .mv .breadcrumb,
#wrapper:has(section[id="product"]) .mv .ttl h2{
    color: #393939;
}
#wrapper:has(section[id="product"]) main{
    padding: 0;
}
#product{
    position: relative;
    padding: 0 0 14.4rem;
    z-index: 1;
}
#product .product_head{
    position: relative;
}
#product .product_head .title_blc{
    position: sticky;
    top: 34%;
}
#product .product_head .title_blc h2{
    font-weight: 500;
    font-size: 3.2rem;
    line-height: 1;
    letter-spacing: .2rem;
    text-align: center;
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    padding: 1.8rem 2.4rem;
    background: rgba(255, 255, 255, 0.85);
}
#product .product_head .amazon.upper{
    position: sticky;
    padding-top: 14rem;
}
/*
#wrapper.electronic #product .product_head .title_blc h2{
    padding-bottom: 8.3rem;
}
#wrapper.electronic #product .product_head .title_blc .code{
    font-size: 1.6rem;
    margin-top: 1rem;
    text-align: center;
    position: absolute;
    top: 6rem;
    left: 50%;
    transform: translateX(-50%);
}
#wrapper.electronic #product .product_head .amazon.upper{
    padding-top: 19rem;
}
*/
#product .product_head .amazon.upper .box{
    position: static;
    transform: unset;
    margin: 0 auto;
    padding: 0 0 8rem;
}
#product .bg_box{
    position:fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    background: rgba(255, 255, 255, 0.75);
    z-index: 2;
}
#product .bg_img{
    position:fixed;
    /*
    animation: scroll-anim linear;
    animation-timeline: scroll();
    animation-range: entry 0% entry 50vh;
    */
    opacity:1;
    transform: translateX(-50%);
    left: 50%;
    bottom: 0;
    z-index: 1;
    width: 100vw;
    height: 100vh;
    clip-path: inset(15lvh 10lvw 40lvh 10lvw);
}
#wrapper:has(#product) .mv{
    height: 6.5rem;
}
#product .bg_blur{
    position:fixed;
    /*
    animation: scroll-anim-blur linear;
    animation-timeline: scroll();
    animation-range: entry 0% entry 200vh;
    */
    top: 0;
    width: 100vw;
    height: 100vh;
    z-index: 1;
    backdrop-filter: blur(30px);
    /*
    background: rgba(255, 255, 255, 0.75);
    */
    opacity: 0;
}
#product .contents{
    position: relative;
    z-index: 3;
    min-height: 100rem;
}
#product .amazon{
    position: relative;
}
#product .product_head .title_blc,
#product .amazon{
    min-height: 55rem;
}
#wrapper.tableware #product .amazon{
    margin-top: -9.5rem;
}
#wrapper.tableware #product .amazon.lower{
    margin-top: 0;
}
#product .amazon.lower{
    min-height: unset;
    padding: 16rem 0;
}
#product .amazon.lower .box{
    position: static;
    transform: unset;
    width: 90%;
    margin: 0 auto;
}
#product .amazon .box{
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 3;
    transform: translate(-50%,-50%);
    width: 90%;
    max-width: 57rem;
    text-align: center;
    font-weight: 500;
}
#product .amazon p{
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: .1rem;
    margin-bottom: 7.5rem;
}
#product .amazon .flex{
    gap: 2rem;
    justify-content: center;
    margin-bottom: 2.2rem;
}
#product .amazon .flex.catalog{
    margin-bottom: 1.2rem;
}
#product .amazon .flex li{
    width: 26.4rem;
}
#product .amazon .flex a{
    display: block;
    border-radius: .5rem;
    background-color: #0B58A0;
    color: #fff;
    font-size: 1.6rem;
    line-height: 1.5;
}
#product .amazon .flex a.catalog{
    background: #0B58A0 url(images/tableware_img01.jpg) right 1rem top 1rem / 9.2rem auto no-repeat;
    padding: 2.2rem 10.8rem 2.2rem 0;
}
#product .amazon .flex a.search{
    background: #0B58A0 url(images/tableware_img02.jpg) right center / 11.8rem auto no-repeat;
    padding: 2.2rem 11.8rem 2.2rem 0;
}
#product .amazon .flex .bnr a{
    display: block;
}
#product .list{
    width: 100%;
    max-width: 130rem;
    margin: 0 auto;
}
#wrapper.lacquerware #product .list ul{
    max-width: 108.7rem;
}
#product .list ul{
    max-width: 109rem;
    margin: 0 auto 0 0;
}
#product .list li{
    display: flex;
    flex-wrap: wrap;
    gap: 2rem 11.4rem;
}
#product .list li + li{
    margin-top: 15rem;
}
#product .list .img{
    width: 56.8rem;
}
#product .list .img img{
    width: 100%;
    aspect-ratio: 1.171;
    object-fit: cover;
}
#product .list .txt{
    width: calc( 100% - 68.2rem );
}
#product .list .category{
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 2.4;
    letter-spacing: .1rem;
    text-align: justify;
    color: #0B58A0;
    text-decoration-style: solid;
    text-decoration-offset: 25%;
    text-decoration-thickness: 7.5%;
    margin-bottom: .6rem;
}
#product .list h4{
    font-weight: 500;
    font-size: 3.2rem;
    line-height: 1.5;
    margin-bottom: 3.6rem;
}
#product .list .ex{
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 2;
    margin-bottom: 6.4rem;
}
#product .list .sample{
    font-weight: 500;
    font-size: 1.3rem;
    line-height: 2.2;
    border-left: 1px solid #393939;
    padding-left: 2.4rem;
    margin-top: 3.6rem;
}
#product .list .category + .ex{
    margin-top: 3.6rem;
}
#product .list .btn + .btn{
    margin-top: 1.6rem;
}
#product .manage.inner{
    max-width: 98rem;
}
#product .manage .title_blc h4{
    left: 0;
    width: 12.5rem;
}
#product .manage .main_blc{
    width: calc(100% - 19rem);
}
#product .manage .flex{
    width: 100%;
}
#product .manage .txt{
    width: calc(100% - 18.4rem);
}
.dl_table dd .link a,
#product .manage .btn{
    height: 2.6rem;
    padding: .4rem 0;
    border-radius: 1.3rem;
    width: 18.4rem;
    min-width: unset;
    background: #0B58A0;
    font-family: Zen Kaku Gothic New;
    font-size: 1.3rem;
    line-height: 1.3;
}
#product .manage .dl_table dt{
    color: #0B58A0;
    font-size: 1.7rem;
    text-align: center;
}
#wrapper.plastic #product .manage .dl_table dt{
    position: relative;
}
#wrapper.plastic #product .manage .dl_table dt p{
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    text-align: center;
}

/* 業務用食器 */
#wrapper.tableware #product .bg_img{
    background:url(images/tableware_mv.jpg) center / cover no-repeat;
}
/* 業務用食器 検索 */
#wrapper.checklist .mv .img,
#wrapper.search .mv .img{
    background:url(images/search_mv.jpg) center top 30% / cover no-repeat;
}
#wrapper.checklist .mv .ttl p,
#wrapper.search .mv .ttl p{
    font-size: 1.8rem;
    line-height: 1.5;
    margin-top: 2.5rem;
}
#wrapper.checklist .item_wrap .nav_trg,
#wrapper.search .item_wrap .nav_trg{
    display: none;
}
#wrapper.checklist .item_wrap .nav_blc > .box,
#wrapper.search .item_wrap .nav_blc > .box{
    position: static;
    top: 0;
}
#wrapper.checklist .item_wrap,
#wrapper.search .item_wrap{
    max-width: 120rem;
    gap: 3rem 6.3rem;
}
#wrapper.search .item_wrap{
    padding-top: 0;
}
#wrapper.checklist .item_wrap .nav_blc,
#wrapper.search .item_wrap  form,
#wrapper.search .item_wrap .nav_blc{
    width: 22.7rem;
}
#wrapper.search .item_wrap .nav_blc{
    margin-top: 2rem;
}
#wrapper.search .item_wrap .nav_blc .checklist{
    margin-bottom: 2rem;
}
#wrapper.search main{
    position: relative;
    padding: 0 0 14.4rem;
}
#wrapper.search .item_wrap .btn_box{
    position: sticky;
    top: 6.5rem;
    z-index: 1000;
    display: flex;
    width: 120rem;
    justify-content: left;
    align-items: center;
    gap: 2rem ;
    background: #fff;
    flex-wrap: wrap;
    justify-content: center;
    padding: 2rem 0;
}
#wrapper.search .item_wrap .nav_blc .btn_box{
    position: static;
    display: none;
    width: 100%;
    padding: 0;
}
#wrapper.search .item_wrap .btn_box .btn{
    min-width: unset;
    margin-top: 0rem;
}
#wrapper.search .item_wrap .btn_box > *{
    width: 22.7rem;
}
#wrapper.search .item_wrap .btn_box button,
#wrapper.search .item_wrap .btn_box a{
    display: block;
    width: 100%;
    height: 3.8rem;
    border-radius: 5px;
    font-size: 1.2rem;
    line-height: 3.8rem;
    padding: 0;
    font-weight: 500;
}
#wrapper.search .item_wrap .btn_box .submit button{
    background: #393939 url(images/icon_search_w.svg) right 1.2rem center / 1.8rem auto no-repeat;
}
#wrapper.search .item_wrap .btn_box .reset button{
    background: #9E9E9E url(images/icon_remove_w.svg) right 1.4rem center / 1.6rem auto no-repeat;;
    color: #fff;
}
#wrapper.search .item_wrap .btn_box button p{
    font-size: 100%;
}
#wrapper.search .item_wrap .nav_blc .btn_box > *{
    margin-top: 2rem;
    width: 100%;
}
#wrapper.search .item_wrap .nav_blc .checklist .btn{
    min-width: unset;
}
#wrapper.search .item_wrap .nav_blc dl{
    border-top: 1px solid #393939;
    padding: 1.8rem 0;
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 1.675;
}
#wrapper.search .item_wrap .nav_blc dl dt{
    margin-bottom: .8rem;
}
#wrapper.search .nav_blc h4{
    background: #E5E2E2;
    border-radius: .3rem;
    text-align: center;
    padding: .25rem 0;
    margin-bottom: .65rem;
}
#wrapper.search .nav_blc .size{
    margin-bottom: .65rem;
}
#wrapper.search .nav_blc .size li + li{
    margin-top: .4rem;
}
#wrapper.search .nav_blc .size .name{
    width: 7rem;
    padding: .25rem 1rem;
}
#wrapper.search .num_wrap{
    gap: 0 .4rem;
    align-items: center;
}
#wrapper.search .num_wrap .value{
    width: 10.3rem;
}
#wrapper.search .select_wrap{
    gap: 0 1.8rem;
    align-items: center;
}
#wrapper.search .item_wrap .select_wrap label{
    margin: 0;
}
#wrapper.search .tip_contents span,
#wrapper.search .select_wrap label span{
    display: inline-block;
    color: #fff;
    background: #393939;
    padding: 0rem .4rem;
}
#wrapper.search .item_wrap .tips_wrap{
    position: relative;
}
#wrapper.search .select_wrap .hint #tips{
    display: block;
    width: 1.8rem;
    height: 1.8rem;
    background: url(images/icon_hint.svg) center / contain no-repeat;
}
#wrapper.search .select_wrap .hint #tips + div{
    opacity: 0;
    pointer-events: none;
    position: absolute;
    z-index: 1000;
    bottom: 7rem;
    left: 0;
    width: 100%;
    aspect-ratio: 1.367;
    background: url(images/search_balloon.svg) center / contain no-repeat;
    transition: opacity .2s ease-out;
    padding: 1.23rem 2.1rem;
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 1.5;
}
#wrapper.search .select_wrap .hint #tips.active + div,
#wrapper.search .select_wrap .hint #tips:hover + div{
    opacity: 1;
    pointer-events: auto;
}
#wrapper.search .tip_contents span{
    margin-bottom: .2rem;
    padding: .1rem .75rem;
    margin-right: .5em;
    line-height: 1.1;
}
#wrapper.search .item_wrap input[type=email],
#wrapper.search .item_wrap input[type=tel],
#wrapper.search .item_wrap input[type=text]{
    border: 1px solid #E5E2E2;
    border-radius: .3rem;
    width: 100%;
    padding: .25rem 1rem;
}
#wrapper.search .item_wrap input[type=email]::placeholder,
#wrapper.search .item_wrap input[type=tel]::placeholder,
#wrapper.search .item_wrap input[type=text]::placeholder{
    color: #A4A4A4;
}
#wrapper.search  .submit button{
    background: #393939 url(images/icon_search_w.svg) right 1.3rem center / 2.5rem auto no-repeat;
    color: #fff;
    width: 100%;
    cursor: pointer;
}
#wrapper.search .submit button{
    margin-top: 0rem;
}
#wrapper.search .nav_blc .catalog a{
    margin-top: 2rem;
}
#wrapper.checklist .item_wrap .main_blc,
#wrapper.search .item_wrap .main_blc{
    width: calc( 100% - 29rem );
}
#wrapper.search .item_wrap .main_blc{
    padding-top: 14rem;
}
#wrapper.checklist .item_wrap .main_blc .list li,
#wrapper.search .item_wrap .main_blc .list li{
    width: 18.2rem;
    padding: 1.6rem;
}
#wrapper.checklist .item_wrap .main_blc .img,
#wrapper.search .item_wrap .main_blc .img{
    margin-bottom: 1.2rem;
    position: relative;
}
#wrapper.checklist .item_wrap .main_blc .img img,
#wrapper.search .item_wrap .main_blc .img img{
    width: 100%;
    aspect-ratio: 1.351;
    object-fit: contain;
}
#wrapper.checklist .item_wrap .main_blc .data dl,
#wrapper.search .item_wrap .main_blc .data dl{
    display: flex;
    font-weight: 400;
    font-size: 1.1rem;
    leading-trim: Cap height;
    line-height: 1.3;
}
#wrapper.checklist .item_wrap .main_blc .data dl + dl,
#wrapper.search .item_wrap .main_blc .data dl + dl{
    margin-top: .4rem;
}
#wrapper.checklist .item_wrap .main_blc .data dl dt,
#wrapper.search .item_wrap .main_blc .data dl dt{
    width: 5.5em;
    position: relative;
    padding-right: 1.5em;
    text-align-last:justify;
}
#wrapper.checklist .item_wrap .main_blc .data dl dt:after,
#wrapper.search .item_wrap .main_blc .data dl dt:after{
    content: "：";
    display: block;
    position: absolute;
    right: 0.25em;
    top: 0;
}
#wrapper.checklist .item_wrap .main_blc .data dl dd,
#wrapper.search .item_wrap .main_blc .data dl dd{
    width: calc(100% - 5.5em);
}
#wrapper.checklist .item_wrap label,
#wrapper.search .item_wrap label{
    position:relative;
    display: block;
    padding: .5rem .5rem .5rem 2.3rem;
    cursor: pointer;
    font-weight: 500;
    font-size: 1.1rem;
    leading-trim: Cap height;
    line-height: 1.675;
    margin-top: .8rem;
}
#wrapper.checklist .item_wrap label:before,
#wrapper.search .item_wrap label:before{
    content: "";
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    border: 1px solid #E5E2E2;
    background: transparent;
    z-index: 1;
    position: absolute;
    left: 0;
    top: .5rem;
    border-radius: 50%;
}
#wrapper.checklist .item_wrap .main_blc li:has(input:checked),
#wrapper.search .item_wrap .main_blc li:has(input:checked){
    background: #F5FBFF;
}
#wrapper.checklist .item_wrap label:has(input:checked):before,
#wrapper.search .item_wrap label:has(input:checked):before{
    background: #0b58a0;
}
#wrapper.checklist .item_wrap label input,
#wrapper.search .item_wrap label input{
    display: none;
}
#wrapper.checklist .item_wrap .pager,
#wrapper.movie .item_wrap .pager,
#wrapper.catalog .item_wrap .pager,
#wrapper.search .item_wrap .pager{
    margin: 12rem 0;
}
#wrapper.checklist main{
    padding: 0 0 14rem;
}
#wrapper.checklist section.ttl{
    background: #F9F9F9;
    padding: 6rem 0;
    text-align: center;
    margin-bottom: 6rem;
    font-weight: 500;
    font-size: 2.8rem;
    line-height: 1.8;
    text-align: center;
}
#wrapper.search  .reset .large_btn,
#wrapper.checklist .nav_blc .large_btn{
    display: block;
    width: 100%;
    position: relative;
    height: 8.8rem;
    border-radius: .5rem;
    background: #0B58A0;
    color: #fff;
    margin-bottom: 1.1rem;
}
#wrapper.checklist .nav_blc .back .large_btn{
    background: #0B58A0 url(images/icon_return_w.svg) left 4.5rem center / 1.9rem auto no-repeat;
}
#wrapper.checklist .nav_blc .csv .large_btn{
    background: #0B58A0 url(images/icon_download_w.svg) left 3.9rem center / 2rem auto no-repeat;
}
#wrapper.search  .reset .large_btn,
#wrapper.checklist .nav_blc .reset .large_btn{
    background: #BFBFBF url(images/icon_remove_w.svg) left 3.8rem center / 2rem auto no-repeat;
}
#wrapper.search  .reset .large_btn{
    margin: 0rem 0 0;
    cursor: pointer;
}
#wrapper.search .reset .large_btn p,
#wrapper.checklist .nav_blc .large_btn p{
    position: absolute;
    top: 50%;
    left: 55%;
    transform: translate(-50%,-50%);
    text-align: center;
    font-family: Zen Kaku Gothic New;
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 1.5;
    white-space: nowrap;
}
/* 日用品 */
#wrapper.daily #product .bg_img{
    background:url(images/daily_mv.jpg) center / cover no-repeat;
}

/* 飲食カップ */
#wrapper.cup #product .bg_img{
    background:url(images/cup_mv.jpg) center / cover no-repeat;
}
#wrapper.cup #product .list .img img{
    aspect-ratio: 1.42;
}
#wrapper.cup #product .amazon.upper .flex li{
    width: 32rem;
}
#wrapper.cup #product .amazon.upper .flex li a{
    background: #0B58A0 url(images/cup_img06.jpg) right 1rem top 1.2rem / 9.2rem auto no-repeat;
    padding: 2.2rem 10.8rem 2.2rem 0;
}
#wrapper.cup #product .amazon .box a.product_catalog_link{
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 1.6;
    letter-spacing: .1rem;
    text-align: justify;
    color: #0B58A0;
    text-decoration: underline;
    text-decoration-style: solid;
    text-decoration-thickness: 7.5%;
    margin-bottom: .6rem;
}
#wrapper.cup #product .amazon.lower .box{
    max-width: 68.5rem;
}
#wrapper.cup #product .amazon.lower a{
    display: block;
    width: 90%;
    margin: 0 auto;
    background: #0B58A0 url(images/cup_img05.png) left center / 40rem auto no-repeat;
    border-radius: .625rem;
    padding: 5rem 0 5rem 40rem;
    color: #fff;
    text-align: center;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 1.5;
}

/* 漆器・素地 */
#wrapper.lacquerware #product .bg_img{
    background:url(images/lacquerware_mv.jpg) center / cover no-repeat;
}
#wrapper.lacquerware #product .list .img img{
    aspect-ratio: 1.618;
}
#wrapper.daily #product .list + .manage,
#wrapper.lacquerware #product .list + .manage{
    margin-top: 6.4rem;
}
#wrapper.lacquerware #product .manage + .list{
    margin-top: 15.1rem;
}
/* 漆器・素地 会津事業所 */
#wrapper.aidu .mv .img{
    background:url(images/lacquerware_img02.jpg) center / cover no-repeat;
}
#wrapper:has(main[class="product_child"]).aidu .mv .ttl{
    width: 5.5em;
}
#wrapper:has(main[class="product_child"]) h3.pickup{
    font-weight: 500;
    font-size: 4.4rem;
    line-height: 1.1;
    text-align: center;
    margin: 0 0 10rem;
}
#wrapper:has(main[class="product_child"]) h3.pickup p{
    font-size: 1.2rem;
    line-height: 1.625;
    margin-top: 2rem;;
}
#wrapper:has(main[class="product_child"]).aidu .list.flex{
    justify-content: center;
    gap: 8.8rem;
    width: 90%;
    max-width: 78rem;
    margin: 0 auto;
}
#wrapper:has(main[class="product_child"]).aidu .list.flex > li{
    width: 33rem;
}
#wrapper:has(main[class="product_child"]) .item .list .list_img{
    border-radius: .5rem 3.2rem .5rem .5rem;
    overflow: hidden;
    width: 100%;
    box-shadow: 0px 0px 23px 0px #00000026;
}
#wrapper:has(main[class="product_child"]) .item .list .list_img img{
    object-fit: cover;
}
#wrapper:has(main[class="product_child"]).aidu .list.flex img{
    aspect-ratio: 1.607;
}
#wrapper:has(main[class="product_child"]).aidu .list.flex h4{
    font-weight: 700;
    font-size: 2rem;
    line-height: 1;
    text-align: center;
    margin: 2.4rem 0;
}
#wrapper:has(main[class="product_child"]).aidu .list.flex .link{
    margin: 0;
}

/* 電子部品関連*/
#wrapper.electronic #product .bg_img{
    background:url(images/electronic_mv.jpg) center / cover no-repeat;
}
#wrapper.electronic #product .list .img img{
    aspect-ratio: 1.618;
}
#wrapper.electronic #product .list + .manage{
    margin-top: 15rem;
}


#wrapper:has(main[class="product_child"]) .mv{
    height: 41.2rem;
}
#wrapper:has(main[class="product_child"]) .mv:before{
    display: none;
}
#wrapper:has(main[class="product_child"]) .mv .ttl{
    width: 7em;
    color: #393939;
    line-height: 1.4;
}
#wrapper:has(main[class="product_child"]) .mv .ttl.meal {
    width: 9em;
}
#wrapper:has(main[class="product_child"]) .mv .ttl.school {
     width: 10em;
}
#wrapper:has(main[class="product_child"]) .mv .img{
    position: absolute;
    left: unset;
    width: 73.2rem;
}
#wrapper.page main.product_child{
    padding: 6.4rem 0 0;
}
#wrapper.page main.product_child .item{
    background: #E3EDF2;
    padding: 13.4rem 0;
}
#wrapper.page main.product_child .box{
    background: #fff;
    width: 90%;
    max-width: 80rem;
    margin: 0 auto;
    border-radius: .8rem;
    padding: 6rem 6rem 7rem;
    gap: 3rem 6.5rem;
}
#wrapper.page main.product_child .box.one_row{
    flex-direction: column-reverse;
}
#wrapper.page main.product_child .item .box.one_row > *{
    width: 100%;
}
#wrapper.page main.product_child .box + .box{
    margin-top: .8rem;
}
#wrapper.page main.product_child .item .img{
    width: 21.9rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1.6rem;
}
#wrapper.page main.product_child .item .img > div{
    width: 100%;
}
#wrapper.page main.product_child .box.one_row .img > div{
    width: 21.4rem;
}
#wrapper.page main.product_child .box .img img{
    width: 100%;
    aspect-ratio: 1.389;
    object-fit: cover;
}
#wrapper.page main.product_child .box .img p{
    font-size:1.2rem;
    font-weight: 500;
}
#wrapper.page main.product_child .item .txt{
    width: calc( 100% - 28.4rem );
    font-weight: 500;
}
#wrapper.page main.product_child .item .txt h4{
    font-size: 2.4rem;
    line-height: 2.2;
    color: #0B58A0;
    margin-bottom: .8rem;
}
#wrapper.page main.product_child .item .txt h4 span{
    font-size: 1.8rem;
    line-height: 2.7;
}
#wrapper.page main.product_child .item .txt p{
    margin-bottom: 3.2rem;
    font-size: 1.4rem;
    line-height: 2;
    text-align: justify;
}
#wrapper.page main.product_child .item .txt dl{
    align-items: flex-start;
    font-size: 1.3rem;
    line-height: 2.2;
    letter-spacing: .1rem;
}
#wrapper.page main.product_child .item .txt dl + dl{
    margin-top: 2.4rem;
}
#wrapper.page main.product_child .item .txt dt{
    border-left: .1rem solid #0B58A0;
    padding-left: 2.4rem;
    color: #0B58A0;
    width: 11.3rem;
}
#wrapper.page main.product_child .item .txt dt:has(br){
    line-height: 1.5;
}
#wrapper.page main.product_child .item .txt dt span{
    font-size: 1rem;
    letter-spacing: 0.1rem;
}
#wrapper.page main.product_child .item .txt dd{
    width: calc(100% - 11.3rem);
    border-left: .1rem solid #000000;
    padding-left: 2.4rem;
}
#wrapper.page main.product_child .item .link{
    margin-top: 4rem;
}
#wrapper.page main.product_child .item .link a + a{
    margin-top: 1rem;
}

/* 電子部品用 包装資材関連 */
#wrapper.packaging .mv .img{
    background:url(images/electronic_img01.jpg) center / cover no-repeat;
}
#wrapper.packaging .copy{
    padding: 8rem 5% 15rem;
    text-align: center;
    font-weight: 500;
}
#wrapper.packaging .copy h3{
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: .1rem;
    margin-bottom: 5.8rem;
}
#wrapper.packaging .copy a{
    display: block;
    max-width: 54.8rem;
    margin: 0 auto;
    background: #0B58A0 url(images/icon_arrow_w.svg) right 1.45rem center / 1.1rem auto no-repeat;
    color: #fff;
    padding: 1.5rem;
    border-radius: .5rem;
}
#wrapper.packaging .copy a + a{
    margin-top: 1rem;
}
#wrapper.packaging .copy .flex{
    height: 6rem;
    align-items: center;
    gap: 2rem 0;
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
}
#wrapper.packaging .copy .separator{
    width: .1rem;
    background: #fff;
    height: 100%;
}
#wrapper.packaging .copy .name{
    width: 24rem;
    font-size: 1.6rem;
}
#wrapper.packaging .copy .iso{
    width: calc(100% - 24.1rem);
    font-size: 1.4rem;
    letter-spacing: .1em;
}

/* 形導光板　加飾導光板 */
#wrapper.plate .mv .img{
    background:url(images/electronic_img02.jpg) center / cover no-repeat;
}


/* プラスチック成形材料 */
#wrapper.plastic #product .bg_img{
    background:url(images/plastic_mv.jpg) center / cover no-repeat;
}
#wrapper.plastic .copy .flex{
    max-width: 85rem;
    width: 90%;
    margin: 0 auto 16rem;
    gap: 3rem 6.5rem;
}
#wrapper.plastic .copy .txt{
    width: calc(100% - 42rem);
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: .1rem;
    text-align: justify;
}
#wrapper.plastic .copy .txt h4{
    font-size: 3.2rem;
    line-height: 1.5;
    letter-spacing: 0px;
    color: #0B58A0;
    margin-bottom: 1.6rem;
}
#wrapper.plastic .copy .img{
    width: 35.5rem;
}
#wrapper.plastic .copy .img img{
    width: 100%;
    aspect-ratio: 1.36;
    object-fit: cover;
    border-radius: .5rem;
}
#wrapper.plastic .lineup{
    background: #E3EDF2;
    padding: 22rem 0 15rem;
    margin-bottom: 6rem;
}
#wrapper.plastic .lineup_wrap{
    max-width: 85rem;
    width: 90%;
    margin: 0 auto;
}
#wrapper.plastic .lineup h4{
    font-weight: 500;
    font-size: 3.2rem;
    line-height: 1.5;
    margin-bottom: 4rem;;
    color: #0B58A0;
}
#wrapper.plastic .lineup dl + dl{
    margin-top: 1.6rem;
}
#wrapper.plastic .lineup .plastic_trg{
    background: #0B58A0 url(images/icon_plus_w.svg) right 3.1rem center / 1.6rem auto no-repeat;
    color: #fff;
    font-weight: 500;
    font-size: 2.4rem;
    line-height: 1.75;
    padding: 1.6rem 5rem 1.6rem 3rem;
    border-radius: .5rem;
    cursor: pointer;
}
#wrapper.plastic .lineup .plastic_trg span{
    font-size: 58%;
}
#wrapper.plastic .lineup .plastic_trg.active{
    background: #0B58A0 url(images/icon_minus_w.svg) right 3.1rem center / 1.6rem auto no-repeat;
}
#wrapper.plastic .lineup .plastic_trg + dd{
    overflow: hidden;
    display: grid;
    grid-template-rows: minmax(0, 0fr);
    transition: grid-template-rows 0.6s cubic-bezier(.16, 1, .3, 1);
}
#wrapper.plastic .lineup .plastic_trg.active + dd{
    grid-template-rows: minmax(0, 1fr);
}
#wrapper.plastic .lineup .plastic_contents{
    background; #fff;
    padding: 4rem 4.8rem;
    border-radius: .5rem;
    font-weight: 500;
    font-size: 1.3rem;
    line-height: 1.5;
    background: #fff;
}
#wrapper.plastic .lineup .plastic_contents .ex{
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 1.8;
    color: #0B58A0;
    margin-bottom: 3.2rem;
}
#wrapper.plastic .lineup .plastic_contents dt h5{
    width: 11.3rem;
    text-align: center;
    font-weight: 500;
    font-size: 1.3rem;
    line-height: 2.2;
    letter-spacing: .1rem;
    color: #0B58A0;
    border-left: 1px solid #0B58A0;
}
#wrapper.plastic .lineup .plastic_contents dl.flex:has(.img) .txt{
    max-width: 34rem;
}
#wrapper.plastic .lineup .plastic_contents .txt ul,
#wrapper.plastic .lineup .plastic_contents .txt ol{
    padding: 0 0 0 2.4rem;
    border-left: 1px solid #000000;
}
#wrapper.plastic .lineup .plastic_contents .txt ul,
#wrapper.plastic .lineup .plastic_contents .txt ul li{
    list-style: '・';
}
#wrapper.plastic .lineup .plastic_contents .txt ol,
#wrapper.plastic .lineup .plastic_contents .txt ol li{
    list-style: decimal;
}
#wrapper.plastic .lineup .plastic_contents .txt ul li,
#wrapper.plastic .lineup .plastic_contents .txt ol li{
    list-style-position: inside;
    text-indent: -1em;
    padding-left: 1em;
    font-weight: 500;
    font-size: 1.3rem;
    line-height: 1.5;
}
#wrapper.plastic .lineup .plastic_contents .img{
    padding: 0 0 0 2.4rem;
    position: relative;
}
#wrapper.plastic .lineup .plastic_contents .img:after{
    content: "";
    display: block;
    width: 2.5rem;
    height: 2.5rem;
    position: absolute;
    z-index: 1;
    right: .75rem;
    bottom: .75rem;
    border-radius: .5rem;
    background: rgba(0,0,0,0.3) url(images/icon_zoom_w.svg) center / 1.5rem auto no-repeat;
    pointer-events: none;
}
#wrapper.plastic .plastic_contents .modal_target{
    cursor: pointer;
    border-radius: .5rem;
}
#wrapper.plastic .plastic_contents .modal_target.h100{
    height: 10rem;
    width: auto;
}
#wrapper.plastic .plastic_contents .modal_target.h87{
    height: 8.7rem;
    width: auto;
}
#wrapper.plastic .plastic_contents .modal_target.h80{
    height: 8rem;
    width: auto;
}
#wrapper.plastic .plastic_contents .image{
    margin: 6rem 0 5rem;
    text-align: center;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 1.75rem;
    letter-spacing: .1rem;
    color: #0B58A0;
}
#wrapper.plastic .plastic_contents .image h5{
    margin-bottom: 2rem;
}
#wrapper.plastic .lineup .suggestion{
    margin: 4rem auto 0;
    border: 1px solid #0B58A0;
    background: #fff;
    border-radius: .5rem;
    padding: 1.6rem;
    text-align: center;
    max-width: 85rem;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 1.8;
    color: #0B58A0;
}
#wrapper.entrustment #modal .modal_box,
#wrapper.plastic #modal .modal_box{
    padding: 0;
    overflow: hidden;
}
#wrapper.catalog #modal .modal_box,
#wrapper.checklist #modal .modal_box,
#wrapper.search #modal .modal_box{
    min-width: 35rem;
    min-height: 50rem;
    padding: 2rem;
}
#wrapper.catalog #modal .modal_box #search_img,
#wrapper.checklist #modal .modal_box #search_img,
#wrapper.search #modal .modal_box #search_img{
    display: block;
    position:absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 2rem;
    object-fit: contain;
    object-position: center;
    z-index: 1;
}
#wrapper.entrustment #modal .modal_box #plastic_img,
#wrapper.plastic #modal .modal_box #plastic_img{
    width: 100%;
    max-width: unset;
}



#wrapper:has(main[class="product_child"]) .item.large_img .list{
    max-width: 82rem;
    width: 90%;
    margin: 0 auto;
}
#wrapper:has(main[class="product_child"]) .item.large_img .list .flex{
    gap: 3rem 7.6rem;
    align-items: center;
}
#wrapper:has(main[class="product_child"]) .item.large_img .list .flex + .flex{
    margin-top: 8.8rem;
}
#wrapper:has(main[class="product_child"]) .item.large_img .img.img_box{
    box-shadow: 0px 0px 23px 0px #00000026;
    border-radius: .5rem 3.2rem .5rem .5rem;
    width: 44.7rem;
    aspect-ratio: 1.49;
    overflow: hidden;
    position: relative;
}
#wrapper:has(main[class="product_child"]) .item.large_img .img_box:before{
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 2;
    background: linear-gradient(163.63deg, #FFFFFF 17.07%, rgba(255, 255, 255, 0) 56.85%);
}
#wrapper:has(main[class="product_child"]) .item.large_img .img_box img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    z-index: 1;
}
#wrapper:has(main[class="product_child"]) .item.large_img .img_box h4{
    position: absolute;
    top: 2.6rem;
    left: 3.2rem;
    font-weight: 700;
    font-size: 2.4rem;
    line-height: 1;
    z-index: 3;
    color: #393939;
}
#wrapper:has(main[class="product_child"]) .item.large_img .img_box p{
    font-weight: 400;
    font-size: 1.4rem;
    margin-bottom: 1.4rem;
}
#wrapper:has(main[class="product_child"]) .item.large_img .txt{
    width: calc(100% - 52.3rem);
}
#wrapper:has(main[class="product_child"]) .item.large_img .txt p{
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 180%;
    letter-spacing: .1rem;
    text-align: justify;
    text-transform: uppercase;
    margin-bottom: 5rem;
}
#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: .06rem;
    */
}
#wrapper.lacquerware .list .txt .ex{
    letter-spacing: 0rem;
}
#wrapper:has(main[class="product_child"]) .item.large_img .txt p.sub{
    letter-spacing: .05rem;
}
#wrapper.biomass .feature_box,
#wrapper:has(main[class="product_child"]) .feature{
    width: 90%;
    max-width: 85rem;
    margin: 0 auto;
}
#wrapper:has(main[class="product_child"]) .copy{
    padding: 6.5rem 5% 0;
}
#wrapper:has(main[class="product_child"]) .feature .flex{
    gap: 3rem 6rem;
}
#wrapper:has(main[class="product_child"]) .feature .flex + .flex{
    margin-top: 6rem;
}
#wrapper:has(main[class="product_child"]) .feature .txt{
    width: calc( 100% - 42rem);
    font-weight: 500;
}
#wrapper:has(main[class="product_child"]) .feature_box h4,
#wrapper:has(main[class="product_child"]) .feature .txt h4{
    font-size: 3.2rem;
    line-height: 1.5;
    color: #0B58A0;
}
#wrapper:has(main[class="product_child"]) .feature .txt p{
    margin-top: 1.6rem;
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: .1rem;
    text-align: justify;
}
#wrapper:has(main[class="product_child"]) .feature.noimg .flex{
    justify-content: center;
}
#wrapper:has(main[class="product_child"]) .feature.noimg .txt{
    width: 100%;
    max-width: 57rem;
}
#wrapper:has(main[class="product_child"]) .feature.noimg .txt h4,
#wrapper:has(main[class="product_child"]) .feature.noimg .txt p{
    text-align: center;
}
#wrapper:has(main[class="product_child"]) .feature .img{
    width: 35.5rem;
}
#wrapper:has(main[class="product_child"]) .feature .img img{
    border-radius: .5rem;
    width: 100%;
    height: 24.9rem;
    object-fit: cover;
    background: #fff;
}
#wrapper:has(main[class="product_child"]) .feature .feature02 .img img{
    object-fit: contain;
}

/* 業務用食器_バイオマス */
#wrapper.biomass{
    background: #F8F6F3;
}
#wrapper.biomass .mv .img{
    background:url(images/biomass_mv.jpg) center / cover no-repeat;
}
#wrapper:has(main[class="product_child"]).biomass .feature_box h4,
#wrapper:has(main[class="product_child"]).biomass .feature .txt h4{
    color: #006733;
}
#wrapper.biomass .feature_box{
    border-radius: .5rem;
    background: #fff;
    padding: 6.5rem 9rem 8rem;
    margin-top: 9rem;
}
#wrapper.biomass .feature_box h4{
    text-align: center;
    margin-bottom: 3rem;
}
#wrapper:has(main[class="product_child"]).biomass .feature .txt{
    width: calc(100% - 29.1rem);
}
#wrapper:has(main[class="product_child"]).biomass .feature .txt .sub{
    font-size: 1.2rem;
}
#wrapper:has(main[class="product_child"]).biomass .feature .img{
    width: 22.6rem;
}
#wrapper.biomass .feature_box .purpose .flex{
    justify-content: center;
    gap: 2.5rem 4.5rem;
}
#wrapper.biomass .feature_box .purpose li{
    width: 13.5rem;
}
#wrapper.biomass .feature_box .purpose .img{
    width: 100%;
    aspect-ratio: 1;
    border-radius: 50%;
}
#wrapper.biomass .feature_box .purpose .co2 .img{
    background: #2F3638 url(images/biomass_img03.svg) center / 7.58rem auto no-repeat;
}
#wrapper.biomass .feature_box .purpose .forest .img{
    background: #2F3638 url(images/biomass_img04.svg) center / 7.9rem auto no-repeat;
}
#wrapper.biomass .feature_box .purpose .waste .img{
    background: #2F3638 url(images/biomass_img05.svg) center / 8.3rem auto no-repeat;
}
#wrapper.biomass .feature_box .purpose h5{
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: 0.1rem;
    text-align: center;
    margin-top: .5rem;
}
#wrapper.biomass .feature_box .purpose p{
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: 0.1rem;
    text-align: justify;
    max-width: 50rem;
    margin: 3rem auto 5rem;
}
#wrapper.biomass .feature_box .mark{
    padding: 4.1rem 3.4rem;
    border: 1px solid #006733;
    border-radius: .5rem;
    align-items: center;
}
#wrapper.biomass .feature_box .mark .certification{
    padding: 0 3.6rem 0 9.2rem;
    background: url(images/environment_biomass_mark02.svg) left center / auto 100% no-repeat;
    text-align: center;
}
#wrapper.biomass .feature_box .mark .certification h6{
    font-weight: 700;
    font-size: 2.4rem;
    line-height: 2;
    color: #006733;
    margin-bottom: .4rem;
    padding: .38rem 0 0 0;
}
#wrapper.biomass .feature_box .mark .certification p{
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 1.5;
}
#wrapper.biomass .feature_box .mark .logo{
    padding: 0 0 0 3.6rem;
}
#wrapper.biomass .feature_box .mark .logo{
    width: calc( 100% - 41.7rem);
    border-left: 1px solid #DEDEDE;
}
#wrapper.biomass .feature_box .mark .logo img + img{
    margin-top: 1.5rem;
}
#wrapper.biomass main.product_child .item.large_img{
    background: #D3DFD9;
}

/* 業務用食器_事業所給食向け食器 */
#wrapper.meal .mv .img{
    background:url(images/meal_mv.jpg) center / cover no-repeat;
}
/* 業務用食器_医療・福祉向け食器 */
#wrapper.medical .mv .img{
    background:url(images/medical_mv.jpg) center / cover no-repeat;
}
/* 業務用食器_学校・保育園・幼稚園向け食器 */
#wrapper.school .mv .img{
    background:url(images/school_mv.jpg) center / cover no-repeat;
}
#wrapper:has(main[class="product_child"]).lunchbox .mv .ttl{
    width: 7.5em;
}
/* 業務用弁当容器 */
#wrapper.lunchbox .mv .img{
    background:url(images/lunchbox_mv.jpg) center / cover no-repeat;
}
/* 日用品 卓上用品 */
#wrapper.tabletop .mv .img{
    background:url(images/tabletop_mv.jpg) center / cover no-repeat;
}
/* 日用品 介護用品 */
#wrapper.care .mv .img{
    background:url(images/care_mv.jpg) center / cover no-repeat;
}
#wrapper:has(main[class="product_child"]).care .copy .link{
    width: 100%;
}
#wrapper:has(main[class="product_child"]).care .copy .pdf a.flex{
    width: 90%;
    max-width: 54.8rem;
    height: 9.2rem;
    padding: .1rem 11.1rem;
    background: #0B58A0;
    color: #fff;
    overflow: hidden;
    gap: 0;
    margin: 0 auto 1.6rem;
    border-radius: .5rem;
}
#wrapper:has(main[class="product_child"]).care .copy .pdf .txt{
    width: calc(100% - 9.2rem);
    text-align: center;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 1.5;
    padding: 3.4rem 0;
}
#wrapper:has(main[class="product_child"]).care .copy .pdf .img{
    padding: 1rem 0 0;
    width: 9.2rem;
}
#wrapper:has(main[class="product_child"]).care .copy .pdf .img img{
    height: unset;
}
#wrapper:has(main[class="product_child"]).care .copy .amazon a.flex{
    width: 90%;
    max-width: 54.8rem;
    height: 6.2rem;
    padding: 0;
    border: .1rem solid #393939;
    color: #fff;
    overflow: hidden;
    gap: 0;
    margin: 0 auto 1.6rem;
    border-radius: .5rem;
}
#wrapper:has(main[class="product_child"]).care .copy .amazon .txt{
    width: calc(100% - 22.2rem);
    text-align: center;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 6.2rem;
    background: #393939;
}
#wrapper:has(main[class="product_child"]).care .copy .amazon .logo{
    width: 22.2rem;
    padding: 1.3rem 0;
    height: 100%;
}
#wrapper:has(main[class="product_child"]).care .copy .amazon .logo img{
    height: 3.6rem;
    width: 100%;
    object-fit: contain;
}
#wrapper:has(main[class="product_child"]).care .item.large_img .img_box:before{
    display: none;
}
#wrapper:has(main[class="product_child"]).care .item.large_img .list > .flex:nth-of-type(odd) .img_box{
    background: #FEF8EA;
}
#wrapper:has(main[class="product_child"]).care .item.large_img .list > .flex:nth-of-type(even) .img_box{
    background: #F2F5FB;
}
#wrapper:has(main[class="product_child"]).care .item.large_img .img_box img{
    object-fit: contain;
}
#wrapper:has(main[class="product_child"]).care .item.large_img .txt h4{
    color: #393939;
    font-family: Zen Kaku Gothic New;
    font-weight: 700;
    font-size: 2rem;
    line-height: 1;
    margin-bottom: 1.6rem;
}


/* プラスチック成形(受託製造) */
#wrapper.entrustment .entrustment.pagetop{
    display: none;
}
#wrapper.entrustment .mv .img {
    background: url(images/entrustment_mv.jpg) center / cover no-repeat;
}
#wrapper:has(main[class="product_child"]).entrustment .mv .ttl {
    width: 8.5em;;
}
#wrapper.page.entrustment main.product_child {
    padding: 6.4rem 0 13rem;
}
#wrapper.entrustment .copy{
    padding: 10rem 0;
}
#wrapper.entrustment .copy h3{
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: .1rem;
    text-align: center;
}
#wrapper.entrustment .entrustment_menu{
    background: #E3EDF2;
    padding: 4rem 0;
}
#wrapper.entrustment .entrustment_menu .flex{
    justify-content: center;
    gap: 2rem 4.8rem;
}
#wrapper.entrustment .entrustment_menu a{
    position: relative;
    display: block;
    width: 16.5rem;
    background: #fff;
    border-radius: .8rem;
    height: 7rem;
    padding: 1.45rem 1rem;
    text-align: center;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 1;
}
#wrapper.entrustment .entrustment_menu a p{
    font-weight: 700;
    font-size: 1.1rem;
    color: #0B58A0;
    margin-bottom: .5rem;
}
#wrapper.entrustment .entrustment_menu a span{
    position: absolute;
    display: block;
    width: 1.1rem;
    height: 1.1rem;
    background: url(images/icon_arrow_bottom_g.svg) center / contain no-repeat;
    bottom: 1.45rem;
    left: 50%;
    transform: translateX(-50%);
    opacity: .4;
}
#wrapper.entrustment .inner{
    max-width: 98rem;
    gap: 0 8rem;
}
#wrapper.entrustment .inner .title_blc{
    width: 18rem;
}
#wrapper.entrustment .inner .main_blc{
    width: 72rem;
}
#wrapper.entrustment .main_blc > *{
}
#wrapper.entrustment .main_blc .blc{
    padding: 5.6rem 0 7.2rem;
    border-top: 1px solid #E5E2E2;
}
#wrapper.entrustment .main_blc .blc > h4{
    font-weight: 500;
    font-size: 2rem;
    line-height: 2;
    letter-spacing: .1rem;
    text-align: center;
    margin-bottom: 2rem;
    color: #0B58A0;
}
#wrapper.entrustment .main_blc .blc > h4:has(p[class="note"]){
    line-height: 1.7;
}
#wrapper.entrustment .main_blc .blc > h4 .note{
    font-weight: 400;
    font-size: 1rem;
    color: #393939;
}
#wrapper.entrustment .main_blc .blc > h4 + p{
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: .1rem;
    text-align: center;
    margin-bottom: 5.6rem;
}
#wrapper.entrustment .main_blc .entrust_img{
    gap: 4rem;
    justify-content: center;
}
#wrapper.entrustment .main_blc .entrust_img > *{
    width: 24.7rem;
}
#wrapper.entrustment .main_blc .entrust_img .img img{
    border-radius: .4rem;
    width: 100%;
    aspect-ratio: 1.553;
    object-fit: cover;
    overflow: hidden;
    border-radius: .4rem;
    margin-bottom: 1.6rem;
}
#wrapper.entrustment .main_blc .entrust_img h5{
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 1.6;
    color: #0B58A0;
    margin-bottom: .8rem;
    object-fit: cover;
}
#wrapper.entrustment .main_blc .entrust_img h5 + p{
    font-weight: 400;
    font-size: 1.3rem;
    line-height: 1.6;
}
#wrapper.entrustment .main_blc .system02 .flow_wrap{
    max-width: 53.4rem;
    margin: 0 auto;
}
#wrapper.entrustment .main_blc .system02 *[class^=flow0]{
    padding-bottom: 2.6rem;
    background: url(images/entrustment_img03.png) center bottom / auto 2.6rem no-repeat;
}
#wrapper.entrustment .main_blc .system02 .flow03{
    padding: 2.6rem 0;
    background: url(images/entrustment_img03.png) center bottom / auto 2.6rem no-repeat, url(images/entrustment_img03.png) center top / auto 2.6rem no-repeat;
}
#wrapper.entrustment .main_blc .system02 .flow02,
#wrapper.entrustment .main_blc .system02 .flow06{
    padding: 0;
    background: none;
}
#wrapper.entrustment .main_blc .system02 .flow_box{
    padding: 4rem 1.6rem;
    border-radius: .7rem;
    height: 100%;
    background: #0B58A0;
    color: #fff;
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: .1rem;
    text-align: center;
}
#wrapper.entrustment .main_blc .system02 .flow_box h5{
    font-weight: 700;
    font-size: 1.8rem;
    margin-bottom: 1.6rem;
}
#wrapper.entrustment .main_blc .system02 .flow_wrap .flex{
    gap: 0 4rem;
}
#wrapper.entrustment .main_blc .system02 .flow_wrap .flow03{
    width: calc( (100% - 4rem ) / 2 );
}
#wrapper.entrustment .main_blc .system02 .flow03 .flow_ttl{
    min-height: 5.1rem;
    font-size: 1.8rem;
    line-height: 1.5;
}
#wrapper.entrustment .main_blc .system02 .flow03 .flow_ttl p{
    font-size: 1.2rem;
    line-height: 1.6;
    letter-spacing: 0px;
}
#wrapper.entrustment .main_blc .system02 .flow03 li{
    border-radius: .4rem;
    padding: .8rem;
    position:relative;
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 1.6;
    color: #0B58A0;
    background: #fff;
    margin-top: 1.6rem;
}
#wrapper.entrustment .main_blc .system02 .flow03 li + li:before{
    content: "";
    display: block;
    width: 1px;
    height: 1.6rem;
    position: absolute;
    top: -1.6rem;
    left: 50%;
    transform: translateX(-50%);
    background: #fff;
}
#wrapper.entrustment .main_blc .factory_menu{
    max-width: 50.8rem;
    margin: 0 auto  5.6rem;
    gap: 1.1rem 1.4rem;
}
#wrapper.entrustment .main_blc .factory_menu > *{
    width: calc( (100% - 1.4rem) /2 );
}
#wrapper.entrustment .main_blc .factory_menu a{
    display: block;
    border-radius: .4rem;
    padding: .8rem;
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 1.5;
    text-align: center;
    background: #0B58A0;
    color: #fff;
}
#wrapper.entrustment .main_blc .factory_list{
    max-width: 50.8rem;
    margin: 0 auto;
}
#wrapper.entrustment .main_blc .factory_data + h5,
#wrapper.entrustment .main_blc .factory + .factory{
    margin-top: 5.6rem;
}
#wrapper.entrustment .main_blc .factory_list h5{
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: .1rem;
}
#wrapper.entrustment .main_blc .factory_data{
    width: 90vw;
    max-width: 50.8rem;
    margin: 1.6rem auto 0;
    overflow-x: auto;
}
#wrapper.entrustment .main_blc .factory_data thead{
    background: #0B58A0;
    color: #fff;
    font-weight: 500;
    font-size: 1.1rem;
    line-height: 1.4;
    letter-spacing: .2rem;
}
#wrapper.entrustment .main_blc .factory_data thead th{
    padding: .8rem 0;
    white-space: nowrap;
}
#wrapper.entrustment .main_blc .factory_data tbody td{
    padding: .75rem .3rem;
    text-align: center;
    white-space: nowrap;
    font-weight: 500;
    font-size: 1.3rem;
    line-height: 1.4;
    letter-spacing: .1rem;
    background: #FBFBFB;
}
#wrapper.entrustment .main_blc .factory_data tbody tr + tr td{
    border-top: .05rem solid rgba(0, 0, 0, 0.1);
}
#wrapper.entrustment .main_blc .factory_data tbody tr td:not(:last-child){
    border-right: .05rem solid rgba(0, 0, 0, 0.1);
}
#wrapper.entrustment .main_blc .factory_data tbody{
    border-bottom: .05rem solid rgba(0, 0, 0, 0.1);
}
#wrapper.entrustment .main_blc .factory_data thead th + th{
    border-left: 1px solid #FFFFFF
}
#wrapper.entrustment .main_blc .factory_data table{
    width: 100%;
}
#wrapper.entrustment .main_blc .factory_data thead th:nth-of-type(1){
    width: 60%;
}
#wrapper.entrustment .main_blc .factory_data thead th:nth-of-type(2){
    width: 40%;
}
#wrapper.entrustment .main_blc .factory_data thead th:nth-of-type(3){
    width: 20.7rem;
}
#wrapper.entrustment .main_blc .factory_data thead th:nth-of-type(4){
    width: 6.1rem;
}
#wrapper.entrustment .main_blc .oem_img > .flex{
    gap: 2rem 3.6rem;
    max-width: 53.4rem;
    margin: 0 auto;
}
#wrapper.entrustment .main_blc .oem_img > .flex + .flex{
    margin-top: 4rem;
}
#wrapper.entrustment .main_blc .oem_img .img{
    width: 30.3rem;
    position: relative;
}
#wrapper.entrustment .main_blc .oem_img .img img{
    width: 100%;
    aspect-ratio: 1.905;
    object-fit: cover;
    border-radius: .4rem;
    cursor: pointer;
}
#wrapper.catalog .list .img:not(:has(img[src*="no_image"])),
#wrapper.checklist .item_wrap .main_blc .img:not(:has(img[src*="no_image"])),
#wrapper.search .item_wrap .main_blc .img:not(:has(img[src*="no_image"])){
    position: relative;
    cursor: pointer;
}
#wrapper.catalog .list .img:not(:has(img[src*="no_image"])):after,
#wrapper.checklist .item_wrap .main_blc .img:not(:has(img[src*="no_image"])):after,
#wrapper.search .item_wrap .main_blc .img:not(:has(img[src*="no_image"])):after,
#wrapper.entrustment .main_blc .oem_img .img:after{
    content: "";
    display: block;
    width: 2.5rem;
    height: 2.5rem;
    position: absolute;
    z-index: 1;
    right: .75rem;
    bottom: .75rem;
    border-radius: .5rem;
    background: rgba(0,0,0,0.3) url(images/icon_zoom_w.svg) center / 1.5rem auto no-repeat;
    pointer-events: none;
    z-index: 2;
}
#wrapper.entrustment .main_blc .oem_img .txt{
    width: calc(100% -  33.9rem);
}
#wrapper.entrustment .main_blc .oem_img .txt h5{
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 1.6;
    letter-spacing: -.1rem;
    margin-bottom: .8rem;
    color: #0B58A0;
}
#wrapper.entrustment .main_blc .oem_img .txt ul,
#wrapper.entrustment .main_blc .oem_img .txt li{
    list-style: "・ ";
    list-style-position: inside;
}
#wrapper.entrustment .main_blc .oem_img .txt li{
    font-weight: 400;
    font-size: 1.3rem;
    line-height: 1.6;
}

/* ショールーム */
#wrapper.showroom .mv .img{
    background:url(images/showroom_mv.jpg) center / cover no-repeat;
}
#wrapper.showroom .slide{
    position: relative;
}
#wrapper.showroom .slide img{
    width: 100vw;
    aspect-ratio: 1.7245;
    object-fit: cover;
}
#wrapper.showroom .slide .nav{
    width: 80vw;
    height: 12.7rem;
    border-radius: 0 3rem 0 0;
    background: #fff;
    padding: 4rem;
    position: absolute;
    bottom: 0;
    left: 0;
}
#wrapper.showroom .slide .arrow_box{
    width: 100%;
    display: flex;
    justify-content: flex-end;
    flex-wrap: nowrap;
    gap: 1.6rem;
}
#wrapper.showroom .slide .slick-arrow{
    display: block;
    width: 4.8rem;
    height: 4.8rem;
    border: 1px solid #0B58A0;
    border-radius: 50%;
    cursor: pointer;
    transition: opacity .2s linear;
    opacity: 1;
}
#wrapper.showroom .slide .slick-arrow:hover{
    opacity: 0.6;
}
#wrapper.showroom .slide .slick-arrow.prev-arrow{
    background: url(images/icon_arrow_back_b.svg) center / 1.4rem auto no-repeat;
}
#wrapper.showroom .slide .slick-arrow.next-arrow{
    background: url(images/icon_arrow_b.svg) center / 1.4rem auto no-repeat;
}
#wrapper.showroom .ex{
    width: 90%;
    max-width: 60rem;
    margin: 0 auto;
}
#wrapper.showroom .ex p{
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: .1rem;
    margin-bottom: 8.5rem;
}
#wrapper.showroom .ex dd .flex{
    gap: 2rem 0;
}
#wrapper.showroom .ex dd .txt{
    width: 36rem;
}
#wrapper.showroom main .contact{
    width: 90%;
    max-width: 60rem;
    margin: 4.5rem auto 0;
    border: 2px solid #0B58A0;
    border-radius: .5rem;
    padding: 3rem 4rem 3.7rem;
}
#wrapper.showroom main .contact .flex{
    gap: 2rem 3.5rem;
    margin-bottom: 2.2rem;
}
#wrapper.showroom main .contact .flex > *{
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 1.66;
    text-align: justify;
}
#wrapper.showroom main .contact .flex .left{
    flex: 1;
}
#wrapper.showroom main .contact .flex .right{
    width: 19.5rem;;
}
#wrapper.showroom main .contact .flex p{
    font-weight: 400;
    font-size: 2.6rem;
    line-height: 1;
    letter-spacing: 0px;
}
#wrapper.showroom main .contact a{
    height: 3.7rem;
    padding: .9rem 0;
    font-size: 1.4rem;
}


/* 台和製ウォッチング */
#wrapper.watching .mv:before{
    display: none;
}
#wrapper.watching .mv{
    height: 52.1rem;
}
#wrapper.watching .mv h2{
    text-indent: -9999px;
    width: 90%;
    max-width: 49.4rem;;
    position: absolute;
    top: 15.1rem;
    left: 50%;
    transform: translateX(-50%);
    aspect-ratio: 4.099;
    background: url(images/watching_logo.png) center / contain no-repeat;
}
#wrapper.watching .mv .txt{
    position: absolute;
    top: 33.1rem;
    left: 50%;
    transform: translateX(-50%);
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: .1rem;
    text-align: center;
    width: 90%;
}
#wrapper.watching .mv .breadcrumb{
    color: #393939;
}
#wrapper.watching .mv .breadcrumb ul li:not(:last-child):after {
    background: url(images/icon_chevron_g.svg) center / contain no-repeat;
}
#wrapper.watching section.map{
    position: relative;
    padding: 2.15% 0 0 ;
}
#wrapper.watching section.map div[id^=pin]{
    position: absolute;
    width: 2.84%;
    aspect-ratio: 0.638;
    cursor: pointer;

}
#wrapper.watching section.map div[id^=pin].active,
#wrapper.watching section.map div[id^=pin]:hover{
    animation-name: bounce;
    animation-duration: .5s;
    animation-iteration-count: 3;
    animation-timing-function: linear;
    transform-origin: center bottom;
}
#wrapper.watching section.map div[id^=pin] img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}
#wrapper.watching section.map #pin01{
    top: 36.842%;
    left: 41.769%;
}
#wrapper.watching section.map #pin02{
    top: 45.51%;
    left: 35.692%;
}
#wrapper.watching section.map #pin03{
    top: 56.191%;
    left: 32.461%;
}
#wrapper.watching section.map #pin04{
    top: 63.312%;
    left: 53.461%;
}
#wrapper.watching section.map #pin05{
    top: 0%;
    left: 57.4%;
}
#wrapper.watching section.map #pin06{
    top: 19.195%;
    left: 66.307%;
}
#wrapper.watching section.map #pin07{
    top: 37.461%;
    left: 71.615%;
}
#wrapper.watching section.map #pin08{
    top: 65.479%;
    left: 81.538%;
}
#wrapper.watching section.map #pin09{
    top: 64.551%;
    left: 62.23%;
}
#wrapper.watching section.map *[id^=chara]{
    position: absolute;
}
#wrapper.watching section.map #chara01{
    width: 2.423%;
    aspect-ratio: 0.926;
    top: 29%;
    left: 77.23%;
}
#wrapper.watching section.map #chara02{
    width: 2.538%;
    aspect-ratio: 0.846;
    top: 77.802%;
    left: 70.692%;
}
#wrapper.watching section.map #chara03{
    width: 2.23%;
    aspect-ratio: 0.763;
    top: 73.102%;
    left: 46.538%;
}
#wrapper.watching section.map .chara_img,
#wrapper.watching section.map .pin_img{
    position: absolute;
    opacity: 0;
    pointer-events: none;
    width: 24%;
    z-index: 100;
    transition: opacity .2s linear;
}
#wrapper.watching section.map .chara_img{
    transform: translateY(10px);
    transition: opacity .2s linear,transform .2s ease-in;
}
#wrapper.watching section.map *[id^=chara].active img,
#wrapper.watching section.map *[id^=chara]:hover img{
    animation-name: bounce;
    animation-duration: .5s;
    animation-iteration-count: 3;
    animation-timing-function: linear;
    transform-origin: center bottom;
}
@keyframes bounce {
    0%   { transform: scale(1.0, 1.0) translate(0%, 0%); } /* 初期状態 */
    30%  { transform: scale(1.2, 0.8) translate(0%, 0%); } /* 地面に着地し、その変動で潰れだす */
    40%  { transform: scale(1.0, 1.0) translate(0%, 0%); } /* 潰れた反動で一瞬元に戻る */
    50%  { transform: scale(0.8, 1.3) translate(0%, -10%); } /* 潰れた反動で縦に伸び、その勢いでバウンド開始 */
    60%  { transform: scale(1.0, 1.0) translate(0%, -30%); } /* 潰れた反動が終り、空中で元に戻る */
    100% { transform: scale(1.0, 1.0) translate(0%, 0%); } /* 初期状態に戻る */
}
#wrapper.watching section.map #pin01 + .pin_img{
    top: 11.25%;
    left: 35.92%;
}
#wrapper.watching section.map #pin02 + .pin_img{
    top: 18.98%;
    left: 36.92%;
}
#wrapper.watching section.map #pin03 + .pin_img{
    top: 60.49%;
    left: 9.69%;
}
#wrapper.watching section.map #pin04 + .pin_img{
    top: 36.842%;
    left: 40.153%;
}
#wrapper.watching section.map #pin05 + .pin_img{
    top: 5.57%;
    left: 37.538%;
}
#wrapper.watching section.map #pin06 + .pin_img{
    top: 2.57%;
    left: 70.846%;
}
#wrapper.watching section.map #pin07 + .pin_img{
    top: 13.57%;
    left: 70.846%;
}
#wrapper.watching section.map #pin08 + .pin_img{
    top: 38.57%;
    left: 70.846%;
}
#wrapper.watching section.map #pin09 + .pin_img{
    top: 55.57%;
    left: 65.846%;
}
#wrapper.watching section.map #chara01 + .chara_img{
    top: 15.841%;
    left: 52.69%;
}
#wrapper.watching section.map #chara02 + .chara_img{
    top: 45.37%;
    left: 54.07%;
}
#wrapper.watching section.map #chara03 + .chara_img{
    top: 40.55%;
    left: 30%;
}
#wrapper.watching section.map .pin_img img{
    width: 100%;
    aspect-ratio: 1.823;
    object-fit: contain;
}
#wrapper.watching section.map div[id^=pin].disabled{
    pointer-events: none;
    opacity: 0.3;
}
#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^=pin]:hover + .pin_img,
#wrapper.watching section.map div[id^=pin].active + .pin_img{
    opacity: 1;
}
#wrapper.watching section.map div[id^=chara]:hover + .chara_img,
#wrapper.watching section.map div[id^=chara].active + .chara_img{
    transform: translateY(0);
}
#wrapper.watching section.list ul{
    justify-content: center;
    gap: 3.4rem 3.9rem;
    max-width: 100rem;
    margin: 0 auto;
}
#wrapper.watching section.list ul li{
    width: 30.5rem;
    
}

.form_table{
    display: table;
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0px;
}
.form_table dl{
    display: table-row;
    width: 100%;
}
.form_table dl > dt,
.form_table dl > dd{
    display: table-cell;
    vertical-align: middle;
}
.form_table dt,
.form_table dd{
    border-bottom: 1px solid #e5e2e2;
    padding: 2.4rem 0;
    font-size: 1.4rem;
    line-height: 1.5;
    font-weight: 500;
}
.form_table dt{
    width: calc(100% - 46rem);
    position: relative;
}
.form_table dt.inquire:after{
    content: "必須";
    display: inline-block;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    border: .125rem solid #D8534E;
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 2.95rem;
    padding: 0 .75rem;
    border-radius: .375rem;
    color: #D8534E;
    height: 2.95rem;
}
.form_table dd{
    width: 46rem;
    padding: 0 0 0 0.8rem;
}
.form_table dd .wpcf7-form-control-wrap{
    display: block;
}
.form_table dl.zipcode dd .wpcf7-form-control-wrap{
    display: inline;
}

.recruit-new-grad-form .form_table dt{
    width: calc( 100% - 45.3rem );
}
.recruit-new-grad-form .form_table dd{
    width: 45.3rem;
}
.recruit-new-grad-form .form_table.request_date dt{
    width: calc( 100% - 54.5rem );
    position: relative;
}
.recruit-new-grad-form .form_table.request_date dt div{
    background: #F1F1F1;
    position: absolute;
    top: 1rem;
    bottom: 1rem;
    left: 0;
    right: 0;
    padding: 5rem 1rem;
    text-align: center;
    font-size: 1.1rem;
    line-height: 159%;
}
.recruit-new-grad-form .form_table.request_date dd{
    width: 54.5rem;
    padding: 2.4rem 0;
}
.recruit-new-grad-form .form_table.request_date .flex{
    align-items: center;
}
.recruit-new-grad-form .form_table.request_date .flex + .flex{
    margin-top: 2rem;
}
.recruit-new-grad-form .form_table.request_date .input{
    width: calc( 100% - 10rem);
}
.recruit-new-grad-form .form_table.request_date .txt{
    width: 10rem;
    padding: 0 1em;
}
.form_table textarea,
.form_table input[type="email"],
.form_table input[type="tel"],
.form_table input[type="text"]{
    width: 100%;
    border: .125rem solid #E5E2E2;
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 1.8;
    padding: 0 1.25rem;
    border-radius: .375rem;
    height: 3.2rem;
}
.form_table textarea{
    height: 10em;
    padding: .8rem 1.25rem;
    resize: vertical;
}
.form_table textarea::placeholder,
.form_table input[type="email"]::placeholder,
.form_table input[type="tel"]::placeholder,
.form_table input[type="text"]::placeholder{
    color: #a4a4a4;
}
.form_table .zipcode input[type="text"]{
    width: calc(100% - 12.4rem);
}
.form_table .zipcode button{
    display: inline-block;
    padding: 0;
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 2;
    height: 3.2rem;
    background-image: none;
    width: 11.6rem;
    vertical-align: bottom;
    border-radius: .375rem;
    cursor: pointer;
    margin-left: .5rem;
}
.form_table dl.msg > dt{
    vertical-align: top;
}
.form_table dl.msg > dd{
    padding: 2.4rem 0 2.4rem .8rem;
}
.form_table .wpcf7-checkbox input{
    display: none;
}

.form_table .wpcf7-checkbox{
    display :flex;
    flex-wrap: wrap;
    gap: 1.2rem 2.4rem;
    border: 2px solid #333;
}


.form_table .wpcf7-list-item{
    margin: 0;
    display: block;
}
.form_table .wpcf7-list-item label{
    display: block;
    padding: 0 0 0 2.8rem;
    cursor: pointer;
    position: relative;
}
.form_table .wpcf7-list-item label:before{
    content: "";
    display: block;
    width: 1.8rem;
    height: 1.8rem;
    border: .125rem solid #E5E2E2;
    border-radius: .375rem;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
}
.form_table .wpcf7-list-item label:has(:checked):before{
    background: #0B58A0;
}
.form_table .wpcf7-list-item label:has(:checked):after{
    content: "";
    display: block;
    width: .5rem;
    height: .9rem;
    border-bottom: .2rem solid #fff;
    border-right: .2rem solid #fff;
    position: absolute;
    transform: rotate(45deg) translateY(-50%);
    z-index: 2;
    left: .3rem;
    top: 35%;
}
.form_table input.btn{
    margin: 2.4rem auto 0;
    text-align: center;
    cursor: pointer;
}


#wrapper.contact-form main,
#wrapper.recruit-new-grad-form main,
#wrapper.recruit-form main{
    width: 90%;
    max-width: 71.6rem;
    margin: 0 auto;
}
#wrapper.contact-form main h3,
#wrapper.recruit-new-grad-form main h3,
#wrapper.recruit-form main h3{
    font-weight: 500;
    font-size: 2.2rem;
    line-height: 1;
    letter-spacing: .2rem;
    text-align: center;
    vertical-align: middle;
    padding: 1.6rem 0;
    background: #0B58A0;
    color: #fff;
    margin: 0 0 3.8rem;
}
#wrapper.contact-form main .submit .btn,
#wrapper.recruit-new-grad-form main .submit .btn,
#wrapper.recruit-form main .submit .btn{
    margin: 2.4rem auto 0;
}
#wrapper.contact-form main .wpcf7-response-output,
#wrapper.recruit-new-grad-form main .wpcf7-response-output,
#wrapper.recruit-form main .wpcf7-response-output{
    margin:0 0 4rem;
    padding: 2.8rem 1rem;
    text-align: center;
    border: 1px solid #E3EDF2;
}
#wrapper.contact-form main .wpcf7-response-output h4,
#wrapper.recruit-new-grad-form main .wpcf7-response-output h4,
#wrapper.recruit-form main .wpcf7-response-output h4{
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 160%;
    margin-bottom: 1.5em;
    color: #0B58A0;
}
#wrapper.contact-form main .wpcf7-response-output p,
#wrapper.recruit-new-grad-form main .wpcf7-response-output p,
#wrapper.recruit-form main .wpcf7-response-output p{
    font-weight: 400;
    font-size: 10px;
    line-height: 160%;
    color: #393939;
}

/* ① 不要な「大きな外枠」を消す */
.form_table .wpcf7-checkbox {
    border: none !important;
}

/* ② すべてのチェックボックスの「〇（マス目）」だけを濃く・太くする */
#wrapper.checklist .item_wrap label:before,
#wrapper.search .item_wrap label:before,
.form_table label:before,
.wpcf7-checkbox label:before {
    border: 1.2px solid #555 !important; /* 薄いグレーから濃い1.5px枠に変更 */
    border-radius: 6px !important; /* ※角丸の四角にする設定。丸枠のままで良ければこの行を消してください */

}

/* ③ マウスを載せた時に枠色を変える（分かりやすくするため） */
#wrapper.checklist .item_wrap label:hover:before,
#wrapper.search .item_wrap label:hover:before,
.form_table label:hover:before,
.wpcf7-checkbox label:hover:before {
    border-color: #0b58a0 !important;
}

/* ④ チェックが入った時のスタイル */
#wrapper.checklist .item_wrap label:has(input:checked):before,
#wrapper.search .item_wrap label:has(input:checked):before,
.form_table label:has(input:checked):before,
.wpcf7-checkbox label:has(input:checked):before {
    background: #0b58a0 !important;
    border-color: #0b58a0 !important;
}
