@charset "UTF-8";
/* base */
html {
    container-type: inline-size;
    scroll-behavior: smooth;
}

* {
    box-sizing: border-box;
}

a {
    color: #005ecd;
}

img {
    width: 100%;
}

body {
    background-image: url(../img/img_bg04.png);
    color: #323232;
    font-family: -apple-system, BlinkMacSystemFont,"Hiragino Kaku Gothic ProN", "Hiragino Sans","Noto Sans JP", "Yu Gothic", sans-serif;
    font-weight: 400;
    font-synthesis-weight: none;

}

.header {
    background-color: #fff;
}

.header__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20%;
    max-width: 960px;
    padding: 1em;
    margin: auto;
}

.header__list01 {
    display: flex;
    gap: 8%;
    align-items: center;
}

.header__img01,
.header__img02 {
    max-width: 100%;
    height: auto;
    display: block;
}

.wrapper {
    position: relative;
    max-width: 960px;
    margin: auto;
}

.footer__inner {
    padding: 3%;
    font-size: 18px;
    text-align: center;
    background-color: #fff;
}

.footer__nav {
    max-width: 860px;
    margin: auto;
    font-size: 14px;
}

.nav__list01 {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 3.1rem;
}

.nav__link01 {
    display: inline-block;
    position: relative;
    padding-right: 1.5em;
    text-decoration: none;
    color: #323232;
}

.nav__link01::after {
    content: '';
    position: absolute;
    width: 18px;
    height: 20px;
    top: 77%;
    transform: translateY(-50%);
    right: 0;
    background-image: url(../img/img_ico06.png);
    background-repeat: no-repeat;
    background-size: contain;
}

.nav__link01:hover {
    text-decoration: underline;
}

.nav__list01:not(:first-child) {
    margin-top: 10px;
}

.footer__text01 {
    margin-top: 2em;
    padding-bottom: 2em;
    text-align: center;
    font-size: 12px;
}

@media screen and (max-width: 959px) {
    .wrapper {
        width: 100%;
    }
}
@media screen and (max-width: 767px) {
    .header__logo {
        padding: 10px;
        width: 25%;
    }
}

/* General purpose */
.t-bold {
    font-weight: bold;
}

.pc__only {
    display: block;
}

@media screen and (max-width: 767px) {
    .pc__only {
        display: none;
    }
}

/* nav */
@media screen and (max-width: 500px) {
}

/* heading */
.heading01 {
    max-width: 1024px;
    margin: auto;
    text-align: center;
}

.heading02 {
    padding-top: 40px;
}

.heading02__img01 {
    width: 88.8541%;
}

.heading03 {
    position: relative;
    width: 34.8542%;
    min-height: 80px;
    padding: 0.5em 0;
    margin: auto;
    text-align: center;
    line-height: 1;
    font-size: 40px;
    color: #fff;
    background-color: #252525;
    display: flex;
    justify-content: center;
    align-items: center;
}

.sec07 .heading03 {
    width: 17.83333%;
}

.heading03::before,
.heading03::after,
.heading03__mod01::before,
.heading03__mod01::after,
.heading03__mod02::before,
.heading03__mod02::after  {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.heading03::before,
.heading03::after {
    width: 17px;
    height: 15px;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url(../img/img_ico03.png);
}

.heading03::before {
    left: -2.8em;
}

.heading03::after {
    right: -2.8em;
}

.heading03__mod01::before,
.heading03__mod01::after {
    width: 29px;
    height: 25px;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url(../img/img_ico02.png);
}

.heading03__mod01::before {
    left: -1.8em;
}

.heading03__mod01::after {
    right: -1.8em;
}

.heading03__mod02::before,
.heading03__mod02::after {
    width: 1.5em;
    min-height: 80px;
    background-color: #252525;
}

.heading03__mod02::before {
    left: -15px;
    clip-path: polygon(25% 0%, 25% 100%, 0% 50%);
}

.heading03__mod02::after {
    right: -15px;
    clip-path: polygon(75% 0%, 100% 50%, 75% 100%);
}

.heading04 {
    position: relative;
    width: 32.9167%;
    margin: 18px auto 0;
    padding: 0.5em 0;
    font-size: 32px;
    font-weight: bold;
    border-top: 2px solid #323232;
    border-bottom: 2px solid #323232;
}

.heading04::before,
.heading04::after {
    content: '';
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background: #323232;
}

.heading04::before {
    top: -7px;
}

.heading04::after {
    bottom: -7px;
}

.heading06 {
    text-align: center;
    font-size: 40px;
    -webkit-text-stroke: 4px #fff;
    paint-order: stroke;
}

.sec08__heading04 {
    font-size: 40px;
    font-weight: bold;
}

.sec08__deco01 {
    display: inline-block;
    padding-bottom: 0.1em;
    margin-bottom: 14px;
    border-bottom: 4px solid #0819d6;
}

.sec08__heading-mod01 {
    font-size: 46px;
    font-weight: 900;
}

.sec08__heading-mod02 {
    font-size: 28px;
    font-weight: 900;
}

.sec08__ttl01 {
    padding: 0.5em 0;
    font-size: 1.45833333vw;
    font-weight: 900;
    color: #fff;
    background-color: #0819d6;
    clip-path: polygon(0 0, calc(100% - 36px) 0, 100% 55px, 100% 100%, 0 100%);
}

.sec08__ttl03 {
    position: relative;
    display: inline-block;
    font-size: 18px;
    font-weight: bold;
}

.sec08__ttl03::after {
    content: '';
    position: absolute;
    top: 60%;
    transform: translateY(-50%);
    right: -15%;
    width: 16px;
    height: 14px;
    background-image: url(../img/img_ico01.png);
    background-repeat: no-repeat;
    background-size: contain;
}

@media screen and (max-width: 959px) {
    .heading03 {
        font-size: 4.16666vw;
    }

    .heading03::before {
        left: -3.8em;
    }

    .heading03::after {
        right: -3.8em;
    }

    .heading03__mod01::before {
        left: -2.5em;
    }

    .heading03__mod01::after {
        right: -2.5em;
    }

    .heading03__mod02::before,
    .heading03__mod02::after {
        width: 1.5em;
        min-height: 80px;
        background-color: #252525;
    }

    .heading03__mod02::before {
        left: -1.4vw;
    }

    .heading03__mod02::after {
        right: -1.4vw;
    }

    .sec08__heading04 {
        font-size: 5.33333vw;
    }

    .sec08__heading-mod01 {
        font-size: 6.33333vw;
    }

    .sec08__heading-mod02 {
        font-size: 4.333333vw;
    }

    .sec08__ttl01 {
        font-size: 20px;
        clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 55px, 100% 100%, 0 100%);
    }

}

@media screen and (max-width: 768px) {
    .heading04 {
        font-size: 24px;
    }

    .heading06 {
        font-size: 20px;
    }

    .sec08__heading-mod01 {
        font-size: 5vw;
    }

    .sec08__heading-mod02 {
        font-size: 3vw;
    }
}

/* block */
.btn__container01 {
    margin-top: 40px;
}

.check__area01 {
    width: 44.5%;
    position: relative;
    margin: 1.5em auto 0;
    text-align: center;
    font-size: 15px;
    line-height: 1.8;
}

.check__area02 {
    position: relative;
}

.sec02__wrapper {
    width: 100vw;
    width: 100cqw;
    margin: 46px calc(50% - 50vw) 0;
    background-image: url(../img/img_bg01.png);
    background-repeat: no-repeat;
    background-size: cover;
}

.sec02 {
    max-width: 960px;
    margin: 0 auto;
    text-align: center;
}

.bnr__container01 {
    width: 73.5416%;
    margin: 28px auto 0;
    padding-bottom: 36px;
}

.sec03 {
    text-align: center;
    margin-top: 64px;
}

.sec04 {
    margin-top: 40px;
    padding: 24px 0 56px;
    background-color: #fff;
    clip-path: polygon(
    50px 0, calc(100% - 50px) 0, 100% 50px,
    100% calc(100% - 50px), calc(100% - 50px) 100%,
    50px 100%, 0 calc(100% - 50px), 0 50px);
}

.sec04__inner,
.sec06 {
    width: 85%;
    margin: auto;
}

.sec04__inner.-bg01 {
    background-image: url(../img/img_bg02.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top center;
}

.card__container01 {
    margin-top: 2em;
    width: 100%;
}

.card__container02 {
    display: flex;
    justify-content: center;
    gap: 3.3333%;
    margin-top: 32px;
}

.card__item02 {
    position: relative;
    width: 48.0392%;
}

.card__item02:first-child::after {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -10%;
    display: block;
    width: 51px;
    height: 51px;
    background-image: url(../img/img_ico05.png);
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 1;
}

.card__wrap02 {
    position: relative;
}

.sec05 {
    margin-top: 80px;
}

.sec06 {
    margin-top: 40px;
}

.sec06__container01 {
    margin-top: 24px;
    padding: 1em 0;
    background-color: #fff;
    font-weight: normal;
}

.sec06__inner {
    width: 93.1372%;
    height: 20em;
    padding: 1em;
    margin: auto;
    font-size: 16px;
    overflow-y: scroll;
    overflow-x: hidden;
    border: 2px solid #aaa;
    line-height: 1.4;
}

.sec07 {
    margin-top: 64px;
}

.sec08 {
    max-width: 1200px;
    margin: 40px auto 0;
    padding-bottom: 2em;
    text-align: center;
    background-color: #fff;
    border: 4px solid #0819d6;
}

.sec08__wrap01 {
    width: 89.3333%;
    padding: 24px 0 32px;
    margin: 36px auto 0;
    background-color: #d7ffeb;
}

.sec08__wrap01:not(:first-child) {
    margin-top: 32px;
}

.sec08__container01 {
    display: flex;
    gap: 6.3829%;
    width: 88.3458%;
    margin: 32px auto 0;
}

.sec08__list02 {
    width: 45.5319%;
    flex-shrink: 0;
}

.sec08__list03 {
    margin-top: 24px;
}

.sec08__list03.-mt03 {
    margin-top: 32px;
}

.sec09 {
    padding-top: 80px;
}

.sec09__inner,
.sec10__inner {
    width: 85%;
    margin: auto;
}

.sec09__container01 {
    margin-top: 34px;
    padding: 1em;
    text-align: center;
    background-color: #fff;
    border: 4px solid #323232;
    border-radius: 16px;
}

.sec10 {
    margin-top: 70px;
    padding-bottom: 120px;
}

.sec10__list01 {
    margin-top: 50px;
}

.sec10_item01:not(:first-child) {
    margin-top: 48px;
}

.sec06__wrapper,
.sec07__wrapper {
    background-color: #fff;
}

.sec06__campaign-box:not(:first-child),
.sec07__campaign-box:not(:first-child) {
    margin-top: 2em;
}

@media screen and (max-width: 1750px) {
    .card__box01 {
        min-height: 360px;
    }
}

@media screen and (max-width: 959px) {
    .sec08__container01 {
        display: block;
    }
    .sec08__list02 {
        width: auto;
    }
    .sec08__list02:not(:first-child) {
        margin-top: 40px;
    }
}

@media screen and (max-width: 860px) {
    .card__item02:first-child::after {
        right: -7%;
        width: 26px;
        height: 26px;
    }
}

@media screen and (max-width: 767px) {
    .check__area01 {
        font-size: 12px;
    }
    .card__item02:first-child::after {
        right: -8%;
    }
    .sec06__inner {
        font-size: 12px;
    }
}

@media screen and (max-width: 600px) {
    .check__area01 {
        width: 93.5%;
    }
    .card__item02:first-child::after {
        right: -10%;
    }
}

@media screen and (max-width: 400px) {
    .card__item02:first-child::after {
        right: -12%;
    }
}

/* link */
.sec06__campaign-link,
.sec07__campaign-link {
    text-decoration: underline #005ecd;
}
@media screen and (max-width: 959px) {
}

/* text */
.sec04__text01 {
    margin-top: 36px;
    line-height: 1.2;
    font-size: 28px;
    font-weight: bold;
}

.sec04__text02 {
    width: 135px;
    margin: 32px auto 24px;
}

.sec04__deco01 {
    font-size: 32px;
}

.sec04__deco02 {
    font-size: 40px;
    color: #f90fd0;
    background: linear-gradient(to bottom, transparent 70%, #feff47 70%);
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.sec04__point01 {
    font-size: 80px;
}

.sec04__deco06 {
    color: #feff47;
}

.sec04__deco07 {
    font-size: 20px;
}

.sec04__deco08 {
    letter-spacing: -0.1em;
}

.sec04__list01 {
    margin-top: 24px;
    text-align: left;
    font-size: 18px;
}

.sec04__item01 {
    padding-left: 1em;
    text-indent: -1em;
}

.card__deco01 {
    position: relative;
    font-size: 24px;
    -webkit-text-stroke: 6px #fff;
    paint-order: stroke;
    z-index: 2;
}

.card__point01 {
    display: block;
    margin-top: 10px;
    font-size: 68px;
    color: #f90fd0;
}

.card__point01.-mt01 {
    margin-top: 26px;
}

.card__text07 {
    position: absolute;
    font-size: 24px;
    font-weight: bold;
    left: 50%;
    transform: translateX(-50%);
    bottom: 2em;
    white-space: nowrap;
}

.card_link01 {
    color: #323232;
}

.sec04__text03 {
    width: 10.7843%;
    max-width: 88px;
    flex-shrink: 0;
}

.sec08__caption01 {
    margin-top: 1.5em;
    font-size: 20px;
}

.sec08__list01 {
    margin-top: 30px;
    font-size: 18px;
}

.sec08__text01 {
    margin-top: 30px;
    font-size: 18px;
}

.sec08__text02 {
    max-width: 680px;
    width: 75.9398%;
    margin: 32px auto 0;
}

.sec09__list01 {
    text-align: center;
    font-size: 18px;
}

.sec09__text01 {
    font-size: 24px;
    font-weight: 900;
}

.sec09__list02 {
    margin-top: 1em;
    font-size: 18px;
}

.sec06__text01 {
    font-weight: bold;
}

.sec06__text02 {
    margin-top: 1em;
}

.sec06__campaign-list {
    margin-top: 2em;
}

.sec06__campaign-ttl,
.sec07__campaign-ttl {
    font-weight: bold;
}
.sec07__campaign-sub {
    display: block;
    font-size: 12px;
    font-weight: normal;
}
.sec06__campaign-details.-indent01,
.sec07__campaign-details.-indent01 {
    text-indent: -1em;
    padding-left: 1em;
}
.sec06__campaign-details.-mt01 {
    margin-top: 1em;
}
.sec06__campaign-details.-mt03,
.sec07__campaign-details.-mt03 {
    margin-top: 1em;
}
.sec06__campaign-details.-mt05 {
    margin-top: 1em;
}
.sec06__campaign-txt,
.sec07__campaign-txt {
    text-indent: -1em;
    padding-left: 1em;
}
.sec06__campaign-details.-color01,
.sec06__campaign-details .-color01,
.sec07__campaign-txt.-color01 {
    color: #cc0033;
}
.sec06__campaign-supplement,
.sec07__campaign-supplement {
    margin-top: 1em;
}
.sec06__campaign-supplement.-mt04,
.sec07__campaign-supplement.-mt04 {
    margin-top: 0;
}
.sec06__campaign-txt.-indent02 {
    text-indent: -1em;
    padding-left: 1em;
}

@media screen and (max-width: 959px) {
    .card__point01 {
        font-size: 50px;
    }
    .sec09__list01 {
        font-size: 14px;
    }
    .sec09__text01 {
        font-size: 20px;
    }
    .sec04__item01 {
        font-size: 14px;
    }
    .sec04__text02 {
        width: 16.5441%;
    }
}
@media screen and (max-width: 767px) {
    .card__text06 {
        padding-top: 16px;
        font-size: 16px;
    }
    .card__deco01 {
        font-size: 14px;
    }
    .card__text07 {
        margin-top: 0.5em;
        font-size: 16px;
    }
    .card__point01,
    .sec04__deco04 {
        font-size: 40px;
    }
    .sec04__text01 {
        font-size: 16px;
    }
    .card__text01,
    .card__text05 {
        font-size: 20px;
    }
    .card__text05 {
        clip-path: polygon(0 0, calc(100% - 27px) 0, 100% 38px, 100% 100%, 0 100%);
    }
    .card__text01 {
        width: 75%;
    }
    .card__text02,
    .card__text03 {
        font-size: 20px;
    }
    .card__text07 {
        font-size: 14px;
    }
    .sec04__item01 {
        font-size: 12px;
    }
    .sec09__item02 {
        font-size: 14px;
    }
    .sec08__caption01 {
        font-size: 16px;
    }
    .sec08__list01 {
        font-size: 14px;
    }
    .sec08__text01 {
        font-size: 14px;
    }
    .sec09__list01 {
        font-size: 12px;
    }
}
@media screen and (max-width: 600px) {
    .sec09__list01 {
        color: #fff;
    }
}
@media screen and (max-width: 500px) {
    .card__point01,
    .sec04__deco04 {
        font-size: 24px;
    }
    .card__text01,
    .card__text05 {
        font-size: 20px;
    }
    .card__text01 {
        width: 95%;
    }
    .sec08__caption01 {
        font-size: 14px;
    }
    .sec09__text01 {
        font-size: 12px;
    }
    .sec09__item02 {
        font-size: 12px;
    }
    .card__text07 {
        font-size: 10px;
    }
}

/* table */
.sec07__table {
    width: 100%;
    margin-top: 40px;
    border: 4px solid #cfd0d6;
    & thead th {
        font-weight: bold;
        background-color: #e6e7ea;
    }
    & th, td {
        padding: 0.5em 0;
        text-align: center;
        border: 2px solid #cfd0d6;
    }
    & td {
        font-size: 16px;
    }
}
@media screen and (max-width: 959px) {
.sec07__table {
    & td {
        font-size: 14px;
    }
}
}

/* floating__btn */
.floating__btn {
    display: none;
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    padding: 1em 0;
    text-align: center;
    background: linear-gradient(0deg,rgba(42, 123, 155, 1) 0%, rgba(87, 199, 133, 1) 0%, rgba(185, 213, 100, 1) 0%, rgba(0, 222, 42, 1) 0%, rgba(16, 11, 215, 1) 100%);
    pointer-events: none;
    transition: opacity 180ms ease, transform 180ms ease
}

.floating__btn.is-visible {
    display: block;
    animation: fadeIn 180ms ease-out;
    pointer-events: auto;
}


.floating__inner {
    display: flex;
    justify-content: center;
    gap: 3.75%;
    max-width: 960px;
    margin: auto;
}

.floating__box {
    position: relative;
    width: 44.4791%;
    flex-shrink: 0;
}

.check__text01 {
    padding-left: 1.5em;
}

.check__text02 {
    display: block;
    margin-top: 0.5em;
    padding-left: 1.5em;
    text-align: left;
    font-size: 15px;
}

@media screen and (max-width: 767px) {
    .check__text02 {
        font-size: 10px;
    }
}

/* anchor__btn */
@media screen and (max-width: 959px) {

}

/* btn */
.btn__area01 {
    width: 62.5%;
    margin: 24px auto 0;
}

.agree-container:has(.agree-checkbox:not(:checked)) .agree-button {
  filter: grayscale(1) brightness(0.85) contrast(0.9);
  pointer-events: none;
  opacity: 0.8;
}

.agree-checkbox {
  position: absolute;
  -webkit-appearance: none;
  appearance: none;
  top: 5%;
  left: 0;
  width: 22px;
  height: 22px;
  border-radius: 4px;
  border: 2px solid #0d6efd;
  background: #0d6efd;
  display: grid;
  place-content: center;
  cursor: pointer;
  outline: none;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}

.check__box01 {
    top: 0;
}

.agree-checkbox:not(:checked) {
  background: #fff;
  border-color: #0d6efd;
}

.agree-checkbox::before {
  content: "";
  width: 10px;
  height: 6px;
  border-left: 3px solid #fff;
  border-bottom: 3px solid #fff;
  transform: rotate(315deg);
  opacity: 1;
  transition: opacity 0.15s ease;
}

.agree-checkbox:not(:checked)::before {
  opacity: 0;
}

.agree-checkbox:focus-visible {
  box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.35);
}

.agree-button:hover {
  filter: brightness(1.03);
}

.check__area01,
.floating__box .check__text02 {
  line-height: 1.6;
}

.sec08__item03 {
    width: 97.1962%;
    margin: 16px auto 0;
}

.sec08__item03.-mt04 {
    margin-top: 24px;
}

@media screen and (max-width:768px) {
    .btn__area01 {
        width: 80%;
    }

    .check__box01 {
        top: 2%;
    }
}

@media screen and (max-width:500px) {
    .check__box01 {
        top: -2%;
    }

    .agree-checkbox {
        left: -4px;
    }
}