@charset "UTF-8";

body {
    font-family: 'Noto Sans JP', sans-serif;
    color: #4A4A4A;
    background-color: #FDFCF0;
    padding-bottom: 80px; /* 下部固定ボタン用の余白 */
}

h1, h2, h3, .rounded-font {
    font-family: 'Zen Maru Gothic', sans-serif;
}

/* ヒーロー画像の背景設定 */
/* 画像を変更したい場合は、images/hero.jpg を差し替えるか、ここのパスを変更してください */
.hero-bg {
    background: linear-gradient(rgba(255,255,255,0.7), rgba(255,255,255,0.8)), url('../images/hero.jpg');
    background-size: cover;
    background-position: center;
    transition: background-image 1s ease-in-out;
}

/* アコーディオン（Q&A）のスタイル */
details > summary {
    list-style: none;
    cursor: pointer;
}
details > summary::-webkit-details-marker {
    display: none;
}

/* アコーディオンの開閉アニメーション */
details[open] > summary {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

details .space-y-4,
details .animate-fadeIn {
    animation: fadeIn 0.3s ease-in-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* スムーズスクロール */
html {
    scroll-behavior: smooth;
}

/* Fallback for brand colors if Tailwind config isn't loaded */
.bg-brand-main { background-color: #8B5A2B !important; }
.text-brand-main { color: #8B5A2B !important; }
.border-brand-main { border-color: #8B5A2B !important; }
.bg-brand-cta { background-color: #FF8F00 !important; }
.text-brand-cta { color: #FF8F00 !important; }
.border-brand-cta { border-color: #FF8F00 !important; }
.bg-brand-accent { background-color: #7CB342 !important; }
.text-brand-accent { color: #7CB342 !important; }
.bg-brand-light { background-color: #FDFCF0 !important; }
.hover\:bg-orange-600:hover { background-color: #EA580C !important; }