@media screen and (max-width:767px) { 
  .fv {
    padding: 60px 20px 40px;
    .subtitle {
      font-size: clamp(1.6rem, 2.34vw, 1.8rem);
    }
    .title {
      font-size: clamp(2.5rem, 3.65vw, 2.8rem);
    }
    .content {
      font-size: clamp(1.6rem, 2.34vw, 1.8rem);
      margin-top: 56px;
    }  
  }
  .info {
    padding: 60px 0 60px;
    .title {
      font-size: clamp(2rem, 2.86vw, 2.2rem);
    }
    .title:nth-of-type(2) {
      margin-top: 60px;
    }
    .content {
      font-size: clamp(1.5rem, 2.08vw, 1.6rem);
      margin: 50px auto 0;
    }
    .facilitys {
      justify-content: center;
    }  
    .name {
      font-size: clamp(1.9rem, 2.73vw, 2.1rem);
    }
    .links {
      justify-content: center;
    }  
    .link {
      font-size: clamp(1.5rem, 2.08vw, 1.6rem);
    }
  }
  .constructs {
    padding: 60px 0;
    .cards {
      justify-content: center;
    }
    .number {
      width: 34px;
      font-size: clamp(1.8rem, 2.6vw, 2rem);
    }
    .card-title {
      font-size: clamp(1.6rem, 2.34vw, 1.8rem);
    }
    .title {
      font-size: clamp(2rem, 2.86vw, 2.2rem);
    }
    .content {
      font-size: clamp(1.5rem, 2.08vw, 1.6rem);
    }
  }
  .projects {
    padding: 60px 0;
    .title {
      font-size: clamp(2rem, 2.86vw, 2.2rem);
    }
    .cards {
      justify-content: center;
    }
    .number {
    font-size: clamp(1.5rem, 2.08vw, 1.6rem);
    }
    .card-desc {
      font-size: clamp(1.3rem, 1.82vw, 1.4rem);
    }
  }
  .repair {
    padding: 60px 0;
    .title {
      font-size: clamp(2rem, 2.86vw, 2.2rem);
    }
    .content {
      font-size: clamp(1.5rem, 2.08vw, 1.6rem);
    }
    .content:last-of-type {
      margin-top: 30px;
    }
    .container {
      padding: 20px;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      gap: 40px;
    }
    .card {
      width: 100%;
      max-width: 390px;
    }
    .card-desc {
      font-size: clamp(1.5rem, 2.08vw, 1.6rem);
    }
    .arrow-gold {
      width: clamp(56px, 9.22vw, 71px);
      margin-top: 0;
      transform: rotate(90deg);
    }
  }
  .clean {
    padding: 60px 0;
    .title {
      font-size: clamp(2rem, 2.86vw, 2.2rem);
    }
    .content {
        font-size: clamp(1.5rem, 2.08vw, 1.6rem);
    }
    .container {
      margin-top: 54px;
      padding: 20px;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      gap: 40px;
    }
    .card {
      width: 100%;
      max-width: 390px;
    }
    .card-desc {
      font-size: clamp(1.5rem, 2.08vw, 1.6rem);
    }
    .arrow-gold {
      width: clamp(56px, 9.22vw, 71px);
      margin-top: 0;
      transform: rotate(90deg);
    }
  }

  .organization {
    padding: 60px 0;
    .title {
      font-size: clamp(2rem, 2.86vw, 2.2rem);
    }
    .content {
      font-size: clamp(1.5rem, 2.08vw, 1.6rem);
    }
    .cards {
      justify-content: center;
    }
    .card-title {
      font-size: clamp(1.5rem, 2.08vw, 1.6rem);
    }
    .card-desc {
      font-size: clamp(1.3rem, 1.82vw, 1.4rem);
    }
    .attention {
      font-size: clamp(1.6rem, 2.34vw, 1.8rem);
      margin-top: 40px;
    }
  }

    .burial-engraving {
    margin-top: 70px;
    padding: 40px 0px;
  }

  .burial-engraving-title {
    font-size: clamp(2rem, 2.86vw, 2.2rem);
    line-height: 1.8;
  }

  .burial-engraving-content {
    margin-top: 40px;
    font-size: clamp(1.5rem, 2.08vw, 1.6rem);
    line-height: 2;
  }

  .burial-engraving-cards {
    flex-direction: column;
    gap: 30px;
    margin-top: 40px;
  }

  .burial-engraving-card {
    width: 100%;
    padding: 20px 16px;
  }

  .burial-engraving-card figcaption {
    font-size: clamp(1.6rem, 2.34vw, 1.8rem);
  }

  .works {
    padding: 30px 0 60px;
    .title {
      font-size: clamp(2rem, 2.86vw, 2.2rem);
    }
    .content {
      font-size: clamp(1.5rem, 2.08vw, 1.6rem);
    }
    .cards {
      margin-top: 75px;
      justify-content: center;
    }
    .card-title {
      font-size: clamp(1.5rem, 2.08vw, 1.6rem);
    }
    .card-desc {
      font-size: clamp(1.3rem, 1.82vw, 1.4rem);
    }
  }
  #company {
    .fv {
      padding: 60px 20px;
      .title {
        font-size: clamp(2.4rem, 3.64vw, 2.8rem);
      }
      .content {
        font-size: clamp(1.5rem, 2.08vw, 1.6rem);
        margin-top: 40px;
      }  
    }
    .history {
      .wrapper {
        padding: 60px 20px;
      }
      .title {
        font-size: clamp(2rem, 3.125vw, 2.4rem);
      }
      .content {
        font-size: clamp(1.4rem, 1.95vw, 1.5rem);
        line-height: 2;
        margin-top: 45px;
      }
      .container {
        margin-top: 30px;
        padding: 35px 20px;
        border-radius: 8px;
      }
      .history-item {
        grid-template-columns: 50px 10px 1fr;
        column-gap: 20px;
        min-height: 0;
      }
      .generation {
        font-size: clamp(2rem, 2.86vw, 2.2rem);
        letter-spacing: 0.05em;
        padding-top: 4px;
      }
      .timeline {
        min-height: 100%;
      }
      .timeline::before {
        top: 0;
        bottom: 0;
      }
      .dot {
        top: 8px;
        width: 10px;
        height: 10px;
      }
      .history-content {
        font-size: clamp(1.4rem, 1.95vw, 1.5rem);
        line-height: 2;
        letter-spacing: 0.04em;
        margin: 0;
        padding-bottom: 40px;
      }
      .history-item:first-child {
        .generation {
          padding-top: 45px;
        }
        .dot {
          top: 50px;
        }
        .history-content {
          padding-top: 40px;
        }
      }
      .history-item:not(:first-child) {
        .generation {
          padding-top: 40px;
        }
        .dot {
          top: 45px;
        }
        .history-content {
          padding-top: 35px;
        }
      }
      .history-item:last-child {
        .history-content {
          padding-bottom: 0;
        }
      }
    }
    .overview {
      padding: 60px 0;
      .title {
        font-size: clamp(2.4rem, 3.64vw, 2.8rem);
      }
      .company-info {
        margin-top: 0;
      }
      .company-row {
        grid-template-columns: 1fr;
        gap: 0;
        padding: 20px 0;
      }
      dt {
        font-size: clamp(1.6rem, 2.34vw, 1.8rem);
      }
      dd {
        font-size: clamp(1.6rem, 2.34vw, 1.8rem);
      }
      .googlemap {
        margin-top: 48px;
      }
      .alert {
        font-size: clamp(1.6rem, 2.34vw, 1.8rem);
        margin-top: 30px;
      }
      .alert span {
        font-size: clamp(1.8rem, 2.6vw, 2rem);
      }
    }
  }
  
  #contact {
    .fv {
      padding: 60px 20px 40px;
    }
  }  
  .entryform {
    padding: 0 0 60px;
    table {
      width: 100%;
    }
    p {
      font-size: 1.5rem;
      letter-spacing: 0;
      line-height: 1.3;
      margin: 20px auto;
    }
    label.error {
      color: #aa0000;
    }
    dl {
      display: block;
    }
    dl:after {
      content: "";
      display: block;
      clear: both;
    }
    dl dt {
      padding: 0 0 0 8px;
      margin: 0px 0px 0px 20px;
      float: left;
    }
    dl dt:nth-of-type(2) {
      margin: 10px 0px 0px 20px;
      padding: 0 0 0 8px;
      float: left;
      clear: both;
    }
    dl dd:nth-of-type(2) {
      margin: 10px 0px 0px;
    }
    dl dd {
      float: left;
      margin: 0px;
      padding: 0px;
    }
    
    .main-entryform-001 {
      padding: 0 10px;
    }
    span {
      color: #fff;
      font-size: 1.5rem;
      font-weight: normal;
      padding: 3px 5px;
      line-height: 1.5;
    }  
    label {
      display: block;
    }
    td.bold label:last-of-type input {
      max-width: 152px;
    }
    table td:nth-of-type(odd) {
      display: block;
      width: 100%;
      text-indent: 8px;
      font-size: 1.6rem;
      font-weight: bold;
      border-radius: 6px 6px 0px 0px;
    }
    table td:nth-of-type(even) {
      display: block;
      max-width: 100%;
      padding: 20px 8px;
      font-size: 1.6rem;
      text-align: center;
      border-radius: 0px 0px 6px 6px;
      line-height: 1.8;
    }
    table td.sp-start {
      text-align: start;
    }
    input {
      max-width: 80%;
      font-size: 1.6rem;
    }
    .submit {
      padding: 8px 0px 20px;
      text-align: center;
    }
    .submit input {
      margin: 0px auto;
      border: none;
      padding: 20px 20px;
      color: #ffffff;
      font-size: 1.6rem;
      text-decoration: none;
      display: block;
      cursor: pointer;
      background-color: #B20000;
      font-weight: 600;
    }
    .entryform.mail input {
      width: 300px;
      font-size: 1.6rem;
    }
    .entryform.mail .submit input {
      width: auto;
    }
    .entryform.mail td {
      display: block;
      text-align: center;
    }
    .entryform.mail td.submit {
      padding: 10px 0px 20px;
    }
  }
  
  
  .privacy {
    padding: 0 20px 60px;
  }
  .privacy h3 {
    font-size: clamp(1.8rem, 2.6vw, 2rem);
    margin: 30px 0px 10px;
  }
  .privacy ul li {
    font-size: clamp(1.6rem, 2.34vw, 1.8rem);
    margin: 10px 0px;
  }
  .privacy p {
    font-size: clamp(1.6rem, 2.34vw, 1.8rem);
    margin: 10px 0px;

  }
  
  #thanks {
    .fv {
      padding: 60px 20px;
      .content {
        margin-top: 0;
      }
    }
  }
  
}