@charset "UTF-8";

/*--------------------
ローディング
--------------------*/
body.is-loading, body.is-opening{
	overflow: hidden;
	position: relative;
}

.loading_curtain{
	position: fixed;
	inset: 0;
	background: #9e8761;
	z-index: 10002;
	height: 100vh;
}

.l_loading{
	background: #150201;
	position:fixed;
	inset:0;
	display:flex;
	justify-content:center;
	align-items:center;
	z-index:10003;
	pointer-events:none;
}

.md_loading{
	position:relative;
	z-index:2;
	margin: 0;
	max-width: 400px;
	width: 40%;
}

.md_loading img{
	width: 100%;
	opacity: 0;
}

.l_opening{
	background: #150201;
	position: fixed;
	inset: 0;
	width: 100vw;
	height: 100vh;
	height: 100svh;
	z-index: 1000;
	overflow: hidden;
}

.opening_scroll_space{
	height: 200vh;
	background: #150201;
}

.bg_lt, .bg_rb, .md_opening, .md_openingtxt{
	position: absolute;
	opacity: 0;
}

.bg_lt{
	left: 0;
	top: 160px;
	width: 50%;
	margin: 0;
}

.bg_rb{
	right: 0;
	bottom: 40px;
	width: 40%;
	margin: 0;
}

.md_opening{
    max-width: 400px;
    width: 40%;
    position: absolute;
    left: 50%;
    top: 24%;
    transform: translate(-50%, -50%);
    z-index: 10;
}

.md_opening img{
	width: 100%;
	display:block;
}

.md_openingtxt{
	color: #fff;
	position:absolute;
	left:50%;
	top: calc(36% - 20px);
	width:min(100%,90vw);
	opacity:1;
    transform:translate(-50%,40px) !important;
	text-align:center;
	line-height:2;
	margin: 0;
	padding: 20px 0 0 0;
}

.md_openingtxt p:nth-child(1){
	height: 45vh;
}

.md_openingtxt p img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.md_openingtxt .is_copy{
	text-align: right;
	margin-top: -10px;
	font-size: 86%;
}

@media only screen and (max-width: 767.98px){
	.bg_lt{
		top: 14%;
	}
	
	.md_openingtxt{
		top: calc(30% - 20px);
		padding: 0;
	}
}


/*---------------------
トップページ（各コンテンツのベース）
---------------------*/
.l_main .l_cont{
	position: relative;
	width: 100%;
	min-height: 100vh;
}

.l_main .l_cont .md_cont{
	position: relative;
	max-width: 100%;
	width: 100%;
	height: 100%;
	padding-top: 100px;
	box-sizing: border-box;
	z-index: 2;
}

.l_main .l_cont .md_cont .md_cont{
	padding: 0 8%;
}

.l_main .l_cont .md_cont h2{
	font-size: 142%;
	text-align: center;
}

.l_main .l_cont .md_cont h2 + p{
	text-align: center;
	padding: 0 8%;
}

.l_main .l_cont .md_cont .md_cont2{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.l_main .l_cont .md_cont .md_cont2 div{
	width: 48%;
}


@media only screen and (max-width: 767.98px){
	.l_main .l_cont .md_cont{
		padding: 40px 0 0 0;
	}
	
	body:not(.is-header-nofix) .Header:not(.is-header-nofix)~.Main{
		padding-top: 0;
	}
}


/*---------------------
トップページ（400年祭）
---------------------*/
.l_main .l_400year{
	background: url(../img/bg1.jpg) repeat-y center top;
	background-size: 100% auto;
	z-index: 9999;
}

.l_main .l_400year .is_400yearimg{
	height: 40vh;
	overflow: hidden;
	position: relative;
}

.l_main .l_400year .is_400yearimg .track{
	display:flex;
	width:max-content;
}

.l_main .l_400year .is_400yearimg img{
	flex-shrink: 0;
	height: 40vh;
	width: auto;
}

.l_main .l_400year .is_400yearimg.show .track{
	animation: scrollImage 80s linear infinite;
}

@keyframes scrollImage{
	from{
		transform:translateX(0);
	}
	to{
		transform:translateX(-50%);
	}
}

.l_main .l_400year .is_400yearimg + .is_caption{
	text-align: right;
	padding: 10px 10px 20px 10px;
}

@media only screen and (max-width: 767.98px){
	.l_main .l_400year .is_400yearimg{
		padding-top: 40px;
	}
}


/*---------------------
トップページ（日本文化）
---------------------*/
.l_main .l_cont.l_culture{
	background: #150201;
}

.l_main .l_cont.l_culture .md_cont .is_h2,
.l_main .l_cont.l_culture .md_cont .is_h2 + p{
	color: #fff;
}

.l_main .l_cont.l_culture .md_cont .is_h2 strong{
	color: #ca3a1c;
}

.l_main .l_cont.l_culture .md_cont{
	padding: 0;
}

.l_main .l_cont.l_culture .md_cont .md_cont2 > div:nth-child(1){
	width: 50%;
	padding: 0 4%;
}

.l_main .l_cont.l_culture .md_cont .md_cont2 > div:nth-child(2){
	width: 50%;
	position: relative;
	height: 100vh;
}

.l_main .l_cont.l_culture .md_cont .md_cont2 > div:nth-child(2) .md_copy{
	width: auto;
	position: relative;
	height: 100vh;
}

.l_main .l_cont.l_culture .md_cont .md_cont2 > div:nth-child(2) .md_copy p:nth-child(1){
	height: 100vh;
}

.l_main .l_cont.l_culture .md_cont .md_cont2 > div:nth-child(2) .md_copy .is_copy{
	font-size: 72%;
	text-align: right;
	text-shadow: 2px 3px 3px rgba(255, 255, 255, 0.4), -2px -3px 3px rgba(255, 255, 255, 0.4), -2px 3px 3px rgba(255, 255, 255, 0.4), 2px -3px 3px rgba(255, 255, 255, 0.4);
	position: absolute;
	bottom: 10px;
	right: 10px;
}

.l_main .l_cont.l_culture .md_cont2 div:nth-child(2) ul{
	position: relative;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
}

.l_main .l_cont.l_culture .md_cont2 div:nth-child(2) ul li{
	position: absolute;
	inset: 0;
}

.l_main .l_cont.l_culture .md_cont2 div:nth-child(2) ul li img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

@media only screen and (max-width: 767.98px){
	.l_main .l_cont.l_culture{
		min-height: calc(100vh - 64px);
	}
	
	.l_main .l_cont .md_cont .md_cont2 div:nth-child(1){
		width: 100% !important;
		padding: 40px 0 !important;
	}
	
	.l_main .l_cont .md_cont .md_cont2 div:nth-child(2){
		width: 100% !important;
		height: 50vh !important;
	}
	
	.l_main .l_cont.l_culture .md_cont .md_cont2 > div:nth-child(2){
		height: 50vh !important;
	}
	
	.l_main .l_cont.l_culture .md_cont .md_cont2 > div:nth-child(2) .md_copy{
		height: 50vh !important;
		padding: 0 !important;
	}
	
	.l_main .l_cont.l_culture .md_cont .md_cont2 > div:nth-child(2) .md_copy p:nth-child(1){
		height: 50vh !important;
	}

}


/*---------------------
トップページ（二条城）
---------------------*/
.l_main .l_castle{
	background: url(../img/bg2.jpg) repeat-y center top;
	background-size: 100% auto;
}

.l_main .l_castle .is_castle{
	height: 50vh;
	margin: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

.l_main .l_castle .is_castle img{
	height: 100%;
	width: auto;
	display: block;
}

@media only screen and (max-width: 767.98px){
	.l_main .l_castle{
		min-height: auto;
	}
	
	.l_main .l_castle .is_castle{
		padding-top: 40px;
		height: auto;
	}
	
}


/*---------------------
トップページ（キーパーソン）
---------------------*/
.l_main .l_cont.l_person{
	background: #150201;
}

.l_main .l_cont.l_person .md_cont .is_h2{
	color: #fff;
}

.l_main .l_cont.l_person .md_person{
	position: relative;
	height: 66vh;
}

.l_main .l_cont.l_person .md_person li{
	position: absolute;
	opacity: 0;
	transform: translateY(80px);
}

.l_main .l_cont.l_person .md_person li img{
	width: auto;
	height: 40vh;
	display: block;
}

.l_main .l_cont.l_person .md_person li:nth-child(1){
	top: 16vh;
	left: 50%;
	transform:translateX(-50%);
	z-index: 5;
}

.l_main .l_cont.l_person .md_person li:nth-child(2){
	top: 4vh;
	left: calc( 50% - 25vh);
	z-index: 1;
}

.l_main .l_cont.l_person .md_person li:nth-child(3){
	top: -4vh;
	left: calc( 50% - 9vh);
}

.l_main .l_cont.l_person .md_person li:nth-child(4){
	top: 7vh;
	left: calc( 50% - -1vh);
}

.l_main .l_cont.l_person .md_person li:nth-child(5){
	top: 26vh;
	left: calc( 50% - -2vh);
	z-index: 6;
}

.l_main .l_cont.l_person .md_person li:nth-child(6){
	top: 36vh;
	left: calc( 50% - 19vh);
	z-index: 7;
}

.l_main .l_cont.l_person .md_person li:nth-child(7){
	top: 25vh;
	left: calc( 50% - 35vh);
	z-index: 6;
}

@media only screen and (max-width: 767.98px){
	.l_main .l_cont.l_person .md_person li{
		height: 30vh;
	}
	
	.l_main .l_cont.l_person .md_person li img{
		width: auto;
		height: 30vh;
		display: block;
	}
    
	.l_main .l_cont.l_person .md_person li:nth-child(1){
		top: 16vh;
		left: 55%;
		z-index: 5;
	}
	
	.l_main .l_cont.l_person .md_person li:nth-child(2){
		top: 7vh;
		left: 8%;
	}
	
	.l_main .l_cont.l_person .md_person li:nth-child(3){
		top: 2vh;
		left: 33%;
	}
	
	.l_main .l_cont.l_person .md_person li:nth-child(4){
		top: 7vh;
		left: 59%;
	}
	
	.l_main .l_cont.l_person .md_person li:nth-child(5){
		top: 26vh;
		left: 59%;
		z-index: 6;
	}

	.l_main .l_cont.l_person .md_person li:nth-child(6){
		top: 34vh;
		left: 29%;
		z-index: 7;
	}

	.l_main .l_cont.l_person .md_person li:nth-child(7){
		top: 24vh;
		left: 2%;
	}
}


/*---------------------
トップページ（ゆかりの地）
---------------------*/
.l_main .l_cont.l_spot{
	background: url(../img/bg1.jpg) repeat-y center top;
	background-size: 100% auto;
}

.l_main .l_cont.l_spot .md_spotimg{
	margin: 0 auto;
	width: 50%;
}

.l_main .l_cont.l_spot .md_cont{
	padding: 0;
}

.l_main .l_cont.l_spot .md_cont .md_cont2 div:nth-child(1){
	width: 50%;
	padding: 0 4%;
}

.l_main .l_cont.l_spot .md_cont .md_cont2 div:nth-child(2){
	width: 50%;
	position: relative;
	height: 100vh;
}

.l_main .l_cont.l_spot .md_cont2 div:nth-child(2) ul{
	position: relative;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
}

.l_main .l_cont.l_spot .md_cont2 div:nth-child(2) ul li{
	position: absolute;
	inset: 0;
}

.l_main .l_cont.l_spot .md_cont2 div:nth-child(2) ul li img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

@media only screen and (max-width: 767.98px){
	.l_main .l_cont.l_spot{
		min-height: calc( 50vh - 64px );
	}
}


/*---------------------
トップページ（イベント情報）
---------------------*/
.l_main .l_event{
	background: url(../img/bg2.jpg) repeat-y center top;
	background-size: 100% auto;
	min-height: auto;
}

.l_main .l_event .md_cont,
.l_main .l_others .md_cont{
	max-width: 1240px;
	width: 84%;
	margin: 0 auto;
	padding: 60px 0;
}

.l_main .md_list3{
	justify-content: center;
	gap: 40px;
}

.l_main .md_list3 li{
	width: 31%;
}

@media only screen and (max-width: 767.98px){
	.l_main .md_list2 li{
		width: 100%;
	}
}


/*---------------------
トップページ（その他）
---------------------*/
.l_main .l_others{
	background: url(../img/bg1.jpg) repeat-y center top;
	background-size: 100% auto;
}


@media only screen and (max-width: 767.98px){
	
}


/*---------------------
トップページ（ヘッダー・その他）
---------------------*/
.l_main .l_header.is-scroll{
	position: absolute;
}

.l_main .l_nav.is-scroll{
	position: absolute;
}

.l_main .others_inner{
	min-height: 100vh;
	padding: 100px 5%;
	box-sizing: border-box;
}

@media only screen and (max-width: 767.98px){
	
}
