@charset "UTF-8";

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }


        .header-spocul {
            text-align: center;
            margin-bottom: 30px;
        }
        
        .header-spocul img.cover-image {
            max-width: 100%;
            height: 400px;
            object-fit: cover;
            border-radius: 8px;
            margin-bottom: 20px;
        }
        
        h1 {
            font-size: 2.4rem;
            margin-bottom: 10px;
            color: #333;
            line-height: 1.4;
        }
        
        h2 {
            font-size: 1.8rem;
            color: #333;
            margin: 30px 0 15px;
            padding-bottom: 5px;
            border-bottom: 3px solid #f0f0f0;
        }
        
.bg-gray h2 {
            border-bottom: 3px solid #fff;
}


        h3 {
            font-size: 1.3rem;
            margin: 20px 0 10px;
            color: #444;
        }
        
        .subtitle {
            font-size: 2.0rem;
			font-weight: bold;
            margin-bottom: 25px;
            color: #555;
        }
        
        .content {
            background: #fff;
            padding: 30px;
            border-radius: 8px;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
        }
        
        .date-section {
            background: #f5f5f5;
            padding: 15px;
            border-radius: 5px;
            margin: 20px 0;
            text-align: center;
            font-weight: bold;
        }
        
        a.apply-button {
            display: inline-block;
            background: #E73656;
            color: white;
            padding: 12px 30px;
            border-radius: 50px;
            margin: 20px 0;
            text-align: center;
            font-weight: bold;
            transition: background-color 0.3s;
        }
        
        a.apply-button:hover {
            background: #fff;
			color: #E73656;
			border: #E73656 2px solid;
            text-decoration: none;
        }
        a.apply-button:active {
			color: #E73656;
            text-decoration: none;
        }
        
        
        .button-container {
            text-align: center;
            margin: 30px auto;
        }
        
        .profile-section {
            margin: 25px 0;
            padding: 20px;
            background: #f8f8f8;
            border-radius: 8px;
flex-direction: row-reverse;
        }
        .profile-section .main {
  width: 700px;
			margin:0 0 0 20px;
}
        .profile-section .sub {
			margin:0;
}
        .profile-section h3 {
			margin: 0;
}

.profile-section img.event-image {
	border-radius: 8px;
}
        
        .profile-highlights {
            margin: 15px 0;
        }
        
        .highlight-item {
            font-size: 2.0rem;
            font-weight: bold;
            color: #444;
            margin-bottom: 8px;
        }
        
        .day-info {
            margin: 15px 0 30px;
            padding: 15px;
			background: #fff;
			border-radius: 8px;
        }
.venue-date {
	font-size: 2.4rem;
}
.venue-info {
	font-size: 1.8rem;
}
        .venue {
            margin-bottom: 15px;
            padding-bottom: 10px;
            border-bottom: 1px dotted #ddd;
        }
        
        .program-item {
            margin-bottom: 20px;
        }
        .program-item:not(:last-child){
            border-bottom: 1px dotted #ddd;
        }
        .program-item h4 {
            font-size: 2.4rem;
            color: #ff6b6b;
            margin-bottom: 10px;
        }
        
        .activity-options , .program-details {
            margin: 15px 0;
            padding: 15px;
            background: #f5f5f5;
            border-radius: 8px;
        }
        
        .detail-block {
            margin-bottom: 15px;
        }
        
        .detail-block h5 {
            font-size: 1.8rem;
            margin-bottom: 5px;
            color: #555;
        }
.recruitment-category em {
	color: #ff6b6b ;
	font-style:normal;
} 
.recruitment-category li {
	list-style:disc;
	margin:0 20px;
}
.lunch-info {
            margin: 15px 0;
            padding: 15px;
            background: #f5f5f5;
            border-radius: 8px;
}
.lunch-info h4 {
	margin: 0;
	padding: 0;
	line-height: 150%;
	color: #666;
}
        .form-links {
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            margin: 30px 0;
            text-align: center;
        }
        
        .form-links .apply-button {
            flex: 1;
            min-width: 200px;
            margin: 10px;
            padding: 15px;
            text-align: center;
        }
        

.event-details {
    margin: 20px 0;
    width: 100%;
}

.detail-item {
    display: flex;
    border-bottom: 1px dotted #ddd;
    padding: 12px 0;
    align-items: flex-start;
}

.detail-label {
    width: 120px;
    min-width: 120px;
    font-weight: bold;
    color: #555;
    text-align: right;
    padding-right: 15px;
}

.detail-content {
    flex: 1;
    text-align: left;
}

        /* レスポンシブ対応 */
        @media (max-width: 768px) {

        .header-spocul img.cover-image {
            width: 100%;
            height: auto;
            object-fit: cover;
            border-radius: 8px;
            margin-bottom: 20px;
        }
			
        .highlight-item {
            font-size: 1.8rem;
            font-weight: bold;
            color: #444;
            margin-bottom: 8px;
        }
			
            .content {
                padding: 20px;
            }
            
            .form-links {
                flex-direction: column;
            }
            
            .form-links .apply-button {
                margin: 10px 0;
                width: 100%;
            }
            
    .detail-item {
        flex-direction: column;
    }
    
    .detail-label {
        width: 100%;
        margin-bottom: 5px;
        text-align: left;
        padding-right: 0;
    }
			
        }