#top {
    background-image: url(/assets/img/concept/bg_01.png);
}

section#concept-page {
    padding-top: calc(var(--padding-top) * .5);
}

#concept-page .absolute {
    position: static;
    display: block;
    margin-bottom: 5rem;
    padding-left: 0rem;
    margin-left: 0;
    transform: translateX(0);
    text-align: center;
}

#concept-page strong {
    margin-bottom: 3rem;
}

#concept-page .flex {
    column-gap: 8rem;
    row-gap: 3rem;
}

#concept-page .flex>img {
    width: 50%;
}

#concept-page .flex>div {
    width: 50%;
}

#point li {
    background-color: #fff8f1;
    padding: 3rem min(3vw, 4rem);
    row-gap: 2rem;
    column-gap: 4rem;
    box-shadow: var(--shadow);
}

#point li:nth-child(n + 2) {
    margin-top: 4rem;
}

#point ul img {
    width: 15%;
    outline: 2px solid var(--c-card);
    outline-offset: -8px;
    border-radius: 50%;
}

#point li div {
    width: 85%;
}

#point h3 span {
    display: block;
    font-size: 1.4rem;
    color: var(--c-sub);
    border-top: 2px solid var(--c-sub);
    font-weight: 600;
    margin-top: .2rem;
    line-height: 1.8em;
    margin-bottom: 1rem;
}

#point>div {
    position: relative;
}

#point .circle {
    width: 50rem;
    top: 0;
    right: 100%;
}

#owner .flex {
    gap: 4rem;
    align-items: stretch;
}

#owner .img-wrap {
    width: 35%;
    transform: translateY(4rem);
}

#owner .text-content {
    width: 65%;
    position: relative;
    padding-left: var(--padding-card);
}

#owner .text-content>div {
    margin-block: auto;
    height: fit-content;
}

#owner .text-content::before {
    background-color: var(--c-bg-card);
    position: absolute;
    content: "";
    width: calc(100% + 8rem);
    height: 100%;
    display: block;
    top: 0;
    left: 0;
    z-index: -1;
    box-shadow: var(--shadow);
}

#owner .absolute {
    top: -4rem;
}

#owner .name {
    text-align: end;
}

dl {
    display: grid;
    grid-template-columns: clamp(80px, 20vw, 250px) 1fr;
    max-width: 1000px;
    margin-inline: auto;
    background-color: var(--c-card);
    box-shadow: var(--shadow);
}

dt,
dd {
    padding-block: 2rem;
    border-top: 1px solid var(--c-sub);
}

dl .first {
    border-top: none;
}

dt {
    font-weight: 400;
    text-align: right;
    background-color: var(--c-card-sub);
    text-align: center;
}

dd {
    padding-left: var(--padding-card);
}

#access .loop_text {
    color: var(--c-sub);
}

#map .map-wrap {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    filter: brightness(95%) sepia(25%);
    margin-bottom: 2rem;
    box-shadow: var(--shadow);
}

#map iframe {
    width: 100%;
    height: 100%;
}

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

    #concept-page .flex>img {
        width: 70%;
    }

    #concept-page .flex>div {
        width: 100%;
    }

#concept-page .absolute {
    margin-bottom: 3rem;
}

#concept-page strong {
    margin-bottom: 2rem;
}

    #point ul img {
        max-width: 300px;
        width: 70%;
    }

    #point li div {
        width: 100%;
    }

    #owner .flex.flex-column-re-sp>* {
        width: 100%;
    }

    #owner .text-content {
        padding: 8rem 0 0;
    }

    #owner .text-content::before {
        display: none;
    }

    #owner .absolute {
        top: 1rem;
    }

    #map .map-wrap {
        aspect-ratio: 1 / 1;
    }
}