*,
:after,
:before {
    box-sizing: inherit;
    outline: none
}

a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
main,
mark,
menu,
nav,
object,
ol,
output,
p,
picture,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video {
    border: 0;
    box-sizing: inherit;
    font-size: 100%;
    font: inherit;
    margin: 0;
    padding: 0;
    vertical-align: baseline
}

article,
aside,
audio,
canvas,
details,
dialog,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
picture,
progress,
section,
video {
    display: block
}

html {
    -webkit-text-size-adjust: 100%;
    box-sizing: border-box
}

body {
    line-height: 1
}

ol,
ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

blockquote:after,
blockquote:before,
q:after,
q:before {
    content: "";
    content: none
}

table {
    border-collapse: collapse;
    border-spacing: 0;
    empty-cells: show
}

button,
img,
input,
select,
svg,
textarea {
    vertical-align: middle
}

button,
input,
optgroup,
select,
textarea {
    font: inherit
}

button,
input,
select,
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: transparent;
    border-radius: 0;
    border-style: none;
    color: inherit
}

a {
    color: inherit;
    text-decoration: none
}

body {
    background: #000
}

.mv {
    background-position: 50%;
    background-repeat: no-repeat;
    overflow: hidden;
    position: relative
}

.mv-fg {
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0
}

.mv-fg,
.mv-fg_ornament,
.mv-fg_smoke {
    bottom: 0
}

.mv-fg_note {
    position: absolute
}

.mv-fg .inner,
.mv-main {
    height: 100%;
    position: relative
}

.mv-main_black,
.mv-main_latte,
.mv-main_ttl-txt-zone,
.mv-main_ttl-txt01,
.mv-main_ttl-txt01-asterisk,
.mv-main_ttl-txt02,
.mv-main_ttl-txt03 {
    position: absolute
}

.mv-scroll {
    bottom: 44px;
    left: 50%;
    overflow: hidden;
    z-index: 10
}

.mv-scroll,
.mv-scroll_icon {
    position: absolute;
    transform: translate(-50%)
}

.mv-scroll_icon {
    bottom: 0;
    display: block;
    overflow-y: hidden
}

.mv-scroll_arrow {
    animation: flow 1.7s 0s infinite;
    display: block
}

@keyframes flow {
    0% {
        transform: translateY(-120%)
    }
    to {
        transform: translateY(120%)
    }
}

.about {
    background-position: 50%;
    background-repeat: no-repeat;
    position: relative
}

.about .inner {
    height: 100%;
    position: relative
}

.about_logo,
.about_note,
.about_txt {
    position: absolute
}

.visual {
    position: relative
}

.visual-bg {
    height: 100%
}

.method {
    position: relative
}

.method-bg {
    background-position: 50%;
    background-repeat: no-repeat;
    height: 100vh;
    left: 0;
    position: sticky;
    top: 0;
    z-index: -1
}

.method-box {
    margin-top: -100vh;
    margin-bottom: 100px;
}

.method-ttl {
    text-align: center
}

.black,
.latte {
    background-position: 50%;
    background-repeat: no-repeat
}

.latte-positioning {
    position: relative
}

.latte-positioning_img {
    position: relative;
    z-index: 1
}

.latte-caffeine {
    position: relative
}

.latte-caffeine_img {
    position: relative;
    z-index: 1
}

.latte-caffeine_bg,
.latte-positioning_bg {
    mix-blend-mode: multiply;
    opacity: .85;
    position: absolute;
    top: 0
}

.latte-caffeine_bg:after,
.latte-positioning_bg:after {
    background-image: url(../img/latte_bg_circle.png);
    background-size: 100% 100%;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    mix-blend-mode: multiply;
    opacity: .95;
    position: absolute;
    top: 0;
    width: 100%
}

.lineup {
    position: relative
}

.lineup-ttl {
    text-align: center
}

.shop {
    position: relative;
    z-index: 1
}

.shop-ttl {
    text-align: center
}

.shop-btn {
    display: block;
    position: relative
}

.shop-btn:after,
.shop-btn:before {
    background-size: 100% 100%;
    content: "";
    display: block;
    position: absolute;
    top: 48%
}

.shop-btn:before {
    background-image: url(../img/shop_btn_hand01.png);
    transform: translate(-100%, -50%)
}

.shop-btn:after {
    background-image: url(../img/shop_btn_hand02.png);
    transform: translate(100%, -50%)
}

.shop-btn_inner {
    display: block;
    position: relative
}

#div-gpt-ad-1469518796001-0-1,
#div-gpt-ad-1469518796001-0-2 {
    display: block
}

.footer {
    background-position: 50%;
    background-repeat: no-repeat
}

.footer-logo_link {
    display: block
}

.anime-mv {
    opacity: 0;
    transition: .8s;
    transition-delay: .4s;
    transition-property: opacity
}

.anime-mv_00,
.anime-mv_01,
.anime-mv_02,
.anime-mv_03,
.anime-mv_04,
.anime-mv_05,
.anime-mv_06 {
    opacity: 0;
    transition: 1s;
    transition-property: opacity, transform
}

.anime-mv_00 {
    transition-delay: .4s;
    transition-duration: 1s
}

.anime-mv_01 {
    transform: translateX(-100px);
    transition-delay: 1.2s
}

.anime-mv_02 {
    transform: translateX(90px);
    transition-delay: 1.2s
}

.anime-mv_03 {
    transition-delay: 2.7s
}

.anime-mv_04 {
    transition-delay: 3.7s
}

.anime-mv_05 {
    transition-delay: 4.8s
}

.anime-mv.is-active {
    opacity: 1
}

.anime-mv.is-active .anime-mv_00,
.anime-mv.is-active .anime-mv_01,
.anime-mv.is-active .anime-mv_02,
.anime-mv.is-active .anime-mv_03,
.anime-mv.is-active .anime-mv_04,
.anime-mv.is-active .anime-mv_05,
.anime-mv.is-active .anime-mv_06 {
    opacity: 1;
    transform: translateX(0)
}

.anime-fadein {
    opacity: 0;
    transform: translateY(40px);
    transition: 1s;
    transition-property: opacity, transform
}

.anime-fadein.is-active {
    opacity: 1;
    transform: translate(0)
}

.anime-fadeinLeft {
    opacity: 0;
    transform: translate(-40px);
    transition: 1s;
    transition-property: opacity, transform
}

.anime-fadeinLeft.is-active {
    opacity: 1;
    transform: translate(0)
}

.anime-fadeinRight {
    opacity: 0;
    transform: translate(40px);
    transition: 1s;
    transition-property: opacity, transform
}

.anime-fadeinRight.is-active {
    opacity: 1;
    transform: translate(0)
}

@media screen and (max-width:749.9px) {
    img {
        width: 100%
    }
    .mv {
        background-image: url(../img/sp/mv_bg.jpg);
        background-size: cover;
        height: 136vw
    }
    .mv-fg_ornament,
    .mv-fg_smoke {
        left: 0;
        position: absolute
    }
    .mv-fg_note {
        bottom: 3.2vw;
        left: 4.1333333333vw;
        width: 91.8666666667vw
    }
    .mv-main_ttl-txt01 {
        left: 18.5333333333vw;
        top: 6.2666666667vw;
        width: 63.6vw
    }
    .mv-main_ttl-txt01-asterisk {
        left: 81.4666666667vw;
        top: 15.6vw;
        width: 2.1333333333vw
    }
    .mv-main_ttl-txt02 {
        left: 22.2666666667vw;
        top: 22.1333333333vw;
        width: 55.4666666667vw
    }
    .mv-main_ttl-txt03 {
        left: 22.2666666667vw;
        top: 35.6vw;
        width: 53.8666666667vw
    }
    .mv-main_ttl-txt-zone {
        left: 34.8vw;
        top: 48vw;
        width: 30.4vw
    }
    .mv-main_black {
        left: 20.2666666667vw;
        top: 52vw;
        width: 30.1333333333vw
    }
    .mv-main_latte {
        right: 17.7333333333vw;
        top: 48vw;
        width: 32.2666666667vw
    }
    .mv-scroll {
        display: none
    }
    .about {
        background-image: url(../img/sp/about_bg.jpg);
        background-size: cover;
        height: 228.2666666667vw
    }
    .about_txt {
        left: 8.6666666667vw;
        top: 13.0666666667vw;
        width: 81.8666666667vw
    }
    .about_logo {
        bottom: 9.8666666667vw;
        left: 23.2vw;
        width: 53.6vw
    }
    .about_note {
        bottom: 4.4vw;
        right: 5.2vw;
        width: 28.4vw
    }
    .visual {
        height: 35.8666666667vw
    }
    .method {
        height: 1185.6vw
    }
    .method-bg {
        background-image: url(../img/sp/method_bg.jpg);
        background-size: cover
    }
    .method-ttl {
        padding-bottom: 9.0666666667vw;
        padding-top: 12.5333333333vw
    }
    .method-ttl_img {
        width: 48.2666666667vw
    }
    .black {
        background-image: url(../img/sp/black_bg.png);
        background-size: cover;
        height: 651.7333333333vw;
        margin-left: auto;
        margin-right: auto;
        width: 90.6666666667vw
    }
    .black-ttl_img {
        padding: 4.8vw 5.6vw 0 3.7333333333vw
    }
    .black-method01 {
        padding: 8vw 4.2666666667vw 0
    }
    .black-method02 {
        padding: 9.0666666667vw 4.2666666667vw 0
    }
    .black-positioning {
        padding: 13.8666666667vw 6.9333333333vw 0
    }
    .black-caffeine {
        padding: 10.6666666667vw 7.4666666667vw 0
    }
    .black-note {
        margin: 11.2vw 5.3333333333vw 0 auto;
        width: 28.2666666667vw
    }
    .latte {
        background-image: url(../img/sp/latte_bg.png);
        background-size: cover;
        height: 412.5333333333vw;
        margin-left: auto;
        margin-right: auto;
        margin-top: 8.5333333333vw;
        width: 90.6666666667vw
    }
    .latte-ttl_img {
        padding: 4.8vw 5.6vw 0 3.7333333333vw
    }
    .latte-method01 {
        padding: 8vw 4.2666666667vw 0
    }
    .latte-method02 {
        padding: 9.0666666667vw 4.2666666667vw 0
    }
    .latte-positioning {
        padding: 11.7333333333vw 6.9333333333vw 0
    }
    .latte-positioning_bg {
        left: 8.8vw;
        top: 11.2vw
    }
    .latte-caffeine {
        padding: 14.6666666667vw 7.2vw 0
    }
    .latte-caffeine_bg {
        right: 9.6vw;
        top: 8vw
    }
    .latte-caffeine_bg,
    .latte-positioning_bg {
        width: 72.5333333333vw
    }
    .latte-note {
        margin: 9.3333333333vw 5.3333333333vw 0 auto;
        width: 28.2666666667vw
    }
    .lineup {
        padding-bottom: 8.3333333333vw
    }
    .lineup-ttl {
        padding-bottom: 13.6vw;
        padding-top: 14.4vw
    }
    .lineup-ttl_img {
        width: 57.6vw
    }
    .lineup-pack {
        margin-top: 10.6666666667vw;
        padding-left: 4.8vw;
        padding-right: 4.8vw
    }
    .lineup-pack-detail {
        padding: 5.6vw 5.0666666667vw 0
    }
    .lineup-product {
        margin-top: 16.5333333333vw;
        padding-left: 4.8vw;
        padding-right: 4.8vw
    }
    .lineup-product-ttl {
        margin-bottom: 10.6666666667vw
    }
    .lineup-product-item {
        padding-bottom: 2.6666666667vw
    }
    .lineup-product-item.type10 .lineup-product-item_img {
        padding: 0 5.6vw 0 8vw
    }
    .lineup-product-item.type10 .lineup-product-item_img:last-child {
        margin-top: 14.9333333333vw
    }
    .lineup-product-item.type30 .lineup-product-item_img {
        padding: 0 2.9333333333vw 0 8vw
    }
    .lineup-product-item.type30 .lineup-product-item_img:last-child {
        margin-top: 14.9333333333vw
    }
    .shop.second {
        margin-top: 14.4vw
    }
    .shop-ttl {
        margin-bottom: 3.7333333333vw;
        width: 41.8666666667vw
    }
    .shop-btn,
    .shop-ttl {
        margin-left: auto;
        margin-right: auto
    }
    .shop-btn {
        padding-left: .5333333333vw;
        width: 65.2vw
    }
    .shop-btn:after,
    .shop-btn:before {
        height: 6.4vw;
        width: 11.6vw
    }
    .shop-btn:before {
        left: -1.7333333333vw
    }
    .shop-btn:after {
        right: -2vw
    }
    .shop-btn_inner:after {
        display: none
    }
    #div-gpt-ad-1469518796001-0-1,
    #div-gpt-ad-1469518796001-0-2 {
        height: 15.4666666667vw;
        min-width: 64.5333333333vw
    }
    #div-gpt-ad-1469518796001-0-1 img,
    #div-gpt-ad-1469518796001-0-2 img {
        height: auto
    }
    .footer {
        background-image: url(../img/sp/footer_bg.jpg);
        background-position: 50% 100%;
        background-size: cover;
        padding-bottom: 5.6vw;
        padding-top: 7.2vw
    }
    .footer-logo {
        width: 39.6vw
    }
    .footer-copyright,
    .footer-logo {
        margin-left: auto;
        margin-right: auto
    }
    .footer-copyright {
        margin-top: 2.1333333333vw;
        width: 53.3333333333vw
    }
}

@media screen and (min-width:750px) {
    .outer {
        align-items: center;
        display: flex;
        flex-direction: column;
        max-width: 1920px;
        min-width: 1164px;
        overflow: hidden
    }
    .inner,
    .outer {
        margin-left: auto;
        margin-right: auto
    }
    .inner {
        width: 1164px
    }
    .inner-narrow {
        margin-left: auto;
        margin-right: auto;
        width: 962px
    }
    .mv {
        background-image: url(../img/mv_bg.jpg);
        height: 854px
    }
    .mv-fg_ornament,
    .mv-fg_smoke {
        left: 50%;
        position: absolute;
        transform: translateX(-50%)
    }
    .mv-fg_note {
        bottom: 28px;
        right: 3px
    }
    .mv-main_ttl-txt01 {
        left: 293px;
        top: 52px
    }
    .mv-main_ttl-txt01-asterisk {
        left: 860px;
        top: 152px
    }
    .mv-main_ttl-txt02 {
        left: 1px;
        top: 228px
    }
    .mv-main_ttl-txt03 {
        right: 2px;
        top: 228px
    }
    .mv-main_ttl-txt-zone {
        right: 5px;
        top: 163px
    }
    .mv-main_black {
        left: 357px;
        top: 155px
    }
    .mv-main_latte {
        right: 338px;
        top: 163px
    }
    .mv-scroll {
        padding-bottom: 98px
    }
    .mv-scroll_icon {
        height: 84px;
        left: calc(50% + 3px);
        width: 11px
    }
    .about {
        background-image: url(../img/about_bg.jpg);
        height: 1076px
    }
    .about_txt {
        left: 157px;
        top: 109px
    }
    .about_logo {
        bottom: 61px;
        right: 139px
    }
    .about_note {
        bottom: 25px;
        right: 6px
    }
    .visual {
        height: 340px
    }
    .method {
        height: 6020px
    }
    .method-bg {
        background-image: url(../img/method_bg.jpg);
        background-position: top;
        height: 100vh
    }
    .method-ttl {
        padding-bottom: 121px;
        padding-right: 20px;
        padding-top: 195px
    }
    .black {
        background-image: url(../img/black_bg.png);
        height: 3230px;
    }
    .black-ttl {
        padding-bottom: 80px;
        padding-left: 58px;
        padding-top: 60px
    }
    .black-method02 {
        text-align: right
    }
    .black-positioning {
        margin-top: 61px;
        padding-left: 76px
    }
    .black-caffeine {
        margin-top: -38px;
        padding-right: 76px;
        text-align: right
    }
    .black-note {
        margin-top: 43px;
        padding-left: 60px
    }
    .latte {
        background-image: url(../img/latte_bg.png);
        height: 2143px;
        margin-top: 88px
    }
    .latte-ttl {
        padding-bottom: 79px;
        padding-left: 59px;
        padding-top: 62px
    }
    .latte-method02 {
        text-align: right
    }
    .latte-positioning {
        margin-top: 69px;
        padding: 84px 0 82px 143px
    }
    .latte-positioning_bg {
        left: 76px
    }
    .latte-caffeine {
        margin-top: -59px;
        padding: 50px 156px 20px 0;
        text-align: right
    }
    .latte-caffeine_bg {
        right: 76px
    }
    .latte-caffeine_bg,
    .latte-positioning_bg {
        width: 513px
    }
    .latte-note {
        margin-top: 40px;
        padding-left: 61px
    }
    .lineup {
        padding-bottom: 130px
    }
    .lineup-ttl {
        padding-bottom: 118px;
        padding-top: 162px
    }
    .lineup-pack {
        margin-top: 92px
    }
    .lineup-pack-detail {
        margin-top: 41px;
        padding-left: 47px
    }
    .lineup-product {
        margin-top: 130px
    }
    .lineup-product-ttl {
        margin-bottom: 90px
    }
    .lineup-product-item {
        display: flex;
        justify-content: center;
        padding-bottom: 10px
    }
    .lineup-product-item.type10 .lineup-product-item_img:last-child {
        margin-left: 100px
    }
    .lineup-product-item.type30 {
        padding-left: 20px
    }
    .lineup-product-item.type30 .lineup-product-item_img:last-child {
        margin-left: 80px
    }
    .shop.second {
        margin-top: 157px
    }
    .shop-ttl {
        margin-bottom: 26px
    }
    .shop-btn {
        padding-left: 5px
    }
    .shop-btn:hover:before {
        left: -7px
    }
    .shop-btn:hover:after {
        right: -8px
    }
    .shop-btn:hover .shop-btn_inner:after {
        opacity: 1
    }
    .shop-btn:after,
    .shop-btn:before {
        height: 42px;
        transition: .3s;
        width: 76px
    }
    .shop-btn:before {
        left: -13px
    }
    .shop-btn:after {
        right: -15px
    }
    .shop-btn_inner:after {
        background-color: hsla(0, 0%, 100%, .6);
        border-radius: 50px;
        content: "";
        display: block;
        height: 92px;
        left: 0;
        opacity: 0;
        pointer-events: none;
        position: absolute;
        top: 0;
        transition: .3s;
        width: 410px
    }
    #div-gpt-ad-1469518796001-0-1,
    #div-gpt-ad-1469518796001-0-2 {
        height: 99px;
        min-width: 415px
    }
    .footer {
        background-image: url(../img/footer_bg.jpg);
        background-position: 50% 100%;
        padding-bottom: 45px;
        padding-top: 60px
    }
    .footer-copyright {
        margin-top: 30px
    }
}