@charset "UTF-8";
/*
Theme Name: LEGENDARY GIRLS
Author: USHIO ITOKAWA
Description: This is new LEGENDARY GIRLS theme.
Version: 1.0
*/


* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -ms-overflow-style: none;/*スクロールバー非表示(マイクロソフト)*/
    scrollbar-width: none;/*スクロールバー非表示(firefox)*/
}
*::-webkit-scrollbar {/*スクロールバー非表示(chrome)*/
    display: none;
}




li {
	list-style-type: none;
}
img {
	border-style: none;
}




body {
	font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
	height: 100%;
	width: 100%;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
}



/*topページの設定*/
.top_wrapper {
  width: 100%;
  height: 100vh;
   /*背景グラデの設定*/
  background: linear-gradient(-225deg, #2eb8ff, #ea9642,#7878dd, #be5cff, #73c973, #ff9ec2, #56baa9) fixed;
    background-size: 100% 5000%;
    -webkit-animation: AnimationName 120s ease infinite;
    -moz-animation: AnimationName 120s ease infinite;
    -o-animation: AnimationName 120s ease infinite;
    animation: AnimationName 120s ease infinite;
}

@-webkit-keyframes AnimationName {
    0%{background-position:50% 0%}
    50%{background-position:51% 100%}
    100%{background-position:50% 0%}
}
@-moz-keyframes AnimationName {
    0%{background-position:50% 0%}
    50%{background-position:51% 100%}
    100%{background-position:50% 0%}
}
@-o-keyframes AnimationName {
    0%{background-position:50% 0%}
    50%{background-position:51% 100%}
    100%{background-position:50% 0%}
}
@keyframes AnimationName {
    0%{background-position:50% 0%}
    50%{background-position:51% 100%}
    100%{background-position:50% 0%}
}



.top_main{
  position: relative;
  width: 100%;
  height: 100vh;

}

.top_main_bk{
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100vh;
background-image: url(./images/top_main_back_25.jpg);
background-repeat: no-repeat;
background-position: bottom;
background-size: cover;
mix-blend-mode: multiply;
}


.top_content{
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  
  width: 100%;
  height: 100vh;
  background-image: url("./images/tape_top.png");
background-repeat: no-repeat;
background-position: bottom;
background-size: cover;
  
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
text-align: center;
}

.top_content h1{
  width: 86%;
  max-width: 380px;
}
.top_content h2{
  width: 86%;
  max-width: 270px;
  margin: 20px 0 50px 0;
}






/*TOPスライドボタン*/
@media screen and (min-width: 1024px) {
/* PC */
.swiper{
  width: 100%;
  height: 40px;
  overflow: hidden;
  position: fixed;
  z-index: 200;
  bottom: 26px;
  right: 0px;
}
}

@media screen and (max-width: 1023px) {
/* PC */
.swiper{
  width: 100%;
  height: 40px;
  overflow: hidden;
  position: fixed;
  z-index: 200;
  bottom: 0px;
  right: 0px;
}
}


.swiper-wrapper {
  transition-timing-function: linear;
  display: flex;
  
}


@media screen and (min-width: 768px) {
/* TB/PC */
.swiper-slide {
  width: 25%;
  max-width: 300px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-family: "Sofia Sans Extra Condensed", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 30px;
}
}
@media screen and (max-width: 767px) {
/* SP */
.swiper-slide {
  width: 80%;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-family: "Sofia Sans Extra Condensed", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 30px;
}
}




.swiper-slide a{
  text-decoration: none;
  color: #ffffff;
}
.swiper-slide a:hover{
  opacity: 0.8;
}

.btn_makimoto{
  background-color: #2eb8ff;
}
.btn_kudoh{
  background-color: #ea9642;
}
.btn_shiraishi{
  background-color: #7878dd;
}
.btn_oikawa{
  background-color: #be5cff;
}
.btn_osawa{
  background-color: #73c973;
}
.btn_nanaumi{
  background-color: #ff9ec2;
}
.btn_uehara{
  background-color: #56baa9;
}






/*エントリーページ=============================================*/

.wrapper_makimoto{
  width: 100%;
  height: 100vh;
  background-color: #2eb8ff;
}
.wrapper_kudoh{
  width: 100%;
  height: 100vh;
  background-color: #ea9642;
}
.wrapper_shiraishi{
  width: 100%;
  height: 100vh;
  background-color: #7878dd;
}
.wrapper_oikawa{
  width: 100%;
  height: 100vh;
  background-color: #be5cff;
}
.wrapper_osawa{
  width: 100%;
  height: 100vh;
  background-color: #73c973;
}
.wrapper_nanaumi{
  width: 100%;
  height: 100vh;
  background-color: #ff9ec2;
}
.wrapper_uehara{
  width: 100%;
  height: 100vh;
  background-color: #56baa9;
}



@media screen and (min-width: 1024px) {
/* TB/PC */
.entry_main{
  width: 100%;
  height: 100vh;
  display: flex;
}


.entry_left{
  flex: 34%;
  /*width: 440px; */
  overflow: hidden;
  position: relative; 
}

.girl_image{
  position: absolute;
  top:0;
  left:0;
  z-index: 50;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  display: flex;
justify-content: center;
align-items: center;
text-align: center;
  
}
.girl_image img{
  height: 100%;
  width: auto;
  margin: 0 0 30px 0;
}


.entry_left h1{
position: absolute;
  top:0;
  left:0;
  z-index: 100;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.entry_left h1 img{
  width: 100%;
  height: auto;
  margin: 0 0 120px 0;
  Animation:guru 20s linear infinite;
}
  
.entry_right{
  /*flex: 1; */
  flex: 66%;
  overflow: hidden;
  position: relative;
}

.entry_right .girl_info_area{
  position: absolute;
  top:0;
  left:0;
  z-index: 150;
  width: 100%;
  height: 100vh;
  padding: 0 0 120px 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items:left;
  text-align: left;
  font-family: "Sofia Sans Extra Condensed", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  color: #ffffff;
}

.entry_right .girl_info_area h2{
  font-size: 170px;
  line-height: 0.85;
  font-weight: 100;
}
.entry_right .girl_info_area h3{
  font-size: 50px;
  line-height: 0.5;
  font-weight: 100;
  text-indent: 0.1em;
}

.entry_right .tape{
  position: absolute;
  top:0;
  right:0;
  z-index: 200;
  display: flex;
  width: 100%;
  height: 100vh;
  justify-content: right;
  align-items: center;
  text-align: right;
}
.entry_right .tape img{
  height: 100%;
  width: auto;
}

}




@media screen and (min-width: 768px) and (max-width: 1023px) {
/* TB */
.entry_main{
  width: 100%;
  height: 100vh;
  display: flex;
  flex-direction: column;
}

.entry_left{
  width: 100%; 
  height: 60%;
  overflow: hidden;
  position: relative; 
}

.girl_image{
  position: absolute;
  top:0;
  left:0;
  z-index: 50;
  width: 100%;
  height: auto;
  overflow: hidden;
  display: flex;
justify-content: center;
align-items: top;
text-align: center;
  
}
.girl_image img{
  width: 100%;
  height: auto;
}


.entry_left h1{
position: absolute;
  top:0;
  left:0;
  z-index: 100;
  width: 100%;
  height: 100%;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;

}

.entry_left h1 img{
  width:85%;
  height: auto;
  Animation:guru 20s linear infinite;
}
  
.entry_right{
  width: 100%;
  height: 40%;
  overflow: hidden;
  position: relative;
}

.entry_right .girl_info_area{
  position: absolute;
  top:0;
  left:0;
  z-index: 200;
  width: 100%;
  height: 100%;
  padding: 0 0 0 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items:left;
  text-align: left;
  font-family: "Sofia Sans Extra Condensed", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  color: #ffffff;
}

.entry_right .girl_info_area h2{
  font-size: 130px;
  line-height: 0.85;
  font-weight: 100;
}
.entry_right .girl_info_area h3{
  font-size: 50px;
  line-height: 0.5;
  font-weight: 100;
  text-indent: 0.1em;
}

.entry_right .tape{
  position: absolute;
  top:0;
  right:0;
  z-index: 150;
  display: flex;
  width: 100%;
  height: 100%;
  justify-content: right;
  align-items: center;
  text-align: right;
}
.entry_right .tape img{
  height: 140%;
  width: auto;
}

}



@media screen and (max-width: 767px) {
/* SP */
.entry_main{
  width: 100%;
  height: 100vh;
  display: flex;
  flex-direction: column;
}

.entry_left{
  width: 100%; 
  height: 60%;
  overflow: hidden;
  position: relative; 
}

.girl_image{
  position: absolute;
  top:0;
  left:0;
  z-index: 50;
  width: 100%;
  height: auto;
  overflow: hidden;
  display: flex;
justify-content: center;
align-items: top;
text-align: center;
  
}
.girl_image img{
  width: 100%;
  height: auto;
}


.entry_left h1{
position: absolute;
  top:0;
  left:0;
  z-index: 100;
  width: 100%;
  height: 100%;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;

}

.entry_left h1 img{
  width:70%;
  height: auto;
  Animation:guru 20s linear infinite;
}
  
.entry_right{
  width: 100%;
  height: 40%;
  overflow: hidden;
  position: relative;
}

.entry_right .girl_info_area{
  position: absolute;
  top:0;
  left:0;
  z-index: 200;
  width: 100%;
  height: 100%;
  padding: 0 0 0 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items:left;
  text-align: left;
  font-family: "Sofia Sans Extra Condensed", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  color: #ffffff;
}

.entry_right .girl_info_area h2{
  font-size: 100px;
  line-height: 0.85;
  font-weight: 100;
}
.entry_right .girl_info_area h3{
  font-size: 40px;
  line-height: 0.5;
  font-weight: 100;
  text-indent: 0.1em;
}

.entry_right .tape{
  position: absolute;
  top:0;
  right:0;
  z-index: 150;
  display: flex;
  width: 100%;
  height: 100%;
  justify-content: right;
  align-items: center;
  text-align: right;
}
.entry_right .tape img{
  height: 140%;
  width: auto;
}

}











@keyframes guru {
   0% {
       transform:rotate(0deg);
   }
   100% {
       transform:rotate(360deg);
   }
}

/*フェードインするテキスト-----------------------------------------------*/
.fade-in-text01 {
  position: relative;
  font-size: 24px;
  opacity: 0; /* 初めは透明に設定 */
  transform: translateX(-100%); /* 左からスライドするために位置を下に設定 */
  animation: fadeInText 1s forwards; /* フェードインアニメーションの設定 */
}
.fade-in-text02 {
  position: relative;
  font-size: 24px;
  opacity: 0; /* 初めは透明に設定 */
  transform: translateX(100%); /* 右からスライドするために位置を下に設定 */
  animation: fadeInText 1s forwards; /* フェードインアニメーションの設定 */
}
.fade-in-text03 {
  position: relative;
  font-size: 24px;
  opacity: 0; /* 初めは透明に設定 */
  transform: translateY(100%); /* 下からスライドするために位置を下に設定 */
  animation: fadeInText 1s forwards; /* フェードインアニメーションの設定 */
}

@keyframes fadeInText {
  to {
    opacity: 1; /* アニメーション終了時に完全に表示 */
    transform: translate(0,0); /* アニメーション終了時の位置 */
    /*transform: translateX(0); /* アニメーション終了時の位置 */
    /*transform: translateY(0); /* アニメーション終了時の位置 */
  }
}













/*スクロールギャラリー-----------------------------------------------*/

@media screen and (min-width: 1024px) {
/* PC */
#scroll {
  display: flex;
  flex-direction: row;
  height: 120px;/*overflow:hidden;をかけられないので高さを指定して*/
  width: 100vw;
  overflow-x: auto;
  background-color: #dddddd;
  
  position: fixed;
  z-index: 250;
  bottom: 26px;
  right: 0px;
}

}



@media screen and (max-width: 1023px) {
/* PC */
#scroll {
  display: flex;
  flex-direction: row;
  height: 120px;/*overflow:hidden;をかけられないので高さを指定して*/
  width: 100vw;
  overflow-x: auto;
  background-color: #dddddd;
}

}







#scroll > div {
  font-size: 8em;/*なぜかこれがないと幅を取得できない、サイズは必要に合わせて適宜変更*/
  width: 120px;
  height: 120px;
  display: flex;
  align-items: center;
  background: #dddddd;
}

#scroll > div:nth-child(even) {
  background: #eeeeee;
}




/*hoverしたときの設定*/
.hoverset figure{
  width: 120px;
  height: 120px;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center; 
}
.hoverset figure img{
  width: 200%;
  height:auto;
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
  -webkit-transition: .2s ease-in-out;
  transition: .2s ease-in-out;
}
.hoverset:hover figure img{
  -webkit-filter: grayscale(0);
  filter: grayscale(0);
  -webkit-transition: .2s ease-in-out;
  transition: .2s ease-in-out;
}









/*404*/

.notfound_container{
  width: 100%;
  height: 100vh;
  position: absolute;
    top: 0;
    left: 0;
  z-index: 250;
  display: flex;
  flex-direction: column;
justify-content: center;
align-items: center;
text-align: center;
color: #010823;
}


.notfound_container h2{
  display: block;
  font-size: 100px;
  margin: 0 0 0 0;
}
.notfound_container h3{
  margin: -40px 0 20px 0;
  font-size: 32px;
}

.notfound_container h4{
  font-size: 20px;
  margin: 0 0 10px 0;
}
.notfound_container p{
  font-size: small;
  margin: 0 0 50px 0;
}


.btn_totoppage{
  border: none;
  color: #ffffff;
  display: inline-block;
  min-width: 240px;
  max-height: 60px;
  border-radius: 100vh;
  text-align: center;
  vertical-align: middle;
  font-size: small;
  font-weight: bold;
  padding: 15px;
  text-decoration: none;
  outline: none;
  /*背景の色と形状*/
  background: linear-gradient(270deg, #3fb1ff 0%, #8b04bc 100%);
  background-position: 1% 50%;
  background-size: 200% auto;
  /*アニメーションの指定*/
  transition: all 0.3s ease-out;
}

.btn_totoppage:hover{
   background-position: 99% 50%;
}
















/*フッタの設定=============================================*/
@media screen and (min-width: 1024px) {
/* PC */
footer {
  width: 100%;
  height: 26px;
  background-color: #010823;
  overflow: hidden;
  position: fixed;
  z-index: 300;
  bottom: 0px;
  right: 0px;
flex-direction: column;
  justify-content: center;
  align-items: center;
text-align: center;
}
footer copy {
  color: #ffffff;
  font-size: x-small;
  opacity: 0.6;
}
footer copy span{
  color: #ffffff;
  font-size: medium;
  vertical-align: -3px;
}
}


@media screen and (max-width: 1023px) {
/* SP/TB */
footer {
  width: 100%;
  height: 26px;
  background-color: #010823;
  overflow: hidden;
  
flex-direction: column;
  justify-content: center;
  align-items: center;
text-align: center;
}
footer copy {
  color: #ffffff;
  font-size: x-small;
  opacity: 0.6;
}
footer copy span{
  color: #ffffff;
  font-size: medium;
  vertical-align: -3px;
}
}







/*ハンバーガーメニュー==========================================*/
.nav{
  position: fixed;
  top:0;
  right:0;
  z-index: 1000;/* 他のコンテンツより上になるように */
}


  
/* チェックボックスを非表示にする */
.drawer_hidden {
  display: none;
}

/* ハンバーガーアイコンの設置スペース */
.drawer_open {
  display: flex;
  height: 60px;
  width: 60px;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 1100;/* 重なり順を一番上にする */
  cursor: pointer;
}

/* ハンバーガーメニューのアイコン */
.drawer_open span,
.drawer_open span:before,
.drawer_open span:after {
  content: '';
  display: block;
  height: 3px;
  width: 25px;
  border-radius: 3px;
  background: #ffffff;
  transition: 0.5s;
  position: absolute;
}

/* 三本線の一番上の棒の位置調整 */
.drawer_open span:before {
  bottom: 8px;
}

/* 三本線の一番下の棒の位置調整 */
.drawer_open span:after {
  top: 8px;
}

/* アイコンがクリックされたら真ん中の線を透明にする */
#drawer_input:checked ~ .drawer_open span {
  background: rgba(255, 255, 255, 0);
}

/* アイコンがクリックされたらアイコンが×印になように上下の線を回転 */
#drawer_input:checked ~ .drawer_open span::before {
  bottom: 0;
  transform: rotate(45deg);
}

#drawer_input:checked ~ .drawer_open span::after {
  top: 0;
  transform: rotate(-45deg);
}



/* メニューのデザイン*/

@media screen and (min-width: 768px) {
/* TB/PC */
.nav_content {
  width: 25%;
  height: 100%;
  position: fixed;
  top: 0%;
  left: 100%; /* メニューを画面の外に飛ばす */
  z-index: 99;
  background: rgba(0, 0, 0, 0.9);
  transition: .5s;
  padding: 80px 30px 0 30px;

font-family: "Sofia Sans Extra Condensed", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

/* アイコンがクリックされたらメニューを表示 */
#drawer_input:checked ~ .nav_content {
  left: 75%;
}
}


@media screen and (max-width: 767px) {
/* SP/TB */
.nav_content {
  width: 100%;
  height: 100%;
  position: fixed;
  top: -100%;/* メニューを画面の外に飛ばす */
  left: 0; 
  z-index: 99;
  background: rgba(0, 0, 0, 0.9);
  transition: .5s;
  padding: 80px 30px 0 30px;

font-family: "Sofia Sans Extra Condensed", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

/* アイコンがクリックされたらメニューを表示 */
#drawer_input:checked ~ .nav_content {
  top: 0;
}
}






.girl_list{
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content:flex-start;
}
.girl_list li{
  width: 100%;
  font-size: 24px;
  margin: 0 0 10px 0;
}
.girl_list li a{
  text-decoration: none;
  color: #ffffff;
  opacity: 0.7;
}
.girl_list li a:hover,.navi_home a:hover{
  opacity: 1;
}
.girl_list li p{
  font-size: 12px;
  color: #ffffff;
}


.navi_home{
  width: 100%;
  border-top: 1px solid #666666;
  padding: 10px 0 0 0;
  margin: 30px 0 0 0;
}
.navi_home a{
  width: 100%;
  font-size: 24px;
  text-decoration: none;
  color: #ffffff;
  opacity: 0.7;
}
.navi_home p{
  width: 100%;
  font-size: 16px;
  color: #ffffff;
  margin: 20px 0 0 0;
}



.sns_btn{
  width: 100%;
  display: flex;
  gap:14px;
  margin: 14px 0 0 0;
}
.sns_btn li a{
  opacity: 1;
}
.sns_btn li a:hover{
  opacity: 0.6;
}










/*
.acpwd-container{
  width: 100%;
  height: 100vh;
  padding: 30px;
  position: fixed;
  top:0;
  left: 0;
  z-index: 2000;
  background-color: #000000;
  display: flex;
  flex-direction: column;
justify-content: center;
align-items: center;
text-align: center;
  
}
		
		.acpwd-added-excerpt {
      color: #ffffff;
		}
		
		.acpwd-info-message {
		color: #ffffff;
		}
		
		.acpwd-form {
      margin: 20px 0 20px 0;
      border: none;
      display: flex;
      gap:10px;
		}
		.acpwd-pass {
		background-color: #ffffff;
      padding: 6px;
		}
		
		.acpwd-submit {
		background-color: #ffffff;
      padding: 6px;
		}
		
		.acpwd-error-message {
			color: darkred;
		}
*/
