body {
	margin: 0;
	padding: 0;
	color: #404040;
	font-family: "M PLUS 1", sans-serif;
	font-weight: 300;
}

h1 {
	font-size: 30px;
	font-weight: 400;
}

header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	background-color: #C3EBF6;
	height: 60px;
	width: 100%;
	display: flex;
	align-items: center;
}

.textlogo_img {
	height: 40px;
	width: auto;
	margin-left: 40px;
}

.header_menu {
	margin-left: auto;
	display: flex;
	list-style: none;
	padding: 0;
	margin-top: 0;
	margin-bottom: 0;
	margin-right: 40px;
}

.header_menu li {
	margin-left: 40px;
}

.header_menu li a {
	text-decoration: none;
	color: inherit;
	font-size: 18px;
	display: block;
	transition: color 0.2s ease;
}

.header_menu li a:hover {
	color: #9E9E9E;
}

.top_title {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 60px;
	padding-top: 50px;
	padding-bottom: 50px;
	padding-left: 20px;
	padding-right: 20px;
}

.bandlogo {
	height: 300px;
	width: auto;
	margin-right: 30px;
}

.bandtitle {

}

.bandtitle p {
    margin: 0;
    line-height: 1.2;
}

.bandtitle .text1 {
    font-size: 40px;
    font-weight: 100;
}

.bandtitle .text2 {
    font-size: 20px;
    color: #666;
}

.news {
	width: 80%;
	margin: 0 auto 40px auto; /* 上0 / 左右auto / 下40px */
}

.news h1 { /* NEWSセクションの見出し */
    text-align: center;
    margin-bottom: 25px;
    padding-bottom: 10px;
    border-bottom: 2px solid #C3EBF6; /* ヘッダーの色 */
}

#news-list { /* お知らせリストの<ul> */
    list-style: none;
    padding: 0;
    margin: 0;
}

.newscon { /* お知らせ各項目 (<a> or <div>) */
	display: flex;
	align-items: center;
	width: 100%;
	margin: auto;
	padding: 10px 0;
	text-decoration: none;
	color: inherit;
	border-bottom: 1px solid #ccc;
    transition: background-color 0.2s ease; /* ホバー効果用 */
}

/* 最後のニュースの下線は表示 */
/* #news-list a.newscon:last-child, #news-list div.newscon:last-child {
    border-bottom: none;
} */

.newsupday { /* お知らせ - 日付 */
	font-size: 14px;
	color: #666;
	margin: 0 20px 0 20px;
	flex-shrink: 0;
	min-width: 80px;
	text-align: right;
}

.newstext { /* お知らせ - 内容 */
	font-size: 16px;
	margin: 0;
	line-height: 1.6;
	flex-grow: 1;
}

.newscon:hover { /* お知らせホバー */
	background-color: #f5f5f5;
}

.newscon a { /* お知らせ内のリンク (JSで内容自体がaになる場合は不要かも) */
    color: #007bff;
    text-decoration: underline;
}
.newscon a:hover {
    color: #0056b3;
}

.discography { /* Discographyセクション */
	width: 80%;
	margin: 40px auto;
}

.discography h1 { /* Discographyセクションの見出し */
    text-align: center;
    margin-bottom: 25px;
    padding-bottom: 10px;
    border-bottom: 2px solid #C3EBF6;
}

.disc_grid { /* ジャケット画像のグリッド */
	display: grid;
	width: 90%;
	margin: auto;
	grid-template-columns: repeat(5, 1fr);
	gap: 25px;
}

.disc_con { /* ジャケット画像コンテナ */
	position: relative;
	overflow: hidden;
    border-radius: 4px; /* 角を少し丸める (任意) */
}

.disc_img { /* ジャケット画像 */
	width: 100%;
	display: block;
	transition: transform 0.3s ease;
}

.disc_con:hover .disc_img { /* 画像ホバー効果 (任意) */
    transform: scale(1.05);
}

.disc_title { /* 画像に重ねるテキスト */
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 0px 10px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-start;
	opacity: 0;
	transition: opacity 0.3s ease;
	pointer-events: none;
}

.disc_con:hover .disc_title { /* テキストホバー表示 */
	opacity: 1;
}

.disc_title p { /* テキスト共通 */
	margin: 0;
	line-height: 1.3;
}

.disc_title p:first-child { /* リリース日 */
	font-size: 14px;
	opacity: 0.8;
    margin-bottom: auto; /* 上部に固定 */
}

.disc_title p:nth-child(2) { /* 形式 */
	font-size: 14px;
	opacity: 0.9;
    margin-top: auto; /* 下部に押しやる */
}

.disc_title p:last-child { /* タイトル */
	font-size: 20px;
	margin-bottom: 5px;;

    /* margin-top: auto; は nth-child(2) に任せる */
}

/* フェードインアニメーション */
.fade-in-target {
  opacity: 0;
  visibility: hidden;
  transition: opacity 1.5s ease-out;
}

.fade-in-target.is-visible {
  opacity: 1;
  visibility: visible;
}