Skip to content

Commit 77b6de6

Browse files
committed
Merge branch 'develop'
2 parents 9450b19 + 30959e9 commit 77b6de6

31 files changed

Lines changed: 1598 additions & 74 deletions

WebSite/.gitignore

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Node.js
2+
node_modules/
3+
npm-debug.log
4+
5+
# Mac
6+
.DS_Store
7+
8+
# Windows
9+
Thumbs.db
10+
11+
# Tools / Secrets
12+
tools/service_account.json
13+
tools/service-account.json
14+
.env
15+
16+
# Editor
17+
.vscode/
18+
.idea/
19+
*.swp

WebSite/assets/css/layout.css

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -454,3 +454,80 @@ body.no-scroll .site-header {
454454
z-index: -1;
455455
pointer-events: none;
456456
}
457+
458+
/* ==========================================================================
459+
7. おすすめ記事セクション (共通)
460+
========================================================================== */
461+
.section--recommend {
462+
margin-top: 4rem;
463+
}
464+
465+
.recommend-grid {
466+
display: grid;
467+
grid-template-columns: repeat(
468+
auto-fit,
469+
minmax(280px, 1fr)
470+
);
471+
gap: 1.5rem;
472+
margin-top: 1.5rem;
473+
}
474+
475+
.card--recommend {
476+
padding: 0;
477+
display: flex;
478+
flex-direction: column;
479+
height: 100%;
480+
text-decoration: none;
481+
color: var(--color-text);
482+
}
483+
484+
.card--recommend__thumb {
485+
width: 100%;
486+
height: 160px;
487+
object-fit: cover;
488+
background-color: var(--color-surface);
489+
border-bottom: 1px solid var(--color-border-soft);
490+
}
491+
492+
.card--recommend__content {
493+
padding: 1.25rem;
494+
display: flex;
495+
flex-direction: column;
496+
flex-grow: 1;
497+
}
498+
499+
.card--recommend__title {
500+
margin: 0 0 0.5rem;
501+
font-size: 1.1rem;
502+
font-weight: 700;
503+
color: var(--color-heading);
504+
line-height: 1.4;
505+
}
506+
507+
.card--recommend__desc {
508+
font-size: 0.9rem;
509+
color: var(--color-text-muted);
510+
margin-bottom: 1rem;
511+
flex-grow: 1;
512+
display: -webkit-box;
513+
-webkit-line-clamp: 3;
514+
-webkit-box-orient: vertical;
515+
overflow: hidden;
516+
}
517+
518+
.card--recommend__meta {
519+
font-size: 0.8rem;
520+
color: var(--color-text-muted);
521+
display: flex;
522+
flex-wrap: wrap;
523+
gap: 0.5rem;
524+
align-items: center;
525+
}
526+
527+
.card--recommend__tag {
528+
background: var(--color-surface);
529+
border: 1px solid var(--color-border);
530+
border-radius: 4px;
531+
padding: 0.1rem 0.4rem;
532+
font-size: 0.75rem;
533+
}

WebSite/assets/css/top.css

Lines changed: 135 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,21 @@
1313
position: relative;
1414
overflow: hidden;
1515
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);
1821
background:
1922
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%
2331
),
2432
var(--color-panel);
2533
box-shadow: var(--shadow-lg);
@@ -29,24 +37,21 @@
2937
.hero-main::after {
3038
content: "";
3139
position: absolute;
32-
top: 0;
33-
left: 0;
34-
right: 0;
35-
bottom: 0;
40+
inset: 0;
3641
border-radius: inherit;
37-
border: 1px solid var(--color-border);
3842
background-image:
3943
radial-gradient(
4044
circle at 0% 0%,
41-
rgba(56, 189, 248, 0.3),
45+
rgba(var(--color-accent), 0.2),
4246
transparent 40%
4347
),
4448
radial-gradient(
4549
circle at 100% 100%,
46-
rgba(var(--color-accent-rgb), 0.3),
50+
rgba(var(--color-accent-dark), 0.2),
4751
transparent 40%
4852
);
4953
pointer-events: none;
54+
z-index: 2;
5055
}
5156

5257
/* グリッド + 斜めの動き */
@@ -57,26 +62,64 @@
5762
background-image:
5863
linear-gradient(
5964
to right,
60-
rgba(226, 232, 240, 0.08) 1px,
65+
rgba(255, 255, 255, 0.1) 1px,
6166
transparent 1px
6267
),
6368
linear-gradient(
6469
to bottom,
65-
rgba(226, 232, 240, 0.05) 1px,
70+
rgba(255, 255, 255, 0.05) 1px,
6671
transparent 1px
6772
);
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;
7176
transform: translate3d(0, 0, 0) rotate(5deg);
72-
animation: hero-grid-shift 26s linear infinite;
77+
animation: hero-grid-shift 30s linear infinite;
7378
}
7479

7580
.hero-main > * {
7681
position: relative;
7782
z-index: 1;
7883
}
7984

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+
80123
@keyframes hero-grid-shift {
81124
0% {
82125
transform: translate3d(0, 0, 0) rotate(5deg);
@@ -103,7 +146,7 @@
103146
display: flex;
104147
flex-wrap: wrap;
105148
gap: 0.5rem;
106-
margin-bottom: 1.5rem;
149+
margin-bottom: 0;
107150
}
108151

109152
.hero-badge {
@@ -115,16 +158,41 @@
115158
color: var(--color-text-muted);
116159
}
117160

118-
.hero-actions {
119-
margin-top: 1.5rem;
161+
.hero-social {
120162
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;
123190
}
124191

125192
/* ==========================================================================
126-
2. ボタン
193+
2. ボタン (Disabled)
127194
========================================================================== */
195+
/*
128196
.btn {
129197
display: inline-flex;
130198
align-items: center;
@@ -160,6 +228,7 @@
160228
var(--color-accent-dark) 100%
161229
);
162230
}
231+
*/
163232

164233
/* ==========================================================================
165234
3. サイドパネル
@@ -338,19 +407,7 @@
338407
.hero-main .hero-subtitle {
339408
font-size: 1rem;
340409
}
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+
354411
.hero-side {
355412
padding: 1.5rem;
356413
}
@@ -451,3 +508,44 @@
451508
transform: translateX(6px);
452509
text-decoration: underline;
453510
}
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

Comments
 (0)