@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.3.1
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* 同担拒否タイプ診断 */
.dn-wrap {
    --dn-ink: #3e3341;
    --dn-soft: #fff7fb;
    --dn-line: #eadce6;
    --dn-accent: #a85f89;
    --dn-green: #40796b;
    color: var(--dn-ink);
    max-width: 860px;
    margin: auto;
}
.dn-hero {
    background: linear-gradient(135deg, #fff7fb, #f6f3ff);
    border: 1px solid var(--dn-line);
    border-radius: 24px;
    padding: clamp(24px, 5vw, 52px);
    text-align: center;
}
.dn-kicker { font-size: .84rem; letter-spacing: .08em; color: var(--dn-accent); font-weight: 700; }
.dn-hero-title { font-size: clamp(1.8rem, 5vw, 3rem); font-weight: 700; line-height: 1.35; margin: .35em 0; }
.dn-lead { font-size: 1.05rem; line-height: 1.9; }
.dn-note { font-size: .9rem; color: #6c606d; }
.dn-card { border: 1px solid var(--dn-line); border-radius: 18px; padding: 20px; margin: 20px 0; background: #fff; }
.dn-question { margin: 0 0 24px; padding: 0 0 24px; border: 0; border-bottom: 1px solid var(--dn-line); }
.dn-question:last-child { border-bottom: 0; }
.dn-question legend { font-weight: 700; margin-bottom: 12px; line-height: 1.7; }
.dn-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.dn-options label { display: flex; align-items: center; justify-content: center; gap: 5px; border: 1px solid var(--dn-line); border-radius: 10px; padding: 10px 5px; cursor: pointer; text-align: center; font-size: .9rem; }
.dn-options label:has(input:checked) { background: #f8eaf2; border-color: var(--dn-accent); font-weight: 700; }
.dn-button { display: block; width: min(100%, 360px); margin: 24px auto 8px; padding: 15px 18px; border: 0; border-radius: 999px; background: var(--dn-accent); color: #fff; font-weight: 700; font-size: 1.05rem; cursor: pointer; }
.dn-button:hover { filter: brightness(.94); }
.dn-error { color: #a43131; text-align: center; font-weight: 700; }
.dn-result { display: none; background: var(--dn-soft); border: 2px solid var(--dn-accent); border-radius: 22px; padding: 24px; margin: 28px 0; }
.dn-result[aria-hidden="false"] { display: block; }
.dn-result h2 { margin-top: 0; }
.dn-type { background: #fff; border: 1px solid var(--dn-line); border-radius: 14px; padding: 16px; margin: 12px 0; }
.dn-type h3 { margin: .1em 0 .5em; }
.dn-type a { display: inline-block; margin-top: 8px; color: var(--dn-accent); font-weight: 700; }
.dn-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.dn-link { display: block; border: 1px solid var(--dn-line); border-radius: 14px; padding: 16px; text-decoration: none; color: var(--dn-ink); background: #fff; }
.dn-link strong { display: block; color: var(--dn-accent); margin-bottom: 6px; }
.dn-safety { border-left: 4px solid var(--dn-green); background: #f2faf7; padding: 16px 18px; margin: 24px 0; }
.dn-process { counter-reset: dn; }
.dn-process li { margin: 10px 0; }

@media (max-width: 640px) {
    .dn-options,
    .dn-grid { grid-template-columns: 1fr; }
    .dn-options label { justify-content: flex-start; padding: 11px 14px; }
    .dn-card { padding: 16px; }
    .dn-hero { border-radius: 18px; }
}

