@charset "UTF-8";
/*
Theme Name: doshin-nie
Description: 北海道新聞NIEオリジナルテーマ。2017年11月1日公開。2018年11月15日改修。
Version: 2.0
*/
p {
	display: block;
	margin: 1em 0;
}

strong {
	font-weight: bold;
}

em {
	font-style: italic;
}

blockquote {
	display: block;
	-webkit-margin-after: 1em;
	-webkit-margin-before: 1em;
	-webkit-margin-end: 40px; 
	-webkit-margin-start: 40px;
}

.centerblock {
	margin-left: auto; 
	margin-right: auto;
}

.aligncenter {
	display: block;
	margin: 0 auto;
}

.alignright {
	float: right;
}

div.alignright {
	margin-left: 10px;
}

.alignleft {
	float: left;
}

div.alignleft {
	margin-right: 10px;
}

img.alignleft {
	margin-bottom: 10px; 
	margin-right: 10px;
}

img.alignright {
	margin-bottom: 10px; 
	margin-left: 10px;
}

img[class*="wp-image-"], img[class*="attachment-"] {
	height: auto; 
	max-width: 100%;
}

.wp-caption-text {
	background: #eee;
	color: #333;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.5;
	padding: 4px;
}

p.wp-caption-text {
	margin-bottom: 0;
}

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

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

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

.text-caution {
	color: #f00;
}

.bold {
	font-weight: bold;
}

.text-main {
	color: #2ea6df;
}

.text-sub {
	color: #111;
}

.block {
	display: block !important;
}

.hidden {
	display: none;
}

.clearfix {
	*zoom: 1;
}
.clearfix:after {
	clear: both; 
	content: "";
	display: table;
}

.img-responsive {
	max-width: 100%;
}

.img-bordered {
	border: solid 1px #ddd;
	box-sizing: border-box;
}

.subtitle {
	border-left: solid 4px #2ea6df;
	padding-left: 1em;
	position: relative;
}

.subtitle-lined {
	-webkit-align-items: center;
	align-items: center; 
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
}
.subtitle-lined:after {
	border-color: #111;
	border-top: solid 1px;
	content: "";
	display: inline;
	-webkit-flex-grow: 1;
	flex-grow: 1;
	-ms-flex-positive: 1;
	margin-left: 20px;
}

.fs10 {
	font-size: 10px;
	font-size: 1rem;
	line-height: 1.8;
}

.fs11 {
	font-size: 11px;
	font-size: 1.1rem;
	line-height: 1.8;
}

.fs12 {
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1.8;
}

.fs13 {
	font-size: 13px;
	font-size: 1.3rem;
	line-height: 1.8;
}

.fs14 {
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.8;
}

.fs15, .about .catch-list .catch .catch-text, .single-worksheet .ws-box .ws-text .post-content p {
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1.8;
}

.fs16, .tour-tab-body .tab-content-body dl > dd, .contact .location-section .access-text {
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.8;
}

.fs17 {
	font-size: 17px;
	font-size: 1.7rem;
	line-height: 1.8;
}

.fs18, .tour-tab-body .tab-content-header .intro, .worksheet-section .lead {
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1.8;
}

.fs19 {
	font-size: 19px;
	font-size: 1.9rem;
	line-height: 1.8;
}

.fs20 {
	font-size: 20px;
	font-size: 2rem;
	line-height: 1.8;
}

.fs21 {
	font-size: 21px;
	font-size: 2.1rem;
	line-height: 1.8;
}

.fs22 {
	font-size: 22px;
	font-size: 2.2rem;
	line-height: 1.8;
}

.fs23 {
	font-size: 23px;
	font-size: 2.3rem;
	line-height: 1.8;
}

.fs24 {
	font-size: 24px;
	font-size: 2.4rem;
	line-height: 1.8;
}

.fs25 {
	font-size: 25px;
	font-size: 2.5rem;
	line-height: 1.8;
}

.fs26 {
	font-size: 26px;
	font-size: 2.6rem;
	line-height: 1.8;
}

.fs27 {
	font-size: 27px;
	font-size: 2.7rem;
	line-height: 1.8;
}

.fs28 {
	font-size: 28px;
	font-size: 2.8rem;
	line-height: 1.8;
}

.fs29 {
	font-size: 29px;
	font-size: 2.9rem;
	line-height: 1.8;
}

.fs30 {
	font-size: 30px;
	font-size: 3rem;
	line-height: 1.8;
}

.fs31 {
	font-size: 31px;
	font-size: 3.1rem;
	line-height: 1.8;
}

.fs32 {
	font-size: 32px;
	font-size: 3.2rem;
	line-height: 1.8;
}

.fs33 {
	font-size: 33px;
	font-size: 3.3rem;
	line-height: 1.8;
}

.fs34 {
	font-size: 34px;
	font-size: 3.4rem;
	line-height: 1.8;
}

.fs35 {
	font-size: 35px;
	font-size: 3.5rem;
	line-height: 1.8;
}

.fs36 {
	font-size: 36px;
	font-size: 3.6rem;
	line-height: 1.8;
}

.fs37 {
	font-size: 37px;
	font-size: 3.7rem;
	line-height: 1.8;
}

.fs38 {
	font-size: 38px;
	font-size: 3.8rem;
	line-height: 1.8;
}

.fs39 {
	font-size: 39px;
	font-size: 3.9rem;
	line-height: 1.8;
}

.fs40 {
	font-size: 40px;
	font-size: 4rem;
	line-height: 1.8;
}

.fs41 {
	font-size: 41px;
	font-size: 4.1rem;
	line-height: 1.8;
}

.fs42 {
	font-size: 42px;
	font-size: 4.2rem;
	line-height: 1.8;
}

.fs43 {
	font-size: 43px;
	font-size: 4.3rem;
	line-height: 1.8;
}

.fs44 {
	font-size: 44px;
	font-size: 4.4rem;
	line-height: 1.8;
}

.fs45 {
	font-size: 45px;
	font-size: 4.5rem;
	line-height: 1.8;
}

.fs46 {
	font-size: 46px;
	font-size: 4.6rem;
	line-height: 1.8;
}

.fs47 {
	font-size: 47px;
	font-size: 4.7rem;
	line-height: 1.8;
}

.fs48 {
	font-size: 48px;
	font-size: 4.8rem;
	line-height: 1.8;
}

.box {
	padding: 20px;
}
.box.box-bordered {
	border: solid 1px #000;
}
.box.bg-color-sub {
	background: #ddd;
}

.border-bold {
	border-width: 4px !important;
}

.border-color-main {
	border-color: #2ea6df !important;
}

.hang1 {
	padding-left: 1em; 
	text-indent: -1em;
}

ul.list-normal {
	list-style: none; 
	margin: 0;
	padding: 0;
}

.alert {
	background: #ddd;
	border-radius: 4px;
	box-sizing: border-box;
	display: block;
	line-height: 1.6; 
	margin: 1em 0;
	padding: 20px;
}
.alert.alert-danger {
	background: transparent;
	border: solid 4px #cc001b;
	color: #cc001b;
	font-weight: bold;
}
.alert.alert-info {
	background: transparent;
	border: solid 4px #2ea6df;
	color: #2ea6df;
	font-weight: bold;
}

.label {
	display: inline-block;
	padding: 4px;
}

.label-required {
	background: #f00;
	bottom: 2px; 
	color: #fff;
	font-size: 11px;
	font-size: 1.1rem;
	position: relative;
}

.label-norequired {
	background: green;
	bottom: 2px; 
	color: #fff;
	font-size: 11px;
	font-size: 1.1rem;
	position: relative;
}

.read-box {
	border: solid 1px #555;
	box-sizing: border-box;
	margin-bottom: 30px; 
	max-width: 700px;
	padding: 30px;
}
.read-box p:last-child {
	margin-bottom: 0;
}

table.table th {
	background: #eee; 
	white-space: nowrap;
}

table.table-bordered th, table.table-bordered td {
	border-bottom: solid 1px #ddd;
	border-left: solid 1px #ddd;
	padding: 6px;
}

html {
	min-height: 100%; 
	position: relative;
}

html, body {
	font-family: -apple-system, BlinkMacSystemFont, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}

.container {
	height: 100%;
	margin-left: auto; 
	margin-right: auto;
	max-width: 1000px;
	position: relative;
	width: 1000px;
}

.content-inner {
	padding: 0 50px; 
	position: relative;
}

a:focus {
	outline: none;
}

.section {
	margin-bottom: 50px;
}

.browserupgrade {
	background: #f09;
	color: #fff;
	font-weight: bold;
	line-height: 1.5; 
	padding: 60px 0;
	position: fixed;
	text-align: center;
	width: 100%;
	z-index: 10000;
}

.no-image {
	max-width: 100%;
}

.lead-text-box {
	margin-left: auto; 
	margin-right: auto;
	max-width: 720px;
}

html {
	font-size: 62.5%;
}

body {
	font-size: 1.6rem;
}

p {
	margin: 0 0 1em;
}

.section-title {
	display: inline-block;
	text-align: center;
}

.section-title .section-title-main {
	border-bottom: solid 12px #000;
	display: block;
	font-family: "UD Shin Go DemiBold","a-otf-ud-shin-go-pr6n", sans-serif;
	font-size: 26px;
	font-size: 2.6rem;
	font-style: normal;
	font-weight: 400;
	margin: 0 auto 15px;
	min-width: 280px; 
	padding: 0 20px 10px;
}

.section-title .section-title-sub {
	display: block;
	font-family: "Arial";
	font-size: 20px;
	font-size: 2rem; 
	font-weight: bold;
}

.section-header {
	text-align: center;
}
.section-header .title-main {
	border-bottom: solid 12px #000;
	display: inline-block;
	font-family: "UD Shin Go DemiBold","a-otf-ud-shin-go-pr6n", sans-serif;
	font-size: 26px;
	font-size: 2.6rem;
	font-style: normal;
	font-weight: 400;
	margin-bottom: 10px;
	min-width: 280px; 
	padding: 0 10px 10px;
}
.section-header .title-sub {
	font-family: "Arial";
	font-size: 20px;
	font-size: 2rem; 
	font-weight: bold;
}

.site-header {
	background-color: #2ea6df;
	height: 140px;
	opacity: .9;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 2;
}
.entry .site-header, .entry-confirm .site-header, .entry-complete .site-header, .internship .site-header, .internship-confirm .site-header, .internship-complete .site-header, .mailbox .site-header, .mailbox-confirm .site-header, .mailbox-complete .site-header, .mailbox-error .site-header {
	margin-bottom: 50px; 
	position: relative;
}

.site-logo {
	left: 50%;
	margin: 0;
	padding: 0;
	position: absolute;
	top: 30px;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

.site-content {
	padding-bottom: 80px;
}

.site-footer {
	background: #000;
	bottom: 0;
	color: #fff;
	font-size: 11px; 
	height: 60px;
	position: absolute;
	width: 100%;
}

.site-footer .copy {
	height: 17px; 
	left: 50%;
	margin: 0;
	padding: 0;
	position: absolute;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.footer-nav {
	position: absolute;
	right: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.footer-menu {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	list-style: none;
}
.footer-menu__item:not(:last-child) {
	border-right: solid 1px #fff;
}
.footer-menu__item a {
	color: #fff;
	padding: 0 8px 0;
	text-decoration: none;
}
.footer-menu__item a:hover {
	text-decoration: underline;
}

.move-to-top {
	bottom: 40px;
	display: none;
	height: 80px;
	opacity: .9;
	position: fixed;
	right: 20px;
	transition: all .4s ease-out; 
	width: 80px;
}
.move-to-top:link, .move-to-top:visited, .move-to-top:hover, .move-to-top:active {
	text-decoration: none;
}
.move-to-top:hover {
	background: #2ea6df;
	border-radius: 50%;
}
.move-to-top span {
	-webkit-align-items: center;
	align-items: center;
	background: url("./img/icons/pagetop.png") no-repeat;
	background-position: center center;
	background-size: 54px 30px;
	color: #fff;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	-ms-flex-pack: center;
	height: 80px;
	-webkit-justify-content: center;
	justify-content: center;
	text-indent: -9999px;
}
.move-to-top:hover > span {
	-webkit-filter: invert(100%);
	filter: invert(100%);
}

.fadeInDown {
	-webkit-animation-duration: .6s;
	animation-duration: .6s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-name: fadeInDown;
	animation-name: fadeInDown;
	visibility: visible !important;
}

@-webkit-keyframes fadeInDown {
	0% {
		opacity: 0;
		-webkit-transform: translateY(10px);
		transform: translateY(10px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
}

@keyframes fadeInDown {
	0% {
		opacity: 0;
		-webkit-transform: translateY(10px);
		transform: translateY(10px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
}

.main-visual {
	background-position: left bottom;
	background-repeat: none;
	background-size: 100%;
	height: 560px;
	margin-bottom: 50px; 
	margin-left: auto;
	margin-right: auto;
	max-width: 1000px;
	overflow: hidden;
	position: relative;
	width: 1000px;
}
.entry .main-visual, .entry-confirm .main-visual, .entry-complete .main-visual, .main-visual .entry-error, .internship .main-visual, .internship-confirm .main-visual, .internship-complete .main-visual, .internship-error .main-visual, .mailbox .main-visual, .mailbox-confirm .main-visual, .mailbox-complete .main-visual, .mailbox-error .main-visual {
	display: none;
}
.main-visual .mv-text {
	left: 50%;
	padding-top: 100px; 
	position: absolute;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 100%;
}
.main-visual .mv-text-main {
	font-family: "UD Shin Go DemiBold","a-otf-ud-shin-go-pr6n", sans-serif;
	font-size: 48px;
	font-size: 4.8rem;
	font-style: normal;
	font-weight: 400;
	text-align: center;
}
.main-visual .mv-text-sub {
	margin-top: 1em; 
	text-align: center;
}
.main-visual .mv-text-sub span.row {
	background: rgba(0, 0, 0, .8);
	color: #fff;
	display: inline-block;
	font-family: "メイリオ", "Meiryo", sans-serif; 
	font-size: 23px;
	font-size: 2.3rem;
	margin-bottom: 6px;
	padding: 6px;
}
.main-visual .mv-curtain {
	background: #fff; 
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.home .main-visual, .error404 .main-visual {
	background-image: url("./img/main-visual/top.jpg");
}

.home .mv-text-main, .error404 .mv-text-main {
	color: #fff;
	font-family: "Hiragino Mincho W7 JIS2004";
	font-size: 60px;
	font-size: 6rem;
	margin-bottom: 30px;
	margin-top: 160px;
}

.home .mv-text-main > span, .error404 .mv-text-main > span {
	background: rgba(0, 0, 0, .4); 
	display: inline-block;
	padding: 6px;
}

.home .mv-text-sub > span.row, .error404 .mv-text-sub > span.row {
	background: rgba(255, 255, 255, .6);
	color: #111; 
	font-family: "Hiragino Mincho W5 JIS2004";
}

.about .main-visual, .conference .main-visual, .adviser .main-visual, .nie-report .main-visual, .designated-school .main-visual, .single-designated-school .main-visual, .seminar-info .main-visual, .single-seminar-info .main-visual, .post-type-archive-seminar-info .main-visual, .seminar-report .main-visual, .single-seminar-report .main-visual, .post-type-archive-seminar-report .main-visual {
	background-image: url("./img/main-visual/about.jpg");
}

.nie-news .main-visual, .single-article .main-visual, .single-series .main-visual, .single-feature .main-visual, .article-search .main-visual, .bunbuntime .main-visual, .bunbuntime-search .main-visual, .bunbuntime-backnumber .main-visual, .single-bunbuntime .main-visual, .post-type-archive-bunbuntime .main-visual, .single-nayami .main-visual, .post-type-archive-nayami .main-visual, .plaza .main-visual, .single-plaza .main-visual, .post-type-archive-plaza .main-visual {
	background-image: url("./img/main-visual/nie-news.jpg");
}

.know .main-visual, .tour .main-visual, .lecture .main-visual, .gallery .main-visual, .qa .main-visual {
	background-image: url("./img/main-visual/know.jpg");
}

.use .main-visual, .worksheet .main-visual, .worksheet-search .main-visual, .sheet .main-visual, .post-type-archive-worksheet .main-visual, .single-worksheet .main-visual {
	background-image: url("./img/main-visual/use.jpg");
}

.make .main-visual {
	background-image: url("./img/main-visual/make.jpg");
}

.contact .main-visual {
	background-image: url("./img/main-visual/contact.jpg");
}

.sitemap .main-visual {
	background-image: url("./img/main-visual/sitemap.jpg");
}

.error-404 {
	margin: 100px 0;
}

.slick-slide:focus {
	outline: none;
}

/*
 * 前後記事
 */
.prev-next-title {
	border-bottom: solid 2px #000;
	border-top: solid 2px #000;
	margin-bottom: 30px;
	margin-top: 50px;
}

.prev-next-icons {
	margin-bottom: 4px; 
	position: relative;
	width: 100%;
}
.prev-next-icons .prevpost-icon, .prev-next-icons .nextpost-icon {
	background: #111;
	border: solid 1px #111;
	box-sizing: border-box;
	color: #fff;
	display: inline-block;
	padding: 1px 10px;
	text-decoration: none;
}
.prev-next-icons .prevpost-icon:hover, .prev-next-icons .nextpost-icon:hover {
	background: transparent; 
	color: #111;
}
.prev-next-icons .prevpost-icon {
	float: right;
}
.prev-next-icons .nextpost-icon {
	float: left;
}

.prev-next-list {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: justify;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap; 
	-webkit-justify-content: space-between;
	justify-content: space-between;
	margin: 0 0 20px;
	padding: 0;
	width: 100%;
}
.prev-next-list .post-prev, .prev-next-list .post-next {
	border: solid 1px #333;
	box-sizing: border-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	padding: 10px;
	width: 49%;
}
.prev-next-list .post-prev.no-border, .prev-next-list .post-next.no-border {
	border: none;
}
.prev-next-list .post-thumbnail {
	margin-right: 10px;
	max-width: 130px; 
	min-width: 130px;
}
.prev-next-list .post-content {
	-webkit-flex-basis: auto;
	flex-basis: auto; 
	-webkit-flex-grow: 1;
	flex-grow: 1;
	-ms-flex-negative: 1;
	-ms-flex-positive: 1;
	-ms-flex-preferred-size: auto;
	-webkit-flex-shrink: 1;
	flex-shrink: 1;
}
.prev-next-list .post-date {
	font-size: 14px;
	font-size: 1.4rem;
}
.prev-next-list .post-title {
	line-height: 1.4;
}
.prev-next-list .post-excerpt {
	font-size: 15px;
	font-size: 1.5rem; 
	line-height: 1.5;
}

/*
 * ページネーション
 */
.pagination {
	clear: both;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: end;
	font-size: 12px;
	font-size: 1.2rem; 
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
	padding: 20px 0;
	position: relative;
	width: 100%;
}
.pagination span, .pagination a {
	border: solid 1px #000;
	box-sizing: border-box;
	display: block;
	margin-left: 4px; 
	padding: 6px 12px;
}
.pagination .current {
	background: #111;
	color: #fff;
}
.pagination a {
	color: #111; 
	text-decoration: none;
}
.pagination a:hover {
	background: #43afe2;
}

/*
 * コンテンツ別フッター
 */
.content-footer {
	background: #eee; 
	padding: 50px 0;
}
.content-footer .list {
	-webkit-align-items: center;
	align-items: center;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center; 
	list-style: none;
	margin: 0;
	padding: 0;
}
.content-footer .list__item {
	margin: 0 20px;
}
.content-footer .list__item::before {
	content: "\f0da";
	font-family: "FontAwesome";
	margin-right: 2px;
}

/*
 * 年アーカイブページへのリンクリスト
 */
.year-link-box {
	border-bottom: solid 1px #111;
	border-top: solid 1px #111;
	margin-bottom: 1em; 
	padding: 6px 0;
	text-align: center;
}
.year-link-box .heading {
	margin: 0;
	padding: 0;
}
.year-link-box .year-list {
	margin: 0;
	padding: 0;
}
.year-link-box .year-list .list__item {
	display: inline-block;
	list-style: none;
	padding: 4px 6px;
}
.year-link-box .year-list .list__item::before {
	content: "\f0da";
	font-family: "FontAwesome";
	margin-right: 4px;
}

.input-full {
	width: 98%;
}

.input-large {
	width: 80%;
}

.input-half {
	width: 50%;
}

.input-small {
	width: 30%;
}

.input-xs {
	width: 15%;
}

.nie-form-control-select {
	background: #fff; 
	display: inline-block;
	position: relative;
}
.nie-form-control-select::before {
	border-left: solid 1px #ccc; 
	content: "";
	height: 60%;
	position: absolute;
	right: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 40px;
	z-index: 0;
}
.nie-form-control-select::after {
	border-bottom: solid 1px #2ea6df;
	border-right: solid 1px #2ea6df;
	content: "";
	height: 10px;
	position: absolute;
	right: 14px;
	top: 50%;
	-webkit-transform: translateY(-60%) rotate(45deg);
	transform: translateY(-60%) rotate(45deg); 
	width: 10px;
	z-index: 0;
}

select.form-control {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: solid 1px #ccc;
	border-radius: 4px;
	box-sizing: border-box; 
	height: 40px;
	margin: 0;
	outline: none;
	padding: 0 40px 0 10px;
	position: relative;
	z-index: 1;
}
select.form-control::-ms-expand {
	display: none;
}
select.form-control > option {
	border: solid 1px #000;
	border-radius: 4px;
}
select.form-control:focus {
	box-shadow: 0 0 4px #2ea6df;
}

input[type="text"].form-control, input[type="email"].form-control {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: solid 1px #ccc;
	border-radius: 4px;
	box-sizing: border-box;
	height: 40px;
	margin: 0;
	padding: 0 16px; 
	position: relative;
	z-index: 1;
}

input[type="text"].form-control:focus, input[type="email"].form-control:focus {
	box-shadow: 0 0 4px #2ea6df;
}

.nie-search-label {
	display: inline-block;
	font-size: 20px;
	font-size: 2rem; 
	padding: 10px 20px 10px 40px;
	position: relative;
}
.nie-search-label::before {
	background: url("./img/icons/search.png") no-repeat;
	content: "";
	display: inline-block;
	height: 25px;
	left: 0; 
	position: absolute;
	width: 30px;
}
.nie-search-label span {
	display: block;
	font-size: 12px;
	font-size: 1.2rem; 
	text-align: center;
}

.nie-form-label {
	border-left: solid 4px #2ea6df;
	color: #999; 
	display: inline-block;
	font-size: 15px;
	font-size: 1.5rem;
	padding-left: .4em;
}

.table {
	display: table;
	width: 100%;
}

.table.table-bordered {
	border-right: solid 1px #ddd; 
	border-top: solid 1px #ddd;
}

.table > dl {
	display: table-row;
}

.table > dl > dt, .table > dl > dd {
	border-bottom: solid 1px #ddd;
	box-sizing: border-box; 
	display: table-cell;
	padding: 6px;
	vertical-align: middle;
}

.table > dl > dt {
	background: #eee;
	padding-left: 1em;
	padding-right: 1em;
	text-align: right;
	vertical-align: middle; 
	white-space: nowrap;
}

.table-mailbox-form {
	table-layout: fixed;
}
.table-mailbox-form > dl > dt {
	width: 30%;
}

.mw_wp_form .label-address1, .mw_wp_form .label-address2, .mw_wp_form .label-address3 {
	display: inline-block; 
	width: 90px;
}

.mw_wp_form .label-teacher_name, .mw_wp_form .label-representative_student_name {
	display: inline-block; 
	width: 90px;
}

.mw_wp_form .label-grade, .mw_wp_form .label-student_number, .mw_wp_form .label-teacher_number {
	margin-right: 6px;
}

.mw_wp_form .label-date1, .mw_wp_form .label-date2, .mw_wp_form .label-date3 {
	margin-right: 6px;
}

.mw_wp_form .print {
	color: #3676e0; 
	font-weight: bold;
	padding-top: 30px;
	text-align: center;
}

.mw_wp_form_input input[name^="address"], .mw_wp_form_input input[name^="zip"], .mw_wp_form_input input[name="teacher_name"], .mw_wp_form_input input[name^="date"] {
	margin-bottom: 6px;
}

.mw_wp_form_input input[name="zipcode[data][0]"] {
	margin-left: 10px;
}

.mw_wp_form_input .confirm-only {
	display: none;
}

.mw_wp_form_confirm .input-only {
	display: none;
}

.mw_wp_form .error {
	display: inline !important;
}
.mw_wp_form .error::before {
	content: "※";
}

.mw-wp-form_image img {
	max-width: 100%;
}

.mw-wp-form_confirm .input-only {
	display: none;
}

/*!
 * ボタン
 -----------------------------------*/
button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none; 
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
}

.btn {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	box-sizing: border-box; 
	cursor: pointer;
	display: inline-block;
	text-decoration: none;
	white-space: nowrap;
}
.btn.btn-large {
	font-size: 18px;
	font-size: 1.8rem; 
	padding-bottom: 12px !important;
	padding-top: 12px !important;
}
.btn.btn-midium {
	font-size: 16px;
	font-size: 1.6rem; 
	padding-bottom: 10px !important;
	padding-top: 10px !important;
}
.btn.btn-small {
	font-size: 13px;
	font-size: 1.3rem; 
	padding-bottom: 6px !important;
	padding-top: 6px !important;
}
.btn.btn-default {
	background: #eee;
	border: solid 2px #ddd;
	border-radius: 4px;
	color: #333;
	font-weight: bold; 
	padding: 15px;
}
.btn.btn-default:hover {
	opacity: .9;
}
.btn.btn-reset {
	background: #ddd;
	border: solid 2px #ccc;
	border-radius: 4px;
	color: #555;
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: bold; 
	padding: 15px;
}
.btn.btn-reset:hover {
	opacity: .9;
}
.btn.btn-primary {
	background: #2ea6df;
	border: solid 2px #8cd1ec;
	border-radius: 4px;
	color: #fff;
	font-weight: bold; 
	padding: 15px;
}
.btn.btn-primary:hover {
	opacity: .9;
}
.btn.btn-xxx {
	background: #444;
	border: solid 1px #333;
	border-radius: 4px;
	color: #fff;
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: bold; 
	padding: 15px;
}
.btn.btn-xxx:hover {
	opacity: .9;
}
.btn.btn-link-mailbox {
	background: pink;
	border-radius: 6px;
	box-sizing: border-box;
	color: #111; 
	margin: 0 4px;
	padding: 0 8px;
}
.btn.btn-link-mailbox:hover {
	opacity: .9;
}

.download-btn {
	background: #111;
	display: inline-block;
	padding: 3px;
	text-align: center;
	transition: padding .3s ease-out;
}
.download-btn.disabled {
	opacity: .5;
}

.download-btn > .btn {
	background: #fff;
	color: #111;
	display: block;
	margin: 0 auto;
	padding: 20px 40px;
	text-align: center;
	text-decoration: none;
	transition: padding .3s ease-out;
}

.download-btn:hover {
	cursor: pointer; 
	padding: 12px;
}

.download-btn:hover > .btn {
	padding: 11px 31px;
	padding: calc(20px - 9px) calc(40px - 9px);
}

.download-btn .btn-text-main {
	background: url("./img/icons/download.png") no-repeat;
	background-position: right;
	background-size: 22px 19px;
	display: block;
	font-size: 20px;
	margin-bottom: 15px; 
	padding-right: 42px;
}

.download-btn .btn-text-sub {
	display: block;
	font-size: 13px;
}

.link-btn > .btn, .entry-btn > .btn {
	border: solid 3px #111;
	box-sizing: border-box;
	color: #111;
	display: inline-block;
	overflow: hidden;
	padding: 20px 40px;
	padding-right: 50px; 
	position: relative;
	text-align: center;
	text-decoration: none;
}
.link-btn > .btn .btn-text-main, .entry-btn > .btn .btn-text-main {
	line-height: 1.4;
}
.link-btn > .btn::before, .entry-btn > .btn::before {
	background: #000;
	content: "";
	height: 100%;
	left: 0;
	opacity: 1;
	position: absolute;
	top: 0;
	transition: all .3s ease;
	width: 0;
	z-index: -1;
}
.link-btn > .btn:hover, .entry-btn > .btn:hover {
	color: #fff; 
	transition: all .3s ease;
}
.link-btn > .btn:hover::before, .entry-btn > .btn:hover::before {
	height: 100%;
	opacity: 1; 
	width: 100%;
}
.link-btn > .btn::after, .entry-btn > .btn::after {
	content: "＞";
	display: inline-block;
	position: absolute;
	right: 20px; 
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.link-btn > .btn.btn--small, .entry-btn > .btn.btn--small {
	padding-bottom: 10px; 
	padding-top: 10px;
}

.btn.btn-search {
	background: #2ea6df;
	border: solid 2px #8cd1ec;
	border-radius: 4px;
	box-sizing: border-box;
	color: #fff;
	cursor: pointer; 
	display: inline-block;
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: bold;
	padding: 15px;
	text-decoration: none;
}
.btn.btn-search:hover {
	opacity: .9;
}

.btn.btn-series-viewer {
	background: #ddd;
	border-radius: 6px;
	color: #2ea6df;
	cursor: pointer; 
	display: inline-block;
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: bold;
	padding: 10px 32px;
	text-decoration: none;
}
.btn.btn-series-viewer:hover {
	opacity: .9;
}

.btn.btn-seminar-download {
	background: #ddd;
	border-radius: 6px;
	color: #222;
	cursor: pointer; 
	display: inline-block;
	font-size: 13px;
	font-size: 1.3rem;
	padding: 6px 12px;
	text-decoration: none;
}
.btn.btn-seminar-download:hover {
	opacity: .9;
}
.btn.btn-seminar-download::before {
	content: "\f01a";
	font-family: "FontAwesome";
	margin-right: 4px;
}

.btn.btn-more {
	border: solid 2px #000;
	margin: 0 auto;
	padding: 8px 16px;
	text-align: center; 
	transition: all .3s ease;
}
.btn.btn-more.opened::before, .btn.btn-more.closed::before {
	color: #222;
	font-family: "FontAwesome";
	margin-right: 4px;
}
.btn.btn-more.opened::before {
	content: "\f139";
}
.btn.btn-more.closed::before {
	content: "\f13a";
}
.btn.btn-more:hover {
	border-width: 4px;
	padding: 6px 14px;
}

/*
 + アイコン
 ------------------------------*/
.icon {
	display: inline-block;
}
.icon.icon-new {
	background: #db0a0a;
	border-radius: 6px;
	bottom: 4px;
	color: #fff;
	font-size: 12px;
	font-size: 1.2rem;
	margin: 0 4px; 
	padding: 2px 4px;
	position: relative;
}
.icon.icon-updated::before {
	color: yellow; 
	content: "\f05a";
	font-family: "FontAwesome";
}

.menu-list {
	font-family: "メイリオ", "sans-serif";
	list-style: none;
	margin: 0;
	padding: 0;
}

.menu-list a {
	text-decoration: none;
}

.menu-list.level1 {
	-webkit-align-items: flex-start;
	align-items: flex-start;
	bottom: 0;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: start;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-ms-flex-pack: justify;
	-webkit-flex-wrap: nowrap;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	margin-left: 4%; 
	position: absolute;
	width: 96%;
}

.menu-list.level1 > li {
	position: relative;
}

.menu-list.level1 > li > a {
	border-radius: 8px 8px 0 0;
	color: #000;
	display: block;
	font-size: 14px;
	font-weight: bold;
	line-height: 44px;
	padding: 0 20px; 
	position: relative;
	text-align: center;
	text-decoration: none;
}

.menu-list.level1 > li.active a, .menu-list.level1 > li > a:hover {
	background: #111;
	color: #fff;
}

.sub {
	-webkit-align-items: stretch;
	align-items: stretch;
	background: #111;
	border-radius: 0 0 8px 8px;
	box-sizing: border-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: stretch;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	left: 0;
	max-height: 0;
	min-width: 300px;
	opacity: 0;
	padding: 10px 16px;
	position: absolute;
	top: 44px;
	transition: max-height .8s ease-out;
	visibility: hidden;
	z-index: 0;
}

.menu-thumb > img {
	border-radius: 6px; 
	max-height: 0;
	opacity: 0;
	transition: max-height .8s ease-out;
}

.menu-list.level1 > li:hover .sub, .menu-list.level1 > li:hover .menu-thumb > img {
	max-height: 100vh;
	opacity: 1;
	visibility: visible;
	z-index: 1;
}

.menu-list.level2 {
	width: 50%;
}

.menu-list.level2 > li {
	line-height: 1.6;
}

.menu-list.level2 > li:not(:first-child) {
	border-top: solid 1px #444;
}

.menu-list.level2 > li > a {
	color: #fff;
	font-size: 11px;
	font-weight: bold;
	position: relative;
}

.menu-list.level2 > li > a::before {
	content: " - ";
}

.menu-list.level2 > li > a:hover {
	color: #2ea6df;
	text-decoration: underline;
}

.anime-underline {
	display: inline-block;
	position: relative;
	text-decoration: none;
}

.anime-underline::after {
	background-color: #2ea6df;
	bottom: 4px;
	content: "";
	height: 3px;
	left: 10%;
	position: absolute;
	-webkit-transform: scale(0, 1);
	transform: scale(0, 1);
	-webkit-transform-origin: right top;
	transform-origin: right top;
	transition: -webkit-transform .4s;
	transition: transform .4s;
	transition: transform .4s, -webkit-transform .4s; 
	width: 80%;
}

.anime-underline:hover::after {
	-webkit-transform: scale(1, 1);
	transform: scale(1, 1); 
	-webkit-transform-origin: left top;
	transform-origin: left top;
}

.active .anime-underline::after {
	-webkit-transform: scale(1, 1);
	transform: scale(1, 1); 
	-webkit-transform-origin: left top;
	transform-origin: left top;
}

.menu-list.level1 > li.menu-list-contact > a {
	background: #111;
	border-radius: 0 0 8px 8px;
	color: #fff;
	line-height: 34px;
	padding: 4px 0 0;
	width: 170px;
}
.menu-list.level1 > li.menu-list-contact > a:hover {
	border-radius: 0; 
	color: #2ea6df;
}

.menu-list-contact {
	box-sizing: border-box;
	position: relative;
}
.menu-list-contact.is-active .contact__sub {
	visibility: visible;
}

.contact__sub {
	background: #111;
	border-radius: 0 0 8px 8px;
	box-sizing: border-box;
	left: 0;
	padding: 1em 0;
	position: absolute;
	text-align: center;
	top: 34px;
	visibility: hidden; 
	width: 100%;
}
.contact__sub a {
	color: #fff;
	display: inline-block; 
	font-size: 11px;
	font-size: 1.1rem;
	font-weight: bold;
	position: relative;
}
.contact__sub a:hover {
	color: #2ea6df !important;
	text-decoration: underline;
}
.contact__sub a::before, .contact__sub a::after {
	content: " - ";
}

.contact-info {
	background: #111;
	border-bottom: solid 2px #2ea6df; 
	color: #fff;
	font-size: 11px;
	line-height: 1.4;
	padding: 10px 0;
	position: absolute;
	right: 0;
	text-align: center;
	top: 0;
	width: 170px;
}

.menu-container .icon-updated {
	position: absolute;
	right: 2px; 
	top: -1px;
}
.menu-container .icon-updated::before {
	color: yellow; 
	content: "\f05a";
	font-family: "FontAwesome";
}

.menu-container .level2 .icon-updated, .menu-container .menu-list-contact .level2 .icon-updated {
	position: absolute;
	right: -16px; 
	top: 0;
}

.menu-container .menu-list-contact .icon-updated {
	right: 25px; 
	top: 3px;
}

.mfp-close {
	background: url("img/icons/modal-close.png") no-repeat;
	cursor: pointer;
	display: inline-block;
	height: 62px;
	opacity: 1;
	padding: 0;
	position: absolute;
	right: -31px;
	text-indent: -999999px; 
	top: -31px;
	width: 62px;
}
.mfp-close:active {
	top: -30px;
}

.mfp-zoom-in .mfp-with-anim {
	opacity: 0;
	-webkit-transform: scale(.8);
	transform: scale(.8); 
	transition: all .2s ease-in-out;
}

.mfp-zoom-in.mfp-bg {
	opacity: 0;
	transition: all .3s ease-out;
}

.mfp-zoom-in.mfp-ready .mfp-with-anim {
	opacity: 1;
	-webkit-transform: scale(1);
	transform: scale(1);
}

.mfp-zoom-in.mfp-ready.mfp-bg {
	opacity: .8;
}

.mfp-zoom-in.mfp-removing .mfp-with-anim {
	opacity: 0; 
	-webkit-transform: scale(.8);
	transform: scale(.8);
}

.mfp-zoom-in.mfp-removing.mfp-bg {
	opacity: 0;
}

.mfp-fade.mfp-bg {
	opacity: 0;
	transition: all .15s ease-out;
}

.mfp-fade.mfp-bg.mfp-ready {
	opacity: .8;
}

.mfp-fade.mfp-bg.mfp-removing {
	opacity: 0;
}

.mfp-fade.mfp-wrap .mfp-content {
	opacity: 0;
	transition: all .15s ease-out;
}

.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
	opacity: 1;
}

.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
	opacity: 0;
}

.section-info .section-header {
	margin-bottom: 40px;
}
.section-info .section-header .title-main {
	font-family: impact !important;
}

.section-info .info-list .post {
	border-bottom: solid 1px #ccc;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex; 
	padding: 0 40px;
}

.section-info .info-list .post-title {
	font-weight: bold; 
	margin-bottom: 10px;
}

.section-info .info-list .post-content {
	font-size: 14px;
	font-size: 1.4rem;
}

.section-info .btn-read-more {
	border: solid 2px #000;
	display: block; 
	left: 50%;
	padding: 4px 16px;
	position: absolute;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.section-info .btn-read-more:hover {
	background: #000;
}

.pickup-list {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: center;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	justify-content: center; 
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
}
.pickup-list .card {
	border: solid 4px #000;
	border-radius: 6px;
	box-sizing: border-box;
	display: block;
	height: 370px;
	margin: 10px 20px 30px;
	position: relative;
	transition: all .4s ease-out; 
	width: 400px;
}
.pickup-list .card.worksheet {
	background: url("./img/pickup/card-bg-worksheet.png") no-repeat;
}
.pickup-list .card.article {
	background: url("./img/pickup/card-bg-article.png") no-repeat;
}
.pickup-list .card.bunbuntime {
	background: url("./img/pickup/card-bg-bunbuntime.png") no-repeat;
}
.pickup-list .card.series {
	background: url("./img/pickup/card-bg-series.png") no-repeat;
}
.pickup-list .card .card-header {
	color: #222;
	font-size: 24px;
	font-size: 2.4rem;
	font-weight: bold; 
	left: 50%;
	position: absolute;
	top: 100px;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.pickup-list .card .card-body {
	color: #000; 
	line-height: 1.6;
	padding: 0 30px;
	position: absolute;
	top: 220px;
}
.pickup-list .card .card-footer {
	background: #111;
	border-radius: 4px 4px 0 0;
	bottom: 0;
	color: #2ea6df;
	display: inline-block;
	font-weight: bold; 
	left: 50%;
	padding: 10px 20px;
	position: absolute;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	transition: all .4s ease-out;
}
.pickup-list .card .card-footer:after {
	background: url("./img/icons/arrowR_off.png") no-repeat;
	content: "";
	display: inline-block;
	height: 19px;
	margin-left: 10px;
	position: relative;
	top: 4px;
	transition: all .4s ease-out; 
	width: 19px;
}
.pickup-list .card:hover {
	border-color: #2ea6df; 
	box-shadow: 0 0 10px #000;
}
.pickup-list .card:hover .card-footer {
	background: #2ea6df;
	color: #fff;
}
.pickup-list .card:hover .card-footer:after {
	background: url("./img/icons/arrowR_on.png") no-repeat;
}

/*
 * 特報モーダル
 */
.special-front-info {
	background: #f9a9e1;
	border: solid 2px #111;
	border-radius: 6px;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	padding: 30px;
	width: 600px;
	/*
	background: linear-gradient(144deg, #f7f803, #fcc988, #feaef8, #aee6fe);
	background-size: 800% 800%;
	-webkit-animation: sfiBgAnime 6s ease infinite;
	-moz-animation: sfiBgAnime 6s ease infinite;
	animation: sfiBgAnime 6s ease infinite;

	@-webkit-keyframes sfiBgAnime {
		0%{background-position:0% 53%}
		50%{background-position:100% 48%}
		100%{background-position:0% 53%}
	}
	@-moz-keyframes sfiBgAnime {
		0%{background-position:0% 53%}
		50%{background-position:100% 48%}
		100%{background-position:0% 53%}
	}
	@keyframes sfiBgAnime {
		0%{background-position:0% 53%}
		50%{background-position:100% 48%}
		100%{background-position:0% 53%}
	}
	*/
}
.special-front-info .sfi-content {
	border-bottom: solid 1px #111;
	margin-bottom: 1em;
}

#main {
	margin-top: -140px; 
	padding-top: 140px;
}

.about .flex-container {
	-webkit-align-items: center;
	align-items: center;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	margin-bottom: 20px; 
	width: 100%;
}
.about .flex-container .flex-col {
	-webkit-flex-basis: auto;
	flex-basis: auto; 
	-webkit-flex-grow: 0;
	flex-grow: 0;
	-ms-flex-negative: 1;
	-ms-flex-positive: 0;
	-ms-flex-preferred-size: auto;
	-webkit-flex-shrink: 1;
	flex-shrink: 1;
}
.about .flex-container .flex-col:first-child {
	min-width: 247px;
}

.about .nie-origin {
	background: #ff0;
	border: solid 1px #000;
	display: inline-block;
	font-family: "UD Shin Go DemiBold","a-otf-ud-shin-go-pr6n", sans-serif;
	font-size: 28px;
	font-size: 2.8rem;
	margin-right: 50px; 
	padding: 10px 16px;
}
.about .nie-origin .row {
	display: block;
}
.about .nie-origin .row::first-letter {
	color: #2ea6df;
	font-weight: bold;
}

.about h2.title-main {
	font-size: 30px;
	font-size: 3rem; 
	line-height: 1.4;
}

.about .page-title {
	font-size: 116px;
	font-size: 11.6rem;
	margin-bottom: 0;
}
.about .page-title::first-letter {
	color: #91c6de;
}

.about .lead {
	border-left: solid 4px #000;
	font-size: 18px;
	font-size: 1.8rem;
	padding-left: 1em;
}

.about .intro-box {
	border: solid 4px #91c6de;
	margin-bottom: 50px; 
	padding: 1.6em;
}
.about .intro-box .box-title {
	font-size: 24px;
	font-size: 2.4rem;
	font-weight: bold;
	padding: 20px 0; 
	position: relative;
	text-align: center;
}
.about .intro-box .box-title::before {
	border-color: #91c6de transparent transparent;
	border-style: solid;
	border-width: 70px 70px 0 0;
	content: "";
	height: 0;
	left: 0;
	position: absolute;
	top: 0; 
	width: 0;
}
.about .intro-box .box-title::after {
	border-color: #91c6de transparent transparent;
	border-style: solid;
	border-width: 70px 0 0 70px;
	content: "";
	height: 0;
	position: absolute;
	right: 0;
	top: 0; 
	width: 0;
}
.about .intro-box .box-body {
	font-size: 16px;
	font-size: 1.6rem;
	word-break: break-all;
}
.about .intro-box .extra-box {
	padding: 1em 3em;
}

.about .catch-list {
	-webkit-align-items: flex-start;
	align-items: flex-start;
	border-bottom: solid 1px #c2c2c2;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: start;
	-ms-flex-pack: justify;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	list-style: none;
	margin: 0;
	margin-bottom: 40px; 
	padding: 0;
	width: 100%;
}
.about .catch-list .list-item {
	border-left: solid 1px #c2c2c2;
	border-top: solid 1px #c2c2c2;
	box-sizing: border-box; 
	-webkit-flex-basis: calc( 100% / 3);
	flex-basis: calc( 100% / 3);
	-ms-flex-preferred-size: calc( 100% / 3);
	max-width: calc( 100% / 3);
	position: relative;
}
.about .catch-list .list-item:nth-child(3n) {
	border-right: solid 1px #c2c2c2;
}
.about .catch-list .list-item:nth-child(7) {
	border-bottom: solid 1px #c2c2c2;
}
.about .catch-list .list-item.family-focus {
	-webkit-flex-basis: calc( 100% / 3 * 2);
	flex-basis: calc( 100% / 3 * 2); 
	-ms-flex-preferred-size: calc( 100% / 3 * 2);
}
.about .catch-list .catch {
	height: 100%; 
	padding: 20px;
}
.about .catch-list .catch .catch-image {
	margin-bottom: 10px;
	min-height: 86px;
	position: relative; 
	text-align: center;
}
.about .catch-list .catch .catch-image img {
	left: 50%;
	position: absolute;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
.about .catch-list .catch .catch-title {
	color: #e89112;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: bold;
	margin-bottom: 10px; 
	text-align: center;
}
.about .catch-list .family-focus .catch {
	position: relative;
}
.about .catch-list .family-focus .catch .catch-header {
	-webkit-align-items: center;
	align-items: center; 
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
}
.about .catch-list .family-focus .catch .catch-image {
	margin-right: 20px; 
	min-height: 0;
}
.about .catch-list .family-focus .catch .catch-image img {
	left: auto;
	position: relative;
	top: auto;
	-webkit-transform: none;
	transform: none;
}
.about .catch-list .family-focus .catch .catch-title {
	text-align: left;
}
.about .catch-list .catch.nie-world {
	border: none;
}
.about .catch-list .download-btn {
	bottom: 0;
	position: absolute;
	right: 0;
}
.about .catch-list .download-btn .title {
	font-size: 20px;
	font-size: 2rem;
}

.efforts-list {
	list-style: none;
}
.efforts-list > li {
	font-size: 17px;
	font-size: 1.7rem;
	line-height: 2.0;
	padding-left: 1em; 
	text-indent: -1em;
}

.adviser-intro .lead {
	margin-bottom: 2em;
}

.adviser-list {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	padding: 0; 
	width: 100%;
}
.adviser-list li {
	border-collapse: collapse;
	border-top: solid 1px #ccc;
	box-sizing: border-box;
	position: relative; 
	width: 50%;
}
.adviser-list li:nth-child(1):before, .adviser-list li:nth-child(2):before {
	background: #000;
	content: "";
	display: inline-block;
	height: 4px;
	position: absolute;
	top: -1px;
	width: 50%;
	z-index: 1;
}
.adviser-list li:nth-child(2n+1) {
	border-right: solid 1px #ccc;
}
.adviser-list li:nth-last-child(1), .adviser-list li:nth-last-child(2) {
	border-bottom: solid 1px #ccc;
}
.adviser-list li a {
	color: #111;
	display: block;
	padding: 20px;
	position: relative; 
	text-decoration: none;
}
.adviser-list li a:hover {
	background: #ddd;
	z-index: 0;
}
.adviser-list li a:after {
	background: url("./img/icons/open.png") no-repeat;
	content: "";
	display: inline-block;
	height: 23px; 
	position: absolute;
	right: 20px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 23px;
}

.adviser-school {
	display: inline-block;
	font-weight: bold; 
	margin-right: 2em;
	width: 50%;
}

.adviser-name {
	display: inline-block;
}

.adviser-detail {
	background: #fff;
	margin: 20px auto; 
	max-width: 500px;
	padding: 40px;
	position: relative;
	width: auto;
}
.adviser-detail .post {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: justify;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
.adviser-detail .post-thumbnail {
	margin-left: auto; 
	width: 120px;
}
.adviser-detail .post-content {
	border-top: solid 1px #ccc;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
	padding-top: 10px; 
	width: 100%;
}
.adviser-detail .post-content > p {
	line-height: 1.5;
}
.adviser-detail .school-name {
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: 1em;
}
.adviser-detail .school-address, .adviser-detail .school-phone {
	font-size: 14px;
	font-size: 1.4rem;
	margin-bottom: .5em;
}
.adviser-detail .school-phone {
	margin-bottom: 1em;
}
.adviser-detail .adviser-name {
	display: block;
	margin-bottom: 1em;
	padding-bottom: 10px;
}

.nie-report-recent {
	margin-bottom: 50px;
}
.nie-report-recent .nie-report-thumb {
	height: 250px;
	max-height: 250px; 
	overflow: hidden;
	position: relative;
}
.nie-report-recent .nie-report-thumb:after {
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 40%, white 100%); 
	content: "";
	display: inline-block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}
.nie-report-recent .nie-report-meta {
	background: #fff;
	list-style: none; 
	margin: 0;
	opacity: .9;
	padding: 10px 0;
	text-align: center;
}

.nie-report-backnumber .section-title {
	background: #2ea6df;
	border-radius: 4px; 
	color: #fff;
	display: block;
	padding: 10px 0;
}

.nie-report-backnumber .bn-row {
	margin-bottom: 40px;
}

.nie-report-backnumber .bn-year {
	border-bottom: solid 2px #2ea6df;
	color: #2ea6df;
	font-weight: bold; 
	padding: 0 0 6px 6px;
}

.nie-report-backnumber .bn-list {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	list-style: none; 
	margin-left: auto;
	margin-right: auto;
	width: 70%;
}
.nie-report-backnumber .bn-list li {
	line-height: 1.6;
	text-align: center; 
	width: 50%;
}
.nie-report-backnumber .bn-list li::before {
	content: "●";
	display: inline-block;
	margin-right: 4px;
}

.nie-panel .panel-body {
	display: none;
	opacity: 0; 
	visibility: hidden;
}

.nie-panel .panel-header {
	background: #2ea6df;
	border-radius: 6px;
	color: #fff;
	font-weight: bold;
	margin-bottom: 1em;
	padding: 16px 20px;
	position: relative;
	text-decoration: none;
}
.nie-panel .panel-header .panel-switch {
	background: url("./img/icons/panel-closed.png") no-repeat;
	cursor: pointer; 
	display: inline-block;
	height: 22px;
	position: absolute;
	right: 20px;
	text-indent: -999999px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 22px;
}
.nie-panel .panel-header .panel-switch:hover {
	opacity: .8;
}

.nie-panel.opened .panel-body {
	display: block;
	opacity: 1; 
	visibility: visible;
}

.nie-panel.opened .panel-header .panel-switch {
	background: url("./img/icons/panel-opened.png") no-repeat;
}

.school-list {
	border-bottom: solid 1px #999; 
	border-right: solid 1px #999;
	margin-bottom: 1em;
}
.school-list .table-header {
	background: #000;
	box-sizing: border-box;
	color: #2ea6df;
	font-weight: bold; 
	padding: 10px;
}
.school-list .table-body dl {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	margin: 0;
	padding: 0; 
	width: 100%;
}
.school-list .table-body dl dt, .school-list .table-body dl dd {
	border-left: solid 1px #999;
	border-top: solid 1px #999;
	box-sizing: border-box;
	margin: 0;
	padding: 10px 0;
	width: calc(100% / 3);
}
.school-list .table-body dl dt {
	padding-left: 40px;
}
.school-list .table-body dl dd {
	text-align: center;
}
.school-list .table-th {
	background: #f3f0e9;
	background: #f3f0e9;
	font-weight: bold;
	padding-left: 0 !important; 
	text-align: center;
}
.school-list .fresh dt, .school-list .fresh dd {
	background: #f7f7f7;
	background: #f7f7f7;
}
.school-list .fresh dt {
	text-indent: -1em;
}
.school-list .fresh dt::before {
	color: #2ea6df; 
	content: "★";
}

.form-designated-school-search {
	border: solid 4px #ccc;
	color: #999;
	margin: 60px auto 60px; 
	padding: 10px;
	width: 786px;
}
.form-designated-school-search .flex-container {
	-webkit-align-items: center;
	align-items: center;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center; 
	width: 100%;
}
.form-designated-school-search .flex-col {
	margin-right: 18px;
}
.form-designated-school-search .label-search {
	border-right: solid 1px #ccc;
	display: inline-block;
	font-size: 20px;
	font-size: 2rem;
	padding: 10px 20px 10px 40px;
	position: relative;
	white-space: nowrap;
}
.form-designated-school-search .label-search::before {
	background: url("./img/icons/search.png") no-repeat;
	content: "";
	display: inline-block;
	height: 25px;
	left: 0; 
	position: absolute;
	width: 30px;
}
.form-designated-school-search .label-search span {
	display: block;
	font-size: 12px;
	font-size: 1.2rem; 
	text-align: center;
}

#report {
	margin-top: -140px; 
	padding-top: 140px;
}

.practical-report {
	margin: 50px 0;
}
.practical-report .section-header {
	border-top: solid 1px #333;
	padding-top: 20px;
}

.practical-report-list {
	border-top: solid 2px #2ea6df;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	padding: 0;
	padding-top: 30px;
	width: 100%;
}
.practical-report-list .list-item {
	margin-bottom: 20px; 
	width: calc( 100% / 3);
}
.practical-report-list .post-permalink {
	color: #333; 
	text-decoration: underline;
}
.practical-report-list .post-date, .practical-report-list .post-size {
	font-size: 13px;
	font-size: 1.3rem;
}

/*!
 * 地区セミナーのお知らせ
 -----------------------*/
.single .seminar-info-list .post-list {
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
}

.seminar-info-list .post-list {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: justify;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between; 
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
}
.seminar-info-list .post-list .list__item {
	border: solid 1px #999;
	box-sizing: border-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: 20px; 
	padding: 20px;
	width: 49%;
}
.seminar-info-list .post-list .post-thumbnail {
	margin-right: 20px; 
	text-align: center;
}
.seminar-info-list .post-list .post-thumbnail a:first-child {
	display: block; 
	margin-bottom: 10px;
}
.seminar-info-list .post-list .post-text {
	-ms-flex: 0 1 auto;
}
.seminar-info-list .post-list .post-date {
	font-size: 13px;
	font-size: 1.3rem;
	text-align: right;
}
.seminar-info-list .post-list .post-title {
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.4; 
	margin-bottom: 6px;
}
.seminar-info-list .post-list .post-content {
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.5;
}

.seminar-info-footer {
	background: #eee; 
	padding: 50px 0;
}
.seminar-info-footer .list {
	-webkit-align-items: center;
	align-items: center;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center; 
	list-style: none;
	margin: 0;
	padding: 0;
}
.seminar-info-footer .list__item {
	margin: 0 20px;
}
.seminar-info-footer .list__item::before {
	content: "\f0da";
	font-family: "FontAwesome";
	margin-right: 2px;
}

/*!
 * セミナー報告
 ---------------------*/
.seminar-report-detail {
	border: solid 1px #444;
	box-sizing: border-box;
	display: block;
	margin: 0 auto 30px; 
	padding: 40px;
	width: 720px;
}
.seminar-report-detail .post-date {
	margin-bottom: 1em;
}
.seminar-report-detail .post-content {
	line-height: 1.5;
}

.seminar-report-list-area .post-list, .post-type-archive-seminar-report .post-list {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: justify;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap; 
	-webkit-justify-content: space-between;
	justify-content: space-between;
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
}
.seminar-report-list-area .post-list .list__item, .post-type-archive-seminar-report .post-list .list__item {
	border: solid 1px #333;
	box-sizing: border-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: 20px; 
	padding: 10px;
	width: 49%;
}
.seminar-report-list-area .post-list .list__item .post-thumbnail, .post-type-archive-seminar-report .post-list .list__item .post-thumbnail {
	margin-right: 10px;
	max-width: 130px; 
	min-width: 130px;
}
.seminar-report-list-area .post-list .list__item .post-date, .post-type-archive-seminar-report .post-list .list__item .post-date {
	font-size: 14px;
	font-size: 1.4rem;
	margin-bottom: 1em;
}
.seminar-report-list-area .post-list .list__item .post-title, .post-type-archive-seminar-report .post-list .list__item .post-title {
	line-height: 1.4;
}
.seminar-report-list-area .post-list .list__item .post-text, .post-type-archive-seminar-report .post-list .list__item .post-text {
	-ms-flex: 0 1 auto;
}

.seminar-report-footer {
	background: #eee; 
	padding: 50px 0;
}
.seminar-report-footer .list {
	-webkit-align-items: center;
	align-items: center;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center; 
	list-style: none;
	margin: 0;
	padding: 0;
}
.seminar-report-footer .list__item {
	margin: 0 20px;
}
.seminar-report-footer .list__item::before {
	content: "\f0da";
	font-family: "FontAwesome";
	margin-right: 2px;
}

.recent-article {
	margin-bottom: 60px;
}

.recent-article-list {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: center;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap; 
	-webkit-justify-content: center;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
}
.recent-article-list .list-item {
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;
}
.recent-article-list .list-item .post {
	box-sizing: border-box; 
	position: relative;
	width: 100%;
}
.recent-article-list .list-item .post-permalink {
	border: solid 1px #000;
	display: inline-block;
	position: relative;
	width: 100%;
}
.recent-article-list .list-item .post-permalink::before {
	border: solid 2px #fff;
	color: #fff;
	content: "READ →";
	display: inline-block;
	font-weight: bold;
	left: 50%;
	opacity: 0;
	padding: 5px 8px;
	position: absolute;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	transition: all .8s ease-out; 
	z-index: 2;
}
.recent-article-list .list-item .post-permalink:hover::before {
	opacity: 1;
}
.recent-article-list .list-item .post-permalink::after {
	background: #000;
	content: "";
	display: inline-block;
	height: 100%;
	left: 0;
	opacity: 0;
	position: absolute;
	top: 0;
	transition: all .4s ease-out;
	width: 0;
	z-index: 1;
}
.recent-article-list .list-item .post-permalink:hover::after {
	opacity: .6; 
	width: 100%;
}
.recent-article-list .list-item .post-thumbnail {
	height: 400px;
	overflow: hidden;
	position: relative;
	text-align: center; 
	width: 100%;
}
.recent-article-list .list-item .post-thumbnail img {
	height: auto; 
	max-width: 100%;
}
.recent-article-list .list-item .post-thumbnail::before {
	border-color: #2ea6df transparent transparent transparent;
	border-style: solid;
	border-width: 80px 80px 0 0;
	box-sizing: border-box; 
	content: "";
	display: inline-block;
	height: 0;
	left: 0;
	position: absolute;
	top: 0;
	width: 0;
}
.recent-article-list .list-item .post-thumbnail::after {
	color: #fff;
	content: "NEW";
	font-family: "Arial";
	font-weight: bold; 
	left: 10px;
	position: absolute;
	top: 20px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.recent-article-list .list-item .post-text {
	background: #222;
	bottom: 0;
	box-sizing: border-box; 
	color: #fff;
	padding: 10px 16px;
	position: absolute;
	width: 100%;
}
.recent-article-list .list-item .post-title, .recent-article-list .list-item .post-excerpt, .recent-article-list .list-item .post-date {
	line-height: 1.4;
	margin: 0;
	margin-bottom: 1em; 
	padding: 0;
}
.recent-article-list .list-item .post-excerpt {
	font-size: 14px;
	font-size: 1.4rem;
}
.recent-article-list .list-item .post-date {
	font-size: 12px;
	font-size: 1.2rem;
	margin-bottom: 0;
}

.article-search-form {
	background: #eee; 
	border: solid 6px #ccc;
	box-sizing: border-box;
	display: block;
	padding: 20px 50px;
}
.article-search-form .article-search-header {
	margin-bottom: 20px;
}
.article-search-form .flex-container {
	-webkit-align-items: flex-start;
	align-items: flex-start;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: start;
	margin-bottom: 30px; 
	width: 100%;
}
.article-search-form .flex-container > .flex-col {
	box-sizing: border-box; 
	width: 50%;
}
.article-search-form .nie-form-label {
	margin-bottom: 1em;
}

.series-list {
	list-style: none;
}
.series-list .list-item {
	-webkit-align-items: center;
	align-items: center;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center; 
	width: 100%;
}
.series-list .series-banner {
	padding: 10px;
	text-align: center;
}
.series-list .series-desc {
	display: none; 
	padding: 10px;
	width: 30%;
}
.series-list .series-search {
	padding: 10px;
}
.series-list .nie-form-control-select {
	margin-bottom: 10px;
}
.series-list select.form-control {
	overflow: hidden;
	width: 360px;
}

.series-old-viewer {
	background: #2ea6df;
	padding: 20px 0;
}

.feature .content, .feature .section-body {
	background: #eee;
}

.feature-list {
	background: #eee; 
	box-sizing: border-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	position: relative;
	width: 100%;
}
.feature-list .list-item {
	box-sizing: border-box;
}
.feature-list .post-permalink {
	border: solid 4px #fff;
	box-sizing: border-box;
	display: block;
	margin: 30px;
	text-decoration: none;
	transition: all .4s ease-out;
}
.feature-list .post {
	background: #fff;
	padding: 20px;
}
.feature-list .post-thumbnail {
	margin-bottom: 1em; 
	width: 100%;
}
.feature-list .post-text {
	color: #000;
}
.feature-list .post-permalink:hover {
	border: solid 4px #bbb;
}
.feature-list .post-permalink:hover .post-title {
	text-decoration: underline;
}
.feature-list .post-title {
	color: #2ea6df;
	font-size: 20px;
	font-size: 2rem;
	font-weight: bold; 
	padding-left: 1em;
	position: relative;
}
.feature-list .post-title::before {
	content: "◎";
	left: 0; 
	position: absolute;
}
.feature-list .post-excerpt {
	font-size: 16px;
	font-size: 1.6rem;
}
.feature-list .post-date {
	font-size: 13px;
	font-size: 1.3rem;
	font-weight: bold;
}

/*
 * ! ぶんぶんtime関連
 */
.bunbuntime-intro {
	margin-bottom: 60px;
}

.bunbuntime-intro-box {
	border: dotted 2px #ccc;
	padding: 20px 30px 50px;
}
.bunbuntime-intro-box .title {
	font-size: 18px;
	font-size: 1.8rem; 
	margin-top: 20px;
}
.bunbuntime-intro-box .label {
	background: #666;
	color: #fff;
	display: inline-block;
	font-weight: bold; 
	padding: 4px 16px;
}
.bunbuntime-intro-box .list {
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1.8;
	margin-bottom: 40px; 
	text-align: left;
}

#bunbuntime-post-list {
	margin-top: -140px; 
	padding-top: 140px;
}

.section-bunbuntime-recent {
	margin-bottom: 0;
}
.section-bunbuntime-recent .section-header {
	background: #fff; 
	border-bottom: solid 6px #999;
	border-top: solid 6px #999;
}
.section-bunbuntime-recent .section-title {
	color: #2ea6df;
	display: block;
	margin: 10px 0; 
	position: relative;
	text-align: center;
}
.section-bunbuntime-recent .post-date {
	color: #666;
	font-size: 13px;
	font-size: 1.3rem;
	font-weight: bold; 
	position: absolute;
	right: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.section-bunbuntime-recent .section-body {
	background: #eee;
	padding-top: 20px;
}

.bunbuntime-list {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap; 
	list-style: none;
	margin: 0;
	padding: 0;
	position: relative;
	width: 100%;
}
.bunbuntime-list .list-item {
	background: #fff;
	border-top: dotted 2px #ccc; 
	box-sizing: border-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	padding: 20px;
	position: relative;
	width: 50%;
}
.bunbuntime-list .list-item:nth-child(1), .bunbuntime-list .list-item:nth-child(2) {
	border-top: none;
}
.bunbuntime-list .list-item:nth-child(even) {
	border-left: dotted 2px #ccc;
}
.bunbuntime-list .post-theme {
	background: #2ea6df;
	color: #fff;
	font-weight: bold; 
	line-height: 40px;
	text-align: center;
	width: 100%;
}
.bunbuntime-list .post-permalink {
	color: #000;
	display: block;
	text-decoration: none;
	width: 100%;
}
.bunbuntime-list .post-permalink:hover {
	background: #ddd;
	font-weight: bold;
}
.bunbuntime-list .post-title {
	margin-bottom: 10px;
	position: relative; 
	text-decoration: underline;
}
.bunbuntime-list .post-title::before {
	content: "●";
}
.bunbuntime-list .post-author {
	margin: 0; 
	text-decoration: none;
}
.bunbuntime-list .comments-count {
	background-color: #666;
	border-radius: 4px;
	box-sizing: border-box;
	color: #fff;
	display: inline-block;
	font-size: 12px;
	font-weight: 700; 
	margin-top: -3px;
	padding: 6px;
	position: absolute;
	right: 0;
	top: 0;
}

.bunbuntime-search-area {
	background: #eee;
	box-sizing: border-box;
	display: block;
	padding: 1px 0;
}

.form-bunbuntime-search {
	-webkit-align-items: center;
	align-items: center; 
	background: #fff;
	border: solid 4px #ccc;
	color: #999;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	margin: 60px auto;
	padding: 20px 0;
	width: 786px;
}
.form-bunbuntime-search .label-search {
	border-right: solid 1px #ccc;
	display: inline-block;
	-webkit-flex: 0 1 auto;
	-ms-flex: 0 1 auto;
	flex: 0 1 auto; 
	font-size: 20px;
	font-size: 2rem;
	margin-right: 20px;
	padding: 10px 20px 10px 40px;
	position: relative;
}
.form-bunbuntime-search .label-search::before {
	background: url("./img/icons/search.png") no-repeat;
	content: "";
	display: inline-block;
	height: 25px;
	left: 0; 
	position: absolute;
	width: 30px;
}
.form-bunbuntime-search .label-search span {
	display: block;
	font-size: 12px;
	font-size: 1.2rem; 
	text-align: center;
}
.form-bunbuntime-search .nie-form-control-select {
	-webkit-flex: 0 1 auto;
	-ms-flex: 0 1 auto;
	flex: 0 1 auto; 
	margin-right: 20px;
}

.bunbuntime-backnumber-result, .bunbuntime-search-result {
	background: #eee;
	margin-bottom: 0; 
	padding-bottom: 20px;
	padding-top: 20px;
}

.bunbuntime-detail {
	margin-bottom: 60px;
}
.bunbuntime-detail .post-outer {
	border: solid 2px #999;
	border-radius: 4px; 
	box-sizing: border-box;
	margin: 0 auto;
	max-width: 500px;
	width: 500px;
}
.bunbuntime-detail .post {
	margin: 30px;
}
.bunbuntime-detail .post-date {
	font-size: 14px;
	font-size: 1.4rem;
	margin-bottom: 0; 
	text-align: right;
}
.bunbuntime-detail .post-title, .bunbuntime-detail .post-author, .bunbuntime-detail .post-theme {
	text-align: center;
}
.bunbuntime-detail .post-content > p {
	line-height: 1.5;
}
.bunbuntime-detail .comment-list {
	list-style: none;
	margin-left: auto;
	margin-right: auto;
	max-width: 500px;
	padding: 0; 
	width: 500px;
}
.bunbuntime-detail .comment-list__item {
	background: #fffff0;
	border: dashed 1px #999;
	border-radius: 6px;
	box-sizing: border-box; 
	line-height: 1.5;
	padding: 20px;
}
.bunbuntime-detail .comment-list__item:not(:last-child) {
	margin-bottom: 20px;
}

.related-bunbuntime-area {
	background: #eee;
	margin-bottom: 0; 
	padding: 1px 0 30px;
}

.bunbuntime-backnumber-list {
	background: #eee;
	margin: 0; 
	padding: 20px 0;
}
.bunbuntime-backnumber-list .content {
	background: #fff;
	margin: 0 auto;
	padding: 20px 0; 
	width: 600px;
}
.bunbuntime-backnumber-list .heading {
	margin-top: 0;
	text-align: center;
}
.bunbuntime-backnumber-list .date-list {
	line-height: 1.5; 
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
	text-align: center;
}
.bunbuntime-backnumber-list .date-list.hidden {
	display: none;
}
.bunbuntime-backnumber-list .date-list__item a {
	text-decoration: none;
}
.bunbuntime-backnumber-list .date-list__item a:hover {
	text-decoration: underline;
}
.bunbuntime-backnumber-list .date-list__item::before {
	content: "\f0da";
	font-family: "FontAwesome";
	margin-right: 6px;
}

.single-article .post {
	border: solid 1px #333;
	box-sizing: border-box;
	margin-left: auto; 
	margin-right: auto;
	padding: 30px;
	width: 760px;
}

.single-article .post-title {
	line-height: 1.5;
}

.single-article .post-content > p {
	line-height: 1.5;
}

.article-search-result {
	margin-bottom: 60px;
}

.article-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.article-list .list-item {
	border: solid 1px #ccc;
	border-radius: 6px;
	box-sizing: border-box;
	margin-bottom: 20px; 
	padding: 20px;
}
.article-list .list-item:hover {
	background: #eeeeef;
}
.article-list .post-permalink {
	color: #000; 
	text-decoration: none;
}
.article-list .post {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.article-list .post-thumbnail {
	-webkit-flex-basis: 20%;
	flex-basis: 20%; 
	-ms-flex-preferred-size: 20%;
}
.article-list .post-text {
	-webkit-flex-basis: 80%;
	flex-basis: 80%; 
	-ms-flex-preferred-size: 80%;
}
.article-list .post-date {
	font-size: 14px;
	font-size: 1.4rem;
	margin-bottom: 10px; 
	text-align: right;
}
.article-list .post-title {
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.5; 
	margin-bottom: 10px;
}
.article-list .post-excerpt {
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1.5;
}

#series {
	margin-top: -140px; 
	padding-top: 140px;
}

.single-series .post {
	border: solid 1px #333;
	box-sizing: border-box;
	margin-left: auto; 
	margin-right: auto;
	padding: 30px;
	width: 760px;
}

.single-series .post-title {
	line-height: 1.5;
}

.single-series .post-content p {
	line-height: 1.5;
}

.series-list .list-item:not(:first-child) {
	display: none;
}

.series-list .list-item:nth-child(even) {
	background: #eee;
}

.daigakusei-subtitle {
	background: #407f64;
	clear: both;
	color: white;
	display: block;
	padding: 6px 0 4px 50px;
	position: relative;
}
.daigakusei-subtitle::after {
	background-image: url("./img/icons/icon-daigakusei.png");
	background-position: 50% 50%; 
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 30px;
	left: 10px;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 30px;
}
.daigakusei-subtitle::before {
	background: #91c7b0;
	border-color: #fff #fff #91c7b0 #91c7b0;
	border-style: solid;
	border-width: 0 10px 10px 0;
	content: "";
	display: block;
	position: absolute;
	right: 0;
	top: 0;
	width: 0;
}

#feature {
	margin-top: -140px; 
	padding-top: 140px;
}

.single-feature .post {
	border: solid 1px #333;
	box-sizing: border-box;
	margin-left: auto; 
	margin-right: auto;
	padding: 30px;
	width: 760px;
}

.single-feature .post-title, .single-feature .post-content p, .single-feature .post-content ul {
	line-height: 1.5;
}

.feature-list {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 100%;
}
.feature-list .list-item {
	-webkit-flex: 0 1 auto;
	-ms-flex: 0 1 auto;
	flex: 0 1 auto;
	min-width: 50%; 
	width: 50%;
}
.feature-list .post-thumbnail {
	height: 230px;
	max-height: 230px;
	overflow: hidden;
	text-align: center; 
	width: 100%;
}

/*
 * ! 悩みごとナビ
 */
#nayami-intro {
	margin-top: -140px; 
	padding-top: 140px;
}

.section-nayami-intro .lead-text {
	line-height: 1.6;
	margin: 0 auto; 
	max-width: 700px;
}

/*
 * 詳細表示
 */
.nayami-detail.post-outer {
	border: solid 1px #000;
	margin-left: auto; 
	margin-right: auto;
	max-width: 600px;
	width: 600px;
}
.nayami-detail.post-outer .post-inner {
	margin: 30px;
}
.nayami-detail.post-outer .post-date {
	font-size: 14px;
	font-size: 1.4rem; 
	text-align: right;
}
.nayami-detail.post-outer .post-title {
	text-align: center;
}
.nayami-detail.post-outer .post-content p {
	line-height: 1.5;
}

/*
 * その他の悩み（アーカイブ）
 */
.nayami-bn-list {
	margin: 0 auto 20px;
	width: 600px;
}
.nayami-bn-list .list-table {
	background: #fff;
	border: solid 1px #999;
	border-collapse: collapse;
	box-sizing: border-box;
	display: table;
	font-size: 15px;
	font-size: 1.5rem; 
	width: 100%;
}
.nayami-bn-list .list-table caption {
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 800;
	margin-bottom: 1em;
}
.nayami-bn-list .list-table th, .nayami-bn-list .list-table td {
	border: solid 1px #999;
	margin: 0;
	padding: 6px 12px;
	vertical-align: bottom;
}
.nayami-bn-list .list-table th {
	background: #eee;
	font-weight: 800;
}
.nayami-bn-list .list-table .post-date {
	text-align: center;
}
.nayami-bn-list .list-table a {
	text-decoration: none;
}
.nayami-bn-list .list-table a:hover {
	text-decoration: underline;
}
.section-nayami-backnumber .nayami-bn-list {
	margin-bottom: 20px;
}

/*
 * !NIEの広場トップ
 */
.plaza-detail {
	border: solid 1px #111;
	box-sizing: border-box;
	margin: 0 auto 60px;
	max-width: 720px;
	padding: 30px; 
	width: 100%;
}
.plaza-detail .post-date {
	font-size: 14px;
	font-size: 1.4rem; 
	text-align: right;
}
.plaza-detail .post-title {
	line-height: 1.4; 
	text-align: center;
}
.plaza-detail .post-content {
	line-height: 1.5;
}

.plaza-post-list {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: justify;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap; 
	-webkit-justify-content: space-between;
	justify-content: space-between;
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
}
.plaza-post-list .list__item {
	border: solid 1px #333;
	box-sizing: border-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex; 
	margin-bottom: 20px;
	padding: 10px;
	width: 49%;
}
.plaza-post-list .post-thumbnail {
	margin-right: 10px;
	max-width: 130px;
	min-width: 130px;
}
.plaza-post-list .post-text {
	-webkit-flex-basis: auto;
	flex-basis: auto; 
	-webkit-flex-grow: 1;
	flex-grow: 1;
	-ms-flex-negative: 1;
	-ms-flex-positive: 1;
	-ms-flex-preferred-size: auto;
	-webkit-flex-shrink: 1;
	flex-shrink: 1;
}
.plaza-post-list .post-date {
	font-size: 14px;
	font-size: 1.4rem;
	margin-bottom: 1em;
}
.plaza-post-list .post-title {
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: bold;
	margin-bottom: 10px;
}
.plaza-post-list .post-excerpt {
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1.5;
}

.post-type-archive .plaza-post-list .list__item {
	padding: 20px !important;
}

#office, #internship, #factory {
	margin-top: -340px; 
	padding-top: 340px;
}

.tour-tab-control .tab-control-list {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
}

.tour-tab-control .tab-control-list .list-item {
	background: #2ea6df;
	border-radius: 6px 6px 0 0; 
	margin-right: 1em;
}

.tour-tab-control .tab {
	background: #eee;
	border: solid 4px #2ea6df;
	border-bottom: none; 
	border-radius: 6px 6px 0 0;
	box-sizing: border-box;
	color: #2ea6df;
	display: inline-block;
	font-weight: bold;
	padding: 6px 20px;
	text-decoration: none;
}
.tour-tab-control .tab.active {
	background: #2ea6df;
	color: #fff;
	position: relative;
	top: -10px;
}

.tour-tab-control .sub-title {
	display: block;
	font-size: 13px;
	font-size: 1.3rem; 
	font-weight: normal;
	text-align: center;
}

.tour-tab-body {
	border: solid 4px #2ea6df;
}
.tour-tab-body .tab-content {
	display: none; 
	margin: 3em;
}
.tour-tab-body .tab-content.active {
	display: block;
}
.tour-tab-body .tab-catch-image {
	border: solid 2px #ccc;
	margin: 30px auto 20px; 
	padding: 6px;
}
.tour-tab-body .tab-content-body {
	margin-bottom: 40px;
}
.tour-tab-body .tab-content-body dl {
	-webkit-align-items: baseline;
	align-items: baseline; 
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: baseline;
	margin-bottom: 1em;
	position: relative;
}
.tour-tab-body .tab-content-body dl > dt, .tour-tab-body .tab-content-body dl > dd {
	-webkit-flex-basis: auto;
	flex-basis: auto; 
	-webkit-flex-grow: 0;
	flex-grow: 0;
	-ms-flex-negative: 1;
	-ms-flex-positive: 0;
	-ms-flex-preferred-size: auto;
	-webkit-flex-shrink: 1;
	flex-shrink: 1;
	padding: 6px 12px;
}
.tour-tab-body .tab-content-body dl > dt {
	background: #666;
	color: #fff;
	font-weight: bold;
	min-width: 150px; 
	text-align: center;
	white-space: nowrap;
}

.lecture .section-catch {
	margin-bottom: 30px;
}
.lecture .section-catch .section-catch-image {
	border: solid 1px #ccc;
	padding: 10px;
}

.lecture .intro {
	font-size: 16px;
	font-size: 1.6rem;
}

.lecture .reserve-box {
	border: solid 1px #333;
	margin: 60px 0; 
	padding: 30px;
}
.lecture .reserve-box dl {
	-webkit-align-items: flex-start;
	align-items: flex-start;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: start;
	margin-left: auto; 
	margin-right: auto;
	width: 640px;
}
.lecture .reserve-box dt {
	background: #666;
	color: #fff;
	font-weight: bold;
	line-height: 1.4; 
	padding: 6px;
	text-align: center;
	width: 150px;
}
.lecture .reserve-box dd {
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;
	line-height: 1.4; 
	padding: 6px;
}

.gallery .newspaper-gallery-slider {
	display: none;
	list-style: none; 
	margin: 0;
	padding: 0;
}
.gallery .newspaper-gallery-slider.slick-initialized {
	display: block;
}
.gallery .newspaper-gallery-slider .slide {
	outline: none;
}
.gallery .newspaper-gallery-slider .slide-photo {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 100%;
}
.gallery .newspaper-gallery-slider .slide-photo-item {
	border: solid 1px #333;
	margin: 10px 10px 30px;
	padding: 0;
	position: relative; 
	width: 300px;
}
.gallery .newspaper-gallery-slider .slide-photo-item-caption {
	background: #000;
	bottom: 0;
	box-sizing: border-box;
	color: #fff;
	left: 0;
	opacity: .8; 
	padding: 6px 12px;
	position: absolute;
	width: 100%;
}
.gallery .newspaper-gallery-slider .slide-text {
	background: #eee;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.4;
	margin: 0 80px; 
	padding: 10px 16px;
}
.gallery .newspaper-gallery-slider .slick-prev::before, .gallery .newspaper-gallery-slider .slick-next::before {
	color: #333;
	font-size: 60px;
}
.gallery .newspaper-gallery-slider .slick-prev, .gallery .newspaper-gallery-slider .slick-next {
	height: 60px; 
	width: 60px;
}
.gallery .newspaper-gallery-slider .slick-prev {
	left: 0;
	z-index: 100;
}
.gallery .newspaper-gallery-slider .slick-next {
	right: 0;
	z-index: 99;
}
.gallery .newspaper-gallery-slider .slick-counter {
	margin-top: 1em; 
	text-align: center;
}

.qa .qa-list {
	margin: 0;
	padding: 0;
}
.qa .qa-list .question {
	background: #eee;
	border-bottom: solid 1px #333;
	border-top: solid 1px #333;
	cursor: pointer; 
	font-weight: bold;
	padding: 1em 1em 1em 1em;
	position: relative;
}
.qa .qa-list .question.closed {
	background: transparent;
}
.qa .qa-list .question.closed:not(:last-of-type) {
	border-bottom: none;
}
.qa .qa-list .question:hover {
	background: #eee;
}
.qa .qa-list .question::after {
	background: #fff url("img/icons/qa-opened.png") no-repeat; 
	content: "";
	height: 23px;
	position: absolute;
	right: 1em;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 23px;
}
.qa .qa-list .question.closed::after {
	background: #fff url("img/icons/qa-closed.png") no-repeat;
}
.qa .qa-list .q-num {
	color: #2ea6df;
	margin-right: 1em;
}
.qa .qa-list .answer {
	display: none; 
	line-height: 1.6;
	padding: 1em 1em 1em 2em;
	text-indent: -2em;
}
.qa .qa-list .answer::first-letter {
	color: #2ea6df;
	font-weight: bold;
	margin-right: 1em;
}

.recent-worksheet, .worksheet-search-area {
	background: #eee;
}

.worksheet-list {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: justify;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
}
.worksheet-list > .list-item {
	background: #fff;
	border: solid 2px #2ea6df;
	border-radius: 6px;
	box-sizing: border-box;
	margin: 1%;
	margin-bottom: 20px;
	padding: 30px 30px 20px 30px;
	position: relative; 
	width: 48%;
}
.worksheet-list .post {
	background: #fff;
	border-radius: 6px;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	position: relative;
	width: 100%;
}
.worksheet-list .post-thumbnail {
	-webkit-flex-basis: 120px;
	flex-basis: 120px;
	-ms-flex-preferred-size: 120px;
	margin-right: 20px;
	max-width: 120px;
	min-height: 172px;
}
.worksheet-list .post-thumbnail img {
	border: solid 1px #ddd;
	padding: 1px;
}
.worksheet-list .post-content {
	-webkit-flex-basis: calc(100% - 120px - 20px);
	flex-basis: calc(100% - 120px - 20px);
	-ms-flex-preferred-size: calc(100% - 120px - 20px);
	max-width: calc(100% - 120px - 20px);
}
.worksheet-list .post-date {
	font-size: 12px;
	font-size: 1.2rem;
	white-space: nowrap;
}
.worksheet-list .ws-number {
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;
}
.worksheet-list .post-title {
	color: #333;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold; 
	margin-bottom: 1em;
}
.worksheet-list .post-meta-list {
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1.5; 
	list-style: none;
	margin: 0;
	padding: 0;
}
.worksheet-list .post-meta-list > .list-item {
	display: inline-block;
}
.worksheet-list .post-meta-list > .list-item:nth-child(-n+2)::after {
	content: " /";
}
.worksheet-list .post-meta-list > .list-item.ws-author {
	display: block; 
	margin-top: 10px;
}
.worksheet-list .post-permalink {
	-webkit-flex-basis: 100%;
	flex-basis: 100%;
	-ms-flex-preferred-size: 100%;
	max-width: 100%;
	text-align: right;
}
.worksheet-list .post-permalink .btn {
	background: transparent;
	border: solid 2px #ccc;
	border-radius: 6px;
	color: #2ea6df;
	display: inline-block;
	font-weight: bold;
	padding: 10px 40px;
	position: relative; 
	text-decoration: none;
}
.worksheet-list .post-permalink .btn:hover {
	border-bottom-width: 4px;
	border-right-width: 4px;
	left: -2px;
	margin-top: -2px; 
	opacity: .8;
	position: relative;
	top: -2px;
}

.recent-worksheet {
	padding-top: 1px;
}
.recent-worksheet .title-main {
	text-align: center;
}
.recent-worksheet .worksheet-list > .list-item::before {
	border-color: #2ea6df transparent transparent transparent;
	border-style: solid;
	border-width: 60px 60px 0 0;
	box-sizing: border-box;
	content: "";
	display: inline-block;
	height: 0;
	left: 0;
	position: absolute;
	top: 0;
	width: 0;
}
.recent-worksheet .worksheet-list > .list-item::after {
	color: #fff;
	content: "NEW";
	font-family: "Arial";
	font-weight: bold;
	left: 4px;
	position: absolute;
	top: 12px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.worksheet-search-area {
	padding: 80px 0;
}
.worksheet-search-area .search-box {
	border: solid 8px #ccc;
	box-sizing: border-box; 
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: justify;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	padding: 30px 60px;
	width: 100%;
}
.worksheet-search-area .search-box .search-title {
	color: #555; 
	font-size: 22px;
	font-size: 2.2rem;
	margin-bottom: 30px;
	width: 100%;
}
.worksheet-search-area .search-box .search-title::before {
	background: url("img/icons/search.png") no-repeat;
	background-size: contain; 
	content: "";
	display: inline-block;
	height: 20px;
	width: 30px;
}
.worksheet-search-area .search-box .search-col {
	margin-bottom: 1.5em; 
	width: 50%;
}
.worksheet-search-area .search-box .search-col label {
	border-left: solid 6px #2ea6df;
	display: block;
	font-size: 14px;
	font-size: 1.4rem;
	margin-bottom: 10px; 
	padding-left: 10px;
}
.worksheet-search-area .search-box .btn-area {
	text-align: center;
	width: 100%;
}
.worksheet-search-area input#search-keyword, .worksheet-search-area select#search-target, .worksheet-search-area select#search-subject {
	width: 320px;
}

.worksheet-search-result {
	margin-bottom: 50px;
}

.single-worksheet .ws-box {
	border: solid 1px #000;
	box-sizing: border-box;
	padding: 35px 55px;
}
.single-worksheet .ws-box .post-date {
	font-size: 13px;
	font-size: 1.3rem;
	margin-bottom: 4px; 
	text-align: right;
}
.single-worksheet .ws-box .ws-container {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between; 
	width: 100%;
}
.single-worksheet .ws-box .ws-image {
	-webkit-flex: 0 1 auto;
	-ms-flex: 0 1 auto;
	flex: 0 1 auto; 
	margin-right: 60px;
	min-width: 298px;
}
.single-worksheet .ws-box .ws-image .ws-thumbnail {
	border: solid 1px #ccc;
	box-sizing: border-box;
	margin-bottom: 20px; 
	width: 298px;
}
.single-worksheet .ws-box .ws-image .ws-thumbnail img {
	height: auto; 
	max-width: 100%;
}
.single-worksheet .ws-box .ws-image .btn-area {
	text-align: center;
}
.single-worksheet .ws-box .ws-image .file-size {
	font-size: 10px;
	font-size: 1rem; 
	text-align: center;
}
.single-worksheet .ws-box .ws-text {
	-webkit-flex-basis: auto;
	flex-basis: auto; 
	-webkit-flex-grow: 0;
	flex-grow: 0;
	-ms-flex-negative: 1;
	-ms-flex-positive: 0;
	-ms-flex-preferred-size: auto;
	-webkit-flex-shrink: 1;
	flex-shrink: 1;
}
.single-worksheet .ws-box .ws-text .ws-number {
	background: #888988;
	color: #fff;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: bold;
	margin-bottom: 1.5em; 
	padding: 4px 0;
	text-align: center;
}
.single-worksheet .ws-box .ws-text .post-title {
	font-size: 20px;
	font-size: 2rem;
	line-height: 1.4; 
	margin-bottom: 1em;
}
.single-worksheet .ws-box .ws-text .post-meta-list {
	line-height: 1.5; 
	margin: 0 0 6px;
	padding: 0;
}
.single-worksheet .ws-box .ws-text .post-meta-list .list-item {
	display: inline-block;
	margin-right: 10px;
}
.single-worksheet .ws-box .ws-text .post-meta-list .list-item:nth-child(-n+3)::before {
	content: "●";
}

.worksheet-detail {
	margin-bottom: 60px;
}

.related-worksheet .section-header {
	border-bottom: solid 2px #000;
	border-top: solid 2px #000;
	margin-bottom: 30px;
}

.slider {
	display: none;
}

.slider.slick-initialized {
	display: block;
}

.related-worksheet-list {
	list-style: none; 
	margin: 0;
	padding: 0;
}
.related-worksheet-list .post-permalink {
	color: #000; 
	text-decoration: none;
}
.related-worksheet-list .post-permalink:hover .post {
	background: #eeeeef;
	border: solid 4px #ccc;
	padding: calc( 16px - 3px);
}
.related-worksheet-list .post {
	border: solid 1px #ccc;
	border-radius: 6px;
	box-sizing: border-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 10px; 
	padding: 16px;
}
.related-worksheet-list .post-thumbnail {
	width: 50%;
}
.related-worksheet-list .post-thumbnail img {
	border: solid 1px #ccc;
}
.related-worksheet-list .post-text {
	width: 50%;
}
.related-worksheet-list .post-date {
	font-size: 10px;
	font-size: 1rem;
	margin-bottom: 10px;
}
.related-worksheet-list .post-title {
	font-size: 14px;
	font-size: 1.4rem;
	margin-bottom: 10px;
}
.related-worksheet-list .post-meta-list {
	font-size: 10px;
	font-size: 1rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.related-worksheet-list .post-meta-list > .list-item {
	display: inline-block;
}
.related-worksheet-list .post-meta-list > .list-item:nth-child(-n+2)::after {
	content: " /";
}
.related-worksheet-list .post-meta-list > .list-item:last-child {
	display: block;
}
.related-worksheet-list .slick-prev::before, .related-worksheet-list .slick-next::before {
	color: #333;
	font-size: 60px;
}
.related-worksheet-list .slick-prev, .related-worksheet-list .slick-next {
	height: 60px; 
	width: 60px;
}
.related-worksheet-list .slick-prev {
	left: -60px;
	z-index: 100;
}
.related-worksheet-list .slick-next {
	right: -60px;
	z-index: 99;
}

.sheet .overlay {
	background: rgba(0, 0, 0, .7);
	display: none; 
	height: 120%;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 10000;
}

.sheet .sheet-slider {
	background: #fff;
	border-radius: 6px;
	height: auto;
	opacity: 1;
	padding: 40px 35px 0;
	position: fixed; 
	width: 600px;
	z-index: 10000;
}
.sheet .sheet-slider .slick-prev::before, .sheet .sheet-slider .slick-next::before {
	color: #000;
	font-size: 60px;
}
.sheet .sheet-slider .slick-prev, .sheet .sheet-slider .slick-next {
	height: 60px; 
	width: 60px;
}
.sheet .sheet-slider .slick-prev {
	left: -70px;
	z-index: 100;
}
.sheet .sheet-slider .slick-next {
	right: -70px;
	z-index: 99;
}
.sheet .sheet-slider .slider-list {
	list-style: none; 
	margin: 0;
	padding: 0;
}
.sheet .sheet-slider .sheet {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	position: relative;
}
.sheet .sheet-slider .sheet-thumbnail {
	margin-right: 30px;
	min-width: 150px;
}
.sheet .sheet-slider .sheet-meta {
	-webkit-flex-basis: auto;
	flex-basis: auto; 
	-webkit-flex-grow: 0;
	flex-grow: 0;
	-ms-flex-negative: 1;
	-ms-flex-positive: 0;
	-ms-flex-preferred-size: auto;
	-webkit-flex-shrink: 1;
	flex-shrink: 1;
}
.sheet .sheet-slider .subject {
	background: #898989;
	color: #fff;
	font-size: 12px;
	font-size: 1.2rem;
	margin-bottom: 10px; 
	padding: 6px 0;
	text-align: center;
}
.sheet .sheet-slider .title {
	font-size: 24px;
	font-size: 2.4rem;
	text-align: center;
}
.sheet .sheet-slider .page {
	font-size: 16px;
	font-size: 1.6rem;
	margin-bottom: 20px; 
	text-align: center;
}
.sheet .sheet-slider .link-text {
	display: none;
}
.sheet .sheet-slider .sheet-desc {
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1.5;
}
.sheet .sheet-slider .file-info {
	text-align: center;
}
.sheet .sheet-slider .file-info img {
	margin: 10px auto; 
	text-align: center;
}
.sheet .sheet-slider .file-size {
	font-size: 10px;
	font-size: 1rem;
}

.worksheet-section {
	margin-bottom: 60px;
}
.worksheet-section .lead {
	text-align: center;
}
.worksheet-section .sheet-list {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: justify;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	list-style: none;
	margin: 0;
	padding: 0;
	position: relative; 
	width: 100%;
}
.worksheet-section .sheet-list .list-item {
	width: 50%;
}
.worksheet-section .sheet-list .slider-only {
	display: none;
}
.worksheet-section .sheet {
	-webkit-align-items: stretch;
	align-items: stretch;
	background: #f1f1f1;
	border: solid 1px transparent;
	border-radius: 6px;
	cursor: pointer; 
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: stretch;
	margin: 0 auto 30px;
	padding: 20px;
	position: relative;
	transition: all .4s ease-out;
	width: 346px;
}
.worksheet-section .sheet:hover {
	border: solid 1px #828282;
	box-shadow: 0 0 10px #555;
}
.worksheet-section .sheet:hover .link-text {
	color: #2ea7e0; 
	text-decoration: underline;
}
.worksheet-section .sheet .sheet-thumbnail {
	background: #fff;
	margin-right: 20px;
	max-width: 100px;
	padding: 2px;
}
.worksheet-section .sheet .sheet-meta {
	position: relative;
	text-align: center; 
	width: calc(100% - ( 100px + 20px));
}
.worksheet-section .sheet .sheet-meta .subject, .worksheet-section .sheet .sheet-meta .page, .worksheet-section .sheet .sheet-meta .sheet-link {
	font-size: 15px;
	font-size: 1.5rem;
}
.worksheet-section .sheet .sheet-meta .subject {
	background: #fff;
	margin-bottom: 10px; 
	padding: 4px 0;
}
.worksheet-section .sheet .sheet-meta .title {
	color: #005eb9;
	font-size: 24px;
	font-size: 2.4rem;
	margin-bottom: 4px;
}
.worksheet-section .sheet .sheet-meta .link-text {
	bottom: 0;
	display: inline-block;
	left: 50%;
	position: absolute;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.worksheet-section .sheet .sheet-meta .link-text::after {
	content: " ＞";
}

.manabun-sheet-section .sheet-list {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: distribute;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-around;
	justify-content: space-around; 
	list-style: none;
	margin: 0;
	margin-top: 30px;
	padding: 0;
	width: 100%;
}
.manabun-sheet-section .sheet-list > .list-item {
	box-sizing: border-box; 
	-webkit-flex: 1 0 50%;
	-ms-flex: 1 0 50%;
	flex: 1 0 50%;
}
.manabun-sheet-section .sheet-list .sheet {
	text-align: center;
}
.manabun-sheet-section .sheet-list .sheet-explain {
	margin-bottom: 20px;
}
.manabun-sheet-section .sheet-list .sheet-thumbnail {
	margin-bottom: 20px;
}
.manabun-sheet-section .sheet-list .sheet-thumbnail > img {
	border: solid 1px #ddd;
}

#expedition {
	margin-top: -140px; 
	padding-top: 140px;
}

.expedition-section .lead {
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1.8;
}

.expedition-section .expedition-thumbnail {
	margin: 0 auto 2em; 
	width: 500px;
}
.expedition-section .expedition-thumbnail img {
	border: solid 1px #ccc;
}

.expedition-section .enlarge-link {
	text-decoration: none;
}

.expedition-section .enlarge-message {
	color: #000;
	display: block;
	font-size: 20px;
	font-size: 2rem;
	position: relative;
	text-align: center;
	text-decoration: none;
}
.expedition-section .enlarge-message::after {
	background: url("img/icons/search-glass.png") no-repeat;
	background-size: contain;
	content: "";
	display: inline-block;
	height: 23px;
	margin-left: 6px;
	position: relative;
	top: 4px; 
	width: 27px;
}

.expedition-section .btn-list {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: distribute;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap; 
	-webkit-justify-content: space-around;
	justify-content: space-around;
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
}

.expedition-newspaper-layout {
	background: #fff;
	margin: 0 auto;
	padding: 30px; 
	position: relative;
	width: 900px;
}
.expedition-newspaper-layout .layout-sample-list {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: justify;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between; 
	list-style: none;
	margin: 0;
	padding: 0;
}
.expedition-newspaper-layout .layout-sample-list .list-item {
	width: 48%;
}
.expedition-newspaper-layout .layout-sample-list .list-item:first-child {
	margin-bottom: 20px;
}
.expedition-newspaper-layout .post {
	-webkit-align-items: center;
	align-items: center;
	border: solid 2px #000;
	border-radius: 6px;
	box-sizing: border-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	padding: 20px;
}
.expedition-newspaper-layout .post-thumbnail img {
	border: solid 1px #ccc; 
	height: auto;
	max-width: 140px;
	width: 100%;
}
.expedition-newspaper-layout .post-thumbnail, .expedition-newspaper-layout .post-content {
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;
	text-align: center;
}
.expedition-newspaper-layout .file-size {
	font-size: 10px;
	font-size: 1rem;
}

#contest {
	margin-top: -140px; 
	padding-top: 140px;
}

.contest-section .lead {
	font-size: 18px;
	font-size: 1.8rem;
	margin-bottom: 2em; 
	text-align: center;
}

.contest-section .contest-list {
	list-style-position: inside; 
	margin: 0 60px;
	padding: 0;
}
.contest-section .contest-list .list-item {
	border-bottom: dotted 1px #868686; 
	padding: 20px 80px;
}
.contest-section .contest-list .list-item:first-child {
	border-top: dotted 1px #868686;
}
.contest-section .contest-list .external-link {
	color: #009fe8;
}
.contest-section .contest-list .external-link::after {
	background: url("img/icons/external-link_off.png") no-repeat;
	content: "";
	display: inline-block;
	height: 15px; 
	margin-left: 1em;
	position: relative;
	width: 20px;
}

#location, #link {
	margin-top: -140px; 
	padding-top: 140px;
}

.contact .location-section .location-map {
	margin-bottom: 2em; 
	min-height: 512px;
	width: 100%;
}

.contact .location-section .gmap-info-window {
	background: #005bff;
	color: #fff;
	font-size: 16px;
	font-size: 1.6rem;
	padding: 20px;
	position: relative;
	text-align: center;
	width: 270px;
}
.contact .location-section .gmap-info-window .infowindow-title {
	font-size: 20px;
	font-size: 2rem;
	font-weight: bold;
}
.contact .location-section .gmap-info-window::before {
	border-color: #005bff transparent transparent transparent;
	border-style: solid;
	border-width: 40px 20px 40px 20px; 
	bottom: calc(-40px * 2);
	content: "";
	display: inline-block;
	height: 0;
	left: 20%;
	position: absolute;
	width: 0;
}

.contact .location-section .access-text .access {
	color: #005bff;
	font-weight: bold;
}

.contact .link-section .link-list {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap; 
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
}
.contact .link-section .link-list .list-item {
	border-right: solid 1px #ccc; 
	box-sizing: border-box;
	font-size: 13px;
	font-size: 1.3rem;
	padding: 0 10px;
	width: calc( 100% / 4);
}
.contact .link-section .link-list .list-item:nth-child(4n) {
	border-right: none;
}
.contact .link-section .link-list .link {
	color: #000;
	display: inline-block;
	padding: 14px 10px;
	text-decoration: none;
	white-space: nowrap;
}
.contact .link-section .link-list .link:hover {
	background: #e8e8e8;
}

.mailbox-link-box {
	-webkit-align-items: center;
	align-items: center;
	background: pink;
	border: solid 4px #333;
	border-radius: 6px 0 0 6px;
	border-right: none;
	box-sizing: border-box; 
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	opacity: .9;
	padding: 20px;
	position: fixed;
	right: 0;
	top: 35vh;
	width: 200px;
}
.mailbox-link-box .description {
	font-size: 13px;
	font-size: 1.3rem;
	line-height: 1.5;
}

.mailbox-link-box--home {
	-webkit-align-items: center;
	align-items: center; 
	border: solid 4px #333;
	border-radius: 6px;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	position: absolute;
	top: 0;
	width: 300px;
}
.mailbox-link-box--home .description {
	-ms-flex: 0 1 auto; 
	padding-right: 6px;
	text-align: left;
}
.mailbox-link-box--home .image {
	text-align: right;
}

.sitemap-container {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: distribute;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-around;
	justify-content: space-around; 
	width: 100%;
}

.sitemap-item {
	border: solid 1px #555;
	box-sizing: border-box;
	margin-bottom: 30px;
	width: 48%;
}
.sitemap-item a {
	color: #333; 
	text-decoration: none;
}
.sitemap-item a:hover {
	text-decoration: underline;
}

.sitemap-item-header {
	background: #eee;
	display: block;
	font-weight: bold; 
	padding: 16px 30px;
}

.sitemap-list {
	line-height: 1.5;
}

@media print {
	.site-header {
		position: relative;
	}
	.site-footer {
		position: relative;
	}
	.move-top-top {
		display: none;
	}
}