/*******************************************************************************
01:COMMON
********************************************************************************/
html,body{overflow-x:hidden; box-sizing: border-box;}
*{box-sizing: border-box;}
.container {
	width: 1000px;
	margin: 0 auto;
	font-family:'メイリオ', 'Meiryo', 'Helvetica', 'ヒラギノ角ゴシック ProN', 'Arial', 'ＭＳ Ｐゴシック',sans-serif;
	font-size:14px;
	line-height:1.6;
	font-feature-settings: "palt";
    word-wrap: break-word;
    overflow-wrap: break-word;
	box-sizing: border-box;
	position: relative;
}
#breadcrumb{width: 1000px}
dl,dt,dd,ul,li,ol,li {
	margin:0;
	padding:0;
	text-decoration:none;
}
/*
font-family: 'Noto Serif JP', serif;
font-family: 'Italianno', cursive;
font-family: 'Noto Sans JP', sans-serif;
*/
img {
	margin:0;
	padding:0;
	vertical-align:bottom;
}
a, a:link{background:none; text-decoration:none;}
th {	font-family:'メイリオ', 'Meiryo', 'Helvetica', 'ヒラギノ角ゴシック ProN', 'Arial', 'ＭＳ Ｐゴシック',sans-serif;}
#container:after, .content:after, .inner:after, dl:after,.clearfix:after{display: none;}
#container{background-color: #fafbf6;}
section{
	overflow-y: hidden;
}

/*pagetop*/
#gotop{display: none;}
#pagetop {
	position: fixed;
	bottom: 1em;
	right: 1em;
	z-index:50;
	width:4em;
	height:4em;
	border-radius:50%;
	overflow:hidden;
	text-align: center;
}
#pagetop a {
	position: relative;
	display:block;
	width:100%;
	height:100%;
	padding:0;
	background-image: none;
	background-color:rgba(119,119,119,0.4);
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;	
}
#pagetop a:before{
	content: "▲";
	display: block;
	position: absolute;
	color: #FFF;
	font-size: 2em;
    text-indent: 0;
	left: 50%;
	top: 50%;
	transform: translateY(-50%) translateX(-50%);
}
#pagetop a:hover {
	text-decoration: none;
	background-color: #a5a5a5;
}
.fullsize{
	margin-left:-100%;
	margin-right: -100%;
	padding-left:100%;
	padding-right: 100%;
	position: relative;
}
.disc{
	position: relative;
	padding-left: 1em;
}
.disc:before{
	content: "\30FB";
	display: block;
	position: absolute;
	left: 0;
	top:0;
}
.asterisk{
	position: relative;
	padding-left: 1em;
}
.asterisk:before{
	content: "\203B";
	display: block;
	position: absolute;
	left: 0;
	top:0;
}
[class^="btn-"]{
	font-size: 1.2em;
	text-align: center;
	border-radius: 1em;
	overflow: hidden;
}
[class^="btn-"] a{
	color: #FFF;
	display: block;
	padding: 0.5em;
}
.font-red{
    color: #CC0000;
}


/*--1000px以下------------------------------------*/
@media only screen and (max-width: 1000px) {
.container{	width:100%; padding: 0 3%; overflow-x: hidden;}
#breadcrumb{width: 100%}
.fullsize{
	margin-left: -3.1%;
	margin-right: -3.1%;
	padding-left: 3.1%;
	padding-right: 3.1%;
}
}
/*--737px以下------------------------------------*/
@media screen and (max-width: 737px)  {
#breadcrumb{display: none;}
.container {
    font-size: 13px;
    line-height: 1.6;
}
}
/*******************************************************************************
01.5:siteHeader
********************************************************************************/
#siteHeader.is-fixed {
	position: fixed !important;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 5;
	background-color: #ffffff;
	box-shadow: 0 2px 4px rgba(0,0,0,0.1);
	padding-left: calc(50% - 500px);
	padding-right: calc(50% - 500px);
	margin-left: 0;
	margin-right: 0;
}

#siteHeader.is-fixedr::before{
	display: none;
}

#siteHeader {
	display: flex;
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index: 5; 
	background-color: #ffffff;
	justify-content: space-between;

}
#siteHeader::before{
	content: "";
	display: block;
	width: 100vw;
	height: 1px;
	background-color: #DDD;
	position: absolute;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
}
.sh-logo{
	flex-basis: 25em;
	padding: 5px 0;
}
.sh-logo img{
	width: 100%;
}
.siteHeaderList {
	display: flex;
	align-items: center; 
	justify-content: space-between;
	list-style: none; 
	margin: 0 0 0 1em;
	flex-wrap: wrap;
	font-family: 'Noto Serif JP', serif;
	flex-grow: 1;
}

.siteHeaderList a {
	display: block;
	color: #333333;
	font-weight: bold;
	padding: 0.5em;
}
.sp_btn{display: none;}


/*--1000px以下------------------------------------*/
@media only screen and (max-width: 1000px) {
#siteHeader {
	margin-left: -3.3%;
	margin-right: -3.3%;
}
.siteHeaderList{
	display: block;
	margin: 0;
	position: absolute;
	right: -100%;
	padding: 1em;
	background-color: rgba(255,255,255,0.85);
	margin-top: 50px;
	overflow: hidden;
	transition: 0.3s;
	min-width: 190px;
}
.siteHeaderList li{
	padding: 0.3em;
	border-bottom: 1px solid #FFF;
}
.siteHeaderList.open{
	left: auto;
	right: 0;
}
.sh-logo{
	height: 50px;
	margin-left: 1em;
}
.sp_btn{
	display: block;
	text-align: center;
	width: 50px;
	height: 50px;
	padding-top: 15px;
}
.sp_btn span{
	display: block;
	margin: 0 auto 5px;
	width: 32px;
	height: 3px;
	background-color: #1b1464;
	transform-origin: center center;
	transition: 0.2s;
}
.sp_btn.open span:nth-of-type(1){
	transform: rotate(45deg) translateX(6px) translateY(6px);
}
.sp_btn.open span:nth-of-type(2){
	transform: rotate(-45deg) ;

}
.sp_btn.open span:nth-of-type(3){
	display: none;
	
}
}




/*******************************************************************************
02:title
********************************************************************************/
#title{
	position: relative;
	overflow: hidden;
}
#title h1{
	display: none;
}
#title h1 img {width: 100%;}
.mv {
	position: absolute;
	width: 100vw;
	height: 100%;
	z-index: 0;
	overflow: hidden;
	left: 50%;
	transform: translateX(-50%);

}
/*画像下揃え*/
.mv li {
	opacity: 0;
	animation: bgAnime 16s infinite;
}
.mv li img{
	width: 100%;
	height: auto;
	position: absolute;
	bottom: 0%;
	left: 50%;
	transform:  translateX(-50%);
} 
.mv li:nth-of-type(1) {
    animation: 
        firstLoad 17s forwards, 
        crossfade 16s 17s infinite;
}
/* 2〜4枚目は通常の16秒ループ（それぞれ開始時間をズラす） */
/* ※ both を付けることで、出番が来るまで確実に透明(opacity:0)を維持します */
.mv li:nth-of-type(2) { animation: crossfade 16s 5s infinite both; }
.mv li:nth-of-type(3) { animation: crossfade 16s 9s infinite both; }
.mv li:nth-of-type(4) { animation: crossfade 16s 13s infinite both; }

@keyframes firstLoad {
    0%      { opacity: 1; }
    29.41%  { opacity: 1; } /* 5秒時点までクッキリ表示 */
    35.29%  { opacity: 0; } /* 6秒時点でフェードアウト完了 */
    100%    { opacity: 0; } /* 17秒時点まで裏で待機してバトンタッチ */
}

/* ▼ 全画像共通のループアニメーション（実質4秒表示 ＝ 16秒サイクル） */
@keyframes crossfade {
    0%      { opacity: 0; }
    6.25%   { opacity: 1; } /* 1秒かけてフワッと現れる */
    25%     { opacity: 1; } /* 3秒間クッキリ表示（合計4秒） */
    31.25%  { opacity: 0; } /* 1秒かけてフワッと消える */
    100%    { opacity: 0; } /* 残りの時間は裏で待機 */
}



/*--737px以下------------------------------------*/
@media screen and (max-width: 737px)  {
#title {
	padding: 0;
}
.mv li {
	animation: bgAnimeSP 16s infinite;
}
}

#title{
    height: 60em;
}
/*--1500px以下------------------------------------*/
@media only screen and (max-width: 1500px) {
#title{
    height: 56vw;
}
.mv li img{
    width: 100%;
    height: auto;
}
}
/*--737px以下------------------------------------*/
@media screen and (max-width: 737px)  {
#title{
    height: 80vw;
}
.mv li img{
    height: 100%;
    width: auto;
}

}



/*******************************************************************************
03:menu
********************************************************************************/
#menu{
	border-top: 1px solid #DDD;
	border-bottom: 1px solid #DDD;
}
#menu ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	text-align: center;
}
#menu li{
	flex-grow: 1;
	border-right: 1px solid #DDD;
}
#menu li:nth-of-type(1){
	border-left: 1px solid #DDD;
}
#menu a{
	display: block;
	padding: 0.8em;
	font-size: 1.1em;
	font-family: 'Noto Serif JP', serif;
	color: #333;
	transition: 0.5s ;
}
#menu a:hover{
	background-color: #ffdee1;
}
/*--737px以下------------------------------------*/
@media only screen and (max-width: 737px) {
#menu{
	margin: 0 -4%;
	padding: 0;
}
#menu li{
	flex-basis: calc(100% / 3);
	max-width: calc(100% / 3);
}
#menu li:nth-of-type(1),
#menu li:nth-of-type(2){
	flex-basis: calc(100% / 2);
	max-width: calc(100% / 2);
	border-bottom: 1px solid #DDD;
	
}
#menu a{
	padding: 0.4em;
}
}

/*******************************************************************************
04:lead
********************************************************************************/
#lead{
	position: relative;
	background: url("../img/lead_bg.jpg");
	overflow: hidden;
	padding-top: 5%;
	padding-bottom: 5%;
	font-family: 'Noto Serif JP', serif;
	font-size: 1.2em;
	font-weight: 600;
	z-index: 0;
}
#lead:before{
	content: "";
	display: block;
	width: 14%;
	padding-top: 10%;
	background: url("../img/lead_illust.png") no-repeat right bottom;
	background-size: 100% auto;
	position: absolute;
	bottom: 0;
	transform: translateX(-73%);
}
#lead h2{
	margin:0 8%;
	font-size: 1.4em;
	margin-bottom: 0.5em;
}
#lead p{
	margin:0 8% 0.3em;
	position: relative;
	line-height: 1.8;
}
/*--1000px以下------------------------------------*/
@media only screen and (max-width: 1000px) {
#lead{
	padding-bottom: 10%;
}
#lead:before{
	width: 50%;
	height: 100%;
	transform: translateX(-44%);
	opacity: 0.5;
}
#lead p br{display: none;}

}
/*--737px以下------------------------------------*/
@media only screen and (max-width: 737px) {
#lead{
	font-size: 1.1em;
}
}
/*******************************************************************************
05-1:future
********************************************************************************/
#future{
	position: relative;
	padding-top: 1px;
	padding-bottom: 8%;
	background-position: center top;
}
#future h3{
	color: #FFF;
    font-size: 3.4em;
    line-height: 1.2;
}
#future h3 span{
    margin: 0.2em 0.5em;
    display: inline-block;
}
#future h3 span br{display: none;}

#future h3 small:nth-of-type(1){
	display: block;
	font-size: 0.6em;
}
#future h3 small:nth-of-type(2){
	display: block;
	font-size: 0.4em;
    margin: 0.5em 0;
}

#future h3 span br{display: none;}
.futurewrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.futurewrap dt{
	flex-basis: 57%;
	max-width:57%;
}
.futurewrap dt img,
.futurewrap dt video{width: 100%;}

.futurewrap dd{
	flex-basis: 42%;
	max-width: 42%;
    padding: 1.5% ;
    background-color: rgba(255,255,255,0.8);
}

.eventNote{
	margin: 0 0 5em;
}
.eventNote li{
	display: inline-block;
}

/*動画全幅*/
.futurewrap.fullsize dt,
.futurewrap.fullsize dd{
    flex-basis: 100%;
    max-width: 100%;
}
.future_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
    margin: 2% 0 3em;
}
.future_list li{
	flex-basis: calc(100% / 4 - 1%);
	max-width:  calc(100% / 4 - 1%);
	text-align: center;
    color: #FFF;
    line-height: 1.2;
    margin-bottom: 0.5em;
}
.future_list li img{
	width: 100%;
    border: 1px solid #D8B500;
    margin-bottom: 0.3em;
}
.future_text{
	color: #FFF;
    font-size: 1.1em;
}
.tour_book{
	background-color: rgba(255,255,255,0.90);
	padding:0 3% 4%;
	/*border: 2px solid #D8B500;*/
	position: relative;
}
.tour_book::before{
    content: "Recommended Tour";
    display: inline-block;
    position: relative;
    left: 50%;
    top:-0.7em;
    transform: translateX(-50%);
    background-color: #D8B500;
	color: #FFF;
    font-family: 'Italianno', cursive;
    padding: 0.2em 2em 0;
    font-size: 2em;
    line-height: 1;
}
.tour_book h4{
	font-size: 1.3em;
	font-family: 'Noto Serif JP', serif;
    text-align: center;
    margin-bottom: 1em;
}
.tour_book h4 span{
    display: inline-block;
    margin: 0 0.5em;
}
/*各地発ボタン*/
.future_btn{
    display: flex;
    flex-wrap: wrap;
    justify-content:space-around;
    font-size: 1em;
    margin-bottom: 2em;
}

.future_btn li{
    flex-basis: calc(100% / 3 - 2%);
    max-width:  calc(100% / 3 - 2%);
}
.future_btn li.dpbutton{
    flex-basis:41em;
    max-width:41em;
    margin-top: 1em;
}
.future_btn li.dpbutton span{
    display: inline-block;
}

.future_btn li a{
	display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    height: 100%;
	text-align: center;
	font-size: 1.4em;
    line-height: 1.2;
	padding: 0.8em 0.5em;
	background: #BBB;
	color: #EEE;
	border-radius: 5px;
}
.future_btn li a[href]{
background: rgb(184,140,8);
background: linear-gradient(0deg, rgba(184,140,8,1) 0%, rgba(213,178,0,1) 100%);
	text-shadow: -1px -1px 1px #b19977;
    color: #FFF;
}
.future_btn li a[href]:hover{
	background: rgb(149,100,40);
	background: linear-gradient(0deg, rgba(149,100,40,1) 0%, rgba(198,146,82,1) 100%);
}
.future_btn li a small.dp{
    font-size: 0.65em;
    transform: scale(1,1);
    display: inline-block;
    margin-left: 0.5em;
}
/*youtube埋め込み*/

.HTByoutube {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.HTByoutube iframe {
  width: 100%;
  height: 100%;
}



/*--737px以下------------------------------------*/
@media only screen and (max-width: 737px) {
#future h3{
    font-size: 8.2vw;
}
#future h3 span br{display: block;}
.futurewrap dt,
.futurewrap dd{
	flex-basis: 100%;
	max-width: 100%;
	margin-bottom: 1em;
}
.future_list li{
	flex-basis: calc(100% / 2 - 1%);
	max-width:  calc(100% / 2 - 1%);
}
.tour_book h4{
    font-size: 3.8vw;
}
}









/*******************************************************************************
modal
********************************************************************************/
.future_btn_dp{
    display: flex;
    flex-wrap: wrap;
    justify-content:center;
    font-size: 1em;
    margin-bottom: 2em;
}
.future_btn_dp li{
    flex-basis: calc(100% / 3 - 2%);
    max-width:  calc(100% / 3 - 2%);
    margin:  0 2%;
}
.future_btn_dp li [class^="modal-open"]{
    background: rgb(184,140,8);
    background: linear-gradient(0deg, rgba(184,140,8,1) 0%, rgba(213,178,0,1) 100%);
	text-shadow: -1px -1px 1px #b19977;
    color: #FFF;
    font-size: 1.4em;
    line-height: 1.2;
    padding: 0.8em 0.5em;
    text-align: center;
    border-radius: 5px;
    cursor: pointer;
    
}
.future_btn_dp li [class^="modal-open"]:hover{
	background: rgb(149,100,40);
	background: linear-gradient(0deg, rgba(149,100,40,1) 0%, rgba(198,146,82,1) 100%);
}
.future_btn_dp li [class^="modal-open"] i{
    margin-right: 0.5em;
}
.fa-plane::before{
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 1em;
    height: 1em;
    -webkit-mask-image: url("../img/plane-solid.svg");
    mask-image: url("../img/plane-solid.svg");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: #FFF;
}
.fa-train::before{
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 1em;
    height: 1em;
    -webkit-mask-image: url("../img/train-solid.svg");
    mask-image: url("../img/train-solid.svg");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: #FFF;
}


/*モーダル本体の指定 + モーダル外側の背景の指定*/
[class^="modal-container"]{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	/*background: rgba(255,255,255,50%);*/
	padding:0;
	overflow: auto;
	opacity: 0;
	visibility: hidden;
	transition: .1s;
    box-sizing: border-box;
    z-index: 5;
}
[class^="modal-bg"]{
    background: rgba(0,0,0,50%);
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    
}

/*モーダル本体の擬似要素の指定*/
[class^="modal-container"]:before{
	content: "";
	display: inline-block;
	vertical-align: middle;
	height: 100%;
}
/*モーダル本体に「active」クラス付与した時のスタイル*/
[class^="modal-container"].active{
	opacity: 1;
	visibility: visible;
}
/*モーダル枠の指定*/
.modal-body{
	position: relative;
	display: inline-block;
	vertical-align: middle;
	max-width: 500px;
	width: 90%;
}
/*モーダルを閉じるボタンの指定*/
[class^="modal-close"]{
	position: absolute;
	display: flex;
    align-items: center;
    justify-content: center;
	top: -40px;
	right: -8px;
	width: 40px;
	height: 40px;
	font-size: 40px;
	color: #fff;
	cursor: pointer;
}
/*モーダル内のコンテンツの指定*/
.modal-content{
	background: #fff;
	text-align: left;
	padding: 0;
}
.modal-content .fw-top .fw-mv-search{
    width: 100%;
}
#future h3.fw-modal-header__ttl{
    font-size: 1em;
}

/*JR-DP-Gadget*/
.modal-container-train .modal-content{
    padding:15px;

}
.fw-top .fw-search-top__item--arr .fw-select--area-set:nth-child(n+3){
    width: 100%;
}
/*--737px以下------------------------------------*/
@media only screen and (max-width: 737px) {
.future_btn_dp li{
    flex-basis:100%;
    max-width:100%;
    margin: 0 0 10px ;
}


}





/*******************************************************************************
05:event
********************************************************************************/
#event{
	position: relative;
	background-color: #ffa6af;
	padding-top: 1px;
	padding-bottom: 5%;
}
section:before{
	font-family: 'Italianno', cursive;
	display: block;
	opacity: 0.2;
	position: absolute;
	font-size:15em;
	line-height: 1;
}
section > h3{
	font-size: 2.5em;
	font-family: 'Noto Serif JP', serif;
	margin: 7% 0 2%;
	font-weight: 500;
	text-align: center;
}
#event:before{
	content: "Event";
	color: #FFF;
	top: -0.12em;
}
#event h3{
	color: #FFF;
	letter-spacing: -2px;
}
.eventwrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.eventwrap::after{
    content: "";
    display: inline-block;
    flex-basis: calc(100% / 3 - 2px);
}
.eventbox{
	flex-basis: calc(100% / 3 - 2px);
	max-width:  calc(100% / 3 - 2px);
	margin-bottom: 4px;
	background-color: #fff;
	font-size: 1em;
}
.eventbox .e-term{
	text-align: center;
	background-color: #ff5e64;
	color: #FFF;
	font-size: 1.2em;
	padding: 0.3em 0;
}
.eventbox dt img{width: 100%;}
.eventbox dd{
	padding: 2% 3% 4%;
}
.eventbox dd h4{
	font-size: 1.2em;
	font-weight: 500;
	margin-bottom: 0.2em;
	font-family: 'Noto Serif JP', serif;
	letter-spacing: -1px;
}
.eventbox dd h4::before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 1em;
    height: 1em;
    -webkit-mask-image: url("../img/circle-arrow-up-solid.svg");
    mask-image: url("../img/circle-arrow-up-solid.svg");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: #ff5e64;
    margin-right: 0.3em;
}
.eventlink{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 5% 0;
}
.eventlink li{
	flex-basis: 48%;
	max-width: 48%;
}
.eventlink li a{
	display: block;
	padding: 1em 0.5em 0.8em;
	text-align: center;
	background-color:rgba(255,255,255,0.9);
	color: #ff5e64;
	border: 2px solid #FFF;
	border-radius: 5px;
	line-height: 1.4;
	transition: 0.5s ;
}
.eventlink li a:hover{
	background: #ff5e64;
	color: #FFF;
}

.eventlink li a span{
	font-size: 0.8em;
	display: block;
}
.eventlink li a strong{
	position: relative;
	font-size: 1.6em;
	display: inline-block;
}
.eventlink li a strong:before{
	content: "";
	display: block;
	position: absolute;
	left: -2.8em;
	top:-1.7em;
	color: #FFF;
	font-size: 0.7em;
	background-color: #ff5e64;
	font-weight: normal;
	padding: 0 0.5em;
	transform: rotate(-7deg);
}
.eventlink li.now a strong:before{content: "Now Event"}
.eventlink li.next a strong:before{content: "Next Event"}

.eventlink li a:hover strong:before{
	background-color: #FFF;
	color: #ff5e64;
}

/*--737px以下------------------------------------*/
@media only screen and (max-width: 737px) {
.eventbox{
	flex-basis: calc(100% / 2 - 1px);
	max-width:  calc(100% / 2 - 1px);
}
section:before{
	font-size:6em;
}
section > h3{
	font-size:6vw;
}
.eventlink li{
	flex-basis: 100%;
	max-width: 100%;
	margin-bottom: 2em;
}
}
/*******************************************************************************
06:map
********************************************************************************/
#parkmap{
	position: relative;
	padding-top: 1px;
	padding-bottom: 8%;
	background-color: #f9f7e9;
}
#parkmap:before{
	content: "Map";
	color: #d4cfa9;
	top: -0.12em;
}
#parkmap h3{
	color: #625e3f;
}
.map_wrap:after{
	content: "";
	display: block;
	clear: both;
}
.mapillust{
	width: 57%;
	float: left;
	margin-right: 3%
}
.mapillust img{
	width: 100%;
}
.hotel_index{
	width: 40%;
	float: left;
	counter-reset: number 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.hotel_index li{
	flex-basis: 49%;
	max-width: 49%;
	background-color: #FFF;
	border: 5px solid #f1eedb;
	margin-bottom: 0.5em;
	position: relative;
}
.hotel_index li:hover{
	border: 5px solid #cf9829;	
}
.hotel_index li a{
	color: #333;
}
.hotel_index li a:before{
	counter-increment: number 1;
	content: counter(number) " "; 
	font-size: 1.2em;
	font-weight: bold;
	background-color: #cf9829;
	color: #FFF;

	width: 1.5em;
	height: 1.5em;
	text-align: center;
	position: absolute;
	left: -5px;
	top: -5px;
}
.hotel_index li span{
	overflow: hidden;
	display: block;
}
.hotel_index li span img{
	width: 100%;
}
.hotel_index li strong{
/*	font-family: 'Noto Serif JP', serif;*/
	padding: 0.5em;
	line-height: 1.4;
	display: block;
	font-weight: normal;
}
.map_wrap address{
	width: 40%;
	float: left;
	background-color: rgba(255,255,255,0.7);
	margin-top: 1em;
	padding:1.5em 1.5em 1.5em 1.5em;
	font-size: 0.85em;
	position: relative;
}
.map_wrap address:before{
	content: "Access";
	display: inline-block;
	position: absolute;
	left: -5px;
	top: -0.5em;
	background-color: #625e3f;
	color: #FFF;
	padding: 1px 0.5em;
}
.map_wrap address h6{
	font-size: 1.1em;
}
/*--850px以下------------------------------------*/
@media only screen and (max-width: 850px) {
.map_wrap address{
	width: 100%;
}
/*--737px以下------------------------------------*/
@media only screen and (max-width: 737px) {
.mapillust{width: 100%;}
.hotel_index{width: 100%; margin-top: 2%;}

}


}
/*******************************************************************************
07:hotel-benefits
********************************************************************************/
.benefitsWrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 5%;
}
[class^="benefits_hotel"]{
	flex-basis: 48%;
	max-width: 48%;
	border: 3px double #006A72;
	padding: 1.5em;
	background-color: #FFF;
	background-image: url("../img/frame01.png"),url("../img/frame02.png"),url("../img/frame03.png"),url("../img/frame04.png");
	background-repeat: no-repeat,no-repeat,no-repeat,no-repeat;
	background-position: left top, right top,left bottom,right bottom;
	background-size: 15% 15%;
}
[class^="benefits_hotel"] h4{
	font-size: 1.4em;
	font-family: 'Noto Serif JP', serif;
	text-align: center;
	color: #333;
	margin-bottom: 0.5em;
}
[class^="benefits_hotel"] h4 span{
	font-family: 'Italianno', cursive;
	display: block;
	margin: 0 auto;
	font-size: 2em;
	font-weight: normal;
}
[class^="benefits_hotel"] h4 img{
	width: 1.2em;
	display: inline-block;
	vertical-align: top;
}
.subject{
	font-size: 0.75em;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 2em;
}
.subject li{
	border: 1px solid #999;
	padding: 0.2em 1em;
	
}
.benefitslist {
	font-size: 0.9em;
	line-height: 1.6;
	counter-reset: number 0; 
}
.benefitslist li{
	margin-bottom: 1em;
}
.benefitslist li h5{
	font-size: 1.3em;
	line-height: 1.2;
	font-family: 'Noto Serif JP', serif;
	font-weight: 700;
	margin-bottom: 0.3em;
	color: #006A72;
/*	border-bottom: 1px solid #46c1c1;*/
}
.benefitslist li h5:before{
	display: inline-block;
	background-color: #006A72;
	color: #FFF;
	font-size: 0.85em;
	padding: 0.1em 0.2em;
	margin-right: 0.3em;
	min-width: 1em;
	text-align: center;

}
.benefits_hotel3 .benefitslist li h5:before{
	counter-increment: number 1; 
	content: counter(number, upper-alpha) ; 

}
.benefits_hotel4 .benefitslist li h5:before{
	counter-increment: number 1; 
	content: counter(number, upper-roman) ;
}

/*--737px以下------------------------------------*/
@media only screen and (max-width: 737px) {
[class^="benefits_hotel"]{
	flex-basis: 100%;
	max-width: 100%;
}

}
/*******************************************************************************
07:hotel
********************************************************************************/
#hotel{
	position: relative;
	padding-top: 1px;
	padding-bottom: 5%;
}
#hotel:after{
	content: "";
	width:80vw;
	height: 80vw;
	display: block;
	position: absolute;
	left: 0;
	top: 20%;
	transform: rotate(45deg);
	background: url("../img/hotel_bg.png");
	z-index: -1;
	opacity: 0.5;
}
#hotel:before{
	content: "Hotel";
	color: #93dbdb;
	top: -0.12em;
}
#hotel h3{
	color: #006a72;
}
.hotelwrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.hotelbox{
	flex-basis: 48%;
	max-width: 48%;
	margin-bottom: 5%;
	box-shadow: 1px 1px 10px #999;
	position: relative;
	background-color: #FFF;
}
.hotelbox dt img{
	width: 100%;
}
.hotelbox .official{
	position: relative;
}
.hotelbox .official:before{
	content: "";
	display: block;
	width: 5em;
	height: 6em;
	background: url("../img/icon_official.png") no-repeat left top;
	background-size: contain;
	position: absolute;
	left: -0.3em;
	top: -0.4em;
}
.hotelbox dd{
	padding:3% 4%;
	padding-bottom: 4.5em;
}
.hotelbox h4 {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
    font-size: 1.4em;
    font-weight: 500;
    font-family: 'Noto Serif JP', serif;
	
}
.hotelbox h4 strong{
	font-family: 'Noto Serif JP', serif;
	font-size: 1.7em;
	line-height: 1.2;
	font-weight: 500;
	margin-bottom: 0.3em;
}
.hotelbox h4 span img{
	width: 2.5em;
	margin: -0.5em 2px 0;
}
.hotelbox .h-en{
	color: #46c1c1;
	font-size: 0.85em;
	border-top: 1px solid #46c1c1;
	font-family: 'Noto Serif JP', serif;
	margin-bottom: 1em;
	padding-top: 0.2em;
}
.hotelbox .h-text{
	margin-bottom: 0.8em;
}
.specialbox{
	background-color: #E6F2F3;
	padding: 1.5em 1em 1em;
	font-size: 0.9em;
	margin-bottom: 1em;
	position: relative;
}
.specialbox:before{
	content: "Special";
	font-family: 'Italianno', serif;
	position: absolute;
	left: 0;
	top: -0.7em;
	font-size: 2.2em;
	color: #46c1c1;
}
.specialbox li{
	display: inline-block;
	margin-right: 0.5em;
}
.specialbox li:before{
	content: "★";
	color: #46c1c1;
	font-size: 0.85em;
	margin-right: 0.3em;
}
.h-book{
	position: absolute;
	left: 4%;
	bottom: 1.3em;
	width: 92%;
	display: flex;
	justify-content: space-between;
}
.h-book li{
	flex-basis: 48.5%;
	max-width: 48.5%;
}
.h-btn a{
	display: block;
	background: #CCC;
	color: #FFF;
	font-size: 1.2em;
	padding: 0.6em 0;
	text-align: center;
	border-radius:5px;
	cursor: default;
}
.h-btn a[href]{
	cursor: pointer;
}
.h-btn.pac a[href]{
	background: rgb(2,163,157);
	background: linear-gradient(0deg, rgba(2,163,157,1) 0%, rgba(53,181,176,1) 100%);
}
.h-btn.sty a[href]{
	background: rgb(252,165,57);
	background: linear-gradient(0deg, rgba(252,165,57,1) 0%, rgba(252,176,84,1) 100%);
}
/*--737px以下------------------------------------*/
@media only screen and (max-width: 737px) {
.hotelbox{
	flex-basis:100%;
	max-width: 100%;
}
#hotel:after{display: none;}
}

/*******************************************************************************
08:search
********************************************************************************/
#search{
	position: relative;
	padding-top: 1px;
	padding-bottom: 15%;
	background-color: #aee4e4;
}

#search:before{
	content: "Search";
	color: #FFF;
	top: -0.12em;
}
#search h3{
	color: #006a72;
	margin-bottom: 5%;
}
.gawrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#search .ga_tour,
#search .ga_yado{
	flex-basis: 48%;
	max-width: 48%;
	background-color: rgba(255,255,255,0.5);
	padding:0 2% 2em 2%;
	border-radius: 1em;
	overflow: hidden;
	margin-bottom: 2em;
}
#search h4{
	font-size: 1.4em;
	font-family: 'Noto Serif JP', serif;
	color: #FFF;
	font-weight: 500;
	margin: 0 -1em 1em;
	padding: 0.5em 1em;
	text-align: center;
}

/**************************************国内旅行GADGET*/
.ga_tour h4{
    background-color: #19c7c1;
}
.fw-search-top__header{
    display: none;
}
.ga_tour .fw-top .fw-mv-search{
    width: 100%;
}
.ga_tour .fw-top .fw-search-top__body dl{
    margin: 0 0 10px 0;
    font-size: 14px;
    display: flex;
}
.ga_tour .fw-top .fw-search-top__item-label{
    flex-basis: 5em;
    max-width: 5em;
    text-align: center;
    background-color: #19c7c1;
    color: #FFF;
    font-weight: normal;
    font-size: 14px;
    padding-bottom: 0.7em;
    margin: 0;
    padding: 0.7em 0;
}
.ga_tour .fw-top .fw-search-top__item-data{
    flex-basis:calc(100% - 5em);
    max-width: calc(100% - 5em);
    font-size: 14px;
}
.ga_tour .fw-top .fw-search-top__item-data select,
.ga_tour .fw-top .fw-search-top__item-data input{
    padding: 0.7em 1.5em 0.7em 0.8em;
    border-radius: 0;
    border: 0;
    height: auto;
    font-size: 16px;
}
.ga_tour .fw-top .fw-select{
    border: 0;
    border-radius: 0;
}
.ga_tour .fw-top .fw-select:before,
.ga_tour .fw-top .fw-select--area-set:before{
    content: "▼";
    color: #666;
    right: 5px;
}
.ga_tour .fw-top .fw-search-top--tour .fw-departure-wrap{
    padding: 0;
}
.ga_tour .fw-top .fw-search-top--tour .fw-departure-ttl {
    display: none;
}
/*出発地*/
.ga_tour .fw-top .fw-search-top__item--date .fw-search-top__item-data{
    display: flex;
    flex-wrap: wrap;
}
/*泊数/日数*/
.ga_tour .fw-top .fw-search-top__item--night-day .fw-select--area-set{
    border: 0;
    border-radius: 0;
}
/*1部屋あたりの人数*/
.ga_tour .fw-top .fw-search-top__item--people dt.fw-search-top__item-label{
    flex-basis: 11em;
    max-width: 11em;
}
.ga_tour .fw-top .fw-search-top__item--people dd.fw-search-top__item-data{
    flex-basis: calc(100% - 11em);
    max-width:calc(100% - 11em);
}
/*目的地*/

.ga_tour .fw-top .fw-search-top__body dl.fw-search-top__item--map{
    display: none;
}
.ga_tour .fw-top .fw-search-top__item--map .fw-search-top__sub-label{
    display: none;
}
.ga_tour .fw-top .fw-search-top__item--map .fw-search-top__item-data dl:nth-of-type(1),
.ga_tour .fw-top .fw-search-top__item--map .fw-search-top__item-data dl:nth-of-type(2){
    flex-basis: 50%;
    max-width: 50%;
    margin: 0;
}
.ga_tour .fw-top .fw-search-top__item--map .fw-search-top__item-data dl:nth-of-type(2){
    border-left: 1px solid #CCC;
}
.ga_tour .fw-top .fw-search-top__item--map .fw-search-top__item-data dl:nth-of-type(3){
    flex-basis: 100%;
    max-width: 100%;
    margin: 0;
    border-top: 1px solid #CCC;
}
/*ボタン*/
.ga_tour .fw-top .fw-search-top__footer{
    margin: 20px auto 0;
    width: 60%;
}
.ga_tour .fw-top .fw-search-top__footer button{
    background-color: #009999;
}

/**************************************宿泊GADGET*/
.ga_yado h4{
    background-color: #19c7c1;
}
.ga_yado h4{background-color: #fcb054;}
.ga_yado dt{background-color: #fcb054;}
.ga_yado .ga_submit a{background-color: #fa8900;}

.ga_yado dl{
    display: flex;
    flex-wrap: wrap;
    font-size: 14px;
    margin-bottom: 10px;
}

.ga_yado dl dt{
    flex-basis: 5em;
    max-width: 5em;
    text-align: center;
    padding: 0.7em 0;
    line-height: 1.4;
    color: #FFF;
}
.ga_yado dl dd{
    flex-basis: calc(100% - 5em);
    max-width: calc(100% - 5em);
    display: flex;
    flex-wrap: wrap;
}
.ga_yado dl dd p{
    width: 100%;
    z-index: 0;
    position: relative;
    background-color: #FFF;
}
.ga_yado dl dd p::after{
    content: "▼";
    display: block;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: #666;
}

.ga_yado dl dd input,
.ga_yado dl dd select{
    padding: 0.7em 1.5em 0.7em 0.8em;
    border-radius: 0;
    border: 0;
    height: auto;
    font-size: 16px;
    line-height: 1.45;
    width: 100%;
	-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: transparent;
}
.ga_yado dl.date dd{
    display: flex;
    flex-wrap: wrap;
}
.ga_yado dl.date dd p.date-day{
    flex-basis: calc(100% - 8.5em);
    max-width:  calc(100% - 8.5em);
    margin-right: 0.5em;
}
.ga_yado dl.date dd p.date-nt{
    flex-basis: 8em;
    max-width: 8em;
}

/*datepicker*/
#ui-datepicker-div{
    font-size: 1.5em;
}

/*ボタン*/
.ga_yado .ga_submit{
    margin: 20px auto 0;
    width: 60%;
}
.ga_yado .ga_submit button{
    background-color: #fa8900;
    display: block;
    width: 100%;
    border: 0;
    padding: 15px 0;
    text-align: center;
    color: #FFF;
    font-weight: bold;
    font-size: 1.2em;
    line-height: 1.2;
    border-radius: 4px;
    cursor: pointer;
}

/*--737px以下------------------------------------*/
@media only screen and (max-width: 737px) {
/**************************************国内旅行GADGET*/
#search .ga_tour, #search .ga_yado{
	flex-basis: 100%;
	max-width: 100%;
}

.ga_tour .fw-top .fw-search-top--tour .fw-departure-area{
    margin-bottom: 0;
    border-bottom: 1px solid #CCC;
}
.ga_tour .fw-top .fw-search-top--tour .fw-departure-spot{
    margin-bottom: 0;
}
.ga_tour .fw-top .fw-search-top__item-data .fw-text--date,
.ga_tour .fw-top .fw-search-top__item-data input{
    width: 100%;
}
/**************************************宿泊GADGET*/
.ga_yado dl.col2 dd p {
    width: 100%;
    position: relative;
}
.ga_yado dl.col2 dd p:nth-of-type(2) {
    border-top: 1px solid #CCC;
    border-left: 0;
}


}

/*******************************************************************************
09:FAQ
********************************************************************************/
#faq{
	position: relative;
	padding-top: 1px;
	padding-bottom: 5%;
	background-color: #EFEFEF;
}
#faq:before{
	content: "FAQ";
	color: #CCC;
	top: -0.09em;
}
#faq h3{
	color: #666;
	margin-bottom: 5%;
}
.faqBox{
	background-color: #FFF;
	margin-bottom:0.5em;
	z-index: 1;
	position: relative;
}
.faqBox dt{
	padding:0.8em 1.5em 0.8em 0.8em;
	border-bottom: 1px solid #CCC;
	border-left: 10px solid #ffa6af;
	cursor: pointer;
	font-weight: bold;
	font-size: 1.1em;
	position: relative;
}
.faqBox dt::after{
	position: absolute;
	right: 0.5em;
	top: 50%;
	transform: translateY(-50%);
	line-height: 1;
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 1.1em;
    height: 1.1em;
    -webkit-mask-image: url("../img/chevron-down-solid.svg");
    mask-image: url("../img/chevron-down-solid.svg");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: #CCC;
}
.faqBox dt.on:after{
	content: "\f077";
}
.faqBox dd{
	padding: 1em 1.5em;
	display: none;
}
.case_number{
	text-align: right;
	color: #999;
	margin-top: 5%;
}


























