/*$color-beige: #fcf7e8;
$color-beige-02: #fefcf6;*/
/* ==========================================================================
   Top-Visual
   ========================================================================== */
.top-tab {
  z-index: 90;
  position: fixed;
  right: 0px;
  top: 15%;
  height: 50px;
  width: 10px;
  background: black; }
  @media only screen and (max-width: 1450px) {
    .top-tab {
      display: none; } }
  .top-tab .top-tab__list {
    margin-bottom: 10px; }
    .top-tab .top-tab__list .hover {
      right: 490px; }
    .top-tab .top-tab__list li {
      position: relative;
      transition: all .5s;
      margin-bottom: 20px;
      position: relative;
      background: #000;
      height: 160px;
      width: 100%;
      right: 50px;
      cursor: pointer;
      width: 500px;
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: -moz-flex;
      display: flex;
      -webkit-box-lines: multiple;
      -moz-box-lines: multiple;
      -webkit-flex-wrap: nowrap;
      -moz-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
      justify-content: flex-start; }
      .top-tab .top-tab__list li a {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 2;
        display: block;
        width: 100%;
        height: 100%; }
      .top-tab .top-tab__list li .tabname {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: -moz-flex;
        display: flex;
        -webkit-box-lines: multiple;
        -moz-box-lines: multiple;
        -webkit-flex-wrap: nowrap;
        -moz-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: center;
        writing-mode: vertical-rl;
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl; }
      .top-tab .top-tab__list li .tabbody {
        -webkit-flex: 1;
        flex: 1;
        width: 100%;
        padding: 5px;
        padding: 20px; }
      .top-tab .top-tab__list li .tabbody-inner {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: -moz-flex;
        display: flex;
        -webkit-box-lines: multiple;
        -moz-box-lines: multiple;
        -webkit-flex-wrap: nowrap;
        -moz-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        justify-content: space-between;
        height: 100%; }
        .top-tab .top-tab__list li .tabbody-inner .tab__text {
          width: 70%; }
        .top-tab .top-tab__list li .tabbody-inner .tab__img {
          align-self: center;
          position: relative;
          width: 26%;
          height: 0;
          padding-top: 26%;
          overflow: hidden; }
          .top-tab .top-tab__list li .tabbody-inner .tab__img img {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            display: block;
            width: auto;
            height: 100%; }
      .top-tab .top-tab__list li .tab__date {
        font-size: 14px;
        font-size: 1.4rem;
        margin-bottom: 10px; }
      .top-tab .top-tab__list li .tab__title {
        font-size: 15px;
        font-size: 1.5rem;
        font-weight: 700;
        line-height: 1.5; }
      .top-tab .top-tab__list li:nth-child(1) {
        border-left: 3px #18d7a3 solid; }
        .top-tab .top-tab__list li:nth-child(1) .tabname {
          color: #18d7a3;
          width: 60px; }
        .top-tab .top-tab__list li:nth-child(1) .tabbody {
          background: #b9cbc3; }
      .top-tab .top-tab__list li:nth-child(2) {
        border-left: 3px #54e0fe solid; }
        .top-tab .top-tab__list li:nth-child(2) .tabname {
          color: #54e0fe;
          width: 60px; }
        .top-tab .top-tab__list li:nth-child(2) .tabbody {
          background: #8ec5d3; }
      .top-tab .top-tab__list li:nth-child(3) {
        border-left: 3px #e1ff12 solid; }
        .top-tab .top-tab__list li:nth-child(3) .tabname {
          color: #e1ff12;
          width: 60px; }
        .top-tab .top-tab__list li:nth-child(3) .tabbody {
          background: #dde390; }

.main__visual {
  position: relative;
  z-index: 3;
  background-image: url("/assets/img/top/main.jpg");
  height: 870px; }
  @media only screen and (max-width: 1150px) {
    .main__visual {
      height: 620px; } }
  @media only screen and (max-width: 798px) {
    .main__visual {
      height: auto; } }
  @media only screen and (max-width: 640px) {
    .main__visual {
      min-height: auto;
      max-height: auto; } }
  .main__visual .visual__block {
    padding-top: 150px;
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: nowrap;
    -moz-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap; }
    @media only screen and (max-width: 1150px) {
      .main__visual .visual__block {
        padding-top: 100px; } }
    @media only screen and (max-width: 798px) {
      .main__visual .visual__block {
        padding-bottom: 30px;
        position: relative; } }
    @media only screen and (max-width: 640px) {
      .main__visual .visual__block {
        padding-top: 70px;
        max-height: 420px; } }
    .main__visual .visual__block .slider {
      width: 100%;
      max-width: 1400px;
      padding-bottom: 20px;
      margin: 0 auto; }
      @media only screen and (max-width: 1500px) {
        .main__visual .visual__block .slider {
          width: 95%; } }
      .main__visual .visual__block .slider .swiper-pagination {
        bottom: 0;
        z-index: 50;
        right: 0 !important;
        left: auto;
        width: auto; }
        .main__visual .visual__block .slider .swiper-pagination span {
          width: 40px;
          border-radius: 0;
          height: 3px; }
        .main__visual .visual__block .slider .swiper-pagination .swiper-pagination-bullet-active {
          background: rgba(225, 255, 18, 0.7) !important; }
        .main__visual .visual__block .slider .swiper-pagination .swiper-pagination-bullet {
          background: rgba(225, 255, 255, 0.7); }
      .main__visual .visual__block .slider .slide__main li {
        position: relative;
        z-index: 0;
        height: 570px; }
        @media only screen and (max-width: 1150px) {
          .main__visual .visual__block .slider .slide__main li {
            height: 460px; } }
        @media only screen and (max-width: 798px) {
          .main__visual .visual__block .slider .slide__main li {
            display: -webkit-box;
            display: -moz-box;
            display: -ms-flexbox;
            display: -webkit-flex;
            display: -moz-flex;
            display: flex;
            -webkit-box-lines: multiple;
            -moz-box-lines: multiple;
            -webkit-flex-wrap: wrap;
            -moz-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
            flex-wrap: wrap;
            height: 380px; } }
        @media only screen and (max-width: 640px) {
          .main__visual .visual__block .slider .slide__main li {
            height: 310px; } }
        .main__visual .visual__block .slider .slide__main li > a {
          position: absolute;
          display: block;
          content: "";
          width: 100%;
          height: 100%;
          top: 0;
          left: 0;
          z-index: 2; }
        .main__visual .visual__block .slider .slide__main li .slide__cat {
          position: absolute;
          top: 0;
          right: 0;
          display: inline-block;
          min-width: 100px;
          padding: 10px;
          background: #000;
          z-index: 2;
          color: #fff;
          opacity: 0.7;
          text-align: center; }
          .main__visual .visual__block .slider .slide__main li .slide__cat.slide__cat--01 {
            color: #e1ff12; }
          .main__visual .visual__block .slider .slide__main li .slide__cat.slide__cat--02 {
            color: #0b74d1; }
          .main__visual .visual__block .slider .slide__main li .slide__cat.slide__cat--03 {
            color: #54e0fe; }
          .main__visual .visual__block .slider .slide__main li .slide__cat.slide__cat--04 {
            color: #18d7a3; }
          @media only screen and (max-width: 798px) {
            .main__visual .visual__block .slider .slide__main li .slide__cat {
              font-size: 14px;
              font-size: 1.4rem;
              min-width: 80px; } }
          @media only screen and (max-width: 640px) {
            .main__visual .visual__block .slider .slide__main li .slide__cat {
              font-size: 13px;
              font-size: 1.3rem;
              padding: 6px; } }
        .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-left__block {
          width: 80%;
          max-width: 860px;
          position: absolute;
          left: 0;
          bottom: 0;
          background: rgba(31, 31, 31, 0.6);
          height: 520px;
          padding: 70px 40px; }
          @media only screen and (max-width: 1500px) {
            .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-left__block {
              padding: 60px 30px; } }
          @media only screen and (max-width: 1150px) {
            .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-left__block {
              padding: 40px 20px;
              height: 400px; } }
          @media only screen and (max-width: 798px) {
            .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-left__block {
              padding: 30px 20px;
              height: 320px; } }
          @media only screen and (max-width: 640px) {
            .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-left__block {
              width: 100%;
              padding: 20px;
              position: relative;
              display: block;
              height: calc(100% - 100px);
              margin: 0 auto;
              -web-kit-order: 2;
              order: 2;
              top: 0; } }
          @media only screen and (max-width: 480px) {
            .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-left__block {
              height: calc(100% - 80px); } }
          .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-left__block .product-namebox {
            width: 60%; }
            @media only screen and (max-width: 1370px) {
              .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-left__block .product-namebox {
                width: 34vw; } }
            @media only screen and (max-width: 1150px) {
              .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-left__block .product-namebox {
                width: 44vw; } }
            @media only screen and (max-width: 640px) {
              .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-left__block .product-namebox {
                width: 100%; } }
          .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-left__block .product-name {
            font-size: 50px;
            font-size: 5rem;
            font-weight: 700;
            color: #dcfe54;
            line-height: 1.2;
            font-family: 'Heebo', sans-serif; }
            @media only screen and (max-width: 1150px) {
              .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-left__block .product-name {
                font-size: 40px;
                font-size: 4rem; } }
            @media only screen and (max-width: 798px) {
              .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-left__block .product-name {
                font-size: 26px;
                font-size: 2.6rem; } }
            @media only screen and (max-width: 480px) {
              .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-left__block .product-name {
                font-size: 19px;
                font-size: 1.9rem; } }
          .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-left__block .product-text {
            font-size: 18px;
            font-size: 1.8rem;
            color: #fff;
            padding-top: 10px;
            line-height: 1.7; }
            @media only screen and (max-width: 1150px) {
              .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-left__block .product-text {
                font-size: 16px;
                font-size: 1.6rem;
                line-height: 1.6; } }
            @media only screen and (max-width: 798px) {
              .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-left__block .product-text {
                font-size: 14px;
                font-size: 1.4rem; } }
          .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-left__block .product-date {
            margin-bottom: 10px; }
            .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-left__block .product-date span {
              padding: 10px;
              display: inline-block;
              font-size: 20px;
              font-size: 2rem;
              font-weight: 700;
              color: #0b74d1;
              background: #fff; }
              @media only screen and (max-width: 1150px) {
                .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-left__block .product-date span {
                  font-size: 18px;
                  font-size: 1.8rem; } }
              @media only screen and (max-width: 798px) {
                .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-left__block .product-date span {
                  font-size: 16px;
                  font-size: 1.6rem; } }
              @media only screen and (max-width: 640px) {
                .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-left__block .product-date span {
                  font-size: 14px;
                  font-size: 1.4rem; } }
          .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-left__block .product-link {
            margin-top: 8%;
            margin-left: 20%; }
            @media only screen and (max-width: 798px) {
              .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-left__block .product-link {
                margin: 20px auto 0;
                text-align: center; } }
            @media only screen and (max-width: 640px) {
              .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-left__block .product-link {
                display: none; } }
            .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-left__block .product-link .button_set01 {
              color: #fff; }
              .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-left__block .product-link .button_set01:before {
                background: #fff; }
              .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-left__block .product-link .button_set01:after {
                background: #dcfe54; }
            .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-left__block .product-link .button_set01_dot:before {
              background: #fff; }
          .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-left__block .button_line {
            margin-top: 10%;
            margin-left: 20%;
            color: #fff; }
            .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-left__block .button_line:after {
              background: #fff; }
            .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-left__block .button_line:before {
              background: #fff; }
            .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-left__block .button_line .button_line_dot:before {
              background: #fff; }
            .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-left__block .button_line .button_line_dot a {
              color: #fff; }
        .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-right__block {
          position: absolute;
          width: 100%;
          max-width: 860px;
          background: #fff;
          top: 0;
          right: 0; }
          @media only screen and (max-width: 1500px) {
            .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-right__block {
              max-width: 800px; } }
          @media only screen and (max-width: 1370px) {
            .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-right__block {
              width: 60%; } }
          @media only screen and (max-width: 1150px) {
            .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-right__block {
              width: 50%; } }
          @media only screen and (max-width: 640px) {
            .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-right__block {
              width: 100%;
              height: 100px;
              position: relative; } }
          @media only screen and (max-width: 480px) {
            .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-right__block {
              height: 80px; } }
          .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-right__block .slide-right__block__inner {
            position: absolute;
            width: 100%;
            height: 0;
            padding-top: 60%;
            overflow: hidden;
            left: 0;
            top: 0; }
            @media only screen and (max-width: 640px) {
              .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-right__block .slide-right__block__inner {
                height: 100%;
                padding-top: 0; } }
          .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-right__block .product-img {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translateY(-50%) translateX(-50%);
            -webkit-transform: translateY(-50%) translateX(-50%);
            display: block;
            width: 100%;
            height: auto; }
            @media only screen and (max-width: 640px) {
              .main__visual .visual__block .slider .slide__main li.swiper-slide--product .slide-right__block .product-img {
                width: auto;
                height: 120%; } }
        .main__visual .visual__block .slider .slide__main li.swiper-slide--info .info-bg {
          position: relative;
          width: 100%;
          height: 100%;
          overflow: hidden; }
          .main__visual .visual__block .slider .slide__main li.swiper-slide--info .info-bg img {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            display: block;
            content: "";
            width: 100%;
            height: auto; }
            @media only screen and (max-width: 480px) {
              .main__visual .visual__block .slider .slide__main li.swiper-slide--info .info-bg img {
                width: auto;
                height: 130%; } }
        .main__visual .visual__block .slider .slide__main li.swiper-slide--info .info-text {
          position: absolute;
          top: 0;
          bottom: 0;
          right: 0;
          left: 0;
          margin: auto;
          width: 80%;
          height: 80%;
          background: rgba(255, 255, 255, 0.7);
          padding: 40px;
          text-align: center;
          display: -webkit-box;
          display: -moz-box;
          display: -ms-flexbox;
          display: -webkit-flex;
          display: -moz-flex;
          display: flex;
          -webkit-box-lines: multiple;
          -moz-box-lines: multiple;
          -webkit-flex-wrap: nowrap;
          -moz-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
          flex-direction: column;
          justify-content: center;
          align-items: center; }
          @media only screen and (max-width: 1150px) {
            .main__visual .visual__block .slider .slide__main li.swiper-slide--info .info-text {
              padding: 30px; } }
          @media only screen and (max-width: 798px) {
            .main__visual .visual__block .slider .slide__main li.swiper-slide--info .info-text {
              width: 90%;
              height: 80%;
              padding: 20px; } }
          @media only screen and (max-width: 640px) {
            .main__visual .visual__block .slider .slide__main li.swiper-slide--info .info-text {
              width: calc(100% - 30px);
              height: calc(100% - 30px);
              padding: 10px; } }
          .main__visual .visual__block .slider .slide__main li.swiper-slide--info .info-text h2 {
            margin-bottom: 1em;
            line-height: 1.5;
            font-size: 26px;
            font-size: 2.6rem;
            font-weight: 700; }
            @media only screen and (max-width: 1150px) {
              .main__visual .visual__block .slider .slide__main li.swiper-slide--info .info-text h2 {
                font-size: 24px;
                font-size: 2.4rem; } }
            @media only screen and (max-width: 798px) {
              .main__visual .visual__block .slider .slide__main li.swiper-slide--info .info-text h2 {
                font-size: 22px;
                font-size: 2.2rem;
                margin-bottom: 0.5em; } }
            @media only screen and (max-width: 480px) {
              .main__visual .visual__block .slider .slide__main li.swiper-slide--info .info-text h2 {
                font-size: 18px;
                font-size: 1.8rem; } }
          .main__visual .visual__block .slider .slide__main li.swiper-slide--info .info-text p {
            font-size: 18px;
            font-size: 1.8rem; }
            @media only screen and (max-width: 1150px) {
              .main__visual .visual__block .slider .slide__main li.swiper-slide--info .info-text p {
                font-size: 16px;
                font-size: 1.6rem; } }
            @media only screen and (max-width: 798px) {
              .main__visual .visual__block .slider .slide__main li.swiper-slide--info .info-text p {
                font-size: 14px;
                font-size: 1.4rem;
                text-align: left; } }
            @media only screen and (max-width: 640px) {
              .main__visual .visual__block .slider .slide__main li.swiper-slide--info .info-text p {
                font-size: 13px;
                font-size: 1.3rem; } }
          .main__visual .visual__block .slider .slide__main li.swiper-slide--info .info-text .info-text__date {
            display: inline-block;
            margin: 30px 0 20px;
            font-size: 22px;
            font-size: 2.2rem;
            letter-spacing: 0.1em; }
            @media only screen and (max-width: 1150px) {
              .main__visual .visual__block .slider .slide__main li.swiper-slide--info .info-text .info-text__date {
                font-size: 20px;
                font-size: 2rem; } }
            @media only screen and (max-width: 798px) {
              .main__visual .visual__block .slider .slide__main li.swiper-slide--info .info-text .info-text__date {
                font-size: 18px;
                font-size: 1.8rem;
                margin: 20px 0; } }
            @media only screen and (max-width: 640px) {
              .main__visual .visual__block .slider .slide__main li.swiper-slide--info .info-text .info-text__date {
                font-size: 16px;
                font-size: 1.6rem;
                letter-spacing: normal; } }
            .main__visual .visual__block .slider .slide__main li.swiper-slide--info .info-text .info-text__date h3 {
              font-size: 70%;
              background: #222;
              color: #fff;
              padding: 10px 20px; }
              @media only screen and (max-width: 640px) {
                .main__visual .visual__block .slider .slide__main li.swiper-slide--info .info-text .info-text__date h3 {
                  padding: 5px; } }
            .main__visual .visual__block .slider .slide__main li.swiper-slide--info .info-text .info-text__date p {
              padding: 10px 20px;
              border-bottom: 2px solid #222; }
              @media only screen and (max-width: 640px) {
                .main__visual .visual__block .slider .slide__main li.swiper-slide--info .info-text .info-text__date p {
                  padding: 5px; } }
          .main__visual .visual__block .slider .slide__main li.swiper-slide--info .info-text .info-link {
            margin-top: 30px; }
            @media only screen and (max-width: 1150px) {
              .main__visual .visual__block .slider .slide__main li.swiper-slide--info .info-text .info-link {
                margin-top: 20px; } }
            @media only screen and (max-width: 640px) {
              .main__visual .visual__block .slider .slide__main li.swiper-slide--info .info-text .info-link {
                display: none; } }
            .main__visual .visual__block .slider .slide__main li.swiper-slide--info .info-text .info-link .button_set01 {
              color: #222; }
              .main__visual .visual__block .slider .slide__main li.swiper-slide--info .info-text .info-link .button_set01:before {
                background: #222; }
              .main__visual .visual__block .slider .slide__main li.swiper-slide--info .info-text .info-link .button_set01:after {
                background: #222; }
            .main__visual .visual__block .slider .slide__main li.swiper-slide--info .info-text .info-link .button_set01_dot:before {
              background: #222; }

.solid_effect .visual__textblock-sub01 {
  -webkit-animation: Solid-text 0s ease 0.7s 1 normal forwards;
  animation: Solid-text 0s ease 0.7s 1 normal forwards; }
.solid_effect .visual__textblock-sub02 {
  -webkit-animation: Solid-text 1.7s ease 0.7s 1 normal forwards;
  animation: Solid-text 1.7s ease 0.7s 1 normal forwards; }

.top-title {
  color: #0b74d1;
  font-family: 'Heebo', sans-serif;
  font-size: 40px;
  font-size: 4rem;
  font-weight: 600;
  letter-spacing: 0.05em; }
  @media only screen and (max-width: 798px) {
    .top-title {
      font-size: 34px;
      font-size: 3.4rem; } }

.top-title-sub {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700; }
  @media only screen and (max-width: 640px) {
    .top-title-sub {
      font-size: 14px;
      font-size: 1.4rem; } }

.top__products {
  max-width: 1820px;
  width: 100%;
  position: relative;
  z-index: 30;
  margin: -80px auto 0;
  background: rgba(239, 239, 239, 0.9);
  padding: 50px;
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.4);
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  @media only screen and (max-width: 1150px) {
    .top__products {
      width: auto;
      margin: -10px 10px 0;
      padding: 10px;
      box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.4); } }
  .top__products .top__products-title {
    margin-top: 50px;
    width: 305px; }
    @media only screen and (max-width: 1450px) {
      .top__products .top__products-title {
        width: 100%; } }
  @media only screen and (max-width: 1450px) {
    .top__products .top__products-list {
      width: 100%; } }
  .top__products .top__products-list ul {
    position: relative;
    width: 100%;
    max-width: 1430px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: nowrap;
    -moz-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    justify-content: center; }
    @media only screen and (max-width: 890px) {
      .top__products .top__products-list ul {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: -moz-flex;
        display: flex;
        -webkit-box-lines: multiple;
        -moz-box-lines: multiple;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        justify-content: flex-start; } }
    .top__products .top__products-list ul li {
      width: 100%;
      margin: 0 .5%;
      min-height: 290px;
      overflow: hidden;
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: -moz-flex;
      display: flex;
      -webkit-box-lines: multiple;
      -moz-box-lines: multiple;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      color: #fff;
      position: relative; }
      @media only screen and (max-width: 890px) {
        .top__products .top__products-list ul li {
          width: 49%;
          margin: 0.5%;
          max-width: 500px;
          min-height: inherit;
          height: auto; } }
      .top__products .top__products-list ul li .products-cover {
        text-align: center;
        padding: 30px 0;
        display: block;
        width: 100%;
        right: -500px;
        height: 100%;
        position: absolute;
        top: 0;
        opacity: 0; }
        .top__products .top__products-list ul li .products-cover span {
          border: 1px solid #fff;
          padding: 5px;
          text-align: center;
          display: block;
          margin: 0 auto;
          position: absolute;
          top: 51%;
          left: 50%;
          -webkit-transform: translate(-50%, -51%);
          transform: translate(-50%, -51%); }
      .top__products .top__products-list ul li .Cover {
        opacity: 1;
        color: #fff;
        background: rgba(0, 26, 49, 0.8);
        right: 0px;
        transition: all .5s; }
      .top__products .top__products-list ul li .products-bg {
        width: 100%;
        padding: 20% 35px 0; }
        @media only screen and (max-width: 1000px) {
          .top__products .top__products-list ul li .products-bg {
            padding: 25% 5% 0; } }
        @media only screen and (max-width: 890px) {
          .top__products .top__products-list ul li .products-bg {
            padding: 10% 5%; } }
        .top__products .top__products-list ul li .products-bg h4 {
          font-size: 24px;
          font-size: 2.4rem;
          font-family: 'Heebo', sans-serif;
          margin-bottom: 15px; }
          @media only screen and (max-width: 640px) {
            .top__products .top__products-list ul li .products-bg h4 {
              font-size: 18px;
              font-size: 1.8rem; } }
        .top__products .top__products-list ul li .products-bg p {
          font-size: 18px;
          font-size: 1.8rem;
          line-height: 1.7; }
          @media only screen and (max-width: 640px) {
            .top__products .top__products-list ul li .products-bg p {
              font-size: 14px;
              font-size: 1.4rem; } }
        .top__products .top__products-list ul li .products-bg a {
          color: #fff; }

.top__service {
  position: relative;
  margin-top: 90px; }
  @media only screen and (max-width: 640px) {
    .top__service {
      margin-top: 50px; } }
  .top__service .Inner {
    padding: 80px 0  100px 0;
    z-index: 50; }
    @media only screen and (max-width: 798px) {
      .top__service .Inner {
        padding: 5px 0  60px 0; } }
    @media only screen and (max-width: 640px) {
      .top__service .Inner {
        padding-bottom: 50px; } }
  .top__service .top__service-read {
    width: 38%;
    margin-bottom: 60px; }
    @media only screen and (max-width: 1150px) {
      .top__service .top__service-read {
        width: 480px;
        background: rgba(255, 255, 255, 0.8);
        margin-bottom: 40px;
        padding: 10px; } }
    @media only screen and (max-width: 798px) {
      .top__service .top__service-read {
        width: 100%;
        margin-top: 100px;
        margin-bottom: 10px; } }
  .top__service .top__service-bg {
    z-index: 10;
    max-height: 585px;
    height: 100%;
    right: 0;
    top: 0;
    width: 60%;
    position: absolute;
    background-image: url("/assets/img/top/top_service_bg.jpg");
    background-position: bottom center;
    background-repeat: no-repeat;
    background-size: cover; }
    @media only screen and (max-width: 798px) {
      .top__service .top__service-bg {
        width: 100%;
        height: 0;
        padding-top: 30%; } }
  @media only screen and (max-width: 1100px) {
    .top__service .top__service-Intext {
      padding: 10px 0; } }
  .top__service .top__service-Intext .top__service-text {
    margin: 15px 0 30px;
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: 700; }
    @media only screen and (max-width: 798px) {
      .top__service .top__service-Intext .top__service-text {
        font-size: 20px;
        font-size: 2rem; } }
    @media only screen and (max-width: 640px) {
      .top__service .top__service-Intext .top__service-text {
        margin: 20px 0;
        font-size: 18px;
        font-size: 1.8rem; } }
    @media only screen and (max-width: 640px) {
      .top__service .top__service-Intext .top__service-text + p {
        font-size: 14px;
        font-size: 1.4rem; } }
  .top__service .top__service-list {
    position: relative;
    width: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-between; }
    .top__service .top__service-list > li {
      width: 31%;
      max-width: 440px;
      margin: 0 1%;
      padding: 50px 30px;
      overflow: hidden;
      background: linear-gradient(180deg, #0d81e8 0%, #0b74d2 40%, #0d83eb 40%, #0d83eb 100%);
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: -moz-flex;
      display: flex;
      -webkit-box-lines: multiple;
      -moz-box-lines: multiple;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
      @media only screen and (max-width: 1000px) {
        .top__service .top__service-list > li {
          padding: 40px 20px; } }
      @media only screen and (max-width: 642px) {
        .top__service .top__service-list > li {
          width: 100%;
          max-width: 642px;
          padding: 20px;
          margin-bottom: 5px; } }
      .top__service .top__service-list > li .service-name {
        font-size: 24px;
        font-size: 2.4rem;
        text-align: center;
        color: #fff;
        font-weight: 700;
        padding: 0px 0 30px; }
        @media only screen and (max-width: 798px) {
          .top__service .top__service-list > li .service-name {
            font-size: 20px;
            font-size: 2rem; } }
        @media only screen and (max-width: 640px) {
          .top__service .top__service-list > li .service-name {
            font-size: 18px;
            font-size: 1.8rem;
            padding: 0px 0 20px; } }
      .top__service .top__service-list > li .service-subname {
        font-size: 18px;
        font-size: 1.8rem;
        text-align: center;
        color: #e1ff12;
        font-family: 'Heebo', sans-serif; }
      .top__service .top__service-list > li .service-icon {
        margin: 0 auto;
        width: auto; }
        @media only screen and (max-width: 640px) {
          .top__service .top__service-list > li .service-icon {
            width: 50px; } }
      .top__service .top__service-list > li .service-explanation {
        margin: 40px 0;
        color: #fff; }
        @media only screen and (max-width: 798px) {
          .top__service .top__service-list > li .service-explanation {
            font-size: 12px;
            font-size: 1.2rem;
            margin: 20px 0; } }
      .top__service .top__service-list > li .service_link {
        margin-top: 0%;
        text-align: center; }
        .top__service .top__service-list > li .service_link .button_set01 {
          color: #fff; }
          .top__service .top__service-list > li .service_link .button_set01:before, .top__service .top__service-list > li .service_link .button_set01:after {
            background: #fff; }
        .top__service .top__service-list > li .service_link .button_set01_dot:before {
          background: #fff; }

.top__company {
  position: relative;
  padding: 80px 0; }
  @media only screen and (max-width: 798px) {
    .top__company {
      padding: 80px 0 0px 0; } }
  .top__company .top__company-bg {
    z-index: 10;
    max-height: 575px;
    height: 100%;
    left: 0;
    top: 0;
    width: 60%;
    padding-top: 30%;
    position: absolute;
    background-image: url("/assets/img/top/top_company_bg.jpg");
    background-position: bottom center;
    background-repeat: no-repeat;
    background-size: cover; }
    @media only screen and (max-width: 798px) {
      .top__company .top__company-bg {
        width: 100%;
        height: 0; } }
  .top__company .Inner {
    z-index: 50; }
  .top__company .top__company-read {
    width: 35%;
    margin-bottom: 60px;
    margin-left: auto; }
    @media only screen and (max-width: 1150px) {
      .top__company .top__company-read {
        width: 480px;
        background: rgba(255, 255, 255, 0.8);
        padding: 10px; } }
    @media only screen and (max-width: 798px) {
      .top__company .top__company-read {
        width: 100%;
        top: 100px;
        margin-bottom: 0; } }
    .top__company .top__company-read .top-title {
      display: block; }
      @media only screen and (max-width: 798px) {
        .top__company .top__company-read .top-title {
          background: none;
          margin: 0; } }
    .top__company .top__company-read .company-explanation-top {
      font-size: 24px;
      font-size: 2.4rem;
      padding: 45px 0;
      font-weight: 700; }
      @media only screen and (max-width: 798px) {
        .top__company .top__company-read .company-explanation-top {
          padding: 30px 0;
          font-size: 20px;
          font-size: 2rem; } }
      @media only screen and (max-width: 640px) {
        .top__company .top__company-read .company-explanation-top {
          padding: 20px 0;
          font-size: 18px;
          font-size: 1.8rem; } }
    .top__company .top__company-read .company-explanation {
      padding-bottom: 45px; }
      @media only screen and (max-width: 798px) {
        .top__company .top__company-read .company-explanation {
          padding-bottom: 30px; } }
      @media only screen and (max-width: 640px) {
        .top__company .top__company-read .company-explanation {
          font-size: 14px;
          font-size: 1.4rem; } }

.top__news {
  padding: 90px 0; }
  @media only screen and (max-width: 798px) {
    .top__news {
      padding: 60px 0; } }
  @media only screen and (max-width: 640px) {
    .top__news {
      padding: 50px 0; } }
  .top__news .Inner {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-between; }
    .top__news .Inner .news__title {
      width: 100%; }
      @media only screen and (max-width: 798px) {
        .top__news .Inner .news__title {
          margin-left: 10px;
          margin-bottom: 20px; } }
      .top__news .Inner .news__title h3 {
        display: inline-block;
        margin-bottom: 45px;
        margin-right: 20px; }
        @media only screen and (max-width: 798px) {
          .top__news .Inner .news__title h3 {
            display: block;
            margin-bottom: 5px; } }
    .top__news .Inner .news__block, .top__news .Inner .event__block {
      width: 48%;
      background: #efefef;
      padding: 30px; }
      @media only screen and (max-width: 1450px) {
        .top__news .Inner .news__block, .top__news .Inner .event__block {
          width: 49%;
          padding: 10px; } }
      @media only screen and (max-width: 798px) {
        .top__news .Inner .news__block, .top__news .Inner .event__block {
          width: 98%;
          margin: 1%; } }
      .top__news .Inner .news__block .block-header, .top__news .Inner .event__block .block-header {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: -moz-flex;
        display: flex;
        -webkit-box-lines: multiple;
        -moz-box-lines: multiple;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        justify-content: space-between; }
        .top__news .Inner .news__block .block-header h4, .top__news .Inner .event__block .block-header h4 {
          width: 50%; }
          @media only screen and (max-width: 798px) {
            .top__news .Inner .news__block .block-header h4, .top__news .Inner .event__block .block-header h4 {
              width: 100%; } }
        .top__news .Inner .news__block .block-header .archive-link, .top__news .Inner .event__block .block-header .archive-link {
          text-align: right;
          width: 50%; }
          .top__news .Inner .news__block .block-header .archive-link .list-link, .top__news .Inner .event__block .block-header .archive-link .list-link {
            color: inherit;
            font-weight: 700;
            position: relative;
            padding-right: 20px; }
            .top__news .Inner .news__block .block-header .archive-link .list-link:after, .top__news .Inner .event__block .block-header .archive-link .list-link:after {
              content: "";
              display: block;
              width: 10px;
              height: 10px;
              top: 50%;
              right: 0%;
              -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
              position: absolute;
              background-image: url("/assets/img/common/list_icon.png");
              background-size: 10px 10px;
              background-repeat: no-repeat; }
    .top__news .Inner .event__block h4, .top__news .Inner .news__block h4 {
      font-size: 30px;
      font-size: 3rem;
      color: #0b74d1;
      font-weight: 600;
      font-family: 'Heebo', sans-serif;
      margin-bottom: 35px; }
      @media only screen and (max-width: 1000px) {
        .top__news .Inner .event__block h4, .top__news .Inner .news__block h4 {
          margin-bottom: 10px; } }
      .top__news .Inner .event__block h4 span, .top__news .Inner .news__block h4 span {
        font-size: 18px;
        font-size: 1.8rem;
        color: #222;
        padding-left: 10px;
        letter-spacing: 0.25rem; }
    .top__news .Inner .contents-list__name {
      margin: 0 !important; }
    .top__news .Inner .event-list--past > li {
      padding: 10px 0 !important;
      position: relative; }
      .top__news .Inner .event-list--past > li:hover {
        opacity: 0.8; }
      .top__news .Inner .event-list--past > li > a {
        position: absolute;
        top: 0;
        left: 0;
        display: block;
        width: 100%;
        height: 100%;
        z-index: 2; }
    .top__news .Inner .event-list--past .contents-list__text {
      position: relative; }
      .top__news .Inner .event-list--past .contents-list__text .contents-list__cat {
        position: absolute;
        top: 0;
        left: 0;
        transform: translateY(-50%);
        display: inline-block;
        max-width: 100%;
        padding: 10px 20px;
        color: #fff;
        font-size: 14px;
        font-size: 1.4rem;
        font-weight: 700; }
        @media only screen and (max-width: 798px) {
          .top__news .Inner .event-list--past .contents-list__text .contents-list__cat {
            font-size: 12px;
            font-size: 1.2rem;
            padding: 10px; } }
    .top__news .Inner .event-list--past .contents-list__date {
      font-weight: 700;
      margin-bottom: 10px;
      display: inline-block; }
      .top__news .Inner .event-list--past .contents-list__date > span {
        background: #0b74d1;
        color: #fff;
        padding: 5px;
        font-size: 14px;
        font-size: 1.4rem;
        margin-left: 0;
        display: inline-block;
        margin-right: 10px;
        font-weight: normal; }
        .top__news .Inner .event-list--past .contents-list__date > span.closed {
          background: #555555; }
      @media only screen and (max-width: 640px) {
        .top__news .Inner .event-list--past .contents-list__date {
          font-size: 14px;
          font-size: 1.4rem; }
          .top__news .Inner .event-list--past .contents-list__date span {
            font-size: 12px;
            font-size: 1.2rem;
            margin-right: 5px; } }
    .top__news .Inner .event-list--past .event-cat {
      border-left: 5px solid #18d7a3; }
    .top__news .Inner .event-list--past .contents-list__tag-list {
      padding-left: 10px;
      display: inline-block; }
      .top__news .Inner .event-list--past .contents-list__tag-list li {
        line-height: 1.6;
        padding: 0;
        padding-left: 5px;
        font-size: 14px;
        font-size: 1.4rem;
        display: inline;
        color: #666; }
        .top__news .Inner .event-list--past .contents-list__tag-list li:nth-child(n+2) {
          margin-left: 5px; }
        @media only screen and (max-width: 640px) {
          .top__news .Inner .event-list--past .contents-list__tag-list li {
            font-size: 12px;
            font-size: 1.2rem; } }
    .top__news .Inner .NE-List {
      width: 100%;
      max-width: 1080px;
      font-size: 14px;
      font-size: 1.4rem; }
      @media only screen and (max-width: 1300px) {
        .top__news .Inner .NE-List {
          max-width: 1300px; } }
      @media only screen and (max-width: 640px) {
        .top__news .Inner .NE-List {
          font-size: 12px;
          font-size: 1.2rem; } }
      .top__news .Inner .NE-List li {
        padding: 15px 0;
        color: #222;
        border-bottom: 1px solid #dcdade; }
        .top__news .Inner .NE-List li:last-child {
          border-bottom: none; }
        .top__news .Inner .NE-List li time {
          font-weight: 700;
          color: #555555; }
          @media only screen and (max-width: 798px) {
            .top__news .Inner .NE-List li time {
              padding: 0 10px 0 0px; } }
        .top__news .Inner .NE-List li span {
          margin-left: 25px; }
          .top__news .Inner .NE-List li span a {
            font-weight: 700;
            padding: 5px 10px;
            margin-top: -2px;
            color: #222;
            font-size: 13px;
            font-size: 1.3rem; }
        .top__news .Inner .NE-List li .cat01 {
          background: #18d7a3; }
        .top__news .Inner .NE-List li .cat02 {
          background: #e1ff12; }
        .top__news .Inner .NE-List li .cat03 {
          background: #5fafac; }
        .top__news .Inner .NE-List li .cat04 {
          background: #725f9b; }
        .top__news .Inner .NE-List li p {
          width: auto;
          display: block;
          margin-top: 13px; }
          .top__news .Inner .NE-List li p a {
            color: #222;
            display: block; }
          @media only screen and (max-width: 798px) {
            .top__news .Inner .NE-List li p {
              padding-top: 5px;
              margin-left: 0px; } }
    .top__news .Inner .archive-link--tablet {
      margin: 20px 0;
      text-align: center; }
      .top__news .Inner .archive-link--tablet .list-link {
        color: inherit;
        font-weight: 700;
        position: relative;
        padding-right: 20px; }
        .top__news .Inner .archive-link--tablet .list-link:after {
          content: "";
          display: block;
          width: 10px;
          height: 10px;
          top: 50%;
          right: 0%;
          -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
          position: absolute;
          background-image: url("/assets/img/common/list_icon.png");
          background-size: 10px 10px;
          background-repeat: no-repeat; }

.top__column {
  margin: 0px;
  padding-bottom: 100px;
  background: linear-gradient(180deg, #fff 0%, #fff 40%, #e8f0f7 40%, #e8f0f7 100%); }
  @media only screen and (max-width: 798px) {
    .top__column {
      padding-bottom: 0px; } }
  @media only screen and (max-width: 640px) {
    .top__column {
      padding-bottom: 20px; } }
  .top__column .top__column__header {
    margin: 0 auto 50px;
    max-width: 1400px;
    width: 100%;
    position: relative; }
    @media only screen and (max-width: 1450px) {
      .top__column .top__column__header {
        width: 95%; } }
    @media only screen and (max-width: 1150px) {
      .top__column .top__column__header {
        margin-bottom: 40px; } }
    @media only screen and (max-width: 798px) {
      .top__column .top__column__header {
        margin-bottom: 30px; } }
    @media only screen and (max-width: 640px) {
      .top__column .top__column__header {
        margin-bottom: 20px; } }
    .top__column .top__column__header h3 {
      display: inline-block;
      margin-right: 20px; }
    .top__column .top__column__header .column-aclink {
      position: absolute;
      right: 0;
      top: 0; }
      .top__column .top__column__header .column-aclink a {
        color: #222; }
    .top__column .top__column__header .list-link {
      font-weight: 700;
      padding-right: 20px; }
      .top__column .top__column__header .list-link:after {
        content: "";
        display: block;
        width: 10px;
        height: 10px;
        top: 50%;
        right: 0%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        position: absolute;
        background-image: url("/assets/img/common/list_icon.png");
        background-size: 10px 10px;
        background-repeat: no-repeat; }
  .top__column .column-list {
    max-width: 1820px; }
  @media only screen and (max-width: 640px) {
    .top__column .column-aclink--sp.list-link {
      position: relative;
      text-align: center;
      display: block;
      margin: 20px auto;
      right: 0;
      left: 0;
      width: 110px;
      font-weight: 700;
      padding-right: 20px; }
      .top__column .column-aclink--sp.list-link:after {
        content: "";
        display: block;
        width: 10px;
        height: 10px;
        top: 50%;
        right: 0%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        position: absolute;
        background-image: url("/assets/img/common/list_icon.png");
        background-size: 10px 10px;
        background-repeat: no-repeat; }
      .top__column .column-aclink--sp.list-link a {
        color: #222; } }

.Hide {
  opacity: 0;
  transition: all .3s; }
