/* CSS Document */
/*---------------
	TOP
---------------*/
#top {
  /*----- cont01 (NEWS) -----*/
  /*----- cont02 (SERVICE) -----*/
  /*----- cont03 (ABOUT) -----*/
  /*----- cont04 (CONTACT) -----*/ }
  #top .movie {
    width: 90%;
    max-width: 1500px;
    aspect-ratio: 2 / 1;
    margin: 0 auto !important;
    position: relative; }
    @media only screen and (max-width: 1199px) {
      #top .movie {
        width: 100%; } }
    #top .movie:after {
      content: '';
      display: block;
      width: 200vw;
      height: 25%;
      background: #f2f2f3;
      position: absolute;
      bottom: 0;
      left: -100%;
      z-index: -2; }
      @media only screen and (max-width: 1199px) {
        #top .movie:after {
          display: none; } }
    #top .movie video {
      width: 100%; }
  #top .banner {
    background: #f2f2f3;
    padding-top: 20px; }
    #top .banner .inner {
      width: 90%;
      max-width: 1500px;
      margin: 0 auto; }
      #top .banner .inner a {
        display: block;
        width: 50%;
        margin-left: 50%; }
        @media only screen and (max-width: 999px) {
          #top .banner .inner a {
            width: 100%;
            margin: 0 auto; } }
        #top .banner .inner a:hover {
          opacity: .8; }
  #top .cont01 {
    background: #f2f2f3;
    padding-bottom: 60px; }
    @media only screen and (max-width: 1199px) {
      #top .cont01 {
        padding: 60px 0; } }
    #top .cont01 .cont01__inner {
      width: 1200px;
      margin: 0 auto; }
      @media only screen and (max-width: 1199px) {
        #top .cont01 .cont01__inner {
          width: auto; } }
      #top .cont01 .cont01__inner .cont01__ttl {
        width: 40%;
        color: #6185bc;
        font-size: 8em;
        font-weight: 600;
        letter-spacing: .1em;
        margin-bottom: 50px; }
        @media only screen and (max-width: 1199px) {
          #top .cont01 .cont01__inner .cont01__ttl {
            width: 95%;
            max-width: 600px;
            text-indent: 2%;
            font-size: 7em;
            margin-bottom: 30px; } }
        #top .cont01 .cont01__inner .cont01__ttl .bar {
          display: block;
          background: #6185bc;
          color: #fff;
          font-size: .38em;
          font-weight: normal;
          line-height: 2.3;
          margin-top: 20px;
          position: relative; }
          @media only screen and (max-width: 1199px) {
            #top .cont01 .cont01__inner .cont01__ttl .bar {
              font-size: .33em; } }
          #top .cont01 .cont01__inner .cont01__ttl .bar:before {
            content: '';
            display: block;
            width: 100vw;
            height: 69.91px;
            background: #6185bc;
            position: absolute;
            top: 0;
            right: 0;
            z-index: -1; }
            @media only screen and (max-width: 1199px) {
              #top .cont01 .cont01__inner .cont01__ttl .bar:before {
                display: none; } }
      #top .cont01 .cont01__inner .cont01__gridBox {
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: 80px; }
        @media only screen and (max-width: 1199px) {
          #top .cont01 .cont01__inner .cont01__gridBox {
            max-width: 600px;
            display: block;
            padding: 0 5%;
            margin: 0 auto; } }
        #top .cont01 .cont01__inner .cont01__gridBox .cont01__new article a {
          position: relative; }
          #top .cont01 .cont01__inner .cont01__gridBox .cont01__new article a:hover {
            opacity: .8; }
          #top .cont01 .cont01__inner .cont01__gridBox .cont01__new article a p {
            width: 70px;
            background: #c59965;
            text-align: center;
            color: #fff;
            font-size: 1.4em;
            font-weight: bold;
            line-height: 70px;
            letter-spacing: .1em;
            border-radius: 35px;
            position: absolute;
            top: -20px;
            right: 25px; }
          #top .cont01 .cont01__inner .cont01__gridBox .cont01__new article a dl {
            color: var(--text-color); }
            #top .cont01 .cont01__inner .cont01__gridBox .cont01__new article a dl dt {
              font-size: 1.2em;
              letter-spacing: .1em;
              margin: 20px 0; }
              #top .cont01 .cont01__inner .cont01__gridBox .cont01__new article a dl dt span {
                display: inline-block;
                background: #c59965;
                color: #fff;
                font-size: 1.2em;
                padding: 5px;
                margin-right: 1em; }
            #top .cont01 .cont01__inner .cont01__gridBox .cont01__new article a dl dd {
              font-size: 1.6em;
              line-height: 1.5; }
        #top .cont01 .cont01__inner .cont01__gridBox .cont01__list ul {
          display: flex;
          justify-content: right;
          margin: -90px 0 70px; }
          @media only screen and (max-width: 1199px) {
            #top .cont01 .cont01__inner .cont01__gridBox .cont01__list ul {
              justify-content: center;
              margin: 30px 0; } }
          #top .cont01 .cont01__inner .cont01__gridBox .cont01__list ul li {
            font-size: 1.6em;
            line-height: 1.5;
            margin-left: 50px;
            position: relative; }
            @media only screen and (max-width: 1199px) {
              #top .cont01 .cont01__inner .cont01__gridBox .cont01__list ul li {
                font-size: 1.4em;
                padding: 0 3%;
                margin: 0; } }
            #top .cont01 .cont01__inner .cont01__gridBox .cont01__list ul li:nth-child(n + 2):before {
              content: '';
              display: block;
              width: 1px;
              height: 100%;
              background: var(--text-color);
              position: absolute;
              left: -25px; }
              @media only screen and (max-width: 1199px) {
                #top .cont01 .cont01__inner .cont01__gridBox .cont01__list ul li:nth-child(n + 2):before {
                  left: 0; } }
            @media only screen and (max-width: 1199px) {
              #top .cont01 .cont01__inner .cont01__gridBox .cont01__list ul li:first-child {
                padding: 0 3% 0 0; } }
            @media only screen and (max-width: 1199px) {
              #top .cont01 .cont01__inner .cont01__gridBox .cont01__list ul li:last-child(3) {
                padding: 0 0 0 3%; } }
            #top .cont01 .cont01__inner .cont01__gridBox .cont01__list ul li a {
              color: var(--text-color); }
              #top .cont01 .cont01__inner .cont01__gridBox .cont01__list ul li a:hover {
                text-decoration: underline; }
        #top .cont01 .cont01__inner .cont01__gridBox .cont01__list article {
          margin-bottom: 40px; }
          #top .cont01 .cont01__inner .cont01__gridBox .cont01__list article a {
            display: grid;
            grid-template-columns: 200px 1fr;
            column-gap: 20px;
            position: relative; }
            @media only screen and (max-width: 1199px) {
              #top .cont01 .cont01__inner .cont01__gridBox .cont01__list article a {
                grid-template-columns: 150px 1fr; } }
            #top .cont01 .cont01__inner .cont01__gridBox .cont01__list article a:hover {
              opacity: .8; }
            #top .cont01 .cont01__inner .cont01__gridBox .cont01__list article a dl {
              color: var(--text-color); }
              #top .cont01 .cont01__inner .cont01__gridBox .cont01__list article a dl dt {
                font-size: 1.2em;
                margin-bottom: 20px;
                letter-spacing: .1em; }
                #top .cont01 .cont01__inner .cont01__gridBox .cont01__list article a dl dt span {
                  display: inline-block;
                  background: #c59965;
                  color: #fff;
                  font-size: 1.2em;
                  padding: 5px;
                  margin-right: 1em; }
                  @media only screen and (max-width: 1199px) {
                    #top .cont01 .cont01__inner .cont01__gridBox .cont01__list article a dl dt span {
                      font-size: 1em; } }
              #top .cont01 .cont01__inner .cont01__gridBox .cont01__list article a dl dd {
                font-size: 1.6em;
                line-height: 1.5; }
                @media only screen and (max-width: 1199px) {
                  #top .cont01 .cont01__inner .cont01__gridBox .cont01__list article a dl dd {
                    font-size: 1.2em; } }
        #top .cont01 .cont01__inner .cont01__gridBox .cont01__list .cont01__btn {
          text-align: right;
          font-size: 1.8em;
          font-weight: 600;
          line-height: 40px;
          letter-spacing: .1em;
          position: relative; }
          @media only screen and (max-width: 1199px) {
            #top .cont01 .cont01__inner .cont01__gridBox .cont01__list .cont01__btn {
              font-size: 1.6em;
              line-height: 35px; } }
          #top .cont01 .cont01__inner .cont01__gridBox .cont01__list .cont01__btn a {
            color: #c59965; }
            #top .cont01 .cont01__inner .cont01__gridBox .cont01__list .cont01__btn a:hover {
              opacity: .8; }
            #top .cont01 .cont01__inner .cont01__gridBox .cont01__list .cont01__btn a i {
              font-size: 2.4em;
              position: absolute;
              right: 3.3em; }
              @media only screen and (max-width: 1199px) {
                #top .cont01 .cont01__inner .cont01__gridBox .cont01__list .cont01__btn a i {
                  font-size: 1.2em;
                  right: .5em;
                  position: relative; } }
              @media only screen and (max-width: 1199px) {
                #top .cont01 .cont01__inner .cont01__gridBox .cont01__list .cont01__btn a i:after {
                  content: '';
                  width: 10px;
                  height: 10px;
                  display: block;
                  border: 10px solid #c59965;
                  border-radius: 15px;
                  position: absolute;
                  top: -5px;
                  left: -5px; } }
  #top .cont02 {
    margin: 90px 0; }
    @media only screen and (max-width: 1199px) {
      #top .cont02 {
        margin: 60px 0; } }
    #top .cont02 .cont02__inner {
      width: 1200px;
      margin: 0 auto; }
      @media only screen and (max-width: 1199px) {
        #top .cont02 .cont02__inner {
          width: auto; } }
      #top .cont02 .cont02__inner .cont02__ttl {
        width: 40%;
        color: #6185bc;
        font-size: 8em;
        font-weight: 600;
        letter-spacing: .1em;
        margin-bottom: 80px; }
        @media only screen and (max-width: 1199px) {
          #top .cont02 .cont02__inner .cont02__ttl {
            width: 95%;
            max-width: 600px;
            text-indent: 2%;
            font-size: 7em;
            margin-bottom: 30px; } }
        #top .cont02 .cont02__inner .cont02__ttl .bar {
          display: block;
          background: #6185bc;
          color: #fff;
          font-size: .38em;
          font-weight: normal;
          line-height: 2.3;
          margin-top: 20px;
          position: relative; }
          @media only screen and (max-width: 1199px) {
            #top .cont02 .cont02__inner .cont02__ttl .bar {
              font-size: .33em; } }
          #top .cont02 .cont02__inner .cont02__ttl .bar:before {
            content: '';
            display: block;
            width: 100vw;
            height: 69.91px;
            background: #6185bc;
            position: absolute;
            top: 0;
            right: 0;
            z-index: -1; }
            @media only screen and (max-width: 1199px) {
              #top .cont02 .cont02__inner .cont02__ttl .bar:before {
                display: none; } }
      #top .cont02 .cont02__inner .cont02__gridBox {
        display: grid;
        grid-template-columns: 1fr 1fr;
        margin-bottom: 170px; }
        @media only screen and (max-width: 1199px) {
          #top .cont02 .cont02__inner .cont02__gridBox {
            max-width: 600px;
            display: flex;
            flex-direction: column;
            padding: 0 5%;
            margin: 0 auto 60px; } }
        #top .cont02 .cont02__inner .cont02__gridBox .pic {
          position: relative; }
          @media only screen and (max-width: 1199px) {
            #top .cont02 .cont02__inner .cont02__gridBox .pic {
              order: 1;
              width: auto; } }
          #top .cont02 .cont02__inner .cont02__gridBox .pic img {
            border-radius: 10px;
            position: absolute;
            top: 0; }
            @media only screen and (max-width: 1199px) {
              #top .cont02 .cont02__inner .cont02__gridBox .pic img {
                position: relative; } }
        @media only screen and (max-width: 1199px) {
          #top .cont02 .cont02__inner .cont02__gridBox .cont02__content {
            order: 2; } }
        #top .cont02 .cont02__inner .cont02__gridBox .cont02__content .cont02__arw {
          color: var(--text-color);
          font-size: 5em;
          font-weight: 500;
          line-height: 120px;
          background: url("../../img/top/arrow.png") no-repeat center right/contain;
          margin: -35px 0 50px; }
          @media only screen and (max-width: 1199px) {
            #top .cont02 .cont02__inner .cont02__gridBox .cont02__content .cont02__arw {
              font-size: 3.5em;
              line-height: 2.5;
              background: none;
              margin: 0; } }
        #top .cont02 .cont02__inner .cont02__gridBox .cont02__content .cont02__arw--wl {
          line-height: 1.2; }
          @media only screen and (max-width: 1199px) {
            #top .cont02 .cont02__inner .cont02__gridBox .cont02__content .cont02__arw--wl {
              padding: .5em 0; } }
        #top .cont02 .cont02__inner .cont02__gridBox .cont02__content h4 {
          color: var(--text-color);
          font-size: 2.5em;
          font-weight: 500; }
          @media only screen and (max-width: 1199px) {
            #top .cont02 .cont02__inner .cont02__gridBox .cont02__content h4 {
              font-size: 2em;
              line-height: 1.5; } }
        #top .cont02 .cont02__inner .cont02__gridBox .cont02__content .cont02__txt {
          font-size: 1.6em;
          line-height: 2;
          margin: 30px 0; }
        #top .cont02 .cont02__inner .cont02__gridBox .cont02__content .cont02__btn {
          font-size: 2em;
          line-height: 40px;
          font-weight: 500;
          position: relative; }
          @media only screen and (max-width: 1199px) {
            #top .cont02 .cont02__inner .cont02__gridBox .cont02__content .cont02__btn {
              font-size: 1.6em;
              line-height: 30px; } }
          #top .cont02 .cont02__inner .cont02__gridBox .cont02__content .cont02__btn a {
            color: #6185bc;
            padding-left: 2.5em; }
            #top .cont02 .cont02__inner .cont02__gridBox .cont02__content .cont02__btn a:hover {
              opacity: .8; }
            #top .cont02 .cont02__inner .cont02__gridBox .cont02__content .cont02__btn a i {
              font-size: 1.9em;
              position: absolute;
              left: 0; }
          @media only screen and (max-width: 1199px) {
            #top .cont02 .cont02__inner .cont02__gridBox .cont02__content .cont02__btn:after {
              content: '';
              width: 68px;
              height: 90px;
              background: url("../../img/top/arrow.png") no-repeat center center/contain;
              position: absolute;
              right: 0;
              bottom: 0; } }
        #top .cont02 .cont02__inner .cont02__gridBox .ml-60 {
          margin-left: 60px; }
          @media only screen and (max-width: 1199px) {
            #top .cont02 .cont02__inner .cont02__gridBox .ml-60 {
              margin: 0; } }
        #top .cont02 .cont02__inner .cont02__gridBox .mr-60 {
          margin-right: 60px; }
          @media only screen and (max-width: 1199px) {
            #top .cont02 .cont02__inner .cont02__gridBox .mr-60 {
              margin: 0; } }
      #top .cont02 .cont02__inner .cont02__gridBox--last {
        margin-bottom: 100px;
        margin: 0; }
        @media only screen and (max-width: 1199px) {
          #top .cont02 .cont02__inner .cont02__gridBox--last {
            margin: 0 auto; } }
  #top .cont03 {
    background: #f2f2f3;
    padding: 100px 0 170px; }
    @media only screen and (max-width: 1199px) {
      #top .cont03 {
        padding: 60px 0; } }
    #top .cont03 .cont03__inner {
      width: 1200px;
      margin: 0 auto; }
      @media only screen and (max-width: 1199px) {
        #top .cont03 .cont03__inner {
          width: auto; } }
      #top .cont03 .cont03__inner .cont03__ttl {
        width: 40%;
        color: #6185bc;
        font-size: 8em;
        font-weight: 600;
        letter-spacing: .1em;
        margin-bottom: 60px; }
        @media only screen and (max-width: 1199px) {
          #top .cont03 .cont03__inner .cont03__ttl {
            width: 95%;
            max-width: 600px;
            text-indent: 2%;
            font-size: 7em;
            margin-bottom: 30px; } }
        #top .cont03 .cont03__inner .cont03__ttl .bar {
          display: block;
          background: #6185bc;
          color: #fff;
          font-size: .38em;
          font-weight: normal;
          line-height: 2.3;
          margin-top: 20px;
          position: relative; }
          @media only screen and (max-width: 1199px) {
            #top .cont03 .cont03__inner .cont03__ttl .bar {
              font-size: .33em; } }
          #top .cont03 .cont03__inner .cont03__ttl .bar:before {
            content: '';
            display: block;
            width: 100vw;
            height: 69.91px;
            background: #6185bc;
            position: absolute;
            top: 0;
            right: 0;
            z-index: -1; }
            @media only screen and (max-width: 1199px) {
              #top .cont03 .cont03__inner .cont03__ttl .bar:before {
                display: none; } }
      #top .cont03 .cont03__inner .cont03__gridBox {
        display: grid;
        grid-template-columns: 480px 1fr;
        column-gap: 80px;
        position: relative; }
        @media only screen and (max-width: 1199px) {
          #top .cont03 .cont03__inner .cont03__gridBox {
            max-width: 600px;
            display: flex;
            flex-direction: column;
            padding: 0 5%;
            margin: 0 auto; } }
        @media only screen and (max-width: 1199px) {
          #top .cont03 .cont03__inner .cont03__gridBox .cont03__content {
            order: 2; } }
        #top .cont03 .cont03__inner .cont03__gridBox .cont03__content .cont03__txt {
          font-size: 1.6em;
          line-height: 2;
          margin-bottom: 80px; }
          @media only screen and (max-width: 1199px) {
            #top .cont03 .cont03__inner .cont03__gridBox .cont03__content .cont03__txt {
              margin-bottom: 30px; } }
        #top .cont03 .cont03__inner .cont03__gridBox .cont03__content .cont03__btn {
          font-size: 2em;
          line-height: 40px;
          font-weight: 500;
          margin-bottom: 15px;
          position: relative; }
          @media only screen and (max-width: 1199px) {
            #top .cont03 .cont03__inner .cont03__gridBox .cont03__content .cont03__btn {
              font-size: 1.6em;
              line-height: 30px; } }
          #top .cont03 .cont03__inner .cont03__gridBox .cont03__content .cont03__btn a {
            color: #6185bc;
            padding-left: 2.5em; }
            #top .cont03 .cont03__inner .cont03__gridBox .cont03__content .cont03__btn a:hover {
              opacity: .8; }
            #top .cont03 .cont03__inner .cont03__gridBox .cont03__content .cont03__btn a i {
              font-size: 1.9em;
              position: absolute;
              left: 0; }
        #top .cont03 .cont03__inner .cont03__gridBox img {
          width: 50vw;
          height: 545px;
          object-fit: cover;
          border-radius: 10px 0 0 10px;
          position: absolute;
          top: -130px;
          left: 50%; }
          @media only screen and (max-width: 1199px) {
            #top .cont03 .cont03__inner .cont03__gridBox img {
              order: 1;
              width: auto;
              height: auto;
              border-radius: 10px;
              margin-bottom: 30px;
              position: relative;
              top: auto;
              left: auto; } }
  #top .cont04 {
    background: #f2f2f3;
    padding-bottom: 120px; }
    @media only screen and (max-width: 1199px) {
      #top .cont04 {
        padding-bottom: 60px; } }
    #top .cont04 .cont04__ttl {
      text-align: center;
      color: #6185bc;
      font-size: 8em;
      font-weight: 600;
      letter-spacing: .1em; }
      @media only screen and (max-width: 1199px) {
        #top .cont04 .cont04__ttl {
          width: 100%;
          max-width: 600px;
          font-size: 6.5em;
          margin: 0 auto 30px; } }
    #top .cont04 a {
      display: block;
      width: 1200px;
      background: #6185bc;
      text-align: center;
      color: #fff;
      font-size: 3em;
      line-height: 100px;
      border-radius: 50px;
      margin: 30px auto 0; }
      @media only screen and (max-width: 1199px) {
        #top .cont04 a {
          width: 90%;
          max-width: 600px;
          font-size: 1.8em;
          line-height: 3; } }
      #top .cont04 a:hover {
        opacity: .8; }
      #top .cont04 a i {
        margin-right: 1em; }
