@media screen and (max-width: 768px) {
  body {
    padding: 0;
    min-width: inherit;
  }

  .wmain,
  .header .hti h1 {
    max-width: 95%;
    min-width: 95%;
  }
}

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

  html,
  body {
    font-size: 3.4vw;
  }

  body {
    min-width: 100%;
  }

  .sp {
    display: block;
  }

  .pc {
    display: none !important;
  }

  .wmain,
  .header .hti h1 {
    max-width: 95%;
    min-width: 95%;
  }

  .w12 {
    max-width: 100%;
  }

  h2 {
    font-size: 6vw;
    letter-spacing: 0;
  }

  /*header
*********************/
  .header {
    height: 35px;
  }

  .header .txt {
    width: 100%;
    float: none;
  }

  .header .wmain {
    padding: 0;
  }

  .header .hti {
    padding: 0;
  }

  .header h1 {
    font-size: 2.5vw;
    text-align: center;
    line-height: 1.4em;
  }

  .header .logo {
    width: 100%;
    overflow: hidden;
    text-align: center;
    margin: 5px 0;
  }

  .header .logo img {
    width: 65%;
  }

  .header .head-cta {
    width: 100%;
    position: fixed;
    bottom: 0;
    left: 0;
    background: #fff;
    padding: 10px 0;
    border-top: 1px solid #ddd;
    z-index: 9;
  }

  .head-cta_flt {
    display: flex;
    flex-wrap: wrap;
    column-gap: 10px;
    width: 95%;
    margin: 0 auto;
    justify-content: center;
  }

  .head-cta_flt_btn {
    flex: 1;
  }

  .head-cta_flt_btn a {
    display: block;
  }

  .head-cta_flt_note {
    width: 100%;
    margin-top: -8px;
    text-align: center;
  }

  .head-cta_flt_note img {
    width: 85%;
  }

  /*fv
*********************/
  .fv {
    height: 160vw;
    min-height: 100%;
    padding-bottom: 20px;
    background: #fff4d3;
  }

  .fv .wmain {
    max-width: 100%;
    min-width: 100%;
    margin: 0 auto;
    height: 160vw;
  }

  .fv .fv_cvBtn {
    width: 80%;
    bottom: 30px;
  }

  /*nayami
*********************/
  .nayami {
    position: relative;
  }

  .nayami .ctn {
    background: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 500px;
    margin-top: 0;
  }

  .nayami .wmain {
    height: 125vw;
  }

  .nayami .ctn_bubble.b01 {
    width: 40%;
    top: 25%;
    right: 1%;
    left: unset;
  }

  .nayami .ctn_bubble.b02 {
    width: 35%;
    top: 27%;
    left: 1%;
    right: unset;
  }

  .nayami .ctn_bubble.b03 {
    width: 35%;
    bottom: 22%;
    left: 0%;
    top: unset;
    right: unset;
  }

  .nayami .ctn_bubble.b04 {
    width: 35%;
    top: 40%;
    left: 30%;
  }

  .nayami .ctn_bubble.b05 {
    width: 35%;
    top: 54%;
    right: 1%;
    left: unset;
  }

  /*point
*********************/
  .point {
    padding: 20px 0;
  }

  /*cta
*********************/
  .cta {
    background: none;
    position: relative;
  }

  .cvBtn_wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
  }

  .cvBtn_wrap.cta {
    position: absolute;
    width: 85%;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
  }

  /*reason
*********************/
  .reason {
    padding: 20px 0
  }

  .reason .ttl {
    margin-bottom: 0;
  }

  /*compare
*********************/
  .compare {
    text-align: center;
    padding: 20px 0;
  }

  .compare .ttl {
    width: 40%;
    margin: 0 auto 20px;
  }

  .compare_tap {
    width: 75%;
    margin: 0 10px 10px auto;
  }

  .bl_spPriceTable .bl_spPriceTable_head,
  .bl_spPriceTable .bl_spPriceTable_body {
    display: flex;
    column-gap: 2px
  }

  .bl_spPriceTable .bl_spPriceTable_head_space,
  .bl_spPriceTable .bl_spPriceTable_body_heading {
    width: 70px
  }

  .bl_spPriceTable .bl_spPriceTable_tabs,
  .bl_spPriceTable .bl_spPriceTable_panel {
    flex: 1
  }

  .bl_spPriceTable .bl_spPriceTable_panel {
    padding: 4px;
    border-radius: 0 0 4px 0;
    position: relative;
    overflow: hidden
  }

  .bl_spPriceTable .bl_spPriceTable_panel::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: -125%;
    z-index: 0;
    transition: all .6s ease
  }

  .bl_spPriceTable .bl_spPriceTable_panel[data-active-tab=trial]:before {
    background-color: #ff4800;
  }

  .bl_spPriceTable .bl_spPriceTable_panel.js_on::before {
    top: 0;
    opacity: 1
  }

  .bl_spPriceTable .bl_spPriceTable_panel .num {
    font-size: 2em;
    font-weight: 600
  }

  .bl_spPriceTable .bl_spPriceTable_panel_item {
    background-color: #fff;
    border-bottom: 2px solid #ededed;
    height: 54px;
    box-sizing: content-box;
    position: relative;
    z-index: 1
  }

  .bl_spPriceTable .bl_spPriceTable_panel_item:last-child {
    border-bottom: none
  }

  .bl_spPriceTable .bl_spPriceTable_panel_item>* {
    position: absolute;
    opacity: 0;
    transition: all .6s ease;
    transform: translateY(-10px)
  }

  .bl_spPriceTable .bl_spPriceTable_panel_item>*.js_on {
    display: block;
    opacity: 1;
    transform: translateY(0)
  }

  .bl_spPriceTable .bl_spPriceTable_tab_unit {
    display: flex;
    column-gap: 5px;
    align-items: flex-end;
    height: 54px;
    position: relative
  }

  .bl_spPriceTable .bl_spPriceTable_tab {
    font-size: 10px;
    text-align: center;
    width: calc((100% - 10px)/3);
    border-radius: 4px 4px 0 0;
    color: #fff;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    transition: height .4s linear
  }

  .bl_spPriceTable .bl_spPriceTable_tab:focus,
  .bl_spPriceTable .bl_spPriceTable_tab:hover {
    opacity: 1
  }

  .bl_spPriceTable .bl_spPriceTable_tab.js_on {
    height: 54px
  }

  .bl_spPriceTable .bl_spPriceTable_tab[data-tab-val=trial] {
    background-color: #ff4800;
    width: 150px;
    box-sizing: border-box;
    padding: 0 5px;
  }

  .bl_spPriceTable .bl_spPriceTable_tab[data-tab-val=standard] {
    background-color: #747474;
  }

  .bl_spPriceTable .bl_spPriceTable_tab[data-tab-val=premium] {
    background-color: #747474;
  }

  .bl_spPriceTable_panel_item__flex[data-panel="trial"] p,
  .bl_spPriceTable_panel_item p[data-panel="trial"] {
    font-size: 20px;
    font-weight: 800;
    color: #ff4800;
  }

  .bl_spPriceTable_panel_item__flex[data-panel="standard"] p,
  .bl_spPriceTable_panel_item p[data-panel="standard"] {
    font-size: 16px;
  }

  .bl_spPriceTable .bl_spPriceTable_body_heading {
    height: 54px
  }

  .bl_spPriceTable .bl_spPriceTable_body_heading_unit .bl_spPriceTable_body_heading:first-child {
    border-radius: 4px 0 0 0
  }

  .bl_spPriceTable .bl_spPriceTable_body_heading_unit .bl_spPriceTable_body_heading:last-child {
    height: 58px;
    border-radius: 0 0 0 4px
  }

  .bl_spPriceTable .bl_spPriceTable_body_heading_unit {
    display: flex;
    flex-direction: column;
    row-gap: 2px;
    padding-top: 4px
  }

  .bl_spPriceTable .bl_spPriceTable_body_heading {
    background-color: #483226;
    color: #fff;
    font-size: 10px;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center
  }

  .bl_spPriceTable .bl_spPriceTable_panel_item {
    display: flex;
    align-items: center;
    justify-content: center
  }

  .bl_spPriceTable .bl_spPriceTable_panel_item .bl_spPriceTable_panel_item__flex {
    display: flex
  }

  /*jirei
*********************/
  .jirei .ttl {
    margin-bottom: 0;
  }

  /*flow
*********************/
  .flow {
    padding: 0;
  }

  /*qa
*********************/
  .qa {
    padding: 20px 0;
  }

  .qa .ttl {
    margin: 0 auto 20px;
    width: 60%;
  }

  .qa ul li .q p {
    background: url(../img/qa-q.png) 15px 10px no-repeat;
    font-size: 12px;
    padding: 10px 20px 15px 40px;
    background-size: 5%;
  }

  .qa ul li .a p {
    background: url(../img/qa-a.png) 15px 10px no-repeat;
    padding: 10px 20px 15px 40px;
    font-size: 12px;
    background-size: 5%;
  }

  .qa ul li .q:after {
    content: "";
    width: 16px;
    height: 16px;
    background-size: cover;
    right: 15px;
    top: 40%;
  }

  .qa ul li .q.active:after {
    content: "";
    width: 15px;
    height: 2px;
    top: 50%;
    right: 15px;
  }

  /*contact
*********************/
  .contact {
    margin: 0;
    padding: 20px 0 30px;
  }

  .contact .ttl {
    width: 80%;
    margin: 0 auto 20px;
  }

  .contact .mailform {
    padding: 20px;
  }

  .contact table {
    margin: 0;
  }

  .contact .mailform table th,
  .contact .mailform table td {
    display: block;
    width: 100%;
    font-size: 12px;
    padding: 10px 0;
  }

  .contact table th:before {
    right: 0;
  }

  .contact table td {
    padding: 5px 0px;
  }

  .contact .form-text,
  .contact .form-textarea,
  .contact .form-select {
    font-size: 12px;
  }

  .contact table td p span {
    font-size: 11px;
  }

  .under_table p {
    font-size: 12px;
  }

  .contact table th.hissu:before {
    width: 9%;
    background-size: contain;
    top: 10px;
  }

  .contact .terms-block {
    margin-bottom: 20px;
  }

  .contact .terms-block .ttl {
    width: 100%;
    box-sizing: border-box;
  }

  .terms-block .terms-inner {
    font-size: 8px;
    padding: 10px;
  }

  .footer {
    padding: 20px 0 0;
  }

  .footer .ft_ttl {
    width: 90%;
    margin: 0 auto 20px;
  }

  .footer .ft_ctn {
    row-gap: 15px;
  }

  .footer .ft_ctn_logo {
    width: 150px;
    margin: 0 auto;
  }

  .ft_ctn p {
    font-size: 10px;
    line-height: 1.5;
  }

  .copyright {
    margin: 10px auto 70px;
    width: 80%;
    padding: 0 0 30px;
    font-size: 10px;
    color: #fff;
    font-weight: 600;
  }

  /* .gotop{bottom:23vw;width: 38px;height: 38px;background-size: 50%;} */


  p.confirm {
    margin: 0 0 30px;
  }

  .mail-btn li {
    display: block;
    margin: 0 0 3px;
  }

  .gnav {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
  }

  .gnav:before {
    content: "スクロールしてください→";
    padding: 5px;
    width: 100%;
    display: block;
    color: red;
  }

  .gnav .tbl {
    width: 650px;
    margin: 0;
  }

  .select_note {
    width: 70%;
  }

  .form-btn_a {
    height: 50px;
  }

  .lastImg {
    box-sizing: border-box;
    padding: 0 10px;
    margin: 40px auto -36px;
  }

  .jirei02 {
    padding: 30px 0;
  }

  .jirei02 .ttl {
    width: 70%;
    margin: 0 auto 30px;
  }

  .jirei02 .wmain {
    gap: 10px;
    margin-bottom: 0;
  }

  .jirei02_item {
    width: calc((100% - 10px) / 2);
  }
  .form_underNote {
    width: 100%;
    padding: 15px;
    border: solid 2px #ff0000;
    background: #fff;
  }
  
  .form_underNote::before {
    width: 25px;
    height: 25px;
    bottom: 0;
    left: -2px;
  }
  
  .form_underNote::after {
    width: 25px;
    height: 25px;
    bottom: 0;
    right:  -2px;
  }
  
  .underNote_ttl::before {
    width: 25px;
    height: 25px;
    top: -16px;
    left: -16px;
  }
  
  .underNote_ttl::after {
    width: 25px;
    height: 25px;
    top: -16px;
    right: -16px;
  }
  
  .underNote_ttl h3 {
    padding: 5px 65px;
    font-size: 16px;
    line-height: 1.5;
  }
  
  .underNote_ttl h3::before {
    left: 30px;
  }
  
  .underNote_ttl h3::after {
    right: 30px;
  }
  
  .underNote_desc {
    padding: 15px 0 0 0;
    font-size: 12px;
  }
  
  .underNote_desc ul {
    padding-top: 10px;
    padding-left: 10px;
  }
  
  .underNote_desc ul li {
    margin-bottom: 3px;
  }
  .hp_fc_red {
    color: #ff0000;
  }  
  .hp_fz_sm {
    font-size: 8px;
  }

  .modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.7);
    transition: .3s;
    z-index: 10;
    padding: 10px;
    box-sizing: border-box;
  }

  .modal.open {
    display: block;
    visibility: visible;
  }

  .modal .form_underNote {
    margin: 40% auto 40px;
  }
  .modal .underNote_ttl h3 {
    padding: 5px 75px;
  }
  .form_underNote_closeBtn {
    position: relative;
    cursor: pointer;
  }
  .form_underNote_closeBtn::before {
    content: "";
    width: 20px;
    height: 2px;
    background: #fff;
    position: absolute;
    top: -40px;
    right: -10px;
    transform: rotate(45deg);
  }

  .form_underNote_closeBtn::after {
    content: "";
    width: 20px;
    height: 2px;
    background: #fff;
    position: absolute;
    top: -40px;
    right: -10px;
    transform: rotate(-45deg);
  }

  .form_underNote_telBtn {
    padding-top: 15px;
  }

  .form_underNote_telBtn p {
    padding-top: 10px;
  }

  body.no-scroll {
    overflow: hidden;
  }
}