/* Start custom CSS for html, class: .elementor-element-a12820e *//* ============================================================
   CREATIVE KAIWAI / CONTACT FORM 7 / COMPLETE v3
   2-column stable / Elementor / CF7
============================================================ */

.kaiwai-entry,
.kaiwai-entry *{
  box-sizing:border-box;
}

.kaiwai-entry{
  width:100%;
  color:#161616;
  font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",YuGothic,"Noto Sans JP",sans-serif;
}

/* ---------- HEADER ---------- */

.kaiwai-entry__head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);
  gap:60px;
  align-items:end;
  padding-bottom:34px;
  border-bottom:1px solid #999;
}

.kaiwai-entry__kicker{
  margin:0 0 12px!important;
  color:#f20d18!important;
  -webkit-text-fill-color:#f20d18!important;
  font:italic 900 10px/1 Arial,sans-serif;
  letter-spacing:.16em;
}

.kaiwai-entry__head h3{
  margin:0!important;
  color:#111!important;
  -webkit-text-fill-color:#111!important;
  font-size:clamp(32px,3vw,46px)!important;
  font-weight:900!important;
  line-height:1.05!important;
  letter-spacing:-.055em!important;
}

.kaiwai-entry__intro{
  margin:0!important;
  color:#444!important;
  -webkit-text-fill-color:#444!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.9!important;
}

/* ---------- SECTIONS ---------- */

.kaiwai-entry__section{
  padding:38px 0 10px;
}

.kaiwai-entry__section + .kaiwai-entry__section{
  margin-top:16px;
}

.kaiwai-entry__section-head{
  display:flex;
  align-items:center;
  gap:14px;
  min-height:48px;
  margin-bottom:28px;
  padding-bottom:12px;
  border-bottom:1px solid #999;
}

.kaiwai-entry__num{
  flex:0 0 auto;
  color:#f20d18!important;
  -webkit-text-fill-color:#f20d18!important;
  font:italic 900 28px/1 Arial Black,Arial,sans-serif;
  letter-spacing:-.06em;
}

.kaiwai-entry__en{
  flex:0 0 auto;
  padding:7px 10px 6px;
  background:#111;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font:italic 900 9px/1 Arial,sans-serif;
  letter-spacing:.08em;
}

.kaiwai-entry__section-head h4{
  margin:0!important;
  color:#111!important;
  -webkit-text-fill-color:#111!important;
  font-size:16px!important;
  font-weight:900!important;
  line-height:1.4!important;
}

/* ============================================================
   GRID
   Default = 1 column. Desktop only becomes 2 / 3 columns.
============================================================ */

.kaiwai-entry__grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:22px!important;
  align-items:start!important;
  width:100%!important;
  min-width:0!important;
}

/* CF7 / WordPress may insert empty p or br. Never let them become grid cells. */
.kaiwai-entry__grid > p:empty,
.kaiwai-entry__grid > br{
  display:none!important;
}

.kaiwai-entry__grid > .kaiwai-entry__field{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  grid-column:auto!important;
  grid-row:auto!important;
}

@media(min-width:768px){
  .kaiwai-entry__grid--2{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .kaiwai-entry__grid--3{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

/* ---------- FIELD ---------- */

.kaiwai-entry__field{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0 0 24px!important;
  padding:0!important;
  text-align:left!important;
}

.kaiwai-entry__grid .kaiwai-entry__field{
  margin-bottom:0!important;
}

.kaiwai-entry__field-title{
  display:block!important;
  width:100%!important;
  margin:0 0 9px!important;
  padding:0!important;
  color:#222!important;
  -webkit-text-fill-color:#222!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1.5!important;
  text-align:left!important;
}

.kaiwai-entry__field-title b{
  margin-left:6px;
  color:#f20d18!important;
  -webkit-text-fill-color:#f20d18!important;
  font-size:10px;
  font-style:normal;
  font-weight:900;
}

.kaiwai-entry__field-title em{
  margin-left:6px;
  color:#777!important;
  -webkit-text-fill-color:#777!important;
  font-size:10px;
  font-style:normal;
  font-weight:800;
}

/* Neutralize automatic paragraph formatting inside fields. */
.kaiwai-entry__field p{
  margin:0!important;
  padding:0!important;
}

.kaiwai-entry__field .wpcf7-form-control-wrap,
.kaiwai-entry .wpcf7-form-control-wrap{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
}

.kaiwai-entry input[type="text"],
.kaiwai-entry input[type="email"],
.kaiwai-entry input[type="url"],
.kaiwai-entry input[type="tel"],
.kaiwai-entry select,
.kaiwai-entry textarea{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  border:1px solid #d4d0c9!important;
  border-radius:2px!important;
  outline:none!important;
  background:#f7f5f1!important;
  color:#111!important;
  -webkit-text-fill-color:#111!important;
  box-shadow:none!important;
  font-family:inherit!important;
  font-size:14px!important;
  font-weight:700!important;
  text-align:left!important;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;
}

.kaiwai-entry input[type="text"],
.kaiwai-entry input[type="email"],
.kaiwai-entry input[type="url"],
.kaiwai-entry input[type="tel"],
.kaiwai-entry select{
  height:54px!important;
  padding:0 16px!important;
}

.kaiwai-entry textarea{
  min-height:130px!important;
  padding:16px!important;
  resize:vertical;
  line-height:1.8!important;
}

.kaiwai-entry input::placeholder,
.kaiwai-entry textarea::placeholder{
  color:#aaa!important;
  -webkit-text-fill-color:#aaa!important;
  opacity:1!important;
  font-weight:600!important;
}

.kaiwai-entry input:focus,
.kaiwai-entry select:focus,
.kaiwai-entry textarea:focus{
  border-color:#f20d18!important;
  background:#fff!important;
  box-shadow:0 0 0 2px rgba(242,13,24,.08)!important;
}

/* ---------- ATTITUDE ---------- */

.kaiwai-entry__policy{
  color:#333!important;
  -webkit-text-fill-color:#333!important;
  font-size:13px;
  font-weight:700;
  line-height:1.9;
}

.kaiwai-entry__policy p{
  margin:0 0 12px!important;
}

/* ---------- CONFIRMATION ---------- */

.kaiwai-entry__confirm{
  color:#111;
}

.kaiwai-entry__notice{
  padding:24px 26px;
  border-left:5px solid #f20d18;
  background:#f3f0ea;
}

.kaiwai-entry__notice-title{
  margin:0 0 15px!important;
  color:#111!important;
  -webkit-text-fill-color:#111!important;
  font-size:15px!important;
  font-weight:900!important;
  line-height:1.6!important;
}

.kaiwai-entry__confirm-list{
  margin:0!important;
  padding:0 0 0 20px!important;
  color:#444!important;
}

.kaiwai-entry__confirm-list li{
  margin:0 0 9px!important;
  padding-left:3px!important;
  color:#444!important;
  -webkit-text-fill-color:#444!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.85!important;
}

.kaiwai-entry__confirm-list li:last-child{
  margin-bottom:0!important;
}

/* ---------- ACCEPTANCE ---------- */

.kaiwai-entry__acceptance{
  display:block!important;
  width:100%!important;
  margin-top:24px!important;
  padding:20px!important;
  border:1px solid #c9c4bc!important;
  background:#fff!important;
}

.kaiwai-entry__acceptance .wpcf7-form-control-wrap,
.kaiwai-entry__acceptance .wpcf7-acceptance,
.kaiwai-entry__acceptance .wpcf7-list-item{
  display:block!important;
  width:100%!important;
  margin:0!important;
}

.kaiwai-entry__acceptance label{
  position:relative;
  z-index:2;
  display:flex!important;
  align-items:flex-start!important;
  gap:12px!important;
  width:100%!important;
  margin:0!important;
  padding:16px 18px!important;
  border:1px solid #d2cec7!important;
  background:#f7f5f1!important;
  cursor:pointer!important;
  user-select:none;
}

.kaiwai-entry__acceptance label:hover{
  border-color:#111!important;
  background:#fff!important;
}

.kaiwai-entry__acceptance input[type="checkbox"]{
  position:static!important;
  display:block!important;
  appearance:auto!important;
  -webkit-appearance:checkbox!important;
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  max-width:20px!important;
  flex:0 0 20px!important;
  margin:3px 0 0!important;
  padding:0!important;
  opacity:1!important;
  visibility:visible!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  accent-color:#f20d18!important;
}

.kaiwai-entry__acceptance .wpcf7-list-item-label{
  display:block!important;
  flex:1!important;
  color:#111!important;
  -webkit-text-fill-color:#111!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1.7!important;
  cursor:pointer!important;
}

.kaiwai-entry__acceptance label:has(input[type="checkbox"]:checked){
  border-color:#f20d18!important;
  background:#fff5f5!important;
}

.kaiwai-entry__acceptance > b{
  display:inline-block;
  margin-top:8px;
  color:#f20d18!important;
  -webkit-text-fill-color:#f20d18!important;
  font-size:10px;
  font-weight:900;
}

/* ---------- PHOTO / VIDEO ---------- */

.kaiwai-entry__media-policy{
  margin-top:30px;
  padding-top:28px;
  border-top:1px solid #bbb;
}

.kaiwai-entry__media-title{
  margin:0!important;
  color:#111!important;
  -webkit-text-fill-color:#111!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1.7!important;
}

.kaiwai-entry__media-title b{
  margin-left:6px;
  color:#f20d18!important;
  -webkit-text-fill-color:#f20d18!important;
  font-size:10px;
}

.kaiwai-entry__media-copy{
  margin:9px 0 18px!important;
  color:#666!important;
  -webkit-text-fill-color:#666!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.85!important;
}

.kaiwai-entry__choice-group{
  margin-top:14px;
}

.kaiwai-entry__choice-group .wpcf7-form-control-wrap,
.kaiwai-entry__choice-group .wpcf7-radio{
  display:block!important;
  width:100%!important;
}

.kaiwai-entry__choice-group .wpcf7-list-item{
  display:block!important;
  width:100%!important;
  margin:0 0 9px!important;
}

.kaiwai-entry__choice-group .wpcf7-list-item:last-child{
  margin-bottom:0!important;
}

.kaiwai-entry__choice-group label{
  display:flex!important;
  align-items:flex-start!important;
  gap:12px!important;
  width:100%!important;
  margin:0!important;
  padding:15px 16px!important;
  border:1px solid #cbc7c0!important;
  background:#f7f5f1!important;
  color:#111!important;
  cursor:pointer!important;
}

.kaiwai-entry__choice-group input[type="radio"]{
  appearance:auto!important;
  -webkit-appearance:radio!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  max-width:18px!important;
  flex:0 0 18px!important;
  margin:2px 0 0!important;
  padding:0!important;
  accent-color:#f20d18!important;
  cursor:pointer!important;
}

.kaiwai-entry__choice-group .wpcf7-list-item-label{
  color:#222!important;
  -webkit-text-fill-color:#222!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1.7!important;
}

.kaiwai-entry__media-note{
  margin:12px 0 0!important;
  color:#888!important;
  -webkit-text-fill-color:#888!important;
  font-size:10px!important;
  line-height:1.7!important;
}

/* ---------- SUBMIT ---------- */

.kaiwai-entry__submit{
  margin-top:34px;
  text-align:center;
}

.kaiwai-entry input[type="submit"]{
  width:100%!important;
  min-height:66px!important;
  margin:0!important;
  padding:0 30px!important;
  border:0!important;
  border-radius:2px!important;
  background:#080808!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  box-shadow:0 8px 24px rgba(0,0,0,.14)!important;
  font-family:inherit!important;
  font-size:15px!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
  cursor:pointer!important;
  transition:transform .2s ease,background .2s ease!important;
}

.kaiwai-entry input[type="submit"]:hover{
  transform:translateY(-2px);
  background:#f20d18!important;
}

.kaiwai-entry__submit p{
  margin:16px 0 0!important;
  color:#999!important;
  -webkit-text-fill-color:#999!important;
  font-size:10px!important;
  font-weight:700!important;
}

/* ---------- CF7 ERROR / MESSAGE ---------- */

.kaiwai-entry .wpcf7-not-valid-tip{
  margin-top:6px;
  color:#f20d18!important;
  -webkit-text-fill-color:#f20d18!important;
  font-size:10px!important;
  font-weight:900!important;
}

.kaiwai-entry + .wpcf7-response-output,
.kaiwai-entry .wpcf7-response-output,
.wpcf7 form .wpcf7-response-output{
  margin:24px 0 0!important;
  padding:16px 18px!important;
  border:1px solid #111!important;
  color:#111!important;
  -webkit-text-fill-color:#111!important;
  font-size:12px!important;
  font-weight:800!important;
}

.wpcf7 form.sent .wpcf7-response-output{
  border-color:#f20d18!important;
}

/* ============================================================
   MOBILE
============================================================ */

@media(max-width:767px){

  .kaiwai-entry__head{
    grid-template-columns:1fr;
    gap:18px;
    padding-bottom:24px;
  }

  .kaiwai-entry__head h3{
    font-size:30px!important;
  }

  .kaiwai-entry__intro{
    font-size:12px!important;
  }

  .kaiwai-entry__section{
    padding-top:30px;
  }

  .kaiwai-entry__section-head{
    display:grid;
    grid-template-columns:auto auto minmax(0,1fr);
    gap:9px;
    align-items:center;
    margin-bottom:20px;
  }

  .kaiwai-entry__num{
    font-size:24px;
  }

  .kaiwai-entry__en{
    padding:6px 8px 5px;
    font-size:8px;
  }

  .kaiwai-entry__section-head h4{
    min-width:0;
    font-size:13px!important;
    line-height:1.5!important;
  }

  .kaiwai-entry__grid--2,
  .kaiwai-entry__grid--3{
    grid-template-columns:1fr!important;
    gap:0!important;
  }

  .kaiwai-entry__grid .kaiwai-entry__field,
  .kaiwai-entry__field{
    margin-bottom:20px!important;
  }

  .kaiwai-entry input[type="text"],
  .kaiwai-entry input[type="email"],
  .kaiwai-entry input[type="url"],
  .kaiwai-entry input[type="tel"],
  .kaiwai-entry select{
    height:52px!important;
    font-size:16px!important;
  }

  .kaiwai-entry textarea{
    font-size:16px!important;
  }

  .kaiwai-entry__policy{
    font-size:12px;
  }

  .kaiwai-entry__notice{
    padding:20px 17px;
  }

  .kaiwai-entry__confirm-list{
    padding-left:18px!important;
  }

  .kaiwai-entry__confirm-list li{
    font-size:11px!important;
  }

  .kaiwai-entry__acceptance{
    padding:17px 15px!important;
  }

  .kaiwai-entry__acceptance label{
    gap:10px!important;
    padding:15px 14px!important;
  }

  .kaiwai-entry__acceptance input[type="checkbox"]{
    width:22px!important;
    height:22px!important;
    min-width:22px!important;
    max-width:22px!important;
    flex:0 0 22px!important;
  }

  .kaiwai-entry__acceptance .wpcf7-list-item-label{
    font-size:12px!important;
  }

  .kaiwai-entry__choice-group label{
    padding:14px!important;
  }

  .kaiwai-entry input[type="submit"]{
    min-height:60px!important;
    font-size:13px!important;
  }
}
/* =========================================
   TEXTAREA TOP SPACE
========================================= */

.kaiwai-entry__field--spaced{
  margin-top:24px!important;
}

@media(max-width:767px){
  .kaiwai-entry__field--spaced{
    margin-top:18px!important;
  }
}
.kce-cityvote-card{
  padding-bottom:20px!important;
}

.kce-cityvote-card .kaiwai-cityvote__submit{
  margin-bottom:0!important;
}

.kce-cityvote-card .wpcf7-submit{
  margin-bottom:0!important;
}

.kce-cityvote-card form{
  margin-bottom:0!important;
}/* End custom CSS */