@charset "UTF-8";
@import url("https://use.fontawesome.com/releases/v5.2.0/css/all.css");
@import url("https://fonts.googleapis.com/css?family=Roboto+Condensed");
blockquote, body, dd, div, dl, dt, fieldset, form, h1, h2, h3, h4, h5, h6, input, li, ol, p, pre, td, textarea, th, ul {
  margin: 0;
  padding: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

abbr, acronym, fieldset, img {
  border: 0;
}

address, caption, cite, code, dfn, em, th, var {
  font-style: normal;
  font-weight: 400;
}

li, ol, ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

caption, th {
  text-align: left;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: 400;
}

img {
  display: inline-block;
  vertical-align: middle;
}

q:after, q:before {
  content: "";
}

* {
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  -webkit-text-size-adjust: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.8em;
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  background: #eaeaea;
  color: #2c2c2c;
}

.line {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #b8e0ff));
  background: linear-gradient(transparent 60%, #b8e0ff 60%);
}

@media print, screen and (min-width: 769px) {
  /* ------------------------------------------------- *
   *        common
   * ------------------------------------------------- */
  * {
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
  }
  .img-responsive {
    max-width: 100%;
    height: auto;
  }
  .img-left {
    float: left;
    margin: 0 1em 0 0;
  }
  html {
    width: 100%;
  }
  body {
    min-width: 1000px;
  }
  a:active, a:hover, a:link, a:visited {
    color: #00479d;
  }
  .ex-link:after {
    font-family: "Font Awesome 5 Free";
    content: "\f35d";
    font-weight: bold;
    margin-right: 0.4em;
    margin-left: 0.4em;
  }
  .sp,
  .sp-contact {
    display: none;
  }
  figure {
    margin: 0 0 1em;
    padding: 0;
  }
  .youtube {
    width: 100%;
    aspect-ratio: 16/9;
    margin-bottom: 1em;
  }
  .youtube iframe {
    width: 100%;
    height: 100%;
  }
  /* ------------------------------------------------- *
   *        header
   * ------------------------------------------------- */
  header.sb-slide {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 140px;
    z-index: 2;
    background: #fff;
    border-bottom: #e6e6e6 1px solid;
    min-width: 1000px;
  }
  header.sb-slide .menu {
    display: none;
  }
  header.sb-slide > .logo {
    position: absolute;
    left: 20px;
    top: 15px;
  }
  header.sb-slide > .sp-logo {
    display: none;
  }
  header.sb-slide > .logo img {
    height: 65px;
  }
  header.sb-slide > h1 {
    position: absolute;
    right: 200px;
    top: 15px;
    font-size: 12px;
    line-height: 1.4;
    text-align: right;
  }
  header.sb-slide > ul:nth-of-type(1) {
    position: absolute;
    right: 0;
    top: 15px;
    width: 180px;
    line-height: 1;
  }
  header.sb-slide > ul:nth-of-type(1) li {
    display: inline;
    font-size: 12px;
    margin-right: 1em;
  }
  header.sb-slide > ul:nth-of-type(1) li:before {
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    font-weight: bold;
    margin-right: 0.4em;
  }
  header.sb-slide > ul:nth-of-type(2) {
    position: absolute;
    right: 10px;
    top: 40px;
    height: 35px;
    width: 740px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -ms-flex;
    display: -webkit-flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
  }
  header.sb-slide > ul:nth-of-type(2) li {
    font-size: 12px;
  }
  header.sb-slide > ul:nth-of-type(2) li a {
    display: block;
    width: 150px;
    height: 35px;
    line-height: 35px;
    background: #1967c6;
    color: #FFF;
    text-align: center;
    text-decoration: none;
    -webkit-transition: background-color 0.3s ease;
    transition: background-color 0.3s ease;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
  }
  header.sb-slide > ul:nth-of-type(2) li a:before {
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    font-weight: bold;
    margin-right: 0.4em;
  }
  header.sb-slide > ul:nth-of-type(2) li a:hover {
    background: #00306a;
    -webkit-transition: background-color 0.3s ease;
    transition: background-color 0.3s ease;
  }
  header.sb-slide > ul:nth-of-type(2) li:last-child img {
    width: 240px;
  }
  header.sb-slide nav {
    position: absolute;
    bottom: 0;
    width: 100%;
    border-top: #e6e6e6 1px solid;
    height: 45px;
  }
  header.sb-slide nav ul {
    width: 1000px;
    margin: 0 auto;
    height: 45px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -ms-flex;
    display: -webkit-flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-justify-content: center;
    -webkit-justify-content: center;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
  }
  header.sb-slide nav ul li a {
    display: block;
    height: 45px;
    line-height: 45px;
    text-decoration: none;
    text-align: center;
    color: #2c2c2c;
    background: url("../img/common/bg_gnav.png") right center no-repeat;
  }
  header.sb-slide nav ul li a:hover {
    color: #00479d;
  }
  header.sb-slide nav ul li a.current {
    color: #00479d;
    font-weight: bold;
  }
  header.sb-slide nav ul li:nth-of-type(1) a, header.sb-slide nav ul li:nth-of-type(2) a, header.sb-slide nav ul li:nth-of-type(3) a, header.sb-slide nav ul li:nth-of-type(4) a, header.sb-slide nav ul li:nth-of-type(5) a {
    width: 166px;
  }
  header.sb-slide nav ul li:nth-of-type(6) a {
    width: 166px;
    background: none;
  }
  /* ------------------------------------------------- *
   *        contents
   * ------------------------------------------------- */
  .topic-path {
    padding: 5px 0;
    overflow: hidden;
    margin-bottom: 30px;
  }
  .topic-path ul li {
    float: left;
    font-size: 14px;
    margin-right: 0.5em;
  }
  .topic-path ul li:first-child:before {
    font-family: "Font Awesome 5 Free";
    content: "\f015";
    font-weight: bold;
    margin-right: 0.4em;
  }
  .topic-path ul li:after {
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    font-weight: bold;
    margin-right: 0.4em;
    margin-left: 0.5em;
    color: #999;
  }
  .topic-path ul li:last-child:after {
    content: "";
  }
  /* pager */
  .pager {
    overflow: hidden;
    margin-bottom: 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -ms-flex;
    display: -webkit-flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-justify-content: center;
    -webkit-justify-content: center;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
  }
  .pager a {
    display: block;
    font-size: 12px;
    height: 4em;
    width: 10em;
    text-align: center;
    line-height: 4em;
    background: #fff;
    color: #333;
    border: #d7d7d7 1px solid;
    text-decoration: none;
    margin: 0 5px;
  }
  .pager a:hover {
    background: #fc9114;
    color: #FFF;
  }
  /* ------------------------------------------------- *
   *        footer
   * ------------------------------------------------- */
  footer a {
    text-decoration: none;
  }
  footer > section:nth-of-type(1) {
    padding: 60px 0;
    background: #00479d;
    color: #FFF;
  }
  footer > section:nth-of-type(1) h2 {
    text-align: center;
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 15px;
  }
  footer > section:nth-of-type(1) > div {
    width: 710px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -ms-flex;
    display: -webkit-flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
  }
  footer > section:nth-of-type(1) > div > div:first-child {
    width: 355px;
    text-align: center;
  }
  footer > section:nth-of-type(1) > div > div:last-child {
    width: 320px;
    text-align: center;
  }
  footer > section:nth-of-type(1) > div > div p:nth-of-type(1) {
    width: 320px;
    line-height: 1.2;
  }
  footer > section:nth-of-type(1) > div > div p:last-child {
    width: 320px;
    font-size: 12px;
    line-height: 1.6;
  }
  footer > section:nth-of-type(1) > div > div h3 {
    width: 320px;
    padding: 5px;
    background: #1967c6;
    text-align: center;
    margin-bottom: 10px;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
  }
  footer > section:nth-of-type(1) > div > div:first-child p a {
    color: #ff8a00 !important;
    font-size: 48px;
    font-family: "Roboto Condensed", sans-serif;
  }
  footer > section:nth-of-type(1) > div > div:first-child p a:before {
    font-family: "Font Awesome 5 Free";
    content: "\f3cd";
    font-weight: bold;
    margin-right: 0.4em;
    margin-right: 0.2em;
    color: #FFF;
  }
  footer > section:nth-of-type(1) > div > div:last-child p a {
    display: block;
    background: #ff8a00;
    color: #FFF !important;
    text-align: center;
    font-size: 18px;
    padding: 12px 8px;
    margin-bottom: 10px;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
  }
  footer > section:nth-of-type(1) > div > div:last-child p a:before {
    font-family: "Font Awesome 5 Free";
    content: "\f2b6";
    font-weight: bold;
    margin-right: 0.4em;
  }
  footer > section:nth-of-type(2) {
    width: 100%;
    background: #f4f4f4;
    padding: 30px 0;
  }
  footer > section:nth-of-type(2) ul {
    width: 660px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -ms-flex;
    display: -webkit-flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
  }
  footer > section:nth-of-type(2) ul li {
    background: #FFF;
    width: 200px;
    text-align: center;
    line-height: 60px;
    font-size: 12px;
  }
  footer > section > div a {
    color: #5d5d5d !important;
  }
  footer > section:nth-of-type(3) {
    width: 1000px;
    margin: 0 auto;
    padding: 60px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -ms-flex;
    display: -webkit-flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
  }
  footer > section:nth-of-type(3) > div {
    width: 30%;
  }
  footer > section:nth-of-type(3) > div dl dt {
    font-weight: bold;
  }
  footer > section:nth-of-type(3) > div dl dd {
    padding-left: 1em;
  }
  footer > section:nth-of-type(3) > div dl dd:before {
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    font-weight: bold;
    margin-right: 0.4em;
    color: #00479d;
  }
  footer > div {
    border-top: #e0e0e0 1px solid;
    padding: 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -ms-flex;
    display: -webkit-flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
  }
  footer > div ul li {
    display: inline;
    font-size: 14px;
    margin-right: 1em;
  }
  footer > div ul li a {
    color: #5d5d5d !important;
  }
  footer > div ul li a:before {
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    font-weight: bold;
    margin-right: 0.4em;
  }
}
@media screen and (max-width: 768px) {
  /* ------------------------------------------------- *
   *        common
   * ------------------------------------------------- */
  .img-responsive {
    max-width: 100%;
    height: auto;
  }
  .youtube {
    width: 100%;
    aspect-ratio: 16/9;
    margin-bottom: 1em;
  }
  .youtube iframe {
    width: 100%;
    height: 100%;
  }
  html {
    width: 100%;
  }
  body {
    font-size: 1em;
  }
  a:active, a:hover, a:link, a:visited {
    color: #00479d;
  }
  .ex-link:after {
    font-family: "Font Awesome 5 Free";
    content: "\f35d";
    font-weight: bold;
    margin-right: 0.4em;
    margin-left: 8px;
  }
  .pc {
    display: none;
  }
  .sp-contact {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 2;
    border-top: #CCC 1px solid;
  }
  .sp-contact ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -ms-flex;
    display: -webkit-flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
  }
  .sp-contact ul li {
    width: 50%;
  }
  .sp-contact ul li a {
    display: block;
    text-align: center;
    height: 50px;
    color: #FFF;
    text-decoration: none;
    line-height: 50px;
    font-size: 14px;
    font-weight: bold;
  }
  .sp-contact ul li:first-child {
    width: 60%;
  }
  .sp-contact ul li:first-child a {
    background: #ff8a00;
  }
  .sp-contact ul li:last-child {
    width: 40%;
  }
  .sp-contact ul li:last-child a {
    background: #00479d;
  }
  .sp-contact ul li:first-child a:before {
    font-family: "Font Awesome 5 Free";
    content: "\f109";
    font-weight: bold;
    margin-right: 0.4em;
  }
  .sp-contact ul li:last-child a:before {
    font-family: "Font Awesome 5 Free";
    content: "\f0e0";
    font-weight: bold;
    margin-right: 0.4em;
  }
  /* ------------------------------------------------- *
   *        header
   * ------------------------------------------------- */
  header.sb-slide {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 2;
    background: #fff;
    padding: 8px 15px;
    border-bottom: #e6e6e6 1px solid;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -ms-flex;
    display: -webkit-flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
  }
  header.sb-slide > div {
    width: 25%;
  }
  header.sb-slide > ul {
    width: 25%;
  }
  header.sb-slide > ul:nth-of-type(2) {
    display: none;
  }
  header.sb-slide .logo {
    display: none;
  }
  header.sb-slide .sp-logo {
    width: 50%;
    text-align: center;
  }
  header.sb-slide .sp-logo img {
    height: 50px;
  }
  header.sb-slide .menu {
    padding-top: 8px;
  }
  header.sb-slide .menu a {
    display: block;
    width: 35px;
    height: 35px;
    line-height: 35px;
    text-align: center;
    text-decoration: none;
    font-size: 30px;
    color: #333;
  }
  header.sb-slide .menu a:after {
    font-family: "Font Awesome 5 Free";
    content: "\f0c9";
    font-weight: bold;
    margin-right: 0.4em;
  }
  .sb-active header .menu a:after {
    font-family: "Font Awesome 5 Free";
    content: "\f00d";
    font-weight: bold;
  }
  header.sb-slide > h1,
  header.sb-slide > nav,
  header.sb-slide > ul li {
    display: none;
  }
  #sb-site {
    margin-top: 65px;
  }
  /* ------------------------------------------------- *
   *        contents
   * ------------------------------------------------- */
  .topic-path {
    padding: 10px;
    overflow: hidden;
    font-size: 12px;
    border-bottom: #e6e6e6 1px solid;
  }
  .topic-path li {
    float: left;
    margin-right: 0.5em;
    line-height: 1.6;
  }
  .topic-path li:first-child:before {
    font-family: "Font Awesome 5 Free";
    content: "\f015";
    font-weight: bold;
    margin-right: 0.4em;
    margin-right: 5px;
  }
  .topic-path li:after {
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    font-weight: bold;
    margin-left: 0.5em;
    color: #999;
  }
  .topic-path li:last-child:after {
    content: "";
  }
  /* pager */
  .pager {
    overflow: hidden;
    margin-bottom: 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -ms-flex;
    display: -webkit-flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-justify-content: center;
    -webkit-justify-content: center;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
  }
  .pager a {
    display: block;
    font-size: 12px;
    height: 4em;
    width: 8em;
    text-align: center;
    line-height: 4em;
    background: #fff;
    color: #333;
    border: #d7d7d7 1px solid;
    text-decoration: none;
    margin: 0 5px;
  }
  .pager a:hover {
    background: #fc9114;
    color: #FFF;
  }
  /* ------------------------------------------------- *
   *        footer
   * ------------------------------------------------- */
  footer a {
    text-decoration: none;
  }
  footer > section:nth-of-type(1) {
    padding: 30px 15px;
    background: #00479d;
    color: #FFF;
  }
  footer > section:nth-of-type(1) h2 {
    text-align: center;
    font-size: 18px !important;
    font-weight: bold;
    margin-bottom: 15px;
  }
  footer > section:nth-of-type(1) > div > div:first-child {
    text-align: center;
    margin-bottom: 30px;
  }
  footer > section:nth-of-type(1) > div > div:last-child {
    text-align: center;
  }
  footer > section:nth-of-type(1) > div > div p:nth-of-type(1) {
    line-height: 1.2;
  }
  footer > section:nth-of-type(1) > div > div p:last-child {
    font-size: 12px;
    line-height: 1.6;
  }
  footer > section:nth-of-type(1) > div > div h3 {
    padding: 5px;
    background: #1967c6;
    text-align: center;
    margin-bottom: 10px;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
  }
  footer > section:nth-of-type(1) > div > div:first-child p a {
    color: #ff8a00 !important;
    font-size: 40px;
    font-family: "Roboto Condensed", sans-serif;
  }
  footer > section:nth-of-type(1) > div > div:first-child p a:before {
    font-family: "Font Awesome 5 Free";
    content: "\f3cd";
    font-weight: bold;
    margin-right: 0.4em;
    margin-right: 0.2em;
    color: #FFF;
  }
  footer > section:nth-of-type(1) > div > div:last-child p a {
    display: block;
    background: #ff8a00;
    color: #FFF !important;
    text-align: center;
    font-size: 18px;
    padding: 12px 8px;
    margin-bottom: 10px;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
  }
  footer > section:nth-of-type(1) > div > div:last-child p a:before {
    font-family: "Font Awesome 5 Free";
    content: "\f2b6";
    font-weight: bold;
    margin-right: 0.4em;
  }
  footer > section:nth-of-type(2) {
    background: #f4f4f4;
    padding: 30px 15px;
  }
  footer > section:nth-of-type(2) ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -ms-flex;
    display: -webkit-flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
  }
  footer > section:nth-of-type(2) ul li {
    background: #FFF;
    width: 49%;
    text-align: center;
    font-size: 12px;
    margin-bottom: 10px;
  }
  footer > section:nth-of-type(2) ul li img {
    max-width: 100%;
  }
  footer > section > div a {
    color: #5d5d5d !important;
  }
  footer > section:nth-of-type(3) > div dl dt a {
    display: block;
    padding: 5px 15px;
    border-bottom: #CCC 1px dotted;
    font-weight: bold;
  }
  footer > section:nth-of-type(3) > div dl dd a {
    display: block;
    padding: 5px 15px;
    border-bottom: #CCC 1px dotted;
  }
  footer > section:nth-of-type(3) > div dl dd a:before {
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    font-weight: bold;
    margin-right: 0.4em;
    color: #00479d;
  }
  footer > div {
    margin-bottom: 50px;
  }
  footer > div ul li:nth-of-type(2) {
    display: none;
  }
  footer > div ul li a {
    color: #5d5d5d !important;
    display: block;
    padding: 5px 15px;
    border-bottom: #CCC 1px dotted;
  }
  footer > div ul li a:before {
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    font-weight: bold;
    margin-right: 0.4em;
  }
  footer > div > div:last-child {
    text-align: center;
    padding: 5px;
    font-size: 12px;
  }
}
@media screen and (min-width: 769px) {
  .slider {
    margin: 140px auto 0;
    width: 100vw;
    height: 500px;
    overflow: hidden;
    z-index: 0;
    background: url("../img/home/slider01.png") center center no-repeat;
    background-position: center center;
    background-size: cover;
  }
  .slider h2 {
    padding-top: 170px;
    color: #fff;
    text-align: center;
    font-size: 50px;
    line-height: 1.2;
    font-family: "Roboto Condensed", sans-serif;
    margin-bottom: 24px;
    text-shadow: black 0 0 5px;
  }
  .slider p {
    text-align: center;
    color: #fff;
    font-weight: bold;
    margin-bottom: 30px;
  }
  .slider > a {
    display: block;
    padding: 10px;
    width: 10em;
    margin: 0 auto;
    text-align: center;
    text-decoration: none;
    font-size: 18px;
    background: #ff8a00;
    color: #FFF;
    -webkit-transition: background-color 0.3s ease;
    transition: background-color 0.3s ease;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
  }
  .slider > a:before {
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    font-weight: bold;
    margin-right: 0.4em;
  }
  .slider > a:hover {
    background: #cc6e00;
    -webkit-transition: background-color 0.3s ease;
    transition: background-color 0.3s ease;
  }
  /*バナーエリア*/
  main > article > section {
    /*目的から探す*/
    /* 教育機関向け海外研修実績 */
    /* ブログ・SNS */
  }
  main > article > section.banner {
    background: #f1eee8;
    width: 100%;
  }
  main > article > section.banner > div {
    width: 940px;
    position: relative;
    overflow: hidden;
    top: -35px;
    margin: 0 auto;
    background: #f1eee8;
    padding: 40px 40px 0;
  }
  main > article > section.banner > div > p {
    margin-bottom: 1em;
  }
  main > article > section.banner > div > p > span {
    background: #f62563;
    color: #fff;
    padding: 4px 6px;
    margin-right: 1em;
    font-size: 14px;
  }
  main > article > section.banner > div ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -ms-flex;
    display: -webkit-flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
  }
  main > article > section.banner > div ul li {
    width: 420px;
    margin-bottom: 20px;
    background: #fff;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
  }
  main > article > section.banner > div ul li.zoom {
    width: 940px;
  }
  main > article > section.banner > div ul li img {
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-transition: opacity 0.3s ease-out;
    transition: opacity 0.3s ease-out;
  }
  main > article > section.banner > div ul li img:hover {
    opacity: 0.8;
  }
  main > article > section.seminar {
    width: 800px;
    margin: 0 auto;
    padding: 60px 0;
  }
  main > article > section.seminar h2 {
    position: relative;
    font-size: 18px;
    font-weight: bold;
    padding-bottom: 5px;
    border-bottom: #00479d 2px solid;
    color: #2c2c2c;
    margin-bottom: 20px;
  }
  main > article > section.seminar h2:before {
    font-family: "Font Awesome 5 Free";
    content: "\f05a";
    font-weight: bold;
    margin-right: 0.4em;
    color: #00479d;
  }
  main > article > section.seminar h2 a {
    position: absolute;
    display: block;
    width: 6em;
    background: #2c2c2c;
    color: #FFF;
    right: 0;
    top: 50%;
    margin-top: -1.5em;
    font-weight: normal;
    text-align: center;
    font-size: 12px;
    text-decoration: none;
    -webkit-transition: background-color 0.3s ease;
    transition: background-color 0.3s ease;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
  }
  main > article > section.seminar h2 a:hover {
    background: #464646;
    -webkit-transition: background-color 0.3s ease;
    transition: background-color 0.3s ease;
  }
  main > article > section.seminar h2 a:before {
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    font-weight: bold;
    margin-right: 0.4em;
  }
  main > article > section.seminar dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -ms-flex;
    display: -webkit-flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
  }
  main > article > section.seminar dl dt {
    width: 230px;
    margin-bottom: 10px;
    font-weight: bold;
    border-bottom: #eaeaea 1px solid;
  }
  main > article > section.seminar dl dd {
    width: 570px;
    margin-bottom: 10px;
    padding-bottom: 8px;
    border-bottom: #eaeaea 1px solid;
  }
  main > article > section.seminar dl dd:before {
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    font-weight: bold;
    margin-right: 0.4em;
    color: #ff8a00;
  }
  main > article > section.country {
    width: 100%;
    background: #00479d;
  }
  main > article > section.country .container {
    display: grid;
    display: -ms-grid;
    -ms-grid-columns: 0.3fr 0.3fr 1fr 0.3fr 0.3fr;
    grid-template-columns: 0.3fr 0.3fr 1fr 0.3fr 0.3fr;
    -ms-grid-rows: 150px 150px 150px;
    grid-template-rows: 150px 150px 150px;
    -ms-grid-columns: 0.3fr 0.3fr 1fr 0.3fr 0.3fr;
    -ms-grid-rows: 150px 150px 150px;
  }
  main > article > section.country .container > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  main > article > section.country .container > *:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  main > article > section.country .container > *:nth-child(3) {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  main > article > section.country .container > *:nth-child(4) {
    -ms-grid-row: 1;
    -ms-grid-column: 4;
  }
  main > article > section.country .container > *:nth-child(5) {
    -ms-grid-row: 1;
    -ms-grid-column: 5;
  }
  main > article > section.country .container > *:nth-child(6) {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  main > article > section.country .container > *:nth-child(7) {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
  }
  main > article > section.country .container > *:nth-child(8) {
    -ms-grid-row: 2;
    -ms-grid-column: 3;
  }
  main > article > section.country .container > *:nth-child(9) {
    -ms-grid-row: 2;
    -ms-grid-column: 4;
  }
  main > article > section.country .container > *:nth-child(10) {
    -ms-grid-row: 2;
    -ms-grid-column: 5;
  }
  main > article > section.country .container > *:nth-child(11) {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  main > article > section.country .container > *:nth-child(12) {
    -ms-grid-row: 3;
    -ms-grid-column: 2;
  }
  main > article > section.country .container > *:nth-child(13) {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
  main > article > section.country .container > *:nth-child(14) {
    -ms-grid-row: 3;
    -ms-grid-column: 4;
  }
  main > article > section.country .container > *:nth-child(15) {
    -ms-grid-row: 3;
    -ms-grid-column: 5;
  }
  main > article > section.country .container .item01 {
    grid-row: 1/3;
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    background: url("../img/home/grid_item01.jpg");
  }
  main > article > section.country .container .item02 {
    -ms-grid-row-span: 1;
    grid-row: 1/2;
    -ms-grid-column: 2;
    -ms-grid-row: 1;
    background: url("../img/home/grid_item02.jpg");
  }
  main > article > section.country .container .item03 {
    grid-row: 1/4;
    -ms-grid-column: 3;
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    background: url("../img/home/bg_item03.png");
    padding: 50px 25px 25px;
    background-size: contain !important;
  }
  main > article > section.country .container .item04 {
    -ms-grid-row-span: 1;
    grid-row: 1/2;
    -ms-grid-column: 4;
    -ms-grid-row: 1;
    background: url("../img/home/grid_item04.jpg");
  }
  main > article > section.country .container .item05 {
    -ms-grid-row-span: 1;
    grid-row: 1/2;
    -ms-grid-column: 5;
    -ms-grid-row: 1;
    background: url("../img/home/grid_item05.jpg");
  }
  main > article > section.country .container .item06 {
    -ms-grid-row-span: 1;
    grid-row: 2/3;
    -ms-grid-column: 2;
    -ms-grid-row: 2;
    background: url("../img/home/grid_item06.jpg");
  }
  main > article > section.country .container .item07 {
    -ms-grid-row-span: 1;
    grid-row: 2/3;
    -ms-grid-column: 4;
    -ms-grid-row: 2;
    background: url("../img/home/grid_item07.jpg");
  }
  main > article > section.country .container .item08 {
    grid-row: 2/4;
    -ms-grid-column: 5;
    -ms-grid-row: 2;
    -ms-grid-row-span: 2;
    background: url("../img/home/grid_item08.jpg");
  }
  main > article > section.country .container .item09 {
    -ms-grid-row-span: 1;
    grid-row: 3/4;
    -ms-grid-column: 1;
    -ms-grid-row: 3;
    background: url("../img/home/grid_item09.jpg");
  }
  main > article > section.country .container .item10 {
    -ms-grid-row-span: 1;
    grid-row: 3/4;
    -ms-grid-column: 2;
    -ms-grid-row: 3;
    background: url("../img/home/grid_item10.jpg");
  }
  main > article > section.country .container .item11 {
    -ms-grid-row-span: 1;
    grid-row: 3/4;
    -ms-grid-column: 4;
    -ms-grid-row: 3;
    background: url("../img/home/grid_item11.jpg");
  }
  main > article > section.country .container .item {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
  }
  main > article > section.country .container .item h2 {
    text-align: center;
    font-size: 30px;
    color: #FFF;
    margin-bottom: 10px;
  }
  main > article > section.country .container .item h2:before {
    font-family: "Font Awesome 5 Free";
    content: "\f002";
    font-weight: bold;
    margin-right: 0.4em;
  }
  main > article > section.country .container .item p {
    text-align: center;
    color: #FFF;
    margin-bottom: 25px;
  }
  main > article > section.country .container .item ul {
    width: 90%;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -ms-flex;
    display: -webkit-flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
  }
  main > article > section.country .container .item ul li {
    width: 48%;
    margin-bottom: 10px;
  }
  main > article > section.country .container .item ul li a {
    position: relative;
    display: block;
    color: #FFF;
    border: #FFF 1px solid;
    text-decoration: none;
    text-align: right;
    padding: 8px;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
  }
  main > article > section.country .container .item ul li a:before {
    position: absolute;
    left: 5px;
    top: 50%;
    margin-top: -16px;
  }
  main > article > section.country .container .item ul li.usa a:before {
    content: url("../img/home/ico_usa.png");
  }
  main > article > section.country .container .item ul li.ca a:before {
    content: url("../img/home/ico_ca.png");
  }
  main > article > section.country .container .item ul li.uk a:before {
    content: url("../img/home/ico_uk.png");
  }
  main > article > section.country .container .item ul li.aus a:before {
    content: url("../img/home/ico_aus.png");
  }
  main > article > section.country .container .item ul li.nzl a:before {
    content: url("../img/home/ico_nzl.png");
  }
  main > article > section.country .container .item ul li.che a:before {
    content: url("../img/home/ico_che.png");
  }
  main > article > section.country .container .item ul li.swe a:before {
    content: url("../img/home/ico_swe.png");
  }
  main > article > section.country .container .item ul li.fin a:before {
    content: url("../img/home/ico_fin.png");
  }
  main > article > section.purpose {
    width: 100%;
    background: #f1eee8;
    padding: 60px 0;
  }
  main > article > section.purpose header > h2 {
    text-align: center;
    font-size: 30px;
    color: #00479d;
    margin-bottom: 10px;
  }
  main > article > section.purpose header > h2:before {
    font-family: "Font Awesome 5 Free";
    content: "\f002";
    font-weight: bold;
    margin-right: 0.4em;
  }
  main > article > section.purpose header > p {
    text-align: center;
    margin-bottom: 25px;
  }
  main > article > section.purpose ul {
    width: 900px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -ms-flex;
    display: -webkit-flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
  }
  main > article > section.purpose ul li:nth-of-type(-n+4) {
    width: 449px;
    background: #FFF;
    margin-bottom: 10px;
  }
  main > article > section.purpose ul li:nth-of-type(-n+4) a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -ms-flex;
    display: -webkit-flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    color: #5d5d5d;
    text-decoration: none;
  }
  main > article > section.purpose ul li:nth-of-type(-n+4) a > div:first-child {
    width: 180px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover !important;
  }
  main > article > section.purpose ul li.pur01 a > div:first-child {
    background: url("../img/home/purpose_item01.jpg");
  }
  main > article > section.purpose ul li.pur02 a > div:first-child {
    background: url("../img/home/purpose_item02.jpg");
  }
  main > article > section.purpose ul li.pur03 a > div:first-child {
    background: url("../img/home/purpose_item03.jpg");
  }
  main > article > section.purpose ul li.pur04 a > div:first-child {
    background: url("../img/home/purpose_item04.jpg");
  }
  main > article > section.purpose ul li.pur05 a > div:first-child {
    background: url("../img/home/purpose_item05.jpg");
  }
  main > article > section.purpose ul li.pur06 a > div:first-child {
    background: url("../img/home/purpose_item06.jpg");
  }
  main > article > section.purpose ul li.pur07 a > div:first-child {
    background: url("../img/home/purpose_item07.jpg");
  }
  main > article > section.purpose ul li:nth-of-type(-n+4) a > div:last-child {
    width: 264px;
    padding: 15px;
  }
  main > article > section.purpose ul li a > div:last-child h3 {
    color: #2c2c2c;
    font-weight: bold;
    border-bottom: #CCC 1px solid;
    margin-bottom: 5px;
  }
  main > article > section.purpose ul li a > div:last-child h3:before {
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    font-weight: bold;
    margin-right: 0.4em;
    color: #00479d;
  }
  main > article > section.purpose ul li a > div:last-child p {
    font-size: 14px;
    line-height: 1.6;
  }
  main > article > section.purpose ul li:nth-of-type(n+5) {
    width: 298px;
    background: #FFF;
  }
  main > article > section.purpose ul li:nth-of-type(n+5) a {
    color: #5d5d5d;
    text-decoration: none;
  }
  main > article > section.purpose ul li:nth-of-type(n+5) a > div:first-child {
    height: 140px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
  }
  main > article > section.purpose ul li:nth-of-type(n+5) a > div:last-child {
    padding: 15px;
  }
  main > article > section.school {
    width: 100%;
    background: #f1eee8;
    padding: 60px 0;
  }
  main > article > section.school header > h2 {
    text-align: center;
    font-size: 30px;
    color: #2c2c2c;
    margin-bottom: 10px;
  }
  main > article > section.school header > p {
    text-align: center;
    margin-bottom: 25px;
  }
  main > article > section.school ul {
    width: 920px;
    margin: 0 auto 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -ms-flex;
    display: -webkit-flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
  }
  main > article > section.school ul li {
    width: 220px;
    background: #FFF;
  }
  main > article > section.school ul li a {
    color: #5d5d5d;
    text-decoration: none;
  }
  main > article > section.school ul li a > div:first-child {
    position: relative;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover !important;
    height: 160px;
  }
  main > article > section.school ul li.mit a > div:first-child {
    background: url("../img/home/edu_item01.jpg");
  }
  main > article > section.school ul li.stan a > div:first-child {
    background: url("../img/home/edu_item02.jpg");
  }
  main > article > section.school ul li.harv a > div:first-child {
    background: url("../img/home/edu_item03.jpg");
  }
  main > article > section.school ul li.other a > div:first-child {
    background: url("../img/home/edu_item04.jpg");
  }
  main > article > section.school ul li a > div:first-child:after {
    content: url("../img/home/triangle.png");
    position: absolute;
    bottom: -15px;
    left: 50%;
    margin-left: -40px;
  }
  main > article > section.school ul li a > div:first-child > span:nth-of-type(1) {
    position: absolute;
    display: block;
    top: 5px;
    left: 5px;
    background: #F60;
    color: #FFF;
    font-size: 12px;
    width: 4em;
    text-align: center;
  }
  main > article > section.school ul li a > div:first-child > span:nth-of-type(2) {
    position: absolute;
    display: block;
    top: -10px;
    right: 5px;
    width: 46px;
    height: 46px;
    line-height: 46px;
    background: #fff;
    text-align: center;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
  }
  main > article > section.school ul li a > div:last-child {
    padding: 15px;
  }
  main > article > section.school ul li a > div:last-child h3 {
    font-weight: bold;
    color: #2c2c2c;
    line-height: 1.4;
    margin-bottom: 5px;
  }
  main > article > section.school ul li a > div:last-child h3:before {
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    font-weight: bold;
    margin-right: 0.4em;
    color: #00479d;
  }
  main > article > section.school > a {
    display: block;
    width: 350px;
    background: #00479d;
    padding: 10px;
    color: #FFF;
    text-decoration: none;
    text-align: center;
    margin: 0 auto;
    -webkit-transition: background-color 0.3s ease;
    transition: background-color 0.3s ease;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
  }
  main > article > section.school > a:hover {
    background: #00306a;
    -webkit-transition: background-color 0.3s ease;
    transition: background-color 0.3s ease;
  }
  main > article > section.school > a:before {
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    font-weight: bold;
    margin-right: 0.4em;
  }
  main > article > section.update {
    width: 840px;
    margin: 0 auto;
    padding: 60px 0;
  }
  main > article > section.update h2 {
    position: relative;
    font-size: 18px;
    font-weight: bold;
    padding-bottom: 5px;
    border-bottom: #00479d 2px solid;
    color: #2c2c2c;
    margin-bottom: 20px;
  }
  main > article > section.update h2:before {
    font-family: "Font Awesome 5 Free";
    content: "\f02d";
    font-weight: bold;
    margin-right: 0.4em;
    color: #00479d;
  }
  main > article > section.update h2 a {
    position: absolute;
    display: block;
    width: 6em;
    background: #2c2c2c;
    color: #FFF;
    right: 0;
    top: 50%;
    margin-top: -1.5em;
    font-weight: normal;
    text-align: center;
    font-size: 12px;
    text-decoration: none;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
  }
  main > article > section.update h2 a:before {
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    font-weight: bold;
    margin-right: 0.4em;
  }
  main > article > section.update ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -ms-flex;
    display: -webkit-flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    margin-bottom: 30px;
  }
  main > article > section.update ul li {
    width: 400px;
    margin-bottom: 20px;
  }
  main > article > section.update ul li > a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -ms-flex;
    display: -webkit-flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    text-decoration: none;
  }
  main > article > section.update ul li > a div:first-child {
    width: 95px;
  }
  main > article > section.update ul li > a div:last-child {
    width: 285px;
  }
  main > article > section.update ul li > a div:last-child p:first-child {
    color: #2c2c2c;
  }
  main > article > section.update ul li > a div:last-child p:first-child:before {
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    font-weight: bold;
    margin-right: 0.4em;
  }
  main > article > section.update ul li > a div:last-child p:last-child {
    text-decoration: underline;
  }
  main > article > section.update > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -ms-flex;
    display: -webkit-flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    margin-bottom: 30px;
  }
  main > article > section.update > div > div {
    width: 400px;
    padding: 20px;
    border: #ebedf0 1px solid;
    height: 400px;
    overflow-y: scroll;
  }
}
@media screen and (max-width: 768px) {
  .slider {
    width: 100%;
    height: 350px;
    overflow: hidden;
    z-index: 0;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover !important;
    background-image: url("../img/home/slider01.png");
  }
  .slider > h2 {
    padding-top: 120px;
    color: #fff;
    text-align: center;
    font-size: 34px;
    line-height: 1.2;
    font-family: "Roboto Condensed", sans-serif;
    margin-bottom: 15px;
    text-shadow: black 0 0 5px;
  }
  .slider > a {
    display: block;
    padding: 6px;
    width: 8em;
    margin: 0 auto;
    text-align: center;
    text-decoration: none;
    font-size: 16px;
    background: #ff8a00;
    color: #FFF;
    -webkit-transition: background-color 0.3s ease;
    transition: background-color 0.3s ease;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
  }
  .slider > a:before {
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    font-weight: bold;
    margin-right: 0.4em;
  }
  /*バナーエリア*/
  main > article > section {
    /*目的から探す*/
    /*研修*/
    /* ブログ・SNS */
  }
  main > article > section.banner {
    background: #f1eee8;
    width: 100%;
    padding: 15px;
  }
  main > article > section.banner > div {
    margin: 0 auto;
    background: #f1eee8;
  }
  main > article > section.banner > div > p {
    margin-bottom: 1em;
  }
  main > article > section.banner > div > p > span {
    background: #f62563;
    color: #fff;
    padding: 4px 6px;
    margin-right: 1em;
    font-size: 14px;
  }
  main > article > section.banner > div ul li {
    margin-bottom: 10px;
  }
  main > article > section.seminar {
    padding: 30px 15px;
  }
  main > article > section.seminar h2 {
    position: relative;
    font-size: 18px;
    font-weight: bold;
    padding-bottom: 5px;
    border-bottom: #00479d 2px solid;
    color: #2c2c2c;
    margin-bottom: 20px;
  }
  main > article > section.seminar h2:before {
    font-family: "Font Awesome 5 Free";
    content: "\f05a";
    font-weight: bold;
    margin-right: 0.4em;
    color: #00479d;
  }
  main > article > section.seminar h2 a {
    position: absolute;
    display: block;
    width: 6em;
    background: #2c2c2c;
    color: #FFF;
    right: 0;
    top: 50%;
    margin-top: -1.5em;
    font-weight: normal;
    text-align: center;
    font-size: 12px;
    text-decoration: none;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
  }
  main > article > section.seminar h2 a:before {
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    font-weight: bold;
    margin-right: 0.4em;
  }
  main > article > section.seminar dl dt {
    margin: 0;
    font-size: 14px;
    font-weight: bold;
  }
  main > article > section.seminar dl dd {
    margin-bottom: 10px;
    padding-bottom: 8px;
    border-bottom: #eaeaea 1px solid;
  }
  main > article > section.seminar dl dd:before {
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    font-weight: bold;
    margin-right: 0.4em;
  }
  main > article > section.country {
    width: 100%;
    background: #00479d;
    padding-top: 20px;
  }
  main > article > section.country .container {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    -ms-grid-rows: auto 130px 130px 130px 130px;
    grid-template-rows: auto 130px 130px 130px 130px;
  }
  main > article > section.country .container > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  main > article > section.country .container > *:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  main > article > section.country .container > *:nth-child(3) {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  main > article > section.country .container > *:nth-child(4) {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
  }
  main > article > section.country .container > *:nth-child(5) {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  main > article > section.country .container > *:nth-child(6) {
    -ms-grid-row: 3;
    -ms-grid-column: 2;
  }
  main > article > section.country .container > *:nth-child(7) {
    -ms-grid-row: 4;
    -ms-grid-column: 1;
  }
  main > article > section.country .container > *:nth-child(8) {
    -ms-grid-row: 4;
    -ms-grid-column: 2;
  }
  main > article > section.country .container > *:nth-child(9) {
    -ms-grid-row: 5;
    -ms-grid-column: 1;
  }
  main > article > section.country .container > *:nth-child(10) {
    -ms-grid-row: 5;
    -ms-grid-column: 2;
  }
  main > article > section.country .container .item01,
  main > article > section.country .container .item02 {
    display: none;
  }
  main > article > section.country .container .item03 {
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-column: 1/3;
    background: url("../img/home/bg_item03.png");
    padding: 15px;
    background-size: contain !important;
  }
  main > article > section.country .container .item04 {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2/3;
    background: url("../img/home/grid_item04.jpg");
  }
  main > article > section.country .container .item05 {
    -ms-grid-row: 2;
    -ms-grid-row-span: 2;
    grid-row: 2/4;
    background: url("../img/home/grid_item05.jpg");
  }
  main > article > section.country .container .item06 {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    grid-row: 3/4;
    background: url("../img/home/grid_item06.jpg");
  }
  main > article > section.country .container .item07 {
    display: none;
  }
  main > article > section.country .container .item08 {
    -ms-grid-row: 4;
    -ms-grid-row-span: 2;
    grid-row: 4/6;
    background: url("../img/home/grid_item08.jpg");
  }
  main > article > section.country .container .item09 {
    -ms-grid-row: 4;
    -ms-grid-row-span: 1;
    grid-row: 4/5;
    background: url("../img/home/grid_item09.jpg");
  }
  main > article > section.country .container .item10 {
    -ms-grid-row: 5;
    -ms-grid-row-span: 1;
    grid-row: 5/6;
    background: url("../img/home/grid_item10.jpg");
  }
  main > article > section.country .container .item11 {
    display: none;
  }
  main > article > section.country .container .item {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
  }
  main > article > section.country .container .item h2 {
    text-align: center;
    font-size: 20px;
    color: #FFF;
    margin-bottom: 5px;
  }
  main > article > section.country .container .item h2:before {
    font-family: "Font Awesome 5 Free";
    content: "\f002";
    font-weight: bold;
    margin-right: 0.4em;
  }
  main > article > section.country .container .item p {
    text-align: center;
    color: #FFF;
    margin-bottom: 15px;
  }
  main > article > section.country .container .item ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -ms-flex;
    display: -webkit-flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
  }
  main > article > section.country .container .item ul li {
    width: 49%;
    margin-bottom: 10px;
  }
  main > article > section.country .container .item ul li a {
    position: relative;
    display: block;
    color: #FFF;
    border: #FFF 1px solid;
    text-decoration: none;
    text-align: right;
    padding: 8px;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
  }
  main > article > section.country .container .item ul li a:before {
    position: absolute;
    left: 5px;
    top: 50%;
    margin-top: -16px;
  }
  main > article > section.country .container .item ul li.usa a:before {
    content: url("../img/home/ico_usa.png");
  }
  main > article > section.country .container .item ul li.ca a:before {
    content: url("../img/home/ico_ca.png");
  }
  main > article > section.country .container .item ul li.uk a:before {
    content: url("../img/home/ico_uk.png");
  }
  main > article > section.country .container .item ul li.aus a:before {
    content: url("../img/home/ico_aus.png");
  }
  main > article > section.country .container .item ul li.nzl a:before {
    content: url("../img/home/ico_nzl.png");
  }
  main > article > section.country .container .item ul li.che a:before {
    content: url("../img/home/ico_che.png");
  }
  main > article > section.country .container .item ul li.swe a:before {
    content: url("../img/home/ico_swe.png");
  }
  main > article > section.country .container .item ul li.fin a:before {
    content: url("../img/home/ico_fin.png");
  }
  main > article > section.country .container .item ul li.nzl a {
    font-size: 12px;
  }
  main > article > section.purpose {
    width: 100%;
    background: #f1eee8;
    padding: 30px 15px;
  }
  main > article > section.purpose header > h2 {
    text-align: center;
    font-size: 20px;
    color: #00479d;
    margin-bottom: 10px;
  }
  main > article > section.purpose header > h2:before {
    font-family: "Font Awesome 5 Free";
    content: "\f002";
    font-weight: bold;
    margin-right: 0.4em;
  }
  main > article > section.purpose header > p {
    text-align: center;
    margin-bottom: 25px;
  }
  main > article > section.purpose ul li {
    background: #FFF;
    margin-bottom: 15px;
  }
  main > article > section.purpose ul li a > div:first-child {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover !important;
  }
  main > article > section.purpose ul li.pur01 a > div:first-child {
    background: url("../img/home/purpose_item01.jpg");
  }
  main > article > section.purpose ul li.pur02 a > div:first-child {
    background: url("../img/home/purpose_item02.jpg");
  }
  main > article > section.purpose ul li.pur03 a > div:first-child {
    background: url("../img/home/purpose_item03.jpg");
  }
  main > article > section.purpose ul li.pur04 a > div:first-child {
    background: url("../img/home/purpose_item04.jpg");
  }
  main > article > section.purpose ul li.pur05 a > div:first-child {
    background: url("../img/home/purpose_item05.jpg");
  }
  main > article > section.purpose ul li.pur06 a > div:first-child {
    background: url("../img/home/purpose_item06.jpg");
  }
  main > article > section.purpose ul li.pur07 a > div:first-child {
    background: url("../img/home/purpose_item07.jpg");
  }
  main > article > section.purpose ul li a {
    color: #5d5d5d;
    text-decoration: none;
  }
  main > article > section.purpose ul li a > div:last-child h3 {
    color: #2c2c2c;
    font-weight: bold;
    border-bottom: #CCC 1px solid;
    margin-bottom: 5px;
  }
  main > article > section.purpose ul li a > div:last-child h3:before {
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    font-weight: bold;
    margin-right: 0.4em;
    color: #00479d;
  }
  main > article > section.purpose ul li a > div:last-child p {
    font-size: 14px;
  }
  main > article > section.purpose ul li a > div:first-child {
    height: 220px !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: cover;
  }
  main > article > section.purpose ul li a > div:last-child {
    padding: 15px;
  }
  main > article > section.school {
    width: 100%;
    background: #f1eee8;
    padding: 30px 15px;
  }
  main > article > section.school header > h2 {
    text-align: center;
    font-size: 20px;
    color: #2c2c2c;
    margin-bottom: 10px;
  }
  main > article > section.school header > p {
    text-align: center;
    margin-bottom: 15px;
  }
  main > article > section.school ul li {
    background: #FFF;
    margin-bottom: 15px;
  }
  main > article > section.school ul li a {
    color: #5d5d5d;
    text-decoration: none;
  }
  main > article > section.school ul li a > div:first-child {
    position: relative;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover !important;
    height: 160px;
  }
  main > article > section.school ul li.mit a > div:first-child {
    background: url("../img/home/edu_item01.jpg");
  }
  main > article > section.school ul li.stan a > div:first-child {
    background: url("../img/home/edu_item02.jpg");
  }
  main > article > section.school ul li.harv a > div:first-child {
    background: url("../img/home/edu_item03.jpg");
  }
  main > article > section.school ul li.other a > div:first-child {
    background: url("../img/home/edu_item04.jpg");
  }
  main > article > section.school ul li a > div:first-child:after {
    content: url("../img/home/triangle.png");
    position: absolute;
    bottom: -15px;
    left: 50%;
    margin-left: -40px;
  }
  main > article > section.school ul li a > div:first-child > span:nth-of-type(1) {
    position: absolute;
    display: block;
    top: 5px;
    left: 5px;
    background: #F60;
    color: #FFF;
    font-size: 12px;
    width: 4em;
    text-align: center;
  }
  main > article > section.school ul li a > div:first-child > span:nth-of-type(2) {
    position: absolute;
    display: block;
    top: -10px;
    right: 5px;
    width: 46px;
    height: 46px;
    line-height: 46px;
    background: #fff;
    text-align: center;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
  }
  main > article > section.school ul li a > div:last-child {
    padding: 15px;
  }
  main > article > section.school ul li a > div:last-child h3 {
    font-weight: bold;
    color: #2c2c2c;
    line-height: 1.4;
    margin-bottom: 5px;
  }
  main > article > section.school ul li a > div:last-child h3:before {
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    font-weight: bold;
    margin-right: 0.4em;
    color: #00479d;
  }
  main > article > section.school > a {
    display: block;
    background: #00479d;
    padding: 10px;
    color: #FFF;
    text-decoration: none;
    text-align: center;
    margin: 0 auto;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
  }
  main > article > section.school > a:before {
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    font-weight: bold;
    margin-right: 0.4em;
  }
  main > article > section.update {
    padding: 30px 15px;
  }
  main > article > section.update h2 {
    position: relative;
    font-size: 18px;
    font-weight: bold;
    padding-bottom: 5px;
    border-bottom: #00479d 2px solid;
    color: #2c2c2c;
    margin-bottom: 20px;
  }
  main > article > section.update h2:before {
    font-family: "Font Awesome 5 Free";
    content: "\f02d";
    font-weight: bold;
    margin-right: 0.4em;
    color: #00479d;
  }
  main > article > section.update h2 a {
    position: absolute;
    display: block;
    width: 6em;
    background: #2c2c2c;
    color: #FFF;
    right: 0;
    top: 50%;
    margin-top: -1.5em;
    font-weight: normal;
    text-align: center;
    font-size: 12px;
    text-decoration: none;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
  }
  main > article > section.update h2 a:before {
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    font-weight: bold;
    margin-right: 0.4em;
  }
  main > article > section.update ul li {
    margin-bottom: 20px;
  }
  main > article > section.update ul li > a {
    text-decoration: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -ms-flex;
    display: -webkit-flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
  }
  main > article > section.update ul li > a div:first-child {
    width: 95px;
  }
  main > article > section.update ul li > a div:last-child {
    width: calc(100% - 105px);
  }
  main > article > section.update ul li > a div:last-child p:first-child {
    color: #2c2c2c;
  }
  main > article > section.update ul li > a div:last-child p:first-child:before {
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    font-weight: bold;
    margin-right: 0.4em;
  }
  main > article > section.update ul li > a div:last-child p:last-child {
    text-decoration: underline;
  }
  main > article > section.update > div > div {
    padding: 20px;
    border: #ebedf0 1px solid;
    margin-bottom: 20px;
  }
}
main.local {
  display: block;
  margin-top: 140px;
  z-index: 0;
}
@media screen and (max-width: 768px) {
  main.local {
    margin: 0;
  }
}
main.local.purpose header {
  background: url("../img/country/aus/bg_header.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
main.local.country header {
  background: url("../img/country/bg_header.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
main.local.country header.uk {
  background: url("../img/country/uk/bg_header.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
main.local.country header.ca {
  background: url("../img/country/ca/bg_header.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
main.local.country header.aus {
  background: url("../img/country/aus/bg_header.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
main.local.country header.nzl {
  background: url("../img/country/nzl/bg_header.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
main.local.country header.che {
  background: url("../img/country/che/bg_header.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
main.local.country header.swe {
  background: url("../img/country/swe/bg_header.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
main.local.country aside h3:before, main.local.purpose aside h3:before {
  font-family: "Font Awesome 5 Free";
  content: "\f002";
  font-weight: bold;
  margin-right: 0.4em;
}
main.local.school header {
  background: url("../img/school/bg_header.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
main.local.fee header {
  background: url("../img/fee/bg_header.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
main.local.seminar header {
  background: url("../img/country/uk/bg_header.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
main.local.faq header {
  background: url("../img/country/aus/bg_header.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
main.local > header {
  position: relative;
  height: 200px;
  background: url("../img/profile/bg_header.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
main.local > header h2 {
  position: absolute;
  left: 50%;
  margin-left: -255px;
  top: 50%;
  margin-top: -0.5em;
  font-size: 36px;
  color: #2c2c2c;
  text-shadow: 2px 2px 1px #fff;
}
@media screen and (max-width: 768px) {
  main.local > header {
    height: 120px;
  }
  main.local > header h2 {
    position: static;
    margin-left: 0;
    text-align: center;
    padding-top: 50px;
    font-size: 30px;
  }
}
main.local > div {
  width: 1080px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: -ms-flex;
  display: -webkit-flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  main.local > div {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
    padding-bottom: 30px;
  }
}
main.local > div > article {
  width: 800px;
  padding: 30px 0 60px;
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 2;
  order: 2;
}
@media screen and (max-width: 768px) {
  main.local > div > article {
    padding: 15px;
    width: 100%;
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 1;
    order: 1;
  }
}
main.local > div > article .lead {
  font-size: 22px;
  color: #00479d;
  margin-bottom: 1em;
  font-weight: bold;
}
main.local > div > article section {
  margin-bottom: 2.5em;
}
main.local > div > article section figure {
  width: 100%;
}
main.local > div > article section figure img {
  width: 100%;
  margin-bottom: 10px;
}
main.local > div > article section figure figcaption {
  text-align: right;
}
@media screen and (max-width: 768px) {
  main.local > div > article section figure {
    margin: 0 0 10px;
  }
  main.local > div > article section figure img {
    max-width: 100%;
  }
}
main.local > div > article section > .eyecatch-col2,
main.local > div > article section > .eyecatch-col3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: -ms-flex;
  display: -webkit-flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  margin-bottom: 1em;
}
main.local > div > article section > .eyecatch-col2 div {
  width: 50%;
}
@media screen and (max-width: 768px) {
  main.local > div > article section > .eyecatch-col2 div {
    width: 100%;
  }
}
main.local > div > article section > .eyecatch-col3 div {
  width: 33.333%;
}
@media screen and (max-width: 768px) {
  main.local > div > article section > .eyecatch-col3 div {
    width: 100%;
  }
}
main.local > div > article section .table-basic {
  width: 100%;
  margin-bottom: 2em;
}
main.local > div > article section .table-basic tr {
  border-bottom: 1px #ccc dotted;
}
main.local > div > article section .table-basic tr th {
  width: 120px;
  padding: 8px;
  font-weight: bold;
}
main.local > div > article section .table-basic tr td {
  padding: 8px;
}
main.local > div > article section .list-contry {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: -ms-flex;
  display: -webkit-flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
}
main.local > div > article section .list-contry li {
  width: 190px;
  margin-bottom: 15px;
}
main.local > div > article section .list-contry li a {
  display: block;
  position: relative;
  text-decoration: none;
}
main.local > div > article section .list-contry li a span {
  position: absolute;
  left: 0;
  top: -1px;
}
main.local > div > article section .list-contry li a > img {
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  margin-bottom: 5px;
}
main.local > div > article section .list-contry li a h4 {
  background: none;
  padding: 0;
  margin-bottom: 5px;
}
main.local > div > article section .list-contry li a h4:before {
  font-family: "Font Awesome 5 Free";
  content: "\f0da";
  font-weight: bold;
  margin-right: 0.4em;
}
main.local > div > article section .list-contry li a p {
  font-size: 13px;
  line-height: 1.6;
  color: #5d5d5d;
}
main.local > div > article section > a {
  display: block;
  width: 400px;
  margin: 0 auto 2.5em;
  background: #00479d;
  color: #fff;
  text-align: center;
  text-decoration: none;
  padding: 8px 0;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
}
@media screen and (max-width: 768px) {
  main.local > div > article section > a {
    width: 100%;
  }
}
main.local > div > article section > a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: bold;
  margin-right: 0.4em;
}
main.local > div > article section > a:hover {
  background-color: #00306a;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
main.local > div > article section ul.list-check {
  margin-bottom: 2em;
}
main.local > div > article section ul.list-check li {
  margin-bottom: 0.5em;
}
main.local > div > article section ul.list-check li:before {
  font-family: "Font Awesome 5 Free";
  content: "\f00c";
  font-weight: bold;
  margin-right: 0.4em;
  color: #ff8a00;
}
main.local > div > article h2 {
  background: #00479d;
  border-left: #ff8a00 4px solid;
  color: #FFF;
  padding: 10px 14px;
  font-size: 24px;
  margin-bottom: 25px;
}
@media screen and (max-width: 768px) {
  main.local > div > article h2 {
    font-size: 20px;
  }
}
main.local > div > article h3 {
  font-size: 18px;
  font-weight: bold;
  padding-bottom: 5px;
  border-bottom: #00479d 2px solid;
  color: #00479d;
  margin-bottom: 20px;
}
main.local > div > article h4 {
  font-size: 16px;
  font-weight: bold;
  padding: 5px 8px;
  color: #2c2c2c;
  margin-bottom: 15px;
  background: #f1eee8;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
}
main.local > div > article h5 {
  font-weight: bold;
  font-size: 16px;
  margin-bottom: 15px;
  color: #2c2c2c;
}
main.local > div > article p {
  margin-bottom: 1.5em;
}
main.local > div > article .scroll-table {
  overflow: auto;
  white-space: nowrap;
  margin-bottom: 2em;
}
main.local > div > article .txt-sup {
  font-size: 13px;
}
main.local > div > article .txt-center {
  text-align: center;
}
main.local > div aside {
  width: 240px;
  position: relative;
  overflow: hidden;
  top: -70px;
  -webkit-box-ordinal-group: 1;
  -ms-flex-order: 1;
  order: 1;
}
main.local > div aside > h3 {
  background: #f1eee8;
  height: 140px;
  line-height: 140px;
  text-align: center;
  color: #2c2c2c;
  font-size: 18px;
  font-weight: bold;
  border-radius: 6px 6px 0 0;
  border: #ddd 1px solid;
  border-bottom: none;
}
main.local > div aside ul:nth-of-type(1) {
  border: #ddd 1px solid;
  margin-bottom: 20px;
}
main.local > div aside ul:nth-of-type(1) li {
  border-bottom: #ddd 1px solid;
}
main.local > div aside ul:nth-of-type(1) li:last-child {
  border: none;
}
main.local > div aside ul:nth-of-type(1) li a {
  display: block;
  position: relative;
  padding: 10px 12px;
  text-decoration: none;
  color: #333 !important;
  -webkit-transition: background-color 0.6s ease;
  transition: background-color 0.6s ease;
}
main.local > div aside ul:nth-of-type(1) li a.current, main.local > div aside ul:nth-of-type(1) li a:hover {
  background: #ecf3fb;
  -webkit-transition: background-color 0.6s ease;
  transition: background-color 0.6s ease;
  font-weight: bold;
}
main.local > div aside ul:nth-of-type(1) li a:after {
  position: absolute;
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: bold;
  margin-right: 0.4em;
  right: 5px;
  top: 50%;
  margin-top: -1em;
  color: #ff8a00;
}
main.local > div aside ul:nth-of-type(1) li.sub a {
  padding: 8px 12px 8px 1.8em;
  font-size: 0.95em;
  background: #ecf3fb;
}
main.local > div aside ul:nth-of-type(1) li.sub a:after {
  content: none;
}
main.local > div aside ul:nth-of-type(2) li {
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  main.local > div aside {
    padding: 15px;
    width: 100%;
    position: static;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 2;
    order: 2;
  }
  main.local > div aside > h3 {
    height: 60px;
    line-height: 60px;
  }
}

.pagenav {
  border-top: #ddd 1px solid;
  padding-top: 25px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .pagenav {
    display: none;
  }
}
.pagenav > span:before {
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: bold;
  margin-right: 0.4em;
  color: #ff8a00;
  text-decoration: none !important;
}
.pagenav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: -ms-flex;
  display: -webkit-flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
}
.pagenav ul li {
  width: 50%;
}
.pagenav ul li:first-child {
  text-align: left;
}
.pagenav ul li:last-child {
  text-align: right;
}
.pagenav ul li:first-child:before {
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: bold;
  margin-right: 0.4em;
  color: #ff8a00;
}
.pagenav ul li:last-child:before {
  font-family: "Font Awesome 5 Free";
  content: "\f106";
  font-weight: bold;
  margin-right: 0.4em;
  color: #ff8a00;
}

main.purpose article section .lead-visual li {
  border-bottom: 1px #dddddd solid;
  padding-bottom: 2em;
  margin-bottom: 2em;
}
main.purpose article section .lead-visual li > div:first-child {
  position: relative;
  width: 800px;
  height: 410px;
}
main.purpose article section .lead-visual li > div:first-child > div:first-child {
  width: 450px;
  position: absolute;
  top: 0;
  left: 0;
}
main.purpose article section .lead-visual li > div:first-child > div:last-child {
  width: 450px;
  height: 338px;
  position: absolute;
  top: 50px;
  left: 350px;
  background: #fff;
  padding: 30px;
  -webkit-box-shadow: 10px 10px 15px -10px rgba(0, 0, 0, 0.2);
          box-shadow: 10px 10px 15px -10px rgba(0, 0, 0, 0.2);
}
main.purpose article section .lead-visual li > div:first-child > div:last-child:after {
  content: "";
  bottom: 0;
  right: 0;
  border-top: 164px solid transparent;
  border-right: 44px solid #ff8a00;
  position: absolute;
}
main.purpose article section .lead-visual li > div:last-child {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: -ms-flex;
  display: -webkit-flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
}
main.purpose article section .lead-visual li > div:last-child a {
  display: block;
  width: 49%;
  border: #dddddd 1px solid;
  padding: 5px;
  margin-bottom: 10px;
  text-align: center;
  color: #2c2c2c;
  text-decoration: none;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
}
main.purpose article section .lead-visual li > div:last-child a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: bold;
  margin-right: 0.4em;
}
main.purpose article section > .list-contry li {
  width: 255px !important;
  margin-bottom: 15px;
}
main.purpose article section > ol.prep-feature {
  margin-bottom: 2em;
}
main.purpose article section > ol.prep-feature li {
  color: #00479d;
  margin-bottom: 1em;
  font-weight: bold;
  font-size: 18px;
}
main.purpose article section > ol.prep-feature li:before {
  font-family: "Font Awesome 5 Free";
  content: "\f521";
  font-weight: bold;
  margin-right: 0.4em;
  color: #ff8a00;
}
main.purpose article section > .adm-term {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: -ms-flex;
  display: -webkit-flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  width: 620px;
  margin: 2em auto;
}
main.purpose article section > .adm-term ol {
  width: 300px;
  text-align: center;
}
main.purpose article section > .adm-term ol li {
  font-weight: bold;
  padding: 8px;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  line-height: 1.4;
}
main.purpose article section > .adm-term ol li:nth-child(odd) {
  border: #eee 1px solid;
}
main.purpose article section > .adm-term ol li:nth-child(even) span {
  display: none;
}
main.purpose article section > .adm-term ol li:nth-child(even):before {
  font-family: "Font Awesome 5 Free";
  content: "\f063";
  font-weight: bold;
  margin-right: 0.4em;
  color: #ff8a00;
}
main.purpose article section > .adm-term ol li span {
  font-weight: normal;
}
main.purpose article section > .univ-ranking {
  width: 720px;
  margin: 0 auto 2em;
}
main.purpose article section > .univ-ranking tr {
  border-bottom: 1px #eee solid;
}
main.purpose article section > .univ-ranking th {
  padding: 5px;
}
main.purpose article section > .univ-ranking td {
  padding: 5px;
  text-align: center;
  font-weight: bold;
  color: #ff8a00;
}
main.purpose article section > .table-message {
  width: 100%;
  border: #dddddd 1px solid;
  margin-bottom: 2em;
}
main.purpose article section > .table-message tr {
  border-bottom: #dddddd 1px solid;
}
main.purpose article section > .table-message tr th {
  background: #ecf3fb;
  padding: 8px;
  width: 10em;
}
main.purpose article section > .table-message tr td {
  padding: 8px;
}
@media screen and (max-width: 768px) {
  main.purpose article section .lead-visual li {
    position: static;
    height: auto;
  }
  main.purpose article section .lead-visual li > div:first-child {
    position: static;
    width: 100%;
    height: auto;
    margin-bottom: 2em;
  }
  main.purpose article section .lead-visual li > div:first-child > div:first-child {
    width: 100%;
    height: auto;
    position: static;
  }
  main.purpose article section .lead-visual li > div:first-child > div:last-child {
    width: 100%;
    height: auto;
    position: static;
    padding: 15px;
    -webkit-box-shadow: 10px 10px 15px -10px rgba(0, 0, 0, 0.2);
            box-shadow: 10px 10px 15px -10px rgba(0, 0, 0, 0.2);
  }
  main.purpose article section .lead-visual li > div:first-child > div:last-child:after {
    border: none;
    position: static;
  }
  main.purpose article section .lead-visual li > div:last-child {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -ms-flex;
    display: -webkit-flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
  }
  main.purpose article section .lead-visual li > div:last-child a {
    width: 100%;
  }
  main.purpose article section .lead-visual li > div:last-child a:before {
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    font-weight: bold;
    margin-right: 0.4em;
  }
  main.purpose article section > .list-contry li {
    width: 49% !important;
  }
  main.purpose article section > .adm-term {
    width: 100%;
    margin: 1em 0;
  }
  main.purpose article section > .adm-term ol {
    width: 100%;
    margin-bottom: 2em;
  }
}

main.country article > ul,
main.country article ul.departure {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: -ms-flex;
  display: -webkit-flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  margin-bottom: 25px;
}
main.country article > ul > li,
main.country article ul.departure > li {
  background: #ffd2ec;
  width: 8em;
  color: #2c2c2c;
  padding: 4px;
  text-align: center;
  font-weight: bold;
  font-size: 12px;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  margin-left: 10px;
}
main.country article > ul > li:last-child,
main.country article ul.departure > li:last-child {
  background: #fff4e8;
}
main.country article > ul > li:before,
main.country article ul.departure > li:before {
  font-family: "Font Awesome 5 Free";
  content: "\f072";
  font-weight: bold;
  margin-right: 0.4em;
  color: #00479d;
}
main.country article > img {
  margin-bottom: 20px;
}
main.country article section > img {
  margin-bottom: 20px;
}
main.country article section > ul.facility {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: -ms-flex;
  display: -webkit-flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
}
main.country article section > ul.facility li {
  width: 250px;
  text-align: center;
  margin-bottom: 10px;
}
main.country article section > ul.facility li img {
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
}
main.country article section.sch-feature {
  background: #fff4e8;
  padding: 25px;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
}
main.country article section.sch-feature h3 {
  color: #ff8a00;
  border: none;
  margin-bottom: 10px;
}
main.country article section.sch-feature h3:before {
  font-family: "Font Awesome 5 Free";
  content: "\f02e";
  font-weight: bold;
  margin-right: 0.4em;
}
main.country article section.sch-feature p {
  margin-bottom: 0;
}
main.country article section.support > div {
  border: #00479d 2px solid;
  padding: 20px;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
}
main.country article section.support > div h3 {
  color: #00479d;
}
main.country article section.support > div h3:before {
  font-family: "Font Awesome 5 Free";
  content: "\f05a";
  font-weight: bold;
  margin-right: 0.4em;
}
main.country article section.support > div p {
  margin-bottom: 0.5em;
}
main.country article section.support > div ul {
  margin-bottom: 0;
}
main.country article section.support > div > div.staff {
  border-top: 1px #ccc dotted;
  padding-top: 30px;
  margin-top: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: -ms-flex;
  display: -webkit-flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
}
main.country article section.support > div > div.staff > div:first-child {
  width: 30%;
}
main.country article section.support > div > div.staff > div:last-child {
  width: 65%;
}
main.country article section.support > div > div.staff strong {
  color: #2c2c2c;
}
main.country article section > table.level {
  width: 90%;
  margin: 0 auto 2em;
}
main.country article section > table.level tr {
  border-bottom: 1px #eee solid;
}
main.country article section > table.level tr.recommend {
  background: #ff8a00;
  color: #fff;
}
main.country article section > table.level tr th {
  padding: 5px 0;
  text-align: center;
  font-weight: bold;
}
main.country article section > table.level tr td {
  padding: 5px 0;
  text-align: center;
}
main.country article section > ol.faculty {
  margin-bottom: 2em;
}
main.country article section > ol.faculty li {
  font-style: italic;
  margin-top: 0.5em;
}
main.country article section > ol.faculty li:before {
  font-family: "Font Awesome 5 Free";
  content: "\f518";
  font-weight: bold;
  margin-right: 0.4em;
  font-style: normal;
}
main.country article section > ol.semo-feature {
  margin-bottom: 2em;
}
main.country article section > ol.semo-feature li {
  color: #00479d;
  margin-bottom: 1em;
  font-weight: bold;
}
main.country article section > ol.semo-feature li:before {
  font-family: "Font Awesome 5 Free";
  content: "\f521";
  font-weight: bold;
  margin-right: 0.4em;
  color: #ff8a00;
}
main.country article section > dl.standard dt {
  font-weight: bold;
}
main.country article section > dl.standard dd {
  padding-left: 1em;
  margin-bottom: 1em;
}
main.country article section > dl.table-col2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: -ms-flex;
  display: -webkit-flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  margin-bottom: 1.5em;
}
main.country article section > dl.table-col2 dt {
  width: 6em;
  color: #2c2c2c;
  font-weight: bold;
  padding: 10px 0;
  border-bottom: #eaeaea 1px solid;
}
main.country article section > dl.table-col2 dd {
  width: calc(100% - 6em);
  padding: 10px 0;
  border-bottom: #eaeaea 1px solid;
}
main.country article section > dl.list-define {
  background: #eaeaea;
  padding: 20px;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
}
main.country article section > dl.list-define dt {
  color: #00479d;
  font-weight: bold;
  border-left: 4px #00479d solid;
  padding-left: 8px;
}
main.country article section > dl.list-define dd {
  margin-bottom: 1em;
}
main.country article section > dl.list-define dd:last-child {
  margin-bottom: 0;
}
main.country article section dl.nation {
  padding-left: 1em;
}
main.country article section dl.nation dt {
  font-weight: bold;
}
main.country article section dl.nation dd {
  border-bottom: 1px #eee solid;
  padding-bottom: 5px;
  margin-bottom: 10px;
}
main.country article section > .sch-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: -ms-flex;
  display: -webkit-flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  margin-bottom: 2.5em;
}
main.country article section > .sch-header > div:first-child {
  width: 450px;
}
main.country article section > .sch-header > div:last-child {
  width: 300px;
  background-color: #ecf3fb;
  padding: 20px;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
}
main.country article section > .sch-header > div:last-child > table {
  width: 100%;
}
main.country article section > .sch-header > div:last-child > table th {
  font-weight: bold;
  padding: 6px 0;
  width: 6em;
  border-bottom: #ccc 1px solid;
  color: #2c2c2c;
}
main.country article section > .sch-header > div:last-child > table td {
  padding: 6px 0;
  border-bottom: #ccc 1px solid;
}
main.country article section > .map-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: -ms-flex;
  display: -webkit-flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  margin-bottom: 2.5em;
}
main.country article section > .map-header > div:first-child {
  width: 480px;
}
main.country article section > .map-header > div:last-child {
  width: 300px;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
}
main.country article section > .map-header > div:last-child > dl {
  width: 100%;
  margin-bottom: 20px;
}
main.country article section > .map-header > div:last-child > dl dt {
  font-weight: bold;
  color: #2c2c2c;
  padding: 6px 0 0;
}
main.country article section > .map-header > div:last-child > dl dd {
  padding: 0 0 6px;
  border-bottom: #ccc 1px dotted;
}
main.country article section > .ranking {
  width: 600px;
  margin: 0 auto;
}
main.country article section > .ranking th {
  font-weight: bold;
  padding: 4px;
  text-align: center;
  border-bottom: #eaeaea 1px solid;
}
main.country article section > .ranking td {
  text-align: center;
  padding: 4px;
  border-bottom: #eaeaea 1px solid;
}
main.country article section > .list-shool {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: -ms-flex;
  display: -webkit-flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  margin-bottom: 1.5em;
}
main.country article section > .list-shool:after {
  content: "";
  display: block;
  width: 260px;
}
main.country article section > .list-shool > li {
  position: relative;
  width: 260px;
  border: #eaeaea 1px solid;
  margin-bottom: 10px;
}
main.country article section > .list-shool > li > a {
  text-decoration: none;
  color: #2c2c2c;
}
main.country article section > .list-shool > li > a > span {
  position: absolute;
  left: 0;
  top: 0;
  background: #ff8a00;
  color: #fff;
  text-align: center;
  padding: 8px;
  font-size: 12px;
  line-height: 1;
}
main.country article section > .list-shool > li > a > div {
  padding: 15px;
  line-height: 1.4;
}
main.country article section > .list-shool > li > a > div:before {
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: bold;
  margin-right: 0.4em;
}
main.country article section > .list-shool-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: -ms-flex;
  display: -webkit-flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
}
main.country article section > .list-shool-bottom > li {
  width: 395px;
  border: #eaeaea 1px solid;
  margin-bottom: 10px;
}
main.country article section > .list-shool-bottom > li.single {
  width: 800px;
}
main.country article section > .list-shool-bottom > li > a {
  display: block;
  text-align: center;
  padding: 8px 0;
  text-decoration: none;
  color: #2c2c2c;
}
main.country article section > .list-shool-bottom > li > a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: bold;
  margin-right: 0.4em;
}
main.country article section > .subjects {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: -ms-flex;
  display: -webkit-flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  width: 90%;
  margin: 0 auto 2em;
}
main.country article section > .subjects:after {
  content: "";
  display: block;
  width: 30%;
}
main.country article section > .subjects > li {
  width: 30%;
  border: #eaeaea 1px solid;
  padding: 4px;
  margin-bottom: 5px;
  text-align: center;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
}
main.country article section > .subjects > li:before {
  font-family: "Font Awesome 5 Free";
  content: "\f02e";
  font-weight: bold;
  margin-right: 0.4em;
}
main.country article section > .sch-member li {
  margin-bottom: 0.5em;
}
@media screen and (max-width: 768px) {
  main.country article section > .list-contry li {
    width: 49% !important;
  }
  main.country article section > ul.facility li {
    width: 49%;
  }
  main.country article section.support > div {
    padding: 15px;
  }
  main.country article section.support > div > div.staff {
    border-top: 1px #ccc dotted;
    padding-top: 25px;
    margin-top: 15px;
  }
  main.country article section.support > div > div.staff > div:first-child {
    width: 100%;
    margin-bottom: 20px;
    text-align: center;
  }
  main.country article section.support > div > div.staff > div:first-child > img {
    width: 80%;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
  }
  main.country article section.support > div > div.staff > div:last-child {
    width: 100%;
  }
  main.country article section dl.nation {
    padding-left: 0;
    margin-top: 15px;
  }
  main.country article section > .sch-header > div:first-child {
    width: 100%;
    margin-bottom: 20px;
  }
  main.country article section > .sch-header > div:last-child {
    width: 100%;
    background-color: #ecf3fb;
  }
  main.country article section > .sch-header > div:last-child > table th {
    width: 30%;
  }
  main.country article section > .map-header > div:first-child {
    width: 100%;
    margin-bottom: 20px;
  }
  main.country article section > .map-header > div:last-child {
    width: 100%;
  }
  main.country article section > .ranking {
    width: 100%;
    margin: 0;
  }
  main.country article section > .list-shool > li {
    width: 49%;
    text-align: center;
  }
  main.country article section > .list-shool > li > a > div {
    padding: 10px;
  }
  main.country article section > .list-shool-bottom > li {
    width: 100%;
  }
  main.country article section > .list-shool-bottom > li > a {
    padding: 8px;
  }
  main.country article section > .subjects {
    width: 100%;
    margin: 0 0 2em;
  }
  main.country article section > .subjects > li {
    width: 48%;
    font-size: 12px;
  }
}

main.seminar article > section > div.photo-outer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: -ms-flex;
  display: -webkit-flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
}
main.seminar article > section > div.photo-outer > div.photo {
  width: 250px;
}
main.seminar article > section > div.photo-outer > div.photo > p {
  text-align: center;
  font-size: 13px;
}
main.seminar article > section > div.photo-outer > div.txt {
  width: 500px;
}
main.seminar article > section > dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: -ms-flex;
  display: -webkit-flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  margin-bottom: 2.5em;
}
main.seminar article > section > dl dt {
  width: 200px;
  border-bottom: #eaeaea 1px solid;
  padding: 8px 0;
  font-weight: bold;
}
main.seminar article > section > dl dd {
  width: 600px;
  padding: 10px 0;
  border-bottom: #eaeaea 1px solid;
}
main.seminar article > section > dl dd:before {
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: bold;
  margin-right: 0.4em;
}
main.seminar article > section > ol li:before {
  font-family: "Font Awesome 5 Free";
  content: "\f14a";
  font-weight: bold;
  margin-right: 0.4em;
  color: #00479d;
}
@media screen and (max-width: 768px) {
  main.seminar article > section > div.photo-outer > div.photo {
    width: 100%;
    text-align: center;
  }
  main.seminar article > section > div.photo-outer > div.photo > img {
    max-width: 240px;
  }
  main.seminar article > section > div.photo-outer > div.txt {
    width: 100%;
  }
  main.seminar article > section > dl dt {
    width: 100%;
    border: 0;
    padding: 8px 0 0 0;
    font-weight: bold;
  }
  main.seminar article > section > dl dd {
    width: 100%;
    padding: 5px 0 8px 0;
    border-bottom: #eaeaea 1px solid;
  }
  main.seminar article > section > dl dd:before {
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    font-weight: bold;
    margin-right: 0.4em;
  }
}

main.profile article > section ol.feature {
  margin-bottom: 2em;
}
main.profile article > section ol.feature li {
  font-weight: bold;
  color: #00479d;
  margin-bottom: 0.5em;
}
main.profile article > section ol.feature li:before {
  font-family: "Font Awesome 5 Free";
  content: "\f14a";
  font-weight: bold;
  margin-right: 0.4em;
  color: #ff8a00;
}
main.profile article > section p {
  overflow: hidden;
}
main.profile article > section p.en {
  border: 1px #00479d solid;
  padding: 15px;
  color: #00479d;
  border-radius: 4px;
}
main.profile article > section p img {
  width: 250px;
  border-radius: 4px;
}
main.profile article > section p img.president {
  width: 100%;
}
main.profile article > section .list-division {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: -ms-flex;
  display: -webkit-flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
}
main.profile article > section .list-division li {
  width: 48%;
  border: 1px #eaeaea solid;
  margin-bottom: 1.5em;
}
main.profile article > section .list-division li div {
  padding: 20px 15px;
}
main.profile article > section .list-division li div h4 {
  background: none;
  padding: 0 0 0 0.4em;
  margin-bottom: 0.5em;
  border-left: 4px #ff8a00 solid;
  border-radius: 0;
  line-height: 1.2;
}
main.profile article > section .list-division li div p {
  margin-bottom: 0.5em;
  line-height: 1.6;
}
main.profile article > section .list-division li div a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: bold;
  margin-right: 0.4em;
  color: #00479d;
  display: inline-block;
}
main.profile article > section .list-study li h5 {
  color: #00479d;
  margin-bottom: 0.5em;
}
main.profile article > section .list-school {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: -ms-flex;
  display: -webkit-flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
}
main.profile article > section .list-school > li {
  width: 390px;
  text-align: center;
  padding: 6px;
  margin-bottom: 10px;
  border: 1px #eaeaea solid;
  color: #2c2c2c;
}
main.profile article > section .list-school > li:before {
  font-family: "Font Awesome 5 Free";
  content: "\f549";
  font-weight: bold;
  margin-right: 0.4em;
  color: #00479d;
}
main.profile article > section .leader {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: -ms-flex;
  display: -webkit-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-justify-content: center;
  -webkit-justify-content: center;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
}
main.profile article > section .leader li {
  max-width: 300px;
  margin: 0 20px;
  text-align: center;
}
main.profile article > section .leader li img {
  border-radius: 50%;
  margin-bottom: 0.5em;
}
main.profile article > section .personal {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: -ms-flex;
  display: -webkit-flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
}
main.profile article > section .personal li {
  width: 48%;
  margin-bottom: 2em;
}
main.profile article > section .personal li img {
  margin-bottom: 0.5em;
}
main.profile article > section .personal li dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: -ms-flex;
  display: -webkit-flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
}
main.profile article > section .personal li dl dt {
  width: 4em;
  font-weight: bold;
}
main.profile article > section .personal li dl dd {
  width: calc(100% - 4em);
  text-align: left;
}
main.profile article > section .table-history {
  width: 100%;
}
main.profile article > section .table-history tr {
  border-bottom: 1px #ccc dotted;
}
main.profile article > section .table-history tr th {
  width: 8em;
  padding: 8px;
  font-weight: bold;
  color: #2c2c2c;
  vertical-align: top;
}
main.profile article > section .table-history tr td {
  padding: 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: -ms-flex;
  display: -webkit-flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
}
main.profile article > section .table-history tr td > div:first-child {
  width: 22%;
}
main.profile article > section .table-history tr td > div:first-child img {
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
}
main.profile article > section .table-history tr td > div:last-child {
  width: 75%;
}
main.profile article > section .message {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: -ms-flex;
  display: -webkit-flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
}
main.profile article > section .message > div:first-child {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 2;
  order: 2;
  width: 300px;
  text-align: center;
  font-size: 12px;
  line-height: 1.4;
}
main.profile article > section .message > div:first-child p:first-child {
  margin-bottom: 0;
}
main.profile article > section .message > div:first-child img {
  width: 300px;
  margin-bottom: 10px;
}
main.profile article > section .message > div:last-child {
  -webkit-box-ordinal-group: 1;
  -ms-flex-order: 1;
  order: 1;
  width: 480px;
}
main.profile article > section .office-map {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: -ms-flex;
  display: -webkit-flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  padding: 25px;
  border: 1px #eaeaea solid;
  margin-bottom: 2.5em;
}
main.profile article > section .office-map > h4 {
  width: 100%;
  background: none;
  padding: 2px 0 2px 12px;
  border-left: 4px #ff8a00 solid;
  border-radius: 0;
  font-size: 18px;
}
main.profile article > section .office-map > div:nth-of-type(1) {
  width: 100%;
  margin-bottom: 10px;
}
main.profile article > section .office-map > div:nth-of-type(2) {
  width: 250px;
}
main.profile article > section .office-map > div:nth-of-type(2) img {
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
}
main.profile article > section .office-map > div:nth-of-type(3) {
  width: 470px;
}
@media screen and (max-width: 768px) {
  main.profile article > section p {
    overflow: hidden;
  }
  main.profile article > section p img {
    width: 100%;
    float: none;
    margin-bottom: 1em;
  }
  main.profile article > section .list-school > li {
    width: 100%;
  }
  main.profile article > section .personal li {
    width: 100%;
  }
  main.profile article > section .table-history tr {
    border-bottom: #eaeaea 1px solid;
  }
  main.profile article > section .table-history tr th {
    padding: 12px 8px;
  }
  main.profile article > section .table-history tr td {
    padding: 12px 8px;
  }
  main.profile article > section .table-history tr td > div:first-child {
    width: 100%;
    margin-bottom: 10px;
  }
  main.profile article > section .table-history tr td > div:last-child {
    width: 100%;
  }
  main.profile article > section .message div:first-child {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 1;
    order: 1;
    width: 100%;
    text-align: center;
  }
  main.profile article > section .message div:first-child img {
    margin-bottom: 10px;
  }
  main.profile article > section .office-map {
    padding: 0;
    border: none;
    margin-bottom: 1.5em;
  }
  main.profile article > section .office-map > h4 {
    width: 100%;
    background: none;
    padding: 2px 0 2px 12px;
    border-left: 4px #ff8a00 solid;
    border-radius: 0;
    font-size: 18px;
  }
  main.profile article > section .office-map > div:nth-of-type(2) {
    width: 100%;
    margin-bottom: 10px;
  }
  main.profile article > section .office-map > div:nth-of-type(2) img {
    max-width: 100%;
  }
  main.profile article > section .office-map > div:nth-of-type(3) {
    width: 100%;
  }
  main.profile article > section .office-map > div:nth-of-type(3) p {
    margin-bottom: 0.5em;
  }
}

main.fee article > section .price span {
  color: #ff8a00;
  font-size: 22px;
}
main.fee article > section .sch-fee {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: -ms-flex;
  display: -webkit-flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  margin-bottom: 30px;
}
main.fee article > section .sch-fee > div {
  width: 390px;
}
main.fee article > section .sch-fee > div img {
  max-width: 100%;
}
main.fee article > section .sch-fee > div dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: -ms-flex;
  display: -webkit-flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
}
main.fee article > section .sch-fee > div dl dt {
  font-weight: bold;
  width: 130px;
  padding: 4px 0;
  border-bottom: 1px #eee solid;
}
main.fee article > section .sch-fee > div dl dd {
  width: 260px;
  padding: 4px 0 4px 10px;
  border-bottom: 1px #eee solid;
}
main.fee article > section .sch-fee > div dl dd.price {
  color: #ff8a00;
}
main.fee article > section .list-fee {
  width: 100%;
}
main.fee article > section .list-fee tr.total {
  border-top: 1px #00479d solid;
}
main.fee article > section .list-fee tr.total td {
  color: #ff8a00;
  font-size: 18px;
}
main.fee article > section .list-fee th {
  width: 20%;
  padding: 6px 0;
  text-align: center;
  font-weight: bold;
}
main.fee article > section .list-fee td {
  width: 20%;
  padding: 4px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  main.fee article > section .sch-fee {
    margin-bottom: 10px;
  }
  main.fee article > section .sch-fee > div {
    width: 100%;
    margin-bottom: 20px;
  }
  main.fee article > section .sch-fee > div img {
    max-width: 100%;
  }
  main.fee article > section .sch-fee > div dl {
    width: 100%;
  }
  main.fee article > section .sch-fee > div dl dt {
    width: 130px;
  }
  main.fee article > section .sch-fee > div dl dd {
    width: calc(100% - 130px);
  }
}

main.faq article > section .panel-nav {
  margin-bottom: 2em;
}
main.faq article > section .panel-nav .panel-head {
  position: relative;
  cursor: pointer;
  background: #ecf3fb;
  padding: 8px 30px 8px 10px;
  margin-bottom: 0.5em;
  line-height: 1.4;
}
main.faq article > section .panel-nav .panel-row {
  display: none;
  padding: 15px;
  margin-bottom: 1.5em;
}
main.faq article > section .panel-nav .panel-head:after {
  position: absolute;
  right: 10px;
  top: 50%;
  font-family: "Font Awesome 5 Free";
  content: "\f067";
  font-weight: bold;
  margin-right: 0.4em;
  color: #00479d;
  margin-top: -0.7em;
}

main.sitemap article > section > dl dt {
  font-weight: bold;
  margin-bottom: 0.5em;
}
main.sitemap article > section > dl dt:before {
  font-family: "Font Awesome 5 Free";
  content: "\f0d7";
  font-weight: bold;
  margin-right: 0.4em;
  color: #ff8a00;
}
main.sitemap article > section > dl dd {
  padding-left: 2em;
  margin-bottom: 0.5em;
}
main.sitemap article > section > dl dd:before {
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: bold;
  margin-right: 0.4em;
  color: #777;
}
main.sitemap article > section > dl dd.sub {
  padding-left: 4em;
}
main.dp article > section > ul {
  margin-bottom: 2em;
}
main.dp article > section > ul li:before {
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: bold;
  margin-right: 0.4em;
}
@media screen and (max-width: 768px) {
  main.dp article > section .sch-fee {
    margin-bottom: 10px;
  }
  main.dp article > section .sch-fee > div {
    width: 100%;
    margin-bottom: 20px;
  }
  main.dp article > section .sch-fee > div img {
    max-width: 100%;
  }
  main.dp article > section .sch-fee > div dl {
    width: 100%;
  }
  main.dp article > section .sch-fee > div dl dt {
    width: 130px;
  }
  main.dp article > section .sch-fee > div dl dd {
    width: calc(100% - 130px);
  }
}

main.form article section .stepBar {
  position: relative;
  list-style: none;
  margin: 0 0 30px;
  padding: 0;
  text-align: center;
  width: 100%;
  overflow: hidden;
  *zoom: 1;
}
main.form article section .stepBar .step {
  position: relative;
  float: left;
  display: inline-block;
  line-height: 40px;
  padding: 0 40px 0 20px;
  background-color: #edeff1;
}
main.form article section .stepBar .step:after,
main.form article section .stepBar .step:before {
  position: absolute;
  left: -15px;
  display: block;
  content: "";
  background-color: #edeff1;
  border-left: 4px solid #fff;
  width: 20px;
  height: 20px;
}
main.form article section .stepBar .step:after {
  top: 0;
  -ms-transform: skew(30deg);
  -webkit-transform: skew(30deg);
  transform: skew(30deg);
}
main.form article section .stepBar .step:before {
  bottom: 0;
  -ms-transform: skew(-30deg);
  -webkit-transform: skew(-30deg);
  transform: skew(-30deg);
}
main.form article section .stepBar .step:first-child {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
main.form article section .stepBar .step:first-child:after,
main.form article section .stepBar .step:first-child:before {
  content: none;
}
main.form article section .stepBar .step:last-child {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}
main.form article section .stepBar .step.current {
  color: #FFF;
  background-color: #ff8a00;
}
main.form article section .stepBar .step.current:after,
main.form article section .stepBar .step.current:before {
  background-color: #ff8a00;
}
main.form article section .stepBar.step2 .step {
  width: 50%;
}
main.form article section .stepBar.step3 .step {
  width: 33.333%;
}
main.form article section .stepBar.step4 .step {
  width: 25%;
}
main.form article section .stepBar.step5 .step {
  width: 20%;
}
main.form article section p.privacy {
  text-align: center;
}
main.form article section p.privacy:before {
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: bold;
  margin-right: 0.4em;
}
main.form article section p.error_messe {
  color: #c00;
}
main.form article section p input {
  display: block;
  background: #ff8a00;
  border: 0;
  width: 12em;
  padding: 12px;
  margin: 0 auto 10px auto;
  color: #FFF;
  font-size: 16px;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
}
main.form article section p input[type=button] {
  background: #666;
}
main.form article section p .tel {
  font-weight: bold;
  text-decoration: none;
  color: #2c2c2c;
}
main.form article section dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: -ms-flex;
  display: -webkit-flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  margin-bottom: 25px;
}
main.form article section dl dt {
  position: relative;
  width: 35%;
  padding: 12px;
  border-bottom: 1px #ccc dotted;
  color: #2c2c2c;
  font-weight: bold;
}
main.form article section dl dt span {
  position: absolute;
  right: 20px;
  top: 10px;
  font-weight: normal;
  background: #c00;
  padding: 2px 8px;
  color: #fff;
  font-size: 12px;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
}
main.form article section dl dd {
  width: 65%;
  padding: 12px 0;
  border-bottom: 1px #ccc dotted;
}
main.form article section dl dd > input {
  width: 100%;
  padding: 10px;
  border: #ccc 1px solid;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
}
main.form article section dl dd > select {
  width: 8em;
  padding: 10px;
  border: #ccc 1px solid;
  font-size: 16px;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
}
main.form article section dl dd > textarea {
  width: 100%;
  padding: 10px;
  border: #ccc 1px solid;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
}
main.form article section dl dd ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: -ms-flex;
  display: -webkit-flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
}
main.form article section dl dd ul li {
  margin-bottom: 10px;
  width: 50%;
}
main.form article section dl dd input[type=checkbox] {
  display: none;
}
main.form article section dl dd .check_css {
  -webkit-transition: background-color 0.2s linear;
  transition: background-color 0.2s linear;
  position: relative;
  display: inline-block;
  padding: 0 0 0 30px;
  vertical-align: middle;
  cursor: pointer;
}
main.form article section dl dd .check_css:hover:after {
  border-color: #00479d;
}
main.form article section dl dd .check_css:after {
  -webkit-transition: border-color 0.2s linear;
  transition: border-color 0.2s linear;
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  margin-top: -10px;
  width: 16px;
  height: 16px;
  border: 2px solid #ccc;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  content: "";
}
main.form article section dl dd .check_css:before {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  position: absolute;
  top: 50%;
  left: 6px;
  display: block;
  margin-top: -7px;
  width: 5px;
  height: 9px;
  border-right: 3px solid #00479d;
  border-bottom: 3px solid #00479d;
  content: "";
  opacity: 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
main.form article section dl dd input[type=checkbox]:checked + .check_css:before {
  opacity: 1;
}
@media screen and (max-width: 768px) {
  main.form article section p input {
    width: 100%;
  }
  main.form article section dl dt {
    position: static;
    width: 100%;
    border: none;
    padding: 12px 0 0;
  }
  main.form article section dl dt span {
    position: static;
    font-weight: normal;
    margin-left: 1em;
    padding: 4px 8px;
  }
  main.form article section dl dd {
    width: 100%;
    padding: 6px 0 12px;
  }
}