
.page #contact .page__title {
   background-image: url('../img/contact/img_contact_titleback_pc.jpg');
}
@media only screen and (max-width: 1030px) {
   .page #contact .page__title {
      background-image: url('../img/contact/img_contact_titleback_sp.jpg');
   }
}

.contactMenu__wrap {
   display: flex;
   justify-content: center;
   gap: 60px;
}
.contactMenu__item a {
   width: 360px;
   height: 150px;
   display: flex;
   flex-flow: column;
   align-items: center;
   justify-content: center;
}
.contactMenu__item:nth-child(1) a {
   background: linear-gradient(90deg,rgba(0, 158, 64, 1) 0%, rgba(171, 205, 5, 1) 100%);
}
.contactMenu__item:nth-child(2) a {
   background: linear-gradient(90deg,#2265BC 0%, #02BACE 100%);
}
.contactMenu__item p {
   padding: 1em;
   font-size: 20px;
   font-weight: 500;
   line-height: 1.35;
   text-align: center;
   color: #fff;
   flex-flow: column;
   align-items: center;
   display: flex;
   gap: 0.5em;
}
.contactMenu__item:nth-child(1) p::after {
	content: '';
   display: block;
	background-image: url('../img/common/icon_arrow_right_green_nonline.svg');
	background-repeat: no-repeat;
	background-size: 100%;
	height: 24px;
	width: 24px;
}
.contactMenu__item:nth-child(2) p::after {
	content: '';
   display: block;
	background-image: url('../img/common/icon_arrow_right_blue_nonline.svg');
	background-repeat: no-repeat;
	background-size: 100%;
	height: 24px;
	width: 24px;
}

@media screen and (max-width: 900px){
   .contactMenu__wrap {
      gap: 20px;
   }
   .contactMenu__item a {
      width: 100%
   }
   .contactMenu__item p {
      font-size: 18px;
   }
}

/* 入力フォーム */
.contact__lead p {
   text-align: center;
   font-weight: 500;
}

.content__sec.contact_form {
   margin-top: 60px;
}
.contact_form__Wrap {
   background-color: #f9f9f9;
	margin: 0 calc(50% - 50vw);
	padding: 60px 0;
}

.contact_form__Wrap .formArea {
   max-width: 1000px;
   margin: 0 auto;
   padding: 60px 100px;
   background-color: #fff;
}
.contact_form__confirmTitle {
   font-size: 22px;
   font-weight: 500;
   text-align: center;
}

.cf7-form {
   display: none;
}

.formArea .wpcf7 {
    margin-top: 2em;
}

.inquiry-category-wrap dd {
   background-color: #E8F3F1;
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: 0 1.5em;
   padding: 1em 1.5em;
   border-radius: 6px;
}
.inquiry-category-wrap dd label {
   display: flex;
   align-items: center;
   gap: 0.3em;
   cursor: pointer;
}
.inquiry-category-wrap dd label input {
   cursor: pointer;
}

/*.inquiry-type-wrap, .inquiry-type-wrap--recruit, .inquiry-recruit-wrap  {
   display: flex;
}*/

.formArea section dt p {
   margin-top: 1em;
}

.formArea section dd {
   background-color: #E8F3F1;
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: 0 1.5em;
   padding: 1em 1.5em;
   border-radius: 6px;
}
.formArea section dd .wpcf7-checkbox {
   display: flex;
   align-items: center;
   flex-wrap: wrap;
   gap: 0.3em 1.5em;
}
.formArea section dd .wpcf7-list-item {
   margin: 0;
}
/*必須*/
.formArea .required {
   font-size: 12px;
   font-weight: 500;
   color: #cc0000;
   line-height: 1.2;
   padding: 4px 13px;
   background-color: #fff;
   border-radius: 100vh;
   margin-bottom: 2px;
}

@media screen and (max-width: 900px){
   .contact_form__Wrap {
      padding-top: 60px;
      padding-bottom: 60px;
   }
   .contact_form__Wrap .formArea{
      padding: 40px 3.5dvw;
   }

   .inquiry-category-wrap, .inquiry-type-wrap, .inquiry-type-wrap--recruit, .inquiry-recruit-wrap {
      flex-direction: column;
   }
   .inquiry-category-wrap dt, .formArea section dt,
   .inquiry-category-wrap dd, .formArea section dd {
      width: 100%;
   }
   .inquiry-category-wrap dt, .formArea section dt p {
      flex-flow: row;
      align-items: center;
      gap: 0.5em;
   }
   .inquiry-category-wrap dd, .formArea section dd {
      border-top: none;
   }
}

/*チェックボックスカスタム*/
.formArea section dd {
   display: flex;
   align-items: center;
}
.formArea section dd label {
    display: flex;
    align-items: center;
    gap: 0.3em;
    position: relative;
    cursor: pointer;
    padding-left: 26px;
}
.formArea section dd .wpcf7-radio {
   display: flex;
   align-items: center;
   flex-wrap: wrap;
   gap: 0.3em 1.5em;
}
.formArea section dd label:has(input[type="radio"]) {
   padding-left: 0;
   cursor: pointer;
}
.formArea section dd input[type="radio"] {
    cursor: pointer;
    margin-right: 2px;
}
.formArea section dd input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    z-index: -1;
}
.formArea section dd input[type="checkbox"] + span::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    
    width: 18px;
    height: 18px;
    border: 1px solid #7E7E7E;
    background-color: #fff;
    transition: all 0.2s ease;
}
.formArea section dd input[type="checkbox"] + span::after {
	content: '';
	position: absolute;
	left: 6px;
	top: 29%;
	transform: translateY(-50%) rotate(45deg);
	width: 10px;
	height: 20px;
	border: solid transparent;
	border-width: 0 2px 2px 0;
	transition: all 0.2s ease;
}
.formArea section dd input[type="checkbox"]:checked + span::after {
    border-color: #009E40;
}
@media screen and (max-width: 900px){
   .formArea section dd input[type="checkbox"] + span {
      line-height: 1.8;
   }
}


.contact_form__Wrap .note {
   font-size: 0.875em;
}

.formWrap--lower {
   margin-top: 40px;
}
.formWrap--lower > p {
   margin: 20px auto 0 auto;
   width: 100%;
   max-width: 100%;
   line-height: 1.35;
}
.formWrap--lower input[type="text"], .formWrap--lower input[type="email"], .formWrap--lower input[type="tel"], .formWrap--lower select {
   width: 100%;
   background-color: #E8F3F1;
   border: 1px solid #7e7e7e;
   border-radius: 3px;
   padding: 5px 14px;
   font-size: 16px;
}
.formWrap--lower textarea {
   width: 100%;
   height: 128px;
   background-color: #E8F3F1;
   border: 1px solid #7e7e7e;
   padding: 5px 14px;
   resize: vertical;
   font-size: 16px;
}
.formWrap--lower .wpcf7-list-item.first {
   margin-left: 2px;
}
.formWrap--lower  label:has(input[type="radio"]), .formWrap--lower  label input[type="radio"] {
   cursor: pointer;
}
.formWrap--lower .required {
   color: #cc0000;
   font-size: 14px;
}
.formWrap--lower .note {
   color: #7e7e7e;
   display: block;
   margin-top: 0.2em;
}

.wpcf7-not-valid-tip {
   font-size: 14px;
}
@media screen and (max-width: 900px){
   .formWrap--lower input[type="text"], .formWrap--lower input[type="email"], .formWrap--lower input[type="tel"], .formWrap--lower select {
      font-size: 14px;
   }
   .formWrap--lower textarea {
      font-size: 14px;
   }
   .formWrap--lower .required {
      color: #cc0000;
      font-size: 12px;
   }
   .wpcf7-not-valid-tip {
      font-size: 12px;
   }  
}

.notice__wrap {
   width: 100%;
}
.notice__wrap h4 {
   margin-top: 35px;
   font-weight: 500;
   color: #009E40;
}
.notice__wrap h5 {
   font-weight: 500;
   font-size: 1rem;
}
.notice__content {
   border: 1px solid #7e7e7e;
   padding: 1em;
   height: 8em;
   overflow-y: scroll;
}
.notice__content li, .notice__content p {
   line-height: 1.45;
}
.notice_note {
   margin-top: 2em;
   text-align: center;
   line-height: 1.4;
}

.wpcf7-form-control-wrap[data-name="accept"] {
   display: block;
   text-align: center;
   background-color: #E8F3F1;
   padding: 0.6em 1em;
}
.wpcf7-acceptance::after {
   content: '必須';
   color: #cc0000;
   font-size: 14px;
   margin-left: 0.5em;
}
.en-US .wpcf7-acceptance::after {
   content: 'Required';
}
.wpcf7-form-control-wrap[data-name="accept"] label {
   cursor: pointer;
}
.wpcf7-form-control-wrap[data-name="accept"] input {
   position: absolute;
   opacity: 0;
   z-index: -1;
}

.wpcf7-form-control-wrap[data-name="accept"] .wpcf7-list-item-label {
   position: relative;
   padding-left: 28px;
}
.wpcf7-form-control-wrap[data-name="accept"] .wpcf7-list-item-label::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 18px;
	height: 18px;
	border: 1px solid #7E7E7E;
	background-color: #fff;
	transition: all 0.2s ease;
}
.wpcf7-form-control-wrap[data-name="accept"] .wpcf7-list-item-label::after {
	content: '';
	position: absolute;
	left: 5px;
	top: 29%;;
	transform: translateY(-50%) rotate(45deg);
	width: 10px;
	height: 20px;
	border: solid transparent;
	border-width: 0 2px 2px 0;
	transition: all 0.2s ease;
}
.wpcf7-form-control-wrap[data-name="accept"] input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
	border-color: #009E40;
}

.sendBtnWrap {
	text-align: center;
   margin-top: 50px;
}
.sendBtnWrap p {
	display: inline-block;
	position: relative;
}
.sendBtn {
	display: block;
	width: 286px;
	background: #ddd;
	border: none;
	color: #fff;
	font-size: 20px;
	font-weight: 600;
   text-align: left;
	padding: 0.6em 1.5em;
	transition: 0.3s;
   cursor: pointer;
   pointer-events: none;
}
.en-US .input .sendBtn {
   width: auto;
   padding: 0.6em 3em 0.6em 1.5em;
}
.sendBtnWrap p::after {
	content: '';
	position: absolute;
	bottom: 50%;
	right: 1.5em;
	background-image: url('../img/common/icon_arrow_right_green_nonline.svg');
	background-repeat: no-repeat;
	background-size: 100%;
	height: 26px;
	width: 26px;
   transform: translateY(-2px);
}
p:has(.wpcf7-form-control-wrap[data-name="accept"] input[type="checkbox"]:checked) + .sendBtnWrap .sendBtn {
   background: linear-gradient(90deg,rgba(0, 158, 64, 1) 0%, rgba(171, 205, 5, 1) 100%);
   pointer-events: auto;
}
.sendBtn:hover {
   opacity: 0.8;
}

.wpcf7-spinner  {
   opacity: 0;
}
.wpcf7-response-output {
   display: none;
}

/*** サンクスページ ***/
.contact_form__Wrap.thanks {
   text-align: center;
}
.contact__thanks__title {
   font-size: 28px;
   font-weight: 500;
   line-height: 1.35;
   text-align: center;
}
.contact_form__Wrap.thanks p:nth-child(n+2) {
   margin-top: 2em;
}
.contact_form__Wrap.thanks .back__top {
   width: 387px;
   max-width: 100%;
   margin: 0 auto;
   margin-top: 50px;
}
.contact_form__Wrap.thanks .back__top a {
	display: inline-flex;
	width: 100%;
	background-color: #009e40;
	border: 1px solid #009e40;
	color: #fff;
	font-size: 20px;
	font-weight: 600;
	padding: 0 3em 0 1.5em;
	position: relative;
	transition: 0.3s;
	line-height: 1.1;
	height: 60px;
	align-items: center;
}
.contact_form__Wrap.thanks .back__top a:hover {
	background-color: #fff;
	color: #009e40;
	opacity: 1;
}
.contact_form__Wrap.thanks .back__top a::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 1.5em;
	transform: translateY(-50%);
	background-image: url('../img/common/icon_arrow_right_green.svg');
	background-repeat: no-repeat;
	background-size: 100%;
	height: 24px;
	width: 24px;
}
.contact_form__Wrap.thanks .back__top a:hover::after {
	background-image: url('../img/common/icon_arrow_right_white_green.svg');
}
@media screen and (max-width: 900px){
   .contact__thanks__title {
      font-size: 22px;
   }
}

/*** 進捗状況 ***/
.contact__progress {
   width: 500px;
   margin: 90px auto 0 auto;
   display: flex;
   justify-content: space-between;
}
.contact__lead + .contact__progress {
   margin-top: 55px;
}
.contact__progress li {
   width: calc(100% /3);
   text-align: center;
   font-size: 14px;
   font-weight: 500;
   color: #d9d9d9;
   position: relative;
}
.contact__progress li.current, .contact__progress li.past {
   color: #009E40;
}

.contact__progress li::before {
   position: absolute;
   content: '';
   width: 18px;
   height: 18px;
   border: 2px solid #d9d9d9;
   border-radius: 100vh;
   background-color: #d9d9d9;
   top: -25px;
   left: 50%;
   transform: translateX(-50%);
}
.contact__progress li.current::before {
   background-color: #009E40;
   border: 2px solid #009E40;
}
.contact__progress li.past::before {
   background-color: #fff;
   border: 2px solid #009E40;
}
.contact__progress li:nth-child(-n+2):after {
   position: absolute;
   content: '';
   width: 100%;
   height: 2px;
   background-color: #d9d9d9;
   top: -15px;
   left: 50%;
   z-index: -1;
}
.contact__progress li.past::after {
   background-color: #009E40;
}




/*** 確認画面 ***/
.contact__lead {
   width: 1000px;
   max-width: 100%;
   margin: 80px auto 0 auto;
}
.contact__lead h2 {
   font-size: 28px;
   font-weight: 500;
   line-height: 1.35;
   text-align: center;
}
.contact__lead h2+p {
   margin-top: 1em;
   text-align: center;
   font-weight: 500;
}
.contactform__inputConfirm dl {
   width: 100%;
   display: flex;
}
.contactform__inputConfirm dt {
   width: 230px;
   background-color: #E8F3F1;
   text-align: center;
   padding: 1em;
   border-top: 1px solid #7e7e7e;
   border-left: 1px solid #7e7e7e;
}
.contactform__inputConfirm dd {
   flex: 1;
   padding: 1em;
   border-top: 1px solid #7e7e7e;
   border-left: 1px solid #7e7e7e;
   border-right: 1px solid #7e7e7e;
}
.contactform__inputConfirm dl:last-child dt, .contactform__inputConfirm dl:last-child dd {
   border-bottom: 1px solid #7e7e7e;
}
.sendBtnWrap.confirm .sendBtn {
   background: linear-gradient(90deg,rgba(0, 158, 64, 1) 0%, rgba(171, 205, 5, 1) 100%);
   pointer-events: auto;
}
.backBtnWrap {
   text-align: center;
}
.backBtnWrap p {
	display: inline-block;
	position: relative;
}
.backBtnWrap .backBtn {
   display: block;
	width: 286px;
	border: 1px solid #666;
   background-color: #fff;
	color: #666;
	font-size: 16px;
	font-weight: 500;
   text-align: left;
	padding: 1.1em 1.5em 1.1em 3.5em;
	transition: 0.3s;
   cursor: pointer;
}
.backBtnWrap .backBtn:hover {
   opacity: 0.8;
}
.backBtnWrap p::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 1.5em;
	background-image: url('../img/common/icon_arrow_left_gray.svg');
	background-repeat: no-repeat;
	background-size: 100%;
	height: 26px;
	width: 26px;
	transform: translateY(-50%);
}
.wpcf7-spinner {
   display: none;
}
@media screen and (max-width: 900px){
   .contact__lead h2 {
      font-size: 20px;
   }
   .contact__progress {
      width: 60vw;
   }
   .contact__progress li {
      font-size: 12px;
   }
   .contact__progress li::before {
      width: 16px;
      height: 16px;
      top: -23px;
   }

   .content__sec.contact_form {
      margin-top: 40px;
   }
   .contact_form__Wrap {
      padding-top: 40px;
      padding-bottom: 40px;
   }
   .contact_form__confirmTitle {
      font-size: 18px;
   }
   .contactform__inputConfirm dl {
      flex-flow: column;
   }
   .contactform__inputConfirm dt {
      width: 100%;
      border-right: 1px solid #666;
      padding: 0.5em 1em;
      text-align: left;
   }
   .contactform__inputConfirm dl:last-child dt {
      border-bottom: none;
   }
   .contactform__inputConfirm dd {
      width: 100%;
      padding: 0.5em 1em;
   }
   .notice_note {
   text-align: left;
}
}