@charset "UTF-8";

/* header
-----------------------------------------------------*/
header {
    width: 100%;
    padding: 15px 20px;
    box-sizing: border-box;
    background: #fff;
    /*position: absolute;
    top: 0;
    left: 0;
    z-index: 99999;*/
}
header .header-in {
    width: 100%;
    max-width: 1170px;
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: center;
}


header .header-left {
    width: 30%;
}
header .header-left a {
    display: flex;
    align-items: center;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 500;
}
header .header-left a img {
    width: 22px;
    margin-right: 10px;
}


header .header-center {
    width: 30%;
}
header .header-center a {
    width: 112px;
    margin: 0 auto;
    display: block;
}


header .header-right {
    width: 30%;
    display: flex;
    justify-content: flex-end;
}
header .header-right a {
    width: 21px;
    margin-left: 30px;
    display: inline-block;
}


@media (max-width: 768px) {
    header {
        width: 100%;
        padding: 2vw 3vw;
        box-sizing: border-box;
        background: #fff;
        /*position: absolute;
        top: 0;
        left: 0;
        z-index: 99999;*/
    }
    header .header-in {
        width: 100%;
        max-width: 1170px;
        margin: 0 auto;
        padding: 0;
        box-sizing: border-box;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }


    header .header-left {
        width: 30%;
    }
    header .header-left a {
        display: flex;
        align-items: center;
        font-family: 'Montserrat', sans-serif;
        font-size: 2.8vw;
        font-weight: 500;
    }
    header .header-left a img {
        width: 5.5vw;
        margin-right: 2vw;
    }


    header .header-center {
        width: 30%;
    }
    header .header-center a {
        width: 18vw;
        margin: 0 auto;
        display: block;
    }


    header .header-right {
        width: 30%;
        display: flex;
        justify-content: flex-end;
    }
    header .header-right a {
        width: 5vw;
        margin-left: 5vw;
        display: inline-block;
    }
}


/* 共通
-----------------------------------------------------*/
.normal-txt {
    font-size: 15px;
}

a.btn-black {
    width: 260px;
    padding: 18px;
    display: block;
    background: #1b1b1b;
    text-align: center;
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    line-height: 1;
    position: relative;
}
a.btn-black::after {
    content: "";
    width: 30px;
    height: 1px;
    display: block;
    background: #fff;
    position: absolute;
    top: calc(50% - 1px);
    right: -15px;
}

a.btn-white {
    width: 260px;
    padding: 18px;
    display: block;
    background: #fff;
    border: 1px solid #1b1b1b;
    text-align: center;
    color: #1b1b1b;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    line-height: 1;
    position: relative;
}
a.btn-white::after {
    content: "";
    width: 30px;
    height: 1px;
    display: block;
    background: #1b1b1b;
    position: absolute;
    top: calc(50% - 1px);
    right: -15px;
}
@media (max-width: 768px) {
    .normal-txt {
        font-size: 3.2vw;
    }

    a.btn-black {
        width: 55%;
        padding: 3vw;
        display: block;
        background: #1b1b1b;
        text-align: center;
        color: #fff;
        font-family: 'Montserrat', sans-serif;
        font-weight: 500;
        line-height: 1;
        position: relative;
    }
    a.btn-black::after {
        content: "";
        width: 6vw;
        height: 1px;
        display: block;
        background: #fff;
        position: absolute;
        top: calc(50% - 1px);
        right: -3vw;
    }

    a.btn-white {
        width: 60%;
        padding: 3vw;
        display: block;
        background: #fff;
        border: 1px solid #1b1b1b;
        text-align: center;
        color: #1b1b1b;
        font-family: 'Montserrat', sans-serif;
        font-weight: 500;
        line-height: 1;
        position: relative;
    }
    a.btn-white::after {
        content: "";
        width: 6vw;
        height: 1px;
        display: block;
        background: #1b1b1b;
        position: absolute;
        top: calc(50% - 1px);
        right: -3vw;
    }
}

/* MV
-----------------------------------------------------*/
#mainvisual {
    width: 100%;
    padding: 110px 0 180px;
    background: url("../img/bg_mv_pc.png") center bottom no-repeat;
    background-size: cover;
    position: relative;
    z-index: 5;
}
#mainvisual .img-deco {
    width: 256px;
    margin: 0 auto;
}
#mainvisual h2 {
    width: 525px;
    margin: 40px auto 50px;
}
#mainvisual .read-txt {
    margin: 0 auto 30px;
    text-align: center;
    color: #fff;
    font-size: 28px;
}
#mainvisual .normal-txt {
    text-align: center;
    color: #fff;
}

@media (max-width: 768px) {
    #mainvisual {
        width: 100%;
        padding: 28vw 0 36vw;
        background: url("../img/bg_mv_sp.png") center bottom no-repeat;
        background-size: cover;
        position: relative;
        z-index: 5;
    }
    #mainvisual .img-deco {
        width: 46%;
        margin: 0 auto;
    }
    #mainvisual h2 {
        width: 90%;
        margin: 6vw auto 5vw;
    }
    #mainvisual .read-txt {
        margin: 0 auto 30px;
        text-align: center;
        color: #fff;
        font-size: 6.4vw;
        text-shadow: 0 0 10px rgba(79, 60, 42, 1);
    }
    #mainvisual .normal-txt {
        text-align: center;
        color: #fff;
        text-shadow: 0 0 10px rgba(79, 60, 42, 1);
    }
}


/* About
-----------------------------------------------------*/
#cont-about {
    margin: -220px auto 0;
    padding: 0;
    position: relative;
    z-index: 3;
}
#cont-about .box-wrap {
    display: flex;
}
#cont-about .box-left {
    width: 50%;
    padding: 220px 0 200px;
    background: url("../img/bg_cheese.jpg") 0 0 repeat;
}
#cont-about .box-right {
    width: 50%;
    padding: 220px 0 200px;
    background: url("../img/bg_choco.jpg") 0 0 repeat;
}

/*チーズケーキ*/
#cont-about .box-left .inner {
    width: 100%;
    max-width: 600px;
    margin: 0 0 0 auto;
}
#cont-about .box-left .inner h3 {
    width: 95%;
    max-width: 390px;
    margin: 0 auto 10px;
    padding-right: 5%;
    box-sizing: content-box;
}
#cont-about .box-left .inner .cheese-box01 {
    width: 100%;
    padding: 0;
    text-align: right;
    color: #fff;
}
#cont-about .box-left .inner .cheese-box02 {
    width: 100%;
    padding: 0;
    color: #fff;
}
#cont-about .box-left .inner .cheese-box01 img {
    width: 90%;
    max-width: 586px;
    margin: 0 0 0 auto;
}
#cont-about .box-left .inner .cheese-box02 img {
    width: 90%;
    max-width: 554px;
    margin: 20px auto 0;
}

#cont-about .box-left .inner .cheese-box01 h4, 
#cont-about .box-left .inner .cheese-box02 h4 {
    width: 90%;
    font-family: 'Montserrat', sans-serif;
    font-size: 32px;
    font-weight: 300;
    line-height: 1;
    position: relative;
}
#cont-about .box-left .inner .cheese-box01 h4::before {
    content: "";
    width: 70px;
    height: 1px;
    margin-right: 20px;
    display: inline-block;
    background: #fff;
    vertical-align: middle;
}
#cont-about .box-left .inner .cheese-box02 h4::after {
    content: "";
    width: 70px;
    height: 1px;
    margin-left: 20px;
    display: inline-block;
    background: #fff;
    vertical-align: middle;
}
#cont-about .box-left .inner .cheese-box01 h4 {
    margin: -120px auto 20px;
    padding: 0 5px;
}
#cont-about .box-left .inner .cheese-box02 h4 {
    margin: 0 auto 20px;
}
#cont-about .box-left .inner .cheese-box01 .normal-txt, 
#cont-about .box-left .inner .cheese-box02 .normal-txt {
    width: 90%;
    margin: 0 auto 40px;
    font-family: "游ゴシック体","Yu Gothic",YuGothic,"Hiragino Kaku Gothic Pro W3","ヒラギノ角ゴ Pro W3","ヒラギノ角ゴ Pro","メイリオ","Meiryo",メイリオ,"ＭＳ Ｐゴシック", sans-serif;
}

#cont-about .box-left .inner .cheese-box02 .btn-black {
    margin: 0 auto 0 5%;
}


/*チョコテリーヌ*/
#cont-about .box-right .inner {
    width: 100%;
    max-width: 600px;
    margin: 0 auto 0 0;
}
#cont-about .box-right .inner h3 {
    width: 95%;
    max-width: 390px;
    margin: 0 auto 10px;
    padding-left: 5%;
    box-sizing: content-box;
}
#cont-about .box-right .inner .choco-box01 {
    width: 100%;
    padding: 0;
    color: #fff;
}
#cont-about .box-right .inner .choco-box02 {
    width: 100%;
    padding: 0;
    text-align: right;
    color: #fff;
}
#cont-about .box-right .inner .choco-box01 img {
    width: 90%;
    max-width: 585px;
    margin: 0 auto 0 0;
}
#cont-about .box-right .inner .choco-box02 img {
    width: 90%;
    max-width: 614px;
    margin: -90px 0 0 auto;
    position: relative;
    z-index: 1;
}

#cont-about .box-right .inner .choco-box01 h4, 
#cont-about .box-right .inner .choco-box02 h4 {
    width: 90%;
    font-family: 'Montserrat', sans-serif;
    font-size: 32px;
    font-weight: 300;
    line-height: 1;
    position: relative;
}
#cont-about .box-right .inner .choco-box01 h4::after {
    content: "";
    width: 70px;
    height: 1px;
    margin-left: 20px;
    display: inline-block;
    background: #fff;
    vertical-align: middle;
}
#cont-about .box-right .inner .choco-box02 h4::before {
    content: "";
    width: 70px;
    height: 1px;
    margin-right: 20px;
    display: inline-block;
    background: #fff;
    vertical-align: middle;
}
#cont-about .box-right .inner .choco-box01 h4 {
    margin: 70px auto 20px;
    padding: 0 5px;
}
#cont-about .box-right .inner .choco-box02 h4 {
    margin: 0 auto 20px;
}
#cont-about .box-right .inner .choco-box01 .normal-txt, 
#cont-about .box-right .inner .choco-box02 .normal-txt {
    width: 90%;
    margin: 0 auto 40px;
    font-family: "游ゴシック体","Yu Gothic",YuGothic,"Hiragino Kaku Gothic Pro W3","ヒラギノ角ゴ Pro W3","ヒラギノ角ゴ Pro","メイリオ","Meiryo",メイリオ,"ＭＳ Ｐゴシック", sans-serif;
}
#cont-about .box-right .inner .choco-box01 .normal-txt {
    margin: 0 auto;
}

#cont-about .box-right .inner .choco-box02 .btn-black {
    margin: 0 5% 0 auto;
    position: relative;
    z-index: 2;
}

@media (max-width: 768px) {
    #cont-about {
        margin: 0 auto 0;
        padding: 0;
        position: relative;
        z-index: 3;
    }
    #cont-about .area-anchor {
        width: 100%;
        padding: 0 8%;
        display: flex !important;
        justify-content: space-between;
        background: #fff;
        position: relative;
    }
    #cont-about .area-anchor::after {
        content: "";
        width: 100%;
        height: 20vw;
        display: block;
        background: url("../img/bg_wave_sp.png") center bottom no-repeat;
        background-size: cover;
        position: absolute;
        bottom: -20vw;
        left: 0;
    }
    #cont-about .area-anchor a {
        width: 48%;
        padding: 2vw 0 0;
        display: block;
    }
    #cont-about .box-wrap {
        display: block;
    }
    #cont-about .box-left {
        width: 100%;
        padding: 22vw 0 18vw;
        background: url("../img/bg_cheese.jpg") 0 0 repeat;
    }
    #cont-about .box-right {
        width: 100%;
        padding: 18vw 0 26vw;
        background: url("../img/bg_choco.jpg") 0 0 repeat;
    }

    /*チーズケーキ*/
    #cont-about .box-left .inner {
        width: 100%;
        max-width: 600px;
        margin: 0 auto;
    }
    #cont-about .box-left .inner h3 {
        width: 70%;
        max-width: 390px;
        margin: 0 auto 4vw;
        padding-right: 0;
        box-sizing: content-box;
    }
    #cont-about .box-left .inner .cheese-box01 {
        width: 100%;
        padding: 0;
        text-align: right;
        color: #fff;
    }
    #cont-about .box-left .inner .cheese-box02 {
        width: 100%;
        padding: 0;
        color: #fff;
    }
    #cont-about .box-left .inner .cheese-box01 img {
        width: 90%;
        max-width: 586px;
        margin: 0 0 0 auto;
    }
    #cont-about .box-left .inner .cheese-box02 img {
        width: 90%;
        max-width: 554px;
        margin: -4vw auto 0;
    }

    #cont-about .box-left .inner .cheese-box01 h4, 
    #cont-about .box-left .inner .cheese-box02 h4 {
        width: 90%;
        font-family: 'Montserrat', sans-serif;
        font-size: 7vw;
        font-weight: 300;
        line-height: 1;
        position: relative;
    }
    #cont-about .box-left .inner .cheese-box01 h4::before {
        content: "";
        width: 12vw;
        height: 1px;
        margin-right: 4vw;
        display: inline-block;
        background: #fff;
        vertical-align: middle;
    }
    #cont-about .box-left .inner .cheese-box02 h4::after {
        content: "";
        width: 12vw;
        height: 1px;
        margin-left: 4vw;
        display: inline-block;
        background: #fff;
        vertical-align: middle;
    }
    #cont-about .box-left .inner .cheese-box01 h4 {
        margin: -12vw auto 5vw;
        padding: 0 5px;
    }
    #cont-about .box-left .inner .cheese-box02 h4 {
        margin: 0 auto 5vw;
    }
    #cont-about .box-left .inner .cheese-box01 .normal-txt, 
    #cont-about .box-left .inner .cheese-box02 .normal-txt {
        width: 90%;
        margin: 0 auto 40px;
        font-family: "游ゴシック体","Yu Gothic",YuGothic,"Hiragino Kaku Gothic Pro W3","ヒラギノ角ゴ Pro W3","ヒラギノ角ゴ Pro","メイリオ","Meiryo",メイリオ,"ＭＳ Ｐゴシック", sans-serif;
    }

    #cont-about .box-left .inner .cheese-box02 .btn-black {
        margin: 0 auto 0 5%;
    }


    /*チョコテリーヌ*/
    #cont-about .box-right .inner {
        width: 100%;
        max-width: 600px;
        margin: 0 auto;
    }
    #cont-about .box-right .inner h3 {
        width: 70%;
        max-width: 390px;
        margin: 0 auto 4vw;
        padding-left: 0;
        box-sizing: content-box;
    }
    #cont-about .box-right .inner .choco-box01 {
        width: 100%;
        padding: 0;
        color: #fff;
    }
    #cont-about .box-right .inner .choco-box02 {
        width: 100%;
        padding: 0;
        text-align: right;
        color: #fff;
    }
    #cont-about .box-right .inner .choco-box01 img {
        width: 90%;
        max-width: 585px;
        margin: 0 auto 0 0;
    }
    #cont-about .box-right .inner .choco-box02 img {
        width: 96%;
        max-width: 614px;
        margin: -16vw auto 0;
    }

    #cont-about .box-right .inner .choco-box01 h4, 
    #cont-about .box-right .inner .choco-box02 h4 {
        width: 90%;
        font-family: 'Montserrat', sans-serif;
        font-size: 7vw;
        font-weight: 300;
        line-height: 1;
        position: relative;
    }
    #cont-about .box-right .inner .choco-box01 h4::after {
        content: "";
        width: 12vw;
        height: 1px;
        margin-left: 4vw;
        display: inline-block;
        background: #fff;
        vertical-align: middle;
    }
    #cont-about .box-right .inner .choco-box02 h4::before {
        content: "";
        width: 12vw;
        height: 1px;
        margin-right: 4vw;
        display: inline-block;
        background: #fff;
        vertical-align: middle;
    }
    #cont-about .box-right .inner .choco-box01 h4 {
        margin: 10vw auto 5vw;
        padding: 0 5px;
    }
    #cont-about .box-right .inner .choco-box02 h4 {
        margin: 0 auto 5vw;
    }
    #cont-about .box-right .inner .choco-box01 .normal-txt, 
    #cont-about .box-right .inner .choco-box02 .normal-txt {
        width: 90%;
        margin: 0 auto 40px;
        font-family: "游ゴシック体","Yu Gothic",YuGothic,"Hiragino Kaku Gothic Pro W3","ヒラギノ角ゴ Pro W3","ヒラギノ角ゴ Pro","メイリオ","Meiryo",メイリオ,"ＭＳ Ｐゴシック", sans-serif;
    }
    #cont-about .box-right .inner .choco-box01 .normal-txt {
        margin: 0 auto;
    }

    #cont-about .box-right .inner .choco-box02 .btn-black {
        margin: 0 5% 0 auto;
    }
}

/* 
-----------------------------------------------------*/
#cont-break {
    text-align: center;
    background: #fff;
    position: relative;
    z-index: 4;
}
#cont-break::before {
    content: "";
    display: block;
    border-right: 50vw solid transparent;
    border-bottom: 110px solid #fff;
    border-left: 50vw solid transparent; 
    position: absolute;
    top: -110px;
    z-index: 5;
}
#cont-break::after {
    content: "";
    display: block;
    border-right: 50vw solid transparent;
    border-top: 110px solid #fff;
    border-left: 50vw solid transparent; 
    position: absolute;
    bottom: -110px;
    z-index: 5;
}
#cont-break img {
    width: 164px;
    margin: 0 auto 40px;
}
@media (max-width: 768px) {
    #cont-break {
        text-align: center;
        background: #fff;
        position: relative;
        z-index: 4;
    }
    #cont-break::before {
        content: "";
        display: block;
        border-right: 50vw solid transparent;
        border-bottom: 18vw solid #fff;
        border-left: 50vw solid transparent; 
        position: absolute;
        top: -18vw;
        z-index: 5;
    }
    #cont-break::after {
        content: "";
        display: block;
        border-right: 50vw solid transparent;
        border-top: 18vw solid #fff;
        border-left: 50vw solid transparent; 
        position: absolute;
        bottom: -18vw;
        z-index: 5;
    }
    #cont-break img {
        width: 25%;
        margin: 0 auto 5vw;
    }
}


/* 商品詳細
-----------------------------------------------------*/
#cont-details {
    margin: 0 auto 0;
    padding: 0;
    position: relative;
    z-index: 3;
}
#cont-details .box-wrap {
    display: flex;
    color: #fff;
}
#cont-details .box-left {
    width: 50%;
    padding: 160px 0 210px;
    background: url("../img/bg_cheese.jpg") 0 0 repeat;
}
#cont-details .box-right {
    width: 50%;
    padding: 160px 0 210px;
    background: url("../img/bg_choco.jpg") 0 0 repeat;
}
#cont-details .inner h3 {
    width: 90%;
    max-width: 458px;
    margin: 0 auto 45px;
}
#cont-details .inner .normal-txt {
    width: 90%;
    margin: 0 auto 40px;
    font-family: "游ゴシック体","Yu Gothic",YuGothic,"Hiragino Kaku Gothic Pro W3","ヒラギノ角ゴ Pro W3","ヒラギノ角ゴ Pro","メイリオ","Meiryo",メイリオ,"ＭＳ Ｐゴシック", sans-serif;
}
#cont-details .inner > .normal-txt {
    text-align: center;
}
#cont-details .txt-price {
    margin-bottom: 40px;
    font-size: 48px;
    line-height: 1;
}
#cont-details .txt-price span {
    font-size: 22px;
}
#cont-details .detail-info {
    width: 100%;
    padding: 20px 0;
    display: flex;
    border-top: 1px solid #fff;
    text-align: left;
}
#cont-details .detail-info.last {
    border-bottom: 1px solid #fff;
}
#cont-details .detail-info .info-ttl {
    width: 100px;
    display: block;
    font-size: 18px;
}
#cont-details .detail-info .info-cont {
    width: calc(100% - 100px);
    display: block;
}

#cont-details .btn-black {
    margin: 40px auto 0;
}

/*チーズケーキ*/
#cont-details .box-left .img01 {
    width: 96%;
    margin: 0 auto 0 0;
}

#cont-details .box-left .inner .cheese-box03 {
    width: 86%;
    margin: -40px auto 0;
    text-align: right;
}

#cont-details .box-left .inner .cheese-box03 img {
    width: 90%;
    max-width: 374px;
    margin: 0 0 20px auto;
}

#cont-details .box-left .inner .cheese-box03 .txt-recommend {
    margin: 30px auto 80px;
    font-size: 20px;
}
#cont-details .box-left .inner .cheese-box03 h4 {
    width: 100%;
    margin: 0 0 40px auto;
    font-family: 'Montserrat', sans-serif;
    font-size: 32px;
    font-weight: 300;
    line-height: 1;
    position: relative;
}
#cont-details .box-left .inner .cheese-box03 h4::before {
    content: "";
    width: 70px;
    height: 1px;
    margin-right: 20px;
    display: inline-block;
    background: #fff;
    vertical-align: middle;
}


/*チョコテリーヌ*/
#cont-details .box-right .img01 {
    width: 96%;
    margin: 0 0 0 auto;
}

#cont-details .box-right .inner .choco-box03 {
    width: 86%;
    margin: -36px auto 0;
}

#cont-details .box-right .inner .choco-box03 img {
    width: 90%;
    max-width: 351px;
    margin: 0 auto 20px 0;
}

#cont-details .box-right .inner .choco-box03 .txt-recommend {
    margin: 30px auto 80px;
    font-size: 20px;
}
#cont-details .box-right .inner .choco-box03 h4 {
    width: 100%;
    margin: 0 auto 40px 0;
    font-family: 'Montserrat', sans-serif;
    font-size: 32px;
    font-weight: 300;
    line-height: 1;
    position: relative;
}
#cont-details .box-right .inner .choco-box03 h4::after {
    content: "";
    width: 70px;
    height: 1px;
    margin-left: 20px;
    display: inline-block;
    background: #fff;
    vertical-align: middle;
}

@media (max-width: 1040px) {
    #cont-details .box-right .inner .choco-box03 img {
        width: 84%;
        max-width: 351px;
        margin: 0 auto 20px 0;
    }
    #cont-details .inner > .normal-txt {
        font-size: 1.4vw;
    }
}
@media (max-width: 768px) {
    #cont-details {
        margin: 0 auto 0;
        padding: 0;
        position: relative;
        z-index: 3;
    }
    #cont-details .box-wrap {
        display: block;
        color: #fff;
    }
    #cont-details .box-left {
        width: 100%;
        padding: 32vw 0 16vw;
        background: url("../img/bg_cheese.jpg") 0 0 repeat;
    }
    #cont-details .box-right {
        width: 100%;
        padding: 16vw 0 32vw;
        background: url("../img/bg_choco.jpg") 0 0 repeat;
    }
    #cont-details .inner h3 {
        width: 78%;
        max-width: 458px;
        margin: 0 auto 8vw;
    }
    #cont-details .inner .normal-txt {
        width: 90%;
        margin: 0 auto 5vw;
        font-family: "游ゴシック体","Yu Gothic",YuGothic,"Hiragino Kaku Gothic Pro W3","ヒラギノ角ゴ Pro W3","ヒラギノ角ゴ Pro","メイリオ","Meiryo",メイリオ,"ＭＳ Ｐゴシック", sans-serif;
    }
    #cont-details .inner > .normal-txt {
        text-align: center;
        font-size: 3.2vw;
    }
    #cont-details .txt-price {
        margin-bottom: 5vw;
        font-size: 8vw;
        line-height: 1;
    }
    #cont-details .txt-price span {
        font-size: 4vw;
    }
    #cont-details .detail-info {
        width: 100%;
        padding: 3vw 0;
        display: flex;
        border-top: 1px solid #fff;
        text-align: left;
    }
    #cont-details .detail-info.last {
        border-bottom: 1px solid #fff;
    }
    #cont-details .detail-info .info-ttl {
        width: 22vw;
        display: block;
        font-size: 3.6vw;
    }
    #cont-details .detail-info .info-cont {
        width: calc(100% - 22vw);
        display: block;
    }

    #cont-details .btn-black {
        margin: 8vw auto 0;
    }

    /*チーズケーキ*/
    #cont-details .box-left .img01 {
        width: 96%;
        margin: 0 auto 0 0;
    }

    #cont-details .box-left .inner .cheese-box03 {
        width: 86%;
        margin: -40px auto 0;
        text-align: right;
    }

    #cont-details .box-left .inner .cheese-box03 img {
        width: 70%;
        max-width: 374px;
        margin: 0 0 4vw auto;
    }

    #cont-details .box-left .inner .cheese-box03 .txt-recommend {
        margin: 6vw auto 6vw;
        font-size: 4.2vw;
    }
    #cont-details .box-left .inner .cheese-box03 h4 {
        width: 90%;
        margin: 0 0 4vw auto;
        font-family: 'Montserrat', sans-serif;
        font-size: 7vw;
        font-weight: 300;
        line-height: 1;
        position: relative;
    }
    #cont-details .box-left .inner .cheese-box03 h4::before {
        content: "";
        width: 70px;
        height: 1px;
        margin-right: 20px;
        display: inline-block;
        background: #fff;
        vertical-align: middle;
    }


    /*チョコテリーヌ*/
    #cont-details .box-right .img01 {
        width: 96%;
        margin: 0 0 0 auto;
    }

    #cont-details .box-right .inner .choco-box03 {
        width: 86%;
        margin: -36px auto 0;
    }

    #cont-details .box-right .inner .choco-box03 img {
        width: 70%;
        max-width: 351px;
        margin: 0 auto 4vw 0;
    }

    #cont-details .box-right .inner .choco-box03 .txt-recommend {
        margin: 6vw auto 6vw;
        font-size: 4.2vw;
    }
    #cont-details .box-right .inner .choco-box03 h4 {
        width: 90%;
        margin: 0 auto 4vw 0;
        font-family: 'Montserrat', sans-serif;
        font-size: 7vw;
        font-weight: 300;
        line-height: 1;
        position: relative;
    }
    #cont-details .box-right .inner .choco-box03 h4::after {
        content: "";
        width: 12vw;
        height: 1px;
        margin-left: 4vw;
        display: inline-block;
        background: #fff;
        vertical-align: middle;
    }
}


/* About Us
-----------------------------------------------------*/
#cont-akaikesyoten {
    text-align: center;
    background: #fff;
    position: relative;
    z-index: 4;
}
#cont-akaikesyoten::before {
    content: "";
    width: 100%;
    height: 9vw;
    background: url("../img/bg_wave.png") 0 0 no-repeat;
    background-size: cover;
    display: block;
    position: absolute;
    top: -9vw;
    z-index: 5;
}
#cont-akaikesyoten .inner {
    width: 90%;
    margin: 0 auto;
}
#cont-akaikesyoten .logo {
    width: 112px;
    margin: 0 auto 40px;
}
#cont-akaikesyoten h3 {
    margin: 0 auto 35px;
    font-family: 'Montserrat', sans-serif;
    font-size: 28px;
    font-weight: 500;
    line-height: 1;
}
#cont-akaikesyoten .normal-txt {
    font-size: 14px;
}
#cont-akaikesyoten .btn-area {
    width: 100%;
    max-width: 630px;
    margin: 60px auto 50px;
    display: flex;
    justify-content: space-between;
}
#cont-akaikesyoten .sns-area {
    width: 100%;
    max-width: 100px;
    margin: 0 auto 60px;
    display: flex;
    justify-content: space-between;
}
#cont-akaikesyoten .sns-area a {
    width: 20px;
    display: block;
}

#cont-akaikesyoten .footer-line {
    margin: 0 auto 30px;
    font-family: "游ゴシック体","Yu Gothic",YuGothic,"Hiragino Kaku Gothic Pro W3","ヒラギノ角ゴ Pro W3","ヒラギノ角ゴ Pro","メイリオ","Meiryo",メイリオ,"ＭＳ Ｐゴシック", sans-serif;
}
#cont-akaikesyoten .footer-line img {
    width: 30px;
    margin: 0 auto 10px;
    display: block;
}
#cont-akaikesyoten .footer-line p {
    font-size: 12px;
}
#cont-akaikesyoten .footer-line a {
    font-size: 12px;
    text-decoration: underline;
}
@media (max-width: 768px) {
    #cont-akaikesyoten {
        padding: 10vw 0 0;
        text-align: center;
        background: #fff;
        position: relative;
        z-index: 4;
    }
    #cont-akaikesyoten::before {
        content: "";
        width: 100%;
        height: 16vw;
        background: url("../img/bg_wave_sp02.png") 0 0 no-repeat;
        background-size: cover;
        display: block;
        position: absolute;
        top: -16vw;
        z-index: 5;
    }
    #cont-akaikesyoten .inner {
        width: 90%;
        margin: 0 auto;
    }
    #cont-akaikesyoten .logo {
        width: 35%;
        margin: 0 auto 8vw;
    }
    #cont-akaikesyoten h3 {
        margin: 0 auto 8vw;
        font-family: 'Montserrat', sans-serif;
        font-size: 7vw;
        font-weight: 500;
        line-height: 1;
    }
    #cont-akaikesyoten .normal-txt {
        font-size: 3.0vw;
    }
    #cont-akaikesyoten .btn-area {
        width: 90%;
        max-width: 630px;
        margin: 8vw auto 8vw;
        display: block;
    }
    #cont-akaikesyoten .btn-area .btn-white {
        margin: 0 auto 5vw;
    }
    #cont-akaikesyoten .sns-area {
        width: 30%;
        max-width: initial;
        margin: 0 auto 16vw;
        display: flex;
        justify-content: space-between;
    }
    #cont-akaikesyoten .sns-area a {
        width: 5vw;
        display: block;
    }
    
    #cont-akaikesyoten .footer-line {
        margin: 0 auto 8vw;
        font-family: "游ゴシック体","Yu Gothic",YuGothic,"Hiragino Kaku Gothic Pro W3","ヒラギノ角ゴ Pro W3","ヒラギノ角ゴ Pro","メイリオ","Meiryo",メイリオ,"ＭＳ Ｐゴシック", sans-serif;
    }
    #cont-akaikesyoten .footer-line img {
        width: 8vw;
        margin: 0 auto 2vw;
        display: block;
    }
    #cont-akaikesyoten .footer-line p {
        font-size: 2.8vw;
    }
    #cont-akaikesyoten .footer-line a {
        font-size: 2.8vw;
        text-decoration: underline;
    }
}




/* footer
-----------------------------------------------------*/
footer {
    width: 100%;
    padding: 0 0 40px;
    background: #fff;
    position: relative;
    z-index: 999;
}

footer .inner {
    width: 90%;
    max-width: 1170px;
    margin: 0 auto;
    padding: 40px 0 0;
    border-top: 1px solid #000;
    font-size: 14px;
    line-height: 1;
}
footer .inner .footer-address {
    margin-bottom: 28px;
}
footer .inner .footer-address a {
    text-decoration: underline;
}
footer .inner .footer-tel {
    margin-bottom: 30px;
}
footer .inner .copyright {
    text-align: right;
    color: #c9c9c9;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 500;
}

@media (max-width: 768px) {
    footer {
        width: 100%;
        padding: 0 0 5vw;
        background: #fff;
        position: relative;
        z-index: 999;
    }

    footer .inner {
        width: 90%;
        max-width: 1170px;
        margin: 0 auto;
        padding: 5vw 0 0;
        border-top: 1px solid #000;
        font-size: 3.0vw;
        line-height: 1;
    }
    footer .inner .footer-address {
        margin-bottom: 4vw;
    }
    footer .inner .footer-tel {
        margin-bottom: 6vw;
    }
    footer .inner .copyright {
        text-align: right;
        color: #c9c9c9;
        font-family: 'Montserrat', sans-serif;
        font-size: 2.6vw;
        font-weight: 500;
    }
}


/* スクロールエフェクト
---------------------------------------------------------------------------- */
.is-effect {
    -webkit-transition: 1.0s ease-in-out;
    -moz-transition: 1.0s ease-in-out;
    -o-transition: 1.0s ease-in-out;
    transition: 1.0s ease-in-out;
}

.is-effect-fade {
    opacity: 0;
}
.is-effect-right {
    opacity: 0;
    -webkit-transform: translate(60px, 0);
    -moz-transform: translate(60px, 0);
    -ms-transform: translate(60px, 0);
    -o-transform: translate(60px, 0);
    transform: translate(60px, 0);

    -webkit-transition: 1.0s ease-in-out;
    -moz-transition: 1.0s ease-in-out;
    -o-transition: 1.0s ease-in-out;
    transition: 1.0s ease-in-out;
}
.is-effect-left {
    opacity: 0;
    -webkit-transform: translate(-60px, 0);
    -moz-transform: translate(-60px, 0);
    -ms-transform: translate(-60px, 0);
    -o-transform: translate(-60px, 0);
    transform: translate(-60px, 0);
}
.is-effect-up {
    opacity: 0;
    -webkit-transform: translate(0, 60px);
    -moz-transform: translate(0, 60px);
    -ms-transform: translate(0, 60px);
    -o-transform: translate(0, 60px);
    transform: translate(0, 60px);
}
.is-effect-down {
    opacity: 0;
    -webkit-transform: translate(0, -60px);
    -moz-transform: translate(0, -60px);
    -ms-transform: translate(0, -60px);
    -o-transform: translate(0, -60px);
    transform: translate(0, -60px);
}

.is-effect-on {
    opacity : 1;
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
}