@charset "utf-8";

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
/*   outline: 2px solid blue; 右側余白確認用アウトライン */
 }
 
 body {
    margin: 0 auto;
    padding: 0;
    background-color: #fff;
    min-height: 100vh;
 }


 a {
   text-decoration: none;
   color: #174A31;
}

 ul {
   margin: 0;
   padding: 0;
   list-style: none;
 }

 button, a {
   -webkit-tap-highlight-color:rgba(0,0,0,0);
   cursor:pointer;
 }


/*fonts */
@font-face {
	font-family: 'Impact';
	src: url('../fonts/impact.eot'); /* IE 9 Compatibility Mode */
	src: url('../fonts/impact.eot?#iefix') format('embedded-opentype'), /* IE < 9 */
		url('../fonts/impact.woff2') format('woff2'), /* Super Modern Browsers */
		url('../fonts/impact.woff') format('woff'), /* Firefox >= 3.6, any other modern browser */
		url('../fonts/impact.ttf') format('truetype'), /* Safari, Android, iOS */
		url('../fonts/impact.svg#impact') format('svg'); /* Chrome < 4, Legacy iOS */
}


/*　header開始　*/
.header {
  width: 100%;
  height: 100px;
  background-color: #fff;
  font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
}

.header-inner {
  max-width: 1300px;
  margin: 0 auto;
  padding: 1vw 10vw;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.logo {
   width: 150px;
   height: auto;
}

.header_ul {
   display: flex;
   list-style: none;
   align-items: center;
   margin: 0 0 0 auto;
}

.header_li {
   margin: 0 0 0 45px;
   font-size: 25px;
   padding-bottom: 5px;
   position: relative;
}

.header_li_sns {
   display: none;
}

.h_snsicon {
  display: flex;
  padding: 0 0 0 50px;
}

.header_icon {
  align-items: center;
  vertical-align: middle;
  padding: 0 0 5px 0;
  height: 35px;
}

.header_li::before {
  background: #B21212;
  content: '';
  width: 100%;
  height: 2px;
  position: absolute;
  left: 0;
  bottom: 0;
  margin: auto;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform .2s;
}

.header_li:hover:before {
  transform-origin: center top;
  transform: scale(1, 1);
}

 @media screen and (min-width: 802px) {
.hamburger-menu {
   display: none;
   }
}
/*　header終了　*/

/* ハンバーガーメニュー開始 */
@media screen and (max-width: 800px) {
  .header {
   width: 100%;
 }

  .hamburger-menu {
   width: 50px;
   height: 50px;
   position: relative;
   border: none;
   background: transparent;
   appearance: none;
   padding: 0;
   right: 20px;
   cursor: pointer;
 }

 .header-icon {
   position: relative;
   left: 30px;
 }

 .hamburger-menu__bar {
   display: inline-block;
   width: 44%;
   height: 2px;
   background: #174A31;
   position: absolute;
   right: 0;
   transform: translateX(-50%);
   transition: .5s;
 }

 .hamburger-menu__bar:first-child {
   top: 16px;
 }

 .hamburger-menu__bar:nth-child(2) {
   top: 24px;
 }

 .hamburger-menu__bar:last-child {
   top: 32px;
 }

 .hamburger-menu--open .hamburger-menu__bar {
   top: 50%;
 }

 
 .hamburger-menu--open .hamburger-menu__bar:first-child {
   transform: translateX(-50%) translateY(-50%) rotate(45deg);
 }

 .hamburger-menu--open .hamburger-menu__bar:last-child {
   transform: translateX(-50%) translateY(-50%) rotate(-45deg);
 }

 .hamburger-menu--open .hamburger-menu__bar:nth-child(2) {
   display: none;
 }
 
 .header_nav {
   display: none;
   background: #0a2618;
   position: absolute;
   top: 80px;
   height: auto;
   width: 40%;
   right: 0;
   z-index: 9999;
 }
 
 .header_ul {
   text-align: center;
   list-style: none;
   padding-bottom: 15px;
   margin: 0;
   display: flex;
   flex-direction: column;
 }

 .header_li {
   margin: 0 0 0 45px;
   font-size: 13px;
   position: relative;
   margin: 5px 0;
}

.header_li_sns {
  display: block;
  margin: 0 0 0 45px;
  font-size: 13px;
  position: relative;
  margin: 5px 0;
}

 .navigation_link {
   font-weight: 700;
   text-decoration: none;
   display: block;
   padding-top: 15px;
   transition: .5s;
   color: #fff;
 }

 .h_snsicon {
  display: none;
 }
}
/* ハンバーガーメニュー終了 */

 footer {
  text-align: center;
  padding: 10px;
  font-size: 14px;
  background-color: #fff;
}

/* top開始 */
.top-main-wrap {
  width: 80%;
  margin: 0 auto;
  text-align: center;
}
  
.image-wrapper {
  position: relative;
  display: inline-block;
  width: 85%;
}

.img-top {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

.overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(100, 100, 100, 0.5);
  display: flex;
  align-items: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.overlay-text {
  color: #fff;
  font-size: 20px;
  margin: 0 auto;
}

.image-wrapper:hover .overlay {
  opacity: 1;
}

.title-wrap {
  padding-bottom: 20px;
  text-align: center;
}

.top-sub {
  font-size: 18px;
  font-weight: bold;
}

.top-title {
  font-size: 28px;
  font-family: "Mochiy Pop One", sans-serif;
}

.top-sub2 {
  font-size: 15px;
}

.top-table {
  font-size: 15px;
  color: #fff;
  padding: 0 0 0 20px;
  text-align: left;
}

.top-table-td {
  vertical-align: top;  
}

.top-table-th {
  padding: 5px 10px 5px 0;
  vertical-align: top;
}

.top-table-td {
  padding: 5px 10px 5px 0;
  font-size: 15px;
}

.top-event-place {
  font-size: 10px;
}

.top-table-rp {
  display: none;
}
/* top終了 */


/* NEWS開始 */

.top-mv {
   width: 100%;
   height: auto;
}

.top-mv-rp {
  display: none;
}

.content-wrap {
  width: 63%;
  margin: 0 auto;
}

.sub-title {
   padding: 60px 0;
}

.sub-title1 {
  font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
  color: #174A31;
  font-size: 63px;
}

.sub-title2 {
  font-family: "Mochiy Pop One", sans-serif;
  color: #B21212;
  font-size: 24px;
}

.line-flex {
  display: flex;
  align-items: center;
}

.line {
  flex-grow: 1;
  height: 1px;
  background-color: #000000;
  margin-left: 30px;
}

.line-full {
  flex-grow: 1;
  height: 1px;
  background-color: #A6A6A6;
  margin-bottom: 10px;
}


.txt-table {
  font-size: 23px;
  color: #000000;
  padding: 0 0 0 20px;
}

.txt-table-th {
  font-size: 23px;
  color: #B6863E;
}

.adjust-margin {
  height: 300px;
}

.adjust-margin-rp {
  display: none;
}

/* NEWS終了 */

/*　ABOUT開始　*/
.profile_main {
  display: flex;
  width: 100%;
  object-fit: cover;
}

.profile_visual {
 display: flex;
}

.profile_photo {
 width: auto;
 height: 500px;
}

.about-txt {
  font-size: 17px;
}

.profile_maintext {
 display: block;
 height: 600px;
 align-items: center;
 margin: auto 50px;
 font-size: 17px;
}

.jp_name {
 font-size: 35px;
 margin-bottom: 0px;
 letter-spacing: 6.5px;
 padding-top: 100px;
 color: #B6863E;
 font-family: "Mochiy Pop One", sans-serif;
}

.en_name {
 font-size: 15px;
 padding-left: 5px;
 letter-spacing: 2px;
 color: #B6863E;
 font-family: "Mochiy Pop One", sans-serif;
}

.en_name-rp {
  display: none;
}

.profiletext {
 padding-top: 40px;
 color: #4D4D4D;
}
/*　ABOUT終了　*/

/*　STAGE開始　*/
.gallery {
  columns: 3;
  padding: 10px 0;
  width: 100%;
  margin: 0 auto;
}

.gallery img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
  padding: 15px;
  filter: drop-shadow(4px 7px 4px #ccc);
}
/*　STAGE終了　*/

/*　stage detail開始　*/

.event-tbl-detail-rp {
  display: none;
}

.eventtitle {
  display: block;
  font-size: 18px;
  font-weight: bold;
  background-color: #EAEAEA;
  padding: 20px 50px;
}

.title-no {
  font-size: 32px;
  font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif; 
  color: #B6863E;
}

.title-txt {
  font-size: 35px;
  color: #174A31;
  font-family: "Zen Kaku Gothic New", sans-serif;
}

.event-detail-wrapper {
  height: 800px;
  margin: 0 auto;
  display: flex;
}

.event-mainvisual {
  display: block;
  height: 600px;
  padding: 40px 30px 0 0;
  filter: drop-shadow(4px 7px 4px #ccc);
}

.event-description {
  padding: 50px 50px 10px 50px;
}

.arasuji {
  font-size: 15px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: bold;
  color: #B6863E;
}

.event-tbl-detail {
  padding: 10px 0 20px 0;
  font-family: "Zen Kaku Gothic New", sans-serif;
}

.event-tbl-th {
  padding: 5px 5px 5px 0;
  font-size: 15px;
  width: 70px;
  vertical-align: top;
  color: #B6863E;
  font-weight: bold;
}

.event-tbl-td {
  padding: 5px 10px 5px 0;
  font-size: 15px;
}

.event-place {
  font-size: 12px;
}

.event-information-txt {
  padding: 20px 0 40px;
  font-family: "Zen Kaku Gothic New", sans-serif;
}

.apply-event {
  color: #B21212;
  font-weight: bold;
  padding-top: 20px;
}

.applylink {
  text-decoration: underline;
  font-weight: bold;
  color: #B21212
}

.adjust-margin {
  display: block;
  line-height: 5;
}

/*　stage detail終了　*/

.adjust-margin-2 {
  display: block;
  line-height: 5;
}

.confirm-title {
  color: #B6863E;
  font-size: 20px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
}

.cast-url {
  padding-top: 10px;
}

.urlink {
  display: block;
}

.content-inner {
  padding-top: 40px;
}

.back-text {
  color: #B6863E;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  padding-top: 70px;
}


@media screen and (max-width: 1400px) {
  /*レスポンシブTOP開始*/
  .top-main-wrap {
    width: 80%;
    margin: 0 auto;
    text-align: center;
  }
    
  .image-wrapper {
    position: relative;
    display: inline-block;
    width: 100%;
  }
  
  .img-top {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
  }
  
  .overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(100, 100, 100, 0.6);
    display: flex;
    align-items: center;
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  
  .overlay-text {
    color: #fff;
    font-size: 20px;
    margin: 0 auto;
  }
  
  .image-wrapper:hover .overlay {
    opacity: 1;
  }  
  /*　レスポンシブTOP終了 */

  .en_name-rp {
    display: block;
    font-size: 15px;
    padding-left: 5px;
    letter-spacing: 2px;
    color: #B6863E;
    font-family: "Mochiy Pop One", sans-serif;
  }

  .en_name {
    display: none;
  }
}

@media screen and (min-width: 1500px) {
  /*　レスポンシブheader終了　*/
  .header {
    width: 80%;
    height: 80px;
    margin: 0 auto;
    background-color: #fff;
    font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
  }

  .header-inner {
    padding: 0.5vw 1vw;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .logo {
    width: 110px;
    height: auto;
  }

  .header_ul {
    list-style: none;
    align-items: center;
  }

  .header_li {
    font-size: 23px;
  }
/*　レスポンシブheader終了　*/

   /*レスポンシブTOP開始*/
  .top-main-wrap {
    width: 80%;
    margin: 0 auto;
    text-align: center;
  }
    
  .image-wrapper {
    position: relative;
    display: inline-block;
    width: 100%;
  }
  
  .img-top {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
  }
  /*レスポンシブTOP終了*/

}

@media screen and (max-width: 1200px) {
  /*　レスポンシブheader終了　*/
    .header {
      width: 85%;
      height: 80px;
      margin: 0 auto;
      background-color: #fff;
      font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
    }
  
    .header-inner {
      padding: 1vw 2vw;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
  
    .logo {
      width: 110px;
      height: auto;
    }
  
    .header_ul {
      list-style: none;
      align-items: center;
    }
  
    .header_li {
      font-size: 23px;
    }
  /*　レスポンシブheader終了　*/

  /*レスポンシブTOP開始*/
  .top-main-wrap {
    width: 80%;
    margin: 0 auto;
    text-align: center;
  }
    
  .image-wrapper {
    position: relative;
    display: inline-block;
    width: 100%;
  }
  
  .img-top {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
  }
  
  .overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(100, 100, 100, 0.6);
    display: flex;
    align-items: center;
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  
  .overlay-text {
    color: #fff;
    font-size: 20px;
    margin: 0 auto;
  }
  
  .image-wrapper:hover .overlay {
    opacity: 1;
  }  
  /*　レスポンシブTOP終了 */
  
  /*　レスポンシブABOUT終了　*/
  .profile_main {
    display: block;
    width: 100%;
  }
  
  .profile_photo {
   width: 100%;
   height: auto;
  }
  
  .about-txt {
    font-size: 15px;
  }
  
  .profile_maintext {
    width: 100%;
    margin: 0 0 0 auto;
    height: auto;
  }
  
  .jp_name {
   font-size: 25px;
   padding-top: 20px;
   color: #B6863E;
   font-family: "Mochiy Pop One", sans-serif;
  }
  
  .en_name {
   font-size: 13px;
   padding-left: 5px;
   color: #B6863E;
   font-family: "Mochiy Pop One", sans-serif;
  }
  
  .profiletext {
   padding-top: 15px;
   color: #4D4D4D;
   font-size: 15px;
  }
  
  /*　レスポンシブABOUT終了　*/
  
    /*　レスポンシブSTAGE開始　*/
  .gallery {
    columns: 2;
  }
  
  /*　レスポンシブSTAGE終了　*/  
  /*　レスポンシブstage detail開始　*/
  
  .eventtitle {
    display: block;
    font-size: 18px;
    font-weight: bold;
    background-color: #EAEAEA;
    padding: 18px 18px;
  }
  
  .title-no {
    font-size: 28px;
    font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif; 
    color: #B6863E;
  }
  
  .title-txt {
    font-size: 30px;
    color: #174A31;
    font-family: "Zen Kaku Gothic New", sans-serif;
  }
  
  .event-detail-wrapper {
    height: auto;
    margin: 0 auto;
    display: block;
  }
  
  .event-mainvisual {
    width: 100%;
    height: auto;
    padding: 40px 0 0 0;
  }
  
  .event-description {
    padding: 30px 0 10px;
  }
  
  .arasuji {
    font-size: 20px;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: bold;
    color: #B6863E;
  }
  
  .event-tbl-th {
    padding-top: 15px;
  }
  
  .apply-event {
    padding-top: 40px;
    text-align: center;
  }
  
  .event-tbl-detail {
    display: none;
  }
  
  .event-tbl-detail-rp {
    display: block;
  }
  
  /*　レスポンシブstage detail終了　*/
  }

  @media screen and (max-width: 1100px) {
   /*　レスポンシブTOP開始　*/
   .top-main-wrap {
    width: 100%;
    margin: 0 auto;
    text-align: center;
  }
  
  .image-wrapper {
    position: relative;
    display: inline-block;
    width: 95%;
    margin: 0 auto;
  }
  
  .img-top {
    height: 83vh;
    display: block;
    object-fit: cover;
    overflow: hidden;
  }
  
  .overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(100, 100, 100, 0.5);
    display: flex;
    align-items: center;
    opacity: 1;
  }
  
  .overlay-text {
    color: #fff;
    font-size: 20px;
    margin: 0 auto;
  }
  
  .title-wrap {
    padding-bottom: 20px;
    text-align: center;
  }
  
  .top-sub {
    font-size: 15px;
    font-weight: bold;
  }
  
  .top-title {
    font-size: 25px;
    font-family: "Mochiy Pop One", sans-serif;
  }
  
  .top-sub2 {
    font-size: 13px;
    padding-top: 5px;
  }
  
  .top-table {
    display: none;    
  }

  .top-table-rp {
    display: block;
    font-size: 13px;
    color: #fff;
    padding: 0 0 0 5px;
    text-align: left;
  }
  
  .top-table-td {
    vertical-align: top;
  }
  
  .top-table-th {
    vertical-align: top;
    font-size: 13px;

  }
  
  .top-table-td {
    padding: 3px 5px 3px 0;
    font-size: 13px;
  }
  
  .top-event-place {
    font-size: 10px;
  }

/*　レスポンシブTOP終了 */
/*　レスポンシブGALLERY開始 */
.gallery {
  columns: 1;
  padding: 10px 0;
  width: 100%;
  margin: 0 auto;
}
/*　レスポンシブGALLERY終了 */

}

  @media screen and (max-width: 800px) {
    /*　レスポンシブheader開始　*/
    .header {
      width: 100%;
      height: 80px;
      background-color: #fff;
      font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
    }
  
    .header-inner {
      padding: 2vw 2vw;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
  
    .logo {
      width: 100px;
      height: auto;
    }
  
    .header_ul {
      list-style: none;
      align-items: center;
    }
  
    .header_li {
      font-size: 20px;
    }
    /*　レスポンシブheader終了　*/
  
    /*　レスポンシブTOP開始　*/
    .top-main-wrap {
      width: 100%;
      margin: 0 auto;
      text-align: center;
    }
    
    .image-wrapper {
      position: relative;
      display: inline-block;
      width: 95%;
      margin: 0 auto;
    }
    
    .img-top {
      height: 83vh;
      display: block;
      object-fit: cover;
      overflow: hidden;
    }
    
    .overlay {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(100, 100, 100, 0.5);
      display: flex;
      align-items: center;
      opacity: 1;
    }
    
    .overlay-text {
      color: #fff;
      font-size: 20px;
      margin: 0 auto;
    }
    
    .title-wrap {
      padding-bottom: 20px;
      text-align: center;
    }
    
    .top-sub {
      font-size: 15px;
      font-weight: bold;
    }
    
    .top-title {
      font-size: 25px;
      font-family: "Mochiy Pop One", sans-serif;
    }
    
    .top-sub2 {
      font-size: 13px;
      padding-top: 5px;
    }
    
    .top-table {
      display: none;    
    }

    .top-table-rp {
      font-size: 13px;
      color: #fff;
      padding: 0 0 0 5px;
      text-align: left;
    }
    
    .top-table-td {
      vertical-align: top;  
    }
    
    .top-table-th {
      padding: 3px 5px 3px 0;
      vertical-align: top;
      font-size: 13px;
    }
    
    .top-table-td {
      padding: 3px 5px 3px 0;
      font-size: 13px;
    }
    
    .top-event-place {
      font-size: 10px;
    }
  
  /*　レスポンシブTOP終了 */
  
  /*　レスポンシブNEWS開始 */
    .content-wrap {
      width: 85%;
      margin: 0 auto;
      height: auto;
    }
    
    .sub-title {
       padding-top: 30px;
       padding-bottom: 10px;
       margin: 0 auto;
    }
    
    .sub-title1 {
      font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
      color: #174A31;
      font-size: 50px;
      text-align: center;
    }
    
    .sub-title2 {
      font-family: "Mochiy Pop One", sans-serif;
      color: #B21212;
      font-size: 20px;
      text-align: center;
      padding-bottom: 20px;
    }
    
    .line {
      display: none;
    }
  
    .line-flex {
      display: inline;
    }
  
    .txt-table-th {
      font-size: 18px;
      color: #B6863E;
    }
    
    .txt-table {
      font-size: 18px;
      color: #000000;
      padding: 0 0 0 20px;
    }
    
    .adjust-margin {
      height: 80px;
    }
  
    .adjust-margin-rp {
      display: block;
      height: 80px;
    }

    .adjust-margin-rp2 {
      display: block;
      height: 140px;
    }
    /*　レスポンシブNEWS終了　*/
  
  .copyrights {
    font-size: 12px;
  }
  
  }

  @media screen and (max-width: 600px) {
    .top-mv {
      display: none;
    }
  
    .top-mv-rp {
      display: block;
      width: 100%;
    } 
  }