@charset "utf-8";

.head_error {
	font-weight: bold;
	color: #FF0000;
	background: #FFE9F2;
	padding: 5px 10px;
}

.topNav {
	margin-bottom: 20px !important;
	background: url(../../img/bg_gnav_top.gif) repeat-x !important;
}

#topMainImage {
	text-align: center;
	width: 950px;
	min-height: 400px;
	margin: 0 auto 50px;
	padding-top: 25px;
}

#topMain {
	width: 660px;
}

#topMain .news_section {
	margin-bottom: 25px;
}

#topMain .news_section .titlebar {
	border-top: 3px solid #5493ec;
	padding: 10px 0 12px;
	border-bottom: 1px dotted #ccc;
	display: table;
	width: 100%;
}

#topMain .news_section .titlebar .title {
	display: table-cell;
	vertical-align: middle;
}

#topMain .news_section .titlebar .btn {
	display: table-cell;
	vertical-align: middle;
	text-align: right;
	width: 100px;
	white-space: nowrap;
}

#topMain .news_section .titlebar .btn a {
	font-size: 85%;
	padding: 8px 25px 8px 15px;
}

#topMain .news_section dl {
	padding: 10px 0px;
	clear: both;
	border-bottom: 1px dotted #ccc;
}

#topMain .news_section dl dt {
	float: left;
	font-size: 12px;
}

#topMain .news_section dl dd {
	margin-left: 100px;
}

#topMain .label_section {
	background: #f2f2f2;
	border: 1px solid #ccc;
	box-shadow: 0 0 0 1px #fff inset;
	border-radius: 4px;
	margin-bottom: 25px;
}

#topMain .label_section .title {
	padding: 20px 20px 0 25px;
}

#topMain .label_section .title>a {
	display: inline-block;
	color: #333;
	font-size: 125%;
	text-decoration: none;
	position: relative;
	padding-right: 22px;
}

#topMain .label_section .title>a:after {
	font-family: 'icomoon' !important;
	content: "\e901";
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-size: 10px;
	color: #fff;
	position: absolute;
	width: 18px;
	text-align: center;
	top: 50%;
	right: 0;
	margin-top: -.5em;
	z-index: 1;
}

#topMain .label_section .title>a:before {
	content: "";
	display: block;
	width: 18px;
	height: 18px;
	background: #fda700;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	right: 0;
	margin-top: -9px;
}

#topMain .label_section .inner {
	padding: 15px 20px 15px 22px;
}

#topMain .label_section .photo {
	float: right;
	margin: 0 0px 15px 10px;
}

#topMain .label_section .lead {
	margin-bottom: .5em;
}

#topMain .label_section .lead2 {
	clear: both;
	margin-bottom: 10px;
}

#topMain .label_section .illust {
	margin-bottom: 15px;
	text-align: center;
}

#topMain .label_section ul.btn {
	margin-bottom: 10px;
}

#topMain .label_section ul.btn li {
	display: inline-block;
	margin-right: .5em;
}

#topMain .top_section {
	clear: both;
	margin-bottom: 40px;
}

#topMain .top_section dl.pamphlet {
	float: left;
	width: 310px;
}

#topMain .top_section dl.pamphlet dt {
	background: -webkit-linear-gradient(top, #fff, #eee);
	background: linear-gradient(to bottom, #fff, #eee);
	border: 1px solid #ccc;
	border-width: 1px 1px 0 1px;
	box-sizing: border-box;
	display: table;
	height: 40px;
	width: 100%;
	position: relative;
	padding-left: 25px;
	font-size: 100%;
}

#topMain .top_section dl.pamphlet dt:hover {
	background: -webkit-linear-gradient(top, #fff, #ffeecd);
	background: linear-gradient(to bottom, #fff, #ffeecd);
}

#topMain .top_section dl.pamphlet dt:after {
	content: "";
	display: block;
	position: absolute;
	left: 10px;
	top: 0;
	border-left: 4px solid #fda700;
	height: 30px;
}

#topMain .top_section dl.pamphlet dt>a {
	display: table-cell;
	vertical-align: middle;
	text-decoration: none;
	color: #333;
	font-weight: bold;
}

#topMain .top_section dl.pamphlet dt>a:after {
	font-family: 'icomoon' !important;
	content: "\e901";
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-size: 12px;
	color: #fda700;
	position: absolute;
	top: 50%;
	right: 12px;
	margin-top: -.5em;
}

#topMain .top_section dl.pamphlet dd {
	min-height: 170px;
	background: -webkit-linear-gradient(top, #fff, #fffcc4);
	background: linear-gradient(to bottom, #fff, #fffcc4);
	text-align: center;
	padding: 20px 0;
	border: 1px solid #ccc;
}

#topMain .top_section dl.faq {
	float: right;
	width: 337px;
}

#topMain .top_section dl.faq dt {
	margin-bottom: 1px;
}

#topMain .top_section dl.faq dd {
	border: 1px solid #D2D2D2;
	min-height: 168px;
}

#topMain .top_section dl.faq dd ul {
	padding: 10px 13px 10px 12px;
}

#topMain .top_section dl.faq dd ul li {
	background: url(../img/icon_q.gif) no-repeat left 2px;
	margin-bottom: 7px;
	padding-left: 22px;
	line-height: 1.4;
}

.bnrArea {
	clear: both;
	width: 950px;
	margin: 0 auto 20px;
}

.bnrArea__ttl {
	margin-bottom: .5em;
}

.bnrArea ul li {
	margin: 0 8px 8px 0px;
	float: left;
}

.bnrArea ul li img {
	line-height: 0px;
	vertical-align: bottom;
	border: 1px solid #ccc;
}

#topSide {
	width: 270px;
	margin-left: auto;
}

#topSide .sideBox {
	clear: both;
	margin-bottom: 10px;
	border: 3px solid #69a7fe;
	border-radius: 6px;
	overflow: hidden;
}

#topSide .sideBox .title {
	text-align: center;
	background: -webkit-linear-gradient(top, #e3f0ff, #fff);
	background: linear-gradient(to bottom, #e3f0ff, #fff);
	padding: 12px 10px 10px 10px;
}

#topSide .sideBox .title span {
	display: inline-block;
}

#topSide .sideBox .inner {
	padding: 12px;
	position: relative;
}

#topSide .sideBox .inner:after {
	content: "";
	width: calc(100% - 20px);
	position: absolute;
	top: 0;
	left: 10px;
	height: 1px;
	border-top: 1px dotted #ccc;
}

#topSide .sideBox .inner .lead {
	margin: 0 5px 10px;
}

#topSide .sideBox .inner .bnr {
	text-align: center;
}

#topSide .wallSearch .title i {
	color: #69a7fe;
	margin-right: .4em;
}

#topSide .member {
	margin-bottom: 15px;
}

#topSide .member .title {
	background: -webkit-linear-gradient(top, #fff, #eee);
	background: linear-gradient(to bottom, #fff, #eee);
	border: 1px solid #ccc;
	box-sizing: border-box;
	display: table;
	height: 40px;
	line-height: 38px;
	width: 100%;
	position: relative;
	padding-left: 25px;
	font-size: 100%;
}

#topSide .member .title:after {
	content: "";
	display: block;
	position: absolute;
	left: 10px;
	top: 0;
	border-left: 4px solid #fda700;
	height: 30px;
}

#topSide .member .inner {
	padding: 8px;
	border-width: 0 1px 1px 1px;
	border-style: solid;
	border-color: #ccc;
	border-bottom: 1px solid #D2D2D2;
}

#topSide .member .inner .subtitle {
	margin: 5px;
	padding-left: 18px;
	position: relative;
	font-size: 82%;
}

#topSide .member .inner .subtitle:after {
	content: "";
	display: block;
	border: 3px solid #fda700;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	position: absolute;
	left: 0;
	top: 50%;
	margin-top: -6px;
}

#topSide .member .inner .login {
	background: #f2f2f2;
	margin-bottom: 15px;
	padding: 15px;
}

#topSide .member .inner .login .error {
	color: #FF0000;
}

#topSide .member .inner .login dl {
	margin-bottom: 10px;
	width: 100%;
	display: table;
}

#topSide .member .inner .login dl dt {
	font-size: 85%;
}

#topSide .member .inner .login dl dd {
	float: left;
}

#topSide .member .inner .login dl dd input.password {
	width: 120px;
	border: 1px solid #7F9DB9;
	height: 30px;
	background: #fff;
	padding: 5px;
}

#topSide .member .inner .login dl dd.btn {
	padding-left: 5px;
	float: left;
}

#topSide .member .inner .login dl dd.btn input {
	vertical-align: bottom;
	height: 30px;
	font-size: 12px;
	padding: 0 10px;
	background-color: #ff8b00;
	cursor: pointer;
	border-radius: 3px;
	color: #fff;
	border: none;
	box-shadow: 0 0 4px 0 rgba(0, 0, 0, .2) inset;
}

#topSide .member .inner .login .forget {
	font-size: 90%;
	text-align: right;
	clear: both;
}

#topSide .member .inner .login .forget a {
	background: url(../img/arrow2.gif) no-repeat left center;
	padding-left: 8px;
}

#topSide .member .inner .news dl {
	padding: 5px;
	clear: both;
	border-top: 1px dotted #ccc;
	line-height: 1.4;
}

#topSide .member .inner .news dl dt {
	color: #555555;
	font-size: 90%;
}

#topSide .member .inner .news iframe {
	height: 120px;
}

/*--20110823:バナー追加--*/
#topSide .catalogue {
	background: url(../../img/frm_catalogue.gif) repeat-y -270px 0px;
	margin-bottom: 10px;
}

#topSide .catalogue .title {
	background: url(../../img/frm_catalogue.gif) no-repeat 0 0px;
}

#topSide .catalogue .inner {
	background: url(../../img/frm_catalogue.gif) no-repeat right bottom;
}

/*--20140317:バナー追加--*/
#topSide .bnrList {
	margin-bottom: 15px;
}

#topSide .bnrList li {
	margin-bottom: 10px;
}

#topSide .bnrList li img {
	line-height: 0px;
	vertical-align: bottom;
}

/*--20160421:動画、協会スケジュール　追加--*/
#topMain .top_section .movie_Box {
	float: right;
	width: 330px;
}

#topMain .top_section .movie_Box .heading {
	background: -webkit-linear-gradient(top, #fff, #eee);
	background: linear-gradient(to bottom, #fff, #eee);
	border: 1px solid #ccc;
	box-sizing: border-box;
	display: table;
	height: 40px;
	width: 100%;
	position: relative;
	padding-left: 25px;
}

#topMain .top_section .movie_Box .heading:after {
	content: "";
	display: block;
	position: absolute;
	left: 10px;
	top: 0;
	border-left: 4px solid #fda700;
	height: 30px;
}

#topMain .top_section .movie_Box .heading p {
	height: 35px;
	display: table-cell;
	vertical-align: middle;
}

#topMain .top_section .movie_Box .heading .txt_att {
	font-weight: normal;
	font-size: 10px;
	margin-left: 1em;
	color: #666;
}

#topMain .top_section .movie_Box .inner {
	border-left: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	border-right: 1px solid #ccc;
	padding: 10px;
}

#topMain .top_section .movie_Box .movie_list li {
	float: left;
	width: 50%;
	box-sizing: border-box;
	padding: 5px 10px;
	text-align: center;
}

#topMain .top_section .movie_Box .movie_list li img {
	max-width: 100%;
}

#topMain .top_section .movie_Box .movie_list li .poster {
	background-color: #666;
	padding: 4px;
	border-radius: 4px;
	position: relative;
	transition: 0.2s ease;
}

#topMain .top_section .movie_Box .movie_list li .poster:before,
#topMain .top_section .movie_Box .movie_list li .poster:after {
	content: "";
	display: block;
	position: absolute;
}

#topMain .top_section .movie_Box .movie_list li .poster:before {
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, .1);
	transition: 0.2s ease;
	top: 0;
	left: 0;
	z-index: 0;
}

#topMain .top_section .movie_Box .movie_list li .poster:after {
	background: url(../img/icon_movie_play.png) no-repeat 0 0;
	width: 38px;
	height: 38px;
	top: 50%;
	left: 50%;
	margin: -19px 0 0 -19px;
	z-index: 1;
}

#topMain .top_section .movie_Box .movie_list li .tit {
	font-size: 88%;
	margin-top: 3px;
}

#topMain .top_section .movie_Box .movie_list li a {
	display: block;
}

#topMain .top_section .movie_Box .movie_list li a:hover .poster {
	background-color: #777;
}

#topMain .top_section .movie_Box .movie_list li a:hover .poster:before {
	background-color: rgba(0, 0, 0, 0);
}

#topSide .member .inner .subtitle.schedule {
	border-top: 1px solid #ddd;
	margin: 5px -8px 0;
	padding: 12px 10px 5px;
}

/*======================================================


  SP用スタイル


====================================================== */
@media screen and (max-width: 599px) {
	#topMainImage {
		width: 100%;
		min-height: initial;
		margin: 0 auto 40px;
		padding-top: 0;
	}

	#topMain {
		float: none;
		width: auto;
		padding: 0 15px 15px 15px;
	}

	#topMain .label_section .title {
		padding: 15px 15px 0 15px;
		text-align: center;
	}

	#topMain .label_section .inner {
		padding: 15px 20px 15px 22px;
	}

	#topMain .label_section .photo {
		float: none;
		text-align: center;
		margin: 0;
	}

	#topMain .label_section .lead {
		margin: 1em 0;
	}

	#topMain .label_section ul.btn+.lead {
		margin-top: 2em;
	}

	#topMain .label_section ul.btn li {
		display: block;
		margin: 0 0 10px 0;
	}

	#topMain .label_section ul.btn li>a {
		padding: 15px 34px 15px 20px;
	}

	#topMain .top_section {
		margin-bottom: 20px;
	}

	#topMain .top_section dl.pamphlet {
		float: none;
		width: 100%;
		margin-bottom: 20px;
	}

	#topSide {
		float: none;
		width: auto;
		padding: 0 15px 15px 15px;
	}

	#topSide .sideBox {
		margin-bottom: 20px;
	}

	#topSide .member .inner .subtitle {
		font-size: 12px;
	}

	#topSide .member .inner .login {
		text-align: center;
	}

	#topSide .member .inner .login dl {
		display: inline-block;
		margin: 0 auto 20px;
		width: auto;
	}

	#topSide .member .inner .login dl dd input.password,
	#topSide .member .inner .login dl dd.btn input {
		height: 40px;
	}

	/*--20140317:バナー追加--*/
	#topSide .bnrList {
		margin-bottom: 20px;
	}

	#topSide .bnrList li {
		margin-bottom: 10px;
		text-align: center;
	}

	#topSide .bnrList li img {
		height: auto;
	}

	/*--20160421:動画、協会スケジュール　追加--*/
	#topMain .top_section .movie_Box {
		float: none;
		width: auto;
	}

	/* 20180116:ログインへの誘導ボタン追加 */
	#topMain .login-guide {
		margin-bottom: 20px;
	}

	#topMain .login-guide>a {
		background: -webkit-linear-gradient(top, #fff, #ffeecd);
		background: linear-gradient(to bottom, #fff, #ffeecd);
		border: 1px solid #ffc149;
		padding: 15px 34px 15px 20px;
	}

	#topMain .login-guide a:after {
		transform: rotate(90deg);
		font-size: 14px;
		right: 20px;
	}

	/* 関連リンク */
	.bnrArea {
		width: auto;
		clear: both;
		padding: 0 15px;
	}

	.bnrArea ul {
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		margin: 5px -5px;
	}

	.bnrArea ul li {
		width: 50%;
		margin: 0;
		padding: 5px;
	}
}
}