@charset "UTF-8";

 /*----------- common style -----------*/
.corporate{
    font-size:16px;
    font-size:1.6rem;
}
a.cv-btn{
    color:#fff;
    font-weight: bold;
    position: relative;
    display: inline-block;
}
.cv-in{
    width:100%;
    position:absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translateY(-50%) translateX(-50%);
}
.cv-tel{
    font-weight: 600;
    line-height: 1.2;
    font-family: "Oswald", sans-serif;
    letter-spacing: 0.5px;
    font-size:52px;
    font-size:5.2rem;
}
.cv-tel span{
    width:35px;
    display: inline-block;
    position: relative;
    top:-5px;
    margin-right:1%;
}
.p-bold{font-weight: bold;}

@media screen and (max-width: 990px) {
    .cv-tel{
        font-size:45px;
        font-size:4.5rem;
    }
}
@media screen and (min-width: 835px){
    .no-sp{display: none;}
}
@media screen and (max-width: 834px){
    .corporate img{width:100%;}
    a.cv-btn{
        width:100%;
        max-width:500px;
    }
    .cv-tel{ 
        font-size: 40px;
        font-size:4rem;
    }
    .cv-tel span{
        width:28px;
    }
}
/*@media screen and (max-width: 834px) {
    .corporate img{width:100%;}
    .no-pc{display: none;}
    .corporate{ 
        font-size:14px;
        font-size:1.4rem;
    }
    .cv-tel{ font-size: 9.6vw }
    .cv-tel span{
        width:7vw;
        display: inline-block;
        position: relative;
        top:-5px; 
    }
}*/

 /*----------- mv -----------*/
.sec-mv{
    position: relative;
    margin-top:104px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
.sec-mv::before{
    content:'';
    position: absolute;
    background: url("../img/corporate/mv-bubble01.png") no-repeat center;
    background-size: contain;
    width:28%;
    height:60%;
    top:0;
    left:0;
}
.sec-mv::after{
    content:'';
    position: absolute;
    background: url("../img/corporate/mv-bubble02.png") no-repeat center;
    background-size: contain;
    width:28%;
    height:50%;
    right:0;
    bottom:0;
}
.sec-mv-image{ width:25%;}
.sec-mv-image p.mv-image01{
    background: url("../img/corporate/mv-img01.jpg") no-repeat center;
    background-size: cover;
    width:100%;
    height:50%;
}
.sec-mv-image p.mv-image02{
    background: url("../img/corporate/mv-img02.jpg") no-repeat center;
    background-size: cover;
    width:100%;
    height:50%;
}
.sec-mv-image p.mv-image03{
    background: url("../img/corporate/mv-img03.jpg") no-repeat center;
    background-size: cover;
    width:100%;
    height:50%;
}
.sec-mv-image p.mv-image04{
    background: url("../img/corporate/mv-img04.jpg") no-repeat center;
    background-size: cover;
    width:100%;
    height:50%;
}
.sec-mv-in{
    width:50%;
    margin:0 auto;
    padding:5% 0;
    text-align: center;
    background: #6EB944;
}
.emblem-list{
    display: flex;
    justify-content:center;
    width:95%;
    max-width: 580px;
    margin:0 auto 3%;
}
.emblem-list p{
    width:calc(100%/3);
    position: relative;
}
.emblem-list p + p{margin-left:5%;}
.emblem-list p span{
    width:100%;
    text-align: center;
    display: inline-block;
    position:absolute;
    top: 57%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translateY(-50%) translateX(-50%);
    font-weight: bold;
    color:#6EB944;
   
}
.sec-mv-in > p{margin-bottom:3%;}
.sec-mv-head{
    font-size:24px;
    font-size:2.4rem;
    font-weight: bold;
    color:#fff600;
    position: relative;
    font-family: "Noto Serif JP", serif;
    display:inline-block;
    padding:0 30px ;
}
.sec-mv-head:before {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    width: 2px;
    height: 100%;
    background: #fff600;
    border-radius: 3px;
    transform: rotate(-25deg);
}
       
.sec-mv-head:after {
    position: absolute;
    content: "";
    right: 0;
    top: 0;
    width: 2px;
    height: 100%;
    background: #fff600;
    border-radius: 3px;
    transform: rotate(25deg);
}
.sec-mv h1{
    font-family: "Noto Serif JP", serif;
    font-size:36px;
    font-size:3.6rem;
    font-weight: bold;
    color:#fff;
    margin-bottom:3%;
}
.sec-mv-txt{
    font-weight: bold;
    color:#fff;
}

@media screen and (max-width: 1358px) {
    .sec-mv::before{
        width:25%;
    }
    .sec-mv::after{
        width:25%;
    }
}
@media screen and (max-width: 1200px) {
    .sec-mv-in{padding:5% 2%;}
    .sec-mv h1{
        font-size:26px;
        font-size:2.6rem;
    }
    .emblem-list{
        width:100%;
    }
    .emblem-list p + p{margin-left:3%;}
    .emblem-list p span{
        font-size:1.35vw;
    }
}
@media screen and (max-width: 990px) {
    .sec-mv{margin-top:63px;}
    .sec-mv-head{
        font-size:20px;
        font-size:2rem;
    }
}
@media screen and (max-width: 834px){
    .sec-mv{
        font-size:14px;
        font-size:1.4rem;
    }
    .sec-mv::before{
        content:'';
        position: absolute;
        background: url("../img/corporate/mv-bubble01.png") no-repeat center;
        background-size: contain;
        width: 35%;
        height: 20%;
        top:0;
        left:0;
    }
    .sec-mv::after{
        content:'';
        position: absolute;
        background: url("../img/corporate/mv-bubble02.png") no-repeat center;
        background-size: contain;
        width: 35%;
        height: 20%;
        right:0;
        bottom:0;
    }
    .sec-mv-in > p{margin-bottom:4%;}
    .sec-mv h1{
        font-size:20px;
        font-size:2rem;
        font-size:5.2vw;
        letter-spacing: -0.02rem;
        margin-bottom:4%;
    }
    .sec-mv-head{
        font-size: 4.5vw;
        padding:0 3vw ;
    }
    .sec-mv-image{ 
        width:100%;
        display: flex;
    }
    .sec-mv-image p.mv-image01,
    .sec-mv-image p.mv-image02,
    .sec-mv-image p.mv-image03,
    .sec-mv-image p.mv-image04{
        width:50%;
        height:30vw;
    }
    .sec-mv-in{
        width:100%;
        padding:5% 3%;
    }
    .emblem-list p + p{margin-left:2%;}
    .emblem-list p span{
        line-height: 1.2;
        font-size:18px;
    }
}

@media screen and (max-width: 640px){
    .emblem-list p span{
        font-size:3vw;
    }
}


/*----------- about - read -----------*/
.sec-about{padding:80px 0 0;}
.about-read{
    text-align: center;
    padding-bottom:50px;
}
.about-read-icon{margin-top:50px;}
.about-read-head{
    font-family: "Noto Serif JP", serif;
    font-size:38px;
    font-size:3.8rem;
    font-weight: bold;
    color:#6EB944;
    margin:20px 0 40px;
}
.about-read .txt-basic span{
    color:#ff8331;
    font-weight: bold;
}
@media screen and (max-width: 834px) {
    .sec-about{padding:50px 0 0;}
    .about-read{padding-bottom:30px;}
    .about-read-icon{
        width:50px;
        margin:30px auto 0;
    }
    .about-read-head{
        font-size:24px;
        font-size:2.4rem;
        margin:20px 0 30px;
    }
}


/*----------- about - メリット -----------*/
.about-merit{background: #f0f8ec;}
.about-merit-head{
    font-size:30px;
    font-size:3rem;
    font-weight: bold;
    color:#6EB944;
    text-align: center;
    background: #fff;
    clip-path: polygon(50% 100%, 0 0%, 100% 0%);
    height: 150px;
}
.about-merit-head p{
    display: inline-block;
    position: relative;
}
.about-merit-head p::before{
    content:'';
    position: absolute;
    background: url( "../img/corporate/line.png") repeat-x bottom left / auto 5px;
    background-size: contain;
    width:100%;
    height:7px;
    bottom:0;
}
.about-merit-head p span{
    font-family: "Noto Serif JP", serif;
    font-size:60px;
    font-size:6rem;
    font-weight: bold;
}
.about-merit ul{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width:100%;
    max-width:900px;
    margin:0 auto;
    padding:50px 0 80px;
}
.about-merit ul li{
    width:calc((100% - 50px*2)/3);
}
.about-merit-ttl{
    font-size:20px;
    font-size:2rem;
    font-weight: bold;
    text-align: center;
    margin:10px 0;
}
@media screen and (max-width: 1200px) {
    .about-merit-head{
        clip-path: polygon(50% 0, 140% 0%, 50% 100%, 0 50%, 0 0);
    }
}

@media screen and (max-width: 834px) {
    .about-merit-head{
        font-size:24px;
        font-size:2.4rem;
        clip-path: polygon(50% 0, 140% 0%, 50% 100%, 0 50%, 0 0);
        height: 120px;
    }
    .about-merit-head p span{
        font-size:40px;
        font-size:4rem;
    }
    .about-merit ul{
        padding:30px 0 20px;
    }
    .about-merit ul li{
        width:100%;
        text-align: center;
        margin:0 auto 40px;
    }    
    .about-merit-ttl{
        font-size:20px;
        font-size:2rem;
        margin:10px 0;
    }
    .merit-image{
        width:240px;
        margin:0 auto;
    }
}

/*----------- about - 義務 -----------*/
.about-mandatory{
    background: url("../img/index/bg-02.png") center repeat;
    background-size: contain;
    padding:80px 0;
}
.about-mandatory-head{
    font-family: "Noto Serif JP", serif;
    font-size:30px;
    font-size:3rem;
    font-weight: bold;
    color:#6EB944;
    text-align: center;
    margin-bottom:50px;
}
.about-mandatory-head span{
    color:#ff8331;
    position: relative;
}
.about-mandatory-head span:not(.p-line)::before{
    content:'';
    position: absolute;
    background: url( "../img/corporate/line.png") repeat-x bottom left / auto 5px;
    background-size: contain;
    width:100%;
    height:7px;
    bottom:-5px;
}
.about-mandatory-box{
    border:4px solid #6EB944;
    border-radius: 10px;
    padding:30px 30px 100px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    background: #fff;
}
.about-mandatory-image{width:40%;}
.about-mandatory-txt{width:58%;}
.about-mandatory-ttl{
    font-size:20px;
    font-size:2rem;
    font-weight: bold;
    background:#6EB944;
    color:#fff;
    padding:15px 20px;
    margin:30px 0;
}
.about-mandatory-txt ul{margin-bottom:30px;}
.about-mandatory-txt ul li{
    text-indent: -1em;
    padding-left:1em;
}
.about-mandatory-txt dl{
    border-top:1px solid #6EB944;
    border-right:1px solid #6EB944;
    border-left:1px solid #6EB944;
    display: flex;
    flex-wrap: wrap;
}
.about-mandatory-txt dl:last-of-type{border-bottom:1px solid #6EB944;}
.about-mandatory-txt dl dt{
    background: #f0f8ec;
    width:50%;
    padding:20px 20px;
}
.about-mandatory-txt dl dd{
    width:50%;
    padding:20px 20px;
}
.about-mandatory-count{
    background: #00b1dd;
    color:#fff;
    font-size:20px;
    font-size:2rem;
    font-weight: bold;
    text-align: center;
    width:88%;
    margin:-70px auto 0;
    border-radius: 10px;
    padding:30px;
    line-height: 1.5;
}
.about-mandatory-count span{
    font-size:28px;
    font-size:2.8rem;
    font-weight: bold;
    color:#fff600;
}

@media screen and (max-width: 834px) {
    .about-mandatory{
        padding:50px 0;
    }
    .about-mandatory-head{
        font-size:24px;
        font-size:2.4rem;
        letter-spacing: -0.1rem;
        
    }
    .about-mandatory-head span{
        position: relative;
    }
    .about-mandatory-head span{
        /*text-decoration:underline;
        text-decoration-style:wavy;
        text-decoration-color:#fff600;*/
    }
    .about-mandatory-head span.p-line::before{
        content:'';
        position: absolute;
        background: url( "../img/corporate/line.png") repeat-x bottom left ;
        background-size: contain;
        width:100%;
        height:7px;
        bottom:-5px;
    }
    .about-mandatory-box{
        padding:20px 20px 100px;
    }
    .about-mandatory-image{
        width:100%;
        margin-bottom:10px;
    }
    .about-mandatory-txt{width:100%;}
    .about-mandatory-txt ul{margin-bottom:30px;}
    .about-mandatory-txt dl dt,
    .about-mandatory-txt dl dd{
        width:100%;
        padding:10px 20px;
    }
    .about-mandatory-count{
        font-size:16px;
        font-size:1.6rem;
        padding:10px;
        letter-spacing: -0.05rem;
    }
    .about-mandatory-count span{
        font-size:20px;
        font-size:2rem;
        
    }
}

/*----------- cv -----------*/
.sec-cv{
    background: url("../img/corporate/cv-bg.jpg") no-repeat center;
    background-size: cover;
    padding:50px 0;
     margin:0 auto;
    text-align: center;
    font-weight: bold;
    color:#fff;
}
.sec-cv .cv-ttxt{
    font-family: "Noto Serif JP", serif;
    font-size:30px;
    font-size:3rem;
}
.sec-cv .cv-box{
    position: relative;
    display: inline-block;
    margin:30px 0;
}
.sec-cv .cv-in{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}
.sec-cv .cv-tel{width:60%;}
.sec-cv .cv-in-txt{
    font-size:24px ;
    font-size:2.4rem;
    width:30%;
}
.sec-cv .cv-btxt{
    font-size:20px ;
    font-size:2rem;
}
.sec-cv .cv-free{
    position: absolute;
    background: #fff;
    width:135px;
    height:135px;
    border-radius: 50%;
    color:#6eb944;
    font-family: "Noto Serif JP", serif;
    font-size:26px;
    font-size:2.6rem;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    top:-90px;
    left:-64px;
}
.sec-cv .cv-free::before{
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    border-color: rgba(255, 255, 255, 0);
    border-top-width:9px;
    border-bottom-width:9px;
    border-left-width:24px;
    border-right-width:24px;
    margin-top: -9px;
    border-left-color:#FFFFFF;
    left: 80%;
    top: 96%;
    -webkit-transform:rotate(45deg);
    -ms-transform:rotate(45deg);
    transform:rotate(45deg);
}

@media screen and (max-width: 834px) {
    .sec-cv{
        background: url("../img/corporate/cv-bg.jpg") no-repeat top 50% right 30%;
        padding:50px 0;
    }
    .sec-cv .cv-ttxt{
        font-size:24px;
        font-size:2.4rem;
    }
    .sec-cv .cv-box{
        margin:50px 0 30px;
    }
    .sec-cv .cv-tel{width:100%;}
    .sec-cv .cv-in-txt{
        font-size:16px ;
        font-size:1.6rem;
        width:100%;
    }
    .sec-cv .cv-btxt{
        font-size:16px ;
        font-size:1.6rem;
    }
    .sec-cv .cv-free{
        width:75px;
        height:75px;
        font-size:16px;
        font-size:1.6rem;
        top:-40px;
        left:0;
        line-height: 1.2;
    }
    .sec-cv .cv-free::before{
        left: 65%;
    }
}

/*----------- 法人向けクリーニングについて(service) -----------*/
.sec-service{
    padding:80px 0;
    background: #f0f8ec;
}
.sec-service .txt-basic{
    text-align: center;
    margin:50px 0;
}
.service-con{
    background: #6EB944;
    padding:40px 70px 70px;
}
.service-head{
    font-size:24px;
    font-size:2.4rem;
    font-weight: bold;
    color:#fff;
    text-align: center;
    margin-bottom:40px;
}
.service-flex{
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}
.service-box{
    background: #f0f8ec;
    border-radius: 10px;
    padding:40px;
    margin-bottom:30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}
.service-box:last-of-type{margin-bottom:0;}
.service-box-s{
    background: #f0f8ec;
    border-radius: 10px;
    padding:30px;
    margin-bottom:30px;
    width:calc((100% - 30px*2)/3);
}
.service-image{position: relative;}
.service-box .service-image{width:35%;}
.service-price-head{
    position: absolute;
    top:-20px;
    left:-20px;
}
.service-price-head p{
    color:#fff;
    width:100%;
    text-align: center;
    position:absolute;
    top: 44%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translateY(-50%) translateX(-50%);
    font-size:18px;
    font-size:1.8rem;
    font-weight: bold;
}
.service-price-head p span{
    font-weight: 600;
    line-height: 1.2;
    font-family: "Oswald", sans-serif;
    letter-spacing: 0.5px;
    font-size:34px;
    font-size:3.4rem;
    
}
.service-txt{width:62%;}
.service-ttl{
    font-size:22px;
    font-size:2.2rem;
    font-weight: bold;
    color:#6EB944;
    border-bottom:2px solid #6EB944;
    padding-bottom:10px;
}
.service-box-s .service-ttl{margin:10px 0;}
.service-list{
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}
.service-price{
    border:1px solid #6EB944;
    background: #fff;
    text-align: center;
    padding:10px  0;
    margin:20px 0;
}
.service-price-txt{
    border:1px solid #6EB944;
    background: #fff;
    text-align: center;
    padding:20px  0;
    margin:20px 0;
    font-size:24px;
    font-size:2.4rem;
    font-weight: bold;
    color:#ff8331;
}
.service-box:last-of-type .service-price-txt{width:60%;}
.service-list .service-price{width:48%;}
.service-price span{
    font-weight: 600;
    line-height: 1.2;
    font-family: "Oswald", sans-serif;
    letter-spacing: 0.5px;
    font-size:34px;
    font-size:3.4rem;
    color:#ff8331;
}
.service-txt .p-or{
    color:#ff8331;
    font-weight: bold;
}

@media screen and (max-width: 834px) {
    .sec-service{
        padding:50px 0;
    }
    .sec-service .txt-basic{
        margin:30px 0;
    }
    .service-con{
        padding:30px 20px 30px;
    }
    .service-head{
        font-size:24px;
        font-size:2.4rem;
        margin-bottom:30px;
    }
    .service-box{
        padding:20px;
        margin-bottom:20px;
    }
    .service-box-s{
        padding:20px;
        margin-bottom:20px;
        width:100%;
    }
    .service-box .service-image{
        width:100%;
        margin-bottom:10px;
    }
    .service-price-head{
        top:-10px;
        left:-17px;
        width:180px;
    }
    .service-price-head p{
        top: 44%;
        left: 50%;
        font-size:14px;
        font-size:1.4rem;
    }
    .service-price-head p span{
        font-size:30px;
        font-size:3rem;
    }
    .service-txt{width:100%;}
    .service-ttl{
        font-size:20px;
        font-size:2rem;
        padding-bottom:10px;
        margin-bottom:10px;
    }
    .service-box-s .service-ttl{margin:10px 0;}
    .service-price{
        padding:10px  0;
        margin:0;
    }
    .service-price + .service-price{margin:10px 0;}
    .service-price-txt{
        padding:10px  0;
        margin:10px 0;
        font-size:20px;
        font-size:2rem;
    }
    .service-box:last-of-type .service-price-txt{width:100%;}
    .service-list .service-price{width:100%;}
    .service-price span{
        font-size:30px;
        font-size:3rem;
    }
}

/*----------- 作業について(works) -----------*/
.sec-works{
    background: url("../img/index/bg-02.png") center repeat;
    background-size: contain;
    padding:80px 0;
}
.sec-works img{
    width:100%;
}
.works-con{
    background: #fff;
    border:2px solid #6EB944;
    padding:50px;
    position: relative;
    margin-top:50px;
}
.works-con-head{
    background: #6EB944;
    font-family: "Noto Serif JP", serif;
    font-size:22px;
    font-size:2.2rem;
    font-weight:bold;
    color:#fff;
    display: inline-block;
    padding:20px 30px;
    position: absolute;
    top:-20px;
    left:-20px;
}
.works-con-box{ margin-top:50px;}
.works-con-ttl{
    font-size:24px;
    font-size:2.4rem;
    font-weight:bold;
    color:#6EB944;
    padding-bottom:10px;
    border-bottom:2px solid #6EB944;
    margin-bottom:20px;
}
.works-con-image{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: flex-end;
}
.works-con-image.flex4 p{
    width:calc((100% - 20px*3)/4);
    margin-top:20px;
}
.works-con-image.flex2 p{
    width:calc((100% - 20px)/2);
    margin-top:20px;
}
.works-con-image.flex3{align-items:center;}
.works-con-image.flex3 p{width:45%}
.works-con-arrow{ 
    width:10%;
    text-align: center;
    margin-top:4%;
}
.works-con-arrow img{
    max-width:40px;
    width:70%;
}
.works-con-image p span{
    display: block;
    font-weight:bold;
    margin-bottom:10px;
    text-align: center;
}
.works-con-image.flex4 p span{
    color:#6EB944;
    text-align: left;
}

@media screen and (max-width: 834px) {
    .sec-works{padding:50px 0;}
    .works-con{
        padding:20px;
        margin-top:50px;
    }
    .works-con-head{
        font-size:20px;
        font-size:2rem;
        padding:10px 20px;
        top:-20px;
        left:-20px;
    }
    .works-con-box{ margin-top:30px;}
    .works-con-ttl{
        font-size:20px;
        font-size:2rem;
        padding-bottom:10px;
        margin-bottom:10px;
    }
    .works-con-image.flex4 p{
        width:100%;
        margin-top:15px;
    }
    .works-con-image.flex2 p{
        width:100%;
        margin-top:15px;
    }
    .works-con-image.flex3 p{width:100%}
    .works-con-arrow{ 
        width:10%;
        margin:3% auto;
        -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
        transform: rotate(90deg);
    }
    .works-con-arrow img{
        max-width:40px;
        width:70%;
    }
    .works-con-image p span{
        margin-bottom:5px;
    }
}

/*----------- お客様の声　 -----------*/
.sec-voice{
    background: #f0f8ec;
    padding:80px 0;
}
.voice-con{
    max-width:1000px;
    background: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    padding:30px;
    margin:30px auto 0;
}
.voice-image{
    width:28%;
    filter: drop-shadow(0px 0px 10px rgba(0,0,0,0.09));
}
.voice-txt{
    width:69%;
    background-color: #fff; 
    background-image: linear-gradient(90deg, transparent 0%, transparent 50%, #fff 50%, #fff 100%), linear-gradient(180deg, #e3f6d9 1px, transparent 1px); 
    background-size: 8px 100%, 100% 2.5em; 
    line-height: 2.5em; 
    padding-bottom: 1px; 
}
.voice-txt span{
    font-weight: bold;
    color:#6EB944;
    display: inline-block;
}
.voice-txt span + span{margin-left:50px;}

@media screen and (max-width: 834px) {
    .sec-voice{padding:50px 0;}
    .voice-con{
        padding:20px;
        margin:20px auto 0;
    }
    .voice-con:nth-of-type(even){flex-direction: column-reverse;}
    .voice-image{width:100%; margin-bottom:10px;}
    .voice-txt{width:100%;}

}

