@charset "UTF-8";

@media only screen and (max-width: 1400px)  {
.cmn_maxbox_1400{
    padding-left: 3%;
    padding-right: 3%;
}
}
@media only screen and (max-width: 1300px)  {
.cmn_maxbox_1300{
    padding-left: 3%;
    padding-right: 3%;
}
}
@media only screen and (max-width: 1200px)  {
.cmn_maxbox_1200{
    padding-left: 3%;
    padding-right: 3%;
}
}

@media only screen and (max-width: 1000px)  {

.spNone {
    display: none;
}

.pcNone{
    display: block;
}

/* cmn_maxbox */
.cmn_maxbox{
    padding-left: 3%;
    padding-right: 3%;
}

/* cmn ///////////////////////////////////// */

/* modal_menu */

#header_modalmenu_close_bg,
#header_modalmenu_area{
    display: block;
}

/* header */

.header_infobar{
    height: 60px;
}

.header_logo{
    width: 420px;
    font-size: 24px;
}

/* footer */

.footer_bottom{
    padding: 9px 3%;
}

/* cmn_tit */

.cmn_tit_1st h2::before{
    width: 50px;
}



/* home ///////////////////////////////////// */

/* homme_content */

.home_content .cmn_content > div > figure{
    width: 55%;
}

.home_experience_img{
    left: 3%;
}

.home_experience .cmn_content > div > div{
    width: 300px;
}

/* experience ///////////////////////////////////// */

.experience_item:nth-of-type(2n-1) > div {
    margin-left: 0;
}

.experience_item:nth-of-type(2n-1) > div > .cmn_tit_1st,
.experience_item:nth-of-type(2n-1) > div > .cmn_content > p,
.experience_item:nth-of-type(2n-1) > div > .cmn_content > div{
    margin-left: 3%;
    padding-right: 3%;
}

.experience_item:nth-of-type(2n) > div > .cmn_tit_1st,
.experience_item:nth-of-type(2n) > div > .cmn_content > p,
.experience_item:nth-of-type(2n) > div > .cmn_content > div{
    padding-left: 3%;
    margin-right: 3%;
}


/* bagasse ///////////////////////////////////// */

.bagassse_about .cmn_content > div{
    padding: 0 3%;
}

.bagassse_about .cmn_content > div > h2 > figure{
    width: 100%;
    max-width: 350px;
    margin: 0 auto;
    transform: translateX(0);
}

.bagassse_about .cmn_content > div > figure{
    right: 3%;
}


/* home ///////////////////////////////////// */


}




















@media (max-width: 800px) {

.spNone2 {
    display: none;
}

.pcNone2{
    display: block;
}

/* cmn_maxbox */
.cmn_maxbox_600,
.cmn_maxbox_700,
.cmn_maxbox_800{
    padding-left: 3%;
    padding-right: 3%;
}

/* font-size */

.fs16{
    font-size: 1.5rem;
}
.fs18{
    font-size: 1.7rem;
}
.fs20{
    font-size: 1.9rem;
}
.fs22{
    font-size: 2.0rem;
}
.fs24{
    font-size: 2.2rem;
}
.fs26{
    font-size: 2.3rem;
}
.fs28{
    font-size: 2.5rem;
}
.fs30{
    font-size: 2.7rem;
}
.fs32{
    font-size: 2.8rem;
}
.fs34{
    font-size: 3.0rem;
}
.fs36{
    font-size: 3.1rem;
}
.fs40{
    font-size: 3.5rem;
}
.fs42{
    font-size: 3.6rem;
}
.fs45{
    font-size: 3.8rem;
}
.fs48{
    font-size: 4.0rem;
}
.fs60{
    font-size: 5.0rem;
}

/* padding */

.pl40{padding-left: 35px;}
.pl50{padding-left: 40px;}
.pl60{padding-left: 45px;}
.pl70{padding-left: 55px;}
.pl80{padding-left: 65px;}
.pl100{padding-left: 80px;}
.pl150{padding-left: 120px;}

.pr40{padding-right: 35px;}
.pr50{padding-right: 40px;}
.pr60{padding-right: 45px;}
.pr70{padding-right: 55px;}
.pr80{padding-right: 65px;}
.pr100{padding-right: 80px;}
.pr150{padding-right: 120px;}

.pt40{padding-top: 35px;}
.pt50{padding-top: 40px;}
.pt60{padding-top: 45px;}
.pt70{padding-top: 55px;}
.pt80{padding-top: 65px;}
.pt100{padding-top: 80px;}
.pt150{padding-top: 120px;}

.pb40{padding-bottom: 35px;}
.pb50{padding-bottom: 40px;}
.pb60{padding-bottom: 45px;}
.pb70{padding-bottom: 55px;}
.pb80{padding-bottom: 65px;}
.pb100{padding-bottom: 80px;}
.pb150{padding-bottom: 120px;}

/* margin */

.ml40{margin-left: 35px;}
.ml50{margin-left: 40px;}
.ml60{margin-left: 45px;}
.ml70{margin-left: 55px;}
.ml80{margin-left: 65px;}
.ml100{margin-left: 80px;}
.ml150{margin-left: 120px;}

.mr40{margin-right: 35px;}
.mr50{margin-right: 40px;}
.mr60{margin-right: 45px;}
.mr70{margin-right: 55px;}
.mr80{margin-right: 65px;}
.mr100{margin-right: 80px;}
.mr150{margin-right: 120px;}

.mt40{margin-top: 35px;}
.mt50{margin-top: 40px;}
.mt60{margin-top: 45px;}
.mt70{margin-top: 55px;}
.mt80{margin-top: 65px;}
.mt100{margin-top: 80px;}
.mt150{margin-top: 120px;}

.mb40{margin-bottom: 35px;}
.mb50{margin-bottom: 40px;}
.mb60{margin-bottom: 45px;}
.mb70{margin-bottom: 55px;}
.mb80{margin-bottom: 65px;}
.mb100{margin-bottom: 80px;}
.mb150{margin-bottom: 120px;}

/* cmn ///////////////////////////////////// */

/* cmn_cms_editor */
.cmn_cms_editor h3 {
    font-size: 1.6rem;
}
.cmn_cms_editor h4 {
    font-size: 1.6rem;
}
.cmn_cms_editor h5 {
    font-size: 1.5rem;
}
.cmn_cms_editor h6 {
    font-size: 1.4rem;
}

/* header */

.footer_top > div{
    display: block;
}

.header_logo{
    width: 360px;
    font-size: 21px;
}

/* cmn_mainimg */

.cmn_mainimg{
    height: 250px;

    background-size: auto 80%;
}

/* footer */

.footer_top_left{
    text-align: center;
    margin-bottom: 20px;
}

.footer_title{
    display: inline-block;
    margin-top: 20px;
    margin-bottom: 10px;
}

.footer_top_left small{
    width: 100%;
    line-height: 20px;
    color: #fff;
    
    position: absolute;
    left: 50%;
    bottom: 5px;

    transform: translateX(-50%);
}

.footer_top_right{
    max-width: none;
}

.footer_bottom{
    display: block;
    padding-bottom: 40px;
}

.footer_bottom_left{
    justify-content: center;
}

.footer_bottom_right{
    display: none;
}

/* cmn_tit */

.cmn_tit_1st h2{
    padding-left: 50px;
}

.cmn_tit_1st h2::before{
    top: 17px;
}

.cmn_tit_1st h2::after{
    width: 34px;
    height: 34px;
}

/* cmn_dl */

.cmn_dl > div{
    display: block;
}


.cmn_dl > div dt{
    width: 100%;
    padding: 15px 20px 0;
    font-weight: 700;
}

.cmn_dl > div dd{
    padding: 15px 20px;
}


/* home ///////////////////////////////////// */

/* home_sns */

.home_sns .cmn_content{
    display: block;
}

.js-fb{
    width: 100%;
    max-width: 475px;
    margin: 0 auto;
}

.home_sns_instagram{
    width: 100%;
    max-width: 475px;
    margin: 30px auto 0;
}

/* home_content */

.home_experience{
    margin-top: 0px;
}

.home_content::before,
.home_experience::before{
    width: 100%;
}

.home_content .cmn_content > div{
    display: block;
}

.home_about  .cmn_content > div{
    transform: translateY(0px);

    background-size: 150px auto;
    background-position: right top 20px;
}

.home_bagasse  .cmn_content > div{
    background-size: auto 100px;
    background-position: right top 20px;
}

.home_experience  .cmn_content > div{
    transform: translateY(0px);

    background-size: auto 130px;
    background-position: right top 10px;
}

.home_content .cmn_content > div > div,
.home_content .cmn_content > div > div,
.home_experience .cmn_content > div > div{
    width: 100%;
    padding-top: 90px;
}

.home_experience .cmn_content > div > div{
    min-height: auto;
}

.home_content .cmn_content > div > figure{
    width: 100%;
    height: 300px;
}

.home_content .home_content_text{
    width: 50.4px;
    top: auto;
    bottom: 10px;
    left: calc( 3% + 10px);
}

.home_bagasse .home_content_text{
    width: 61.8px;
    left: auto;
    right: calc( 3% + 10px);
}

.home_experience .home_content_text{
    width: 341px;
}

.home_experience_img{
    width: 94%;
    height: 300px;
    margin: 0 auto;

    position: relative;
    top: auto;
    left: auto;
}

/* about ///////////////////////////////////// */

.about_introduction{
    height: 500px;
}

.about_introduction_deco{
    width: 150px;

    left: 0;
    bottom: 0;
}

.about_partners .cmn_content > ul{
    grid-gap: 20px;
}

.about_company_map figure{
    width: 200px;
}

/* experience ///////////////////////////////////// */

.experience_item{
    display: block;
}

.experience_item > div{
    width: 100%;
}

.experience_item > div > .cmn_content:nth-of-type(2n-1) > div,
.experience_item > div > .cmn_content:nth-of-type(2n) > div{
    padding: 30px 3%;
    height: auto;
}

.experience_item:nth-of-type(2n-1) > div > .cmn_tit_1st,
.experience_item:nth-of-type(2n-1) > div > .cmn_content > p,
.experience_item:nth-of-type(2n-1) > div > .cmn_content > div,
.experience_item:nth-of-type(2n) > div > .cmn_tit_1st,
.experience_item:nth-of-type(2n) > div > .cmn_content > p,
.experience_item:nth-of-type(2n) > div > .cmn_content > div{
    margin-left: 3%;
    margin-right: 3%;
}

.experience_item .cmn_content > figure{
    width: 62.5px;
    bottom: 20px;
    left: auto;
    right: calc( 3% + 20px );
}

.experience_item:nth-of-type(2) .cmn_content > figure{
    width: 78.7px;
    left: auto;
    right: calc( 3% + 20px );
}

.experience_item:nth-of-type(3) .cmn_content > figure{
    width: 63.8px;
    bottom: 20px;
}

.experience_item_image{
    width: 94%;
    margin: 0 auto;
    height: 300px;
}

.experience_item_image > span{
    font-size: 1.6rem;
    width: 160px;
    line-height: 50px;
}

.experience_item_image > p{
    bottom: 10px;
    right: 10px;
}

.experience_flow .cmn_content > ul{
    grid-template-columns: repeat(1, 1fr);
}

.experience_flow .cmn_content > ul > li::before{
    border-width: 10px 10px 0 10px;
    border-color: var(--c2) transparent transparent transparent;

    position: absolute;
    right: auto;
    left: 50%;
    top: auto;
    bottom: -25px;
    transform: translate(-50%);
}

.experience_access_map{
    display: block;
}

.experience_access_map > figure{
    height: 250px;
}

/* bagasse ///////////////////////////////////// */

.bagassse_about .cmn_content{
    display: block;
}

.bagassse_about .cmn_content > div{
    width: 100%;
    padding-bottom: 70px;
}

.bagassse_about .cmn_content > div > figure{
    width: 130px;
}

.bagassse_about .cmn_content > figure{
    width: 94%;
    margin: 0 auto;
    height: 300px;
}

.bagassse_about .cmn_content > figure .bagasse_about_text{
    width: 61.8px;
}

.bagasse_feature_intro{
    display: block;
}

.bagasse_feature_intro > figure{
    width: 100%;
    height: 300px;
}

.bagasse_feature_intro > p{
    width: 100%;
    padding-left: 0;
}

.bagasse_feature_photos{
    grid-gap: 3%;
}

.bagasse_sdgs_list{
    grid-gap: 10px;
}


/* contact ///////////////////////////////////// */

.contact_adress > div{
    padding-top: 130px;
    background-size: auto 100px;
    background-position: left 50% top 20px;
}

/* contact_form */

.contact_body .cmn_dl > div dt,
.contact_body .cmn_dl > div dd{
    width: 100%;
}

.required {
    position: relative;
    margin-left: 30px;
    top: 10px;
    right: 0;
}

.contact_privacy{
    padding-left: 0;
    padding-right: 0;
}

.contact_privacy > div{
    padding: 30px 3%;
}

.contact_form .contact_btn_area{
    flex-direction: column-reverse;
}
.contact_form .contact_btn_area button{
    width: 200px;
}

.contact_form .contact_btn_area button:nth-of-type(1){
    margin: 50px auto 0;
}

.contact_form .contact_btn_area button:nth-of-type(2){
    margin: 30px auto 0;
}

}





















@media (max-width: 560px) {

.spNone3{
    display: none;
}

.pcNone3{
    display: block;
}

/* font-size */

.fs18{
    font-size: 1.6rem;
}
.fs20{
    font-size: 1.8rem;
}
.fs22{
    font-size: 1.9rem;
}
.fs24{
    font-size: 2.0rem;
}
.fs26{
    font-size: 2.1rem;
}
.fs28{
    font-size: 2.2rem;
}
.fs30{
    font-size: 2.3rem;
}
.fs32{
    font-size: 2.4rem;
}
.fs34{
    font-size: 2.6rem;
}
.fs36{
    font-size: 2.6rem;
}
.fs40{
    font-size: 3.0rem;
}
.fs42{
    font-size: 3.0rem;
}
.fs45{
    font-size: 3.1rem;
}
.fs48{
    font-size: 3.2rem;
}
.fs60{
    font-size: 4.0rem;
}

/* padding */

.pl40{padding-left: 30px;}
.pl50{padding-left: 30px;}
.pl60{padding-left: 35px;}
.pl70{padding-left: 40px;}
.pl80{padding-left: 50px;}
.pl100{padding-left: 60px;}
.pl150{padding-left: 90px;}

.pr40{padding-right: 30px;}
.pr50{padding-right: 30px;}
.pr60{padding-right: 35px;}
.pr70{padding-right: 40px;}
.pr80{padding-right: 50px;}
.pr100{padding-right: 60px;}
.pr150{padding-right: 90px;}

.pt40{padding-top: 30px;}
.pt50{padding-top: 30px;}
.pt60{padding-top: 35px;}
.pt70{padding-top: 40px;}
.pt80{padding-top: 50px;}
.pt100{padding-top: 60px;}
.pt150{padding-top: 90px;}

.pb40{padding-bottom: 30px;}
.pb50{padding-bottom: 30px;}
.pb60{padding-bottom: 35px;}
.pb70{padding-bottom: 40px;}
.pb80{padding-bottom: 50px;}
.pb100{padding-bottom: 60px;}
.pb150{padding-bottom: 90px;}

/* margin */

.ml40{margin-left: 30px;}
.ml50{margin-left: 30px;}
.ml60{margin-left: 35px;}
.ml70{margin-left: 40px;}
.ml80{margin-left: 50px;}
.ml100{margin-left: 60px;}
.ml150{margin-left: 90px;}

.mr40{margin-right: 30px;}
.mr50{margin-right: 30px;}
.mr60{margin-right: 35px;}
.mr70{margin-right: 40px;}
.mr80{margin-right: 50px;}
.mr100{margin-right: 60px;}
.mr150{margin-right: 90px;}

.mt40{margin-top: 30px;}
.mt50{margin-top: 30px;}
.mt60{margin-top: 35px;}
.mt70{margin-top: 40px;}
.mt80{margin-top: 50px;}
.mt100{margin-top: 60px;}
.mt150{margin-top: 90px;}

.mb40{margin-bottom: 30px;}
.mb50{margin-bottom: 30px;}
.mb60{margin-bottom: 35px;}
.mb70{margin-bottom: 40px;}
.mb80{margin-bottom: 50px;}
.mb100{margin-bottom: 60px;}
.mb150{margin-bottom: 90px;}

/* cmn ///////////////////////////////////// */

/* header */

.header_logo{
    width: 315px;
    font-size: 18px;
}

/* cmn_mainimg */

.cmn_mainimg{
    background-size: auto 70%;
}

.cmn_maintitle{
    padding-top: 15px;

    justify-content: flex-start;
}

/* cmn_tit */

.cmn_tit_1st h2{
    padding-left: 40px;
}

.cmn_tit_1st h2::before{
    top: 15px;
}

.cmn_tit_1st h2::after{
    width: 30px;
    height: 30px;
}


/* cmn_dl */

.cmn_dl > div dt{
    padding: 10px 10px 0;
}

.cmn_dl > div dd{
    padding: 10px;
}



/* home ///////////////////////////////////// */

/* header */

.home_maincopy{
    bottom: 60px;
    right: 3%;
}

/* home_introduction */

.home_introduction{
    margin-top: 80px;
}

.home_introduction .cmn_maxbox_800{
    transform: translateY(-50px);
}

.home_introduction .cmn_content p{
    letter-spacing: 0;
    font-size: 1.5rem;
}

/* home_content */

.home_about  .cmn_content > div{
    background-size: 120px auto;
    background-position: right top 30px;
}

.home_bagasse  .cmn_content > div{
    background-size: auto 90px;
    background-position: right 20px top 30px;
}

.home_experience  .cmn_content > div{
    background-size: auto 110px;
    background-position: right 20px top 20px;
}

.home_content .cmn_content > div > figure,
.home_experience_img{
    height: 250px;
}

.home_content .home_content_text{
    width: 40.4px;
}

.home_bagasse .home_content_text{
    width: 49.4px;
}

.home_experience .home_content_text{
    width: 272.8px;
}

/* about ///////////////////////////////////// */

.about_introduction{
    height: auto;
    padding: 80px 0;
}

.about_introduction_deco{
    width: 120px;
}

.about_greeting .cmn_content > figure{
    width: 100%;
    height: 250px;

    position: relative;
    right: auto;
    bottom: auto;
}

.about_greeting .cmn_content > p{
    width: 100%;
    margin-top: 20px;
}

.about_company_map figure{
    width: 150px;
}

.about_partners .cmn_content > ul{
    grid-template-columns: repeat(2, 1fr);
}



/* experience ///////////////////////////////////// */

.experience_item .cmn_content > figure{
    width: 50px;
    top: 100px;
}

.experience_item:nth-of-type(2) .cmn_content > figure{
    width: 50px;
    left: auto;
}

.experience_item:nth-of-type(3) .cmn_content > figure{
    width: 50px;
    top: 80px;
    bottom: auto;
}

.experience_item_image > p{
    font-size: 2.3rem;
}

.experience_access_map > figure{
    height: 200px;
}

/* bagasse ///////////////////////////////////// */

.bagassse_about .cmn_content > figure{
    height: 250px;
}

.bagassse_about .cmn_content > figure .bagasse_about_text{
    width: 49.4px;
}

.bagasse_feature_intro > figure{
    height: 250px;
}

.bagasse_feature_photos{
    grid-template-columns: 1fr;
    grid-gap: 20px;
}

.bagasse_sdgs_list{
    grid-template-columns: repeat(2, 1fr);
}

/* aaa ///////////////////////////////////// */



/* contact ///////////////////////////////////// */

/* contact_form */

.contact_form .cmn_dl .select_box{
    width: 100%;
}

.contact_form .cmn_dl select{
    padding: 0 10px;
}

.contact_form .cmn_dl input{
    padding: 0 10px;
}

.contact_form .cmn_dl .input01,
.contact_form .cmn_dl .input02,
.contact_form .cmn_dl .input03{
    width: 100%;
}

.reenter{
    display: block;
    text-align: right;
}

.contact_form .cmn_dl textarea{
    padding: 10px;
}

.privacy_check label{
    height: 60px;
}







}