 /*
font-family: "Aoto Gothic Extra Light", sans-serif;
font-family: "Aoto Gothic Light", sans-serif;
font-family: "Aoto Gothic Regular", sans-serif;
font-family: "Aoto Gothic Medium", sans-serif;
font-family: "Aoto Gothic DemiBold", sans-serif;
font-family: "source-han-sans-japanese", sans-serif;
font-family: "source-han-sans-japanese", sans-serif;
*/

/* お問い合わせトップ*/
#contact-area{
	padding-bottom:100px;
}
#contact-area .box{
	min-height:20px;
	margin:30px 0;
}
.contact-sectitle{
	font-size:18px;
	font-family: "source-han-sans-japanese", sans-serif;
	margin-bottom:20px;
}
.contact-sectitle02{
	font-size:18px;
	font-family: "source-han-sans-japanese", sans-serif;
	margin:50px 0 20px;
}
.contact-link-btn{
	display:block;
	margin:0 0 50px;
	overflow:hidden;
}
.contact-link-btn02{
	display:block;
	margin:0 0 25px;
	overflow:hidden;
}
.contact-link-btn a,.contact-link-btn02 a{
	position:relative;
}
.contact-weblink-icon01{
	width:16px;
	position:absolute;
	right:106px;
	top:0px;
}

.contact-weblink-icon01{
	width:16px;
	position:absolute;
	right:106px;
	top:0px;
}
.contact-weblink-icon02{
	width:16px;
	position:absolute;
	right:87px;
	top:0px;
}
.contact-weblink-icon03{
	width:16px;
	position:absolute;
	right:62px;
	top:0px;
}
.contact-weblink-icon04{
	width:16px;
	position:absolute;
	right:98px;
	top:0px;
}
.contact-weblink-icon05{
	width:16px;
	position:absolute;
	right:98px;
	top:0px;
}
.contact-weblink-icon06{
	width:16px;
	position:absolute;
	right:128px;
	top:0px;
}
.contact-weblink-icon07{
	width:16px;
	position:absolute;
	right:117px;
	top:0px;
}
.contact-weblink-icon08{
	width:16px;
	position:absolute;
	right:81px;
	top:0px;
}
@media screen and (max-width: 767px) { 
.grecaptcha-badge {
	bottom: 85px !important;
	z-index:999 !important;
}
#contact-area{
	padding:0 5px 60px;
}
#contact-area .box{
	margin:15px 0;
}
.contact-sectitle{
	font-size:16px;
	margin:50px 0 20px;
}
.contact-link-btn{
	margin:0 0 25px;
}
.contact-sectitle02{
	font-size:16px;
}
.contact-area-normal{
	display:none;
}
.contact-weblink-icon01{
	right:82px;
}
.contact-weblink-icon02{
	right:65px;
}
.contact-weblink-icon03{
	right:42px;
}
.contact-weblink-icon04{
	right:75px;
}
.contact-weblink-icon05{
	right:75px;
}
.contact-weblink-icon06{
	right:101px;
}
.contact-weblink-icon07{
	right:92px;
}
.contact-weblink-icon08{
	right:61px;
}

}


/*----------------------------------

	企業全般のお問い合わせ

----------------------------------*/
.contact-top-text{
	text-align:center;
	margin-bottom:80px;
}
@media screen and (max-width: 767px) { 
.contact-top-text{
	text-align:left;
	margin-bottom:40px;
}
}




/*----------------------------------

	お問い合わせフォーム

----------------------------------*/
.entry-form input[type="button"],.entry-form input[type="text"],.entry-form input[type="email"],.entry-form input[type="submit"],.entry-form input[type="image"],.entry-form textarea{
    -webkit-appearance: none !important;
    border-radius: 0;
}
.entry-form{
	width:100%;
}
.entry-form .box{
	margin:0 0 40px !important;
}
.contact-text{
	margin:30px 0;
}
.contact-text span{
	color:#db1155;
}
.entry-form table{
	width:100%;
	border-collapse;collapse !important;
}
.entry-form table tr{
	width:100%;
}
.entry-form table th{
	background:#fff;
	width:25%;
	text-align:right;
	font-size:18px;
	vertical-align:top;
	padding:21px 15px 35px;
	font-family: "source-han-sans-japanese" !important;
}
/* body.page-id-385 .entry-form table th,
body.page-id-435 .entry-form table th,
body.page-id-478 .entry-form table th,
body.page-id-571.entry-form table th,
body.page-id-622 .entry-form table th{
	padding:15px 15px 35px;
} */
.entry-form table th sup{
	margin-left:3px;
}
.entry-form table td{
	background:#fff;
	width:75%;
	padding:15px 0px 35px 15px;
	/* vertical-align:top; */
	vertical-align:bottom;
	font-size:20px;
	overflow:hidden;
}
.entry-form table td input{
    width:100%;
	padding:5px 10px;
	border:1px solid #b4b4b4;
	font-size:20px;
}
.entry-form table td textarea{
    width:100%;
	padding:5px 10px;
	border:1px solid #b4b4b4;
    font-size:20px;
   	margin-bottom:-5px;
}
/* .entry-form table td input.name01{
    width:22%;
    margin-right:10px;
}
.entry-form table td input.name02{
    width:22%;
    margin-left:10px;
} */
.name-box-spacer {
	width: 30px;
}
.entry-form table td ::placeholder {
  color: #b6b6b6;
}
.entry-form table td.radio-button-select input{
    /* width:auto !important; */
		width:auto;
    /* display:inline !important; */
    display:inline;
    position:relative;
    bottom:1px;
}
.entry-form table th.privacy-cell{
	display:block;
	text-align:center;
	width:100%;
	padding:10px 0 30px;
}
.entry-form table td.privacy-cell{
	display:block;
	text-align:center;
	width:100%;
	padding:0 0 20px;
}
td.privacy-cell .privacy-area{
	display:block;
	margin:0 auto 30px;
	text-align:left;
	width:100%;
	max-width:450px;
	font-size:16px;
}
td.privacy-cell .privacy-area02{
	display:block;
	margin:0 auto 30px;
	text-align:left;
	width:100%;
	max-width:530px;
	font-size:16px;
}
td.privacy-cell .privacy-area a{
	color:#024398 !important;
	text-decoration:underline;
}
.contact-button-area{
    height:auto;
	padding:10px;
	margin:20px auto 0;
	border:none;
	text-align:center;
	position: relative;
}
.contact-button {
	width: 100%;
	max-width:250px;
	background:#fff;
	color:#024398 !important;
	padding: 0 45px 0 0 !important;
	font-size:16px !important;
	text-align: center;
	text-decoration: none;
	outline: none;
	-webkit-appearance: none !important;
	font-family: "source-han-sans-japanese" !important;
	background: transparent;
	border: none;
}
.contact-button-auto{
	max-width:300px;
	font-size:15px !important;
}
.contact-button:hover {
  cursor:pointer;
}
.contact-button-svg {
	position: absolute;
	left: 50%;
	transform: translate(-125px, -13px);
}
.contact-button-svg2 {
	position: absolute;
	left: 43%;
	transform: translate(-125px, -13px);
}
svg:hover .contact-button-stroke {
	stroke-dasharray: 550;
	will-change: animation;
	animation: contact-button-stroke-anime 0.8s ease-in;
}
@keyframes contact-button-stroke-anime {
	to {
			stroke-dasharray: 550;
			stroke-dashoffset: 0;
	}
	from {
			stroke-dasharray: 275;
			stroke-dashoffset: 550;
	}
}
svg:hover .contact-button-stroke2 {
	stroke-dasharray: 700;
	will-change: animation;
	animation: contact-button-stroke-anime 0.8s ease-in;
}
@keyframes contact-button-stroke-anime {
	to {
			stroke-dasharray: 700;
			stroke-dashoffset: 0;
	}
	from {
			stroke-dasharray: 350;
			stroke-dashoffset: 700;
	}
}
.contact-button_box {
	display: inline-block;
	position: relative;
	padding: 0 85px;
}
.contact-button_prev {
	padding-right: 7px !important;
}

.contact-button_box-2btn {
	display: inline-flex;
	width: 100%;
	margin-top: 10px;
}
.contact-button_box-2btn label {
	width: 50%;
}

.contact-button_sp-next {
	width: 100%;
	max-width:300px;
	min-width: 120px;
	height: 50px;
	background:#fff;
	color:#024398;
	font-size:14px;
	text-align: center;
	padding-right: 11%;
	padding-left: 6%;
	text-decoration: none;
	outline: none;
	-webkit-appearance: none !important;
	font-family: "source-han-sans-japanese" !important;
	background: transparent;
	border: #024398 1px solid;
	border-radius: 50px !important;
	background: url(../images/contact/arrow_next_blue.svg) no-repeat 96% center;
}
.contact-button_sp-prev {
	width: 100%;
	max-width:250px;
	min-width: 120px;
	height: 50px;
	background:#fff;
	color:#024398;
	font-size:14px;
	text-align: center;
	padding-left: 11%;
	padding-right: 6%;
	text-decoration: none;
	outline: none;
	-webkit-appearance: none !important;
	font-family: "source-han-sans-japanese" !important;
	background: transparent;
	border: #024398 1px solid;
	border-radius: 50px !important;
	background: url(../images/contact/arrow_prev_blue.svg) no-repeat 36% center;
}

@media screen and (max-width: 767px) {
	.contact-button-area{
		padding-top: 0;
		margin-top: 0;
		padding-left: 0;
		padding-right: 0;
	}
  .contact-button_box {
    display: block;
    position: relative;
    padding: 0;
  }
	.contact-button_box label{
		display: block;
  }
	.name-box-spacer {
		width: 0;
	}
}
@media screen and (min-width: 450px) and (max-width: 767px) { 
	.contact-button_box-2btn .contact-button_sp-next {
		background: url(../images/contact/arrow_next_blue.svg) no-repeat 67% center;
	}
	.contact-button_box-2btn .contact-button_sp-prev {
		background: url(../images/contact/arrow_prev_blue.svg) no-repeat 33% center;
	}
	.contact-button_sp-next {
		font-size:13px;
	}
}
@media screen and (min-width: 350px) and (max-width: 449px) { 
	.contact-button_box-2btn .contact-button_sp-next {
		padding-right: 15%;
		padding-left: 3%;
		background: url(../images/contact/arrow_next_blue.svg) no-repeat 70% center;
	}
	.contact-button_box-2btn .contact-button_sp-prev {
		padding-left: 15%;
		padding-right: 3%;
		background: url(../images/contact/arrow_prev_blue.svg) no-repeat 30% center;
	}
}
@media screen and (max-width: 349px) { 
	.contact-button_box-2btn .contact-button_sp-next {
		padding-right: 16%;
		padding-left: 2%;
		background: url(../images/contact/arrow_next_blue.svg) no-repeat 76% center;
	}
	.contact-button_box-2btn .contact-button_sp-prev {
		padding-left: 16%;
		padding-right: 2%;
		background: url(../images/contact/arrow_prev_blue.svg) no-repeat 24% center;
	}
}
@media screen and (max-width: 374px) { 
.contact-button_sp-next {
	font-size:11px;
	background: url(../images/contact/arrow_next_blue.svg) no-repeat 94% center;
}
}
@media screen and (min-width: 768px) and (max-width: 991px) {
.entry-form table th{
	font-size:16px;
}
}
@media screen and (min-width: 768px) {
	.contact-button-area input {
		transform: translate(5px, -6px);
	}
}
.mw_wp_form .error {
	color : #c11414 !important;
	/* display : inline !important; */
	margin-top: 5px;
}
.mw_wp_form .radio-button-select .error {
	margin-top: -10px;
}
.mw_wp_form_direct_access_error{
	text-align:center;
}


@media screen and (max-width: 767px) { 
body.page-template-form_geotechnologies .pagesubtitle{
	white-space:nowrap;
}
.entry-form table th{
	display:block;
	width:100%;
	text-align:left;
	font-size:16px;
	padding:0 0 10px;
}
.entry-form table td{
	display:block;
	width:100%;
	padding:0 0 30px;
	font-size:14px;
	position:relative;
}
.entry-form table td input{
    font-size:14px;
}
.entry-form table td.namearea{
	position:relative;
}
/* .entry-form table td input.name01{
    width:45%;
    margin-right:4.35%;
}
.entry-form table td input.name02{
    width:45%;
    margin-left:4.35%;
} */
/* body.page-id-390 .entry-form table td input.name02,
body.page-id-437 .entry-form table td input.name02,
body.page-id-479 .entry-form table td input.name02,
body.page-id-567 .entry-form table td input.name02,
body.page-id-618 .entry-form table td input.name02{
	margin:15px 0 0;
} */
.entry-form table td textarea{
    font-size:14px;
}
.entry-form table th.privacy-cell{
	font-size:16px;
}
.entry-form table td.privacy-cell{
	font-size:16px;
}
td.privacy-cell .privacy-area{
	margin:0 auto 30px;
	max-width:100%;
	font-size:13px;
	line-height:1.5em;
}
td.privacy-cell .privacy-area02{
	max-width:100%;
}
 .contact-button {
  font-size:14px !important;
	padding: 0 10px 0 0 !important;
}
.contact-button-svg {
	position: absolute;
	left: 50%;
}
.contact-button_prev {
	padding-right: -10px !important;
	padding-left: 30px !important;
}
body.page-id-385 .contact-button {
  max-width:120px;
}
.mw_wp_form .error {
	display : block !important;
}
}

/* @media screen and (min-width: 390px) and (max-width: 567px)  {  */
/* .entry-form table td input.name01{
    margin-right:4.49%;
/* } */
/* .entry-form table td input.name02{ */
    /* margin-left:4.49%; */
/* } */
/* } */
/* @media screen and (min-width: 568px) and (max-width: 767px)  {  */
/* .entry-form table td input.name01{
    margin-right:4.57%;
}
.entry-form table td input.name02{
    margin-left:4.57%;
} */
/* } */
/* @media screen and (max-width: 350px) { 
body.page-id-385 .contact-button,
body.page-id-435 .contact-button, */
/* body.page-id-478 .contact-button, */
/* body.page-id-571 .contact-button,
body.page-id-622 .contact-button {
  max-width:100px;
}
} */

/* @media screen and (max-width: 320px) { 
.entry-form table td input.name02{
	margin:0;
}

} */



/* form input color */
.entry-form textarea, .entry-form input[type=text], .entry-form select {
	color: #40404b;
}

/* select */
.entry-form select {
	border-radius: 100px;
	padding: 0 60px 0 20px;
	height: 50px;
	border:1px solid #c4c4c4;
	position: relative;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: #fff;
	background-image: url(../images/contact/select-icon.svg);
  background-position: right 10px center;
  background-repeat: no-repeat;
  background-size: 30px 30px;
}

.entry-form option {
	color: #40404b;
}

.unselected {
	color: #ccc !important;
}

/* checkbox style */
.mwform-checkbox-field input {
	margin-right: 8px !important;
}
.mwform-checkbox-field label {
	margin-right: 18px !important;
}
.mw_wp_form .horizontal-item + .horizontal-item {
	/* checkbox、radiobutton 改行時の横ずれ対策 */
	margin-left: 0 !important;
}
.entry-form input[type=checkbox] {
	appearance: none;
	position: relative !important;
	height: 24px;
	width: 24px !important;
	vertical-align: middle;
	color: #fff;
	display: inline-block !important;
	outline: none;
	border:1px solid #c4c4c4 !important;
	/* cursor: pointer; */
	transition: all .1s;
	border-radius: 0;
}
.entry-form input[type=checkbox]::before,input[type=checkbox]::after {
	position: absolute;
	content: "";
	background: #fff;
}
.entry-form input[type=checkbox]::before {
	/* ✓左側（短） */
	left: 2px;
	top: 6px;
	width: 0;
	height: 2px;
	transform: rotate(45deg);
}
.entry-form input[type=checkbox]::after {
	/* ✓右側（長） */
	right: 9px;
	bottom: 3px;
	width: 2px;
	height: 0;
	transform: rotate(45deg);
}
.entry-form input[type=checkbox]:checked::before {
	/* ✓左側（短） */
	left: 3px;
	top: 12px;
	width: 9px;
	height: 2px;
}
.entry-form input[type=checkbox]:checked::after {
	/* ✓右側（長） */
	right: 7px;
	bottom: 4px;
	width: 2px;
	height: 13px;
}
.entry-form input[type=checkbox]:checked {
	/* 選択時の塗り */
	background: #024398;
	border:1px solid #024398 !important;
	transition: all .1s;
}
.mwform-checkbox-field label {
  position: relative;
  display: inline-block;
  padding-bottom: 15px;
	margin-top: 7px;
}
.mwform-checkbox-field input {
  display: inline-block;
	margin-top: -2px;
}

/* radiobutton style */
.radio {
  appearance: none;
  display: none !important;
}
.mwform-radio-field label {
  position: relative;
  display: inline-block;
  /* padding: 3px 3px 3px 20px; */
  padding: 0 0 10px 38px;
  margin: 0 19px 0 0;
  /* cursor: pointer; */
}
.mwform-radio-field span {
  display: inline-block;
	padding-top: 8px;
}
.radio+span::before,
span::after {
  position: absolute;
  content: '';
  top: 49%;
  border-radius: 100%;
  transition: all .1s;
}
.radio+span::before {
  left: 0;
  width: 24px;
  height: 24px;
  margin-top: -13px;
  background: #fff;
  border: 1px solid #c4c4c4;
}
.radio+span::after {
  opacity: 0;
  left: 3px;
  width: 18px;
  height: 18px;
  margin-top: -10px;
  background: #024398;	/* チェック時の色 */
}
.radio:checked + span::before {
	/* チェック時隣接するタグへの指定 */
  background: #fff;
  border: 1px solid #024398;	/* チェック時の枠線 */
}
.radio:checked + span::after {
  opacity: 1;
}
@media screen and (max-width: 767px)  { 
	.mwform-checkbox-field label {
		margin-top: 2px;
	}
	.mwform-radio-field label {
		padding: 0 0 15px 35px;
	}
	.mwform-radio-field span {
		padding-top: 0;
	}
	.radio+span::before,
	span::after {
		top: 33%;
	}
}
.g-recaptcha {
	margin:0 auto 40px;
	text-align: center;
	width:240px;
	position:relative;
	right:30px;
}

@media screen and (max-width: 767px)  { 
.g-recaptcha  {
	margin:0 auto 30px;
}
}

/*----------------------------------

	オートモーティブフォーム

----------------------------------*/
form.cmxform label.error, label.error {
	color:#c11414 !important;
	display:block;
	margin-top:5px;
}
.recaptcha-error{
	position:relative;
	bottom:20px;
}

@media screen and (min-width: 768px)  { 
.recaptcha-error{
	font-size:20px !important;
}
}