/* common */
.teacher .sp {
	display: none;
}

.teacher .kn-footer>.megafooter:before,
.kn-footer>.grouplinks:before,
.kn-footer>.copyright:before {
	left: 49%;
}

.teacher .kn-group-header:before {
	left: 49%;
}

.teacher>.kn-wrapper {
	position: relative;
	overflow: hidden;
	min-width: 1060px;
}

.teacher .cont-wrap {
	background: #EBF1F9;
	padding: 0 0 1px;
}

.teacher .kn-ttl.-h1.-mainvisual {
	position: relative;
	z-index: 1;
}

.teacher .kn-local-nav.-under>.category>.menu,
.teacher .kn-local-nav.-under>.category>.menu:hover {
	background: #E2E6F0;
}

.teacher .kn-local-nav.-under .submenu {
	background: #fff;
}

.teacher .kn-local-nav.-under>.submenu .menu.-current,
.teacher .kn-local-nav.-under>.submenu .menu:hover {
	background: #f3f6ff;
}

.teacher .kn-card>a .summary>.title {
	color: #193B8D;
	margin: 0;
}

.teacher .kn-card>a .summary>.title.-popup::after {
	content: '';
	background: url('/teacher/images/ico_link_popup_navy.svg') no-repeat;
	background-size: contain;
	display: inline-block;
	vertical-align: text-top;
	margin: 0 0 0 4px;
	width: 14px;
	height: 14px;
}

.teacher .kn-card>a .summary>.title.-pdf::after {
	content: '';
	background: url('/common/images/ico_link_pdf_blue.png') no-repeat;
	background-size: contain;
	display: inline-block;
	vertical-align: text-top;
	margin: 0 0 0 4px;
	width: 14px;
	height: 14px;
}

.teacher .kn-d-list.-decoration>.title>a img.-popup {
	vertical-align: unset;
	margin: 0 0 0 4px;
	width: 14px;
	height: 14px;
}

/* sidenav */
.teacher .kn-local-nav>.submenu .menu span::after {
	content: '';
	background: url('/teacher/images/ico_link_popup_navy.svg') no-repeat;
	background-size: contain;
	display: inline-block;
	vertical-align: text-top;
	margin: 0 0 0 4px;
	width: 14px;
	height: 14px;
}

/* header */
.teacher .kn-group-header {
	background: #fff;
}

.teacher .kn-header-container {
	background: #fff;
}

.teacher .kn-header-container .kn-header .logo {
	width: 270px;
	height: auto;
}

.teacher .kn-header-container .kn-header .describe {
	color: #193B8D;
}

.teacher .kn-header-container .kn-global-nav>li:hover>.menu.-root+.submenu li a {
	color: #193B8D;
}

.teacher .kn-header-container .kn-global-nav>li:hover>.menu.-root+.submenu li a.-popup::after {
	content: '';
	background: url('/teacher/images/ico_link_popup_navy.svg') no-repeat;
	background-size: contain;
	display: inline-block;
	vertical-align: text-top;
	margin: 0 0 0 4px;
	width: 14px;
	height: 14px;
}

.teacher .kn-header-container .link-btn-t {
	text-align: right;
	margin: 10px 0 0;
}

.teacher .kn-header-container .link-btn-t a {
	background: #FF641F;
	border-radius: 6px;
	color: #fff;
	font-size: 14px;
	display: inline-block;
	padding: 10px 40px;
	position: relative;
}

.teacher .kn-header-container .link-btn-t a::before {
	content: '';
	background: url('/teacher/images/ico_btn_mail.png') no-repeat;
	display: inline-block;
	width: 16px;
	height: 16px;
	position: absolute;
	top: 50%;
	left: 14px;
	transform: translateY(-50%);
}

.teacher .kn-header-container .link-btn-t a:hover {
	text-decoration: none;
	opacity: .8;
	transition: all .2s;
}

.teacher .kn-header-container .kn-global-nav {
	margin: 0 auto;
	max-width: 1060px;
}

.teacher .kn-header-container .kn-global-nav-container.-navy {
	background: #193B8D;
}

.teacher .kn-header-container .kn-global-nav>li.-current>.menu.-root,
.teacher .kn-header-container .kn-global-nav>li:hover>.menu.-root {
	background: #fff;
	color: #333;
}

.teacher .kn-header-container .kn-global-nav .submenu.-parent {
	background: #fff;
}

.teacher .kn-header-container .kn-global-nav .submenu.-child:before {
	border-left: 1px solid #193B8D;
}

.teacher .kn-header-container .kn-global-nav>li>.menu.-root {
	color: #fff;
}

.teacher .kn-header-container .kn-global-nav>li>.menu.-root.end:after {
	position: absolute;
	top: 8px;
	bottom: 8px;
	right: 0;
	display: block;
	width: 1px;
	content: '';
	transition: opaicty 300ms ease;
	border-right: 1px solid #547bdb;
}

.teacher .kn-header-container .kn-global-nav-wrapper {
	padding: 0;
	width: 100%;
	position: relative;
}

.teacher .kn-header-container .kn-global-nav .submenu.-parent {
	border-bottom: none;
	position: absolute;
	top: 45px;
	left: 0;
}

.teacher .kn-header-container .kn-global-nav .submenu.-child li {
	position: relative;
}

.teacher .kn-header-container .kn-global-nav .submenu.-child li.-note {
	color: #193B8D;
	font-size: 12px;
}

.teacher .kn-header-container .kn-global-nav>li>.menu.-root.-active {
	background: #193B8D;
	color: #fff;
}

.teacher .kn-header-container .kn-global-nav-container .links {
	top: 0;
}

.teacher .kn-header-container .kn-global-nav .submenu.-child li._ttl {
	color: #193B8D;
	font-weight: bold;
	width: 100%;
}

.teacher .kn-header-container .kn-global-nav .submenu.-child li._note {
	color: #193B8D;
	font-size: 12px;
	font-weight: bold;
	width: 100%;
}

.teacher .kn-header-container .kn-ad-nav ul>div {
	margin: 0 0 10px;
}

@media screen and (max-width: 768px) {
	.teacher .kn-header-container .kn-header .logo {
		width: 134px;
		height: auto;
	}

	.teacher .kn-header-container .kn-global-nav .submenu.-child li._ttl {
		padding: 15px 25px 15px 10px;
	}

	.teacher .kn-header-container .kn-global-nav .submenu.-child li.-note {
		padding: 15px;
	}

	.teacher .kn-header-container .kn-global-nav {
		background: #193B8D;
	}

	.teacher .kn-header-container .kn-global-nav>li.-current>.menu.-root,
	.teacher .kn-header-container .kn-global-nav>li:hover>.menu.-root {
		background: #193B8D;
		color: #fff;
	}

	.teacher .kn-header-container .kn-global-nav>li:hover>.menu.-root+.submenu li a.-popup::after {
		display: none;
	}

	.teacher .kn-header-container .kn-global-nav>li>.menu.-root.-active+.submenu {
		background: #fff;
	}

	.teacher .kn-header-container .kn-global-nav .submenu .menu {
		color: #193B8D;
	}

	.teacher .kn-header-container .kn-global-nav .submenu .menu.-child::before {
		position: absolute;
		top: 0;
		right: 10px;
		bottom: 0;
		display: inline-block;
		width: 6px;
		height: 6px;
		margin: auto;
		content: '';
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		vertical-align: middle;
		border-top: 2px solid #547bdb;
		border-right: 2px solid #547bdb;
		border-bottom-color: transparent !important;
		border-left-color: transparent !important;
	}

	.teacher .kn-header-container .kn-global-nav .submenu .menu.-child.-popup span::after {
		content: '';
		background: url('/teacher/images/ico_link_popup_navy.svg') no-repeat;
		background-size: contain;
		display: inline-block;
		vertical-align: text-top;
		margin: 0 0 0 4px;
		width: 14px;
		height: 14px;
	}

	.teacher .kn-header-container .link-btn-t a {
		width: 95%;
		text-align: center;
		margin: 0 auto;
		display: block;
	}

	.teacher .kn-header-container .kn-drawer {
		background: #193B8D;
	}

	.teacher .kn-header-container .kn-global-nav>li>.menu.-root.end:after {
		position: absolute;
		top: 0;
		right: 10px;
		bottom: 0;
		display: inline-block;
		width: 6px;
		height: 6px;
		margin: auto;
		content: '';
		transition: -webkit-transform 300ms ease;
		transition: transform 300ms ease;
		transform: rotate(135deg);
		vertical-align: middle;
		border-top: 2px solid #547bdb;
		border-right: 2px solid #547bdb;
		border-bottom-color: transparent !important;
		border-left-color: transparent !important;
	}

	.teacher .kn-header-container .kn-global-nav>li>.menu.-root.end.-active:after {
		transform: rotate(315deg);
	}

	.teacher .kn-global-nav-container .links {
		width: auto;
	}

	.teacher .kn-header-container .kn-global-nav .submenu.-parent {
		position: static;
	}
}

/* footer */
.teacher .kn-footer>.megafooter {
	background: #193B8D;
}

.teacher .kn-footer>.megafooter>.functions .kn-btn.-mailmag {
	background: #fff;
	color: #EB4800;
	position: relative;
}

.teacher .kn-footer>.megafooter>.functions .kn-btn.-mailmag::before {
	content: '';
	background: url('/teacher/images/ico_btn_mail_orange.png') no-repeat;
	background-size: contain;
	display: inline-block;
	vertical-align: text-top;
	margin: 0 0 0 4px;
	width: 14px;
	height: 12px;
	position: absolute;
	top: 12px;
	left: 10px;
}

.teacher .kn-footer .kn-btn.-decoration.-s>img:first-child {
	width: 14px;
	height: 12px;
}

.teacher .kn-footer .kn-btn.-decoration.-s>img {
	width: auto;
	height: auto;
}

.teacher .kn-footer .kn-btn.-decoration>img:last-child {
	width: 14px;
	position: absolute;
	top: 9px;
	bottom: 0;
	right: 12px;
}

.teacher .kn-footer .kn-t-list {
	max-width: 190px;
}

.teacher .kn-footer>.megafooter>.functions,
.teacher .kn-footer>.megafooter>.sitemap {
	border-bottom: 1px solid #7E9BE2;
}

/* content */
.teacher .main-container {
	margin: 0 auto;
	max-width: 1060px;
}

.teacher .main-wrap {
	background: #fff;
	margin: 0 0 1px;
	padding: 15px;
}

.teacher .container {
	margin: 0 0 90px;
}

.teacher .kn-section {
	position: relative;
	max-width: 1060px;
}

.teacher .kn-section.-pickup {
	background: transparent;
	padding: 0 0 50px;
}

.teacher .kn-section.-exam {
	background: #ffffff;
	z-index: 1;
	padding: 40px 0 50px;
}

.teacher .kn-section.-report {
	background: transparent;
	padding: 40px 0 50px;
}

.teacher .bnr-cont {
	margin: 0 auto 60px;
	max-width: 1060px;
}

.teacher .bnr-cont ul {
	display: flex;
	justify-content: space-between;
}

.teacher .kn-card.-top {
	position: relative;
	width: 336px;
	height: auto;
}

.teacher .summary .label {
	background: #193B8D;
	border-radius: 100px;
	color: #fff;
	font-size: 13px;
	display: inline-block;
	text-align: center;
	margin: 0 0 10px;
	padding: 2px;
	width: 120px;
}

.teacher .summary .label.green {
	background: #2B696D;
}

.teacher .summary .label.orange {
	background: #DD4711;
}

.teacher .summary .label.blue {
	background: #2366A5;
}

.teacher .summary .label.yellow {
	background: #DC9117;
}

.teacher .summary .label.pink {
	background: #c86875;
}

.teacher .summary .label.purple {
	background: #b86ce8;
}

.teacher .summary .title {
	margin: 0 0 20px;
}

.teacher .summary .date {
	font-size: 14px;
	position: absolute;
	bottom: 10px;
	left: 20px;
}

.teacher .blue-band {
	background: #D7DDE8;
	margin: 60px 0 0;
	padding: 50px 0;
}

.teacher .blue-band-inner {
	margin: 0 auto;
	max-width: 1060px;
}

.teacher .cont-btm {
	background: #EBF1F9;
	height: 150px;
}

.teacher .kn-ttl.-h2>.kn-link.-forward:before {
	z-index: 1;
	top: 0;
	right: 10px;
	bottom: 0;
	left: auto;
	border-color: #ffffff;
}

.teacher .kn-ttl.-h2>.kn-link.-forward:after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: auto;
	display: inline-block;
	width: 24px;
	height: 24px;
	margin: auto;
	content: '';
	border-radius: 50%;
	background: #547bdb;
}

.teacher .kn-link-list-ttl {
	font-weight: bold;
}

.teacher .kn-link-list-ttl.-border {
	border-top: 1px solid #fff;
	padding: 10px 0 0;
}

.teacher .kn-link-list li a.i-popup::after {
	content: '';
	background: url('/common/images/ico_link_popup.png') no-repeat;
	background-size: contain;
	display: inline-block;
	vertical-align: text-top;
	margin: 0 0 0 4px;
	width: 14px;
	height: 14px;
}

.teacher .kn-ttl.-h2.-navy {
	color: #193B8D;
	border-bottom: 1px solid #193B8D;
}

.teacher .kn-local-nav>.submenu .menu.-current,
.teacher .kn-local-nav>.submenu .menu:hover {
	background: #f3f6ff;
}

.teacher .kn-panel.-navy {
	border: 1px solid #193B8D;
}

.teacher .kn-panel.-adjustmb {
	margin: 0 0 60px;
}

.teacher .kn-panel.-navy>.title {
	background: #193B8D;
}

.teacher .kn-label.-navy {
	border: 1px solid #193B8D;
	color: #193B8D;
}

.teacher .label-block {
	margin: 20px 0 0;
}

.teacher .label-block i {
	background: #EBF1F9;
	font-size: 13px;
	color: #193B8D;
	display: inline-block;
	margin: 0 0 6px;
	padding: 4px 6px;
}

.teacher .label-block i.border {
	background: #EBF1F9;
	border: 1px solid #193B8D;
}

.teacher .kn-panel>.contents {
	position: relative;
}

.teacher .kn-panel>.contents::after {
	content: '';
	display: inline-block;
	border-bottom: 1px solid #E4E4E4;
	width: 95%;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

.teacher .c-border {
	border-bottom: 2px solid #f3f6ff;
}

.teacher .kn-local-nav>.submenu .menu.-ttl {
	color: #333;
	font-weight: bold;
	padding: 14px 10px 12px;
}

.teacher .kn-local-nav>.submenu .menu.-ttl:hover {
	background: #fff;
}

.teacher .kn-anchor-btn.-navy {
	color: #193B8D;
	border: 1px solid #193B8D;
}

.teacher p.kn-txt.-adjustmb {
	margin: 0.75em 0 40px;
}

.teacher .kn-link.-forward.-navy {
	color: #193B8D;
}

.teacher .kn-link.-forward.-navy:before {
	border-top: 1px solid #193B8D;
	border-right: 1px solid #193B8D;
}

.teacher .kn-banner-list>div {
	margin: 0 0 10px;
}

/* 230912 youtube 追加 */
.teacher .kn-embed{
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 0;
	padding-bottom: 50%;
}

.teacher .kn-embed > * {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	border: none;
}

.teacher .kn-embed-ratio-9-16{
	padding-bottom: 56.25%;
}

/* swiper */
.teacher .swiper {
	margin: 0 auto 30px;
	padding: 0 0 34px !important;
	position: relative;
	overflow-x: hidden;
}

.teacher .swiper-button-next,
.teacher .swiper-button-prev {
	width: auto !important;
}

.teacher .swiper-button-next,
.teacher .swiper-rtl .swiper-button-prev {
	top: 50% !important;
	right: 20% !important;
	transform: translateY(-50%) !important;
	z-index: 1;
}

.teacher .swiper-button-prev,
.teacher .swiper-rtl .swiper-button-next {
	top: 50% !important;
	left: 20% !important;
	transform: translateY(-50%) !important;
	z-index: 1;
}

.teacher .swiper-button-next:after {
	background: url("/teacher/images/ico_slider_right.png") no-repeat;
	background-size: 63px;
	content: "" !important;
	display: inline-block;
	width: 63px;
	height: 63px;
}

.teacher .swiper-button-next:active:after {
	background: url("/teacher/images/ico_slider_right_hover.png") no-repeat;
}

.teacher .swiper-button-prev:after {
	background: url("/teacher/images/ico_slider_left.png") no-repeat;
	background-size: 63px;
	content: "" !important;
	display: inline-block;
	width: 63px;
	height: 63px;
}

.teacher .swiper-button-prev:active:after {
	background: url("/teacher/images/ico_slider_left_hover.png") no-repeat;
}

.teacher .swiper-container-horizontal>.swiper-pagination-bullets,
.teacher .swiper-pagination-custom,
.teacher .swiper-pagination-fraction {
	bottom: auto;
	left: auto;
	margin: 10px 0 0;
	z-index: 0;
}

.teacher .swiper-slide img {
	width: 100%;
}

.teacher .headline-block {
	display: flex;
	align-items: center;
	margin: 0 0 10px;
}

.teacher .headline-block>li {
	margin: 0 10px 0 0;
}

.teacher .headline-block .label {
	background: #EBF1F9;
	color: #193B8D;
	font-size: 13px;
	padding: 4px;
}

/* 第4・5階層 PC */
.teacher .kn-ttl.-h3.-navy {
	border-left: 6px solid #193B8D;
}

.teacher .kn-sttl {
	line-height: 1.2;
	font-size: 26px;
}

.teacher .btn-block {
	display: flex;
	margin: 50px 0 20px;
}

.teacher .btn-block a {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 15px 0 0;
	width: 32%;
}

.teacher .btn-block a:last-child {
	margin: 0;
}

.teacher .kn-btn.-navy {
	background-color: #193B8D;
	color: #fff;
}

.teacher .kn-btn.-navy.-forward:before {
	border-color: #fff;
}

.teacher .kn-btn.-navy.-popup {
	background-image: url('/common/images/ico_link_popup.png');
}

.teacher .kn-tbl.-teacher {
	border: 1px solid #193B8D;
}

.teacher .kn-tbl.-teacher>thead>tr>th {
	background-color: #193B8D;
}

.teacher .kn-tbl.-teacher>thead>tr>th,
.teacher .kn-tbl.-teacher>tbody>tr>th,
.teacher .kn-tbl.-teacher>tbody>tr>td {
	border: none;
}

.teacher .kn-tbl.-teacher>tbody>tr:nth-child(2n) {
	background: #F4F6FF;
}

.teacher .kn-tbl.-teacher>tbody>tr>td.kn-txt.-bold {
	border-right: 1px solid #7E9BE2;
}

.teacher .o-link-list {
	background: #F5F8FA;
	padding: 25px 20px;
}

.teacher .o-link-list .ttl {
	font-size: 16px;
	font-weight: bold;
	margin: 0 0 20px;
}

.teacher .o-link-list .sttl {
	font-weight: bold;
	margin: 0 0 10px;
}

.teacher .o-link-list .link-block {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 0 14px;
}

.teacher .o-link-list .link-block:last-child {
	margin: 0;
}

.teacher .o-link-list .link-btn {
	display: flex;
	justify-content: flex-end;
}

.teacher .o-link-list .link-btn a {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 0 0 7px;
	padding: 7px 0;
	max-width: 192px;
}

.teacher .o-link-list .link-btn a b {
	font-size: 14px;
	font-weight: normal;
}

.teacher .kn-ttl.-txt {
	font-size: 26px;
	line-height: 1.2;
}

.teacher .kn-fig ._ta-l.-right {
	text-align: right;
}

.teacher .table-cont-block {
	background: #F5F8FA;
	padding: 20px;
}

.teacher .table-cont-block .kn-link {
	border-bottom: 1px solid #C5C5C5;
	padding: 10px 0 10px 20px;
	width: 100%;
}

.teacher .table-cont-block .kn-link.-down:before {
	bottom: 12px;
}

.teacher .kn-txt.-navy {
	color: #193B8D;
}

.teacher .kn-ttl.-h1 .imgcontainer .-navy {
	color: #193B8D;
	font-size: 18px;
	font-weight: normal;
}

.teacher .kn-ttl.-h1 .imgcontainer .txt-ttl {
	font-size: 19px;
}

.teacher .kn-d-list.-decoration>.-nolink {
	margin: 0 0 0 10px;
	padding: 8px 10px;
}

.teacher .kn-txt.-lightorange {
	color: #EB4800;
}

.teacher .kn-btn.-disable {
	background-color: #E6E6E6;
	color: #A6A6A6;
	pointer-events: none;
}

.teacher .kn-modal>.wrapper>.closebtn {
	background: #193B8D;
}

.teacher .t-pagination {
	display: flex;
	justify-content: center;
	margin: 20px 0 0;
	width: 100%;
}

.teacher .t-pagination.hide {
	display: none;
}

.teacher .t-pagination .prev-page {
	margin-right: 20px;
}

.teacher .t-pagination .next-page {
	margin-left: 20px;
}

.teacher .t-pagination ul {
	display: flex;
	align-items: center;
}

.teacher .t-pagination ul li {
	margin-right: 10px;
}

.teacher .t-pagination ul li:last-child {
	margin-right: 0;
}

.teacher .t-pagination ul li a {
	font-size: .14rem;
	line-height: 1;
	position: relative;
	display: inline-block;
	width: 32px;
	height: calc(1em + 18px);
	padding: 9px 10px;
	text-align: center;
	color: #fff;
	border-radius: 6px;
	background: #193B8D;
}

.teacher .t-pagination button {
	font-size: .14rem;
	line-height: 1;
	position: relative;
	display: inline-block;
	height: calc(1em + 18px);
	padding: 8px 16px;
	text-align: center;
	color: #fff;
	border-radius: 6px;
	background: #193B8D;
	width: 74px;
}

.teacher .t-pagination button:hover {
	opacity: .8;
}

.teacher .t-pagination ul li.current a {
	padding: 8px 10px;
	color: #333;
	border: 1px solid #e4e4e4;
	background: #fff;
	pointer-events: none;
}

.teacher .t-pagination ul li a:hover {
	text-decoration: none;
	opacity: .8;
}

.teacher .t-pagination .prev-page button,
.teacher .t-pagination .next-page button {
	position: relative;
}

.teacher .t-pagination .prev-page button::before {
	position: absolute;
	top: 11px;
	left: 11px;
	display: inline-block;
	width: 6px;
	height: 6px;
	margin: auto;
	content: '';
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	vertical-align: middle;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	border-bottom-color: transparent !important;
	border-left-color: transparent !important;
	-webkit-transform: rotate(225deg);
	transform: rotate(225deg);
}

.teacher .t-pagination .prev-page button::after {
	position: absolute;
	top: 9px;
	right: 21px;
	content: '前へ';
}

.teacher .t-pagination .prev-page.disabled button::after {
	color: #333;
}

.teacher .t-pagination .next-page button::before {
	position: absolute;
	top: 11px;
	right: 11px;
	display: inline-block;
	width: 6px;
	height: 6px;
	margin: auto;
	content: '';
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	vertical-align: middle;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	border-bottom-color: transparent !important;
	border-left-color: transparent !important;
}

.teacher .t-pagination .next-page button::after {
	position: absolute;
	top: 9px;
	left: 21px;
	content: '次へ';
}

.teacher .t-pagination .next-page.disabled button::after {
	color: #333;
}

.teacher .t-pagination .prev-page.disabled button,
.teacher .t-pagination .next-page.disabled button {
	color: #333;
	border: 1px solid #e4e4e4;
	background: #fff;
	pointer-events: none;
}

.teacher .kn-ttl.-h2._ttl-center {
	border-bottom: none;
	color: #193B8D;
	font-size: 34px;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.teacher .pc {
		display: none;
	}

	.teacher .sp {
		display: block;
	}

	.teacher .kn-footer>.megafooter:before,
	.kn-footer>.grouplinks:before,
	.kn-footer>.copyright:before {
		left: 47%;
	}

	.teacher .kn-group-header:before {
		left: 47%;
	}

	.teacher .main-container {
		padding: 0 10px;
		width: 100%;
	}

	.teacher .swiper {
		max-width: 100%;
		width: 100%;
	}

	.teacher .bnr-cont {
		width: 100%;
	}

	.teacher .bnr-cont ul {
		display: block;
	}

	.teacher .bnr-cont ul li {
		margin: 0 0 15px;
	}

	.teacher .bnr-cont ul li img {
		width: 100%;
	}

	.teacher .kn-section {
		padding: 20px 10px;
	}

	.teacher .kn-card.-top {
		width: 100%;
		height: auto;
	}

	.teacher .kn-card.-end {
		height: auto;
	}

	.teacher .summary .title {
		margin: 0 0 10px;
	}

	.teacher .blue-band {
		padding: 25px 0;
	}

	.teacher .blue-band-inner {
		padding: 0 10px;
		width: 100%;
	}

	.teacher .blue-band-inner .kn-box .kn-grid .col-5 {
		padding: 0 16px 0 0;
	}

	.teacher .cont-btm {
		height: 90px;
	}

	.teacher .kn-global-nav>li:hover>.menu.-root+.submenu li a.-popup::after {
		display: none;
	}

	.teacher p.kn-txt.-adjustmb {
		margin: 0.75em 0 20px;
	}

	.teacher .kn-card.-transform .image {
		position: absolute;
		width: 100%;
		height: auto;
	}

	.teacher .kn-card.-transform .summary {
		padding-top: 30%;
	}

	.teacher .kn-card.-transform .summary>.title {
		display: block;
		padding-left: 0;
		min-height: auto;
	}

	.teacher .swiper-button-next::after,
	.teacher .swiper-button-prev::after {
		display: none;
	}

	.teacher .kn-panel>.contents::after {
		width: 92%;
	}

	.teacher .kn-panel.-adjustmb {
		margin: 0 0 30px;
	}

	/* 第4・5階層 SP */
	.teacher .kn-sttl {
		font-size: 22px;
	}

	.teacher .btn-block {
		display: block;
	}

	.teacher .btn-block a {
		display: block;
		margin: 0 0 10px;
		padding: 20px 0;
		width: 100%;
	}

	.teacher .t-table tr td {
		padding: 10px 5px;
	}

	.teacher .o-link-list {
		padding: 20px 15px;
	}

	.teacher .o-link-list .link-block {
		display: block;
	}

	.teacher .o-link-list .link-block .kn-txt {
		margin: 0 0 10px;
	}

	.teacher .o-link-list .link-btn {
		display: block;
	}

	.teacher .o-link-list .link-btn a {
		margin: 0 0 5px;
		max-width: none;
	}

	.teacher .o-link-list .link-btn a:last-child {
		margin: 0;
	}

	.teacher .kn-ttl.-h1 .imgcontainer .-navy {
		font-size: 13px;
	}

	.teacher .kn-ttl.-txt._top-ttl {
		font-size: 22px;
		margin: 0 0 20px;
	}

	.teacher .kn-label.-wide {
		text-align: left;
		width: 100%;
	}

	.teacher .t-pagination .prev-page.disabled button,
	.teacher .t-pagination .next-page.disabled button {
		display: none;
	}

	.teacher .t-pagination .prev-page button::after {
		content: '';
	}

	.teacher .t-pagination .next-page button::after {
		content: '';
	}

	.teacher .t-pagination button {
		width: 32px;
	}

	.teacher .t-pagination .prev-page button::before {
		left: 14px;
	}

	.teacher .t-pagination .next-page button::before {
		right: 14px;
	}

	.teacher .kn-ttl.-h2._ttl-center {
		font-size: 22px;
		margin: 40px 0 10px;
	}

	.teacher>.kn-wrapper {
		min-width: auto;
	}

	.teacher .js-modal {
		pointer-events: none;
	}
}

@media screen and (min-width:768px) and (max-width:1024px) {
	.teacher {
		position: relative;
		min-width: 1060px;
	}

	.teacher .main-container {
		padding: 0 10px;
	}

	.teacher .blue-band-inner {
		padding: 0 0 0 16px;
	}

	.teacher .kn-header-container .kn-header .logo {
		width: 270px;
	}

	.teacher .kn-global-nav-container .links {
		width: auto;
		top: 0;
		right: 0;
	}

	.kn-global-nav-container .links>.kn-link-list.-row {
		margin: 0;
	}

	.teacher .kn-header-container .link-btn-t {
		width: 218px;
		position: absolute;
		top: 30px;
		right: 10px;
	}

	.teacher .kn-header-container .kn-global-nav .submenu .menu.-child::before,
	.teacher .kn-header-container .kn-global-nav>li>.menu.-root.end:after,
	.kn-global-nav>li.-current>.menu.-root:after,
	.kn-global-nav>li:hover>.menu.-root:after {
		display: none;
	}

	.teacher .bnr-cont ul {
		display: flex;
		justify-content: space-between;
	}

	.teacher .bnr-cont ul li {
		width: 49.5%;
	}

	.teacher .blue-band-inner .kn-grid {
		margin: 0;
	}

	.teacher .blue-band-inner .kn-grid>div {
		width: 30%;
	}

	.teacher .kn-header-container .kn-global-nav .submenu.-parent {
		position: absolute;
	}
}

@media screen and (max-width: 767px) {
	.kn-grid {
		margin: 0;
	}

	.kn-grid>* {
		padding: 0 0 15px;
	}

	.kn-grid>*:last-child {
		padding: 0;
	}

	.teacher .kn-ttl.-h1 .imgcontainer .txt-ttl {
		font-size: 13px;
	}

	.teacher .kn-ttl.-txt {
		font-size: 22px;
	}
}

/*-----------------------------------------------------
202404 teacher共通追加style: sns-button
※ロゴの大きさや周囲の余白を変更する場合、各SNSのロゴガイドラインを参照してください。
------------------------------------------------------*/
.sns {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
}
.sns-buttons {
	display: inline-flex;
	margin-bottom: 10px;
}
.sns-buttons li:nth-child(n+2) {
	margin-left: 4px;
}
.sns-button {
	width: 48px;
	height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
}
.sns-button:hover {
	background: #e4e4e4;
}
.sns-button:hover img {
	opacity: 1;
}
.sns-text {
	color: #193B8D;
	font-size: 14px;
	font-weight: bold;
}


/*=====================================================
202403 service配下用 追加style
======================================================*/
/* ページ内アンカーリンクメニュー */
.service .anchor-link-menu {
	display: flex;
	justify-content: space-between;
	gap: 0 15px;
}

/* ニュース一覧読み込みエリア */
.service .news-list {
	width:100%; height:13em; overflow-y: scroll;
}
.service .news-list::-webkit-scrollbar {
	width: 10px;
	height: 10px;
}
.service .news-list::-webkit-scrollbar-thumb {
	border-radius: 0.25rem;
	--bg-opacity: 1;
	background-color: gray;
}

/* 背景色つきカードレイアウト */
.service .card-block-orange {
	background: #FFF1E8;
	padding: 20px 20px 0;
	margin-bottom: 60px;
}
.service .card-block-blue {
	background: #E9F7FA;
	padding: 20px 20px 0;
	margin-bottom: 60px;
}
.service .card-block-orange.-half,
.service .card-block-blue.-half {
	width: 50%;
}
.service .kn-card.label .image {
	position: relative;
}
.service .kn-card.label .image .card-label {
	position: absolute;
	left:0;
	bottom:0;
	z-index:10;
	padding: 6px 8px 6px 15px;
}

/* H1上小見出しブロック */
.service span.headline-block {
	display: inline-block;
	font-size: 14px;
	padding: 10px 12px 8px;
	margin:0;
	background: #F3F6FF;
	color: #777;
}

/* 教科ラベル */
.service .label-group .kn-label.-bg.-blue {
	background-color: #0067CE;
}
.service .label-group .kn-label.-bg.-darkpink {
	background-color: #E52375;
}
.service .label-group .kn-label.-bg.-brown {
	background-color: #A55316;
}

/* 関連商品box */
.service .related-items .kn-panel > .contents::after {
	border-bottom:none !important;
}
.service .related-items .title {
	background:#0072BA !important;
}

/* 書籍一覧　書影枠 */
.service .book-list .kn-img,
.service .book-list-column .kn-img {
	border: 1px solid #DDD;
}

/* 活用ポイントタイトル・レイアウト */
.service .example-ttl {
	font-size: 16px;
	margin: 30px 0 10px;
}
.service .example-box {
	display: flex;
	gap: 0 10px;
	align-items: stretch;
	margin-bottom: 24px;
}
.service .example-box div.kn-box {
	width: calc( 100% - 130px);
}
.service .example-box.k-pack div.kn-box {
	width: 100%;
}
.service .example-box.k-pack div.kn-box .-s {
	display: inline-block;
	font-weight: normal;
	margin-bottom: 8px;
}
.service .example-box-ttl {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 120px;
	background: #54A6C9;
	color: #FFF;
	text-align: center;
	line-height:1.5;
}
.service .example-box-ttl.-underarrow:after {
	content: "";
	display: block;
	width:0;
	height:0;
	border-style:solid;
	border-width: 15px 14px 0 14px;
	border-color: #54A6C9 transparent transparent transparent;
	position: absolute;
	bottom: -14px;
	left: 0;
	right: 0;
	margin: 0 auto;
}
.service .example-box-em {
	font-weight: bold;
	color: #FF703B;
}
.service .example-box .kn-d-list .title {
	padding-bottom: 25px;
}
.service .example-box .kn-d-list .practical-use {
	background:#EEE;
	padding: 10px;
	margin: -15px;
}

/* 採用校の声タイトル */
.service .voice-ttl {
	font-size: .18rem;
	line-height: 1.54444;
	margin: 30px 0 15px;
}
.service .voice-ttl img {
	width: 23px;
	vertical-align: text-top;
	margin-right: 10px;
}

/* パネルボタン・タイトル */
.service .kn-ttl.kn-btn-large {
	font-size: 1.5em;
	line-height: 1.5;
	color:#547BDB;
}
.service .kn-btn.large {
	padding: 30px 0 !important;
	margin-left:15px;
	margin-bottom: 15px;
	width:100%;
	max-width: 280px;
	float:right;
}
.service .kn-btn.large>b {
	padding:0;
}
.service .kn-btn.large .sub-txt {
	font-weight: normal;
	line-height: 1.4;
}
.service .kn-btn.large .main-txt {
	font-size: 1.5em;
}

/* お問い合わせマップ・各エリア問い合わせ先 */
.service .contact-area {
	width: 100%;
	padding:15px;
	background:#EEE;
	margin-bottom: 20px;
}
.service .contact-area .area-ttl {
	margin:-15px -15px 0;
	padding:15px;
	background:#666;
	color:#FFF;
	font-size: 1.25em;
}
.service .contact-area .area-name {
	font-size:1.2em;
}
.service .contact-area .area-tel {
	padding:10px;
	background:#FFF;
	font-size:1.5em;
	font-weight:bold;
	text-align:center;
	margin:10px 0;
}
.service .contact-area .area-tel img {
	vertical-align: sub;
	width:30px;
	height:auto;
	margin-right: 6px;
}
.service .contact-area.area01 {
	background: #ECEFFC;
}
.service .contact-area.area01 .area-ttl {
	background:#5065BA;
}
.service .contact-area.area02 {
	background: #E8F5FA;
}
.service .contact-area.area02 .area-ttl {
	background:#63A7E2;
}
.service .contact-area.area03 {
	background: #EDFAF3;
}
.service .contact-area.area03 .area-ttl {
	background:#64B27D;
}
.service .contact-area.area04 {
	background: #EAF6FC;
}
.service .contact-area.area04 .area-ttl {
	background: #4bc5e5;
}
.service .contact-area.area05 {
	background: #F2FAE2;
}
.service .contact-area.area05 .area-ttl {
	background: #A2CB36;
}
.service .contact-area.area06 {
	background: #fdf7ed;
}
.service .contact-area.area06 .area-ttl {
	background:#F6B447;
}
.service .contact-area.area07 {
	background: #FDF3F4;
}
.service .contact-area.area07 .area-ttl {
	background:#EA83B9;
}
.service .contact-area.area08 {
	background: #FAECEC;
}
.service .contact-area.area08 .area-ttl {
	background:#EB6363;
}

/* 各ページお問い合わせ情報BOX */
.service .contact-box {
	background: #F6F6F6;
	border: 5px solid #ddd;
	margin-top:70px;
	padding: 20px 20px 40px;
}
.service .contact-box .kn-ttl.-h2 {
	color: #193B8D;
	text-align: center;
	margin:  0 0 25px;
}
.service .contact-inner {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	gap: 0 15px;
	margin-bottom: -20px;
}
.service .contact-inner > div {
	width: 50%;
	color:#FFF;
	padding:15px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.service .contact-inner .contact-left {
	background: #193B8D;
}
.service .contact-inner .contact-right {
	background: #193B8D;
}
.service .contact-inner .contact-ttl {
	font-size: 1.25em;
	padding: 10px 0;
}
.service .contact-inner .contact-tel {
	font-size: 2.4em;
	font-weight: bold;
	padding: 30px 0;
}

@media screen and (max-width:767px) {
	/* ページ内アンカーリンクメニュー */
	.service .anchor-link-menu {
		gap: 15px;
		flex-wrap: wrap;
	}
	.service .anchor-link-menu a {
		width: calc(50% - 7.5px) !important;
	}

	/* 各ページお問い合わせ情報BOX */
	.service .contact-box {
		padding: 10px;
		margin-top:50px;
	}
	.service .contact-inner {
		display: block;
	}
	.service .contact-inner > div {
		width: 100%;
		margin-bottom: 20px;
	}

	/* 背景付きカードレイアウト */
	.service .card-block-orange,
	.service .card-block-blue {
		padding: 20px;
		margin-bottom: 40px;
	}
	.service .card-block-orange.-half,
	.service .card-block-blue.-half {
		width: 100%;
	}

	/* 教科ラベルグループ */
	.service .label-group {
		display: inline-block;
	}

	/* 書籍一覧 */
	.service .book-list-column {
		gap:10px;
	}
	.service .book-list-column .col-14-sp {
		max-width: 55.26%;
	}

	/* パネルボタン・タイトル */
	.service .kn-ttl.kn-btn-large {
		font-size:1.2em
	}
	.service .kn-btn.large .sub-txt {
		font-size:11px;
	}
	.service .kn-btn.large {
		float: none;
		max-width: 100%;
		width: 100%;
		margin: 0 0 10px;
		padding: 20px 0 !important;
	}
	.service .kn-btn.large span {
		vertical-align: middle;
		padding-right: 4px;
	}
	.service .contact-area {
		width: 100%;
	}

	/* 活用ポイント */
	.service .example-box .kn-d-list .practical-use {
		margin: -10px;
	}
	.service .example-box .kn-d-list .title {
		padding-bottom: 20px;
	}
}
/*=====================================================
202408 service配下用 追加style
======================================================*/
/* ふきだし表示用 */
.service main {
	z-index: 0;
}

/* 思考力・表現力S 商品カラー */
.service .ability-box .kn-box.-color-5ability-work {
	border-color: #8FC31F;
	background: #F7F7F7;
}
.service .ability-box .kn-box.-color-5ability-check {
	border-color: #1BB8CE;
	background: #F7F7F7;
}
.service .ability-box .kn-box.-color-5ability-test {
	border-color: #EC6D81;
	background: #F7F7F7;
}
.service .ability-box .kn-box.-color-5ability-essay {
	border-color: #757CBB;
	background: #F7F7F7;
}

.service .kn-panel.-color-5ability-work {
	border-color: #8FC31F;
	background: #F7F7F7;
}
.service .kn-panel.-color-5ability-check {
	border-color: #1BB8CE;
	background: #F7F7F7;
}
.service .kn-panel.-color-5ability-test {
	border-color: #EC6D81;
	background: #F7F7F7;
}
.service .kn-panel.-color-5ability-essay {
	border-color: #757CBB;
	background: #F7F7F7;
}

.service .kn-panel.-color-5ability-work .title {
	background: #8FC31F;
}
.service .kn-panel.-color-5ability-check .title {
	background: #1BB8CE;
}
.service .kn-panel.-color-5ability-test .title {
	background: #EC6D81;
}
.service .kn-panel.-color-5ability-essay .title {
	background: #757CBB;
}

.service .kn-label.-color-5ability-work {
	background: #8FC31F;
}
.service .kn-label.-color-5ability-check {
	background: #1BB8CE;
}
.service .kn-label.-color-5ability-test {
	background: #EC6D81;
}
.service .kn-label.-color-5ability-essay {
	background: #757CBB;
}

.service .kn-txt.-color-5ability-work {
	color: #8FC31F;
}
.service .kn-txt.-color-5ability-check {
	color: #1BB8CE;
}
.service .kn-txt.-color-5ability-test {
	color: #EC6D81;
}
.service .kn-txt.-color-5ability-essay {
	color: #757CBB;
}

.service .kn-btn.-color-5ability-work {
	background: #8FC31F;
	color: #FFF;
}
.service .kn-btn.-color-5ability-check {
	background: #1BB8CE;
	color: #FFF;
}
.service .kn-btn.-color-5ability-test {
	background: #EC6D81;
	color: #FFF;
}
.service .kn-btn.-color-5ability-essay {
	background: #757CBB;
	color: #FFF;
}

.service .kn-btn.-color-5ability-work.-forward:before,
.service .kn-btn.-color-5ability-check.-forward:before,
.service .kn-btn.-color-5ability-test.-forward:before,
.service .kn-btn.-color-5ability-essay.-forward:before {
	border-color: #FFF;
}

