@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Questrial&display=swap');



/* #mainimage
-----------------------------------------------------------------------------------*/
#mainimage {background: url("../contact/img/mainimage-contact.jpg") center/cover no-repeat;}

@media screen and (max-width: 897px) {
	#mainimage {background-position: center right 25%;}
}





/* tel fax
-----------------------------------------------------------------------------------*/
.telfax-box {
	margin-top: 3em;
	padding: 1.5em;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	background-color: #fff;
	border-radius: 5px;
	box-sizing: border-box;
	box-shadow: 0 0 5px rgba(0,0,0,0.2);
}
.telfax-box .title {width: 100%;}
.telfax-box .title:not(:first-of-type) {margin-top: 2em;}
.telfax-box .tel,
.telfax-box .fax {
	padding: 0.5em 1em;
	width: calc(95% / 2);
	box-sizing: border-box;
	background-color: #f1f1f1;
	border-radius: 5px;
	white-space: nowrap;
	text-align: center;
	font-family: "Questrial", serif;
	font-size: 2.5em;
	font-weight: 600;
}
.telfax-box .tel.other,
.telfax-box .fax.other {
}
.telfax-box .tel::before,
.telfax-box .fax::before {
	margin-right: 0.5em;
	padding-left: 1.3em;
	font-size: 0.7em;
}
.telfax-box .tel::before {
	content: 'TEL';
	background: url("../img/icon-tel.svg") top left/contain no-repeat;
}
.telfax-box .fax::before {
	content: 'FAX';
	background: url("../img/icon-fax.svg") top left/contain no-repeat;
}

@media screen and (max-width: 1280px) {
	.telfax-box .tel,
	.telfax-box .fax {font-size: 2.25em;}
}

@media screen and (max-width: 897px) {
	.telfax-box .tel,
	.telfax-box .fax {font-size: 2em;}
}

@media screen and (max-width: 480px) {
	.telfax-box .tel,
	.telfax-box .fax {width: 100%;}
}





/* flowicon
-----------------------------------------------------------------------------------*/
#flowicon {
	margin: 4em auto;
	width: 100%;
	max-width: 835px;
	display: flex;
	justify-content: space-between;
}
#flowicon li {
	padding: 0.5em 1em;
	width: calc(85% / 3 - 2em);
	text-align: center;
	background-color: #bee0c2;
	font-weight: bold;
	color: #fff;
	position: relative;
	z-index: 0;
}
#flowicon li.on {background-color: #239c2e;}
#flowicon li:not(:last-child)::after {
	content: '';
	position: absolute;
	inset: 0 -50% 0 auto;
	margin: auto;
	width: 50%;
	height: 1px;
	border-top: dashed #239c2e 1px;
	z-index: -1;
}





/* form
-----------------------------------------------------------------------------------*/
.link-unl {margin-left: 1em;}
form input,
form select,
form textarea {
	padding: 0.5em 1em;
	box-sizing: border-box;
	border: solid #ddd 1px;
	letter-spacing: 1px;
	font-size: 1em;
	color: #000;
	transition: 0.3s;
}
form input[type='email'],
form input[type='url'],
form input[type='text'],
form textarea {width: 100%;}
form input[name='fullname'],
form input[name='kana_name'],
form input[type='file'] {width: 50%;}
form input[name='zip'] {width: 20%;}
form input[type='number'],
form input[type='tel'],
form select {width: 30%;}
form input:focus,
form textarea:focus,
form select:focus {
	border: solid #ff5656 1px;
	outline: none;
}
/* radio */
.radio01-input {
  display: none;
}
.radio01-parts {
  padding-left: 20px;
  position:relative;
  margin-right: 20px;
	white-space: nowrap;
}
.radio01-parts::before {
  content: "";
  display: block;
  position: absolute;
  background-color: #ddd;
  top: 0;
  left: 0;
  width: 15px;
  height: 15px;
  border: solid #ddd 1px;
  border-radius: 50%;
}
.radio01-input:checked + .radio01-parts{
  color: #ff5656;
}
.radio01-input:checked + .radio01-parts::before {
  background-color: #eee;
	border-color: #eee;
}
.radio01-input:checked + .radio01-parts::after {
  content: "";
  display: block;
  position: absolute;
  top: 3px;
  left: 3px;
  width: 11px;
  height: 11px;
  background: #ff5656;
  border-radius: 50%;
}
/* checkbox */
.checkbox01-input {display: none;}
.checkbox01-parts {
  padding-left: 1.5em;
  position:relative;
}
.checkbox01-parts::before {
  content: "";
  display: block;
  position: absolute;
  background-color: #ddd;
  top: 0.1em;
  left: 0;
  width: 15px;
  height: 15px;
  border: 1px solid #ddd;
  border-radius: 4px;
}
.checkbox01-input:checked + .checkbox01-parts {
  color: #ff5656;
}
.checkbox01-input:checked + .checkbox01-parts::before {
	background-color: #eee;
	border-color: #eee;
}
.checkbox01-input:checked + .checkbox01-parts::after {
  content: "";
  display: block;
  position: absolute;
  top: -0.1em;;
  left: 5px;
  width: 7px;
  height: 14px;
  transform: rotate(40deg);
  border-bottom: 3px solid #ff5656;
  border-right: 3px solid #ff5656;
}
/* submit */
#kakunin {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	grid-gap: 1em;
}
#kakunin a.button,
.button {
	padding: 0;
	width: 300px;
	height: 70px;
	background-color: #ff5656;
	border: solid #ff5656 1px;
	border-radius: 5px;
	line-height: 70px;
	font-size: 1.25em;
	font-weight: bold;
	color: #fff;
	cursor: pointer;
	transition: all 0.3s ease;
}
#kakunin a.button:hover{
	text-decoration:none;
}
#kakunin a.button:hover,
input.button:hover,
input.button:focus{
	background-color:#fff;
	color: #ff5656;
}
#kakunin input.button[value="入力画面に戻る"] {
	background: #fff;
	border-color: #ccc;
	color: #666;
}
#kakunin input.button[value="入力画面に戻る"]:hover {
	background: #ddd;
	border-color: #ddd;
	color: #333;
}

@media screen and (max-width: 480px) {
	form input[name='fullname'],
	form input[name='kana_name'],
	form input[type='file'],
	form input[type='number'],
	form input[type='tel'],
	form select {width: 100%;}
	form input[name='zip'] {width: 50%;}
}





/* mark
-----------------------------------------------------------------------------------*/
/*必須マーク*/
.required::after {
	content: '必須';
	display: inline-block;
	margin-left: 1em;
	padding: 0.5em 1em;
	background-color: crimson;
	line-height: 1;
	font-size: 0.8em;
	font-weight: normal;
	color: #fff;
}

/* formError */
.formError {
	display: block;
	margin-top: 0.5em;
	color: #ff1d25;
}
.formError::before {
	content: '!';
	display: inline-block;
	margin-right: 0.5em;
	width: 1.2em;
	height: 1.2em;
	line-height: 1.2;
	text-align: center;
	background-color: #ff1d25;
	border-radius: 50%;
	font-weight: bold;
	color: #fff;
}

/* privacy-doui */
.privacy-doui {
	margin: 0 auto 3em;
	padding: 2em;
	width: 100%;
	max-width: 900px;
	box-sizing: border-box;
	background-color: #fff;
	border: solid #999 1px;
	text-align: center;
	font-size: 1.05em;
}
.privacy-doui .title {
	text-decoration: underline;
	font-size: 1.25em;
	font-weight: 600;
}
.privacy-doui .doui {font-size: 1.25em;}
.privacy-doui .doui .visually-hidden:checked + label {
	font-weight: 600;
	color: #ff5656;
}

@media screen and (max-width: 896px) {
}





/* thanks
-----------------------------------------------------------------------------------*/
.thanks-text {
	margin-bottom: 1em;
	text-align: center;
	font-size: 1.5em;
	font-weight: bold;
}
.renraku-box {
	margin: 3em auto;
	padding: 1.5em;
	width: 100%;
	max-width: 550px;
	box-sizing: border-box;
	text-align: center;
	background-color: #fff;
	border: solid #ddd 1px;
	border-radius: 10px;
	font-size: 1.15em;
}
.renraku-box .title {font-weight: 600;}
.btn-back {margin: 0 auto;}




