@-webkit-keyframes scrollIcon {
  0% {
    height: 0px;
    -webkit-transform: translate3d(0, 0px, 0);
    transform: translate3d(0, 0px, 0); }
  30% {
    height: 500px;
    -webkit-transform: translate3d(0, 0px, 0);
    transform: translate3d(0, 0px, 0); }
  60% {
    height: 500px;
    -webkit-transform: translate3d(0, 500px, 0);
    transform: translate3d(0, 500px, 0); }
  100% {
    height: 0px;
    -webkit-transform: translate3d(0, 500px, 0);
    transform: translate3d(0, 500px, 0); } }

@keyframes scrollIcon {
  0% {
    height: 0px;
    -webkit-transform: translate3d(0, 0px, 0);
    transform: translate3d(0, 0px, 0); }
  30% {
    height: 500px;
    -webkit-transform: translate3d(0, 0px, 0);
    transform: translate3d(0, 0px, 0); }
  60% {
    height: 500px;
    -webkit-transform: translate3d(0, 500px, 0);
    transform: translate3d(0, 500px, 0); }
  100% {
    height: 0px;
    -webkit-transform: translate3d(0, 500px, 0);
    transform: translate3d(0, 500px, 0); } }

@media screen and (max-width: 768px) {
  .header {
    opacity: 1; }
  .keyBlock {
    position: relative;
    margin: 0 0 30px; }
    .keyBlock:before {
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      max-height: 290px;
      position: absolute;
      transition-duration: 1.5s; }
    .keyBlock .inner {
      position: relative;
      margin: 0 auto;
      padding: 0 4% 0; }
      .keyBlock .inner .vertical {
        color: #333;
        font-size: 12px;
        font-weight: bold;
        line-height: 2.2;
        letter-spacing: .2em;
        display: block;
        transition-duration: 1.5s;
        margin: 0 0 30px; }
      .keyBlock .inner h2 {
        position: relative;
        margin: 0;
        transition-delay: 1s;
        transition-duration: 1.5s;
        font-size: 18px;
        font-weight: bold;
        line-height: 1.6;
        letter-spacing: .08em; }
        .keyBlock .inner h2 span {
          font-size: 12px;
          font-weight: bold; }
    .keyBlock.move:before {
      opacity: 1; }
    .keyBlock.move .inner .vertical {
      opacity: 1;
      top: 0; }
    .keyBlock.move .inner h2 {
      opacity: 1;
      top: 0; }
  .textBlock .inner {
    transition-duration: 1.5s;
    transition-delay: 2s;
    position: relative;
    padding: 0 4% 40px; }
    .textBlock .inner p {
      margin-bottom: 20px;
      line-height: 1.8;
      font-size: 12px; }
    .textBlock .inner .contact {
      margin-bottom: 20px;
      padding: 20px;
      background-color: #EDF6F0; }
      .textBlock .inner .contact > dl {
        margin-bottom: 10px; }
      .textBlock .inner .contact dt {
        font-weight: bold;
        line-height: 1.8;
        font-size: 12px; }
      .textBlock .inner .contact dd {
        line-height: 1.8;
        font-size: 12px; }
      .textBlock .inner .contact .note {
        margin-bottom: 0;
        font-size: 11px;
        line-height: 1.8; }
    .textBlock .inner .btnArea {
      padding: 20px 0;
      text-align: center; }
      .textBlock .inner .btnArea .btn {
        display: inline-block;
        padding: 10px 54px;
        border: solid 1px #000;
        color: #000;
        background-color: #fff;
        text-decoration: none;
        font-size: 12px; }
        .textBlock .inner .btnArea .btn--2 {
          color: #fff;
          background-color: #000; }
    .textBlock .inner .bannerArea {
      margin: 20px 0 40px; }
      .textBlock .inner .bannerArea .banner {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        margin: 20px 0;
        text-align: center;
        line-height: 1.8;
        font-size: 24px;
        font-weight: bold;
        text-decoration: none;
        color: #fff;
        width: auto;
        height: 150px; }
        .textBlock .inner .bannerArea .banner--entry {
          color: #E38F60;
          background-color: rgba(247, 197, 167, 0.1);
          border: solid 2px #F5B28A; }
          .textBlock .inner .bannerArea .banner--entry:hover {
            background-color: #F5B28A;
            color: #fff; }
        .textBlock .inner .bannerArea .banner--mypage {
          color: #44A844;
          background-color: rgba(145, 192, 145, 0.1);
          border: solid 2px #8CC88C; }
          .textBlock .inner .bannerArea .banner--mypage:hover {
            background-color: #8CC88C;
            color: #fff; }
        .textBlock .inner .bannerArea .banner--navi {
          border: solid 1px #ccc;
          height: 100px; }
          .textBlock .inner .bannerArea .banner--navi:hover {
            opacity: .7; }
        .textBlock .inner .bannerArea .banner span {
          display: block;
          margin-bottom: 10px;
          line-height: 1.6;
          font-size: 14px;
          font-weight: bold; }
    .textBlock .inner .entrysheet {
      border-top: 2px solid #d8d8d8;
      padding-top: 40px; }
      .textBlock .inner .entrysheet .title {
        font-size: 14px;
        font-weight: bold;
        letter-spacing: 0.1em;
        margin-bottom: 20px; }
      .textBlock .inner .entrysheet .list {
        margin-bottom: 20px;
        line-height: 1.8;
        font-size: 12px; }
  .textBlock.move .inner {
    opacity: 1;
    top: 0; } }

@media screen and (min-width: 769px) {
  .header {
    opacity: 1; }
  .keyBlock {
    position: relative;
    margin: 0 0 40px; }
    .keyBlock .inner {
      position: relative;
      margin: 0 auto;
      max-width: 1280px;
      padding: 40px 100px; }
      .keyBlock .inner .vertical {
        -webkit-writing-mode: vertical-rl;
        -moz-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        -ms-text-orientation: upright;
        -webkit-text-orientation: upright;
        text-orientation: upright;
        font-size: 12px;
        font-weight: bold;
        line-height: 2.2;
        letter-spacing: .2em;
        display: block;
        position: absolute;
        top: 20px;
        left: 30px;
        transition-duration: 1.5s; }
        @supports (-ms-ime-align: auto) {
          .keyBlock .inner .vertical {
            height: 220px; } }
      .keyBlock .inner _:-ms-lang(x)::-ms-backdrop, .keyBlock .inner .vertical {
        height: 220px; }
      .keyBlock .inner h2 {
        position: relative;
        margin: 0;
        transition-delay: 1s;
        transition-duration: 1.5s;
        color: #333;
        font-size: 27px;
        font-weight: bold;
        line-height: 1.6;
        letter-spacing: .08em;
        text-align: center; }
        .keyBlock .inner h2 span {
          font-size: 18px;
          font-weight: bold; }
    .keyBlock.move:before {
      opacity: 1; }
    .keyBlock.move .inner .vertical {
      opacity: 1;
      top: 0; }
    .keyBlock.move .inner h2 {
      opacity: 1;
      top: 0; }
  .textBlock {
    position: relative;
    margin: -40px 0 160px;
    padding-top: 60px; }
    .textBlock .inner {
      max-width: 1060px;
      margin: 0 auto;
      position: relative;
      transition-duration: 1.5s;
      transition-delay: 2s;
      padding: 0 90px; }
      .textBlock .inner p {
        margin-bottom: 20px;
        line-height: 1.8; }
        .textBlock .inner p.t-center {
          text-align: center; }
      .textBlock .inner .contact {
        margin-bottom: 20px;
        padding: 40px;
        background-color: #EDF6F0; }
        .textBlock .inner .contact > dl {
          margin-bottom: 20px; }
        .textBlock .inner .contact dt {
          font-weight: bold;
          line-height: 1.8; }
        .textBlock .inner .contact dd {
          line-height: 1.8; }
        .textBlock .inner .contact .note {
          margin-bottom: 0;
          font-size: 12px;
          line-height: 1.8; }
      .textBlock .inner .btnArea {
        padding: 20px 0;
        text-align: center; }
        .textBlock .inner .btnArea .btn {
          display: inline-block;
          padding: 10px 54px;
          border: solid 1px #000;
          color: #000;
          background-color: #fff;
          text-decoration: none; }
          .textBlock .inner .btnArea .btn:hover {
            background-color: #000;
            color: #fff; }
          .textBlock .inner .btnArea .btn--2 {
            color: #fff;
            background-color: #000; }
            .textBlock .inner .btnArea .btn--2:hover {
              opacity: 1;
              background: #fff;
              color: #000; }
      .textBlock .inner .bannerArea {
        margin: 40px 0 80px;
        display: flex;
        align-items: center;
        justify-content: center; }
        .textBlock .inner .bannerArea .banner {
          display: flex;
          align-items: center;
          justify-content: center;
          flex-direction: column;
          margin: 0 20px;
          text-align: center;
          line-height: 1.8;
          font-size: 24px;
          font-weight: bold;
          text-decoration: none;
          color: #fff;
          width: 300px;
          height: 200px; }
          .textBlock .inner .bannerArea .banner--entry {
            color: #E38F60;
            background-color: rgba(247, 197, 167, 0.1);
            border: solid 2px #F5B28A; }
            .textBlock .inner .bannerArea .banner--entry:hover {
              background-color: #F5B28A;
              color: #fff; }
          .textBlock .inner .bannerArea .banner--mypage {
            color: #44A844;
            background-color: rgba(145, 192, 145, 0.1);
            border: solid 2px #8CC88C; }
            .textBlock .inner .bannerArea .banner--mypage:hover {
              background-color: #8CC88C;
              color: #fff; }
          .textBlock .inner .bannerArea .banner--navi {
            border: solid 1px #ccc;
            height: 100px; }
            .textBlock .inner .bannerArea .banner--navi:hover {
              opacity: .7; }
          .textBlock .inner .bannerArea .banner span {
            display: block;
            margin-bottom: 10px;
            line-height: 1.6;
            font-size: 14px;
            font-weight: bold; }
      .textBlock .inner .entrysheet {
        border-top: 2px solid #d8d8d8;
        padding-top: 80px; }
        .textBlock .inner .entrysheet .title {
          font-size: 20px;
          font-weight: bold;
          letter-spacing: 0.1em;
          margin-bottom: 30px; }
        .textBlock .inner .entrysheet .list {
          margin-bottom: 20px;
          line-height: 1.8; }
    .textBlock.move .inner {
      opacity: 1;
      top: 0; } }
