@charset "utf-8";
/* ========================================================
	module.css => モジュール用CSS
======================================================== */
/*.topic_path 
---------------------------------------------------------------------------------------------------*/
.topic_path_w {
      width: 90%;
      margin: auto;
}
.topic_path li {
      display: inline-flex;
}
.topic_path li a {
      position: relative;
      display: flex;
}
.topic_path li a:after {
      content: "";
      background: url("../images/slide_arrow.svg") no-repeat;
      background-size: contain;
      aspect-ratio: 9 / 16;
      transform: rotate(180deg);
      margin-left: 1.5em;
      width: 0.5em;
      left: -0.5em;
      top: -0.3em;
      filter: invert(0%) sepia(7%) saturate(0%) hue-rotate(238deg) brightness(86%) contrast(99%);
      position: relative;
}
@media screen and (min-width: 961px), print {
      .topic_path {
            font-size: 1.4rem;
            background: var(--bg_gray_l2);
            padding: 7px 0;
            margin-bottom: 0px;
            position: relative;
            z-index: 1;
      }
}
/*topic_path sp */
@media screen and (max-width: 960px) {
      /*追従あり*/
      .topic_path {
            padding: 7px 15px;
            margin-top: 0em;
            margin-bottom: 0;
            position: relative;
            z-index: 1;
            white-space: nowrap;
            height: 20px;
            overflow: hidden;
            font-size: 1.2rem;
            -webkit-overflow-scrolling: touch;
      }
      .topic_path ul {
            white-space: nowrap;
            overflow-x: auto;
            overflow-y: hidden;
            height: 50px;
            transform: translateZ(0);
      }
      .topic_path ul li:last-child {
            margin-right: 20px;
      }
}
/*.page_title
---------------------------------------------------------------------------------------------------*/
.page_title_area {
      padding: 3em 0 4em 0;
      text-align: center;
}
@media screen and (max-width: 680px) {
      .page_title_area {
            padding: 3em 0;
      }
}
.page_title {
      position: relative;
      font-size: 3.8rem;
      /*      margin-bottom: 1em;*/
}
.page_title span {
      position: relative;
      font-family: var(--font_min);
      padding-bottom: 0.5em;
      display: block;
}
.page_title span:before {
      content: "";
      position: absolute;
      bottom: 0;
      left: 50%;
      transform: translate(-50%, -0%);
      background: url("../images/arran_01.svg") no-repeat;
      background-size: contain;
      width: 1.2em;
      aspect-ratio: 40/4;
}
@media screen and (max-width: 680px) {
      .page_title {
            font-size: 2.4rem;
      }
}
/*.perform_page_title_area
---------------------------------------------------------------------------------------------------*/
.perform_page_title_area {
      padding: 3em 0;
      width: 1200px;
      margin: auto;
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      flex-direction: row-reverse;
}
.perform_page_title {
      font-size: 3.2rem;
}
.perform_page_title_text_box {
      width: calc(100% - 10em);
      margin: auto auto auto 0;
}
.no_status {
      width: auto;
}
@media screen and (max-width: 1200px) {
      .perform_page_title_area {
            width: 90%;
      }
}
@media screen and (max-width: 680px) {
      .perform_page_title_area {
            display: block;
            padding: 2em 0 1em 0;
      }
      .perform_page_title_area .perform_inner_status {
            margin-bottom: 0.8em;
            display: block;
            text-align: center;
      }
      .perform_page_title {
            font-size: 2.2rem;
      }
      .perform_page_title_text_box {
            width: auto;
      }
}
/*info_area
-----------------------------------------------------------------------------------------------------------*/
.info_area {
      padding: 0 0 8em 0;
}
.info_area .date {
      margin-bottom: 0.5em;
}
.info_title {
      margin-bottom: 1.5em;
      font-family: var(--font_min);
      font-size: 2.8rem;
      padding-bottom: 0.5em;
      position: relative;
}
.info_title:before, .info_title:after {
      content: "";
      background: #a3a3a3;
      width: 100%;
      height: 1px;
      position: absolute;
      bottom: 0;
      left: 0;
}
.info_title:after {
      width: 50%;
      background: var(--col_main);
}
@media screen and (max-width: 680px) {
      .info_title {
            font-size: 2.0rem;
      }
}
/*archive_title*/
.archive_title {
      font-size: 1.8rem;
      font-weight: 700;
      padding-bottom: 1em;
}
/*h2*/
.info_cms_area h2 {
      margin-top: 2em;
      margin-bottom: 1em;
      font-size: 2.6rem;
      font-family: var(--font_min);
      padding: 0.5em 0.8em;
      border-top: 4px double #a3a3a3;
      border-bottom: 4px double #a3a3a3;
}
@media screen and (max-width: 680px) {
      .info_cms_area h2 {
            font-size: 1.9rem;
      }
}
/*h3*/
.info_cms_area h3 {
      margin-top: 2em;
      margin-bottom: 1em;
      background: var(--bg_blue_l);
      padding: 0.5em 0.8em;
      font-weight: bold;
      font-size: 2.2rem;
}
@media screen and (max-width: 680px) {
      .info_cms_area h3 {
            font-size: 1.8rem;
      }
}
/*h4*/
.info_cms_area h4 {
      margin-top: 2em;
      margin-bottom: 1em;
      padding-left: 1em;
      font-size: 2.0rem;
      position: relative;
}
.info_cms_area h4:before {
      content: "";
      width: 0.6em;
      height: 3px;
      background: var(--col_main);
      position: absolute;
      left: 0;
      top: 0.8em;
}
@media screen and (max-width: 680px) {
      .info_cms_area h4 {
            font-size: 1.7rem;
      }
}
/*p*/
.info_cms_area p + p {
      margin-top: 1em;
}
/*img*/
.info_cms_area img {
      max-width: 100%;
}
.info_cms_area .align-center {
      margin: auto;
      text-align: center;
}
.info_cms_area .align-left {
      margin: auto 0 auto auto;
      text-align: left;
}
/* pagination 　wp-pagenav ver
=============================== */
.pagination {
      margin: 5em 0 0 0;
}
.pagination .wp-pagenavi {
      display: flex;
      justify-content: center;
      font-family: "Spinnaker", sans-serif;
}
.pagination .wp-pagenavi span, .pagination .wp-pagenavi a {
      display: block;
      font-size: 1em;
      line-height: 1;
      text-align: center;
      text-decoration: none;
      padding: 12px 0;
      margin: 0 5px;
      aspect-ratio: 1/1;
      position: relative;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      /*   border-radius: 3rem;*/
      width: 40px;
      color: var(--col_main);
      /*background: var(--col_pnav);*/
}
/*extend*/

/*next prev*/
.pagination .wp-pagenavi a.next, .pagination .wp-pagenavi a.prev {
      position: relative;
      font-size: 0;
      background: none;
}
/*.pagination .wp-pagenavi a.next:before,.pagination .wp-pagenavi a.prev:before {
    content: "";
    position: absolute;
    background: url("../images/arrow_basic_green.svg") no-repeat;
    background-size: contain;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(90deg);
    width: 10px;
    aspect-ratio: 1/1.4;
}*/
.pagination .wp-pagenavi a.prev:before {
      transform: translate(-50%, -50%) rotate(-90deg);
}
/*current hover*/
.pagination .wp-pagenavi span.current, .pagination .wp-pagenavi a.current {
      display: block;
      color: #fff;
      background: var(--col_main);
}
.pagination .wp-pagenavi .previouspostslink, .pagination .wp-pagenavi .nextpostslink {
      background: none;
      color: var(--col_main);
}
@media screen and (min-width: 1025px), print {
      .pagination .wp-pagenavi a:hover {
            color: #fff;
            background: var(--col_main);
      }
      .pagination .wp-pagenavi a.next:hover:before, .pagination .wp-pagenavi a.prev:hover:before {
            filter: brightness(0) invert(1);
      }
}
@media screen and (max-width: 768px) {
      .pagination {
            margin: 10% 0 10%;
      }
}
/*他パーツ*/
/*extend　…*/
.extend {
      background: #fff !important;
      color: var(--col_main) !important;
	border: none!important;
}
/*.previouspostslink, .nextpostslink {
    color: transparent !important;
    background: url("../images/arrow_basic_green.svg") no-repeat !important;
    background-size: 0.8em !important;
    background-position: top 50% left 50% !important;
}*/
/*.nextpostslink {
    transform: rotate(90deg) !important;
}
.previouspostslink {
    transform: rotate(-90deg) !important;
}*/
/* pagination default
=============================== */
.pagination ul.page-numbers {
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 1em;
}
.pagination ul.page-numbers li {
      display: flex;
      justify-content: center;
      align-items: center;
      aspect-ratio: 1 / 1;
      height: 40px;
}
.pagination ul.page-numbers li + li {
      margin-left: 0.5em;
}
.pagination ul.page-numbers li > * {
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 1em;
      line-height: 1;
      text-align: center;
      text-decoration: none;
      width: 100%;
      aspect-ratio: 1 / 1;
      height: 40px;
      position: relative;
      background: var(--col_l_blue);
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      border-radius: 3rem;
      font-family: "Montserrat", serif;
}
/*current hover*/
.pagination span.page-numbers.current, .pagination a.page-numbers:hover {
      color: #fff !important;
      background: var(--col_main) !important;
}
/*next pre デザインリセット*/
.pagination .page-numbers.next, .pagination .page-numbers.prev, .pagination .page-numbers.dots, .pagination .page-numbers.next:hover, .pagination .page-numbers.prev:hover, .pagination .page-numbers.dots:before {
      background: transparent !important;
}
/*next pre */
.pagination .page-numbers.next:before, .pagination .page-numbers.prev:before {
      content: "";
      background: url("../images/arrow_blue.svg") no-repeat;
      background-size: 0.8em;
      background-position: center;
      width: 100%;
      aspect-ratio: 1 / 1;
}
.pagination .page-numbers.prev:before {
      transform: rotate(180deg);
}
/*dots*/
.pagination .page-numbers.dots {
      color: var(--col_main);
}
/*モジュールパーツ
==================================================================================================================================================================================================================*/
/*page_link_area
--------------------------------------------------------------------------*/
.page_link_area {
      padding: 1em 1em;
      background: var(--bg_gray_l2);
}
.page_link_list {
      max-width: 1200px;
      margin: auto;
      display: flex;
      justify-content: center;
      gap: 1em 5%;
      flex-wrap: wrap;
}
.page_link_list > li {
      /*width: 25%;*/
}
.page_link_list > li a {
      display: block;
      position: relative;
      color: var(--col_link);
      text-decoration: underline;
      padding-left: 1.5em;
}
.page_link_list > li a:before, .page_link_list > li a:after {
      content: "";
      position: absolute;
}
.page_link_list > li a:before {
      background: url("../images/slide_arrow.svg") no-repeat;
      background-size: contain;
      background-position: top;
      height: 0.7em;
      aspect-ratio: 9/17;
      transform: rotate(-90deg);
      left: 0.5em;
      top: 0.5em;
}
.page_link_list > li a:after {
      background: var(--col_link);
      width: 0.8em;
      height: 1px;
      top: 1.1em;
      left: 0.3em;
}
@media screen and (min-width: 961px), print {
      .page_link_list > li a:hover {
            text-decoration: none;
      }
}
@media screen and (max-width: 1250px) {
      .page_link_list {
            max-width: 90%;
      }
}
@media screen and (max-width: 680px) {
      .page_link_area {
            padding: 1em 0 1em 0;
            background: var(--bg_blue_l);
      }
      .page_link_list {
            display: block;
      }
      .page_link_list > li {
            width: auto;
            margin-bottom: 1em;
      }
}
/*タブ切り替え
--------------------------------------------------------------------------*/
.tab_btn_flex {
      display: flex;
      justify-content: center;
}
.tab_btn_flex > * {
      width: 30%;
      text-align: center;
      cursor: pointer;
      border: solid 1px #a3a3a3;
      padding: 1em 0.5em;
      position: relative;
      text-decoration: underline;
}
.tab_btn_flex > *.is-active:before {
      position: absolute;
      content: "";
      border: 9px solid transparent;
      border-top: 14px solid var(--col_main);
      left: 50%;
      box-sizing: border-box;
      width: 4px;
      height: 6px;
      bottom: -20px;
      transform: translate(-50%, -0%);
}
.tab_btn_flex > *.is-active {
      text-decoration: none;
      border: solid 1px var(--col_main);
      background: var(--col_main);
      color: #fff;
}
@media screen and (min-width: 961px), print {
      .tab_btn_flex > *:hover {
            text-decoration: none;
      }
}
@media screen and (max-width: 680px) {
      .tab_btn_flex > * {
            width: 45%;
            padding: 0.7em 0;
      }
}
/*テーブル　楽屋用
--------------------------------------------------------------------------*/
@media screen and (min-width: 681px), print {
      .gakuya_box {
            overflow: hidden;
            display: flex;
      }
      .gakuya_box .gakuya_table {
            table-layout: fixed;
            width: 100%;
            word-wrap: break-word;
      }
      .gakuya_box .gakuya_table_th th {
            border-left: 1px solid #fff;
            text-align: center;
            font-weight: 700;
            background: var(--bg_gray_l);
      }
      .gakuya_box .gakuya_table_td {
            background: #fff;
            text-align: right;
            border-bottom: 1px solid #a3a3a3;
      }
      .gakuya_box .gakuya_table_th th, .gakuya_box .gakuya_table_td td, .gakuya_box .title_block > * {
            padding: 1em 0.5em;
            position: relative;
      }
      .gakuya_box .first_th {
            position: absolute;
            top: 0;
            left: 0;
            width: calc(100% - 1em);
            background: var(--bg_gray_l);
            z-index: 1;
      }
      .gakuya_box .first_td {
            position: relative;
            margin-top: var(--col_table_height);
      }
      .gakuya_box .first_td:before {
            position: absolute;
            content: "";
            background: var(--bg_gray_l);
            width: 100%;
            top: var(--col_table_height_minus);
            left: 0;
            height: var(--col_table_height);
      }
      .gakuya_box.th_none .first_td {
            margin-top: 0;
      }
      /*高さ変数*/ :root {
            --col_table_height: 6.28rem;
            --col_table_height_minus: -6.28rem;
      }
      .gakuya_box .title_block {
            position: relative;
            font-weight: 700;
            background: #fff;
            border-bottom: 1px solid #a3a3a3;
      }
      .gakuya_box .gakuya_table_td td {
            position: relative;
      }
      .gakuya_box .gakuya_table_td td:nth-child(n+2):before, .gakuya_box .title_block + .gakuya_table_block .gakuya_table_td td:first-child:before {
            content: "";
            background: #a3a3a3;
            width: 1px;
            height: 500%;
            position: absolute;
            left: 0;
            top: 0;
      }
      .gakuya_box.th_none .gakuya_table_th {
            display: none;
      }
      .gakuya_box .title_block.hp_2 {
            padding: 1.85em 0.5em;
      }
}
@media screen and (max-width: 680px) {
      .gakuya_box {
            background: var(--bg_gray_l2);
            padding: 1em;
      }
      .gakuya_table {
            width: 100%;
      }
      .gakuya_table > * {
            display: flex;
            width: 100%;
            word-wrap: break-word;
            background: #fff;
      }
      .title_block {
            width: auto !important;
      }
      .gakuya_table_block {
            width: auto !important;
      }
      .gakuya_table_th {
            display: grid;
            width: 100%;
      }
      .gakuya_table_td {
            display: grid;
            width: 100%;
            text-align: right;
      }
      .gakuya_table_th th, .gakuya_table_td td {
            padding: 0.5em 1em;
            position: relative;
      }
      .gakuya_table_th th:before, .gakuya_table_td td:before {
            content: "";
            background: var(--line_gray_l);
            width: 90%;
            height: 1px;
            bottom: 0;
            position: absolute;
      }
      .gakuya_table_th th:before {
            right: 0;
      }
      .gakuya_table_td td:before {
            left: 0;
      }
      .gakuya_table_th th:last-child:before, .gakuya_table_td td:last-child:before {
            content: none;
      }
      .title_block {
            padding-bottom: 0.5em;
            font-weight: 700;
      }
}
/*テーブル　ticket_table_02
--------------------------------------------------------------------------*/
@media screen and (min-width: 681px), print {
      .ticket_table_02 {
            width: 100%;
            line-height: 1.6;
            table-layout: fixed;
      }
      .ticket_table_02 tr:first-child th, .ticket_table_02 tr:first-child td {
            border-top: 1px solid #a3a3a3;
      }
      .ticket_table_02 th, .ticket_table_02 td {
            vertical-align: top;
            padding: 1em 1em;
            border-bottom: 1px solid #a3a3a3;
            border-left: 1px solid #a3a3a3;
            word-wrap: break-word;
      }
      .ticket_table_02 th:first-child, .ticket_table_02 td:first-child {
            border-left: none;
      }
      /*th　色あり*/
      .ticket_table_02.th_color th {
            font-weight: bold;
            background: var(--bg_gray_l);
      }
      .ticket_table_02.th_color tr:first-child th, .ticket_table_02.th_color tr:first-child td {
            border-top: none;
            border-bottom: none;
      }
      .ticket_table_02.th_color th {
            border-left: 1px solid #fff;
      }
      .ticket_table_02.th_color th:first-child, .ticket_table_02 tr:nth-child(n+2) td:nth-child(2) {
            border-left: none;
      }
      /*背景カラー*/
      .ticket_table_02 tr .th_bg:first-child {
            border-left: none !important;
      }
      .ticket_table_02 tr tr:first-child .th_bg:first-child {
            border-left: none !important;
      }
}
@media screen and (max-width: 680px) {
      .ticket_table_02 {
            width: 100%;
            line-height: 1.6;
            table-layout: fixed;
      }
      .ticket_table_02 tr {
            border-top: 1em solid #fff;
            padding: 1em;
            display: block;
            background: var(--bg_gray_l2);
      }
      .ticket_table_02 th, .ticket_table_02 td {
            vertical-align: top;
            padding: 0.3em 0;
      }
      .ticket_table_02 th {
            padding: 0.3em 0.5em;
            font-weight: bold;
            background: var(--bg_gray_l);
      }
      .ticket_table_02_td {
            padding: 0.5em 0 0 !important;
      }
      .ticket_table_02 td {
            font-size: 1.5rem;
      }
}
/*mo_list
--------------------------------------------------------------------------*/
ul.mo_list > li {
      position: relative;
      padding-left: 1em;
      margin-bottom: 0.5em;
}
ul.mo_list > li:before {
      content: "";
      position: absolute;
      left: 0;
      top: 0.8em;
      width: 4px;
      aspect-ratio: 1;
      border-radius: 10px;
      background: var(--col_link);
}
/*local_nav_list
--------------------------------------------------------------------------*/
@media screen and (min-width: 681px), print {
      .local_nav_list {
            display: flex;
            gap: 0.8em 0;
            flex-wrap: wrap;
      }
      .local_nav_list > li {
            width: calc((100% /3) - 4px);
            border-left: 1px solid #a3a3a3;
      }
      .local_nav_list > li:last-child, .local_nav_list > li:nth-of-type(3n) {
            border-right: 1px solid #a3a3a3;
      }
      .local_nav_list > li * {
            padding: 0.8em 1em;
            display: flex;
            justify-content: center;
            align-items: center;
            text-decoration: underline;
            color: var(--col_link);
            height: calc(100% - 1.6em);
      }
      .local_nav_list > li.current * {
            font-weight: 700;
            color: inherit;
            text-decoration: none;
            background: var(--bg_gray_l2);
            pointer-events: none;
            tabindex: -1;
      }
}
@media screen and (min-width: 961px), print {
      .local_nav_list > li a:hover, .local_nav_list > li a:focus {
            text-decoration: none;
            background: var(--bg_gray_l2);
      }
}
@media screen and (max-width: 680px) {
      .local_nav_list > li * {
            padding: 1em 0.8em;
            text-decoration: underline;
            color: var(--col_link);
            display: block;
      }
      .local_nav_list > li.current a {
            background: var(--bg_gray_l2);
            pointer-events: none;
            tabindex: -1;
            text-decoration: none;
            color: inherit;
      }
}
/*ごあいさつ
-----------------------------------------------------------------------------------------------------------------------------------------------------------*/
.story_aera {
      position: relative;
      padding: 3em 0;
}
.story_bg {
      padding: 3em 0 12em 0;
}
.story_bg:before, .story_bg:after {
      content: "";
      position: absolute;
      background: url("../images/arran_03.svg") no-repeat;
      aspect-ratio: 335/125;
      width: 33.5rem;
}
.story_bg:before {
      right: -6em;
      top: -2em;
}
.story_bg:after {
      left: -4em;
      bottom: 1em;
      transform: scale(-1, 1);
}
@media screen and (max-width: 680px) {
      .story_aera {
            position: relative;
            padding: 2em 0 6em 0;
      }
      .story_bg {
            padding: 3em 0 8em 0;
      }
      .story_bg:before, .story_bg:after {
            width: 23rem;
      }
      .story_bg:before {
            right: -1.5em;
            top: 1em;
      }
      .story_bg:after {
            left: -1.5em;
      }
}
/*署名欄*/
.lead_signature {
      display: flex;
      justify-content: flex-end;
      align-items: flex-end;
      flex-direction: column;
}
/*gree_text_flex*/
.story_bg .gree_text_flex {
      padding-top: 2em;
}
.gree_text_flex {
      gap: 0 9%;
      display: flex;
      justify-content: space-between;
}
.gree_text_flex .text_box {
      padding-top: 5em;
}
/*gree_text_img_flex*/
.gree_text_img_flex {
      display: flex;
      gap: 0 5%;
      justify-content: space-between;
      align-items: center;
      margin-top: 5em;
      flex-direction: row-reverse;
}
.gree_text_img_flex.text_box {
      padding-top: 0;
}
.inner_img {
      width: 40%;
}
.gree_text_img_flex .text_inner {
      width: 60%;
}
.inner_img img {
      width: 100%;
}
@media screen and (max-width: 680px) {
      .story_bg .gree_text_flex {
            padding-top: 5em;
      }
      .gree_text_flex {
            display: block;
      }
      .gree_text_flex_title {
            text-align: center;
      }
      .gree_text_flex_title > * {
            padding: 0;
            margin: auto;
      }
      .gree_text_flex_title > *:before, .gree_text_flex_title > *:after {
            content: none;
      }
      .gree_text_flex .text_box {
            padding-top: 2em;
      }
      /*gree_text_img_flex*/
      .gree_text_img_flex {
            display: block;
            margin-top: 0.5em;
      }
      .inner_img {
            margin-bottom: 1em;
            width: auto;
      }
      .gree_text_img_flex .text_inner {
            width: auto;
      }
}
/*よくある質問
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/*QA*/
.qa_block details {
      border-bottom: 1px solid var(--line_gray_l);
}
.qa_block details:first-child {
      border-top: 1px solid var(--line_gray_l);
}
.qa_block summary p, .qa_block .faq_content {
      padding: 1.5em 1.5em;
      position: relative;
      padding-left: 4em;
}
.qa_block summary:focus-visible {
      border: solid 1px #000;
}
.qa_block summary p span {
      font-size: 2.0rem;
      color: var(--col_link);
      letter-spacing: 1px;
}
.qa_block summary p:after, .qa_block .faq_content:after {
      content: "";
      position: absolute;
      left: 0.5em;
      top: 0.3em;
      font-weight: 300;
      font-size: 3.4rem;
}
.qa_block summary p:after {
      content: "Q.";
      color: var(--col_link);
}
.qa_block .faq_content:after {
      content: "A.";
      left: 0.6em;
}
.qa_block details {
      position: relative !important;
      z-index: 0 !important;
}
.qa_block .faq_content {
      position: relative;
      z-index: 500 !important;
      cursor: pointer;
}
@media screen and (max-width: 680px) {
      .qa_block summary p span {
            font-size: 1.6rem;
      }
      .qa_block summary p, .qa_block .faq_content {
            padding: 1.0em 2em;
            position: relative;
            padding-left: 3.0em;
      }
      .qa_block summary p:after, .qa_block .faq_content:after {
            left: 0.4em;
            top: 0.1em;
            font-size: 3.0rem;
      }
}
/*Q*/
.qa_block summary {
      font-weight: 700;
      cursor: pointer;
      list-style: none;
      position: relative;
      transition: all 0.3s ease;
      outline: none;
}
/* デフォルトの矢印を隠す */
summary::-webkit-details-marker {
      display: none;
}
.qa_block summary:before {
      content: '';
      background: url("../images/slide_arrow.svg") no-repeat;
      background-size: contain;
      position: absolute;
      width: 1rem;
      aspect-ratio: 9/17;
      right: 1em;
      top: 2em;
      transition: transform 0.3s ease;
      transform: rotate(-90deg);
}
.qa_block summary:hover {
      color: var(--col_main);
}
.qa_block details[open] summary::before {
      transform: rotate(90deg);
}
@media screen and (max-width: 680px) {
      .qa_block summary:before {
            top: 1.5em;
            right: 0.5em;
      }
}
/*A*/
.qa_block details .faq_content {
      position: relative;
      z-index: -1;
}
.qa_block details[open] .faq_content p {
      animation: qafadeIn 0.8s ease;
      transition: all 0.8s ease;
}
@keyframes qafadeIn {
      0% {
            opacity: 0;
            transform: translateY(-10px);
      }
      100% {
            opacity: 1;
            transform: translateY(-0px);
      }
}
/*チケット購入方法
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
.ticket_how_list {
      padding-top: 8em;
      display: flex;
      justify-content: space-between;
      gap: 0 3%;
}
.ticket_how_list > li {
      width: calc(100% / 3);
      border: solid 1px var(--col_main);
      position: relative;
      box-sizing: border-box;
}
.ticket_how_list > li a {
      display: block;
      position: relative;
      height: 100%;
}
.ticket_how_list > li a:before {
      content: "";
      background: url("../images/pict_arrow.svg") no-repeat;
      width: 4.7rem;
      aspect-ratio: 47/16;
      position: absolute;
      bottom: 1em;
      left: 50%;
      transform: translate(-50%, -0%);
}
.ticket_how_list_inner {
      padding: 5.5em 1em 2.5em 1em;
      position: relative;
}
.ticket_how_list_inner .img {
      position: absolute;
      top: -5.5em;
      left: 50%;
      transform: translate(-50%, -0%);
      background: var(--bg_blue_l);
      padding: 1em;
      border-radius: 500px;
      aspect-ratio: 1;
      width: 14rem;
      display: flex;
      justify-content: center;
      align-items: center;
}
.ticket_how_list_inner .img img {
      aspect-ratio: 111/59;
      width: 11.1rem;
}
/*アイコンごと*/
.ticket_tel .ticket_how_list_inner .img img {
      aspect-ratio: 82/73;
      width: 8.2rem;
}
.ticket_window .ticket_how_list_inner .img img {
      aspect-ratio: 79/73;
      width: 7.9rem;
}
.ticket_how_title {
      margin-bottom: 1em;
      font-size: 2.2rem;
      text-align: center;
      font-weight: 700;
      letter-spacing: 1px;
}
.ticket_how_title span {
      font-size: 1.2em;
}
@media screen and (max-width: 960px) {
      .ticket_how_list {
            padding-top: 5em;
            gap: 0 2%;
      }
      .ticket_how_list_inner {
            padding: 4em 0.5em 2.5em 0.5em;
      }
      .ticket_how_list_inner .img {
            top: -5em;
            width: 10rem;
      }
      .ticket_how_title {
            font-size: 1.8rem;
      }
}
@media screen and (max-width: 680px) {
      .ticket_how_list {
            flex-wrap: wrap;
            gap: 0 3%;
      }
      .ticket_how_list > li {
            width: 100%;
      }
      .ticket_how_list_inner {
            padding: 4.5em 0.5em 2.5em 0.5em;
      }
      .ticket_how_list_inner .img {
            width: 8rem;
            top: -3.5em;
      }
      .ticket_net {
            margin-bottom: 5em;
      }
      .ticket_tel, .ticket_window {
            width: 48% !important;
      }
      .ticket_tel .disc, .ticket_window .disc {
            display: none;
      }
      .ticket_tel .ticket_how_list_inner, .ticket_window .ticket_how_list_inner {
            padding: 3.5em 0.5em 2.5em 0.5em;
      }
      .ticket_tel .ticket_how_list_inner .img, .ticket_window .ticket_how_list_inner .img {
            width: 7rem;
            top: -3.5em;
      }
      .ticket_tel .ticket_how_list_inner .img img {
            width: 6rem;
      }
      .ticket_window .ticket_how_list_inner .img img {
            width: 5.5rem;
      }
      .ticket_how_title {
            font-size: 1.9rem;
      }
}
/*ticket_btn
---------------------------------------------------------------------------------------------------------*/
.ticket_btn a {
      display: inline-flex;
      text-align: center;
      background: var(--col_link);
      color: #fff;
      font-weight: 700;
      padding: 1.5em 0.5em 1.5em 4.8em;
      font-size: 2.2rem;
      border: solid 1px var(--col_link);
}
.ticket_btn a span {
      position: relative;
      padding: 0 4em 0 3.5em;
      display: inline-block;
}
.ticket_btn a span:before, .ticket_btn a span:after {
      position: absolute;
      content: "";
      top: 50%;
      transform: translate(-0%, -50%);
      filter: brightness(0) invert(1);
}
.ticket_btn a span:before {
      left: 0;
      background: url("../images/ico_ticket.svg") no-repeat;
      background-size: contain;
      width: 2.2em;
      aspect-ratio: 48/37;
}
.ticket_btn a span:after {
      background: url("../images/arrow.svg") no-repeat;
      background-size: contain;
      width: 4.0rem;
      aspect-ratio: 23.5/6;
      right: 0;
}
@media screen and (min-width: 961px), print {
      .ticket_btn a:hover, .ticket_btn a:focus {
            background: var(--bg_blue_l);
            color: var(--col_link);
      }
      .ticket_btn a:hover span:before, .ticket_btn a:hover span:after, .ticket_btn a:focus span:before, .ticket_btn a:focus span:after {
            filter: invert(20%) sepia(93%) saturate(1683%) hue-rotate(198deg) brightness(92%) contrast(86%);
      }
}
@media screen and (max-width: 680px) {
      .ticket_btn a {
            justify-content: center;
            width: 100%;
            padding: 1.5em 0 1.5em 0;
            font-size: 1.8rem;
      }
      .ticket_btn a span:after {
            right: -1.5em;
      }
}
/*flower_list
---------------------------------------------------------------------------------------------------------*/
.flower_list {
      padding: 3em 0;
      max-width: 865px;
      margin: auto;
      gap: 0 7%;
      display: flex;
      justify-content: center;
}
.flower_list > li {
      width: calc(100% / 3);
}
.flower_title {
      letter-spacing: 1px;
      position: relative;
      text-align: center;
      font-weight: 700;
}
.flower_title > span {
      position: relative;
      display: inline-block;
      padding: 0 0.5em 0.5em 2.0em;
}
.flower_title:before, .flower_title > span:after {
      content: "";
      position: absolute;
}
.flower_title:before {
      width: 100%;
      height: 1px;
      bottom: 0;
      left: 0;
      background: var(--col_yellow);
}
.flower_title > span:after {
      background: url("../images/ico_plum.svg") no-repeat;
      aspect-ratio: 1;
      width: 1.6em;
      left: 0em;
      top: 0;
}
.flower_text {
      margin-top: 1em;
      letter-spacing: 2px;
}
@media screen and (max-width: 680px) {
      .flower_list {
            display: block;
      }
      .flower_list > li {
            width: 100%;
            margin-bottom: 1.5em;
      }
      .flower_title {
            text-align: left;
      }
      .flower_title > span {
            padding: 0 0.5em 0.2em 2.5em;
      }
      .flower_title > span:after {
            left: 0.2em;
      }
      .flower_text {
            font-size: 1.5rem;
      }
}
/*ticket_table_box
---------------------------------------------------------------------------------------------------------*/
@media screen and (min-width: 681px), print {
      .ticket_table_box .th_none th {
            display: none;
      }
      .ticket_table_box {
            display: flex;
      }
      .ticket_table_box_inner {
            overflow: hidden;
            border-bottom: 1px solid #a3a3a3;
      }
      .ticket_table {
            table-layout: fixed;
            width: 100%;
      }
      .ticket_table th {
            padding: 0.5em;
            font-weight: bold;
            background: var(--bg_gray_l);
      }
      .ticket_table_box .ticket_table th {
            border-left: 1px solid #fff;
      }
      .ticket_table_box .ticket_table_box_inner:first-child th {
            border-left: none;
      }
      .ticket_table_box .ticket_table td {
            vertical-align: top;
            background: #fff;
            position: relative;
            padding: 2em 1em;
            height: 100%;
            border-top: 1px solid #a3a3a3;
            /*         border-left: 1px solid #a3a3a3;*/
      }
      .ticket_table_box .ticket_table td:before {
            content: "";
            width: 1px;
            height: 500%;
            background: #a3a3a3;
            position: absolute;
            left: 0;
            top: 0;
      }
      .ticket_table_box .ticket_table tr:nth-child(2) td {
            border-top: none;
      }
      .ticket_table_box .ticket_table_box_inner.div1 td {
            border-left: none;
      }
      .ticket_table_box .ticket_table_box_inner.div1 td:before {
            content: none;
      }
      .td_title {
            font-weight: 700;
      }
      .td_title + * {
            margin-bottom: 1em;
      }
      .ticket_table_indent {
            padding-left: 1em;
      }
}
@media screen and (max-width: 680px) {
      .ticket_table_box {
            margin-bottom: 1em;
      }
      .ticket_table_pc_tab {
            display: none !important;
      }
      .ticket_table_box {
            background: var(--bg_gray_l2);
            padding: 1em;
      }
      .ticket_table_box .ticket_table_box_inner {
            width: auto !important;
      }
      .ticket_table_box .ticket_table_box_inner + .ticket_table_box_inner {
            margin-top: 1em;
      }
      .ticket_table_box .ticket_table {
            table-layout: fixed;
            width: 100%;
      }
      .ticket_table_box .ticket_table_title > * {
            padding: 0.3em 0.5em;
            font-weight: bold;
            background: var(--bg_gray_l);
      }
      .ticket_table_box .ticket_table_title_02 > * {
            font-weight: 700;
      }
      .ticket_table_box .ticket_table_box_inner.div2 {
            background: #fff;
            padding: 1em;
      }
      .ticket_table_box .ticket_table_box_inner.div2 .ticket_table th {
            display: block;
      }
      .ticket_table_box .ticket_table_box_inner.div2 .ticket_table td {
            display: block;
            border-bottom: 1px solid #a3a3a3;
            padding-top: 0.5em;
            font-size: 1.5rem;
      }
      .ticket_table_box .ticket_table_box_inner.div2 .ticket_table td:first-child, .ticket_table_box .ticket_table_box_inner.div2 .ticket_table tr:last-child td {
            border-bottom: none;
      }
      .ticket_table_box .ticket_table_box_inner.div2 .ticket_table tr td:last-child {
            padding-top: 0;
            padding-bottom: 1em;
      }
      .ticket_table_box .ticket_table td ul.disc li {
            margin-bottom: 0 !important;
      }
      .td_title {
            padding: 0.5em 0;
            font-weight: 700;
            font-size: 1.7rem;
      }
      .sp_td_title {
            position: relative;
            padding-left: 1em;
            font-size: 1.6rem;
      }
      .sp_td_title:before {
            content: "";
            background: var(--col_blue);
            width: 8px;
            border-radius: 1em;
            aspect-ratio: 1;
            position: absolute;
            left: 0;
            top: 0.6em;
      }
      .ticket_table_indent_pc {
            padding-left: 1em;
      }
      .ticket_table_indent_sp {
            padding-left: 1em;
      }
      .sp_mt10 {
            margin-top: 0.5em;
      }
}
/*ticket_tel_box
----------------------------------------------------------------------------------------------------------*/
@media screen and (min-width: 681px), print {
      .ticket_tel_box {
            display: flex;
            justify-content: center;
            align-items: center;
            max-width: 940px;
            margin: auto;
      }
      .ticket_tel_box > * + * {
            margin-left: 2em;
            padding-left: 2em;
            border-left: solid 1px #222222;
      }
      .ticket_tel_box_title {
            font-weight: 700;
            font-size: 2.0rem;
            letter-spacing: 1px;
            width: 10em;
      }
      .ticket_tel_box .text_box {
            width: calc(100% - 10em);
            display: flex;
            flex-wrap: wrap;
            align-items: flex-end;
      }
      .date_only {
            max-width: 734px;
      }
      .date_only .ticket_tel_box_title {
            width: 13em;
      }
      .date_only .text_box {
            width: calc(100% - 13em);
      }
      .ticket_tel_box .text_box .cv_tel_num_tbox {
            width: 40%;
      }
      .ticket_tel_box .text_box .ticket_tel_date {
            width: 60%;
      }
      .ticket_tel_box .text_box .ticket_tel_box_text {
            margin-top: 0.8em;
            width: 100%;
      }
      .ticket_tel_box_text_only {
            width: 100%;
      }
}
@media screen and (max-width: 680px) {
      .ticket_tel_box_title {
            text-align: center;
            font-weight: 700;
            font-size: 1.8rem;
      }
      .ticket_tel_box .text_box .cv_tel_num_tbox {
            text-align: center;
            font-size: 2.4rem;
      }
      .ticket_tel_box .text_box .ticket_tel_date {
            text-align: center;
            margin-top: 0.8em;
      }
      .ticket_tel_box .text_box .ticket_tel_box_text {
            margin-top: 1em;
            font-size: 1.5rem;
      }
      .ticket_tel_box_text_only {
            margin-top: 1em;
      }
}
/*ticket_note_area
---------------------------------------------------------------------------------------------------------------*/
.ticket_note_area {
      background: var(--bg_gray_l2);
      padding: 3em;
}
.ticket_note_flex {
      display: flex;
      gap: 0 4.5%;
}
.ticket_note_flex_inner {
      background: #fff;
      padding: 2em 2em;
      width: calc(100% /2);
}
/*ticket_note_flex_dl*/
.ticket_note_flex_dl {
      display: flex;
}
.ticket_note_flex_dl dt {
      width: 5em;
}
.ticket_note_flex_dl dd {
      width: calc(100% - 5em);
}
@media screen and (max-width: 960px) {
      .ticket_note_area {
            padding: 1em 1em;
      }
      .ticket_note_flex {
            gap: 0 2%;
      }
      .ticket_note_flex_inner {
            padding: 2em 1em;
      }
}
@media screen and (max-width: 680px) {
      .ticket_note_flex {
            display: block;
      }
      .ticket_note_flex_inner + .ticket_note_flex_inner {
            margin-top: 1em;
      }
      .ticket_note_flex_inner {
            width: auto;
      }
}
/*event
------------------------------------------------------------------------------------------------------------------*/
.event_list {
      display: flex;
      flex-wrap: wrap;
      gap: 5em 3%;
}
.event_list > li {
      width: calc((100% / 4) - 2.3%);
}
@media screen and (max-width: 960px) {
      .event_list > li {
            width: calc((100% / 3) - 2%);
      }
}
@media screen and (max-width: 680px) {
      .event_list {
            display: block;
      }
      .event_list > li {
            width: auto;
      }
      .event_list > li + li {
            margin-top: 4em;
      }
}
.cate_list_area + .neta_list_area .top_neta_title_cont {
      width: 1200px;
      margin: auto;
      padding-top: 4em;
      margin-top: 3em !important;
      border-top: 1px solid var(--line_gray_l);
}
/*event_cms
------------------------------------------------------------------------------------------------------------------------------------*/
.event_main_title {
      margin-bottom: 2em;
}
/*dl*/
.detail dt {
      font-weight: 700;
      font-size: 1.2em;
      margin-bottom: 0.5em;
}
/*h2*/
.event_cms_aera h2 {
      margin-top: 2em;
      margin-bottom: 1em;
      font-size: 2.6rem;
      font-family: var(--font_min);
      padding: 0.5em 0.8em;
      border-top: 4px double #a3a3a3;
      border-bottom: 4px double #a3a3a3;
}
@media screen and (max-width: 680px) {
      .event_cms_aera h2 {
            font-size: 1.9rem;
      }
}
/*h3*/
.event_cms_aera h3 {
      margin-top: 2em;
      margin-bottom: 1em;
      background: var(--bg_blue_l);
      padding: 0.5em 0.8em;
      font-weight: bold;
      font-size: 2.2rem;
}
@media screen and (max-width: 680px) {
      .event_cms_aera h3 {
            font-size: 1.8rem;
      }
}
/*h4*/
.event_cms_aera h4 {
      margin-top: 2em;
      margin-bottom: 1em;
      padding-left: 1em;
      font-size: 2.0rem;
      position: relative;
}
.event_cms_aera h4:before {
      content: "";
      width: 0.6em;
      height: 3px;
      background: var(--col_main);
      position: absolute;
      left: 0;
      top: 0.8em;
}
@media screen and (max-width: 680px) {
      .event_cms_aera h4 {
            font-size: 1.7rem;
      }
}
/*p*/
.event_cms_aera p + p {
      margin-top: 1em;
}
/*a*/
.event_cms_aera a {
      text-decoration: underline;
      color: var(--col_blue);
}
@media screen and (min-width: 961px), print {
      .event_cms_aera a:hover {
            text-decoration: nonr;
      }
}
/*img*/
.event_cms_aera img {
      margin: 1em auto;
      max-width: 100%;
}
.event_cms_aera .align-center {
      margin: auto;
      text-align: center;
}
.event_cms_aera .align-left {
      margin: auto 0 auto auto;
      text-align: left;
}
/*custumf_img*/
.custumf_img {
      text-align: center;
      margin: 1em auto;
}
.custumf_img img {
      max-width: 100%;
}
/*p_search_area 講演スケジュール
---------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*form
----------------------------------------------------------------------*/
.p_search_form input[type=text], .p_search_form input[type=number], .p_search_form input[type=email], .p_search_form input[type=tel], .p_search_form input[type=mail], .p_search_form input[type=password], .p_search_form input[type=date], .p_search_form input[type=time] {
      padding: 0.7em 1em;
      border-radius: 0;
      outline: none;
      -moz-appearance: none;
      appearance: none;
      -webkit-appearance: none;
      border: 1px solid var(--col_main);
      /* width: 100%;*/
      box-sizing: border-box;
      font-size: 1.6rem;
}
.p_search_form select {
      /* -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;*/
      border-radius: 0;
      border: 1px solid var(--col_main);
      margin: 0;
      padding: 0.7em 1em;
      background: #fff;
      vertical-align: middle;
      font-size: inherit;
      color: inherit;
      box-sizing: content-box;
}
/*p_search_area
---------------------------------------------------------------------------------------------------*/
.p_search_pd {
      padding: 1.5em 3em;
      font-size: 1.7rem;
}
.p_search_form {
      padding: 1em 0;
      display: flex;
      align-items: center;
}
.p_search_word {
      font-size: 1em;
      width: 10em;
}
.p_search_cont {
      width: calc(100% - 10em);
}
.p_search_btn > * {
      width: 9.5em;
      display: flex;
      justify-content: center;
      align-content: center;
}
@media screen and (max-width: 960px) {
      .p_search_area {
            font-size: 1.5rem;
      }
      .p_search_pd {
            padding: 1.5em 1em;
      }
      .p_search_btn > * {
            width: 5.5em;
      }
}
@media screen and (max-width: 680px) {
      .p_search_area {
            font-size: 1.6rem;
      }
      .p_search_pd {
            padding: 0 0;
      }
      .p_search_form {
            display: block;
      }
      .p_search_word {
            width: auto;
            margin-bottom: 0.5em;
      }
      .p_search_cont {
            width: 100%;
      }
      .p_search_btn {
            margin-top: 1em;
            text-align: center;
      }
}
/*.p_search_title */
.p_search_title {
      font-size: 1.9rem;
      position: relative;
}
@media screen and (max-width: 680px) {
      .p_search_title {
            padding: 0.8em 1em;
      }
      .p_search_title:after {
            content: "";
            background: url("../images/arrow_02.svg") no-repeat;
            aspect-ratio: 9 / 16;
            background-size: contain;
            position: absolute;
            right: 2.5rem;
            top: 1em;
            width: 0.5em;
            transform: rotate(90deg);
            -webkit-transition: all 0.15s ease;
            transition: all 0.15s ease;
      }
      .p_search_title.active:after {
            transform: rotate(-90deg);
      }
}
/*aco*/
.aco-btn + * {
      display: none;
}
@media screen and (max-width: 680px) {
      .p_search_sp_aco {
            padding: 0 1em 1em 1em;
      }
}
/*free_form*/
.free_form_flex {
      display: flex;
      gap: 0 2%;
}
.free_form_flex .free_form_flex_name {
      width: calc(68% - 10em);
}
.free_form_flex .free_form_flex_name input {
      width: 100%;
}
@media screen and (max-width: 680px) {
      .free_form_flex {
            display: block;
      }
      .free_form_flex .free_form_flex_name {
            width: 100%;
      }
}
/*condition_form*/
.condition_form_flex {
      display: flex;
      gap: 0 2%;
}
.condition_inner_flex_01 {
      display: flex;
      align-items: center;
}
.condition_inner_flex_01 .condition_inner_title {
      width: 4em;
}
.condition_inner_flex_01 select {
      width: 9em;
      margin-right: 1em;
}
.condition_inner_flex_02 {
      display: flex;
      align-items: center;
}
.condition_inner_flex_02 select {
      width: 15em;
      margin-right: 1em;
}
@media screen and (max-width: 960px) {
      .condition_inner_flex_02 select {
            width: 12em;
      }
}
@media screen and (max-width: 680px) {
      .condition_form_flex {
            display: block;
      }
      .condition_inner_flex_01 .condition_inner_title {
            width: 6em;
      }
      .condition_inner_flex_02 .condition_inner_title {
            width: 6em;
      }
      .condition_inner_flex_01 select {
            width: calc(100% - 8em);
            margin-right: auto;
      }
      .condition_inner_flex_02 {
            margin-top: 0.5em;
            flex-wrap: wrap;
      }
      .condition_inner_flex_02 select {
            width: calc(100% - 8.13em - 1px);
            margin-right: auto;
      }
      .condition_inner_flex_02 .p_search_btn {
            margin: 1em auto auto auto;
      }
}
/*p_search_btn
------------------------------------------------*/
.p_search_btn > * {
      display: inline-flex;
      border: solid 1px var(--col_main);
      background: var(--col_main);
      padding: 0.8em 1em;
      color: #fff;
      transition: 0.3s;
      box-sizing: border-box;
      font-size: 1.4rem;
}
.p_search_btn > * span {
      font-size: 1.7rem;
}
@media screen and (min-width: 961px), print {
      .p_search_btn > *:hover {
            background: #fff;
            color: var(--col_main);
      }
}
/*公演アーカイブ
------------------------------------------------------------------------------------------------------------------------------------*/
.perform_paging {
      padding: 0 0.5em 1em 0.5em;
      display: flex;
      justify-content: space-between;
}
.perform_paging a {
      position: relative;
      padding-right: 1.3em;
}
.perform_paging a:before {
      content: "";
      background: url("../images/arrow_02.svg")no-repeat;
      width: 0.5em;
      aspect-ratio: 9 / 16;
      background-size: contain;
      position: absolute;
      right: 0;
      top: 0.35em;
}
.perform_paging .pre a {
      padding-right: 0;
      padding-left: 1em;
}
.perform_paging .pre a:before {
      transform: scale(-1, 1);
      right: auto;
      left: 0rem;
}
/*perform_date
----------------------------------------------------------------------------------------------*/
.perform_date {
      font-size: 2.2rem;
      letter-spacing: 1px;
      background: var(--bg_blue_l);
      padding: 0.5em 0;
      text-align: center;
      font-weight: 600;
      margin-bottom: 1em;
}
/*perform_list
----------------------------------------------------------------------------------------------*/
.perform_list > li {
      border-bottom: 1px solid var(--line_gray_l);
}
.perform_list > li:nth-child(even) {
      background: #f9f9f9;
}
.perform_list_inner {
      display: flex;
      padding: 2em 1em 2em 1em;
      position: relative;
}
.perform_list_inner_date {
      width: 20rem;
      position: relative;
}
.perform_list_inner_date_in {
      font-size: 2.8rem;
      font-weight: 700;
      position: absolute;
      top: 50%;
      left: 0;
      transform: translate(-0%, -50%);
}
.perform_list_inner_date_in span {
      font-size: 0.6em;
      font-weight: normal;
}
.perform_list_inner .img {
      width: 18rem;
}
.perform_list_inner .img img {
      width: 100%;
}
.perform_list_inner .text_box {
      width: calc(100% - 18rem - 47rem);
      margin-left: 2%;
}
.perform_list_inner .text_box > * + * {
      margin-top: 0.2em;
}
.perform_list_inner .perform_inner_status + .organizer_box {
      margin-top: 1em;
}
.perform_list_inner .text_box .btn {
      position: absolute;
      bottom: 1.5em;
      right: 1.5em;
}
.perform_list_inner .text_box .btn > * {
      justify-content: center;
      width: 14em;
}
@media screen and (max-width: 960px) {
      .perform_list_inner_date {
            width: 8rem;
      }
      .perform_list_inner_date_in {
            font-size: 1.8rem;
      }
      .perform_list_inner .img {
            width: 15rem;
      }
      .perform_list_inner .text_box {
            width: calc(100% - 8rem - 33rem);
      }
      .perform_list_inner .text_box .btn > * {
            justify-content: center;
            width: 10em;
      }
}
@media screen and (max-width: 680px) {
      .perform_list > li:nth-child(even) {
            background: transparent;
      }
      .perform_list_inner {
            font-size: 1.5rem;
            padding: 1.5em 1em 1.5em 0;
            gap: 0 2%;
            position: relative;
      }
      .perform_list_inner:before {
            content: "";
            background: url("../images/arrow_03.svg") no-repeat;
            background-size: contain;
            aspect-ratio: 8/23;
            width: 0.7em;
            position: absolute;
            top: 50%;
            right: -0.2em;
            transform: translate(-50%, -0%);
      }
      .perform_list_inner_date {
            display: none;
      }
      .perform_list_inner .img {
            width: 30%;
      }
      .perform_list_inner .text_box {
            width: 70%;
      }
      .perform_list_inner .text_box .btn {
            display: none;
      }
}
/*perform 詳細ページ
-----------------------------------------------------------------------------------------------------------*/
.perform_cms_area {
      display: flex;
      justify-content: space-between;
      gap: 0 6%;
      padding: 3em 0 10em 0;
}
.perform_cms_img {
      width: 35%;
}
.perform_cms_area .text_box {
      width: 65%;
}
.perform_d_slider img {
      width: 100%;
}
.perform_cms_lead {
      margin-bottom: 2em;
}
@media screen and (max-width: 680px) {
      .perform_cms_area {
            display: block;
            padding: 2em 0 5em 0;
      }
      .perform_cms_img {
            width: auto;
      }
      .perform_cms_area .text_box {
            width: auto;
            margin-top: 5em;
      }
}
/*perform_d_slider モーダル*/
.modal {
      position: fixed;
      z-index: 9999;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.8);
}
.modal-content {
      position: relative;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 60vh;
      max-width: 100%;
      text-align: center;
}
.modal-content img {
      width: 100%;
      /*      max-height: 80vh;*/
}
.close {
      position: absolute;
      top: -40px;
      right: 0;
      color: #fff;
      font-size: 2em;
      cursor: pointer;
}
.modal-trigger {
      cursor: pointer;
}
.no-modal {
      cursor: default;
}
@media screen and (max-width: 960px) {
      .modal-content {
            width: 80vw;
      }
}
/*organizer_cate_list*/
.organizer_cate_list {
      display: flex;
      flex-wrap: wrap;
      gap: 0.8em 1%;
}
.organizer_cate_list > li {
      line-height: 1;
      font-size: 1.4rem;
      padding: 0.5em 0.8em;
      color: #fff;
      background: var(--col_main);
      font-weight: 700;
}
.organizer_cate_list > li.rental {
      background: #008a62;
}
.organizer_cate_list > li.cooperated {
      background: #a48132;
}
.organizer_cate_list > li.organizer_name {
      background: none !important;
      padding: 0em 0em;
}
.organizer_cate_list > li.organizer_name img {
      aspect-ratio: 160/21;
      max-width: 100%;
      height: 2em;
}
/*perform_cms_dl*/
.perform_cms_dl dl:first-child {
      border-top: 1px solid var(--line_gray_l);
}
.perform_cms_dl dl {
      padding: 1em 0;
      display: flex;
      justify-content: space-between;
      border-bottom: 1px solid var(--line_gray_l);
      gap: 0 2%;
}
.perform_cms_dl dl dt {
      width: 8em;
}
.perform_cms_dl dl dd {
      width: calc(100% - 8em);
}
@media screen and (max-width: 680px) {
      .perform_cms_dl dl {
            display: block;
            padding: 1.2em 0.5em;
      }
      .perform_cms_dl dl dt {
            width: auto;
            font-weight: 700;
      }
      .perform_cms_dl dl dd {
            width: auto;
      }
}
.perform_cms_dl dl dd a {
      text-decoration: underline;
      color: var(--col_link);
}
@media screen and (max-width: 961px), print {
      .perform_cms_dl dl dd a:hover {
            text-decoration: none;
      }
}
/*チケット購入
------------------------------------------------------------*/
.purchase_box {
      margin-top: 2em;
      background: var(--bg_blue_l);
      padding: 2em;
}
.purchase_box_flex {
      display: flex;
      gap: 0 5%;
}
.purchase_box .btn_ticket > * {
      width: 16em;
      justify-content: center;
}
.purchase_box_flex .cv_tel_num {
      display: flex;
      align-items: baseline;
      font-size: 2.6rem;
}
.purchase_box_flex .cv_tel_num span {
      font-weight: normal;
      color: #222222;
      font-size: 0.6em;
}
.purchase_box_ff {
      background: #fff;
      padding: 1em;
      margin-top: 1em;
}
@media screen and (max-width: 960px) {
      .purchase_box_flex {
            display: block;
      }
      .purchase_box .btn_ticket {
            text-align: center;
      }
      .purchase_box .btn_ticket > * {
            width: 90%;
      }
      .purchase_box_telbox {
            width: 90%;
            margin: 0.5em auto auto auto;
      }
}
@media screen and (max-width: 680px) {
      .purchase_box {
            padding: 1.5em 1em;
      }
}
/*slider
------------------------------------------------------------*/
@media screen and (max-width: 680px) {
      .perform_d_slider li.slick-slide {
            margin: 0 1em;
      }
}
@media screen and (min-width: 681px), print {
      .perform_d_slider .slick-dots {
            /*       width: 40% !important;*/
            left: 0;
            text-align: left;
            bottom: -30px !important;
      }
}
/*dotsデザイン*/
.perform_d_slider .slick-dots li {
      width: 30px !important;
      height: 20px;
}
.perform_d_slider .slick-dots li button {
      width: 100% !important;
      height: 100% !important;
}
.perform_d_slider .slick-dots li button:before {
      font-size: userset !important;
      width: 100% !important;
      height: 3px !important;
      content: '' !important;
      opacity: 1 !important;
      top: 50%;
      background: #d6d6d6;
}
.perform_d_slider .slick-dots li.slick-active button:before {
      background: #aec2ce;
}
/*arrow
--------------------------------------------------------------*/
@media screen and (min-width: 681px), print {
      .perform_d_slider .slick-prev, .perform_d_slider .slick-next {
            top: auto !important;
            bottom: -6em !important;
      }
      .perform_d_slider .slick-prev {
            left: auto !important;
            right: calc(5rem + 1em) !important;
      }
      .perform_d_slider .slick-next {
            left: auto !important;
            right: 0 !important;
      }
}
/*矢印デザイン*/
.perform_d_slider .slick-prev, .perform_d_slider .slick-next {
      font-size: 1.6rem !important;
      width: 5.0rem !important;
      aspect-ratio: 1;
      border: solid 1px var(--col_main) !important;
      height: auto !important;
      z-index: 90;
      background: #fff !important;
}
.perform_d_slider .slick-next {
      transform: rotate(180deg);
}
.perform_d_slider .slick-prev:before, .perform_d_slider .slick-next:before {
      font-size: 1.6rem;
      line-height: 1;
      opacity: 1 !important;
      content: "" !important;
      background: url("../images/slide_arrow.svg") no-repeat;
      aspect-ratio: 9/16;
      width: 0.5em !important;
      display: block;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      position: absolute;
}
@media screen and (min-width: 961px), print {
      .perform_d_slider .slick-prev:hover, .perform_d_slider .slick-next:hover, .perform_d_slider .slick-prev:focus, .perform_d_slider .slick-next:focus {
            background: var(--col_main) !important;
      }
      .perform_d_slider .slick-prev:hover:before, .perform_d_slider .slick-next:hover:before, .perform_d_slider .slick-prev:focus:before, .perform_d_slider .slick-next:focus:before {
            filter: invert(100%) brightness(100%);
      }
}
@media screen and (max-width: 680px) {
      .perform_d_slider .slick-prev, .perform_d_slider .slick-next {
            border: none !important;
            background: transparent !important;
      }
      .perform_d_slider .slick-prev {
            left: -1.5em !important;
      }
      .perform_d_slider .slick-next {
            right: -1.5em !important;
      }
}
/*検索結果
-----------------------------------------------------------------------------------------------------------*/
.search_result_list > li {
      border-bottom: 1px solid var(--line_gray_l);
      padding: 1em 0;
}
.search_result_list > li a {
      text-decoration: underline;
      color: var(--col_link);
}
@media screen and (min-width: 961px), print {
      .search_result_list > li a:hover {
            text-decoration: none;
      }
}
.search_pagination {
      text-align: center;
}
.search_pagination a, .search_pagination span {
      display: inline-block;
      padding: 0.4em 0.8em;
      margin: 0 0.2em;
      text-decoration: none;
      border: 1px solid var(--line_gray_l);
}
.search_pagination .current {
      background-color: var(--col_blue);
      color: #fff;
      border-color: var(--col_blue);
}
.search_pagination .dots {
      border: none;
      background: none;
      color: var(--col_gray);
}
.search-info {
      color: var(--col_gray);
}
@media screen and (min-width: 961px), print {
      .search_pagination a:hover {
            background-color: var(--col_blue);
            color: #fff;
      }
}
/*デフォルト固定ページ用css
-----------------------------------------------------------------------------------------------------------*/
/*h2*/
.page_module_area h2 {
      margin-top: 2em;
      margin-bottom: 1em;
      font-size: 2.6rem;
      font-family: var(--font_min);
      padding: 0.5em 0.8em;
      border-top: 4px double #a3a3a3;
      border-bottom: 4px double #a3a3a3;
}
/*.page_module_area h2:first-of-type {
	margin-top: 0;
}*/
@media screen and (max-width: 680px) {
      .page_module_area h2 {
            font-size: 1.9rem;
      }
}
/*h3*/
.page_module_area h3 {
      margin-top: 2em;
      margin-bottom: 1em;
      background: var(--bg_blue_l);
      padding: 0.5em 0.8em;
      font-weight: bold;
      font-size: 2.2rem;
}
@media screen and (max-width: 680px) {
      .page_module_area h3 {
            font-size: 1.8rem;
      }
}
/*h4*/
.page_module_area h4 {
      margin-top: 2em;
      margin-bottom: 1em;
      padding-left: 1em;
      font-size: 2.0rem;
      position: relative;
}
.page_module_area h4:before {
      content: "";
      width: 0.6em;
      height: 3px;
      background: var(--col_main);
      position: absolute;
      left: 0;
      top: 0.8em;
}
@media screen and (max-width: 680px) {
      .page_module_area h4 {
            font-size: 1.7rem;
      }
}
/*p*/
.page_module_area p + p {
      margin-top: 1em;
}
/*img*/
.page_module_area img {
      max-width: 100%;
}
.page_module_area .align-center {
      margin: auto;
      text-align: center;
}
.page_module_area .align-left {
      margin: auto 0 auto auto;
      text-align: left;
}
/*a*/
.page_module_area a {}
.page_module_area a {
      text-decoration: underline;
      color: var(--col_link);
}
@media screen and (min-width: 961px), print {
      .page_module_area a:hover {
            text-decoration: none;
      }
}
/*row1*/
.row1 > p {
      display: contents;
}
/*table*/
.page_module_area table {
      line-height: 1.6;
      table-layout: fixed;
      margin: 1em auto 1em 0;
}
.page_module_area table tr:first-child th, .page_module_area table tr:first-child td {
      border-top: 1px solid #a3a3a3;
}
.page_module_area table th, .page_module_area table td {
      padding: 0.6em 1em;
      border-bottom: 1px solid #a3a3a3;
      border-left: 1px solid #a3a3a3;
      word-wrap: break-word;
}
.page_module_area table th:first-child, .page_module_area table td:first-child {
      border-left: none;
}
.page_module_area table th {
      font-weight: bold;
      background: var(--bg_gray_l);
}
.page_module_area table th {
      width: 30%;
}
.page_module_area table td {
      width: 70%;
}
@media screen and (max-width: 680px) {
      .page_module_area table {
            table-layout: fixed;
            width: 100%;
      }
      .page_module_area table th, .page_module_area table td {
            padding: 0.5em;
      }
      .page_module_area table th {
            width: 10%;
      }
      .page_module_area table td {
            width: 20%;
      }
}
/*anchor
-------------------------------------------------------------------------*/
.page_module_area .anchor {
      margin-top: 1em;
      display: flex;
      background: var(--bg_blue_l);
      padding: 1em;
}
.page_module_area .anchor {
      display: flex;
      justify-content: center;
      gap: 1em 5%;
      flex-wrap: wrap;
}
.page_module_area .anchor > li a {
      display: block;
      position: relative;
      color: var(--col_link);
      text-decoration: underline;
      padding-left: 1.5em;
}
.page_module_area .anchor > li a:before, .page_module_area .anchor > li a:after {
      content: "";
      position: absolute;
}
.page_module_area .anchor > li a:before {
      background: url("../images/slide_arrow.svg") no-repeat;
      background-size: contain;
      background-position: top;
      height: 0.7em;
      aspect-ratio: 9/17;
      transform: rotate(-90deg);
      left: 0.5em;
      top: 0.5em;
}
.page_module_area .anchor > li a:after {
      background: var(--col_link);
      width: 0.8em;
      height: 1px;
      top: 1.1em;
      left: 0.3em;
}
@media screen and (min-width: 961px), print {
      .page_link_list > li a:hover {
            text-decoration: none;
      }
}
@media screen and (max-width: 1250px) {
      .page_module_area .anchor {
            max-width: 90%;
      }
}
@media screen and (max-width: 680px) {
      .page_module_area .anchor {
            display: block;
      }
      .page_module_area .anchor > li {
            width: auto;
            margin-bottom: 1em;
      }
}
/*page リスト
-------------------------------------------------------------------------*/
ul.page_list {
      margin: 1em auto;
}
ul.page_list > li {
      position: relative;
      padding-left: 1em;
      margin-bottom: 0.5em;
}
ul.page_list > li:before {
      position: absolute;
      content: "";
      border: 4px solid transparent;
      border-left: 6px solid var(--col_main);
      top: 0.5em;
      box-sizing: border-box;
      left: 0;
}
ul.page_list > li a {
      text-decoration: underline;
      color: var(--col_link);
}
@media screen and (min-width: 961px), print {
      ul.page_list > li a:hover {
            text-decoration: none;
      }
}
/*.page_module_area ul.anchor > li {
      padding-left: 0 !important;
}
.page_module_area ul.anchor > li:before ,.page_module_area ul.page_bnr_list > li:before  {
      content: none !important;
}*/
/*page_link_li*/
ul.page_link_li > li {
      position: relative;
      padding-left: 1em;
      margin-bottom: 1em;
}
ul.page_link_li > li:before {
      position: absolute;
      content: "";
      border: 4px solid transparent;
      border-left: 6px solid var(--col_main);
      top: 0.5em;
      box-sizing: border-box;
}
ul.page_link_li > li a {
      text-decoration: underline;
      color: var(--col_link);
}
@media screen and (min-width: 961px), print {
      ul.page_link_li > li a:hover {
            text-decoration: none;
      }
}
/*動画レスポンシブ用
-------------------------------------------------------------------------*/
.palent {
      width: auto !important;
}
.palent .child {
      width: 48% !important;
      margin-top: 1em;
}
.child > iframe {
      aspect-ratio: 32/18 !important;
      width: 100% !important;
      height: auto !important;
}
@media screen and (max-width: 680px) {
      .palent {
            display: block !important;
      }
      .palent .child {
            width: auto !important;
      }
}
/*固定ページ用バナーリスト
-------------------------------------------------------------------------*/
.page_bnr_list > li + li {
      margin-top: 1em;
}
/*固定ページ用QA
-------------------------------------------------------------------------*/
.page_qa_list > li + li {
      margin-top: 1em;
}
.page_qa_title {
      margin: 0em;
      display: inline-block;
      position: relative;
      top: 3px;
      padding: 0 .5em;
      line-height: 1.5em;
      color: #000000;
      background: #D3E173;
      font-weight: bold;
      border-radius: 5px 5px 0 0;
}
.page_qa_box {
      background: rgba(255, 255, 255, 0);
      border: solid 3px #D3E173;
      border-radius: 0 5px 5px;
      padding: 20px;
      font-size: 100%;
}
.page_qa_box img {
      display: block;
      margin-top: 1em;
}
/*芸人伝ギャラリー機能無効化用
-------------------------------------------------------------------------*/
.geininden_gallery_none .gallery-icon a {
      pointer-events: none !important;
      tabindex: -1 !important;
}
/*固定ページ用ギャラリー
-------------------------------------------------------------------------*/
.gallery {
      display: flex;
      flex-wrap: wrap;
      gap: 0 3%;
}
.gallery-item {
      float: none !important;
      width: 31% !important;
}
@media screen and (max-width: 680px) {
      .gallery {
            display: block !important;
      }
      .gallery-item {
            width: auto !important;
      }
}
/*about_g_map*/
.about_g_map iframe {
      width: 100% !important;
}
/*book_list
---------------------------------------------------------*/
.book_list {
      display: flex;
      flex-wrap: wrap;
      gap: 2em 3%;
}
.book_list > li {
      width: calc((100% /3) -3%);
}
@media screen and (max-width: 680px) {
      .book_list {
            gap: 2em 2%;
      }
      .book_list > li {
            width: 48%;
      }
}
/*サイトマップリスト
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
.parent_pages_list {
      display: flex;
      flex-wrap: wrap;
      gap: 2em 4%;
}
.parent_pages_list > li {
      width: calc((100% / 3) - 4%);
}
.parent_pages_list li a {
      position: relative;
      display: block;
      -webkit-transition: all 0.15s ease;
      transition: all 0.15s ease;
}
.parent_pages_list > li > a {
      font-weight: 700;
      padding: 0.5em 1.5em 0.5em 0.5em;
}
.parent_pages_list > li > a:before, .parent_pages_list > li > a:after {
      content: "";
      position: absolute;
}
.parent_pages_list > li > a:before {
      background: #a3a3a3;
      width: 100%;
      height: 1px;
      bottom: 0;
      left: 0;
}
.parent_pages_list > li > a:after {
      background: url("../images/arrow_02.svg") no-repeat;
      background-size: contain;
      aspect-ratio: 84/150;
      height: 0.8em;
      top: 50%;
      right: 0.5em;
      transform: translate(-0%, -50%);
}
.child_pages {
      margin-left: 1em;
      margin-top: 1em;
}
.child_pages li a {
      padding-left: 1em;
}
.child_pages li a:before {
      position: absolute;
      width: 0.5em;
      height: 1px;
      left: 0;
      top: 0.8em;
      background: var(--col_gray_d);
      content: "";
}
@media screen and (min-width: 961px), print {
      .parent_pages_list li a:hover {
            background: var(--bg_blue_l);
      }
}
@media screen and (max-width: 961px) {
      .parent_pages_list li a {
            text-decoration: underline;
      }
}
@media screen and (max-width: 680px) {
      .parent_pages_list {
            display: block;
      }
      .parent_pages_list > li {
            width: auto;
            margin-bottom: 1em;
      }
}
/*フロアマップ
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 680px) {
      .floormap_sp_pd {
            padding-top: 5em !important;
      }
}
.midashi_box_title {
      color: #FFFFFF;
      font-weight: 700;
      width: auto !important;
      margin: 0px;
      padding: 0.5em 0.8em;
      background-color: #0d7c32;
      background-image: none;
}
.midashi_box .text_box {
      background-color: #d6edba;
      padding: 1em;
}
/*座席表
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
.img_map_flex {
      display: flex;
      justify-content: space-between;
}
.img_map_flex .img_map_box {
      width: 50%;
}
.img_map_flex .img_map_box img {
      max-width: 100%;
}
.img_map_flex .img_map {
      width: 40%;
      padding: 0 0.8em 0.8em 0.8em;
      background: var(--bg_blue_l);
}
.img_map_flex .img_map img {
      width: 100%;
}
.img_map_title {
      background: var(--bg_blue_l);
      padding: 0.5em 0.8em;
      font-weight: 700;
}
@media screen and (max-width: 680px) {
      .img_map_flex {
            display: block;
      }
      .img_map_flex .img_map_box {
            width: auto;
      }
      .img_map_flex .img_map {
            width: 70%;
            margin: 2em auto auto auto;
      }
}