/* 数字用フォントファイルの読み込み */
@import url("https://fonts.googleapis.com/css2?family=Roboto+Flex:opsz,wght@8..144,100..1000&display=swap");

/* CSS変数の設定 */
* {
    --bgBeige: #fff7ef;
    --bgGray: #f7f7f6;
    --mainColor: #e3155f;
}

@media screen and (max-width: 1023px) {
    #feature section {
        overflow-x: hidden;
    }
}

/* 共通のスタイル */
#feature section {
    font-family: "Noto Sans JP";
    text-align: center;
}
#feature section p {
    color: #424242;
    font-size: 1.8rem;
    letter-spacing: 0.1em;
}
@media screen and (max-width: 1023px) {
    #feature section p {
        font-size: 1.4rem;
    }
    #feature section.reason1 p {
        margin-bottom: 0;
    }
}
#feature section strong {
    color: var(--mainColor);
    font-weight: 700;
    text-decoration: underline;
}
#feature section small {
    color: #7c7669;
    display: block;
    font-size: 1.4rem;
    letter-spacing: 0.2em;
}
@media screen and (max-width: 1023px) {
    #feature section small {
        font-size: 1.2rem;
        text-align: left;
    }
}
#feature section small.red {
    color: #ea0000;
}
#feature section h2 {
    color: var(--mainColor);
    font-size: 3.4rem;
    font-weight: 700;
    letter-spacing: 0.08em;
}
@media screen and (max-width: 1023px) {
    #feature section h2 {
        font-size: 2.4rem;
        text-align: left;
    }
    #feature section.marriagesIncrease h2 {
        text-align: center;
    }
}
#feature section > h3 {
    border-bottom: 2px solid var(--mainColor);
    color: #424242;
    display: inline-block;
    font-size: 2.6rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    padding-bottom: 7px;
}
@media screen and (max-width: 1023px) {
    #feature section > h3 {
        font-size: 1.8rem;
    }
}
#feature section a.btn--red {
    background-color: #fff;
    background-image: url(../images/feature/icon-arrow--red.svg);
    background-position: center right 12.8px;
    background-repeat: no-repeat;
    border: 1px solid var(--mainColor);
    border-radius: 4px;
    box-sizing: border-box;
    color: var(--mainColor);
    display: block;
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin: auto;
    padding: 9px;
    text-align: center;
    transition: 0.2s;
}
@media screen and (max-width: 1023px) {
    #feature section a.btn--red {
        font-size: 1.4rem;
        padding: 13px 0;
    }
}
#feature section a.btn--red:hover {
    background-color: var(--mainColor);
    background-image: url(../images/feature/icon-arrow--white.svg);
    background-position: center right 8.8px;
    color: #fff;
}
#feature section a.btn--red.matching {
    font-weight: 400;
}
@media screen and (max-width: 1023px) {
    #feature div.redBox div.redBox_btnarea a.btn--red.matching {
        padding: 7.8px 0;
    }
}
#feature section a.btn--gold {
    align-items: center;
    background: url(../images/feature/icon-arrow--red.svg), url(../images/feature/icon-calendar--black.svg), linear-gradient(#f4e8d1, #eec36f);
    background-position: center right 12.8px, center left 12.8px, center;
    background-repeat: no-repeat;
    border: 1px solid var(--mainColor);
    border-radius: 4px;
    box-sizing: border-box;
    color: #000;
    display: block;
    display: flex;
    font-size: 1.8rem;
    font-weight: 700;
    justify-content: center;
    letter-spacing: 0.1em;
    margin: auto;
    padding: 9px;
    text-align: center;
    transition: 0.2s;
}
@media screen and (max-width: 1023px) {
    #feature section a.btn--gold {
        background: url(../images/feature/icon-arrow--black2.svg), url(../images/feature/icon-calendar--black.svg), linear-gradient(#f4e8d1, #eec36f);
        background-position: center right 12.8px, center left 12.8px, center;
        background-repeat: no-repeat;
        font-size: 1.4rem;
        margin-bottom: 15px;
    }
}

#feature section a.btn--gold:hover {
    background-color: #424242;
    background-image: url(../images/feature/icon-arrow--white.svg), url(../images/feature/icon-calendar--white.svg), linear-gradient(#424242, #424242);
    background-position: center right 8.8px, center left 12.8px, center;
    color: #fff;
}
#feature div.redBox {
    background-color: var(--mainColor);
    box-sizing: border-box;
    margin: auto;
    padding: 60px 96px;
    width: 1080px;
}
@media screen and (max-width: 1023px) {
    #feature div.redBox {
        padding: 28px 14px;
        width: 100%;
    }
}
#feature div.redBox div.redBox_btnarea {
    align-items: flex-end;
    display: flex;
    gap: 8px;
    justify-content: center;
}
@media screen and (max-width: 1023px) {
    #feature div.redBox div.redBox_btnarea {
        display: block;
    }
}
#feature div.redBox div.redBox_btnarea > div {
    flex: 1;
}
#feature div.redBox div.redBox_btnarea > div > div {
    color: #fff;
    font-size: 2.2rem;
    font-weight: 700;
}
@media screen and (max-width: 1023px) {
    #feature div.redBox div.redBox_btnarea > div > div {
        font-size: 1.4rem;
        letter-spacing: 0.18em;
    }
}
#feature div.redBox p {
    color: #fff;
    font-size: 2.9rem;
}
#feature div.redBox strong {
    color: #fff;
    font-size: 2.6rem;
    letter-spacing: 0.08em;
    text-decoration: none;
}
@media screen and (max-width: 1023px) {
    #feature div.redBox p {
        font-size: 1.6rem;
    }
    #feature div.redBox strong {
        font-size: 1.4rem;
    }
}
#feature div.redBox > a.btn--red {
    width: 500px;
}
@media screen and (max-width: 1023px) {
    #feature div.redBox > a.btn--red {
        width: 100%;
    }
}
#feature div.redBox div.redBox_btnarea a.btn--red,
#feature div.redBox div.redBox_btnarea a.btn--gold {
    padding: 11.8px;
}
@media screen and (max-width: 1023px) {
    #feature div.redBox div.redBox_btnarea a.btn--gold {
        padding: 15.8px 0;
    }
}
#feature div.redBox a.btn--red:hover {
    border: #fff 1px solid;
}
#feature div.redBox .redBox_contactBox {
    margin-top: 30px;
}
@media screen and (max-width: 1023px) {
    #feature div.redBox .redBox_contactBox {
        margin-top: 14px;
    }
}
#feature div.redBox .redBox_contactBox p {
    font-size: 2.2rem;
    font-weight: 700;
}
@media screen and (max-width: 1023px) {
    #feature div.redBox .redBox_contactBox p {
        font-size: 1.4rem;
    }
}
#feature div.redBox .redBox_contactBox .redBox_contact {
    margin-top: 20px;
}
@media screen and (max-width: 1023px) {
    #feature div.redBox .redBox_contactBox .redBox_contact {
        margin-top: 0;
    }
}
#feature div.redBox .redBox_contactBox .redBox_contact p {
    font-size: 2rem;
    margin: 0;
}
@media screen and (max-width: 1023px) {
    #feature div.redBox .redBox_contactBox .redBox_contact p {
        font-size: 1.2rem;
    }
}
#feature div.redBox .redBox_contactBox .redBox_contact .redBox_tel {
    color: #fff;
    font-family: "Roboto Flex";
    font-size: 5rem;
    font-weight: 200;
    line-height: 1;
    margin-top: 2px;
}
@media screen and (max-width: 1023px) {
    #feature div.redBox .redBox_contactBox .redBox_contact .redBox_tel {
        font-size: 3.2rem;
    }
}
#feature section .moreStrong {
    font-size: 2.2rem;
    text-decoration: none;
}
#feature section .mostStrong {
    font-size: 3.4rem;
    text-decoration: none;
}
@media screen and (max-width: 1023px) {
    #feature section .mostStrong {
        font-size: 2.4rem;
    }
}
.sampleBox {
    align-items: center;
    background-color: rgba(0, 0, 0, 0.2);
    color: #918d8d;
    display: flex;
    font-size: 2.8rem;
    font-weight: 700;
    height: 720px;
    justify-content: center;
    margin: 0 auto;
    width: 1080px;
}
@media screen and (max-width: 1023px) {
    .sampleBox {
        width: 100%;
    }
}
/* -------------------------------------
メインビジュアル
---------------------------------------- */
.point__lead {
    align-items: center;
    background: linear-gradient(to bottom, rgba(255, 208, 165, 0.4), rgba(255, 180, 191, 0.4));
    display: flex;
    gap: 8px;
    height: 120px;
    justify-content: center;
    margin: 20px auto 0;
    max-width: 1080px;
    width: 100%;
}
#feature section p.point__leadText {
    color: var(--mainColor);
    font-family: "Noto Sans JP", serif;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 2px;
    line-height: 1.5;
    position: relative;
    text-align: center;
    margin-bottom: 0;
}

#feature section div.point__leadImg {
    height: 50px;
    width: 50px;
}
#feature section div.point__leadImg img {
    width: 100%;
}

.point__leadText::before {
    position: absolute;
}
@media screen and (max-width: 840px) {
    .point__lead {
        align-content: center;
        display: grid;
        gap: 0;
        height: 178px;
        justify-items: center;
        margin-top: 0;
    }
    .point__topText {
        font-size: 14px;
        text-align: start;
    }

    .pointLink {
        margin-top: 16px;
        position: relative;
    }

    .pointLink::before {
        border: 1px solid #d6ab58;
        border-radius: 50%;
        content: "";
        height: 102px;
        left: 50%;
        position: absolute;
        top: 57%;
        transform: translateX(-50%) translateY(-50%);
        width: 102px;
    }

    .pointLink__column {
        display: grid;
        gap: 24px;
        grid-template-columns: 1fr;
        grid-template-rows: auto auto;
        margin-inline: auto;
        max-width: 305px;
        padding-top: 50px;
        width: 100%;
    }

    .pointLink__item {
        font-size: 18px;
        height: 91px;
        margin: 0 auto;
        width: 140px;
    }

    .pointLink__text {
        font-size: 18px;
        margin-top: 10px;
    }

    .pointLink__item:nth-child(1) {
        grid-column: span 2;
    }

    .pointLink__item:nth-child(2) {
        margin-bottom: 24px;
    }
}
/* コンテンツ部分のスタイル */
#feature section.mainVisual {
    overflow-x: hidden;
    text-align: center;
}
#feature section.mainBanner {
    background-color: var(--bgGray);
    padding: 40px 0;
}
@media screen and (max-width: 1023px) {
    #feature section.mainBanner {
        background-color: #fff;
    }
}
#feature section.mainBanner a {
    display: block;
    margin: 0 auto 6px;
    width: 700px;
}
@media screen and (max-width: 1023px) {
    #feature section.mainVisual img {
        margin: 0;
    }
    #feature section.mainBanner {
        padding: 15px 15px 15px;
    }
    #feature section.mainBanner img {
        margin-bottom: 0;
    }
    #feature section.mainBanner a {
        max-width: 450px;
        width: 100%;
    }
}
#feature section.mainBanner small {
    font-size: 1.2rem;
}
#feature section.marriagesIncrease {
    background-color: var(--bgBeige);
    padding: 74px 0;
}
@media screen and (max-width: 1023px) {
    #feature section.marriagesIncrease {
        padding: 40px 15px;
    }
    #feature section.marriagesIncrease h2 {
        margin-bottom: 11px;
    }
    #feature section.marriagesIncrease strong {
        text-decoration: none;
    }
}

#feature section.marriagesIncrease img {
    display: block;
    margin: 20px auto 36px;
}
@media screen and (max-width: 1023px) {
    #feature section.marriagesIncrease img {
        margin: 0 auto 12px;
    }
}
#feature section.reason1 {
    padding: 74px 0 0;
}
@media screen and (max-width: 1023px) {
    #feature section.reason1 {
        background-color: #fff;
        padding: 40px 15px 40px;
    }
}
#feature section.reason1 .reason1_call {
    align-items: flex-end;
    color: var(--mainColor);
    display: flex;
    font-size: 2.3rem;
    font-weight: 700;
    gap: 50px;
    justify-content: center;
    margin-bottom: 60px;
}
@media screen and (max-width: 1023px) {
    #feature section.reason1 .reason1_call {
        font-size: 1.6rem;
        gap: 6px;
        margin-bottom: 20px;
    }
}
#feature section.reason1 .reason1_call::before,
#feature section.reason1 .reason1_call::after {
    background-repeat: no-repeat;
    background-size: 100%;
    content: "";
    display: block;
    height: 58px;
    width: 31.5px;
}
#feature section.reason1 .reason1_call::before {
    background-image: url(../images/feature/icon-lineLeft.webp);
}
#feature section.reason1 .reason1_call::after {
    background-image: url(../images/feature/icon-lineRight.webp);
}
#feature section.reason1 h2 {
    margin: 4px 0 19px;
}
@media screen and (max-width: 1023px) {
    #feature section.reason1 hgroup {
        align-items: center;
        display: flex;
        gap: 16px;
        justify-content: center;
        margin-bottom: 11px;
    }
    #feature section.reason1 hgroup img {
        margin: 0;
    }
    #feature section.reason1 hgroup h2 {
        margin: 0;
    }
}
@media screen and (max-width: 769px) {
    #feature section.reason1 hgroup {
        justify-content: flex-start;
    }
}
#feature section.reason1 .reason1_graph {
    margin: 16px 0 19px;
}
@media screen and (max-width: 1023px) {
    #feature section.reason1 .reason1_graph {
        margin: 12px 0 0;
    }
}
#feature section.reason1 a.btn--red {
    margin: 11px auto 64px;
    width: 480px;
}
@media screen and (max-width: 1023px) {
    #feature section.reason1 a.btn--red {
        margin: 16px auto 24px;
        width: 100%;
    }
}
#feature section.reason1 .reason1_bottomContent {
    display: flex;
    justify-content: center;
}
#feature section.reason1 .reason1_speechBalloons {
    background-color: var(--bgBeige);
    border-radius: 14.49px;
    display: inline-block;
    filter: drop-shadow(2.9px 2.9px 5.8px #46353729);
    padding: 22px 32px;
    position: relative;
}
@media screen and (max-width: 1023px) {
    #feature section.reason1 .reason1_speechBalloons p {
        font-size: 1.2rem;
        margin: 0;
    }
    #feature section.reason1 .reason1_speechBalloons {
        padding: 14px 23px;
        z-index: 1;
    }
    #feature section.reason1 .reason1_speechBalloonsBox {
        flex-basis: 410px;
    }
}
#feature section.reason1 .reason1_speechBalloons::after {
    bottom: -24.63px;
    content: url(../images/feature/icon-tail.svg);
    display: block;
    height: 24.64px;
    left: 50%;
    position: absolute;
    transform: translate(0, -50%);
    width: 37.68px;
}
@media screen and (max-width: 1023px) {
    #feature section.reason1 .reason1_speechBalloons::after {
        background-image: url(../images/feature/icon-tail.svg);
        background-position: bottom;
        background-size: 100%;
        bottom: -24.63px;
        content: "";
        display: block;
        height: 17px;
        left: 50%;
        position: absolute;
        transform: translate(-7px, -50%);
        width: 26px;
    }
}
#feature section.reason1 .reason1_speechBalloons p {
    letter-spacing: 0.3em;
}
@media screen and (max-width: 1023px) {
    #feature section.reason1 .reason1_speechBalloons p {
        letter-spacing: 0.08em;
    }
}
#feature section.reason1 .reason1_bottomContent .reason1_visual {
    margin-left: -259px;
}
@media screen and (max-width: 1023px) {
    #feature section.reason1 .reason1_bottomContent .reason1_visual {
        margin-left: -191px;
    }
    #feature section.reason1 .reason1_bottomContent .reason1_visual img {
        transform: translate(39px, 11px);
    }
}
#feature section.reason2 {
    background-color: var(--bgBeige);
    padding: 80px 0;
}
@media screen and (max-width: 1023px) {
    #feature section.reason2 {
        background-color: var(--bgBeige);
        padding: 40px 15px;
    }
}
#feature section.reason2 h2 {
    margin: 4px 0 22px;
}
@media screen and (max-width: 1023px) {
    #feature section.reason2 hgroup {
        align-items: center;
        display: flex;
        gap: 16px;
        justify-content: center;
        margin-bottom: 10px;
    }
    #feature section.reason2 hgroup h2,
    #feature section.reason2 hgroup img {
        margin: 0;
    }
}
@media screen and (max-width: 769px) {
    #feature section.reason2 hgroup {
        justify-content: flex-start;
    }
}
#feature section.reason2 article.reason2_contentList {
    display: flex;
    gap: 32px;
    justify-content: center;
}
@media screen and (max-width: 1023px) {
    #feature section.reason2 article.reason2_contentList {
        display: block;
    }
}
#feature section.reason2 article.reason2_contentList article.reason2_contentList_item img {
    margin-bottom: 15px;
}
#feature section.reason2 .btn--red {
    margin-top: 17px;
    width: 345px;
}
@media screen and (max-width: 1023px) {
    #feature section.reason2 .btn--red {
        margin-top: 4px;
    }
}
#feature section.reason3 {
    padding: 80px 0;
}
@media screen and (max-width: 1023px) {
    #feature section.reason3 {
        background-color: #fff;
        padding: 40px 15px;
    }
}
#feature section.reason3 h2 {
    margin: 4px 0 22px;
}
@media screen and (max-width: 1023px) {
    #feature section.reason3 hgroup {
        align-items: center;
        display: flex;
        gap: 16px;
        justify-content: center;
        margin-bottom: 10px;
    }
}
@media screen and (max-width: 769px) {
    #feature section.reason3 hgroup {
        justify-content: flex-start;
    }
}
#feature section.reason3 div.reason3_mapImage {
    background-image: url(../images/feature/img-japanMap.svg);
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: 500px;
    height: 627px;
    margin: 0 auto;
    position: relative;
    width: 736px;
}
@media screen and (max-width: 1023px) {
    #feature section.reason3 div.reason3_mapImage {
        background-size: 325px;
        height: 430px;
        width: 100%;
    }
}
#feature section.reason3 div.reason3_mapImage .reason3_mapImage_item:first-of-type {
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(calc(-50% - 104px), calc(-50% - 172px));
}
@media screen and (max-width: 1023px) {
    #feature section.reason3 div.reason3_mapImage .reason3_mapImage_item:first-of-type {
        transform: translate(calc(-50% - 2px), calc(-50% - 129px));
    }
}
#feature section.reason3 div.reason3_mapImage .reason3_mapImage_item:nth-of-type(2) {
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(calc(-50% - 281px), calc(-50% - 25px));
}
@media screen and (max-width: 1023px) {
    #feature section.reason3 div.reason3_mapImage .reason3_mapImage_item:nth-of-type(2) {
        transform: translate(calc(-50% - 103px), calc(-50% - 2px));
    }
}
#feature section.reason3 div.reason3_mapImage .reason3_mapImage_item:nth-of-type(3) {
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(calc(-50% + 240px), calc(-50% + 167px));
}
@media screen and (max-width: 1023px) {
    #feature section.reason3 div.reason3_mapImage .reason3_mapImage_item:nth-of-type(3) {
        transform: translate(calc(-50% + 116px), calc(-50% + 137px));
    }
}

#feature section.reason3 div.reason3_mapImage .reason3_mapImage_item img {
    margin-bottom: 1px;
}
@media screen and (max-width: 1023px) {
    #feature section.reason3 div.reason3_mapImage .reason3_mapImage_item img {
        width: 125px;
    }
}
#feature section.reason3 div.reason3_mapImage .reason3_mapImage_item div {
    font-size: 1.88rem;
    letter-spacing: 0.08em;
}
@media screen and (max-width: 1023px) {
    #feature section.reason3 div.reason3_mapImage .reason3_mapImage_item div {
        font-size: 1.2rem;
    }
}
#feature section.reason3 div.reason3_mapImage .reason3_mapImage_item div.reason3_mapImage_male {
    color: #0062a9;
}
#feature section.reason3 div.reason3_mapImage .reason3_mapImage_item div.reason3_mapImage_female {
    color: #ff5793;
}
#feature section.reason3 div.reason3_storeAbout {
    align-items: center;
    display: flex;
    gap: 32px;
    margin: 0 auto;
    width: 1080px;
}
@media screen and (max-width: 1023px) {
    #feature section.reason3 div.reason3_storeAbout {
        display: block;
        width: 100%;
    }
    #feature section.reason3 div.reason3_storeAbout img {
        margin-bottom: 0;
    }
}
#feature section.reason3 div.reason3_storeAbout > div {
    flex: 1;
}
#feature section.reason3 div.reason3_storeAbout > div:first-of-type {
    position: relative;
}
#feature section.reason3 div.reason3_storeAbout > div:first-of-type div {
    align-items: center;
    background-color: #fff;
    border-radius: 4px 4px 0 0;
    bottom: 0;
    box-sizing: border-box;
    color: #424242;
    display: flex;
    font-size: 1.8rem;
    font-weight: 700;
    gap: 13.34px;
    height: 60px;
    justify-content: center;
    left: 50%;
    letter-spacing: 0.085em;
    line-height: 1;
    position: absolute;
    transform: translate(-50%, 0);
    width: 348px;
}
@media screen and (max-width: 1023px) {
    #feature section.reason3 div.reason3_storeAbout > div:first-of-type div {
        bottom: -1px;
        font-size: 1.4rem;
        width: 296px;
    }
}
#feature section.reason3 div.reason3_storeAbout > div:first-of-type div::before {
    content: url(../images/feature/icon-couple.svg);
    display: block;
}
#feature section.reason3 div.reason3_storeAbout > div:nth-of-type(2) .btn--red {
    margin-top: 30px;
    width: 345px;
}
#feature section.reasonAll {
    padding: 80px 0;
}
@media screen and (max-width: 1023px) {
    #feature section.reasonAll {
        background-color: #fff;
        padding: 40px 0;
    }
}
#feature section.reasonAll ul.reasonAll_reasonlist {
    display: flex;
    justify-content: center;
    margin: 0 auto 58px;
    width: 1080px;
}
@media screen and (max-width: 1023px) {
    #feature section.reasonAll ul.reasonAll_reasonlist {
        display: grid;
        gap: 16px;
        width: 240px;
    }
}
#feature section.reasonAll ul.reasonAll_reasonlist li {
    color: #424242;
    flex-basis: calc(100% / 3);
    font-size: 3rem;
    font-weight: 700;
    letter-spacing: 0.08em;
}
@media screen and (max-width: 1023px) {
    #feature section.reasonAll ul.reasonAll_reasonlist li {
        align-items: center;
        display: flex;
        font-size: 1.6rem;
        gap: 16px;
        text-align: left;
    }
}
#feature section.reasonAll ul.reasonAll_reasonlist li img {
    margin-bottom: 10px;
}
@media screen and (max-width: 1023px) {
    #feature section.reasonAll ul.reasonAll_reasonlist li img {
        margin: 0;
        width: 30px;
    }
}
#feature section.reasonAll span.reasonAll_conjunction {
    display: flex;
    gap: 2px;
    justify-content: center;
    margin-bottom: 32px;
}
#feature section.reasonAll span.reasonAll_conjunction span {
    color: #424242;
    font-size: 3.6rem;
    font-weight: 700;
    line-height: 1;
}
@media screen and (max-width: 1023px) {
    #feature section.reasonAll span.reasonAll_conjunction span {
        font-size: 2.4rem;
    }
    #feature section.reasonAll span.reasonAll_conjunction + img {
        width: 342px;
    }
}
#feature section.reasonAll span.reasonAll_conjunction span::before {
    background-color: var(--mainColor);
    border-radius: 50%;
    content: "";
    display: block;
    height: 8px;
    margin: 0 auto 5px;
    width: 8px;
}
@media screen and (max-width: 1023px) {
    #feature section.reasonAll span.reasonAll_conjunction span::before {
        height: 6px;
        width: 6px;
    }
}
#feature section.reasonAll .redBox {
    margin: 80px auto 68px;
}
@media screen and (max-width: 1023px) {
    #feature section.reasonAll .redBox {
        margin: 40px auto 40px;
    }
}
#feature section.reasonAll .redBox span {
    align-items: flex-end;
    display: flex;
    justify-content: center;
    line-height: 1;
}
#feature section.reasonAll .redBox span:first-of-type {
    margin-bottom: 22px;
}
#feature section.reasonAll .redBox .redBox_btnarea {
    margin-top: 38px;
}
@media screen and (max-width: 1023px) {
    #feature section.reasonAll .redBox .redBox_btnarea {
        margin-top: 13px;
    }
}
#feature section.reasonAll article.reasonAll_advantages {
    display: flex;
    flex-wrap: wrap;
    gap: 34px 40px;
    justify-content: space-between;
    margin: 0 auto 44px;
    width: 840px;
}
@media screen and (max-width: 1023px) {
    #feature section.reasonAll article.reasonAll_advantages {
        display: block;
        margin-bottom: 17px;
        padding: 0 20px;
        width: 100%;
    }
}
#feature section.reasonAll article.reasonAll_advantages article {
    border-bottom: 1px solid #e9e8e5;
    display: flex;
    flex-basis: calc(50% - 20px);
    margin-top: 37px;
    padding-bottom: 13px;
}
@media screen and (max-width: 1023px) {
    #feature section.reasonAll article.reasonAll_advantages article {
        margin-top: 0;
        padding: 13px 0;
    }
}
#feature section.reasonAll article.reasonAll_advantages article div {
    flex-basis: 60px;
}
@media screen and (max-width: 1023px) {
    #feature section.reasonAll article.reasonAll_advantages article div img {
        margin: 0;
    }
}
#feature section.reasonAll article.reasonAll_advantages article p {
    flex: 1;
}
@media screen and (max-width: 1023px) {
    #feature section.reasonAll article.reasonAll_advantages article {
        gap: 24px;
    }
    #feature section.reasonAll article.reasonAll_advantages article p {
        margin: 0;
        text-align: left;
    }
}
#feature section.reasonAll > a.btn--red {
    margin-top: 18px;
    width: 345px;
}
@media screen and (max-width: 1023px) {
    #feature section.reasonAll > a.btn--red {
        margin-top: 0;
        max-width: 345px;
        width: 100%;
    }
}
#feature section.nineOpportunities {
    background-color: var(--bgBeige);
    padding: 80px 0;
}
@media screen and (max-width: 1023px) {
    #feature section.nineOpportunities {
        padding: 40px 15px;
    }
    #feature section.nineOpportunities h2 {
        text-align: center;
    }
}
#feature section.nineOpportunities ul.nineOpportunities_nav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 30px auto 40px;
    width: 1080px;
}
@media screen and (max-width: 1023px) {
    #feature section.nineOpportunities ul.nineOpportunities_nav {
        gap: 8px 0;
        justify-content: space-between;
        margin: 14px auto 20px;
        width: 100%;
    }
}
#feature section.nineOpportunities ul.nineOpportunities_nav li {
    background-color: #fff;
    border: 1px solid var(--mainColor);
    border-radius: 100px;
    box-sizing: border-box;
    font-weight: 700;
    width: 111.11px;
}
@media screen and (max-width: 1023px) {
    #feature section.nineOpportunities ul.nineOpportunities_nav li {
        font-size: 1.2rem;
        padding: 2px 0;
        width: calc(100% / 3 - 4px);
    }
}
#feature section.serviceCharge {
    padding: 80px 0;
}
@media screen and (max-width: 1023px) {
    #feature section.serviceCharge {
        background-color: #fff;
        padding: 40px 0;
    }
    #feature section.serviceCharge h2 {
        text-align: center;
    }
}
#feature section.serviceCharge .serviceCharge_beigeBox {
    background: linear-gradient(#ff7f8e, #e72d43);
    border-radius: 4px;
    border-radius: 4px;
    box-sizing: border-box;
    margin: 0 auto 86px;
    margin-top: 30px;
    padding: 6px;
    width: 700px;
}
#feature section.serviceCharge .serviceCharge_beigeBox > div {
    background-color: var(--bgBeige);
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    padding: 36px 0;
}
@media screen and (max-width: 1023px) {
    #feature section.serviceCharge .serviceCharge_beigeBox {
        width: calc(100% - 30px);
    }
    #feature section.serviceCharge .serviceCharge_beigeBox > div {
        display: block;
        padding: 17px 0 20px;
    }
}
#feature section.serviceCharge .serviceCharge_beigeBox div div {
    align-items: flex-end;
    color: #424242;
    display: flex;
    flex-basis: 50%;
    font-size: 2.2rem;
    gap: 5px;
    justify-content: center;
    letter-spacing: 0.08em;
    line-height: 1;
}
#feature section.serviceCharge .serviceCharge_beigeBox div div::before {
    content: url(../images/feature/icon-diamond.svg);
    display: block;
}
@media screen and (max-width: 1023px) {
    #feature section.serviceCharge .serviceCharge_beigeBox div {
        font-size: 1.4rem;
    }
    #feature section.serviceCharge .serviceCharge_beigeBox div div:first-of-type {
        flex-basis: 60%;
    }
    #feature section.serviceCharge .serviceCharge_beigeBox div div:nth-of-type(2) {
        flex-basis: 40%;
    }
}
#feature section.serviceCharge .serviceCharge_beigeBox div div span {
    color: var(--mainColor);
    font-family: "Roboto Flex";
    font-size: 4rem;
    font-weight: 500;
    line-height: 1;
    transform: translateY(6px);
}
@media screen and (max-width: 1023px) {
    #feature section.serviceCharge .serviceCharge_beigeBox div div span {
        font-size: 3.2rem;
        transform: translateY(5px);
    }
}
#feature section.serviceCharge .serviceCharge_beigeBox div div:first-of-type {
    border-right: 1px solid #a8a399;
}
@media screen and (max-width: 1023px) {
    #feature section.serviceCharge .serviceCharge_beigeBox div div:first-of-type {
        border-right: none;
        margin-bottom: 13px;
    }
}
#feature section.serviceCharge .redBox {
    margin-top: 80px;
    padding: 41px 0;
    position: relative;
}
@media screen and (max-width: 1023px) {
    #feature section.serviceCharge .redBox {
        padding: 32px 14px;
    }
}
#feature section.serviceCharge .redBox img {
    bottom: 0;
    position: absolute;
    right: 36px;
}
@media screen and (max-width: 1023px) {
    #feature section.serviceCharge .redBox img {
        display: none;
    }
}
#feature section.serviceCharge .redBox .btn--red {
    margin-top: 10px;
}
@media screen and (max-width: 1023px) {
    #feature section.serviceCharge .redBox .btn--red {
        padding: 14px 0;
    }
}
#feature section.discountPlan {
    background-color: var(--bgBeige);
    padding: 80px 0;
}
@media screen and (max-width: 1023px) {
    #feature section.discountPlan {
        padding: 40px 30px;
    }
}
#feature section.discountPlan h2 {
    margin-bottom: 50px;
}
@media screen and (max-width: 1023px) {
    #feature section.discountPlan h2 {
        text-align: center;
    }
}
#feature section.discountPlan .discountPlan_planlist {
    border-bottom: 2px solid #c5c2bb;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    padding-bottom: 30px;
    width: 1080px;
}
@media screen and (max-width: 1023px) {
    #feature section.discountPlan .discountPlan_planlist {
        display: block;
        width: 100%;
    }
    #feature section.discountPlan .discountPlan_planlist img {
        margin: 0;
    }
}
#feature section.discountPlan .discountPlan_planlist > div {
    flex-basis: calc(50% - 16px);
}
#feature section.discountPlan .discountPlan_planlist > div:first-of-type {
    text-align: left;
}
@media screen and (max-width: 1023px) {
    #feature section.discountPlan .discountPlan_planlist > div:first-of-type {
        margin-bottom: 16px;
    }
}
#feature section.discountPlan .discountPlan_planlist > div:first-of-type p {
    font-size: 1.6rem;
    margin: 0;
}
@media screen and (max-width: 1023px) {
    #feature section.discountPlan .discountPlan_planlist > div:first-of-type p {
        font-size: 1.4rem;
    }
}
#feature section.discountPlan .discountPlan_planlist > div:first-of-type h4 {
    color: var(--mainColor);
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    margin-bottom: 3px;
}
@media screen and (max-width: 1023px) {
    #feature section.discountPlan .discountPlan_planlist > div:first-of-type h4 {
        font-size: 1.8rem;
    }
}
#feature section.discountPlan .discountPlan_planlist > div:first-of-type > div {
    align-items: center;
    display: flex;
    gap: 24px;
}
@media screen and (max-width: 1023px) {
    #feature section.discountPlan .discountPlan_planlist > div:first-of-type > div {
        gap: 13px;
        /* margin-bottom: 16px; */
    }
    #feature section.discountPlan .discountPlan_planlist > div:first-of-type > div img {
        margin: 0;
    }
    #feature section.discountPlan .discountPlan_planlist > div:first-of-type > div:first-of-type div:first-of-type {
        flex-basis: 70px;
    }
    #feature section.discountPlan .discountPlan_planlist > div:first-of-type > div:first-of-type div:nth-of-type(2) {
        flex: 1;
    }
}
#feature section.discountPlan .discountPlan_planlist > div:first-of-type small {
    padding-left: 94px;
}
@media screen and (max-width: 1023px) {
    #feature section.discountPlan .discountPlan_planlist > div:first-of-type small {
        padding-left: 0;
    }
}
#feature section.discountPlan .discountPlan_planlist > div:nth-of-type(2) h4 {
    background-color: #ffc7a7;
    color: #424242;
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 0.08em;
}
#feature section.discountPlan .discountPlan_planlist > div:nth-of-type(2) span.number {
    color: #424242;
    font-family: "Roboto Flex";
    font-size: 2.8rem;
    font-weight: 500;
    position: relative;
}
@media screen and (max-width: 1023px) {
    #feature section.discountPlan .discountPlan_planlist > div:nth-of-type(2) span.number {
        font-size: 2.6rem;
    }
}
#feature section.discountPlan .discountPlan_planlist > div:nth-of-type(2) span.number.thin {
    color: #424242;
    font-size: 1.8rem;
    font-weight: 200;
}
@media screen and (max-width: 1023px) {
    #feature section.discountPlan .discountPlan_planlist > div:nth-of-type(2) span.number.thin {
        font-size: 1.6rem;
    }
}
#feature section.discountPlan .discountPlan_planlist > div:nth-of-type(2) span.unit {
    color: #424242;
    font-family: "Noto Sans JP";
    font-size: 1.2rem;
    font-weight: 400;
}
@media screen and (max-width: 1023px) {
    #feature section.discountPlan .discountPlan_planlist > div:nth-of-type(2) span.unit {
        font-size: 1rem;
    }
}
#feature section.discountPlan .discountPlan_planlist > div:nth-of-type(2) h4 + div {
    align-items: center;
    display: flex;
    gap: 7px;
    justify-content: center;
    margin-bottom: 10px;
}
@media screen and (max-width: 1023px) {
    #feature section.discountPlan .discountPlan_planlist > div:nth-of-type(2) h4 + div {
        justify-content: flex-start;
        padding: 0 12px;
    }
}
#feature section.discountPlan .discountPlan_planlist > div:nth-of-type(2) h4 + div:last-of-type {
    margin-bottom: 0;
}
#feature section.discountPlan .discountPlan_planlist > div:nth-of-type(2) span.discountPlan_label {
    position: absolute;
    right: -110px;
}
@media screen and (max-width: 1023px) {
    #feature section.discountPlan .discountPlan_planlist > div:nth-of-type(2) span.discountPlan_label {
        position: static;
    }
}
#feature section.discountPlan .discountPlan_planlist > div:nth-of-type(2) span.discountPlan_label > span {
    background-color: #ea0707;
    border-radius: 4px;
    color: #fff;
    font-weight: 700;
    margin-left: 10px;
    padding: 0 10px;
}
#feature section.discountPlan .discountPlan_planlist > div:nth-of-type(2) span.discountPlan_label span:first-of-type {
    font-size: 2.5rem;
}
@media screen and (max-width: 1023px) {
    #feature section.discountPlan .discountPlan_planlist > div:nth-of-type(2) span.discountPlan_label span:first-of-type {
        font-size: 2.3rem;
    }
}
#feature section.discountPlan .discountPlan_planlist > div:nth-of-type(2) span.discountPlan_label span:nth-of-type(2) {
    font-size: 1.8rem;
}
@media screen and (max-width: 1023px) {
    #feature section.discountPlan .discountPlan_planlist > div:nth-of-type(2) span.discountPlan_label span:nth-of-type(2) {
        font-size: 1.6rem;
    }
}
#feature section.discountPlan .discountPlan_planlist > div:nth-of-type(2) span.discountPlan_label span:nth-of-type(3) {
    font-size: 2.1rem;
}
@media screen and (max-width: 1023px) {
    #feature section.discountPlan .discountPlan_planlist > div:nth-of-type(2) span.discountPlan_label span:nth-of-type(3) {
        font-size: 1.9rem;
    }
}
#feature section.discountPlan .discountPlan_planlist:nth-of-type(n + 2) {
    align-items: center;
    padding-top: 40px;
}
#feature section.comparison {
    padding: 80px 0;
}
@media screen and (max-width: 1023px) {
    #feature section.comparison {
        background-color: #fff;
        padding: 40px 15px;
    }
}
#feature section.comparison h2 {
    margin-bottom: 45px;
}
@media screen and (max-width: 1023px) {
    #feature section.comparison h2 {
        text-align: center;
    }
}
#feature section.comparison .redBox {
    margin-top: 80px;
}
#feature section.comparison .redBox p {
    margin-bottom: 35px;
}
@media screen and (max-width: 1023px) {
    #feature section.comparison .redBox p {
        margin-bottom: 10px;
    }
}
#feature section.flow {
    background-color: var(--bgBeige);
    padding: 80px 0;
}
@media screen and (max-width: 1023px) {
    #feature section.flow {
        padding: 40px 15px;
    }
    #feature section.flow h2 {
        text-align: center;
    }
}
#feature section.flow h2 {
    margin-bottom: 46px;
}
#feature section.faq {
    padding: 80px 0;
}
@media screen and (max-width: 1023px) {
    #feature section.faq {
        background-color: #fff;
        padding: 40px 15px;
    }
    #feature section.faq h2 {
        text-align: center;
    }
}
#feature section.faq h2 {
    margin-bottom: 46px;
}
#feature section.faq article.faq_list {
    margin: 0 auto;
    text-align: left;
    width: 1080px;
}

@media screen and (max-width: 1023px) {
    #feature section.faq article.faq_list {
        width: 100%;
    }
}
#feature section.faq article.faq_list article {
    border-top: 1px solid #e9e8e5;
}
#feature section.faq article.faq_list article div:first-of-type {
    align-items: center;
    color: #424242;
    cursor: pointer;
    display: flex;
    font-size: 1.8rem;
    font-weight: 700;
    gap: 10px;
    padding: 16px 0;
    position: relative;
}
@media screen and (max-width: 1023px) {
    #feature section.faq article.faq_list article div:first-of-type {
        font-size: 1.4rem;
        padding-right: 23px;
    }
    #feature section.faq article.faq_list article div:first-of-type img {
        margin: 0;
    }
}
#feature section.faq article.faq_list article div:first-of-type::before {
    background-color: var(--mainColor);
    bottom: 0;
    content: "";
    display: block;
    height: 2px;
    margin: auto;
    position: absolute;
    right: 5.5px;
    top: 0;
    width: 14px;
}
#feature section.faq article.faq_list article div:first-of-type::after {
    background-color: var(--mainColor);
    bottom: 0;
    content: "";
    display: block;
    height: 14px;
    margin: auto;
    position: absolute;
    right: 11.5px;
    top: 0;
    transition: 0.2s;
    width: 2px;
}
#feature section.faq article.faq_list article div.open::after {
    transform: rotate(-90deg);
}
#feature section.faq article.faq_list article div:nth-of-type(2) {
    display: flex;
    height: 0;
    overflow: hidden;
    transition: 0.2s ease;
}
#feature section.faq article.faq_list article div.open + div {
    display: grid;
    grid-template-columns: 40px auto;
    height: auto !important;
    margin-bottom: 12px;
    min-height: 100px;
}
#feature section.faq article.faq_list article div:nth-of-type(2) span:first-of-type {
    display: flex;
    justify-content: center;
    padding-top: 7px;
    width: 30px;
}
#feature section.faq article.faq_list article div:nth-of-type(2) span:first-of-type img {
    height: 12px;
}
#feature section.faq a.btn--red {
    margin-top: 35px;
    width: 345px;
}
@media screen and (max-width: 1023px) {
    #feature section.faq a.btn--red {
        margin-top: 16px;
        width: 100%;
    }
}
#feature section.popularArticles {
    background-color: var(--bgBeige);
    padding: 80px 0;
}
@media screen and (max-width: 1023px) {
    #feature section.popularArticles {
        background-color: var(--bgBeige);
        padding: 40px 15px;
    }
    #feature section.popularArticles h2 {
        text-align: center;
    }
}
#feature section.popularArticles h2 {
    margin-bottom: 46px;
}
@media screen and (max-width: 1023px) {
    #feature section.popularArticles h2 {
        margin-bottom: 21px;
    }
}
#feature section.popularArticles > article {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: space-between;
    margin: 23px auto 0;
    width: 1080px;
}
@media screen and (max-width: 1023px) {
    #feature section.popularArticles > article {
        display: block;
        margin-top: 11px;
        width: 100%;
    }
}
#feature section.popularArticles > article > article {
    flex-basis: calc(50% - 8px);
}
#feature section.popularArticles > article > article a {
    display: flex;
    gap: 10px;
    text-align: left;
}
@media screen and (max-width: 1023px) {
    #feature section.popularArticles > article > article {
        margin-bottom: 16px;
    }
    #feature section.popularArticles > article > article:last-of-type {
        margin-bottom: 0;
    }
    #feature section.popularArticles > article > article a div:first-of-type {
        flex-basis: 110px;
    }
    #feature section.popularArticles > article > article a div:first-of-type img {
        margin: 0;
    }
    #feature section.popularArticles > article > article a div:nth-of-type(2) {
        flex: 1;
    }
}
#feature section.popularArticles > article > article .author {
    color: var(--mainColor);
    font-size: 1.4rem;
}
@media screen and (max-width: 1023px) {
    #feature section.popularArticles > article > article .author {
        color: var(--mainColor);
        font-size: 1.2rem;
    }
}
#feature section.popularArticles > article > article .articleTitle {
    color: #424242;
    font-size: 1.6rem;
    font-weight: 700;
}
@media screen and (max-width: 1023px) {
    #feature section.popularArticles > article > article .articleTitle {
        font-size: 1.4rem;
    }
}
#feature section.popularArticles a.btn--red {
    margin-top: 11px;
    width: 345px;
}
@media screen and (max-width: 1023px) {
    #feature section.popularArticles a.btn--red {
        margin-top: 32px;
        width: 100%;
    }
}
#feature section.recommend {
    padding: 80px 0;
}
@media screen and (max-width: 1023px) {
    #feature section.recommend {
        background-color: #fff;
        padding: 40px 20px;
    }
    #feature section.recommend h2 {
        text-align: center;
    }
}
#feature section.recommend h2 {
    margin-bottom: 40px;
}
@media screen and (max-width: 1023px) {
    #feature section.recommend h2 {
        margin-bottom: 11px;
    }
}
#feature section.recommend article {
    display: flex;
    justify-content: space-around;
    margin: 0 auto;
    width: 1080px;
}
@media screen and (max-width: 1023px) {
    #feature section.recommend article {
        width: 100%;
    }
    #feature section.recommend article img {
        margin-bottom: 8px;
    }
    #feature section.recommend article img + div {
        font-size: 1.4rem;
        font-weight: 700;
    }
}
#feature section.recommend article > article div {
    color: #424242;
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    margin-top: 7px;
}
#feature section.store {
    background-color: var(--bgBeige);
    padding: 80px 0;
}
@media screen and (max-width: 1023px) {
    #feature section.store {
        background-color: var(--bgBeige);
        padding: 40px 20px;
    }
    #feature section.store > img {
        margin-bottom: 0;
    }
    #feature section.store h2 {
        text-align: center;
    }
}
#feature section.store h2 {
    margin-bottom: 56px;
}
@media screen and (max-width: 1023px) {
    #feature section.store h2 {
        margin-bottom: 19px;
    }
}
#feature section.store .store_storeNumber {
    border-bottom: 1px solid var(--mainColor);
    border-top: 1px solid var(--mainColor);
    margin: 0 auto;
    margin-top: 32px;
    padding: 20px 0 24px;
    position: relative;
    width: 1080px;
}
@media screen and (max-width: 1023px) {
    #feature section.store .store_storeNumber {
        margin-top: 16px;
        width: 100%;
    }
    #feature section.store .store_storeNumber img {
        margin: 0;
    }
}
#feature section.store .store_storeNumber::before,
#feature section.store .store_storeNumber::after {
    bottom: -14px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: "";
    display: block;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
}
#feature section.store .store_storeNumber::after {
    background: url(../images/feature/icon-tail--red.webp) no-repeat;
    background-size: 100%;
    content: "";
    height: 15px;
    width: 30px;
}
#feature section.store > article {
    margin: 45px auto 0;
    width: 1080px;
}
@media screen and (max-width: 1023px) {
    #feature section.store > article {
        margin-top: 29px;
        width: 100%;
    }
}
#feature section.store article > article div:first-of-type {
    background-color: #fff;
    border-bottom: 1px solid #e9e8e5;
    cursor: pointer;
    font-size: 2rem;
    padding: 8px 0;
    position: relative;
}
@media screen and (max-width: 1023px) {
    #feature section.store article > article div:first-of-type {
        font-size: 1.6rem;
    }
}
#feature section.store article > article div:first-of-type::before {
    background-color: var(--mainColor);
    bottom: 0;
    content: "";
    display: block;
    height: 2px;
    margin: auto;
    position: absolute;
    right: 16px;
    top: 0;
    width: 14px;
}
#feature section.store article > article div:first-of-type::after {
    background-color: var(--mainColor);
    bottom: 0;
    content: "";
    display: block;
    height: 14px;
    margin: auto;
    position: absolute;
    right: 22px;
    top: 0;
    transition: 0.2s;
    width: 2px;
}
#feature section.store article > article div.open::after {
    transform: rotate(-90deg);
}
#feature section.store article > article div:nth-of-type(2) {
    height: 0;
    overflow: hidden;
    transition: 0.3s ease;
}
#feature section.store article > article div:nth-of-type(2) ul {
    margin-bottom: 0;
}
#feature section.store article > article div:nth-of-type(2) ul li a {
    background-color: var(--bgGray);
    background-image: url(../images/feature/icon-arrow--black2.svg);
    background-position: center right 17.99px;
    background-repeat: no-repeat;
    border-bottom: 1px solid #e9e8e5;
    display: block;
    font-size: 1.4rem;
    padding: 8px 0;
    transition: 0.2s;
}
#feature section.store article > article div:nth-of-type(2) ul li a:hover {
    background-position: center right 13.99px;
}
#feature section.bottomContent {
    padding: 80px 0;
}
@media screen and (max-width: 1023px) {
    #feature section.bottomContent {
        background-color: #fff;
        padding: 0 0 40px;
    }
}
#feature section.bottomContent .redBox {
    padding: 49px 96px 53px;
}
@media screen and (max-width: 1023px) {
    #feature section.bottomContent .redBox {
        padding: 28px 14px;
    }
}
#feature section.bottomContent h2 {
    margin: 74px 0 50px;
}
@media screen and (max-width: 1023px) {
    #feature section.bottomContent h2 {
        margin: 34px 0 17px;
        text-align: center;
    }
}
#feature section.bottomContent > article {
    margin: 0 auto 32px;
    width: 1080px;
}
@media screen and (max-width: 1023px) {
    #feature section.bottomContent > article {
        margin: 0 auto 16px;
        width: calc(100% - 30px);
    }
}
#feature section.bottomContent > article > article {
    display: flex;
    font-size: 1.6rem;
}
@media screen and (max-width: 1023px) {
    #feature section.bottomContent > article > article {
        display: block;
        font-size: 1.6rem;
    }
    #feature section.bottomContent > article > article span {
        display: block;
    }
}
#feature section.bottomContent > article > article .day {
    flex-basis: 89px;
    font-size: 1.4rem;
    padding-top: 2px;
    text-align: left;
}
@media screen and (max-width: 1023px) {
    #feature section.bottomContent > article > article .day {
        font-size: 1.2rem;
    }
}
#feature section.bottomContent > article > article .newsTitle {
    flex: 1;
    text-align: left;
}
#feature section.bottomContent > article > article .newsTitle a {
    word-break: break-all;
}
@media screen and (max-width: 1023px) {
    #feature section.bottomContent > article > article .newsTitle a {
        font-size: 1.4rem;
    }
}
#feature section.bottomContent > article > article {
    border-bottom: 1px solid #e9e8e5;
    padding: 20px 24px;
}
@media screen and (max-width: 1023px) {
    #feature section.bottomContent > article > article {
        padding: 10px 15px;
    }
}
#feature section.bottomContent > a.btn--red {
    width: 345px;
}
/* タブ用スタイル */
.tabs {
    margin: 24px auto;
    max-width: 1080px;
}
@media screen and (max-width: 1023px) {
    .tabs {
        width: calc(100% - 30px);
    }
}

.tabList {
    display: flex;
    justify-content: space-between;
    margin-bottom: 25px;
    width: 100%;
}
.tabList li {
    flex-basis: calc(50% - 1px);
}
.tabItem {
    background-color: #bdbdbd;
    color: #fff;
    cursor: pointer;
    font-size: 2.2rem;
    font-weight: bold;
    letter-spacing: 0.08em;
    padding: 13px 0;
    position: relative;
    transition: 0.2s;
}
@media screen and (max-width: 1023px) {
    .tabItem {
        align-items: flex-end;
        display: flex;
        justify-content: center;
        padding: 69px 10px 13px;
    }
}
.tabItem:first-of-type {
    background-image: url(../images/feature/icon-run.svg);
    background-position: center left 24.87px;
    background-repeat: no-repeat;
}
.tabItem:first-of-type.active,
.tabItem:first-of-type:hover {
    background-image: url(../images/feature/icon-run.svg), linear-gradient(#ff7f8e, #e72d43);
    background-position: center left 24.87px, center;
    background-repeat: no-repeat;
}
@media screen and (max-width: 1023px) {
    .tabItem:first-of-type {
        background-position: top 18.44px center;
    }
    .tabItem:first-of-type.active {
        background-position: top 18.44px center, center;
    }
}
.tabItem:first-of-type.active::after {
    bottom: -30px;
    content: url(../images/feature/icon-triangle--red.svg);
    display: block;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
}
.tabItem:nth-of-type(2) {
    background-image: url(../images/feature/icon-beginner.webp);
    background-position: center left 24.87px;
    background-repeat: no-repeat;
    background-size: 27px;
}
.tabItem:nth-of-type(2).active,
.tabItem:nth-of-type(2):hover {
    background-image: url(../images/feature/icon-beginner.webp), linear-gradient(#c8993f, #e3b863);
    background-position: center left 24.87px, center;
    background-repeat: no-repeat;
    background-size: 27px, 100%;
}
@media screen and (max-width: 1023px) {
    .tabItem:nth-of-type(2) {
        background-position: top 16px center;
    }
    .tabItem:nth-of-type(2).active {
        background-position: top 16px center, center;
    }
}
.tabItem:nth-of-type(2).active::after {
    bottom: -30px;
    content: url(../images/feature/icon-triangle--gold.svg);
    display: block;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
}
.tabItem .sub {
    font-size: 1.8rem;
    font-weight: 400;
}
@media screen and (max-width: 1023px) {
    .tabItem .sub {
        align-items: center;
        display: flex;
        font-size: 1.4rem;
        height: 40px;
    }
}

.tabPanel {
    display: none;
}
.tabPanel > div {
    background-color: #e9e8e5;
    padding: 34px;
}
.tabPanel:first-of-type {
    background: linear-gradient(#ff7f8e, #e72d43);
    border-radius: 4px;
    padding: 6px;
}
.tabPanel:nth-of-type(2) {
    background: linear-gradient(to right, #d6ab58, #e5cea1);
    border-radius: 4px;
    padding: 6px;
}
@media screen and (max-width: 1023px) {
    #feature section .tabPanel > p {
        font-size: 1.7rem;
    }
    .tabPanel:first-of-type {
        padding: 3px;
    }
    .tabPanel:nth-of-type(2) {
        padding: 3px;
    }
}
.tabPanel table {
    margin-bottom: 22px;
    margin-top: 27px;
    width: 100%;
}

.tabPanel table th,
.tabPanel table td {
    background-color: #fff;
    border-bottom: 1px solid #e9e8e5;
    height: 76px;
    letter-spacing: 0.08em;
    padding: 10px 0;
    vertical-align: middle;
    width: 50%;
}
@media screen and (max-width: 1023px) {
    .tabPanel table th,
    .tabPanel table td {
        padding: 20px 10px;
    }
    .tabPanel table th {
        width: 55%;
    }
    .tabPanel table td {
        width: 45%;
    }
}
.tabPanel table th small {
    margin-top: 3px;
}

.tabPanel table th div {
    font-size: 1.6rem;
    font-weight: 700;
}

.tabPanel table td .number {
    font-family: "Roboto Flex";
    font-size: 2rem;
    font-weight: 500;
    line-height: 1;
}

.tabPanel table td .unit {
    font-size: 1.6rem;
}
.tabPanel table td {
    text-align: left;
}
.tabItem.active {
    background-color: skyblue;
    color: #fff;
    font-weight: bold;
}
#feature section .tabPanel table small {
    font-size: 1.2rem;
}
@media screen and (max-width: 1023px) {
    #feature section .tabPanel table small {
        font-size: 1rem;
    }
}
#feature section .tabPanel > div > div.left {
    text-align: left;
}
#feature section .tabPanel > div > article {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: flex-start;
    margin-top: 38px;
}
#feature section .tabPanel > div > article > article {
    border-radius: 4px;
    overflow: hidden;
}
@media screen and (max-width: 1023px) {
    #feature section .tabPanel > div > article {
        gap: 7px 0;
        justify-content: space-between;
    }
    #feature section .tabPanel > div > article > article {
        flex-basis: calc(100% / 2 - 3.5px);
    }
}
#feature section .tabPanel > div > article > article > div:first-child {
    background-color: var(--mainColor);
    color: #fff;
    font-weight: 700;
    padding: 5px 0;
}
#feature section .tabPanel:nth-of-type(2) > div > article > article > div:first-child {
    background-color: #c8993f;
}
#feature section .tabPanel > div > article > article > div:first-child span:first-of-type {
    font-size: 1.8rem;
}
#feature section .tabPanel > div > article > article > div:first-child span:nth-of-type(2) {
    font-size: 1.6rem;
}
#feature section .tabPanel > div > article > article > div.small span:first-of-type {
    font-size: 1.5rem;
}
#feature section .tabPanel > div > article > article > div.small span:nth-of-type(2) {
    font-size: 1.5rem;
}
@media screen and (max-width: 1023px) {
    #feature section .tabPanel > div > article > article > div:first-child span:first-of-type {
        font-size: 1.2rem;
    }
    #feature section .tabPanel > div > article > article > div:first-child span:nth-of-type(2) {
        font-size: 1.2rem;
    }
    #feature section .tabPanel > div > article > article > div.small span:first-of-type {
        font-size: 1.2rem;
    }
    #feature section .tabPanel > div > article > article > div.small span:nth-of-type(2) {
        font-size: 1.2rem;
    }
}
#feature section .tabPanel > div > article > article > div:nth-of-type(2) {
    position: relative;
    text-align: center;
}
@media screen and (max-width: 1023px) {
    #feature section .tabPanel > div > article > article > div:nth-of-type(2) img {
        margin: 0;
    }
}
#feature section .tabPanel > div > article > article > div:nth-of-type(2) div {
    background-color: #fff;
    border-radius: 4px;
    bottom: 7px;
    color: var(--mainColor);
    display: inline-block;
    font-size: 1.3rem;
    font-weight: 700;
    left: 0;
    letter-spacing: 0.08em;
    margin: auto;
    position: absolute;
    right: 0;
    width: 186px;
}
@media screen and (max-width: 1023px) {
    #feature section .tabPanel > div > article > article > div:nth-of-type(2) div {
        font-size: 1.2rem;
        width: 142px;
    }
}
#feature section .tabPanel:nth-of-type(2) > div > article > article > div:nth-of-type(2) div {
    color: #c8993f;
}
#feature section .tabPanel > div > article > article > div:nth-of-type(2) div .number {
    font-family: "Roboto Flex";
    font-size: 1.8rem;
    font-weight: 500;
}
@media screen and (max-width: 1023px) {
    #feature section .tabPanel > div > article > article > div:nth-of-type(2) div .number {
        font-size: 1.4rem;
    }
}
#feature section .tabPanel > div > article > article > div:nth-of-type(2) div span:last-of-type {
    bottom: -2px;
    position: relative;
}
.tabPanel.active {
    display: block;
}
@media screen and (max-width: 1023px) {
    .tabPanel.active > div {
        display: block;
        padding: 40px 15px;
    }
}
.tabPanel.active h2 {
    font-size: 20px;
    font-weight: bold;
}

.tabContent table .red {
    color: #e3155f !important;
    font-size: 16px !important;
    text-align: center !important;
}

@media screen and (min-width: 1022px) {
    .tabContent table .left .red {
        text-align: left !important;
    }
}

.tableBottomText {
    color: #e3155f !important;
    font-size: 11px !important;
    left: 50%;
    margin-bottom: 0;
    position: absolute;
    text-align: center;
    top: -10px;
    transform: translateX(-50%);
    width: max-content;
}

.tabPanel table tr.tableBottomTextInner td {
    height: 48px;
    padding-block: 0;
    position: relative;
}

.tabPanel table tr.borderNone th,
.tabPanel table tr.borderNone td {
    border-bottom: none;
}

@media screen and (max-width: 1023px) {
    .tabContent table td div {
        text-align: center;
    }
}
/* -----------------------

比較の表

--------------------------*/
.pointWrap__tableBox {
    overflow-x: auto;
    padding-bottom: 16px;
    width: 100%;
}

.pointWrap__table {
    border-collapse: collapse;
    margin-inline: auto;
    margin-top: 16px;
    width: 660px;
}

.pointWrap__table .asterisk {
    font-size: 10px;
    position: relative;
    top: -4px;
}

.pointWrap__table tr {
    align-items: center;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    justify-items: center;
}

.pointWrap__table th,
.pointWrap__table td {
    align-items: center;
    border-bottom: 2px solid #e9e8e5;
    display: flex;
    font-size: 14px;
    height: 62px;
    justify-content: center;
    letter-spacing: 2px;
    text-align: center;
    width: 100%;
}

.pointWrap__table th,
.pointWrap__table .heading {
    background: #fff7ef;
}

.pointWrap__table .heightLong td {
    height: 83px;
}

.pointWrap__table .heading {
    font-weight: 400 !important;
}

.pointWrap__table .ownHead {
    background: #f25265;
    border: none;
    color: #fff;
}

.pointWrap__table .ownContent {
    border: 2px solid #f25265;
    color: var(--mainColor);
    font-weight: 500;
    gap: 4px;
}
.pointWrap__table .ownContent .large {
    color: #f25265;
    font-size: 22px;
    font-weight: 500;
    height: 33px;
    line-height: 1.5;
    position: relative;
    top: -5px;
}

@media screen and (max-width: 1023px) {
    .pointWrap__table .ownContent .large {
        top: 5px;
    }
}

.pointWrap__table .ownContent .large img {
    height: 18px;
}

.pointWrap__table .ownContent .value {
    color: var(--mainColor);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
}

.pointWrap__table .bold {
    font-weight: 700;
}

.pointWrap__table.multiple th,
.pointWrap__table.multiple td {
    font-weight: 700;
}

.pointWrap__table.multiple .ownContent {
    border-bottom: 2px solid #e9e8e5;
    border-top: none;
}

.pointWrap__table.multiple tr:nth-last-child(1) .ownContent {
    border-bottom: 2px solid var(--mainColor);
}

.asterisk__detailWrap {
    margin-top: 40px;
}

.asterisk__detail {
    font-size: 12px;
    letter-spacing: 2px;
    line-height: 1.5;
    margin-bottom: 2px;
}

.pointContent__lead {
    font-size: 16px;
    letter-spacing: 2px;
    line-height: 1.5;
    margin-top: 16px;
    text-align: center;
}

.pointWrapBottom__text {
    font-size: 14px;
    letter-spacing: 2px;
    line-height: 1.5;
    margin-top: 40px;
}

.pointWrapBottom__text .underLine__yellow {
    background: linear-gradient(transparent 0, rgba(255, 247, 64, 0) 50%, rgba(255, 247, 64, 1) 100%);
}

.pointWrap__table .ownContent .smallText {
    font-size: 16px;
    letter-spacing: 0.04em;
}

.pointWrap__table.table__price th,
.pointWrap__table.table__price td {
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.04em;
}

.pointWrap__table .figure {
    font-size: 24px;
}

.table__price.pointWrap__table.multiple td {
    gap: 4px;
}

.table__price.pointWrap__table td .normal {
    font-size: 16px;
}

.table__price.pointWrap__table td .value {
    font-size: 13px;
    position: relative;
    top: 1px;
}

.numberOne__text {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 1.2px;
    line-height: 1.5;
    text-align: center;
}

.numberOne__reason {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 2px;
    line-height: 1.5;
    margin-top: 32px;
    position: relative;
    text-align: center;
}

.numberOne__reason span {
    position: relative;
}

.numberOne__reason span::before {
    background-color: var(--mainColor);
    border-radius: 50%;
    content: "";
    height: 8px;
    left: 50%;
    position: absolute;
    top: -8px;
    transform: translateX(-50%);
    width: 8px;
}

.numberOne__img {
    margin: 24px auto 0;
    max-width: 342px;
    width: 100%;
}

.numberOne__img img {
    width: 100%;
}

@media screen and (min-width: 1024px) {
    .tabContent_nineOpportunities img {
        width: 100%;
    }
}

@media screen and (min-width: 1200px) {
    .tabContent_nineOpportunities img {
        height: 164px;
        object-fit: cover;
        object-position: center;
        width: 320px;
    }
}

@media screen and (max-width: 840px) {
    .point__lead {
        align-content: center;
        display: grid;
        gap: 0;
        height: 178px;
        justify-items: center;
        margin-top: 0;
    }
    .point__topText {
        font-size: 14px;
        text-align: start;
    }

    .pointLink {
        margin-top: 16px;
        position: relative;
    }

    .pointLink::before {
        border: 1px solid #d6ab58;
        border-radius: 50%;
        content: "";
        height: 102px;
        left: 50%;
        position: absolute;
        top: 57%;
        transform: translateX(-50%) translateY(-50%);
        width: 102px;
    }

    .pointLink__column {
        display: grid;
        gap: 24px;
        grid-template-columns: 1fr;
        grid-template-rows: auto auto;
        margin-inline: auto;
        max-width: 305px;
        padding-top: 50px;
        width: 100%;
    }

    .pointLink__item {
        font-size: 18px;
        height: 91px;
        margin: 0 auto;
        width: 140px;
    }

    .pointLink__text {
        font-size: 18px;
        margin-top: 10px;
    }

    .pointLink__item:nth-child(1) {
        grid-column: span 2;
    }

    .pointLink__item:nth-child(2) {
        margin-bottom: 24px;
    }
}

@media screen and (max-width: 840px) {
    .pointContent__title {
        align-items: center;
        font-size: 24px;
    }

    .table__support.pointWrap__table td {
        height: 83px;
    }

    .pointWrap {
        padding-bottom: 40px;
    }
}

.for-sp {
    display: none;
}

@media screen and (max-width: 1023px) {
    .for-sp {
        display: block;
    }
}

.topBtnGold__container {
    padding-block: 40px;
}

.topBtnGold__container .btn--gold {
    border: none !important;
    margin-inline: auto;
    max-width: 888px;
    width: 100%;
}

@media screen and (max-width: 1023px) {
    .topBtnGold__container {
        padding: 28px 14px;
    }
}
