@charset "utf-8";

.wpcf7-not-valid-tip{
   font-weight: bold;
}
.page .conts .form {
   max-width: 1000px;
   margin: 40px auto;
   padding: 60px;
   border: 10px solid #eee;
}
.form .kome {
   font-size: 1.3rem;
   color: #666;
}
.page .conts .form__tit {
   color: #0055A0;
   font-size: 25px;
   margin: 60px 0 10px;
   padding: 0;
   border: 0;
   padding-bottom: 10px;
   border-bottom: 1px solid #0055A0;
}
.page .conts .form__tit.mg0{
   margin-top: 0;
}
.form .form_box dl {
   display: flex;
   justify-content: space-between;
   width: 100%;
   margin: 0;
   padding: 20px 0;
   border-bottom: 1px dashed #c9c9c9;
}
.form .form_box dt {
   width: 30%;
   line-height: 1.3;
   font-size: 16px;
   font-weight: 500;
}
.form .form_box dt span,
.form  .hissu {
   color: #da402c;
   font-weight: bold;
   top: 0px;
   font-size: 13px;
   margin: 0;
   padding: 0 0 0 8px;
   background: none;
}
.form .form_box dd {
   width: 70%;
   margin: 0;
   padding: 0;
   font-size: 16px;
}
.form .form_box dd .form__address{
   margin: 0;
   padding: 0!important;
}
.form .form_box dd .form__address li{
   list-style: none!important;
   display: flex;
   align-items: center;
}
.form .form_box dd .form__address li p{
   width: 170px;
}
.form .form_box dd .form__address li input#zip{
   width: 200px;
}
.form dl dd .kome {
   font-size: 1.3rem;
   line-height: 1.3;
   margin: 0;
   margin-top: 6px;
   color: #666;
}
.form dl.name dd {
   display: flex;
}
.form dl.name dd p {
   width: 210px;
   margin: 0;
}
.form dl.name dd p+p {
   margin-left: 20px;
}
.form dl .date p.kome{
   margin: 0 0 12px;
}
.form .box{
   display: flex;
   justify-content: space-between;
}
.form .box .wpcf7-form-control-wrap:first-child {
   width: 30%;
}
.form .box .wpcf7-form-control-wrap:last-child {
   width: 66%;
}

.form .wpcf7-form-control-wrap {
   width: 100%;
   display: block;
}
.form  input,
.form textarea,
.form select{
   font-size: 16px;
   padding: 10px;
   width: 100%;
   box-sizing: border-box;
   border-radius: 6px;
   border: 1px solid #ccc;
   background: #f6f6f6;
}
.form input.size100 {
   width: 100px;
}
.form .wpcf7-checkbox {
   padding: 8px 0;
}
.form .wpcf7-list-item,
.form span.wpcf7-list-item {
   margin: 0;
}
.form label {
   position: relative;
   width: 100%;
   cursor: pointer;
   font-size: 15px;
   border-radius: 6px;
   overflow: hidden;
}
.form label span {
   display: flex;
   align-items: center;
   height: 50px;
   z-index: 1;
   width: 100%;
   box-sizing: border-box;
   padding: 13px 19px 14px 14px;
   border-radius: 8px;
   background-color: #f3f3f3;
   box-shadow: 0 0 0 1px #ccc inset;
}
.form label input[type="checkbox"],
.form label input[type="radio"]{
   position: absolute;
   opacity: 0;
}
.form input[type="checkbox"] {
   width: auto;
}
.form .wpcf7-radio .wpcf7-list-item{
   margin:  0 6px 6px 0;
}
.form label span::before {
   font-family: 'Material Icons Outlined';
   content: '\e835';
   color: #ccc;
   font-size: 20px;
   line-height: 1;
   font-weight: 300;
   position: relative;
   top: 1px;
   margin-right: 5px;
}
.form label input:checked +span {
   color: #0061af;
   background-color: #ebfcf1;
   box-shadow: 0 0 0 2px #0061af inset;
}
.form label input:checked +span::before{
   content: '\e834';
   color: #0061af;
}
.form .date label {
    font-size: 15px;
}
.form .date label span{
   width: 80px;
   height: 40px;
   margin: 0 2px 5px;
   padding: 0 0 0 7px;
}
.form .date label span::before {
   font-size: 20px;
   margin-right: 5px;
   top: 1px;
}


.form .btn {
   display: block;
   text-align: center;
}
.form .btn #soushin{
   font-size: 26px;
   color: #fff;
   border: none;
   width: 60%;
   height: 8rem;
   cursor: pointer;
   margin: auto;
   background-color: #0061af;
   filter: drop-shadow( 0 5px 5px rgba(0,0,0,0.3));
}

.privacy_doui{
   max-width: 700px;
   margin: 40px auto 30px;
}
.privacy_doui .doui{
   width: 100%;
}
.privacy_doui p.tit{
   font-weight: bold;
   text-align: center;
   margin-bottom: 0;
   font-size: 1.15em;
}
.form .privacy_box {
   background: #f3f3f3;
}
.privacy_doui .doui .wpcf7-list-item::after{
   content: "\5FC5\9808";
}

@media screen and (max-width: 1149px){
   .page .conts .form {
      width: 90%;
      max-width: 90%;
   }
}
@media screen and (max-width: 1000px) and (min-width: 768px){
   .form .form_box dl {
      display: block;
   }
   .form .form_box dt,
   .form .form_box dd {
      width: 100%;
   }
   .form .form_box dt{
      margin-bottom: 8px;
   }
}
@media screen and (max-width: 767px){
   .wpcf7 form .wpcf7-response-output,
   .wpcf7 form.invalid .wpcf7-response-output{
      margin:  0 0 2rem;
   }
   .page_consultation,
   .page_opportunity{
      margin-bottom: 50px;
   }
   .page .conts .form {
      width: 92%;
      max-width: 92%;
      padding: 3rem 2rem;
      margin-bottom: 0;
      border: 6px solid #eee;
   }
   .page .conts .form__tit {
      font-size: 17px;
      margin: 3rem 0 0;
   }
   .form .box {
      display: block;
   }
   .form .form_box dl {
      display: block;
   }
   .form .form_box dt{
      margin-bottom: 1rem;
   }
   .form .form_box dt,
   .form .form_box dd {
      width: 100%;
      font-size: 1.4rem;
   }
   .form dl.name dd {
      display: block;
   }
   .form dl.name dd p,
   .form input#tel {
      width: 100%;
      display: block;
   }
   .form select{
      height: 50px;
   }
   .form dl.name dd p+p {
      margin: 1rem 0 0;
   }
   .form .box .wpcf7-form-control-wrap:last-child {
      margin-top: 5px;
   }
   .form .box .wpcf7-form-control-wrap:first-child,
   .form .box .wpcf7-form-control-wrap:last-child {
      width: 100%;
   }
   
   .form textarea {
      height: 15rem;
   }
   .form .date .wpcf7-list-item {
      width: 24%;
      height: 3.8rem;
      margin: 3px 0;
   }
   .form .date .wpcf7-checkbox {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
   }
   .form .date label span::before {
      font-size: 18px;
      margin-right: 3px;
   }
   .form .date .wpcf7-form-control-wrap+br{
      display: none;
   }
   .form .date label {
      height: 3.8rem;
   }
   .form .date label span {
      width: 100%;
      margin: 0;
      font-size: 1.3rem;
      padding: 4px 0 7px 8px;
      box-sizing: border-box;
      height: 3.8rem;
      line-height: 3.8rem;
   }
   
   .form .btn #soushin {
      width: 100%;
      height: 6rem;
      font-size: 1.8rem;
   }

}
@media screen and (max-width: 355px){
   .form .date .wpcf7-list-item {
      width: 32%;
      margin-right: 2%;
   }
   .form .date .wpcf7-checkbox {
      justify-content: start;
   }
   .form .date .wpcf7-list-item:nth-of-type(3n) {
      margin-right: 0;
   }
}

/* opportunity 部分追加  */
.form .form_link_box {
   display: flex;
   justify-content: space-between;
   align-items: end;
   width: 80%;
   padding-bottom: 8px;
}
.form .form_link_box ul {
   width: 80%;
   padding: 0;
}
.form .form_link_box li{
   list-style: none;
}
.form .form_link_box li:first-child {
   margin-bottom: 8px;
   font-size: .9em;
}
.form .form_link_box ul+span.wpcf7-form-control-wrap {
   margin: 0;
   width: 18%;
}
.form [data-class="wpcf7cf_group"]{
   display: flex;
   justify-content: space-between;
   align-items: end;
   width: 100%;
}
.form [data-id="sankasya-yes"]{
   display: block;
}
@media screen and (max-width: 767px){
   .form .form_link_box,
   .form [data-class="wpcf7cf_group"]{
      width: 100%;
      display: block;
   }
   .form .form_link{
      padding-top: 8px;
   }
   .form .form_link_box ul {
      width: 100%;
      margin-bottom: 8px;
   }
   .form .form_link_box ul+span.wpcf7-form-control-wrap{
      width: 100px;
   }
   .form .form_link_box li:first-child {
      font-size: 1em;
   }
   .form [data-name="naiyou"]{
      padding-top: 15px;
   }
   .form .form_box dd .form__address li{
      display: block;
   }
   .form .form_box dd .form__address li p{
      margin: 10px 0 5px;
      width: 100%;
   }
   .form .form_box dd .form__address li input#zip{
      width: 100%;
   }
   
}
@media screen and (max-width: 430px){
   .conts.page_opportunity .page_tit{
      padding-left: 20px;
      padding-right: 20px;
   }
}

/* ログイン画面  */
.form .page_login {
   text-align: center;
}
.form .page_login form {
   max-width: 450px;
   margin: auto;
}
.form .page_login .button_pw {
   font-size: 18px;
   color: #fff;
   border: none;
   width: 60%;
   height: 8rem;
   cursor: pointer;
   margin: 20px auto auto;
   background-color: #0061af;
   filter: drop-shadow( 0 5px 5px rgba(0,0,0,0.3));
}
.custom-password-message{
   text-align: center;
   font-weight: bold;
   color: #dc3232;
}
@media screen and (max-width: 767px){
   .form .page_login p br {
      display: none;
   }
   .form .page_login .button_pw{
      width: 80%;
      height: 7rem;
   }
}