/* カスタムスタイル */
body {
    font-family: 'Inter', 'Noto Sans JP', sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.hero-bg {
    background: linear-gradient(rgba(10, 30, 60, 0.6), rgba(10, 30, 60, 0.6)), url('../assets/images/hero-main.jpeg') no-repeat center center;
    background-size: cover;
}

.cta-button {
    transition: all 0.3s ease;
}

.cta-button:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.15);
}

.section-title {
    font-weight: 700;
    color: #1f2937; /* text-gray-800 */
}

.section-subtitle {
    color: #4b5563; /* text-gray-600 */
}

/* ヒーローセクションのh1行間調整 */
.hero-title {
    line-height: 1.8 !important;
    letter-spacing: 0.02em;
}

@media (min-width: 768px) {
    .hero-title {
        line-height: 2.2 !important;
        letter-spacing: 0.03em;
    }
}

.story-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1);
}

/* --- 合格体験談 手動スクロール --- */
.scrolling-wrapper {
    display: flex;
    min-width: 1200px;
    width: max-content;
    overflow-x: auto;
    scroll-behavior: smooth;
}

/* スクロールボタンの視認性向上 */
.scroll-container {
    position: relative;
}

.scroll-container button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 50 !important;
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(0, 0, 0, 0.1);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    cursor: pointer !important;
    pointer-events: auto !important;
    user-select: none;
}

.scroll-container button:hover {
    background: rgba(255, 255, 255, 1) !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}

.scroll-container button:disabled {
    opacity: 1;
    cursor: not-allowed;
}

.scroll-container button:not(:disabled) {
    cursor: pointer !important;
}

.story-card {
    width: 320px; /* カードの幅を固定 */
    margin: 0 15px; /* カード間のマージン */
    flex-shrink: 0;
}

.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.8s ease-in-out;
}

.accordion-content.open {
    max-height: 1000px; /* 十分な高さを設定 */
}

/* satori__creative_containerの自動高さ調整（装飾や特殊挙動のみ残す） */
#satori__creative_container iframe {
    min-width: 300px;
    min-height: 200px;
    width: 100%;
    height: auto;
} 