@charset "utf-8";
html {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    color: #6c2c2f;
}

html,
body,
img {
    width: 100%;
}

body {
    max-width: 640px;
    margin: auto;
}

.wrapper {
    background-color: #fdf9cc;
}

/* General purpose */
._red {
    color: #f00;
}

/* header */
.header {
    background-color: #fde982;
}

/* footer */
.footer {
    padding: 40px 0 30px;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.45;
    text-align: center;
}

.footer._mod01 {
    padding: 0 0 30px;
}

.footer__small01 {
    font-size: 18px;
}

.footer__text02 {
    margin-top: 1.5em;
}

@media screen and (max-width: 768px) {
    .footer__small01 {
        font-size: 2.344vw;
    }
    .footer {
        padding: 5.208vw 0 3.906vw;
        font-size: 2.8125vw;
    }
}

/* block */
.sec01 {
    background-color: #ffe55f;
}


.sec01__inner,
.sec01__02,
.sec04__inner,
.sec05__inner01,
.sec08__inner {
    width: 87.5%;
    max-width: 560px;
    padding: 3.906vw 0;
    margin: auto;
}

.sec01__inner.-pb01 {
    padding: 30px 0;
}

.sec04__inner {
    padding: 10px 0 50px;
}

.sec08__inner {
    position: relative;
    padding: 0 0 30px;
}

.sec08__inner._pd01 {
    padding: 0 0 50px;
}

.sec01__02 {
    padding: 0;
}

.sec01__02 {
    background-color: #fff;
    border-radius: 6px;
}

.sec02__wrapper,
.sec07__wrapper,
.sec08__wrapper {
    background-color: #fff;
    margin-top: 30px;
    border-radius: 20px;
}

.sec08__wrapper {
    margin-top: 40px;
}

.sec02__wrapper:first-child {
    margin-top: 0;
}

.sec02,
.sec01__02-inner,
.sec05__box01,
.sec07,
.sec09,
.sec10 {
    width: 92.8571%;
    max-width: 520px;
    padding: 30px 0;
    margin: auto;
}

.sec05__box01 {
    margin-top: 20px;
}

.sec04 {
    background-color: #fde982;
}

.sec02.-mod01:first-child {
    position: relative;
    margin-bottom: 90px;
        &::after {
            position: absolute;
            left: 50%;
            bottom: -63px;
            transform: translateX(-50%);
            content: '';
            width: 60px;
            height: 30px;
            background-image: url(../img/img_bg02.png);
            background-repeat: no-repeat;
            background-size: cover;
        }
}

.card__box01 {
    display: flex;
    justify-content: space-between;
}

.card__box02 {
    max-width: 223px;
    width: 42.8846%;
    margin: 20px auto 0;
}

.sec03 {
    margin-top: 40px;
    text-align: center;
}

.sec05 {
    margin-top: 40px;
    background-color: #ffc2dc;
    text-align: center;
}

.sec05__container01 {
    background-color: #fff;
    border-radius: 6px;
}

.sec05__card01 {
    margin-top: 30px;
}

.sec09__img-box {
    margin: 20px auto 0;
    max-width: 364px;
}

@media screen and (max-width: 768px) {
    .sec01__inner,
    .sec01__02,
    .sec05__inner01 {
        padding: 4.688vw 0;
    }

    .sec01__inner.-pb01 {
        padding: 3.906vw 0;
    }

    .sec04__inner {
        padding: 1.302vw 0 6.51vw;
    }

    .sec02.-mod01:first-child {
        margin-bottom: 11.719vw;
            &::after {
                bottom: -33px;
                width: 9.375vw;
                height: 4.6875vw;
            }
    }

    .sec02__wrapper,
    .sec07__wrapper,
    .sec08__wrapper {
        margin-top: 3.906vw;
        border-radius: 2.604vw;
    }

    .sec05__card01 {
        margin-top: 15px;
    }

    .sec08__inner {
        position: relative;
        padding: 0 0 3.906vw;
    }

    .sec08__inner._pd01 {
        padding: 0 0 6.51vw;
    }

    .sec08__wrapper {
        margin-top: 5.208vw;
    }

    .sec09__img-box {
        margin: 2.604vw auto 0;
        max-width: 47.396vw;
    }

    .sec02,
    .sec01__02-inner,
    .sec05__box01,
    .sec07,
    .sec09,
    .sec10 {
        padding: 3.906vw 0;
    }
}


/* heading */
.sec01__heading01 {
    width: 100%;
}
.sec05__heading01 {
    position: relative;
    padding: 0.5em 0;
    color: #fff;
    font-size: 34px;
    font-weight: 900;
    text-align: center;
    border-radius: 6px;
    background-color: #e6002d;
    &::after {
        content: '';
        position: absolute;
        left: 50%;
        bottom: -10px;
        transform: translateX(-50%);
        width: 0;
        height: 0;
        border-left: 20px solid transparent;
        border-right: 20px solid transparent;
        border-top: 20px solid #e6002d;
        border-radius: 4px;
    }
}

.sec05__heading01 {
    font-weight: 700;
}

.sec02__heading01,
.sec02__heading02,
.sec01__heading02,
.sec01__heading03,
.sec09__heading01,
.sec09__heading02 {
    padding: 0.7em 0;
    font-size: 32px;
    font-weight: bold;
    text-align: center;
    color: #fff;
    clip-path: polygon(100% 0%, 97% 50%, 100% 100%, 0 100%, 3% 50%, 0 0);
}

.sec05__heading02 {
    padding: 0.3em 0;
    font-size: 34px;
    font-weight: bold;
    text-align: center;
    color: #fff;
    border-radius: 6px;
}

.sec09__heading01 {
    padding-left: 50px;
    text-align: left;
}

.sec09__heading02 {
    padding-left: 60px;
    text-align: left;
}

.sec02__heading-wrap,
.sec09__heading-wrap {
    position: relative;
}

.sec02__heading01,
.sec09__heading01 {
    background-color: #e89314;
    background-image: radial-gradient(circle, #e37d00 6px, transparent 6px), radial-gradient(circle, #e37d00 6px, transparent 6px);
    background-position: -4px 7px, 11px 25px;
    background-size: 30px 36px;
    -webkit-text-stroke: 3px #e37d00;
    paint-order: stroke fill;
}

.sec02__heading02,
.sec09__heading02 {
    background-color: #71ba52;
    background-image: radial-gradient(circle, #54ac2f 6px, transparent 6px), radial-gradient(circle, #54ac2f 6px, transparent 6px);
    background-position: -4px 7px, 11px 25px;
    background-size: 30px 36px;
    -webkit-text-stroke: 3px #54ac2f;
    paint-order: stroke fill;
}

.sec02__heading01-img,
.sec02__heading02-img,
.sec09__heading01-img,
.sec09__heading02-img {
    position: absolute;
    max-width: 102px;
    top: -44px;
    right: 30px;
}

.sec02__heading02-img {
    max-width: 114px;
    top: -30px;
}

.sec09__heading01-img {
    top: -43px;
    right: 20px;
}

.sec09__heading02-img {
    max-width: 100px;
    top: -45px;
    right: 20px;
}

.sec01__heading03 {
    background-image: linear-gradient(174deg, #17dbd0 50%, #01c9be 50%);
}

.sec05__heading02._platinum {
    background-image: linear-gradient(174deg, #787878 50%, #5b5b5b 50%);
}

.sec05__heading02._gold {
    background-image: linear-gradient(174deg, #c39f65 50%, #a47f44 50%);
}

.sec05__heading02._gold-u {
    background-image: linear-gradient(174deg, #eddb85 50%, #e1c953 50%);
}

.sec05__heading02._normal {
    background-image: linear-gradient(174deg, #c6d2dc 50%, #b3bcc4 50%);
}

.sec03__heading01 {
    font-size: 30px;
    font-weight: 900;
    text-decoration: underline;
    text-decoration-thickness: 0.5em;
    text-decoration-color: #fff100;
    text-underline-offset: -5px;
    text-decoration-skip-ink: none;
}

@media screen and (max-width: 768px) {
    .sec01__heading01,
    .sec02__heading01,
    .sec02__heading02,
    .sec01__heading02,
    .sec01__heading03,
    .sec04__heading01,
    .sec05__heading01,
    .sec05__heading02,
    .sec09__heading01,
    .sec09__heading02 {
        font-size: 5.3125vw;
    }

    .sec03__heading01 {
        font-size: 4.6875vw;
    }

    .sec09__heading01 {
        padding-left: 6.51vw;
    }

    .sec09__heading02 {
        padding-left: 7.813vw;
    }

    .sec02__heading01,
    .sec02__heading02,
    .sec09__heading01,
    .sec09__heading02 {
        background-position:
        clamp(-4px, -0.521vw, -2px) clamp(4px, 0.911vw, 7px),
        clamp(8px, 1.432vw, 11px) clamp(16px, 3.255vw, 25px);
        background-size: clamp(20px, 3.906vw, 30px) clamp(24px, 4.688vw, 36px);
    }

    .sec02__heading01-img,
    .sec02__heading02-img,
    .sec02__heading03-img,
    .sec09__heading01-img {
        position: absolute;
        width: 19.6153%;
        top: -5.729vw;
        right: 3.906vw;
    }

    .sec02__heading02-img {
        width: 21.923%;
        top: -3.906vw;
    }

    .sec09__heading01-img {
        top: -5.599vw;
        right: 2.604vw;
    }

    .sec09__heading02-img {
        width: 19.2307%;
        top: -5.859vw;
        right: 2.604vw;
    }
}


/* list */
.list__block01 {
    width: 92.8571%;
    max-width: 520px;
    padding: 2em 0;
    margin: auto;
}

.list__ttl01 {
    &:not(:first-child) {
        margin-top: 2em;
    }
}

.list__content02,
.list__content04,
.list__ttl03 {
    margin-top: 1em;
}

.list__item01,
.list__item05 {
    &:not(:first-child) {
        margin-top: 1em;
    }
}

.list__item02,
.list__item03,
.list__item04,
.list__item06,
.list__item10 {
    padding-left: 1em;
    text-indent: -1em;
}

.list__item03>a, .list__item04>a {
    text-decoration: underline;
    color: #0033ff;
}

.list__item07 {
    position: relative;
    margin-top: 30px;
    &:not(:last-child) {
        margin-bottom: 90px;
        &::after {
            position: absolute;
            left: 50%;
            bottom: -60px;
            transform: translateX(-50%);
            content: '';
            width: 60px;
            height: 30px;
            background-image: url(../img/img_bg01.png);
            background-repeat: no-repeat;
            background-size: cover;
        }
    }
}

.list__item07.-mod01:not(:last-child)::after {
    background-image: url(../img/img_bg03.png);
}

.list__item08 {
  position: relative;
  margin-top: 30px;
  &:not(:last-child) {
    margin-bottom: 90px;
    &::after {
      position: absolute;
      left: 50%;
      bottom: -60px;
      transform: translateX(-50%);
      content: '';
      width: 60px;
      height: 30px;
      background-image: url(../img/img_bg06.png);
      background-repeat: no-repeat;
      background-size: cover;
    }
  }
}

.img__box01 {
    width: 30%;
    max-width: 156px;
}

.img__box02 {
    margin-top: 30px;
    width: 100%;
}

.text__box01 {
    width: 65.3846%;
    max-width: 340px;
}

.text__box02 {
    width: 87%;
    max-width: 768px;
    margin: 0 auto;
}
.text__box02 .list__text02 {
    text-align: center;
}

.text__box04 {
    margin-top: 30px;
    text-align: center;
}

.list__heading02 {
    width: 30%;
    margin: 30px auto 0;
}

.sec09__list-ttl {
    font-size: 32px;
    font-weight: bold;
}

.sec09__list-ttl.-mt01 {
    margin-top: 42px;
}

.sec09__list-item {
    margin-top: 20px;
}

@media screen and (max-width: 768px) {
    .text__box04 {
        margin-top: 3.906vw;
        }

    .list__item07 {
        margin-top: 30px;
        &:not(:last-child) {
            margin-bottom: 60px;
            &::after {
                bottom: -5vh;
                width: 9.375vw;
                height: 4.6875vw;
            }
        }
    }

    .sec09__list-ttl {
        font-size: 4.167vw;
    }

    .sec09__list-ttl.-mt01 {
        margin-top: 5.469vw;
    }

    .sec09__list-item {
        margin-top: 2.604vw;
    }
}


/* text */
.list__text01,
.list__text04 {
    margin-top: 20px;
    font-size: 20px;
    font-weight: bold;
}

.list__text01._mt02 {
    margin-top: 34px;
}

.list__text02,
.list__text03 {
    margin-top: 20px;
    font-size: 18px;
    font-weight: 500;
    padding-left: 1em;
    text-indent: -1em;
}

.list__text03 {
    margin-top: 0;
}

.list__text04 {
    text-align: center;
}

.list__text05 {
    margin-top: 30px;
    font-size: 28px;
    text-align: center;
    letter-spacing: -2px;
    font-weight: 500;
    line-height: 1.4;
}

.list__text06 {
    margin-top: 20px;
    font-size: 28px;
    text-align: center;
    font-weight: 500;
    line-height: 1.4;
}

.list__text06.-mod01 {
    width: calc(100% + 30px);
    margin-left: -15px;
    margin-right: -15px;
    letter-spacing: -4px;
}

.list__deco {
    font-size: 32px;
    text-decoration: underline;
    text-decoration-thickness: 0.5em;
    text-decoration-color: rgba(255, 255, 0, 0.4);
    text-underline-offset: -0.2em;
    text-decoration-skip-ink: none;
}

.list__text07 {
    margin-top: 15px;
    font-size: 20px;
    text-align: center;
    line-height: 1.5;
}

/* グレー時はis-disabled、赤時はis-activeとします */
.text__block01 {
    display: block;
    padding: 1em;
    margin-top: 30px;
    width: 100%;
    border: 2px solid #6c2c2f;
    font-size: 20px;
    font-weight: bold;
    overflow-wrap: anywhere;
    word-break: normal;
    line-break: strict;
    border-radius: 10px;
}

.text__block01.is-active {
    color: #000;
}

.text__block01.is-disabled {
    color: #6c2c2f;
}

.text__content01 {
    margin-top: 20px;
    padding-left: 1em;
    text-indent: -1em;
}

.text__content02 {
    padding-left: 1em;
    text-indent: -1em;
    /* &:not(:last-of-type) {
        margin-top: 20px;
    } */
}
.text__content02:first-of-type {
    margin-top: 20px;
}

.text__content02>a {
    text-decoration: underline;
    color: #0033ff;
}

.text__content01>a {
    text-decoration: underline;
    color: #0033ff;
}

.complete__text01 {
    margin-top: 20px;
    text-align: center;
    color: #e60012;
    font-size: 24px;
    font-weight: bold;
}

.complete__text01.is-disabled {
    display: none;
}

.complete__text01.is-active {
    display: block;
}

.text__block04 {
    display: block;
    margin-top: 1.5em;
}

.text__deco01,
.text__deco02 {
    padding: 0.5em 0.8em;
    font-size: 22px;
    color: #fff;
    border-radius: 6px;
}

.text__deco01 {
    margin-right: 0.2em;
    background-color: #e89314;
}

.text__deco02 {
    margin-left: 0.2em;
    background-color: #71ba52;
}

.text__deco03 {
    display: block;
    margin-top: 10px;
    font-size: 26px;
    font-weight: 900;
    color: #fb7432;
}

.text__deco04 {
    font-size: 26px;
    font-weight: 700;
    color: #01c9be;
}

.text__deco05 {
    font-size: 21px;
    font-weight: 700;
    color: #01c9be;
}

.text__area01 {
    margin-top: 30px;
}

.text__inner01 {
    text-align: center;
    font-size: 16px;
    font-weight: bold;
}

.sec03__text {
    margin-top: 30px;
    line-height: 1.67;
    font-size: 24px;
    font-weight: bold;
}

.code__text01 {
    margin-top: 1em;
}

.status__message {
    margin-top: 30px;
    font-size: 30px;
    font-weight: bold;
}

.sec05__text01 {
    font-size: 24px;
    line-height: 1.6;
    font-weight: 500;
}

.sec05__text02 {
    margin-top: 15px;
    font-size: 46px;
    font-weight: 700;
}

.sec05__text03 {
    margin-top: 30px;
    font-size: 20px;
    font-weight: 700;
}

.sec05__deco01 {
    color: #fb7432;
    padding-left: 0.2em;
    font-size: 56px;
}

.sec08__deco01 {
    display: inline-block;
    font-size: 30px;
    padding: 0.2em;
    margin: auto;
    background-color: #fff;
    border-radius: 12px;
}

.sec08__deco02 {
    display: block;
    margin-top: 20px;
}

.sec08__text01 {
    margin-top: 30px;
    font-size: 32px;
    font-weight: bold;
    text-align: center;
}

.sec09__text01 {
    margin-top: 30px;
    font-weight: bold;
    font-size: 28px;
    text-align: center;
    text-decoration: underline;
    text-decoration-thickness: 0.5em;
    text-decoration-color: rgba(255, 255, 0, 0.4);
    text-underline-offset: -0.2em;
    text-decoration-skip-ink: none;
    overflow-wrap: anywhere;
}

.sec09__text02 {
    margin-top: 0.5em;
    text-align: right;
    font-size: 16px;
}

.sec09__text03,
.sec09__text04 {
    font-size: 20px;
    margin-top: 30px;
}

.sec09__text05 {
    font-size: 24px;
    font-weight: 500;
}

.sec09__deco01 {
    font-size: 22px;
    writing-mode: vertical-rl;
}

.sec09__deco02 {
    font-size: 90px;
    font-weight: 900;
    display: inline-block;
    background-color: #ffffff;
    background-image:
    linear-gradient(160deg, rgba(246, 117, 47, 1) 50%, rgba(234, 85, 4, 1) 50%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    line-height: 1.4;
}

.sec09__deco03 {
    font-size: 36px;
    font-weight: 700;
}

.sec09__deco04 {
    font-size: 48px;
    font-weight: bold;
    text-decoration: underline;
    text-decoration-thickness: 0.5em;
    text-decoration-color: rgba(255, 255, 0, 0.4);
    text-underline-offset: -0.2em;
    text-decoration-skip-ink: none;
}

@media screen and (max-width: 768px) {
    .list__text01,
    .text__block01,
    .list__text04 {
        font-size: 3.125vw;
    }

    .list__text01._mt02 {
        margin-top: 30px;
    }

    .list__text02,
    .list__text03,
    .text__content02 {
        font-size: 2.8125vw;
    }

    .list__text05 {
        margin-top: 3.906vw;
        font-size: 3.646vw;
        letter-spacing: -0.26vw;
    }

    .list__text06 {
        margin-top: 2.604vw;
        font-size: 3.646vw;
    }

    .list__text06.-mod01 {
        width: calc(100% + 3.906vw);
        margin-left: -1.953vw;
        margin-right: -1.953vw;
        letter-spacing: -0.521vw;
    }

    .list__deco {
        font-size: 4.167vw;
    }

    .list__text07 {
        margin-top: 1.953vw;
        font-size: 2.604vw;
    }

    .text__content01 {
        font-size: 2.89vw;
    }

    .text__inner01 {
        font-size: 2.344vw;
    }

    .text__deco01,
    .text__deco02,
    .text__deco05 {
        font-size: 2.8vw;
    }

    .text__deco03,
    .text__deco04 {
        font-size: 4.0625vw;
    }

    .sec03__text {
        font-size: 3.75vw;
    }

    .status__message {
        font-size: 4.6875vw;
    }

    .sec05__text01 {
        font-size: 3.125vw;
    }

    .sec05__text02 {
        font-size: 5.427vw;
    }

    .sec05__text03 {
        margin-top: 1.5em;
        font-size: 3.9vw;
    }

    .sec05__deco01 {
        font-size: 7.292vw;
    }

    .sec08__deco01 {
        padding: 0.5em;
        font-size: 3.906vw;
    }

    .sec08__deco02 {
        margin-top: 2.604vw;
    }

    .sec08__text01 {
        margin-top: 3.906vw;
        font-size: 4.167vw;
    }

    .sec09__text01 {
        margin-top: 3.906vw;
        font-size: 3.646vw;
    }

    .sec09__text02 {
        font-size: 2.083vw;
    }

    .sec09__text03,
    .sec09__text04 {
        font-size: 2.604vw;
        margin-top: 3.906vw;
    }

    .sec09__text05 {
        font-size: 3.125vw;
        font-weight: 500;
    }

    .sec09__deco01 {
        font-size: 2.865vw;
    }

    .sec09__deco02 {
        font-size: 11.719vw;
    }

    .sec09__deco03 {
        font-size: 4.688vw;
    }

    .sec09__deco04 {
        font-size: 6.25vw;
    }

}

@media screen and (max-width: 600px) {
    .text__deco01,
    .text__deco02 {
        font-size: 3.4375vw;
    }
}


/* btn */
/* グレー時はis-disabled、赤時はis-activeとします */
.btn__area01 {
    position: relative;
    width: 92.3076%;
    max-width: 480px;
    margin: 30px auto 0;
    border-radius: 100px;
}

.btn__link01 {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0.5em 0;
    font-size: 30px;
    font-weight: bold;
    color: #fff;
}

.btn__area01.is-disabled {
    background-color: #666666;
}

.btn__area01.is-active {
    background-color: #e6002d;
}

.btn__img01 {
    position: absolute;
    width: 33px;
    height: 33px;
    top: 50%;
    right: 2.70833333%;
    transform: translateY(-50%);
}

.copy__btn01,
.btn__area02 {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 92.3076%;
    max-width: 480px;
    margin: 30px auto 0;
    border-radius: 100px;
    font-size: 30px;
    font-weight: bold;
    color: #fff;
}

.copy__btn01 {
    padding: 0.5em 0;
}

.copy__btn01.is-disabled,
.btn__area02.is-disabled {
    background-color: #666666;
}

.copy__btn01.is-active {
    background-color: #fb7432;
}

.btn__area02.is-active {
    background-color: #fff;
    color: #fb7432;
    border: 3px solid #fb7432;
}

@media screen and (max-width: 768px) {
    .btn__link01,
    .copy__btn01,
    .btn__area02 {
        font-size: 4vw;
    }

    .btn__img01 {
        width: 5.115625vw;
        height: 5.115625vw;
    }

}


/* link */
.list__link01,
.text__link01 {
    color: #0033ff;
    text-decoration: underline;
}

.btn__link02 {
    display: block;
    padding: 0.5em 0;
    width: 100%;
    height: auto;
    text-align: center;
}


/* bnr */
.bnr__area01 {
    width: 87.5%;
    max-width: 560px;
    margin: 30px auto 0;
}

/* accordion */
.accordion__area._mt01 {
    margin-top: 30px;
}
.accordion__btn {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 0.5em 0;
    font-size: 30px;
    font-weight: bold;
    background-color: #fff;
    border: 3px solid #6c2c2f;
    border-radius: 6px;
}

.accordion__img {
    position: absolute;
    top: 50%;
    right: 4.642857142%;
    width: 33px;
    height: 33px;
    transform: translateY(-50%);
}

.accordion__container {
    display: none;
    border-radius: 0 0 6px 6px;
    border: 3px solid #6c2c2f;
    border-top: none;
    background-color: #fff;
}

@media screen and (max-width: 768px) {
    .accordion__btn {
        font-size: 4.6875vw;
    }

    .accordion__img {
        width: 5.115625vw;
        height: 5.115625vw;
    }

}