@charset "utf-8";
/* ファーストビュー--------------------------------------------------------------- */
.first-view {
    background-image: url(../img/company/company_mv.jpg);
    background-position: center left;
}
/* --------------------------------------------------------------- */
/* --------------------------------------------------------------- */
.section-area {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3rem;

    width: 100%;
}
.white-bg {
    padding: 2rem 0 100px;
}
/* --------------------------------------------------------------- */

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

    font-size: .75rem;

    width: 90%;
}
.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;
        width: 100%;
    }
    .id-tag li + li::before {
    margin: 0 .5rem;
    }    

    .white-bg {
        padding: 2rem 0 3rem;
    }
}

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

/* リンクマップ--------------------------------------------------------------- */
.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);
    }
}
/* --------------------------------------------------------------- */

/* 会社概要--------------------------------------------------------------- */
.information .contents-area {
    display: flex;
    flex-direction: column;
    gap: 3rem;

    width: 80%;
}

.information img {
    aspect-ratio: 16/8;
    object-fit: cover;
    object-position: center ;
}

.information .info {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.information dl {
    display: flex;
    align-items: center;
    justify-content: space-between;

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

    padding: 2rem 0;
}

.information dt {
    width: 20%;
}
.information dd {
    width: 75%;
}

.information .info-desc {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.info-desc li {
    display: flex;
    flex-direction: column;
}
.information .desc {
    font-size: .9rem;
}

@media(max-width:600px) {
    .information .contents-area {
        width: 85%;
    }
    .information img {
        aspect-ratio: 3/2;
    }
    .information dt {
        width: 25%;
    }
    .information dd {
        width: 70%;
    }        
}
/* --------------------------------------------------------------- */


/* アクセス--------------------------------------------------------------- */
.access .contents-area {
    display:flex;
    flex-direction: column;
    gap: 5rem;

    width: 80%;

    margin: 50px 0 0 0;
}

.access .contents-item {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.co-name {
    display: flex;
    align-items: center;
    gap: 2rem;

    border-bottom: .5px solid var(--txt-black);
    padding: 0 0 .5rem 0;
} 
.co-name p {
    font-size: 1.2rem;
}
.co-name img {
    width: 50px;

}
.access iframe {
    width: 100%;
    aspect-ratio: 3/1;
}

.access .map-desc {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
}

.access .map-desc a {

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

    width: 40%;
    background: var(--btn-green);
    color: var(--txt-white);
    border-radius: 50px;

    padding: .5rem 2rem;

    font-family: var(--en-text);
    font-weight: bold;

    transition: all .2s;
}

.access .map-desc i {
    margin: 0 .5rem 0 0;
    font-size: 1.2rem;
}

.access .map-desc a:hover {
    background-color: var(--btn-hover);
}

.access .info {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;

    width: 80%;

    font-size: .9rem;

}
.access .info li {
    text-wrap: nowrap;
    width: 40%;
}
.access .info i {
    margin: 0 1rem 0 0;
}

@media(max-width:600px) {

    .access .contents-area {
        width: 85%;
    }

    .access .map-desc {
        flex-direction: column-reverse;
        gap: 2rem;
    }
    .access .map-desc a {
        width: 100%;
    }
    .access iframe {
        aspect-ratio: 3/2;
    }
    .access .info {
        width: 100%;
        flex-direction: column;
    }

    .access .info li {
        width: 100%;
    }
}
/* --------------------------------------------------------------- */


/* よくある質問--------------------------------------------------------------- */
.faq .contents-area {
    display: flex;
    flex-direction: column;
    gap: 1rem;

    width: 80%;
}

.accordion-item {
    border: .5px solid var(--txt-black);
    overflow: hidden;
}

/* 質問 */
.accordion-header {
    display: flex;
    justify-content: space-between;
    align-items: center;

    width: 100%;
    padding: 2rem;

    border: none;
    background: none;

    font-weight: bold;
    cursor: pointer;
    transition: background-color .2s;
}

.accordion-header p {
    width: 85%;
}

.accordion-header:hover {
    background: #eeead8;
}

.icon-wrap {
    display: flex;
    justify-content: center;
    align-items: center;

    background: var(--btn-green);
    color: var(--txt-white);

    width: 25px;
    height: 25px;
    border-radius: 50%;

    transition: transform .3s ease;
}

.accordion-header.active .icon-wrap {
    transform: rotate(180deg);
}

/* 答え */
.accordion-body {
    height: 0;

    overflow: hidden;
    transition: height .3s ease-out;
}
.body-content {
    display: flex;

    padding: 0 2rem 2rem ;

    width: 80%;
    font-size: .9rem;
}
/* アニメーション用の状態 */
.accordion-body.entering {
    height: 100%;
}

.accordion-body.leaving {
    height: 0;
}

@media (max-width:600px ){
    .faq .contents-area {
        width: 90%;
    }
    .body-content {
        width: 100%;
    }
}
/* --------------------------------------------------------------- */


/* ご依頼から完成まで--------------------------------------------------------------- */
.process-flow h2 span {
    margin: 2rem 0 0 0;
}

.process-flow .contents-area {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    width: 80%;
}
.process-flow h3 {
    background: var(--btn-green);
    color: var(--txt-white);
    border-radius: 50px;

    text-align: center;
    padding: .5rem 2rem;
}

.process-flow .contents-item {
    display: flex;
    justify-content: space-between;

    padding: 3rem 0 ;

    border-bottom: 1px solid var(--txt-black);
    position: relative;
}

/* 矢印のライン ：黒い三角*/
.process-flow .contents-item::before {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -20px;

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

    border-top: 20px solid #666;
    border-right: 60px solid transparent;
    border-left: 60px solid transparent;
}
/* 矢印のライン ：背景色の三角*/
.process-flow .contents-item::after {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -19px;

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

    border-top: 20px solid var(--bg-white);
    border-right: 60px solid transparent;
    border-left: 60px solid transparent;
}
/* 最後だけボーダーなし */
.process-flow .complete {
    border-bottom: none;
}
.process-flow .complete::before,
.process-flow .complete::after{
    content: none;
}

.process-flow .left-side {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 20%;
    
    border-right: 4px solid var(--btn-green);
}
.process-flow .number {
    font-size: 2.5rem;
    font-family: var(--en-text);
}

.process-flow .right-side {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: space-between;

    width: 75%;
}
.process-flow .text-area {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 65%;
}
.process-flow h5 {
    font-size: 1.3rem;
    font-weight: bold;
}
.process-flow .text-area p{
    font-size: .9rem;
    line-height: 1.8;
}
.process-flow img {
    width: 200px;
}
.process-flow .complete img {
    width: 400px;
}
@media(max-width:600px) {
    .process-flow .contents-area {
        width: 90%;
    }
    .process-flow .left-side {
        width: 20%;
    }
    .process-flow .right-side {
        flex-direction: column;
        width: 75%;
    }
    .process-flow .complete .right-side {
        flex-direction: column-reverse;
    }
    .process-flow .text-area {
        width: 100%;
    }
    .process-flow .contents-item {
        padding: 2rem 0 3rem;
    }
}
/* --------------------------------------------------------------- */
