﻿/*背景*/
@keyframes bg {
  0%, 100% { background-color: #1e90ff; }
  25% { background-color: #39d24a; }
  50% { background-color: #ffe244; }
  75% { background-color: #ff36a3; }
}

body {
  height: 100vh;
  overflow: auto;
  background: 
    radial-gradient(circle at bottom, #fff, transparent 80%),    
    linear-gradient(to top, dodgerblue 0%, transparent 70%),    
    linear-gradient(to bottom, transparent, rgba(255, 255, 255, 0.4) 70%),
    #1e90ff;
  animation: bg 30s infinite;
}

/*背景ここまで*/


:root {
    --primary-color: #007bff;
    --text-color: #333;
    --bg-color: #f8f9fa;
    --timeline-color: #007bff;
    --timeline-bg-color: #d3d3d3;
}

body, html {
    margin: 0;
    padding: 0;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    color: var(--text-color);
    background-color: var(--bg-color);
}

.container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    padding: 20px;
}

.profile-photo {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    object-fit: cover;
    margin: 0 auto 10px;
}

h1, h2 {
    text-align: center;
    color: var(--primary-color);
}

.interest-item, .food-item, .game-item, .event {
    transition: transform .2s;
}

.interest-item img{
	width:25%;
}

.interest-item:hover, .food-item:hover, .game-item:hover, .event:hover {
    transform: scale(1.05);
}

.timeline {
    display: flex;
    flex-direction: column;
    position: relative;
    margin-left: 20px;
    padding: 20px;
}

.timeline::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background-color: var(--timeline-bg-color);
}

.event {
    position: relative;
    margin-bottom: 20px;
    padding-left: 25px;
}

.event::before {
    content: '';
    position: absolute;
    left: -10px;
    top: 5px;
    height: 15px;
    width: 15px;
    background-color: var(--timeline-color);
    border-radius: 50%;
}

.profile, .interests, .foods, .games, .biography {
    background-color:white;
    text-align:center;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(10%, 1fr));
    gap: 5px;
    padding: 2px;

}

@media screen and (max-width: 480px) {
    .container {
        grid-template-columns: 1fr;
    }
}
