@charset "utf-8";

/* メディアクエリー　900px */


/*==========================
base 
===================================================*/

html {
    font-size: 62.5%;
}

body {
    /*font-family: 'Helvetica Neue','Hiragino Sans','ヒラギノ角ゴシック',sans-serif;*/
    font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    "Meiryo",
    sans-serif;
}

h1,h2,h3,h4,h5,h6,p,ul,li {
    color: #15213B;
}

ul, li {
    padding: 0;
    margin: 0%;
}
/*
a {
    text-decoration: none;
    color: #152445;
}
*/


header a {
    text-decoration: none;
    color: #152445;
    cursor: pointer;
}

footer a {
    text-decoration: none;
    color: #152445;
}

a:hover {
    opacity: 0.7;
    text-decoration: none;
}


hr {
    color: #BFBFBF;
}


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

.container {
    width: 95%;
    max-width: 1040px;
    margin: 0 auto;
}

.top-main-sec {
    margin-top: 103px;
}

.slider-btn__wrap a {
    text-decoration: none;
}


.sp-column {gap: unset !important;}

#nhac_cu {
	background-image: url(../images/wh-arrow-icon.png);
    background-size: 18px;
    background-repeat: no-repeat;
    background-position: center right 10px;
}

/*

.btn {
    border-radius: 50px;
    color: #fff;
    font-size: 1.5rem;
    padding: 20px 30px;
    text-align: center;
}

.btn-green {
    background-color: #03C421;
}
.btn-green::before {
    content: url(../images/top/pencil_icon.svg);
    width: 14px;
    height: auto;
    margin-right: 10px;
}

.btn-blue {
    background-color: #004EFF;
}
.btn-blue::before {
    content: url(../images/top/ticket_icon.svg);
    width: 16px;
    height: auto;
    margin-right: 10px;
}
*/

.margin-r {
    margin-right: 20px;
}


.pc-only {
    display: block;
}

.sp-only {
    display: none;
}

.pc-only-tab {
    display: table-cell;
}
.pc-only-tab-head {
    display: table-header-group;
    text-align: center!important;
}

/*==========================
header
===================================================*/

header {
    position: relative;
    width: 100%;
    height: 93px;
    /*background-color: #fff;*/
    z-index: 50;
}

.g-nav{
    width: 100%;
    z-index: 100;
    background-color: #fff;
    box-shadow: 0px 2px 3px #ccc;
}

.fixed{
    position: fixed;
    top: 0;
    left: 0;
}
/*
.fixed .header-all__wrap {
    line-height: 23px;
}
*/

.header-all__wrap {
    width: 100%;
    /*max-width: 1400px;*/
    height: 93px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

.header__left {
    width: 50%;
    display: flex;
    align-items: center;
}

.header__right {
    width: 50%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.header-logo {
    width: 25%;
    max-width: 200px;
    height: 100%;
    display: flex;
    align-items: center;
    padding: 15px 15px 20px 10px;
}
 
.header-nav__wrap {
    width: 100%;
}

.header-nav__list {
    display: flex;
    list-style-type: none;
    font-size: 1.5rem;
}


.header-nav__txt {
    font-size: 1.5rem;
    font-weight: 600;
    margin-right: 25px;
    text-align: center;
    overflow: hidden;
}

/*  ドロップダウンメニュー設定  */

.header-nav__txt ul {
    /*絶対配置で位置を指定*/
    position: absolute;
    left: 0;
    top: 93px;
    z-index: 4;
    /*子要素を横並びに*/    
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
      /*形状を指定*/
    background-image: url(../images/top/footer_bg.svg);
    background-repeat: repeat;
    background-color: #fff;
    width: 100vw;
    height: 100vh;
      /*はじめは非表示*/
    visibility: hidden;
    opacity: 0;
       /*アニメーション設定*/
    transition: all .3s;
    list-style-type: none;
  }

  
  .header-nav__txt input {
      display: none;
  }
  

  /*クリックしたら表示*/
  .header-nav__txt .head-nav-c.show {
    visibility: visible;
    opacity: 1;
    box-shadow: 0px 2px 5px #ccc inset;
    /*display: block;*/
  }
  

  /*  検索窓の表示設定（ヘッダードロップダウン参考）  */

  .ImgBox__search ul {
    position: absolute;
    top: 93px;
    left: 0%;
    z-index: 4;
    background-color: #fff;
    width: 100vw;
    height: 100vh;
       /*はじめは非表示*/
    visibility: hidden;
    opacity: 0;
        /*アニメーション設定*/
    transition: all .3s;
    list-style-type: none;
  }

  .ImgBox__search input {
      display: none;
  }


  /*クリックしたら表示*/ 
  .ImgBox__search input:checked ~ .head-search-c {
    visibility: visible;
    opacity: 1;
  }


  .header-search__area {
    background-color: #000000CC;
    height: 20vh;
    max-height: 155px;
    display: flex;
    width: 100%;
  }


  .sp__header-tel__IconBox {
      display: none;
  }


  .sp__header-search__area,.sp__header-shop__area,.sp__header-contact__area {
      display: none;
  }


  .header-search__box {
    background-color: #EFEFEF;
    width: 50%;
    margin: auto;
    position: relative;
  }

  .header-search__box::before {
    content: url(../images/top/search_icon.svg);
    position: absolute;
    top: 53.5%;
    left: 28px;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}


  #search-text {
      width: 100%;
      display: block;
      position: relative;
      font-size: 1.3rem;
      line-height: 4.8rem;
      /*color: rgba(21, 36, 69,0.3);*/
      margin-left: 50px;
  }






  .down-menu__wrap {
    width: 80%;
    max-width: 1120px;
    height: 30%;
    max-height: 280px;
    display: flex;
    justify-content: center;
    margin: 20px auto 0;
  }

  .down-menu__box {
    width: 53%;
    height: 100%;
    margin: 0 auto;
    background-color: #fff;
    box-shadow: 3px 3px 10px #ccc;
    padding: 25px 35px;
    text-align: left;
  }

  .down-menu__ttl {
    font-size: 1.8rem;
    padding-bottom: 20px;
    border-bottom: 1px solid #BFBFBF;
  }

  .down-menu__ListBox {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      padding-top: 6px;
  }

  .down-menu__li {
    width: 47%;
    font-size: 1.42rem;
    font-weight: normal;
    margin-top: 20px;
  }

  .down-menu__li dl {
    margin: 0;
  }


  .down-menu__img {
      width: 47%;
      height: 100%;
      background-image: url(../images/top/event_menu_card@2x.jpg);
      background-size: cover;
  }

  .down-menu-arrow {
      position: relative;
  }

  .down-menu-arrow::after {
      content: url(../images/top/arrow_menu_next.svg);
      display: inline-block;
      width: 7px;
      height: 11px;
      position: absolute;
      right: -10px;
      top: 4px;
  }



  /*  ハンバーガーメニュー設定  */

  .openbtn {
      display: none;
  }


  @media screen and (max-width:900px){
    
    nav ul{
      display: block;
    }
  
    .has-child ul{
    position: relative;
    left:0;
    top:0;
    width:100%;
    visibility:visible;/*JSで制御するため一旦表示*/
    opacity:1;/*JSで制御するため一旦表示*/
    display: none;/*JSのslidetoggleで表示させるため非表示に*/
    transition:none;/*JSで制御するためCSSのアニメーションを切る*/
  }

    /*クリックしたら表示*/
    .header-nav__txt .head-nav-c.show {
        display: block;
        transition: 0.3s;
    }

  .header-nav__txt ul {
      background-image: none;
      height: auto;
  }

  .header-nav__arrow {
      padding: 20px 30px;
      font-size: 1.4rem;
      border-bottom: 1px solid #BFBFBF;
  }
      
    .header-nav__txt ul li{
      width:100%;
      text-align: left;
      padding: 6px 30px;
    }
    .header-nav__txt ul li .sp-only {
        display: none;
    }


    .header-nav__txt ul li:nth-child(1){
        padding-top: 12px;
    }


    .header-nav__txt ul li:last-child{
        border-bottom: 1px solid #BFBFBF;
        padding-bottom: 12px;
    }

    
    .header-nav__txt ul li dl{
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
    .header-nav__txt ul li dt{
      width: 100%;
      height: auto;
      margin: 0;
    }
  
    .header-nav__txt ul li dd{
      width:64%;      
    }
      
      nav ul li li a{
      padding: 0;
  }
    
  /*矢印の位置と向き*/
    
  .header-nav__txt > a::before{
    top:17px;
    left:20px;
      transform: rotate(135deg);
  }
      
  .header-nav__txt.active > a::before{
      transform: rotate(-45deg);
  }



/* === ハンバーガー・ナビゲーション === */

#g-nav__inner {
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position:fixed;
    z-index: 999;
    /*ナビのスタート位置と形状*/
	top:-120%;
    left:0;
	width:100%;
    height: 100vh;/*ナビの高さ*/
	background:#fff;
    /*動き*/
	transition: all 0.4s;
        overflow: hidden;
}

/*アクティブクラスがついたら位置を0に*/
#g-nav__inner.panelactive{
    top: 93px;
    width: 100%;
}

/*ナビゲーションの縦スクロール*/
#g-nav__inner.panelactive #g-nav__list{
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999;
    width: 100%;
    height: calc(100% - 100px);/*表示する高さ*/
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

/* === ハンバーガー・ボタン === */

.openbtn{
    display: block;
	position: absolute;
    z-index: 9999;/*ボタンを最前面に*/
	top:-4px;
	right: 0px;
	cursor: pointer;
    width: 50px;
    height:50px;
}

.openbtn__btn {
    width: 100%;
    height: 100%;
}

	
/*×に変化*/	
.openbtn__btn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 25px;
    height: 3px;
    border-radius: 50%;
	background-color: #152445;
  	width: 3px;
  }

.openbtn__txt {
    display: inline-block;
    transition: all .4s;
    font-size: 1rem;
    position: absolute;
    top: 25px;
    right: 10px;
    line-height: 2.7;
    pointer-events: none;
  }

.openbtn__btn span:nth-of-type(1) {
	top:13px;	
}

.openbtn__btn span:nth-of-type(2) {
	top:20px;
}

.openbtn__btn span:nth-of-type(3) {
	top:27px;
}


.openbtn__btn.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
    border-radius:0;
    height: 2px;
}

.openbtn__btn.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn__btn.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
    border-radius:0;
    height: 2px;
}




.header-nav__list {
    display: block;
    width: 100%;
}

.header-nav__arrow::after {
    display: none;
}

.header-nav__txt {
    position: relative;
    text-align: left;
    margin: 0!important;
}

.down-menu__wrap {
    width: 100%;
    margin-top: 0;
}

.down-menu__ttl {
    display: none;
}

.down-menu__li {
    font-size: 1.4rem;
    margin-top: 0;
}

.down-menu-arrow::after {
    display: none;
}

  }





.header-nav__arrow {
    position: relative;
    padding-bottom: 12px;
    display: block;
}

.header-nav__arrow::after {
    content: '';
    background: url(../images/top/arrow_drop.svg) no-repeat center bottom;
    width: 11px;
    height: 7px;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}


.header-icon__wrap {
    width: 25%;
    min-width: 216px;
}

.header-icon__list {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    list-style-type: none;
    font-size: 1.3rem;
}

.header-nav__ImgBox {
    display: flex;
    flex-direction: column;
    text-align: center;
    margin-left: 20px;
}

.header-nav__ImgBox label {
    cursor: pointer;
}



.ImgBox__img {
    width: 100%;
    height: 20px;
}

.menu-icon {
    width: 19px;
}

.menu-icon.contact {
    padding-top: 2px;
}

.header-tel__wrap {
    font-size: 1.1rem;
    margin: 0 15px;
    padding-bottom: 8px;
    width: 25%;
    min-width: 220px;
}

.header-tel__ttl {
    position: relative;
}

.header-tel__ttl::after {
    content: '';
    display: inline-block;
    width: 22%;
    height: 1px;
    background-color: #152445;
    position: absolute;
    top: 50%;
    right: 0;
}

.tel_center__box {
    display: flex;
    align-items: center;
    justify-content: center;
}

.tel__txt {
    font-size: 1.4rem;
    margin-right: 5px;
}

.tel__num {
    font-size: 2.3rem;
}

.header-tel__time {
    position: relative;
    text-align: center;
}

.header-tel__time::after {
    content: '';
    display: inline-block;
    width: 100%;
    height: 1px;
    background-color: #152445;
    position: absolute;
    left: 0;
    bottom: -6px;
}


.header-btn__wrap {
    display: flex;
    flex-direction: column;
    width: 28%;
    min-width: 175px;
}

.header__btn {
    font-size: 1.5rem;
    color: #fff;
    text-align: center;
    padding: 12px 20px;
}

.btn_ticket {
    background-color: #D12481;
}

.btn_support {
    background-color: #152445;
}

/*==========================
Top --- slider banner
===================================================*/

.main-slider__wrap {
    width: 100%;
    /*max-width: 1400px;*/
    margin: 0 auto;
}
.main-slider__wrap .slider, .main-slider__wrap .slider_txt {
    display: none;
}
.main-slider__wrap .slider.slick-initialized, .main-slider__wrap .slider_txt.slick-initialized {
    display: block;
}

.slider-txt__wrap {
    width: 100%;
    margin-top: 16px;
}


.slider-txt__inner {
    width: 100%;
    max-width: 1280px;
    display: flex!important;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
}

.slider-txt__item {
    width: calc(100% - 400px);
    display: flex;
    flex-direction: column;
    color: #152445;
}

.slider-txt__ttl {
    font-size: 2.8rem;
    font-weight: 600;
    margin-bottom: 16px;
}

.slider-txt__info {
    width: 100%;
    display: flex;
    align-items: center;
}

.slider-txt__date {
    font-size: 2rem;
    font-weight: 600;
}

.slider-txt__place {
    font-size: 1.4rem;
    position: relative;
    margin-left: 32px;
}
.slider-txt__place::before {
    content: url(../images/top/pin_icon.svg);
    width: 10px;
    height: auto;
    position: absolute;
    top: 2.5px;
    left: -15px;
}
.slider-txt__place a {
    text-decoration: none;
    color: #152445;
}


.topics__wrap {
    width: 100%;
    max-width: 1400px;
    display: flex;
    justify-content: center;
    margin: 45px auto 0;
}

.topics__item {
    width: 24%;
    margin: 0 10px;
}


/*==========================
Top --- calender
===================================================*/


.calendar__wrap {
    width: 100%;
    height: 549px;
    display: flex;
    justify-content: center;
    background-color: #F4F4F4;
    border-radius: 5px;
}

.calendar__box {
    width: 50%;
    padding: 40px 50px 40px 30px;
    display: flex;
    flex-wrap: wrap;
    align-content: space-between;
    position: relative;
}
.calendar__box::after {
    content: '';
    width: 1.5px;
    height: 80%;
    position: absolute;
    top: 10%;
    right: 0;
    background-color: #BFBFBF;
}


.calendar__table {
    width: 100%;
    /*max-width: 432px;*/
    height: 90%;
    max-height: 337px;
    text-align: center;
    padding-right: 50px;
}

.calendar__table a {
    text-decoration: underline;
    color: inherit;
}

.calendar__table a:hover {
    text-decoration: none;
}



.calendar_week {
    font-size: 1.5rem;
}

.calendar_day {
    font-size: 1.5rem;
}

.calender-mark__item {
    margin-left: 15px;
    margin-right: 22px;
}

.c_regular,.c_chamber,.c_special,.c_others {
    position: relative;
}

.c_regular::before {
    content: '';
    background-color: #DC88E6;
    position: absolute;
    top: 0;
    left: -14px;
    width: 11px;
    height: 11px;
    border-radius: 50%;
}

.c_chamber::before {
    content: '';
    background-color: #7EC3FC;
    position: absolute;
    top: 0;
    left: -14px;
    width: 11px;
    height: 11px;
    border-radius: 50%;
}

.c_special::before {
    content: '';
    background-color: #CBCB2D;
    position: absolute;
    top: 0;
    left: -14px;
    width: 11px;
    height: 11px;
    border-radius: 50%;
}

.c_others::before {
    content: '';
    background-color: #37E09F;
    position: absolute;
    top: 0;
    left: -14px;
    width: 11px;
    height: 11px;
    border-radius: 50%;
}

.calendar_day td:nth-child(6) {
    color: #193B98;
}
.calendar_week th:nth-child(6) {
    color: #193B98;
}

.calendar_day td:last-child {
    color: #FC007E;
}
.calendar_week th:last-child {
    color: #FC007E;
}

.calendar_week th {
    width: 14.2857%;
}



.day_regular, .day_chamber, .day_special, .day_others {
    position: relative;
}
.day_regular::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    background-color: #DC88E6;
    width: 60px;
    height: 60px;
    border-radius: 50%;
}
.day_chamber::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    background-color: #7EC3FC;
    width: 60px;
    height: 60px;
    border-radius: 50%;
}
.day_special::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    background-color: #CBCB2D;
    width: 60px;
    height: 60px;
    border-radius: 50%;
}
.day_others::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    background-color: #37E09F;
    width: 60px;
    height: 60px;
    border-radius: 50%;
}


.calendar__frame {
    width: 50%;
    padding-left: 20px;
    padding-top: 20px;
}

.calender__page {
    width: 100%;
    height: 100%;
}

/* -------- カレンダーinput部分カスタマイズ --------- */

.date-edit {
    font-size: 1.8rem;
}



.news__box {
    width: 100%;
    background-color: #A3122F;
    display: flex;
    font-size: 1.6rem;
    margin-top: 60px;
}

.news__ttl {
    color: #fff;
    font-weight: 600;
    margin: 20px 30px;
}

.news-txt {
    margin: 20px 0;
    padding-right: 30px;
}

.news-txt a {
    text-decoration: underline;
    color: #fff;
}
.news-txt a:hover {
    text-decoration: none;
}

.top-sec__TtlBox {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 28px;
}

.top-sec__TtlBox a {
    text-decoration: underline;
    font-size: 1.5rem;
}

.top-sec__TtlBox h2 {
    margin: 0;
    display: flex;
    vertical-align: middle;
}

.top-sec__TtlBox a:hover {
    text-decoration: none;
}

.top-sec__ttl {
    display: flex;
    align-items: center;
}

.top-sec-icon {
    width: auto;
    height: 27px;
    margin-right: 20px;
}

.top-sec-name {
    font-size: 2.4rem;
}












.new-concert__wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
}
.new-concert__wrap-2 {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
}

.new-concert__wrap::after {
    display: block;
    content: "";
    width: 326px;
    margin: 0 10px 30px;
}


.new-concert__ItemBox {
    width: 32%;
    border-radius: 5px;
    background-color: #F4F4F4;
}
.new-concert__ItemBox a {
    text-decoration: none;
    color: #152445;
}
.concert_cate {
    font-size: 1.6rem;
    font-weight: 600;
    text-align: center;
    padding: 10px 0;
    border-radius: 5px 5px 0 0 ;
}
.cate-chamber {
    background-image: url(../images/label/label_back_02.png);
}
.cate-regular {
    background-image: url(../images/label/label_back_01.png);
}
.cate-special {
    background-image: url(../images/label/label_back_03.png);
}
.cate-others {
    background-image: url(../images/label/label_back_04.png);
}
.concert__date {
    font-size: 1.6rem;
    line-height: 3.4rem;
    font-weight: 400;
    padding: 0 20px;
    margin: 10px 0;
}
.concert__title {
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 2.88rem;
    padding: 0 20px;
}
.concert__excerpt {
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 2.25rem;
    padding: 0 20px;
    margin: 20px 0;
}
.concert__status {
    font-size: 1.5rem;
    font-weight: 400;
    color: #fff;
    text-align: center;
    margin: 0 20px 20px;
}


.new-concert__label img {
    opacity: 0.5;
    display: block;
}
.new-concert__label-chamber {
    position: relative;
    background-color: #7EC3FC;
    border-radius: 5px 5px 0 0 ;
}
.new-concert__label-chamber::after {
    content:"室内楽シリーズ";
    font-size:1.3rem;
    font-weight: 600;
    color:#152445;
    position:absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.new-concert__label-special {
    position: relative;
    background-color: #CBCB2D;
    border-radius: 5px 5px 0 0 ;
}
.new-concert__label-special::after {
    content:"特別演奏会";
    font-size:1.3rem;
    font-weight: 600;
    color:#152445;
    position:absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.new-concert__label-regular {
    position: relative;
    background-color: #DC88E6;
    border-radius: 5px 5px 0 0 ;
}
.new-concert__label-regular::after {
    content:"定期演奏会";
    font-size:1.3rem;
    font-weight: 600;
    color:#152445;
    position:absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.new-concert__label-others {
    position: relative;
    background-color: #37E09F;
    border-radius: 5px 5px 0 0 ;
}
.new-concert__label-others::after {
    content:"その他";
    font-size:1.3rem;
    font-weight: 600;
    color:#152445;
    position:absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}



.new-concert__img {
    display: inline-block;
    width: 100%;
    height: 147px;
    background-image: url(../images/top/main_banner01-1.png);
    background-position: center;
    background-size: cover;
}

.new-concert__TextBox {
    background-color: #F4F4F4;
    padding: 20px;
    border-radius: 0 0 5px 5px;
}

.new-concert__desc {
    background-color: #F4F4F4;
}

.new-concert__date {
    display: inline-block;
    font-size: 1.6rem;
    padding: 15px 20px 0;
}

.new-concert__txt {
    font-size: 1.6rem;
    line-height: 2.8rem;
    font-weight: 600;
    padding: 15px 20px 20px;
}


.top-news__wrap {
    width: 100%;
    display: flex;
    justify-content: space-between;
}

.top-news__list {
    width: 100%;
    /* max-width: 690px; */
    list-style-type: none;
}

.top-news__item {
    border-top: 1px solid #E6E6E6;
    padding: 20px;
    display: flex;
    flex-direction: column;
}

.top-news__item a {
    color: #152445;
    }

.top-news-date {
    font-size: 1.3rem;
    margin-bottom: 1.3rem;
}

.news-important::after {
    content: '重要なお知らせ';
    color: #fff;
    background-color: #A3122F;
    font-size: 1.3rem;
    font-weight: 300;
    padding: 3px 8px;
    margin-left: 16px;
}

.top-news-link {
    font-size: 1.5rem;
    text-decoration: underline;
}

.top-magazine__wrap {
    display: flex;
    justify-content: space-between;
}

.top-magazine__box {
    width: 30%;
    max-width: 326px;
    background-color: #F4F4F4;
    border-radius: 5px;
    padding: 20px;
}

.top-magazine__date {
    display: inline-block;
    font-size: 1.3rem;
    margin: 20px 0;
}

.top-magazine__tag {
    display: inline-block;
    font-size: 1.2rem;
    margin-left: 10px;
}

.top-magazine__tag a {
    text-decoration: underline;
    color: #004EFF;
}
.top-magazine__tag a:hover {
    text-decoration: none;
}

.top-magazine__txt {
    font-size: 1.5rem;
    font-weight: 600;
}
.top-magazine__txt a {
    text-decoration: none;
    color: #15213B;
}



.top-youtube__wrap {
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin-top: 100px;
}

.top-youtube__ttl {
    width: 15%;
    display: flex;
    flex-direction: column;
    text-align: center;
}

.top-youtube__ttl a {
    text-decoration: none;
    color: #15213B;
}

.youtube-ch {
    font-size: 4.4rem;
    font-weight: 600;
}

.youtube-name {
    font-size: 1.5rem;
}

.youtube-icon {
    max-width: 52px;
    margin: 20px auto 0;
}

.top-youtube__ImgBox {
    width: 85%;
    display: flex;
    justify-content: space-between;
}

.top-youtube__thum {
    width: 24%;
    max-width: 214px;
    position: relative;
}

.popup {
    position: absolute;
    z-index: 999;
    background: translate;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
  }

.popup iframe {
    max-width: 100%
}




.about-and-support__wrap {
    display: flex;
    margin: 100px auto;
}


.about-and-support__wrap .link__box {
    width: 100%;
    height: 400px;
}


.banner_about {
    position: relative;
    overflow: hidden;
    background: #fff;
}

.banner_about::before {
    content: url(../images/top/blue-box-arrow.png);
    color: #fff;
    width: 55px;
    height: 55px;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 3;
}

.about-and-support__wrap a:hover {
    opacity: 1.0;
    text-decoration: none;
}


.banner_about::after {
    position: absolute;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    background: url(../images/top/card_about@2x.png) no-repeat center center;
    background-size: cover;
    transition: all .8s ease;
}

.banner_support:hover:after {
    opacity: .7;
    transform: scale(1.1);
  }

  .banner_support {
    position: relative;
    overflow: hidden;
    background: #fff;
}


.banner_support::before {
    content: url(../images/top/blue-box-arrow.png);
    color: #fff;
    width: 55px;
    height: 55px;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 3;
}

.banner_support::after {
    position: absolute;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    background: url(../images/top/card_support@2x.png) no-repeat center center;
    background-size: cover;
    transition: all .8s ease;
}

.banner_about:hover:after {
    opacity: .7;
    transform: scale(1.1);
  }


.link__box .about-and-support__TextBox {
    z-index: 1;
    position: absolute; 
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    text-align: center;
    color: #fff;
  }

.about-and-support__ttl {
    font-size: 3.5rem;
    font-weight: 600;
    margin-bottom: 17px;
}

.about-and-support__desc {
    font-size: 1.5rem;
}





.top-company__box {
    width: 100%;
    padding: 40px 0;
    background-color: #F4F4F4;
    border-radius: 5px;
    text-align: center;
    margin-bottom: 10px;
}

.top-company__ttl {
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 30px;
}

.company-logo__box, .company-logo__box-2 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.box-supporter .company-logo__box, .box-supporter .company-logo__box-2 {
    justify-content: center;
}

.company-logo__box img, .company-logo__box-2 img{
    height: 100%;
    max-height: 22px;
    width: auto;
    margin-right: 24px;
}
.company-logo__box-2 img{
    margin-bottom: 15px;
}

.company__items {
    display: flex;
}


.last-sec {
    margin-bottom: 140px;
}



/*==========================
about
===================================================*/


.about-img-wrap__single {
    width: 100%;
    text-align: center;
}
.about-img-wrap__single img {
    width: 80%;
    max-width: 420px;
}

.about-img-wrap__double,.about-img-wrap__double-2 {
    width: 100%;
    display: flex;
    justify-content: space-between;
}
.about-img-wrap__double-2 {
    margin-bottom: 60px;
}

.about-img-wrap__conductor-in {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between
}


.about-img-wrap__member-in {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between
}
.member-in-item__img {
    width: 45%;
}
.member-in-item__img img {
    width: 100%;
    height: auto;
}
.member-in-item__desc {
    width: 49%;
}
.member-in-item__desc label {
    font-size: 1.5rem;
    color: #fff;
    background-color: #15213B;
    display: inline-block;
    padding: 0 20px;
    margin-right: 10px;
    margin-bottom: 15px;
}
.member-in-item__desc label + div:not(:empty) {
    padding-bottom: 3.2rem;
}
.member-in-item__desc span {
    color: #15213B;
    font-size: 1.5rem;
}
.member-in-item__desc h4 {
    font-size: 3.0rem;
    font-weight: 600;
    margin-bottom: 10px;
}
.member-in-item__desc h5 {
    margin: 0 0 30px 0;
    font-weight: 400;
}

.member-in-item__desc h6 {
    font-size: 1.4rem;
    font-weight: 400;
    color: #BFBFBF;
    margin: 0;
}
.member-in-item__desc div {
    font-size: 1.5rem;
}


.member-in__desc h5 {
    font-size: 2.5rem;
    font-weight: 600;
    margin-top: 60px;
}
.member-in__desc p {
    line-height: 2;
}

.member-in__desc a {
    font-size: 15px;
    line-height: 1.5;
    text-decoration: none;
}
.member-in__desc a p {
    color: #014EF9;
    text-decoration: underline;
}

.member-sns-logo {
    width: 100%;
    max-width: 200px;
    height: 20px;
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
}
.member-sns-logo img {
    width: auto;
    height: 22px;
}



.member-schedule__wrap {
    display: flex;
    flex-direction: column;
    margin-top: 35px;
}
.member-schedule__items {
    width: 100%;
    padding: 23px 0;
    display: flex;
    border-top: 1px solid #bfbfbf;
}
.member-schedule__label p {
    font-size: 1.3rem;
    font-weight: 300;
    display: inline-block;
    width: 111px;
    margin-right: 30px;
    text-align: center;
}
.member-schedule__label.others p {
    background-color: #37E09F;
}
.member-schedule__label.special p {
    background-color: #CBCB2D;
}
.member-schedule__label.chamber p {
    background-color: #7EC3FC;
}

.member-schedule__txt h6 {
    font-size: 1.5rem;
    line-height: 1.5;
}
.member-schedule__txt p {
    font-size: 1.3rem;
}





.about-img-wrap__grid {
    width: 100%;
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(4, 1fr);
}
.about-img-wrap__grid a {
    text-decoration: none;
}

.about-img-wrap__grid-item {
    margin-bottom: 40px;
}

.about-img-wrap__grid-item img {
    width: 100%;
    height: auto;
}
.about-img-wrap__grid-item p {
    font-size: 1rem;
    line-height: 2.4rem;
}
.about-img-wrap__grid-item h4 {
    font-size: 1.5rem;
    margin: 5px 0;
}
.about-img-wrap__grid-item label {
    font-size: 1.3rem;
    color: #BFBFBF;
}
.about-img-wrap__grid-item span {
    font-size: 1.3rem;
    padding-left: 10px;
    color: #15213B;
}




.about-menber-select__wrap {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 40px;
}

.about-member > .c-form__select {
    width: 300px;
}

.about-img-wrap__double-item {
    width: 49%;
}
.about-img-wrap__double-item-2 {
    width: 40%;
}

.about-img-wrap__double-item img,.about-img-wrap__double-item-2 img {
    width: 100%;
    height: auto;
}

.about-photo-cap {
    font-size: 1.1rem!important;
    line-height: 1;
    text-align: right;
    color: #15213B;
    /*margin-top: 10px;*/
}

.about-img-wrap__double-item-2 label {
    font-size: 1.45rem;
    font-weight: 400;
    line-height: 1.5;
    padding: 4px 7px;
    color: #fff;
    background-color: #15213B;
    display: inline-block;
    margin-top: 3px;
    margin-right: 10px;
}
.about-img-wrap__double-item-2 span {
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1.2;
    display: block;
    margin-top: 10px;
}

.about-img-wrap__double-item-2 h4 {
    font-size: 2.2rem;
    font-weight: 600;
    color: #15213B;
    margin-top: 25px;
    margin-bottom: 2px;
}
.about-img-wrap__double-item-2 h6 {
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.2;
    color: #BFBFBF;
    margin: 0;
}



.commu__item-wrap > .concerts-info__items h5 {
    font-size: 2rem;
    margin-top: 0px;
}

.commu__item-wrap > .concerts-info__items a {
    text-decoration: underline;
    color: #004CF2;
}
.commu__item-wrap > .concerts-info__items a:hover {
    text-decoration: none;
    color: #15213B;
}



.member-page-nav__wrap {
    width: 100%;
    display: flex;
}
.member-page_back, .member-page_next {
    width: 50%;
    display: flex;
    position: relative;
}
.member-page_back {
    border-right: 1px solid #F4F4F4;
    /*margin-right: 20px;*/
}
.member-page_next {
    justify-content: space-between;
}
.member-page_back a, .member-page_next a {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1;
}
.member-page_back:hover img {
    opacity: 0.7;
    /*transition: 0.2s;*/
}
.member-page_next:hover img {
    opacity: 0.7;
}




.member-back__btn, .member-next__btn {
    width: 35px;
    height: 100%;
    background-color: #F4F4F4;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 20% auto;
}
.member-back__btn {
    background-image: url(../images/arrow_next-navy.png);
}
.member-next__btn {
    background-image: url(../images/arrow_next-navy-2.png);
}
.member-nav__box {
    margin-left: 20px;
    align-content: space-between;
    width: 100%;
}
.member-nav__box h6 {
    font-size: 1.3rem;
    font-weight: 600;
    margin-bottom: 1.2rem;
}
.member-nav__item {
    display: flex;
}
.member-nav__item img {
    width: 100%;
    max-width: 71px;
    max-height: 86px;
    object-fit: cover;
}

.member-nav__desc {
    display: flex;
    flex-direction: column;
    margin-left: 20px;
}
.member-nav__desc p {
    font-size: 1.3rem;
    line-height: normal;
    text-align: left;
}
.member-nav__desc h5 {
    font-size: 1.6rem;
    font-weight: 600;
    margin: 0;
}
.member-nav__desc span {
    font-size: 1.3rem;
    color: #BFBFBF;
}


.found-date__nm {
    margin-top: -20px;
    margin-bottom: 0;
}







/*==========================
concerts
===================================================*/

.concerts-keyword__wrap, .concerts-genre__wrap {
    background-color: #F4F4F4;
    width: 100%;
    border-radius: 5px;
    display: flex;
    padding: 30px;
    margin-top: 10px;
}

.concerts-top__ttl {
    font-size: 1.8rem;
    font-weight: 600;
    color: #152445;
    width: 20%;
    display: flex;
    align-items: center;
}

.concerts-top__items {
    display: flex;
    flex-wrap: wrap;
    width: 80%;
}
.concerts-top__items a {
    display: inline-block;
    width: 100%;
    text-decoration: none;
    color: inherit;
}
.concerts-top__items span {
    font-size: 1.6rem;
    font-weight: 600;
    color: #fff;
    background-color: #BFBFBF;
    border-radius: 9999px;
    text-align: center;
    display: flex;
    align-items: center;
    padding: 10px 20px;
    margin: 0 10px 10px 0;
}

.concerts-genre__item img {
    opacity: 0.5;
    display: block;
}

.concerts-genre__item {
    display: inline-block;
    font-size: 1.6rem;
    font-weight: 600;
    color: #152445;
    position: relative;
    width: 48%;
    padding: 15px;
    margin: 0 10px 10px 0;
    background-size: cover;
    border-radius: 5px;
}
.concerts-genre__item:hover {
    opacity: 0.8;
}

.concerts-genre__item.regular {
    background-image: url(../images/label/label_back_01.png);
}
.concerts-genre__item.chamber {
    background-image: url(../images/label/label_back_02.png);
}
.concerts-genre__item.special {
    background-image: url(../images/label/label_back_03.png);
}
.concerts-genre__item.others {
    background-image: url(../images/label/label_back_04.png);
}
.concerts-genre__item.streaming {
    background-image: url(../images/label/label_back_05.png);
}

.concerts-genre__item::after {
    content: '';
    width: 8px;
    height: 8px;
    display: inline-block;
    position: absolute;
    top: 22px;
    right: 20px;
    border-top: 2px solid #152445;
    border-right: 2px solid #152445;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}


.concerts-search__wrap {
    margin: 40px 0 80px;
    text-align: center;
}
.accordion-container .accordion-title-2 {
    /*position: relative;*/
    margin: 0;
    padding: 21px 0;
    background-color: #152445;
    font-size: 1.8rem;
    font-weight: normal;
    color: #fff;
    cursor: pointer;
  }
  .accordion-container .accordion-title-2:hover,
  .accordion-container .accordion-title-2:active,
  .accordion-title-2.open { 
    background-color: #152445;
    color: #fff;
  }

  .accordion-title__txt {
    position: relative;
  }
  
  .accordion-title__txt::before {
    content: "";
    position: absolute;
    top: 50%;
    right: -25px;
    width: 15px;
    height: 2px;
    /*縦線に*/
    transform: rotate(90deg);
    background: #fff;
    transition: all .3s ease-in-out;
  }
  
  .accordion-title__txt::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -25px;
    /*横線*/
    width: 15px;
    height: 2px;
    background: #fff;
    transition: all .2s ease-in-out;
  }
  
  .accordion-container .accordion-title-2.open::before {
    transform: rotate(180deg);
    background: #fff;
  }
  
  .accordion-container .accordion-title-2.open::after {
    opacity: 0;
  }

  

.link-reset {
    font-size: 1.5rem;
    margin-bottom: 20px;
}

.new-concert__ItemBox p {
    padding: 0 20px 20px;
}
.new-concert__ItemBox.hoa h3 {
    text-align: center;
    background: url(../images/concerts/bg_category.png) no-repeat center;
    font-size: 1.2em;
    font-weight: bold;
}
.new-concert__ItemBox.hoa h3.cat-2 {
    background: url(../images/concerts/bg_category.png) no-repeat center;
}
.new-concert__ItemBox.hoa .concerp_thumb {
    height: 120px;
    overflow: hidden;
}







.new-concert__ItemBox label {
    display: block;
    margin: 0 20px 20px;
    text-align: center;
    font-size: 1.5rem;
    font-weight: 300;
    color: #fff;
}
.on-sale {
    background-color: #D12481;
}
.priority {
    background-color: #1BC429;
}
.a-few {
    background-color: #014EF9;
}
.sold-out {
    background-color: #BFBFBF;
}

.concerts-info__wrap {
    width: 100%;
    display: flex;
    justify-content: space-between;
}

.concerts-info__items {
    width: 48%;
}
.concerts-info__items a {
    text-decoration: none;
    color: #152445;
}
.concerts-info__items span:hover {
    text-decoration: underline!important;
    opacity: 1;
}

.concerts-info__items span, .concerts-info__items.not-arrow span {
    position: relative;
    font-size: 1.55rem;
    font-weight: 600;
    display: inline-block;
    margin-top: 12px;
    margin-bottom: 20px;
}

.concerts-info__items span::after {
    content: '';
    width: 8px;
    height: 8px;
    display: block;
    position: absolute;
    top: 7px;
    right: -15px;
    border-top: 2px solid #152445;
    border-right: 2px solid #152445;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.concerts-info__items.not-arrow span::after {
    display: none;
}

.accordion-content_search {
    background-color: #e4e4ec;
}


.txt-bold {
    font-weight: 600;
}


.con-series__wrap {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.con-series__img {
    width: 20%;
}
.con-series__img img {
    max-width: 180px;
}
.con-series__txt {
    width: 79%;
    max-width: 820px;
}

/* 公演ページ検索のモーダル */
.c-form__row__field span .info {
    color: #152445;
    text-decoration: none;
    margin-left: 0;
    margin-right: 5px;
    padding-right: 4px;
}
.c-form__row__field span .info:hover {
    opacity: 1;
    color: #152445;
}

.c-form__row__field span .info::before {
    content: '';
    background: url(../images/concerts/icon-tag-info.png) no-repeat top center;
    background-size: cover;
    position: absolute;
    top: 4px;
    right: -17px;
    width: 14px;
    height: 14px;
}

/*　過去の公演情報ページの期間検索の枠　*/
.open-content {
    background-color: #e4e4ec;
    padding: 10px 20px 20px 20px;
    margin: 0 10px 50px;
    text-align: center;
}
.open-content > .c-form__row {
    padding-bottom: 10px;
}
.open-content > .link-reset {
    margin-bottom: 0;
}
.open-content > .btn-02 {
    margin: 0 0 20px 0;
}

/*==========================
concerts - 公演詳細ページ
===================================================*/

.concert__tab table th,.concert__tab table td {
    padding: 20px 10px;
}

.concerts__main-banner {
    width: 100%;
}
.concerts__main-banner img {
    width: 100%;
    height: auto;
}
.con__top-info-wrap {
    display: flex;
    justify-content: space-between;
    margin-bottom: 60px;
}
.con__info-desc {
    display: flex;
    flex-direction: column;
}
.concerts-info-box {
    width: 100%;
    display: flex;
    justify-content: center;
    background-color: #F4F4F4;
    padding: 40px 0;
}
.concerts-info__ttl {
    width: 20%;
    font-size: 2.5rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.concerts-info__ttl::after {
    content: '';
    width: 1px;
    height: 100%;
    background-color: #BFBFBF;
    display: inline-block;
    position: absolute;
    top: 0;
    right: 0;
}

.concerts-info__desc {
    width: 80%;
    padding: 0 40px;
}
.concerts-info__txt {
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 2.7rem;
    margin-bottom: 20px;
}

.con__detail h2 {
    font-size: 3.6rem;
    font-weight: 400;
    text-align: center;
    margin-bottom: 0;
}
.con__detail h6 {
    text-align: center;
    margin-bottom: 60px;
    margin-top: 3px;
}
.con-txt__info {
    width: 100%;
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}
.con-txt__date {
    font-size: 2rem;
    font-weight: 400;
}
.con-txt__place {
    font-size: 1.4rem;
    position: relative;
    padding-left: 12px;
    /*margin-left: 20px;*/
    margin-right: 18px;
}
.con-txt__place::before {
    content: '';
    background-image: url(../images/top/pin_icon.svg);
    width: 15px;
    height: 15px;
    position: absolute;
    top: 0;
    left: 0;
}
.con-txt__info a {
    font-size: 1.5rem;
    font-weight: 400;
}



.performer__wrap {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.performer__item {
    display: flex;
    width: 46%;
    margin-bottom: 20px;
    align-items: center;
}
.performer__img {
    display: flex;
    flex-direction: column;
    width: 40%;
}
.performer__img img {
    width: 100%;
    max-width: 190px;
    margin-bottom: 0px;
}
.performer__img span {
    font-size: 1.1rem;
    color: #152445;
    text-align: right;
}

.performer__desc {
    margin-left: 20px;
    width: 60%;
}
.performer__desc.type-all {
    width: 100%;
    margin-left: 0;
}
.performer__desc label:not(:empty) {
    font-size: 1.3rem;
    color: #fff;
    background-color: #15213B;
    display: inline-block;
    padding: 0 10px;
    margin-right: 10px;
    margin-bottom: 5px;
}
.performer__desc.type-all label {
    font-size: 1.1rem;
    padding: 1px 5px;
    margin-right: 0;
    margin-bottom: 3px;
    letter-spacing: -0.02rem;
}

.performer__desc div {
    font-size: 1.5rem;
    color: #152445;
}
.performer__desc.type-all div {
    font-size: 1.2rem!important;
    height: 28px;
    line-height: 1.1;
}

.performer__desc h4 {
    font-size: 2.0rem;
    font-weight: 600;
    margin-bottom: 5px;
}
.performer__desc.type-all h4 {
    font-size: 1.6rem;
    margin-top: 0;
    margin-bottom: 0;
}

.performer__desc h6 {
    font-size: 1.4rem;
    font-weight: 400;
    color: #BFBFBF;
    margin: 0;
    text-align: left;
}
.performer__desc.type-all h6 {
    font-size: 1.2rem;
    display: inline-block;
}

.performer__desc h5 {
    margin-top: 0;
}

.performer__desc span {
    font-size: 1.4rem;
    font-weight: 300;
    color: #BFBFBF;
    line-height: 1.6rem;
    margin-bottom: 30px;
    display: inline-block;
}
.program__list {
width: 100%;
list-style-type: none;
}
.program__list li:last-of-type {
    border-bottom: 1px solid #BFBFBF;
}

.program-img__wrap {
    display: flex;
    justify-content: center;
    margin: 40px 0 60px;
}
.program-img__item {
    width: 45%;
    max-width: 414px;
    margin: 0 30px;
}
.program-img__item img {
    width: 100%;
    height: auto;
}



.bg-gray {
    background-color: #ECEEF2;
}
.wh-tel__box {
    background-color: #fff;
    text-align: center;
    width: 65%;
    max-width: 584px;
    margin: 40px auto 0;
    padding: 40px;
}
.wh-tel__box h5,.gray-tel__box h5 {
    font-size: 1.8rem;
    margin-bottom: 30px;
    margin-top: 0px;
}
.wh-tel__box p,.gray-tel__box p {
    text-align: center;
}
.wh-tel__box p {
    margin-bottom: 5px;
    line-height: 1;
}

.gray-tel__box p {
    margin: 0 0 5px 0;
}

.wh-tel__inner {
    display: flex;
    align-items: center;
    justify-content: center;
}
.wh-tel__inner span {
    font-size: 1.5rem;
    margin-right: 10px;
    color: #15213B;
}

.wh-tel__inner > .phone-num {
    font-size: 4rem;
    font-weight: 400;
    color: #15213B;
}

.wh-tel__box h6,.gray-tel__box h6 {
    font-size: 1.3rem;
    font-weight: 300;
    margin-bottom: 0;
}


.bg-pattern {
    background: url(../images/top/footer_bg.svg) no-repeat center;
    background-size: cover;
}
.bg-pattern.plan {
    padding: 80px 0 60px;
}

.plan a {
    text-decoration: none;
    display: block;
}
.plan a + a {
    margin-top: 1.4rem;
}
.plan a:hover {
    opacity: 0.8;
}
.plan h2 {
    margin: 0;
}
.plan-box {
    width: 100%;
    display: flex;
    align-items: center;
    padding: 30px;
}
.plan-box__img {
    width: 15%;
    margin-right: 20px;
}
.plan-box__img img {
    width: 100%;
    min-width: 145px;
    max-width: 150px;
}
.plan-box__txt h2 {
    font-size: 2.5rem;
    font-weight: 600;
    margin: 10px 0 0 0 ;
    text-align: left;
}
.plan-box__txt h5 {
    font-weight: 400;
    margin-bottom: 0;
}
.con__info-desc h2 {
    margin: 0 0 20px 0;
}
.con__info-desc h5 {
    margin: 0;
}
.con__label-sns__wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 40px 0 10px;
}
.con__label {
    font: normal normal normal 13px/20px Hiragino Sans;
    color: #152445;
    text-align: center;
    line-height: 33px;
    height: 33px;
    background-image: url(../../img/label_back@2x.png);
    background-repeat: repeat-x;
}
.con__label:not(:empty) {
    padding: 0 12px;    
}
.con__label.chamber {
    background-image: url(../images/label/label_back_02.png);
    background-size: cover;
}

.con__btn-wrap {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}
.btn-plus {
    border: 1px solid #152445;
    border-radius: 42px;
}

.con__date-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.con__info-label {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.con__info-label a {
    text-decoration: none;
    display: inline-block;
    color: #152445;
    position: relative;
    padding-right: 22px;
    opacity: 1;
}
.con__info-label a::before {
    content: '';
    background: url(../images/concerts/icon-tag-info.png) no-repeat top center;
    background-size: cover;
    position: absolute;
    top: 4px;
    right: 3px;
    width: 14px;
    height: 14px;
}


.con__info-label span {
    border: 1px solid #152445;
    font-size: 1.3rem;
    font-weight: 300;
    margin-right: 4px;
    padding: 2px 6px;
    margin-bottom: 5px;
}
.con__info-txt-link {
    font-size: 1.35rem;
    margin: 0 5px 0 0;
}
.con__ticket-btn-wrap {
    display: flex;
    justify-content: center;
}
.con__ticket-btn-item {
    margin: 0 10px;
}
.con__ticket-btn-item p {
    text-align: center;
}

.con-detail-logo__wrap {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 60px;
}
.con-detail-logo__img {
    width: 20%;
}
.con-detail-logo__img {
    width: 100%;
    max-width: 165px;
}


.ticket-info-fix {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    /*height: 110px;*/
    background-color: rgba(255, 255, 255, 0.8);
    display: flex;
    justify-content: center;
    padding: 20px 0;
}

.btn-ticket-fix {
    margin-right: 20px;
}

/*フッターまでスクロールしたら消す*/
.is-hidden {
    visibility: hidden;
    opacity: 0;
    transition: 0.2s ease-in-out;
  }


/*==========================
concerts - オンライン配信ページ
===================================================*/

.online__wrap {
    display: flex;
    width: 100%;
}
.online__img-wrap {
    width: 30%;
    max-width: 300px;
    margin-right: 30px;
}
.online__img img {
    width: 100%;
    height: auto;
}
.online__img-wrap span {
    display: inline-block;
    background-color: #7B7B7B;
    color: #fff;
    padding: 3px 10px;
    margin-right: 5px;
    margin-top: 12px;
    font-size: 1.3rem;
}
.online__info-wrap {
    width: 75%;
}

.form-content__inner {
    padding: 30px 10px;
}


/*==========================
audition job
===================================================*/

.link-area a {
    line-height: 3.3rem;
}

.job-position__wrap {
    margin-top: 40px;
}

.job-position__wrap a {
    text-decoration: none;
}
.job-position__wrap a:hover {
    opacity: 1;
}
.u-recruit:hover {
    color: #014EF9;
    border-color: #014EF9;
    opacity: 1!important;
}


.job-position__box {
    width: 100%;
    border: 1px solid #BFBFBF;
    color: #BFBFBF;
    font-size: 1.8rem;
    display: flex;
    align-items: center;
    padding: 30px 24px;
    margin-bottom: 10px;
    position: relative;
}

.job-position__box::after {
    content: '';
    width: 7px;
    height: 7px;
    border-top: 2px solid #014EF9;
    border-right: 2px solid #014EF9;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 45%;
    right: 25px;
}
.job-position__box img {
    width: 10%;
    max-width: 70px;
    margin-right: 20px;
}





/*==========================
contact
===================================================*/

.contact_btn-wrap {
    display: flex;
}
.contact_btn-wrap a {
    text-decoration: none;
    color: #fff;
}
.contact_btn-wrap a:hover {
    color: #152445;
}


.contact__link-box {
    display: inline-block;
    width: 47%;
    height: 80px;
    line-height: 80px;
    border-radius: 9999px;
    margin: 30px 10px 30px 0;
    font-size: 1.4rem;
    font-weight: 600;
    position: relative;
    text-align: center;
    padding-right: 15px;
}
.contact__link-box {
    border: 1px solid #BFBFBF;
    color: #BFBFBF;
}
.contact__link-box.co-navy {
    border: 1px solid #15213B;
    background-color: #15213B;
    color: #fff;
}



.contact__link-box a {
    text-decoration: none;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
}
.contact__link-box a {
    color: #15213B;
}
.contact__link-box.co-navy a {
    color: #fff;
}


/*
.contact a:hover {
    opacity: 1;
}
*/
.contact__link-box::after {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    position: absolute;
    top: 36px;
    right: 15px ;
    border-top: 2px solid #BFBFBF;
    border-right: 2px solid #BFBFBF;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
/*
.contact__link-box:hover::after {
    border-top: 2px solid #15213B;
    border-right: 2px solid #15213B;
}
*/

.contact__link-box:hover {
    /*background-color: #BFBFBF;
    transition: 0.3s;*/
    color: #fff;
    opacity: 0.7;
}
.contact__link-box.co-navy::after {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    position: absolute;
    top: 35px;
    right: 45px ;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
/*
.contact__link-box.co-navy:hover::after {
    border-top: 2px solid #15213B;
    border-right: 2px solid #15213B;
}
*/

.contact__link-box.co-navy:hover {
    /*background-color: #fff;
    color: #15213B;
    transition: 0.3s;*/
    opacity: 0.7;
}

.contact__ttl-2 {
    font-size: 2.5rem;
    font-weight: 600;
    margin: 80px 0 10px;
}


/*==========================
faq 
===================================================*/




.tab-group{
    display: flex;
    justify-content: space-between;
  }
  .tab{
    width: 100%;
    margin: 0 1px;
    list-style:none;
    text-align:center;
    cursor:pointer;
    font-size: 1.6rem;
    font-weight: 600;
    padding: 30px 0;
    border-top: 4px solid #014EF9;
    color: #014EF9;
    opacity: 0.5;
  }

  .panel-group{
    border-top:none;
  }
  .panel{
    display:none;
  }
  .tab.is-active{
    transition: all 0.2s ease-out;
    opacity: 1;
  }
  .panel.is-show{
    display:block;
  }





/*==========================
news
===================================================*/


.news-page__list {
    width: 100%;
    max-width: 760px;
    list-style-type: none;
    margin: 0 auto;
}
.news-cate__wrap {
    width: 25%;
    max-width: 220px;
}
.news-cate__ttl {
    font-size: 1.8rem;
    padding-bottom: 20px;
    margin: 0 0 30px 0;
    border-bottom: 1px solid #BFBFBF;
}
.news-page__main {
    flex-direction: column;
    justify-content: center;
}
.news-page__item {
    border-top: 1px solid #BFBFBF;
    padding: 20px;
    display: flex;
    flex-direction: column;
}
.news-page__list li:last-of-type {
    border-bottom: 1px solid #BFBFBF;
}
.news-page__item a {
    color: #152445;
}
.news-topics::after {
    content: 'トピックス';
    color: #fff;
    background-color: #152445;
    font-size: 1.3rem;
    font-weight: 300;
    padding: 3px 8px;
    margin-left: 16px;
}
.news-press::after {
    content: 'プレスリリース';
    color: #fff;
    background-color: #152445;
    font-size: 1.3rem;
    font-weight: 300;
    padding: 3px 8px;
    margin-left: 16px;
}
.news-media::after {
    content: 'メディア掲載情報';
    color: #fff;
    background-color: #152445;
    font-size: 1.3rem;
    font-weight: 300;
    padding: 3px 8px;
    margin-left: 16px;
}
.news-campaign::after {
    content: 'キャンペーン';
    color: #fff;
    background-color: #152445;
    font-size: 1.3rem;
    font-weight: 300;
    padding: 3px 8px;
    margin-left: 16px;
}
.news-recruit::after {
    content: '採用情報';
    color: #fff;
    background-color: #152445;
    font-size: 1.3rem;
    font-weight: 300;
    padding: 3px 8px;
    margin-left: 16px;
}
.news-support::after {
    content: 'ご支援による活動';
    color: #fff;
    background-color: #152445;
    font-size: 1.3rem;
    font-weight: 300;
    padding: 3px 8px;
    margin-left: 16px;
}
.news-cate__list {
    list-style-type: none;
}
.news-cate__list a {
    color: #152445;
    text-decoration: none;
}
.news-cate__list li {
    margin-bottom: 20px;
    font-size: 1.5rem;
    font-weight: 300;
    color: #BFBFBF;
}
    
.news-page__date-sns__wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    border-top: 1px solid #BFBFBF;
    border-bottom: 1px solid #BFBFBF;
    margin-top: 50px;
}

.news-page__date {
    font-size: 1.3rem;
}

.sns-share__wrap {
    display: flex;
    justify-content: center;
}

.news__sns-icon-img {
    margin-left: 25px;
}

.co__facebook {
    color: #2A569C;
}

.co__twitter {
    color: #000;
}

.co__line {
    color: #00B900;
}

.news__img {
    width: 100%;
    margin-bottom: 40px;
}
.news__youtube {
    width: 100%;
    position: relative;
    padding-top: 56.25%;
}
.news__youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}


.news-related__list {
    list-style-type: none;
}
.news-related__list li {
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    width: 100%;
}
.news-related__list span {
    width: 75px;
    font-size: 1.3rem;
}
.news-related__list label {
    width: 110px;
    font-size: 1.2rem;
    border: 1px solid #ccc;
    text-align: center;
    margin-left: -10px;
    padding: 2px 0;
    text-indent: 0.1rem;
}
.news-related__list p {
    width: calc(100% - 200px);
    line-height: 2rem;
}

.news-related__list a {
    font-size: 1.5rem;
    color: #152445;
    padding-left: 1.5rem;
    text-indent: 0;
}






/*==========================
patronage
===================================================*/

/*
.concerts-info__items p {
    margin-top: 10px;
}
*/

.patro__box {
    width: 100%;
    background-color: #F4F4F4;
    padding: 40px 0;
    margin-top: 50px;
    margin-bottom: 80px;
    border-radius: 5px;
    text-align: center;
}

.patro__box h2 {
    margin-top: 0px;
    margin-bottom: 20px;
}

.patro__box p {
    text-align: center;
}

.patro-btn__wrap {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-around;
    padding: 40px 30px;
}
.patro-btn__wrap a:hover {
    opacity: 1;
}


.patro__box a {
    color: #15213B;
    display: inline-block;
    background-image: url(../images/arrow_next.svg);
    background-position: right;
    background-repeat: no-repeat;
    background-size: auto;
    padding-right: 15px;
}

.patro__tel {
    font-size: 1.8rem;
}

.patro__box02 {
    width: 100%;
    background-color: #F4F4F4;
    padding: 40px;
    margin-top: 60px;
    margin-bottom: 50px;
    border-radius: 5px;
}
.patro_wh-box {
    width: 100%;
    background-color: #fff;
    font-size: 1.5rem;
    color: #15213B;
    padding: 20px;
}

.patro-corpo__box {
    width: 100%;
    display: flex;
    justify-content: space-between;
}
.patro-corpo__item {
    width: 30%;
}
.patro-corpo__item a {
    text-decoration: none;
    color: #15213B;
}

.patro_plus-box img {
    width: 100%;
    max-width: 15px;
}

.benefit__ttl {
    display: flex;
    align-items: center;
    margin: 60px 0 40px;
}
.benefit__ttl h3 {
    font-size: 2rem;
    line-height: 1.5;
    margin: 0;
    padding: 0;
    position: relative;
}
.benefit__ttl h3::before, .benefit__ttl h3::after {
    display: none;
}

.benefit__ttl span {
    background-color: #1BC429;
    padding: 10px 20px;
    margin-right: 20px;
    font-size: 1.8rem;
    font-weight: 600;
    color: #fff;
}


.txt-and-youtube__box {
    width: 100%;
    display: flex;
    justify-content: space-between;
}
.benefit-youtube__item {
    width: 48%;
    text-align: justify;
    display: flex;
    align-items: center;
}
.benefit-youtube__inner {
    width: 100%;
    position: relative;
    padding-top: 56.25%;
}
.benefit-youtube__item iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}

.txt__red {
    color: #A3122F;
}


.table-in-list {
    list-style-type: none;
}
.table-in-list li {
    text-indent: -1.5rem;
    padding-left: 1.5rem;
}



.patro-img-wrap__grid {
    width: 100%;
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, 1fr);
}
.patro-img-wrap__grid a {
    text-decoration: none;
}

.patro-img-wrap__grid-item {
    margin-bottom: 40px;
    display: flex;
    flex-direction: column;
}

.patro-grid__txt {
    display: flex;
    margin-top: auto;
}


.patro-img-wrap__grid-item img {
    width: 100%;
    height: auto;
}

.patro-img-wrap__grid-item span {
    font-size: 1.2rem;
    color: #15213B;
}



.corporate-list__wrap {
    width: 100%;
    display: grid;
    gap: 2px;
    grid-template-columns: repeat(5, 1fr);
}
.corporate-list__wrap a {
    text-decoration: none;
}

.corporate-list__btn {
    color: #152445;
    font-size: 1.5rem;
    font-weight: 600;
    border-top: 3px solid #152445;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
}


.vending-flow__wrap {
    width: 100%;
    display: flex;
    justify-content: center;
}
.vending-flow__item {
    margin-right: 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 0 10px ;
}
.vending-flow__item p {
    margin-top: 10px;
}

.vending-flow__item img {
    width: 130px;
    height: 124px;
    margin: 0 auto;
}


.bequest-flow__wrap {
    width: 100%;
    display: flex;
    margin-bottom: 30px;
    padding-left: 15px;
    flex-wrap: wrap;
}
.bequest-flow__num {
    width: 100%;
    display: flex;
    /*max-width: 160px;*/
    align-items: center;
}
.bequest-flow__num span {
    font-size: 1.5rem;
    background-color: #F4F4F4;
    padding: 10px 20px;
    display: inline-block;
    margin-right: 20px;
}
.bequest-flow__desc {
    width: 100%;
    padding-left: 68px;
}
.bequest-flow__ttl p {
    font-weight: 600;
    padding: 10px 0;
    line-height: 1;
}
.bequest-flow__txt {
    margin-top: 10px;
}


.corpo-list__box {
    display: flex;
    justify-content: space-between;
}

.corpo-logo__list {
    width: 90%;
    display: flex;
    flex-wrap: wrap;
    list-style-type: none;
    align-items: center;
}
.corpo-logo__items {
    margin-right: 40px;
    margin-bottom: 30px;
}

.corpo-logo__items a {
    display: block;
}
.corpo-logo__items img {
    max-width: 100%;
    max-height: 26px;
    /*background-color: #ccc;*/
}

.member-ship_table > .h4-typeB {
    margin-bottom: 10px;
}

.anc-01 {
    display: block;
    height: 1px;
    padding-top: 200px;
    margin-top: -200px;
}



/*==========================
ticket
===================================================*/

.members-card__box {
    background-color: #F4F4F4;
    padding: 60px;
    margin: 80px 0;
    width: 100%;
}
.members-card__ttl {
    font-size: 2.5rem!important;
    font-weight: 600;
    line-height: 1;
    color: #15213B;
    margin-bottom: 60px;
}
.card__img {
    width: 176px;
    margin-top: 20px;
}
.card__img02 {
    width: 380px;
    margin-top: 20px;
}

.gray-tel__box {
    width: 100%;
    background-color: #F4F4F4;
    padding: 40px 0;
    text-align: center;
}

.ticket-link__wrap {
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin-top: 40px;
}
.ticket-link__wrap a {
    text-decoration: none;
    display: block;
    width: 32%;
}
.ticket-link__box {
    width: 100%;
    border: 1px solid #BFBFBF;
    color: #BFBFBF;
    font-size: 1.6rem;
    display: flex;
    align-items: center;
    padding: 25px 15px;
    margin-bottom: 10px;
    position: relative;
}
.ticket-link__box::after {
    content: '';
    width: 7px;
    height: 7px;
    border-top: 2px solid #014EF9;
    border-right: 2px solid #014EF9;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 47%;
    right: 12px;
}
.ticket-link__box:hover {
    color: #014EF9;
    border-color: #014EF9;
    opacity: 1!important;
}
.ticket-link__box img {
    width: 24%;
    max-width: 80px;
    padding-right: 12px;
}

.ticket-link__wrap a:hover {
    opacity: 1;
}


.e-ticket-point__wrap {
    width: 100%;
    display: flex;
    justify-content: space-between;
}
.e-ticket-point__box {
    width: 24%;
    display: flex;
    /*justify-content: center;*/
    flex-direction: column;
    background: url(../images/ticket/point_bg.svg) no-repeat top center;
    background-size: contain;
    align-items: center;
    padding: 50px 25px;
}
.e-ticket-point__num-wrap {
    display: flex;
    justify-content: center;
}
.e-ticket-point__num {
    margin: 0;
    font-size: 3rem;
    font-weight: 600;
}
.e-ticket-point__num.b-left {
    -webkit-transform: skewX(-150deg);
    -moz-transform: skewX(-150deg);
    transform: skewX(-150deg);
    border-left: 1px dotted #15213B;
}
.e-ticket-point__num.b-right {
    -webkit-transform: skewX(150deg);
    -moz-transform: skewX(150deg);
    transform: skewX(150deg);
    border-right: 1px dotted #15213B;
}
.e-ticket-point__num.b-left span {
    display: block;
    transform: skewX(150deg);
    padding:0 0 0 12px;
}
.e-ticket-point__num.b-right span {
    display: block;
    transform: skewX(-150deg);
    padding:0 12px 0 0;
}

.e-ticket-point__box h5 {
    font-size: 1.8rem;
    margin-bottom: 40px;
    text-align: center;
}



.e-ticket-flow__box {
    width: 100%;
    display: flex;
}
.e-ticket-flow__img {
    margin-right: 40px;
}
.e-ticket-flow__img img {
    width: 100%;
    height: auto;
}



/*==========================
privacy
===================================================*/

.txt-right {
    text-align: right;
}

.margin-25 {
    margin: 25px 0;
}

.margin-60 {
    margin: 60px 0;
}


.contact-form {
    max-width: 800px;
    margin: 0 auto;
  }

  .form-item {
    padding-top: 24px;
    padding-bottom: 24px;
    width: 100%;
    display: flex;
    align-items: center;
  }

  .form-item-label {
    width: 145px;
    font-size: 1.8rem;
    font-weight: 600;
  }

  .form-item-label.isMsg {
    margin-top: 8px;
    margin-bottom: auto;
  }

  .form-item-label-required {
    display: inline-block;
    text-align: center;
    color: #A3122F;
    font-size: 1.3rem;
    border: 1px solid #A3122F;
  }

  .form-item-input {
    border: 1px solid #B7B7B7;
    border-radius: 5px;
    margin-left: 40px;
    padding: 15px;
    width: 100%;
    max-width: 410px;
    background: #F4F4F4;
    font-size: 1.6rem;
  }

  .form-item-textarea {
    border: 1px solid #ddd;
    border-radius: 6px;
    margin-left: 40px;
    padding-left: 1em;
    padding-right: 1em;
    height: 216px;
    flex: 1;
    width: 100%;
    max-width: 410px;
    background: #eaedf2;
    font-size: 18px;
  }

  .form-btn {
    border-radius: 6px;
    margin-top: 32px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 20px;
    padding-bottom: 20px;
    width: 280px;
    display: block;
    letter-spacing: 0.05em;
    background: #545454;
    color: #fff;
    font-weight: bold;
    font-size: 20px;
  }


/*==========================
404 page
===================================================*/

.not404-ttl__wrap {
    width: 52%;
    max-width: 490px;
    margin: 0 auto;
    text-align: center;
    margin-top: 90px;
}

.not404__ttl {
    font-size: 3rem;
    line-height: 4.5rem;
}

.not404__desc {
    font-size: 2rem;
    line-height: 2.7rem;
    margin: 15px 0 90px;
}

.not404-ttl__wrap p {
    text-align: justify;
    margin-bottom: 40px;
}

.search-404__box {
    background-color: #F4F4F4;
    border: 1px solid #B7B7B7;
    height: 50px;
    position: relative;
    padding: 16px;
    font-size: 1.6rem;
}




.search_container{
    box-sizing: border-box;
    position: relative;
    background-color: #F4F4F4;
    border: 1px solid #B7B7B7;
    display: block;
    /*padding: 3px 10px;*/
    height: 50px;
    width: 255px;
    overflow: hidden;
    margin: 0 auto;
  }
  .search_container input[type="text"]{
    border: none;
    height: 50px;
    width: 205px;
    font-size: 1.6rem;
    margin-right: 40px;
    padding: 0 0 0 16px;
  }
  .search_container input[type="text"]:focus {
    outline: 0;
  }
  .search_container input[type="submit"]{
    cursor: pointer;
    font-size: 1.3em;
    border: none;
    background: none;
    color: #3879D9;
    position: absolute;
    width: 50px;
    height: 50px;
    right: 0;
    top: 0;
    outline : none;
  }
  

.search_container::after {
    content: '';
    display: inline-block;
    background-image: url(../images/top/search_icon.svg);
    background-size: contain;
    background-repeat: no-repeat;
    width: 14px;
    height: 14px;
    position: absolute;
    right: 13px;
    top: 18px;
}



/*==========================
footer
===================================================*/

.footer-all__wrap {
    width: 100%;
    /*max-width: 1400px;*/
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    padding: 100px 40px 70px 80px;
    background-image: url(../images/top/footer_bg.svg);
    background-color: rgba(119, 119, 119, 0.06);
    background-size: cover;
}

.footer-top__wrap {
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    margin-bottom: 50px;
}

.footer-logo__wrap {
    width: 25%;
    display: flex;
    flex-direction: column;
}

.footer-logo {
    width: 100%;
    margin-bottom: 50px;
    max-width: 210px;
}

.footer-sns-logo {
    width: 100%;
    max-width: 200px;
    height: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.footer-nav__wrap {
    width: 75%;
    max-width: 1150px!important;
    display: flex;
    justify-content: space-between;
}

.footer-nav__list {
    width: 25%;
    border-left: 1px solid #BFBFBF;
    padding-left: 20px;
    padding-right: 11px;
}

.footer-nav__wrap ul {
    list-style-type: none;
    font-size: 1.4rem;
    
}

.footer-nav__wrap li {
    line-height: 2.6rem;
}


.footer-nav__ttl {
    font-weight: 600;
    margin-bottom: 30px;
    border-left: none;
    
}

.footer-nav__inner {
    font-size: 1.4rem;
    font-weight: normal;
    margin-top: 30px;
}

.footer-nav__inner li {
    line-height: 2.8rem;
}


.footer-bottom__wrap {
    width: 100%;
    display: flex;
    justify-content: flex-end;
}

.footer-bottom__wrap ul {
    width: 75%;
    max-width: 1150px;
    display: flex;
    font-size: 1.4rem;
    list-style-type: none;
}

.footer-bottom__wrap li {
    margin-right: 35px;
    margin-left: 0px;
}
.footer-bottom__wrap li:last-child {
    margin-right: 0px;
    margin-left: 20px;
}

.blank-icon{
    position: relative;
}

.blank-icon::after {
    content: url(../images/top/blank_icon.png);
    height: 12px;
    position: absolute;
    top: 1px;
    right: -18px;
}


.footer-copy__wrap {
    width: 100%;
    /*max-width: 1400px;*/
    display: flex;
    justify-content: space-between;
    padding: 30px 80px;
    margin: 0 auto;
    color: #152445;
}

.footer-other__list {
    font-size: 1.2rem;
    display: flex;
    list-style-type: none;
}

.footer-other__list li {
    margin-right: 20px;
}

.copy__txt {
    font-size: 1rem;
}


/*==========================
Twitter
===================================================*/


.twitter__wrap {
    /*border: 1px solid #e8e8e8;*/
    border-radius: 5px;
}

.top-magazine__img {
    height: 250px;
    overflow: hidden;
}
.top-magazine__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/*　チケットガイド　下部のローカルナビ的パーツ　*/
.b-nav-3 {
    width: 100%;
    display: flex;
    justify-content: space-between;
}
.b-nav-3 a {
    width: 32%;
}

.box-news li {
    text-indent: 0!important; 
    padding-left: 0!important;
}


.member-nav__item .member-nav__desc p {
    height: 30px;
}

.article__page ol {
    padding-left: 2rem;
}

.article__page ol li {
    margin-bottom: 10px;
    text-indent: 0;
    padding-left: 0;
}

/*楽団員　ご挨拶*/
.about_greeting {
    color: #15213B;
    font-size: 1.35rem!important;
    line-height: 2;
    text-align: justify;
}

/* 上付き文字 */

h3 > .ver-top {
    font-size: 0.8em;
	vertical-align: top;
    padding: 0;
    background-color: transparent;
    color: #15213B;
    margin: 0;
    min-width: auto;
}

.ver-h3 {
    display: inline-block;
}

/*========= モーダル表示のためのCSS ===============*/

/*全て共通：hideエリアをはじめは非表示*/
.hide-area{
  display: none;
}
.modaal-content-container .page__list {
    margin: 0 0 15px;
}
.modaal-content-container .page__list li {
    margin-bottom: 5px;
}
.modaal-content-container .h4-typeB {
    margin: 0 0 30px;
}



/*全て共通：モーダルのボタンの色を変更したい場合*/
.modaal-close:after, 
.modaal-close:before{
  background:#152445 !important;
}

.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before{
  background:#666;
}

/*以下はコンテンツ内のレイアウト*/
.info-list dl,
.gallery-list{
  display: flex;
}

.info-list dt{
  margin:0 10px 0 0;
}

.gallery-list li{
  margin:0 10px 0 0;
}


/*==========================
Responsive
===================================================*/


@media screen and (min-width:1281px) {
    .head-menu-br {
        display: none;
    }
}

@media screen and (max-width:1288px) {
    .head-menu-br {
        display: inline-block;
    }
}

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

    .header-nav__list{
        width: 250px;
    }
   
    .header-nav__txt {
        font-size: 1.4rem;
    }
    
    .footer-bottom__wrap {
        justify-content: center;
    }

    .footer-bottom__wrap ul {
        display: flex;
        justify-content: center;
        width: 96%;
        text-align: center;
        margin: 0 auto;
        font-size: 1.3rem;
    }

    .footer-bottom__wrap li {
        display: inline-block;
        margin-right: 12px;
        margin-left: 12px;
    }

    .footer-bottom__wrap li:last-child {
        margin-left: 25px;
    }

    .down-menu__li {
        font-size: 1.2rem;
    }

    
}


@media screen and (max-width: 1150px) {
.new-concert__wrap {
    justify-content: center;
    gap: 1rem;
}
}


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

    .header-nav__list {
        width: 226px;
    }
   
    .header-nav__txt {
        font-size: 1.15rem;
    }

    .footer-nav__wrap ul {
        font-size: 1.4rem;
    }   
    .new-concert__ItemBox {
        min-width: 326px;
    }

}

@media screen and (max-width:1000px) {
    
.header-logo {
    padding: 5px 10px 10px 5px;
}

.header-icon__list {
    font-size: 1rem;
}

.header-nav__list {
    width: 190px;
}

.header-nav__txt {
    font-size: 1.1rem;
    margin-left: 10px;
    margin-right: 5px;
}

.header-nav__ImgBox {
    margin-left: 10px;
}

.down-menu__li {
    font-size: 1.2rem;
    margin-top: 12px;
}


}



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


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

    .pc-only-tab {
        display: none!important;
    }

    input, textarea {
        font-size: 16px!important;
    }

    .head-menu-br {
        display: none!important;
    }

    .container {
        width: 100%;
        padding: 0 15px;
    }
    .container.max {
        padding: 0;
    }


    /*スライダーが下に連なってしまう表示を抑制できるが、ドットがなくなる*/
    /*.main-slider__wrap > ul {
        max-height: 600px;
        overflow: hidden;
    }
    */
    

    .header-all__wrap {
        flex-direction: column;
    }

    .header-nav__list {
        display: block;
        width: 100%;
    }

    .header__left {
        width: 100%;
        height: 47px;
        justify-content: space-between;
        padding-right: 55px;
    }

    .header__right {
        width: 100%;
    }

    .header-logo {
        padding: 1px 5px;
        width: 100%;
    }

    .header-logo img {
        width: 100%;
        max-height: 47px;
    }


    .header-icon__wrap {
        display: none;
    }

    .header-tel__wrap {
        display: none;
    }

    .header-btn__wrap {
        width: 100%;
        justify-content: center;
        flex-direction: row;
    }

    .header-btn__wrap a {
        width: 100%;
        height: 100%;
    }


    .header__btn {
        width: 100%;
        height: 47px;
        font-size: 1.2rem;
        font-weight: 600;
        display: flex;
        align-items: center;
        justify-content: center;
    }


    .sp__header-search__area {
        display: block;
        margin: 20px auto;
    }

    .header-search__box {
        width: 85%;
        max-width: 450px;
    }

    .sp__header-tel__IconBox {
        display: inline;
        text-align: center;
        height: 50px;
        width: 30px;
        padding-top: 11px;
        position: relative;
    }

    .sp__header-tel__IconBox img {
        width: 100%;
        /*padding-top: 5px;
        padding-left: 6px;*/
        width: 15px;
        height: 15px;
    }

    .sp__tel-txt {
        font-size: 1rem;
        font-weight: 400;
        /*display: inline-block;*/
        /*width: 21px;*/
        line-height: 2;/*入れないと2.7が適用*/
        position: absolute;
        top: 26px;
        right: 0;
    }







    .sp__header-shop-contact__wrap {
        display: flex;
        justify-content: center;
        font-size: 1.3rem;
        font-weight: 600;
        padding: auto 40px;
    }

    .sp__header-shop__area,.sp__header-contact__area {
        display: inline-block;
        width: 50%;
        padding-top: 10px;
        padding-bottom: 10px;
        text-align: center;
    }

    .sp__shop-icon,.sp__contact-icon {
        position: relative;
    }


    .sp__shop-icon::before {
        content: url(../images/top/cart_icon.svg);
        width: 21px;
        height: auto;
        position: absolute;
        top: 50%;
        left: -26px;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
    }

    .sp__contact-icon::before {
        content: url(../images/top/contact_icon.svg);
        width: 21px;
        height: auto;
        position: absolute;
        top: 50%;
        left: -26px;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
    }

    .sp__header-contact__area {
        border-left: 1px solid #BFBFBF;
    }


    .top-sec-name {
        font-size: 2rem;
        display: inline-block;
        vertical-align: super;
    }

    .top-sec-icon {
        margin-right: 15px;
    }

    .top-sec__TtlBox a {
        font-size: 1.1rem;
        font-weight: 600;
        width: 30%;
    }

    .down-menu__box {
        width: 100%;
        height: auto;
        box-shadow: none;
        padding: 0;
        overflow-y: scroll;
    }

    .down-menu__img {
        display: none;
    }

    .slider-txt__inner {
        width: 100%;
        padding: 0 15px;
        display: flex;
        flex-wrap: wrap;
        align-content: space-between;
    }

    .slider-txt__item {
        width: 100%;
    }

    .slider-txt__ttl {
        font-size: 2rem;
        margin-bottom: 0;
    }

    .slider-txt__info {
        flex-direction: column;
        align-items: flex-start;
        margin: 10px 0;
    }

    .slider-txt__date {
        font-size: 1.8rem;
        margin-bottom: 8px;
    }

    .slider-txt__place {
        font-size: 1.2rem;
        margin-left: 20px;
    }

    .topics__wrap {
        flex-wrap: wrap;
        justify-content: center;
        margin: 20px 0 0;
    }

    .topics__item {
        width: 45%;
        margin: 0 5px 10px;
    }


    .calendar__wrap {
        flex-direction: column;
        justify-content: space-between;
        height: auto;
    }

    .calendar__box {
        width: 100%;
        height: 800px;
        padding: 20px 10px;
    }

    .calendar__box::after {
        display: none;
    }

    .calendar__table {
        border-right: none;
        padding-right: 0px;
    }

    .calender-mark__wrap {
        display: flex;
        flex-wrap: wrap;
        font-size: 1.3rem;
        width: 95%;
        margin: 0 auto;
        padding-bottom: 30px;
        border-bottom: 1px solid #BFBFBF;
    }

    .calender-mark__item {
        margin-right: 13px;
    }
    .c_regular, .c_chamber, .c_special, .c_others {
        line-height: 1.8;
    }
    .c_regular::before,.c_chamber::before,.c_special::before,.c_others::before {
        top: 4px;
    }

    .calendar__frame {
        width: 100%;
        height: 420px;
        padding-left: 0;
        padding-top: 0;
    }

    .day_regular::before {
        width: 48px;
        height: 48px;
    }
    .day_chamber::before {
        width: 48px;
        height: 48px;
    }
    .day_special::before {
        width: 48px;
        height: 48px;
    }
    .day_others::before {
        width: 48px;
        height: 48px;
    }





    .news__box {
        flex-direction: column;
        margin-top: 30px;
    }

    .news__ttl {
        margin: 0;
        padding: 20px 30px 0;
    }

    .news-txt {
        width: 100%;
        padding: 20px 30px;
        margin: 0;
        font-size: 1.3rem;
    }
    
    .new-concert__wrap::after {
        display: block;
        content: "";
        min-width: 326px;
        margin: 0 auto;
    }
    .new-concert__ItemBox {
        width: 95%;
        margin: 0 auto 30px;
    }
    .new-concert__ItemBox.blank {
        background-color: transparent;
    }

    /*
    @media screen and (max-width:712px) {
        .new-concert__wrap {
            justify-content: center;
        }
        
    }
    */


    /*
    .calender__page {
        height: auto;
    }
    */


    .top-main-sec {
        margin-top: 55px;
    }



    .top-news__wrap {
        flex-direction: column;
    }

    .top-news__list {
        width: 100%;
        max-width: 900px;
    }

    .top-news-link {
        font-size: 1.3rem;
    }


    .twitter__box {
        margin: 40px auto 0;
    }

    .top-magazine__wrap {
        flex-direction: column;
    }

    .top-magazine__box {
        width: 100%;
        max-width: 880px;
        margin: 0 auto 10px;
        display: flex;
        /*justify-content: space-between;*/
        justify-content: center;
        align-items: center;
        padding: 10px;
    }

    .top-magazine__img {
        width: 140px;
        height: 140px;
        object-fit: cover;
    }

    .top-magazine__desc {
        width: 65%;
        padding-left: 15px;
    }

    .top-magazine__date {
        display: block;
        width: 100%;
        font-size: 1.2rem;
        margin-bottom: 10px;
        margin-top: 0;
    }

    .top-magazine__tag {
        display: block;
        width: 100%;
        font-size: 1.2rem;
        margin-left: 0;
        margin-bottom: 15px;
    }

    .top-magazine__txt {
        text-align: left;
        font-size: 1.3rem;
        line-height: 1.5;
        font-family: "ヒラギノ角ゴシック";
    }



    .top-youtube__wrap {
        flex-wrap: wrap;
        margin-top: 80px;
    }

    .top-youtube__ttl {
        width: 100%;
    }

    .youtube-name {
        font-size: 1.3rem;
    }

    .top-youtube__ImgBox {
        width: 886px;
        height: 165px;
        margin: 40px auto 58px;
        overflow-x: scroll;
    }

    .top-youtube__thum {
        width: 70%;
        margin-right: 10px;
        flex-shrink: 0;
    }




    .about-and-support__wrap {
        flex-direction: column;
        margin: 1px 0 80px;
    }

    .about-and-support__wrap .link__box {
        width: 100%;
        height: 30vh;
        min-height: 214px;
        max-height: 300px;
    }

    .link__box .about-and-support__TextBox {
        width: 100%;
        text-align: center;
    }

    .about-and-support__ttl {
        font-size: 2.4rem;
        font-weight: 600;
        margin-bottom: 15px;
    }
    
    .about-and-support__desc {
        font-size: 1.3rem;
    }



    .top-sec__TtlBox.company {
        margin-top: 80px;
    }

    .company-logo__box, .company-logo__box-2 {
        margin: 0 auto;
        flex-direction: column;
    }

    .company-logo__box img {
        max-height: 16px;
        margin-right: 5px;
        margin-left: 5px;
    }
    .company-logo__box-2 img {
        max-height: 20px;
        padding-right: 15px!important;
        padding-left: 15px;
        margin: 0 0 15px 0;
    }

    .company__items {
        padding: 10px;
        margin: 0 auto;
        display: flex;
        justify-content: center;
        width: 100%;
        max-width: 350px;
    }

    .company__items-inner {
        width: 50%;
        text-align: center;
    }



    .concerts-keyword__wrap, .concerts-genre__wrap {
        flex-direction: column;
        padding: 25px 20px;
    }
    .concerts-top__ttl {
        width: 100%;
        margin-bottom: 20px;
    }
    .concerts-top__items {
        width: 100%;
    }
    .concerts-top__items span {
        font-size: 1.3rem;
        padding: 7px 12px;
        margin: 0 8px 10px 0;
    }
    .concerts-genre__item {
        font-size: 1.4rem;
        min-width: 180px;
        width: 100%;
    }

    .concerts-info__items span {
        margin-top: 3px;
        margin-bottom: 20px;
        font-size: 1.33rem;
    }

    .con__top-info-wrap {
        display: flex;
        justify-content: flex-start;
        flex-direction: column;
        margin-bottom: 30px;
    }

    .con__label-sns__wrap{
        margin: 15px 0 10px;
    }

    .con-txt__date {
        font-size: 1.6rem;
    }

    .con__btn-wrap {
        width: 100%;
        text-align: center;
        margin-top: 20px;
    }

    .concerts-info-box {
        flex-direction: column;
        padding: 30px 20px;
    }
    .concerts-info__ttl {
        width: 100%;
        font-size: 2.2rem;
        padding-bottom: 15px;
    }
    .concerts-info__ttl::after {
        width: 100%;
        height: 1%;
        left: 0;
        bottom: 0;
        top: auto;
    }
    .concerts-info__txt {
        font-size: 1.6rem;
        margin-bottom: 10px;
    }
    .concerts-info__desc {
        width: 100%;
        padding: 10px 0 0 0 ;
    }
    .con-txt__info {
        flex-direction: column;
        align-items: start;
        margin-bottom: 15px;
    }
    .con-txt__place {
        margin-left: 0;
    }
    .con__info-label {
        display: flex;
        flex-wrap: wrap;
    }
    .con__info-label span {
        margin-bottom: 5px;
    }
    .performer__wrap {
        justify-content: center;
        flex-direction: column;
    }
    .performer__item {
        width: 100%;
        align-items: center;
        justify-content: center;
        margin-bottom: 10px;
    }
    .performer__img {
        width: 49%;
        max-width: 200px;
        margin-bottom: 10px;
    }
    .performer__img img {
        margin-bottom: 0;
    }
    .performer__img span {
        font-size: 1rem;
        text-align: right;
        max-width: 190px;
    }
    .performer__desc {
        width: 49%;
        max-width: 255px;
        align-items: center;
        margin-left: 10px;
        padding-bottom: 20px;
    }
    .performer__desc.type-all label {
        font-size: 1.4rem;
        padding: 3px 7px;
    }
    .performer__desc label {
        font-size: 1.2rem;
    }
    .performer__desc h5 {
        margin-bottom: 0;
        font-size: 1.5rem;
    }
    .performer__desc span {
        margin-bottom: 15px;
        font-size: 1.2rem;
    }

    .program-img__wrap {
        flex-direction: column;
        align-items: center;
        margin: 20px 0 0 0;
    }
    .program-img__item {
        margin: 0 0 10px 0;
        width: 90%;
    }

    .con__detail h2 {
        margin-top: 50px;
    }
    .con__detail h6 {
        margin-bottom: 20px;
        font-size: 1.1rem;
    }


    .con__ticket-btn-wrap {
        flex-direction: column;
    }
    .con__ticket-btn-item {
        margin: 0 auto;
        text-align: center;
    }
    .wh-tel__box {
        width: 100%;
        padding: 15px;
    }

    .plan-box {
        flex-direction: column;
       text-align: center; 
    }
    .plan-box__img {
        width: 100%;
        margin-right: 0;
    }
    .plan-box__img img {
        min-width: 150px;
    }
    .plan-box__txt h2 {
        text-align: center;
        font-size: 2rem;
        margin-top: 10px;
    }
    .new-concert__wrap-2.con-reco {
        flex-direction: column;
    }




    .last-sec {
        margin-bottom: 50px;
    }




    .not404-ttl__wrap {
        width: 100%;
    }



    .footer-all__wrap {
        padding: 0;
        background-size: contain;
    }

    .footer-top__wrap {
        flex-direction: column;
        margin-bottom: 0;
    }

    .footer-logo__wrap {
        width: 100%;
    }

    .footer-logo {
        margin: 63px auto 0;
    }

    .footer-sns-logo {
        margin: 40px auto;
    }

    .footer-bottom__wrap ul {
        width: 100%;
        flex-direction: column;
        text-align: left;
        background-color: #F4F4F4;
    }

    .footer-bottom__wrap li {
        margin: 0;
        padding: 20px 30px;
        border-top: 1px solid #BFBFBF;
    }

    .footer-bottom__wrap li:first-child {
        border-top: 0;
    }

    .footer-bottom__wrap li:last-child {
        margin-left: 0;
        border-bottom: 1px solid #BFBFBF;
    }

    .footer-nav__wrap {
        display: block;
        width: 100%;
        background-color: #F4F4F4;
    }

    .footer-nav__ttl {
        position: relative;
        margin-bottom: 0;
        border-top: 1px solid #BFBFBF;
    }

    .footer-nav__ttl a {
        display: block;
        width: 100%;
        height: 100%;
    }

    .footer-nav__inner {
        margin-top: 0;
    }

    .footer-nav__inner li {
        background-color: #fff;
        padding: 10px 30px;
    }

    .footer-nav__inner li:nth-child(1) {
        padding-top: 25px;
        border-top: 1px solid #BFBFBF;
    }

    .footer-nav__inner li:last-child {
        padding-bottom: 25px;
    }



    .footer-nav__top {
        padding: 20px 30px;
    }

    .has-child::after{
        content:'';
        position: absolute;
        right:15px;
        top:25px;
        width:10px;
        height:10px;
        border-top: 3px solid #152445;
        border-right:3px solid #152445;
        transform: rotate(135deg);
    }

    .has-child ul{
        /*絶対配置で位置を指定*/
        position: absolute;
        left:0;
        top:62px;
        z-index: 4;
        /*形状を指定*/
        width:180px;
        /*はじめは非表示*/
        visibility: hidden;
        opacity: 0;
        /*アニメーション設定*/
        transition: all .3s;
    }

    .has-child:active > ul,
    .has-child ul li:active > ul{
        visibility: visible;
        opacity: 1;
    }

    .has-child ul li a:active{
        background:#fff;
    }

	.has-child ul {
        position: relative;
        left:0;
        top:0;
        width:100%;
        visibility:visible;/*JSで制御するため一旦表示*/
        opacity:1;/*JSで制御するため一旦表示*/
        display: none;/*JSのslidetoggleで表示させるため非表示に*/
        transition:none;/*JSで制御するためCSSのアニメーションを切る*/
    }

    .has-child a {
        display: block;
        width: 100%;
        height: 100%;
    }

.has-child::after{
    transform: rotate(135deg);
	right:20px;
}
.has-child.a:after {
    transform: rotate(-45deg);
}
    
.has-child.active::after{
    transform: rotate(-45deg);
}




    .footer-nav__list {
        width: 100%;
        border-left: none;
        padding-left: 0;
        padding-right: 0;
    }

    .footer-copy__wrap {
        flex-direction: column;
        padding: 40px 30px;
    }

    .footer-other__list {
        flex-wrap: wrap;
    }

    .footer-other__list li {
        margin-top: 20px;
    }

    .copy__txt {
        margin-top: 40px;
    }


    .contact__link-box {
        width: 100%;
        font-size: 1.3rem;
    }

    .contact__ttl-2 {
        font-size: 2rem;
        margin: 80px 0 10px;
    }


    .online__wrap {
        flex-direction: column;
    }
    .online__img-wrap {
        width: 100%;
        max-width: 400px;
        margin: 0 auto 20px;
    }
    .online__info-wrap {
        width: 100%;
    }

    .item-center-sp {
        text-align: center;
    }
    /*
    .concerts-info__wrap {
        flex-direction: column;
    }
    .concerts-info__items {
        width: 100%;
    }
    */

    .concerts-info__items span, .concerts-info__items.not-arrow span {
        font-size: 1.35rem!important;
        margin-top: 5px;
        width: 100%;
        letter-spacing: -0.08rem;
    }


    .con-series__wrap {
        width: 100%;
        display: flex;
        flex-direction: column;
    }
    .con-series__img {
        width: 100%;
        text-align: center;
    }
    .con-series__img img {
        max-width: 150px;
    }
    .con-series__txt {
        width: 100%;
        max-width: 820px;
        margin-top: 20px;
    }

    .form-content__inner {
        padding: 20px 10px;
    }

    .c-form__row__label.con-period {
        width: 100%;
    }


    .about-img-wrap__double-2 {
        margin-bottom: 0;
    }

    .about-img-wrap__double-item-2 {
        width: 48.2%;
        margin: 0 0 50px 0;
    }
    .about-img-wrap__double-item-2 span {
        display: block;
        margin-top: 7px;
        font-size: 1.2rem;
    }
    .about-img-wrap__double-item-2 h4 {
        margin-top: 10px;
        margin-bottom: 0px;
        font-size: 1.8rem;
    }
    .about-img-wrap__double-item-2 h6 {
        font-size: 1.35rem;
    }

    .about-menber-select__wrap {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 20px;
    }
    .about-member-type {
        margin-top: 10px;
    }
  

    .member-in-item__img {
        width: 50%;
        max-width: 200px;
        margin: 0 auto;
    }
    .member-in-item__desc {
        width: 100%;
    }

    .member-in-item__desc label {
        font-size: 1.3rem;
        margin-bottom: 10px;
    }
    .member-in-item__desc span {
        display: block;
        font-size: 1.2rem;
    }
    .member-in-item__desc h4 {
        font-size: 2.5rem;
        margin-bottom: 2px;
    }
    .member-in__desc h5 {
        font-size: 1.8rem;
        margin-top: 30px;
    }
    .member-schedule__label p {
        font-size: 1.2rem;
    }
    .member-schedule__txt h6 {
        font-size: 1.3rem;
    }
    .member-schedule__txt p {
        margin-top: 5px;
    }
    .member-schedule__wrap {
        margin-top: 10px;
    }
    .member-schedule__items {
        flex-direction: column;
    }
    .member-schedule__label p {
        margin-bottom: 10px;
    }

    .member-in__desc a {
        font-size: 1.3rem;
    }
  


    .news-page__item {
        padding: 20px 5px;
    }
    .news-topics::after {
        font-size: 1.2rem;
    }
    .news-important::after {
        font-size: 1.2rem;
    }
    .news-media::after {
        font-size: 1.2rem;
    }


    .about-img-wrap__grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .about-img-wrap__grid-item {
        margin-bottom: 10px;
        /*display: flex;*/
        justify-content: space-between;
    }
    .about-img-wrap__grid-item img {
        width: 100%;
    }
    .about-img-wrap__grid-desc {
        width: 100%;
    }



    .concert_cate {
        font-size: 1.4rem;
    }
    .concert__date {
        font-size: 1.4rem;
        line-height: 1.5;
    }
    .concert__title {
        font-size: 1.4rem;
        line-height: 1.8;
    }
    .concert__excerpt {
        font-size: 1.3rem;
        line-height: 1.5;
        margin: 15px 0;
    }


    .con-detail-logo__img {
        margin-bottom: 20px;
        max-width: 105px;
    }
    .commu__item-wrap > .concerts-info__items h5 {
        font-size: 1.6rem;
    }
    .commu__item-txt {
        margin-bottom: 20px;
    }


    .about-img-wrap__double-item-2 label {
        font-size: 1.15rem;
        padding: 3px 2px;
        margin: 0;
    }

    .about-img-wrap__double-item img,.about-img-wrap__double-item-2 img {
        width: 98%;
        height: auto;
    }


    .job-position__box {
        padding: 15px;
        font-size: 1.3rem;
        /*color: #15213B;*/
    }
    .job-position__box img {
        width: 20%;
        margin-right: 15px;
    }
    .job-position__box::after {
        right: 15px;
    }
    .u-recruit {
        color: #15213B;
        border-color: #15213B;
    }


    .patro-btn__wrap  {
        flex-direction: column;
        justify-content: center;
        padding: 20px 0;
    }

    .concerts-info__items p {
        margin-bottom: 30px;
        margin-top: -10px;
    }



    .patro__box02 {
        padding: 20px;
        margin-top: 30px;
        margin-bottom: 10px;
    }

    .patro_wh-box {
        font-size: 1.2rem!important;
        padding: 10px 8px;
        /*margin-top: 10px;*/
    }

    .patro-corpo__box {
        flex-wrap: wrap;
    }
    .patro-corpo__item {
        width: 100%;
        margin-bottom: 15px;
    }


    .txt-and-youtube__box {
        width: 100%;
        flex-direction: column;
    }

    .benefit-youtube__item {
        width: 100%;
        text-align: justify;
        margin-bottom: 15px;
    }


    .benefit__ttl {
        flex-wrap: wrap;
        margin-bottom: 20px;
    }
    .benefit__ttl span {
        font-size: 1.6rem;
        padding: 5px 20px;
    }
    .benefit__ttl h3 {
        width: 100%;
        margin-top: 10px;
        font-size: 1.8rem;
    }


    .pc-only-tab-head {
        display: none;
    }



    .patro-img-wrap__grid {
        grid-template-columns: repeat(1, 1fr);
    }



    .top-sec__TtlBox h2 {
        width: 100%;
    }



    .corporate-list__wrap {
        grid-template-columns: repeat(2, 1fr);
    }
    .corporate-list__btn {
        font-size: 1.3rem;
        height: 50px;
        border-top: 2px solid #152445;
    }


    .bequest-flow__wrap {
        flex-wrap: wrap;
        padding-left: 0;
    }
    .bequest-flow__num {
        width: 100%;
        max-width: 100%;
        display: flex;
        align-items: center;
    }
    .bequest-flow__desc {
        width: 100%;
        padding: 5px 7px 0px 68px;
    }
    .bequest-flow__ttl p {
        margin-top: 10px;
        line-height: 1.8;
    }
    .bequest-flow__txt {
        margin-top: 0;
    }

    .bequest-flow__txt p {
        line-height: 1.5;
    }

    .vending-flow__wrap {
        flex-direction: column;
        width: 80%;
        margin: 0 auto;
    }
    .vending-flow__item {
        margin-bottom: 20px;
    }


    .members-card__box {
        padding: 30px;
        margin: 60px 0 40px;
    }
    .members-card__ttl {
        font-size: 2rem!important;
        line-height: 1.5;
        margin-bottom: 30px;
    }


    .tab-group{
        display: flex;
        flex-wrap: wrap;
      }
    .tab {
        font-size: 1.4rem;
        width: 49%;
        padding: 15px 0;
    }


    .card__img02 {
        width: 90%;
        max-width: 370px;
        margin-top: 20px;
    }


    .wh-tel__inner > .phone-num {
        font-size: 3rem;
    }
    .wh-tel__inner span {
        margin-right: 5px;
    }
    .wh-tel__box h5, .gray-tel__box h5 {
        font-size: 1.6rem;
        margin-bottom: 20px;
    }
    .gray-tel__box {
        padding: 30px 0;
    }


    .news-page__date-sns__wrap {
        padding: 20px 5px;
        margin-top: 15px;
    }
    .news-related__list li{
        align-items: flex-start;
        flex-wrap: wrap;
        margin-bottom: 25px;
    }
    .news-related__list p {
        width: 100%;
        margin-top: 10px;
        line-height: 1.8;
    }
    .news-related__list span {
        line-height: 2.3rem;
    }

    .news-cate__ttl {
        font-size: 1.6rem;
        margin: 0 0 25px 0;
        padding-bottom: 15px;
    }
    .news-cate__list li {
        font-size: 1.3rem;
        margin-bottom: 15px;
    }


    .corpo-list__box {
        flex-direction: column;
    }

    .patro-img-wrap__grid-item span {
        font-size: 1rem;
    }



    .con__info-txt-link {
        margin-left: 0;
        font-size: 1.3rem;
        line-height: 2;
        width: 100%;
    }



    .corpo-logo__items {
        margin-right: 31px;
        margin-bottom: 20px;
        display: inline;
    }
    .corpo-logo__items img {
        max-height: auto;
        object-fit: contain;
        max-width: 90%;
        vertical-align: middle;
    }
    .corpo__list-sp {
        margin: 0!important;
    }


    .anc-01 {
        display: block;
        height: 1px;
        padding-top: 100px;
        margin-top: -100px;
    }



    .e-ticket-point__wrap {
        width: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    .e-ticket-point__box {
        width: 100%;
        max-width: 250px;
        margin:0 auto 20px;
        padding:30px 25px 10px;
    }
    .e-ticket-point__box h5 {
        margin-bottom: 20px;
    }

    .ticket-link__wrap {
        display: inline-block;
    }
    .ticket-link__box {
        font-size: 1.5rem;
        padding: 15px 20px;
    }
    .e-ticket-point__box p {
        line-height: 1.6;
    }
    .ticket-link__wrap a {
        width: 100%;
    }

    .e-ticket-flow__box {
        flex-direction: column-reverse;
    }
    .e-ticket-flow__img {
        margin-right: 0;
        text-align: center;
    }
    .e-ticket-flow__img img {
        width: 85%;
        max-width: 220px;
    }
    .e-ticket-flow__desc {
        margin-bottom: 10px;
    }



    .ticket-info-fix {
        padding: 20px 0;
    }

    .btn-ticket-fix {
        margin-right: 0;
    }


    .corpo-logo__list {
        width: 100%;
        align-items: flex-start;
    }



    .member-back__btn, .member-next__btn {
        width: 25px;
    }
    .member-nav__box {
        margin-left: 12px;
    }
    .member-nav__box h6 {
        font-size: 1.2rem;
        margin-bottom: 1rem;
    }
    .member-nav__desc p {
        font-size: 1.2rem;
        line-height: 1.8;
    }
    .member-nav__item .member-nav__desc p {
        line-height: 1.5;
        margin-bottom: 6px;
        margin-bottom: 6px;
        height: 36px;
    }

    .member-nav__desc h5 {
        font-size: 1.4rem;
        line-height: 1.6;
        margin: 0 0 5px 0;
    }
    .member-nav__desc span {
        font-size: 1.2rem;
    }


    .member-nav__item {
        flex-direction: column;
    }
    .member-nav__desc {
        margin-left: 0;
    }

    .about-img-wrap__member-in, .about-img-wrap__conductor-in {
        flex-direction: column;
    }

    .about-photo-cap {
        margin-top: -1px;
        margin-bottom: 6px;
        font-size: 0.8rem!important;
        line-height: 1;
    }


    .news-cate__wrap {
        width: 100%;
        max-width: 900px;
        margin-top: 60px;
    }



    /*　チケットガイド　下部のローカルナビ的パーツ　*/
    .b-nav-3 {
        flex-wrap: wrap;
    }
    .b-nav-3 a {
        display: block;
        width: 48%;
        margin-bottom: 15px;
    }
    .b-nav-3 span {
        font-size: 1.35rem;
    }


    .news-related__list a {
        padding-left: 0;
        margin-left: -1.5rem;
        margin-top: 5px;
    }


    .gray-tel__box p {
        margin: 0;
    }


    .list-banner {
        justify-content: space-between!important;
    }

    .box-bottom_banner > .list-banner a {
        width: 48%;
    }


    .patro__box {
        margin-top: 30px;
        margin-bottom: 20px;
    }

    .wdo-p01 {
        text-align: center;
    }


    .concert__tab table th {
        padding: 20px 5px 20px 5px;
        width: 50%;
        min-width: 140px;
    }
    
    .concert__tab table td {
        padding: 20px 0px 20px 10px;
    }

    .performer__desc.type-all div {
        word-break: normal;
    }

    .article__page ol {
        padding-left: 2rem;
    }

    .article__page ol li {
        font-size: 1.3rem;
        padding-left: 0;
    }

    /*楽団員　ご挨拶*/
    .about_greeting {
        font-size: 1.3rem!important;
        line-height: 2;
    }


    /* Planの背景　*/
    .bg-pattern {
        background: url(//www.njp.or.jp/wp-content/themes/njp22/assets/css/../images/top/footer_bg.svg) repeat;
        background-size: auto;
    }


}

@media screen and (max-width:768px) {
    .slider-btn__wrap {
        margin: auto;
    }
    .about-img-wrap__double-item-2 label {
        font-size: 1.14rem;
        padding: 3px 4px;
    }
    .about-img-wrap__double-item-2 {
        width: 49.2%;
    }

}

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

.performer__desc.type-all label {
    font-size: 1rem;
    font-weight: 600;
    padding: 3px 4px;
}

}
