@charset "UTF-8";
/*ベースフォント設定*/
/*Font Awesome5---------------------------------------------*/
@media screen and (min-width: 1201px ) { /*PC*/ }
@media screen and (max-width: 760px ) { /*SP*/ }
@media screen and (max-width: 1200px ) and (min-width: 761px ) { /*TB*/ }
@media screen and (max-width: 760px ) { /*SP*/
  body {
    -webkit-text-size-adjust: 100%;
    font-size: 75%;
  }
}
@-webkit-keyframes buruburu {
  0% {
    -webkit-transform: translate(0, 0);
  }
  50% {
    -webkit-transform: translate(0, -5px);
  }
  100% {
    -webkit-transform: translate(0, 0);
  }
}
@keyframes buruburu {
  0% {
    -webkit-transform: translate(0, 0);
  }
  50% {
    -webkit-transform: translate(0, -5px);
  }
  100% {
    -webkit-transform: translate(0, 0);
  }
}
@-webkit-keyframes buruburu2 {
  0% {
    -webkit-transform: translate(0, 0);
  }
  50% {
    -webkit-transform: translate(0, -20px);
  }
  100% {
    -webkit-transform: translate(0, 0);
  }
}
@keyframes buruburu2 {
  0% {
    -webkit-transform: translate(0, 0);
  }
  50% {
    -webkit-transform: translate(0, -20px);
  }
  100% {
    -webkit-transform: translate(0, 0);
  }
}
@-webkit-keyframes fadein {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 70%;
  }
  70% {
    opacity: 50%;
  }
  100% {
    opacity: 100%;
  }
}
@keyframes fadein {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 70%;
  }
  70% {
    opacity: 50%;
  }
  100% {
    opacity: 100%;
  }
}
@-webkit-keyframes gradAnimeTime {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
@keyframes gradAnimeTime {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
.fade {
  opacity: 0;
  -webkit-transform: scale(0.9);
  transform: scale(0.9);
  -webkit-transition: all 0.7s;
  transition: all 0.7s;
}
.fade.effect {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
}

.slidein {
  opacity: 0;
  -webkit-transform: translateX(-300px);
          transform: translateX(-300px);
  -webkit-transition: all 0.7s;
  transition: all 0.7s;
}
.slidein.effect {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

@-webkit-keyframes fadeUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.fade-list > * {
  -webkit-transition: all 0.7s;
  transition: all 0.7s;
  opacity: 0;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  position: relative;
}
.fade-list.effect > *:nth-child(1) {
  -webkit-animation: fadeUp 0.5s 0.3s 1 ease normal forwards;
          animation: fadeUp 0.5s 0.3s 1 ease normal forwards;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.fade-list.effect > *:nth-child(2) {
  -webkit-animation: fadeUp 0.5s 0.6s 1 ease normal forwards;
          animation: fadeUp 0.5s 0.6s 1 ease normal forwards;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.fade-list.effect > *:nth-child(3) {
  -webkit-animation: fadeUp 0.5s 0.9s 1 ease normal forwards;
          animation: fadeUp 0.5s 0.9s 1 ease normal forwards;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.fade-list.effect > *:nth-child(4) {
  -webkit-animation: fadeUp 0.5s 1.2s 1 ease normal forwards;
          animation: fadeUp 0.5s 1.2s 1 ease normal forwards;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.fade-list.effect > *:nth-child(5) {
  -webkit-animation: fadeUp 0.5s 1.5s 1 ease normal forwards;
          animation: fadeUp 0.5s 1.5s 1 ease normal forwards;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.fade-list.effect > *:nth-child(6) {
  -webkit-animation: fadeUp 0.5s 1.8s 1 ease normal forwards;
          animation: fadeUp 0.5s 1.8s 1 ease normal forwards;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.fade-list.effect > *:nth-child(7) {
  -webkit-animation: fadeUp 0.5s 2.1s 1 ease normal forwards;
          animation: fadeUp 0.5s 2.1s 1 ease normal forwards;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.fade-list.effect > *:nth-child(8) {
  -webkit-animation: fadeUp 0.5s 2.4s 1 ease normal forwards;
          animation: fadeUp 0.5s 2.4s 1 ease normal forwards;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.fade-list.effect > *:nth-child(9) {
  -webkit-animation: fadeUp 0.5s 2.7s 1 ease normal forwards;
          animation: fadeUp 0.5s 2.7s 1 ease normal forwards;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.fade-list.effect > *:nth-child(10) {
  -webkit-animation: fadeUp 0.5s 3s 1 ease normal forwards;
          animation: fadeUp 0.5s 3s 1 ease normal forwards;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.fade-list.effect > *:nth-child(11) {
  -webkit-animation: fadeUp 0.5s 3.3s 1 ease normal forwards;
          animation: fadeUp 0.5s 3.3s 1 ease normal forwards;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
.fade-list.effect > *:nth-child(12) {
  -webkit-animation: fadeUp 0.5s 3.6s 1 ease normal forwards;
          animation: fadeUp 0.5s 3.6s 1 ease normal forwards;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}

.move-img {
  position: relative;
  overflow: hidden;
  z-index: 1;
}
.move-img:before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  height: 100%;
  background: #fff;
  z-index: 1;
  -webkit-transform-origin: right center;
          transform-origin: right center;
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
  -webkit-transition: width 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0s, -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
  transition: width 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0s, -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
  transition: width 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0s, transform 0.5s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
  transition: width 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0s, transform 0.5s cubic-bezier(0.19, 1, 0.22, 1) 0.4s, -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
}
.move-img img {
  position: relative;
  width: 100%;
  height: auto;
  opacity: 0;
  left: -100%;
  -webkit-transition: all 0.7s;
  transition: all 0.7s;
}
.move-img.effect img {
  opacity: 1;
  left: 0;
}
.move-img.effect:before {
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  width: 100%;
}

.blur {
  -ms-filter: blur(6px);
  -webkit-filter: blur(6px);
          filter: blur(6px);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  -webkit-transform: scale(0.95);
  transform: scale(0.95);
}
.blur.effect {
  -webkit-transform: scale(1);
  transform: scale(1);
  -ms-filter: blur(0);
  -webkit-filter: blur(0);
          filter: blur(0);
}

.focus-img {
  position: relative;
}
.focus-img img {
  display: block;
  min-width: 100%;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) scale(1.5) rotateZ(0);
  transform: translate(-50%, -50%) scale(1.5) rotateZ(0);
  -webkit-transition: all 3s;
  transition: all 3s;
}
.focus-img.effect img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) scale(1) rotateZ(0);
  transform: translate(-50%, -50%) scale(1) rotateZ(0);
}


/*共通------------------------------------------*/
#main {
  padding-bottom: 5em;
}

.overframe {
  width: 100vw;
  margin-left: -3vw;
}

#p-head-menu {
  background: #373b95;
  font-size: 90%;
  position: sticky;
  z-index: 100;
}
@media screen and (max-width: 760px ) {
  #p-head-menu {
    display: none;
  }
}
#p-head-menu a {
  color: #fff;
  display: inline-block;
}
#p-head-menu a:hover {
  text-decoration: none;
  background: #4E6DBB;
}
#p-head-menu > ul > li {
  display: inline-block;
}
#p-head-menu > ul > li > a {
  padding: 15px;
  padding-right: 1em;
}
#p-head-menu > ul > li > a:before {
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
  content: "\f0a9";
  margin-right: 5px;
}
#p-head-menu > ul li {
  position: relative;
}
#p-head-menu > ul li .sub-menu {
  display: none;
  position: absolute;
  width: 200%;
  top: 100%;
  left: 0;
  background: #373b95;
  z-index: 1000;
}
#p-head-menu > ul li .sub-menu li:not(:last-child) {
  border-bottom: 1px solid #fff;
}
#p-head-menu > ul li .sub-menu li a {
  display: block;
  padding: 10px;
}
#p-head-menu > ul li:hover .sub-menu {
  display: block;
}

#page_hed {
  background: url("../img/bg-information.jpg") no-repeat left top;
  background-size: 100% auto;
  padding: 8vw 3vw;
}
#page_hed h1 {
  text-align: right;
  font-size: 200%;
  letter-spacing: 5px;
  -moz-text-shadow: 0px 0px 6px rgb(255, 255, 255), 0px 0px 6px rgb(255, 255, 255), 0px 0px 6px rgb(255, 255, 255), 0px 0px 4px rgb(255, 255, 255), 0px 0px 2px rgb(255, 255, 255), 0px 0px 1px rgb(255, 255, 255);
  -webkit-text-shadow: 0px 0px 6px rgb(255, 255, 255), 0px 0px 6px rgb(255, 255, 255), 0px 0px 6px rgb(255, 255, 255), 0px 0px 4px rgb(255, 255, 255), 0px 0px 2px rgb(255, 255, 255), 0px 0px 1px rgb(255, 255, 255);
  -ms-text-shadow: 0px 0px 6px rgb(255, 255, 255), 0px 0px 6px rgb(255, 255, 255), 0px 0px 6px rgb(255, 255, 255), 0px 0px 4px rgb(255, 255, 255), 0px 0px 2px rgb(255, 255, 255), 0px 0px 1px rgb(255, 255, 255);
  text-shadow: 0px 0px 6px rgb(255, 255, 255), 0px 0px 6px rgb(255, 255, 255), 0px 0px 6px rgb(255, 255, 255), 0px 0px 4px rgb(255, 255, 255), 0px 0px 2px rgb(255, 255, 255), 0px 0px 1px rgb(255, 255, 255);
}
@media screen and (max-width: 760px ) {
  #page_hed h1 {
    font-size: 130%;
  }
}
#page_hed h1 span {
  font-size: 50%;
  letter-spacing: 2px;
  font-weight: normal;
  display: block;
}

.breadcrumbs {
  padding: 1em;
  font-size: 85%;
  background: #f5f5f5;
  margin-bottom: 3em;
}

.page_overview {
  background: #aad9cf;
  background: linear-gradient(135deg, #aad9cf, #c4e9ff);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=quote($statCol), endColorstr=quote($endCol),GradientType=1 );
  margin-top: 10em;
  padding: 0 0 2em;
}
.page_overview dl {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
}
.page_overview dl img {
  max-width: 100%;
  height: auto;
}
.page_overview dl dt {
  width: 35%;
  margin-top: -7em;
  position: relative;
  overflow: hidden;
  -webkit-filter: drop-shadow(0 15px 15px rgba(0, 0, 0, 0.1));
  -moz-filter: drop-shadow(0 15px 15px rgba(0, 0, 0, 0.1));
  -ms-filter: drop-shadow(0 15px 15px rgba(0, 0, 0, 0.1));
  filter: drop-shadow(0 15px 15px rgba(0, 0, 0, 0.1));
}
@media all and (-ms-high-contrast: none) {
  .page_overview dl dt {
    -webkit-box-shadow: 0 15px 15px 0 rgba(0, 0, 0, 0.1);
            box-shadow: 0 15px 15px 0 rgba(0, 0, 0, 0.1);
  }
}
.page_overview dl dd {
  width: 65%;
  padding: 2em 5%;
  line-height: 2;
}
@media screen and (max-width: 760px ) {
  .page_overview dl { /*SP*/ }
  .page_overview dl dt {
    width: 80%;
    margin: -5em auto 1em;
    text-align: center;
  }
  .page_overview dl dt img {
    max-width: 300px;
  }
  .page_overview dl dd {
    width: 100%;
  }
}
.page_overview .lead-title {
  font-family: "Shippori Mincho B1", serif;
  font-size: 180%;
  line-height: 1.8;
  font-weight: normal;
  position: relative;
}
.page_overview .lead-title span {
  display: inline-block;
}
.page_overview .lead-text {
  line-height: 2;
  margin-top: 1.5em;
}

.contents-body {
  padding: 0 5vw;
}
@media screen and (max-width: 760px ) {
  .contents-body {
    font-size: 110%;
  }
}
.contents-body hr {
  margin: 2em 0;
}
.contents-body > section {
  padding: 3em 0;
}
.contents-body a {
  text-decoration: underline;
}
.contents-body a:hover {
  text-decoration: none;
}
.contents-body .btn a {
  text-decoration: none;
}
.contents-body > * {
  margin-top: 2em;
}
.contents-body .free p, .contents-body .free2 p, .contents-body td p, .contents-body li p {
  margin-bottom: 1em;
}
.contents-body p:not([class]) {
  margin-top: 1em;
  line-height: 2;
}
.contents-body p:not([class]) + p:not([class]) {
  margin-top: 1.5em;
}
.contents-body h2 {
  text-align: center;
  font-size: 180%;
  font-family: "Shippori Mincho B1", serif;
  padding: 1em 2%;
}
.contents-body h2:not(:first-child) {
  margin-top: 3em;
}
@media screen and (max-width: 760px ) {
  .contents-body h2 {
    font-size: 160%;
  }
}
.contents-body h3 {
  width: calc(100% + 4vw);
  margin-left: -2vw;
  font-size: 140%;
  letter-spacing: 2px;
  font-weight: normal;
  padding: 1em;
  background: #FDE7F6;
  background: -webkit-gradient(linear, left top, right top, from(#FDE7F6), to(#DAE6FB));
  background: linear-gradient(to right, #FDE7F6, #DAE6FB);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=quote($statCol), endColorstr=quote($endCol),GradientType=1 );
}
.contents-body h3:not(:first-child) {
  margin-top: 3em;
}
.contents-body h3:nth-of-type(even) {
  background: #E0F8F7;
  background: -webkit-gradient(linear, left top, right top, from(#E0F8F7), to(#fff9e7));
  background: linear-gradient(to right, #E0F8F7, #fff9e7);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=quote($statCol), endColorstr=quote($endCol),GradientType=1 );
}
.contents-body .note h3, .contents-body .border-box h3, .contents-body .lead h3 {
  width: 100%;
  margin-left: 0;
}
.contents-body h4 {
  font-size: 110%;
  font-weight: normal;
  background: #ECEEF6;
  padding: 0.75em 1em;
  position: relative;
}
.contents-body h4:not(:first-child) {
  margin-top: 1.5em;
}
.contents-body h4:before {
  display: inline-block;
  width: 5px;
  height: 1em;
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%) scale(1);
          transform: translateY(-50%) scale(1);
  left: 0;
  background: #B5BDDD;
}
.contents-body h4 a {
  display: inline-block;
  color: #3765c2;
  position: relative;
  padding-right: 1em;
}
.contents-body h4 a:before {
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
  content: "\f105";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%) scale(1);
          transform: translateY(-50%) scale(1);
  right: 0;
}
.contents-body h5, .contents-body p.point {
  font-size: 110%;
  padding: 0.75em 1em;
  letter-spacing: 1px;
  padding-left: 2em;
  border-bottom: 1px solid #dedede;
  position: relative;
}
.contents-body h5:not(:first-child), .contents-body p.point:not(:first-child) {
  margin-top: 2em;
  border-top: 1px solid #dedede;
}
.contents-body h5:before, .contents-body h5:after, .contents-body p.point:before, .contents-body p.point:after {
  display: inline-block;
  content: "";
  border-radius: 100%;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%) scale(1);
          transform: translateY(-50%) scale(1);
}
.contents-body h5:before, .contents-body p.point:before {
  background: #FF5ACD;
  background: linear-gradient(135deg, #FF5ACD, #FBDA61);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=quote($statCol), endColorstr=quote($endCol),GradientType=1 );
  width: 1em;
  height: 1em;
  left: 0;
}
.contents-body h5:after, .contents-body p.point:after {
  background: #fff;
  width: 0.6em;
  height: 0.6em;
  left: 0.2em;
}
.contents-body ul:not([class]) li {
  margin-top: 1em;
  padding-left: 2em;
  position: relative;
}
.contents-body ul:not([class]) li:before {
  background: #84b7f6;
  display: inline-block;
  content: "";
  width: 0.5em;
  height: 0.5em;
  border-radius: 100%;
  position: absolute;
  top: 0.5em;
  left: 0.75em;
}
.contents-body ul.img2 li.btn, .contents-body ul.img3 li.btn, .contents-body ul.img4 li.btn {
  margin-top: 0 !important;
}
.contents-body ul.img2 li.btn a, .contents-body ul.img3 li.btn a, .contents-body ul.img4 li.btn a {
  font-size: 110%;
}
.contents-body ol:not([class]) {
  list-style-type: none;
  counter-reset: numlist;
  padding-left: 1rem;
}
.contents-body ol:not([class]) > li {
  padding-left: 1.5em;
  position: relative;
  margin-top: 1em;
}
.contents-body ol:not([class]) > li:before {
  counter-increment: numlist;
  content: counter(numlist) ".";
  font-weight: bold;
  color: #84b7f6;
  position: absolute;
  top: 0;
  left: 0;
}
.contents-body table {
  width: 100%;
  margin: 2em auto 0;
  table-layout: fixed;
  border-top: 1px solid #99b0c0;
  border-left: 1px solid #99b0c0;
  background: #e8f3fb;
  background: linear-gradient(135deg, #e8f3fb, #DBE9FC);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=quote($statCol), endColorstr=quote($endCol),GradientType=1 );
}
.contents-body table th, .contents-body table td {
  vertical-align: middle;
  border-right: 1px solid #99b0c0;
  border-bottom: 1px solid #99b0c0;
}
.contents-body table th {
  font-size: 90%;
  padding: 1em 1.5em;
  font-weight: normal;
  max-width: 50%;
}
.contents-body table td {
  background: #fff;
  padding: 1em;
}

.lead {
  font-size: 110%;
  padding: 2em 3em;
  position: relative;
}
.lead:not(:first-child) {
  margin-top: 2em;
}
.lead:before, .lead:after {
  display: inline-block;
  width: 3em;
  height: 3em;
  content: "";
  position: absolute;
  z-index: 0;
  border: 1px solid #000;
}
.lead:before {
  border-width: 1px 0 0 1px;
  top: 0;
  left: 0;
}
.lead:after {
  border-width: 0 1px 1px 0;
  right: 0;
  bottom: 0;
}

.note_box {
  font-family: "Shippori Mincho B1", serif;
  font-size: 110%;
  line-height: 2;
  border-radius: 15px;
  padding: 3em 5%;
  background: #fff6f6;
  background: linear-gradient(135deg, #fff6f6, #fff9eb);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=quote($statCol), endColorstr=quote($endCol),GradientType=1 );
}
.note_box:not(:first-child) {
  margin-top: 2em;
}
.note_box > *:first-child {
  margin-top: 0 !important;
}

.note {
  padding: 2em 3em;
  background: #f0f3f6;
  background: linear-gradient(135deg, #f0f3f6, #F8FCFF);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=quote($statCol), endColorstr=quote($endCol),GradientType=1 );
  border-radius: 10px;
}
.note:not(:first-child) {
  margin-top: 2em;
}
.note *:first-child {
  margin-top: 0 !important;
}

.border-box {
  padding: 2em;
  border: 10px solid #eaeaea;
}
.border-box:not(:first-child) {
  margin-top: 2em;
}

.font-l {
  font-size: 120%;
}

.font-m {
  font-size: inherit;
}

.font-s {
  font-size: 80%;
}

.relation-page-nav {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
  padding: 2em 0;
}
.relation-page-nav li {
  min-width: 25%;
  max-width: 50%;
  -ms-flex-grow: 1;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  padding: 5px;
}
.relation-page-nav li a {
  display: block;
  font-size: 90%;
  padding: 1em;
  padding-right: 2em;
  background: #f0f3f6;
  border-radius: 5px;
  text-decoration: none;
  position: relative;
}
.relation-page-nav li a:after {
  color: #4e85c6;
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
  content: "\f30b";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%) scale(1);
          transform: translateY(-50%) scale(1);
  right: 1em;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.relation-page-nav li a:hover:after {
  right: 0.5em;
}
@media screen and (max-width: 1200px ) and (min-width: 761px ), screen and (max-width: 760px ) {
  .relation-page-nav li {
    padding: 5px;
  }
  .relation-page-nav li a {
    padding: 10px;
  }
}

.page_nav {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
}
.page_nav.box2 li {
  width: 50%;
}
@media screen and (max-width: 760px ) {
  .page_nav.box2 li {
    width: 100%;
  }
}
.page_nav.box3 li {
  width: 33.3%;
}
@media screen and (max-width: 1200px ) and (min-width: 761px ) {
  .page_nav.box3 li {
    width: 50%;
  }
}
@media screen and (max-width: 760px ) {
  .page_nav.box3 li {
    width: auto;
    -ms-flex-grow: 1;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
}
.page_nav.box4 li {
  width: 25%;
}
@media screen and (max-width: 1200px ) and (min-width: 761px ) {
  .page_nav.box4 li {
    width: 33.3%;
  }
}
@media screen and (max-width: 760px ) {
  .page_nav.box4 li {
    width: 50%;
  }
}
.page_nav:not(.box2, .box3, .box4) li {
  -ms-flex-grow: 1;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  min-width: 25%;
  max-width: 50%;
}
@media screen and (max-width: 760px ) {
  .page_nav:not(.box2, .box3, .box4) li { /*SP*/
    max-width: inherit;
    max-width: initial;
  }
}
.page_nav li {
  padding: 5px;
}
.page_nav li a {
  display: block;
  border: 1px solid #9ac3f6;
  color: #4e8cd9;
  padding: 10px 15px;
  padding-right: 2em;
  border-radius: 3px;
  position: relative;
  text-decoration: none;
}
.page_nav li a:before {
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
  content: "\f107";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%) scale(1);
          transform: translateY(-50%) scale(1);
  right: 1em;
  font-size: 85%;
}
.page_nav li a:hover {
  background: #E5F1FF;
}

.category-archive {
  max-width: 1200px;
  margin: 0 auto;
}
.category-archive li {
  display: block;
  border-bottom: 1px solid #c1c1c1;
}
.category-archive li a {
  display: block;
  padding: 1em;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
  text-decoration: none;
}
.category-archive li a:hover {
  background: #FFFEF3;
}
.category-archive li dl {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -ms-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
  width: 100%;
}
.category-archive li dl dt {
  font-family: "Josefin Sans", sans-serif;
  line-height: 1;
  min-width: 10%;
}
@media screen and (max-width: 760px ) {
  .category-archive li dl { /*SP*/
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .category-archive li dl dt, .category-archive li dl dd {
    width: 100%;
  }
}
.category-archive li dl .topics-title {
  -ms-flex-grow: 1;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-size: 110%;
  padding: 0 1em;
}
.category-archive li dl .topics-title p {
  margin-bottom: 0;
}
.category-archive li dl .list-tags {
  font-size: 80%;
  color: #6b9ed2;
  padding-top: 5px;
}
.category-archive li dl .list-tags span {
  display: inline-block;
  margin-right: 10px;
}
.category-archive li dl .new {
  line-height: 1;
}
.category-archive li dl .new span {
  display: inline-block;
  font-size: 85%;
  padding: 5px 5px;
  color: #d73737;
  border: 1px solid #d73737;
  margin-left: 1em;
}

.archive-link {
  margin-top: 0;
  margin-bottom: 2em;
}
.archive-link:before {
  display: block;
  font-size: 90%;
  font-weight: bold;
  color: #70a3c9;
  content: "タグで絞り込み：";
  margin-bottom: 8px;
}
.archive-link li {
  padding: 3px;
}
.archive-link li a {
  border: 1px solid #d5e4f4;
}

.tags li {
  display: inline-block;
}
.tags li a {
  text-decoration: none;
  display: inline-block;
  padding: 3px 10px;
  color: #6b9ed2;
}
.tags li a:before {
  content: "#";
}
.tags li a:hover {
  background: #ECF5FF;
}

#event-category-box {
  margin-top: 2em;
  padding: 1em;
  border: 1px solid #d9d9d9;
}
#event-category-box ul li {
  display: inline-block;
  margin-right: 1em;
}

#calendar {
  max-width: 100%;
  overflow-x: auto;
}
#calendar .em.em-calendar .em-cal-body > div {
  padding: 5px;
}

.event_list li {
  border-bottom: 1px solid #dedede;
}
.event_list li a {
  display: block;
  padding: 1em;
  text-decoration: none;
}
.event_list li a:hover {
  background: #F2FBF0;
}
.event_list li dl {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -ms-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
}
.event_list li dl dt {
  width: 15em;
}
.event_list li dl dt span {
  font-size: 85%;
  display: block;
  text-align: center;
  padding: 5px 10px;
  line-height: 1.2;
}
.event_list li dl dt .event-data {
  font-size: 110%;
  color: #4bc38c;
  border: 1px solid #4bc38c;
}
.event_list li dl dt .event-cat {
  background: #4bc38c;
  color: #fff;
}
.event_list li dl dd {
  -ms-flex-grow: 1;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  padding: 5px 1em;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -ms-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
}
.event_list li dl dd span {
  display: block;
}
.event_list li dl dd .event-title {
  -ms-flex-grow: 1;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.event_list li dl dd .form_open {
  background: #ff9749;
  color: #fff;
  text-align: center;
  font-size: 85%;
  width: 25%;
  padding: 10px;
}
.event_list li dl dd .form_open span {
  display: block;
  font-size: 140%;
  padding-top: 5px;
}
.event_list li dl dd p {
  line-height: 1;
  margin-bottom: 0;
}
@media screen and (max-width: 760px ) {
  .event_list li dl { /*SP*/
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .event_list li dl dt, .event_list li dl dd {
    width: 100%;
  }
  .event_list li dl dt {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-align: stretch;
    -webkit-box-align: stretch;
            align-items: stretch;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-direction: row;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
            flex-direction: row;
  }
  .event_list li dl dd {
    padding-left: 0;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .event_list li dl dd .event-title {
    font-size: 120%;
    line-height: 1.7;
    padding: 1em 0;
  }
  .event_list li dl dd .form_open {
    width: 100%;
    text-align: center;
  }
  .event_list li dl dd .form_open span {
    display: inline-block;
    padding-top: 0;
    padding-left: 10px;
  }
}

.event_archive dl {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  font-size: 90%;
  padding: 1.5em 3%;
}
.event_archive dl:not(:last-child) {
  padding-bottom: calc(2.5em + 30px);
  margin-bottom: 2.5em;
  position: relative;
}
.event_archive dl:not(:last-child):after {
  display: block;
  content: "";
  position: absolute;
  bottom: 0;
  left: 3%;
  width: 94%;
  height: 25px;
  background-image: repeating-linear-gradient(90deg, #f0f5e6 0px 10px, #ffffff 10px 20px);
}
.event_archive dl dt {
  width: 35%;
  text-align: center;
  -ms-flex-order: 2;
  -webkit-box-ordinal-group: 3;
          order: 2;
}
.event_archive dl dd {
  width: 65%;
  padding-right: 1em;
  -ms-flex-order: 1;
  -webkit-box-ordinal-group: 2;
          order: 1;
}
.event_archive dl dd .title {
  font-weight: bold;
  font-size: 150%;
  margin-bottom: 0;
}
.event_archive dl dd .excerpt {
  font-size: 85%;
}
.event_archive dl dd .excerpt span {
  font-size: 90%;
  display: inline-block;
  padding: 0 5px;
  margin-right: 10px;
  border: 1px solid #fff;
}
.event_archive dl dd .excerpt span.cat {
  background: #fff;
  color: #ff6f6f;
  border-color: #ff6f6f;
}
.event_archive dl dd .excerpt span.icon_ev_close {
  background: #eee;
}
.event_archive dl dd .excerpt span.icon_ev_open {
  background: #ff8d00;
  color: #fff;
}
.event_archive dl dd .ev_btn a {
  display: inline-block;
  padding: 3px 3%;
  text-decoration: none;
  border: 2px solid #1ECD97;
  color: #1ECD97;
  position: relative;
  -webkit-transition: all 0.7s;
  transition: all 0.7s;
}
.event_archive dl dd .ev_btn a:after {
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
  content: "\f105";
  content: "\f105";
  margin-left: 5px;
}
.event_archive dl dd .ev_btn a:hover {
  background: #1ECD97;
  color: #fff;
}
@media screen and (max-width: 760px ) {
  .event_archive dl { /*SP*/ }
  .event_archive dl dt, .event_archive dl dd {
    width: 100%;
  }
}

.search-archive li {
  margin-bottom: 1em;
}
.search-archive li a {
  display: block;
  padding: 1em 1.5em;
  text-decoration: none;
  background: #F1F1F1;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
}
.search-archive li a:hover {
  background: #FEF2F2;
}
.search-archive li a p {
  margin-bottom: 0;
}
.search-archive li a .topics-title {
  width: 80%;
}
.search-archive li a .more {
  width: 20%;
  text-align: center;
  display: inline-block;
  font-size: 90%;
  padding: 10px 30px;
  border-radius: 30px;
  background: #FF8A98;
  background: -webkit-gradient(linear, left top, right top, from(#FF8A98), to(#BA90F2));
  background: linear-gradient(to right, #FF8A98, #BA90F2);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=quote($statCol), endColorstr=quote($endCol),GradientType=1 );
  color: #fff;
}
@media screen and (max-width: 760px ) {
  .search-archive li a { /*SP*/
    padding-right: 0;
    padding-bottom: 0;
  }
  .search-archive li a .topics-title {
    width: 100%;
    margin-bottom: 10px;
  }
  .search-archive li a .more {
    border-radius: 0;
    font-size: 85%;
    width: auto;
    margin-right: 0;
    margin-left: auto;
  }
}

/*ページナビ*/
.wp-pagenavi {
  clear: both;
  padding: 3em 2%;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
}

.wp-pagenavi a, .wp-pagenavi span {
  text-decoration: none;
  border: 1px solid #c1c1c1;
  padding: 10px 10px;
  margin: 5px;
  display: inline-block;
  min-width: 3em;
  text-align: center;
}

.wp-pagenavi a:hover, .wp-pagenavi span.current {
  border-color: #356AD8 !important;
  background: #356AD8;
  color: #ffffff;
}

.wp-pagenavi span.current {
  font-weight: bold;
}

.post-body {
  padding-bottom: 3em;
}

.post-meta {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
  border-bottom: 1px solid #dedede;
  text-align: right;
  padding: 10px 0;
  color: #666;
  font-size: 90%;
}

.p_info_area {
  max-height: 200px;
  overflow-y: auto;
  background: #f5f5f5;
  padding: 1em;
}
.p_info_area dl {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
  padding: 1em 0;
}
.p_info_area dl dt {
  width: 20%;
  text-align: center;
}
.p_info_area dl dd {
  width: 80%;
}
@media screen and (max-width: 760px ) {
  .p_info_area dl { /*SP*/ }
  .p_info_area dl dt, .p_info_area dl dd {
    width: 100%;
    text-align: left;
  }
}

.seminar-loop {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
}
.seminar-loop li {
  width: 33.3%;
  padding: 10px;
}
@media screen and (max-width: 1200px ) and (min-width: 761px ) {
  .seminar-loop li {
    width: 50%;
  }
}
@media screen and (max-width: 760px ) {
  .seminar-loop li {
    width: 100%;
  }
}
.seminar-loop a {
  display: block;
  text-decoration: none;
  background: #F0F2F8;
  padding: 15px 20px;
  position: relative;
  border: 1px solid #F0F2F8;
}
.seminar-loop a:hover {
  background: #fff;
}
.seminar-loop .form-flag {
  position: absolute;
  top: 0;
  right: 0;
  display: inline-block;
  padding: 5px 8px;
  margin-bottom: 0;
  font-size: 85%;
  letter-spacing: 1px;
  border-radius: 0 0 0 10px;
  background: #333;
  color: #fff;
}
.seminar-loop .form-flag.form_open {
  background: #D62929;
}
.seminar-loop .event-date {
  padding-top: 1.8em;
  margin-bottom: 5px;
  position: relative;
  text-align: center;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
}
.seminar-loop .event-date .event-year {
  font-size: 110%;
  font-family: "Josefin Sans", sans-serif;
  font-weight: bold;
  position: absolute;
  top: 5px;
  left: 0;
}
.seminar-loop .event-date span {
  display: inline-block;
}
.seminar-loop .event-date span.date-num {
  font-size: 200%;
  font-weight: bold;
  font-family: "Josefin Sans", sans-serif;
}
.seminar-loop .event-date span.date-week {
  font-size: 80%;
  padding-left: 5px;
  font-weight: bold;
}
@media screen and (max-width: 1200px ) and (min-width: 761px ), screen and (max-width: 760px ) {
  .seminar-loop .event-date span.date-week {
    display: none;
  }
}
.seminar-loop .event-date span.date-time {
  font-size: 110%;
  padding-left: 5px;
  font-weight: bold;
}
.seminar-loop .event-date .event-separate {
  margin: 0 10px;
}
.seminar-loop .event-title {
  border-top: 1px solid #c1c1c1;
  font-size: 110%;
  padding: 1em;
  padding-left: 0;
  padding-right: 1.2em;
  margin-bottom: 0;
  position: relative;
}
.seminar-loop .event-title:after {
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
  content: "\f105";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%) scale(1);
          transform: translateY(-50%) scale(1);
  right: 0;
}

.link_info {
  color: #666;
  font-size: 90%;
  display: inline-block;
}

.inq_btn {
  text-align: center;
}
.inq_btn .link_info {
  display: block;
  padding: 10px;
}
.inq_btn a {
  font-size: 120%;
  display: inline-block;
  padding: 1.5em 2.5em;
  background: #f77062;
  background: linear-gradient(135deg, #f77062, #fe5196);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=quote($statCol), endColorstr=quote($endCol),GradientType=1 );
  background-size: 200% 100% !important;
  background-position: 0 0 !important;
  color: #fff;
  border-radius: 5px;
  text-decoration: none;
}
.inq_btn a:hover {
  background-position: 100% 0 !important;
}

.entry_close {
  text-align: center;
  border-bottom: 5px solid #eaeaea;
}
.entry_close dd {
  font-size: 200%;
  font-family: "Josefin Sans", sans-serif;
  padding: 10px 15px;
  display: inline-block;
  border-bottom: 5px solid #FF9F49;
  margin-bottom: -5px;
}

#no_form {
  background: #eaeaea;
  border-radius: 10px;
  padding: 1em;
  margin: 1em auto;
  width: 50%;
}
@media screen and (max-width: 760px ) {
  #no_form {
    width: 80%;
  }
}

.event_form {
  margin-top: -5px;
  padding: 2em 3%;
  border: 5px solid #eaeaea;
}

.faq {
  font-size: 110%;
  background: #ECF2F6;
  padding: 1.5em;
  border-radius: 10px;
  margin-bottom: 2em;
}
.faq dt, .faq dd {
  padding: 1em 1em 1em 3.5em;
  position: relative;
}
.faq dt span, .faq dd span {
  font-size: 120%;
  min-width: 3em;
  padding: 10px;
  text-align: center;
  display: inline-block;
  position: absolute;
  border-radius: 10px;
  color: #fff;
  content: "";
  position: absolute;
  top: -0.5em;
  left: -0.5em;
  line-height: 1;
}
.faq dt {
  background: #fff;
  margin-bottom: 2em;
  border-radius: 10px;
}
.faq dt span {
  background: #FFA853;
}
.faq dd {
  background: #fff;
  border-radius: 10px;
  line-height: 1.8;
}
.faq dd span {
  background: #6179E1;
}

/*=============================================================================*/
/*ページ内コンテンツ===============================================================*/
/*=============================================================================*/
.tokusyoku dt {
  font-size: 110%;
  color: #373b95;
  letter-spacing: 2px;
  padding: 1em 1.5em;
  position: relative;
}
.tokusyoku dt span:not([class]) {
  display: inline-block;
  background: #7f7fd5;
  background: -webkit-gradient(linear, left top, right top, from(#7f7fd5), to(#86a8e7));
  background: linear-gradient(to right, #7f7fd5, #86a8e7);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=quote($statCol), endColorstr=quote($endCol),GradientType=1 );
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}
.tokusyoku dt:after {
  display: inline-block;
  width: 20%;
  height: 1px;
  content: "";
  background: #7f7fd5;
  background: -webkit-gradient(linear, left top, right top, from(#7f7fd5), color-stop(#86a8e7), to(#85D7E1));
  background: linear-gradient(to right, #7f7fd5, #86a8e7, #85D7E1);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=quote($statCol), endColorstr=quote($endCol),GradientType=1 );
  position: absolute;
  left: 0;
  bottom: 0;
}
.tokusyoku dd {
  padding: 1em 2em;
  line-height: 2;
}

.panel_box .tokusyoku {
  border-bottom: 1px solid #c1c1c1;
}
.panel_box .tokusyoku:not(:nth-last-of-type(n+3)) {
  border-bottom: none;
}
.panel_box .tokusyoku:not(:nth-of-type(even)) {
  border-right: 1px dotted #c1c1c1;
}

.thum-pagemenu {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
}
.thum-pagemenu li {
  padding: 15px;
  min-width: 25%;
  -ms-flex-grow: 1;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.thum-pagemenu a {
  display: block;
}
.thum-pagemenu a dt {
  margin-bottom: 1em;
  text-align: center;
}
.thum-pagemenu a dd {
  padding: 1em 0;
  font-size: 105%;
  padding-right: 3em;
  border-bottom: 1px solid #dedede;
  position: relative;
}
.thum-pagemenu a dd:after {
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
  content: "\f061";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%) scale(1);
          transform: translateY(-50%) scale(1);
  right: 1em;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.thum-pagemenu a:hover {
  text-decoration: none;
}
.thum-pagemenu a:hover dd {
  border-bottom-color: #FFCD46;
  color: #FFCD46;
}
.thum-pagemenu a:hover dd:after {
  right: 0.5em;
}

#department-menu {
  margin-top: 3em;
  padding: 3em 5vw;
  background: #f6f6f6;
}
#department-menu ul {
  max-width: inherit;
  max-width: initial;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
  max-width: 1080px;
}
#department-menu ul li {
  width: 25%;
  padding: 10px;
}
@media screen and (max-width: 1200px ) and (min-width: 761px ) {
  #department-menu ul li {
    width: 33.3%;
  }
}
@media screen and (max-width: 760px ) {
  #department-menu ul li {
    width: 50%;
  }
}
#department-menu ul li a {
  display: block;
  border-radius: 5px;
  overflow: hidden;
  position: relative;
}
#department-menu ul li a dl dd {
  font-size: 120%;
  padding: 0.5em 1em;
  background: #000;
  color: #fff;
  border-radius: 0 5px 0 0;
  position: absolute;
  bottom: 0;
  left: 0;
  display: inline-block;
  min-width: 50%;
  max-width: 100%;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
#department-menu ul li a dl dd .dmenu-title {
  display: block;
}
#department-menu ul li a dl dd .dmenu-en {
  display: none;
}
#department-menu ul li a:hover dd {
  min-width: 90%;
}
#department-menu ul .dmenu-business dl dd {
  background: #6670e1;
  background: -webkit-gradient(linear, left top, right top, from(#6670e1), to(#43a2eb));
  background: linear-gradient(to right, #6670e1, #43a2eb);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=quote($statCol), endColorstr=quote($endCol),GradientType=1 );
}
#department-menu ul .dmenu-design dl dd {
  background: #ff9599;
  background: -webkit-gradient(linear, left top, right top, from(#ff9599), to(#ffb9d8));
  background: linear-gradient(to right, #ff9599, #ffb9d8);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=quote($statCol), endColorstr=quote($endCol),GradientType=1 );
}
#department-menu ul .dmenu-child dl dd {
  background: #ffc17e;
  background: -webkit-gradient(linear, left top, right top, from(#ffc17e), to(#ffd068));
  background: linear-gradient(to right, #ffc17e, #ffd068);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=quote($statCol), endColorstr=quote($endCol),GradientType=1 );
}
#department-menu ul .dmenu-food dl dd {
  background: #75cd91;
  background: -webkit-gradient(linear, left top, right top, from(#75cd91), to(#cddd64));
  background: linear-gradient(to right, #75cd91, #cddd64);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=quote($statCol), endColorstr=quote($endCol),GradientType=1 );
}
#department-menu ul .dmenu-english dl dd {
  background: #e54c4c;
  background: -webkit-gradient(linear, left top, right top, from(#e54c4c), to(#ff7163));
  background: linear-gradient(to right, #e54c4c, #ff7163);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=quote($statCol), endColorstr=quote($endCol),GradientType=1 );
}
#department-menu ul .dmenu-lifescience dl dd {
  background: #b87be1;
  background: -webkit-gradient(linear, left top, right top, from(#b87be1), to(#7683d9));
  background: linear-gradient(to right, #b87be1, #7683d9);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=quote($statCol), endColorstr=quote($endCol),GradientType=1 );
}

.mark_area {
  position: relative;
  display: inline-block;
}
.mark_area:before {
  content: "";
  position: absolute;
  bottom: 0.5em;
  left: 0.5em;
  width: 30%;
  max-width: 5em;
  aspect-ratio: 1/1;
}
.mark_area.work:before {
  background-image: url(../img/work_mark.png);
  background-size: contain;
  background-repeat: no-repeat;
}
.mark_area.edu:before {
  background-image: url(../img/edu_mark.png);
  background-size: contain;
  background-repeat: no-repeat;
}

#en-sturucture ul {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
}
#en-sturucture ul.box3 li {
  width: 33.3%;
}
@media screen and (max-width: 760px ) {
  #en-sturucture ul.box3 li {
    width: 50%;
  }
}
#en-sturucture ul.box4 li {
  width: 25%;
}
@media screen and (max-width: 760px ) {
  #en-sturucture ul.box4 li {
    width: 50%;
  }
}
#en-sturucture ul li {
  padding: 10px;
  font-size: 110%;
}
#en-sturucture ul li.hide {
  display: none;
}
#en-sturucture ul li a {
  text-decoration: none;
}
#en-sturucture ul li dl dd .dmenu-title {
  display: none;
}
#en-sturucture ul li dl dd .dmenu-en {
  display: block;
  text-align: center;
  padding: 15px 10px;
  color: #fff;
}
#en-sturucture ul .dmenu-business dd {
  background: #6670e1;
  background: -webkit-gradient(linear, left top, right top, from(#6670e1), to(#43a2eb));
  background: linear-gradient(to right, #6670e1, #43a2eb);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=quote($statCol), endColorstr=quote($endCol),GradientType=1 );
}
#en-sturucture ul .dmenu-design dd {
  background: #ff9599;
  background: -webkit-gradient(linear, left top, right top, from(#ff9599), to(#ffb9d8));
  background: linear-gradient(to right, #ff9599, #ffb9d8);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=quote($statCol), endColorstr=quote($endCol),GradientType=1 );
}
#en-sturucture ul .dmenu-child dd {
  background: #ffc17e;
  background: -webkit-gradient(linear, left top, right top, from(#ffc17e), to(#ffd068));
  background: linear-gradient(to right, #ffc17e, #ffd068);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=quote($statCol), endColorstr=quote($endCol),GradientType=1 );
}
#en-sturucture ul .dmenu-food dd {
  background: #75cd91;
  background: -webkit-gradient(linear, left top, right top, from(#75cd91), to(#cddd64));
  background: linear-gradient(to right, #75cd91, #cddd64);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=quote($statCol), endColorstr=quote($endCol),GradientType=1 );
}
#en-sturucture ul .dmenu-english dd {
  background: #e54c4c;
  background: -webkit-gradient(linear, left top, right top, from(#e54c4c), to(#ff7163));
  background: linear-gradient(to right, #e54c4c, #ff7163);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=quote($statCol), endColorstr=quote($endCol),GradientType=1 );
}
#en-sturucture ul .dmenu-lifescience dd {
  background: #b87be1;
  background: -webkit-gradient(linear, left top, right top, from(#b87be1), to(#7683d9));
  background: linear-gradient(to right, #b87be1, #7683d9);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=quote($statCol), endColorstr=quote($endCol),GradientType=1 );
}

.staff_archive {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
}
.staff_archive li {
  width: 25%;
  padding: 15px;
}
@media screen and (max-width: 1200px ) and (min-width: 761px ) {
  .staff_archive li {
    width: 33.3%;
  }
}
@media screen and (max-width: 760px ) {
  .staff_archive li {
    width: 50%;
    padding: 10px;
  }
}
.staff_archive li a {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -webkit-align-self: stretch;
  -ms-flex-item-align: stretch;
  -ms-grid-row-align: stretch;
      align-self: stretch;
  height: 100%;
  display: block;
  background: #fff;
  text-decoration: none;
}
.staff_archive dl.staff-date dt {
  background: #eaeaea;
  width: 100%;
  aspect-ratio: 1/1;
  position: relative;
  overflow: hidden;
  z-index: 1;
}
.staff_archive dl.staff-date dt img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) scale(1);
          transform: translate(-50%, -50%) scale(1);
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.staff_archive dl.staff-date dd {
  font-size: 90%;
  margin-bottom: 5px;
  padding-bottom: 5px;
  border-bottom: 1px dotted #c1c1c1;
}
@media screen and (max-width: 760px ) {
  .staff_archive dl.staff-date dd {
    font-size: 100%;
  }
}
.staff_archive dl.staff-date dd span {
  display: block;
  font-size: 85%;
  color: #6BAAF0;
}
.staff_archive dl.staff-date dd.shimei {
  text-align: center;
  font-size: 120%;
  font-weight: bold;
  padding: 10px 5px;
}
.staff_archive dl.staff-date dd.shimei span {
  font-size: 75%;
  font-weight: normal;
  display: inline-block;
  margin: 0 5px;
}

.single-staff-date {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
}
.single-staff-date dt {
  width: 40%;
  text-align: center;
  border-radius: 25px;
  overflow: hidden;
}
@media screen and (max-width: 760px ) {
  .single-staff-date dt {
    width: 100%;
    margin-bottom: 1em;
  }
  .single-staff-date dt img {
    max-width: 420px;
    height: auto;
  }
}
.single-staff-date dd {
  padding: 0 3%;
  -ms-flex-grow: 1;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.single-staff-date dd span {
  color: #6BAAF0;
}
.single-staff-date dd ul.base-info {
  margin-bottom: 1em;
}
.single-staff-date dd ul.base-info > li {
  border-bottom: 1px dotted #c1c1c1;
  padding-bottom: 10px;
  margin-bottom: 10px;
}
.single-staff-date dd ul.base-info span {
  display: inline-block;
  min-width: 6em;
  margin-right: 1em;
}
.single-staff-date dd .shimei {
  font-size: 180%;
  letter-spacing: 1px;
  margin-bottom: 20px;
  position: relative;
  padding-bottom: 10px;
}
.single-staff-date dd .shimei:after {
  display: inline-block;
  width: 2em;
  height: 2px;
  content: "";
  background: #4672CD;
  position: absolute;
  bottom: 0;
  left: 0;
}
.single-staff-date dd .shimei span {
  font-size: 50%;
  display: block;
}

.staff_display {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
}
.staff_display li {
  width: 33.3%;
  padding: 10px;
}
@media screen and (max-width: 1200px ) and (min-width: 761px ) {
  .staff_display li {
    width: 50%;
  }
}
@media screen and (max-width: 760px ) {
  .staff_display li {
    width: 100%;
  }
}
.staff_display li a {
  display: block;
  text-decoration: none;
}
.staff_display dl {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
}
.staff_display dl dt {
  width: 30%;
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: 15px;
  z-index: 1;
  position: relative;
}
.staff_display dl dt img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) scale(1);
          transform: translate(-50%, -50%) scale(1);
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.staff_display dl dd {
  display: none;
}
.staff_display dl dd.shimei {
  max-width: 70%;
  display: block;
  padding: 10px 3%;
  font-size: 140%;
}
.staff_display dl dd.shimei span {
  display: block;
  font-size: 60%;
}

#library-info {
  border: 10px solid #eaeaea;
  margin-bottom: 2em;
  padding: 2em 3%;
}

#page-sitemap-menu {
  -webkit-columns: 3;
     -moz-columns: 3;
          columns: 3;
}
@media screen and (max-width: 1200px ) and (min-width: 761px ) {
  #page-sitemap-menu {
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
  }
}
@media screen and (max-width: 760px ) {
  #page-sitemap-menu {
    -webkit-column-count: 1;
       -moz-column-count: 1;
            column-count: 1;
  }
}
#page-sitemap-menu > li {
  -webkit-column-break-inside: avoid;
  -moz-column-break-inside: avoid;
  break-inside: avoid;
  margin-bottom: 2em;
  padding: 0 10px;
}
#page-sitemap-menu > li > a {
  display: block;
  border-bottom: 2px solid #eaeaea;
  font-size: 110%;
  font-weight: bold;
  padding: 10px 0;
  position: relative;
}
#page-sitemap-menu > li > a:after {
  display: inline-block;
  width: 2em;
  height: 1px;
  content: "";
  background: #5875D5;
  position: absolute;
  bottom: -2px;
  left: 0;
}
#page-sitemap-menu ul.sub-menu {
  font-size: 90%;
  margin-top: 10px;
  padding-left: 1em;
}
#page-sitemap-menu ul.sub-menu li {
  padding: 10px 0;
  border-bottom: 1px dotted #c1c1c1;
}
#page-sitemap-menu ul.sub-menu li a {
  display: block;
}

.datatbl {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-direction: row;
  padding: 1.5em 0;
  border-bottom: 1px dotted #c1c1c1;
}
.datatbl dt {
  width: 25%;
  font-weight: bold;
  padding: 0 3em 1em 1em;
  position: relative;
}
@media screen and (max-width: 760px ) {
  .datatbl dt {
    width: 100%;
  }
}
.datatbl dt .inq-icon {
  position: absolute;
  top: 0;
  right: 0;
}
.datatbl dd {
  width: 75%;
  padding: 0 1.5em;
}
@media screen and (max-width: 760px ) {
  .datatbl dd {
    width: 100%;
  }
}
.datatbl dd p {
  margin-top: 10px;
}
.datatbl dd > p:first-child {
  margin-top: 0 !important;
}

p.acceptance {
  margin: 1em 0;
}

.btn-submit {
  text-align: center;
}
.btn-submit input[type=submit], .btn-submit input[type=button] {
  background-color: transparent;
  border: none;
  outline: none;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  font-size: 100%;
  display: inline-block;
  width: 100%;
  max-width: 300px;
  padding: 1rem 3%;
  border-radius: 5px;
  border: 1px solid #dedede;
  letter-spacing: 2px;
  -webkit-transition: all 0.7s;
  transition: all 0.7s;
}
.btn-submit input[type=submit].wpcf7c-btn-confirm, .btn-submit input[type=button].wpcf7c-btn-confirm {
  border-color: #ff5959;
  color: #ff5959;
}
.btn-submit input[type=submit].wpcf7c-btn-confirm:hover, .btn-submit input[type=button].wpcf7c-btn-confirm:hover {
  background: #fff2f2;
}
.btn-submit input[type=submit].wpcf7-back, .btn-submit input[type=button].wpcf7-back {
  border-color: #7372bd;
  color: #7372bd;
}
.btn-submit input[type=submit].wpcf7-back:hover, .btn-submit input[type=button].wpcf7-back:hover {
  background: #e8e8ff;
}
.btn-submit input[type=submit].wpcf7-submit, .btn-submit input[type=button].wpcf7-submit {
  background: #ff5050;
  color: #fff;
}
.btn-submit input[type=submit].wpcf7-submit:hover, .btn-submit input[type=button].wpcf7-submit:hover {
  background: #bb3030;
}
.btn-submit input[type=submit].wpcf7-submit + .tips, .btn-submit input[type=button].wpcf7-submit + .tips {
  opacity: 0;
  display: block;
  font-size: 80%;
  text-align: center;
  padding: 5px 0;
  color: #666;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.btn-submit input[type=submit]:disabled, .btn-submit input[type=button]:disabled {
  border-color: #c1c1c1;
  background: #ececec;
  color: #969696;
  cursor: not-allowed;
  position: relative;
}
.btn-submit input[type=submit]:disabled:hover, .btn-submit input[type=button]:disabled:hover {
  background: #ececec !important;
}
.btn-submit input[type=submit]:disabled:hover + .tips, .btn-submit input[type=button]:disabled:hover + .tips {
  color: #e84242;
}
.btn-submit input[type=submit]:disabled + .tips, .btn-submit input[type=button]:disabled + .tips {
  opacity: 1;
}

