@charset "UTF-8";
*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --white: #ffffff;
    --black: #000000;
    --brown: #301e06;
    --dark-purple: #27063E;
    --purple: #53008B;
    --light-purple: #EDE4F5;
    --neon-green: #9FEB00;
    --red: #E72C23;
    --yellow: #FFE87D;
    --blue: #0000FF;
    --font-size-base: 1rem;
    --line-height-base: 1.5;
    --font-family-base: "Noto Sans JP", sans-serif;
    --font-family-serif: "Noto Serif JP", serif;
    --container-width: 1240px;
}

html,
body {
    font-size: var(--font-size-base);
    line-height: var(--line-height-base);
    font-family: var(--font-family-serif);
    color: var(--white);
    background-color: #ffffff;
}

p {
    letter-spacing: 0;
}

.link-text {
    text-decoration: underline;
    color: #0000FF;
}

.link-hover {
    opacity: 1;
    transition: 0.4s;
}
.button-container {
    display: flex;
    justify-content: center;
}

.button-entry {
    display: inline-block;
}

.header {
    height: 152px;
    position: absolute;
    top: 0;
    width: 100%;
}

.header-inner {
    background: url(../images/bg_header_pc.svg) no-repeat top center;
}

.header-inner {
    display: flex;
    justify-content: center;
    padding-top: 16px;
    padding-bottom: 24px;
}

.header-logo {
    position: relative;
    z-index: 1;
}

.header-logo-image {
    max-width: 498px;
    width: 100%;
}

@media (max-width: 767.98px) {
    .header {
        height: 88px;
    }

    .header-inner {
        position: relative;
        height: 88px;
        margin-inline: 46px;
    }

    .header-inner::before,
    .header-inner::after {
        position: absolute;
        content: "";
        top: 50%;
        background-color: #fff;
        width: 47px;
        height: 90px;
        transform: 
        translateY(-50%);
    }

    .header-inner::before {
        left: -46px;
        clip-path: polygon(0 0, 100% 100%, 100% 0);
    }

    .header-inner::after {
        right: -46px;
        clip-path: polygon(0 0, 0% 100%, 100% 0);
    }

    .header h1 {
        padding-inline: 20px;
        height: 100%;
    }

    .header-logo {
        align-items: center;
        height: 100%;
        padding-top: 0;
        padding-bottom: 0;
    }

    .header-logo-image {
        max-width: unset;
        width: 100%;
        height: 56px;
        object-fit: contain;
    }

    .button-entry,
    .button-entry img {
        width: 100%;
    }
}

.mv {
    background: url(../images/bg_fv_pc.webp) no-repeat bottom center;
    background-size: cover;
    width: 100%;
    aspect-ratio: 1920 / 1102;
}

.container {
    max-width: var(--container-width);
    width: 100%;
    margin-inline: auto;
}

.mv-wrapper {
    position: relative;
    padding-top: 300px;
}

.mv-inner {
    max-width: calc(100% - 294px);
    width: 100%;
    background-color: rgba(0, 0, 0, .75);
    margin-left: auto;
    padding: 42px 42px 42px 24%;
}

.img-emblem {
    position: absolute;
    top: 60%;
    left: -40px;
    transform: translateY(-50%);
    aspect-ratio: 567 / 760;
    height: 90%;
}

.mv-box-title {
    border-top: 2px solid var(--yellow);
}

.mv-box-title-bg {
    position: relative;
    display: inline-block;
    background-color: var(--yellow);
    color: var(--black);
    font-family: var(--font-family-base);
    font-size: 22px;
    padding: 10px 20px;
}

.mv-box-title-bg::after {
    position: absolute;
    content: "";
    background-color: var(--yellow);
    width: 26px;
    height: 100%;
    clip-path: polygon(0 0, 0% 100%, 100% 0);
    top: 0;
    right: -26px;
}

.mv-box-text-date {
    font-family: var(--font-family-serif);
    font-size: 28px;
    font-weight: bold;
    line-height: 48px;
    padding-top: 12px;
}

.text-date-large {
    font-size: 36px;
}

.mv-box-text {
    font-family: var(--font-family-base);
    font-size: 16px;
    font-weight: normal;
    padding-top: 16px;
}

.mv-box-text-large {
    color: var(--yellow);
    font-size: 24px;
}

@media (max-width: 1079px) {
    .mv-wrapper {
        padding-top: 150px;
    }

    .mv-emblem {
        max-width: calc(100% - 200px);
        margin-inline: auto;
        margin-bottom: 80px;
    }

    .img-emblem {
        position: static;
        top: 60%;
        left: 0;
        transform: none;
        aspect-ratio: 309 / 402;
        height: unset;
        width: calc(100% - 15px * 2);
    }

    .mv-inner {
        max-width: unset;
        padding: 30px 18px;
        margin-bottom: 40px;
    }
}

@media (max-width: 1079px) {
    .container {
        max-width: calc(100% - 20px * 2);
        margin-inline: 20px;
    }
}

@media (max-width: 767.98px) {
    .mv {
        background: url(../images/bg_fv_pc.webp) no-repeat bottom left;
        background-size: cover;
        width: 100%;
        aspect-ratio: 390 / 1112;
    }

    .mv-wrapper {
        padding-top: 100px;
    }

    .mv-emblem {
        max-width: unset;
        margin-inline: auto;
        margin-bottom: 16px;
    }

    .mv-box-title img {
        width: 109px;
    }

    .mv-box-text-date {
        font-size: 18px;
        line-height: 32px;
    }

    .text-date-large {
        font-size: 24px;
    }

    .mv-box-text {
        font-size: 14px;
        line-height: 28px;
    }

    .mv-box-text-large {
        font-size: 18px;
    }
}

@media (max-width: 365px) {
    .mv-box-text-date {
        font-size: 12px;
        line-height: 28px;
    }

    .text-date-large {
        font-size: 22px;
    }
}

.section-title-question {
    font-size: 24px;
    max-width: 18em;
    width: 100%;
    aspect-ratio: 432 / 138;
}

.section-title-question-sub {
    border-top: 2px solid var(--neon-green);
    text-align: center;
    padding-bottom: 24px;
}

.section-title-question-sub img {
    margin-inline: auto;
}

.text-question {
    font-family: var(--font-family-base);
    font-weight: normal;
    font-size: 20px;
    text-align: center;
}

.text-question-sub {
    font-family: var(--font-family-base);
    font-weight: normal;
    font-size: 14px;
    text-align: center;
}

.queston-type-box {
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 12px;
    margin-bottom: 40px;
}

/* about */
.section-about {
    position: relative;
    background: url(../images/bg_section_about.webp) no-repeat bottom center / cover;
}

.section-about .container {
    position: relative;
    z-index: 3;
}

.section-about::before {
    position: absolute;
    content: "";
    background: url(../images/bg_about_left_pc.webp) no-repeat center / contain;
    top: 62px;
    left: 0;
    width: 20%;
    aspect-ratio: 417 / 863;
    z-index: 0;
}

.section-about::after {
    position: absolute;
    content: "";
    background: url(../images/bg_about_right_pc.webp) no-repeat center / contain;
    top: 100px;
    right: 0;
    width: 20%;
    aspect-ratio: 483 / 896;
    z-index: 0;
}

.section-title {
    color: var(--black);
    text-align: center;
    font-family: var(--font-family-serif);
    font-weight: bold;
    padding-top: 56px;
}

.section-title.title-line {
    position: relative;
}

.section-title.title-line::before,
.section-title.title-line::after {
    position: absolute;
    content: "";
    background-color: var(--black);
    width: calc((100% - (24px * 15)) / 2);
    height: 1px;
    top: 65%;
}

.section-bonus .section-title.title-line::before,
.section-bonus .section-title.title-line::after,
.section-campaign .section-title.title-line::before,
.section-campaign .section-title.title-line::after {
    width: calc((100% - (24px * 20)) / 2);
}

.section-title.color-white.title-line::before,
.section-title.color-white.title-line::after,
.section-inquiry.color-white.title-line::before,
.section-inquiry.color-white.title-line::after {
    background-color: var(--white);
}

.section-title.title-line::before {
    left: 0;
}

.section-title.title-line::after {
    right: 0;
}

.title-main {
    font-size: 48px;
    letter-spacing: -0.05em;
}

.title-sub {
    font-size: 24px;
    letter-spacing: 0.05em;
}

.about-text-lead {
    display: inline-block;
    font-size: 56px;
    letter-spacing: -0.05em;
    font-weight: bold;
    color: #fff;
    padding-inline: 17px;
    margin-inline: auto;
}

.about-text-lead span {
    display: inline-block;
    background-color: var(--black);
    padding-inline: 16px;
    margin-bottom: 8px;
}

.about-text-lead-sp {
    display: none;
}

.about-text-box {
    margin-bottom: 40px;
}

.about-text-main {
    font-size: 20px;
    color: var(--black);
    line-height: 2;
}

.about-text-main:not(:last-of-type) {
    margin-bottom: 48px;
}

.about-text-sub {
    font-size: 14px;
    font-family: var(--font-family-base);
    font-weight: normal;
}

.about-box-more,
.date-box-more {
    position: relative;
    max-width: calc(100% - (50px * 2));
    width: 100%;
    padding-bottom: 80px;
    margin-inline: 50px;
    z-index: 3;
}

.about-box-more img {
    width: 100%;
    object-fit: contain;
    aspect-ratio: 1100 / 341;
}

@media (max-width: 1199px) {
    .about-text-lead {
        display: none;
    }

    .about-text-lead-sp {
        display: inline-block;
        color: var(--white);
        font-size: 36px;
        font-family: var(--font-family-serif);
        font-weight: bold;
    }

    .about-text-lead-sp span {
        display: inline-block;
        background-color: var(--black);
        padding-inline: 12px;
        margin-bottom: 8px;
    }
}

@media (max-width: 1079px) {
    .section-about::before {
        position: absolute;
        content: "";
        background: url(../images/bg_about_top_sp.png) no-repeat center / contain;
        top: 0;
        left: 0;
        width: 100%;
        aspect-ratio: 383 / 155;
        z-index: 0;
    }

    .section-about::after {
        display: none;
    }

    .section-about .section-title {
        padding-top: 45vw;
    }

    .about-bg-image-sp {
        max-width: unset;
        margin-inline: 0;
    }

}

@media (max-width: 991px) {
    .about-box-more img {
        width: 100%;
        object-fit: contain;
        aspect-ratio: 350 / 358;
    }
}

@media (max-width: 767.98px) {
    .section-title {
        padding-top: 180px;
    }

    .title-main {
        font-size: 32px;
    }

    .title-sub {
        font-size: 18px;
    }

    .about-text-main {
        font-size: 16px;
    }

    .about-text-main:not(:last-of-type) {
        margin-bottom: 32px;
    }

    .about-box-more {
        max-width: unset;
        margin-inline: 0;
    }

    .date-box-more {
        max-width: unset;
        margin-inline: 0;
        padding-bottom: 48px;
    }

    .section-bonus .section-title.title-line::before,
    .section-bonus .section-title.title-line::after,
    .section-campaign .section-title.title-line::before,
    .section-campaign .section-title.title-line::after {
        width: calc((100% - (18px * 15) - (20px * 2)) / 2);
    }

    .section-bonus .section-title.title-line::before,
    .section-bonus .section-title.title-line::after {
        min-width: 42px;
    }

    .section-campaign .section-title.title-line::before,
    .section-campaign .section-title.title-line::after {
        min-width: 24px;
    }

    .section-campaign .section-title.title-line::before {
        left: 20px;
    }

    .section-campaign .section-title.title-line::after {
        right: 20px;
    }
}

@media (max-width: 365px) {
    .about-text-lead-sp {
        font-size: 28px;
    }
}

/* date */
.section-date {
    position: relative;
}

.section-date::before,
.section-date::after {
    position: absolute;
    content: "";
}

.section-date::before {
    background: url(../images/bg_contents_date_left_pc.svg) no-repeat center / contain;
    aspect-ratio: 472 / 471;
    width: 472px;
    top: 0;
    left: 0;
}

.section-date::after {
    background: url(../images/bg_contents_date_right_pc.svg) no-repeat center / contain;
    aspect-ratio: 483 / 415;
    width: 483px;
    bottom: 0;
    right: 0;
}

.date-box-more img {
    width: 100%;
    object-fit: contain;
    aspect-ratio: 1100 / 354;
}

@media (max-width: 1079px) {
    .section-date::before {
        background: url(../images/bg_contents_date_left_sp.svg) no-repeat center / contain;
        aspect-ratio: 167 / 161;
        width: 167px;
    }

    .section-date::after {
        background: url(../images/bg_contents_date_right_sp.svg) no-repeat center / contain;
        aspect-ratio: 151 / 215;
        width: 151px;
    }
}

@media (max-width: 767.98px) {
    .section-date .section-title,
    .section-question .section-title {
        padding-top: 32px;
    }

    .section-title.title-line::before,
    .section-title.title-line::after {
        min-width: 24px;
        width: calc((100% - (18px * 15) - (20px * 2)) / 2);
    }

    .section-title.title-line::before {
        left: 0;
    }

    .section-title.title-line::after {
        right: 0;
    }
}

@media (max-width: 575px) {
    .date-box-more img {
        width: 100%;
        aspect-ratio: 350 / 295;
    }
}

/* question */
.section-question {
    position: relative;
    background-color: var(--dark-purple);
}

.section-question::before {
    position: absolute;
    content: "";
    background: url(../images/bg_housings_pc.webp) no-repeat center / contain;
    aspect-ratio: 919 / 735;
    max-width: 919px;
    width: 100%;
    bottom: 0;
    right: 0;
    z-index: 0;
}

.section-question .container {
    position: relative;
    padding-inline: 20px;
    z-index: 3;
}

.section-question .section-title {
    padding-bottom: 56px;
}

.question-lineup-box {
    padding-bottom: 80px;
}

.question-lineup-container {
    position: relative;
    background: #000;
    background: linear-gradient(0deg,rgba(0, 0, 0, .5) 0%, rgba(73, 107, 0, .75) 100%);
    border: 1px solid #9FEB00;
    width: 100%;
    box-shadow: inset 8px 8px 60px rgba(159,235,0,.4),
            inset -8px -8px 60px rgba(159,235,0,.4);
}

.question-lineup-wrapper {
    position: relative;
    padding: 40px 46px 44px;
}

.question-lineup-container::before,
.question-lineup-container::after,
.question-lineup-wrapper::before,
.question-lineup-wrapper::after {
    position: absolute;
    content: "";
    background: url(../images/img_lineup_triangle.svg) no-repeat center / contain;
    width: 41px;
    height: 36px;
}

.question-lineup-container::before {
    top: 7px;
    left: 11px;
}

.question-lineup-container::after {
    top: 7px;
    right: 11px;
    transform: scale(-1, 1);
}

.question-lineup-wrapper::before {
    bottom: 7px;
    left: 11px;
    transform: scale(1, -1);
}

.question-lineup-wrapper::after {
    bottom: 7px;
    right: 11px;
    transform: scale(-1, -1);
}

.question-lineup-inner-large,
.question-lineup-inner-small {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.question-lineup-inner-large {
    gap: 40px;
}

.question-lineup-inner-small {
    gap: 16px;
    flex-wrap: wrap;
}

.question-lineup-large {
    max-width: 240px;
    width: 100%;
}

.question-lineup-small {
    max-width: calc((100% - (16px * 6)) / 7);
    width: 100%;
}

.question-lineup-large img {
    padding-inline: 40px;
    vertical-align: bottom;
}

.housing-text {
    text-align: center;
}

.housing-text-year {
    display: inline-block;
    font-family: var(--font-family-serif);
    font-size: 14px;
    line-height: 1.25;
    text-align: center;
    border: 1px solid #fff;
    padding: 4px 16px;
    margin-bottom: 8px;
}

.question-lineup-inner-large .housing-text-year {
    margin-top: 18px;
}

.question-lineup-inner-small .housing-text-year {
    margin-top: 8px;
}

.housing-text-title {
    display: block;
    font-family: var(--font-family-base);
    text-align: center;
}

.question-lineup-inner-large .housing-text-title {
    font-size: 18px;
    letter-spacing: 0.05em;
}

.question-lineup-inner-small .housing-text-title {
    font-size: 14px;
    letter-spacing: 0;
}

.question-lineup-box .accordion-text-sub {
    font-family: var(--font-family-base);
}

@media (max-width: 1079px) {
    .section-question .container {
        padding-inline: 0;
    }
}

@media (max-width: 767.98px) {
    .section-question .container {
        max-width: calc(100% - 20px * 2);
    }

    .section-question .container.slider-box {
        max-width: 1200px;
    }

    .section-question .section-title {
        padding-bottom: 16px;
    }

    .text-question {
        font-size: 16px;
        line-height: 2;
    }

    .text-question-sub {
            text-align: left;
    }

    .section-question::before {
        background: url(../images/bg_housings_sp.png) no-repeat center / contain;
        aspect-ratio: 390 / 295;
    }

    .question-lineup-wrapper {
        padding: 24px 16px 44px;
    }

    .question-lineup-container::before,
    .question-lineup-container::after,
    .question-lineup-wrapper::before,
    .question-lineup-wrapper::after {
        width: 23px;
        height: 20px;
    }

    .question-lineup-container::before {
        top: 8px;
        left: 8px;
    }

    .question-lineup-container::after {
        top: 8px;
        right: 8px;
    }

    .question-lineup-wrapper::before {
        bottom: 8px;
        left: 8px;
    }

    .question-lineup-wrapper::after {
        bottom: 8px;
        right: 8px;
    }

    .question-lineup-box {
        padding-bottom: 210px;
    }

    .question-lineup-inner-large {
        gap: 8px;
    }

    .question-lineup-inner-large .housing-text-title {
        font-size: 14px;
        letter-spacing: 0;
    }

    .question-lineup-large {
        max-width: calc((100% - 8px) / 2);
        width: 100%;
    }

    .question-lineup-large img {
        padding-inline: 15px;
    }

    .question-lineup-small {
        max-width: calc((100% - (16px * 2)) / 3);
        width: 100%;
    }
}

/* bonus */
.section-bonus {
    position: relative;
    background: url(../images/bg_section_bonus.svg) no-repeat bottom center / cover;
    padding-inline: 20px;
}

.image-bonus-detail {
    box-shadow: 0px 0px 40px 0px rgba(83, 0, 139, 0.25);
}

.more-present-wrapper {
    background-color: var(--light-purple);
}

.section-bonus::before {
    position: absolute;
    content: "";
    background: url(../images/bg_section_more_present_accent.svg) no-repeat bottom center/ cover;
    width: 100%;
    aspect-ratio: 1920 / 80;
    bottom: -1px;
    left: 0;
}

@media (max-width: 767.98px) {
    .section-bonus {
        position: relative;
        background: url(../images/bg_section_bonus_sp.svg) no-repeat top center / cover;
        padding-inline: 0;
    }

    .section-bonus .section-title {
        padding-top: 32px;
    }
}

@media (max-width: 575px) {
    .section-bonus::before {
        background: url(../images/bg_section_more_present_accent_sp.svg) no-repeat top center / cover;
        aspect-ratio: 390 / 80;
    }
}

@media (max-width: 365px) {
    .section-bonus .title-sub {
        font-size: 14px;
        padding-top: 4px;
    }
}

/* campaign */
.section-campaign {
    background-color: #000000;
}

.section-detail {
    background-color: var(--dark-purple);
}

.section-detail .container {
    padding-inline: 20px;
}

.section-campaign .container {
    padding-inline: 20px;
}

@media (max-width: 1079px) {
    .section-detail .container {
        padding-inline: 0;
    }

    .section-campaign .container {
        padding-inline: 0;
    }
}

@media (max-width: 767.98px) {
    .section-campaign .container {
        max-width: unset;
        margin-inline: 0;
    }

    .section-campaign .section-title {
        padding-top: 32px;
    }
}

@media (any-hover: hover) {
    .link-hover:hover {
        opacity: 0.8;
    }
}

/* Accordion Button */
.accordion-button {
    position: relative;
    background-color: var(--white);
    padding: 32px 44px 32px 40px;
}

.accordion-button.exam::before,
.accordion-button.enter::before {
    position: absolute;
    content: "";
    width: 48px;
    aspect-ratio: 48 / 42;
    top: 0;
    left: 0;
}

.accordion-button.exam::before {
    background: url(../images/img_accordion_triangle_purple.svg) no-repeat center / contain;
}

.accordion-button.enter::before {
    background: url(../images/img_accordion_triangle_neon_green.svg) no-repeat center / contain;
}

.accordion-button-icon {
    position: relative;
    max-width: 55px;
    width: 100%;
    max-height: 55px;
    height: 100%;
    aspect-ratio: 1 / 1;
    border: 1px solid var(--dark-purple);
}

.accordion-button-icon::before,
.accordion-button-icon::after {
    position: absolute;
    content: "";
    background-color: var(--dark-purple);
    width: calc(100% - 12px * 2);
    height: 2px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: 0.4s
}

.accordion-button-icon::after {
    transform: translate(-50%, -50%) rotate(-90deg);
}

.isActive .accordion-button-icon::after {
    transform: translate(-50%, -50%) rotate(-180deg);
}

.guideline-title {
    display: block;
    font-family: var(--font-family-serif);
    font-size: 48px;
    font-weight: bold;
    line-height: 69px;
    letter-spacing: -0.05em;
    color: var(--black);
}

.accordion-box {
    padding: 0 40px 55px;
}

.accordion-box-wrapper {
    display: flex;
    column-gap: 24px;
    padding-bottom: 37px;
}

.accordion-box-inner {
    width: 50%;
}

.accordion-text {
    font-family: var(--font-family-base);
    color: var(--black);
}

.accordion-text-title {
    font-size: 18px;
    font-weight: bold;
    padding-bottom: 1em;
}

.accordion-text-main,
.accordion-text-sub {
    font-weight: normal;
    letter-spacing: 0.05em;
    line-height: 28px;
}

.accordion-text-sub {
    font-size: 14px;
    line-height: 20px;
    text-indent: -1.25em;
    padding-top: 1em;
    padding-left: 1.5em;
}

.accordion-box-title {
    color: var(--black);
    font-family: var(--font-family-base);
    font-weight: bold;
    font-size: 18px;
    letter-spacing: 0.05em;
}

.headdingToggleBtn .jsToggleBtn + *.isActive {
    grid-template-rows: 1fr;
}

.headdingToggleBtn .jsToggleBtn + * > * {
    min-height: 0;
}

.guideline .accordion-button > a::before {
    transform: translateY(-50%);
}

.guideline .accordion-button > a::after {
    transform: translateY(-50%) rotate(90deg);
}

.guideline .accordion-button > a.isActive::after {
    transform: translateY(-50%) rotate(0deg);
}

.guideline .accordion-box {
    display: none;
    background-color: #ffffff;
}

.guideline .accordion-box.isActive {
    display: block;
}

.guideline .accordion-box > p {
    color: var(--black);
    font-family: var(--font-family-base);
    letter-spacing: 0.05em;
}

@media (max-width: 1079px)  {
    .accordion-box-wrapper {
        flex-direction: column;
        padding-bottom: 16px;
    }

    .accordion-box-inner {
        width: 100%;
    }

    .guideline-title {
        font-size: 32px;
    }

    .accordion-text-title {
        padding-top: 16px;
        padding-bottom: 4px;
    }

    .accordion-text-main {
        font-size: 14px;
        line-height: 24px;
    }

    .accordion-text-sub {
        padding-top: 8px;
        font-size: 12px;
        line-height: 1.25;
    }
}

@media (max-width: 767.98px) {
    .section-detail .container {
        padding-inline: 0;
    }

    .exam.guideline {
        padding-top: 35px;
    }

    .accordion-box {
        padding: 0 20px 24px;
    }

    .accordion-button {
        padding: 8px 20px;
    }

    .accordion-button-icon {
        max-width: 40px;
        max-height: 40px;
    }

    .accordion-button.exam::before,
    .accordion-button.enter::before {
        width: 24px;
    }

    .accordion-button-icon::before,
    .accordion-button-icon::after {
        width: 16px;
    }
}

/* inquiry */
.section-inquiry {
    position: relative;
    background: url(../images/bg_inquiry_pc.png) no-repeat top center / cover;
}

.section-inquiry::before {
    position: absolute;
    content: "";
    background: url(../images/bg_section_inquiry_pc.svg) no-repeat bottom center/ cover;
    width: 100%;
    aspect-ratio: 1920 / 80;
    bottom: -1px;
    left: 0;
    z-index: 1;
}

.section-inquiry .container {
    padding-bottom: 162px;
    padding-inline: 20px;
}

.inquiry-box {
    background-color: rgba(255, 255, 255, .9);
}

.inquiry-inner {
    padding: 48px 100px;
}

.inquiry-text,
.inquiry-text-sub {
    color: var(--black);
    text-align: center;
    font-family: var(--font-family-base);
    font-size: 20px;
    font-weight: normal;
    letter-spacing: 0;
}

.inquiry-text-sub {
    font-size: 14px;
    text-indent: -1.25em;
    padding-left: 1.5em;
}

@media (max-width: 1079px) {
    .section-inquiry .container {
        padding-inline: 0;
    }
}

@media (max-width: 767.98px) {
    .section-inquiry .container {
        padding-bottom: 98px;
    }

    .section-inquiry .section-title {
        padding-top: 32px;
    }

    .section-inquiry .color-white.title-line::before,
    .section-inquiry .color-white.title-line::after {
        width: 64px;
        height: 2px;
    }

    .inquiry-inner {
        padding: 20px 20px 24px;
    }

    .inquiry-text {
        font-size: 16px;
        line-height: 2;
    }

    .inquiry-text-sub {
        text-align: left;
        font-size: 12px;
    }
}

@media (max-width: 575px) {
    .section-inquiry::before {
        background: url(../images/bg_section_inquiry_sp.svg) no-repeat bottom center/ cover;
        aspect-ratio: 390 / 80;
        bottom: -30px;
        z-index: 0;
    }
}

@media (max-width: 360px) {
    .section-inquiry .color-white.title-line::before,
    .section-inquiry .color-white.title-line::after {
        min-width: 24px;
        width: calc((100% - (18px * 15) - (20px * 2)) / 2);
    }

    .section-inquiry .color-white.title-line::before {
        left: 10px;
    }

    .section-inquiry .color-white.title-line::after {
        right: 10px;
    }
}

/* footer */
.footer {
    position: relative;
    z-index: 3;
}

.footer-text {
    text-align: center;
    font-size: 18px;
    color: var(--black);
    font-family: var(--font-family-base);
    letter-spacing: 0;
}

.footer-text-copylight {
    width: 28px;
}

@media (max-width: 767.98px) {
    .footer .container {
        padding-inline: 0;
    }

    .footer-text {
        font-weight: normal;
        font-size: 16px;
        line-height: 2;
    }
}

/* slider */
.swiper-slide {
    width: calc(100% / 3);
}
@media (max-width: 1079px) {
    .swiper-container {
        position: relative;
    }

    .swiper {
        width: 100%;
        height: 100%;
    }

    .swiper-slide {
        text-align: center;
        font-size: 18px;
        background: transparent;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .swiper-button-prev,
    .swiper-button-next {
        color: var(--dark-purple);
        background-color: #fff;
        border: 1px solid var(--dark-purple);
    }

    .swiper-button-prev {
        left: 12px !important;
    }

    .swiper-button-next {
        right: 12px !important;
    }

    .swiper-navigation-icon {
        width: 12px !important;
        height: 20px !important;
    }

    .swiper-button-prev::after,
    .swiper-button-next::after {
        content: "" !important;
    }
}

@media (max-width: 767.98px) {
    .container.slider-box {
        margin-inline: 0;
    }
}

.js-fade-in {
  opacity: 0;
  transform: translateY(20px);
  transition:
    opacity 0.8s ease,
    transform 0.8s ease;
}

.js-fade-in.is-visible {
  opacity: 1;
  transform: translateY(0);
}