@charset "UTF-8";
/*!===========================
このcssはSassから生成されていますので、
直接編集しないようご注意ください。
===========================*/
@media (max-width: 767px) {
  table > tbody > tr > th,
  table > tbody > tr > td {
    padding: 10px; }
  table > tbody > tr > th {
    width: 30%; }
  table.col > tbody > tr > th {
    width: auto; }

  	/* class
  ============================== */
  .pc {
    display: none; }

  .sp {
    display: block; }

  img.sp,
  span.sp {
    display: inline; }

  table.sp {
    display: table; }

  .alignleft,
  .alignright {
    float: none;
    max-width: 100% !important;
    margin-bottom: 0; }

  .alignleft {
    margin-right: 0; }

  .alignright {
    margin-left: 0; }

  .col:not(table) {
    display: block; }
    .col:not(table) > * {
      width: auto !important;
      margin-left: 0 !important; }
      .col:not(table) > *:nth-child(n + 2) {
        margin-top: 20px !important; }
    .col:not(table) > table {
      width: 100% !important; }

  .btn, #pnav a {
    padding-top: 1.5em;
    padding-bottom: 1.5em; }

  .scroll {
    overflow-x: auto; }
    .scroll::-webkit-scrollbar {
      height: 5px; }
    .scroll::-webkit-scrollbar-track, .scroll::-webkit-scrollbar-thumb {
      border-radius: 5px; }
    .scroll::-webkit-scrollbar-track {
      background: #cccccc; }
    .scroll::-webkit-scrollbar-thumb {
      background: #666666; }
    .scroll table {
      white-space: nowrap; }

  	/* ==================================================
  header
  ================================================== */
  header {
    padding-top: 15px;
    padding-bottom: 0;
    padding-right: 0;
    padding-left: 0; }
    header > div {
      display: block; }

  #hlogo {
    width: 180px;
    margin: 0 auto 15px; }

  #gnav-wrap {
    width: 100%; }

  #gnav {
    justify-content: flex-start;
    flex-wrap: wrap;
    border-top: 1px solid #aaa; }
    #gnav li {
      width: 50%;
      margin: 0;
      padding: 10px;
      border-right: 1px solid #aaa;
      border-bottom: 1px solid #aaa; }
      #gnav li:nth-child(2n) {
        border-right: 0; }
      #gnav li a {
        font-size: 1.2rem; }

  	/* ==================================================
  footer
  ================================================== */
  footer > div {
    flex-direction: column;
    justify-content: center; }
    footer > div > * {
      width: auto !important; }
    footer > div > div {
      margin-top: 20px; }

  .fnav {
    display: block; }
    .fnav li {
      margin: 10px 0 0; }

  	/* ==================================================
  main
  ================================================== */
  #pttl {
    padding-top: 30px;
    padding-bottom: 30px; }
    #pttl > * {
      font-size: 3rem; }
      #pttl > * span {
        width: 150px; }

  	/* base
  ============================== */
  .base h1,
  .base h2,
  .base h3 {
    font-size: 2rem; }
  .base ul:not([class]),
  .base ol:not([class]) {
    padding-left: 2em; }
    .base ul:not([class]) ul,
    .base ul:not([class]) ol,
    .base ol:not([class]) ul,
    .base ol:not([class]) ol {
      margin-top: 0; }
  .base ul:not([class]) {
    list-style: disc; }
  .base ol:not([class]) {
    list-style: decimal; }
    .base ol:not([class]) li > ol {
      list-style: lower-alpha; }
  .base ul:not([class]) > li,
  .base ol:not([class]) > li,
  .base dl:not([class]) > dt {
    margin-top: 0.5em; }

  	/* top
  ============================== */
  #kv .slick-slide li p {
    font-size: 7vw;
    line-height: 1; }
    #kv .slick-slide li p span {
      font-size: 3vw; }

  #top-news h2 {
    font-size: 3rem; }
  #top-news dl {
    display: block; }
    #top-news dl dt,
    #top-news dl dd {
      width: auto; }
    #top-news dl dd {
      margin-top: 0;
      padding-top: 0;
      border-top: 0; }
  #top-news .btn-wrap {
    position: static;
    width: auto;
    margin-top: 30px;
    transform: none; }
    #top-news .btn-wrap a {
      margin-right: auto; }

  #top-about .btn-wrap a,
  #top-culture .btn-wrap a {
    margin: 10px 10px 0; }

  #top-about ul {
    flex-direction: column;
    justify-content: flex-start; }
    #top-about ul li {
      border: 0px;
      margin: 0 0 15px;
      padding: 0 0 15px; }
    #top-about ul a {
      margin: 0 0 0 auto; }

  #top-seminor .btn-wrap,
  #top-training .btn-wrap,
  #top-course .btn-wrap {
    justify-content: center;
    margin-left: 0; }

  #top-training ul {
    display: block; }
    #top-training ul li {
      width: auto;
      margin: 20px 0 0; }

  	/* news
  ============================== */
  #news-sec01 ul li {
    display: block; }
    #news-sec01 ul li > * {
      width: auto !important; }
    #news-sec01 ul li > div {
      margin-top: 20px; }

  	/* expo
  ============================== */
  #expo figure {
    width: calc(50% - 1.5%) !important;
    margin-right: 3%; }
    #expo figure:nth-child(6n) {
      margin-right: 3%; }
    #expo figure:nth-child(2n) {
      margin-right: 0; }
    #expo figure img {
      width: 100%; }

  	/* sitemap
  ============================== */
  #sitemap ul {
    flex-direction: column; }
  #sitemap li {
    width: 100%;
    margin-right: 0;
    margin-top: 30px !important; }

  	/* voice
  ============================== */
  #voice-sec01 ul li {
    display: block; }
    #voice-sec01 ul li > * {
      width: auto !important; }
    #voice-sec01 ul li > div {
      margin-top: 20px; }

  #voice-detail h1 {
    font-size: 2.6rem; }
  #voice-detail .awards {
    display: block; }
  #voice-detail h2 {
    font-size: 2.3rem; }
  #voice-detail .txt_img,
  #voice-detail .img_txt {
    flex-direction: column;
    gap: 1em; }
    #voice-detail .txt_img > *,
    #voice-detail .img_txt > * {
      width: 100%; }
  #voice-detail .txt_img {
    flex-direction: column-reverse; }
  #voice-detail .ones h3 {
    text-align: left; }
  #voice-detail .ones table {
    border-bottom: 1px solid #e3e3e3; }
    #voice-detail .ones table th,
    #voice-detail .ones table td {
      display: block;
      width: 100%;
      border-bottom: 0px; }
    #voice-detail .ones table:first-of-type th, #voice-detail .ones table:first-of-type td {
      width: 100%; } }
