@charset "uft-8";
/* 基本設定--------------------------------------------------------------- */
body {
    background: var(--grc-bg);
}
/* 関連企業--------------------------------------------------------------- */
.group-company .contents:hover .bottom-item{
    color: var(--grc-txt-hover);
    border-bottom: .5px solid var(--grc-txt-hover);

}
/* ファーストビュー--------------------------------------------------------------- */
.first-view {
    background-image: url(../img/grc/grcservices_mv.jpg);
}

/*  セクションの大枠--------------------------------------------------------------- */
.section-container {
    display: flex;
    flex-direction: column;
    gap: 200px;

    margin: 200px 0;
}
.about-item {
    display: flex;
    flex-direction: column;
    gap: 5rem;

    width: 93%;
    margin: 0 0 0 auto;
}
.slider-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;

}

.topics-area {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    width: 75%;
}
.topics-area h3 {
    background: var(--grc-accent);
    border-radius: 10px;

    text-align: center;
    font-size: 1.1rem;

    padding: .5rem 2rem;
}
@media(max-width:800px) {
    .section-container {
        gap: 100px;
        margin: 50px 0;
    }
    .about-item {
        gap: 3rem;
        width: 100%;        
    }
    .slider-wrapper {
        flex-direction: column-reverse;
        gap: 3rem;
    }
    .topics-area {
        width: 85%;
        margin: 0 auto;
    }
}
@media(max-width:600px){
    .topics-area {
        width: 90%;
    }
}
/*  スライド--------------------------------------------------------------- */
.infinite-slider {
    width: 55%;
    overflow: hidden;
}
.sd-track {
    display: flex;
    gap: 1.5rem;
    width: 200%;
    animation: scroll 20s linear infinite;
}
 /* アニメーション */
 @keyframes scroll {
    0%{
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
    
 } 
.slide {
    flex-shrink: 0;
    width: 25%;
    min-width: 315px;
}

@media(max-width:800px) {
    .infinite-slider {
        width: 100%;
    }
    .slide {
        max-width: 315px;
        min-width: auto;
    }
}

/* テキストエリア（スライド）--------------------------------------------------------------- */
.about-item .text-area {
    display: flex;
    flex-direction: column;
    gap: 2rem;

    width: 40%;

}
.about-item h2 {
    font-family: var(--serif-text);
    font-size: 2rem;
    line-height: 1.3;
}
.about-item .desc {
    line-height: 2;
}

@media(max-width:800px) {
    .about-item .text-area {
        width: 85%;
    }
}
/* トピック／チップの活用--------------------------------------------------------------- */
.chip .topics-item {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.chip dl {
    display: flex;
    justify-content: space-between;

    border: .5px solid var(--bg-white);
    border-radius: 30px;
}

.chip dt {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 25%;
    min-width: 210px;

    background: var(--bg-white);
    color: var(--txt-black);
    border-radius:  30px 0 0 30px;
}
.chip dd {
    width: 75%;
    padding: 2rem 0;
}
.chip ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    
    row-gap: 1rem;
    column-gap: 2rem;

    list-style-type: square;
    width: 80%;  
    margin: 0 auto;

    font-size: .85rem;
}
.chip li {
    width: 230px;
    text-wrap: nowrap;
}
@media(max-width:800px) {
    .chip dt {
        width: 200px;
    }
    .chip dd {
        width: calc(100% - 200px - 3rem);
    }
}
@media(max-width:600px) {
    .chip dl {
        flex-direction: column;
    }
    .chip dt {
        width: 100%;
        padding: 2rem;
        border-radius: 30px 30px 0 0;
    }
    .chip dd {
        width: 100%;
    } 
    .chip li {
        width: 180px;
    }   
}
/* TS1の特徴 --------------------------------------------------------------- */

.ts1  ul{
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 1rem;


}
.ts1 li {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;

    border: .5px solid #fff;
    border-radius: 20px;

    max-width: 245px;
    width: calc(33.3% - 1rem);
    min-width: 200px;

    aspect-ratio: 1 / 1;
    padding: 2rem 0;
    
    transition: all .2s;
}
.ts1 img {
    width: 35%;
}
.ts1 h4 {
    width: 80%;
    text-align: center;
    font-size: .85rem;
}
.ts1 li:hover {
    background: var(--grc-btn);
    border: none;
}
@media (max-width:907px) {

    .ts1 li {
        width: 172px;
        min-width: auto;
        max-width: none;

        padding: 0;
    }
    .ts1 img {
    width: 30%;
    }
}

@media (max-width:645px) {
    .ts1 ul {
        justify-content: space-between;
    }
    .ts1 li {
        width: calc(50% - .5rem);
    }
}

/*  堆肥の販売--------------------------------------------------------------- */
.compost {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
.compost-wrapper {
    display: flex;
    justify-content: space-between;
    gap: 5%;
}
.compost img {
    width: 45%;
    min-width: 350px;
    object-fit: cover;
    object-position: left;

}
.compost .right-side {
    display: flex;
    flex-direction: column;
    gap: 2rem;

    width: 50%;
}

.compost dl {
    display: flex;
    flex-direction: column;

    gap: 2rem;

    border: .5px solid var(--bg-white);
    border-radius: 20px;

    padding: 0 0 2rem;
}

.compost dt {
    background: var(--bg-white);
    color: var(--txt-black);
    border-radius: 20px 20px 0 0 ;

    text-align: center;

    padding: .8rem 0 ;
}
.compost ul {
    display: flex;
    flex-direction: column;
    gap: 1rem;

    width: 80%;
    margin: 0 auto;
}
.compost li {
    display: flex;
    justify-content: space-between;

    font-size: .9rem;
}

.compost a {
    display: flex;
    justify-content: space-between;
    align-items: center;

    padding: 0;
    border-bottom: .5px solid #fff;
    padding: .5rem;

    transition: all .2s;
}

.compost a i {
    transition: all .2s;
}
.compost a:hover {
    color: var(--grc-txt-hover);
    border-bottom: .5px solid var(--grc-txt-hover);
}
.compost a:hover i {
    transform: translateX(2px);
}

@media (max-width: 950px) {
    .compost-wrapper {
        flex-direction: column;
        gap: 2rem;
    }
    .compost img {
        width: 100%;
        aspect-ratio: 5/2;
    }
    .compost .right-side {
        width: 100%;
    }
}
/*  堆肥ができるまで--------------------------------------------------------------- */
.flow .topics-item {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
.flow-item {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;

    padding: 3rem 0;

    border-bottom: 1px solid #fff;
    position: relative;
}
/* 矢印 */
.flow-item::before {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -20px;

    display: block;
    width: 0;
    height: 0;

    border-top: 20px solid #fff;
    border-right: 60px solid transparent;
    border-left: 60px solid transparent;
}
.flow-item::after {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -19px;

    display: block;
    width: 0;
    height: 0;

    border-top: 20px solid var(--grc-bg);
    border-right: 60px solid transparent;
    border-left: 60px solid transparent;

}

.flow-item:last-child {
    border-bottom: none;
}
.flow-item:last-child::before,
.flow-item:last-child::after {
    content: none;
}

/* ステップ */
.flow .sub-area {
    display: flex;
    flex-direction: column;
    align-items: center;

    width: 80px;
    border-right: 5px solid var(--grc-accent);

    padding: 1rem 0;
}
.flow .number {
    font-size: 2rem;
    font-family: var(--en-text);
    text-align: center;
    line-height: 1.2;
}
.flow .step {
    font-family: var(--en-text);
    text-align: center;
    font-weight: bold;
    font-size: .9rem;
}
/* メイン */
.flow .main{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;

    width: calc(100% - 80px - 2rem);
}
.flow .txt {
    display: flex;
    flex-direction: column;
    gap: 1rem;

    width: 55%;
}

.flow h4 {
    font-size: 1.2rem;
}
.flow .txt p {
    font-size: .9rem;
    line-height: 2;
}
.flow-item img {
    width: 40%;
    min-width: 230px;
}

@media (max-width: 600px) {
    .flow .topics-item {
        gap: 2rem;
    }
    .flow-item {
        flex-direction: column-reverse;
        align-items: flex-start;
        gap: 1rem;

        padding: 0 0 2rem 0;
    }

    .flow .sub-area {
        flex-direction: row;
        align-items: flex-end;
        gap: .5rem;

        border-right: none;
        border-bottom: 5px solid var(--grc-accent);

        width: 100%;
        padding: 0rem 0;
    }
    .flow .step {
        padding: 0 0 2px 0;
    }
    .flow .main{
        flex-direction: column-reverse;
        gap: 2rem;

        width: 100%;
    }
    .flow .txt {
        width: 100%;
    }
    .flow-item img {
        width: 100%;
        aspect-ratio: 5/3;
        object-fit: cover;
    }
}
/*  --------------------------------------------------------------- */
