/* スタイル踏襲 */
.kv img {
    width: 100%;
}
.mod-box-full-width.cp-hdg {
    margin-block-start: 0;
    padding-top: 0;
    padding-block-end: 0;
    background-color: #fff;
}

.unext .hdg-lv2 {
    margin-inline: calc(50% - 50vw);
    padding: 15px calc(50vw - 50%);
    position: relative;
    background-color: #0176cc;
    color: #fff;
    text-align: center;
}

.theme-main.chance .mod-box-full-width h2 {
    margin-block-start: 0 !important;
}

:where(.theme-main:not(.theme-main--shift-heading) .theme-main__contents) h2.hdg-lv2::after {
    content: "";
    margin: auto;
    position: absolute;
    bottom: -14px;
    left: 0;
    right: 0;
    width: 0;
    height: 0;
    background: none;
    border-style: solid;
    border-right: 13px solid transparent;
    border-left: 13px solid transparent;
    border-top: 15px solid #0176cc;
    border-bottom: 0;
    border-radius: 0;
}

.unext .mod-box-full-width.cp-box {
    margin-block-start: 0;
    padding: 25px 15px 25px;
    background: #e5f1fe;
}

:where(.mod-box-full-width.cp-box) .unext .mod-box-04:last-child {
    margin-bottom: 0;
}

.pc-hide {
    display: block;
}
@media screen and (min-width: 769px) {

    .unext .hdg-lv2 {
        padding-top: 30px;
        padding-bottom: 30px;
    }

    :where(.theme-main:not(.theme-main--shift-heading) .theme-main__contents) h2.hdg-lv2:not([class^=mod-], [class^=unq-]) {
        padding: 30px 10px;
        font-size: 3.6rem;
    }

    :where(.theme-main:not(.theme-main--shift-heading) .theme-main__contents) h2.hdg-lv2::after {
        bottom: -29px;
        border-right: 26px solid transparent;
        border-left: 26px solid transparent;
        border-top: 30px solid #0176cc;
    }

    .unext .mod-box-full-width.cp-box {
        padding: 40px calc(50vw - 50%) 20px;
    }

    .pc-hide {
        display: none;
    }
}

/* 既存スタイル上書き */
.unext .theme-main__title-main {
    background-color: #FFF;
}
.unext h2:not(.hdg-lv2) {
    font-size: 2rem;
    text-align: center;
    padding: 16px 0;
    background-color: #FFF;
}
:where(.theme-main__contents) .mod-box-full-width + h2:not([class^=mod-], [class^=unq-]) {
    margin-block-start: 20px;
}
:where(.theme-main:not(.theme-main--shift-heading) .theme-main__contents) h2:not([class^=mod-], [class^=unq-], .hdg-lv2)::after {
    background-color: #0176cc;
}
.unext h3 {
    font-size: 2rem;
    text-align: center;
    color: #0176cc;
    margin: 0;
    padding-left: 0;
}

.unext h3::after {
    display: none;
}

.unext p {
    font-size: 1.8rem;
}

.unext p.mod-text-lead {
    font-size: 2.1rem;
    letter-spacing: -0.01em;
}

.unext p.mod-text-lead.mod-text-lead--emphasis {
    color: #0176cc;
}

.unext abbr[title] {
    text-decoration: none;
}

.unext .theme-main__inner {
    row-gap: 0;
}

.unext .mod-accordion__content-inner {
    padding-left: 15px;
}

.unext .mod-accordion:not(.mod-accordion--question) .mod-accordion__content-inner {
    padding-top: 20px;
    padding-left: 0;
}

.unext .mod-accordion__answer {
    align-items: flex-start;
}

.unext .mod-accordion__trigger {
    background-color: #cce3fb;
    padding: 15px;
}

.unext .mod-accordion__trigger::after,
.unext .mod-accordion__trigger::before {
    background-color: #0176cc;
}

.unext .mod-accordion:not(.mod-accordion--question) .mod-accordion__trigger {
    font-size: 1.5rem;
}

.unext .mod-box-full-width:not(.mod-box-full-width--background-light-pink) .mod-accordion .mod-accordion__trigger:focus-visible {
    background-color: #b3d7fc;
}

.unext .mod-card__head {
    background-color: #0176cc;
}

.unext .mod-card__heading {
    font-size: 1.8rem;
}

.unext .mod-card__contents {
    padding-bottom: 0;
}

.unext .mod-card__image {
    padding-bottom: 20px;
}

.unext .mod-card__contents p {
    font-size: 1.6rem;
}

.unext .mod-card__body {
    background-color: #f2f8fe;
}

.unext .mod-layout--step .mod-layout__content:not(:last-child)::before {
    background-color: #0176cc;
}

.unext .mod-button__link {
    border: 2px solid #0176cc;
    color: #0176cc;
    white-space: nowrap;
}

.unext .mod-button__link::before {
    background-color: #0176cc;
}

.unext .mod-button__link--emphasis.mod-button__link--emphasis {
    background-color: #0176cc;
    border-color: #0176cc;
    color: #fff;
    /* padding: 15px 26px; */
}

.unext .mod-button__link--emphasis.mod-button__link--emphasis::before {
    background-color: #fff;
}

.unext .mod-accordion__answer-mark, .mod-accordion__question {
    background-color: #0176cc;
}

.unext .mod-list-note {
    font-size: 1.6rem;
}

.unext .mod-box-04 {
    margin-block: 10px 16px;
}

.unext .mod-card__head {
    block-size: auto;
}

@media screen and (min-width: 769px) {
    :where(.theme-main__contents) .mod-box-full-width + h2:not([class^=mod-], [class^=unq-]) {
        margin-block-start: 38px;
    }
    .unext h2 {
        font-size: 2.8rem;
        padding: 30px 10px;
    }
    .unext h2:not(.hdg-lv2) {
        font-size: 2.4rem;
    }
    .unext h3 {
        font-size: 3.4rem;
    }
    .unext p {
        font-size: 2.2rem;
    }
    .unext p.mod-text-lead {
        font-size: 2.4rem;
    }
    .unext .mod-accordion:not(.mod-accordion--question) .mod-accordion__trigger {
        font-size: 2.3rem;
        justify-content: center;
    }
    .unext .mod-list-note {
        font-size: 1.8rem;
    }
    .unext .mod-accordion--question .mod-accordion__trigger {
        justify-content: flex-start;
    }
    .unext .mod-box-04 {
        margin-block: 30px 40px;
    }
    .unext .mod-button__link--emphasis.mod-button__link--emphasis {
        transform: scale(1.2);
        margin: auto;
        width: auto;
        padding-left: 60px;
        padding-right: 60px;
    }
}

@media only screen and (min-width: 768px) {
    .str-main .str-content> section {
        padding: 0;
    }
}

@media (hover: hover) {
    .mod-box-full-width:not(.mod-box-full-width--background-light-pink) .mod-accordion .mod-accordion__trigger:where(:any-link, :enabled, summary):hover {
        background-color: #b3d7fc;
    }
    .mod-button__link:where(:any-link, :enabled, summary):hover {
        text-decoration: none;
    }
    .mod-button__link:not(.mod-button__link--emphasis):where(:any-link, :enabled, summary):hover, .mod-button__link:not(.mod-button__link--gray):where(:any-link, :enabled, summary):hover {
        background-color: #0176cc;
        color: #fff;
    }
    .mod-button__link--emphasis.mod-button__link--emphasis:where(:any-link, :enabled, summary):hover {
        background-color: #fff;
        color: #0176cc;
    }
    .mod-button__link--emphasis.mod-button__link--emphasis:where(:any-link, :enabled, summary):hover::before {
        background-color: #0176cc;
    }
}

/* 独自実装class */
.unq-media {
    display: flex;
    flex-flow: column;
    justify-content: space-between;
}

:where(.mod-box-04) .unq-media:not(:first-child) {
    margin-top: 20px;
}

.unq-media_txt {
    flex: 1;
}

.unq-media_img {
    width: auto;
    margin: 0 auto;
}

.unq-media_img img {
    margin: 0;
}

.unq-media_img.ticket {
    width: 270px;
}

.unq-merit {
    display: flex;
    flex-flow: column;
    align-items: center;
    gap: 10px;
}

.unq-merit_img {
    width: 120px;
}

.unq-merit_img img {
    margin-top: 0;
}

.unq-merit_txt {
    font-size: 1.8rem;
    flex: 1;
}

.unq-merit_txt > dt {
    color: #0176cc;
    text-align: center;
    font-weight: bold;
}

.unq-step {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-color: #cce3fb;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    padding: 10px;
}
.unq-step_img img {
    width: 70px;
    margin-block-start: 0;
}

.unq-step_txt {
    flex: 1;
}

.unq-step_txt p.mod-text-lead {
    margin-top: 0;
    text-align: left;
    letter-spacing: -0.02em;
}

.unq-step_txt p {
    margin-top: 10px;
    font-size: 1.5rem;
}

.unq-question_txt p {
    font-size: 1.6rem;
}

.unq-question_txt p:first-child {
    margin-block-start: 8px;
}

/* .unq-fixed_button {
    position: fixed;
    bottom: 15px;
    left: 15px;
    right: 15px;
} */

/* 画面外にあるとき */
.js-fixed-button.is-fixed {
  position: fixed;
  z-index: 100;
  left: 50%;
  bottom: 20px;
  transform: translateX(-50%);
}

@media screen and (min-width: 769px) {
    .unq-media {
        flex-flow: row;
    }
    .unq-merit {
        flex-flow: row;
    }
    .unq-merit_txt > dt {
        text-align: left;
    }
    .unq-step {
        padding: 20px 40px;
    }
    .unq-step_img img {
        width: 100px;
        margin-block-start: 0;
    }
    .unq-step_txt p {
        font-size: 1.6rem;
    }
    .unq-step_txt p.mod-text-lead {
        text-align: center;
        font-size: 2.4rem;
    }
}