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

  @import url("/artautumn/common/css/floating.css");

/* ----------
 全体共通
 ---------- */
.cf::after {
  content: "";
  display: block;
  clear: both;
}
* {
	box-sizing: border-box;
}
body {
	font-family:"中ゴシックBBB", "Gothic Medium BBB","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "游ゴシック",YuGothic,"メイリオ", "Meiryo", sans-serif;
	color:#000;
}

a:link,
a:visited,
a:hover,
a:active {
	color: #000;
	text-decoration: none;
}
a.link {
	border-bottom: #000 1px solid;
}
a:hover {
	opacity: 1;
}
.red {
	color: #f00;
}
.pc {
	display: block;
}
.tab {
	display: none;
}
.sp {
	display: none;
}
	@media screen and (min-width:768px) and (max-width:1024px) {
		.pc {
			display: none;
		}
		.tab {
			display: block;
		}
		.sp {
			display: none;
		}	
	}
	@media only screen and (max-width: 767px) {
		.pc {
			display: none;
		}
		.tab {
			display: none;
		}
		.sp {
			display: block;
		}
	}

.mt10 { margin-top: 10px!important; }
.mt20 { margin-top: 20px!important; }
.mt30 { margin-top: 30px!important; }
.mt40 { margin-top: 40px!important; }
.mt50 { margin-top: 50px!important; }
.mt80 { margin-top: 80px!important; }
.mb10 { margin-bottom: 10px!important; }
.mb20 { margin-bottom: 20px!important; }
.mb30 { margin-bottom: 30px!important; }
.mb40 { margin-bottom: 40px!important; }
.mb50 { margin-bottom: 50px!important; }
.mb80 { margin-bottom: 80px!important; }
.pt40 { padding-top: 40px; }
.pb80 { padding-bottom: 80px; }

small.s {
	font-size: 60%;
    vertical-align: 3px;
}

	@media only screen and (max-width: 767px) {
		.pb80 { padding-bottom: 40px; }
	}

.tac {
	text-align: center;
}
.tar {
	text-align: right;
}
.tal {
	text-align: left;
}
sup {
	display: inline;
	font-size: 70%;
	vertical-align: top;
	position: relative;
	top: .5em;
}
sub {
	font-size: 70%;
	vertical-align: bottom;
	position: relative;
	bottom: -0.1em;
}

ul.caution li{
	width: 100%!important;
	text-indent:-1em;
	padding-left:1em;
	font-size: 12px;
}



/* ----------
 メイン
 ---------- */
#line {
	font-size: 16px;
	color: #333;
	text-align:left;
	letter-spacing: 0.1em;
	line-height: 1.75;
	margin: 0 auto;
	box-sizing:border-box;
}
	@media only screen and (max-width: 767px) {
		#line {
			font-size: 3.5vw;
			width: 100%;
			height: 100%;
			line-height: 1.6;
		}
	}

/* ----------
 ヘッダー
 ---------- */

header > h1 img {
	width: 100%;
	height:auto;
	opacity: .8;
	position: relative;
}

header > p {
	width: 60%;
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

header > p > img {
	width: 100%;
}

	@media screen and (min-width:768px) and (max-width:1024px) {
		header > p {
			width: 70%;
			top: 20%;
			left: 50%;
		}
	}
	@media only screen and (max-width: 767px) {
		header > p {
			width: 85%;
			top: 15%;
			left: 50%;
		}
	}

/* ----------
 フッター
 ---------- */
 footer {
	 width: 100%;
	 font-size: 90%;
	 text-align: center;
	 padding: 80px 0 20px;
 }
 
 footer div.external {
	 width: 1000px;
	 font-size: 80%;
	 text-align: right;
	 margin: auto;
 }
	 @media screen and (min-width:768px) and (max-width:1024px) {
		 footer div.external {
			 width: 90%;
			 font-size: 80%;
			 text-align: right;
			 margin: auto;
		 }
	  }
	@media only screen and (max-width: 767px) {
	 	footer {
			padding: 50px 0;
		}
		 footer div.external {
			 width: 90%;
			 padding-bottom: 1em;
		 }
	}

section > div {
	width: 1000px;
	margin: auto;
	padding: 80px 0 120px;
}

section#copy > div > p {
	font-size: 18px;
	line-height: 2;
	text-align: center;
}

h2 {
	width: 400px;
	background-color: #393734;
	color: #fff;
	font-size: 20px;
	font-weight: normal;
	text-align: center;
	line-height: 1.6;
	padding: 1em 0;
	position: absolute;
    top: 0%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
	@media screen and (min-width:768px) and (max-width:1024px) {
		section > div {
			width: 90%;
		}
	}
	@media only screen and (max-width: 767px) {
		section > div {
			width: 90%;
			margin: auto;
			padding: 40px 0 100px;
		}
		
		section#copy > div > p {
			font-size: 4vw;
		}
		
		h2 {
			width: 80%;
			font-size: 4.5vw;
		}
	}

/*----- ポイントが貯まると -----*/
section#point {
	background-color: #cacaca;
	position: relative;
}

section#point > div > ul {
	width: 100%;
	margin: 20px auto 50px;
	display:flex;
	justify-content: center; /*横*/
	align-items: center; /*縦*/
}
section#point > div > ul li:nth-of-type(1) {
	width: 75%;
	padding-right: 18px;
}
section#point > div > ul li:nth-of-type(2) {
	width: 25%;
}
section#point > div > ul li:nth-of-type(2) > img {
	width: 100%;
	height: auto;
}
section#point > div > div.shopcard {
	width: 100%;
	display:flex;
	flex-wrap:wrap;
	justify-content: center; /*横*/
	align-items:stretch; /*縦*/
}
	@media screen and (min-width:768px) and (max-width:1024px) {
		section#point > div > div.shopcard {
			width: 100%;
			margin: 0 auto;
		}
	}
section#point > div > div.shopcard > div {
	width: 30%;
	background-color: #787773;
	text-align: center;
	margin-right: 5%;
	padding: 1.5em 2em 1em;
	filter: drop-shadow(2px 2px 2px #333);
}
section#point > div > div.shopcard > div:last-of-type {
	margin-right: 0px;
}
section#point > div > div.shopcard > div > img {
	width: 100%;
	height: auto;
	filter: drop-shadow(3px 3px 1px #000);
}
section#point > div > div.shopcard > div > div {
	width: 90%;
	display:flex;
	flex-wrap:wrap;
	align-items: center; /*縦*/
	margin: 15px auto 0;
}
section#point > div > div.shopcard > div > div > span:nth-of-type(1) {
	width: 30%;
	font-size: 25px;
	font-weight: bold;
	display: inline-block;
	background: linear-gradient(180deg, #f8efb7 0%, #f8efb7 5%, #926210 100%);
	background: -webkit-linear-gradient(-90deg, #f8efb7 0%, #f8efb7 5%, #926210 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	filter: drop-shadow(2px 2px 1px #000);
}
section#point > div > div.shopcard > div > div > span:nth-of-type(2) {
	width: 70%;
	color: #fff;
	font-size: 17px;
	line-height: 1.2;
	filter: drop-shadow(2px 2px 1px #000);
}

@media screen and (min-width:768px) and (max-width:1024px) {
	section#point > div > div.shopcard > div > div > span:nth-of-type(2) {
		width: 65%;
		font-size: 2vw;
	}
	section#point > div > div.shopcard > div > div {
		width: 100%;
	}
	section#point > div > div.shopcard > div > div > span:nth-of-type(1) {
		width: 35%;
	}

}
@media only screen and (max-width: 767px) {
	section#point > div > div.shopcard > div > div > span:nth-of-type(2) {
		width: 65%;
		font-size: 5.5vw;
	}
}
p.btn > a {
	display: block;
	width: 800px;
	color: #fff;
	font-size: 30px;
	font-weight: bold;
	letter-spacing: .2em;
	text-align: center;
	background-color: #06c755;
	border: #067f06 1px solid;
	border-radius: 10px;
	margin: 80px auto 0;
	padding: .5em;
}
p.btn > a.page0918 {
	display: block;
	width: fit-content;
	color: #fff;
	font-size: 23px;
	font-weight: bold;
	letter-spacing: .2em;
	text-align: center;
	background-color: #06c755;
	border: #067f06 1px solid;
	border-radius: 10px;
	margin: 50px auto 0;
	padding: .5em 2em;
}
p.btn > a > span,
p.btn > a.page0918 > span {
	position: relative;
}
p.btn > a > span::after,
p.btn > a.page0918 > span::after {
    content: '';
    display: inline-block;
    width: 30px;
    height: 30px;
    background-image: url(/marriott/line/common/images/icon_arrow.webp);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 25%;
    right: -15%;
}
	@media screen and (min-width:768px) and (max-width:1024px) {
		p.btn > a {
		width: 80%;
		}
		p.btn > a.page0918 {
		font-size: 20px;
		}
	}
	@media only screen and (max-width: 767px) {
		section#point > div {
			padding: 40px 0;
			margin-bottom: 0px;
		}

		section#point > div > ul {
			width: 100%;
			margin: 40px auto 50px;
			display: block;
			justify-content: center; /*横*/
			align-items: center; /*縦*/
		}
		section#point > div > ul li:nth-of-type(1) {
			width: 100%;
			margin-bottom: 20px;
			padding-right: 0;
		}
		section#point > div > ul li:nth-of-type(2) {
			width: 100%;
			text-align: center;
		}
		section#point > div > ul li:nth-of-type(2) > img {
			width: 50%;
			height: auto;
		}
		section#point > div > div.shopcard {
			width: 100%;
			display: block;
			flex-wrap: nowrap;
			justify-content: center; /*横*/
			align-items:stretch; /*縦*/
		}
		section#point > div > div.shopcard > div {
			width: 100%;
			margin-bottom: 20px;
		}
		
		p.btn > a,
		p.btn > a.page0918{
			display: block;
			width: 100%;
			color: #fff;
			font-size: 4vw;
			font-weight: bold;
			letter-spacing: .2em;
			text-align: center;
			background-color: #06c755;
			border: #067f06 1px solid;
			border-radius: 10px;
			margin: 40px auto 0;
			padding: .5em;
			
		}
		p.btn > a> span,
		p.btn > a.page0918> span {
			position: relative;
		}
		p.btn > a > span::after,
		p.btn > a.page0918 > span::after{
			width: 18px;
			height: 18px;
			top: 25%;
			right: -10%;
		}
	}
/*----- 対象ホテル -----*/

section#hotellist > div {
	background-color: #f5f1f0;
	border: #5ab863 5px solid;
	margin: 120px auto;
	padding: 80px 40px 40px;
	position: relative;
}

section#hotellist > div > h2 {
	top: -14%;
}

section#hotellist > div > ul {
	width: 100%;
	display:flex;
	flex-wrap:wrap;
	justify-content: center; /*横*/
	align-items:stretch; /*高さ揃え*/
}
section#hotellist > div > ul li {
	width: 32%;
	text-align: center;
	margin-right: 2%;
	margin-bottom: 40px;
}
section#hotellist > div > ul li:nth-of-type(3n) {
	margin-right: 0;
}
section#hotellist > div > ul li > a > div > img {
	width: 100%;
	height: auto;
}
section#hotellist > div > ul li > a > div:nth-of-type(2) {
	margin-top: 10px;
}

	@media only screen and (max-width: 767px) {
		section#hotellist > div {
			margin: 100px auto 50px;
			padding: 60px 20px 0px;
		}
		
		section#hotellist > div > h2 {
			top: -6%;
		}
		
		section#hotellist > div > ul {
			width: 100%;
			display: block;
			flex-wrap: nowrap;
			justify-content: center; /*横*/
			align-items:stretch; /*高さ揃え*/
		}
		section#hotellist > div > ul li {
			width: 100%;
			margin-right: 0;
		}
		section#hotellist > div > ul li:nth-of-type(3n) {
			margin-right: 0;
		}
		section#hotellist > div > ul li > a > div > img {
			width: 100%;
			height: auto;
		}
		section#hotellist > div > ul li > a > div:nth-of-type(2) {
			margin-top: 10px;
		}
	}
/* ----------
 利用規定
 ---------- */
section#point > #guideline {
	margin-top: -80px;
	padding: 0px 0px 120px;
}
section#point > #guideline > div {
	width: 900px;
	margin: auto;
}
section#point > div#guideline > ul {
	display: block!important;
	margin-top: 10px;
}
#guideline > div > ul li {
	text-indent:-1em;
	padding-left:1em;
	line-height: 1.4;
	padding-bottom: 14px;
	font-size: 14px;
}
section#point > div#guideline > ul li:nth-of-type(1),
section#point > div#guideline > ul li:nth-of-type(2) {
	width: 100%;
}
	@media only screen and (max-width: 767px) {
		#guideline > div {
			width: 90%;
			padding: 40px 0px 0;
		}
	}
/*----- ギャラリー -----*/
section#gallery {
	background-color: #cacaca;
}
section#gallery > div {
	width: 90%;
	overflow: hidden;
}

.swiper-slide {
  opacity: 1; /* 左右のスライドを薄くする */
  transform: scale(.6); /* 左右のスライドを小さくする */
  transition: .7s; /* ゆっくり小さくさせる */
}
.swiper-slide img {
  height: auto;
  width: 100%;
  border: #fff 5px solid;
}
.swiper-slide-active {
  opacity: 1; /* 中央のスライドは薄くしない */
  transform: scale(1); /* 中央のスライドは小さくしない */
  z-index: 1; /* 中央のスライドを一番上にする */
}
	@media screen and (min-width:768px) and (max-width:1024px) {
		section#gallery > div {
			width: 100%;
		}
	}
	@media only screen and (max-width: 767px) {
		section#gallery > div {
			padding: 40px 0;
		}
	}
ul.details > li {
	width: 100%!important;
	text-indent:-1em;
	padding-left:1em;
	text-align: left!important;
}