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

/* contents02 */

.contents02 {
    width: 100%;
    text-align: center;
    background-image: url("../../images/contact/img01.jpg");
background-position: center top;
background-repeat: no-repeat;
background-size: cover;
    padding: 60px 0px;
}

/* layout01 */

.layout01 {
    text-align: center;
}

.layout01 p {
    line-height: 2;
}

/* layout02 */

.layout02 {
    width: 100%;
    position: relative;
    padding: 80px 0px;
}

.layout02::before {
    content: "";
	position: absolute;
left: 0px;
top: 0px;
	width: 100%;
	height: 100%;
    background-color: rgba(0,0,0,0.6);
    mix-blend-mode: multiply;
    z-index: -1;
    display: block;
}

.layout02 h2, .layout02 h3, .layout02 h4, .layout02 p {
    color: #FFF;
    line-height: 1.8;
    letter-spacing: 0.1em;
    font-weight: var(--base-font-weight);
}

.layout02 h2, .layout02 h4 {
    font-weight: 300;
}

.layout02 h2 {
    font-size: 35px;
}

.layout02 h3 {
    padding: 15px 0px 40px;
}

.layout02 h4 {
    font-size: 28px;
    line-height: 1.6;
    margin-bottom: 40px;
}


/* layout03 */

.layout03 {
    width: 100%;
    padding: 80px 0px 100px;
    background-color: #d3d9dd;
}

/* faq-box */

.layout-faq {
    width: 980px;
}

.layout-faq .box:not(:last-child) {
    margin-bottom: 30px;
}

.faq-box {
	position: relative;
	padding-left: 140px;
	display: none;/*はじめは非表示*/
	margin-top: 15px;
    height: 100px;
    border-top-style : solid;
border-color : rgba(0,0,0,0.5);
border-width : 1px;
}

.faq-box::before {
	content: "";
	position: absolute;
left: 0px;
top: 0px;
	background-image: url("../../images/contact/answer.svg");
background-position: left top;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 120px;
	height: 99px;
}

.faq {
	position: relative;/*+マークの位置基準とするためrelative指定*/
    cursor: pointer;
    transition: all .5s ease;
    height: 100px;
}

.faq h6 {
	font-size: 22px;
line-height: 1.4;
letter-spacing: 0.05em;
    font-weight: var(--base-font-weight);
	position: relative;
    padding-left: 140px;
    height: 100px;
    display: flex;
  justify-content: flex-start;
align-items: center;
flex-wrap: wrap;

}

.faq h6::before {
	content: "";
	position: absolute;
left: 0px;
top: 0px;
	background-image: url("../../images/contact/question.svg");
background-position: left top;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 120px;
	height: 100px;
}

.faq-box p {
line-height: 1.6;
    height: 100px;
   display: flex;
  justify-content: flex-start;
align-items: center;
flex-wrap: wrap;
}

.faq::before,
.faq::after{
    position: absolute;
    content:'';
    width: 30px;
    height: 1px;
    background-color: #000;
	 transition: all .5s ease;
    
}
.faq::before{
    top:50%;
    right: 30px;
    transform: rotate(0deg);
    
}
.faq::after{    
    top:50%;
    right: 30px;
    transform: rotate(90deg);

}
/*　closeというクラスがついたら形状変化　*/
.faq.close::before{
  transform: rotate(45deg);
}

.faq.close::after{
  transform: rotate(135deg);
}



/*contact*/

.contact {
	width: 960px;
}

.contact table {
	width: 100%;
	text-align: left;
}

.contact table .box {
	margin-bottom:5px;
}

.contact table tr {
	display: flex;
flex-wrap: wrap;
    flex-direction: column;
    gap:20px;
}

.contact table tr:not(:last-child) {
	padding-bottom: 50px;
}

.contact table tr td {
    width: 100%;
	color: #8495a1;
	line-height:1.6;
}

.contact table tr td:first-child {
	font-size: 23px;
    line-height: 1.2;
font-family: var(--number-font);
color: var(--color-sub2);
font-weight: var(--base-font-weight2);
}

.contact table span.sp-view {
	display: none;
}

.contact table tr td input {
	width:100%;
	border-style : solid;
border-color : #b2b2b2;
border-width : 1px;
}

.contact table tr td input.radio {
	width: 15px;
}

.contact table tr td textarea {
	width:100%;
	border-style : solid;
border-color : #b2b2b2;
border-width : 1px;
}

.contact table tr.errer td {
	color: #f3516c;
	vertical-align: middle;
}


.contact span.c01 {
	font-size: 16px;
	line-height: 1.6;
	color: #C30D23;
	vertical-align: top;
	display: inline-block;
	padding-left: 10px;
}

p.text02 {
	line-height: 1.6;
}


input,textarea,button{
	margin:0;
	padding:10px;
	font-size:100%;
	font-weight: var(--base-font-weight);
}

td div.space {
	margin-top: 20px;
}

input[type="text"] {
	outline: 0;
	border: 1px solid rgba(0,0,0,0);;
}

textarea[type="textarea"] {
	border: 1px solid rgba(0,0,0,0);;
	padding: 10px;
}


.button {
	text-align: center;
	margin-top: 50px;
}

button {
	cursor: pointer;
	border:none;
	background-color:rgba(0,0,0,0);
}

.button img {
	height:40px;
	width:auto;
}

button span, a.btn-mail, .btn-box input, .btn-back {
	display:inline-block;
	padding:15px 80px;
	background-color:#009145;
    font-size: 20px;
	color:#FFF;
	font-weight: 300;
	letter-spacing:0.1em;
	transition: .5s;
	border : solid rgba(255,255,255,0) 1px;
}

button:hover span, a.btn-mail:hover, .btn-box input:hover, .btn-back:hover {
	background-color: #41524e;
	opacity: 1;
}


.btn-box {
	padding-top: 40px;
	margin-bottom:30px;
	display: flex;
  justify-content: center;
align-items: center;
flex-wrap: wrap;
	gap:10px;
}



#formWrap {
	width:100%;
	padding-top: 60px;
	padding-bottom: 60px;
	margin:0 auto;
	line-height:1.6;
	font-size:16px;
}


table.formtable{
	width:100%;
	margin:0 auto;
	border-collapse:collapse;
}



table.formtable tr {
	display: flex;
flex-wrap: wrap;
    flex-direction: column;
    gap:20px;
}

table.formtable tr:not(:last-child) {
	padding-bottom: 50px;
}

table.formtable td, table.formtable th {
    width: 100%;
	line-height:1.6;
	text-align: left;
}

table.formtable th{
    font-size: 23px;
    line-height: 1.2;
font-family: var(--number-font);
color: var(--color-sub2);
font-weight: var(--base-font-weight2);
}

table.formtable td {
	width: 100%;
	border-style : solid;
border-color : #b2b2b2;
border-width : 1px;
	padding: 10px 15px;
    color: #8495a1;
}


.contact h4 {
	line-height: 1.6;
	letter-spacing: 0.05em;
	font-weight: var(--base-font-weight);
	margin-bottom:30px;
}

.contact h5 {
	line-height: 1.6;
	letter-spacing: 0.2em;
	font-size: 24px;
	font-weight: var(--base-font-weight);
	text-align: center;
	margin-bottom: 20px;
}

span.text003 {
	display:none;
}


.contact .checktext {
    width: 100%;
	text-align: center;
	padding-top: 50px;
}

.contact .checktext h6 {
line-height: 1.2;
letter-spacing: 0.15em;
font-weight: var(--base-font-weight);
	font-size: 24px;
	margin-bottom: 20px;
}

.contact .checktext div.box-text {
	border-style : solid;
    border-color : #b2b2b2;
    border-width : 1px;
	background-color: #FFF;
	margin-bottom: 20px;
	text-align: left;
	overflow: auto;
	height: 200px;
}

.contact .checktext div.box-text .box-box {
	padding: 30px;
}

.contact .checktext div.box-text p {
    line-height: 1.8;
    letter-spacing: 0.05em;
	font-size: 16px;
}

.contents-contact .maincontents-inner {
	padding-top: 0px;
}


.sp-view {
	display: none;
}
