@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');
@import url('css/all.css');

html {
  height: 100%;
}

body {
  height: 100%;
  font-family:'Inter', "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: .1rem;
  font-size: 16px;
  background-color: #fff;
  line-height: 1.4;
}



*{box-sizing: border-box;}

.pc{display: block;}
.sp{display: none;}

a {
  transition-duration: .4s;
  /*transition: .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;*/
  color: inherit;
  text-decoration: none;
}



div img{
  width: 100%;
  height: auto;
  transition-duration: .4s;
  color: inherit;
  display: block;
}


/********************************************************************

anime

********************************************************************/


/********************************************************************

title

********************************************************************/

.top_title,
.sub_title{
  font-size: 3rem;
  font-weight: 600;
  margin: 0 0 40px 0;
  padding: 0;
}

#news_section h2,
.sub_section h2{
  font-size: 1.8rem;
  font-weight: 600;
  margin:0 0 40px 0;
}

h3{
  font-size: 26px;
}


.eng{
  /*font-family: 'Inter', sans-serif;*/
}

/********************************************************************

item

********************************************************************/
p{
  line-height: 2;
  margin: 0 0 1.5rem 0;
}

dl{
  margin-bottom: 40px;
}
dt{
  margin: 0;
  padding: 0; 
}
dd{
  margin: 0;
  padding: 0;
}

ol,ul{
  margin: .5rem 0 2rem 0;
}
ol li,
ul li{
  margin: 0 0 1rem 0;
  padding: 0;
}
ol li p,
ul li p{
  margin: 0 ;
  padding: 0;
}

/********************************************************************

anime

********************************************************************/

.f-a {
  animation-name: fadein;
  animation-duration: 1s;
  animation-delay: .4s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadein {
  0% {opacity: 0; }
  100% {opacity: 1; }
}



/********************************************************************

header

********************************************************************/

.main-visual-wrap{
  position: relative;
  width: 100%;
  height: 100%;
  max-height: 100%;
  overflow: hidden;
}
.main-visual-wrap::after{
  position: absolute;
  top:0;
  right: 0;
  height: 100%;
  width: 80px;
  z-index: 1;
  background-color:#31bae0;
  content: "";
}
  

header {
  position: absolute;
  top: 0;
  left: 0;
  height: 80px;
  width: 100%;
  padding-left: 12px;
  padding-right: 100px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 5000;
  background-color: #ffffff;
}

header .logo{
  width: 180px;
}

header .logo a{
  display: block;
  padding: 0px;
}

header .logo a img{
  width: 100%;
  height: auto;
  opacity: 1;
}

header .logo a img:hover{
}

header .logo h1{
  margin: 0;
  padding: 0;
}

#g-nav{
  font-family: 'Inter', sans-serif;
}

#g-nav ul{
  list-style: none;
  margin: 0;
  padding: 0;
  height: 80px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

#g-nav ul li{
  margin: 0 1rem;
  padding: 0;
}

#g-nav ul li a{
  font-size: 1.2rem;
  padding: .4rem .4rem;
  color: #000;
  position: relative;
  font-weight: 600;
}

#g-nav ul li a:hover{
}

#g-nav ul li a:before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: #000;
  width: 100%;
  height: 1px;
  border-radius:100px;
  transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
}

#g-nav ul li a:hover:before{
  transform-origin:left top;
  transform:scale(1, 1);
}

.main-visual-wrap{
 padding-left: 0px;
 padding-right: 80px;
 padding-bottom: 0px;
 position: relative;
}


.main-visual-wrap .text{
  position: absolute;
  /*transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);*/
  bottom: 80px;
  left:80px;
  z-index: 5001;
    
}
.main-visual-wrap .text .catch{
  position: relative;
  font-weight: 600;
  line-height: 1.1;
  color: #fff;
  text-shadow: 0 0 10px rgba(0,0,0,0.1);
  /*text-shadow:1px 1px 0 #000, -1px -1px 0 #000,
              -1px 1px 0 #000, 1px -1px 0 #000,
              0px 1px 0 #000,  0 -1px 0 #000,
              -1px 0 0 #000, 1px 0 0 #000;*/
}

.main-visual-wrap .text .catch .type{
  font-size: 4rem;      
}

.main-visual-wrap .text .catch .name{
  font-size: 8rem;     
}


.main-visual-wrap .text .lead{
  font-size: 1rem;
}
.main-visual-wrap .text .lead span{
  display: inline-block;
  background-color: #fff;
  color: #000;
  padding: .5rem 1rem;
  font-weight: 500;
}

.main-image-wapper{ 
  position: relative;
  height: 100%;
  width: 100%;
   background-image: url(../img/slider/slider_001.jpg);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
}




.main-visual-wrap .sns{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
  right: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
  z-index: 2;
}

.main-visual-wrap .sns li{
  margin: .6rem 0;
  text-align: center;
  padding: 0;
  font-size: 20px;
}

.main-visual-wrap .sns li a{
  display: block;
  padding: .2rem;
  color: #fff;
}

.main-visual-wrap .sns li a:hover{
}
.main-swiper-wapper,
.swiper,
.swiper-slide{
    width: 100%;
  height: 100%;
}
.swiper-slide{
  background-size: cover;
  background-position: center center;
   background-color: #ff0000;
}


.swiper-pagination{
  color: #fff;
  position:absolute;
  z-index: 2;
  bottom:80px;
  left: inherit;
  right: 80px;  /* 右端に寄せる */
  text-align: right; /* 必要に応じて、内部の数字や矢印も右揃えに */
}

.scrolldown{
  position:absolute;
  z-index: 2;
  right:37px;
  bottom:15px;
  height:30px;
}

.scrolldown span{
  position: absolute;
  left:-8px;
  top: -40px;
    /*テキストの形状*/
  color: #fff;
  font-size: 12px;
  letter-spacing: 0.05em;
  writing-mode: vertical-rl;
}

/* 線の描写 */
/*.scrolldown::before{
  content: "";
  position: absolute;
  top: 0;
  width: 1px;
  height: 30px;
  background: #fff;
}*/
.scrolldown::after{
  content: "";
  position: absolute;
  top: 0;
  width: 1px;
  height: 30px;
  background: #fff;
  animation: pathmove 2s cubic-bezier(0.8, 0, 0.2, 1) infinite;
}

/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove{
  0%{
    height:0;
    top:0;
  }
  50%{
    height:30px;
    top:0px;
  }
  100%{
    height:0;
    top:30px;
  }
}



#g-nav ul li a:before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: #000;
  width: 100%;
  height: 1px;
  border-radius:100px;
  transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
}

#g-nav ul li a:hover:before{
  transform-origin:left top;
  transform:scale(1, 1);
}




/********************************************************************

top page

********************************************************************/

.home section{position: relative;}

.home section .inner{
  max-width: 1400px;
  margin: 0 auto;
  padding: 140px 20px; 
}
#top_topics_section {
  background-color: #f7f7f7;
}


#top_topics_section .inner{
}

.title_head{
  margin-bottom: 30px;
}


.topics_head{
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 1rem;
  width: 100%;
}

.topics_head h2{}
.topics_head .morebtn_wrap{}

.topics_wrap{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 100%;
}
.topics_wrap::after{
  display: block;
  content: "";
  width: 30%;
}

.archive .topics_box{
  width: 30%;
  margin-bottom: 5%;
  position: relative;
}

.topics_box{
  width: 30%;
  position: relative;
}
.topics_box .pic_wrap{
  position: relative;
}
.topics_box .pic_wrap .pic {
  overflow: hidden;
}
.topics_box .pic_wrap .pic img{}
.topics_box .date_wrap{
  position: absolute;
  left: 0;
  bottom: 0;
  background-color: #000;
  color: #fff;
  padding:.5rem 1rem;
}
.topics_box .date_wrap time{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
}
.topics_box .date_wrap time .left{
  width: 50%;
  font-size: 32px;
  text-align: center;
  font-weight: 500;
  line-height: 1;
}
.topics_box .date_wrap time .right{
  width: 50%;
  text-align: center;
  line-height: .8 !important;
  padding-left: 10px;
}
.topics_box .date_wrap time .right span{
  padding: 0;
  margin: 0;
}
.topics_box .date_wrap time .right span:first-child{
  font-size: 10px;
}
.topics_box .date_wrap time .right span:last-child{
  font-size: 10px;
}

.topics_box .text{
  margin-top: 30px;
}
.post_category,
.post_date,
.post_release{
  font-size: 10px;
  margin-bottom: 10px;
}
.post_category span:first-child,
.post_date span:first-child,
.post_release span:first-child{
  color: #666;
  margin-right: 10px;
}
.post_category span:last-child,
.post_date span:last-child,
.post_release span:last-child{
  color: #000;
  font-weight: 500;
}

.topics_box .text .title{
}
.topics_box a{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.topics_box:hover .pic img{
  transform: scale(1.04, 1.04);
}


#top_schedule_wrap{
}

#top_schedule_wrap .inner{
  display: flex;
  flex-wrap: wrap;
}

#top_schedule_wrap .inner .title_wrap{
  width: 35%;
  position: relative;
}

#top_schedule_wrap h2{
 margin-bottom: 40px;
}


#top_schedule_wrap .cat_wrap{
  min-height: 200px;
}
#top_schedule_wrap .eng{
  font-weight: bold;
  margin:0 0 .5rem .5rem;
}

#top_schedule_wrap .cat_list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  font-size: .75rem;
}

#top_schedule_wrap .cat_list li{
}
#top_schedule_wrap .cat_list li::after{
  content: "/";
}
#top_schedule_wrap .cat_list li a{
  position: relative;
  padding:.1rem .5rem;
}

#top_schedule_wrap .cat_list li a:before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: #000;
  width: 100%;
  height: 1px;
  border-radius:100px;
  transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
}

#top_schedule_wrap .cat_list li a:hover:before{
  transform-origin:left top;
  transform:scale(1, 1);
}

#top_schedule_wrap .morebtn_wrap{
  position: absolute;
  left: 0;
  bottom: 5%;
}

.home .schedule_wrap{
  width: 65%;
}

.schedule_wrap{
  width: 100%;
}


#top_schedule_wrap .inner .title_wrap .category_list_wrap{
  margin-bottom: 40px;
}

 .category_list_wrap{
}

.category_list_wrap ul{
  list-style: none;
  font-size: 12px;
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;

}
.category_list_wrap ul li{
  margin: .5rem;
}
.category_list_wrap ul li::after{
  content: ",";
}

.category_list_wrap ul li:last-child::after{
  content: none;
}

.category_list_wrap ul li a {
  position: relative;
  padding: .2rem;
}
.category_list_wrap ul li a:before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: #000;
  width: 100%;
  height: 1px;
  border-radius:100px;
  transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
}

.category_list_wrap ul li a:hover:before{
  transform-origin:left top;
  transform:scale(1, 1);
}



.schedule_wrap .morebtn_wrap{

}

.archive_list{
  margin: 0;
  padding: 0;
  list-style: none;
}
.archive_list li{
  position: relative;
  border-bottom:1px solid rgba(0,0,0,0.1);
  margin: 0;
  padding: 2rem 0;
  background-color: rgba(255,255,255,0);
  transition-duration: .4s;
}
.archive_list li:first-child{
border-top:1px solid rgba(0,0,0,0.1);
}
  
.archive_list li:hover{
  /*background-color: rgba(255,255,255,1);*/
  padding-left: .5rem;
}

.archive_list li a:before {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  background-color: #000;
  width: 100%;
  height: 1px;
  border-radius:100px;
  transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
}

.archive_list li a:hover:before{
  transform-origin:left top;
  transform:scale(1, 1);
}



.archive_list .schedule_space{
  display: flex;
  align-items: center;
}

.archive_list .schedule_info{
  margin-right: 2rem;
}

.archive_list .post_category{
  margin-bottom: 5px;
}
.archive_list .text{
}
.archive_list .date{
  background-color: #000;
  padding: .8rem 1rem;
  color: #fff;
  text-align: center;
  width: 200px;
  font-size: 14px;
}

.archive_list .text{}
.archive_list .title{}
.archive_list a{
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}



#top_about_section{
  position: relative;
  margin: 180px 0;
}

#top_about_section .eng{
  font-size: 9rem;
  font-weight: 600;
  position: absolute;
  right:10px;
 bottom:2%;
  color: #f7f7f7;
z-index: -1;
}


#top_about_section .inner{
  position: relative;
  padding: 80px 20px;
}
#top_about_section h2{
  line-height: 1.8;
}


#top_about_section::before{
  display: block;
  content: "";
  background-image: url(../img/top_about_smile.jpg);
  position: absolute;
  top:0px;
  left:0;
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 50%;
  height: 100%;
  z-index: 1;
}

/*#top_about_section::after{
  position: absolute;
  top: 40px;
  left: 40px;
  display: block;
  content: "";
  width: 80px;
  height: 80px;
  background: center / contain no-repeat url("../img/icon-piano.svg");
  z-index: 2;
}*/


.top_about_wrap{
  padding-left: 57%;
  display: flex;
  align-items: center;
}
.top_about_wrap .text{}


.top_about_wrap .text .top_title{
  margin-bottom: 0;
}

.top_about_name{
  font-weight: bold;
  margin-bottom: 2rem;
}

.top_about_wrap .text .dec{
}

#discography_section{
  background-color: #000;
}
.discography_inner{
  margin: 0 auto;
  max-width: 1400px; 
}

#discography_section .discoSwiper {
    width: 100%;
    margin: 0;
    padding: 180px 0;
    overflow: hidden;
}

#discography_section .swiper-slide {
    opacity: 0.4;
    transition: .7s;
    transition-duration: .4s;
}

#discography_section .swiper-slide img {
    width: 100%;
}
#discography_section .swiper-slide .title {
  text-align: center;
  opacity: 0;
  transition-duration: .4s;
  color: #fff;
  font-weight: 600;
}
#discography_section .swiper-slide-active {
    opacity: 1;
    z-index: 1;
    transform: scale(1.3); /* スライドの大きさ調整 */
}
#discography_section .swiper-slide-active .title{
    opacity: 1;
}

.thumbnail{
}
.thumbnail .swiper-wrapper{
  display: flex;
  margin-top: 10px;
}

.thumbnail .swiper-slide {
  width: 20%;
  opacity: 0.5;
  transition: .4s;
  cursor: pointer;
}

.thumbnail .swiper-slide:hover {
  opacity: 1;
}

.thumbnail .swiper-slide-thumb-active {
  opacity: 1;
  position: relative;
}

.thumbnail .swiper-slide-thumb-active::before {
  position: absolute;
  display: block;
  content: "";
  top:0;
  left: 0;
  width: 100%;
  height: 100%;
  border:1px solid rgba(0,0,0,1);
  box-sizing: border-box;
}





#top_link_section{}
.top_link_inner{
  padding: 6% 0 0;
}
.top_link_wrap{
  display: flex;
  justify-content: space-between;
}
.top_link_wrap .box{
  position: relative;
  width: 32%;
  overflow: hidden;
  border-radius: 1rem;
  background-color: #000;
}
.top_link_wrap .site-link {
  position: relative;
  padding-right: 2rem;
  text-shadow: 0 0 5px rgba(0,0,0,0.5);
}

.top_link_wrap .site-link::before {
  color: #fff;
  z-index: 3;
  position: absolute;
  font-size: 1.4rem;
  font-weight: normal;
  top:50%;
  right:0px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
  display: block;
  font-family: "Font Awesome 5 Pro";
  content: "\f35d";
}



.top_link_wrap .box:first-child{
  border-radius: 0 1rem 1rem 0;
}
.top_link_wrap .box:last-child{
  border-radius: 1rem 0 0 1rem;
}

.top_link_wrap .box .title{
  position: absolute;
  top:50%;
  left:50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  font-size: 40px;
  font-weight: 600;
  /*mix-blend-mode: multiply;*/
  color: #fff;
  z-index: 1;
  transition-duration: .4s;
}
.top_link_wrap .box .pic{
  overflow: hidden;
}

.top_link_wrap .box .pic img{
  opacity: 0.9;
}

.top_link_wrap .box:hover .pic img{
  opacity: 1;
}

.top_link_wrap .box:hover .title{
    top:48%;
}

.top_link_wrap .box a {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  z-index: 2;
}

#cta_section{
  padding:2% 2% 0;
}
.cta_link_inner{}
.cta_link_inner .box{
  position: relative;
}


.cta_link_inner .box .text{
  width: 100%;
  height: 100%;
  text-align: center;
}
.cta_link_inner .box .text .title{
  font-size: 40px;
  font-weight: 600;
  /*mix-blend-mode: multiply;*/
}
.cta_link_inner .box .text .dec p{
  margin: 0;
  padding: 0;
}
.cta_link_inner .box a{
  display: block;
  padding: 60px;
  background-color: #fff;
  border:2px solid #000;
  color: #000;
  border-radius: 20px;
}
.cta_link_inner .box a:hover{
    padding:55px 60px 65px;
}

/********************************************************************

page

********************************************************************/
.sub_mainview_wrap{
  position: relative;
  padding: 190px 20px 80px;
  background-color: #31bae0;
  color: #fff;
}

.sub_title_wrap{
  position: relative;
}
.sub_title_wrap .sub_title{
  text-align: center;
  text-transform: capitalize;
}

.sub_section{
  padding: 60px 0; 
}
.sub_section .sub_inner{
  max-width: 940px;
  margin: 0 auto;
  padding: 40px 20px 40px;
}
.sub_section .sub_inner:last-child{
  border-bottom: none;
}

.sub_mainview_wrap .breadcrumb{
  display: none;
  position: absolute;
  padding:.4rem 1rem;
  bottom: 0;
  left:0;
      /*transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);*/
  background-color: #000;
  color: #fff;
  font-size: .6rem;
}
.sub_mainview_wrap .breadcrumb a{
  color: #fff ;
}

.breadcrumb span[property="name"] {
    display: inline-block;
    padding: 0;
    margin-top: -3px;
    vertical-align: middle;
    max-width: 200px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#sub_profile_section{
}

.intro_wrap{}
.intro_wrap .pic{
  margin-bottom: 0px;
  position: relative;
}
.intro_wrap .pic .eng {
  position: absolute;
  bottom: 30px;
  left: 30px;
  /*transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);*/
}
.intro_wrap .pic .eng span{
  font-weight: 600;
  font-size: 3rem;
  line-height: 1.1;
  color: #fff;
  /*text-shadow:1px 1px 0 #000, -1px -1px 0 #000,
              -1px 1px 0 #000, 1px -1px 0 #000,
              0px 1px 0 #000,  0 -1px 0 #000,
              -1px 0 0 #000, 1px 0 0 #000;*/
}
.intro_wrap .text {
  display: none;
}
.intro_wrap .text p{}

/********************************************************************

page contact

********************************************************************/

.contact_wrap{}
.contact_space{
  list-style: none;
  margin: 0;
  padding: 0;
}
.contact_space li{
  position: relative;
  border-bottom:1px solid rgba(0,0,0,0.1);
  margin: 0;
  padding: 2rem 3.5rem 2rem 1rem;
  background-color: rgba(255,255,255,0);
  transition-duration: .4s;
  width: 100%;
}

.contact_space li:first-child{
border-top:1px solid rgba(0,0,0,0.1);
}

.contact_space li::before{
  position: absolute;
  right:1rem;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  font-family: "Font Awesome 5 Pro";
  font-weight: lighter;
   content: "\f178";
   display: block;
   transition-duration: .4s;
}

/*.contact_space li:hover{
  background-color: #000000;
  color: #fff;
}*/

.contact_space li:hover{
  padding: 2rem 3rem 2rem 1.5rem;
}

.contact_space li:hover::before{
  right:.5rem;
}

.contact_space li text{}
.contact_space li title{}
.contact_space li a{
  display: block;
  content: "";
  position: absolute;
  top:0;
  left: 0;
  width: 100%;
  height: 100%;
}

.form_dec_wrap{
  text-align: center;
  margin-bottom: 30px;
}
.form_wrap{}
.form_table{
  width: 100%;
}

.form_table p{
  margin: 0;
  padding: 0;
}

.form_table tr{
  width: 100%;
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #ccc;
}

.form_table tr:first-child{
  border-top: 1px solid #ccc;
}

.form_table th{
  text-align: left;
  padding: 2rem 0;
  vertical-align: top;
  width: 30%;
  font-weight: normal;
  font-size: .9rem;
}
.form_table td{
  padding: 2rem 0;
  width: 70%;
  vertical-align: top;
  box-sizing: border-box;
}
.form_table th span{
  font-size: 10px;
  padding: 2px 6px;
  color: #fff;
  margin-right: 10px;
}
.required{
  background-color: #ff0000;
}
.any{
  background-color: #000;
}

input[type="text"],
input[type="tel"],
input[type="email"],
textarea{
  padding: .8rem;
  background-color: #f7f7f7;
  border: none;
  border-bottom:1px solid #000;
  box-sizing: border-box;
  max-width: 100%;
  margin: 0;
}

select{
  padding: .8rem;
  background-color: #f7f7f7;
  border: none;
  border-bottom:1px solid #000;
  box-sizing: border-box;
  max-width: 100%;
  margin: 0;
}

input[type="text"]::placeholder,
input[type="tel"]::placeholder,
input[type="email"]::placeholder,
textarea::placeholder
{
  color: rgba(0,0,0,0.2);
}


.form_btn_wrap{
  text-align: center;
  margin: 60px 0;
}

span.wpcf7-spinner{
  display: block;
  text-align: center;
  margin: 0 auto;
}

input[type="submit"]{
  display: inline-block;
  border-radius: 10px;
  background-color: #000;
  border: 2px solid #000;
  color: #fff;
  padding: 1.4rem 2rem;
  font-size: 20px;
  transition-duration: .4s;
  width: 100%;
  max-width: 280px;
  text-align: center;
}

input[type="submit"]:hover{
  background-color: #fff;
  color: #000;
}

.wpcf7-not-valid-tip{
   box-sizing: border-box;
   color: #ff0000;
   margin-top: 5px;
   padding-left: 1.9rem;
   position: relative;
   font-size: 12px;
}
.wpcf7-not-valid-tip::before{
  position: absolute;
  left:5px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  font-family: "Font Awesome 5 Pro";
  font-weight: lighter;
   content: "\f071";
   /* 画像は各自でご用意ください。 */
   display: block;
}
.wpcf7 .wpcf7-not-valid {
    background: pink;
    border-color: #ff0000;
}






/********************************************************************

page profile

********************************************************************/

#sub_member_section{}
#sub_member_section .sub_inner{
}

.member_wrap{
  position: relative;
}


.member_head{
	position: relative;
	margin-bottom: 5rem;
}

.member_head .eng{
   position: absolute;
   height: 90%;
   top: -10px;
   right: -40px;
   font-size: 5rem;
   font-weight: 600;
  color: #31bae0;
  writing-mode: vertical-rl;
}


.member_wrap .pic {
  width: 100%;
}
.member_wrap .pic img{
  display: block;
  vertical-align: baseline;
}


.member_wrap .sns{
  list-style: none;
  display: flex;
  margin:2rem 0;
  padding: 0; 
}
.member_wrap .sns li{
  font-size: 24px;
  margin-right:1rem;
}
.member_wrap .sns li:last-child{
  margin-right:0;
}

.member_bottom_wrap{
  margin: 0 auto;
}


.name_top{
  display: flex;
  align-items: baseline;
  margin-bottom: 2rem;
  border-bottom: 1px solid #000;
  padding-bottom: 1rem;
}
.name_top .jp{
  font-size: 2rem;
  font-weight: 500;
  margin-right: 2rem;
}
.name_top .eng{}

.member_info_wrap{
  font-size: 12px;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 40px;

}
.member_info_wrap .box{
  margin-right: 1.5rem;
}

.member_info_wrap .box span{
  color: #999;
  margin-right: .5rem;
}

.member_info_wrap .box:last-child{
  margin-right: 0;
}


.outline_warp{
  width: 100%;
  height: auto;
  padding: 0 20%;
}



.member-swiper-wrap{
  margin: 100px 0 140px;
  overflow: hidden;
}
.member-swiper-wrap .swiper-slide{
  transition-duration: .4s;
}

.member_archive_list{
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.member_archive_list .box{
  width: 47%;
  margin: 0 0 6% 0;
  padding: 0px;
  position: relative;
  overflow: hidden;
  background-color: #000;
}

.member_archive_list .box .pic{
  overflow: hidden;
  width: 100%;
}

.member_archive_list .box:hover .pic img{
  transform: scale(1.04, 1.04);
}

.member_archive_list .box .name{
  position: absolute;
  bottom:20px;
  left:25px;
  opacity: 1;
  transition-duration: .4s;
  font-size: 34px;
  font-weight: 600;
  color: #fff;
}
.member_archive_list .box:hover .name{
  opacity: 1;
  left:30px;
}
.member_archive_list .box:hover img{
  opacity: .6;
}

.member_archive_list .box a{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  display: block;
}






.member_profile_list{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.member_profile_list .box{
  width: 32.5%;
  position: relative;
}

.page-id-77 .member_profile_list .box:nth-child(1){
  display: none;
}

.page-id-79 .member_profile_list .box:nth-child(2){
  display: none;
}

.page-id-93 .member_profile_list .box:nth-child(3){
  display: none;
}

.page-id-91 .member_profile_list .box:nth-child(4){
  display: none;
}


.member_profile_list .box a{
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 2;
}


.member_profile_list .box .pic{
  overflow: hidden;
  width: 100%;
  background-color: #000;
}
.member_profile_list .box .pic img{
  opacity: .7;
}


.member_profile_list .box:hover .pic img{
  transform: scale(1.04, 1.04);
}

.member_profile_list .box .name{
  position: absolute;
  bottom:10px;
  left:15px;
  opacity: 1;
  transition-duration: .4s;
  font-size: 18px;
  font-weight: 600;
  color: #fff;
  z-index: 1;
}
.member_profile_list .box:hover .name{
  opacity: 1;
  left:20px;
}
.member_profile_list .box:hover img{
  opacity: 1.0;
}

/********************************************************************

page link

********************************************************************/
.banner_inner{
  max-width: 762px;
  margin: 0 auto;
  padding: 40px 0;
}

.banner_inner{
  max-width: 940px;
  margin: 0 auto;
  padding: 40px 20px 40px;
}


.banner_inner .banner_wrap:last-child{
  margin-bottom: 0px;
}

.banner_wrap{
  margin-bottom: 40px;
}

.banner_wrap ul{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}
.banner_wrap li{
  width: 32%;
  margin: 0 0 2% 0;
  padding: 0;
}
.banner_wrap a{
  display: block;
}
.banner_wrap img{
  width: 100%;
  height: auto;
}


/********************************************************************

post news

********************************************************************/
#side_contents{
  display: flex;
  max-width: 940px;
  margin: 0 auto;
  padding: 80px 0;
}

#side_contents .sub_inner{
  padding: 40px 0px 40px;
}

.post_head_wrap{
  display: flex;
  font-size: 12px;
  margin-bottom: 60px;
}
.post_head_wrap .post_date {
  margin-right: 2rem;
}
.post_head_wrap .post_category {
  
}
.post_head_wrap .post_category span{}

.post_head_wrap .post_date span:first-child,
.post_head_wrap .post_category span:first-child
{
  color: #999;
  font-weight: 500;
  margin-right: .5rem;
}

.post_wrap{
  margin-bottom: 100px;
}
.post_wrap a{
  position: relative;
  padding: 0 0 .3rem 0;
  color: blue;
}

.post_wrap a:before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: blue;
  width: 100%;
  height: 1px;
  border-radius:100px;
  transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
}

.post_wrap a:hover:before{
  transform-origin:left top;
  transform:scale(1, 1);
}

#side_contents{
}
#news_section{
  width: 70%;
  padding-right: 5%;
}
#news_section .inner{
  width: 100%;
  padding: 0;
}

.author_wrap{
  padding: 1.4rem;
  position: relative;
  width: 100%;
  background-color: #f7f7f7;
  border-radius: 5px;
}
.author_wrap .eng{
  position: absolute;
  font-size: 16px;
  font-weight: bold;
  top:-8px;
  left:0;
  /*writing-mode: vertical-rl;*/
}
.author_inner{
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.author_wrap .pic {
  width: 15%;
}
.author_wrap .pic img{
  border-radius: 100px;
  overflow: hidden;
  width: 100%;
  height: auto;
}
.author_wrap .text{
  width: 82%;
  padding-left: 3%;
}
.author_name{
  font-weight: bold;
  margin:0;
  padding: 0;
  font-size: 12px;
}
.author_profile{
  margin: 0;
  padding: 0;
  font-size: 12px;
}

.author_profile p{
  margin: 0;
  padding: 0;
}

#side_contents aside{
  padding:20px 0 40px;
  width:25%;
}
.sidebar{}
.sidebar h3{
  font-size: 20px;
}
.sidebar .cat_list{
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(0,0,0,0.1);
}
.sidebar .cat_list li{
  position: relative;
  border-bottom: 1px solid rgba(0,0,0,0.1);
  font-size: 12px;
  margin: 0; 
}
.sidebar .cat_list li a{
  padding: 1rem;
  display: block;
  position: relative;
}

.sidebar .cat_list li a:hover{
  background-color: #fff;
}

.sidebar .cat_list li span{
  position: absolute;
  top:50%;
  right: 1rem;
   transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.sidebar .cat_list li a:before {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  background-color: #000;
  width: 100%;
  height: 1px;
  border-radius:100px;
  transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
}

.sidebar .cat_list li a:hover:before{
  transform-origin:left top;
  transform:scale(1, 1);
}


/********************************************************************

post discography

********************************************************************/

.disc_wrap{}
.disc_wrap .disc_head{
  border-bottom: 1px solid #000;
  padding:0px 0 30px;
  margin-bottom: 40px;
}
.disc_wrap .lead{}
.disc_wrap h2{
  margin-bottom: 0;
  margin-bottom: 20px;
}
.disc_wrap .post_head_wrap{
  margin-bottom: 0;
}



.disc_detail_wrap {
    display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}
.disc_detail_wrap .pic{
  width: 48%;
}
.disc_detail_wrap .pic img{
}
.disc_detail_wrap .text{
  width: 48%;
}
.disc_detail_wrap .text .dec{
  font-size: .9rem;
}

.disc_detail_wrap .text ol,
.disc_detail_wrap .text ul{
  margin: .5rem 0 2rem 0;
}
.disc_detail_wrap .text ol li,
.disc_detail_wrap .text ul li{
  margin: 0 0 1rem 0;
  padding: 0;
  line-height: 1.4;
  font-weight: bold;
  font-size: 1.2rem;
}
/********************************************************************

archive discography

********************************************************************/
.disco_category_wrap{
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 60px;
}
.disco_category_wrap li {
  width: 24%;
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #ccc;
  
}
.disco_category_wrap li a{
  display: block;
  text-align: center;
  font-size: 10px;
  font-weight: 600;
  position: relative;
  padding: 1rem;

}
.disco_category_wrap li a:hover{
  color: #000;
}


.disco_category_wrap li a:before {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  background-color: #000;
  width: 100%;
  height: 1px;
  border-radius:100px;
  transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
}

.disco_category_wrap li a:hover::before{
  transform-origin:left top;
  transform:scale(1, 1);
}




.disco_archive_wrap{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.disco_archive_wrap .box{
  position: relative;
  width: 48%;
  margin-bottom: 4%;
}

.disco_archive_wrap .box a{
  display: block;
  content: "";
  position: absolute;
  top:0;
  left:0;
  width: 100%;
  height: 100%;
}
.disco_archive_wrap .pic{
  margin-bottom: 0px;
  overflow: hidden;
}

.disco_archive_wrap .box:hover .pic img{
  transform: scale(1.04, 1.04);
}


.disco_archive_wrap .box .text{
}

.archive_head_wrap{
  display: flex;
  flex-wrap: wrap;
}
.archive_head_wrap .release{
  margin-right: 1.5rem;
}
.disco_archive_wrap .box .title{
  font-size: 30px;
  font-weight: 600;
}




.wp-pagenavi {
  margin: 40px auto;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.wp-pagenavi a {
  color: #000;
  text-decoration: none;
  font-size: .9rem;
}
.wp-pagenavi span.current,
.wp-pagenavi a.page,
.wp-pagenavi .extend,
.wp-pagenavi .first,
.wp-pagenavi .last {
  margin: 0 .4rem 0 0;
  width:  30px;
  height: 30px;
  border-radius: 50%;
  line-height: 30px;
  text-align: center;
  box-sizing: border-box;
  justify-content: center;
  display: flex;
  align-items: center;
}
.wp-pagenavi span.current {
    border: solid 1px #000;
    background-color: #000;
    color: #fff;
}
.wp-pagenavi a.page:hover,
.wp-pagenavi .first,
.wp-pagenavi .last {
  background: #000;
  color: #fff;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
margin: 0 .5rem;
}

.wp-pagenavi .pages{
  display: none;
}



/********************************************************************

post schedule

********************************************************************/
.schedule_detail_wrap{}
.schedule_detail_wrap dl{
  display: flex;
  width: 100%;
}
.schedule_detail_wrap dt{
  width: 20%;
}
.schedule_detail_wrap dd{
  width: 80%;
  padding: 0;
  margin: 0;
}

.schedule_date_wrap{}
.schedule_date_wrap .schedule_date{
  font-size: 20px;
}
.schedule_date_wrap .schedule_time{}
                        
.map_wrap{}
.map_wrap iframe{
  width: 100%;
  height: 500px;
}


/********************************************************************

footer

********************************************************************/

footer{
  background-color: #31bae0;
  color: #fff;
}

.footer_inner{
  padding: 100px 20px;
  max-width: 1400px;
  margin: 0 auto;
}

.footer_wrap{
  margin-bottom: 30px;
}


footer .brand_wrap{
  margin: 3rem 0 1.5rem;
}

footer .brand_wrap .brand{
  text-align: center;
  margin-bottom: 30px;
}
footer .brand_wrap .name{
  font-size: 1.8rem;
  margin: 0 auto; 
  margin-bottom: .5rem;
}


footer .brand_wrap .jp{
}

footer .sns{
  list-style: none;
  display: flex;
  justify-content: center;
  margin: 0;
  padding: 0;
}
footer .sns li{
  font-size: 20px;
  margin:0 1rem;
}


footer .sns li a{}

footer .list_wrap{

}
footer .sitemap{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  list-style: none;
  margin:0;
  padding: 0;
  width: 100%;
}
footer .sitemap li {
  margin: 0 1rem;
}

footer .sitemap li a{
}

footer .small_list{
  list-style: none;
  font-size: .8rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0;
  padding: 0;
}

footer .small_list li {
  margin: 0 .5rem;
}

footer .sitemap li a,
footer .small_list li a{
  position: relative;
  padding: 0rem 0rem .5rem 0rem
}

footer .sitemap li a:before,
footer .small_list li a:before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: #fff;
  width: 100%;
  height: 1px;
  border-radius:100px;
  transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
}

footer .sitemap li a:hover::before,
footer .small_list li a:hover::before
{
  transform-origin:left top;
  transform:scale(1, 1);
}

.footer_bottom_wrap{
  text-align: center;
}

.copyright{
  font-size: .75rem;
}




/********************************************************************

button

********************************************************************/
.morebtn_wrap{}
.morebtn_wrap .btn{
  position: relative;
}

.morebtn_wrap .btn a::after{
  position: absolute;
  top:50%;
  right: 0;
  display: block;
  content: "";
  background-image: url(../img/circle.svg);
  background-size:50px;
  background-position: center center;
  background-repeat: no-repeat;
  width: 50px;
  height: 50px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  opacity: 0.1;
  transition: .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;

}

.morebtn_wrap .btn a{
  display: inline-block;
  position: relative;
  padding:25px 48px 25px 0;
  font-size: 13px;
  font-weight: 500;
}

.morebtn_wrap .btn a i{
  position: absolute;
  top: 50%;
  right: 24px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transition: .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
}

.morebtn_wrap .btn a:hover i{
  right: 18px;
}
.morebtn_wrap .btn a:hover::after{
  opacity: 1;
  background-size:52px;
  background-position: center center;
  background-repeat: no-repeat;
  width: 52px;
  height: 52px;
  right: -2px;
}


/****************************************************************************************************************************************

mobile

****************************************************************************************************************************************/

@media (max-width: 767px) {

html {}

body {font-size: 14px;}

.pc{ display: none; }
.sp{ display: block;}

/********************************************************************

header

********************************************************************/

.main-visual-wrap::after{
  display: none;
}

header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  display: flex;
  align-items: center;
  height: 60px;
  padding-left: 10px;
  padding-right: 80px;
  z-index: 5000;
}

header .logo{
  width: 140px;
}

header .logo a{
  display: block;
  padding: 0px;
}
header .logo a img{
  opacity: 1;
}

#g-nav{
  display: none;
}



.scrolldown{
  position:absolute;
  left: inherit;
  right: 15px;
  bottom:10px;
  height:20px;

}

.scrolldown span{
  left:-5.5px;
  top: -34px;
  font-size: 10px;
  color: #fff;
}

/* 線の描写 */
.scrolldown::before{
  content: "";
  position: absolute;
  top: 0;
  width: 1px;
  height: 20px;
  background: rgba(255,255,255,0);
}
.scrolldown::after{
  content: "";
  position: absolute;
  top: 0;
  width: 1px;
  height: 20px;
  background: rgba(255,255,255,1);
  animation: pathmove 2s cubic-bezier(0.8, 0, 0.2, 1) infinite;
}

/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove{
  0%{
    height:0;
    top:0;
  }
  50%{
    height:20px;
    top:0px;
  }
  100%{
    height:0;
    top:20px;
  }
}

#g-nav ul li a:before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: #000;
  width: 100%;
  height: 1px;
  border-radius:100px;
  transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
}

#g-nav ul li a:hover:before{
  transform-origin:left top;
  transform:scale(1, 1);
}



.main-visual-wrap{
  padding-top: 50px;
  position: relative;
  width: 100%;
  height: 80%;
  overflow: hidden;
}

.main-swiper-wapper,
.swiper,
.swiper-slide{
    width: 100%;
  height: 100%;
}

.main-visual-wrap{
 padding-left: 0px;
 padding-right: 0px;
}


.main-visual-wrap .text{
  bottom: 30px;
  left:30px;
  z-index: 5001;
    
}
.main-visual-wrap .text .catch{
  margin-bottom: .5rem;           
}

.main-visual-wrap .text .catch .type{
  font-size: 1.5rem;      
}

.main-visual-wrap .text .catch .name{
  font-size: 2.8rem;     
}

.main-visual-wrap .text .lead{
  font-size: .75rem;
}
.main-visual-wrap .text .lead span{
  padding: .3rem .4rem;
}

.main-image-wapper{
  background-position: top left;
}


.swiper-pagination{
  display: none;
}

.main-visual-wrap .sns{
  display: none;
}



/********************************************************************

title

********************************************************************/

h2,
.top_title,
.sub_title{
  font-size: 30px;
  margin-bottom: 30px;
}

#news_section h2,
.sub_section h2{
  font-size: 28px;
  margin-bottom: 30px;
}

h3{
  font-size: 20px;
}




/********************************************************************

top page

********************************************************************/

section{position: relative;}

.home section{position: relative;}

.home section .inner{
  margin: 0 auto;
  padding: 80px 20px; 
}



.title_head{
  margin-bottom: 30px;
}

#top_topics_section .inner{
  padding: 80px 20px;
}

.topics_head{
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 0px;
  width: 100%;
}

.topics_head h2{}
.topics_head .morebtn_wrap{}

.topics_wrap{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 100%;
}

.topics_box{
  width: 100%;
  position: relative;
  margin-bottom: 30px;
}

.archive .topics_box{
  width: 100%;
  margin-bottom: 30px;
  position: relative;
}


.topics_box .pic_wrap{
  position: relative;
}
.topics_box .pic_wrap .pic {
  overflow: hidden;
}
.topics_box .pic_wrap .pic img{}
.topics_box .date_wrap{
  padding: 4px 20px;
}
.topics_box .date_wrap time{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
}
.topics_box .date_wrap time .left{
  width: 50%;
  font-size: 28px;
  text-align: center;
  font-weight: 500;
}
.topics_box .date_wrap time .right{
  width: 50%;
  text-align: center;
  line-height: .8 !important;
  padding-left: 5px;
}
.topics_box .date_wrap time .right span{
  padding: 0;
  margin: 0;
}
.topics_box .date_wrap time .right span:first-child{
  font-size: 10px;
}
.topics_box .date_wrap time .right span:last-child{
  font-size: 10px;
}



.topics_box .text{}

.post_category{
  font-size: 10px;
  margin-bottom: 10px;
}
.post_category span:first-child{
  color: #666;
  margin-right: 10px;
}
.post_category span:last-child{
  color: #000;
  font-weight: 500;
}

.topics_box .text .title{
  margin-top: 0px;
}
.topics_box a{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.topics_box:hover .pic img{
  transform: scale(1.08, 1.08);
}


#top_schedule_wrap{
}

#top_schedule_wrap .inner{
  display: flex;
  flex-wrap: wrap;
}


#top_schedule_wrap .inner .title_wrap{
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 30px;
}


#top_schedule_wrap .cat_wrap{
  margin-top: .5rem;
  width: 100%;
}
#top_schedule_wrap .eng{
  font-weight: bold;
  margin:0 0 .1rem .5rem;
}

#top_schedule_wrap .cat_list{
  font-size: .7rem;
}
#top_schedule_wrap .cat_list li{
  margin:  0;
}
#top_schedule_wrap .cat_wrap{
  min-height: inherit;
}



#top_schedule_wrap h2{
  margin-bottom: 0;
}

#top_schedule_wrap .morebtn_wrap{
  left: inherit;
  right: 0;
  bottom: 0;
}

.schedule_wrap{
  width: 100%;
}

.home .schedule_wrap{
  width: 100%;
}



.archive_list{
  margin: 0;
  padding: 0;
  list-style: none;
}
.archive_list li{
  position: relative;
  border-bottom:1px solid rgba(0,0,0,0.1);
  margin: 0;
  padding: 1rem .5rem;
  background-color: rgba(255,255,255,0);
}

  
.archive_list .schedule_space{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.archive_list .schedule_info{
  margin-right: 0rem;
  width: 100%;
}

.archive_list .post_category{
  margin-bottom: 5px;
}
.archive_list .text{
}
.archive_list .date{
  padding: .6rem 1rem;
  text-align: center;
  width: 100%;
  font-size: 12px;
  margin-bottom: 10px;
}

.archive_list .text{}
.archive_list .title{}
.archive_list a{
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.archive_list li:hover{
  background-color: rgba(255,255,255,1);
  padding-left: .5rem;
}


#top_about_section{
  position: relative;
  margin: 60px 0 0;
}

#top_about_section::after{
  display: none;
}

#top_about_section .eng{
  font-size: 5rem;
 bottom: -2rem;
}


#top_about_section .inner{
  position: relative;
}

#top_about_section .inner{
  position: relative;
  padding: 0px 20px 80px;
}
#top_about_section h2{
  margin-top: 40px;
}


#top_about_section::before{
  display: block;
  content: "";
  position: relative;
  top:inherit;
  bottom: inherit;
  left:inherit;
  background-position: center left;
  background-repeat: no-repeat;
  background-size: cover;
  width: 90%;
  height: 180px;
  z-index: 1;
}

.top_about_wrap{
  padding-top: 0px;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
}


#top_link_section{}
.top_link_inner{
  padding: 60px 20px 0px;
}
.top_link_wrap{
  flex-wrap: wrap;
}
.top_link_wrap .box{
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 5px;
  margin-bottom: 20px;
}

.top_link_wrap .box:first-child{
border-radius: 5px;
}
.top_link_wrap .box:last-child{
border-radius: 5px;
}

.top_link_wrap .box .title{
  font-size: 30px;
}
.top_link_wrap .box .pic{
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 140px;
}
.top_link_wrap .box .pic img{
  display: block;
  width: 100%;
  height: auto;
  position: absolute;
  top:50%;
  left:50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

.top_link_wrap .box:hover .pic img{
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

#cta_section{
  padding: 20px;
}
.cta_link_inner{}
.cta_link_inner .box{
  position: relative;
}


.cta_link_inner .box .text{
  width: 100%;
  height: 100%;
  text-align: center;
}
.cta_link_inner .box .text .title{
  font-size: 30px;
  font-weight: 600;
  /*mix-blend-mode: multiply;*/
  margin-bottom: 5px;
}
.cta_link_inner .box .text .dec{}
.cta_link_inner .box a{
  display: block;
  padding:40px 20px;
  border-radius: 0px;
}

.cta_link_inner .box a:hover{
    padding:38px 20px 42px;
}



/********************************************************************

page

********************************************************************/
.sub_mainview_wrap{
  position: relative;
  padding: 120px 20px 30px;
}

.sub_mainview_wrap .breadcrumb{
  display: none;
  font-size: .5rem !important;
}


.sub_section{
  padding: 0px 0 40px;
}

.sub_section .sub_inner{
  max-width: 940px;
  margin: 0 auto;
  padding: 40px 20px 40px;
}

.sub_title_wrap{
  position: relative;
}
.sub_title_wrap .sub_title{
  text-align: center;
}

.intro_wrap{}
.intro_wrap .pic{
}


/********************************************************************

page contact

********************************************************************/


.form_dec_wrap{
  text-align: center;
  margin-bottom: 30px;
}
.form_wrap{}
.form_table{
  width: 100%;
  display: block;
}

.form_table tr{
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border-bottom: none;
}

.form_table tr:first-child{
  border-top: none;
}

.form_table th{
  display: block;
  text-align: left;
  padding: 15px 0 0;
  vertical-align: top;
  width: 100%;
  font-weight: normal;
  font-size: .9rem;
}
.form_table td{
  display: block;
  padding:5px 0 15px;
  width: 100%;
  vertical-align: top;
  box-sizing: border-box;
}
.form_table th span{
  font-size: 10px;
  padding: 2px 6px;
  color: #fff;
  margin-right: 10px;
}


input[type="text"],
input[type="tel"],
input[type="email"],
textarea{
  padding: 15px;
  background-color: #eeeeee;
  max-width: inherit;
  width: 100%;
}



.form_btn_wrap{
  text-align: center;
  margin: 30px 0;
}

span.wpcf7-spinner{
  display: block;
  text-align: center;
  margin: 0 auto;
}

input[type="submit"]{
  color: #fff;
  padding: 20px 30px;
  font-size: 16px;
  width: 100%;
  max-width: 280px;
  text-align: center;
}

input[type="submit"]:hover{
  background-color: #fff;
  color: #000;
}

/********************************************************************

page profile

********************************************************************/



.name_top{
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  margin-bottom: 2rem;
  border-bottom: 1px solid #000;
  padding-bottom: 1rem;
}
.name_top .jp{
  width: 100%;
  font-size: 1.4rem;
  font-weight: 500;
  margin-right: 0rem;
}
.name_top .eng{
  width: 100%;
}


.member_wrap{
  position: relative;
}

  .member_head{
  position: relative;
  padding: 0 0 0px 0;
  margin-bottom: 40px;
  border-bottom: none;
}



.member_head .eng{
  margin: 0px;
  bottom: inherit;
  top: -2px;
  right: -5px;
  font-size: 1.6rem;
  text-align: left;
  width: 100%;
}



.member_info_wrap{
  font-size: 11px;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 30px;

}
.member_info_wrap .box{
  width: 100%;
  margin-right: 0rem;
  margin-bottom: .25rem;
}

.member_info_wrap .box span{
  color: #999;
  margin-right: .25rem;
}

.member_info_wrap .box:last-child{
  margin-right: 0;
}

.member_wrap .pic {
  width: 100%;
  margin-bottom: 0px;
}
.member_wrap .pic img{
  display: block;
  margin-bottom: 0;
}

.member_wrap .text{
  width: 100%;
  bottom: inherit;
  left: inherit;
  position: relative;
  background-color: #ffffff;
  padding: 15px 0 5px 0;
}

.member_wrap .catch{
  bottom:inherit;
  right:inherit;
  width: 100%;
  border-bottom: 1px solid #000;
  padding: 4px 0;
  font-size: .75rem;
}

.member_wrap .text .part{
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  margin-bottom: 5px;
  color: #000;
}

.member_wrap .text .name_head{
  line-height: 1;
  font-size: 28px;
  font-weight: 600;
  color: #000;
}

.outline_warp{
  font-size: 14px;
}
.outline_warp p{
  margin:.5rem 0;
}

.member_wrap .sns li{
  font-size: 20px;
  margin: 0 20px 0 0;

}


.member-swiper-wrap{
  margin: 40px 0;
  overflow: hidden;
}



.member_archive_list{
  margin: 0;
  padding: 0;
}
.member_archive_list .box{
  width: 100%;
  margin-bottom: 30px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.member_archive_list .box .pic{
  overflow: hidden;
  width: 100%;
}



.member_archive_list .box .name{
  opacity: 1;
  font-size: 24px;
  font-weight: 600;
}



.member_profile_list{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.member_profile_list .box{
  width: 49%;
  position: relative;
  margin-bottom: 2%;
}


/********************************************************************

page link

********************************************************************/
.banner_inner{
  max-width: inherit;
  margin: 0 auto;
  width: 100%;
  padding: 20px;
}
.banner_wrap{}
.banner_wrap ul{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  grid-gap: inherit;
}
.banner_wrap li{
  width: 48%;
  margin-bottom: 4%;
}
.banner_wrap a{
  display: block;
}
.banner_wrap img{
  width: 100%;
  height: auto;
}




/********************************************************************

post news

********************************************************************/
#side_contents{
  display: flex;
  flex-wrap: wrap;
  padding: 40px 20px;
}

#side_contents .sub_inner{
  padding: 0px 0px 40px;
}

.post_head_wrap{
  font-size: 10px;
  margin-bottom: 30px;
}
.post_head_wrap .post_date {
  margin-right: 1rem;
}
.post_head_wrap .post_category {
  
}
.post_head_wrap .post_category span{}

.post_head_wrap .post_date span:first-child,
.post_head_wrap .post_category span:first-child
{
  color: #999;
  font-weight: 500;
  margin-right: .5rem;
}

.post_wrap{
}
.post_wrap a{
  position: relative;
  padding: 0 0 .3rem 0;
  color: blue;
}

.post_wrap a:before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: blue;
  width: 100%;
  height: 1px;
  border-radius:100px;
  transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
}

.post_wrap a:hover:before{
  transform-origin:left top;
  transform:scale(1, 1);
}

#side_contents{
}
#news_section{
  width: 100%;
  padding-right: 0%;
}
#news_section .inner{
  width: 100%;
  padding: 0;
}

.author_wrap{
  font-size: 10px;
  width: 100%;
}
.author_wrap .eng{
  position: absolute;
  font-weight: bold;
  /*writing-mode: vertical-rl;*/
}
.author_inner{
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.author_wrap .pic {
  width: 20%;
}
.author_wrap .pic img{
  border-radius: 100px;
  overflow: hidden;
  width: 100%;
  height: auto;
}
.author_wrap .text{
  width: 80%;
  padding-left: 5%;

}
.author_name{
  font-weight: bold;
  margin:0 0 5px 0;
  padding: 0;
  font-size: 10px;
}
.author_profile{
  margin: 0;
  padding: 0;
  font-size: 10px;
}
#side_contents aside{
  padding:20px 0 40px;
  width:100%;
  font-size: .85rem;
}
.sidebar{}
.sidebar h3{
}
.sidebar .cat_list{
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(0,0,0,0.1);
}
.sidebar .cat_list li{
  position: relative;
  border-bottom: 1px solid rgba(0,0,0,0.1);
}
.sidebar .cat_list li a{
  padding: 1rem;
  display: block;
  position: relative;
}

.sidebar .cat_list li a:hover{
  background-color: #fff;
}



/********************************************************************

post discography

********************************************************************/
.disco_category_wrap{
  margin-bottom: 40px;
  flex-wrap: wrap;
}
.disco_category_wrap li {
  width: 48%;
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #ccc;
  
}
.disco_category_wrap li a{
  display: block;
  text-align: center;
  font-size: 10px;
  font-weight: 600;
  position: relative;
  padding: .6rem;

}
.disc_wrap{}
.disc_wrap .disc_head{
  border-bottom: 1px solid #000;
  padding:0px 0 30px;
  margin-bottom: 20px;
}
.disc_wrap .lead{}
.disc_wrap h2{
  margin-bottom: 0;
  margin-bottom: 20px;
}
.disc_wrap .post_head_wrap{
  margin-bottom: 0;
}



.disc_detail_wrap {
    display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}
.disc_detail_wrap .pic{
  width: 100%;
  margin-bottom: 30px;
}
.disc_detail_wrap .pic img{
}
.disc_detail_wrap .text{
  width: 100%;
}
.disc_detail_wrap .text .dec{
  font-size: .85rem
}

.disc_detail_wrap .text ol,
.disc_detail_wrap .text ul{
  margin: 2rem 0 3rem -.5rem;
}
.disc_detail_wrap .text ol li,
.disc_detail_wrap .text ul li{
  font-size: 1rem;
  margin-bottom: .8rem;
}

/********************************************************************

archive discography

********************************************************************/




/********************************************************************

footer

********************************************************************/

footer{
}

.footer_inner{
  padding: 60px 20px;
}

.footer_wrap{
  margin-bottom: 30px;
}


footer .brand_wrap{
  margin: 3rem 0 1.5rem;
}

footer .brand_wrap .brand{
  text-align: center;
  margin-bottom: 30px;
}
footer .brand_wrap .name{
  font-size: 1.6rem;
  margin: 0 auto; 
  margin-bottom: .5rem;
}


footer .brand_wrap .jp{
}




footer .sns li a{}

footer .list_wrap{

}
footer .sitemap{
  font-size:1rem;
  margin:0;
  padding: 0;
  width: 100%;
}
footer .sitemap li {
  margin: .5rem;
  width: 100%;
  text-align: center;
}



.copyright{
  font-size: .65rem !important;
}




/********************************************************************

button

********************************************************************/
.morebtn_wrap{}
.morebtn_wrap .btn{
  position: relative;
}

.morebtn_wrap .btn a::after{
  position: absolute;
  top:50%;
  right: 0;
  display: block;
  content: "";
  background-image: url(../img/circle.svg);
  background-size:35px;
  width: 35px;
  height: 35px;
}

.morebtn_wrap .btn a{
  display: inline-block;
  position: relative;
  padding:15px 32px 15px 0;
  font-size: 12px;

}

.morebtn_wrap .btn a i{
  right: 14px;
  font-size: 12px;
}

.morebtn_wrap .btn a:hover i{
  right: 10px;
}

.morebtn_wrap .btn a:hover::after{
  background-size:35px;
  width: 35px;
  height: 35px;
}

}
