@charset "UTF-8";
/*-フォント読み込み&Clearfix-*/
@font-face {
  font-family: 'c-sans_l';
  src: url("../font/CathaySans_JP_W_Lt.woff2") format("woff2"), url("../font/CathaySans_JP_W_Lt.woff") format("woff"), url("../font/CathaySans_JP_W_Lt.eot") format("eot"); }

@font-face {
  font-family: 'c-sans_r';
  src: url("../font/CathaySans_JP_W_Rg.woff2") format("woff2"), url("../font/CathaySans_JP_W_Rg.woff") format("woff"), url("../font/CathaySans_JP_W_Rg.eot") format("eot"); }

@font-face {
  font-family: 'c-sans_m';
  src: url("../font/CathaySans_JP_W_Md.woff2") format("woff2"), url("../font/CathaySans_JP_W_Md.woff") format("woff"), url("../font/CathaySans_JP_W_Md.eot") format("eot"); }

/* For modern browsers */
.cf:before,
.cf:after {
  content: "";
  display: block;
  overflow: hidden; }

.cf:after {
  clear: both; }

/* For IE 6/7 (trigger hasLayout) */
.cf {
  zoom: 1; }

/*-コンテンツレイアウト-*/
body {
  font-family: 'c-sans_r';
  font-feature-settings: 'pkna';
  color: #444; }

p {
  font-size: 15px;
  line-height: 1.8;
  margin-bottom: 1em;
  position: relative;
  top: 20px;
  transition: .8s;
  opacity: 0;
  text-align: left; }
  p.pr {
    position: absolute;
    z-index: 1;
    right: 10px;
    top: 5px;
    font-size: 18px;
    color: #fff;
    opacity: 1; }

a {
  font-family: 'c-sans_r';
  transition: .5s;
  text-decoration: none; }
  a:hover {
    opacity: .7; }

.left {
  float: left;
  margin-right: 1em; }
  .left.photo {
    text-align: left; }
    .left.photo img.p2 {
      margin-left: 1em; }
    .left.photo img.p3 {
      margin-left: 1em; }
  .left.text h2 {
    right: 50%;
    left: 0;
    text-align: right; }
  .left.text .subtitle span {
    right: 0; }
  .left.text .ws {
    padding: 2em 20em 2em 2em;
    right: -100px; }

.right {
  float: right;
  margin-left: 1em; }
  .right.photo {
    text-align: right; }
    .right.photo img.p2 {
      margin-right: 1em; }
    .right.photo img.p3 {
      margin-right: 1em; }
  .right.text h2 {
    right: 0;
    left: 50%; }
  .right.text .subtitle span {
    left: 0; }
  .right.text .ws {
    padding: 2em 2em 2em 20em;
    left: -300px; }

nav {
  width: 100%;
  left: 0;
  right: 0;
  position: fixed;
  height: 40px;
  top: 30px;
  z-index: 1000;
  padding: 10px 30px;
  transition: .5s; }
  nav div {
    width: 1000px;
    margin: auto;
    position: relative; }
  nav .logo {
    width: 200px;
    margin: 0 auto;
    position: absolute;
    left: 0;
    top: -20px;
    z-index: 1; }
    nav .logo svg {
      fill: #fff; }
  nav.scrl {
    top: 0;
    background-color: rgba(0, 0, 0, 0.3);
    width: 100%; }
  nav ul {
    display: flex;
    position: absolute;
    right: 40px;
    top: 0; }
    nav ul li {
      list-style: none;
      margin: 0 0 0 1em; }
      nav ul li a {
        color: #fff; }
        nav ul li a span {
          font-size: 18px;
          color: #fff; }
  nav a img {
    top: -10px !important;
    position: relative; }
  nav a.bnr {
    position: fixed;
    right: 2em;
    bottom: 1em;
    color: #fff;
    padding: 10px;
    background-color: #016064;
    font-size: 13px;
    opacity: .7;
    transition: .2s; }
    nav a.bnr:hover {
      opacity: 1; }

header {
  width: 100%;
  height: 100vh;
  min-width: 1000px;
  background: url(../images/hd.jpg) center;
  background-size: cover;
  position: relative;
  opacity: 0;
  transition: 2s; }
  header article {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -500px;
    padding-left: 10px; }
    header article p {
      font-size: 14px;
      line-height: 1.8;
      color: #666; }
  header a {
    color: #fff;
    text-align: center;
    font-size: 13px;
    position: absolute;
    bottom: 20px;
    left: 0;
    right: 0;
    letter-spacing: 1px;
    opacity: .7; }
    header a span {
      position: absolute;
      top: -70px;
      left: 50%;
      width: 24px;
      height: 24px;
      margin-left: -12px;
      border-left: 1px solid #fff;
      border-bottom: 1px solid #fff;
      -webkit-transform: rotate(-45deg);
      transform: rotate(-45deg);
      -webkit-animation: sdb 1.5s infinite;
      animation: sdb 1.5s infinite;
      box-sizing: border-box; }

@-webkit-keyframes sdb {
  0% {
    -webkit-transform: rotate(-45deg) translate(0, 0);
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    -webkit-transform: rotate(-45deg) translate(-20px, 20px);
    opacity: 0; } }

@keyframes sdb {
  0% {
    transform: rotate(-45deg) translate(0, 0);
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    transform: rotate(-45deg) translate(-20px, 20px);
    opacity: 0; } }

h1 {
  margin-bottom: 15px;
  position: relative; }
  h1 span {
    display: block;
    font-size: 38px;
    color: #016064;
    line-height: 1.4;
    font-family: 'c-sans_m'; }

section {
  background-color: #ebedec;
  padding: 5em 0;
  width: 100%;
  position: relative;
  overflow-x: hidden; }
  section#section1 {
    padding: 0; }
  section#section2 {
    text-align: right; }
  section#section3 {
    background-color: #fff;
    padding-bottom: 7em; }
    section#section3 .wrap {
      width: 750px;
      margin: auto; }
      section#section3 .wrap h2 {
        position: relative;
        margin-bottom: 1.5em; }
        section#section3 .wrap h2 span {
          display: block;
          font-size: 24px;
          line-height: 1.3;
          padding: 10px;
          color: #016064;
          font-weight: 500;
          opacity: 0;
          text-align: center;
          background-color: #fff !important; }
      section#section3 .wrap .subtitle {
        position: relative;
        text-align: center; }
        section#section3 .wrap .subtitle span {
          left: 0;
          right: 0;
          font-size: 25px;
          position: absolute;
          color: #016064;
          top: -1.2em; }
          section#section3 .wrap .subtitle span strong {
            color: #016064;
            font-size: 130%;
            font-weight: 300; }
      section#section3 .wrap p.graphtitle {
        margin-top: 3em;
        text-align: center;
        font-size: 21px;
        color: #016064; }
      section#section3 .wrap p.ticket {
        text-align: center;
        font-size: 26px;
        color: #016064;
        margin-bottom: 0; }
      section#section3 .wrap p.price {
        font-family: 'c-sans_m';
        font-size: 32px;
        font-weight: 700;
        text-align: center; }
        section#section3 .wrap p.price span {
          font-size: 75%;
          font-family: 'c-sans_m'; }
      section#section3 .wrap #graph {
        margin-bottom: 3em; }
      section#section3 .wrap a {
        display: block;
        width: 250px;
        margin: auto;
        text-align: center;
        padding: 20px 50px;
        color: #016064;
        background-color: #ebedec; }
  section#lead {
    padding: 5em 0 0;
    background-color: #fff; }
  section#sep {
    width: 100%;
    height: 80vh; }
  section.sep1 {
    background: url(../images/img-sep1.jpg) center fixed no-repeat;
    background-size: cover; }
  section.sep2 {
    background: url(../images/img-sep2.jpg) center fixed no-repeat;
    background-size: cover; }
  section.sep3 {
    background: url(../images/ft-img.jpg) center 0% no-repeat;
    background-size: cover;
    height: 700px !important; }
  section .lead {
    width: 700px;
    font-size: 14px;
    margin: auto;
    margin-bottom: 1em;
    text-align: center; }
    section .lead.last {
      margin-bottom: 5em; }
  section img {
    opacity: 0;
    transition: .8s;
    position: relative;
    top: 20px; }
    section img.main {
      top: 0; }
      section img.main.effect-on {
        opacity: 1;
        left: 0;
        transform: translateX(0px); }
    section img.main-left {
      left: -50px; }
    section img.main-right {
      transform: translateX(50px); }

.wrap {
  width: 1000px;
  margin: auto;
  padding-top: 50px;
  margin-top: -20px; }

.photo {
  width: 450px;
  margin: 3em 0;
  position: relative;
  z-index: 1; }
  .photo img {
    margin-bottom: 2em; }

.text {
  width: 500px;
  margin: 3em 0; }
  .text h2 {
    position: absolute;
    margin-bottom: 1em; }
    .text h2 span {
      display: block;
      padding: 10px;
      opacity: 0;
      font-size: 24px;
      line-height: 1.3;
      font-weight: 500;
      color: #fff; }
  .text .ws {
    background-color: #fff;
    margin: 7em 0 1.5em;
    width: 750px;
    position: relative; }
    .text .ws p {
      text-indent: 1em; }
  .text .subtitle {
    position: relative; }
    .text .subtitle span {
      font-size: 25px;
      position: absolute;
      color: #016064;
      top: -1.2em; }
      .text .subtitle span strong {
        color: #016064;
        font-size: 130%;
        font-weight: 300; }
  .text .sub p {
    font-size: 12px;
    line-height: 1.6; }
  .text .sub img {
    margin-bottom: .5em; }
    .text .sub img:first-child {
      margin-right: 1em; }

.wrap img.effect-on, p.effect-on {
  opacity: 1;
  top: 0; }

#slider {
  width: 100%; }
  #slider div img {
    width: 100%; }

/*-CSSアニメーション-*/
h1 {
  overflow: hidden; }
  h1 span {
    opacity: 0;
    transition-duration: 0;
    transition-delay: 1.2s; }
  h1:after {
    content: "";
    position: absolute;
    z-index: 999;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #016064;
    transition-delay: 0.8s;
    transition-duration: 0.8s;
    transition-timing-function: cubic-bezier(0.42, 0, 0.58, 1); }
  h1:after {
    left: -100%; }
  h1.reveal-text span {
    opacity: 1; }
  h1.reveal-text:after {
    left: 100%; }

h2 {
  overflow: hidden; }
  h2 span {
    transition-duration: 0;
    transition-delay: 0.4s; }
  h2:after {
    content: "";
    position: absolute;
    z-index: 999;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #016064;
    transition-duration: 0.8s;
    transition-timing-function: cubic-bezier(0.42, 0, 0.58, 1); }
  h2:after {
    left: -100%; }
  h2.effect-on span {
    background-color: #016064;
    opacity: 1 !important; }
  h2.effect-on:after {
    left: 100%; }

.text.left h2:after {
  left: auto;
  right: -100%; }

.text.left h2.effect-on:after {
  left: auto;
  right: 100%; }

.graph {
  width: 710px;
  margin: 0 auto 3em; }

/*----------------------------------------------------------------
	Footer
----------------------------------------------------------------*/
footer {
  position: relative;
  z-index: 10;
  background-color: transparent;
  color: #3E2B24; }
  footer h1, footer h2, footer h3, footer h4, footer h5, footer h6 {
    color: #fff; }
  footer a {
    color: #545766;
    text-decoration: none; }
    footer a:hover {
      color: #fff; }
  footer .meta-social ul li a {
    border-color: #545766;
    color: #545766; }
    footer .meta-social ul li a:hover {
      color: #fff; }

#top-footer {
  text-align: center; }
  #top-footer .widget {
    text-align: center !important;
    margin-bottom: 0;
    font-size: 0.778em; }
    #top-footer .widget h4 {
      margin-top: 1.34em; }
      #top-footer .widget h4 img {
        display: inline;
        opacity: 1; }
    #top-footer .widget p {
      color: #00478E;
      opacity: 1; }

footer .row-content.buffer {
  padding-top: 2%;
  padding-bottom: 0; }

#bottom-footer {
  padding-bottom: 3em; }
  #bottom-footer p {
    opacity: 1;
    text-align: center;
    font-size: 0.667em; }

/*----------------------------------------------------------------
	TKO
----------------------------------------------------------------*/
#tko .ad {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 1; }

#tko .tko-logo {
  position: absolute;
  top: 5px;
  left: 10px;
  z-index: 1001; }

#tko .logo {
  top: -17px;
  left: 120px; }

#tk_foot {
  margin: 0 auto;
  padding: 20px 0;
  border-top: solid 1px #ccc; }
  #tk_foot .inner-section {
    width: 1000px;
    margin: 0 auto; }
    #tk_foot .inner-section .footer-menu {
      text-align: center;
      margin-bottom: 20px; }
      #tk_foot .inner-section .footer-menu a {
        font-family: Hiragino Sans,'ヒラギノ角ゴシック','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','Meiryo', 'メイリオ', Verdana,'ＭＳ Ｐゴシック',sans-serif;
        display: inline-block;
        padding: 0 12px 0 8px;
        line-height: 1.4;
        font-size: 12px;
        border-right: solid 1px #666; }
      #tk_foot .inner-section .footer-menu a:last-child {
        border-style: none; }
      #tk_foot .inner-section .footer-menu a:link, #tk_foot .inner-section .footer-menu a:active {
        color: #000;
        text-decoration: none; }
      #tk_foot .inner-section .footer-menu a:visited {
        color: #000;
        text-decoration: none; }
      #tk_foot .inner-section .footer-menu a:hover {
        color: #000;
        text-decoration: underline; }
      #tk_foot .inner-section .footer-menu a:focus {
        outline: none; }
    #tk_foot .inner-section .footer-logo {
      text-align: center; }

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