@charset "UTF-8";
#fv{
  padding: 50px 0;
  text-align: center;
}
body { 
  user-select: none !important;
  -webkit-user-select: none !important;
  -webkit-touch-callout: none !important; }
a { 
  user-select: none !important;-webkit-user-select: none !important;
  -webkit-touch-callout: none !important; }
img {
  user-select: none !important; -webkit-user-select: none !important;
  
  user-select: none !important;-webkit-touch-callout: none !important; }
main{
  position: relative;
  width: 100%;  
  overflow-x: hidden;
}
main:before{
  position: fixed;
  content: '';
  width: 100%;
  height: 100vh;
  background-color: #000;
  z-index: -3;
  left: 0;
  top: 0;
}
main:after{
  position: fixed;
  content: '';
  width: 100%;
  height: 100vh;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background-image: url(../img/back.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  animation: shrink 2s alternate;
  z-index: -1;
}
@keyframes shrink {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
#content_wrap{
  max-width: 1170px;
  width: 90%;
  margin: 0 auto;
}
#content_wrap>div{
  padding-bottom: 150px;
}
#special{
  padding-top: 100px;
}
.title{
  text-align: center;
  margin-bottom: 40px;
  transition: 1s;
}
.slick-slide{
  height: auto;
  overflow: hidden;
}

.slick-prev:before, .slick-next:before{
  content: none;
}
.slick-slider button.slick-prev{
  width: 39px;
  height: 39px;
  background: url(../img/prev.png) no-repeat;
  background-size: contain;
  background-position: center;
  z-index: 1;
}
.slick-slider button.slick-next{
  width: 39px;
  height: 39px;
  background: url(../img/next.png) no-repeat;
  background-size: contain;
  background-position: center;
  z-index: 1;
}
.slick-slide img{
  display: block;
}

.slick-prev{
  left: -50px;
}
.slick-next{
  right: -50px;
}


.sns_list{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.sns_list div{
  margin-bottom: 20px;
}
.instaArea ul {
  display: flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}
.instaArea ul li {
  width: 32%;
  margin-bottom: 2vw;
  overflow: hidden;
}
.instaArea ul li img {
  width: 100%;
  display: block;
  transition: 0.5s;
}
.instaArea ul li img:hover {
  transform: scale(1.1, 1.1);
}

.sns_links{
  margin-top: 50px;
}
.title2{
  text-align: center;
  margin-bottom: 30px;
  transition: 1s;
}
.image_list{
  transition: 1s;
}
.sns_links ul{
  display: flex;
  justify-content: center;
  text-align: center;
}
.sns_links ul li{
  width: 60px;
  height: 60px;
  background-color: #e60012;
  border-radius: 50%;
  margin: 0 18px;
  transition: 0.5s; 
}
.sns_links ul li:hover{transform: scale(1.2, 1.2);}
.sns_links ul li a{
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  text-align: center;
  align-items: center;
}
.banner{
  width: 590px;
  overflow: hidden;
  margin: 180px auto 0;
}
.banner img{
  width: 100%;
  display: block;
  transition: 0.5s;  
}
.banner img:hover{
  transform: scale(1.1, 1.1);
}

footer{padding-top: 0 !important;}

@media screen and (max-width: 999px) {
  main:after{
    background-image: url(../img/back_sp.png);
  }
  #fv{
    padding: 8vw 5vw;
  }
  #content_wrap>div{
    padding-bottom: 20vw;
  }
  #special{
    padding-top: 12vw;
  }
  .title{
    margin-bottom: 8vw;
  }
  /*
  .slick-prev{
    left: -10px;
  }
  .slick-next{
    right: -10px;
  }
  .sns_good_slider .sns_good_one{
    padding: 0 2vw;
  }
  */
  .sns_list div{
    width: 30%;
    margin-right: 5%;
    margin-bottom: 5%;
  }
  .sns_list div:nth-child(3n){
    margin-right: 0;
  }
  .sns_links{
    margin-top: 8vw;
  }
  .title2{
    margin-bottom: 5vw;
  }
  .sns_links ul li{
    width: 48px;
    height: 48px;
  }
  .banner{
    margin-top: 12vw;
    width: 100%;
  }
}

@media (min-width: 1000px) {
  .instaArea ul li {
    width: 16%;
    margin-bottom: 10px;
  }
}




/*----------------------------------------------------
banner_wrap
----------------------------------------------------*/
.banner_wrap.slick-initialized{
  display: block;
  opacity: 1;
}

.banner_wrap{
	display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	max-width: 100%;
	margin: 0;
	padding: 0 3%;
	overflow-x: scroll;
	-webkit-justify-content:initial;
	-ms-flex-pack: initial;
	-webkit-box-pack: initial;
	width: 100%;
}
.banner_wrap li{
	position: relative;
	margin: 0% 2% 2%;
	max-width: 276px;
	width: 70%;
  overflow: hidden;
}

.banner_wrap li a{
	display: block;
}
.banner_wrap li img{
  width: 100%;
  display: block;
  transition: 0.5s;
}
.banner_wrap li a img:hover{
  transform: scale(1.1, 1.1);
  cursor: pointer;
}
.special_img{
  overflow: hidden;
}
.special_img li a{
  display: block;
}
.special_img li img{
  width: 100%;
  display: block;
  transition: 0.5s;
}
/*.special_img li a img:hover{
  transform: scale(1.1, 1.1);
  cursor: pointer;
}*/

@media screen and (min-width: 1000px) {
	.banner_wrap{
		overflow:visible;
		display: -webkit-flex;
		align-items: center;
		-ms-flex-align: center;
		-webkit-box-align: center;
		-webkit-align-items: center;
		-ms-flex-pack: justify;
		-webkit-box-pack: justify;
		-webkit-justify-content: space-between;  
		opacity: 1;
		padding:0 0 0 0;
	}
	.banner_wrap li{
  		max-width: 100% !important;
		width:100%;
	}
	.banner_wrap li a{
		display: block;
		border-radius:0;
		box-shadow:0 0 0;
	}
}





/*----------------------------------------------------
list slider
----------------------------------------------------*/
/* slider 全体 */
.list_Slider{
	display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	align-items: center;
	-ms-flex-align: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-pack: initial;
	-webkit-box-pack: initial;
	-webkit-justify-content:initial;
	overflow-x: scroll; 
	opacity: 1;
	padding: 0 3%;
	width: 100%;
	max-width: 100%;
	margin: 0;
	transition: opacity .2s linear;
}
.list_Slider.slick-initialized{
  display: block;
  opacity: 1;
}

.list_card{
  position: relative;
	margin: 0 2%;
	max-width: 276px;
  max-height: 276px;
	width: 35%;
  overflow: hidden;
  top:0;

}
.list_card a{
  display: block;
  position:relative;
  z-index: 1;
}
.list_card img{
  width: 100%;
  display: block;
  transition: 0.5s;
}
.list_card a img:hover{
  transform: scale(1.1, 1.1);
  cursor: pointer;
}

@media screen and (min-width: 1000px) {
	.list_Slider{
		overflow-x: visible; 
		display: -webkit-flex;
		opacity: 0;
		padding:0 0;
		-webkit-justify-content: space-between;
		-ms-flex-pack: justify;
		-webkit-box-pack: justify;
	}
  .list_card {
    margin: 0 20px;
  }
	.list_card a{
		top: 0;
		font-size: 1.25rem;
	}
}




/*----------------------------------------------------
slide aroow common
----------------------------------------------------*/
.slick-slider button{
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
}
.slick-slider button.slide-arrow{
  position: absolute;
  top: 0;
  margin-top: 0;
}
/* slide aroow left */
.slick-slider button.prev-arrow{
  left: -50px;
  top: 0;
  bottom: 0;
  z-index: 1;
  width: 30px;
  height: 30px;
  border-radius: 15px;
  margin: auto;
  background-color: #e60012;
}
.slick-slider button.prev-arrow:before{
  position: absolute;
  content: '';
  right: 0;
  left: 3px;
  top: 0;
  bottom: 0;
  width: 10px;
  height: 10px;
  margin: auto;
  border-top: 3px solid #fff;
  border-left: 3px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(-45deg);
}
/* slide aroow right */
.slick-slider button.next-arrow{
  right: -50px;
  top: 0;
  bottom: 0;
  margin: auto;
  z-index: 1;
  width: 30px;
  height: 30px;
  border-radius: 15px;
  background-color: #e60012;
}
.slick-slider button.next-arrow:before{
  position: absolute;
  content: '';
  right: 0;
  left: -3px;
  top: 0;
  bottom: 0;
  margin: auto;   
  width: 10px;
  height: 10px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}


#fv p {
    opacity: 0;
    transform: translate(30px, 0px);
    transition: opacity 800ms ease, transform 800ms ease;
}
#fv p:nth-child(1){
  transition-delay: 2100ms;
}
#fv p:nth-child(2){
  transition-delay: 2200ms;
}
#fv p:nth-child(3){
  transition-delay: 2300ms;
}
#fv p:nth-child(4){
  transition-delay: 2400ms;
}
#fv p:nth-child(5){
  transition-delay: 2500ms;
}
#fv p:nth-child(6){
  transition-delay: 2600ms;
}
#fv p:nth-child(7){
  transition-delay: 2700ms;
}
#fv p:nth-child(8){
  transition-delay: 2800ms;
}
#fv p:nth-child(9){
  transition-delay: 2900ms;
}
#fv p:nth-child(10){
  transition-delay: 3000ms;
}
#fv p:nth-child(11){
  transition-delay: 3100ms;
}
#fv p:nth-child(12){
  transition-delay: 3200ms;
}
#fv p:nth-child(13){
  transition-delay: 3300ms;
}
#fv p:nth-child(14){
  transition-delay: 3400ms;
}
#fv p:nth-child(15){
  transition-delay: 3500ms;
}
#fv p:nth-child(16){
  transition-delay: 3600ms;
}
#fv p:nth-child(17){
  transition-delay: 3700ms;
}
#fv p:nth-child(18){
  transition-delay: 3800ms;
}
#fv p.show{
    opacity: 1;
    transform: translate(0px, 0px);
}
.modal{
  opacity: 0;
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.9);
  justify-content: center;
  align-items: center;
  z-index: -1;
  transition: 1s;
}
.modal.open{
  opacity: 1;
  z-index: 10000;
}
.sns_modal{
  max-width: 500px;
  width: calc(100% - 100px);
  height: calc(100vh - 200px);
  text-align: center;
  color: #fff;
}
.modal .slick-slide img{
  display: inline-block;
}
.sns_sub{
  height: 100%;
  overflow-y: scroll;
}
.modal .slick-dots li button:before{
  content: none;
}
.modal .slick-dotted.slick-slider{
  margin-bottom: 80px;
}
.modal .slick-dots{
  bottom: -30px;
}
.modal .slick-dots li button{
  background-color: #fff;
  border-radius: 50%;
  width: 16px;
  height: 16px;
}
.modal .slick-dots li.slick-active button{
  background-color: #e60011;
}
.sns_links .image_list,.sns_links .title2{
  opacity: 1 !important;
}
.sns_sub p{
  margin-top: 30px;
  transform: rotate(0.03deg); 
}
.modal .slick-prev, .modal .slick-next{
  top: 50%;
}
.close{
  position: absolute;
  z-index: 1;
  right: 100px;
  top: 100px;
}
.modal2{
  opacity: 0;
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.9);
  justify-content: center;
  align-items: center;
  z-index: -1;
  transition: 1s;
}
.modal2.open{
  opacity: 1;
  z-index: 10000;
}
.sns_modal2{
  max-width: 500px;
  width: calc(100% - 100px);
  text-align: center;
  color: #fff;
}


.modal2 .slick-prev, .modal .slick-next{
  top: 50%;
}
.close2{
  position: absolute;
  z-index: 1;
  right: 100px;
  top: 100px;
}
.modal2 p{
  color: red;
  font-weight: 700;
  position: absolute;
  bottom:calc(50% - 300px);
}
@media screen and (min-width: 601px) {
  .modal2 p{
  bottom:calc(50% - 300px) !important;
}
  
}
@media screen and (max-width: 999px) {

  .close2{
    top: 50px;
    width: 24px;
    height: 24px;
    right: 10px;
  }
  .close{
    top: 50px;
    width: 24px;
    height: 24px;
    right: 10px;
  }
  .modal2 p{
    bottom:calc(50% - 48vw);
  }
}

main:after{
  opacity: 0;
  top: 100px;
  animation: popup 2s forwards;
}
@keyframes popup {
  0% {
    transform: translateY(40px);
    top: 100px;
    opacity: 0;
  }
  100% {
    top: 0;
    opacity: 1;
    transform: translateY(0);
  }
}
.inside__01--elm {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: -2;
  opacity: 0;
  transition-duration: 1s;
  transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
  -ms-transition-duration: 1s;
  -ms-transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
  -webkit-transition-duration: 1s;
  -webkit-transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
  -moz-transition-duration: 1s;
  -moz-transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
  overflow: hidden;
}
.inside__01--elm.active {
  opacity: 0.6; 
}
.inside__01--elm.active > img {
  animation: scale_anime 5s linear infinite; 
}
.inside__01--elm > img {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%) scale(1);
  -webkit-transform: translate(-50%, -50%) scale(1);
  transform-origin: 50% 100%; 
}

@keyframes steam_Move {
  0% {
    filter: blur(10px);
    transform: rotateY(0deg);
    transform: scale(1, 1);
    opacity: 0.75;
    top: 340px; 
  }
  33% {
    transform: rotateY(40deg);
    transform: scale(0.6, 1.2); 
  }
  66% {
    transform: rotateY(2deg);
    transform: scaleY(1.2, 0.4); 
  }
  100% {
    filter: blur(16px);
    transform: rotateY(50deg);
    transform: scaleY(1.4, 1.2);
    opacity: 0;
    top: -600px; 
  } 
}
@-webkit-keyframes steam_Move {
  0% {
    -webkit-filter: blur(10px);
    -webkit-transform: rotateY(0deg);
    -webkit-transform: scale(1, 1);
    opacity: 0.75;
    top: 340px; 
  }
  33% {
    -webkit-transform: rotateY(40deg);
    -webkit-transform: scale(0.8, 1.2); 
  }
  66% {
    -webkit-transform: rotateY(2deg);
    -webkit-transform: scaleY(1.2, 0.6); 
  }
  100% {
    -webkit-filter: blur(16px);
    -webkit-transform: rotateY(50deg);
    -webkit-transform: scaleY(1.4, 1.2);
    top: -600px;
    opacity: 0; 
  } 
}
@keyframes scale_anime {
  0% {
    opacity: 0;
    transform: translate(-50%, 0%) scale(1, 1); }
  10% {
    opacity: .2; 
  }
  30% {
    opacity: 0.6; 
  }
  75% {
    opacity: 0.6; 
  }
  90% {
    opacity: .2; 
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(1, 2); 
  }
}


/*----------------------------------------------------
comment
----------------------------------------------------*/
#content_wrap > div{
  position: relative;
}
.special_img{
  position: relative;
  z-index: 2;
}
.sns_list{
  position: relative;
  z-index: 2;
}

#urahiyoko .comment .fukidashi:before{
  box-shadow: none;
}
#urahiyoko .comment .fukidashi p{
  box-shadow: none;
  border-radius: 36px;
  padding: 2.5vw 3.33vw;
}
#urahiyoko .comment .fukidashi p img{
  height: 3.33vw;
}
#urahiyoko .comment.left{
  margin: 0 0 6.5vw 1vw;
  text-align: left;
}
#urahiyoko .comment.right{
  margin: 0 1vw 7.5vw 0;
  text-align: right;
}
#urahiyoko .comment.left .fukidashi:before {
  left: 0;
}
#urahiyoko .comment.right .fukidashi:before {
  transform: rotate(84deg) skew(-10deg, -40deg);
  right: 0;
}
#urahiyoko .comment .fukidashi div{
  width: 16.6vw;
  height: 17vw;
}
#urahiyoko .comment.left div div{
  left: -16vw;
}
#urahiyoko .comment.right div div{
  right: -16vw;
}

@media (min-width: 1000px) {
  #urahiyoko .bannerArea{
    display: inline-block;
    width: 400px;
    position: absolute;
    width: auto;
  }
  #urahiyoko #special .bannerArea{
    left: 0;
    top: 32px;
  }
  #urahiyoko #sns_good .bannerArea{
    right: 0;
    top: -68px;
  }
  #urahiyoko #sns_show .bannerArea{
    left: 0;
    top: -68px;
  }
  #urahiyoko .bannerArea .item{width: auto;}
  #urahiyoko .comment{
    margin: 0 0 10px;
  }
  #urahiyoko .comment .fukidashi p{
    padding: 12px 30px;
  }
  #urahiyoko #special .comment .fukidashi p img{
    width: 107px;
    height: 41px;
  }
  #urahiyoko #sns_good .comment .fukidashi p img{
    width: 127px;
    height: 41px;
  }
  #urahiyoko #sns_show .comment .fukidashi p img{
    width: 152px;
    height: 41px;
  }
  #urahiyoko .comment .fukidashi div{
    width: 125px;
    height: 128px;
    top: 0;
  }
  #urahiyoko .comment.right .fukidashi:before {
    transform: rotate(96deg) skew(-10deg, -40deg);
    right: 3px;
  }
  #urahiyoko .comment.left .fukidashi div{
    left: -120px;
  }
  #urahiyoko .comment.right .fukidashi div{
    right: -115px;
  }
}
@media (min-width: 1310px) {
  #urahiyoko #special .bannerArea{
    left: 118px !important;
  }
  #urahiyoko #sns_good .bannerArea{
    right: 50px !important;
  }
  #urahiyoko #sns_show .bannerArea{
    left: 118px !important;
  }
  #urahiyoko .comment.left .fukidashi div{
    left: -120px !important;
  }  
}


/*----------------------------------------------------
footShare
----------------------------------------------------*/
@media screen and (min-width: 1000px) {
  #footShare .footer_share_wrap .pc{display: none !important;}
  
  #pagetop:before{
    background: url("../img/pagetop_img.png") no-repeat;
    width: 136px;
    height: 150px;
    top:-34px;
    z-index: 1;
  }
  #pagetop img{
    position: relative;
    z-index: 2;
  }

}