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


/************************************
contact
************************************/
@media screen and (max-width: 767px) {
	#contact {
		width: 100%;
		padding-top: 22vw;
		margin: 0 auto 26.66vw;
	}
	
	#contact h2 {
		color: #005ca7;
		font-size: 8vw;
		line-height: 9.6vw;
		font-weight: bold;
		width: 89.33vw;
		border-bottom: 0.15vw solid #999999;
		padding-bottom: 6vw;
		margin: 0 auto 7.33vw;
	}
	
	#contact p {
		color: #333333;
		font-size: 4vw;
		line-height: 7.2vw;
		text-align: justify;
		width: 89.33vw;
		margin: 0 auto 4vw;
	}
}

@media screen and (min-width: 768px) and (max-width: 1299px) {
	#contact {
		width: 76.92vw;
		padding-top: 11.53vw;
		margin: 0 auto 7.69vw;
	}
	
	#contact h2 {
		color: #005ca7;
		font-size: 2.76vw;
		line-height: 1em;
		font-weight: bold;
		width: 100%;
		border-bottom: 0.07vw solid #999999;
		padding-bottom: 1.92vw;
		margin-bottom: 1.53vw;
	}
	
	#contact p {
		color: #333333;
		font-size: 1.23vw;
		line-height: 2.76vw;
		margin-bottom: 1.53vw;
	}
}

@media screen and (min-width: 1300px) {
	#contact {
		width: 1000px;
		padding-top: 150px;
		margin: 0 auto 100px;
	}
	
	#contact h2 {
		color: #005ca7;
		font-size: 36px;
		line-height: 1em;
		font-weight: bold;
		width: 100%;
		border-bottom: 1px solid #999999;
		padding-bottom: 25px;
		margin-bottom: 20px;
	}
	
	#contact p {
		color: #333333;
		font-size: 16px;
		line-height: 36px;
		margin-bottom: 20px;
	}
}


/************************************
form
************************************/
@media screen and (max-width: 767px) {
	#form {
		width: 100%;
	}
	
	#form #mail_form {
		background: none;
		border: none;
		border-radius: 0;
		box-shadow: none;
		width: 100%!important;
		margin: 0;
	}
	
	#form #mail_form dl {
		box-sizing: border-box;
		width: 100%;
		background: #f8f7f0;
		border: 0;
		padding: 7.33vw 5.33vw;
		margin-bottom: 5.33vw;
	}
	
	#form #mail_form dl dt {
		float: none!important;
		color: #005ca7;
		font-size: 5.33vw;
		line-height: 1em;
		font-weight: bold;
		text-align: left;
		width: 100%;
		padding-top: 7.33vw;
		margin-bottom: 2.66vw;
	}
	
	#form #mail_form dl dt:last-of-type {
		margin-bottom: 5.33vw;
	}
	
	#form #mail_form dl dd {
		display: table;
		float: none!important;
		width: 100%;
		height: 10.66vw;
		padding-bottom: 8vw;
	}
	
	#form #mail_form dl dd:last-of-type {
		padding-bottom: 0;
	}
	
	#form #mail_form dl dd.required {
		position: relative;
	}
	
	#form #mail_form dl dd.required::before {
		position: absolute;
		display: block;
		content: "必須";
		background: #e81c24;
		color: #ffffff;
		font-size: 3.73vw;
		line-height: 5.33vw;
		text-align: center;
		width: 10.4vw;
		height: 5.33vw;
	}
	
	#form #mail_form dl dd:first-of-type.required::before {
		top: -10vw;
		right: 0;
	}
	
	#form #mail_form dl dd:nth-of-type(2).required::before {
		top: -8.5vw;
		right: 0;
	}
	
	#form #mail_form dl dd p {
		color: #333333;
		font-size: 4.26vw;
		line-height: 1em;
		margin-bottom: 4vw;
	}
	
	#form #mail_form dl dd input {
		box-sizing: border-box;
		background: #ffffff;
		color: #333333;
		font-size: 4.26vw;
		border: 0.18vw solid #999999;
		border-radius: 0;
		padding: 3.33vw;
		width: 100%;
		height: 100%;
	}
	
	#form #mail_form dl dd.email_required {
		clear: both;
		width: 100%;
		padding: 0;
		margin-top: 2vw;
	}
	
	#form #mail_form dl dd.email_required p {
		color: #e81c24;
		font-size: 4.26vw;
		line-height: 1em;
		margin-bottom: 0;
	}
	
	#form #mail_form dl dd span.error_blank {
		color: #ff0000;
		font-size: 4.26vw;
		font-weight: bold;
		line-height: 1em;
		margin-top: 0.25em;
	}
	
	#form #mail_form dl dd:nth-of-type(5), #form #mail_form dl dd:last-child {
		height: auto;
	}
	
	#form #mail_form dl dd ul li {
		margin-bottom: 5.33vw;
	}
	
	#form #mail_form dl dd ul li label {
		display: flex;
		background: none;
		color: #333333;
		font-size: 4.26vw;
		line-height: 5.33vw;
		padding: 0;
	}
	
	#form #mail_form dl dd ul li label input {
		width: 5.33vw;
		height: 5.33vw;
		margin-right: 2.66vw;
	}
	
	#form #mail_form dl dd:last-child p {
		margin-bottom: 2.66vw;
	}
	
	#form #mail_form dl dd textarea {
		box-sizing: border-box;
		background: #ffffff;
		color: #333333;
		font-size: 4.26vw;
		line-height: 6.66vw;
		text-align: justify;
		border: 0.26vw solid #999999;
		border-radius: 0;
		padding: 4.66vw;
		width: 100%;
		height: 46.66vw;
	}
	
	#form #mail_form dl dt:first-child, #form #mail_form dl dd:first-of-type, #form #mail_form dl dd:nth-of-type(4) {
		padding-top: 0;
	}
	
	#form #mail_form dl dt:nth-of-type(2), #form #mail_form dl dt:nth-of-type(3), #form #mail_form dl dt:last-of-type, #form #mail_form dl dd:nth-of-type(2), #form #mail_form dl dd:nth-of-type(5), #form #mail_form dl dd:last-child {
		padding-bottom: 0;
	}
	
	#form #mail_form dl hr {
		clear: both;
		width: 100%;
		border-top: 0.16vw solid #999999;
	}
	
	#form .privacy {
		width: 89.33vw;
		margin: 0 auto 8.66vw;
	}
	
	#form .privacy h3 {
		color: #333333;
		font-size: 4.26vw;
		line-height: 7.2vw;
		font-weight: bold;
		text-align: center;
		margin-bottom: 4vw;
	}
	
	#form .privacy p {
		box-sizing: border-box;
		overflow-y: scroll;
		border: 0.26vw solid #999999;
		color: #333333;
		font-size: 3.73vw;
		line-height: 6.4vw;
		text-align: justify;
		width: 100%;
		height: 62.66vw;
		padding: 2vw;
	}
	
	#form .privacy p span {
		font-weight: bold;
	}
	
	#form .privacy p a {
		color: #333333;
		text-decoration: underline;
	}
	
	#form #form_submit {
		width: 80vw!important;
		height: 16vw!important;
		padding: 0!important;
		margin-bottom: 5.33vw!important;
	}
	
	#form #form_submit #form_submit_button {
		display: block;
		background: url("../img/contact_submit.png") no-repeat;
		background-position: top center;
		background-size: 100%;
		border: none;
		color: #ffffff;
		font-size: 4.26vw;
		line-height: 16vw;
		font-weight: bold;
		text-align: center;
		text-shadow: 0 0.53vw 0 rgba(0, 0, 0, 0.15);
		width: 100%;
		height: 100%;
		filter: drop-shadow(0 1.06vw 1.6vw rgba(0, 0, 0, 0.3));
		padding: 0;
		margin: 0 auto;
	}
	
	#form #form_submit #form_submit_button:hover {
		cursor: pointer;
		opacity: 0.5;
		-webkit-transition: 0.3s ease-in-out;
		-moz-transition: 0.3s ease-in-out;
		-o-transition: 0.3s ease-in-out;
		transition: 0.3s ease-in-out;
	}
	
	#form .attention {
		width: 100%;
	}
	
	#form .attention b {
		display: block;
		color: #333333;
		font-size: 4.26vw;
		line-height: 6.93vw;
		text-align: center;
		font-weight: bold;
		width: 100%;
		margin-bottom: 5.33vw;
	}
	
	#form .attention p {
		color: #e81c24;
		font-size: 4.26vw;
		line-height: 6.93vw;
		text-align: center;
		width: 100%;
	}
}

@media screen and (min-width: 768px) and (max-width: 1299px) {
	#form {
		width: 100%;
	}
	
	#form #mail_form {
		background: none;
		border: none;
		border-radius: 0;
		box-shadow: none;
		width: 100%!important;
		margin: 0;
	}
	
	#form #mail_form dl {
		box-sizing: border-box;
		width: 100%;
		background: #f8f7f0;
		border: 0;
		padding: 3.07vw;
		margin-bottom: 3.07vw;
	}
	
	#form #mail_form dl dt {
		clear: both;
		float: left!important;
		color: #005ca7;
		font-size: 1.38vw;
		line-height: 3.07vw;
		font-weight: bold;
		text-align: left;
		width: 16.92vw;
		padding: 3.07vw 0;
	}
	
	#form #mail_form dl dd {
		float: right!important;
		width: 53.07vw;
		height: 3.07vw;
		padding: 3.07vw 0;
	}
	
	#form #mail_form dl dd.required {
		position: relative;
	}
	
	#form #mail_form dl dd.required::before {
		position: absolute;
		display: block;
		content: "必須";
		background: #e81c24;
		color: #ffffff;
		font-size: 1.07vw;
		line-height: 1.53vw;
		text-align: center;
		width: 3.07vw;
		height: 1.53vw;
	}
	
	#form #mail_form dl dd:first-of-type.required::before {
		top: 0.76vw;
		left: -3.46vw;
	}
	
	#form #mail_form dl dd:nth-of-type(2).required::before {
		top: 3.84vw;
		left: -3.46vw;
	}
	
	#form #mail_form dl dd p {
		color: #333333;
		font-size: 1.23vw;
		line-height: 3.07vw;
	}
	
	#form #mail_form dl dd input {
		box-sizing: border-box;
		background: #ffffff;
		color: #333333;
		font-size: 1.23vw;
		border: 0.07vw solid #999999;
		border-radius: 0;
		padding: 0.38vw;
		width: 100%;
		height: 100%;
	}
	
	#form #mail_form dl dd:first-of-type, #form #mail_form dl dd:nth-of-type(2), #form #mail_form dl dd:nth-of-type(4) {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	#form #mail_form dl dd input#mail_address, #form #mail_form dl dd input#phone {
/*		width: 43.84vw;*/
		height: 100%;
	}
	
	#form #mail_form dl dd.email_required {
		clear: both;
/*		width: 43.84vw;*/
		padding: 0;
		margin-top: 0.38vw;
	}
	
	#form #mail_form dl dd.email_required p {
		color: #e81c24;
		font-size: 1.23vw;
		line-height: 1em;
		margin-bottom: 0;
	}
	
	#form #mail_form dl dd span.error_blank {
		color: #ff0000;
		font-size: 1.23vw;
		font-weight: bold;
		line-height: 1em;
		margin-top: 0.25em;
	}
	
	#form #mail_form dl dd:nth-of-type(5), #form #mail_form dl dd:last-child {
		height: auto;
	}
	
	#form #mail_form dl dd ul li label {
		display: flex;
		background: none;
		color: #333333;
		font-size: 1.23vw;
		line-height: 2.76vw;
		padding: 0;
	}
	
	#form #mail_form dl dd ul li label input {
		width: 1.53vw;
		height: 2.76vw;
		margin-right: 0.76vw;
	}
	
	#form #mail_form dl dd:last-child p {
		margin-bottom: 0;
	}
	
	#form #mail_form dl dd textarea {
		box-sizing: border-box;
		background: #ffffff;
		color: #333333;
		font-size: 1.23vw;
		line-height: 1.92vw;
		border: 0.07vw solid #999999;
		border-radius: 0;
		padding: 0.76vw;
		width: 100%;
		height: 12.3vw;
	}
	
	#form #mail_form dl dt:first-child, #form #mail_form dl dd:first-of-type, #form #mail_form dl dt:nth-of-type(3), #form #mail_form dl dd:nth-of-type(4) {
		padding-top: 0;
	}
	
	#form #mail_form dl dt:nth-of-type(2), #form #mail_form dl dt:last-of-type, #form #mail_form dl dd:nth-of-type(2), #form #mail_form dl dd:nth-of-type(5), #form #mail_form dl dd:last-child {
		padding-bottom: 0;
	}
	
	#form #mail_form dl hr {
		clear: both;
		width: 100%;
		border-top: 0.07vw solid #999999;
	}
	
	#form .privacy {
		width: 56.92vw;
		margin: 0 auto 3.07vw;
	}
	
	#form .privacy h3 {
		color: #333333;
		font-size: 1.23vw;
		line-height: 1em;
		font-weight: bold;
		text-align: center;
		margin-bottom: 0.76vw;
	}
	
	#form .privacy p {
		box-sizing: border-box;
		overflow-y: scroll;
		border: 0.07vw solid #999999;
		color: #333333;
		font-size: 1.07vw;
		line-height: 1.84vw;
		text-align: justify;
		width: 100%;
		height: 12.46vw;
		padding: 0.76vw;
	}
	
	#form .privacy p span {
		font-weight: bold;
	}
	
	#form .privacy p a {
		color: #333333;
		text-decoration: underline;
	}
	
	#form #form_submit {
		width: 23.07vw!important;
		height: 4.61vw!important;
		padding: 0!important;
		margin-bottom: 3.07vw!important;
	}
	
	#form #form_submit #form_submit_button {
		display: block;
		background: url("../img/contact_submit.png") no-repeat;
		background-position: top center;
		background-size: 100%;
		border: none;
		color: #ffffff;
		font-size: 1.53vw;
		line-height: 4.61vw;
		font-weight: bold;
		text-align: center;
		text-shadow: 0 0.15vw 0 rgba(0, 0, 0, 0.15);
		width: 100%;
		height: 100%;
		filter: drop-shadow(0 0.3vw 0.46vw rgba(0, 0, 0, 0.3));
		padding: 0;
		margin: 0 auto;
	}
	
	#form #form_submit #form_submit_button:hover {
		cursor: pointer;
		opacity: 0.5;
		-webkit-transition: 0.3s ease-in-out;
		-moz-transition: 0.3s ease-in-out;
		-o-transition: 0.3s ease-in-out;
		transition: 0.3s ease-in-out;
	}
	
	#form .attention {
		width: 100%;
	}
	
	#form .attention b {
		display: block;
		color: #333333;
		font-size: 1.23vw;
		line-height: 2.76vw;
		text-align: center;
		font-weight: bold;
		width: 100%;
		margin-bottom: 1.53vw;
	}
	
	#form .attention p {
		color: #e81c24;
		font-size: 1.23vw;
		line-height: 1em;
		text-align: center;
		width: 100%;
	}
}

@media screen and (min-width: 1300px) {
	#form {
		width: 100%;
	}
	
	#form #mail_form {
		background: none;
		border: none;
		border-radius: 0;
		box-shadow: none;
		width: 100%!important;
		margin: 0;
	}
	
	#form #mail_form dl {
		box-sizing: border-box;
		width: 100%;
		background: #f8f7f0;
		border: 0;
		padding: 40px;
		margin-bottom: 40px;
	}
	
	#form #mail_form dl dt {
		clear: both;
		float: left!important;
		color: #005ca7;
		font-size: 18px;
		line-height: 40px;
		font-weight: bold;
		text-align: left;
		width: 220px;
		padding: 40px 0;
	}
	
	#form #mail_form dl dd {
		float: right!important;
		width: 690px;
		height: 40px;
		padding: 40px 0;
	}
	
	#form #mail_form dl dd.required {
		position: relative;
	}
	
	#form #mail_form dl dd.required::before {
		position: absolute;
		display: block;
		content: "必須";
		background: #e81c24;
		color: #ffffff;
		font-size: 14px;
		line-height: 20px;
		text-align: center;
		width: 40px;
		height: 20px;
	}
	
	#form #mail_form dl dd:first-of-type.required::before {
		top: 10px;
		left: -45px;
	}
	
	#form #mail_form dl dd:nth-of-type(2).required::before {
		top: 50px;
		left: -45px;
	}
	
	#form #mail_form dl dd p {
		color: #333333;
		font-size: 16px;
		line-height: 40px;
	}
	
	#form #mail_form dl dd input {
		box-sizing: border-box;
		background: #ffffff;
		color: #333333;
		font-size: 16px;
		border: 1px solid #999999;
		border-radius: 0;
		padding: 5px;
		width: 100%;
		height: 100%;
	}
	
	#form #mail_form dl dd:first-of-type, #form #mail_form dl dd:nth-of-type(2), #form #mail_form dl dd:nth-of-type(4) {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	#form #mail_form dl dd input#mail_address, #form #mail_form dl dd input#phone {
/*		width: 570px;*/
		height: 100%;
	}
	
	#form #mail_form dl dd.email_required {
		clear: both;
/*		width: 570px;*/
		padding: 0;
		margin-top: 5px;
	}
	
	#form #mail_form dl dd.email_required p {
		color: #e81c24;
		font-size: 16px;
		line-height: 1em;
		margin-bottom: 0;
	}
	
	#form #mail_form dl dd span.error_blank {
		color: #ff0000;
		font-size: 16px;
		font-weight: bold;
		line-height: 1em;
		margin-top: 0.25em;
	}
	
	#form #mail_form dl dd:nth-of-type(5), #form #mail_form dl dd:last-child {
		height: auto;
	}
	
	#form #mail_form dl dd ul li label {
		display: flex;
		background: none;
		color: #333333;
		font-size: 16px;
		line-height: 36px;
		padding: 0;
	}
	
	#form #mail_form dl dd ul li label input {
		width: 20px;
		height: 36px;
		margin-right: 10px;
	}
	
	#form #mail_form dl dd:last-child p {
		margin-bottom: 0;
	}
	
	#form #mail_form dl dd textarea {
		box-sizing: border-box;
		background: #ffffff;
		color: #333333;
		font-size: 16px;
		line-height: 25px;
		border: 1px solid #999999;
		border-radius: 0;
		padding: 10px;
		width: 100%;
		height: 160px;
	}
	
	#form #mail_form dl dt:first-child, #form #mail_form dl dd:first-of-type, #form #mail_form dl dt:nth-of-type(3), #form #mail_form dl dd:nth-of-type(4) {
		padding-top: 0;
	}
	
	#form #mail_form dl dt:nth-of-type(2), #form #mail_form dl dt:last-of-type, #form #mail_form dl dd:nth-of-type(2), #form #mail_form dl dd:nth-of-type(5), #form #mail_form dl dd:last-child {
		padding-bottom: 0;
	}
	
	#form #mail_form dl hr {
		clear: both;
		width: 100%;
		border-top: 1px solid #999999;
	}
	
	#form .privacy {
		width: 740px;
		margin: 0 auto 40px;
	}
	
	#form .privacy h3 {
		color: #333333;
		font-size: 16px;
		line-height: 1em;
		font-weight: bold;
		text-align: center;
		margin-bottom: 10px;
	}
	
	#form .privacy p {
		box-sizing: border-box;
		overflow-y: scroll;
		border: 1px solid #999999;
		color: #333333;
		font-size: 14px;
		line-height: 24px;
		text-align: justify;
		width: 100%;
		height: 162px;
		padding: 10px;
	}
	
	#form .privacy p span {
		font-weight: bold;
	}
	
	#form .privacy p a {
		color: #333333;
		text-decoration: underline;
	}
	
	#form #form_submit {
		width: 300px!important;
		height: 60px!important;
		padding: 0!important;
		margin-bottom: 40px!important;
	}
	
	#form #form_submit #form_submit_button {
		display: block;
		background: url("../img/contact_submit.png") no-repeat;
		background-position: top center;
		background-size: 100%;
		border: none;
		color: #ffffff;
		font-size: 20px;
		line-height: 60px;
		font-weight: bold;
		text-align: center;
		text-shadow: 0 2px 0 rgba(0, 0, 0, 0.15);
		width: 100%;
		height: 100%;
		filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.3));
		padding: 0;
		margin: 0 auto;
	}
	
	#form #form_submit #form_submit_button:hover {
		cursor: pointer;
		opacity: 0.5;
		-webkit-transition: 0.3s ease-in-out;
		-moz-transition: 0.3s ease-in-out;
		-o-transition: 0.3s ease-in-out;
		transition: 0.3s ease-in-out;
	}
	
	#form .attention {
		width: 100%;
	}
	
	#form .attention b {
		display: block;
		color: #333333;
		font-size: 16px;
		line-height: 36px;
		text-align: center;
		font-weight: bold;
		width: 100%;
		margin-bottom: 20px;
	}
	
	#form .attention p {
		color: #e81c24;
		font-size: 16px;
		line-height: 1em;
		text-align: center;
		width: 100%;
	}
}