@charset "UTF-8";


/*++++++++++++++++++++++++++
メインコンテンツ
++++++++++++++++++++++++++*/
main{
    background-color: #fff;
    color: #000;
}
main img{
    vertical-align: bottom;
    width: 100%;
    height: 100%;
}

/*++++++++++++コピペ用++++++++++++*/
.sp{
    display: none;
}
.pc{
    display:block;
}
.cp-wrapper{
    font-family: "Zen Maru Gothic", "Noto Sans JP", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Montserrat", "Hiragino Kaku Gothic ProN W3";
    width: 1100px;
    margin: auto;
    padding: 0 40px;
}
.marugo{
    font-family: "Noto Sans JP", "游ゴシック体";
}
.backpattern{
    position: relative;
    width: 100%;
    & .img-pattern{
        position: absolute;
        z-index: 1;
        bottom: -15px;
        left: 0;
        right: 0;
        width:100vw;
    }
    & img{
        transform: scale(1.1);
        width: 100%;
    }
}
#main a, #block1 a, #block2 a, #block3 a, #block4 a, #block5 a{
    text-decoration:none;
}
@media only screen and (max-width: 1025px) {
    .sp{
        display: block;
    }
    .pc{
        display:none;
    }
    .cp-wrapper{
        width: 92%;
        padding: 0;
    }
}
@media only screen and (max-width: 767px) {
    main{
        margin-top: 20px;
    }
}
.koukaimae{
    padding: clamp(20px, 4vw, 40px) 0;
    background-image: url(https://www.hokto-kinoko.co.jp/z0y6LaZKWu/wp-content/themes/hokuto2017/img/moomin_pasta/main_back.jpg);
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: cover;
    font-family: "Zen Maru Gothic", "Noto Sans JP", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Montserrat", "Hiragino Kaku Gothic ProN W3";
    & figure img{
        width: 100%;
        box-shadow: 0 0 15px rgba(90, 50, 0, 0.25);
    }
    & h5{
        font-size: clamp(18px, 3.4vw, 34px);
        font-weight: 700;
        text-align: center;
        line-height: 1.3em;
        letter-spacing: 0.03em;
        margin-top: 25px;
        color: #936846;
    }
}
/*+++main+++*/
#main{
    padding: 20px 0 1000px;
    background-image: url(https://www.hokto-kinoko.co.jp/z0y6LaZKWu/wp-content/themes/hokuto2017/img/moomin_pasta/main_back.jpg);
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: cover;
    font-family: "Zen Maru Gothic", "Noto Sans JP", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Montserrat", "Hiragino Kaku Gothic ProN W3";
    overflow: hidden;
    & .sns ol{
        text-align: right;
        font-size: 0;
    }
    & .sns ol li{
        display: inline-block;
        margin-right: clamp(8px, 1.5vw, 15px);
        width: clamp(35px, 5.5vw, 50px);
    }
    & .title .logo figure{
        width: clamp(220px, 35vw, 300px);
        margin: 15px auto auto;
    }
    & .title h1{
        font-size: clamp(32px, 6.5vw, 62px);
        font-weight: 700;
        text-align: center;
        line-height: 1.3em;
        letter-spacing: 0.07em;
        color: #936846;
        margin: 25px 0 5px;
    }
    & .title h2{
        font-size: clamp(24px, 3.6vw, 36px);
        font-weight: 700;
        text-align: center;
        line-height: 1.3em;
        letter-spacing: 0.03em;
        color: #936846;
        margin: 5px 0;
    }
    & .item{
        position: relative;
    }
    & .item .box img,
    .item .pasta-cream img,
    .item .pasta-tomato img{
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
    }
    & .item .box{
        position: absolute;
        left: 0;
        right: 0;
        top: 130px;
        margin: auto;
        width: 620px;
        z-index: 9;
    }
    & .item .trademark{
        position: absolute;
        right: calc(50% - 310px);
        top: 515px;
        width: 108px;
        z-index: 8;
    }
    & .item .pasta-cream{
        position: absolute;
        left: calc(50% - 300px);
        top: 130px;
        width: 300px;
        z-index: 5;
    }
    & .item .pasta-tomato{
        position: absolute;
        right: calc(50% - 300px);
        top: 130px;
        width: 300px;
        z-index: 5;
    }
    & .item .ill-cream{
        position: absolute;
        left: calc(50% - 180px);
        top: 200px;
        margin: auto;
        width: 100px;
        z-index: 2;
        transform: rotate(-17deg);
        -webkit-transform: rotate(-17deg);
    }
    & .item .ill-anchovy{
        position: absolute;
        left: calc(50% - 200px);
        top: 260px;
        margin: auto;
        width: 85px;
        z-index: 2;
        transform: rotate(-27deg);
        -webkit-transform: rotate(-27deg);
    }
    & .item .ill-potatoes{
        position: absolute;
        left: calc(50% - 170px);
        top: 380px;
        margin: auto;
        width: 130px;
        z-index: 2;
        transform: rotate(1deg);
        -webkit-transform: rotate(1deg);
    }
    & .item .ill-chili{
        position: absolute;
        right: calc(50% - 180px);
        top: 200px;
        margin: auto;
        width: 92px;
        z-index: 2;
        transform: rotate(9deg);
        -webkit-transform: rotate(9deg);
    }
    & .item .ill-garlic{
        position: absolute;
        right: calc(50% - 200px);
        top: 320px;
        margin: auto;
        width: 75px;
        z-index: 2;
        transform: rotate(20deg);
        -webkit-transform: rotate(20deg);
    }
    & .item .ill-tomato{
        position: absolute;
        right: calc(50% - 170px);
        top: 380px;
        margin: auto;
        width: 105px;
        z-index: 2;
        transform: rotate(15deg);
        -webkit-transform: rotate(15deg);
    }
    & .item .txt-blk{
        position: absolute;
        left: 0;
        right: 0;
        top: 600px;
        margin: auto;
        z-index: 1;
    }
    & .item .txt-blk h4{
        font-size: clamp(22px, 4vw, 40px);
        font-weight: 700;
        text-align: center;
        line-height: 1.3em;
        letter-spacing: 0.03em;
        color: #936846;
    }
    & .item .box.js-bounce{
        transition: all 1s ease;
    }
    & .item .box.js-bounce.act{
         animation: floatDown 1.4s ease forwards;
    }
    & .item .js-anime{
        transition: all 1s ease;
        transition-delay: 0.42s;
    }
    /*---------アニメ後---------*/
    & .item .trademark.act{
        top: 775px;
    }
    & .item .pasta-cream.act{
        left: calc(50% - 360px);
        top: 50px;
        transform: rotate(-10deg);
        -webkit-transform: rotate(-10deg);
    }
    & .item .pasta-tomato.act{
        right: calc(50% - 360px);
        top: 50px;
        transform: rotate(10deg);
        -webkit-transform: rotate(10deg);
    }
    & .item .ill-cream.act{
        left: calc(50% - 460px);
        top: 10px;
    }
    & .item .ill-anchovy.act{
        left: calc(50% - 500px);
        top: 210px;
    }
    & .item .ill-potatoes.act{
        left: calc(50% - 470px);
        top: 420px;
    }
    & .item .ill-chili.act{
        right: calc(50% - 460px);
        top: 20px;
    }
    & .item .ill-garlic.act{
        right: calc(50% - 490px);
        top: 260px;
    }
    & .item .ill-tomato.act{
        right: calc(50% - 450px);
        top: 400px;
    }
    & .item .txt-blk.act{
        top: 850px;
    }
}
@keyframes floatDown{
  0% {
    transform: translateY(0);
  }

  30% {
    transform: translateY(-10px);
  }

  100% {
    transform: translateY(250px);
  }
}
@media only screen and (max-width: 767px) {
    #main{
        padding: 20px 0 650px;
    & .item .box{
        top: 60px;
        width: 360px;
    }
    & .item .trademark{
        right: calc(50% - 180px);
        top: 280px;
        width: 80px;
    }
    & .item .pasta-cream{
        left: calc(50% - 170px);
        top: 60px;
        width: 170px;
    }
    & .item .pasta-tomato{
        right: calc(50% - 170px);
        top: 60px;
        width: 170px;
    }
    & .item .ill-cream{
        left: calc(50% - 100px);
        top: 90px;
        width: 65px;
    }
    & .item .ill-anchovy{
        left: calc(50% - 130px);
        top: 130px;
        width: 55px;
    }
    & .item .ill-potatoes{
        left: calc(50% - 140px);
        top: 200px;
        width: 85px;
    }
    & .item .ill-chili{
        right: calc(50% - 100px);
        top: 90px;
        width: 60px;
    }
    & .item .ill-garlic{
        right: calc(50% - 130px);
        top: 160px;
        width: 50px;
    }
    & .item .ill-tomato{
        right: calc(50% - 110px);
        top: 200px;
        width: 70px;
    }
    & .item .txt-blk{
        top: 340px;
    }
    /*---------アニメ後---------*/
    & .item .trademark.act{
        top: 460px;
    }
    & .item .pasta-cream.act{
        left: calc(50% - 205px);
        top: 40px;
    }
    & .item .pasta-tomato.act{
        right: calc(50% - 205px);
        top: 40px;
    }
    & .item .ill-cream.act{
        left: calc(50% - 280px);
        top: 0px;
    }
    & .item .ill-anchovy.act{
        left: calc(50% - 300px);
        top: 140px;
    }
    & .item .ill-potatoes.act{
        left: calc(50% - 290px);
        top: 280px;
    }
    & .item .ill-chili.act{
        right: calc(50% - 290px);
        top: 10px;
    }
    & .item .ill-garlic.act{
        right: calc(50% - 310px);
        top: 140px;
    }
    & .item .ill-tomato.act{
        right: calc(50% - 280px);
        top: 260px;
    }
    & .item .txt-blk.act{
        top: 520px;
    }
    }
    @keyframes floatDown{
  0% {
    transform: translateY(0);
  }

  30% {
    transform: translateY(-10px);
  }

  100% {
    transform: translateY(180px);
  }
}
}
@media only screen and (max-width: 450px) {
    #main{
        padding: 20px 0 470px;
    & .item .box{
        width: 260px;
    }
    & .item .trademark{
        right: calc(50% - 130px);
        top: 215px;
        width: 65px;
    }
    & .item .pasta-cream{
        left: calc(50% - 120px);
        width: 120px;
    }
    & .item .pasta-tomato{
        right: calc(50% - 120px);
        width: 120px;
    }
    & .item .ill-cream{
        left: calc(50% - 50px);
        top: 90px;
        width: 40px;
    }
    & .item .ill-anchovy{
        left: calc(50% - 60px);
        top: 110px;
        width: 35px;
    }
    & .item .ill-potatoes{
        left: calc(50% - 50px);
        top: 160px;
        width: 55px;
    }
    & .item .ill-chili{
        right: calc(50% - 80px);
        top: 80px;
        width: 35px;
    }
    & .item .ill-garlic{
        right: calc(50% - 90px);
        top: 120px;
        width: 30px;
    }
    & .item .ill-tomato{
        right: calc(50% - 80px);
        top: 160px;
        width: 40px;
    }
    & .item .txt-blk{
        top: 280px;
    }
    /*---------アニメ後---------*/
    & .item .trademark.act{
        top: 315px;
    }
    & .item .pasta-cream.act{
        left: calc(50% - 150px);
        top: 20px;
    }
    & .item .pasta-tomato.act{
        right: calc(50% - 150px);
        top: 20px;
    }
    & .item .ill-cream.act{
        left: calc(50% - 190px);
        top: 5px;
    }
    & .item .ill-anchovy.act{
        left: calc(50% - 200px);
        top: 100px;
    }
    & .item .ill-potatoes.act{
        left: calc(50% - 200px);
        top: 185px;
    }
    & .item .ill-chili.act{
        right: calc(50% - 190px);
        top: 10px;
    }
    & .item .ill-garlic.act{
        right: calc(50% - 200px);
        top: 90px;
    }
    & .item .ill-tomato.act{
        right: calc(50% - 180px);
        top: 170px;
    }
    & .item .txt-blk.act{
        top: 380px;
    }
    }
    @keyframes floatDown{
  0% {
    transform: translateY(0);
  }

  30% {
    transform: translateY(-5px);
  }

  100% {
    transform: translateY(100px);
  }
}
}
.moomin_illust figure{
    width: 100%;
}
/*++++++++++++block1++++++++++++*/
#block1{
    background-color: #F2EECA;
    padding: 60px 0 200px;
    & .contents1{
        margin-bottom: clamp(80px, 10vw, 100px);
    }
    & .contents1 .title-box{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
    }
    & .contents1 .title-box .midashi{
        width: calc(100% - 400px);
    }
    & .contents1 .title-box .midashi h6{
        font-size: clamp(32px, 6vw, 58px);
        font-weight: 700;
        line-height: 1.3em;
        letter-spacing: 0.02em;
        color: #936846;
    }
    & .contents1 .title-box .midashi h6 span{
        color: #EB8D2F;
    }
    & .contents1 .title-box .image figure{
        width: 380px;
    }
    & .contents2 .flx-box{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    & .contents2 .flx-box > *{
        width: 48%;
    }
    & .contents2 .flx-box .explanation{
        width: 96%;
        margin: auto;
    }
    & .contents2 .flx-box .pasta{
        width: 100%;
        margin: auto auto clamp(25px, 5vw, 50px);
    }
    & .contents2 .flx-box .name{
        background-color: #6FB4BC;
        border-radius: 20px;
    }
    & .contents2 .flx-box .item:nth-child(2) .name{
        background-color: #E68D89;
    }
    & .contents2 .flx-box .name h3{
        font-size: clamp(20px, 3.6vw, 36px);
        font-weight: 600;
        line-height: 1.4em;
        letter-spacing: 0.025em;
        color: #fff;
        text-align: center;
        padding: 20px 10px;
    }
    & .contents2 .flx-box .ingredients{
        margin-top: clamp(20px, 4vw, 40px);
    }
    & .contents2 .flx-box .ingredients h6{
        font-size: clamp(18px, 2.4vw, 24px);
        font-weight: 600;
        line-height: 1.4em;
        letter-spacing: 0.015em;
        color: #936846;
        text-align: center;
    }
    & .border {
        display: flex;
        align-items: center;
    }
    & .border:before,
    & .border:after {
        content: "";
        height: 1px;
        flex-grow: 1;
        background-color: #936846;
    }
    & .border:before {
        margin-right: 1rem;
    }
    & .border:after {
        margin-left: 1rem;
    }
    & .contents2 .flx-box .ingredients p{
        font-size: clamp(16px, 2.2vw, 22px);
        font-weight: 500;
        line-height: 1.4em;
        color: #936846;
        margin-top: 25px;
        text-align: center;
    }
}
@media only screen and (max-width: 767px) {
    #block1{
        padding: 50px 0 100px;
        & .contents1 .title-box{
            flex-direction: column-reverse;
        }
        & .contents1 .title-box .midashi{
            width: 100%;
        }
        & .contents1 .title-box .midashi h6{
            text-align: center;
        }
        & .contents1 .title-box .image figure{
            width: 150px;
            margin: auto auto 20px;
        }
        & .contents2 .flx-box > *{
            width: 90%;
            margin: auto;
        }
        & .contents2 .flx-box .item:first-child{
            margin-bottom: 80px;
        }
    }
}
/*++++++++++++block2++++++++++++*/
#block2, #block3{
    background-color: #6FB4BC;
    padding: 60px 0 150px;
    position: relative;
    & .illust{
        position: absolute;
        top: -150px;
        right: 5%;
        width: 220px;
        z-index: 2;
    }
    & .contents1{
        margin-bottom: 60px;
    }
    & .contents1 .flx-box{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
    }
    & .contents1 .flx-box > *{
        width: 48%;
    }
    & .contents1 .flx-box .item{
        position: relative;
    }
    & .contents1 .flx-box .item::before{
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 500px;
        height: 500px;
        background-color: rgba(255, 255, 255, 0.3);
        border-radius: 100000px;
    }
    & .contents1 .flx-box .item figure{
        width: 70%;
        margin: 30px auto auto;
        position: relative;
        z-index: 2;
    }
    & .contents1 .flx-box .item figure img{
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
    }
    & .contents1 .flx-box .text h4{
        font-size: clamp(24px, 3.6vw, 36px);
        font-weight: 600;
        line-height: 1.4em;
        letter-spacing: 0.025em;
        color: #fff;
        margin-bottom: clamp(30px, 5vw, 50px);
    }
    & .contents1 .flx-box .text p{
        font-size: clamp(16px, 2vw, 20px);
        line-height: 1.8em;
        color: #fff;
    }
    & .contents1 .flx-box .text p span{
        display: block;
        font-size: 0.8em;
    }
}
@media only screen and (max-width: 1025px) {
    #block2, #block3{
        & .contents1 .flx-box .item{
            width: 350px;
        }
        & .contents1 .flx-box .text{
            width: calc(100% - 370px);
        }
        & .contents1 .flx-box .item::before{
            width: 350px;
            height: 350px;
        }
        & .contents1 .flx-box .item figure{
            margin: 15px auto auto;
        }
    }
}
@media only screen and (max-width: 767px) {
    #block2, #block3{
        padding: 40px 0 100px;
        & .illust{
            top: -90px;
            width: 120px;
        }
        & .contents1 .flx-box .item{
            width: 400px;
            margin: auto auto 50px;
        }
        & .contents1 .flx-box .text{
            width: 100%;
        }
        & .contents1 .flx-box .item::before{
            width: 400px;
            height: 400px;
        }
    }
}
@media only screen and (max-width: 500px) {
    #block2, #block3{
        & .contents1 .flx-box .item{
            width: 320px;
        }
        & .contents1 .flx-box .item::before{
            width: 320px;
            height: 320px;
        }
        & .contents1 .flx-box .item figure{
            margin: 15px auto auto;
        }
    }
}
/*-------アコーディオンメニュー-------*/
.custom-accordion {
    width: 100%;
    margin-bottom: 5px;
    color: #fff;
}
.accordion-header {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    background-color: transparent;
    border: 1px solid #fff;
    border-radius: 100px;
    cursor: pointer;
    transition: background-color 0.3s;
    height: 60px;
    box-sizing: border-box;
}
.icon-circle {
    position: absolute;
    right: 4px;
    width: 50px;
    height: 50px;
    background-color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.icon-circle::before,
.icon-circle::after {
    content: "";
    position: absolute;
    background-color: #6FB4BC;
    transition: transform 0.5s ease, opacity 0.5s ease;
}
#block3 .icon-circle::before,
#block3 .icon-circle::after {
    background-color: #E68D89;
}
.icon-circle::before {
    width: 20px;
    height: 2px;
}
.icon-circle::after {
    width: 2px;
    height: 20px;
}
.accordion-header.is-active .icon-circle::after {
    transform: rotate(90deg);
    opacity: 0;
}
.accordion-title {
    font-size: clamp(20px, 2.6vw, 26px);
    font-weight: 600;
    line-height: 1.4em;
    letter-spacing: 0.05em;
}
.accordion-content {
    display: none;
    overflow: hidden;
    color: #fff;
}
.accordion-header.is-active + .accordion-content {
    display: block;
    animation: accordionopen 0.5s ease forwards;
}
@keyframes accordionopen{
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.accordion-content table {
    border-collapse: collapse;
    width: 100%;
}
.accordion-content table tr{
    border-bottom: solid 1px rgba(255, 255, 255, 0.5);
    vertical-align: top;
}
.accordion-content table tr th,
.accordion-content table tr td{
    padding: 30px 0;
    font-size: clamp(14px, 1.6vw, 16px);
    line-height: 1.5em;
}
.accordion-content table tr th{
    width: 200px;
    text-align: left;
    padding-right: 15px;
}
.accordion-content table tr td{
    width: calc(100% - 220px);
}
@media only screen and (max-width: 767px) {
    .accordion-content table tr th,
    .accordion-content table tr td{
        display: block;
        width: 100%;
    }
    .accordion-content table tr th{
        padding-bottom: 0;
        font-weight: 600;
    }
    .accordion-content table tr td{
        padding-top: 20px;
    }
}
/*++++++block3++++++*/
#block3{
    background-color: #E68D89;
}
/*++++++++++++block4++++++++++++*/
#block4{
    padding: 100px 0 250px;
    background-color: #F2EECA;
    overflow: hidden;
    & .ribbon figure{
        width: clamp(400px, 75vw, 700px);
        margin: auto;
    }
    & .contents1,
    .contents2{
        margin-top: clamp(80px, 10vw, 100px);
    }
    & .contents1 h2,
    .contents2 h2{
        font-size: clamp(22px, 3.4vw, 34px);
        font-weight: 600;
        line-height: 1.4em;
        letter-spacing: 0.025em;
        color: #936846;
        background-color: #fff;
        border-radius: 1.2em;
        padding: 25px 10px;
        text-align: center;
        margin-bottom: 170px;
        position: relative;
        z-index: 10;
    }
    & .contents1 .play-anime{
        position: relative;
        cursor: pointer;
    }
    & .contents1 .play-anime .box figure img,
    .contents1 .play-anime .hukidashi figure img{
        /* box-shadow: 0 0 20px rgba(0, 0, 0, 0.15); */
        filter: drop-shadow(0 0 20px rgba(0, 0, 0, 0.15));
    }
    & .contents1 .play-anime .cream figure img,
    .contents1 .play-anime .tomato figure img,
    .contents2 .play-anime2 .cream figure img,
    .contents2 .play-anime2 .tomato figure img{
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
    }
    & .contents1 .play-anime .box figure{
        width: 700px;
        margin: auto;
        position: relative;
        z-index: 6;
    }
    & .contents1 .play-anime .midashi{
        position: absolute;
        top: -120px;
        left: 0;
        right: 0;
        margin: auto;
        width: 700px;
        z-index: 10;
        opacity: 0;
        scale: 0.9;
        transition: all 0.5s ease;
    }
    & .contents1 .play-anime .midashi .txt{
        font-size: 36px;
        font-weight: 600;
        line-height: 1.4em;
        letter-spacing: 0.025em;
        color: #936846;
        text-align: center;
    }
    & .contents1 .play-anime .hukidashi{
        position: absolute;
        top: 80px;
        left: calc(50% - 520px);
        width: 220px;
        z-index: 9;
        opacity: 0;
        transition: all 0.5s ease;
    }
    & .contents1 .play-anime .click{
        position: absolute;
        top: -80px;
        right: calc(50% - 480px);
        width: 90px;
        z-index: 7;
        scale: 1;
        opacity: 1;
        transition: all 0.3s ease;
    }
    & .contents1 .play-anime .trademark{
        position: absolute;
        bottom: -25px;
        right: calc(50% - 350px);
        width: 130px;
        z-index: 5;
    }
    & .contents1 .play-anime .cream{
        position: absolute;
        top: 0;
        left: calc(50% - 720px);
        width: 352px;
        z-index: 4;
        transition: left 0.8s ease;
    }
    & .contents1 .play-anime .tomato{
        position: absolute;
        top: 0;
        right: calc(50% - 720px);
        width: 352px;
        z-index: 3;
        transition: right 0.8s ease;
    }
    & .contents1 .play-anime .cream.move{
        left: calc(50% - 348px);
    }
    & .contents1 .play-anime .tomato.move{
        right: calc(50% - 348px);
    }
    & .contents1 .play-anime .midashi.move{
        opacity: 1;
        scale: 1;
    }
    & .contents1 .play-anime .hukidashi.move{
        opacity: 1;
    }
    & .contents1 .play-anime .click.tap{
        scale: 0.95;
        opacity: 0;
    }
    & .contents2{
        position: relative;
    }
    & .contents2::before{
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        margin: auto;
        width: 900px;
        height: 900px;
        background-color: rgba(255, 255, 255, 0.5);
        border-radius: 1000000px;
    }
    & .contents2 .play-anime2{
        position: relative;
        cursor: pointer;
    }
    & .contents2 .play-anime2 .flx-box{
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
    }
    & .contents2 .play-anime2 .flx-box > *{
        width: 400px;
        flex-shrink: 0;
    }
    & .contents2 .play-anime2 .flx-box .cream{
        margin-right: 20px;
        position: relative;
        z-index: 6;
        transition: margin-right 0.7s ease;
    }
    & .contents2 .play-anime2 .flx-box .tomato{
        margin-left: 20px;
        position: relative;
        z-index: 6;
        transition: margin-left 0.7s ease;
    }
    & .contents2 .play-anime2 .midashi{
        position: absolute;
        top: -120px;
        left: 0;
        right: 0;
        margin: auto;
        width: 700px;
        z-index: 10;
        opacity: 0;
        scale: 0.9;
        transition: all 0.5s ease;
    }
    & .contents2 .play-anime2 .midashi .txt{
        font-size: 36px;
        font-weight: 600;
        line-height: 1.4em;
        letter-spacing: 0.025em;
        color: #936846;
        text-align: center;
    }
    & .contents2 .play-anime2 .click{
        position: absolute;
        top: -80px;
        right: calc(50% - 460px);
        width: 90px;
        z-index: 7;
        scale: 1;
        opacity: 1;
        transition: all 0.3s ease;
    }
    & .contents2 .play-anime2 .flx-box .cream.move{
        margin-right: 0;
    }
    & .contents2 .play-anime2 .flx-box .tomato.move{
        margin-left: 0;
    }
    & .contents2 .play-anime2 .midashi.move{
        opacity: 1;
        scale: 1;
    }
    & .contents2 .play-anime2 .click.tap{
        scale: 0.95;
        opacity: 0;
    }
}
@media only screen and (max-width: 1025px) {
    #block4{
        padding: 80px 0 220px;
        & .contents1 .play-anime .box figure{
        width: 480px;
    }
    & .contents1 h2,
    .contents2 h2{
        padding: 20px 10px;
        margin-bottom: 120px;
    }
    & .contents1 .play-anime .midashi{
        top: -90px;
        width: 600px;
    }
    & .contents1 .play-anime .midashi .txt{
        font-size: 28px;
    }
    & .contents1 .play-anime .hukidashi{
        top: 30px;
        left: calc(50% - 340px);
        width: 140px;
    }
    & .contents1 .play-anime .click{
        top: -60px;
        right: calc(50% - 320px);
        width: 60px;
    }
    & .contents1 .play-anime .trademark{
        bottom: -15px;
        right: calc(50% - 240px);
        width: 100px;
    }
    & .contents1 .play-anime .cream{
        left: calc(50% - 500px);
        width: 241px;
    }
    & .contents1 .play-anime .tomato{
        right: calc(50% - 500px);
        width: 241px;
    }
    & .contents1 .play-anime .cream.move{
        left: calc(50% - 238px);
    }
    & .contents1 .play-anime .tomato.move{
        right: calc(50% - 238px);
    }
    & .contents2::before{
        width: 700px;
        height: 700px;
    }
    & .contents2 .play-anime2 .flx-box > *{
        width: 300px;
    }
    & .contents2 .play-anime2 .flx-box .cream{
        margin-right: 15px;
    }
    & .contents2 .play-anime2 .flx-box .tomato{
        margin-left: 15px;
    }
    & .contents2 .play-anime2 .midashi{
        top: -90px;
        width: 600px;
    }
    & .contents2 .play-anime2 .midashi .txt{
        font-size: 28px;
    }
    & .contents2 .play-anime2 .click{
        top: -60px;
        right: calc(50% - 320px);
        width: 60px;
    }
    }
}
@media only screen and (max-width: 767px) {
    #block4{
        padding: 70px 0 140px;
        & .contents1 .play-anime .box figure{
        width: 320px;
    }
    & .ribbon figure{
        width: 90%;
    }
    & .contents1{
        margin-top: 50px;
    }
    & .contents1 h2,
    .contents2 h2{
        margin-bottom: 90px;
    }
    & .contents1 .play-anime .midashi{
        top: -70px;
        width: 400px;
    }
    & .contents1 .play-anime .midashi .txt{
        font-size: 20px;
    }
    & .contents1 .play-anime .hukidashi{
        top: 20px;
        left: calc(50% - 220px);
        width: 90px;
    }
    & .contents1 .play-anime .click{
        top: -50px;
        right: calc(50% - 220px);
        width: 50px;
    }
    & .contents1 .play-anime .trademark{
        bottom: -12px;
        right: calc(50% - 160px);
        width: 80px;
    }
    & .contents1 .play-anime .cream{
        left: calc(50% - 335px);
        width: 160px;
    }
    & .contents1 .play-anime .tomato{
        right: calc(50% - 335px);
        width: 160px;
    }
    & .contents1 .play-anime .cream.move{
        left: calc(50% - 159px);
    }
    & .contents1 .play-anime .tomato.move{
        right: calc(50% - 159px);
    }
    & .contents2::before{
        top: 40px;
        width: 450px;
        height: 450px;
    }
    & .contents2 .play-anime2 .flx-box > *{
        width: 220px;
    }
    & .contents2 .play-anime2 .flx-box .cream{
        margin-right: 10px;
    }
    & .contents2 .play-anime2 .flx-box .tomato{
        margin-left: 10px;
    }
    & .contents2 .play-anime2 .midashi{
        top: -70px;
        width: 400px;
    }
    & .contents2 .play-anime2 .midashi .txt{
        font-size: 20px;
    }
    & .contents2 .play-anime2 .click{
        top: -50px;
        right: calc(50% - 235px);
        width: 50px;
    }
    }
}
@media only screen and (max-width: 450px) {
    #block4{
        padding: 70px 0 100px;
        & .contents1 .play-anime .box figure{
        width: 240px;
    }
    & .contents1{
        margin-top: 40px;
    }
    & .contents1 .play-anime .midashi{
        top: -65px;
        width: 350px;
    }
    & .contents1 .play-anime .midashi .txt{
        font-size: 17px;
    }
    & .contents1 .play-anime .hukidashi{
        top: 15px;
        left: calc(50% - 175px);
        width: 75px;
    }
    & .contents1 .play-anime .click{
        top: -55px;
        right: calc(50% - 180px);
        width: 45px;
    }
    & .contents1 .play-anime .trademark{
        right: calc(50% - 120px);
    }
    & .contents1 .play-anime .cream{
        left: calc(50% - 250px);
        width: 121px;
    }
    & .contents1 .play-anime .tomato{
        right: calc(50% - 250px);
        width: 121px;
    }
    & .contents1 .play-anime .cream.move{
        left: calc(50% - 119px);
    }
    & .contents1 .play-anime .tomato.move{
        right: calc(50% - 119px);
    }
    & .contents2::before{
        top: 70px;
        width: 320px;
        height: 320px;
    }
    & .contents2 .play-anime2 .flx-box > *{
        width: 160px;
    }
    & .contents2 .play-anime2 .flx-box .cream{
        margin-right: 8px;
    }
    & .contents2 .play-anime2 .flx-box .tomato{
        margin-left: 8px;
    }
    & .contents2 .play-anime2 .midashi{
        top: -65px;
        width: 350px;
    }
    & .contents2 .play-anime2 .midashi .txt{
        font-size: 17px;
    }
    & .contents2 .play-anime2 .click{
        top: -55px;
        right: calc(50% - 170px);
        width: 45px;
    }
    }
}
/*++++++++++++block5++++++++++++*/
#block5{
    padding: clamp(100px, 15vw, 150px) 0;
    background-color: #fff;
    & .contents1 h5{
        font-size: clamp(28px, 4vw, 40px);
        font-weight: 700;
        line-height: 1.5em;
        letter-spacing: 0.02em;
        color: #936846;
        text-align: center;
        margin-bottom: clamp(60px, 10vw, 100px);
    }
    & .contents1 ul.shop{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    & .contents1 ul.shop li{
        width: 49%;
        margin-bottom: 3%;
    }
    & .contents1 ul.shop li .blk{
        width: 100%;
        background-color: #fff;
        border: solid 3px #936846;
        box-sizing: border-box;
        border-radius: 0.7em;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.22);
        transition: box-shadow .3s;
    }
    & .contents1 ul.shop li a:hover .blk{
        box-shadow: 0 0 10px rgba(0, 0, 0, 0);
    }
    & .contents1 ul.shop li .blk .blk_inr{
        padding: 15px;
    }
    & .contents1 ul.shop li .blk .txt{
        font-size: clamp(16px, 2vw, 20px);
        font-weight: 700;
        line-height: 1.5em;
        letter-spacing: 0.02em;
        color: #936846;
        text-align: center;
        position: relative;
    }
    & .contents1 ul.shop li .blk .blk_inr .txt::before{
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        margin: auto;
        width: 7px;
        height: 7px;
        border-top: solid 3px #936846;
        border-right: solid 3px #936846;
        transform: rotate(45deg);
        -webkit-transform: rotate(45deg);
    }
    & .contents1 .txt2{
        font-size: clamp(14px, 1.8vw, 18px);
        line-height: 1.5em;
        color: #936846;
        text-align: center;
        margin-top: clamp(20px, 4vw, 40px);
    }
}
@media only screen and (max-width: 767px) {
    #block5{
        & .contents1 ul.shop li{
            width: 100%;
            margin-bottom: 18px;
        }
    }
}
.purchase{
    position: fixed;
    bottom: 10px;
    right: 10px;
    z-index: 12;
    & figure{
        width: clamp(75px, 12vw, 120px);
    }
}
/*++++++++++++++++++++++++++
トップアニメーション
++++++++++++++++++++++++++*/
.scale-in {
    transform: scale(0.7);
    opacity: 0;
}
.scale-in.show {
    opacity: 1;
    animation: scaleBounceIn 0.4s cubic-bezier(0,.22,.22,1) forwards;
}
@keyframes scaleBounceIn {
    0% {
        transform: scale(0.7);
        opacity: 0;
    }
    60% {
        transform: scale(1.1);
        opacity: 1;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}
/*++++++++++++++++++++++++++
スクロールアニメーション
++++++++++++++++++++++++++*/
.scroll-fadeup{
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.3s, transform 0.4s;
}
.scroll-fadeup.is-inview{
    opacity: 1;
    transform: translateY(0);
}
.scroll-scaleup {
    opacity: 0;
    transform: scale(0);
    transition: opacity 0.4s, transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
}
.scroll-scaleup.is-inview {
    opacity: 1;
    transform: scale(1);
}