@charset "utf-8";
/* CSS Document */

#pagetop a {
    background: inherit;
	height: inherit;
}

.hotel-btn a {
	background-color: red!important;
}
@media (max-width: 1024px){
	#pagetop a {
		display: block;
	}
}


*{
	box-sizing:border-box;
	padding:0;
	margin:0;
	word-break:normal;
	word-wrap:break-word;
}
body{
	font-family: "Yu Gothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3","ヒラギノ角ゴ Pro W6", "メイリオ","Meiryo",Arial, sans-serif;
	/*font-family: "Yu Mincho", "游明朝", "游明朝体", "	Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Hiragino Mincho Pro", "ヒラギノ明朝 Pro", "MS Mincho", "ＭＳ 明朝", "	MS PMincho", "ＭＳ Ｐ明朝", "Sawarabi Mincho";*/
	background-color:#fff;
	color:#222;
	font-size: 18px;
	line-height: 1.6;
	font-weight: bold;
}
img{
	vertical-align:bottom;
	margin:0;
	padding:0;
	border:0;
	max-width:100%;
}
.clearfix:before,
.clearfix:after{
	display: table;
  	content: " ";
}
.clearfix:after{
	clear: both;
}
table {
  border-spacing: 0;
  border-collapse: collapse;
}
td,
th {
  padding: 0;
}
table {
  background-color: transparent;
}
table col[class*="col-"] {
  position: static;
  display: table-column;
  float: none;
}
table td[class*="col-"],
table th[class*="col-"] {
  position: static;
  display: table-cell;
  float: none;
}
ul li{
	list-style:none;
}
h1,h2,h3,h4,h5,h6,p{
	margin:0px;
}

p{
	font-size: 18px;
	font-weight: normal;
}


.fixedcontainer{
	width:1024px;
	margin:0 auto;
	padding:0px;
}
a{
	color: inherit;
}
a:visited,
a:link,
a:hover,
a:active,
a:focus{
	outline:none;
	text-decoration:none;
}
a:hover{
	opacity:0.8;
	transition:opacity 0.5s ease;
}

.mt-m{
	margin-top: 12px;
}

.red{
	color: #F03C3C;
}
.gray{
	color: #8F8F8F;
}
.bkyellow{
	background-color:#fff100;
}
.bold{
	font-weight:bold;
}
.btline{
	text-decoration:underline;	
}
.underline{
	text-decoration:underline;
}
.text-center{
	text-align:center;
}
.text-center-2{
	text-align:center;
}
.text-left{
	text-align:left;
}
.text-right{
	text-align:right;
}
.visible-sp{
	display:none;
}
.hidden-sp{
	display:block;
}
.visible-xs{
	display:none;
}
.hidden-xs{
	display:block;
}
.visible-500{
	display:none;
}
.hidden-500{
	display:block;
}
.flex{
  display:-webkit-flex;
    display:-webkit-box;
    display:-moz-flex;
    display:-moz-box;
    display:-ms-flexbox;
    display:flex;
    flex-direction:row;
    flex-wrap: nowrap;
}
.w-soldout{
    position: absolute;
    transform: rotate(-7deg);
    background-color: rgb(255 255 255 / 65%);
    color: #f00;
    font-size: 29px!important;
    padding: 0 12px;
    left: 35%;
    border: solid 3px red;
    border-radius: 50%;
    height: 90px;
    width: 90px;
    top: 5%;
    display: flex;
    align-items: center;
    line-height: 1.2;
    font-weight: 900;
    text-align: center;
}

/*-------------header----------------------*/
.main {
    position: relative;
    overflow: hidden;
		font-family: "Noto Sans", "Noto Sans CJK JP", sans-serif;
}
.mv{
	border-bottom: 5px solid #F03C3C;
	background: url("../img/mv_bg.jpg") no-repeat scroll top / cover;
	padding-bottom: 80px;
	position: relative;
	overflow: hidden;
}
.mv_logo{
	/* background: #fff;
	width: 225px; */
	text-align: center;
	padding: 15px;
}
.mv_logo img{
	width: 180px;
	position: absolute;
	top: 0;
    left: 0;
}
.mv_contents{
	margin: 0 auto;
	text-align: center;
	max-width: 820px;
	font-weight: normal;
}
.mv_flag img{
	width: 362px;
	text-align: center;
}
.mv_maincatch_wrap{
	color: #fff;
}
.mv_maincatch_title{
	margin-top: 10px;
	font-size: 45px;
	line-height: 120%;
}
.mv_maincatch_title span{
	font-size: 28px;
}
.mv_maincatch_eng {
	display: flex;
	align-items: center;
	font-family: futura-pt, "Noto Sans", "Noto Sans CJK JP", sans-serif;
	font-weight: 400;
	letter-spacing: 0.08em;
	max-width: 500px;
	margin: 15px auto 40px;
}
.mv_maincatch_eng:before,
.mv_maincatch_eng:after {
	content: "";
	height: 3px;
	flex-grow: 1;
	background-color: #fff;
}
.mv_maincatch_eng:before {
	margin-right: 1rem;
}
.mv_maincatch_eng:after {
	margin-left: 1rem;
}
.mv_campaign{
	background: #D62828;
	padding: 34px;
	padding-top: 0;
	max-width: 820px;
	margin: 0 auto;
	margin-top: 30px;
}
.mv_campaign_label{
	background: #fff;
	color: #D62828;
	display: inline-block;
	padding: 5px 20px;
	border-radius: 30px;
	border: #D62828 3px solid;
	margin-top: -15px;
	position: relative;
	top: -10px;
	box-shadow: 0px 2px 0px rgba(0, 0, 0, 0.25);
	font-weight: bold;

}
.mv_campaign_max{
	width: 70px;
	margin-right: 4px;
}
.mv_campaign_price{
	color: #fff;
	font-size: 30px;
}
.text-l{
	font-size: 70px;
	font-family: futura-pt, "Noto Sans", "Noto Sans CJK JP", sans-serif;
	font-weight: 500;
	line-height: 1;
}
.t-yellow{
	color: #FFE352;
}
.t-red{
	color: #D62828;
}
.mv_campaign_text{
	font-size: 15px;
	color: #fff;
	margin-top: 10px;
}
.mv_campaign_detail{
	display: flex;
	margin-top: 20px;
	justify-content: space-between;
}
.mv_campaign_detailblock{
	background: #fff;
	width: calc(100% / 2 - 10px);
	padding: 15px;
}
.mv_campaign_detailblock p{
	font-size: 20px;
}
.mv_campaign_detailblock p span{
	font-size: 28px;
	color: #D62828;
	font-weight: bold;
}
.mv_campaign_detailblock h2{
	color: #D62828;
	font-size: 20px;
	padding-bottom: 2px;
	margin-bottom: 5px;
	border-bottom: 3px solid #D62828;
}
.mv_campaign_detailblock h2 span{
	font-size: 13px;
}

.detailblock__area{
	background-color: #D62828;
	color: white;
	display: inline;
	padding: 2px 15px;
	border-radius: 15px;
}

.detailblock__block{
	border-bottom: #D62828 dotted 1px;
	position: relative;
}

.detailblock__block p{
	font-size: 13px;
	text-align: left;
}
.detailblock__text{
	margin: 5px 0;
    color: #3c3c3c;
}
.detailblock__w{
    color: #94a50b!important;
    font-size: 17px!important;
}
.fs-1{
	color: black!important;
    font-size: 18px!important;
}
.price{
	font-size: 22px!important;
}
.mv_rightimg_wrap{
	position: absolute;
	right: 5vw;
	top: 0; 
}
.mv_leftimg_wrap{
	position: absolute;
	left: 2vw;
	bottom: 90px; 
}
.mv_img{
	width: 260px;
	height: 260px;
	object-fit: cover;
	border-radius: 50%;
	overflow: hidden;
	border: 3px solid #fff;
	filter: drop-shadow(4px 7px 0px rgba(0, 0, 0, 0.04));
}
.mv_img img{
	width: 260px;
	height: 260px;
	object-fit: cover;
}
.mv_img1{
	position: relative;
	top: -30px;
}
.mv_img2{
	width: 180px;
	height: 180px;
	position: relative;
	right: -30px;
	margin-right: 0;
	margin-left: auto;
}
.mv_img3{
	width: 240px;
	height: 240px;
	position: relative;
	right: 0;
	margin-right: 0;
	margin-left: auto;
}
.mv_img4{
	width: 190px;
	height: 190px;
	position: relative;
	right: 0;
	margin-right: -50px;
	margin-left: auto;
	margin-top: 20px;
}

.breadcrumb {
  margin: 0;
  padding: 0;
  list-style: none;
	color: rgba(170, 170, 170, 0.644);
	font-size: 12px;
	font-weight: 400;
	position: absolute;
	bottom: 15px;
	left: 15px;
}
.breadcrumb li {
  display: inline;
  list-style: none;
}
.breadcrumb li:after {
  content: '>';
  padding: 0 0.2em;
  color: rgba(255, 255, 255, 0.658);
}
.breadcrumb li:last-child:after {
  content: '';
}
.breadcrumb li a {
  text-decoration: none;
  color: #fff;
}
.breadcrumb li a:hover {
  text-decoration: underline;
}

@media screen and (max-width:700px){
	.mv_campaign_detailblock {
		width: 100%;
	}
	.mv_campaign_detail{
		display: block;
	}
}

/*
.title .pc{
    max-width: 1920px;
    max-height: 600px;
    width: 105%;
}
.main .sp{
    display: none;
}
.title {
    background: url("../img/bg_main.jpg") no-repeat scroll center / cover;
    position: relative;
}
.title #title-txt{
    position: absolute;
    left: 4vw;
    width: 40vw;
    top: 50%;
    transform: translateY(-50%);
    color: #F03C3C;
}
.title #title-txt img{
    width: 90%;
}
.title #title-txt ul{
    padding: 25px 0 5px;
}
.title #title-txt ul li{
    padding: 0 0 15px;
}
.title #title-txt .ico{
    background: #F03C3C;
    width: 120px;
    color: #fff;
    letter-spacing: 3px;
    font-size: 16px;
    text-align: center;
    line-height: 1;
    padding: 5px;
    box-sizing: border-box;
    border-radius: 30px;
    margin: 0 0 8px;
}
.title #title-txt dl{
    display: flex;
    align-items: center;
    font-size: 20px;
    line-height: 1.3;
}
.title #title-txt dl dd{
    font-size: 34px;
    padding: 0 0 0 10px;
}
.title #title-txt ul + p{
    font-size: 52px;
    line-height: 1;
}
.title #title-txt ul + p span{
    margin: 0 6px 0 -6px;
    font-size: 53px;
}

@media screen and (max-width:1380px){

  .title #title-txt .ico {
    font-size: 13px;
    padding: 7px 5px 4px;
  }
  .title #title-txt dl {
    font-size: 17px;
    line-height: 1.1;
  }
  .title #title-txt ul + p {
    font-size: 40px;
    line-height: 1;
  }
  .title #title-txt ul + p span {
    margin: 0 6px 0 -6px;
    font-size: 38px;
  }

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

  .title #title-txt .ico {
    font-size: 11px;
    padding: 7px 5px 4px;
  }
  .title #title-txt dl {
    font-size: 14px;
    line-height: 1.1;
  }
  .title #title-txt dl dd {
    font-size: 30px;
  }
  .title #title-txt ul {
    padding: 20px 0 0;
  }
  .title #title-txt ul + p {
    font-size: 33px;
    line-height: 1;
  }
  .title #title-txt ul + p span {
    margin: 0 6px 0 -6px;
    font-size: 35px;
  }

}
@media screen and (max-width:960px){
  .title .pc {
      display: none;
  }
  .title .sp {
      display: block;
  }
  
  .main {
    border-top: none;
    border-bottom: none;
    margin: 0;
  }
  .title #title-txt {
    position: absolute;
    left: 10vw;
    width: 80vw;
    top: 10vw;
    transform: translateY(0);
    color: #F03C3C;
  }
  .title #title-txt ul {
    padding: 4% 0 2%;
  }
  .title #title-txt ul li {
    padding: 0 0 3%;
  }
  .title #title-txt dl {
    font-size: 4vw;
  }
  .title #title-txt dl dd {
    font-size: 8vw;
  }
  .title #title-txt .ico {
    font-size: 13px;
    padding: 5px;
    margin: 0 0 2%;
  }
  .title #title-txt img {
    width: 100%;
  }
  .title #title-txt ul + p {
    font-size: 8vw;
  }
  .title #title-txt ul + p span {
    font-size: 7.5vw;
  }
  
}
@media screen and (max-width:700px){
  .title #title-txt {
    top: 8vw;
  }
  .title #title-txt dl {
    font-size: 4.5vw;
  }
  .title #title-txt .ico {
    font-size: 11px;
    width: 100px;
  }
}
/*
.main:before{
	content: '';
	position: absolute;
	width: 100%;
	height: 76px;
	background: #fff;
	left: 0;
	top: 0;

	z-index: 2;
}
*/

/*
.main img{
	position: absolute;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
	height: 682px;
	max-width: 1920px;
	z-index: 1;
}
*/

/* タブのデザイン追加分 */
.section_hotel{
	display: none;
}
.section_hotel.active{
	display: block;
}



.hakodate__tab--wrap{
	display: flex;
	justify-content: space-evenly;
	margin: 30px 5px;
  }
  
  .hakodate__tab--wrap li{
	border: solid 2px #D62828;
	padding: 10px 20px;
	color: #D62828;
	width: calc(100% / 2 - 5px);
	text-align: center;
	position: relative;
  }
  
  .hakodate__tab--wrap li.active{
	  color: white;
	  background-color: #D62828;
  }
  
  .hakodate__tab--wrap li.active:before {
	  content: "";
	  position: absolute;
	  top: 100%;
	  left: 50%;
	  margin-left: -15px;
	  border: 15px solid transparent;
	  border-top: 15px solid #D62828;
  }
  .pc-none {
	  display: none;
  }
  @media screen and (max-width:700px){
		  .pc-none {
			  display: block;
		  }
  }
  /* タブのデザイン追加分ここまで */


.g-nav{
	padding: 20px 0;
	border-bottom: 1px solid #F2F2F2;
	background-color: #fff;
}
.g-nav a{
	font-size: 18px;
	font-weight: 400;
	position: relative;
}
.g-nav ul{
	display: flex;
	justify-content: center;
	margin: 0 auto;
	font-size: 24px;
	text-align: center;
}
.g-nav ul li{
	padding: 0 60px;
	border-right: 1px solid #BDBDBD;
}
.g-nav ul li:first-child{
	border-left: 1px solid #BDBDBD;
}

.g-nav a::after{
    /* 擬似要素で三角アイコンをつくる */
    content: '';
    display: inline-block;
    border-style: solid;
    border-width: 8px 0 8px 8px;
    border-color: transparent transparent transparent #D62828;
    display: inline-block;
    width: 0;
    height: 0;
    position: absolute;
    bottom: -20px;
    right: 50%;
    transform: rotate( 90deg );
}

.is-fixed {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
	width: 100%;
	background-color: rgba(255,255,255,0.8);
	-webkit-transition: all .4s ease 0s,background .6s ease .2s;
	transition: all .4s ease 0s,background .6s ease .2s;
	-webkit-overflow-scrolling: touch;
  }

.section{
	padding: 40px 0;
}
.section_red{
	padding: 40px 0;
	/* background: url("../img/main_bg.jpg"); */
    background-color: #b31730;
}

/* .section_yellow{
    background-color: #edd22f;
} */

.section_normal{
	padding: 40px 0;
	/* background: url("../img/main_bg.jpg"); */
     background-color: #FFFFFF;
}
.section_about{
	padding: 40px 0;
	background: #ffe5e5;
}
.section-inner{
	padding: 60px;
	background: #fff;
	width: 1020px;
	margin: 0 auto;
}
.balloon_title {
  position: relative;
  padding: 15px 30px;
  margin: 0 auto 40px;
  max-width: 700px;
  text-align: center;
  color: #fff;
  font-size: 30px;
  background-color:c8212c;
  background-image: url("../img/title_bg_new.jpg");
}
.balloon_title_normal {
  position: relative;
  padding: 15px 30px;
  margin: 0 auto 40px;
  max-width: 700px;
  text-align: center;
  color: #fff;
  font-size: 30px;
  background-color:#e06d4a;
  background-image: url("../img/title_bg_normal.jpg");
}
.balloon_title:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #c8212c;
}
.balloon_title p {
  margin: 0;
  padding: 0;
}
.balloon_title_normal:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #e06d4a;
}
.balloon_title_normal p {
  margin: 0;
  padding: 0;
}
.text-center{
	text-align: center;
}

h3{
	font-size: 34px;
	text-align: center;
	color: #D62828;
	margin-bottom: 10px;
	line-height: 1.5em;
}

.section_normal h3{
	font-size: 34px;
	text-align: center;
	color: #e38556;
	margin-bottom: 10px;
	line-height: 1.5em;
}

h4{
	font-size: 28px;
	text-align: center;
	color: #D62828;
	margin-bottom: 16px;
	line-height: 1.5em;
}

.text-l{
	font-size: 1.9em;
}
.text-m{
	font-size: 16px;
}
.text-s{
	font-size: 14px;
}
.text-big{
	font-size: 1.9em;
}
.about_price{
	margin: 40px auto;
	border-top: 3px solid #aaa;
	border-bottom: 3px solid #aaa;
	padding: 20px 0;
	max-width: 700px;
	font-weight: bold;
	font-size: 30px;
	text-align: center;
}

.search-txt1{
	font-weight: bold;
	margin-bottom: 35px;
}
.search{
	max-width: 800px;
	margin: 0 auto 20px;
	display: flex;
	justify-content: space-between;
}
.search-in{
	width: 388px;
}
.search-in.center{
    margin: 0 auto;
}
.search-ttl{
	text-align: center;
	font-size: 25px;
	font-weight: bold;
	margin-bottom: 10px;
}
.search-box{
	border-radius: 5px;
	border: 3px solid #707070;
	text-align: center;
	padding: 20px;
}
.search-box-ttl{
	font-size: 20px;
	margin-bottom: 10px;
}
.search-box-ttl span{
	width: 140px;
	padding: 2px 5px 1px;
	border-radius: 10px;
	background: #0099FF;
	text-align: center;
	color: #fff;
	display: inline-block;
}
.search-box-txt{
	font-size: 21px;
}
.search-txt2{
	font-weight: bold;
	font-size: 25px;
	text-align: center;
	margin-bottom: 20px;
}
.search-txt2 span{
	color: #F03C3C;
	font-size: 45px;
}
.btns-wrapper{
	text-align: center;
}
.btns-wrapper-2{
	text-align: center;
    margin-top: 15px;
}
.btn{
	display: inline-block;
	font-size: 22px;
	text-align: left;
	padding: 15px 65px 15px 40px;
	position: relative;
	border-radius: 6px;
	margin: 0 10px;
	font-weight: bold;
}
.btn:after{
	content: '';
	position: absolute;
	width: 24px;
	height: 24px;
	background: url(../img/arrow_bottom.svg) no-repeat;
	background-size: contain;
	background-position: center;
	top: 50%;
	transform: translateY(-50%);
	right: 18px;
}
.btn-l{
	background: #2A68E0;
	color: #fff;
	border: none;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.2) 100%), #2A68E0;
	box-shadow: inset 0px -5px 0px rgba(0, 0, 0, 0.25);
}
.btn-l:after{
	background: url(../img/arrow_bottom.svg) no-repeat;
	background-size: contain;
	background-position: center;
}
.btn-l-2{
	background: #D62828;
	color: #fff;
	border: none;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.2) 100%), #D62828;
	box-shadow: inset 0px -5px 0px rgba(0, 0, 0, 0.25);
}
.btn-l-2:after{
	background: url("../img/arrow_right.svg") no-repeat;
	background-size: contain;
	background-position: center;
}
.btn2-l{
	background: #666666;
	color: #fff;
	border: none;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.2) 100%), #666666;
	box-shadow: inset 0px -5px 0px rgba(0, 0, 0, 0.25);
	font-size:16px;
	padding: 15px 30px 15px 30px!important;
}
.btn2-l:after{
	background-image: none!important;
}
.premium-ticket {
	border: 3px solid #F03C3C;
	border-radius: 5px;
	margin: 40px 0 0;
	padding: 32px;
}


.plan_wrap{
	margin-top: 40px;
	display: flex;
	justify-content: space-between;
}
.plan_block{
	width: 31%;
}
.plan_block .text-s{
	min-height: 170px;
}
.plan_title{
	background: url(../img/plan_bg1.jpg) no-repeat;
	background-size: cover;
	background-position: center;
	padding: 60px 0;
	text-align: center;
	color: #fff;
	font-weight: 500;
	margin-bottom: 16px;
	line-height: 2;
	font-size: 0.8em;
}
.plan_title .text-l{
	font-size: 21px;
}
.plan_title2{
	background: url(../img/plan_bg2.jpg) no-repeat;
	background-size: cover;
}
.plan_title3{
	background: url(../img/plan_bg3.jpg) no-repeat;
	background-size: cover;
}
.plan_list{
	margin-top: 30px;
}
.plan_list h5{
	color: #e38556; /* #D62828から変更 */
	font-size: 15px;
	padding-bottom: 4px;
	border-bottom: 2px solid #e38556; /* #D62828から変更 */
	text-align: center;
}
.plan_list h5:before{
	display: inline-block;
	content: "";
	width: 20px;
	height: 20px;
	background: url(../img/plan_icon_normal.png) no-repeat; /* 通常宿泊プラン専用 */
	top: 4px;
	position: relative;
	margin-right: 4px;
}
.plan_list ul li a{
	padding: 8px 20px;
	font-size: 16px;
	border-bottom: 1px solid #eaeaea;
	display: flex;
	justify-content: space-between;
}
.plan_list ul li:last-child a{
	border-bottom: 0;
}
.plan_list ul li a:after{
	display: inline-block;
	content: "";
	width: 14px;
	height: 8px;
	background: url(../img/arrow_bottom_normal.png) no-repeat; /* arrow_bottom_red.svgから変更 */
	top: 10px;
	position: relative;
	margin-right: 4px;
}

.section_hotel{
	margin-top: 50px; /* 80から50に変更 */
	padding-top: 80px;
	border-top: 1px solid #eaeaea;
}

.h4_line{
	text-align: center;
	margin-bottom: 50px;
}
.h4_line span{
	font-size: 32px;
	color: #222;
	border-bottom: 5px solid #e38556; /* #D62828から変更 */
	padding-bottom: 10px;
	display: inline-block;
}

.sec-in2{
	max-width: 1020px;
	margin: 0 auto;
	padding: 0 60px;
}
.back{
	background: #b31730;
}
.hotel-block{
	margin-top: 30px;
	margin-bottom: 90px;
	display: flex;
	justify-content: space-between;
    position: relative;
}
.hotel-one:last-child{
	margin-bottom: 0;
}
.hotel-img {
    width: 47%;
    overflow: hidden;
    text-align: center;
    font-size: 14px;
	position: relative;
}
.hotel-img figure{
	margin: 0;
}
.hotel-img figcaption{
	font-weight: normal;
	color: #888;
	font-size: 13px;
}
.hotel-img .hotel-slide div p{
	padding: 8px 0 5px;
	font-size: 15px;
}
.hotel-img-block{
	position: relative;
	margin-bottom: 20px;
}
.slick-slide img{
	width: 100%;
	height: 200px;
	object-fit: cover;
	margin: 0;
}
/* .hotel-img-label{
	background: #D62828;
	color: #fff;
	font-size: 12px;
	padding: 4px 10px;
	position: absolute;
	left: 0;
	top: 0;
	z-index:1111;
	font-weight: normal;
} */
.hotel-block .ryokoshien_mark {
    display: block;
    font-size: 18px;
    text-align: center;
    width: 100px;
    height: 100px;
    line-height: 100px;
    border-radius: 50%;
    background: #e3b020;
    color: #FFF;
    position: absolute;
    top: -18px;
    left: -18px;
    z-index: 2;
}
.hotel-block .ryokoshien_mark_higaeri {
    display: block;
    font-size: 18px;
    text-align: center;
    width: 100px;
    height: 100px;
    line-height: 100px;
    border-radius: 50%;
    background: #e3b020;
    color: #FFF;
    position: absolute;
    top: -18px;
    right: -18px;
    z-index: 999999;
}

.section_normal .hotel-img-label{
	background: #e38556;
	color: #fff;
	font-size: 12px;
	padding: 4px 10px;
	position: absolute;
	left: 0;
	top: 0;
	z-index:1111;
	font-weight: normal;
}

.hotel-icon-wrap{
	display: flex;
	flex-grow: 1;
	justify-content: start;
}
.hotel-icon{
	display: flex;
	flex-direction: column;
	border-radius: 2px;
	text-align: center;
	padding: 5px 0;
	width: 14%;
	line-height: 1.1;
}
.hotel-icon img{
	width: 20px;
	margin: 0 auto 5px;
}
.hotel-icon{
	font-size: 9px;
}
.service-disable{
	opacity: 0.2;
}
.slick-slide img{
	height: 300px;
	object-fit: cover;
}
.hotel-content{
	width: 49%;
	position: relative;
}
.hotel-ttl{
	font-size: 20px;
	margin-bottom: 12px;
	line-height: 1.3;
}
.hotel-ttl1{
	font-size: 25px;
	padding: 5px 0;
	border-top: 2px solid #707070;
	border-bottom: 2px solid #707070;
	text-align: center;
	writing-mode: vertical-rl;
  text-orientation: upright;
  letter-spacing: 5px;
}
.hotel-ttl2{
	margin-left: 30px;
	font-size: 33px;
	color: #5B5B5B;
	width: calc(100% - 75px);
}

@media screen and (min-width:1000px){
  .sp-only{
    display: none;
  }
}


@media screen and (max-width:700px){
  .hotel-ttl2 .ico-web {
    font-size: 13px;
    padding: 4px 10px 4px 12px;
  }
}

.hotel-txt{
	margin-bottom: 15px;
}
.hotel-point {
	font-size: 15px;
}
.hotel-point li{
	margin-bottom: 5px;
}
.hotel-point li:before{
	display: inline-block;
	content: "";
	width: 16px;
	height: 16px;
	background: url(../img/check.svg) no-repeat;
	left: 0;
	position: relative;
	margin-right: 4px;
	top: 2px;
}

.hote-price{
	text-align: center;
}
.balloon2-right {
  position: relative;
  display: inline-block;
	margin-right: 20px;
  padding: 4px 10px;
  min-width: 120px;
  max-width: 100%;
  color: #fff;
  font-size: 16px;
  background: #D62828;
}
.balloon2-right:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  margin-top: -15px;
  border: 15px solid transparent;
  border-left: 15px solid #D62828;
}
.balloon2-right p {
  margin: 0;
  padding: 0;
}
.hotel-price-default{
	background: #fafafa;
	text-align: center;
	margin-top: 20px;
	font-size: 14px;
	font-weight: normal;
	line-height: 1.4
}
.hotel-price-default .line-through{
	text-decoration: line-through;
	margin-left: 10px;
}
.hotel-price-sale{
	color: #D62828;
	line-height: 1;
}
.t-number{
	font-family: futura-pt, sans-serif;
	font-weight: 500;
}
.hotel-price-salewrap{
	display: flex;
	text-align: center;
	justify-content: center;
}
.hotel-btn{
	margin-top: 20px;
}
.hotel-btn .btn{
	width: 100%;
	margin-left: 0;
	text-align: center;
}
.hotel-btn .btn:after{
	background: url(../img/arrow_right.svg) no-repeat;
}

.last-block{
	margin-bottom: 0;
}

.hotel-last{
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.btn2{
	color: #FF5E5E;
	border: 2px solid #FF5E5E;
	border-radius: 5px;
	background: #fff;
	font-size: 17px;
	padding: 5px 70px 5px 10px;
	position: relative;
}
.btn2:after{
	content: '';
	position: absolute;
	width: 45px;
	height: 8px;
	background: url(../img/arrow2.svg) no-repeat;
	background-size: contain;
	background-position: center;
	top: 50%;
	transform: translateY(-50%);
	right: 10px;
}

.day-plan{
	padding: 16px;
	padding-top: 0;
	margin-top: 16px;
	font-size: 15px;
	background: #eee;
}
.day-label{
	background: #D62828;
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	width: 40px;
	padding: 3px;
	text-align: center;
	margin-bottom: 3px;
}
.day-plan li{
	font-weight: normal;
	position: relative;
	border-bottom: 1px solid #ddd;
	padding: 5px 0;
	font-size: 13px;
}
.day-plan li:last-child{
	border-bottom: 0;
	padding-bottom: 0;
}
.day-plan-caption{
	font-weight: normal;
	margin-top: 8px;
	color: #888;
	font-size: 12px;
}

.trip-one2{
	flex-direction: row-reverse;
}
.trip-one .hotel-ttl2{
	font-size: 24px;
}
.trip-one .hotel-ttl{
	align-items: initial;
}

#spot{
	padding: 80px 0;
}
.spot-list{
	padding-bottom: 30px;
	border-bottom: 1px dashed #707070;
	margin-bottom: 30px;  
}
.spot-list:last-child{
	padding-bottom: 0;
	border-bottom: none;
	margin-bottom: 0;  
}
.spot-cat span{
	font-size: 22px;
	font-weight: normal;
	color: #fff;
	padding: 5px 20px;
	border-radius: 20px;
	background: #0099FF;
}
.spot-list-in{
	display: flex;
	flex-wrap: wrap;
}
.spot-one{
	width: 25%;
	margin-top: 30px;
	text-align: center;
}
.spot-img{
	width: 200px;
	height: 200px;
	border-radius: 50%;
	overflow: hidden;
	margin: 0 auto;
	border: 3px solid #D62828;
	margin-bottom: 15px;
}
.spot-img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.section_desc{
	background: #fafafa;
	padding-top: 60px;
}
.section_desc h2{
	border-bottom: 2px solid #D62828;
	padding-bottom: 8px;
	margin-bottom: 20px;
}
.desc-in{
	margin-bottom: 80px;
}
.desc-txt{
	color: #FF5E5E;
	border-top: 1px solid #FF5E5E;
	border-bottom: 1px solid #FF5E5E;
	padding: 20px 0;
}
.desc-txt2 span{
	padding-bottom: 15px;
	border-bottom: 3px solid #FF5E5E;
}
.btn3{
	display: inline-block;
	font-size: 17px;
	text-align: left;
	padding: 5px 65px 3px 20px;
	position: relative;
	border: 2px solid #4E4E4E;
	border-radius: 5px;
}
.btn3:after{
	content: '';
	position: absolute;
	width: 40px;
	height: 7px;
	background: url(../img/arrow.svg) no-repeat;
	background-size: contain;
	background-position: center;
	top: 50%;
	transform: translateY(-50%);
	right: 10px;
}
.faq-ques{
	font-size: 22px;
	color: #D62828;
	margin-bottom: 10px;
	font-weight: 600;
}
.faq-ques span{
	margin-left: 5px;
}
.faq-one{
	margin-bottom: 30px;
}
.faq-one:last-child{
	margin-bottom: 0;
}
.faq-ans{
	padding: 15px;
	border-radius: 5px;
	background: #fff;
}
.slick-list{
	margin-bottom: 20px;
}
.slick-dots li button:before{
	content: none;
}
.slick-dots{
	position: absolute;
	top: 300px;
}
.slick-dots li{
	width: 10px;
}
.slick-dots li button{
	padding: 2px;
	height: 5px;
	width: 10px;
	background: #aaa;
}
.slick-dots li.slick-active button{
	background: #444;
}
.slick-prev{
	left: 10px
}
.slick-next{
	right: 10px
}
.slick-prev, .slick-next{
	z-index: 111;
	top: 145px;
	width: 26px;
	height: 26px;
	transform: none;
}
.slick-prev:before, .slick-next:before{
	font-size: 26px;
}
.visible-tb{
	display: none;
}

.other_campaign {
	width: 33%;
}
.other_campaign a{
	display: block;
	padding: 20px;
	text-align: center;
	transition: .4s;
	font-size: 18px;
}
.other_campaign a:after{
	display: none;
}
.other_campaign a:hover{
	opacity: 0.8;
	transition: .2s;
}

.other_campaign_wrap{
	display: flex;
	justify-content: space-between;
}

footer{
	border-top: 1px solid #ddd;
	padding: 30px 0;
	text-align: center;
	font-weight: normal;
	font-size: 13px;
}

@media screen and (max-width:1250px){
	.mv_img1{
		width: 20vw;
		height: 20vw;
	}
	.mv_img2{
		width: 10vw;
		height: 10vw;
	}
	.mv_img3{
		width: 15vw;
		height: 15vw;
	}
	.mv_img4{
		width: 10vw;
		height: 10vw;
	}

	.mv_img img{
		width: auto;
		height: 100%;
	}
}

@media screen and (max-width:1024px){

	p{
		font-size: 16px;
	}

	.mv_img1{
		width: 25vw;
		height: 25vw;
		top: 0;
    margin-left: -15vw;
	}
	.mv_img2{
		width: 18vw;
		height: 18vw;
		right: -2vw;
	}
	.mv_img3{
		width: 18vw;
		height: 18vw;
		margin-top: 1vw;
	}
	.mv_img4{
		width: 12vw;
		height: 12vw;
		margin-right: -15vw;
    margin-left: auto;
    margin-top: -10vw;
	}
	.mv_leftimg_wrap{
		left: -5vw;
		bottom: -1vw;
	}
	.mv_rightimg_wrap{
		top: -10vw;
		right: -4vw;
	}

	.section-inner{
		max-width: 94%;
		padding: 4%;
	}

	.section,
	.section_about,
	.section_red,
    .section_normal,
	#spot{
		padding: 20px 0;
	}

	.spot-img {
    width: 18vw;
    height: 18vw;
	}

	.breadcrumb{
		display: none;
	}
}

@media screen and (max-width:650px){
	.g-nav{
			/* position: fixed;
			bottom: 0; */
			/* width: 100%;
			background: #fff;
			z-index: 111;
			padding: 10px 0;
			box-shadow: 0 0 1px rgba(0, 0, 0, 0.2) */
	}
	.g-nav ul li{
			padding: 0;
			width: 50%;
	}
	.g-nav ul li a{
			display: block;
			padding: 0;
			font-size: 14px;
	}
	.g-nav ul li:first-child{
		border-left: 0;
	}
	.g-nav ul li:last-child{
		border-right: 0;
	}

	p{
		font-size: 14px;
	}

	/* .section_about p br{
		display: none;
	} */

	.mv_logo{
		width: 140px;
	}
	.mv_logo img{
		width: 120px;
	}
	img{
		max-width: 100%;
	}
	.mv_contents{
		width: 95%;
		margin: 10px auto;
	}
	.mv_contents img{
		max-width: 76%;
	}
	.mv_img1{
		width: 30vw;
		height: 30vw;
	}
	.mv_img2{
		width: 20vw;
		height: 20vw;
		right: -4vw;
	}
	.mv_img1{
		top: 0;
    margin-left: -20vw;
	}
	.mv_img3{
		width: 20vw;
		height: 20vw;
	}
	.mv_img4{
		width: 16vw;
		height: 16vw;
		margin-right: -20vw;
    margin-left: auto;
    margin-top: -10vw;
	}
	.mv_maincatch_eng{
		margin: 10px auto 20px;
	}
	.mv_maincatch_title{
		font-size: 7vw;
		margin-top: 0;
	}
	.mv_maincatch_title span{
		font-size: 5vw;
	}
	.mv_campaign_text{
		font-size: 3vw;
	}
	.mv_campaign_detail {
		margin-top: 10px;
	}
	.mv_campaign_detailblock{
		padding: 10px;
		margin-bottom: 15px;
	}
	.mv_campaign_detailblock p{
		font-size: 13px;
	}
	.detailblock__block {
		padding-top: 8px;
	}
	.mv_campaign{
		padding: 0 3vw 3vw 3vw;
	}
	.mv_leftimg_wrap{
		left: -5vw;
		bottom: -2vw;
	}
	.mv_rightimg_wrap{
		top: -10vw;
		right: -4vw;
	}
	.mv_img img{
		width: 100%;
    height: 100%;
	}
	.mv_campaign_label{
		top: -2vw;
	}
	.mv_campaign_max{
		width: 12vw;
	}
	.mv_campaign_price{
		font-size: 6vw;
	}
	.mv_campaign_detailblock h2{
		font-size: 3.7vw;
	}

	.balloon_title{
		font-size: 5.4vw;
		padding: 12px;
		margin-bottom: 24px;
	}
    .balloon_title_normal{
		font-size: 5.4vw;
		padding: 12px;
		margin-bottom: 24px;
	}
	h3,.h4_line span,.section_normal h3{
		font-size: 5.3vw;
		margin-bottom: 4vw;
	}
	h3 br,h4 br{
		display: none; /* h2を削除済 */
	}
	.h4_line{
		margin-bottom: 6vw;
	}
	h4,.hotel-ttl{
		font-size: 5.6vw;
	}
	.section_desc h2{
		font-size: 5vw;
	}
	.btn{
		font-size: 16px;
	}

	.text-l{
		font-size: 1.9em;
	}
	.text-m{
		font-size: 15px;
	}
	.text-s{
		font-size: 14px;
	}

	.about_price{
		font-size: 5vw;
		margin: 4vw 0;
    padding: 10px 0;
	}
	.premium-ticket{
		padding: 4vw;
	}

	.plan_wrap{
		margin-top: 20px;
	}

	.plan_list{
		margin-top: 10px;
	}
	.plan_list h5{
		font-size: 4.5vw;
	}

	.plan_wrap,
	.hotel-block,
	.other_campaign_wrap{
		flex-wrap: wrap;
	}
	.plan_title{
		padding: 30px 0;
	}
	.plan_block{
		width: 100%;
		margin-bottom: 40px;
	}
	.plan_block:last-child{
		margin-bottom: 0;
	}
	.plan_block .text-s{
		min-height: auto;
	}
	.plan_list ul li a{
		font-size: 16px;
	}
	.section_hotel{
		padding-top: 30px;
		margin-top: 30px;
	}

	.hotel-img .hotel-slide div p{
		font-size: 13px !important;
		padding-bottom: 0;
	}
	.hotel-img figcaption{
		font-size: 11px !important;
	}
	.hotel-point li{
		font-size: 15px;
	}
	.hotel-point li:before {
    display: inline-block;
    content: "";
    width: 12px;
    height: 12px;
    background: url(../img/check.svg) no-repeat;
		background-size: cover;
    left: 0;
    position: relative;
    margin-right: 4px;
    top: 2px;
	}
	.slick-dots{
		top: 200px;
		text-align: center !important;
	}
	.slick-prev, .slick-next{
		top: 95px;
	}
	.slick-slide img{
		height: 200px;
	}
	.slick-dotted.slick-slider{
		margin-bottom: 0;
	}

	.balloon2-right{
		font-size: 3vw;
		margin-right: 2vw;
		min-width: auto;
	}
	.hotel-price-sale{
		font-size: 3.6vw;
	}
	.line-through .text-big{
		font-size: 1.5em
	}
	.hotel-price-salewrap{
		margin-top: 5px;
	}

	.balloon2-right:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 100%;
    margin-top: -5px;
    border: 5px solid transparent;
    border-left: 5px solid #D62828;
	}

	.hotel-block{
		margin-bottom: 15vw;
	}
	.hotel-block:last-child{
		margin-bottom: 0;
	}
    
    .hotel-block .ryokoshien_mark {
    font-size: 16px;
    width: 80px;
    height: 80px;
    line-height: 80px;
    top: -20px;
    left: -13px;
    }
    
    .hotel-block .ryokoshien_mark_higaeri {
    font-size: 16px;
    width: 80px;
    height: 80px;
    line-height: 80px;
    top: -20px;
    right: -13px;
    }

	#trip .hotel-block .hotel-content{
		order:2
	}

	.other_campaign{
		width: 100%;
		margin-bottom: 10px;
	}

	.day-label{
		font-size: 13px;
		width: 60px;
	}
	.day-plan li{
		font-size: 13px;
	}
	.day-plan-caption{
		font-size: 11px;
	}

	.spot-img{
		margin-bottom: 10px;
	}
	.spot-ttl{
		font-size: 16px;
		margin-top: 5px;
	}

	.desc-txt2 a{
		display: block;
		font-size: 4.5vw;
	}

	.h2 span{
		font-size: inherit
	}

	.faq-ques{
		font-size: 4.8vw;
	}

	.desc-in:last-child{
		margin-bottom: 0;
	}
    
    .text-center-2{
        text-align: center;
        margin-top: 15px;
        font-size: 13px;
    }
}
/*全国旅行支援　感染対策と*/
.mv2_campaign{
	/*background: #D62828;*/
	/*background: #FFF;*/
	padding: 5px;
	max-width: 700px;
	margin: 0 auto;
	margin-top: 30px;
	/* display: flex; */
}
.mv2_campaign_detail{
	display: flex;
	justify-content: center;
}
.mv2_campaign_detailblock{
	background: #FFF;
	width: 95%;
	padding: 10px;
    border:  1px solid #D62828;
    margin: 0 4px;
}
.mv2_campaign_detailblock p{
	font-size: 18px;
}
.mv2_campaign_detailblock h2{
	color: #D62828;
	font-size: 20px;
	padding-bottom: 2px;
	margin-bottom: 5px;
	border-bottom: 1px solid #D62828;
}

@media screen and (max-width:1024px){
	.mv2_campaign_detailblock{
		padding: 10px;
	}
	.mv2_campaign_detailblock p{
		font-size: 13px;
	}
	.mv2_campaign{
		padding: 3vw 3vw 3vw 3vw;
	}
	.mv2_campaign_detailblock h2{
		font-size: 3.7vw;
	}
	.mv_campaign_detail {
		margin-top: 10px;
	}
}
