@charset "UTF-8";
/* FV */
.s01 {
    background: #ff008c;
    overflow: hidden;
}

.s01__pc {
    height: 84.3rem;
    background: #ff008c;
}

.s01__sp {
    height: 79.8rem;
    background: #ff008c;
}

.s01 img {
    display: block;
}

.s01 :where(h1, p) {
    margin: 0;
    font-size: inherit;
    font-weight: 400;
}

.s01 em,
.s01 small {
    font-style: normal;
}

.s01-rot {
    display: flex;
    align-items: center;
    justify-content: center;
}

.s01-rot > * {
    flex: none;
    position: relative;
}

/* 背景・人物 */
.s01-bg1__in,
.s01-man__in,
.s01-woman__in,
.s01-bg2__in,
.s01-light__in {
    transform: rotate(-15deg);
    overflow: hidden;
}

.s01-bg1__in img,
.s01-bg2__in img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .7;
}

.s01-man__in img,
.s01-woman__in img,
.s01-light__in img {
    width: 100%;
    height: 100%;
}

.s01__pc .s01-bg1 {
    left: -11.4287rem;
    top: -21.3074rem;
    width: 181.9771rem;
    height: 144.3017rem;
}

.s01__pc .s01-bg1__in {
    width: 159.8433rem;
    height: 106.5622rem;
}

.s01__pc .s01-man {
    left: 8.1568rem;
    top: 2.1963rem;
    width: 46.9873rem;
    height: 45.701rem;
}

.s01__pc .s01-man__in {
    width: 38.7493rem;
    height: 36.9303rem;
}

.s01__pc .s01-bg2 {
    left: -20.9rem;
    top: 23.4rem;
    width: 197.1562rem;
    height: 133.5179rem;
}

.s01__pc .s01-bg2__in {
    width: 179.9962rem;
    height: 89.9981rem;
    background: #ac015e;
}

.s01__pc .s01-woman {
    left: 83.9744rem;
    top: -4.3613rem;
    width: 43.6275rem;
    height: 47.0803rem;
}

.s01__pc .s01-woman__in {
    width: 34.5898rem;
    height: 39.4728rem;
}

.s01-fade {
    overflow: hidden;
    -webkit-mask-image: linear-gradient(to bottom, #000 84.8173%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 84.8173%, transparent 100%);
}

.s01-fade img {
    position: absolute;
}

.s01-woman2 {
    left: 13.2131rem;
    top: 28.3019rem;
    width: 36.4095rem;
    height: 36.9584rem;
}

.s01-woman2 img {
    left: 0;
    top: 0;
    width: 36.4544rem;
    height: 37.004rem;
}

.s01-man2 {
    left: 91.9443rem;
    top: 28.7416rem;
    width: 36.4993rem;
    height: 36.9584rem;
}

.s01-man2 img {
    left: -1.301rem;
    top: 3.0607rem;
    width: 44.4572rem;
    height: 34.2038rem;
    transform: scaleX(-1);
}

/* 見出し */
.s01-head {
    inset: 0;
    pointer-events: none;
}

.s01-head > * {
    position: absolute;
}

.s01-band > span {
    display: block;
    background: #000;
    transform: rotate(-6deg) scaleY(.99) skewX(-6deg);
}

.s01-copy > span,
.s01-sub > span {
    display: block;
    color: #fff;
    white-space: nowrap;
    font-feature-settings: "halt" 1;
    transform: rotate(-6deg) scaleY(.99) skewX(-6deg);
}

.s01-copy > span {
    font-family: var(--jp-heavy);
    line-height: 1.4;
}

.s01-copy em {
    color: #ff008c;
}

.s01-copy--2 > span {
    text-align: center;
}

.s01-sub > span {
    font-family: var(--jp-demibold);
    line-height: 1.4;
    text-align: center;
}

.s01-sub small {
    font-family: var(--jp-regular);
}

.s01-note-mark {
    display: flex;
    align-items: center;
    justify-content: center;
}

.s01-note-mark > span {
    display: block;
    color: #ff008c;
    font-family: var(--jp-medium);
    line-height: 1.4;
    white-space: nowrap;
    transform: rotate(-.75deg) skewX(-.75deg);
}

.s01__pc .s01-band--1 {
    left: 39.0531rem;
    top: 6.9289rem;
    width: 56.8255rem;
    height: 16.6166rem;
}

.s01__pc .s01-band--1 > span {
    width: 57.1385rem;
    height: 10.644rem;
}

.s01__pc .s01-band--2 {
    left: 45.2334rem;
    top: 17.2755rem;
    width: 59.6548rem;
    height: 16.914rem;
}

.s01__pc .s01-band--2 > span {
    width: 59.9834rem;
    height: 10.644rem;
}

.s01__pc .s01-copy > span {
    font-size: 7.5538rem;
}

.s01__pc .s01-copy small {
    font-size: 5.8371rem;
}

.s01__pc .s01-copy--1 {
    left: 40.4268rem;
    top: 7.253rem;
    width: 53.6047rem;
    height: 16.2341rem;
}

.s01__pc .s01-copy--2 {
    left: 48.6457rem;
    top: 17.4204rem;
    width: 56.2424rem;
    height: 16.5113rem;
}

.s01__pc .s01-note-mark {
    align-items: flex-start;
    padding-top: .249rem;
}

.s01__pc .s01-note-mark > span {
    font-size: 2.2619rem;
    letter-spacing: -.065em;
}

.s01__pc .s01-note-mark--1 {
    left: 85.9602rem;
    top: 7.9597rem;
    height: 4.9406rem;
}

.s01__pc .s01-note-mark--2 {
    left: 99.4643rem;
    top: 17.9371rem;
    height: 4.9458rem;
}

.s01__pc .s01-sub > span {
    font-size: 2.6093rem;
    text-shadow: 0 0 1.6833rem rgba(0, 0, 0, .4);
}

.s01__pc .s01-sub small {
    font-size: 1.683rem;
}

.s01__pc .s01-sub--1 {
    left: 43.5835rem;
    top: 31.2978rem;
    width: 36.1011rem;
    height: 7.4944rem;
    z-index: 1;
}

.s01__pc .s01-sub--2 {
    left: 59.5853rem;
    top: 32.9866rem;
    width: 39.6814rem;
    height: 7.8707rem;
}

/* 料金 */
.s01-offer {
    left: 38.1127rem;
    top: 41.9393rem;
    width: 66.87rem;
    height: 19.5600rem;
    background: #000;
    border: .3038rem solid #fff;
    border-radius: 1.5188rem;
    box-shadow: 0 .1451rem .8704rem rgba(255, 0, 140, .1), inset 0 0 .5753rem -.0161rem #ff008c;
    overflow: hidden;
}

.s01-offer > * {
    position: absolute;
    white-space: nowrap;
    font-feature-settings: normal;
}

.s01-offer__plan {
    left: 4.2525rem;
    top: 5.715rem;
    width: 20.4274rem;
    color: #fff;
    font-family: var(--jp-heavy);
    font-size: 2.2781rem;
    line-height: 1.2;
    text-align: center;
}

.s01-offer__brand {
    font-family: var(--jp-bold);
    font-size: 1.8225rem;
}

.s01-offer__pill {
    left: 4.2525rem;
    top: 9.3262rem;
    width: 20.4274rem;
    height: 3.9113rem;
    padding: .5856rem 2.1263rem .3256rem;
    background: #ff008c;
    border-radius: .4556rem;
    color: #fff;
    font-family: var(--jp-heavy);
    font-size: 2.2781rem;
    line-height: 1.3;
}

.s01-offer__pill small {
    font-family: var(--jp-bold);
    font-size: 1.0631rem;
}

.s01-offer__price {
    left: 28.3249rem;
    top: 2.1262rem;
    width: 34.9rem;
    height: 9.4rem;
    font-family: var(--jp-bold);
    font-size: 8.5051rem;
    line-height: 1.1;
}

.s01-offer__price span {
    letter-spacing: -.02em;
    color: transparent;
    background-image: linear-gradient(174.5674deg, #ff008c 24.309%, #ff3fa2 40.812%, #ff008c 64.547%);
    -webkit-background-clip: text;
    background-clip: text;
}

.s01-offer__comma {
    font-size: 6.2269rem;
}

.s01-offer__price .s01-offer__unit {
    font-size: 3.9488rem;
}

.s01-offer__tax {
    left: 34.3249rem;
    top: 11.5262rem;
    width: 28.9rem;
    height: 5.3rem;
    color: #fff;
    font-family: var(--jp-regular);
    line-height: 1.2;
}

.s01-offer__s {
    font-size: 2.4231rem;
}

.s01-offer__l {
    font-size: 4.4056rem;
}

.s01-offer__xs {
    font-size: 1.542rem;
}

/* 申込ボタン（.s01-cta 基準で中身を配置） */
.s01-cta {
    display: block;
    transition: opacity .2s;
}

.s01-cta:hover {
    opacity: .85;
}

.s01-cta > * {
    position: absolute;
}

.s01-cta__btn {
    inset: 0;
    background: #ff008c;
    border-radius: 99.9rem;
}

.s01-cta__label {
    position: absolute;
    color: #fff;
    font-family: var(--jp-heavy);
    white-space: nowrap;
}

.s01-cta__balloon img {
    position: absolute;
    left: 0;
}

.s01-cta__balloon-text {
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    color: #1a1a1a;
    font-family: var(--jp-demibold);
    line-height: 1.4;
    white-space: nowrap;
    font-feature-settings: "halt" 1;
}

.s01-cta__balloon-text em {
    color: #ff008c;
    font-family: var(--jp-heavy);
}

.s01-cta__balloon-text small {
    font-family: var(--jp-regular);
}

.s01-cta--pc {
    width: 53.8125rem;
    height: 9rem;
}

.s01-cta--pc .s01-cta__btn {
    box-shadow: inset 0 0 0 .375rem #fff;
}

.s01-cta--pc .s01-cta__label {
    left: 11.0563rem;
    top: 2.5375rem;
    font-size: 3.1875rem;
    line-height: 1.2;
}

.s01-cta--pc .s01-cta__icon {
    left: 42.0063rem;
    top: 2.0625rem;
    width: 4.875rem;
    height: 4.875rem;
}

.s01-cta--pc .s01-cta__balloon {
    left: 13.0049rem;
    top: -3.5625rem;
    width: 27.8027rem;
    height: 5.6814rem;
}

.s01-cta--pc .s01-cta__balloon img {
    top: .0482rem;
    width: 27.8027rem;
    height: 5.6332rem;
}

.s01-cta--pc .s01-cta__balloon-text {
    left: 14.3194rem;
    top: .09rem;
    font-size: 2.1759rem;
}

.s01-cta--pc .s01-cta__num {
    font-size: 3.1429rem;
}

.s01-cta--pc .s01-cta__balloon-text small {
    font-size: 1.4034rem;
}

.s01__pc .s01-cta {
    left: 45.0938rem;
    top: 67rem;
}

.s01-cta--sp {
    width: 37.3rem;
    height: 7rem;
    filter: drop-shadow(0 .2rem .4rem #ff008c);
}

.s01-cta--sp .s01-cta__btn {
    border-radius: 6.304rem;
    box-shadow: inset 0 0 0 .2rem #fff;
}

.s01-cta--sp .s01-cta__label {
    left: 9.288rem;
    top: 2.226rem;
    font-size: 2.2rem;
    line-height: 1.4;
    font-feature-settings: "halt" 1;
}

.s01-cta--sp .s01-cta__icon {
    left: 31.8rem;
    top: 1.5rem;
    width: 4rem;
    height: 4rem;
}

.s01-cta--sp .s01-cta__balloon {
    left: 7.7rem;
    top: -2.7398rem;
    width: 23rem;
    height: 4.7rem;
}

.s01-cta--sp .s01-cta__balloon img {
    top: .0398rem;
    width: 23rem;
    height: 4.66016rem;
}

.s01-cta--sp .s01-cta__balloon-text {
    left: 11.85rem;
    font-size: 1.8rem;
}

.s01-cta--sp .s01-cta__num {
    font-size: 2.6rem;
}

.s01-cta--sp .s01-cta__balloon-text small {
    font-size: 1.161rem;
}

.s01__sp .s01-cta {
    left: 1rem;
    top: 66.9rem;
    z-index: 5;
}

/* 注釈 */
.s01-notes {
    color: #fff;
    white-space: nowrap;
}

.s01__pc .s01-notes {
    left: 12rem;
    top: 78.195rem;
    width: 120rem;
    font-family: var(--jp-regular);
    font-size: 1.3rem;
    line-height: 1.6;
    text-align: center;
    text-shadow: 0 0 2rem rgba(0, 0, 0, .5);
    text-spacing-trim: space-all;
}

.s01__sp .s01-notes {
    left: 1rem;
    top: 75.2rem;
    width: 37.3rem;
    font-family: var(--jp-medium);
    font-size: .9rem;
    line-height: 1.3;
    z-index: 5;
}

/* ロゴ */
.s01-logo img {
    width: 100%;
    height: 100%;
}

.s01__pc .s01-logo {
    left: 4.578rem;
    top: 3.063rem;
    width: 23.394rem;
    height: 3.877rem;
}

.s01__sp .s01-logo {
    left: 1.7rem;
    top: 1.838rem;
    width: 13.8rem;
    height: 2.3rem;
}

/* SP */
.s01-shade {
    left: -28.704rem;
    top: -1.897rem;
    width: 96.7rem;
    height: 96.9rem;
}

.s01__sp .s01-bg1 {
    left: -7.472rem;
    top: -1.715rem;
    width: 52.7347rem;
    height: 31.7049rem;
}

.s01__sp .s01-bg1__in {
    width: 49.3427rem;
    height: 19.602rem;
    opacity: .6;
}

.s01__sp .s01-bg1__in img {
    position: absolute;
    left: 0;
    top: -25.72%;
    width: 100%;
    height: 167.9%;
    opacity: 1;
    object-fit: fill;
}

.s01__sp .s01-woman {
    left: 13.041rem;
    top: -1.707rem;
    width: 27.1793rem;
    height: 29.3304rem;
}

.s01__sp .s01-woman__in {
    width: 21.549rem;
    height: 24.591rem;
}

.s01__sp .s01-man {
    left: -5.736rem;
    top: 1.987rem;
    width: 29.2724rem;
    height: 28.4711rem;
}

.s01__sp .s01-man__in {
    width: 24.1403rem;
    height: 23.0071rem;
}

.s01__sp .s01-head > * {
    z-index: 4;
}

.s01__sp .s01-band--1,
.s01__sp .s01-copy--1,
.s01__sp .s01-note-mark--1 {
    z-index: 1;
}

.s01__sp .s01-band--1 {
    left: 2.0322rem;
    top: 14.647rem;
    width: 30.4896rem;
    height: 8.9156rem;
}

.s01__sp .s01-band--1 > span {
    width: 30.6575rem;
    height: 5.711rem;
}

.s01__sp .s01-band--2 {
    left: 5.3482rem;
    top: 20.2506rem;
    width: 31.5135rem;
    height: 9.0232rem;
}

.s01__sp .s01-band--2 > span {
    width: 31.687rem;
    height: 5.711rem;
}

.s01__sp .s01-copy > span {
    font-size: 4.053rem;
}

.s01__sp .s01-copy small {
    font-size: 3.1319rem;
}

.s01__sp .s01-copy--1 {
    left: 2.769rem;
    top: 14.9366rem;
    width: 28.7417rem;
    height: 8.7209rem;
}

.s01__sp .s01-copy--2 {
    left: 7.179rem;
    top: 20.2804rem;
    width: 30.134rem;
    height: 8.8672rem;
}

.s01__sp .s01-note-mark > span {
    font-size: 1.2136rem;
}

.s01__sp .s01-note-mark--1 {
    left: 27.2rem;
    top: 14.9rem;
    height: 2.6223rem;
}

.s01__sp .s01-note-mark--2 {
    left: 34.5rem;
    top: 20.4996rem;
    height: 2.6249rem;
    align-items: flex-start;
    padding-top: .1336rem;
}

.s01__sp .s01-note-mark--2 > span {
    letter-spacing: -.065em;
}

.s01__sp .s01-sub > span {
    font-size: 1.4rem;
}

.s01__sp .s01-sub small {
    font-size: .903rem;
}

.s01__sp .s01-sub--1 {
    left: 4.5004rem;
    top: 27.8179rem;
    width: 19.3932rem;
    height: 4.0383rem;
}

.s01__sp .s01-sub--2 {
    left: 13.0436rem;
    top: 28.6346rem;
    width: 21.2828rem;
    height: 4.2369rem;
}

.s01-light {
    left: -14.608rem;
    top: 17.904rem;
    width: 63.5167rem;
    height: 39.6417rem;
    z-index: 2;
}

.s01-light__in {
    width: 58.9964rem;
    height: 25.232rem;
    overflow: visible;
}

.s01-people {
    left: -14.5441rem;
    top: 18.1407rem;
    width: 63.4532rem;
    height: 39.4047rem;
    z-index: 3;
}

.s01-people__mask {
    width: 59rem;
    height: 25rem;
    transform: rotate(-15deg);
    -webkit-mask: url(../images/s01_sp_bg_mask.png) 0 0 / 100% 100% no-repeat;
    mask: url(../images/s01_sp_bg_mask.png) 0 0 / 100% 100% no-repeat;
}

.s01-people__frame {
    position: absolute;
    left: 12.3175rem;
    top: -25.343rem;
    width: 39.3rem;
    height: 79.8rem;
    transform-origin: 17.1825rem 37.843rem;
    transform: rotate(15deg);
}

.s01-people__frame > div {
    position: absolute;
}

.s01-people__frame img {
    width: 100%;
    height: 100%;
}

.s01-people__man {
    left: 17.4rem;
    top: 27.9rem;
    width: 26.2rem;
    height: 20.3rem;
    transform: scaleX(-1);
}

.s01-people__woman {
    left: 0;
    top: 28.8rem;
    width: 19.9rem;
    height: 20.2rem;
}

/* SP 料金ボード */
.s01-board {
    left: 2.9346rem;
    top: 43.9rem;
    width: 33.4309rem;
    height: 19.2391rem;
    background: #000;
    border-radius: .7576rem;
    box-shadow: 0 0 0 .1894rem #fff, 0 .191rem 1.1462rem rgba(255, 0, 140, .1), inset 0 0 .7rem .2rem #ff008c;
    z-index: 5;
}

.s01-board > * {
    position: absolute;
    white-space: nowrap;
    font-feature-settings: "halt" 1;
}

.s01-board__band {
    left: 3.8463rem;
    top: 3.939rem;
    width: 25.328rem;
    height: 2.8272rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.s01-board__band > span {
    flex: none;
    display: block;
    width: 25.0469rem;
    height: 2.8411rem;
    background: linear-gradient(175.3deg, #ff008c 15.433%, #ff3fa2 44.717%, #ff008c 86.833%);
    transform: skewX(-5.68deg);
}

.s01-board__plan {
    left: 8.7938rem;
    top: 0.8336rem;
    width: 15.3714rem;
    height: 2.9527rem;
}

.s01-board__plan img {
    width: 100%;
    height: 100%;
}

.s01-board__giga {
    left: 9.8756rem;
    top: 3.571rem;
    width: 13.3365rem;
    height: 3.3833rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.s01-board__giga > span {
    flex: none;
    display: block;
    color: #fff;
    font-family: var(--jp-bold);
    font-size: 1.8941rem;
    line-height: 1.8;
    transform: skewX(-5.68deg);
    position: relative;
    top: .15rem;
}

.s01-board__giga small {
    position: relative;
    top: -.6rem;
    font-family: var(--jp-regular);
    font-size: 1.2217rem;
}

.s01-board__price {
    left: 3.479rem;
    top: 6.6967rem;
    width: 26.5rem;
    height: 7.8rem;
    text-align: center;
    font-family: var(--jp-bold);
    font-size: 6.2rem;
    line-height: 1.26;
    letter-spacing: .01262rem;
}

.s01-board__price span {
    color: transparent;
    background-image: linear-gradient(174.07deg, #ff008c 24.309%, #ff3fa2 40.812%, #ff008c 64.547%);
    -webkit-background-clip: text;
    background-clip: text;
}

.s01-board__num,
.s01-board__comma {
    letter-spacing: -.11745rem;
}

.s01-board__price .s01-board__comma,
.s01-board__price .s01-board__yen {
    font-size: 3.7264rem;
}

.s01-board__price .s01-board__mo {
    font-size: 3.1054rem;
}

.s01-board__tax {
    left: 6.3571rem;
    top: 13.6977rem;
    width: 14.8rem;
    height: 4.7rem;
    color: #fff;
    font-family: var(--jp-light);
    line-height: 1.26;
    letter-spacing: .01262rem;
    text-align: center;
}

.s01-board__t1 {
    font-size: 1.739rem;
}

.s01-board__t2 {
    font-size: 3.7264rem;
}

.s01-board__t3 {
    font-size: 2.4843rem;
}

.s01-board__t4 {
    font-size: 1.8941rem;
}

.s01-board__note {
    left: 20.8992rem;
    top: 16.4784rem;
    width: 6.0865rem;
    height: 1.3955rem;
    color: #fff;
    font-family: var(--jp-light);
    font-size: .9937rem;
    line-height: 1.26;
    letter-spacing: .01262rem;
}

/* お悩み */
.s02 :where(h2, p, ul, li) {
    margin: 0;
    padding: 0;
    font-size: inherit;
    font-weight: 400;
    list-style: none;
}

.s02 strong {
    font-weight: 400;
}

.s02 img {
    display: block;
}

@media (min-width: 768px) {
    .s02 {
        background: linear-gradient(to bottom, #a8005c, #ff008c);
    }
}

@media (max-width: 767px) {
    .s02 {
        background: #ff008c;
    }
}

.s02__pc {
    height: 93rem;
    background: linear-gradient(to bottom, #a8005c, #ff008c);
}

.s02__sp {
    height: 116.7rem;
    background: #ff008c;
}

.s02-title {
    color: #fff;
    white-space: nowrap;
    text-align: center;
}

.s02-bridge {
    color: #1a1a1a;
    white-space: nowrap;
}

.s02-bridge strong {
    color: #ff008c;
    font-family: var(--jp-heavy);
}

.s02-arrow {
    width: 1.47279rem;
    height: 2.6rem;
}

/* PC */
.s02__pc .s02-title {
    left: 41.4rem;
    top: 9.6rem;
    width: 61.2rem;
    font-family: var(--jp-heavy);
    font-size: 4.4rem;
    line-height: 1.5;
}

.s02-pains {
    left: 18.05rem;
    top: 28.4rem;
    width: 107.9rem;
    height: 39.8rem;
    overflow: hidden;
}

.s02-pain {
    position: absolute;
    top: 0;
    width: 33.3rem;
    height: 39.8rem;
}

.s02-pain--1 {
    left: 0;
}

.s02-pain--2 {
    left: 37.3rem;
}

.s02-pain--3 {
    left: 74.6rem;
}

.s02-pain > * {
    position: absolute;
}

.s02-pain__photo {
    left: 0;
    top: 9.6rem;
    width: 33.3rem;
    height: 25rem;
}

.s02-pain--2 .s02-pain__photo {
    left: .05rem;
}

.s02-pain__bubble {
    left: 2.75rem;
    top: -.6rem;
    width: 27.8rem;
    height: 12.6588rem;
}

.s02-pain--2 .s02-pain__bubble {
    transform: scaleX(-1);
}

.s02-pain--3 .s02-pain__bubble {
    height: 14.6588rem;
}

.s02-pain__voice {
    left: 17rem;
    top: 1.8rem;
    transform: translateX(-50%);
    color: #1a1a1a;
    font-family: var(--jp-bold);
    font-size: 2.2rem;
    line-height: 1.41;
    text-align: center;
    white-space: nowrap;
    font-feature-settings: "halt" 1;
}

.s02-pain__voice > strong,
.s02-pain__lead {
    display: block;
}

.s02-pain__voice strong {
    color: #ff008c;
    font-family: var(--jp-heavy);
    font-size: 3rem;
    line-height: 1.3;
}

.s02-pain--3 .s02-pain__voice {
    top: 2.8rem;
}

.s02-pain__lead {
    font-size: 2rem;
    line-height: 1.45;
}

.s02-pain__voice .s02-pain__lead strong {
    font-size: 2rem;
    line-height: 1.45;
}

.s02-pain__caption {
    left: 0;
    top: 36.8rem;
    width: 33.3rem;
    color: #fff;
    font-family: var(--jp-medium);
    font-size: 1.6rem;
    line-height: 1.5;
    text-align: center;
    white-space: nowrap;
}

.s02-pain__caption strong {
    font-family: var(--jp-heavy);
    font-size: 2rem;
}

.s02__pc .s02-bridge {
    padding: .6rem 2.8rem;
    background: #fff;
    font-family: var(--jp-medium);
    font-size: 3rem;
    line-height: 1.4;
}

.s02__pc .s02-bridge--1 {
    left: 52.95rem;
    top: 73.8rem;
    width: 38.1rem;
    height: 5.4rem;
}

.s02__pc .s02-bridge--2 {
    left: 49.7rem;
    top: 80.2rem;
    width: 44.6rem;
    height: 6.8rem;
}

.s02__pc .s02-bridge strong {
    font-size: 4rem;
}

.s02__pc .s02-arrow {
    left: 71.264rem;
    top: 87.9rem;
}

/* SP */
.s02-shade {
    left: -61.9rem;
    top: -34.005rem;
    width: 163.1rem;
    height: 163.5rem;
}

.s02-band {
    left: -12.9rem;
    width: 65.4568rem;
    height: 39.3536rem;
    display: flex;
    align-items: center;
    justify-content: center;
    mix-blend-mode: plus-lighter;
}

.s02-band > span {
    flex: none;
    width: 61.2464rem;
    height: 24.331rem;
    background: rgba(255, 255, 255, .05);
    transform: rotate(-15deg);
}

.s02-band--1 {
    top: 8.745rem;
}

.s02-band--2 {
    top: 65.4rem;
}

.s02-band--3 {
    top: 35.2rem;
}

.s02-band--3 > span {
    transform: rotate(15deg);
}

.s02__sp .s02-title {
    left: 0;
    top: 0;
    width: 39.3rem;
    height: 0;
    font-family: var(--jp-bold);
    font-size: 2.5rem;
    line-height: 1.5;
    font-feature-settings: "halt" 1;
}

.s02-title__line {
    position: absolute;
    left: 19.7rem;
    transform: translate(-50%, -50%);
}

.s02-title__line--1 {
    top: 5.4rem;
}

.s02-title__line--2 {
    top: 9.3rem;
}

.s02-photo {
    width: 27rem;
    height: 24.2rem;
    overflow: hidden;
    clip-path: polygon(0 0, 88.8889% 0, 100% 100%, 0 100%);
}

.s02-photo img {
    position: absolute;
    width: 31.4721rem;
    height: 20.9919rem;
}

.s02-photo--1 {
    left: -1rem;
    top: 12.8rem;
}

.s02-photo--1 img {
    left: -1.4rem;
    top: 1.6rem;
}

.s02-photo--2 {
    left: 13.3rem;
    top: 41.3rem;
    clip-path: polygon(11.1111% 0, 100% 0, 100% 100%, 0 100%);
}

.s02-photo--2 img {
    left: -3rem;
    top: 1.6rem;
}

.s02-photo--3 {
    left: -1rem;
    top: 69.8rem;
}

.s02-photo--3 img {
    left: -1.9932rem;
    top: 1.61rem;
    width: 31.5298rem;
    height: 21.0304rem;
}

.s02-bubble {
    width: 27.8rem;
    height: 12.6588rem;
}

.s02-bubble--1 {
    left: 18rem;
    top: 15.2rem;
}

.s02-bubble--2 {
    left: -3.3rem;
    top: 43.9rem;
    transform: scaleX(-1);
}

.s02-bubble--3 {
    left: 14.8rem;
    top: 72.5rem;
    height: 14.6588rem;
}

.s02-voice {
    color: #1a1a1a;
    font-family: var(--jp-bold);
    font-size: 2.2rem;
    line-height: 1.45;
    white-space: nowrap;
    font-feature-settings: "halt" 1;
}

.s02-voice > strong,
.s02-voice__lead {
    display: block;
}

.s02-voice strong {
    color: #ff008c;
    font-family: var(--jp-heavy);
    font-size: 3rem;
    line-height: 1.3;
}

.s02-voice--1 {
    left: 20.7rem;
    top: 17.5rem;
}

.s02-voice--2 {
    left: 2.6rem;
    top: 46.2rem;
}

.s02-voice--3 {
    left: 17.4rem;
    top: 73.7rem;
}

.s02-voice__lead,
.s02-voice .s02-voice__lead strong {
    font-size: 2rem;
    line-height: 1.6;
}

.s02-caption {
    transform: translate(-50%, -50%);
    color: #fff;
    font-family: var(--jp-medium);
    font-size: 1.6rem;
    line-height: 1.5;
    text-align: center;
    white-space: nowrap;
    font-feature-settings: "halt" 1;
}

.s02-caption strong {
    font-family: var(--jp-bold);
    font-size: 2rem;
}

.s02-caption__dots {
    font-size: 1.7rem;
}

.s02-caption--1 {
    left: 19.7rem;
    top: 37.7rem;
}

.s02-caption--2 {
    left: 19.85rem;
    top: 66.3rem;
}

.s02-caption--2 .s02-caption__dots {
    font-family: var(--jp-regular);
}

.s02-caption--3 {
    left: 19.85rem;
    top: 94.7rem;
}

.s02-plate {
    height: 4rem;
    background: #fff;
}

.s02-plate--1 {
    left: 6.6rem;
    top: 103.4rem;
    width: 26.1rem;
}

.s02-plate--2 {
    left: 5rem;
    top: 107.8rem;
    width: 29.4rem;
}

.s02__sp .s02-bridge {
    left: 19.65rem;
    transform: translate(-50%, -50%);
    font-family: var(--jp-regular);
    font-size: 2.2rem;
    line-height: 1.5;
    text-align: center;
    font-feature-settings: "halt" 1;
}

.s02__sp .s02-bridge--1 {
    top: 105.55rem;
}

.s02__sp .s02-bridge--2 {
    top: 109.85rem;
}

.s02__sp .s02-bridge strong {
    font-size: 2.6rem;
}

.s02__sp .s02-arrow {
    left: 18.864rem;
    top: 113rem;
}

/* いちばん安い */
.s03 {
    background: #ff008c;
}

.s03__panel {
    background: #fff;
    overflow: hidden;
}

.s03__panel > * {
    position: absolute;
}

.s03-lead,
.s03-title,
.s03-notes {
    white-space: nowrap;
}

.s03__sp .s03-lead,
.s03__sp .s03-title,
.s03__sp .s03-notes {
    font-feature-settings: "halt" 1;
}

.s03-lead,
.s03-title {
    color: #1a1a1a;
    text-align: center;
    font-family: var(--jp-heavy);
}

.s03-title__em {
    color: #ff008c;
}

.s03-chart {
    overflow: hidden;
}

.s03-chart img {
    position: absolute;
    left: -7.31%;
    top: -52.34%;
    width: 114.63%;
    height: 216.08%;
}

.s03-chart__mask {
    background: #fff;
}

.s03-notes {
    color: #fff;
}

/* PC */
.s03__pc {
    height: 84.8rem;
}

.s03__pc .s03__panel {
    left: 13.65rem;
    top: 2.4rem;
    width: 116.7rem;
    height: 60rem;
    border-radius: 2.4rem;
}

.s03__pc .s03-lead {
    left: 13.25rem;
    top: 18.5rem;
    width: 37.4rem;
    font-size: 3rem;
    line-height: 1.4;
}

.s03__pc .s03-title {
    left: 8rem;
    top: 24.7rem;
    width: 47.9rem;
    font-size: 6rem;
    line-height: 1.25;
}

.s03__pc .s03-title__em {
    position: relative;
    top: 0.3rem;
    font-size: 7.2rem;
}

.s03__pc .s03-chart {
    left: 59.8185rem;
    top: 4.9726rem;
    width: 52.0989rem;
    height: 51.9471rem;
}

.s03__pc .s03-chart__mask {
    left: 86.4763rem;
    top: 51.3113rem;
    width: 26.88rem;
    height: 5.28rem;
}

.s03__pc .s03-notes {
    left: 18rem;
    top: 67.2rem;
    width: 108rem;
    font-family: var(--jp-regular);
    font-size: 1.4rem;
    line-height: 2.4rem;
}

/* SP */
.s03__sp {
    height: 79rem;
}

.s03__sp .s03__panel {
    left: 2.3898rem;
    top: 3rem;
    width: 34.5rem;
    height: 53.7304rem;
    border-radius: 0.8rem;
}

.s03__sp .s03-slash {
    top: 2.4643rem;
    width: 0.1rem;
    height: 4.5019rem;
}

.s03__sp .s03-slash--l {
    left: 3.4751rem;
    transform: rotate(-20deg);
}

.s03__sp .s03-slash--r {
    left: 31.0151rem;
    transform: rotate(20deg);
}

.s03__sp .s03-lead {
    left: 6.25rem;
    top: 2.7152rem;
    width: 22rem;
    font-size: 2.2rem;
    line-height: 1.8;
}

.s03__sp .s03-title {
    left: 2rem;
    top: 8.1304rem;
    width: 30.5rem;
    font-size: 4rem;
    line-height: 1.3;
}

.s03__sp .s03-title__kr {
    letter-spacing: -0.5rem;
}

.s03__sp .s03-title__a {
    letter-spacing: -0.2rem;
}

.s03__sp .s03-title__de {
    font-size: 3.2rem;
}

.s03__sp .s03-title__em {
    position: relative;
    top: 0.2rem;
    font-size: 4.8rem;
}

.s03__sp .s03-chart {
    left: 0.949rem;
    top: 20.1383rem;
    width: 32.5618rem;
    height: 32.4669rem;
}

.s03__sp .s03-chart__mask {
    left: 17.6102rem;
    top: 49.1rem;
    width: 16.8rem;
    height: 3.3rem;
}

.s03__sp .s03-notes {
    left: 2.5rem;
    top: 58.9rem;
    width: 34.3rem;
    font-family: var(--jp-medium);
    font-size: 1.2rem;
    line-height: 1.9rem;
}

/* 使わない月は安くなる */
.s04 {
    background: #f4f4f4;
}

.s04-title,
.s04-text,
.s04-label,
.s04-price,
.s04-tax,
.s04-note {
    white-space: nowrap;
}

.s04-title {
    color: #1a1a1a;
}

.s04-title__em {
    color: #ff008c;
}

.s04-text {
    color: #1a1a1a;
    font-family: var(--jp-demibold);
}

.s04__box {
    background: #fff;
}

.s04-bar--1 {
    background: #ff008c;
}

.s04-bar--3 {
    background: #fee7f3;
}

.s04-base {
    background: #1a1a1a;
}

.s04-label {
    text-align: center;
}

.s04-price {
    color: #ff008c;
}

.s04-note {
    color: #676767;
}

/* PC */
.s04__pc {
    height: 65.1rem;
}

.s04__pc .s04-title {
    left: 11.45rem;
    top: 19.5rem;
    width: 53.1rem;
    font-family: var(--jp-heavy);
    font-size: 4.8rem;
    line-height: 1.3;
}

.s04__pc .s04-title__em {
    position: relative;
    top: 0.75rem;
    font-size: 7.2rem;
}

.s04__pc .s04-text {
    left: 11.45rem;
    top: 38.3rem;
    width: 43.7rem;
    font-size: 2.2rem;
    line-height: 1.7;
}

.s04__pc .s04__box {
    left: 70.95rem;
    top: 10.4rem;
    width: 61.6rem;
    height: 44.3rem;
    border-radius: 2rem;
    overflow: hidden;
}

.s04__pc .s04__box > * {
    position: absolute;
}

.s04__pc .s04-bar--1 {
    left: 4.8rem;
    top: 16rem;
    width: 18rem;
    height: 20rem;
}

.s04__pc .s04-bar--2 {
    left: 22.8rem;
    top: 24rem;
    width: 17rem;
    height: 12rem;
    background: #ff99d1;
}

.s04__pc .s04-bar--3 {
    left: 39.8rem;
    top: 30.4rem;
    width: 17rem;
    height: 5.6rem;
}

.s04__pc .s04-base {
    left: 4.8rem;
    top: 36rem;
    width: 52rem;
    height: 0.2rem;
}

.s04__pc .s04-label--1 {
    left: 4.8rem;
    top: 18.8rem;
    width: 18rem;
    color: #fff;
    font-family: var(--jp-heavy);
    font-size: 3.6rem;
    line-height: 1.2;
}

.s04__pc .s04-label__s {
    display: block;
    margin-bottom: 0.35rem;
    line-height: 1.2;
    font-family: var(--jp-bold);
    font-size: 1.7rem;
}

.s04__pc .s04-label--2 {
    left: 22.8rem;
    top: 27.1rem;
    width: 17rem;
    color: #fff;
    font-family: var(--jp-bold);
    font-size: 1.9rem;
    line-height: 1.4;
}

.s04__pc .s04-label--3 {
    left: 39.8rem;
    top: 31.8rem;
    width: 17rem;
    color: #1a1a1a;
    font-family: var(--jp-heavy);
    font-size: 2rem;
    line-height: 1.4;
}

.s04__pc .s04-price {
    width: 17rem;
    text-align: center;
    font-family: var(--jp-heavy);
    font-size: 3.8rem;
    line-height: 1.15;
}

.s04__pc .s04-price--1 {
    left: 4.8rem;
    top: 7.8rem;
    width: 18rem;
}

.s04__pc .s04-price--2 {
    left: 22.8rem;
    top: 15.8rem;
}

.s04__pc .s04-price--3 {
    left: 39.8rem;
    top: 22.2rem;
}

.s04__pc .s04-price__unit {
    font-size: 1.8rem;
}

.s04__pc .s04-price__tax {
    display: block;
    margin-top: -0.4rem;
    line-height: 1.15;
    color: #676767;
    font-family: var(--jp-regular);
    font-size: 1.5rem;
}

.s04__pc .s04-arrow {
    left: 26.1rem;
    top: 7.8rem;
    width: 20.4rem;
    height: 10.88rem;
}

.s04__pc .s04-note {
    left: 4.8rem;
    top: 39.1rem;
    font-family: var(--jp-regular);
    font-size: 1.3rem;
    line-height: 1.6;
}

/* SP */
.s04__sp {
    height: 51.2rem;
}

.s04__sp .s04-title,
.s04__sp .s04-label,
.s04__sp .s04-price {
    font-feature-settings: "halt" 1;
}

.s04__sp .s04-title {
    left: 1.9rem;
    top: 4rem;
    width: 35.4166rem;
    text-align: center;
    font-family: var(--jp-bold);
    font-size: 2.8rem;
    line-height: 1.4;
}

.s04__sp .s04-title__em {
    position: relative;
    top: 0.5rem;
    font-size: 4.2rem;
}

.s04__sp .s04-text {
    left: 4.7083rem;
    top: 15.8rem;
    width: 29.8rem;
    text-align: center;
    font-size: 1.5rem;
    line-height: 1.5;
}

.s04__sp .s04__box {
    left: 3.0583rem;
    top: 21.7rem;
    width: 33.3rem;
    height: 25.5rem;
    border-radius: 1rem;
}

.s04__sp .s04-bar--1 {
    left: 5.3226rem;
    top: 29.3224rem;
    width: 11.0024rem;
    height: 11.8423rem;
}

.s04__sp .s04-bar--2 {
    left: 16.3251rem;
    top: 34.6976rem;
    width: 8.7347rem;
    height: 6.4671rem;
    background: #ff90e1;
}

.s04__sp .s04-bar--3 {
    left: 25.0597rem;
    top: 37.8891rem;
    width: 8.7347rem;
    height: 3.2755rem;
}

.s04__sp .s04-base {
    left: 5.2812rem;
    top: 41.0806rem;
    width: 28.5958rem;
    height: 0.168rem;
}

.s04__sp .s04-label {
    transform: translate(-50%, -50%);
    font-family: var(--jp-bold);
    line-height: 1.3;
}

.s04__sp .s04-label--1a {
    left: 10.8843rem;
    top: 32.288rem;
    color: #f4f4f4;
    font-size: 1.2598rem;
    letter-spacing: 0.04467rem;
}

.s04__sp .s04-label--1b {
    left: 10.7463rem;
    top: 36.374rem;
    color: #f4f4f4;
    font-size: 2.1837rem;
    line-height: 1.2;
    letter-spacing: 0.06551rem;
}

.s04__sp .s04-label--2 {
    left: 20.7483rem;
    top: 38.075rem;
    color: #f4f4f4;
    font-size: 1.2598rem;
    letter-spacing: 0.04467rem;
}

.s04__sp .s04-label--3 {
    left: 29.5713rem;
    top: 39.729rem;
    color: #1a1a1a;
    font-size: 1.3438rem;
    letter-spacing: 0.04535rem;
}

.s04__sp .s04-label__l {
    font-size: 1.5118rem;
}

.s04__sp .s04-label__l2,
.s04__sp .s04-label--1a .s04-label__l {
    font-size: 1.49rem;
}

.s04__sp .s04-price {
    transform: translateY(-50%);
    font-family: var(--jp-bold);
    line-height: normal;
}

.s04__sp .s04-price--1 {
    left: 6.4143rem;
    top: 25.395rem;
}

.s04__sp .s04-price--2 {
    left: 16.7453rem;
    top: 30.031rem;
}

.s04__sp .s04-price--3 {
    left: 25.9833rem;
    top: 33.558rem;
}

.s04__sp .s04-price__n1 {
    font-size: 2.6876rem;
    letter-spacing: -0.08063rem;
}

.s04__sp .s04-price__c1 {
    font-size: 1.4124rem;
    letter-spacing: -0.09887rem;
}

.s04__sp .s04-price__n2 {
    font-size: 2.6876rem;
    letter-spacing: -0.13438rem;
}

.s04__sp .s04-price__yen1 {
    font-size: 1.3438rem;
    letter-spacing: -0.04031rem;
}

.s04__sp .s04-price__n3 {
    font-size: 2.8248rem;
    letter-spacing: -0.14124rem;
}

.s04__sp .s04-price__c2 {
    font-size: 1.4124rem;
    letter-spacing: -0.07062rem;
}

.s04__sp .s04-price__n4 {
    font-size: 2.8248rem;
    letter-spacing: -0.08474rem;
}

.s04__sp .s04-price__yen2 {
    font-size: 1.4632rem;
    letter-spacing: -0.0439rem;
}

.s04__sp .s04-price__mo {
    font-size: 1.0079rem;
    letter-spacing: -0.03024rem;
}

.s04__sp .s04-tax {
    transform: translate(-100%, -50%);
    color: #676767;
    font-family: var(--jp-regular);
    font-size: 1.0079rem;
    line-height: 1.21;
    letter-spacing: 0.0252rem;
    text-align: right;
}

.s04__sp .s04-tax__num {
    font-size: 1.5118rem;
}

.s04__sp .s04-tax--1 {
    left: 14.6863rem;
    top: 27.457rem;
}

.s04__sp .s04-tax--2 {
    left: 24.8843rem;
    top: 32.133rem;
}

.s04__sp .s04-tax--3 {
    left: 33.1313rem;
    top: 35.646rem;
}

.s04__sp .s04-arrow {
    left: 18.0165rem;
    top: 24.6rem;
    width: 12rem;
    height: 6.4rem;
}

.s04__sp .s04-note {
    left: 5.586rem;
    top: 42.9rem;
    font-family: var(--jp-medium);
    font-size: 1rem;
    line-height: 1.6;
}

/* 家族でおトク */
.s05 {
    background: #000;
}

.s05__pc {
    height: 96.334rem;
    background: #000;
}

.s05__sp {
    height: 43.9rem;
    background: #000;
}

.s05__bg {
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.s05__pc .s05__bg {
    background: url(../images/s05_bg.jpg) center / cover no-repeat;
    opacity: .35;
}

.s05__sp .s05__bg {
    opacity: .3;
}

.s05__sp .s05__bg img {
    position: absolute;
    left: -9.75rem;
    top: 3.9rem;
    width: 58.8rem;
    height: 29.4rem;
}

/* 見出し */
.s05__slash {
    display: block;
    width: 1.0094rem;
    height: 3.7671rem;
}

.s05__slash::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: .2rem;
    height: 4.1rem;
    margin: -2.05rem 0 0 -.1rem;
    border-radius: .1rem;
    background: #fff;
    transform: rotate(-15deg);
}

.s05__slash--r::before {
    transform: rotate(15deg);
}

.s05__lead,
.s05__sub,
.s05__ttl,
.s05__box-lead,
.s05__line1,
.s05__line2,
.s05__band {
    text-align: center;
    white-space: nowrap;
}

.s05__lead span,
.s05__line1 span,
.s05__line2 > span,
.s05__ttl span,
.s05__band span {
    display: inline-block;
    transform: skewX(-4.74deg);
}

.s05__lead {
    font-family: var(--jp-bold);
    color: #fff;
    line-height: 1.5;
    font-feature-settings: "halt" 1;
}

.s05__sub {
    color: #fff;
}

.s05__ttl,
.s05__ttl span,
.s05__line1 span,
.s05__line2 > span {
    background: linear-gradient(176deg, #ff008c 24.309%, #ff3fa2 40.812%, #ff008c 64.547%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.s05__ttl span {
    background-clip: text;
}

.s05__sp .s05__ttl {
    background: none;
}

.s05__line1 span {
    font-family: var(--jp-bold);
}

.s05__s {
    font-family: var(--jp-bold);
}

.s05__s--heavy,
.s05__num {
    font-family: var(--jp-heavy);
}

.s05__band span {
    font-family: var(--jp-bold);
    color: #fff;
    line-height: normal;
    transform: skewX(-4.26deg);
}

.s05__band::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    background: #ff008c;
    transform: translate(-50%, -50%) skewX(-4.26deg);
}

/* PC */
@media (min-width: 768px) {
    .s05__pc .s05__slash--l {
        left: 65.6547rem;
        top: 11.2175rem;
    }

    .s05__pc .s05__slash--r {
        left: 77.0859rem;
        top: 11.2175rem;
    }

    .s05__pc .s05__lead {
        left: 67.2860rem;
        top: 10.5rem;
        width: 9.3719rem;
        height: 4.4846rem;
        font-size: 3rem;
    }

    .s05__pc .s05__sub {
        left: 0;
        top: 16.4846rem;
        width: 144rem;
        font-family: var(--jp-heavy);
        font-size: 4rem;
        line-height: 1.4;
    }

    .s05__pc .s05__ttl {
        left: 46.6rem;
        top: 23.6846rem;
        width: 50.8rem;
        font-family: var(--jp-heavy);
        font-size: 8rem;
        line-height: 1.2;
    }

    .s05__pc .s05__box {
        left: 29.6877rem;
        top: 38.8846rem;
        width: 84.6247rem;
        height: 47.0491rem;
        background: #fff;
        border-radius: .8rem;
        box-shadow: 0 0 4.8rem .4rem rgba(255, 0, 140, .9);
    }

    .s05__pc .s05__box > * {
        position: absolute;
        left: 0;
        width: 100%;
    }

    .s05__pc .s05__box-lead {
        top: 4.8rem;
        font-family: var(--jp-heavy);
        font-size: 3rem;
        line-height: 1.4;
        color: var(--black);
    }

    .s05__pc .s05__line1 {
        top: 11.2rem;
        font-size: 6.3498rem;
        line-height: 1.2;
    }

    .s05__pc .s05__line2 {
        top: 19.874rem;
        font-size: 6.3498rem;
        line-height: 1.2;
    }

    .s05__pc .s05__num {
        font-size: 10.3184rem;
    }

    .s05__pc .s05__band {
        left: 20.3723rem;
        top: 34.6316rem;
        width: 44.2297rem;
        height: 7.7175rem;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 3.1749rem;
    }

    .s05__pc .s05__band::before {
        width: 43.6549rem;
        height: 7.7389rem;
    }

    .s05__pc .s05__band span {
        position: relative;
    }
}

/* SP */
@media (max-width: 767px) {
    .s05__sp .s05__slash--l {
        left: 14.4rem;
        top: 2.7rem;
    }

    .s05__sp .s05__slash--r {
        left: 23.9067rem;
        top: 2.7rem;
    }

    .s05__sp .s05__lead {
        left: 15.9094rem;
        top: 2.8794rem;
        width: 7.4975rem;
        height: 3.5877rem;
        font-size: 2.4rem;
    }

    .s05__sp .s05__sub {
        left: 0;
        top: 7.8rem;
        width: 39.4rem;
        font-family: var(--jp-bold);
        font-size: 2.2rem;
        line-height: 1.5;
        font-feature-settings: "halt" 1;
    }

    .s05__sp .s05__ttl {
        left: 6.2215rem;
        top: 10.9016rem;
        width: 26.1123rem;
        height: 6.1788rem;
        font-family: var(--jp-heavy);
        font-size: 4.1rem;
        line-height: 1.5;
        letter-spacing: -.082rem;
        font-feature-settings: "halt" 1;
    }

    .s05__sp .s05__box {
        left: 2rem;
        top: 17.8rem;
        width: 35.3rem;
        height: 23rem;
        background: rgba(255, 255, 255, .98);
        border: .2rem solid #fff;
        border-radius: .5rem;
        box-shadow: 0 0 4.4rem 0 #ff008c, 0 .191rem 1.1462rem 0 rgba(255, 0, 140, .1);
    }

    .s05__sp .s05__box-lead {
        left: 0;
        top: 19.9rem;
        width: 38.726rem;
        font-family: var(--jp-bold);
        font-size: 2rem;
        line-height: 1.2;
        color: var(--black);
    }

    .s05__sp .s05__line1 {
        left: 0;
        top: 23.695rem;
        width: 37.88rem;
        font-size: 3.2rem;
        line-height: 1.2;
    }

    .s05__sp .s05__line2 {
        left: 0;
        top: 27.6926rem;
        width: 39.212rem;
        font-size: 3.2rem;
        line-height: 1.2;
    }

    .s05__sp .s05__num {
        font-size: 5.2rem;
    }

    .s05__sp .s05__band {
        left: 8.623rem;
        top: 35.1rem;
        width: 22.2897rem;
        height: 3.8892rem;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.6rem;
    }

    .s05__sp .s05__band::before {
        width: 22rem;
        height: 3.9rem;
    }

    .s05__sp .s05__band span {
        position: relative;
    }
}

/* 料金プラン比較 */
.s06 {
    background: #fff;
}

.s06__pc {
    height: 105.4rem;
}

.s06__sp {
    height: 64rem;
}

.s06__en,
.s06__ttl,
.s06__sub,
.s06__callout {
    left: 0;
    width: 100%;
    text-align: center;
    white-space: nowrap;
}

.s06__en {
    font-family: var(--jp-bold);
    color: var(--pink);
}

.s06__ttl {
    color: var(--black);
}

.s06__sub {
    color: var(--black);
}

.s06__sub span {
    font-family: var(--jp-bold);
    color: var(--pink);
}

.s06__callout {
    font-family: var(--jp-heavy);
    color: var(--pink);
}

/* 比較表 */
.s06__table,
.s06__table thead,
.s06__table tbody {
    display: block;
}

.s06__table {
    border-collapse: separate;
    border-spacing: 0;
}

.s06__table tr {
    display: flex;
}

.s06-c {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    flex: none;
    border: .1rem solid #ddd;
    text-align: center;
    white-space: nowrap;
    color: var(--black);
    font-weight: normal;
}

.s06-c--label {
    background: #f6f6f6;
}

.s06-c--ours {
    background: var(--pink);
    color: #fff;
}

thead .s06-c--other {
    background: #fee7f3;
}

tbody .s06-c--other {
    background: #fff;
}

.s06-price small {
    font-size: inherit;
}

.s06-tax {
    display: block;
    font-family: var(--jp-regular);
}

.s06-c--other .s06-tax {
    color: #676767;
}

.s06__notes {
    font-family: var(--jp-regular);
    color: #676767;
}

/* PC */
@media (min-width: 768px) {
    .s06__pc .s06__en {
        top: 10.4rem;
        padding-left: .16rem;
        font-size: 2rem;
        line-height: 1.4;
        letter-spacing: .16rem;
    }

    .s06__pc .s06__ttl {
        top: 14.9rem;
        font-family: var(--jp-heavy);
        font-size: 5.2rem;
        line-height: 1.3;
    }

    .s06__pc .s06__sub {
        top: 23.3rem;
        font-family: var(--jp-bold);
        font-size: 2.4rem;
        line-height: 1.4;
    }

    .s06__pc .s06__callout {
        left: 38rem;
        top: 32.2rem;
        width: 25rem;
        font-size: 2.8rem;
        line-height: 1.3;
    }

    .s06__pc .s06__table {
        left: 18rem;
        top: 36.6rem;
        width: 108rem;
    }

    .s06__pc .s06-c {
        height: 10rem;
        width: 21rem;
    }

    .s06__pc thead .s06-c {
        height: 12rem;
        font-family: var(--jp-heavy);
        font-size: 2rem;
        line-height: 1.35;
    }

    .s06__pc .s06-c--label {
        width: 20rem;
    }

    .s06__pc .s06-c--ours {
        width: 25rem;
    }

    .s06__pc thead .s06-c--ours {
        font-size: 2.4rem;
    }

    .s06__pc tbody .s06-c--label {
        font-family: var(--jp-heavy);
        font-size: 2.4rem;
        line-height: 1.4;
    }

    .s06__pc .s06-note {
        font-family: var(--jp-bold);
        font-size: 1.3rem;
    }

    .s06__pc .s06-price {
        font-family: var(--jp-demibold);
        font-size: 3.2rem;
        line-height: 1.2;
    }

    .s06__pc .s06-price small {
        font-size: 1.8rem;
    }

    .s06__pc .s06-c--ours .s06-price {
        font-family: var(--jp-heavy);
        font-size: 4.4rem;
    }

    .s06__pc .s06-c--ours .s06-price small {
        font-size: 2.2rem;
    }

    .s06__pc tbody .s06-c {
        padding-top: .2rem;
    }

    .s06__pc .s06-tax {
        margin-top: .2rem;
        font-size: 1.5rem;
        line-height: 1.3;
    }

    .s06__pc .s06__notes {
        left: 18rem;
        top: 90.3rem;
        width: 108rem;
        font-size: 1.4rem;
        line-height: 1.7;
        white-space: nowrap;
    }
}

/* SP */
@media (max-width: 767px) {
    .s06__sp .s06__en,
    .s06__sp .s06__ttl,
    .s06__sp .s06__sub,
    .s06__sp .s06__callout,
    .s06__sp .s06-c,
    .s06__sp .s06__notes {
        font-feature-settings: "halt" 1;
    }

    .s06__sp .s06__en {
        top: 4.1290rem;
        font-size: 1.3rem;
        line-height: 1.5;
    }

    .s06__sp .s06__ttl {
        left: 0;
        width: 39.5rem;
        top: 6.8289rem;
        font-family: var(--jp-bold);
        font-size: 2.5rem;
        line-height: 1.3;
    }

    .s06__sp .s06__sub {
        top: 10.825rem;
        font-family: var(--jp-regular);
        font-size: 1.5rem;
        line-height: 1.5;
    }

    .s06__sp .s06__slash {
        display: block;
        top: 15.4329rem;
        width: 1.0094rem;
        height: 3.7671rem;
    }

    .s06__sp .s06__slash::before {
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        width: .2rem;
        height: 4.1rem;
        margin: -2.05rem 0 0 -.1rem;
        border-radius: .1rem;
        background: var(--pink);
        transform: rotate(-15deg);
    }

    .s06__sp .s06__slash--l {
        left: 7.8rem;
    }

    .s06__sp .s06__slash--r {
        left: 16.6094rem;
    }

    .s06__sp .s06__slash--r::before {
        transform: rotate(15deg);
    }

    .s06__sp .s06__callout {
        left: 9.3094rem;
        top: 14.8rem;
        width: 6.8rem;
        font-size: 1.7rem;
        line-height: 1.3;
    }

    .s06__sp .s06__table {
        left: 1.65rem;
        top: 20.0689rem;
        width: 36rem;
    }

    .s06__sp .s06-c {
        width: 6.839rem;
        height: 6.398rem;
        font-size: 1.3rem;
        line-height: 1.4;
    }

    .s06__sp thead .s06-c {
        height: 8.8rem;
        font-family: var(--jp-demibold);
        background: #ffe6f4;
    }

    .s06__sp thead .s06-c--label {
        background: #f6f6f6;
    }

    .s06__sp thead .s06-c--ours {
        font-family: var(--jp-heavy);
        background: var(--pink);
    }

    .s06__sp .s06-c--ours {
        width: 8.639rem;
    }

    .s06__sp .s06-c:last-child {
        width: 6.844rem;
    }

    .s06__sp tbody .s06-c--label {
        font-family: var(--jp-demibold);
        padding-top: .1rem;
    }

    .s06__sp .s06-note {
        position: absolute;
        left: 4.82rem;
        top: 1.27rem;
        font-family: var(--jp-regular);
        font-size: .8385rem;
        line-height: 1.4;
        color: #676767;
    }

    .s06__sp .s06-price {
        font-family: var(--jp-demibold);
        font-size: 1.3rem;
        line-height: 1.4;
    }

    .s06__sp .s06-price small {
        font-size: 1rem;
    }

    .s06__sp .s06-c--ours .s06-price {
        font-size: 1.8rem;
    }

    .s06__sp .s06-tax {
        font-size: .8rem;
        line-height: 1.4;
    }

    .s06__sp .s06-c--ours .s06-tax {
        font-size: 1rem;
    }

    .s06__sp .s06__notes {
        left: 2rem;
        top: 56.5289rem;
        width: 35.3rem;
        font-size: 1rem;
        line-height: 1.3;
    }
}

/* ポイント */
.s07 {
    background: #ffc700;
}

.s07 p,
.s07 h2 {
    margin: 0;
    white-space: nowrap;
}

.s07-y {
    color: #ffc700;
}

/* 共通: 傾いた見出し */
.s07-ttl__boxes {
    position: absolute;
    inset: 0;
    filter: drop-shadow(0 0 1.6rem #ffe896);
}

.s07-spttl .s07-ttl__boxes {
    filter: drop-shadow(0 0 .7rem #ffe896);
}

.s07-ttl__coin {
    filter: drop-shadow(0 0 .8rem rgba(255, 232, 150, .8));
}

.s07-ttl__fx {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
}

.s07-ttl__bar,
.s07-ttl__t {
    display: block;
    flex: none;
    transform: rotate(-6deg) scaleY(.99) skewX(-6deg);
}

.s07-ttl__bar {
    background: #000;
}

.s07-ttl__t {
    font-family: var(--jp-heavy);
    color: #fff;
    line-height: 1.4;
    font-feature-settings: "halt" 1;
    white-space: nowrap;
}

/* ============ PC ============ */
.s07__pc {
    height: 188.629rem;
    background: #ffc700;
}

.s07-band {
    left: 0;
    top: 0;
    width: 144rem;
    height: 9.3rem;
    background: var(--pink);
}

.s07-band__txt {
    padding-top: 1.8rem;
    font-family: var(--jp-heavy);
    font-weight: normal;
    font-size: 4.4rem;
    line-height: 1.3;
    color: #fff;
    text-align: center;
}

.s07-ttl {
    left: 0;
    top: 0;
    width: 144rem;
    height: 50rem;
}

.s07-ttl > * {
    position: absolute;
}

.s07-ttl .s07-ttl__t {
    font-size: 9.2039rem;
}

.s07-ttl__box1 {
    left: 27.9139rem;
    top: 15.3716rem;
    width: 54.9553rem;
    height: 18.7451rem;
}

.s07-ttl__box1 .s07-ttl__bar {
    width: 55.258rem;
    height: 12.9691rem;
}

.s07-ttl__txt1 {
    left: 29.5876rem;
    top: 15.8516rem;
    width: 50.2234rem;
    height: 18.1787rem;
}

.s07-ttl__box2 {
    left: 44.1411rem;
    top: 26.0155rem;
    width: 71.5633rem;
    height: 20.4907rem;
}

.s07-ttl__box2 .s07-ttl__bar {
    width: 71.9575rem;
    height: 12.9691rem;
}

.s07-ttl__txt2 {
    left: 48.7681rem;
    top: 26.1395rem;
    width: 67.4286rem;
    height: 19.987rem;
}

.s07-ttl__coin {
    width: 9.9428rem;
    height: 9.9428rem;
}

.s07-ttl__coin--a {
    left: 24.5797rem;
    top: 13.3rem;
}

.s07-ttl__coin--b {
    left: 109.4775rem;
    top: 37.8859rem;
}

.s07-ttl__coin--c {
    left: 33.6847rem;
    top: 37.5707rem;
}

.s07-ttl__coin--d {
    left: 109.3961rem;
    top: 19.8147rem;
    height: 8.2029rem;
}

.s07-sub {
    left: 39.05rem;
    top: 51.8288rem;
    width: 65.9rem;
    font-family: var(--jp-demibold);
    font-size: 2.2rem;
    line-height: 1.4;
    color: var(--black);
    text-align: center;
}

.s07-sub__r {
    font-family: var(--jp-regular);
}

/* カード */
.s07-card {
    background: #fff;
    border-radius: 2.4rem;
}

.s07-card > * {
    position: absolute;
}

.s07-card--1 {
    left: 18rem;
    top: 63.7288rem;
    width: 53rem;
    height: 36.6rem;
}

.s07-card--2 {
    left: 73rem;
    top: 63.7288rem;
    width: 53rem;
    height: 36.6rem;
}

.s07-card--3 {
    left: 18rem;
    top: 120.2288rem;
    width: 108rem;
    height: 49.2rem;
}

.s07-pill {
    top: -2.6rem;
    height: 5.6rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.6rem;
    background: var(--pink);
    border-radius: 99.9rem;
    color: #fff;
    line-height: 1.2;
}

.s07-pill__no {
    font-family: var(--jp-bold);
    font-size: 2.2rem;
}

.s07-pill__ttl {
    font-family: var(--jp-heavy);
    font-size: 3rem;
}

.s07-pill--1 {
    left: 13.25rem;
    width: 25.8rem;
}

.s07-pill--2 {
    left: 14.75rem;
    width: 23.2rem;
}

.s07-pill--3 {
    left: 42.75rem;
    width: 23.2rem;
}

/* STEP1 */
.s07-s1__lead {
    left: 7.75rem;
    top: 7.2rem;
    width: 37.5rem;
    font-family: var(--jp-medium);
    font-size: 2.2rem;
    line-height: 1.6;
    color: var(--black);
    text-align: center;
}

.s07-s1__stack {
    left: 13.2879rem;
    top: 18.4361rem;
    width: 9.1241rem;
    height: 10.1278rem;
}

.s07-s1__c {
    position: absolute;
    left: 0;
    width: 9.1241rem;
    height: 5.3832rem;
}

.s07-s1__c--1 { top: 4.745rem; }
.s07-s1__c--2 { top: 3.604rem; }
.s07-s1__c--3 { top: 2.464rem; }
.s07-s1__c--4 { top: 1.186rem; }
.s07-s1__c--5 { top: 0; }

.s07-s1__num {
    left: 23.612rem;
    top: 15.8rem;
    width: 16.1rem;
    height: 15.4rem;
    font-family: var(--jp-heavy);
    line-height: 1.1;
    color: var(--pink);
}

.s07-s1__n {
    font-size: 14rem;
}

.s07-s1__u {
    font-size: 6.4rem;
    color: var(--black);
}

/* STEP2 */
.s07-s2__lead {
    left: 14.5rem;
    top: 7.2rem;
    width: 24rem;
    font-family: var(--jp-medium);
    font-size: 2.2rem;
    line-height: 1.4;
    color: var(--black);
    text-align: center;
}

.s07-s2__avg {
    left: 21.7rem;
    top: 11.9rem;
    width: 9.6rem;
    font-family: var(--jp-heavy);
    font-size: 3.2rem;
    line-height: 1.4;
    color: var(--pink);
    text-align: center;
}

.s07-s2__coin {
    left: 1.9281rem;
    top: 19.6781rem;
    width: 6.3437rem;
    height: 6.3437rem;
}

.s07-s2__num {
    left: 9.0719rem;
    top: 18rem;
    width: 42rem;
    height: 9.7rem;
    font-family: var(--jp-heavy);
    line-height: 1.15;
    color: var(--pink);
}

.s07-s2__n {
    font-size: 8.4rem;
    letter-spacing: -.168rem;
}

.s07-s2__comma {
    font-size: 6.4rem;
    letter-spacing: -.128rem;
}

.s07-s2__u {
    font-size: 3rem;
    color: var(--black);
}

.s07-s2__date {
    left: 18.3rem;
    top: 29.3rem;
    width: 16.4rem;
    font-family: var(--jp-regular);
    font-size: 1.8rem;
    line-height: 1.4;
    color: #676767;
    text-align: center;
}

/* つなぎ */
.s07-bridge {
    left: 36.55rem;
    top: 104.3288rem;
    width: 70.9rem;
    height: 11.9rem;
}

.s07-bridge > * {
    position: absolute;
}

.s07-bridge__sl {
    top: .7rem;
    width: .7506rem;
    height: 2.8012rem;
}

.s07-bridge__sl::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: .2rem;
    height: 3.1rem;
    margin: -1.55rem 0 0 -.1rem;
    border-radius: .1rem;
    background: #000;
    transform: rotate(-15deg) scaleY(.935);
}

.s07-bridge__sl--l {
    left: 10.9494rem;
}

.s07-bridge__sl--r {
    left: 59.1494rem;
}

.s07-bridge__sl--r::before {
    transform: rotate(15deg) scaleY(.935);
}

.s07-bridge__lead {
    left: 13.3rem;
    top: 0;
    width: 44.3rem;
    font-family: var(--jp-bold);
    font-size: 3rem;
    line-height: 1.4;
    color: var(--black);
    text-align: center;
}

.s07-bridge__sm {
    font-size: 2.6rem;
}

.s07-bridge__main {
    left: 0;
    top: 4.6rem;
    width: 70.9rem;
    font-family: var(--jp-heavy);
    font-size: 5.2rem;
    line-height: 1.4;
    color: var(--pink);
    text-align: center;
}

/* STEP3 */
.s07-s3__lead {
    left: 13.55rem;
    top: 11.3rem;
    width: 23.3rem;
    font-family: var(--jp-medium);
    font-size: 2.6rem;
    line-height: 1.5;
    color: var(--black);
    text-align: center;
}

.s07-s3__zero {
    left: 13.15rem;
    top: 19.1rem;
    width: 24.1rem;
    height: 22rem;
    font-family: var(--jp-heavy);
    line-height: 1.1;
    color: var(--pink);
    text-align: center;
}

.s07-s3__n {
    font-size: 20rem;
}

.s07-s3__u {
    font-size: 8.8rem;
    color: var(--black);
}

.s07-sim {
    left: 42.85rem;
    top: 8rem;
    width: 52rem;
    height: 36.4rem;
    background: #f6f6f6;
}

.s07-sim__tbl,
.s07-sim__tbl tbody,
.s07-sim__tbl tr,
.s07-sim__tbl th,
.s07-sim__tbl td,
.s07-sim__head {
    display: block;
}

.s07-sim__tbl {
    position: relative;
    width: 52rem;
    border-collapse: collapse;
}

.s07-sim__head {
    height: 5.5rem;
    padding-top: 1.2rem;
    background: var(--black);
    font-family: var(--jp-bold);
    font-size: 2.2rem;
    line-height: 1.4;
    color: #fff;
    text-align: center;
    white-space: nowrap;
}

.s07-sim__row {
    position: relative;
    height: 9.2rem;
    border-bottom: .1rem dashed #bfbfbf;
}

.s07-sim__row:last-child {
    height: 9.1rem;
    border-bottom: 0;
}

.s07-sim__row > * {
    position: absolute;
    white-space: nowrap;
}

.s07-sim__plan {
    left: 2.8rem;
    top: 1.6rem;
    width: 19.2rem;
    font-weight: normal;
    line-height: 1.45;
    color: var(--black);
    text-align: left;
}

.s07-sim__name {
    font-family: var(--jp-heavy);
    font-size: 2.4rem;
}

.s07-sim__price {
    font-family: var(--jp-regular);
    font-size: 1.8rem;
}

.s07-sim__arrow {
    left: 23rem;
    top: 3.25rem;
    width: 2.2rem;
    font-family: var(--jp-regular);
    font-size: 2.2rem;
    line-height: 1.2;
    color: var(--pink);
    text-align: right;
}

.s07-sim__res {
    left: 26.2rem;
    top: 1.65rem;
    width: 23rem;
    height: 5.8rem;
    font-family: var(--jp-heavy);
    line-height: 1.2;
    color: var(--pink);
    text-align: right;
}

.s07-sim__s {
    font-size: 2.2rem;
}

.s07-sim__l {
    font-size: 4.8rem;
}

.s07-sim__note {
    position: absolute;
    left: 0;
    top: 33rem;
    width: 36.1rem;
    font-family: var(--jp-regular);
    font-size: 1.3rem;
    line-height: 1.4;
    color: #676767;
    text-align: center;
}

.s07-notes {
    left: 18rem;
    top: 173.4288rem;
    width: 108rem;
    font-family: var(--jp-regular);
    font-size: 1.4rem;
    line-height: 1.7;
    color: var(--black);
}

.s07-deco--1 {
    left: 21rem;
    top: 31.6917rem;
    width: 6.2559rem;
    height: 6.2395rem;
}

.s07-deco--2 {
    left: 6rem;
    top: 158.8811rem;
    width: 22rem;
    height: 16.9925rem;
}

.s07-deco--3 {
    left: 133rem;
    top: 109.6168rem;
    width: 13.2rem;
    height: 13.1771rem;
}

.s07-deco--4 {
    left: 130rem;
    top: 50.6625rem;
    width: 22rem;
    height: 20.3757rem;
}

.s07-deco--5 {
    left: -2rem;
    top: 43.9275rem;
    width: 22rem;
    height: 20.3757rem;
}

.s07-deco--6 {
    left: 130.5957rem;
    top: 173.3037rem;
    width: 17.0087rem;
    height: 15.7530rem;
}

/* ============ SP ============ */
.s07__sp {
    height: 144.6rem;
    background: #ffc700;
}

.s07-spd--bl {
    left: 0;
    top: 127.357rem;
    width: 8.3rem;
    height: 8.3rem;
}

.s07-spd--r {
    left: 32.2rem;
    top: 70.357rem;
    width: 7.1rem;
    height: 10rem;
}

.s07-spd--l {
    left: 0;
    top: 42.857rem;
    width: 7.6rem;
    height: 10rem;
}

.s07-spd--mr {
    left: 35.1rem;
    top: 113.1595rem;
    width: 4.2rem;
    height: 5.5rem;
}

.s07-spd--ml {
    left: 0;
    top: 87.957rem;
    width: 6.3rem;
    height: 7rem;
}

.s07-spband {
    left: 0;
    top: 0;
    width: 39.3rem;
    height: 5.1rem;
    background: var(--pink);
}

.s07-spband__txt {
    padding-top: .825rem;
    font-family: var(--jp-heavy);
    font-weight: normal;
    font-size: 2.5rem;
    line-height: 1.5;
    color: #fff;
    text-align: center;
    font-feature-settings: "halt" 1;
}

.s07-spttl {
    left: 0;
    top: 0;
    width: 39.3rem;
    height: 20rem;
}

.s07-spttl > * {
    position: absolute;
}

.s07-spttl .s07-ttl__t {
    font-size: 3.6193rem;
}

.s07-spttl .s07-ttl__bar {
    height: 5.1rem;
}

.s07-spttl__box1 {
    left: 2.1135rem;
    top: 6.3605rem;
    width: 21.6107rem;
    height: 7.3714rem;
}

.s07-spttl__box1 .s07-ttl__bar {
    width: 21.7297rem;
}

.s07-spttl__txt1 {
    left: 2.7717rem;
    top: 6.545rem;
    width: 19.791rem;
    height: 7.1801rem;
}

.s07-spttl__box2 {
    left: 8.4947rem;
    top: 10.5460rem;
    width: 28.1417rem;
    height: 8.0578rem;
}

.s07-spttl__box2 .s07-ttl__bar {
    width: 28.2967rem;
}

.s07-spttl__txt2 {
    left: 10.3142rem;
    top: 10.5906rem;
    width: 26.5537rem;
    height: 7.8909rem;
}

.s07-spsub {
    left: 0;
    top: 20.15rem;
    width: 39.3rem;
    font-family: var(--jp-regular);
    font-size: 1.5rem;
    line-height: 1.5;
    color: var(--black);
    text-align: center;
    font-feature-settings: "halt" 1;
}

.s07-spsub__b {
    font-family: var(--jp-demibold);
}

.s07-spcard {
    background: #fff;
    border-radius: 1.2rem;
}

.s07-spcard--1 {
    left: 2.6rem;
    top: 28rem;
    width: 34.3rem;
    height: 19rem;
}

.s07-spcard--2 {
    left: 2.6rem;
    top: 53.8rem;
    width: 34.3rem;
    height: 21rem;
}

.s07-spcard--3 {
    left: 2.7rem;
    top: 90rem;
    width: 34.3rem;
    height: 43.6rem;
}

.s07-sppill {
    width: 18rem;
    height: 4.2rem;
    background: var(--pink);
    border-radius: 6rem;
    color: #fff;
    font-family: var(--jp-bold);
    line-height: 1.5;
    font-feature-settings: "halt" 1;
}

.s07-sppill > * {
    position: absolute;
    display: block;
    transform: translate(-50%, -50%);
}

.s07-sppill__no {
    font-size: 1.5rem;
}

.s07-sppill__ttl {
    font-size: 2rem;
}

.s07-sppill--1 { left: 10.7rem; top: 26.1rem; }
.s07-sppill--2 { left: 10.7rem; top: 51.9rem; }
.s07-sppill--3 { left: 10.8rem; top: 88.1rem; }

.s07-sppill--1 .s07-sppill__no { left: 5.55rem; top: 2.15rem; }
.s07-sppill--1 .s07-sppill__ttl { left: 12.2rem; top: 2.1rem; }
.s07-sppill--2 .s07-sppill__no { left: 6.2rem; top: 2.15rem; }
.s07-sppill--2 .s07-sppill__ttl { left: 12.5rem; top: 2.1rem; }
.s07-sppill--3 .s07-sppill__no { left: 6.2rem; top: 2.15rem; }
.s07-sppill--3 .s07-sppill__ttl { left: 12.5rem; top: 2.1rem; }

.s07-sp1__lead,
.s07-sp2__lead,
.s07-sp2__date,
.s07-sp3__lead {
    font-family: var(--jp-regular);
    font-size: 1.5rem;
    line-height: 1.5;
    color: var(--black);
    text-align: center;
    font-feature-settings: "halt" 1;
    transform: translateX(-50%);
}

.s07-sp1__lead {
    left: 19.7rem;
    top: 32.15rem;
}

.s07-sp1__stack {
    left: 12.9rem;
    top: 38.2847rem;
    width: 5.1rem;
    height: 5.7rem;
}

.s07-sp1__num {
    left: 22.25rem;
    top: 36.025rem;
    transform: translateX(-50%);
    font-family: var(--jp-bold);
    font-size: 3.3rem;
    line-height: 1.5;
    color: var(--black);
    font-feature-settings: "halt" 1;
}

.s07-sp1__n {
    font-size: 6.5rem;
    color: var(--pink);
}

.s07-spdots {
    left: 19.5rem;
    width: .4rem;
    height: 2.4rem;
}

.s07-spdots--1 { top: 48.3rem; }
.s07-spdots--2 { top: 76.6rem; }

.s07-sp2__lead {
    left: 19.7rem;
    top: 57.925rem;
}

.s07-sp2__avg {
    left: 19.7rem;
    top: 61rem;
    transform: translateX(-50%);
    font-family: var(--jp-bold);
    font-size: 2rem;
    line-height: 1.5;
    color: var(--pink);
    font-feature-settings: "halt" 1;
}

.s07-sp2__coin {
    left: 4.3rem;
    top: 65.9rem;
    width: 4rem;
    height: 4rem;
}

.s07-sp2__num {
    left: 21.5rem;
    top: 63.6rem;
    transform: translateX(-50%);
    font-family: var(--jp-bold);
    font-size: 2.3rem;
    line-height: 1.5;
    color: var(--black);
    font-feature-settings: "halt" 1;
}

.s07-sp2__n,
.s07-sp2__n0 {
    font-size: 4.6rem;
    letter-spacing: -.138rem;
    color: var(--pink);
}

.s07-sp2__n0 {
    letter-spacing: 0;
}

.s07-sp2__comma {
    font-size: 4rem;
    letter-spacing: -.12rem;
    color: var(--pink);
}

.s07-sp2__date {
    left: 19.85rem;
    top: 70.925rem;
    color: #676767;
}

.s07-spbridge__sl {
    top: 80.25rem;
    width: .7506rem;
    height: 2.8012rem;
}

.s07-spbridge__sl::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: .2rem;
    height: 3.1rem;
    margin: -1.55rem 0 0 -.1rem;
    border-radius: .1rem;
    background: #000;
    transform: rotate(-15deg) scaleY(.935);
}

.s07-spbridge__sl--l {
    left: 5.6rem;
}

.s07-spbridge__sl--r {
    left: 32.95rem;
}

.s07-spbridge__sl--r::before {
    transform: rotate(15deg) scaleY(.935);
}

.s07-spbridge__lead {
    left: 7.0506rem;
    top: 80.25rem;
    width: 25.2rem;
    height: 2.8rem;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    font-family: var(--jp-demibold);
    font-size: 1.7rem;
    line-height: 1.5;
    color: var(--black);
}

.s07-spbridge__sm {
    font-size: 1.5rem;
}

.s07-spbridge__main {
    left: 0;
    top: 83.5rem;
    width: 39.5rem;
    font-family: var(--jp-bold);
    font-size: 2.4rem;
    line-height: 1.5;
    color: var(--pink);
    text-align: center;
    font-feature-settings: "halt" 1;
}

.s07-sp3__lead {
    left: 19.8rem;
    top: 94.225rem;
}

.s07-sp3__zero {
    left: 19.8rem;
    top: 95.5rem;
    transform: translateX(-50%);
    font-family: var(--jp-bold);
    font-size: 4rem;
    line-height: 1.5;
    color: var(--black);
    font-feature-settings: "halt" 1;
}

.s07-sp3__n {
    font-size: 8rem;
    color: var(--pink);
}

.s07-spsim {
    left: 3.7rem;
    top: 106.8rem;
    width: 32.3rem;
    height: 25.6rem;
    background: #f6f6f6;
}

.s07-spsim > * {
    position: absolute;
}

.s07-spsim__tbl,
.s07-spsim__tbl tbody,
.s07-spsim__tbl tr,
.s07-spsim__tbl th,
.s07-spsim__tbl td,
.s07-spsim__head {
    display: block;
}

.s07-spsim__tbl {
    left: 0;
    top: 0;
    width: 32.3rem;
    height: 25.6rem;
}

.s07-spsim__head {
    height: 3.4rem;
    padding-top: .725rem;
    padding-left: .1rem;
    background: var(--black);
    font-family: var(--jp-demibold);
    font-size: 1.5rem;
    line-height: 1.5;
    color: #fff;
    text-align: center;
    white-space: nowrap;
}

.s07-spsim__row > * {
    position: absolute;
    white-space: nowrap;
    font-feature-settings: "halt" 1;
}

.s07-spsim__plan {
    left: 1.6rem;
    font-family: var(--jp-regular);
    font-weight: normal;
    font-size: 1.5rem;
    line-height: 1.5;
    color: var(--black);
    text-align: left;
}

.s07-spsim__name {
    font-family: var(--jp-bold);
    font-size: 1.7rem;
}

.s07-spsim__row--1 .s07-spsim__plan { top: 4.7rem; }
.s07-spsim__row--2 .s07-spsim__plan { top: 11rem; }
.s07-spsim__row--3 .s07-spsim__plan { top: 17.6rem; }

.s07-spsim__arrow {
    left: 15.85rem;
    width: 1.7rem;
}

.s07-spsim__arrow img {
    width: 1.7rem;
    height: .7364rem;
}

.s07-spsim__row--1 .s07-spsim__arrow { top: 7.4232rem; }
.s07-spsim__row--2 .s07-spsim__arrow { top: 13.7232rem; }
.s07-spsim__row--3 .s07-spsim__arrow { top: 20.4232rem; }

.s07-spsim__res {
    left: 18.6rem;
    font-family: var(--jp-bold);
    font-size: 1.5rem;
    line-height: 1.5;
    color: var(--pink);
}

.s07-spsim__l--1 { font-size: 3rem; }
.s07-spsim__l--2 { font-size: 2.8rem; }
.s07-spsim__l--3 { font-size: 2.6rem; }

.s07-spsim__row--1 .s07-spsim__res { top: 4.9rem; }
.s07-spsim__row--2 .s07-spsim__res { top: 11.3rem; }
.s07-spsim__row--3 .s07-spsim__res { top: 18.1rem; }

.s07-spsim__dash {
    left: 1.75rem;
    width: 28.9rem;
    height: .1rem;
}

.s07-spsim__dash--1 { top: 10.3rem; }
.s07-spsim__dash--2 { top: 16.8rem; }

.s07-spsim__note {
    left: 2.3rem;
    top: 23.4rem;
    font-family: var(--jp-regular);
    font-size: 1rem;
    line-height: 1.3;
    color: #676767;
    font-feature-settings: "halt" 1;
}

.s07-spnotes {
    left: 2.5rem;
    top: 136.757rem;
    width: 34.3rem;
    font-family: var(--jp-regular);
    font-size: 1rem;
    line-height: 1.3;
    color: #676767;
    font-feature-settings: "halt" 1;
}

.s07-spcoin--a {
    left: .8023rem;
    top: 5.5458rem;
    width: 4rem;
    height: 4rem;
}

.s07-spcoin--b {
    left: 34.1877rem;
    top: 15.214rem;
    width: 4rem;
    height: 4rem;
}

.s07-spcoin--c {
    left: 4.3828rem;
    top: 15.09rem;
    width: 4rem;
    height: 4rem;
}

.s07-spcoin--d {
    left: 1.7646rem;
    top: 14.5089rem;
    width: 4rem;
    height: 3.3rem;
}

.s07-spcoin--e {
    left: 34.1557rem;
    top: 8.1077rem;
    width: 4rem;
    height: 3.3rem;
}

/* VOICE */
.s08 {
    background: #fff;
}

.s08__pc {
    height: 93rem;
}

.s08__sp {
    height: 112.7rem;
}

.s08 p,
.s08 h2,
.s08 h3 {
    margin: 0;
    white-space: nowrap;
    font-weight: normal;
}

.s08-en {
    color: var(--pink);
    font-family: var(--jp-bold);
    text-align: center;
}

.s08-ttl {
    color: var(--black);
    text-align: center;
}

.s08-sub {
    color: var(--black);
    text-align: center;
}

.s08-card {
    background: #fff;
    box-shadow: inset 0 0 0 0.1rem #ddd;
}

.s08-card > * {
    position: absolute;
}

.s08-photo {
    width: 11rem;
    height: 11rem;
    border-radius: 50%;
}

.s08-name {
    color: #676767;
    font-family: var(--jp-medium);
}

.s08-head {
    color: var(--black);
}

.s08-body {
    color: #676767;
}

.s08-body b {
    color: var(--black);
    font-weight: normal;
}

.s08-mk {
    display: inline-block;
}

.s08-note {
    color: #676767;
}

/* PC */
.s08__pc .s08-en {
    left: 0;
    top: 10.4rem;
    width: 144rem;
    font-size: 2rem;
    line-height: 1.4;
    letter-spacing: 0.16rem;
}

.s08__pc .s08-ttl {
    left: 0;
    top: 14.9rem;
    width: 144rem;
    font-family: var(--jp-heavy);
    font-size: 5.2rem;
    line-height: 1.3;
}

.s08__pc .s08-sub {
    left: 0;
    top: 23.3rem;
    width: 144rem;
    font-family: var(--jp-medium);
    font-size: 2.2rem;
    line-height: 1.4;
}

.s08__pc .s08-card {
    top: 33.5rem;
    width: 53rem;
    height: 49.1rem;
    border-radius: 1.6rem;
}

.s08__pc .s08-card--1 {
    left: 18rem;
}

.s08__pc .s08-card--2 {
    left: 73rem;
}

.s08__pc .s08-photo {
    left: 4.9rem;
    top: 4.9rem;
}

.s08__pc .s08-name {
    left: 18.3rem;
    top: 8.85rem;
    font-size: 2.2rem;
    line-height: 1.4;
}

.s08__pc .s08-head {
    left: 4.9rem;
    top: 17.5rem;
    font-family: var(--jp-heavy);
    font-size: 2.6rem;
    line-height: 1.5;
}

.s08__pc .s08-body {
    left: 4.9rem;
    top: 26.9rem;
    font-family: var(--jp-regular);
    font-size: 1.8rem;
    line-height: 1.9;
}

.s08__pc .s08-body b {
    font-family: var(--jp-bold);
}

.s08__pc .s08-mk {
    background: linear-gradient(transparent 2.16rem, #fff302 2.16rem, #fff302 3.06rem, transparent 3.06rem);
}

.s08__pc .s08-mk--kome {
    position: relative;
    top: -0.5rem;
    font-size: 1.161rem;
    background: linear-gradient(transparent 1.24rem, #fff302 1.24rem, #fff302 2.14rem, transparent 2.14rem);
}

.s08__pc .s08-note {
    left: 4.9rem;
    top: 38.8rem;
    font-family: var(--jp-regular);
    font-size: 1.3rem;
    line-height: 1.6;
}

.s08__pc .s08-card--2 .s08-note {
    top: 42.2rem;
}

/* SP */
.s08__sp .s08-en {
    left: 0;
    top: 4rem;
    width: 39.3rem;
    font-size: 1.3rem;
    line-height: 1.5;
    font-feature-settings: "halt" 1;
}

.s08__sp .s08-ttl {
    left: 0.2rem;
    top: 6.7rem;
    width: 39.1rem;
    font-family: var(--jp-bold);
    font-size: 2.5rem;
    line-height: 1.3;
    font-feature-settings: "halt" 1;
}

.s08__sp .s08-sub {
    left: 0;
    top: 13.4rem;
    width: 39.3rem;
    font-family: var(--jp-regular);
    font-size: 1.5rem;
    line-height: 1.5;
    font-feature-settings: "halt" 1;
}

.s08__sp .s08-card {
    left: 2rem;
    width: 35.3rem;
    border-radius: 1rem;
}

.s08__sp .s08-card--1 {
    top: 17.5rem;
    height: 42rem;
}

.s08__sp .s08-card--2 {
    top: 61.6rem;
    height: 47.2rem;
}

.s08__sp .s08-photo {
    left: 11.85rem;
    top: 3rem;
}

.s08__sp .s08-name {
    left: 1.3rem;
    top: 15.3rem;
    width: 32.3rem;
    text-align: center;
    font-size: 1.8rem;
    line-height: 1.6;
}

.s08__sp .s08-head {
    left: 1.3rem;
    top: 19.7rem;
    font-family: var(--jp-bold);
    font-size: 2.2rem;
    line-height: 1.6;
}

.s08__sp .s08-body {
    left: 1.3rem;
    top: 27.7rem;
    font-family: var(--jp-medium);
    font-size: 1.5rem;
    line-height: 1.6;
}

.s08__sp .s08-body b {
    font-family: var(--jp-bold);
}

.s08__sp .s08-mk {
    background: linear-gradient(transparent 1.75rem, #fff302 1.75rem, #fff302 2.25rem, transparent 2.25rem);
}

.s08__sp .s08-mk--up {
    background: linear-gradient(transparent 1.55rem, #fff302 1.55rem, #fff302 2.05rem, transparent 2.05rem);
}

.s08__sp .s08-mk--down {
    background: linear-gradient(transparent 1.8rem, #fff302 1.8rem, #fff302 2.3rem, transparent 2.3rem);
}

.s08__sp .s08-kome {
    position: relative;
    top: -0.4rem;
    font-size: 0.9675rem;
}

.s08__sp .s08-note {
    left: 1.3rem;
    top: 35.8rem;
    font-family: var(--jp-medium);
    font-size: 1rem;
    line-height: 1.6;
}

.s08__sp .s08-card--2 .s08-note {
    top: 41rem;
}

/* 乗り換え方法 */
.s09 {
    background: #fff;
}

.s09__pc {
    height: 86.5rem;
}

.s09__sp {
    height: 67.4rem;
}

.s09 p,
.s09 h2 {
    margin: 0;
    white-space: nowrap;
    font-weight: normal;
}

.s09-en {
    color: var(--pink);
    font-family: var(--jp-bold);
    text-align: center;
}

.s09-ttl {
    color: var(--black);
    text-align: center;
}

.s09-box {
    background: #fff;
    border: 0.2rem solid #ddd;
}

.s09-banner {
    background: var(--pink);
}

.s09-banner > span {
    position: absolute;
    white-space: nowrap;
}

.s09-saitan {
    background: #fff;
    color: var(--pink);
    text-align: center;
}

.s09-sokujitsu {
    color: #fff;
}

.s09-steps {
    left: 0;
    top: 0;
    width: 100%;
    height: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.s09-step {
    position: absolute;
    white-space: nowrap;
}

.s09-step > span {
    position: absolute;
    left: 0;
    top: 0;
}

.s09-num {
    border-radius: 50%;
    background: var(--pink);
    color: #fff;
    text-align: center;
}

.s09-label {
    color: var(--black);
}

.s09-note {
    color: #676767;
    font-family: var(--jp-regular);
}

/* PC */
.s09__pc .s09-en {
    left: 0;
    top: 4rem;
    width: 144rem;
    font-size: 2rem;
    line-height: 1.4;
    letter-spacing: 0.08rem;
}

.s09__pc .s09-ttl {
    left: 0;
    top: 8.5rem;
    width: 144rem;
    font-family: var(--jp-heavy);
    font-size: 5.2rem;
    line-height: 1.3;
}

.s09__pc .s09-box {
    left: 19.6rem;
    top: 29.7rem;
    width: 104.8rem;
    height: 37.6rem;
    border-radius: 1.6rem;
}

.s09__pc .s09-banner {
    left: 43.6rem;
    top: 22.4rem;
    width: 56.8rem;
    height: 11.7rem;
    border-radius: 0.8rem;
}

.s09__pc .s09-saitan {
    left: 9.6rem;
    top: 3.3rem;
    width: 10rem;
    height: 5.1rem;
    padding-top: 0.2rem;
    border-radius: 0.6rem;
    font-family: var(--jp-heavy);
    font-size: 3.6rem;
    line-height: 1.3;
}

.s09__pc .s09-sokujitsu {
    left: 21.6rem;
    top: 2rem;
    font-family: var(--jp-heavy);
    font-size: 6.4rem;
    line-height: 1.2;
}

.s09__pc .s09-ill--1 {
    left: 33.325rem;
    top: 39.9227rem;
    width: 9.8rem;
    height: 13.2rem;
}

.s09__pc .s09-ill--2 {
    left: 65.52rem;
    top: 42.5447rem;
    width: 13rem;
    height: 8rem;
}

.s09__pc .s09-ill--3 {
    left: 98.35rem;
    top: 42.19rem;
    width: 14.7rem;
    height: 8.5rem;
}

.s09__pc .s09-arrow {
    top: 48.9rem;
    width: 1.8rem;
    height: 3.2rem;
}

.s09__pc .s09-arrow--1 {
    left: 54.2rem;
}

.s09__pc .s09-arrow--2 {
    left: 88rem;
}

.s09__pc .s09-step {
    top: 55.9rem;
    height: 5.6rem;
}

.s09__pc .s09-step--1 {
    left: 26.4rem;
}

.s09__pc .s09-step--2 {
    left: 61.9rem;
}

.s09__pc .s09-step--3 {
    left: 99.1rem;
}

.s09__pc .s09-num {
    width: 5.6rem;
    height: 5.6rem;
    font-family: var(--jp-heavy);
    font-size: 3rem;
    line-height: 5.6rem;
}

.s09__pc .s09-label {
    left: 6.6rem;
    top: 0.65rem;
    font-family: var(--jp-heavy);
    font-size: 3.4rem;
    line-height: 1.2;
}

.s09__pc .s09-note {
    left: 18rem;
    top: 71.4rem;
    font-size: 1.4rem;
    line-height: 1.7;
}

/* SP */
.s09__sp .s09-en {
    left: 0;
    top: 4rem;
    width: 39.3rem;
    font-size: 1.3rem;
    line-height: 1.5;
    font-feature-settings: "halt" 1;
}

.s09__sp .s09-ttl {
    left: 0.1rem;
    top: 6.6rem;
    width: 39.2rem;
    font-family: var(--jp-bold);
    font-size: 2.5rem;
    line-height: 1.3;
    font-feature-settings: "halt" 1;
}

.s09__sp .s09-box {
    left: 2rem;
    top: 19.8rem;
    width: 35rem;
    height: 36.3rem;
    border-radius: 0.5rem;
}

.s09__sp .s09-banner {
    left: 3.7rem;
    top: 15.3rem;
    width: 32rem;
    height: 8.7rem;
    border-radius: 0.5rem;
}

.s09__sp .s09-saitan {
    left: 3.7rem;
    top: 2.35rem;
    width: 6.9rem;
    height: 4rem;
    border-radius: 0.5rem;
    font-family: var(--jp-bold);
    font-size: 2.6rem;
    line-height: 4rem;
    font-feature-settings: "halt" 1;
}

.s09__sp .s09-sokujitsu {
    left: 11.4rem;
    top: 1.6rem;
    font-family: var(--jp-bold);
    font-size: 4.2rem;
    line-height: 1.3;
    font-feature-settings: "halt" 1;
}

.s09__sp .s09-ill--1 {
    left: 26.6rem;
    top: 26.365rem;
    width: 6.533rem;
    height: 8.8rem;
}

.s09__sp .s09-ill--2 {
    left: 24.2rem;
    top: 37.978rem;
    width: 8.125rem;
    height: 5rem;
}

.s09__sp .s09-ill--3 {
    left: 19.1rem;
    top: 47.242rem;
    width: 9.8rem;
    height: 5.667rem;
}

.s09__sp .s09-arrow {
    left: 18.488rem;
    width: 2.425rem;
    height: 1.2rem;
    transform: scaleY(-1);
}

.s09__sp .s09-arrow--1 {
    top: 34.7rem;
}

.s09__sp .s09-arrow--2 {
    top: 44.3rem;
}

.s09__sp .s09-step {
    left: 6.4rem;
    height: 5rem;
}

.s09__sp .s09-step--1 {
    top: 28rem;
}

.s09__sp .s09-step--2 {
    top: 37.8rem;
}

.s09__sp .s09-step--3 {
    top: 47.6rem;
}

.s09__sp .s09-num {
    width: 5rem;
    height: 5rem;
    font-family: var(--jp-bold);
    font-size: 2.5rem;
    line-height: 5rem;
    font-feature-settings: "halt" 1;
}

.s09__sp .s09-label {
    left: 6.3rem;
    top: 1rem;
    font-family: var(--jp-bold);
    font-size: 2.5rem;
    line-height: 1.3;
    font-feature-settings: "halt" 1;
}

.s09__sp .s09-note {
    left: 2rem;
    top: 58.3rem;
    font-size: 1rem;
    line-height: 1.3;
    font-feature-settings: "halt" 1;
}

/* キャンペーン */
.s10 {
    background: #2a0d29;
}

.s10__pc {
    height: 105.4rem;
    background: #000;
}

.s10__sp {
    height: 55.9rem;
    background: #000;
}

.s10__bg {
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .3;
}

.s10__tint {
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 0, 140, .1);
}

.s10 p,
.s10 h2 {
    white-space: nowrap;
}

.s10-pink {
    color: var(--pink);
}

/* 紙吹雪 */
.s10__deco {
    z-index: 2;
    transform: rotate(30deg);
}

.s10__deco--g {
    background: #b89c37;
}

.s10__deco--p {
    background: var(--pink);
}

/* PC */
.s10-pc-d1 { left: 20.159rem; top: 83.526rem; width: 1.8231rem; height: 1.8231rem; }
.s10-pc-d2 { left: 21.912rem; top: 15.637rem; width: 2.2282rem; height: 2.2282rem; }
.s10-pc-d3 { left: 118.689rem; top: 83.992rem; width: 2.2282rem; height: 2.2282rem; }
.s10-pc-d4 { left: 110.583rem; top: 39.092rem; width: 3.2411rem; height: 3.2411rem; }
.s10-pc-d5 { left: 116.366rem; top: 18.563rem; width: 1.8231rem; height: 1.8231rem; }
.s10-pc-d6 { left: 30.493rem; top: 61.136rem; width: 3.2411rem; height: 3.2411rem; }

.s10-pc-label {
    left: 0;
    top: 10.4rem;
    width: 144rem;
    font-family: var(--jp-bold);
    font-size: 2.2rem;
    line-height: 1.4;
    letter-spacing: .088rem;
    text-align: center;
    color: var(--pink);
}

.s10-pc-title {
    left: 0;
    top: 15.08rem;
    width: 144rem;
    font-family: var(--jp-heavy);
    font-size: 5.2rem;
    line-height: 1.3;
    text-align: center;
    color: #fff;
}

.s10-pc-card {
    left: 32.6666rem;
    top: 29.9rem;
    width: 78.6669rem;
    height: 45.0949rem;
    border-radius: 2.1455rem;
    background: #fff;
}

.s10-pc-pill {
    left: 51.4392rem;
    top: 27.397rem;
    width: 41.1818rem;
    height: 5.1455rem;
    padding-top: 1.0727rem;
    border-radius: 99.9rem;
    background: var(--pink);
    font-family: var(--jp-heavy);
    font-size: 2.503rem;
    line-height: 1.2;
    text-align: center;
    color: #fff;
}

.s10-pc-keep {
    left: 50.2114rem;
    top: 35.952rem;
    width: 43.5773rem;
    height: 10.6608rem;
    background: #fee7f3;
}

.s10-pc-keep__icon {
    position: absolute;
    left: 3.5758rem;
    top: 1.4303rem;
    width: 4.3803rem;
    height: 7.8002rem;
}

.s10-pc-keep__text {
    position: absolute;
    left: 10.1015rem;
    top: 1.7304rem;
    font-family: var(--jp-heavy);
    font-size: 2.503rem;
    line-height: 1.45;
    color: var(--black);
}

.s10-pc-cond {
    left: 44.799rem;
    top: 48.55rem;
    width: 54.4rem;
    font-family: var(--jp-heavy);
    font-size: 3.0394rem;
    line-height: 1.4;
    text-align: center;
    color: var(--black);
}

.s10-pc-point {
    left: 42.95rem;
    top: 53.589rem;
    width: 58.1rem;
    height: 15.5rem;
    font-family: var(--jp-heavy);
    font-size: 0;
    text-align: center;
    color: var(--black);
}

.s10-pc-point > span {
    display: inline-block;
}

.s10-pc-point__l1 {
    height: 8.5rem;
    line-height: 1;
}

.s10-pc-point__num {
    font-size: 10.7273rem;
    letter-spacing: -.4291rem;
    color: var(--pink);
}

.s10-pc-point__comma {
    font-size: 7.1515rem;
    letter-spacing: -.2861rem;
    color: var(--pink);
}

.s10-pc-point__unit {
    font-size: 5.0061rem;
}

.s10-pc-point__l2 {
    font-size: 5.0061rem;
    line-height: 1.4;
    position: relative;
    top: 1.7rem;
}

/* PC ボタン */
.s10__pc .s10-cta {
    left: 36rem;
    top: 80.595rem;
    width: 72rem;
    height: 15.2rem;
    transition: opacity .2s;
}

.s10-cta:hover {
    opacity: .85;
}

.s10__pc .s10-cta > * {
    position: absolute;
}

.s10__pc .s10-cta__union {
    left: 21.5rem;
    top: 0;
    width: 29rem;
    height: 7.77rem;
}

.s10__pc .s10-cta__balloon {
    left: 21.5rem;
    top: 0;
    width: 29rem;
    height: 6rem;
    padding-top: .8rem;
    font-family: var(--jp-heavy);
    font-size: 2.6rem;
    line-height: 4.4rem;
    text-align: center;
    white-space: nowrap;
    color: var(--black);
}

.s10__pc .s10-cta__em {
    font-size: 3.4rem;
    color: var(--pink);
}

.s10__pc .s10-cta__note {
    font-family: var(--jp-bold);
    font-size: 1.3rem;
}

.s10__pc .s10-cta__btn {
    left: 0;
    top: 5.2rem;
    width: 72rem;
    height: 10rem;
    border-radius: 99.9rem;
    background: #fff302;
}

.s10__pc .s10-cta__label {
    left: 17.25rem;
    top: 7.55rem;
    width: 37.5rem;
    font-family: var(--jp-heavy);
    font-size: 4.4rem;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
    color: var(--black);
}

.s10__pc .s10-cta__arrow {
    left: 62.4rem;
    top: 7.4rem;
    width: 5.6rem;
    height: 5.6rem;
}

/* SP */
.s10-sp-d1 { left: 2.7107rem; top: 42.3647rem; width: 0.9rem; height: 0.9rem; }
.s10-sp-d2 { left: 1.6013rem; top: 4.9013rem; width: 1.1rem; height: 1.1rem; }
.s10-sp-d3 { left: 36.0473rem; top: 42.1013rem; width: 1.1rem; height: 1.1rem; }
.s10-sp-d4 { left: 35.9958rem; top: 15.4928rem; width: 1.6rem; height: 1.6rem; }
.s10-sp-d5 { left: 36.3817rem; top: 4.8647rem; width: 0.9rem; height: 0.9rem; }
.s10-sp-d6 { left: 1.3948rem; top: 32.7928rem; width: 1.6rem; height: 1.6rem; }

.s10__sp p,
.s10__sp h2 {
    font-feature-settings: "halt" 1;
}

.s10-sp-label {
    left: 0;
    top: 3.925rem;
    width: 39.3rem;
    font-family: var(--jp-bold);
    font-size: 1.3rem;
    line-height: 1.5;
    text-align: center;
    color: var(--pink);
}

.s10-sp-title {
    left: 0;
    top: 6.6rem;
    width: 39.4rem;
    font-family: var(--jp-bold);
    font-size: 2.5rem;
    line-height: 1.3;
    text-align: center;
    color: #fff;
}

.s10-sp-card {
    left: 2.5rem;
    top: 14rem;
    width: 34.3rem;
    height: 26.6rem;
    border-radius: 1.2rem;
    background: #fff;
}

.s10-sp-band {
    left: 6.7rem;
    top: 17.8rem;
    width: 26rem;
    height: 6.2rem;
    background: rgba(255, 0, 140, .1);
}

.s10-sp-icon {
    left: 8.4rem;
    top: 17.4rem;
    width: 3.5rem;
    height: 6.2326rem;
}

.s10-sp-keep {
    left: 12.7rem;
    top: 18.5rem;
    font-family: var(--jp-demibold);
    font-size: 1.6rem;
    line-height: 1.5;
    color: var(--black);
}

.s10-sp-cond {
    left: 0;
    top: 25.5rem;
    width: 39.3rem;
    font-family: var(--jp-bold);
    font-size: 1.8rem;
    line-height: 1.5;
    text-align: center;
    color: var(--black);
}

.s10-sp-cond__s {
    font-family: var(--jp-demibold);
    font-size: 1.6rem;
}

.s10-sp-point {
    left: 0;
    top: 27.9rem;
    width: 39.3rem;
    height: 7.5rem;
    font-family: var(--jp-bold);
    font-size: 5rem;
    line-height: 1.5;
    text-align: center;
    color: var(--black);
}

.s10-sp-point__num {
    letter-spacing: -.15rem;
    color: var(--pink);
}

.s10-sp-point__comma {
    font-size: 4rem;
    letter-spacing: -.12rem;
    color: var(--pink);
}

.s10-sp-point__last {
    color: var(--pink);
}

.s10-sp-point__unit {
    font-size: 2.2rem;
}

.s10-sp-present {
    left: 12.5rem;
    top: 34.8rem;
    width: 14.4rem;
    font-family: var(--jp-bold);
    font-size: 2.4rem;
    line-height: 1.5;
    text-align: center;
    color: var(--black);
}

.s10-sp-pill {
    left: 6.3rem;
    top: 12.1rem;
    width: 26.7rem;
    height: 4.2rem;
    border-radius: 6rem;
    background: var(--pink);
    font-family: var(--jp-bold);
    font-size: 1.5rem;
    line-height: 4.2rem;
    text-align: center;
    color: #fff;
}

/* SP ボタン */
.s10__sp .s10-cta {
    left: 1rem;
    top: 45.8rem;
    width: 37.3rem;
    height: 7rem;
    border: .2rem solid #fff;
    border-radius: 6.304rem;
    background: #fff302;
    filter: drop-shadow(0 .2rem 1.4rem rgba(255, 12, 66, .82));
    transition: opacity .2s;
}

.s10__sp .s10-cta > * {
    position: absolute;
}

.s10__sp .s10-cta__label {
    left: 0;
    top: 1.82rem;
    width: 36.9rem;
    font-family: var(--jp-heavy);
    font-size: 2.4rem;
    line-height: 1.4;
    text-align: center;
    white-space: nowrap;
    font-feature-settings: "halt" 1;
    color: var(--black);
}

.s10__sp .s10-cta__arrow {
    left: 31.6rem;
    top: 1.3rem;
    width: 4rem;
    height: 4rem;
}

.s10__sp .s10-cta__union {
    left: 7.7rem;
    top: -2.7rem;
    width: 23rem;
    height: 4.6603rem;
}

.s10__sp .s10-cta__balloon {
    left: 0;
    top: -2.76rem;
    width: 38.7rem;
    font-family: var(--jp-demibold);
    font-size: 1.8rem;
    line-height: 3.64rem;
    text-align: center;
    white-space: nowrap;
    font-feature-settings: "halt" 1;
    color: var(--black);
}

.s10__sp .s10-cta__big,
.s10__sp .s10-cta__em {
    font-family: var(--jp-heavy);
    color: var(--pink);
}

.s10__sp .s10-cta__big {
    font-size: 2.6rem;
}

.s10__sp .s10-cta__note {
    font-family: var(--jp-regular);
    font-size: 1.161rem;
}

/* 追従ボタン */
.float-cta {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 100;
    padding: 4.05rem 0 calc(1.2rem + env(safe-area-inset-bottom));
    background: rgba(255, 255, 255, .8);
    -webkit-backdrop-filter: blur(.8rem);
    backdrop-filter: blur(.8rem);
    box-shadow: 0 -.2rem 1.2rem rgba(0, 0, 0, .08);
    transform: translateY(100%);
    visibility: hidden;
    transition: transform .45s cubic-bezier(.22, 1, .36, 1), visibility 0s linear .45s;
}

.float-cta.is-show {
    transform: translateY(0);
    visibility: visible;
    transition: transform .45s cubic-bezier(.22, 1, .36, 1), visibility 0s;
}

.float-cta .s01-cta {
    position: relative;
    margin: 0 auto;
}

.float-cta .s01-cta--pc {
    zoom: .8;
}

.float-cta .s01-cta__balloon img {
    filter: drop-shadow(0 .1rem .4rem rgba(0, 0, 0, .18));
}

.float-cta .s01-cta--sp {
    display: none;
}

@media (max-width: 767px) {
    .float-cta {
        padding: 3.74rem 0 calc(1rem + env(safe-area-inset-bottom));
    }

    .float-cta .s01-cta--pc {
        display: none;
    }

    .float-cta .s01-cta--sp {
        display: block;
    }
}

@media (prefers-reduced-motion: reduce) {
    .float-cta,
    .float-cta.is-show {
        transition: none;
    }
}

