@charset "UTF-8";
/* CSS Document */
/* kv
-----------------------------------*/
#kv {
	line-height: 0;
}
.swiper-slide img {
	max-width: inherit;
	width: 100vw;
	height: 100vh;
	object-fit: cover;
}
.swiper-button-next:after, .swiper-button-prev:after {
	clip-path: polygon(0 7%, 7% 0, 57% 50%, 7% 100%, 0 93%, 43% 50%, 0 7%);
	height: 30px;
	aspect-ratio: 1;
	background-color: #000;
	text-indent: -99999em;
	width: auto;
}
.swiper-button-next:after {}
.swiper-button-prev:after {
	transform: rotate(-180deg);
}
.swiper-pagination-bullet-active {
	background: var(--att);
}
.swiper-button-prev, .swiper-rtl .swiper-button-next {
	left: var(--swiper-navigation-sides-offset, -45px);
	right: auto;
}
.swiper-button-next, .swiper-rtl .swiper-button-prev {
	right: var(--swiper-navigation-sides-offset, -45px);
	left: auto;
}
/* main
-----------------------------------*/
main .maingrid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 50px;
}
main section#concept .maingrid .maingrid_left {
	order: 2;
}
.btnlink {
	display: flex;
	justify-content: center;
}
.btnlink li {
	width: 240px;
	margin: 20px 15px 0 15px;
}
.btnlink li a {
	display: block;
	border: 2px solid #594a2a;
	padding: 10px;
	text-align: center;
	position: relative;
	color: #594a2a;
	text-decoration: none;
	font-weight: 600;
}
.btnlink li a:hover{
	background: #594a2a;
	color: #f1f1f1;
	border: 2px solid #594a2a;
}
.btnlink li a:hover::before{
	background: url(../img/arrow_wt.svg) no-repeat;
	    transition: ease 0.7s;
}
.btnlink li a::before{
	content: '';
	background: url(../img/arrow.svg) no-repeat;
	background-size: 100%;
	height: 10px;
	width: 17px;
	display: inline-block;
	position: absolute;
	right: 10px;
    top: 0;
    bottom: 0;
	transition: ease 0.7s;
    margin: auto;
}
/* section
-----------------------------------*/
#concept ,#info ,#access {
	margin-top: 50px;
}
#lineup{
	margin-top: 50px;
	background: var(--bg);
}
#contact{
	margin-top: 50px;
	background: #6c7465;
}
/* info
-----------------------------------*/
.info_ul li {
		display: grid;
    grid-template-columns: 1fr 9fr;
    column-gap: 2%;
    padding-block: 10px;
    margin-bottom: 2em;
    letter-spacing: 0;
    align-items: center;
    border-bottom: 1px dashed #594a2a;
}
.info_ul li .date {
		background: #594a2a;
		padding: 6px 20px;
		border-radius: 40px;
		color: #f1f1f1;
}
.info_ul li .ttl a {
		color: #594a2a;
}
/* lineup
-----------------------------------*/
#slide_area {
	max-width: 1200px;
	padding: 40px 0;
	margin: 0 auto;
}
/* カルーセルの外枠 */
.carousel {
	width: 640px;
	height: 480px;
	display: flex;    /* 子要素を横に並べる */
	overflow: hidden; /* はみ出た部分は表示しない */
	margin: 0 auto;   /* 水平方向中央寄せ */
}
/* カルーセル内の画像 */
.carousel img {
	margin: 0;
	padding: 0;
	display: block; /* imgタグの改行のすき間を消すため */
}
/* スクロールアニメーションのキーフレーム */
@keyframes scroll {
 /* 初期位置は1個目の画像が左端 */
  0% { margin-left: 0; }      
  /* 1個分左の位置に進めて2個目の画像を左端にする */
  20% { margin-left: -100%; }
  /* 少しの間上と同じ位置 */  
  25% { margin-left: -100%; }
  /* 2個分左の位置に進めて3個目の画像を左端にする */
  45% { margin-left: -200%; }
  /* 少しの間上と同じ位置 */  
  50% { margin-left: -200%; }
  /* 以降は上と同様に繰り返し */
  70% { margin-left: -200%; }
  75% { margin-left: -200%; }
  95% { margin-left: -300%; }
  100% { margin-left: -300%; }
}
/* カルーセルの子要素にスクロールアニメーションを設定 */
.carousel > :first-child {
  animation-name: scroll;    /* キーフレーム名 */
  animation-duration: 15s;  /* 再生時間全体は20秒 */
  animation-delay: 0s;      /* 読込直後から遅延無しで開始 */
  animation-iteration-count: infinite;  /* 無限に繰り返す */
}
/* medhia query 
-----------------------------------*/
@media(max-width:768px) {
	h2 {
		margin-bottom: 5px;
	}
	h2 span{
		margin-top: 5px;
	}
	h3 {
		margin: 15px 0;
		line-height: 1.5;
	}
	main .maingrid {
		grid-template-columns: 1fr;
		grid-gap: 20px;
	}
	main section#concept .maingrid .maingrid_left {
		order: 0;
	}
	/*kv
	-----------------------------------*/
	.swiper-slide img {
		max-width: inherit;
		width: 100%;
		height: 65vh;
		object-fit: contain;
		
	}
	.swiper-slide {
		height: calc(65vh - 60px);
		min-height: inherit;
		max-height: inherit;
	}
	/*section
	-----------------------------------*/
	#concept ,#info ,#access {
		margin-top: 20px;
	}
	#contact{
		margin-top: 20px;
	}
	/*concept
	-----------------------------------*/
	#concept {
		margin-top: 25px;
	}
	/*concept
	-----------------------------------*/
	.carousel {
  		width: 100%;
  		height: auto;
  	}
	/*iframe
	-----------------------------------*/
	iframe {
		margin-top: 20px;
	}
}