@charset "utf-8";

@media (min-width: 992px) {
	.drawer-nav {
		display: none !important;
	}
	.drawer-hamburger {
		display: none !important;
	}
}

@media (max-width: 1199px) {
	body,
	#top-keyimg {
		min-width: auto;
	}
	#contents.two-column {
		width: auto;
		flex-basis: calc(100% - 320px);
	}
	
	table.standard-table.__bp-1200,
	table.standard-table.__bp-1200 > thead,
	table.standard-table.__bp-1200 > tbody,
	table.standard-table.__bp-1200 > thead > tr,
	table.standard-table.__bp-1200 > tbody > tr,
	table.standard-table.__bp-1200 > thead > tr > th,
	table.standard-table.__bp-1200 > tbody > tr > th,
	table.standard-table.__bp-1200 > tbody > tr > td {
		display: block;
	}
	table.standard-table.__bp-1200 th[class*="width-"],
	table.standard-table.__bp-1200 td[class*="width-"] {
		width: auto;
	}
	table.standard-table.__bp-1200 > thead {
		display: none;
	}
	table.standard-table.__bp-1200 > thead > tr > th,
	table.standard-table.__bp-1200 > tbody > tr > th,
	table.standard-table.__bp-1200 > tbody > tr > td {
		padding: 0;
		border: none;
		text-align: left;
	}
	table.standard-table.__bp-1200 > tbody > tr > th > div,
	table.standard-table.__bp-1200 > tbody > tr > td > div {
		padding: 3px 6px;
	}
	table.standard-table.__bp-1200 > tbody > tr > th {
		border-right: none;
		border-bottom: 2px solid #6678b1;
	}
	table.standard-table.__bp-1200.__cross > tbody > tr > th {
		background: #eef;
	}
	table.standard-table.__bp-1200 > thead > tr,
	table.standard-table.__bp-1200 > tbody > tr {
		border: 1px solid #ccc;
	}
	table.standard-table.__bp-1200 thead > tr + tr,
	table.standard-table.__bp-1200 tbody > tr + tr {
		border-top: none;
	}
	table.standard-table.__bp-1200 > tbody > tr > td[data-title]:before {
		content: attr(data-title);
		display: block;
		padding: 3px 6px;
		background: #eef;
		color: #039;
		font-weight: bold;
	}
	table.standard-table.__bp-1200.__cross > tbody > tr > td[data-title]:before {
		background: #f0f0f0;
	}
	table.standard-table.__bp-1200 td.nowrap {
		white-space: normal !important;
	}
	table.standard-table.__bp-1200 td.bp-text-left {
		text-align: left;
	}
	table.standard-table.__bp-1200 td.bp-text-center {
		text-align: center;
	}
	table.standard-table.__bp-1200 td.bp-text-right {
		text-align: right;
	}
}

@media (max-width: 991px) {
	#header > .wrap {
		display: block;
		position: relative;
		height: 62px;
		margin: 0;
	}
	#header > .wrap #header-logo,
	#header > .wrap .welcome,
	#header > .wrap .member_btn {
		position: absolute;
	}
	#header > .wrap #header-logo {
		top: 6px;
		left: 12px;
		width: auto;
		line-height: 0;
	}
	#header > .wrap #header-logo img {
		width: 260px;
	}
	#header > .wrap .welcome {
		bottom: 4px;
		left: 12px;
		margin: 0;
		padding-right: 76px;
		font-size: 12px;
	}
	#header > .wrap .welcome:before {
		font-size: 13px;
		margin-right: .25em;
	}
	#header > .wrap .welcome .counter {
		display: none;
	}
	#header > .wrap .member_btn {
		top: 8px;
		right: 50px;
		height: 36px;
		width: 36px;
		margin: auto;
		padding: 0;
		line-height: 36px;
		border-radius: 5px;
	}
	#header > .wrap .member_btn:before {
		margin-right: 2px;
	}
	#header .member_btn span {
		display: none;
	}
	#header > .wrap .search,
	#header > .wrap .admin-nav {
		display: none;
	}
	#header > .wrap .drawer-hamburger {
		top: 8px;
		right: 8px;
		width: 15px;
		padding-top: 6px;
		padding-bottom: 18px;
		background: #0025e2;
		border-radius: 5px;
	}
	#header > .wrap .drawer-hamburger.new:before {
		content: "";
		position: absolute;
		top: -5px;
		right: -5px;
		width: 12px;
		height: 12px;
		border-radius: 6px;
		background: #ff0000;
		animation-name: flash;
		animation-duration: 3s;
		animation-timing-function: ease;
		animation-delay: 0s;
		animation-iteration-count: infinite;
		animation-direction: normal;
		animation-fill-mode: none;
	}
	.drawer-hamburger-icon:before {
		top: -6px;
	}
	.drawer-hamburger-icon:after {
		top: 6px;
	}
	.drawer-hamburger-icon,
	.drawer-hamburger-icon:after,
	.drawer-hamburger-icon:before {
		background: #fff;
	}
	
	#header-navi {
		display: none;
	}
	
	.drawer--right .drawer-nav {
		right: -20rem;
	}
	.drawer-nav {
		width: 20rem;
		font-size: 1.142857142857143em;
	}
	.drawer-nav .drawer-menu {
		padding-top: 50px;
		padding-bottom: 20px;
	}
	.drawer-nav .logo {
		margin: 0;
		padding: 6px 10px;
	}
	.drawer-nav .welcome {
		margin: 0;
		padding: 0 9px 8px;
		font-size: 0.75em;
	}
	.drawer-nav .welcome > span {
		display: block;
	}
	.drawer-nav ul.main-menu {
		margin-top: 0;
		padding-left: 0;
		border-top: 1px solid #ccc;
		list-style: none;
	}
	.drawer-nav ul.main-menu li a {
		position: relative;
		display: block;
		padding: 8px 10px;
		border-bottom: 1px solid #ccc;
	}
	.drawer-nav ul.main-menu li a:before {
		content: '\f105';
		margin-right: .25em;
		font-family: 'FontAwesome';
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		color: #0025e2;
	}
	.drawer-nav ul.main-menu li.new a:after {
		content: "";
		position: absolute;
		top: 0px;
		bottom: 0px;
		right: 5px;
		width: 12px;
		height: 12px;
		margin: auto;
		border-radius: 6px;
		background: #ff0000;
		animation-name: flash;
		animation-duration: 3s;
		animation-timing-function: ease;
		animation-delay: 0s;
		animation-iteration-count: infinite;
		animation-direction: normal;
		animation-fill-mode: none;
	}
	
	.drawer-nav ul.admin-nav {
		padding: 0;
		padding-left: 10px;
		list-style: none;
	}
	.drawer-nav ul.admin-nav li:not(:last-child) {
		margin-bottom: .5em;
	}
	.drawer-nav ul.admin-nav li a:before {
		content: '\f105';
		margin-right: .25em;
		font-family: 'FontAwesome';
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		color: #0025e2;
	}
	
	.drawer-nav .search,
	.drawer-nav .search > * {
		box-sizing: border-box;
	}
	.drawer-nav .search {
		overflow: hidden;
		padding: 0 10px 10px;
	}
	.drawer-nav .search input[type="text"] {
		float: left;
		width: calc(100% - 2em);
		height: 30px;
		background: #fff;
		border: 1px solid #ccc;
		border-radius: 3px 0 0 3px;
		vertical-align: middle;
	}
	.drawer-nav .search button {
		float: left;
		padding: 0;
		background: #fff;
		border: 1px solid #ccc;
		border-left: none;
		border-radius: 0 3px 3px 0;
		width: 2em;
		height: 30px;
		vertical-align: middle;
		text-align: center;
	}
	.drawer-nav .search button:before {
		content: '\f002';
		font-family: 'FontAwesome';
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		color: #0025e2;
	}
	
	#contents.top-contents {
		flex-wrap: wrap;
	}
	#contents.top-contents h2 {
		width: 100%;
	}
	#contents.top-contents #index-news {
		width: 100%;
	}
	#main > .wrap {
		flex-wrap: wrap;
	}
	#contents.two-column {
		width: 100%;
		flex-basis: 100%;
	}
	#sideber {
		width: 100%;
		flex-basis: 100%;
		padding-left: 0;
	}
	
	table.standard-table,
	table.standard-table > thead,
	table.standard-table > tbody,
	table.standard-table > thead > tr,
	table.standard-table > tbody > tr,
	table.standard-table > thead > tr > th,
	table.standard-table > tbody > tr > th,
	table.standard-table > tbody > tr > td {
		display: block;
	}
	table.standard-table th[class*="width-"],
	table.standard-table td[class*="width-"] {
		width: auto;
	}
	table.standard-table > thead {
		display: none;
	}
	table.standard-table > thead > tr > th,
	table.standard-table > tbody > tr > th,
	table.standard-table > tbody > tr > td {
		padding: 0;
		border: none;
		text-align: left;
	}
	table.standard-table > tbody > tr > th {
		border-right: none;
		border-bottom: 2px solid #6678b1;
	}
	table.standard-table.__cross > tbody > tr > th {
		background: #eef;
	}
	table.standard-table > tbody > tr > th > div,
	table.standard-table > tbody > tr > td > div {
		padding: 3px 6px;
	}
	table.standard-table > thead > tr,
	table.standard-table > tbody > tr {
		border: 1px solid #ccc;
	}
	table.standard-table > thead > tr + tr,
	table.standard-table > tbody > tr + tr {
		border-top: none;
	}
	table.standard-table > tbody > tr > td[data-title]:before {
		content: attr(data-title);
		display: block;
		padding: 3px 6px;
		background: #eef;
		color: #039;
		font-weight: bold;
	}
	table.standard-table.__cross > tbody > tr > td[data-title]:before {
		background: #f0f0f0;
	}
	table.standard-table td.nowrap {
		white-space: normal !important;
	}
	table.standard-table td.bp-text-left {
		text-align: left;
	}
	table.standard-table td.bp-text-center {
		text-align: center;
	}
	table.standard-table td.bp-text-right {
		text-align: right;
	}
	.topic-list .topic-list__group .topic-list__detail dl {
		flex-wrap: wrap;
		justify-content: flex-start;
	}
	.topic-list .topic-list__group .topic-list__detail dl dt {
		flex-basis: 100%;
		padding-left: 30px;
	}
	.tcba_link {
		display: none;
	}
}

@media (max-width: 767px) {
	#footer .wrap > ul {
		float: none;
		margin-bottom: 10px;
	}
	#contents.top-contents #index-news > ul > li > a > dl {
		flex-wrap: wrap;
	}
	#contents.top-contents #index-news > ul > li > a > dl > dt,
	#contents.top-contents #index-news > ul > li > a > dl > dd.title {
		margin-left: 0px;
	}
	#contents.top-contents #index-news > ul > li > a {
		padding-right: 25px;
	}
	#contents.top-contents #index-news > ul > li > a:after {
		right: 5px;
	}
	#contents.top-contents #index-news > ul > li > a > dl > dt,
	#contents.top-contents #index-news > ul > li > a > dl > dd.cat_label {
		margin-bottom: 5px;
	}
	#contents.top-contents #index-news > ul > li > a > dl > dd.title {
		width: 100%;
	}
	.sitemaps-list {
		width: 100%;
		float: none;
		margin-left: 0;
		margin-bottom: 30px;
	}
	ul.link-list li {
		width: 100%;
		float: none;
		margin-right: 0;
	}
	button,
	input,
	optgroup,
	select,
	textarea {
		font-size: 1.142857142857143em;
	}
	.forum-list .forum-list__group .forum-list__detail dl {
		flex-wrap: wrap;
		justify-content: flex-start;
	}
	.forum-list .forum-list__group .forum-list__detail dl dt {
		flex-basis: calc(100% - 30px);
	}
	.forum-list .forum-list__group .forum-list__detail dl dd.forum-list__topic-num {
		flex-basis: calc(100% - 30px);
		padding-left: 30px;
		text-align: left;
	}
	
	.topic .topic__auth-name {
		-webkit-flex-basis: 100%;
		-ms-flex-basis: 100%;
		flex-basis: 100%;
		max-width: 100%;
		margin-bottom: 12px;
		padding: 0;
		padding-bottom: 12px;
		border-bottom: 1px dotted #E6E6E6;
		text-align: left;
	}
	.topic .topic__content {
		-webkit-flex-basis: 100%;
		-ms-flex-basis: 100%;
		flex-basis: 100%;
		max-width: 100%;
	}
	
	.reply-list .reply-list__group .reply-list__auth-name {
		-webkit-flex-basis: 100%;
		-ms-flex-basis: 100%;
		flex-basis: 100%;
		max-width: 100%;
		margin-bottom: 12px;
		padding: 0;
		padding-bottom: 12px;
		border-bottom: 1px dotted #E6E6E6;
		text-align: left;
	}
	.reply-list .reply-list__group .reply-list__content {
		-webkit-flex-basis: 100%;
		-ms-flex-basis: 100%;
		flex-basis: 100%;
		max-width: 100%;
	}
	dl.float-list.__xs-cancel dt {
		float: none;
	}
	dl.float-list.__xs-cancel dt + dd {
		margin-left: 1em !important;
	}
}

@media (max-width: 575px) {
	.topic-list .topic-list__group .topic-list__detail dl dd.topic-list__auth-name {
		flex-basis: 100%;
		padding-left: 30px;
	}
}

@media (max-width: 374px) {
	#header > .wrap #header-logo {
		top: 8px;
	}
	#header > .wrap #header-logo img {
		width: 214px;
	}
	#header > .wrap #header-member .welcome {
		bottom: 6px;
	}
}