@charset "UTF-8";
/* CSS Document */
  :root {
            --accent-color: #c5a059;
            --text-main: #333;
            --text-sub: #888;
            --bg-color: #fff;
            --line-color: #eee;
        }

        body {
            margin: 0;
            padding: 0;
            font-family: 'Noto Sans JP', sans-serif;
            color: var(--text-main);
            background-color: var(--bg-color);
            line-height: 1.8;
            overflow-x: hidden;
        }

        /* --- 変更点ここから --- */
        .hero {
            height: 60vh; /* 少し高さを出しました */
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            text-align: center;
            
            /* 背景画像の設定 */
            /* linear-gradientは画像の上に重ねる暗いフィルターです（rgbaの最後の数字0.5で濃さを調整） */
            background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url('https://www.c-feel.co.jp/img/flow_img/img_pink.jpg');
            background-size: cover; /* 領域いっぱいに広げる */
            background-position: center; /* 中央寄せ */
            color: #fff; /* 文字色を白に変更 */
        }

        .hero h1 {
            font-family: 'Cormorant Garamond', serif;
            font-size: clamp(3rem, 8vw, 6rem);
            font-weight: 300;
            letter-spacing: 0.1em;
            margin: 0;
            font-style: italic;
            color: #fff; /* 白文字を明示 */
            text-shadow: 0 2px 10px rgba(0,0,0,0.3); /* ほんのり影をつけて読みやすく */
        }

        .hero p {
            font-size: 0.9rem;
            letter-spacing: 0.4em;
            color: rgba(255, 255, 255, 0.8); /* 少し透明度のある白 */
            margin-top: 15px;
            text-transform: uppercase;
        }
        /* --- 変更点ここまで --- */

        .flow-container {
            max-width: 1100px;
            margin: 100px auto 150px; /* 上の余白を調整 */
            position: relative;
            padding: 0 20px;
        }

        .flow-container::before {
            content: '';
            position: absolute;
            left: 50%;
            top: 0;
            bottom: 0;
            width: 1px;
            background-color: var(--line-color);
            transform: translateX(-50%);
        }

        .flow-item {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 180px;
            position: relative;
            width: 100%;
            opacity: 0;
            transform: translateY(60px);
            transition: all 1.2s cubic-bezier(0.22, 1, 0.36, 1);
        }

        .flow-item.is-visible {
            opacity: 1;
            transform: translateY(0);
        }

        .flow-content {
            width: 44%;
        }

        .flow-number {
            position: absolute;
            left: 50%;
            transform: translateX(-50%);
            background: #fff;
            font-family: 'Cormorant Garamond', serif;
            font-size: 1.1rem;
            color: var(--accent-color);
            border: 1px solid var(--accent-color);
            width: 44px;
            height: 44px;
            display: flex;
            justify-content: center;
            align-items: center;
            border-radius: 50%;
            z-index: 2;
        }

        .flow-item:nth-child(even) {
            flex-direction: row-reverse;
        }

        .en-title {
            font-family: 'Cormorant Garamond', serif;
            font-size: 0.9rem;
            letter-spacing: 0.25em;
            color: var(--accent-color);
            display: block;
            margin-bottom: 12px;
            font-weight: 600;
        }

        .flow-content h3 {
            font-size: 1.6rem;
            margin: 0 0 24px 0;
            font-weight: 500;
            letter-spacing: 0.05em;
        }

        .flow-content p {
            font-size: 0.9rem;
            color: #555;
            text-align: justify;
            margin: 0;
        }

        .flow-image {
            width: 44%;
            height: 300px;
            overflow: hidden;
            box-shadow: 0 20px 40px rgba(0,0,0,0.05);
        }

        .flow-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 1.5s ease;
        }

        .flow-item.is-visible .flow-image img {
            transform: scale(1.05);
        }

        @media (max-width: 800px) {
            .hero { height: 50vh; } /* スマホでの高さ調整 */
            .flow-container::before { left: 20px; }
            .flow-number { left: 20px; transform: none; width: 36px; height: 36px; font-size: 0.9rem; }
            .flow-item { flex-direction: column !important; align-items: flex-start; margin-bottom: 100px; }
            .flow-content, .flow-image { width: 100%; padding-left: 50px; box-sizing: border-box; }
            .flow-image { margin-top: 30px; height: 220px; }
        }