@charset "utf-8";

* {
	box-sizing: border-box;
}
button {
	outline: none;
}
button:focus {
	border: none;
}

.inquiryBody {
	position: relative;
	overflow: hidden;
	/* height: 800px; */
}

	.inquiryBody p {
    line-height: 1.6em;
    margin-top: 1em;
    margin-bottom: 1em;
}

.page {
	width: 100%;
	position: absolute;
	transition: transform .2s ease;
	padding-bottom: 2rem;
	background-color: #F9F9F9;
}
.page.next {
	transform: translateX(100%);
}
.page.prev {
	transform: translateX(-100%);
	z-index: 1;
}

.inq_history {
	padding: 1rem;
	background-color: #d4d5da;
	border-radius: 2px;
	font-size: 1.1rem;
	margin-bottom: 2rem;
}
	.inq_history > span {
		display: block;
	}
	.inq_history > span.inq_history_current {
		font-weight: bold;
		font-size: 1.2rem;
	}
	.inq_history > span::before {
		content: "└";
		padding-right: .5rem;
	}
	.inq_history > span:first-child::before {
		content: none;
	}

.page_description {
	margin-bottom: 2rem;
}
.inquiry_choices {
	margin: 2rem 0;
}
.inq_choice_radio {
	display: none;
}
.inq_choice_label {
	cursor: pointer;
}
.inq_choice_dl {
	width: 80%;
	position: relative;
	margin: 1rem auto;
	background-color: #e9eaec;
	padding: 1rem;
	border-radius: 5px;
}
	.inq_choice_radio:checked + .inq_choice_label > .inq_choice_dl {
		background-color: #cbd1d4;
	}
.inq_choice_dl dt {
	font-weight: normal;
	font-size: 1.2rem;
	margin-bottom: .5rem;
}
.inq_choice_dl dd {
	color: #999;
	font-size: .95rem;
}

.inq_next {
	border: none;
	display: block;
	font-size: 1.3rem;
	padding: .7rem 5rem;
	background-color: #5673c5;
	border-radius: 5px;
	color: white;
	position: relative;
	margin: 0 0 0 auto;
}
	.inq_next.disabled {
		background-color: #c7cade;
	}
	.inq_next.none {
		display: none;
	}
.inq_back {
	padding: .5em 1em;
	color: #333;
	font-size: 1em;
	margin: 1em 0 .5em 1em;
	display: block;
	position: relative;
	width: 10em;
	cursor: pointer;
	border: none;
	background-color: transparent;
	text-align: left;
}
.inq_back::before {
	content: "";
	position: absolute;
	border-top: 1px solid #333;
	border-left: 1px solid #333;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	width: 1em;
	height: 1em;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}
	.inq_back.disabled {
		color: #999;
	}
	.inq_back.disabled::before {
		border-color: #999;
	}


	p.ref_box {
		margin: 2rem 0;
	}
	.relief {
    margin: 3rem;
    border: 1px solid #999;
    padding: 1rem 1rem;
	}
	.relief_h1 {
    font-weight: bold;
    display: block;
    margin-bottom: 1rem;
    font-size: 1.2rem;
	}
	.relief_h1::before {
		content: "■";
		padding-right: .5rem;
	}
	.relief_inquiry {
    display: block;
    margin: 1rem auto;
    width: max-content;
    cursor: pointer;
		color: #00F;
		text-decoration: underline;
		font-size: 1.1rem;
	}
	.relief_inquiry::before {
		content: ">> ";
		/* padding-right: .5rem; */
	}
	.relief_inquiry::after {
		content: " <<";
		/* padding-left: .5rem; */
	}





/* 問合せフォーム
***************************************** */
.inquiryProgress {
	display: flex;
	justify-content: space-between;
	width: 100%;
	position: relative;
	margin: 2rem 0 0;
}
.inquiryProgress_radio {
	display: none;
}
.inquiryProgress_label {
	width: 4rem;
	font-size: .9rem;
	line-height: .9rem;
	text-align: center;
	z-index: 2;
	position: relative;
	margin-top: 30px;
}
.inquiryProgress_label::before {
	content: "";
	box-sizing: border-box;
	display: block;
	border-radius: 100%;
	width: 30px;
	height: 30px;
	background-color: #e8e8e8;
	position: absolute;
	left: 50%;
	top: -40px;
	transform: translateX(-15px);
	transition: all .5s ease;
}
.inquiryProgress_radio.after + .inquiryProgress_label::before {
	background-color: #2b79b1;
}
.inquiryProgress_radio:checked + .inquiryProgress_label {
	font-weight: bold;
}
.inquiryProgress_radio:checked + .inquiryProgress_label::before {
	background-color: #fff;
	border: 6px solid #2b79b1;	
}
.inquiryProgress_gage {
	position: absolute;
	background-color: #e8e8e8;
	width: calc(100% - 4rem);
	height: 10px;
	border-radius: 10px;
	z-index: 0;
	left: 2rem;
}
.inquiryProgress_gage_inner {
	background-color: #2b79b1;
	width: 0%;
	transition: width .5s ease;
	position: absolute;
	height: 10px;
	border-radius: 10px;
	z-index: 1;
}
.inquiryEachWrap > textarea {
	border-radius: 5px;
	width: 90%;
	margin: 0 1rem;
	height: 7rem;
	padding: .5rem;
	font-size: 1.2rem;
}


.pop {
	background-color: rgba(0,0,0,.3);
	width: 100vw;
	height: 100%;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	display: block;
	z-index: -9999;
	transition: opacity .5s ease;
	opacity: 0;
}
.pop.on {
	z-index: 9999;
	opacity: 1;
}
	.pop_wrapper {
		height: 100vh;
    position: relative;
	}
.popBox {
	/* width: 12rem; */
	width: 30vw;
	height: 10rem;
	/* height: min-content; */
	text-align: center;
	border-radius: 5px;
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	background-color: white;
	padding: 1rem 10px;
	box-shadow: 0 0 10px rgba(0,0,0,.6);
}
.popBox_message::after {
	content: "閉じる";
	padding: .5rem 1rem;
	border-radius: 5px;
	background-color: #eee;
	display: block;
	margin-top: 1rem;
	width: 50%;
	position: relative;
	left: 0;
	right: 0;
	margin: 2rem auto 0;
}
.popBox_icon {
	width: 100%;
	text-align: center;
	font-size: 2.4rem;
	color: #f10d72;
	margin: .5rem 0 1rem 0;
}
.popBox_message {
	width: 100%;
	text-align: center;
}


.ex {
	border-radius: 5px;
	padding: .5rem;
	font-size: .9rem;
	/* text-indent: -1em; */
	background-color: #edeef1;
	margin: 1rem 0;
}
.ex span {
	display: block;
	position: relative;
	margin-bottom: .5rem;
	margin-left: 2em;
}
.ex.bad span::before {
	content: "△";
	position: absolute;
	left: -1.2em;
	color: #00f;
}
.ex.good span::before {
	content: "○";
	position: absolute;
	left: -1.2em;
	color: #f06;
}
.remain_length {
	margin-top: 1rem;
}
.remain_description {
	color: #f00;
	margin-left: 1em;
	text-indent: -1em;
	font-size: .9rem;
}
.remain_description::before {
	content: "※";
}

.ex_h2 {
	/* text-indent: -1em; */
	font-size: 1.4rem;
	margin-bottom: .5rem;
}
	.bad .ex_h2 {
		color: #00f;
	}
	.good .ex_h2 {
		color: #f06;
	}
.ex_h3 {
	font-size: 1rem;
	/* text-indent: -1em; */
	margin-bottom: 1rem;
}





/* ============================================ */
@media screen and (max-width: 375px){
	.inq_choice_dl {
    width: 100%;
    margin: .5rem auto;
    padding: .5rem;
	}
	.inq_choice_dl dt {
		font-size: 1rem;
		margin-bottom: 0rem;
	}
	.inq_choice_dl dd {
    font-size: .8rem;
	}
	.relief {
    margin: 0;
	}
	.relief_h1 {
    margin-bottom: .2rem;
    font-size: 1rem;
	}
	.relief_inquiry {
    margin: 10px auto;
	}
	.popBox {
		width: 80vw;
	}
}