* {
  box-sizing: border-box;
  outline: none;
}
html {
	-webkit-text-size-adjust: 100%;
	font-size: 62.5%;
	scroll-behavior: smooth;
}
body {
  position: relative;
  max-width: 100%;
  line-height: 2.0;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.5rem;
  color: #333;
  font-feature-settings: "palt";
  letter-spacing: 0.8pt;
  overflow-x: hidden;
}
body li {
  list-style: none;
}
body a {
  display: inline-block;
}
body a:link, body a:visited, body a:hover, body a:active {
  /*color: #fff;*/
  text-decoration: none;
}
body span, body em {
  font-style: normal;
}
body img {
  max-width: 100%;
	width: 100%;
  height: auto;
}
@media screen and (min-width: 940px) {
  .pc {
    display: block;
  }
}
@media (min-width: 1px) and (max-width: 940px) {
  .pc {
    display: none;
  }
}
#contents {
	/*max-width: 960px;*/
	  width: 100%;
	margin: 0 auto;
  position: relative;
}
#plane {
	max-width: 960px;
	width: 90%;
}
@keyframes pathmove {
  0% {
    height: 0;
    top: 0;
    opacity: 0;
  }
  30% {
    height: 40px;
    opacity: 1;
  }
  100% {
    height: 0;
    top: 50px;
    opacity: 0;
  }
}
hr.style1{
  border-top: 1px solid #ccc;
}

/*#contents.bg_fix {
	background-image: url('../img/bg_fix_pc.jpg');
  background-attachment: fixed !important;
  background-size: cover;
  background-position: center;
	padding: 100px 0;
}*/
#contents.bg_fix {
	padding: 100px 0;
	position: relative;
}
#contents.bg_fix::before {
	content:"";
	background-image: url('../img/bg_fix_pc.jpg');
	display:block;
	position:fixed;
	top:0;
	left:0;
	z-index:-1;
	width:100%;
	height:100%;
	background-repeat:no-repeat;
	background-position:center;
	background-size:cover;
}

@media screen and (max-width: 940px) {
	/*#contents.bg_fix {
	background-image: url('../img/bg_fix_sp.jpg');
	}*/
	#contents.bg_fix::before {
		background-image: url('../img/bg_fix_sp.jpg');
	}
}

/*+-----kv-----*/
#kv {
  background: url("../img/main_bg_pc.jpg") no-repeat center;
  background-size: cover;
  text-align: center;
	margin: 0;
  padding: 60px 0 120px;
}
/*#kv p.main {
  display: flex;
  justify-content: center;
  overflow: hidden;
}*/
#kv p.main img {
  width: 45%;
  height: 100%;
  max-width: 700px;
	margin: 0 auto;
}
#kv p.main_date img {
  width: 80%;
  height: 100%;
  max-width: 500px;
	margin: 30px auto 0;
}
.pc_only {
  display: block;
}
.sp_only {
  display: none;
}
@media screen and (max-width: 1023px) {
  #kv p.main img {
    height: 100%;
    width: 100%;
    max-width: 80%;
  }
}

@media screen and (max-width: 940px) {
	#kv {
	  background: url("../img/main_bg_sp.jpg") no-repeat center;
	  background-size: cover;
	  text-align: center;
	  padding-bottom: 160px;
	}
	#kv p.main {
		padding: 25% 0 0;
	}
	  #kv p.main img {
    max-width: 500px;
		  width: 95%;
	}
	#kv p.main_date img {
		margin: 20px auto 0;
	}
}
@media screen and (max-width: 800px) {
  #kv p.main {
    height: 100%;
    width: 100%;
  }
  #kv p.main img {
    object-fit: cover;
    object-position: 50% 50%;
    height: 100%;
    width: 100%;
  }
  .sp_only {
    display: block;
  }
  .pc_only {
    display: none;
  }
}
/*+-----date-----*/
#date {
  /*background: #EA5520;*/
  color: #fff;
  padding: 25px 0;
  margin: 0 auto;
position: relative;
}
#date p.bubble {
	max-width: 190px;
	margin-top: 0;
  position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
#date .inner {
  text-align: center;
}
#date p {
	max-width: 570px;
	margin: 15px auto 0;
	font-size: 24px;
	text-align: center;
	font-weight: bold;
	line-height: 1.8;
}
#date .inner {
  margin-bottom: 20px;
}
#date .inner:last-of-type {
  margin-bottom: 0;
}
#date .inner p.txt:nth-of-type(2) {
  font-weight: normal;
	display: inline-block; 
	font-size: 14px;
}
#date span.box {
  font-size: 16px;
  background: #fff;
  color: #333333;
  padding: 3px 15px;
  margin-right: 15px;
	border-radius: 25px;
}
#date span.num {
  font-size: 28px;
  line-height: 1;
}
@media screen and (max-width: 780px) {
  #date {
    padding: 15px 0 15px;
  }
  #date p {
    text-align: center;
    font-size: 18px;
  }
	#date .inner:nth-of-type(3) p.txt span.box {
	  margin-bottom: 15px;
	}
	#date .inner:nth-of-type(3) p.txt span.sp {
	  font-size: 18px;
		line-height: 1em;
	}
	#date .inner p.txt:nth-of-type(2) {
		margin-top: 5px;
		line-height: 1.5em;
	}
  #date span.box {
    font-size: 14px;
    margin: 0 0 5px;
    padding: 3px 13px;
    display: inline-block;
    line-height: 1.3;
  }
  #date p span:nth-child(6) {
    margin: 10px 0 5px;
    display: inline-block;
  }
  #date span.num {
    font-size: 25px;
  }
  #date .inner:last-child span.box {
    margin-bottom: 15px;
  }
  #date .inner:last-child p.txt span.sp {
    font-size: 19px;
	 line-height: 1.5em;
  }
}

/*-----common-----*/
section {
	margin: 80px auto 0;
}
.flexbox {
	display: flex;
	justify-content: space-evenly;
}
.note {
	font-size: 12px !important;
}
.info p {
	text-align: center;
	line-height: 2.1em;
	font-size: 100%;
	font-weight: bold;
}
.hl {
	width: fit-content;
    margin: 0 auto;
	padding: 0 10px;
    text-align: center;
    background-color: #FFF100;
    font-size: 20px;
    font-weight: bold;
}
.red {
	color: #FF1500;
}
.highlight {
	background-color: #ffe33f;
}
.gold{
  background: linear-gradient(45deg, #CDA24E 0%, #9F701F 45%, #B28841 70%, #CDA24E 85%, #9F701F 90% 100%);
  background-size: 800% 400%;
  animation: gradient 5s infinite cubic-bezier(.62, .28, .23, .99) both;
}
@keyframes gradient {
  0% {
    background-position: 0% 50%;
  }

  50% {
    background-position: 100% 50%;
  }

  100% {
    background-position: 0% 50%;
  }
}
@media screen and (max-width: 940px) {
	.flexbox {
		display: inherit;
	}
	.hl {
		margin-bottom: 15px !important;
		font-size: 18px;
	}
}

/*-----ボタン-----*/
p.btn_air {
	line-height: 1.5em;
}
p.btn_air a:link, p.btn_air a:visited {
	max-width: 400px;
	width: 90%;

  display: inline-block;
  border-radius: 100px;
  font-weight: bold;
  position: relative;
  font-size: 22px;
  padding: 14px 0;
  background: #FF1500;
  color: #fff;
  line-height: 1.2em;
}
p.btn_air a:hover,
.btn:hover{
	opacity: .6;
	transition: .3s;
}
p.btn_air span::after {
	content: '';
    display: inline-block;
    width: 11px;
    height: 11px;
    margin-left: 5px;
	background-image: url("../img/ic_blank.png");
    background-size: contain;
    background-position: bottom;	
}
p.btn_air:first-of-type a {
	margin-top: 50px;
}
p.btn_txt {
	margin-top: 25px;
	text-align: center;
}
p.btn_txt a:link {
	text-decoration: underline;
}
p.btn_txt a:link:hover {
	opacity: .6;
}
.btn a span {
	position: relative;
}
.btn a span.r:after {
  content: '';
  vertical-align: middle;
  color: #fff;
  line-height: 1;
  width: 8px;
  height: 8px;
  border: 2px solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateX(-25%) rotate(45deg);
  position: absolute;
  top: calc(50% - 4px);
  margin-left: 30px;
  transition: all .4s;
}
.btn a span.u:after {
  content: '';
  vertical-align: middle;
  color: #fff;
  line-height: 1;
  width: 8px;
  height: 8px;
  border: 2px solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateX(-25%) rotate(135deg);
  position: absolute;
  top: calc(50% - 4px);
  margin-left: 30px;
  transition: all .4s;
}
/* ホバーアクション */
/*@media(hover: hover) {
  .btn a:hover span:after {
    margin-left: 30px;
  }
}*/

@media screen and (max-width: 940px) {
	p.btn_air a:link, p.btn_air a:visited {
		width: 100%;
		padding: 20px 0;
	}
}


/*-----タイトル-----*/

#contents h1.title {
	width: 100%;
	margin: 0 auto 30px;
	padding: 8px 0;
	font-size: 34px;
	text-align: center;
	color: #fff;
	font-weight: bolder;
	border-radius: 6px 6px 0 0;
}
#contents h2 {
	font-size: 22px;
	font-weight: 900;
	font-family: 'Noto Sans JP';
}

@media screen and (max-width: 940px) {
	#contents h1.title {
		padding: 0 0 18px;
		font-size: 30px;
		line-height: 1.5em;
	}
	#andguam h1.title {
		padding: 16px 0!important;
	}
	#contents h1.title::before {
		bottom: -15px;
	}
	#contents h1.title::after {
		top: 130%;
	}
}

/*-----hotellist-----*/
#contents .hotellist {
	max-width: 90%;
	width: 820px;
	margin: 0 auto;
	position: relative;
	border: solid 2px #BB862C; /*枠有の時*/
	border-radius: 10px;
	box-shadow: 3px 3px 8px 0px rgba(0, 0, 0, 0.2);
	background-color: #fff;
}
#contents .hotellist p {
	width: fit-content;
	margin: 0 auto;
	padding: 2px 25px 1px;
	background-color: #BB862C;
	border-radius: 50px;
	color: #fff;
	font-weight: bold;
	position: absolute;
	top: 0;
	left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%); 
}
#contents .hotellist ul.logo {
	max-width: 90%;
	margin: 0 auto;
	padding: 1rem 0 2rem;
	display: flex;
    justify-content:space-evenly;
	flex-wrap: wrap;
}
#contents .hotellist ul.logo li {
	max-width: 85px;
	align-content: center;
}
#contents .hotellist ul.logo:first-of-type {
	margin-top: 2.5rem;
}
#contents .hotellist ul.logo li img,
#contents .hotellist.sp_only ul.logo li img {
	vertical-align: baseline;
}
#contents .hotellist ul.logo.ken {
	width: 90%;
	margin-top: 0;
	padding-top: 2.5rem;
	justify-content: center;
	border-top: solid 1px #cccccc;
}
#contents .hotellist ul.logo.ken li:last-child {
	max-width: 300px;
	margin: 0 15px;
}


/*-----anchor-----*/
#contents ul.anchor {
	max-width: 960px;
	margin: 9rem auto 0;
	display: flex;
    justify-content: space-around;
}
#contents ul.anchor li {
	width: 215px;
	margin: 0 auto;
	padding: 1rem;
    background: #fff;
	border:solid 1.5px #EA5520;
    border-radius: 50px;
	text-align: center;
	font-weight: bold;
	font-size: 17px;
}
#contents ul.anchor li a {
	margin-left: -10px;
	position: relative;
color :#333;
}
#contents ul.anchor li a::after {
	border-right: solid 3px #EA5520;
    border-top: solid 3px #EA5520;
    content: "";
    display: block;
    height: 10px;
    position: absolute;
    right: -20px;
    top: calc(50% - 8px);
    transform: rotate(135deg);
    width: 10px;
}
#contents ul.anchor li :hover {
	opacity: .6;
	transition: .3s;
}

@media screen and (max-width: 940px) {
	#contents ul.anchor {
		display: inherit;
	}
	#contents ul.anchor li {
		width: 85%;
		margin-bottom: 25px;
	}
}



/*-----sale-----*/

#sale, #pr_ua {
	max-width: 1060px;
	width: 90%;
	padding: 80px 0;
	background-color: #F5ECDA;
	border-radius: 6px;
}
#sale .inner h1 {
	margin: 0 auto;
}
#sale .flexbox div h2 {
	margin-bottom: 25px;
	padding: 10px 30px;
	font-weight: bold;
	font-size: 25px;
	color: #fff;
	line-height: 1.5em;
}
#sale .flexbox h2,
#sale .flexbox .btn {
	background-color: #048484;
}
#sale .flexbox div .btn {
	width: 260px;
	margin: 0 auto;
	padding: 12px 0;
	border-radius: 5px;
}
#sale .flexbox div .btn a:link,
#sale .flexbox div .btn a:visited,
#sale .inner h3 {
	color: #fff	
}
#about, 
.bg {
	padding: 60px 0 100px;
} 
#sale .marker {
	background: linear-gradient(transparent 60%, #ffe33f 50%);
	font-size: 100%;
}
#sale ul {
	max-width: 960px;
	margin: 0 auto;
	/*background-color: #E5FBF6;*/
	text-align: left;
}
#sale ul li .sale_img {
	position: relative;
}
#sale ul li .sale_img p {
	width: 90px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
}
#sale ul li h3 {
	padding: 15px 0;
	font-size: 18px;
	text-align: center;
	line-height: 1.5em;
	color: #fff;
	background-color: #000;
}
#sale ul li .box {
	padding: 40px;
}
#sale ul li.hotel {
	margin-bottom: 120px;
	background-color: #fff;
	box-shadow: 7px 7px #000;
	border: solid 2px #000;
	position: relative;
}
#sale ul li.hotel p.bubble {
	position: absolute;
	max-width: 30%;
	width: 130px;
	top: -40px;
	right: 0;
	z-index: 10;
}
@media screen and (min-width: 1781px) {
	#date .bublle {
		    right: 22%;
	}
}
@media screen and (min-width: 1231px) and (max-width: 1780px) {
	#date .bublle {
		    right: 13%;
	}
}
@media screen and (max-width: 1023px) {
	#date .bublle {
		/*display: none;*/
		top: -40px;
        right: 0;
	}
}
@media screen and (max-width: 844px) {
	#sale ul li.hotel p.bubble {
		top: 65px;
        right: -25px;
	}
}

#sale ul li .flexbox > div {
	width: 50%;
}
#sale ul li .sale_text {
	margin-left: 30px;
}
#sale ul li .sale_text ul.price {
	margin: 18px 0 30px;
	display: flex;
	align-items: end;
	line-height: 1em;
	font-size: 20px;
	font-weight: bold;
}
#sale ul li .sale_text ul.price li:nth-of-type(2) {
	margin: 0 12px;
}
#sale ul li .sale_text ul.price li:nth-of-type(3) {
	margin-bottom: 3px;
	font-weight: bolder;
	color: #FF1500;
	font-size: 26px;
}
#sale ul li .sale_text ul.price li span.small {
	font-size: 12px;
}
#sale ul li .sale_text ul.price li span.big {
	font-size: 165%;
}
#sale h4 {
	font-size: 22px;
	font-weight: bold;
	line-height: 1.5em;
}
#sale .inner p {
	margin-bottom: 10px;
}
#sale .inner p span.tag {
	width: fit-content;
	margin-left: 0;
	margin-bottom: 15px;
	padding: 1px 10px 2px;
	background-color: #000000;
	color: #fff;
	font-weight: bold;
	font-size: 14px;
}
#sale ul li .tokuten div p.square,
#caution div p{
	padding-left: 1em;
	text-indent: -1em;
}
#sale .btn_list {
	max-width: 400px;
	width: 100%;
	margin: 0 auto;
	padding: 10px;
	background-color: #FF1500;
	border-radius: 50px;
	text-align: center;
}
#sale .btn_list a:link, #sale .btn_list a:visited {
	color: #fff;
	font-weight: bold;
}
#sale ul li .btnwrap {
	margin-top: 50px;
}
#sale ul li .btnwrap .btn_txt {
	text-align: center;
	margin-top: 15px;
}
#sale ul li.hotel:last-of-type {
	margin-bottom: 20px;
}
#sale ul li.hotel:last-of-type > p {
	margin-top: 15px;
	text-align: center;
	font-weight: bold;
}
#sale ul li.hotel:last-of-type div {
	padding: 20px 60px 60px;
}
#sale ul li.hotel:last-of-type div p {
	padding-left: 1em;
    text-indent: -1em;
}

@media screen and (max-width: 940px) {
	#sale .info p:nth-of-type(2) {
	font-size: 18px;
}
	#sale ul,#andguam > div,#pr_ua > div {
		width: 92%;
		margin: 0 auto;
	}
	#sale .flexbox {
		margin-bottom: 25px !important;
	}
	#sale ul li .box {
		padding: 40px 15px;
	}
	#sale ul li .flexbox > div {
		width: 100%;
	}
	#sale ul li .sale_text {
		margin-left: 0;
		margin-top: 15px;
	}
	#sale .flexbox div p:first-of-type {
		font-size: 15px;
	}
	#sale ul li.hotel:last-of-type div {
		padding: 20px 15px 40px;
	}
}
@media screen and (min-width: 941px) and (max-width: 1023px) {
	#sale ul li,
	#sale #viz ul li {
		max-width: 95%;
		margin: 0 auto 25px;
	}
}

/*-----andguam,pr_ua-----*/
#andguam {
	max-width: 1060px;
    width: 90%;
    padding-bottom: 80px;
    background-color: #fff;
	border-radius: 6px;
}
#andguam p:nth-of-type(3) {
	margin-bottom: 5px;
	font-size: 16px;
	color: #CC0000;
}
#andguam p span.blue {
	color: #0173BC;
}
#andguam p span.orange {
	color: #ED6D3C;
}
#andguam p span.green {
	color: #09A3A3;
}

#pr_ua {
	padding-top: 0!important;
}
#pr_ua h1.title span {
	margin: 0 10px;
	font-size: 14px;
	line-height: 0;
}
#pr_ua p.label {
	margin: 0 auto 30px;
	padding: 0 3px;
	width: fit-content;
	font-size: 22px;
	color: #fff;
	background-color: #000;
}
#pr_ua div.info span.big {
	letter-spacing: 0.01rem;
	font-size: 120%;
}
#pr_ua div.info span.small {
	font-size: 70%;
}
#pr_ua div:last-of-type {
	margin-top: 60px;
}

#andguam,
#pr_ua {
	text-align: center;
}
#andguam  p,
#pr_ua p {
	margin-top: 10px;
}
#andguam div > p,
#pr_ua div > p {
	line-height: 1.8em;
	font-size: 18px;
	font-weight: bold;
}
#andguam div,
#pr_ua div {
	margin-top: 40px;
	text-align: center;
}
#andguam div > img,
#pr_ua div > img {
	max-width: 450px;
	width: 100%;
	margin-bottom: 3%;
}
#andguam div a:hover,
#pr_ua  div a:hover {
	opacity: .6;
	transition: .3s;
}
#andguam div a img,
#pr_ua div img {
	max-width: 750px;
	width: 100%;
	margin: 0 auto;
}



/* footer
----------------------------------------------------------- */
p.foot_link {
	margin-top: 40px;
	text-align: center;
	color: #fff;
}
p.foot_link a {
	text-decoration: underline;
}

/* footer
----------------------------------------------------------- */
footer {
  font-size: 12px;
}
footer .foot_inner img {
  width: 35%;
}
footer .foot_link {
  text-align: center;
  padding: 10px 0;
	background-color: #A17325;
}
footer .foot_link p {
  font-size: 10px;
  color: #fff;
}

@media screen and (max-width: 940px) {
	footer .foot_inner {
		margin-bottom: 45px;
	}
	footer .foot_inner img {
		width: 90%;
	}
}



/*pageTop
------------------------------------------------------------------------ */
#page-top {
  position: fixed;
  font-size: 12px;
  font-weight: bold;
  right: 0;
  bottom: 10px;
  z-index: 10;
  background: #fff;
  width: 90px;
  height: 70px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 40px 0 0 40px;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.15);
  cursor: pointer;
}
#page-top span {
  display: block;
  text-align: center;
  font-size: 16px;
  color: #A17325;
  line-height: 1.1;
  font-weight: normal;
}
@media print, screen and (max-width:640px) {
  #page-top {
    width: 70px;
    height: 50px;
  }
  #page-top span {
    font-size: 13px
  }
}
