@charset "utf-8";
/* ====================================================================== */
/* 共通
/* ====================================================================== */
.content {
	width: 960px;
	margin: auto;
	padding: 0px 10px;
}
.content.min {
	width: 740px;
}
.content .title {
	font-weight: bold;
	font-size: 32px;
	margin: 20px;
}
.content .main {
	margin: 20px;
}
.content-box {
	width: 740px;
	background-color: #114488;
	color: #404040;
	padding: 12px 0;
	margin: 20px auto;
	border-radius: 12px;
	box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 1) inset, 0px 1px 10px 0px
		rgba(0, 0, 0, 1);
}
.content-box .title {
	color: #fafafa;
	font-weight: bold;
	font-size: 28px;
	padding: 0px 20px;
	margin-bottom: 11px;
}
.content-box .main {
	padding: 0px 20px;
	background-color: #fafafa;
}
.content-box .menu-title {
	font-weight: bold;
    font-size: 24px;
    line-height: 1.5;
	padding-top: 10px;
    margin-bottom: 10px;
    border-bottom: solid;
    border-width: 3px;
    border-bottom-color: #114488;
}
.content .main .menu, .content-box .main .menu {
	padding-left: 1%;
}
.content .main .menu:after, .content-box .main .menu:after {
	clear: both;
	content: '';
	display: block;
}
.content .main .menu li, .content-box .main .menu li {
	float: left;
	width: 33%;
	margin-bottom: 10px;
}
.content .main .menu li .text, .content-box .main li .text {
	display: table-cell;
	vertical-align: middle;
	height: 85px;
	font-size: 20px;
	width: 1%;
}
/* ===== 640より下のサイズの調整 ===== */
@media screen and (max-width: 640px) {
	.content, .content.min {
		width: 100%;
		padding: 0px;
	}
	.content-box {
		width: 100%;
		margin: 0px 0px;
		border-radius: 0px;
	}
	.content-box .title {
		font-size: 24px;
		padding: 0% 5%;
	}
	.content-box .main {
		padding-top: 3%;
		padding: 0% 5%;
	}
	.content-box .menu-title {
		padding-top: 0px;
		font-size: 18px;
	}
	.content .main .menu li, .content-box .main .menu li {
		width: 50%;
		margin-bottom: 3%;
	}
	.content .main .menu li .text .content-box .main li .text {
		height: 75px;
		font-size: 16px;
	}
}

/* ====================================================================== */
/* ボタン
/* ====================================================================== */
.next-btn, .back-btn, .common-btn {
	padding-top: 10px;
	padding-bottom: 7px;
	width: 250px;
	font-weight: bold;
	border: 1px solid #888888;
	border-radius: 8px;
	font-size: 1.28em;
	text-indent: 0;
	text-decoration: none;
	text-align: center;
	display: block;
	overflow: hidden;
	margin: auto;
}
.next-btn, .next-btn:active {
	color: #222222;
	background-color: #ffc000;
}
.next-btn:hover {
	background-color: #ffd961;
}
.back-btn, .back-btn:active {
	color: #fff;
	background-color: #666666;
}
.back-btn:hover {
	background-color: #9ca0a8;
}
.common-btn.blue, .common-btn.blue:active {
	color: #fff;
	background-color: #4040d0;
}
.common-btn.blue:hover {
	background-color: #7070ff;
}
.common-btn.purple, .common-btn.purple:active {
	color: #fff;
	background-color: #884bdc;
}
.common-btn.purple:hover {
	background-color: #be79f6;
}
/* ===== 640より下のサイズの調整 ===== */
@media screen and (max-width: 640px) {
	.next-btn, .back-btn, .common-btn {
		padding-top: 3%;
		padding-bottom: 3%;
		width: 90%;
		font-size: 1.5em;
	}
}


/* ====================================================================== */
/* メニューボタン
/* ====================================================================== */
.menu-btn {
	position: relative;
	display: block;
	text-align: center;
	text-decoration: none;
	margin: 5px;
	color: #FFF;
	background: #3c5ea9;
	border: solid 1px #888888;
	border-bottom: solid 2px #1946a9;
	border-radius: 6px;
	box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.29);
	font-weight: bold;
}
.menu-btn:hover {
	background: #5990ff;
}
.menu-btn:active {
	background: #3c5ea9;
	border-bottom: solid 2px #3c5ea9;
	box-shadow: inset 0 0 2px rgba(128, 128, 128, 0.1);
	transform: translateY(1px);
}
.menu-btn.admin {
	background: #8549ab;
	border: solid 1px #888888;
	border-bottom: solid 2px #562286;
	border-radius: 6px;
	box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.29);
	font-weight: bold;
}
.menu-btn.admin:hover {
	background: #cc70fb;
}
.menu-btn.admin:active {
	background: #8549ab;
}
/* ===== 640より下のサイズの調整 ===== */
@media screen and (max-width: 640px) {
	.menu-btn {
		margin: 0% 3%;
	}
}

/* ====================================================================== */
/* ヘッダー
/* ====================================================================== */
.header {
	position: fixed;
	top: 0;
	width: 100%;
	text-align: center;
	height: 45px;
	line-height: 45px;
	background: #ffffff;
	z-index: 100;
	-webkit-box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.25);
	box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.25);
}
.header-content {
	width: 100%;
	max-width: 960px;
	display: inline-block;
}
.header img {
	height: 28px;
	vertical-align: middle;
}
.header a {
	color: #404040;
	font-size: 18px;
	text-decoration: none;
}
.header a:hover {
	text-decoration: underline;
}
.header .san {
	vertical-align: bottom;
}
.header-space {
	height: 45px;
}

/* ====================================================================== */
/* フッター
/* ====================================================================== */
.footer {
	text-align: center;
	background: #ffffff;
	-webkit-box-shadow: 0px -12px 12px -12px rgba(0, 0, 0, 0.25);
	box-shadow: 0px -12px 12px -12px rgba(0, 0, 0, 0.25);
}
.footer .copyright {
	padding: 10px 0px;
}

/* ====================================================================== */
/* 入力項目
/* ====================================================================== */
input[type="text"], input[type="password"], input[type="tel"], textarea, select {
	padding: 8px 5px;
	border: 1px solid #888888;
	border-radius: 5px;
	width: 100%;
	box-sizing: border-box;
}

/* ====================================================================== */
/* ページトップボタン
/* ====================================================================== */
#page-top {
	position: fixed;
	bottom: 10px;
	right: 0px;
	display: none;
}
#page-top #btn {
	width: 200px;
	height: 43px;
}
#page-top #btn:hover {
	opacity: 0.7;
}
#page-top #btn:active {
	opacity: 1.0;
}
/* ===== 640より下のサイズの調整 ===== */
@media screen and (max-width: 640px) {
	#page-top #btn {
		width: 50px;
	}
}

/* ====================================================================== */
/* その他
/* ====================================================================== */
/* ローディング */
#loading{
	position:fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display:none;
	text-align: center;
	z-index: 100;
}
#loading img{
	width: 25%;
}
/* 区切り線 */
.separation {
	border-bottom: solid 1px #666666;
}
/* 横並び表示 */
.side-by-side {
	display: inline-block;
	vertical-align: middle;
}
/* 暗幕 */
#back-curtain {
	background: rgba(0, 0, 0, 0.5);
	display: none;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 99;
}
/* 暗幕ログ表示 */
.blackout-area {
	position: fixed;
	max-width: 100%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 100;
}
/* ===== 640より下のサイズの調整 ===== */
@media screen and (max-width: 640px) {
	.blackout-area {
	    width: 90%;
	    border-radius: 12px;
	}
}