|
13 | 13 | position: relative; |
14 | 14 | overflow: hidden; |
15 | 15 | border-radius: var(--radius-lg); |
16 | | - padding: 2.25rem; |
17 | | - border: 1px solid transparent; |
| 16 | + padding: 3rem 2.5rem; |
| 17 | + display: flex; |
| 18 | + flex-direction: column; |
| 19 | + justify-content: center; |
| 20 | + border: 1px solid var(--color-border); |
18 | 21 | background: |
19 | 22 | radial-gradient( |
20 | | - ellipse 80% 50% at 50% -20%, |
21 | | - rgba(var(--color-accent-rgb), 0.1), |
22 | | - transparent |
| 23 | + circle at 80% 20%, |
| 24 | + rgba(var(--color-accent-rgb), 0.15) 0%, |
| 25 | + transparent 60% |
| 26 | + ), |
| 27 | + radial-gradient( |
| 28 | + circle at 0% 100%, |
| 29 | + rgba(var(--color-accent-dark-rgb), 0.1) 0%, |
| 30 | + transparent 50% |
23 | 31 | ), |
24 | 32 | var(--color-panel); |
25 | 33 | box-shadow: var(--shadow-lg); |
|
29 | 37 | .hero-main::after { |
30 | 38 | content: ""; |
31 | 39 | position: absolute; |
32 | | - top: 0; |
33 | | - left: 0; |
34 | | - right: 0; |
35 | | - bottom: 0; |
| 40 | + inset: 0; |
36 | 41 | border-radius: inherit; |
37 | | - border: 1px solid var(--color-border); |
38 | 42 | background-image: |
39 | 43 | radial-gradient( |
40 | 44 | circle at 0% 0%, |
41 | | - rgba(56, 189, 248, 0.3), |
| 45 | + rgba(var(--color-accent), 0.2), |
42 | 46 | transparent 40% |
43 | 47 | ), |
44 | 48 | radial-gradient( |
45 | 49 | circle at 100% 100%, |
46 | | - rgba(var(--color-accent-rgb), 0.3), |
| 50 | + rgba(var(--color-accent-dark), 0.2), |
47 | 51 | transparent 40% |
48 | 52 | ); |
49 | 53 | pointer-events: none; |
| 54 | + z-index: 2; |
50 | 55 | } |
51 | 56 |
|
52 | 57 | /* グリッド + 斜めの動き */ |
|
57 | 62 | background-image: |
58 | 63 | linear-gradient( |
59 | 64 | to right, |
60 | | - rgba(226, 232, 240, 0.08) 1px, |
| 65 | + rgba(255, 255, 255, 0.1) 1px, |
61 | 66 | transparent 1px |
62 | 67 | ), |
63 | 68 | linear-gradient( |
64 | 69 | to bottom, |
65 | | - rgba(226, 232, 240, 0.05) 1px, |
| 70 | + rgba(255, 255, 255, 0.05) 1px, |
66 | 71 | transparent 1px |
67 | 72 | ); |
68 | | - background-size: 1.625rem 1.625rem; |
69 | | - opacity: 0.3; |
70 | | - mix-blend-mode: soft-light; |
| 73 | + background-size: 2rem 2rem; |
| 74 | + opacity: 0.4; |
| 75 | + mix-blend-mode: overlay; |
71 | 76 | transform: translate3d(0, 0, 0) rotate(5deg); |
72 | | - animation: hero-grid-shift 26s linear infinite; |
| 77 | + animation: hero-grid-shift 30s linear infinite; |
73 | 78 | } |
74 | 79 |
|
75 | 80 | .hero-main > * { |
76 | 81 | position: relative; |
77 | 82 | z-index: 1; |
78 | 83 | } |
79 | 84 |
|
| 85 | +/* 背景スライドショー */ |
| 86 | +.hero-slideshow { |
| 87 | + position: absolute; |
| 88 | + inset: 0; |
| 89 | + z-index: -2; |
| 90 | + overflow: hidden; |
| 91 | + border-radius: inherit; |
| 92 | + pointer-events: none; |
| 93 | +} |
| 94 | + |
| 95 | +.hero-bg-overlay { |
| 96 | + position: absolute; |
| 97 | + inset: 0; |
| 98 | + z-index: -1; |
| 99 | + background: rgba(16, 18, 23, 0.8); |
| 100 | + border-radius: inherit; |
| 101 | + pointer-events: none; |
| 102 | + backdrop-filter: blur(2px); |
| 103 | +} |
| 104 | + |
| 105 | +.hero-slide { |
| 106 | + position: absolute; |
| 107 | + inset: 0; |
| 108 | + background-size: cover; |
| 109 | + background-position: center; |
| 110 | + opacity: 0; |
| 111 | + transform: scale(1); |
| 112 | + transition: |
| 113 | + opacity 2s ease-in-out, |
| 114 | + transform 10s linear; |
| 115 | + will-change: opacity, transform; |
| 116 | +} |
| 117 | + |
| 118 | +.hero-slide.active { |
| 119 | + opacity: 1; |
| 120 | + transform: scale(1.1); |
| 121 | +} |
| 122 | + |
80 | 123 | @keyframes hero-grid-shift { |
81 | 124 | 0% { |
82 | 125 | transform: translate3d(0, 0, 0) rotate(5deg); |
|
103 | 146 | display: flex; |
104 | 147 | flex-wrap: wrap; |
105 | 148 | gap: 0.5rem; |
106 | | - margin-bottom: 1.5rem; |
| 149 | + margin-bottom: 0; |
107 | 150 | } |
108 | 151 |
|
109 | 152 | .hero-badge { |
|
115 | 158 | color: var(--color-text-muted); |
116 | 159 | } |
117 | 160 |
|
118 | | -.hero-actions { |
119 | | - margin-top: 1.5rem; |
| 161 | +.hero-social { |
120 | 162 | display: flex; |
121 | | - flex-wrap: wrap; |
122 | | - gap: 0.8rem; |
| 163 | + gap: 1rem; |
| 164 | + margin-top: 2rem; |
| 165 | +} |
| 166 | + |
| 167 | +.hero-social-link { |
| 168 | + display: inline-flex; |
| 169 | + align-items: center; |
| 170 | + justify-content: center; |
| 171 | + width: 2.75rem; |
| 172 | + height: 2.75rem; |
| 173 | + border-radius: 50%; |
| 174 | + background: var(--color-surface); |
| 175 | + border: 1px solid var(--color-border); |
| 176 | + color: var(--color-text-muted); |
| 177 | + transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1); |
| 178 | +} |
| 179 | + |
| 180 | +.hero-social-link:hover { |
| 181 | + color: var(--color-accent); |
| 182 | + border-color: var(--color-accent); |
| 183 | + background: var(--color-panel); |
| 184 | + transform: translateY(-3px) scale(1.05); |
| 185 | + box-shadow: var(--shadow-glow); |
| 186 | +} |
| 187 | + |
| 188 | +.hero-actions { |
| 189 | + display: none; |
123 | 190 | } |
124 | 191 |
|
125 | 192 | /* ========================================================================== |
126 | | - 2. ボタン |
| 193 | + 2. ボタン (Disabled) |
127 | 194 | ========================================================================== */ |
| 195 | +/* |
128 | 196 | .btn { |
129 | 197 | display: inline-flex; |
130 | 198 | align-items: center; |
|
160 | 228 | var(--color-accent-dark) 100% |
161 | 229 | ); |
162 | 230 | } |
| 231 | +*/ |
163 | 232 |
|
164 | 233 | /* ========================================================================== |
165 | 234 | 3. サイドパネル |
|
338 | 407 | .hero-main .hero-subtitle { |
339 | 408 | font-size: 1rem; |
340 | 409 | } |
341 | | - .hero-badges { |
342 | | - margin-bottom: 1rem; |
343 | | - } |
344 | | - .hero-actions { |
345 | | - margin-top: 1rem; |
346 | | - flex-direction: column; |
347 | | - gap: 0.75rem; |
348 | | - } |
349 | | - .btn { |
350 | | - width: 100%; |
351 | | - padding: 0.6rem 1rem; |
352 | | - font-size: 0.95rem; |
353 | | - } |
| 410 | + |
354 | 411 | .hero-side { |
355 | 412 | padding: 1.5rem; |
356 | 413 | } |
|
451 | 508 | transform: translateX(6px); |
452 | 509 | text-decoration: underline; |
453 | 510 | } |
| 511 | + |
| 512 | +/* ========================================================================== |
| 513 | + 7. おすすめブログセクション |
| 514 | + ========================================================================== */ |
| 515 | +.section--recommend { |
| 516 | + margin-top: 3rem; |
| 517 | + margin-bottom: 3rem; |
| 518 | +} |
| 519 | + |
| 520 | +/* ========================================================================== |
| 521 | + 8. 最近の更新(サイドバー)の改善 |
| 522 | + ========================================================================== */ |
| 523 | +.home-latest-item { |
| 524 | + background: var(--color-surface); |
| 525 | + border: 1px solid var(--color-border-soft); |
| 526 | + border-radius: var(--radius-md); |
| 527 | + padding: 1rem; |
| 528 | + transition: all 0.2s ease; |
| 529 | +} |
| 530 | + |
| 531 | +.home-latest-item:hover { |
| 532 | + border-color: var(--color-accent); |
| 533 | + box-shadow: var(--shadow-md); |
| 534 | + transform: translateX(4px); |
| 535 | + background: var(--color-panel); |
| 536 | +} |
| 537 | + |
| 538 | +.home-latest-link:hover { |
| 539 | + transform: none; /* 親のliで動かすので無効化 */ |
| 540 | + color: inherit; |
| 541 | +} |
| 542 | + |
| 543 | +.home-latest-link-title { |
| 544 | + color: var(--color-heading); |
| 545 | + font-weight: 600; |
| 546 | + margin-bottom: 0.3rem; |
| 547 | +} |
| 548 | + |
| 549 | +.home-latest-item:hover .home-latest-link-title { |
| 550 | + color: var(--color-accent); |
| 551 | +} |
0 commit comments