/* Header
   ========================================================================== */
   .site-header {
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
}

@media (max-width: 1024px) {
    .site-header--fixed {
        position: fixed;
    }
}

/* Header PC Layout */
.header-pc {
    display: flex;
    flex-direction: column;
    position: relative;
}

.header-pc-grid {
    display: grid;
    align-items: center;
    justify-content: center;
    padding-top: calc(100vw * (15 / 1920));
    padding-bottom: calc(100vw * (13 / 1920));
    grid-template-columns: 1fr auto 1fr;
}

@media (max-width: 1024px) {
    .header-pc {
        display: none;
    }
}

/* Header SDG Section */
.header-pc-grid__sdg {
    padding-left: calc(100vw * (100 / 1920));
    display: flex;
    align-items: center;
}

.header-pc-grid__sdg a {
    line-height: 0;
}

.header-pc-grid__sdg a img {
    width: calc(100vw * (186 / 1920));
    height: auto;
}

/* Header Site Logo */
.header-pc-grid__site-logo a img {
    width: calc(100vw * (198 / 1920));
    height: auto;
}

/* Header Contact Section */
.header-pc-grid__contact {
    display: flex;
    align-items: center;
    justify-content: end;
}

.header-pc-contact {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: end;
    color: var(--color-primary);
}

.header-pc-contact__wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: calc(100vw * (527 / 1920));
    flex-grow: 1;
}

.header-pc-contact__link {
    display: flex;
    box-sizing: border-box;
    max-width: calc(100vw * (250 / 1920));
    flex-grow: 1;
    align-items: center;
    justify-content: center;
    padding: calc(100vw * (36 / 1920)) calc(100vw * (16 / 1920));
    font-size: calc(100vw * (16 / 1920));
    font-weight: 700;
    line-height: calc(100vw * (28 / 1920));
    color: var(--color-secondary);
    text-align: center;
}

/* Header Phone Section */
.header-pc-phone {
    display: flex;
    flex-direction: column;
    align-items: end;
}

.header-pc-phone__heading {
    padding-right: calc(100vw * (21 / 1920));
    margin-bottom: calc(100vw * (-8 / 1920));
    font-size: calc(100vw * (16 / 1920));
    font-weight: 700;
    line-height: calc(100vw * (28 / 1920));
}

.header-pc-phone-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: calc(100vw * (8 / 1920));
}

.header-pc-phone-inner__number {
    font-size: calc(100vw * (30 / 1920));
    font-weight: 700;
    line-height: calc(100vw * (52 / 1920));
}

.header-pc-phone-inner img {
    width: calc(100vw * (36 / 1920));
    height: auto;
}

/* Header Navigation */
.header-pc-nav__list {
    display: flex;
    align-items: center;
    justify-content: center;
}

.header-pc-nav__item {
    position: relative;
    min-height: calc(100vw * (124 / 1920));
    display: flex;
}

.header-pc-nav__item .green-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    opacity: 0;
    transition: opacity 0.7s ease;
}

.header-pc-nav__item:hover .green-bg {
    opacity: 1;
}

.header-pc-nav__item a {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: calc(100vw * (10 / 1920));
    z-index: 1;
    font-size: clamp(12px, calc(100vw * (16 / 1920)), 128px);
    font-weight: 550;
    line-height: calc(100vw * (28 / 1920));
    color: var(--color-primary);
    transition: color 0.7s ease;
}

.header-pc-nav__item:hover a {
    color: var(--color-secondary);
}

/* Navigation Item Widths */
.header-pc-nav__item--about {
    min-width: calc(100vw * (163 / 1920));
}
.header-pc-nav__item--service {
    min-width: calc(100vw * (135 / 1920));
}
.header-pc-nav__item--company {
    min-width: calc(100vw * (134 / 1920));
}
.header-pc-nav__item--news {
    min-width: calc(100vw * (165 / 1920));
}
.header-pc-nav__item--recruit {
    min-width: calc(100vw * (133 / 1920));
}
.header-pc-nav__item--qna {
    min-width: calc(100vw * (200 / 1920));
}

/* Header SP Layout */
.header-sp {
    display: none;
    align-items: center;
    justify-content: space-between;
    padding: calc(100vw * (4 / 375)) calc(100vw * (10 / 375));
}

@media (max-width: 1024px) {
    .header-sp {
        display: flex;
    }
}

.header-sp__site-logo img {
    width: calc(100vw * (120 / 375));
    height: auto;
}

.header-sp__menu-button {
    width: calc(100vw * (52 / 375));
    aspect-ratio: 1;
    background-color: #b14421;
    border: none;
    border-radius: 100%;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.header-sp__menu-button--open img {
    width: calc(100vw * (15 / 375));
    height: auto;
}

.header-sp__menu-button--close img {
    width: calc(100vw * (21 / 375));
    height: auto;
}

/* Header SP Drawer */
.header-sp-drawer {
    display: none;
    flex-direction: column;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 101;
    background-image: url(../img/yellow-color-bg.jpg);
}

@media (min-width: 1025px) {
    .header-sp-drawer {
        display: none !important;
    }
}

.header-sp-drawer .header-sp-wrapper {
    background-image: url(../img/yellow-color-bg.jpg);
    z-index: 102;
}

.header-sp-drawer__content {
    display: flex;
    overflow: scroll;
    flex-direction: column;
    justify-content: start;
    align-items: stretch;
}

.header-sp-drawer__content-top {
    min-height: calc(100vw * (80 / 375));
    clip-path: polygon(70% 0, 100% 100%, 0 100%);
    margin: 0px calc(100vw * (10 / 375));
}

.header-sp-drawer__inner-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 0px calc(100vw * (10 / 375));
    padding: 0 calc(100vw * (20 / 375));
    padding-bottom: calc(100vw * (46 / 375));
}

.header-sp-drawer .header-sp-service-title,
.site-footer-sp .footer-sp-service-title {
    width: 100%;
    padding: calc(100vw * (16 / 375)) 0;
    padding-left: calc(100vw * (9 / 375));
    font-family: var(--font-roboto);
    font-size: calc(100vw * (18 / 375));
    font-weight: 700;
    line-height: 1.5;
    text-align: left;
    color: var(--color-secondary);
}

.header-sp-drawer .service-sub-link-sp__list {
    padding-bottom: calc(100vw * (14 / 375));
}

.header-sp-drawer .accordion-menu-sp {
    padding-bottom: calc(100vw * (34 / 375));
}

.header-sp-drawer__sdg {
    width: 100%;
    line-height: 0;
}
.header-sp-drawer__sdg img {
    width: 100%;
    height: auto;
}

.header-sp-drawer__phone {
    display: flex;
    flex-direction: column;
    align-items: end;
    color: var(--color-primary);
}

.header-sp-drawer__phone-heading {
    font-size: calc(100vw * (22 / 375));
    font-weight: 700;
    line-height: calc(100vw * (28 / 375));
}

.header-sp-drawer__phone-inner {
    display: flex;
    align-items: center;
    column-gap: calc(100vw * (8 / 375));
}

.header-sp-drawer__phone-inner img {
    width: calc(100vw * (36 / 375));
    height: auto;
}

.header-sp-drawer__phone-inner__number {
    font-size: calc(100vw * (30 / 375));
    font-weight: 700;
    line-height: calc(100vw * (52 / 375));
}

.header-sp-drawer__phone-wrapper {
    display: flex;
    justify-content: center;
    margin-top: calc(100vw * (46 / 375));
    margin-bottom: calc(-100vw * (3, 5 / 375));
}

.header-sp-drawer__contact {
    overflow: hidden;
    position: relative;
    display: flex;
    justify-content: stretch;
    padding-top: calc(100vw * (44 / 375));
    padding-bottom: calc(100vw * (19 / 375));
    padding-left: calc(100vw * (10 / 375));
    padding-right: calc(100vw * (10 / 375));
    box-sizing: border-box;
    min-height: calc(100vw * (167 / 375));
}

.header-sp-drawer__contact-decoration {
    position: absolute;
    top: 0;
    right: calc(-100vw * (20 / 375));
    width: calc(100vw * (157 / 375));
    height: auto;
}

.header-sp-drawer__contact-button {
    display: flex;
    align-items: center;
    justify-content: start;
    width: 100%;
    padding: calc(100vw * (36 / 375)) calc(100vw * (42 / 375));
    height: fit-content;
    font-size: calc(100vw * (22 / 375));
    font-weight: 700;
    line-height: calc(100vw * (28 / 375));
    color: var(--color-secondary);
}

.header-sp-drawer {
    .service-sub-link-sp__item span,
    .service-sub-link-sp__item img,
    .accordion-menu-sp__link,
    .accordion-menu-sp__trigger,
    .header-sp-drawer__sdg,
    .header-sp-drawer__phone-heading,
    .header-sp-drawer__phone-inner img,
    .header-sp-drawer__phone-inner__number,
    .header-sp-drawer__contact-button span,
    .header-sp-drawer__contact-decoration {
        transition: filter 600ms;
        filter: blur(3px);
    }
}

.header-sp-drawer.animated {
    .service-sub-link-sp__item span,
    .service-sub-link-sp__item img,
    .accordion-menu-sp__link,
    .accordion-menu-sp__trigger,
    .header-sp-drawer__sdg,
    .header-sp-drawer__phone-heading,
    .header-sp-drawer__phone-inner img,
    .header-sp-drawer__phone-inner__number,
    .header-sp-drawer__contact-button span,
    .header-sp-drawer__contact-decoration {
        filter: blur(0px);
    }
}

/* Contact Footer */
.contact-footer {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: calc(100vw * (304 / 1920));
    padding-bottom: calc(100vw * (62 / 1920));
    padding-left: calc(100vw * (20 / 1920));
    padding-right: calc(100vw * (20 / 1920));
}

.contact-footer__bg {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    clip-path: polygon(50% 0%, 100% 28.5%, 100% 100%, 0% 100%, 0% 28.5%);
    overflow: hidden;
}

.contact-footer__bg img {
    width: 100%;
}

.contact-footer__bg-curtain {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform-origin: center left;
    transition: width 2500ms ease;
}

.animate .contact-footer__bg-curtain {
    width: 0;
}

.contact-footer-content {
    z-index: 1;
    box-sizing: border-box;
    width: 100%;
    max-width: calc(100vw * (504 / 1920));
    display: flex;
    flex-direction: column;
    align-items: center;
    font-family: var(--font-roboto);
    color: var(--color-black);
    padding: calc(100vw * (45 / 1920)) calc(100vw * (38 / 1920));
    border-radius: calc(100vw * (24 / 1920));
    font-weight: 700;
}

.contact-footer-content__header {
    display: flex;
    align-items: center;
    column-gap: calc(100vw * (8 / 1920));
    margin-bottom: calc(100vw * (14 / 1920));
}

.contact-footer-content__header div {
    width: calc(100vw * (20 / 1920));
    aspect-ratio: 1;
    background-color: #b14421;
    border-radius: 100%;
}

.contact-footer-content__header span {
    font-size: calc(100vw * (22 / 1920));
}

.contact-footer-content__message {
    max-width: calc(100vw * (404 / 1920));
    margin-bottom: calc(100vw * (30 / 1920));
}

.contact-footer-content__buttons {
    width: 100%;
    display: flex;
    align-items: center;
    flex-direction: column;
    row-gap: calc(100vw * (16 / 1920));
}

@media (min-width: 1025px) {
    .contact-footer-content__buttons #job-request-btn .link-button__text {
        padding-right: calc(100vw * (12 / 1920));
    }
}

/* Contact Footer SP */
@media (max-width: 1024px) {
    .contact-footer {
        padding-top: calc(100vw * (211 / 375));
        padding-bottom: calc(100vw * (58 / 375));
        padding-left: calc(100vw * (10 / 375));
        padding-right: calc(100vw * (10 / 375));
    }
    .contact-footer-content {
        max-width: none;
        padding: calc(100vw * (45 / 375)) calc(100vw * (20 / 375));
        border-radius: calc(100vw * (24 / 375));
    }
    .contact-footer-content__header {
        margin-bottom: calc(100vw * (32 / 375));
        column-gap: calc(100vw * (8 / 375));
    }
    .contact-footer-content__header div {
        width: calc(100vw * (20 / 375));
    }
    .contact-footer-content__header span {
        font-size: calc(100vw * (22 / 375));
    }
    .contact-footer-content__message {
        max-width: calc(100vw * (275 / 375));
        margin-bottom: calc(100vw * (32 / 375));
    }
    .contact-footer-content__buttons {
        row-gap: calc(100vw * (12 / 375));
    }
}

/* Footer */
.site-footer {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: center;
    color: var(--color-secondary);
    font-family: var(--font-roboto);
}

.site-footer-logo {
    line-height: 0;
}

.site-footer-logo img {
    width: calc(100vw * (187 / 1920));
    height: auto;
}

@media (max-width: 1024px) {
    .site-footer-logo img {
        width: calc(100vw * (187 / 375));
    }
}

.back-to-top-button {
    position: absolute;
    bottom: calc(100vw * (11 / 1920));
    right: calc(100vw * (20 / 1920));
    width: calc(100vw * (88 / 1920));
    aspect-ratio: 1;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.back-to-top-button svg {
    width: calc(100vw * (29 / 1920));
    height: auto;
}

@media (max-width: 1024px) {
    .back-to-top-button {
        bottom: calc(100vw * (20 / 375));
        right: calc(100vw * (24 / 375));
        width: calc(100vw * (54 / 375));
    }
    .back-to-top-button svg {
        width: calc(100vw * (18 / 375));
    }
}

.site-footer-pc {
    padding-top: calc(100vw * (63 / 1920));
    padding-bottom: calc(100vw * (28 / 1920));
}

@media (max-width: 1024px) {
    .site-footer-pc {
        display: none;
    }
}

.site-footer-pc__grid {
    width: 100%;
    height: 100%;
    display: grid;
    grid-template-columns: calc(100vw * (207 / 1920)) 1fr;
    gap: calc(100vw * (34 / 1920));
}

.site-footer-pc__left {
    display: flex;
    flex-direction: column;
    align-items: left;
}

.site-footer-pc__left-top {
    display: flex;
    flex-direction: column;
    row-gap: calc(100vw * (22 / 1920));
    margin-top: calc(100vw * (6 / 1920));
    margin-bottom: calc(100vw * (48 / 1920));
}

.site-footer-pc__left-bottom {
    display: flex;
    flex-direction: column;
    row-gap: calc(100vw * (22 / 1920));
    justify-content: space-between;
    flex-grow: 1;
}

.site-footer__social-links {
    display: flex;
    align-items: center;
    column-gap: calc(100vw * (8 / 1920));
    width: fit-content;
}

.social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(100vw * (68 / 1920));
    aspect-ratio: 1;
    background-color: #3a453d;
    border-radius: calc(100vw * (5 / 1920));
}

.social-link img {
    width: calc(100vw * (30 / 1920));
    height: auto;
}

@media (max-width: 1024px) {
    .site-footer__social-links {
        column-gap: calc(100vw * (7 / 375));
    }
    .social-link {
        width: calc(100vw * (68 / 375));
        border-radius: calc(100vw * (5 / 375));
    }
    .social-link img {
        width: calc(100vw * (30 / 375));
    }
}

.site-footer-pc-sdg {
    display: flex;
    align-items: start;
    flex-direction: column;
    column-gap: 5px;
}

.site-footer-pc-sdg__header {
    font-size: calc(100vw * (16 / 1920));
    font-weight: 700;
    line-height: calc(100vw * (24 / 1920));
    word-break: keep-all;
    margin-bottom: calc(100vw * (5 / 1920));
}

.site-footer-pc-sdg img {
    width: 100%;
    height: auto;
}

.site-footer-pc-copyright {
    font-size: calc(100vw * (14 / 1920));
    line-height: 1;
}

@media (max-width: 1024px) {
    .site-footer-pc-copyright {
        font-size: calc(100vw * (14 / 375));
    }
}

.site-footer-pc__right {
    display: flex;
    flex-direction: column;
    align-items: right;
}

.site-footer-pc-nav {
    display: grid;
    grid-template-columns:
        calc(100vw * (160 / 1920)) 1fr calc(100vw * (160 / 1920))
        calc(100vw * (160 / 1920));
    grid-template-rows: auto auto;
    column-gap: calc(100vw * (26 / 1920));
    row-gap: calc(100vw * (16 / 1920));
    margin-bottom: calc(100vw * (35 / 1920));
}

.site-footer-pc-nav__item {
    display: flex;
    flex-direction: column;
    row-gap: calc(100vw * (8 / 1920));
}

.site-footer-pc-nav__header {
    width: 100%;
    font-weight: 550;
    font-size: clamp(12px, calc(100vw * (16 / 1920)), 128px);
    padding: calc(100vw * (4 / 1920)) 0;
    border-bottom: 1px solid var(--color-secondary);
    color: var(--color-secondary);
    box-sizing: border-box;
}

.site-footer-pc-nav__submenu {
    display: flex;
    flex-direction: column;
    row-gap: calc(100vw * (4 / 1920));
}

.site-footer-pc-nav__submenu li {
    width: fit-content;
}

.site-footer-pc-nav__submenu-item {
    font-size: clamp(10px, calc(100vw * (14 / 1920)), 128px);
    line-height: 1.71;
    color: var(--color-secondary);
    text-decoration: underline dashed;
    text-underline-offset: 4px;
    text-decoration-color: transparent;
    transition: text-decoration-color 0.7s ease;
}
.site-footer-pc-nav__submenu-item--no-break {
    word-break: keep-all;
}
.site-footer-pc-nav__submenu-item:hover {
    text-decoration-color: var(--color-secondary);
}

.site-footer-pc-other-links {
    display: flex;
    column-gap: calc(100vw * (16 / 1920));
    justify-content: end;
}

.site-footer-pc-other-links a {
    line-height: 0;
}

.site-footer-pc-other-links a img {
    width: calc(100vw * (165 / 1920));
    height: auto;
}

/* Footer SP */
.site-footer-sp {
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: center;
    padding-top: calc(100vw * (19 / 375));
    padding-left: calc(100vw * (30 / 375));
    padding-right: calc(100vw * (30 / 375));
    padding-bottom: calc(100vw * (28 / 375));
    box-sizing: border-box;
}

@media (min-width: 1025px) {
    .site-footer-sp {
        display: none;
    }
}

.site-footer-sp .site-footer-logo {
    margin-bottom: calc(100vw * (28 / 375));
}

.site-footer-sp .service-sub-link-sp__list {
    margin-bottom: calc(100vw * (30 / 375));
}

.site-footer-sp-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.site-footer-sp-inner {
    width: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    margin-bottom: calc(100vw * (91 / 375));
}

.site-footer-sp .accordion-menu-sp {
    margin-bottom: calc(100vw * (55 / 375));
}

.site-footer-sp-inner__link {
    line-height: 0;
}

.site-footer-sp-inner__links img {
    width: 100%;
    height: auto;
}

.site-footer-sp-inner__links {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    gap: calc(100vw * (10 / 375));
}

.red-div {
    width: 100%;
    height: 100%;
    background-color: red;
}

.site-footer-sp-aichi {
    display: flex;
    align-items: center;
    /*flex-direction: column;
    row-gap: calc(100vw * (7 / 375));
    padding-bottom: calc(100vw * (12 / 375));
    align-items: stretch;*/
    background-color: white;
}

.site-footer-sp-aichi__header {
    padding: calc(100vw * (1.5 / 375)) calc(100vw * (20 / 375));
    font-family: var(--font-roboto);
    font-weight: 700;
    font-size: calc(100vw * (12 / 375));
    line-height: 1.115;
    color: var(--color-secondary);
    background-color: var(--color-primary);
    text-align: center;
    border: 1px solid white;
}

.site-footer-sp-aichi__img {
    width: 100%;
    box-sizing: border-box;
    margin: 0 calc(100vw * (3 / 375));
    height: auto;
}

.site-footer-sp .site-footer__social-links {
    margin-bottom: calc(100vw * (46 / 375));
}

.site-footer-sp__copyright {
    font-size: calc(100vw * (14 / 375));
}

/* CSS RECRUIT  */
.first-banner {
    background-image: url("../img/yellow-color-bg.jpg");
    height: 39.1667vw;
    padding: 2.55208vw 0px 0px;
    box-sizing: border-box;
}

.first-banner .banner-image {
    position: relative;
    width: 89.5833vw;
    height: 33.9062vw;
    border-radius: 1.5vw;
    margin: auto;
    background-size: cover;
    background-position: center center;
    object-fit: cover;
}

.first-banner .banner-button {
    background-image: url("../img/green-color-bg.jpg");
    position: absolute;
    width: 22.3958vw;
    height: 7.65625vw;
    border-radius: 1.25vw;
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 2.08333vw;
    line-height: 120%;
    text-align: center;
    color: rgb(236, 231, 200);
    display: flex;
    justify-content: center;
    align-items: center;
    top: 12.625vw;
    left: 8.0208vw;
	opacity: 0;
}

.green-bg {
    background-image: url("../img/green-color-bg.jpg");
}

.base-bg {
    background-image: url("../img/base-color-bg.jpg");
}

.gray-bg {
    background-image: url("../img/gray-color-bg.jpg");
}

.red-bg {
    background-image: url("../img/red-color-bg.jpg");
}

.yellow-bg {
    background-image: url("../img/yellow-color-bg.jpg");
}

.first-banner.recruit-banner .banner-image {
    background-image: url("../img/recruit/first-banner.webp");
}

#recruit-page .desired-profile {
    max-width: 100vw;
    height: 50.3125vw;
    background-image: url("../img/green-color-bg.jpg");
    position: relative;
	opacity: 0;
}

#recruit-page {
    background-image: url("../img/yellow-color-bg.jpg");
}

#recruit-page .desired-profile .main-content {
    width: 76.0417vw;
    height: 37.0833vw;
    position: absolute;
    bottom: 3.48958vw;
    right: 0px;
    display: flex;
    justify-content: space-between;
}

#recruit-page .text-container {
    width: 11.4167vw;
    display: flex;
    flex-direction: column;
    gap: 0.8854vw;
}

#recruit-page .title-label {
    width: 4.0104vw;
    height: 12.3438vw;
    background-blend-mode: multiply, normal;
    border-radius: 0.416666vw;
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 1.66667vw;
    line-height: 100%;
    font-feature-settings: "vert";
    color: rgb(57, 105, 28);
    padding: 1.19791vw;
    box-sizing: border-box;
	opacity: 0;
}

#recruit-page .detail-group {
    display: flex;
    gap: 0.8333vw;
    transform: translateY(20px);
    opacity: 0;
}

#recruit-page .main-content.animate .detail-group {
    animation: 1s ease 0s 1 normal forwards running slideUpAnimation;
}

#recruit-page .detail-group span {
    writing-mode: vertical-rl;
    text-orientation: upright;
    white-space: nowrap;
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 500;
    font-size: 1.14583vw;
    line-height: 100%;
    font-feature-settings: "vert";
    color: rgb(236, 231, 200);
}

#recruit-page .desired-image {
    border-radius: 8px 0px 0px 0.416666vw;
}

#recruit-page .desired-image-wrapper {
    display: flex;
    position: relative;
    overflow: hidden;
    border-top-left-radius: calc(100vw * (8 / 1920));
    border-bottom-left-radius: calc(100vw * (8 / 1920));
}

#recruit-page .gradient-cover {
    animation-duration: 2s !important;
}

#recruit-page .main-title.green-bg.animation.animate,
#recruit-page .first-banner .banner-button.animation.animate,
#recruit-page .text-container .title-label.animation.animate
.first-banner .banner-button.common-green-title.animation.animate,
.common-yellow-title.animation.animate,
.common-green-title.animation.animate {
    animation: blurFadeIn 1s ease-in-out forwards;
}

#recruit-page .three-step-image.sp-mode.animation.animate,
#recruit-page .title-label.animation.animate,
#recruit-page .member-list h1.animation.animate,
#recruit-page .daily-schedule-container h1.animation.animate,
#recruit-page .section-title.company-title.animation.animate,
#recruit-page .section-title.employee-title.animation.animate,
#recruit-page .section-title.everyday-title.animation.animate,
.view-recruitment .banner-container .recruitment-form h2{
    animation: fadeIn 1s ease-in-out forwards;
}

.animation-fadein.element{
    opacity: 0;
    animation: fadeIn 1s ease-in-out forwards;
}

#recruit-page .staff-grid.animation.animate {
    animation: 1s ease 0s 1 normal forwards running slideUpAnimation;
}
#recruit-page .desired-profile.animate,
.view-recruitment .banner-container.animate{
    animation: 0.5s ease 0s 1 normal forwards running fadeInFromBottom;
}

#recruit-page .container {
    /* max-width: 1200px; */
    margin: 4.427083vw auto;
}


#recruit-page h1 {
    margin-bottom: 4.16666vw;
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 1.66666vw;
    line-height: 120%;
    text-align: center;
    color: rgb(57, 105, 28);
	opacity: 0;
}

#recruit-page .staff-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 3.125vw;
	transform: translateY(20px);
    opacity: 0;
}

#recruit-page .staff-card {
    width: 12.3438vw;
    position: relative;
    transition: transform 0.3s;
}

#recruit-page .staff-image {
    width: 100%;
    height: 18.5938vw;
    object-fit: cover;
    border-radius: 0.4166vw;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 0.208333vw 0.41666vw;
}

#recruit-page .more-button {
    position: absolute;
    top: 13.9062vw;
    left: 2.5vw;
    background-color: rgb(57, 105, 28);
    padding: 0.3125vw 0px;
    border-radius: 50%;
    text-decoration: none;
    display: flex;
	gap: 0.5vw;
    align-items: center;
    justify-content: center;
    width: 7.39583vw;
    height: 3.95833vw;
    box-sizing: border-box;
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 0.8333vw;
    line-height: 120%;
    color: rgb(236, 231, 200);
	cursor: pointer;
}

#recruit-page .more-button:hover {
    background-color: #ECE7C8;
    border: 3px solid #ECE7C8;
    color: #39691C;
}

#recruit-page .more-button:hover .arrow svg path {
    stroke: #39691C;
}

.banner-container .recruitment-form .button:hover .arrow {
    background-color: #ECE7C8;
    color: #39691C;
}

#recruit-page .staff-name {
    font-family: var(--font-noto-sans-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 1.14583vw;
    line-height: 150%;
    color: rgb(57, 105, 28);
}

#recruit-page .staff-details {
    font-family: var(--font-noto-sans-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 0.9375vw;
    line-height: 150%;
    color: rgb(57, 105, 28);
}

#recruit-page .schedule-container {
    padding: 6.25vw 0px;
}

#recruit-page .daily-schedule-container {
    width: 47.5vw;
    margin: 0px auto;
    padding: 1.0416vw 0px;
    box-sizing: border-box;
}

#recruit-page .daily-schedule-container .title {
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 1.6666vw;
    line-height: 120%;
    text-align: center;
    color: rgb(57, 105, 28);
    margin: 6.25vw auto 5.625vw;
}

#recruit-page .timeline {
    display: flex;
    justify-content: space-between;
    position: relative;
    transform: translateY(20px);
    opacity: 0;
}

#recruit-page .timeline.animate {
    animation: 1s ease 0s 1 normal forwards running slideUpAnimation;
}



#recruit-page .timeline-item {
    display: flex;
    align-items: center;
    margin-bottom: 0.8333vw;
    position: relative;
    z-index: 2;
}

#recruit-page .timeline-circle {
    width: 6.71875vw;
    height: 6.71875vw;
    background-color: rgb(47, 106, 33);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 2;
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 2.0833vw;
    line-height: 150%;
    color: rgb(236, 231, 200);
}

#recruit-page .timeline-text {
    font-family: var(--font-noto-sans-jp);
    font-style: normal;
    font-weight: 500;
    font-size: 1.25vw;
    line-height: 150%;
    color: rgb(57, 105, 28);
    margin-left: 1.61458vw;
    white-space: nowrap;
}

#recruit-page .timeline-column-left .timeline-item {
    flex-direction: row;
}

#recruit-page .timeline-column-right .timeline-text {
    margin-left: 1.61458vw;
    text-align: right;
}

#recruit-page .timeline-line {
    position: absolute;
    width: 2px;
    background-color: rgb(47, 106, 33);
    top: 2.0833vw;
    bottom: 2.0833vw;
    left: 3.38541vw;
    z-index: 1;
}

#recruit-page .timeline-column-right .timeline-line {
    left: auto;
    right: 11.3854vw;
}

#recruit-page .special-connection {
    position: absolute;
    border-bottom: 0.05208vw dashed rgb(47, 106, 33);
    border-right: 0.05208vw dashed rgb(47, 106, 33);
    width: 15.0208vw;
    height: 30.5vw;
    top: 3vw;
    left: 14.5vw;
    z-index: 1;
}

#recruit-page .special-connection-horizontal {
    position: absolute;
    border-top: 0.05208vw dashed rgb(47, 106, 33);
    width: 2.25vw;
    top: 3vw;
    left: 29.5vw;
    z-index: 1;
}

#recruit-page .divide-line {
    position: relative;
    height: 1px;
    background-color: rgb(57, 105, 28);
    width: 52.0833vw;
    margin-top: 4.94792vw;
}

#recruit-page .divide-line::before,
#recruit-page .divide-line::after {
    content: "";
    position: absolute;
    width: 0.41666vw;
    height: 0.41666vw;
    background-color: rgb(57, 105, 28);
    border-radius: 50%;
}

#recruit-page .divide-line::before {
    left: -0.20833vw;
    top: -0.15625vw;
}

#recruit-page .divide-line::after {
    right: -0.20833vw;
    top: -0.15625vw;
}

#recruit-page .recruit-step {
    height: fit-content;
    padding-top: 5.625vw;
	padding-bottom: 0.625vw;
    display: flex;
    flex-direction: column;
    row-gap: 5vw;
    justify-content: center;
    align-items: center;
    background-color: rgb(247, 247, 247);
    background-image: url("../img/yellow-color-bg.jpg");
}

#recruit-page .recruit-step .title-group {
    position: relative;
    width: 50vw;
    height: 10vw;
    text-align: center;
    left: -4.90625vw;
}

#recruit-page .main-title {
    width: 10.4166vw;
    height: 3.54166vw;
    border-radius: 0.416666vw;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
}

#recruit-page .main-title h1 {
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 2.0833vw;
    line-height: 120%;
    align-items: center;
    justify-content: center;
    color: rgb(236, 231, 200);
    margin: 0px;
	opacity: 1;
}

#recruit-page .recruit-step .title-group .title-1 {
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 3.64583vw;
    line-height: 120%;
    text-align: center;
    color: rgb(57, 105, 28);
    opacity: 0;
    transform: matrix(1, 0, -0.14, 0.99, 0, 0);
}

#recruit-page .recruit-step .title-1.animation.animate,
#recruit-page .extra-text.animation.animate,
#recruit-page .title-2.animation.animate {
    animation: 2.5s ease-in-out 0s 1 normal forwards running flying-leaves;
}

#recruit-page .recruit-step .title-group .title-1 .extra-text {
    font-family: var(--font-noto-serif-jp);
    font-weight: 700;
    font-size: 2.5vw;
    line-height: 120%;
    text-align: center;
}

#recruit-page .recruit-step .title-group .title-2 {
    font-family: var(--font-noto-serif-jp);
    font-style: italic;
    font-weight: 700;
    font-size: 5.20833vw;
    line-height: 120%;
    text-align: center;
    opacity: 0;
    letter-spacing: -0.13em;
    color: rgb(57, 105, 28);
    /* transform: matrix(0.99, -0.14, -0.17, 0.98, 0, 0); */
    position: absolute;
    left: 17vw;
    bottom: 0vw;
}

#recruit-page .recruit-step .step-group {
    display: flex;
    flex-direction: row;
    column-gap: 1.25vw;
    justify-content: flex-end;
    align-items: flex-end;
    margin-right: 2.25vw;
}

#recruit-page .recruit-step .step-container {
    width: 14.9479vw;
    height: fit-content;
}

#recruit-page .recruit-step .step-container .container-1 {
    height: 16.6666vw;
}

#recruit-page .recruit-step .step-container .container-2 {
    height: 21.875vw;
}

#recruit-page .recruit-step .step-container .container-3 {
    height: 24.4792vw;
}

#recruit-page .recruit-step .content-block {
    margin-top: 0.5208vw;
    border-top: 0.10416vw solid #39691C;
    border-left: 0.10416vw solid #39691C;
    padding: 1.61458vw 0 1.61458vw 1.81458vw;
    box-sizing: border-box;
}

@media(min-width: 1025px) {
	#recruit-page .recruit-step .content-block.container-1 {
		padding-left: calc(100vw * (31.5 / 1920));
	}
	#recruit-page .content-block .description {
		width: calc(100vw * (254 / 1920));
	}
}

#recruit-page .recruit-step .content-block .description {
    margin-top: 0.8333vw;
    font-family: var(--font-noto-sans-jp);
    font-style: normal;
    font-weight: 500;
    font-size: 0.83333vw;
    line-height: 150%;
    color: rgb(57, 105, 28);
}

#recruit-page .recruit-step .content-block .title {
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 1.6666vw;
    line-height: 120%;
    margin: 0px;
    text-align: left;
    color: rgb(57, 105, 28);
}

#recruit-page .recruit-step .standing-arrow {
    position: absolute;
    right: 22.25vw;
    width: 5.72916vw;
    height: 29.9479vw;
}

#recruit-page .recruit-step .step-card {
    transition: opacity 0.6s, transform 0.6s;
    opacity: 0;
}

#recruit-page .recruit-step .step-card.animate {
    animation: fadeIn 1s ease-in-out forwards;
}

#recruit-page .banner-2,
#recruit-page .banner-3 {}

#recruit-page .banner-2 img,
#recruit-page .banner-3 img {
    width: 100%;
}

.recruit-static-container {
    width: fit-content;
    font-family: var(--font-noto-sans-jp);
    margin: 0px auto;
    padding: 3.75vw 22.9583vw 0;
    color: white;
    box-sizing: border-box;
}

.full-width-item {
    grid-column: span 2;
    text-align: center;
}

.company-overview {
    text-align: center;
}

.tab-container {
    display: flex;
    justify-content: space-between;
    /* z-index: 2; */
}

.tab {
    padding: 0.52083vw 0.78125vw;
    cursor: pointer;
    border: 0.260416vw solid #39691C;
    color: rgb(45, 112, 28);
    border-radius: 0.416666vw;
    width: 16.9484375vw;
    height: 7.03125vw;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 1.25vw;
    line-height: 120%;
    color: #39691C;
    flex-direction: column;
    gap: 0.83333vw;
    z-index: 2;
}

.tab-circle {
    width: 1.5625vw;
    height: 1.5625vw;
}

.section-title {
    background-color: transparent;
    padding: 0.52083vw;
    margin-bottom: 0.520833vw;
    border: 0.260416vw solid #39691C;
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 1.25vw;
    width: 52.0833vw;
    line-height: 120%;
    text-align: center;
    color: rgb(57, 105, 28);
    margin-top: 4.16666vw;
    box-sizing: border-box;
	opacity: 0;
}

.grid-container {
    display: flex;
    flex-direction: column;
    gap: 0.78125vw;
}

.grid-row {
    display: grid;
    grid-template-columns: repeat(2, auto);
    gap: 0.78125vw;
}

.grid-row .full-width {
    grid-column: span 2;
    min-height: 23.2812vw;
}

.grid-item.small {
    width: 23.2812vw;
    min-height: 23.2812vw;
}

.grid-item.large {
    width: 28.0208vw;
    min-height: 23vw;
}

.grid-item {
    background-color: rgb(57, 105, 28);
    padding: 1.92708vw 0px 0px;
    display: flex;
    flex-direction: column;
    text-align: center;
    position: relative;
    transition: 0.3s;
    box-sizing: border-box;
}

.grid-item.left-item {
    min-height: 23.2812vw;
    width: 20vw;
}

.grid-item.right-item {
    min-height: 23.2812vw;
    width: 20vw;
}

.company-figures .title,
.employee-numbers .title,
.everyday-numbers .title {
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 600;
    font-size: 1.97916vw;
    line-height: 140%;
    letter-spacing: 0.02em;
    color: rgb(236, 231, 200);
    margin: 0 auto;
}

.company-figures .row-1 {
    .grid-item.small {
        row-gap: 1.5vw;
    }

    .line-number {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 6.40625vw;
        line-height: 100%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
        width: fit-content;
        position: absolute;
        left: 4vw;
    }

    .grid-item.small .line-number.upper-text {
        width: fit-content;
        position: absolute;
        left: 4vw;
    }

    .grid-item.small .line-number.lower-text {
        width: fit-content;
        position: absolute;
        left: 7vw;
        bottom: 4.7vw;
    }

    .grid-item.small .line-number .symbol {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 1.97916vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
        position: absolute;
        bottom: 0.7vw;
    }

    .grid-item.small .image {
        position: absolute;
        bottom: 2vw;
        right: 1.5vw;
        width: 5.57291vw;
        background-position: center center;
        object-fit: cover;
    }

    .grid-item.large .line-number.upper-text {
        width: fit-content;
        position: absolute;
        left: 10vw;
        top: 6.1vw;
    }

    .grid-item.large .line-number.lower-text {
        width: fit-content;
        position: absolute;
        left: 7vw;
        bottom: 4.7vw;
    }

    .grid-item.large .line-number .symbol {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 1.97916vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
        position: absolute;
        bottom: 0.2vw;
    }

    .grid-item.large .image {
        position: absolute;
        bottom: 2.5vw;
        right: 6.5vw;
        width: 15.8854vw;
        background-position: center center;
        object-fit: cover;
    }
}

.company-figures .row-2 {
    .grid-item.small {
        row-gap: 1.5vw;
    }

    .line-number {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 2.5vw;
        line-height: 100%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
        width: fit-content;
        position: absolute;
        left: 4vw;
    }

    .grid-item.small .line-number.upper-text {
        position: absolute;
        left: 4.5vw;
        top: 5.5vw;
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        padding: 0.520833vw;
        gap: 0.520833vw;
        width: 13.9062vw;
        height: 2.9166vw;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 600;
        font-size: 1.6666vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(57, 105, 28);
        background: rgb(236, 231, 200);
        border-radius: 2px;
        box-sizing: border-box;
    }

    .grid-item.small .line-number.lower-text {
        width: fit-content;
        position: absolute;
        left: 4.2vw;
        bottom: 8.2vw;
        font-size: 6.40625vw;
    }

    .grid-item.small .line-number .symbol {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 1.97916vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
        position: absolute;
        bottom: 0.2vw;
    }

    .grid-item.small .image {
        position: absolute;
        bottom: 1vw;
        right: 8vw;
        width: 7.5vw;
        background-position: center center;
        object-fit: cover;
    }

    .grid-item.large .line-number.upper-text {
        width: fit-content;
        position: absolute;
        left: 10vw;
        bottom: 5vw;
    }

    .grid-item.large .line-number.lower-text {
        width: fit-content;
        position: absolute;
        left: 7.5vw;
        bottom: 1.5vw;
        font-size: 3.33333vw !important;
    }

    .grid-item.large .line-number .symbol {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        line-height: 140%;
        font-size: 1.25vw;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
        position: absolute;
        bottom: 0.2vw;
    }

    .grid-item.large .line-number.lower-text.symbol {
        font-size: 1.9791vw;
    }

    .grid-item.large .image {
        position: absolute;
        bottom: 1.5vw;
        right: 1vw;
        width: 8.02083vw;
        background-position: center center;
        object-fit: cover;
    }

    .grid-item.large .image-1 {
        position: absolute;
        left: 6vw;
        bottom: 8vw;
        width: 15.4167vw;
    }

    .grid-item.large .dash-symbol {
        z-index: 2;
        position: absolute;
        width: 1.875vw;
        height: 8.0729vw;
        border-right: 3px dashed rgb(236, 231, 200);
        border-bottom: 3px dashed rgb(236, 231, 200);
        bottom: 3.7vw;
        left: 15vw;
    }
}

.company-figures .row-3 {
    .grid-item.small {
        row-gap: 2.5vw;
    }

    .line-number {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 2.5vw;
        line-height: 100%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
        width: fit-content;
        position: absolute;
        left: 4vw;
    }

    .grid-item.small .line-number.upper-text {
        position: absolute;
        left: 1.77083vw;
        top: 5.52083vw;
        display: flex;
        flex-direction: row;
        width: 5vw;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 600;
        font-size: 1.9791vw;
        line-height: 114%;
        text-align: left;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.small .dash-symbol.upper-symbol {
        width: 1.875vw;
        height: 0.7vw;
        border-top: 3px dashed rgb(236, 231, 200);
        border-right: 3px dashed rgb(236, 231, 200);
        position: absolute;
        left: 6vw;
        top: 7.5vw;
        transform: skew(28deg);
        transform-origin: left top;
    }

    .grid-item.small .dash-symbol.lower-text {
        position: absolute;
        right: 1.71875vw;
        bottom: 2.083vw;
        display: flex;
        flex-direction: row;
        width: 5vw;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 600;
        font-size: 1.9791vw;
        line-height: 114%;
        text-align: end;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.small .dash-symbol.lower-symbol {
        width: 1.3vw;
        height: 1.2vw;
        border-top: 3px dashed rgb(236, 231, 200);
        border-right: 3px dashed rgb(236, 231, 200);
        position: absolute;
        left: 16.4vw;
        top: 15vw;
        transform: skew(35deg);
        transform-origin: left top;
    }

    .grid-item.small .line-number.extra-text {
        width: fit-content;
        position: absolute;
        left: 8.8vw;
        bottom: 8.5vw;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 4.16666vw;
        line-height: 100%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.small .image-1 {
        width: 11.875vw;
    }

    .grid-item.large .line-number.upper-text {
        width: fit-content;
        position: absolute;
        left: 4.27083vw;
        top: 5.83333vw;
        font-size: 6.40625vw;
    }

    .grid-item.large .line-number.lower-text {
        width: fit-content;
        position: absolute;
        left: 4.27083vw;
        bottom: 3.3854vw;
        font-size: 6.40625vw;
    }

    .grid-item.large .line-number .symbol {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        line-height: 140%;
        font-size: 2.0151vw;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
        position: absolute;
        bottom: 0px;
    }

    .grid-item.large .line-number.lower-text.symbol {
        font-size: 1.9791vw;
    }

    .grid-item.large .image {
        position: absolute;
        bottom: 7vw;
        right: 2.34375vw;
        width: 11.4583vw;
        background-position: center center;
        object-fit: cover;
    }

    .grid-item.large .image-1 {
        position: absolute;
        left: 6vw;
        bottom: 8vw;
        width: 15.4167vw;
    }

    .grid-item.large .dash-symbol {
        z-index: 2;
        position: absolute;
        width: 1.875vw;
        height: 8.0729vw;
        border-right: 3px dashed rgb(236, 231, 200);
        border-bottom: 3px dashed rgb(236, 231, 200);
        bottom: 3.7vw;
        left: 15vw;
    }

    .grid-item.large .extra-symbol {
        position: absolute;
        width: 2.03125vw;
        height: 2.8125vw;
        left: 7vw;
        top: 12vw;
        transform: rotate(90deg);
    }
}

.company-figures .row-4 {
    .grid-item.small {
        row-gap: 2.5vw;
    }

    .grid-item.small .line-number.left-text {
        position: absolute;
        left: 4.77083vw;
        top: 5.52083vw;
        display: flex;
        flex-direction: row;
        text-align: left;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 6.40625vw;
        line-height: 100%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.small .line-number.right-text {
        position: absolute;
        right: 7.71875vw;
        top: 5.52083vw;
        display: flex;
        flex-direction: row;
        text-align: left;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 6.40625vw;
        line-height: 100%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.small .line-number.right-text .symbol {
        position: absolute;
        right: -5.3vw;
        bottom: 0.5vw;
        display: flex;
        flex-direction: row;
        width: 5vw;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 600;
        font-size: 1.9791vw;
        line-height: 114%;
        text-align: end;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.small .extra-symbol {
        position: absolute;
        left: 9.27083vw;
        top: 7.5vw;
        width: 2.03125vw;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 2.01521vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.small .image-1 {
        position: absolute;
        left: 8vw;
        bottom: 2.08333vw;
        width: 8.2291vw;
        height: 8.2291vw;
        z-index: 3;
    }

    .grid-item.large .line-number.text-1 {
        width: fit-content;
        position: absolute;
        right: 2vw;
        bottom: 16.1979vw;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 1.6666vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.large .line-number.text-1 .symbol {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 0.833333vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
        position: absolute;
        bottom: 0.4vw;
    }

    .grid-item.large .dash-symbol.symbol-1 {
        z-index: 2;
        position: absolute;
        width: 5.5vw;
        height: 1.58854vw;
        border-left: 3px dashed rgb(236, 231, 200);
        border-top: 3px dashed rgb(236, 231, 200);
        bottom: 15.7vw;
        left: 13vw;
        transform: skew(330deg);
        transform-origin: left top;
    }

    .grid-item.large .line-number.text-2 {
        width: fit-content;
        position: absolute;
        right: 2vw;
        bottom: 13.2vw;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 1.6666vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.large .line-number.text-2 .symbol {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 0.833333vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
        position: absolute;
        bottom: 0.4vw;
    }

    .grid-item.large .dash-symbol.symbol-2 {
        z-index: 2;
        position: absolute;
        width: 5vw;
        border-bottom: 3px dashed rgb(236, 231, 200);
        bottom: 14.7vw;
        left: 14vw;
    }

    .grid-item.large .line-number.text-3 {
        width: fit-content;
        position: absolute;
        right: 2vw;
        bottom: 9.1979vw;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 1.6666vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.large .line-number.text-3 .symbol {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 0.833333vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
        position: absolute;
        bottom: 0.4vw;
    }

    .grid-item.large .dash-symbol.symbol-3 {
        z-index: 2;
        position: absolute;
        width: 4.3645vw;
        height: 0.729167vw;
        border-right: 3px dashed rgb(236, 231, 200);
        border-top: 3px dashed rgb(236, 231, 200);
        bottom: 11.7vw;
        left: 15vw;
        transform: skew(40deg);
        transform-origin: left top;
    }

    .grid-item.large .line-number.text-4 {
        width: fit-content;
        position: absolute;
        right: 2vw;
        bottom: 1.5vw;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 1.97916vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
        z-index: 3;
    }

    .grid-item.large .line-number.text-4 span {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 6.40625vw;
        line-height: 100%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.large .line-number.text-4 .symbol {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 1.66666vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
        position: absolute;
        bottom: 0.4vw;
        right: -1.2vw;
    }

    .grid-item.large .dash-symbol.symbol-4 {
        z-index: 2;
        position: absolute;
        width: 4.3645vw;
        height: 0.729167vw;
        border-right: 3px dashed rgb(236, 231, 200);
        border-top: 3px dashed rgb(236, 231, 200);
        bottom: 6vw;
        left: 13.5vw;
        transform: skew(40deg);
        transform-origin: left top;
    }

    .grid-item.large .image {
        position: absolute;
        bottom: 7vw;
        right: 2.5vw;
        width: 11.4583vw;
        background-position: center center;
        object-fit: cover;
    }

    .grid-item.large .image-1 {
        position: absolute;
        left: 1.35417vw;
        bottom: 2.0833vw;
        width: 15.4167vw;
    }

    .grid-item.large .image-2 {
        position: absolute;
        left: 5vw;
        bottom: 5.5vw;
        width: 8.90625vw;
        height: 5.46875vw;
        z-index: 3;
    }
}

.employee-numbers .row-1 {
    .grid-item.small {
        row-gap: 1.5vw;
    }

    .grid-item.small .line-number.banner-text {
        position: absolute;
        left: 4.5vw;
        top: 5.67708vw;
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        padding: 0.520833vw;
        gap: 0.520833vw;
        width: 13.9062vw;
        height: 2.9166vw;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 600;
        font-size: 1.6666vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(57, 105, 28);
        background: rgb(236, 231, 200);
        border-radius: 2px;
        box-sizing: border-box;
    }

    .grid-item.small .line-number.upper-text {
        width: fit-content;
        position: absolute;
        left: 4.2vw;
        bottom: 8.2vw;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 6.40625vw;
        line-height: 100%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.small .line-number.upper-text .symbol {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 2.01521vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
        position: absolute;
        bottom: 0.2vw;
    }

    .grid-item.small .line-number.lower-text {
        width: fit-content;
        position: absolute;
        left: 4.2vw;
        bottom: 3.0208vw;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 600;
        font-size: 1.97917vw;
        line-height: 100%;
        text-align: center;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.small .line-number.lower-text span {
        width: fit-content;
        position: absolute;
        left: 6.7vw;
        bottom: -0.5vw;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 600;
        font-size: 3.3333vw;
        line-height: 100%;
        text-align: center;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.small .line-number.lower-text .symbol {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 1.97916vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
        position: absolute;
        left: 13.7vw;
        bottom: -0.5vw;
    }

    .grid-item.small .dash-symbol {
        width: 14.375vw;
        border-top: 3px dashed rgb(236, 231, 200);
        position: absolute;
        left: 4.6354vw;
        bottom: 7vw;
    }

    .grid-item.small .image {
        position: absolute;
        bottom: 1vw;
        right: 8vw;
        width: 7.5vw;
        background-position: center center;
        object-fit: cover;
    }

    .grid-item.large .line-number.text-1 {
        position: absolute;
        left: 3.38541vw;
        top: 7.08333vw;
        width: 7vw;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 1.66666vw;
        line-height: 100%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
        z-index: 3;
        text-align: left;
    }

    .grid-item.large .line-number.text-1 span {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 1.66666vw;
        line-height: 100%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.large .line-number.text-1 .symbol {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 0.83333vw;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
        position: absolute;
        bottom: 0.1vw;
        left: 3.6vw;
    }

    .grid-item.large .dash-symbol.symbol-1 {
        z-index: 2;
        position: absolute;
        width: 1.54166vw;
        height: 7.2vw;
        border-right: 3px dashed rgb(236, 231, 200);
        border-top: 3px dashed rgb(236, 231, 200);
        top: 9.2vw;
        left: 7.8vw;
        transform: skew(16deg);
        transform-origin: left top;
    }

    .grid-item.large .line-number.text-2 {
        width: 7vw;
        position: absolute;
        left: 1.09375vw;
        top: 12.8645vw;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 1.66666vw;
        line-height: 100%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
        text-align: left;
        z-index: 3;
    }

    .grid-item.large .line-number.text-2 span {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 1.66666vw;
        line-height: 100%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.large .line-number.text-2 .symbol {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 0.833333vw;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
        position: absolute;
        bottom: 0.1vw;
        left: 3.6vw;
    }

    .grid-item.large .dash-symbol.symbol-2 {
        z-index: 2;
        position: absolute;
        width: 3.125vw;
        height: 3.5vw;
        border-right: 3px dashed rgb(236, 231, 200);
        bottom: 3.4vw;
        left: 1.3vw;
        transform: skew(14deg);
        transform-origin: left top;
    }

    .grid-item.large .line-number.text-4 {
        width: fit-content;
        position: absolute;
        right: 3vw;
        bottom: 1.5vw;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 1.97916vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
        z-index: 3;
    }

    .grid-item.large .line-number.text-4 span {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 6.40625vw;
        line-height: 100%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.large .line-number.text-4 .symbol {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 1.66666vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
        position: absolute;
        bottom: 0.4vw;
        right: -1.5vw;
    }

    .grid-item.large .dash-symbol.symbol-4 {
        z-index: 2;
        position: absolute;
        width: 4.3645vw;
        height: 0.729167vw;
        border-right: 3px dashed rgb(236, 231, 200);
        border-top: 3px dashed rgb(236, 231, 200);
        bottom: 5.2vw;
        left: 12.5vw;
        transform: skew(50deg);
        transform-origin: left top;
    }

    .grid-item.large .image-1 {
        position: absolute;
        left: 3.35417vw;
        bottom: 1.0833vw;
        width: 17.4167vw;
    }
}

.employee-numbers .row-2 {
    .grid-item.small {
        row-gap: 1.5vw;
    }

    .grid-item.small .line-number.text-1 {
        width: fit-content;
        position: absolute;
        right: 12vw;
        top: 7.4vw;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 1.66667vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.small .line-number.text-1 .symbol {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 1.66667vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
        position: absolute;
        bottom: 0px;
    }

    .grid-item.small .line-number.text-2 {
        width: fit-content;
        position: absolute;
        right: 9.5vw;
        bottom: 10.5vw;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 600;
        font-size: 2.91667vw;
        line-height: 100%;
        text-align: center;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.small .line-number.text-2 .symbol {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 1.66667vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
        position: absolute;
        bottom: -0.2vw;
    }

    .grid-item.small .line-number.text-3 {
        width: fit-content;
        position: absolute;
        left: 4.2vw;
        bottom: 7vw;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 1.66667vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.small .line-number.text-3 .symbol {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 1.66667vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
        position: absolute;
        bottom: 0px;
    }

    .grid-item.small .line-number.text-4 {
        width: fit-content;
        position: absolute;
        left: 1.8vw;
        bottom: 3.5vw;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 600;
        font-size: 2.91667vw;
        line-height: 100%;
        text-align: center;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.small .line-number.text-4 .symbol {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 1.66667vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
        position: absolute;
        bottom: -0.2vw;
    }

    .grid-item.small .line-number.text-5 {
        width: fit-content;
        position: absolute;
        right: 5.9vw;
        bottom: 7vw;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 1.66667vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.small .line-number.text-5 .symbol {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 1.66667vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
        position: absolute;
        bottom: 0px;
    }

    .grid-item.small .line-number.text-6 {
        width: fit-content;
        position: absolute;
        right: 3.1vw;
        bottom: 3.5vw;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 600;
        font-size: 2.91667vw;
        line-height: 100%;
        text-align: center;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.small .line-number.text-6 .symbol {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 1.66667vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
        position: absolute;
        bottom: -0.2vw;
    }

    .grid-item.small .image-1 {
        position: absolute;
        left: 7.35417vw;
        top: 5vw;
        width: 8.48958vw;
        height: 10.3646vw;
    }

    .grid-item.small .image-2 {
        position: absolute;
        left: 1.35417vw;
        bottom: 1.0833vw;
        width: 8.48958vw;
        height: 10.3646vw;
    }

    .grid-item.small .image-3 {
        position: absolute;
        right: 1.35417vw;
        bottom: 1.0833vw;
        width: 8.48958vw;
        height: 10.3646vw;
    }

    .grid-item.large .line-number.label-static {
        width: fit-content;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 1.04167vw;
        line-height: 1.25vw;
        text-align: right;
        color: rgb(57, 105, 28);
        z-index: 3;
    }

    .grid-item.large .line-number.label-static.text-1 {
        position: absolute;
        right: 20.45vw;
        top: 6.03vw;
    }

    .grid-item.large .line-number.label-static.text-2 {
        position: absolute;
        right: 20.45vw;
        top: 7.93vw;
    }

    .grid-item.large .line-number.label-static.text-3 {
        position: absolute;
        right: 20.45vw;
        top: 9.93vw;
    }

    .grid-item.large .line-number.label-static.text-4 {
        position: absolute;
        right: 20.45vw;
        top: 11.93vw;
    }

    .grid-item.large .line-number.label-static.text-5 {
        position: absolute;
        right: 20.45vw;
        top: 13.93vw;
    }

    .grid-item.large .line-number.label-static.text-6 {
        position: absolute;
        right: 20.45vw;
        top: 15.93vw;
    }

    .grid-item.large .line-number.label-static.text-7 {
        position: absolute;
        right: 20.45vw;
        top: 17.93vw;
    }

    .grid-item.large .line-number.label-static.text-8 {
        position: absolute;
        right: 20.45vw;
        top: 19.93vw;
    }

    .grid-item.large .line-number.number-static {
        width: fit-content;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 1.66666vw;
        line-height: 100%;
        letter-spacing: 0.02em;
        color: #ECE7C8;
        z-index: 3;
    }

    .grid-item.large .line-number.number-static .symbol {
        width: fit-content;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 0.83333vw;
        line-height: 140%;
        letter-spacing: 0.02em;

        color: #ECE7C8;
        z-index: 3;
    }

    .grid-item.large .line-number.number-static.text-9 {
        position: absolute;
        right: 13vw;
        top: 5.6vw;
    }

    .grid-item.large .line-number.number-static.text-11 {
        position: absolute;
        right: 13vw;
        top: 9.56vw;
    }

    .grid-item.large .line-number.number-static.text-12 {
        position: absolute;
        right: 13vw;
        top: 11.6vw;
    }

    .grid-item.large .line-number.number-static.text-13 {
        position: absolute;
        right: 13vw;
        top: 13.6vw;
    }

    .grid-item.large .line-number.number-static.text-14 {
        position: absolute;
        right: 7.5vw;
        top: 15.6vw;
    }

    .grid-item.large .line-number.number-static.text-15 {
        position: absolute;
        right: 13vw;
        top: 17.6vw;
    }

    .grid-item.large .line-number.number-static.text-16 {
        position: absolute;
        right: 7.5vw;
        top: 19.6vw;
    }

    .grid-item.large .line-number.text-10 {
        width: fit-content;
        position: absolute;
        left: 22.0312vw;
        top: 6.875vw;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 600;
        font-size: 2.91666vw;
        line-height: 100%;
        text-align: center;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
        z-index: 3;
    }

    .grid-item.large .line-number.text-10 .symbol {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 1.66666vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
        position: absolute;
        bottom: -0.1vw;
        right: -1.7vw;
    }

    .grid-item.large .image-1 {
        position: absolute;
        left: 2.3958vw;
        top: 6.0416vw;
        width: 19.53125vw;
    }
}

.employee-numbers .row-3 {
    .grid-item.full-width .image-1 {
        position: absolute;
        left: 1.25vw;
        bottom: 0px;
        width: 25.8557vw;
    }

    .grid-item.full-width .dash-symbol.symbol-1 {
        width: 11.0938vw;
        height: 1.2vw;
        border-top: 3px dashed rgb(236, 231, 200);
        position: absolute;
        left: 27.8646vw;
        bottom: 2vw;
        transform: matrix(0.99, 0.2, -0.17, 0.98, 0, 0);
    }

    .grid-item.full-width .dash-symbol.symbol-2 {
        width: 11.0938vw;
        height: 1.2vw;
        border-top: 3px dashed rgb(236, 231, 200);
        position: absolute;
        left: 27.8646vw;
        top: 6.73958vw;
        transform: matrix(0.99, -0.2, -0.17, 0.98, 0, 0);
    }

    .grid-item.full-width .employee-description {
        width: 20.4688vw;
        display: flex;
        flex-direction: column;
        position: absolute;
        right: 2.86458vw;
        top: 9vw;
    }

    .grid-item.full-width .employee-description .text-1 {
        text-align: left;
        font-family: var(--font-noto-sans-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 1.30208vw;
        line-height: 140%;
        letter-spacing: 0.05em;
        color: rgb(236, 231, 200);
    }

    .grid-item.full-width .employee-description .text-2 {
        text-align: left;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 600;
        font-size: 1.25vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.full-width .employee-description .text-3 {
        text-align: left;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 600;
        font-size: 1.25vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.full-width .employee-description .text-4 {
        text-align: left;
        font-family: var(--font-noto-sans-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 2.08333vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }
}

.everyday-numbers .row-1 {
    .grid-item.small .line-number {
        width: fit-content;
        font-family: var(--font-noto-sans-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 2.08333vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.small .line-number.text-1 {
        position: absolute;
        top: 6.71875vw;
        left: 4.53125vw;
    }

    .grid-item.small .line-number.text-2 {
        position: absolute;
        top: 6.71875vw;
        right: 4.47917vw;
    }

    .grid-item.small .line-number.text-3 {
        position: absolute;
        top: 9.63541vw;
        left: 5.59895vw;
    }

    .grid-item.small .line-number.text-4 {
        position: absolute;
        top: 9.63541vw;
        right: 5.54688vw;
    }

    .grid-item.small .image-1 {
        position: absolute;
        left: 4.79166vw;
        bottom: 2.13542vw;
        width: 7.65625vw;
    }

    .grid-item.small .image-2 {
        position: absolute;
        right: 4.73958vw;
        bottom: 2.13542vw;
        width: 7.65625vw;
    }

    .grid-item.large .line-number {
        font-family: var(--font-noto-sans-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 1.66666vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.large .banner-text {
        background: rgb(236, 231, 200);
        width: 24.0104vw;
        height: 2.91667vw;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 600;
        font-size: 1.66666vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(57, 105, 28);
        position: absolute;
        top: 5.67708vw;
        left: 2.03125vw;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .grid-item.large .line-number.text-1 {
        position: absolute;
        top: 9.27083vw;
        left: 2.03125vw;
    }

    .grid-item.large .line-number.text-2 {
        position: absolute;
        top: 9.27083vw;
        left: 10.5729vw;
    }

    .grid-item.large .line-number.text-3 {
        position: absolute;
        top: 9.27083vw;
        right: 2.08333vw;
    }

    .grid-item.large .line-number.text-4 {
        position: absolute;
        top: 11.6146vw;
        left: 4.58333vw;
    }

    .grid-item.large .line-number.text-5 {
        position: absolute;
        top: 11.6146vw;
        left: 9.73958vw;
    }

    .grid-item.large .line-number.text-6 {
        position: absolute;
        top: 11.6146vw;
        right: 9.73958vw;
    }

    .grid-item.large .line-number.text-7 {
        position: absolute;
        top: 11.6146vw;
        right: 4.58333vw;
    }

    .grid-item.large .image-1 {
        position: absolute;
        left: 7.13542vw;
        top: 15.4688vw;
        width: 4.58333vw;
    }

    .grid-item.large .image-2 {
        position: absolute;
        right: 8.4375vw;
        top: 14.9479vw;
        width: 6.25vw;
    }
}

.everyday-numbers .row-2 {
    .grid-item.full-width .image-1 {
        position: absolute;
        right: 1.97916vw;
        bottom: 1.25vw;
        width: 22.4479vw;
        height: 16.6666vw;
    }

    .grid-item.full-width .image-2 {
        position: absolute;
        left: 6.92708vw;
        bottom: 0.88541vw;
        width: 6.30208vw;
    }

    .grid-item.full-width .image-3 {
        position: absolute;
        left: 13.4375vw;
        bottom: 1.51042vw;
        width: 5.41666vw;
    }

    .grid-item.full-width .dash-symbol.symbol-1 {
        width: 6.09375vw;
        height: 1.2vw;
        border-top: 3px dashed rgb(236, 231, 200);
        position: absolute;
        right: 25.7292vw;
        bottom: 5.41666vw;
        transform: matrix(-1.01, 0.2, -0.17, 0.98, 0, 0);
    }

    .grid-item.full-width .dash-symbol.symbol-2 {
        width: 6.09375vw;
        height: 1.2vw;
        border-top: 3px dashed rgb(236, 231, 200);
        position: absolute;
        right: 25.7292vw;
        top: 6.73958vw;
        transform: matrix(-1.01, -0.2, -0.17, 0.98, 0, 0);
    }

    .grid-item.full-width .everyday-description {
        width: 20.4688vw;
        display: flex;
        flex-direction: column;
        position: absolute;
        right: 25.7292vw;
        top: 0px;
        left: 0px;
        text-align: center;
    }

    .grid-item.full-width .everyday-description .text-1 {
        text-align: center;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 1.30208vw;
        line-height: 140%;
        letter-spacing: 0.05em;
        color: rgb(236, 231, 200);
        position: absolute;
        top: 8.75vw;
        left: 1.19792vw;
    }

    .grid-item.full-width .everyday-description .text-2 {
        text-align: center;
        font-family: var(--font-noto-sans-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 1.30208vw;
        line-height: 140%;
        letter-spacing: 0.05em;
        color: rgb(236, 231, 200);
        position: absolute;
        top: 8.75vw;
        left: 10.6771vw;
    }

    .grid-item.full-width .everyday-description .text-3 {
        text-align: center;
        font-family: var(--font-noto-sans-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 1.30208vw;
        line-height: 140%;
        letter-spacing: 0.05em;
        color: rgb(236, 231, 200);
        position: absolute;
        top: 8.75vw;
        left: 13.3333vw;
    }

    .grid-item.full-width .everyday-description .text-4 {
        width: 7vw;
        font-family: var(--font-noto-sans-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 1.30208vw;
        line-height: 140%;
        letter-spacing: 0.05em;
        color: rgb(236, 231, 200);
        position: absolute;
        top: 8.75vw;
        left: 20.1042vw;
    }

    .grid-item.full-width .everyday-description .text-5 {
        text-align: center;
        font-family: "BIZ UDGothic";
        font-style: normal;
        font-weight: 700;
        font-size: 1.25vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
        position: absolute;
        top: 10.989vw;
        left: 4.19271vw;
    }

    .grid-item.full-width .everyday-description .text-6 {
        font-family: "BIZ UDGothic";
        font-style: normal;
        font-weight: 700;
        font-size: 1.25vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
        position: absolute;
        top: 10.989vw;
        left: 9.34895vw;
    }

    .grid-item.full-width .everyday-description .text-7 {
        width: 8vw;
        text-align: center;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 1.25vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
        position: absolute;
        top: 10.989vw;
        left: 18.3594vw;
    }

    .grid-item.full-width .everyday-description .text-8 {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 600;
        font-size: 1.25vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
        position: absolute;
        top: 13.1771vw;
        left: 4.45312vw;
    }

    .grid-item.full-width .everyday-description .text-9 {
        font-family: var(--font-noto-sans-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 1.25vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
        position: absolute;
        top: 13.1771vw;
        left: 14.6615vw;
    }

    .grid-item.full-width .everyday-description .text-10 {
        width: 7vw;
        font-family: var(--font-noto-sans-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 1.25vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
        position: absolute;
        top: 13.1771vw;
        left: 18.5677vw;
    }
}

.everyday-numbers .row-3 {
    .grid-item.small .image-1 {
        position: absolute;
        left: 5.72917vw;
        bottom: 4.84375vw;
        width: 11.875vw;
    }

    .grid-item.small .image-2 {
        position: absolute;
        left: 2.96875vw;
        bottom: 2.65625vw;
        width: 4.6875vw;
    }

    .grid-item.small .image-3 {
        position: absolute;
        right: 2.91667vw;
        bottom: 2.65625vw;
        width: 4.6875vw;
    }

    .grid-item.small .line-number.text-1 {
        position: absolute;
        left: 8.3vw;
        top: 10.8203vw;
        width: 6.6875vw;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 2.23856vw;
        line-height: 100%;
        text-align: center;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.small .line-number.text-1 span {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 1.3991vw;
        line-height: 100%;
        text-align: center;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.small .line-number.text-2 {
        width: fit-content;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 1.3991vw;
        line-height: 100%;
        text-align: center;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
        position: absolute;
        top: 13.5vw;
        left: 10vw;
    }

    .grid-item.small .line-number.text-3 {
        width: fit-content;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 500;
        font-size: 1.97917vw;
        line-height: 100%;
        text-align: center;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
        position: absolute;
        left: 2.65625vw;
        bottom: 1.14583vw;
    }

    .grid-item.small .line-number.text-3 span {
        right: -1vw;
        bottom: 0.05vw;
        width: fit-content;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 600;
        font-size: 0.9375vw;
        line-height: 100%;
        text-align: center;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.small .line-number.text-4 {
        width: fit-content;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 500;
        font-size: 1.97917vw;
        line-height: 100%;
        text-align: center;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
        position: absolute;
        left: 15.3646vw;
        bottom: 1.14583vw;
    }

    .grid-item.small .line-number.text-4 span {
        right: -1vw;
        bottom: 0.05vw;
        width: fit-content;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 600;
        font-size: 0.9375vw;
        line-height: 100%;
        text-align: center;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.large .line-number.banner-text {
        position: absolute;
        left: 2.08333vw;
        top: 5.52083vw;
        width: 23.6458vw;
        height: 2.91667vw;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 600;
        font-size: 1.66666vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(57, 105, 28);
        background-color: rgb(236, 231, 200);
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
    }

    .grid-item.large .line-number.text-1 {
        position: absolute;
        left: 1.92708vw;
        top: 8.4375vw;
        width: fit-content;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 6.40625vw;
        line-height: 100%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.large .line-number.text-1 span {
        right: -2vw;
        bottom: 0px;
        width: fit-content;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 2.01521vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.large .line-number.text-2 {
        position: absolute;
        left: 6.09375vw;
        bottom: 3.48958vw;
        width: fit-content;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 500;
        font-size: 1.97917vw;
        line-height: 100%;
        text-align: center;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.large .line-number.text-3 {
        position: absolute;
        left: 14.2708vw;
        bottom: 3.17708vw;
        width: fit-content;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 500;
        font-size: 3.33333vw;
        line-height: 100%;
        text-align: center;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.large .line-number.text-3 span {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 500;
        font-size: 1.97917vw;
        line-height: 100%;
        text-align: center;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.large .image-1 {
        width: 7.44792vw;
        position: absolute;
        top: 9.53125vw;
        right: 2.29166vw;
    }

    .grid-item.large .dash-symbol {
        width: 23.6979vw;
        border-top: 3px dashed rgb(236, 231, 200);
        position: absolute;
        left: 1.875vw;
        bottom: 7vw;
    }
}

.everyday-numbers .row-4 {
    .grid-item.large .line-number.banner-text {
        position: absolute;
        left: 1.71875vw;
        top: 5.67708vw;
        width: 14.6354vw;
        height: 2.91667vw;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 600;
        font-size: 1.66666vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(57, 105, 28);
        background-color: rgb(236, 231, 200);
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
    }

    .grid-item.large .line-number.text-1 {
        position: absolute;
        left: 1.25vw;
        top: 8.59375vw;
        width: fit-content;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 6.40625vw;
        line-height: 100%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.large .line-number.text-1 span {
        right: -2vw;
        bottom: 0px;
        width: fit-content;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 2.01521vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.large .line-number.text-2 {
        position: absolute;
        left: 1.71875vw;
        bottom: 3.33333vw;
        width: fit-content;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 500;
        font-size: 1.97917vw;
        line-height: 100%;
        text-align: center;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.large .line-number.text-3 {
        position: absolute;
        left: 7.39583vw;
        bottom: 3.02083vw;
        width: fit-content;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 500;
        font-size: 3.33333vw;
        line-height: 100%;
        text-align: center;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.large .line-number.text-3 span {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 500;
        font-size: 1.97917vw;
        line-height: 100%;
        text-align: center;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.large .image-1 {
        width: 9.89583vw;
        position: absolute;
        top: 5.67708vw;
        left: 16.9271vw;
        border-radius: 5px;
    }

    .grid-item.large .dash-symbol {
        width: 14.375vw;
        border-top: 3px dashed rgb(236, 231, 200);
        position: absolute;
        left: 1.71875vw;
        bottom: 7.03125vw;
    }

    .grid-item.small .line-number.banner-text {
        position: absolute;
        right: 5.15625vw;
        top: 5.67708vw;
        width: 12.9167vw;
        height: 2.91667vw;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 600;
        font-size: 1.66666vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(57, 105, 28);
        background-color: rgb(236, 231, 200);
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
    }

    .grid-item.small .line-number.text-1 {
        position: absolute;
        right: 5.73958vw;
        top: 8.59375vw;
        width: fit-content;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 6.40625vw;
        line-height: 100%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.small .line-number.text-1 span {
        position: absolute;
        right: -1vw;
        bottom: 0px;
        width: fit-content;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 2.01521vw;
        line-height: 140%;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.small .line-number.text-2 {
        position: absolute;
        right: 11.1979vw;
        bottom: 3.33333vw;
        width: fit-content;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 500;
        font-size: 1.97917vw;
        line-height: 100%;
        text-align: center;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.small .line-number.text-3 {
        position: absolute;
        right: 5.51042vw;
        bottom: 3.17708vw;
        width: fit-content;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 600;
        font-size: 3.33333vw;
        line-height: 100%;
        text-align: center;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.small .line-number.text-3 span {
        position: absolute;
        right: -2vw;
        bottom: 0px;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 500;
        font-size: 1.97917vw;
        line-height: 100%;
        text-align: center;
        letter-spacing: 0.02em;
        color: rgb(236, 231, 200);
    }

    .grid-item.small .image-1 {
        width: 7.44792vw;
        position: absolute;
        top: 9.53125vw;
        right: 2.29166vw;
    }

    .grid-item.small .dash-symbol {
        width: 14.375vw;
        border-top: 3px dashed rgb(236, 231, 200);
        position: absolute;
        right: 4.375vw;
        bottom: 7.03125vw;
    }
}

.view-recruitment {
    width: 100%;
	padding-bottom: 6vw;
	
    .banner-container {
        width: 89.58333vw;
        height: 39.6875vw;
        border-radius: 1.25vw;
        margin: 0 auto;
        position: relative;
		opacity:0;
    }

    .banner-container .recruitment-form {
        width: 22.135416vw;
        height: 11.04166vw;
        position: absolute;
        top: 14.32291vw;
        left: 7.8125vw;
    }

    .banner-container .recruitment-form h2 {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 1.66666vw;
        line-height: 120%;
        color: #ECE7C8;
        margin-bottom: 0.83333vw;
		opacity: 0;
    }

    .banner-container .recruitment-form p {
        font-family: var(--font-roboto);
        font-style: normal;
        font-weight: 700;
        font-size: 0.83333vw;
        line-height: 150%;
        color: #ECE7C8;

        transform: translateY(20px);
        opacity: 0;
    }

    .banner-container .recruitment-form .button {
        width: 100%;
        height: 4.895833vw;
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: #ECE7C8;
        color: #39691C;
        border-radius: 9999px;
        text-decoration: none;
        font-family: var(--font-roboto);
        font-style: normal;
        font-weight: 700;
        font-size: 1.145833vw;
        line-height: 150%;
        box-sizing: border-box;
        margin-top: 2.08333vw;
        transition: background-color 0.3s ease, color 0.3s ease;
    }

    .banner-container .recruitment-form .button .arrow svg path {
        transition: stroke 0.3s ease;
    }

    .banner-container .recruitment-form .button .arrow {
        background-color: #39691C;
        color: #ECE7C8;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        right: 1vw;

        width: 3.54166vw;
        height: 3.54166vw;
        transition: background-color 0.3s ease, color 0.3s ease;
    }

    .banner-container .recruitment-form .button:hover {
        background-color: transparent;
        border: 3px solid #ECE7C8;
        color: #ECE7C8;
    }

    .banner-container .recruitment-form .button:hover .arrow svg path {
        stroke: #39691C;
    }

    .banner-container .recruitment-form .button:hover .arrow {
        background-color: #ECE7C8;
        color: #39691C;
    }
}

#recruit-page .banner-image-wrapper {
    display: flex;
    overflow: hidden;
    border-radius: calc(100vw * (8 / 1920));
    width: 52.4479vw;
    position: absolute;
    top: 3.177083vw;
    right: 3.28125vw;
}

#recruit-page .banner-image-wrapper img {
    width: 100%;
    height: auto;
}

@media (max-width: 1024px) {
    #recruit-page .banner-image-wrapper {
        position: relative;
        border-radius: calc(100vw * (8 / 375));
        width: calc(100vw * (315 / 375));
        margin: 0 auto;
        top: unset;
        right: unset;
    }
}

.view-recruitment .banner-container.green-bg.background-animation.animate .recruitment-form p {
    animation: 1s ease 0s 1 normal forwards running slideUpAnimation;
}

.view-recruitment .banner-container.green-bg.background-animation.animate img {
    animation: 1s ease 0s 1 normal forwards running fadeInFromBottom;
}

.company-figures .row-1 .grid-item.small,
.company-figures .row-1 .grid-item.large,
.company-figures .row-2 .grid-item.small,
.company-figures .row-2 .grid-item.large,
.company-figures .row-3 .grid-item.small,
.company-figures .row-3 .grid-item.large,
.company-figures .row-4 .grid-item.small,
.company-figures .row-4 .grid-item.large,
.employee-numbers .row-1 .grid-item.small,
.employee-numbers .row-1 .grid-item.large,
.employee-numbers .row-2 .grid-item.small,
.employee-numbers .row-2 .grid-item.large,
.employee-numbers .row-3 .grid-item.full-width,
.everyday-numbers .row-1 .grid-item.small,
.everyday-numbers .row-1 .grid-item.large,
.everyday-numbers .row-2 .grid-item.full-width,
.everyday-numbers .row-3 .grid-item.small,
.everyday-numbers .row-3 .grid-item.large,
.everyday-numbers .row-4 .grid-item.small,
.everyday-numbers .row-4 .grid-item.large {
    transition: opacity 0.6s, transform 0.6s;
    opacity: 0;
}

.company-figures .row-1 .grid-item.small.animate,
.company-figures .row-1 .grid-item.large.animate,
.company-figures .row-2 .grid-item.small.animate,
.company-figures .row-2 .grid-item.large.animate,
.company-figures .row-3 .grid-item.small.animate,
.company-figures .row-3 .grid-item.large.animate,
.company-figures .row-4 .grid-item.small.animate,
.company-figures .row-4 .grid-item.large.animate,
.employee-numbers .row-1 .grid-item.small.animate,
.employee-numbers .row-1 .grid-item.large.animate,
.employee-numbers .row-2 .grid-item.small.animate,
.employee-numbers .row-2 .grid-item.large.animate,
.employee-numbers .row-3 .grid-item.full-width.animate,
.everyday-numbers .row-1 .grid-item.small.animate,
.everyday-numbers .row-1 .grid-item.large.animate,
.everyday-numbers .row-2 .grid-item.full-width.animate,
.everyday-numbers .row-3 .grid-item.small.animate,
.everyday-numbers .row-3 .grid-item.large.animate,
.everyday-numbers .row-4 .grid-item.small.animate,
.everyday-numbers .row-4 .grid-item.large.animate {
    animation: fadeIn 1s ease-in-out forwards;
}

/* Start CSS Pentagon Form  */
.pentagon-form.recruit-form {
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    /* min-height: 100vh; */
    font-family: sans-serif;
    background-image: url("../img/yellow-color-bg.jpg");


    .container {
        position: relative;
        width: 52.08333vw;
    }

    .pentagon {
        position: relative;
        width: 100%;
        height: fit-content;
        padding-bottom: 80%;
        clip-path: polygon(50% 0%, 100% 20%, 100% 77%, 0% 77%, 0% 20%);
        overflow: hidden;
    }
	
	.pentagon-image.animation.animate{
        animation: fadeInFromRight 1s cubic-bezier(0.52, 0.11, 0.05, 0.89) forwards;
    }

    .pentagon-image {
        position: absolute;
        width: 100%;
		opacity: 0;
    }

    .overlay {
        position: absolute;
        bottom: 3vw;
        right: 13.5vw;
        background-image: url("../img/base-color-bg.jpg");
        border-radius: 1.666666vw;
        padding: 2.3416vw;
        width: 26.1979vw;
        max-width: 26.1979vw;
        height: 23.0729vw;
        text-align: center;
        box-sizing: border-box;
    }

    .overlay h3 {
        display: flex;
        width: 22.2916vw;
        margin: 0 auto 0.72916vw;
        justify-content: center;
        font-family: var(--font-roboto);
        font-style: normal;
        font-weight: 700;
        font-size: 1.145833vw;
        line-height: 150%;
    }

    .overlay h3::before {
        content: "●";
        color: #c73d3d;
        margin-right: 0.3125vw;
    }

    .overlay p {
        font-family: var(--font-roboto);
        font-style: normal;
        font-weight: 700;
        font-size: 0.83333vw;
        line-height: 150%;
        color: #302727;
        margin: 0 auto 1.510416vw;
    }

    .button {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: #346b29;
        color: white;
        border-radius: 9999px;
        width: 22.2916vw;
        height: 4.8958vw;
        text-decoration: none;
        margin: 0 auto 0.8333vw;
        font-family: var(--font-roboto);
        font-style: normal;
        font-weight: 700;
        font-size: 1.14583vw;
        line-height: 150%;
        border: 3px solid #39691C;

        color: #ece7c8;
        box-sizing: border-box;
        transition: background-color 0.3s ease, color 0.3s ease;
    }

    .button .arrow svg path {
        transition: stroke 0.3s ease;
    }

    .button:last-child {
        margin-bottom: 0;
    }

    .arrow {
        background-color: #ece7c8;
        color: #346b29;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        right: 1vw;

        width: 3.54166vw;
        height: 3.54166vw;
        transition: background-color 0.3s ease, color 0.3s ease;
    }

    .button:hover {
        background-color: transparent;
        border: 3px solid #39691C;
        color: #39691C;
    }

    .button:hover .arrow {
        background-color: #39691C;
    }

    .button:hover .arrow svg path {
        stroke: #ece7c8;
    }
}


/* END CSS Pentagon Form  */

#recruit-page .recruit-static-container .title-group {
    position: relative;
    width: 24.9046875vw;
    height: 10.33854vw;
    /* text-align: center; */
    margin: 0 auto 6.536458vw;
}

#recruit-page .recruit-static-container .title-group .title-1 {
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 3.64583vw;
    line-height: 120%;
    text-align: center;
    color: rgb(57, 105, 28);
    opacity: 0;
    transform: matrix(1, 0, -0.14, 0.99, 0, 0);
}

#recruit-page .recruit-static-container .title-group .title-2 {
    font-family: var(--font-noto-serif-jp);
    font-style: italic;
    font-weight: 700;
    font-size: 5.20833vw;
    line-height: 120%;
    text-align: center;
    opacity: 0;
    letter-spacing: 0;
    color: rgb(57, 105, 28);
    position: absolute;
    left: -2vw;
    bottom: 0vw;
    width: 31vw;
}


#recruit-page .recruit-static-container .title-2.animation.animate {
	animation: flying-up-tilt 2.5s ease-in-out forwards;
}

#recruit-page .recruit-static-container .title-1.animation.animate{
    animation: 0.5s ease-in-out 0s 1 normal forwards running fadeIn;
}

#recruit-page .recruit-static-container .title-group .title-1 .extra-text {
    font-family: var(--font-noto-serif-jp);
    font-weight: 700;
    font-size: 2.5vw;
    line-height: 120%;
    text-align: center;
}

#recruit-page .recruit-static-container .title-group .engineer-image {
    position: absolute;
    right: -14vw;
    z-index: 1;
    width: 19.114583vw;
    transition: opacity 0.6s, transform 0.6s;
    opacity: 0;
    transform: translateY(20px);
}

#recruit-page .recruit-static-container .title-group .engineer-image.animation.animate {
    animation: 1s ease 0s 1 normal forwards running slideUpAnimation;
}

/* Modal styles */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.modal {
    background-color: white;
    box-shadow: 0 5px 25px rgba(0, 0, 0, 0.3);
    padding: 4.32291vw 3.0729166vw 2.5vw;
    width: 42.135416vw;
    max-width: 42.135416vw;
    position: relative;
    overflow-y: auto;
    box-sizing: border-box;
    max-height: 45.15625vw !important;
}

.modal::-webkit-scrollbar {
    width: 0.416666vw;
}

.modal::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.3);
    border-radius: 0.52083vw;
}

.modal::-webkit-scrollbar-track {
    background-color: transparent;
}

.modal-close {
    position: absolute;
    top: 0.885416vw;
    right: 3.020833vw;
    background: #ECE7C8;
    border-radius: 0.20833vw;
    cursor: pointer;
    width: 8.697916vw;
    height: 2.552083vw;
    display: flex;
    align-items: center;
    justify-content: center;
    /* background: #ffffff; */
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 1.14583vw;
    line-height: 150%;
    color: #39691C;
}

.modal-content-container {
    display: flex;
    width: 100%;
    gap: 1.25vw;
    flex-direction: column;
    justify-content: center;
}

.modal-overlay .icon-wrapper {
    margin: 0 auto;
    width: fit-content;
}

.modal-overlay .icon-wrapper .modal-icon {
    width: 36.0416666vw;
    height: 18.59375vw;
    background-size: cover;
    background-position: center center;
    object-fit: cover;
}

.modal-overlay .modal-title {
    /* top: 19vw; */
    position: absolute;
    top: 17.010416vw;
    left: 3.072916vw;
    width: 20.85416vw;
    height: 2.96875vw;
    background-color: #39691C;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-noto-sans-jp);
    font-style: normal;
    font-weight: 500;
    font-size: 1.25vw;
    line-height: 150%;
    color: #ECE7C8;
}

.modal-overlay .QA-group {
    width: 36.0416666vw;
    display: flex;
    flex-direction: column;
    gap: 1.66666vw;
}

.modal-overlay .QA-content {
    display: flex;
    flex-direction: column;
    gap: 0.20833vw;
}

.modal-overlay .title-questtion {
    width: fit-content;
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0.260416vw 0.5208333vw;
    border-bottom: 1px solid #ECE7C8;
    box-sizing: border-box;
    font-family: var(--font-noto-sans-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 0.9375vw;
    line-height: 150%;
    color: #ECE7C8;
}

.modal-overlay .answer-questtion {
    font-family: var(--font-noto-sans-jp);
    font-style: normal;
    font-weight: 500;
    font-size: 0.833333vw;
    line-height: 150%;
    color: #ECE7C8;
}

@media (max-width: 1025px) {
    .modal-icon {
        display: flex;
        position: absolute;
        bottom: 2vw;
        right: 3vw;
        width: 3.2vw;
        height: 3.46666vw;
    }
}

/* End Modal styles */

#recruit-page .desired-image {
    display: flex;
}

#recruit-page .desired-image-sp {
    display: none;
}

.pc-mode {
    display: flex !important;
}

.sp-mode {
    display: none !important;
}

.pc-mode-inline {
    display: inline !important;
}

.sp-mode-inline {
    display: none !important;
}

.sp-mode-block{
    display: none !important;
}

.pc-mode-block{
    display: block !important;
}

@media (max-width: 1025px) {
    .pc-mode {
        display: none !important;
    }

    .sp-mode {
        display: flex !important;
    }

    .pc-mode-inline {
        display: none !important;
    }

    .sp-mode-inline {
        display: inline !important;
    }

    .sp-mode-block{
        display: block !important;
    }
    
    .pc-mode-block{
        display: none !important;
    }

    .first-banner {
        background-image: url("../img/yellow-color-bg.jpg");
        height: 132.2666vw;
        padding: 0;
        box-sizing: border-box;
    }

    .first-banner .banner-image {
        width: 89.5833vw;
        height: 33.9062vw;
        border-radius: 1.5vw;
        margin: auto;
        background-size: cover;
        background-position: center center;
        object-fit: cover;
    }

    .first-banner .banner-button {
        background-image: url("../img/green-color-bg.jpg");
        position: absolute;
        width: 89.066666vw;
        height: 23.46666vw;
        border-radius: 6.4vw;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 8vw;
        line-height: 120%;
        text-align: center;

        color: #ECE7C8;
        display: flex;
        justify-content: center;
        align-items: center;
        top: 32vw;
        left: 5.6vw;
		opacity: 0;
    }

    .green-bg {
        background-image: url("../img/green-color-bg.jpg");
    }

    .base-bg {
        background-image: url("../img/base-color-bg.jpg");
    }

    .gray-bg {
        background-image: url("../img/gray-color-bg.jpg");
    }

    .red-bg {
        background-image: url("../img/red-color-bg.jpg");
    }

    .yellow-bg {
        background-image: url("../img/yellow-color-bg.jpg");
    }

    .first-banner.recruit-banner .banner-image {
        background-image: url("../img/recruit/first-banner-sp.webp")!important;
        border-radius: 0;
        width: 100%;
        height: 100.3%;
        background-size: cover;
        background-position: bottom;
    }

    #recruit-page .desired-profile {
        max-width: 100vw;
        height: 281.9333vw;
        background-image: url("../img/green-color-bg.jpg");
        position: relative;
        padding-top: 16vw;
    }

    #recruit-page {
        background-image: url("../img/yellow-color-bg.jpg");
    }

    #recruit-page .desired-profile .main-content {
        width: 84vw;
        height: fit-content;
        margin: 0 auto;
        position: unset;
        bottom: 3.48958vw;
        right: 0px;
        display: flex;
        flex-direction: column;
        justify-content: unset;
        gap: 5.333333vw;
    }

    #recruit-page .text-container {
        width: fit-content;
        display: flex;
        flex-direction: column;
        gap: 5.333333vw;
        margin: 0 auto;
    }

    #recruit-page .title-label {
        width: 20.533333vw;
        height: 62.6666vw;
        background-blend-mode: multiply, normal;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 8.53333vw;
        line-height: 100%;
        font-feature-settings: 'vert' on;
        text-align: center;
        color: #39691C;
        padding: 5.866666vw;
        box-sizing: border-box;
        border-radius: 2.13333vw;
        margin: 0 auto;
    }

    #recruit-page .detail-group {
        display: flex;
        gap: 4.26666vw;
        transform: translateY(20px);
        opacity: 0;
    }

    #recruit-page .main-content .detail-group.animate {
        animation: 1s ease 0s 1 normal forwards running slideUpAnimation;
    }

    #recruit-page .detail-group span {
        writing-mode: vertical-rl;
        text-orientation: upright;
        white-space: nowrap;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 5.86666vw;
        line-height: 100%;
        font-feature-settings: 'vert' on;

        /* base */
        color: #ECE7C8;
    }

    #recruit-page .desired-image {
        border-radius: 8px 0px 0px 0.416666vw;
        display: none;
    }

    #recruit-page .desired-image-wrapper {
        border-radius: calc(100vw * (8 / 375));
    }

    #recruit-page .desired-image-sp {
        width: 100%;
        height: auto;
        display: flex;
    }

    #recruit-page .container {
        margin: 15.4666vw auto;
    }

    #recruit-page h1 {
        width: 45vw;
        margin: 0 auto;
        margin-bottom: 13.3333vw;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 6.666666vw;
        line-height: 120%;
        text-align: center;

        color: #39691C;
    }

    #recruit-page .staff-grid {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 16vw;
        flex-direction: column;
        padding: 0 8vw 26.66666vw;
		opacity: 1;
    }

    #recruit-page .staff-card {
        width: 100%;
        height: 113.86666vw;
        position: relative;
		opacity: 0;
		transition: opacity 0.6s, transform 0.6s;
        transform: translateY(40px);
    }
	
	.staff-card.modal-item.group-staff-1.step-animation.animate,
    .staff-card.modal-item.group-staff-2.step-animation.animate,
    .staff-card.modal-item.group-staff-3.step-animation.animate,
    .staff-card.modal-item.group-staff-4.step-animation.animate,
    .staff-card.modal-item.group-staff-5.step-animation.animate,
    .timeline-item.item-1.step-animation.animate,
    .timeline-item.item-2.step-animation.animate,
    .timeline-item.item-3.step-animation.animate,
    .timeline-item.item-4.step-animation.animate,
    .timeline-item.item-5.step-animation.animate,
    .timeline-item.item-6.step-animation.animate,
    .timeline-item.item-7.step-animation.animate,
    .timeline-item.item-8.step-animation.animate,
    .timeline-item.item-9.step-animation.animate,
    .timeline-item.item-10.step-animation.animate{
        animation: 1s ease 0s 1 normal forwards running slideUpAnimation;
    }

    /* #recruit-page .staff-image {
        width: 100%;
        height: 93.6vw;
        object-fit: cover;
        border-radius: 2.13333vw;
        box-shadow: rgba(0, 0, 0, 0.1) 0px 0.208333vw 0.41666vw;
    } */
	    #recruit-page .staff-image {
		  width: 100%;
		  height: auto; 
		  border-radius: 2.13333vw;
		}

		.staff-wrapper {
		  width: 84vw;
		  height: auto;
          line-height: 0;
		  overflow: hidden;
		  border-radius: 2.13333vw;
		  box-shadow: rgba(0, 0, 0, 0.1) 0 0.208333vw 0.41666vw;
		  position: relative;
		}

    #recruit-page .more-button {
        position: absolute;
        top: 67.666667vw;
        left: 25.5vw;
        background-color: rgb(57, 105, 28);
        padding: 0.3125vw 0px;
        border-radius: 50%;
        text-decoration: none;
        display: flex;
		gap: 1vw;
        align-items: center;
        justify-content: center;
        width: 37.8666vw;
        height: 23.2vw;
        box-sizing: border-box;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 4.2666666vw;
        line-height: 120%;
        /* or 19px */

        /* base */
        color: #ECE7C8;
    }
	
	#recruit-page .more-button .arrow {
        color: #ECE7C8;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        right: 0;
        width: 3.54166vw;
        height: 3.54166vw;
        transition: background-color 0.3s ease, color 0.3s ease;
    }

    #recruit-page .more-button:hover {
        background-color: #ECE7C8;
        border: 3px solid #ECE7C8;
        color: #39691C;
    }
    
    #recruit-page .more-button:hover .arrow svg path {
        stroke: #39691C;
    }
    
    .banner-container .recruitment-form .button:hover .arrow {
        background-color: #ECE7C8;
        color: #39691C;
    }

    #recruit-page .staff-name {
        font-family: var(--font-noto-sans-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 5.866666vw;
        line-height: 150%;
        /* or 33px */

        /* main */
        color: #39691C;
		margin-top: 2.6666vw;
    }

    #recruit-page .staff-details {
        font-family: var(--font-noto-sans-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 4.8vw;
        line-height: 150%;
        /* or 27px */

        /* main */
        color: #39691C;
    }

    #recruit-page .schedule-container {
        padding: 24vw 0px 0;
    }

    #recruit-page .daily-schedule-container {
        width: 100%;
        margin: 0;
        padding: 0 8vw;
        box-sizing: border-box;
    }

    #recruit-page .daily-schedule-container .title {
        width: 40vw;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 8.533333vw;
        line-height: 120%;
        /* or 38px */
        text-align: center;

        /* main */
        color: #39691C;
        margin: 0 auto 10.66666vw;
    }

    #recruit-page .timeline {
        width: 84vw;
        display: flex;
        justify-content: unset;
        position: relative;
        transform: unset;
        opacity: 1;
    }

    .timeline.sp-mode .timeline-column {
        width: 100%;
    }

    #recruit-page .timeline.animate {
        animation: 1s ease 0s 1 normal forwards running slideUpAnimation;
    }



    #recruit-page .timeline-item {
        width: 100%;
        display: flex;
        align-items: center;
        margin-bottom: 5.33333vw;
        position: relative;
        z-index: 2;
		transition: opacity 0.6s, transform 0.6s;
        transform: translateY(40px);
    }

    #recruit-page .timeline-circle {
        width: 26.66666vw;
        height: 26.66666vw;
        background-color: #39691C;
        border-radius: 50%;
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        z-index: 2;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 8vw;
        line-height: 150%;
        /* identical to box height, or 45px */

        /* base */
        color: #ECE7C8;
    }

    #recruit-page .timeline-text {
        width: 52vw;
        font-family: var(--font-noto-sans-jp);
        font-style: normal;
        font-weight: 500;
        font-size: 4.8vw;
        line-height: 150%;
        color: #39691C;
        margin-left: 5.33333vw;
        white-space: unset;
    }

    #recruit-page .timeline-column-left .timeline-item {
        flex-direction: unset;
		opacity: 0;
    }

    #recruit-page .timeline-column-right .timeline-text {
        margin-left: 1.61458vw;
        text-align: right;
    }

    #recruit-page .timeline-line {
        position: absolute;
        width: 2px;
        height: 310vw;
        background-color: rgb(47, 106, 33);
        top: 2.0833vw;
        bottom: 2.0833vw;
        left: 13.38541vw;
        z-index: 1;
    }

    #recruit-page .timeline-column-right .timeline-line {
        left: auto;
        right: 11.3854vw;
    }

    #recruit-page .special-connection {
        position: absolute;
        border-bottom: 2px dashed rgb(47, 106, 33);
        border-right: 2px dashed rgb(47, 106, 33);
        width: 15.0208vw;
        height: 30.5vw;
        top: 3vw;
        left: 14.5vw;
        z-index: 1;
    }

    #recruit-page .special-connection-horizontal {
        position: absolute;
        border-top: 2px dashed rgb(47, 106, 33);
        width: 2.25vw;
        top: 3vw;
        left: 29.5vw;
        z-index: 1;
    }

    #recruit-page .divide-line {
        position: relative;
        height: 1px;
        background-color: rgb(57, 105, 28);
        width: 80vw;
        margin-top: 4.94792vw;
		margin-bottom: 16vw;
    }

    #recruit-page .recruit-static-container .divide-line {
        position: relative;
        height: 1px;
        background-color: rgb(57, 105, 28);
        width: 100%;
        margin: 0 0 16vw;
    }

    #recruit-page .recruit-static-container .divide-line::before,
    #recruit-page .recruit-static-container .divide-line::after {
        display: none;
    }


    #recruit-page .divide-line::before,
    #recruit-page .divide-line::after {
        content: "";
        position: absolute;
        width: 0.41666vw;
        height: 0.41666vw;
        background-color: rgb(57, 105, 28);
        border-radius: 50%;
    }

    #recruit-page .divide-line::before {
        left: -0.20833vw;
        top: -0.15625vw;
    }

    #recruit-page .divide-line::after {
        right: -0.20833vw;
        top: -0.15625vw;
    }

    #recruit-page .recruit-step {
        height: fit-content;
        padding: 18.958333vw 0 14.6666vw;
        display: flex;
        flex-direction: column;
        row-gap: 5vw;
        justify-content: center;
        align-items: center;
        background-color: rgb(247, 247, 247);
        background-image: url("../img/yellow-color-bg.jpg");
    }

    #recruit-page .recruit-step .title-group {
        position: relative;
        width: 67vw;
        height: 62vw;
        text-align: center;
        left: -4.90625vw;
    }

    #recruit-page .three-step-image {
        width: 56.5333vw;
        margin-top: 4vw;
		margin-bottom: 28vw;
		opacity: 0;
    }

    #recruit-page .main-title {
        width: 53.3333vw;
        height: 14.9333vw;
        padding: 0.52083vw 1.0416vw;
        border-radius: 0.416666vw;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-top: 0;
        border-radius: 2.133333vw;
    }

    #recruit-page .main-title h1 {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 8vw;
        line-height: 120%;
        align-items: center;
        justify-content: center;
        color: rgb(236, 231, 200);
        margin: 0px;
    }

    #recruit-page .recruit-step .title-group .title-1 {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 16vw;
        line-height: 120%;
        text-align: center;
        color: rgb(57, 105, 28);
        opacity: 0;
        transform: matrix(1, 0, -0.14, 0.99, 0, 0);
    }

    .extra-text.sp-mode-inline {
        font-family: var(--font-noto-serif-jp);
        font-weight: 700;
        font-size: 10.666vw;
        line-height: 100%;
        text-align: center;
        color: rgb(57, 105, 28);
        position: relative;
        left: 8vw;
    }

    #recruit-page .recruit-step .title-1.animation.animate,
    #recruit-page .title-2.animation.animate {
        animation: 2.5s ease-in-out 0s 1 normal forwards running flying-leaves;
    }

    #recruit-page .recruit-step .title-group .title-1 .extra-text {
        font-family: var(--font-noto-serif-jp);
        font-weight: 700;
        font-size: 10.666vw;
        line-height: 100%;
        text-align: center;
    }

    #recruit-page .recruit-step .title-group .title-2 {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 16vw;
        line-height: 100%;
        letter-spacing: -0.1em;
        color: #39691C;
        /* transform: matrix(0.99, -0.14, -0.17, 0.98, 0, 0); */
        position: absolute;
        left: 13vw;
        bottom: 0vw;
        width: 68vw;
    }

    #recruit-page .recruit-step .step-group {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-end;
        margin-right: 0;
        width: 84vw;
        gap: 8vw;
    }

    #recruit-page .recruit-step .step-container {
        width: 100%;
        height: fit-content;
        position: relative;
    }

    #recruit-page .recruit-step .header-block {
        display: none;
    }

    #recruit-page .recruit-step .step-container .container-1 {
        height: fit-content;
    }

    #recruit-page .recruit-step .step-container .container-2 {
        height: fit-content;
    }

    #recruit-page .recruit-step .step-container .container-3 {
        height: fit-content;
    }
	
	#recruit-page .recruit-step .step-container .single-step-icon{
        display: flex;
        width: 100%;
    }

    #recruit-page .recruit-step .step-container .single-step-icon img{
        margin: 0 auto;
        width: 32.2666vw;
    }

    #recruit-page .recruit-step .content-block {
        margin-top: 8vw;
        border-top: none;
        border-left: none;
        padding: 1.61458vw 0;
        box-sizing: border-box;
    }

    #recruit-page .recruit-step .content-block .description {
        margin-top: 0.8333vw;
        font-family: var(--font-noto-sans-jp);
        font-style: normal;
        font-weight: 500;
        font-size: 4.26666vw;
        line-height: 150%;
        color: rgb(57, 105, 28);
        position: relative;
    }

    #recruit-page .recruit-step .content-block .title {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 8.5333vw;
        line-height: 120%;
        margin: 0px;
        text-align: center;
        color: rgb(57, 105, 28);
        margin-bottom: 8vw;
    }

    #recruit-page .recruit-step .standing-arrow {
        position: absolute;
        right: 22.25vw;
        width: 5.72916vw;
        height: 29.9479vw;
        display: none;
    }

    #recruit-page .recruit-step .step-card {
        transition: opacity 0.6s, transform 0.6s;
        opacity: 0;
        height: fit-content;
    }

    #recruit-page .recruit-step .step-card.animate {
        animation: fadeIn 1s ease-in-out forwards;
    }

    #recruit-page .banner-2,
    #recruit-page .banner-3 {}

    #recruit-page .banner-2 img,
    #recruit-page .banner-3 img {
        width: 100%;
        height: 108.7142vw;
    }

    .recruit-static-container {
        width: 100%;
        font-family: var(--font-noto-sans-jp);
        margin: 0px auto;
        padding: 32vw 8vw 0;
        color: white;
        box-sizing: border-box;
    }

    .full-width-item {
        grid-column: span 2;
        text-align: center;
    }

    .company-overview {
        text-align: center;
    }

    .tab-container {
        display: flex;
        justify-content: unset;
        /* z-index: 2; */
        flex-direction: column;
        gap: 3.2vw;
    }

    .tab {
        padding: 0.52083vw 0.78125vw;
        cursor: pointer;
        border: 5px solid rgb(45, 112, 28);
        color: rgb(45, 112, 28);
        border-radius: 0.416666vw;
        width: 100%;
        height: 36vw;
        box-sizing: border-box;
        display: flex;
        justify-content: center;
        align-items: center;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 6.4vw;
        line-height: 120%;
        color: #39691C;
        flex-direction: column;
        gap: 5.333333vw;
		border-radius: 2.133333vw;
        z-index: 2;
    }

    .tab-circle {
        width: 8vw;
        height: 8vw;
    }

    .section-title {
        background-color: transparent;
        padding: 0.52083vw;
        margin-bottom: 2.66666vw;
        border: 5px solid rgb(57, 105, 28);
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 6.4vw;
        line-height: 120%;
        display: flex;
        display: flex;
        justify-content: center;
        align-items: center;
        color: #39691C;
        width: 100%;
        height: 19.46666vw;
        margin-top: 29.3333vw;
        box-sizing: border-box;
		border-radius: 2.133333vw;
    }

    .grid-container {
        display: flex;
        flex-direction: column;
        gap: 2.66666vw;
        padding-bottom: 13.3333333vw;
    }

    .grid-row {
        display: grid;
        grid-template-columns: repeat(1, auto);
        gap: 2.66666vw;
    }

    .grid-row .full-width {
        grid-column: span 2;
        width: 100%;
        min-height: fit-content;
        padding: 21.33333vw 0 18.666666vw;
    }

    .grid-item.small {
        width: 100%;
        min-height: fit-content;
        padding: 21.33333vw 0 18.666666vw;
    }

    .grid-item.large {
        width: 100%;
        min-height: fit-content;
        padding: 21.33333vw 0 18.666666vw;
    }

    .grid-item {
        background-color: rgb(57, 105, 28);
        padding: 1.92708vw 0px 0px;
        display: flex;
        flex-direction: column;
        text-align: center;
        position: relative;
        transition: 0.3s;
        box-sizing: border-box;
    }

    .grid-item.left-item {
        min-height: 23.2812vw;
        width: 20vw;
    }

    .grid-item.right-item {
        min-height: 23.2812vw;
        width: 20vw;
    }

    .company-figures .title,
    .employee-numbers .title,
    .everyday-numbers .title {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 600;
        font-size: 8vw;
        line-height: 140%;
        /* identical to box height, or 42px */
        text-align: center;
        letter-spacing: 0.02em;

        /* base */
        color: #ECE7C8;
        margin: 0 auto;
        margin-bottom: 13.33333vw;
        width: fit-content;
    }

    .grid-row.row-1.everyday .large .title,
    .grid-row.row-2.employee .title,
    .grid-row.row-2.everyday .title,
    .grid-row.row-4.everyday .small .title {
        width: 49vw;
    }

    .grid-row.row-1.everyday .small .title,
    .grid-row.row-4.everyday .large .title {
        width: 68vw;
    }

    .company-figures .content-item {
        display: flex;
        flex-direction: column;
        margin-bottom: 0;
    }

    .company-figures .row-1 {
        .grid-item.small {
            row-gap: 1.5vw;
        }

        .line-number {
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 18.66666vw;
            line-height: 112%;
            letter-spacing: 0.02em;
            color: #ECE7C8;
            width: fit-content;
            position: absolute;
            left: 4vw;
        }

        .grid-item.small .line-number.upper-text {
            width: fit-content;
            position: relative;
            left: 4vw;
            margin: 0 auto;
        }

        .grid-item.small .line-number.lower-text {
            width: fit-content;
            position: relative;
            left: 2vw;
            bottom: 0;
            margin: 0 auto;
        }

        .grid-item.small .line-number .symbol {
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 5.333333vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: #ECE7C8;
            position: relative;
            bottom: 0;
            right: 3vw;
        }

        .grid-item.small .image {
            position: relative;
            bottom: 0;
            right: 0;
            margin: 0 auto;
            width: 18.66666vw;
            background-position: center center;
            object-fit: cover;
            margin-top: 13.33333vw;
        }

        .grid-item.large .line-number.upper-text {
            width: fit-content;
            position: relative;
            left: 0;
            top: -5.333333vw;
            margin: 0 auto;
        }

        .grid-item.large .line-number.lower-text {
            width: fit-content;
            position: absolute;
            left: 7vw;
            bottom: 4.7vw;
        }

        .grid-item.large .line-number .symbol {
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 5.33333vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: #ECE7C8;
            position: relative;
            bottom: 0;
            right: 3vw;
        }

        .grid-item.large .image {
            position: relative;
            bottom: 0;
            right: 0;
            margin: 8vw auto 0;
            width: 26.6666vw;
            background-position: center center;
            object-fit: cover;
        }
    }

    .company-figures .row-2 {
        .grid-item.small {
            row-gap: 1.5vw;
        }

        .line-number {
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 500;
            font-size: 10.66666vw;
            line-height: 100%;
            text-align: center;
            letter-spacing: 0.02em;
            color: #ECE7C8;
            width: fit-content;
            position: absolute;
            left: 4vw;
        }

        .grid-item.small .line-number.upper-text {
            position: relative;
            left: 0;
            top: 0;
            margin: 0 auto;
            display: flex;
            flex-direction: row;
            justify-content: center;
            align-items: center;
            padding: 0.520833vw;
            gap: 0.520833vw;
            width: 53.33333vw;
            height: 10.66666vw;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 600;
            font-size: 6.6666vw;
            line-height: 140%;
            /* identical to box height, or 35px */
            letter-spacing: 0.02em;

            /* main */
            color: #39691C;
            background: rgb(236, 231, 200);
            border-radius: 2px;
            box-sizing: border-box;
        }

        .grid-item.small .line-number.lower-text {
            width: fit-content;
            position: relative;
            left: 1vw;
            bottom: 0vw;
            margin: 4vw auto 0;
            font-size: 18.66666vw;
        }

        .grid-item.small .line-number .symbol {
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 5.33333vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
            position: relative;
            bottom: 0;
            right: 4vw;
        }

        .grid-item.small .image {
            position: relative;
            bottom: 0;
            right: 0;
            width: 18.66666vw;
            background-position: center center;
            object-fit: cover;
            margin: 13.3333vw auto 0;
        }

        .grid-item.large .line-number.upper-text {
            width: fit-content;
            position: absolute;
            left: 30vw;
            bottom: 71vw;
        }

        .grid-item.large .line-number.lower-text {
            width: fit-content;
            position: absolute;
            left: 23.5vw;
            bottom: 57.5vw;
            font-size: 10.66666vw !important;
        }

        .grid-item.large .line-number .symbol {
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 600;
            font-size: 5.33333vw;
            line-height: 100%;
            text-align: center;
            letter-spacing: 0.02em;
            position: absolute;
            bottom: 0.2vw;
        }

        .grid-item.large .line-number.lower-text.symbol {
            font-size: 1.9791vw;
        }

        .grid-item.large .image {
            position: relative;
            bottom: 0;
            right: 0;
            width: 26.66666vw;
            margin: 0 auto;
            background-position: center center;
            object-fit: cover;
        }

        .grid-item.large .image-1 {
            position: relative;
            left: 0;
            bottom: 0;
            width: 68vw;
            height: 41.8666vw;
            margin: 0 auto 41.066666vw;
        }

        .grid-item.large .dash-symbol {
            z-index: 2;
            position: absolute;
            width: 8.26666vw;
            height: 32vw;
            border-right: 3px dashed rgb(236, 231, 200);
            border-bottom: 3px dashed rgb(236, 231, 200);
            bottom: 68.33333vw;
            left: 51vw;
        }
    }

    .company-figures .row-3 {
        .grid-item.small {
            row-gap: 2.5vw;
        }

        .line-number {
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 18.6666vw;
            line-height: 100%;
            letter-spacing: 0.02em;

            color: #ECE7C8;
            width: fit-content;
            position: absolute;
            left: 4vw;
        }

        .grid-item.small .line-number.upper-text {
            position: absolute;
            left: 9.33333vw;
            top: 46vw;
            display: flex;
            flex-direction: row;
            width: 14vw;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 600;
            font-size: 6.66666vw;
            line-height: 125%;
            /* identical to box height, or 25px */
            text-align: center;
            letter-spacing: 0.02em;

            /* base */
            color: #ECE7C8;
        }

        .grid-item.small .dash-symbol.upper-symbol {
            width: 4vw;
            height: 6vw;
            border-top: 3px dashed rgb(236, 231, 200);
            border-right: 3px dashed rgb(236, 231, 200);
            position: absolute;
            left: 26vw;
            top: 55.5vw;
            transform: skew(28deg);
            transform-origin: left top;
        }

        .grid-item.small .dash-symbol.lower-text {
            position: absolute;
            right: 9.066666vw;
            bottom: 14.6666vw;
            display: flex;
            flex-direction: row;
            width: 21vw;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 600;
            font-size: 6.666666vw;
            line-height: 125%;
            text-align: center;
            letter-spacing: 0.02em;
            color: #ECE7C8;
        }

        .grid-item.small .dash-symbol.lower-symbol {
            width: 5vw;
            height: 4vw;
            border-top: 3px dashed rgb(236, 231, 200);
            border-right: 3px dashed rgb(236, 231, 200);
            position: absolute;
            left: 56vw;
            top: 99vw;
            transform: skew(35deg);
            transform-origin: left top;
        }

        .grid-item.small .line-number.extra-text {
            width: fit-content;
            position: absolute;
            left: 29.8vw;
            bottom: 44.5vw;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 18.666666vw;
            line-height: 100%;
            /* identical to box height, or 70px */
            letter-spacing: 0.02em;

            /* base */
            color: #ECE7C8;
        }

        .grid-item.small .image-1 {
            width: 49.33333vw;
            margin: 10.6666vw auto 9.6666vw;
        }

        .grid-item.large .line-number.upper-text {
            width: fit-content;
            position: relative;
            left: 1.27083vw;
            top: 0;
            font-size: 18.66666vw;
            margin: 0 auto 13.8666vw;
        }

        .grid-item.large .line-number.lower-text {
            width: fit-content;
            position: relative;
            left: 1.27083vw;
            bottom: 12.3854vw;
            font-size: 18.66666vw;
            margin: 0 auto;
        }

        .grid-item.large .line-number .symbol {
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            line-height: 140%;
            font-size: 8vw;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
            position: relative;
            bottom: 0px;
            right: 3vw;
        }

        .grid-item.large .line-number.lower-text.symbol {
            font-size: 1.9791vw;
        }

        .grid-item.large .image {
            position: relative;
            bottom: 0;
            right: 0;
            margin: 0.33333vw auto 0;
            width: 26.6666vw;
            background-position: center center;
            object-fit: cover;
        }

        .grid-item.large .image-1 {
            position: absolute;
            left: 6vw;
            bottom: 8vw;
            width: 15.4167vw;
        }

        .grid-item.large .dash-symbol {
            z-index: 2;
            position: absolute;
            width: 1.875vw;
            height: 8.0729vw;
            border-right: 3px dashed rgb(236, 231, 200);
            border-bottom: 3px dashed rgb(236, 231, 200);
            bottom: 3.7vw;
            left: 15vw;
        }

        .grid-item.large .extra-symbol {
            position: relative;
            width: 8vw;
            height: 11.2vw;
            left: 34vw;
            top: -12vw;
            transform: rotate(90deg);
        }
    }

    .company-figures .row-4 {
        .grid-item.small {
            row-gap: 2.5vw;
        }

        .grid-item.small .line-number.left-text {
            position: absolute;
            left: 15.77083vw;
            top: 45.86666vw;
            display: flex;
            flex-direction: row;
            text-align: left;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 18.66666vw;
            line-height: 100%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
        }

        .grid-item.small .line-number.right-text {
            position: absolute;
            right: 14.66666vw;
            top: 45.86666vw;
            display: flex;
            flex-direction: row;
            text-align: left;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 18.66666vw;
            line-height: 100%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
        }

        .grid-item.small .line-number.right-text .symbol {
            position: relative;
            right: -1.7vw;
            bottom: -9vw;
            display: flex;
            flex-direction: row;
            width: 18vw;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 500;
            font-size: 8vw;
            line-height: 114%;
            text-align: end;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
        }

        .grid-item.small .extra-symbol {
            position: absolute;
            left: 29.27083vw;
            top: 53.5vw;
            width: 8vw;
            height: 11.2vw;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 2.01521vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
        }

        .grid-item.small .image-1 {
            position: relative;
            left: 0;
            bottom: 0;
            width: 26.66666vw;
            height: auto;
            z-index: 3;
            margin: 32vw auto 0;
        }

        .grid-item.large .line-number.text-1 {
            width: fit-content;
            position: absolute;
            right: 6vw;
            bottom: 90.38666vw;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 5.3333vw;
            line-height: 140%;
            /* identical to box height, or 28px */
            letter-spacing: 0.02em;

            /* base */
            color: #ECE7C8;
        }

        .grid-item.large .line-number.text-1 .symbol {
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 4.26666vw;
            line-height: 140%;
            /* or 22px */
            letter-spacing: 0.02em;

            /* base */
            color: #ECE7C8;
            position: relative;
            bottom: 0;
            left: 0vw;
        }

        .grid-item.large .dash-symbol.symbol-1 {
            z-index: 2;
            position: absolute;
            width: 10.466666vw;
            height: 11.466666vw;
            border-left: 3px dashed rgb(236, 231, 200);
            border-top: 3px dashed rgb(236, 231, 200);
            bottom: 82.7vw;
            left: 40vw;
            transform: skew(344deg);
            transform-origin: left top;
        }

        .grid-item.large .line-number.text-2 {
            width: fit-content;
            position: absolute;
            right: 8vw;
            bottom: 76.2vw;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 5.3333vw;
            line-height: 140%;
            /* identical to box height, or 28px */
            letter-spacing: 0.02em;

            /* base */
            color: #ECE7C8;
        }

        .grid-item.large .line-number.text-2 .symbol {
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 4.26666vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
            position: absolute;
            bottom: 0;
        }

        .grid-item.large .dash-symbol.symbol-2 {
            z-index: 2;
            position: absolute;
            width: 8vw;
            border-bottom: 3px dashed rgb(236, 231, 200);
            bottom: 78.7vw;
            left: 46vw;
        }

        .grid-item.large .line-number.text-3 {
            width: 17vw;
            position: absolute;
            right: 8vw;
            bottom: 54.1979vw;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 5.3333vw;
            line-height: 140%;
            /* identical to box height, or 28px */
            letter-spacing: 0.02em;

            /* base */
            color: #ECE7C8;
        }

        .grid-item.large .line-number.text-3 .symbol {
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 4.26666vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
            position: absolute;
            bottom: 0;
        }

        .grid-item.large .dash-symbol.symbol-3 {
            z-index: 2;
            position: absolute;
            width: 10.3645vw;
            height: 3.729167vw;
            border-right: 3px dashed rgb(236, 231, 200);
            border-top: 3px dashed rgb(236, 231, 200);
            bottom: 68.7vw;
            left: 50vw;
            transform: skew(28deg);
            transform-origin: left top;
        }

        .grid-item.large .line-number.text-4 {
            width: 25vw;
            position: absolute;
            right: 6vw;
            bottom: 23.5vw;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 8vw;
            line-height: 100%;
            /* identical to box height, or 28px */
            letter-spacing: 0.02em;

            /* base */
            color: #ECE7C8;
            z-index: 3;
        }

        .grid-item.large .line-number.text-4 span {
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 16vw;
            line-height: 100%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
        }

        .grid-item.large .line-number.text-4 .symbol {
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 5.3333vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
            position: absolute;
            bottom: 0.4vw;
            right: -1.2vw;
        }

        .grid-item.large .dash-symbol.symbol-4 {
            z-index: 2;
            position: absolute;
            width: 14.3645vw;
            height: 3.729167vw;
            border-right: 3px dashed rgb(236, 231, 200);
            border-top: 3px dashed rgb(236, 231, 200);
            bottom: 49vw;
            left: 47.5vw;
            transform: skew(30deg);
            transform-origin: left top;
        }

        .grid-item.large .image {
            position: absolute;
            bottom: 7vw;
            right: 2.5vw;
            width: 11.4583vw;
            background-position: center center;
            object-fit: cover;
        }

        .grid-item.large .image-1 {
            position: relative;
            left: 5.6vw;
            bottom: 0;
            width: 50.4vw;
            margin: 8vw 0 19vw;
        }

        .grid-item.large .image-2 {
            position: absolute;
            left: 16vw;
            bottom: 44.5vw;
            width: 27.7333vw;
            height: 17.0666vw;
            z-index: 3;
        }
    }

    .employee-numbers .row-1 {
        .grid-item.small {
            row-gap: 1.5vw;
        }

        .grid-item.small .line-number.banner-text {
            position: relative;
            left: 0;
            top: 0;
            display: flex;
            flex-direction: row;
            justify-content: center;
            align-items: center;
            padding: 0.520833vw;
            gap: 0.520833vw;
            width: 53.33333vw;
            height: 10.66666vw;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 600;
            font-size: 6.666666vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: rgb(57, 105, 28);
            background: rgb(236, 231, 200);
            border-radius: 2px;
            box-sizing: border-box;
            margin: 0 auto;
        }

        .grid-item.small .line-number.upper-text {
            width: fit-content;
            position: relative;
            left: 0;
            bottom: -3vw;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 18.66666vw;
            line-height: 100%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
            margin: 0 auto;
        }

        .grid-item.small .line-number.upper-text .symbol {
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 5.3333vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
            position: absolute;
            bottom: 0;
        }

        .grid-item.small .line-number.lower-text {
            width: fit-content;
            position: relative;
            left: 13vw;
            bottom: 7vw;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 600;
            font-size: 6.66666vw;
            line-height: 100%;
            text-align: center;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
        }

        .grid-item.small .line-number.lower-text span {
            width: fit-content;
            position: absolute;
            left: 21.7vw;
            bottom: -3.5vw;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 600;
            font-size: 16vw;
            line-height: 100%;
            text-align: center;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
        }

        .grid-item.small .line-number.lower-text .symbol {
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 4.26666vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
            position: absolute;
            left: 54.7vw;
            bottom: -4vw;
        }

        .grid-item.small .dash-symbol {
            width: 53.33333vw;
            border-top: 3px dashed rgb(236, 231, 200);
            position: relative;
            left: 0;
            bottom: -8vw;
            margin: 0 auto 26vw;
        }

        .grid-item.small .image {
            position: absolute;
            bottom: 1vw;
            right: 8vw;
            width: 7.5vw;
            background-position: center center;
            object-fit: cover;
        }

        .grid-item.large .line-number.text-1 {
            position: absolute;
            left: 25.38541vw;
            top: 50.08333vw;
            width: 20vw;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 5.33333vw;
            line-height: 100%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
            z-index: 3;
            text-align: left;
        }

        .grid-item.large .line-number.text-1 span {
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 6.66666vw;
            line-height: 100%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
        }

        .grid-item.large .line-number.text-1 .symbol {
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 4.26666vw;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
            position: absolute;
            bottom: 0.1vw;
            left: 14.6vw;
        }

        .grid-item.large .dash-symbol.symbol-1 {
            z-index: 2;
            position: absolute;
            width: 0;
            height: 21.2vw;
            border-right: 3px dashed rgb(236, 231, 200);
            border-top: 3px dashed rgb(236, 231, 200);
            top: 63.2vw;
            left: 36.3vw;
            transform: skew(9deg);
            transform-origin: left top;
        }

        .grid-item.large .line-number.text-2 {
            width: 18vw;
            position: absolute;
            left: 12.09375vw;
            top: 70.8645vw;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 5.33333vw;
            line-height: 100%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
            text-align: left;
            z-index: 3;
        }

        .grid-item.large .line-number.text-2 span {
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 6.66666vw;
            line-height: 100%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
        }

        .grid-item.large .line-number.text-2 .symbol {
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 4.26666vw;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
            position: absolute;
            bottom: 0.1vw;
            left: 13.6vw;
        }

        .grid-item.large .dash-symbol.symbol-2 {
            z-index: 2;
            position: absolute;
            width: 3.125vw;
            height: 13.5vw;
            border-right: 3px dashed rgb(236, 231, 200);
            bottom: 27.4vw;
            left: 14vw;
            transform: skew(8deg);
            transform-origin: left top;
        }

        .grid-item.large .line-number.text-4 {
            width: fit-content;
            position: absolute;
            right: 11vw;
            bottom: 15vw;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 5.33333vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
            z-index: 3;
        }

        .grid-item.large .line-number.text-4 span {
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 18.66666vw;
            line-height: 100%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
        }

        .grid-item.large .line-number.text-4 .symbol {
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 4.26666vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
            position: absolute;
            bottom: 0;
            right: -3.5vw;
        }

        .grid-item.large .dash-symbol.symbol-4 {
            z-index: 2;
            position: absolute;
            width: 10.3645vw;
            height: 2.729167vw;
            border-right: 3px dashed rgb(236, 231, 200);
            border-top: 3px dashed rgb(236, 231, 200);
            bottom: 33.2vw;
            left: 42.5vw;
            transform: skew(33deg);
            transform-origin: left top;
        }

        .grid-item.large .image-1 {
            position: relative;
            left: 0;
            bottom: 0;
            width: 59.2vw;
            height: 58.5333333vw;
            margin: 0 auto;
        }
    }

    .employee-numbers .row-2 {
        .grid-item.small {
            row-gap: 1.5vw;
        }

        .grid-item.small .line-number.text-1 {
            width: fit-content;
            position: absolute;
            right: 42vw;
            top: 52vw;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 700;
            font-size: 6.6666vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
        }

        .grid-item.small .line-number.text-1 .symbol {
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 4.26666vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
            position: absolute;
            bottom: 0.7vw;
        }

        .grid-item.small .line-number.text-2 {
            width: fit-content;
            position: absolute;
            right: 34.5vw;
            bottom: 61.5vw;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 600;
            font-size: 8vw;
            line-height: 100%;
            text-align: center;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
        }

        .grid-item.small .line-number.text-2 .symbol {
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 4.266666vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
            position: absolute;
            bottom: -0.2vw;
        }

        .grid-item.small .line-number.text-3 {
            width: fit-content;
            position: absolute;
            left: 23.2vw;
            bottom: 43vw;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 700;
            font-size: 6.6666vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
        }

        .grid-item.small .line-number.text-3 .symbol {
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 4.26666vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
            position: absolute;
            bottom: 0.7vw;
        }

        .grid-item.small .line-number.text-4 {
            width: fit-content;
            position: absolute;
            left: 17.8vw;
            bottom: 34.5vw;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 600;
            font-size: 8vw;
            line-height: 100%;
            text-align: center;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
        }

        .grid-item.small .line-number.text-4 .symbol {
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 4.266666vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
            position: absolute;
            bottom: -0.2vw;
        }

        .grid-item.small .line-number.text-5 {
            width: fit-content;
            position: absolute;
            right: 27.2vw;
            bottom: 43vw;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 700;
            font-size: 6.6666vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
        }

        .grid-item.small .line-number.text-5 .symbol {
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 4.26666vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
            position: absolute;
            bottom: 0.7vw;
        }

        .grid-item.small .line-number.text-6 {
            width: fit-content;
            position: absolute;
            right: 21.1vw;
            bottom: 34.5vw;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 600;
            font-size: 8vw;
            line-height: 100%;
            text-align: center;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
        }

        .grid-item.small .line-number.text-6 .symbol {
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 4.266666vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
            position: absolute;
            bottom: -0.2vw;
        }

        .grid-item.small .image-1 {
            position: relative;
            left: 0;
            top: 0;
            width: 24.2666vw;
            height: 29.6vw;
            margin: 0 auto 34.66666vw;
        }

        .grid-item.small .image-2 {
            position: absolute;
            left: 15.8vw;
            bottom: 28vw;
            width: 24.2666vw;
            height: 29.6vw;
        }

        .grid-item.small .image-3 {
            position: absolute;
            right: 15.8vw;
            bottom: 28vw;
            width: 24.2666vw;
            height: 29.6vw;
        }

        .grid-item.large .line-number.label-static {
            width: 21.33333vw;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 700;
            font-size: 4.266666vw;
            line-height: 5.066666vw;
            text-align: right;
            color: rgb(57, 105, 28);
            z-index: 3;
            background: #ECE7C8;
        }

        .grid-item.large .line-number.label-static.text-1 {
            position: absolute;
            right: 54.45vw;
            top: 57.3vw;
        }

        .grid-item.large .line-number.label-static.text-2 {
            position: absolute;
            right: 54.45vw;
            top: 66.4vw;
        }

        .grid-item.large .line-number.label-static.text-3 {
            position: absolute;
            right: 54.45vw;
            top: 75.43vw;
        }

        .grid-item.large .line-number.label-static.text-4 {
            position: absolute;
            right: 54.45vw;
            top: 84.93vw;
        }

        .grid-item.large .line-number.label-static.text-5 {
            position: absolute;
            right: 54.45vw;
            top: 94.1vw;
        }

        .grid-item.large .line-number.label-static.text-6 {
            position: absolute;
            right: 54.45vw;
            top: 103.4vw;
        }

        .grid-item.large .line-number.label-static.text-7 {
            position: absolute;
            right: 54.45vw;
            top: 112.5vw;
        }

        .grid-item.large .line-number.label-static.text-8 {
            position: absolute;
            right: 54.45vw;
            top: 121.93vw;
        }

        .grid-item.large .line-number.number-static {
            width: fit-content;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 8.53333vw;
            line-height: 100%;
            letter-spacing: 0.02em;
            color: #ECE7C8;
            z-index: 3;
        }

        .grid-item.large .line-number.number-static .symbol {
            width: fit-content;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 4.2666vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: #ECE7C8;
            z-index: 3;
        }

        .grid-item.large .line-number.number-static.text-9 {
            position: absolute;
            right: 28vw;
            top: 55vw;
        }

        .grid-item.large .line-number.number-static.text-11 {
            position: absolute;
            right: 28vw;
            top: 72.56vw;
        }

        .grid-item.large .line-number.number-static.text-12 {
            position: absolute;
            right: 28vw;
            top: 82vw;
        }

        .grid-item.large .line-number.number-static.text-13 {
            position: absolute;
            right: 28vw;
            top: 91vw;
        }

        .grid-item.large .line-number.number-static.text-14 {
            position: absolute;
            right: 8.5vw;
            top: 101vw;
        }

        .grid-item.large .line-number.number-static.text-15 {
            position: absolute;
            right: 28vw;
            top: 110.6vw;
        }

        .grid-item.large .line-number.number-static.text-16 {
            position: absolute;
            right: 8.5vw;
            top: 119.6vw;
        }

        .grid-item.large .line-number.text-10 {
            width: fit-content;
            position: absolute;
            left: 62.0312vw;
            top: 43.875vw;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 600;
            font-size: 10.66666vw;
            line-height: 100%;
            text-align: center;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
            z-index: 3;
        }

        .grid-item.large .line-number.text-10 .symbol {
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 4.26666vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
            position: absolute;
            bottom: -0.5vw;
            right: -4.2vw;
        }

        .grid-item.large .dash-symbol.symbol-1 {
            z-index: 2;
            position: absolute;
            width: 3.125vw;
            height: 14.5vw;
            border-right: 3px dashed rgb(236, 231, 200);
            bottom: 76.4vw;
            left: 65.7vw;
            transform: skew(-18deg);
            transform-origin: left top;
        }

        .grid-item.large .image-1 {
            position: relative;
            left: 32.533333vw;
            top: 0;
            width: 42.9333vw;
            height: 70.13333vw;
        }
    }

    .employee-numbers .row-3 {
        .grid-item.full-width .image-1 {
            position: relative;
            left: 1.25vw;
            bottom: -20vw;
            width: 100%;
        }

        .grid-item.full-width .dash-symbol.symbol-1 {
            width: 40.6666vw;
            height: 13.33333vw;
            border-top: none;
            position: absolute;
            left: 7.866666vw;
            bottom: 67vw;
            transform: unset;
            margin-bottom: 5.333333vw;
            display: none;
        }

        .grid-item.full-width .dash-symbol.symbol-2 {
            width: 41.06666vw;
            height: 7.2vw;
            border-top: none;
            position: absolute;
            left: 20vw;
            top: 40vw;
            transform: unset;
            margin-bottom: 5.333333vw;
            display: none;
        }

        .grid-item.full-width .dash-symbol.symbol-3 {
            width: 38.26666vw;
            height: 14.4vw;
            border-top: none;
            position: absolute;
            left: 40.4vw;
            top: 65vw;
            transform: unset;
            margin-bottom: 5.333333vw;
            display: none;
        }

        .grid-item.full-width .dash-symbol.symbol-4 {
            width: 40.6666vw;
            height: 13.33333vw;
            border-top: none;
            position: absolute;
            left: 14.266666vw;
            top: 93vw;
            transform: unset;
            margin-bottom: 5.333333vw;
            display: none;
        }

        .grid-item.full-width .employee-description {
            width: 100%;
            display: flex;
            flex-direction: column;
            position: relative;
            right: 0;
            top: 0;
        }

        .grid-item.full-width .employee-description .text-1 {
            margin: 0 auto 0;
            width: 59vw;
            text-align: center;
            font-family: var(--font-noto-sans-jp);
            font-style: normal;
            font-weight: 700;
            font-size: 5.33333vw;
            line-height: 140%;
            letter-spacing: 0.05em;
            color: rgb(236, 231, 200);
        }

        .grid-item.full-width .employee-description .text-2 {
            width: 46vw;
            text-align: left;
            margin: 15.46666vw auto 0;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 600;
            font-size: 4.266666vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
        }

        .grid-item.full-width .employee-description .text-3 {
            text-align: center;
            font-family: var(--font-noto-serif-jp);
            margin: 15.46666vw auto 0;
            font-style: normal;
            font-weight: 600;
            font-size: 6.4vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
        }

        .grid-item.full-width .employee-description .text-4 {
            text-align: center;
            margin: 15.46666vw auto 0;
            font-family: var(--font-noto-sans-jp);
            font-style: normal;
            font-weight: 700;
            font-size: 8vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
        }
    }

    .everyday-numbers .row-1 {
        .grid-item.small .line-number {
            width: fit-content;
            font-family: var(--font-noto-sans-jp);
            font-style: normal;
            font-weight: 700;
            font-size: 9.333333vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
        }

        .grid-item.small .line-number.text-1 {
            position: relative;
            top: -3.28125vw;
            left: 10.53125vw;
        }

        .grid-item.small .line-number.text-2 {
            position: relative;
            top: -16.28125vw;
            right: -45.52083vw;
        }

        .grid-item.small .line-number.text-3 {
            position: relative;
            top: -9.36459vw;
            left: 15.59895vw;
        }

        .grid-item.small .line-number.text-4 {
            position: relative;
            top: -22.36459vw;
            right: -50.45312vw;
        }

        .grid-item.small .image-1 {
            position: relative;
            left: 4.79166vw;
            bottom: 2.13542vw;
            width: 19.26666vw;
        }

        .grid-item.small .image-2 {
            position: relative;
            right: -1.26042vw;
            bottom: 2.13542vw;
            width: 19.26666vw;
        }

        .grid-item.large .line-number {
            font-family: var(--font-noto-sans-jp);
            font-style: normal;
            font-weight: 700;
            font-size: 8.533333vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
        }

        .grid-item.large .banner-text {
            background: rgb(236, 231, 200);
            width: 50.4vw;
            height: 12vw;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 600;
            font-size: 6.66666vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: rgb(57, 105, 28);
            position: relative;
            top: 0;
            left: 0;
            display: flex;
            justify-content: center;
            align-items: center;
            margin: 0 auto 13.33333vw;
        }

        .grid-item.large .line-number.text-1 {
            width: fit-content;
            position: relative;
            top: 0;
            left: 9vw;
        }

        .grid-item.large .line-number.text-2 {
            position: absolute;
            top: 82.27083vw;
            left: 47.5729vw;
        }

        .grid-item.large .line-number.text-3 {
            position: relative;
            width: fit-content;
            top: 2vw;
            right: -8.91667vw;
        }

        .grid-item.large .line-number.text-4 {
            position: absolute;
            top: 96vw;
            left: 55.58333vw;
        }

        .grid-item.large .line-number.text-5 {
            position: relative;
            width: fit-content;
            top: 4vw;
            left: 11.73958vw;
        }

        .grid-item.large .line-number.text-6 {
            position: absolute;
            top: 110vw;
            right: 33.73958vw;
        }

        .grid-item.large .line-number.text-7 {
            position: absolute;
            top: 110vw;
            right: 12.58333vw;
        }

        .grid-item.large .image-1 {
            position: relative;
            left: -9.86458vw;
            top: 15.4688vw;
            width: 11.73333vw;
            margin-bottom: 18.66666vw;
        }

        .grid-item.large .image-2 {
            position: absolute;
            right: 26.4375vw;
            top: 133vw;
            width: 16vw;
        }
    }

    .everyday-numbers .row-2 {
        .grid-item.full-width .image-1 {
            position: relative;
            right: 0;
            bottom: -10vw;
            width: 78.66666vw;
            height: 58.66666vw;
        }

        .grid-item.full-width .image-2 {
            position: absolute;
            left: 24.92708vw;
            bottom: 169.88541vw;
            width: 17.066666vw;
        }

        .grid-item.full-width .image-3 {
            position: absolute;
            left: 41.4375vw;
            bottom: 170.51042vw;
            width: 17.066666vw;
        }

        .grid-item.full-width .dash-symbol.symbol-1 {
            width: 29.09375vw;
            height: 1.2vw;
            border-top: 3px dashed rgb(236, 231, 200);
            position: absolute;
            right: 0;
            bottom: 91.41666vw;
            transform: unset;
            rotate: -67deg;
        }

        .grid-item.full-width .dash-symbol.symbol-2 {
            width: 29.09375vw;
            height: 1.2vw;
            border-top: 3px dashed rgb(236, 231, 200);
            position: absolute;
            right: 54.7292vw;
            top: 147.7vw;
            transform: unset;
            rotate: 70deg;
        }

        .grid-item.full-width .everyday-description {
            width: 20.4688vw;
            height: 75.2vw;
            display: flex;
            flex-direction: column;
            position: relative;
            right: 25.7292vw;
            top: 0px;
            left: 0px;
            text-align: center;
            margin-top: 30.13333vw;
        }

        .grid-item.full-width .everyday-description .text-1 {
            width: 43vw;
            text-align: center;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 700;
            font-size: 6.66666vw;
            line-height: 140%;
            letter-spacing: 0.05em;
            color: rgb(236, 231, 200);
            position: absolute;
            top: 0;
            left: 13.19792vw;
        }

        .grid-item.full-width .everyday-description .text-2 {
            text-align: center;
            font-family: var(--font-noto-sans-jp);
            font-style: normal;
            font-weight: 700;
            font-size: 6.66666vw;
            line-height: 140%;
            letter-spacing: 0.05em;
            color: rgb(236, 231, 200);
            position: absolute;
            top: 0;
            left: 59.6771vw;
        }

        .grid-item.full-width .everyday-description .text-3 {
            width: 30vw;
            text-align: center;
            font-family: var(--font-noto-sans-jp);
            font-style: normal;
            font-weight: 700;
            font-size: 6.66666vw;
            line-height: 140%;
            letter-spacing: 0.05em;
            color: rgb(236, 231, 200);
            position: relative;
            top: 13.75vw;
            left: 8.3333vw;
        }

        .grid-item.full-width .everyday-description .text-4 {
            width: 43vw;
            font-family: var(--font-noto-sans-jp);
            font-style: normal;
            font-weight: 700;
            font-size: 6.66666vw;
            line-height: 140%;
            letter-spacing: 0.05em;
            color: rgb(236, 231, 200);
            position: absolute;
            top: 13.75vw;
            left: 36.1042vw;
        }

        .grid-item.full-width .everyday-description .text-5 {
            text-align: center;
            font-family: "BIZ UDGothic";
            font-style: normal;
            font-weight: 700;
            font-size: 6.4vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
            position: relative;
            top: 16.989vw;
            left: 11.19271vw;
        }

        .grid-item.full-width .everyday-description .text-6 {
            width: 36vw;
            font-family: "BIZ UDGothic";
            font-style: normal;
            font-weight: 700;
            font-size: 4.26666vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
            position: relative;
            top: 19.989vw;
            left: 4.34895vw;
        }

        .grid-item.full-width .everyday-description .text-7 {
            width: 46vw;
            text-align: center;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 700;
            font-size: 6.4vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
            position: relative;
            top: 23.989vw;
            left: 18.3594vw;
        }

        .grid-item.full-width .everyday-description .text-8 {
            width: 41vw;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 600;
            font-size: 5.3333333vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
            position: absolute;
            top: 27vw;
            left: 33.45312vw;
        }

        .grid-item.full-width .everyday-description .text-9 {
            width: 15vw;
            font-family: var(--font-noto-sans-jp);
            font-style: normal;
            font-weight: 700;
            font-size: 6.4vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
            position: absolute;
            top: 36.1771vw;
            left: 39.6615vw;
        }

        .grid-item.full-width .everyday-description .text-10 {
            width: 22vw;
            font-family: var(--font-noto-sans-jp);
            font-style: normal;
            font-weight: 700;
            font-size: 4.26666vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
            position: absolute;
            top: 38.1771vw;
            left: 54.5677vw;
        }
    }

    .everyday-numbers .row-3 {
        .grid-item.small .image-1 {
            position: relative;
            left: 0;
            bottom: 0;
            width: 60.8vw;
            margin-bottom: 24vw;
        }

        .grid-item.small .image-2 {
            position: absolute;
            left: 14.3333vw;
            bottom: 30.65625vw;
            width: 16.346666vw;
        }

        .grid-item.small .image-3 {
            position: absolute;
            right: 11.91667vw;
            bottom: 30.65625vw;
            width: 16.346666vw;
        }

        .grid-item.small .line-number.text-1 {
            position: absolute;
            left: 26.3vw;
            top: 67.8203vw;
            width: 32.6875vw;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 11.466vw;
            line-height: 100%;
            text-align: center;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
        }

        .grid-item.small .line-number.text-1 span {
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 7.2vw;
            line-height: 100%;
            text-align: center;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
        }

        .grid-item.small .line-number.text-2 {
            width: fit-content;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 7.2vw;
            line-height: 100%;
            text-align: center;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
            position: absolute;
            top: 80.5vw;
            left: 33vw;
        }

        .grid-item.small .line-number.text-3 {
            width: fit-content;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 500;
            font-size: 8vw;
            line-height: 100%;
            text-align: center;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
            position: absolute;
            left: 12.65625vw;
            bottom: 24.14583vw;
        }

        .grid-item.small .line-number.text-3 span {
            right: -1vw;
            bottom: 0.05vw;
            width: fit-content;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 600;
            font-size: 4.26666vw;
            line-height: 100%;
            text-align: center;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
        }

        .grid-item.small .line-number.text-4 {
            width: fit-content;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 500;
            font-size: 8vw;
            line-height: 100%;
            text-align: center;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
            position: absolute;
            left: 49.3646vw;
            bottom: 24.14583vw;
        }

        .grid-item.small .line-number.text-4 span {
            right: -1vw;
            bottom: 0.05vw;
            width: fit-content;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 600;
            font-size: 4.26666vw;
            line-height: 100%;
            text-align: center;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
        }

        .grid-item.large .line-number.banner-text {
            position: relative;
            left: 0;
            top: 0;
            width: 53.33333vw;
            height: 10.666666vw;
            margin: 0 auto 5vw;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 600;
            font-size: 6.6666vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: rgb(57, 105, 28);
            background-color: rgb(236, 231, 200);
            display: flex;
            flex-direction: row;
            justify-content: center;
            align-items: center;
        }

        .grid-item.large .line-number.text-1 {
            position: relative;
            left: 0;
            top: 0;
            width: fit-content;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 18.6666vw;
            line-height: 100%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
            margin: 0 auto 5vw;
        }

        .grid-item.large .line-number.text-1 span {
            right: -2vw;
            bottom: 0px;
            width: fit-content;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 4.2666vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
        }

        .grid-item.large .line-number.text-2 {
            position: relative;
            left: 14vw;
            bottom: 0;
            width: fit-content;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 500;
            font-size: 6.66666vw;
            line-height: 100%;
            text-align: center;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
            /* margin: 0 auto; */
        }

        .grid-item.large .line-number.text-3 {
            position: relative;
            left: 44vw;
            bottom: 12vw;
            width: fit-content;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 500;
            font-size: 16vw;
            line-height: 100%;
            text-align: center;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
        }

        .grid-item.large .line-number.text-3 span {
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 500;
            font-size: 4.2666vw;
            line-height: 100%;
            text-align: center;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
        }

        .grid-item.large .image-1 {
            width: 21.3333vw;
            position: relative;
            top: 0;
            right: 2.29166vw;
            margin: 6vw 0 0;
        }

        .grid-item.large .dash-symbol {
            width: 53.3333vw;
            border-top: 3px dashed rgb(236, 231, 200);
            position: relative;
            left: 0;
            bottom: 0;
            margin: 0 auto 11vw;
        }
    }

    .everyday-numbers .row-4 {
        .grid-item.large .line-number.banner-text {
            position: relative;
            left: 0;
            top: 0;
            width: 53.33333vw;
            height: 10.666666vw;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 600;
            font-size: 6.6666vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: rgb(57, 105, 28);
            background-color: rgb(236, 231, 200);
            display: flex;
            flex-direction: row;
            justify-content: center;
            align-items: center;
            margin: 0 auto;
        }

        .grid-item.large .line-number.text-1 {
            position: relative;
            left: 0;
            top: 0;
            width: fit-content;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 18.6666vw;
            line-height: 100%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
            margin: 6vw auto;
        }

        .grid-item.large .line-number.text-1 span {
            right: -2vw;
            bottom: 0px;
            width: fit-content;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 5.3333vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
        }

        .grid-item.large .line-number.text-2 {
            position: relative;
            left: 17vw;
            bottom: 0;
            width: fit-content;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 500;
            font-size: 6.66666vw;
            line-height: 100%;
            text-align: center;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
        }

        .grid-item.large .line-number.text-3 {
            position: relative;
            left: 32vw;
            bottom: 13vw;
            width: fit-content;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 500;
            font-size: 16vw;
            line-height: 100%;
            text-align: center;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
        }

        .grid-item.large .line-number.text-3 span {
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 500;
            font-size: 4.26666vw;
            line-height: 100%;
            text-align: center;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
        }

        .grid-item.large .image-1 {
            width: 50.6666vw;
            position: relative;
            top: 5.67708vw;
            left: 16.9271vw;
            border-radius: 1.06666vw;
            height: 57.6vw;
        }

        .grid-item.large .dash-symbol {
            width: 53.3333vw;
            border-top: 3px dashed rgb(236, 231, 200);
            position: relative;
            left: 0;
            bottom: 0;
            margin: 13vw auto;
        }

        .grid-item.small .line-number.banner-text {
            position: relative;
            right: 0;
            top: 0;
            width: 53.33333vw;
            height: 10.6666vw;
            margin: 0 auto;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 600;
            font-size: 6.66666vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: rgb(57, 105, 28);
            background-color: rgb(236, 231, 200);
            display: flex;
            flex-direction: row;
            justify-content: center;
            align-items: center;
        }

        .grid-item.small .line-number.text-1 {
            position: relative;
            right: 0;
            top: 0;
            width: fit-content;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 18.6666vw;
            line-height: 100%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
            margin: 5vw auto 0;
        }

        .grid-item.small .line-number.text-1 span {
            position: relative;
            right: 0vw;
            bottom: 0px;
            width: fit-content;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 5.3333vw;
            line-height: 140%;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
        }

        .grid-item.small .line-number.text-2 {
            position: relative;
            right: -12vw;
            bottom: -8vw;
            width: fit-content;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 500;
            font-size: 6.6666vw;
            line-height: 100%;
            text-align: center;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
            margin-bottom: 11vw;
        }

        .grid-item.small .line-number.text-3 {
            position: absolute;
            right: 12vw;
            bottom: 17vw;
            width: fit-content;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 600;
            font-size: 16vw;
            line-height: 100%;
            text-align: center;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
        }

        .grid-item.small .line-number.text-3 span {
            position: relative;
            right: 0;
            bottom: 0px;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 500;
            font-size: 4.26666vw;
            line-height: 100%;
            text-align: center;
            letter-spacing: 0.02em;
            color: rgb(236, 231, 200);
        }

        .grid-item.small .image-1 {
            width: 7.44792vw;
            position: absolute;
            top: 9.53125vw;
            right: 2.29166vw;
        }

        .grid-item.small .dash-symbol {
            width: 53.33333vw;
            border-top: 0.8vw dashed rgb(236, 231, 200);
            position: relative;
            right: 0;
            bottom: 0;
            margin: 4vw auto;
        }
    }

    .view-recruitment {
        width: 100%;

        .banner-container {
            width: 100%;
            height: fit-content;
            border-radius: 0;
            margin: 0 auto;
            position: relative;
            display: flex;
            flex-direction: column;
            gap: 21.33vw;
            padding: 21.33333vw 0;
        }

        .banner-container .recruitment-form {
            width: 100%;
            height: 56.5333vw;
            position: unset;
            display: flex;
            flex-direction: column;
            top: 0;
            left: 0;
            justify-content: center;
        }

        .banner-container .recruitment-form h2 {
            width: 39vw;
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 700;
            font-size: 8.5333vw;
            line-height: 120%;
            color: #ECE7C8;
            margin: 0 auto 4.2666vw;
        }

        .banner-container .recruitment-form p {
            margin: 0 auto;
            font-family: var(--font-roboto);
            font-style: normal;
            font-weight: 700;
            font-size: 4.2666vw;
            line-height: 150%;
            color: #ECE7C8;
            transform: translateY(20px);
            opacity: 0;
        }

        .banner-container .recruitment-form .button {
            margin: 10.6666vw auto 0;
            padding-left: 8vw;
            width: 80vw;
            min-height: 25.0666vw;
            box-sizing: border-box;
            display: flex;
            align-items: center;
            justify-content: left;
            background-color: #ECE7C8;
            color: #39691C;
            border-radius: 9999px;
            text-decoration: none;
            font-family: var(--font-roboto);
            font-style: normal;
            font-weight: 700;
            font-size: 5.8666vw;
            line-height: 150%;
            box-sizing: border-box;
            border: 3px solid #ECE7C8;
            position: relative;
            bottom: 0;
            transition: background-color 0.3s ease, color 0.3s ease;
        }

        .banner-container .recruitment-form .button .arrow svg path {
            transition: stroke 0.3s ease;
        }

        .banner-container .recruitment-form .button .arrow {
            background-color: #39691C;
            color: #ECE7C8;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            position: absolute;
            right: 6vw;
            width: 18.1333vw;
            height: 18.1333vw;
            transition: background-color 0.3s ease, color 0.3s ease;
        }

        .banner-container .recruitment-form .button .arrow .icon {
            width: 6.4vw;
        }

        .banner-container .recruitment-form .button:hover {
            background-color: transparent;
            border: 3px solid #ECE7C8;
            color: #ECE7C8;
        }

        .banner-container .recruitment-form .button:hover .arrow svg path {
            stroke: #39691C;
        }

        .banner-container .recruitment-form .button:hover .arrow {
            background-color: #ECE7C8;
            color: #39691C;
        }
    }

    .view-recruitment .banner-container.green-bg.background-animation.animate .recruitment-form p {
        animation: 1s ease 0s 1 normal forwards running slideUpAnimation;
    }

    .view-recruitment .banner-container.green-bg.background-animation.animate img {
        animation: unset;
    }

    .view-recruitment .banner-container.green-bg.background-animation.animate img.animation.animate {
        animation: 1s ease 0s 1 normal forwards running fadeInFromBottom;
    }

    .company-figures .row-1 .grid-item.small,
    .company-figures .row-1 .grid-item.large,
    .company-figures .row-2 .grid-item.small,
    .company-figures .row-2 .grid-item.large,
    .company-figures .row-3 .grid-item.small,
    .company-figures .row-3 .grid-item.large,
    .company-figures .row-4 .grid-item.small,
    .company-figures .row-4 .grid-item.large,
    .employee-numbers .row-1 .grid-item.small,
    .employee-numbers .row-1 .grid-item.large,
    .employee-numbers .row-2 .grid-item.small,
    .employee-numbers .row-2 .grid-item.large,
    .employee-numbers .row-3 .grid-item.full-width,
    .everyday-numbers .row-1 .grid-item.small,
    .everyday-numbers .row-1 .grid-item.large,
    .everyday-numbers .row-2 .grid-item.full-width,
    .everyday-numbers .row-3 .grid-item.small,
    .everyday-numbers .row-3 .grid-item.large,
    .everyday-numbers .row-4 .grid-item.small,
    .everyday-numbers .row-4 .grid-item.large {
        transition: opacity 0.6s, transform 0.6s;
        opacity: 0;
    }

    .company-figures .row-1 .grid-item.small.animate,
    .company-figures .row-1 .grid-item.large.animate,
    .company-figures .row-2 .grid-item.small.animate,
    .company-figures .row-2 .grid-item.large.animate,
    .company-figures .row-3 .grid-item.small.animate,
    .company-figures .row-3 .grid-item.large.animate,
    .company-figures .row-4 .grid-item.small.animate,
    .company-figures .row-4 .grid-item.large.animate,
    .employee-numbers .row-1 .grid-item.small.animate,
    .employee-numbers .row-1 .grid-item.large.animate,
    .employee-numbers .row-2 .grid-item.small.animate,
    .employee-numbers .row-2 .grid-item.large.animate,
    .employee-numbers .row-3 .grid-item.full-width.animate,
    .everyday-numbers .row-1 .grid-item.small.animate,
    .everyday-numbers .row-1 .grid-item.large.animate,
    .everyday-numbers .row-2 .grid-item.full-width.animate,
    .everyday-numbers .row-3 .grid-item.small.animate,
    .everyday-numbers .row-3 .grid-item.large.animate,
    .everyday-numbers .row-4 .grid-item.small.animate,
    .everyday-numbers .row-4 .grid-item.large.animate {
        animation: fadeIn 1s ease-in-out forwards;
    }

    /* Start CSS Pentagon Form  */
    .pentagon-form.recruit-form {
        margin: 0;
        padding: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        /* min-height: 100vh; */
        font-family: sans-serif;
        background-image: url("../img/yellow-color-bg.jpg");


        .container {
            position: relative;
            width: 100%;
        }

        .pentagon {
            position: relative;
            width: 100%;
            height: fit-content;
            padding-bottom: 0;
            clip-path: polygon(50% 0%, 145% 20%, 100% 77%, 0% 77%, 0% 11%);
            overflow: hidden;
        }

        .pentagon-image {
            position: relative;
            width: 100%;
        }

        .overlay {
            position: relative;
            bottom: 19vw;
            right: 0px;
            margin: 0 auto;
            background-image: url("../img/base-color-bg.jpg");
            border-radius: 1.666666vw;
            padding: 2.3416vw;
            width: 94.66666vw;
            max-width: 94.66666vw;
            height: 23.0729vw;
            text-align: center;
            box-sizing: border-box;
        }

        .overlay h3 {
            display: flex;
            width: 22.2916vw;
            margin: 0 auto 0.72916vw;
            justify-content: center;
            font-family: var(--font-roboto);
            font-style: normal;
            font-weight: 700;
            font-size: 1.145833vw;
            line-height: 150%;
        }

        .overlay h3::before {
            content: "●";
            color: #c73d3d;
            margin-right: 0.3125vw;
        }

        .overlay p {
            font-family: var(--font-roboto);
            font-style: normal;
            font-weight: 700;
            font-size: 0.83333vw;
            line-height: 150%;
            color: #302727;
            margin: 0 auto 1.510416vw;
        }

        .button {
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
            background-color: #346b29;
            color: white;
            border-radius: 9999px;
            width: 22.2916vw;
            height: 4.8958vw;
            text-decoration: none;
            margin: 0 auto 0.8333vw;
            font-family: var(--font-roboto);
            font-style: normal;
            font-weight: 700;
            font-size: 1.14583vw;
            line-height: 150%;
            border: 3px solid #39691C;

            color: #ece7c8;
            box-sizing: border-box;
            transition: background-color 0.3s ease, color 0.3s ease;
        }

        .button .arrow svg path {
            transition: stroke 0.3s ease;
        }

        .button:last-child {
            margin-bottom: 0;
        }

        .arrow {
            background-color: #ece7c8;
            color: #346b29;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            position: absolute;
            right: 1vw;

            width: 3.54166vw;
            height: 3.54166vw;
            transition: background-color 0.3s ease, color 0.3s ease;
        }

        .button:hover {
            background-color: transparent;
            border: 3px solid #39691C;
            color: #39691C;
        }

        .button:hover .arrow {
            background-color: #39691C;
        }

        .button:hover .arrow svg path {
            stroke: #ece7c8;
        }
    }


    /* END CSS Pentagon Form  */

    #recruit-page .recruit-static-container .title-group {
        position: relative;
        width: 100%;
        height: 86.6666vw;
        /* text-align: center; */
        margin: 0 auto 0;
    }

    #recruit-page .recruit-static-container .title-group .title-1 {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 16vw;
        line-height: 120%;
        text-align: center;
        color: rgb(57, 105, 28);
        opacity: 0;
        transform: matrix(1, 0, -0.14, 0.99, 0, 0);
    }

    #recruit-page .recruit-static-container .title-group .title-2 {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 18.6666vw;
        line-height: 120%;
        text-align: center;
        opacity: 0;
        letter-spacing: 0;
        color: rgb(57, 105, 28);
        transform: matrix(0.99, -0.14, -0.17, 0.98, 0, 0);
        position: absolute;
        left: 0;
        top: 16vw;
        width: 79vw;
    }

	#recruit-page .recruit-static-container .title-2.animation.animate {
		animation: flying-up-tilt 2.5s ease-in-out forwards;
	}

	#recruit-page .recruit-static-container .title-1.animation.animate{
		animation: 0.5s ease-in-out 0s 1 normal forwards running fadeIn;
	}

    #recruit-page .recruit-static-container .title-group .title-1 .extra-text {
        font-family: var(--font-noto-serif-jp);
        font-weight: 700;
        font-size: 10.66666vw;
        line-height: 120%;
        text-align: center;
    }

    #recruit-page .recruit-static-container .title-group .engineer-image {
        position: relative;
        right: -47vw;
        bottom: -30vw;
        z-index: 1;
        width: 38.933vw;
        transition: opacity 0.6s, transform 0.6s;
        opacity: 0;
        transform: translateY(20px);
    }

    #recruit-page .recruit-static-container .title-group .engineer-image.animation.animate {
        animation: 1s ease 0s 1 normal forwards running slideUpAnimation;
    }

    /* Modal styles */
    .modal-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        display: none;
        justify-content: center;
        align-items: center;
        z-index: 1000;
    }

    .modal {
        background-color: white;
        box-shadow: 0 5px 25px rgba(0, 0, 0, 0.3);
        padding: 10.32291vw 3.0729166vw 2.5vw;
        width: 84.135416vw;
        max-width: unset;
        position: relative;
        overflow-y: auto;
        box-sizing: border-box;
        max-height: 100vh !important;
        border-radius: 2.13333vw;
    }

    .modal::-webkit-scrollbar {
        width: 0.416666vw;
    }

    .modal::-webkit-scrollbar-thumb {
        background-color: rgba(0, 0, 0, 0.3);
        border-radius: 0.52083vw;
    }

    .modal::-webkit-scrollbar-track {
        background-color: transparent;
    }

    .modal-close {
        position: absolute;
        top: 1.885416vw;
        right: 3.020833vw;
        background: #ECE7C8;
        border-radius: 0.20833vw;
        cursor: pointer;
        width: 18.697916vw;
        height: 6.552083vw;
        display: flex;
        align-items: center;
        justify-content: center;
        /* background: #ffffff; */
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 3.8666vw;
        line-height: 150%;
        color: #39691C;
    }

    .modal-content-container {
        display: flex;
        width: 100%;
        gap: 2.25vw;
        flex-direction: column;
        justify-content: center;
    }

    .modal-overlay .icon-wrapper {
        margin: 0 auto;
        width: fit-content;
    }

    .modal-overlay .icon-wrapper .modal-icon {
        width: 78.041667vw;
        height: auto;
        background-size: cover;
        background-position: center center;
        object-fit: cover;
        position: relative;
        left: 0;
        top: 0;
    }

    .modal-overlay .modal-title {
        /* top: 19vw; */
        position: absolute;
        top: 43.010416vw;
        left: 3.072916vw;
        width: 64.85416vw;
        height: 6.96875vw;
        background-color: #39691C;
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: var(--font-noto-sans-jp);
        font-style: normal;
        font-weight: 500;
        font-size: 3.3vw;
        line-height: 150%;
        color: #ECE7C8;
    }

    .modal-overlay .QA-group {
        width: 78.041667vw;
        display: flex;
        flex-direction: column;
        gap: 4.66666vw;
    }

    .modal-overlay .QA-content {
        display: flex;
        flex-direction: column;
        gap: 0.20833vw;
    }

    .modal-overlay .title-questtion {
        width: 100%;
        display: flex;
        flex-direction: row;
        align-items: center;
        margin-bottom: 1vw;
        padding: 0.260416vw 0.5208333vw 1vw;
        border-bottom: 1px solid #ECE7C8;
        box-sizing: border-box;
        font-family: var(--font-noto-sans-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 3.6vw;
        line-height: 150%;
        color: #ECE7C8;
    }

    .modal-overlay .answer-questtion {
        font-family: var(--font-noto-sans-jp);
        font-style: normal;
        font-weight: 500;
        font-size: 3vw;
        line-height: 150%;
        color: #ECE7C8;
    }
}


/* Animation for modal show/hide */
.modal {
    transform: translateX(100%);
    opacity: 0;
    transition: transform 0.4s ease, opacity 0.4s ease;
}

.modal-overlay.active .modal {
    transform: translateX(0);
    opacity: 1;
}

.modal.exiting {
    transform: translateX(100%);
    opacity: 0;
}


/* End CSS RECRUIT  */

/* CSS New Page */
.news-page{
	min-height: 50vw;
}
.news-container {
    max-width: 52.08333vw;
    margin: 5.20833vw auto;
    background: transparent;
    /* padding: 0 10px 40px 10px; */
    text-align: center;
}
.category-tabs {
    margin-bottom: 3.33333vw;
    display: flex;
    justify-content: center;
    gap: 0.41666vw;
    border-bottom: 1px solid #39691C;
}
.category-tab {
    width: 6.71875vw;
    height: 1.77083vw;
    font-family: var(--font-noto-sans-jp);
    font-style: normal;
    font-weight: 400;
    font-size: 0.8333vw;
    line-height: 150%;
    display: flex;
    align-items: center;
    letter-spacing: 0.1em;
    border: 1px solid #39691C;
    background: transparent;
    color: #39691C;
    padding: 0.2604166vw 0;
    border-radius: 0.4166666vw 0.4166666vw 0 0;
    text-decoration: none;
    border-bottom: none;
    justify-content: center;
    transition: background 0.2s, color 0.2s;
}
.category-tab.active {
    background: #39691C;
    color: #fff;
}
.news-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3.125vw 4.58333vw;
    justify-content: center;
    margin-bottom: 40px;
}
.news-item {
    background: transparent;
    border-radius: 8px;
    padding: 0 0 18px 0;
    text-align: left;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}
.news-thumb img {
    width: 23.75vw;
    height: 15.46875vw;
    object-fit: cover;
    display: block;
	border-radius: 0.52083vw;
}
.news-item .content-group {
    height: fit-content;
    max-width: calc(100vw * (341 / 1920));
}
.news-meta {
    display: flex;
    align-items: center;
    gap: 0.52083vw;
    margin-top: 0.41666vw;
}
.news-date {
    font-family: var(--font-noto-sans-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 0.83333vw;
    line-height: 1.25vw;
    color: #39691C;
}
.news-cat {
    width: 4.375vw;
    height: 1.77083vw;
    font-family: var(--font-noto-sans-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 0.8333vw;
    line-height: 1.25vw;
    display: flex;
    justify-content: center;
    align-items: center;
    
    color: #39691C;
    border: 1px solid #39691C;

}
.news-page-title {
    border-radius: 1.25vw;
    padding: 2.60416vw 1.302083vw;
    box-sizing: border-box;
    width: 22.39583vw;
    height: 7.65625vw;
    margin: 0 auto 4.010416vw;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 2.083333vw;
    line-height: 120%;
    text-align: center;
    
    /* base */
    color: #ECE7C8;
}
.news-title {
    width: 100%;
    height: fit-content;
    font-style: normal;
    font-weight: 700;
    font-size: 0.83333vw;
    line-height: 1.25vw;
    color: #39691C;
    margin: 0.41666vw 0;
}
.news-excerpt {
    width: 100%;
    height: fit-content;
    font-family: var(--font-noto-sans-jp);
    font-style: normal;
    font-weight: 500;
    font-size: 0.72916vw;
    line-height: 1.25vw;
    color: #39691C;
}
.pagination {
    margin-top: 0.52083vw;
    text-align: center;
    grid-column: span 2;
}
.pagination .page-numbers {
    width: 1.66666vw;
    height: 1.66666vw;
    align-items: center;       
    justify-content: center; 
    margin: 0 auto;
    display: flex;
    text-align: center;
    text-decoration: none;
    font-family: var(--font-noto-sans-jp);
    font-style: normal;
    font-weight: 350;
    font-size: 1.09375vw;
    line-height: 100%;
    letter-spacing: 0.11em;
    color: #39691C;
    background: transparent;
    box-sizing: border-box;
    transition: background 0.2s, color 0.2s;
}
.pagination .page-numbers .page-numbers {
    border: 1px solid #39691C;
    margin: 0 0.2vw 0 0;
}
.pagination .page-numbers .page-numbers.next {
    margin-left: 0.3vw;
    border: none;
}
.pagination .page-numbers .page-numbers.prev {
    border: none; 
    margin-right: 0.5vw;
}
.pagination .next.page-numbers, .pagination .prev.page-numbers {
    width: 0.729166vw;
    height: 0.729166vw;
    margin: 0.5vw auto;
    display: flex;
    color: #39691C;
    padding: 0;
}
.pagination .page-numbers.current{
    background: #39691C;
    color: #fff;
}

@media (max-width: 1024px) {
	.news-page{
        min-height: 90vw;
        height: fit-content;
		margin-bottom: 10vw;
    }
    .news-container {
        max-width: 95%;
        margin: 2.08333vw auto;
        background: transparent;
        /* padding: 0 10px 40px 10px; */
        text-align: center;
    }
    .category-tabs {
        margin-bottom: 5vw;
        display: flex;
        justify-content: center;
        gap: 2vw;
        border-bottom: 0.26666vw solid #39691C;
    }
    .category-tab {
        width: 22.71875vw;
        height: 7.77083vw;
        font-family: var(--font-noto-sans-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 3.4666vw;
        line-height: 150%;
        display: flex;
        align-items: center;
        letter-spacing: 0.1em;
        border: 0.26666vw solid #39691C;
        background: transparent;
        color: #39691C;
        padding: 0.2604166vw 0;
        border-radius: 1.416667vw 1.416667vw 0 0;
        text-decoration: none;
        border-bottom: none;
        justify-content: center;
        transition: background 0.2s, color 0.2s;
    }
    .category-tab.active {
        background: #39691C;
        color: #fff;
    }
    .news-list {
        display: flex;
        flex-direction: column;
        grid-template-columns: unset;
        gap: 7vw;
        justify-content: center;
        margin-bottom: 0;
    }
    .news-item {
        background: transparent;
        border-radius: 0;
        padding: 0 0 18px 0;
        text-align: left;
        overflow: hidden;
        display: flex;
        flex-direction: row;
        align-items: stretch;
    }
    .news-item a{
        display: flex;
        gap: 2vw;
    }
    .news-thumb img {
        width: 36.2666vw;
        height: fit-content;
        object-fit: cover;
        display: block;
    }
    .news-item .content-group {
        max-width: unset;
        display: flex;
        flex-direction: column;
        gap: 2vw;
    }
    .news-meta {
        display: flex;
        align-items: center;
        gap: 0.52083vw;
        margin-top: 0.41666vw;
    }
    .news-date {
        font-family: var(--font-noto-sans-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 3.53333vw;
        line-height: 2.25vw;
        color: #39691C;
    }
    .news-cat {
        /* display: none; */
        width: 13vw;
        height: 4.8vw;
        font-family: var(--font-noto-sans-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 2.8333vw;
        line-height: 1.25vw;
        /*display: none;*/
        justify-content: center;
        align-items: center;
        color: #39691C;
        border: 1px solid #39691C;
        margin-left: 2vw;
    }
    .news-page-title {
        border-radius: 3.41666vw;
        padding: 2.60416vw 1.302083vw;
        box-sizing: border-box;
        width: 62.39583vw;
        height: 13.65625vw;
        margin: 12.010416vw auto;
        display: flex;
        justify-content: center;
        align-items: center;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 6.13333vw;
        line-height: 120%;
        text-align: center;
        
        /* base */
        color: #ECE7C8;
    }
    .news-title {
        width: 100%;
        height: fit-content;
        font-style: normal;
        font-weight: 700;
        font-size: 0.83333vw;
        line-height: 1.25vw;
        color: #39691C;
        margin: 0.41666vw 0;
        display: none;
    }
    .news-excerpt {
        width: 100%;
        height: fit-content;
        font-family: var(--font-noto-sans-jp);
        font-style: normal;
        font-weight: 500;
        font-size: 3.7333vw;
        line-height: 5.25vw;
        color: #39691C;
    }
	    .button-more-cover{
        width: 100%;
        display: flex;
        justify-content: end;
    }
    .class-more{
        background: var(--color-primary);
        color: #ffffff;
        padding: 0vw 2vw;
        border-radius: 2vw;
        font-family: var(--font-noto-sans-jp);
        font-style: normal;
        font-weight: 500;
        font-size: 3.7333vw;
        line-height: 5.25vw;
    }
    .pagination {
        margin-top: 0.52083vw;
        text-align: center;
        grid-column: span 2;
    }
    .pagination .page-numbers {
        width: 6vw;
        height: 6vw;
        margin: 0 auto;
        display: flex;
        padding: 0;
        text-decoration: none;
        font-family: var(--font-noto-sans-jp);
        font-style: normal;
        font-weight: 350;
        font-size: 3.2vw;
        line-height: 100%;
        letter-spacing: 0.11em;
        color: #39691C;
        background: transparent;
        transition: background 0.2s, color 0.2s;
    }
    .pagination .page-numbers .page-numbers {
        border: 1px solid #39691C;
        margin: 0 1.5vw 0 0;
    }
    .pagination .next.page-numbers, .pagination .prev.page-numbers {
        width: 3.2vw;
        height: 3.2vw;
        margin-left: 1vw!important;
        margin-right: 2.5vw!important;
        display: flex;
        color: #39691C;
        padding: 0;
    }
    .pagination .page-numbers.current{
        background: #39691C;
        color: #fff;
    }
}
/* End CSS New Page */

/* CSS News Detail */
.news-detail{
    padding: 5.20833vw 23.90625vw 0;
}
.post-category span.category-title {
    margin-left: 0.416666vw;
    padding: 0.2vw 1vw;
    border: 1px solid #39691C;
    font-family: var(--font-noto-sans-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 0.833333vw;
    line-height: 1.25vw;
    color: #39691C;
}
.post-title {
	margin-top: 10px;
    font-family: var(--font-noto-sans-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 0.83333vw;
    line-height: 1.666666vw;
    
    color: #39691C;

}
.post-content {
	margin: 0.6666vw 0;
	line-height: 1.6;

    font-family: var(--font-noto-sans-jp);
    font-style: normal;
    font-weight: 500;
    font-size: 0.729166vw;
    line-height: 1.6666vw;
    
    color: #39691C;
}
.related-posts {
	margin-top: 2.0833333vw;
	padding-top: 1.041666vw;
}
.news-detail .back-group{
    display: flex;
    align-items: center;
    gap: 1vw;
}
.news-detail .related-posts .back-group .back-page-icon{
    width: 2.1875vw;
    height: 2.1875vw;
}
.news-detail .related-posts .back-group h2 {
    font-family: var(--font-roboto);
    font-style: normal;
    font-weight: 700;
    font-size: 1.14583vw;
    line-height: 150%;
    
    color: #39691C;
}
.related-posts ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3.125vw 4.58333vw;
    justify-content: center;
    margin-bottom: 8vw;
    padding-top: 2.91666vw;
    border-top: 1px solid #39691C;
}
.related-posts li {
	margin-bottom: 10px;
}
.related-posts a {
    text-decoration: none;
}
.related-posts a:hover {
	text-decoration: none;
}
.news-detail .post-content img,
.news-detail img.wp-post-image {
    width: 100%;
    height: auto;
    display: block;
	border-radius: 0.41666vw;
}
@media (max-width: 1024px) {
	.news-detail{
		padding: 0;
		max-width: 95%;
		margin: 2.08333vw auto;
	}
    .post-category{
        margin-top: 16vw;
        display: flex;
        flex-direction: column;
		margin-bottom: 5vw;
    }
	.post-category span.category-title {
		margin-left: 0.416666vw;
		padding: 0.2vw 1vw;
		border: 1px solid #39691C;
		font-family: var(--font-noto-sans-jp);
		font-style: normal;
		font-weight: 700;
		font-size: 4.266666vw;
		line-height: 6.4vw;
		color: #39691C;
		width: fit-content;
	}
	.post-title {
		margin-top: 10px;
		font-family: var(--font-noto-sans-jp);
		font-style: normal;
		font-weight: 700;
		font-size: 6.66666vw;
		line-height: 120%;
		color: #39691C;
		height: fit-content;
		margin-bottom: 4vw;
		display: none;
	}
	.post-content {
		margin: 10vw 0 0;
		line-height: 1.6;
		font-family: var(--font-noto-sans-jp);
		font-style: normal;
		font-weight: 500;
		font-size: 0.729166vw;
		line-height: 1.6666vw;
		color: #39691C;
	}
	.post-content p {
        font-family: var(--font-noto-sans-jp);
        font-style: normal;
        font-weight: 500;
        font-size: 3.7333vw;
        line-height: 5.25vw;
        color: #39691C;
    }
	.news-detail .post-content p:not(:last-child) {
		margin-bottom: 3vw;
	}
	.post-content p img{
        margin: 0 auto;
        width: fit-content;
        display: flex;
    }
	.related-posts {
		margin-top: 10.6666vw;
		border-top: none;
		padding-top: 5.33333vw;
	}
	.news-detail .back-group{
		display: flex;
		align-items: center;
		gap: 3vw;
	}
	.news-detail .related-posts .back-group .back-page-icon{
		width: 12.1875vw;
		height: 12.1875vw;
	}
	.news-detail .related-posts .back-group h2 {
		font-family: var(--font-roboto);
		font-style: normal;
		font-weight: 700;
		font-size: 5.14583vw;
		line-height: 150%;
		color: #39691C;
	}
	.related-posts ul {
		display: flex;
		flex-direction: column;
		grid-template-columns: 1fr 1fr;
		gap: 3.125vw 4.58333vw;
		justify-content: center;
		margin-bottom: 8vw;
		padding-top: 2.91666vw;
		border-top: 1px solid #39691C;
	}
	.related-posts li {
		margin-bottom: 10px;
	}
	.related-posts a {
		text-decoration: none;
	}
	.related-posts a:hover {
		text-decoration: none;
	}
	.news-detail .post-content img,
	.news-detail img.wp-post-image {
		width: 100%;
		height: auto;
		display: block;
		border-radius: 2.13333vw;
	}
}
/* End CSS News Detail */

/* CSS Contact form  */

.contact-form-section {
    min-height: fit-content;
    padding: 5.20833vw 20.833vw 5.20833vw;
}

.contact-form-container {
    width: 100%;
    height: fit-content;
    display: flex;
    row-gap: 4.01041vw;
    flex-direction: column;
}

.contact-form-section .contact-form-container .description-row p {
    width: fit-content;
    margin: 0 auto;
    text-align: left;
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 500;
    font-size: 1.09375vw;
    line-height: 2.0833vw;
    
    color: #39691C;
}

.phone-information {
    display: flex;
    gap: 1vw;
}

.phone-information h2 {
    font-family: var(--font-noto-sans-jp);
    font-style: normal;
    font-weight: 500;
    font-size: 1.61458vw;
    line-height: 2.34375vw;
    color: #39691C;
    margin: 0;
}

.contact-form-section .contact-form-container .information-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 2.6041vw 0;
    gap: 1.5625vw;
    width: 26.875vw;
    height: 11.40625vw;
    border: 3px solid #39691C;
    border-radius: 1.5625vw;
    margin: 0 auto 3.125vw;
    box-sizing: border-box;
}

.contact-form-section .contact-form-container .information-box span {
	font-family: var(--font-noto-sans-jp);
	font-style: normal;
	font-weight: 400;
	font-size: 0.83333vw;
	line-height: 100%;
	color: #39691C;
}

.time-information {
    font-family: var(--font-noto-sans-jp);
    font-style: normal;
    font-weight: 350;
    font-size: 0.8333vw;
    line-height: 2.08333vw;
    
    color: #39691C;
}

.forminator-field {
    display: flex;
    flex-wrap: wrap;
    column-gap: 6.145833vw;
    justify-content: flex-start;
    padding: 0px 1.302083vw!important;
}

.forminator-field .forminator-textarea{
    height: 10.41666vw;
}

.forminator-field input,
.forminator-field textarea {
    padding: 0.7291vw 1.0416vw;
    background-color: #F2F2F2;
    border: 1px solid #C4C3C3;
    font-size: 0.99vw !important;
    line-height: 1.35416vw;
    flex: 1;
    max-width: 26.0416vw !important;
    width: 26.0416vw !important;
    min-height: 3.6458vw !important;
    border-radius: 10px !important;
    font-family: var(--font-noto-sans-jp) !important;
}

.forminator-checkbox-label {
    margin-left: 1.5625vw !important;
	margin-top: 0.5vw;
    font-family: var(--font-noto-sans-jp);
    font-style: normal;
    font-weight: 500;
    font-size: 1.09375vw;
    line-height: 100%;
    /* or 21px */
    color: #39691C;
}

.forminator-field .zipcode-input-wrapper input {
    padding: 0.7291vw 1.0416vw;
    background-color: #F2F2F2;
    border: 1px solid #C4C3C3;
    font-size: 0.99vw !important;
    line-height: 1.35416vw;
    flex: 1;
    max-width: 10.4166vw !important;
    width: 10.4166vw !important;
    font-family: var(--font-noto-sans-jp) !important;
}

.forminator-label {
    display: flex !important;
    flex-direction: row;
    justify-content: unset;
    white-space: nowrap;
    width: 13.020vw;
    gap: 0.5641vw;
}

.forminator-field-textarea .forminator-label {
    align-items: flex-start;
}

.forminator-error-message {
    width: 100%;
    text-align: left;
    order: 2;
}

.forminator-label .forminator-required,
.forminator-required {
    color: #F3F8FB !important;
    background-color: #9F0F0C;
    padding: 0 0.5208vw;
	display: flex!important;
    align-items: center;
    border-radius: 0.260416vw;
    min-height: 1.9791vw;
    font-size: 0.99vw !important;
    content: "必須" !important;
    font-weight: 400 !important;
    line-height: 100% !important;
    margin-left: 1vw;
    height: fit-content;
    font-family: var(--font-noto-sans-jp) !important;
}

.forminator-field .input-wrapper {
    display: flex;
    align-items: center;
    gap: 11px;
    width: 192px;
}

.forminator-row .hr {
    border-top: 1px solid #DEDEDE;
    margin: 0;
    padding: 0 !important;
}

.forminator-row .hr-big {
    border-top: 4px solid #BBC8D5;
    margin: 0;
    padding: 0 !important;
}

.forminator-pagination-steps {
    width: 100% !important;
    height: 5.50833vw !important;
}

.forminator-pagination-steps,
.forminator-pagination-steps-view {
    align-items: flex-start !important;
    width: 100% !important;
    display: flex !important;
    margin: 0 0 7.8125vw !important;
    gap: 0vw;
}

.forminator-ui.forminator-custom-form[data-design=default]:not(.forminator-size--small) .forminator-pagination-steps .forminator-step {
    width: 19.6875vw !important;
}

.forminator-step {
    flex-direction: column-reverse !important;
    width: 30%;
    height: 5.20833vw !important;
}

.forminator-step-dot {
    font-family: var(--font-noto-sans-jp) !important;
    font-style: normal;
    font-weight: 400;
    font-size: 1.25vw;
    line-height: 100%;
    color: #FFFFFF;
    border-radius: 0 !important;
    border: 1px solid #000000;
    border-color: #000000 !important;
    color: #39691C;
    background-color: unset !important;
    width: 19.791vw !important;
    min-height: 5.20833vw !important;
    padding: 1.8vw !important;
    letter-spacing: 1.32px;
}

.forminator-current .forminator-step-dot {
    border: none !important;
    color: #fff;
}

.forminator-break {
    display: none !important;
}

.forminator-pagination-steps .forminator-step-label {
    display: none !important;
}

.forminator-current.forminator-step-0 .forminator-step-dot {
    border: none !important;
    color: #fff;
    background-color: transparent !important;
    background-image: url("../img/contact/PC_ACTIVE_1.png");
    background-size: 100% 100%;
}

.forminator-current.forminator-step-1 .forminator-step-dot {
    border: none !important;
    color: #fff;
    background-image: url("../img/contact/PC_ACTIVE_2.png");
    background-size: 100% 100%;
}

.forminator-current.forminator-step-2 .forminator-step-dot {
    border: none !important;
    color: #fff;
    background-image: url("../img/contact/PC_ACTIVE_3.png");
    background-size: 100% 100%;
}

.forminator-step-0 .forminator-step-dot {
    border: none !important;
    background-color: transparent !important;
    background-image: url("../img/contact/PC_NORMAL_1.png");
    background-size: 100% 100%;
}

.forminator-step-1 .forminator-step-dot {
    border: none !important;
    background-image: url("../img/contact/PC_NORMAL_2.png");
    background-size: 100% 100%;
}

.forminator-step-2 .forminator-step-dot {
    border: none !important;
    background-image: url("../img/contact/PC_NORMAL_3.png");
    background-size: 100% 100%;
}

.forminator-step-label {
    width: 114px !important;
    margin-top: 10px;
    font-size: 15px;
    line-height: 30px;
}

.forminator-current .forminator-step-label {
    display: none !important;
}

.forminator-row .forminator-field-address .forminator-row{
    margin-top: 0!important;
}

.forminator-row {
    margin-top: 2.60416vw !important;
    margin-bottom: 0!important;
}

.forminator-row .form-zipcode{
    height: 6vw;
}

.form-input-both-line {
    padding: 30px 0px !important;
    border-bottom: 1px solid #DEDEDE;
    border-top: 1px solid #DEDEDE;
}

.form-input-bottom-line {
    padding-bottom: 2.60416vw !important;
    border-bottom: 1px solid #39691C;
}

.form-input-no-line {
    padding: 0 !important;
    border-bottom: none !important;
}

.input-480 input {
    flex: 0 1 26.04166vw;
}

.input-640 input {
    flex: 0 1 640px;
}

.iti--show-flags {
    display: flex !important;
}

.iti__country-container {
    display: none;
}

.input-140 input {
    flex: 0 1 140px;
}

.survey {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.form-heading {
    padding: 9px 15px !important;
    background-color: #E5EFF5;
    margin-top: 70px;
    margin-bottom: 20px;
}

.form-heading .inquiry-title {
    font-size: 16px;
    line-height: 34px;
    font-weight: bold;
}

.form-subheading {
    padding: 0 !important;
}

.form-subheading p {
    font-size: 15px;
    line-height: 30px;
}

.survey .forminator-label {
    width: 210px;
}

.forminator-ui.forminator-custom-form[data-design=default] .forminator-radio .forminator-radio-bullet:before {
    width: 15px!important;
    height: 15px!important;
}

.forminator-required{
    margin-top: 0.5vw;
}

/* 
.forminator-ui.forminator-custom-form[data-design=default] .forminator-radio:not(.forminator-radio-inline):first-of-type {
    margin-top: 0 !important;
}

#forminator-field-radio-1-label-1 {
    align-items: end !important;
    margin-top: 0 !important;
}
*/
.survey #forminator-field-radio-1-label-5 {
    margin-left: 230px;
    margin-top: 0px;
}

.form-textarea .forminator-textarea {
    flex: 0 1 650px;
}

.form-textarea:not(.no-ml) .forminator-textarea {
    margin-top: 20px !important;
    margin-left: 245px !important;
}

.mt--40 {
    margin-top: -40px;
}

.forminator-col:not(.survey):not(.form-textarea) .forminator-error-message {
    background-color: unset !important;
    font-size: 0.83333vw !important;
    padding: 0 !important;
}

.survey .forminator-error-message {
    background-color: unset !important;
    margin-left: 250px !important;
}

.forminator-error-message.email-error {
    display: flex !important;
}

.forminator-error-message.katakana-error-message {
    display: flex !important;
}

.form-textarea .forminator-error-message {
    background-color: unset !important;
    margin-left: 230px !important;
}

.forminator-pagination-footer {
    justify-content: center !important;
    gap: 50px;
	margin-top: 5.2083vw!important;
}

.forminator-pagination-footer .forminator-button {
    width: 18.75vw !important;
    padding: 1.302vw 2.1354vw !important;
    height: 4.375vw;
    background: #FFFFFF;
    border: 2px solid #39691C !important;
    margin-top: 0 !important;
    font-size: 1.25vw !important;
    font-family: var(--font-noto-sans-jp) !important;
    color: #39691C;
	box-shadow: unset!important;
}

.forminator-response-message.forminator-success {
    background-color: unset !important;
    -webkit-box-shadow: unset !important;
    box-shadow: unset !important;
    text-align: center !important;
}

.form-input-review {
    padding-left: 0 !important;
}

.form-input-review p {
    font-size: 0.99vw;
    line-height: 1.5625vw !important;
    margin-bottom: 0px !important;
    color: #39691C;
}

.forminator-design--default #radio-1 .forminator-field .forminator-label{
    line-height: 1.0833vw !important;
} 

.forminator-design--default #radio-1 .forminator-field .forminator-required {
    margin-top: -0.5vw;
}

.forminator-design--default .forminator-label {
    font-size: 1.09375vw !important;
    font-family: var(--font-noto-sans-jp) !important;
    font-weight: 500 !important;
    line-height: 3.0833vw !important;
    color: #39691C;
}

.forminator-description {
    font-family: var(--font-noto-sans-jp) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    font-size: 0.83333vw !important;
    line-height: 100% !important;
    color: #707070 !important;
    margin-top: 1vw!important;
}

.form-phone .forminator-description span {
    display: none;
}

.zipcode-input-wrapper .forminator-description {
    position: absolute;
    left: 0.5vw;
}

.forminator-merge-tags {
    font-size: 15px !important;
    font-weight: 500 !important;
}

.forminator-design--default .forminator-pagination-steps .forminator-step.forminator-current~.forminator-step .forminator-step-label {
    color: #707F8E !important;
    display: none !important;
}

.company_housing_management_status {
    margin-top: -40px !important;
}

input[type="checkbox"]:checked {
    accent-color: green !important;
}

.name-service {
    border-top: 1px solid #DEDEDE;
    padding: 35px 15px 0 0 !important;
}

.name-service .p1 {
    margin-top: 10px;
}


.forminator-row .forminator-radio-label {
    font-family: var(--font-noto-sans-jp) !important;
    font-weight: 400 !important;
    font-style: normal;
    font-size: 1.09375vw;
    line-height: 100%;
    color: #39691C;
    margin-left: 1.0416vw !important;
}

#custom-err {
    font-size: 12px;
    font-family: inherit;
    font-weight: 500;
    color: #E04562;
    margin-left: 30px;
}

.forminator-step-0 .forminator-step-dot::before {
    content: "項目の入力";
}

.forminator-step-1 .forminator-step-dot::before {
    content: "確認画面";
}

.forminator-step-2 .forminator-step-dot::before {
    content: "送信完了";
}

.forminator-break {
    background-color: unset !important;
}

input#forminator-field-name-4_67fb9b0a65068 {
    width: 10.4166vw;
}


.privacy-policy-container {
    display: flex;
    isolation: isolate;
    max-width: 41.6666vw;
    width: 41.6666vw;
    height: 15.625vw;
    background: #FFFFFF;
    border: 1px solid #000000;
    margin: 0 auto;
    overflow-y: auto;
}

.privacy-policy-container .forminator-field.forminator-merge-tags {
    flex-direction: column;
    align-items: center;
    gap: 2.60416vw;
    justify-content: unset;

    box-sizing: border-box;

    display: flex !important;
    padding: 2.60416vw !important;
    gap: 2.60416vw !important;
    isolation: isolate !important;

    background: #FFFFFF !important;


    font-family: var(--font-noto-sans-jp) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    font-size: 0.82051vw !important;
    line-height: 150% !important;
    /* or 24px */

    color: #333333 !important;
    flex-wrap: unset;
}

.forminator-row .privacy-policy-container .forminator-field.forminator-merge-tags p {
    font-family: var(--font-noto-sans-jp) !important;
    font-style: normal;
    font-weight: 400;
    font-size: 0.83333vw;
    line-height: 150%;
    color: #333333;
}

.privacy-policy-container .forminator-field.forminator-merge-tags .forminator-label {
    font-family: var(--font-noto-sans-jp) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    font-size: 1.25vw !important;
    line-height: 100% !important;
    text-align: center !important;

    color: #333333 !important;
}

.privacy-policy-container .forminator-field.forminator-merge-tags .forminator-label {
    font-family: var(--font-noto-sans-jp) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    font-size: 1.25vw !important;
    line-height: 100% !important;
    text-align: center !important;

    color: #333333 !important;
}

/* Custom scrollbar */
.privacy-policy-container::-webkit-scrollbar {
    width: 8px;
}

.privacy-policy-container::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 5px;
}

.privacy-policy-container::-webkit-scrollbar-thumb {
    background: #D7D6D6;
    border-radius: 5px;
}

.privacy-policy-container::-webkit-scrollbar-thumb:hover {
    background: #c0c0c0;
}

.zipcode-input-wrapper {
    display: flex;
    align-items: center;
    gap: 1vw;
    margin-bottom: 0.625vw;
    width: 28.083vw;
    position: relative;
}

.zipcode-symbol {
    font-family: var(--font-noto-sans-jp) !important;
    font-style: normal;
    font-weight: 400;
    font-size: 1.25vw;
    line-height: 100%;
    color: #39691C;
}

.zipcode-search-button {
    background-color: #333333;
    padding: 0.26041vw 0;
    cursor: pointer;
    width: 12.9375vw;
    height: 2.5vw;
    font-family: var(--font-noto-sans-jp) !important;
    font-style: normal;
    font-weight: 400;
    font-size: 0.98958vw;
    line-height: 1.197916vw;
    color: #FFFFFF;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    border-radius: 0.52083vw;
}

.radio-option-wrapper {
    display: flex;
    flex-direction: column;
    gap: 0;
}

div#checkbox-1 span.forminator-required {
    margin-right: 1vw;
}

.forminator-row #checkbox-1 .forminator-checkbox {
    margin: 0 auto;
}

.forminator-row #checkbox-1 .forminator-checkbox .forminator-checkbox-box{
    width: 1.0416666vw!important;
    height: 1.0416666vw!important;
    border-color: #000!important;
	margin-top: 0.5vw;
    flex: unset;
}

.forminator-button-next::after {
    content: '';
    display: inline-block;
    width: 1.04166vw;
    height: 1.04166vw;
    background-image: url('../img/contact/btn_yaji.png');
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: 1vw;
    position: absolute;
    top: 1.8vw;
}

.forminator-button-submit::after {
    content: '';
    display: inline-block;
    width: 1.04166vw;
    height: 1.04166vw;
    background-image: url('../img/contact/btn_yaji.png');
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: 1vw;
    position: absolute;
    top: 1.7vw;
}

.forminator-button-back::after {
    content: '';
    display: inline-block;
    width: 1.04166vw;
    height: 1.04166vw;
    background-image: url('../img/contact/btn_yaji.png');
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: 1vw;
    rotate: 180deg;
    position: absolute;
    top: 1.7vw;
    left: 3vw;
}

/**
 * End Contact Form
 * */

@media (max-width: 1024px) {
    .forminator-ui.forminator-custom-form[data-design=default] .forminator-radio .forminator-radio-bullet:before {
        width: 2.6666666vw!important;
        height: 2.6666666vw!important;
    }
	
    .forminator-row #checkbox-1 .forminator-checkbox .forminator-checkbox-box{
        min-width: 5.33333vw!important;
        min-height: 5.33333vw!important;
        border-color: #000!important;
    }
    .forminator-field-checkbox.left-error-message .forminator-error-message {
        text-align: center;
        margin-left: 1vw !important;
        margin-top: 0 !important;
    }

    a[href^="tel"] {
        pointer-events: none;
        color: inherit;
    }

    .forminator-button-next::after {
        content: '';
        display: inline-block;
        width: 2vw;
        height: 2vw;
        background-image: url('../img/contact/btn_yaji.png');
        background-size: contain;
        background-repeat: no-repeat;
        margin-left: 3vw;
        position: absolute;
        top: 4.6vw;
    }

    .contact-form-first-section {
        background-image: url("../img/contact/contract-form-banner_phone.jpg") !important;
        min-height: 90.6666vw !important;
    }

    .forminator-field {
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
        row-gap: 4vw;
        justify-content: space-between;
        padding: 0 !important;
    }

    .forminator-field input,
    .forminator-field textarea {
        padding: 0.7291vw 1.0416vw;
        background-color: #F2F2F2;
        border: 1px solid #c4c3c3;
        font-size: 4.26666vw !important;
        line-height: 1.35416vw;
        flex: 1;
        max-width: unset !important;
        width: 100% !important;
        min-height: 11.333333vw !important;
        font-family: var(--font-noto-sans-jp) !important;
    }

    .forminator-field .zipcode-input-wrapper input {
        background-color: #F2F2F2;
        border: 1px solid #F2F7FA;
        font-size: 4.26666vw !important;
        margin-left: 7vw !important;
        max-width: 28.6666vw !important;
        width: 28.6666vw !important;
        height: 9.333333vw !important;
        font-family: var(--font-noto-sans-jp) !important;
    }

    .forminator-label {
        display: flex !important;
        flex-direction: row;
        justify-content: unset;
        align-items: center;
        white-space: nowrap;
        width: fit-content;
        gap: 11px;
    }

    .forminator-field-textarea .forminator-label {
        align-items: center;
    }

    .forminator-error-message {
        width: fit-content;
        text-align: left;
        order: 2;
    }

    .forminator-label .forminator-required,
    .forminator-required {
        color: #F3F8FB !important;
        background-color: #9F0F0C !important;
        min-width: 7.7333vw !important;
        height: 6vw !important;
        padding: 2vw 1vw !important;
        border-radius: 0.6666vw !important;
        font-size: 3.2vw !important;
        content: "必須" !important;
        font-weight: 400 !important;
        line-height: 2.133vw !important;
        text-align: center !important;
    }

    .radio-option-wrapper label {
        margin: 2vw 0 !important;
    }

    .forminator-field .input-wrapper {
        display: flex;
        align-items: center;
        gap: 11px;
        width: 192px;
    }

    .forminator-row .hr {
        border-top: 1px solid #DEDEDE;
        margin: 0;
        padding: 0 !important;
    }

    .forminator-row .hr-big {
        border-top: 4px solid #BBC8D5;
        margin: 0;
        padding: 0 !important;
    }

    .forminator-pagination-steps {
        width: 100% !important;
        height: 12.50833vw !important;
    }

    .forminator-pagination-steps,
    .forminator-pagination-steps-view {
        align-items: flex-start !important;
        width: 100% !important;
        display: flex !important;
        margin: 0 0 15.8125vw !important;
        gap: 0;
        justify-content: center;
    }

    .forminator-ui.forminator-custom-form[data-design=default]:not(.forminator-size--small) .forminator-pagination-steps .forminator-step {
        width: 31.6875vw !important;
		height: auto!important;
    }

    .forminator-step.forminator-step .forminator-step-dot {
        width: 100%!important;
        height: 5.20833vw !important;
        margin-right: 0!important;
    }

    .forminator-step-dot {
        font-family: var(--font-noto-sans-jp) !important;
        font-style: normal;
        font-weight: 400;
        font-size: 3.5333vw;
        line-height: 100%;
        color: #FFFFFF;
        color: #39691C;
        /* background-color: unset !important; */
        /* width: 25.791vw !important; */
        min-height: 13.20833vw !important;
        padding: 4.8vw 1.8vw !important;
        letter-spacing: 1.32px;
    }

    .forminator-current .forminator-step-dot {
        border: none !important;
        color: #fff;
    }

    .forminator-step-label {
        width: 114px !important;
        margin-top: 10px;
        font-size: 15px;
        line-height: 30px;
    }

    .forminator-current .forminator-step-label {
        /* color: #C9141E !important; */
        display: none !important;
    }

    .forminator-row {
        margin-bottom: 6.66666vw !important;
    }
	
	.forminator-row .form-zipcode{
        height: 33vw;
    }

    .form-input-both-line {
        padding: 30px 0px !important;
        border-bottom: 1px solid #DEDEDE;
        border-top: 1px solid #DEDEDE;
    }

    .form-input-bottom-line {
        padding: 0 0 6.6666vw 0 !important;
    }

    .form-input-no-line {
        padding: 0 0 30px 0 !important;
        border-bottom: none !important;
    }

    .input-480 input {
        flex: 0 1 26.04166vw;
    }

    .input-640 input {
        flex: 0 1 640px;
    }

    .iti--show-flags {
        display: flex !important;
    }

    .iti__country-container {
        display: none;
    }

    .input-140 input {
        flex: 0 1 140px;
    }

    .survey {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .form-heading {
        padding: 9px 15px !important;
        background-color: #E5EFF5;
        margin-top: 70px;
        margin-bottom: 20px;
    }

    .form-heading .inquiry-title {
        font-size: 16px;
        line-height: 34px;
        font-weight: bold;
    }

    .form-subheading {
        padding: 0 !important;
    }

    .form-subheading p {
        font-size: 15px;
        line-height: 30px;
    }

    .survey .forminator-label {
        width: 210px;
    }

    .forminator-ui.forminator-custom-form[data-design=default] .forminator-radio:not(.forminator-radio-inline):first-of-type {
        margin-top: 0 !important;
    }

    #forminator-field-radio-1-label-1 {
        align-items: end !important;
        margin-top: 0 !important;
    }

    .survey #forminator-field-radio-1-label-5 {
        margin-left: 230px;
        margin-top: 0px;
    }

    .form-textarea .forminator-textarea {
        flex: 0 1 650px;
    }

    .form-textarea:not(.no-ml) .forminator-textarea {
        margin-top: 20px !important;
        margin-left: 245px !important;
    }

    .mt--40 {
        margin-top: -40px;
    }

    .forminator-col:not(.survey):not(.form-textarea) .forminator-error-message {
        background-color: unset !important;
        /* margin-left: 54vw !important; */
        font-size: 3.733333vw !important;
        text-align: left !important;
    }

    .survey .forminator-error-message {
        background-color: unset !important;
        margin-left: 250px !important;
    }

    .form-textarea .forminator-error-message {
        background-color: unset !important;
        margin-left: 230px !important;
    }

    .forminator-pagination-footer {
        justify-content: center !important;
        gap: 2vw;
    }

    .forminator-pagination-footer .forminator-button {
        margin-bottom: 0 !important;
        width: 38vw !important;
        padding: 1.302vw 2.1354vw !important;
        height: 11.2vw !important;
        background: #FFFFFF;
        border: 2px solid #39691C !important;
        margin-top: 6.770833vw !important;
        font-size: 3.2vw !important;
        font-family: var(--font-noto-sans-jp) !important;
        color: #39691C;
    }

    .forminator-button-submit::after {
        content: '';
        display: inline-block;
        width: 2.04166vw;
        height: 2.04166vw;
        background-image: url("../img/contact/btn_yaji.png");
        background-size: contain;
        background-repeat: no-repeat;
        margin-left: 3vw;
        position: absolute;
        top: 4.5vw;
    }

    .forminator-button-back::after {
        content: '';
        display: inline-block;
        width: 2.04166vw;
        height: 2.04166vw;
		background-image: url("../img/contact/btn_yaji.png");
        background-size: contain;
        background-repeat: no-repeat;
        margin-left: 1vw;
        rotate: 180deg;
        position: absolute;
        top: 4.5vw;
        left: 3vw;
    }

    .forminator-response-message.forminator-success {
        background-color: unset !important;
        -webkit-box-shadow: unset !important;
        box-shadow: unset !important;
        text-align: center !important;
    }

    .form-input-review {
        padding-left: 0 !important;
    }

    .form-input-review p {
        font-size: 15px !important;
        line-height: 30px !important;
        margin-bottom: 0px !important;
    }

    .forminator-design--default .forminator-label {
        font-size: 4.4vw !important;
        font-family: var(--font-noto-sans-jp) !important;
        font-weight: 500 !important;
        line-height: 4vw !important;
    }

    .input-description-wrapper{
        width: 100%!important;
    }

    .forminator-description {
        font-size: 3.733333vw !important;
        position: unset !important;
        color: #707070 !important;
        pointer-events: none;
        color: inherit;
        margin-top: 2.66666vw !important;
    }

    .forminator-button-next,
    .forminator-button-submit,
    .forminator-button-back {
        color: #39691C !important;
    }

    .forminator-merge-tags {
        font-size: 15px !important;
        font-weight: 500 !important;
    }

    .forminator-design--default .forminator-pagination-steps .forminator-step.forminator-current~.forminator-step .forminator-step-label {
        color: #707F8E !important;
        display: none !important;
    }

    .company_housing_management_status {
        margin-top: -40px !important;
    }

    input[type="checkbox"]:checked {
        accent-color: green !important;
    }

    .name-service {
        border-top: 1px solid #DEDEDE;
        padding: 35px 15px 0 0 !important;
    }

    .name-service .p1 {
        margin-top: 10px;
    }


    .forminator-row .forminator-radio-label {
        font-family: var(--font-noto-sans-jp) !important;
        font-style: normal;
        font-weight: 400!important;
        font-size: 3.7333vw;
        line-height: 100%!important;
    }

    #custom-err {
        font-size: 12px;
        font-family: inherit;
        font-weight: 500;
        color: #E04562;
        margin-left: 30px;
    }

    .forminator-step-0 .forminator-step-dot::before {
        content: "項目の入力";
    }

    .forminator-step-1 .forminator-step-dot::before {
        content: "確認画面";
    }

    .forminator-step-2 .forminator-step-dot::before {
        content: "送信完了";
    }

    .forminator-break {
        background-color: unset !important;
    }

    input#forminator-field-name-4_67fb9b0a65068 {
        width: 10.4166vw;
    }


    .privacy-policy-container {
        box-sizing: border-box;
        display: flex;
        padding: 0;
        isolation: isolate;
        max-width: 100%;
        width: 100%;
        height: 60vw;
        background: #FFFFFF;
        border: 1px solid #000000;
        margin: 0 auto;
        overflow-y: auto;
    }

    .privacy-policy-container .forminator-field.forminator-merge-tags {
        flex-direction: column;
        align-items: center;
        gap: 2.60416vw;
        justify-content: unset;
        box-sizing: border-box;
        display: flex !important;
        padding: 2.60416vw 0 !important;
        gap: 2.60416vw !important;
        isolation: isolate !important;
        background: #FFFFFF !important;
        font-family: var(--font-noto-sans-jp) !important;
        font-style: normal !important;
        font-weight: 400 !important;
        font-size: 2.133333vw !important;
        line-height: 150% !important;
        color: #333333 !important;
        flex-wrap: unset;
    }

    .privacy-policy-container .forminator-field.forminator-merge-tags .forminator-label {
        font-family: var(--font-noto-sans-jp) !important;
        font-style: normal !important;
        font-weight: 400 !important;
        font-size: 4.666666vw !important;
        line-height: 100% !important;
        text-align: center !important;

        color: #333333 !important;
    }
	
	.forminator-row .privacy-policy-container .forminator-field.forminator-merge-tags p {
        font-size: 4.4vw !important;
    }

    /* Custom scrollbar */
    .privacy-policy-container::-webkit-scrollbar {
        width: 8px;
    }

    .privacy-policy-container::-webkit-scrollbar-track {
        background: #f1f1f1;
        border-radius: 5px;
    }

    .privacy-policy-container::-webkit-scrollbar-thumb {
        background: #D7D6D6;
        border-radius: 5px;
    }

    .privacy-policy-container::-webkit-scrollbar-thumb:hover {
        background: #c0c0c0;
    }

    .zipcode-input-wrapper {
        display: flex;
        align-items: center;
        gap: 0.5vw;
        margin-bottom: 0.625vw;
        width: 79.083vw;
        position: relative;
    }

    .zipcode-symbol {
        font-family: var(--font-noto-sans-jp) !important;
        font-style: normal;
        font-weight: 400;
        font-size: 5.2vw;
        line-height: 1.510vw;
        color: #39691C;
        position: absolute;
        top: 4.6vw;
        left: -1vw;
    }

    .zipcode-search-button {
        background-color: #333333;
        padding: 0.26041vw;
        border: none;
        transition: background-color 0.2s ease;
        width: 44.3333vw;
        height: 8.4vw;
        font-family: var(--font-noto-sans-jp) !important;
        font-style: normal;
        font-weight: 400;
        font-size: 3.53333vw;
        line-height: 1.1979vw;
        color: #FFFFFF;
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        border-radius: 10px;
        position: absolute;
        right: -5vw;
        top: 1.5vw;
    }

    .radio-option-wrapper {
        display: flex;
        flex-direction: column;
        gap: 0.625vw;
    }

    div#checkbox-1 span.forminator-required {
        margin-right: 1vw;
    }

    .forminator-row #checkbox-1 .forminator-checkbox {
        margin: 0;
    }
}

.description-text-pc {
    display: flex;
}

.description-text-phone {
    display: none;
}

/* END CSS Contact form  */

@media (max-width: 1024px) {
    .description-text-pc {
        display: none;
    }

    .description-text-phone {
        display: flex;
    }

    .contact-form-section {
        min-height: fit-content;
        padding: 10.4166vw 3.2vw 20vw;
    }

    .contact-form-container {
        width: 100%;
        min-height: 239.5833vw;
        padding: 13.333vw 0 10.666vw;
        display: flex;
        row-gap: 5vw;
        flex-direction: column;
        box-sizing: border-box;
    }

    .contact-form-section .contact-form-container .description-row p {
        width: 100%;
        font-family: var(--font-noto-sans-jp) !important;
        font-style: normal;
        font-weight: 400;
        font-size: 4.4vw;
        line-height: 180%;
        /* or 34px */
        text-align: left;
    }

    .contact-form-section .contact-form-container .information-box {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 6.6666vw 3.2083vw;
        gap: 5.60416vw;
        width: 100%;
        height: 33.333vw;
        border: 2px solid #39691C;
        border-radius: 30px;
        margin: 0 auto;
    }

    .phone-information h2 {
        font-family: var(--font-noto-sans-jp);
        font-style: normal;
        color: #39691C;
        font-weight: 500;
        font-size: 6.8vw;
        line-height: 100%;
    }

    .phone-information {
        display: flex;
        gap: 5vw;
    }

    .time-information {
        display: flex;
        gap: 2vw;
        flex-direction: column;
        font-family: var(--font-noto-sans-jp);
        font-style: normal;
        font-weight: 350;
        font-size: 3.2vw;
        line-height: 2.08333vw;
        color: #39691C;
    }

    .contact-form-section .contact-form-container .information-box span {

        font-family: var(--font-noto-sans-jp) !important;
        font-style: normal;
        font-weight: 400;
        font-size: 2.13333vw;
        line-height: 100%;

        color: #000000;
    }

    .forminator-ui.forminator-custom-form[data-design=default] .forminator-description span {
        display: none;
    }

    .forminator-checkbox-label {
        font-size: 3vw !important;

        font-family: var(--font-noto-sans-jp) !important;
        font-style: normal;
        font-weight: 500;
        line-height: 100%;

        color: #39691C;
    }
}

/* Another Contact form  */
.finish-form .contact-form-container {
    padding: 0;
    height: fit-content;
    min-height: fit-content;
}

.finish-form {
    display: none;
    flex-direction: column;
    column-gap: 2vw;
}

.contact-form-section .content-form {
    width: fit-content;
    justify-items: center;
    margin: 0 auto;

    display: flex;
    flex-direction: column;
    gap: 7.8125vw;
}

.contact-form-section .content-form img {
    margin: 0 auto;
    width: 8.33333vw;
    height: 10.52083vw;
}

.contact-form-section .content-form .detail-content p {
    text-align: center !important;

    font-family: var(--font-noto-sans-jp) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    font-size: 1.09375vw !important;
    line-height: 180% !important;
    text-align: center !important;

    color: #39691C;
}

.color-background {
    background: linear-gradient(to bottom, transparent 30%, #1D115A 10%);
    width: 46.82vw;
    height: 16.73vw;
    margin: 0 auto;
}

.left-error-message .forminator-error-message {
    text-align: left;
    margin-top: 2vw !important;
    margin-left: 18vw !important;
}

.forminator-field-checkbox.left-error-message .forminator-error-message {
    text-align: center;
    margin-left: -5.5vw !important;
    margin-top: 0 !important;
}

.forminator-field .inquiry-title {
    font-size: 0.99vw !important;
    font-family: var(--font-noto-sans-jp) !important;
    font-weight: 400;
	color: #39691C;
}
.forminator-design--default .forminator-radio .forminator-radio-bullet {
	width: 1.302083vw!important;
	height: 1.302083vw!important;
	flex: unset!important;
}

@media (max-width: 1024px) {
	.forminator-design--default .forminator-radio .forminator-radio-bullet {
    	width: 4.33333vw!important;
    	height: 4.33333vw!important;
    	flex: unset!important;
    }
    .forminator-field .inquiry-title {
        font-size: 15px !important;
        font-family: var(--font-noto-sans-jp) !important;
        font-weight: 400;
		color: #39691C;
    }

    .finish-form .contact-form-container {
        row-gap: 10vw;
        padding: 7.8125vw 6.41666vw;
        height: fit-content;
        min-height: fit-content;
    }

    .finish-form {
        flex-direction: column;
        column-gap: 2vw;
    }

    .contact-form-section .content-form {
        width: fit-content;
        justify-items: center;
        margin: 0 auto;

        display: flex;
        flex-direction: column;
        gap: 7.8125vw;
    }

    .contact-form-section .content-form img {
        margin: 0 auto;
        width: 10.33333vw;
        height: 12.52083vw;
    }

    .contact-form-section .content-form .detail-content p {
        text-align: center !important;
        font-family: var(--font-noto-sans-jp) !important;
        font-style: normal !important;
        font-weight: 400 !important;
        font-size: 2.09375vw !important;
        line-height: 180% !important;
        text-align: center !important;
        color: #000000;
    }

    .color-background {
        background: linear-gradient(to bottom, transparent 30%, #1D115A 10%);
        width: 46.82vw;
        height: 16.73vw;
        margin: 0 auto;
    }

    .left-error-message .forminator-error-message {
        text-align: right;
        margin-top: 0vw !important;
        margin-left: 0vw !important;
    }

    .forminator-field-checkbox.left-error-message .forminator-error-message {
        text-align: center;
        margin-left: 0vw !important;
        margin-top: 0 !important;
    }
}

/* End Another Contact form  */

/* Start CSS Front Page */
#front-page {
    .hero-section {
        position: relative;
        width: 100%;
        height: calc(100vw * (746 / 1920));
    }
    .hero-bg {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: -1;
    }
    .hero-bg__mask {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        mask: #d9d9d9;
        mask-mode: alpha;
    }
    .hero-bg__texture {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        opacity: 0.1;
        background-image: url(../img/top/bg-texture.webp);
    }
    .hero-bg__img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        background-image: url(../img/top/top-hero.webp);
        background-size: cover;
        background-position: center 43%;
        opacity: 0.1;
    }
    .hero-title {
        position: absolute;
        left: 0;
        bottom: 0;
        width: calc(100vw * (1093 / 1920));
        height: calc(100vw * (678 / 1920));
        /* animation */
        opacity: 0;
        transform: scale(1.5);
    }
    .hero-title__mask-wrapper {
        position: absolute;
        top: calc(100vw * (28 / 1920));
        right: calc(100vw * (69 / 1920));
        bottom: 0;
        left: 0;
    }
    .hero-title__mask {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        mask: url(../img/top/top-hill-mask.svg#top-hill-mask);
        -webkit-mask: url(../img/top/top-hill-mask.svg#top-hill-mask);
        mask-repeat: no-repeat;
        mask-size: contain;
    }
    .hero-title__mask-bottom-sp {
        display: none;
    }
    .hero-title__heading-list {
        position: absolute;
        display: flex;
        flex-direction: column;
        align-items: center;
        top: calc(100vw * (272 / 1920));
        left: calc(100vw * (14.44 / 1920));
    }
    .hero-title__tape-wrapper {
        position: absolute;
        height: calc(100vw * (29 / 1920));
        overflow: hidden;
        display: flex;
        justify-content: end;
    }
    .hero-title__tape-wrapper--left {
        top: calc(100vw * (107.46 / 1920));
        left: calc(100vw * (-11.55 / 1920));
        width: calc(100vw * (761 / 1920));
        transform: rotate(-16.5deg);
    }
    .hero-title__tape-wrapper--right {
        top: calc(100vw * (85.69 / 1920));
        right: calc(100vw * (15.97 / 1920));
        width: calc(100vw * (296 / 1920));
        transform: rotate(36.76deg);
    }

    .hero-title__tape {
        display: flex;
        align-items: center;
        column-gap: calc(100vw * (14 / 1920));
        /* Text */
        color: var(--color-primary);
        font-family: var(--font-noto-serif-jp);
        font-weight: 700;
        font-size: calc(100vw * (24 / 1920));
        line-height: 1.2;
        /* Animation */
    }
    .hero-title__tape-wrapper .hero-title__tape:nth-child(2) {
        padding-left: calc(100vw * (14 / 1920));
    }
    .hero-title__tape span {
        word-break: keep-all;
        white-space: nowrap;
    }
    .hero-title__message {
        position: absolute;
        right: calc(-100vw * (419 / 1920));
        bottom: calc(100vw * (17 / 1920));
        font-family: var(--font-noto-serif-jp);
        font-size: calc(100vw * (26 / 1920));
        font-weight: 700;
        line-height: 1.7;
        letter-spacing: 0.04em;
        color: var(--color-primary);
    }
    .hero-content {
        position: absolute;
        top: calc(100vw * (62 / 1920));
        right: calc(100vw * (100 / 1920));
        width: calc(100vw * (671.5 / 1920));
        height: calc(100vw * (536.56 / 1920));
    }
    .hero-content__img {
        /* animation */
        opacity: 0;
        translate: -20% -50%;
        rotate: -90deg;
    }
    .hero-content__img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .hero-content__img--1 {
        position: absolute;
        top: 0;
        right: 0;
        width: auto;
        height: 100%;
    }
    .hero-content__img--2 {
        position: absolute;
        top: calc(100vw * (19 / 1920));
        left: 0;
        width: calc(100vw * (198 / 1920));
        height: auto;
    }
    .hero-content__img--3 {
        position: absolute;
        bottom: calc(100vw * (60 / 1920));
        left: calc(100vw * (66 / 1920));
        width: calc(100vw * (161 / 1920));
        height: auto;
    }
    @media (max-width: 1024px) {
        .hero-section {
            height: calc(100vw * (740 / 375));
            overflow: hidden;
        }
        .hero-bg {
            height: calc(100vw * (480 / 375));
            width: calc(100vw * (450 / 375));
            left: 50%;
            transform: translateX(-50%);
        }
        .hero-bg__img {
            background-position-x: 25%;
        }
        .hero-title {
            top: calc(100vw * (263 / 375));
            left: 0;
            width: 100%;
            height: calc(100vw * (477 / 375));
        }
        .hero-title__tape-wrapper {
            height: calc(100vw * (19 / 375));
        }
        .hero-title__tape-wrapper .hero-title__tape:nth-child(2) {
            padding-left: calc(100vw * (10 / 375));
        }
        .hero-title__tape-wrapper--left {
            width: calc(100vw * (470 / 375));
            top: calc(100vw * (66.3 / 375));
            left: calc(100vw * (-189 / 375));
        }
        .hero-title__tape-wrapper--right {
            width: calc(100vw * (526 / 375));
            top: calc(100vw * (159 / 375));
            right: calc(100vw * (-395 / 375));
        }
        .hero-title__tape {
            font-size: calc(100vw * (16 / 375));
            letter-spacing: -0.05em;
            column-gap: calc(100vw * (10 / 375));
        }
        .hero-title__mask-wrapper {
            top: calc(100vw * (26 / 375));
            right: 0;
            left: 0;
            width: 100%;
        }
        .hero-title__mask-bottom-sp {
            display: block;
            position: absolute;
            top: calc(100vw * (85 / 375));
            left: 0;
            width: 100%;
            height: 100%;
        }
        .hero-title__heading-list {
            top: calc(100vw * (156 / 375));
            left: 50%;
            transform: translateX(-50%);
        }
        .hero-title__message {
            width: 100%;
            bottom: calc(100vw * (11 / 375));
            left: 50%;
            transform: translateX(-50%);
            color: var(--color-secondary);
            font-size: calc(100vw * (20 / 375));
            text-align: center;
        }
        .hero-content {
            right: unset;
            top: calc(100vw * (83 / 375));
            left: calc(100vw * (21 / 375));
            width: calc(100vw * (227 / 375));
            height: calc(100vw * (216 / 375));
        }
        .hero-content__img--1 {
            width: calc(100vw * (140 / 375));
            height: auto;
        }
        .hero-content__img--2 {
            top: calc(100vw * (37 / 375));
            width: calc(100vw * (77 / 375));
        }
        .hero-content__img--3 {
            width: calc(100vw * (63 / 375));
            bottom: 0;
        }
    }
	/* Portrait-specific styles for small phones */
    @media (max-width: 389px) and (orientation: portrait) {
        .hero-section {
            height: calc(100vw * (667 / 375));
        }
        .hero-title__heading-list {
            top: calc(100vw * (110 / 375));
        }
        .hero-title__message {
            bottom: calc(100vw * (80 / 375));
        }
    }
    .intro-section {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: start;
        padding-top: calc(100vw * (130 / 1920));
        padding-bottom: calc(100vw * (232 / 1920));
        padding-left: calc(100vw * (250 / 1920));
        padding-right: calc(100vw * (250 / 1920));
        overflow: hidden;
    }
    .intro-section__header-wrapper {
        display: flex;
        flex-direction: column;
        gap: calc(100vw * (10 / 1920));
        margin-bottom: calc(100vw * (31 / 1920));
    }
    .intro-section__header {
        width: fit-content;
        height: calc(100vw * (65 / 1920));
        color: var(--color-primary);
        background-color: var(--color-secondary);
        font-family: var(--font-noto-serif-jp);
        font-weight: 700;
        font-size: calc(100vw * (37 / 1920));
        line-height: 1;
        display: flex;
        align-items: center;
        justify-content: start;
        letter-spacing: 0.1em;
        padding: 0 calc(100vw * (5 / 1920));
        /* animation */
        clip-path: inset(0px 100% 0px 0px);
    }
    .intro-section__header--large {
        font-size: calc(100vw * (58 / 1920));
        line-height: 1.12;
    }
    .intro-section__header--small {
        font-size: calc(100vw * (37 / 1920));
    }
    .intro-section__header--large-spacing {
        letter-spacing: -0.6em;
    }
    .intro-section__message-wrapper {
        overflow: hidden;
        margin-bottom: calc(100vw * (83 / 1920));
    }
    .intro-section__message {
        max-width: calc(100vw * (710 / 1920));
        font-weight: 400;
        font-size: calc(100vw * (24 / 1920));
        color: var(--color-secondary);

        /* animation */
        transform: translateY(100%);
    }
    .intro-section__marquee-wrapper {
        position: absolute;
        left: 25%;
        transform: translateX(-25%);
        bottom: calc(-100vw * (45 / 1920));
        display: flex;
    }
    .intro-section__marquee {
        display: flex;
        column-gap: calc(100vw * (44 / 1920));
        animation: rightToLeftMarquee 100s linear infinite;
    }
    .intro-section__marquee:nth-child(2) {
        padding-left: calc(100vw * (44 / 1920));
    }
    .intro-section__marquee span {
        font-family: var(--font-purple-purse);
        font-size: calc(100vw * (168 / 1920));
        color: transparent;
        -webkit-text-stroke: 1px var(--color-secondary);
    }
    .intro-section__flower-wrapper {
        position: absolute;
        bottom: calc(100vw * (67 / 1920));
        right: calc(-100vw * (89 / 1920));
        width: calc(100vw * (661 / 1920));
        height: calc(100vw * (687 / 1920));
    }
    .intro-section__flower {
        position: absolute;
        width: calc(100vw * (186 / 1920));
        height: calc(100vw * (287 / 1920));
        /* animation */
        opacity: 0;
    }
    .intro-section__flower--petal-1 {
        top: calc(100vw * (19 / 1920));
        right: calc(100vw * (142 / 1920));
        rotate: 15deg;
    }
    .intro-section__flower--petal-2 {
        top: calc(100vw * (230 / 1920));
        right: calc(100vw * (51 / 1920));
        rotate: 90.23deg;
    }
    .intro-section__flower--petal-3 {
        bottom: calc(100vw * (27 / 1920));
        right: calc(100vw * (194 / 1920));
        rotate: 150deg;
    }
    .intro-section__flower--petal-4 {
        top: calc(100vw * (252 / 1920));
        left: calc(100vw * (77 / 1920));
        rotate: -120deg;
    }
    .intro-section__flower--petal-5 {
        top: calc(100vw * (62 / 1920));
        left: calc(100vw * (100 / 1920));
        rotate: -66.29deg;
    }
    @media (min-width: 1025px) {
        .animate-pc {
            .intro-section__header {
                animation: textClipLeftToRight 1s ease forwards;
                animation-delay: var(--top-animation-delay);
            }
            .intro-section__message {
                animation: slideUpAnimation 1s ease forwards;
                animation-delay: calc(var(--top-animation-delay) + 1s);
            }
            .intro-section__flower--petal-1,
            .intro-section__flower--petal-2,
            .intro-section__flower--petal-3 {
                animation: falling-leaves 2s ease forwards;
                animation-delay: calc(var(--top-animation-delay) + 1s);
            }
            .intro-section__flower--petal-4,
            .intro-section__flower--petal-5 {
                animation: falling-leaves-reversed 2s ease forwards;
                animation-delay: calc(var(--top-animation-delay) + 1s);
            }
        }
    }
    @media (max-width: 1024px) {
        .animate-sp .intro-section__header {
            animation: textClipLeftToRight 1s ease forwards;
            animation-delay: var(--top-animation-delay);
        }
        .animate-sp .intro-section__message {
            animation: slideUpAnimation 1s ease forwards;
            animation-delay: var(--top-animation-delay);
        }
        .animate-sp .intro-section__flower--petal-1,
        .animate-sp .intro-section__flower--petal-2,
        .animate-sp .intro-section__flower--petal-3 {
            animation: falling-leaves 2s ease forwards;
            animation-delay: var(--top-animation-delay);
        }
        .animate-sp .intro-section__flower--petal-4,
        .animate-sp .intro-section__flower--petal-5 {
            animation: falling-leaves-reversed 2s ease forwards;
            animation-delay: var(--top-animation-delay);
        }
    }
    @media (max-width: 1024px) {
        .intro-section {
            padding-top: calc(100vw * (100 / 375));
            padding-bottom: calc(100vw * (80 / 375));
            padding-left: calc(100vw * (30 / 375));
            padding-right: calc(100vw * (30 / 375));
        }
        .intro-section__header-wrapper {
            width: 100%;
            margin-bottom: calc(100vw * (80 / 375));
            row-gap: calc(100vw * (20 / 375));
        }
        .intro-section__header {
            width: 100%;
            font-size: calc(100vw * (24 / 375));
            height: calc(100vw * (64 / 375));
            letter-spacing: 0;
            box-sizing: border-box;
        }
        .intro-section__header--large {
            font-size: calc(100vw * (35 / 375));
        }
        .intro-section__header--small {
            font-size: calc(100vw * (20 / 375));
        }
        .intro-section__header--large-spacing {
            letter-spacing: -0.3em;
            font-size: calc(100vw * (20 / 375));
        }
        .intro-section__header:nth-child(1) {
            padding-top: calc(100vw * (10 / 375));
            padding-bottom: calc(100vw * (15 / 375));
            padding-left: calc(100vw * (12 / 375));
            padding-right: 0;
        }
        .intro-section__header:nth-child(2) {
            padding-top: calc(100vw * (19 / 375));
            padding-bottom: calc(100vw * (20 / 375));
            padding-left: calc(100vw * (17 / 375));
            padding-right: 0;
        }
        .intro-section__message-wrapper {
            margin-bottom: calc(100vw * (80 / 375));
        }
        .intro-section__message {
            max-width: 100%;
            font-size: calc(100vw * (16 / 375));
        }
        .intro-section .link-button {
            padding: calc(100vw * (13 / 375)) calc(100vw * (42 / 375));
        }
        .intro-section__marquee-wrapper {
            bottom: unset;
            top: calc(100vw * (692 / 375));
            left: calc(-100vw * (650 / 375));
            transform: rotate(90deg);
            max-width: calc(100vw * (1372 / 375));
            display: flex;
            opacity: 0.3;
            overflow: hidden;
        }
        .intro-section__marquee {
            column-gap: calc(100vw * (20 / 375));
            font-size: calc(100vw * (90 / 375));
            animation-direction: reverse;
        }
        .intro-section__marquee span {
            font-size: calc(100vw * (90 / 375));
        }
        .intro-section__marquee:nth-child(2) {
            padding-left: calc(100vw * (20 / 375));
        }
        .intro-section__flower-wrapper {
            width: calc(100vw * (350 / 375));
            height: calc(100vw * (364 / 375));
            bottom: calc(100vw * (10 / 375));
            right: calc(-100vw * (75 / 375));
        }
        .intro-section__flower {
            width: calc(100vw * (98 / 375));
            height: calc(100vw * (152 / 375));
        }
        .intro-section__flower--petal-1 {
            top: calc(100vw * (10 / 375));
            right: calc(100vw * (75 / 375));
        }
        .intro-section__flower--petal-2 {
            top: calc(100vw * (122 / 375));
            right: calc(100vw * (27 / 375));
        }
        .intro-section__flower--petal-3 {
            bottom: calc(100vw * (14 / 375));
            right: calc(100vw * (103 / 375));
        }
        .intro-section__flower--petal-4 {
            top: calc(100vw * (134 / 375));
            left: calc(100vw * (41 / 375));
        }
        .intro-section__flower--petal-5 {
            top: calc(100vw * (33 / 375));
            left: calc(100vw * (53 / 375));
        }
    }
    .business-section {
        position: relative;
        overflow: hidden;
        padding-top: calc(100vw * (393 / 1920));
        padding-bottom: calc(100vw * (120 / 1920));
        min-height: 100vh;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .business-section__marquee-wrapper {
        position: absolute;
        top: calc(100vw * (41 / 1920));
        left: calc(-100vw * (180 / 1920));
        display: flex;
        column-gap: calc(100vw * (24 / 1920));
    }
    .business-section__marquee {
        display: flex;
        column-gap: calc(100vw * (24 / 1920));
        animation: rightToLeftMarquee 80s linear infinite;
    }
    .business-section__marquee-item--square,
    .business-section__marquee-item--rect {
        width: auto;
        height: calc(100vw * (238 / 1920));
    }
    .business-section-heading {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-bottom: calc(100vw * (56 / 1920));
        z-index: 1;
    }
    .business-section-heading__title {
        font-family: var(--font-noto-serif-jp);
        font-weight: 700;
        line-height: 1.45;
        color: var(--color-primary);
        letter-spacing: 0;
        text-align: center;
        margin-bottom: calc(100vw * (8 / 1920));
    }
    .business-section-heading__title--large {
        font-size: calc(100vw * (50 / 1920));
    }
    .business-section-heading__title--small {
        font-size: calc(100vw * (32 / 1920));
    }
    .business-section-sub-heading {
        display: flex;
        align-items: center;
        column-gap: calc(100vw * (8 / 1920));
        margin-bottom: calc(100vw * (32 / 1920));
    }
    .business-section-sub-heading__title {
        font-size: calc(100vw * (18 / 1920));
        color: var(--color-primary);
        font-weight: 700;
    }
    .business-section-sub-heading__icon {
        width: calc(100vw * (20 / 1920));
        aspect-ratio: 1;
        border-radius: 100%;
        background-color: #b14421;
    }
    .business-section-heading__message {
        font-weight: 500;
    }
    .business-section__card-list {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: calc(100vw * (64 / 1920));
        margin-bottom: calc(100vw * (56 / 1920));
        z-index: 1;
    }
    .business-section__card {
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: space-between;
        background-color: var(--color-tertiary);
        min-height: calc(100vw * (707 / 1920));
        padding: calc(100vw * (62 / 1920)) 0;
    }
    .business-section__card--left {
        margin-left: calc(100vw * (100 / 1920));
        padding-left: calc(100vw * (150 / 1920));
        border-top-left-radius: calc(100vw * (24 / 1920));
        border-bottom-left-radius: calc(100vw * (24 / 1920));
    }
    .business-section__card--right {
        margin-right: calc(100vw * (100 / 1920));
        padding-right: calc(100vw * (116 / 1920));
        border-top-right-radius: calc(100vw * (24 / 1920));
        border-bottom-right-radius: calc(100vw * (24 / 1920));
    }
    .business-section-card__title {
        font-family: var(--font-noto-serif-jp);
        font-weight: 700;
        font-size: calc(100vw * (48 / 1920));
        line-height: 1.2;
        color: var(--color-primary);
    }
    .business-section-card-inner {
        display: flex;
        flex-direction: column;
        gap: calc(100vw * (90 / 1920));
    }
    .business-section-card-inner__content-wrapper {
        overflow: hidden;
    }
    .business-section-card-inner__content {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: calc(100vw * (16 / 1920));
        /* Initial state */
        transform: translateY(100%);
    }
    .business-section-card__title--big {
        font-size: calc(100vw * (70 / 1920));
    }
    .business-section-card__title--negative-spacer-25 {
        letter-spacing: -0.25em;
    }
    .business-section-card__title--negative-spacer-10 {
        letter-spacing: -0.1em;
    }
    .business-section-card__message {
        font-weight: 500;
        color: var(--color-primary);
        max-width: calc(100vw * (458 / 1920));
    }
    .business-section-card__img-wrapper {
        position: relative;
        width: 100%;
        width: calc(100vw * (1165 / 1920));
        height: calc(100vw * (583 / 1920));
        overflow: hidden;
    }
    .business-section-card__img {
        width: 100%;
        height: 100%;
        background-size: 100% 100%;
    }
    .business-section-card__img--card-1 {
        background-image: url("../img/top/company-gallery-7.webp");
    }
    .business-section-card__img--card-2 {
        background-image: url("../img/top/company-gallery-8.webp");
    }
    .business-section-card__img--card-3 {
        background-image: url("../img/top/company-gallery-9.webp");
    }
    .business-section__card--left .business-section-card__img-wrapper {
        border-top-left-radius: calc(100vw * (8 / 1920));
        border-bottom-left-radius: calc(100vw * (8 / 1920));
    }
    .business-section__card--right .business-section-card__img-wrapper {
        border-top-right-radius: calc(100vw * (8 / 1920));
        border-bottom-right-radius: calc(100vw * (8 / 1920));
    }
    .business-section__leaf-decoration {
        position: absolute;
        top: calc(100vw * (516 / 1920));
        left: calc(-100vw * (334 / 1920));
        width: calc(100vw * (867 / 1920));
        height: calc(100vw * (782 / 1920));
    }
    @media (min-width: 1025px) {
        .animate-pc {
            .business-section-card-inner__content {
                animation: slideUpAnimation 1.2s ease forwards;
                animation-delay: var(--top-animation-delay);
            }
            .gradient-cover {
                animation: slideUpOut 1.2s ease forwards;
                animation-delay: var(--top-animation-delay);
            }
        }
    }
    @media (max-width: 1024px) {
        .animate-sp .business-section-card-inner__content {
            animation: slideUpAnimation 1.2s ease forwards;
            animation-delay: var(--top-animation-delay);
        }
        .animate-sp .gradient-cover  {
            animation: slideUpOut 1.2s ease forwards;
            animation-delay: var(--top-animation-delay);
        }
    }
    .animate.business-section__leaf-decoration {
        animation: falling-leaves 1s ease forwards;
        animation-delay: var(--top-animation-delay);
    }
    @media (min-width: 1025px) {
        /* Overrides for company section card */
        .business-section
            .business-section__card:nth-child(1)
            .business-section-card-inner__content {
            gap: calc(100vw * (31 / 1920));
        }
        .business-section
            .business-section__card:nth-child(1)
            .link-button__text {
            padding-right: calc(100vw * (39 / 1920));
        }
        .business-section
            .business-section__card:nth-child(2)
            .link-button__text {
            padding-right: calc(100vw * (25 / 1920));
        }
        .business-section #company-link-btn {
            padding-right: calc(100vw * (21 / 1920));
        }
    }
    @media (max-width: 1024px) {
        .business-section {
            padding-top: calc(100vw * (180 / 375));
            padding-left: calc(100vw * (30 / 375));
            padding-right: calc(100vw * (30 / 375));
            padding-bottom: calc(100vw * (60 / 375));
        }
        .business-section__marquee-wrapper {
            top: calc(100vw * (50 / 375));
            left: calc(-100vw * (230 / 375));
        }
        .business-section__marquee {
            column-gap: calc(100vw * (20 / 375));
        }
        .business-section__marquee-item--square {
            width: calc(100vw * (122.5 / 375));
            height: auto;
        }
        .business-section__marquee-item--rect {
            width: auto;
            height: calc(100vw * (77 / 375));
        }
        .business-section-heading {
            margin-bottom: calc(100vw * (104 / 375));
        }
        .business-section-heading__title {
            margin-bottom: calc(100vw * (8 / 375));
        }
        .business-section-heading__title--large {
            font-size: calc(100vw * (40 / 375));
        }
        .business-section-heading__title--small {
            font-size: calc(100vw * (24 / 375));
        }
        .business-section-sub-heading {
            margin-bottom: calc(100vw * (32 / 375));
        }
        .business-section-sub-heading__title {
            font-size: calc(100vw * (18 / 375));
        }
        .business-section-sub-heading__icon {
            width: calc(100vw * (20 / 375));
            height: calc(100vw * (20 / 375));
        }
        .business-section__card-list {
            margin-bottom: calc(100vw * (45 / 375));
        }
        margin-bottom: ;
        .business-section__card {
            flex-direction: column;
            justify-content: start;
            align-items: center;
            padding: calc(100vw * (50 / 375)) calc(100vw * (30 / 375));
            row-gap: calc(100vw * (40 / 375));
            border-radius: calc(100vw * (24 / 375));
        }
        .business-section__card--left,
        .business-section__card--right {
            margin-left: 0;
            margin-right: 0;
            padding-left: calc(100vw * (30 / 375));
            padding-right: calc(100vw * (30 / 375));
        }
        .business-section-card-inner {
            gap: calc(100vw * (40 / 375));
        }
        .business-section-card-inner__content {
            gap: calc(100vw * (16 / 375));
        }
        .business-section-card__title {
            font-size: calc(100vw * (30 / 375));
            text-align: center;
        }
        .business-section-card__title--big {
            font-size: calc(100vw * (40 / 375));
        }
        .business-section-card__img-wrapper {
            max-width: 100%;
            width: 100%;
            height: fit-content;
            border-radius: calc(100vw * (8 / 375)) !important;
        }
        .business-section-card__message {
            max-width: 100%;
        }
        .business-section-card__img--card-1 {
            background-image: url("../img/top/company-gallery-sp-7.webp");
            height: calc(100vw * (162 / 375));
        }
        .business-section-card__img--card-2 {
            background-image: url("../img/top/company-gallery-sp-8.webp");
            height: calc(100vw * (167 / 375));
        }
        .business-section-card__img--card-3 {
            background-image: url("../img/top/company-gallery-sp-9.webp");
            height: calc(100vw * (153 / 375));
        }
        .business-section .link-button {
            width: 100%;
            justify-content: center;
            min-height: calc(100vw * (70 / 375));
        }
        .business-section .link-button__text {
            width: fit-content;
            font-size: calc(100vw * (16 / 375));
        }
        .business-section #business-link-btn .link-button__text {
            font-size: calc(100vw * (20 / 375));
        }
        .business-section
            .business-section__card
            .business-section-card__img-wrapper {
            order: 2;
        }
        .business-section .business-section__card .business-section-card-inner {
            order: 1;
        }
        .business-section__leaf-decoration {
            position: absolute;
            top: calc(100vw * (622 / 375));
            left: calc(-100vw * (106 / 375));
            width: calc(100vw * (337 / 375));
            height: calc(100vw * (304 / 375));
        }
    }
    .company-section {
        padding-top: calc(100vw * (120 / 1920));
        padding-bottom: calc(100vw * (270 / 1920));
        overflow: hidden;
        position: relative;
    }
    .company-section-card {
        z-index: 1;
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: space-between;
        background-color: var(--color-tertiary);
        min-height: calc(100vw * (707 / 1920));
        padding: calc(100vw * (62 / 1920)) 0;
        padding-left: calc(100vw * (150 / 1920));
        margin-left: calc(100vw * (100 / 1920));
        border-top-left-radius: calc(100vw * (24 / 1920));
        border-bottom-left-radius: calc(100vw * (24 / 1920));
    }
    .company-section-card__inner {
        display: flex;
        flex-direction: column;
        padding-bottom: calc(100vw * (25 / 1920));
        row-gap: calc(100vw * (90 / 1920));
    }
    .company-section-card__inner-content-wrapper {
        overflow: hidden;
    }
    .company-section-card__inner-content {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        transform: translateY(100%);
    }
    .company-section-card__title {
        font-family: var(--font-noto-serif-jp);
        font-weight: 700;
        line-height: 1.45;
        color: var(--color-primary);
        letter-spacing: 0.04em;
        text-align: left;
        font-size: calc(100vw * (32 / 1920));
    }
    .company-section-card__title--big {
        font-size: calc(100vw * (50 / 1920));
    }
    .company-section-card__subtitle {
        display: flex;
        align-items: center;
        column-gap: calc(100vw * (8 / 1920));
        margin-top: calc(100vw * (8 / 1920));
        margin-bottom: calc(100vw * (32 / 1920));
    }
    .company-section-card__subtitle-icon {
        width: calc(100vw * (20 / 1920));
        aspect-ratio: 1;
        border-radius: 100%;
        background-color: #b14421;
    }
    .company-section-card__subtitle-text {
        font-size: calc(100vw * (18 / 1920));
        color: var(--color-primary);
        font-weight: 700;
    }
    .company-section-card__message {
        max-width: calc(100vw * (425 / 1920));
        margin-top: calc(100vw * (16 / 1920));
        font-weight: 500;
        color: var(--color-primary);
    }
    .company-section-card__img-wrapper {
        position: relative;
        max-width: calc(100vw * (1165 / 1920));
        width: 100%;
        height: calc(100vw * (583 / 1920));
        overflow: hidden;
        border-top-left-radius: calc(100vw * (8 / 1920));
        border-bottom-left-radius: calc(100vw * (8 / 1920));
    }
    .company-section-card__img {
        width: 100%;
        height: 100%;
        background-size: 100% 100%;
    }
    .company-section__leaf-decoration-wrapper {
        position: absolute;
        z-index: -1;
        bottom: calc(100vw * (42 / 1920));
        left: calc(-100vw * (54 / 1920));
        width: calc(100vw * (645 / 1920));
        height: calc(100vw * (637 / 1920));
    }
    .company-section__leaf-decoration--1 {
        position: absolute;
        top: 0;
        left: 0;
        width: calc(100vw * (577 / 1920));
        height: calc(100vw * (606 / 1920));
        rotate: -14.07deg;
    }
    .company-section__leaf-decoration--2 {
        position: absolute;
        bottom: 0;
        right: 0;
        width: calc(100vw * (262 / 1920));
        height: calc(100vw * (275 / 1920));
        rotate: -6.4deg;
    }
    @media (min-width: 1025px) {
        .animate-pc .company-section-card__inner-content {
            animation: slideUpAnimation 1.2s ease forwards;
            animation-delay: var(--top-animation-delay);
        }
    }
    @media (max-width: 1024px) {
        .animate-sp .company-section-card__inner-content {
            animation: slideUpAnimation 1.2s ease forwards;
            animation-delay: var(--top-animation-delay);
        }
    }
    .animate.company-section__leaf-decoration {
        animation: falling-leaves 1s ease forwards;
        animation-delay: var(--top-animation-delay);
    }
    @media (max-width: 1024px) {
        .company-section {
            padding-top: calc(100vw * (100 / 375));
            padding-left: calc(100vw * (30 / 375));
            padding-right: calc(100vw * (30 / 375));
            padding-bottom: calc(100vw * (78 / 375));
        }
        .company-section-card {
            flex-direction: column;
            justify-content: start;
            align-items: center;
            padding: calc(100vw * (50 / 375)) calc(100vw * (30 / 375));
            row-gap: calc(100vw * (40 / 375));
            border-radius: calc(100vw * (24 / 375));
            margin-left: 0;
        }
        .company-section-card__inner {
            align-items: center;
            row-gap: calc(100vw * (16 / 375));
        }
        .company-section-card__title {
            font-size: calc(100vw * (24 / 375));
            text-align: center;
            white-space: nowrap;
        }
        .company-section-card__title--big {
            font-size: calc(100vw * (40 / 375));
        }
        .company-section-card__subtitle {
            width: fit-content;
            margin-top: calc(100vw * (8 / 375));
        }
        .company-section-card__subtitle-icon {
            width: calc(100vw * (20 / 375));
        }
        .company-section-card__subtitle-text {
            font-size: calc(100vw * (18 / 375));
        }
        .company-section-card__message {
            max-width: 100%;
            margin-bottom: calc(100vw * (40 / 375));
        }
        .company-section-card__img-wrapper {
            max-width: 100%;
            width: 100%;
            height: calc(100vw * (162 / 375));
            border-radius: calc(100vw * (8 / 375)) !important;
        }
        .company-section-card__img {
            object-fit: cover;
            object-position: left;
        }
        .company-section-card .link-button {
            width: 100%;
            justify-content: center;
            min-height: calc(100vw * (94 / 375));
        }
        .company-section-card .link-button__text {
			width: fit-content;
            font-size: calc(100vw * (16 / 375));
        }
        .company-section__leaf-decoration-wrapper {
            bottom: calc(-100vw * (21 / 375));
            left: calc(-100vw * (68 / 375));
            width: calc(100vw * (228 / 375));
            height: calc(100vw * (225 / 375));
        }
        .company-section__leaf-decoration--1 {
            width: calc(100vw * (203 / 375));
            height: calc(100vw * (204 / 375));
        }
        .company-section__leaf-decoration--2 {
            width: calc(100vw * (92 / 375));
            height: calc(100vw * (97 / 375));
        }
    }
    .application-section {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: left;
        padding-top: calc(100vw * (176 / 1920));
        padding-left: calc(100vw * (250 / 1920));
        padding-bottom: calc(100vw * (208 / 1920));
        color: var(--color-secondary);
    }
    .application-section__decoration-wrapper {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
		pointer-events: none;
    }
    .application-section__leaf-decoration-wrapper {
        position: absolute;
        bottom: 0;
        right: 0;
        width: calc(100vw * (960 / 1920));
        height: calc(100vw * (1400 / 1920));
        overflow: hidden;
    }
    .application-section__leaf-decoration {
        position: absolute;
        left: 0;
        bottom: calc(100vw * (62 / 1920));
        height: auto;
        width: calc(100vw * (1096 / 1920));
        /* Initial state */
        transform: translateY(-30%) scale(1.25) rotate(-18deg) translateZ(0px);
        filter: blur(10px);
        opacity: 0;
    }
    .application-section__main-decoration {
        position: absolute;
        right: calc(100vw * (25 / 1920));
        /*bottom: calc(100vw * (11 / 1920));*/
        bottom: 0;
        width: calc(100vw * (1218 / 1920));
        height: auto;
        /* Initial state */
        filter: blur(10px);
        opacity: 0;
    }
    .application-section__title {
        font-family: var(--font-noto-serif-jp);
        font-weight: 700;
        font-size: calc(100vw * (32 / 1920));
        line-height: 1.45;
        letter-spacing: 0.04em;
    }
    .application-section__title--big {
        font-size: calc(100vw * (50 / 1920));
    }
    .application-section__subtitle {
        display: flex;
        align-items: center;
        column-gap: calc(100vw * (8 / 1920));
        margin-top: calc(100vw * (8 / 1920));
        margin-bottom: calc(100vw * (32 / 1920));
    }
    .application-section__subtitle-icon {
        width: calc(100vw * (20 / 1920));
        aspect-ratio: 1;
        border-radius: 100%;
        background-color: #b14421;
    }
    .application-section__subtitle-text {
        font-size: calc(100vw * (18 / 1920));
        font-weight: 700;
    }
    .application-section__message {
        font-weight: 500;
        margin-bottom: calc(100vw * (85 / 1920));
    }
    .application-section__secondary-btns {
        display: flex;
        align-items: center;
        column-gap: calc(100vw * (20 / 1920));
        margin-bottom: calc(100vw * (35 / 1920));
    }
    .animate {
        .application-section__leaf-decoration {
            animation: falling-leaves 1s ease forwards;
            animation-delay: var(--top-animation-delay);
        }
        .application-section__main-decoration {
            animation: slowBlurFadeIn 1s ease forwards;
            animation-delay: calc(var(--top-animation-delay) + 1s);
        }
    }
    @media (max-width: 1024px) {
        .application-section {
            padding-top: calc(100vw * (86 / 375));
            padding-left: calc(100vw * (20 / 275));
            padding-right: calc(100vw * (20 / 375));
            padding-bottom: calc(100vw * (431 / 375));
            align-items: center;
        }
        .application-section__decoration-wrapper {
            height: calc(100vw * (200 / 375));
        }
        .application-section__leaf-decoration-wrapper {
            width: calc(100vw * (213 / 375));
            height: calc(100vw * (1200 / 375));
        }
        .application-section__leaf-decoration {
            width: calc(100vw * (269 / 375));
            height: calc(100vw * (307 / 375));
            bottom: calc(100vw * (174 / 375));
        }
        .application-section__main-decoration {
            width: calc(100vw * (307 / 375));
            height: calc(100vw * (225 / 375));
            left: 50%;
            translate: -50% 0;
            /*bottom: calc(100vw * (76 / 375));*/
        }
        .application-section__title {
            font-size: calc(100vw * (24 / 375));
        }
        .application-section__title--big {
            font-size: calc(100vw * (40 / 375));
        }
        .application-section__title--center {
            text-align: center;
            display: block;
        }
        .application-section__subtitle {
            width: fit-content;
            margin-top: calc(100vw * (10 / 375));
            margin-bottom: calc(100vw * (20 / 375));
        }
        .application-section__subtitle-icon {
            width: calc(100vw * (20 / 375));
        }
        .application-section__subtitle-text {
            font-size: calc(100vw * (18 / 375));
        }
        .application-section__message {
            margin-bottom: calc(100vw * (40 / 375));
            max-width: calc(100vw * (255 / 375));
        }
        .application-section__secondary-btns {
            display: block;
        }
        .application-section .link-button {
            width: 100%;
            max-width: calc(100vw * (255 / 375));
            justify-content: center;
            min-height: calc(100vw * (94 / 375));
        }
        .application-section .link-button__text {
            width: fit-content;
            font-size: calc(100vw * (16 / 375));
        }
    }
    @media (max-width: 640px) {
        .application-section {
            padding-bottom: calc(100vw * (290 / 375));
        }
    }
    .qna-section {
        padding-top: calc(100vw * (69 / 1920));
        padding-bottom: calc(100vw * (97 / 1920));
        position: relative;
        overflow: hidden;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .qna-section__marquee-wrapper {
        position: absolute;
        display: flex;
        align-items: center;
        column-gap: calc(100vw * (44 / 1920));
    }
    .qna-section__marquee {
        font-family: var(--font-purple-purse);
        font-size: calc(100vw * (168 / 1920));
        line-height: 1.5;
        color: transparent;
        -webkit-text-stroke: 1px var(--color-primary);
        stroke: 1px var(--color-primary);
        white-space: nowrap;
        animation: rightToLeftMarquee 100s linear infinite;
    }
    .qna-section__card {
        max-width: calc(100vw * (1000 / 1920));
        width: 100%;
        border-radius: calc(100vw * (24 / 1920));
        border: calc(100vw * (8 / 1920)) solid var(--color-primary);
        padding-top: calc(100vw * (27 / 1920));
        padding-bottom: calc(100vw * (23 / 1920));
        padding-left: calc(100vw * (87 / 1920));
        padding-right: calc(100vw * (72 / 1920));
        display: flex;
        justify-content: space-between;
        align-items: center;
        font-family: var(--font-roboto);
        color: var(--color-primary);
        font-weight: 700;
        z-index: 1;
        box-sizing: border-box;
        background-image: url(../img/yellow-color-bg.jpg);
    }
    .qna-section__card-inner {
        display: flex;
        flex-direction: column;
    }
    .qna-section__subtitle {
        font-size: calc(100vw * (22 / 1920));
        line-height: 1.5;
        padding-left: calc(100vw * (6 / 1920));
    }
    .qna-section__title {
        font-size: calc(100vw * (78 / 1920));
        line-height: 1;
    }
    .qna-section__message {
        font-size: calc(100vw * (16 / 1920));
        line-height: 1.5;
        max-width: calc(100vw * (361 / 1920));
        margin-top: calc(100vw * (11 / 1920));
        margin-bottom: calc(100vw * (20 / 1920));
    }
    .qna-section__img {
        width: calc(100vw * (420 / 1920));
        height: auto;
        border-radius: calc(100vw * (12 / 1920));
    }
    .qna-section__card .link-button {
        max-width: calc(100vw * (352 / 1920));
    }
    .qna-section__card .link-button__text {
        padding-right: calc(100vw * (46 / 1920));
    }
    @media (min-width: 1025px) {
        .qna-section__marquee-wrapper {
            top: calc(100vw * (129 / 1920));
            left: calc(-100vw * (375 / 1920));
        }
    }
    @media (max-width: 1024px) {
        .qna-section {
            padding-top: calc(100vw * (100 / 375));
            padding-bottom: calc(100vw * (125 / 375));
            padding-left: calc(100vw * (30 / 375));
            padding-right: calc(100vw * (30 / 375));
        }
        .qna-section__marquee-wrapper {
            left: calc(-100vw * (551.5 / 375));
            bottom: calc(-100vw * (17 / 375));
        }
        .qna-section__marquee {
            font-size: calc(100vw * (100 / 375));
        }
        .qna-section__card {
            max-width: 100%;
            padding-top: calc(100vw * (42 / 375));
            padding-bottom: calc(100vw * (42 / 375));
            padding-left: calc(100vw * (22 / 375));
            padding-right: calc(100vw * (22 / 375));
            border-radius: calc(100vw * (24 / 375));
            border-width: calc(100vw * (8 / 375));
            flex-direction: column;
            align-items: center;
            background-color: var(--color-secondary);
            background-image: none;
        }
        .qna-section__card-inner {
            align-items: center;
            order: 1;
        }
        .qna-section__subtitle {
            padding-left: 0;
            font-size: calc(100vw * (18 / 375));
            margin-bottom: calc(100vw * (8 / 375));
        }
        .qna-section__title {
            font-size: calc(100vw * (78 / 375));
        }
        .qna-section__message {
            max-width: 100%;
            font-size: calc(100vw * (16 / 375));
            font-family: var(--font-noto-sans-jp);
            margin: calc(100vw * (40 / 375)) 0;
        }
        .qna-section__img {
            width: 100%;
            height: auto;
            order: 2;
            border-radius: calc(100vw * (12 / 375));
        }
        .qna-section__card .link-button {
            width: 100%;
            max-width: 100%;
            height: calc(100vw * (94 / 375));
            align-items: center;
            justify-content: center;
            margin-bottom: calc(100vw * (40 / 375));
        }
        .qna-section__card .link-button__text {
            width: fit-content;
            padding-right: 0;
            font-size: calc(100vw * (16 / 375));
        }
    }
    .news-section {
        padding-top: calc(100vw * (109 / 1920));
        padding-bottom: calc(100vw * (77 / 1920));
        padding-left: calc(100vw * (250 / 1920));
        display: flex;
        gap: calc(100vw * (65 / 1920));
        overflow: hidden;
    }
    .news-section-heading {
        min-width: calc(100vw * (339 / 1920));
        display: flex;
        flex-direction: column;
        gap: calc(100vw * (26 / 1920));
    }
    .news-section-heading__title {
        min-height: calc(100vw * (81 / 1920));
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: calc(100vw * (12 / 1920));
        font-weight: 700;
        font-size: calc(100vw * (22 / 1920));
        line-height: 1.2;
        color: var(--color-primary);
        filter: blur(10px);
        opacity: 0;
    }
    .news-section-heading .link-button {
        max-width: 100%;
    }
    .news-section-heading .link-button__text {
        padding-right: calc(100vw * (47 / 1920));
    }
    .news-section__swiper-wrapper {
        display: flex;
        flex-direction: column;
        gap: calc(100vw * (20 / 1920));
        width: 100%;
        overflow: hidden;
    }
    .news-section__swiper {
        width: 100%;
    }
    .news-section__slide {
        display: flex;
        flex-direction: column;
        gap: calc(100vw * (16 / 1920));
    }
    .news-section__img img {
        width: 100%;
        height: calc(100vw * (234 / 1920));
        border-radius: calc(100vw * (8 / 1920));
        object-fit: cover;
    }
    .news-section__content {
        display: flex;
        flex-direction: column;
        row-gap: calc(100vw * (8 / 1920));
        padding-right: calc(100vw * (19 / 1920));
    }
    .news-section__meta-data {
        display: flex;
        align-items: center;
        column-gap: calc(100vw * (8 / 1920));
    }
    .news-section__date {
        font-weight: 700;
        color: var(--color-secondary);
    }
    .news-section__category {
        font-weight: 700;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: calc(100vw * (5 / 1920)) calc(100vw * (10 / 1920));
        border-radius: calc(100vw * (2 / 1920));
        border: calc(100vw * (1 / 1920)) solid var(--color-secondary);
        color: var(--color-secondary);
    }
    .news-section__title {
        font-weight: 700;
        color: var(--color-secondary);
    }
    .news-section__description {
        font-size: calc(100vw * (14 / 1920));
        font-weight: 500;
        line-height: 1.7;
        color: var(--color-secondary);
    }
    .news-section__paginations {
        display: flex;
        align-items: center;
        justify-content: end;
        gap: calc(100vw * (12 / 1920));
        padding-right: calc(100vw * (250 / 1920));
    }
    .news-section__pagination {
        width: calc(100vw * (68 / 1920));
        height: calc(100vw * (68 / 1920));
        border-radius: 100%;
        border: calc(100vw * (2 / 1920)) solid var(--color-secondary);
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
    }
    .news-section__pagination--next {
        transform: rotate(180deg);
    }
    .news-section__pagination--prev {
        transform: rotate(0deg);
    }
    .news-section__pagination-icon {
        width: calc(100vw * (24 / 1920));
        height: calc(100vw * (24 / 1920));
        color: var(--color-secondary);
    }
    .animate.news-section-heading__title {
        animation: blurFadeIn 1s ease forwards;
        animation-delay: var(--top-animation-delay);
    }
    @media (max-width: 1024px) {
        .news-section {
            padding: calc(100vw * (80 / 375)) 0;
            gap: 0;
            flex-direction: column;
        }
        .news-section-heading {
            min-width: 100%;
            padding-left: calc(100vw * (49 / 375));
        }
        .news-section-heading__title {
            width: calc(100vw * (235 / 375));
            height: calc(100vw * (64 / 375));
            font-size: calc(100vw * (22 / 375));
            border-radius: calc(100vw * (10 / 375));
            margin-bottom: calc(100vw * (16 / 375));
        }
        .news-section__paginations {
            padding-right: 0;
            justify-content: start;
            gap: calc(100vw * (8 / 375));
        }
        .news-section__pagination {
            width: calc(100vw * (48 / 375));
            height: calc(100vw * (48 / 375));
            border-width: calc(100vw * (1.42 / 375));
        }
        .news-section__pagination-icon {
            width: calc(100vw * (17 / 375));
            height: calc(100vw * (17 / 375));
        }
        .news-section .link-button {
            justify-content: center;
            margin: auto;
        }
        .news-section .link-button__text {
            width: fit-content;
        }
        .news-section__swiper-wrapper {
            flex-direction: column-reverse;
            margin-left: calc(100vw * (49 / 375));
            margin-bottom: calc(100vw * (49 / 375));
            gap: calc(100vw * (26 / 375));
            box-sizing: border-box;
        }
        .news-section__slide {
            gap: calc(100vw * (12 / 375));
            height: auto;
        }
        .news-section__img {
            width: 100%;
            height: calc(100vw * (168 / 375));
        }
        .news-section__img img {
            width: 100%;
            height: 100%;
            border-radius: calc(100vw * (6 / 375));
        }
        .news-section__content {
            row-gap: calc(100vw * (6 / 375));
            padding-right: calc(100vw * (14 / 375));
        }
        .news-section__meta-data {
            display: flex;
            align-items: center;
            column-gap: calc(100vw * (6 / 375));
        }
        .news-section__date {
            font-size: calc(100vw * (16 / 375));
            line-height: calc(100vw * (17.2 / 375));
        }
        .news-section__category {
            font-size: calc(100vw * (16 / 375));
            line-height: calc(100vw * (17.2 / 375));
            padding: calc(100vw * (4 / 375)) calc(100vw * (7 / 375));
            border-radius: calc(100vw * (1.43 / 375));
            border: calc(100vw * (0.72 / 375)) solid var(--color-secondary);
            line-height: calc(100vw * (17.2 / 375));
        }
        .news-section__title {
            font-size: calc(100vw * (16 / 375));
            line-height: calc(100vw * (17.2 / 375));
            font-weight: 700;
            color: var(--color-secondary);
        }
        .news-section__description {
            font-size: calc(100vw * (14 / 375));
            line-height: calc(100vw * (17.2 / 375));
            font-weight: 500;
            line-height: 1.7;
            color: var(--color-secondary);
        }
    }
}
/* Loading Screen Text + Hero Title */
.hero-title__heading-text:nth-child(1) {
    width: calc(100vw * (1061 / 1920));
    margin-bottom: calc(100vw * (14 / 1920));
}
.hero-title__heading-text:nth-child(2) {
    margin-bottom: calc(100vw * (6 / 1920));
}
.hero-title__heading-text {
    display: inline;
    font-family: var(--font-noto-serif-jp);
    font-weight: 700;
    line-height: 1.2;
    color: var(--color-secondary);
    font-size: calc(100vw * (99.15 / 1920));
    transform: matrix(1, 0, -0.14, 0.99, 0, 0);
}
.hero-title__heading-text--small {
    font-size: calc(100vw * (81.51 / 1920));
}
.hero-title__heading-text--small-spacing {
    letter-spacing: -0.45em;
}
@media (max-width: 1024px) {
    .hero-title__heading-text {
        font-size: calc(100vw * (40 / 375));
    }
    .hero-title__heading-text--small {
        font-size: calc(100vw * (30 / 375));
    }
    .hero-title__heading-text:nth-child(1) {
        width: calc(100vw * (382 / 375));
        margin-bottom: calc(100vw * (10 / 375));
    }
    .hero-title__heading-text:nth-child(2) {
        margin-bottom: calc(100vw * (10 / 375));
    }
}
/* Loading Screen */
.loading-screen {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
}

.loading-screen__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.loading-screen__text {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    opacity: 0;
    animation: fadeIn 0.8s ease forwards;
    animation-delay: 0.8s;
}
/* End CSS Front Page */
/* Start CSS Business Page */
#business-page {
    --main-visual-item-y-offset: 9.23%;
    --main-visual-item-x-offset: 25.4041%;

    .key-visual-section {
        width: 100%;
        max-width: calc(100vw * (1720 / 1920));
        height: calc(100vw * (651 / 1920));
        margin-top: calc(100vw * (49 / 1920));
        margin-bottom: calc(100vw * (72 / 1920));
        margin-left: auto;
        margin-right: auto;
        padding: calc(100vw * (145 / 1920));
        box-sizing: border-box;
        border-radius: calc(100vw * (24 / 1920));
        display: flex;
        align-items: center;
        background-image: url("../img/business/business-kv.webp");
        background-size: 100% 100%;
        background-repeat: no-repeat;
    }
    .key-visual-section__title {
        display: flex;
        align-items: center;
        justify-content: center;
        width: calc(100vw * (334 / 1920));
        width: calc(100vw * (334 / 1920));
        padding: calc(100vw * (50 / 1920));
        border-radius: calc(100vw * (24 / 1920));
        font-family: var(--font-noto-serif-jp);
        font-weight: 700;
        line-height: 1.2;
        color: var(--color-secondary);
        font-size: calc(100vw * (40 / 1920));
        /* Initial state */
        filter: blur(5px);
        opacity: 0.5;
    }
    .animate.key-visual-section__title {
        animation: blurFadeIn 1s ease forwards;
    }
    @media (max-width: 1024px) {
        .key-visual-section {
            height: calc(100vw * (607 / 375));
            max-width: 100%;
            margin-top: 0;
            margin-bottom: calc(100vw * (70 / 375));
            margin-left: 0;
            margin-right: 0;
            padding: calc(100vw * (120 / 375)) calc(100vw * (20 / 375));
            align-items: flex-start;
            background-image: url("../img/business/business-kv-sp.webp");
            border-radius: 0;
        }
        .key-visual-section__title {
            padding: calc(100vw * (26 / 375));
            width: calc(100vw * (334 / 375));
            font-size: calc(100vw * (30 / 375));
            border-radius: calc(100vw * (24 / 375));
        }
    }
    .message-section {
        display: flex;
        flex-direction: column;
        max-width: calc(100vw * (536 / 1920));
        margin-left: auto;
        margin-right: auto;
        margin-bottom: calc(100vw * (32 / 1920));
        gap: calc(100vw * (11 / 1920));
    }
    .message-section__kv img {
        width: 100%;
        height: 100%;
    }
    .message-section__kv-wrapper {
        position: relative;
        width: 100%;
        height: calc(100vw * (159 / 1920));
    }
    .message-section__kv--1 {
        position: absolute;
        top: 0;
        left: calc(100vw * (35 / 1920));
        width: calc(100vw * (122 / 1920));
        height: calc(100vw * (159 / 1920));
    }
    .message-section__kv--2 {
        position: absolute;
        bottom: calc(100vw * (23 / 1920));
        left: calc(100vw * (203 / 1920));
        width: calc(100vw * (150 / 1920));
        height: calc(100vw * (82 / 1920));
    }
    .message-section__kv--3 {
        position: absolute;
        bottom: calc(100vw * (23 / 1920));
        right: calc(100vw * (36 / 1920));
        width: calc(100vw * (102 / 1920));
        height: calc(100vw * (84 / 1920));
    }
    .message-section__text {
        color: var(--color-primary);
        font-weight: 500;
    }
    @media (max-width: 1024px) {
        .message-section {
            max-width: calc(100vw * (315 / 375));
            margin-bottom: calc(100vw * (40 / 375));
            gap: calc(100vw * (82 / 375));
        }
        .message-section__kv-wrapper {
            height: calc(100vw * (90 / 375));
        }
        .message-section__kv--1 {
            left: calc(100vw * (30 / 375));
            top: 50%;
            transform: translateY(-50%);
            width: calc(100vw * (58 / 375));
            height: calc(100vw * (76 / 375));
        }
        .message-section__kv--2 {
            bottom: unset;
            top: 50%;
            transform: translateY(-50%);
            left: calc(100vw * (118 / 375));
            width: calc(100vw * (58 / 375));
            height: calc(100vw * (41 / 375));
        }
        .message-section__kv--3 {
            bottom: unset;
            top: 50%;
            transform: translateY(-50%);
            right: calc(100vw * (50 / 375));
            width: calc(100vw * (58 / 375));
            height: calc(100vw * (48 / 375));
        }
        .message-section__text {
            height: calc(100vw * (180 / 375));
            font-size: calc(100vw * (16 / 375));
        }
    }
    .main-visual__section {
        width: 100%;
        height: calc(100vw * (934 / 1920));
        max-width: calc(100vw * (1225 / 1920));
        margin-left: auto;
        margin-right: auto;
        margin-bottom: calc(100vw * (85 / 1920));
        position: relative;
        overflow: hidden;
    }
    .main-visual-item {
        position: absolute;
        width: calc(100vw * (433 / 1920));
        aspect-ratio: 1.0;
        border-radius: 100%;
        padding: calc(100vw * (33 / 1920));
        box-sizing: border-box;
        color: var(--color-secondary);
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: space-between;
        transition: transform 0.7s ease;
    }
    .main-visual-item__inner {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    .main-visual-item__title {
        font-family: var(--font-noto-serif-jp);
        font-weight: 700;
        line-height: 1.2;
        font-size: calc(100vw * (32 / 1920));
        text-align: center;
        margin-bottom: calc(100vw * (16 / 1920));
    }
    .main-visual-item__title--large {
        font-size: calc(100vw * (50 / 1920));
    }
    .main-visual-item__description {
        font-weight: 500;
        max-width: calc(100vw * (241 / 1920));
    }
    .main-visual-item__img-wrapper {
        overflow: hidden;
        display: flex;
        height: fit-content;
        border-radius: calc(100vw * (8 / 1920));
    }
    .main-visual-item__img {
        width: calc(100vw * (150 / 1920));
        height: auto;
        transition: transform 0.7s ease;
    }
    .main-visual-item__link {
        margin-top: calc(100vw * (13 / 1920));
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        padding: calc(100vw * (24 / 1920)) calc(100vw * (36 / 1920));
        border: calc(100vw * (4 / 1920)) solid var(--color-secondary);
        border-radius: 100%;
        font-family: var(--font-noto-serif-jp);
        font-weight: 700;
        line-height: 1.2;
        color: var(--color-secondary);
        transition: color 0.7s ease, background-color 0.7s ease;
    }
    .main-visual-item__link svg {
        width: calc(100vw * (19 / 1920));
        height: calc(100vw * (19 / 1920));
    }
    .main-visual-item--1 {
        top: 0;
        left: 50%;
        translate: -50% 0;
    }
    .main-visual-item--2 {
        bottom: 0;
        left: 0;
    }
    .main-visual-item--3 {
        bottom: 0;
        right: 0;
    }
    .main-visual-item--1 .main-visual-item__link {
        margin-top: calc(100vw * (7 / 1920));
    }
    .main-visual-item:hover .main-visual-item__link {
        background-color: var(--color-secondary);
        color: var(--color-primary);
    }
    .main-visual-item:hover .main-visual-item__img {
        transform: scale(1.1);
    }
    @media (min-width: 1025px) {
        .animate-pc {
            .main-visual-item--1 {
                transform: translateY(var(--main-visual-item-y-offset));
            }
            .main-visual-item--2 {
                transform: translateX(var(--main-visual-item-x-offset));
            }
            .main-visual-item--3 {
                transform: translateX(calc(-1 * var(--main-visual-item-x-offset)));
            }
        }
    }
    @media (max-width: 1024px) {
        .main-visual__section {
            max-width: 100%;
            height: unset;
            padding-bottom: calc(100vw * (70 / 375));
            margin-bottom: 0;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: calc(100vw * (80 / 375));
        }
        .main-visual-item {
            position: static;
            width: calc(100vw * (433 / 375));
            padding: calc(100vw * (33 / 375));
        }
        .main-visual-item__title {
            font-size: calc(100vw * (32 / 375));
            margin-bottom: calc(100vw * (16 / 375));
        }
        .main-visual-item__title--large {
            font-size: calc(100vw * (50 / 375));
        }
        .main-visual-item__description {
            max-width: calc(100vw * (241 / 375));
        }
        .main-visual-item__img-wrapper {
            border-radius: calc(100vw * (8 / 375));
        }
        .main-visual-item__img {
            width: calc(100vw * (150 / 375));
        }
        .main-visual-item__link {
            margin-top: calc(100vw * (13 / 375));
            padding: calc(100vw * (24 / 375)) calc(100vw * (36 / 375));
            border: calc(100vw * (4 / 375)) solid var(--color-secondary);
        }
        .main-visual-item__link svg {
            width: calc(100vw * (19 / 375));
            height: calc(100vw * (19 / 375));
        }
        .main-visual-item--1 {
            translate: 0 0;
        }
        .main-visual-item--1,
        .main-visual-item--2,
        .main-visual-item--3 {
            transform: translateY(var(--main-visual-item-y-offset));
        }
        .main-visual-item--1 .main-visual-item__link {
            margin-top: calc(100vw * (7 / 375));
        }
        .main-visual-item.animate-sp {
            transform: translateY(0);
        }
    }
}
/* End CSS Business Page */
/* ==========================================================================
   Business Sub Page Common
   ========================================================================== */
.business-sub-page {
    .title-section {
        display: flex;
        flex: 1;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: calc(100vw * (24 / 1920));
        margin-top: calc(100vw * (37 / 1920));
        margin-bottom: calc(100vw * (85 / 1920));
    }
    .title-section__icon {
        width: calc(100vw * (91 / 1920));
        height: auto;
    }
    .title-section__title {
		box-sizing: border-box;
        width: 100%;
        max-width: calc(100vw * (635 / 1920));
        background-image: url(../img/green-color-bg.jpg);
        padding: calc(100vw * (50 / 1920)) calc(100vw * (37 / 1920));
        border-radius: calc(100vw * (24 / 1920));
        filter: blur(5px);
        opacity: 0.5;
        text-align: center;
    }
    .title-section__title-text {
        display: inline;
        /* Font */
        font-family: var(--font-noto-serif-jp);
        font-size: calc(100vw * (40 / 1920));
        font-weight: 700;
        line-height: 1.2;
        color: var(--color-secondary);
        text-align: center;
    }
    .animate.title-section__title {
        animation: blurFadeIn 1s ease forwards;
    }
    @media (max-width: 1024px) {
        .title-section {
            gap: calc(100vw * (80 / 375));
            margin-top: calc(100vw * (60 / 375));
            margin-bottom: calc(100vw * (80 / 375));
            padding: 0 calc(100vw * (20 / 375));
        }
        .title-section__icon {
            width: calc(100vw * (69 / 375));
        }
        .title-section__title {
            max-width: 100%;
            box-sizing: border-box;
            padding: calc(100vw * (19 / 375)) calc(100vw * (30 / 375));
            border-radius: calc(100vw * (24 / 375));
        }
        .title-section__title-text {
            display: block;
            /* Font */
            font-family: var(--font-noto-serif-jp);
            font-size: calc(100vw * (30 / 375));
        }
    }
    .message-section {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
		flex-direction: column;
        padding-bottom: calc(100vw * (20 / 1920));
    }
    .message-section__bg {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: calc(100vw * (378 / 1920));
        background-color: #ece7c8;
        mix-blend-mode: multiply;
        pointer-events: none;
    }
    .message-section__vertical-text {
        font-family: var(--font-noto-serif-jp);
        font-size: calc(100vw * (18 / 1920));
        font-weight: 700;
        color: var(--color-primary);
        writing-mode: vertical-lr;
        text-orientation: upright;
        letter-spacing: 0.4em;
        transform: translateY(20%);
        opacity: 0;
        line-height: 1.8;
    }
    .message-section__vertical-text--large {
        font-size: calc(100vw * (32 / 1920));
    }
    .animate .message-section__vertical-text {
        animation: slideUpAnimation 1s ease forwards;
    }
    @media (max-width: 1024px) {
        .message-section {
            padding-bottom: calc(100vw * (16 / 375));
        }
        .message-section__bg {
            height: calc(100vw * (375 / 375));
        }
        .message-section__vertical-text {
            font-size: calc(100vw * (18 / 375));
        }
        .message-section__vertical-text--large {
            font-size: calc(100vw * (32 / 375));
        }
    }
    .content-section {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: calc(100vw * (108 / 1920));
        margin-bottom: calc(100vw * (160 / 1920));
    }
    .content-section__inner {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: calc(100vw * (34 / 1920));
        max-width: calc(100vw * (1000 / 1920));
        margin-left: auto;
        margin-right: auto;
    }
    .content-section__img {
        width: 100%;
        height: auto;
        border-radius: calc(100vw * (7 / 1920));
        line-height: 0;
        overflow: hidden;
        /* Animation */
        opacity: 0;
        filter: blur(10px);
    }
    .content-section__img img {
        width: 100%;
    }
    .content-section__text-wrapper {
        /* Animation */
        opacity: 0;
        transform: translateY(20%);
    }
    .content-section__text {
        display: block;
        font-weight: 500;
        color: var(--color-primary);
    }
    .animate .content-section__img {
        animation: slowBlurFadeIn 0.7s ease forwards;
    }
    .animate .content-section__text-wrapper {
        animation: slideUpAnimation 1s ease forwards;
        animation-delay: 0.7s;
    }
    @media (max-width: 1024px) {
        .content-section {
            padding: 0 calc(100vw * (30 / 375));
            gap: calc(100vw * (80 / 375));
            margin-bottom: calc(100vw * (100 / 375));
        }
        .content-section__inner {
            gap: calc(100vw * (20 / 375));
            max-width: 100%;
        }
        .content-section__img {
            width: calc(100vw * (220 / 375));
            border-radius: calc(100vw * (7 / 375));
        }
        .content-section__text {
            display: inline;
        }
    }
    .feature-card {
        width: 100%;
        height: fit-content;
        background-image: url(../img/green-color-bg.jpg);
        padding-left: calc(100vw * (30 / 1920));
        padding-right: calc(100vw * (30 / 1920));
        padding-bottom: calc(100vw * (20 / 1920));
        border-radius: calc(100vw * (24 / 1920));
        display: flex;
        flex-direction: column;
        align-items: start;
        font-weight: 400;
        gap: calc(100vw * (19 / 1920));
        box-sizing: border-box;
        color: var(--color-secondary);
        /* Animation */
        opacity: 0;
        transform: translateY(20%);
    }
    .feature-card__tag {
        box-sizing: border-box;
        background-image: url(../img/yellow-color-bg.jpg);
        border-bottom-left-radius: calc(100vw * (8 / 1920));
        border-bottom-right-radius: calc(100vw * (8 / 1920));
        padding: calc(100vw * (10 / 1920));
    }
    .feature-card__tag-text {
        font-family: var(--font-noto-serif-jp);
        font-size: calc(100vw * (32 / 1920));
        font-weight: 700;
        color: var(--color-primary);
        line-height: 1;
        text-align: center;
    }
    .feature-card__inner {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        flex-grow: 1;
    }
    .feature-card__image {
        width: 100%;
        height: auto;
        border-radius: calc(100vw * (8 / 1920));
        overflow: hidden;
        line-height: 0;
    }
    .feature-card__image img {
        width: 100%;
        height: auto;
    }
    .animate .feature-card {
        animation: slideUpAnimation 1s ease forwards;
    }
    @media (max-width: 1024px) {
        .feature-card {
            padding: 0 calc(100vw * (30 / 375));
            padding-bottom: calc(100vw * (40 / 375));
            gap: calc(100vw * (17 / 375));
            border-radius: calc(100vw * (24 / 375));
        }
        .feature-card__tag {
            border-bottom-left-radius: calc(100vw * (8 / 375));
            border-bottom-right-radius: calc(100vw * (8 / 375));
            padding: calc(100vw * (10 / 375));
        }
        .feature-card__tag-text {
            font-size: calc(100vw * (32 / 375));
        }
        .feature-card__image {
            border-radius: calc(100vw * (8 / 375));
        }
        .feature-card p {
            text-align: justify;
        }
    }
    .bottom-banner {
        width: 100%;
        height: calc(100vw * (853 / 1920));
        overflow: hidden;
        margin-bottom: calc(100vw * (85 / 1920));
    }
    .bottom-banner__img {
        width: 100%;
        height: 100%;
        transform: scale(1);
        object-fit: cover;
    }
    .bottom-banner__img.animate {
        animation: zoomInBottomBanner 15s ease-in-out forwards;
    }
    @media (max-width: 1024px) {
        .bottom-banner {
            height: calc(100vw * (280 / 375));
            margin-bottom: calc(100vw * (85 / 375));
        }
        .bottom-banner__img {
            height: calc(100vw * (339 / 375));
        }
    }
}
/* Start CSS Business Landscaping Page */
#business-landscaping-page {
    @media (max-width: 1024px) {
        .title-section__title-text {
            line-height: 1.5;
        }
    }
    .message-section {
        margin-bottom: calc(100vw * (56 / 1920));
    }
    @media (max-width: 1024px) {
        .message-section {
            margin-bottom: calc(100vw * (64 / 375));
        }
    }
    .feature-section {
        display: grid;
        grid-template-columns: repeat(2, auto);
        grid-template-rows: repeat(3, auto);
        column-gap: calc(100vw * (38 / 1920));
        row-gap: calc(100vw * (25 / 1920));
        margin-bottom: calc(100vw * (68 / 1920));
        justify-content: center;
    }
    .feature-card {
        width: calc(100vw * (480 / 1920));
        height: calc(100vw * (708 / 1920));
    }
    .full-width-feature {
        grid-column: 1 / -1;
        justify-self: center;
    }
    .feature-card__top-text {
        height: calc(100vw * (96 / 1920));
        margin-bottom: calc(100vw * (25 / 1920));
    }
    .feature-card__image {
        width: 100%;
        height: auto;
        border-radius: calc(100vw * (8 / 1920));
        margin-bottom: calc(100vw * (15 / 1920));
    }
    @media (min-width: 1025px) {
        .feature-grid-item:nth-child(4) .feature-card__tag,
        .feature-grid-item:nth-child(5) .feature-card__tag {
            display: flex;
            justify-content: center;
        }
        .feature-grid-item:nth-child(4) .feature-card__tag {
            width: calc(100vw * (216 / 1920));
        }
        .feature-grid-item:nth-child(5) .feature-card__tag {
            width: calc(100vw * (330 / 1920));
        }
    }
    @media (max-width: 1024px) {
        .feature-section {
            display: flex;
            flex-direction: column;
            align-items: stretch;
            gap: calc(100vw * (80 / 375));
            padding: 0 calc(100vw * (30 / 375));
            margin-bottom: calc(100vw * (80 / 375));
        }
        .feature-card {
            width: 100%;
            height: fit-content;
        }
        .feature-card__top-text {
            height: fit-content;
            margin-bottom: calc(100vw * (25 / 375));
            text-align: justify;
        }
        .feature-card__bottom-text {
            text-align: justify;
        }
        .feature-card__image {
            width: 100%;
            height: auto;
            border-radius: calc(100vw * (8 / 375));
            margin-bottom: calc(100vw * (17 / 375));
        }
        .feature-grid-item:nth-child(1),
        .feature-grid-item:nth-child(2) {
            padding-bottom: calc(100vw * (24 / 375));
        }
        .feature-grid-item:nth-child(3) .feature-card__tag-text {
            text-align: left;
        }
        .feature-grid-item:nth-child(5) .feature-card__tag-text:nth-child(2) {
            display: block;
            text-align: right;
        }
    }
}
/* End CSS Business Landscaping Page */
/* Start CSS Business Housing Page */
#business-housing-page {
    .title-section {
        margin-top: calc(100vw * (98 / 1920));
    }
    .message-section {
        margin-bottom: calc(100vw * (76 / 1920));
    }
    .message-section__vertical-text {
        margin-bottom: calc(-100vw * (5 / 1920));
        letter-spacing: 0.5em;
    }
    .message-section__vertical-text--large {
        letter-spacing: 0.2em;
    }
    .message-section__vertical-text--center {
        margin-inline-start: calc(100vw * (3 / 1920));
    }
    .feature-section {
        max-width: calc(100vw * (1000 / 1920));
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(2, auto);
        gap: calc(100vw * (38 / 1920));
        margin: 0 auto;
        margin-bottom: calc(100vw * (85 / 1920));
    }
    .full-width-feature {
        grid-column: 1 / -1;
    }
    .feature-card {
        height: 100%;
    }
    .feature-card__top-text {
        margin-bottom: calc(100vw * (16 / 1920));
    }
    .feature-card__image {
        margin-bottom: calc(100vw * (24 / 1920));
    }
    .feature-card__cta {
        display: flex;
        align-items: end;
        justify-content: space-between;
    }
    .feature-card__cta-text {
        max-width: calc(100vw * (412 / 1920));
    }
	    .content-image-row {
           width: 100%;
            display: flex;
            align-items: end;
            justify-content: space-between;
        }
    @media (min-width: 1025px) {
        .feature-card__cta .link-button__text {
            padding-right: calc(100vw * (30 / 1920));
        }
		.feature-card__cta .link-button__text br {
            display: none;
        }
    }
    @media (max-width: 1024px) {
        .title-section {
            margin-top: calc(100vw * (60 / 375));
        }
		.title-section__title {
            padding: calc(100vw * (30 / 375));
        }
        .title-section__icon {
            width: calc(100vw * (106 / 375));
            height: auto;
        }
        .message-section {
            margin-bottom: calc(100vw * (80 / 375));
        }
        .message-section__bg {
            bottom: unset;
            top: 11%;
        }
        .message-section__vertical-text {
            margin-bottom: 0;
            letter-spacing: 0.45em;
        }
        .message-section__vertical-text--center {
            margin-inline-start: calc(100vw * (1 / 375));
            letter-spacing: 0.5em;
        }
        .content-section__img--01 {
            width: calc(100vw * (100 / 375));
            display: none;
        }
        .content-section__img--02 {
            width: calc(100vw * (200 / 375));
            margin: 0 auto;
        }
        .feature-section {
            display: flex;
            flex-direction: column;
            align-items: stretch;
            gap: calc(100vw * (80 / 375));
            padding: 0 calc(100vw * (30 / 375));
            margin-bottom: calc(100vw * (152 / 375));
            max-width: 100%;
        }
        .feature-card__top-text {
            margin-bottom: calc(100vw * (24 / 375));
        }
        .feature-card__image {
            margin-bottom: calc(100vw * (16 / 375));
        }
        .feature-card__cta {
            flex-direction: column;
            align-items: stretch;
            gap: calc(100vw * (16 / 375));
        }
        .feature-card__cta-text {
            max-width: 100%;
        }
        .feature-card__cta .link-button {
            padding: calc(100vw * (8 / 375)) calc(100vw * (23 / 375));
            gap: 0;
        }
        .feature-card__cta .link-button__text {
            width: fit-content;
            text-align: left;
        }
    }
}
/* End CSS Business Housing Page */
/* Start CSS Busines Education Page */
#business-education-page {
    .title-section {
        margin-top: calc(100vw * (73 / 1920));
    }
    .title-section__icon {
        width: calc(100vw * (102 / 1920));
        height: auto;
    }
    .message-section {
        gap: calc(100vw * (24 / 1920));
        padding-bottom: calc(100vw * (30 / 1920));
        margin-bottom: calc(100vw * (40 / 1920));
    }
    .message-section__vertical-text {
        letter-spacing: 0.5em;
        margin-bottom: calc(-100vw * (10 / 1920));
    }
    .message-section__vertical-text--large {
        letter-spacing: 0.2em;
    }
    .message-section__bottom-text {
        max-width: calc(100vw * (396 / 1920));
        padding-right: calc(100vw * (16 / 1920));
        font-weight: 500;
        color: var(--color-primary);
    }
    .feature-section {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(3, auto);
        column-gap: calc(100vw * (38 / 1920));
        row-gap: calc(100vw * (25 / 1920));
        margin-bottom: calc(100vw * (68 / 1920));
    }
    .feature-card {
        height: 100%;
    }
    .feature-card__top-text {
        margin-bottom: calc(100vw * (16 / 1920));
    }
    .feature-card__image {
        margin-bottom: calc(100vw * (24 / 1920));
    }
    .feature-card__bottom-text {
        text-align: justify;
    }
    .bottom-banner__img img {
        width: 100%;
    }
    .bottom-banner__img.animate img {
        animation: zoomInBottomBanner 15s ease-in-out forwards;
    }
    @media (max-width: 1024px) {
        .title-section {
            margin-top: calc(100vw * (76 / 375));
        }
        .title-section__icon {
            width: calc(100vw * (90 / 375));
        }
        .title-section__title {
            padding: calc(100vw * (30 / 375));
        }
        .message-section__bg {
            height: calc(100vw * (530 / 375));
        }
        .message-section {
            gap: calc(100vw * (24 / 375));
            padding-bottom: calc(100vw * (6 / 375));
            margin-bottom: calc(100vw * (64 / 375));
        }
        .message-section__vertical-text {
            margin-bottom: calc(-100vw * (10 / 375));
        }
        .message-section__bottom-text {
            max-width: calc(100vw * (235 / 375));
            padding-right: 0;
            font-weight: 500;
            color: var(--color-primary);
        }
        .feature-section {
            display: flex;
            flex-direction: column;
            align-items: stretch;
            gap: calc(100vw * (80 / 375));
            padding: 0 calc(100vw * (30 / 375));
            margin-bottom: calc(100vw * (70 / 375));
            max-width: 100%;
        }
        .feature-card__top-text {
            margin-bottom: calc(100vw * (25 / 375));
        }
        .feature-card__image {
            margin-bottom: calc(100vw * (17 / 375));
        }
        .feature-card__bottom-text br {
            display: none;
        }
        .feature-section__item:nth-child(2) .feature-card__tag-text {
            display: block;
            text-align: left;
        }
        .feature-section__item:nth-child(4) .feature-card__tag-text,
        .feature-section__item:nth-child(6) .feature-card__tag-text {
            letter-spacing: -0.1em;
        }
        .bottom-banner {
            height: calc(100vw * (340 / 375));
        }
    }
}
/* End CSS Busines Education Page */
/* Start CSS Business Property Page */
#business-property-page {
    .title-section {
        margin-top: calc(100vw * (98 / 1920));
        margin-bottom: calc(100vw * (105 / 1920));
    }
    .title-section__icon {
        width: calc(100vw * (106 / 1920));
    }
    .category-filter {
        margin-bottom: calc(100vw * (120 / 1920));
        display: flex;
        flex-direction: column;
        align-items: start;
        gap: calc(100vw * (27 / 1920));
    }
    .category-filter__heading {
        display: flex;
        flex-direction: column;
        gap: calc(100vw * (12 / 1920));
        color: var(--color-primary);
        font-weight: 500;
    }
    .category-filter__title {
        font-family: var(--font-noto-serif-jp);
        font-size: calc(100vw * (32 / 1920));
        font-weight: 700;
        color: var(--color-primary);
        line-height: 1.2;
    }
    .category-filter__grid {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        grid-template-rows: repeat(1, auto);
        gap: calc(100vw * (12.5 / 1920));
    }
    .category-filter-item {
        width: 100%;
        height: 100%;
        box-sizing: border-box;
        border-radius: calc(100vw * (8 / 1920));
        border: 1px solid var(--color-primary);
        overflow: hidden;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        /* animation */
        opacity: 0;
        transform: translateY(20%);
    }
    .category-filter-item__image-wrapper {
        display: flex;
        overflow: hidden;
    }
    .category-filter-item__image {
        width: 100%;
        height: auto;
        transition: transform 0.7s ease;
    }
    .category-filter-item__title {
        padding: calc(100vw * (12 / 1920));
        font-weight: 600;
        color: var(--color-primary);
        line-height: 1;
        text-align: left;
        font-size: calc(100vw * (16 / 1920));
    }
    .category-filter-item .property-link-button {
        max-width: calc(100vw * (170 / 1920));
        margin: 0 auto;
        margin-bottom: calc(100vw * (12 / 1920));
        font-size: calc(100vw * (15 / 1920));
    }
    .category-filter-item .property-link-button__icon-wrapper {
        top: calc(100vw * (9 / 1920));
        transform: unset;
    }
    .category-filter-item .property-link-button__icon {
        rotate: 90deg;
    }

    .category-filter-item:hover .category-filter-item__image {
        transform: scale(1.1);
    }

    .animate .category-filter-item {
        animation: slideUpAnimation 1s ease forwards;
    }
    @media (max-width: 1024px) {
        .title-section {
            margin-top: calc(100vw * (60 / 375));
            margin-bottom: calc(100vw * (80 / 375));
        }
        .title-section__icon {
            width: calc(100vw * (106 / 375));
        }
        .category-filter {
            margin-bottom: calc(100vw * (130 / 375));
            gap: calc(100vw * (80 / 375));
            padding: 0 calc(100vw * (30 / 375));
        }
        .category-filter__heading {
            gap: calc(100vw * (12 / 375));
        }
        .category-filter__title {
            font-size: calc(100vw * (32 / 375));
            text-align: center;
        }
        .category-filter__sub-title {
            text-align: center;
        }
        .category-filter__grid {
            grid-template-columns: repeat(2, 1fr);
            grid-template-rows: repeat(3, auto);
            row-gap: calc(100vw * (20 / 375));
            column-gap: calc(100vw * (10 / 375));
        }
        .category-filter__grid-item:last-child {
            grid-column: 1 / -1;
            justify-self: center;
            width: calc(100vw * (150 / 375));
        }
        .category-filter-item {
            border-radius: calc(100vw * (8 / 375));
        }
        .category-filter-item__title {
            padding: calc(100vw * (12 / 375));
            font-size: calc(100vw * (16 / 375));
            text-align: center;
        }
        .category-filter-item .property-link-button {
            max-width: calc(100vw * (139 / 375));
            margin-bottom: calc(100vw * (10 / 375));
            font-size: calc(100vw * (15 / 375));
            letter-spacing: -0.05em;
            padding: calc(100vw * (6 / 375)) calc(100vw * (9 / 375));
            justify-content: space-between;
        }
        .category-filter-item .property-link-button__icon-wrapper {
            position: static;
            width: calc(100vw * (17 / 375));
        }
        .category-filter-item .property-link-button__icon {
            width: calc(100vw * (10 / 375));
            height: calc(100vw * (9 / 375));
        }
    }
    .property-section {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: calc(100vw * (80 / 1920));
        margin-bottom: calc(100vw * (80 / 1920));
    }
    .property-grid {
        width: 100%;
        box-sizing: border-box;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        grid-template-rows: repeat(2, auto);
        row-gap: calc(100vw * (65 / 1920));
        column-gap: calc(100vw * (24 / 1920));
    }
    .property-grid-item {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: calc(100vw * (12 / 1920));
    }
    .property-grid-item__inner {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }
    .property-grid-item__image-wrapper {
        display: flex;
        overflow: hidden;
        border-radius: calc(100vw * (8 / 1920));
    }
    .property-grid-item__image {
        width: 100%;
        height: calc(100vw * (278 / 1920));
        object-fit: cover;
        transition: transform 0.7s ease;
    }
    .property-grid-item__title {
        font-weight: 700;
        color: var(--color-primary);
    }
    .property-grid-item__layout {
        font-weight: 500;
    }
    .property-grid-item__description {
        font-family: var(--font-roboto);
        font-size: calc(100vw * (14 / 1920));
    }
    .property-grid-item .property-link-button {
        max-width: calc(100vw * (169 / 1920));
    }
    .property-grid-item:hover .property-grid-item__image {
        transform: scale(1.1);
    }
    @media (max-width: 1024px) {
        .property-section {
            gap: calc(100vw * (26 / 375));
            margin-bottom: calc(100vw * (90 / 375));
        }
        .property-grid {
            display: flex;
            flex-direction: column;
            align-items: stretch;
            gap: calc(100vw * (60 / 375));
            padding: 0 calc(100vw * (30 / 375));
        }
        .property-grid-item {
            gap: calc(100vw * (12 / 375));
        }
        .property-grid-item__image-wrapper {
            border-radius: calc(100vw * (8 / 375));
        }
        .property-grid-item__image {
            height: calc(100vw * (378 / 375));
        }
        .property-grid-item__layout {
            font-size: calc(100vw * (16 / 375));
        }
        .property-grid-item__description {
            font-size: calc(100vw * (14 / 375));
        }
        .property-grid-item .property-link-button {
            max-width: calc(100vw * (196 / 375));
        }
    }
}
.property-link-button {
    width: 100%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: calc(100vw * (7 / 1920)) calc(100vw * (30 / 1920));
    border-radius: 999px;
    border: solid 1px var(--color-primary);
    background-color: var(--color-primary);
    color: var(--color-secondary);
    font-weight: 500;
    transition: color 0.7s ease, background-color 0.7s ease;
    cursor: pointer !important;
}
.property-link-button__icon-wrapper {
    position: absolute;
    top: 50%;
    right: calc(100vw * (10 / 1920));
    transform: translateY(-50%);
    width: calc(100vw * (17 / 1920));
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 100%;
    background-color: var(--color-secondary);
    color: var(--color-primary);
    transition: color 0.7s ease, background-color 0.7s ease;
}
.property-link-button__icon {
    width: calc(100vw * (10 / 1920));
    height: calc(100vw * (9 / 1920));
}
a:hover .property-link-button,
button:hover .property-link-button {
    background-color: transparent;
    color: var(--color-primary);
}
a:hover .property-link-button__icon-wrapper,
button:hover .property-link-button__icon-wrapper {
    color: var(--color-secondary);
    background-color: var(--color-primary);
}
@media (max-width: 1024px) {
    .property-link-button {
        padding: calc(100vw * (7 / 375)) calc(100vw * (30 / 375));
    }
    .property-link-button__icon-wrapper {
        right: calc(100vw * (10 / 375));
        width: calc(100vw * (17 / 375));
    }
    .property-link-button__icon {
        width: calc(100vw * (10 / 375));
        height: calc(100vw * (9 / 375));
    }
}
/* End CSS Busines Property Page */
/* CSS Company Page  */

.first-banner.comany-banner .banner-image {
    background-image: url(../img/company/first-banner.webp);
}

.banner-button {
    opacity: 0;
}

.management-philosophy-container {
    height: fit-content;
    padding: 4.84375vw 0;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.8854vw;
    box-sizing: border-box;
}

.management-philosophy-container .title-label {
    width: fit-content;
}

.management-philosophy-container .detail-group {
    width: fit-content;
    height: fit-content;
    display: flex;
    gap: 0.8333vw;
    opacity: 0;
    margin: 0 auto;
    transform: translateY(20px);
}

.management-philosophy-container .detail-group span {
    writing-mode: vertical-rl;
    text-orientation: upright;
    white-space: nowrap;
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 600;
    font-size: 1.14583vw;
    line-height: 100%;
    font-feature-settings: 'vert' on;
    color: #ECE7C8;
}

.stone-container {
    display: flex;
    flex-direction: column;
    position: relative;
    gap: 1.14583vw;
    box-sizing: border-box;
    width: 13.22916vw;
    border: 1px solid #ECE7C8;
    border-radius: 0.41666vw;
    justify-content: center;
    margin: 0 auto;
    padding: 2.1354vw 0 1.51041vw;
}

.stone-group {
    display: flex;
    position: relative;
    gap: 0.752604vw;
    box-sizing: border-box;
    width: 13.22916vw;
    height: 4.95833vw;
    border-radius: 0.41666vw;
    justify-content: center;
    margin: 0 auto;
}

.stone-container .stone-group .stone-img-1,
.stone-container .stone-group .stone-img-2 {
    width: 3.46614vw;
    height: 4.9901vw;

}

.stone-container .stone-group .stone-text-1,
.stone-container .stone-group .stone-text-2,
.stone-container .stone-group .stone-text-3 {
    width: 1.71875vw;
    height: 3.33333vw;
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 1.6666vw;
    line-height: 100%;
    font-feature-settings: 'vert' on;
}

.stone-container .stone-group .stone-text-1 {
    position: absolute;
    top: 1vw;
    left: 1.5vw;
    color: #39691C;
}

.stone-container .stone-group .stone-text-2 {
    position: absolute;
    top: 1vw;
    right: 3.6vw;
    color: #ECE7C8;
}

.stone-container .stone-group .stone-text-3 {
    position: absolute;
    top: 1vw;
    right: 1.5vw;
    color: #39691C;
}

.stone-container .detail-group-stone {
    width: fit-content;
    height: fit-content;
    display: flex;
    gap: 0.8333vw;
    opacity: 1;
    margin: 0 auto;
}

.stone-container .detail-group-stone span {
    writing-mode: vertical-rl;
    text-orientation: upright;
    white-space: nowrap;
    font-family: var(--font-noto-sans-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 0.83333vw;
    line-height: 100%;
    font-feature-settings: 'vert' on;
    color: #ECE7C8;
}

.animation-form .content {
    height: fit-content;
    padding-top: 10vw;
    display: flex;
    flex-direction: column;
    row-gap: 5vw;
    justify-content: center;
    align-items: center;
    background-color: #f7f7f7;
    background-image: url(assets/pentagon-container.webp);
}

.transition-container {
    height: 20vw;
    padding: 2vw;
}

.message-container {
    display: flex;
    gap: 2.23958vw;
    padding: 4.27083vw 0 0 23.9583vw;
}

.common-green-title {
    width: 4.0104vw;
    height: fit-content;
    background-blend-mode: multiply, normal;
    border-radius: 0.416666vw;
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 1.66667vw;
    line-height: 100%;
    font-feature-settings: "vert";
    color: #ECE7C8;
    padding: 1.19791vw;
    box-sizing: border-box;
    /* margin: 0 auto; */
}

.message-container .ceo-img {
    width: 50vw;
}

#company-page .ceo-img-wrapper {
    display: flex;
    position: relative;
    border-top-left-radius: calc(100vw * (8 / 1920));
    border-bottom-left-radius: calc(100vw * (8 / 1920));
    overflow: hidden;
}

@media (max-width: 1024px) {
    #company-page .ceo-img-wrapper {
        border-radius: calc(100vw * (8 / 375));
    }
}

.message-container .text-group {
    display: flex;
    flex-direction: column;
    gap: 2.08333vw;
}

.message-container .text-group .message-detail {
    display: flex;
    flex-direction: column;
    gap: 0.78125vw;
    opacity: 0;
    transform: translateY(20px);
}

.message-container .text-group .message-detail p {
    font-family: var(--font-noto-sans-jp);
    font-style: normal;
    font-weight: 500;
    font-size: 0.83333vw;
    line-height: 150%;

    color: #39691C;
}

.right-text {
    text-align: right;
}

.company-profile-container {
    padding: 5.729166vw 23.958333vw;
}

.company-profile-container .title {
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 1.66666vw;
    line-height: 120%;
    text-align: center;

    color: #39691C;
}

.company-profile-container .content-row .title {
    font-family: var(--font-noto-serif-jp);

    font-style: normal;
    font-weight: 900;
    font-size: 0.9375vw;
    line-height: 150%;

    color: #39691C;
    text-align: left;
    margin-bottom: 1.171875vw;

}

.company-profile-container .description {
    font-family: var(--font-noto-sans-jp);
    font-style: normal;
    font-weight: 500;
    font-size: 0.8333vw;
    line-height: 150%;
    text-align: left;
    color: #39691C;
}

.company-profile-container .profile-table {
    margin-top: 4.16666vw;
}

.company-profile-container .content-row {
    padding: 1.171875vw 0;
}

.double-border {
    border-bottom: 1px solid #39691C;
    border-top: 1px solid #39691C;
}

.bottom-border {
    border-bottom: 1px solid #39691C;
}

/* CSS mask size animation  */

.logo-tape {
    background-image: url('assets/img/text-animate.png');
    background-repeat: repeat-x;
    background-size: auto 100%;
    animation: bgMove 50s infinite linear;
    height: 6.125vw;
}

.logo-tape.custom {
    position: absolute;
    width: 100%;
    z-index: 0;
}

#company-page .history-container {
    height: 24.6875vw;
}

#company-page .history-container .history-banner {
    height: 24.6875vw;
    width: 89.5833vw;
    margin: 0 auto;
    border-radius: 1.25vw;

}

#company-page .history-container .history-banner .title-group {
    background-image: url("../img/company/history-banner.jpg");
    height: 100%;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 1.25vw;
}

#company-page .history-container .history-banner .title-group .title-1 {
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 3.64583vw;
    line-height: 120%;
    text-align: center;
    color: #ECE7C8;
    transform: matrix(1, 0, -0.14, 0.99, 0, 0);
    margin-bottom: 3vw;
}

#company-page .history-container .history-banner .title-group .title-1 .extra-text {
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 2.5vw;
    line-height: 120%;
    text-align: center;
    color: #ECE7C8;
    transform: matrix(1, 0, -0.14, 0.99, 0, 0);
}

#company-page .history-container .history-banner .title-group .title-2 {
    position: absolute;
    left: 47vw;
    top: 12vw;
    font-family: var(--font-noto-serif-jp);
    font-style: italic;
    font-weight: 700;
    font-size: 100px;
    line-height: 120%;
    text-align: center;
    letter-spacing: -0.13em;
    color: #ECE7C8;
}

#company-page .detail-group.animation.animate,
.message-container .text-group .message-detail.animation.animate {
    animation: 1s ease 0s 1 normal forwards running slideUpAnimation;
}

#company-page .history-container .history-banner .title-group .title-2.animation.animate {
    animation: 2.5s ease-in-out 0s 1 normal forwards running flying-leaves;
}

#company-page .history-container .history-banner .title-group .title-1.animation.animate {
    animation: fadeIn 1s ease-in-out forwards;
}

.animation.animate .gradient-cover {
    animation: 1s ease 0s 1 normal forwards running slideUpOut;
}

.company-profile-container .profile-table .item-1.animation.animate,
.company-profile-container .profile-table .item-2.animation.animate,
.company-profile-container .profile-table .item-3.animation.animate,
.company-profile-container .profile-table .item-4.animation.animate,
.company-profile-container .profile-table .item-5.animation.animate,
.company-profile-container .profile-table .item-6.animation.animate,
.company-profile-container .profile-table .item-7.animation.animate,
.company-profile-container .profile-table .item-8.animation.animate,
.company-profile-container .profile-table .item-9.animation.animate,
.timeline-container .timeline .timeline-column .timeline-item.item-1.animation.animate,
.timeline-container .timeline .timeline-column .timeline-item.item-2.animation.animate,
.timeline-container .timeline .timeline-column .timeline-item.item-3.animation.animate,
.timeline-container .timeline .timeline-column .timeline-item.item-4.animation.animate,
.timeline-container .timeline .timeline-column .timeline-item.item-5.animation.animate,
.timeline-container .timeline .timeline-column .timeline-item.item-6.animation.animate,
.timeline-container .timeline .timeline-column .timeline-item.item-7.animation.animate,
.timeline-container .timeline .timeline-column .timeline-item.item-8.animation.animate,
.timeline-container .timeline .timeline-column .timeline-item.item-9.animation.animate,
.timeline-container .timeline .timeline-column .timeline-item.item-10.animation.animate,
.timeline-container .timeline .timeline-column .timeline-item.item-11.animation.animate,
.timeline-container .timeline .timeline-column .timeline-item.item-12.animation.animate,
.timeline-container .timeline .timeline-column .timeline-item.item-13.animation.animate {
    animation: fadeIn 1s ease-in-out forwards;
}

#company-page .timeline-container {
    padding: 4.16666vw 23.9583vw;
}

.timeline-column {
    position: relative;
}

.timeline-image-1 {
    position: absolute;
	overflow: hidden;
    top: 6.2500vw;
    right: 0;
	border-radius: 0.4167vw;
	height: 26.3542vw;
}

.timeline-image-2 {
    position: absolute;
	overflow: hidden;
    top: 103.1250vw;
    right: 2.0833vw;
    display: flex;
	height: 15.5208vw;
	border-radius: 0.4167vw;
}

.timeline-image-1 .img-1 {
    width: 11.6666vw;
	height: 31.2500vw;
	border-radius: 0.4167vw;
	transform: translateY(var(--timeline-percent-1));
    transition: transform 1s ease-out;
}

.timeline-image-2 .img-2 {
    width: 15.52083vw;
	height: 16.6667vw;
	border-radius: 0.4167vw;
	transform: translateY(var(--timeline-percent-2));
    transition: transform 1s ease-out;
}

#company-page .timeline-item {
    display: flex;
    align-items: center;
    margin-bottom: 2.23958vw;
    position: relative;
    z-index: 2;
    opacity: 0;
}

#company-page .timeline-circle {
    width: 9.53125vw;
    height: 9.53125vw;
    background-color: rgb(47, 106, 33);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 2;
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 2.0833vw;
    line-height: 150%;
    color: rgb(236, 231, 200);
    flex-shrink: 0;
}

#company-page .year-text {
    font-size: 2.0833vw;
    line-height: 150%;
}

#company-page .symbol {
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 1.25vw;
    line-height: 150%;
    color: rgb(236, 231, 200);
    display: inline-block;
    vertical-align: baseline;
    transform: translateY(0.4em);
}

#company-page .timeline-text {
    font-family: var(--font-noto-sans-jp);
    font-style: normal;
    font-weight: 500;
    font-size: 1.25vw;
    line-height: 150%;
    color: rgb(57, 105, 28);
    margin-left: 1.61458vw;
    white-space: normal;
    word-break: break-word;
    width: 19.9479vw;
}

#company-page .timeline-column-left .timeline-item {
    flex-direction: row;
}

.common-yellow-title {
    width: 4.0104vw;
    height: 9.0104vw;
    background-blend-mode: multiply, normal;
    border-radius: 0.416666vw;
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 1.66667vw;
    line-height: 100%;
    font-feature-settings: "vert";
    color: rgb(57, 105, 28);
    padding: 1.19791vw;
    box-sizing: border-box;
    margin: 0 auto;
}

.common-green-title {
    width: 4.0104vw;
    height: fit-content;
    background-blend-mode: multiply, normal;
    border-radius: 0.416666vw;
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 1.66667vw;
    line-height: 100%;
    font-feature-settings: "vert";
    color: #ECE7C8;
    padding: 1.19791vw;
    box-sizing: border-box;
    /* margin: 0 auto; */
}

.banner-button {
    opacity: 0;
}

.stone-group {
    display: flex;
    position: relative;
    gap: 0.752604vw;
    box-sizing: border-box;
    width: 13.22916vw;
    height: 4.95833vw;
    border-radius: 0.41666vw;
    justify-content: center;
    margin: 0 auto;
}

.stone-container .stone-group .stone-img-1,
.stone-container .stone-group .stone-img-2 {
    width: 3.46614vw;
    height: 4.9901vw;

}

.stone-container .stone-group .stone-text-1,
.stone-container .stone-group .stone-text-2,
.stone-container .stone-group .stone-text-3 {
    width: 1.71875vw;
    height: 3.33333vw;
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 1.6666vw;
    line-height: 100%;
    font-feature-settings: 'vert' on;
}

.stone-container .stone-group .stone-text-1 {
    position: absolute;
    top: -0.7vw;
    left: 1.5vw;
    color: #39691C;
}

.stone-container .stone-group .stone-text-2 {
    position: absolute;
    top: -0.7vw;
    right: 5.7vw;
    color: #ECE7C8;
}

.stone-container .stone-group .stone-text-3 {
    position: absolute;
    top: -0.7vw;
    right: 1.5vw;
    color: #39691C;
}

.stone-container .detail-group-stone {
    width: fit-content;
    height: fit-content;
    display: flex;
    gap: 0.8333vw;
    opacity: 1;
    margin: 0 auto;
}

.stone-container .detail-group-stone span {
    writing-mode: vertical-rl;
    text-orientation: upright;
    white-space: nowrap;
    font-family: var(--font-noto-sans-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 0.83333vw;
    line-height: 100%;
    font-feature-settings: 'vert' on;
    color: #ECE7C8;
}

.animation-form .content {
    height: fit-content;
    padding-top: 10vw;
    display: flex;
    flex-direction: column;
    row-gap: 5vw;
    justify-content: center;
    align-items: center;
    background-color: #f7f7f7;
    background-image: url(assets/pentagon-container.webp);
}

.transition-container {
    height: 20vw;
    padding: 2vw;
}

.transition-cover {
    position: absolute;
    overflow: hidden;
    border-radius: 0.625vw;
}

.transition-cover.img-1 {
    top: 30%;
    left: 11%;
    width: 10.3125vw;
    height: 13.6458vw;
}

.transition-cover.img-2 {
    top: 53%;
    left: 5%;
    width: 9.21875vw;
    height: 9.53125vw;
}

.transition-cover.img-3 {
    top: 48%;
    right: 5%;
    width: 7.39583vw;
    height: 9.94791vw;
}

.transition-cover.img-4 {
    top: 60%;
    right: 14%;
    width: 10.2604vw;
    height: 13.59375vw;
}

.transition-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0.625vw;
    transform: translateY(var(--transition-px, 0));
    transition: transform 0.7s ease-out;
    will-change: transform;
}


.message-container {
    display: flex;
    gap: 2.23958vw;
    padding: 4.27083vw 0 0 23.9583vw;
}

.message-container .ceo-img {
    width: 50vw;
}

.message-container .text-group {
    display: flex;
    flex-direction: column;
    gap: 2.08333vw;
}

.message-container .text-group .message-detail {
    display: flex;
    flex-direction: column;
    gap: 0.78125vw;
    opacity: 0;
    transform: translateY(20px);
}

.message-container .text-group .message-detail p {
    font-family: var(--font-noto-sans-jp);
    font-style: normal;
    font-weight: 500;
    font-size: 0.83333vw;
    line-height: 150%;
	width: 23.7500vw;
    color: #39691C;
}

.right-text {
    text-align: right;
}

.double-border {
    border-bottom: 1px solid #39691C;
    border-top: 1px solid #39691C;
}

.bottom-border {
    border-bottom: 1px solid #39691C;
}

/* CSS mask size animation  */

.scroll-container {
    height: 138vh;
    position: relative;

}

.sticky-container {
    position: sticky;
    top: 10.4167vw;
    height: 60vh;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    border-radius: 0.625vw;
}

.mask1 {
	width: var(--hide-percent, 20%);
    height: 22.60416vw;
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1;
    border-radius: 0.625vw;
}

.mask1 img {
    width: 52.03125vw;
    height: auto;
    display: block;
    transform-origin: center center;
    transition: transform 0.3s ease;
}

.scroll-container-sp {
    display: none;
}

.sticky-container-sp {
    display: none;
}

.mask2 {
    display: none;
}

.mask2 img {
    display: none;
}

.logo-tape {
    background-image: url('../img/company/tag-line-animate.png');
    background-repeat: repeat-x;
    background-size: auto 100%;
    animation: bgMove 50s infinite linear;
    height: 6.125vw;
}

.logo-tape.custom {
    position: absolute;
    width: 100%;
    z-index: 0;
}

#company-page .history-container {
    height: 24.6875vw;
}

#company-page .history-container .history-banner {
    height: 24.6875vw;
    width: 89.5833vw;
    margin: 0 auto;
    border-radius: 1.25vw;

}

#company-page .history-container .history-banner .title-group {
    background-image: url("../img/company/history-banner.jpg");
    height: 100%;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 1.25vw;
    background-size: contain;
}

#company-page .history-container .history-banner .title-group .title-1 {
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 3.64583vw;
    line-height: 120%;
    text-align: center;
    color: #ECE7C8;
    transform: matrix(1, 0, -0.14, 0.99, 0, 0);
    margin-bottom: 3vw;
}

#company-page .history-container .history-banner .title-group .title-1 .extra-text {
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 2.5vw;
    line-height: 120%;
    text-align: center;
    color: #ECE7C8;
    transform: matrix(1, 0, -0.14, 0.99, 0, 0);
}

#company-page .history-container .history-banner .title-group .title-2 {
    position: absolute;
    left: 47vw;
    top: 13vw;
    font-family: var(--font-noto-serif-jp);
    font-style: italic;
    font-weight: 700;
    font-size: 100px;
    line-height: 120%;
    text-align: center;
    letter-spacing: -0.13em;
    color: #ECE7C8;
}

#company-page .detail-group.animation.animate,
.message-container .text-group .message-detail.animation.animate {
    animation: 1s ease 0s 1 normal forwards running slideUpAnimation;
}

#company-page .history-container .history-banner .title-group .title-2.animation.animate {
    animation: 2.5s ease-in-out 0s 1 normal forwards running flying-leaves;
}

#company-page .history-container .history-banner .title-group .title-1.animation.animate {
    animation: fadeIn 1s ease-in-out forwards;
}

.timeline-column {
    position: relative;
}

.timeline-image {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 73.22916vw;
}

#company-page .timeline-item {
    display: flex;
    align-items: center;
    margin-bottom: 2.23958vw;
    position: relative;
    z-index: 2;
    opacity: 0;
}

#company-page .timeline-circle {
    width: 9.53125vw;
    height: 9.53125vw;
    background-color: rgb(47, 106, 33);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 2;
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 2.0833vw;
    line-height: 150%;
    color: rgb(236, 231, 200);
}

#company-page .timeline-column-left .timeline-item {
    flex-direction: row;
}

#company-page .map-container {
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 4.16666vw;
	margin-bottom: 4.4271vw;
}

#company-page .map-container .map-title {
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 1.666666vw;
    line-height: 120%;
    text-align: center;
    
    color: #39691C;
}

#company-page .map-container .map-groups {
    width: 52.0833vw;
    margin: 0 auto;
    display: flex;
    gap: 2.29166vw;
}

#company-page .map-container .map-groups .map-frame {
	max-width: 26.0417vw;
	max-height: 19.0104vw;
    -webkit-filter: grayscale(100%);
     -moz-filter: grayscale(100%);
     -o-filter: grayscale(100%);
     -ms-filter: grayscale(100%);
     filter: grayscale(100%);
}

#company-page .map-container .map-groups .map-desctiption {
    display: flex;
    flex-direction: column;
}

#company-page .map-container .map-groups .map-desctiption label {
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 0.9375vw;
    line-height: 150%;
    color: #39691C;
    margin-bottom: 0.4166666667vw;
}

#company-page .map-container .map-groups .map-desctiption p {
    font-family: var(--font-noto-sans-jp);
    font-style: normal;
    font-weight: 500;
    font-size: 0.8333333333vw;
    line-height: 150%;
    color: #39691C;
    margin-bottom: 1.302083333vw;
}

@media (max-width: 1024px) {
    .first-banner.comany-banner .banner-image {
        background-image: url("../img/company/first-banner-sp.webp") !important;
        border-radius: 0;
        width: 100%;
        height: 100.3%;
        background-size: cover;
        background-position: bottom;
    }

    .management-philosophy-container {
        height: 720vw;
        padding: 4.84375vw 0;
        position: relative;
        display: flex;
        flex-direction: column;
        gap: 0.8854vw;
        box-sizing: border-box;
        align-items: center;
    }

    .transition-cover {
        position: static;
        overflow: hidden;
    }

    .common-yellow-title {
    width: 15.53333333vw;
    height: 40.93333333vw;
    background-blend-mode: multiply, normal;
    border-radius: 0.416666vw;
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 8.533333333vw;
    line-height: 100%;
    font-feature-settings: "vert";
    color: rgb(57, 105, 28);
    padding: 3.5vw;
    box-sizing: border-box;
    margin: 0 auto;
    margin-top: 16vw;
    }

    .management-philosophy-container .detail-group {
        width: fit-content;
        height: fit-content;
        display: flex;
        gap: 4.266666667vw;
        opacity: 0;
        margin: 0 auto;
        transform: translateY(20px);
    }

    .management-philosophy-container .detail-group span {
    writing-mode: vertical-rl;
    text-orientation: upright;
    white-space: nowrap;
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 600;
    font-size: 5.866666667vw;
    line-height: 100%;
    font-feature-settings: 'vert' on;
    color: #ECE7C8;
    margin-top: 5.333333333vw;
    }

    .stone-container {
    display: flex;
    flex-direction: column;
    position: relative;
    gap: 1.14583vw;
    box-sizing: border-box;
    width: 67.73333333vw;
    border: 1px solid #ECE7C8;
    border-radius: 2.133333333vw;
    justify-content: center;
    margin: 0 auto;
    padding: 2.1354vw 0 1.51041vw;
    }

    .stone-group {
        display: flex;
        position: relative;
        gap: 0.752604vw;
        box-sizing: border-box;
        width: 13.22916vw;
        height: 32vw;
        border-radius: 0.41666vw;
        justify-content: center;
        margin: 0 auto;
        gap: 4vw;
        margin-top: 10.93333333vw;
    }

    .stone-container .stone-group .stone-img-1,
    .stone-container .stone-group .stone-img-2 {
        width: 17.7vw;
        height: 25.7vw;
    }

    .stone-container .stone-group .stone-text-1,
    .stone-container .stone-group .stone-text-2,
    .stone-container .stone-group .stone-text-3 {
        width: 1.71875vw;
        height: 3.33333vw;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 8.533333333vw;
        line-height: 100%;
        font-feature-settings: 'vert' on;
    }

    .stone-container .stone-group .stone-text-1 {
        position: absolute;
        top: -3.5vw;
        left: -19vw;
        color: #39691C;
    }

    .stone-container .stone-group .stone-text-2 {
        position: absolute;
        top: -3.5vw;
        left: 2.5vw;
        color: #ECE7C8;
    }

    .stone-container .stone-group .stone-text-3 {
        position: absolute;
        top: -3.5vw;
        right: -12.5vw;
        color: #39691C;
    }

    .stone-container .detail-group-stone {
        width: fit-content;
        height: fit-content;
        display: flex;
        gap: 2.933333333vw;
        opacity: 1;
        margin: 0 auto;
    }

    .stone-container .detail-group-stone span {
        writing-mode: vertical-rl;
        text-orientation: upright;
        white-space: nowrap;
        font-family: var(--font-noto-sans-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 4.266666667vw;
        line-height: 100%;
        font-feature-settings: 'vert' on;
        color: #ECE7C8;
        margin-bottom: 8.26666667vw;
    }

    	.transition-cover {
    	position: absolute;
    	overflow: hidden;
    	border-radius: 3.2vw;
	}

	.transition-cover.img-1 {
    	top: 42%;
    	left: 26%;
    	width: 65.86666667vw;
    	height: 87.2vw;
    	border-radius: 3.2vw;
	}

	.transition-cover.img-1 .transition-image {
    	width: 65.86666667vw;
    	height: 95.2vw;
    	border-radius: 3.2vw;
	}

	.transition-cover.img-2 {
    	top: 56%;
    	left: 8%;
    	width: 53.33333333vw;
    	height: 55.2vw;
    	border-radius: 3.2vw;
	}
	.transition-cover.img-2 .transition-image {
    	width: 53.33333333vw;
    	height: 63.2vw;
    	border-radius: 3.2vw;
	}

	.transition-cover.img-3 {
    	top: 86%;
    	right: 8%;
    	width: 50.1333vw;
    	height: 67.7333vw;
    	border-radius: 3.2vw;
	}
	.transition-cover.img-3 .transition-image {
    	width: 50.1333vw;
    	height: 73.7333vw;
    	border-radius: 3.2vw;
	}

	.transition-cover.img-4 {
    	top: 68%;
    	right: 8%;
    	width: 84vw;
    	height: 111.2vw;
    	border-radius: 3.2vw;
	}
	.transition-cover.img-4 .transition-image {
    	width: 84vw;
    	height: 115.2vw;
    	border-radius: 3.2vw;
	}

	.transition-image {
    	position: absolute;
    	top: 0;
    	left: 0;
    	width: 100%;
    	height: 100%;
    	object-fit: cover;
    	border-radius: 3.2vw;
    	transform: translateY(var(--transition-px, 0));
    	transition: transform 1s ease-out;
    	will-change: transform;
	}

    .message-container {
        display: grid;
        grid-template-areas:
            "title"
            "image"
            "message";
        justify-items: center;
        padding: 0;
    }

    .message-container .text-group {
        display: contents;
    }

    .common-green-title {
        grid-area: title;
        width: 20.266666667vw;
        height: fit-content;
        background-blend-mode: multiply, normal;
        border-radius: 2.1333vw;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 8.5333vw;
        line-height: 100%;
        font-feature-settings: "vert";
        color: #ECE7C8;
        padding: 6.1333vw;
        box-sizing: border-box;
        margin: 0 auto;
        margin-top: 24vw;
    }

    .message-container .ceo-img-wrapper {
        margin-top: 13.3333vw;
    }

    .message-container .ceo-img {
        grid-area: image;
        width: 84vw;
        border-radius: 2.1333vw 0 0 2.1333vw;
        display: block;
        margin: 0 auto;
    }

    .message-container .text-group .message-detail {
        grid-area: message;
        display: flex;
        flex-direction: column;
        padding: 6.6667vw;
        margin-top: 13.3333vw;
        margin-bottom: 26.6667vw;
        gap: 10px;
        opacity: 0;
        transform: translateY(20px);
    }

    .message-container .text-group .message-detail p {
        font-family: var(--font-noto-sans-jp);
        font-style: normal;
        font-weight: 500;
        font-size: 4.2667vw;
        line-height: 150%;
        color: #39691C;
		width: 84vw;
    }

    .company-profile-container {
        position: relative;
        padding: 6.1333vw;
        z-index: 1;
    }
    
    .company-profile-container .title {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 6.6667vw;
        line-height: 120%;
        text-align: center;
    
        color: #39691C;
    }
    
    .company-profile-container .content-row .title {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 900;
        font-size: 4.8vw;
        line-height: 150%;
        color: #39691C;
        text-align: left;
        margin-bottom: 1.171875vw;
        padding-top: 5.3333vw;
        padding-bottom: 5.3333vw;
    }
    
    .company-profile-container .description {
        font-family: var(--font-noto-sans-jp);
        font-style: normal;
        font-weight: 500;
        font-size: 4.2667vw;
        line-height: 150%;
        text-align: left;
        color: #39691C;
        padding-bottom: 6.4vw;
    }
    
    .company-profile-container .profile-table {
        margin-top: 5.3333vw;
    }
    
    .company-profile-container .content-row {
        padding: 0;
    }

    .company-profile-container .logo-tape-sp {
        background-image: url('../img/company/tag-line-animate-sp.png');
        background-repeat: repeat-y;
        background-size: auto 100%;
        animation: bgMoveY 50s infinite linear;
        height: 315.4000vw;
    }
    
    .company-profile-container .logo-tape-sp.custom {
        position: absolute;
        width: 30%;
        bottom: 20vw;
        left: 68vw;
        z-index: 0;
    }

    .logo-tape {
        display: none;
    }

    .logo-tape.custom {
        display: none;
    }

    .scroll-container {
        display: none;
    }

    .sticky-container {
        display: none;
    }

    .mask1 {
        display: none;
    }

    .mask1 img {
        display: none;
    }

    .scroll-container-sp {
        display: flex;
        justify-content: center;
    }

    .sticky-container-sp {
        display: flex;
        justify-content: center;
    }

    .mask {
        position: relative;
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 1;
        border-radius: 3.2vw;
        margin-top: 5.3333vw;
        margin-bottom: 21.3333vw;
    }

    .mask img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        transform-origin: center center;
        transition: transform 0.3s ease;
    }

    #company-page .history-container {
        height: 74.6667vw;
    }

    #company-page .history-container .history-banner {
        height: 74.6667vw;
        width: 84vw;
        margin: 0 auto;
        border-radius: 6.4vw;

    }

    #company-page .history-container .history-banner .title-group {
        background-image: url("../img/company/history-banner-sp.png");
        height: 100%;
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 6.4vw;
    }

    #company-page .history-container .history-banner .title-group .title-1 {
        position: absolute;
        top: 16vw;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 16vw;
        line-height: 120%;
        text-align: center;
        color: #ECE7C8;
        transform: matrix(1, 0, -0.14, 0.99, 0, 0);
        margin-bottom: 3vw;
    }

    #company-page .history-container .history-banner .title-group .title-1 .extra-text {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 12vw;
        line-height: 120%;
        text-align: center;
        color: #ECE7C8;
        transform: matrix(1, 0, -0.14, 0.99, 0, 0);
    }

    #company-page .history-container .history-banner .title-group .title-2 {
        position: absolute;
        left: 38.7333vw;
        top: 36.5333vw;
        font-family: var(--font-noto-serif-jp);
        font-style: italic;
        font-weight: 700;
        font-size: 18.6667vw;
        line-height: 120%;
        text-align: center;
        letter-spacing: -0.13em;
        color: #ECE7C8;
		opacity: 0;
    }

    #company-page .timeline-container {
        padding: 6.1333vw;
    }

    .timeline-column {
        position: relative;
    }

    .timeline-image-1 .img-1 {
        display: none;
    }

    .timeline-image-2 .img-2 {
        display: none;
    }

    #company-page .timeline-item {
        display: flex;
        align-items: center;
        margin-bottom: 11.4667vw;
        margin-top: 10.6667vw;
        position: relative;
        z-index: 2;
        opacity: 0;
    }

    #company-page .timeline-circle {
        width: 32vw;
        height: 32vw;
        background-color: rgb(47, 106, 33);
        border-radius: 50%;
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        z-index: 2;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        color: rgb(236, 231, 200);
        gap: 0.5vw;
        flex-shrink: 0;
    }

    #company-page .year-text {
        font-size: 8vw;
        line-height: 150%;
    }

    #company-page .symbol {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 4.2667vw;
        line-height: 150%;
        color: rgb(236, 231, 200);
        display: inline-block;
        vertical-align: baseline;
        transform: translateY(0.4em);
    }

    #company-page .timeline-text {
        font-family: var(--font-noto-sans-jp);
        font-style: normal;
        font-weight: 500;
        font-size: 4.2667vw;
        line-height: 150%;
        color: rgb(57, 105, 28);
        margin-left: 5.3333vw;
        white-space: normal;
        word-break: break-word;
        width: auto;
    }

    #company-page .timeline-column-left .timeline-item {
        flex-direction: row;
    }

    #company-page .map-container {
        margin: 0 auto;
        display: flex;
        flex-direction: column;
		margin-bottom: 21.3333vw;
    }
	#company-page .map-container .map-groups .map-frame {
		max-width: 84vw;
		max-height: 97.3333vw;
	}

    #company-page .map-container .map-title {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 6.6667vw;
        line-height: 120%;
        text-align: center;
        color: #39691C;
        margin-top: 24vw;
        margin-bottom: 5.3333vw;
    }

    #company-page .map-container .map-groups {
        width: 84vw;
        display: flex;
        flex-direction: column;
    }

    #company-page .map-container .map-groups .map-desctiption {
        display: flex;
        flex-direction: column;
    }

    #company-page .map-container .map-groups .map-desctiption label {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 4.8vw;
        line-height: 150%;
        color: #39691C;
        margin-top: 4.8vw;
        margin-bottom: 2.1333vw;
    }

    #company-page .map-container .map-groups .map-desctiption p {
        font-family: var(--font-noto-sans-jp);
        font-style: normal;
        font-weight: 500;
        font-size: 4.2667vw;
        line-height: 150%;
        color: #39691C;
        margin-bottom: 5.3333vw;
    }

    .map-groups iframe.map-frame {
        width: 84vw !important;
        height: 97.3333vw !important;
        aspect-ratio: 4 / 3;
    }

}
/* End CSS Company Page  */

/* Start CSS QA Page  */
.qa-page-title {
    border-radius: 1.25vw;
    padding: 2.60416vw 1.302083vw;
    box-sizing: border-box;
    width: 30.9896vw;
    height: 7.6563vw;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 2.083333vw;
    line-height: 120%;
    text-align: center;
    color: #ECE7C8;
	margin-top: 5.2083vw;
}
.qa-profile-container {
    position: relative;
    padding: 4.1vw;
    z-index: 1;
	padding-bottom: 0;
}

.qa-profile-container .title {
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 1.6667vw;
    line-height: 120%;
    text-align: center;
    color: #39691C;
    margin-bottom: 2.0833vw;
	margin-top: 0;
}

.qa-cards-container {
    margin-left: auto;
    margin-right: auto;
    display: flex;
    align-items: center;
    gap: 2.8125vw;
    width: fit-content;
}
.qa-card {
    border: 1px solid #39691C;
    border-radius: 0.4167vw;
    overflow: hidden;
    width: 15.4688vw;
    display: flex;
    flex-direction: column;
	transform: translateY(20px);
	opacity: 0;
    cursor: pointer;
}
.qa-card.step-animation.animate {
    animation: 1s ease 0s 1 normal forwards running slideUpAnimation;
}
.qa-card img {
    width: 100%;
    height: auto;
    display: block;
}
.qa-profile-container .link-button {
    max-width: calc(100vw * (195 / 1920));
}
.qa-profile-container .link-button__text {
    font-size: calc(100vw * (16 / 1920));
    font-weight: 500;
}
.qa-profile-container .link-button__icon {
    width: calc(100vw * (19.54 / 1920));
    height: calc(100vw * (19.64 / 1920));
}
.qa-profile-container .link-button__icon svg {
    width: calc(100vw * (9 / 1920));
}
.qa-card-content {
    margin-left: 0.6250vw;
}

.qa-card__img-wrapper {
    display: block;
    overflow: hidden;
}

.qa-card:hover .link-button {
    background-color: transparent;
    color: var(--color-primary);
}

.qa-card:hover .link-button__icon {
    background-color: var(--color-primary);
    color: var(--color-secondary);
}

.qa-card .qa-card__img-wrapper img {
    transition: transform 0.7s ease;
}

.qa-card:hover .qa-card__img-wrapper img {
    transform: scale(1.1);
}

.qa-link-buton{
    display: flex;
    margin-top: 0.5208vw;
    margin-bottom: 0.6250vw;
    justify-content: center;
}
.qa-card-content .title {
    font-family: var(--font-noto-sans-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 0.8333vw;
    line-height: 100%;
    text-align: start;
    color: #39691C;
	margin: 0.6250vw 0 0.5208vw 0;
}

.qa-list-container {
    margin-left: auto;
    margin-right: auto;
    margin-top: 4.3229vw;
    max-width: 52.0833vw;
    align-items: center;
}

.qa-list-container .qa-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 1.0417vw;
}

.qa-list-container .qa-question {
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 0.9375vw;
    line-height: 120%;
    color: #39691C;
    display: flex;
    align-items: flex-start;
    margin-right: 2.5521vw;
}

.qa-list-container .qa-bullet {
    margin-right: 1.2500vw;
    color: #39691C;
}

.qa-list-container .qa-text {
    width: 19.4792vw;
    flex-grow: 1;
}

.qa-list-container .qa-answer {
    width: 25.2604vw;
    font-family: var(--font-noto-sans-jp);
    font-style: normal;
    font-weight: 400;
    font-size: 0.8333vw;
    line-height: 120%;
    color: #39691C;
    flex-grow: 1;
    margin-left: 0;
    margin-right: 2.8646vw;
}

.qa-list-container .qa-divider {
    border: none;
    height: 1px;
    background-color: #39691C;
    margin: 2.0833vw 0;
}

.qa-inquiry-container {
    position: relative;
    padding: 6.2500vw;
    z-index: 1;
}
.qa-inquiry-container .title {
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 1.6667vw;
    line-height: 120%;
    text-align: center;
    color: #39691C;
    margin-bottom: 2.0833vw;
	margin-top: 0;
}
.qa-inquiry-container .qa-page-title {
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 2.0833vw;
    line-height: 120%;
    text-align: center;
    color: #ECE7C8;
    border-radius: 0.4167vw;
    padding: 0.5208vw;
    box-sizing: border-box;
    width: 15.6250vw;
    height: 3.5417vw;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
}

.qa-list-inquiry {
    margin-left: auto;
    margin-right: auto;
    margin-top: 4.3229vw;
    max-width: 52.0833vw;
    align-items: center;
}
.qa-list-inquiry .qa-item-separator {
	transition: opacity 0.6s, transform 0.6s;
    opacity 0;
}
.qa-list-inquiry .qa-item-separator.step-animation.animate {
    animation: fadeIn 1s ease-in-out forwards;
}
.qa-list-inquiry .qa-item {
    display: flex;
    align-items: center;
}
.qa-list-inquiry .qa-step-circle{
    width: 6.7188vw;
    height: 6.7188vw;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 2;
}
.qa-list-inquiry .qa-step-circle .text-step{
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 1.2500vw;
    line-height: 150%;
    color: #ECE7C8;
}
.qa-list-inquiry .qa-step-circle .text-number{
    font-family: var(--font-noto-serif-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 2.0833vw;
    line-height: 150%;
    color: #ECE7C8;
}

.qa-list-inquiry .qa-content {
    margin-left: 1.6146vw;
}
.qa-list-inquiry .qa-content .content-title{
    font-family: var(--font-noto-sans-jp);
    font-style: normal;
    font-weight: 700;
    font-size: 1.2500vw;
    line-height: 150%;
    color: #39691C;
    display: flex;
    align-items: center;
    gap: 0.8333vw;
}
.qa-list-inquiry .qa-content .content-title .icon-step{
    width: 2.0833vw;
	height: 2.0833vw;
}
.qa-list-inquiry .qa-content .content-message{
    font-family: var(--font-noto-sans-jp);
    font-style: normal;
    font-weight: 400;
    font-size: 0.8333vw;
    line-height: 150%;
    color: #39691C;
    display: flex;
    align-items: flex-start;
    margin-top: 0.7813vw;
}
.qa-list-inquiry .qa-divider {
    border: none;
    height: 1px;
    background-color: #39691C;
    margin-top: 2.0833vw;
    margin-bottom: 0;
    width: 100%;
}

.separator-arrow {
    width: 20px;
    height: 20px;
    margin-top: 0;
    margin-bottom: 12px;
}

.qa-divider-separator {
    display: flex;
    flex-direction: column;
    align-items: center;
}

@media (max-width: 1024px) {
    .qa-page-title {
        border-radius: 6.4vw;
        padding: 8vw 5.0667vw;
        box-sizing: border-box;
        width: 84vw;
        height: 25.6vw;
        margin-top: 16vw;
        display: flex;
        justify-content: center;
        align-items: center;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 7.1vw;
        line-height: 120%;
        text-align: center;
        color: #ECE7C8;
    }
    .qa-profile-container {
        position: relative;
        z-index: 1;
    }

    .qa-profile-container .title {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 6.4000vw;
        line-height: 120%;
        text-align: center;
        color: #39691C;
        margin-bottom: 21.3333vw;
    }

    .qa-cards-container {
        margin-left: auto;
        margin-right: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 14.4vw;
        width: fit-content;
    }
    .qa-card {
        border: 1px solid #39691C;
        border-radius: 2.1333vw;
        overflow: hidden;
        width: 79.2vw;
        display: flex;
        flex-direction: column;
    }
    .qa-card img {
        width: 100%;
        height: auto;
        display: block;
    }
    .qa-profile-container .link-button {
        max-width: calc(100vw * (195 / 375));
        max-height: calc(100vw * (38 / 375));
    }
    .qa-profile-container .link-button__text {
        font-size: calc(100vw * (16 / 375));
        font-weight: 500;
        margin-left: 5.3333vw;
    }
    .qa-profile-container .link-button__icon {
        min-width: calc(100vw * (19.54 / 375));
        width: calc(100vw * (19.54 / 375));
        height: calc(100vw * (19.54 / 375));
    }
    .qa-profile-container .link-button__icon svg {
        width: calc(100vw * (9 / 375));
    }
    .qa-card-content {
        margin-left: 0;
    }

    .qa-link-buton{
        display: flex;
        margin-top: 0;
        margin-bottom: calc(100vw * (12 / 375));
        justify-content: center;
    }
    .qa-card-content .title {
        font-family: var(--font-noto-sans-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 4.2667vw;
        line-height: 100%;
        color: #39691C;
		margin: 3.2000vw calc(100vw * (12 / 375)) 2.6667vw;
    }

    .qa-list-container {
        margin-left: auto;
        margin-right: auto;
        margin-top: 21.3333vw;
        max-width: 80vw;
        align-items: center;
    }
    .qa-list-container .qa-item {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 9.8667vw;
    }
    .qa-list-container .qa-question {
        width: 100%;
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 4.8vw;
        line-height: 120%;
        color: #39691C;
        display: flex;
        align-items: flex-start;
    }
    .qa-list-container .qa-bullet {
        display: none;
    }
    .qa-list-container .qa-text {
        width: 19.4792vw;
        flex-grow: 1;
    }
    .qa-list-container .qa-answer {
        width: 100%;
        font-family: var(--font-noto-sans-jp);
        font-style: normal;
        font-weight: 300;
        font-size: 4.2667vw;
        line-height: 120%;
        color: #39691C;
        flex-grow: 1;
    }
    .qa-list-container .qa-divider {
        border: none;
        height: 1px;
        background-color: #39691C;
        margin: 10.6667vw 0;
    }

    .qa-inquiry-container {
        position: relative;
        padding: 3.1250vw;
        z-index: 1;
    }
    .qa-inquiry-container .title {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 6.4vw;
        line-height: 120%;
        text-align: center;
        color: #39691C;
        margin-bottom: 10.6667vw;
    }
    .qa-inquiry-container .qa-page-title {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 8vw;
        line-height: 120%;
        text-align: center;
        color: #ECE7C8;
        border-radius: 2.1333vw;
        padding: 2.6667vw;
        box-sizing: border-box;
        width: 61.3333vw;
        height: 14.9333vw;
        margin: 0 auto;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .qa-list-inquiry {
        margin-left: auto;
        margin-right: auto;
        margin-top: 21.3333vw;
        max-width: 80vw;
        align-items: center;
    }
    .qa-list-inquiry .qa-item {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .qa-list-inquiry .qa-step-circle{
        width: 34.4000vw;
        height: 34.4000vw;
        border-radius: 50%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        position: relative;
        z-index: 2;
    }
    .qa-list-inquiry .qa-step-circle .text-step{
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 6.4000vw;
        line-height: 150%;
        color: #ECE7C8;
    }
    .qa-list-inquiry .qa-step-circle .text-number{
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 10.6667vw;
        line-height: 150%;
        color: #ECE7C8;
    }

    .qa-list-inquiry .qa-content {
        margin-top: 5.3333vw;
    }
    .qa-list-inquiry .qa-content .content-title{
        font-family: var(--font-noto-sans-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 6.4000vw;
        line-height: 150%;
        color: #39691C;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.8333vw;
    }
	.qa-list-inquiry .qa-content .content-title .icon-step{
    	width: 10.6667vw;
		height: 10.6667vw;
	}
    .qa-list-inquiry .qa-content .content-message{
        font-family: var(--font-noto-sans-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 4.2667vw;
        line-height: 150%;
        color: #39691C;
        display: flex;
        align-items: flex-start;
        margin-top: 0.7813vw;
    }
    .qa-list-inquiry .qa-divider {
        border: none;
        height: 1px;
        background-color: #39691C;
        margin-top: 5.3333vw;
        margin-bottom: 5.3333vw;
        width: 100%;
    }
    .separator-arrow {
        height: 14.6667vw;
    }
    .qa-divider-separator {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
}
/* End CSS QA Page  */

/* CSS SDG PAGE */
#sdgs-page {
    .first-banner {
        margin-bottom: 6.25vw;
    }

    .first-banner .banner-button {
        position: unset;
        margin: 2.60416vw auto 2.13541vw;
    }

    .first-banner .first-banner-content {
        display: flex;
        width: fit-content;
        margin: 0 auto;
        position: relative;
        align-items: end;
    }

    .first-banner .first-banner-content .img-1 {
        width: 18.1250vw;
		height: 23.3333vw;
    }

    .first-banner .first-banner-content .img-2 {
		width: 8.4896vw;
		height: 8.1250vw;
        position: relative;
        bottom: 0;
		left: -0.5208vw;
    }

    .first-banner .first-banner-content .text-group {
        width: 24.42708vw;
        height: fit-content;
        padding: 1.822916vw 4.21875vw;
        display: flex;
        flex-direction: column;
        gap: 0.83333vw;
        border: 1px solid #39691C;
        border-radius: 1.25vw;
        margin-left: 1.145833vw;
        box-sizing: border-box;
    }

    .align-box {
        height: 23.3333vw;
        align-items: center;
        display: flex;
    }

    .first-banner .first-banner-content .text-group h6 {
        font-family: var(--font-noto-serif-jp);;
        font-style: normal;
        font-weight: 700;
        font-size: 0.83333vw;
        line-height: 120%;
        color: #39691C;
		margin: 0;
    }

    .first-banner .first-banner-content .text-group p {
        font-family: var(--font-noto-serif-jp);;
        font-style: normal;
        font-weight: 500;
        font-size: 0.83333vw;
        line-height: 150%;
        color: #39691C;
    }


    .group-img-banner {
        opacity: 0;
    }

    .first-banner .first-banner-content .text-group h6,
    .first-banner .first-banner-content .text-group p {
        transform: translateY(20px);
        opacity: 0;
    }

    .purpose-section .purpose-container.block-1 .img-group.animation.animate,
    .purpose-section .purpose-container.block-2 .img-group.animation.animate,
    .purpose-section .purpose-container.block-3 .img-group.animation.animate,
    .group-img-banner.animation.animate {
        animation: blurFadeIn 1s ease forwards;
    }

    .purpose-section .purpose-container.block-1 .detail-group.animation.animate,
    .purpose-section .purpose-container.block-2 .detail-group.animation.animate,
    .purpose-section .purpose-container.block-3 .detail-group.animation.animate{
        animation: 1s ease 0s 1 normal forwards running slideUpAnimation;
    }

    .first-banner .first-banner-content .text-group p.animate,
    .first-banner .first-banner-content .text-group h6.animate{
        animation: 1s ease 0s 1 normal forwards running slideUpAnimation;
        animation-delay: 1s;
    }

    .history-banner {
        height: 27.34375vw;
        background-image: url('../img/sdgs/tree-banner.jpg');
        display: flex;
		background-size: cover;
        background-position: center center;
        object-fit: cover;
    }

    .history-banner .history-container {
        margin: 5.208333vw auto;
        padding: 1.5625vw 1.22395vw;
        width: 51.92708vw;
        height: 16.92708vw;
        display: flex;
        gap: 2.29166vw;
        box-sizing: border-box;
        align-items: center;
    }

    .history-banner .history-container .logo-img {
        width: 26.97916666666667vw;
        height: 13.78645833vw;
    }

    .history-banner .history-container .history-content {
        font-family: var(--font-noto-serif-jp);;
        font-style: normal;
        font-weight: 500;
        font-size: 0.9375vw;
        line-height: 150%;
        color: #39691C;
    }

    .purpose-section {
        padding: 6.45833vw 0;
        display: flex;
        flex-direction: column;
        gap: 6.25vw;
    }

    .purpose-section .purpose-container {
        width: 52.08333vw;
        margin: 0 auto;
        align-items: center;
        display: flex;
        flex-direction: column;
    }

    .purpose-section .purpose-container .img-group {
        display: flex;
        gap: 0.416666vw;
        margin-bottom: 0.625vw;
    }

    .purpose-section .purpose-container.block-1 .img-group,
    .purpose-section .purpose-container.block-2 .img-group,
    .purpose-section .purpose-container.block-3 .img-group  {
        opacity: 0;
    }

    .purpose-section .purpose-container.block-1 .detail-group,
    .purpose-section .purpose-container.block-2 .detail-group,
    .purpose-section .purpose-container.block-3 .detail-group{
        opacity: 0;
        transform: translateY(20px);   
    }

    .purpose-section .purpose-container .img-group .header-img {
        width: 5.20833vw;
        height: 5.20833vw;
    }

    .purpose-section .purpose-container .note-group {
        font-family: var(--font-roboto);;
        font-style: normal;
        font-weight: 700;
        font-size: 1.14583vw;
        line-height: 150%;
        color: #39691C;
        margin-bottom: 0.83333vw;
        height: 1.71875vw;
        display: flex;
        align-items: center;
        gap: 0.41666vw;
    }

    .purpose-section .purpose-container .note-group img {
        width: 1.04166vw;
        height: 1.04166vw;
    }

    .purpose-section .purpose-container .purpose-title {
        font-family: var(--font-noto-serif-jp);;
        font-style: normal;
        font-weight: 700;
        font-size: 1.66667vw;
        line-height: 120%;
        color: #39691C;
        margin-bottom: 1.354166vw;
		margin-top: 0;
    }

    .purpose-section .purpose-container .purpose-description {
        width: 43.3854vw;
        font-family: 'Noto Sans JP';
        font-style: normal;
        font-weight: 500;
        font-size: 0.83333vw;
        line-height: 150%;
        color: #39691C;
        margin-bottom: 1.9270833vw;
    }

    .purpose-section .purpose-container .detail-group {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 1.5625vw 0;
        box-sizing: border-box;
        border-radius: 0.41666vw;
    }

    .purpose-section .purpose-container .detail-group .title-group {
        margin-bottom: 1.61458vw;
        display: flex;
        flex-direction: column;
        gap: 0.4166666vw;
        position: relative;
    }

    .purpose-section .purpose-container .detail-group .title-group .detail-title {
        font-family: var(--font-noto-serif-jp);;
        font-style: normal;
        font-weight: 600;
        font-size: 0.9375vw;
        line-height: 120%;
        text-align: center;

        color: #ECE7C8;
    }

    .purpose-section .purpose-container .detail-group .title-group .divide-line {
        width: 20.75520vw;
        height: 0px;
        border: 1px solid rgba(236, 231, 200, 0.6);
        position: relative;
    }

    .purpose-section .purpose-container .detail-group .title-group .divide-line::after,
    .purpose-section .purpose-container .detail-group .title-group .divide-line::before {
        content: "";
        position: absolute;
        width: 0.41666vw;
        height: 0.41666vw;
        background-color: #ECE7C8;
        border-radius: 50%;
    }

    .purpose-section .purpose-container .detail-group .title-group .divide-line::before {
        left: -0.2vw;
        top: -0.2vw;
    }

    .purpose-section .purpose-container .detail-group .title-group .divide-line::after {
        right: -0.2vw;
        top: -0.2vw;
    }

    .content-group {
        width: 20.67708vw;
        height: fit-content;
        display: flex;
        flex-direction: column;
        gap: 2.0833vw;
        margin-bottom: 1.61458vw;
    }

    .content-group.last-row {
        width: fit-content;
        height: fit-content;
        display: flex;
        flex-direction: column;
        gap: 2.0833vw;
        margin-bottom: 1.61458vw;
    }

    .purpose-section .purpose-container .detail-group .row {
        display: flex;
        flex-direction: column;
        gap: 0vw;
    }

    .purpose-section .purpose-container .detail-group .row-number {
        height: 1.77083vw;
        width: 1.354166vw;
        margin: 0 auto;
    }

    .purpose-section .purpose-container .detail-group .row-text {
		font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 600;
        font-size: 1.25vw;
        line-height: 120%;
        color: #ECE7C8;
        text-align: center;
		margin: 0;
    }

    .footer-img {
        width: 41.14583vw;
        display: flex;
        gap: 0.2083vw;
    }

    .footer-img .left-img {
        width: 15.625vw;
        height: 15.15625vw;
        border-top-left-radius: 0.41666vw;
        border-bottom-left-radius: 0.41666vw;
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }

    .footer-img .right-img {
        width: 25.3125vw;
        height: 15.15625vw;
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
        border-top-right-radius: 0.41666vw;
        border-bottom-right-radius: 0.41666vw;
    }

    .footer-img .full-img {
        width: 41.1458vw;
        height: 15.15625vw;
		border-radius: 0.41666vw;
    }
}

@media (max-width: 1025px) {
    #sdgs-page {
        .group-img-banner {
            display: flex;
            align-items: end;
			margin: 0 auto;
        }

        .first-banner {
            margin-bottom: 0;
            height: 261.3333vw;
            display: flex;
            flex-direction: column;
            gap: 21.3333vw;
            box-sizing: border-box;
        }

        .first-banner .banner-button {
            position: unset;
            margin: 16vw auto 0;
        }

        .first-banner .first-banner-content {
            display: flex;
            flex-direction: column;
            width: fit-content;
            margin: 0 auto;
            position: relative;
            align-items: end;
            gap: 21.3333vw;
        }

        .first-banner .first-banner-content .img-1 {
            width: 48.5333vw;
			height: 62.4000vw;
        }

        .first-banner .first-banner-content .img-2 {
            width: 25.86666666666667vw;
            height: 24.8vw;
            position: relative;
            bottom: 0;
        }

        .first-banner .first-banner-content .text-group {
            width: 100%;
            height: 100%;
            padding: 8vw;
            display: flex;
            flex-direction: column;
            gap: 4.26666vw;
            border: 1px solid #39691C;
            border-radius: 6.4vw;
            margin-left: 1.145833vw;
            box-sizing: border-box;
        }

        .align-box {
            width: 84vw;
            height: 95.7333vw;
            align-items: center;
            display: flex;
        }

        .first-banner .first-banner-content .text-group h6 {
            font-family: var(--font-noto-serif-jp);;
            font-style: normal;
            font-weight: 700;
            font-size: 4.26666vw;
            line-height: 120%;
            color: #39691C;
			margin: 0;
        }

        .first-banner .first-banner-content .text-group p {
            font-family: var(--font-noto-serif-jp);;
            font-style: normal;
            font-weight: 500;
            font-size: 4.26666vw;
            line-height: 150%;
            /* or 24px */

            /* main */
            color: #39691C;
        }
		
		.first-banner .first-banner-content .text-group p.animate,
		.first-banner .first-banner-content .text-group h6.animate{
			animation-delay: 0s;
		}

        .history-banner {
            height: fit-content;
            background-image: unset;
            display: flex;
            flex-direction: column;
        }

        .history-banner img {
            height: 80vw;
        }

        .history-banner .history-container {
            margin: 21.3333vw auto;
            padding: 0;
            width: 80vw;
            height: fit-content;
            display: flex;
            gap: 4vw;
            box-sizing: border-box;
            align-items: center;
            flex-direction: column;
        }

        .history-banner .history-container .logo-img {
            width: 100%;
            height: 149.3333333333333vw;
        }

        .history-banner .history-container .history-content {
            font-family: var(--font-noto-serif-jp);;
            font-style: normal;
            font-weight: 500;
            font-size: 4.8vw;
            line-height: 150%;
            color: #39691C;
        }

        .purpose-section {
            padding: 0;
            display: flex;
            flex-direction: column;
            gap: 12.6666vw;
        }

        .purpose-section .purpose-container {
            width: 84vw;
            margin: 0 auto;
            align-items: center;
            display: flex;
            flex-direction: column;
			margin-bottom: 22vw;
        }
		
		.purpose-section .purpose-container.block-2 .purpose-title{
		    width: 84vw;
			letter-spacing: -0.06em;
		}

        .purpose-section .purpose-container .img-group {
            display: flex;
            gap: 2.1333vw;
            margin-bottom: 5.333333vw;
        }

        .purpose-section .purpose-container .img-group .header-img {

            width: 26.6666vw;

            height: 26.6666vw;

        }

        .purpose-section .purpose-container .note-group img {
            width: 5.3333vw;
            height: 5.3333vw;
        }

        .purpose-section .purpose-container .note-group {
            font-family: var(--font-roboto);;
            font-style: normal;
            font-weight: 700;
            font-size: 5.86666666vw;
            line-height: 150%;
            color: #39691C;
            margin-bottom: 5.3333vw;
            height: fit-content;
            display: flex;
            align-items: center;
            gap: 1.7333vw;
        }

        .purpose-section .purpose-container .purpose-title {
            font-family: var(--font-noto-serif-jp);;
            font-style: normal;
            font-weight: 700;
            font-size: 6.4vw;
            line-height: 150%;
            color: #39691C;
            margin-bottom: 5.333333vw;
            text-align: center;
			width: 80vw;
        }

        .purpose-section .purpose-container .purpose-description {
            width: 100%;
            font-family: 'Noto Sans JP';
            font-style: normal;
            font-weight: 500;
            font-size: 4.26667vw;
            line-height: 150%;
            color: #39691C;
            margin-bottom: 5.333333vw;
        }

        .purpose-section .purpose-container .detail-group {
            width: 100%;
            display: flex;
            flex-direction: column;
            align-items: center;
            padding: 15.7333vw 0;
            box-sizing: border-box;
            border-radius: 2.1333vw;
        }

        .purpose-section .purpose-container .detail-group .title-group {
            margin-bottom: 0;
            display: flex;
            flex-direction: column;
            gap: 0.4166666vw;
            position: relative;
        }

        .purpose-section .purpose-container .detail-group .title-group .detail-title {
            font-family: var(--font-noto-serif-jp);;
            font-style: normal;
            font-weight: 600;
            font-size: 4.8vw;
            line-height: 120%;
            text-align: center;
            color: #ECE7C8;
			margin: 0;
        }

        .purpose-section .purpose-container .detail-group .title-group .divide-line {
            width: 74.66666666666667vw;
            height: 0px;
            border: 1px solid rgba(236, 231, 200, 0.6);
            position: relative;
            margin: 8.8vw auto;
        }

        .purpose-section .purpose-container .detail-group .title-group .divide-line::after,
        .purpose-section .purpose-container .detail-group .title-group .divide-line::before {
            content: "";
            position: absolute;
            width: 1.76vw;
            height: 1.76vw;
            background-color: #ECE7C8;
            border-radius: 50%;
        }

        .purpose-section .purpose-container .detail-group .title-group .divide-line::before {
            left: -0.2vw;
            top: -1vw;
        }

        .purpose-section .purpose-container .detail-group .title-group .divide-line::after {
            right: -1vw;
            top: -0.8vw;
        }

        .green-divide-line {
            width: 78vw;
            height: 0px;
            border: 1px solid #39691C;
            position: relative;
            margin: 8.8vw auto;
        }

        .green-divide-line::after,
        .green-divide-line::before {
            content: "";
            position: absolute;
            width: 1.76vw;
            height: 1.76vw;
            background-color: #39691C;
            border-radius: 50%;
        }

        .green-divide-line::after {
            right: -0.2vw;
            top: -1vw;
        }

        .green-divide-line::before {
            left: -0.2vw;
            top: -1.0vw;
        }

        .content-group {
            width: 100%;
            height: fit-content;
            display: flex;
            flex-direction: column;
            gap: 10.6666vw;
            margin-bottom: 1.61458vw;
            padding-bottom: 8vw;
        }

        .content-group.last-row {
            width: 100%;
            height: fit-content;
            display: flex;
            flex-direction: column;
            gap: 10.6666vw;
            margin-bottom: 1.61458vw;
            padding-bottom: 8vw;
        }

        .purpose-section .purpose-container .detail-group .row {
            display: flex;
            flex-direction: column;
        }

        .purpose-section .purpose-container .detail-group .row-number {
            height: 9.06666vw;
            width: 6.933333333333333vw;
            margin: 0 auto;
        }

        .purpose-section .purpose-container .detail-group .row-text {
            font-style: normal;
            font-weight: 600;
            font-size: 5.333333333333333vw;
            line-height: 120%;
            color: #ECE7C8;
            text-align: center;
        }

        .footer-img {
            width: 74.6666vw;
            display: flex;
            gap: 8.8vw;
            flex-direction: column;
            margin-top: 8.8vw;
        }

        .footer-img .left-img {
            width: 74.6666vw;
            height: 72.5333vw;
            border-radius: 2.13333vw;
        }

        .footer-img .right-img {
            width: 74.6666vw;
            height: 44.8vw;
            border-radius: 2.133333vw;
        }

        .footer-img .full-img {
            width: 74.6666vw;
            height: 47.7333vw;
            border-radius: 2.133333vw;

        }
    }
}


/* END CSS SDG PAGE */

/* CSS RECRUIT FORM CMS */

#recruit-form-page {
    .first-banner {
        width: fit-content;
        height: fit-content;
        margin: 0 auto;
        padding: 5.2083vw 0 4.0104166vw;
    }

    .first-banner .banner-button {
        position: unset;
    }

    .recruit-form-banner {
        margin-bottom: 4.4270833vw;
    }

    .recruit-form-banner .recruit-form-container {
        width: 52.08333vw;
        margin: 0 auto;
    }

    .recruit-form-banner .recruit-form-container .form-title {
        height: 3.75vw;
        border-bottom: 1px solid #39691C;
        margin-bottom: 2.0833vw;
    }

    .recruit-form-banner .recruit-form-container .form-title h2 {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 2.08333vw;
        line-height: 2.5vw;
        color: #39691C;
    }

    .recruit-form-banner .recruit-form-container .row-content {
        display: flex;
        flex-direction: row;
        padding-bottom: 2.08333vw;
        margin-bottom: 2.08333vw;
        border-bottom: 1px solid #39691C;
    }

    .recruit-form-banner .recruit-form-container .row-content .left-text {
        width: 11.5625vw;
        height: 1.5625vw;
        display: flex;
        gap: 1.25vw;
        align-items: center;
    }

    .recruit-form-banner .recruit-form-container .row-content .left-text img {
        width: 0.677083vw;
        height: 0.677083vw;
    }

    .recruit-form-banner .recruit-form-container .row-content .left-text h6 {
        font-family: var(--font-noto-serif-jp);
        font-style: normal;
        font-weight: 700;
        font-size: 0.9375vw;
        line-height: 1.145833vw;
        color: #39691C;
        height: fit-content;
        width: 6.5625vw;
    }

    .recruit-form-banner .recruit-form-container .row-content .right-text p {
        width: 40.5208vw;
        text-align: left;
        font-family: var(--font-noto-sans-jp);
        font-style: normal;
        font-weight: 400;
        font-size: 0.83333vw;
        line-height: 0.989583vw;
        color: #39691C;
    }
	.button-group{
        display: flex;
        gap: 0.83333vw;
    }
	
	@media (max-width: 1024px) {
        .recruit-form-banner.pc-mode{
			display: flex !important;
		}
		.recruit-form-banner .recruit-form-container {
            width: 89.3333vw;
			padding: 8vw 5.3333vw;
            margin: 0 auto;
        }
		.recruit-form-banner .recruit-form-container .form-title {
            height: 9.6000vw;
            border-bottom: 2px solid #39691C;
            margin-bottom: 5.3333vw;
        }
        .recruit-form-banner .recruit-form-container .form-title h2 {
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 700;
            font-size: 6.9333vw;
            line-height: 7.5vw;
            color: #39691C;
        }
		.recruit-form-banner .recruit-form-container .row-content {
            display: flex;
            flex-direction: column;
            padding-bottom: 5.3333vw;
            margin-bottom: 5.3333vw;
            border-bottom: 1px solid #39691C;
        }
		.recruit-form-banner .recruit-form-container .row-content .left-text {
            width: 78.6667vw;
            height: 8vw;
            display: flex;
            gap: 0;
            align-items: center;
        }
        .recruit-form-banner .recruit-form-container .row-content .left-text img {
            display: none;
        }
        .recruit-form-banner .recruit-form-container .row-content .left-text h6 {
            font-family: var(--font-noto-serif-jp);
            font-style: normal;
            font-weight: 700;
            font-size: 5.3333vw;
            line-height: 1.145833vw;
            color: #39691C;
            height: fit-content;
            width: 78.6667vw;
        }
		.recruit-form-banner .recruit-form-container .row-content .right-text p {
            width: 89.3333vw;
            text-align: left;
            font-family: var(--font-noto-sans-jp);
            font-style: normal;
            font-weight: 400;
            font-size: 4.2667vw;
            line-height: 200%;
            color: #39691C;
        }
		.button-group{
        	display: flex;
			flex-direction: column;
        	gap: 3.83333vw;
    	}
    }
}

/* END CSS RECRUIT FORM CMS */
/* Start CSS Busines Property Single Page */
#business-property-single-page {
    .title-section {
        margin-top: calc(100vw * (98 / 1920));
        margin-bottom: calc(100vw * (105 / 1920));
    }
    .title-section__icon {
        width: calc(100vw * (106 / 1920));
    }
    .content-wrapper {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        margin-bottom: calc(100vw * (85 / 1920));
    }
    .header {
        display: block;
        font-family: var(--font-noto-serif-jp);
        font-size: calc(100vw * (32 / 1920));
        font-weight: 700;
        color: var(--color-primary);
        line-height: 1.2;
        padding-bottom: calc(100vw * (24 / 1920));
        border-bottom: 1px solid var(--color-primary);
        margin-bottom: calc(100vw * (40 / 1920));
    }
    .overview-section {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        margin-bottom: calc(100vw * (53 / 1920));
    }
    .overview-section__content {
        display: flex;
        flex-direction: row;
        margin-bottom: calc(100vw * (40 / 1920));
    }
    .overview-section__inner-content {
        width: 50%;
        display: flex;
        flex-direction: column;
        gap: calc(100vw * (56 / 1920));
        padding-top: calc(100vw * (40 / 1920));
        padding-left: calc(100vw * (60 / 1920));
    }
    .overview-content__feature-image {
        width: 50%;
        height: auto;
        border-radius: calc(100vw * (5 / 1920));
    }
    .overview-content__heading {
        display: flex;
        flex-direction: column;
        gap: calc(100vw * (7 / 1920));
        color: var(--color-primary);
        font-weight: 700;
    }
    .overview-content__inner {
        display: flex;
        flex-direction: column;
        gap: calc(100vw * (20 / 1920));
        font-weight: 400;
    }
    .overview-content__title {
        font-size: calc(100vw * (24 / 1920));
        line-height: 1.2;
    }
    .overview-content__subtitle {
        font-size: calc(100vw * (20 / 1920));
    }
    .overview-content__price {
        font-size: calc(100vw * (24 / 1920));
        font-weight: 700;
        line-height: 1.2;
    }
    .overview-content__floor-description {
        line-height: 1.75;
    }
    .overview-content__disclaimer {
        font-size: calc(100vw * (14 / 1920));
        line-height: 2;
    }
    .overview-section__company-link {
        font-weight: 500;
        line-height: 1.75;
        color: var(--color-black);
        width: fit-content;
        margin-left: auto;
    }
    .layout-section {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        margin-bottom: calc(100vw * (85 / 1920));
    }
    .layout-section__image {
        width: 50%;
        height: auto;
    }
    @media (max-width: 1024px) {
        .title-section {
            margin-top: calc(100vw * (60 / 375));
            margin-bottom: calc(100vw * (80 / 375));
        }
        .title-section__icon {
            width: calc(100vw * (106 / 375));
        }
        .title-section__title {
            padding: calc(100vw * (30 / 375)) calc(100vw * (20 / 375));
        }
        .content-wrapper {
            padding: 0 calc(100vw * (30 / 375));
            margin-bottom: calc(100vw * (70 / 375));
            align-items: stretch;
        }
        .back-button {
            align-self: center;
        }
        .header {
            font-size: calc(100vw * (25 / 375));
            padding-bottom: calc(100vw * (24 / 375));
            text-align: center;
            margin-bottom: calc(100vw * (40 / 375));
        }
        .overview-section {
            padding-top: calc(100vw * (50 / 375));
            margin-bottom: calc(100vw * (53 / 375));
        }
        .overview-section__content {
            flex-direction: column;
            gap: calc(100vw * (20 / 375));
            margin-bottom: 0;
        }
        .overview-section__inner-content {
            width: 100%;
            gap: calc(100vw * (40 / 375));
            padding-top: 0;
            padding-left: 0;
        }
        .overview-content__feature-image {
            width: 100%;
            border-radius: calc(100vw * (5 / 375));
        }
        .overview-content__heading {
            gap: calc(100vw * (7 / 375));
        }
        .overview-content__inner {
            gap: calc(100vw * (20 / 375));
        }
        .overview-content__title {
            font-size: calc(100vw * (24 / 375));
        }
        .overview-content__subtitle {
            font-size: calc(100vw * (17 / 375));
        }
        .overview-content__price {
            font-size: calc(100vw * (24 / 375));
        }
        .overview-content__price--suffix {
            font-size: calc(100vw * (20 / 375));
        }
        .overview-content__floor-description {
            line-height: 2;
        }
        .overview-content__disclaimer {
            display: none;
            font-size: calc(100vw * (14 / 375));
        }
        .overview-section__company-link {
            margin-left: auto;
            margin-right: calc(100vw * (20 / 375));
            opacity: 0.5;
        }
        .layout-section {
            margin-bottom: calc(100vw * (80 / 375));
        }
        .layout-section__image {
            width: 100%;
            box-sizing: border-box;
            padding: calc(100vw * (10 / 375));
        }
        .layout-section .header {
            text-align: left;
        }
    }
}
/* End CSS Busines Property Single Page */
/* Start CSS About Page */
#about-page {
    --tilt-animation-duration: 1.2s;

    .page-kv {
        margin-top: calc(100vw * (50 / 1920));
        background-image: url(../img/about/about-kv.webp);
    }

    .reason-section {
        display: flex;
        justify-content: start;
        padding-top: calc(100vw * (95 / 1920));
        padding-bottom: calc(100vw * (50 / 1920));
    }

    .reason-section__inner {
        display: flex;
        flex-direction: column;
    }

    .reason-section__subtitle {
        font-family: var(--font-roboto);
        font-weight: 600;
        line-height: 1.5;
        color: #b14421;
        margin-bottom: calc(100vw * (12 / 1920));
    }

    .reason-section__title-wrapper {
        display: flex;
        margin-bottom: calc(100vw * (16 / 1920));
    }

    .reason-section__title {
        font-family: var(--font-noto-serif-jp);
        font-size: calc(100vw * (32 / 1920));
        font-weight: 700;
        line-height: 1.2;
        color: var(--color-primary);
        opacity: 0;
        transform: translateY(20%);
    }

    .reason-section__title--large {
        font-size: calc(100vw * (50 / 1920));
    }

    .animate .reason-section__title {
        animation: slideUpAnimation 1s ease forwards;
    }

    .reason-section__message {
        color: var(--color-primary);
    }

    .reason-section__message span {
        display: block;
    }

    @media (max-width: 1024px) {
        .page-kv {
            margin-top: 0;
            background-image: url(../img/about/about-kv-sp.webp);
        }
        .reason-section {
            padding-top: calc(100vw * (33 / 375));
            padding-bottom: calc(100vw * (35 / 375));
            padding-left: calc(100vw * (20 / 375));
            padding-right: calc(100vw * (23 / 375));
        }
        .reason-section__subtitle {
            margin-bottom: calc(100vw * (12 / 375));
        }
        .reason-section__title-wrapper {
            margin-bottom: calc(100vw * (16 / 375));
        }
        .reason-section__title {
            font-size: calc(100vw * (24 / 375));
        }
        .reason-section__title--large {
            font-size: calc(100vw * (40 / 375));
        }
        .reason-section__message {
            text-align: justify;
        }
    }

    .feature-list-section {
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }

    .feature-item__wrapper {
        display: flex;
        justify-content: center;
        box-sizing: border-box;
    }

    .feature-item {
        max-width: calc(100vw * (1000 / 1920));
        width: 100%;
        display: flex;
        align-items: center;
        line-height: 1.5;
        min-height: calc(100vw * (461 / 1920));
        padding: calc(100vw * (50 / 1920)) 0;
    }

    .feature-item__image-wrapper {
        flex: 1;
        line-height: 1;
    }

    .feature-item__image {
        opacity: 0;
        filter: blur(10px);
    }

    .feature-item__content {
        position: relative;
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: start;
    }

    .feature-item__number-title {
        width: calc(100vw * (94 / 1920));
        height: calc(100vw * (116 / 1920));
        margin-bottom: calc(-100vw * (20 / 1920));
        opacity: 0;
        transform: translateY(50px);
    }

    .feature-item__title-wrapper {
        display: flex;
        flex-direction: column;
        margin-bottom: calc(100vw * (24 / 1920));
    }

    .feature-item__description-wrapper {
        display: flex;
    }

    .feature-item__title {
        font-family: var(--font-noto-serif-jp);
        font-weight: 700;
        font-size: calc(100vw * (24 / 1920));
        line-height: 1.2;
        opacity: 0;
        transform: translateY(50px);
    }

    .feature-item__message {
        font-weight: 500;
        opacity: 0;
        transform: translateY(50px);
    }

    .feature-item--2 {
        color: var(--color-primary);
    }

    .feature-item--1,
    .feature-item--3 {
        color: var(--color-secondary);
    }

    .feature-item--2 .feature-item__title {
        color: var(--color-primary);
    }

    .feature-item--2 .feature-item__message {
        color: var(--color-black);
    }

    @media (min-width: 1025px) {
        .feature-item--1 .feature-item__image {
            width: calc(100vw * (289 / 1920));
        }

        .feature-item--2 .feature-item__image {
            width: calc(100vw * (363 / 1920));
        }

        .feature-item--3 .feature-item__image {
            width: calc(100vw * (350 / 1920));
        }

        .feature-item--1 .feature-item__number-title {
            width: calc(100vw * (87 / 1920));
            margin-bottom: calc(-100vw * (14 / 1920));
        }

        .animate-pc {
            .feature-item__image {
                animation: blurFadeIn 1s ease forwards;
            }

            .feature-item__title,
            .feature-item__number-title,
            .feature-item__message {
                animation: slideUpAnimation 1s ease forwards;
            }
        }
    }

    @media (max-width: 1024px) {
        .feature-item {
            max-width: 100%;
            min-height: unset;
            padding: 0;
            flex-direction: column;
        }

        .feature-item__content {
            align-items: center;
            padding: 0 calc(100vw * (30 / 375));
        }

        .feature-item__image-wrapper {
            padding-top: calc(100vw * (80 / 375));
            padding-bottom: calc(100vw * (50 / 375));
        }

        .feature-item__number-title {
            width: calc(100vw * (50 / 375));
            height: calc(100vw * (50 / 375));
            margin-bottom: 0;
            padding: calc(100vw * (10 / 375)) 0;
        }

        .feature-item__title-wrapper {
            align-items: center;
            margin-bottom: calc(100vw * (24 / 375));
        }

        .feature-item__title {
            font-size: calc(100vw * (22 / 375));
            line-height: 1.7;
            text-align: center;
        }

        .feature-item__message {
            text-align: justify;
        }

        .feature-item--1 {
            padding-bottom: calc(100vw * (98 / 375));
        }
        .feature-item--2 {
            padding-bottom: calc(100vw * (118 / 375));
        }
        .feature-item--3 {
            padding-bottom: calc(100vw * (106 / 375));
        }

        .feature-item--1 .feature-item__image {
            width: calc(100vw * (100 / 375));
            height: calc(100vw * (96 / 375));
        }
        .feature-item--2 .feature-item__image {
            width: calc(100vw * (150 / 375));
            height: calc(100vw * (106 / 375));
        }
        .feature-item--3 .feature-item__image {
            width: calc(100vw * (130 / 375));
            height: calc(100vw * (96 / 375));
        }

        .feature-item__image.animate-sp {
            animation: blurFadeIn 1s ease forwards;
        }

        .animate-sp {
            .feature-item__title,
            .feature-item__number-title,
            .feature-item__message {
                animation: slideUpAnimation 1s ease forwards;
            }
        }
    }
    .mv-section {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding-top: calc(100vw * (94 / 1920));
        padding-bottom: calc(100vw * (98 / 1920));
        margin-bottom: calc(100vw * (95 / 1920));
    }
    .mv-section__video-pc {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        mix-blend-mode: multiply;
        object-fit: fill;
    }
    .mv-section::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: var(--color-primary);
        opacity: 0.8;
    }
    .mv-section-heading {
        position: relative;
        margin-bottom: calc(100vw * (14 / 1920));
    }
    .mv-section-heading__video-sp {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: fill;
        display: none;
    }
    .mv-section-heading__inner {
        position: relative;
        width: calc(100vw * (512 / 1920));
        height: calc(100vw * (190 / 1920));
        font-family: var(--font-noto-serif-jp);
        font-weight: 700;
        line-height: 1.2;
        color: var(--color-secondary);
    }
    .mv-section-heading__top-title {
        position: absolute;
        top: 0;
        left: 0;
        width: fit-content;
        display: block;
        font-size: calc(100vw * (48 / 1920));
        transform: matrix(1, 0, -0.13, 0.99, 0, 0);
        opacity: 0;
    }
    .mv-section-heading__top-title--large {
        font-size: calc(100vw * (70 / 1920));
    }
    .mv-section-heading__bottom-title {
        position: absolute;
        bottom: 0;
        right: 5%;
        width: fit-content;
        display: block;
        font-size: calc(100vw * (100 / 1920));
        letter-spacing: -0.13em;
        translate: 0 -17%;
        transform: translateY(50%) matrix(0.99, -0.14, -0.17, 0.98, 0, 0)
            rotate(10deg);
        opacity: 0;
        filter: blur(10px);
    }
    .mv-section__grid {
        display: grid;
        flex: 1;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(2, auto);
        align-items: stretch;
        column-gap: calc(100vw * (20 / 1920));
        row-gap: calc(100vw * (17 / 1920));
        z-index: 1;
    }
    .mv-section-grid-item {
        background-image: url(../img/green-color-bg.jpg);
        border-radius: calc(100vw * (8 / 1920));
        overflow: hidden;
        display: flex;
    }
    .mv-section-grid-item__content {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        padding-top: calc(100vw * (26 / 1920));
        padding-left: calc(100vw * (13 / 1920));
        padding-right: calc(100vw * (13 / 1920));
        padding-bottom: 0;
        color: var(--color-secondary);
    }
    .mv-section-grid-item__tagline {
        font-family: var(--font-roboto);
        font-weight: 600;
        font-size: calc(100vw * (14 / 1920));
        margin-bottom: calc(100vw * (4 / 1920));
    }
    .mv-section-grid-item__title {
        font-family: var(--font-noto-serif-jp);
        font-weight: 700;
        font-size: calc(100vw * (22 / 1920));
        line-height: 1.4;
        margin-bottom: calc(100vw * (12 / 1920));
    }
    .mv-section-grid-item__title h3 {
        display: inline;
        font-size: calc(100vw * (32 / 1920));
    }
    .mv-section-grid-item p {
        font-weight: 500;
    }

    .mv-section-grid-item__image-wrapper {
        display: block;
    }

    .mv-section-grid-item__image {
        line-height: 0;
    }

    .mv-section-grid-item__image img {
        width: calc(100vw * (166 / 1920));
        opacity: 0;
        clip-path: inset(0px 100% 0px 0px);
    }

    .mv-section-grid-item__tagline,
    .mv-section-grid-item__title,
    .mv-section-grid-item p {
        opacity: 0;
        transform: translateY(50px);
    }

    @media (min-width: 1025px) {
        .mv-section-grid-item--1 {
            grid-row: span 2;
            flex-direction: column;
            align-items: stretch;
            justify-content: space-between;
        }
        .mv-section-grid-item--1 .mv-section-grid-item__content {
            padding: calc(100vw * (26 / 1920)) calc(100vw * (13 / 1920));
        }
        .mv-section-grid-item--1 .mv-section-grid-item__image {
            width: 100%;
            height: auto;
        }
        .mv-section-grid-item--1 .mv-section-grid-item__image img {
            width: 100%;
        }

        .animate-pc {
            .mv-section-heading__top-title {
                animation: fadeIn 1s ease forwards;
            }
            .mv-section-heading__bottom-title {
                animation: flying-up-tilt-about var(--tilt-animation-duration) ease
                    forwards;
            }
            .mv-section-grid-item__image img {
                animation: fadeInFromLeft 1s ease forwards;
                animation-delay: var(--tilt-animation-duration);
            }
            .mv-section-grid-item__tagline,
            .mv-section-grid-item__title,
            .mv-section-grid-item p {
                animation: slideUpAnimation 1s ease forwards;
                animation-delay: var(--tilt-animation-duration);
            }
        }
    }
    @media (max-width: 1024px) {
        .mv-section__video-pc,
        .mv-section::before {
            display: none;
        }

        .mv-section {
            padding-top: 0;
            padding-bottom: 0;
            margin-bottom: calc(100vw * (95 / 375));
        }

        .mv-section-heading {
            display: flex;
            box-sizing: border-box;
            width: 100%;
            height: calc(100vw * (620 / 375));
            padding: 0 calc(100vw * (19 / 375));
            padding-top: calc(100vw * (137 / 375));
            margin-bottom: 0;
        }

        .mv-section-heading__video-sp {
            display: block;
            object-fit: cover;
            object-position: left;
        }

        .mv-section-heading__inner {
            width: 100%;
            height: calc(100vw * (215 / 375));
        }

        .mv-section-heading__top-title {
            width: calc(100vw * (280 / 375));
            font-size: calc(100vw * (40 / 375));
            text-align: center;
        }
        .mv-section-heading__top-title--large {
            font-size: calc(100vw * (60 / 375));
        }
        .mv-section-heading__bottom-title {
            translate: 0 -20%;
            transform: translateY(0) matrix(0.98, -0.2, -0.12, 0.99, 0, 0)
                rotate(0deg);
            font-size: calc(100vw * (70 / 375));
            height: calc(100vw * (120 / 375));
        }

        .mv-section__grid {
            display: flex;
            flex-direction: column;
            align-items: stretch;
            gap: 0;
        }

        .mv-section-grid-item {
            flex-direction: column;
            padding: calc(100vw * (30 / 375));
            padding-top: calc(100vw * (70 / 375));
            gap: calc(100vw * (24 / 375));
        }

        .mv-section-grid-item:not(:last-child) {
            border-bottom: 3px solid rgba(255, 246, 223, 0.5);
        }

        .mv-section-grid-item__image img {
            width: 100%;
            height: auto;
            border-radius: calc(100vw * (5 / 375));
        }

        .mv-section-grid-item__content {
            padding: 0;
        }

        .mv-section-grid-item__tagline {
            font-size: calc(100vw * (14 / 375));
            text-align: center;
            margin-bottom: calc(100vw * (30 / 375));
        }

        .mv-section-grid-item__title {
            font-size: calc(100vw * (22 / 375));
            text-align: center;
            margin-bottom: calc(100vw * (24 / 375));
        }

        .mv-section-grid-item__title h3 {
            font-size: calc(100vw * (32 / 375));
        }

        .animate-sp {
            .mv-section-heading__top-title {
                animation: fadeIn 1s ease forwards;
            }
            .mv-section-heading__bottom-title {
                animation: flying-up-tilt-about-sp var(--tilt-animation-duration) ease
                    forwards;
            }
        }
        .mv-section-grid-item__tagline.animate-sp,
        .mv-section-grid-item__title.animate-sp,
        .mv-section-grid-item p.animate-sp {
            animation: slideUpAnimation 1s ease forwards;
        }
        .mv-section-grid-item__image.animate-sp img {
            animation: fadeInFromLeft 1s ease forwards;
        }
    }
}
/* End CSS About Page */