@charset "UTF-8";
/*
Theme Name: 日本語教育学会
Description: 日本語教育学会の2016/05リニューアル時のものです。
Author: 日本語教育学会
Version:-
*/
/*! sanitize.css v3.0.0 | CC0 1.0 Public Domain | github.com/10up/sanitize.css */
/*
 * Normalization
 */
audio:not([controls]) {
  display: none;
}

button {
  overflow: visible;
  -webkit-appearance: button;
}

details {
  display: block;
}

html {
  -ms-overflow-style: -ms-autohiding-scrollbar;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
}

input {
  -webkit-border-radius: 0;
}
input[type="button"], input[type="reset"], input[type="submit"] {
  -webkit-appearance: button;
}
input[type="number"] {
  width: auto;
}
input[type="search"] {
  -webkit-appearance: textfield;
}
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

main {
  display: block;
}

pre {
  overflow: auto;
}

progress {
  display: inline-block;
}

small {
  font-size: 75%;
}

summary {
  display: block;
}

svg:not(:root) {
  overflow: hidden;
}

template {
  display: none;
}

textarea {
  overflow: auto;
}

[hidden] {
  display: none;
}

/*
 * Universal inheritance
 */
*,
::before,
::after {
  -webkit-box-sizing: inherit;
  -moz-box-sizing: inherit;
  box-sizing: inherit;
}

* {
  font-size: inherit;
  line-height: inherit;
}

::before,
::after {
  text-decoration: inherit;
  vertical-align: inherit;
}

/*
 * Opinionated defaults
 */
*,
::before,
::after {
  border-style: solid;
  border-width: 0;
}

* {
  background-repeat: no-repeat;
  margin: 0;
  padding: 0;
}

:root {
  background-color: white;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  color: black;
  cursor: default;
  font: 100%/1.5 sans-serif;
  text-rendering: optimizeLegibility;
}

a {
  text-decoration: none;
}

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

button,
input,
select,
textarea {
  background-color: transparent;
}

button,
input,
select,
textarea {
  color: inherit;
  font-family: inherit;
  font-style: inherit;
  font-weight: inherit;
}

button,
[type="button"],
[type="date"],
[type="datetime"],
[type="datetime-local"],
[type="email"],
[type="month"],
[type="number"],
[type="password"],
[type="reset"],
[type="search"],
[type="submit"],
[type="tel"],
[type="text"],
[type="time"],
[type="url"],
[type="week"],
select,
textarea {
  min-height: 1.5em;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
}
select::-ms-expand {
  display: none;
}
select::-ms-value {
  color: currentColor;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

textarea {
  resize: vertical;
}

::-moz-selection {
  background-color: #b3d4fc;
  color: white;
  text-shadow: none;
}

::selection {
  background-color: #b3d4fc;
  color: white;
  text-shadow: none;
}

[aria-busy="true"] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled] {
  cursor: default;
}

[hidden][aria-hidden="false"] {
  clip: rect(0 0 0 0);
  display: inherit;
  position: absolute;
}
[hidden][aria-hidden="false"]:focus {
  clip: auto;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir="rtl"] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* Slider */
/* Icons */
@font-face {
  font-family: "slick";
  src: url('/fonts/slick.eot?1453278822');
  src: url('/fonts/slick.eot?&1453278822#iefix') format("embedded-opentype"), url('/fonts/slick.woff?1453278822') format("woff"), url('/fonts/slick.ttf?1453278822') format("truetype"), url('/fonts/slick.svg?1453278822#slick') format("svg");
  font-weight: normal;
  font-style: normal;
}
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  margin-top: -10px\9;
  /*lte IE 8*/
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
  z-index: 2;
}
.slick-prev:hover, .slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  outline: none;
  background: transparent;
  color: transparent;
}
.slick-prev:hover:before, .slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}

.slick-prev:before, .slick-next:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  color: white;
  opacity: 0.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: -25px;
}
[dir="rtl"] .slick-prev {
  left: auto;
  right: -25px;
}
.slick-prev:before {
  content: "←";
}
[dir="rtl"] .slick-prev:before {
  content: "→";
}

.slick-next {
  right: -25px;
}
[dir="rtl"] .slick-next {
  left: -25px;
  right: auto;
}
.slick-next:before {
  content: "→";
}
[dir="rtl"] .slick-next:before {
  content: "←";
}

/* Dots */
.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: 70px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  width: 100%;
}
.slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}
.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}
.slick-dots li button:hover, .slick-dots li button:focus {
  outline: none;
}
.slick-dots li button:hover:before, .slick-dots li button:focus:before {
  opacity: 1;
}
.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "•";
  width: 20px;
  height: 20px;
  font-family: "slick";
  font-size: 6px;
  font-size: 21px;
  line-height: 20px;
  text-align: center;
  color: black;
  color: #FFF;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before {
  color: black;
  color: #5185C5;
}

.slicknav_btn {
  position: relative;
  display: block;
  vertical-align: middle;
  float: right;
  padding: 0.438em 0.625em 0.438em 0.625em;
  line-height: 1.125em;
  cursor: pointer;
}
.slicknav_btn .slicknav_icon-bar + .slicknav_icon-bar {
  margin-top: 0.188em;
}

.slicknav_menu {
  *zoom: 1;
}
.slicknav_menu .slicknav_menutxt {
  display: block;
  line-height: 1.188em;
  float: left;
}
.slicknav_menu .slicknav_icon {
  float: left;
  width: 1.125em;
  height: 0.875em;
  margin: 0.188em 0 0 0.438em;
}
.slicknav_menu .slicknav_icon:before {
  background: transparent;
  width: 1.125em;
  height: 0.875em;
  display: block;
  content: "";
  position: absolute;
}
.slicknav_menu .slicknav_no-text {
  margin: 0;
}
.slicknav_menu .slicknav_icon-bar {
  display: block;
  width: 1.125em;
  height: 0.125em;
  border-radius: 1px;
  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
}
.slicknav_menu:before {
  content: " ";
  display: table;
}
.slicknav_menu:after {
  content: " ";
  display: table;
  clear: both;
}

.slicknav_nav {
  clear: both;
}
.slicknav_nav ul {
  display: block;
}
.slicknav_nav li {
  display: block;
}
.slicknav_nav .slicknav_arrow {
  font-size: 0.8em;
  margin: 0 0 0 0.4em;
}
.slicknav_nav .slicknav_item {
  cursor: pointer;
}
.slicknav_nav .slicknav_item a {
  display: inline;
}
.slicknav_nav .slicknav_row {
  display: block;
}
.slicknav_nav a {
  display: block;
}
.slicknav_nav .slicknav_parent-link a {
  display: inline;
}

.slicknav_brand {
  float: left;
}

.slicknav_menu {
  font-size: 16px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  background: #4c4c4c;
  padding: 5px;
}
.slicknav_menu * {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.slicknav_menu .slicknav_menutxt {
  color: white;
  font-weight: bold;
  text-shadow: 0 1px 3px black;
}
.slicknav_menu .slicknav_icon-bar {
  background-color: white;
}

.slicknav_btn {
  margin: 5px 5px 6px;
  text-decoration: none;
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
  border-radius: 4px;
  background-color: #222222;
}

.slicknav_nav {
  color: white;
  margin: 0;
  padding: 0;
  font-size: 0.875em;
  list-style: none;
  overflow: hidden;
}
.slicknav_nav ul {
  list-style: none;
  overflow: hidden;
  padding: 0;
  margin: 0 0 0 20px;
}
.slicknav_nav .slicknav_row {
  padding: 5px 10px;
  margin: 2px 5px;
}
.slicknav_nav .slicknav_row:hover {
  border-radius: 6px;
  color: white;
}
.slicknav_nav a {
  padding: 5px 10px;
  margin: 2px 5px;
  text-decoration: none;
  color: white;
}
.slicknav_nav a:hover {
  border-radius: 6px;
  color: #222222;
}
.slicknav_nav .slicknav_txtnode {
  margin-left: 15px;
}
.slicknav_nav .slicknav_item a {
  padding: 0;
  margin: 0;
}
.slicknav_nav .slicknav_parent-link a {
  padding: 0;
  margin: 0;
}

.slicknav_brand {
  color: white;
  font-size: 18px;
  line-height: 30px;
  padding: 7px 12px;
  height: 44px;
}

html {
  font-size: 62.5%;
}

body {
  margin: 0;
  padding: 0;
  font-family: Meiryo, "メイリオ", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 13px;
  font-size: 0.8125rem;
  color: #333333;
}

a, a:hover {
  color: #11437c;
  text-decoration: none;
}
a:hover, a:active, a:focus, a:hover:hover, a:hover:active, a:hover:focus {
  text-decoration: underline;
}

@media screen and (max-width: 980px) {
  .pc-only {
    display: none;
  }
}

@media screen and (min-width: 981px) {
  .sp-only {
    display: none;
  }
}

.center {
  text-align: center;
}

.right {
  float: right;
}

.left {
  float: left;
}

.red {
  color: #da0917;
}

.note {
  padding-left: 1em;
  text-indent: -1em;
}

img {
  max-width: 100%;
  height: auto;
}

img.right {
  margin: 0 0 1em 1em;
}

img.left {
  margin: 0 1em 1em 0;
}

@media screen and (max-width: 980px) {
  img.pc-half {
    float: none;
    display: block;
  }
}

.clear {
  clear: both;
  overflow: hidden;
  *zoom: 1;
}

.wrap {
  margin: 0 auto 50px;
  width: 745px;
  overflow: hidden;
}
@media screen and (max-width: 980px) {
  .wrap {
    width: 100%;
    margin-bottom: 10px;
  }
}

.m-0 {
  margin: 0;
}

.m-t-10 {
  margin-top: 10px;
}

.m-b-20 {
  margin-bottom: 20px;
}

.m-b-30 {
  margin-bottom: 30px;
}

.m-b-50 {
  margin-bottom: 50px;
}

.m-b-60 {
  margin-bottom: 60px;
}

.m-l-20 {
  margin-left: 20px;
}

.p-r-20 {
  padding-right: 20px;
}

.w-50 {
  width: 50%;
}
@media screen and (max-width: 980px) {
  .w-50 {
    width: 100%;
  }
}

.table {
  display: table;
}

.cell {
  display: table-cell;
}

.g-header header {
  width: 100%;
  padding-top: 20px;
  height: 115px;
  border-top: 4px solid #e8a002;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.g-header header .inner {
  margin: 0 auto;
  width: 1000px;
}
@media screen and (max-width: 980px) {
  .g-header header .inner {
    width: 100%;
    position: relative;
  }
}
.g-header header .inner .logo {
  width: 435px;
}
@media screen and (max-width: 980px) {
  .g-header header .inner .logo {
    width: 144px;
    margin-left: 20px;
    position: inherit;
  }
}
.g-header header .inner .right {
  width: 565px;
}
.g-header header .inner .right ul {
  list-style: none;
}
.g-header header .inner .right ul.sub-nav {
  width: 100%;
  float: left;
  margin-bottom: 13px;
}
@media screen and (max-width: 980px) {
  .g-header header .inner .right ul.sub-nav {
    display: none;
  }
}
.g-header header .inner .right ul.sub-nav li {
  float: left;
  display: block;
  margin-right: 12px;
  line-height: 25px;
  font-size: 12px;
  font-size: 0.75rem;
}
.g-header header .inner .right ul.sub-nav li:before {
  content: "";
  margin-right: 2px;
  background: url(images/arrow-blue.png) no-repeat;
  display: inline-block;
  width: 5px;
  height: 9px;
}
.g-header header .inner .right ul.sub-nav li:last-child:before, .g-header header .inner .right ul.sub-nav li:last-child ul li:before {
  display: none;
}
.g-header header ul#fontSize {
  cursor: pointer;
}
.g-header header ul#fontSize li {
  width: 38px;
  height: 25px;
  border: 1px solid #ccc;
  color: #666;
  font-weight: bold;
  line-height: 25px;
  text-align: center;
  border-radius: 5px;
}
.g-header header ul#fontSize li:nth-child(2) {
  width: 32px;
}
.g-header header ul#fontSize li.current {
  color: #fff;
  background: #12316F;
}
.g-header header .search {
  width: 216px;
  height: 31px;
  position: relative;
  margin-right: 15px;
}
.g-header header .search form .search-text {
  position: absolute;
  top: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  padding: 0 10px;
  width: 100%;
  height: 31px;
  outline: 0;
  line-height: 31px;
  border: 1px solid #ccc;
  border-radius: 31px;
}
.g-header header .search form .search-btn {
  position: absolute;
  right: 15px;
  top: 5px;
  width: 30px;
  height: 30px;
  outline: 0;
  cursor: pointer;
  text-indent: -9999px;
}
.g-header header .search form input[type=submit] {
  content: "";
  width: 18px;
  height: 17px;
  background: url("images/search-icon.png") no-repeat;
}
.g-header header .search form input[type=submit]:hover {
  cursor: pointer;
}
.g-header header .search form input:focus::-webkit-input-placeholder {
  color: transparent;
}
.g-header header .search form input:focus::-moz-placeholder {
  color: transparent;
}
.g-header header .head-sns {
  line-height: 31px;
}
.g-header header .head-sns img {
  margin-left: 15px;
}
.g-header header .head-sns img:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
}
.g-header header .head-nyuukai {
  padding-left: 10px;
}
.g-header header .head-nyuukai img {
  margin-left: 5px;
}
.g-header header .head-nyuukai img:hover {
  -webkit-filter: contrast(110%);
  filter: contrast(110%);
}

.g-header {
  height: 191px;
  background: #FFF;
}
.g-header .fixbar {
  background-color: #fff;
  width: 100%;
}
.g-header .fixedHeader {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2000;
}

.g-header.fixed .fixbar {
  position: fixed;
  top: 0px;
}

nav.g-nav {
  width: 100%;
  height: 76px;
  background: url(images/g-nav-bg.png) left top repeat-x;
}
nav.g-nav ul.menu {
  width: 1000px;
  margin: 0 auto;
  list-style: none;
  background: url("images/g-nav-border.png") left 30px no-repeat;
}
nav.g-nav ul.menu li {
  float: left;
  width: 200px;
  height: 76px;
  position: relative;
  background: url("images/g-nav-border.png") right 30px no-repeat;
  z-index: 9;
}
nav.g-nav ul.menu li a.btn {
  display: block;
  width: 100%;
  height: 100%;
  color: #FFF;
  text-align: center;
  font-size: 15px;
  font-size: 0.9375rem;
}
nav.g-nav ul.menu li a.btn:hover {
  cursor: default;
  text-decoration: none;
}
nav.g-nav ul.menu li a.btn img {
  margin: 10px auto;
  display: block;
}
nav.g-nav ul.menu li ul.sub-menu {
  display: none;
  width: 200px;
  position: absolute;
  padding: 20px;
  top: 76px;
  left: 0;
  list-style: none;
  background: rgba(0, 0, 0, 0.8);
  -webkit-box-shadow: 0 5px 7px rgba(0, 0, 0, 0.5) inset;
  box-shadow: 0 5px 7px rgba(0, 0, 0, 0.5) inset;
}
nav.g-nav ul.menu li ul.sub-menu li {
  margin-bottom: 10px;
  height: auto;
}
nav.g-nav ul.menu li ul.sub-menu li:last-child {
  margin-bottom: 0;
}
nav.g-nav ul.menu li ul.sub-menu li a {
  color: #FFF;
  display: block;
  width: 160px;
}

.slicknav_menu {
  display: none;
}

@media screen and (max-width: 980px) {
  .g-header {
    height: 60px;
  }
  .g-header header {
    padding-top: 10px;
    height: 60px;
    background: #FFF;
    border-bottom: 1px solid #ccc;
  }
  .g-header header .head-nyuukai {
    clear: both;
    margin: auto;
    padding: 10px 0;
    border-top: 2px solid #da0917;
  }
  .g-header header .head-nyuukai a {
    display: inline-block;
    width: 46%;
    text-align: center;
  }
  .g-header header .head-nyuukai a img {
    width: 140px;
  }
  .g-header .fixbar {
    height: 60px;
  }

  .js #menu {
    display: none;
  }

  .js .slicknav_menu {
    display: block;
  }

  .slicknav_menu {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    padding: 0;
    background: none;
  }
  .slicknav_menu a.slicknav_btn {
    background: #da0917;
  }
  .slicknav_menu a.slicknav_btn.slicknav_btn {
    width: 33px;
    height: 28px;
    padding: 0;
    margin-right: 20px;
    margin-top: 0;
  }
  .slicknav_menu a.slicknav_btn .slicknav_icon {
    display: block;
    margin-top: 6px;
    margin-left: 6px;
    width: 21px;
    height: 17px;
    -webkit-background-size: 21px 17px;
    background-size: 21px 17px;
  }
  .slicknav_menu a.slicknav_btn span.slicknav_icon-bar {
    display: none;
  }
  .slicknav_menu a.slicknav_btn.slicknav_collapsed .slicknav_icon {
    background-image: url("images/slicknav_collapsed.png");
  }
  .slicknav_menu a.slicknav_btn.slicknav_open {
    background: #FFF;
    margin: 0;
    width: 100%;
    height: 40px;
    border-radius: 0;
    z-index: 9;
  }
  .slicknav_menu a.slicknav_btn.slicknav_open .slicknav_icon {
    position: absolute;
    right: 10px;
    background-image: url("images/slicknav_open.png");
    margin: 0;
    width: 21px;
    height: 20px;
    -webkit-background-size: 21px 20px;
    background-size: 21px 20px;
  }
  .slicknav_menu.fixed {
    position: fixed;
    top: 14px;
    z-index: 9;
    width: 60px;
    right: 0;
    left: auto;
  }

  .slicknav_nav {
    width: 100%;
    height: 500px;
    height: 100vh;
    padding-bottom: 40px;
    padding-top: 40px;
    background: #FFF;
    position: inherit;
    top: 0;
    left: 0;
    -ms-overflow-y: scroll;
    overflow-y: scroll;
    -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1);
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1);
  }
  .slicknav_nav ul {
    margin: 0;
    padding: 0;
    background: #da0917;
    list-style: none;
  }
  .slicknav_nav ul li {
    position: relative;
    border-bottom: 1px solid #AC020D;
  }
  .slicknav_nav ul li a {
    height: 45px;
    line-height: 40px;
  }
  .slicknav_nav ul li a img {
    margin-right: 10px;
    margin-top: -5px;
  }
  .slicknav_nav ul li .slicknav_arrow {
    font-size: 32px;
    font-size: 2rem;
    line-height: 0;
    position: absolute;
    top: 10px;
    right: 10px;
  }
  .slicknav_nav ul li ul.sub-menu {
    border-top: 1px solid #730109;
    background: #ac020d;
  }
  .slicknav_nav ul li ul.sub-menu li {
    border-bottom: 1px solid #730109;
  }
  .slicknav_nav ul li ul.sub-menu li a {
    padding-left: 50px;
  }
  .slicknav_nav .g-nav-second ul {
    background: #FFF;
  }
  .slicknav_nav .g-nav-second ul li {
    border-bottom: 1px solid #ccc;
  }
  .slicknav_nav .g-nav-second ul li a {
    color: #333333;
    position: relative;
    margin: 0;
    padding-left: 20px;
    height: 45px;
    line-height: 40px;
  }
  .slicknav_nav .g-nav-second ul li a:after {
    content: "\f107";
    font-family: 'fontawesome';
    position: absolute;
    top: 25px;
    right: 10px;
    color: #999;
    line-height: 0;
    font-size: 32px;
    font-size: 2rem;
  }
  .slicknav_nav .g-nav-second ul li.upper a {
    padding-left: 10px;
  }

  .slicknav_menu.fixed a.slicknav_btn.slicknav_open {
    z-index: 999;
    width: auto;
    opacity: 0.4;
    filter: alpha(opacity=40);
  }

  .search-sp .btn-search-sp {
    position: absolute;
    right: 60px;
    top: 0;
  }
  .search-sp .btn-search-sp img {
    width: 33px;
  }
  .search-sp .search-box-sp {
    display: none;
    width: 100%;
    height: 40px;
    position: absolute;
    top: 35px;
    background: #fff;
    border-bottom: 1px solid #ccc;
  }
  .search-sp .search-box-sp form {
    margin: 0 auto 10px;
    width: -webkit-calc(100% - 40px );
    width: calc(100% - 40px );
    height: 31px;
    position: relative;
    border: 1px solid #ccc;
    border-radius: 31px;
  }
  .search-sp .search-box-sp form .search-text {
    position: absolute;
    top: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 0 10px;
    width: 100%;
    height: 31px;
    outline: 0;
    line-height: 31px;
  }
  .search-sp .search-box-sp form .search-btn {
    position: absolute;
    right: 15px;
    top: 5px;
    width: 30px;
    height: 30px;
    outline: 0;
    cursor: pointer;
    text-indent: -9999px;
  }
  .search-sp .search-box-sp form input[type=submit] {
    content: "";
    width: 18px;
    height: 17px;
    background: url("images/search-icon.png") no-repeat;
  }
  .search-sp .search-box-sp form input:focus::-webkit-input-placeholder {
    color: transparent;
  }
  .search-sp .search-box-sp form input:focus::-moz-placeholder {
    color: transparent;
  }
}
.container {
  padding-bottom: 100px;
  font-size: 13px;
  font-size: 0.8125rem;
  overflow: hidden;
  background: #f7f7f7 url("images/container-bg-pc.jpg") center top repeat-y;
}
@media screen and (max-width: 980px) {
  .container {
    padding-bottom: 0;
    background: #f7f7f7 url("images/container-bg-sp.jpg") center top repeat-y;
  }
}
.container > .inner {
  width: 1000px;
  margin: 30px auto 0;
}
@media screen and (max-width: 980px) {
  .container > .inner {
    width: 100%;
    margin-top: 0;
  }
}

.module-1 {
  width: 100%;
  clear: both;
}
.module-1 .grid {
  width: 100%;
  padding: 1% 2%;
}

.module-2 {
  width: 100%;
}
.module-2 .grid {
  width: 50%;
  float: left;
  padding: 1% 2%;
}

aside.common-left {
  width: 254px;
  float: left;
}
aside.common-left ul.nav {
  list-style: none;
  width: 204px;
  margin-bottom: 20px;
  border-top: 1px solid #ccc;
}
aside.common-left ul.nav li a {
  width: 100%;
  display: block;
  height: 45px;
  color: #333333;
  padding-left: 24px;
  border-bottom: 1px solid #ccc;
  border-left: 6px solid #666;
  line-height: 45px;
  font-size: 15px;
  font-size: 0.9375rem;
  position: relative;
  text-decoration: none;
}
aside.common-left ul.nav li a:hover {
  text-decoration: none;
  opacity: 0.8;
  filter: alpha(opacity=80);
}
aside.common-left ul.nav li a:after {
  content: "\f107";
  font-family: 'fontAwesome';
  position: absolute;
  right: 3px;
  color: #999;
  font-size: 24px;
  font-size: 1.5rem;
}
aside.common-left ul.nav li ul.sub-menu {
  display: none;
  list-style: none;
}
aside.common-left ul.nav li ul.sub-menu li a {
  border-left: 6px solid #da0917;
  padding-left: 20px;
  font-size: 13px;
  font-size: 0.8125rem;
}
aside.common-left ul.nav li ul.sub-menu li a:after {
  content: none;
}
aside.common-left ul.nav li.upper a {
  padding-left: 10px;
}
aside.common-left ul.banner {
  list-style: none;
}
aside.common-left ul.banner li a:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
}

.main-col {
  width: 746px;
  float: right;
}
@media screen and (max-width: 980px) {
  .main-col {
    width: 100%;
    float: none;
  }
}
@media screen and (max-width: 980px) {
  .main-col .inner {
    padding: 0 20px;
  }
}

.index-hero img {
  width: 100%;
  position: relative;
}
.index-hero ul.slick-dots {
  bottom: -40px;
}
.index-hero .slick-dots li button:before {
  color: #aaa;
  font-family: '游ゴシック体', 'YuGothic', '游ゴシック', 'Yu Gothic';
  font-size: 60px;
  font-size: 3.75rem;
}
.index-hero .slick-dots li.slick-active button:before {
  color: #da0917;
}
.index-hero .carousel-caption {
  position: absolute;
  bottom: 0;
  padding: 0 10px;
  width: -webkit-calc(100% - 20px);
  width: calc(100% - 20px);
  height: 50px;
  line-height: 50px;
  color: #FFF;
  font-size: 24px;
  font-size: 1.5rem;
  background: rgba(218, 9, 23, 0.8);
}
@media screen and (max-width: 980px) {
  .index-hero .carousel-caption {
    padding: 0 5px;
    height: 24px;
    line-height: 24px;
    font-size: 11px;
    font-size: 0.6875rem;
  }
}

h1#title, article h1#title, article .post h1 {
  position: relative;
  padding-left: 14px;
  height: 100%;
  min-height: 40px;
  margin-bottom: 30px;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 40px;
  border-bottom: 1px solid #ccc;
}
h1#title:before, article .post h1:before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 5px;
  left: 0;
  width: 4px;
  height: 29px;
  background: #da0917;
  border-radius: 2px;
}
h1#title a, article .post h1 a {
  position: absolute;
  display: block;
  top: 7px;
  right: 0;
  font-size: 13px;
  font-size: 0.8125rem;
  font-weight: normal;
  line-height: 24px;
  color: #FFF;
  text-align: center;
  width: 113px;
  height: 24px;
  border-radius: 12px;
  background: #666;
}
h1#title a:before, article .post h1 a:before {
  content: "";
  margin-right: 2px;
  background: url(images/arrow-white.png) no-repeat;
  display: inline-block;
  width: 5px;
  height: 9px;
}
h1#title a:hover, article .post h1 a:hover {
  background: #da0917;
  text-decoration: none;
}

.news-list ul {
  list-style: none;
}
.news-list ul li {
  position: relative;
  margin-bottom: 20px;
  padding-left: 135px;
  -ms-word-break: break-all;
  word-break: break-all;
}
.news-list ul li:last-child {
  margin-bottom: 0;
}
.news-list ul li .date {
  position: absolute;
  left: 0;
}
.news-list ul li .cat {
  display: inline-block;
  margin-right: 5px;
  padding: 0 10px;
  color: #666;
  font-weight: bold;
  border: 1px solid #da0917;
  border-radius: 5px;
}
.news-list ul li a {
  color: #11437c;
}
.news-list ul li .pdf {
  position: relative;
}
.news-list ul li .pdf:before {
  display: inline-block;
  content: "\f1c1";
  font-family: 'fontAwesome';
  font-size: 15px;
  font-size: 0.9375rem;
}
@media screen and (max-width: 980px) {
  .news-list ul li {
    padding-left: 0;
  }
  .news-list ul li .data {
    display: block;
  }
  .news-list ul li .date {
    display: inline-block;
    position: inherit;
    margin-right: 5px;
  }
  .news-list ul li .cat {
    display: inline-block;
  }
}

article .news-list ul li {
  text-indent: 0;
}

article .cat {
  display: inline-block;
  margin-right: 5px;
  padding: 0 10px;
  color: #666;
  font-weight: bold;
  border: 1px solid #da0917;
  border-radius: 5px;
}

article .archive_y {
  overflow: hidden;
}
article .archive_y ul {
  list-style: none;
}
article .archive_y ul li {
  float: left;
  display: block;
  width: 160px;
}
@media screen and (max-width: 980px) {
  article .archive_y ul li {
    width: 50%;
  }
}
article .archive_y ul li:before {
  content: "";
  margin-right: 8px;
  background: url(images/arrow-blue.png) no-repeat;
  display: inline-block;
  width: 5px;
  height: 9px;
}

.recommend {
  width: 746px;
  padding: 0 30px;
}
@media screen and (max-width: 980px) {
  .recommend {
    width: 100%;
  }
}
.recommend div {
  margin-right: 0px;
}
.recommend div:last-child {
  margin-right: 0;
}
.recommend div img {
  width: 164px;
  height: 120px;
  margin-bottom: 10px;
}
.recommend div img:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
}
.recommend div p {
  margin-right: 10px;
  -ms-word-break: break-all;
  word-break: break-all;
}
.recommend button.slick-prev.slick-arrow {
  left: 0;
  top: 60px;
}
.recommend button.slick-next.slick-arrow {
  right: 0;
  top: 60px;
}
.recommend .slick-prev:before,
.recommend .slick-next:before {
  content: "";
  display: block;
  width: 15px;
  height: 26px;
}
.recommend .slick-prev:before {
  background: url("images/prev.png") no-repeat;
}
.recommend .slick-next:before {
  background: url("images/next.png") no-repeat;
}

.recommend-sp {
  overflow: hidden;
  *zoom: 1;
}
.recommend-sp ul {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0;
}
.recommend-sp ul li {
  display: inline-block;
  width: 50%;
  font-size: 13px;
  vertical-align: top;
}
.recommend-sp ul li:nth-child(odd) {
  padding-right: 10px;
}
.recommend-sp ul li:nth-child(even) {
  padding-left: 10px;
}
.recommend-sp .grid {
  display: block;
}
.recommend-sp .grid p {
  -ms-word-break: break-all;
  word-break: break-all;
}

.more p {
  clear: both;
  float: left;
  margin: 10px 0;
  width: 100%;
  height: 35px;
  line-height: 35px;
  text-align: center;
  border: 1px solid #ccc;
}

.index-banner {
  width: 746px;
}
.index-banner a {
  display: inline-block;
  margin-right: 8px;
  margin-bottom: 13px;
}
@media screen and (max-width: 980px) {
  .index-banner a {
    margin-right: 0;
  }
}
.index-banner a:nth-child(3n) {
  margin-right: 0;
}
@media screen and (max-width: 980px) {
  .index-banner a:nth-child(3n) {
    margin-right: 0;
  }
}
.index-banner a:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 980px) {
  .index-banner {
    width: 100%;
    text-align: center;
    margin-bottom: 0;
  }
}

.sp-conts-bottom {
  margin-top: 30px;
}
.sp-conts-bottom a {
  color: #333333;
}
.sp-conts-bottom .module-1 {
  border-top: 1px solid #ccc;
  clear: both;
}
.sp-conts-bottom .module-1 .grid {
  position: relative;
  padding: 1% 20px;
  height: 45px;
  line-height: 45px;
  border-bottom: 1px solid #ccc;
}
.sp-conts-bottom .module-1.sns {
  text-align: center;
  border-top: none;
}
.sp-conts-bottom .module-1.sns .grid {
  height: 62px;
  line-height: 60px;
}
.sp-conts-bottom .module-1.sns a {
  margin-right: 20px;
}
.sp-conts-bottom .module-1.sns a:last-child {
  margin-right: 0;
}
.sp-conts-bottom .module-1.banner img {
  width: 75px;
  position: absolute;
  right: 0;
  top: 0;
}
.sp-conts-bottom .module-2 .grid {
  height: 45px;
  line-height: 45px;
  border-bottom: 1px solid #ccc;
  text-align: center;
}
.sp-conts-bottom .module-2 .grid:nth-child(odd) {
  border-right: 1px solid #ccc;
}

.path {
  margin-top: -20px;
  margin-bottom: 20px;
}
@media screen and (max-width: 980px) {
  .path {
    margin: 20px;
  }
}
.path a {
  margin-right: 0.5em;
}

article {
  font-size: 14px;
  font-size: 0.875rem;
}
article h2#title, article .post h2 {
  padding-left: 14px;
  min-height: 40px;
  margin-bottom: 20px;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 40px;
  font-size: 18px;
  font-size: 1.125rem;
  border-left: 4px solid #666;
  background: #FFF;
}
article h3#title, article .post h3 {
  font-size: 16px;
  font-size: 1rem;
  color: #da0917;
  margin-bottom: 20px;
}
article h3#title:before, article .post h3:before {
  content: "■";
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1;
}
article p, article .post p {
  margin-bottom: 1em;
}
article table th, article table td, article .post table th, article .post table td {
  padding: 10px;
  font-weight: normal;
}
@media screen and (max-width: 980px) {
  article table th, article table td, article .post table th, article .post table td {
    display: block;
    padding: 2px;
  }
}
article table.common, article .post table, article .post table.common, article .post table {
  text-align: left;
  border-top: 1px solid #ccc;
  border-left: 1px solid #CCC;
}
article table.common thead th, article .post table thead th, article table.common thead td, article .post table thead td, article .post table.common thead th, article .post table thead th, article .post table.common thead td, article .post table thead td {
  color: #FFF;
  background: #666;
}
article table.common th, article .post table th, article table.common td, article .post table td, article .post table.common th, article .post table th, article .post table.common td, article .post table td {
  background: #fff;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #CCC;
}
article table.common th.bg-ddd, article .post table th.bg-ddd, article table.common td.bg-ddd, article .post table td.bg-ddd, article .post table.common th.bg-ddd, article .post table th.bg-ddd, article .post table.common td.bg-ddd, article .post table td.bg-ddd {
  background: #ddd;
}
@media screen and (max-width: 980px) {
  article table.common th, article .post table th, article table.common td, article .post table td, article .post table.common th, article .post table th, article .post table.common td, article .post table td {
    display: table-cell;
  }
}
article table.common th, article .post table th, article .post table.common th, article .post table th {
  background: #FEF5E2;
}
article ul {
  list-style: none;
  margin-bottom: 1em;
}
article ul li {
  padding-left: 1em;
  text-indent: -1em;
}
article ul.disc {
  list-style-type: disc;
  margin-left: 20px;
}
article ul.disc li {
  padding-left: 0;
  text-indent: 0;
}
article .post ul {
  margin-left: 20px;
  list-style-type: disc;
}
article .post ul li ul {
  list-style: circle;
}
article ol {
  margin-top: 10px;
  margin-left: 20px;
  margin-bottom: 1em;
}
article ol li {
  margin-bottom: 1em;
}
article hr {
  display: block;
  margin: 10px 0;
  height: 1px;
  background: #ccc;
}
article section {
  margin-bottom: 3em;
}
article input {
  border: 1px solid #ccc;
  min-height: 31px;
  background: #FFF;
}
article input[type="submit"] {
  width: 72px;
  height: 31px;
  color: #FFF;
  font-weight: bold;
  border-radius: 5px;
  font-size: 14px;
  font-size: 0.875rem;
  background: #888888;
  background: -webkit-linear-gradient(top, #888888 0%, #666666 100%);
  background: -webkit-gradient(linear, left top, left bottom, from(#888888), to(#666666));
  background: linear-gradient(to bottom, #888888 0%, #666666 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#888888', endColorstr='#666666',GradientType=0 );
}
article i.fa {
  margin: 0 3px;
  display: inherit;
}
article .ico-pdf:after {
  margin-left: 5px;
  font-family: 'fontawesome';
  content: "\f1c1";
}
article .ico-doc:after {
  margin-left: 5px;
  font-family: 'fontawesome';
  content: "\f1c2";
}

.contact-map {
  width: 100%;
  height: 424px;
  border: 1px solid #ccc;
}
@media screen and (max-width: 980px) {
  .contact-map {
    height: 364px;
  }
}
.contact-map small {
  margin-top: 5px;
  float: right;
  font-size: 13px;
  font-size: 0.8125rem;
}

table.jigyou td {
  text-align: left;
}
table.jigyou td .left, table.jigyou td .right {
  width: 50%;
}
@media screen and (max-width: 980px) {
  table.jigyou {
    width: 100%;
  }
  table.jigyou td {
    width: 100%;
    display: block;
  }
  table.jigyou td .left, table.jigyou td .right {
    width: 100%;
    float: none;
  }
  table.jigyou td .right {
    padding-left: 1.5em;
  }
}

.jigyou h2#title {
  color: #333333;
  text-shadow: 0px 1px 1px rgba(51, 51, 51, 0.5);
  background: #FFF200;
  border-left: none;
}

.taikai2 h2#title {
  color: #da1921;
  text-shadow: 0px 1px 1px rgba(51, 51, 51, 0.5);
  border-left: 4px solid #da1921;
  background: none;
}
.taikai2 h3 {
  color: #da1921;
  margin-bottom: .5em;
}

.shibu h2#title {
  color: #e25520;
  text-shadow: 0px 1px 1px rgba(51, 51, 51, 0.5);
  border-left: 4px solid #e25520;
  background: none;
}
.shibu h3 {
  color: #e25520;
  margin-bottom: .5em;
}

.challenge h2#title {
  color: #598627;
  text-shadow: 0px 1px 1px rgba(51, 51, 51, 0.5);
  border-left: 4px solid #598627;
  background: none;
}
.challenge h3 {
  color: #598627;
  margin-bottom: .5em;
}

.gakkaishi h2#title {
  color: #00813a;
  text-shadow: 0px 1px 1px rgba(51, 51, 51, 0.5);
  border-left: 4px solid #00813a;
  background: none;
}
.gakkaishi h3 {
  color: #00813a;
  margin-bottom: .5em;
}

.chosakenkyu h2#title {
  color: #008385;
  text-shadow: 0px 1px 1px rgba(51, 51, 51, 0.5);
  border-left: 4px solid #008385;
  background: none;
}
.chosakenkyu h3 {
  color: #008385;
  margin-bottom: .5em;
}

.hyosyo h2#title {
  color: #0085b8;
  text-shadow: 0px 1px 1px rgba(51, 51, 51, 0.5);
  border-left: 4px solid #0085b8;
  background: none;
}
.hyosyo h3 {
  color: #0085b8;
  margin-bottom: .5em;
}

.syakaikeihatsu h2#title {
  color: #00385d;
  text-shadow: 0px 1px 1px rgba(51, 51, 51, 0.5);
  border-left: 4px solid #00385d;
  background: none;
}
.syakaikeihatsu h3 {
  color: #00385d;
  margin-bottom: .5em;
}

.renkei h2#title {
  color: #542785;
  text-shadow: 0px 1px 1px rgba(51, 51, 51, 0.5);
  border-left: 4px solid #542785;
  background: none;
}
.renkei h3 {
  color: #542785;
  margin-bottom: .5em;
}

.kouhou h2#title {
  color: #FF69B4;
  text-shadow: 0px 1px 1px rgba(51, 51, 51, 0.5);
  border-left: 4px solid #FF69B4;
  background: none;
}
.kouhou h3 {
  color: #FF69B4;
  margin-bottom: .5em;
}

ul.list-search-results {
  list-style: disc;
  margin-left: 20px;
}
ul.list-search-results li {
  padding-left: 0;
}

.kifu-grid {
  float: left;
  width: 33%;
  display: block;
}
@media screen and (max-width: 980px) {
  .kifu-grid {
    float: none;
    width: 100px;
  }
  .kifu-grid table {
    width: 320px;
    margin: 0 auto 20px;
  }
  .kifu-grid table td br {
    display: none;
  }
}

.sitemap h2 {
  clear: both;
}
.sitemap ul {
  clear: both;
  float: left;
  margin-bottom: 20px;
}
.sitemap ul li {
  float: left;
  margin-left: 1em;
  margin-bottom: .5em;
}
.sitemap ul li:before {
  content: "";
  margin-right: 2px;
  background: url(images/arrow-blue.png) no-repeat;
  display: inline-block;
  width: 5px;
  height: 9px;
}

.kenkyusya-link nav {
  margin-bottom: 20px;
}
.kenkyusya-link nav a {
  margin-right: 1em;
}
.kenkyusya-link nav a:before {
  content: "";
  margin-right: 2px;
  background: url(images/arrow-blue.png) no-repeat;
  display: inline-block;
  width: 5px;
  height: 9px;
}
@media screen and (max-width: 980px) {
  .kenkyusya-link nav a {
    display: block;
  }
}
.kenkyusya-link h2 {
  margin-top: 60px;
}
.kenkyusya-link h2 a {
  color: #333333;
}
.kenkyusya-link h2 a:hover {
  color: #333333;
  text-decoration: none;
  cursor: default;
}
.kenkyusya-link #link1, .kenkyusya-link #link2, .kenkyusya-link #link3 {
  margin-top: -150px;
  padding-top: 150px;
}
@media screen and (max-width: 980px) {
  .kenkyusya-link #link1, .kenkyusya-link #link2, .kenkyusya-link #link3 {
    margin-top: -60px;
    padding-top: 60px;
  }
}

footer {
  height: 93px;
  margin: 0;
  padding-top: 20px;
  width: 100%;
  color: #FFF;
  background: url("images/footer-bg.png") repeat-x;
}
@media screen and (max-width: 980px) {
  footer {
    min-height: 110px;
    height: 100%;
    background: url("images/footer-bg-sp.png") repeat;
  }
}
footer .inner {
  width: 1000px;
  margin: 0 auto;
}
@media screen and (max-width: 980px) {
  footer .inner {
    width: 100%;
    padding: 0 20px;
  }
}
footer nav.f-nav ul {
  list-style: none;
}
footer nav.f-nav ul li {
  float: left;
  margin-right: 15px;
  line-height: 0;
}
@media screen and (max-width: 980px) {
  footer nav.f-nav ul li {
    margin-bottom: 10px;
  }
}
footer nav.f-nav ul li a {
  color: #FFF;
  font-size: 12px;
  font-size: 0.75rem;
}
footer nav.f-nav ul li a:before {
  content: "";
  margin-right: 2px;
  background: url(images/arrow-white.png) no-repeat;
  display: inline-block;
  width: 5px;
  height: 9px;
}
footer .copy small {
  clear: both;
  float: left;
  margin-top: 20px;
  font-size: 10px;
  font-size: 0.625rem;
  overflow: hidden;
  *zoom: 1;
}
@media screen and (max-width: 980px) {
  footer .copy small {
    margin-top: 10px;
  }
}

.page-top a {
  right: 10px;
  bottom: 10px;
  width: 50px;
  height: 50px;
  line-height: 50px;
  position: fixed;
}
.page-top a::hover {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  opacity: 0.7;
}

@media all and (-ms-high-contrast: none) {
  .page-top a {
    right: 30px;
    bottom: 30px;
  }
}

/*sassは廃止*/
.syakaikeihatsu #link1, .syakaikeihatsu #link2, .syakaikeihatsu #link3, .syakaikeihatsu #link4 {
  margin-top: -190px;
  padding-top: 190px;
}
@media screen and (max-width: 980px) {
  .syakaikeihatsu #link1, .syakaikeihatsu #link2, .syakaikeihatsu #link3, .syakaikeihatsu #link4 {
    margin-top: -60px;
    padding-top: 60px;
  }
}

.jyutaku h2#title {
  color: #8e3a64;
  text-shadow: 0px 1px 1px rgba(51, 51, 51, 0.5);
  border-left: 4px solid #8e3a64;
  background: none;
}
.jyutaku h3 {
  color: #8e3a64;
  margin-bottom: .5em;
}

.in-page-nav ul{
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  margin: 0;
  padding: 0;
  list-style-type: none;
  position: relative;
  z-index: 1;
}
.in-page-nav li{
  margin: 0;
  margin-top: 20px;
  padding: 0;
  width: calc(50% - 10px);
  border: 1px solid #ccc;
  text-align: center;
  border-radius: 5px;
}
@media screen and (max-width: 980px) {
  .in-page-nav li{
    width: 100%;
  }
}
.in-page-nav li a{
  display: flex;
  -ms-align-items: center;
  align-items: center;
  justify-content: center;
  padding: 1rem 2rem;
  width: 100%;
  height: 80px;
  font-weight: bold;
}
.renkei .link-margin{
  margin-top: -190px;
  padding-top: 190px;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 980px) {
  .renkei .link-margin {
    margin-top: -60px;
    padding-top: 60px;
  }
}
.pagetop i{
  display: inline;
}
.pagetop {
  color: #11437c;
  text-align: right;
}
.pagetop:hover {
  cursor: pointer;
}
table.renkei-table01{
  clear: both;
  width: 100%;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
}
table.renkei-table01 th ,table.renkei-table01 td{
  border-bottom: 1px solid #ccc;
  border-right: 1px solid #ccc;
  background: #fff;
  vertical-align: top;
  text-align: left;
}
@media screen and (max-width: 980px) {
  table.renkei-table01 th ,table.renkei-table01 td{
    display: table-cell;
    font-size: 12px;
  }
}

.world-map{
  width: 746px;
  height: 540px;
  background-image: url(images/world-map.jpg);
  background-repeat: no-repeat;
  background-size: 746px;
  position: relative;
  z-index: 1;
}
.world-map.sp-only{
  width: 100%;
  height: auto;
  background: none;
}
.world-map.pc-only a{
  position: absolute;
  border: 1px solid #ccc;
  text-align: center;
  border-radius: 5px;
  padding: .5rem 1rem;
  display: block;
  background: #fff;
}
.world-map.sp-only a{
  width: 30%;
  display: inline-block;
  margin-top: 10px;
  border: 1px solid #ccc;
  text-align: center;
  border-radius: 5px;
  padding: .5rem;
  background: #fff;
  font-size: 10px;
}
.world-map a.map-europa{
  left: 100px;
  top: 120px;
}
.world-map a.map-asia{
  left: 280px;
  top: 220px;
}
.world-map a.map-us{
  left: 570px;
  top: 230px;
}
.world-map a.map-africa{
  left: 40px;
  top: 270px;
}
.world-map a.map-me{
  left: 160px;
  top: 210px;
}
.world-map a.map-oceania{
  left: 360px;
  top: 320px;
}



@keyframes show{
    from{
        opacity: 0;
    }
    to{
        opacity: 1;
    }
}
.hassin ul.item{
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  list-style-type: none;
  width: 100%;
  margin: 0;
  padding: 0;
  padding-bottom: 10px;
  position: relative;
  z-index: 1;
}
.hassin ul.item::after {
display: block;
content:"";
  width: calc(33.3333% - 10px);
}
.hassin ul.item li{
  margin: 10px 0 0;
  padding: 0;
  width: calc(33.3333% - 10px);
  animation: show .3s linear 0s;
  line-height: 1;
}
.hassin ul.item li:hover{
  opacity: .9;
}

.hassin ul.item li.is-hidden {
  visibility: hidden;
  opacity: 0;
  height: 0;
  margin: 0 10px;
  padding:0;
}

.hassin ul.item li img{
  width: 239px;
  height: 159px;
  object-fit: cover;
  object-position: center;
  font-family: 'object-fit: cover; object-position: center;';
}

.hassin ul.item.movie li img{
  width: 239px;
  height: 134px;
  object-fit: cover;
  object-position: center;
  font-family: 'object-fit: cover; object-position: center;';
}

.hassin ul.item li .photo {
  display: block;
  width: 100%;
  padding-top: 66.66666666666667%;
  position: relative;
    margin-bottom: 5px;
}
.hassin.movie ul.item li .photo {
    display: block;
    width: 100%;
    padding-top: 55.88235294117647%;
    position: relative;
  }

.hassin ul.item li .photo img {
       width: 100%;
       height: 100%;
       position: absolute;
       top: 0;
       left: 0;
       object-fit: cover;
}

.hassin ul.item li .text {
  margin-top: 5px;
  line-height: 1.4;
}
@media screen and (max-width: 980px) {
  .hassin ul.item li .text {
    font-size: 9px;
    
  }
}

.btn-more {
  text-align: center;
  margin-top: 10px;
  padding-bottom: 10px;
  position: relative;
  z-index: 1;
}
.btn-more span {
  display: block;
  margin-left: auto;
  margin-right: auto;
  background-color: #da0917;
  border: none;
  cursor: pointer;
  outline: none;
  color:#fff;
  padding: 0;
  line-height: 40px;
  width: 160px;
  border-radius: 20px;
}
@media screen and (max-width: 980px) {
  .btn-more span {
    line-height: 30px;
    width: 80px;
    border-radius: 5px;
    font-size: 10px;
  }
}
.btn-more span:hover {
  opacity: .9;
}


.hassin.hide li:nth-child(n+4){
  display:none;
}
span.hide{
  display:none;
}
.upper{
  position: relative;
  z-index: 1;
}


