 @charset "utf-8";
 @import 'foundation.css';
 @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap');
 @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap');

 /*-- Reset Foundation.. --------------------------------------------------------------------------*/
 
 html {
     font-size: 62.5%;
 }
 
 body {
     font-size: 1.6rem;
     letter-spacing: 1px;
     color: #333;
 }
 /*font-family*/
 
 body,
 h1,
 .h1,
 h2,
 .h2,
 h3,
 .h3 {
     font-family: 'Noto Sans JP', sans-serif;
 }
 
 h1,
 .h1,
 h2,
 .h2,
 h3,
 .h3 {
     display: block;
     line-height: 1;
     margin: 0;
     font-weight: bold;
 }
 
 /*見出し*/
 
main h1 {
    font-size: 4.8rem;
    letter-spacing: 4px;
    line-height: 1.4;
    margin-bottom: 40px;
}

main h1 span {
    font-size: 6.8rem;
}

.h2 {
   font-size: 4rem;
   font-weight: bold;
   letter-spacing: 4px;
   margin-bottom: 50px;
   line-height: 1.56;
}

.plan .h2,
.example .h2 {
    margin-bottom: 80px;
}

.h2 span {
    font-size: 5.2rem;
}

.h2 span.span02 {
    font-size: 60px;
}

.green_text {
    font-weight: bold;
    color: #45BA97;
}

section {
   padding: 100px 0 120px;
   margin: 0 auto;
}

a.anchor{
    display: block;
    padding-top: 186px;
    margin-top: -186px;
}

 main {
     position: relative;
 }

 .bg-green {
    background-color: #EDFBF7;
 }
 
 .inner {
    max-width: 1240px;
    width: 100%;
    padding: 0 20px;
    box-sizing: border-box;
    margin: 0 auto;
 }

 img {
     width: 100%;
 }
 
 ul,
 ol,
 dl,
 ul ul,
 ol ul,
 ul ol,
 ol ol {
     line-height: 1;
     margin: 0;
     list-style: none;
 }
 
 dl dt,
 strong,
 b,
 em {
     font-weight: normal;
     line-height: 1;
     margin: 0;
 }
 
 em {
     font-style: normal;
 }
 
 button,
 input,
 optgroup,
 select,
 textarea {
     line-height: 1;
     margin: 0;
 }
 
 ::placeholder {
     color: #858585;
 }
 
 .error {
     color: #e60012;
     font-weight: bold;
     margin-bottom: 10px;
 }
 
 .color-red {
     color: #e60012;
 }

 .text_link {
    text-decoration: underline;
    text-underline-offset: 0.3em;
 }

 .text_link:hover {
    text-decoration: none;
 }

 .bold {
     font-weight: bold;
 }
 
 div,
 p {
     margin: 0;
     line-height: 1;
 }

 p,
 li {
     letter-spacing: 1px;
 }

 p {
     line-height: 1.6;
 }

 small,
 label {
     font-size: 1.4rem;
     line-height: 1;
 }

 
 
 /*適宜変更*/
 
 [type="text"],
 [type="text"]:focus,
 [type="password"],
 [type="password"]:focus,
 [type="email"],
 [type="email"]:focus,
 [type=number],
 [type=number]:focus,
 textarea,
 textarea:focus,
 select,
 select:focus {
     font-size: 16px;
     font-weight: 500;
     background-color: #f2f2f2;
     padding: 0 2rem;
     border: 0;
     box-shadow: inherit;
     margin-bottom: 0;
     border-radius: 4px;
     letter-spacing: 1px;
 }

 main {
     display: block;
 }

 .pc {
     display: block;
 }
 
 .ipad {
     display: none;
 }
 
 .sp {
     display: none;
 }
 /*リンク*/
 
 a,
 a:hover,
 a:focus {
     color: #333;
 }

 a {
    transition: 0.4s;
     letter-spacing: 1px;
 }
 
 
 a.text_link:hover {
     opacity: 1;
     text-decoration: none;
 }

 a.text_color_link {
    color: #45BA97;
    text-decoration: underline;
    text-underline-offset: 0.4em;
}

a.text_color_link:hover {
    opacity: 1;
    text-decoration: none;
    
}

 /* btn */
 .btn_wrap {
    text-align: center;
    margin-top: 60px;
}

.btn.green {
    display: block;
    color: #fff;
    background-color: #45BA97;
    border-radius: 80px;
    font-weight: bold;
    text-align: center;
    padding: 10px;
    box-shadow: 0 0 6px rgba(0,0,0,0.15);
}

.btn.white {
    display: block;
    color: #45BA97;
    background-color: #fff;
    border-radius: 80px;
    font-weight: bold;
    text-align: center;
    padding: 10px;
    box-shadow: 0 0 6px rgba(0,0,0,0.15);
}

.btn.green:hover {
    opacity: 1;
    color: #45BA97;
    background-color: #fff;
}

.btn.white:hover {
    opacity: 1;
    color: #fff;
    background-color: #45BA97;
}

@media screen and (max-width: 1000px) {
    main h1 {
        font-size: 2.8rem;
        margin-bottom: 20px;
        letter-spacing: 3px;
     }

     main h1 span {
        font-size: 4.6rem;
     }

     .mv p {
        font-size: 15px;
     }
}


 @media screen and (max-width: 750px) {
     body {
         font-size: 14px;
     }
     small,
     label {
         font-size: 14px;
     }
     /*見出しフォントサイズ*/
     main h1 {
        font-size: 2.5rem;
        letter-spacing: 2px;
        line-height: 1.4;
        margin-bottom: 20px;
    }
    
    main h1 span {
        font-size: 3.8rem;
    }

    .h2 {
        font-size: 2.2rem;
        font-weight: bold;
        letter-spacing: 1px;
        margin-bottom: 25px;
        line-height: 1.56;
     }
     
     .plan .h2,
     .example .h2 {
         margin-bottom: 40px;
     }

     .plan .h2,
     .example .h2,
     .qa .h2,
     .news .h2 {
         font-size: 2.8rem;
     }
     
     .h2 span {
         font-size: 3rem;
     }
     
     .h2 span.span02 {
         font-size: 60px;
     }

     section {
        padding: 40px 0 60px;
     }

     a.anchor {
        padding-top: 100px;
        margin-top: -100px;
     }

     [type=color],
     [type=date],
     [type=datetime-local],
     [type=datetime],
     [type=email],
     [type=month],
     [type=number],
     [type=password],
     [type=search],
     [type=tel],
     [type=text],
     [type=time],
     [type=url],
     [type=week],
     textarea {
         font-size: 16px;
     }
     [type="text"],
     [type="text"]:focus,
     [type="password"],
     [type="password"]:focus,
     [type="email"],
     [type="email"]:focus,
     [type=number],
     [type=number]:focus,
     textarea,
     textarea:focus {
         font-size: 16px;
         padding: 2.4rem 2rem;
     }
     main {
         display: block;
     }
     

     /* btn */

     a:hover,
     a:focus,
     button:hover,
     button:focus
      {
         opacity: 1;
     }

     .breadcrumb__list li a {
         line-height: 1.6;
     }

     .wrap.top_btn {
         margin-bottom: 50px;
         font-size: 12px;
     }
 }


 /*  PC  */
 
 header {
     padding: 3.2rem 4rem;
     position: fixed;
     width: 100%;
     z-index: 2;
 }

 header.fixed {
     background: #FFF;
     padding: 1.5rem 2rem;
     box-shadow: 0 0 6px rgba(0,0,0,0.15);
 }

 header .header_inner {
     margin: 0 auto;
     align-items: center;
 }
 
 header .logo {
     max-width: 268px;
     display: block;
     transition: 0.3s;
 }

 header.fixed .logo {
     max-width: 180px;
 }

 header .logo a {
     width: 100%;
     display: block;
 }

 .sp_btn01 {
    display: none;
}

 header .menu li {
     margin-left: 30px;
 }

 header .menu li:last-of-type {
     margin-left: 15px;
 }
 
 header .menu li a {
     display: block;
     padding-bottom: 0;
     font-size: 16px;
     padding: 0;
 }

 header .menu li a:hover {
     color: #45BA97;
 }

 header .menu li a.btn.green,
 header .menu li a.btn.white {
     font-size: 18px;
     font-weight: bold;
     width: 180px;
     padding: 16px 0;
 }

 header.fixed .menu li a.btn.green,
 header.fixed .menu li a.btn.white {
    padding: 14px 0;
    font-size: 16px;
    width: 160px;
 }

 header .menu li a.btn.white {
     width: 160px;
     margin-left: 10px;
 }
 
 header .menu li.active a {
     background-color: #fff;
     color: inherit;
 }

 header .menu ul {
     display: none;
     position: absolute;
     top: 35px;
     left: -65px;
     padding: 0;
     filter: drop-shadow(2px 2px 3px rgba(0,0,0,0.2));
 }

 header .menu ul li {
     padding-bottom: 0;
     margin-top: 0;
 }

 header .menu ul li a {
     width: 170px;
     display: block;
    background-color: #FFF;
    margin: 0 auto;
    text-align: center;
    padding: 16px 20px;
    font-size: 13px;
    font-weight: normal;
    letter-spacing: 0;
 }

 header .menu ul li:first-of-type a {
     border-radius: 10px 10px 0 0;
 }

 header .menu ul li:nth-child(2),
 header .menu ul li:nth-child(3) {
    box-shadow:0;
 }

 header .menu ul li:last-of-type a {
    border-radius: 0 0 10px 10px;
}

 header .menu ul li a:hover {
     background-color: #f2f2f2;
     opacity: 1;
 }

 header .menu ul li a::after {
     display: none;
 }

 header .sp_btn01,
 header .humberger{
     display: none;
 }

/* MV */
 
.mv {
  margin: 0 auto;
  padding: 170px 0 120px;
  background: url(/images/bg_mv.jpg) no-repeat center / cover;
  position: relative;
}

.mv .mv_text {
    position: relative;
    z-index: 1;
}

.mv .green_text {
    font-size: 24px;
}

.mv p {
    font-size: 20px;
}

.mv .btn.green {
    width: 300px;
    font-size: 24px;
    padding: 24px 10px;
    margin-top: 50px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}

.mv .mv_img {
    position: absolute;
    max-width: 853px;
    right: -8%;
    top: 20%;
    z-index: 0;
}

 /*  worries  */

 section.worries {
     padding: 80px 0 100px;
 }

 .worries .h2 span {
     color: #45BA97;
     margin: 0 5px;
 }

 .worries .worries_wrap {
     max-width: 798px;
     margin: 70px auto 0;
     position: relative;
 }

 .worries .worries_wrap .bubble {
     position: absolute;
     font-size: 18px;
     text-align: center;
 }

 .worries .worries_wrap .bubble.text01 {
     background: url(/images/worries_bubble01.png) no-repeat center / cover;
     padding: 55px 45px 65px;
     top: 24%;
     left: -20%;
 }

 .worries .worries_wrap .bubble.text02 {
    background: url(/images/worries_bubble02.png) no-repeat center / cover;
    padding: 48px 39px;
    top: -6%;
    left: 38%;
}

.worries .worries_wrap .bubble.text03 {
    background: url(/images/worries_bubble03.png) no-repeat center / cover;
    padding: 65px 56px;
    top: 20%;
    right: -21%;
}

 .worries .worries_wrap .bubble p span {
     position: relative;
     font-size: 20px;
     font-weight: bold;
 }

 .worries .worries_wrap .bubble p span::after {
    content: "";
    display: inline-block;
    position: absolute;
    right: 0;
    bottom: -7px;
    width: 125px;
    height: 4px;
    border-radius: 5px;
    background: #FFE55C;
 }

  /*  features  */

  .features {
      position: relative;
      padding: 147px 0 160px;
  }

  .features::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    border: 108px solid transparent;
    border-top: 67px solid #fff;
  }

  .features .grid-x.align-justify {
      margin-bottom: 100px;
  }

  .features .grid-x.align-justify.last {
    margin-bottom: 0;
}

  .features .content_img img {
      max-width: 540px;
  }

  .features .content_text {
      max-width: 580px;
  }

  .features .content_text .h2 {
      font-size: 38px;
      margin-bottom: 20px;
      letter-spacing: 1px;
      line-height: 1.4;
  }

  .features .content_text .h3 {
      font-size: 24px;
      margin-bottom: 30px;
      line-height: 1.4;
  }

 /*  CTA  */

 .cta01 {
     background: url(/images/bg_cta01.jpg) no-repeat center / cover;
 }

 .cta01 .h2 {
     color: #fff;
     margin-bottom: 35px;
 }

 .cta01 .h2 span {
     margin: 0 5px;
 }

 .cta01 .btn.white {
     max-width: 320px;
     font-size: 24px;
     margin: 0 auto;
     padding: 23px 10px;
     border: 2px solid #fff;
 }

 .cta01 .btn.white:hover {
     border: 2px solid #fff;
 }

  /*  PLAN  */

  section.plan {
      padding: 120px 0 160px;
  }

  .plan .head {
      width: 20%;
      background-color: #F1FBF8;
      box-shadow: 0 0 8px rgba(0,0,0,0.12);
      margin-top: 110px;
      border-radius: 10px 0 0 10px;
  }

  .plan .head p {
      padding: 20px;
      border-bottom: 1px solid #D1EDE5;
      font-size: 14px;
      font-weight: bold;
  }

  .plan .head p:last-of-type {
      border-bottom: 0;
  }

  .plan .head p.price_head {
      padding: 38px 20px;
  }

  .plan .plan_wrap {
      width: 18.75%;
      box-shadow: 0 0 8px rgba(0,0,0,0.12);
      border-radius: 10px 10px 0 0;
  }

  .plan .plan_wrap:last-of-type {
        border-radius: 10px 10px 10px 0;
  }

  .plan .plan_wrap .cell {
      border-bottom: 1px solid #E6E6E6;
      text-align: center;
      padding: 19px;
  }

  .plan .plan_wrap .cell:last-child {
      border-bottom: 0;
  }

  .plan .plan_wrap .cell.price_content {
    padding: 19px 10px;
    letter-spacing: 0;
  }

  .plan .plan_content {
      background-color: #F5F5F5;
      font-size: 24px;
      font-weight: bold;
      text-align: center;
      border-radius: 10px 10px 0 0;
      padding: 18px 10px 22px;
      position: relative;
  }

  .plan .plan_wrap .plan_content.bg_light_green {
    background-color: #EBFBF6;
  }

  .plan .plan_wrap .plan_content.bg_green {
    background-color: #CDF1E5;
  }

  .plan .plan_wrap .plan_content.bg_deep_green {
    background-color: #97E0CA;
  }

  .plan .plan_content span {
      font-size: 32px;
  }

  .plan .plan_content .plan_text {
      font-size: 12px;
      font-weight: normal;
  }

  .plan .plan_content .ribbon {
      position: absolute;
      width: 174px;
      background: url(/images/ribbon.svg) no-repeat center / contain;
      font-size: 14px;
      color: #fff;
      padding: 2px 11px 18px;
      top: -24px;
      left: 50%;
      transform: translateX(-50%);
      -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
  }

  .plan .price_content {
      text-align: center;
      font-size: 35px;
      font-weight: bold;
      padding: 15px 0 27px;
  }

  .plan .price_content .mark {
      font-size: 20px;
      margin-right: 5px;
  }

  .plan .price_content .month {
      font-weight: normal;
      font-size: 18px;
      margin-left: 3px;
  }

  .plan .price_content .tax {
    font-weight: normal;
    font-size: 14px;
    margin-left: 3px;
}

@media only screen and (max-width: 1200px) {

    .plan .head {
        margin-top: 127px;
    }

    .plan .plan_content .plan_text {
        margin: 10px 0;
    }
    .plan .plan_wrap.free .plan_content .plan_text {
        margin: 0;
    }
}

@media only screen and (max-width: 1080px) {
    .plan .plan_wrap .conserved_amount {
        padding: 29px 20px;
    }
}

@media only screen and (max-width: 915px) {

    .plan .head {
        margin-top: 104px;
    }

    .plan .head p {
        padding: 22px 20px;
        font-size: 12px;
    }

    .plan .head p.price_head {
        padding: 31px 20px;
    }

    .plan .plan_content {
        font-size: 18px;
        padding: 14px 10px 12px;
    }

    .plan .plan_content span {
        font-size: 24px;
    }

    .plan .plan_content .ribbon {
        font-size: 12px;
        padding: 0px 6px 16px;
        top: -16px;
    }

    .plan .price_content {
        font-size: 28px;
    }

    .plan .price_content .mark {
        font-size: 18px;
        margin-right: 2px;
    }

    .plan .price_content .month {
        font-size: 16px;
        margin-left: 2px;
    }

    .plan .price_content .tax {
        font-size: 12px;
        margin-left: 2px;
    }
}

  /*  EXSMPLE  */

  .example li {
      max-width: 375px;
      width: 32%;
      border-radius: 15px;
      box-shadow: 0 0 6px rgba(0,0,0,0.15);
  }

  .example li a .img_content {
      border-radius: 15px 15px 0 0;
      overflow: hidden;
  }
  
  .example li a .img_content img {
      transition: 0.4s;
  }

  .example li a:hover img {
      transform: scale(1.1);
  } 

  .example li a .text_content {
      background-color: #fff;
      border-radius: 0 0 15px 15px;
      padding: 20px 15px;
  }

  .example li a .text_content .name {
      font-size: 14px;
      font-weight: bold;
      margin-bottom: 10px;
  }

  .example li a .text_content .text {
      font-size: 20px;
      font-weight: bold;
      line-height: 1.4;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
      overflow: hidden;
  }
  
  .example .btn.white,
  .news .btn.white {
    font-size: 18px;
    max-width: 280px;
    border-color: #fff;
    padding: 25px 20px;
    margin: 60px auto 0;
   }
   
   .example .btn.white:hover,
   .news .btn.white:hover {
      border-color: #45BA97;
   }

  /*  QA  */
  
  /* アコーディオン */
  .accordion__item {
    margin-top: 20px;
    cursor: pointer;
  }
  
  /* アコーディオンのタイトル */
  .accordion__title {
    position: relative;
    padding: 23px 60px 23px 20px;
    font-size: 18px;
    font-weight: bold;
    cursor: pointer;
    background-color: #F5F5F5;
    border-radius: 10px;
  }

  .accordion__title .q {
      font-family: 'Roboto', sans-serif;
      font-weight: bold;
      color: #45BA97;
      font-size: 26px;
      width: 40px;
      line-height: 1;
  }

  .accordion__item .text {
    width: calc(100% - 40px);
  }
  
  /* (+)アイコン */
  .accordion__title::before,
  .accordion__title::after {
    content: "";
    position: absolute;
    right: 20px;
    top: 0;
    bottom: 0;
    margin: auto 0;
    background-color: #45BA97;
    width: 16px;
    height: 3px;
    transition: all 0.3s;
  }
  
  .accordion__title::after {
    transform: rotate(90deg);
  }
  
  /* アコーディオンのコンテンツ */
  .accordion__content {
    padding: 0 60px 15px 20px;
    display: none;
    cursor: pointer;
    margin-top: 18px;
  }

  .accordion__content .a {
    font-family: 'Roboto', sans-serif;
    font-weight: bold;
    color: #ED4A4A;
    font-size: 26px;
    width: 40px;
    line-height: 1;
}
  
  .accordion__content.is-open {
    display: flex;
  }
  
  /* アコーディオン展開時の(-)アイコン */
  .accordion__item.is-active .accordion__title::before {
    transform: rotate(180deg);
  }
  
  .accordion__item.is-active .accordion__title::after {
    transform: rotate(180deg);
    opacity: 0;
  }

 /*  NEWS  */

 .news ul li {
     background-color: #fff;
     border-radius: 10px;
     padding: 28px 24px;
     margin-bottom: 20px;
     overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    box-shadow: 0 0 6px rgba(0,0,0,0.15);
 }

 .news ul li span {
     margin-right: 30px;
 }

 /*  CTA02  */

  .cta02 {
    background: url(/images/bg_cta02.jpg) no-repeat center / cover;
  }
  
  .cta02 .h2 {
      margin-bottom: 35px;
  }
  
  .cta02 .h2 span {
      margin: 0 5px;
      color: #45BA97;
  }
  
  .cta02 .btn.green {
      max-width: 320px;
      display: block;
      font-size: 24px;
      margin: 0 auto;
      padding: 25px 10px;
  }

 

 /*  footer  */
 
 footer {
     position: relative;
     background-color: #33927C;
     padding: 40px;
     color: #fff;
 }

 footer .logo {
    max-width: 268px;
    margin-right: 40px;
    display: block;
}

footer .link_content li a {
    display: block;
    color: #fff;
    font-weight: bold;
    margin-right: 30px;
    margin-top: 25px;
}

footer .link_content li:last-child a {
    margin-right: 0;
}

footer .bottom_link {
    padding-top: 60px;
    padding-bottom: 30px;
}

footer .bottom_link li a {
    font-size: 14px;
    font-weight: normal;
    margin-right: 15px;
}

footer .bottom_link li:last-child a {
    margin-right: 0;
}

footer .bottom_link a.blank::after {
    content: '';
    display: inline-block;
    width: 10px;/*画像の幅*/
    height: 10px;/*画像の高さ*/
    background-image: url(/images/blank_icon.svg);
    background-size: contain;
    vertical-align: middle;
    margin-left: 5px;
}

footer .bottom_link li {
    padding-right: 15px;
    margin-right: 15px;
}

footer .bottom_link li a {
    font-size: 12px;
}

footer .bottom_link li:last-of-type {
    padding-right: 0;
    margin-right: 0;
    border-right: 0;
}

 footer .copy {
     font-size: 12px;
     text-align: right;
 }
 
 /*   tablet,SP header   */
 /* -------------------------------------------------- */
 
 @media only screen and (max-width: 1250px) {

     header .logo {
         max-width: 166px;
     }

    .sp_btn01 {
         display: block;
     }

     header .menu {
         display: none;
     }
     header .header_inner {
        margin: 0;
        padding: 0;
     }
     header {
         height: 70px;
         padding: 0 0 0 20px;
         display: flex;
         align-items: center;
     }

     .drawer-hamburger {
         width: 3.5rem;
     }

     .drawer-open .drawer-overlay {
         z-index: 2;
     }

     .drawer--right.drawer-open .drawer-nav {
        width: 290px;
        padding: 90px 30px 0;
        z-index: 10;
     }

     .drawer--right .drawer-hamburger {
         z-index: 12;
         right: 10px;
         width: 3.5rem;
         padding: 2.4rem 2rem 30px;
     }

     .drawer--right.drawer-open .humberger .drawer-hamburger {
         right:10px;
     }

     .drawer-open .humberger .drawer-hamburger-icon:before {
         transform: rotate(30deg);
     }
     .drawer-open .humberger .drawer-hamburger-icon::after {
        transform: rotate(-30deg);
    }

    .drawer-open .humberger .drawer-menu li {
        margin-bottom: 20px;
        font-weight: bold;
    }

    .drawer-open .humberger .drawer-menu li.li02 {
        margin-bottom: 10px;
    }

    .drawer-open .humberger .drawer-menu li a {
        font-weight: bold;
        margin-bottom: 20px;
    }

    .drawer-open .humberger .drawer-menu li a.drawer-menu-item {
        font-size: 12px;
        font-weight: normal;
        margin-bottom: 0;
        margin-left: 10px;
    }

    .drawer-open .humberger .drawer-menu li a.drawer-menu-item:hover {
        text-decoration: none;
    }

    .drawer-open .humberger .drawer-menu li a.btn {
        padding: 16px;
    }

    .drawer-open .humberger .drawer-menu li a.btn.white {
        margin-top: 30px;
    }

    .drawer-open .humberger .drawer-menu-under {
        margin-top: 40px;
        padding-top: 20px;
        border-top: 1px solid #eeeeee;
    }

    .drawer-open .humberger .drawer-menu-under li a {
        display: block;
        font-size: 12px;
        margin-bottom: 18px;
    }

    .drawer-open .humberger .drawer-menu-under a.blank::after {
        content: '';
        display: inline-block;
        width: 10px;/*画像の幅*/
        height: 10px;/*画像の高さ*/
        background-image: url(/images/blank_icon_black.svg);
        background-size: contain;
        vertical-align: middle;
        margin-left: 5px;
    }

    .mv .mv_img {
        right: -40px;
    }

 }

 @media only screen and (max-width: 1400px) {
    .mv .mv_img {
        width: 52%;
    }
 }
 /*   tablet   */
 /* -------------------------------------------------- */
 
 @media only screen and (max-width: 1000px) {
     .ipad {
         display: block;
     }


     .mv {
         padding: 100px 0 60px;
     }

     .mv .mv_img {
         right: 0;
         top: 40%;
     }

     .worries .worries_wrap .bubble {
         font-size: 15px;
     }

     .worries .worries_wrap .bubble span {
        font-size: 18px;
    }
     
     .worries .worries_wrap .bubble.text01 {
         left: 0;
         padding: 40px 42px 64px;
         top: 20%;
     }

     .worries .worries_wrap .bubble.text01 .pc,
     .worries .worries_wrap .bubble.text03 .pc {
        display: none;
    }

     .worries .worries_wrap .bubble.text03 {
         top: 30%;
         right: -2%;
         padding: 32px 53px 55px;
     }

     .worries .worries_wrap .bubble.text03 p span::after {
         width: 105px;
     }

     .features .content_img {
         width: 45%;
     }

     .features .content_text {
         width: 48%;
     }

     

    .features .content_text .h2 {
        font-size: 28px;
        margin-bottom: 10px;
    }

    .features .content_text .h3 {
        font-size: 22px;
        margin-bottom: 20px;
    }

    .features .content_text .h3 .pc {
        display: none;
    }

    footer {
        padding: 40px 0 30px;
    }

    footer .footer_inner {
        padding: 0 30px;
    }

 }

@media screen and (max-width: 815px) {
    footer .logo {
        margin-bottom: 30px;
        width: 28%;
    }

    .plan .plan_content .plan_text {
        margin: 0;
    }
}
 @media screen and (max-width: 750px) {
     .pc {
         display: none;
     }
     .ipad {
         display: none;
     }
     .sp {
         display: block;
     }

     /* header */
     /* -------------------------------------------------- */

     header {
         padding: 1.5rem 2rem;
     }

     header .logo {
         width: 60%;
         max-width: inherit!important;
     }

     .drawer--right.drawer-open .drawer-nav {
        width: 290px;
     }

     /* MV */
    .mv {
        background: url(/images/bg_mv_sp.jpg) no-repeat center / cover;
        padding: 90px 0 60px;
    }

    .mv p {
        font-size: 16px;
    }
    .mv .mv_img {
        width: 90%;
        top: 50%;
        right: 5%;
    }

    .mv .btn.green {
        width: 80%;
        font-size: 20px;
        padding: 20px 10px;
        margin: 260px auto 0;
    }

    /* worries */

    section.worries {
        padding: 40px 0 50px;
    }

    .worries .worries_wrap {
        max-width: inherit;
        margin: 50px 0 0;
    }

    .worries .worries_wrap .bubble {
        font-size: 10px;
        line-height: 1;
    }

    .worries .worries_wrap .bubble p span {
        font-size: 12px;
    }

    .worries .worries_wrap .bubble.text01 {
        padding: 26px 25px 40px;
        top: 16%;
        left: -3%;
    }

    .worries .worries_wrap .bubble.text02 {
        padding: 21px 20px 32px;
        top: 10px;
        left: 30%;
    }

    .worries .worries_wrap .bubble.text03 {
        top: 14%;
        right: -5%;
        padding: 21px 35px 33px;
    }

    .worries .worries_wrap .bubble p span::after {
        width: 75px;
        height: 3px;
        bottom: -5px;
    }

    .worries .worries_wrap .bubble.text03 p span::after {
        width: 65px;
    }

    /* features */

    .features {
        padding: 80px 0 60px;
    }

    .features a.anchor {
        padding-top: 110px;
        margin-top: -110px;
    }

    .features::before {
        border: 60px solid transparent;
        border-top: 40px solid #fff;
    }

    .features .grid-x.align-justify {
        margin-bottom: 60px;
    }

    .features .content_img,
    .features .content_text {
        width: 100%;
    }

    .features .second_content {
        flex-direction: column-reverse;
    }

    .features .content_text {
        margin-top: 20px;
    }

    .features .content_text .h2 {
        margin-bottom: 15px;
    }

    .features .content_text .h3 {
        margin-bottom: 20px;
    }

    /* cta01 */

    .cta01 {
        padding: 30px 0 50px;
        background: url(/images/bg_cta01_sp.jpg) no-repeat center / cover;
    }

    .cta01 .h2 {
        margin-bottom: 30px;
    }

    .cta01 .btn.white {
        max-width: inherit;
        width: 80%;
        font-size: 20px;
        padding: 20px 0;
    }

    /* plan */

    section.plan {
        padding: 40px 0 60px;
    }

    .plan .head {
        display: none;
    }

    .plan .inner .grid-x {
        justify-content: space-between;
    }

    .plan .plan_wrap {
        width: 100%;
        margin: 0 auto 60px;
        border-radius: 10px;
    }

    .plan .plan_wrap:last-of-type {
        border-radius: 10px;
        margin-bottom: 0;
    }

    .plan .plan_content {
        padding: 18px 10px 22px;
    }

    .plan .plan_content span {
        font-size: 26px;
    }

    .plan .plan_wrap .cell {
        padding: 15px 0;
        font-size: 16px;
    }

    .plan .plan_wrap .cell.price_content {
        font-size: 36px;
        padding: 10px 0;
    }

    .plan .plan_wrap .plan_content .plan_text,
    .plan .plan_wrap.free .plan_content .plan_text {
        margin-top: 10px;
    }

    .plan .plan_wrap .cell span.sp {
        font-size: 12px;
        font-weight: bold;
        margin-bottom: 5px;
        color: #888;
    }

    /* example */

    .example li {
        margin-bottom: 40px;
        width: 100%;
    }

    .example li:last-of-type {
        margin-bottom: 0;
    }

    .example li a .text_content .text {
        font-size: 16px;
    }

    .example .btn.white, .news .btn.white {
        max-width: inherit;
        width: 70%;
        font-size: 16px;
        padding: 20px 0;
        margin: 50px auto 0;
    }

    /* qa */ 

    .accordion__item .accordion__title .text {
        font-size: 16px;
    }

    .accordion__title {
        padding: 18px 50px 18px 18px;
    }

    .accordion__content {
        padding: 0 50px 18px 18px;
    }

    /* news */

    .news ul li {
        padding: 20px 16px;
    }

    .news ul li span {
        display: block;
        margin-bottom: 10px;
    }


    /* cta02 */

    .cta02 {
        padding: 30px 0 50px;
        background: url(/images/bg_cta02_sp.jpg) no-repeat center / cover;
    }

    .cta02 .h2 {
        margin-bottom: 30px;
    }

    .cta02 .btn.green {
        max-width: inherit;
        width: 80%;
        font-size: 20px;
        padding: 20px 0;
    }

     
     /* footer */
     /* -------------------------------------------------- */

     footer {
         padding: 40px 0 20px;
     }

     footer .footer_inner {
        padding: 0 20px;
        text-align: center;
    }

     footer .logo {
         max-width: inherit;
         width: 60%;
         margin-bottom: 20px;
     }

     footer .link_content {
         width: 100%;
        margin-bottom: 0;
     }

     footer .link_content ul {
        width: 100%;
        display: block;
     }

     footer .link_content li a {
         margin-top: 25px;
         margin-right: 0;
         text-align: left;
         font-size: 15px;
         font-weight: normal;
     }

    footer .bottom_link {
        padding: 40px 0 20px;
    }

    footer .link_content .bottom_link ul li {
        padding-right: 0;
        margin-right: 0;
    }

    footer .link_content .bottom_link ul li a {
        font-size: 12px;
        margin-top: 15px;
    }

    footer .copy {
        margin-top: 10px;
        text-align: center;
    }

    /* トップへのスクロールボタン */
    .scroll-to-top {
        bottom: 280px;
    }
    .scroll-to-top__button {
        bottom: -250px;
    }
 }

@media (max-width: 692px) {
    /* トップへのスクロールボタン */
    .scroll-to-top {
        bottom: 340px;
    }
    .scroll-to-top__button {
        bottom: -310px;
    }
}
