/* ========================================================
	template.css => テンプレート用CSS
======================================================== */
html, body {
      width: 100%;
      overflow-x: hidden;
}
html {
      font-size: 62.5%;
      font-feature-settings: "palt";
}
/*print*/
@page {
      margin: 10mm;
      size: 210mm 297mm; /* A4縦サイズの場合 */
}
@media print {
      body {
            -webkit-print-color-adjust: exact; /* 印刷時でも背景色や背景画像を表示 */
            width: 1190px; /* 印刷時の全ページ幅を統一（px数値はお好みで） */
      }
      #header {
            width: calc(100% - 4vw) !important;
            position: relative !important;
      }
      #header.fixed {
            position: relative !important;
      }
      .header_cv {
            position: relative !important;
            top: -170px !important;
            right: auto !important;
            left: calc(100% - 600px) !important;
      }
      img {
            max-width: 100%;
      }
}
/*print end*/
/*文字サイズはjs依存です。*/
@media screen and (max-width: 1370px) {
      html {
            font-size: 0.8vw;
      }
}
@media screen and (max-width: 960px) {
      html {
            font-size: 1.1vw;
      }
}
@media screen and (max-width: 680px) {
      html {
            font-size: clamp(0.5rem, 0.056rem + 2.22vw, 1rem);
      }
}
body {
      background-color: #fff;
      font-size: 10px;
      font-size: 1rem;
      line-height: 1.7;
      color: #222222;
      font-family: "Zen Kaku Gothic New", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
      -webkit-text-size-adjust: 100%;
}
table {
      border-collapse: collapse;
      border-spacing: 0;
      line-height: 1.7;
}
a {
      text-decoration: none;
      transition: color 0.2s, background-color 0.2s, background-image 0.2s, border 0.2s, opacity 0.2s;
      color: #212121;
}
label {
      cursor: pointer;
}
input, select, textarea, button {
      margin: 0;
      vertical-align: middle;
      font-family: inherit;
      outline: none;
      font-size: 100%;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
}
button {
      cursor: pointer;
}
iframe {
      vertical-align: middle;
}
@media screen and (max-width: 960px) {
      img {
            max-width: 100%;
            height: auto;
            -webkit-box-sizing: border-box;
            -moz-box-sizing: border-box;
            box-sizing: border-box;
      }
      iframe {
            max-width: 100%;
            height: 200px;
      }
}
@media screen and (min-width: 1200px), print {
      a.tel_link[href^="tel:"] {
            pointer-events: none;
            tabindex: -1;
      }
}
.link_style {
      text-decoration: underline;
      color: var(--col_link);
}
@media screen and (min-width: 961px), print {
      .link_style:hover {
            text-decoration: none;
      }
}
/*font*/
.mincho {
      font-family: var(--font_min);
}
/* pc / tab / sp
============================================================================================================ */
.sp {
      display: none;
}
.pc {
      display: block;
}
.tab {
      display: none;
}
.pc_tab {
      display: block;
}
.tab_sp {
      display: none;
}
.sp_680 {
      display: none;
}
@media screen and (max-width: 960px) {
      .pc {
            display: none !important;
      }
      .tab {
            display: block !important;
      }
      .sp {
            display: none;
      }
      .tab_sp {
            display: block !important;
      }
}
@media screen and (max-width: 680px) {
      .sp_680 {
            display: block !important;
      }
      .pc_tab_680 {
            display: none !important;
      }
}
@media screen and (max-width: 480px) {
      .tab {
            display: none !important;
      }
      .sp {
            display: block !important;
      }
      .pc_tab {
            display: none !important;
      }
      .tab_sp {
            display: block !important;
      }
}
/* sp
============================================================================================================ */
@media screen and (max-width: 960px) {
      *[data-label] img {
            display: none;
      }
      *[data-label]:before {
            content: attr(data-label);
      }
      *[data-label-r]:after {
            content: attr(data-label-r);
      }
}
/* w
============================================================================================================ */
.w16 {
      max-width: 1652px;
      margin: 0 auto;
}
.w15 {
      max-width: 1500px;
      margin: 0 auto;
}
.w13 {
      max-width: 1360px;
      margin: 0 auto;
}
.w12 {
      max-width: 1200px;
      margin: 0 auto;
}
.w {
      max-width: 1000px;
      margin: 0 auto;
}
/* ヘッダー
============================================================================================================ */
#header {
      padding: 0 1vw 0 2vw;
      font-size: 1.6rem;
      position: fixed;
      width: 100%;
      z-index: 8888;
      background: #fff;
      box-sizing: border-box;
}
#header .head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      height: 120px;
}
.head_inner {
      width: 100%;
}
@media screen and (max-width: 960px) {
      #header {
            height: 60px;
            padding-left: 5vw;
      }
      #header .head {
            height: 60px;
      }
}
/* logo
---------------------------------------------------------------------------------------------------------------*/
#header .logo {
      width: 210px;
}
#header .logo img {
      width: 100%;
}
@media screen and (max-width: 680px) {
      #header .logo {
            width: 160px;
      }
}
/* header_parts 検索 フォントサイズ
---------------------------------------------------------------------------------------------------------------*/
.header_parts {
      display: flex;
      justify-content: flex-end;
}
/*search_area
--------------------------------------------------------*/
.search_area {
      height: 65px;
      margin-right: 4em;
      display: flex;
      flex-direction: column;
      justify-content: center;
}
.search_area > * {
      border-bottom: solid 2px var(--col_main);
}
.search_area input[type=text] {
      padding: 4px;
      border-radius: 0;
      outline: none;
      -moz-appearance: none;
      appearance: none;
      -webkit-appearance: none;
      border: none;
      box-sizing: border-box;
      font-size: 1.6rem;
      margin: 0;
}
.search_area input[type=text] ::placeholder {
      color: var(--col_gray);
}
.btn_ico_search {
      width: 1em;
}
@media screen and (min-width: 961px), print {
      .nav_inner .search_area {
            display: none;
      }
}
@media screen and (max-width: 960px) {
      .header_parts {
            display: none;
      }
      /*search_area sp*/
      .search_area {
            padding: 0.5em;
            margin: 1em auto;
            width: calc(85% - 1em);
            height: auto;
            margin-right: auto;
            background: var(--bg_gray_l2);
      }
      .search_area > * {
            border-bottom: none;
      }
      .search_area input[type=text] {
            background: var(--bg_gray_l2);
            width: calc(100% - 1.5em);
      }
}
/*.fz_area 
--------------------------------------------------------*/
.fz_area {
      display: flex;
      justify-content: flex-end;
      align-items: center;
}
.font_size_label {
      margin-right: 1em;
}
.font_size_options {
      display: flex;
      gap: 0.2em;
      align-items: center;
}
.font_size_button {
      border: 1px solid var(--line_gray);
      padding: 0.2em 0;
      cursor: pointer;
      transition: all 0.2s ease;
      font-size: 0.9em;
      text-align: center;
      width: 4.8rem;
}
.font_size_button:focus-visible {
      outline: 2px solid #000;
      transition: all 0.2s ease;
}
.font_size_button:hover {
      background: var(--bg_blue_l);
      color: var(--col_main);
      transition: all 0.2s ease;
}
.font_size_button.active {
      background: var(--bg_blue_l);
      color: var(--col_main);
      transition: all 0.2s ease;
}
.font_size_button:disabled {
      opacity: 0.5;
      cursor: not-allowed;
}
/* アクセシビリティ向上 */
@media (prefers-reduced-motion: reduce) {
      .font_size_button {
            transition: none;
      }
      .font_size_button:hover {
            transform: none;
      }
}
@media screen and (max-width: 960px) {
      .fz_area {
            display: none;
      }
}
/*.box_sns
--------------------------------------------------------*/
.box_sns {
      display: flex;
      align-items: center;
}
.box_sns {
      display: flex;
      align-items: center;
}
.box_sns_ico span {
      padding-right: 0.5em;
      margin-right: 0.5em;
      border-right: 2px solid var(--line_gray);
}
.box_sns_ico img {
      width: 1.8rem;
}
.box_sns_ico a {
      height: 55px;
      padding: 0 1em;
      display: flex;
      justify-content: center;
      align-items: center;
      position: relative;
}
@media screen and (min-width: 961px), print {
      /*hover*/
      /*      .box_sns_ico:hover img {
            filter: invert(100%) brightness(100%);
      }*/
      #header nav .box_sns_ico a:after {
            content: "";
            position: absolute;
            bottom: -4px;
            left: 0;
            width: 100%;
            height: 0px;
            background: var(--col_main);
            opacity: 0;
            visibility: hidden;
            transition: all 0.3s ease;
      }
      #header nav .box_sns_ico a:hover:after {
            bottom: 0px;
            opacity: 1;
            visibility: visible;
            height: 2px;
      }
}
/*header用*/
@media screen and (min-width: 961px), print {
      #header .box_sns_ico span {
            display: none;
      }
}
@media screen and (max-width: 960px) {
      #header .box_sns_ico {
            padding: 0.5em 0;
      }
}
/* globalnavi nav______________________________________________________________________________*/
/*ps sp　だし分け*/
#header .head_sp {
      display: none;
      tabindex: -1;
}
#header .foot_pc {
      display: none;
      tabindex: -1;
}
@media screen and (max-width: 960px) {
      #header .head_pc {
            display: none;
      }
      #header .head_sp {
            display: block;
      }
      #header .foot_pc {
            display: none;
      }
}
/*globalnavi  nav_____*/
@media screen and (min-width:961px), print {
      #header nav .nav_inner {
            display: flex;
            justify-content: flex-end;
      }
      #header nav #global_sub {
            display: none;
      }
      #header nav #global, #header nav #global .global_list {
            display: contents;
      }
      #header nav #global > .global_list > li > a {
            display: flex;
            align-items: center;
            padding: 0 1.5vw;
            height: 55px;
            position: relative;
            font-size: 1.7rem;
      }
      #header nav #global .global_list > li > a:after {
            content: "";
            position: absolute;
            bottom: -4px;
            left: 0;
            width: 100%;
            height: 0px;
            background: var(--col_main);
            opacity: 0;
            visibility: hidden;
            transition: all 0.3s ease;
      }
      #header nav #global .global_list > li:hover > a:after {
            bottom: 0px;
            opacity: 1;
            visibility: visible;
            height: 2px;
      }
      /*第2
	-----------------------------------------------------*/
      #header nav #global .nav_under {
            position: absolute;
            left: 0;
            top: 130px;
            z-index: 10;
            min-width: 100%;
            transition: all 0.15s ease;
            width: 100%;
            background: #fff;
            box-shadow: 0px 8px 6px 0px rgb(000, 000, 000, 0.1);
            height: 0;
            overflow: hidden;
            opacity: 0;
            /*開発用*/
            /*     overflow: visible;
            opacity: 1;
            height: auto;*/
      }
      /*第2 デザイン
	-----------------------------------------------------*/
      #header nav #global .nav_under_inner {
            width: 1100px;
            margin: auto;
            padding: 4em 0;
            display: flex;
            gap: 0 7%;
            align-items: flex-start;
      }
      .nav_under_title {
            font-size: 2.0rem;
            width: 15%;
      }
      .nav_under_title a {
            display: block;
            position: relative;
            padding-left: 1em;
            letter-spacing: 2px;
      }
      .nav_under_title a:before {
            content: "";
            background: var(--col_main);
            width: 1px;
            height: 100%;
            position: absolute;
            left: 0;
            top: 0;
      }
      #header nav #global .nav_under_inner ul {
            display: flex;
            flex-wrap: wrap;
            width: 78%;
            border-top: 1px solid var(--line_gray_l);
            border-bottom: 1px solid var(--line_gray_l);
            overflow: hidden;
      }
      #header nav #global .nav_under_inner ul > li {
            position: relative;
            width: calc((100% / 3) - 2px);
            padding: 0.1em 1px;
      }
      #header nav #global .nav_under_inner ul > li:before {
            content: "";
            width: calc(100% *3);
            bottom: 0;
            left: 0;
            height: 1px;
            background: var(--line_gray_l);
            position: absolute;
      }
      #header nav #global .nav_under_inner ul > li:nth-last-of-type(-n+3):before {
            content: none;
      }
      #header nav #global .nav_under_inner ul > li a {
            position: relative;
            display: block;
            padding: 1em 0 1em 1em;
      }
      #header nav #global .nav_under_inner ul > li a:before {
            position: absolute;
            width: 0.5em;
            height: 1px;
            left: 0;
            top: calc(1em + 0.8em);
            background: var(--col_gray_d);
            content: "";
      }
      /*第2 open pc focused
	--------------------------------*/
      #header nav #global .global_list > li:hover .nav_under, #header nav #global .nav_under.focused {
            overflow: visible;
            opacity: 1;
            height: auto;
            top: 120px;
      }
      #header nav .nav_down {
            display: none;
      }
}
/*nav__ tab
------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 1400px) {
      .font-Large #header nav #global > .global_list > li > a {
            font-size: 1.4rem;
            padding: 0 1.0vw;
      }
}
@media screen and (max-width: 1370px) {
      #header nav #global > .global_list > li > a {
            font-size: 1.4rem;
            padding: 0 1.0vw;
      }
}
/*nav__ sp
------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 960px) {
      #header nav #global {
            display: block;
            margin-right: 0;
            font-size: 1.6rem;
            width: 85%;
            margin: auto;
            border-bottom: 1px solid var(--line_gray_l);
      }
      #header nav {
            position: fixed;
            overflow: hidden;
            width: 100%;
            top: 60px;
            right: 0;
            pointer-events: none;
            opacity: 0;
            visibility: hidden;
            -webkit-transition: all 0.3s ease;
            -o-transition: all 0.3s ease;
            transition: all 0.3s ease;
            /*開発用*/
            /*        opacity: 1;
            visibility: visible;
            height: -webkit-calc(100% - 60px);
            height: calc(100% - 60px);*/
      }
      /*第1　open
	-------------------------------------------------------------*/
      #header.open nav {
            opacity: 1;
            visibility: visible;
            height: -webkit-calc(100% - 60px);
            height: calc(100% - 60px);
      }
      #header nav > div {
            height: 100%;
            overflow-y: scroll;
            -webkit-overflow-scrolling: touch;
      }
      #header nav > div > div {
            height: 100%;
            overflow-y: auto;
            background: #fff;
            pointer-events: auto;
      }
      #header nav #global .global_list {
            display: contents;
      }
      #header nav #global .global_list > li {
            position: relative;
            border-top: 1px solid var(--line_gray_l);
      }
      #header nav #global > .global_list > li > a {
            font-size: 1.6rem;
            display: block;
            padding: 1em 0;
            height: auto;
            position: relative;
      }
      #header nav #global > li a:after {
            content: "";
            position: absolute;
            margin: auto;
            top: 0;
            bottom: 0;
            right: 12px;
            width: 5px;
            height: 5px;
            border-top: 1px solid #fff;
            border-right: 1px solid #fff;
            transform: rotate(45deg);
      }
      #header nav #global > li.has_snav > a:after {
            content: none;
      }
      /*第2 デザイン
	--------------------------------------------------------*/
      #header nav #global .nav_under_title {
            display: none;
      }
      #header nav #global .global_list .nav_under ul {
            height: 0;
            visibility: hidden;
            opacity: 0;
            transition: all 0.2s;
      }
      #header nav #global .global_list .nav_under.open ul {
            height: auto;
            visibility: visible;
            opacity: 1;
            border-top: 1px solid var(--line_gray_l);
      }
      #header nav #global > .global_list ul > li a {
            font-size: 1.5rem;
            display: block;
            position: relative;
            padding: 0.5em 0 0.5em 1em;
      }
      /*1番目の処理*/
      #header nav #global > .global_list ul > li:first-child a {
            padding: 1em 0 0.5em 1em;
      }
      #header nav #global > .global_list ul > li:last-child a {
            padding: 0.5em 0 1em 1em;
      }
      #header nav #global > .global_list ul > li a:before {
            position: absolute;
            width: 0.5em;
            height: 1px;
            left: 0;
            top: calc(0.5em + 0.8em);
            background: var(--col_gray_d);
            content: "";
      }
      #header nav #global > .global_list ul > li:first-child a:before {
            top: calc(1em + 0.8em);
      }
      #header nav #global > .global_list ul > li:last-child a:before {
            top: calc(1em + 0.3em);
      }
      /* plus icon 
--------------------------------------------------------*/
      #header nav .nav_down {
            position: absolute;
            right: 0;
            top: 0px;
            width: 2.5em;
            height: 3.75em;
            z-index: 10;
      }
      #header nav #global .has_snav > .nav_down:before, #header nav #global .has_snav > .nav_down:after {
            background-color: var(--col_main);
            content: "";
            display: block;
            position: absolute;
            -webkit-transition: all 0.2s;
            -o-transition: all 0.2s;
            transition: all 0.2s;
      }
      #header nav #global .has_snav > .nav_down:after {
            right: 0px;
            top: 50%;
            width: 15px;
            height: 1px;
      }
      #header nav #global .has_snav > .nav_down:before {
            right: 7px;
            width: 1px;
            height: 15px;
            top: 50%;
            transform: translate(-0%, -50%);
      }
      #header nav #global .has_snav > .nav_down.open:before {
            transform: translateY(0) rotate(90deg);
            opacity: 0;
      }
      /*#global_sub
	--------------------------------------------------------*/
      #global_sub {
            font-size: 1.5rem;
            margin-top: 2em;
            background: #f5f7f8;
            display: flex;
            flex-wrap: wrap;
            gap: 0.5em 0;
            padding: 0.5em 0;
            justify-content: center;
      }
      #global_sub li {
            width: auto;
      }
      #global_sub li a {
            display: block;
            padding: 0.4em 1em;
      }
}
@media screen and (max-width: 680px) {
      #global_sub {
            justify-content: flex-start;
      }
      #global_sub li {
            width: 50%;
      }
}
/* nav ハンバーガー
------------------------------------------------------------- */
#header .nav_btn {
      display: none;
}
@media screen and (max-width: 960px) {
      #header .nav_btn {
            display: block;
            position: absolute;
            right: 0;
            top: 0;
            color: var(--col_main);
            height: 60px;
      }
      #header .nav_btn > span {
            position: relative;
            display: flex;
            justify-content: flex-end;
            align-items: center;
            flex-direction: column;
            width: 60px;
            height: 55px;
      }
      #header .nav_btn:before, #header .nav_btn > span:before, #header .nav_btn > span:after {
            content: "";
            position: absolute;
            left: 16px;
            right: 16px;
            top: 50%;
            height: 3px;
            margin-top: -1px;
            background-color: var(--col_main);
            -webkit-transition: all 0.2s;
            -o-transition: all 0.2s;
            transition: all 0.2s;
      }
      #header .nav_btn:before {
            content: none;
      }
      #header .nav_btn > span:before {
            transform: translateY(-12px);
      }
      #header .nav_btn > span:after {
            transform: translateY(-3px);
      }
      /* open */
      #header.open .nav_btn:before {
            opacity: 0;
      }
      #header.open .nav_btn .menu_btn {
            opacity: 0;
      }
      #header.open .nav_btn > span:before {
            transform: translateY(0) rotate(45deg);
      }
      #header.open .nav_btn > span:after {
            transform: translateY(0) rotate(-45deg);
      }
}
@media screen and (max-width: 680px) {
      #header .nav_btn {
            font-size: 1.2rem;
      }
      #header .nav_btn > span:before {
            transform: translateY(-6px);
      }
      #header .nav_btn > span:after {
            transform: translateY(1px);
      }
}
/* fixed
------------------------------------------------------------- */
#header.fixed {
      box-shadow: 0px 4px 3px rgba(0, 0, 0, 0.12);
}
@media print {
      #header {
            position: relative !important;
      }
      #header.fixed {
            position: relative !important;
      }
}
/* header_cv
______________________________________________________________________________*/
.header_cv {
      position: fixed;
      z-index: 7777;
}
@media screen and (min-width:961px), print {
      .header_cv {
            right: 0;
            top: 20%;
            font-size: 1.7rem;
      }
      .header_cv_list > li {
            width: 7.0rem;
            display: flex;
            justify-content: center;
            align-items: center;
            flex-direction: column;
      }
      .header_cv_list > li + li {
            margin-top: 10px;
      }
      .header_cv_list > li a {
            width: 100%;
            padding: 1.2em 0;
            display: flex;
            justify-content: center;
            align-items: center;
            flex-direction: column;
            background: var(--col_main);
            color: #fff;
            border: solid 1px var(--col_main);
            line-height: 1.2;
            box-sizing: border-box;
            -webkit-transition: all 0.2s ease;
            transition: all 0.2s ease;
            writing-mode: vertical-rl;
            -ms-writing-mode: tb-rl;
      }
      .vertical_row {
            writing-mode: horizontal-tb;
      }
      .header_cv a br {
            display: none;
      }
      .header_cv_br {
            display: block !important;
      }
      .header_cv a:hover, .header_cv a:focus {
            background: var(--bg_blue_l);
            color: var(--col_main);
      }
}
@media screen and (max-width: 1370px) {
      .header_cv {
            font-size: 1.3rem;
      }
      .header_cv_list > li {
            width: 4em;
      }
}
@media screen and (max-width: 960px) {
      .header_cv {
            border-top: 1px solid #fff;
            position: fixed;
            bottom: 0;
            left: 0;
            width: 100%;
      }
      .header_cv_list {
            display: flex;
            justify-content: space-between;
      }
      .header_cv_list > li {
            width: calc(100% / 3);
            text-align: center;
      }
      .header_cv_list > li + li {
            border-left: 1px solid #fff;
      }
      .header_cv_list > li a {
            text-align: center;
            background: var(--col_main);
            color: #fff;
            display: flex;
            justify-content: center;
            align-items: center;
            flex-direction: column;
            height: 100%;
            width: 100%;
            line-height: 1.2;
      }
      .header_cv a br {
            display: none;
      }
      .header_cv_br {
            display: block !important;
      }
}
@media screen and (max-width: 680px) {
      .header_cv a br {
            display: block;
      }
}
/*アイコン
----------------------------------------------------*/
.header_cv a .header_cv_li_inner {
      display: block;
      padding-top: 2em;
      position: relative;
}
.header_cv a .header_cv_li_inner:before {
      content: "";
      position: absolute;
      top: 0;
      left: 50%;
      transform: translate(-50%, -0%);
      filter: brightness(0) invert(1);
}
.header_cv_ticket a .header_cv_li_inner:before {
      background: url("../images/ico_beginner.svg") no-repeat;
      aspect-ratio: 14/19;
      width: 1.4rem;
}
.header_cv_tweb a .header_cv_li_inner:before {
      background: url("../images/ico_ticket.svg") no-repeat;
      aspect-ratio: 20/15;
      width: 2.0rem;
}
.header_cv_access a .header_cv_li_inner:before {
      background: url("../images/ico_access.svg") no-repeat;
      aspect-ratio: 14/23;
      width: 1.4rem;
}
.header_cv_dantai a .header_cv_li_inner:before {
      background: url("../images/ico_dantai.svg") no-repeat;
      aspect-ratio: 32/24;
      width: 3.1rem;
}
@media screen and (min-width:961px), print {
      .header_cv a:hover .header_cv_li_inner:before, .header_cv a:focus .header_cv_li_inner:before {
            filter: none;
      }
}
@media screen and (max-width: 960px) {
      .header_cv a .header_cv_li_inner {
            padding-top: 0.8em;
            padding-bottom: 0.8em;
            padding-left: 1.8em;
      }
      .header_cv a .header_cv_li_inner:before {
            top: 50%;
            left: 0;
            transform: translate(-0%, -50%);
      }
      .header_cv_ticket a .header_cv_li_inner:before {
            width: 1.6rem;
      }
      .header_cv_tweb a .header_cv_li_inner:before {
            width: 2.2rem;
      }
      .header_cv_tweb a .header_cv_li_inner {
            padding-left: 2.5em;
      }
      .header_cv_access a .header_cv_li_inner:before {
            width: 1.6rem;
      }
      .header_cv_dantai a .header_cv_li_inner:before {
            width: 3.1rem;
            left: -1.2em;
      }
}
@media screen and (max-width: 680px) {
      .header_cv_ticket a .header_cv_li_inner:before {
            width: 1.2rem;
      }
      .header_cv_tweb a .header_cv_li_inner:before {
            width: 1.7rem;
      }
      .header_cv_tweb a .header_cv_li_inner {
            padding-left: 3em;
      }
      .header_cv_access a .header_cv_li_inner:before {
            width: 1.2rem;
      }
      .header_cv_dantai a .header_cv_li_inner:before {
            width: 2.2rem;
            left: -0.2em;
      }
}
@media screen and (max-width: 480px) {
      .header_cv_tweb a .header_cv_li_inner {
            padding-left: 1.7em;
      }
}
/* footer_______
============================================================================================================ */
footer {
      background: var(--bg_gray_l2);
      font-size: 1.5rem;
}
.foot_area {
      width: 1360px;
      margin: auto;
      padding: 5em 0 0 0;
}
@media screen and (max-width: 1370px) {
      .foot_area {
            width: 95%;
            margin: auto auto auto 2.5%;
      }
}
@media screen and (max-width: 960px) {
      footer {
            padding: 0em 0 3.5em 0;
      }
}
@media screen and (max-width: 680px) {
      footer {
            padding: 0em 0 4.5em 0;
      }
      .foot_area {
            width: 90%;
            margin: auto auto auto auto;
            padding: 3em 0 0 0;
      }
}
/*foot_grid
------------------------------------------------------------------------------*/
@media screen and (min-width: 961px), print {
      .foot_grid {
            display: grid;
            grid-template-columns: 28% 72%;
            grid-template-rows: repeat(3, auto);
            /*grid-column-gap: 0px;
grid-row-gap: 0px;*/
      }
      .foot_info {
            grid-area: 1 / 1 / 3 / 2;
      }
      .foot_cap {
            grid-area: 3 / 1 / 5 / 2;
      }
      .foot_cv {
            grid-area: 1 / 2 / 2 / 3;
      }
      .foot_nav_cont {
            grid-area: 2 / 2 / 5 / 3;
      }
}
/*foot_info
--------------------------------------------------------------------------------*/
.foot_info {
      letter-spacing: 1px;
}
/*logo
--------------------------------------------------------------------------------*/
.foot_info .foot_logo {
      width: 23rem;
      margin-bottom: 10px;
}
.foot_info .foot_logo img {
      width: 100%;
      mix-blend-mode: darken;
}
@media screen and (max-width: 680px) {
      .foot_info .foot_logo {
            margin: auto auto 1em auto;
            width: 20rem;
      }
}
/*box_sns_ico
--------------------------------------------------------------------------------*/
footer .box_sns_ico a {
      padding: 0 0;
}
/*foot_cap
--------------------------------------------------------------------------------*/
.foot_cap {
      letter-spacing: 0.5px;
      font-size: 1.4rem;
}
.foot_cap_link {
      text-decoration: underline;
}
@media screen and (min-width: 961px), print {
      .foot_cap_link:hover {
            text-decoration: none;
      }
}
@media screen and (max-width: 680px) {
      .foot_cap {
            padding-top: 0.5em;
            font-size: 1.3rem;
            text-align: center;
      }
}
/*foot_cv
--------------------------------------------------------------------------------*/
.foot_cv {
      display: flex;
      gap: 0 4%;
      align-items: center;
      border-bottom: 1px solid var(--bg_gray_l);
      padding-bottom: 2em;
}
.foot_cv_btn {
      width: 27%;
}
.cv_tel_flex {
      align-items: center;
      font-size: 1.5rem;
      display: flex;
      justify-content: center;
      width: 73%;
}
.cv_tel_flex > * {
      width: 40%;
      position: relative;
      padding-left: 3em;
      /*border: solid 1px red;*/
}
.cv_tel_flex > * + *:after {
      content: "";
      position: absolute;
      top: 50%;
      left: 0;
      transform: translate(-0%, -50%);
}
.cv_tel_flex > * + * {
      margin-left: 2.0em;
}
.cv_tel_flex > * + *:after {
      background: var(--bg_gray_l);
      height: 80%;
      width: 1px;
      left: -3.5em;
}
@media screen and (max-width: 1370px) {
      .cv_tel_flex {
            font-size: 1.3rem;
      }
}
@media screen and (max-width: 960px) {
      .foot_cv {
            padding-top: 1em;
      }
}
@media screen and (max-width: 680px) {
      .foot_cv {
            display: block;
            border-bottom: none;
            padding-bottom: 1em;
      }
      .foot_cv_btn {
            width: auto;
            margin: auto;
            max-width: 32rem;
            padding-top: 0.5em;
      }
      .cv_tel_flex {
            max-width: 32rem;
            margin: auto;
            padding-top: 2em;
            font-size: 1.4rem;
            width: auto;
            gap: 2%;
      }
      .cv_tel_flex > * {
            text-align: center;
            width: 49%;
            padding-left: 0;
      }
      .cv_tel_flex > * + *:after {
            content: none;
      }
      .cv_tel_flex > * + * {
            margin-left: 0;
      }
}
/*btn*/
.cv_tel_btn:before, .cv_tel_ticket_btn:before {
      content: "";
      position: absolute;
      top: 50%;
      left: 0;
      transform: translate(-0%, -50%);
}
/*cv_tel_btn*/
.cv_tel_btn:before {
      background: url("../images/ico_tel.svg") no-repeat;
      width: 2.1em;
      aspect-ratio: 1/1;
}
.cv_tel_ticket_btn {
      padding-left: 3.4em;
}
/*cv_tel_ticket_btn*/
.cv_tel_ticket_btn:before {
      background: url("../images/ico_tell_ticket.svg") no-repeat;
      width: 2.6em;
      aspect-ratio: 41/37;
}
.cv_tel_num {
      line-height: 1.0;
      color: var(--col_main);
      font-weight: 900;
      font-size: 2.4em;
      letter-spacing: 1px;
}
@media screen and (max-width: 680px) {
      .cv_tel_flex_btn a {
            padding: 3.5em 0 0.5em 0;
            display: block;
            background: #fff;
            border: solid 1px var(--col_main);
      }
      .cv_tel_ticket_btn {
            padding-left: 0;
      }
      .cv_tel_btn:before, .cv_tel_ticket_btn:before {
            top: 0.8em;
            left: 50%;
            transform: translate(-50%, -0%);
      }
      .cv_tel_num {
            font-size: 1.57em;
      }
}
/*foot_cv_btn*/
.foot_cv_btn > * {
      width: 100%;
      text-align: center;
      display: inline-flex;
      justify-content: center;
      align-items: center;
      border: solid 1px var(--col_main);
      padding: 0.8em 0 0.8em 1.5em;
      background: var(--col_main);
      transition: 0.3s;
      box-sizing: border-box;
      color: #fff;
      font-size: 1.7rem;
}
.foot_cv_btn > *:hover, .foot_cv_btn > *:focus {
      background: #fff;
      color: var(--col_main);
}
/*btn_mail
-------------------------------------*/
.btn_mail > * span {
      position: relative;
}
.btn_mail > * span:before {
      content: "";
      background: url("../images/ico_mail.svg") no-repeat;
      background-size: contain;
      position: absolute;
      aspect-ratio: 26/17;
      width: 2.6rem;
      top: 50%;
      left: -2em;
      transform: translate(-0%, -50%);
      filter: brightness(0) invert(1);
}
@media screen and (min-width: 961px), print {
      .btn_mail > *:hover span:before, .btn_mail > *:focus span:before {
            filter: none;
      }
}
/*btn_ticket
-------------------------------------*/
.btn_ticket > * span {
      position: relative;
      padding-left: 2em;
}
.btn_ticket > * span:before {
      content: "";
      background: url("../images/ico_ticket.svg") no-repeat;
      background-size: contain;
      position: absolute;
      aspect-ratio: 26/17;
      width: 2.6rem;
      top: 50%;
      left: 0em;
      transform: translate(-0%, -50%);
      filter: brightness(0) invert(1);
}
@media screen and (min-width: 961px), print {
      .btn_ticket > *:hover span:before, .btn_ticket > *:focus span:before {
            filter: none;
      }
}
/*foot nav_____
--------------------------------------------------------------------------------*/
/*削除*/
.foot_nav_cont .nav_under_title, .global_list_03, .foot_nav_cont .nav_small {
      display: none;
}
.foot_nav_cont {
      padding-top: 2em;
}
.foot_nav_cont, .global_list_02 {
      display: flex;
}
.foot_nav_cont .global_list_01 {
      width: 25%;
}
.foot_nav_cont .global_list_02 {
      width: 60%;
}
.foot_nav_cont .global_list_02 > * {
      width: calc((100% / 3) + 10%);
}
.foot_nav_cont .global_list_02 > *:nth-child(2) {
      width: calc((100% / 3) - 10%);
}
.foot_nav_cont .global_list_02 > *:nth-child(3) {
      width: calc((100% / 3) - 0);
}
.foot_nav_cont .foot_nav_cont_sub {
      width: 15%;
}
/*パーツデザイン*/
.foot_nav_cont > ul > li, .foot_nav_cont .foot_nav_cont_sub > li {
      margin-bottom: 0.8em;
}
.foot_nav_cont li a:hover {
      text-decoration: underline;
}
/*第2*/
.foot_nav_cont .global_list ul {
      margin-top: 0.5em;
}
.foot_nav_cont .global_list ul > li {
      position: relative;
      padding-left: 1em;
      font-size: 0.9em;
}
.foot_nav_cont .global_list ul > li + li {
      margin-top: 0.5em;
}
.foot_nav_cont .global_list ul li:before {
      position: absolute;
      width: 0.5em;
      height: 1px;
      left: 0;
      top: 0.8em;
      background: var(--col_gray_d);
      content: "";
}
@media screen and (max-width: 960px) {
      .foot_nav_cont {
            display: none;
      }
}
/*foot_site_nav
------------------------------------------------------------- */
.foot_site_nav {
      padding: 1em 0;
      display: flex;
      gap: 0.8em 3%;
      flex-wrap: wrap;
      font-size: 0.9em;
}
.foot_site_nav a:hover {
      text-decoration: underline;
}
@media screen and (max-width: 680px) {
      .foot_site_nav {
            gap: 0.5em 7%;
      }
}
/*bnr_list
-----------------------------------------------------*/
.bnr_area {
      padding: 2em 0;
}
.bnr_list, .bnr_list_02 {
      display: flex;
      gap: 0.5em 1%;
      flex-wrap: wrap;
      align-items: center;
}
.bnr_list > li a, .bnr_list_02 > li a {
      transition: all 0.15s ease;
}
.bnr_list img, .bnr_list_02 img {
      width: auto;
}
.bnr_list + .bnr_list_02 {
      margin-top: 1em;
}
@media screen and (min-width: 961px), print {
      .bnr_list > li a:hover, .bnr_list_02 > li a:hover {
            opacity: 0.7;
      }
}
@media screen and (max-width: 680px) {
      .bnr_list, .bnr_list_02 {
            gap: 0.5em 2%;
      }
      .bnr_list li, .bnr_list_02 li {
            width: 49%;
      }
      .bnr_list img, .bnr_list_02 img {
            width: 100%;
      }
}
/* copyright
------------------------------------------------------------- */
.copyright_area {
      display: block;
      padding: 0.5em 0;
      font-size: 1.2rem;
      background: var(--col_main);
      color: #fff;
}
.copyright_area > * {
      width: 1360px;
      display: block;
      margin: auto;
      letter-spacing: 0.5px;
}
@media screen and (max-width: 1370px) {
      .copyright_area > * {
            width: 95%;
      }
}
@media screen and (max-width: 960px) {
      .copyright {
            font-size: 1.1rem;
      }
      .copyright_area > * {
            width: 90%;
      }
}
/* .page_top
------------------------------------------------------------- */
.page_top {
      position: fixed;
      bottom: 0;
      right: 0;
      z-index: 10;
}
.page_top a {
      display: block;
      width: 6.2rem;
      aspect-ratio: 1;
      text-align: center;
}
.page_top a:hover {
      opacity: 0.8;
}
.page_top a img {
      width: 100%;
}
@media screen and (max-width: 960px) {
      .page_top {
            bottom: 4.5em;
      }
      .page_top a {
            width: 50px;
            height: 48px;
      }
}
/* コンテナ
============================================================================================================ */
#container {
      position: relative;
      font-size: 1.7rem;
      padding-top: 120px;
}
@media screen and (max-width: 960px) {
      #container {
            font-size: 1.6rem;
            padding-top: 60px;
      }
}
.f_16 {
      font-size: 16px;
}
.f_14 {
      font-size: 14px;
}
/* section
============================================================================================================ */
@media screen and (max-width: 1550px) {
      .sp_section_15 {
            max-width: 90%;
            margin: auto;
      }
}
@media screen and (max-width: 1350px) {
      .sp_section_13 {
            max-width: 90%;
            margin: auto;
      }
}
@media screen and (max-width: 1250px) {
      .sp_section_12 {
            max-width: 90%;
            margin: auto;
      }
}
@media screen and (max-width: 1000px) {
      .sp_section_s {
            max-width: 95%;
            margin: auto;
      }
      .sp_section_l {
            max-width: 90%;
            margin: auto;
      }
}
.section_ll + .section_ll {
      margin-top: 13rem;
}
.section_l + .section_l {
      margin-top: 10rem;
}
.section_ml + .section_ml {
      margin-top: 8rem;
}
.section_m + .section_m {
      margin-top: 6rem;
}
.section_s + .section_s {
      margin-top: 3rem;
}
.section_ss + .section_ss {
      margin-top: 2rem;
}
@media screen and (max-width: 680px) {
      .section_ll + .section_ll {
            margin-top: 8rem;
      }
      .section_l + .section_l {
            margin-top: 7rem;
      }
      .section_ml + .section_ml {
            margin-top: 6rem;
      }
      .section_m + .section_m {
            margin-top: 4em;
      }
      .section_s + .section_s {
            margin-top: 3rem;
      }
      .section_ss + .section_ss {
            margin-top: 2rem;
      }
}
/* padding
============================================================================================================ */
.pd_l3 {
      padding-top: 15rem;
      padding-bottom: 15rem;
}
.pdt_l3 {
      padding-top: 15rem;
}
.pdb_l3 {
      padding-bottom: 15rem;
}
.pd_l2 {
      padding-top: 12rem;
      padding-bottom: 12rem;
}
.pdt_l2 {
      padding-top: 12rem;
}
.pdb_l2 {
      padding-bottom: 12rem;
}
.pd_l {
      padding-top: 8rem;
      padding-bottom: 8rem;
}
.pdt_l {
      padding-top: 8rem;
}
.pdb_l {
      padding-bottom: 8rem;
}
.pd_m3 {
      padding-top: 7rem;
      padding-bottom: 7rem;
}
.pdt_m3 {
      padding-top: 7rem;
}
.pdb_m3 {
      padding-bottom: 7rem;
}
.pd_m2 {
      padding-top: 6rem;
      padding-bottom: 6rem;
}
.pdt_m2 {
      padding-top: 6rem;
}
.pdb_m2 {
      padding-bottom: 6rem;
}
.pd_m {
      padding-top: 5rem;
      padding-bottom: 5rem;
}
.pdt_m {
      padding-top: 5rem;
}
.pdb_m {
      padding-bottom: 5rem;
}
.pd_s2 {
      padding-top: 3rem;
      padding-bottom: 3rem;
}
.pdt_s2 {
      padding-top: 3rem;
}
.pdb_s2 {
      padding-bottom: 3rem;
}
.pd_s {
      padding-top: 2.5rem;
      padding-bottom: 2.5rem;
}
.pdt_s {
      padding-top: 2.5rem;
}
.pdb_s {
      padding-bottom: 2.5rem;
}
.pd_ss {
      padding-top: 1.5rem;
      padding-bottom: 1.5rem;
}
.pdt_ss {
      padding-top: 1.5rem;
}
.pdb_ss {
      padding-bottom: 1.5rem;
}
@media screen and (max-width: 680px) {
      .pd_l3 {
            padding-top: 10rem;
            padding-bottom: 10rem;
      }
      .pdt_l3 {
            padding-top: 10rem;
      }
      .pdb_l3 {
            padding-bottom: 15rem;
      }
      .pd_l2 {
            padding-top: 8rem;
            padding-bottom: 8rem;
      }
      .pdt_l2 {
            padding-top: 8rem;
      }
      .pdb_l2 {
            padding-bottom: 8rem;
      }
      .pd_l {
            padding-top: 6rem;
            padding-bottom: 6rem;
      }
      .pdt_l {
            padding-top: 6rem;
      }
      .pdb_l {
            padding-bottom: 6rem;
      }
      .pd_m3 {
            padding-top: 5rem;
            padding-bottom: 5rem;
      }
      .pdt_m3 {
            padding-top: 5rem;
      }
      .pdb_m3 {
            padding-bottom: 5rem;
      }
      .pd_m2 {
            padding-top: 4rem;
            padding-bottom: 4rem;
      }
      .pdt_m2 {
            padding-top: 4rem;
      }
      .pdb_m2 {
            padding-bottom: 4rem;
      }
      .pd_m {
            padding-top: 4.5rem;
            padding-bottom: 4.5rem;
      }
      .pdt_m {
            padding-top: 4.5rem;
      }
      .pdb_m {
            padding-bottom: 4.5rem;
      }
      .pd_s2 {
            padding-top: 3rem;
            padding-bottom: 3rem;
      }
      .pdt_s2 {
            padding-top: 3rem;
      }
      .pdb_s2 {
            padding-bottom: 3rem;
      }
      .pd_s {
            padding-top: 2rem;
            padding-bottom: 2rem;
      }
      .pdt_s {
            padding-top: 2rem;
      }
      .pdb_s {
            padding-bottom: 2rem;
      }
      .pd_ss {
            padding-top: 1.0rem;
            padding-bottom: 1.0rem;
      }
      .pdt_ss {
            padding-top: 1.0rem;
      }
      .pdb_ss {
            padding-bottom: 1.0rem;
      }
}
@media screen and (max-width: 480px) {
      .pd_l3 {
            padding-top: 10rem;
            padding-bottom: 10rem;
      }
      .pdt_l3 {
            padding-top: 10rem;
      }
      .pdb_l3 {
            padding-bottom: 10rem;
      }
      .pd_l2 {
            padding-top: 8rem;
            padding-bottom: 8rem;
      }
      .pdt_l2 {
            padding-top: 8rem;
      }
      .pdb_l2 {
            padding-bottom: 8rem;
      }
      .pd_l {
            padding-top: 6rem;
            padding-bottom: 6rem;
      }
      .pdt_l {
            padding-top: 6rem;
      }
      .pdb_l {
            padding-bottom: 6rem;
      }
      .pd_m3 {
            padding-top: 5rem;
            padding-bottom: 5rem;
      }
      .pdt_m3 {
            padding-top: 5rem;
      }
      .pdb_m3 {
            padding-bottom: 5rem;
      }
      .pd_m2 {
            padding-top: 4rem;
            padding-bottom: 4rem;
      }
      .pdt_m2 {
            padding-top: 4rem;
      }
      .pdb_m2 {
            padding-bottom: 4rem;
      }
      .pd_m {
            padding-top: 4rem;
            padding-bottom: 4rem;
      }
      .pdt_m {
            padding-top: 4rem;
      }
      .pdb_m {
            padding-bottom: 4rem;
      }
      .pd_s2 {
            padding-top: 3rem;
            padding-bottom: 3rem;
      }
      .pdt_s2 {
            padding-top: 3rem;
      }
      .pdb_s2 {
            padding-bottom: 3rem;
      }
      .pd_s {
            padding-top: 2rem;
            padding-bottom: 2rem;
      }
      .pdt_s {
            padding-top: 2rem;
      }
      .pdb_s {
            padding-bottom: 2rem;
      }
      .pd_ss {
            padding-top: 1.0rem;
            padding-bottom: 1.0rem;
      }
      .pdt_ss {
            padding-top: 1.0rem;
      }
      .pdb_ss {
            padding-bottom: 1.0rem;
      }
}
/* btn_____
============================================================================================================ */
.btn > * {
      display: inline-flex;
      border: solid 1px var(--col_main);
      padding: 0.8em 1.5em;
      color: #fff;
      transition: 0.3s;
      box-sizing: border-box;
      background: var(--col_main);
      letter-spacing: 1px;
}
@media screen and (min-width: 961px), print {
      .btn > *:hover, .btn > *:focus {
            background: var(--bg_blue_l);
            color: var(--col_main);
            opacity: 1 !important;
      }
}
/*arrow
-------------------------------------*/
.btn_arrow {
      position: relative;
      padding: 0.8em 2.5em;
}
.btn_arrow:before {
      content: "";
      background: url("../images/arrow.svg") no-repeat;
      background-size: contain;
      position: absolute;
      width: 2.3rem;
      aspect-ratio: 23.5/6;
      top: 50%;
      right: 0.5em;
      transform: translate(-0%, -50%);
      filter: brightness(0) invert(1);
      transition: all 0.2s ease;
}
@media screen and (min-width: 961px), print {
      .btn_arrow:hover:before {
            right: 0;
            filter: none;
      }
}
/*arrow 向き反転
-------------------------------------*/
.btn_arrow.arrow_back:before {
      right: auto;
      left: 0.5em;
      transform: translate(-0%, -50%) scale(-1, 1);
}
@media screen and (min-width: 961px), print {
      .btn_arrow.arrow_back:hover:before {
            right: auto;
            left: 0;
      }
}
/*btn size
----------------------------------------------------------------------------------------------------------------*/
.btn_l > * {
      width: 26em;
      display: block;
}
.btn_m > * {
      width: 20em;
      display: block;
}
.btn_s > * {
      width: 15em;
      display: block;
}
@media screen and (max-width: 680px) {
      .btn_l > * {
            width: 100%;
            display: block;
      }
}
/*幅固定のボタンの位置　中央　右*/
.btn_center {
      margin: auto;
}
.btn_right {
      margin: auto 0 auto auto;
}
@media screen and (max-width: 680px) {
      .btn_tabsp_center {
            margin: auto;
      }
      .btn_sp_center {
            margin: auto;
      }
}
/*btn color
-------------------------------------*/
.btn_ff > * {
      color: var(--col_main);
      background: #fff;
}
.btn_ff .btn_arrow:before {
      filter: none;
}
@media screen and (min-width: 961px), print {
      .btn_ff *:hover {
            background: var(--col_main);
            color: #fff;
      }
      .btn_ff .btn_arrow:hover:before {
            filter: brightness(0) invert(1);
      }
}
.brn_gray_back > * {
      border: solid 1px #c8c9c9;
      background: #c8c9c9;
      color: inherit;
}
.brn_gray_back .btn_arrow:before {
      filter: invert(0%) sepia(7%) saturate(0%) hue-rotate(238deg) brightness(86%) contrast(99%);
}
@media screen and (min-width: 961px), print {
      .brn_gray_back *:hover, .brn_gray_back *:focus {
            background: var(--bg_gray_l2);
            color: inherit;
            border: solid 1px #222222;
      }
}
/* title
============================================================================================================ */
.title_llll {
      font-size: 5.6rem;
}
.title_lll_m {
      font-size: 4.3rem;
}
.title_lll {
      font-size: 4.0rem;
}
.title_ll_39 {
      font-size: 3.9rem;
}
.title_ll_30 {
      font-size: 3.0rem;
}
.title_ll {
      font-size: 3.2rem;
}
.title_l {
      font-size: 2.8rem;
}
.title_ml {
      font-size: 2.6rem;
}
.title_m {
      font-size: 2.4rem;
}
.title_sm {
      font-size: 2.2rem;
}
.title_s {
      font-size: 2.0rem;
}
.title_ss2 {
      font-size: 1.9rem;
}
.title_ss {
      font-size: 1.8rem;
}
@media screen and (max-width: 680px) {
      .title_llll {
            font-size: 4.5rem;
      }
      .title_lll_m {
            font-size: 3.0rem;
      }
      .title_lll {
            font-size: 2.8rem;
      }
      .title_ll_39 {
            font-size: 2.6rem;
      }
      .title_ll_30 {
            font-size: 2.4rem;
      }
      .title_ll {
            font-size: 2.4rem;
      }
      .title_l {
            font-size: 2.2rem;
      }
      .title_ml {
            font-size: 2.1rem;
      }
      .title_m {
            font-size: 1.9rem;
      }
      .title_sm {
            font-size: 1.8rem;
      }
      .title_s {
            font-size: 1.7rem;
      }
      .title_ss2 {
            font-size: 1.6rem;
      }
      .title_ss {
            font-size: 1.5rem;
      }
}
/* midahsi______________
============================================================================================================ */
/*縦書き　横棒*/
.midashi_01 {
      display: flex;
      justify-content: flex-end;
      flex-direction: column;
}
.midashi_01 span {
      position: relative;
      writing-mode: vertical-rl;
      font-family: var(--font_min);
}
.midashi_01 span:before {
      content: "";
      width: 1px;
      height: 100%;
      position: absolute;
      right: 0;
      top: 0;
      background: var(--col_main);
}
@media screen and (max-width: 680px) {
      .midashi_01 span {
            padding-bottom: 0.5em;
            writing-mode: horizontal-tb;
      }
      .midashi_01 span:before {
            width: calc(100% + 20%);
            height: 1px;
            right: auto;
            top: auto;
            bottom: 0;
            left: -20%;
      }
}
/*下にあしらい　横棒*/
.midashi_02 {
      margin-bottom: 1em;
}
.midashi_02 span {
      position: relative;
      font-family: var(--font_min);
      padding-bottom: 0.5em;
}
.midashi_02 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: 2em;
      aspect-ratio: 40/4;
}
/*縦書き　左上にあしらい*/
.midashi_03 {
      display: inline-block;
      position: relative;
      margin: 0.5em auto auto 0.5em;
      padding: 1em 0 0 1em;
}
.midashi_03:before, .midashi_03:after {
      position: absolute;
      background: var(--col_blue);
      content: "";
}
.midashi_03:before {
      width: 1px;
      height: 4em;
      left: 0;
      top: -0.5em;
}
.midashi_03:after {
      width: 100%;
      height: 1px;
      left: -0.5em;
      top: 0;
}
.midashi_03 span {
      position: relative;
      writing-mode: vertical-rl;
      font-family: var(--font_min);
}
@media screen and (max-width: 680px) {
      .midashi_03 span {
            padding-bottom: 0.5em;
            writing-mode: horizontal-tb;
      }
      .midashi_03 span:before {
            width: calc(100% + 20%);
            height: 1px;
            right: auto;
            top: auto;
            bottom: 0;
            left: -20%;
      }
}
/*上下に細い線*/
.midashi_04 {
      padding: 0.6em 0;
      letter-spacing: 1px;
      border-top: 1px solid #a3a3a3;
      border-bottom: 1px solid #a3a3a3;
}
/*midashi_bg_blue*/
.midashi_bg_blue {
      padding: 1em 0;
      background: var(--bg_blue_l);
}
/*左右に線*/
.midashi_05 {
      text-align: center;
      letter-spacing: 1px;
}
.midashi_05 span {
      position: relative;
      padding: 0 1.8em;
}
.midashi_05 span:before, .midashi_05 span:after {
      content: "";
      background: #a3a3a3;
      width: 1em;
      height: 1px;
      position: absolute;
      top: 50%;
      transform: translate(-0%, -50%);
}
.midashi_05 span:before {
      left: 0;
}
.midashi_05 span:after {
      right: 0;
}
/*アイコン付き見出し*/
.midashi_ico span {
      display: inline-block;
      padding-left: 3.8em;
      position: relative;
      letter-spacing: 1px;
}
.midashi_ico span:before {
      position: absolute;
      left: 0;
      top: 0;
      content: "";
      background: url("../images/ico_pc.svg") no-repeat;
      background-size: contain;
      aspect-ratio: 114/62;
      width: 3em;
}
/*ico_tel*/
.midashi_ico.ico_tel span:before {
      background: url("../images/ico_tell_ticket.svg") no-repeat;
      aspect-ratio: 52/47;
      width: 2.2em;
}
.midashi_ico.ico_tel span {
      padding-left: 2.9em;
}
/*ico_uder*/
.midashi_ico.ico_uder span:before {
      background: url("../images/ico_user.svg") no-repeat;
      aspect-ratio: 50/47;
      width: 2.0em;
}
.midashi_ico.ico_uder span {
      padding-left: 2.9em;
}
/*ico_search*/
.midashi_ico.ico_search span {
      padding-left: 1.8em;
}
.midashi_ico.ico_search span:before {
      background: url("../images/ico_search.svg") no-repeat;
      aspect-ratio: 1;
      width: 1.3em;
      top: 0.2em;
}
/*モジュール用見出し 左横ライン見出し
-----------------------------------------------------------------------------------------------------*/
.mo_midashi_01 {
      border-left: 2px solid var(--col_main);
      padding: 0.2em 0 0.2em 1em;
}
/*モジュール用見出し 下線見出し*/
.mo_midashi_02 {
      padding-bottom: 0.5em;
      position: relative;
}
.mo_midashi_02:before, .mo_midashi_02:after {
      content: "";
      background: #a3a3a3;
      width: 100%;
      height: 1px;
      position: absolute;
      bottom: 0;
      left: 0;
}
.mo_midashi_02:after {
      width: 50%;
      background: var(--col_blue);
}
/*モジュール用見出し 　左■*/
.mo_midashi_03 {
      padding-left: 1em;
      position: relative;
}
.mo_midashi_03:before {
      content: "";
      position: absolute;
      left: 0;
      top: 0.5em;
      width: 0.7em;
      aspect-ratio: 1;
      background: var(--col_link);
}
/*モジュール用見出し 　帯背景*/
.mo_midashi_04 {
      background: var(--bg_blue_l);
      padding: 0.5em 0.8em;
}
/*モジュール用見出し 　帯背景*/
.mo_midashi_05 {
      padding-left: 0.8em;
      position: relative;
}
.mo_midashi_05:before {
      content: "";
      position: absolute;
      left: 0;
      top: 0.8em;
      width: 0.5em;
      aspect-ratio: 2/0.5;
      background: var(--col_link);
}
/*モジュール用見出し 　帯背景 インライン*/
.mo_midashi_06 {
      background: var(--bg_blue_l);
      padding: 0.2em 0.8em;
      display: inline-block;
}
/*モジュール用見出し 　ご利用案内*/
.mo_midashi_07 {
      position: relative;
      padding-left: 1em;
      z-index: 0;
      font-weight: 700;
}
.mo_midashi_07:before {
      content: "";
      background: url("../images/arran_02.svg") no-repeat;
      aspect-ratio: 9/4;
      width: 0.6em;
      position: absolute;
      left: 0;
      top: 1em;
}
.mo_midashi_07:after {
      content: "";
      background: #a3a3a3;
      width: 100%;
      left: 1em;
      height: 1px;
      top: 1.1em;
      position: absolute;
      z-index: 1;
}
.mo_midashi_07 span {
      padding: 0.2em 0.5em 0.2em 0;
      display: inline-block;
      position: relative;
      background: #fff;
      z-index: 2;
}
/* 見出し　汎用
======================================================================*/
/*b_b
-------------------------------------------------------*/
.b_b {
      border-bottom: 2px solid #000;
      padding-bottom: 0.1em;
}
/*midashi_bg
-------------------------------------------------------*/
.midashi_bg {
      background: var(--bg_blue_l);
      padding: 0.3em 1em;
}
/*midashi_sq
-------------------------------------------------------*/
.midashi_sq {
      position: relative;
      padding-left: 0.8em;
}
.midashi_sq:before {
      position: absolute;
      left: 0;
      top: 0.4em;
      content: "";
      width: 0.5em;
      aspect-ratio: 1/1;
      background: #A5CBF5;
}
/*midashi_diagonal ななめ線
-------------------------------------------------------*/
.midashi_diagonal {
      position: relative;
      font-weight: 700;
      margin-bottom: 0.5em;
      display: inline-block;
}
.midashi_diagonal:before, .midashi_diagonal:after {
      content: "";
      background: #000;
      width: 2px;
      height: 100%;
      position: absolute;
      border-radius: 3px;
      top: 50%;
}
.midashi_diagonal:before {
      left: -1em;
      transform: translate(-0%, -50%) rotate(-30deg);
}
.midashi_diagonal:after {
      right: -1em;
      transform: translate(-0%, -50%) rotate(30deg);
}
.col_pink.midashi_diagonal:before, .col_pink.midashi_diagonal:after {
      background: var(--col_pink);
}
.col_orange.midashi_diagonal:before, .col_orange.midashi_diagonal:after {
      background: var(--col_orange);
}
/* table
============================================================================================================ */
/*normal*/
table.normal {
      width: 100%;
      line-height: 1.6;
      table-layout: fixed;
}
table.normal th, table.normal td {
      padding: 0.6em 1em;
      border-bottom: 1px solid #a3a3a3;
      border-left: 1px solid #a3a3a3;
      word-wrap: break-word;
}
table.normal th:first-child, table.normal td:first-child {
      border-left: none;
}
/*th　色あり*/
table.normal.th_color th {
      font-weight: bold;
      background: var(--bg_gray_l);
}
/*table.normal.th_color tr:first-child th, table.normal.th_color tr:first-child td {
      border-top: none;
      border-bottom: none;
}*/
table.normal.th_color th {
      border-left: 1px solid #fff;
}
table.normal.th_color th:first-child {
      border-left: none;
}
/*basic*/
table.basic {
      width: 100%;
      line-height: 1.6;
      table-layout: fixed;
}
table.basic tr:first-child th, table.basic tr:first-child td {
      border-top: 1px solid #a3a3a3;
}
table.basic th, table.basic td {
      padding: 0.6em 1em;
      border-bottom: 1px solid #a3a3a3;
      border-left: 1px solid #a3a3a3;
      word-wrap: break-word;
}
table.basic th:first-child, table.basic td:first-child {
      border-left: none;
}
/*背景カラー*/
table.normal tr .th_bg:first-child {
      border-left: none !important;
}
table.normal tr tr:first-child .th_bg:first-child {
      border-left: none !important;
}
/*th　色あり*/
table.basic.th_color th {
      font-weight: bold;
      background: var(--bg_gray_l);
}
table.basic.th_color tr:first-child th, table.basic.th_color tr:first-child td {
      border-top: none;
      border-bottom: none;
}
table.basic.th_color th {
      border-left: 1px solid #fff;
}
table.basic.th_color th:first-child {
      border-left: none;
}
/*背景カラー*/
.th_bg {
      background: var(--bg_gray_l);
      border-left: 1px solid #fff !important;
}
table.basic tr .th_bg:first-child {
      border-left: none !important;
}
table.basic tr tr:first-child .th_bg:first-child {
      border-left: none !important;
}
/*table width*/
table .tw10, .table_w .tw10 {
      width: 10%;
}
table .tw15, .table_w .tw15 {
      width: 15%;
}
table .tw20, .table_w .tw20 {
      width: 20%;
}
table .tw25, .table_w .tw25 {
      width: 25%;
}
table .tw30, .table_w .tw30 {
      width: 30%;
}
table .tw35, .table_w .tw35 {
      width: 35%;
}
table .tw40, .table_w .tw40 {
      width: 40%;
}
table .w45, .table_w .tw45 {
      width: 45%;
}
table .tw50, .table_w .tw50 {
      width: 50%;
}
table .tw60, .table_w .tw60 {
      width: 60%;
}
table .tw70, .table_w .tw70 {
      width: 70%;
}
table .tw80, .table_w .tw80 {
      width: 80%;
}
table .tw90, .gakuya_box .tw90 {
      width: 90%;
}
@media screen and (max-width: 960px) {
      table.basic {
            border-width: 2px;
            font-size: 1.2rem;
            line-height: 1.5;
      }
      table.basic th, table.basic td {
            padding: 0.5em;
      }
      table.basic th {
            width: 10%;
      }
      table.basic td {
            width: 20%;
      }
}
/* li
============================================================================================================ */
/* square
------------------------------------------------------------- */
ul.square > li {
      position: relative;
      padding-left: 1em;
      margin-bottom: 0.2em;
}
ul.square > li:before {
      content: "■";
      position: absolute;
      left: 0;
}
/* circle
------------------------------------------------------------- */
ul.circle > li {
      position: relative;
      padding-left: 1em;
      margin-bottom: 0.2em;
}
ul.circle > li:before {
      content: "●";
      position: absolute;
      left: 0;
}
/* asterisk
------------------------------------------------------------- */
ul.asterisk > li {
      position: relative;
      padding-left: 1em;
      margin-bottom: 0.2em;
}
ul.asterisk > li:before {
      content: "＊";
      position: absolute;
      left: 0;
}
/* disc
------------------------------------------------------------- */
ul.disc > li {
      position: relative;
      padding-left: 1em;
      margin-bottom: 0.2em;
}
ul.disc > li:before {
      content: "・";
      position: absolute;
      left: 0;
}
/* notes
------------------------------------------------------------- */
ul.notes > li {
      position: relative;
      padding-left: 1em;
      margin-bottom: 0.2em;
}
ul.notes > li:before {
      content: "※";
      position: absolute;
      left: 0;
}
/* decimal 数字
------------------------------------------------------------- */
ol.decimal {
      list-style-type: decimal;
}
ol.decimal > li {
      margin-left: 1.2em;
      margin-bottom: 1em;
}
ol.decimal.bold_num {}
/* img
============================================================================================================ */
.ofi {
      width: 100%;
      object-fit: cover;
      font-family: 'object-fit: cover;'
}
.ofi.cont {
      object-fit: contain;
      font-family: 'object-fit: contain;'
}
.img_max {
      max-width: 100%;
}
.img_auto {
      width: auto;
}
.img_80 {
      width: 80%;
      margin: auto;
}
/* background bg____________________
============================================================================================================ */
.bg_main {
      background: var(--col_main);
}
.bg_ff {
      background: #fff;
}
.bg_gray_l2 {
      background: var(--bg_gray_l2);
}
/* color col______
===================================================*/
.col_main {
      color: var(--col_main);
}
.col_yellow {
      color: var(--col_yellow);
}
/* lead
========================================= */
.lead {
      line-height: 2.0;
}
.lead_18 {
      font-size: 1.8rem;
      line-height: 2;
}
.lead_18_02 {
      font-size: 1.8rem;
      line-height: 1.8;
}
.text_inner > p + p {
      margin-top: 1em;
}
@media screen and (max-width: 680px) {
      .lead_18 {
            font-size: 1.6rem;
      }
      .lead_18_02 {
            font-size: 1.6rem;
      }
}
/* indent
========================================= */
.indent_01 {
      padding-left: 1em;
      text-indent: -1em;
}
.indent_02 {
      padding-left: 2em;
      text-indent: -2em;
}
.indent_03 {
      padding-left: 3em;
      text-indent: -3em;
}
/* fbox
============================================================================================================ */
.fbox {
      display: flex;
}
@media screen and (min-width: 681px), print {
      .fbox.f_pc {
            display: flex;
      }
      .fbox.f_sp {
            display: block;
      }
}
@media screen and (max-width: 680px) {
      .fbox.f_pc {
            display: block;
      }
      .fbox.f_sp {
            display: flex;
      }
}
.ff_re {
      flex-flow: row-reverse;
}
.jc_sp {
      justify-content: space-between;
}
.it_cener {
      align-items: center;
}
.it_start {
      align-items: flex-start;
}
/*分割比
----------------------------------------------*/
/*fbox_col2*/
.fbox_col2 {
      gap: 3%;
      flex-wrap: wrap;
}
.fbox_col2 > * {
      width: 48.5%;
}
@media screen and (max-width: 680px) {
      .fbox_col2.f_pc > * {
            width: auto;
            margin-top: 3%;
      }
      .fbox_col2.f_pc > * + * {
            margin-top: 8%
      }
}
/*fbox_col3*/
.fbox_col3 {
      gap: 2%;
      flex-wrap: wrap;
}
.fbox_col3 > * {
      width: 32%;
}
@media screen and (max-width: 680px) {
      .fbox_col3.f_pc > * {
            width: auto;
      }
      .fbox_col3.f_pc > * + * {
            margin-top: 8%
      }
}
/*fbox_4_6*/
.fbox_4_6 {
      gap: 5%;
}
.fbox_4_6 > *:nth-child(1) {
      width: 37%;
}
.fbox_4_6 > *:nth-child(2) {
      width: 58%;
}
@media screen and (max-width: 680px) {
      .fbox_4_6.f_pc > *:nth-child(1) {
            width: auto;
      }
      .fbox_4_6.f_pc > *:nth-child(2) {
            width: auto;
      }
      .fbox_4_6.f_pc > * + * {
            margin-top: 8%
      }
}
/*fbox_6_4*/
.fbox_6_4 {
      gap: 5%;
}
.fbox_6_4 > *:nth-child(1) {
      width: 58%;
}
.fbox_6_4 > *:nth-child(2) {
      width: 37%;
}
@media screen and (max-width: 680px) {
      .fbox_6_4.f_pc > *:nth-child(1) {
            width: auto;
      }
      .fbox_6_4.f_pc > *:nth-child(2) {
            width: auto;
      }
      .fbox_6_4.f_pc > * + * {
            margin-top: 8%
      }
}
/*fbox_7_3*/
.fbox_7_3 {
      gap: 5%;
}
.fbox_7_3 > *:nth-child(1) {
      width: 65%;
}
.fbox_7_3 > *:nth-child(2) {
      width: 30%;
}
@media screen and (max-width: 680px) {
      .fbox_7_3.f_pc > *:nth-child(1) {
            width: auto;
      }
      .fbox_7_3.f_pc > *:nth-child(2) {
            width: auto;
      }
      .fbox_7_3.f_pc > * + * {
            margin-top: 8%
      }
}
/*fbox_3_7*/
.fbox_3_7 {
      gap: 5%;
}
.fbox_3_7 > *:nth-child(1) {
      width: 30%;
}
.fbox_3_7 > *:nth-child(2) {
      width: 65%;
}
@media screen and (max-width: 680px) {
      .fbox_3_7.f_pc > *:nth-child(1) {
            width: auto;
      }
      .fbox_3_7.f_pc > *:nth-child(2) {
            width: auto;
      }
      .fbox_3_7.f_pc > * + * {
            margin-top: 8%
      }
}
/*fbox_8_2*/
.fbox_8_2 {
      gap: 5%;
}
.fbox_8_2 > *:nth-child(1) {
      width: 80%;
}
.fbox_8_2 > *:nth-child(2) {
      width: 15%;
}
@media screen and (max-width: 680px) {
      .fbox_8_2.f_pc > *:nth-child(1) {
            width: auto;
      }
      .fbox_8_2.f_pc > *:nth-child(2) {
            width: auto;
      }
      .fbox_8_2.f_pc > * + * {
            margin-top: 8%
      }
      .fbox_8_2 > *:nth-child(1) {
            width: 60%;
      }
      .fbox_8_2 > *:nth-child(2) {
            width: 35%;
      }
}
/*fbox_2_8*/
.fbox_2_8 {
      gap: 5%;
}
.fbox_2_8 > *:nth-child(1) {
      width: 15%;
}
.fbox_2_8 > *:nth-child(2) {
      width: 80%;
}
@media screen and (max-width: 680px) {
      .fbox_2_8.f_pc > *:nth-child(1) {
            width: auto;
      }
      .fbox_2_8.f_pc > *:nth-child(2) {
            width: auto;
      }
      .fbox_2_8 > *:nth-child(1) {
            width: 35%;
      }
      .fbox_2_8.f_pc > * + * {
            margin-top: 8%
      }
      .fbox_2_8 > *:nth-child(2) {
            width: 60%;
      }
}
/*　　info_list 共通
============================================================================================================ */
/*パーツ お知らせ*/
.info_list > li {
      border-top: 1px solid var(--line_gray_l);
}
.info_list > li:last-child {
      border-bottom: 1px solid var(--line_gray_l);
}
.info_list > li:nth-child(even) {
      background: var(--bg_gray_l2);
}
.info_list > li a {
      padding: 1.5em 3em;
      display: block;
}
.info_list_inner {
      display: flex;
      letter-spacing: 1px;
}
.info_list_inner .date {
      width: 9em;
}
.info_list_inner .text_box {
      width: calc(100% - 9em);
}
@media screen and (min-width: 961px), print {
      .info_list a:hover .info_list_inner .text_box {
            text-decoration: underline;
      }
}
@media screen and (max-width: 680px) {
      .info_list_inner {
            font-size: 1.6rem;
            display: block;
      }
      .info_list_inner .date {
            width: auto;
            margin-bottom: 0.5em;
      }
      .info_list_inner .text_box {
            width: auto;
      }
      .info_list > li a {
            padding: 1.2em 0.8em;
      }
}
/*perform 共通
============================================================================================================ */
/*パーツ 講演*/
.top_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_inner_status {
      font-weight: 700;
      font-size: 1.6rem;
      padding: 0 0.8em;
      border: solid 2px #c18a00;
      color: #c18a00;
      box-sizing: border-box;
      display: inline-block;
      letter-spacing: 1px;
      text-align: center;
      min-width: 10em;
}
.perform_inner_status.onsale {
      border: solid 2px #bf3326;
      color: #bf3326;
}
.perform_inner_status.soldout {
      border: solid 2px #848484;
      color: #848484;
}
.perform_inner_title {
      font-size: 1.22em;
      font-weight: 700;
}
.perform_cate_flex {
      display: flex;
      flex-wrap: wrap;
      gap: 0.5em 3%;
      padding: 1em 0;
}
@media screen and (max-width: 680px) {
      .perform_cate_flex {
            padding: 0.5em 0;
      }
}
.perform_cate_flex .perform_cate {
      padding: 0em 0.5em;
      background: var(--bg_gray_l);
      font-size: 1em;
}
.perform_cate_flex > .perform_cate.cate_green {
      background: #d6e1e5;
}
.organizer_box dl {
      display: flex;
      gap: 1.5%;
      font-size: 1.4rem;
}
.organizer_box dt {
      display: flex;
      justify-content: center;
      align-items: center;
      color: #fff;
      font-weight: 700;
      background: var(--col_main);
      width: 4em;
      letter-spacing: 1px;
      height: 1.8em;
}
.organizer_box dd {
      width: calc(100% - 4em);
}
.organizer_box dd img {
      max-width: 100%;
      height: 1.8em;
}
/*top_neta_area
-------------------------------------------------------------------------------------------------------------------------- */
/*top_dendo_area 横浜の大衆芸能の殿堂
-------------------------------------------------------------------------------------------------------------------------- */
.top_neta_area {
      padding: 3em 0 8em 0;
}
.top_neta_title_box {
      width: 712px;
      margin: auto;
}
.top_neta_title_flex {
      display: flex;
      align-items: flex-start;
}
@media screen and (max-width: 750px) {
      .top_neta_title_box {
            width: 90%;
      }
}
@media screen and (max-width: 680px) {
      .top_neta_area {
            padding: 3em 0 4em 0;
      }
      .top_neta_title_box {
            width: 95%;
            margin: auto 0 auto 5%;
      }
}
/*top_neta_title*/
.top_neta_title {
      position: relative;
      writing-mode: vertical-rl;
      padding: 3em 1em;
      line-height: 1.3;
}
.top_neta_title_l {
      font-family: var(--font_min);
      font-size: 1.8em;
}
.top_neta_title_s {
      font-weight: normal;
      font-size: 0.9em;
}
.top_neta_title:before, .top_neta_title:after {
      content: "";
      width: 100%;
      position: absolute;
      left: 0;
      background: url("../images/miadashi_yane.svg") no-repeat;
      background-size: contain;
      aspect-ratio: 95/34;
}
.top_neta_title:before {
      top: 0;
}
.top_neta_title:after {
      bottom: 0;
      transform: rotate(180deg);
}
.neta_search {
      width: 520px;
      margin: 3em auto auto 3.5em;
}
@media screen and (max-width: 750px) {
      .neta_search {
            width: 75%;
      }
}
@media screen and (max-width: 680px) {
      .neta_search {
            margin: 3em 0 auto 1.5em;
      }
}
.neta_search .text_box, .text_box_pd {
      position: relative;
}
.text_box_pd {
      position: relative;
      padding: 2.5em 1.5em 2.5em 5em;
      background: url("../images/ico_search.svg") no-repeat;
      background-size: 2em;
      background-position: 1.5em 2.7em;
}
.neta_search .text_box:before, .neta_search .text_box:after, .text_box_pd:before, .text_box_pd:after {
      content: "";
      background: var(--col_main);
      position: absolute;
}
.neta_search .text_box:before, .neta_search .text_box:after {
      height: calc(120%);
      width: 1px;
      top: 50%;
      transform: translate(-0%, -50%);
}
.neta_search .text_box:before {
      left: 0;
}
.neta_search .text_box:after {
      right: 0;
}
.text_box_pd:before, .text_box_pd:after {
      width: 105%;
      height: 1px;
      left: 50%;
      transform: translate(-50%, -0%);
}
.text_box_pd:before {
      top: 0;
}
.text_box_pd:after {
      bottom: 0;
}
@media screen and (max-width: 680px) {
      .neta_search .text_box:after {
            content: none;
      }
}
/*top_neta_btn*/
.top_neta_btn {
      z-index: 90;
      margin: auto 0 auto auto;
      position: relative;
      transform: translate(0em, -5em);
}
.top_neta_btn > * {
      text-align: right;
}
.top_neta_btn > * a {
      justify-content: center;
      width: 13em;
}
@media screen and (max-width: 680px) {
      .top_neta_btn {
            margin: 3em auto auto auto;
            transform: translate(0em, -0em);
      }
      .top_neta_btn > * {
            text-align: center;
      }
}
/*top_neta_list_box
--------------------------------------------------------------------------*/
.top_neta_list_box {
      margin-top: 3em;
}
.top_neta_list {
      display: flex;
}
.top_neta_list > li {
      padding: 1em 2em;
}
.top_neta_list > li + li {
      border-left: 1px solid var(--line_gray_l);
}
@media screen and (max-width: 960px) {
      .top_neta_list > li {
            padding: 1em 1em;
      }
}
@media screen and (max-width: 680px) {
      .top_neta_list {
            display: block;
      }
      .top_neta_list > li {
            padding: 1.5em 0;
      }
      .top_neta_list > li + li {
            border-left: none;
            border-top: 1px solid var(--line_gray_l);
      }
}
.top_neta_list_inner {
      position: relative;
      padding-bottom: 2em;
}
.top_neta_list_inner:before, .top_neta_list_inner:after {
      content: "";
      position: absolute;
}
.top_neta_list_inner:before {
      background: var(--col_main);
      aspect-ratio: 40/34;
      width: 2.2em;
      bottom: 0;
      right: 0;
      border: solid 1px var(--col_main);
}
.top_neta_list_inner:after {
      background: url("../images/arrow.svg") no-repeat;
      filter: brightness(0) invert(1);
      width: 2.3rem;
      aspect-ratio: 23.5/6;
      right: 0.4em;
      bottom: 0.9em;
      transition: all 0.2s ease;
}
@media screen and (min-width: 961px), print {
      .top_neta_list > li a:hover .top_neta_list_inner:before {
            background: var(--bg_blue_l);
      }
      .top_neta_list > li a:hover .top_neta_list_inner:after {
            filter: none;
      }
}
/*.img*/
.top_neta_list_inner .img {
      text-align: center;
      margin: auto;
}
.top_neta_list_inner .img img {
      aspect-ratio: 18/24;
      height: 24rem;
      object-fit: contain;
      object-position: center;
}
.top_neta_list_inner .text_box {
      margin: 2em auto auto auto;
      width: 90%;
}
@media screen and (max-width: 960px) {
      .top_neta_list_inner .text_box {
            width: 100%;
      }
}
@media screen and (max-width: 680px) {
      .top_neta_list_inner {
            display: flex;
            justify-content: space-between;
            gap: 0 3%;
            padding-bottom: 2.5em;
      }
      .top_neta_list_inner .img {
            width: 40%;
      }
      .top_neta_list_inner .img img {
            height: auto;
      }
      .top_neta_list_inner .text_box {
            margin-top: 0;
            width: 60%;
      }
}
/*neta_title*/
.neta_title {
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      height: 3em;
}
.neta_title > * {
      display: block;
      text-align: center;
}
.neta_title_l {
      font-weight: 700;
      font-size: 2.8rem;
      font-family: var(--font_min);
}
.neta_text {
      margin-top: 1.5em;
}
@media screen and (max-width: 960px) {
      .neta_title_l {
            font-size: 2.4rem;
      }
      .neta_title_s {
            font-size: 1.4rem;
      }
}
@media screen and (max-width: 680px) {
      .neta_title {
            height: auto;
            display: block;
      }
      .neta_title_s {
            font-size: 1.7rem;
      }
      .neta_title > * {
            text-align: left;
      }
}
/*ws_inner イベント
----------------------------------------------------------------------------------*/
.ws_inner .img, .ws_inner .img img {
      aspect-ratio: 200/280;
      height: 28rem;
}
.ws_inner .img {
      margin: auto auto 1em auto;
}
.ws_inner .img img {
      width: 100%;
      object-fit: contain;
      object-position: center;
}
.ws_inner_title {
      font-weight: 700;
      font-size: 1.2em;
}
.ws_inner_date {
      position: relative;
      padding-left: 1.5em;
      margin-top: 0.5em;
      letter-spacing: 1px;
      font-size: 1.0em;
      line-height: 1.5;
}
.ws_inner_date:before {
      content: "";
      background: url("../images/ico_cale.svg") no-repeat;
      aspect-ratio: 16/12;
      width: 1.1em;
      position: absolute;
      top: 0.5em;
      left: 0;
}
.ws_inner li .perform_cate_flex {
      padding: 0.8em 0;
}