@charset "utf-8";

.cta.contact{
	display: none;
}
footer{
	border-top: 1px solid var(--border_gray);
}

/*--------------------------------------------------------------------*/

.bodying{
	padding-bottom: 10em;
	padding-top: 2em;
}
.bodying .form{
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto auto;
  grid-template-areas: 
  "service personal"
  "description description"
  "action action";
  gap: 1em;
}
.bodying .form .service{
  grid-area: service;
	width: 22em;
	min-width: 100%;
	padding-right: 2em;
	box-sizing: border-box;
}
.bodying .form .personal{
  grid-area: personal;
}
.bodying .form .description{
  grid-area: description;
}
.bodying .form .action{
  grid-area: action;
}
@media screen and (max-width: 520px){
	.bodying{
		padding-bottom: 20vw;
		padding-left: 5vw;
		padding-right: 5vw;
	}
	.bodying .form{
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: auto auto auto auto;
		grid-template-areas: 
		"service"
		"personal"
		"description"
		"action";
		gap: 1em;
	}
	.bodying .form .service{
		width: auto;
		min-width: 100%;
		padding-right: 0;
	}
}

/*--------------------------------------------------------------------*/

*::placeholder{
	font-weight: inherit;
	color: #AAAAAA;
}
.bodying .form .row{
	margin-bottom: .75em;
}
.bodying .form .title{
  line-height: 1.5;
  padding: .5em 0;
  white-space: nowrap;
}
.bodying .form .title .fs_min{
  font-size: clamp(1.3rem, 75%, 1.4rem);
}
.bodying .form .title sup{
  color: var(--c_red);
  display: inline-block;
  vertical-align: top;
  margin-left: .25em;
}
.bodying .form ._text{
  border: 1px solid #717171;
  border-radius: .33em;
  overflow: hidden;
	min-height: 3em;
}
.bodying .form ._text input{
  width: 100%;
  box-sizing: border-box;
  padding: .75em 1em;
	line-height: 1.5;
}
.bodying .form ._text textarea{
  min-height: 15em;
	width: 100%;
	box-sizing: border-box;
	padding: 1em 1.5em;
	line-height: 1.5;
}
@media screen and (max-width: 520px){
	.bodying .form ._text textarea{
		padding: .5em 1em;
		height: 20em;
	}
}

/*--------------------------------------------------------------------*/

.bodying .form .service .list{
	margin-top: 1em;
}
@media screen and (max-width: 520px){
	.bodying .form .service .list{
		display: grid;
		grid-template-columns: 1fr 1fr;
		font-size: clamp(1rem, 3.6vw, 1.6rem);
	}
}

/*--------------------------------------------------------------------*/

.bodying .form .action input.button{
	padding: .3em 1.2em;
	border-radius: 5em;
	margin: 0 .5em;
	background-color: #ededed;
	color: #000;
}
.bodying .form .action input.button.primary{
	color: #fff;
	background-color: var(--bg_dark);
	padding: .6em 1.2em;
	min-width: 12em;
}
@media screen and (max-width: 520px){
	.bodying .form .action{
		text-align: center;
	}
	.bodying .form .action input.button.primary{
		min-width: 12em;
		margin: 0 auto;
	}
}

/*--------------------------------------------------------------------*/

.mwform-checkbox-field-text{
	padding-left: 1.5em;
	position: relative;
	font-weight: 500;
	display: inline-block;
}
.mwform-checkbox-field-text::before{
	content: "";
	display: block;
	width: 1em;
	height: 1em;
	border-radius: .25em;
	border: 1px solid #717171;
	position: absolute;
	left: 0;
	top: .4em;
}
.mwform-checkbox-field{
	position: relative;
	padding: .15em 0;
}
.mwform-checkbox-field input[type="checkbox"]{
	position: absolute;
	left: 0;
	top: 0;
}
.mw_wp_form .horizontal-item{
	margin-right: 1em;
}
.mw_wp_form .horizontal-item + .horizontal-item{
	margin-left: 0;
}
@media screen and (max-width: 520px){
	.mwform-checkbox-field{
    padding: .2em 0 .2em 0;
    border-bottom: 1px dotted #ccc;
    margin: .4em 0;
		display: block;
	}
	.mwform-checkbox-field label{
		display: block;
	}
}

/*--------------------------------------------------------------------*/

.mwform-checkbox-field input[type="checkbox"]:checked + .mwform-checkbox-field-text::before{
	background-color: var(--bg_dark);
	border: 1px solid var(--bg_dark);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12.81' height='8.951' viewBox='0 0 12.81 8.951'%3E%3Cpath id='path_20462' data-name='Path 20462' d='M9924.724,642.485l4.565,4.565,6.83-6.83' transform='translate(-9924.017 -639.513)' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 75% auto;
}

/*--------------------------------------------------------------------*/
/*確認画面*/

.mw_wp_form_confirm{

}
.bodying .mw_wp_form_confirm .form ._text{
	padding: .75em 1em;
	box-sizing: border-box;
	line-height: 1.5;
	background-color: #fafafa;
	border-color: #ededed;
	overflow-wrap: break-word;
	word-break: break-all;
}
.bodying .mw_wp_form_confirm .form .service .list{
	background-color: #fafafa;
	border: 1px solid #ededed;
	padding: .75em 1em;
	min-height: 3em;
	box-sizing: border-box;
  border-radius: .33em;
}
.bodying .mw_wp_form_confirm .form ._text._textarea{
	padding: 2em 2em;
}
.bodying .mw_wp_form_confirm .form{
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: auto auto auto auto;
		grid-template-areas: 
		"service"
		"personal"
		"description"
		"action";
		gap: 1em;
}
.bodying .mw_wp_form_confirm .form .service{
	width: auto;
	min-width: 100%;
	padding-right: 0;
}
@media screen and (max-width: 520px){
	.bodying .mw_wp_form_confirm .form .service .list{
		display: block;
		font-size: 1.4rem;
	}
	.bodying .mw_wp_form_confirm .form ._text._textarea{
		padding: .75em 1em;
	}
	.bodying .form .action{
		margin-top: 1em;
	}
}

/*--------------------------------------------------------------------*/
/*エラー画面*/

.bodying .form ._text .error{
	font-size: 80%;
	background-color: #fffafa;
	border-top: 1px solid #f1dbdb;
	padding: .5em 1em;
}

/*--------------------------------------------------------------------*/
/*送信完了*/

[data-contact="submitted"] .bodying .description{
	max-width: 40em;
	text-align: left;
	background-color: #FBFBFB;
	border: 1px solid #BFBFBF;
	border-radius: .33em;
	margin: 0 auto;
	padding: 1.5em 3em;
	margin-bottom: 3em;
}
@media screen and (max-width: 520px){
	[data-contact="submitted"] #header .title{
		margin-bottom: 0;
	}
	[data-contact="submitted"] .bodying .description{
		max-width: 100%;
		padding: 1em 1.5em;
	}
}