@charset "UTF-8";
/* --

 top.css

 ------------------------------------

 アイコンはアイコンフォント「Font Awesome」を使用。
 https://fontawesome.com/v4.7.0/

 ブレイクポイントは以下の通り。
 ・タブレット：1023px（1024px未満をタブレットと設定）
 ・スマホ：639px（640px未満をタブレットと設定）

-- */
@import url(https://fonts.googleapis.com/css?family=Titillium+Web:700i);
/* --

 * clearfix............float解除
 * font-size...........フォントサイズ指定（px指定はIE8対策）
 * layout-baseSize.....基本のコンテンツサイズ
 * layout-posMiddle....天地中央配置
 * moving-base.........基本のアニメーション
 * FontAwesome.........アイコンフォント使用（FontAwesome）
 * opacity.............透明度設定（IE対応含む）
 * tablet..............ブレイクポイント設定（タブレット）
 * mobile..............ブレイクポイント設定（スマホ）

 ------------------------------------

 * scroll..............スクロールアイコンのスタイル
 * module-title........タイトル共通のスタイル


-- */
/* --

 keyframes - アニメーションキーフレーム集

 ------------------------------------

 * loading.............ローディングアイコンのアニメーション
 * toggle-.............ハンバーガーアイコンに関するアニメーション

-- */
@-webkit-keyframes loading {
  0%, 80%, 100% {
    -webkit-transform: scale(0);
  }
  40% {
    -webkit-transform: scale(1);
  }
}
@keyframes loading {
  0%, 80%, 100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  40% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@-webkit-keyframes toggle-top {
  0% {
    -webkit-transform: translateY(0px) rotate(-45deg);
    transform: translateY(0px) rotate(-45deg);
  }
  50% {
    -webkit-transform: translateY(0px) rotate(0deg);
    transform: translateY(0px) rotate(0deg);
  }
  100% {
    -webkit-transform: translateY(-8px) rotate(0deg);
    transform: translateY(-8px) rotate(0deg);
  }
}
@keyframes toggle-top {
  0% {
    -webkit-transform: translateY(0px) rotate(-45deg);
    transform: translateY(0px) rotate(-45deg);
  }
  50% {
    -webkit-transform: translateY(0px) rotate(0deg);
    transform: translateY(0px) rotate(0deg);
  }
  100% {
    -webkit-transform: translateY(-8px) rotate(0deg);
    transform: translateY(-8px) rotate(0deg);
  }
}
@-webkit-keyframes toggle-bottom {
  0% {
    -webkit-transform: translateY(-4px) rotate(45deg);
    transform: translateY(-4px) rotate(45deg);
  }
  50% {
    -webkit-transform: translateY(0px) rotate(0deg);
    transform: translateY(0px) rotate(0deg);
  }
  100% {
    -webkit-transform: translateY(6px) rotate(0deg);
    transform: translateY(6px) rotate(0deg);
  }
}
@keyframes toggle-bottom {
  0% {
    -webkit-transform: translateY(-4px) rotate(45deg);
    transform: translateY(-4px) rotate(45deg);
  }
  50% {
    -webkit-transform: translateY(0px) rotate(0deg);
    transform: translateY(0px) rotate(0deg);
  }
  100% {
    -webkit-transform: translateY(6px) rotate(0deg);
    transform: translateY(6px) rotate(0deg);
  }
}
@-webkit-keyframes toggle-top-close {
  0% {
    -webkit-transform: translateY(-17px) rotate(0deg);
    transform: translateY(-17px) rotate(0deg);
  }
  50% {
    -webkit-transform: translateY(0px) rotate(0deg);
    transform: translateY(0px) rotate(0deg);
  }
  100% {
    -webkit-transform: translateY(0px) rotate(-45deg);
    transform: translateY(0px) rotate(-45deg);
  }
}
@keyframes toggle-top-close {
  0% {
    -webkit-transform: translateY(-17px) rotate(0deg);
    transform: translateY(-17px) rotate(0deg);
  }
  50% {
    -webkit-transform: translateY(0px) rotate(0deg);
    transform: translateY(0px) rotate(0deg);
  }
  100% {
    -webkit-transform: translateY(0px) rotate(-45deg);
    transform: translateY(0px) rotate(-45deg);
  }
}
@-webkit-keyframes toggle-bottom-close {
  0% {
    -webkit-transform: translateY(15px) rotate(0deg);
    transform: translateY(15px) rotate(0deg);
  }
  50% {
    -webkit-transform: translateY(0px) rotate(0deg);
    transform: translateY(0px) rotate(0deg);
  }
  100% {
    -webkit-transform: translateY(-4px) rotate(45deg);
    transform: translateY(-4px) rotate(45deg);
  }
}
@keyframes toggle-bottom-close {
  0% {
    -webkit-transform: translateY(15px) rotate(0deg);
    transform: translateY(15px) rotate(0deg);
  }
  50% {
    -webkit-transform: translateY(0px) rotate(0deg);
    transform: translateY(0px) rotate(0deg);
  }
  100% {
    -webkit-transform: translateY(-4px) rotate(45deg);
    transform: translateY(-4px) rotate(45deg);
  }
}
/*-----------------------------------

	$normalize

	http://necolas.github.io/normalize.css/
	normalize ver 4.1.1 を元に改変

-----------------------------------*/
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block;
}

audio,
canvas,
progress,
video {
  display: inline-block;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

progress {
  vertical-align: baseline;
}

template,
[hidden] {
  display: none;
}

a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  outline: none;
}

a:active,
a:hover {
  outline-width: 0;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

b,
strong {
  font-weight: inherit;
  font-weight: bolder;
}

dfn {
  font-style: italic;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

mark {
  background-color: #ff0;
  color: #000;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
  height: auto;
  border: 0;
  vertical-align: middle;
}

svg:not(:root) {
  overflow: hidden;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

ul, ol, dl, dt, dd, figure {
  padding: 0;
  margin: 0;
}

hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
  overflow: visible;
}

button,
input,
select,
textarea {
  font: inherit;
  margin: 0;
}

optgroup {
  font-weight: bold;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

textarea {
  overflow: auto;
}

[type=checkbox],
[type=radio] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

/*-----------------------------------

	$base

-----------------------------------*/
html {
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  font-size: 62.5%;
  min-width: 100%;
  min-height: 100%;
}

[id=wrapper] {
  overflow: hidden;
}

body {
  color: #000;
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック", YuGothic, sans-serif;
  font-size: 1.5rem;
  line-height: 1.8;
  letter-spacing: 0.1em;
}

a {
  color: #333;
  text-decoration: none;
}

li {
  list-style: none;
  line-height: 1.4;
}

p {
  margin: 0;
}

table th,
table td {
  text-align: left;
}

address {
  font-style: inherit;
}

.center {
  text-align: center;
}

/*
    clearfix
--------------------------*/
.clearfix:after {
  content: "";
  display: table;
  clear: both;
}

/*-----------------------------------

	$loader

-----------------------------------*/
.loader {
  display: none;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0px;
  left: 0px;
  background: #fff;
  z-index: 9999;
}
.loader__inner {
  display: table;
  width: 100%;
  height: 100%;
  text-align: center;
}
.loader__item {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}
.loader__animation {
  display: inline-block;
  text-align: center;
  margin: 0 0 0 0.4em;
}
.loader__animation > span {
  display: inline-block;
  width: 0.6em;
  height: 0.6em;
  background: #da96a2;
  border-radius: 100%;
  margin: 0 0.2em;
  display: inline-block;
  -webkit-animation: loading 1.4s infinite ease-in-out both;
  animation: loading 1.4s infinite ease-in-out both;
}
.loader__animation > span:first-child {
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
  background: #6cadea;
}
.loader__animation > span:nth-child(2) {
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
  background: #988fb7;
}

/*-----------------------------------

	$header

-----------------------------------*/
.header__description {
  background: #012d6d;
  text-align: right;
}
.header__description p {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 0 0.2em;
}
.header__description a {
  color: #fff;
  font-size: 1.3rem;
}
.header__description a:hover i {
  margin: 0 0 0 0.8em;
}
.header__description i {
  margin: 0 0.2em 0 0.6em;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
}
.header__inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 1.5em 0;
  position: relative;
}
.header__logo {
  font-size: 3rem;
  line-height: 0.9;
  font-weight: bold;
  margin: 0;
  padding-left: 2.5em;
  position: relative;
}
.header__logo a {
  vertical-align: middle;
}
.header__logo .branch {
  display: inline-block;
  margin: 0 0 0 0.1em;
}
.header__logo span:not(.branch) {
  color: #aaa;
  font-size: 1.5rem;
}
.header__logo img {
  width: 1.8em;
  position: absolute;
  left: 0;
}
.header__btn a {
  border-radius: 4px;
  display: inline-block;
  padding: 0.4em 1em;
  background: #012d6d;
  color: #fff;
  font-size: 0.9em;
  position: absolute;
  top: 32%;
  right: 0;
}
.header__btn a::after {
  padding: 0 0 0 1em;
  display: inline-block;
  content: "\f105";
  font-family: Fontawesome;
  content: "\f0d7";
}

.about .header__btn,
.councilor .header__btn,
.facility .header__btn,
.meeting .header__btn,
.seminar .header__btn,
.coi .header__btn,
.requirements .header__btn {
  display: none;
}

/*-----------------------------------

	$header - tablet

-----------------------------------*/
@media screen and (max-width: 1023px) {
  .header__description p {
    padding-right: 4%;
  }
  .header__inner {
    padding: 1.6em 4%;
  }
  .header__btn a {
    font-size: 0.85em;
    right: 2%;
  }
}
/*-----------------------------------

	$header - mobile

-----------------------------------*/
@media screen and (max-width: 639px) {
  .header {
    width: 100%;
    background: #fff;
    position: fixed;
    z-index: 9998;
  }
  .header__description p {
    line-height: 1.4;
    padding-right: 2%;
  }
  .header__description a {
    font-size: 1rem;
  }
  .header__description i {
    margin: 0 0 0 0.6em;
  }
  .header__inner {
    padding: 1em 2%;
  }
  .header__logo {
    font-size: 1.5rem;
  }
  .header__logo span:not(.branch) {
    font-size: 1rem;
  }
  .header__btn a {
    display: none;
  }
}
/*-----------------------------------

	$nav

-----------------------------------*/
.nav {
  border-top: 1px solid #012d6d;
  border-bottom: 1px solid #012d6d;
}
.nav__inner {
  max-width: 1180px;
  margin: 0 auto;
  font-size: 1.2rem;
  text-align: center;
}
.nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}
.nav__list > li {
  width: 11.1111111111%;
  font-size: 1.2em;
  position: relative;
}
.nav__list > li:not(:first-child)::before {
  content: "";
  position: absolute;
  display: block;
  width: 1px;
  height: 80%;
  background: #012d6d;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}
.nav__list > li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 1em 0.25em;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
}
.nav__list > li a:hover {
  background: #012d6d;
  color: #fff !important;
  font-weight: bold;
}
.nav__list > li .point {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 1em 0.25em;
  position: relative;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
}
.nav__list > li .point:hover {
  background: #012d6d;
  color: #fff !important;
  font-weight: bold;
}
.nav__toggle {
  display: none;
  position: absolute;
  top: 2.4em;
  right: 4%;
  width: 30px;
  height: 20px;
  cursor: pointer;
  z-index: 9998;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 10px 0 0;
}
.nav__toggle div {
  position: relative;
}
.nav__toggle span {
  display: block;
  position: relative;
  height: 2px;
  width: 100%;
  background: #999;
  left: 0;
  -webkit-transition: 0.3s opacity;
  transition: 0.3s opacity;
}
.nav__toggle .top {
  -webkit-animation: toggle-top 0.5s;
  animation: toggle-top 0.5s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}
.nav__toggle .middle {
  -webkit-transition: 0.5s opacity;
  transition: 0.5s opacity;
  -webkit-transform: translateY(-1px);
  -ms-transform: translateY(-1px);
  transform: translateY(-1px);
  opacity: 1;
}
.nav__toggle .bottom {
  -webkit-animation: toggle-bottom 0.5s;
  animation: toggle-bottom 0.5s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

/*
   .open
--------------------------*/
.open .nav__toggle {
  position: fixed;
}
.open .nav__toggle span {
  background: #999;
}
.open .nav__toggle .middle {
  opacity: 0;
  -webkit-transition: 0.5s opacity;
  transition: 0.5s opacity;
}
.open .nav__toggle .top {
  -webkit-animation: toggle-top-close 0.5s;
  animation: toggle-top-close 0.5s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}
.open .nav__toggle .bottom {
  -webkit-animation: toggle-bottom-close 0.5s;
  animation: toggle-bottom-close 0.5s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

/*-----------------------------------

	$nav - tablet

-----------------------------------*/
@media screen and (max-width: 1023px) {
  .nav__inner {
    font-size: 1.1rem;
  }
  .nav__list > li {
    font-size: 1em;
  }
  .nav__list > li br {
    display: none;
  }
}
/*-----------------------------------

	$nav - mobile

-----------------------------------*/
@media screen and (max-width: 639px) {
  .nav__inner {
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.9);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9997;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 5em 5% 0;
    margin: 0;
    font-size: inherit;
    text-align: center;
    visibility: hidden;
    opacity: 0;
    filter: alpha(opacity=0);
    transition: all 0.6s ease;
    -webkit-transition: all 0.6s ease;
    -moz-transition: all 0.6s ease;
  }
  .open .nav__inner {
    visibility: visible;
    opacity: 1;
    filter: alpha(opacity=100);
  }
  .nav__list {
    display: block;
    width: 100%;
    border-top: 1px dotted #999;
  }
  .nav__list > li {
    width: 100%;
    text-align: left;
    border-bottom: 1px dotted #999;
  }
  .nav__list > li:not(:first-child)::before {
    display: none;
  }
  .nav__list > li > a {
    display: block;
    padding: 0.8em 1em;
    position: relative;
  }
  .nav__list > li > a:after {
    display: inline-block;
    content: "\f105";
    font-family: Fontawesome;
    position: absolute;
    right: 1em;
  }
  .nav__list > li .point {
    display: block;
    padding: 0.8em 1em;
  }
  .nav__toggle {
    display: block;
  }
}
/*-----------------------------------

	$dropdown

-----------------------------------*/
.dropdown {
  position: relative;
}
.dropdown > span {
  cursor: pointer;
}
.dropdown > span:hover {
  font-weight: bold;
}
.dropdown__menu {
  display: none;
  width: 100%;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 9998;
  border: 1px solid #012d6d;
}
.dropdown__menu:before {
  display: block;
  content: "";
  border: 4px solid transparent;
  position: absolute;
  top: -10px;
  left: 50%;
  margin: 0 0 0 -6px;
}
.dropdown__menu li:last-child span {
  border-bottom: none;
}
.dropdown__menu a {
  color: #012d6d !important;
  background: #fff;
  display: block !important;
  padding: 0 0.8em !important;
  font-size: 0.9em !important;
  text-align: left !important;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
}
.dropdown__menu a::before {
  display: none !important;
}
.dropdown__menu span {
  display: block;
  padding: 1em 0 1em 0.6em;
  border-bottom: 1px dotted rgba(1, 45, 109, 0.6);
}
.dropdown__menu span:after {
  opacity: 0;
  display: inline-block;
  content: "\f105";
  font-family: Fontawesome;
  position: absolute;
  right: 1.2em;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
}
.dropdown__menu span:hover:after {
  opacity: 1;
  right: 0.8em;
}
.dropdown__menu-about:before {
  border-bottom: 6px solid #012d6d;
}
.dropdown__menu-about a {
  background: #fff;
}
.dropdown__menu-about a:hover {
  background: #bfbfbf;
}
.dropdown__menu-councilor:before {
  border-bottom: 6px solid #012d6d;
}
.dropdown__menu-councilor a {
  background: #fff;
}
.dropdown__menu-councilor a:hover {
  background: #bfbfbf;
}

/*-----------------------------------

	$dropdown - tablet

-----------------------------------*/
@media screen and (max-width: 1023px) {
  .dropdown__menu a {
    padding: 0 0.6em;
    font-size: 1.2rem;
  }
  .dropdown__menu span {
    padding: 0.8em 0 0.8em 0.4em;
  }
  .dropdown__menu span:after {
    right: 1.2em;
  }
  .dropdown__menu span:hover:after {
    right: 0.8em;
  }
}
/*-----------------------------------

	$dropdown - mobile

-----------------------------------*/
@media screen and (max-width: 639px) {
  .dropdown {
    position: relative;
  }
  .dropdown > span {
    display: block;
    padding: 0 1em;
    position: relative;
  }
  .dropdown > span:after {
    display: inline-block;
    content: "\f107";
    font-family: Fontawesome;
    position: absolute;
    right: 1em;
  }
  .dropdown__menu {
    position: static;
    margin: 0.8em 0 0;
  }
  .dropdown__menu:before {
    display: none;
  }
  .dropdown__menu span {
    display: block;
    padding: 1em 0 1em 0.6em;
    border-bottom: 1px dotted rgba(255, 255, 255, 0.6);
  }
  .dropdown__menu span:after {
    opacity: 1;
    display: inline-block;
    content: "\f105";
    font-family: Fontawesome;
    position: absolute;
    right: 1.6em;
    transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
  }
  .dropdown__menu span:hover:after {
    opacity: 1;
    right: 1.2em;
  }
}
/*-----------------------------------

	$footer

-----------------------------------*/
.footer__pagetop a {
  display: block;
  height: 100%;
  padding: 0 0 0.2em;
  background: #012d6d;
  color: #fff;
  text-align: center;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
}
.footer__pagetop a:hover {
  background: #0142a0;
}
.footer__inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 4em 0;
}
.footer__inner:after {
  content: "";
  display: table;
  clear: both;
}
.footer__info {
  width: 34%;
  float: left;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-right: 1px dotted #999;
  font-size: 1.3rem;
  line-height: 1.4;
}
.footer__info p {
  margin: 0 0 1em;
}
.footer__info p span {
  display: inline-block;
  background: #012d6d;
  color: #fff;
  padding: 0.2em 0.6em;
  margin: 0 0 0.4em;
  border-radius: 2px;
}
.footer__info a {
  text-decoration: underline;
}
.footer__info a:hover {
  text-decoration: none;
}
.footer__logo {
  font-size: 2rem;
  line-height: 1;
  margin: 0 0 1em;
  font-weight: bold;
}
.footer__logo span {
  font-size: 1.2rem;
}
.footer__menu {
  width: 60%;
  float: right;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.footer__item {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  font-size: 1.4rem;
}
.footer__item p {
  line-height: 1;
  margin: 0 0 1em;
}
.footer__item ul {
  margin-left: 1.6em;
}
.footer__item ul:not(:last-child) {
  margin-bottom: 1.4em;
}
.footer__item li {
  margin: 0.4em 0;
}
.footer__item a {
  text-decoration: underline;
}
.footer__item a:hover {
  text-decoration: none;
}
.footer__item a:hover i {
  margin: 0 0.6em 0 0.2em;
}
.footer__item i {
  margin: 0 0.8em 0 0;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
}
.footer__line {
  width: 100%;
  margin-top: 1em;
}
.footer__line .line-banner {
  max-width: 140px;
}
.footer__line .line-banner img {
  width: 100%;
  height: auto;
}
.footer__line .line-text {
  font-size: 12px;
  margin-top: 5px;
}
.footer__arrow01 {
  color: #6cadea;
}
.footer__arrow02 {
  color: #988fb7;
}
.footer__arrow03 {
  color: #da96a2;
}
.footer__arrow04 {
  color: #ff9b7b;
}
.footer__arrow05 {
  color: #ff8fa5;
}
.footer__arrow06 {
  color: #46c1bb;
}
.footer__copyright {
  font-size: 1.2rem;
  text-align: center;
  background: #eee;
  padding: 0.6em 0;
}

/*-----------------------------------

	$footer - tablet

-----------------------------------*/
@media screen and (max-width: 1023px) {
  .footer__inner {
    padding: 2em 4%;
  }
  .footer__info {
    width: 100%;
    float: none;
    border-right: none;
    padding: 3em 0 0;
  }
  .footer__menu {
    width: 100%;
    float: none;
    padding-bottom: 2em;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    border-bottom: 1px dotted #999;
  }
  .footer__item {
    font-size: 0.9em;
  }
  .footer__responsive {
    display: none;
  }
}
/*-----------------------------------

	$footer - mobile

-----------------------------------*/
@media screen and (max-width: 639px) {
  .footer__inner {
    padding: 2em 2% 3em;
  }
  .footer__menu {
    border-bottom: none;
  }
  .footer__item {
    display: none;
  }
  .footer__line {
    width: 80%;
    margin: auto;
  }
  .footer__info {
    padding: 0;
    width: 80%;
    margin: 0 auto;
  }
  .footer__info p:not(:first-child) {
    margin: 0;
    font-size: 1.1rem;
  }
  .footer__info p:last-child br {
    display: block;
  }
  .footer__logo {
    font-size: 1.6rem;
  }
  .footer__copyright {
    font-size: 1rem;
    padding: 0.6em 0;
  }
}
/*-----------------------------------

	$contents

-----------------------------------*/
.contents {
  max-width: 1180px;
  margin: 0 auto;
  position: relative;
}
.contents:after {
  content: "";
  display: table;
  clear: both;
}
.contents:before {
  display: inline-block;
  content: "";
  width: 200%;
  height: 100%;
  background: url(../images/common_bg.png) repeat;
  position: absolute;
  right: -100%;
  top: 0;
}
.contents__right {
  width: 28%;
  float: right;
}
.contents__left {
  width: 72%;
  float: left;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-right: 1px solid #ccc;
}

/*-----------------------------------

	$contents - tablet

-----------------------------------*/
@media screen and (max-width: 1023px) {
  .contents {
    padding: 0;
  }
  .contents__right {
    width: 100%;
    float: none;
  }
  .contents__left {
    width: 100%;
    float: none;
    border-right: none;
  }
}
/*-----------------------------------

	$contents - mobile

-----------------------------------*/
@media screen and (max-width: 639px) {
  .contents {
    padding-top: 82px;
  }
}
/*-----------------------------------

	$contact

-----------------------------------*/
.contact {
  padding: 3.2em 1.6em;
  position: relative;
}
.contact__name {
  font-size: 1.6rem;
  line-height: 1.3;
  margin: 0 0 1em;
  font-weight: normal;
  position: relative;
}
.contact__name span {
  display: inline-block;
  font-size: 1.6rem;
  font-weight: normal;
  margin: 1em 0 0;
}
.contact__info {
  font-size: 1.4rem;
  line-height: 1.6;
  letter-spacing: normal;
}
.contact__info p:first-child {
  margin: 0 0 1em;
  font-size: 1.1em;
}
.contact__info p:first-child span {
  display: inline-block;
  background: #012d6d;
  color: #fff;
  font-size: 0.8em;
  padding: 0.2em 0.6em;
  margin: 0 0 0.4em;
  border-radius: 2px;
}
.contact__btn a {
  display: block;
  background: #012d6d;
  color: #fff;
  text-align: center;
  margin: 1em 0 0;
  padding: 1em 0;
  border-radius: 4px;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  position: relative;
}
.contact__btn a:after {
  display: inline-block;
  content: "";
  width: 60%;
  height: 100%;
  border-radius: 50%;
  background: transparent;
  position: absolute;
  top: 0;
  left: 20%;
  z-index: -1;
  -webkit-box-shadow: 0 8px 20px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 8px 20px 0 rgba(0, 0, 0, 0.1);
  transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
}
.contact__btn a:hover {
  background: #0142a0;
}
.contact__btn a:hover:after {
  -webkit-box-shadow: 0 8px 20px 0 rgba(0, 0, 0, 0.3);
          box-shadow: 0 8px 20px 0 rgba(0, 0, 0, 0.3);
}
.contact__btn i {
  margin: 0 0 0 1em;
}

/*-----------------------------------

	$contact - tablet

-----------------------------------*/
@media screen and (max-width: 1023px) {
  .contact {
    display: none;
  }
}
/*-----------------------------------

	$contact - mobile

-----------------------------------*/
/*-----------------------------------

	$panel

-----------------------------------*/
.panel {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 3.2em 1.6em 3.2em 0;
  border-bottom: 1px solid #ccc;
  position: relative;
}
.panel:before {
  display: inline-block;
  content: "";
  width: 200%;
  height: 100%;
  background: #fff;
  position: absolute;
  top: 0;
  left: -100%;
}
.panel:after {
  display: inline-block;
  content: "";
  width: 100%;
  height: 1px;
  background: #ccc;
  position: absolute;
  left: -100%;
  bottom: -1px;
}
.panel__inner {
  position: relative;
}
.panel__inner:after {
  content: "";
  display: table;
  clear: both;
}
.panel__item {
  width: 48.5%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #fff;
  border: 1px solid #012d6d;
  float: left;
  text-align: center;
  padding: 2em 0;
  -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
}
.panel__item:first-child {
  margin: 0 3% 0 0;
}
.panel__item:hover {
  -webkit-box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 0.3);
          box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 0.3);
}
.panel__icon {
  display: inline-block;
  width: 20%;
}
.panel__name {
  font-size: 2.2rem;
  margin: 0.6em 0;
  color: #012d6d;
}
.panel__name i {
  color: #ccc;
  font-size: 1.2em;
  margin: 0 0.4em;
}
.panel__btn {
  display: inline-block;
  padding: 0.2em 1.4em 0.3em;
  font-size: 1.3rem;
  color: #fff;
}
.panel__btn i {
  margin: 0 0 0 0.4em;
  font-size: 0.9em;
}
.panel__btn-blue {
  background: -ms-linear-gradient(-135deg, rgb(108, 173, 234) 0%, rgb(48, 121, 209) 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#6CADEA', endColorstr='#3079D1' ,GradientType=0)";
  background: linear-gradient(225deg, rgb(108, 173, 234) 0%, rgb(48, 121, 209) 100%);
  border-radius: 2px;
  -moz-border-radius: 2px;
  -webkit-border-radius: 2px;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#6CADEA",endColorstr="#3079D1" , GradientType=1);
}
.panel__btn-pink {
  margin: 0.7em 0;
  background: -ms-linear-gradient(-135deg, rgb(255, 175, 159) 0%, rgb(255, 123, 124) 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFAF9F', endColorstr='#FF7B7C' ,GradientType=0)";
  background: linear-gradient(225deg, rgb(255, 175, 159) 0%, rgb(255, 123, 124) 100%);
  border-radius: 2px;
  -moz-border-radius: 2px;
  -webkit-border-radius: 2px;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFAF9F",endColorstr="#FF7B7C" , GradientType=1);
}

/*-----------------------------------

	$panel - tablet

-----------------------------------*/
@media screen and (max-width: 1023px) {
  .panel {
    padding: 1.8em 4%;
  }
}
/*-----------------------------------

	$panel - mobile

-----------------------------------*/
@media screen and (max-width: 639px) {
  .panel {
    padding: 2em 2%;
  }
  .panel:before {
    background-size: cover;
  }
  .panel__item {
    width: 100%;
    padding: 1.2em 0 0.8em;
  }
  .panel__item:first-child {
    margin: 0 0 2% 0;
  }
  .panel__icon {
    width: 30%;
  }
  .panel__name {
    font-size: 2rem;
    margin: 0.4em 0 0.2em;
  }
  .panel__name i {
    display: none;
  }
  .panel__btn {
    width: 90%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    font-size: 1em;
    padding: 0.2em 0em 0.3em;
    margin: 0;
  }
}
/*-----------------------------------

	$information

-----------------------------------*/
.information {
  background: #fff;
  padding: 2em 0 0;
  position: relative;
}
.information__title {
  font-family: "Titillium Web", sans-serif;
  font-size: 2.6rem;
  margin: 0 0 1.2em;
  letter-spacing: normal;
}
.information__list li {
  position: relative;
  padding: 0 0 0 8em;
  line-height: 1.6;
  font-size: 1em;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
}
.information__list li a {
  padding: 1em 0;
  display: block;
}
.information__list li.no_link {
  padding: 1em 0 1em 8em;
}
.information__list li:before {
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
}
.information__list li:nth-child(odd) {
  background: #eee;
  position: relative;
}
.information__list li:nth-child(odd):before {
  display: inline-block;
  content: "";
  width: 100%;
  height: 100%;
  background: #eee;
  position: absolute;
  left: -100%;
  top: 0;
}
.information__list li:nth-child(2n) {
  position: relative;
}
.information__list li:nth-child(2n):before {
  display: inline-block;
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: -100%;
  top: 0;
}
.information__list li:hover {
  background: #012d6d;
  color: #fff;
}
.information__list li:hover a {
  color: #fff;
}
.information__list li:hover:before {
  background: #012d6d;
}
.information__list span {
  display: inline-block;
  margin: 0 1em 0 0;
}
.information__date {
  position: absolute;
  top: 1em;
  left: 0;
  width: 8em;
}
/*-----------------------------------

	$information - tablet

-----------------------------------*/
@media screen and (max-width: 1023px) {
  .information {
    padding: 2em 0 0 4%;
  }
  .information__title {
    margin: 0 0 0.8em;
  }
  .information__list li a {
    padding: 1em 4% 1em 0;
  }
  .information__list li.no_link {
    padding: 1em 4% 1em 8em;
  }
}
/*-----------------------------------

	$information - mobile

-----------------------------------*/
@media screen and (max-width: 639px) {
  .information {
    padding: 1.6em 0 0 2%;
  }
  .information__title {
    font-size: 2rem;
  }
  .information__list li {
    padding-left: 0;
  }
  .information__list li a {
    padding: 1em 2% 1em;
  }
  .information__list li.no_link {
    padding: 1em 2%;
  }
  .information__list span {
    display: block;
  }
  .information__date {
    position: relative;
    top: 0;
    left: 0;
  }
}
/*-----------------------------------

	$link

-----------------------------------*/
.link {
  border-top: 1px solid #ccc;
  padding: 5em 0;
}
.link__inner {
  max-width: 1180px;
  margin: 0 auto;
}
.link ul {
  text-align: center;
  letter-spacing: -0.4em;
}
.link li {
  display: inline-block;
  width: 19%;
  margin-bottom: 0.8em;
  letter-spacing: normal;
}
.link li:not(first-child) {
  margin-left: 1%;
}

/*-----------------------------------

	$link - tablet

-----------------------------------*/
@media screen and (max-width: 1023px) {
  .link {
    padding: 2em 4%;
  }
  .link li {
    margin-bottom: 0.6em;
  }
}
/*-----------------------------------

	$link - mobile

-----------------------------------*/
@media screen and (max-width: 639px) {
  .link {
    padding: 2em 2%;
  }
  .link li {
    width: 32%;
    margin-bottom: 0.4em;
  }
  .link li:not(first-child) {
    margin-left: 0;
  }
  .link li:nth-child(3n-1) {
    margin-left: 2%;
    margin-right: 2%;
  }
}
/*# sourceMappingURL=top.css.map */