/**
 * html5doctor.com Reset Stylesheet v1.6.1 (http://html5doctor.com/html-5-reset-stylesheet/)
 * Richard Clark (http://richclarkdesign.com)
 * http://cssreset.com
 */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;400;700&display=swap");
@import url("https://use.typekit.net/bnx0lsc.css");
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

h1, h2, h3, h4, h5, h6 {
  font-weight: normal; }

body {
  line-height: 1; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

nav ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none;
  color: #1f1f1f; }

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle;
  outline: none;
  border: none;
  background: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

.clearfix::after {
  content: '';
  display: block;
  clear: both; }

/*/-----------
base
-------------/*/
html {
  font-size: 62.5%;
  color: #1a1d1f;
  font-family: "Noto Sans JP", sans-serif; }
  html body {
    background-color: #eeeeee; }

body {
  font-size: 0; }

/*----------
header
---------- */
header {
  width: 100%; }
  header img {
    width: 100%;
    height: auto; }
  header .header_sh_img {
    display: none; }

/*----------
main
---------- */
.trouble {
  position: relative;
  background: #cecece; }
  .trouble .trouble-title {
    text-align: center;
    background: url("../img/header_bg_line.png") repeat-x center bottom;
    padding: 6px 0 72px; }
    .trouble .trouble-title .heading {
      position: relative;
      display: inline-block;
      font-size: 4.6rem;
      font-weight: bold;
      text-align: center; }
      .trouble .trouble-title .heading span {
        display: block;
        font-size: 2rem;
        margin-bottom: 15px; }
      .trouble .trouble-title .heading::before {
        position: absolute;
        left: -98px;
        top: 7px;
        content: '';
        width: 76px;
        height: 73px;
        background: url("../img/icon_trouble.png") no-repeat; }
  .trouble .trouble-list {
    background: url("../img/trouble_bg.png") no-repeat center left;
    background-size: 100% auto;
    padding: 89px 42px 112px 40%;
    border-bottom: 3px solid #000; }
    .trouble .trouble-list li {
      position: relative;
      font-size: 2.8rem;
      font-weight: bold;
      line-height: 41px;
      margin-bottom: 51px;
      padding-left: 77px;
      list-style-type: none; }
      .trouble .trouble-list li::before {
        position: absolute;
        top: 0;
        left: 0;
        content: '';
        display: inline-block;
        width: 44px;
        height: 41px;
        background: url("../img/icon_trouble_list.png") no-repeat; }
  .trouble .trouble-text {
    position: absolute;
    left: 50%;
    bottom: -57px;
    z-index: 1;
    text-align: center;
    font-size: 4.6rem;
    font-weight: bold;
    line-height: 90px;
    width: 700px;
    height: 90px;
    border: 6px solid #000;
    border-radius: 10px;
    background-color: #fff;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%); }
    .trouble .trouble-text::after {
      content: '';
      position: absolute;
      bottom: -46px;
      left: 50%;
      transform: translateX(-50%);
      -webkit-transform: translateX(-50%);
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 40px 40px 0 40px;
      border-color: #000000 transparent transparent transparent; }

.solving {
  position: relative;
  width: 100%;
  padding: 227px 0 168px;
  border-bottom: 3px solid #000;
  background-color: #fff; }
  .solving .heading {
    position: absolute;
    left: 64px;
    top: 236px;
    font-size: 3.6rem;
    font-weight: 700; }
    .solving .heading strong {
      display: block;
      margin-top: 19px; }
      .solving .heading strong span {
        color: #349ab8; }
    .solving .heading::before {
      content: 'Problem-solving';
      display: block;
      margin-bottom: 54px;
      font-size: 1.8rem;
      font-weight: 700; }
    .solving .heading::after {
      position: absolute;
      content: '';
      display: block;
      top: 32px;
      left: -24px;
      width: 60px;
      height: 1px;
      background-color: #000; }
  .solving .solving-list {
    width: 80%;
    float: right;
    display: inline-block; }
    .solving .solving-list img {
      width: 100%; }
  .solving .solving-sh-list {
    display: none; }
  .solving .solving-text {
    width: 100%;
    overflow: hidden;
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.7;
    text-align: center;
    padding: 51px 0 0; }

.solving02 {
  position: relative;
  width: 100%;
  max-width: 1400px;
  height: 693px;
  margin: 0 auto;
  border-bottom: 3px solid #000; }
  .solving02 .heading {
    position: absolute;
    top: -39px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    z-index: 1;
    font-size: 2.2rem;
    padding: 25px 22px 23px;
    background-color: #1f1f1f;
    color: #fff; }
    .solving02 .heading::before {
      content: '';
      position: absolute;
      top: 0;
      left: -69px;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 0 0 70px 70px;
      border-color: transparent transparent #1f1f1f transparent; }
    .solving02 .heading::after {
      content: '';
      position: absolute;
      top: 0;
      right: -69px;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 70px 70px 0 0;
      border-color: #1f1f1f transparent transparent transparent; }
  .solving02 .solving02-list {
    position: relative;
    width: 1024px;
    margin: 0 auto;
    z-index: 1; }
    .solving02 .solving02-list li {
      position: absolute;
      font-size: 1.6rem;
      width: 348px;
      height: 382px;
      text-align: center;
      padding-top: 256px;
      background: url("../img/solving02_01.png") no-repeat;
      list-style-type: none; }
      .solving02 .solving02-list li:nth-child(1) {
        top: 154px;
        background-image: url("../img/solving02_01.png"); }
      .solving02 .solving02-list li:nth-child(2) {
        top: 218px;
        left: 338px;
        background-image: url("../img/solving02_02.png"); }
      .solving02 .solving02-list li:nth-child(3) {
        top: 171px;
        left: 676px;
        background-image: url("../img/solving02_03.png"); }
  .solving02 .solving02-img {
    position: absolute;
    top: -76px;
    right: 37px; }
    .solving02 .solving02-img img {
      width: auto; }
  .solving02 .solving02-sh-img {
    display: none; }

.feature {
  background-color: #fff; }
  .feature .heading {
    position: relative;
    width: 100%;
    height: 400px;
    color: #fff;
    padding: 88px 133px;
    box-sizing: border-box;
    background: url("../img/feature_heading_bg.png") no-repeat left top; }
    .feature .heading span {
      position: absolute;
      left: 260px;
      top: 181px;
      display: block;
      font-size: 2rem; }
    .feature .heading strong {
      display: block;
      font-weight: 700;
      font-size: 5rem;
      line-height: 1em; }
      .feature .heading strong:first-letter {
        font-size: 8rem; }
    .feature .heading::before {
      content: 'Features';
      display: block;
      margin-bottom: 97px;
      font-size: 1.8rem;
      font-weight: 700; }
    .feature .heading::after {
      position: absolute;
      content: '';
      display: block;
      top: 118px;
      left: 113px;
      width: 60px;
      height: 1px;
      background-color: #fff; }
  .feature .feature-box {
    width: 100%;
    overflow: hidden;
    padding: 44px 0 93px; }
    .feature .feature-box .feature-text-box {
      float: left;
      width: 540px;
      margin: 0 105px;
      background: url("../img/feature_num_01.png") no-repeat right 40px top; }
      .feature .feature-box .feature-text-box .title {
        padding: 90px 0 18px;
        font-size: 2.6rem;
        line-height: 1.6;
        font-weight: 700; }
      .feature .feature-box .feature-text-box .text {
        font-size: 1.8rem;
        line-height: 2.3;
        color: #7a7a7a; }
    .feature .feature-box .feature-img {
      float: right;
      width: calc(100% - 540px - 210px - 92px);
      margin-right: 92px; }
      .feature .feature-box .feature-img img {
        width: 100%; }
    .feature .feature-box.box2 {
      padding: 150px 0;
      background: #e8e7e7 url("../img/feature_bg_02.png") no-repeat right top; }
      .feature .feature-box.box2 .feature-text-box {
        float: right;
        width: 560px;
        margin: 0 95px;
        background: url("../img/feature_num_02.png") no-repeat left top; }
        .feature .feature-box.box2 .feature-text-box .title {
          padding-top: 159px; }
      .feature .feature-box.box2 .feature-img {
        float: left;
        width: calc(100% - 560px - 190px);
        margin-right: 0; }
      .feature .feature-box.box2 .button {
        position: relative;
        width: 380px;
        margin-top: 70px;
        padding: 16px 34px;
        font-size: 1.6rem;
        background-color: #fff;
        border-radius: 100vh;
        box-sizing: border-box; }
        .feature .feature-box.box2 .button::after {
          position: absolute;
          content: '';
          top: 50%;
          right: 20px;
          width: 0.5em;
          height: 0.5em;
          transform: translateY(-50%) rotate(45deg);
          border-right: 1px solid #424242;
          border-top: 1px solid #424242; }
        .feature .feature-box.box2 .button:hover {
          background-color: #000;
          color: #fff; }
          .feature .feature-box.box2 .button:hover::after {
            border-color: #fff; }
    .feature .feature-box.box3 {
      padding: 150px 0; }
      .feature .feature-box.box3 .feature-text-box {
        background: url("../img/feature_num_03.png") no-repeat right 40px top; }

.reason {
  background-color: #fff;
  padding-bottom: 150px; }
  .reason .heading {
    position: relative;
    width: 100%;
    height: 400px;
    color: #fff;
    padding: 88px 133px;
    box-sizing: border-box;
    background: url("../img/reason_heading_bg.png") no-repeat left top; }
    .reason .heading .why {
      font-size: 2.4rem;
      display: block; }
    .reason .heading .title {
      position: relative;
      font-size: 2.6rem;
      display: block;
      padding: 34px 0 0 70px; }
      .reason .heading .title .zero {
        position: absolute;
        left: 0;
        top: 0;
        font-size: 10rem;
        font-weight: 700;
        margin-left: -0.2em; }
    .reason .heading::before {
      content: 'Reason';
      display: block;
      margin-bottom: 97px;
      font-size: 1.8rem;
      font-weight: 700; }
    .reason .heading::after {
      position: absolute;
      content: '';
      display: block;
      top: 118px;
      left: 113px;
      width: 60px;
      height: 1px;
      background-color: #fff; }
  .reason .img_box {
    width: 90%;
    margin: 0 auto; }
    .reason .img_box img {
      width: 100%; }
  .reason .img_sh_img {
    display: none; }

.flow {
  width: 100%;
  padding: 72px 0 50px;
  background: #89c2d2 url("../img/flow_bg.png") no-repeat right bottom;
  margin-bottom: 150px; }
  .flow .heading {
    position: relative;
    font-size: 3.4rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 63px; }
    .flow .heading::before {
      display: block;
      content: 'FLOW';
      letter-spacing: 3px;
      font-size: 1.8rem;
      font-weight: 700;
      margin-bottom: 24px; }
    .flow .heading span {
      display: inline-block;
      border-bottom: 2px solid #000;
      padding-bottom: 16px; }
  .flow img {
    display: block;
    width: 1000px;
    margin: 0 auto;
    padding: 0 33px; }
  .flow .flow-box {
    width: 1066px;
    margin: 0 auto;
    display: table; }
    .flow .flow-box .flow-box-item {
      display: table-cell;
      width: 25%;
      padding: 0 33px; }
      .flow .flow-box .flow-box-item dt {
        font-size: 2rem;
        font-weight: 700;
        margin: 23px 0 17px;
        text-align: center; }
      .flow .flow-box .flow-box-item dd {
        font-size: 1.2rem;
        line-height: 1.5; }
  .flow .video {
    width: 600px;
    height: 336px;
    margin: 50px auto 0; }
  .flow .video iframe {
    width: 100%;
    height: 100%; }

.flow_sh_img {
  display: none; }

.ceo {
  padding-top: 200px; }
  .ceo h2 {
    font-size: 4rem;
    font-weight: 700;
    display: block;
    margin: 0 auto;
    width: 410px;
    text-align: center;
    padding-bottom: 120px;
    position: relative; }
    .ceo h2:after {
      content: "";
      width: 400px;
      height: 3px;
      background-color: black;
      display: inline-block;
      position: absolute;
      top: 70px;
      left: 0; }
  .ceo .img_box img {
    width: 100%; }
  .ceo .text_box {
    width: 1200px;
    margin: 0 auto;
    font-size: 1.8rem;
    line-height: 240%;
    padding: 100px 0; }
    .ceo .text_box h3 {
      font-size: 2.8rem;
      font-weight: 700;
      margin-bottom: 20px; }
    .ceo .text_box img {
      margin: 80px 0; }

.qa {
  padding-top: 100px; }
  .qa h2 {
    font-size: 4rem;
    font-weight: 700;
    display: block;
    margin: 0 auto;
    width: 360px;
    text-align: right;
    padding-bottom: 60px;
    position: relative; }
    .qa h2:after {
      content: "";
      width: 360px;
      height: 3px;
      background-color: black;
      display: inline-block;
      position: absolute;
      top: 70px;
      left: 0; }
    .qa h2:before {
      content: "";
      width: 102px;
      height: 64px;
      display: inline-block;
      background: url("../img/qa_icon1.png");
      position: absolute;
      top: 0;
      left: 0; }
  .qa .sub_title {
    font-size: 1.6rem;
    line-height: 160%;
    text-align: center;
    padding-bottom: 40px; }
  .qa ul {
    width: 1000px;
    margin: 0 auto 50px;
    list-style-type: none;
    font-size: 1.6rem; }
    .qa ul li {
      width: 1000px;
      text-align: left;
      height: 60px;
      padding: 22px 0 0 80px;
      box-sizing: border-box; }
      .qa ul li:nth-child(odd) {
        background-color: #fff; }
    .qa ul li.qu {
      position: relative;
      box-sizing: border-box; }
      .qa ul li.qu:after {
        content: "";
        left: 15px;
        top: 15px;
        position: absolute;
        width: 46px;
        height: 37px;
        display: inline-block;
        background: url("../img/qa_icon2.png") no-repeat; }
    .qa ul li.an {
      position: relative;
      box-sizing: border-box; }
      .qa ul li.an:after {
        content: "";
        left: 15px;
        top: 15px;
        position: absolute;
        width: 46px;
        height: 38px;
        display: inline-block;
        background: url("../img/qa_icon3.png") no-repeat; }
  .qa .sub {
    font-size: 1.6rem;
    width: 100%;
    text-align: center;
    line-height: 160%;
    font-weight: 700;
    margin-bottom: 100px; }

.contact {
  padding: 50px 0 20px;
  width: 100%;
  height: 500px;
  background: url("../img/contact_bgpng.png") center bottom/cover no-repeat; }
  .contact .contact_wr {
    width: 960px;
    margin: 0 auto; }
    .contact .contact_wr h2 {
      font-size: 2.4rem;
      color: white;
      text-align: center;
      margin-bottom: 35px;
      font-weight: 700; }
    .contact .contact_wr h3 {
      font-size: 2rem;
      color: white;
      text-align: center;
      margin-top: 60px;
      margin-bottom: 35px;
      font-weight: 700; }
    .contact .contact_wr .do {
      text-align: center;
      background: url("../img/manga.png") center center no-repeat;
      width: 100%;
      height: 170px;
      display: inline-block;
      border-radius: 5px;
      color: rgba(255, 255, 255, 0);
      font-size: 3rem;
      box-sizing: border-box;
      padding-top: 55px;
      font-weight: 700;
      position: relative;
      transition: all 0.5s ease; }
      .contact .contact_wr .do:after {
        position: absolute;
        left: -50px;
        top: -50px;
        content: "";
        display: inline-block;
        width: 100px;
        height: 100px;
        background: url("../img/fukidashi.png") no-repeat; }
      .contact .contact_wr .do:before {
        content: "";
        display: inline-block;
        position: absolute;
        background-color: rgba(0, 0, 0, 0);
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        transition: all 0.3s ease; }
      .contact .contact_wr .do:hover:before {
        content: "";
        background-color: rgba(0, 0, 0, 0.6);
        transition: all 0.3s ease; }
      .contact .contact_wr .do .sub {
        font-family: din-condensed,sans-serif;
        font-size: 1.8rem;
        margin-top: 20px;
        position: relative;
        z-index: 300; }
      .contact .contact_wr .do span {
        position: relative;
        z-index: 300; }
      .contact .contact_wr .do .pc {
        display: none; }
      .contact .contact_wr .do:hover {
        text-shadow: 1px 2px 3px #4b4b4b;
        color: white;
        transition: all 0.5s ease; }
    .contact .contact_wr ul.button_wr {
      font-size: 2rem;
      list-style: none; }
      .contact .contact_wr ul.button_wr li {
        width: 300px;
        height: 100px;
        margin-right: 30px;
        float: left; }
        .contact .contact_wr ul.button_wr li:last-child {
          margin-right: 0; }
        .contact .contact_wr ul.button_wr li a {
          width: 100%;
          height: 100%;
          display: inline-block;
          color: #fff;
          border-radius: 5px;
          padding: 38px 0 0 80px;
          box-sizing: border-box;
          position: relative; }
        .contact .contact_wr ul.button_wr li .tel {
          background: url("../img/tel.png") center center no-repeat; }
        .contact .contact_wr ul.button_wr li .tel_sh {
          background: url("../img/tel.png") center center/cover no-repeat; }
        .contact .contact_wr ul.button_wr li .mail {
          background: linear-gradient(270deg, #fb5376, #fb8077); }
          .contact .contact_wr ul.button_wr li .mail:after {
            position: absolute;
            left: 23px;
            top: 33px;
            content: "";
            display: inline-block;
            width: 36px;
            height: 28px;
            background: url("../img/icon2.png") no-repeat; }
        .contact .contact_wr ul.button_wr li .line {
          background: #08b808; }
          .contact .contact_wr ul.button_wr li .line:after {
            position: absolute;
            left: 7px;
            top: 15px;
            content: "";
            display: inline-block;
            width: 70px;
            height: 70px;
            background: url("../img/icon1.png") no-repeat; }
        .contact .contact_wr ul.button_wr li .tel_sh {
          display: none; }

/*/-----------
1000px
-------------/*/
@media screen and (max-width: 1000px) {
  header .header_img {
    display: none; }
  header .header_sh_img {
    display: inline-block;
    width: 100%; }
    header .header_sh_img img {
      width: 100%;
      height: auto; }

  .trouble {
    box-sizing: border-box;
    padding: 50px 20px;
    width: 100%;
    height: auto;
    position: relative;
    background: #cecece; }
    .trouble .trouble-title {
      text-align: center;
      background: none;
      padding: 6px 0 45px; }
      .trouble .trouble-title .heading {
        font-size: 4rem;
        font-weight: 700;
        line-height: 120%; }
        .trouble .trouble-title .heading span {
          display: block;
          font-size: 2rem;
          margin-bottom: 15px;
          line-height: 150%; }
        .trouble .trouble-title .heading::before {
          display: none; }
    .trouble .trouble-list {
      background: none;
      padding: 0;
      border-bottom: none; }
      .trouble .trouble-list li {
        position: relative;
        font-size: 2rem;
        line-height: 30px;
        margin-bottom: 40px;
        padding-left: 55px;
        list-style-type: none; }
        .trouble .trouble-list li::before {
          position: absolute;
          top: 0;
          left: 0;
          content: '';
          display: inline-block;
          width: 44px;
          height: 41px;
          background: url("../img/icon_trouble_list.png") no-repeat; }
    .trouble .trouble-text {
      position: absolute;
      bottom: -40px;
      text-align: center;
      font-size: 2.6rem;
      font-weight: 700;
      line-height: 70px;
      width: 90%;
      height: 70px;
      border: 4px solid #000; }
      .trouble .trouble-text::after {
        bottom: -40px; }

  .solving02-list {
    display: none; }

  .solving {
    position: relative;
    width: 100%;
    padding: 110px 0 60px;
    border-bottom: 3px solid #000;
    background-color: #fff; }
    .solving .heading {
      position: static;
      font-size: 3.6rem;
      padding: 0 20px 30px;
      font-weight: 700; }
      .solving .heading strong {
        display: block;
        margin-top: 19px; }
        .solving .heading strong span {
          color: #349ab8; }
      .solving .heading::before {
        display: none; }
      .solving .heading::after {
        display: none; }
    .solving .solving-list {
      display: none; }
    .solving .solving-sh-list {
      width: 100%;
      float: none;
      padding: 0 20px;
      display: inline-block;
      box-sizing: border-box; }
      .solving .solving-sh-list li {
        margin-top: 20px; }
        .solving .solving-sh-list li img {
          width: 100%; }
    .solving .solving-text {
      width: 100%;
      box-sizing: border-box;
      padding: 40px 20px;
      overflow: hidden;
      font-size: 2rem;
      font-weight: 700;
      line-height: 140%;
      text-align: center; }

  .solving02 {
    width: 100%;
    max-width: none;
    height: auto;
    padding-bottom: 30px; }
    .solving02 .heading {
      width: 100%;
      height: 50px;
      background-color: #222222;
      font-size: 1.6rem;
      line-height: 120%;
      padding: 15px 18px 0;
      text-align: center;
      box-sizing: border-box;
      color: #fff;
      display: inline-block; }
      .solving02 .heading::before {
        display: none; }
      .solving02 .heading::after {
        display: none; }
    .solving02 .solving02-list {
      display: none; }
    .solving02 .solving02-img {
      display: none; }
    .solving02 .solving02-sh-img {
      display: inline-block;
      padding-top: 40px; }
      .solving02 .solving02-sh-img img {
        width: 100%; }

  .feature .heading {
    position: relative;
    width: 100%;
    height: 250px;
    color: #fff;
    padding: 90px 0 0 130px;
    box-sizing: border-box; }
    .feature .heading span {
      position: static;
      display: block;
      font-size: 2rem;
      margin-bottom: 10px; }
    .feature .heading strong {
      display: block;
      font-weight: 700;
      font-size: 4rem;
      line-height: 140%; }
      .feature .heading strong:first-letter {
        font-size: 7rem; }
    .feature .heading::before {
      display: none; }
    .feature .heading::after {
      display: none; }
  .feature .feature-box {
    width: 100%;
    overflow: hidden;
    padding: 80px 20px 93px;
    box-sizing: border-box; }
    .feature .feature-box .feature-text-box {
      float: none;
      width: 100%;
      margin: 0 0;
      box-sizing: border-box;
      background: url("../img/feature_num_sh_01.png") no-repeat left 20px top; }
      .feature .feature-box .feature-text-box .title {
        padding: 90px 0 18px;
        font-size: 2.4rem;
        line-height: 1.4;
        font-weight: 700; }
      .feature .feature-box .feature-text-box .text {
        font-size: 1.6rem;
        line-height: 1.6;
        color: #7a7a7a; }
    .feature .feature-box .feature-img {
      float: none;
      width: 100%;
      margin-right: 0;
      margin-top: 50px; }
      .feature .feature-box .feature-img img {
        width: 100%; }
    .feature .feature-box.box2 {
      padding: 50px 20px;
      background: #e8e7e7 url("../img/feature_bg_02.png") no-repeat right top; }
      .feature .feature-box.box2 .feature-text-box {
        float: none;
        width: 100%;
        margin: 0;
        box-sizing: border-box;
        background: url("../img/feature_num_sh_02.png") no-repeat left 20px top; }
        .feature .feature-box.box2 .feature-text-box .title {
          padding-top: 90px; }
      .feature .feature-box.box2 .feature-img {
        float: none;
        width: 100%;
        margin-right: 0; }
      .feature .feature-box.box2 .button {
        position: relative;
        width: 380px;
        margin-top: 70px;
        padding: 16px 34px;
        font-size: 1.6rem;
        background-color: #fff;
        border-radius: 100vh;
        box-sizing: border-box; }
        .feature .feature-box.box2 .button::after {
          position: absolute;
          content: '';
          top: 50%;
          right: 20px;
          width: 0.5em;
          height: 0.5em;
          transform: translateY(-50%) rotate(45deg);
          border-right: 1px solid #424242;
          border-top: 1px solid #424242; }
        .feature .feature-box.box2 .button:hover {
          background-color: #000;
          color: #fff; }
          .feature .feature-box.box2 .button:hover::after {
            border-color: #fff; }
    .feature .feature-box.box3 {
      padding: 50px 20px; }
      .feature .feature-box.box3 .feature-text-box {
        background: url("../img/feature_num_sh_03.png") no-repeat left 20px top; }

  .reason .heading {
    position: relative;
    width: 100%;
    height: 250px;
    color: #fff;
    padding: 70px 0 0 130px;
    box-sizing: border-box;
    background: url("../img/reason_heading_bg.png") no-repeat left top; }
    .reason .heading .why {
      font-size: 2.4rem;
      display: block;
      padding-left: 10px; }
    .reason .heading .title {
      position: relative;
      font-size: 2.6rem;
      display: block;
      padding: 25px 0 0 70px;
      line-height: 130%; }
      .reason .heading .title .zero {
        position: absolute;
        left: 0;
        top: 0;
        font-size: 10rem;
        font-weight: 700;
        margin-left: -0.2em;
        line-height: 110%; }
    .reason .heading::before {
      display: none; }
    .reason .heading::after {
      display: none; }
  .reason .img_box {
    display: none; }
  .reason .img_sh_img {
    box-sizing: border-box;
    display: inline-block;
    padding: 0 20px;
    margin-top: 30px; }
    .reason .img_sh_img li {
      margin-bottom: 20px; }
      .reason .img_sh_img li img {
        width: 100%; }

  .flow {
    display: none; }

  .flow_sh_img {
    display: inline-block; }
    .flow_sh_img img {
      width: 100%; }
    .flow_sh_img .video {
      width: 100%;
      height: 210px;
      margin: 50px auto; }
    .flow_sh_img .video iframe {
      width: 100%;
      height: 100%; }

  .ceo {
    padding-top: 100px; }
    .ceo h2 {
      font-size: 3rem;
      font-weight: 700;
      display: block;
      margin: 0 auto;
      width: 100%;
      text-align: center;
      padding-bottom: 30px;
      position: relative; }
      .ceo h2:after {
        display: none; }
    .ceo .img_box img {
      width: 100%; }
    .ceo .text_box {
      width: 100%;
      font-size: 1.8rem;
      line-height: 220%;
      padding: 50px 20px;
      box-sizing: border-box; }
      .ceo .text_box h3 {
        font-size: 2.4rem;
        font-weight: 700;
        margin-bottom: 20px;
        line-height: 140%; }
      .ceo .text_box img {
        margin: 40px 0;
        width: 100%; }

  .qa {
    padding-top: 80px; }
    .qa h2 {
      font-size: 3rem;
      font-weight: 700;
      display: block;
      margin: 0 auto;
      width: 100%;
      text-align: center;
      padding-bottom: 25px;
      position: relative; }
      .qa h2:after {
        display: none; }
      .qa h2:before {
        display: none; }
    .qa .sub_title {
      font-size: 1.2rem;
      line-height: 160%;
      text-align: center;
      padding-bottom: 40px; }
    .qa ul {
      width: 100%;
      margin: 0 auto 20px;
      list-style-type: none;
      font-size: 1.6rem; }
      .qa ul li {
        width: 100%;
        text-align: left;
        height: auto;
        padding: 30px 0 30px 80px;
        box-sizing: border-box;
        line-height: 140%; }
        .qa ul li:nth-child(odd) {
          background-color: #fff; }
      .qa ul li.qu {
        position: relative;
        box-sizing: border-box; }
        .qa ul li.qu:after {
          content: "";
          left: 15px;
          top: 15px;
          position: absolute;
          width: 46px;
          height: 37px;
          display: inline-block;
          background: url("../img/qa_icon2.png") no-repeat; }
      .qa ul li.an {
        position: relative;
        box-sizing: border-box; }
        .qa ul li.an:after {
          content: "";
          left: 15px;
          top: 15px;
          position: absolute;
          width: 46px;
          height: 38px;
          display: inline-block;
          background: url("../img/qa_icon3.png") no-repeat; }
    .qa .sub {
      font-size: 1.6rem;
      width: 100%;
      text-align: center;
      line-height: 160%;
      font-weight: 700;
      margin-bottom: 80px; }

  section .contact {
    padding: 50px 0;
    height: auto; }
    section .contact .contact_wr {
      width: 100%;
      margin: 0 auto; }
      section .contact .contact_wr h2 {
        font-size: 2rem;
        color: white;
        text-align: center;
        margin-bottom: 30px;
        font-weight: 700;
        line-height: 135%;
        box-sizing: border-box;
        padding: 0 20px; }
      section .contact .contact_wr h3 {
        font-size: 1.8rem;
        color: white;
        text-align: center;
        margin-top: 40px;
        margin-bottom: 30px;
        font-weight: 400; }
      section .contact .contact_wr .do {
        text-align: center;
        background: url("../img/manga2.png") center center/cover no-repeat;
        box-sizing: border-box;
        width: calc(100% - 40px);
        margin: 0 20px;
        height: 200px;
        display: inline-block;
        border-radius: 5px;
        font-size: 2.4rem;
        padding-top: 90px;
        font-weight: 700;
        line-height: 130%;
        position: relative;
        color: white;
        text-shadow: 1px 2px 3px #4b4b4b; }
        section .contact .contact_wr .do:after {
          display: none; }
        section .contact .contact_wr .do:before {
          content: "";
          display: inline-block;
          position: absolute;
          background-color: rgba(0, 0, 0, 0.4);
          top: 0;
          left: 0;
          width: 100%;
          height: 100%; }
        section .contact .contact_wr .do .sub {
          font-family: din-condensed,sans-serif;
          font-size: 1.6rem;
          margin-top: 10px; }
        section .contact .contact_wr .do .pc {
          display: inline-block; }
      section .contact .contact_wr ul.button_wr {
        font-size: 2rem;
        list-style: none; }
        section .contact .contact_wr ul.button_wr li {
          width: calc(100% - 40px);
          height: 80px;
          margin: 0 20px 20px;
          float: none; }
          section .contact .contact_wr ul.button_wr li:last-child {
            margin-right: 0; }
          section .contact .contact_wr ul.button_wr li a {
            width: 100%;
            height: 100%;
            display: inline-block;
            color: #fff;
            border-radius: 5px;
            padding: 30px 0 0 80px;
            box-sizing: border-box;
            position: relative; }
          section .contact .contact_wr ul.button_wr li .mail {
            background: linear-gradient(270deg, #fb5376, #fb8077); }
            section .contact .contact_wr ul.button_wr li .mail:after {
              position: absolute;
              left: 24px;
              top: 27px;
              content: "";
              display: inline-block;
              width: 36px;
              height: 28px;
              background: url("../img/icon2.png") no-repeat; }
          section .contact .contact_wr ul.button_wr li .line {
            background: #08b808; }
            section .contact .contact_wr ul.button_wr li .line:after {
              position: absolute;
              left: 7px;
              top: 5px;
              content: "";
              display: inline-block;
              width: 70px;
              height: 70px;
              background: url("../img/icon1.png") no-repeat; }
          section .contact .contact_wr ul.button_wr li .tel {
            display: none; }
          section .contact .contact_wr ul.button_wr li .tel_sh {
            display: inline-block;
            width: 100%;
            background: url("../img/tel2.png") center center/cover no-repeat; } }
@media screen and (max-width: 1000px) {
  .display_no {
    display: none; } }

/*# sourceMappingURL=index.css.map */
