.TopSlider {
  width: 100vw;
  height: auto;
  min-height: 100vh;
  margin: 0 0 8.1%; }
  @media screen and (max-width: 640px) {
    .TopSlider {
      margin: 0 0 18.5%; } }
  .TopSlider__box {
    width: 100vw;
    height: auto;
    min-height: 100vh;
    background-size: cover;
    background-position: center; }
    .TopSlider__box--01 {
      background-image: url(../img/top/slider/slider_img_01_m.jpg?181001); }
      @media screen and (max-width: 640px) {
        .TopSlider__box--01 {
          background-image: url(../img/top/slider/slider_img_01_sp.jpg);
          background-position: center bottom; } }
    .TopSlider__box--02 {
      background-image: url(../img/top/slider/slider_img_06_m.jpg); }
      @media screen and (max-width: 640px) {
        .TopSlider__box--02 {
          background-image: url(../img/top/slider/slider_img_06_sp.jpg);
          background-position: center bottom; } }
    .TopSlider__box--03 {
      background-image: url(../img/top/slider/slider_img_03_m.jpg);
      background-position: 50% 72%; }
      @media screen and (max-width: 640px) {
        .TopSlider__box--03 {
          background-image: url(../img/top/slider/slider_img_03_sp.jpg);
          background-position: center bottom; } }
    .TopSlider__box--04 {
      background-image: url(../img/top/slider/slider_img_04_m.jpg);
      background-position: 50% 72%; }
      @media screen and (max-width: 640px) {
        .TopSlider__box--04 {
          background-image: url(../img/top/slider/slider_img_04_sp.jpg);
          background-position: center bottom; } }
.TopNews {
  margin: 0 0 4.5%; }
  @media screen and (max-width: 640px) {
    .TopNews {
      margin: 0 0 8%; } }
  .TopNews__head {
    width: 10.7%;
    margin: 0 auto 2.8%; }
    @media screen and (max-width: 640px) {
      .TopNews__head {
        width: 27.4%;
        margin: 0 auto 5.5%; } }
  .TopNews__bg {
    background: #fcfbfa;
    padding: 3.5% 7.8%; }
    @media screen and (max-width: 640px) {
      .TopNews__bg {
        padding: 4.6% 4.6% 4.6% 6.6%; } }
  .TopNews__items {
    display: flex;
    margin: 0 0 16px; }
    @media screen and (min-width: 641px) and (max-width: 999px) {
      .TopNews__items {
        margin: 0 0 1.6vw; } }
    .TopNews__items--last {
      margin: 0; }
      @media screen and (min-width: 641px) and (max-width: 999px) {
        .TopNews__items--last {
          margin: 0; } }
  .TopNews__date {
    flex: 0 1 9%;
    margin: 0 3% 0 0; }
    .TopNews__date--visible {
      overflow: visible;
      opacity: 0; }
      @media screen and (max-width: 640px) {
        .TopNews__date--visible {
          display: none; } }
    @media screen and (max-width: 640px) {
      .TopNews__date {
        margin: 0 10% 0 0; } }
  .TopNews__flash {
    text-align: center;
    flex: 0 1 9%;
    margin: 0 3% 0 0;
    background: #90b8b8;
    color: #FFF;
    border-radius: 3%;
    animation: flash_new infinite 1s linear; }
    @media screen and (max-width: 640px) {
      .TopNews__flash {
        flex: 0 1 16%;
        margin: 0 2% 0 0; } }
@keyframes flash_new {
  0%,100% {
    opacity: 1; }
  50% {
    opacity: 0; } }
.TopAbout {
  background: #8fd1d1;
  background-size: 50% auto;
  width: 100%;
  margin: 0 0 7.7%; }
  @media screen and (max-width: 640px) {
    .TopAbout {
      margin: 0 0 16.1%; } }
  .TopAbout__flex {
    display: flex;
    justify-content: center;
    align-items: center; }
    @media screen and (max-width: 640px) {
      .TopAbout__flex {
        display: block; } }
  .TopAbout__img {
    flex: 0 1 43.6%; }
    @media screen and (min-width: 1351px) {
      .TopAbout__img {
        flex: 0 1 50%; } }
    .TopAbout__img img, .TopAbout__img picture {
      height: 100%; }
  .TopAbout__lead {
    flex: 0 1 46%;
    padding: 4.9% 2% 2.3%;
    flex: 0 1 56.4%; }
    @media screen and (min-width: 1351px) {
      .TopAbout__lead {
        padding: 0 2%; } }
    @media screen and (min-width: 641px) and (max-width: 999px) {
      .TopAbout__lead {
        padding: 2.9% 2% 2.3% 2%;
        white-space: nowrap; } }
    @media screen and (max-width: 640px) {
      .TopAbout__lead {
        padding: 10.5% 2% 11.3% 2%; } }
  .TopAbout__head {
    width: 40.2%;
    max-width: 235px;
    margin: 0 auto 4%; }
    @media screen and (max-width: 640px) {
      .TopAbout__head {
        max-width: 100%;
        width: 61.3%;
        margin: 0 auto 6%; } }
  .TopAbout__text {
    text-align: center;
    color: #fff;
    line-height: 2;
    margin: 0 0 5.2% 1.6%;
    letter-spacing: 0.07rem; }
    @media screen and (max-width: 640px) {
      .TopAbout__text {
        font-size: 3.5vw;
        line-height: 1.95;
        margin: 0 0 7% 1.6%; } }
  .TopAbout__btn {
    width: 33.4%;
    max-width: 190px;
    margin: 0 auto;
    text-align: center;
    position: relative; }
    @media screen and (max-width: 640px) {
      .TopAbout__btn {
        width: 74.2%;
        max-width: 100%; } }
    .TopAbout__btn:hover {
      background: #fff; }
      .TopAbout__btn:hover .TopAbout__btn--link, .TopAbout__btn:hover .TopAbout__btn--link::before {
        opacity: 1;
        color: #8fd1d1; }
    .TopAbout__btn--link, .TopAbout__btn--link:visited {
      color: #fff;
      padding: 4% 5% 4.9% 37%;
      text-align: left; }
      @media screen and (max-width: 640px) {
        .TopAbout__btn--link, .TopAbout__btn--link:visited {
          padding: 2.9% 5% 3.5% 37%;
          font-size: 5vw; } }
.TopContent {
  background: url(../../images/top/top_bg_01_pc.jpg) left top no-repeat;
  background-size: cover;
  padding: 5.1% 0; }
  @media screen and (max-width: 640px) {
    .TopContent {
      background-image: url(../../images/top/top_bg_01_sp.jpg);
      background-size: 100% 100%;
      padding: 16.6% 0; } }
  @media screen and (max-width: 640px) {
    .TopContent__inner {
      padding: 0; }
      .TopContent__inner--sp {
        padding: 0 6%; } }
  .TopContent__ttl {
    width: 12.6%;
    margin: 0 auto 5%; }
    @media screen and (max-width: 640px) {
      .TopContent__ttl {
        width: 36.3%;
        margin: 0 auto 10%; } }
  .TopContent2Col {
    display: flex;
    flex-wrap: wrap; }
    @media screen and (max-width: 640px) {
      .TopContent2Col {
        display: block; } }
    .TopContent2Col__item {
      flex: 0 1 50%; }
      @media screen and (max-width: 640px) {
        .TopContent2Col__item {
          margin: 0 0 15.7vw; } }
      .TopContent2Col__item--03 .TopContent2Col__img, .TopContent2Col__item--04 .TopContent2Col__img {
        order: 2; }
      .TopContent2Col__item--03 .TopContent2Col__text, .TopContent2Col__item--04 .TopContent2Col__text {
        order: 1; }
    .TopContent2Col__link {
      position: relative;
      width: 100%; }
      .TopContent2Col__link::before {
        content: "";
        opacity: 0;
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        transition: 0.3s ease-out; }
        @media screen and (max-width: 640px) {
          .TopContent2Col__link::before {
            display: none; } }
      .TopContent2Col__link:hover {
        opacity: 1; }
        .TopContent2Col__link:hover::before {
          content: "";
          background: rgba(111, 142, 142, 0.3);
          width: 100%;
          height: 100%;
          display: block;
          position: absolute;
          left: 0;
          top: 0;
          opacity: 1; }
          @media screen and (max-width: 640px) {
            .TopContent2Col__link:hover::before {
              display: none; } }
    .TopContent2Col__img {
      flex: 0 1 50%; }
      @media screen and (max-width: 640px) {
        .TopContent2Col__img {
          margin: 0 0 3.8vw; } }
    .TopContent2Col__text {
      flex: 0 1 50%; }
      .TopContent2Col__textInner {
        margin: 0 auto; }
        .TopContent2Col__textInner--01 {
          width: 44%; }
          @media screen and (max-width: 640px) {
            .TopContent2Col__textInner--01 {
              width: 29.7%; } }
        .TopContent2Col__textInner--02 {
          width: 61%; }
          @media screen and (max-width: 640px) {
            .TopContent2Col__textInner--02 {
              width: 41%; } }
        .TopContent2Col__textInner--03 {
          width: 63%; }
          @media screen and (max-width: 640px) {
            .TopContent2Col__textInner--03 {
              width: 46%; } }
        .TopContent2Col__textInner--04 {
          width: 61%; }
          @media screen and (max-width: 640px) {
            .TopContent2Col__textInner--04 {
              width: 40.2%; } }
    .TopContent2Col__link {
      display: flex;
      background: #fff;
      align-items: center; }
      @media screen and (max-width: 640px) {
        .TopContent2Col__link {
          display: block;
          background: transparent; } }
.TopBnr {
  max-width: 865px;
  margin: 0 auto 5%; }
  @media screen and (max-width: 640px) {
    .TopBnr {
      width: 87.5%;
      margin: 0 auto 18%; } }
.TopLine {
  margin: 0 auto 11.6%; }
  .TopLine__wrap {
    display: flex; }
    @media screen and (max-width: 640px) {
      .TopLine__wrap {
        display: block; } }
  .TopLine__img--01 {
    width: 48.3%;
    margin: 0 3.7% 0 20.5%; }
    @media screen and (max-width: 640px) {
      .TopLine__img--01 {
        width: 94%;
        margin: 0 auto 7%; } }
  .TopLine__img--02 {
    width: 11.7%;
    display: block;
    pointer-events: none; }
    @media screen and (max-width: 640px) {
      .TopLine__img--02 {
        pointer-events: all;
        width: 94%;
        margin: 0 auto 0; } }
  .TopLine__img--03 {
    margin: 1% auto 0 20.4%;
    width: 63.962%; }
    @media screen and (max-width: 640px) {
      .TopLine__img--03 {
        margin: 2% auto 0;
        width: 94%; } }
.TopBanner {
  margin: 0 0 100px; }
  @media screen and (max-width: 640px) {
    .TopBanner {
      margin: 0 0 50px; } }
  .TopBanner__wrap {
    max-width: 640px;
    margin: 0 auto; }
