1- /*
2- * base.css
3- * 全体的なベーススタイル、デザイントークン、リセット、共通要素
4- */
5-
61/* ==========================================================================
72 1. デザイントークン
83 ========================================================================== */
94: root {
105 /* カラーパレット */
11- --color-bg : # 0d111c ; /* ページ背景(より落ち着いた濃紺) */
12- --color-surface : # 161b22 ; /* ヘッダー、フッター背景など */
13- --color-panel : # 161b22 ; /* カード、ブロック背景 */
6+ --color-bg : # 0d111c ;
7+ --color-surface : # 161b22 ;
8+ --color-panel : # 161b22 ;
149 --color-border : # 30363d ;
1510 --color-border-soft : # 21262d ;
1611
17- --color-text : # e2e8f0 ; /* 明るいテキスト */
18- --color-text-muted : # a0aec0 ; /* 控えめなテキスト */
19- --color-heading : # e2e8f0 ; /* 見出し色 */
12+ --color-text : # e2e8f0 ;
13+ --color-text-muted : # a0aec0 ;
14+ --color-heading : # e2e8f0 ;
2015
21- --color-accent : # 6366f1 ; /* メインアクセント (indigo-500) */
22- --color-accent-dark : # 4f46e5 ; /* アクセントの暗いバージョン */
23- --color-accent-soft : rgba (
24- 99 ,
25- 102 ,
26- 241 ,
27- 0.1
28- ); /* アクセントの透明バージョン */
16+ --color-accent : # 6366f1 ;
17+ --color-accent-dark : # 4f46e5 ;
18+ --color-accent-soft : rgba (99 , 102 , 241 , 0.1 );
19+ --color-accent-rgb :
20+ 99 , 102 , 241 ; /* グローエフェクト用にRGB値を変数化 */
2921
3022 /* シャドウ */
3123 --shadow-sm : 0 1px 2px rgba (0 , 0 , 0 , 0.05 );
3830 --shadow-xl :
3931 0 20px 25px rgba (0 , 0 , 0 , 0.1 ),
4032 0 8px 10px rgba (0 , 0 , 0 , 0.06 );
33+ --shadow-glow :
34+ 0 0 12px rgba (var (--color-accent-rgb ), 0.4 ),
35+ 0 0 24px rgba (var (--color-accent-rgb ), 0.2 );
4136
4237 /* 角丸 */
4338 --radius-sm : 4px ;
4439 --radius-md : 8px ;
45- --radius-lg : 12px ; /* 少し小さめに調整 */
40+ --radius-lg : 12px ;
4641
4742 /* フォント */
4843 --font-body :
4944 "Inter" , system-ui, -apple-system,
5045 BlinkMacSystemFont, "Segoe UI" , "Hiragino Sans" ,
5146 "Noto Sans JP" , sans-serif;
52- --font-heading : var (
53- --font-body
54- ); /* 見出しも同じフォントで統一感を出す */
47+ --font-heading : var (--font-body );
48+
49+ /* トランジション */
50+ --transition-smooth : all 0.25s
51+ cubic-bezier (0.165 , 0.84 , 0.44 , 1 ); /* スムーズなアニメーション */
5552}
5653
5754/* ==========================================================================
5855 2. CSSリセット / ベーススタイル
5956 ========================================================================== */
60-
61- /* 全要素のボックスモデルをborder-boxに設定 */
6257* ,
6358* ::before ,
6459* ::after {
6560 box-sizing : border-box;
6661}
6762
68- /* HTMLとBodyの基本的なリセットと設定 */
6963html {
70- font-size : 16px ; /* 基本フォントサイズ */
71- scroll-behavior : smooth; /* スムーズスクロール */
72- -webkit-text-size-adjust : 100% ; /* iOSのテキストサイズ調整を無効化 */
64+ font-size : 16px ;
65+ scroll-behavior : smooth;
66+ -webkit-text-size-adjust : 100% ;
7367 text-size-adjust : 100% ;
7468}
7569
7670body {
7771 margin : 0 ;
7872 padding : 0 ;
79- overflow-x : hidden; /* 横スクロールの防止 */
73+ overflow-x : hidden;
8074 font-family : var (--font-body );
81- line-height : 1.6 ; /* 行間を少し調整して可読性向上 */
75+ line-height : 1.6 ;
8276 color : var (--color-text );
8377 background :
78+ radial-gradient (
79+ ellipse 80% 50% at 50% -20% ,
80+ rgba (var (--color-accent-rgb ), 0.1 ),
81+ transparent
82+ ),
8483 radial-gradient (
8584 circle at top left,
8685 rgba (99 , 102 , 241 , 0.1 ),
87- /* 新しいアクセントカラーの薄いバージョン */
88- transparent 65%
86+ transparent 50%
8987 ),
9088 radial-gradient (
9189 circle at bottom right,
9290 rgba (56 , 189 , 248 , 0.08 ),
93- /* 青系の薄いグラデーション */ transparent 65 %
91+ transparent 50 %
9492 ),
9593 var (--color-bg );
96- min-height : 100vh ; /* 少なくともビューポートの高さを持つように */
97- display : flex; /* flexboxを使ってフッターを下に固定しやすくする */
94+ min-height : 100vh ;
95+ display : flex;
9896 flex-direction : column;
9997}
10098
101- /* 見出しのリセット */
10299h1 ,
103100h2 ,
104101h3 ,
105102h4 ,
106103h5 ,
107104h6 {
108105 margin-top : 0 ;
109- margin-bottom : 0.5em ; /* 下マージンを追加 */
106+ margin-bottom : 0.5em ;
110107 line-height : 1.2 ;
111108 color : var (--color-heading );
112109 font-family : var (--font-heading );
110+ font-weight : 700 ; /* 見出しの太さを強調 */
111+ letter-spacing : -0.02em ; /* 文字間を少し詰める */
113112}
114113
115- /* 段落のリセット */
116114p {
117115 margin-top : 0 ;
118- margin-bottom : 1em ; /* 下マージンを追加 */
116+ margin-bottom : 1em ;
119117}
120118
121- /* リストのリセット */
122119ul ,
123120ol {
124121 margin-top : 0 ;
125122 margin-bottom : 1em ;
126- padding-left : 1.5em ; /* リストのインデント */
127- list-style : none; /* デフォルトのリストスタイルを削除 */
128- }
129- ul li ::before ,
130- ol li ::before {
131- /* 必要に応じてカスタムのリストスタイル(例: ドットや数字)を追加 */
123+ padding-left : 1.5em ;
124+ list-style : none;
132125}
133126
134- /* リンク */
135127a {
136- color : var (
137- --color-accent
138- ); /* アクセントカラーをリンク色に */
139- text-decoration : none; /* デフォルトの下線を削除 */
140- transition :
141- color 0.2s ease-in-out,
142- text-decoration 0.2s ease-in-out;
128+ color : var (--color-accent );
129+ text-decoration : none;
130+ transition : var (--transition-smooth );
131+ text-shadow : 0 0 8px transparent;
143132}
144133a : hover {
145- color : var (
146- --color-accent-dark
147- ); /* ホバー時に少し濃く */
148- text-decoration : underline; /* ホバー時に下線を表示 */
134+ color : var (--color-accent-dark );
135+ text-decoration : none;
136+ text-shadow : 0 0 8px rgba (var (--color-accent-rgb ), 0.5 ); /* ホバー時にグローエフェクト */
149137}
150138
151- /* 画像 */
152139img {
153140 max-width : 100% ;
154141 height : auto;
155- vertical-align : middle; /* 画像のベースライン調整 */
156- display : block; /* 余分なスペースを削除 */
142+ display : block;
157143}
158144
159- /* フォーム要素 */
160145input ,
161146textarea ,
162147select ,
163148button {
164- font-family : var (
165- --font-body
166- ); /* 全てのフォーム要素に共通フォント */
167- font-size : 1rem ; /* デフォルトのフォントサイズを統一 */
149+ font-family : var (--font-body );
150+ font-size : 1rem ;
168151 line-height : 1.5 ;
169152 color : var (--color-text );
170153}
@@ -180,18 +163,16 @@ button {
180163 3. 共通ユーティリティクラス
181164 ========================================================================== */
182165
183- /* メインコンテナ */
184166.main-container {
185- max-width : 1120px ; /* 少し広げる */
167+ max-width : 1120px ;
186168 margin : 0 auto;
187- padding : 2.5rem 1.25rem ; /* paddingをrem単位で統一 (40px 20px) */
188- flex-grow : 1 ; /* コンテンツが少ないページでフッターを下に固定 */
169+ padding : 2.5rem 1.25rem ;
170+ flex-grow : 1 ;
189171}
190172
191- /* 小さいテキスト */
192173.text-muted {
193174 color : var (--color-text-muted );
194- font-size : 0.9rem ; /* 少し大きく */
175+ font-size : 0.9rem ;
195176}
196177
197178/* ==========================================================================
@@ -200,9 +181,7 @@ button {
200181
201182.reveal-on-scroll {
202183 opacity : 0 ;
203- transform : translateY (
204- 20px
205- ); /* 少しY軸の移動量を増やす */
184+ transform : translateY (20px );
206185 transition :
207186 opacity 0.6s ease-out,
208187 transform 0.6s ease-out;
@@ -212,7 +191,3 @@ button {
212191 opacity : 1 ;
213192 transform : translateY (0 );
214193}
215-
216- /*
217- * その他のスタイルは `layout.css`, `top.css`, `blog.css` などで定義
218- */
0 commit comments