/* みまもり：サイト共通の表示調整 START
   管理場所：追加CSS。デザイン確定後にテーマのstyle.css末尾へ移動。 */
/* Public links: preserve layout and brighten only linked images. */
/* Featured artwork includes text: show its original proportions in every list. */
body :is(.home-post-thumbnail, .category-card-thumbnail, .related-post-thumbnail) {
    aspect-ratio: auto;
    height: auto;
    min-height: 0;
    align-self: start;
}
body :is(.home-post-thumbnail, .category-card-thumbnail, .related-post-thumbnail) img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}
body :is(.site-header, main:not(.mimamori-block-home), .site-footer) a[href] {
    cursor: pointer;
    transition: color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}
body :is(.site-header, main:not(.mimamori-block-home), .site-footer) a[href] img {
    transition: filter .18s ease;
}
/* Text links stay identifiable without changing font width or page layout. */
body main:not(.mimamori-block-home) a[href]:not(:has(img, h2, h3)):not(.mm-home-member-actions a):not([class*="button"]):not([role="button"]) {
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: .22em;
}
body :is(.site-header, main:not(.mimamori-block-home), .site-footer) a[href]:not(:has(img, h2, h3)):not(.site-title):not(.mm-home-member-actions a):not([class*="button"]):not([role="button"]):focus-visible {
    background-color: #dcefe1;
    text-decoration: underline 2px;
    text-underline-offset: .22em;
}
body :is(.site-header, main:not(.mimamori-block-home), .site-footer) a[href]:focus-visible {
    outline: 3px solid #257a46;
    outline-offset: 4px;
}
body :is(.site-header, main:not(.mimamori-block-home), .site-footer) a[href]:focus-visible img {
    filter: brightness(1.1);
}
@media (hover: hover) {
    body :is(.site-header, main:not(.mimamori-block-home), .site-footer) a[href]:not(:has(img, h2, h3)):not(.site-title):not(.mm-home-member-actions a):not([class*="button"]):not([role="button"]):hover {
        background-color: #dcefe1;
        text-decoration: underline 2px;
        text-underline-offset: .22em;
    }
    body :is(.site-header, main:not(.mimamori-block-home), .site-footer) a[href]:hover {
        color: #106b3a;
    }
    body main:not(.mimamori-block-home) :is(.home-purpose-card, .home-free-card-active, .home-guide-card, .home-post-card > a):hover :is(h2, h3, .home-card-arrow, .home-free-link, .home-guide-card span) {
        color: #106b3a;
    }
    body main:not(.mimamori-block-home) :is(.home-purpose-card, .home-free-card-active, .home-guide-card):hover {
        background-color: #f0f8f2;
        border-color: #75a987;
    }
    body main:not(.mimamori-block-home) .mm-home-member-actions a:hover {
        background-color: #edf6ef;
        border-color: #257a46;
    }
    body main:not(.mimamori-block-home) .mm-home-member-actions a.mm-home-member-primary:hover {
        background-color: #39784d;
        color: #fff;
    }
    body :is(.site-header, main:not(.mimamori-block-home), .site-footer) a[href]:hover img {
        filter: brightness(1.1);
    }
}
@media (prefers-reduced-motion: reduce) {
    body :is(.site-header, main:not(.mimamori-block-home), .site-footer) a[href],
    body :is(.site-header, main:not(.mimamori-block-home), .site-footer) a[href] img {
        transition: none;
    }
}

/* みまもり：サイト共通の表示調整 END */

/* みまもり：お問い合わせフォーム START */
.mm-contact-form { max-width:760px; margin:24px 0; padding:28px; border:1px solid #d8e5dc; border-radius:12px; background:#f8fbf9; }
.mm-contact-form > p { margin:0 0 24px; }
.mm-contact-form label { display:block; font-weight:600; }
.mm-contact-required { display:inline-block; margin-left:8px; padding:1px 7px; border-radius:4px; background:#9f3030; color:#fff; font-size:12px; vertical-align:middle; }
.mm-contact-form input[type="text"], .mm-contact-form input[type="email"], .mm-contact-form select, .mm-contact-form textarea { display:block; width:100%; box-sizing:border-box; margin-top:8px; padding:12px; border:1px solid #9aafa1; border-radius:6px; background:#fff; color:#222; font:inherit; font-weight:400; }
.mm-contact-form textarea { min-height:200px; resize:vertical; }
.mm-contact-form .mm-contact-note { font-size:14px; font-weight:400; color:#4a5d50; }
.mm-contact-form .wpcf7-list-item { margin:0; }
.mm-contact-form .wpcf7-acceptance label { display:flex; align-items:flex-start; gap:10px; font-weight:400; }
.mm-contact-form input[type="checkbox"] { flex:none; width:20px; height:20px; margin-top:5px; }
.mm-contact-form input[type="submit"] { padding:14px 28px; border:0; border-radius:8px; background:#285338; color:#fff; font:inherit; font-weight:700; cursor:pointer; }
.mm-contact-form input[type="submit"]:hover { background:#39784d; }
.mm-contact-form input[type="submit"]:disabled { opacity:.55; cursor:not-allowed; }
.mm-contact-form :is(input,select,textarea):focus-visible { outline:3px solid #257a46; outline-offset:3px; }
.mm-contact-form .wpcf7-not-valid-tip { margin-top:6px; font-size:14px; }
.wpcf7 form .wpcf7-response-output { padding:16px; border-radius:8px; }
@media(max-width:600px) { .mm-contact-form { padding:20px 16px; } .mm-contact-form input[type="submit"] { width:100%; } }
/* みまもり：お問い合わせフォーム END */
