* {
    box-sizing: border-box;
}

:root {
  --green: #7CC237;
  --black: #333;
  --beige: #F0F6F6;
  --gray: #DEE3E3;
  --green-gradient: linear-gradient(to right, #0A9BB4 0%, #05C8BE 100%);
  --green-gradient-large: linear-gradient(to right, #0A9BB4 0%, #05C8BE 60%);
}

.required{
	color:#E24D4A;
}

.contact-form_apply,
.contact-form_contracted {
  display: none
}

textarea {
  font-size: 1em;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  box-shadow: none
}

select {
  font-size: 1em;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
  box-shadow: none
}

select::-ms-expand {
  display: none
}

header,
footer,
section,
nav,
main,
figure,
figcaption,
time,
small {
  display: block
}

input[type=submit],
input[type=image] {
  border: none;
  padding: 0
}

input[type=text],
input[type=email],
input[type=tel],
input[type=number],
input[type=password] {
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  border-radius: 0;
  box-shadow: none
}

input[type=number] {
  -moz-appearance: textfield
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  margin: 0
}

button {
  border: none;
  margin: 0;
  cursor: pointer
}

input[type=submit],
input[type=image],
input[type=reset] {
  cursor: pointer
}

address {
  font-style: normal
}

input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: rgba(0, 0, 0, 0);
  border: none;
  border-radius: 0;
  outline: none
}

input::placeholder,
textarea::placeholder {
  color: #bbb
}

.contact-input,
.contact-textarea {
  width: 100% !important;
  padding: 10px 20px;
  height: 50px;
  background: #fff;
  border: 1px solid #333;
  border-radius: 2px !important
}

select.contact-input {
  background: url("/wp/wp-content/themes/grandata/assets/img/common/bg_select.png") no-repeat calc(100% - 10px) center #fff;
  background-size: 8px auto
}

.contact-form_item {
  border-bottom: 2px dotted #333
}

.contact-form_item .contact-form_heading {
  font-weight: 700
}

.contact-form_item .contact-form_heading br {
  display: none
}

.contact-form_item .contact-form_detail .contact-form_list_flex:first-child,
.contact-form_item .contact-form_detail .h-adr:first-child {
  margin-top: 0
}

.contact-form_item .contact-form_detail .contact-form_list_flex .name,
.contact-form_item .contact-form_detail .contact-form_list_flex dt,
.contact-form_item .contact-form_detail .h-adr .name,
.contact-form_item .contact-form_detail .h-adr dt {
  font-weight: 700
}

.contact-form_item .contact-form_detail .contact-form_list_flex .name br,
.contact-form_item .contact-form_detail .contact-form_list_flex dt br,
.contact-form_item .contact-form_detail .h-adr .name br,
.contact-form_item .contact-form_detail .h-adr dt br {
  display: none
}

.contact-form_item.bgpink {
  background: #E6F2EF;
}

.contact-form_item.bgpink .note {
  color: var(--green);
  font-weight: 700;
  line-height: 1.6
}

.contact-form_caution {
  background: #E6F2EF；
}

.contact-form_caution h5 {
  position: relative;
  font-weight: 700;
  padding: 0 0 0 15px;
  line-height: 1;
	font-size: 2rem;
    margin: 0 0 37px
}

.contact-form_caution h6 {
  position: relative;
  font-weight: 700;
  padding: 0 0 0 15px;
  line-height: 1;
	font-size: 1.5rem;
    margin: 0 0 37px
}

.contact-form_caution h6::before {
  content: "";
  display: block;
  width: 6px;
  height: 30px;
  background: var(--green);
  position: absolute;
  left: 0;
	top:14px;
  transform: translateY(-50%);
  border-radius: 50px
}

.contact-form_caution strong {
  font-weight: 700
}

.mwform-checkbox-field {
  display: inline-block;
  margin: 5px 20px 0 0
}

.mwform-checkbox-field label {
  position: relative;
  display: block
}

.mwform-checkbox-field label input {
  opacity: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  margin: 0
}

.mwform-checkbox-field label input:checked+.mwform-checkbox-field-text::after {
  opacity: 1;
  transform: translateY(-50%) rotate(-35deg) scale(1)
}

.mwform-checkbox-field label input:checked+input+.mwform-checkbox-field-text::after {
  opacity: 1;
  transform: translateY(-50%) rotate(-35deg) scale(1)
}

.mwform-checkbox-field label .mwform-checkbox-field-text {
  position: relative;
  padding: 0 0 0 35px
}

.mwform-checkbox-field label .mwform-checkbox-field-text::before,
.mwform-checkbox-field label .mwform-checkbox-field-text::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%
}

.mwform-checkbox-field label .mwform-checkbox-field-text::before {
  width: 20px;
  height: 20px;
  background: #fff;
  border: 1px solid #333;
  border-radius: 2px;
  left: 0;
  transform: translateY(-50%)
}

.mwform-checkbox-field label .mwform-checkbox-field-text::after {
  opacity: 0;
  width: 10px;
  height: 5px;
  left: 5px;
  margin-top: -2px;
  border-left: 3px solid var(--green);
  border-bottom: 3px solid var(--green);
  transform: translateY(-50%) rotate(-35deg) scale(0.8);
  transition: all .1s ease-out
}

.mwform-radio-field {
  display: inline-block;
  margin: 5px 20px 0 0
}

.mwform-radio-field label {
  position: relative;
  display: block
}

.mwform-radio-field label input {
  opacity: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  margin: 0
}


.mwform-radio-field label input:checked~.mwform-radio-field-text::after {
  opacity: 1
}

.mwform-radio-field label .mwform-radio-field-text {
  position: relative;
  padding: 0 0 0 35px
}

.mwform-radio-field label .mwform-radio-field-text::before,
.mwform-radio-field label .mwform-radio-field-text::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 100%
}

.mwform-radio-field label .mwform-radio-field-text::before {
  width: 20px;
  height: 20px;
  background: #fff;
  border: 1px solid #333;
  left: 0
}

.mwform-radio-field label .mwform-radio-field-text::after {
  opacity: 0;
  width: 14px;
  height: 14px;
  left: 4px;
  background: var(--green);
  transition: all .1s ease-out
}

.contact-form_privacy a {
  color: var(--green);
  text-decoration: underline
}

.contact-form_privacy_item {
  background: #E6F2EF;
  text-align: center;
}

.contact-form_privacy_item .mwform-checkbox-field {
  margin-top: 0
}

.contact-form_btn,
.contact-back_btn {
  text-align: center
}

.contact-form_btn .contact-submit-btn,
.contact-form_btn .contact-back-btn,
.contact-back_btn .contact-submit-btn,
.contact-back_btn .contact-back-btn {
  position: relative;
  display: inline-block;
  font-weight: 700;
  border-radius: 10px;
  line-height: 1.5;
  text-align: center
}

.contact-form_btn .contact-submit-btn,
.contact-back_btn .contact-submit-btn {
  color: #fff;
/*   border: 1px solid var(--green); */
  box-shadow: 0px 8px 10px 0px rgba(240, 111, 94, .15)
}


.contact-form_btn .contact-back-btn,
.contact-back_btn .contact-back-btn {
  background: #fff;
  box-shadow: 0px 8px 10px 0px rgba(147, 97, 97, .12)
}

.contact-back_btn {
  margin: 20px 0 0
}

.p-confirm .contact-form_privacy_item {
  display: none
}

.p-confirm .contact-form_item .contact-form_list_flex.birth .selectWrap {
  width: auto;
  margin: 0
}

.c-btn_black,
.c-btn_red_center,
.c-btn_faq {
  text-align: center
}

.c-btn_black>a,
.c-btn_red_center>a,
.c-btn_faq>a {
  position: relative;
  display: inline-block;
  font-weight: 700;
  border-radius: 50px;
  line-height: 1.5;
  text-align: center;
  background: #fff;
  box-shadow: 0px 8px 10px 0px rgba(147, 97, 97, .12)
}

.c-btn_black>a::after,
.c-btn_red_center>a::after,
.c-btn_faq>a::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 0 10px;
  background: url("/wp/wp-content/themes/grandata/assets/img/common/icon_arrow.svg") no-repeat 0 0;
  background-size: 100%
}

.c-btn_red_center.aligncenter>a::after,
.c-btn_faq>a::after {
  display: none
}

input[type=hidden]+* {
  margin-top: 0 !important
}

.contact-input.short {
    max-width: 300px
}

textarea.contact-input,
.contact-textarea {
    height: 144px
}

select.contact-input {
    cursor: pointer
}

.contact-form_item {
    display: flex;
    padding: 17px 20px
}

.contact-form_item .contact-form_heading {
    width: 24%;
    padding: 5px 0 0
}

.contact-form_item .contact-form_detail {
    width: 76%
}

.contact-form_item .contact-form_list_flex,
.contact-form_item .h-adr dl {
    display: flex;
    align-items: center;
    margin: 20px 0 0
}

.contact-form_item .contact-form_detail_list {
    width: 76%;
}

.contact-form_item .contact-form_list_flex .rr,
.contact-form_item .h-adr dl .rr {
    width: 37%;
    margin: 0 10px 0 0
}

.contact-form_item .contact-form_list_flex .rr+div,
.contact-form_item .h-adr dl .rr+div {
    width: 37%
}

.contact-form_item .contact-form_list_flex .name,
.contact-form_item .contact-form_list_flex dt,
.contact-form_item .h-adr dl .name,
.contact-form_item .h-adr dl dt {
    width: 18%
}

.contact-form_item .contact-form_list_flex .contact-form_detail,
.contact-form_item .contact-form_list_flex dd,
.contact-form_item .h-adr dl .contact-form_detail,
.contact-form_item .h-adr dl dd {
    width: 82%
}

.contact-form_item .contact-form_list_flex.birth .contact-input,
.contact-form_item .h-adr dl.birth .contact-input {
    width: 100%
}

.contact-form_item .contact-form_list_flex.birth .selectWrap,
.contact-form_item .h-adr dl.birth .selectWrap {
    width: 30%;
    max-width: 240px;
    margin: 0 10px
}

.contact-form_item .contact-form_list_flex.birth .selectWrap:first-child,
.contact-form_item .h-adr dl.birth .selectWrap:first-child {
    margin-left: 0
}

.contact-form_caution {
    width: calc(100% + 40px);
    margin: 0 -20px -19px;
    padding: 50px 0 40px
}

.mwform-checkbox-field,
.mwform-radio-field {
    display: inline-block !important;
    margin: 5px 20px 0 0
}

.mwform-checkbox-field label,
.mwform-radio-field label {
    cursor: pointer
}

.contact-form_privacy {
    margin: 30px 0
}

.contact-form_privacy a:hover {
    text-decoration: none
}

.contact-form_privacy_item {
    margin: 0 0 60px;
    padding: 28px 20px
}

.p-contact-thanks_txt {
    margin: 60px 0 0;
    text-align: center
}

.contact-form_btn .contact-submit-btn,
.contact-form_btn .contact-back-btn,
.contact-back_btn .contact-submit-btn,
.contact-back_btn .contact-back-btn {
    min-width: 300px;
    padding: 17px 67px;
    transition: all .2s ease-out;
    box-shadow: 0px 8px 10px 0px rgba(0, 0, 0, .10);
}

.contact-form_btn .contact-submit-btn:hover,
.contact-form_btn .contact-back-btn:hover,
.contact-back_btn .contact-submit-btn:hover,
.contact-back_btn .contact-back-btn:hover {
    transform: translateY(-5px)
}

.contact-form_btn .contact-submit-btn,
.contact-back_btn .contact-submit-btn {
    background: #E24D4A;
    background-position: 1% 50%;
    background-size: 200% auto
}

.contact-form_btn .contact-submit-btn:hover,
.contact-back_btn .contact-submit-btn:hover {
    background-position: 99% 50%;
    box-shadow: 0px 10px 20px 0px rgba(240, 111, 94, .3)
}

.contact-form_btn .contact-back-btn:hover,
.contact-back_btn .contact-back-btn:hover {
    box-shadow: 0px 10px 20px 0px rgba(147, 97, 97, .3)
}

.resend_box{
		margin-top:10px;
	}

@media screen and (max-width: 782px) {
.contact-form_item,
.contact-form_item .contact-form_list_flex{
    display: block;
}
.contact-form_item .contact-form_list_flex .rr+div, 
	.contact-form_item .h-adr dl .rr+div,
	.contact-form_item .contact-form_detail,
	.contact-form_item .contact-form_detail_list,
	.contact-form_item .contact-form_list_flex .name, .contact-form_item .contact-form_list_flex dt, .contact-form_item .h-adr dl .name, .contact-form_item .h-adr dl dt,
	.contact-form_item .contact-form_heading {
    width: 100%;
}
	
	.contact-form_item .contact-form_list_flex .rr, .contact-form_item .h-adr dl .rr {
    width: 100%;
    margin: 0 0 10px 0;
}
	
	.contact-form_list_flex.birth .contact-form_list_flex{
		display:flex;
		flex-wrap:wrap;
	}
	.contact-form_item .contact-form_list_flex.birth .selectWrap, 
	.contact-form_item .h-adr dl.birth .selectWrap {
    width: 90%;
    max-width: none;
		margin: 0 1% 10px 0;
}
		.contact-form_item .contact-form_list_flex.birth.resend .selectWrap {
    width: 70%;
    max-width: none;
		margin: 0 1% 10px 0;
}
	
	.resend_box{
		margin-top:10px;
	padding-top: 20px;
    border-top: 1px solid;
	}
}
