@charset "UTF-8";

html {
   font-size: 62.5%;
}

body {
   margin: 0;
   padding: 0;
   font-family: 'Yu Gothic', 'Hiragino Kaku Gothic ProN',
      'ヒラギノ角ゴ ProN W3', sans-serif;
   color: #333;
   font-size: 1.6rem;
   font-weight: 500;
   line-height: 1.7;
}

img {
   vertical-align: bottom;
   width: 100%;
}

li {
   list-style-type: none;
}

a {
   text-decoration: none;
}

hr {
   display: none;
}

table {
   overflow-x: hidden;
}

.container {
   max-width: 1080px;
   width: calc(100% - 50px);
   margin: auto;
}

.inner {
   margin: auto;
   width: 80%;
}

.nowrap {
   white-space: nowrap;
}

p.updated-later {
   padding: 30px 0 50px;
   text-align: left;
}

@media screen and (max-width:767.98px) {
   .inner {
      width: 100%;
   }
}

.flex {
   display: flex;
   flex-wrap: wrap;
}

a:hover {
   opacity: .6;
   transition: .3s;
}

@media screen and (min-width:768px) {
   .sp {
      display: none;
   }
}

@media screen and (max-width:767.98px) {
   .pc {
      display: none;
   }
}

/*======================ヘッダー=====================*/

.jtpl-header {
   padding-top: 0;
}

.cc-m-image-container {
   margin-bottom: 50px;
}

/*グローバルメニュー*/

@media screen and (min-width:768px) {

   .menu-content {
      max-width: 1080px;
      width: calc(100% - 50px);
      margin: auto;
   }

   #global-nav {
      background: #414f9b;
      z-index: 100;
      transition: 0.2s;
   }

   #global-nav.m_fixed {
      max-width: 100%;
      width: 100%;
      position: fixed;
      left: 0;
      top: 0;
   }

   #global-nav ul {
      display: flex;
      flex-wrap: wrap;
      list-style-type: none;
      padding-inline-start: 0;
      margin-block-start: 0;
      margin-block-end: 0;
   }

   #global-nav ul li {
      width: calc(100% / 4);
      border-bottom: solid 1px #ccc;
      border-right: solid 1px #ccc;
   }

   /*上部固定時*/

   #global-nav.m_fixed ul li {
      width: calc(100% / 6);
   }

   @media screen and (max-width:1000px) {
      #global-nav.m_fixed ul li {
         width: calc(100% /4);
      }
   }

   #global-nav ul li a {
      display: block;
      padding: 12px;
      font-size: 16px;
      line-height: 1.7;
      color: #ffffff;
      transition: 0.2s;
   }

   #global-nav.m_fixed ul li a {
      padding: 8px;
      font-size: 14px;
   }

   #global-nav ul li a:hover {
      background: #a4aee79d;
      opacity: 1;
   }

   @media screen and (max-width:850px) {
      #global-nav ul li a {
         padding: 8px;
         font-size: 14px;
      }

      #global-nav.m_fixed ul li a {
         padding: 5px;
         font-size: 12px;
      }
   }
}

#global-nav .sns {
   background: #5e6cb3;
}

#global-nav .sns img {
   margin-left: .4em;
   padding-bottom: .4em;
   width: .8em;
   vertical-align: middle;
}

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

   .cc-m-image-container {
      margin-bottom: 0;
   }

   /*ハンバーガーボタン部分*/

   .menu-btn {
      position: fixed;
      top: 10px;
      right: 10px;
      display: flex;
      width: 50px;
      height: 50px;
      justify-content: center;
      align-items: center;
      z-index: 90;
      background-color: #414f9b;
      cursor: pointer;
   }

   .menu-btn span,
   .menu-btn span:before,
   .menu-btn span:after {
      content: '';
      display: block;
      height: 3px;
      width: 25px;
      border-radius: 3px;
      background-color: #ffffff;
      position: absolute;
   }

   .menu-btn span:before {
      bottom: 8px;
   }

   .menu-btn span:after {
      top: 8px;
   }

   #menu-btn-check:checked~.menu-btn span {
      background-color: rgba(255, 255, 255, 0);
      /*メニューオープン時は真ん中の線を透明にする*/
   }

   #menu-btn-check:checked~.menu-btn span::before {
      bottom: 0;
      transform: rotate(45deg);
   }

   #menu-btn-check:checked~.menu-btn span::after {
      top: 0;
      transform: rotate(-45deg);
   }

   #menu-btn-check {
      display: none;
   }

   /*ハンバーガーメニューリスト部分*/

   .menu-content {
      width: 100%;
      height: 100%;
      position: fixed;
      top: 0;
      left: 100%;
      /*leftの値を変更してメニューを画面外へ*/
      z-index: 80;
      background-color: #414f9b;
      transition: all 0.5s;
      /*アニメーション設定*/
      overflow-y: scroll;
   }

   .menu-content ul {
      padding: 50px 10px 0;
   }

   .menu-content ul li {
      width: 100%;
      border-bottom: solid 1px #ffffff;
      list-style: none;
   }

   .menu-content ul li:nth-child(13) {
      border-bottom: none;
   }

   .menu-content ul li a {
      display: block;
      width: 100%;
      font-size: 1.6rem;
      color: #fff;
      box-sizing: border-box;
      text-decoration: none;
      padding: 12px 15px 12px 0;
      position: relative;
   }

   .menu-content ul li a::before {
      content: "";
      width: 7px;
      height: 7px;
      border-top: solid 2px #ffffff;
      border-right: solid 2px #ffffff;
      transform: rotate(45deg);
      position: absolute;
      right: 11px;
      top: 45%;
   }

   #global-nav .sns {
      margin: .3em 0 2em;
      /* padding: 0 1em; */
      text-align: center;
      border: solid 1px #fff;
   }

   #global-nav .sns a::before {
      content: none;
   }

   #menu-btn-check:checked~.menu-content {
      left: 0;
      /*メニューを画面内へ*/
   }

}


/*=================メインコンテンツ===================*/

#content_area {
   padding-top: 15px;
}

.top-logo {
   margin: 0 auto 30px;
}

@media screen and (max-width:767.98px) {
   .header-bar {
      width: 100%;
      height: 70px;
      background: #414f9b;
   }

   .top-logo {
      margin: 20px auto 20px;
      width: calc(100% - 30px);
   }
}

.top-logo img {
   width: 100%;
}

.line {
   margin: 0 auto 30px;
   width: 99%;
   height: 30px;
   border-bottom: 2px solid rgb(129, 129, 129);
}

.j-nav-variant-breadcrumb ol {
   padding-inline-start: 10px;
}

nav.jtpl-breadcrumbs {
   margin: 20px 0 0;
   padding: 20px 5px;
   background: rgb(231, 231, 231);
}

.jtpl-breadcrumbs li {
   display: inline;
}

.breadcrumb-options a:link,
.breadcrumb-options a:visited {
   font-size: 16px;
}

.jtpl-breadcrumbs li h2 {
   display: inline;
   font-size: 16px;
}

.jtpl-breadcrumbs li:nth-child(2)::before {
   content: ">";
   padding: 0 10px 0 0;
}

.index-title {
   margin-bottom: 30px;
   padding: 0 10px;
   width: 100%;
   background: #414f9b;
}

@media screen and (max-width:767.98px) {
   .index-title {
      margin-top: 20px;
   }
}

.cc-map-wrapper {
   margin: 100px auto 20px;
}

.j-meta-links {
   padding: 0;
   width: 100%;
   float: none;
   font-size: 1.1rem;
}

.index-title h3 {
   color: #fff;
   font-size: 16px;
   line-height: 1.7;
   font-weight: 600;
   letter-spacing: 1px;
}

.content-options h3,
.content-options .j-rss h3 a:link,
.content-options .j-rss h3 a:visited {
   font-family: sans-serif;
}


/*
table
------------------------*/

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

   .j-table {
      overflow-x: scroll;
   }
}


/*
rec / dl
------------------------*/

.cc-m-download-link {
   display: inline-block;
   padding: 10px 30px;
   background: #62C6AE;
   color: #fff;
   border-radius: 8px;
}

.rec-list,
.dl-list {
   justify-content: space-between;
   flex-wrap: wrap;
   margin: auto;
   width: 65%;
}

.j-downloadDocument {
   margin: 30px 0;
   width: 40%;
   text-align: center;
}

.j-downloadDocument img {
   width: initial;
}

.cc-m-download-file-name {
   margin-bottom: 20px;
}

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

   .rec-list,
   .dl-list {
      width: 80%;
   }

}

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

   .rec-list,
   .dl-list {
      width: 100%;
   }

   .j-downloadDocument {
      width: 45%;
   }
}

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

   .rec-list,
   .dl-list {
      display: block;
   }

   .j-downloadDocument {
      width: 80%;
      margin: 30px auto;
   }
}