﻿@charset "UTF-8";
/* CSS Document */

@import url("normalize.css");
/* 共通 */
html,body {
	/* font-family: minion-pro, '游ゴシック体', Yu Gothic, Hiragino Kaku Gothic Pro, 'ヒラギノ角ゴ Pro W3','メイリオ', Meiryo, Osaka, YuGothic, sans-serif; */
	font-family:AvertaStd-Semibold,sans-serif;
	font-size:16px;
	font-weight: 400;
	font-style: normal;
	color:#333;
	/*line-height:1.6;*/
	line-height:1.8;
	font-feature-settings: "palt" 1;
	/* word-break: break-all; */
}
div:lang(zh-CN) {
	font-family: "Noto Sans SC",sans-serif;
    /* font-family:'Segoe UI',SegoeUI,'Microsoft YaHei',微软雅黑, "SF Pro SC","SF Pro Text","SF Pro Icons","PingFang SC","Helvetica Neue","Helvetica","Arial",sans-serif; */
}
div:lang(zh-TW) {
	font-family:"Noto Sans TC",sans-serif;
    /* font-family: 'Segoe UI',SegoeUI,'Microsoft JhengHei',微軟正黑體, "SF Pro TC","SF Pro Text","SF Pro Icons","PingFang TC","Helvetica Neue","Helvetica","Arial",sans-serif; */
}
div:lang(ko) {
	font-family:"Noto Sans KR",sans-serif;
/* font-family: Dotum, '돋움', "SF Pro KR","SF Pro Text","SF Pro Icons","Apple Gothic","HY Gulim","MalgunGothic","HY Dotum","Lexi Gulim","Helvetica Neue","Helvetica","Arial",sans-serif; */}

/*html{
	overflow: hidden;
}*/
img{
	width: 100%;
	height: auto;
}
a:link,a:visited,a:hover,a:active {
	text-decoration: none;
	color:#333;
}
em,i{
	font-style: normal;
}


/*.fadein{
	opacity:0;
}
.fadein.is-active{
	opacity: 1;
	animation-name:bottom;
	animation-duration:0.5s;
}*/
@keyframes bottom {
  0% {
	opacity: 0;
	transform: translateY(20px);
  }
  100%{
    opacity: 1;
    transform: translateY(0);
  }
}

.wrapper {
  box-sizing: border-box;
  overflow:hidden;
	
  /*height: 100vh;
  scroll-snap-type: y mandatory;
	-ms-scroll-snap-type: mandatory;
	-ms-scroll-snap-points-y: repeat(0px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;*/
}
.pcno{
	display: none;
}
.spno{
	display: block;
}

.slick-initialized .slick-slide{
	outline: none;
}
/* 共通 end */

/* ナビ */
nav{
	width: 100%;
	display: block;
	color: #ffffff;
	background: #333333;
	position: fixed;
	top: 0;
	z-index: 1;
	
	transition: .5s;
}
nav.hide{
    transform: translateY(-100%);
}
nav .inner{
	max-width: 940px;
	/*overflow: hidden;*/
	margin: 0 auto;
	padding: 8px 20px;
	/*position: relative;*/
}
nav .inner h1{
	display: inline-block;
	font-weight: normal;
	/*font-size: 14px;
	float: left;*/
	/*vertical-align: top;*/
	/*margin-top: 3px;
	transition: .5s;*/
}
nav .inner h1 br.size{
		display: none;
	}
nav .inner h1 a{
	color: #ffffff;
}
nav .inner .right{
	float: right;
}
nav .inner .right .accordion{
	display: inline-block;
	vertical-align: top;
	font-size: 0;
}
nav .inner .right .accordion .language{
	font-size: 16px;
	cursor: pointer;
	position: relative;
}
nav .inner .right .accordion .language i{
	margin-right: 5px;
}
nav .inner .right .accordion .target{
	/*display: none;*/
	position: absolute;
	top: 33px;
}
/*nav .inner .right .accordion .target.open{
	display: block !important;
}*/
nav .inner .right .accordion .target ul{
	background: #333333;
	padding: 0 20px 10px;
}
nav .inner .right .accordion .target li{
	overflow: hidden;
	height: 0;
	transition: .2s;
}
nav .inner .right .accordion:hover .target li{
	overflow: visible;
	height: 28px;
}

nav .inner .right .accordion .target li a{
	font-size: 16px;
	color: #ffffff;
}
nav .inner .right .us{
	/*display: inline-block;*/
	font-size: 14px;
	font-weight: bold;
	line-height: 1px;
	background: #ffffff;
	border-radius: 5px;
	padding: 3px 25px;
	margin-left: 70px;
}
/* ナビ end */


/* メインコンテンツ */
br.pc { display:block; }
br.tab { display:none; }
br.sp { display:none; }
section{
	max-width: 980px;
	/*margin: 30px auto 0;*/
	margin: 0 auto;
	padding-top: 30px;
  /*height: 100vh;*/
  /*width: 100%;*/
	/*scroll-snap-align: start;*/
}
/*.panelbox{ 
	scroll-snap-align: start;
}*/
section h2{
	font-size: 24px;
	text-align: center;
}
section h3{
	font-size: 24px;
	text-align: center;
	color: #a0072b;
}
section h4{
	font-size: 22px;
	/*font-weight: normal;*/
	text-align: center;
	color: #a0072b;
}
section h5{
	max-width: 980px;
	font-size: 18px;
	text-align: center;
	/*font-weight: normal;*/
}
section p.text{
	max-width: 780px;
	margin: 30px auto 0;
}
section.read{
	/*margin-top: 90px;*/
	padding-top: 90px;
}
/*section.read h2{
	opacity:0;
	animation-name:h2bottom;
	animation-duration:0.5s;
}
@keyframes h2bottom {
  0% {
	opacity: 0;
	transform: translateY(20px);
  }
  100%{
    opacity: 1;
    transform: translateY(0);
  }
}*/
section.read p.text{
	/*opacity: 0;*/
	margin-top: 80px;
	/*animation: listleft 0.5s ease 0.5s 1 forwards;*/
}
/*@keyframes listleft {
from {
    opacity: 0;
    transform: translateX(-30px);
}
to {
    opacity: 1;
	transform: translateX(0);
}
}*/

section.slide_lake{
	max-width: inherit;
	margin-top: 140px;
	padding-top: 0;
}
section.slide_lake li{
	max-height: 480px;
}
section.slide_lake li img{
	object-fit: cover;
	object-position:center;
	max-height: 480px;
}
section.slide_event{
	max-width: inherit;
	margin-top: 100px;
}
/*section.slide_event li{
	max-height: 480px;
}
section.slide_event li img{
	object-fit: cover;
	object-position:center;
	max-height: 480px;
}*/

section.room{
	max-width: 980px;
}
section.room ul{
   display:flex;
   flex-wrap:wrap;
}
section.room ul li{
	width: 30.613%;
	margin-left: 4%;
}
section.room ul li:first-child{
	margin-left: 0;
}
/*section.room ul li.is-active:nth-child(1){
	opacity: 0;
  animation: listleft 0.5s ease 0.5s 1 forwards;
}
section.room ul li.is-active:nth-child(2){
	opacity: 0;
  animation: listleft 0.5s ease 1s 1 forwards;
}
section.room ul li.is-active:nth-child(3){
	opacity: 0;
  animation: listleft 0.5s ease 1.5s 1 forwards;
}*/



section.room ul li dl{
	margin-top: 10px;
}
section.room ul li dt{
	font-size: 20px;
	font-weight: bold;
}
section.room ul li dd{
	font-size: 14px;
}
section.room ul li dd span{
	font-weight: bold;
}
section.room ul li dd em{
	color: #999999;
}

section.room ul.rows{
	display: flex;
    /*flex-wrap: wrap;*/
	/*justify-content: space-between;*/
}
section.room ul.rows li{
	width: 30.613%;
	margin-top: 40px;
	/* margin-left: 4%; */
	/* margin-left: 2.5%; */
	margin-left: 20px;
}
section.room ul.rows li:first-child{
	margin-left: 0;
}
/* section.room ul.rows li:nth-child(1),.panel ul.rows li:nth-child(2),.panel ul.rows li:nth-child(3),.panel ul.rows li:nth-child(4){
	opacity: 0;
} */
section.room ul.rows li.is-active:nth-child(1){
  	animation: listleft 0.5s ease 0.5s 1 forwards;
}
section.room ul.rows li.is-active:nth-child(2){
  	animation: listleft 0.5s ease 1s 1 forwards;
}
section.room ul.rows li.is-active:nth-child(3){
  	animation: listleft 0.5s ease 1.5s 1 forwards;
}
section.room ul.rows li.is-active:nth-child(4){
  	animation: listleft 0.5s ease 2s 1 forwards;
}

section.room ul.rows li p{
	margin-top: 15px;
}
section.room .rows li:first-child{
	width: 65.307%;
}
section.room ul.rows li{
	opacity: 1;
}
section.room .rows li .mt25{
	/* margin-top: 25px; */
	/* margin-top: 8.4%; */
}
section.room .rows li span{
	display: block;
	font-size: 12px;
	/* margin-top: 10px; */
}
section.room .rows li span.pcno{
	/* display: none; */
	margin-top: 0;
}
section.room .rows li span.spno{
	/* display: block; */
	display: none;
}
/* section.room .rows li span + span{
	margin-top: 5px;
} */
section.room .rows li span em{
	display: inline;
}
section.room .inbox{
	width: 632px;
	margin: 0 auto;
}
section.room .inbox_szj{
	width: 173px;
	margin: 0 auto;
}

section.room h5{
	margin-top: 3%;
}

section.room .room_text{
	margin-top: 3%;
}

section.room .room_text dt{
	font-weight: bold;
	float: left;
}
section.room .room_text dd{
	margin-left: 160px;
}
section.room .inbox_szj .room_text dd {
    margin-left: 173px;
}
section.room .room_note{
	font-size: 12px;
	padding-top: 10px;
}
section.room .ch .room_text dd{
	margin-left: 100px;
}
section.room .ch{
	width: 510px;
	margin: 0 auto;
}
section.room .ko .room_text dd{
	margin-left: 100px;
}
section.room .ko{
	width: 523px;
	margin: 0 auto;
}


.panelbox.pro{
	margin-top: 0;
	padding-top: 40px;
	/*scroll-padding-top: 40px;*/
	/*margin-top: -90px;
	padding-top: 180px;*/
}
section.program{
	max-width: inherit;
	background: #f4f4f4;
	padding: 40px;
	/*margin-top: 90px;*/
}
section.program .programbox{
	max-width: 980px;
	margin: 0 auto;
}
section.program .tab_group{
	display: flex;
  flex-wrap: wrap;
	/*justify-content: space-between;*/
	/*font-size: 0;
  text-align: center;*/
	margin-top: 20px;
}
section.program .tab_group li{
	/*display: inline-block;*/
	font-size: 18px;
	font-weight: bold;
	margin-left: 17px;
	cursor: pointer;
	color: #999999;
	/*line-height: 1.5;*/
	border: solid 1px #a0072b;
	padding: 0 1%;
}
section.program .s-program li{
	padding: 0 0.85%;
}
section.program .tab_group li:first-child{
	margin-left: 0;
}
section.program .tab_group li.active{
	color: #ffffff;
	background: #a0072b;
	/*color: #333;
	border-bottom: solid 4px #a0072b;*/
}

section.program .panel{
	background: #ffffff;
	padding: 0 40px;
	/*display: none;*/
	visibility: hidden;
	opacity:0;
	height: 0;
	/*position: relative;
	z-index: -1;*/
}
section.program .panel.show{
	/*display: block;*/
	visibility: visible;
	opacity:1;
	height: auto;
	padding: 30px 40px;
	/*z-index: 1;*/
}
section.program .panel li{
	position: relative;
}
section.program .panel li p{
	font-weight: bold;
	color: #ffffff;
	background:rgba(0,0,0,0.3);
	padding: 10px;
	position: absolute;
	bottom: 0;
	left: 0;
}
section.program .panel .exposition{
	margin-top: 10px;
}

section.map{
	max-width: 1620px;
	margin-top: 0;
	padding-top: 0;
	font-size: 0;
	position: relative;
}
section.map h3{
	position: absolute;
	/*top: 75px;*/
	top: 10%;
	left: 0;
	right: 0;
	margin: auto;
	line-height: 1;
}
section.map h3 span{
	font-size:80%;
	}
section.map .japan{
	width: 50.988%;
	display: inline-block;
	vertical-align: top;
	position: relative;
	z-index: -1;
}
section.map .japan span{
	position: absolute;
	font-size: 18px;
	font-weight: bold;
	white-space: nowrap;
	line-height: 1;
}
section.map .japan span.kansai{
	top: 37%;
  left: 45.5%;
}
section.map .japan span.kansai2{
	top: 37%;
  left: 43.5%;
}
section.map .japan span.osaka{
	top: 47%;
  left: 48%;
}
section.map .japan span.shiga{
	color: #971d2c;
	top: 69%;
  left: 53.5%;
}
section.map .japan span.nagano{
	color: #971d2c;
	top: 68%;
  left: 49%;
}
section.map .japan span.shizuoka{
	color: #971d2c;
	top: 69.3%;
  right: 36%;
}

section.map .japan span.haneda{
	top: 84.5%;
  /*left: 53%;*/
	right: 25%;
}
section.map .japan span.haneda2{
	top: 81%;
	right: 24.4%;
}
section.map .japan span.narita{
	top: 91%;
  /*left: 58%;*/
	right: 21.5%;
}
section.map .japan span.wakayama{
	color: #971d2c;
	top: 92.2%;
    right: 48.4%;
}
section.map .japan span.nanki{
	top: 54%;
    right: 61.2%;
}
section.map .japan span.yamanashi{
		color: #971d2c;
	top: 68.7%;
    right: 35.2%;
}

section.map .access_text{
	width: 30%;
	display: inline-block;
	font-size: 16px;
	vertical-align: top;
	margin-top: 8.5%;
}
section.map .access_text dt{
	font-weight: bold;
}
section.map .access_text dt em{
	color: #a0072b;
}
section.map .access_text dt.spacetop{
	margin-top: 40px;
}
/* メインコンテンツ end */
.address{
	max-width: inherit;
	margin: 0 auto;
}
.address .addressbar{
	font-size: 14px;
	text-align: center;
	color: #fff;
	background: #333333;
	padding: 10px;
}
.address .addressbar li{
	display: inline-block;
	margin-left: 20px;
}
.address .addressbar li:first-child{
	font-weight: bold;
	margin-left: 0;
}
.address .addressbar li i{
	margin-right: 5px;
}
.address .addressbar li a{
	color: #ffffff;
}
.address .hotellinks{
	font-size: 0;
	text-align: center;
	margin-top: 15px;
}
.address .hotellinks li{
	display: inline-block;
	margin-left: 30px;
}
.address .hotellinks li:first-child{
	margin-left: 0;
}
.address .hotellinks li a{
	font-size: 14px;
	letter-spacing: -1px;
	font-weight: bold;
	color: #bfbfbf;
	transition: all  0.5s ease;
	position: relative;
    padding: 0 0 0 16px;
}
.address .hotellinks li a:hover{
	color: #a0072b;
}
.address .hotellinks li a:before {
    content: "▶";
    position: absolute;
    left: 0;
    top: 1px;
    display: block;
    width: 3px;
    height: 3px;
	line-height: 1;
}

p.copyright {
    background-color: #fff;
    text-align: center;
    font-size: 80%;
    margin: 20px auto 15px;
}


@media only screen and (min-width:1440px) {

	section.slide_lake li{
	max-height: 540px;
	}	
	section.slide_lake li img{
	object-fit: cover;
	object-position:center;
	max-height: 540px;
	}
}


@media only screen and (max-width: 1080px) {
	section.program .tab_group li {
		font-size: 1.5vw;
		margin-left: 2.1%;
	}
}
@media only screen and (max-width: 980px) {
	section{
		width: 90%;
		max-width: inherit;
	}
	
	section.slide_lake {
		width: auto;
    max-width: inherit;
	}
	section.slide_event {
		width: auto;
    max-width: inherit;
	}
	section.map{
		width: auto;
	}
	.address {
    width: auto;
	}
}
@media only screen and (max-width: 950px) {
	/*section.program .tab_group li {
		font-size: 1.6vw;
	}*/
	section.map .japan span{
		font-size: 2vw;
	}
}
@media only screen and (max-width: 768px) {
nav .inner .right .accordion .target {
		display: none;
		top: 37px;
	}
	/*nav .inner .right .accordion .target.open{
		display: block !important;
	}*/
	nav .inner .right .accordion .target li{
		overflow: inherit;
		height: auto;
		transition: 0;
	}
	nav .inner .right .accordion:hover .target li{
		overflow: inherit;
		height: auto;
	}
	section.map h3{
		top: 6%;
	}
	.address{
		margin-top: 20px;
	}
}
@media screen and (min-width:768px) and ( max-width:1024px) {
	br.pc { display:none; }
	br.tab { display:block; }
	br.sp { display:none; }	
}
@media screen and (min-width:751px) and ( max-width:767px) {
}
@media only screen and (max-width: 750px) {
	br.pc { display:none; }
	br.tab { display:none; }
	br.sp { display:block; }
	.pcno{display: block;}
	.spno{display: none;}
	body{position: relative;}

	section.read{
		/*margin-top: 30px;*/
		padding-top: 100px;
	}
	section.read p.text{
		margin-top: 30px;
	}
	nav .inner .right{
		float: none;
	}
	nav .inner .right .us{
		font-size: 12px;
		margin-left: 10px;
		padding: 5px;
	}
	nav .inner .right .accordion .target {
		top: 65px;
	}
/* メインコンテンツ */
	section{
		/*width: 90%;
		max-width: inherit;*/
		/*margin: 30px auto 0;*/
	}
	section h2{
		font-size: 19px;
	}
	section h3 {
    font-size: 20px;
	}
	section h4{
		font-size: 18px;
	}
	section p.text {
    max-width: inherit;
    margin: 15px auto 0;
	}
	section.slide_lake {
		width: auto;
    max-width: inherit;
    margin-top: 0;
		padding-top: 60px;
	}
	section.slide_lake li{
		max-height: inherit;
	}
	section.slide_lake li img{
		max-height: 180px;
	}
	section.slide_event {
		width: auto;
    max-width: inherit;
    margin-top: 0;
		padding-top: 60px;
	}
	section.slide_event li{
		max-height: inherit;
	}
	.panelbox.pro{
		padding-top: 70px;
}
	section.program {
    padding: 20px;
    /*margin-top: 50px;*/
	}
	section.program .programbox{
		max-width: inherit;
	}
	/*section.program .panel {
    padding: 15px 20px;
	}*/
	section.program .panel.show {
    padding: 15px 20px;
	}
	section.program .tab_group{
		margin-top: 15px;
	}
	section.program .tab_group li{
    font-size: 2.5vw;
    margin:1% 2% 0 0;
	}
	/*section.program .tab_group li:nth-child(4){
		margin-left: 0;
	}*/
	/*section.program .tab_group li:nth-child(4),section.program .tab_group li:nth-child(5){
		margin-top: 1%;
	}*/
/*	section.room ul{
		display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
	}
	section.room ul li{
		width: 300px;
		scroll-snap-align: start;
	}*/
	section.room ul li dt {
    font-size: 18px;
	}
	section.map{
		width: auto;
	}
	section.map h3{
		top: 19vw;
	}
	section.map .japan{
		width: auto;
	}
	section.map .japan span {
    font-size: 3vw;
	}
	section.map .access_text {
    width: 90%;
		display: block;
		margin: 8.5% auto 0;
	}
	
/* メインコンテンツ end */
	.address {
		width: auto;
		margin-top: 40px;
		padding-top: 0;
		background: #333333;
	}
	.address .addressbar{
		width: 90%;
		margin: 0 auto;
		text-align: left;
	}
	.address .addressbar li{
		display: block;
		margin-left: 0;
	}
	.address .hotellinks li a {
    font-size: 12px;
	}
	
	
	
	.viewport {
    /*width: 320px;*/
    overflow: hidden;
    margin: 0 auto;
    -webkit-transform: translateZ(0);
	}

	.flipsnap {
			width: 660px;
	}

	.flipsnap:after {
			content: '';
			display: block;
			clear: both;
			height: 0;
	}
	section.room ul.flipsnap li{
		/*width: 30%;*/
		width: 200px;
		margin: 0 10px;
	}
	section.room ul li{
	width: 48%;
	/* margin: 0 10px; */
	}
	
	section.room ul.rows {
		display: block;
		flex-wrap: inherit;
		justify-content: inherit;
	}
	section.room ul.rows li {
		width: 100%;
		margin-top: 40px;
		margin-left: 0;
	}
	section.room .rows li:first-child {
		width: 100%;
	}
	
	section.room ul.rows li.imgarea{
		/*display: block;
		flex-wrap: inherit;
		justify-content: inherit;*/
		margin-top: 10px;
		font-size: 0;
	}
	section.room ul.rows li.imgarea div{
		width: 48%;
		display: inline-block;
		vertical-align: top;
		margin-top: 0;
	}
	section.room ul.rows li.imgarea div + div{
		margin-left: 4%;
	}
	section.room .rows li span.pcno{
		display: block;
		/* margin-top: 10px; */
	}
	section.room .rows li span.spno,.panel.venue .rows li span em{
		display: none;
	}
	section.room .rows li .mt25 {
		margin-top: 0;	
	}
	section.room .inbox{
		width: auto;
	}
	section.room .room_text{
		display: block;
	}
	section.room .room_text dt{
	float: none;
	}
	section.room .room_text dd{
	margin-left: 0;
	}
	
	
	.item {
			float: left;
			/*width: 310px;*/
	}
	p.copyright {
    font-size: 70%;
}

	
}


@media only screen and (max-width: 415px) {
	nav .inner h1{
		font-size: 3vw;
	}
	section.program .tab_group li{
    font-size: 3.75vw;
    margin:1.5% 3% 0 0;
	}
}
@media only screen and (max-width: 400px) {
	nav .inner h1 br.size{
		display: block;
	}
	nav .inner{
		padding: 8px 10px;
	}
	nav .inner h1{
		font-size: 14px;
	}
	nav .inner .right .accordion .language{
		font-size: 14px;
	}
	nav .inner .right .accordion .target li a{
		font-size: 14px;
	}
	.address .hotellinks{
		text-align: left;
	}
	.address .hotellinks li{
		margin-left: 0;
	}
	.address .hotellinks li:nth-child(even){
		margin-left: 5px;
	}
}

/*@media only screen and (max-width: 361px) {
	section.program .tab_group li{
    margin-left: 2.5%;
	}
}*/



/* ここからフッター追記分*/
div.footer-container {
	box-sizing:border-box;
	width: 100%;
	background-color: #fff;
	padding: 30px;
	display:flex;
}

div.copyright {
	display: inline-block;
	width: 50%;
    font-size: 80%;
    text-align: right;
}

div.privacy_policy {
	display: inline-block;
	width: 50%;
    font-size: 80%;
    text-align: left;
	margin-bottom:1em;
}
@media only screen and (max-width: 750px) {
div.footer-container {
	box-sizing:border-box;
	width: 100%;
	background-color: #fff;
	padding: 30px;
	display:block;
}

div.copyright {
	display: block;
	width: 100%;
    font-size: 80%;
    text-align: center;
}

div.privacy_policy {
	display: block;
	width: 100%;
    font-size: 80%;
    text-align: center;
}
/* ここまでフッター追記分*/