.greeting-content {
    display: flex;
    justify-content: space-between;
    margin-top: clamp(20px, 3rem, 30px);
}

.greeting-txt {
    width: 57%;
    text-align: justify;
}

.greeting-txt p:nth-child(n+2) {
    margin-top: 1em;
}

.greeting-txt .name {
    text-align: right;
    font-weight: 500;
    font-size: clamp(13px, 1.6rem, 16px);
}

.greeting-txt .name span {
    font-size: 150%;
}

.greeting-image {
    width: 37%;
}

@media screen and (max-width: 640px) {
    .greeting-content {
        flex-direction: column-reverse;
        row-gap: 30px;
    }

    .greeting-txt {
        width: 100%;
    }

    .greeting-image {
        width: 75%;
        margin-inline: auto;
    }
}

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

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

.profile_title_pc {
    width: min(38.6rem, 386px);
}

.profile__image {
    width: 45vw;
    position: absolute;
    top: min(36.5rem, 365px);
    left: 0;
}

.profile__image img {
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
}

.profile__table {
    width: 47%;
}

.profile__table-item {
    display: flex;
    padding: 1em 0;
    justify-content: space-between;
}

.profile__table-item:first-child {
    padding-top: 0;
}

.profile__table-item dt {
    font-weight: 500;
    margin-bottom: 0.4em;
    width: 32%;
    flex-shrink: 0;
}

.profile__table-item dd {
    width: 60%;
    flex-shrink: 0;
}

@media screen and (max-width: 1024px) {
    .profile__table-item {
        display: block;
    }

    .profile__table-item dt,
    .profile__table-item dd {
        width: 100%;
    }
}

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

    .profile__image {
        position: static;
        margin-left: -5vw;
        width: 95vw;
        margin-top: max(3rem, 30px);
    }

    .profile__table {
        width: 100%;
    }

}

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


.history__inner {
    width: min(90vw, 880px);
    margin-inline: auto;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
}

.history__table {
    width: 90%;
}

.history__table-item {
    display: flex;
    position: relative;
}

.history__table-item dt {
    font-weight: 700;
    border-left: 1px solid #C0C0C0;
    position: relative;
    padding: 1em 1em 1em calc(1em + 3%);
    flex: 0 0 20%;
}

.history__table-item dt::before {
    content: "";
    display: block;
    position: absolute;
    width: 11px;
    height: 11px;
    background: var(--blue);
    border-radius: 50%;
    top: calc(1.5em);
    left: -6px;
}

.history__table-item dd {
    flex: 0 0 78%;
    padding: 1em;
}

@media screen and (max-width: 640px) {
    .history__inner {
        flex-direction: column;

    }

    .history__table {
        margin-top: 5vw;
        width: auto;
    }

    .history__table-item {
        flex-direction: column;
        border-left: 1px solid #C0C0C0;
    }

    .history__table-item dt {
        font-weight: 700;
        flex: 0 0 100%;
        border: none;
    }

    .history__table-item dt::before {
        top: 50%;
        right: unset;
        left: -6px;
        flex: 0 0 100%;
    }

    .history__table-item dd {
        padding-top: 0;
        padding-left: calc(1em + 3%);
        flex: 0 0 100%;
    }
}

/* ------------------------------------- */
.partner__inner {
    display: flex;
    justify-content: space-between;
}

.partner__title {
    color: var(--blue);
    font-weight: 700;
    font-size: clamp(24px, 3.2rem, 32px);
    flex: 0 0 26%;
}

.partner__title-sub {
    color: var(--blue);
    font-weight: 700;
    font-size: clamp(18px, 2.4rem, 24px);
    padding-bottom: .4em;
    border-bottom: 1px solid var(--black);
}

.partner__title-sub:nth-child(n+2) {
    margin-top: 2em;
}

.partner__content {
    flex: 0 0 74%;
}

.partner-list {
    display: flex;
    flex-wrap: wrap;
    column-gap: 10%;
}

.partner-item {
    display: flex;
    justify-content: space-between;
    margin-top: 1em;
    flex: 0 0 45%;
}

.sozai-item {
    margin-top: 1em;
}

.item__title {
    font-weight: 500;
    font-size: clamp(15px, 1.7rem, 17px);
}

.item-list {
    list-style: disc;
    display: grid;
    grid-template-columns: repeat(2, auto);
}

.item-list-item {
    margin-left: 2em;
    margin-top: 1em;
}

.item-list-item small {
    font-size: 86%;
}

@media screen and (max-width: 1024px) {
    .partner__inner {
        flex-direction: column;
        row-gap: 2em;
    }

    .item-list {
        display: block;
    }
}
@media screen and (max-width: 640px) {
    .partner-list {
        flex-direction: column;
    }
}

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

.access {
    border-top: 1px dashed var(--black);
}

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

.access-list {
    flex: 0 0 90%;
}

.access-item:nth-child(n+2) {
    margin-top: clamp(30px, 8rem, 80px);
}

.access__info {
    display: flex;
}

.access__info dt {
    padding-right: 1em;
    font-weight: 700;
    font-size: clamp(18px, 2.4rem, 24px);
}

.access__info dd {
    border-left: 1px solid var(--black);
    padding-left: 2em;
}

.access__image {
    margin-top: clamp(20px, 4rem, 40px);
    display: flex;
    justify-content: space-between;
}

.access__image>* {
    flex: 0 0 48%;
}

.access__map iframe {
    aspect-ratio: 510 / 348;
    width: 100%;
    height: auto;
}

@media screen and (max-width: 640px) {
    .access__inner {
        flex-direction: column;
        row-gap: 2em;
    }

    .access__info {
        flex-direction: column;
    }

    .access__info dt {}

    .access__info dd {
        margin-top: 1em;
        padding-left: 1em;
    }

    .access__image {
        margin-top: clamp(20px, 4rem, 40px);
        flex-direction: column-reverse;
        row-gap: 1em;
    }

}