body {
    font-family: Arial, sans-serif;
    background: linear-gradient(to right, #cceeff, #e6f7ff); /* 明るめの色合いのグラデーション */
    color: #333;
    margin: 0;
    padding: 0px;
    position: relative; /* オーバーレイのために位置を設定 */
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px 20px 20px 20px;
}

header {
    background-color: #e6f7ff; /* 軽い寒冷色の背景色 */
    padding: 20px;
    border-bottom: 1px solid #b3d9ff; /* ヘッダーの下部に薄いボーダーを追加 */
}

.header-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.site-logo {
    max-height: 60px; /* 画像の高さを設定 */
}

.header-text {
    text-align: right;
}

.header-text h1, .header-text h2, .header-text h3 {
    margin: 0;
    padding: 0;
}

.header-text h1 {
    font-size: 1.5em;
}

.header-text h2 {
    font-size: 1.2em;
}

.header-text h3 {
    font-size: 1em;
}

h5 {
    text-align: center;
    margin-top: 40px;
    font-size: 28px; /* フォントサイズを大きく */
    color: #333;
    font-weight: bold; /* タイトルを太字に */
    text-transform: uppercase; /* タイトルを大文字に */
    letter-spacing: 1px; /* 文字間隔を広げる */
    border-bottom: 3px solid #0056b3; /* タイトル下にボーダーを追加 */
    padding-bottom: 10px;
    margin-bottom: 40px;
}

footer {
    background-color: #f1f1f1; /* フッターの背景色 */
    padding: 20px 0;
    text-align: center;
    border-top: 2px solid #ddd; /* ボーダーでつなぎ目を作る */
    box-shadow: 0 -3px 10px rgba(0, 0, 0, 0.1); /* 上に影を追加 */
}

footer p {
    margin: 0;
    font-size: 14px;
    color: #666;
}


nav {
    background-color: #cceeff; /* 軽い青色の背景 */
    padding: 10px 0;
}

nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: space-around; /* 等間隔で並べる */
    align-items: center;
    height: 100%;
}

nav ul li {
    flex: 1; /* 等間隔に広げる */
    text-align: center;
}

nav ul li a {
    display: block;
    text-decoration: none;
    color: #003d80; /* リンクの色（濃い青） */
    font-weight: bold;
    padding: 10px;
    transition: background-color 0.3s, color 0.3s;
}

nav ul li a:hover {
    background-color: #b3e0ff; /* ホバー時の背景色 */
    color: #002d72; /* ホバー時のリンク色 */
}

.top-image {
    max-width: 1240px;
    margin: 0 auto;
}

.top-image img {
    width: 100%; /* 画像の幅をコンテナに合わせる */
    height: auto;
    display: block; /* 余計な隙間を無くすためにブロック要素にする */
}

main {
    padding: 10px 10px 100px 20px;
    background: rgba(255, 255, 255, 0.9);
    text-align: center;
}

.news-title {
    font-size: 2em;
    color: #003d80; /* 明るい青色に設定 */
    background-color: #e6f7ff; /* 明るい青色の背景 */
    padding: 10px;
    text-align: center;
    border-radius: 8px;
    margin-bottom: 20px;
}

/* FeSi2 の枠の色を変更 */
.overview-box:nth-child(1) {
    border: 2px solid #FF5733; /* オレンジ色 */
    padding: 10px;
    margin: 10px;
}

/* Ru2Si3 の枠の色を変更 */
.overview-box:nth-child(2) {
    border: 2px solid #33FF57; /* 緑色 */
    padding: 10px;
    margin: 10px;
}

/* Bi2Se3 の枠の色を変更 */
.overview-box:nth-child(3) {
    border: 2px solid #3357FF; /* 青色 */
    padding: 10px;
    margin: 10px;
}

/* AlN の枠の色を変更 */
.overview-box:nth-child(4) {
    border: 2px solid #FF33A1; /* ピンク色 */
    padding: 10px;
    margin: 10px;
}

.research-overview {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px; /* 各ボックス間のスペース */
    margin: 20px 0;
}

.research-item {
    display: block;
    flex-direction: column;
    align-items: center;
    padding: 20px;
    background-color: #ffffff;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    border: 3px solid #007bff; /* 枠の縁取りを追加 */
    margin: 20px 0;
}

.research-item img {
    width: 100%;
    height: auto;
    max-width: 600px;
    margin-bottom: 10px;
}

.research-item:hover {
    transform: translateY(-5px);
}

.research-description {
    font-size: 14px;
    color: #333;
    margin-top: 10px;
}


.overview-box {
    background-color: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 15px;
    text-align: center;
    width: 200px; /* 固定幅 */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
}

.overview-box:hover {
    transform: scale(1.05); /* ホバー時に拡大 */
}

.overview-box img {
    width: 100%; /* 画像をボックスに合わせて拡大 */
    height: auto;
    border-radius: 8px;
    margin-bottom: 10px;
}


.iframe-container {
    margin-top: 20px;
    text-align: center;
}

.iframe-container iframe {
    border: 2px solid #007bd1; /* フレームの枠線を設定 */
    border-radius: 8px; /* 枠線の角を丸める */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* シャドウを追加 */
    max-width: 100%; /* iframeが親要素の幅に収まるようにする */
    height: 400px; /* 高さを固定 */
    box-sizing: border-box; /* パディングやボーダーを含めた幅計算 */
}

/*member*/
table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
}

table, th, td {
    border: 1px solid #90caf9;
}

th, td {
    padding: 10px;
    text-align: center;
}

/*research*/
.research {
    display: block;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px; /* 各ボックス間のスペース */
    margin: 20px 0;
}

.research-box {
    display: block;
    flex-direction: column;
    align-items: center;
    padding: 20px;
    background-color: #ffffff;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    border: 3px solid #007bff; /* 枠の縁取りを追加 */
    margin: 20px 0;
}

/*equipment*/
.equipment-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px;
}

.equipment-item {
    flex: 1 1 calc(50% - 20px);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.equipment-item p {
    font-size: 16px; /* フォントサイズを少し大きく */
    color: #333; /* テキストの色を濃く */
    font-weight: bold; /* テキストを太字に */
}

.equipment-image {
    width: 100%;
    height: auto;
    max-width: 400px;
    border: 1px solid #ccc;
    padding: 10px;
    background-color: #f9f9f9;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
}

/* セクションの背景色を交互に設定 */
.equipment-section:nth-child(odd) {
    background-color: #2dcde4; /* 成膜装置セクション */
    padding: 40px 0;
}

.equipment-section:nth-child(even) {
    background-color: #92F3A4; /* 評価装置セクション */
    padding: 40px 0;
}


/* セクション間の区切り線 */
.equipment-section + .equipment-section {
    border-top: 2px solid #ddd;
    margin-top: 40px;
    padding-top: 40px;
}

/*album*/
.year-section {
    margin-bottom: 40px;
    border-left: 4px solid #1E90FF;
    padding-left: 20px;
}

.year-section h2 {
    margin-bottom: 20px;
    color: #1E90FF;
}

.activity {
    background-color: #f9f9f9; /* 説明文全体の背景色を淡い灰色に */
    padding: 15px; /* 内側の余白を追加してテキストが詰まらないように */
    margin-bottom: 20px; /* 各活動の間に余白を追加 */
    border-radius: 8px; /* 角を少し丸くして柔らかい印象に */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* 影を追加して立体感を演出 */
}

.activity-date {
    border-top: 2px solid #007bff; /* 上部に線を追加 */
    border-bottom: 2px solid #007bff; /* 下部に線を追加 */
    padding: 10px 0; /* 上下に余白を追加して見やすく */
    margin-bottom: 15px; /* 下部に余白を追加 */
    font-weight: bold; /* 日付を太字にする */
    text-align: left; /* 日付を左揃え */
}

.activity-content {
    display: flex; /* 横並びのレイアウト */
    flex-wrap: wrap; /* 小さな画面では縦に並べる */
    justify-content: center; /* コンテンツを中央に揃える */
    align-items: center; /* 画像とテキストを上下中央揃え */
    margin-bottom: 20px; /* コンテンツ間の余白を追加 */
}

.activity-image {
    width: 100%; /* 幅を親要素に合わせる */
    max-width: 48%; /* 最大幅を50%以下に設定して2枚が並ぶように */
    height: auto; /* アスペクト比を維持 */
    margin: 0 1% 15px 1%; /* 画像間に隙間を設ける */
    border-radius: 8px; /* 画像の角を丸く */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* 影を追加 */
    object-fit: cover; /* 画像を枠に合わせて切り取る */
    display: flex; /* フレックスボックスにする */
    align-items: center; /* 画像を中央揃え */
    justify-content: center; /* 画像を中央揃え */
}

.activity-content p {
    width: 100%; /* テキストが画像の下に配置されるように */
    font-size: 18px; /* テキストサイズを大きく */
    line-height: 1.6; /* 行間を広げる */
    color: #333; /* テキストの色を濃いグレーに */
    max-width: 800px; /* テキストの最大幅を設定して読みやすく */
    margin: 0 auto; /* テキストを中央に配置 */
    text-align: center; /* テキストを中央揃え */
}
