@charset "utf-8";
/* CSS Document */

@media screen and (min-width: 1025px) {
	.header_contact {
		background: #eb6101;
	}
}

.page_ttl_wrap {
	background: url("../images/contact/page_ttl_back.jpg");
}

.top_msg {
	text-align: center;
	font-size: 3rem;
	font-weight: bold;
	margin-bottom: 60px;
	line-height: 160%;
}

.tel_wrap {
	justify-content: center;
	align-items: center;
	max-width: 1000px;
	margin: 0px auto;
}

.tel_wrap > div {
	text-align: center;
}

.info_area {
	width: 70%;
}

.soudan_free {
	background: #008E80;
}

.tel_wrap .tel_num {
	padding: 20px 0px;
}

.tel_wrap .tel_num span {
	color: #000;
	font-size: 9rem;
}

.tel_wrap .tel_num span::before {
	background: url("../images/common/icon_tel_black.svg");
	width: 80px;
	height: 64px;
}

.tel_time {
	text-align: center;
	font-size: 2rem;
}

.img_area {
	width: 30%;
}

.img_area img {
	width: auto;
	height: 280px;
}



/* ---------------------------------------------------------
フォーム
--------------------------------------------------------- */

section#form {
	padding: 50px 0px 0px !important;
}

body.contact section#form .inner_wrap {
	max-width: 750px;
}

.contact_table {
	width: 100%;
}

.contact_table tr {
	display: block;
	padding: 10px 0px;
}

.contact_table tr > * {
	font-size: 1.6rem;
	text-align: left;
	font-weight: 500;
}

.contact_table th {
	width: 200px;
}

.contact_table td {
	width: 600px;
}

.contact_table td input[type=text],
.contact_table td textarea {
	border: 1px solid #666666;
	padding: 5px;
	width: 96%;
}

.contact_table td textarea {
	height: 300px;
	resize: none;
}

.contact_table td > span {
	margin-right: 20px;
	margin-left: 0px !important;
	margin-bottom: 20px;
	display: inline-flex;
}

.contact_table td input[type="checkbox"] {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/* チェックボックスデザイン */
.contact_table td input[type="checkbox"] {
    cursor: pointer;
    position: relative;
 	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
 }
  
.contact_table td input[type="checkbox"]::before,
.contact_table td input[type="checkbox"]::after {
    content: "";
    display: block; 
    position: absolute;
}

.contact_table td input[type="checkbox"]:checked::before {
    background-color: #008E80;
    border: 1px solid #008E80;
}

.contact_table td input[type="checkbox"]::before {
    border-radius: 0%;
    border: 1px solid #000;
    width: 20px;/*チェックボックスの横幅*/
    height: 20px;/*チェックボックスの縦幅*/
}
  
.contact_table td input[type="checkbox"]::after {
    border-bottom: 3px solid #FFF;/*チェックの太さ*/
    border-left: 3px solid #FFF;/*チェックの太さ*/
    opacity: 0;/*チェック前は非表示*/
    height: 6px;/*チェックの高さ*/
    width: 11px;/*チェックの横幅*/
    transform: rotate(-45deg);
	top: -6px;
}

.contact_table td input[type="checkbox"]:checked::after {
    opacity: 1;/*チェック後表示*/
}

.contact_table td label {
	white-space: nowrap;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	padding-left: 14px;
}

.contact_table td label > span {
	padding-left: 18px;
}

section#form .btn_wrap {
	text-align: center;
	padding: 50px 0px 0px;
}

.btn_wrap input[type=submit] {
	background: #008E80;
	color: #FFF;
	font-size: 2.5rem;
	border: 0px;
	padding: 10px 0px;
	width: 300px;
}

.btn_wrap input[type=submit]:hover {
	opacity: 0.6;
	transition: 0.6s;
}




/* ---------------------------------------------------------
確認ページ
--------------------------------------------------------- */

body.confirm .contact_table tr {
	border-bottom: 1px solid #CCC;
	padding: 20px;
}

body.confirm .contact_table tr:nth-of-type(1) {
	border-top: 1px solid #CCC;
}




/* ---------------------------------------------------------
完了ページ
--------------------------------------------------------- */

body.complete #contents {
	padding: 126px 0px 0px;
}

body.complete section#form {
	padding: 0px 0px 100px !important;
}

section#complete_tel {
	background: url("../images/contact/comlete_tel_back.jpg");
	background-repeat: no-repeat;
	background-size: cover;
}

.complete_tel_wrap {
	background: rgba(255,255,255,0.4);
	padding: 50px;
}

.complete_tel_wrap > p {
	text-align: center;
}

.complete_tel_wrap .tel_num {
	color: #000;
	font-size: 10rem;
	padding: 20px 0px;
}

.complete_tel_wrap .tel_num span::before {
	width: 82px;
	height: 64px;
	background: url("../images/common/icon_tel_black.svg");
}

.tel_time {
	font-size: 3rem;
}











