@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Work+Sans:ital,wght@0,100..900;1,100..900&family=Zen+Kaku+Gothic+New:wght@500;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Work+Sans:ital,wght@0,400;500;700;900;1,100..900&family=Zen+Kaku+Gothic+New:wght@500;900&display=swap");

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
    display: block;
}

audio[controls],
canvas,
video {
    display: inline-block;
    *display: inline;
    zoom: 1;
}

html {
    font-size: 100%;
    /* 1 */
    overflow-y: scroll;
    /* 2 */
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    /* 3 */
    -webkit-text-size-adjust: 100%;
    /* 4 */
    -ms-text-size-adjust: 100%;
    /* 4 */
}

body {
    margin: 0;
}

body,
button,
input,
select,
textarea {
    font-family: sans-serif;
}

a:focus {
    outline: thin dotted;
}

a:hover,
a:active {
    outline: 0;
}

abbr[title] {
    border-bottom: 1px dotted;
}

b,
strong {
    font-weight: bold;
}

blockquote {
    margin: 1em 40px;
}

dfn {
    font-style: italic;
}

mark {
    background: #ff0;
    color: #000;
}

pre,
code,
kbd,
samp {
    font-family: monospace, monospace;
    _font-family: 'courier new', monospace;
    font-size: 1em;
}

pre {
    white-space: pre;
    white-space: pre-wrap;
    word-wrap: break-word;
}

q {
    quotes: none;
}

q:before,
q:after {
    content: '';
    content: none;
}

small {
    font-size: 75%;
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

ul,
ol {
    margin: 1em 0;
    padding: 0 0 0 40px;
}

dd {
    margin: 0 0 0 40px;
}

nav ul,
nav ol {
    /*list-style: none;*/
}

img {
    border: 0;
    /* 1 */
    -ms-interpolation-mode: bicubic;
    /* 2 */
}

svg:not(:root) {
    overflow: hidden;
}

figure {
    margin: 0;
}

form {
    margin: 0;
}

fieldset {
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

legend {
    border: 0;
    /* 1 */
    *margin-left: -7px;
    /* 2 */
}

button,
input,
select,
textarea {
    font-size: 100%;
    /* 1 */
    margin: 0;
    /* 2 */
    vertical-align: baseline;
    /* 3 */
    *vertical-align: middle;
    /* 3 */
}

button,
input {
    line-height: normal;
    /* 1 */
    *overflow: visible;
    /* 2 */
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
    cursor: pointer;
    /* 1 */
    -webkit-appearance: button;
    /* 2 */
}

input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box;
}

input[type="search"] {
    -webkit-appearance: textfield;
    /* 1 */
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    /* 2 */
    box-sizing: content-box;
}

input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

textarea {
    overflow: auto;
    /* 1 */
    vertical-align: top;
    /* 2 */
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

/*
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: normal;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold");
  font-weight: bold;
}
*/
html,
body {
    width: 100%;
    height: 100%;
}

body {
    margin: 0px;
    padding: 0px;
    font-family: "Work Sans", "Zen Kaku Gothic New", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, 'Noto Sans', "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    font-size: 16px;
    text-align: left;
    font-weight: 500;
}

h1,
h2,
h3,
h4,
h5,
h6,
strong {
    margin: 0px;
    padding: 0px;
    font-size: 18px;
    line-height: 1.85em;
    letter-spacing: 0.02em;
    font-weight: 900;
    color: #000;
}

hr {
    display: none;
}

ul {
    margin: 0;
    padding: 0;
}

ul li {
    margin: 0;
    padding: 0;
}

p,
li,
dt,
dd,
th,
td,
figcaption,
time,
address {
    margin: 0px;
    padding: 0px;
    font-size: 14px;
    line-height: 1.85em;
    color: #000;
}

th p,
td p {
    font-size: 100%;
}

p {
    margin-bottom: 2em;
}

a {
    text-decoration: none;
    outline: none;
}

a.outline:focus {
    outline: 1px dotted;
}

a:focus {
    outline: none;
}

a:hover {
    text-decoration: none;
}

a img {
    margin: 0px;
    padding: 0px;
    border: none;
}

ol li p,
ul li p,
ol li table tr th,
ol li table tr td,
table tr td p,
table tr td ol li,
table tr td ul li,
table tr td ol li p,
table tr td ul li p {
    font-size: 100%;
}

ol.lmnone,
ul.lmnone {
    margin: 0;
    padding: 0;
    list-style: none;
}

ol.fllist li,
ul.fllist li {
    float: left;
    list-style: none;
}

/* dl table */
dl.table1 dt,
dl.table2 dt {
    margin: 0;
    margin-right: -110px;
    float: left;
    clear: both;
    display: inline;
    width: 110px;
}

dl.table1 dd {
    margin-left: 110px;
}

dl.table1 {
    /*\*/
    min-height: 1px;
    _height: 1%;
    /* */
    /*\*/
    /*/
overflow: hidden;
/**/
}

dl.table1::after {
    height: 0;
    visibility: hidden;
    content: ".";
    display: block;
    clear: both;
}

dl.table2 dt {
    width: 120px;
    margin-right: -120px;
}

dl.table2 dd {
    margin-left: 120px;
}

form {
    margin: 0;
    padding: 0;
}

.cf:before,
.cf:after {
    content: "";
    display: table;
}

.cf:after {
    clear: both;
}

.cf {
    zoom: 1;
}

#layout {
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
}

.dwrap {
    position: relative;
    clear: both;
}

.dleft {
    float: left;
}

.dright {
    float: right;
}

/* スペースの調整用 */
.pt-15 {
    padding-top: -15px;
}

.pt0 {
    padding-top: 0;
}

.pt1em {
    padding-top: 1em;
}

.pt2em {
    padding-top: 2em;
}

.pt3em {
    padding-top: 3em;
}

.pt5 {
    padding-top: 5px;
}

.pt10 {
    padding-top: 10px;
}

.pt15 {
    padding-top: 15px;
}

.pt20 {
    padding-top: 20px;
}

.pt25 {
    padding-top: 25px;
}

.pt30 {
    padding-top: 30px;
}

.pt35 {
    padding-top: 35px;
}

.pt40 {
    padding-top: 40px;
}

.pt45 {
    padding-top: 45px;
}

.pt50 {
    padding-top: 50px;
}

.pt55 {
    padding-top: 55px;
}

.pt60 {
    padding-top: 60px;
}

.pt65 {
    padding-top: 65px;
}

.pt70 {
    padding-top: 70px;
}

.pt75 {
    padding-top: 75px;
}

.pt80 {
    padding-top: 80px;
}

.pt85 {
    padding-top: 85px;
}

.pt124 {
    padding-top: 124px;
}

.pb0 {
    padding-bottom: 0 !important;
}

.pb1em {
    padding-bottom: 1em;
}

.pb2em {
    padding-bottom: 2em;
}

.pb3em {
    padding-bottom: 3em;
}

.pb4em {
    padding-bottom: 4em;
}

.pb5em {
    padding-bottom: 5em;
}

.pb6em {
    padding-bottom: 6em;
}

.pb5 {
    padding-bottom: 5px;
}

.pb10 {
    padding-bottom: 10px;
}

.pb15 {
    padding-bottom: 15px;
}

.pb20 {
    padding-bottom: 20px;
}

.pb25 {
    padding-bottom: 25px;
}

.pb30 {
    padding-bottom: 30px;
}

.pb35 {
    padding-bottom: 35px;
}

.pb40 {
    padding-bottom: 40px;
}

.pb45 {
    padding-bottom: 45px;
}

.pb50 {
    padding-bottom: 50px;
}

.pb55 {
    padding-bottom: 55px;
}

.pb60 {
    padding-bottom: 60px;
}

.pb65 {
    padding-bottom: 65px;
}

.pb70 {
    padding-bottom: 70px;
}

.pb75 {
    padding-bottom: 75px;
}

.pb80 {
    padding-bottom: 80px;
}

.pb85 {
    padding-bottom: 85px;
}

.pb120 {
    padding-bottom: 120px;
}

.mt0 {
    margin-top: 0;
}

.mt1em {
    margin-top: 1em;
}

.mt2em {
    margin-top: 2em;
}

.mt3em {
    margin-top: 3em;
}

.mt4em {
    margin-top: 4em;
}

.mt5em {
    margin-top: 5em;
}

.mt6em {
    margin-top: 6em;
}

.mt7em {
    margin-top: 7em;
}

.mt8em {
    margin-top: 8em;
}

.mt9em {
    margin-top: 9em;
}

.mt5 {
    margin-top: 5px;
}

.mt10 {
    margin-top: 10px;
}

.mt15 {
    margin-top: 15px;
}

.mt20 {
    margin-top: 20px;
}

.mt25 {
    margin-top: 25px;
}

.mt30 {
    margin-top: 30px;
}

.mt35 {
    margin-top: 35px;
}

.mt40 {
    margin-top: 40px;
}

.mt45 {
    margin-top: 45px;
}

.mt50 {
    margin-top: 50px;
}

.mt55 {
    margin-top: 55px;
}

.mt60 {
    margin-top: 60px;
}

.mt65 {
    margin-top: 65px;
}

.mt70 {
    margin-top: 70px;
}

.mt75 {
    margin-top: 75px;
}

.mt80 {
    margin-top: 80px;
}

.mt85 {
    margin-top: 85px;
}

.mt120 {
    margin-top: 120px !important;
}

.mb0 {
    margin-bottom: 0 !important;
}

.mb1em {
    margin-bottom: 1em;
}

.mb2em {
    margin-bottom: 2em;
}

.mb3em {
    margin-bottom: 3em;
}

.mb4em {
    margin-bottom: 4em;
}

.mb5em {
    margin-bottom: 5em;
}

.mb6em {
    margin-bottom: 6em;
}

.mb7em {
    margin-bottom: 7em;
}

.mb8em {
    margin-bottom: 8em;
}

.mb9em {
    margin-bottom: 9em;
}

.mb7 {
    margin-bottom: 7px;
}

.mb5 {
    margin-bottom: 5px;
}

.mb10 {
    margin-bottom: 10px;
}

.mb15 {
    margin-bottom: 15px;
}

.mb20 {
    margin-bottom: 20px;
}

.mb25 {
    margin-bottom: 25px;
}

.mb30 {
    margin-bottom: 30px;
}

.mb35 {
    margin-bottom: 35px;
}

.mb40 {
    margin-bottom: 40px;
}

.mb45 {
    margin-bottom: 45px;
}

.mb50 {
    margin-bottom: 50px;
}

.mb55 {
    margin-bottom: 55px;
}

.mb60 {
    margin-bottom: 60px;
}

.mb65 {
    margin-bottom: 65px;
}

.mb70 {
    margin-bottom: 70px;
}

.mb75 {
    margin-bottom: 75px;
}

.mb80 {
    margin-bottom: 80px;
}

.mb85 {
    margin-bottom: 85px;
}

.mb90 {
    margin-bottom: 90px;
}

.mb95 {
    margin-bottom: 95px;
}

.mb120 {
    margin-bottom: 120px;
}

.pl1em {
    padding-left: 1em;
}

.ml1em {
    margin-left: 1em;
}

.rp0 {
    padding-right: 0;
}

.rm0 {
    margin-right: 0;
}

.pr10 {
    padding-right: 10px;
}

.pr20 {
    padding-right: 20px;
}

.pr35 {
    padding-right: 35px;
}

.pr50 {
    padding-right: 50px;
}

.pl15 {
    padding-left: 15px;
}

.pl20 {
    padding-left: 20px;
}

.pl25 {
    padding-left: 25px;
}

.pl30 {
    padding-left: 30px;
}

.pl340 {
    padding-left: 340px;
}

.bb5 {
    border-bottom: 5px solid #78BE00;
}

.bt5 {
    border-top: 5px solid #78BE00;
    padding-top: 70px;
}

.f11 {
    font-size: 11px !important;
}

.f12 {
    font-size: 12px !important;
}

.red {
    color: red;
}

.text-right {
    text-align: right;
}

.text-rightb {
    font-weight: bold;
    text-align: right;
}

.tcenter {
    text-align: center;
}

body {
    _zoom: 0.7;
}

.pcv {
    display: block;
}

@media screen and (max-width: 1024px) {
    .pcv {
        display: none !important;
    }
}

.pcvin {
    display: inline-block;
}

@media screen and (max-width: 1024px) {
    .pcvin {
        display: none;
    }
}

.spv {
    display: none;
}

@media screen and (max-width: 1024px) {
    .spv {
        display: block;
    }
}

img {
    max-width: 100%;
    height: auto;
}

.inview.fade {
    opacity: 0;
    transform: translate(0, 30px);
    transition: 0.3s;
}

.inview.fade.show {
    opacity: 1;
    transform: translate(0, 0);
    transition-delay: 0.3s;
}

.inview.fade2 {
    opacity: 0;
    transform: translate(0, 30px);
    transition: 0.5s;
}

.inview.fade2.show {
    opacity: 1;
    transform: translate(0, 0);
    transition-delay: 0.5s;
}

.inview.fade3 {
    opacity: 0;
    transform: translate(0, 30px);
    transition: 0.7s;
}

.inview.fade3.show {
    opacity: 1;
    transform: translate(0, 0);
    transition-delay: 0.7s;
}

.inview.fade4 {
    opacity: 0;
    transform: translate(0, 30px);
    transition: 0.9s;
}

.inview.fade4.show {
    opacity: 1;
    transform: translate(0, 0);
    transition-delay: 0.9s;
}

.inview.left {
    opacity: 0;
    transform: translateX(-30px);
    transition: 0.5s;
}

.inview.left.show {
    opacity: 1;
    transform: translateX(0);
    transition-delay: 0.5s;
}

.inview.right {
    opacity: 0;
    transform: translateX(30px);
    transition: 0.5s;
}

.inview.right.show {
    opacity: 1;
    transform: translateX(0);
    transition-delay: 0.5s;
}

.inview.right2 {
    opacity: 0;
    transform: translateX(30px);
    transition: 0.7s;
}

.inview.right2.show {
    opacity: 1;
    transform: translateX(0);
    transition-delay: 0.7s;
}

.inview.right3 {
    opacity: 0;
    transform: translateX(30px);
    transition: 0.9s;
}

.inview.right3.show {
    opacity: 1;
    transform: translateX(0);
    transition-delay: 0.9s;
}

.inview.d1.show {
    transition-delay: 0.5s;
}

.inview.d2.show {
    transition-delay: 0.8s;
}

.inview.d3.show {
    transition-delay: 1.2s;
}

.inview.top::after {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 100%;
    background-color: #f2f2f2;
    z-index: 2;
    transition: all 0.4s cubic-bezier(0, 0.48, 0.24, 0.96);
}

.inview.top::before {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 100%;
    /* background-color: transparent; */
    z-index: 2;
    transition: all 0.4s cubic-bezier(0, 0.48, 0.24, 0.96);
}

.inview.top.show::after,
.inview.top.show::before {
    transform: translateX(100%);
}

.image.inview.top.show::after,
.image.inview.top.show::before {
    transition-delay: 0.2s;
}

.contents,
main,
footer {
    position: relative;
    clear: both;
    width: 100%;
    margin: 0 auto;
    padding: 0;
    text-align: left;
    box-sizing: border-box;
}

/* gnav */
.kv {
    position: relative;
    z-index: 3;
}

.kv figure {
    position: absolute;
    left: 2.78vw;
    top: 2.78vw;
    width: 21.35vw;
}

.kv picture {
    line-height: 0;
    font-size: 0;
}

@media screen and (max-width: 1024px) {
    .kv picture {
        height: 100vh;
    }

    .kv picture img {
        width: 100%;
        height: 100vh;
        object-fit: cover;
    }

    .kv figure {
        position: absolute;
        left: calc(50% - 28.4vw);
        top: 12.31vw;
        width: 56.92vw;
    }

    .kv figure img {
        width: 100%;
    }
}

.kv_fixed {
    position: fixed;
    right: 2.78vw;
    top: 1.85vw;
    width: 16.09vw;
}

.kv_fixed_reserve {
    text-align: center;
    font-size: 1.04vw;
    line-height: 1em;
    font-weight: bold;
}

.kv_fixed_reserve a {
    display: block;
    padding: 1.62vw 0;
    box-sizing: border-box;
    text-decoration: none;
    color: #000;
    background: #FFF;
    border: 2px solid #000;
}

@media screen and (min-width: 1024px) {
    .kv_fixed_reserve a {
        transition: all .2s;
    }
}

.kv_fixed_reserve a:hover {
    background: #000;
    color: #FFF;
}

.kv_fixed_reserve.res_end {
    pointer-events: none;
    background: #FFF;
}

.kv_fixed_reserve.res_end a {
    background: rgba(0, 0, 0, 0.3);
}

.kv_fixed_kanshu {
    position: relative;
    background: #000;
    text-align: center;
    padding: 2vw 0;
    text-align: center;
    border-radius: 10px;
}

.kv_fixed_kanshu::after {
    content: "";
    position: absolute;
    left: calc(50% - 8px);
    top: -13px;
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 8px solid transparent;
    border-left: 8px solid transparent;
    border-bottom: 14px solid #000;
    border-top: 0;
}

.kv_fixed_kanshu_logo {
    color: #FFF;
    margin: 0;
    padding-left: 9.26vw;
    background: url(/item/lp/purenish_pro/logo_white.svg) no-repeat left center;
    background-size: 8.91vw;
    width: calc(9.26vw + 2em);
    margin: 0 auto 0.58vw auto;
}

.kv_fixed_kanshu_logo span {
    display: none;
}

.kv_fixed_kanshu_dai {
    position: relative;
    display: inline-block;
    z-index: 2;
}

.kv_fixed_kanshu_dai p {
    position: relative;
    color: #FFF;
    font-size: 1.1vw;
    margin: 0 0 0.98vw 0;
    line-height: 1.1em;
    z-index: 2;
}

.kv_fixed_kanshu_dai strong {
    position: relative;
    color: #FFF;
    line-height: 1em;
    font-weight: 700;
    letter-spacing: -0.03em;
    font-size: 2.31vw;
}

.kv_fixed_kanshu_dai span {
    position: absolute;
    width: 100%;
    display: inline-block;
    bottom: 0.05em;
    left: 0;
    width: 100%;
    height: 1px;
    border-bottom: 0.58vw solid #BD975C;
    z-index: -1;
}

.kv_fixed_kanshu time {
    display: block;
    color: #FFF;
    font-size: 0.93vw;
    line-height: 1.1em;
}

@media screen and (max-width: 1024px) {
    .kv_fixed {
        right: 0;
        top: auto;
        bottom: 0;
        width: 100%;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-align-items: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
    }

    .kv_fixed_reserve {
        width: 43%;
        font-size: 3.85vw;
        margin: 0;
        order: 2;
    }

    .kv_fixed_reserve a {
        display: block;
        padding: 0;
        height: 100%;
        line-height: 1.5em;
        border: 2px solid #000;
        box-sizing: border-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .kv_fixed_kanshu {
        width: 57%;
        padding: 4.36vw 0 0 0;
        border-radius: 0;
        height: 24.62vw;
        box-sizing: border-box;
        order: 1;
    }

    .kv_fixed_kanshu::after {
        content: "";
        position: absolute;
        left: auto;
        right: -2.56vw;
        top: calc(50% - 1vw);
        width: 0;
        height: 0;
        border-style: solid;
        border-top: 2.31vw solid transparent;
        border-bottom: 2.31vw solid transparent;
        border-left: 2.82vw solid #000;
        border-right: 0;
    }

    .kv_fixed_kanshu_logo {
        padding-left: 26.67vw;
        background: url(/item/lp/purenish_pro/logo_white.svg) no-repeat left center;
        background-size: 26.67vw;
        width: calc(26.7vw + 3em);
        margin: 0 auto 0.51vw auto;
        font-size: 3.08vw;
        line-height: 1.1em;
    }

    .kv_fixed_kanshu_logo span {
        display: none;
    }

    .kv_fixed_kanshu_dai p {
        font-size: 3.85vw;
        margin: 0 0 2.56vw 0;
    }

    .kv_fixed_kanshu_dai strong {
        line-height: 1em;
        font-size: 6.67vw;
    }

    .kv_fixed_kanshu_dai span {
        border-bottom: 1.79vw solid #BD975C;
    }

    .kv_fixed_kanshu time {
        font-size: 3.08vw;
    }
}

.kv_copy {
    position: absolute;
    left: 5.61vw;
    bottom: 5.61vw;
}

.kv_copy h2 {
    color: #FFF;
    line-height: 1.1em;
    margin-bottom: 1.45vw;
    font-size: 5.15vw;
    letter-spacing: 0.01em;
}

.kv_copy h2 span {
    letter-spacing: -0.34em;
}

.kv_copy p {
    font-size: 2.95vw;
    line-height: 1.4em;
    margin: 0;
    font-weight: 900;
    color: #FFF;
}

.kv_copy p span {
    letter-spacing: -0.19em;
}

@media screen and (max-width: 1024px) {
    .kv_copy {
        left: 7.18vw;
        bottom: 44.62vw;
    }

    .kv_copy h2 {
        line-height: calc(56 / 41);
        margin-bottom: 1.79vw;
        font-size: 10.51vw;
    }

    .kv_copy p {
        font-size: 6.41vw;
        line-height: calc(36 / 25);
    }
}

.ppIntro {
    position: relative;
    background: #F7F7F8;
    padding: 10.01vw 0;
}

.ppIntro_inner {
    width: 57.29vw;
    margin: 0 auto;
}

.ppIntro h2 {
    text-align: center;
    font-size: 2.78vw;
    margin-bottom: 1.16vw;
    line-height: 1.54em;
}

.ppIntro h3 {
    text-align: center;
    font-size: 1.74vw;
    margin-bottom: 6.66vw;
    line-height: 1.6em;
}

.ppIntro figure {
    margin: 0 auto 6.66vw auto;
    width: 56.8%;
    line-height: 0;
    font-size: 0;
}

.ppIntro p {
    font-size: 1.16vw;
}

.ppIntro p:last-child {
    margin: 0;
}

@media screen and (max-width: 1024px) {
    .ppIntro {
        padding: 14.1vw 0;
    }

    .ppIntro_inner {
        width: 85.38vw;
    }

    .ppIntro h2 {
        font-size: 7.18vw;
        margin-bottom: 3.85vw;
    }

    .ppIntro h3 {
        font-size: 4.1vw;
        margin-bottom: 8.97vw;
    }

    .ppIntro figure {
        margin: 0 auto 8.97vw auto;
        width: 100%;
    }

    .ppIntro p {
        font-size: 4.1vw;
    }
}

.mizushimiCause {
    position: relative;
    padding: 10.01vw 0;
    background: url(/item/lp/purenish_pro/shimi_back.jpg) no-repeat left 5% top 5.73vw;
    background-size: 100%;
}

.mizushimiCause_detail1 {
    width: 57.29vw;
    margin: 0 auto 10.01vw auto;
}

.mizushimiCause_detail1 h2 {
    font-size: 3.07vw;
    line-height: calc(74 / 53);
    text-align: center;
    margin-bottom: 4.63vw;
}

.mizushimiCause_detail1 p {
    font-size: 1.16vw;
    margin-bottom: 4.63vw;
}

.mizushimiCause_detail1 figure {
    line-height: 0;
    font-size: 0;
}

.mizushimiCause_detail2 {
    width: 68.63vw;
    margin: 0 auto 16.67vw auto;
}

.mizushimiCause_detail2 h2 {
    text-align: center;
    font-size: 2.6vw;
    margin-bottom: 4.63vw;
}

.mizushimiCause_detail2 .taisaku_wrap {
    padding-bottom: 5.15vw;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.mizushimiCause_detail2 .taisaku_wrap article {
    position: relative;
    width: 49.1%;
    border-radius: 10px;
    background: #F7F7F8;
    padding: 5.03vw 3.36vw;
    box-sizing: border-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.mizushimiCause_detail2 .taisaku_wrap article::before,
.mizushimiCause_detail2 .taisaku_wrap article::after {
    position: absolute;
    content: "";
    display: block;
    width: 4.11vw;
    height: 2.31vw;
    background-color: #F7F7F8;
    border-radius: 50%;
    bottom: -3.59vw;
    left: 33%;
}

.mizushimiCause_detail2 .taisaku_wrap article::before {
    width: 2.14vw;
    height: 1.22vw;
    bottom: -5.15vw;
    left: 44.7%;
}

.mizushimiCause_detail2 .taisaku_wrap article p {
    font-weight: 900;
    line-height: 1.5em;
    margin: 0;
    font-size: 1.74vw;
}

.mizushimiCause_detail2 .taisaku_wrap article figure {
    width: 42.8%;
    line-height: 0;
    font-size: 0;
}

.mizushimiCause_detail2 .taisaku_wrap article:nth-child(2) {
    padding: 5.03vw 4.92vw;
    margin-top: 5.61vw;
}

.mizushimiCause_detail2 .taisaku_wrap article:nth-child(2) figure {
    width: 35.3%;
}

.mizushimiCause_detail2 .taisaku_wrap article:nth-child(2)::after {
    left: 54.3%;
}

.mizushimiCause_detail2 .taisaku_wrap article:nth-child(2)::before {
    left: 48.8%;
}

.mizushimiCause_detail2 h3 {
    text-align: center;
    font-size: 3.07vw;
    line-height: calc(99 / 53);
}

.mizushimiCause_detail2 h3 span {
    display: inline;
    border-bottom: 1px solid #000;
}

.mizushimiCause_detail3 {
    position: relative;
    width: 57.29vw;
    margin: 0 auto 7.64vw auto;
}

.mizushimiCause_detail3 .title_alphabet {
    font-size: 1.16vw;
    line-height: 1.2em;
    margin-bottom: 1.45vw;
    font-weight: 900;
    text-align: center;
}

.mizushimiCause_detail3 h2 {
    font-size: 3.07vw;
    line-height: calc(85 / 53);
    margin-bottom: 4.63vw;
    text-align: center;
}

.mizushimiCause_detail3 p {
    font-size: 1.16vw;
    margin-bottom: 7.64vw;
}

.mizushimiCause_detail3 ul {
    list-style: none;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.mizushimiCause_detail3 ul li {
    position: relative;
    width: 45.4%;
}

.mizushimiCause_detail3 ul li span {
    position: absolute;
    display: block;
    color: #FFF;
    text-align: center;
    left: -2.89vw;
    top: -2.89vw;
    width: 5.79vw;
    height: 5.79vw;
    border-radius: 50%;
    font-size: 0.93vw;
    line-height: 1.5em;
    background: #000;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}

@media screen and (max-width: 1024px) {
    .mizushimiCause {
        padding: 14.1vw 0 0 0;
        background: none;
    }

    .mizushimiCause_detail1 {
        width: 85.38vw;
        margin: 0 auto 23.08vw auto;
    }

    .mizushimiCause_detail1 h2 {
        font-size: 7.18vw;
        line-height: calc(74 / 28);
        margin-bottom: 3.85vw;
    }

    .mizushimiCause_detail1 p {
        font-size: 4.1vw;
        margin-bottom: 8.97vw;
    }

    .mizushimiCause_detail2 {
        width: 85.38vw;
        margin: 0 auto 25.64vw auto;
    }

    .mizushimiCause_detail2 h2 {
        font-size: 7.18vw;
        margin-bottom: 14.1vw;
    }

    .mizushimiCause_detail2 .taisaku_wrap {
        padding-bottom: 14.1vw;
    }

    .mizushimiCause_detail2 .taisaku_wrap article {
        width: 100%;
        padding: 8.72vw 7.18vw;
        display: block;
        text-align: center;
    }

    .mizushimiCause_detail2 .taisaku_wrap article::before,
    .mizushimiCause_detail2 .taisaku_wrap article::after {
        display: none;
    }

    .mizushimiCause_detail2 .taisaku_wrap article p {
        font-size: 5.38vw;
        margin-bottom: 7.69vw;
    }

    .mizushimiCause_detail2 .taisaku_wrap article figure {
        width: 43.08vw;
        margin: 0 auto;
    }

    .mizushimiCause_detail2 .taisaku_wrap article figure img {
        width: 100%;
    }

    .mizushimiCause_detail2 .taisaku_wrap article:nth-child(2) {
        padding: 8.72vw 7.18vw;
        margin-top: 7.69vw;
    }

    .mizushimiCause_detail2 .taisaku_wrap article:nth-child(2) figure {
        width: 28.72vw;
    }

    .mizushimiCause_detail2 h3 {
        font-size: 7.18vw;
        line-height: calc(48 / 28);
    }

    .mizushimiCause_detail3 {
        width: 85.38vw;
        margin: 0 auto 13.59vw auto;
    }

    .mizushimiCause_detail3 .title_alphabet {
        font-size: 3.33vw;
        margin-bottom: 3.85vw;
    }

    .mizushimiCause_detail3 h2 {
        font-size: 7.18vw;
        line-height: 1.6em;
        margin-bottom: 8.97vw;
    }

    .mizushimiCause_detail3 p {
        font-size: 4.1vw;
        margin-bottom: 20.51vw;
    }

    .mizushimiCause_detail3 ul li {
        width: 78.46vw;
        margin: 0 0 15.13vw auto;
    }

    .mizushimiCause_detail3 ul li span {
        left: -8.59vw;
        top: -8.59vw;
        width: 17.18vw;
        height: 17.18vw;
        border-radius: 8.59vw;
        font-size: 3.08vw;
    }
}

@media screen and (max-width: 1024px) {
    .scroll_base {
        position: relative;
    }

    .scroll_base::after {
        content: "";
        display: block;
        position: absolute;
        right: 0;
        top: 0;
        height: 100%;
        width: 10%;
        background-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 1%, white);
        z-index: 2;
    }

    .scroll_base_inner {
        display: flex;
        width: 85.38vw;
        height: 89.74vw;
        margin: 0 auto;
        overflow-x: scroll;
    }

    .scroll_base_inner figure {
        width: auto;
        flex-shrink: 0;
    }

    .scroll_base_inner figure img {
        padding: 0% 0 1% 0;
        max-width: inherit;
        height: 100%;
    }
}

.mizushimiCause_youtube {
    position: relative;
    margin: 0 auto 10.01vw auto;
    width: 68.63vw;
    padding: 8.22vw 5.61vw;
    box-sizing: border-box;
    background: #F7F7F8;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.mizushimiCause_youtube .youtube_text {
    width: 40%;
}

.mizushimiCause_youtube .youtube_text h2 {
    font-size: 2.43vw;
    line-height: calc(60 / 42);
    margin-bottom: 0.29vw;
}

.mizushimiCause_youtube .youtube_text h3 {
    font-size: 1.39vw;
    line-height: 1.4em;
    margin-bottom: 2.03vw;
}

.mizushimiCause_youtube .youtube_text h3 em {
    font-style: normal;
    font-size: 2.03vw;
}

.mizushimiCause_youtube .youtube_text p {
    font-size: 1.16vw;
    line-height: 2em;
    margin: 0;
}

.mizushimiCause_youtube figure {
    width: 49%;
}

@media screen and (max-width: 1024px) {
    .mizushimiCause_youtube {
        margin: 0 auto 14.36vw auto;
        width: 100%;
        padding: 14.36vw 7.31vw;
    }

    .mizushimiCause_youtube .youtube_text {
        width: 100%;
        margin-bottom: 7.69vw;
    }

    .mizushimiCause_youtube .youtube_text h2 {
        font-size: 7.18vw;
        line-height: calc(60 / 42);
        margin-bottom: 3.85vw;
    }

    .mizushimiCause_youtube .youtube_text h3 {
        font-size: 5.13vw;
        margin-bottom: 6.92vw;
        margin-bottom: 7.69vw;
    }

    .mizushimiCause_youtube .youtube_text h3 em {
        font-size: 7.18vw;
    }

    .mizushimiCause_youtube .youtube_text p {
        font-size: 4.1vw;
    }

    .mizushimiCause_youtube figure {
        width: 100%;
    }
}

.mizushimiCause_detail4 {
    position: relative;
    width: 68.63vw;
    margin: 0 auto 10.01vw auto;
}

.mizushimiCause_detail4 h2 {
    text-align: center;
    font-size: 2.6vw;
    line-height: calc(74 / 45);
    margin-bottom: 4.63vw;
}

.mizushimiCause_detail4 h2 .d4_logo {
    display: inline-block;
    padding-left: 29vw;
    background: url(/item/lp/purenish_pro/logo_black.svg) no-repeat left top 0.15em;
    background-size: 28.4vw;
}

.mizushimiCause_detail4 p {
    font-size: 1.16vw;
    line-height: calc(37 / 20);
}

.mizushimiCause_detail4_inner {
    position: relative;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.mizushimiCause_detail4_inner figure {
    width: 42.6%;
}

.mizushimiCause_detail4_inner div {
    width: 50.8%;
}

.mizushimiCause_detail4_inner div h2 {
    text-align: left;
    margin-bottom: 3.47vw;
}

@media screen and (max-width: 1024px) {
    .mizushimiCause_detail4 {
        width: 85.38vw;
        margin: 0 auto 14.36vw auto;
    }

    .mizushimiCause_detail4 h2 {
        font-size: 5.9vw;
        line-height: 1.6em;
        margin-bottom: 7.69vw;
    }

    .mizushimiCause_detail4 h2.ls1 {
        letter-spacing: -0.1em;
    }

    .mizushimiCause_detail4 h2 .d4_logo {
        display: inline-block;
        padding-left: 67.5vw;
        background: url(/item/lp/purenish_pro/logo_black.svg) no-repeat left top 0.15em;
        background-size: 64.7vw;
    }

    .mizushimiCause_detail4 p {
        font-size: 4.1vw;
        line-height: calc(30 / 16);
    }

    .mizushimiCause_detail4_inner {
        position: relative;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-align-items: flex-start;
        -ms-flex-align: start;
        align-items: flex-start;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .mizushimiCause_detail4_inner figure {
        width: 100%;
        margin-bottom: 8.97vw;
    }

    .mizushimiCause_detail4_inner div {
        width: 100%;
    }
}

.pp_product {
    position: relative;
    background: #F7F7F8;
    padding: 13.31vw 0;
}

@media screen and (max-width: 1024px) {
    .pp_product {
        padding: 14.1vw 0;
    }
}

@keyframes item__anime {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-33.3333%);
    }
}

.pp_product {
    position: relative;
    background: #F7F7F8;
}

.pp_product .product_alphabet {
    text-align: center;
    font-weight: bold;
    font-size: 1.16vw;
    line-height: 1.15em;
    margin-bottom: 1.45vw;
}

.pp_product h2 {
    font-size: 3.07vw;
    text-align: center;
    line-height: calc(74 / 53);
    margin-bottom: 6.48vw;
}

.pp_product h2 span {
    display: inline-block;
    padding-left: 28vw;
    background: url(/item/lp/purenish_pro/logo_black.svg) no-repeat left top 0.15em;
    background-size: 27.6vw;
}

.pp_product .product_kv {
    position: relative;
    overflow: hidden;
    margin-bottom: 6.48vw;
}

.pp_product .product_kv .mv__moveInner {
    position: absolute;
    top: calc(50% - 10vw);
    display: flex;
    width: -moz-fit-content;
    width: fit-content;
    animation: item__anime 30s linear infinite both;
    z-index: 1;
}

.pp_product .product_kv .mv__moveInner p {
    color: #fff;
    margin: 0;
    font-size: min(21.4861235452vh, 13.8888888889vw);
    letter-spacing: .03em;
    line-height: 1.175;
    font-weight: 700;
    white-space: nowrap;
}

.pp_product .product_kv figure {
    position: relative;
    width: 29.5vw;
    margin: 0 auto;
    line-height: 0;
    font-size: 0;
    z-index: 2;
}

.pp_product h3 {
    text-align: center;
    font-size: 3.47vw;
    line-height: 1.1em;
    margin-bottom: 6.48vw;
}

.pp_product .product_feture {
    position: relative;
    width: 68.63vw;
    margin: 0 auto 10.01vw auto;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.pp_product .product_feture article {
    width: 31.5%;
    padding: 2.78vw 2.78vw;
    background: #FFF;
}

.pp_product .product_feture article h4 {
    text-align: center;
    font-size: 1.45vw;
    line-height: calc(38 / 25);
    margin-bottom: 1.16vw;
}

.pp_product .product_feture article p {
    font-size: 0.93vw;
    margin: 0;
    line-height: calc(29 / 16);
}

@media screen and (max-width: 1024px) {
    .pp_product .product_alphabet {
        font-size: 3.33vw;
        margin-bottom: 6.41vw;
    }

    .pp_product h2 {
        font-size: 6.41vw;
        line-height: calc(46 / 25);
        margin-bottom: 14.1vw;
    }

    .pp_product h2 span {
        padding-left: 65.5vw;
        background: url(/item/lp/purenish_pro/logo_black.svg) no-repeat left top 0.3em;
        background-size: 63.5vw;
    }

    .pp_product .product_kv {
        margin-bottom: 14.1vw;
    }

    .pp_product .product_kv figure {
        width: 71.2vw;
    }

    .pp_product h3 {
        font-size: 7.18vw;
        margin-bottom: 25.64vw;
    }

    .pp_product .product_feture {
        width: 85.38vw;
        margin: 0 auto 30.77vw auto;
    }

    .pp_product .product_feture article {
        width: 100%;
        margin-bottom: 7.69vw;
        padding: 8.97vw 7.18vw;
        border-radius: 10px;
    }

    .pp_product .product_feture article:last-child {
        margin-bottom: 0;
    }

    .pp_product .product_feture article h4 {
        font-size: 6.15vw;
        line-height: calc(38 / 24);
        margin-bottom: 7.69vw;
    }

    .pp_product .product_feture article p {
        font-size: 4.1vw;
        margin: 0;
        line-height: calc(30 / 16);
    }
}

.ppHowto {
    position: relative;
    width: 68.63vw;
    box-sizing: border-box;
    margin: 0 auto 10.01vw auto;
    background: #FFF;
    padding: 6.83vw 6.77vw;
}

.ppHowto h2 {
    text-align: center;
    font-size: 3.07vw;
    line-height: 1.3em;
    margin-bottom: 5.79vw;
}

.ppHowto h2 span {
    display: inline-block;
    padding: 0;
    background: none;
    background: linear-gradient(transparent 60%, #D2D2D2 40%);
}

.ppHowto .howtoAlphabet {
    color: #D2D2D2;
    font-size: 0.93vw;
    margin-bottom: 0.58vw;
    text-align: center;
    font-weight: bold;
}

.ppHowto h3 {
    text-align: center;
    font-size: 2.49vw;
    margin-bottom: 6.37vw;
}

.ppHowto h3 strong {
    font-size: 2.89vw;
    letter-spacing: 0.12em;
    font-weight: 700;
}

.ppHowto h4 {
    font-size: 1.39vw;
    line-height: 2em;
}

.ppHowto h4 strong {
    font-size: 1.39vw;
    border-bottom: 1px solid #000;
}

.ppHowto .howto_onetouch {
    padding-bottom: 6.83vw;
    margin-bottom: 6.83vw;
    border-bottom: 1px solid #D2D2D2;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.ppHowto .howto_onetouch li {
    position: relative;
    width: 28.5%;
    list-style: none;
}

.ppHowto .howto_onetouch li span {
    position: absolute;
    left: -1.91vw;
    top: -1.91vw;
    display: block;
    width: 3.82vw;
    height: 3.82vw;
    border-radius: 1.91vw;
    background: #000;
    color: #FFF;
    text-align: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}

.ppHowto h4 {
    text-align: center;
    font-size: 1.39vw;
    font-weight: 700;
    margin-bottom: 2.6vw;
}

.ppHowto h5 {
    font-size: 1.16vw;
    text-align: center;
    margin-bottom: 0.58vw;
}

.ppHowto p {
    font-size: 1.16vw;
    text-align: center;
    margin-bottom: 2.31vw;
}

.ppHowto .howto_link {
    list-style: none;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.ppHowto .howto_link li {
    width: 48.9%;
}

.ppHowto .howto_link li figure {
    list-style: none;
}

.ppHowto .howto_link li figure figcaption {
    position: relative;
    top: -3em;
    font-size: 1.04vw;
    font-weight: 700;
    text-align: center;
}

@media screen and (max-width: 1024px) {
    .ppHowto {
        width: 85.38vw;
        border-radius: 10px;
        margin: 0 auto 30.77vw auto;
        padding: 11.03vw 7.18vw;
    }

    .ppHowto h2 {
        font-size: 7.18vw;
        margin-bottom: 14.1vw;
    }

    .ppHowto .howtoAlphabet {
        font-size: 4.1vw;
        margin-bottom: 3.33vw;
        line-height: 1.1em;
    }

    .ppHowto h3 {
        font-size: 6.15vw;
        margin-bottom: 12.82vw;
    }

    .ppHowto h3 strong {
        font-size: 7.44vw;
        line-height: 1.1em;
    }

    .ppHowto .howto_onetouch {
        padding-bottom: 14.1vw;
        margin-bottom: 14.1vw;
    }

    .ppHowto .howto_onetouch li {
        width: 64vw;
        margin: 0 0 15.38vw auto;
    }

    .ppHowto .howto_onetouch li:last-child {
        margin-bottom: 0;
    }

    .ppHowto .howto_onetouch li span {
        left: -7.69vw;
        top: -7.69vw;
        width: 15.38vw;
        height: 15.38vw;
        border-radius: 7.69vw;
        font-size: 3.33vw;
    }

    .ppHowto h4 {
        font-size: 4.62vw;
        margin-bottom: 5.13vw;
    }

    .ppHowto h4 strong {
        font-size: 4.62vw;
        border-bottom: 1px solid #000;
        font-weight: 900;
    }

    .ppHowto h5 {
        font-size: 4.1vw;
        text-align: center;
        margin-bottom: 2.56vw;
    }

    .ppHowto p {
        font-size: 4.1vw;
        margin-bottom: 2em;
        text-align: left;
    }

    .ppHowto p:last-of-type {
        margin: 0;
    }

    .ppHowto .howto_link li {
        width: 100%;
    }

    .ppHowto .howto_link li figure figcaption {
        position: relative;
        top: -1.5em;
        font-size: 3.59vw;
    }
}

.ppChange {
    position: relative;
    width: 68.63vw;
    box-sizing: border-box;
    margin: 0 auto;
    background: #FFF;
    padding: 6.83vw 6.77vw;
}

.ppChange h2 {
    text-align: center;
    font-size: 3.07vw;
    line-height: 1.3em;
    margin-bottom: 5.79vw;
}

.ppChange h2 span {
    display: inline-block;
    padding: 0;
    background: none;
    background: linear-gradient(transparent 60%, #D2D2D2 40%);
}

.ppChange p {
    font-size: 1.39vw;
    font-weight: bold;
    text-align: center;
    line-height: 2em;
}

.ppChange .suiryou {
    text-align: center;
    margin-bottom: 2.6vw;
    font-size: 1.39vw;
}

.ppChange .suiryou span {
    display: inline-block;
    border-bottom: 1px solid #000;
}

.ppChange .suiryou strong {
    line-height: 1.3em;
    font-weight: 700;
    letter-spacing: -0.02em;
    font-size: 2.6vw;
}

.ppChange .suiryou em {
    font-style: normal;
    font-size: 0.93vw;
}

.ppChange .ppChange_step {
    position: relative;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.ppChange .ppChange_step article {
    position: relative;
    width: 24.9%;
}

.ppChange .ppChange_step article::after {
    content: "";
    position: absolute;
    right: -4.8vw;
    top: 11vw;
    display: block;
    width: 2.78vw;
    height: 1.22vw;
    background: url(/item/lp/purenish_pro/solution_image4-arrow.svg) no-repeat center center;
    background-size: cover;
}

.ppChange .ppChange_step article:last-child::after {
    display: none;
}

.ppChange .ppChange_step article figure {
    line-height: 0;
    font-size: 0;
    margin-bottom: 0.64vw;
}

.ppChange .ppChange_step article h3 {
    text-align: left;
    font-size: 1.39vw;
    line-height: 2em;
    margin-bottom: 0.58vw;
}

.ppChange .ppChange_step article p {
    font-size: 0.93vw;
    line-height: calc(30 / 16);
    margin: 0;
    text-align: left;
    font-weight: normal;
}

@media screen and (max-width: 1024px) {
    .ppChange {
        width: 85.38vw;
        padding: 14.36vw 7.18vw;
    }

    .ppChange h2 {
        font-size: 7.18vw;
        margin-bottom: 7.18vw;
    }

    .ppChange p {
        font-size: 5.64vw;
    }

    .ppChange p.pp_koukan {
        font-size: 4.1vw;
    }

    .ppChange .suiryou {
        margin-bottom: 3.33vw;
        font-size: 6.15vw;
    }

    .ppChange .suiryou span {
        border: none;
    }

    .ppChange .suiryou strong {
        font-size: 11.54vw;
    }

    .ppChange .suiryou em {
        font-size: 3.33vw;
        display: block;
    }

    .ppChange .scroll_base {
        width: 71.28vw;
    }

    .ppChange .scroll_base_inner {
        width: 71.28vw;
        height: 134vw;
        display: block;
    }

    .ppChange .ppChange_step {
        width: 231.28vw;
    }

    .ppChange .ppChange_step article {
        width: 59.74vw;
    }

    .ppChange .ppChange_step article::after {
        right: -17.44vw;
        top: 42vw;
        width: 14.62vw;
        height: 6.41vw;
    }

    .ppChange .ppChange_step article figure {
        margin-bottom: 2.82vw;
    }

    .ppChange .ppChange_step article figure img {
        width: 100%;
    }

    .ppChange .ppChange_step article h3 {
        font-size: 6.15vw;
        margin-bottom: 4.1vw;
    }

    .ppChange .ppChange_step article p {
        font-size: 4.1vw;
        line-height: calc(30 / 16);
    }
}

.ppVoice {
    position: relative;
    padding-top: 13.31vw;
    margin-bottom: 16.67vw;
}

.ppVoice h2 {
    text-align: center;
    font-size: 3.07vw;
    line-height: calc(74 / 53);
    margin-bottom: 10.01vw;
}

@media screen and (max-width: 1024px) {
    .ppVoice {
        padding-top: 14.36vw;
        margin-bottom: 28.21vw;
    }

    .ppVoice h2 {
        font-size: 7.18vw;
        line-height: calc(46 / 28);
        margin-bottom: 8.97vw;
    }
}

.ppVoice_inner.swiper {
    position: relative;
}

.ppVoice_inner.swiper .ppvoice_wrapper {
    align-items: stretch;
    padding-bottom: 5.21vw;
}

.ppVoice_inner.swiper article {
    position: relative;
    width: 26.97vw;
    border-radius: 2.89vw;
    background: #F7F7F8;
    margin: 0 3.3vw;
}

.ppVoice_inner.swiper article::before,
.ppVoice_inner.swiper article::after {
    position: absolute;
    content: "";
    display: block;
    width: 4.11vw;
    height: 2.31vw;
    background-color: #F7F7F8;
    border-radius: 50%;
    bottom: -3.59vw;
    left: 7%;
}

.ppVoice_inner.swiper article::before {
    width: 2.14vw;
    height: 1.22vw;
    bottom: -5.15vw;
    left: 0%;
}

.ppVoice_inner.swiper article figure {
    width: 100%;
    line-height: 0;
    font-size: 0;
    margin-bottom: 2.31vw;
}

.ppVoice_inner.swiper article figure img {
    border-top-left-radius: 2.89vw;
    border-top-right-radius: 2.89vw;
}

.ppVoice_inner.swiper article p {
    font-size: 1.04vw;
    padding: 0 1.74vw;
    width: 100%;
    margin-bottom: 4em;
}

.ppVoice_inner.swiper article p.voice_name {
    position: absolute;
    right: 0;
    bottom: 1em;
    text-align: right;
    margin-bottom: 0;
}

.ppVoice_inner.swiper article .swiper_child {
    position: relative;
    overflow: hidden;
}

.ppVoice_inner.swiper article .swiper-pagination {
    position: absolute;
    padding-right: 10px;
    bottom: calc(2.3vw + 10px);
    text-align: right;
}

.ppVoice_inner.swiper article .swiper-pagination .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    opacity: 1;
    background: #1E1E1E;
}

.ppVoice_inner.swiper article .swiper-pagination .swiper-pagination-bullet-active {
    background: #FFF;
}

@media screen and (max-width: 1024px) {
    .ppVoice_inner.swiper {
        flex-wrap: wrap;
    }

    .ppVoice_inner.swiper .ppvoice_wrapper {
        margin: 0 auto;
        padding-bottom: 0;
    }

    .ppVoice_inner.swiper article {
        width: 74.62vw;
        border-radius: 20px;
        margin: 0 3vw;
    }

    .ppVoice_inner.swiper article::before,
    .ppVoice_inner.swiper article::after {
        display: none;
    }

    .ppVoice_inner.swiper article figure {
        margin-bottom: 6.67vw;
    }

    .ppVoice_inner.swiper article figure img {
        border-top-left-radius: 20px;
        border-top-right-radius: 20px;
    }

    .ppVoice_inner.swiper article p {
        font-size: 3.59vw;
        padding: 0 4.1vw;
        margin-bottom: 4em;
    }

    .ppVoice_inner.swiper article p.voice_name {
        position: absolute;
        bottom: 1em;
        margin-bottom: 0;
    }

    .ppVoice_inner.swiper article .swiper-pagination {
        bottom: calc(6vw + 10px);
    }
}

.ppFaq {
    position: relative;
    margin-bottom: 16.67vw;
}

.ppFaq h2 {
    text-align: center;
    font-size: 3.07vw;
    margin-bottom: 6.66vw;
}

@media screen and (max-width: 1024px) {
    .ppFaq {
        margin-bottom: 28.21vw;
    }

    .ppFaq h2 {
        font-size: 7.18vw;
        margin-bottom: 8.97vw;
    }
}

.ppFaq_inner {
    position: relative;
    width: 55.09vw;
    margin: 0 auto;
    border-bottom: 1px solid #D2D2D2;
}

.ppFaq_inner article {
    position: relative;
    border-top: 1px solid #D2D2D2;
}

.ppFaq_inner article h3 {
    position: relative;
    font-size: 1.85vw;
    line-height: calc(42 / 32);
    padding: 2.31vw 0;
    cursor: pointer;
}

.ppFaq_inner article h3:hover {
    opacity: .5;
}

.ppFaq_inner article h3::before,
.ppFaq_inner article h3::after {
    content: '';
    display: inline-block;
    position: absolute;
    width: 1px;
    height: 25px;
    right: 0.87vw;
    top: 2.89vw;
    background-color: #000066;
    transition: all .2s;
}

.ppFaq_inner article h3::after {
    transform: rotate(90deg);
}

.ppFaq_inner article h3.active::before {
    transform: rotate(45deg);
}

.ppFaq_inner article h3.active::after {
    transform: rotate(135deg);
}

.ppFaq_inner article .faq_ans {
    position: relative;
}

.ppFaq_inner article .faq_ans p {
    font-size: 1.16vw;
    margin-bottom: 1em;
}

.ppFaq_inner article .faq_ans p:last-child {
    padding-bottom: 2em;
}

.ppFaq_inner article .faq_ans p a {
    color: #919191;
    font-size: 0.93vw;
}

.ppFaq_inner article .faq_ans ol,
.ppFaq_inner article .faq_ans ul {
    padding-left: 1.5em;
    margin-bottom: 1em;
}

.ppFaq_inner article .faq_ans ol li,
.ppFaq_inner article .faq_ans ul li {
    font-size: 1.16vw;
}

.ppFaq_inner article .faq_ans h4 {
    font-size: 0.93vw;
}

@media screen and (max-width: 1024px) {
    .ppFaq_inner {
        width: 85.38vw;
    }

    .ppFaq_inner article h3 {
        font-size: 4.62vw;
        line-height: calc(26 / 18);
        padding: 6.15vw 3em 6.15vw 0;
        line-height: 1.6em;
    }

    .ppFaq_inner article h3::before,
    .ppFaq_inner article h3::after {
        height: 4.36vw;
        right: 4.36vw;
        top: calc(50% - 2.5vw);
    }

    .ppFaq_inner article .faq_ans p {
        font-size: 3.59vw;
    }

    .ppFaq_inner article .faq_ans p a {
        font-size: 3.59vw;
    }

    .ppFaq_inner article .faq_ans ol li,
    .ppFaq_inner article .faq_ans ul li {
        font-size: 3.59vw;
    }

    .ppFaq_inner article .faq_ans h4 {
        font-size: 3.59vw;
    }
}

.ppReserve h2 {
    text-align: center;
    font-size: 3.07vw;
    margin-bottom: 8.1vw;
}

.ppReserve p.reserve_alphabet {
    font-size: 1.16vw;
    line-height: 1.2em;
    margin-bottom: 0.87vw;
    font-weight: 900;
    text-align: center;
}

@media screen and (max-width: 1024px) {
    .ppReserve h2 {
        font-size: 7.18vw;
        margin-bottom: 14.36vw;
    }

    .ppReserve p.reserve_alphabet {
        font-size: 3.33vw;
        margin-bottom: 3.85vw;
    }
}

.ppRreserve_inner {
    width: 68.63vw;
    margin: 0 auto;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.ppRreserve_inner figure {
    width: 40.9%;
}

.ppRreserve_inner .ppReserver_text {
    width: 49.5%;
    margin-bottom: 4.63vw;
}

.ppRreserve_inner .ppReserver_text h3 {
    font-size: 2.31vw;
    line-height: calc(47 / 40);
    margin-bottom: 0.46vw;
}

.ppRreserve_inner .ppReserver_text h3 span {
    font-weight: 700;
}

.ppRreserve_inner .ppReserver_text ul {
    padding-left: 1.5em;
    margin-bottom: 1em;
}

.ppRreserve_inner .ppReserver_text ul li {
    font-size: 0.93vw;
    font-weight: 700;
}

.ppRreserve_inner .ppReserver_text p {
    font-size: 0.93vw;
}

.ppRreserve_inner .ppReserver_text p.ppRes_caution {
    font-size: 0.81vw;
    margin: 0 0 1.74vw 0;
    padding-left: 1em;
    text-indent: -1em;
}

.ppRreserve_inner .ppResserve_price {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.ppRreserve_inner .ppResserve_price div {
    width: 60%;
}

.ppRreserve_inner .ppResserve_price div h4 {
    font-size: 2.31vw;
    line-height: 1.1em;
}

.ppRreserve_inner .ppResserve_price div h4 em {
    font-size: 0.93vw;
    font-style: normal;
    font-weight: normal;
}

.ppRreserve_inner .ppResserve_price .res_btn {
    width: 36.8%;
    line-height: 1em;
    font-weight: bold;
    margin: 0;
}

.ppRreserve_inner .ppResserve_price .res_btn a {
    display: block;
    text-align: center;
    border: 1px solid #000;
    color: #000;
    padding: 1.62vw 0;
}

@media screen and (min-width: 1024px) {
    .ppRreserve_inner .ppResserve_price .res_btn a {
        transition: all .2s;
    }
}

.ppRreserve_inner .ppResserve_price .res_btn a:hover {
    background: #000;
    color: #FFF;
}

.ppRreserve_inner .ppResserve_price .res_btn.res_end {
    background: #FFF;
    pointer-events: none;
}

.ppRreserve_inner .ppResserve_price .res_btn.res_end a {
    background: rgba(0, 0, 0, 0.3);
}

@media screen and (max-width: 1024px) {
    .ppRreserve_inner {
        width: 85.38vw;
        margin: 0 auto;
    }

    .ppRreserve_inner figure {
        width: 100%;
        margin-bottom: 6.41vw;
    }

    .ppRreserve_inner .ppReserver_text {
        width: 100%;
        margin-bottom: 0;
    }

    .ppRreserve_inner .ppReserver_text h3 {
        font-size: 6.15vw;
        line-height: calc(31 / 24);
        margin-bottom: 2.05vw;
    }

    .ppRreserve_inner .ppReserver_text ul li {
        font-size: 4.1vw;
        margin-bottom: 2.56vw;
    }

    .ppRreserve_inner .ppReserver_text p {
        font-size: 4.1vw;
    }

    .ppRreserve_inner .ppReserver_text p.ppRes_caution {
        font-size: 3.59vw;
        margin: 0 0 7.69vw 0;
    }

    .ppRreserve_inner .ppResserve_price {
        margin-bottom: 14.1vw;
    }

    .ppRreserve_inner .ppResserve_price div {
        width: 100%;
        margin-bottom: 2.56vw;
    }

    .ppRreserve_inner .ppResserve_price div h4 {
        font-size: 7.18vw;
    }

    .ppRreserve_inner .ppResserve_price div h4 em {
        font-size: 4.1vw;
    }

    .ppRreserve_inner .ppResserve_price div .ppRes_caution {
        font-size: 3.59vw;
        letter-spacing: -0.015em;
        margin: 0;
    }

    .ppRreserve_inner .ppResserve_price .res_btn {
        width: 100%;
        margin-bottom: 14.36vw;
    }

    .ppRreserve_inner .ppResserve_price .res_btn a {
        padding: 4.1vw 0;
    }
}

.ppReserve_spec {
    position: relative;
    width: 100%;
    margin-bottom: 13.89vw;
}

.ppReserve_spec h3 {
    font-size: 0.93vw;
    margin-bottom: 1.04vw;
}

.ppReserve_spec table {
    width: 100%;
    border: 1px solid #D2D2D2;
}

.ppReserve_spec table td,
.ppReserve_spec table th {
    font-size: 0.81vw;
    box-sizing: border-box;
    padding: 1.16vw;
    border: 1px solid #D2D2D2;
}

.ppReserve_spec table th {
    background: #F7F7F8;
    width: 21%;
}

@media screen and (max-width: 1024px) {
    .ppReserve_spec {
        margin-bottom: 35.9vw;
    }

    .ppReserve_spec h3 {
        font-size: 4.1vw;
        margin-bottom: 4.1vw;
    }

    .ppReserve_spec table {
        border: none;
        border-top: 1px solid #D2D2D2;
        border-left: 1px solid #D2D2D2;
    }

    .ppReserve_spec table td,
    .ppReserve_spec table th {
        display: list-item;
        list-style: none;
        font-size: 3.59vw;
        padding: 4.36vw;
        border: none;
        width: 100%;
        border-bottom: 1px solid #D2D2D2;
        border-right: 1px solid #D2D2D2;
    }
}

footer {
    text-align: center;
    padding-bottom: 8.1vw;
}

footer h2 {
    width: 29.86vw;
    margin: 0 auto 2.31vw auto;
}

footer p {
    font-size: 1.04vw;
    margin: 0;
}

@media screen and (max-width: 1024px) {
    footer {
        padding-bottom: 41.03vw;
    }

    footer h2 {
        width: 56.92vw;
        margin: 0 auto 2.56vw auto;
    }

    footer p {
        font-size: 3.33vw;
    }
}

.mv__moveInner p,
footer p,
.reserve_alphabet,
.ppHowto h3 strong,
.howtoAlphabet,
.product_alphabet,
.title_alphabet,
.worksans {
    font-family: "Work Sans", sans-serif;
}

/* dsk */

.ppGraph {
    padding: 0;
    margin-top: 10.01vw;
}

@media screen and (max-width: 1024px) {
    .ppGraph {
        margin-top: 30.77vw;
    }
}

.ppGraph picture {
    display: block;
    width: 100%;
}

.ppGraph picture img {
    width: 100%;
}