@charset "UTF-8";

body {
    background-color: #e4e4e4;
}
.fix {
    animation: none;
}
#contents_inner {
    scroll-snap-type: none;
    height: auto;
    width: 100%;
    overflow-x: hidden;
    position: relative;
}
section {
    scroll-snap-align: none;
}
#kv {
    min-height: auto;
}
section h2 {
    background-color: initial;
    height: auto;
}
.bg-top {
    position: relative;
    font-family: 'Gothic Medium BBB', sans-serif;
    color: #00281e;
}
.bg-top img {
    max-width: 100%;
}
.bg-top .title {
    content: '';
    display: block;
    background: url(../images/skincare_choice/top_ttl.svg) no-repeat;
    background-size: contain;
    width: 36.4125vw;
    height: 0;
    padding-top: 11%;
    position: absolute;
    top: 17.4%;
    left: 14.6%;
    white-space: nowrap;
    text-indent: 100vw;
}
.bg-top .text {
    font-size: 1.25vw;
    line-height: 1.6;
    letter-spacing: .02em;
    position: absolute;
    right: 12.4%;
    top: 14.7%;
}
.set {
    max-width: 1100px;
    margin: 0 auto;
    padding: 70px 0 50px 100px;
    font-family: 'Gothic Medium BBB', sans-serif;
    position: relative;
}
.set:nth-child(2 + n) {
    margin-top: 110px;
}
.set .summary {
    position: relative;
}
.set h2 {
    font-size: 3rem;
    font-feature-settings: "palt";
    letter-spacing: .16em;
}
.set .text {
    font-size: 1.8rem;
    line-height: 1.46;
    letter-spacing: .04em;
    padding: 20px 0 35px;
}
.set .img {
    width: 300px;
    position: absolute;
    top: -40px;
    right: 60px;
}
.set .check {
    position: absolute;
    right: -130px;
    color: #00281e;
    background-color: #ffb700;
    border-radius: 53px;
    padding: 30px 100px;
    margin-top: 70px;
    display: inline-block;
}
.set .check::before {
    content: '';
    display: block;
    background: url(../images/skincare_choice/icon_triangle.svg) no-repeat;
    background-size: contain;
    width: 83px;
    height: 128px;
    position: absolute;
    top: -80px;
    left: 380px;
}
.set .check h3 {
    font-size: 2.5rem;
    font-feature-settings: "palt";
    letter-spacing: .14em;
    padding-bottom: .8em;
}
.set .check ul li {
    font-size: 1.8rem;
    line-height: 1.44;
    letter-spacing: .04em;
    position: relative;
    padding-left: 40px;
}
.set .check ul li::before {
    content: '';
    display: block;
    background: url(../images/skincare_choice/icon_check.svg) no-repeat;
    background-size: contain;
    width: 28px;
    height: 21px;
    position: absolute;
    top: 0;
    left: 0;
}
.set .check ul li + li {
    margin-top: .6em;
}
.set > p {
    margin-top: 30px;
    margin-left: -100px;
}
/* @-webkit-keyframes sdb {
  0% {
    -webkit-transform: translateX(0);
  }
  20% {
    -webkit-transform: translateX(10px);
  }
  40% {
    -webkit-transform: translateX(0);
  }
}
@keyframes sdb {
  0% {
    transform: translateX(0);
  }
  20% {
    transform: translateX(10px);
  }
  40% {
    transform: translateX(0);
  }
} */
@-webkit-keyframes sdb {
  0% {
    width: 240px;
  }
  20% {
    width: 250px;
  }
  40% {
    width: 240px;
  }
}
@keyframes sdb {
  0% {
    width: 240px;
  }
  20% {
    width: 250px;
  }
  40% {
    width: 240px;
  }
}
.arrow-right {
    display: inline-block;
    vertical-align: middle;
    color: #333;
    line-height: 1;
    position: relative;
    width: 240px;
    height: 1px;
    background: currentColor;
    animation: sdb 2s infinite;
}
.arrow-right::before {
    content: '';
    width: 0.65em;
    height: 0.65em;
    border: 1px solid currentColor;
    border-left: 0;
    border-bottom: 0;
    transform: rotate(45deg);
    transform-origin: top right;
    position: absolute;
    top: 50%;
    right: -0.05em;
    box-sizing: border-box;
}
.arrow-right img {
    position: absolute;
    top: -14px;
    left: 156px;
}
.set .items ul {
    display: flex;
    gap: 25px;
    padding-top: 20px;
}
.set .items ul li dl dd {
    text-align: center;
}
.set .items ul li dl dd img {
    width: 130px;
}
.set .items ul li dl dt {
    font-size: 1.6rem;
    line-height: 1.18;
    letter-spacing: -.06em;
    padding-top: 20px;
    display: flex;
    justify-content: center;
}
.set .items ul li dl dt span::after {
    /* content: "\e906";
    font-family: 'Hobonichi-Icons'!important; */
    background: url(../images/skincare_choice/icon_right1.svg) no-repeat;
    width: 11px;
    height: 8px;
    display: block;
    content: '';
    margin-top: 4px;
}
#set1 {
    background-color: #00281e;
    margin-top: 145px;
    color: #ffb700;
}
#set1 a {
    color: #ffb700;
}
#set2 {
    background-color: #ffb700;
    margin-top: 110px;
    color: #dc4600;
}
#set2 a {
    color: #dc4600;
}
#set2 .check {
    background-color: #dc4600;
    color: #d1d1cb;
}
#set2 .check::before {
    background: url(../images/skincare_choice/icon_triangle2.svg) no-repeat;
    background-size: contain;
}
#set2 .check ul li::before {
    background: url(../images/skincare_choice/icon_check2.svg) no-repeat;
    background-size: contain;
}
#set2 .items ul li dl dt span::after {
    background: url(../images/skincare_choice/icon_right2.svg) no-repeat;
}
#set3 {
    background-color: #dc4600;
    margin-top: 110px;
    margin-bottom: 110px;
    color: #d1d1cb;
}
#set3 a {
    color: #d1d1cb;
}
#set3 .check {
    background-color: #d1d1cb;
    color: #00281e;
}
#set3 .check::before {
    background: url(../images/skincare_choice/icon_triangle3.svg) no-repeat;
    background-size: contain;
}
#set3 .items ul li dl dt span::after {
    background: url(../images/skincare_choice/icon_right3.svg) no-repeat;
}
@media screen and (max-width: 1100px) {
    .set .check {
        position: relative;
    }
}
@media screen and (min-width: 835px) {
    [data-sal|=fade]:not(.check) {
        opacity: 1;
    }
    .set a:hover {
        transition: opacity .15s ease .1s;
        opacity: .7;
    }
}
@media screen and (max-width: 834px) {
    .bg-top .title {
        background: url(../images/skincare_choice/top_ttl_sp.svg) no-repeat;
        background-size: contain;
        width: 48.133vw;
        padding-top: 115%;
        top: 6.13vw;
        left: auto;
        right: 3.2vw;
    }
    .bg-top .text {
        position: relative;
        width: 88%;
        margin: 0 auto;
        font-size: 1.5rem;
        line-height: 1.53;
        letter-spacing: 0;
        right: auto;
        top: auto;
        padding-top: 35px;
        display: flex;
        justify-content: center;
    }
    .set {
        padding: 40px 0 90px;
    }
    .set .summary {
        width: 88%;
        margin: 0 auto;
    }
    .set .img {
        width: 155px;
        top: -110px;
        left: -13vw;
    }
    .set h2 {
        font-size: 2rem;
        padding-left: 27vw;
        white-space: nowrap;
    }
    .set .text {
        font-size: 1.5rem;
        line-height: 1.2;
        padding: 15px 0 20px;
    }
    .set .check {
        width: 83vw;
        right: initial;
        padding: 30px;
        border-radius: 22px 0 0 22px;
        margin: 20px 0 0 17vw;
        box-sizing: border-box;
    }
    .set .check::before {
        width: 40px;
        height: 68px;
        position: absolute;
        top: -40px;
        left: auto;
        right: 20px;
    }
    .set .check h3 {
        font-size: 1.8rem;
        padding-bottom: 10px;
    }
    .set .check ul li {
        font-size: 1.6rem;
        padding-left: 30px;
    }
    .set .check ul li::before {
        width: 20px;
        height: 15px;
    }
    .set .check ul li + li {
        margin-top: 0.4em;
    }
    .set > p {
        margin-top: 30px;
        margin-left: -0;
    }
    .set .items ul {
        width: 92%;
        margin: 0 auto;
        gap: 3vw;
        justify-content: center;
    }
    .set .items ul li dl dt {
        font-size: 1.4rem;
        letter-spacing: -.06em;
    }
    #set1 {
        margin-top: 90px;
    }
    #set2 {
        margin-top: 0;
    }
    #set3 {
        margin-top: 0;
        margin-bottom: 0;
    }
}
@media screen and (max-width: 640px) {
    br:not(.sp-br) {
        display: none;
    }
}
