/*

	rev.7
	date 2022.07.25

*/

.content {
	font-size: 1rem;
	line-height: 1.6;
}
.content img {
	width: 100%;
}
.content .h2 span {
	display: inline-block;
}
@media screen and (max-width: 767px) {
	.content {
		font-size: 100%;
	}
	.content .h2 {
		font-size: 21px;
	}
}

/*============================================================
	メッセージバー
*/
.message-bar {
	padding: 8px 0;
	background-color: #1d428a;
	text-align: center;
}
.message-bar .container {
	display: block;
}
.message-bar a {
	display: inline-block;
	color: #fff;
}
.message-bar a span {
	display: inline-block;
}
.message-bar a:hover {
	opacity: 0.6;
}
@media screen and (max-width: 575px) {
	.message-bar {
		text-align: left;
	}
}

/*============================================================
	メイン
*/
.home-main {
	overflow: hidden;
	position: relative;
}
.home-main .kv {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	background-image: url(../img/kv-home.png);
	background-position: 100% 50%;
	background-repeat: no-repeat;
	background-size: contain;
}
.home-main .headline {
	padding: 40px 0 0 0;
	height: 240px;
	color: #565656;
}
.home-main .headline .h {
	margin: 0 0 10px 0;
	font-size: 30px;
	line-height: 1.25;
	color: #000;
}
.home-main .headline .tagline {
	margin: 10px 0;
	line-height: 1.6;
}
.home-main .headline .btn-wrap {
	display: flex;
	margin: 15px 0 0 0;
}
.home-main .headline .btn-wrap a {
	margin: 0;
}
@media screen and (max-width: 991px) {
	.home-main .kv {
		position: relative;
		height: 170px;
	}
	.home-main .headline {
		padding: 20px 0 30px 0;
		height: auto;
		background-color: #0091da;
		color: #fff;
	}
	.home-main .headline .h {
		color: #fff;
	}
	.home-main .headline .tagline {
		margin: 0;
	}
	.home-main .headline .btn-wrap a {
		background-color: transparent;
		border-color: #fff;
		color: #fff;
	}
	.pc .home-main .headline .btn-wrap a:hover {
		background-color: #fff;
	}
}
@media screen and (max-width: 767px) {
	.home-main .headline {
		padding: 15px 0 20px 0;
	}
	.home-main .headline .h {
		font-size: 24px;
	}
	.home-main .headline .tagline {
		font-size: 13px;
	}
}
@media screen and (max-width: 575px) {
	.home-main .headline .btn-wrap {
		display: block;
	}
}

/*============================================================
	NEWマーク
*/
.new {
	position: absolute;
	z-index: 1;
	top: 0; left: 50%;
	padding: 14px 0 2px 0;
	width: 100%;
	background-color: #0091da;
	text-align: center;
	font-style: normal;
	font-weight: 200;
	font-size: 10px;
	line-height: 14px;
	color: #fff;
	-webkit-transform-origin: 50% 0%;
	transform-origin: 50% 0%;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

/*============================================================
	アーカイブ
*/
.archive-list {
	position: relative;
}
.archive-list h2 {
	margin: 0 0 40px 0;
	text-align: center;
}
.archive-list .btn-wrap {
	margin-top: 30px;
	display: flex;
	justify-content: center;
}
.archives .block {
	outline: 0;
	backface-visibility: hidden;
}
.archives .block .inner a {
	display: block;
}
.archives .block .image {
	transition: transform 0.3s ease;
}
.archives .thumb span {
	position: relative;
	display: block;
	overflow: hidden;
}
.archives.slider {
	display: flex;
	justify-content: center;
	position: relative;
	left: 50%;
	margin: 0;
}
.archives.slick-slider {
	display: block;
}
.archives.slick-slider .slick-list {
	overflow: visible;
}
.archives.slick-slider .slick-arrow {
	display: block;
	position: absolute;
	z-index: 1;
	width: 50px;
	height: 50px;
	font-size: 36px;
	line-height: 1;
	color: #fff !important;
}
.archives.slick-slider .slick-arrow::before {
	content: '';
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background-color: rgba(0,0,0,0.25);
}
.pc .archives.slick-slider .slick-arrow:hover {
	opacity: 0.7;
}
.archives.slick-slider .slick-arrow i {
	padding: 0;
}
.archives.slick-slider .slick-prev {
	right: 50%;
	margin-right: 605px;
}
.archives.slick-slider .slick-next {
	left: 50%;
	margin-left: 605px;
}
.archives.slick-slider .slick-arrow span {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
}
.archives.slick-slider .slick-prev span {
	padding-right: 3px;
}
.archives.slick-slider .slick-next span {
	padding-left: 3px;
}
@media screen and (max-width: 1309px) {
	.archives.slider {
		left: 0;
		margin: 0 auto !important;
		width: 890px !important;
	}
	.archives.slick-slider .slick-prev {
		right: 100%;
		margin-right: 0;
	}
	.archives.slick-slider .slick-next {
		left: 100%;
		margin-left: 0;
	}
}
@media screen and (max-width: 991px) {
	.archives.slider {
		width: 660px !important;
	}
}
@media screen and (max-width: 767px) {
	.archive-list h2 {
		margin: 0 0 20px 0;
	}
	.archives.slider {
		margin: 0 45px !important;
		width: auto !important;
	}
	.archives.slick-slider .slick-arrow {
		width: 30px;
		height: 30px;
		font-size: 22px;
	}
}
@media screen and (max-width: 575px) {
	.archives.slick-slider .slick-list {
		overflow: hidden;
	}
}

/*============================================================
	アーカイブ 情報
*/
.archive-info {
	padding: 60px 0;
	background-color: #3379b6;
	color: #fff;
}
.archive-info * {
	font-size: inherit;
	line-height: 1.5;
	color: inherit;
}
.archive-info .outer {
	position: relative;
	margin: 0 auto;
	max-width: 1210px;
}
.archive-info.active .slider {
	position: relative;
	margin: 0 0 40px 0;
}
.archive-info .arrow {
	display: none;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 50%;
	width: 50px;
	height: 50px;
	font-size: 36px;
	line-height: 1;
	transform: translateY(-50%);
}
.pc .archive-info .arrow:hover {
	opacity: 0.7;
}
.archive-info.active .arrow {
	display: flex;
}
.archive-info .prev {
	left: -50px;
	padding-right: 3px;
}
.archive-info .next {
	right: -50px;
	padding-left: 3px;
}
.archive-info .dots {
	position: absolute;
	left: 0;
	bottom: -40px;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
}
.archive-info .dots .dot {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 3px;
	height: 6px;
	flex-basis: 86px;
	cursor: pointer;
}
.archive-info.dots-small .dots .dot {
	flex-basis: 43px;
}
.archive-info .dots .dot::before {
	content: '';
	display: block;
	width: 100%;
	height: 3px;
	background-color: #fff;
	opacity: 0.3;
	transition: all 0.3s ease;
}
.archive-info .dots .dot.current::before {
	height: 6px;
	opacity: 1;
}
.archive-info .block {
	outline: 0;
}
.archive-info .block .h {
	line-height: 1.3;
}
.archive-info .block .inner {
	padding: 0 10px;
}
.archive-info .block .layout-primary {
	display: flex;
	justify-content: center;
}
.archive-info .block .layout-primary .thumb {
	flex-basis: 300px;
}
.archive-info .block .layout-primary .detail {
	display: flex;
	flex: 1;
	padding: 0 30px 0 35px;
}
.archive-info .block .layout-primary .detail .info {
	flex: 1;
	margin-top: -0.3em;
	padding: 0 40px 0 0;
	font-size: 16px;
}
.archive-info .block .layout-primary .detail .info p {
	font-size: 14px;
}
.archive-info .block .layout-primary .detail .link {
	align-self: center;
	flex-shrink: 0;
	white-space: nowrap;
}
@media screen and (max-width: 1309px) {
	.archive-info .outer {
		max-width: 890px;
	}
	.archive-info .block .layout-primary .detail {
		display: block;
	}
	.archive-info .block .layout-primary .detail .link {
		margin: 20px 0 0 0;
	}
	.archive-info .block .layout-primary .detail .link a {
		margin: 0;
	}
}
@media screen and (max-width: 991px) {
	.archive-info .outer {
		max-width: 660px;
	}
	.archive-info .block .layout-primary {
		display: block;
	}
	.archive-info .block .layout-primary .detail {
		margin: 20px 0 0 0;
		padding: 0;
	}
	.archive-info .block .layout-primary .detail .info {
		margin-top: 0;
		padding: 0;
	}
	.archive-info .block .layout-primary .detail .link {
		display: flex;
		justify-content: center;
		align-items: center;
	}
}
@media screen and (max-width: 767px) {
	.archive-info {
		padding: 40px 0;
	}
	.archive-info .outer {
		padding: 0 50px;
		max-width: 100%;
	}
	.archive-info .arrow {
		width: 30px;
		height: 30px;
		font-size: 22px;
	}
	.archive-info .prev {
		left: 15px;
		padding-right: 3px;
	}
	.archive-info .next {
		right: 15px;
		padding-left: 3px;
	}
	.archive-info .dots {
		bottom: -40px;
	}
	.archive-info .dots .dot {
		padding: 0 2px;
		height: 4px;
		flex-basis: 30px !important;
	}
	.archive-info .dots .dot::before {
		height: 2px;
	}
	.archive-info .dots .dot.current::before {
		height: 4px;
	}
	.archive-info .block .h {
		margin: 0 0 10px 0;
		line-height: 1.2;
	}
	.archive-info .block .layout-primary .detail .info {
		font-size: 14px;
	}
}

/*============================================================
	アーカイブ 過去のイベント・セミナー
*/
.archive-past .slick-slider .slick-arrow {
	top: 50%;
	margin-top: -25px;
}
.archive-past .block .inner {
	margin: 0 10px 10px 10px;
	background-color: #fff;
	box-shadow: 0 3px 6px rgba(0,0,0,0.16);
}
.archive-past .block .new {
	padding: 20px 0 4px 0;
	font-size: 14px;
	line-height: 20px;
}
.archive-past .block .detail {
	padding: 15px 20px 20px 20px;
	font-size: 14px;
	line-height: 1.5;
}
.archive-past .block .detail * {
	font-size: inherit;
	line-height: inherit;
}
.archive-past .block .detail .title {
	margin: 0 0 5px 0;
	font-size: 18px;
}
.archive-past .block .detail p {
	margin: 0 0 10px 0;
}
.archive-past .block .detail p:first-child,
.archive-past .block .detail p:last-child {
	margin: 0;
}
.archive-past .block .detail .link-wrap {
	margin: 20px 0 0 0;
}
@media screen and (max-width: 767px) {
	.archive-past .slick-slider .slick-arrow {
		margin-top: -15px;
	}
	.archive-past .block .detail .btn-wrap a {
		padding: 9px 15px 10px 15px;
		white-space: normal;
	}
}

/*============================================================
	アーカイブ 特集
*/
.archive-pickup .slick-slider .slick-arrow {
	top: 60px;
}
.archive-pickup .block {
	width: 318px;
}
.archive-pickup .block .inner {
	margin: 0 10px;
}
.archive-pickup .block .new {
	padding: 18px 0 4px 0;
	font-size: 12px;
	line-height: 18px;
}
.archive-pickup .block .image .thumb {
	box-shadow: 0 3px 6px rgba(0,0,0,0.16);
}
.archive-pickup .block .detail {
	margin: 15px 0 0 0;
	font-size: 14px;
}
.archive-pickup .block .date {
	margin: 10px 0 0 0;
	font-size: 12px;
}
.pc .archive-pickup .block a:hover .image {
	transform: scale(1.08);
}
@media screen and (max-width: 991px) {
	.archive-pickup .slick-slider .slick-arrow {
		top: 65px;
	}
}
@media screen and (max-width: 767px) {
	.archive-pickup .slick-slider .slick-arrow {
		top: 50%;
		transform: translateY(-50%);
	}
}
@media screen and (max-width: 575px) {
	.pc .archive-pickup .block a:hover .image {
		transform: scale(1);
	}
}

/*============================================================
	アーカイブ 注目のオンデマンドセッション
*/
.archive-ondemand .slick-slider .slick-arrow {
	top: 60px;
}
.archive-ondemand .block {
	width: 318px;
}
.archive-ondemand .block .inner {
	margin: 0 10px;
}
.archive-ondemand .block .new {
	padding: 18px 0 4px 0;
	font-size: 12px;
	line-height: 18px;
}
.archive-ondemand .block .image .thumb {
	box-shadow: 0 3px 6px rgba(0,0,0,0.16);
}
.archive-ondemand .block .detail {
	padding: 15px 0 0 0;
	font-size: 14px;
}
.pc .archive-ondemand .block a:hover .image {
	transform: scale(1.08);
}
@media screen and (max-width: 767px) {
	.archive-ondemand .slick-slider .slick-arrow {
		top: 50%;
		margin-top: -15px;
	}
}
@media screen and (max-width: 575px) {
	.pc .archive-ondemand .block a:hover .image {
		transform: scale(1);
	}
}

/*============================================================
	アーカイブ 資料
*/
.archive-resource .slick-slider .slick-arrow {
	top: 35px;
}
.archive-resource .block .inner {
	margin: 0 15px;
}
.archive-resource .block .image {
	min-height: 126px;
}
.lazy-loaded .archive-resource .block .image {
	min-height: 10px;
}
.archive-resource .block .image .thumb {
	display: flex;
	justify-content: center;
	align-items: flex-end;
}
.archive-resource .block .image .thumb img {
	position: relative;
	display: block;
	margin: 0 auto;
	border: 1px solid #d7d7d7;
	opacity: 0;
	width: 10px;
}
.archive-resource .block .image .thumb img.img-tall {
	height: 126px;
	width: auto;
	opacity: 1;
}
.archive-resource .block .image .thumb img.img-wide {
	max-width: 168px;
	width: 100%;
	opacity: 1;
}
.archive-resource .block .detail {
	margin: 15px 0 0 0;
	font-size: 14px;
}
.pc .archive-resource .block a:hover .image {
	transform: scale(1.14);
}
@media screen and (max-width: 767px) {
	.archive-resource .slick-slider .slick-arrow {
		top: 50%;
		transform: translateY(-50%);
	}
}
@media screen and (max-width: 575px) {
	.archive-resource .block .image {
		max-width: 100%;
	}
	.archive-resource .block .image .thumb img.img-tall {
		height: 126px;
		height: 180px;
	}
	.archive-resource .block .image .thumb img.img-wide {
		max-width: 168px;
		max-width: 220px;
	}
	.pc .archive-resource .block a:hover .image {
		transform: scale(1);
	}
}

/*============================================================
	アーカイブ ウェビナー
*/
.archive-webinar {
	padding: 70px 0 80px 0;
	background-color: #f4f8fa;
}
.archive-webinar .table {
	margin: 0 auto;
	max-width: 934px;
}
.archive-webinar .table table {
	width: 100%;
	border-bottom: 1px solid #d7d7d7;
}
.archive-webinar .table table td {
	padding: 15px 5px;
	vertical-align: middle;
	border-top: 1px solid #d7d7d7;
}
.archive-webinar .table table .title {
	width: 66%;
}
@media screen and (max-width: 767px) {
	.archive-webinar {
		padding: 40px 0 40px 0;
	}
	.archive-webinar .table table,
	.archive-webinar .table table tbody,
	.archive-webinar .table table tr,
	.archive-webinar .table table td {
		display: block;
		border: 0;
	}
	.archive-webinar .table table tr {
		display: flex;
		flex-wrap: wrap;
		padding: 10px 0;
		border-top: 1px solid #d7d7d7;
	}
	.archive-webinar .table table td {
		padding: 0;
	}
	.archive-webinar .table table td:first-child {
		padding: 0 1em 0 0;
	}
	.archive-webinar .table table .title {
		flex-basis: 100%;
		width: 100%;
	}
}

/*============================================================
	ハンズオンラボ
*/
.home-handsonlabs .container {
	max-width: 770px;
}
.home-handsonlabs h2 {
	margin: 0 0 20px 0;
	text-align: center;
}
.home-handsonlabs .video {
	margin: 50px 0 0 0;
}
.home-handsonlabs .video .player {
	position: relative;
	padding-top: 56.25%;
	height: 0;
}
.home-handsonlabs .video .player .video-js {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}
.home-handsonlabs .video .player iframe,
.home-handsonlabs .video .player video {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	outline: 0;
}
.home-handsonlabs .btn-wrap {
	margin: 50px 0 0 0;
}
@media screen and (max-width: 575px) {
	.home-handsonlabs .video {
		margin: 30px 0 0 0;
	}
	.home-handsonlabs .btn-wrap {
		margin: 30px 0 0 0;
	}
}

/*============================================================
	Twitter
*/
.news-twitter {
	padding: 50px 0 80px 0;
	background: rgb(59,134,202);
	background: linear-gradient(0deg, rgba(59,134,202,1) 0%, rgba(38,70,134,1) 100%);
}
.news-twitter .head {
	margin: 0 0 35px 0;
	text-align: center;
	color: #fff;
}
.news-twitter .head h2 {
	margin: 0 0 15px 0;
	font-size: 30px;
	color: inherit;
}
.news-twitter .head h3 {
	font-size: 16px;
	color: inherit;
}
.news-twitter .head a {
	text-decoration: underline;
	color: inherit;
}
.pc .news-twitter .head a:hover {
	opacity: 0.6;
}
.news-twitter .slick-track {
	display: flex;
}
.news-twitter .slick-slide {
	height: auto !important;
}
.news-twitter .slick-arrow {
	position: absolute;
	z-index: 1;
	top: 50%;
	transform: translateY(-50%);
	font-size: 30px;
	color: #fff !important;
}
.pc .news-twitter .slick-arrow:hover {
	opacity: 0.6;
}
.news-twitter .slick-prev {
	left: -20px;
}
.news-twitter .slick-next {
	right: -20px;
}
.news-twitter .block {
	outline: 0;
}
.news-twitter .block .inner {
	margin: 0 10px;
	height: 100%;
	background-color: #fff;
}
.news-twitter .block.no-image .inner {
	display: flex;
	align-items: center;
}
.news-twitter .block .thumb {
	position: relative;
	padding-top: 49.32%;
	height: 0;
}
.news-twitter .block .thumb img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit : cover;
}
.news-twitter .block .detail {
	padding: 20px;
	font-size: 16px;
	line-height: 1.35;
}
.news-twitter .block .detail .name {
	margin: 0 0 10px 0;
}
.news-twitter .block .detail .date {
	margin: 10px 0 0 0;
}
@media screen and (max-width: 767px) {
	.news-twitter {
		padding: 30px 0 40px 0;
	}
	.news-twitter .container {
		padding: 0 35px;
	}
	.news-twitter .head {
		margin: 0 0 30px 0;
	}
	.news-twitter .head h2 {
		font-size: 21px;
	}
	.news-twitter .head h3 {
		font-size: 14px;
	}
	.news-twitter .block .thumb {
		padding-top: 36%;
	}
	.news-twitter .block .detail {
		padding: 15px;
		font-size: 14px;
	}
}