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


/**loading**/
.l-content.loading::before {
	content:'';
	display:block;
	width:100%;
	height:100%;
  background-image:url(/campaign/star-compass/img/bg.jpg);
  background-repeat:repeat;
  background-position:center 0;
  background-size:1570px auto;
	position:fixed;
	top:0;
	left:0;
	z-index:9998;
    animation:loading2 30s linear infinite;
}
.l-content.loading::after {
	content:'';
	display:block;
	width:136px;
	height:136px;
	background:url(/campaign/star-compass/img/compas.png) no-repeat center center;
	background-size:contain;
	position:fixed;
	top:50%;
	left:50%;
	z-index:9999;
	transform:translate(-50%,-50%) rotate(0deg);
    animation:loading 4s linear infinite;
}
@keyframes loading {
    from {transform:translate(-50%,-50%) rotate(0deg);}
    to {transform:translate(-50%,-50%) rotate(360deg);}
}
@keyframes loading2 {
    from {  background-position:center 1000px;}
    to {  background-position:center 0px;}
}
.l-content.loading.load::before,
.l-content.loading.load::after {
	opacity:1;
}
.l-content.loading:not(.load)::before,
.l-content.loading:not(.load)::after {
	opacity:0;
	transition:2s;
}
.l-content.loading.load .l-content-main {
	display: none;
}

/* Base */
.l-content-body, .l-wrapper, .l-content, .l-content-main {
  padding: 0;
  margin: 0;
  max-width: 100%;
}
.t-mode-rwd .l-content-main {
  padding: 0 !important;
  position: relative;
  z-index: 1;
}
.t-mode-rwd.is-sticky .l-header {
  z-index: 1001;
}
.l-content {
  background:url(/campaign/star-compass/img/bg.jpg) repeat center top;
  background-size:1570px auto;
  background-attachment:fixed;
}
.l-content-body {
  background:transparent url(../img/twinkling.png) repeat top center;

  -moz-animation:move-twink-back 200s linear infinite;
  -ms-animation:move-twink-back 200s linear infinite;
  -o-animation:move-twink-back 200s linear infinite;
  -webkit-animation:move-twink-back 200s linear infinite;
  animation:move-twink-back 200s linear infinite;
}
@keyframes move-twink-back {
    from {background-position:0 0;}
    to {background-position:-10000px 5000px;}
}
@-webkit-keyframes move-twink-back {
    from {background-position:0 0;}
    to {background-position:-10000px 5000px;}
}
@-moz-keyframes move-twink-back {
    from {background-position:0 0;}
    to {background-position:-10000px 5000px;}
}
@-ms-keyframes move-twink-back {
    from {background-position:0 0;}
    to {background-position:-10000px 5000px;}
}
.lines {
	position:fixed;
	top:0;
	left:0;
	right:0;
	bottom:0;
	width:100%;
	height:100%;
	display:block;
	z-index: 0;
}
.lines .line {
	position: absolute;
	width: 1px;
	height: 100%;
	top: 0;
	left: 50%;
	/*background: rgba(255, 255, 255, 0.1);*/
	overflow: hidden;
	transform:skew(-17deg,-17deg);
}
.lines .line::after {
	content: '';
	display: block;
	position: absolute;
	height: 15vh;
	width: 100%;
	top: -50%;
	left: 0;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #ffffff 75%, #ffffff 100%);
	animation: run 7s 0s infinite;
	animation-fill-mode: forwards;
	animation-timing-function: cubic-bezier(0.4, 0.26, 0, 0.97);
}
.lines .line:nth-child(1) {
	margin-left: -25%;
	transform:skew(-15deg,-15deg);
}
.lines .line:nth-child(1)::after {
	animation-delay: 1.5s;
}
.lines .line:nth-child(3) {
	margin-left: 30%;
	transform:skew(18deg,18deg);
}
.lines .line:nth-child(3)::after {
	animation-delay: 2s;
}
    
@keyframes run {
	0% {top: -50%;}
	30% {top: -50%;}
	100% {top: 110%}
}

.article-inner {
  max-width: 1030px;
  margin: 0 auto;
  padding: 70px 15px;
}
.article-inner > *:first-child {
  margin-top: 0;
}
.article-inner > *:last-child {
  margin-bottom: 0;
}
.sp-only {
  display: none;
}
@media screen and (max-width: 1024px) and (min-width: 768px) {
  .t-mode-rwd .l-content-body[data-type="full"] .l-content-main {
    padding: 0 !important;
  }
  .l-footer {
    margin-top: -1px;
  }
}
@media screen and (min-width: 768px) {
  .l-content-related[data-type="full"] {
    max-width: 1000px;
    float: none;
    margin: 0 auto;
    box-sizing: border-box;
    padding: 80px 15px 100px;
  }
  .t-mode-rwd[data-type="simple"] .l-content {
  }
  .article-inner[data-type="thin"] {
    padding: 40px 15px;
  }
}
@media screen and (max-width: 767px) {
  html[lang="ja"] .m-header-logo {
    margin-left: 0 !important;
    left: 12px !important;
  }
  .l-content-body[data-type="full"] {
    margin: 0;
  }
  .l-content-related[data-type="lp"] {
    margin: 0;
  }
  .t-mode-rwd[data-type="simple"] .l-wrapper {
    padding-top: 60px;
  }
  .article-inner {
    padding: 30px 10px;
  }
  .t-mode-rwd[data-type="simple"] .l-footer {
    position: relative;
    z-index: 5;
  }
  .sp-only {
    display: block;
  }
  .pc-only {
    display: none;
  }
}


/* Booking */
#booking {
  color: #333;
}
#booking .m-form-cont#snav1 .m-form__hdg-lv2,
#booking .m-form-cont#snav1 .m-form-cont__hdg-lv2 {
   text-align:center;
   background-color:#0f0f0f;
}

/* Bottom */
#bottom {
  overflow: hidden;
  position: relative;
  color: #ccc;
}
#bottom::after {
  content: '';
  width: 80px;
  height: 200%;
  transform: rotate(30deg);
  position: absolute;
  right: 9%;
  top: -21%;
  z-index: 1;
  background: #D9642F;
}
.m-content-bottom {
  padding: 120px 70px;
  display: inline-block;
  position: relative;
}
.m-content-bottom::before {
  position: absolute;
  left: -50%;
  top: -200%;
  width: 120%;
  height: 600%;
  content: '';
  transform: rotate(30deg);
  background: rgba(30,30,30,.85);
  z-index: 1;
}
.m-content-bottom__hdg {
  font-size: 2.6rem;
  color: #f2f2f2;
}
.m-content-bottom-inner {
  position: relative;
  z-index: 5;
}
.m-content-bottom-inner a {
  color: #ccc;
}
@media screen and (max-width: 767px) {
  #bottom::after {
    width: 40px;
  }
  .m-content-bottom {
    padding: 50px 20px;
  }
  .m-content-bottom::before {
    left: -100%;
    top: -200%;
    width: 150%;
    height: 600%;
  }
  .m-content-bottom__hdg {
    font-size: 2rem;
    color: #f2f2f2;
  }
}
