@charset "utf-8";



/* ==================================
    MOBILE
=================================== */

.sub_wrap .sub-visual-inner{
    background: url(/image/service/visual03.png) no-repeat center / cover;
}
/* ============= 오시는길 === */
.map-inner .dsc-area {margin-bottom: 59px;}
.map-inner .dsc-area .title {
    margin-bottom: 33px;
    font-size: 2rem; color: var(--point3);
    font-weight: 700;
}
.map-inner .dsc-area li {
    display: flex;
    font-size: 1.6rem;
    line-height: 1.3;
    padding-left: 13px;
    position: relative;
}
.map-inner .dsc-area li:before {
    position: absolute;
    top: 5px; 
    left: 0;
    content: '';
    width: 5px; 
    height: 5px;
    background: var(--point3);
}
.map-inner .dsc-area li:nth-child(n+2) {margin-top: 53px;}
.map-inner .dsc-area .name {
    width: 42px;
    font-weight: 700;
}
.map-inner .dsc-area .cont {
    width: calc(100% - 42px);
    white-space: pre-line;
}
.map-inner .map-area {position: relative;}
.map-inner .map-area:after {
    position: absolute;
    content: '';
    bottom: -20px; right: 0;
    width: 100%; height: 100%;
    background: #eef5f6;
    opacity: 0.5;
    z-index: -1;
}
.map-inner .map-area iframe {width: 92.128%; height: 367px;}


/* ============= example === */
#example .gallery-inner .gallery-list li:nth-child(n+2) {margin-top: 53px;}
#example .gallery-inner .gallery-list li a {
    display: block;
    padding-bottom: 24px;
    border-bottom: 1px solid #000;
}
#example .gallery-inner .gallery-list .img_wrap img {
    width: 100%; height: 225px;
    object-fit: cover;
}
#example .gallery-inner .gallery-list .cont-wrap {margin-top: 20px;}
#example .gallery-inner .gallery-list .cont-wrap :is(.title, .cont) {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    overflow: hidden;
    word-break: break-word;
}
#example .gallery-inner .gallery-list .cont-wrap .title {
    height: 44px;
    font-size: 2rem;
    line-height: 22px;
    font-weight: 700;
}
#example .gallery-inner .gallery-list .cont-wrap .cont {
    height: 36px;
    margin: 12px 0 34px;
    font-size: 1.6rem; color: #666;
    line-height: 18px;
}
#example .gallery-inner .gallery-list .cont-wrap .date {
    font-size: 1.4rem;
    text-align: right;
}


/* ============= INQUIRE === */
.inquire-inner th {
    width: 30%;
    font-size: 1.6rem;
    text-align: left;
    border-bottom: 1px solid #eef5f6;
}
.inquire-inner td {
    width: 70%;
    padding: 7px 0;
    border-bottom: 1px solid #eef5f6;
}
.inquire-inner td :is(input, textarea) {
    /* width: 100%;  */
    height: 38px;
    padding-left: 6px;
    font-size: 1.6rem;
    border: 1px solid #e6e6e6;
    outline: none;
}
.inquire-inner td :is(input, textarea)::placeholder {color: #d6d6d6;}
.inquire-inner td textarea {
    padding-top: 8px;
    height: 260px;
    overflow-y: auto;
    resize: none;
}
.inquire-inner #file-attach {display: none;}
.inquire-inner td .btn-file-attach {
    display: block;
    margin-top: 3px;
    width: 100%;
    line-height: 38px;
    font-size: 1.6rem; color: #fff;
    background: var(--point3);
    text-align: center;
}
.inquire-inner .alert-area {
    margin: 0 0 32px;
    padding: 18px 13px;
    font-size: 1.5rem;
    line-height: 1.3;
    background: #fbfbfd;
}
.inquire-inner .btn-area button {
    width: 100%; height: 47px;
    font-size: 1.6rem; color: var(--point3);
    border: 2px solid;
    font-weight:600;
}

/* ============================== /FAQ */
.faq_inner{
    margin-top: 47px;
    border-top: 1px solid #ccbda0;
}
.faq_table dl{
    position: relative;
    border-bottom: 1px solid #e7e7e7;
}
.faq_table dl dt{
    padding: 27px 38px 27px 39px;
    font-size: 1.8rem;
    line-height: 1.2;
    cursor: pointer;
}
.faq_table dl dt::after{
    position: absolute;
    content: '';
    width: 17px; height: 10px;
    top: 39px; right: 8px; transform: translateY(-50%);
    background: url(/img/icon_arrow_down.png) no-repeat center/contain;
}
.faq_table dl dd{
    padding: 27px 0 27px 36px;
    font-size: 1.6rem;
    white-space: pre-line; word-break: keep-all;
    line-height: 1.2;
    background-color: #f5f5f5; 
}
.faq_table span{
    position: absolute;
    left: 2px;
    width: 25px; height: 25px; 
    line-height: 24px;
    border-radius: 5px;
    font-size: 1.8rem; text-align: center;
    background-color: #335a3f; color: #fff;
}
.faq_table dd span{background-color: #ccbda0;}


/* ==================================
    PC
=================================== */

    /* ============= 오시는길 === */
    /* .map-inner {
        display: flex;
        justify-content: space-between;
    } */
    .map-inner .dsc-area {
        width: 470px;
        padding-top: 50px;
        margin: 0;
    }
    .map-inner .dsc-area .title {
        margin-bottom: 53px;
        font-size: 2.5rem;
    }
    .map-inner .dsc-area li {
        padding-left: 18px;
    }
    .map-inner .dsc-area li:before {top: 7px;}
    .map-inner .dsc-area li:nth-child(n+2) {margin-top: 32px;}
    .map-inner .dsc-area .name {width: 120px;}
    .map-inner .dsc-area .cont {width: calc(100% - 52px);}
    .map-inner .map-area {width: 600px;}
    .map-inner .map-area:after {bottom: -37px; right: -74px;}
    .map-inner .map-area iframe {width: 100%; height: 700px;}



    /* ============= example === */
    #example .gallery-inner .gallery-list {
        display: flex;
        flex-wrap: wrap;
        /* gap: 64px 43px; */
        gap: 30px;
    }
    #example .gallery-inner .gallery-list li {
        /* width: 365px; */
        width: calc((100% - (30px*2)) / 3);
    }
    #example .gallery-inner .gallery-list li:nth-child(n+2) {margin: 0;}
    #example .gallery-inner .gallery-list li a {
        padding-bottom: 32px;
        border-bottom: 2px solid #000;
    }
    #example .gallery-inner .gallery-list .img_wrap img {height: 360px;}
    /* #example .gallery-inner .gallery-list .cont-wrap {margin-top: 42px;} */
    #example .gallery-inner .gallery-list .cont-wrap .title {
        height: 60px;
        font-size: 2.5rem;
        line-height: 30px;
    }
    #example .gallery-inner .gallery-list .cont-wrap .cont {
        height: 48px;
        margin: 25px 0 33px;
        line-height: 24px;
        display: none;
    }
    #example .gallery-inner .gallery-list .cont-wrap .date {
        margin-top: 20px;
        font-size: 1.4rem;
        text-align: right;
    }


    /* ============= INQUIRE === */
    /* .inquire-inner {width: 980px;} */
    .inquire-inner th {
        width: 160px;
        padding-left: 20px;
        font-weight: 700;
    }
    /* .inquire-inner td {width: calc(100% - 160px);} */
    .inquire-inner .td-box td :is(input, textarea) {
        width: 286px; height: 42px;
        padding-left: 11px;
    }
    .inquire-inner td :is(input.changed, textarea.changed) {
        background: #fbfbfd;
        border-color: transparent;
        transition: all .5s;
    }
    .inquire-inner td :is(input, textarea):focus {
        border-color: var(--point3);
        transition: all .5s;
    }
    .inquire-inner td :is(textarea, .input-long) {width: 100%;}
    .inquire-inner td textarea {height: 260px;}
    .inquire-inner #file-attach {display: none;}
    .inquire-inner td .btn-file-attach {
        display: inline-block;
        margin: 0 0 0 5px;
        width: 120px;
        border-radius: 3px;
        cursor: pointer;
        transition: background-color .3s;
    }
    .inquire-inner td .btn-file-attach:hover {background: va(--pointHover2);}
    .inquire-inner .alert-area {
        margin: 0 0 32px;
        padding: 38px 43px;
        font-size: 1.6rem;
    }
    .inquire-inner .alert-area .cont {white-space: pre-line;}
    .inquire-inner .alert-area .cont .color {
        color: var(--point3);
        font-weight: 700;
    }
    .inquire-inner .btn-area button {
        display: block;
        width: 240px; height: 52px;
        margin: 0 auto;
        line-height: 51px;
    }

	/* ============================== FAQ */
    .faq_inner{
        margin-top: 70px;
        border-top: 2px solid #ccbda0;
    }
    .faq_table dl{border-bottom: 2px solid #e7e7e7;}
    .faq_table dl dt{
        position: relative;
        padding: 27px 38px 27px 128px;
    }
    .faq_table dl dt::after{
        width: 17px; height: 10px;
        top: 39px; right: 8px;
    }
    .faq_table dl dd{
        padding: 27px 0 27px 128px;
        line-height: 24px;
    }
    .faq_table span{
        left: 26px; top: 13px;
        width: 50px; height: 50px; 
        line-height: 49px; font-weight: 700;
        border-radius: 10px;
        font-size: 3.3rem;
    }
    .faq_table dd span{top: 90px;}

.view-form td {
    padding: 18px 15px;
    font-size: 1.6rem;
    font-weight: 300;
}
.flex_radio {
    display: flex;
    align-items: center;
    gap: 10px;
}
.check_list-box {
    width: 110px;
    font-size: 18px;
    cursor: pointer;
}

.check_list-box input {
    -webkit-appearance: auto;
}

@media screen and (max-width: 1380px) {
    #example .gallery-inner .gallery-list li {
        width: calc((100% - (30px)) / 2);
    }
}

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

    #example .gallery-inner .gallery-list {
        gap: 15px;
    }

    #example .gallery-inner .gallery-list li {
        width: calc((100% - (15px)) / 2);
    }

    #example .gallery-inner .gallery-list .cont-wrap .title {
        font-size: 16px;
        line-height: 1.3;
    }

    #example .gallery-inner .gallery-list .cont-wrap .date {
        font-size: 13px;
        margin-top: 0;
    }
}