@charset "utf-8";

/*---------------------------------------
common
---------------------------------------*/

html {
  width: 100%;
	overflow-x:hidden;

}

html {
  font-size: 1px;
}

.container {
  max-width: 1300rem;
  margin: 0 auto;
}

.pc{
	display:block;
}

.sp{
	display: none;
}

@media screen and (max-width: 1299px) {
  html {
    font-size: calc(100vw / 1300);
  }

  .container {
    max-width: 1300rem;
    margin: 0 auto;
  }
}

@media screen and (max-width: 767px) {
  html {
    font-size: calc(100vw / 750);
  }

  .container {
    max-width: 690rem;
    margin: 0 auto;
  }

	.pc{
		display:none;
	}

	.sp{
		display: block;
	}
}

body {
  width: 100%;
	background:#fef5e9;
  color: #333333;
  font-weight: 400;
  line-height: 1.6;
  font-feature-settings: "palt" 1;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  letter-spacing: 0.02em;
}

.mincho{
  font-family: "Noto Serif JP", serif;
}

img{
	width:100%;
	-webkit-backface-visibility: hidden;
}

a{
	transition: 0.4s ;
	text-decoration:none;
}

a:hover{
  opacity: 0.6;
}

/* --------------------------------------------------
loader
 -------------------------------------------------- */
.loader {
  position: fixed;
  width: 100%;
  height: 100%;
  background: #fff;
	display: flex;
  justify-content: center;
  align-items: center;
	flex-wrap: wrap;
	z-index:9999;
	transition: 1.0s ;
}



.is_loaded .loader {
  opacity: 0;
}

/*---------------------------------------
mainvisual
---------------------------------------*/
#mainvisual{
	width:100%;
	height:762rem;
	margin:0 auto;
	position:relative;
	background: url(../images/main_pc.jpg) no-repeat center top;
	background-size:100% auto;
}

#mainvisual h1{
	width:680rem;
	margin:0 auto;
	position:relative;
	padding-top:250rem;
}

#mainvisual h2{
	width:880rem;
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	margin:auto;
}

#sp_release{
	display:none;
}

@media screen and (max-width: 767px) {
	#mainvisual{
		width:100%;
		height:448rem;
		margin:0 auto;
		position:relative;
		background: url(../images/main_pc.jpg) no-repeat center top;
		background-size:100% auto;
	}

	#mainvisual h1{
		width:400rem;
		margin:0 auto;
		position:relative;
		padding-top:150rem;
	}

	#sp_release{
		display:block;
		width:460rem;
		margin:0 auto;
		position:relative;
		padding-top:40rem;
	}
}



/*---------------------------------------
special
---------------------------------------*/
.block{
	width:100%;
	position:relative;
	margin:40rem auto 0;
	background-color:#fff;
	box-sizing:border-box;
	padding:60rem 110rem 40rem;
}

.block h2{
	background: linear-gradient(to right, #f55688, #f35d6d);
	height:60rem;
	color:#fff;
	font-size:36rem;
	line-height:1.0;
	display: flex;
  justify-content: center;
  align-items: center;
	flex-wrap: wrap;
}

#special1 ul{
	width:1080rem;
	display: flex;
  justify-content: space-between;
  align-items: stretch;
	flex-wrap: wrap;
	margin:40rem auto 0;
}

#special1 ul li{
	width:520rem;
}

#special1 ul li h3{
	font-size:26rem;
	line-height:1.0;
	color:#ff2f60;
	text-align:center;
	letter-spacing:1rem;
	box-sizing:border-box;
	border:2rem solid #ff91ab;
	padding:10rem 0;
}

#special1 ul li h4{
	font-size:20rem;
	letter-spacing:1rem;
	margin-top:30rem;
}

#special1 ul li p{
	font-size:16rem;
	margin-top:30rem;
	line-height:1.8;
}

#special1 ul li p span{
	color:#ff2f60;
	font-weight:500;
}



#special2 h3{
	font-size:26rem;
	line-height:1.0;
	color:#ff2f60;
	text-align:center;
	letter-spacing:1rem;
	box-sizing:border-box;
	border:2rem solid #ff91ab;
	padding:10rem 0;
	margin-top:50rem;
}

#special2 ul{
	width:900rem;
	display: flex;
  justify-content: space-between;
  align-items: stretch;
	flex-wrap: wrap;
	margin:40rem auto;
}

#special2 ul li:nth-child(1){
	width:380rem;
}

#special2 ul li:nth-child(2){
	width:520rem;
}

#special2 ul li dl{
	width:100%;
	display: flex;
  justify-content: space-between;
  align-items: stretch;
	flex-wrap: wrap;
}

#special2 ul li dl dt{
	width:120rem;
	height:40rem;
	background-color:#ff2f60;
	color:#fff;
	font-size:20rem;
	line-height:1;
	text-align:center;
	display: flex;
  justify-content: center;
  align-items: center;
	flex-wrap: wrap;
	border-radius:20rem;
}

#special2 ul li dl dd{
	width:calc(100% - 120rem);
	font-size:18rem;
	font-weight:600;
	padding-left:10rem;
	padding-top:5rem;
	box-sizing:border-box;
}

#special2 ul li dl dd p {
  position: relative;
  padding-left: 14rem;
  text-indent: 2rem;
}

#special2 ul li dl dd p::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}

#special2 span{
	display:block;
	font-size:12rem;
	text-align:center;
}

#flower1{
	display:block;
	width:80rem;
	position:absolute;
	left:0rem;
	bottom:80rem;
}

#flower2{
	display:block;
	width:80rem;
	position:absolute;
	right:0rem;
	bottom:80rem;
}

#normal ul{
	width:1080rem;
	display: flex;
  justify-content: space-between;
  align-items: stretch;
	flex-wrap: wrap;
	margin:40rem auto;
}

#normal ul li{
	width:520rem;
	margin-bottom:0;
}

#normal h3{
	font-size:26rem;
	line-height:1.0;
	color:#ff2f60;
	text-align:center;
	letter-spacing:1rem;
	box-sizing:border-box;
	border:2rem solid #ff91ab;
	padding:10rem 0;
	margin-top:50rem;
}

#normal h4{
	font-size:20rem;
	letter-spacing:1rem;
	margin-top:30rem;
}

#normal p{
	font-size:16rem;
	margin-top:20rem;
	line-height:2.0;
}

#normal span{
	display:block;
	font-size:12rem;
	text-align:center;
}

#privilege.block{
	padding-bottom:60rem;
}

#privilege h3{
	font-size:26rem;
	line-height:1.0;
	color:#ff2f60;
	text-align:center;
	letter-spacing:1rem;
	box-sizing:border-box;
	border:2rem solid #ff91ab;
	padding:10rem 0;
	font-weight:800 !important;
}

#privilege ul{
	width:1080rem;
	display: flex;
  justify-content: space-between;
  align-items: stretch;
	flex-wrap: wrap;
	margin:30rem auto 0;
}

#privilege ul li{
	width:520rem;
	margin-bottom:0;
}

#privilege ul li a{
	display:block;
	width:100%;
	position:relative;
	box-sizing:border-box;
	border:2rem solid #ff91ab;
}

#privilege ul li a h4{
	background-color:#ff2f60;
	font-size:20rem;
	line-height:1.0;
	color:#fff;
	height:40rem;
	display: flex;
  justify-content: center;
  align-items: center;
	flex-wrap: wrap;
	font-weight:500;
	letter-spacing:1rem;
}

#privilege ul li a .package{
	width:280rem;
	margin:30rem auto 0;
}

#privilege ul li a p{
	font-size:18rem;
	font-weight:600;
	text-align:center;
	color:#333;
	padding:25rem 0;
}

#rental{
	color:#ff2f60;
	font-size:38rem;
	text-align:center;
	margin:60rem auto 0;
	font-weight:800;
}

a.home{
	width:200rem;
	height:50rem;
	font-size:22rem;
	line-height:1.0;
	color:#fff;
	display: flex;
  justify-content: center;
  align-items: center;
	flex-wrap: wrap;
	font-weight:500;
	letter-spacing:1rem;
	background: linear-gradient(to right, #f55688, #f35d6d);
	margin:20rem auto 0;
}

#copyright{
	font-size:10rem;
	text-align:center;
	padding:40rem 0;
	line-height:1.8;
}

@media screen and (max-width: 767px) {
	.block{
		width:100%;
		position:relative;
		margin:50rem auto 0;
		background-color:#fff;
		box-sizing:border-box;
		padding:40rem;
	}

	.block h2{
		height:80rem;
		font-size:40rem;
	}

	#special1 ul{
		width:100%;
	}

	#special1 ul li{
		width:100%;
	}

	#special1 ul li h3{
		font-size:36rem;
		padding:15rem 0;
		border:3rem solid #ff91ab;
		margin-top:40rem;
	}

	#special1 ul li h4{
		font-size:26rem;
	}

	#special1 ul li p{
		font-size:24rem;
	}

	#special1 ul li p span{
		color:#ff2f60;
		font-weight:500;
	}

	#special2 h3{
		font-size:36rem;
		padding:15rem 0;
		border:3rem solid #ff91ab;
		margin-top:50rem;
	}

	#special2 ul{
		width:100%;
		display: flex;
	  justify-content: space-between;
	  align-items: stretch;
		flex-wrap: wrap;
		margin:40rem auto 0;
	}

	#special2 ul li:nth-child(1){
		width:100%;
	}

	#special2 ul li:nth-child(2){
		width:100%;
	}

	#special2 ul li dl{
		width:100%;
		display: flex;
	  justify-content: space-between;
	  align-items: stretch;
		flex-wrap: wrap;
	}

	#special2 ul li dl dt{
		width:180rem;
		height:54rem;
		background-color:#ff2f60;
		color:#fff;
		font-size:28rem;
		line-height:1;
		text-align:center;
		display: flex;
	  justify-content: center;
	  align-items: center;
		flex-wrap: wrap;
		border-radius:27rem;
	}

	#special2 ul li dl dd{
		width:100%;
		font-size:26rem;
		font-weight:600;
		padding-left:10rem;
		padding:15rem 0 30rem;
		box-sizing:border-box;
		letter-spacing:1rem;
	}

	#special2 ul li dl dd p {
	  position: relative;
	  padding-left: 20rem;
	  text-indent: 2rem;
	}

	#special2 ul li dl dd p::before {
	  content: "・";
	  position: absolute;
	  left: 0;
	  top: 0;
	}

	#special2 span{
		display:block;
		font-size:18rem;
		text-align:left;
	}

	#flower1{
		display:none;
	}

	#flower2{
		display:none;
	}

	#normal ul{
		width:100%;
		display: flex;
	  justify-content: space-between;
	  align-items: stretch;
		flex-wrap: wrap;
		margin:40rem auto;
	}

	#normal ul li{
		width:100%;
	}

	#normal ul li:nth-child(1){
		margin-bottom:60rem;
	}

	#normal h3{
		font-size:36rem;
		padding:15rem 0;
		border:3rem solid #ff91ab;
		margin-top:50rem;
	}

	#normal h4{
		font-size:26rem;
		letter-spacing:1rem;
		margin-top:30rem;
	}

	#normal p{
		font-size:24rem;
		margin-top:20rem;
		line-height:1.8;
	}

	#normal span{
		display:block;
		font-size:18rem;
		text-align:left;
	}

	#privilege.block{
		padding-bottom:60rem;
	}

	#privilege h3{
		font-size:36rem;
		padding:15rem 0;
		border:3rem solid #ff91ab;
		margin-top:0;
	}

	#privilege ul{
		width:100%;
		margin:40rem auto 0;
	}

	#privilege ul li{
		width:100%;
	}

	#privilege ul li:nth-child(1){
		margin-bottom:40rem;
	}

	#privilege ul li a{
		display:block;
		width:100%;
		position:relative;
		box-sizing:border-box;
		border:2rem solid #ff91ab;
	}

	#privilege ul li a h4{
		font-size:36rem;
		height:60rem;
	}

	#privilege ul li a .package{
		width:360rem;
		margin:30rem auto 0;
	}

	#privilege ul li a p{
		font-size:28rem;
	}

	#rental{
		color:#ff2f60;
		font-size:50rem;
		text-align:center;
		margin:60rem auto 0;
		font-weight:800;
	}

	a.home{
		width:610rem;
		height:100rem;
		font-size:40rem;
		line-height:1.0;
		color:#fff;
		display: flex;
	  justify-content: center;
	  align-items: center;
		flex-wrap: wrap;
		font-weight:500;
		letter-spacing:1rem;
		background: linear-gradient(to right, #f55688, #f35d6d);
		margin:20rem auto 0;
	}

	#copyright{
		font-size:18rem;
		text-align:center;
		padding:40rem 0;
		line-height:1.8;
	}
}

/*--------------------------------------
animation
----------------------------------------*/

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes zoomOut {
  from {
    opacity: 0;
    transform:scale(1.3);
  }
  to {
    opacity: 1;
    transform:scale(1.0);
  }
}

#mainvisual h1,
#mainvisual h2 img,
#sp_release img{
  opacity:0;
}

.is_loaded #mainvisual h1{
  animation: zoomOut 1.6s cubic-bezier(.17,.62,.17,.92) 0.4s forwards;
}

.is_loaded #mainvisual h2 img{
  animation: fadeIn 2.0s cubic-bezier(.17,.62,.17,.92) 1.2s forwards;
}

.is_loaded #sp_release img{
  animation: fadeIn 2.0s cubic-bezier(.17,.62,.17,.92) 1.2s forwards;
}

