﻿@charset "UTF-8";

/* h
---------------------------------*/
article > h1,
article > h2,
article > h3,
article > h4,
article > h5 {
	border-bottom: none;
}

/* wrap
---------------------------------*/
.wrap {
	padding: 0;
	/* TODO: 最終的にTOP画面専用の指定は不要 */
	background-color: #F8F8F8;
}

/* main
---------------------------------*/
main {
	padding-top: 0;
	padding-bottom: 0;
}

/* footer
---------------------------------*/
footer {
	border-top: none;
	margin: 0;
}

/* kv
---------------------------------*/
.kv {
	position: relative;
	z-index: 20;
}
.kv .slider img {
	width: 100%;
}

/* slickのcss捻じ曲げ
---------------------------------*/
.slider {
	opacity: 0;
	transition: opacity 1.1s linear;
}
.slider.slick-initialized{
	opacity: 1;
}
.slick-next {
	right: 13px;
	z-index: 99;
}
.slick-prev {
	left: 3px;
	z-index: 100;
}
.slick-prev:before, .slick-next:before {
	font-family: 'slick';
	font-size: 30px;
	line-height: 1;
	opacity: .75;
	color: white;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.slider img {
	width: 100%;
}

/* contents
---------------------------------*/
.contents {
	padding: 0 0 150px 0;
	background-color: #F8F8F8;
}
@media screen and (max-width:767px) {
	.contents {
		padding: 0 0 75px 0;
	}
}

/* container
---------------------------------*/
.container {
	width: 768px;
	padding-left: 0;
	padding-right: 0;
	
}
@media screen and (max-width:767px) {
	.container {
		width: 100%;
	}
}

/* guide
---------------------------------*/
.guide {
	padding: 2.5rem 0;
	text-align: center;
	line-height: 2rem;
	max-width: 800px;
	margin: 6rem auto 5rem auto;
}
.guide h1 {
	margin-bottom: 1em;
	position: relative;
	text-align: center;
}
.guide h1:after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1rem;
	width : 6.5rem ;
	margin: 0 auto;
	border-bottom: 2px solid #333;
}
.guide img {
	width: 3rem;
	vertical-align: middle;
	padding: 0 0.5rem 0 0;
}
@media screen and (max-width:767px) {
	.guide {
		padding: 2rem 0;
	}
}

/* news-list
---------------------------------*/
.news-list {
	padding: 4rem 2rem;
}
.news-list h1 {
	margin-top: 1rem;
	margin-bottom: 3rem;
	position: relative;
	text-align: center;
}
.news-list h1:after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1rem;
	width : 6.5rem ;
	margin: 0 auto;
	border-bottom: 2px solid #333;
}
@media screen and (max-width:767px) {
	.news-list {
		padding: 3.5rem 1rem;
	}
}

/* top-title
---------------------------------*/
.top-title {
	padding-bottom: 4rem;
	font-size: 2.4rem;
}

/* event-list
---------------------------------*/
.event-list {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
}
.event-list .no-events {
	background-color: #F8F8F8;
	width: 100%;
	margin: 60px 0 0 0;
	font-weight: 600;
	font-size: 1.35em !important;
	text-align: center;
}
.event-list .event {
	position: relative;
	width: 365px;
	min-height: 530px;
	margin: 60px 0 0 0;
	-webkit-align-self: stretch;
	-ms-flex-item-align: stretch;
	align-self: stretch;
	font-weight: 600;
	background-color: #FCFCFC;
}
.event-list .event[class*="event-code-"]:before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	border-style: solid;
	border-width: 20px;
	z-index: 4;
	pointer-events: none;
}
.event-list .event .event-upper:before {
	content: "";
	position: absolute;
	top: -6px;
	left: -6px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 20px;
	border-color: #F8F8F8 transparent transparent #F8F8F8;
	z-index: 3;
}
.event-list .event .event-upper:after {
	content: "";
	position: absolute;
	top: -6px;
	right: -6px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 20px;
	border-color: #F8F8F8 #F8F8F8 transparent transparent;
	z-index: 3;
}
.event-list .event .event-lower:before {
	content: "";
	position: absolute;
	bottom: -6px;
	left: -6px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 20px;
	border-color: transparent transparent #F8F8F8 #F8F8F8;
	z-index: 3;
}
.event-list .event .event-lower:after {
	content: "";
	position: absolute;
	bottom: -6px;
	right: -6px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 20px;
	border-color: transparent #F8F8F8 #F8F8F8 transparent;
	z-index: 3;
}
.event-list .event figure {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
	padding: 5px;
}
.event-thumb {
	margin: 0;
	position: relative;
	visibility: collapse;
	height: 266px;
}
.event-thumb > img, .event-thumb-soldout > img {
	vertical-align: bottom;
}
.event-thumb-soldout {
	position: relative;
	visibility: collapse;
	height: 266px;
}
.event-thumb-soldout .soldout {
	position: absolute;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	background-color: rgba(0, 0, 0, 0.6);
	color: #fff;
	font-size: 1.5em;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
}
.event-banner {
	position: absolute;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 100%;
	height: 50px;
	bottom: 0;
	left: 0;
	margin: 0;
	padding: 0;
	z-index: 1;
}
.event-banner .category {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
  	-webkit-box-direction: normal;
  	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-align-items: center;
	align-items: center;
}
.event-banner .category img {
	margin-right: 10px;
	width: auto;
	height: auto;
}
.event-banner .category .name {
	font-size: 20px;
	color: #fff;
	white-space: nowrap;
	width: auto;
}
.event-title {
	font-size: 25px;
	margin: 19px 52px 0 52px;
	display: flex;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
  	align-items: center;
	text-align: center;
	min-height: 66px;
	line-height: 33px;
}
.event-top-summary > .description {
	font-size: 14px;
	margin: 31px 30px 0 30px;
	min-height: 57px;
	line-height: 19px;
}
.event-top-summary > .price {
	font-size: 28px;
	margin: 44px 11% 20px 14%;
	height: 37px;
	text-align: center;
	white-space: nowrap;
}
.event-top-summary > .price span.tax {
	font-size: 20px;
}
.event a {
	color: #111;
	text-decoration: none;
}
@media screen and (max-width:820px) {
	.event-list {
		margin: 0 12px;
	}
}
@media screen and (max-width:767px) {
	.event-list {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
	.event-list .event {
		width: 306px;
		min-height: 479px;
		margin: 40px auto 0 auto
	}
	.event-thumb {
		height: 222px;
	}
	.event-thumb-soldout {
		height: 222px;
	}
	.event-banner {
		height: 42px;
	}
	.event-banner .category img {
		width: 24px;
		height: 25px;
	}
	.event-banner .category .name {
		font-size: 16px;
		color: #fff;
	}
	.event-title {
		font-size: 20px;
		margin: 21px 49px 0 49px;
		min-height: 60px;
		line-height: 34px;
	}
	.event-top-summary > .description {
		font-size: 14px;
		margin: 22px 15px 0 15px;
		min-height: 51px;
		line-height: 29px;
	}
	.event-top-summary > .price {
		font-size: 22px;
		margin: 16px 13% 22px 16%;
		height: 29px;
		text-align: center;
		white-space: nowrap;
	}
	.event-top-summary > .price span.tax {
		font-size: 13px;
	}
}
@media screen and (max-width:374px) {
	.event-list .event {
		width: 296px;
	}
}

/* 記事ホバー */
@keyframes posthover {
	0% {
		height: 0%;
	}
	100% {
		height: -100%;
	}
}