.elementor-5378 .elementor-element.elementor-element-1128fa1:not(.elementor-motion-effects-element-type-background), .elementor-5378 .elementor-element.elementor-element-1128fa1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FCFFFE;}.elementor-5378 .elementor-element.elementor-element-1128fa1{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-5378 .elementor-element.elementor-element-1128fa1 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-5378 .elementor-element.elementor-element-9e0ee16 > .elementor-widget-container{background-color:#FFFFFF;margin:0px 0px 0px 0px;padding:12px 12px 12px 12px;box-shadow:0px 0px 10px 0px rgba(166.34765625, 166.34765625, 166.34765625, 0.5);}.elementor-5378 .elementor-element.elementor-element-9e0ee16.elementor-position-right .elementor-image-box-img{margin-left:15px;}.elementor-5378 .elementor-element.elementor-element-9e0ee16.elementor-position-left .elementor-image-box-img{margin-right:15px;}.elementor-5378 .elementor-element.elementor-element-9e0ee16.elementor-position-top .elementor-image-box-img{margin-bottom:15px;}.elementor-5378 .elementor-element.elementor-element-9e0ee16 .elementor-image-box-wrapper .elementor-image-box-img{width:12%;}.elementor-5378 .elementor-element.elementor-element-9e0ee16 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-5378 .elementor-element.elementor-element-9e0ee16 .elementor-image-box-title{font-weight:bold;color:#DC3A90;}@media(max-width:767px){.elementor-5378 .elementor-element.elementor-element-9e0ee16 .elementor-image-box-img{margin-bottom:15px;}}/* Start custom CSS for html, class: .elementor-element-b863cb3 */.intro {
  background: linear-gradient(135deg, #fffbe6 0%, #ffe0e0 100%);
  border: 2px solid #ff6666;
  border-radius: 12px;
  padding: 2em;
  margin-bottom: 2em;
  box-shadow: 0 4px 10px rgba(255, 102, 102, 0.2);
}

.intro h1 {
  color: #d10000;
  font-weight: bold;
  text-shadow: 1px 1px 0 #fff;
}

.intro .highlight {
  color: #d10000;
  font-weight: bold;
  background-color: #fff0f0;
  padding: 0.1em 0.3em;
  border-radius: 4px;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ed97878 */body {
  font-family: 'Helvetica Neue', sans-serif;
  background-color: #f9f9f9;
  margin: 0;
  padding: 0;
  color: #333;
}

.container {
  max-width: 1200px;
  margin: 2em auto;
  padding: 0 1em;
  background: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

section {
  padding: 2em 0;
  border-bottom: 1px solid #eee;
}

h1, h2 {
  color: #2c3e50;
}

p {
  line-height: 1.6;
}

.highlight {
  color: #e74c3c;
  font-weight: bold;
}

form label {
  display: block;
  margin-top: 1em;
}

form input,
textarea {
  width: 100%;
  padding: 0.5em;
  margin-top: 0.2em;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
}

button[type="submit"] {
  margin-top: 1.5em;
  padding: 0.75em 2em;
  background-color: #3498db;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

button[type="submit"]:hover {
  background-color: #2980b9;
}

#form-message {
  margin-top: 1em;
  color: green;
}

/* カウントボックス */
.count-box-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
  margin: 32px 0;
}

.count-card {
  flex: 1 1 220px;
  background: linear-gradient(135deg, #ffffff 0%, #f0f4ff 100%);
  border-radius: 16px;
  padding: 24px 20px;
  text-align: center;
  border: 1px solid #d0e2ff;
}

.count-card strong {
  display: block;
  font-size: 0.85rem;
  font-weight: 600;
  color: #4a4a4a;
  margin-bottom: 6px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.count-card span {
  display: block;
  font-size: 1.5rem;
  font-weight: 700;
  color: #007bff;
}

/* ============================
   🧠 レスポンシブブレークポイント
   ============================ */

/* タブレット（768px以下） */
@media (max-width: 768px) {
  .container {
    padding: 0 1.5em;
  }

  h1 {
    font-size: 1.5rem;
  }

  h2 {
    font-size: 1.25rem;
  }

  .count-box-wrapper {
    align-items: stretch;
  }

  .count-card {
    width: 100%;
  }
}

/* スマホ（480px以下） */
@media (max-width: 480px) {
  .container {
    margin: 1em 0;
    padding: 0 1em;
  }

  form label {
    font-size: 0.9rem;
  }

  .count-card span {
    font-size: 1.25rem;
  }
}/* End custom CSS */