/* 既存の店舗サイトの配色と書体を継承する自由欄。 */
.front-free-section {
    padding: 20px 0;
}

.front-free-section .section-title {
    margin-bottom: 24px;
    word-break: auto-phrase;
    text-wrap: balance;
}

.front-free-section-banner {
    text-align: center;
}

.front-free-section-banner img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}

.front-free-section-content {
    max-width: 100%;
    overflow-x: auto;
    overflow-wrap: anywhere;
}

.front-free-section-banner + .front-free-section-content {
    margin-top: 20px;
}

.front-free-section-content p + p,
.front-free-section-content ul,
.front-free-section-content ol {
    margin-top: 1em;
}

.front-free-section-content ul,
.front-free-section-content ol {
    padding-left: 1.5em;
}

.front-free-section-content img {
    max-width: 100%;
    height: auto;
}

.front-free-section a:focus-visible {
    outline: 2px solid var(--key-color, #1a472a);
    outline-offset: 4px;
}
