@charset "UTF-8";
/* 政治への1歩を応援する相談窓口 -----------------------------------------
   やわらかい・相談しやすい雰囲気を最優先。
   明るいグリーン＋オフホワイト、角丸・余白広め、軽い影。
   選択式中心のフォーム（Contact Form 7 出力）をスマホでも入力しやすく。
----------------------------------------------------------------------- */
html {
  scroll-behavior: smooth;
}

.cc-View *,
.cc-Contents * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.cc-brSp {
  display: none;
}

/* 親しみのある丸ゴシックを見出し・ボタン・番号に */
/* ===== Hero（やわらかい・明るい） ===== */
.cc-View {
  background: radial-gradient(60% 80% at 88% 12%, rgba(12, 159, 87, 0.12), transparent 60%), radial-gradient(50% 70% at 6% 4%, rgba(12, 159, 87, 0.1), transparent 60%), -webkit-gradient(linear, left top, left bottom, from(#e9f7ef), color-stop(70%, #f4fbf6), to(#ffffff));
  background: -webkit-radial-gradient(88% 12%, 60% 80%, rgba(12, 159, 87, 0.12), transparent 60%), -webkit-radial-gradient(6% 4%, 50% 70%, rgba(12, 159, 87, 0.1), transparent 60%), -webkit-linear-gradient(top, #e9f7ef 0%, #f4fbf6 70%, #ffffff 100%);
  background: radial-gradient(60% 80% at 88% 12%, rgba(12, 159, 87, 0.12), transparent 60%), radial-gradient(50% 70% at 6% 4%, rgba(12, 159, 87, 0.1), transparent 60%), linear-gradient(180deg, #e9f7ef 0%, #f4fbf6 70%, #ffffff 100%);
  overflow: hidden;
  padding: 76px 20px 92px;
  position: relative;
  text-align: center;
}

/* ふんわり背景の円 */
.cc-View::before,
.cc-View::after {
  border-radius: 50%;
  content: "";
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

.cc-View::before {
  background: rgba(12, 159, 87, 0.08);
  height: 280px;
  right: -80px;
  top: -90px;
  width: 280px;
}

.cc-View::after {
  background: rgba(210, 177, 91, 0.08);
  bottom: 10px;
  height: 200px;
  left: -70px;
  width: 200px;
}

.cc-View_inner {
  -webkit-animation: ccFadeUp 0.8s cubic-bezier(0.22, 0.65, 0.3, 1) both;
          animation: ccFadeUp 0.8s cubic-bezier(0.22, 0.65, 0.3, 1) both;
  margin: 0 auto;
  max-width: 760px;
  position: relative;
  z-index: 2;
}

.cc-View_illust {
  -webkit-animation: ccFloat 4.5s ease-in-out infinite;
          animation: ccFloat 4.5s ease-in-out infinite;
  margin: 0 auto 16px;
  width: clamp(94px, 16vw, 128px);
}

.cc-View_illust svg {
  display: block;
  height: auto;
  width: 100%;
}

@-webkit-keyframes ccFloat {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-7px);
            transform: translateY(-7px);
  }
}

@keyframes ccFloat {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-7px);
            transform: translateY(-7px);
  }
}
.cc-View_badge {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background: #fff;
  border: 1.5px solid rgba(12, 159, 87, 0.4);
  border-radius: 999px;
  -webkit-box-shadow: 0 8px 20px rgba(12, 159, 87, 0.1);
          box-shadow: 0 8px 20px rgba(12, 159, 87, 0.1);
  color: #14633c;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: clamp(13px, 1.7vw, 15px);
  font-weight: 800;
  gap: 8px;
  letter-spacing: 0;
  margin: 0 0 24px;
  padding: 11px 22px;
}

.cc-View_title {
  color: #14633c;
  font-size: clamp(28px, 4.4vw, 42px);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.45;
  margin: 0;
  text-align: center;
}

.cc-View_titleLine {
  display: block;
}

.cc-View_titleChunk {
  display: inline;
}

.cc-nowrap {
  white-space: nowrap;
}

.cc-View_sub {
  color: #45564b;
  font-size: clamp(15px, 1.8vw, 17px);
  line-height: 2;
  margin: 22px auto 0;
  max-width: 680px;
  text-align: center;
}

.cc-View_actions {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 14px 22px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 34px;
}

.cc-btn {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background: -webkit-linear-gradient(315deg, #18b365, #0c9f57 60%, #0a7d45);
  background: linear-gradient(135deg, #18b365, #0c9f57 60%, #0a7d45);
  border-radius: 999px;
  -webkit-box-shadow: 0 14px 28px rgba(12, 159, 87, 0.28);
          box-shadow: 0 14px 28px rgba(12, 159, 87, 0.28);
  color: #fff;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 16px;
  font-weight: 800;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  letter-spacing: 0;
  min-width: 230px;
  padding: 16px 32px;
  -webkit-transition: opacity 0.25s ease, -webkit-transform 0.25s ease, -webkit-box-shadow 0.25s ease;
  transition: opacity 0.25s ease, -webkit-transform 0.25s ease, -webkit-box-shadow 0.25s ease;
  transition: transform 0.25s ease, box-shadow 0.25s ease, opacity 0.25s ease;
  transition: transform 0.25s ease, box-shadow 0.25s ease, opacity 0.25s ease, -webkit-transform 0.25s ease, -webkit-box-shadow 0.25s ease;
}

.cc-btn::after {
  content: "→";
  margin-left: 10px;
  -webkit-transition: -webkit-transform 0.25s ease;
  transition: -webkit-transform 0.25s ease;
  transition: transform 0.25s ease;
  transition: transform 0.25s ease, -webkit-transform 0.25s ease;
}

.cc-btn:hover {
  -webkit-box-shadow: 0 18px 34px rgba(12, 159, 87, 0.34);
          box-shadow: 0 18px 34px rgba(12, 159, 87, 0.34);
  color: #fff;
  -webkit-transform: translateY(-2px) scale(1.02);
          transform: translateY(-2px) scale(1.02);
}

.cc-btn:hover::after {
  -webkit-transform: translateX(4px);
          transform: translateX(4px);
}

.cc-link {
  border-bottom: 1px solid rgba(12, 159, 87, 0.4);
  color: #0a7d45;
  font-size: 15px;
  font-weight: 800;
  padding-bottom: 3px;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}

.cc-link:hover {
  color: #0a7d45;
  opacity: 0.7;
}

/* なだらかな下端 */
.cc-View_wave {
  background: #fff;
  border-radius: 50% 50% 0 0/100% 100% 0 0;
  bottom: -1px;
  height: 46px;
  left: -5%;
  position: absolute;
  width: 110%;
  z-index: 1;
}

/* ===== Breadcrumb ===== */
.breadcrumb-wrap {
  background: #fff;
  border-bottom: 1px solid #eef2ee;
}

.breadcrumb {
  color: #7c8a80;
  font-size: 12px;
  margin: 0 auto;
  max-width: 980px;
  padding: 11px 20px;
  text-align: left;
}

.breadcrumb a {
  color: #0a7d45;
}

/* ===== Contents ===== */
.cc-Contents {
  background: #fff;
  overflow: hidden;
  padding: 64px 18px 96px;
  position: relative;
}

/* ヒーローと同じやわらかい装飾円を、中ほどの背面にも配置 */
.cc-Contents::before,
.cc-Contents::after {
  border-radius: 50%;
  content: "";
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

.cc-Contents::before {
  background: rgba(12, 159, 87, 0.07);
  height: 360px;
  right: -130px;
  top: 22%;
  width: 360px;
}

.cc-Contents::after {
  background: rgba(210, 177, 91, 0.09);
  bottom: 18%;
  height: 300px;
  left: -120px;
  width: 300px;
}

.cc-Contents_inner {
  color: #2c3b32;
  margin: 0 auto;
  max-width: 800px;
  position: relative;
  z-index: 1;
}

.cc-eyebrow {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #0c9f57;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 13px;
  font-weight: 800;
  gap: 8px;
  letter-spacing: 0;
  margin: 0 0 12px;
}

.cc-eyebrow::before {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%230c9f57' d='M4 3h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H10l-5 4v-4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z'/%3E%3C/svg%3E") center/contain no-repeat;
  content: "";
  height: 18px;
  width: 18px;
}

/* ===== Lead ===== */
.cc-Lead {
  background: #f3faf5;
  border-radius: 18px;
  margin: 0 auto 64px;
  max-width: 780px;
  padding: 30px 34px;
}

.cc-Lead_catch {
  color: #14633c;
  font-size: clamp(18px, 2.4vw, 23px);
  font-weight: 900;
  line-height: 1.6;
  margin: 0 0 14px;
  text-align: center;
  letter-spacing: 0.1em;
}

.cc-Lead_catch em {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(58%, transparent), color-stop(58%, rgba(246, 196, 83, 0.55)));
  background: -webkit-linear-gradient(transparent 58%, rgba(246, 196, 83, 0.55) 58%);
  background: linear-gradient(transparent 58%, rgba(246, 196, 83, 0.55) 58%);
  font-style: normal;
  padding: 0 3px;
}

.cc-Lead_txt {
  color: #3c4f43;
  font-size: 15px;
  line-height: 1.9;
  margin: 0 0 16px;
  text-align: center;
}

.cc-Lead_list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 10px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  list-style: none;
  margin: 0 0 20px;
  padding: 0;
}

.cc-Lead_list li {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background: #fff;
  border: 1px solid #e2eee6;
  border-radius: 999px;
  color: #14633c;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 16px;
  font-weight: 700;
  gap: 8px;
  line-height: 1.4;
  padding: 10px 16px 10px 10px;
}

.cc-Lead_list li::before {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background: #e9f7ee;
  border-radius: 50%;
  color: #0c9f57;
  content: "✓";
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  font-size: 11px;
  font-weight: 900;
  height: 20px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 20px;
}

.cc-Lead_note {
  border-top: 1px dashed rgba(12, 159, 87, 0.25);
  font-size: 13.5px;
  line-height: 1.85;
  margin: 0;
  padding-top: 16px;
  text-align: center;
}

.cc-Lead_note::before {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%236a796f' d='M4 4h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2zm0 2v.4l8 5 8-5V6H4zm16 2.9-8 5-8-5V18h16V8.9z'/%3E%3C/svg%3E") center/contain no-repeat;
  content: "";
  display: inline-block;
  height: 15px;
  margin-right: 6px;
  vertical-align: -2px;
  width: 15px;
}

/* ===== Examples ===== */
.cc-Examples {
  margin: 0 0 64px;
}

.cc-Examples_head {
  margin-bottom: 26px;
  text-align: center;
}

.cc-Examples_head .cc-eyebrow {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.cc-Examples_head h2,
.cc-Flow_head h2,
.cc-FormSec_head h2 {
  color: #14633c;
  font-size: clamp(21px, 3vw, 29px);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.5;
  margin: 0;
  text-align: center;
}

.cc-Examples_head h2::after,
.cc-Flow_head h2::after,
.cc-FormSec_head h2::after {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 90 9'%3E%3Cpath d='M3 6 Q14 1 25 6 T47 6 T69 6 T87 6' fill='none' stroke='%23f6c453' stroke-width='3.5' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
  content: "";
  display: block;
  height: 9px;
  margin: 12px auto 0;
  width: 90px;
}

.cc-Examples_list {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, 1fr);
  list-style: none;
  margin: 0;
  padding: 0;
}

.cc-Examples_list li {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background: #fff;
  border: 1px solid #e2eee6;
  border-radius: 14px;
  color: #2b3b31;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: 15px;
  font-weight: 700;
  gap: 12px;
  line-height: 1.6;
  padding: 16px 18px;
  text-align: left;
  -webkit-transition: border-color 0.25s ease, -webkit-box-shadow 0.25s ease;
  transition: border-color 0.25s ease, -webkit-box-shadow 0.25s ease;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
  transition: border-color 0.25s ease, box-shadow 0.25s ease, -webkit-box-shadow 0.25s ease;
}

.cc-Examples_list li::before {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background: #e9f7ee;
  border-radius: 50%;
  color: #0c9f57;
  content: "✓";
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  font-size: 14px;
  font-weight: 900;
  height: 28px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 28px;
}

.cc-Examples_list li:hover {
  border-color: rgba(12, 159, 87, 0.45);
  -webkit-box-shadow: 0 10px 24px rgba(12, 159, 87, 0.08);
          box-shadow: 0 10px 24px rgba(12, 159, 87, 0.08);
}

.cc-Examples_note {
  background: #e9f7ee;
  border-radius: 14px;
  color: #2f4538;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.9;
  margin: 18px 0 0;
  padding: 20px 24px;
  text-align: center;
}

/* ===== Flow ===== */
.cc-Flow {
  margin: 0 0 64px;
}

.cc-Flow_head {
  margin-bottom: 26px;
  text-align: center;
}

.cc-Flow_head .cc-eyebrow {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.cc-Flow_steps {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, 1fr);
  list-style: none;
  margin: 0;
  padding: 0;
}

.cc-Flow_steps li {
  background: #f3faf5;
  border-radius: 16px;
  padding: 28px 22px 24px;
  text-align: center;
}

.cc-Flow_num {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background: -webkit-linear-gradient(315deg, #18b365, #0c9f57);
  background: linear-gradient(135deg, #18b365, #0c9f57);
  border-radius: 50%;
  -webkit-box-shadow: 0 8px 18px rgba(12, 159, 87, 0.25);
          box-shadow: 0 8px 18px rgba(12, 159, 87, 0.25);
  color: #fff;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 20px;
  font-weight: 900;
  height: 48px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 14px;
  width: 48px;
}

.cc-Flow_steps strong {
  color: #14633c;
  display: block;
  font-size: 17px;
  font-weight: 900;
  margin-bottom: 8px;
}

.cc-Flow_steps p {
  font-size: 13px;
  line-height: 1.8;
  margin: 0;
}

/* ===== Form section ===== */
.cc-FormSec {
  background: #fff;
  border: 1px solid #e2eee6;
  border-radius: 22px;
  -webkit-box-shadow: 0 16px 44px rgba(12, 159, 87, 0.08);
          box-shadow: 0 16px 44px rgba(12, 159, 87, 0.08);
  padding: 44px 40px 48px;
  scroll-margin-top: 90px;
}

.cc-FormSec_head {
  margin-bottom: 28px;
  text-align: center;
}

.cc-FormSec_note {
  font-size: 14px;
  line-height: 1.85;
  margin: 12px 0 0;
  text-align: center;
}

.cc-FormSec_points {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 10px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 18px 0 0;
}

.cc-FormSec_points span {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background: #f3faf5;
  border: 1px solid #e2eee6;
  border-radius: 999px;
  color: #14633c;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 13px;
  font-weight: 800;
  gap: 7px;
  line-height: 1.4;
  padding: 8px 14px;
}

.cc-FormSec_points span::before {
  background: #0c9f57;
  border-radius: 50%;
  color: #fff;
  content: "✓";
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  font-size: 10px;
  font-weight: 900;
  height: 17px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 17px;
}

/* ===== CF7 form ===== */
.cc-form .wpcf7-form > p {
  margin: 0;
}

.cc-form .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

.cc-opts .wpcf7-form-control,
.cc-field .wpcf7-form-control {
  width: 100%;
}

.cc-q {
  border-top: 1px solid #eef3ef;
  margin: 0;
  padding: 30px 0 6px;
  position: relative;
}

.cc-q:first-of-type {
  border-top: none;
  padding-top: 50px;
}

.cc-q:nth-of-type(5) {
  padding-top: 58px;
}

.cc-q:first-of-type::before,
.cc-q:nth-of-type(5)::before {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background: #f3faf5;
  border: 1px solid rgba(12, 159, 87, 0.22);
  border-radius: 999px;
  color: #0a7d45;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 13px;
  font-weight: 900;
  left: 0;
  line-height: 1.4;
  padding: 8px 14px;
  position: absolute;
  top: 0;
}

.cc-q_label {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #14633c;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  font-size: 16px;
  font-weight: 800;
  gap: 10px;
  letter-spacing: 0;
  line-height: 1.5;
  margin: 0 0 6px;
  text-align: left;
}

.cc-q_txt {
  min-width: 0;
}

.cc-q_num {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background: #e9f7ee;
  border-radius: 50%;
  color: #0a7d45;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  font-size: 15px;
  font-weight: 900;
  height: 28px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 28px;
}

.cc-req,
.cc-any {
  border-radius: 4px;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0;
  padding: 3px 8px;
}

.cc-req {
  background: #fdecea;
  color: #d0493b;
}

.cc-any {
  background: #eef2ef;
  color: #7a8980;
}

.cc-q_sub {
  font-size: 13px;
  line-height: 1.7;
  margin: 0 0 14px;
  text-align: left;
}

.cc-q_label + .cc-opts,
.cc-q_label + .cc-field {
  margin-top: 14px;
}

/* 選択式チップ */
.cc-opts .wpcf7-form-control {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, 1fr);
}

.cc-opts--inline .wpcf7-form-control {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 10px;
}

.cc-opts .wpcf7-list-item {
  margin: 0;
}

.cc-opts .wpcf7-list-item label {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background: #fbfdfb;
  border: 1.5px solid #e2eee6;
  border-radius: 12px;
  color: #2b3b31;
  cursor: pointer;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: 15px;
  font-weight: 700;
  gap: 12px;
  height: 100%;
  line-height: 1.5;
  margin: 0;
  min-height: 58px;
  padding: 15px 18px;
  -webkit-transition: border-color 0.2s ease, background 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: border-color 0.2s ease, background 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
  transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease, -webkit-box-shadow 0.2s ease;
}

.cc-opts--inline .wpcf7-list-item label {
  padding: 12px 20px;
}

.cc-opts .wpcf7-list-item label:hover {
  border-color: #0c9f57;
}

.cc-opts .wpcf7-list-item input[type=radio],
.cc-opts .wpcf7-list-item input[type=checkbox] {
  height: 0;
  margin: 0;
  opacity: 0;
  position: absolute;
  width: 0;
}

.cc-opts .wpcf7-list-item label::before {
  background: #fff;
  border: 2px solid #c2d4c8;
  content: "";
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  height: 22px;
  position: relative;
  -webkit-transition: border-color 0.2s ease, background 0.2s ease;
  transition: border-color 0.2s ease, background 0.2s ease;
  width: 22px;
}

.cc-opts--radio .wpcf7-list-item label::before {
  border-radius: 50%;
}

.cc-opts--checkbox .wpcf7-list-item label::before {
  border-radius: 6px;
}

.cc-opts .wpcf7-list-item .wpcf7-list-item-label {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}

.cc-opts .wpcf7-list-item label:has(input:checked) {
  background: #e9f7ee;
  border-color: #0c9f57;
  -webkit-box-shadow: 0 6px 16px rgba(12, 159, 87, 0.14);
          box-shadow: 0 6px 16px rgba(12, 159, 87, 0.14);
}

.cc-opts--radio .wpcf7-list-item label:has(input:checked)::before {
  background: -webkit-radial-gradient(circle, #0c9f57 0 42%, #fff 47% 100%);
  background: radial-gradient(circle, #0c9f57 0 42%, #fff 47% 100%);
  border-color: #0c9f57;
}

.cc-opts--checkbox .wpcf7-list-item label:has(input:checked)::before {
  background: #0c9f57;
  border-color: #0c9f57;
}

.cc-opts--checkbox .wpcf7-list-item label:has(input:checked)::after {
  color: #fff;
  content: "✓";
  font-size: 15px;
  font-weight: 900;
  left: 18px;
  line-height: 22px;
  position: absolute;
  text-align: center;
  width: 22px;
}

.cc-opts--checkbox .wpcf7-list-item label {
  position: relative;
}

/* テキスト入力 */
.cc-field input[type=text],
.cc-field input[type=email],
.cc-field input[type=tel],
.cc-field textarea {
  background: #fbfdfb;
  border: 1.5px solid #e2eee6;
  border-radius: 12px;
  color: #2c3b32;
  display: block;
  font-family: inherit;
  font-size: 16px;
  padding: 14px 16px;
  -webkit-transition: border-color 0.2s ease, background 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: border-color 0.2s ease, background 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
  transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease, -webkit-box-shadow 0.2s ease;
  width: 100%;
}

.cc-field textarea {
  line-height: 1.8;
  min-height: 140px;
  resize: vertical;
}

.cc-field input:focus,
.cc-field textarea:focus {
  background: #fff;
  border-color: #0c9f57;
  -webkit-box-shadow: 0 0 0 3px rgba(12, 159, 87, 0.12);
          box-shadow: 0 0 0 3px rgba(12, 159, 87, 0.12);
  outline: none;
}

.cc-field input::-webkit-input-placeholder, .cc-field textarea::-webkit-input-placeholder {
  color: #a3b1a8;
}

.cc-field input::-moz-placeholder, .cc-field textarea::-moz-placeholder {
  color: #a3b1a8;
}

.cc-field input:-ms-input-placeholder, .cc-field textarea:-ms-input-placeholder {
  color: #a3b1a8;
}

.cc-field input::-ms-input-placeholder, .cc-field textarea::-ms-input-placeholder {
  color: #a3b1a8;
}

.cc-field input::placeholder,
.cc-field textarea::placeholder {
  color: #a3b1a8;
}

/* 同意 */
.cc-consent {
  background: #f3faf5;
  border-radius: 14px;
  margin: 32px 0 0;
  padding: 22px 24px;
  text-align: center;
}

.cc-consent .wpcf7-list-item {
  margin: 0;
}

.cc-consent .wpcf7-acceptance label {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #14633c;
  cursor: pointer;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 15px;
  font-weight: 800;
  gap: 10px;
}

.cc-consent .wpcf7-acceptance input[type=checkbox] {
  accent-color: #0c9f57;
  height: 20px;
  width: 20px;
}

.cc-consent_link {
  margin: 10px 0 0;
}

.cc-consent_link a {
  color: #0a7d45;
  font-size: 13px;
  text-decoration: underline;
}

/* 送信 */
.cc-submit {
  margin: 30px 0 0;
  text-align: center;
}

.cc-submit .wpcf7-submit {
  background: -webkit-linear-gradient(315deg, #18b365, #0c9f57 60%, #0a7d45);
  background: linear-gradient(135deg, #18b365, #0c9f57 60%, #0a7d45);
  border: none;
  border-radius: 999px;
  -webkit-box-shadow: 0 16px 30px rgba(12, 159, 87, 0.28);
          box-shadow: 0 16px 30px rgba(12, 159, 87, 0.28);
  color: #fff;
  cursor: pointer;
  font-family: inherit;
  font-size: 19px;
  font-weight: 900;
  letter-spacing: 0;
  max-width: 100%;
  padding: 19px 56px;
  -webkit-transition: opacity 0.2s ease, -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: opacity 0.2s ease, -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
  transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease, -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  width: auto;
}

.cc-submit .wpcf7-submit:hover:not(:disabled) {
  -webkit-box-shadow: 0 20px 38px rgba(12, 159, 87, 0.34);
          box-shadow: 0 20px 38px rgba(12, 159, 87, 0.34);
  opacity: 0.95;
  -webkit-transform: translateY(-2px) scale(1.02);
          transform: translateY(-2px) scale(1.02);
}

/* JSで必須が未入力のあいだ：薄く・押せない状態 */
.cc-submit .wpcf7-submit:disabled {
  background: #c5d6cc;
  -webkit-box-shadow: none;
          box-shadow: none;
  color: #fff;
  cursor: not-allowed;
  -webkit-transform: none;
          transform: none;
}

/* 残り項目のやさしい案内（送信ボタンの上に表示） */
.cc-submit-remain {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #0a7d45;
  display: none;
  font-size: 13.5px;
  font-weight: 800;
  gap: 7px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 0 14px;
}

.cc-submit-remain.is-show {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.cc-submit-remain::before {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%230a7d45' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm-1 5h2v6h-2V7zm0 8h2v2h-2v-2z'/%3E%3C/svg%3E") center/contain no-repeat;
  content: "";
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  height: 16px;
  width: 16px;
}

.cc-submit_note {
  font-size: 13px;
  line-height: 1.8;
  margin: 18px 0 0;
}

/* CF7 messages */
.cc-form .wpcf7-not-valid-tip {
  color: #d0493b;
  font-size: 13px;
  font-weight: 700;
  margin-top: 8px;
}

.cc-form .wpcf7-response-output {
  border-radius: 10px;
  font-size: 14px;
  line-height: 1.7;
  margin: 24px 0 0 !important;
  padding: 14px 18px !important;
}

.cc-form .wpcf7-spinner {
  margin: 14px auto 0;
}

/* ===== 締めの一文 ===== */
.cc-foot-note {
  font-size: 14px;
  line-height: 2;
  margin: 40px auto 0;
  max-width: 680px;
  text-align: center;
}

/* ===== Reveal（控えめ） ===== */
.cc-js .js-reveal {
  opacity: 0;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  -webkit-transition: opacity 0.7s ease, -webkit-transform 0.7s ease;
  transition: opacity 0.7s ease, -webkit-transform 0.7s ease;
  transition: opacity 0.7s ease, transform 0.7s ease;
  transition: opacity 0.7s ease, transform 0.7s ease, -webkit-transform 0.7s ease;
}

.cc-js .js-reveal.is-inview {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

@-webkit-keyframes ccFadeUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes ccFadeUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
/* ===== Responsive ===== */
@media screen and (max-width: 900px) {
  .cc-View {
    padding: 64px 18px 76px;
  }
  .cc-Contents {
    padding: 52px 16px 80px;
  }
  .cc-Lead {
    margin-bottom: 52px;
    padding: 24px 22px;
  }
  .cc-Examples,
  .cc-Flow {
    margin-bottom: 52px;
  }
  .cc-Flow_steps {
    gap: 12px;
    grid-template-columns: 1fr;
  }
  .cc-Flow_steps li {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 4px 18px;
    padding: 20px 22px;
    text-align: left;
  }
  .cc-Flow_num {
    height: 42px;
    margin-bottom: 0;
    width: 42px;
  }
  .cc-Flow_steps strong {
    font-size: 16px;
    margin-bottom: 0;
  }
  .cc-Flow_steps p {
    -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
    margin-top: 4px;
  }
  .cc-FormSec {
    border-radius: 18px;
    padding: 32px 20px 38px;
  }
}
@media screen and (max-width: 600px) {
  .cc-brSp {
    display: inline;
  }
  .cc-View_title {
    font-size: clamp(26px, 8vw, 34px);
    line-height: 1.48;
  }
  .cc-View_titleChunk {
    display: block;
  }
  /* 緑の装飾円（before）だけスマホでは小さく */
  .cc-Contents::before {
    height: 180px;
    right: -70px;
    width: 180px;
  }
  .cc-View_actions {
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .cc-btn {
    min-width: 0;
    width: 100%;
  }
  .cc-link {
    -webkit-align-self: center;
        -ms-flex-item-align: center;
            align-self: center;
  }
  .cc-Examples_list {
    grid-template-columns: 1fr;
  }
  .cc-opts .wpcf7-form-control {
    grid-template-columns: 1fr;
  }
  .cc-submit .wpcf7-submit {
    width: 100%;
  }
  .cc-FormSec {
    scroll-margin-top: 74px;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  .cc-View_inner,
  .cc-View_illust {
    -webkit-animation: none;
            animation: none;
  }
  .cc-js .js-reveal {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
  }
  .cc-Examples_list li,
  .cc-btn,
  .cc-submit .wpcf7-submit {
    -webkit-transition: none;
    transition: none;
  }
}
.grecaptcha-badge {
  z-index: 2;
}/*# sourceMappingURL=page-consultationcounter.css.map */