@charset "UTF-8"; @media (max-width: 768px) {
    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
プロモ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */.promo_frame {
        min-height: 130rem;
    }

    .promo_wrap {
        position: absolute;
        bottom: 16rem;
        left: 50%;
        transform: translateX(-50%);
        width: calc(100% - 12rem);
    }

    .promo_wrap p.lead {
        font-size: 4.4rem;
    }

    .promo_wrap p.life-tech img {
        width: 63.4rem;
    }

    .promo_wrap p.evolving-into {
    }

    .promo_wrap p.life-tech {
    }
    
    .promo_wrap .sp_btn a{
        position: absolute;
        content: "";
        width: 3rem;
        height: 3rem;
        border: 1px solid #fff;
        transition: .2s ease-in;
        background: url(../../images/common/arrow02.svg) no-repeat 50% / 1.6rem .7rem;
        bottom: -11rem;
        right: 0.5rem;
        display: block;
        
    }

    .promo_wrap p.promo_txt {
    }

    .promo_wrap p.big_txt {
    }

    .promo_wrap p.cmn_btn.btn {
    }

    .promo_wrap p.cmn_btn.btn a {
    }

    .promo_wrap p.cmn_btn.btn a::after {
    }

    #granim-canvas {
    }

    .diagram-overlay {
    }

    #granim-canvas {
    }

    div.promo_sp_under {
        padding: 10rem 0 5rem;
    }

    div.promo_sp_under div.base_width {
    }

    div.promo_sp_under div.base_width .promo_txt_wrap {
        margin-bottom: 6rem;
    }

    div.promo_sp_under div.base_width .promo_txt_wrap p {
        line-height: 2.25;
        letter-spacing: .03em;
    }

    div.promo_sp_under div.base_width .promo_txt_wrap p:not(:last-child) {
        margin-bottom: 6.5rem;
    }

    div.promo_sp_under div.base_width p.big_txt {
        font-size: 4.4rem;
        line-height: 1.72727272;
    }

    div.promo_sp_under div.base_width p.cmn_btn.btn {
    }

    div.promo_sp_under div.base_width p.cmn_btn.btn a {
    }

    /*============================
#home_other
============================*/
    #home_other {
        padding-bottom: 36rem;
    }

    #home_other::after {
        ]: 6rem; width: 132.4rem;
        height: 14.2rem;
        top: 10rem;
        left: -29rem;
    }

    #home_other .base_width {
        width: 100%;
    }

    #home_other .inner {
    }

    #home_other .inner .box {
        min-height: 60rem;
    }

    #home_other div.hover_contents {
        display: none;
    }

    #home_other .inner .box:not(:last-child)::before, #home_other .inner .box:not(:last-child)::after {
        width: 21rem;
    }

    #home_other .inner .box:not(:last-child)::before {
    }

    #home_other .inner .box:not(:last-child)::after {
    }

    #home_other .inner .box h3.ttl {
    }

    #home_other .inner .box .sp_arrow {
        position: absolute;
        bottom: 3.5rem;
        right: 3.5rem;
        width: 3.2rem;
        height: 3.2rem;
        display: grid !important;
        justify-content: center;
        align-items: center;
        border: 1px solid #fff;
    }

    #home_other .inner .box .sp_arrow img {
        width: 1.8rem;
    }

    #home_other .inner .box .bg::after {
        content: none;
    }

    #home_other .inner .box h3.ttl span {
    }

    #home_other .inner .box h3.ttl span.ja {
        font-size: 6rem;
    }

    #home_other .inner .box h3.ttl span.en {
        font-size: 3.2rem;
    }

    #home_other .inner .box.emotion {
        background-image: url("../../images/home/other_img01_sp.jpg");
    }

    #home_other .inner .box.innovation {
        background-image: url("../../images/home/other_img02_sp.jpg");
    }

    #home_other .inner .box.creation {
        background-image: url("../../images/home/other_img03_sp.jpg");
    }

    /*============================
#home_news
============================*/
    #home_news {
        padding: 16rem 0 15.5rem;
    }

    #home_news h2.main_ttl {
        font-size: 8rem;
    }

    #home_news p.btn {
        margin-top: 12rem;
    }

    #home_news p.btn a {
    }

    #home_news p.btn a::after {
    }

    /*============================
#home_mind
============================*/
    #home_mind {
        padding: 36rem 0 37rem;
    }

    #home_mind .relative {
    }

    #home_mind .contents {
        margin: auto;
        min-height: auto;
        max-width: none;
    }

    #home_mind h2.main_ttl {
        order: 1;
        letter-spacing: .04em;
        font-size: 4.5rem;
    }

    #home_mind p.lead {
        order: 2;
        font-size: 2.8rem;
        margin-bottom: 3rem;
    }

    #home_mind p.main_txt {
        order: 4;
        font-size: 3.2rem;
        margin-bottom: 4rem;
    }

    #home_mind p.main_img {
        position: static;
        order: 3;
        width: 100lvw;
        margin: 0 calc(50% - 50lvw);
        width: 100vw;
        /* 一旦100vwにするか、または 100% のままにするか */
        /* ★スクロールバーの幅を無視して、親要素を基準に完全に中央へ引っ張る魔法の呪文 */
        width: 100dvw;
        margin-left: calc(50% - 50dvw);
        margin-right: calc(50% - 50dvw);
        margin-bottom: 3rem;
    }

    #home_mind p.cmn_btn {
        order: 5;
    }

    #home_mind p.cmn_btn a {
    }

    /*============================
#home_biz
============================*/
    #home_biz {
        padding-bottom: 36rem;
    }

    #home_biz .base_width {
        display: grid;
    }

    #home_biz .ttl_wrap {
        order: 1;
    }

    #home_biz .ttl_wrap h2.main_ttl {
        font-size: 4.8rem;
    }

    #home_biz .ttl_wrap p.main_lead {
        font-size: 2.8rem;
        line-height: 1.714285714;
    }

    #home_biz p.main_txt {
        order: 4;
        font-size: 3.2rem;
        margin-top: 3rem;
        line-height: 1.875;
        margin-bottom: 3rem;
    }

    #home_biz ol.items {
        order: 2;
        grid-template-columns: 1fr;
        width: 100lvw;
        margin: 0 calc(50% - 50lvw);
        width: 100vw;
        /* 一旦100vwにするか、または 100% のままにするか */
        /* ★スクロールバーの幅を無視して、親要素を基準に完全に中央へ引っ張る魔法の呪文 */
        width: 100dvw;
        margin-left: calc(50% - 50dvw);
        margin-right: calc(50% - 50dvw);
        gap: 0;
        flex-wrap: wrap;
    }

    #home_biz ol.items li {
        min-height: 60rem;
        flex: none;
        width: 100%;
    }

    #home_biz ol.items li::after {
        background: url("../../images/common/arrow02.svg") no-repeat 50% /1.6rem .7rem;
        bottom: 4rem;
        right: 4rem;
    }

    #home_biz h3.ttl {
    }

    #home_biz ol h3.ttl {
        font-size: 4rem;
    }

    #home_biz ol h3.ttl::before {
        height: 3.5rem;
        right: 2.8rem;
        bottom: 1rem;
    }

    #home_biz ol h3.ttl::after {
        font-size: 3.6rem;
        bottom: 0.6rem;
    }

    #home_biz .box h3.ttl {
        font-size: 4rem;
    }

    #home_biz ol.items li h3.ttl {
    padding-right: 4rem;
    }

    #home_biz ol.items li.core01 {
    }

    #home_biz ol.items li.core01 h3.ttl {
    }

    #home_biz ol h4.hover_ttl {
        display:none;
    }

    #home_biz ol.items li.core02 {
    }

    #home_biz ol.items li.core02 h3.ttl {
    }

    #home_biz ol.items li.core03 {
    }

    #home_biz ol.items li.core03 h3.ttl {
    }

    #home_biz .box {
        order: 3;
        width: 100vw;
        /* 一旦100vwにするか、または 100% のままにするか */
        /* ★スクロールバーの幅を無視して、親要素を基準に完全に中央へ引っ張る魔法の呪文 */
        width: 100dvw;
        margin-left: calc(50% - 50dvw);
        margin-right: calc(50% - 50dvw);
        min-height: 60rem;
        background-image: url("../../images/home/biz_img04_sp.jpg");
        margin-top: 0;
    }

    #home_biz .box::after {
        width: 3.2rem;
        height: 3.2rem;
        bottom: 4rem;
        right: 4rem;
    }

    #home_biz .box h3.ttl {
    }

    #home_biz .box p.lead {
        font-size: 2.8rem;
    }

    #home_biz p.btn {
        position: static;
        order: 5;
    }
    /*============================
#home_vision
============================*/
    #home_vision .bg {
        background-image: url("../../images/home/vision_img01_sp.jpg");
        margin-bottom: 4.5rem;
    }

    #home_vision .contents {
        min-height: 75rem;
        align-content: flex-start;
        padding: 15rem 0;
    }

    #home_vision .contents p.lead {
        font-size: 2.8rem;
        padding: 0;
        text-align: right;
    }

    #home_vision .contents h2.main_ttl {
        font-size: 8.8rem;
        text-align: end;
    }

    #home_vision .contents p.btn {
    }

    #home_vision .contents p.btn a {
    }

    #home_vision .contents p.btn a::after {
    }

    /*============================
#home_about
============================*/
    #home_about {
        padding-top: 36rem;
        padding-bottom: 36rem;
    }

    #home_about .base_width {
    }

    #home_about .ttl_wrap {
    }

    #home_about .ttl_wrap h2.main_ttl {
        font-size: 4.5rem;
    }

    #home_about .ttl_wrap p.main_lead {
        font-size: 2.8rem;
    }

    #home_about .inner {
        grid-template-columns: 1fr;
        grid-template-rows: 1fr;
        min-height: auto;
        gap: 4rem;
        margin-bottom: 4rem;
    }

    #home_about .inner .item {
        border-radius: 0;
    }

    #home_about .inner .item::after {
        width: 3.2rem;
        height: 3.2rem;
        bottom: 3.5rem;
        right: 3.5rem;
    }

    #home_about .inner .item .contents {
        padding: 2rem 4rem;
    }

    #home_about .inner .item h3.ttl {
    }

    #home_about .inner .item h3.ttl a {
    }

    #home_about .inner .item h3.ttl span {
    }

    #home_about .inner .item h3.ttl span.en {
        font-size: 4rem;
    }

    #home_about .inner .item h3.ttl span.ja {
        font-size: 2.4rem;
    }

    #home_about .inner .area_a.item {
        grid: none;
        grid-column: auto;
        grid-row: auto;
        background-image: url("../../images/home/about_img01_sp.jpg");
        min-height: 80rem;
    }

    #home_about .inner .area_a.item .contents {
        padding: 4rem 4rem;
    }

    #home_about .inner .area_a.item .contents h3.ttl {
    }

    #home_about .inner .area_a.item .contents h3.ttl span.en {
    }

    #home_about .inner .area_a.item .contents h3.ttl span.ja {
    }

    #home_about .inner .area_b.item {
        grid-column: auto;
        grid-row: auto;
        min-height: 40rem;
    }

    #home_about .inner .area_b.item h3.ttl {
    }

    #home_about .inner .area_b.item h3.ttl span.en {
    }

    #home_about .inner .area_b.item h3.ttl span.ja {
    }

    #home_about .inner .area_c.item {
        grid-column: auto;
        grid-row: auto;
        min-height: 40rem;
    }

    #home_about .inner .area_c.item h3.ttl {
    }

    #home_about .inner .area_c.item h3.ttl span.en {
    }

    #home_about .inner .area_c.item h3.ttl span.ja {
    }

    #home_about p.btn {
        position: static;
    }

    /*============================
#home_recruit
============================*/
    #home_recruit {
    }

    #home_recruit .bg {
        background-image: url("../../images/home/recruit_img_sp.jpg");
    }

    #home_recruit .ttl_wrap {
    width: calc(100% - 12rem);
    margin: 0 auto 3rem;
    }

    #home_recruit .ttl_wrap h2.main_ttl {
        font-size: 4.5rem;
    }

    #home_recruit .ttl_wrap p.main_lead {
        font-size: 2.4rem;
    }

    #home_recruit div.base_width {
        width: 100%;
    }

    #home_recruit div.base_width div.contens {
        min-height: 75rem;
        justify-content: flex-end;
        padding-bottom: 7rem;
    }

    #home_recruit div.base_width div.contens h2.main_ttl {
        font-size: 4.4rem;
        text-align: center;
        line-height: 1.636363636;
        margin-bottom: 17rem;
    }

    #home_recruit div.base_width div.contens p.btn {
    }

    #home_recruit div.base_width div.contens p.btn a {
        font-size: 3.6rem;
        padding-right: 8rem;
    }

    #home_recruit div.base_width div.contens p.btn a::after {
        width: 4rem;
        height: 4rem;
    }
}

/*FINISH*/
