@charset "utf-8";

.clearfix:before, .container:after { content: ""; display: table; }
.clearfix:after { clear: both; }
 
/* IE 6/7 */
.clearfix { zoom: 1; }

/*-------------------------------*/

html {
	width: 100%;
	overflow-x:hidden;
}

body {
	width: 100%;
	overflow-x:hidden;
	position: relative;
	margin: 0;
	padding: 0;
	font-size: 14px;
	line-height: 1.5;
	color: #333;
	font-family: "メイリオ","Meiryo","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ ゴシック","Osaka",sans-serif;
//	font-family: "ヒラギノ明朝 ProN W3","HiraMinProN-W3","HG明朝E","ＭＳ Ｐ明朝","MS PMincho","MS 明朝",serif;
//	font-family:"Roboto Slab" , Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
	background-color: #fff;
}

a {transition: all 0.8s;}
a:link {color: #008dcb;}
a:visited {color: #008dcb;}
a:hover {color: #008dcb;text-decoration: none;}
a:active {text-decoration: none;}
a:focus, *:focus {text-decoration: none;outline:none;}

a:hover img {
	opacity: 0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha(opacity=80)";
}


/* width -------------------------------*/

@media (min-width: 768px) {
	.container {
		width: 738px;
	}
}

@media (min-width: 992px) {
	.container {
		width: 962px;
	}
}

@media (min-width: 1024px) {
	.container {
		width: 994px;
	}
}

@media (min-width: 1200px) {
	.container {
		width: 1170px;
	}
}


/* 共通 -----------------------*/

.mt10 { margin: 10px 0 0 0; }
.mt20 { margin: 20px 0 0 0; }
.mt30 { margin: 30px 0 0 0; }
.mt40 { margin: 40px 0 0 0; }
.mt50 { margin: 50px 0 0 0; }
.mt60 { margin: 60px 0 0 0; }
.mt70 { margin: 70px 0 0 0; }
.mt80 { margin: 80px 0 0 0; }
.mt90 { margin: 90px 0 0 0; }
.mt100 { margin: 100px 0 0 0; }
.mt200 { margin: 200px 0 0 0; }

.scroll-prevent {
	position: fixed;
	z-index: -1;
	width: 100%;
	height: 100%;
}


/* フォーム ---------------------*/

input[type="text"] ,
input[type="password"] ,
textarea ,
select {
	width: 100%;
	padding: 8px;
	border:1px solid #ccc;
	outline: none;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	font-size: 14px;

	/* Webkit */
	background: -webkit-gradient (
		linear,
		left top,
		left bottom,
		from(#eee),
		to(#fff)
		);
	-webkit-border-radius: 5px;

	/* Firefox */
	background: -moz-linear-gradient (
		top,
		#eee,
		#fff
		);
	-moz-border-radius: 5px;

	/* IE */
	filter:progid:DXImageTransform.Microsoft.gradient (startColorstr=#ffeeeeee,endColorstr=#ffffffff);
	zoom: 1;
}

select {
	width: auto;
}

textarea {
	height: 300px;
}

.form_error_item {
	margin: 7px 0 0 0;
	text-align: left;
	font-size: 14px;
	color: #cc0033;
}

input[type="text"].form_error_text ,
input[type="password"].form_error_text ,
textarea.form_error_text ,
select.form_error_text {
	border:1px solid #cc0033;
	box-shadow: 0 0 3px #cc0033;
}

input[type="text"]:focus ,
input[type="password"]:focus ,
texture:focus ,
select:focus ,
textarea:focus {
	transition: all 0.3s;
	box-shadow: 0 0 3px #006428;
	border: 1px solid #006428;
}

form .text85 {
	width: 85px;
}

form .text100 {
	width: 100px;
}

form .text120 {
	width: 120px;
}

form .text200 {
	width: 200px;
}

form .text300 {
	width: 300px;
}

form .text400 {
	width: 400px;
}

form .text500 {
	width: 500px;
}

.form_error_back {
	background-color: #ffeef7;
}

.submit_wrap {
	margin: 50px auto;
	text-align: center;
}

.submit ,
.submit:hover[disabled] {
	-moz-box-shadow:inset 0px 1px 0px 0px #ffffff;
	-webkit-box-shadow:inset 0px 1px 0px 0px #ffffff;
	box-shadow:inset 0px 1px 0px 0px #ffffff;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	border-radius:5px;
	border:1px solid #ccc;
	display:inline-block;
	cursor:pointer;
	font-size:14px;
	padding:10px 30px;
	text-align: center;
	background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #f9f9f9), color-stop(1, #e9e9e9));
	background:-moz-linear-gradient(top, #f9f9f9 5%, #e9e9e9 100%);
	background:-webkit-linear-gradient(top, #f9f9f9 5%, #e9e9e9 100%);
	background:-o-linear-gradient(top, #f9f9f9 5%, #e9e9e9 100%);
	background:-ms-linear-gradient(top, #f9f9f9 5%, #e9e9e9 100%);
	background:linear-gradient(to bottom, #f9f9f9 5%, #e9e9e9 100%);
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f9f9f9', endColorstr='#e9e9e9',GradientType=0);
	background-color:#f9f9f9;
}

.submit:hover {
	background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #e9e9e9), color-stop(1, #f9f9f9));
	background:-moz-linear-gradient(top, #e9e9e9 5%, #f9f9f9 100%);
	background:-webkit-linear-gradient(top, #e9e9e9 5%, #f9f9f9 100%);
	background:-o-linear-gradient(top, #e9e9e9 5%, #f9f9f9 100%);
	background:-ms-linear-gradient(top, #e9e9e9 5%, #f9f9f9 100%);
	background:linear-gradient(to bottom, #e9e9e9 5%, #f9f9f9 100%);
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e9e9e9', endColorstr='#f9f9f9',GradientType=0);
	background-color:#e9e9e9;
}

.submit[disabled] {
	opacity: 0.4;
	filter: alpha(opacity=40);
	-ms-filter: "alpha(opacity=40)";
}

.submit:hover[disabled] {
	cursor:default;
}

.pl {
	margin: 0 0 0 9px;
}

.ri {
	display: none;
}

.ri + label {
	position:relative;
	margin: 0 10px 0 0;
	padding: 0 0 0 20px;
	font-size: 15px;
}

.ri + label::before {
	position: absolute;
	display: block;
	content: "";
	top: 0;
	left: 0;
	width: 24px;
	height: 24px;
	border: 4px solid #fbe6ef;
	-moz-border-radius:50%;
	-webkit-border-radius:50%;
	border-radius:50%;
	background-color: #fff;
}

.ri:checked + label {
	color: #d60077;
}

.ri:checked + label::after {
	position: absolute;
	display: block;
	content: "";
	top: 7px;
	left: 7px;
	width: 10px;
	height: 10px;
	background: #d60077;
	-moz-border-radius:50%;
	-webkit-border-radius:50%;
	border-radius:50%;
}

.ci {
	display: none;
}

.cp {
	padding-left: 28px;
	position: relative;
	line-height:1;
	font-size: 14px;
}

.cp::before {
	content: "";
	position: absolute;
	width: 22px;
	height: 22px;
	top: -1px;
	left: 0px;
	background: #fff;
	-moz-border-radius:3px;
	-webkit-border-radius:3px;
	border-radius:3px;
	border: 1px solid #ccc;
}

.cp::after {
	font-family: 'FontAwesome';
	content: "\f00c";
	font-weight: bold;
	position: absolute;
	left: 2px;
	top: 0;
	color: #e21734;
	text-shadow:0 2px #999;
	transform: scale(0,0);
	display: block;
	font-size: 19px;
}

.ci:checked + .cp::before {
	background: #f3d6e3;
}

.ci:checked + .cp {
	color: #004077;
}

.ci:checked + .cp::after {
	transform: scale(1,1);
	width: 2px;
	height: 5px;
	animation: baunce .3s;
}

@keyframes baunce {
	0% {
		transform: scale(1, 1);
	}
	50% {
		transform: scale(1.3, 1.1);
	}
	100% {
		transform: scale(1, 1);
	}
}


/* フッタ ---------------------*/

footer {
	margin: 100px 0 0 0;
	border-top: none;
}

footer .copy {
	margin: 5px 0 0 0;
	text-align: right;
	font-size: 12px;
}

#back-top {
	width: 100%;
	display: block;
	margin: 5px 0 0 0;
	padding: 2px 0 12px 0;
	border-bottom: 1px solid #ccc;
	border-top: 1px solid #ccc;
	text-align: center;
	font-size: 24px;
	color: #666;
	cursor:pointer;
}

#back-top p {
	margin: 4px 0 0 0;
	font-size: 12px;
}


/* エラー---------------------*/

.status_error {
	margin: 0;
	padding: 50px 0;
	text-align: center;
	font-size: 18px;
}

.status_error i {
	margin: 0 15px 0 0;
	font-size: 50px;
	vertical-align:middle;
}


/* ---------------------*/

main {
	margin: 50px 0 0 0;
}

.error_top_mes {
	margin: 0 0 50px 0;
	padding: 10px 0;
	background-color: #cc0033;
	text-align: center;
	font-size: 18px;
	color: #fff;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	border-radius:5px;
}

.require ,
.any {
	margin: 0 0 0 10px;
	padding: 2px 5px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	font-size: 11px;
	background-color: #cc0033;
	color: #fff;
	text-align: center;
}

.any {
	background-color: #005aa0;
}

.entry {
	margin: 0 auto;
}

table.table_entry {
	width: 100%;
	margin: 0 auto;
	border-top: 1px solid #ccc;
}

table.table_entry tr:nth-child(2n) {
	background: #f9fbfc;
}

table.table_entry th {
	padding: 20px 15px 0 15px;
	display: list-item;
	list-style-type: none;
	font-weight: normal;
	white-space: nowrap;
	vertical-align: middle;
}

table.table_entry td {
	padding: 20px 15px;
	display: list-item;
	list-style-type: none;
	border-bottom: 1px solid #ccc;
	vertical-align: middle;
}

table.table_entry th:before {
	font-family: FontAwesome;
	content: "\f0da";
	margin: 0 5px 0 0;
}

.complete {
	margin: 0 auto;
	text-align: center;
}

.complete h4 {
	padding: 0 0 20px 0;
	font-size: 18px;
	font-weight: bold;
}

.complete p {
	margin: 30px 0 0 0;
}

.complete a ,
.complete a:link ,
.complete a:visited ,
.complete a:hover ,
.complete a:active ,
.complete a:focus {
	color: #333;
}

.mf_privacy_policy {
	margin: 50px auto 0 auto;
	text-align: center;
}

.check {
	margin: 0 auto;
}

.check h4 {
	padding: 0 0 5px 0;
	font-size: 18px;
	color: #004714;
}


/* Media queries -------------------------------*/

/* ～320px iPhone SE */


@media (min-width: 321px) { /* 321px～360px Android */

}


@media (min-width: 361px) { /* 361px～375px iPhone 8 縦・iPhone XS 縦 */

}


@media (min-width: 376px) { /* 376px～412px Android */

}


@media (min-width: 413px) { /* 413px～414px iPhone 8 Plus 縦・iPhone XR 縦・iPhone XS Max 縦 */

}


@media (min-width: 415px) { /* 415px～834px iPhone SE 横・iPhone 8 横・iPhone 8 Plus 横・iPhone XS 横・ Android系横・iPad 9.7" 縦・iPad Pro 10.5" 縦 */

}


@media (min-width: 568px) {

}


@media(min-width:768px) { /* タブレット */

	.br_sp {
		display: none;
	}

	footer {
		margin: 100px 0 50px 0;
		display: block;
		border-top: 1px solid #ccc;
	}

	#back-top {
		position: fixed;
		bottom: 30px;
		right: 30px;
		width:50px;
		height:50px;
		margin: 0;
		padding: 0;
		background:#e6e6e6;
		border-radius: 50px;
		-webkit-border-radius: 50px;
		-moz-border-radius: 50px;
		border: none;
		font-size: 24px;
		line-height: 50px;
		color: #bbb;
		transition: all 0.8s;
	}

	#back-top p {
		display: none;
	}

	#back-top:hover {
		background-color: #ddd;
	}

	.entry {
		width: 80%;
	}

	table.table_entry th {
		width: 35%;
		padding: 30px 0 30px 30px;
		display: table-cell;
		border-bottom: 1px solid #ccc;
	}

	table.table_entry td {
		width: 65%;
		padding: 30px 30px 30px 0;
		display: table-cell;
	}

	.check {
		width: 80%;
	}

	.check .submit_wrap form {
		margin: 0 25px;
		display: inline-block;
	}

}


@media (min-width: 835px) { /* 835px～959px PC・iPhone XR 横・iPhone XS Max 横 */

}


@media (min-width: 960px) { /* 960px～1023px PC */

}


@media (min-width: 1024px) { /* 1024px～1059px PC・iPad 9.7" 横・iPad Pro 12.9" 縦*/

}


@media (min-width: 1060px) { /* 1060px～1199px PC・iPad Pro 10.5 横 */

}


@media (min-width: 1200px) { /* 1200px～ PC・iPad Pro12.9 横 */

}

