#GlobalHeader {
  position: absolute;
  top: 0;
  left: 0; }
  @media screen and (max-width: 960px) {
    #GlobalHeader {
      position: relative; } }
  #GlobalHeader .inner {
    background-color: rgba(255, 255, 255, 0);
    box-shadow: 0 0 0 0; }
    @media screen and (max-width: 960px) {
      #GlobalHeader .inner {
        position: relative;
        background-color: white;
        box-shadow: 0 1.33333vw 1.33333vw rgba(0, 0, 0, 0.05); } }
    #GlobalHeader .inner .logo .index {
      display: block; }
      @media screen and (max-width: 960px) {
        #GlobalHeader .inner .logo .index {
          display: none; } }
    #GlobalHeader .inner .logo .def {
      display: none; }
      @media screen and (max-width: 960px) {
        #GlobalHeader .inner .logo .def {
          display: block; } }
    #GlobalHeader .inner .gnavis .gnavi .list .list-ttl a {
      color: #FFFFFF !important; }
    #GlobalHeader .inner .gnavis .gnavi .list .sub-lists .sub-list .sub-list-ttl a {
      color: #FFFFFF !important; }
    #GlobalHeader .inner .gnavis .gnavi .service .list-ttl:after {
      border-top: 4px solid #FFFFFF !important; }
      @media screen and (max-width: 960px) {
        #GlobalHeader .inner .gnavis .gnavi .service .list-ttl:after {
          border-top: 1.06667vw solid #FFFFFF !important; } }
    #GlobalHeader .inner .gnavis .lang:before {
      background-color: #FFFFFF !important; }
    #GlobalHeader .inner .gnavis .lang a {
      color: #FFFFFF !important; }

/*--------------------------------------------------------------------------
   Index
---------------------------------------------------------------------------*/
#Index {
  position: relative; }
  #Index .sec {
    position: relative;
    padding-top: 130px; }
    @media screen and (max-width: 960px) {
      #Index .sec {
        width: 92%;
        margin: auto;
        padding-top: 26.66667vw; } }
    #Index .sec .inner {
      width: 100%; }
      @media screen and (max-width: 960px) {
        #Index .sec .inner {
          width: 100%; } }
      #Index .sec .inner .sec-ttl {
        text-align: center;
        font-family: 'Vollkorn', serif;
        font-size: 60px;
        margin-bottom: 70px;
        line-height: 1; }
        @media screen and (max-width: 960px) {
          #Index .sec .inner .sec-ttl {
            font-size: 10.13333vw;
            margin-bottom: 17.33333vw; } }
  #Index .mv {
    position: relative;
    width: 100%;
    height: 580px;
    z-index: 10; }
    #Index .mv .inner {
      width: 100%;
      height: 100%;
      position: relative;
      margin: 0 auto;
      z-index: 1;
      box-sizing: border-box; }
      #Index .mv .inner .pic {
        position: relative;
        width: 100%;
        height: 100%;
        overflow: hidden;
        background-image: url("../../images/index/mv.jpg");
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center top; }
        @media screen and (max-width: 960px) {
          #Index .mv .inner .pic {
            background-image: url("../../images/index/mv_sp.png"); } }
      #Index .mv .inner .ttl {
        position: absolute;
        top: 40%;
        transform: translateY(-50%);
        margin-left: 5vw;
        margin-right: 5vw; }
        @media screen and (max-width: 960px) {
          #Index .mv .inner .ttl {
            top: 21.33333vw;
            transform: translateY(0); } }
        #Index .mv .inner .ttl .ttl1 {
          color: #FFFFFF;
          font-size: 2.7vw;
          margin-bottom: 2.5vw;
          line-height: 1; }
          @media screen and (max-width: 960px) {
            #Index .mv .inner .ttl .ttl1 {
              display: none; } }
        #Index .mv .inner .ttl .ttl2 {
          color: #FFFFFF;
          font-size: 6vw;
          line-height: 1; }
          @media screen and (max-width: 960px) {
            #Index .mv .inner .ttl .ttl2 {
              font-size: 12.26667vw;
              line-height: 1.3; } }
      #Index .mv .inner .scroll {
        display: none; }
        @media screen and (max-width: 960px) {
          #Index .mv .inner .scroll {
            font-family: 'Vollkorn', serif;
            display: block;
            position: absolute;
            left: 0;
            right: 0;
            bottom: 61.33333vw;
            text-align: center;
            width: 100%;
            color: #FFFFFF; }
            #Index .mv .inner .scroll:before {
              content: "";
              position: absolute;
              left: 0;
              right: 0;
              bottom: -16.0vw;
              display: block;
              width: 1px;
              margin: 0 auto;
              background-color: #FFFFFF;
              height: 16.0vw;
              z-index: 1; }
            #Index .mv .inner .scroll:after {
              content: "";
              position: absolute;
              left: 0;
              right: 0;
              bottom: -16.0vw;
              display: block;
              width: 1px;
              margin: 0 auto;
              background-color: #AAAAAA;
              height: 16.0vw;
              transform-origin: center top;
              z-index: 2;
              -webkit-animation: 1s ease-in 3s infinite running scroll-animation;
              animation: 1s ease-in 3s infinite running scroll-animation; }
          @-webkit-keyframes scroll-animation {
            0% {
              transform: scaleY(0); }
            100% {
              transform: scaleY(100%); } }
          @keyframes scroll-animation {
            0% {
              transform: scaleY(0); }
            100% {
              transform: scaleY(100%); } } }
      #Index .mv .inner .bnr {
        display: block;
        position: absolute;
        right: 50px;
        bottom: 100px;
        width: 270px; }
        @media screen and (max-width: 960px) {
          #Index .mv .inner .bnr {
            display: none; } }
    #Index .mv .pickup {
      width: 100%;
      position: absolute;
      bottom: 0;
      box-sizing: border-box;
      padding: 25px;
      background-color: rgba(87, 87, 87, 0.7);
      height: 80px;
      z-index: 11;
      display: flex;
      flex-wrap: nowrap;
      align-items: center; }
      @media screen and (max-width: 960px) {
        #Index .mv .pickup {
          display: block;
          height: 45.33333vw;
          padding: 5.33333vw;
          background-color: #575757; } }
      #Index .mv .pickup .ttl {
        font-family: 'Vollkorn', serif;
        font-size: 21px;
        color: #FFFFFF;
        line-height: 1;
        width: 140px; }
        @media screen and (max-width: 960px) {
          #Index .mv .pickup .ttl {
            width: 100%;
            margin-bottom: 6.66667vw; } }
      #Index .mv .pickup .lists {
        color: #FFFFFF; }
        #Index .mv .pickup .lists .list {
          width: 100%;
          display: flex;
          flex-wrap: nowrap;
          align-items: center; }
          @media screen and (max-width: 960px) {
            #Index .mv .pickup .lists .list {
              display: block; } }
          #Index .mv .pickup .lists .list .list-date {
            margin-right: 20px;
            width: 100px;
            line-height: 1; }
            @media screen and (max-width: 960px) {
              #Index .mv .pickup .lists .list .list-date {
                width: 100%;
                margin-bottom: 2.66667vw; } }
          #Index .mv .pickup .lists .list .list-ttl {
            white-space: nowrap;
            text-overflow: ellipsis;
            overflow: hidden;
            width: 800px; }
            @media screen and (max-width: 960px) {
              #Index .mv .pickup .lists .list .list-ttl {
                width: 100%;
                text-overflow: clip;
                white-space: normal;
                display: -webkit-box;
                -webkit-box-orient: vertical;
                -webkit-line-clamp: 2;
                overflow: hidden; } }
  #Index .about {
    background-color: #FFFFFF;
    padding-top: 230px;
    padding-bottom: 90px;
    background-image: url("../../images/index/about_bg.png");
    background-repeat: no-repeat;
    background-size: cover; }
    @media screen and (max-width: 960px) {
      #Index .about {
        padding-top: 26.66667vw;
        padding-bottom: 21.33333vw;
        width: 100%; } }
    #Index .about:before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      width: 100%;
      height: 120px;
      background-color: #F4F6F9; }
      @media screen and (max-width: 960px) {
        #Index .about:before {
          height: 16.0vw; } }
    #Index .about:after {
      content: "";
      position: absolute;
      bottom: 0;
      right: 0;
      display: block;
      width: 342px;
      height: 100%;
      background-color: #FFFFFF;
      z-index: 1; }
      @media screen and (max-width: 1400px) {
        #Index .about:after {
          width: 4.0vw; } }
      @media screen and (max-width: 640px) {
        #Index .about:after {
          display: none; } }
    #Index .about .inner {
      width: 600px;
      max-width: 1280px;
      margin: auto; }
      @media screen and (max-width: 960px) {
        #Index .about .inner {
          width: 92%;
          margin: auto; } }
      #Index .about .inner:after {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        display: block;
        width: 342px;
        height: 650px;
        background-color: #F4F6F9;
        z-index: 2; }
        @media screen and (max-width: 1400px) {
          #Index .about .inner:after {
            width: 4.0vw; } }
        @media screen and (max-width: 640px) {
          #Index .about .inner:after {
            display: none; } }
      #Index .about .inner .sec-ttl {
        text-align: left; }
      #Index .about .inner .ttl {
        font-size: 24px;
        font-weight: bold;
        margin-bottom: 50px;
        text-align: left; }
        @media screen and (max-width: 960px) {
          #Index .about .inner .ttl {
            font-size: 5.86667vw;
            margin-bottom: 10.66667vw; } }
      #Index .about .inner .txt {
        margin-bottom: 60px; }
        @media screen and (max-width: 960px) {
          #Index .about .inner .txt {
            margin-bottom: 10.66667vw; } }
      #Index .about .inner .bt {
        margin-left: 0; }
  #Index .business .inner .txt {
    text-align: center;
    margin-bottom: 50px; }
    @media screen and (max-width: 960px) {
      #Index .business .inner .txt {
        text-align: left;
        margin-bottom: 10.66667vw; } }
  #Index .business .inner .lists {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between; }
    @media screen and (max-width: 960px) {
      #Index .business .inner .lists {
        display: block;
        margin-left: -4%;
        margin-right: -4%; } }
    #Index .business .inner .lists .list {
      width: 24.9%;
      position: relative;
      box-sizing: border-box;
      padding: 50px;
      background-repeat: no-repeat;
      background-size: cover; }
      #Index .business .inner .lists .list:hover {
        opacity: 0.8;
        transition: all 0.3s cubic-bezier(0.230, 1.000, 0.320, 1.000); }
      @media screen and (max-width: 960px) {
        #Index .business .inner .lists .list {
          width: 100%;
          height: 33.33333vw;
          padding: 6.66667vw;
          margin-bottom: 1px; } }
      #Index .business .inner .lists .list:nth-child(1) {
        background-image: url("../../images/index/business_pic1.png"); }
      #Index .business .inner .lists .list:nth-child(2) {
        background-image: url("../../images/index/business_pic2.png"); }
      #Index .business .inner .lists .list:nth-child(3) {
        background-image: url("../../images/index/business_pic3.png"); }
      #Index .business .inner .lists .list:nth-child(4) {
        background-image: url("../../images/index/business_pic4.png"); }
      #Index .business .inner .lists .list a {
        position: absolute;
        top: 0;
        left: 0;
        display: block;
        width: 100%;
        height: 100%;
        z-index: 2; }
        @media screen and (max-width: 960px) {
          #Index .business .inner .lists .list a:after {
            content: "";
            display: block;
            position: absolute;
            right: 6.66667vw;
            top: 50%;
            border-top: 1px solid #FFFFFF;
            border-right: 1px solid #FFFFFF;
            box-sizing: border-box;
            transform: translateY(-50%) rotate(45deg);
            width: 5.33333vw;
            height: 5.33333vw; } }
      #Index .business .inner .lists .list .list-ttl {
        position: relative;
        z-index: 1;
        text-align: center;
        font-family: 'Vollkorn', serif;
        font-size: 40px;
        color: #FFFFFF; }
        @media screen and (max-width: 960px) {
          #Index .business .inner .lists .list .list-ttl {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            font-size: 8.53333vw;
            text-align: left; } }
      #Index .business .inner .lists .list .list-txt {
        position: relative;
        z-index: 1;
        color: #FFFFFF; }
        @media screen and (max-width: 960px) {
          #Index .business .inner .lists .list .list-txt {
            display: none; } }
  #Index .news .inner {
    width: 100%;
    max-width: 1280px;
    margin: auto;
    box-sizing: border-box; }
    #Index .news .inner .lists {
      margin-bottom: 40px; }
      @media screen and (max-width: 960px) {
        #Index .news .inner .lists {
          margin-bottom: 10.66667vw; } }
      #Index .news .inner .lists .list {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        box-sizing: border-box;
        padding-top: 20px;
        padding-bottom: 20px;
        border-bottom: 1px solid #EEEEEE; }
        #Index .news .inner .lists .list:first-child {
          border-top: 1px solid #EEEEEE; }
        @media screen and (max-width: 960px) {
          #Index .news .inner .lists .list {
            flex-wrap: wrap;
            padding-top: 6.66667vw;
            padding-bottom: 6.66667vw; } }
        #Index .news .inner .lists .list .list-date {
          width: 130px; }
          @media screen and (max-width: 960px) {
            #Index .news .inner .lists .list .list-date {
              width: 26.66667vw;
              margin-bottom: 5.33333vw; } }
        #Index .news .inner .lists .list .list-category {
          font-size: 12px;
          color: #FFFFFF;
          width: 140px;
          margin-right: 40px;
          background-color: #444444;
          box-sizing: border-box;
          padding: 10px;
          line-height: 1;
          text-align: center; }
          @media screen and (max-width: 960px) {
            #Index .news .inner .lists .list .list-category {
              width: 29.33333vw;
              padding: 2.66667vw;
              font-size: 3.2vw;
              margin-bottom: 5.33333vw; } }
        #Index .news .inner .lists .list .list-txt {
          width: 920px; }
          @media screen and (max-width: 960px) {
            #Index .news .inner .lists .list .list-txt {
              width: 100%; } }
    #Index .news .inner .more {
      position: relative;
      margin-left: auto;
      margin-right: 0;
      width: 65px;
      box-sizing: border-box; }
      @media screen and (max-width: 960px) {
        #Index .news .inner .more {
          width: 17.33333vw; } }
      #Index .news .inner .more a {
        display: inline-block;
        width: 100%;
        height: 100%; }
        #Index .news .inner .more a:after {
          content: "";
          display: block;
          position: absolute;
          right: 0;
          top: 50%;
          width: 10px;
          height: 10px;
          border-top: 1px solid #A78821;
          border-right: 1px solid #A78821;
          box-sizing: border-box;
          transform: translateY(-50%) rotate(45deg); }
          @media screen and (max-width: 960px) {
            #Index .news .inner .more a:after {
              width: 2.66667vw;
              height: 2.66667vw; } }
          #Index .news .inner .more a:after:hover {
            opacity: 0.8;
            transition: all 0.3s cubic-bezier(0.230, 1.000, 0.320, 1.000); }
