@charset "utf-8";
/*---------------------- contents ----------------------*/
@media screen and (min-width: 768px) {
	#contents {
		padding: 66px 0 0;
	}
}
@media screen and (max-width: 767px) {
	#contents {
		padding: 60px 0 0;
	}
}
/*---------------------- h1 ----------------------*/
#contents h1 {
	text-align: center;
}
#contents h1 .en {
	font-size: 14px;
	font-weight: 600;
	color: #139D8D;
	letter-spacing: 0.165em;
	display: block;
}
#contents h1 .jp {
	font-size: 36px;
	font-weight: 700;
	display: block;
}
@media screen and (min-width: 768px) {
	#contents {
		max-width: 1044px;
		margin: auto;
	}
	#contents h1 {
		margin: 100px 0 80px;
	}
}
@media screen and (max-width: 767px) {
	#contents h1 {
		margin: 30px 0 20px;
	}
	#contents h1 .en {
		font-size: 12px;
	}
	#contents h1 .jp {
		font-size: 26px;
	}
}
/*---------------------- topContainer ----------------------*/
#contents .topContainer {
	max-width: 1044px;
	margin: 0 auto 40px;
}
#contents .topContainer .inquiry, #contents .topContainer .support {
	background-color: #FFF;
	border-radius: 5px;
	padding: 40px 35px 30px;
	box-sizing: border-box;
}
#contents .topContainer .inquiry .title {
	background-image: url(../images/inquiry_icon01.svg);
	background-repeat: no-repeat;
	background-position: left center;
	padding-left: 40px;
	margin: 0 0 15px;
}
#contents .topContainer .inquiry .title h2 {
	font-size: 20px;
	font-weight: 500;
	color: #139D8D;
}
#contents .topContainer .inquiry .title p {
	font-size: 14px;
	letter-spacing: 0.015em;
}
#contents .topContainer .support h2 {
	font-size: 18px;
	font-weight: 500;
	line-height: 25px;
	border-left: 4px solid #139D8D;
	padding-left: 10px;
	margin: 0 0 40px;
}
#contents .topContainer .bg {
	background-color: #F8F8F8;
	border-radius: 10px;
	box-sizing: border-box;
}
#contents .topContainer .inquiry .bg {
	text-align: center;
	padding: 10px 0 15px;
}
#contents .topContainer .inquiry .bg .text1 {
	font-size: 16px;
	line-height: 2.2;
	margin: 0 0 10px;
}
#contents .topContainer .inquiry .bg .text1 .highlight {
	font-size: 19px;
	font-weight: 500;
	color: #139D8D;
}
#contents .topContainer .inquiry .bg .text2 {
	font-size: 12px;
	font-weight: 500;
	color: #139D8D;
}
#contents .topContainer .support p {
	font-size: 13px;
	line-height: 2.0;
	color: #3B4043;
}
@media screen and (min-width: 768px) {
	#contents .topContainer {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
	#contents .topContainer .inquiry {
		width: 595px;
	}
	#contents .topContainer .support {
		width: 430px;
	}
	#contents .topContainer .support .bg {
		height: 165px;
		padding: 43px 0 0 50px;
	}
}
@media screen and (max-width: 767px) {
	#contents .topContainer {
		margin: 0 0 30px;
	}
	#contents .topContainer .inquiry, #contents .topContainer .support {
		padding: 25px 6% 20px;
		border-radius: 0;
	}
	#contents .topContainer .inquiry {
		margin: 0 0 20px;
	}
	#contents .topContainer .inquiry .title {
		background-position: left top 3px;
		padding-left: 45px;
	}
	#contents .topContainer .inquiry .title h2 {
		font-size: 18px;
		line-height: 1.4;
		margin: 0 0 5px;
	}
	#contents .topContainer .inquiry .title p {
		font-size: 10px;
	}
	#contents .topContainer .support h2 {
		margin: 0 0 20px;
	}
	#contents .topContainer .inquiry .bg {
		padding: 15px 0;
	}
	#contents .topContainer .inquiry .bg .text1 {
		font-size: 14px;
		line-height: 2.0;
	}
	#contents .topContainer .inquiry .bg .text1 .highlight {
		font-size: 16px;
	}
	#contents .topContainer .inquiry .bg .text2 {
		font-size: 10px;
	}
	#contents .topContainer .support .bg {
		padding: 20px 0 20px 35px;
	}
}
/*---------------------- #form ----------------------*/
#form .inner, #contents .inner.confirm, #contents .inner.completion {
	max-width: 1044px;
	margin: 0 auto 40px;
	background-color: #FFF;
	border-radius: 5px;
	padding: 40px 55px 20px;
	box-sizing: border-box;
}
@media screen and (min-width: 768px) {
	#form .inner.customerInfo {
		padding: 20px 55px;
	}
	#form .inner.searchInfo {
		padding: 30px 55px 1px;
		;
	}
	#contents .inner.confirm, #contents .inner.completion {
		margin: 40px auto;
	}
}
@media screen and (max-width: 767px) {
	#form .inner, #contents .inner.confirm, #contents .inner.completion {
		margin: 0 0 30px;
		border-radius: 0;
		padding: 30px 6% 20px;
	}
	#form .inner.customerInfo {
		padding: 1px 6%;
	}
	#form .inner.searchInfo {
		padding: 20px 6% 1px;
	}
	#form .inner.formBtnContainer {
		padding: 6% 6% 20px;
	}
	#contents .inner.confirm, #contents .inner.completion {
		margin: 0 0 20px;
	}
}
/*---------------------- customerInfo / searchInfo ----------------------*/
#form .inner.searchInfo p.comment {
	text-align: center;
	font-size: 15px;
	font-weight: 700;
	color: #139D8D;
}
#form .inner.customerInfo dl {
	margin: 30px 0;
}
#form .inner.searchInfo dl {
	margin: 20px 0;
}
#form .inner.customerInfo dl dt, #form .inner.searchInfo dl dt {
	font-size: 14px;
	font-weight: 700;
}
#form .inner.customerInfo dl dt .required, #form .inner.searchInfo dl dt .required {
	font-size: 14px;
	font-weight: 500;
	color: #EF5C5C;
	line-height: 24px;
	width: 65px;
	border-radius: 12px;
	background-color: #F8F8F8;
	display: inline-block;
	text-align: center;
	margin-right: 20px;
}
#form .inner.customerInfo dl dd input[type="text"], #form .inner.customerInfo dl dd input[type="tel"], #form .inner.customerInfo dl dd input[type="email"], #form .inner.searchInfo dl dd input[type="text"] {
	display: inline-block;
	font-size: 18px;
	vertical-align: middle;
	border: 1px solid #DEDEDE;
	border-radius: 5px;
	height: 45px;
	padding: 6px 16px;
	box-sizing: border-box;
}
#form .inner.customerInfo dl dd textarea {
	display: inline-block;
	font-size: 18px;
	vertical-align: middle;
	border: 1px solid #DEDEDE;
	border-radius: 5px;
	padding: 10px 16px;
	box-sizing: border-box;
}
#form .inner.customerInfo dl dd input[type="text"]::placeholder, #form .inner.customerInfo dl dd input[type="tel"]::placeholder, #form .inner.customerInfo dl dd input[type="email"]::placeholder {
	font-size: 14px;
	color: #C6C6C6;
	font-weight: 400;
}
#form .inner.customerInfo dl dd .selectPref {
	position: relative;
}
#form .inner.customerInfo dl dd select {
	display: inline-block;
	font-size: 16px;
	border: 1px solid #DEDEDE;
	border-radius: 5px;
	height: 45px;
	padding: 6px 30px 6px 16px;
	box-sizing: border-box;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 100%;
}
#form .inner.customerInfo dl dd select::-ms-expand {
	display: none;
}
#form .inner.customerInfo dl dd .selectPref::after {
	content: '';
	width: 10px;
	height: 10px;
	border-top: solid 2px #707070;
	border-right: solid 2px #707070;
	position: absolute;
	right: 15px;
	top: 50%;
	margin-top: -9px;
	transform: rotate(135deg);
}
#form .inner.customerInfo dl dd .capText {
	font-size: 14px;
	margin-left: 15px;
	color: #3B4043;
}
#form .inner.customerInfo dl dd .inputAddressTitle {
	font-size: 13px;
	color: #3B4043;
	margin: 0 0 5px;
}
#form .inner.customerInfo dl dd .inputAddressSec {
	margin: 0 0 25px;
}
#form .inner.customerInfo dl.inputMessage dd p {
	font-size: 14px;
	color: #3B4043;
	margin: 15px 0 0;
	letter-spacing: 0.015em;
}
@media screen and (min-width: 768px) {
	#form .inner.customerInfo dl, #form .inner.searchInfo dl {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}
	#form .inner.customerInfo dl.inputAddress, #form .inner.customerInfo dl.inputMessage, #form .inner.searchInfo dl.selectSearchEngine {
		-webkit-box-align: start;
		-ms-flex-align: start;
		align-items: flex-start;
	}
	#form .inner.customerInfo dl dt, #form .inner.searchInfo dl dt {
		width: 240px;
		box-sizing: border-box;
		text-align: right;
		padding-right: 30px;
	}
	#form .inner.customerInfo dl dd, #form .inner.searchInfo dl dd {
		width: calc(100% - 240px);
		box-sizing: border-box;
	}
	#form .inner.customerInfo dl.inputMessage dt, #form .inner.searchInfo dl.selectSearchEngine dt {
		padding-top: 10px;
	}
	#form .inner.customerInfo dl.inputName dd input, #form .inner.customerInfo dl.inputKana dd input, #form .inner.customerInfo .inputZipcode input, #form .inner.customerInfo dl.inputAddress dd .selectPref {
		width: 200px;
	}
	#form .inner.customerInfo dl.inputName dd input:first-of-type, #form .inner.customerInfo dl.inputKana dd input:first-of-type {
		margin-right: 20px;
	}
	#form .inner.customerInfo dl.inputCname dd input, #form .inner.customerInfo dl.inputDname dd input, #form .inner.customerInfo dl.inputEmail dd input, #form .inner.customerInfo .inputAddress2 input, #form .inner.customerInfo .inputAddress3 input, #form .inner.searchInfo .searchWord input {
		width: 500px;
	}
	#form .inner.customerInfo dl.inputTel dd input {
		width: 300px;
	}
	#form .inner.customerInfo dl.inputMessage dd textarea {
		width: 500px;
		height: 135px;
		vertical-align: top;
	}
}
@media screen and (max-width: 767px) {
	#form .inner.searchInfo p.comment {
		font-size: 13px;
	}
	#form .inner.customerInfo dl {
		margin: 30px 0;
	}
	#form .inner.searchInfo dl {
		margin: 20px 0;
	}
	#form .inner.customerInfo dl dt, #form .inner.searchInfo dl dt {
		margin: 0 0 15px;
	}
	#form .inner.customerInfo dl dt .required, #form .inner.searchInfo dl dt .required {
		margin-right: 15px;
	}
	#form .inner.customerInfo dl dd input[type="text"], #form .inner.customerInfo dl dd input[type="tel"], #form .inner.customerInfo dl dd input[type="email"], #form .inner.searchInfo dl dd input[type="text"] {
		width: 100%;
	}
	#form .inner.customerInfo dl.inputName dd input:first-of-type, #form .inner.customerInfo dl.inputKana dd input:first-of-type {
		margin-bottom: 15px;
	}
	#form .inner.customerInfo dl.inputMessage dd textarea {
		width: 100%;
		height: 200px;
	}
	#form .inner.customerInfo dl dd .capText {
		margin-top: 5px;
		margin-left: 5px;
		display: block;
	}
	#form .inner.customerInfo dl.inputMessage dd p {
		font-size: 12px;
		margin: 10px 0 0;
	}
}
/*---------------------- searchInfo radio button ----------------------*/
#form .searchInfo dl dd ul.radioBtn {
	display: flex;
	flex-wrap: wrap;
}
#form .searchInfo dl dd ul.radioBtn.mhidden {
	margin: 0 0 -25px;
}
#form .searchInfo dl dd ul.radioBtn li {
	list-style: none;
}
#form .searchInfo dl dd ul.radioBtn li input {
	display: none;
}
#form .searchInfo dl dd ul.radioBtn li label {
	display: inline-block;
	position: relative;
	cursor: pointer;
	border: 1px solid #DEDEDE;
	border-radius: 10px;
	text-align: center;
	box-sizing: border-box;
}
#form .searchInfo dl dd ul.radioBtn li label:before {
	position: absolute;
	content: "";
	width: 28px;
	height: 28px;
	border-radius: 50%;
	border: 1px solid #DEDEDE;
	background-color: #FFFFFF;
}
#form .searchInfo dl dd ul.radioBtn li input[type="radio"]:checked + label {
	background-color: #F5FAF8;
	border: 1px solid #139D8D;
}
#form .searchInfo dl dd ul.radioBtn li input[type="radio"]:checked + label:after {
	position: absolute;
	content: "";
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #139D8D;
}
#form .searchInfo dl.selectSearchEngine dd ul.radioBtn li label {
	padding: 15px 0;
	font-size: 16px;
	font-weight: 500;
}
#form .searchInfo dl.selectSearchEngine dd ul.radioBtn li label:before {
	top: 50%;
	margin-top: -15px;
	left: 10px;
}
#form .searchInfo dl.selectSearchEngine dd ul.radioBtn li input[type="radio"]:checked + label:after {
	top: 50%;
	margin-top: -9px;
	left: 16px;
}
@media screen and (min-width: 768px) {
	#form .searchInfo dl.selectSearchEngine dd ul.radioBtn li {
		margin-right: 20px;
		margin-bottom: 20px;
	}
	#form .searchInfo dl dd ul.radioBtn li label {
		width: 240px;
	}
	#form .searchInfo dl dd ul.radioBtn li label:hover {
		background-color: #F8F8F8;
		border: 1px solid #F8F8F8;
		transition: 0.3s;
	}
}
@media screen and (max-width: 767px) {
	#form .searchInfo dl dd ul.radioBtn {
		display: flex;
		flex-wrap: wrap;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
	#form .searchInfo dl dd ul.radioBtn li {
		width: 47%;
		margin-bottom: 6%;
	}
	#form .searchInfo dl dd ul.radioBtn li label {
		width: 100%;
	}
	#form .searchInfo dl dd ul.radioBtn li label:before {
		width: 22px;
		height: 22px;
	}
	#form .searchInfo dl dd ul.radioBtn li input[type="radio"]:checked + label:after {
		width: 14px;
		height: 14px;
	}
	#form .searchInfo dl.selectSearchEngine dd ul.radioBtn li label {
		padding: 10px 0 10px 20px;
		font-size: 15px;
	}
	#form .searchInfo dl.selectSearchEngine dd ul.radioBtn li label:before {
		margin-top: -12px;
	}
	#form .searchInfo dl.selectSearchEngine dd ul.radioBtn li input[type="radio"]:checked + label:after {
		margin-top: -7px;
		left: 15px;
	}
}
/*---------------------- agreecheckContainer ----------------------*/
#form .inner .agreecheckContainer {
	background-color: #F8F8F8;
	text-align: center;
	padding: 45px 0;
}
#form .inner .agreecheckContainerInner {
	display: inline-block;
}
#form .inner .agreecheckContainer p {
	display: inline-block;
	position: relative;
	padding-left: 50px;
	line-height: 30px;
}
#form .inner .agreecheckContainer p input {
	display: none;
}
#form .inner .agreecheckContainer p label {
	position: absolute;
	content: "";
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 3px solid #139D8D;
	background-color: #FFFFFF;
	top: 50%;
	margin-top: -18px;
	left: 0;
}
#form .inner .agreecheckContainer p input[type="checkbox"]:checked + label:after {
	position: absolute;
	content: "";
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #139D8D;
	top: 50%;
	margin-top: -10px;
	left: 5px;
}
#form .inner .agreecheckContainer p a {
	color: #139D8D;
	text-decoration: underline;
}
@media screen and (min-width: 768px) {
	#form .inner .agreecheckContainer p a:hover {
		text-decoration: none;
	}
}
@media screen and (max-width: 767px) {
	#form .inner .agreecheckContainer {
		padding: 15px 0;
	}
	#form .inner .agreecheckContainer p {
		padding-left: 35px;
		line-height: 26px;
		font-size: 12px;
		margin-right: -30px;
	}
	#form .inner .agreecheckContainer p label {
		width: 20px;
		height: 20px;
		margin-top: -13px;
	}
	#form .inner .agreecheckContainer p input[type="checkbox"]:checked + label:after {
		width: 14px;
		height: 14px;
		margin-top: -7px;
		left: 3px;
	}
}
/*---------------------- Button ----------------------*/
#form .button {
	text-align: center;
	margin: 35px 0 20px;
}
#contents .confirm .button {
	margin: 35px 0 20px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
#form .button button, #contents .confirm .button button {
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.035em;
	text-align: center;
	margin: 0 25px;
	line-height: 60px;
	height: 60px;
	border-radius: 30px;
	cursor: pointer;
	border-style: none;
	background-color: #aaaaaa;
	color: #FFFFFF;
}
#form .button button#submit, #contents .confirm .button button#submit {
	background-color: #139D8D;
}
@media screen and (min-width: 768px) {
	#contents .confirm .button {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
	#form .button button, #contents .confirm .button button {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		position: relative;
		overflow: hidden;
		width: 400px;
	}
	#form .inner.formBtnContainer .button button {
		margin: 0 auto;
	}
	#form .button button span, #contents .confirm .button button span {
		width: 100%;
		height: 100%;
		color: #FFFFFF;
		z-index: 10;
	}
	#form .button button span:before, #contents .confirm .button button span:before {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		width: 0;
		display: block;
		background-color: #969696;
		z-index: -1;
		transition: 0.3s;
	}
	#form .button button span:hover:before, #contents .confirm .button button span:hover:before {
		width: 100%;
	}
	#form .button button#submit span:before, #contents .confirm .button button#submit span:hover:before {
		background-color: #0F8477;
	}
}
@media screen and (max-width: 767px) {
	#form .button {
		text-align: center;
		margin: 30px 0 15px;
	}
	#contents .confirm .button {
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		margin: 30px 0 15px;
	}
	#form .button button, #contents .confirm .button button {
		margin: 0;
		line-height: 50px;
		height: 50px;
		border-radius: 25px;
		width: 46%;
	}
	#form .inner.formBtnContainer .button button {
		width: 80%;
	}
}
/*---------------------- validationEngine ----------------------*/
#form .formError .formErrorContent {
	padding: 0;
	margin: 0;
}
#form .error-message:last-of-type .formError .formErrorContent, #form dd > .error-message:last-of-type, #form dd > div > .error-message {
	margin: 0 0 10px;
}
#form .formError .formErrorContent {
	width: 100%;
}
#form .formError.inline .formErrorContent {
	font-size: 14px;
}
@media screen and (max-width: 767px) {
	#form .formError.inline .formErrorContent {
		font-size: 12px;
	}
}
/*---------------------- 確認・エラー画面(check,error) ----------------------*/
#contents .inner.confirm h1 {
	font-size: 33px;
	font-weight: 700;
	text-align: center;
	color: #139D8D;
	margin: 0 0 35px;
}
#contents .confirm table {
	width: 100%;
	border-top: 1px solid #DEDEDE;
	line-height: 2.0;
}
#contents .confirm table th {
	font-weight: 700;
}
#contents .confirm table td a.zmPreview {
	display: none;
}
#contents strong.error {
	color: #FF0000;
}
#contents .message {
	text-align: center;
	margin: 0 0 30px;
}
@media screen and (min-width: 768px) {
	#contents .confirm table th {
		white-space: nowrap;
		border-bottom: 1px solid #DEDEDE;
		padding: 20px 40px;
	}
	#contents .confirm table td {
		width: 100%;
		border-bottom: 1px solid #DEDEDE;
		padding: 20px;
	}
}
@media screen and (max-width: 767px) {
	#contents .inner.confirm h1 {
		font-size: 28px;
		margin: 0 0 25px;
	}
	#contents .message {
		margin: 0 0 20px;
	}
	#contents .confirm table th {
		display: block;
		padding: 10px 0 0;
		text-align: left;
	}
	#contents .confirm table td {
		display: block;
		border-bottom: 1px solid #DEDEDE;
		padding: 10px 0 15px;
	}
}
/*---------------------- 送信完了(completion.html) ----------------------*/
#contents .inner.completion h1 {
	font-size: 33px;
	font-weight: 700;
	color: #139D8D;
	text-align: center;
	margin: 0 0 35px;
}
#contents .inner.completion p {
	font-size: 18px;
	font-weight: 700;
	line-height: 2.0;
	text-align: center;
	margin: 0 0 40px;
}
@media screen and (max-width: 767px) {
	#contents .inner.completion h1 {
		font-size: 28px;
		margin: 0 0 30px;
	}
	#contents .inner.completion p {
		font-size: 14px;
		margin: 0 0 20px;
	}
}