@charset "utf-8";

/* ------------------------------------------ */
/* letter CSS */
/* ------------------------------------------ */
#sec-canaria {
}

/* header-contents-wrap */
#sec-canaria .header-contents-wrap {
    position: relative;
}

#sec-canaria .header-contents-wrap .container-fluid {
    /* width: 100%; */
    max-width: 1220px;
}

#sec-canaria .header-contents-wrap .wrap {
    display: flex;
}

/* #sec-canaria .header-contents-wrap .wrap:after {
    content: "";
    width: calc(100% - 6vw);
    height: 1px;
    background-color: #362918;
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
} */
#sec-canaria .header-contents-wrap .col-text {
    /* padding-left: 10vw; */
    width: 55%;
    padding-right: 7%;
}

#sec-canaria .header-contents-wrap .col-text .header-num {
    display: block;
    width: 100%;
    border-bottom: 1px solid #362918;
    padding-bottom: 8px;
}

#sec-canaria .header-contents-wrap .col-text .header-num .num {
    display: block;
    font-size: 100px;
    line-height: 1;
    letter-spacing: -0.05em;
}

#sec-canaria .header-contents-wrap .col-text .header-num .text {
    display: block;
    line-height: 1;
}

#sec-canaria .header-contents-wrap .col-text .c-title {
    display: block;
    line-height: 1;
}

#sec-canaria .header-contents-wrap .col-text .c-title .text {
    display: block;
    line-height: 1.4;
    color: #00905b;
    letter-spacing: 0.01em;
}

#sec-canaria .header-contents-wrap .col-text .c-subtitle {
    display: block;
    line-height: 1;
}

#sec-canaria .header-contents-wrap .col-text .c-subtitle .text {
    display: block;
    line-height: 1.2;
    letter-spacing: 0.01em;
    font-weight: bold;
}

#sec-canaria .header-contents-wrap .col-text .c-contents {
    display: block;
}

#sec-canaria .header-contents-wrap .col-text .c-contents .text {
    display: block;
    letter-spacing: 0.03em;
    text-align: justify;
}

#sec-canaria .header-contents-wrap .col-text .btn-area {
    display: block;
    width: 100%;
    max-width: 350px;
    position: relative;
    margin: 90px auto 0;
}
#sec-canaria .header-contents-wrap .col-text .btn-area .icon-piyo {
    position: absolute;
    left: -46px;
    top: -29px;
    z-index: 1;
}

#sec-canaria .header-contents-wrap .col-imglink {
    width: 45%;
    position: absolute;
    right: 0;
    top: 0;
}

#sec-canaria .header-contents-wrap .col-imglink .c-image {
    display: block;
}

#sec-canaria .header-contents-wrap .col-imglink .c-image img {
}


@media (max-width: 768px) {
    #sec-canaria {
    }

    #sec-canaria .header-contents-wrap .container-fluid {
        /* width: 100%; */
    }

    #sec-canaria .header-contents-wrap .wrap {
        display: block;
        position: relative;
        /* margin: 0; */
        padding: 0;
        padding-top: 50px;
        padding-bottom: 80px;
    }

    /* #sec-canaria .header-contents-wrap .wrap:after {
        content: "";
        width: calc(100% - 6vw);
        height: 1px;
        background-color: #362918;
        position: absolute;
        bottom: 0;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    } */
    #sec-canaria .header-contents-wrap .col-text {
        padding-left: 0;
        width: 94%;
        padding-right: 0;
        margin: 0 auto;
    }

    #sec-canaria .header-contents-wrap .col-text .header-num {
        display: flex;
        align-items: flex-end;
        padding-top: 0;
    }

    #sec-canaria .header-contents-wrap .col-text .header-num .num {
        display: block;
        font-size: 80px;
        line-height: 1;
        letter-spacing: -0.05em;
    }

    #sec-canaria .header-contents-wrap .col-text .header-num .text {
        /* display: block; */
        /* font-size: 28px; */
        /* padding-left: 20px; */
        /* margin-left: 20px; */
        /* border-left: 2px solid #a19b93; */
        /* line-height: 1; */
        /* margin-bottom: 3px; */
    }

    #sec-canaria .header-contents-wrap .col-text .c-title {
        display: block;
        line-height: 1;
    }

    #sec-canaria .header-contents-wrap .col-text .c-title .text {
        display: block;
        line-height: 1.4;
        color: #00905b;
        letter-spacing: 0.01em;
    }

    #sec-canaria .header-contents-wrap .col-text .c-subtitle {
        display: block;
        line-height: 1;
    }

    #sec-canaria .header-contents-wrap .col-text .c-subtitle .text {
        display: block;
        line-height: 1.2;
        letter-spacing: 0.01em;
        font-weight: bold;
    }

    #sec-canaria .header-contents-wrap .col-text .c-contents {
        display: block;
    }

    #sec-canaria .header-contents-wrap .col-text .c-contents .text {
        display: block;
        letter-spacing: 0.03em;
        text-align: justify;
    }

    #sec-canaria .header-contents-wrap .col-text .btn-area .icon-piyo {
        left: -25px;
        top: -40px;
    }

    #sec-canaria .header-contents-wrap .col-imglink {
        width: 100%;
        padding-top: 80px;
        margin: 0 auto;
        position: inherit;
    }

    #sec-canaria .header-contents-wrap .col-imglink .c-image {
        display: block;
    }

    #sec-canaria .header-contents-wrap .col-imglink .c-image img {
    }

}

/* ----------------------------------------
   カテゴリー
------------------------------------------*/
#category-area {
}
#category-area .container-fluid {
    max-width: 1220px;
}
#category-area .wrap {
}
#category-area .category-wrap {
    padding: 28px 20px 13px;
    border-top: 1px solid #362918;
    border-bottom: 1px solid #362918;
}
#category-area .category-wrap .c-ul {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}
#category-area .category-wrap .c-ul .item {
    padding: 0 27px;
    margin-bottom: 15px;
    border-left: 1px solid #6c6256;
}
#category-area .category-wrap .c-ul .item:first-child {
    border: none;
}
#category-area .category-wrap .c-ul .item .c-box {
    display: block;
}
#category-area .category-wrap .c-ul .item .c-box .text {
    display: block;
    line-height: 1;
    letter-spacing: 0.01em;
    transition: all 0.38s ease;
}
#category-area .category-wrap .c-ul .item.active .c-box .text,
#category-area .category-wrap .c-ul .item:hover .c-box .text {
    color: #e4007f;
}


@media (max-width: 768px) {
    #category-area {
    }
    #category-area .container-fluid {
        max-width: 1220px;
    }
    #category-area .wrap {
    }
    #category-area .category-wrap {
        padding: 13px 10px 3px;
        border-top: 1px solid #362918;
        border-bottom: 1px solid #362918;
    }
    #category-area .category-wrap .c-ul {
        display: flex;
        justify-content: inherit;
        align-items: center;
        flex-wrap: wrap;
    }
    #category-area .category-wrap .c-ul .item {
        padding: 0;
        margin-bottom: 0;
        border-right: 1px solid #6c6256;
        /* border-left: none; */
        width: calc(50% + 1px);
        margin: 0 0 10px;
        margin-left: -1px;
    }
    #category-area .category-wrap .c-ul .item:first-child {
        /* border: inherit; */
        border-left: 1px solid #6c6256;
        border-right: 1px solid #6c6256;
    }
    #category-area .category-wrap .c-ul .item .c-box {
        display: block;
        padding: 10px;
    }
    #category-area .category-wrap .c-ul .item .c-box .text {
        display: block;
        line-height: 1;
        letter-spacing: 0.01em;
        transition: all 0.38s ease;
        text-align: center;
    }
    #category-area .category-wrap .c-ul .item.active .c-box .text,
    #category-area .category-wrap .c-ul .item:hover .c-box .text {
        color: #e4007f;
    }
}



/* ----------------------------------------
   手紙ギャラリー
------------------------------------------*/
.letter-list-area {
}

.letter-list-area .container-fluid {
    max-width: 1220px;
}

.letter-list-area .wrap {
}

.letter-list-area .letter-list {
    width: calc(100% + 80px);
    margin-left: -40px;
    /* column-count: 2; */
    display: flex;
    flex-wrap: wrap;
}

.letter-list-area .letter-list .item {
    display: block;
    width: 50%;
    /* break-inside: avoid; */
}
.letter-list-area .letter-list .item.is-hidden {
    opacity: 0;
    height: 0;
    margin: 0;
    display: none;
}

.letter-list-area .letter-list .item .c-wrapper {
    padding: 0 40px 60px;
    height: 100%;
}
.letter-list-area .letter-list .item .c-box {
    position: relative;
    background-color: #fff;
    border: 2px solid #362918;
    height: 100%;
}

.letter-list-area .letter-list .item .c-box:after {
    content: "";
    display: block;
    width: 40px;
    height: 40px;
    background: url("../img/letter/letter-kado.png") no-repeat center;
    position: absolute;
    left: -2px;
    bottom: -2px;
    z-index: 1;
}

.letter-list-area .letter-list .item .c-box .c-header {
    display: flex;
    width: 100%;
    align-items: center;
    border-bottom: 2px solid #362918;
}

.letter-list-area .letter-list .item .c-box .c-header .category {
    display: block;
    width: 38%;
}

.letter-list-area .letter-list .item .c-box .c-header .category .text {
    display: block;
    padding: 15px;
    line-height: 1;
    letter-spacing: 0.01em;
    text-align: center;
    font-weight: bold;
}

.letter-list-area .letter-list .item .c-box .c-header .name {
    display: block;
    width: 62%;
    border-left: 2px solid #362918;
}

.letter-list-area .letter-list .item .c-box .c-header .name .text {
    display: block;
    padding: 15px;
    line-height: 1;
    letter-spacing: 0.01em;
    font-weight: bold;
}

.letter-list-area .letter-list .item .c-box .c-contents {
    padding: 40px 45px 70px;
}

.letter-list-area .letter-list .item .c-box .c-contents .l-title {
    display: block;
    line-height: 1;
}

.letter-list-area .letter-list .item .c-box .c-contents .l-title .text {
    display: block;
    line-height: 1.5;
    letter-spacing: 0.01em;
    color: #00905b;
}

.letter-list-area .letter-list .item .c-box .c-contents .l-text {
    display: block;
    padding-top: 25px;
}

.letter-list-area .letter-list .item .c-box .c-contents .l-text .text {
    display: block;
    line-height: 1.8;
    letter-spacing: 0.03em;
    text-align: justify;
}

.letter-list-area .letter-list .item .c-box .c-btn {
    display: block;
    width: 150px;
    height: 40px;
    box-sizing: border-box;
    border: 2px solid #362918;
    background-color: #00905b;
    position: absolute;
    right: -2px;
    bottom: -2px;
}

.letter-list-area .letter-list .item .c-box .c-btn a {
    display: block;
    display: flex;
    height: 100%;
    align-items: center;
    justify-content: center;
}

.letter-list-area .letter-list .item .c-box .c-btn a .text {
    display: inline-block;
    color: #fff;
    line-height: 1;
    letter-spacing: 0.01em;
    padding-right: 3px;
}

.letter-list-area .letter-list .item .c-box .c-btn a .arrow {
    display: block;
    width: 9px;
    height: 9px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    margin-left: 3px;
}

#sec-canaria .btn-tp04 {
    margin: 0 auto;
}


@media (max-width: 768px) {
    .letter-list-area .letter-list {
        width: 100%;
        margin-left: 0;
    }
    
    .letter-list-area .letter-list .item {
        width: 100%;
    }

    .letter-list-area .letter-list .item .c-box .c-contents {
        padding: 20px 20px 55px;
    }

    .letter-list-area .letter-list .item .c-wrapper {
        padding: 0 0 30px;
        /* height: 100%; */
    }
    
}


