@charset "utf-8";
/* CSS Document */

.bg {
	background-attachment: scroll;
}
.contents {
	max-width: 1260px;
}
.main_bg {
	position: relative;
	display: flex;
	justify-content: center;
}
.main_bg img {
	width: 90%;
	padding: 10px;
}
.main_in {
	position: absolute;
	top: 0px;
  	left: 0px;
	padding: 30px 30px;
	display: flex;
	flex-direction: column;
	gap: 20px;
	font-family: "Noto Serif JP", serif;
}
.theme {
	max-width: 700px;
}
.main {
	display: grid;
	grid-template-columns: repeat(8, 1fr);
	gap: 10px;
	color: #FFF;
	text-shadow:1px 1px 0 #00a0e8, -1px -1px 0 #00a0e8,
              -1px 1px 0 #00a0e8, 1px -1px 0 #00a0e8,
              0px 1px 0 #00a0e8,  0 -1px 0 #00a0e8,
              -1px 0 0 #00a0e8, 1px 0 0 #00a0e8;
}
.theme img {
	width: 50%;
	height: auto;
}
.main_title img {
	width: 100%;
	height: auto;
}
.main_contents {
	grid-column: span 7;
	display: flex;
	flex-direction: column;
	gap: 5px;
}
.fix_position {
	padding: 5% 0 0;
}
.main_content {
	max-width: 450px;
	margin: auto 0;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 5px;
	font-weight: bold;
	font-size: large;
}
.main_content_sub {
	font-weight: normal;
	font-size: small;
}
.font_big {
	font-size: xx-large;
}
.font_medium {
	padding-bottom: 3px;
}
.notice {
	border-bottom: 4px solid #BCE0FF;
	font-size: 2.2rem;
	font-weight: bold;
	color: #1E474B;
	padding-bottom: 4px;
	margin-bottom: 0.5em;
	display: inline-block;
}
.info h3 {
	color: #FFF;
	font-size: 100%;
	padding: 4px 8px 3px;
	margin: 0;
	background-color: #1E474B;
}
.info .new dl {
	height: 150px;
	overflow: auto;
	margin: 0;
	padding: 0;
}
.poster_dl {
	width: 200px;
	height: 85px;
	background: url("../index/poster_dl.png") no-repeat;
	background-size: contain;
}
.poster_dl:hover {
	background: url("../index/poster_dl_hover.png") no-repeat;
	background-size: contain;
}

.pre_event_link {
	width: 200px;
	height: 85px;
	background: url("../index/pre_event.png") no-repeat;
	background-size: contain;
}
.pre_event_link:hover {
	background: url("../index/pre_event_hover.png") no-repeat;
	background-size: contain;
}

/* タイムラインを幅フルサイズに */
.twitter-timeline {
  width: 100% !important;
  border: none;
}

/* 見出しとのマージン */
#x-timeline-acpjapan, #x-timeline-ecpc {
  margin: 2rem 0;
}

/* 表示領域が992px以上の場合に適用するスタイル */
@media screen and (min-width: 992px) {
	.contents {
		padding: 0 10px;
	}
	.left-contents {
		width: 210px;
	}
	.middle-contents {
		width: calc(100% - 460px);
	}
	.right-contents {
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 220px;
	}
	.main_title {
		max-width: 350px;
		margin: auto;
	}
	.main_contents {
		margin: auto 0;
	}
	.bn_area {
		display: flex;
		flex-direction: column;
		text-align: center;
		gap: 10px;
	}
	.info {
		margin: 30px 10px 20px;
		padding: 0;
		border: 1px solid #1E474B;
		font-size: 1.4rem;
		background-color: rgba(255,255,255,0.7);
}
	.info .new dt {
		width:90px;
		float: left;
		min-height:12px;
		height:auto!important;
		padding: 5px 10px;
	}
	.info .new dd {
		padding: 5px 5px 0px 7em;
		margin: 0 0 5px 0;
	}
}

/* 表示領域が991.98px以下の場合に適用するスタイル */
@media print, screen and (max-width: 991.98px) {
	.right-contents {
		margin: 10px 15px;
	}
	.main_in {
		padding:  0 15px 9%;
		margin: 0 auto;
	}
	.theme {
		padding-top: 5%;
	}
	.main {
		margin: 0;
		gap: 0;
	}
	.main_title {
		padding: 10%;
		max-width: 500px;
		margin: auto;
	}
	.main_contents {
		margin: auto 0;
	}
	.main_content {
		margin: auto 0;
		font-size: medium;
		flex-direction: column;
		align-items: start;
	}
	.main_content_sub {
		font-size: x-small;
	}
	.info {
		margin: 20px 0 10px;
		padding: 0;
		background: #FFF;
		border: 1px solid #1E474B;
		line-height: 1.7em;
	}
	.info .new dt {
		padding:0 5px;
	}
	.info .new dd {
		padding: 0 5px;
	}
	.bn_area {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		padding: 5px 0;
		gap: 15px;
	}
}

/* 表示領域が570px以下の場合に適用するスタイル */
@media print, screen and (max-width: 570px) {
	.main_in {
		gap: 4px;
	}
	.main_content img {
		max-height: 12px;
	}
	.main_content_sub img {
		max-height: 8px;
	}
	.main_content {
		font-size: small;
	}
	.main_content_sub {
		font-size: 7px;
	}
	.font_big {
		font-size: medium;
	}
	.font_medium {
		padding-bottom: 1px;
	}
}

.youtube_sp {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.youtube_sp_parent {
	width: 100%;
	padding-top: 56.25%;
	position: relative;
	height: 0;
	overflow: hidden;
	box-sizing: border-box;
}