@charset "UTF-8"; @media (max-width: 768px) {
    body.home {
		background: url("../images/home/promo_sp.png") no-repeat left top / 75rem 221rem;
    }

    section {
        padding-left: 0;
        padding-right: 0;
    }

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
プロモ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .promo_frame {
        padding: 0;
        min-height: 130rem;
    }

    .promo_frame > .base_width {
        width: calc(100% - 10rem);
    }

    .promo_frame .promo_inner {
        padding: 6rem 0 0;
    }

    .promo_frame .promo_inner p.ttl {
        width: 53.1rem;
        margin: 0 0 6rem 3rem;
    }

    .promo_frame .promo_inner p.deco {
        width: 100%;
    }

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
お知らせ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    #home_news {
        padding-top: 8rem;
        padding-bottom: 8rem;
    }

    #home_news .inner {
        flex-direction: column;
        gap: 5.5rem;
    }

    #home_news .txt_wrap {
        width: 100%;
        display: contents;
    }

    #home_news .txt_wrap h2 {
        order: 1;
        margin-bottom: 0;
    }

    #home_news .txt_wrap h2 .en {
        font-size: 11rem;
    }

    #home_news .txt_wrap h2 .ja {
        font-size: 3.4rem;
        padding-left: 1rem;
    }

    #home_news .txt_wrap p.cmn_btn {
        order: 3;
    }
    
    #home_news .txt_wrap p.cmn_btn a {
        margin: 0 auto;
    }

    #home_news .inner > ul {
        order: 2;
        width: 61rem;
        margin: 0 auto 3.5rem;
    }


    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
事業内容
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    #home_biz {
        padding-top: 6rem;
    }

    #home_biz::before {
        font-size: 13.8rem;
        top: 45rem;
        left: 4rem;
    }

    /*イントロ*/
    #home_biz .sec_intro {
        padding-bottom: 7.5rem;
    }

    #home_biz .sec_intro .inner {
        padding: 0;
    }

    #home_biz .sec_intro .inner p.slug {
        padding-left: 7rem;
        margin-bottom: 4rem;
    }

    #home_biz .sec_intro .inner p.slug img {
        width: 26rem;
    }

    #home_biz .sec_intro .inner p.slug::before {
        width: 4rem;
        height: 2px;
    }

    #home_biz .sec_intro .inner h2.main_ttl {
        width: 62rem;
        margin: 0 0 14rem;
    }

    #home_biz .sec_intro .inner p.img {
        width: 98%;
        position: relative;
        top: 0;
        right: 0;
        margin: 0 auto;
    }

    /*01/02共通*/
    #home_biz .sec_block {
        padding-bottom: 12rem;
    }

    #home_biz .sec_block .ol_list {
        padding: 9rem 3rem 0;
        gap: 4rem;
    }

    #home_biz .sec_block .ol_list::after {
        height: 303rem;
    }

    #home_biz .sec_block .ol_list .txt_wrap h2.main_ttl::before {
        top: -2rem;
        font-weight: 400;
    }

    #home_biz .sec_block .ol_list .txt_wrap p.main_txt {
        font-size: 3rem;
        width: 100%;
    }

    #home_biz .sec_block ul.items {
        margin: 0 calc(50% - calc(71.2rem / 2));
        width: 71.2rem;
        gap: 5rem;
    }

    #home_biz .sec_block ul.items li {
        width: 100%;
    }

    #home_biz .sec_block ul.items li p.img {
        width: 100%;
        padding-top: 40.8rem;
    }
    
    #home_biz .sec_block ul.items li.zoom_container:hover .img_container img {
        transform: translate(-50%, -50%) scale(1.0);
    }

    #home_biz .sec_block ul.items li .txt_area {
        width: 40rem;
        top: 3rem;
        right: 2rem;
        left: auto;
        bottom: auto;
        transform: none;
        border-radius: 0 4rem 4rem 0;
        background: var(--theme_s_color);
        height: auto;
        top: 50%;
        transform: translateY(-50%);
        margin: auto 0;
        padding-bottom: 9.5rem;
    }

    #home_biz .sec_block ul.items li .txt_area::after {
        position: absolute;
        content: "";
        background: no-repeat 50% / 2.1rem 1rem;
        width: 7rem;
        height: 7rem;
        border-radius: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        bottom: 2.5rem;
        right: 2rem;
        background-color: #fff;
        border: 2px solid #fff;
        background-image: url("../images/common/arrrow_lightblue.svg");
        border-color: var(--theme_s_color);
    }

    #home_biz .sec_block ul.items li .txt_area h3.ttl {
        position: relative;
        z-index: 1;
        margin-bottom: 2rem;
    }

    #home_biz .sec_block ul.items li .txt_area h3.ttl a {
        font-size: 4rem;
        background: transparent;
        padding: 0;
    }

    #home_biz .sec_block ul.items li .txt_area h3.ttl a span {
        display: inline-block;
        background: #fff;
        padding: 0 2rem 0 2rem;
        line-height: 1.4;
    }
    
    #home_biz .sec_block.sec_cir ul.items li:first-child .txt_area h3.ttl a span {
        min-width: 25.2rem;
    }
    
    #home_biz .sec_block ul.items li .txt_area h3.ttl a span:nth-child(2) {
        margin-top: -.5rem;
        display: table;
    }

    #home_biz .sec_block ul.items li .txt_area .txt {
        z-index: 0;
        margin-top: 0;
    }

    #home_biz .sec_block ul.items li .txt_area .txt.btn_lightblue::after {
        content: none;
    }

    #home_biz .sec_block ul.items li .txt_area .txt p {
        font-size: 2.6rem;
        padding: 0 3rem;
    }

    /*01環境マネジメントと事業*/
    #home_biz .sec_env .ol_list {
        margin-bottom: 10rem;
    }

    #home_biz .sec_env .ol_list .txt_wrap h2.main_ttl::before {
        left: -8rem;
    }

    #home_biz .sec_env .ol_list p.icon_wrap {
        width: 41.8rem;
        margin-top: 2rem;
        margin-right: 6rem;
    }

    /*02サーキュラーエコノミー事業*/
    #home_biz .sec_cir {
        padding-bottom: 3rem;
    }

    #home_biz .sec_cir .ol_list {
        margin-bottom: 8rem;
    }

    #home_biz .sec_cir .ol_list::after {
        height: 220rem;
    }

    #home_biz .sec_cir .ol_list .txt_wrap h2.main_ttl::before {
        right: 15rem;
        top: -1rem;
    }

    #home_biz .sec_cir .ol_list p.icon_wrap {
        width: 49.2rem;
        margin-top: 3rem;
    }
    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
会社概要
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    #home_com {
        padding-top: 9rem;
    }

    #home_com .bg_wrap {
        padding-bottom: 16rem;
    }

    #home_com .bg_wrap::after {
        top: 11rem;
        bottom: auto;
        width: 70rem;
        height: 166rem;
        left: 0;
        right: auto;
    }

    #home_com .inner {
        flex-direction: column-reverse;
        margin: 0;
        gap: 7rem;
    }

    #home_com .inner .img_wrap {
        width: 100vw;
        margin: 0 calc(50% - 50vw);
        display: flex;
        flex-direction: column;
        align-items: flex-end;
    }

    #home_com .inner .img_wrap p.img.main img {
        width: 59.4rem;
        border-radius: 4rem 0 0 4rem;
    }

    #home_com .inner .img_wrap p.img.sub {
        left: 16rem;
        bottom: -8rem;
    }

    #home_com .inner .img_wrap p.img.sub img {
        width: 30rem;
    }

    #home_com .inner .txt_wrap {
        margin: 0;
    }

    #home_com .inner .txt_wrap h2.main_ttl {
        margin-bottom: 6rem;
    }

    #home_com .inner .txt_wrap h2.main_ttl .ja {
        font-size: 3.6rem;
    }

    #home_com .inner .txt_wrap h2.main_ttl .en {
        width: 63rem;
    }

    #home_com .inner .txt_wrap ul.items {
        margin: 0 0 0 4rem;
    }

    #home_com .inner .txt_wrap ul.items li a {
        font-size: 4rem;
        padding: 6rem 2.5rem;
    }

    #home_com .inner .txt_wrap ul.items li a::before, #home_com .inner .txt_wrap ul.items li a::after {
        right: 2rem;
    }

    #home_com .csr {
        width: 65rem;
        -webkit-background-size: cover;
        background-size: cover;
    }

    #home_com .csr .txt_wrap {
        padding: 6.5rem 0rem 6.5rem 7rem;
        height: 100%;
    }

    #home_com .csr .txt_wrap::after {
        top: auto;
        transform: none;
        bottom: 4rem;
        right: 4rem;
        width: 8rem;
        height: 8rem;
    }

    #home_com .csr .txt_wrap p.txt {
        font-size: 3.2rem;
        text-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
        font-weight: bold;
    }
}

/*FINISH*/

