/*============================================
responsive
============================================*/
.inner {
  max-width: 1140px;
  margin: 0 auto; }
  @media screen and (max-width: 897px) {
    .inner {
      margin: 0 20px; } }

/*============================================
view
============================================*/
.view .view__box {
  width: 100%;
  margin: 0 auto;
  height: 70vh;
  background: url("../img/index/view-01.jpg");
  background-repeat: no-repeat;
  background-position: center right;
  background-size: cover;
  position: relative; }
  @media screen and (max-width: 897px) {
    .view .view__box {
      margin: 5% 5% 0 5%;
      width: 90%;
      height: 70vh;
      border-radius: 15px;
      background: url("../img/index/view-01_sp.jpg");
      background-position: center right;
      background-repeat: no-repeat;
      background-size: cover;
      position: relative; } }
  .view .view__box .txt {
    width: 40%;
    position: absolute;
    content: "";
    top: 50%;
    transform: translateY(-50%);
    left: 15%; }
    @media screen and (max-width: 1290px) {
      .view .view__box .txt {
        padding: 0 0 3% 0;
        height: 33vh; } }
    @media screen and (max-width: 897px) {
      .view .view__box .txt {
        width: 60%;
        height: auto;
        position: absolute;
        left: 3%;
        top: 80%;
        transform: translateY(-80%); } }
    .view .view__box .txt h1 {
      padding: 0 0 30px 0; }
      .view .view__box .txt h1 img {
        width: auto;
        object-fit: contain;
        max-height: 23vh; }
        @media screen and (max-width: 897px) {
          .view .view__box .txt h1 img {
            height: auto;
            object-fit: contain;
            width: auto; } }
      .view .view__box .txt h1 + p img {
        width: auto;
        object-fit: contain;
        max-height: 23vh; }
        @media screen and (max-width: 897px) {
          .view .view__box .txt h1 + p img {
            height: auto;
            object-fit: contain;
            width: auto; } }

/*============================================
banner
============================================*/
.banner {
  padding: 60px 0; }
  @media screen and (max-width: 897px) {
    .banner {
      padding: 40px 0; } }
  .banner__box {
    max-width: 1240px;
    margin: 0 auto; }
    @media screen and (max-width: 897px) {
      .banner__box {
        margin: 0 20px; } }
    .banner__box ul {
      display: flex;
      justify-content: flex-start;
      flex-wrap: wrap; }
      .banner__box ul li {
        width: 10.4%;
        margin: 0 0.3% 1% 0.3%; }
        @media screen and (max-width: 897px) {
          .banner__box ul li {
            width: 18.4%;
            margin: 0 0.8% 0.2% 0.8%; } }
        .banner__box ul li img {
          border: 1px solid #f7f7f7; }

/*============================================
service-01
============================================*/
.service-01 {
  padding: 120px 0;
  background: linear-gradient(90deg, #00366D 0 40%, #fff 40% 100%);
  border-top: 1px solid #E7E7E7; }
  @media screen and (max-width: 897px) {
    .service-01 {
      padding: 40px 0;
      background: linear-gradient(180deg, #00366D 0 20%, #fff 20% 100%); } }
  .service-01__box {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    @media screen and (max-width: 897px) {
      .service-01__box {
        display: block; } }
    .service-01__box .img {
      width: 70%;
      margin: 0 0 0 -20%; }
      @media screen and (max-width: 897px) {
        .service-01__box .img {
          width: 100%;
          margin: 0 0 15px 0; } }
      .service-01__box .img img {
        border-radius: 15px; }
    .service-01__box .txt {
      width: 45%; }
      @media screen and (max-width: 897px) {
        .service-01__box .txt {
          width: 100%; } }
      .service-01__box .txt span {
        color: #FFAA00;
        font-size: 2.0rem;
        border-bottom: 1px solid #FFAA00;
        font-family: futura-pt, sans-serif;
        font-weight: 700;
        font-style: normal; }
        @media screen and (max-width: 897px) {
          .service-01__box .txt span {
            font-size: 1.5rem; } }
      .service-01__box .txt h2 {
        font-size: 4.0rem;
        line-height: 1.4;
        font-weight: 700;
        padding: 0 0 30px 0;
        color: #00366D; }
        @media screen and (max-width: 897px) {
          .service-01__box .txt h2 {
            font-size: 2.5rem;
            font-weight: 900;
            padding: 0 0 15px 0; } }
      .service-01__box .txt .btn {
        max-width: 360px;
        margin: 40px 0 0 0; }
        .service-01__box .txt .btn a {
          display: block;
          text-align: center;
          color: #fff;
          background: #1D2B3B;
          border-radius: 50px;
          font-weight: 700;
          padding: 15px;
          border: 1px solid #222; }
        .service-01__box .txt .btn .arrow {
          position: relative;
          vertical-align: middle;
          text-decoration: none; }
        .service-01__box .txt .btn .arrow::before, .service-01__box .txt .btn .arrow::after {
          position: absolute;
          top: 0;
          bottom: 0;
          right: 15px;
          margin: auto;
          content: "";
          vertical-align: middle; }
        .service-01__box .txt .btn .sample5-6::before {
          box-sizing: border-box;
          width: 24px;
          height: 24px;
          border: 1px solid #fff;
          -webkit-border-radius: 50%;
          border-radius: 50%; }
        .service-01__box .txt .btn .sample5-6::after {
          right: 23px;
          width: 8px;
          height: 8px;
          border-top: 2px solid #fff;
          border-right: 2px solid #fff;
          -webkit-transform: rotate(45deg);
          transform: rotate(45deg); }

/*============================================
service-02
============================================*/
.service-02 {
  padding: 120px 0;
  background: linear-gradient(90deg, #fff 0 30%, #F3F7FF 30% 100%); }
  @media screen and (max-width: 897px) {
    .service-02 {
      padding: 40px 0;
      background: linear-gradient(180deg, #F3F7FF 0 20%, #fff 20% 100%); } }
  .service-02__box {
    display: flex;
    justify-content: space-between;
    flex-flow: row-reverse;
    align-items: center; }
    @media screen and (max-width: 897px) {
      .service-02__box {
        display: block;
        flex-flow: row; } }
    .service-02__box .img {
      width: 47%; }
      @media screen and (max-width: 897px) {
        .service-02__box .img {
          width: 100%;
          margin: 0 0 15px 0; } }
      .service-02__box .img img {
        border-radius: 15px; }
    .service-02__box .txt {
      width: 47%; }
      @media screen and (max-width: 897px) {
        .service-02__box .txt {
          width: 100%; } }
      .service-02__box .txt span {
        color: #FFAA00;
        font-size: 2.0rem;
        border-bottom: 1px solid #FFAA00;
        font-family: futura-pt, sans-serif;
        font-weight: 700;
        font-style: normal; }
        @media screen and (max-width: 897px) {
          .service-02__box .txt span {
            font-size: 1.5rem; } }
      .service-02__box .txt h2 {
        font-size: 4.0rem;
        line-height: 1.4;
        font-weight: 700;
        padding: 0 0 30px 0;
        color: #00366D; }
        @media screen and (max-width: 897px) {
          .service-02__box .txt h2 {
            font-size: 2.5rem;
            font-weight: 900;
            padding: 0 0 15px 0; } }
      .service-02__box .txt .top {
        display: block;
        border-bottom: none;
        color: #1E489D;
        font-size: 2.3rem;
        line-height: 1.4;
        padding: 0 0 20px 0; }
        @media screen and (max-width: 897px) {
          .service-02__box .txt .top {
            font-size: 1.6rem;
            padding: 5px 0 10px 0; } }

/*============================================
plan
============================================*/
.plan {
  padding: 120px 0;
  background: #00366D; }
  @media screen and (max-width: 897px) {
    .plan {
      padding: 40px 0; } }
  .plan__headline {
    text-align: center;
    padding: 0 0 60px 0; }
    @media screen and (max-width: 897px) {
      .plan__headline {
        padding: 0 0 30px 0; } }
    .plan__headline span {
      color: #7291D1;
      font-size: 2.0rem;
      border-bottom: 1px solid #7291D1;
      font-family: futura-pt, sans-serif;
      font-weight: 700;
      font-style: normal; }
      @media screen and (max-width: 897px) {
        .plan__headline span {
          font-size: 1.5rem; } }
    .plan__headline h2 {
      font-size: 4.0rem;
      line-height: 1.4;
      font-weight: 700;
      color: #fff; }
      @media screen and (max-width: 897px) {
        .plan__headline h2 {
          font-size: 2.5rem;
          font-weight: 900; } }
  .plan__box {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 897px) {
      .plan__box {
        display: block; } }
    .plan__box__item {
      width: 30%;
      background: #fff;
      border-radius: 15px;
      box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px; }
      @media screen and (max-width: 897px) {
        .plan__box__item {
          width: 100%; } }
      @media screen and (max-width: 897px) {
        .plan__box__item:not(:last-of-type) {
          margin: 0 0 30px 0; } }
      .plan__box__item .img img {
        border-radius: 15px 15px 0 0; }
      .plan__box__item .txt {
        padding: 10%; }
        @media screen and (max-width: 897px) {
          .plan__box__item .txt {
            padding: 5%; } }
        .plan__box__item .txt h3 {
          text-align: center;
          color: #1E489D;
          padding: 0 0 10px 0; }
  .plan .btn {
    max-width: 360px;
    margin: 60px auto 0 auto; }
    @media screen and (max-width: 897px) {
      .plan .btn {
        margin: 30px auto 0 auto; } }
    .plan .btn a {
      display: block;
      text-align: center;
      color: #fff;
      background: #A1B6E2;
      border-radius: 50px;
      font-weight: 700;
      padding: 15px;
      border: 1px solid #222;
      box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px; }
    .plan .btn .arrow {
      position: relative;
      vertical-align: middle;
      text-decoration: none; }
    .plan .btn .arrow::before, .plan .btn .arrow::after {
      position: absolute;
      top: 0;
      bottom: 0;
      right: 15px;
      margin: auto;
      content: "";
      vertical-align: middle; }
    .plan .btn .sample5-6::before {
      box-sizing: border-box;
      width: 24px;
      height: 24px;
      border: 1px solid #fff;
      -webkit-border-radius: 50%;
      border-radius: 50%; }
    .plan .btn .sample5-6::after {
      right: 23px;
      width: 8px;
      height: 8px;
      border-top: 2px solid #fff;
      border-right: 2px solid #fff;
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg); }

/*============================================
area
============================================*/
.area {
  padding: 120px 0;
  background: url("../img/index/area-bg.png");
  background-repeat: no-repeat;
  background-position: left 10% center;
  background-size: contain; }
  @media screen and (max-width: 897px) {
    .area {
      padding: 40px 0;
      background-size: 35%;
      background-position: right 10% top; } }
  .area__box {
    max-width: 1140px;
    margin: 0 auto;
    display: flex;
    justify-content: flex-end; }
    .area__box .txt {
      width: 50%; }
      @media screen and (max-width: 897px) {
        .area__box .txt {
          width: 100%; } }
      .area__box .txt span {
        color: #1E489D;
        font-size: 2.0rem;
        border-bottom: 1px solid #1E489D;
        font-family: futura-pt, sans-serif;
        font-weight: 700;
        font-style: normal; }
        @media screen and (max-width: 897px) {
          .area__box .txt span {
            font-size: 1.5rem; } }
      .area__box .txt h2 {
        font-size: 4.0rem;
        line-height: 1.4;
        font-weight: 700;
        padding: 0 0 40px 0;
        color: #00366D; }
        @media screen and (max-width: 897px) {
          .area__box .txt h2 {
            font-size: 2.5rem;
            font-weight: 900; } }
    .area__box .btn__box {
      margin: 60px 0 0 0;
      background: #1D2B3B;
      border-radius: 60px;
      box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
      display: flex;
      justify-content: space-between; }
      @media screen and (max-width: 897px) {
        .area__box .btn__box {
          margin: 30px 0 0 0;
          display: block; } }
      .area__box .btn__box__item {
        width: 50%; }
        @media screen and (max-width: 897px) {
          .area__box .btn__box__item {
            width: 100%; } }
        .area__box .btn__box__item .btn a {
          display: block;
          text-align: center;
          color: #fff;
          background: #1D2B3B;
          font-weight: 700;
          padding: 15px;
          border: 1px solid #222; }
        .area__box .btn__box__item .btn .arrow {
          position: relative;
          vertical-align: middle;
          text-decoration: none; }
        .area__box .btn__box__item .btn .arrow::before, .area__box .btn__box__item .btn .arrow::after {
          position: absolute;
          top: 0;
          bottom: 0;
          right: 15px;
          margin: auto;
          content: "";
          vertical-align: middle; }
        .area__box .btn__box__item .btn .sample5-6::before {
          box-sizing: border-box;
          width: 24px;
          height: 24px;
          border: 1px solid #fff;
          -webkit-border-radius: 50%;
          border-radius: 50%; }
        .area__box .btn__box__item .btn .sample5-6::after {
          right: 23px;
          width: 8px;
          height: 8px;
          border-top: 2px solid #fff;
          border-right: 2px solid #fff;
          -webkit-transform: rotate(45deg);
          transform: rotate(45deg); }
        .area__box .btn__box__item:nth-child(1) a {
          border-radius: 60px 0 0 60px; }
          @media screen and (max-width: 897px) {
            .area__box .btn__box__item:nth-child(1) a {
              border-radius: 20px 20px 0 0; } }
        .area__box .btn__box__item:nth-child(2) a {
          border-radius: 0 60px 60px 0; }
          @media screen and (max-width: 897px) {
            .area__box .btn__box__item:nth-child(2) a {
              border-radius: 0 0 20px 20px; } }

/*============================================
area2
============================================*/
.area2 {
  padding: 120px 0;
  background: url("../img/index/area-bg02.png");
  background-repeat: no-repeat;
  background-position: left 10% center;
  background-size: contain; }
  @media screen and (max-width: 897px) {
    .area {
      padding: 40px 0;
      background-size: 35%;
      background-position: right 10% top; } }
  .area2__box {
    max-width: 1140px;
    margin: 0 auto;
    display: flex;
    justify-content: flex-end; }
    .area2__box .txt {
      width: 50%; }
      @media screen and (max-width: 897px) {
        .area__box .txt {
          width: 100%; } }
      .area2__box .txt span {
        color: #1E489D;
        font-size: 2.0rem;
        border-bottom: 1px solid #1E489D;
        font-family: futura-pt, sans-serif;
        font-weight: 700;
        font-style: normal; }
        @media screen and (max-width: 897px) {
          .area__box .txt span {
            font-size: 1.5rem; } }
      .area2__box .txt h2 {
        font-size: 4.0rem;
        line-height: 1.4;
        font-weight: 700;
        padding: 0 0 40px 0;
        color: #00366D; }
        @media screen and (max-width: 897px) {
          .area2__box .txt h2 {
            font-size: 2.5rem;
            font-weight: 900; } }
    .area2__box .btn__box {
      margin: 60px 0 0 0;
      background: #1D2B3B;
      border-radius: 60px;
      box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
      display: flex;
      justify-content: space-between; }
      @media screen and (max-width: 897px) {
        .area2__box .btn__box {
          margin: 30px 0 0 0;
          display: block; } }
      .area2__box .btn__box__item {
        width: 50%; }
        @media screen and (max-width: 897px) {
          .area2__box .btn__box__item {
            width: 100%; } }
        .area2__box .btn__box__item .btn a {
          display: block;
          text-align: center;
          color: #fff;
          background: #1D2B3B;
          font-weight: 700;
          padding: 15px;
          border: 1px solid #222; }
        .area2__box .btn__box__item .btn .arrow {
          position: relative;
          vertical-align: middle;
          text-decoration: none; }
        .area2__box .btn__box__item .btn .arrow::before, .area__box .btn__box__item .btn .arrow::after {
          position: absolute;
          top: 0;
          bottom: 0;
          right: 15px;
          margin: auto;
          content: "";
          vertical-align: middle; }
        .area2__box .btn__box__item .btn .sample5-6::before {
          box-sizing: border-box;
          width: 24px;
          height: 24px;
          border: 1px solid #fff;
          -webkit-border-radius: 50%;
          border-radius: 50%; }
        .area2__box .btn__box__item .btn .sample5-6::after {
          right: 23px;
          width: 8px;
          height: 8px;
          border-top: 2px solid #fff;
          border-right: 2px solid #fff;
          -webkit-transform: rotate(45deg);
          transform: rotate(45deg); }
        .area2__box .btn__box__item:nth-child(1) a {
          border-radius: 60px 0 0 60px; }
          @media screen and (max-width: 897px) {
            .area2__box .btn__box__item:nth-child(1) a {
              border-radius: 20px 20px 0 0; } }
        .area2__box .btn__box__item:nth-child(2) a {
          border-radius: 0 60px 60px 0; }
          @media screen and (max-width: 897px) {
            .area2__box .btn__box__item:nth-child(2) a {
              border-radius: 0 0 20px 20px; } }

/*============================================
news
============================================*/
.news {
  padding: 120px 0;
  background: #F3F3F6; }
  @media screen and (max-width: 897px) {
    .news {
      padding: 40px 0; } }
  .news__headline {
    text-align: center;
    padding: 0 0 60px 0; }
    @media screen and (max-width: 897px) {
      .news__headline {
        padding: 0 0 30px 0; } }
    .news__headline span {
      color: #1E489D;
      font-size: 2.0rem;
      border-bottom: 1px solid #1E489D;
      font-family: futura-pt, sans-serif;
      font-weight: 700;
      font-style: normal; }
      @media screen and (max-width: 897px) {
        .news__headline span {
          font-size: 1.5rem; } }
    .news__headline h2 {
      font-size: 4.0rem;
      line-height: 1.4;
      font-weight: 700;
      color: #00366D; }
      @media screen and (max-width: 897px) {
        .news__headline h2 {
          font-size: 2.5rem;
          font-weight: 900; } }
  .news__box {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 897px) {
      .news__box {
        display: block; } }
    .news__box__item {
      width: 30%;
      background: #fff;
      border-radius: 15px;
      box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px; }
      @media screen and (max-width: 897px) {
        .news__box__item {
          width: 100%; } }
      @media screen and (max-width: 897px) {
        .news__box__item:not(:last-of-type) {
          margin: 0 0 30px 0; } }
      .news__box__item .img img {
        border-radius: 15px 15px 0 0; }
      .news__box__item .txt {
        padding: 5%; }
        @media screen and (max-width: 897px) {
          .news__box__item .txt {
            padding: 5%; } }
        .news__box__item .txt .cap {
          display: flex;
          justify-content: space-between;
          align-items: center; }
          .news__box__item .txt .cap .cat {
            padding: 4px 10px;
            font-size: 1.2rem;
            line-height: 1;
            border: 1px solid #7291D1;
            color: #7291D1;
            border-radius: 50px;
            display: inline; }
        .news__box__item .txt h3 {
          color: #1E489D;
          padding: 0 0 10px 0; }
  .news .btn {
    max-width: 360px;
    margin: 60px auto 0 auto; }
    @media screen and (max-width: 897px) {
      .news .btn {
        margin: 30px auto 0 auto; } }
    .news .btn a {
      display: block;
      text-align: center;
      color: #fff;
      background: #1D2B3B;
      border-radius: 50px;
      font-weight: 700;
      padding: 15px;
      border: 1px solid #222;
      box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px; }
    .news .btn .arrow {
      position: relative;
      vertical-align: middle;
      text-decoration: none; }
    .news .btn .arrow::before, .news .btn .arrow::after {
      position: absolute;
      top: 0;
      bottom: 0;
      right: 15px;
      margin: auto;
      content: "";
      vertical-align: middle; }
    .news .btn .sample5-6::before {
      box-sizing: border-box;
      width: 24px;
      height: 24px;
      border: 1px solid #fff;
      -webkit-border-radius: 50%;
      border-radius: 50%; }
    .news .btn .sample5-6::after {
      right: 23px;
      width: 8px;
      height: 8px;
      border-top: 2px solid #fff;
      border-right: 2px solid #fff;
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg); }

/*============================================
company
============================================*/
.company {
  padding: 120px 0; }
  @media screen and (max-width: 897px) {
    .company {
      padding: 40px 0; } }
  .company__headline {
    padding: 0 0 45px 0;
    text-align: center; }
    @media screen and (max-width: 897px) {
      .company__headline {
        padding: 0 0 20px 0; } }
    .company__headline h2 {
      font-size: 3.0rem;
      line-height: 1; }
      @media screen and (max-width: 897px) {
        .company__headline h2 {
          font-size: 2.0rem;
          font-weight: 900; } }
  .company__box ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    font-size: 1.5rem; }
    @media screen and (max-width: 897px) {
      .company__box ul {
        max-height: 300px;
        overflow: auto;
        font-size: 1.4rem; } }
    .company__box ul::after {
      content: "";
      width: 30%; }
    .company__box ul li {
      width: 30%;
      border-bottom: 1px solid #f4f4f4;
      padding: 15px 0; }
      @media screen and (max-width: 897px) {
        .company__box ul li {
          width: 100%; } }
