@charset "utf-8";

* { box-sizing: border-box; }

h1, h2, h3, h4, p, li, dt, dd, th, td {
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
}

h1 {
	padding: 30px 0;
	color: #078;
	font-size: 32px;
	text-align: center;
}
@media screen and (max-width: 667px) {
	h1 {
		padding: 10px 0;
		font-size: 24px;
	}
}

h2 {
	margin: 30px auto 0;
	font-size: 20px;
	color: #078;
	text-align: center;
}

.sp { display: none; }
@media screen and (max-width: 667px) {
	.sp { display: block; }
}

li { list-style: none; }

.innerBox {
	width: 640px;
	margin: 0 auto 60px;
}
@media screen and (max-width: 667px) {
	.innerBox {
		width: 92%;
		margin-top: 30px;
	}
}

p {
	margin: 0 0 1.5em;
	font-size: 18px;
	line-height: 1.7;
}
@media screen and (max-width: 667px) {
	p { font-size: 16px; }
}

.f14 { font-size: 14px; }
@media screen and (max-width: 667px) {
	.f14 { font-size: 12px; }
}

.txtCenter { text-align: center; }

.price strong {
	color: #078;
	font-size: 24px;
	font-weight: bold;
}

dt {
	padding: 10px 0;
	font-weight: bold;
}

dd { margin: 0 0 5px; }

.atten {
	margin: 0 auto;
	padding: 0;
}

.atten li:before {
	content: "※";
	margin-right: 5px;
}

.atten li {
	margin: 0 0 10px;
	padding-left: 1em;
	font-size: 14px;
	text-indent: -1em;
}

.red {
	margin-left: 1em;
	color: #c00;
	font-weight: bold;
}


/* --- Form --- */
.text {
	margin: 0 auto;
	padding: 0;
}

form .field {
	margin: 24px 0;
	position: relative;
}
form .field label, form .field input {
	display: block;
	font-size: 16px;
}
form .field label {
	padding: 0 8px;
	cursor: text;
	position: absolute;
	top: 16px;
	left: 13px;
	color: #999;
}
form .field input {
	width: 100%;
	padding: 25px 12px 10px;
	border: 1px solid #ddd;
}

form .field label {
  /* 省略 */
  transform-origin: left;
  transform: translateY(0);
  transition: all .15s;
}

form .field label.move {
  transform: translateY(-10px) scale(.8);
}

.submit input {
	display: block;
	margin: 30px auto;
	padding: 14px 30px 10px;
	color: #fff;
	font-size: 20px;
	text-align: center;
	background: linear-gradient(90deg, #FF7700 0%, #FFBB00 100%);
	border: none;
	border-radius: 25px;
	cursor: pointer;
}
@media screen and (max-width: 667px) {
	.submit input { padding: 12px 30px; }
}




/* --- Footer --- */
footer {
	padding: 40px 0;
	background-color: #078;
}
@media screen and (max-width: 667px) {
	footer { padding: 30px 0; }
}

footer .siteLogo {
	margin: 0 auto 20px;
	text-align: center;
}

footer .siteLogo img { width: auto; }

footer ul {
	display: flex;
	justify-content: center;
	padding: 0;
}
@media screen and (max-width: 667px) {
	footer ul {
		flex-direction: column;
		padding: 0 5%;
	}
}

footer li {
	margin: 0 1em 0 0;
	padding: 0 1em 0 0;
	border-right: 1px solid #fff;
}
@media screen and (max-width: 667px) {
	footer li {
		margin: 0 0 0.5rem;
		padding: 0;
		text-align: center;
		border-right: none;
	}
}

footer li:last-child {
	margin: 0;
	padding: 0;
	border-right: none;
}

footer li a {
	color: #fff;
	font-size: 14px;
}

footer .copy {
	width: 100%;
	color: #fff;
	text-align: center;
}