@charset "UTF-8";
/* CSS Document */
header{
	opacity: 0;
	visibility: hidden;
	-webkit-transition:
		opacity 0.5s ease,
		visibility 0.5s ease;
	transition:
		opacity 0.5s ease,
		visibility 0.5s ease;
}
header.black{
	opacity: 1;
	visibility: visible;
}


#contents{padding-bottom: 120px;}
/*=============================
  main
=============================*/
#main{
	height: 100dvh;
	background: url(../img/top/main_bg.jpg) no-repeat center center/cover;
	overflow: hidden;
	position: relative;
	flex-direction: column;
	justify-content: flex-end;
}

#main .main_pic01{
	position: absolute;
	top:-2%;
	left:-2%;
	width: 104%;
	height: 104%;
	-webkit-transition: -webkit-transform 0.75s ease-out;
	transition: transform 0.75s ease-out;
	z-index: 0;
}

#main .logo{
	margin-bottom: auto;
	text-align: center;
	margin-top: 45px;
}
#main .logo::before{
	content: '';
	width: 90px;
	height: 83px;
	display: block;
	margin-left: auto;
	margin-right: auto;
	-webkit-mask-image: url('../img/logo.svg');
	mask-image: url('../img/logo.svg');
	mask-size: 100% 100%;
	background: #FFF;
}
#main .logo .txt{
	display: block;
	font-size: 0.1rem;
	line-height: 1.25;
	letter-spacing: 0.03em;
	color: #FFF;
	margin-top: 1em;
}


#main h1.tit{
	position: relative;
	z-index: 10;
	align-items: flex-start;
	justify-content: space-between;
	padding: 0 10px 0 20px; 
	margin-bottom: 10px;
}
#main h1.tit img{height: auto;}
#main h1.tit img.copy01{width: 22vw;}
#main h1.tit img.copy02{width: 72vw; margin-left: -4vw;}
#main h1.tit img.nara {
	position: absolute;
	left:calc(50% - 41px);
	bottom:calc(100% + 15px);
	width: 82px;
	height: auto;
}


#main .scroll {
	text-align: center;
	position: relative;
	z-index: 20;
	margin-bottom: 25px;
}
#main .scroll a{
	display: inline-block;
	color: #FFF;
}
#main .scroll a .icon_bk{
	width: 40px;
	height: 40px;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	isolation: isolate;
	-webkit-border-radius: 9999px;
	border-radius: 9999px;
	padding-left: 0;
	padding-top: 2px;
}
#main .scroll a .icon_bk::before{
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}

#main .scroll a .txt{
	display: block;
	font-size: 0.1rem;
	letter-spacing: 0.1em;
	margin-top: 1em;
}


/*=============================
  section
=============================*/
section.pd_lr,
section.sp_pd_lr{
	padding-left: 25px;
	padding-right: 25px;
}
section h2.tit{
	color: var(--KTSU-GOLD);
	font-size: 0.9rem;
	line-height: 0.9;
}
body.langJp section h2.tit{font-size: 0.35rem;}

body.langFr section#new_and_now h2.tit{font-size: 0.55rem;}
section h2.tit .fs,
section h2.tit .sp_fs{
	font-size: 0.57rem;
}
section .bt_more,
section .bt_more.noBg{
	width: 110px;
	height: 110px;
	background: var(--KTSU-BLACK);
	-webkit-border-radius: 9999px;
	border-radius: 9999px;
	font-size: 0.1rem;
	color: #FFF;
}
section .bt_more.noBg{
}
section .bt_more a{
	color: #FFF;
}
section .bt_more .txt{
	display: block;
	margin-top: 1em;
}

/*=============================
  new_and_now
=============================*/
#new_and_now{
	padding-top: 45px;
}
#new_and_now .titArea{
}
#new_and_now .titArea > .txt{
	color: var(--KTSU-77);
	font-size: 0.13rem;
	letter-spacing: 0.1em;
	line-height: 1.75;
	margin-top: 3em;
}


#new_and_now .postList {
	flex-wrap: wrap;
	justify-content: space-between;
	padding-top: 2.5em;
}
#new_and_now .postList > li {
	width: 48%;
}
#new_and_now .postList > li:nth-child(n+3) {
	margin-top: 2em;
}
#new_and_now .postList > li .ph{
	aspect-ratio: 1/1;
	width: 100%;
}
#new_and_now .postList > li .data{
	font-size: 0.12rem;
	letter-spacing: 0.1em;
	margin-top: 1em;
}
#new_and_now .postList > li .data .status{
	display: inline-block;
	margin-left: 0.5em;
	color: var(--KTSU-RED);
}
#new_and_now .postList > li .txt{
	font-size: 0.14rem;
	line-height: 1.15;
	letter-spacing: 0.1em;
	margin-top: 0.75em;
}

#new_and_now > .inner .bt_more{
	margin-top: 50px;
	margin-left: auto;
	margin-right: auto;
}
#new_and_now > .inner .bt_more a{
	width: 100%;
	height: 100%;
}

/*=============================
  about
=============================*/
#about{
	margin-top: 50px;
}
#about a{
	aspect-ratio: 750/1100;
	width: 100%;
	position: relative;
	overflow: hidden;
}
#about a h2{
	text-align: center;
	font-size: 0.55rem;
	color: #FFF;
}
body.langJp #about a h2{font-size: 0.35rem;}

#about a .bt_more{
	margin-top: 40px;
	margin-left: auto;
	margin-right: auto;
}

/*=============================
  what_to_see
=============================*/
#what_to_see{
	margin-top: 5px;
}
#what_to_see a{
	aspect-ratio: 750/1100;
	width: 100%;
	position: relative;
	overflow: hidden;
}
#what_to_see a h2{
	text-align: center;
	font-size: 0.55rem;
	color: #FFF;
}
body.langJp #what_to_see a h2{font-size: 0.35rem;}

#what_to_see a .bt_more{
	margin-top: 40px;
	margin-left: auto;
	margin-right: auto;
}


/*=============================
  pyTrip
=============================*/
#pyTrip{
	margin-top: 60px;
}
#pyTrip .titArea{
}
#pyTrip .titArea > .txt{
	color: var(--KTSU-77);
	font-size: 0.13rem;
	letter-spacing: 0.1em;
	line-height: 1.75;
	margin-top: 2.5em;
}

#pyTrip .postList {
	margin-top: 35px;
}
#pyTrip .postList li:nth-child(n+2){
	margin-top: 5px;
}
#pyTrip .postList li a{
	position: relative;
	display: block;
}
#pyTrip .postList li a .ph{
	aspect-ratio: 650/500;
	width: 100%;
}
#pyTrip .postList li a h3{
	width: 100%;
	position: absolute;
	top:50%;
	left:0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	color: #FFF;
	font-size: 0.24rem;
	letter-spacing: 0.05em;
	text-align: center;
	z-index: 20;
}
#pyTrip .postList li a h3 .icon_w{
	position: absolute;
	top:calc(100% + 10px);
	left:50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
#pyTrip .postList li a.icon_next h3 .icon_w.h10::before{
	width: 12px;
	height: 15px;
}
/*=============================
  info
=============================*/
#info{
	margin-top: 90px;
}
#info .titArea{
	/*width: 450px;
	margin-right: 50px;*/
}
#info .titArea h2.tit{text-align: center;}
#info .titArea h2.tit .fs{font-size: 0.47rem;}
#info .titArea > .txt{
	color: var(--KTSU-77);
	font-size: 0.13rem;
	letter-spacing: 0.1em;
	line-height: 1.75;
	margin-top: 4em;
}
#info .titArea .bt_more{
	margin-top: 150px;
}
#info .titArea .bt_more a{
	width: 100%;
	height: 100%;
}


#info .postList {
	margin-top: 25px;
	/*width: 49.5%;*/
	flex-wrap: wrap;
	justify-content: space-between;
	/*justify-content: space-between;
	padding-top: 25px;*/
}
#info .postList > li {
	width: 48%;
}
#info .postList > li:nth-child(n+3) {
	margin-top: 6%;
}
#info .postList > li a .ph{
	display: block;
	aspect-ratio: 1/1;
	width: 100%;
	overflow: hidden;
}