Changed around line 1
- --primary-color: #2c3e50;
- --accent-color: #3498db;
- --text-color: #2c3e50;
- --background-color: #ffffff;
- --transition: all 0.3s ease;
+ --primary-color: #000000;
+ --secondary-color: #ffffff;
+ --accent-gray: #d1d1d1;
+ --font-jp: 'Noto Serif JP', serif;
+ --font-sans: 'Noto Sans JP', sans-serif;
Changed around line 13
- font-family: 'Inter', system-ui, -apple-system, sans-serif;
- line-height: 1.6;
- color: var(--text-color);
- background-color: var(--background-color);
+ font-family: var(--font-sans);
+ line-height: 1.8;
+ color: var(--primary-color);
+ background-color: var(--secondary-color);
+ letter-spacing: 0.03em;
Changed around line 25: body {
- z-index: 1000;
- box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1);
- padding: 1rem 5%;
- max-width: 1200px;
+ padding: 1.5rem 5%;
+ max-width: 1400px;
- font-size: 1.5rem;
- font-weight: 700;
+ font-family: var(--font-jp);
+ font-size: 1.8rem;
+ font-weight: 400;
+ writing-mode: vertical-rl;
+ text-orientation: upright;
+ height: 60px;
- gap: 2rem;
+ gap: 3rem;
- color: var(--text-color);
- font-weight: 500;
- transition: var(--transition);
+ color: var(--primary-color);
+ font-weight: 300;
+ font-size: 0.9rem;
+ letter-spacing: 0.1em;
+ text-transform: uppercase;
+ position: relative;
- .nav-links a:hover {
- color: var(--accent-color);
+ .nav-links a::after {
+ content: '';
+ position: absolute;
+ width: 0;
+ height: 1px;
+ bottom: -4px;
+ left: 0;
+ background-color: var(--primary-color);
+ transition: width 0.3s ease;
- .menu-toggle {
- display: none;
+ .nav-links a:hover::after {
+ width: 100%;
Changed around line 83: nav {
- text-align: center;
- background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
+ text-align: left;
+ background: var(--secondary-color);
+ padding: 0 5%;
- padding: 2rem;
- animation: fadeIn 1s ease-out;
+ max-width: 1400px;
+ width: 100%;
+ padding: 0;
+ position: relative;
- font-size: 3.5rem;
- margin-bottom: 1rem;
- color: var(--primary-color);
+ font-family: var(--font-jp);
+ font-size: 4.5rem;
+ font-weight: 300;
+ margin-bottom: 2rem;
+ line-height: 1.2;
- font-size: 1.5rem;
- color: var(--accent-color);
+ font-size: 1rem;
+ color: var(--primary-color);
+ font-weight: 300;
+ letter-spacing: 0.15em;
- font-size: 1.2rem;
- color: var(--text-color);
- opacity: 0.8;
+ font-size: 0.9rem;
+ color: var(--primary-color);
+ opacity: 0.7;
+ max-width: 600px;
+ font-weight: 300;
- padding: 5rem 5%;
- max-width: 1200px;
+ padding: 8rem 5%;
+ max-width: 1400px;
- font-size: 2.5rem;
- margin-bottom: 2rem;
- text-align: center;
+ font-family: var(--font-jp);
+ font-size: 2rem;
+ font-weight: 300;
+ margin-bottom: 4rem;
+ position: relative;
+ display: inline-block;
+ }
+
+ h2::after {
+ content: '';
+ position: absolute;
+ width: 40px;
+ height: 1px;
+ background-color: var(--primary-color);
+ bottom: -20px;
+ left: 0;
- gap: 2rem;
- align-items: center;
+ gap: 4rem;
+ align-items: start;
- aspect-ratio: 1;
- background: linear-gradient(45deg, var(--accent-color), var(--primary-color));
- border-radius: 50%;
+ aspect-ratio: 3/4;
+ background: #f5f5f5;
+ position: relative;
+ }
+
+ .profile-image::after {
+ content: '';
+ position: absolute;
+ top: 20px;
+ left: 20px;
+ right: -20px;
+ bottom: -20px;
+ border: 1px solid var(--primary-color);
+ z-index: -1;
- grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
- gap: 2rem;
+ grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
+ gap: 3rem;
- background: white;
- border-radius: 10px;
- box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
- transition: var(--transition);
+ background: transparent;
+ border: 1px solid var(--primary-color);
+ transition: transform 0.3s ease;
- transform: translateY(-5px);
+ transform: translateY(-10px);
- .pub-item {
- margin-bottom: 2rem;
- padding: 1.5rem;
- border-left: 4px solid var(--accent-color);
- background: rgba(52, 152, 219, 0.05);
+ .research-item h3 {
+ font-family: var(--font-jp);
+ font-weight: 300;
+ margin-bottom: 1rem;
+ font-size: 1.2rem;
- footer {
- text-align: center;
+ .pub-item {
+ margin-bottom: 3rem;
- background: var(--primary-color);
- color: white;
+ border-left: 1px solid var(--primary-color);
+ transition: padding 0.3s ease;
- @keyframes fadeIn {
- from { opacity: 0; transform: translateY(20px); }
- to { opacity: 1; transform: translateY(0); }
+ .pub-item:hover {
+ padding-left: 2.5rem;
- @media (max-width: 768px) {
- .menu-toggle {
- display: block;
- background: none;
- border: none;
- cursor: pointer;
- }
+ .pub-item h3 {
+ font-family: var(--font-jp);
+ font-weight: 300;
+ margin-bottom: 0.5rem;
+ font-size: 1.2rem;
+ }
- .menu-toggle span {
- display: block;
- width: 25px;
- height: 3px;
- background: var(--primary-color);
- margin: 5px 0;
- transition: var(--transition);
- }
+ footer {
+ text-align: center;
+ padding: 4rem 2rem;
+ background: var(--primary-color);
+ color: var(--secondary-color);
+ font-weight: 300;
+ letter-spacing: 0.1em;
+ font-size: 0.9rem;
+ }
- .nav-links {
- display: none;
- position: absolute;
- top: 100%;
- left: 0;
- width: 100%;
- background: white;
- padding: 1rem;
- flex-direction: column;
- text-align: center;
+ @media (max-width: 768px) {
+ .logo {
+ writing-mode: horizontal-tb;
+ height: auto;
- .nav-links.active {
- display: flex;
+ .hero h1 {
+ font-size: 3rem;
- .hero h1 {
- font-size: 2.5rem;
+ .nav-links {
+ gap: 2rem;