@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@300;700&display=swap');

html {
	margin:0;
	-webkit-text-size-adjust: 100%;
}
body {
	margin:0;
	padding:0;
	font-family: 'M PLUS 1p', Meiryo, sans-serif;;
	font-weight: 300;
	background:#FFFFFF url(/img/bg.jpg) left bottom no-repeat; /* http://www.freepik.com Designed by denamorado / Freepik */
	background-attachment: fixed;
	color:#000000;
	text-align: left;
}

a {
	color:#C21B21;
}
a:hover {
	color:#5B6FA3;
}
strong {
	font-weight: 700;
}
.clear {
	clear: both;
}


/*** content **************************/
.container {
	max-width: 1200px;
}
.container img {
	width: 100%;
	align-self: flex-start;
}

form, input, textarea, select {
	font-size: 1rem;
	color:#000;
	font-family: 'M PLUS 1p', Meiryo, sans-serif;;
}
fieldset {
	padding: 20px;
	border:1px solid #CCC;
}
legend {
	font-size: 1.2rem;
	padding:3px 10px;
	font-weight:700;
	background-color: #AAA;
	color:#FFF;
}
button, .button {
	display: inline-block;
	padding:20px 15px;
	text-decoration:none;
	color:#FFF; 
	cursor:pointer;
	background-color: #C21B21;
	border:none;
	line-height:1.2rem;
	border-radius: 10px;
}
button:hover, .button:hover {
	color:#FFF; 
	text-decoration:none;
	background: #5B6FA3;
}
.required{
	color:#C00;
}
.error { color:#C00; }
p.error { font-weight:bold; }
.message { text-align:center; }
.form-field {
	margin-bottom: 20px;
}
.form-field input[type=text], textarea {
	border: 1px solid #AAA;
	width: 90%;
	padding: 5px 10px;
}
.form-field label {
	margin: 0;
	font-weight:700;
}
.form-field .error {
	margin: 0 0 10px 0;
}
.form-field {
	margin-bottom: 20px;
}
.form-field input[type=text], .form-field textarea {
	border: 1px solid #AAA;
	width: 90%;
	padding: 5px 10px;
}
.form-field label {
	margin: 0;
	font-weight:700;
}
.form-field .error {
	margin: 0 0 10px 0;
}


h2 {
	font-size: 1.8rem;
	text-align: center;
	font-weight: 700;
	color: #1F327D;
	width: 100%;
	margin: 30px 0;
	text-align: center;
}
h3 {
	font-size: 1.4rem;
	margin: 0 0 30px 0;
	color: #C21D20;
	text-align: center;
}
h4 {
	font-size: 1.3rem;
	margin: 30px 0 10px 0;
	text-align: center;
}
h5 {
	font-size: 1.2rem;
	margin: 30px 0 10px 0;
	text-align: center;
}


.center {
	text-align: center;
}
.left {
	text-align: left;
}
.right {
	text-align: right;
}

/*** nav **************************/
.navbar{
	margin: 0 0 30px 0;
	page-break-after: 0;
	background-color:#60a6d1;
	box-shadow: 0px 0px 15px rgba(0,0,0,0.4);
}
.navbar .navbar-brand {
	font-size: 1.5rem;
	font-weight: 700;
	color:#FFFFFF !important;
}



/*** contents **************************/
.content-box {
	margin: 0 0 30px 0;
	padding: 20px;
	border-radius: 10px;
	background-color: rgba(255,255,255,0.3);
	-webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.18);
	-moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.18);
	box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.18);
}
.content-box h2 {
	font-size: 1.3rem;
	text-align: center;
	color: #C21D20;
	width: 100%;
	margin: 0 0 10px 0;
	font-weight: 700;
}
.content-box h2 span {
	font-size: 1.6rem;
	font-weight: 300;
}
.content-box h2 i {
	font-size: 2rem;
}
.content-box h3 {
	font-size: 1.2rem;
	margin: 0 0 15px 0;
	background:none;
	padding:0 0 15px 0;
	color: #33448C;
	border-bottom: 1px solid #FFF;
}

.price {
	margin-bottom: 50px;
	font-size: 1.3rem;
}
.price strong {
	display: inline-block;
	padding: 5px 5%;
	color:#000;
	background: rgb(255,214,0);
	background: linear-gradient(90deg, rgba(255,214,0,0) 5%, rgba(255,214,0,1) 50%, rgba(255,214,0,0) 95%);
}
.price strong i {
	text-decoration: none;
	font-size: 2rem;
	margin: 0 10px;
	color: #e3ae00;
	
}

/*** footer **************************/
footer {
	margin: 30px 0 0 0;
	padding: 15px 0;
	text-align: center;
	background-color: #60a6d1;
}
footer address {
	color:#FFFFFF;
	font-size: 0.8rem;
	margin: 0;
}