@charset "utf-8";
/* CSS Document */

img{max-width:100%;height:auto;}

/*=======フォント==========*/
.noto-sans-jp {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.dotgothic16-regular {
  font-family: "DotGothic16", sans-serif;
  font-weight: 400;
  font-style: normal;
}

h2{
  font-family: "DotGothic16", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 34px;
}



/*=======フッター==========*/
footer{
  width:fit-content;
  text-align: center;
  margin:0 auto;
  margin-top:15%;
  padding:0.7%;
  font-family: "DotGothic16", sans-serif;
  font-weight: 400;
  font-size: 16px;
  letter-spacing: 0.1em;
}

footer h4{
  margin-top:1%;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 16px;
  letter-spacing: 0em;
}

.end_line{
  height:4px;
  background-color:#aa48c1;
}


/*=======全体共通==========*/
body{
  background-color:#b7abd9;
}

a{
  display: block;
  color: #333;
  font-size: 16px;
  text-decoration: none;
}
a:hover {
  background: #ffff39;
  color: #333;
}

ul{
  list-style:none;
  font-size:14px;
}

.btn_close{
  /* border:1px solid #ddd; */
  font-family: "DotGothic16", sans-serif;
  font-weight: 400;
  font-size:20px;
  color: #fff;
  letter-spacing:0.2em;
  margin-top:5%;
  margin-left:7%;
  /* padding-bottom :8%; */
  /* border:2px solid red; */
}

.inner{
  border:2px solid #fff;
  position:absolute;
  top:50px;
  left:20px;
  width:200px;
  background-color: #aa48c1;
  padding-bottom:1.3%;
  z-index: 10;
}
nav .inner ul li {
  margin:11%;
  font-family: "DotGothic16", sans-serif;
  font-weight: 400;
  font-size: 16px;
  letter-spacing:0.15em;
}


/* 必須 */
.accordion-content {
  display: none;
}
/* 装飾用 */
.accordion-header {
  padding:3px;
  transition: background .3s ease;
  cursor: pointer;
  position: relative;
  /* border:1px solid red; */
}

.accordion-header::before,
.accordion-header::after{
  position:absolute;
  content:'';
  top:1px;
  right:20px;
  bottom:0;
  width:12px;
  height:2px;
  margin-top:27px;
  background:#fff;
}
.accordion-header::after{
  transform:rotate(90deg);
  transition:transform 0.3s;
}
.accordion-header.active::after{transform:rotate(0deg);}

.accordion-content {
  background-color: #FFF;
  padding: 12px 20px 10px;
}

#move{
  background-color: #fff;
  width:200px;
}

.icon{
  opacity:0;
  transition:0.2s;
}

li:hover .icon{
  opacity:1;
}
.follower {
    z-index: 900;
    position:fixed; /* 親要素を基準に配置 */
    top: 0;
    left: 0;
    pointer-events: none; /*追従要素が他の要素のクリックを邪魔しないようにする*/
    transition: transform .20s ease-out; /* 遅れてついてくる時間 */
}


/*=======toppage==========*/
.wrapper{
  max-width:1200px;
  margin:0 auto;
}
.top{
  display:flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  margin-bottom:8%;
}
.top_top{
  position:absolute;
  top:auto;
}
.top_logo{
  position: absolute;
}
.top_title{
  width:75%;
  min-height:180px;
  background-color: rgb(255, 255, 255);
  box-shadow: 10px 10px #ff4dff;
  border:4px solid #aa48c1;
  margin-left:1%;
  padding-top:3%;
}

.top_title h2{
  text-align: center;
  font-size: 24px;
  padding: 0 17%;
}
.top_title h3{
  font-family: "DotGothic16", sans-serif;
  font-weight: 400;
  font-size: 16px;
  letter-spacing:0.14em;
  text-align: center;
  margin-top:3%;
  padding:0 4%;
}
.top_main_visu{
  width:100%;
  aspect-ratio: 1200/700;
  /* height:700px; */
  /* text-align: center; */
  position:relative;
  background-image:url("../img/top_pict.png");
  background-repeat: no-repeat;
  background-size: contain;
  /* background-size:contain; */
}


/* .top_end{
  width:38%;
  min-height:35px;
  background-color: rgba(255, 255, 255, 0.5);
  box-shadow: 10px 10px rgba(255, 255, 255, 0.5);
  margin:0 0 0 auto;
  margin-right:4%;
  position:relative;
} */
.top_main_visu h3{
  font-family: "DotGothic16", sans-serif;
  font-weight: 400;
  font-size: 15px;
  letter-spacing:0.14em;
  }
  .more{
    position:absolute;
    top:71%;
    left:43%;
  }


.banner{
  margin:15% auto;
  width:fit-content;
  position:relative;
}
.kyala{
  position: absolute;
  top:-42%;
  right: 0%;
}


.more_info{
  position:absolute;
  top:-440%;
}

.banner:hover a{
  opacity:0.7;
  transition:0.5s;
}
.slider:hover a{
  opacity:0.7;
  transition: 0.5s;
}

/*====================================================================
slick　スライダー（フルスクリーン）
====================================================================*/

html, body {
  margin: 0;
  padding: 0;
}
* {
  box-sizing: border-box;
}
.sliderArea {
  max-width: 100%;
  margin: 0 auto;
  padding: 0 25px;
}
.sliderArea.w300 {
  max-width: 300px;
}
.slick-slide {
  margin: 0 5px;
}
.slick-slide img {
  width: 100%;
  height: auto;
}
.slick-prev, .slick-next {
  z-index: 1;
}
.slick-prev:before, .slick-next:before {
  color: #000;
}
.slick-slide {
  transition: all ease-in-out .3s;
  opacity: .2;
}
.slick-active {
  opacity: 1;
}
.slick-current {
  opacity: 1;
}
.thumb {
  margin: 20px 0 0;
}
.thumb .slick-slide {
  cursor: pointer;
}
.thumb .slick-slide:hover {
  opacity: .7;
}

.section{
  overflow: hidden;
}

/*====================================================================
.full-screen
====================================================================*/

.full-screen .slick-list {
  overflow: visible;
}
.full-screen.slider {
  max-width: 500px;
  margin: 0 auto;
}

#popup01{
  width:200px;
}


/*========profile=========*/
.profile_wrapper{
  background-image:url(../img/back_piko.png);
  background-repeat: repeat-y;
  background-size: auto;
  border:1px solid hsla(0, 100%, 50%, 0);
}

.prifile_title{
  width:fit-content;
  margin:8% auto;
  /* border:1px solid red; */
}
.prifile_title h2{
  text-align: center;
  letter-spacing:0.18em;
}
.prifile_title h3{
  font-family: "DotGothic16", sans-serif;
  font-weight: 400;
  font-size: 16px;
  letter-spacing:0.14em;
}

.profile_main{
  max-width:985px;
  /* background-image:url("../img/prolife_top.png"); */
  background-repeat: no-repeat;
  background-size:contain;
  min-height: 700px;
  margin:0 auto;
  padding-top:3%;
}
.profile_text{
  /* background-color:rgba(255, 255, 255, 0.5); */
  background-image:url("../img/prolife_top.png");
  background-repeat: no-repeat;
  background-size:contain;
  max-width:1000px;
  min-height: 400px;
  display:flex;
  flex-direction: column;
  align-items: center;
  margin-bottom:25%;
  padding:25%  8% 6% 8%;
  /* border:1px solid red; */
}
.profile_text h4{
  text-align: center;
  font-family: "DotGothic16", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8em;
}
.profile_text img{
  margin-top:3%;
  margin-bottom:5%;
}

.profile_text .text01, .profile_text .text02{
  margin-bottom:2.5%;
}

.member_title{
  text-align: center;
  letter-spacing:0.1em;
  margin-bottom:5%;
}

.member{
  display:flex;
  justify-content: space-between;
}
.member h4{
  font-family: "DotGothic16", sans-serif;
  font-weight: 400;
  font-size: 16px;
  text-align:center;
  margin:12% 0;
}
.profile_main a:hover{
  background-color: #b7abd9;
}
.yamada img{
 filter:drop-shadow(15px 15px rgb(90, 216, 255));
}
.satou img{
 filter:drop-shadow(15px 15px rgb(255, 77, 255));
}
.tanaka img{
 filter:drop-shadow(15px 15px rgb(80, 255, 167));
}

.member img:hover{
  transform:scale(1.05,1.05);
  transition:0.5s all;
}
.fukidashi_wrap{
  width:65%;
  /* border:1px solid red; */
  margin-left:10%;
}
.fukidashi_wrap img:hover{
  transform: none;
}
.yamada_wrap{
  position:relative;
}
.satou_wrap{
  position:relative;
}
.tanaka_wrap{
  position:relative;
}

.abs_name{
  position: absolute;
  top:11%;
  left:32%;
  z-index:200;
  font-family: "DotGothic16", sans-serif;
  font-weight: 400;
  font-size: 12px;
}

.sns_text{
  margin-top:15%;
}
.sns_text h4{
  text-align: center;
  font-family: "DotGothic16", sans-serif;
  font-weight: 400;
  font-size: 16px;
  letter-spacing: 0.12em;
  margin:1% 0;
}
.sns_icon{
  display:flex;
  gap:5%;
  justify-content: center;
  margin:4% 0 1% 0;
}
.sns_icon img{
  border-radius: 100%;
}
.sns_icon img:hover{
  transform:scale(1.2);
  transition:0.5s ease;
}

/*========discography=========*/
.discography_wrapper{
  background-image:url(../img/back_piko.png);
  background-repeat: repeat-y;
  background-size: auto;
  border:1px solid hsla(0, 100%, 50%, 0);
}
.discography_title{
  width:fit-content;
  margin:8% auto;
  letter-spacing:0.14em;
}
.discography_title h3{
  text-align: center;
  font-family: "DotGothic16", sans-serif;
  font-weight: 400;
  font-size: 16px;
}


.discography_main{
  display:flex;
  flex-direction: column;
}
.discography_main h4{
  font-family: "DotGothic16", sans-serif;
  font-weight: 400;
  font-size: 16px;
}

.discography_main .box01{
  display:flex;
  justify-content: center;
  gap:7%;
  padding: 4%;
}
.cd_title{
  position:relative;
}
.fukidashi{
  margin-left:20%;
}
.abs{
  position:absolute;
  top:47%;
  left:27%;
  font-family: "DotGothic16", sans-serif;
  font-weight: 400;
  font-size: 11px;
}
.new{
  position:absolute;
  top:3%;
  left:60%;
}
.discography_main .box02{
  display:flex;
  justify-content: center;
  gap:7%;
  padding: 4%;
}

.discography_main .box03{
  display:flex;
  justify-content: center;
  gap:7%;
  padding: 4%;
}
.discography_main .box03 .abs{
  left:33%;
}
.bang{
  left:37%;
}

/*========NEWS=========*/
.news_wrapper{
  background-image:url(../img/back_piko.png);
  background-repeat: repeat-y;
  background-size: auto;
  border:1px solid hsla(0, 100%, 50%, 0);
}

.news_title{
  width:fit-content;
  margin:8% auto;
}
.news_title h2{
  text-align: center;
  letter-spacing:0.18em;
}
.news_title h3{
  font-family: "DotGothic16", sans-serif;
  font-weight: 400;
  font-size: 16px;
  letter-spacing:0.14em;
}

.news_main{
  width:50%;
  display:flex;
  flex-direction:column;
  margin:0 auto;
}
.news_icon_box{
  width:25%;
  display:flex;
	flex-direction: row-reverse;
  /* border:1px solid red; */
}

.news_icon:hover{
	transform:translateX(10px);
  transition: 1s;
}

.news_icon a:hover{
  background-color: transparent;
}
.arrow{
  /* width:0px; */
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}
.news_icon:hover + .arrow {
  width:34px;
  opacity: 1;
  visibility: visible;
}
.news_main .box01{
  display:flex;
  align-items: center;
  margin-bottom: 5%;
}

.news_main .box02{
  display:flex;
  align-items: center;
  margin-bottom: 5%;
}
.news_main .box03{
  display:flex;
  align-items: center;
}

.news_text{
  width: 70%;
  margin-left:5%;
}

.news_main a{
  font-family: "DotGothic16", sans-serif;
    font-weight: 400;
    font-size: 14px;
    width:fit-content;
    text-decoration:underline;
    text-underline-offset:3px;
    text-decoration-style: dotted;
    text-decoration-color: #333;
}



/*========NEWS_detail=========*/
.news_detail_wrapper{
  background-image:url(../../img/back_piko.png);
  background-repeat: repeat-y;
  background-size: auto;
  border:1px solid hsla(0, 100%, 50%, 0);
}
.news_detail_title{
  width:fit-content;
  margin:8% auto;
}
.news_detail_title h2{
  text-align: center;
  letter-spacing:0.18em;
}
.news_detail_title h3{
  font-family: "DotGothic16", sans-serif;
  font-weight: 400;
  font-size: 16px;
  letter-spacing:0.1em;
}

.news_mv{
  width:50%;
  margin: 0 auto;
  display:flex;
  flex-direction: column;
  /* align-items: center; */
}
.news_mv h4{
  font-family: "DotGothic16", sans-serif;
  font-weight: 400;
  font-size: 15px;
  letter-spacing:0.1em;
  line-height: 1.8em;
}
.news_mv .text{
  margin-bottom:2%;
}
.news_mv_main{
  margin-top:14%;
  /* margin-left:2%; */
}
.news_mv_main img{
  margin-top:5%;
}

/*=======tour詳細==========*/
.tour_wrapper{
  background-image:url(../../img/back_piko.png);
  background-repeat: repeat-y;
  background-size: auto;
  border:1px solid hsla(0, 100%, 50%, 0);
}
.tour{
  width:50%;
  margin: 0 auto;
  display:flex;
  flex-direction: column;
  /* align-items: center; */
}
.tour h3{
  font-family: "DotGothic16", sans-serif;
  font-weight: 400;
  font-size: 16px;
  letter-spacing:0.1em;
  line-height: 1.8em;
}
.tour h4{
  font-family: "DotGothic16", sans-serif;
  font-weight: 400;
  font-size: 16px;
  letter-spacing:0.1em;
  line-height: 1.8em;
}
.tour .text{
  margin-bottom:2%;
}
.tour_top_img img{
  margin:9% 0%;
}
.date{
  margin:7% 0%;
  align-items: start;
  text-align: left;
}
.date li{
  font-family: "DotGothic16", sans-serif;
  font-weight: 400;
  font-size: 16px;
  letter-spacing:0.1em;
  line-height: 1.8em;
}
.place{
  margin-bottom: 7%;
}
.ticket{
  margin-bottom: 7%;
  width:fit-content;
}

.goods img{
  margin:3% auto 0% auto;
}
.news_next{
  margin-top:15%;
  display:flex;
  justify-content: space-between;
}

/*=======fes==========*/
.fes_wrapper{
  background-image:url(../../img/back_piko.png);
  background-repeat: repeat-y;
  background-size: auto;
  border:1px solid hsla(0, 100%, 50%, 0);
}
.fes_text{
  margin:3% 0 5% 0;
}

/*=======Contact==========*/

* {
    box-sizing: border-box; /* これで padding, border を含めたサイズ計算をする */
    margin: 0;
    padding: 0;
}

.contact_title{
  width:fit-content;
  margin:8% auto;
  letter-spacing: 0.14em;
}

.contact_title h3{
  text-align: center;
  font-family: "DotGothic16", sans-serif;
  font-weight: 400;
  font-size: 15px;
  letter-spacing:0.1em;
}

.contact_text{
  width:38%;
  margin:0 auto;
  /* padding: 2%; */
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8em;
}

/* フォーム全体のスタイル */
form {
    /* background-color: #fffffb; */
    padding: 20px;
    width: 90%;
    max-width: 600px;
    margin:50px auto;
    /* border-radius: 10px; */
    /* box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); */
    /* border:1px solid #aaa; */
    text-align: left;
}

/* ラベルのスタイル */
label {
    font-family: "DotGothic16", sans-serif;
    font-weight: 400;
    display: block;
    margin-top:4%;
    font-size: 15px;
    color: #333;
}

/* 入力欄のスタイル */
input {
    width: 100%; /* box-sizingが適用されるので、paddingやborder込みで100%に収まる */
    padding:1%;
    margin: 2% 0;
    border: 1px solid #ccc;
    /* border-radius: 5px; */
    font-size: 14px;
    box-shadow:inset 2px 2px 1px rgba(0, 0, 0, 0.1);
}
.name{
  padding-top:2%;
}

textarea {
    width: 100%; /* box-sizingが適用されるので、paddingやborder込みで100%に収まる */
    padding: 1%;
    margin-top:2%;
    border: 1px solid #ccc;
    /* border-radius: 5px; */
    font-size: 14px;
    box-shadow:inset 2px 2px 1px rgba(0, 0, 0, 0.1);
}


/* テキストエリアの高さを調整 */
textarea {
    resize: vertical;
    height: 200px;
}

.a_policy a{
  font-family: "DotGothic16", sans-serif;
    font-weight: 400;
    font-size: 14px;
    width:fit-content;
    margin:10px 0 10px 260px;
    text-align:right;
    text-decoration:underline;
    text-underline-offset:3px;
    text-decoration-style: dotted;
    text-decoration-color: #333;
}
.a_policy a:hover{
  background-color:#b7abd9;
  color: #ffff39;
  text-decoration-color: #ffff39;
}

/* 送信ボタンのスタイル */
button {
    background-color: #aa48c1;
    color: #333;
    border: none;
    padding: 10px;
    width: 100px;
    margin-top: 20px;
    margin-left:235px;
    border-radius: 3px;
    font-family: "DotGothic16", sans-serif;
    font-weight: 400;
    font-size: 16px;
    letter-spacing:0.1em;
    cursor: pointer;
}

button img{
  margin-left:5px;
  margin-bottom:1px;
}

/* ホバー時のボタンスタイル */
button:hover {
    background-color: #ffff39;
}

/*=======Privacypolicy==========*/
.policy_title{
    margin:8% auto;
    width:fit-content;
}

.policy_text{
  width:68%;
  margin:0 auto;
  line-height:1.7em;
}

.policy_text h4{
  padding:2%;
  font-family: "Noto Sans JP", sans-serif;
  font-size:14px;
  font-weight: 400;
}


/*====================================================================
スマホ対応・ハンバーガーメニュー
====================================================================*/

@media only screen and (max-width:800px){

.btn_close{
  display:none;
}
.inner{
  border:none;
  background-color:#b7abd9;
}

nav {
  display: block;
  position: fixed;
  top: 0;
  left: -330px;
  bottom: 0;
  width: 330px;
  background:#b7abd9;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transition: .5s;
  z-index: 3;
}
.open nav {
  left: 0;
}
nav .inner {
  padding: 15px;
}
nav .inner ul {
  list-style:none;
  margin: 0;
  padding: 0;
}
nav .inner ul li {
  position: relative;
  margin: 0;
  border-bottom: 1px solid #333;
}
nav .inner ul li a {
  display: block;
  color: #333;
  font-size: 14px;
  padding: 1.3em;
  text-decoration: none;
  transition-duration: 0.2s;
}
nav .inner ul li a:hover {
  background: #ffff39;
}
@media screen and (max-width: 767px) {
  nav {
    left: -250px;
    width: 250px;
  }
}

/*============
.toggle_btn
=============*/
.toggle_btn {
  display: block;
  position: fixed;
  top: 30px;
  left: 30px;
  width: 60px;
  height: 30px;
  transform: translate(0, 0);
  transition: all .5s;
  cursor: pointer;
  z-index: 3;
}
.open .toggle_btn {
  left: 330px;
}
.toggle_btn span {
  display: block;
  position: absolute;
  left: 0;
  width: 30px;
  height: 2px;
  background-color: #aa48c1;
  transition: all .5s;
}
.toggle_btn span:nth-child(1) {
  top: 5px;
  width: 30px;
}
.toggle_btn span:nth-child(2) {
  top: 15px;
  width: 25px;
}
.toggle_btn span:nth-child(3) {
  top: 25px;
  width: 20px;
}
.open .toggle_btn span {
  background-color:#aa48c1;
  width: 30px;
}
.open .toggle_btn span:nth-child(1) {
  transform: translate(0, 10px) rotate(-45deg);
  animation: unset;
}
.open .toggle_btn span:nth-child(2) {
  opacity: 0;
  animation: unset;
}
.open .toggle_btn span:nth-child(3) {
  transform: translate(0, -10px) rotate(45deg);
  animation: unset;
}
@media screen and (max-width: 767px) {
  .open .toggle_btn {
    left: 260px;
  }
}
/*============
#mask
=============*/
#mask {
  display: none;
}
.open #mask {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: .8;
  z-index: 2;
  cursor: pointer;
  transition: all .5s;
}
.contact_text{
  width:80%;
  margin:0 auto;
  padding: 2%;
}

.discography_main{
  margin-top:14%;
}

.discography_main .box01{
  flex-direction: column;
  margin: 0 auto;
  padding:0;
}
.discography_main .box02{
  flex-direction: column;
  margin: 0 auto;
  padding:0;
}
.discography_main .box03{
  flex-direction: column;
  margin: 0 auto;
  padding:0;
}

.cd{
  margin-bottom: 20%;
}

.news_main{
  width:80%;
}
.news_main .box01{
  margin:10% 0;
}


.profile_text{
  gap:5%;
}
.news_main .box02{
  margin-bottom:10%;
}
#popup01{
  width:160px;
}

.news_mv{
  width:70%;
}
.tour{
  width:70%;
}
.top{
  aspect-ratio: 1/1.35;
}


}