@charset "utf-8";
section[id] {
 scroll-margin-top: 124px; /* ← ヘッダーの高さに合わせて調整 */
}
/* ファーストビュー--------------------------------------------------------------- */
.first-view {
    background-image: url(../img/services/services_mv.jpg);
}
/* --------------------------------------------------------------- */


/* リンクマップ--------------------------------------------------------------- */
.link-map {
    margin: 50px 0 100px;
}
.link-map ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    row-gap: 1.5rem;
    column-gap: 2rem;

    width: 80%;
}

.link-map li {
    width: 45%;
    min-width: 200px;
}

.link-map a {
    display: flex;
    justify-content: space-between;
    text-wrap: nowrap;

    border-bottom: .5px solid var(--txt-white);

    padding: .5rem 0;
    font-size: .85rem;

    transition: all .2s;
}



.link-map a:hover {
    color: var(--hover-green);
    border-bottom: .5px solid var(--hover-green);
}


@media (max-width:600px) {
    .link-map li {
        width: 100%;
    }
}
/* --------------------------------------------------------------- */
/* 作業一覧を見る--------------------------------------------------------------- */
.link-map .view-list {
    position: fixed;
    bottom: 1rem;
    right: 2rem;

    display: flex;
    align-items: center;

    border-bottom: none;

    z-index: 990;
}


.link-map .view-list i {
    margin: 0 0 0 .5rem;
    transition: all .2s;
}

.link-map .view-list:hover {
    border-bottom: none;
    transform: translateY(-3px);
}

@media(max-width:800px) {
    .link-map .view-list {
        color: var(--txt-black);
    }
}
/* --------------------------------------------------------------- */


/* 事業内容全体--------------------------------------------------------------- */
.section-container {
    margin: 50px 0;
}

.section-area {
    display: flex;
    flex-direction: column;
    gap: 3rem;
}
.section-container section {
    padding: 2rem 0 100px;
}

/* --------------------------------------------------------------- */

/* IDタグ--------------------------------------------------------------- */
.id-tag {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;

    padding: 0 3rem;

    font-size: .85rem;
}
.id-tag li + li::before {
    content: ">";
    margin: 0 1rem;
}

.id-tag a {
    transition: color .2s;
}
.id-tag a:hover {
    color: var(--btn-green);
}

@media(max-width:600px) {
    .id-tag {
        padding: 0 2rem;
    }
    .id-tag li + li::before {
    margin: 0 .5rem;
    }    

    .section-container section {
        padding: 2rem 0;
    }
}
/* --------------------------------------------------------------- */



/*事業内容メインエリア --------------------------------------------------------------- */
.service-main {
    display: flex;
    flex-direction: column;
    gap: 1rem;

    width: 80%;
    margin: 0 auto;
}

.service-main h2 {
    font-family: var(--serif-text);
    font-size: 2.5rem;
}

.service-main img {
    width: 100%;
    aspect-ratio: 5 / 2;
    object-fit: cover;
}

.service-main .text-area {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;

    margin: 2rem 0 0;
}
.service-main .desc-area {
    display: flex;
    flex-direction: column;
    gap: 2rem;

    width: 60%;
}

.service-main dt {
    font-size: 1.2rem;
}
.service-main dd {
    line-height: 2;
    max-width: 460px;    
}

.tag-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items:flex-start;
    column-gap: .5rem;
    row-gap: .5rem;

    width: 30%;
}

.tag-list li {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bg-green);
    color: var(--txt-white);
    border-radius: 50px;

    font-size: .75rem;
    line-height: 2.2;
    padding: 0 1.5rem;
}

@media(max-width:800px) {
    .service-main .text-area {
        flex-direction: column;
        gap: 3rem;
    } 
    .service-main .desc-area {
        width: 100%;
    }
    .tag-list {
        width: 100%;
    }
    .service-main img {
        aspect-ratio: 5/3;
    }
}
@media(max-width:600px) {
    .service-main {
        width: 90%;
    }
    .service-main img {
        aspect-ratio: 3/2;
    }
.service-main h2 {
    font-size: 2rem;
}        
}
/* --------------------------------------------------------------- */


/*施工事例 --------------------------------------------------------------- */
.service-galley {
    width: 80%;
    margin: 3rem auto 0;
}

.service-galley h3 {
    font-size: 1.8rem;
    font-family: var(--serif-text);
    text-align: center;

    margin: 0 auto 3rem;
}

.galley {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    column-gap: 2rem;
    row-gap: 2rem;
}

.galley-item {
    display: flex;
    flex-direction: column-reverse;
    justify-content: flex-end;
    gap: 1rem;

    max-width: 260px;
    margin: 0 auto;
}

.galley-item p {
    font-size: .9rem;
}

.galley-item .img-area {
    overflow: hidden;
    aspect-ratio: 1/1;
}
.galley-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;

    transition: all .5s;
}

.galley-item img:hover {
    transform: scale(1.1);
}

@media(max-width:800px) {
.service-galley {
    width: 90%;
    margin: 3rem auto 0;
}
    .galley {
    row-gap: 3rem;
    }
}
@media(max-width:600px) {
    .galley {
        grid-template-columns: repeat(2,1fr);
        column-gap: 1rem;
    }
}
/* --------------------------------------------------------------- */

/*モーダル --------------------------------------------------------------- */
.modal {
    display: none;
    justify-content: center;
    align-items: center;
    flex-direction: column;

    position: fixed;
    left: 0;
    top: 0;

    width: 100%;
    height: 100%;

    background-color: rgba(0, 0, 0, 0.85);
    z-index: 1000;
}

.modal img {
    max-width: 90%;
    max-height: 80%;
}

.close {
    position: absolute;
    top: 2rem;
    right: 2rem;
    font-size: 80px;
    cursor: pointer;
    color: var(--txt-white);
    user-select: none;
}

.prev,
.next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);

    display: flex;
    align-items: center;
    justify-content: center;

    background: #ffffff49;
    border-radius: 50%;
    color: var(--txt-white);
    font-size: 1.2rem;

    width: 30px;
    height: 30px;

    user-select: none;
    cursor: pointer;
}
.prev {
    left: 2rem;
}
.next {
    right: 2rem;
}

.prev-image {
    cursor: pointer;
    transition: opacity .3s;
}

.prev-image:hover {
    opacity: .7;
}
#modalImage {
  opacity: 1;
  transition: opacity 0.5s ease;
}
.fade-out {
  opacity: 0;
}

@media(max-width:600px) {
    .prev {
        left: .5rem;
    }
    .next {
        right: .5rem;
    }

    .close {
        font-size: 30px;
        top: 25%;
    }
}
/* --------------------------------------------------------------- */

/* 見積もりボタン--------------------------------------------------------------- */
.contact-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    background: var(--btn-green);
    color: var(--txt-white);
    border-radius: 50px;

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

    line-height: 3;
    padding: 0 .5rem 0  4rem;
    margin: 50px auto 0;

    transition: all .2s;
}

.contact-btn i {
    display: flex;
    align-items: center;
    justify-content: center;

    background: #fff;
    color: var(--btn-green);
    border-radius: 50%;

    width: 30px;
    height: 30px;

    transition: transform .2s;
}

.contact-btn:hover {
    background-color: var(--btn-hover);
}
.contact-btn:hover i {
    transform: translateX(3px);
}
/* --------------------------------------------------------------- */


/* 伐採--------------------------------------------------------------- */
.cut-galley {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5rem;
}
.cut-galley-item {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.cut-galley h4::before {
    content: '';
    display: inline-block;

    height: 25px;
    width: 5px;

    background: #666;

    margin: 0 .5rem 0 0;
}
.cut-galley h4 {
    display: flex;
    align-items: center;
    font-size: 1.1rem;

}
.cut-galley-flex {
    display: flex;
    justify-content: space-between;
    gap: 2rem;
}
.cut-galley .flex-item-area {
    display: flex;
    flex-direction: column-reverse;
    align-items: flex-end;
    gap: .8rem;
    
}
.cut-galley .flex-item-area img {
        max-height: 260px;
}
.cut-galley .b-f {
    /* position: absolute;
    top: calc( 100% + 10%);
    right: 0rem; */

    background: var(--txt-black);
    color: var(--txt-white);

    padding: 0 2rem;
    border-radius: 50px;
    font-size: .8rem;
}
.cut-galley-item .img-area {
    overflow: hidden;
    aspect-ratio: 3/2 ;
}
.cut-galley-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;

    transition: all .5s; 

}
.cut-galley img:hover {
    transform: scale(1.1);
}

@media(max-width:600px) {
    .cut-galley .img-area {
        aspect-ratio: 1/1;
    }
    .cut-galley-flex {
        gap: 1rem;
    }
}

/* --------------------------------------------------------------- */