.page-id-7641 main {
   overflow: visible;
}

.mailform {
   background-color: #e5e4e2;
   position: relative;
}

.mailform .wrap {
   z-index: 1;
}

.mailform .box-apply {
   background: url("../img/shared/bg-pattern-03.jpg") repeat center top;
   position: relative;
   box-sizing: border-box;
   box-shadow: 0 0 13px rgba(0, 0, 0, 0.18);
}

.mailform .box-apply:before {
   content: '';
   width: 100%;
   height: 15px;
   background: url("../img/shared/bg-pattern-01.jpg") repeat center top;
   position: absolute;
   top: 0;
   left: 0;
}

.mailform .box-apply>* {
   letter-spacing: 0.14em;
}

.mailform .process-bar {
   width: 100%;
   height: 100%;
   background: url("../img/shared/bg-pattern-02.jpg") repeat center top;
   border-radius: 20px;
   overflow: hidden;
}

.mailform .process-fill {
   display: block;
   background: url("../img/shared/bg-pattern-01.jpg") repeat center top;
   width: 0%;
   height: 100%;
   transition: all 0.3s;
}

.mailform .wpcf7 .wpcf7-form-control-wrap {
   display: block;
}

.mailform .wpcf7 ::-webkit-input-placeholder {
   color: rgba(37, 54, 65, 0.35);
}

.mailform .wpcf7 ::-moz-placeholder {
   color: rgba(37, 54, 65, 0.35);
}

.mailform .wpcf7 :-ms-input-placeholder {
   color: rgba(37, 54, 65, 0.35);
}

.mailform .wpcf7 :-moz-placeholder {
   color: rgba(37, 54, 65, 0.35);
}

.mailform .wpcf7 input:not([type="checkbox"], [type="radio"]),
.mailform .wpcf7 textarea,
.mailform .wpcf7 select {
   display: block;
   width: 100%;
   background-color: #fff;
   border: 1px solid #a4a4a4;
   border-radius: 6px;
   outline: none;
   box-sizing: border-box;
   padding: 5px 20px;
   font-weight: 500;
   line-height: 30px;
}

.mailform .wpcf7 input:not([type="checkbox"], [type="radio"]),
.mailform .wpcf7 textarea {
   -webkit-appearance: none;
   -moz-appearance: none;
}

.mailform .wpcf7 select {
   height: 42px;
}

.mailform .wpcf7 textarea {
   height: 144px;
   resize: vertical;
}

.mailform .wpcf7 .haveto,
.mailform .wpcf7 .any {
   display: block;
   background-color: #b32e2e;
   color: #fff;
   border-radius: 6px;
   text-align: center;
}

.mailform .wpcf7 .any {
   background-color: #2f7ea0;
}

.mailform .wpcf7-radio {
   display: flex;
   flex-wrap: wrap;
   gap: 10px 20px;
   width: auto;
}

.mailform .wpcf7-radio span,
.mailform .wpcf7-radio label {
   display: block;
}

.mailform .wpcf7-radio label {
   cursor: pointer;
}

.mailform .wpcf7-radio input {
   display: none;
}

.mailform .wpcf7-radio .wpcf7-list-item-label {
   display: inline-grid;
   grid-template-columns: 20px 1fr;
   align-items: flex-start;
   gap: 8px;
   cursor: pointer;
}

.mailform .wpcf7-radio .wpcf7-list-item-label:before,
.mailform .wpcf7-radio .wpcf7-list-item-label:after {
   content: '';
   grid-area: 1/1;
   margin: auto;
   border-radius: 50%;
   border: 1px solid #a4a4a4;
   background-color: #fff;
   width: 18px;
   height: 18px;
}

.mailform .wpcf7-radio .wpcf7-list-item-label:after {
   width: 14px;
   height: 14px;
   background-color: #2f7ea0;
   display: none;
}

.mailform .wpcf7-radio input:checked+.wpcf7-list-item-label:before {
   border-color: #2f7ea0;
}

.mailform .wpcf7-radio input:checked+.wpcf7-list-item-label:after {
   display: block;
}

.wpcf7 .wpcf7-form-control-wrap .wpcf7-list-item {
   margin: 0;
}

.mailform .wpcf7-radio .wpcf7-not-valid-tip {
   font-size: 13px;
   line-height: 22px;
   color: #E50012;
}

@media only screen and (max-width: 767px) {
   .mailform {
      padding: 15vw 0;
   }

   .mailform .box-apply {
      padding: 16vw 4vw 12vw;
   }

   .mailform .box-apply h3 {
      font-weight: 500;
      font-size: 5vw;
      line-height: 1.5;
   }

   .mailform .box-apply h3:before,
   .mailform .box-apply h3:after {
      content: '';
      display: inline-block;
      width: 0;
      height: 5vw;
      border-left: 1px solid;
      vertical-align: middle;
      position: relative;
   }

   .mailform .box-apply h3:before {
      transform: rotate(-35deg);
      margin-right: 3vw;
   }

   .mailform .box-apply h3:after {
      transform: rotate(35deg);
      margin-left: 3vw;
   }

   .mailform .box-apply h2 {
      font-weight: 500;
      font-size: 6vw;
      line-height: 2;
      padding-top: 4vw;
   }

   .mailform .box-apply h2 strong {
      font-weight: 700;
      font-style: italic;
      font-size: 8vw;
      line-height: 1.5;
      border-bottom: 4px solid #033f62;
   }

   .mailform .box-apply .txt {
      font-size: 4vw;
      line-height: 2;
      padding-top: 4vw;
   }

   .mailform .process {
      width: 100%;
      height: 4vw;
      margin: 12vw auto 8vw;
      position: sticky;
      top: 2vw;
      z-index: 1;
   }

   .mailform .wpcf7 .wpcf7-radio {
      width: 40vw;
   }

   .mailform .wpcf7 .haveto,
   .mailform .wpcf7 .any {
      width: 40px;
      font-size: 12px;
      line-height: 20px;
   }

   .mailform .wpcf7 h3 {
      font-weight: 700;
      font-size: 6vw;
      letter-spacing: 0.14em;
      line-height: 2;
      padding-bottom: 4vw;
   }

   .mailform .wpcf7 h3:not(:first-of-type) {
      padding-top: 8vw;
   }

   .mailform .wpcf7 dl {
      border-bottom: 1px solid rgba(164, 164, 164, 0.4);
      margin-bottom: 6vw;
      padding-bottom: 6vw;
   }

   .mailform .wpcf7 dl dt {
      font-size: 15px;
      letter-spacing: 0.14em;
      position: relative;
   }

   .mailform .wpcf7 dl dt>p {
      display: grid;
      grid-template-columns: 40px 1fr;
      align-items: center;
      gap: 10px;
   }

   .mailform .wpcf7 dl dd {
      letter-spacing: 0.14em;
      padding-top: 10px;
   }

   .mailform .wpcf7 dl dd br {
      display: none;
   }

   .mailform .wpcf7 dl:has([data-name="number-7"]) dd>p {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 10px;
   }

   .mailform .wpcf7 dl:has([data-name="license_number"]) dd>p {
      display: grid;
      grid-template-columns: auto 1fr auto;
      gap: 10px;
   }

   .mailform .wpcf7 dl:has([data-name*="zip"]) dd p:first-child {
      display: grid;
      grid-template-columns: auto 1fr;
      align-items: center;
      gap: 10px;
   }

   .mailform .wpcf7 dl:has([data-name*="zip"]) dd p:not(:last-child) {
      padding-bottom: 14px;
   }

   .mailform .wpcf7 dl:has([data-name*="zip"]) dd p:not(:last-child) .wpcf7-form-control-wrap {
      width: 40vw;
   }

   .mailform .wpcf7 dl:has([data-name="radio-386"], [data-name="radio-595"]) dd {
      position: relative;
   }

   .mailform .wpcf7 dl:has([data-name="radio-386"], [data-name="radio-595"]) .wpcf7-radio {
      width: auto;
   }

   .mailform .wpcf7 dl:has([data-name="radio-386"], [data-name="radio-595"]) .wpcf7-radio .wpcf7-list-item:last-child {
      width: 100%;
   }

   .mailform .wpcf7 dl:has([data-name="quiz-62"]) {
      display: block;
   }

   .mailform .wpcf7 dl:has([data-name="quiz-62"]) .wpcf7-quiz-label {
      display: block;
      padding-bottom: 10px;
   }

   .mailform .wpcf7 .dl1 dd>p {
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      gap: 10px;
   }

   .mailform .wpcf7 .dl1 .wpcf7-radio {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      width: 40vw;
   }

   .mailform .wpcf7 .dl1 .wpcf7-form-control-wrap:first-child {
      width: 100%;
   }

   .mailform .wpcf7 .dl1 .wpcf7-form-control-wrap:not(:first-child) {
      width: 20vw;
   }

   .mailform .wpcf7 .dl2 dd>p {
      display: grid;
      grid-template-columns: auto 1fr auto;
      align-items: center;
      gap: 10px;
   }

   .mailform .wpcf7 .dl3 dd>p {
      display: grid;
      grid-template-columns: 1fr auto;
      align-items: center;
      gap: 10px;
   }

   .mailform .wpcf7 .box-pp {
      background: url("../img/shared/bg-pattern-03.jpg") repeat center top;
      margin: 8vw auto 0;
      padding: 6vw 4vw;
      box-sizing: border-box;
      text-align: center;
      letter-spacing: 0.14em;
   }

   .mailform .wpcf7 .box-pp a {
      border-bottom: 1px solid;
   }

   .mailform .wpcf7 .box-pp a:hover {
      border-bottom-color: transparent;
   }

   .mailform .wpcf7 .box-pp p:has(.wpcf7-form-control-wrap) {
      display: inline-block;
      font-weight: 500;
      font-size: 16px;
      line-height: 24px;
      letter-spacing: 0.01em;
      position: relative;
      margin-top: 2vw;
      padding-left: 35px;
   }

   .mailform .wpcf7 .box-pp .wpcf7-form-control-wrap {
      display: block;
      position: absolute;
      top: 2px;
      left: 0;
   }

   .mailform .wpcf7 .box-pp .wpcf7-form-control-wrap .wpcf7-list-item {
      display: block;
   }

   .mailform .wpcf7 .box-pp .wpcf7-form-control-wrap input {
      display: block;
      width: 26px;
      height: 26px;
      border: 1px solid #a4a4a4;
      background-color: #fff;
      border-radius: 6px;
      cursor: pointer;
   }

   .mailform .wpcf7 .wpcf7-spinner {
      display: none;
   }

   .mailform .wpcf7 p:has(.soushinbtn) {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 92vw;
      height: 17.3vw;
      background: url("../img/shared/bg-pattern-01.jpg") repeat center top;
      color: #fff;
      font-weight: 500;
      font-size: 4.8vw;
      line-height: 1.5;
      letter-spacing: 0.1em;
      border-radius: 50px;
      margin: 8vw auto 0;
      position: relative;
      cursor: pointer;
      transition: all 0.3s;
   }

   .mailform .wpcf7 p:has(.soushinbtn):after {
      content: '';
      width: 5vw;
      height: 5vw;
      background: url("../img/shared/btn-arrow.png") no-repeat center top/cover;
      position: absolute;
      top: 50%;
      right: 6.4vw;
      transform: translate(0, -50%);
   }

   .mailform .wpcf7 p:has(.soushinbtn) input {
      width: 100%;
      height: 100%;
      border: 0;
      background-color: transparent !important;
      border: 0 !important;
      color: #fff;
      cursor: pointer;
   }
}

@media only screen and (min-width: 768px) {
   .mailform {
      padding: 94px 0 150px;
   }

   .mailform .box-apply {
      width: 737px;
      margin: 0 auto;
      padding: 95px 0 72px;
   }

   .mailform .box-apply h3 {
      font-weight: 500;
      font-size: 33px;
      line-height: 51px;
   }

   .mailform .box-apply h3:before,
   .mailform .box-apply h3:after {
      content: '';
      display: inline-block;
      width: 0;
      height: 40px;
      border-left: 1px solid;
      vertical-align: middle;
      position: relative;
   }

   .mailform .box-apply h3:before {
      transform: rotate(-35deg);
      margin-right: 15px;
   }

   .mailform .box-apply h3:after {
      transform: rotate(35deg);
      margin-left: 15px;
   }

   .mailform .box-apply h2 {
      font-weight: 500;
      font-size: 40px;
      line-height: 48px;
      padding-top: 20px;
   }

   .mailform .box-apply h2 strong {
      font-weight: 700;
      font-style: italic;
      font-size: 50px;
      border-bottom: 4px solid #033f62;
   }

   .mailform .box-apply .txt {
      font-size: 21px;
      line-height: 50px;
      padding-top: 50px;
   }

   .mailform .process {
      width: 952px;
      height: 19px;
      margin: 105px auto 80px;
      position: sticky;
      top: 120px;
      z-index: 1;
   }

   .wpcf7 {
      width: 952px;
      margin: 0 auto;
   }

   .wpcf7 .wpcf7-form-control-wrap:has(select) {
      width: 340px;
   }

   .wpcf7 .haveto,
   .wpcf7 .any {
      width: 52px;
      font-size: 16px;
      line-height: 26px;
      position: absolute;
      top: 7px;
      left: 3px;
   }

   .wpcf7 h3 {
      font-weight: 700;
      font-size: 28px;
      letter-spacing: 0.14em;
      line-height: 50px;
      padding-bottom: 38px;
   }

   .wpcf7 h3:not(:first-of-type) {
      padding-top: 60px;
   }

   .wpcf7 dl {
      display: grid;
      grid-template-columns: 322px 1fr;
      border-bottom: 1px solid rgba(164, 164, 164, 0.4);
      margin-bottom: 22px;
      padding-bottom: 22px;
   }

   .wpcf7 dl dt {
      font-size: 18px;
      letter-spacing: 0.14em;
      position: relative;
      padding: 3px 0 0 83px;
   }

   .wpcf7 dl dd {
      font-size: 17px;
      letter-spacing: 0.14em;
      padding-right: 6px;
   }

   .wpcf7 dl dd br {
      display: none;
   }

   .wpcf7 dl:has([data-name="number-7"]) dd>p {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 10px;
   }

   .wpcf7 dl:has([data-name="license_number"]) dd>p {
      display: grid;
      grid-template-columns: auto 1fr auto;
      gap: 10px;
   }

   .wpcf7 dl:has([data-name*="zip"]) dd p:first-child {
      display: grid;
      grid-template-columns: auto 1fr;
      align-items: center;
      gap: 10px;
   }

   .wpcf7 dl:has([data-name*="zip"]) dd p:not(:last-child) {
      padding-bottom: 14px;
   }

   .wpcf7 dl:has([data-name*="zip"]) dd p:not(:last-child) .wpcf7-form-control-wrap {
      width: 190px;
   }

   .wpcf7 dl:has([data-name="radio-386"], [data-name="radio-595"]) dd {
      position: relative;
   }

   .wpcf7 dl:has([data-name="radio-386"], [data-name="radio-595"]) .wpcf7-radio {
      display: flex;
      flex-wrap: wrap;
      gap: 10px 20px;
      width: auto;
   }

   .wpcf7 dl:has([data-name="radio-386"], [data-name="radio-595"]) .wpcf7-radio .wpcf7-list-item:last-child {
      width: 100%;
   }

   .wpcf7 dl:has([data-name="radio-386"], [data-name="radio-595"]) .wpcf7-free-text {
      width: 332px;
      position: absolute;
      bottom: 0;
      left: 300px;
   }

   .wpcf7 dl:has([data-name="quiz-62"]) {
      display: block;
   }

   .wpcf7 dl:has([data-name="quiz-62"]) .wpcf7-quiz-label {
      display: block;
      padding-bottom: 10px;
   }

   .wpcf7 .dl1 dd>p {
      display: flex;
      align-items: center;
      gap: 10px;
   }

   .wpcf7 .dl1 .wpcf7-form-control-wrap:first-child {
      flex: 1 0 0;
   }

   .wpcf7 .dl1 .wpcf7-form-control-wrap:not(:first-child) {
      flex: 0 0 80px;
   }

   .wpcf7 .dl1 .wpcf7-radio {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      width: 190px;
   }

   .wpcf7 .dl2 dd>p {
      display: grid;
      grid-template-columns: auto 1fr auto auto 1fr auto;
      align-items: center;
      gap: 10px;
   }

   .wpcf7 .dl3 dd>p {
      display: grid;
      grid-template-columns: 170px auto;
      align-items: center;
      gap: 10px;
   }

   .wpcf7 [data-name="your-tel"],
   .wpcf7 [data-name="emp-tel"] {
      width: 340px;
   }

   .wpcf7 .box-pp {
      width: 823px;
      background: url("../img/shared/bg-pattern-03.jpg") repeat center top;
      margin: 60px auto 0;
      padding: 50px 20px;
      box-sizing: border-box;
      text-align: center;
      letter-spacing: 0.14em;
   }

   .wpcf7 .box-pp a {
      border-bottom: 1px solid;
   }

   .wpcf7 .box-pp a:hover {
      border-bottom-color: transparent;
   }

   .wpcf7 .box-pp p:has(.wpcf7-form-control-wrap) {
      display: inline-block;
      font-weight: 500;
      font-size: 20px;
      line-height: 30px;
      letter-spacing: 0.01em;
      position: relative;
      margin-top: 30px;
      padding-left: 35px;
   }

   .wpcf7 .box-pp .wpcf7-form-control-wrap {
      display: block;
      position: absolute;
      top: 2px;
      left: 0;
   }

   .wpcf7 .box-pp .wpcf7-form-control-wrap .wpcf7-list-item {
      display: block;
   }

   .wpcf7 .box-pp .wpcf7-form-control-wrap input {
      display: block;
      width: 26px;
      height: 26px;
      border: 1px solid #a4a4a4;
      background-color: #fff;
      border-radius: 6px;
      cursor: pointer;
   }

   .wpcf7 .wpcf7-spinner {
      display: none;
   }

   .wpcf7 p:has(.soushinbtn) {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 370px;
      height: 68px;
      background: url("../img/shared/bg-pattern-01.jpg") repeat center top;
      color: #fff;
      font-weight: 500;
      font-size: 19px;
      line-height: 32px;
      letter-spacing: 0.1em;
      border-radius: 50px;
      margin: 60px auto 0;
      position: relative;
      cursor: pointer;
      transition: all 0.3s;
   }

   .wpcf7 p:has(.soushinbtn):after {
      content: '';
      width: 28px;
      height: 28px;
      background: url("../img/shared/btn-arrow.png") no-repeat center top/cover;
      position: absolute;
      top: 50%;
      right: 28px;
      transform: translate(0, -50%);
      transition: all 0.3s;
   }

   .wpcf7 p:has(.soushinbtn) input {
      width: 100%;
      height: 100%;
      border: 0;
      background-color: transparent !important;
      border: 0 !important;
      color: #fff;
      cursor: pointer;
   }

   .wpcf7 p:has(.soushinbtn):hover:after {
      transform: translate(5px, -50%);
   }
}

.remodal {
   background-color: #fff;
}

.remodal .close {
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
}

@media only screen and (max-width: 767px) {
   button.remodal-close {
      background: url("../img/shared/fixed-btn_04_close.jpg") no-repeat center top/cover;
      width: 12vw;
      height: 11vw;
      position: sticky;
      top: 0;
      right: 0;
      font-size: 0;
      transition: all 0.3s;
   }

   button.remodal-close:hover {
      opacity: 0.7;
   }

   .modal-wrap {
      text-align: left;
      padding: 15vw 0;
   }

   .modal-wrap h3 {
      font-weight: 700;
      font-size: 5vw;
      letter-spacing: 0.14em;
      line-height: 1.5;
      padding-bottom: 5vw;
   }

   .modal-wrap h5 {
      font-weight: 700;
      font-size: 4vw;
      letter-spacing: 0.14em;
      line-height: 1.5;
      padding: 8vw 0 3vw;
   }

   .modal-wrap p+p {
      padding-top: 4vw;
   }

   .modal-wrap .text-right {
      text-align: right;
      padding-top: 4vw;
   }
}

.wpcf7 form.sent .wpcf7-response-output

 {
    border-color: #46b450 5px solid;
    padding: 30px;
    font-size: 6vw;
    line-height: 1.8;
    color: #0a6f13;
}

@media only screen and (min-width: 768px) {
   .wpcf7 form.sent .wpcf7-response-output

 {
    font-size: 28px;
}
   button.remodal-close {
      background: url("../img/shared/fixed-btn_04_close.jpg") no-repeat center top/cover;
      width: 60px;
      height: 60px;
      position: sticky;
      top: 0;
      right: 0;
      font-size: 0;
      transition: all 0.3s;
   }

   button.remodal-close:hover {
      opacity: 0.7;
   }

   .modal-wrap {
      text-align: left;
      padding: 100px 0;
   }

   .modal-wrap h3 {
      font-weight: 700;
      font-size: 28px;
      letter-spacing: 0.14em;
      line-height: 50px;
      padding-bottom: 20px;
   }

   .modal-wrap h5 {
      font-weight: 700;
      font-size: 20px;
      letter-spacing: 0.14em;
      line-height: 30px;
      padding: 50px 0 20px;
   }

   .modal-wrap p+p {
      padding-top: 20px;
   }

   .modal-wrap .text-right {
      text-align: right;
      padding-top: 20px;
   }
}

