/* Editorial book feature on the Japanese host landing page. */
.host-book {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    max-width: 1040px;
    margin: 32px auto 48px;
    overflow: hidden;
    background: #faf8f4;
    border-radius: 20px;
}

.host-book-visual {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 590px;
    padding: 76px 48px;
    isolation: isolate;
    background: #f1eae0;
}
.host-book-visual::before {
    content: "";
    position: absolute;
    z-index: -1;
    width: 340px;
    height: 340px;
    border-radius: 50%;
    background: #e6b49c;
}
.host-book-visual img {
    display: block;
    width: 230px;
    max-width: 80%;
    height: auto;
    transform: rotate(-7deg);
    box-shadow: 12px 20px 24px rgba(65, 46, 30, .18), 2px 3px 4px rgba(65, 46, 30, .1);
}
.host-book-visual-caption {
    position: absolute;
    left: 24px;
    right: 24px;
    text-align: center;
    color: #78695e;
}
.host-book-visual-caption { bottom: 30px; font-size: 12px; letter-spacing: .1em; }
.host-book-content { align-self: center; padding: 48px 48px 48px 52px; }
.host-copy .host-book h2 {
    margin: 0 0 24px;
    color: #39332d;
    font-family: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
    font-size: 34px;
    font-weight: 500;
    line-height: 1.7;
    letter-spacing: .04em;
}
.host-copy .host-book-intro { margin: 0 0 28px; font-size: 14px; line-height: 2; color: #6c655f; }
.host-book-details { margin-bottom: 24px; padding-top: 22px; border-top: 1px solid #ded7cd; }
.host-copy .host-book-name { margin: 0 0 6px; font-size: 15px; line-height: 1.8; font-weight: 500; }
.host-copy .host-book-subtitle { margin: 0 0 10px; font-size: 11px; color: #6c655f; }
.host-copy .host-book-meta { margin: 0; font-size: 11px; color: #786f66; }
.host-copy a.host-book-link {
    display: inline-block;
    padding: 8px 0;
    color: #484039;
    font-size: 13px;
    font-weight: 500;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 7px;
}
.host-book-link > [aria-hidden] { display: inline-block; margin-left: 18px; }
.host-copy a.host-book-link:hover { color: #a6523a; }
.host-book-link:focus-visible { outline: 2px solid #a6523a; outline-offset: 5px; }

@media (max-width: 991px) {
    .host-book-visual { min-height: 560px; padding: 70px 24px; }
    .host-book-visual::before { width: 260px; height: 260px; }
    .host-book-visual img { width: 200px; }
    .host-book-content { padding: 36px 28px; }
    .host-copy .host-book h2 { font-size: 29px; }
}

@media (max-width: 767px) {
    .host-book { grid-template-columns: minmax(0, 1fr); margin: 24px auto 32px; border-radius: 16px; }
    .host-book-visual { min-height: 390px; padding: 62px 32px; }
    .host-book-visual::before { width: 250px; height: 250px; }
    .host-book-visual img { width: 180px; }
    .host-book-visual-caption { bottom: 22px; font-size: 11px; }
    .host-book-content { padding: 34px 28px 36px; }
        .host-copy .host-book h2 { margin-bottom: 18px; font-size: 29px; }
    .host-copy .host-book-intro { margin-bottom: 24px; font-size: 13px; }
}
