@charset "utf-8";

.cc__about{
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 20px;
    color: #3f220e;
    line-height: 1.6;
    letter-spacing: 0.05em;
}
.cc__about img{
    vertical-align: bottom;
}
.cc__about .font__min{
    font-family: "Shippori Mincho", serif;
    font-weight: 400;
}
.cc__about .image__position{
    overflow: hidden;
    position: relative;
}
.cc__about .image__position .text__position{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
@media (min-width: 751px) {
    .cc__about .pchidden{ display: none; }
    .cc__about .image__position .separate{
        overflow: hidden;
        position: relative;
        clip-path: inset(0);
        height: 100%;
    }
    .cc__about .image__position .separate img{
        object-fit: cover;
        position: fixed;
        left: 0;
        top: 0;
        width: 120%;
        height: calc( 100% + 16vw );
    }
}
@media (max-width: 750px) {
    .cc__about .sphidden{ display: none; }
    .cc__about{
        font-size: 3.4vw;
    }
    .cc__about span{
        font-size: 3.4vw;
    }
    .cc__about .image__position{
        position: relative;
    }
    .cc__about .image__position .inner{
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 1;
    }
    
    .cc__about .image__position .separate{
        overflow: hidden;
        position: relative;
        height: 100%;
    }
    .cc__about .image__position .separate img{
        width: 100%;
    }
}

/****************************
    contents
****************************/
.cc__about .inner{
    max-width: 1200px;
    margin: 0 auto;
}
.cc__about .cc__title{
    font-size: 38px;
    letter-spacing: 0.1em;
}
.cc__about .cc__title small{
    font-size: 30px;
}
.cc__about .cc__title .small{
    font-size: 28px;
}
.cc__about .bottom__bar{
    position: relative;
    padding-bottom: 40px;
    margin-bottom: 50px;
}
.cc__about .bottom__bar::after{
    content: "";
    display: block;
    width: 310px;
    height: 2px;
    background-color:#bca960;
    position: absolute;
    bottom: 0;
    left: 0;
}
.cc__about dl dd p:not(:last-child){
    margin-bottom: 30px;
}

@media (max-width: 750px) {
    .cc__about .cc__title,
    .cc__about .cc__title span{
        font-size: 6.533vw;
        line-height: 1.45;
    }
    .cc__about .cc__title small{
        font-size: 5.333vw;
    }
    .cc__about .cc__title .small{
        font-size: 4.666vw;
    }
    .cc__about .bottom__bar{
        padding-bottom: 4.666vw;
        margin-bottom: 5.333vw;
    }
    .cc__about .bottom__bar::after{
        width: 50%;
        height: 1px;
        left: 50%;
        transform: translateX(-50%);
    }
    .cc__about dl dd p:not(:last-child){
        margin-bottom: 4vw;
    }
}

/****************************
    fv__area
****************************/
.fv__area .inner{
    display: flex;
    align-items: center;
    align-content: center;
    height: 100%;
}
.fv__area  .cc__title{
    margin: 40px 0;
}
.fv__area .fv__text p:not(:last-child){
    margin-bottom: 30px;
}
@media (min-width: 751px) {
    .fv__area{
        /*background: url(/cms/img/usr/brand/cotecour/about/cc_about_01_pc.jpg) no-repeat center;
        background-size:cover ;
        width: 100%;*/
        height: 900px;
    }
    .fv__area .separate{
        height: 900px;
    }
}
@media (max-width: 750px) {
    .fv__area{
        height: 189.3333vw;
    }
    .fv__area .inner{
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: end;
        padding-bottom: 8vw;
    }
    .fv__area  .fv__logo img{
       width: 44vw;
    }
    .fv__area  .cc__title{
        margin: 5.333vw 0;
    }
    .fv__area .fv__text p:not(:last-child){
        margin-bottom: 4vw;
    }
}

/****************************
    store__area
****************************/
.store__area{
    color: #FFF;
    position: relative;
}
@media (min-width: 751px) {
    .store__area{
        /*background: url(/cms/img/usr/brand/cotecour/about/cc_about_03_pc.jpg) no-repeat center;
        background-size:cover ;*/
        width: 100%;
        height: 690px;
    }
    .cc__about .right__contents .inner{
        display: flex;
        justify-content: flex-end;
        align-items: center;
        align-content: center;
        height: 100%;
        text-align: right;
    }
    .cc__about .right__contents .bottom__bar::after{
        left: auto;
        right: 0;
    }
}
@media (max-width: 750px) {
    .store__area{
        text-align: center;
        background-color:#3f220e;
    }
    .cc__about .store__area.image__position .separate{
        height: 69.0666vw;
    }
    .cc__about .store__area.image__position .text__position,
    .cc__about .store__area.image__position .text__position .inner{
        position: static;
    }
    
    .store__area .text__box{
        padding: 8.666vw 0 10.666vw;
    }
}

/****************************
    choco__area
****************************/
.choco__area{
    color: #FFF;
    background-color:#320b00;
}
@media (min-width: 751px) {
    .choco__area{
        /*background: url(/cms/img/usr/brand/cotecour/about/cc_about_03_pc.jpg) no-repeat center;
        background-size:cover ;*/
        width: 100%;
        height: 690px;
    }
    .cc__about .left__contents .inner{
        display: flex;
        align-items: center;
        align-content: center;
        height: 100%;
    }
}
@media (max-width: 750px) {
    .choco__area{
        text-align: center;
        height: 133.3333vw;
    }
    .choco__area .inner{
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: end;
        padding-bottom: 10.666vw;
    }
}

/****************************
    detail__area
****************************/
.detail__area{
    background-color:#f5efe8;
    padding: 60px 0;
}
.detail__area .detail__box{
    padding: 60px 0;
}
@media (min-width: 751px) {
    .detail__area .detail__box{
        display: flex;
        align-items: center;
        align-content: center;
    }
    .detail__area .detail__box:nth-child(2n){
        flex-direction: row-reverse;
    }
    .detail__area .detail__image,
    .detail__area .detail__box dl{
        width: 50%;
    }
    .detail__area .detail__image img{
        width: 100%;
    }
    .detail__area .detail__box:nth-child(2n+1) dl{
        padding-left: 5%;
    }
}
@media (max-width: 750px) {
    .detail__area{
        padding:12.666vw 7.333vw 4.666vw;
    }
    .detail__area .detail__box{
        padding: 0 0 8vw;
    }
    .detail__area .detail__image{
        margin-bottom: 5.3333vw;
    }
    .cc__about .detail__area .bottom__bar::after{
        left: 0;
    }
}

/****************************
    craftsman__area
****************************/
.craftsman__area{
    color: #FFF;
    background-color: #835b35;
}
.cc__about .craftsman__area .bottom__bar::after{
    background-color: #FFF;
}
@media (min-width: 751px) {
    .craftsman__area{
        /*background: url(/cms/img/usr/brand/cotecour/about/cc_about_05_pc.jpg) no-repeat center;
        background-size:cover ;*/
        width: 100%;
        height: 900px;
    }
}
@media (max-width: 750px) {
    .craftsman__area{
        text-align: center;
        height:161.46666vw;
    }
    .craftsman__area .inner{
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: end;
        padding-bottom: 8vw;
    }
}

/****************************
    gift__area
****************************/
.gift__area{
    background-color: #40220f;
    color: #FFF;
    text-align: center;
    padding: 110px 0 70px;
}
.gift__title .cc__title{
    margin-bottom: 30px;
}
.gift__box dt img{
    width: 100%;
}
.gift__area .gift__box dt{
    font-size: 32px;
    margin-top: 40px;
}
.gift__area .gift__box .bottom__bar{
    padding-bottom: 20px;
    margin-bottom: 30px;
}
.gift__area .gift__box .bottom__bar::after{
    width: 50%;
    left: 50%;
    transform: translateX(-50%);
}
@media (min-width: 751px) {
    .gift__area .gift__list{
        display: flex;
        justify-content: space-between;
        padding-top: 65px;
    }
    .gift__area .gift__list .gift__box{
        width: 32%;
    }
}
@media (max-width: 750px) {
    .gift__area{
        padding:16vw 0 2vw;
    }
    .gift__area .gift__title{
        padding:0 0 2.666vw;
    }
    .gift__title .cc__title{
        margin: 0 0 4vw;
    }
    .gift__area .gift__image{
        padding: 0 13.333vw 5.333vw;
    }
    .gift__area .gift__box{
        padding-bottom:6.666vw;
    }
    .gift__area .gift__box .bottom__bar{
        font-size: 5.066vw;
        padding-bottom: 2.666vw;
        margin-top: 0;
        margin-bottom: 4.666vw;
    }
    .gift__area .gift__box .bottom__bar span{
        font-size: 5.066vw;
    }
}

/****************************
    brand__area
****************************/
.brand__area{
    background-color:#f1e9e0;
    padding: 160px 0;
}
.brand__area .text__box .logo{
    margin-top:50px;
}
@media (min-width: 751px) {
    .brand__area .inner{
        display: flex;
        justify-content: space-between;
        align-items: center;
        align-content: center;
        flex-direction: row-reverse;
    }
    .brand__area .inner .image,
    .brand__area .inner .text__box{
        width: 50%;
    }
    .brand__area .inner .image img{
        width: 100%;
    }
}
@media (max-width: 750px) {
    .brand__area{
        padding: 13.333vw 7.333vw;
        text-align: center;
    }
    .brand__area .text__box{
        margin-top:9.333vw;
    }
    .brand__area .text__box .logo{
        margin-top:9.333vw;
    }
    .brand__area .text__box .logo img{
        width: 44vw;
    }
}

/****************************
    btn__area
****************************/
.btn__area{
    background-color:#FFF;
    padding: 110px 0;
    text-align: center;
}
.btn__area .btn__title .bottom__bar{
    padding-bottom: 30px;
    margin-bottom: 40px;
}
.btn__area .btn__title .bottom__bar::after{
    left: 50%;
    transform: translateX(-50%);
}
.btn__area .btn__box .cc__btn{
    width:45%;
}
.btn__area .btn__box .cc__btn a{
    display: flex;
    justify-content: center;
    align-items: center;
    width:100%;
    height: 74px;
    background-color: #3f220e;
    color: #dbca76;
    font-size: 18px;
    line-height: 1;
    position: relative;
    border-radius: 50px;
}
.btn__area .btn__box .cc__btn a::before{
    content: "";
    display: inline-block;
    width: 26px;
    height: 38px;
    background-image: url(/cms/img/usr/brand/cotecour/about/cc_about_icon_shop.png);
    background-repeat: no-repeat;
    background-size: cover;
    margin-right:30px;
    margin-left:-1em;
}
.btn__area .btn__box .cc__btn.icon__online a::before{
    width: 49px;
    height: 43px;
    background-image: url(/cms/img/usr/brand/cotecour/about/cc_about_icon_online.png);
}
.btn__area .btn__box .cc__btn a::after{
    content: "";
    display: block;
    width: 6px;
    height: 12px;
    background-image: url(/cms/img/usr/brand/cotecour/about/cc_about_arrow.png);
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: 50%;
    right: 5%;
    transform: translateY(-50%);
}
@media (min-width: 751px) {
    .btn__area .btn__box{
        display: flex;
        justify-content: center;
        margin-top: 65px;
    }
    .btn__area .btn__box .cc__btn{
        margin: 0 18px;
    }
}
@media (max-width: 750px) {
    .btn__area{
        padding: 13.333vw 0 10.666vw;
    }
    .btn__area .btn__title .bottom__bar{
        padding-bottom: 2.666vw;
        margin-bottom: 5.333vw;
    }
    .btn__area .btn__box{
        padding:8vw 8vw 0;
    }
    .btn__area .btn__box .cc__btn{
        width: 100%;
        margin-bottom: 3.333vw;
    }
    .btn__area .btn__box .cc__btn a{
        font-size: 3.4666vw;
        height: 45px;
    }
    .btn__area .btn__box .cc__btn a::before{
        width: 16px;
        height: 23px;
        margin-right: 20px;
    }
    .btn__area .btn__box .cc__btn.icon__online a::before{
        width: 25px;
        height: 22px;
    }
    .btn__area .btn__box .cc__btn a::after{
        width: 4px;
        height: 8px;
    }
}

/****************************
    animation
****************************/
.fadeIn{
    opacity: 0;
    transition: all 1.2s ease-in-out;
}
.fadeIn.EF__fade{ filter: blur(1.5rem); }
.fadeIn.EF__bottom{ transform: translateY(20%); transition: all 1.2s ease-in-out;}
.fadeIn.EF__right{ transform: translateX(20%); transition: all 1.2s ease-in-out;}
.fadeIn.EF__left{ transform: translateX(-20%); transition: all 1.2s ease-in-out;}

.fadeIn.scrollIn{
    opacity: 1;
}
.fadeIn.EF__fade.scrollIn{
    filter: blur(0);
}
.fadeIn.EF__bottom.scrollIn{
    transform: translateY(0);
}
.fadeIn.EF__right.scrollIn{
    transform: translateX(0);
}
.fadeIn.EF__left.scrollIn{
    transform: translateX(0);
}


.fade__text span{
    display:inline-block;
    opacity:0;
    transform:translateY(20px);
}
.fade__text.scrollIn span{
    animation:textFade .6s ease forwards;
    animation-delay:calc(var(--i) * .25s);
}


.cc__about .fadeIn.bottom__bar::after,
.gift__area .gift__box .fadeIn.bottom__bar::after{
    width: 0;
    transition: all 1.2s ease-in-out;
}
.cc__about .fadeIn.scrollIn.bottom__bar::after{
    width: 310px;
}
.gift__area .gift__box .fadeIn.scrollIn.bottom__bar::after{
    width: 50%;
}
@media (max-width: 750px) {
    .cc__about .fadeIn.scrollIn.bottom__bar::after{
        width: 50%;
    }
    .gift__area .gift__box .fadeIn.scrollIn.bottom__bar::after{
        width: 50%;
    }
    .cc__about .detail__area .detail__box .fadeIn.bottom__bar::after{
        left: 0;
        transform: translateX(0);
    }
}

@keyframes textFade{
    to{
        opacity:1;
        transform:translateY(0);
    }
}

