@charset "UTF-8";
/*　sass import　/　*/
/*　web font import　/　*/
/*　/ web font import　*/
/* common sass / */
/*

font-family: fot-udkakugo-large-pr6n, sans-serif;
font-weight: 500;
font-style: normal;

FOT-UDKakugo_Large Pr6N DB

font-family: fot-udkakugo-large-pr6n, sans-serif;
font-weight: 600;
font-style: normal;

*/
/* IEハック用mixin */
/* / common sass */
/*　/ sass import　*/
#youtube_ctn {
  position: relative;
  width: 100%;
  padding-top: 56.25%; }
  #youtube_ctn iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important; }

/*--=== SP ONLY max-width: 767px ===-- / */
@media screen and (max-width: 767px) {
  html {
    background-color: #fff; }
  body {
    font-family: source-han-sans-japanese, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    color: #000;
    line-height: 1.8em; }
  img {
    max-width: 100%;
    height: auto; }
  a {
    color: #170062; }
  strong {
    font-weight: bold; }
  *, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box; }
  sub {
    vertical-align: sub; }
  sup {
    vertical-align: super; }
  /*#gnav_button / */
  #gnav_button {
    display: block;
    width: 48px;
    height: 48px;
    position: absolute;
    top: 0px;
    right: 0px;
    z-index: 1000;
    background-color: #262626;
    transition: 0.5s; }
    #gnav_button span {
      display: block;
      background: #fff;
      width: 24px;
      height: 4px;
      position: absolute;
      left: 11px;
      transition: all 0.4s;
      -webkit-transition: all 0.4s;
      -moz-transition: all 0.4s; }
    #gnav_button span:first-child {
      top: 10px; }
    #gnav_button span:nth-child(2) {
      margin-top: -2px;
      top: 50%; }
    #gnav_button span:last-child {
      bottom: 10px; }
  #gnav_button.active {
    background-color: #009337;
    transition: 0.5s; }
    #gnav_button.active span:first-child {
      transform: translateY(12px) rotate(45deg); }
    #gnav_button.active span:nth-child(2) {
      opacity: 0; }
    #gnav_button.active span:last-child {
      transform: translateY(-12px) rotate(-45deg); }
  /* / #gnav_button */
  header #sub_navi_ctn {
    display: none; }
  header #sns_lang_ctn {
    display: none; }
  header ul#sp_gnav_sub_menu {
    background-color: #666666;
    padding: 0 5% 0 5%;
    width: 100%;
    display: block; }
    header ul#sp_gnav_sub_menu > li {
      position: relative;
      transition: background-color 0.5s;
      display: block;
      border-bottom: 1px dotted #fff;
      padding: 3px 0; }
      header ul#sp_gnav_sub_menu > li:last-child {
        border-bottom: none; }
      header ul#sp_gnav_sub_menu > li > a {
        display: block;
        padding: 5px 0 5px 10px;
        font-size: 14px;
        border-left: 10px solid transparent; }
        header ul#sp_gnav_sub_menu > li > a br {
          display: none; }
      header ul#sp_gnav_sub_menu > li > ul {
        display: none;
        transition: .3s; }
        header ul#sp_gnav_sub_menu > li > ul > li {
          width: 100%;
          border-top: 1px dotted #fff; }
          header ul#sp_gnav_sub_menu > li > ul > li > a {
            display: block;
            padding: 5px 0 5px 25px;
            font-size: 12px;
            text-decoration: none; }
  header ul#language_select_ctn > li > a {
    display: none; }
  header ul#language_select_ctn ul#language_select {
    background-color: #666666;
    padding: 10px 5% 10px 5%;
    color: #aaa;
    text-align: center; }
    header ul#language_select_ctn ul#language_select > li {
      display: inline-block;
      font-size: 14px; }
      header ul#language_select_ctn ul#language_select > li:first-child:after {
        content: "/";
        display: inline-block;
        margin: 0 5px 0 10px; }
      header ul#language_select_ctn ul#language_select > li > a {
        border-top: none;
        display: inline-block; }
  #home #gnav li.home > a {
    border-left: 10px solid #f1961b; }
  #gallery #gnav li.gallery > a {
    border-left: 10px solid #f1961b; }
  #press_release #gnav li.press_release > a {
    border-left: 10px solid #f1961b; }
  #history #gnav li.history > a {
    border-left: 10px solid #f1961b; }
  #guide_book #gnav li.guide_book > a {
    border-left: 10px solid #f1961b; }
  #gnav_ctn {
    display: none;
    padding-bottom: 50px; }
    #gnav_ctn a {
      text-decoration: none;
      color: #fff;
      display: block;
      font-size: 14px; }
  .gnav_sub {
    display: none; }
  #gnav {
    position: absolute;
    top: 48px;
    left: 0;
    background-color: #009337;
    padding: 10px 5% 0 5%;
    width: 100%;
    display: block;
    z-index: 10000000; }
    #gnav ul {
      border-bottom: 1px dotted #fff; }
      #gnav ul > li {
        position: relative;
        transition: background-color 0.5s;
        display: block;
        border-bottom: 1px dotted #fff;
        padding: 3px 0; }
        #gnav ul > li:last-child {
          border-bottom: none; }
        #gnav ul > li > a {
          display: block;
          padding: 5px 0 5px 10px;
          font-size: 14px;
          border-left: 10px solid transparent; }
          #gnav ul > li > a br {
            display: none; }
      #gnav ul.language_select {
        display: flex;
        border-bottom: none;
        justify-content: center;
        font-size: 12px;
        padding: 5px; }
        #gnav ul.language_select li {
          border-left: 1px dotted #fff;
          text-align: center;
          flex-basis: 50%;
          border-bottom: none; }
          #gnav ul.language_select li:nth-child(1) {
            border-left: none; }
          #gnav ul.language_select li a {
            padding: 3px 20px; }
  header {
    position: relative; }
    header h1 {
      padding: 15px 10px;
      width: 100%;
      height: 48px; }
      header h1 a {
        display: block; }
      header h1 img {
        width: 80%; }
    header #next_show {
      padding: 15px 10px;
      background-color: #ffffea;
      text-align: center; }
      header #next_show p {
        font-size: 13px;
        line-height: 1; }
      header #next_show .common_button {
        margin-top: 1em;
        font-size: 12px; }
        header #next_show .common_button a {
          background-color: #009337;
          text-decoration: none;
          color: #fff;
          padding: 0.35em 1em; }
          header #next_show .common_button a:after {
            display: inline-block;
            font-family: 'Font Awesome 5 Free';
            content: "\f0da";
            margin-left: 0.5em;
            font-weight: normal; }
  #contents_ctn {
    background-color: #e1e1e1; }
    #contents_ctn #contents {
      width: 100%;
      padding: 0 2.5%; }
  #footer_sub_nav {
    display: none; }
  #all_nav {
    width: 100%;
    max-width: 1280px;
    min-width: 1100px;
    margin: 0 auto;
    padding: 20px 1.25%;
    padding: 30px; }
    #all_nav:after {
      content: ".";
      display: block;
      clear: both;
      height: 0;
      visibility: hidden; }
    #all_nav > ul {
      float: left; }
      #all_nav > ul:nth-child(1) {
        width: 30%; }
      #all_nav > ul:nth-child(2) {
        width: 30%; }
      #all_nav > ul:nth-child(3) {
        width: 25%; }
      #all_nav > ul:nth-child(4) {
        width: 15%; }
      #all_nav > ul a {
        color: #666; }
      #all_nav > ul > li {
        margin-bottom: 1.8em; }
        #all_nav > ul > li > a {
          font-size: 108%;
          font-weight: bold; }
          #all_nav > ul > li > a:after {
            display: inline-block;
            font-family: 'Font Awesome 5 Free';
            content: "\f0da";
            margin-left: .5em;
            font-weight: normal; }
        #all_nav > ul > li span {
          font-size: 108%;
          font-weight: bold; }
        #all_nav > ul > li > ul {
          font-size: 93%; }
          #all_nav > ul > li > ul a:before {
            display: inline-block;
            font-family: 'Font Awesome 5 Free';
            content: "\f0da";
            margin-right: .5em;
            font-weight: normal; }
  #page_top {
    position: fixed;
    bottom: 10px;
    right: 0px;
    z-index: 99999; }
    #page_top a {
      z-index: 99999;
      display: block;
      background-color: #009337;
      padding: 8px 16px;
      color: #fff;
      text-decoration: none;
      font-size: 12px;
      border-top: 1px solid #fff;
      border-bottom: 1px solid #fff;
      border-left: 1px solid #fff;
      text-align: center;
      line-height: 1.5; }
      #page_top a:before {
        margin: 0 auto;
        display: block;
        font-family: 'Font Awesome 5 Free';
        content: "\f0d8";
        font-weight: normal;
        font-style: normal; }
  footer {
    width: 100%;
    padding: 20px 2.5%;
    padding: 10px 2% 100px 2%; }
    footer ul {
      position: relative;
      text-align: center; }
      footer ul li {
        display: block;
        margin-bottom: 30px;
        width: 100%; }
      footer ul li#tms_mark img {
        width: 175px; }
      footer ul li#footer_oica img {
        width: 260px; }
      footer ul li#footer_jama img {
        width: 280px; }
  /* common class / */
  /* / common class */ }

/*--=== / SP ONLY max-width: 767px ===-- */
/*--=== PC ONLY min-width: 768px ===-- / */
@media print, screen and (min-width: 768px) {
  html {
    background-color: #fff; }
  body {
    font-family: source-han-sans-japanese, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    color: #000;
    line-height: 1.8em; }
  img {
    height: auto;
    vertical-align: bottom;
    max-width: 100%; }
  strong {
    font-weight: bold; }
  *, *:before, *:after {
    box-sizing: border-box; }
  a {
    color: #170062; }
  sub {
    vertical-align: sub; }
  sup {
    vertical-align: super; }
  header {
    position: relative;
    padding: 2.5em 1.5% 0.5em 1.5%; }
    header h1 {
      width: 45%; }
      header h1 a {
        display: block; }
    header #next_show {
      position: absolute;
      bottom: 0.5em;
      right: 1.5%;
      display: flex;
      align-items: flex-end; }
      header #next_show p {
        font-size: 1.3vw;
        line-height: 1;
        margin-right: 0.5em; }
      header #next_show .common_button {
        font-size: 1.3vw; }
        header #next_show .common_button a {
          background-color: #009337;
          text-decoration: none;
          color: #fff;
          padding: 0.2em 1em;
          margin-right: 0;
          line-height: 1; }
          header #next_show .common_button a:after {
            display: inline-block;
            font-family: 'Font Awesome 5 Free';
            content: "\f0da";
            margin-left: 0.5em;
            font-weight: normal; }
  #sns_lang_ctn {
    position: absolute;
    right: 0;
    top: 0;
    display: flex;
    line-height: 1; }
    #sns_lang_ctn #sns_buttons {
      display: flex; }
      #sns_lang_ctn #sns_buttons li {
        width: 28px;
        padding: 4px; }
        #sns_lang_ctn #sns_buttons li a:hover {
          opacity: 0.75;
          transition: 0.5s; }
    #sns_lang_ctn #language_select_button {
      width: 28px;
      padding: 4px;
      background-color: #e1e1e1;
      display: block;
      cursor: pointer; }
      #sns_lang_ctn #language_select_button:hover {
        background-color: #e1e1e1;
        ransition: 0.5s; }
        #sns_lang_ctn #language_select_button:hover #language_select {
          visibility: visible;
          opacity: 1;
          transition: 0.5s; }
      #sns_lang_ctn #language_select_button #language_select {
        visibility: hidden;
        opacity: 0;
        position: absolute;
        top: 28px;
        right: 0; }
        #sns_lang_ctn #language_select_button #language_select li {
          background-color: #e1e1e1;
          border-top: 1px dotted #fff; }
          #sns_lang_ctn #language_select_button #language_select li:nth-child(1) {
            border-top: none; }
          #sns_lang_ctn #language_select_button #language_select li a {
            display: block;
            padding: 0.7em 1em;
            font-size: 93%;
            display: block;
            text-decoration: none;
            color: #666666; }
            #sns_lang_ctn #language_select_button #language_select li a:hover {
              background-color: #fff;
              transition: 0.5s;
              color: #666666; }
  #gnav_ctn {
    width: 100%;
    background-color: #333; }
    #gnav_ctn #gnav {
      text-align: center; }
      #gnav_ctn #gnav > ul {
        display: flex;
        justify-content: space-around; }
        #gnav_ctn #gnav > ul.sp_sub_nav {
          display: none; }
        #gnav_ctn #gnav > ul.language_select {
          display: none; }
      #gnav_ctn #gnav li {
        display: inline-block; }
        #gnav_ctn #gnav li a {
          display: block;
          color: #fff;
          font-size: 108%;
          padding: 10px 20px;
          transition: 0.3s;
          text-decoration: none; }
          #gnav_ctn #gnav li a:hover {
            background-color: #777;
            transition: 0.3s;
            text-decoration: none; }
    #gnav_ctn #sns_button {
      display: none; }
  #home #gnav_ctn #gnav > ul > li.home > a {
    background-color: #777; }
  #gallery #gnav_ctn #gnav > ul > li.gallery > a {
    background-color: #777; }
  #press_release #gnav_ctn #gnav > ul > li.press_release > a {
    background-color: #777; }
  #history #gnav_ctn #gnav > ul > li.history > a {
    background-color: #777; }
  #guide_book #gnav_ctn #gnav > ul > li.guide_book > a {
    background-color: #777; }
  #contents_ctn {
    width: 100%;
    max-width: 1280px;
    min-width: 1100px;
    margin: 0 auto;
    padding: 20px 1.25%;
    background-color: #e1e1e1; }
    #contents_ctn #contents {
      width: 100%;
      padding: 50px 2.5%; }
  #footer_sub_nav {
    font-family: source-han-sans-japanese, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    width: 100%; }
    #footer_sub_nav > ul {
      background-color: #ccc;
      display: block;
      text-align: center;
      font-size: 108%; }
      #footer_sub_nav > ul > li {
        display: inline-block;
        text-align: center;
        position: relative;
        transition: background-color 0.5s; }
        #footer_sub_nav > ul > li:hover {
          background-color: #999999; }
        #footer_sub_nav > ul > li > a {
          line-height: 1;
          padding: 11px 3vw 11px 3vw;
          display: block;
          vertical-align: middle;
          text-align: center;
          color: #000;
          transition: color 0.5s;
          height: 16px;
          box-sizing: content-box;
          background-position: center center;
          background-repeat: no-repeat;
          text-decoration: none; }
          #footer_sub_nav > ul > li > a span {
            display: none; }
      #footer_sub_nav > ul > li:hover ul {
        visibility: visible;
        opacity: 1;
        transition: 0.5s; }
      #footer_sub_nav > ul > li:active ul {
        visibility: visible;
        opacity: 1;
        transition: 0.5s; }
  #all_nav {
    width: 100%;
    max-width: 1280px;
    min-width: 1100px;
    margin: 0 auto;
    padding: 20px 1.25%;
    padding: 30px; }
    #all_nav:after {
      content: ".";
      display: block;
      clear: both;
      height: 0;
      visibility: hidden; }
    #all_nav > ul {
      float: left; }
      #all_nav > ul:nth-child(1) {
        width: 30%; }
      #all_nav > ul:nth-child(2) {
        width: 30%; }
      #all_nav > ul:nth-child(3) {
        width: 25%; }
      #all_nav > ul:nth-child(4) {
        width: 15%; }
      #all_nav > ul a {
        color: #666; }
      #all_nav > ul > li {
        margin-bottom: 1.8em; }
        #all_nav > ul > li > a {
          font-size: 108%;
          font-weight: bold; }
          #all_nav > ul > li > a:after {
            display: inline-block;
            font-family: 'Font Awesome 5 Free';
            content: "\f0da";
            margin-left: .5em;
            font-weight: normal; }
        #all_nav > ul > li span {
          font-size: 108%;
          font-weight: bold; }
        #all_nav > ul > li > ul {
          font-size: 93%; }
          #all_nav > ul > li > ul a:before {
            display: inline-block;
            font-family: 'Font Awesome 5 Free';
            content: "\f0da";
            margin-right: .5em;
            font-weight: normal; }
  #page_top {
    position: fixed;
    bottom: 10px;
    right: 0px;
    z-index: 99999; }
    #page_top a {
      z-index: 99999;
      display: block;
      background-color: #009337;
      padding: 8px 16px;
      color: #fff;
      text-decoration: none;
      font-size: 16px;
      border-top: 1px solid #fff;
      border-bottom: 1px solid #fff;
      border-left: 1px solid #fff;
      text-align: center;
      line-height: 1.5; }
      #page_top a:before {
        margin: 0 auto;
        display: block;
        font-family: 'Font Awesome 5 Free';
        content: "\f0d8";
        font-weight: normal;
        font-style: normal; }
  footer {
    padding-top: 5px;
    padding-bottom: 60px; }
    footer #footer_nav {
      width: 100%;
      max-width: 1280px;
      min-width: 1100px;
      margin: 0 auto;
      padding: 20px 1.25%; }
      footer #footer_nav ul {
        position: relative;
        display: flex;
        justify-content: space-between;
        max-width: 100%; }
        footer #footer_nav ul li img {
          width: 100%; }
        footer #footer_nav ul li#tms_mark {
          order: 2;
          flex-basis: 13.86%;
          opacity: 0.7; }
        footer #footer_nav ul li#footer_oica {
          order: 3;
          flex-basis: 21.19%; }
        footer #footer_nav ul li#footer_jama {
          order: 1;
          flex-basis: 22.36%; }
  #sns_lang {
    position: absolute;
    top: 0;
    right: 0;
    height: 2.5em;
    width: auto; }
  /* common class / */
  /* / common class */ }

/*--=== / PC ONLY min-width: 768px ===-- */
/*--=== PC ONLY min-width: 1280px ===-- / */
@media print, screen and (min-width: 1280px) {
  header #gnav > ul > li a {
    padding: 13px 26px 11px 26px; } }

/*--=== / PC ONLY min-width: 1280px ===-- */
