@charset "utf-8";
@import url("base.css");
/* CSS Document */
/* ボタンのデフォルトスタイル */


.en {
  opacity: 0.8;
  font-weight: lighter;
}
.half_size {
  width: auto;
  max-width: 50%;
  height: auto;
}


/*MV*/
.collage {
  display: none;
}

.top_logo_img {
  display: flex;
  justify-content: space-around;
}

.top_logo_img .button {
	width: 80%;	
  margin: 10px;
  font-size: 1rem;
  letter-spacing: .2em;
}


#about_index p,#feature_index p, #feature_2 p {
  font-size: 1.4rem;
  text-shadow: 4px 4px 4px rgba(80, 80, 80, 0.5);
	line-height: 2.6;
	letter-spacing: .08em;

}
#about_index h3, #feature_index h3, #feature_2 h3 {
  text-shadow: 4px 4px 4px rgba(80, 80, 80, 0.5);
}

#about_index .en,#feature_index .en, #feature_2 .en{
		line-height: 1.5;
	padding-top:2rem; 
	}

.triangle{
	font-size: 1.4rem;
	padding-right: 0.5em;
}
/*-----ｈ１テキスト(neon)-----*/ :root {
  /* Set neon color */
  --neon-text-color: #ff1493;
  --primary-color: #ff1493;
  --secondary-color: #2B2B2B;
  --text-color: #fafafa;
  --font-family: "Megrim", system-ui;
  --transition-speed: 0.3s;
}
h1 {
  padding: 3.2rem 0;
  font-family: "Megrim", system-ui;
  color: #ff1493;
  font-size: 8rem;
  font-weight: 600;
  animation: flicker 8s infinite alternate;
}
h1::-moz-selection {
  background-color: var(--neon-border-color);
  color: var(--neon-text-color);
}
h1::selection {
  background-color: var(--neon-border-color);
  color: var(--neon-text-color);
}
h1:focus {
  outline: none;
}
.playing {
  aspect-ratio: 9 / 16;
}
/* -----Animate neon flicker----- */
@keyframes flicker {
  0%, 19%, 21%, 23%, 25%, 54%, 56%, 100% {
    text-shadow:
      -0.2rem -0.2rem 1rem #6d6dd7, 0.2rem 0.2rem 1rem #acacc1, 0 0 2rem var(--neon-text-color), 0 0 4rem var(--neon-text-color), 0 0 6rem var(--neon-text-color), 0 0 8rem var(--neon-text-color), 0 0 10rem var(--neon-text-color);
  }
  20%, 24%, 55% {
    text-shadow: none;
    box-shadow: none;
  }
}



/*-----メインコンテンツ　一般-----*/
 #about_index, #feature_index{
     position: relative;
      z-index: 2;
  }

#about_index h2 {
 width: 95%;
    text-align: right;
}
.h3_p {
  margin-bottom: 2rem;
}
.discription {
  width: 60%;
  margin: 0 auto;
  text-align: left;
  padding-top: 3.2rem;
}
.list p {
  text-indent: -1em;
  padding-left: 1em;
}

  /* -----アンダーライン----- */  
.underline-before {
    display: inline-block;;
  background: linear-gradient(rgba(250, 250, 250, 0.7), rgba(255, 20, 147, 0.5)) 0 100% / 0% 3px no-repeat;
  transition: background-size 1s ease;
  
}

.underline-after {
  background-size: 100% 3px;
}	

/*-----ピンクゾーン-----*/

 #about_index .discription {
    width: 80%;
    margin: 0 auto;
  }

.playing_sp{
	display: block;
}
.playing_dt {
  display: none;
}

.lead_sentence {
  line-height: 1.5;
  padding-bottom: 1em;
	 font-size:1.8rem;	
}
#lead_wavevibes {
  font-weight: bold;
}

/*-----黄色ゾーン-----*/
.js-scroll-overlap:not(.is-disabled) {
  --sticky-offset: -1px;
  position: sticky;
  top: var(--sticky-offset);
}

/* -----パララックスの設定----- */
.parallax {
  background-image: url("../img/gradation_pink.png");
  background-size: cover;
  background-attachment: fixed;
  height: auto;
}
.parallax2 {
  background-image: url("../img/gradation_blue.png");
  background-size: cover;
  background-attachment: fixed;
  background-position: center;
  height: auto;
}
.parallax3 {
  background-image: url("../img/gradation_orange.png");
  background-size: cover;
  background-attachment: fixed;
  background-position: center;
  height: 100vh;
}


#FAQ_index
	
	{
		 position: relative;
  		z-index: 2;
		background-color: #2b2b2b;
	}

/*-----プラン-----*/
#plan_index{
	padding: 2rem 0;
    position: relative;
  z-index: 2;
	background-color: #2b2b2b;
}


#plan_index .inner{
	padding-bottom: 0;
      
}


.plan_box {
  border: 1px solid var(--primary-color);
  margin: 3.2rem;
  transition: all var(--transition-speed);
}
.plan_box a {
  display: flex;
  justify-content: space-around;
  color: var(--text-color);
  padding: 2rem;
  transition: color var(--transition-speed);
}
.plan_box:hover {
  background-color: var(--text-color);
}
.plan_box:hover a {
  color: var(--primary-color);
}
.plan_box p {
	font-size: 1.4rem;
  line-height: 1.5em;
}
.plan_box p:first-child {
  font-weight: bold;
  text-align: center;
  letter-spacing: .2em;
}
.plan_box p:nth-child(2) {
  letter-spacing: .03em;
}
.price {
  font-size: 2.4rem;
}
/*-----パララックス-----*/
@keyframes parallax-large-anim {
  from {
    transform: translateY(100px);
  }
  to {
    transform: translateY(0px);
  }
}
.large {
  animation: parallax-large-anim linear;
  animation-timeline: scroll();
}
.medium {
  background-color: #B9314F;
  width: 75px;
}
@keyframes parallax-small-anim {
  from {
    transform: translateY(-100px);
  }
  to {
    transform: translateY(0px);
  }
}
.small {
  animation: parallax-small-anim linear;
  animation-timeline: scroll();
}

	.section {
  height: 100vh;
  position: relative;
}
	
	.section-inner {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: inherit;
  display: grid;	
}
	
	.sticky_button{
		position: relative;
		z-index: 2;
		background-color: #2b2b2b;
		padding-bottom:5rem;
	}
	


/*---------------------------------デスクトップ用(TOPページ)-----------------------------------*/
@media screen and (min-width: 769px) {
  /*-----MV デスクトップ-----*/
  h1 {
    font-size: 20rem;
  }
    
    #about_index p,#feature_index p, #feature_2 p {
        font-size: 2rem;
        line-height: 2.7;
        letter-spacing: .1em;
    }
	
	#feature_index p{
		 line-height: 2.5;
	}
    
     #about_index h3,#feature_index h3, #feature_2 h3
    {
        line-height: 2;
        letter-spacing: .1em;
    }
	
	#about_index.en,#feature_index .en, #feature_2 .en{
		line-height: 2.2;
        letter-spacing: .1em;
	}
    
/*------FV----*/
.fv_inner{
	width: 80%;	
	margin: 0 auto;
	padding: 20px 0 80px;
	}	
.top_logo_img {
  height: 100vh;
  box-sizing: border-box;
}


/* 右側の画像コラージュ */
.collage {
   display: block;
  position: relative;
  width: 50%;
  height: 65vh;
}

/* 各アイテム配置と見た目 */
.collage .item {
  position: absolute;
  width: 40%;
  aspect-ratio: 3/4;
  overflow: hidden;
  border-radius: 1rem;
  box-shadow: 0 10px 20px rgba(2, 2, 2,0.2);
}
	

.collage .item img,
.collage .item video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
	
.collage .item video

/*配置（重ならないよう調整済み） */
.img1 { top: 0; left: 0; transform: rotate(-3deg); }
.img2 { top: 0%; right: 20%; transform: rotate(4deg); }
.img3 { bottom: 0; left: 10%; transform: rotate(-2deg); }
.img4 { top: 0; right: 0%; transform: rotate(90deg); }	
.img5 { bottom: 0%; right: 10%; transform: rotate(3deg); }
	
	
  .collage .item {
    opacity: 0;
    transition: opacity 0.8s ease, transform 0.8s ease;
  }

  .collage .item.show {
    opacity: 1;
 
  }


  .collage.show .img1 { transition-delay: 0.2s; }
  .collage.show .img2 { transition-delay: 0.4s; }
  .collage.show .img3 { transition-delay: 0.6s; }
  .collage.show .img4 { transition-delay: 0.8s; }
  .collage.show .img5 { transition-delay: 1s; }

	

  /*-----基本-----*/
  #top_text p {
	  text-indent: 1em;
    font-size: 3.2rem;
    font-weight: 550;
  }
  #top_text .en {
    font-weight: 500;
  }
  .half_size {
    max-height: 650px
  }
  #about_index, #feature_index, #feature_2 {
    padding: 12rem 0;
  }
    
    
  /*-----Wavevibes下のボタン　デスクトップ-----*/
  .top_logo_img {
    text-align: center;
  }
  .top_logo_img .button {
    width: 70%;
    margin: 1.5rem;
    font-size: 1.5rem;
    letter-spacing: .2em;
    line-height: 4;
  }

/*スマホスライドイン*/
.slide-in-left {
  opacity: 0;
  transform: translateX(-100px); /* ← 左から来るように */
  transition: opacity 1s ease, transform 1s ease;
}

.slide-in-right {
  opacity: 0;
  transform: translateX(100px); /* ← 右から来る */
  transition: opacity 1s ease, transform 1s ease;
}

.slide-in-left.show {
  transform: translateX(0);
  opacity: 1;
}

.slide-in-right.show {
  transform: translateX(0);
  opacity: 1;
}


	
  /*-----ピンクゾーン-----*/
  .playing_sp {
    display: none;
  }
  .playing_dt {
    display: block;
  }
  #about_index .discription {
    width: 50%;
    margin: 0;
  }
  #about_index .discription_img {
    display: flex;
    justify-content: space-around;
    margin-top: 8rem;
  }
  /*-----青ゾーン-----*/
  .feature_flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 5rem;
  }
  .discription h3 {
    font-size: 3.2rem;
    font-weight: bold;
  }
  .feature_sub_title {
    margin-bottom: 4.8rem;
  }
  #feature_index .discription {
    width: 50%;
    margin: 0 4.8rem 0 3.2rem;
    text-align: left;
    padding-top: 3.2rem;
  }
  #feature_index img .half_size {
    max-width: 40%;
  }
  /*-----黄色ゾーン-----*/
  .chatting_flex {
    display: flex;
    flex-direction: row-reverse;
      margin: 10rem 20rem 0 40rem;
  }
  .list {
    margin: 1.6rem 0;
  }
     
 
  #feature_2 .discription {
    width: 30%;
  }
  /*-----黄色ゾーンのスマホ画像大きく-----*/
  #feature_2 .half_size {
    max-width: 100%;
  }
	

	
  /*-----プラン index-----*/
    
    #plan_index {
        padding: 8rem 0 10rem;
    }    
  #plan_index h2 {
    padding: 8rem 0 4rem;
  }
	
  .boxes {
    display: flex;
    justify-content: space-between;
  }
  .plan_box {
    width: 30%;
    margin: 0;
  }
  .plan_box a {
    padding: 11rem 0;
  }
    
   .plan_box p {
	font-size: 1.6rem;
  line-height: 2em;
}
  .price {
    font-size: 4rem;
  }
  /* -----共通のコンテナスタイル----- */
  .container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1.6rem;
  }
  /* -----共通のフレックスボックススタイル----- */
  .flex-center {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .flex-between {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
   
		
	.sticky_button{
		padding-bottom:10rem;
	}
	


}