@charset "UTF-8";

/* base */
* {
    box-sizing: border-box;
}
a {
    color: #005ecd;
}
.header__logo {
    padding: 24px 14px;
    width: 160px;
}
.wrapper {
    width: 960px;
    margin: auto;
}
.footer {
    padding: 0 3%;
    font-size: 18px;
    text-align: center;
}
@media screen and (max-width: 959px) {
    .wrapper {
        width: 100%;
    }
}
@media screen and (max-width: 768px) {
    .header__logo {
        padding: 10px;
        width: 25%;
    }
}

/* nav */
.sec02__nav-list,
.sec03__nav-list {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.sec02__nav-list {
    margin-top: 24px;
}
.sec03__nav-list {
    align-items: end;
}
.sec02__nav-item {
    width: 49%;
}

/* heading */
.sec02__heading-img.-length01 {
    width: 77.36%;
}
.sec02__heading-img.-length02 {
    width: 77.25%;
}
.sec04__heading.-length03 {
    width: 42.7%;
    margin: auto;
}
.sec04__heading02 {
    padding-top: 32px;
    text-align: left;
}
.sec06__heading,
.sec07__heading {
    position: relative;
    padding: 32px 0;
    text-align: center;
}
.sec06__heading {
    background-color: #cc0033;
}
.sec07__heading {
    background-color: #b38f00;
}
.sec06__img,
.sec07__img {
    position: absolute;
    top: 50%;
    right: 5%;
    transform: translateY(-50%);
}

/* block */
.sec__wrapper {
    padding: 0 3%;
}
.sec02__block.-mt01 {
    margin-top: 32px;
}
.sec02__block {
    margin-top: 24px;
}
.sec02__img {
    width: 100%;
}
.link__box {
    margin-top: 24px;
}
.link__box.-mt02 {
    margin-top: 32px;
}
.sec03 {
    margin-top: 50px;
    text-align: center;
}
.sec04__block-wrapper {
    margin-top: 40px;
    padding: 0 1% 44px;
    border: 4px solid #cc0033;
    background-color: #fff;
}
.sec04__block {
    background-color: #ffe9ef;
    width: 96.64%;
    padding: 24px 0 0;
    margin: 40px auto 0;
}
.sec04__link-block {
    padding: 32px 2% 0;
    text-align: left;
}
.sec04__link-block.-pt01 {
    padding-top: 40px;
}
.sec04__link-block.-mod02 {
    padding: 50px 2% 32px;
}
.sec04__link-box,
.sec04__txt-block {
    display: flex;
    justify-content: space-around;
    align-items: center;
}
.sec04__txt-block.-mod09 {
    justify-content: space-between;
}
.sec04__link-box {
    justify-content: space-between;
    margin-top: 24px;
}
.sec04__inner {
    padding: 0 2% 32px;
}
.sec04__wrapper.-mod07 {
    background-color: #fff;
}
.sec05 {
    margin-top: 80px;
    text-align: center;
}
.sec05__bnr {
    margin-top: 40px;
}
.sec06 {
    margin-top: 80px;
}
.sec07 {
    margin-top: 32px;
}
.sec06__wrapper {
    border: 4px solid #cc0033;
}
.sec07__wrapper {
    border: 4px solid #b38f00;
}
.sec06__wrapper,
.sec07__wrapper {
    padding: 32px 2% 35px;
    background-color: #fff;
}
.sec06__campaign-box:not(:first-child),
.sec07__campaign-box:not(:first-child) {
    margin-top: 40px;
}
@media screen and (max-width: 767px) {
    .sec04__link-block.-pt01 {
        padding-top: 24px;
    }
    .sec04__link-block.-mod02 {
        padding-top: 32px;
    }
}

/* link */
.sec02__anchors {
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 24px 0;
    background-color: #fff;
}
.sec02__anchor-item {
    border-bottom: 1px solid #080808;
}
.sec02__anchor-link {
    padding-bottom: 0.2em;
    font-size: 24px;
    font-weight: bold;
    color: #080808;
    /* text-decoration: underline #080808;
    text-underline-offset: 0.2em; */
}
.link__wrapper {
    margin-top: 24px;
    text-align: center;
}
.sec04__link-btn {
    margin-top: 22px;
    padding-bottom: 32px;
}
.sec06__campaign-link,
.sec07__campaign-link {
    text-decoration: underline #005ecd;
    text-underline-offset: 0.2em;
}
@media screen and (max-width: 959px) {
    .sec02__anchors {
        padding: 16px 0;
    }
    .sec02__anchor-link {
        font-size: 4vw;
    }
}

/* text */
.sec04__txt,
.sec06__wrapper,
.sec07__wrapper {
    color: #000;
}
.caption__txt {
    font-size: 24px;
    color: #cc0033;
}
.link__txt {
    margin-top: 24px;
    font-size: 24px;
}
.sec04__txt {
    margin-top: 28px;
    font-size: 18px;
}
.sec04__txt-box.-mod01 {
    width: 35.7%;
    margin: auto;
    margin-top: 32px;
    text-align: center;
}
.sec04__txt-box.-mod03 {
    position: relative;
    padding: 40px 0;
    text-align: center;
    background-color: #fff;
    &::after {
        content: "";
        position: absolute;
        display: block;
        width: 100%;
        max-width: 760px;
        height: 4px;
        background-image: url(../img/hr01.png);
        background-size: contain;
        background-repeat: no-repeat;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
    }
}
.sec04__img.-length04 {
    width: 47.8%;
}
.sec04__img.-length05,
.sec04__img.-length06 {
    width: auto;
}
.sec04__txt-box.-pt03 {
    display: flex;
    justify-content: center;
    width: 49%;
    padding-top: 36px;
}
.sec04__txt-box.-pt04 {
    padding-top: 40px;
}
.sec04__txt-box.-mod04 {
    padding: 40px 0 27px;
    background-color: #fff;
}
.sec04__txt-box.-mod05 {
    padding: 20px 0 80px;
    background-color: #fdffc3;
}
.sec04__txt-box.-mod06 {
    padding: 32px 0 40px;
    background-color: #fff;
}
.sec04__txt-box.-mod08 {
    padding: 32px 0 40px;
}
.sec04__txt-box.-mod10 {
    display: flex;
    justify-content: center;
    width: 49%;
}
.sec04__link-txt {
    width: 49%;
}
.sec06__campaign-ttl,
.sec07__campaign-ttl {
    font-size: 24px;
    font-weight: bold;
}
.sec06__campaign-details,
.sec07__campaign-details {
    font-size: 24px;
}
.sec06__campaign-details.-indent01,
.sec07__campaign-details.-indent01 {
    text-indent: -1em;
    padding-left: 1em;
}
.sec06__campaign-details.-mt03,
.sec07__campaign-details.-mt03 {
    margin-top: 40px;
}
.sec06__campaign-details.-mt05 {
    margin-top: 40px;
}
.sec06__campaign-txt,
.sec07__campaign-txt {
    font-size: 18px;
    text-indent: -1em;
    padding-left: 1em;
}
.sec07__campaign-txt.-color01 {
    color: #cc0033;
}
.sec06__campaign-supplement,
.sec07__campaign-supplement {
    margin-top: 40px;
}
.sec06__campaign-supplement.-mt04,
.sec07__campaign-supplement.-mt04 {
    margin-top: 0;
}
.sec06__campaign-txt.-indent02 {
    font-size: 24px;
    text-indent: -3em;
    padding-left: 3em;
}
.sec06__campaign-txt.-fz01 {
    font-size: 24px;
}
@media screen and (max-width: 959px) {
    .caption__txt {
        font-size: 4vw;
    }
    .link__txt {
        font-size: 5vw;
    }
    .sec04__img.-length05 {
        width: 68.8%;
    }
    .sec04__img.-length06 {
        width: 49.3%;
    }
    .sec04__txt-box.-mod01 {
        width: 49%;
    }
    .sec06__campaign-ttl,
    .sec07__campaign-ttl {
        font-size: 16px;
    }
    .sec06__campaign-details,
    .sec07__campaign-details {
        font-size: 16px;
    }
    .sec06__campaign-txt,
    .sec07__campaign-txt {
        font-size: 14px;
    }
    .sec06__campaign-txt.-indent02 {
        font-size: 16px;
    }
    .sec06__campaign-txt.-fz01 {
        font-size: 16px;
    }
}
@media screen and (max-width: 767px) {
    .sec04__txt-box.-mod01 {
        margin-top: 16px;
    }
    .sec04__img.-length05 {
        width: 80%;
    }
    .sec04__img.-length06 {
        width: 60%;
    }
    .sec04__txt-box.-pt03 {
        padding-top: 28px;
    }
}
@media screen and (max-width: 500px) {
    .sec04__img.-length05 {
        width: 90%;
    }
    .sec04__img.-length06 {
        width: 70%;
    }
}
/* 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: 28px;
    }
}
@media screen and (max-width: 959px) {
.sec07__table {
    & td {
        font-size: 16px;
    }
}
}


/* accordion */
.sec06__button,
.sec07__button {
    color: #fff;
    font-size: 32px;
}
.sec06__wrapper,
.sec07__wrapper {
    display: none;
}
.sec06__wrapper.open,
.sec07__wrapper.open {
    display: block;
}
@media screen and (max-width: 959px) {
    .sec06__button,
    .sec07__button {
        font-size: 5vw;
    }
}

/* floating__btn */
.floating__btn {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    padding: 2em 0;
    text-align: center;
}