@charset "UTF-8";
/*------------------------------
media query
------------------------------*/
/*------------------------------
変数の定義
--------------------------------*/
/*----------------------------------
見出し
----------------------------------*/
/*# sourceMappingURL=style.css.map */

/*------------------------------
	共通
------------------------------*/

body {
    background-color: #fff;
    max-width: 100%;
    margin: 0 auto;
    text-align: center;
}

h2 {
    letter-spacing: 0.1em;
}

p {
    letter-spacing: 0.06em;
    color: #1d1d1d;
    font-size: 16px;
    line-height: 2;
}

.wrapper {
    max-width: 1200px;
    min-width: 1200px;
    margin: 0 auto;
    position: relative;
}

.sp_view {
    display: none;
}

.display_blox_box {
    display: block;
}

sup {
    font-size: 50%;
    vertical-align: top;
    position: relative;
    top: 0.3em;
}

@media screen and (max-width: 768px) {
    body {
        background-color: #49bab4;
    }

    .wrapper {
        min-width: auto;
    }

    p {
        font-weight: 500;
    }

    .sp_view {
        display: block;
    }

    .pc_view {
        display: none;
    }
}

/* KV */
.kv {
    background-image: url(../img/pc/kv_img_pc.png);
    background-repeat: no-repeat;
    background-size: cover;
}

.kvlogo {
    padding: 20px 0px 70px;
}

.kvttl {
    text-align: right;
    padding: 0px 123px 112px;
}

@media screen and (max-width: 768px) {
    .kv {
        background-image: url(../img/sp/kv_img_sp.png);
        background-repeat: no-repeat;
        background-size: cover;
        padding: 6vw 0 15vw;
    }

    .kvlogo {
        padding: 0 44vw;
    }

    .kvttl {
        padding: 73vw 18vw 0;
    }
}

@media screen and (max-width: 400px) {
    .se_view {
        display: block;
    }
}


/* POINT INTRO */
.point {
    background-color: #49bab4;
}

.point_intro {
    display: flex;
    justify-content: center;
    padding: 50px 0px 100px;
    gap: 50px;
}

.point p {
    color: #fff;
}

.big_font {
    font-size: 18px;
}

.point_intro p {
    text-align: left;
}

@media screen and (max-width: 768px) {
    .big_font {
        font-size: clamp(12px, 3vw, 20px);
    }

    .point_intro {
        display: block;
        padding: 0;
    }

    .point_intro p {
        text-align: center;
    }

    .point h1 {
        padding: 10vw 30vw;
    }

    .point p {
        font-size: clamp(10px, 3vw, 18px);
        padding: 0 5vw;
    }
}

/* POINT */
.point_bg {
    background-color: #fff;
    margin: 0px 95px 60px;
    padding: 105px 0px 49px;
}

.point_flex {
    display: flex;
    justify-content: center;
    gap: 76px;
}

.point h2 {
    color: #49bab4;
    font-size: 22px;
    font-weight: 900;
    position: relative;
}

.point_01 h2 {
    padding: 85px 0px 0px;
}

.point_01 p,
.point_02 p,
.point_03 p {
    color: #1d1d1d;
}

.point_block h2::after {
    content: '';
    display: block;
    position: absolute;
    left: 50%;
    transform: translate(-50%);
    bottom: -23px;
    width: 218px;
    height: 2px;
    background-color: #49bab4;
}

.pointicon {
    position: absolute;
    transform: translate(466%, -30%);
}

.point_wrap .pointicon {
    transform: translate(153%, -30%);
}

.point_bg p {
    padding: 43px 0px 0px;
}

.point_wrap {
    display: flex;
    justify-content: center;
    gap: 50px;
}

.point_02 .point_bg {
    padding: 116px 74px 46px;
    margin: 0;
}

.point_03 .point_bg {
    padding: 116px 74px 46px;
    margin: 0;
}

.point .announce {
    text-align: right;
    font-size: 12px;
    color: #d9e2ea;
    padding: 50px 95px 50px 0px;
    line-height: 1.4;
    font-weight: 400;
}

@media screen and (max-width: 768px) {
    .point_bg,
    .point_02 .point_bg,
    .point_03 .point_bg {
        margin: 13vw 5vw 5vw;
        padding: 7vw;
    }

    .point_flex {
        display: block;
    }

    .point_flex img {
        padding: 0;
    }

    .point h2 {
        font-size: 4vw;
        padding: 13vw 0 0;
    }

    .point .point_block h2::after {
        bottom: -3vw;
        width: 40vw;
        height: 3px;
    }

    .pointicon,
    .point_wrap .pointicon {
        transform: translate(175%, -30%);
        width: 22vw;
    }

    .point_bg p {
        padding: 5vw 0;
    }

    .point .announce {
        font-size: clamp(10px, 2vw, 14px);
        padding: 0 5vw 12vw;
    }

    .point_wrap {
        display: block;
    }
}

@media all and (max-width: 500px) {
    .point .point_block h2::after {
        height: 2px;
    }
  }

/* HOW TO USE */

.powder {
    background-color: #d9e2ea;
    padding: 103px 165px 80px;
}

.powder ul {
    display: flex;
    justify-content: center;
    gap: 50px;
}

.howto li {
    padding: 49px 0px 0px;
}

.howto h2 {
    font-size: 22px;
    color: #49bab4;
    font-weight: 900;
    padding: 21px 0px 0px;
}

.howto li p,
.mens p,
.others p {
    padding: 15px 0px 0px;
    }

.mens {
    background-color: #fff;
    padding: 0px 0px 45px;
}

.mens img {
    position: absolute;
    transform: translate(-50%, -50%);
}

.mens h2 {
    padding: 68px 0px 0px;
}


@media screen and (max-width: 768px) {
    .powder {
        background-color: #d9e2ea;
        padding: 16vw 10vw;
    }

    .powder ul {
        display: block;
    }

    .howto h1,
    .others h1 {
        width: 60vw;
        margin: auto;
    }

    .howto li {
        padding: 10vw 0 0;
    }

    .howto h2 {
        font-size: clamp(16px, 4vw, 30px);
        padding: 2.5vw 0 0;
    }

    .howto li p,
    .mens p,
    .others p {
        font-size: clamp(12px, 3vw, 14px);
        line-height: 1.5;
        padding: 2vw 0 0;
    }

    .mens {
        padding: 0 0 8vw;
    }

    .mens img {
        transform: translate(300%, -40%);
        width: 14vw;
    }

    .mens h2 {
        padding: 11vw 0 0;
    }
}

/* OTHERS */
.others {
    padding: 97px 165px 79px;
}

.others_bg {
    background-color: #eff1f5;
}

.others h1 {
    padding: 0px 0px 49px;
}

.others i {
    font-size: 22px;
    color: #49bab4;
    padding: 0px 7px 0px 0px;
}

.iconflex {
    display: flex;
    align-items: baseline;
}

.others h2 {
    font-size: 22px;
    color: #49bab4;
    font-weight: 900;
}

.others ul {
    display: flex;
    flex-wrap: wrap;
}

.others li {
    width: 47%;
    padding: 45px 0px 0px 25px;
}

.others p {
    text-align: left;
}

.others .paf {
    font-size: 12px;
    font-weight: 500;
}

.bottom_img img {
    vertical-align: bottom;
}


@media screen and (max-width: 768px) {
    .others {
        padding: 16vw 10vw;
        text-align: left;
    }

    .others h1 {
        padding: 0 0 10vw;
    }

    .others i {
        padding: 5vw 1vw 0 0;
    }

    .others i::before {
        font-size: clamp(16px, 4vw, 30px);
    }

    .others h2 {
        font-size: clamp(16px, 4vw, 30px);
    }

    .others ul {
        display: block;
    }

    .others li {
        width: 100%;
        padding: 0;
    }

    .others .paf {
        font-size: clamp(10px, 2vw, 16px);
    }
}

/* STORE */
.store {
    background-color: #fff;
}

.store h1 {
    padding: 100px 0px 0px;
}

.store ul {
    margin: auto;
    justify-content: center;
    padding: 35px 0px 0px 119px;
    display: flex;
    flex-wrap: wrap;
}

.store li {
    display: flex;
    align-items: baseline;
    padding: 15px 0px 0px;
    width: 36%;
}

.store i {
    font-size: 22px;
    color: #49bab4;
    padding: 0px 7px 0px 0px;
}

.store li p {
    font-size: 20px;
    font-weight: bold;
}

.store .announce {
    color: #666;
    text-align: right;
    font-size: 12px;
    padding: 50px 95px 100px 0px;
    line-height: 1.4;
}

@media screen and (max-width: 768px) {

    .store h1 {
        width: 35vw;
        margin: auto;
        padding: 12vw 0 0;
    }

    .store ul {
        padding: 9vw 0 6vw;
        display: block;
        width: fit-content;
    }

    .store li {
        padding: 0.5vw 0 0;
        width: 100%;
    }

    .store i {
        font-size: clamp(14px, 3vw, 20px);
        padding: 0 1vw 0 0;
    }

    .store li p {
        font-size: clamp(14px, 3vw, 20px);
    }

    .store .announce {
        font-size: clamp(10px, 2vw, 14px);
        padding: 0 5vw 13vw;
    }
}

/* JS */
.fadein {
    opacity: 0;
    visibility: hidden;
    transition: opacity 1s, visibility 1s, transform 2s;
}

.fade-in-up {
    transform: translate(0, 20px);
}

.scroll-in {
    opacity: 1;
    visibility: visible;
    transform: translate(0, 0);
}