/*
Theme Name: Gr0-C Mangetsu
Theme URI: https://gravity0.jp/
Description: 光のWEBテンプレート「灯台」満月版。Schema10種改善済・診断ツール・AEO・LP統合。Kadence子テーマ。
Author: Team Gravity 0
Author URI: https://gravity0.jp/
Template: kadence
Version: 4.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: gr0-c
*/

:root {
    --gr0-main: #2D7D46;
    --gr0-main-dark: #1e5c32;
    --gr0-main-light: #e8f5ec;
    --gr0-accent: #F97316;
    --gr0-accent-dark: #e05d00;
    --gr0-bg: #FAFAF7;
    --gr0-text: #333333;
    --gr0-text-light: #666666;
    --gr0-gold: #FFD700;
    --gr0-white: #ffffff;
    --gr0-border: #e0e0e0;
    --gr0-shadow: 0 4px 20px rgba(0,0,0,0.08);
    --gr0-shadow-hover: 0 8px 32px rgba(0,0,0,0.15);
    --gr0-radius: 12px;
    --gr0-radius-full: 50px;
    --gr0-transition: all 0.3s ease;
}

body { font-feature-settings: "palt" 1; letter-spacing: 0.04em; -webkit-font-smoothing: antialiased; }

/* FAQ */
.faq-item { background: var(--gr0-white); border-radius: var(--gr0-radius); margin-bottom: 12px; box-shadow: var(--gr0-shadow); overflow: hidden; border: 1px solid var(--gr0-border); }
.faq-question { cursor: pointer; padding: 1.2rem 3rem 1.2rem 1.5rem; margin: 0; font-size: 1.05rem; font-weight: 600; position: relative; transition: var(--gr0-transition); }
.faq-question::before { content: "Q."; color: var(--gr0-main); font-weight: 900; margin-right: 8px; }
.faq-question::after { content: "+"; position: absolute; right: 1.2rem; top: 50%; transform: translateY(-50%); font-size: 1.4rem; color: var(--gr0-main); width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--gr0-main-light); }
.faq-item.active .faq-question::after { content: "−"; background: var(--gr0-main); color: var(--gr0-white); }
.faq-item.active .faq-question { color: var(--gr0-main); background: var(--gr0-main-light); }
.faq-answer { display: none; padding: 0 1.5rem 1.2rem; color: var(--gr0-text-light); font-size: 0.95rem; line-height: 1.9; border-top: 1px solid var(--gr0-border); }
.faq-answer::before { content: "A."; color: var(--gr0-accent); font-weight: 900; margin-right: 6px; }
.faq-item.active .faq-answer { display: block; padding-top: 1.2rem; }

/* 電話バー */
.fixed-phone-bar { display: none; }
@media (max-width: 767px) {
    .fixed-phone-bar { display: block; position: fixed; bottom: 0; left: 0; right: 0; z-index: 9999; background: linear-gradient(135deg, var(--gr0-main) 0%, var(--gr0-main-dark) 100%); box-shadow: 0 -4px 20px rgba(0,0,0,0.2); }
    .fixed-phone-bar a { display: flex; align-items: center; justify-content: center; gap: 8px; color: var(--gr0-white); text-decoration: none; font-size: 1.15rem; font-weight: 800; padding: 14px 20px; }
    body { padding-bottom: 56px !important; }
}

/* 診断ツール */
.gr0c-diagnosis { max-width: 1200px; margin: 0 auto 4rem; padding: 0 1.5rem; }
.gr0c-diag-header { text-align: center; margin-bottom: 2.5rem; }
.gr0c-diag-icon { display: inline-flex; align-items: center; justify-content: center; width: 80px; height: 80px; border-radius: 50%; font-size: 2.5rem; margin-bottom: 1.2rem; }
.gr0c-diag-title { font-size: clamp(1.8rem, 5vw, 2.8rem); font-weight: 900; color: var(--gr0-text); margin-bottom: 0.7rem; }
.gr0c-diag-subtitle { font-size: 1.2rem; color: var(--gr0-text-light); }
.gr0c-diag-questions { background: var(--gr0-white); border-radius: var(--gr0-radius); box-shadow: var(--gr0-shadow); padding: 2.5rem 3rem; margin-bottom: 2.5rem; }
.gr0c-diag-q { padding-bottom: 2rem; margin-bottom: 2rem; border-bottom: 1px solid var(--gr0-border); }
.gr0c-diag-q:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.gr0c-diag-q-text { font-size: 1.35rem; font-weight: 700; margin-bottom: 1.5rem; text-align: center; }
.gr0c-diag-q-buttons { display: flex; gap: 1.5rem; justify-content: center; }
.gr0c-diag-btn { padding: 1rem 4rem; font-size: 1.25rem; font-weight: 700; border: none; border-radius: var(--gr0-radius-full); cursor: pointer; transition: var(--gr0-transition); }
.gr0c-diag-btn:hover { transform: scale(1.05); }
.gr0c-diag-btn-yes { color: var(--gr0-white); box-shadow: 0 4px 15px rgba(0,0,0,0.15); }
.gr0c-diag-btn-no { background: #e5e7eb; color: #374151; }
.gr0c-diag-result { margin-bottom: 2.5rem; animation: gr0c-fadeIn 0.5s ease; }
.gr0c-diag-result-inner { border-radius: var(--gr0-radius); padding: 3rem; text-align: center; }
.gr0c-diag-result-icon { display: inline-flex; align-items: center; justify-content: center; width: 80px; height: 80px; border-radius: 50%; font-size: 2.5rem; color: var(--gr0-white); margin-bottom: 1.2rem; }
.gr0c-diag-result-title { font-size: 1.8rem; font-weight: 900; margin-bottom: 1.2rem; }
.gr0c-diag-result-text { font-size: 1.2rem; color: #374151; line-height: 1.9; }
.gr0c-diag-contents { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: 2.5rem; }
.gr0c-diag-content-card { background: var(--gr0-white); border-radius: var(--gr0-radius); box-shadow: var(--gr0-shadow); padding: 2.5rem 2rem; transition: var(--gr0-transition); }
.gr0c-diag-content-card:hover { transform: translateY(-3px); box-shadow: var(--gr0-shadow-hover); }
.gr0c-diag-content-icon { width: 56px; height: 56px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 1.8rem; margin-bottom: 1.2rem; }
.gr0c-diag-content-title { font-size: 1.3rem; font-weight: 700; margin-bottom: 0.7rem; }
.gr0c-diag-content-text { font-size: 1.05rem; color: var(--gr0-text-light); line-height: 1.8; margin-bottom: 1.2rem; }
.gr0c-diag-content-list { background: #f9fafb; border-radius: 8px; padding: 1.2rem; margin-bottom: 1.2rem; }
.gr0c-diag-content-list h4 { font-size: 1rem; font-weight: 700; margin-bottom: 0.6rem; }
.gr0c-diag-content-list ul { list-style: none; padding: 0; margin: 0; }
.gr0c-diag-content-list li { font-size: 0.95rem; color: var(--gr0-text-light); padding: 4px 0; }
.gr0c-diag-content-cta { display: block; text-align: center; color: var(--gr0-white); font-weight: 700; font-size: 1.1rem; padding: 1rem; border-radius: 10px; text-decoration: none; transition: var(--gr0-transition); }
.gr0c-diag-content-cta:hover { opacity: 0.9; transform: translateY(-1px); color: var(--gr0-white); }
.gr0c-diag-content-card.highlighted { box-shadow: 0 0 0 3px currentColor, var(--gr0-shadow-hover); }
@keyframes gr0c-fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 767px) {
    .gr0c-diag-contents { grid-template-columns: 1fr; }
    .gr0c-diag-btn { padding: 0.7rem 2rem; font-size: 1rem; }
    .gr0c-diag-questions { padding: 1.5rem 1rem; }
}
@media print { .fixed-phone-bar { display: none !important; } }
