@charset "UTF-8";
@font-face {
  font-family: 'noto-regular';
  font-style: normal;
  font-weight: 400;
  src: url("//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff2") format("woff2"), url("//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff") format("woff"), url("//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.otf") format("opentype");
  font-display: swap; }
@font-face {
  font-family: 'noto-regular';
  font-style: normal;
  font-weight: 700;
  src: url("//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Bold.woff2") format("woff2"), url("//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Bold.woff") format("woff"), url("//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Bold.otf") format("opentype");
  font-display: swap; }
/*--- reset ---*/
html {
  /*position:relative; min-height:100%;*/
  font-size: 16px; }

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, p, blockquote, hr, header, footer, nav, aside, section {
  margin: 0;
  padding: 0; }

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

address, caption, cite, code, dfn, h1, h2, h3, h4, th, var {
  font-style: normal;
  font-weight: normal; }

fieldset, img, abbr {
  border: 0; }

img {
  vertical-align: top; }

ol, ul {
  list-style: none; }

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

th, td {
  margin: 0;
  padding: 0; }

th, td {
  text-align: left;
  vertical-align: top; }

caption, th {
  text-align: left;
  margin: auto; }

object, embed {
  vertical-align: top; }

legend {
  display: none; }

button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  margin: 0;
  background-color: transparent;
  border: none;
  border-radius: 0;
  cursor: pointer; }
  button:focus {
    outline: none; }

hr {
  border: none;
  border-left: 1px #cc6 solid;
  min-height: 70px;
  margin: 0 auto; }

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent; }
  *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; }

a:link, a:focus, a:visited, a:hover {
  color: #fff;
  text-decoration: none;
  outline: none; }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
body {
  font-family: "source-han-serif-japanese", "游明朝", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Kaku Mincho Pro", serif;
  -webkit-font-smoothing: antialiased;
  color: #fff;
  font-size: 1em;
  line-height: 1.875;
  background-color: #001351; }

p.txt {
  padding-top: 30px;
  margin-bottom: 30px;
  line-height: 2.5; }

.anch {
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
  cursor: pointer; }
  .anch:hover {
    opacity: .65; }

.animate-fade {
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
  opacity: 0; }
  .animate-fade.active {
    opacity: 1; }
  .animate-fade.logomark__logo {
    -webkit-transition-delay: 1s;
    transition-delay: 1s;
    -webkit-transition-duration: 2s;
    transition-duration: 2s; }
.animate-translate {
  -webkit-transition: transform .5s, opacity .5s;
  transition: transform .5s, opacity .5s;
  opacity: 0;
  -webkit-transform: translateY(15%);
  transform: translateY(15%); }
  .animate-translate.active {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  .animate-translate.logomark__ttl {
    -webkit-transition-delay: 0s;
    transition-delay: 0s; }
  .animate-translate.logomark__txt {
    -webkit-transition-delay: .5s;
    transition-delay: .5s; }

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100px;
  height: 100%;
  background-color: #fff;
  z-index: 2; }
  .header-tgl-btn {
    display: block;
    position: relative;
    width: 30px;
    height: 30px;
    margin: 40px auto;
    padding: 10px;
    box-sizing: content-box;
    overflow: visible; }
    .header-tgl-btn__hamburger {
      position: relative;
      display: block;
      width: 100%;
      height: 3px;
      background-color: #052a77;
      -webkit-transition: background-color .3s;
      transition: background-color .3s; }
      .header-tgl-btn__hamburger:before, .header-tgl-btn__hamburger:after {
        content: '';
        position: absolute;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: #052a77;
        -webkit-transition: -webkit-transform 0.5s cubic-bezier(0, 0.5, 0.5, 1);
        transition: transform 0.5s cubic-bezier(0, 0.5, 0.5, 1); }
      .header-tgl-btn__hamburger:before {
        top: -10px; }
      .header-tgl-btn__hamburger:after {
        bottom: -10px; }
    .header-tgl-btn__label {
      position: absolute;
      bottom: -10px;
      left: 0;
      right: 0;
      font-size: 0.65625em;
      font-weight: 600;
      color: #0d6fb3;
      opacity: 1;
      -webkit-backface-visibility: hidden;
      -moz-backface-visibility: hidden;
      -ms-backface-visibility: hidden;
      backface-visibility: hidden; }
      .header-tgl-btn__label:before {
        content: 'MENU'; }
  .header__logo {
    padding: 0 15px; }
  .header__nav {
    position: fixed;
    top: 0;
    left: calc( (0px - 100vw ) / 2 + 150px );
    width: calc((100vw - 100px) / 2 );
    height: 100vh;
    overflow-y: auto;
    padding: 180px 20px;
    background-color: #0d6fb3;
    -webkit-transition: transform .3s;
    transition: transform .3s;
    z-index: 1; }
    .header__nav__list {
      text-align: center;
      font-size: 1.875em; }
      .header__nav__list__item a {
        position: relative;
        padding: 15px; }
        .header__nav__list__item a:after {
          content: '';
          position: absolute;
          bottom: 0;
          left: 0;
          right: 0;
          width: 100%;
          height: 1px;
          background-color: #fff;
          -webkit-transition: transform .3s;
          transition: transform .3s;
          -webkit-transform: scaleX(0);
          transform: scaleX(0); }
        .header__nav__list__item a:hover:after {
          -webkit-transform: scaleX(1);
          transform: scaleX(1); }
      .header__nav__list__item + .header__nav__list__item {
        margin-top: 100px; }

.drawer-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.45); }
  .drawer-overlay__btn--close {
    position: absolute;
    top: 50%;
    right: calc( (100vw - 100px) / 4 );
    width: 45px;
    height: 45px;
    -webkit-transform: translate(50%, -50%);
    transform: translate(50%, -50%);
    cursor: pointer; }
    .drawer-overlay__btn--close__icon {
      position: relative;
      display: block;
      width: 100%;
      height: 3px;
      background-color: transparent;
      -webkit-transition: transform .3s;
      transition: transform .3s; }
      .drawer-overlay__btn--close__icon:before, .drawer-overlay__btn--close__icon:after {
        content: '';
        position: absolute;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: #fff; }
      .drawer-overlay__btn--close__icon:before {
        top: -10px;
        -webkit-transform: translateY(10px) rotate(45deg);
        transform: translateY(10px) rotate(45deg); }
      .drawer-overlay__btn--close__icon:after {
        top: 10px;
        -webkit-transform: translateY(-10px) rotate(135deg);
        transform: translateY(-10px) rotate(135deg); }
    .drawer-overlay__btn--close__label {
      font-family: "noto-regular", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Verdana, "ＭＳ Ｐゴシック", sans-serif;
      position: absolute;
      bottom: -10px;
      left: 0;
      right: 0; }
    .drawer-overlay__btn--close:hover .drawer-overlay__btn--close__icon {
      -webkit-transform: scale(1.25);
      transform: scale(1.25); }

.nav-open {
  height: 100%; }
  .nav-open main, .nav-open footer {
    -webkit-transition: filter .5s;
    transition: filter .5s;
    -webkit-filter: blur(5px);
    -moz-filter: blur(5px);
    -ms-filter: blur(5px);
    filter: blur(5px); }
  .nav-open .header-tgl-btn__hamburger {
    background-color: transparent; }
    .nav-open .header-tgl-btn__hamburger:before, .nav-open .header-tgl-btn__hamburger:after {
      content: '';
      position: absolute;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: #052a77;
      -webkit-transition: -webkit-transform 0.5s cubic-bezier(0, 0.5, 0.5, 1);
      transition: transform 0.5s cubic-bezier(0, 0.5, 0.5, 1); }
    .nav-open .header-tgl-btn__hamburger:before {
      -webkit-transform: translateY(10px) rotate(45deg);
      transform: translateY(10px) rotate(45deg); }
    .nav-open .header-tgl-btn__hamburger:after {
      -webkit-transform: translateY(-10px) rotate(135deg);
      transform: translateY(-10px) rotate(135deg); }
  .nav-open .header-tgl-btn__label:before {
    content: 'CLOSE'; }
  .nav-open .header__nav {
    -webkit-transform: translateX(100%);
    transform: translateX(100%); }

main {
  width: calc(100% - 100px);
  margin-left: 100px; }

.mainvisual {
  height: 100vh;
  width: 100%;
  background: url("img/mainvisual.jpg") no-repeat;
  background-size: cover;
  background-position: center bottom;
  position: relative; }
  .mainvisual__head {
    padding: 40px 60px;
    position: absolute;
    top: 0;
    right: 0; }
    .mainvisual__head__image {
      width: 140px; }
  .mainvisual__body {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    margin: auto;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%); }
    .mainvisual__body__innr {
      display: -webkit-box;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-direction: reverse;
      -webkit-box-orient: horizontal;
      -webkit-flex-direction: row-reverse;
      -moz-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
      flex-direction: row-reverse;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      -webkit-justify-content: center;
      -moz-justify-content: center;
      justify-content: center;
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 auto;
      -moz-box-flex: 0;
      -moz-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
      flex: 0 0 auto;
      font-size: 2.8em;
      line-height: 2.4; }
      .mainvisual__body__innr span {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 auto;
        -moz-box-flex: 0;
        -moz-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        -ms-writing-mode: tb-rl;
        -webkit-writing-mode: vertical-rl;
        writing-mode: vertical-rl;
        opacity: 0;
        color: #000;
        -webkit-transition: color 1s;
        transition: color 1s; }
      .mainvisual__body__innr.animate span {
        -webkit-animation: fadeIn 1s ease 0s 1 forwards;
        animation: fadeIn 1s ease 0s 1 forwards; }
        .mainvisual__body__innr.animate span:nth-child(1) {
          -webkit-animation-delay: 1s;
          animation-delay: 1s; }
        .mainvisual__body__innr.animate span:nth-child(2) {
          -webkit-animation-delay: 2s;
          animation-delay: 2s; }
        .mainvisual__body__innr.animate span:nth-child(3) {
          -webkit-animation-delay: 3s;
          animation-delay: 3s; }
      .mainvisual__body__innr.white-text span {
        color: #fff; }
      .mainvisual__body__innr.smp span {
        color: #fff; }
  .mainvisual__movie {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
    .mainvisual__movie video {
      position: absolute;
      width: auto;
      height: auto;
      top: 50%;
      left: 50%;
      min-height: 100%;
      min-width: 100%;
      -ms-transform: translateX(-50%) translateY(-50%);
      -moz-transform: translateX(-50%) translateY(-50%);
      -webkit-transform: translateX(-50%) translateY(-50%);
      transform: translateX(-50%) translateY(-50%); }
  .mainvisual__foot {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 85px; }
    .mainvisual__foot__btn {
      display: block; }
      .mainvisual__foot__btn:after {
        content: '';
        display: block;
        width: 1px;
        height: 70px;
        background-color: #cc6;
        margin: 5px auto 0; }

@supports (object-fit: cover) {
  .mainvisual__movie video {
    position: static;
    height: auto;
    width: 100%;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    top: 0;
    -ms-transform: none;
    -moz-transform: none;
    -webkit-transform: none;
    transform: none; } }
.section {
  padding: 120px 0;
  position: relative; }
  .section:before, .section:after {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    width: 1px;
    height: 70px;
    background-color: #cc6;
    margin: 0 auto; }
  .section:before {
    top: 0; }
  .section:after {
    bottom: 0; }
  .section__ttl {
    font-size: 1.875em;
    text-align: center;
    padding-top: 20px;
    margin-bottom: 40px; }
    .section__ttl__sub {
      display: block;
      font-size: 0.6em;
      color: #cc6;
      margin-bottom: 25px; }

.intro {
  background: url("img/bg_intro_upper.jpg") no-repeat, url("img/bg_intro_bottom.jpg") no-repeat;
  background-size: contain;
  background-position: center top, center bottom;
  padding: 70px 0 220px; }
  .intro:after {
    height: 220px; }
  .intro .txt {
    font-size: 1.125em; }
  .intro__content--left {
    padding-top: 40px; }
    .intro__content--left .txt {
      text-align: right; }
  .intro__content--right {
    border-left: solid 1px #cc6;
    padding-top: 190px;
    padding-bottom: 120px; }
  .intro__content__innr {
    padding: 0 15px; }

.message__txt {
  padding-top: 60px;
  padding-bottom: 60px; }
  .message__txt p {
    text-indent: 1em;
    line-height: 2.5; }
    .message__txt p + p {
      margin-top: 15px; }
    .message__txt p.message__txt--name {
      padding-top: 30px;
      margin-bottom: 30px;
      text-indent: 0; }

.logomark {
  background: url("img/bg_paper.jpg");
  background-size: contain;
  background-position: center; }
  .logomark__logo {
    width: 90%;
    max-width: 420px; }
  .logomark__innr--logo {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    -webkit-justify-content: flex-end;
    -moz-justify-content: flex-end;
    justify-content: flex-end; }
  .logomark__ttl {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -moz-order: 1;
    -ms-flex-order: 1;
    order: 1;
    color: #052a77;
    font-size: 1.875em;
    padding-bottom: 30px;
    margin-left: 2.5vw; }
  .logomark__txt {
    -webkit-box-ordinal-group: 1;
    -webkit-order: 0;
    -moz-order: 0;
    -ms-flex-order: 0;
    order: 0;
    -webkit-align-self: flex-end;
    -moz-align-self: flex-end;
    -ms-flex-item-align: end;
    align-self: flex-end;
    color: #001351;
    padding-left: 2.5vw;
    line-height: 2.5;
    letter-spacing: 0.2em; }

.history {
  padding-top: 140px; }
  .history .section__ttl {
    background-color: #052a77;
    line-height: 1;
    padding: 20px;
    margin-bottom: 0; }
  .history__innr {
    width: 100%;
    padding: 60px 15px;
    color: #052a77; }
  .history__head {
    color: #052a77;
    font-size: 1.875em;
    line-height: 1.25;
    margin-bottom: 40px; }
    .history__head span {
      display: block;
      font-size: 0.6em;
      margin-bottom: 25px; }
  .history__chronology {
    padding-left: 180px;
    text-align: left; }
    .history__chronology__item {
      border-left: solid 1px #052a77;
      padding: 0 0 60px 30px;
      position: relative; }
      .history__chronology__item:before {
        content: '';
        display: block;
        width: 20px;
        height: 20px;
        border-radius: 10px;
        background-color: #052a77;
        position: absolute;
        top: 0;
        left: -10px; }
      .history__chronology__item__head {
        font-size: 1.875em;
        line-height: 1;
        position: relative;
        top: -5px;
        margin-bottom: -5px; }
        .history__chronology__item__head span {
          font-size: 0.8em;
          margin-left: 2.5px; }
      .history__chronology__item__txt {
        font-size: 1.3125em;
        color: #232323;
        padding: 10px 0 7.5px;
        line-height: 1.75; }
      .history__chronology__item__innr-list {
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-left: -15px;
        margin-right: -15px; }
        .history__chronology__item__innr-list__item {
          -webkit-box-flex: 0;
          -webkit-flex: 0 0 auto;
          -moz-box-flex: 0;
          -moz-flex: 0 0 auto;
          -ms-flex: 0 0 auto;
          flex: 0 0 auto;
          display: -webkit-box;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flexbox;
          display: flex;
          width: 33.333333%;
          padding: 0 15px;
          margin: 7.5px 0; }
          .history__chronology__item__innr-list__item__innr {
            -webkit-box-flex: 1;
            -webkit-flex: 1 1 auto;
            -moz-box-flex: 1;
            -moz-flex: 1 1 auto;
            -ms-flex: 1 1 auto;
            flex: 1 1 auto;
            width: 100%; }
        .history__chronology__item__innr-list__caption {
          padding: 5px;
          font-size: 0.875em;
          color: #000;
          line-height: 1.5;
          display: -webkit-box;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flexbox;
          display: flex; }
          .history__chronology__item__innr-list__caption span:first-child {
            -webkit-box-flex: 0;
            -webkit-flex: 0 0 auto;
            -moz-box-flex: 0;
            -moz-flex: 0 0 auto;
            -ms-flex: 0 0 auto;
            flex: 0 0 auto;
            margin-right: 0.5em; }
          .history__chronology__item__innr-list__caption span:last-child {
            -webkit-box-flex: 0;
            -webkit-flex: 0 1 auto;
            -moz-box-flex: 0;
            -moz-flex: 0 1 auto;
            -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
      .history__chronology__item:last-child {
        border-left: none; }

.special-contents {
  background: url("/img/bg_special-upper.jpg") no-repeat #125998;
  background-size: auto;
  background-position: center top; }
  .special-contents:after {
    display: none; }
  .special-contents__innr {
    margin-top: 20px; }
  .special-contents__bnr {
    display: block; }
    .special-contents__bnr + .special-contents__bnr {
      margin-top: 40px; }
    .special-contents__bnr.disable.active {
      opacity: .7; }
    .special-contents__bnr.hover:hover {
      opacity: .75; }
  .special-contents.after-bb:after {
    display: block; }

.footer {
  padding: 50px 0 15px;
  margin-left: 100px; }
  .footer__ttl {
    font-size: 1.125em;
    color: #cc6;
    text-align: center;
    margin-bottom: 50px; }
  .footer__bnr {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    width: 100%;
    padding: 20px 30px;
    font-family: "noto-regular", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Verdana, "ＭＳ Ｐゴシック", sans-serif; }
    .footer__bnr.fb {
      background-color: #305097; }
    .footer__bnr.web {
      background-color: #0d6fb3; }
    .footer__bnr__logo {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 auto;
      -moz-box-flex: 0;
      -moz-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
      flex: 0 0 auto;
      width: 40px;
      text-align: center; }
      .footer__bnr__logo i {
        font-size: 40px; }
    .footer__bnr__txt {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 auto;
      -moz-box-flex: 1;
      -moz-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
      flex: 1 1 auto;
      padding: 0 0 0 30px; }
  .footer__logo {
    text-align: center;
    padding-top: 10px;
    margin-top: 50px;
    margin-bottom: 50px; }
    .footer__logo img {
      max-width: 290px; }
  .footer__copyright__txt {
    text-align: center;
    color: #cc6;
    font-size: 0.875em; }

@media screen and (max-width: 1199px) {
  .footer__bnr {
    padding: 20px 15px; }
    .footer__bnr__txt {
      padding: 0 0 0 15px; } }
@media screen and (max-width: 991px) {
  .header__nav__list {
    font-size: 1.5em; }

  .logomark__txt {
    line-height: 4vw; } }
@media screen and (max-width: 991px) and (orientation: landscape) {
  .mainvisual__body__innr {
    font-size: 2em; }
  .mainvisual__foot {
    width: 75px; }
    .mainvisual__foot__btn:after {
      height: 30px; } }
@media screen and (max-width: 991px) {
  .history {
    padding-top: 140px; }
    .history__chronology {
      padding-left: 120px; }
      .history__chronology__item__innr-list__item {
        width: 50%; } }
@media screen and (max-width: 767px) {
  body {
    font-size: 0.8125em; }

  p.txt {
    padding-top: 10px;
    margin-bottom: 20px;
    line-height: 2; }

  .animate-fade.logomark__logo {
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
    -webkit-transition-duration: 2s;
    transition-duration: 2s; }
  .animate-translate.logomark__ttl {
    -webkit-transition-delay: 0s;
    transition-delay: 0s; }
  .animate-translate.logomark__txt {
    -webkit-transition-delay: .5s;
    transition-delay: .5s; }

  .header {
    width: 100%;
    height: auto;
    padding: 15px 60px;
    -webkit-transition: top .3s;
    transition: top .3s; }
    .header-tgl-btn {
      position: absolute;
      top: 40%;
      left: 20px;
      margin: 0;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%); }
    .header__logo {
      width: auto; }
      .header__logo img {
        height: 70px; }
    .header__nav {
      top: 0;
      left: 0;
      width: 100%;
      height: auto;
      padding: 120px 20px;
      -webkit-transform: translateY(-100%);
      transform: translateY(-100%); }
      .header__nav__list {
        font-size: 1.3846153em; }
        .header__nav__list__item + .header__nav__list__item {
          margin-top: 60px; }

  .drawer-overlay__btn--close {
    display: none; }

  .nav-open .header__nav {
    -webkit-transform: translateY(100px);
    transform: translateY(100px);
    height: calc(100vh - 100px);
    overflow-y: auto; }

  main {
    width: 100%;
    margin-left: 0;
    margin-top: 100px; }

  .mainvisual {
    height: calc(100vh - ( 10vw + 30px )); }
    .mainvisual__head {
      padding: 20px; }
      .mainvisual__head__image {
        width: 18.5vw;
        max-width: 140px; }
    .mainvisual__foot__btn:after {
      height: 30px; }

  .section {
    padding: 60px 0; }
    .section:before, .section:after {
      height: 40px; }
    .section__ttl {
      font-size: 1.3846153em;
      padding-top: 0;
      margin-bottom: 15px; }
      .section__ttl__sub {
        font-size: 0.666666em;
        margin-bottom: 15px; }

  .intro {
    background-size: auto;
    background-position: left 35% top, center bottom -12%;
    padding: 70px 0 60px; }
    .intro:before {
      height: 50px; }
    .intro:after {
      height: 60px; }
    .intro .txt {
      font-size: 1em; }
    .intro__content--left {
      padding-top: 10px; }
      .intro__content--left .txt {
        text-align: center; }
    .intro__content--right {
      border-left: none;
      padding-top: 30px;
      padding-bottom: 0; }
    .intro__content__innr {
      text-align: center; }

  .message__txt {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
    -moz-order: 3;
    -ms-flex-order: 3;
    order: 3;
    padding-top: 15px;
    padding-bottom: 0; }
    .message__txt p {
      line-height: 2; }
      .message__txt p + p {
        margin-top: 10px; }
      .message__txt p.message__txt--name {
        padding-top: 20px;
        margin-bottom: 20px; }
  .message__image {
    padding-top: 20px;
    padding-bottom: 10px; }

  .logomark {
    padding-top: 70px;
    padding-bottom: 50px; }
    .logomark:before {
      height: 20px; }
    .logomark:after {
      height: 30px; }
    .logomark__logo {
      width: 420px;
      padding: 0 30px; }
    .logomark__innr--logo {
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      -webkit-justify-content: center;
      -moz-justify-content: center;
      justify-content: center; }
    .logomark__innr--txt {
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      -webkit-justify-content: center;
      -moz-justify-content: center;
      justify-content: center;
      padding-top: 60px; }
    .logomark__ttl {
      font-size: 1.3846153em;
      margin-left: 6vw;
      text-indent: -0.15em; }
    .logomark__txt {
      -webkit-align-self: flex-start;
      -moz-align-self: flex-start;
      -ms-flex-item-align: start;
      align-self: flex-start;
      padding-left: 0;
      white-space: nowrap;
      line-height: 2.5; }

  .history {
    padding-top: 140px; }
    .history .section__ttl {
      padding: 10px;
      font-size: 2.076923em; }
    .history__innr {
      padding: 40px 15px; }
    .history__head {
      text-align: center; }
      .history__head span {
        margin-bottom: 10px; }
    .history__chronology {
      padding-left: 10px; }
      .history__chronology__item {
        padding: 0 0 40px 22.5px; }
        .history__chronology__item__head {
          top: -2.5px;
          margin-bottom: -2.5px; }
        .history__chronology__item__innr-list__item {
          width: 50%;
          padding: 0 7.5px; }
        .history__chronology__item__innr-list__caption {
          padding: 5px 7.5px;
          font-size: 0.9230769em; }

  .special-contents {
    background-size: cover;
    background-position: center top -30px;
    padding-bottom: 50px; }
    .special-contents__innr {
      margin-top: 0; }
    .special-contents__bnr + .special-contents__bnr {
      margin-top: 10px; }

  .footer {
    padding: 30px 0 15px;
    margin-left: 0; }
    .footer__ttl {
      font-size: 0.9230769em;
      margin-bottom: 30px; } }
@media screen and (max-width: 767px) and (orientation: landscape) {
  .header__nav {
    padding: 80px 20px; }

  .mainvisual {
    height: 100vh; } }
@media screen and (max-width: 575px) {
  .header__logo img {
    height: 10vw;
    max-height: 70px; }
  .header__nav__list {
    font-size: 1.125em; }

  .nav-open .header__nav {
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
    height: calc(100vh - 30px); }

  main {
    margin-top: calc(10vw + 30px); }

  .mainvisual {
    background-position: left 40% bottom; }
    .mainvisual__head {
      padding: 10px; }
    .mainvisual__body__innr {
      font-size: 2em;
      line-height: 2; }
    .mainvisual__foot__btn:after {
      height: 30px; }

  .history {
    padding-top: 120px; }
    .history .section__ttl {
      font-size: 1.8461538em; }
    .history__head {
      font-size: 1.6153846em; }
      .history__head span {
        font-size: 0.666666em; }
    .history__chronology__item {
      padding: 0 7.5px 40px 22.5px; }
      .history__chronology__item__innr-list__item {
        width: 100%; }
      .history__chronology__item__innr-list__caption {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        -moz-justify-content: center;
        justify-content: center; }

  .footer__bnr {
    margin-bottom: 15px; }
  .footer__logo {
    padding-top: 15px;
    margin-top: 0; } }
@media screen and (max-width: 575px) and (orientation: landscape) {
  .header__nav {
    padding: 80px 20px; }

  .mainvisual {
    height: 100vh; }
    .mainvisual__body__innr {
      font-size: 1.75em; }
    .mainvisual__foot {
      width: 75px; } }
.clear {
  clear: both; }

.clearfix:after, .clearFix:after {
  content: '';
  display: block;
  width: 100%;
  height: 0;
  clear: both; }

.w100 {
  max-width: 100%;
  height: auto; }

.w100p {
  width: 100%;
  height: auto; }

.m0 {
  margin: 0 !important; }

.mb0 {
  margin-bottom: 0 !important; }

.mb5 {
  margin-bottom: 5px !important; }

.mb10 {
  margin-bottom: 10px !important; }

.mb15 {
  margin-bottom: 15px !important; }

.mb20 {
  margin-bottom: 20px !important; }

.mb25 {
  margin-bottom: 25px !important; }

.mb30 {
  margin-bottom: 30px !important; }

.mb35 {
  margin-bottom: 35px !important; }

.mb40 {
  margin-bottom: 40px !important; }

.mb45 {
  margin-bottom: 45px !important; }

.mb50 {
  margin-bottom: 50px !important; }

.mb60 {
  margin-bottom: 60px !important; }

.mb70 {
  margin-bottom: 70px !important; }

.mb80 {
  margin-bottom: 80px !important; }

.mb90 {
  margin-bottom: 90px !important; }

.mb100 {
  margin-bottom: 100px !important; }

.mb110 {
  margin-bottom: 110px !important; }

.mb120 {
  margin-bottom: 120px !important; }

.mt0 {
  margin-top: 0 !important; }

.mt5 {
  margin-top: 5px !important; }

.mt10 {
  margin-top: 10px !important; }

.mt15 {
  margin-top: 15px !important; }

.mt20 {
  margin-top: 20px !important; }

.mt25 {
  margin-top: 25px !important; }

.mt30 {
  margin-top: 30px !important; }

.mt35 {
  margin-top: 35px !important; }

.mt40 {
  margin-top: 40px !important; }

.mt45 {
  margin-top: 45px !important; }

.mt50 {
  margin-top: 50px !important; }

.mt60 {
  margin-top: 60px !important; }

.mt70 {
  margin-top: 70px !important; }

.mt80 {
  margin-top: 80px !important; }

.mt90 {
  margin-top: 90px !important; }

.mb100 {
  margin-bottom: 100px !important; }

.mb120 {
  margin-bottom: 120px !important; }

.mb140 {
  margin-bottom: 140px !important; }

.mr5 {
  margin-right: 5px !important; }

.mr10 {
  margin-right: 10px !important; }

.mr20 {
  margin-right: 20px !important; }

.mr0 {
  margin-right: 0 !important; }

.ml {
  margin-left: 0 !important; }

.ml5 {
  margin-left: 5px !important; }

.ml10 {
  margin-left: 10px !important; }

.ml15 {
  margin-left: 15px !important; }

.ml20 {
  margin-left: 20px !important; }

.ml30 {
  margin-left: 30px !important; }

.ml40 {
  margin-left: 40px !important; }

.lh100 {
  line-height: 100%; }

.lh150 {
  line-height: 150%; }

.p0 {
  padding: 0 !important; }

.p10 {
  padding: 10px; }

.p20 {
  padding: 20px; }

.pt0 {
  padding-top: 0 !important; }

.pt5 {
  padding-top: 5px !important; }

.pt10 {
  padding-top: 10px !important; }

.pt20 {
  padding-top: 20px !important; }

.pt30 {
  padding-top: 30px !important; }

.pt40 {
  padding-top: 40px !important; }

.pt50 {
  padding-top: 50px !important; }

.pt60 {
  padding-top: 60px !important; }

.pt70 {
  padding-top: 70px !important; }

.pt80 {
  padding-top: 80px !important; }

.pt90 {
  padding-top: 90px !important; }

.pt100 {
  padding-top: 100px !important; }

.pl0 {
  padding-left: 0 !important; }

.pl10 {
  padding-left: 10px !important; }

.pl15 {
  padding-left: 15px !important; }

.pl20 {
  padding-left: 20px !important; }

.pl10 {
  padding-left: 10px !important; }

.pl30 {
  padding-left: 30px !important; }

.pb0 {
  padding-bottom: 0 !important; }

.pb10 {
  padding-bottom: 10px !important; }

.pb20 {
  padding-bottom: 20px !important; }

.pb30 {
  padding-bottom: 30px !important; }

.pb40 {
  padding-bottom: 40px !important; }

.pb50 {
  padding-bottom: 50px !important; }

.pb60 {
  padding-bottom: 60px !important; }

.pb70 {
  padding-bottom: 70px !important; }

.pb80 {
  padding-bottom: 80px !important; }

.pb90 {
  padding-bottom: 90px !important; }

.pb100 {
  padding-bottom: 100px !important; }

.txt--lead {
  font-size: 1.13em;
  text-align: center; }
.txt--bold {
  font-weight: bold; }
.txt--up {
  font-size: 1.125em; }
.txt--small {
  font-size: .875em;
  line-height: 1.4em; }
.txt--1-5 {
  font-size: 1.5em !important;
  line-height: 1.6 !important; }
.txt--left {
  text-align: left; }
.txt--center {
  text-align: center; }
.txt--right {
  text-align: right; }
.txt--justify {
  text-align: justify;
  text-justify: inter-ideograph; }
.txt--lh1 {
  line-height: 1 !important; }
.txt--white {
  color: #fff; }
.txt--negative-indent {
  text-indent: -.5em; }
.txt--mincho {
  font-family: "source-han-serif-japanese", "游明朝", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Kaku Mincho Pro", serif; }
.txt--gothic, button {
  font-family: 'noto-regular', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Verdana, "ＭＳ Ｐゴシック", sans-serif; }
.txt--gold {
  color: #cc6; }
.txt--vertical {
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl; }

.midTex {
  font-size: 1.2em; }

.moreMidTex {
  font-size: 1.35em;
  line-height: 1.5em; }

.hiMidTex {
  font-size: 1.5em;
  line-height: 1.3em; }

.bigTex {
  font-size: 2.0em;
  line-height: 1.0em; }

.smallTex {
  font-size: 0.8em; }

.img--right {
  float: right;
  margin: 0 0 30px 30px; }
.img--left {
  float: left;
  margin: 0 30px 30px 0; }
.img--bd {
  border: 1px #cc6 solid; }
.img--of {
  object-fit: cover;
  font-family: 'object-fit:cover'; }
  .img--of--contain {
    object-fit: contain;
    font-family: 'object-fit:contain'; }

.display--none {
  display: none; }
.display--block {
  display: block; }
.display--ib {
  display: inline-block; }

.hover--opacity {
  opacity: 1;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transition: opacity .2s;
  -o-transition: opacity .2s;
  transition: opacity .2s; }
  .hover--opacity:hover {
    opacity: .7; }
.hover--underline:hover {
  text-decoration: underline; }

.ind {
  text-indent: 1em; }

.listLike {
  text-indent: -1em;
  padding-left: 1em; }

.listLike1-5 {
  text-indent: -1.3em;
  padding-left: 1.3em; }

.centerImg {
  display: block;
  margin: 0 auto; }

.rightImg {
  display: block;
  float: right;
  margin: 0 0 10px 15px; }

.leftImg {
  display: block;
  float: left; }

.ws-nw {
  display: inline-block;
  white-space: nowrap; }

.md-none {
  display: block; }
.md-visible {
  display: none; }
  .md-visible--inline {
    display: none; }

.sm-none {
  display: block; }
.sm-visible {
  display: none; }

.xs-none {
  display: block !important; }
.xs-visible {
  display: none !important; }
  .xs-visible--inline {
    display: none; }

@media screen and (max-width: 991px) {
  .md-visible {
    display: block; }
    .md-visible--inline {
      display: inline; }
  .md-none {
    display: none; }

  .md-m0 {
    margin: 0 !important; }
  .md-mb0 {
    margin-bottom: 0 !important; }
  .md-mb5 {
    margin-bottom: 5px !important; }
  .md-mb10 {
    margin-bottom: 10px !important; }
  .md-mb15 {
    margin-bottom: 15px !important; }
  .md-mb20 {
    margin-bottom: 20px !important; }
  .md-mb25 {
    margin-bottom: 25px !important; }
  .md-mb30 {
    margin-bottom: 30px !important; }
  .md-mb35 {
    margin-bottom: 35px !important; }
  .md-mb40 {
    margin-bottom: 40px !important; }
  .md-mb50 {
    margin-bottom: 50px !important; }
  .md-mb60 {
    margin-bottom: 60px !important; }
  .md-mt0 {
    margin-top: 0 !important; }
  .md-mt10 {
    margin-top: 10px !important; }
  .md-mt15 {
    margin-top: 15px !important; }
  .md-mt20 {
    margin-top: 20px !important; }
  .md-mt30 {
    margin-top: 30px !important; }
  .md-mt40 {
    margin-top: 40px !important; }
  .md-mt50 {
    margin-top: 50px !important; }
  .md-mr0 {
    margin-right: 0 !important; }
  .md-pb30 {
    padding-bottom: 30px !important; }
  .md-pt0 {
    padding-top: 0 !important; }
  .md-pt5 {
    padding-top: 5px !important; }
  .md-pt10 {
    padding-top: 10px !important; }
  .md-pt20 {
    padding-top: 20px !important; }
  .md-pt30 {
    padding-top: 30px !important; }
  .md-pt40 {
    padding-top: 40px !important; }
  .md-pt50 {
    padding-top: 50px !important; }
  .md-pt60 {
    padding-top: 60px !important; }
  .md-pt70 {
    padding-top: 70px !important; }
  .md-pb0 {
    padding-bottom: 0px !important; }
  .md-pb5 {
    padding-bottom: 5px !important; }
  .md-pb10 {
    padding-bottom: 10px !important; }
  .md-pb20 {
    padding-bottom: 20px !important; }
  .md-pb30 {
    padding-bottom: 30px !important; }
  .md-pb40 {
    padding-bottom: 40px !important; }
  .md-pb50 {
    padding-bottom: 50px !important; }
  .md-pb60 {
    padding-bottom: 60px !important; }
  .md-pb70 {
    padding-bottom: 70px !important; }
  .md-pl10 {
    padding-left: 10px !important; }
  .md-pl15 {
    padding-left: 15px !important; }
  .md-pl20 {
    padding-left: 20px !important; }
  .md-pl10 {
    padding-left: 10px !important; }
  .md-pl30 {
    padding-left: 30px !important; } }
@media screen and (max-width: 767px) {
  .sm-txt--left {
    text-align: left; }
  .sm-txt--right {
    text-align: right; }

  .sm-none {
    display: none; }
  .sm-visible {
    display: block; }

  .sm-mt10 {
    margin-top: 10px !important; }
  .sm-mt30 {
    margin-top: 30px !important; }
  .sm-mb10 {
    margin-bottom: 10px !important; }
  .sm-mb15 {
    margin-bottom: 15px !important; }
  .sm-mb20 {
    margin-bottom: 20px !important; }
  .sm-mb25 {
    margin-bottom: 25px !important; }
  .sm-mb30 {
    margin-bottom: 30px !important; }
  .sm-mb40 {
    margin-bottom: 40px !important; }
  .sm-p15 {
    padding: 15px !important; }
  .sm-pb0 {
    padding-bottom: 0 !important; }

  .sm-none {
    display: none !important; } }
@media screen and (max-width: 575px) {
  .hover--opacity:hover {
    opacity: 1; }
  .hover--opacity.hover {
    opacity: .7; }

  .txt--1-5 {
    font-size: 1.2em !important; }
  .txt--up {
    font-size: 1.05em; }
  .txt--lead {
    font-size: 1em;
    line-height: 1.6; }

  .xs--txt--right {
    text-align: right; }
  .xs--txt--center {
    text-align: center; }
  .xs--txt--left {
    text-align: left; }
  .xs--display--inline {
    display: inline; }

  .xs-m0 {
    margin: 0 !important; }
  .xs-mb0 {
    margin-bottom: 0 !important; }
  .xs-mb5 {
    margin-bottom: 5px !important; }
  .xs-mb10 {
    margin-bottom: 10px !important; }
  .xs-mb15 {
    margin-bottom: 15px !important; }
  .xs-mb20 {
    margin-bottom: 20px !important; }
  .xs-mb25 {
    margin-bottom: 25px !important; }
  .xs-mb30 {
    margin-bottom: 30px !important; }
  .xs-mb35 {
    margin-bottom: 35px !important; }
  .xs-mb40 {
    margin-bottom: 40px !important; }
  .xs-mb50 {
    margin-bottom: 50px !important; }
  .xs-mb60 {
    margin-bottom: 60px !important; }
  .xs-mt0 {
    margin-top: 0 !important; }
  .xs-mt10 {
    margin-top: 10px !important; }
  .xs-mt15 {
    margin-top: 15px !important; }
  .xs-mt20 {
    margin-top: 20px !important; }
  .xs-mt30 {
    margin-top: 30px !important; }
  .xs-mt40 {
    margin-top: 40px !important; }
  .xs-mt50 {
    margin-top: 50px !important; }
  .xs-mr0 {
    margin-right: 0 !important; }
  .xs-pb30 {
    padding-bottom: 30px !important; }
  .xs-pt0 {
    padding-top: 0 !important; }
  .xs-pt5 {
    padding-top: 5px !important; }
  .xs-pt10 {
    padding-top: 10px !important; }
  .xs-pt20 {
    padding-top: 20px !important; }
  .xs-pt30 {
    padding-top: 30px !important; }
  .xs-pt40 {
    padding-top: 40px !important; }
  .xs-pt50 {
    padding-top: 50px !important; }
  .xs-pt60 {
    padding-top: 60px !important; }
  .xs-pt70 {
    padding-top: 70px !important; }
  .xs-pb0 {
    padding-bottom: 0px !important; }
  .xs-pb5 {
    padding-bottom: 5px !important; }
  .xs-pb10 {
    padding-bottom: 10px !important; }
  .xs-pb20 {
    padding-bottom: 20px !important; }
  .xs-pb30 {
    padding-bottom: 30px !important; }
  .xs-pb40 {
    padding-bottom: 40px !important; }
  .xs-pb50 {
    padding-bottom: 50px !important; }
  .xs-pb60 {
    padding-bottom: 60px !important; }
  .xs-pb70 {
    padding-bottom: 70px !important; }
  .xs-pl10 {
    padding-left: 10px !important; }
  .xs-pl15 {
    padding-left: 15px !important; }
  .xs-pl20 {
    padding-left: 20px !important; }
  .xs-pl10 {
    padding-left: 10px !important; }
  .xs-pl30 {
    padding-left: 30px !important; }
  .xs-none {
    display: none !important; }
  .xs-visible {
    display: block !important; }
    .xs-visible--inline {
      display: inline !important; } }

/*# sourceMappingURL=style.css.map */
