.page-header {
    background-image: url(../../images/company/page-header.jpg);
}

@media screen and (max-width: 640px) {

    .page-header {
        background-image: url(../../images/company/page-header_sp.jpg);
    }

}

/* ---------------------------------- */

.greeting.page-section {
    padding-bottom: max(30px, 6rem);
}

.greeting-inner {
    background-color: #fff;
    padding: 5.8rem 4.6rem;
    display: flex;
    justify-content: space-between;
}

.greeting-txt {
    flex: 0 0 calc((550 / 921) * 100%);
}

.greeting-title {
    font-size: max(18px, 2.4rem);
    font-weight: 700;
    margin-bottom: 0.5em;
}

.greeting-title span {
    display: inline-block;
    padding: .2em 1.5em;
    position: relative;
}

.greeting-title span::before,
.greeting-title span::after {
    content: '';
    display: block;
    width: 2.4rem;
    height: 1.6rem;
    background: url(../../images/company/doublequot.svg) center center no-repeat;
    background-size: contain;
    position: absolute;
}

.greeting-title span::before {
    top: 0;
    left: 0;
}

.greeting-title span::after {
    bottom: 0;
    right: 0;
    transform: rotate(180deg);
}

.greeting-image {
    flex: 0 0 calc((346 / 921) * 100%);
}

.greeting-name {
    text-align: center;
    font-family: var(--font-min);
    font-size: max(20px, 2.6rem);
    color: var(--navy);
    margin-top: 0.6em;
}
.greeting-name span {
    font-size: 85%;
}


@media screen and (max-width: 640px) {
    .greeting-inner {
        padding-inline: 5vw;
        flex-direction: column-reverse;
        gap: 2em;
    }
}

/* ---------------------------------- */

.info-inner {
    background-color: #fff;
    padding: 7.7rem 7.7rem;
}

@media screen and (max-width: 640px) {
    .info-inner {
        padding: 10vw 5vw;
    }
}

/* ---------------------------------- */

.history.page-section {
    padding-bottom: max(30px, 6rem);
}

.history-inner {
    background-color: #fff;
    padding: 7.7rem 7.7rem;
}

@media screen and (max-width: 640px) {
    .history-inner {
        padding: 10vw 5vw;
    }
}


/* ---------------------------------- */

.access-inner {
    display: flex;
    justify-content: space-between;
}

.access-map {
    flex: 0 0 calc((592 / 998) * 100%);
}

.access-map iframe {
    aspect-ratio: 592 / 368;
    width: 100%;
    height: auto;
}

.access-image {
    flex: 0 0 calc((396 / 998) * 100%);
}

@media screen and (max-width: 640px) {
    .access-inner {
        flex-direction: column;
        row-gap: 35px;
    }

    .access-map,
    .access-image {
        width: 100vw;
        margin-left: -4vw;
    }

    .access-map iframe {
        aspect-ratio: 375 / 275;
    }

}