@charset "utf-8";
/* CSS INFORMATION -====================================================
File name : contents.css
Description : 各イベントページCSS
===================================================================== */

/* =====================================================================
*    コンテンツ
* =================================================================== */
/* 共通 */
.contents {
	padding-top: 0;
}

.contents .inner {
	background-color: #FFF;
	padding-bottom: 7.8125%;
}

.contents > .inner > h1,
.contents h2,
.contents section,
.contents ul,
.contents li {
	background-color: transparent;
}

/* メインイメージ包括 */
.contents .img_wrap {
}

@media screen and (min-width:700px){
	.contents .img_wrap {
		width: 28.5%;
		float: left;
		margin-left: 6.86%;
	}
}

/* イベント説明右側包括 */
.contents .detail_wrap_right {
	background-color: transparent;
}

@media screen and (min-width:700px){
	.contents .detail_wrap_right {
		width: 55%;
		float: right;
		margin-top: 0;
		margin-right: 6.86%;
	}
}

@media screen and (min-width:700px){
	.contents {
		padding-top: 50px;
	}

	.contents .inner {
		border-top-style: solid;
		border-top-width: 10px;
		box-sizing: border-box;
		overflow: hidden;
		padding-top: 100px;
		padding-bottom: 50px;
	}
}

/* ロゴ */
.contents .category_logo {
	width: 100%;
	height: 50px;
	overflow: hidden;
	position: relative;
}

.contents .category_logo:before {
	content: "";
	width: 0;
	height: 0;
	border: 6px solid #FFF;
	border-top-color: transparent;
	border-right-color: transparent;
	position: absolute;
	bottom: 0;
	left: 0;
}

.contents .category_logo:after {
	content: "";
	width: 0;
	height: 0;
	border: 6px solid #FFF;
	border-top-color: transparent;
	border-left-color: transparent;
	position: absolute;
	bottom: 0;
	right: 0;
}

.contents .category_logo svg {
	width: 100%;
	height: 100%;
	background-color: transparent;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
}

.contents .category_logo svg {
	background-color: transparent;
	fill: #FFF;
}

.contents .category_logo svg use {
	background-color: transparent;
}

@media screen and (min-width:700px){
	.contents {
		padding-top: 50px;
	}

	.contents .category_logo {
		width: 400px;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		margin-left: auto;
		margin-right: auto;
	}
}

/* タイトル */
.contents > .inner > h1 {
	width: 93.75%;
	font-size: 1.8rem;
	line-height: 1.4em;
	font-weight: bold;
	margin-top: 3.125%;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 3.125%;
}

@media screen and (min-width:700px){
	.contents > .inner > h1 {
		width: 55%;
		font-size: 2.4rem;
		line-height: 1.25em;
		margin-top: 0;
		margin-right: 6.86%;
		padding-bottom: 2.5%;
		box-sizing: border-box;
		float: right;
	}
}

/* メインイメージ */
.contents .image {
	width: 93.75%;
	background-color: transparent;
	padding-top: 3.125%;
	margin-left: auto;
	margin-right: auto;
}

.contents .image a.main_visual:hover img {
    opacity: 0.5;
}

@media screen and (min-width:700px){
	.contents .image {
		width: 100%;
		padding-top: 0;
	}
}

/* 公式サイトリンク */
.contents .officialLink {
	width: 100%;
	height: 80px;
	position: relative;
}

.contents .officialLink:before {
	content: "";
	width: 30px;
	height: 30px;
	border-radius: 15px;
	background-color: #FFF;
	position: absolute;
	top: 25px;
	right: 10px;
}

.contents .officialLink:after {
	content: "";
	width: 10px;
	height: 10px;
	border-top: 2px solid #666;
	border-right: 2px solid #666;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 34px;
	right: 21px;
}

.contents .officialLink a {
	width: 100%;
	height: 100%;
	display: block;
	font-family: 'Open Sans', sans-serif;
	color: #FFF;
	font-size: 25px;
	line-height: 80px;
	text-align: center;
	text-decoration: none;
	font-weight: bold;
	box-sizing: border-box;
}

@media screen and (min-width:700px){
	.contents .officialLink {
		width: 100%;
		padding-top: 0;
	}

	.contents .officialLink a {
		padding-right: 30px;
	}
}

/* SNSリンク */
.contents .sns_link {
	position: relative;
	width: 100%;
	background-color: #ffffff;
}

.contents .sns_link::before {
	content: '';
	position: absolute;
	left: 50%;
	bottom: 0;
	display: block;
	width: 93.75%;
	height: 1px;
	background-color: #d1cfcb;
	transform: translateX(-50%);
	z-index: 1;
}

.contents .sns_link:empty::before {
	content: none;
}

.contents .sns_link * {
	background-color: #ffffff;
}

.contents .sns_link .sns_list {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-direction: row;
	flex-wrap: wrap;
	width: calc(680 / 750 * 100%);
	margin: 0 auto;
	padding: calc(15 / 750 * 100%) 0 calc(45 / 750 * 100%) 0;
}

.contents .sns_link .sns_list:has(li:nth-child(1):last-child),
.contents .sns_link .sns_list:has(li:nth-child(2):last-child),
.contents .sns_link .sns_list:has(li:nth-child(3):last-child),
.contents .sns_link .sns_list:has(li:nth-child(4):last-child),
.contents .sns_link .sns_list:has(li:nth-child(5):last-child) {
	justify-content: center;
}

.contents .sns_link .sns_list li {
	width: calc(80 / 680 * 100%);
	margin: calc(30 / 680 * 100%) 0 0 calc(40 / 680 * 100%);
}

.contents .sns_link .sns_list li:nth-child(6n+1) {
	margin-left: 0;
}

@media screen and (min-width:700px){
	.contents .sns_link::before {
		content: none;
	}

	.contents .sns_link .sns_list {
		padding: 1.5rem 0 0 0;
	}

	.contents .sns_link .sns_list li {
		margin: 1.5rem 0 0 calc(40 / 680 * 100%);
	}
}

/* お知らせ */
.contents div#attention {
	width: 93.75%;
	margin-left: auto;
	margin-right: auto;
	padding-top: 4.6875%;
	padding-bottom: 1.5625%;
	border-bottom: 1px solid #d1cfcb;
}

.contents div#attention {
	background-color: transparent;
}

.contents div#attention p {
	font-size: 1.5rem;
	line-height: 1.5em;
	letter-spacing: 0.05em;
	text-align: center;
	color: #FF0000;
	font-weight: bold;
	background-color: transparent;
	padding-top: 3.3333333%;
	padding-bottom: 3.333333%;
}

@media screen and (min-width:700px){
	.contents div#attention {
		width: 100%;
		padding-top: 0;
		position: relative;
		float: right;
		border-bottom: none;
	}

	.contents div#attention p {
		width: 100%;
		font-size: 1.5rem;
		line-height: 1.5em;
		padding: 15px;
		box-sizing: border-box;
	}
}

/* 開催日程 */
.contents section#date {
	width: 93.75%;
	margin-left: auto;
	margin-right: auto;
	padding-top: 4.6875%;
	padding-bottom: 1.5625%;
	border-bottom: 1px solid #d1cfcb;
}

.contents section#date h1 {
	font-size: 1.5rem;
	letter-spacing: 0.05em;
	font-weight: bold;
	background-color: transparent;
}

.contents section#date li {
	font-size: 1.3rem;
	line-height: 1.5em;
	color: #333333;
	border-bottom: 1px dashed #d1cfcb;
	position: relative;
	padding-top: 3.3333333%;
	padding-bottom: 3.333333%;
}

.contents section#date li:last-child {
	border-bottom: none;
}

@media screen and (min-width:700px){
	.contents section#date {
		width: 100%;
		padding-top: 0;
		border-top: 1px solid #d1cfcb;
		position: relative;
		float: right;
	}

	.contents section#date h1 {
		width: 125px;
		height: 100%;
		background-color: #e4e3f0;
		font-size: 1.4rem;
		text-align: center;
		position: absolute;
		top: 0;
		left: 0;
		box-sizing: border-box;
		padding-top: 15px;
	}

	.contents section#date ul {
		width: 100%;
		padding-left: 125px;
		box-sizing: border-box;
	}

	.contents section#date li {
		width: 100%;
		font-size: 1.4rem;
		line-height: 1.5em;
		padding-top: 15px;
		padding-bottom: 15px;
		padding-left: 15px;
		box-sizing: border-box;
	}
}

/* 開催場所 */
.contents section#place {
	width: 93.75%;
	margin-left: auto;
	margin-right: auto;
	padding-top: 4.6875%;
	padding-bottom: 1.5625%;
	border-bottom: 1px solid #d1cfcb;
}

.contents section#place h1 {
	font-size: 15px;
	letter-spacing: 0.05em;
	font-weight: bold;
	background-color: transparent;
}

.contents section#place li {
	font-size: 1.3rem;
	line-height: 1.5em;
	color: #333333;
	border-bottom: 1px dashed #d1cfcb;
	position: relative;
	padding-top: 3.3333333%;
	padding-bottom: 3.333333%;
}

.contents section#place li:last-child {
	border-bottom: none;
}

.contents section#place li {
	padding-right: 65px;
}

.contents section#place li .map_icon {
	width: 55px;
	height: 20px;
	position: absolute;
	top: 50%;
	right: 0;
	margin-top: -10px;
	margin-left: 5%;
}

.contents section#place li small {
	background-color: transparent;
	color: #FF0000;
	font-size: 1.1rem;
	padding-top: 0.5rem;
}

@media screen and (min-width:700px){
	.contents section#place {
		width: 100%;
		padding-top: 0;
		padding-bottom: 0;
		position: relative;
		float: right;
	}

	.contents section#place h1 {
		width: 125px;
		height: 100%;
		background-color: #e4e3f0;
		font-size: 1.4rem;
		text-align: center;
		position: absolute;
		top: 0;
		left: 0;
		box-sizing: border-box;
		padding-top: 15px;
	}

	.contents section#place ul {
		width: 100%;
		padding-left: 125px;
		box-sizing: border-box;
	}

	.contents section#place li {
		width: auto;
		font-size: 1.4rem;
		line-height: 1.5em;
		padding-top: 15px;
		padding-bottom: 15px;
		padding-left: 15px;
	}

	.contents section#place li small {
		font-size: 1.2rem;
	}
}

/* 動画 */
.contents section.movie_wrap {
	position: relative;
	width: 100%;
	margin-top: 9.375%;
	padding: 0;
	border-bottom: none;
	background-color: transparent;
}

.contents section.movie_wrap * {
	background-color: transparent;
}

.contents section.movie_wrap .movie_inner {
	position: relative;
	width: calc(700 / 750 * 100%);
	margin: 0 auto;
}

.contents section.movie_wrap .movie_inner .movie_embed {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.contents section.movie_wrap .movie_inner .movie_embed iframe {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: 100%;
	height: 100%;
}

@media screen and (min-width:700px){
	.contents section.movie_wrap {
		float: right;
		margin-top: 0;
		padding: 3rem 0;
		border-bottom: 1px solid #d1cfcb;
	}

	.contents section.movie_wrap .movie_inner {
		width: calc(400 / 561 * 100%);
	}
}

/* イベント説明：共通 */
.contents section.detail_wrap {
	margin-top: 9.375%;
	background-color: transparent;
}

.contents section.detail_wrap *:not(h1):not(dt) {
	background-color: transparent;
	font-size: 1.4rem;
	line-height: 1.6em;
}

.contents section.detail_wrap h1 {
	height: 50px;
	line-height: 50px;
	font-size: 1.6rem;
	text-align: left;
	font-weight: bold;
	padding-left: 3.125%;
	margin-bottom: 6.25%;
}

.contents section.detail_wrap p {
	width: 93.75%;
	color: #333333;
	margin-left: auto;
	margin-right: auto;
}

@media screen and (max-width:699px){
	.contents section.detail_wrap h1 {
		color: #FFF;
	}
}

@media screen and (min-width:700px){
	.contents section.detail_wrap:not(#ticket) {
		width: 100%;
		position: relative;
		float: right;
		border-bottom: 1px solid #d1cfcb;
		margin-top: 0;
	}

	.contents section.detail_wrap:not(#ticket) h1 {
		width: 125px;
		height: 100%;
		background-color: #e4e3f0;
		font-size: 1.4rem;
		letter-spacing: 0.05em;
		line-height: normal;
		text-align: center;
		position: absolute;
		top: 0;
		left: 0;
		box-sizing: border-box;
		padding-top: 15px;
		padding-left: 0;
		margin-bottom: 0;
	}

	.contents section.detail_wrap:not(#ticket) p {
		width: auto;
		padding-left: 140px;
		box-sizing: border-box;
		line-height: 1.5em;
		padding-top: 15px;
		padding-bottom: 15px;
	}
}

/* イベント説明：チケット情報 */
.contents section#ticket.detail_wrap h2 {
	width: 62.5%;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 4.6875%;
}

.contents section#ticket.detail_wrap li:not(:first-child) {
	padding-top: 7.8125%;
}

.contents section#ticket.detail_wrap li dl {
	width: 100%;
	position: relative;
}

.contents section#ticket.detail_wrap li dl dt {
	width: 28.125%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.contents section#ticket.detail_wrap li dl:not(:last-of-type) dt {
	border-bottom: 1px solid #FFF;
	box-sizing: border-box;
}

.contents section#ticket.detail_wrap li dl dt span {
	width: 100%;
	font-size: 1.5rem;
	color: #FFF;
	font-weight: bold;
	text-align: center;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.contents section#ticket.detail_wrap li dl dd {
	width: 100%;
	font-size: 1.8rem;
	line-height: 1.5em;
	color: #333333;
	border-bottom-width: 1px;
	border-bottom-style: dashed;
	box-sizing: border-box;
	padding-top: 4.6875%;
	padding-bottom: 4.6875%;
	padding-left: 32.8125%;
}

.contents section#ticket.detail_wrap ul li dl:first-of-type dd {
	border-top-width: 1px;
	border-top-style: dashed;
}

.contents section#ticket.detail_wrap ul+p {
	padding-top: 7.8125%;
}

@media screen and (min-width:700px){
	.contents section#ticket.detail_wrap {
		width: 28.5%;
		margin-top: 30px;
		margin-left: 6.86%;
		margin-right: 0;
		float: left;
	}

	.contents section#ticket.detail_wrap h1 {
		width: 100%;
		color: #FFF;
		text-align: center;
		padding-left: 0;
}
}

/* イベント説明：お問い合わせ先 */
@media screen and (min-width:700px){
	.contents section#information.detail_wrap {
	}
}

/* 入力時項目 */
.contents section.detail_wrap b {
	color: #333;
	font-weight: bold;
}

.contents section.detail_wrap span.details {
    display: block;
    color: inherit;
}
.contents section.detail_wrap span.details:not(.detail_item) {
    margin-bottom: 2rem;
}
.contents section.detail_wrap span.details:last-of-type {
    margin: 0;
}
.contents section.detail_wrap span.detail_item:not(:first-of-type) {
    margin-top: 3rem;
}

.contents section.detail_wrap span.font_pink {
	color: #CC0066;
}

.contents section.detail_wrap span.details .link_image {
    text-align: center;
}