@charset "UTF-8";
* {
  box-sizing: border-box; }

img {
  max-width: 100%;
  height: auto; }

a {
  color: #31497E; }

a:hover {
  color: #476db9; }

.is-sp {
  display: block; }

.is-pc {
  display: none; }

body {
  font-family: "Sawarabi Mincho", "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  padding-top: 60px; }

header.site-header {
  overflow: hidden;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 101; }
  header.site-header a {
    color: #fff;
    text-decoration: none; }
  header.site-header div.logo {
    float: left; }
  header.site-header .buttons {
    float: right;
    width: 60px;
    overflow: hidden; }
    header.site-header .buttons > div {
      float: left;
      width: 60px;
      height: 60px;
      border-left: solid 1px rgba(0, 0, 0, 0.2); }

.g-nav {
  position: fixed;
  top: 60px;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.9);
  z-index: 101; }
  .g-nav ul li {
    border-bottom: solid 1px rgba(255, 255, 255, 0.1); }
    .g-nav ul li a {
      display: block;
      text-align: center;
      padding: 20px 0;
      font-size: 17px;
      letter-spacing: 0.1em;
      color: #fff;
      text-decoration: none; }
    .g-nav ul li a:hover {
      opacity: 0.8; }

div.main-container {
  position: relative; }
  div.main-container div.main-visual {
    background-position: center;
    background-size: cover;
    position: relative;
    /* slick */ }
    div.main-container div.main-visual div.mv-wraper {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0; }
    div.main-container div.main-visual .slick-list,
    div.main-container div.main-visual .slick-track {
      height: 100%; }
    div.main-container div.main-visual .slick-slide {
      max-height: 100%; }
    div.main-container div.main-visual .slick-slide img {
      min-width: 100%;
      min-height: 100%;
      height: auto;
      width: 100vw;
      margin: 0 auto;
      object-fit: cover; }
    div.main-container div.main-visual .catch-copy {
      text-align: center;
      position: relative;
      z-index: 100;
      padding: 80px 0; }
      div.main-container div.main-visual .catch-copy img {
        width: 60%; }
  div.main-container div.news {
    background: #000;
    position: relative;
    color: #fff;
    font-size: 14px;
    line-height: 1.8;
    width: 100%;
    padding: 10px 10px 0; }
    div.main-container div.news a {
      color: #fff;
      text-decoration: none; }
    div.main-container div.news > * {
      height: 100%; }
    div.main-container div.news div.news-heading {
      text-align: left;
      border-bottom: solid 1px #222;
      padding-bottom: 10px;
      padding-left: 10px; }
      div.main-container div.news div.news-heading h2 {
        font-weight: bold;
        font-size: 120%; }
    div.main-container div.news div.news-latest {
      width: 100%;
      color: #eee;
      padding: 10px; }
      div.main-container div.news div.news-latest > * {
        vertical-align: middle; }
      div.main-container div.news div.news-latest div.latest-date {
        text-align: left;
        font-size: 12px; }
      div.main-container div.news div.news-latest div.latest-title {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap; }
        div.main-container div.news div.news-latest div.latest-title a {
          color: #eee;
          font-size: 13px; }
        div.main-container div.news div.news-latest div.latest-title a:hover {
          opacity: 0.8; }
    div.main-container div.news div.news-past {
      text-align: right;
      padding: 6px;
      position: absolute;
      right: 5px;
      font-size: 12px;
      top: 8px; }
      div.main-container div.news div.news-past a {
        color: #888;
        display: block; }
      div.main-container div.news div.news-past a:hover {
        opacity: 0.8; }
  div.main-container div.block-contents {
    /* ブロックコンテンツのスタイル読み込み */ }
    div.main-container div.block-contents div.block-width-default {
      margin: 0 auto; }
  div.main-container footer {
    background: #eee;
    padding: 50px 0; }
    div.main-container footer div.footer-inner div.logo {
      text-align: center;
      margin-bottom: 40px; }
    div.main-container footer div.footer-inner nav {
      text-align: center;
      display: block;
      border-top: solid 1px rgba(0, 0, 0, 0.1);
      margin: 0 25px 25px; }
      div.main-container footer div.footer-inner nav ul li {
        display: block;
        border-bottom: solid 1px rgba(0, 0, 0, 0.1); }
        div.main-container footer div.footer-inner nav ul li a {
          color: #000;
          text-decoration: none;
          font-weight: bold;
          font-size: 15px;
          display: block;
          padding: 15px 0; }
    div.main-container footer div.footer-inner div.copyright {
      text-align: center;
      font-size: 10px;
      font-weight: bold; }

body.post-type-archive-news .main-container .block-contents .page-title {
  text-align: center;
  padding: 80px 0;
  background: #eee; }
  body.post-type-archive-news .main-container .block-contents .page-title h2 {
    font-size: 36px; }
  body.post-type-archive-news .main-container .block-contents .page-title .en {
    font-size: 12px;
    font-weight: bold;
    margin-bottom: 15px; }
body.post-type-archive-news .main-container .block-contents .page-content {
  max-width: 800px;
  margin: 0px auto; }
  body.post-type-archive-news .main-container .block-contents .page-content .news-list ul {
    border-top: solid 1px #eee;
    margin-bottom: 25px; }
    body.post-type-archive-news .main-container .block-contents .page-content .news-list ul li {
      border-bottom: solid 1px #eee; }
      body.post-type-archive-news .main-container .block-contents .page-content .news-list ul li a {
        text-decoration: none;
        color: #000;
        display: block;
        padding: 20px; }
        body.post-type-archive-news .main-container .block-contents .page-content .news-list ul li a .post-date {
          margin-bottom: 8px;
          color: #666;
          font-size: 14px; }
        body.post-type-archive-news .main-container .block-contents .page-content .news-list ul li a .post-title {
          font-size: 110%;
          color: #31497E;
          line-height: 1.8; }
      body.post-type-archive-news .main-container .block-contents .page-content .news-list ul li a:hover {
        background: #fafafa; }
  body.post-type-archive-news .main-container .block-contents .page-content .paginate-links {
    overflow: hidden;
    padding: 0 25px 25px; }
    body.post-type-archive-news .main-container .block-contents .page-content .paginate-links > div {
      text-align: center;
      margin-bottom: 15px; }
    body.post-type-archive-news .main-container .block-contents .page-content .paginate-links > div:last-child {
      margin-bottom: 0; }
    body.post-type-archive-news .main-container .block-contents .page-content .paginate-links a {
      text-decoration: none;
      color: #000;
      padding: 15px 0;
      display: block; }
    body.post-type-archive-news .main-container .block-contents .page-content .paginate-links a:hover {
      background: #eee; }
    body.post-type-archive-news .main-container .block-contents .page-content .paginate-links .paginate-prev {
      border: solid 1px #ddd; }
    body.post-type-archive-news .main-container .block-contents .page-content .paginate-links .paginate-next {
      border: solid 1px #ddd; }

body.single-news .main-container .block-contents .page-title {
  text-align: center;
  padding: 80px 0;
  background: #eee; }
  body.single-news .main-container .block-contents .page-title h2 {
    font-size: 36px; }
  body.single-news .main-container .block-contents .page-title .en {
    font-size: 12px;
    font-weight: bold;
    margin-bottom: 15px; }
body.single-news .main-container .block-contents .page-content {
  max-width: 800px;
  margin: 25px; }
body.single-news .main-container .block-contents .post-date {
  padding-left: 5px;
  margin-bottom: 8px;
  color: #666; }
body.single-news .main-container .block-contents .post-title {
  font-size: 22px;
  line-height: 1.4;
  font-weight: bold;
  margin-bottom: 30px;
  padding-bottom: 20px;
  border-bottom: solid 3px #ddd; }
body.single-news .main-container .block-contents .post-content {
  line-height: 2; }
  body.single-news .main-container .block-contents .post-content h2 {
    font-size: 150%;
    font-weight: bold;
    margin: 10px 0 20px; }
  body.single-news .main-container .block-contents .post-content h3 {
    font-size: 140%;
    font-weight: bold;
    margin: 10px 0 20px; }
  body.single-news .main-container .block-contents .post-content h4 {
    font-size: 130%;
    font-weight: bold;
    margin: 10px 0 20px; }
  body.single-news .main-container .block-contents .post-content h5 {
    font-size: 120%;
    font-weight: bold;
    margin: 10px 0 20px; }
  body.single-news .main-container .block-contents .post-content p {
    margin: 10px 0 20px; }
  body.single-news .main-container .block-contents .post-content strong {
    font-weight: bold; }
