body {
  -webkit-text-size-adjust: 100%;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1; }

.sp_show {
  display: none; }

@media screen and (max-width: 768px) {
  .sp_show {
    display: block; }
  .pc_show {
    display: none; } }

#wrapper {
  overflow: hidden; }

@media screen and (max-width: 768px) {
  img {
    width: 100%; } }

main {
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  top: 0 !important; }

.kv_area {
  background-color: #02172d;
  position: relative; }
  .kv_area h1 {
    margin: 0 auto;
    position: absolute;
    top: 20px;
    left: 30px;
    z-index: 10; }
    @media screen and (max-width: 768px) {
      .kv_area h1 {
        display: none; } }
    .kv_area h1 a {
      display: block; }
      .kv_area h1 a img {
        max-width: 176px; }
  .kv_area .movieset {
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    padding: 3vw 0; }
    @media screen and (max-width: 768px) {
      .kv_area .movieset {
        padding: 0; } }
  .kv_area .kv_btn_area {
    position: absolute;
    bottom: -160px;
    left: 0;
    right: 0;
    text-align: center;
    margin: 0 auto;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
    .kv_area .kv_btn_area .btn {
      width: 47%;
      max-width: 528.5px;
      margin-right: 3%;
      padding: 26px 0 24px;
      display: block;
      color: #fff;
      border-radius: 20px;
      font-size: 24px;
      position: relative;
      -webkit-box-shadow: 2px 3px 13px 0px #a39c9c;
      box-shadow: 2px 3px 13px 0px #a39c9c;
      -webkit-transition: all 0.3s ease;
      -o-transition: all 0.3s ease;
      transition: all 0.3s ease; }
      @media screen and (max-width: 768px) {
        .kv_area .kv_btn_area .btn {
          margin: 0 0 20px 0;
          padding: 30px 0;
          max-width: 750px;
          width: 100%; } }
      @media screen and (max-width: 768px) {
        .kv_area .kv_btn_area .btn {
          margin: 0 0 20px 0;
          font-size: 18px;
          border-radius: 15px; } }
      .kv_area .kv_btn_area .btn + .btn {
        margin-right: 0; }
      .kv_area .kv_btn_area .btn.red {
        background-color: #f7a42d; }
        .kv_area .kv_btn_area .btn.red:hover {
          background-color: rgba(220, 124, 34, 0.7); }
        @media screen and (max-width: 768px) {
          .kv_area .kv_btn_area .btn.red {
            padding-left: 10px; } }
      .kv_area .kv_btn_area .btn.blue {
        background-color: #4b8df8; }
        .kv_area .kv_btn_area .btn.blue:hover {
          background-color: rgba(75, 141, 248, 0.7); }
      .kv_area .kv_btn_area .btn .icn_arrow {
        position: absolute;
        right: 50px; }
        .kv_area .kv_btn_area .btn .icn_arrow:before {
          content: "";
          position: absolute;
          top: 5px;
          bottom: 0;
          left: 3px;
          width: 15px;
          height: 15px;
          border-top: 3px solid #fff;
          border-right: 3px solid #fff;
          -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
          transform: rotate(45deg); }
      .kv_area .kv_btn_area .btn .btn_txt {
        color: #fff;
        line-height: 1;
        font-size: 24px; }
        @media screen and (max-width: 768px) {
          .kv_area .kv_btn_area .btn .btn_txt {
            font-size: 17px; } }
  @media screen and (max-width: 768px) {
    .kv_area h1 {
      top: 10px;
      left: 20px;
      z-index: 10; }
      .kv_area h1 a {
        display: block; }
        .kv_area h1 a img {
          max-width: 50%; }
    .kv_area .kv_btn_area {
      width: 90%;
      margin: 20px auto;
      bottom: -270px; }
      .kv_area .kv_btn_area h3 {
        font-size: 14px; }
        .kv_area .kv_btn_area h3 .ttl_left,
        .kv_area .kv_btn_area h3 .ttl_right {
          width: 8px;
          height: 20px; }
        .kv_area .kv_btn_area h3 .ttl_txt {
          font-size: 16px;
          line-height: 2; }
      .kv_area .kv_btn_area .btn_area {
        margin-top: 20px; }
        .kv_area .kv_btn_area .btn_area a {
          width: 50%;
          padding: 15px 50px;
          border: 2px solid #fff; }
          .kv_area .kv_btn_area .btn_area a .icn_invoice img {
            width: 50%; }
          .kv_area .kv_btn_area .btn_area a .btn_txt {
            font-size: 14px; }
          .kv_area .kv_btn_area .btn_area a .icn_arrow::after {
            width: 10px;
            height: 10px;
            border-top: 2px solid #fff;
            border-right: 2px solid #fff; } }

.service {
  padding-bottom: 140px;
  background: url(../img/bg_section_pattern.png) 50% 8% no-repeat, #f8fafd; }
  .service .inner {
    max-width: 980px;
    width: 100%;
    margin: 0 auto;
    padding: 270px 0 40px; }
    .service .inner .ttl_area {
      position: relative; }
      .service .inner .ttl_area::before, .service .inner .ttl_area::after {
        content: "";
        position: absolute;
        bottom: 0; }
      .service .inner .ttl_area::before {
        max-width: 195px;
        width: 100%;
        height: 439px;
        left: 10px;
        bottom: -115px;
        background: url(../img/img_koichiro.png) center no-repeat; }
      .service .inner .ttl_area::after {
        max-width: 128px;
        width: 100%;
        height: 416px;
        right: 40px;
        bottom: -117px;
        background: url(../img/img_woman.png) center no-repeat; }
      .service .inner .ttl_area h2 {
        padding-bottom: 50px;
        color: #5E6162;
        font-size: 26px;
        line-height: 1.5;
        text-align: center; }
        .service .inner .ttl_area h2 span {
          color: #026abe;
          font-size: 33px; }
  @media screen and (max-width: 768px) {
    .service {
      background: url(../img/bg_section_pattern.png) 50% 1%/contain no-repeat, #f8fafd;
      padding: 220px 20px 50px; }
      .service .inner {
        padding: 50px 0 20px; }
        .service .inner .ttl_area::before, .service .inner .ttl_area::after {
          content: none; }
        .service .inner .ttl_area h2 {
          font-size: 20px;
          padding: 0 0 30px; }
          .service .inner .ttl_area h2 span {
            font-size: 26px; } }

.footer {
  padding: 220px 20px 50px; }

#wrapper .page_top {
  bottom: 20px; }
