@charset "UTF-8";
/* ======================== */
/* firstview */
/* ======================== */
#firstview {
  background-color: var(--color-2nd-green);
  padding-top: 20px;
  padding-bottom: 40px;
  margin-bottom: 75px; }
  #firstview .read1 {
    font-weight: 600; }
  #firstview .read2 {
    color: var(--color-1st-green);
    font-size: 4.6rem;
    font-weight: 600; }
  #firstview .read3 {
    margin-bottom: 20px; }
  #firstview .cta {
    list-style: none;
    padding-left: 0;
    font-size: 1.6rem;
    font-weight: 500;
    /* スマホサイズ */ }
    @media (max-width: 479px) {
      #firstview .cta {
        display: flex;
        justify-content: space-between; }
        #firstview .cta li {
          width: 48%; }
        #firstview .cta a {
          width: 100%;
          margin-right: 0; } }
    #firstview .cta .btn-contact {
      color: #fff;
      background-color: var(--color-1st-green);
      border-radius: 5px;
      text-decoration: none;
      display: block;
      float: left;
      padding: 10px 20px 10px 40px;
      background-image: url("../images/icon-doc.png");
      background-repeat: no-repeat;
      background-position: 5px center;
      margin-right: 20px; }
    #firstview .cta .btn-demo {
      color: #fff;
      background-color: var(--color-1st-yellow);
      border-radius: 5px;
      text-decoration: none;
      display: block;
      float: left;
      padding: 10px 20px 10px 40px;
      background-image: url("../images/icon-demo.png");
      background-repeat: no-repeat;
      background-position: 5px center; }

/* ======================== */
/* problem */
/* ======================== */
#problem {
  margin-bottom: 25px; }
  #problem h2 {
    color: var(--color-main-text);
    font-size: 4.6rem;
    text-align: center; }
    #problem h2 .strong {
      color: var(--color-1st-green); }
  #problem .h2-btm {
    text-align: center;
    margin-bottom: 50px; }
  #problem .problem_box {
    margin-bottom: 50px; }
    #problem .problem_box .text {
      margin-bottom: 20px;
      min-height: 54px; }
  #problem h3 {
    color: var(--color-1st-green);
    font-size: 2.4rem;
    margin-bottom: 20px; }

/* ======================== */
/* change */
/* ======================== */
#change {
  margin-bottom: 75px; }
  #change h2 {
    color: var(--color-main-text);
    font-size: 4.6rem;
    text-align: center;
    margin-bottom: 50px; }
    #change h2 .strong {
      color: var(--color-1st-green); }
  #change .tbl_change th {
    background-color: var(--color-1st-green);
    color: #fff;
    text-align: center;
    font-size: 2.4rem;
    padding: 10px 5px;
    width: 50%; }
  #change .tbl_change th:first-child {
    border-right: 1px solid #fff; }
  #change .tbl_change td {
    font-size: 2.2rem;
    font-weight: 300;
    border-bottom: 1px solid var(--color-1st-green);
    padding: 15px 10px; }
  #change .tbl_change td.after {
    background-image: url("../images/green-arrow.png");
    background-repeat: no-repeat;
    background-position: left center;
    color: var(--color-pink);
    font-weight: 400;
    padding-left: 40px; }

/* ======================== */
/* four-step */
/* ======================== */
#four-step {
  margin-bottom: 75px; }
  #four-step h2 {
    color: var(--color-main-text);
    font-size: 4.6rem;
    text-align: center; }
    #four-step h2 .strong {
      color: var(--color-1st-green); }
  #four-step .h2-btm {
    text-align: center;
    margin-bottom: 50px; }
  #four-step .step-box {
    font-size: 2.4rem;
    border: 2px solid var(--color-1st-green);
    border-radius: 10px;
    /* スマホサイズ */ }
    @media (max-width: 479px) {
      #four-step .step-box {
        margin-bottom: 25px; } }
    #four-step .step-box .step-title {
      background-color: var(--color-2nd-green);
      color: var(--color-1st-green);
      border-top-left-radius: 10px;
      border-top-right-radius: 10px;
      text-align: center;
      font-weight: 600;
      margin-bottom: 0;
      padding: 10px 0; }
    #four-step .step-box .explanation {
      padding: 10px; }
      #four-step .step-box .explanation h3 {
        text-align: center; }
      #four-step .step-box .explanation p {
        min-height: 81px; }
  #four-step .bottom-arrow {
    margin-top: 25px;
    text-align: center; }
    #four-step .bottom-arrow .green-txt {
      color: var(--color-1st-green);
      font-size: 2.8rem;
      font-weight: 500; }

/* ======================== */
/* point */
/* ======================== */
#point {
  padding-top: 50px;
  background-color: var(--color-1st-green);
  margin-bottom: 75px; }
  #point h2 {
    color: var(--color-2nd-yellow);
    font-size: 4.6rem;
    text-align: center;
    margin-bottom: 50px; }
  #point h3 {
    color: #fff;
    font-size: 3.2rem;
    margin-bottom: 25px; }
  #point h4 {
    color: #fff;
    font-size: 2.4rem;
    padding-bottom: 20px; }
  #point p {
    color: #fff; }
  #point .point1 {
    border-bottom: 2px dotted #fff;
    padding-bottom: 50px; }
    #point .point1 .text {
      padding-bottom: 20px; }
    #point .point1 img {
      margin-bottom: 25px; }
    #point .point1 .file-list img {
      margin-bottom: 0; }
    #point .point1 .file-list li {
      margin-bottom: 25px; }
  #point .point2 {
    padding-top: 50px;
    border-bottom: 2px dotted #fff;
    padding-bottom: 50px; }
    #point .point2 .text {
      padding-bottom: 20px; }
    #point .point2 .link {
      color: #fff; }
    #point .point2 video {
      width: 100%; }
  #point .point3 {
    padding-top: 50px;
    padding-bottom: 50px; }
    #point .point3 .text {
      padding-bottom: 20px; }
    #point .point3 .avator_img {
      position: relative;
      margin-bottom: 25px; }
      #point .point3 .avator_img .right_arrow {
        position: absolute;
        right: -90px;
        bottom: 100px;
        z-index: 999;
        /* スマホサイズ */ }
        @media (max-width: 479px) {
          #point .point3 .avator_img .right_arrow img {
            display: none; } }
  #point .file-list {
    list-style: none;
    padding-left: 0;
    overflow: hidden;
    font-size: 2rem; }
    #point .file-list li {
      float: left;
      color: #fff;
      text-align: center; }
  #point .point-detail {
    background-color: #fff;
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 20px; }
    #point .point-detail h5 {
      font-size: 2.6rem;
      color: var(--color-1st-green); }
    #point .point-detail p {
      color: var(--color-main-text);
      min-height: 108px; }
  #point .btn-white {
    text-align: center;
    padding: 15px 0;
    margin-top: 50px; }
    #point .btn-white a {
      background-color: #fff;
      font-size: 2.2rem;
      color: var(--color-1st-green);
      text-decoration: none;
      border-radius: 10px;
      padding: 15px 10px; }

/* ======================== */
/* reassurance */
/* ======================== */
#reassurance {
  margin-bottom: 75px; }
  #reassurance h2 {
    color: var(--color-main-text);
    font-size: 4.6rem;
    text-align: center;
    margin-bottom: 50px; }
  #reassurance h4 {
    font-size: 2.4rem;
    padding-bottom: 20px;
    color: var(--color-1st-green); }
  #reassurance .text {
    margin-bottom: 20px; }
  #reassurance .reassurance-detail {
    background-color: var(--color-2nd-green);
    padding: 20px;
    border-radius: 10px;
    margin-bottom: 20px; }
    #reassurance .reassurance-detail h5 {
      font-size: 2.6rem;
      color: var(--color-1st-green); }

/* ======================== */
/* change2 */
/* ======================== */
#change2 {
  padding-top: 50px;
  background-color: var(--color-gray);
  margin-bottom: 75px; }
  #change2 h2 {
    color: var(--color-main-text);
    font-size: 4.6rem;
    text-align: center; }
    #change2 h2 .strong {
      color: var(--color-1st-green); }
  #change2 .h2-btm {
    text-align: center;
    margin-bottom: 50px; }
  #change2 .change2-detail {
    margin-bottom: 50px; }
    #change2 .change2-detail h3 {
      background-color: var(--color-1st-green);
      color: #fff;
      text-align: center;
      padding: 15px 0;
      border-top-left-radius: 10px;
      border-top-right-radius: 10px;
      margin-bottom: 0; }
    #change2 .change2-detail .detail-box {
      background-color: #fff;
      padding: 20px 10px; }
      #change2 .change2-detail .detail-box p {
        height: 81px; }
    #change2 .change2-detail h4 {
      font-size: 2rem;
      font-weight: 600; }

/* ======================== */
/* usage-example */
/* ======================== */
#usage-example {
  margin-bottom: 25px; }
  #usage-example h2 {
    color: var(--color-main-text);
    font-size: 4.6rem;
    text-align: center; }
  #usage-example .h2-btm {
    text-align: center;
    margin-bottom: 50px; }
  #usage-example .usage-detail {
    margin-bottom: 50px; }
    #usage-example .usage-detail h3 {
      color: var(--color-1st-green);
      text-align: center;
      font-size: 2.8rem;
      border-bottom: 1px solid var(--color-1st-green);
      padding-bottom: 10px;
      margin-bottom: 20px; }
    #usage-example .usage-detail .detail-box P {
      margin-top: 20px; }

/* ======================== */
/* price-plan */
/* ======================== */
#price-plan {
  background-color: var(--color-gray);
  padding-top: 50px;
  padding-bottom: 50px;
  margin-bottom: 75px; }
  #price-plan h2 {
    color: var(--color-main-text);
    font-size: 4.6rem;
    text-align: center; }
    #price-plan h2 .strong {
      color: var(--color-1st-green); }
  #price-plan .h2-btm {
    text-align: center;
    margin-bottom: 75px;
    /* スマホサイズ */ }
    @media (max-width: 479px) {
      #price-plan .h2-btm {
        margin-bottom: 50px; } }
  #price-plan .plan-detail {
    position: relative;
    /* スマホサイズ */ }
    @media (max-width: 479px) {
      #price-plan .plan-detail {
        margin-bottom: 50px; } }
    #price-plan .plan-detail .recommendation {
      position: absolute;
      right: 0;
      left: 0;
      margin: 0 auto;
      top: -50px;
      width: 136px; }
    #price-plan .plan-detail h3 {
      background-color: var(--color-1st-green);
      color: #fff;
      text-align: center;
      padding: 15px 0;
      border-top-left-radius: 10px;
      border-top-right-radius: 10px;
      margin-bottom: 0; }
    #price-plan .plan-detail .detail-box {
      background-color: #fff;
      padding: 20px 10px;
      border-bottom-left-radius: 10px;
      border-bottom-right-radius: 10px; }
    #price-plan .plan-detail .price {
      color: var(--color-pink);
      font-size: 1.8rem; }
      #price-plan .plan-detail .price .strong {
        font-size: 4.8rem;
        font-weight: 700; }
    #price-plan .plan-detail .guideline {
      font-size: 2.2rem;
      border-bottom: 1px solid var(--color-1st-green);
      padding-bottom: 20px; }
    #price-plan .plan-detail ul {
      margin-top: 20px;
      font-size: 2.1rem; }
  #price-plan .btn-black {
    text-align: center;
    padding: 15px 0;
    margin-top: 50px;
    /* スマホサイズ */ }
    @media (max-width: 479px) {
      #price-plan .btn-black {
        margin-top: 0; } }
    #price-plan .btn-black a {
      background-color: #5C5D5E;
      font-size: 2.2rem;
      color: #fff;
      text-decoration: none;
      border-radius: 10px;
      padding: 15px 10px; }

/* ======================== */
/* question */
/* ======================== */
#question {
  margin-bottom: 75px; }
  #question h2 {
    color: var(--color-main-text);
    font-size: 4.6rem;
    text-align: center;
    margin-bottom: 50px; }
  #question .qa-accordion {
    list-style: none;
    padding-left: 0;
    /*アコーディオンタイトル*/
    /*アイコンの＋と×*/
    /*　closeというクラスがついたら形状変化　*/ }
    #question .qa-accordion section {
      margin-bottom: 0;
      padding-right: calc(var(--bs-gutter-x) * 2);
      padding-left: calc(var(--bs-gutter-x) * 2);
      /* スマホサイズ */ }
      @media (max-width: 767px) {
        #question .qa-accordion section {
          padding-right: 0;
          padding-left: 0; } }
    #question .qa-accordion > li {
      padding-bottom: 20px; }
    #question .qa-accordion > li:last-child {
      padding-bottom: 0; }
    #question .qa-accordion .title {
      font-size: 2.2rem;
      padding: 20px 0 20px 50px;
      /* スマホサイズ */
      /* スマホサイズ以上 */
      font-weight: 500;
      position: relative;
      /*+マークの位置基準とするためrelative指定*/
      cursor: pointer;
      transition: all .5s ease;
      margin-bottom: 0;
      background-color: var(--color-gray);
      background-repeat: no-repeat;
      background-size: contain; }
      @media (max-width: 767px) {
        #question .qa-accordion .title {
          font-size: 1.8rem;
          padding: 20px 30px 20px 20px; } }
      @media (min-width: 480px) {
        #question .qa-accordion .title {
          background-image: url("../images/q.png");
          background-size: auto;
          background-position: 10px center; } }
    #question .qa-accordion .title::before,
    #question .qa-accordion .title::after {
      position: absolute;
      content: '';
      width: 15px;
      height: 3px;
      background-color: var(--color-1st-green); }
    #question .qa-accordion .title::before {
      top: 48%;
      right: 15px;
      transform: rotate(0deg); }
    #question .qa-accordion .title::after {
      top: 48%;
      right: 15px;
      transform: rotate(90deg); }
    #question .qa-accordion .title.accordion-close::before {
      transform: rotate(45deg); }
    #question .qa-accordion .title.accordion-close::after {
      transform: rotate(-45deg); }
    #question .qa-accordion .box {
      display: none;
      padding: 10px 10px 0 10px; }
      #question .qa-accordion .box p {
        margin-bottom: 0; }
  #question .btn-black {
    text-align: center;
    padding: 15px 0;
    margin-top: 50px; }
    #question .btn-black a {
      background-color: #5C5D5E;
      font-size: 2.2rem;
      color: #fff;
      text-decoration: none;
      border-radius: 10px;
      padding: 15px 10px; }

/* ======================== */
/* company */
/* ======================== */
#company {
  margin-bottom: 75px; }
  #company h2 {
    color: var(--color-main-text);
    font-size: 4.6rem;
    text-align: center;
    margin-bottom: 50px; }
  #company .company_list {
    font-size: 2.2rem;
    padding-right: calc(var(--bs-gutter-x) * 2);
    padding-left: calc(var(--bs-gutter-x) * 2);
    /* スマホサイズ */ }
    @media (max-width: 767px) {
      #company .company_list {
        padding-right: 0;
        padding-left: 0; } }
    #company .company_list li:first-child {
      border-top: 4px dotted var(--color-2nd-green); }
    #company .company_list li {
      display: flex;
      border-bottom: 4px dotted var(--color-2nd-green);
      padding-top: 15px;
      padding-bottom: 15px; }
      #company .company_list li div:first-child {
        flex: 1;
        color: var(--color-1st-green);
        padding-left: calc(var(--bs-gutter-x) * 1); }
      #company .company_list li div:last-child {
        flex: 2; }
