@charset "UTF-8";
/*//////////////////////////////////////////////////

Title:contact.css

Created:2019-12-25
Last Modified :

//////////////////////////////////////////////////*/

/* ------------------------
  入力＞確認＞完了
  ------------------------ */
.contact_bread {
	line-height: 1;
	width: 100%;
	margin-bottom: 40px;
	display: flex;
}
.contact_bread span {
	background-color: #ccc;
	color: #fff;
	font-size: 24px;
	text-align: center;
	font-weight: bold;
	padding: 20px 0;
	height: 60px;
	display: inline-block;
	position: relative;
}
.contact_bread span:nth-child(1) {
	width: 30%;
}
.contact_bread span:nth-child(2) ,
.contact_bread span:nth-child(3) {
	width: 35%;
	padding-left: 30px;
}
.contact_bread span.contact_bread_active {
	background-color: #66c;
}
.contact_bread span:before {
    content: '';
    position: absolute;
    display: block;
	z-index: 3;
    top: 50%;
	margin-top: -30px;
	right: -29.5px;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-color: transparent transparent transparent #ccc;
	border-width: 30px 0 30px 30px;
}
.contact_bread span.contact_bread_active:before {
	border-color: transparent transparent transparent #66c;
}
.contact_bread span:after {
    content: '';
    position: absolute;
    display: block;
	z-index: 2;
    top: 50%;
	margin-top: -38px;
	right: -38px;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-color: transparent transparent transparent #fff;
	border-width: 38px 0 38px 38px;
}
.contact_bread span:last-child:before ,
.contact_bread span:last-child:after {
	border: 0;
}
/* ------------------------
  テキスト
  ------------------------ */
.contact_txt {
	margin-bottom: 40px;
	line-height: 1.8;
}
.contact_txt a {
	color: #66c;
}
/* ------------------------
  ｃｖボタン
  ------------------------ */
.contact_btn_wrap {
	text-align: center;
	width: 100%;
}
.contact_conf_btn ,
.contact_comp_btn ,
.contact_back_btn {
	font-weight: bold;
	display: inline-block;
	text-align: center;
	border-radius: 3px;
	font-size: clamp(20px,2.5vw,28px);
	width: 100%;
	max-width: 720px;
	padding: 24px 0 20px;
}
.container .contact_conf_btn ,
.container .contact_comp_btn {
	color: #fff;
	background-color: #66c;
}
.contact_back_btn {
	color: #666;
	background-color: #e6e6e6;
	margin-right: 40px;
}
.contact_comp_btn {
	letter-spacing: 15px;
}
.contact_conf_btn:hover ,
.contact_comp_btn:hover {
	color: #fff;
	opacity: .7;
}
.contact_back_btn:hover {
	color: #666;
	opacity: .7;
}
/* ------------------------
  入力欄
  ------------------------ */
.contact_input_wrap {
	width: 100%;
}
.contact_input_dl {
	width: 100%;
	border-top: 2px solid #ccc;
	font-size: 0;
}
.contact_input_dl:last-child {
	border-bottom: 2px solid #ccc;
}
.contact_input_dl tr {
}
.contact_input_dl dt ,
.contact_input_dl dd {
	padding: 20px 0 20px 10px;
	text-align: left;
	display: inline-block;
    vertical-align: middle;
}
.contact_input_dl dt {
	padding-right: 0;
	width: calc(30% - 5px);
	font-size: 18px;
	font-weight: bold;
}
.contact_input_dl dd {
	width: 70%;
}
.contact_input_dl dt span {
	background-color: #ff3e3e;
	color: #fff;
	font-size: 16px;
	line-height: 1;
	border-radius: 15px;
	padding: 6px 10px 4px;
	float: right;
}
.contact_input_dl input + label {
	width: calc(50% - 5px);
}
.content_box_agent .contact_input_dl input + label {
	width: 33%;
}
.content_box input[type=radio] ,
.content_box input[type=checkbox] {
	display: none;
}
.content_box input + label {
	display: inline-block;
	vertical-align: top;
	font-size: clamp(14px,2.5vw,18px);
	padding: 10px 0 10px 35px;
	margin: 0;
	cursor: pointer;
	position: relative;
}
.content_box input + label:before {
    content: '';
    position: absolute;
    display: block;
	border: 1px solid #999;
	background-color: #fff;
}
.content_box input[type=radio] + label:before {
    top: 10px;
	left: 0;
	width: 30px;
	height: 30px;
	border-radius: 17px;
}
.content_box input[type=checkbox] + label:before {
    content: '';
    position: absolute;
    display: block;
    top: 12px;
	left: 0;
	width: 26px;
	height: 26px;
	border-radius: 4px;
	border: 1px solid #999;
	background-color: #fff;
}
.content_box input[type=checkbox]:checked + label:after {
    content: '';
    position: absolute;
    display: block;
    top: 8px;
	left: 8px;
	width: 14px;
	height: 22px;
    border-right: 6px solid #e462d3;
    border-bottom: 6px solid #e462d3;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
.content_box .input_wrap_err input + label:before {
	border: 1px solid #c44;
}
.content_box input[type=radio]:checked + label:after {
    content: '';
    position: absolute;
    display: block;
    top: 15px;
	left: 5px;
	width: 20px;
	height: 20px;
	border-radius: 11px;
	background-color: #e462d3;
}
.content_box input[type=text] ,
.content_box select ,
.content_box textarea {
	border-radius: 4px;
	border: 1px solid #999;
	background-color: #fff;
	padding: 10px;
	font-size: 18px;
}
.content_box input[type=text]:disabled ,
.content_box select:disabled ,
.content_box textarea:disabled {
	border: 1px solid #bbb;
	background-color: #eee;
}
.content_box input[type=text] {
	width: 100%;
}
.content_box select.input_err ,
.content_box input[type=text].input_err {
	border: 1px solid #c44;
	background-color: #fdd;
}
.content_box input[type=text].input_address {
	width: calc(70% - 5px);
}
.content_box select {
	width: 28%;
	margin-right: 2%;
	padding: 7px;
}
.content_box .select_date_wrap select {
	width: 23%;
	margin-right: 10px;
}
.content_box .select_date_wrap select + span {
	vertical-align: middle;
	font-size: 18px;
	margin-right: 20px;
}
.content_box .select_period_wrap select {
	width: 48%;
}
.content_box .contact_textarea_wrap {
	padding: 10px 0;
}
.content_box textarea {
	width: 100%;
	resize: none;
	height: 120px;
}
.content_box .input_wrap_err textarea {
	border: 1px solid #c44;
}
input::placeholder ,
textarea::placeholder {
  color: #999;
}
input:-ms-input-placeholder ,
textarea:-ms-input-placeholder {
  color: #999;
}
input::-ms-input-placeholder ,
textarea::-ms-input-placeholder {
  color: #999;
}
.input_wrap {
	/*padding-left: 10px;*/
}
/* ------------------------
  エラー表示
  ------------------------ */
.input_wrap_err {
	background-color: #fdd;
}
.contact_errmsg {
	color: #c44;
    font-size: 16px;
    display: block;
}
.parsley-custom-error-message {
	padding-top: 5px;
}
/* ------------------------
  プライバシーポリシー同意チェック
  ------------------------ */
.contact_privecy_wrap {
	width: 100%;
	margin: 60px 0 40px;
}
.contact_privecy_top {
	font-weight: bold;
	text-align: center;
	font-size: 24px;
	margin-bottom: 20px;
}
.contact_privecy_ttl {
	font-weight: bold;
	text-align: center;
	font-size: 18px;
	margin-bottom: 40px;
}
.contact_privecy_ttl h2 {
	font-size: 24px;
	margin-bottom: 20px;
}
.contact_privecy_ttl h2:after {
	content: none;
}
.contact_privecy_txt {
	overflow-y: scroll;
	overflow-x: hidden;
	height: 240px;
	border: solid 2px #ccc;
	margin: 0 auto 40px;
	width: 720px;
	padding: 10px;
	font-size: 14px;
}
.contact_privecy_ol {
	list-style-type: decimal;
	padding-left: 30px;
}
.contact_privecy_ol > li {
	padding-bottom: 10px;
}
.contact_privecy_ol ul {
	padding-left: 20px;
}
.contact_privecy_ol ul li {
	padding-top: 5px;
	list-style: disc;
}
.contact_privecy_adress {
	padding: 10px 0 0 20px;
}
.privecy_chk_wrap {
	background-color: #fdd;
	text-align: center;
	margin: 0 auto 40px;
	padding: 10px 0;
	width: 100%;
	max-width: 720px;
}
.privecy_chk_wrap input[type=checkbox] + label:before {
	border: 1px solid #c44;
}
/* ------------------------
  確認欄
  ------------------------ */
.contact_conf_wrap {
	width: 100%;
	margin-bottom: 70px;
}
.contact_conf {
	width: 100%;
	border: 2px solid #ccc;
	border-bottom: 0;
	width: 100%;
	font-size: 0;
	background-color: #f9f9f9;
}
.contact_conf:last-child {
	border-bottom: 2px solid #ccc;
}
.contact_conf_q ,
.contact_conf_a {
	font-size: 18px;
	padding: 26px 20px;
	display: inline-block;
	vertical-align: middle;
	min-height: 78px;
}
.contact_conf_q {
	width: 35%;
	font-weight: bold;
}
.contact_conf_a {
	border-left: 2px solid #ccc;
	background-color: #fff;
	width: 65%;
}
/* ------------------------
  完了
  ------------------------ */
.contact_txt_comp {
	margin-top: 60px;
	text-align: center;
	width: 100%;
}
.contact_txt_ttl {
	font-size: 28px;
	font-weight: bold;
	margin-bottom: 40px;
	display: block;
}
.contact_top_btn {
	font-weight: bold;
	display: inline-block;
	text-align: center;
	border: 2px solid #66c;
	border-radius: 3px;
	font-size: 24px;
	width: 360px;
	height: 80px;
	padding: 22px;
	margin: 80px 0;
	color: #66c;
}
.contact_top_btn:hover {
	color: #66c;
	opacity: .7;
}

@media screen and (max-width: 991px) {
/*//////////////////////////////////////////////////

  max-width: 991px start SP

//////////////////////////////////////////////////*/
	.contact_bread {
		margin-bottom: 30px;
	}
	.contact_bread span {
		padding: 10px 0;
		height: 40px;
	}
	.contact_bread span:before {
		margin-top: -20px;
		right: -19.5px;
		border-width: 20px 0 20px 20px;
	}
	.contact_bread span:after {
		margin-top: -26px;
		right: -26px;
		border-width: 26px 0 26px 26px;
	}
	.contact_bread span:nth-child(2) ,
	.contact_bread span:nth-child(3) {
		padding-left: 15px;
	}
	.contact_txt {
		margin-bottom: 20px;
	}
	.contact_privecy_top {
		font-size: 20px;
	}
	.contact_input_dl dt ,
	.content_box input + label ,
	.content_box input[type=text] ,
	.content_box select,
	.content_box textarea ,
	.content_box .select_date_wrap select + span ,
	.contact_privecy_ttl ,
	.privecy_chk_wrap input[type=checkbox] + label ,
	.contact_conf_q ,
	.contact_conf_a {
		font-size: 16px;
	}
	.contact_input_dl dt span ,
	.contact_errmsg {
		font-size: 14px;
	}
	.content_box input + label {
		padding: 10px 0 10px 25px;
	}
	.content_box input[type=radio] + label:before {
		top: 14px;
		width: 20px;
		height: 20px;
		border-radius: 15px;
	}
	.content_box input[type=radio]:checked + label:after {
        top: 18px;
        left: 4px;
        width: 12px;
        height: 12px;
		border-radius: 8px;
	}
	.content_box input[type=checkbox] + label:before {
		top: 14px;
		width: 20px;
		height: 20px;
		border-radius: 4px;
	}
	.content_box input[type=checkbox]:checked + label:after {
		top: 9px;
		left: 7px;
		width: 12px;
		height: 18px;
		border-right: 5px solid #e462d3;
		border-bottom: 5px solid #e462d3;
	}
	.content_box_agent .contact_input_dl input + label {
		width: 50%;
	}
	.content_box .select_date_wrap select {
		margin-right: 5px;
	}
	.content_box .select_date_wrap select + span {
		margin-right: 10px;
	}
	.content_box .select_date_wrap select + span:last-child {
		margin-right: 0;
	}
	
	
	.contact_privecy_wrap {
		margin: 40px 0;
	}
	.contact_privecy_ttl {
		margin-bottom: 20px;
	}
	.contact_privecy_ttl h2 {
		font-size: 20px;
		margin-bottom: 15px;
	}
	.contact_privecy_txt {
		height: 200px;
		margin: 0 auto 30px;
		width: 720px;
		padding: 10px;
	}
	.privecy_chk_wrap {
		margin: 0 auto 40px;
		padding: 10px 0;
		width: 360px;
	}
	.contact_conf_btn ,
	.contact_comp_btn ,
	.contact_back_btn {
		padding: 15px 0 13px;
	}
	/* ------------------------
	  確認欄
	  ------------------------ */
	.contact_conf_q ,
	.contact_conf_a {
		padding: 20px 15px;
		min-height: 62px;
	}
	/* ------------------------
	  完了
	  ------------------------ */
	.contact_top_btn {
		width: 320px;
		height: 70px;
		padding: 18px;
	}
/*//////////////////////////////////////////////////

  max-width: 991px end SP

//////////////////////////////////////////////////*/
}
@media screen and (max-width: 767px) {
/*//////////////////////////////////////////////////

  max-width: 767px start SP

//////////////////////////////////////////////////*/
	.content_box_contact ,
	.content_box_agent {
		margin-left: 20px;
		margin-right: 20px;
	}
	.contact_input_dl dt ,
	.contact_input_dl dd {
		width: 100%;
	}
	.contact_input_dl dt  {
		padding: 20px 0 0;
	}
	.contact_input_dl dd  {
		padding: 10px 0 20px;
	}
	.contact_input_dl dt span {
		float: none;
		display: inherit;
		margin-left: 10px;
	}
	.contact_privecy_txt ,
	.privecy_chk_wrap ,
	.content_box select ,
	.content_box input[type=text] , 
	.content_box input[type=text].input_address ,
	.content_box .select_period_wrap select {
		width: 100%;
		padding: 10px 5px;
	}
	.content_box select {
		margin: 0 0 20px;
	}
	.content_box .select_date_wrap select ,
	.content_box .select_period_wrap select {
		margin-bottom: 0;
	}
	.contact_bread {
		margin-bottom: 20px;
	}
	.contact_bread span {
		font-size: 18px;
		padding: 10px 0;
		height: 36px;
	}
	.contact_bread span:before {
		margin-top: -18px;
		right: -17.5px;
		border-width: 18px 0 18px 18px;
	}
	.contact_bread span:after {
		margin-top: -22px;
		right: -22px;
		border-width: 22px 0 22px 22px;
	}
	.contact_txt {
		margin-bottom: 20px;
	}
	.contact_privecy_top {
		font-size: 18px;
	}
	.contact_input_dl dt ,
	.content_box input + label ,
	.content_box input[type=text] ,
	.content_box select,
	.content_box textarea ,
	.content_box .select_date_wrap select + span ,
	.contact_privecy_ttl ,
	.privecy_chk_wrap input[type=checkbox] + label ,
	.contact_conf_q ,
	.contact_conf_a {
		font-size: 14px;
	}
	.content_box input + label ,
	.privecy_chk_wrap input[type=checkbox] + label {
		padding-top: 12px;
	}
	.contact_input_dl dt span ,
	.contact_errmsg {
		font-size: 13px;
	}
	.contact_privecy_ttl h2 {
		font-size: 18px;
		margin-bottom: 10px;
	}
	.contact_conf_btn ,
	.contact_comp_btn ,
	.contact_back_btn {
	}
	.contact_comp_btn ,
	.contact_back_btn {
		width: 45%;
	}
	.contact_back_btn {
		margin-right: 5%;
	}
	/* ------------------------
	  確認欄
	  ------------------------ */
	.contact_conf_wrap {
		margin-bottom: 40px;
	}
	.contact_conf {
		border: 2px solid #ccc;
		border-bottom: 0;
	}
	.contact_conf_q ,
	.contact_conf_a {
		font-size: 14px;
		padding: 15px 10px;
		min-height: 52px;
	}
	.contact_conf_q {
		width: 100%;
	}
	.contact_conf_a {
		border-top: 2px solid #ccc;
		border-left: 0;
		width: 100%;
	}
	/* ------------------------
	  完了
	  ------------------------ */
	.contact_txt_comp {
		font-size: 14px;
		margin-top: 60px;
	}
	.contact_txt_ttl {
		font-size: 18px;
		margin-bottom: 20px;
	}
	.contact_top_btn {
		border-radius: 3px;
		font-size: 16px;
		width: 210px;
		height: 60px;
		padding: 18px;
		margin: 40px 0;
	}
/*//////////////////////////////////////////////////

  max-width: 767px end SP

//////////////////////////////////////////////////*/
}