@charset "utf-8";


header, section, footer {
  padding: 40px;
  font-size: 24px;
  border: 1px solid #ddd;
  margin-bottom: 20px;
}

.hero {
  background-color: #f5f5f5;
  text-align: center;
}

.hero h1 {
  font-size: 48px;
  margin-bottom: 20px;
}

.hero p {
  font-size: 20px;
}

.btn {
  display: inline-block;
  padding: 14px 32px;
  margin-top: 30px;
  font-size: 18px;
  text-decoration: none;
  border-radius: 6px;
  background-color: #000;
  color: #fff;
}
.btn:hover {
  opacity: 0.8;
  transition: 0.3s;
}

section {
    max-width: 900px;
    margin: 0 auto;
    padding: 80px 20px;
    border-bottom: 1px solid #eee;
}

section h2 {
  font-size: 32px;
  margin-bottom: 30px;
}

.price{
    background-color: #f5f5f5   
}

section h1{
    font-size: 36px;

}

section h2{
    font-size: 22px;
    margin-bottom: 20px;
}

section p{
    font-size: 16px;
    line-height: 1.8;
}

.button{
  display: inline-block;
  background-color: #000;
  color: #fff;
  padding: 16px 40px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: bold;
  transition: 0.3s;
}

.button:hover{
  background-color: #333;
  transform: translateY(-3px);
}

.price-table {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  border-collapse: collapse;
  font-size: 18px;
}

.price-table th,
.price-table td {
  border-bottom: 1px solid #ccc;
  padding: 18px;
  text-align: left;
}

.price-table th {
  background-color: #f5f5f5;
  font-weight: bold;
}

.voice-box {
  max-width: 600px;
  margin: 40px auto;
  padding: 24px;
  background-color: #ffffff;
  border: 1px solid #ddd;
  border-radius: 8px;
  line-height: 1.7;
}

.price-table td:last-child {
  font-weight: bold;
}

footer {
  background-color: #f5f5f5; /* 背景色（薄いグレー） */
  text-align: center;        /* 文字を中央揃え */
  padding: 20px 0;           /* 上下の余白 */
  margin-top: 40px;          /* 上との隙間 */
  font-size: 14px;           /* 文字サイズ */
  color: #555;               /* 文字色 */
}

footer a {
  color: #555;
  text-decoration: none;
  margin: 0 10px;
}

footer a:hover {
  text-decoration: underline;
  opacity: 0.7;
}

/* .list h1{
    font-size: 36px;
    margin-bottom: 5px;
    margin-left: 20px;
} */

#contact {
  padding: 60px 20px; 
  /* background-color: #f4f4f4; */
}

#contact h2 {
  text-align: center;
  font-size: 28px;
  margin-bottom: 30px;
}

#contact form {
  max-width: 600px;
  margin: 0 auto;
}

#contact input,
#contact textarea {
  width: 100%;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: 16px;
}

#contact button {
  display: block;
  width: 100%;
  padding: 14px;
  font-size: 18px;
  border: none;
  border-radius: 6px;
  background-color: #3498db;
  color: #fff;
  cursor: pointer;
}

#contact button:hover {
  opacity: 0.8;
}

#contact form div {
  margin-bottom: 20px;
}

/* .list table{ */
/* border-collapse: collapse; 枠線を重ねる */
/* width: 100%; 表全体の幅 */
/* border-spacing: 0;         セル間の隙間をゼロに */
/* } */

/* .list th, td { */
/* border: 1px solid #000; 枠線の色と太さ */
/* padding: 10px; セル内の余白 */
/* text-align: center; テキスト中央寄せ */
/* } */

.cta-btn {
  display: inline-block;
  padding: 16px 40px;
  font-size: 20px;
  font-weight: bold;
  text-decoration: none;
  background-color: #ff6b6b;
  color: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}

  @media (max-width: 768px) {
  section {
    padding: 40px 20px;
  }

  section h1 {
    font-size: 28px;
  }

  section h2 {
    font-size: 18px;
  }

  section p {
    font-size: 14px;
  }

  .price-table {
    width: 100%;
  }

  .price-table th,
  .price-table td {
    padding: 10px;
    font-size: 14px;
  }

  .contact-form input,
  .contact-form textarea {
    width: 100%;
  }

  .contact-form button {
    width: 100%;
  }

    .cta-btn {
    width: 100%;
    display: block;
    font-size: 18px;    
    padding: 15px 0;      
    text-align: center;   
  }
  }
  
  

.cta {
  text-align: center;
  margin: 60px 0;
}



.cta-btn:hover {
  transform: translateY(-2px);
  opacity: 0.9;
}

.works {
  text-align: center;
  background-color: #f5f5f5;
  padding: 200px 20px;
}

.works-item {
  display: flex;
  justify-content: center;
  gap: 30px;
  margin-top: 30px;
}

.works-item img {
  width: 45%;
  border-radius: 10px;
}