@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
.headLine03 {
	margin-bottom: 7.2rem;
}
#main .contactList {
	margin-bottom: 9.8rem;
	display: flex;
	gap: 2rem 4rem;
}
#main .contactList li {
	width: calc((100% - 4rem) / 2);
}
#main .contactList li:not(a) {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#main .contactList .telSpan {
	margin: 0 2rem 0 -0.5rem;
	width: 10.3rem;
	flex-shrink: 0;
}
#main .contactList a {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#main .contactList .subSpan {
	flex: 1;
	font-size: 5.75rem;
	letter-spacing: 0.1em;
	font-weight: 700;
	line-height: 1;
	text-align: right;
}
#main .contactList .subSpan small {
	margin: 2.4rem 1rem 0 0;
	display: block;
	font-size: 2.4rem;
	font-weight: 400;
	letter-spacing: 0;
}
#main .comConcept p {
	margin-bottom: 3.3rem;
	line-height: 2.083;
}
#main .comConcept p:last-child {
	margin-bottom: 0;
}
#main .comConcept p .contactSpan {
	text-indent: -1em;
	padding-left: 1em;
	display: inline-block;
}
#main .formDl {
	margin-bottom: 5.2rem;
	align-items: stretch;
	line-height: 1.75;
	border-top: 1px solid #CBCBCB;
}
#main .formDl > dt {
	padding: 3.7rem 0 3.7rem 0;
	width: 38.3rem;
	display: flex;
	align-items: center;
	border-bottom: 1px solid #CBCBCB;
}
#main .formDl > .dtStyle .subSpan {
	align-self: flex-start;
}
#main .formDl > dt .subSpan {
	width: 100%;
	display: flex;
	justify-content: space-between;
}
#main .formDl > dd {
	padding: 3.7rem 0 3.7rem 3.8rem;
	width: calc(100% - 38.3rem);
	border-bottom: 1px solid #CBCBCB;
}
#main .formDl .must {
	margin-top: 0.5rem;
	max-height: 3.3rem;
	width: 7.1rem;
	line-height: 1.6;
	text-align: center;
	color: #fff;
	font-size: 2rem;
	background-color: #DE0000;
}
select,
input[type="email"],
input[type="tel"],
input[type="text"] {
    appearance:none;
    -moz-appearance:none;
    -webkit-appearance:none;
    border-radius: 0.5rem;
    height: 4.5rem;
	color: #000;
	border: 1px solid #DBDBDB;
    box-sizing: border-box;
    font-size: 1.8rem;
    padding: 0 2rem;
    width: 63%;
	font-weight: 500;
    letter-spacing: 0.05em;
    background-color: #fff;
}
#main .formDl .subDl .wid[type="text"] {
	width: 42.2%;
}
select {
	width: 42.2%;
	background: #fff url(../image/common/selec_bg.png) no-repeat right 1.8rem center;
	background-size: 2rem auto;
}
input::-webkit-input-placeholder { /* WebKit browsers */
    color: #CBCBCB;
    opacity:1;
}
input:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
    color: #CBCBCB;
    opacity:1;
}
input::-moz-placeholder {
    color: #CBCBCB;
    opacity:1;
}
input:-ms-input-placeholder { /* Internet Explorer 10+ */
    color: #CBCBCB;
    opacity:1;
}
#main .formDl .subDl {
	margin-top: -1rem;
}
#main .formDl .subDl dt {
	width: 20.5rem;
	padding: 1.2rem 1rem 1.2rem 0;
}
#main .formDl .subDl dd {
	padding: 1.2rem 0.8rem 1.2rem 0;
	width: calc(100% - 20.5rem);
}
#main .formDl .subDl input[type="text"] {
	width: 100%;
}
#main .formDl p {
	margin-bottom: 2rem;
	line-height: 1.75;
}
input[type="checkbox"] {
    display: none;
}
input[type="checkbox"] ~ span {
	background: url(../image/common/check01.png) no-repeat left center;
	background-size: 2.4rem auto;
	border-radius: 0;
    display: inline-block;
    line-height: 3rem;
	cursor: pointer;
    padding: 0.4rem 0 0.4rem 4rem;
}
input[type="checkbox"]:checked ~ span {
	background-image: url("../image/common/check02.png");
}
#main .formDl .underLink {
	text-decoration: underline;
}
#main .formDl .underLink:hover {
	opacity: 0.8;
}
#main .submit {
	text-align: center;
}
#main .submit li {
	margin: 0 1rem;
	display: inline-block;
	width: 40.2rem;
    height: 9.5rem;
    border-radius: 6rem;
	position: relative;
	background : linear-gradient(135deg, rgba(73, 120, 59, 1) 0%, rgba(63, 93, 54, 1) 100%);
	box-shadow: 5px 5px 3px rgba(0, 0, 0, 0.15);
}
#main .submit li:after {
	width: 4.1rem;  
	height: 1.3rem;
	background: url(../image/common/icon01.png) no-repeat;
	background-size: 100% auto;
	position: absolute;  
	top: calc(50% - 0.5rem);
	transform: translateY(-50%);
	right: 3rem;  
	content: ""; 
}
#main .submit input {
    appearance:none;
    -moz-appearance:none;
    -webkit-appearance:none;
	width: 100%;
	height: 100%;
    border-radius: 6rem;
    text-align: center;
    cursor: pointer;
    font-size: 2.8rem;
    font-weight: 500;
    color: #fff;
    border: none;
	letter-spacing: 0.1em;
    background-color: transparent;
}
/* ▼ 「戻る」ボタンの矢印だけ左側へ＆反転 */
#main .submit li.back::after {
    right: auto;           /* デフォルトの right を解除 */
    left: 3rem;            /* 左側に配置 */
    transform: translateY(-50%) scaleX(-1); /* 左向きに反転 */
}

#thanks {
	padding-bottom: 10rem;
}
#thanks h4 {
	font-size: 4rem;
	margin: 0 0 4rem;
}
#thanks p {
	line-height: 1.75;
}

/* textarea（PC） */
#main .formDl textarea {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    border-radius: 0.5rem;
    border: 1px solid #DBDBDB;
    box-sizing: border-box;
    font-size: 1.8rem;
    color: #000;
    padding: 1.2rem 2rem;
    width: 99%;               /* input と同じ幅 */
    font-weight: 500;
    letter-spacing: 0.05em;
    background-color: #fff;
    min-height: 16rem;        /* 高さはお好みで */
    resize: vertical;         /* 変更可。固定したければ none */
}


@media all and (min-width: 897px) {
	#main .comBox .rBox {
		padding-left: 21rem;
	}
	#main .comConcept {
		padding-bottom: 17rem;
		padding-top: 17rem;
	}
	#main .comConcept .headLine03 {
		margin-bottom: 6.7rem;
	}
	#main .submit li:hover {
		opacity: 0.8;
	}
}

@media all and (max-width: 896px) {
	.headLine03 {
		margin-bottom: 3rem;
	}
	#main .inquiries {
		padding-bottom: 5.1rem;
	}
	#main .contactList {
		display: block;
		margin: 0 1rem 0 2.8rem;
	}
	#main .contactList li {
		width: auto;
		margin-bottom: 2.5rem;
	}
	#main .contactList li:last-child {
		margin-bottom: 0;
	}
	#main .contactList .telSpan {
		margin: 0 1rem 0 0;
		width: 5rem;
	}
	#main .contactList .subSpan {
		font-size: 2.87rem;
		text-align: left;
	}
	#main .contactList .subSpan small {
		margin: 1rem 0 0;
		font-size: 1.3rem;
		text-align: left;
	}
	#main .comConcept {
		padding-bottom: 5.3rem;
		padding-top: 3.7rem;
	}
	#main .comConcept p {
		margin-bottom: 3.5rem;
		line-height: 1.67;
	}
	#main .formDl {
		margin-bottom: 2.1rem;
		flex-direction: column;
	}
	#main .formDl > dt {
		font-size: 1.6rem;
		font-weight: 700;
		padding: 1.8rem 0 0.7rem 0;
		width: 100%;
		border-bottom: none;
	}
	#main .formDl > dd {
		padding: 0 0 2.4rem;
		width: 100%;
	}
	#main .formDl .must {
		margin-top: 0;
		width: 5.2rem;
		line-height: 1.5;
		padding-bottom: 0.3rem;
		max-height: 2.4rem;
		font-size: 1.44rem;
		font-weight: 400;
	}
	select, input[type="email"], input[type="tel"], input[type="text"] {
		height: 4.3rem;
		font-size: 1.4rem;
		width: 100%;
	}
	#main .formDl .subDl {
		margin-top: -0.7rem;
		margin-bottom: -0.5rem;
		flex-direction: column;
	}
	#main .formDl .subDl dt{
		width: 100%;
		font-size: 1.4rem;
		font-weight: 500;
		padding: 0.6rem 0 0.2rem;
	}
	#main .formDl .subDl dd {
		width: 100%;
		padding: 0 0 0.2rem;
		font-size: 1.4rem;
	}
	#main .formDl .subDl .wid[type="text"] {
		width: 47%;
	}
	select {
		width: 47%;
		background-size: 1rem auto;
		background-position: right 1.5rem center;
	}
	#main .formDl .dtStyle2 {
		font-size: 1.4rem;
	}
	#main .formDl p {
		margin-bottom: 1rem;
		padding-top: 0.3rem;
	}
	input[type="checkbox"] ~ span {
		background-size: 1.6rem auto;
		padding-left: 2.5rem;
		padding-top: 0.2rem;
	}
	#main .submit li {
		display: block;
		width: auto;
		height: 4.7rem;
		max-width: 20.1rem;
		margin: 0 auto 2rem;
		box-shadow: 2.5px 2.5px 1.5px rgba(0, 0, 0, 0.15);
	}
	#main .submit li:last-child {
		margin-bottom: 0;
	}
	#main .submit input {
		font-size: 1.4rem;
	}
	#main .submit li::after {
		width: 2.1rem;
		right: 1.5rem;
		top: calc(50% + 0.2rem);
	}
	#thanks h4 {
		text-align: center;
		font-size: 2rem;
	}
	
	#main .formDl textarea {
        border-radius: 0.5rem;
        border: 1px solid #DBDBDB;
        box-sizing: border-box;
        font-size: 1.4rem;
        width: 100%;             /* SP は100%に */
        padding: 1rem 2rem;
        background-color: #fff;
        min-height: 14rem;
        resize: vertical;
    }
}