@charset "utf-8";

#loading {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: #fff;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 99999999999999999999;
}

/* bee-fig */
#bee-fig {
    width: 320px;
    position: relative;
    text-align: center;
}
#bee-fig .bee {
	position: absolute;
	z-index:10;
}
#bee-fig .bee01 {
	left: 90px;
	top: 0;
	animation: fluffy1 3s ease infinite;
}
#bee-fig .bee02 {
	left: 0;
	top: 45px;
	animation: fluffy1 5s ease infinite;
}
#bee-fig .bee03 {
	right: 0;
	top: 20px;
	animation: fluffy1 7s ease infinite;
}
/*--------------------------------------------------------
    animation
--------------------------------------------------------*/
@keyframes fluffy1 {
  0% { transform:translateY(0) }
  5% { transform:translateY(0) }
  10% { transform:translateY(0) }
  20% { transform:translateY(-15px) }
  25% { transform:translateY(0) }
  30% { transform:translateY(-15px) }
  50% { transform:translateY(0) }
  100% { transform:translateY(0) }
}
@keyframes fluffy2 {
  0% { transform:translateY(0) }
  5% { transform:translateY(0) }
  10% { transform:translateY(0) }
  20% { transform:translateY(-15px) }
  25% { transform:translateY(0) }
  30% { transform:translateY(-15px) }
  50% { transform:translateY(0) }
  100% { transform:translateY(0) }
}
@keyframes fluffy3 {
  0% { transform:translateY(0) }
  5% { transform:translateY(0) }
  10% { transform:translateY(0) }
  20% { transform:translateY(-15px) }
  25% { transform:translateY(0) }
  30% { transform:translateY(-15px) }
  50% { transform:translateY(0) }
  100% { transform:translateY(0) }
}


@media (max-width: 815px) {


}

/*---------
 main-fv
---------------*/
#main-fv {
    margin: -10px auto 0;
}

video#fv-movie {
    display: block;
    width: 100%;
}	
.fv-movie {
    display: block;
    width: 100%;
}	
@media (max-width: 815px) {


}



/*---------
 concept
---------------*/
#concept {
	min-height: 810px;
    background-image: url("../img/home/concept_bg.png");
    background-position: center top;
    background-size: cover;
}
.concept__in {
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
    margin: auto;
}
.concept__in p {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-align: left;
    line-height: 2.6;
    display: inline-block;
}
.concept__in .to-about {
    margin-right: 50px;
}

@media (max-width: 815px) {

	.concept__in {
		margin: auto;
		display: block;
	}
	.concept__in p {
		-webkit-writing-mode: initial;
		-ms-writing-mode: initial;
		writing-mode: initial;
		line-height: 2;
        display: table;
		margin: 0 auto 50px;
	}
	.concept__in .to-about {
		margin: auto;
		text-align: center;
	}

}



/*---------
 point
---------------*/
#point {
    background-image: url("../img/cmn/bk_yellow.jpg");
	z-index: -1;
}
#point:before,
#point:after {
    content: '';
    display: block;
    width: 221px;
    height: 100%;
    position: absolute;
	top:0;
}
#point:before {
    background-image: url("../img/home/point_left.png");
	background-position: right top;
	left: 0;
}
#point:after {
    background-image: url("../img/home/point_right.png");
	background-position: left top;
	right:0;
}

.point__list > li {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
	margin-bottom: 30px;
	overflow: hidden;
}
.point__list > li:nth-child(even) {
    flex-direction: row-reverse;
}
.point__list > li .img {
    display: flex;
    width: calc(50% + 30px);
    position: relative;
	z-index: 1;
}
.point__list > li:nth-child(odd) .img {
    justify-content: end;
}
.point__list > li .img img {
    max-width: none;
}
.point__list > li .text {
    width: calc(50% - 30px);
	height: 0;
	padding-top: calc(50% - 30px);
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    text-align: center;
    position: relative;
}
.point__list > li .text:after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    left: 0;
    top: 0;
}
.point__list > li.point-01 .text:after {
    background-image: url("../img/home/5point_01_text_bg.png");
}
.point__list > li.point-02 .text:after {
    background-image: url("../img/home/5point_02_text_bg.png");
}
.point__list > li.point-03 .text:after {
    background-image: url("../img/home/5point_03_text_bg.png");
}
.point__list > li.point-04 .text:after {
    background-image: url("../img/home/5point_04_text_bg.png");
}
.point__list > li.point-05 .text:after {
    background-image: url("../img/home/5point_05_text_bg.png");
}
.point__list > li .text .text-in {
    position: absolute;
    width: 100%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
}
.point__list > li .text h3 {
	line-height:1;
}
.point__list > li .text p {
	font-size: 17px;
	line-height: 1.8;
	margin-top: 20px;
}
.point__list > li .text p span {
    background: #b9e8ff;
    display: inline-block;
    margin-top: 10px;
}
.point__list > li .text p span:first-of-type {
	margin-top: 0;
}

.abs-fig.p01-fig01,
.abs-fig.p01-fig02,
.abs-fig.p02-fig01,
.abs-fig.p02-fig02,
.abs-fig.p03-fig01,
.abs-fig.p04-fig01,
.abs-fig.p05-fig01 {
    -webkit-transition: all 1s ease-in-out;
    transition: all 1s ease-in-out;
	opacity: 0;
	z-index: 1;
}
	
.abs-fig.p01-fig01 {
    left: -50vw;
    top: 50vh;
}
.abs-fig.p01-fig02 {
    right: -50vw;
    top: 50vh;
}
.abs-fig.p02-fig01 {
    left: -50vw;
}
.abs-fig.p02-fig02 {
    right: -50vw;
    top: 50vh;
}
.abs-fig.p03-fig01 {
    right: -50vw;
    top: 50vh;
}
.abs-fig.p04-fig01 {
    right: -50vw;
    top: 50vh;
}
.abs-fig.p05-fig01 {
    left: -50vw;
    top: 50vh;
}


.point__list > li.point-01.animated .abs-fig.p01-fig01 {
    left: 0;
    top: 0;
	opacity: 1;
}
.point__list > li.point-01.animated .abs-fig.p01-fig02 {
    right: -110px;
    top: 0;
	opacity: 1;
}
.point__list > li.point-02.animated .abs-fig.p02-fig01 {
    left: 0;
	opacity: 1;
}
.point__list > li.point-02.animated .abs-fig.p02-fig02 {
    right: 0;
    top: 50px;
	opacity: 1;
}
.point__list > li.point-03.animated .abs-fig.p03-fig01 {
    right: 0;
    top: 0;
	opacity: 1;
}
.point__list > li.point-04.animated .abs-fig.p04-fig01 {
    right: 0;
	top: 0;
	opacity: 1;
}
.point__list > li.point-05.animated .abs-fig.p05-fig01 {
    left: 0;
    top: 0;
	opacity: 1;
}



@media (max-width: 815px) {

	#point:before,
	#point:after {
		width: 15%;
	}
	.point__list > li {
		display: block;
	}
	.point__list > li .text {
		width: 100%;
	    min-height: 300px;
	}
	.sp-mh20 {
		max-height: 20px;
	}
	.sp-mh50 {
		max-height: 50px;
	}
	.point__list > li .text p {
		font-size: 12px;
		margin-top: 15px;
	}
	.point__list > li .img,
	.point__list > li:nth-child(odd) .img {
        justify-content: center;
		width: 100%;
	}
	.point__list > li .img img {
		max-width: 80%;
	}
	.abs-fig.p01-fig01,
	.abs-fig.p01-fig02,
	.abs-fig.p02-fig01,
	.abs-fig.p02-fig02,
	.abs-fig.p03-fig01,
	.abs-fig.p04-fig01,
	.abs-fig.p05-fig01 {
		max-width: 20%;
	}
	.abs-fig.p01-fig02 {
		right: 0;
	}


}



/*---------
 season
---------------*/
#season {
    background-image: url("../img/home/season_bg.png");
	background-position: center;
	background-size: auto 100%;
    overflow: hidden;
	z-index: 1;
}
.season-slide .swiper-container {
	overflow: visible;
}
.season-slide .swiper-slide img {
    width: 100%;
}


@media (max-width: 815px) {


}



/*---------
 ranking
---------------*/
#ranking {
    background: url("../img/home/rank_left.png") left top,
	            url("../img/home/rank_right.png") right top;
    background-repeat: no-repeat;
}
.ranking__list {
    display: flex;
    flex-wrap: wrap;
}
.ranking__list > li {
    width: 18%;
    margin-left: 2.5%;
	text-align:center;
}
.ranking__list > li:first-child {
    margin-left: 0;
}
.ranking__list > li a{
	display:block;
	font-size: 18px;
    color: var(--base-color);
}
.ranking-num {
    text-align: center;
    margin-bottom: 15px;
}
.ranking-thumb {
    height: 0;
    padding-top: 100%;
    position: relative;
}
.ranking-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}

.ranking-info {
	margin-top: 10px;
}
.ranking-info__title {
}
.ranking-info__price {
	margin-top: 10px;
	color: var(--orange-color);
}



@media (max-width: 815px) {

	#ranking {
		background-size: 25%;
	}
	.ranking__list > li {
		width: 100%;
		margin: 0 0 15px;
		padding-bottom: 15px;
		border-bottom: dotted 1px;
	}
	.ranking__list > li a {
		font-size: 15px;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		width: 100%;
	}
	.ranking-num {
		margin-bottom: 0;
		width: 15%;
		padding-right: 5%;
	}
	.ranking-thumb {
		width: 30%;
		padding-top: 30%;
	}
	.ranking-info {
		width: 55%;
		margin-top: 0;
		padding-left: 5%;
		text-align: left;
	}

}



/*---------
 review
---------------*/
#review {
    background-image: url("../img/home/review_bg.png");
	background-position: center;
}
#review:before,
#review:after {
    content: '';
    display: block;
    width: 221px;
    height: 100%;
    position: absolute;
	top:0;
}
#review:before {
    background-image: url("../img/home/point_left.png");
	background-position: right top;
	left: 0;
}
#review:after {
    background-image: url("../img/home/point_right.png");
	background-position: left top;
	right:0;
}
.review__list {
	display: flex;
	flex-wrap: wrap;
	margin-top: -4%;
    position: relative;
    z-index: 10;
}
.review__list >li {
	width: 48%;
	padding: 30px;
	margin: 4% 0 0 4%;
	background: #fff;
	border-radius: 8px;
}
.review__list >li:nth-child(2n+1){
	margin-left: 0;
}
.review-title__wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding-bottom: 15px;
    margin-bottom: 15px;
    border-bottom: solid 1px;
}
.review-star {
    margin-left: auto;
    font-size: 26px;
    font-weight: 500;
    color: #7e6b5a;
    letter-spacing: -2px;
}
.review-star span.on {
    color: var(--orange-color);
}
.review-num {
    font-size: 30px;
    font-weight: 500;
    color: var(--orange-color);
    margin-left: 10px;
}
.review-title__msg {
    font-size: 17px;
    line-height: 1.8;
}



@media (max-width: 815px) {

	#review:before,
	#review:after {
		width: 15%;
	}
	.review__list >li {
		width: 100%;
		margin: 0 0 15px;
	}
	.review-star {
		font-size: 16px;
	}
	.review-num {
		font-size: 20px;
	}
	.review-title__msg {
		font-size: 14px;
	}

}



/*---------
 blog
---------------*/
#blog {
    background-image: url("../img/home/blog_bg.png");
    background-position: center top;
    background-size: cover;
}
.blog__list {
    display: flex;
    flex-wrap: wrap;
}
.blog__list > li {
    width: 24%;
    margin-left: 1.3333333%;
	text-align:center;
}
.blog__list > li:first-child {
    margin-left: 0;
}
.blog__list > li a{
	display:block;
	font-size: 18px;
    color: var(--base-color);
	background: #fff;
	padding: 20px;
	height: 100%;
	border-radius: 5px;
}
.blog-thumb {
    text-align: center;
    margin-bottom: 20px;
}
.blog-info__title {
}
.blog-info__date {
	display: inline-block;
	background: #fff799;
	padding: 5px 10px;
	margin-top: 10px;
}


@media (max-width: 815px) {

	.blog__list {
		margin-top: -30px;
	}
	.blog__list > li {
		width: 48%;
		margin: 30px 0 0 4%;
	}
	.blog__list > li:nth-child(2n+1) {
		margin-left: 0;
	}
	.blog__list > li a {
		font-size: 13px;
		padding: 10px;
	}


}

/*---------
 instagram
---------------*/
#instagram {
	min-height: 500px;
}


.abs-fig.instagram-fig01 {
    left: 50px;
    bottom: -10px;
}
.abs-fig.instagram-fig02 {
    right: 50px;
    bottom: -20px;
	z-index: 11;
}



@media (max-width: 815px) {

	.abs-fig.instagram-fig01 {
		max-width: 20%;
		left: 2%;
	}
	.abs-fig.instagram-fig02 {
		max-width: 15%;
		right: 2%;
	}

}


