/* -1399px
------------------------------ */
@media screen and (max-width:1399px) {
  .header-right {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 80px;
    padding: 0 10px;
    background-color: #fff;
    justify-content: center;
    align-items: center;
  }
  

}

/* -999px
------------------------------ */
@media screen and (max-width:999px) {
  .hakajimai {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto auto auto;
    justify-items: center;
    row-gap: 20px;
  }  
  .hakajimai .container {
    display: contents;
  }
  .hakajimai .image-box.left {
    width: clamp(323px, 23.8vw, 458px);
    grid-row: 2 / 3;
    grid-column: 1 / 2;
    align-self: center;
  }
  .hakajimai .image-box.right {
    width: clamp(285px, 18.9vw, 364px);
    grid-row: 2 / 3;
    grid-column: 2 / 3;
    align-self: center;
  }
  .hakajimai .title {
    font-size: clamp(2.2rem, 2.54vw, 2.8rem);
    grid-row: 1 / 2;
    grid-column: 1 / 3;    
  }
  .hakajimai .content {
    font-size: clamp(1.4rem, 3.56vw, 1.6rem);
    grid-row: 3 / 4;
    grid-column: 1 / 3;
  }
  .hakajimai .belt {
    font-size: clamp(1.6rem, 1.81vw, 2rem);
    grid-row: 4 / 5;
    grid-column: 1 / 3;
  }
}
  
  /* -768px
  ------------------------------ */
  @media screen and (max-width:767px) {
    html {
      scroll-padding-top: 70px;
    }
    .sp-only {
      display: block;
    }
    .sp-none {
      display: none;
    }
    /*-- header --*/
    .header {
      height: 70px;
      align-items: center;
    }
    .header h1 {
      display: none;
    }
    .header-logo {
      width: 60%;
      max-width: 514px;
    }    
    .header-phone {
      width: 223px;
      margin-top: 0;
      margin-right: 5px;
    }
    .header-contact {
      width: 145px;
      margin-top: 0;
    }
    
    .openbtn {
      width: 70px;
      height: 70px;
    }
    .openbtn span {
        width: 32px;
    }
    .openbtn span:nth-of-type(1) {
        top: 21px;
        left: 19px;
    }
    .openbtn span:nth-of-type(2) {
        top: 35px;
        left: 19px;
    }
    .openbtn span:nth-of-type(3) {
        top: 49px;
        left: 19px;
    }
    .openbtn.active span:nth-of-type(1) {
        top: 24px;
        left: 19px;
        background: #fff;
    }
    .openbtn.active span:nth-of-type(3) {
        top: 36px;
        left: 19px;
        background: #fff;
    }

    .fv .fv-contents.one {
      width: clamp(160px, 50.12vw, 384px);
    }
    .fv .fv-contents.two {
      width: 81.9%;
      padding: clamp(81px, 25.4vw, 195px) 0 clamp(92px, 12vw, 120px);
    }    
    .fv .fv-contents.three {
      width: clamp(131px, 41.22vw, 316px);
    }
    .fv .title {
      font-size: clamp(2rem, 6.36vw, 4.8rem);
    }
    .fv .title span.red {
      font-size: clamp(2.2rem, 7.1vw, 5.6rem);
    }
    .fv .lists {
      display: grid;
      grid-template-columns: 1fr;
      gap: 30px;
      margin: 20px auto 0;
    }
    .fv .list {
      font-size: clamp(1.6rem, 5vw, 2.4rem);
      margin-left: clamp(32px, 10.17vw, 50px);
    }    
    .fv .total-price {
      font-size: clamp(3rem, 9.16vw, 6rem);
      margin-top: 20px;
    }
    .fv .total-price span.big {
      font-size: clamp(5rem, 15.57vw, 10.2rem);
      margin: 0 8px 0 4px;
    }
    .fv .annotation {
      font-size: clamp(1.4rem, 3.56vw, 1.6rem);
      line-height: 1.35;
      margin-top: 20px;
    }
    .fv .content {
      font-size: clamp(1.4rem, 3.56vw, 1.6rem);
      margin-top: 40px;
    }
    
    .price {
      padding: 60px 20px 0;
    }
    .price .title {
      font-size: clamp(2rem, 3.64vw, 2.8rem);
    }
    .price .tab-menu {
      column-gap: clamp(10px, 2.6vw, 20px);
    }
    .price .tab-menu-item {
      font-size: clamp(1.6rem, 2.86vw, 2.2rem);
      width: calc((100% - (2.6vw * 2)) / 3);
      padding: clamp(14px, 2.73vw, 21px) 10px;
    }
    .price .tab-container {
      padding: clamp(18px, 5.45vw, 60px);
    }
    .price .price-box {
      font-size: clamp(2.2rem, 4vw, 3.1rem);
      padding: clamp(12px, 2vw, 16px) 10px;
    }
    .price .cost {
      font-size: clamp(3.2rem, 5.98vw, 4.6rem);
    }
    .price .unit {
      font-size: clamp(2rem, 2.63vw, 2.9rem);
    }
    .price .tab-inner-right {
      width: 100%;
      max-width: 400px;
      margin: auto;
    }    
    .price .tab-pane.move {
      flex-direction: column;
      row-gap: 20px;
    }
    .price .annotation {
      font-size: clamp(1.4rem, 2vw, 1.6rem);
    }
    .composition .wrapper {
      margin: 120px auto 0;
    }
    .composition .title {
      top: clamp(-23px, -2vw, -16px);
      font-size: clamp(1.4rem, 2.86vw, 2.2rem);
    }    
    .composition .container {
      flex-direction: column;
    }
    .composition .lists {
      width: 100%;
    }
    .composition .num {
      font-size: clamp(1.5rem, 2.34vw, 1.8rem);
    }    
    .composition .name {
      font-size: clamp(1.5rem, 2.34vw, 1.8rem);
    }
    .composition .list-desc {
      font-size: clamp(1.4rem, 2vw, 1.6rem);
    }    
    .composition .box {
      width: 100%;
      margin-top: 30px;
      flex-direction: column-reverse;
      justify-content: center;
      gap: 20px;
    }
    .composition .image-box {
      width: 100%;
      max-width: 400px;
      margin: auto;
    }
    .composition .annotation {
      font-size: clamp(1.4rem, 2vw, 1.6rem);
    }
    .composition .attention {
      font-size: clamp(1.8rem, 3.12vw, 2.4rem);
    }
    
    .point {
      margin-top: 120px;
    }
    .point .subtitle {
      font-size: clamp(2rem, 3.64vw, 2.8rem);
    }
    .point .title {
      font-size: clamp(3rem, 4.81vw, 3.7rem);
    }
    .point span.small {
      font-size: clamp(2rem, 3.64vw, 2.8rem);
    }
    .point .cards {
      margin: 50px auto 0;
      flex-direction: column;
      row-gap: 20px;
    }
    .point .card {
      width: 100%;
      padding: 25px clamp(20px, 4.16vw, 32px);
    }
    .point .card::before {
      width: 90px;
      height: 100px;
    }
    .point .card-num {
      font-size: 1.3rem;
    }
    .point .card-num span {
      font-size: clamp(2.1rem, 3.125vw, 2.4rem);
    }
    .point .card-title {
      font-size: clamp(1.5rem, 2.34vw, 1.8rem);
      margin-left: 60px;
    }
    .point .image-box {
      margin-top: 30px;
    }

    .hakajimai {
      margin-top: 120px;
      padding: 0 20px 60px;
    }    
    .hakajimai .image-box.left {
      width: clamp(134px, 42vw, 323px);
    }
    .hakajimai .image-box.right {
      width: clamp(118px, 37.1vw, 285px);
    }
    .hakajimai .content {
      text-align: start;
    }
    .hakajimai .content span {
      display: inline;
    }
    .hakajimai .belt {
      background: linear-gradient(to right, transparent 0% , #6C514E 20%, #6C514E 80%, transparent 100%);
    }
    
    .contact {
      padding: 40px 20px;
    }    
    .contact .title {
      font-size: clamp(2.1rem, 3.38vw, 2.6rem);
    }
    .contact .content {
      font-size: clamp(1.4rem, 2vw, 1.6rem);
    }
    .contact .wrapper {
      padding: 40px 20px;
      margin-top: 20px;
      display: flex;
      flex-direction: column;
      row-gap: 20px;
    }
    .contact .btn-container {
      padding: 20px 10px;
    }
    .contact .btn-title {
      font-size: clamp(1.5rem, 2.34vw, 1.8rem);
    }
    
    .about {
      padding: 60px 20px;
    }
    .about .title {
      font-size: clamp(2rem, 3.64vw, 2.8rem);
    }
    .about .contents {
      padding-left: 0;
    }
    .about .content {
      font-size: clamp(1.4rem, 2vw, 1.6rem);
      margin-top: 30px;
    }
    .about .inner {
      flex-direction: column;
      margin-top: 30px;
    }
    .about .inner-content {
      font-size: clamp(1.4rem, 2vw, 1.6rem);
      max-width: 100%;
    }
    .about .image-box {
      width: 100%;
      max-width: 400px;
      margin: auto;
    }
    
    .questions {
      padding: 120px 0 120px;
      background-image: url(../images/bg_questions_sp01.jpg);
      background-position: center bottom;
    }
    .questions .title {
      font-size: clamp(2.2rem, 3.9vw, 3rem);
    }
    .questions .image-box {
      position: absolute;
      width: clamp(158px, 18vw, 198px);
    }
    .questions .image-box:nth-of-type(1) {
      top: clamp(-78px, -10.15vw, -63px);
      left: clamp(40px, 13vw, 100px);
      width: clamp(80px, 13vw, 100px);
    }
    .questions .image-box:nth-of-type(2) {
      top: clamp(-78px, -10.15vw, -63px);
      right: clamp(40px, 13vw, 100px);
      width: clamp(80px, 13vw, 100px);
    }
    .questions .cards {
      margin-top: 20px;
    }
    .questions .card {
      width: 42.5vw;
      min-width: 280px;
    }    
    .questions .content {
      font-size: clamp(1.4rem, 2vw, 1.6rem);
    }    
    .questions .lead {
      font-size: clamp(2.6rem, 4.29vw, 3.3rem);
      padding: clamp(16px, 5.2vw, 40px) 20px clamp(35px, 10.93vw, 84px);
    }   
    
    .resolute {
      padding: 60px 20px;
    }
    .resolute .subtitle {
      font-size: clamp(2.2rem, 2.54vw, 2.8rem);
    }
    .resolute .title {
      font-size: clamp(2.2rem, 2.54vw, 2.8rem);
    }    
    .resolute .title span.big {
      font-size: clamp(3rem, 5.59vw, 4.3rem);
    }
    .resolute .title span.strong {
      font-size: clamp(3rem, 5.59vw, 4.3rem);
    }
    .resolute .container {
      flex-direction: column;
    }    
    .resolute .attention {
      font-size: clamp(1.5rem, 2.6vw, 2rem);
    }    
    .resolute .content {
      font-size: clamp(1.4rem, 2.08vw, 1.6rem);
    }    
    .resolute .image-box {
      margin: 30px auto 0;
    }
    
    .support {
      padding: 60px 20px;
    }
    .support .title {
      font-size: clamp(2.2rem, 2.54vw, 2.8rem);
    }    
    .support .container {
      margin: 30px auto 0;
      flex-direction: column;
    }
    .support .contents {
      max-width: 100%;
    }
    .support .message {
      margin-top: 40px;
    }
    .support .image-box {
      width: 240px;
      margin: 30px auto 0;
    }
    
    
    .flow {
      padding: 60px 20px;
    }
    .flow .wrapper {
      padding: 40px 20px;
    }
    .flow .title {
      font-size: clamp(2.2rem, 2.54vw, 2.8rem);
    }
    .flow .steps {
      row-gap: 40px;
    }    
    .flow .step {
      display: grid;
      grid-template-columns: clamp(52px, 8.59vw, 66px) auto;
      grid-template-rows: auto auto;
      align-items: center;
    }
    .flow .num {
      width: clamp(52px, 8.59vw, 66px);
      height: clamp(52px, 8.59vw, 66px);
      grid-row: 1 / 2;
      grid-column: 1 / 2;
    }    
    .flow .inner {
      display: contents;
    }
    .flow .flow-title {
      font-size: clamp(1.6rem, 2.34vw, 1.8rem);
      line-height: 1.37;
      grid-row: 1 / 2;
      grid-column: 2 / 3;
    }
    .flow .flow-content {
      font-size: clamp(1.4rem, 2.08vw, 1.6rem);
      line-height: 1.35;
      margin-top: 10px;
      grid-row: 2 / 3;
      grid-column: 1 / 3;
    }
    .flow .annotation {
      font-size: clamp(1.4rem, 2.08vw, 1.6rem);
      text-align: start;
      margin: 40px auto 0;
    }
    
    
    .reviews {
      padding: 60px 20px 120px;
    }
    .reviews .title {
      font-size: clamp(2.2rem, 2.54vw, 2.8rem);
    }
    .reviews .content {
      font-size: clamp(1.4rem, 2.08vw, 1.6rem);
    }
    .reviews .card {
      width: 100%;
      max-width: 805px;
      padding: clamp(20px, 3.9vw, 30px) clamp(20px, 6.5vw, 50px) clamp(20px, 6.5vw, 50px) clamp(20px, 3.9vw, 30px);
      background-color: #fff;
      border: 1px solid #E3DDD5;
      border-radius: 10px;
      box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
      display: flex;
      column-gap: 17px;
      flex-direction: column;
    }
    .reviews .review-icon {
      width: clamp(80px, 12.7vw, 98px);
      height: clamp(80px, 12.7vw, 98px);
      margin: auto;
    }    
    .reviews .review-title {
      font-size: clamp(1.6rem, 2.86vw, 2.2rem);
    }
    .reviews .review-content {
      font-size: clamp(1.4rem, 2.08vw, 1.6rem);
    }
    
    .inquiry .title {
      font-size: clamp(2.4rem, 5.2vw, 4rem);
      padding: 30px 10px;
    }
    .main-entryform-001 {
      padding: 40px 20px 0;
    }    
    .main-entryform-001 p.text-001 {
      font-size: clamp(1.6rem, 2.34vw, 1.8rem);
      line-height: calc(22 / 16);
      padding: 0 10px;
      margin: 0 auto 20px;
    }
    .entryform table {
      width: 100%;
    }
    .entryform span {
      color: #fff;
      padding: 3px 5px;
      line-height: 1.5;
    }  
    .entryform label {
      display: block;
    }
    .entryform td.bold label:last-of-type input {
      max-width: 152px;
    }
    .entryform table td:nth-of-type(odd) {
      display: block;
      width: 100%;
      text-indent: 8px;
      font-weight: bold;
      border-radius: 6px 6px 0px 0px;
    }
    .entryform table td:nth-of-type(even) {
      display: block;
      max-width: 100%;
      padding: 20px 8px;
      text-align: center;
      border-radius: 0px 0px 6px 6px;
      line-height: 1.8;
    }
    .entryform table td.sp-start {
      text-align: start;
    }
    .entryform input {
      max-width: 80%;
    }
    .entryform dl {
      display: block;
    }
    .entryform dl:after {
      content: "";
      display: block;
      clear: both;
    }
    .entryform dl dt {
      padding: 0 0 0 8px;
      margin: 0px 0px 0px 20px;
      float: left;
    }
    .entryform dl dt:nth-of-type(2) {
      margin: 10px 0px 0px 20px;
      padding: 0 0 0 8px;
      float: left;
      clear: both;
    }
    .entryform dl dd:nth-of-type(2) {
      margin: 10px 0px 0px;
    }
    .entryform dl dd {
      float: left;
      margin: 0px;
      padding: 0px;
    }
    .entryform.mail input {
      width: 300px;
      font-size: 1.5rem;
    }
    .entryform.mail .submit input {
      width: auto;
    }
    .entryform.mail td {
      display: block;
      text-align: center;
    }
    .entryform.mail td.submit {
      padding: 10px 0px 20px;
    }
    .entryform label.error {
      color: #aa0000;
    }
    .entryform p {
      margin: 20px auto;
      font-size: 1.5rem;
      letter-spacing: 0;
      line-height: 1.3;
    }
    .entryform small {
      text-align: start;
      margin-top: 10px;
    }
    .entryform .submit {
      padding: 8px 0px 20px;
      text-align: center;
    }
    .entryform .submit input {
      height: clamp(66px, 20.5vw, 82px);
      font-size: clamp(1.7rem, 3.12vw, 2.4rem);
    }

    .present {
      padding: 40px 20px 60px;
    }
    .present .title {
      line-height: 1.4;
    }
    .present .btn-inner {
      flex-wrap: wrap;
      row-gap: 8px;
    }
    .present .annotation {
      line-height: 1.3;
    }

    #footer {
      margin-bottom: 90px;
    }
    #footer .top {
      padding: 30px 20px 40px;
    }
    #footer .wrapper {
      flex-direction: column;
      align-items: center;
    }
    #footer .container.right {
      flex-wrap: wrap;
    }
    #footer .container.right ul {
      row-gap: 30px;
      margin-top: 30px;
    }
    #footer .container.right ul li {
      font-size: 1.4rem;
    }
    #footer .container.right ul li a {
      font-size: 1.4rem;
    }
    #footer .bottom {
      padding: 14px 18px;
    }
    #footer .copyright {
      line-height: calc(24 / 14);
    }

    .privacy {
      padding: 120px 20px 60px;
    }
    .privacy h2 {
      line-height: 1.4;
    }
    .privacy .contents {
      margin: 80px auto 0;
    }
}
  
  /* -359px
  ------------------------------ */
  @media screen and (max-width:359px) {
    .support .message span {
      display: inline;
    }
  }