﻿@charset "utf-8";

/* H1 バナー */
.h1-banner {
background: linear-gradient(135deg,#eefcee, #bbdefb);
border-left: 6px solid #4cc04f;
border-radius: 12px;
padding: 18px 20px;
margin-bottom: 25px;
box-shadow: 0 3px 8px rgba(0,0,0,0.12);
text-align: center;
}

/* H1 テキスト */
.h1-banner h1 {
margin: 0;
padding: 0;
font-size: 21px;
font-weight: 600;
color: #1d2088;
letter-spacing: 0.05em;
text-shadow:
1px 1px 3px rgba(0,0,0,0.15),
-1px -1px 2px rgba(255,255,255,0.6);
}

/* H1 のリンク */
.h1-banner h1 a {
text-decoration: none;
color: inherit;
display: inline-block;
padding: 4px 8px;
transition: all 0.25s ease;
}

/* ホバーエフェクト効果 */
.h1-banner h1 a:hover {
color: #0d47a1;
transform: scale(1.03);
}

.year-box {
background: #ffffff;
border: 2px solid #dbdbdb;
border-radius: 18px;
padding: -30px 20px;
margin: 20px auto;
max-width: 900px;
width: calc(100% - 40px);
box-sizing: border-box;
box-shadow: 2px 3px 0 rgba(0,0,0,0.1);
}

/* 年度リスト全体 */
.year-list {
list-style: none;
padding: 0;
margin: 0;
}

/* 年度ブロック */
.year-item {
margin-bottom: 25px;
}

/* 年度の見出し・カード風 */
.year-header {
font-size: 20px;
font-weight: 400;
color: #1d2088;
background: linear-gradient(135deg,#eefcee, #bbdefb);
padding: 10px 15px;
border-left: 6px solid #4cc04f;
border-radius: 8px;
margin-bottom: 12px;
box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

/* イベント一覧 */
.event-list {
list-style: none;
padding-left: 10px;
margin: 0;
}

.event-list li {
margin-bottom: 10px;
}


/* イベントリンク */
/* 基本スタイル（エフェクト） */
.event-list a {
font-size: 16px;
text-decoration: none;
padding: 6px 4px;
display: inline-block;
border-radius: 4px;
transition: all 0.25s ease;
}

/* 未訪問 */
.event-list a:link {
color: #009; /* 青 */
}

/* 訪問済み */
.event-list a:visited {
color: #636363; /* グレー */
}

/* ホバー（エフェクト） */
.event-list a:hover {
background: #dff3e3;
color: #00796b;
padding-left: 10px;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* 訪問済み＋ホバー（色だけ補正） */
.event-list a:visited:hover {
color: #00796b;
}


/* 固定TOPボタン */
div.tothetopfixed {
position: fixed;
right: 15px;
bottom: 20px;
z-index: 1500;
}

div.tothetopfixed {
position: fixed;
right: 15px;
bottom: 20px;
z-index: 1500;
}

/* 真円ボタン */
div.tothetopfixed a {
display: flex;                 /* 中央揃えに最適 */
justify-content: center;
align-items: center;

width: 60px;                   /*  真円の直径 */
height: 60px;                  /*  真円の直径 */
border-radius: 50%;            /*  真円にする */

background: linear-gradient(135deg, #6bc95f, #4caf50);
color: #ffffff;
font-size: 0.85em;
font-weight: 600;
text-decoration: none;

box-shadow: 0 4px 10px rgba(0,0,0,0.25);
transition: all 0.25s ease;
position: relative;
overflow: hidden;
}

/* ホバー時の光の演出 */
div.tothetopfixed a:hover {
background: linear-gradient(135deg, #7eea6f, #43a047);
transform: translateY(-2px);
box-shadow: 0 6px 14px rgba(0,0,0,0.3);
}

/* 光のスライド */
div.tothetopfixed a::after {
content: "";
position: absolute;
top: 0;
left: -50%;
width: 200%;
height: 100%;
background: linear-gradient(
120deg,
rgba(255,255,255,0) 0%,
rgba(255,255,255,0.4) 50%,
rgba(255,255,255,0) 100%
);
transform: translateX(-100%);
transition: transform 0.6s ease;
}

div.tothetopfixed a:hover::after {
transform: translateX(100%);
}

