@media only screen and (max-width: 768px) {
  .p-form {
    padding-bottom: 15.9090909091vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-form {
    padding-bottom: 110px;
  }
}

.p-form-text {
  line-height: 1.75;
}
@media only screen and (max-width: 768px) {
  .p-form-text {
    font-size: 3.6363636364vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-form-text {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .p-form-text + .p-form-text {
    margin-top: 5.9090909091vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-form-text + .p-form-text {
    margin-top: 26px;
  }
}

@media only screen and (max-width: 768px) {
  .p-form-main {
    margin: 5.9090909091vw -4.5454545455vw 3.6363636364vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-form-main {
    border: 1px solid #ccaeac;
    margin-block: 38px 60px;
  }
}

@media print, screen and (min-width: 769px) {
  .p-form-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.p-form-item:not(:last-child) .p-form-subject {
  border-bottom: 1px solid #fff;
}
.p-form-item:not(:last-child) .p-form-element {
  border-bottom: 1px solid #ccaeac;
}

.p-form-subject {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #ccaeac;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .p-form-subject {
    font-size: 3.6363636364vw;
    height: 10.4545454545vw;
    gap: 2.2727272727vw;
    padding-inline: 4.5454545455vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-form-subject {
    font-size: 1.6rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-inline: 30px 20px;
    width: 287px;
  }
}
@media only screen and (max-width: 768px) {
  .p-form-subject br {
    display: none;
  }
}
.p-form-subject span {
  background: #e50012;
  color: #fff;
  display: -ms-grid;
  display: grid;
  place-content: center;
}
@media only screen and (max-width: 768px) {
  .p-form-subject span {
    font-size: 2.7272727273vw;
    height: 4.5454545455vw;
    width: 8.4090909091vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-form-subject span {
    font-size: 1.2rem;
    height: 20px;
    width: 37px;
  }
}

.p-form-element {
  width: 100%;
}
@media only screen and (max-width: 768px) {
  .p-form-element {
    font-size: 3.1818181818vw;
    padding: 4.5454545455vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-form-element {
    font-size: 1.4rem;
    padding: 30px;
  }
}
.p-form-element input[type=text],
.p-form-element input[type=email] {
  background: #fff;
  -webkit-box-shadow: rgba(93, 113, 165, 0.3) 0 0 8px;
          box-shadow: rgba(93, 113, 165, 0.3) 0 0 8px;
  width: 100%;
}
@media only screen and (max-width: 768px) {
  .p-form-element input[type=text],
  .p-form-element input[type=email] {
    font-size: 3.1818181818vw;
    height: 10.2272727273vw;
    padding-inline: 4.5454545455vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-form-element input[type=text],
  .p-form-element input[type=email] {
    font-size: 1.4rem;
    height: 45px;
    padding-inline: 20px;
  }
}
.p-form-element input[type=text]::-webkit-input-placeholder, .p-form-element input[type=email]::-webkit-input-placeholder {
  color: #99a1af;
}
.p-form-element input[type=text]::-moz-placeholder, .p-form-element input[type=email]::-moz-placeholder {
  color: #99a1af;
}
.p-form-element input[type=text]:-ms-input-placeholder, .p-form-element input[type=email]:-ms-input-placeholder {
  color: #99a1af;
}
.p-form-element input[type=text]::-ms-input-placeholder, .p-form-element input[type=email]::-ms-input-placeholder {
  color: #99a1af;
}
.p-form-element input[type=text]::placeholder,
.p-form-element input[type=email]::placeholder {
  color: #99a1af;
}
.p-form-element.-date {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media only screen and (max-width: 768px) {
  .p-form-element.-date {
    -webkit-column-gap: 2.9545454545vw;
       -moz-column-gap: 2.9545454545vw;
            column-gap: 2.9545454545vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-form-element.-date {
    -webkit-column-gap: 13px;
       -moz-column-gap: 13px;
            column-gap: 13px;
  }
}
@media only screen and (max-width: 768px) {
  .p-form-element.-date input {
    width: 38.6363636364vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-form-element.-date input {
    width: 190px;
  }
}
.p-form-element.-date input[type=hidden] + a {
  display: none;
}
.p-form-element.-date a {
  background: #fff;
  -webkit-box-shadow: rgba(93, 113, 165, 0.3) 0 0 8px;
          box-shadow: rgba(93, 113, 165, 0.3) 0 0 8px;
  display: -ms-grid;
  display: grid;
  place-content: center;
}
@media only screen and (max-width: 768px) {
  .p-form-element.-date a {
    border-radius: 1.8181818182vw;
    height: 8.6363636364vw;
    width: 8.6363636364vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-form-element.-date a {
    border-radius: 8px;
    height: 38px;
    width: 38px;
  }
}
@media only screen and (max-width: 768px) {
  .p-form-element.-date a img {
    height: auto;
    width: 4.0909090909vw;
  }
}
.p-form-element .rdline input {
  display: none;
}
.p-form-element .rdline input:checked + label::after {
  display: block;
}
.p-form-element .rdline label {
  display: block;
  line-height: 2.375;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .p-form-element .rdline label {
    font-size: 3.6363636364vw;
    padding-left: 6.3636363636vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-form-element .rdline label {
    font-size: 1.6rem;
    padding-left: 28px;
  }
}
.p-form-element .rdline label::before {
  background: #fff;
  border-radius: 100%;
  border: 1px solid #99a1af;
  -webkit-box-shadow: rgba(206, 111, 111, 0.3) 0 0 8px;
          box-shadow: rgba(206, 111, 111, 0.3) 0 0 8px;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
}
@media only screen and (max-width: 768px) {
  .p-form-element .rdline label::before {
    height: 5vw;
    width: 5vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-form-element .rdline label::before {
    height: 22px;
    width: 22px;
  }
}
.p-form-element .rdline label::after {
  background: #ce3c1a;
  border-radius: 100%;
  content: "";
  display: none;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
}
@media only screen and (max-width: 768px) {
  .p-form-element .rdline label::after {
    height: 3.6363636364vw;
    left: 0.6818181818vw;
    width: 3.6363636364vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-form-element .rdline label::after {
    height: 16px;
    left: 3px;
    width: 16px;
  }
}
.p-form-element select {
  background: #fff url("/rouge/_assets/plan/form/img/icon-select.svg") no-repeat right 14px center/13px auto;
  -webkit-box-shadow: rgba(93, 113, 165, 0.3) 0 0 8px;
          box-shadow: rgba(93, 113, 165, 0.3) 0 0 8px;
}
@media only screen and (max-width: 768px) {
  .p-form-element select {
    font-size: 3.1818181818vw;
    height: 10.2272727273vw;
    padding-inline: 4.5454545455vw;
    width: 43.1818181818vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-form-element select {
    font-size: 1.4rem;
    height: 45px;
    padding-inline: 20px;
    width: 190px;
  }
}
.p-form-element textarea {
  background: #fff;
  -webkit-box-shadow: rgba(93, 113, 165, 0.3) 0 0 8px;
          box-shadow: rgba(93, 113, 165, 0.3) 0 0 8px;
  width: 100%;
}
@media only screen and (max-width: 768px) {
  .p-form-element textarea {
    font-size: 3.1818181818vw;
    height: 46.1363636364vw;
    padding-inline: 4.5454545455vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-form-element textarea {
    font-size: 1.4rem;
    height: 203px;
    padding-inline: 20px;
  }
}
.p-form-element .p-form-error {
  color: #e50012;
  width: 100%;
}
@media only screen and (max-width: 768px) {
  .p-form-element .p-form-error {
    font-size: 3.1818181818vw;
    margin-top: 1.5909090909vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-form-element .p-form-error {
    font-size: 1.4rem;
    margin-top: 7px;
  }
}

.flatpickr-calendar {
  -webkit-box-shadow: rgba(93, 113, 165, 0.3) 0 0 12px;
          box-shadow: rgba(93, 113, 165, 0.3) 0 0 12px;
  border-radius: 8px;
  font-family: inherit;
}

.flatpickr-day.selected, .flatpickr-day.selected:hover {
  background: #ccaeac;
  border-color: #ccaeac;
}
.flatpickr-day:hover {
  background: rgba(204, 174, 172, 0.2);
  border-color: transparent;
}
.flatpickr-day.today {
  border-color: #ccaeac;
}
.flatpickr-day.today:hover {
  background: rgba(204, 174, 172, 0.2);
}

.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
  fill: #ccaeac;
}

.flatpickr-current-month .flatpickr-monthDropdown-months:hover,
.numInputWrapper:hover {
  background: rgba(204, 174, 172, 0.1);
}

.p-form-submit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media only screen and (max-width: 768px) {
  .p-form-submit {
    gap: 2.2727272727vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-form-submit {
    gap: 10px;
  }
}
.p-form-submit input {
  background: #333;
  color: #fff;
  display: -ms-grid;
  display: grid;
  font-weight: bold;
  place-content: center;
}
@media only screen and (max-width: 768px) {
  .p-form-submit input {
    font-size: 3.8636363636vw;
    height: 13.6363636364vw;
    width: 72.7272727273vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-form-submit input {
    font-size: 1.7rem;
    height: 60px;
    width: 388px;
  }
}