/*
Theme Name: App Compare
Description: アプリ比較・紹介サイト用の独自テーマ。
Version: 0.1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: app-compare
*/

:root{--ink:#183044;--muted:#596d7a;--line:#d9e5e8;--pale:#f4f8f8;--accent:#087f88;--accent-dark:#06636b;--warm:#eb664e;--white:#fff;--shadow:0 12px 36px rgba(19,55,72,.09)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;line-height:1.75}
img{max-width:100%;height:auto}
a{color:var(--accent-dark)}
button,input{font:inherit}
button{cursor:pointer}
[hidden]{display:none!important}
:focus-visible{outline:3px solid #edaa47;outline-offset:3px}
.screen-reader-text,.ac-skip-link:not(:focus){position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ac-skip-link:focus{position:fixed;z-index:1000;top:8px;left:8px;background:#fff;padding:8px 14px}
.ac-container{width:min(100% - 36px,1080px);margin-inline:auto}
.ac-site-header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 2px 16px rgba(16,49,62,.04)}
body.admin-bar .ac-site-header{top:32px}
.ac-site-header__inner{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.ac-site-brand a{color:var(--ink);font-weight:800;font-size:1.18rem;text-decoration:none;letter-spacing:.02em}
.ac-site-brand img{max-height:46px;width:auto;vertical-align:middle}
.ac-site-nav__list,.ac-footer-nav{display:flex;flex-wrap:wrap;gap:18px;list-style:none;margin:0;padding:0}
.ac-site-nav a,.ac-footer-nav a{text-decoration:none;font-size:.9rem;font-weight:700}
.ac-hero{background:linear-gradient(135deg,#123647,#175a66 65%,#168890);color:#fff}
.ac-hero__inner{padding:68px 0 72px}
.ac-eyebrow{margin:0 0 8px;color:var(--accent);font-size:.74rem;font-weight:800;letter-spacing:.18em}
.ac-hero .ac-eyebrow{color:#8ce3dd}
.ac-hero h1{font-size:clamp(2rem,5vw,3.25rem);line-height:1.32;letter-spacing:.02em;margin:0 0 18px}
.ac-hero__lead{font-size:1.08rem;max-width:780px;margin:0 0 26px}
.ac-disclosure{display:inline-block;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);border-radius:10px;padding:10px 16px;margin:0;font-size:.86rem}
.ac-front-content{padding-block:62px 88px}
.ac-section-heading{margin:0 0 24px}
.ac-section-heading h2{font-size:clamp(1.5rem,3vw,2rem);margin:0 0 6px;line-height:1.45}
.ac-section-heading>p:last-child{margin:0;color:var(--muted)}
.ac-compare,.ac-details,.ac-editorial,.ac-related{margin-bottom:74px}
.ac-filter{padding:24px;background:var(--pale);border:1px solid var(--line);border-radius:16px;margin-bottom:20px}
.ac-filter fieldset{display:flex;align-items:flex-start;gap:22px;border:0;padding:0;margin:0 0 15px}
.ac-filter fieldset:last-of-type{margin-bottom:0}
.ac-filter legend{float:left;min-width:100px;padding:5px 0;font-weight:800;font-size:.9rem}
.ac-filter__choices{display:flex;flex-wrap:wrap;gap:8px}
.ac-filter__choices label{position:relative;display:inline-flex}
.ac-filter__choices input{position:absolute;opacity:0;width:1px;height:1px}
.ac-filter__choices span,.ac-filter__all{display:inline-block;background:#fff;border:1px solid #cadadd;border-radius:999px;padding:6px 14px;color:var(--ink);font-size:.84rem;font-weight:700;line-height:1.45}
.ac-filter__choices input:checked+span,.ac-filter__all[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff}
.ac-filter__choices input:focus-visible+span{outline:3px solid #edaa47;outline-offset:3px}
.ac-filter__footer{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);margin-top:20px;padding-top:12px;color:var(--muted);font-size:.88rem}
.ac-text-button{border:0;background:none;color:var(--accent-dark);font-weight:800;text-decoration:underline}
.ac-view-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:0}
.ac-view-switch button{border:1px solid var(--line);border-radius:10px 10px 0 0;background:#e9f2f3;color:var(--ink);font-weight:800;padding:12px}
.ac-view-switch button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff}
.ac-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:0 0 14px 14px}
.ac-comparison-table{width:100%;border-collapse:collapse;table-layout:fixed}
.ac-comparison-table th{background:#dceff0;color:#20535a;font-size:.82rem;letter-spacing:.03em;text-align:left;padding:13px 18px}
.ac-comparison-table th:first-child{width:23%}.ac-comparison-table th:last-child{width:15%}
.ac-comparison-table td{border-top:1px solid var(--line);padding:20px 18px;vertical-align:middle}
.ac-app-row__identity{text-align:center}
.ac-rank{display:block;color:var(--accent-dark);font-weight:900;font-size:1.2rem}
.ac-rating{display:block;color:#ca8b13;font-weight:800;font-size:.94rem}
.ac-rating small{color:var(--muted);font-size:.72rem}
.ac-app-row__logo{display:block;width:64px;height:64px;object-fit:contain;margin:10px auto;border-radius:12px}
.ac-app-row__name{display:block;line-height:1.35}
.ac-app-row__benefit{display:block;color:var(--muted);font-size:.76rem;line-height:1.5;margin-top:9px}
.ac-app-row__benefit strong{display:block;color:var(--accent-dark);font-size:.82rem}
.ac-app-row__summary p{margin:0 0 13px}
.ac-tags{display:flex;flex-wrap:wrap;gap:6px}
.ac-tags span{display:inline-block;background:#e7f3f3;color:#27636b;border:1px solid #c9e5e7;border-radius:999px;padding:3px 9px;font-size:.72rem;font-weight:700;line-height:1.45}
.ac-app-row__actions{display:flex;flex-direction:column;gap:7px}
.ac-button{display:inline-flex;justify-content:center;align-items:center;min-height:40px;padding:7px 12px;text-decoration:none;text-align:center;border-radius:8px;font-size:.82rem;font-weight:800;line-height:1.35}
.ac-button--primary{background:var(--warm);color:#fff}.ac-button--primary:hover{background:#ce4e3a;color:#fff}
.ac-button--secondary{background:#fff;color:var(--accent-dark);border:1px solid var(--accent)}.ac-button--secondary:hover{background:#e8f6f6}
.ac-empty{background:var(--pale);border:1px solid var(--line);padding:18px;border-radius:10px}
.ac-compare__note{font-size:.78rem;color:var(--muted);margin:15px 0 0}
.ac-detail-card{border:1px solid var(--line);border-radius:18px;margin:0 0 26px;background:#fff;box-shadow:var(--shadow);overflow:hidden;scroll-margin-top:90px}
.ac-detail-card__header{display:grid;grid-template-columns:auto 82px 1fr;align-items:center;gap:20px;padding:22px 28px;background:#f1f7f7;border-bottom:1px solid var(--line)}
.ac-detail-card__rank{font-size:1rem;font-weight:900;color:#fff;background:var(--accent);border-radius:8px;padding:6px 11px}
.ac-detail-card__header img{width:82px;height:82px;object-fit:contain;background:#fff;border-radius:13px;padding:5px}
.ac-detail-card__header h3{margin:0;font-size:1.5rem;line-height:1.4}.ac-detail-card__header p:last-child{margin:5px 0 0;color:var(--muted)}
.ac-detail-card__body{padding:28px}
.ac-detail-card__body>.ac-tags{margin-bottom:22px}
.ac-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:0 0 25px}
.ac-facts div{background:#fff;padding:11px 14px}.ac-facts dt{color:var(--muted);font-size:.76rem;font-weight:700}.ac-facts dd{margin:3px 0 0;font-weight:800}
.ac-detail-block{margin:0 0 26px}.ac-detail-block h4,.ac-recommendations h4{font-size:1.08rem;margin:0 0 9px}.ac-detail-block p{margin:0}
.ac-price-wrap{overflow-x:auto}.ac-price-table{width:100%;border-collapse:collapse}.ac-price-table th,.ac-price-table td{border-bottom:1px solid var(--line);padding:9px 12px;text-align:left}.ac-price-table th{width:30%;background:var(--pale)}
.ac-recommendations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:24px}.ac-recommendations>div{padding:18px;border-radius:10px;background:var(--pale)}.ac-recommendations ul{padding-left:1.25em;margin:0}.ac-recommendations li+li{margin-top:5px}
.ac-caution{background:#fff6ed;border-left:4px solid #e7a23d;padding:12px 15px;margin:0 0 24px}
.ac-detail-card__foot{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--line);padding-top:18px}.ac-detail-card__foot small{color:var(--muted)}.ac-detail-card__foot .ac-button{min-width:180px}
.ac-prose{max-width:760px}.ac-prose h2,.ac-prose h3{line-height:1.45;margin-top:2em}.ac-prose p{margin:0 0 1.3em}.ac-prose ul,.ac-prose ol{padding-left:1.5em}.ac-prose img{border-radius:10px}
.ac-post-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.ac-post-card{border:1px solid var(--line);border-radius:12px;padding:20px;background:#fff}.ac-post-card h2,.ac-post-card h3{font-size:1.06rem;margin:0 0 10px;line-height:1.5}.ac-post-card p{font-size:.87rem;color:var(--muted);margin:0}.ac-post-card a{text-decoration:none}.ac-post-card a:hover{text-decoration:underline}
.ac-inline-card{display:flex;align-items:center;gap:18px;background:var(--pale);border:1px solid var(--line);border-radius:14px;padding:18px;margin:24px 0;max-width:760px}.ac-inline-card__logo{width:70px;height:70px;object-fit:contain;border-radius:10px}.ac-inline-card__body{flex:1;min-width:0}.ac-inline-card__body p{margin:3px 0;font-size:.86rem}.ac-inline-card__benefit{color:var(--accent-dark);font-weight:800}
.ac-ad-label{display:inline-block;vertical-align:middle;margin-right:8px;padding:1px 6px;border:1px solid #aabdc2;border-radius:4px;color:var(--muted);font-size:.68rem;font-weight:800}
.ac-card-warning{border-left:4px solid var(--warm);padding:8px 12px;background:#fff6ef}
.ac-content-page{padding-block:60px 90px;min-height:60vh}.ac-content-page h1{font-size:clamp(1.8rem,4vw,2.5rem);line-height:1.4;margin:0 0 24px}.ac-post-date{color:var(--muted);font-size:.85rem}.ac-content-page .ac-post-list{margin-bottom:25px}
.ac-site-footer{background:#102b3a;color:#c5d6db;padding:30px 0}.ac-site-footer__inner{display:flex;justify-content:space-between;gap:20px;align-items:center}.ac-site-footer p{margin:0;font-size:.83rem}.ac-footer-nav a{color:#e0f3f2}
@media(max-width:760px){.ac-container{width:min(100% - 28px,1080px)}.ac-site-header__inner{min-height:62px;flex-wrap:wrap;gap:0;padding-block:9px}.ac-site-nav{width:100%;overflow-x:auto}.ac-site-nav__list{flex-wrap:nowrap;white-space:nowrap;gap:16px}.ac-hero__inner{padding:43px 0 48px}.ac-front-content{padding-block:42px 60px}.ac-filter{padding:17px}.ac-filter fieldset{display:block}.ac-filter legend{float:none;min-width:0;display:block;margin-bottom:7px}.ac-comparison-table,.ac-comparison-table tbody,.ac-comparison-table tr,.ac-comparison-table td{display:block;width:100%}.ac-comparison-table thead{display:none}.ac-comparison-table tr{border-top:1px solid var(--line)}.ac-comparison-table tr:first-child{border-top:0}.ac-comparison-table td{border:0;padding:12px 16px}.ac-app-row__identity{text-align:left;display:grid!important;grid-template-columns:55px 1fr;column-gap:12px;align-items:center}.ac-rank,.ac-rating,.ac-app-row__name,.ac-app-row__benefit{grid-column:2}.ac-app-row__logo{grid-column:1;grid-row:1/5;width:55px;height:55px;margin:0}.ac-app-row__benefit strong{display:inline}.ac-app-row__summary{padding-top:0!important}.ac-app-row__actions{flex-direction:row;padding-top:0!important}.ac-app-row__actions .ac-button{flex:1}.ac-detail-card__header{grid-template-columns:auto 64px 1fr;gap:10px;padding:16px}.ac-detail-card__header img{width:64px;height:64px}.ac-detail-card__header h3{font-size:1.18rem}.ac-detail-card__body{padding:18px}.ac-recommendations,.ac-post-list{grid-template-columns:1fr}.ac-detail-card__foot{align-items:stretch;flex-direction:column}.ac-detail-card__foot .ac-button{width:100%}.ac-inline-card{flex-wrap:wrap}.ac-inline-card .ac-button{width:100%}.ac-site-footer__inner{display:block}.ac-footer-nav{margin-top:12px}}
@media(max-width:480px){.ac-facts{grid-template-columns:1fr}.ac-detail-card__header{grid-template-columns:48px 1fr}.ac-detail-card__header img{width:48px;height:48px;grid-column:1}.ac-detail-card__rank{grid-column:1/-1;width:max-content}.ac-detail-card__header>div{grid-column:2;grid-row:2}.ac-view-switch button{font-size:.82rem}}
@media(max-width:782px){body.admin-bar .ac-site-header{top:46px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
