@charset "UTF-8";
.view-pc {
  display: block; }
  @media screen and (max-width: 768px) {
    .view-pc {
      display: none; } }

.view-sp {
  display: none; }
  @media screen and (max-width: 768px) {
    .view-sp {
      display: block; } }

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

.c-blue {
  color: #00007f; }

.bold {
  font-weight: bold; }

.font-l {
  font-size: 1.42857rem; }

.font-s {
  font-size: 1.14286rem; }

/*! normalize.css v6.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
========================================================================== */
/**
* 1. Correct the line height in all browsers.
* 2. Prevent adjustments of font size after orientation changes in
*    IE on Windows Phone and in iOS.
*/
html {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: 14px;
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

body {
  line-height: 1.5;
  margin: 0;
  word-wrap: break-word;
  position: relative;
  font-size: 1rem; }

/* Sections
========================================================================== */
/**
* Add the correct display in IE 9-.
*/
article,
aside,
footer,
header,
nav,
section {
  display: block; }

/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Firefox, and Safari.
*/
h1 {
  font-size: 2em;
  margin: 0 0 .67em; }

/* Grouping content
========================================================================== */
/**
* Add the correct display in IE 9-.
* 1. Add the correct display in IE.
*/
figcaption,
figure,
main {
  /* 1 */
  display: block; }

/**
* Add the correct margin in IE 8.
*/
p {
  margin-top: 0; }

figure {
  margin: 0 40px 1em; }

/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/
hr {
  overflow: visible;
  /* 2 */
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */ }

/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Text-level semantics
========================================================================== */
/**
* 1. Remove the gray background on active links in IE 10.
* 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
*/
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */ }

/**
* 1. Remove the bottom border in Chrome 57- and Firefox 39-.
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
abbr[title] {
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  /* 2 */
  border-bottom: none;
  /* 1 */ }

/**
* Prevent the duplicate application of `bolder` by the next rule in Safari 6.
*/
b,
strong {
  font-weight: inherit; }

/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/
b,
strong {
  font-weight: bolder; }

/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
* Add the correct font style in Android 4.3-.
*/
dfn {
  font-style: italic; }

/**
* Add the correct background and color in IE 9-.
*/
mark {
  color: #000;
  background-color: #ff0; }

/**
* Add the correct font size in all browsers.
*/
small {
  font-size: 80%; }

/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -.25em; }

sup {
  top: -.5em; }

/* Embedded content
========================================================================== */
/**
* Add the correct display in IE 9-.
*/
audio,
video {
  display: inline-block; }

/**
* Add the correct display in iOS 4-7.
*/
audio:not([controls]) {
  display: none;
  height: 0; }

/**
* Remove the border on images inside links in IE 10-.
*/
img {
  border-style: none; }

/**
* Hide the overflow in IE.
*/
svg:not(:root) {
  overflow: hidden; }

/* Forms
========================================================================== */
/**
* Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
  margin: 0; }

/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/
button,
input {
  /* 1 */
  overflow: visible; }

input:focus,
button:focus,
textarea:focus,
select:focus {
  outline: 0; }

/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button,
select {
  /* 1 */
  text-transform: none; }

/**
* 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
*    controls in Android 4.
* 2. Correct the inability to style clickable types in iOS and Safari.
*/
button,
html [type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button;
  /* 2 */ }

/**
* Remove the inner border and padding in Firefox.
*/
button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
  padding: 0;
  border-style: none; }

/**
* Restore the focus styles unset by the previous rule.
*/
button:-moz-focusring,
[type='button']:-moz-focusring,
[type='reset']:-moz-focusring,
[type='submit']:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
*    `fieldset` elements in all browsers.
*/
legend {
  display: table;
  /* 1 */
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
  color: inherit;
  /* 2 */ }

/**
* 1. Add the correct display in IE 9-.
* 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
* Remove the default vertical scrollbar in IE.
*/
textarea {
  overflow: auto; }

/**
* 1. Add the correct box sizing in IE 10-.
* 2. Remove the padding in IE 10-.
*/
[type='checkbox'],
[type='radio'] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
  height: auto; }

/**
* 1. Correct the odd appearance in Chrome and Safari.
* 2. Correct the outline style in Safari.
*/
[type='search'] {
  outline-offset: -2px;
  /* 2 */
  -webkit-appearance: textfield;
  /* 1 */ }

/**
* Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
*/
[type='search']::-webkit-search-cancel-button,
[type='search']::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
  font: inherit;
  /* 2 */
  -webkit-appearance: button;
  /* 1 */ }

/* Interactive
========================================================================== */
/*
* Add the correct display in IE 9-.
* 1. Add the correct display in Edge, IE, and Firefox.
*/
details,
menu {
  display: block; }

/*
* Add the correct display in all browsers.
*/
summary {
  display: list-item; }

/* Scripting
========================================================================== */
/**
* Add the correct display in IE 9-.
*/
canvas {
  display: inline-block; }

/**
* Add the correct display in IE.
*/
template {
  display: none; }

/* Hidden
========================================================================== */
/**
* Add the correct display in IE 10-.
*/
[hidden] {
  display: none; }

header {
  position: absolute;
  margin: 0 auto;
  max-width: 1300px;
  left: 0;
  right: 0;
  top: 60px;
  z-index: 999; }
  @media screen and (max-width: 768px) {
    header {
      top: 10px; } }
  @media screen and (max-width: 768px) {
    header.fixed {
      width: 94%;
      top: 0px;
      padding-top: 10px;
      position: fixed;
      z-index: 999;
      background: rgba(255, 255, 255, 0.9);
      width: 100%;
      height: 110px; }
      header.fixed h1 {
        width: 60px;
        margin: 0 auto; } }
  header h1 {
    margin-bottom: 240px; }
    @media screen and (max-width: 768px) {
      header h1 {
        margin-bottom: 2rem;
        margin-left: 4%;
        width: 60px; } }
    @media screen and (max-width: 768px) {
      header h1 img {
        width: 60px;
        height: auto; } }
  @media screen and (max-width: 768px) {
    header nav {
      display: none;
      z-index: 999;
      position: relative;
      background: rgba(255, 255, 255, 0.9);
      position: fixed;
      top: 0;
      width: 100%;
      left: 0;
      height: 100vh; } }
  header nav ul {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    max-width: 190px; }
    @media screen and (max-width: 768px) {
      header nav ul {
        margin: 200px auto 0; } }
  header nav li {
    font-size: 1.35714rem;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-orientation: upright; }
    header nav li:before {
      content: "";
      width: 10px;
      height: 10px;
      display: inline-block;
      background: url(../images/common/icon_nav02.png);
      background-size: 100%;
      margin-bottom: 11px; }
    header nav li:nth-of-type(2):before {
      width: 9px;
      background: url(../images/common/icon_nav02.png);
      background-size: 100%; }
    header nav li:nth-of-type(3):before {
      width: 9px;
      background: url(../images/common/icon_nav03.png);
      background-size: 100%; }
    header nav li:nth-of-type(4):before {
      width: 9px;
      background: url(../images/common/icon_nav04.png);
      background-size: 100%; }
    header nav li:nth-of-type(5):before {
      width: 10px;
      background: url(../images/common/icon_nav05.png);
      background-size: 100%; }

.switch {
  position: absolute;
  right: 40px;
  top: 40px;
  z-index: 999;
  display: none; }
  @media screen and (max-width: 768px) {
    .switch {
      right: 10px;
      top: 10px;
      display: block; } }
  .switch:before {
    content: "";
    background: url(../images/common/icon_nav.png) no-repeat;
    background-size: 100%;
    width: 40px;
    height: 40px;
    display: block; }
    @media screen and (max-width: 768px) {
      .switch:before {
        width: 30px;
        height: 30px; } }
  .switch.show:before {
    background: url(../images/common/icon_nav_close.png) no-repeat;
    background-size: 100%;
    width: 40px;
    height: 40px; }
    @media screen and (max-width: 768px) {
      .switch.show:before {
        width: 30px;
        height: 30px; } }
  .switch span {
    display: none; }

body {
  position: relative;
  color: #333333; }

figure {
  margin: 0;
  padding: 0; }

footer .inner_block {
  max-width: 1300px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    footer .inner_block {
      max-width: 94%; } }
  footer .inner_block.footer-detail {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 75px; }
    @media screen and (max-width: 768px) {
      footer .inner_block.footer-detail {
        margin-bottom: 1rem; } }
    footer .inner_block.footer-detail > div:first-child {
      width: 44%;
      position: relative;
      padding-top: 35px; }
      @media screen and (max-width: 768px) {
        footer .inner_block.footer-detail > div:first-child {
          width: 100%; } }
      footer .inner_block.footer-detail > div:first-child .footer-logo {
        position: absolute;
        left: 50px;
        top: 0; }
        @media screen and (max-width: 768px) {
          footer .inner_block.footer-detail > div:first-child .footer-logo {
            position: relative;
            left: 0;
            width: 80px;
            margin: 0 auto 1rem;
            display: block; } }
      footer .inner_block.footer-detail > div:first-child dl {
        letter-spacing: -.4em;
        font-size: 1rem;
        margin: 0 0 8px 228px;
        padding: 0; }
        @media screen and (max-width: 768px) {
          footer .inner_block.footer-detail > div:first-child dl {
            margin: 0;
            font-size: 1.14286rem; } }
        footer .inner_block.footer-detail > div:first-child dl:last-of-type {
          margin-bottom: 0; }
        footer .inner_block.footer-detail > div:first-child dl dt {
          margin: 0;
          padding: 0;
          display: inline-block;
          vertical-align: top;
          letter-spacing: normal; }
        footer .inner_block.footer-detail > div:first-child dl dd {
          margin: 0;
          padding: 0;
          display: inline-block;
          vertical-align: top;
          letter-spacing: normal; }
      footer .inner_block.footer-detail > div:first-child .tel {
        font-size: 2.14286rem;
        font-weight: bold;
        margin-left: 228px; }
        @media screen and (max-width: 768px) {
          footer .inner_block.footer-detail > div:first-child .tel {
            margin-left: 0;
            text-align: center; } }
      footer .inner_block.footer-detail > div:first-child .map {
        margin-top: 50px; }
        @media screen and (max-width: 768px) {
          footer .inner_block.footer-detail > div:first-child .map iframe {
            width: 100%; } }
    footer .inner_block.footer-detail > div:last-child {
      width: 52%; }
      @media screen and (max-width: 768px) {
        footer .inner_block.footer-detail > div:last-child {
          width: 100%; } }
      footer .inner_block.footer-detail > div:last-child img {
        width: 100%;
        height: auto; }
  footer .inner_block.footer-nav ul {
    text-align: center; }
    footer .inner_block.footer-nav ul:before, footer .inner_block.footer-nav ul:after {
      content: "";
      background: url(../images/common/img_line.png);
      width: 100%;
      height: 3px;
      display: block; }
    footer .inner_block.footer-nav ul:before {
      margin-bottom: 25px; }
      @media screen and (max-width: 768px) {
        footer .inner_block.footer-nav ul:before {
          margin-bottom: 1rem; } }
    footer .inner_block.footer-nav ul:after {
      margin-top: 25px; }
      @media screen and (max-width: 768px) {
        footer .inner_block.footer-nav ul:after {
          margin-top: 1rem; } }
    footer .inner_block.footer-nav ul li {
      font-size: 1.14286rem;
      display: inline-block;
      vertical-align: middle; }
      footer .inner_block.footer-nav ul li:after {
        content: "";
        background: url(../images/common/icon_footer_nav.png) no-repeat;
        width: 8px;
        height: 14px;
        background-size: 100%;
        display: inline-block;
        vertical-align: middle;
        margin-left: 40px;
        margin-right: 40px; }
        @media screen and (max-width: 768px) {
          footer .inner_block.footer-nav ul li:after {
            margin-left: 15px;
            margin-right: 15px; } }
      footer .inner_block.footer-nav ul li:last-child:after {
        display: none; }
  footer .inner_block.footer-nav .copyright {
    font-size: 0.85714rem;
    color: #949494;
    text-align: center;
    padding: 30px 0; }
    @media screen and (max-width: 768px) {
      footer .inner_block.footer-nav .copyright {
        padding: 1rem 0; } }

.col2-img {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .col2-img figure {
    width: 48%;
    margin: 0;
    padding: 0; }
    @media screen and (max-width: 768px) {
      .col2-img figure {
        width: 100%; } }
    .col2-img figure img {
      width: 100%;
      height: auto; }
  .col2-img div {
    width: 48%; }
    .col2-img div h2 {
      font-size: 1.78571rem;
      font-weight: normal;
      margin-top: 42px;
      margin-bottom: 50px;
      line-height: 220%; }
      @media screen and (max-width: 768px) {
        .col2-img div h2 {
          font-size: 1.35714rem;
          margin-top: 1rem;
          margin-bottom: 1rem;
          text-align: center;
          line-height: 180%;
          font-weight: bold; } }
    .col2-img div p {
      font-size: 1.28571rem; }
      @media screen and (max-width: 768px) {
        .col2-img div p {
          font-size: 1.14286rem; } }
    .col2-img div dl {
      font-size: 1.28571rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
      @media screen and (max-width: 768px) {
        .col2-img div dl {
          font-size: 1.14286rem; } }
      .col2-img div dl dt {
        margin: 0;
        padding: 0;
        width: 15%;
        margin-bottom: 15px; }
      .col2-img div dl dd {
        width: 80%;
        display: inline-block;
        margin: 0;
        padding: 0;
        margin-bottom: 15px; }
    @media screen and (max-width: 768px) {
      .col2-img div {
        width: 100%; } }

.menu .col2-img {
  margin-bottom: 50px; }
  .menu .col2-img.col2-img_img2 h3 {
    margin-bottom: 0px; }
  .menu .col2-img div figure {
    width: 100%;
    height: auto; }
  .menu .col2-img div h3 {
    font-size: 1.78571rem;
    font-weight: normal;
    margin-top: 42px;
    margin-bottom: 25px;
    line-height: 220%; }
    @media screen and (max-width: 768px) {
      .menu .col2-img div h3 {
        font-size: 1.35714rem;
        margin-top: 1rem;
        margin-bottom: 1rem;
        text-align: center;
        line-height: 180%;
        font-weight: bold; } }
  .menu .col2-img div .menu-title {
    position: relative;
    font-size: 1.57143rem; }
    .menu .col2-img div .menu-title span {
      position: absolute;
      right: 0; }
  .menu .col2-img div dl {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 80%; }
    @media screen and (max-width: 768px) {
      .menu .col2-img div dl {
        width: 100%;
        margin-bottom: 0; } }
    .menu .col2-img div dl dt {
      width: 50%; }
    .menu .col2-img div dl dd {
      text-align: right;
      width: 50%; }

.col3-img {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .col3-img figure {
    width: 30.7%; }
    @media screen and (max-width: 768px) {
      .col3-img figure {
        width: 100%;
        margin-bottom: 1rem; } }
    .col3-img figure img {
      max-width: 100%;
      height: auto; }
    .col3-img figure figcaption {
      font-size: 1.28571rem; }
      @media screen and (max-width: 768px) {
        .col3-img figure figcaption {
          font-size: 1.14286rem; } }

.news-list {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .news-list > a {
    width: 30.7%; }
    @media screen and (max-width: 768px) {
      .news-list > a {
        width: 100%;
        margin-bottom: 1rem; } }
    .news-list > a div {
      margin-bottom: 10px; }
      .news-list > a div img {
        width: 100%;
        height: auto;
        vertical-align: top; }
    .news-list > a span {
      font-size: 1rem;
      color: #aeaeae; }
    .news-list > a dl {
      margin: 0;
      padding: 0; }
      .news-list > a dl dt {
        font-size: 1.28571rem;
        margin: 0;
        padding: 0; }
      .news-list > a dl dd {
        font-size: 1rem;
        margin: 0;
        padding: 0; }

.news-index {
  margin-bottom: 150px; }
  @media screen and (max-width: 768px) {
    .news-index {
      margin-bottom: 70px; } }
  .news-index .inner_block {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    .news-index .inner_block .main {
      width: 73%; }
      @media screen and (max-width: 768px) {
        .news-index .inner_block .main {
          width: 100%;
          margin-bottom: 15px; } }
      .news-index .inner_block .main .wp-pagenavi {
        text-align: center; }
        .news-index .inner_block .main .wp-pagenavi .current {
          background: #333333;
          color: #fff; }
    .news-index .inner_block .side {
      width: 25%; }
      @media screen and (max-width: 768px) {
        .news-index .inner_block .side {
          width: 100%; } }
      .news-index .inner_block .side .categories {
        font-size: 1.35714rem;
        font-weight: bold; }
        .news-index .inner_block .side .categories li {
          font-size: 1.14286rem;
          font-weight: normal; }
      .news-index .inner_block .side #calendar_wrap {
        margin-bottom: 30px; }
      .news-index .inner_block .side #wp-calendar {
        width: 100%;
        font-size: 12px;
        padding-top: 10px; }
        .news-index .inner_block .side #wp-calendar tr {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: start;
          -ms-flex-pack: start;
          justify-content: flex-start; }
          .news-index .inner_block .side #wp-calendar tr:first-of-type {
            -webkit-box-pack: end;
            -ms-flex-pack: end;
            justify-content: flex-end; }
        .news-index .inner_block .side #wp-calendar th,
        .news-index .inner_block .side #wp-calendar td {
          display: block;
          width: calc(100% / 7);
          text-align: center;
          margin-bottom: 10px; }
          .news-index .inner_block .side #wp-calendar th:last-of-type, .news-index .inner_block .side #wp-calendar th:last-of-type,
          .news-index .inner_block .side #wp-calendar td:last-of-type,
          .news-index .inner_block .side #wp-calendar td:last-of-type {
            color: red; }
        .news-index .inner_block .side #wp-calendar td a {
          padding: 0; }
        .news-index .inner_block .side #wp-calendar tfoot tr {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: center;
          -ms-flex-pack: center;
          justify-content: center; }
          .news-index .inner_block .side #wp-calendar tfoot tr td {
            width: calc(100% / 3); }
        .news-index .inner_block .side #wp-calendar #today a,
        .news-index .inner_block .side #wp-calendar #today {
          color: #333333;
          background-color: #aeaeae;
          font-weight: bold; }
  .news-index .news-list > a {
    width: 48%;
    margin-bottom: 2rem; }
    @media screen and (max-width: 768px) {
      .news-index .news-list > a {
        width: 100%; } }

.menu {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .menu > a {
    width: 31.5%;
    position: relative; }
    @media screen and (max-width: 768px) {
      .menu > a {
        width: 100%;
        margin-bottom: 1rem; } }
    .menu > a h3 {
      background: #00007f;
      color: #fff;
      -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
      text-orientation: upright;
      position: absolute;
      padding: 30px 7px 35px;
      font-weight: normal;
      text-align: center;
      margin: 0;
      top: 0;
      left: 20px; }
      @media screen and (max-width: 768px) {
        .menu > a h3 {
          left: 10px;
          padding: 15px 7px 20px; } }
      .menu > a h3 span {
        font-size: 1.78571rem; }
        @media screen and (max-width: 768px) {
          .menu > a h3 span {
            font-size: 1.57143rem; } }
        .menu > a h3 span:before {
          content: "";
          display: inline-block;
          width: 20px;
          height: 20px;
          margin: 0 auto;
          background: url(../images/common/icon_menu.png) center no-repeat;
          background-size: 100%;
          margin-bottom: 20px; }
          @media screen and (max-width: 768px) {
            .menu > a h3 span:before {
              margin-bottom: 10px; } }
    .menu > a img {
      max-width: 100%;
      height: auto;
      margin-top: 20px; }

.instagram {
  max-width: 1124px;
  margin: 0 auto;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
/*
  .instagram a {
    width: 21.7%;
    display: block; }
*/
    @media screen and (max-width: 768px) {
/*
      .instagram a {
        width: 49%; }
*/ }
/*
    .instagram a img {
      width: 100%;
      height: auto; }
*/

.h2-heading {
  font-size: 1.78571rem;
  background: url(../images/common/img_line.png) repeat-x;
  background-position: left bottom;
  padding-bottom: 8px;
  font-weight: normal;
  margin-bottom: 49px; }
  @media screen and (max-width: 768px) {
    .h2-heading {
      font-size: 1.57143rem;
      margin-bottom: 1rem; } }

.h2-heading_center {
  font-size: 1.78571rem;
  text-align: center;
  font-weight: normal;
  margin-bottom: 42px; }
  @media screen and (max-width: 768px) {
    .h2-heading_center {
      font-size: 1.57143rem;
      margin-bottom: 1rem; } }

.btn {
  background: #00007f;
  color: #fff;
  font-size: 1.28571rem;
  padding: 15px 0;
  width: 300px;
  display: block;
  margin: 0 auto; }

a {
  text-decoration: none;
  color: #333333; }
  a:hover {
    opacity: 0.6; }

.t-center {
  text-align: center; }

.t-left {
  text-align: left; }

.t-right {
  text-align: right; }

section {
  margin-bottom: 74px; }
  @media screen and (max-width: 768px) {
    section {
      margin-bottom: 1.5rem; } }
  section .inner_block {
    max-width: 1300px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      section .inner_block {
        width: 94%; } }

body {
  background: url(../images/common/bg.jpg); }
  body p {
    font-size: 1.35714rem; }
    @media screen and (max-width: 768px) {
      body p {
        font-size: 1.14286rem; } }

#mv {
  background: url(../images/common/bg_img.png) top right no-repeat;
  background-size: 875px 909px;
  padding-top: 60px; }
  @media screen and (max-width: 768px) {
    #mv {
      overflow: hidden;
      padding-top: 15px;
      background-size: 100% auto;
      padding-top: 120px; } }
  #mv .inner_block {
    position: relative; }
    @media screen and (max-width: 768px) {
      #mv .inner_block {
        width: 100%; } }
  #mv .slider {
    right: 0;
    top: 0;
    max-width: 1010px;
    margin-left: auto;
    margin-right: 0px;
    position: relative; }
    #mv .slider .slick-slide {
      z-index: 980;
      position: relative; }
    @media screen and (max-width: 768px) {
      #mv .slider {
        position: relative;
        max-width: 100%; } }
    #mv .slider p {
      font-size: 2.85714rem;
      position: absolute;
      -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
      text-orientation: upright;
      z-index: 981;
      color: #fff;
      right: 80px;
      top: 50px;
      text-shadow: 1px 1px 10px #383838; }
      @media screen and (max-width: 768px) {
        #mv .slider p {
          font-size: 1.42857rem;
          right: 20px;
          top: 25px;
          text-shadow: 2px 2px 10px #000; } }
      #mv .slider p span {
        display: block; }
        #mv .slider p span:nth-of-type(1) {
          margin-top: 125px; }
          @media screen and (max-width: 768px) {
            #mv .slider p span:nth-of-type(1) {
              margin-top: 20px; } }
        #mv .slider p span:nth-of-type(2) {
          margin-top: 334px; }
          @media screen and (max-width: 768px) {
            #mv .slider p span:nth-of-type(2) {
              margin-top: 40px; } }
    @media screen and (max-width: 768px) {
      #mv .slider .slider_inner div img {
        max-width: 100%; } }

@media screen and (max-width: 768px) {
  .page #mv {
    padding-top: 10rem; } }

.page #mv .page-title {
  font-size: 2.14286rem;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-align: center;
  width: 50px;
  margin: 30px auto 0;
  letter-spacing: 1rem;
  height: 390px; }
  @media screen and (max-width: 768px) {
    .page #mv .page-title {
      font-size: 1.64286rem;
      height: auto;
      margin-bottom: 2rem;
      -webkit-writing-mode: horizontal-tb;
      -ms-writing-mode: lr-tb;
      writing-mode: horizontal-tb;
      width: auto;
      background: #00007f;
      color: #fff;
      padding: 15px 0; } }

.page #mv .img {
  max-width: 1010px;
  margin-left: auto;
  margin-right: 0px; }
  .page #mv .img img {
    width: 100%;
    height: auto; }

.index-bg img {
  width: 100%;
  height: auto; }

.page .tbox-center80 {
  width: 80%;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .page .tbox-center80 {
      width: 100%; } }

.page .slick-next:before, .page .slick-prev:before {
  color: #00007f; }

@media screen and (max-width: 768px) {
  .page .slick-slider {
    width: 80%;
    margin: 0 auto; } }

.page .slick-list {
  margin-right: -12px; }

.page .slick-slide {
  margin-right: 12px; }
  .page .slick-slide img {
    width: 100%;
    height: auto; }
@media screen and (max-width: 768px) {
	.index-first .col2-img figure{
		order: 1;
	}
	.index-first .col2-img div{
		order: 0;
	}
	
}