// src/styles/GlobalStyles.js
import { createGlobalStyle } from 'styled-components';
const GlobalStyles = createGlobalStyle`
:root {
--primary-color: #1e8e3e;
--secondary-color: #34a853;
--accent-color: #fbbc05;
--background-color: #f8f9fa;
--text-color: #333333;
--text-light: #666666;
--white: #ffffff;
--error-color: #d93025;
--success-color: #1e8e3e;
--border-color: #dadce0;
--border-radius: 8px;
--box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
--font-size-large: 24px;
--font-size-medium: 18px;
--font-size-normal: 16px;
--font-size-small: 14px;
}
* {
box-sizing: border-box;
margin: 0;
padding: 0;
font-family: 'Roboto', 'Noto Sans JP', sans-serif;
}
body {
background-color: var(--background-color);
color: var(--text-color);
font-size: var(--font-size-normal);
line-height: 1.6;
}
h1, h2, h3, h4, h5, h6 {
margin-bottom: 16px;
font-weight: 700;
}
h1 {
font-size: 32px;
}
h2 {
font-size: 28px;
}
h3 {
font-size: 24px;
}
p {
margin-bottom: 16px;
}
button, .button {
cursor: pointer;
font-size: var(--font-size-medium);
padding: 12px 24px;
border-radius: var(--border-radius);
border: none;
background-color: var(--primary-color);
color: var(--white);
font-weight: 700;
transition: background-color 0.3s, transform 0.3s;
box-shadow: var(--box-shadow);
min-width: 150px;
text-align: center;
margin: 8px 0;
&:hover {
background-color: var(--secondary-color);
transform: translateY(-2px);
}
&:disabled {
background-color: var(--border-color);
cursor: not-allowed;
}
}
input, select, textarea {
width: 100%;
padding: 12px 16px;
font-size: var(--font-size-medium);
border: 2px solid var(--border-color);
border-radius: var(--border-radius);
margin-bottom: 16px;
background-color: var(--white);
&:focus {
outline: none;
border-color: var(--primary-color);
}
}
label {
display: block;
font-size: var(--font-size-medium);
font-weight: 700;
margin-bottom: 8px;
}
.container {
max-width: 1200px;
margin: 0 auto;
padding: 24px;
}
.card {
background-color: var(--white);
border-radius: var(--border-radius);
box-shadow: var(--box-shadow);
padding: 24px;
margin-bottom: 24px;
}
.error {
color: var(--error-color);
margin-bottom: 16px;
}
.success {
color: var(--success-color);
margin-bottom: 16px;
}
/* 高齢者向けUI調整 */
@media (max-width: 768px) {
button, .button {
width: 100%;
padding: 16px 24px;
font-size: 20px;
}
input, select, textarea {
padding: 16px;
font-size: 18px;
}
label {
font-size: 20px;
}
body {
font-size: 18px;
}
h1 {
font-size: 28px;
}
h2 {
font-size: 24px;
}
}
`;
export default GlobalStyles;