/* ヘッダー */
header {
  background: #fff;
  padding:  10px 0;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 1000;
}
.header-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
header .logo {
  max-width: 110px;
  width: 100%;
}
.header-cta {
  background: #8b916c;
  color: #fff !important;
  padding: 12px 25px;
  text-decoration: none;
  border-radius: 25px;
  font-weight: bold;
  transition: all 0.3s ease;
}

.header-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(255, 215, 0, 0.3);
}


  /* ヒーローセクション */
  .hero {
    padding: 130px 0 50px;
    display: flex;
    align-items: center;
    background-color: #FFF2ED;
    position: relative;
    overflow: hidden;
  }

  .hero-grid {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 80px;
    align-items: center;
    width: 100%;
  }

  .hero-content {
    padding: 60px 0;
  }

  .hero-image {
    position: relative;
    height: 600px;
    background: #f1f3f4;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .hero-image-content {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px;
  }

  .product-name {
    font-size: 0.9rem;
    color: #666;
    margin-bottom: 10px;
    letter-spacing: 0.1em;
  }

  .hero h1 {
    font-size: 3.5rem;
    font-weight: 300;
    margin-bottom: 30px;
    color: #333;
    line-height: 1.2;
  }

  .hero-subtitle {
    font-size: 1.1rem;
    color: #666;
    margin-bottom: 40px;
    line-height: 1.8;
  }

  .cta-button {
    display: inline-block;
    background: #333;
    color: #fff !important;
    padding: 18px 50px;
    border: none;
    border-radius: 0;
    text-decoration: none;
    font-weight: 500;
    font-size: 1rem;
    transition: all 0.3s ease;
    letter-spacing: 0.05em;
  }

  .cta-button:hover {
    background: #555;
  }

  /* セクション共通スタイル */
  .section {
    padding: 80px 0;
  }

  .section-title {
    font-size: 2.2rem;
    font-weight: 500;
    text-align: center;
    margin-bottom: 20px;
    color: #333;
    line-height: 1.4;
  }

  .section-subtitle {
    text-align: center;
    color: #666;
    font-size: 1.1rem;
    margin-bottom: 80px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
  }

  /* ペイン訴求セクション */
  .pain-section {
    background: #fff;
  }

  .pain-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
  }

  .pain-item {
    text-align: center;
    padding: 40px 0px;
  }
  .pain-content{
    margin-bottom: 60px;
    position: relative;
    padding: 20px 10px;
    border: 2px solid #000;
    border-radius: 20px;
  }
  .pain-content::before{
    background-color: #000; /* 線の色 */
    content: "";
    height: 2px; /* 線の高さ */
    position: absolute;
    bottom: -17px;
    left: calc(50% - 9px);
    transform: translateX(-50%);
    width: 35px; /* 線の長さ */
    transform: rotate(-60deg); /* 傾ける */
    z-index: 10;
  }
  .pain-content::after{
    content: "";
    background-color: #fff;
    height: 35px;
    position: absolute;
    bottom: -30px;
    left: 50%;
    transform: translateX(-50%);
    width: 35px;
    z-index: 9;
  }

  .pain-item h3 {
    text-align: center;
    font-size: 1.3rem;
    font-weight: 500;
    margin-bottom: 20px;
    color: #333;
  }

  .pain-item p {
    text-align: center;
    color: #666;
    line-height: 1.8;
  }

  .pain-icon {
    max-width: 220px;
    background: #f8f9fa;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    font-size: 1.5rem;
    overflow: hidden;
  }

  .pain-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
  }

  /* 原因解説セクション */
  .cause-section {
    background-color: #FFF2ED;
  }
  .cause-section .section-title span{
    position: relative;
  }
  .cause-section .section-title span::before{
    content: "";
    position: absolute;
    top: 0;
    right: -100px;
    width: 90px;
    height: 114px;
    background: url("../img/order/expert.webp") no-repeat center center;
    background-size: cover;
  }

  .cause-content {
    margin: 0 auto;
    text-align: center;
  }

  .diagram-container {
    background: white;
    padding: 60px;
    border-radius: 20px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
    margin: 60px 0;
  }

  .diagram-container .diagram-title {
    margin-bottom: 40px; 
    font-size: 1.5rem; 
    font-weight: 500;
    text-align: center;
  }

  .spine-comparison {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    margin: 40px 0;
  }

  .spine-item h4, .spine-item p {
    text-align: center;
  }

  .spine-visual {
    width: 100%;
    height: 200px;
    background: #f8f9fa;
    border-radius: 10px;
    margin-bottom: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #666;
    font-size: 0.9rem;
  }

  .spine-good .spine-visual {
    border: 2px solid #28a745;
    background: #f8fff9;
  }

  .spine-bad .spine-visual {
    border: 2px solid #dc3545;
    background: #fff8f8;
  }

  .spine-item h4 {
    font-size: 1.2rem;
    margin-bottom: 15px;
    font-weight: 500;
  }

  .spine-good h4 {
    color: #28a745;
  }

  .spine-bad h4 {
    color: #dc3545;
  }

  .diagram-text{
    font-weight: 500;
    color: #333;
    margin-top: 40px;
    font-size: 1.3rem;
    text-align: center;
  }

  /* 解決策セクション - 実際の店舗画像を追加 */
  .solution-section {
    background: white;
  }

  .solution-images {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin: 60px 0;
  }

  .solution-image {
    height: 400px;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
    background: #f1f3f4;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #666;
    font-size: 0.9rem;
    text-align: center;
  }

  .solution-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 15px;
  }

  .consultation-image {
    background: #f8f9fa;
  }

  .measuring-image {
    background: #f1f3f4;
  }

  .process-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
    margin-top: 80px;
  }

  .process-item {
    text-align: center;
    position: relative;
  }

  .process-item::before {
    content: "";
    position: absolute;
    top: 30px;
    right: -20px;
    width: 40px;
    height: 2px;
    background: #ddd;
  }

  .process-item:last-child::before {
    display: none;
  }

  .process-number {
    width: 60px;
    height: 60px;
    background: #333;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 30px;
    font-size: 1.2rem;
    font-weight: bold;
  }

  .process-item h3 {
    font-size: 1.1rem;
    font-weight: 500;
    margin-bottom: 15px;
    color: #333;
    text-align: center;
  }

  .process-item p {
    color: #666;
    font-size: 0.9rem;
    line-height: 1.6;
    text-align: center;
  }

  /* お客様の声セクション */
  .testimonial-section {
    background-color: #FFF2ED;
  }

  .testimonial-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
  }

  .testimonial-card {
    background: white;
    padding: 40px;
    border-radius: 10px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
    text-align: center;
  }

  .customer-avatar {
    width: 80px;
    height: 80px;
    background: #f8f9fa;
    border-radius: 50%;
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #666;
    font-size: 0.8rem;
    overflow: hidden;
    border: 2px solid #b5b7b8;
  }

  .before-after-grid {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin: 30px 0;
  }

  .before-after-item {
    padding: 20px;
    border-radius: 8px;
    text-align: center;
  }

  .before-item {
    background: #fff5f5;
    border-left: 4px solid #dc3545;
  }

  .after-item {
    background: #f8fff9;
    border-left: 4px solid #28a745;
  }

  .before-after-item h5 {
    font-size: 0.9rem;
    font-weight: bold;
    margin-bottom: 10px;
  }

  .before-item h5 {
    color: #dc3545;
  }

  .after-item h5 {
    color: #28a745;
  }

  .testimonial-text {
    color: #666;
    font-style: italic;
    line-height: 1.6;
  }

  /* 動画セクション */
  .video-section {
    background: white;
    text-align: center;
  }

  .video-container {
    max-width: 800px;
    margin: 0 auto;
    background: #000;
    border-radius: 10px;
    overflow: hidden;
    position: relative;
    aspect-ratio: 16/9;
  }

  .video-element {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .video-placeholder {
    width: 100%;
    height: 100%;
    background: linear-gradient(45deg, #333, #555);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1.1rem;
  }

  .play-button {
    width: 80px;
    height: 80px;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
  }

  .play-button:hover {
    background: white;
    transform: scale(1.1);
  }

  .play-icon {
    width: 0;
    height: 0;
    border-left: 25px solid #333;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
    margin-left: 5px;
  }

  /* お問い合わせセクション */
  .contact-section {
    background-color: #FFF2ED;
    text-align: center;
  }

  .contact-grid {
    /* display: grid; */
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    margin: 0 auto;
    max-width: 500px;
  }

  .contact-item {
    background: white;
    padding: 50px 30px;
    border-radius: 10px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
    text-align: center;
  }

  .contact-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 30px;
    font-size: 2rem;
  }

  .contact-item h3 {
    font-size: 1.2rem;
    font-weight: 500;
    margin-bottom: 20px;
    color: #333;
    text-align: center;
  }

  .contact-detail {
    font-size: 1.3rem;
    font-weight: bold;
    color: #333;
    margin-bottom: 10px;
    text-align: center;
  }

  .contact-link {
    color: #333;
    text-decoration: none;
    font-weight: 500;
    border-bottom: 2px solid #333;
    padding-bottom: 2px;
    transition: all 0.3s ease;
  }

  .contact-link:hover {
    color: #666;
    border-color: #666;
  }

  .contact-note {
    color: #666;
    font-size: 0.9rem;
    margin-top: 15px;
    text-align: center;
  }

  .note_wrap{
    text-align: center;
    margin-top: 60px;
    padding: 30px;
    background: white;
    border-radius: 10px;
    margin-left: auto;
    margin-right: auto;
  }

  .note_wrap p{
    color: #333;
    font-size: 1.2rem;
    text-align: center;
  }

  /* アニメーション */
  .fade-in {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s ease;
  }

  .fade-in.visible {
    opacity: 1;
    transform: translateY(0);
  }

  /* レスポンシブ */
  @media (max-width: 1024px) {
    .hero-grid {
      grid-template-columns: 1fr;
      gap: 40px;
      text-align: center;
    }

    .hero-image {
      height: 400px;
    }

    .process-grid {
      grid-template-columns: repeat(2, 1fr);
      gap: 40px;
    }

    .process-item::before {
      display: none;
    }
  }

  @media (max-width: 768px) {
    /* ヘッダー */

header .logo {
  max-width: 80px;
  width: 100%;
}
    .hero-content {
      padding: 30px 0;
  }
  .hero{
    padding: 80px 0 40px;
  }

    .hero h1 {
      font-size: 1.8rem;
    }
    .hero-subtitle {
      font-size: 1rem;
      color: #666;
      margin-bottom: 40px;
      line-height: 1.8;
  }
    .section {
      padding: 40px 0;
    }

    .section-title {
      font-size: 1.6rem;
    }
    .section-subtitle{
      margin-bottom: 40px;
    }
    .cta-button{
      padding: 10px 30px;
    }

    .pain-grid,
    .testimonial-grid {
      grid-template-columns: 1fr;
      gap: 10px;
    }
    .pain-item{
      padding: 20px 0;
    }
    .pain-icon{
      margin-bottom: 10px;
    }
    .pain-item h3{
      margin-bottom: 0;
    }

    .spine-comparison {
      grid-template-columns: 1fr;
      gap: 40px;
    }
    .spine-visual{
      margin-bottom: 10px;
    }
    .spine-item h4{
      margin-bottom: 5px;
    }

    .testimonial-card{
      padding: 20px;
    }

    /* 原因解説セクション */
  .cause-section .section-title span::before{
    top: 80px;
    right: -90px;
    width: 60px;
    height: 76px;
  }

    .diagram-container{
      padding: 20px;
    }
    .diagram-container .diagram-title {
      font-size: 1.2rem;
    }
    .diagram-text{
      font-size: 1.1rem;
    }

    .process-grid {
      grid-template-columns: 1fr;
    }
    .process-number{
      margin-bottom: 10px;
    }
    .process-item h3{
      margin-bottom: 5px;
    }

    .contact-grid {
      grid-template-columns: 1fr;
      gap: 30px;
    }
    .contact-item{
      padding: 20px;
    }

    .solution-images {
      grid-template-columns: 1fr;
      gap: 30px;
    }
    .note_wrap strong{
      font-size: 1.1rem;
    }
    .note_wrap p{
      font-size: 1rem;
    }
  }