/* 全体・リセット設定 */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html, body {
    overflow-x: hidden;
}
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans JP", sans-serif;
    background-color: #f2f2f7;
    color: #1c1c1e;
    line-height: 1.5;
    padding: 40px 20px;
    margin:0;
    min-height:100vh;
}

/* 横幅制限用のラップ構造 (.wrap) */
.wrap {
    width: min(100%, 480px);
    margin: 0 auto;
    box-sizing: border-box;
}

/* ヘッダー */
header {
    text-align:center;
    margin-bottom:24px;
    width:100%;
    display:block;
    overflow:hidden;
}

.header-link {
    display: block;
    width: 100%;
    text-decoration: none;
    line-height: 0; /* 画像の下隙間を排除 */
    overflow: hidden;
    border-radius: 12px; /* 下のカードに合わせた角丸 */
}

.header-img {
    width: 100%;        /* 親の幅（最大480px）に強制的に合わせる */
    max-width: 100%;    /* 画面が小さくなってもはみ出さない */
    height: auto;       /* 縦横比を維持して縮小 */
    display: block;
}

/* カードデザイン（Appleライク） */
.card {
    background-color: #ffffff;
    border-radius: 20px;
    padding: 24px;
    margin-bottom: 20px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04), 0 1px 3px rgba(0, 0, 0, 0.02);
    text-decoration: none;
    color: inherit;
    display: block;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* タップ・クリック時の弾力のある沈み込み演出 */
.card:active {
    transform: scale(0.98);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
}

/* カード内タイトル部 */
.card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
}

.card-title-group {
    display: flex;
    align-items: center;
    gap: 8px;
}

.card-emoji {
    font-size: 24px;
}

.card-title {
    font-size: 22px;
    font-weight: 700;
}

/* シリーズ個別のアクセントカラー */
.card.okuribito .card-title { color: #007aff; }
.card.fire .card-title { color: #ff3b30; }
.card.nisa .card-title { color: #34c759; }
.card.creditcard .card-title { color: #1e3a5f; }
.card.mortgage .card-title { color: #ff6b9d; }

.arrow-icon {
    font-size: 18px;
    color: #c7c7cc;
    transition: color 0.2s ease;
}
.card.okuribito:hover .arrow-icon { color: #007aff; }
.card.fire:hover .arrow-icon { color: #ff3b30; }
.card.nisa:hover .arrow-icon { color: #34c759; }
.card.creditcard:hover .arrow-icon { color: #1e3a5f; }
.card.mortgage:hover .arrow-icon { color: #ff6b9d; }

/* カード内説明・プレビュー部 */
.card-desc {
    font-size: 14px;
    color: #8e8e93;
    margin-bottom: 16px;
    font-weight: 500;
}

.card-divider {
    height: 1px;
    background-color: #e5e5ea;
    margin-bottom: 16px;
}

.card-preview {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 600;
    color: #1c1c1e;
}

.preview-icon {
    width: 32px;
    height: 32px;
    background-color: #e5f1ff;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #007aff;
    font-size: 14px;
}
.card.fire .preview-icon {
    background-color: #ffe5e5;
    color: #ff3b30;
}
.card.nisa .preview-icon {
    background-color: #e6f9ea;
    color: #34c759;
}
.card.creditcard .preview-icon {
    background-color: #e6eaf2;
    color: #1e3a5f;
}
.card.mortgage .preview-icon {
    background-color: #ffe9f2;
    color: #ff6b9d;
}

.preview-text em {
    font-style: normal;
    color: #007aff;
    border-bottom: 1px solid #007aff;
}
.card.fire .preview-text em {
    color: #ff3b30;
    border-bottom: 1px solid #ff3b30;
}
.card.nisa .preview-text em {
    color: #34c759;
    border-bottom: 1px solid #34c759;
}
.card.creditcard .preview-text em {
    color: #1e3a5f;
    border-bottom: 1px solid #1e3a5f;
}
.card.mortgage .preview-text em {
    color: #ff6b9d;
    border-bottom: 1px solid #ff6b9d;
}

/* 関連サイトリンク（横並び） */
.related-links {
    display: table;
    width: 100%;
    table-layout: fixed;
    margin-top: 32px;
    margin-bottom: 16px;
}

.related-link-cell {
    display: table-cell;
    text-align: center;
}

.related-link {
    font-size: 13px;
    color: #007aff;
    text-decoration: none;
    font-weight: 500;
}

.related-link:hover {
    text-decoration: underline;
}

/* フッター（注意書き＆コピーライト） */
footer {
    text-align: center;
    padding: 0 8px;
}

.disclaimer {
    font-size: 11px;
    color: #8e8e93;
    line-height: 1.6;
    margin-bottom: 16px;
    text-align: justify;
}

.copyright {
    font-size: 12px;
    color: #8e8e93;
}