.article-wrap {
max-width: 860px;
margin: 0 auto;
padding: 28px 18px 72px;
} .article-title {
font-size: clamp(1.25rem, 3.5vw, 1.85rem);
font-weight: 700;
color: #0a2d46;
line-height: 1.45;
margin: 0 0 10px;
border-left: 5px solid #0a2d46;
padding-left: 14px;
}
.article-meta {
font-size: 0.8rem;
color: #999;
margin: 0 0 28px;
} .toc-box {
background: #f0f6fc;
border: 1px solid #ccdde8;
border-radius: 8px;
padding: 18px 22px;
margin-bottom: 36px;
}
.toc-box h2 {
font-size: 0.95rem;
font-weight: 700;
color: #0a2d46;
margin: 0 0 10px;
display: flex;
align-items: center;
gap: 6px;
}
.toc-box h2::before {
content: "≡";
font-size: 1.1rem;
}
.toc-box ol {
margin: 0;
padding-left: 22px;
display: grid;
gap: 4px;
}
.toc-box li {
font-size: 0.88rem;
line-height: 1.5;
}
.toc-box a {
color: #0073aa;
text-decoration: none;
}
.toc-box a:hover {
text-decoration: underline;
} .article-section {
margin-bottom: 52px;
scroll-margin-top: 80px;
}
.article-section h2 {
font-size: 1.15rem;
font-weight: 700;
color: #fff;
background: #0a2d46;
padding: 10px 16px;
border-radius: 6px;
margin: 0 0 18px;
}
.article-section h3 {
font-size: 1rem;
font-weight: 700;
color: #0a2d46;
border-left: 4px solid #0073aa;
padding-left: 10px;
margin: 28px 0 12px;
}
.article-section p {
font-size: 0.93rem;
line-height: 1.9;
color: #333;
margin-bottom: 14px;
}
.article-section a {
color: #0073aa;
text-decoration: underline;
}
.article-section a:hover {
color: #005a87;
} [id] {
scroll-margin-top: 72px;
} .info-box {
background: #eaf3fb;
border-left: 4px solid #0073aa;
border-radius: 0 6px 6px 0;
padding: 14px 18px;
margin: 18px 0;
font-size: 0.88rem;
line-height: 1.75;
color: #1a3a5c;
}
.info-box strong {
display: block;
font-weight: 700;
margin-bottom: 6px;
font-size: 0.9rem;
} .article-table-wrap {
overflow-x: auto;
margin: 18px 0;
}
.article-table {
width: 100%;
min-width: 420px;
border-collapse: collapse;
font-size: 0.86rem;
}
.article-table th {
background: #0a2d46;
color: #fff;
padding: 10px 12px;
text-align: center;
font-weight: 600;
white-space: nowrap;
}
.article-table td {
padding: 9px 12px;
border: 1px solid #dde6ee;
text-align: center;
vertical-align: middle;
}
.article-table tr:nth-child(even) td {
background: #f5f8fb;
}
.article-table td:first-child {
font-weight: 600;
text-align: left;
} .highlight-rate {
color: #c0392b;
font-weight: 700;
} .check-list {
list-style: none;
padding: 0;
margin: 8px 0 16px;
display: grid;
gap: 8px;
}
.check-list li {
font-size: 0.91rem;
line-height: 1.7;
color: #333;
padding-left: 26px;
position: relative;
}
.check-list li::before {
content: "✓";
position: absolute;
left: 0;
color: #27ae60;
font-weight: 700;
} .point-cards {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
gap: 14px;
margin: 16px 0;
}
.point-card {
background: #f5f8fb;
border: 1px solid #ccdde8;
border-radius: 10px;
padding: 16px 14px;
text-align: center;
}
.point-card .card-icon {
font-size: 1.7rem;
margin-bottom: 8px;
display: block;
}
.point-card .card-title {
font-size: 0.84rem;
font-weight: 700;
color: #0a2d46;
margin-bottom: 6px;
}
.point-card .card-text {
font-size: 0.78rem;
color: #555;
line-height: 1.55;
} .cta-box {
background: linear-gradient(135deg, #0a2d46 0%, #0e4a72 100%);
border-radius: 12px;
padding: 28px 22px;
text-align: center;
margin: 40px 0;
color: #fff;
}
.cta-box p {
font-size: 0.95rem;
margin: 0 0 18px;
line-height: 1.7;
color: #fff; opacity: 0.93;
}
.cta-btn {
display: inline-block;
background: #f5c400;
color: #0a2d46;
font-size: 0.97rem;
font-weight: 700;
padding: 14px 34px;
border-radius: 50px;
text-decoration: none !important;
transition: opacity 0.2s, transform 0.15s;
box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}
.cta-btn:hover {
opacity: 0.9;
transform: translateY(-1px);
color: #0a2d46 !important;
} .chigin-search-box {
margin: 16px 0 4px;
}
.chigin-search-box input {
width: 100%;
max-width: 360px;
border: 1px solid #cdd8e2;
border-radius: 999px;
padding: 8px 16px;
font-size: 0.9rem;
color: #0a2d46;
box-sizing: border-box;
}
.chigin-search-box input:focus {
outline: 2px solid #0e4a72;
outline-offset: 1px;
} .chigin-region-filter {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin: 16px 0 4px;
}
.chigin-region-btn {
border: 1px solid #cdd8e2;
background: #fff;
color: #0a2d46;
font-size: 0.82rem;
font-weight: 600;
padding: 6px 13px;
border-radius: 999px;
cursor: pointer;
transition: background 0.12s, border-color 0.12s, color 0.12s;
}
.chigin-region-btn:hover {
background: #eef4f9;
}
.chigin-region-btn.is-active {
background: #0e4a72;
border-color: #0e4a72;
color: #fff;
}
.chigin-region-empty {
margin: 12px 0;
padding: 14px;
background: #f6f8fa;
border-radius: 8px;
color: #666;
text-align: center;
font-size: 0.9rem;
} .chigin-sort-filter {
align-items: center;
}
.chigin-sort-label {
font-size: 0.8rem;
font-weight: 700;
color: #0a2d46;
margin-right: 2px;
}
.chigin-sort-hint {
margin: 6px 0 0;
font-size: 0.76rem;
line-height: 1.5;
color: #777;
} .campaign-card-region {
display: inline-block;
margin-left: 6px;
padding: 1px 8px;
background: #eaf3ea;
color: #2e7d46;
border-radius: 999px;
font-size: 0.72rem;
font-weight: 700;
vertical-align: middle;
} .campaign-cards {
display: grid;
gap: 14px;
margin: 18px 0;
}
.campaign-card {
border: 1px solid #dde6ee;
border-radius: 10px;
overflow: hidden;
display: flex;
align-items: stretch;
background: #fff;
transition: box-shadow 0.15s;
}
.campaign-card:hover {
box-shadow: 0 2px 12px rgba(10,45,70,0.1);
}
.campaign-card-badge {
background: #0a2d46;
color: #fff;
width: 68px;
min-width: 68px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
font-size: 0.7rem;
font-weight: 700;
text-align: center;
padding: 8px 4px;
line-height: 1.4;
}
.campaign-card-badge.net  { background: #0e4a72; }
.campaign-card-badge.mega { background: #2c3e50; }
.campaign-card-badge.local{ background: #7a4a1e; }
.campaign-card-badge.other{ background: #3d5a47; }
.campaign-card-body {
padding: 13px 16px;
flex: 1;
} .campaign-card h3.campaign-card-heading {
margin: 0;
padding: 0;
border: 0;
background: none;
box-shadow: none;
font: inherit;
color: inherit;
line-height: inherit;
letter-spacing: inherit;
}
.campaign-card h3.campaign-card-heading::before,
.campaign-card h3.campaign-card-heading::after {
content: none;
display: none;
}
.campaign-card-bank {
display: block;
font-size: 0.95rem;
font-weight: 700;
color: #0a2d46;
margin-bottom: 3px;
}
.campaign-card-label {
display: block;
font-size: 0.8rem;
font-weight: 400;
color: #555;
margin-bottom: 7px;
line-height: 1.45;
}
.campaign-card-rate {
font-size: 1.15rem;
font-weight: 700;
color: #c0392b;
margin-bottom: 4px;
}
.campaign-card-rate span {
font-size: 0.74rem;
color: #888;
font-weight: 400;
margin-left: 4px;
} .campaign-card-detail {
font-size: 0.9rem;
font-weight: 600;
color: #37474f;
line-height: 1.6;
margin-bottom: 4px;
}
.campaign-card-target {
display: inline-block;
font-size: 0.72rem;
background: #fef3e2;
color: #c0392b;
border: 1px solid #f5c400;
border-radius: 3px;
padding: 1px 6px;
margin-bottom: 6px;
font-weight: 600;
}
.campaign-card-end {
font-size: 0.76rem;
color: #999;
margin-top: 4px;
}
.campaign-card-end.urgent {
color: #c0392b;
font-weight: 700;
} .campaign-card-bank-link {
color: inherit;
text-decoration: none;
}
.campaign-card-bank-link:hover,
.campaign-card-bank-link:focus {
color: #0073aa;
text-decoration: underline;
} .campaign-card-note-toggle {
margin-top: 6px;
}
.campaign-card-note-toggle > summary {
list-style: none;
cursor: pointer;
display: inline-flex;
align-items: center;
gap: 4px;
font-size: 0.74rem;
font-weight: 600;
color: #0073aa;
padding: 3px 0;
-webkit-tap-highlight-color: transparent;
}
.campaign-card-note-toggle > summary::-webkit-details-marker {
display: none;
}
.campaign-card-note-toggle > summary::before {
content: "\25BC";
font-size: 0.6rem;
transition: transform 0.15s ease;
}
.campaign-card-note-toggle[open] > summary::before {
transform: rotate(180deg);
}
.campaign-card-note-toggle > summary:hover {
text-decoration: underline;
} .campaign-card-note-line {
margin-top: 6px;
font-size: 0.82rem;
line-height: 1.55;
color: #37474f;
}
.campaign-card-note {
margin-top: 6px;
padding: 6px 8px;
background: #fafafa;
border-left: 3px solid #e0c068;
border-radius: 3px;
font-size: 0.74rem;
line-height: 1.55;
color: #5d4037;
} .taishoku-official {
display: inline-block;
margin-top: 6px;
padding: 2px 10px;
font-size: 0.78em;
font-weight: 700;
color: #0a2d46 !important;
background: #ffd24d;
border-radius: 4px;
text-decoration: none !important;
white-space: nowrap;
}
.taishoku-official:hover,
.taishoku-official:focus {
background: #ffdd78;
}
.campaign-card-link {
display: inline-block;
font-size: 0.76rem;
color: #0073aa;
text-decoration: none;
margin-top: 7px;
}
.campaign-card-link:hover {
text-decoration: underline;
} .yugu-filter {
background: #f0f6fc;
border: 1px solid #ccdde8;
border-radius: 8px;
padding: 14px 16px;
margin-bottom: 18px;
}
.yugu-filter__lead {
font-size: 0.85rem;
font-weight: 700;
color: #0a2d46;
margin: 0 0 8px;
}
.yugu-filter__item {
display: flex;
align-items: center;
gap: 8px;
font-size: 0.9rem;
color: #2c3e50;
padding: 5px 0;
cursor: pointer;
}
.yugu-filter__item input { width: 18px; height: 18px; margin: 0; }
.yugu-filter__btns { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.yugu-filter__btn {
font-size: 0.78rem;
background: #fff;
color: #0a2d46;
border: 1px solid #9fb6c8;
border-radius: 4px;
padding: 5px 10px;
cursor: pointer;
}
.yugu-cards { display: flex; flex-direction: column; gap: 10px; margin-bottom: 12px; }
.yugu-card {
border: 1px solid #dde6ee;
border-left: 5px solid #0e4a72;
border-radius: 8px;
background: #fff;
padding: 12px 14px;
}
.yugu-card--plain { border-left-color: #b8c6d2; }
.yugu-card__head {
display: flex;
justify-content: space-between;
align-items: flex-start;
gap: 10px;
}
.yugu-card__bank { font-size: 0.95rem; font-weight: 700; color: #0a2d46; line-height: 1.4; }
.article-section .yugu-card__bank a { color: #0a2d46; text-decoration: none; }
.article-section .yugu-card__bank a:hover { text-decoration: underline; }
.yugu-card__prog { display: block; font-size: 0.76rem; font-weight: 400; color: #666; }
.yugu-card__rate { text-align: right; white-space: nowrap; }
.yugu-card__rate-label { display: block; font-size: 0.7rem; color: #888; }
.yugu-card__rate-num { font-size: 1.2rem; font-weight: 700; color: #c0392b; }
.yugu-card__sub { font-size: 0.78rem; color: #666; margin: 4px 0 6px; }
.yugu-chips { list-style: none; margin: 0 0 4px; padding: 0; display: flex; flex-wrap: wrap; gap: 5px; }
.yugu-chip {
font-size: 0.74rem;
color: #777;
background: #f4f6f8;
border: 1px solid #dde3e8;
border-radius: 12px;
padding: 2px 9px;
margin: 0;
}
.yugu-chip.is-on { color: #1e8449; background: #eaf6ee; border-color: #7cc79a; }
.yugu-chip--multi { color: #7a4a1e; background: #fdf3e6; border-color: #e8c28f; }
.yugu-card__links { display: flex; flex-wrap: wrap; gap: 4px 16px; font-size: 0.78rem; margin-top: 4px; } .shoken-card .campaign-card-target { margin-right: 4px; }
.shoken-card .campaign-card-target.shoken-hoken {
background: #eaf6ee;
color: #1e8449;
border-color: #7cc79a;
}
.shoken-compare {
font-size: 0.85rem;
color: #555;
margin-bottom: 6px;
}
.shoken-compare strong { color: #c0392b; }
.shoken-compare__yen { font-size: 0.78rem; color: #888; }
.shoken-procedure {
font-size: 0.82rem;
color: #37474f;
line-height: 1.6;
margin: 4px 0;
}
.shoken-links {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 8px 16px;
margin-top: 6px;
} .article-section .shoken-btn,
.article-section .shoken-btn:visited {
display: inline-block;
background: #c0392b;
color: #fff;
font-size: 0.9rem;
font-weight: 700;
text-decoration: none;
border-radius: 6px;
padding: 9px 16px;
box-shadow: 0 2px 0 #922b21;
}
.article-section .shoken-btn:hover {
background: #a93226;
color: #fff;
text-decoration: none;
} .no-campaign-msg {
background: #f5f8fb;
border: 1px solid #dde6ee;
border-radius: 8px;
padding: 24px;
text-align: center;
color: #777;
font-size: 0.9rem;
} .local-camp-banner {
display: flex;
align-items: center;
gap: 12px;
margin: 20px 0;
padding: 14px 18px;
background: #fbf6ee;
border: 1px solid #e6d3ad;
border-left: 4px solid #7a4a1e;
border-radius: 8px;
text-decoration: none;
color: #5d4037;
transition: background 0.15s, box-shadow 0.15s;
}
.local-camp-banner:hover {
background: #f6eedd;
box-shadow: 0 2px 8px rgba(122, 74, 30, 0.12);
}
.local-camp-banner__icon {
font-size: 1.6rem;
flex-shrink: 0;
}
.local-camp-banner__text {
flex: 1;
font-size: 0.86rem;
line-height: 1.5;
}
.local-camp-banner__text strong {
display: block;
font-size: 0.96rem;
color: #7a4a1e;
margin-bottom: 2px;
}
.local-camp-banner__arrow {
flex-shrink: 0;
font-size: 1.2rem;
color: #7a4a1e;
font-weight: 700;
}
@media (max-width: 600px) {
.local-camp-banner {
gap: 10px;
padding: 12px 14px;
}
.local-camp-banner__icon { font-size: 1.4rem; }
.local-camp-banner__text { font-size: 0.82rem; } .campaign-cards { gap: 10px; margin: 12px 0; }
.campaign-card-body { padding: 10px 12px; }
.campaign-card-label { margin-bottom: 4px; }
.campaign-card-target { margin-bottom: 4px; }
.campaign-card-rate { font-size: 1.05rem; margin-bottom: 2px; }
.campaign-card-detail { font-size: 0.82rem; line-height: 1.45; margin-bottom: 2px; }
.campaign-card-end { margin-top: 2px; }
} .article-updated {
font-size: 0.78rem;
color: #aaa;
text-align: right;
border-top: 1px solid #eee;
padding-top: 16px;
margin-top: 52px;
} @media (max-width: 600px) {
.article-title {
font-size: 1.2rem;
}
.article-section h2 {
font-size: 1rem;
padding: 9px 12px;
}
.article-section h3 {
font-size: 0.93rem;
}
.cta-box {
padding: 20px 16px;
}
.cta-btn {
font-size: 0.9rem;
padding: 12px 24px;
}
.point-cards {
grid-template-columns: 1fr 1fr;
}
.campaign-card-badge {
width: 56px;
min-width: 56px;
font-size: 0.64rem;
}
} .sim-lead {
font-size: 0.95rem;
line-height: 1.85;
color: #333;
margin: 0 0 24px;
}
.sim-related {
display: flex;
flex-direction: column;
gap: 10px;
margin: 32px 0 8px;
padding: 18px 20px;
background: #fff;
border: 1px solid #ccdde8;
border-radius: 10px;
}
.sim-related a {
color: #0e4a72;
font-weight: 700;
font-size: 0.92rem;
text-decoration: none;
}
.sim-related a:hover { text-decoration: underline; }