/* サブナビゲーション */
@media screen and (min-width: 1201px) {
  .nav-item_sub {
    margin: 0 calc(50% - 50vw); } }
@media screen and (min-width: 761px) {
  header {
    padding-bottom: 1200px;
    overflow: hidden; }
  div.body- {
    margin-top: -1200px !important; }
  .navGlobal- > ul > li {
    position: static !important; }
  .navi-title2 {
    display: none; }
  .nav-item_sub {
    /*background: #eaeaea;*/
    left: 0;
    top: 44px;
    /*margin: 0 calc(50% - 50vw);*/
    opacity: 0;
    position: absolute;
    transition: all 0.2s ease;
    visibility: hidden;
    width: 100vw;
    /*border-top: 10px solid #1e2d58;*/
    display: block !important;
    z-index: 50;
    padding-top: 10px; }
  .nav-item_sub .nav-item_wrap {
    background: #eaeaea;
    padding: 30px 10px; }

  .nav-item_sub .inner {
    display: flex;
    margin: 0 auto;
    max-width: 1200px; }
    .nav-item_sub .inner a,
    .nav-item_sub .inner a:hover,
    .nav-item_sub .inner a:valid {
      text-decoration: none; }
    .nav-item_sub .inner div.cate {
      width: 17.5%;
      display: flex;
      justify-content: flex-start;
      margin-right: 30px; }
    .nav-item_sub .inner div.cate a,.nav-item_sub .inner div.cate img {
      display: inline-block; }
    .nav-item_sub .inner div.cate a {
      height: 40px; }
    .inner div.cate img {
      height: 40px;
      width: auto;
      border-radius: 50%;
      margin-top: -10px;
      margin-right: 10px; }
    .inner div.cate img.aboutus {
      background-color: rgb(55, 81, 155); }
    .inner div.cate img.program {
      background-color: rgb(119, 100, 74); }
    .inner div.cate img.koubo {
      background-color: rgb(53, 153, 157); }
    .inner div.cate img.seika {
      background-color: rgb(132, 89, 144); }
    .inner div.cate img.news {
      background-color: rgb(3, 105, 148); }
    .inner div.cate span {
      display: inline-block;
      margin-bottom: 8px; }
    .nav-item_sub .inner div.menu {
      width: 82.5%; }
    .nav-item_sub .inner div.menu ul {
      display: flex;
      flex-wrap: wrap;
      margin: 0 10px 15px;
      padding: 0;
      list-style: none; }
    .nav-item_sub .inner div.menu ul p {
      font-size: 1.7rem; }
    .nav-item_sub .inner div.menu ul li {
      /*flex: 1;*/
      width: 33%;
      margin: 0;
      padding: 0;
      box-sizing: border-box;
      padding-left: 10px;
      margin-bottom: 5px; }
    .nav-item_sub .inner div.menu ul li a {
      position: relative;
      font-weight: normal;
      font-size: 1.6rem;
      padding-left: 10px; }
    .nav-item_sub .inner div.menu ul li a::before {
      position: absolute;
      top: 0.4em;
      bottom: auto;
      left: 0;
      display: block;
      width: 0;
      height: 0;
      margin-top: auto;
      margin-bottom: auto;
      content: '';
      border: 4px solid transparent;
      border-left-color: #1e2d58; }
    .nav-item_sub .inner div.menu ul li a:hover::before {
      border-left-color:#e12359; }
    .nav-item_sub .inner div.menu .sub_head {
      border-bottom: 1px solid #ccc;
      margin-bottom: 15px; }
    .nav-item:hover .nav-item_sub {
      opacity: 1;
      visibility: visible; } }

@media screen and (max-width: 760px) {
  .staticPage header.head- {
    max-height: 100%;
    /*overflow-x: hidden;
    overflow-y: auto;*/ }
  .staticPage header.head- .siteId {
    position: fixed;
    z-index: 100;
    background: #ffffff; }
    .staticPage header.head- > .headBody[data-state='opened'] {
      margin-top: 59px;
      height: 100vh;
      background-color: #dee9ef;
      overflow: auto; }
    .head- .utility {
      background: none;
      min-height: 350px;
    }
    .search- .head- .utility {
      background-color: #dee9ef;
      min-height: auto;
    }
    .navGlobal- > ul > li div.navi-title {
      font-size: 1.6rem;
      font-weight: bold;
      box-sizing: border-box;
      border-bottom: 1px solid #376097;
      background-image: linear-gradient(to right bottom, #dee9ef 50%, #cddee8 0); }
    .navGlobal- > ul > li div.cate a {
      padding: 0; }
    .navGlobal- > ul > li.nav-item div.navi-title {
      position: relative; }
    .navGlobal- > ul > li.nav-item .navi-title2::before,
    .navGlobal- > ul > li.nav-item .navi-title2::after {
      position: absolute;
      content: '';
      width: 16px;
      height: 16px;
      border-top: 4px solid #1e2d58; }
    .navGlobal- > ul > li.nav-item .navi-title2::before {
      top: calc(50% - 2px);
      left: 8px; }
    .navGlobal- > ul > li.nav-item .navi-title2::after {
      top: calc(50% - 10px);
      left: 16px;
      transform: rotate(270deg); }
    .navGlobal- > ul > li.nav-item .navi-title2.active::after {
      border-top: none; }
    .navGlobal- > ul > li.nav-item div.navi-title a {
      display: block;
      margin-left: 35px; }
    .nav-item {
      position: relative; }
    .navi-title2 {
      width: 35px;
      position: absolute;
      top: 0;
      left: 0;
      padding: 13px 0 9px;
      text-indent: -9999px;
      overflow: hidden; }
    .nav-item_sub .inner {}
    .nav-item_sub .inner .cate {
      background: #fff;
      display: none; }
    .nav-item_sub .inner .menu p.sub_head {
      background: #fff;
      font-weight: bold;
      font-size: 1.6rem;
      padding: 10px 20px 10px 16px; }
    .nav-item_sub .inner .menu ul {
      margin: 0;
      padding: 0;
      list-style: none; }
    .nav-item_sub .inner .menu li {
      border-bottom: 1px solid #376097;
      padding-left: 20px; }
    .nav-item_sub .inner div.menu ul li a {
      display: inline-block;
      width: 100%;
      position: relative;
      padding: 10px 15px;
      box-sizing: border-box }
    .nav-item_sub .inner div.menu ul li a::before {
      position: absolute;
      top: calc(50% - 0.4em);
      bottom: auto;
      left: 0;
      display: block;
      width: 0;
      height: 0;
      margin-top: auto;
      margin-bottom: auto;
      content: '';
      border: 4px solid transparent;
      border-left-color: #1e2d58; }
    .nav-item_sub {
      display: none; } }

/* フッターサイトマップ */
@media screen and (min-width: 761px) {
  .foot- {
    position: relative;
    border-top: 3px solid #cbd3de; }
  .footMap {
    background: #eaf2f7;
    padding: 0 10px 80px;
    margin-bottom: -36px; }
    .footMapInner {
      max-width: 1200px;
      margin-right: auto;
      margin-left: auto;
      padding-top: 20px; }
    .footMap .footMapInner:first-child {
      padding-top: 50px; }
    .footMap .sub_head {
      border-bottom: 1px solid #ccc;
      margin-bottom: 5px;
      font-weight: bold; }
    .footMap ul {
      display: flex;
      flex-wrap: wrap;
      margin: 0 0 15px 0;
      padding: 0;
      list-style: none; }
    .footMap ul li {
      margin: 0;
      line-height: 1.42857;
      padding: 10px 30px 0 13px; }
    .footMap ul li a {
      position: relative; }
    .footMap ul li a::before {
      position: absolute;
      top: 0.4em;
      bottom: auto;
      left: -13px;
      display: block;
      width: 0;
      height: 0;
      margin-top: auto;
      margin-bottom: auto;
      content: '';
      border: 4px solid transparent;
      border-left-color: #1e2d58; } }

@media screen and (max-width: 760px) {
  .foot- {
    position: relative;
    border-top: 3px solid #cbd3de; }
  .footMap {
    background: #eaf2f7;
    padding: 0 10px 80px;
    margin-bottom: -36px; }
    .footMapInner {
      max-width: 1200px;
      margin-right: auto;
      margin-left: auto;
      padding-top: 20px; }
    .footMap .footMapInner:first-child {
      padding-top: 30px; }
    .footMap .sub_head {
      border-bottom: 1px solid #ccc;
      margin-bottom: 5px;
      font-weight: bold; }
    .footMap ul {
      display: flex;
      flex-wrap: wrap;
      margin: 0 0 15px 0;
      padding: 0;
      list-style: none; }
    .footMap ul li {
      margin: 0;
      line-height: 1.42857;
      padding: 10px 15px 0 13px; }
    .footMap ul li a {
      position: relative; }
    .footMap ul li a::before {
      position: absolute;
      top: 0.4em;
      bottom: auto;
      left: -13px;
      display: block;
      width: 0;
      height: 0;
      margin-top: auto;
      margin-bottom: auto;
      content: '';
      border: 4px solid transparent;
      border-left-color: #1e2d58; } }

.navGlobal- > ul > li.nav-item:hover .navi-title {
  color: #bf1e4c;
}

/* 背景固定 */
@media screen and (max-width: 760px) {
  .is-menuOpen body {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
  }
}

/* ----------------------------------- */
/* 2023 ------------------------------ */
/* ----------------------------------- */

/* 印刷対応 */
@media print{
.navGlobal- {
border-top: 1px solid #7b86a7;
border-bottom: 10px solid #1e2d58;
background-color: #cddee8;
}

.navGlobal- > ul {
position: relative;
display: -webkit-flex;
display: -ms-flexbox;
display:         flex;
margin-bottom: 0;
background-color: #dee9ef;

-webkit-justify-content: center;
-ms-flex-pack: center;
        justify-content: center;
}

.navGlobal- > ul::before,
.navGlobal- > ul::after {
position: absolute;
top: 0;
bottom: 0;
display: block;
width: 50px;
content: '';
background-color: #000;
}

.navGlobal- > ul::before {
left: 0;
border-left: 30px solid #cddee8;
background-image: linear-gradient(to top right, #cddee8 50%, #dee9ef 0);
}

.navGlobal- > ul::after {
right: 0;
border-right: 30px solid #cddee8;
background-image: linear-gradient(to top left, #cddee8 50%, #dee9ef 0);
}

.navGlobal- > ul > li {
font-size: 1.8rem;
font-weight: bold;
line-height: 1.2;
position: relative;
z-index: 50;
display: -webkit-flex;
display: -ms-flexbox;
display:         flex;
/*padding: 0 8px 0 10px;*/
}

.navGlobal- > ul > li:not(:first-child)::before {
/*position: absolute;
top: 0;
bottom: 0;
left: 0;*/
display: block;
width: 0;
height: 22px;
margin-top: auto;
margin-bottom: auto;
content: '';
border-left: 1px solid #bfcdd6;
box-shadow: 1px 0 0 0 #fff;
}

.navGlobal- > ul > li div.navi-title a {
position: relative;
display: -webkit-flex;
display: -ms-flexbox;
display:         flex;
padding: 12px 18px 10px 18px;
text-decoration: none;

-webkit-align-items: center;
-ms-flex-align: center;
        align-items: center;
}
:lang(en) .navGlobal- > ul > li div.navi-title a {
padding: 12px 30px 10px 30px;
}

.navGlobal- > ul > li div.navi-title a > span {
display: block;
text-align: center;
/*padding-left: 10px;*/
}

.navGlobal- > ul > li div.navi-title a:link,
.navGlobal- > ul > li div.navi-title a:visited {
color: #1e2d58;
}

.navGlobal- > ul > li div.navi-title a:hover,
.navGlobal- > ul > li div.navi-title a:active,
.navGlobal- > ul > li div.navi-title a:focus {
color: #bf1e4c;
}

.navGlobal- > ul > li div.navi-title a:hover::after,
.navGlobal- > ul > li div.navi-title a:active::after,
.navGlobal- > ul > li div.navi-title a:focus::after {
position: absolute;
top: 0;
top: auto;
right: 0;
bottom: 0;
bottom: -7px;
left: 0;
display: block;
width: 0;
height: 0;
margin: 0 auto;
margin-top: auto;
margin-bottom: auto;
content: '';
-webkit-transform: rotate(-90deg);
        transform: rotate(-90deg);
border: 4px solid transparent;
border-left-color: #fff;
	z-index: 100;
}

.navGlobal- > ul > li[data-state='active'] .navi-title a {
background-color: #fff;
}

.navGlobal- > ul > li[data-state='active'] .navi-title a::before {
position: absolute;
bottom: -10px;
left: 0;
display: block;
width: 100%;
height: 10px;
content: '';
background-color: #e12359;
}

.navGlobal- > ul > li[data-state='active'] .navi-title a::after {
position: absolute;
top: 0;
top: auto;
right: 0;
bottom: 0;
bottom: -7px;
left: 0;
display: block;
width: 0;
height: 0;
margin: 0 auto;
margin-top: auto;
margin-bottom: auto;
content: '';
-webkit-transform: rotate(-90deg);
        transform: rotate(-90deg);
border: 4px solid transparent;
border-left-color: #fff;
}

  .foot- {
    position: relative;
    border-top: 3px solid #cbd3de; }
  .footMap {
    background: #eaf2f7;
    padding: 0 10px 80px;
    margin-bottom: -36px; }
    .footMapInner {
      max-width: 1200px;
      margin-right: auto;
      margin-left: auto;
      padding-top: 20px; }
    .footMap .footMapInner:first-child {
      padding-top: 50px; }
    .footMap .sub_head {
      border-bottom: 1px solid #ccc;
      margin-bottom: 5px;
      font-weight: bold; }
    .footMap ul {
      display: flex;
      flex-wrap: wrap;
      margin: 0 0 15px 0;
      padding: 0;
      list-style: none; }
    .footMap ul li {
      margin: 0;
      line-height: 1.42857;
      padding: 10px 30px 0 13px; }
    .footMap ul li a {
      position: relative; }
    .footMap ul li a::before {
      position: absolute;
      top: 0.4em;
      bottom: auto;
      left: -13px;
      display: block;
      width: 0;
      height: 0;
      margin-top: auto;
      margin-bottom: auto;
      content: '';
      border: 4px solid transparent;
      border-left-color: #1e2d58; }
}