/* =================== Start front page =================== */
/* Layout */
.front-page {
    padding-top: 49vh;
}
@media (min-width: 751px) {
    .front-page {
        padding-top: 62vh;
    }
}
.front-page .video-background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    z-index: -1;
    background-image: url(../../img/header-sp-menu-bg.webp);
    background-size: cover;
    background-repeat: repeat-y;
    background-blend-mode: overlay;
    background-color: #201a23;
}

.video-background.off {
    display: none;
}

@media (min-width: 751px) {
    /* Match the padding of the header */
    .front-page .video-background {
        padding-right: clamp(0px, 10.1%, 194px);
    }
}

.front-page .slider-background {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.front-page .slider-background picture {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.front-page .slider-background img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.front-page .slider-slide {
    transform: scale(1);
    transition: transform 6.5s cubic-bezier(0.61, 1, 0.88, 1);
}

.front-page .slider-slide.show {
    transform: scale(1.05);
}

.front-page__top {
    display: flex;
    flex-direction: column;
    align-items: end;
    padding-left: calc(100vw * (17 / 750));
    padding-right: calc(100vw * (17 / 750));
    padding-bottom: calc(100vw * (245 / 750));
    row-gap: calc(100vw * (300 / 750));
}

@media (min-width: 751px) {
    .front-page__top {
        align-items: center;
        padding-left: calc(100vw * (38 / 1920));
        padding-right: calc(100vw * (25 / 1920));
        padding-bottom: calc(100vw * (292 / 1920));
        row-gap: calc(100vw * (280 / 1920));
    }
}
/* Front Page */
.front-page .video-background video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* Top Section */
.front-page__top .main-text__wrapper {
    padding: calc(100vw * (25 / 750)) calc(100vw * (75 / 750))
        calc(100vw * (25 / 750)) calc(100vw * (87 / 750));
    display: inline-block;
    clip-path: polygon(10% 0, 100% 0, 90% 100%, 0% 100%);
    mix-blend-mode: screen;
	/* Fix for safari blend mode not working */
	transform: translate3d(0,0,0);
}
.front-page__top .main-text {
    width: 100%;
    font-family: var(--font-biz-udpmincho);
    font-size: clamp(40px, calc(100vw * (80 / 750)), 80px);
    font-weight: 700;
    line-height: 130%;
    font-style: normal;
    color: black;
    mix-blend-mode: normal;
    opacity: 0;
    display: inline-block;
}
/* .front-page__top .main-text__wrapper.animate-on .main-text span {
    animation: flipEntrance 0.2s ease-in-out forwards;
    animation-delay: 0.3s;
} */
.front-page__top .main-text br {
    display: inline;
}
.front-page__top .main-text__spacer {
    display: inline;
    letter-spacing: calc(-100vw * (25 / 750));
}

@media (min-width: 751px) {
    .front-page__top .main-text br {
        display: none;
    }
    .front-page__top .main-text {
        text-align: center;
        line-height: 150%;
        font-size: clamp(50px, calc(100vw * (130 / 1920)), 130px);
    }
    .front-page__top .main-text__wrapper {
        width: 100%;
        padding: calc(100vw * (33 / 1920));
        clip-path: polygon(2.5% 0, 100% 0, 97.5% 100%, 0% 100%);
    }
    .front-page__top .main-text__spacer {
        display: none;
    }
}

.front-page__top .message-text__wrapper {
    display: flex;
    flex-direction: column;
    row-gap: calc(100vw * (150 / 750));
}
@media (min-width: 751px) {
    .front-page__top .message-text__wrapper {
        row-gap: calc(100vw * (200 / 1920));
    }
}
.front-page__top .message-text__column {
    display: flex;
    flex-direction: column;
    align-items: start;
    row-gap: 20px;
}
@media (min-width: 751px) {
    .front-page__top .message-text__column {
        row-gap: 50px;
    }
}
.front-page__top .top__message-text {
    padding: 10px;
    color: var(--color-black);
    font-family: var(--font-mplus-1p);
    font-weight: 500;
    font-size: clamp(14px, calc(100vw * (24 / 750)), 24px);
    line-height: 150%;
    letter-spacing: 5%;
    background-color: white;
}
.front-page__top .top__message-text .h2 {
    font-weight: 800;
    font-size: clamp(0px, calc(100vw * (48 / 750)), 48px);
    letter-spacing: 0;
}
.front-page__top .top__message-text .h1 {
    font-weight: 800;
    font-size: clamp(0px, calc(100vw * (64 / 750)), 64px);
    letter-spacing: 0;
}
@media (min-width: 751px) {
    .front-page__top .top__message-text {
        font-family: var(--font-biz-udpmincho);
        font-size: clamp(20px, calc(100vw * (40 / 1920)), 40px);
        font-weight: bold;
        letter-spacing: 5%;
    }
    .front-page__top .top__message-text .h2,
    .front-page__top .top__message-text .h1 {
        font-family: var(--font-mplus-1p);
        font-size: clamp(0px, calc(100vw * (64 / 1920)), 64px);
    }
}
/* About Section */
.front-page__about {
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
    padding-top: calc(100vw * (150 / 750));
    padding-bottom: calc(100vw * (170 / 750));
    align-items: center;
}
.front-page__about .overlay-card {
    background-color: #1d115a;
}
.front-page__about .about__bg {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    display: grid;
    grid-template-columns: repeat(3, auto);
    grid-template-rows: repeat(5, auto);
    grid-auto-flow: column;
    align-items: center;
    gap: 5px;
    background-color: #1d115a;
    z-index: -1;
}
.front-page__about .about__bg span {
    color: transparent;
    -webkit-text-stroke: var(--title-font-stroke) white;
    stroke: var(--title-font-stroke) white;
    line-height: 1;
}
.front-page__about .about__bg span.highlight {
    color: #190790;
    -webkit-text-stroke: 0px;
    stroke: none;
}
.front-page__about .about__heading {
    visibility: hidden;
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: left;
    row-gap: 20px;
    padding: 0px calc(100vw * (75 / 750));
}
.front-page__about .about__heading span {
    font-family: var(--font-biz-udpmincho);
    font-weight: bold;
    letter-spacing: 0.05em;
    color: white;
}
.front-page__about .about__heading .h1 {
    font-size: clamp(0px, calc(100vw * (48 / 750)), 48px);
}
.front-page__about .about__heading .h2 {
    font-size: clamp(0px, calc(100vw * (36 / 750)), 36px);
    line-height: 100%;
    letter-spacing: -0.2em;
}
.front-page__about .about__heading .h3 {
    font-size: clamp(0px, calc(100vw * (36 / 750)), 36px);
    line-height: 150%;
    letter-spacing: 0em;
}
.front-page__about .about__content__wrapper {
    position: relative;
    margin-top: calc(100vw * (100 / 750));
    margin-bottom: calc(100vw * (150 / 750));
    padding-left: calc(100vw * (25 / 750));
    padding-right: calc(100vw * (25 / 750));
}
.front-page__about .about__content-div {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: calc(100vw * (106 / 750)) calc(100vw * (25 / 750));
    z-index: 0;
    background-image: url(../../img/top/front_page_about_content_bg.webp);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transform: scale(1.5);
    transform-origin: top;
}
.front-page__about .about__side-btn {
    position: absolute;
    right: 6px;
    bottom: 11px;
    z-index: 1;
    opacity: 0;
}
.front-page__about .about__content-div__wrapper {
    opacity: 0;
    overflow: hidden;
}
.front-page__about .about__content-div .inner-content {
    display: flex;
    flex-direction: column;
    padding: calc(100vw * (30 / 750)) calc(100vw * (25 / 750));
    z-index: 1;
    background-color: rgba(32, 26, 35, 0.7);
    opacity: 0;
}
.front-page__about .about__content-div .inner-content p {
    font-family: var(--font-mplus-1p);
    font-weight: 400;
    font-size: calc(100vw * (21 / 750));
    line-height: 150%;
    color: white;
}
.front-page__about .about__content__wrapper .about__side-btn .link-btn label {
    font-size: clamp(14px, calc(100vw * (21 / 750)), 21px);
}
.front-page__about .link-btn.border-btn {
    opacity: 0;
}
.front-page__about .link-btn.border-btn label {
    font-size: clamp(16px, calc(100vw * (32 / 750)), 32px);
}
@media (min-width: 751px) {
    .front-page__about {
        padding-top: clamp(0px, calc(100vw * (219 / 1920)), 219px);
        padding-bottom: clamp(0px, calc(100vw * (201 / 1920)), 201px);
    }
    .front-page__about .about__bg {
        gap: calc(100vw * (50 / 1920));
        padding: calc(100vw * (15 / 1920));
    }
    .front-page__about .about__bg span {
        -webkit-text-stroke: var(--title-font-stroke) white;
        stroke: var(--title-font-stroke) white;
    }
    .front-page__about .about__heading {
        row-gap: 25px;
        padding: 0px calc(100vw * (200 / 1920));
    }
    .front-page__about .about__heading .h1 {
        font-size: clamp(0px, calc(100vw * (100 / 1920)), 100px);
    }
    .front-page__about .about__heading .h2,
    .front-page__about .about__heading .h3 {
        font-size: clamp(0px, calc(100vw * (48 / 1920)), 48px);
    }
    .front-page__about .about__content__wrapper {
        margin-left: calc(100vw * (300 / 1920));
        margin-right: calc(100vw * (300 / 1920));
        margin-top: calc(100vw * (150 / 1920));
        margin-bottom: calc(100vw * (150 / 1920));
        padding: 0px;
    }
    .front-page__about .about__content-div {
        padding-top: calc(100vw * (212 / 1920));
        padding-bottom: calc(100vw * (184 / 1920));
        padding-left: calc(100vw * (310 / 1920));
        padding-right: calc(100vw * (310 / 1920));
    }
    .front-page__about .about__side-btn {
        right: 0px;
        bottom: 11px;
    }
    .front-page__about .about__content-div .inner-content {
        padding: calc(100vw * (30 / 1920)) calc(100vw * (50 / 1920));
    }
    .front-page__about .about__content-div .inner-content p {
        font-size: clamp(14px, calc(100vw * (24 / 1920)), 24px);
    }
    .front-page__about
        .about__content__wrapper
        .about__side-btn
        .link-btn
        label {
        font-size: clamp(14px, calc(100vw * (24 / 1920)), 24px);
    }
    .front-page__about .link-btn.border-btn label {
        font-size: clamp(16px, calc(100vw * (32 / 1920)), 32px);
    }
}
/* Business Section */
.front-page__business {
    position: relative;
    background-image: url(../../img/top/front-page-business-bg-sp.webp);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: calc(100vw * (150 / 750));
    padding-bottom: calc(100vw * (131 / 750));
    row-gap: calc(100vw * (190 / 750));
}
.front-page__business .business__bg-logo__sp {
    position: absolute;
    top: 45%;
    left: calc(-100vw * (170 / 750));
    line-height: 1;
    transform: rotate(90deg);
    white-space: nowrap;
    z-index: 0;
}
.front-page__business svg {
    width: calc(100vw * (1506 / 750));
    height: calc(100vw * (230 / 750));
    stroke: white;
    stroke-width: 1.5px;
    fill: none;
    stroke-dasharray: 2000;
    stroke-dashoffset: 2000;
}
.front-page__business text {
    text-anchor: start;
    dominant-baseline: middle;
}
.front-page__business .business__content__heading {
    display: flex;
    flex-direction: column;
    align-items: left;
    row-gap: calc(100vw * (30 / 750));
    padding: 0px calc(100vw * (75 / 750));
    z-index: 1;
}
.front-page__business .business__content__heading h2 {
    font-size: clamp(0px, calc(100vw * (48 / 750)), 48px);
    color: var(--color-black);
    text-shadow: 0px 4px 4px rgba(217, 217, 217, 0.5);
    opacity: 0;
}
.front-page__business .business__content__heading p {
    font-size: clamp(0px, calc(100vw * (21 / 750)), 21px);
    line-height: 1.5;
    color: var(--color-black);
    opacity: 0;
}
.front-page__business .business__content__layout {
    display: flex;
    flex-direction: column;
    width: 100%;
    z-index: 1;
}
.front-page__business .business__content__card {
    width: 100%;
    position: relative;
    background-color: rgba(32, 26, 35, 0.5);
    padding: calc(100vw * (30 / 750)) calc(100vw * (25 / 750));
    display: flex;
    flex-direction: column;
    row-gap: calc(100vw * (50 / 750));
    align-items: center;
    opacity: 0;
}
.front-page__business .business__content__card .bg-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}
.front-page__business .business__content__card .header__img {
    height: calc(100vw * (300 / 750));
    width: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 2;
}
.front-page__business .business__content__card .content-row {
    display: flex;
    flex-direction: row;
    column-gap: calc(100vw * (50 / 750));
    justify-content: space-between;
    align-items: center;
    z-index: 2;
}
.front-page__business .business__content__card .content-row .title-col {
    display: flex;
    flex-direction: column;
    row-gap: calc(100vw * (23 / 750));
    align-items: center;
    min-width: calc(100vw * (251 / 750));
}
.front-page__business
    .business__content__card
    .content-row
    .title-col-separator {
    width: calc(100vw * (120 / 750));
    background-color: white;
    height: calc(100vw * (3 / 750));
    border-radius: 10px;
}
.front-page__business .business__content__card .content-row .title-col h3 {
    font-family: var(--font-mplus-1p);
    font-weight: 500;
    color: white;
    line-height: 1.2;
    letter-spacing: 0.05em;
    font-size: clamp(0px, calc(100vw * (24 / 750)), 24px);
    text-align: center;
}
.front-page__business .business__content__card:hover .header__img {
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}
.front-page__business .business__content__card:hover .bg-img {
    opacity: 1;
    transition: opacity 0.3s ease-in-out;
}
.front-page__business .business__content__card.card-1 .header__img {
    background-image: url(../../img/top/img_top_04.webp);
}
.front-page__business .business__content__card.card-1 .bg-img {
    background-image: url(../../img/top/img_top_04_filter.webp);
}
.front-page__business .business__content__card.card-2 .header__img {
    background-image: url(../../img/top/img_top_05.webp);
}
.front-page__business .business__content__card.card-2 .bg-img {
    background-image: url(../../img/top/img_top_05_filter.webp);
}
.front-page__business .business__content__card.card-3 .header__img {
    background-image: url(../../img/top/img_top_06.webp);
}
.front-page__business .business__content__card.card-3 .bg-img {
    background-image: url(../../img/top/img_top_06_filter.webp);
}
@media (min-width: 751px) {
    .front-page__business {
        margin-top: -2px;
        background-image: url(../../img/top/front-page-business-bg.webp);
        padding-top: calc(100vw * (230 / 1920));
        padding-bottom: calc(100vw * (235 / 1920));
        row-gap: calc(100vw * (150 / 1920));
        /* min-height: 1466px; */
    }
    .front-page__business .business__bg-logo__pc {
        position: absolute;
        top: 23%;
        left: 50%;
        white-space: normal;
        color: transparent;
        transform: rotate(90deg);
        display: flex;
        flex-direction: column;
        align-items: start;
        justify-content: center;
    }
    .front-page__business svg {
        width: calc(100vw * (1132 / 1920));
        height: calc(100vw * (300 / 1920));
    }
    .front-page__business .business__bg-logo__pc .logo-bottom {
        padding-left: calc(100vw * (210 / 1920));
    }
    .front-page__business .business__bg-logo__pc span {
        /* margin-inline-start: 200px; */
        color: transparent;
        font-family: var(--font-anton);
    }
    .front-page__business .business__content__heading {
        width: 100%;
        display: flex;
        flex-direction: row;
        align-items: left;
        column-gap: calc(100vw * (110 / 1920));
        padding: 0px calc(100vw * (200 / 1920));
    }
    .front-page__business .business__content__heading h2 {
        font-size: clamp(0px, calc(100vw * (64 / 1920)), 64px);
    }
    .front-page__business .business__content__heading p {
        max-width: calc(100vw * (600 / 1920));
        font-size: clamp(0px, calc(100vw * (24 / 1920)), 24px);
    }
    .front-page__business .business__content__layout {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(1, 1fr);
    }
    .front-page__business .business__content__card {
        background-color: rgba(32, 26, 35, 0.7);
        padding: calc(100vw * (100 / 1920)) calc(100vw * (50 / 1920));
        row-gap: 0;
        border: solid black;
        border-width: 2px 1px 2px 1px;
    }
    .front-page__business .business__content__card:first-child {
        border-right-width: 1px;
        border-left-width: 2px;
    }
    .front-page__business .business__content__card:last-child {
        border-right-width: 2px;
        border-left-width: 1px;
    }
    .front-page__business .business__content__card .header__img {
        min-height: calc(100vw * (300 / 1920));
        max-height: calc(100vw * (300 / 1920));
        width: calc(100vw * (300 / 1920));
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        z-index: 2;
    }
    .front-page__business .business__content__card .content-row {
        display: flex;
        flex-direction: column;
        height: 100%;
    }
    .front-page__business .business__content__card .content-row .title-col {
        flex-direction: column;
        row-gap: calc(100vw * (20 / 1920));
        align-items: center;
        min-width: 0;
        height: 100%;
        justify-content: center;
        padding: calc(100vw * (56 / 1920));
    }
    .front-page__business
        .business__content__card
        .content-row
        .title-col-separator {
        width: calc(100vw * (120 / 1920));
        height: calc(100vw * (3 / 1920));
        border-radius: 10px;
    }
    .front-page__business .business__content__card .content-row .title-col h3 {
        font-family: var(--font-mplus-1p);
        font-weight: 500;
        color: white;
        line-height: 1.2;
        letter-spacing: 0.05em;
        font-size: clamp(0px, calc(100vw * (24 / 1920)), 24px);
        text-align: center;
    }
}
/* Special Section */
.front-page__special {
    position: relative;
    background-image: url(../../img/top/bg_special_top.webp);
    background-size: cover;
    background-position: left;
    background-repeat: repeat;
    padding: calc(100vw * (150 / 750)) 0px;
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow: hidden;
}
.front-page__special .overlay-card {
    background-color: black;
}
.front-page__special
    .special__heading__section__wrapper
    .special__heading__section {
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: center;
    padding: 0px calc(100vw * (27 / 750));
    row-gap: calc(100vw * (50 / 750));
    padding-bottom: calc(100vw * (109 / 750));
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
}
.front-page__special
    .special__heading__section__wrapper
    .special__heading__section
    > span {
    width: 100%;
}
.front-page__special
    .special__heading__section__wrapper
    .special__heading__section
    span {
    font-family: var(--font-biz-udpmincho);
    font-weight: bold;
    font-size: clamp(0px, calc(100vw * (48 / 750)), 48px);
    color: var(--color-white);
    line-height: 1.2;
    letter-spacing: 0em;
}
.front-page__special
    .special__heading__section__wrapper
    .special__heading__section
    span.spacing {
    letter-spacing: -0.2em;
}
.front-page__special
    .special__heading__section__wrapper
    .special__heading__section
    span.bottom-text {
    letter-spacing: 0.05em;
}
.front-page__special
    .special__heading__section__wrapper
    .special__heading__section
    .font-title {
    color: var(--color-white);
}
.front-page__special
    .special__heading__section__wrapper
    .special__heading__section
    .sub-title {
    display: block;
    text-align: center;
    font-size: calc(100vw * (41 / 750));
    line-height: 1.5;
    letter-spacing: 0.05em;
}
.front-page__special .special__middle__section__wrapper {
    width: 100%;
}
.front-page__special
    .special__middle__section__wrapper
    .special__middle__section {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: calc(100vw * (22 / 750));
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
}
.front-page__special
    .special__middle__section__wrapper
    .special__middle__section
    .text-visual {
    font-family: var(--font-noto-sans-jp);
    font-size: calc(100vw * (180 / 750));
    color: white;
    font-weight: 500;
    line-height: 1;
}
.front-page__special
    .special__middle__section__wrapper
    .special__middle__section
    .block-visual {
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: calc(100vw * (500 / 750));
    background-color: var(--color-white);
    padding: calc(100vw * (47 / 750)) 0px;
    font-family: var(--font-biz-udpmincho);
    color: var(--color-black);
    font-weight: bold;
    font-size: calc(100vw * (56 / 750));
    line-height: 1;
}
.front-page__special
    .special__middle__section__wrapper
    .special__middle__section
    .block-visual.padding-left-17 {
    padding-left: calc(100vw * (17 / 750));
}
.front-page__special .special__logo__section__wrapper {
    display: flex;
    padding: 0px calc(100vw * (25 / 750));
    padding-bottom: calc(100vw * (100 / 750));
}
.front-page__special .special__logo__section {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-white);
    box-sizing: border-box;
    padding: calc(100vw * (67 / 750)) calc(100vw * (146 / 750));
    z-index: 2;
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
}
.front-page__special .special__logo__section img {
    width: 100%;
    height: calc(100vw * (147 / 750));
}
.front-page__special p {
    font-family: var(--font-biz-udpmincho);
    color: var(--color-white);
    text-align: center;
    font-size: calc(100vw * (21 / 750));
    line-height: 1.5;
    letter-spacing: 0.05em;
}
.front-page__special .img-left {
    position: absolute;
    bottom: calc(100vw * (486 / 750));
    left: calc(-100vw * (18 / 750));
    transform: translateX(-100%);
    transition: transform 0.3s ease-in-out;
    z-index: 1;
}
.front-page__special .img-left img {
    width: calc(100vw * (402 / 750));
    height: calc(100vw * (514 / 750));
    object-fit: contain;
}
.front-page__special .img-right {
    position: absolute;
    bottom: calc(100vw * (583 / 750));
    right: calc(-100vw * (16 / 750));
    transform: translateX(100%);
    transition: transform 0.3s ease-in-out;
    z-index: 1;
}
.front-page__special .img-right img {
    width: calc(100vw * (262 / 750));
    height: calc(100vw * (364 / 750));
    object-fit: contain;
}
.front-page__special
    .special__heading__section__wrapper
    .special__heading__section
    .font-title {
    margin-bottom: calc(100vw * (10 / 750));
}
@media (min-width: 751px) {
    .front-page__special {
        padding-top: calc(100vw * (150 / 1920));
        padding-bottom: calc(100vw * (200 / 1920));
    }
    .front-page__special
        .special__heading__section__wrapper
        .special__heading__section {
        display: flex;
        flex-direction: row;
        width: fit-content;
        padding: 0px;
        column-gap: calc(100vw * (34 / 1920));
        padding-bottom: calc(100vw * (139 / 1920));
        align-items: start;
    }
    .front-page__special
        .special__heading__section__wrapper
        .special__heading__section
        span:nth-child(1) {
        margin-top: calc(100vw * (50 / 1920));
    }
    .front-page__special
        .special__heading__section__wrapper
        .special__heading__section
        span {
        font-size: clamp(0px, calc(100vw * (64 / 1920)), 64px);
        line-height: 1;
    }
    .front-page__special
        .special__heading__section__wrapper
        .special__heading__section
        span.spacing {
        font-size: clamp(0px, calc(100vw * (100 / 1920)), 100px);
    }
    .front-page__special
        .special__middle__section__wrapper
        .special__middle__section {
        width: 100%;
        display: flex;
        flex-direction: row;
        align-items: end;
        justify-content: end;
        padding-bottom: calc(100vw * (195 / 1920));
        padding-right: calc(100vw * (223 / 1920));
        column-gap: 0px;
    }
    .front-page__special
        .special__middle__section__wrapper
        .special__middle__section
        .text-visual {
        font-size: calc(100vw * (180 / 1920));
    }
    .front-page__special
        .special__middle__section__wrapper
        .special__middle__section
        .text-visual.plus {
        padding-left: calc(100vw * (31 / 1920));
        padding-right: calc(100vw * (42 / 1920));
    }
    .front-page__special
        .special__middle__section__wrapper
        .special__middle__section
        .text-visual.equal {
        padding-left: calc(100vw * (42 / 1920));
    }
    .front-page__special
        .special__middle__section__wrapper
        .special__middle__section
        .block-visual {
        min-width: calc(100vw * (500 / 1920));
        padding: calc(100vw * (39 / 1920)) 0px;
        font-size: calc(100vw * (72 / 1920));
    }
    .front-page__special
        .special__middle__section__wrapper
        .special__middle__section
        .block-visual.padding-left-17 {
        padding-left: 0px;
    }
    .front-page__special .special__logo__section__wrapper {
        width: 100%;
        padding: 0px;
        padding-bottom: calc(100vw * (100 / 1920));
        padding-right: calc(100vw * (234 / 1920));
        justify-content: end;
    }
    .front-page__special .special__logo__section {
        padding: calc(100vw * (72 / 1920)) 0px;
        padding-left: calc(100vw * (236 / 1920));
        padding-right: calc(100vw * (316 / 1920));
    }
    .front-page__special .special__logo__section img {
        width: 100%;
        height: calc(100vw * (157 / 1920));
    }
    .front-page__special p {
        font-size: calc(100vw * (24 / 1920));
    }
    .front-page__special .img-left {
        bottom: calc(100vw * (200 / 1920));
        left: calc(-100vw * (26 / 1920));
        z-index: 1;
    }
    .front-page__special .img-left img {
        width: calc(100vw * (759 / 1920));
        height: calc(100vw * (968 / 1920));
    }
    .front-page__special .img-right {
        bottom: calc(100vw * (200 / 1920));
        right: calc(-100vw * (44 / 1920));
        z-index: 3;
    }
    .front-page__special .img-right img {
        width: calc(100vw * (546 / 1920));
        height: calc(100vw * (757 / 1920));
    }
    .front-page__special
        .special__heading__section__wrapper
        .special__heading__section
        .font-title {
        margin-bottom: calc(100vw * (10 / 1920));
    }
    .front-page__special
        .special__heading__section__wrapper
        .special__heading__section
        .sub-title {
        font-size: calc(100vw * (41 / 1920));
    }
}
/* Business Section */
/* News Section */
.front-page__news {
    position: relative;
    background-image: url(../../img/top/top_bg_news.webp);
    background-size: cover;
    padding-top: calc(100vw * (150 / 750));
    padding-bottom: calc(100vw * (217 / 750));
    display: flex;
    flex-direction: column;
    align-items: start;
    row-gap: calc(100vw * (100 / 750));
}
.front-page__news .overlay-card {
    background-color: #1d115a;
}
.front-page__news .news__heading__section {
    position: relative;
    margin-left: calc(100vw * (66 / 750));
}
.front-page__news .news__heading__section h2 {
    opacity: 0;
}
.front-page__news .news__heading__section svg {
    width: calc(100vw * (584 / 750));
    height: calc(100vw * (230 / 750));
    stroke: white;
    stroke-width: var(--title-font-stroke);
    fill: none;
    stroke-dasharray: 2000;
    stroke-dashoffset: 2000;
}
.front-page__news .news__heading__section text {
    text-anchor: start;
    dominant-baseline: middle;
}
.front-page__news .news__heading__section .bottom {
    color: var(--color-white);
}
.front-page__news .news__heading__section .text-overlay {
    position: absolute;
    top: calc(100vw * (103.22 / 750));
    left: calc(100vw * (59 / 750));
    font-family: var(--font-biz-udpmincho);
    font-size: calc(100vw * (32 / 750));
    color: var(--color-white);
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.05em;
}

.front-page__news .news__list {
    display: flex;
    width: 100%;
    min-height: calc(100vw * (722 / 750));
    flex-direction: column;
    align-items: stretch;
    padding: calc(100vw * (100 / 750));
    border-radius: 10px;
    background-color: rgba(255, 255, 255, 0.7);
    opacity: 0;
}
.front-page__news .news__list .news__list__item {
    display: flex;
    flex-direction: row;
    align-items: start;
    column-gap: calc(100vw * (30 / 750));
    padding: 0 calc(100vw * (18 / 750));
}
.front-page__news .news__list .news__list__item .news__list__item__category {
    padding: calc(100vw * (10 / 750));
    background-color: var(--color-white);
    font-size: calc(100vw * (21 / 750));
    min-width: calc(100vw * (104 / 750));
}
.front-page__news .news__list .news__list__item .news__list__item__content {
    display: flex;
    flex-direction: column;
    align-items: start;
    row-gap: calc(100vw * (30 / 750));
}
.front-page__news .news__list .news__list__item .news__list__item__content p {
    font-size: calc(100vw * (19 / 750));
    line-height: 1.5;
}
.front-page__news .news__list .divider {
    width: 100%;
    height: 2px;
    background-color: var(--color-black);
    margin: calc(100vw * (50 / 750)) 0px;
    opacity: 0.1;
}
.front-page__news .news__list .divider:last-child {
    display: none;
}
.front-page__news .news__list__btn {
    width: 100%;
    display: flex;
    justify-content: end;
    padding-right: 6px;
}
.front-page__news .link-btn {
    opacity: 0;
}
.front-page__news .news__list:has(.empty-loop) {
    align-items: center;
    justify-content: center;
}
@media (min-width: 751px) {
    .front-page__news {
        background-image: url(../../img/top/top_bg_news.webp);
        padding-top: calc(100vw * (200 / 1920));
        padding-bottom: calc(100vw * (269 / 1920));
        padding-left: calc(100vw * (195 / 1920));
        padding-right: calc(100vw * (200 / 1920));
        flex-direction: row;
        align-items: start;
        justify-content: space-between;
    }
    .front-page__news .overlay-card {
        background-color: #1d115a;
    }
    .front-page__news .news__heading__section {
        margin-left: 0;
        display: flex;
        flex-direction: column;
    }
    .front-page__news .news__heading__section svg {
        width: calc(100vw * (761 / 1920));
        height: calc(100vw * (300 / 1920));
        stroke: white;
        stroke-width: var(--title-font-stroke);
        fill: none;
        stroke-dasharray: 2000;
        stroke-dashoffset: 2000;
    }
    .front-page__news .news__heading__section .bottom {
        color: var(--color-white);
    }
    .front-page__news .news__heading__section .text-overlay {
        position: absolute;
        top: calc(100vw * (118 / 1920));
        left: calc(100vw * (102 / 1920));
        font-size: calc(100vw * (64 / 1920));
    }

    .front-page__news .news__list {
        width: calc(100vw * (714 / 1920));
        min-height: calc(100vw * (722 / 1920));
        padding: calc(100vw * (100 / 1920));
    }
    .front-page__news .news__list .news__list__item {
        column-gap: calc(100vw * (30 / 1920));
        padding: 0;
    }
    .front-page__news
        .news__list
        .news__list__item
        .news__list__item__category {
        padding: calc(100vw * (10 / 1920));
        font-size: calc(100vw * (21 / 1920));
        min-width: calc(100vw * (104 / 1920));
    }
    .front-page__news .news__list .news__list__item .news__list__item__content {
        row-gap: calc(100vw * (30 / 1920));
    }
    .front-page__news
        .news__list
        .news__list__item
        .news__list__item__content
        p {
        font-size: calc(100vw * (19 / 1920));
    }
    .front-page__news .news__list .divider {
        margin: calc(100vw * (50 / 1920)) 0px;
    }
    .front-page__news .news__list__btn {
        width: fit-content;
        position: absolute;
        left: calc(100vw * (202 / 1920));
        bottom: calc(100vw * (211 / 1920));
    }
}
/* Company Overview Section */
.front-page__company__wrapper {
    position: relative;
    overflow-x: clip;
}
.front-page__company {
    position: relative;
    background-image: url(../../img/top/top-company-bg.webp);
    background-size: cover;
    background-position: center;
    min-height: calc(100vw * (1159 / 750));
    overflow: visible;
    padding-top: calc(100vw * (150 / 750));
    padding-bottom: calc(100vw * (280 / 750));
}
.front-page__company .company__left-text {
    position: absolute;
    top: calc(100vw * (306 / 750));
    left: 0;
    z-index: 0;
    display: flex;
    flex-direction: column;
    align-items: start;
}
.front-page__company .company__left-text svg {
    width: 10000px;
    height: calc(100vw * (230 / 750));
    stroke: white;
    stroke-width: var(--title-font-stroke);
    fill: none;
    stroke-dasharray: 2000;
    stroke-dashoffset: 2000;
}
.front-page__company .company__left-text text {
    text-anchor: start;
    dominant-baseline: middle;
}
.front-page__company .company__right-img {
    position: absolute;
    bottom: 0;
    right: calc(-100vw * (288.4 / 750));
    z-index: 2;
    opacity: 0;
    transform: translate(0px, 40%);
    pointer-events: none;
}
.front-page__company img.company__right-img {
    width: calc(100vw * (782.4 / 750));
    height: calc(100vw * (1304 / 750));
}
.front-page__company .text__layout {
    display: flex;
    flex-direction: row;
    align-items: start;
    column-gap: calc(100vw * (30 / 750));
    padding-left: calc(100vw * (75 / 750));
}
.front-page__company .text__layout .message__row {
    display: flex;
    flex-direction: row;
    align-items: start;
    column-gap: calc(100vw * (20 / 750));
    padding-top: calc(100vw * (56 / 750));
    opacity: 0;
}
.front-page__company .text__layout .message__row p {
    font-size: calc(100vw * (21 / 750));
    line-height: 1;
    color: black;
    word-break: break-all;
    writing-mode: vertical-rl;
    text-orientation: upright;
    letter-spacing: calc(100vw * (5 / 750));
}
.front-page__company .text__layout h2 {
    font-size: calc(100vw * (48 / 750));
    line-height: 1;
    text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    word-break: break-all;
    opacity: 0;
    writing-mode: vertical-rl;
    text-orientation: upright;
    letter-spacing: calc(100vw * (2 / 750));
    color: black;
}
.front-page__company .link-btn {
    z-index: 3;
    position: absolute;
    bottom: calc(100vw * (150 / 750));
    right: 6px;
    opacity: 0;
}
@media (min-width: 751px) {
    .front-page__company {
        min-height: calc(100vw * (1200 / 1920));
        padding-top: calc(100vw * (200 / 1920));
        padding-bottom: calc(100vw * (171 / 1920));
    }
    .front-page__company .company__left-text {
        top: calc(100vw * (529 / 1920));
        left: 16px;
        height: calc(100vw * (300 / 1920));
        display: flex;
        flex-direction: row;
    }
    .front-page__company .company__left-text svg {
        height: calc(100vw * (300 / 1920));
    }
    .front-page__company .company__left-text br {
        display: none;
    }
    .front-page__company .company__right-img {
        right: calc(100vw * (40 / 1920));
    }
    .front-page__company img.company__right-img {
        width: calc(100vw * (852 / 1920));
        height: calc(100vw * (1418 / 1920));
    }
    .front-page__company .text__layout {
        column-gap: calc(100vw * (80 / 1920));
        padding-left: calc(100vw * (210 / 1920));
    }
    .front-page__company .text__layout .message__row {
        column-gap: calc(100vw * (30 / 1920));
        padding-top: calc(100vw * (73 / 1920));
    }
    .front-page__company .text__layout .message__row p {
        font-size: calc(100vw * (24 / 1920));
        line-height: 1;
        font-weight: 500;
        color: white;
        letter-spacing: calc(100vw * (5 / 1920));
    }
    .front-page__company .text__layout h2 {
        font-size: calc(100vw * (64 / 1920));
        letter-spacing: calc(100vw * (2 / 1920));
        color: white;
    }
    .front-page__company .link-btn {
        bottom: calc(100vw * (204 / 1920));
        right: unset;
        left: calc(100vw * (421 / 1920));
    }
}
/* Recruit Section */
.front-page__recruit {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: calc(100vw * (50 / 750));
    padding-bottom: clamp(0px, calc(100vw * (250 / 750)), 150px);
    background-image: url(../../img/top/bg_recruit.png);
    overflow: hidden;
}
.front-page__recruit .heading__layout {
    width: 100%;
    display: flex;
    flex-direction: column;
    row-gap: calc(100vw * (90.96 / 750));
    padding-bottom: calc(100vw * (100 / 750));
    padding-left: calc(100vw * (28 / 750));
}
.front-page__recruit .heading__layout h2 {
    opacity: 0;
}
.front-page__recruit .heading__layout .heading__main__title {
    width: 100%;
    position: relative;
}
.front-page__recruit .heading__layout .heading__main__title svg {
    width: calc(100vw * (676 / 750));
    height: calc(100vw * (230 / 750));
    stroke: white;
    stroke-width: var(--title-font-stroke);
    fill: none;
    stroke-dasharray: 2000;
    stroke-dashoffset: 2000;
}
.front-page__recruit .heading__layout .heading__main__title text {
    text-anchor: start;
    dominant-baseline: middle;
}
.front-page__recruit
    .heading__layout
    .heading__main__title
    .heading__inner__title {
    position: absolute;
    left: calc(100vw * (47 / 750));
    right: 0;
    top: calc(100vw * (91.35 / 750));
    display: flex;
    flex-direction: column;
    align-items: start;
    row-gap: calc(100vw * (50 / 750));
}
.front-page__recruit
    .heading__layout
    .heading__main__title
    .heading__inner__title
    h2 {
    font-size: calc(100vw * (48 / 750));
    letter-spacing: 0.05em;
    opacity: 0;
}
.front-page__recruit
    .heading__layout
    .heading__main__title
    .heading__inner__title
    p {
    font-size: calc(100vw * (24 / 750));
    line-height: 1.5;
    color: var(--color-white);
    opacity: 0;
}
.front-page__recruit .heading__layout .heading__link-btn-sp__wrapper {
    display: flex;
    justify-content: end;
    padding-right: 6px;
}
.front-page__recruit .bottom__layout {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0 calc(100vw * (25 / 750));
}
.front-page__recruit .center__layout {
    width: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: calc(100vw * (100.08 / 750));
    margin-bottom: calc(100vw * (100 / 750));
}
.front-page__recruit .center__layout .row-item {
    height: calc(100vw * (364.28 / 750));
    width: 100%;
    z-index: 1;
    position: relative;
    padding: calc(100vw * (68 / 750)) calc(100vw * (75 / 750));
}
.front-page__recruit .row-item::before {
    position: absolute;
    content: "";
    top: 0;
    left: calc(100vw * (14 / 750));
    right: 0;
    bottom: 0;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    z-index: 0;
    opacity: 0.5;
}
.front-page__recruit .row-item:hover::before {
    opacity: 1;
}
.front-page__recruit .row-item.row-01::before {
    left: calc(100vw * (28 / 750));
    background-image: url(../../img/top/top-recruit-banner-01-sp.webp);
}
.front-page__recruit .row-item.row-02::before {
    background-image: url(../../img/top/top-recruit-banner-02-sp.webp);
}
.front-page__recruit .row-item.row-03::before {
    left: calc(100vw * (25 / 750));
    background-image: url(../../img/top/top-recruit-banner-03-sp.webp);
}
.front-page__recruit .center__layout .row-item__inner {
    position: relative;
    height: 100%;
    width: 100%;
}
.front-page__recruit .center__layout .row-item .row-item__inner img {
    height: 100%;
    width: auto;
    position: absolute;
    top: 0;
    bottom: 0;
}
.front-page__recruit
    .center__layout
    .row-item
    .row-item__inner
    .top-recruit-link-btn {
    position: absolute;
    bottom: 0;
    z-index: 2;
}
.front-page__recruit .center__layout .row-item.row-01 .row-item__inner img {
    left: 0;
}
.front-page__recruit
    .center__layout
    .row-item.row-01
    .row-item__inner
    .top-recruit-link-btn {
    right: 0;
}
.front-page__recruit .center__layout .row-item.row-02 .row-item__inner img {
    right: 0;
}
.front-page__recruit
    .center__layout
    .row-item.row-02
    .row-item__inner
    .top-recruit-link-btn {
    left: 0;
}
.front-page__recruit .center__layout .row-item.row-03 .row-item__inner img {
    left: 0;
}
.front-page__recruit
    .center__layout
    .row-item.row-03
    .row-item__inner
    .top-recruit-link-btn {
    left: calc(100vw * (340.7 / 750));
}
.front-page__recruit .overlay-card {
    background-color: #201a23;
}
.front-page__recruit .link-btn {
    opacity: 0;
}
.front-page__recruit .youtube-link-btn {
    opacity: 0;
}
.front-page__recruit .center__layout .row-item .row-item__inner {
    opacity: 0;
    transform: translate(0, 40%);
}
@media (min-width: 751px) {
    .front-page__recruit {
        padding-top: calc(100vw * (210 / 1920));
        padding-bottom: calc(100vw * (180 / 1920));
    }
    .front-page__recruit .heading__layout {
        flex-direction: row;
        row-gap: calc(100vw * (90.96 / 1920));
        padding-left: calc(100vw * (207 / 1920));
        padding-bottom: calc(100vw * (150 / 1920));
        align-items: center;
        column-gap: calc(100vw * (103 / 1920));
    }
    .front-page__recruit .heading__layout .heading__main__title {
        width: fit-content;
        margin-left: 0;
    }
    .front-page__recruit .heading__layout .heading__main__title svg {
        width: calc(100vw * (881 / 1920));
        height: calc(100vw * (300 / 1920));
    }
    .front-page__recruit
        .heading__layout
        .heading__main__title
        .heading__inner__title {
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .front-page__recruit
        .heading__layout
        .heading__main__title
        .heading__inner__title
        p {
        font-size: calc(100vw * (24 / 1920));
        line-height: 1.5;
        color: var(--color-white);
    }
    .front-page__recruit .heading__layout .heading__link-btn-sp__wrapper {
        display: flex;
        justify-content: end;
        padding-right: 6px;
    }
    .front-page__recruit .bottom__layout {
        padding: 0 calc(100vw * (180 / 1920));
        justify-content: space-between;
    }
    .front-page__recruit .bottom__layout .spacer-item {
        width: calc(100vw * (312 / 1920));
    }
    .front-page__recruit .center__layout {
        row-gap: calc(100vw * (120 / 1920));
        margin-bottom: calc(100vw * (100 / 1920));
    }
    .front-page__recruit .center__layout .row-item {
        height: calc(100vw * (200 / 1920));
        padding: 0;
        border-bottom: 1px solid var(--color-white);
    }
    .front-page__recruit .row-item::before {
        position: absolute;
        top: calc(100vw * (9 / 1920));
        bottom: calc(100vw * (14 / 1920));
        right: calc(100vw * (16 / 1920));
    }
    .front-page__recruit .row-item.row-01::before {
        left: calc(100vw * (14 / 1920));
        background-image: url(../../img/top/top-recruit-banner-01.webp);
    }
    .front-page__recruit .row-item.row-02::before {
        left: 0;
        background-image: url(../../img/top/top-recruit-banner-02.webp);
    }
    .front-page__recruit .row-item.row-03::before {
        left: 0;
        background-image: url(../../img/top/top-recruit-banner-03.webp);
    }
    .front-page__recruit .center__layout .row-item .row-item__inner img {
        top: unset;
        bottom: 0;
        width: calc(100vw * (300 / 1920));
        height: auto;
    }
    .front-page__recruit
        .center__layout
        .row-item
        .row-item__inner
        .top-recruit-link-btn {
        bottom: unset;
        top: 50%;
        transform: translateY(-50%);
        z-index: 2;
    }
    .front-page__recruit .center__layout .row-item.row-01 .row-item__inner img {
        left: calc(100vw * (493 / 1920));
    }
    .front-page__recruit
        .center__layout
        .row-item.row-01
        .row-item__inner
        .top-recruit-link-btn {
        left: calc(100vw * (890 / 1920));
        right: unset;
    }
    .front-page__recruit .center__layout .row-item.row-02 .row-item__inner img {
        right: calc(100vw * (658 / 1920));
    }
    .front-page__recruit
        .center__layout
        .row-item.row-02
        .row-item__inner
        .top-recruit-link-btn {
        left: unset;
        right: calc(100vw * (1051 / 1920));
    }
    .front-page__recruit .center__layout .row-item.row-03 .row-item__inner img {
        left: calc(100vw * (295 / 1920));
    }
    .front-page__recruit
        .center__layout
        .row-item.row-03
        .row-item__inner
        .top-recruit-link-btn {
        left: calc(100vw * (22 / 1920));
    }
}
/* Special Bottom Section */
.front-page__special-bottom {
    position: relative;
    padding-top: calc(100vw * (137 / 750));
    padding-bottom: calc(100vw * (342 / 750));
    padding-left: 0;
    padding-right: 0;
    background-image: url(../../img/top/bg_special_bottom_sp.webp);
    background-size: 100% 100%;
    background-repeat: no-repeat;
}
.front-page__special-bottom .special-bottom__layout {
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: calc(100vw * (100 / 750));
}
.front-page__special-bottom .special-bottom__layout .card__wrapper {
    position: relative;
    padding-left: calc(100vw * (177 / 750));
    width: 100%;
}
.front-page__special-bottom .special-bottom__layout .card__wrapper.card-01 {
    padding-top: calc(100vw * (0 / 750));
}
.front-page__special-bottom .special-bottom__layout .card__wrapper.card-02 {
    padding-top: calc(100vw * (10 / 750));
}
.front-page__special-bottom .special-bottom__layout .card__wrapper.card-03 {
    padding-top: calc(100vw * (10 / 750));
}
.front-page__special-bottom
    .special-bottom__layout
    .card__wrapper
    .number-header {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    width: calc(100vw * (188 / 750));
    height: calc(100vw * (150 / 750));
    stroke: white;
    stroke-width: calc(100vw * (5 / 750));
    fill: transparent;
    stroke-dasharray: 1000;
    stroke-dashoffset: 1000;
    stroke-linecap: round;
}
.front-page__special-bottom
    .special-bottom__layout
    .card__wrapper
    .number-header
    text {
    font-family: var(--font-mplus-1p);
    font-weight: 800;
    font-size: calc(100vw * (150 / 750));
    line-height: 1;
    letter-spacing: -0.08em;
    text-anchor: start;
    dominant-baseline: middle;
}
.front-page__special-bottom .special-bottom__layout .card__wrapper .card {
    background-color: white;
    border: solid 1px black;
    display: flex;
    flex-direction: column;
    align-items: start;
    padding: calc(100vw * (50 / 750));
    row-gap: calc(100vw * (30 / 750));
    opacity: 0;
}
.front-page__special-bottom .special-bottom__layout .card__wrapper .card h3 {
    font-family: var(--font-biz-udpmincho);
    font-size: calc(100vw * (32 / 750));
    line-height: 1.2;
    letter-spacing: 0.05em;
}
.front-page__special-bottom .special-bottom__layout .card__wrapper .card p {
    font-family: var(--font-mplus-1p);
    font-size: calc(100vw * (21 / 750));
    line-height: 1.2;
    letter-spacing: 0.05em;
    text-align: left;
}
.front-page__special-bottom
    .special-bottom__layout
    .card__wrapper
    .card
    .card__img_row {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}
.front-page__special-bottom .card__img_row img {
    width: 100%;
    height: auto;
    object-fit: cover;
}
.front-page__special-bottom
    .special-bottom__layout
    .card__wrapper.card-01
    .card
    .card__img_row {
    padding: 0 calc(100vw * (50 / 750));
}
.front-page__special-bottom
    .special-bottom__layout
    .card__wrapper.card-02
    .card
    .card__img_row {
    align-items: start;
    justify-content: space-between;
}
.front-page__special-bottom .link-btn {
    opacity: 0;
    position: absolute;
    right: 6px;
    bottom: calc(100vw * (150 / 750));
}
.front-page__special-bottom .card__img_row img.img-01 {
    width: calc(100vw * (111 / 750));
}
.front-page__special-bottom .card__img_row img.img-02 {
    width: calc(100vw * (141 / 750));
}
.front-page__special-bottom .card__img_row img.img-03 {
    width: calc(100vw * (228 / 750));
}
.front-page__special-bottom .overlay-card {
    background-color: #201a23;
}
@media (min-width: 751px) {
    .front-page__special-bottom {
        padding: calc(100vw * (200 / 1920));
        padding-top: calc(100vw * (150 / 1920));
        padding-left: calc(100vw * (176 / 1920));
        background-image: url(../../img/top/bg_special_bottom.webp);
    }
    .front-page__special-bottom .special-bottom__layout {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        column-gap: calc(100vw * (36 / 1920));
        row-gap: 0;
        align-items: start;
    }
    .front-page__special-bottom
        .special-bottom__layout
        .card__wrapper
        .number-header {
        width: calc(100vw * (188 / 1920));
        height: calc(100vw * (150 / 1920));
        stroke-width: calc(100vw * (5 / 1920));
    }
    .front-page__special-bottom
        .special-bottom__layout
        .card__wrapper
        .number-header
        text {
        font-size: calc(100vw * (150 / 1920));
    }
    .front-page__special-bottom .special-bottom__layout .card__wrapper {
        padding-top: calc(100vw * (75 / 1920));
        padding-left: calc(100vw * (153 / 1920));
    }
    .front-page__special-bottom .special-bottom__layout .card__wrapper.card-01 {
        padding-top: 0;
        padding-left: calc(100vw * (177 / 1920));
    }
    .front-page__special-bottom .special-bottom__layout .card__wrapper.card-02,
    .front-page__special-bottom .special-bottom__layout .card__wrapper.card-03 {
        padding-top: calc(100vw * (10 / 1920));
        padding-left: calc(100vw * (188 / 1920));
    }
    .front-page__special-bottom .special-bottom__layout .card__wrapper .card {
        padding: calc(100vw * (49 / 1920));
        row-gap: calc(100vw * (30 / 1920));
    }
    .front-page__special-bottom
        .special-bottom__layout
        .card__wrapper
        .card
        h3 {
        font-size: calc(100vw * (32 / 1920));
    }
    .front-page__special-bottom .special-bottom__layout .card__wrapper .card p {
        font-size: calc(100vw * (24 / 1920));
        letter-spacing: 0;
        line-height: 1.2;
    }
    .front-page__special-bottom
        .special-bottom__layout
        .card__wrapper.card-01
        .card
        p {
        margin-bottom: calc(-100vw * (3 / 1920));
    }
    .front-page__special-bottom
        .special-bottom__layout
        .card__wrapper.card-01
        .card
        .card__img_row {
        padding: 0 calc(100vw * (50 / 1920));
    }
    .front-page__special-bottom .special-bottom__layout .card__wrapper.card-02 {
        margin-top: calc(100vw * (406 / 1920));
    }
    .front-page__special-bottom .special-bottom__layout .card__wrapper.card-03 {
        margin-top: calc(-100vw * (100 / 1920));
    }
    .front-page__special-bottom .link-btn {
        position: absolute;
        right: calc(100vw * (181 / 1920));
        bottom: calc(100vw * (211 / 1920));
    }
    .front-page__special-bottom .card__img_row img.img-01 {
        width: calc(100vw * (111 / 1920));
    }
    .front-page__special-bottom .card__img_row img.img-02 {
        width: calc(100vw * (141 / 1920));
    }
    .front-page__special-bottom .card__img_row img.img-03 {
        width: calc(100vw * (228 / 1920));
    }
}
/* Loading CSS */
.loading {
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
}
.loading::before {
    position: absolute;
    content: "";
    background-color: #1d115a;
    height: 50%;
    width: 100%;
    top: 0;
}
.loading::after {
    position: absolute;
    content: "";
    background-color: #1d115a;
    height: 50%;
    width: 100%;
    bottom: 0;
}
.loading .loading-logo {
    z-index: 1;
    transform: scale(2);
    transition: 0.5s;
    opacity: 0;
    width: clamp(80px, calc(100vw * (500 / 750)), 500px);
}
.loading .loading-logo img {
    width: 100%;
    height: auto;
}
.loading.on .loading-logo {
    opacity: 1;
    transform: scale(1);
}
.loading.off::before,
.loading.off::after {
    height: 0;
    transition: 0.8s;
}
.loading.off .loading-logo {
    display: none;
}
/* Front page specific header animation */
body:has(#main .front-page) .animate-slideDown-header {
    animation-delay: calc(2800 + 600) ms; /* Adjust this value as needed */
}
/* Front page specific header animation */
/* body.home .animate-slideDown-header {
    animation-delay: 0.5s;
} */
/* =================== End front page =================== */

.front-page__about .link-btn.border-btn {
    background-color: #1d115a;
}
