/*

	Explore 2023
	rev.17
	date 2023.11.06

*/

/*============================================================
	IMPORT CSS
*/
@import url('slick.css');
@import url('module.css');
@import url('print.css');
@import url('fonts.css');
@import url('perfect-scrollbar.css');

/*============================================================
	COMMON
*/
html {
	-ms-overflow-style: auto;
}
body {
	background: #fff;
	font-family: YakuHanJP, Metropolis, 'Hiragino Sans', sans-serif;
	font-weight: 200;
	font-size: 14px;
	line-height: 1.7;
	color: #565656;
}
input, select, textarea {
	margin: 0;
	font-family: YakuHanJP, Metropolis, 'Hiragino Sans', sans-serif;
	font-weight: 200;
	color: #565656;
}
#container {
	overflow: hidden;
	position: relative;
	width: 100%;
}

/*============================================================
	Font Awesome 5
*/
.fal-vm,.far-vm,.fas-vm {
	font-family: "Font Awesome 5 Pro";
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	line-height: 1;
}
.fal-vm {font-weight:300}
.far-vm {font-weight:400}
.fas-vm {font-weight:900}

/*============================================================
	button フォーカス無効化
*/
button:focus {
	outline:0;
	border:1;
}

/*============================================================
	EVIDON オーバレイ用
*/
#_evidon_banner {
	width: 100% !important;
	margin-left: 0 !important;
}
/* IE11 */
_:lang(x)::-ms-backdrop, .evidon-banner-icon {
	right: 30px !important;
}

#ot-sdk-btn {
	bottom: 10px !important;
	right: 10px !important;
}

/*============================================================
	braightocove オーバレイ用
*/
.video-js .vjs-dock-text {
	display: none !important;
}

/*============================================================
	Bootstrap4 リセット
*/
body p, h1, h2, h3, h4, h5, h6, dl, dt, dd, form, input, ul {
	margin: 0;
	padding: 0;
}
h1, h2, h3, h4, h5, h6 {
	font-weight: inherit;
	color: #000;
}
th, dt {
	font-weight: inherit;
	color: #565656;
}
ul {
	list-style-type: none;
}
a, a:focus, a:hover {
	text-decoration: none;
	cursor: pointer;
	outline: 0;
	color: #1d428a;
}
a:hover {
	color: #0091da;
}
a, button {
	-webkit-transition: color 0.3s ease, opacity 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
	        transition: color 0.3s ease, opacity 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
}
label {
	margin: 0;
	min-height: 1px;
	font-weight: 200;
	cursor: pointer;
}
button {
	cursor: pointer;
}
strong {
	font-weight: 200;
}
iframe {
	border: 0;
	outline: 0;
	-webkit-overflow-scrolling: touch;
	        overflow-scrolling: touch;
}
/* クラス */
.h1, .h2, .h3, .h4, .h5, .h6, .table, .checkbox, .radio {
	margin: 0;
}
.h1, .h2, .h3, .h4, .h5, .h6 {
	font-weight: 200;
	color: #000;
}
.img-fluid {
	width: 100%;
}
.container {
	position: relative;
}
.container::after {
	content: '';
	display: block;
	clear: both;
}
.lead {
	font-weight: 200;
}
.btn {
	white-space: normal;
	font-weight: 200;
}
.btn-group-vertical > .btn,
.btn-group > .btn {
	white-space: nowrap;
}
.form-control:disabled,
.form-control[readonly] {
    background-color: #fff;
    opacity: 0.5;
}

/* Alerts */
.alert.alert-null {
	border-color: #d7d7d7;
}
.alert.icon-lg .alert-item {
	display: table;
    align-items: center;
}
.alert.icon-lg .alert-icon-wrapper {
	display: table-cell;
	vertical-align: middle;
	padding: 0 20px 0 0;
	height: auto;
	align-self: center;
	font-size: 44px;
	line-height: 1;
}
.alert.icon-lg.alert-info .alert-icon-wrapper {
	color: #0079b8;
}
.alert.icon-lg.alert-success .alert-icon-wrapper {
	color: #2f8400;
}
.alert.icon-lg .form-alert {
	margin: 0;
}

@media (min-width: 576px) {
	.container {
		max-width: 100%;
	}
}
@media (min-width: 992px) {
	.container {
		max-width: 960px;
	}
}
@media (min-width: 1310px) {
	.container {
		max-width: 1280px;
	}
}
@media screen and (max-width: 767px) {
	.container {
		max-width: 100%;
	}
	/* Alerts */
	.alert {
		padding: 10px 15px;
		font-size: 13px;
		line-height: 1.5;
	}
	.alert.icon-lg {
		padding-top: 10px;
	}
	.alert.icon-lg .alert-item {
		display: block;
	}
	.alert.icon-lg .alert-icon-wrapper {
		display: block;
		margin: 0 auto;
		padding: 10px 0;
		width: 60px;
	}
	.alert.icon-lg .form-alert {
		display: block;
		margin: 0;
		padding: 0;
		width: 100%;
		max-width: 100%;
	}
}

/*============================================================
	HTTP status code 404/403
*/
.http-status {
	position: relative;
	height: 714px;
	background: rgb(0,72,205);
	background: linear-gradient(132deg, rgba(0,72,205,1) 10%, rgba(0,21,89,1) 50%);
	color: #fff;
}
.http-status .kv {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	color: #001559;
	background-repeat: no-repeat;
	background-position: 0% 0%;
	background-size: 1300px auto;
	background-image: url('../img/http-status-bg.png');
}
.http-status .kv span {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: 100% 100%;
	background-size: auto 1086px;
	background-image: url('../img/http-status-kv.png');
}
.http-status .container {
	position: relative;
	z-index: 1;
	padding: 100px 50px 0 50px;
	max-width: 100%;
}
.http-status h1 {
	font-size: 32px;
	color: #fff;
}
.http-status h2 {
	font-size: 32px;
	color: #fff;
}
.http-status .text {
	margin: 15px 0 0 0;
}
.http-status .btn-wrap {
	margin: 30px 0 0 0;
}
@media screen and (min-width: 1310px) {
	.http-status .container {
		max-width: 1350px;
	}
}
@media screen and (max-width: 1309px) {
	.http-status {
		height: 540px;
	}
	.http-status .kv span {
		background-size: auto 680px;
	}
}
@media screen and (max-width: 991px) {
	.http-status .container {
		padding: 50px 50px 20px 50px;
	}
	.http-status .kv span {
		background-size: auto 540px;
	}
}
@media screen and (max-width: 767px) {
	.http-status .kv {
		background-size: 480px auto;
	}
	.http-status .kv span {
		background-size: auto 270px;
	}
	.http-status {
		height: auto;
		padding-bottom: 230px;
	}
	.http-status .container {
		padding: 30px 40px 20px 40px;
	}
	.http-status h1 {
		font-size: 24px;
	}
	.http-status h2 {
		margin: 5px 0 0 0;
		font-size: 18px;
	}
	.http-status .btn-wrap {
		margin: 15px 0 0 0;
	}
}
@media screen and (max-width: 575px) {
	.http-status .container {
		padding: 30px 20px 20px 20px;
	}
}

/*============================================================
	VISIBLE
*/
.visible-pc {
	display: block;
}
.visible-tb {
	display: none;
}
.visible-sp {
	display: none;
}
/* TB */
@media screen and (max-width: 979px) {
	.visible-pc {
		display: none;
	}
	.visible-tb {
		display: block;
	}
	.visible-sp {
		display: none;
	}
}
/* SP */
@media screen and (max-width: 767px) {
	.visible-pc {
		display: none;
	}
	.visible-tb {
		display: none;
	}
	.visible-sp {
		display: block;
	}
}

/*============================================================
	スクロール
*/
.overflow-scroll {
	position: relative;
	overflow-y: auto;
}
.overflow-scroll.ps--active-y {
	padding-right: 1em;
}

/*============================================================
	グレーアウト
*/
.disable {
	color: #ccc !important;
}
.disable a,
.disable .id {
	color: inherit !important;
}
.disable a:hover {
	color: #717074 !important;
}

/*============================================================
	リンク2021版
*/
.mod-link-type01 {
	color: #000;
}
.mod-link-type01:hover {
	color: #0091da;
}
.mod-link-type02 {
	color: #565656;
}
.mod-link-type02:hover {
	color: #0091da;
}

/*============================================================
	コンテンツガイドを見る2021版
*/
.mod-link-guide i {
	padding: 0 0.2em 0 0;
}

/*============================================================
	バッジ
*/
.mod-badge {
	font-weight: 200;
}
.mod-badge-new,
.mod-badge-release,
.mod-badge-onair,
.mod-badge-full,
.mod-badge-only {
	display: flex;
}
.mod-badge-new span,
.mod-badge-release span,
.mod-badge-onair span,
.mod-badge-full span,
.mod-badge-only span {
	display: block;
	padding: 1px 0.4em;
	font-size: 12px;
	line-height: 16px;
	color: #fff;
}
.mod-badge-new span {
	padding: 0 0.2em 2px 0.2em;
	border: 1px solid #7f35b2;
	font-size: 14px;
	color: #7f35b2;
}
.mod-badge-release span {
	border: 1px solid #7f35b2;
	font-size: 14px;
	color: #7f35b2;
}
.mod-badge-onair {
	text-align: center;
}
.mod-badge-onair span {
	border: 1px solid #f00;
	color: #f00;
}
.mod-badge-full {
	text-align: center;
}
.mod-badge-full span {
	background-color: #fff;
	border: 1px solid #9f2842;
	color: #9f2842;
}
.mod-badge-only {
	text-align: center;
}
.mod-badge-only span {
	background-color: #fff;
	border: 1px solid #ec7700;
	color: #ec7700;
}
.disable .mod-badge-new span {
	border-color: #ccc;
	color: #ccc;
}
.disable .mod-badge-release span {
	border-color: #ccc;
	color: #ccc;
}
.disable .mod-badge-onair span {
	background-color: transparent;
	border-color: #ccc;
	color: #ccc;
}
.mod-badge-unregistered {
	display: flex;
}
.mod-badge-unregistered span {
	display: block;
	padding: 1px 0.4em;
	font-size: 14px;
	line-height: 16px;
	color: #fff;
	background-color: #7f35b2;
	border: 1px solid #7f35b2;
	border-radius: 99px;
}
.disable .mod-badge-unregistered span {
	border-color: #ccc;
	background-color: #ccc;
}

/*============================================================
	点滅アニメーション
*/
@keyframes blink { 0% {opacity:0;} 100% {opacity:1;} }
.blink { animation: blink 1s ease-in infinite alternate; }

/*============================================================
	アイコン
*/
.icon-inline {
	position: relative;
	top: 0.1em;
	padding-right: 0.3em;
	font-size: 130%;
}
.icon-point {
	flex-shrink: 0;
	display: block;
	width: 20px;
	height: 20px;
	background-color: #99cae3;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-image: url('../img/icon-point.svg');
	background-size: contain;
	border-radius: 50%;
}
.disable .icon-point {
	background-color: rgba(204,204,204,0.4);
	background-image: url('../img/icon-point-disable.svg');
}
.icon-qa,
.icon-qa-white {
	position: relative;
	top: 1px;
	display: block;
	margin-right: 5px;
	width: 16px;
	height: 16px;
	background-color: #99d3f0;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-image: url('../img/icon-qa.svg');
	background-size: contain;
	border-radius: 50%;
}
.icon-qa-white {
	background-color: rgba(255,255,255,0.4);
	background-image: url('../img/icon-qa-white.svg');
}

/*============================================================
	ポイント
*/
.mod-point {
	display: flex;
	color: #007ab8;
}
.mod-point span {
	display: block;
	padding-left: 3px;
	font-size: 14px;
	line-height: 1.4;
}
.mod-point .icon-point {
	margin-top: 0.14em;
}
.mod-point .icon-point {
	width: 16px;
	height: 16px;
}
.disable .mod-point {
	color: #ccc;
}

/*============================================================
	リンク用矢印
*/
i.arrow-link {
	padding-left: 0.24em;
}

/*============================================================
	Slick
*/
.slick-slide {
	outline: 0;
}
.slick-arrow {
	position: absolute;
	z-index: 10;
	top: 50%;
	margin: -25px 0 0 0;
	width: 50px;
	height: 50px;
	font-size: 36px;
	line-height: 1;
	color: #1d428a !important;
}
.slick-arrow span {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
}
.slick-arrow:hover {
	color: #0091da !important;
}
@media screen and (max-width: 575px) {
	.slick-arrow {
		margin: -20px 0 0 0;
		width: 40px;
		height: 40px;
		font-size: 30px;
	}
}

/*============================================================
	コンテナサイズ
*/
.wide-col-10,
.wide-col-9,
.wide-col-8,
.wide-col-7,
.wide-col-6,
.wide-col-5,
.wide-col-4,
.wide-col-3,
.wide-col-2 {
	margin-left: auto;
	margin-right: auto;
}
.wide-col-10 {
	width: 970px;
}
.wide-col-9 {
	width: 870px;
}
.wide-col-8 {
	width: 770px;
}
.wide-col-7 {
	width: 670px;
}
.wide-col-6 {
	width: 570px;
}
.wide-col-5 {
	width: 470px;
}
.wide-col-4 {
	width: 370px;
}
.wide-col-3 {
	width: 270px;
}
.wide-col-2 {
	width: 170px;
}

@media screen and (max-width: 1309px) {
	.wide-col-10 {
		width: auto;
	}
}
@media screen and (max-width: 991px) {
	.wide-col-9,
	.wide-col-8 {
		width: auto;
	}
}
@media screen and (max-width: 767px) {
	.wide-col-7,
	.wide-col-6 {
		width: auto;
	}
}
@media screen and (max-width: 575px) {
	.wide-col-5,
	.wide-col-4 {
		width: auto;
	}
}

/*============================================================
	サイズチェック用
*/
.size-check { overflow: hidden; height: 0; }
#sizeLg { display: block; }
#sizeMd { display: none; }
#sizeSm { display: none; }
#sizeXs { display: none; }
@media screen and (max-width: 1309px) {
	#sizeLg { display: none; }
	#sizeMd { display: block; }
	#sizeSm { display: none; }
	#sizeXs { display: none; }
}
@media screen and (max-width: 991px) {
	#sizeLg { display: none; }
	#sizeMd { display: none; }
	#sizeSm { display: block; }
	#sizeXs { display: none; }
}
@media screen and (max-width: 767px) {
	#sizeLg { display: none; }
	#sizeMd { display: none; }
	#sizeSm { display: none; }
	#sizeXs { display: block; }
}

/*============================================================
	[汎用] カラーバー
*/
.color-bar {
	position: relative;
	height: 6px;
	background-color: #007ab8;
}

/*============================================================
	[ヘッダー] 共通
*/
#header {
	display: block;
	position: fixed;
	z-index: 1000;
	top: 0;
	left: 0;
	width: 100%;
	transition: transform 0.3s ease;
}
.hide-header #header {
	transform: translateY(-100%);
}
#header::after {
	content: '';
	display: block;
	position: absolute;
	z-index: 2000;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: none;
}
.header-loaded #header::after {
	display: none;
}
#header .container {
	max-width: 100%;
}
@media (min-width: 1280px) {
    #header .container {
		max-width: 1280px;
	}
}
#header .wrapper {
	position: relative;
	z-index: 1001;
	background-color: #fff;
}
#header .wrapper .container,
#header .wrapper .container-full {
	height: 134px;
}
#header .top-header {
	position: relative;
	height: 70px;
}
#header .top-header .head {
	display: flex;
	position: absolute;
	top: 34px;
	left: 0;
}
#header .top-header .head .logo {
	line-height: 0;
}
#header .top-header .head .logo a {
	display: flex;
}
#header .top-header .head .logo span {
	display: block;
	margin: 0 10px 0 0;
}
#header .top-header .head dl {
	margin: 0 0 0 10px;
	font-size: 13px;
	line-height: 1.1;
	color: #626262;
}
/* ナビゲーション */
#header .top-header .nav {
	position: absolute;
	top: 30px;
	right: 0;
}
#header .top-header .nav nav {
	display: flex;
	align-items: center;
	color: #1d428a;
}
#header .top-header .nav nav .point a {
	display: flex;
	align-items: center;
	/*color: #76be21;*/
	color: #007ab8;
}
#header .top-header .nav nav .point a:hover {
	/*color: #70ca06;*/
	color: #3cb0eb;
}
#header .top-header .nav nav .point i {
	position: relative;
	top: 1px;
	margin: 0 0.3em 0 0;
}
#header .top-header .nav nav ul {
	position: relative;
	float: right;
	margin: 0 -10px 0 0;
}
#header .top-header .nav nav ul li {
	position: relative;
	float: left;
	padding: 0 10px;
	white-space: nowrap;
	font-weight: 200;
	font-size: 14px;
	line-height: 1.5;
}
#header .top-header .nav nav ul li::after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	right: 0;
	margin-top: -6px;
	width: 1px;
	height: 12px;
	background-color: #1d428a;
}
#header .top-header .nav nav ul li:last-child::after {
	display: none;
}
#header .top-header .nav nav ul li a {
	display: block;
	position: relative;
	text-decoration: none;
	color: #1d428a;
}
#header .top-header .nav nav ul li a i {
	padding-left: 5px;
}
#header .top-header .nav nav a:hover {
	color: #007ab8;
}
@media screen and (max-width: 1125px) {
	#header .top-header .head dl {
		font-size: 12px;
		line-height: 1.2;
	}
}
@media screen and (max-width: 1024px) {
	#header .top-header .nav {
		top: 25px;
	}
	#header .top-header .nav nav {
		flex-direction: column;
		align-items: flex-end;
	}
}
@media screen and (max-width: 991px) {
	#header .wrapper .container,
	#header .wrapper .container-full {
		padding: 0;
		height: 100px;
	}
	#header .top-header .head {
		display: block;
		position: static;
		padding: 15px 0 0 0;
		text-align: center;
	}
	#header .top-header .head .logo {
		display: flex;
		justify-content: center;
	}
	#header .top-header .head .logo span:last-child {
		margin: 0;
	}
	#header .top-header .head dl {
		margin: 14px 0 0 0;
		font-size: 13px;
	}
	#header .top-header .nav {
		display: none;
	}
}
@media screen and (max-width: 767px) {
	#header .wrapper .container,
	#header .wrapper .container-full {
		padding: 0;
		height: 84px;
	}
	#header .top-header .head {
		padding: 12px 0 0 0;
	}
	#header .top-header .head .logo {
		transform: scale(0.74);
	}
	#header .top-header .head dl {
		margin: 6px 0 0 0;
		font-size: 12px;
	}
}
@media screen and (max-width: 370px) {
	#header .top-header .head .logo {
		transform: scale(0.62);
	}
	#header .top-header .head dl {
		font-size: 10px;
	}
}

/*============================================================
	[ヘッダー] コンテンツナビ
*/
#header .content-nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#header .content-nav nav {
	display: flex;
	position: relative;
	margin: 0 0 0 -10px;
	height: 64px;
}
#header .content-nav nav .list {
	display: flex;
}
#header .content-nav nav .list li {
	white-space: nowrap;
	padding: 0 20px 0 0;
	font-size: 14px;
}
#header .content-nav nav .list li:last-child {
	padding: 0;
}
#header .content-nav nav .list li a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	padding: 0 10px;
	height: 64px;
	line-height: 1.3;
	text-align: center;
	color: #000;
}
#header .content-nav nav .list li a.default {
	color: #000 !important;
}
#header .content-nav nav .list li a::after {
	content: '';
	position: absolute;
	bottom: -10px;
	left: 50%;
	margin-left: -9px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 9px 8px 9px;
	border-color: transparent transparent #fff transparent;
	-webkit-transition: bottom 0.3s ease;
	        transition: bottom 0.3s ease;
}
#header .content-nav nav .list li a.default::after {
	bottom: -10px !important;
}
#header .content-nav nav .list li a:hover {
	text-decoration: none;
	color: #0091da;
}
#header .content-nav nav .list li a:hover::after {
	bottom: 0;
}

/* 矢印カラー */
#header .content-nav nav .list li a::after {
	border-bottom-color: #007ab8;
}
/* カレント */
.page-home #header .content-nav nav ul li.nav-home a,
.page-about #header .content-nav nav ul li.nav-about a,
.page-program #header .content-nav nav ul li.nav-program a,
.page-catalog #header .content-nav nav ul li.nav-program a,
.page-timetable #header .content-nav nav ul li.nav-timetable a,
.page-showcase #header .content-nav nav ul li.nav-showcase a,
.page-handsonlabs #header .content-nav nav ul li.nav-handsonlabs a,
.page-sponsor #header .content-nav nav ul li.nav-sponsor a,
.page-mypage #header .content-nav nav ul li.nav-mypage a {
	color: #007ab8;
}
.page-home #header .content-nav nav ul li.nav-home a::after,
.page-about #header .content-nav nav ul li.nav-about a::after,
.page-program #header .content-nav nav ul li.nav-program a::after,
.page-catalog #header .content-nav nav ul li.nav-program a::after,
.page-timetable #header .content-nav nav ul li.nav-timetable a::after,
.page-showcase #header .content-nav nav ul li.nav-showcase a::after,
.page-handsonlabs #header .content-nav nav ul li.nav-handsonlabs a::after,
.page-sponsor #header .content-nav nav ul li.nav-sponsor a::after,
.page-mypage #header .content-nav nav ul li.nav-mypage a::after {
	bottom: 0;
}
/* 展開 */
.content-nav-opened #header .content-nav nav ul li a::after {
	bottom: -10px !important;
}
#header .content-nav nav ul li a.current::after {
	bottom: 0 !important;
}
.content-nav-opened.page-home #header .content-nav nav ul li.nav-home a,
.content-nav-opened.page-about #header .content-nav nav ul li.nav-about a,
.content-nav-opened.page-program #header .content-nav nav ul li.nav-program a,
.content-nav-opened.page-catalog #header .content-nav nav ul li.nav-program a,
.content-nav-opened.page-timetable #header .content-nav nav ul li.nav-timetable a,
.content-nav-opened.page-showcase #header .content-nav nav ul li.nav-showcase a,
.content-nav-opened.page-handsonlabs #header .content-nav nav ul li.nav-handsonlabs a,
.content-nav-opened.page-sponsor #header .content-nav nav ul li.nav-sponsor a,
.content-nav-opened.page-mypage #header .content-nav nav ul li.nav-mypage a {
	color: #000;
}
@media screen and (max-width: 1125px) {
	#header .content-nav nav .list li {
		padding: 0 10px 0 0;
	}
}
@media screen and (max-width: 991px) {
	#header .content-nav {
		display: none;
	}
}

/*============================================================
	[ヘッダー] コンテンツナビ下層
*/
#header .subnav {
	display: none;
	overflow: hidden;
	height: 0;
	background-color: #fff;
	box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.32);
	font-size: 16px;
}
#header .subnav .container {
	height: auto;
}
.content-nav-opened #header .subnav {
	display: block;
}
#header .subnav nav {
	display: none;
	padding: 30px 0 50px 0;
	line-height: 1.3;
}
#header .subnav nav.opened {
	display: block;
}
#header .subnav nav a i {
	display: none;
}
#header .subnav nav .h {
	font-size: 20px;
	line-height: 1.3;
}
#header .subnav nav .title {
	font-size: 16px;
	line-height: 1.5;
	color: #000;
}
#header .subnav nav .nav-back {
	display: none;
}
#header .subnav .subnav-program .wrap {
	display: flex;
	margin: 0 -10px;
}
#header .subnav .subnav-program .block {
	flex-basis: 33.333%;
	padding: 0 10px;
}
#header .subnav .subnav-program .title {
	margin: 20px 0 0 0;
}
#header .subnav .subnav-program .nav {
	display: block;
}
#header .subnav .subnav-program .nav li {
	margin: 8px 0 0 0;
}
#header .subnav .nav-normal li {
	flex-basis: 33.333%;
	margin: 20px 0 0 0;
}

@media screen and (max-width: 991px) {
	#header .subnav {
		display: none;
	}
}

/*============================================================
	[ヘッダー] コンテンツナビ（SP）
*/
/**/
#header .sp-top-nav-opener {
	display: none;
	position: absolute;
	z-index: 1002;
	top: 0;
	right: 0;
	width: 40px;
	height: 50px;
	cursor: pointer;
}
#header .sp-top-nav-opener:before,
#header .sp-top-nav-opener:after {
	content: '';
}
#header .sp-top-nav-opener:before,
#header .sp-top-nav-opener:after,
#header .sp-top-nav-opener i {
	display: block;
	position: absolute;
	top: 13px;
	right: 17px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background-color: #1d428a;
}
#header .sp-top-nav-opener:before {
	margin-top: 10px;
}
#header .sp-top-nav-opener:after {
	margin-top: 20px;
}
/**/
#header .sp-content-nav-opener {
	display: none;
	position: absolute;
	z-index: 1002;
	top: 0;
	left: 0;
	width: 54px;
	height: 50px;
	cursor: pointer;
}
#header .sp-content-nav-opener:before,
#header .sp-content-nav-opener:after {
	content: '';
}
#header .sp-content-nav-opener:before,
#header .sp-content-nav-opener:after,
#header .sp-content-nav-opener i {
	display: block;
	position: absolute;
	top: 16px;
	left: 50%;
	margin-left: -12px;
	width: 24px;
	height: 2px;
	background-color: #1d428a;
}
#header .sp-content-nav-opener:before {
	margin-top: 9px;
}
#header .sp-content-nav-opener:after {
	margin-top: 18px;
}
/**/
#header .sp-nav-close {
	display: none;
	position: absolute;
	z-index: 1002;
	top: 0;
	width: 54px;
	height: 50px;
	cursor: pointer;
}
#header .sp-top-nav-close {
	right: 0;
}
#header .sp-content-nav-close {
	left: 0;
}
#header .sp-nav-close:before,
#header .sp-nav-close:after {
	content: '';
}
#header .sp-nav-close:before,
#header .sp-nav-close:after {
	display: block;
	position: absolute;
	top: 25px;
	left: 50%;
	margin-left: -15px;
	width: 30px;
	height: 2px;
	background-color: #1d428a;
}
#header .sp-nav-close:before {
	transform: rotate(45deg);
}
#header .sp-nav-close:after {
	transform: rotate(-45deg);
}
/**/
#header .sp-top-nav,
#header .sp-content-nav,
#header .sp-subnav {
	display: none;
	position: fixed;
	overflow: hidden;
	top: 0;
	left: 0;
	padding-top: 106px;
	width: 100%;
	height: 0;
	background-color: #fff;
}
#header .sp-top-nav .scroll,
#header .sp-content-nav .scroll,
#header .sp-subnav .scroll {
	position: relative;
	height: 100%;
}
/**/
#header .sp-top-nav .nav {
	display: block;
	font-size: 18px;
}
#header .sp-top-nav .nav .point {
	border-bottom: 1px solid #d7d7d7;
}
#header .sp-top-nav .nav .point a {
	display: flex;
	align-items: center;
	padding: 10px 15px;
	/*color: #76be21;*/
	color: #007ab8;
}
#header .sp-top-nav .nav .point i {
	margin-right: 0.3em;
}
#header .sp-top-nav .nav ul li {
	border-bottom: 1px solid #d7d7d7;
}
#header .sp-top-nav .nav ul li a {
	display: block;
	position: relative;
	padding: 10px 15px;
}
#header .sp-top-nav .nav-register {
	padding: 15px;
}
#header .sp-top-nav .nav-register a {
	display: block;
	text-align: center;
	font-size: 18px;
}
/**/
#header .sp-content-nav {
	font-size: 16px;
}
#header .sp-content-nav .list li {
	border-bottom: 1px solid #d7d7d7;
}
#header .sp-content-nav .list li .subnav-opener::after {
	font-family: "Font Awesome 5 Pro";
	font-weight: 900;
	content: "\f054";
	display: block;
	position: absolute;
	top: 50%;
	right: 15px;
	font-size: 106%;
	transform: translateY(-50%);
}
#header .sp-content-nav .list li a {
	display: block;
	position: relative;
	padding: 10px 15px;
	color: #000;
}
/**/
#header .sp-subnav {
	font-size: 16px;
}
#header .sp-subnav nav {
	display: none;
}
#header .sp-subnav a {
	display: block;
}
#header .sp-subnav .container {
	max-width: 100%;
	padding: 0;
}
#header .sp-subnav .nav {
	display: block;
}
#header .sp-subnav .nav-back {
	display: block;
	position: relative;
	padding: 10px 15px 10px 30px;
	border-bottom: 1px solid #d7d7d7;
}
#header .sp-subnav .nav-back::before {
	font-family: "Font Awesome 5 Pro";
	font-weight: 900;
	content: "\f053";
	position: absolute;
	top: 50%;
	left: 15px;
	font-size: 106%;
	transform: translateY(-50%);
	color: #1d428a;
}
#header .sp-subnav .h {
	border-bottom: 1px solid #d7d7d7;
	font-size: inherit;
	line-height: inherit;
}
#header .sp-subnav .h a {
	position: relative;
	padding: 10px 15px;
}
#header .sp-subnav .nav li {
	border-bottom: 1px solid #d7d7d7;
}
#header .sp-subnav .nav li a {
	padding: 10px 15px;
}
#header .sp-subnav .subnav-program .h {
	display: none;
}
#header .sp-subnav .subnav-program .title {
	padding: 10px 15px 5px 15px;
	font-size: inherit;
	line-height: inherit;
}
#header .sp-subnav .subnav-program .nav {
	padding-bottom: 8px;
	border-bottom: 1px solid #d7d7d7;
	font-size: 14px;
}
#header .sp-subnav .subnav-program .nav li {
	border-bottom: 0;
}
#header .sp-subnav .subnav-program .nav li a {
	padding: 2px 15px;
}
#header .sp-subnav .subnav-program .block:last-child .nav:last-child {
	border-bottom: 0;
	padding-bottom: 40px;
}

@media screen and (max-width: 991px) {
	#header .sp-top-nav-opener,
	#header .sp-content-nav-opener,
	#header .sp-top-nav,
	#header .sp-content-nav,
	#header .sp-subnav {
		display: block;
	}
	.sp-top-nav-opened #header .sp-top-nav-close {
		display: block;
	}
	.sp-top-nav-opened #header .sp-top-nav-opener {
		display: none;
	}
	.sp-top-nav-opened #header .sp-top-nav {
		height: 100%;
	}
	.sp-content-nav-opened #header .sp-content-nav-close {
		display: block;
	}
	.sp-content-nav-opened #header .sp-content-nav-opener {
		display: none;
	}
	.sp-content-nav-opened #header .sp-content-nav {
		height: 100%;
	}
	.sp-subnav-opened #header .sp-subnav {
		height: 100%;
	}
}
@media screen and (max-width: 767px) {
	#header .sp-top-nav,
	#header .sp-content-nav,
	#header .sp-subnav {
		padding-top: 90px;
	}
	#header .sp-top-nav .nav {
		font-size: 16px;
	}
	#header .sp-top-nav .nav-register a {
		font-size: 16px;
	}
	#header .sp-content-nav {
		font-size: 14px;
	}
	#header .sp-subnav {
		font-size: 14px;
	}
}

/*============================================================
	[フッター] 共通
*/
.footer .fa {
	display: inline-block;
	font: normal normal normal 14px/1 FontAwesomeVMware;
	font-size: inherit;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.footer .fa-facebook:before {content:"\f09a"}
.footer .fa-twitter:before {content:"\f099"}
.footer .fa-instagram:before {content: "\f1b0"}
.footer .fa-linkedin:before {content:"\f0e1"}
.footer .fa-youtube:before {content:"\f167"}
.footer {
	position: relative;
	padding-top: 18px;
	font-size: 16px;
	line-height: 1.5;
	color: #565656;
}
.footer::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 6px;
	background-color: #007ab8;
}
.footer .container {
	max-width: 100%;
}
@media (min-width: 1280px) {
    .footer .container {
		max-width: 1280px;
	}
}
.footer .logo {
	flex-basis: 16.666667%;
	margin: 1rem 15px 0 15px;
}
.footer .logo a {
	display: block;
	width: 146px;
}
.footer .logo img {
	width: 100%;
}
.footer .nav {
	display: flex;
	flex: 1;
	margin: 1rem 0 0 0;
	font-size: 20px;
}
.footer .nav ul {
	flex-basis: 33.333333%;
}
.footer .nav ul li {
	margin-bottom: 40px;
}
.footer .nav .nav-social {
	padding: 0 15px;
	font-size: 14px;
}
.footer .nav .nav-social li {
	display: flex;
	margin-bottom: 20px;
}
.footer .nav .nav-social a {
	display: flex;
	align-items: center;
}
.footer .nav .nav-social i {
	display: flex;
	justify-content: center;
	padding: 0 1.5rem 0 0;
	width: 25px;
	font-size: 25px;
}
.footer .nav .nav-social span {
	display: block;
	color: #000;
	transition: color 0.3s ease;
}
.footer .nav .nav-social a:hover,
.footer .nav .nav-social a:hover span {
	color: #0091da;
}
.footer .footer-links-wrapper {
	margin: 50px 0 0 0;
	padding: 0 50px;
}
.footer .br-black {
	border-color: #000;
}
.footer .footer-links {
	display: flex;
	padding: 0 0 0 40px;
	font-size: 16px;
	color: #000;
}
.footer .footer-links div {
	margin: 0 100px 0 0;
}
.footer .footer-links div:last-child {
	margin: 0;
}
.footer .footer-links a {
	color: #000;
}
.footer .footer-links a:hover {
	color: #007ab8;
}
.footer.broadcom .footer-links {
	justify-content: center;
	flex-wrap: wrap;
	padding: 0 40px;
	text-align: center;
	font-size: 16px;
	color: #000;
}
.footer.broadcom .footer-links > div {
	margin: 0 50px;
}
.footer.broadcom .footer-links > span {
	display: block;
	margin: 0 50px;
}
.footer.broadcom .footer-links > div:first-child {
	flex-basis: 100%;
	margin: 0 0 20px 0;
}
@media screen and (max-width: 1024px) {
	.footer .footer-links-wrapper {
		padding: 0;
	}
	.footer .footer-links {
		padding: 0;
	}
	.footer .footer-links div {
		margin: 0 1rem 0 0;
	}
	.footer.broadcom .footer-links > div {
		margin: 0 1rem;
	}
	.footer.broadcom .footer-links > span {
		margin: 0 1rem;
	}
}
@media screen and (max-width: 991px) {
	.footer .row {
		display: block;
		text-align: center;
	}
	.footer .logo {
		display: flex;
		justify-content: center;
		margin: 1rem 0 40px 0;
		width: 100%;
	}
	.footer .nav {
		display: block;
		margin: 1rem 0 0 0;
	}
	.footer .nav .nav-social {
		padding: 1rem 0 0 0;
	}
	.footer .nav .nav-social li {
		justify-content: center;
	}
	.footer .footer-links {
		display: block;
		text-align: center;
	}
	.footer .footer-links div {
		margin: 0 0 1rem 0;
	}
	.footer.broadcom .footer-links > div {
		margin: 0 0 1rem 0;
	}
	.footer.broadcom .footer-links > span {
		margin: 0;
	}
}

/*============================================================
	[フッター] 共通
*/
.footer-vmw {
	margin: 30px 0 0 0;
	padding-left: 90px;
	padding-right: 90px;
	padding-bottom: 100px;
	color: #717074;
}
.footer-vmw a {
	text-decoration: none;
	color: #717074;
}
.footer-vmw a:hover {
	color: #007ab8;
}
.footer-vmw ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.footer-vmw .contact dl {
	font-size: 16px;
}
.footer-vmw .contact dl dt,
.footer-vmw .contact dl dd {
	display: inline;
	font-weight: 200;
	color: #717074;
}
.footer-vmw .contact dl dd {
	padding: 0 0 0 1em;
}
.footer-vmw .notes {
	margin-top: 15px;
}
.footer-vmw .notes li {
	line-height: 1.5;
}
@media screen and (max-width: 1024px) {
	.footer-vmw {
		padding-left: 0;
		padding-right: 0;
	}
}
@media screen and (max-width: 991px) {
	.footer-vmw {
		margin: 30px 0 0 0;
	}
	.footer-vmw .contact {
		text-align: center;
	}
}
@media screen and (max-width: 767px) {
	.footer-vmw .contact dl {
		font-size: 15px;
	}
	.footer-vmw .contact dl dt,
	.footer-vmw .contact dl dd {
		display: block;
	}
	.footer-vmw .contact dl dd {
		padding: 0;
	}
}
@media screen and (max-width: 575px) {
	.footer-vmw .notes li {
		font-size: 12px;
	}
}

/*============================================================
	[汎用] ページの先頭へ
*/
.pagetop {
	display: none;
	position: fixed;
	z-index: 20;
	bottom: 65px; right: 10px;
}
.pagetop a {
	display: block;
	width: 60px; height: 60px;
	background-color: rgba(0,0,0,0.5);
	text-decoration: none !important;
	text-align: center;
	color: #fff !important;
	-webkit-transition: all 0.3s ease;
	        transition: all 0.3s ease;
}
.pagetop a:hover {
	opacity: 0.7;
}
.pagetop i {
	display: block;
	padding-top: 5px;
	font-size: 30px;
	line-height: 1;
}
.pagetop span {
	display: block;
	padding-top: 5px;
	font-size: 12px;
	line-height: 1;
}
@media screen and (max-width: 767px) {
	.pagetop {
		right: 10px;
	}
	.pagetop a {
		width: 50px; height: 50px;
	}
	.pagetop i {
		padding-top: 5px;
		font-size: 24px;
	}
	.pagetop span {
		padding-top: 2px;
		font-size: 12px;
	}
}

/*============================================================
	[汎用] コンテンツ枠
*/
section {
	padding-top: 140px;
	background: #fff;
}
.content {
	padding: 50px 0 80px 0;
}
.page-program-detail .content,
.page-showcase-index .content {
	padding-top: 0;
}
@media screen and (max-width: 991px) {
	section {
		padding-top: 106px;
	}
	.content {
		padding: 40px 0;
	}
}
@media screen and (max-width: 767px) {
	section {
		padding-top: 90px;
	}
	.content {
		padding: 20px 0 40px 0;
	}
}

/*============================================================
	[汎用] ソーシャル
*/
.layout-social {
	padding: 40px 0 60px 0;
}
/* ボタン */
.social-btn-content {
	margin: 30px 0 0 0;
}
.social-btn-content ul {
	display: table;
}
.social-btn-content ul li {
	display: table-cell;
	vertical-align: top;
	padding: 0 5px;
	line-height: 1;
}
.social-btn ul:after {
	content: '';
	display: block;
	clear: both;
}
.social-btn ul li {
	float: left;
	padding-right: 10px;
	height: 30px;
	line-height: 1;
}
/* インスタグラム */
.social-btn .instagram {
	color: #FFF;
	border-radius: 2px;
	position: relative;
	display: inline-block;
	height: 20px; width: 80px;
	text-align: left;
	font-size: 11px;
	line-height: 16px;
	vertical-align: middle;
	background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
	background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
	overflow: hidden;
	text-decoration:none;
}
.social-btn .instagram:before {
	content: '';
	position: absolute;
	top: 0; left: 0;
	width: 100%;
	height: 100%;
	background: -webkit-linear-gradient(15deg, #ffdb2c, rgb(249, 118, 76) 25%, rgba(255, 77, 64, 0) 50%) no-repeat;
	background: linear-gradient(15deg, #ffdb2c, rgb(249, 118, 76) 25%, rgba(255, 77, 64, 0) 50%) no-repeat;
}
.social-btn .instagram .fa-instagram {
	font-size: 16px;
	line-height: 1;
	position: relative;
	top: 2px;
	padding-left: 4px;
}
.social-btn .instagram span {
	display:inline-block;
	position: relative;
	padding-left: 4px;
	transition: .5s
}
.social-btn .instagram:hover span {
	-webkit-transform: rotateX(360deg);
	-ms-transform: rotateX(360deg);
	transform: rotateX(360deg);
}

@media screen and (max-width: 767px) {
	.social-btn-content {
		margin: 15px 0 0 0;
	}
	.layout-social {
		padding: 30px 0;
	}
}

/*============================================================
	[汎用] ソーシャル
*/
@media screen and (max-width: 1309px) {
	.layout-social-info .h {
		margin: 0;
	}
	.layout-social-info ul {
		display: table;
		margin: 0 auto;
		margin-top: 20px;
	}
}
@media screen and (max-width: 991px) {
	.layout-social-info ul li {
		padding: 0 10px;
	}
}

/*============================================================
	[汎用] ソーシャルウィジェット
*/
.social-widget {
	margin: 30px 0 0 0;
}
.social-widget:after {
	content: '';
	display: block;
	clear: both;
}
.social-widget .facebook {
	float: left;
	width: 500px; height: 300px;
}
.social-widget .twitter {
	float: right;
	width: 620px; height: 300px;
}
@media screen and (max-width: 1309px) {
	.social-widget {
		margin-left: -20px;
		margin-right: -20px;
	}
	.social-widget .facebook,
	.social-widget .twitter {
		padding: 0 20px;
	}
	.social-widget .facebook {
		width: 50%;
	}
	.social-widget .twitter {
		width: 50%;
	}
}
@media screen and (max-width: 767px) {
	.social-widget {
		margin: 30px -10px 0 -10px;
	}
	.social-widget .facebook,
	.social-widget .twitter {
		padding: 0 10px;
	}
}
@media screen and (max-width: 575px) {
	.social-widget {
		margin: 30px 0 0 0;
	}
	.social-widget .facebook,
	.social-widget .twitter {
		float: none;
		padding: 0;
		width: 100%;
	}
	.social-widget .twitter {
		margin: 30px 0 0 0;
	}
}

/*============================================================
	[汎用] レイアウト
*/
.layout-block {
	margin-bottom: 80px;
}
.layout-block:last-child {
	margin-bottom: 0;
}
@media screen and (max-width: 575px) {
	.layout-block {
		margin-bottom: 40px;
	}
}

/*============================================================
	[汎用] カラムレイアウト
*/
.layout-col-2,
.layout-col-3,
.layout-col-4 {
	margin-left: -15px;
	margin-right: -15px;
}
.layout-col-2:after,
.layout-col-3:after,
.layout-col-4:after {
	content: '';
	display: block;
	clear: both;
}
.layout-col-2 .col,
.layout-col-3 .col,
.layout-col-4 .col,
ul.layout-col-2 li,
ul.layout-col-3 li,
ul.layout-col-4 li {
	float: left;
	padding-left: 15px;
	padding-right: 15px;
}
.layout-col-2 .col, ul.layout-col-2 li {
	width: 50%;
}
.layout-col-3 .col, ul.layout-col-3 li {
	width: 33.333%;
}
.layout-col-4 .col, ul.layout-col-4 li {
	width: 25%;
}
@media screen and (max-width: 1309px) {
	.layout-col-3 .col,
	ul.layout-col-3 li {
		width: 50%;
	}
	.layout-col-4 .col,
	ul.layout-col-4 li {
		width: 33.333%;
	}
	.layout-col-2.break-md,
	.layout-col-3.break-md,
	.layout-col-4.break-md {
		margin-left: 0;
		margin-right: 0;
	}
	.layout-col-2.break-md .col,
	.layout-col-3.break-md .col,
	.layout-col-4.break-md .col,
	ul.layout-col-2.break-md li,
	ul.layout-col-3.break-md li,
	ul.layout-col-4.break-md li {
		float: none;
		padding-left: 0;
		padding-right: 0;
		width: 100%;
	}
}
@media screen and (max-width: 991px) {
	.layout-col-4 .col,
	ul.layout-col-4 li {
		width: 50%;
	}
	.layout-col-2.break-sm,
	.layout-col-3.break-sm,
	.layout-col-4.break-sm {
		margin-left: 0;
		margin-right: 0;
	}
	.layout-col-2.break-sm .col,
	.layout-col-3.break-sm .col,
	.layout-col-4.break-sm .col,
	ul.layout-col-2.break-sm li,
	ul.layout-col-3.break-sm li,
	ul.layout-col-4.break-sm li {
		float: none;
		padding-left: 0;
		padding-right: 0;
		width: 100%;
	}
}
@media screen and (max-width: 767px) {
	.layout-col-2.break-xs,
	.layout-col-3.break-xs,
	.layout-col-4.break-xs {
		margin-left: 0;
		margin-right: 0;
	}
	.layout-col-2.break-xs .col,
	.layout-col-3.break-xs .col,
	.layout-col-4.break-xs .col,
	ul.layout-col-2.break-xs li,
	ul.layout-col-3.break-xs li,
	ul.layout-col-4.break-xs li {
		float: none;
		padding-left: 0;
		padding-right: 0;
		width: 100%;
	}
}
@media screen and (max-width: 575px) {
	.layout-col-2.break-xxs,
	.layout-col-3.break-xxs,
	.layout-col-4.break-xxs {
		margin-left: 0;
		margin-right: 0;
	}
	.layout-col-2.break-xxs .col,
	.layout-col-3.break-xxs .col,
	.layout-col-4.break-xxs .col,
	ul.layout-col-2.break-xxs li,
	ul.layout-col-3.break-xxs li,
	ul.layout-col-4.break-xxs li {
		float: none;
		padding-left: 0;
		padding-right: 0;
		width: 100%;
	}
}

/*============================================================
	[汎用] スクロールフレーム
*/
.frame-scroll {
	overflow-y: auto;
	padding-right: 10px;
	-webkit-overflow-scrolling: touch;
	        overflow-scrolling: touch;
}

/*============================================================
	[汎用] 見出し
*/
.layout-headline {
	margin: 0 0 40px 0;
	line-height: 1.3;
}
.layout-headline p:first-child {
	margin: 0 0 15px 0;
}
.layout-headline .h {
	font-size: 28px;
}
.layout-headline .h span {
	display: inline-block;
}
.layout-headline .block {
	display: flex;
	align-items: center;
}
.layout-headline .block .h {
	margin: 0 30px 0 0;
}
.layout-headline .layout-anchor-nav {
	margin: 20px 0 0 0;
}

@media screen and (max-width: 767px) {
	.layout-headline {
		margin: 0 0 20px 0;
	}
	.layout-headline p:first-child {
		margin: 0 0 10px 0;
		font-size: 13px;
	}
	.layout-headline .h {
		font-size: 24px;
	}
	.layout-headline .block {
		display: block;
	}
	.layout-headline .block .h {
		margin: 0;
	}
	.layout-headline .block .guide {
		margin: 15px 0 0 0;
	}
}

/*============================================================
	[汎用] 見出し
*/
.h1 {
	font-size: 32px;
	line-height: 1.3;
}
.h2 {
	font-size: 28px;
	line-height: 1.3;
}
.h3 {
	font-size: 24px;
	line-height: 1.4;
}
.h4 {
	font-size: 18px;
	line-height: 1.4;
}
.h-small {
	font-size: 16px;
	line-height: 1.6;
}
/* エラー見出し */
.h-error {
	margin: 40px 0;
	text-align: center;
	font-size: 24px;
	line-height: 1.3;
	color: #dc3545;
}
.h-error span {
	display: inline-block;
	position: relative;
	padding-left: 1.5em;
}
.h-error i {
	position: absolute;
	top: -0.06em; left: 0;
	font-size: 120%;
	line-height: 1.2;
}
/* レイアウト */
.layout-head {
	margin: 0 0 30px 0;
	font-size: 16px;
	line-height: 1.6;
	text-align: center;
}
.layout-head .h {
	margin-top: 10px;
	font-size: 32px;
	line-height: 1.3;
}
.layout-head .h:first-child {
	margin-top: 0;
}
.layout-head .h br {
	display: none;
}
.layout-head div {
	margin-top: 1em;
}
.layout-head div:first-child {
	margin-top: 0;
}
.layout-head .note {
	margin-top: 1em;
	font-size: 14px;
}
.layout-head-program {
	display: flex;
	align-items: center;
}
.layout-head-program div {
	margin: 0.5em 0 0 50px;
}
.layout-head-program a {
	display: block;
}

@media screen and (max-width: 575px) {
	.h1 {
		font-size: 26px;
		line-height: 1.5;
	}
	.h2 {
		font-size: 24px;
		line-height: 1.5;
	}
	.h3 {
		font-size: 20px;
		line-height: 1.5;
	}
	.h4 {
		font-size: 18px;
		line-height: 1.6;
	}
	.h-small {
		font-size: 100%;
		line-height: 1.6;
	}
	/* エラー見出し */
	.h-error {
		margin: 25px 0 0 0;
		text-align: left;
		font-size: 20px;
		line-height: 1.5;
	}
	/* レイアウト */
	.layout-head {
		margin: 0 0 20px 0;
	}
	.layout-head .h {
		font-size: 24px;
	}
	.layout-head .h br {
		display: block;
	}
	.layout-head-program {
		display: block;
	}
	.layout-head-program div {
		margin: 1em 0 0 0;
	}
	.layout-head-program a {
		display: inline-block;
	}
}

/*============================================================
	[汎用] ボタン
*/
.btn-default,
.btn-default-outline,
.btn-second,
.btn-second-outline,
.btn-white-outline {
	display: inline-block;
	padding: 9px 25px 10px 25px;
	border-radius: 3px;
	border: 1px solid #000;
	font-weight: 200;
	font-size: 14px;
	line-height: 1.4;
	text-decoration: none !important;
	user-select: none;
	-webkit-user-select: none;
}
.btn-default,
.btn-second {
	background-color: #007ab8;
	border-color: #007ab8;
	color: #fff !important;
}
a.btn-default:hover,
button.btn-default:hover,
a.btn-second:hover,
button.btn-second:hover {
	background-color: #fff;
	color: #007ab8 !important;
}
.btn-default-outline,
.btn-second-outline {
	background-color: #fff;
	border-color: #007ab8;
	color: #007ab8 !important;
}
.btn-default-outline.active,
a.btn-default-outline:hover,
button.btn-default-outline:hover,
.btn-second-outline.active,
a.btn-second-outline:hover,
button.btn-second-outline:hover {
	background-color: #007ab8;
	color: #fff !important;
}
.btn-white-outline {
	background-color: transparent;
	border-color: #fff;
	color: #fff !important;
}
.btn-white-outline.active,
a.btn-white-outline:hover,
button.btn-white-outline:hover {
	background-color: #fff;
	color: #007ab8 !important;
}
.btn-default span,
.btn-default-outline span,
.btn-second span,
.btn-second-outline span,
.btn-white-outline span {
	position: relative;
	display: inline-block;
}
.btn-default.btn-inline,
.btn-default-outline.btn-inline,
.btn-second.btn-inline,
.btn-second-outline.btn-inline,
.btn-white-outline.btn-inline {
	display: inline-block;
	width: auto;
}
/* 無効 */
.btn-default.disable,
.btn-default-outline.disable,
.btn-second.disable,
.btn-second-outline.disable,
.btn-white-outline.disable {
	cursor: default;
	opacity: 0.5;
}
a.btn-default.disable:hover,
button.btn-default.disable:hover,
a.btn-second.disable:hover,
button.btn-second.disable:hover {
	background-color: #007ab8;
	color: #fff !important;
}
/* レイアウト */
.btn-center {
	display: flex;
	justify-content: center;
}
.btn-inline-center {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.btn-inline-center > div {
	margin: 0 0 10px 0;
	padding: 0 15px;
}
.btn-inline-center > div:last-child {
	margin: 0;
}
@media screen and (max-width: 767px) {
	.btn-inline-center {
		margin-left: -10px;
		margin-right: -10px;
	}
	.btn-inline-center > div {
		padding: 0 10px;
	}
}

/*============================================================
	[汎用] リスト
*/
ul.list-normal {
	padding-left: 1.5em;
	list-style-type: disc;
}
ul.list-disc {
	line-height: 1.5;
}
ul.list-disc li {
	position: relative;
	margin-bottom: 5px;
	padding-left: 15px;
}
ul.list-disc li:last-child {
	margin-bottom: 0;
}
ul.list-disc li::before {
	content: '●';
	position: absolute;
	top: 0.3em;
	left: 0;
	font-size: 10px;
}

/*============================================================
	[汎用] メッセージバー
*/
.message-bar {
	padding: 4px 0 12px 0;
	background-color: #1d428a;
	color: #fff;
}
.message-bar .container {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	line-height: 1.5;
}
.message-bar .container div {
	display: flex;
	align-items: center;
	margin: 0 15px 0 0;
	padding: 8px 0 0 0;
}
.message-bar .container div:last-child {
	margin: 0;
}
.message-bar .icon-point {
	display: block;
	margin: 0 5px 0 0;
	width: 16px;
	height: 16px;
	background-color: rgba(255,255,255,0.4);
	background-image: url('../img/icon-point-white.svg');
}
.message-bar span.btn-white-outline {
	opacity: 0.5;
}

/*============================================================
	[汎用] チップ
*/
.tip {
	position: absolute;
	z-index: 10;
	margin-top: 12px;
	opacity: 0;
	transition: opacity 0.3s ease 0s;
	pointer-events: none;
}
.tip.show {
	opacity: 1;
}
.position-l {
	padding: 0 12px 0 0;
}
.position-r {
	padding: 0 0 0 12px;
}
.tip::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 12px 12px 0 12px;
	border-color: #1d428a transparent transparent transparent;
}
.tip.position-r::before {
	left: 0;
}
.tip.position-l::before {
	right: 0;
}
.tip::after {
	content: '';
	display: block;
	position: absolute;
	top: 1px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 12px 12px 0 12px;
	border-color: #e6f4fb transparent transparent transparent;
}
.tip.position-r::after {
	left: 2px;
}
.tip.position-l::after {
	right: 2px;
}
.tip span {
	display: block;
	padding: 0 1em;
	background-color: #e6f4fb;
	border: 1px solid #1d428a;
	border-radius: 3px;
	font-size: 14px;
	line-height: 35px;
	white-space: nowrap;
	color: #1d428a;
	box-shadow: 0 3px 5px rgba(0,0,0,0.16);
}

/*============================================================
	[汎用] 参加方法チップ
*/
.tip-join {
	display: none;
	position: absolute;
	z-index: 9900;
	margin: -35px 0 0 0;
	padding: 0 1em;
	background-color: #f4f8fa;
	box-shadow: 0 2px 6px rgba(0,0,0,0.32);
	font-size: 14px;
	line-height: 30px;
	white-space: nowrap;
	color: #000;
}

/*============================================================
	[汎用] お気に入り登録
*/
.add-favorite {
	position: relative;
	display: flex;
	align-items: center;
	font-size: 23px;
	line-height: 1;
	color: #1d428a !important;
}
.add-favorite:hover {
	color: #0091da !important;
}
.sp .add-favorite:hover {
	color: #1d428a !important;
}
.add-favorite i.fas.fa-star {
	display: none;
}
.add-favorite.active {
	color: #1d428a !important;
}
.add-favorite.active:hover {
	color: #0091da !important;
}
.sp .add-favorite.active:hover {
	color: #1d428a !important;
}
.add-favorite.active i.fal.fa-star {
	display: none;
}
.add-favorite.active i.fas.fa-star {
	display: inline-block;
}
.disable .add-favorite,
.disable .add-favorite.active {
	color: #ccc !important;
}
.disable .add-favorite:hover,
.disable .add-favorite.active:hover {
	color: #666 !important;
}
.sp .disable .add-favorite:hover,
.sp .disable .add-favorite.active:hover {
	color: #ccc !important;
}
.add-favorite .text {
	display: block;
	padding: 0 0 0 5px;
	font-size: 14px;
}
.add-favorite.active .text {
	display: none;
}

/*============================================================
	[汎用] カレンダー追加チップ
*/
.add-calendar-link {
	user-select: none;
}
.add-calendar-link:hover,
.add-calendar-link.active {
	color: #0091da !important;
}
.tip-calendar {
	display: none;
	position: absolute;
	margin: 12px 0 0 30px;
}
.tip-calendar ul {
	position: relative;
	padding: 10px 1em;
	background-color: #fff;
	font-size: 14px;
	line-height: 1.5;
	box-shadow: 0px 2px 6px 0px rgba(0,0,0,0.32);
}
.tip-calendar ul li {
	position: relative;
	padding: 1px 0;
}
.tip-calendar::before,
.tip-calendar ul::before {
	content: '';
	display: block;
	position: absolute;
	top: -5px;
	left: 16px;
	width: 20px;
	height: 20px;
	background-color: #fff;
	transform: rotate(45deg);
}
.tip-calendar::before {
	box-shadow: 0 0px 4px 0px rgba(0,0,0,0.32);
}
@media screen and (max-width: 767px) {
	.tip-calendar {
		margin-left: 32px;
	}
	.tip-calendar::before,
	.tip-calendar ul::before {
		left: 8px;
	}
}

/*============================================================
	[汎用] お知らせ
*/
.layout-news {
	display: flex;
	border: 1px solid #d7d7d7;
	line-height: 1.5;
}
.layout-news:first-child {
	margin-top: 0;
}
.layout-news h2 {
	flex-shrink: 0;
	padding: 15px;
	font-size: 100%;
	line-height: inherit;
	color: #000;
}
.layout-news .list {
	flex: 1;
	padding: 10px 15px;
	border-left: 1px solid #d7d7d7;
}
.layout-news .list > div {
	padding: 5px 0;
}
@media screen and (max-width: 767px) {
	.layout-news {
		font-size: 13px;
	}
	.layout-news h2 {
		padding: 10px;
	}
	.layout-news .list {
		padding: 5px 10px;
	}
}
@media screen and (max-width: 575px) {
	.layout-news {
		display: block;
	}
	.layout-news h2 {
		padding: 5px 10px;
	}
	.layout-news .list {
		border-top: 1px solid #d7d7d7;
		border-left: 0;
	}
}

/*============================================================
	[汎用] ビデオサムネイル
*/
.video-thumb a {
	display: block;
	position: relative;
}
.video-thumb img {
	position: relative;
	width: 100%;
}
.video-thumb a.modal-video-opener::after {
	content: "\f144";
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	font-weight: 400;
	font-family: 'Font Awesome 5 Pro';
	font-size: 60px;
	color: #fff;
	opacity: 0.68;
	-webkit-transition: opacity 0.3s ease;
	        transition: opacity 0.3s ease;
}
.video-thumb a.modal-video-opener:hover::after {
	opacity: 1;
}

/*============================================================
	[モーダル] 共通
*/
.modal-overlay {
	display: none;
	position: fixed;
	top: 0; left: 0;
	width: 100%; height: 100%;
	background-color: rgba(0,0,0,0.26);
}
.modal-window {
	display: none;
	position: fixed;
	top: 0; left: 0;
	padding: 0 15px;
	width: 100%; height: 0;
}
.modal-window .modal-wrap {
	position: relative;
	overflow: hidden;
	width: 100%;
	background: #ffffff;
	box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.4);
}
.modal-window iframe {
	overflow: hidden;
	width: 100%; height: 100%;
	border: 0;
}
/* 外部htmlのbody */
.modal-body {
	overflow: hidden;
	padding: 0;
	background: #ffffff;
}
.modal-body .content {
	padding: 0;
	min-height: 1px;
}
/* 見出し */
.modal-head {
	padding: 40px 0 0 0;
	text-align: center;
}
.modal-head .h {
	font-size: 22px;
	line-height: 1.3;
}
/* 閉じるボタン */
.modal-btn-close {
	position: absolute;
	top: 0; right: 0;
	display: block;
	width: 60px;
	text-align: center;
	font-size: 36px;
	line-height: 60px;
}
.modal-btn-close:hover {
	opacity: 0.6;
}
@media screen and (max-width: 767px) {
	/* 閉じるボタン */
	.modal-btn-close {
		width: 50px;
		font-size: 32px;
		line-height: 50px;
	}
}

/*============================================================
	[モーダル] インライン
*/
.modal-inline-window {
	overflow: hidden;
	display: block;
	position: fixed;
	top: 0;
	left: 200vw;
	width: 100%;
	height: 0;
}
.modal-inline-window .overlay {
	position: fixed;
	top: 0;
	left: 200vw;
	width: 100%;
	height: 0;
	background-color: rgba(0,0,0,0.26);
}
.modal-inline-window.opened,
.modal-inline-window.opened .overlay {
	left: 0;
	height: 100%;
}
.modal-inline-window .scroll {
	position: relative;
	overflow-y: scroll;
	height: 100%;
}
.modal-inline-window .ps__rail-x,
.modal-inline-window .ps__rail-y {
	opacity: 0 !important;
}
.modal-inline-window .ps--active-y > .ps__rail-y {
	opacity: 1 !important;
}
.modal-inline-window .ps--active-y {
	padding-right: 7px;
}
.modal-inline-window .wrapper {
	position: relative;
	margin: 0 auto;
	padding: 40px 15px;
}
.modal-inline-window .close {
	display: block;
	position: absolute;
	top: 0;
	right: 15px;
	text-shadow: 0px 0px 8px rgba(0,0,0,0.4);
	font-size: 32px;
	line-height: 40px;
	opacity: 1;
}
.modal-inline-window .close i {
	color: #fff;
}
.modal-inline-window .frame {
	background: #fff;
	box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.4);
}
.modal-inline-window .icon-complete {
	padding: 30px 0;
	text-align: center;
	font-size: 94px;
	line-height: 1;
	color: #0091da;
}
@media screen and (max-width: 575px) {
	.modal-inline-window .wrapper {
		padding: 40px 15px;
	}
}

/*============================================================
	[モーダル] ログイン
*/
.modal-login-window .wrapper {
	max-width: 644px;
}
.modal-login-window .form {
	padding: 20px 50px 50px 50px;
}
.modal-login-window .kv img {
	width: 100%;
}
.modal-login-window .hr {
	margin: 20px 0;
	height: 1px;
	border-top: 1px solid #d7d7d7;
}
.modal-login-window .input-wrap {
	margin: 0 auto;
	max-width: 400px;
}
.modal-login-window .input {
	margin: 15px -36px 20px 0;
}

@media screen and (max-width: 575px) {
	.modal-login-window .form {
		padding: 20px 20px 30px 20px;
	}
	.modal-login-window .input {
		margin: 15px 0 20px 36px;
	}
	.modal-login-window .input .required-feedback {
		padding-right: 36px;
	}
}

/*============================================================
	[モーダル] showcase
*/
.modal-showcase-detail-window .wrapper {
	max-width: 1082px;
}
.modal-showcase-detail-window .heading {
	padding: 30px 25px 25px 25px;
	border-bottom: 1px solid #d7d7d7;
}
.modal-showcase-detail-window .heading .row-head {
	display: flex;
}
.modal-showcase-detail-window .heading .label {
	margin: 0 15px 0 0;
	padding: 0 1em;
	border: 1px solid #717074;
	border-radius: 999px;
}
.modal-showcase-detail-window .heading .join-type > div {
	margin: 0;
}
.modal-showcase-detail-window .heading .name {
	margin: 10px 0 0 0;
	font-size: 28px;
}
.modal-showcase-detail-window .heading .title {
	margin: 10px 0 0 0;
	font-size: 16px;
	color: inherit;
}
.modal-showcase-detail-window .detail {
	padding: 25px;
}
@media screen and (max-width: 575px) {
	.modal-showcase-detail-window .heading {
		padding: 15px;
	}
	.modal-showcase-detail-window .heading .name {
		font-size: 22px;
	}
	.modal-showcase-detail-window .detail {
		padding: 15px;
	}
}

/*============================================================
	[モーダル] VMworld チャレンジ
*/
.modal-challenge-window .wrapper {
	max-width: 472px;
}
.modal-challenge-window .kv img {
	width: 100%;
}
.modal-challenge-window .inner {
	padding: 20px 25px 25px 25px;
	text-align: center;
	line-height: 1.7;
}
.modal-challenge-window .h {
	font-size: 16px;
}
.modal-challenge-window .h span {
	color: #78bc20;
}
.modal-challenge-window .h .icon-point {
	position: relative;
	top: 4px;
	display: inline-block;
	margin: 0 5px 0 0;
}
.modal-challenge-window .h br.sp {
	display: none;
}
.modal-challenge-window .h1 {
	font-size: 18px;
}
.modal-challenge-window .icon-complete {
	color: #3e8fd2;
}
.modal-challenge-window .btns {
	display: flex;
	justify-content: center;
	padding: 20px 0 10px 0;
}
.modal-challenge-window .btns .btn-default,
.modal-challenge-window .btns .btn-default-outline {
	margin: 0 5px;
	min-width: 110px;
}

@media screen and (max-width: 480px) {
	.modal-challenge-window .inner {
		padding: 20px 20px 20px 20px;
	}
	.modal-challenge-window .h br.sp {
		display: block;
	}
}

/*============================================================
	[モーダル] お問い合わせ
*/
.modal-contact-window .wrapper {
	max-width: 660px;
}
.modal-contact-window .form {
	padding: 20px 25px 25px 25px;
	line-height: 1.7;
}
.modal-contact-window .h {
	font-size: 23px;
	color: #000;
}
.modal-contact-window .note {
	margin: 5px 0 15px 0;
	font-size: 12px;
}
.modal-contact-window .caption {
	margin: 10px 0;
}
.modal-contact-window .caption::after {
	content: '';
	display: block;
	clear: both;
}
.modal-contact-window .caption .must {
	margin: 0 10px;
}
.modal-contact-window .caption p,
.modal-contact-window .caption .form-error {
	float: left;
}
.modal-contact-window .caption .form-error {
	color: #dc3545;
}
.modal-contact-window textarea {
	padding-top: 5px;
	padding-bottom: 5px;
	width: 100%;
	height: auto;
}
.modal-contact-window .textarea {
	padding: 10px 0;
	border: 1px solid #d7d7d7;
	border-left: 0;
	border-right: 0;
}
.modal-contact-window .btns {
}
.modal-contact-window .btns p {
	margin: 15px 0 0 0;
	text-align: center;
}
.modal-contact-window .btns-row {
	display: flex;
	justify-content: center;
	margin: 0 -10px;
}
.modal-contact-window .btns-row > div {
	padding: 10px;
}
.modal-contact-window .complete {
	margin: 0 0 50px 0;
	text-align: center;
}
.modal-contact-window .complete .h {
	margin: 0 0 5px 0;
	font-size: 23px;
	line-height: 1.5;
	color: #000;
}
.modal-contact-window .complete .h br.sp {
	display: none;
}

@media screen and (max-width: 480px) {
	.modal-contact-window .form {
		padding: 20px 20px 20px 20px;
	}
	.modal-contact-window .caption p,
	.modal-contact-window .caption .form-error {
		float: none;
	}
	.modal-contact-window .caption .form-error {
		margin: 5px 0 0 0;
	}
	.modal-contact-window .btns-row {
		display: block;
		margin: 0;
	}
	.modal-contact-window .btns-row > div {
		display: flex;
		justify-content: center;
		padding: 10px 0 0 0;
		max-width: 100%;
	}
	.modal-contact-window .complete .h br.sp {
		display: block;
	}
}

/*============================================================
	[モーダル] ハンズオンラボ
*/
.modal-lab-detail-window .wrapper {
	max-width: 762px;
}
.modal-lab-detail-window .inner {
	padding: 20px;
	line-height: 1.7;
}
.modal-lab-detail-window .hr {
	margin: -0.4em 0;
}
.modal-lab-detail-window .id {
	font-size: 12px;
}
.modal-lab-detail-window .title {
	font-size: 16px;
}
@media screen and (max-width: 480px) {
	.modal-lab-detail-window .inner {
		padding: 15px;
	}
}

/*============================================================
	[モーダル] その他
*/
.modal-primary-window .wrapper {
	max-width: 624px;
}
.modal-primary-window .content {
	padding: 30px 25px !important;
	line-height: 1.6;
}
.modal-primary-window .content p input[type="checkbox"],
.modal-primary-window .content p input[type="radio"] {
	margin-right: 4px;
}
.modal-primary-window .h {
	margin: 0 0 1.5em 0;
	font-size: 14px;
	line-height: 1.6;
}
.modal-primary-window .check {
	margin: 1em 0;
}
.modal-primary-window .check li {
	position: relative;
	margin: 0 0 5px 0;
	padding: 0 0 0 20px;
}
.modal-primary-window .check li input {
	position: absolute;
	top: 0;
	left: 0;
}

/*============================================================
	[モーダル] ビデオ
*/
.modal-video-overlay {
	display: none;
	position: fixed;
	z-index: 9000;
	top: 0; left: 0;
	width: 100%; height: 100%;
	background-color: rgba(0,0,0,0.67);
}
.modal-video-window {
	display: none;
	position: absolute;
	z-index: 9001;
	top: 0; left: 50%;
	margin-left: -350px;
	padding: 0 10px;
	width: 700px;
}
@media screen and (max-width: 700px) {
	.modal-video-window {
		left: 0;
		margin: 0;
		width: 100%;
	}
}
.modal-video-window .modal-video-wrap {
	width: 100%; height: 100%;
}
/* 閉じるボタン */
.modal-video-window .modal-video-close {
	position: absolute;
	top: -60px; right: 0;
	display: block;
	width: 60px;
	text-align: center;
	font-size: 36px;
	line-height: 60px;
	color: #fff !important;
}
.modal-video-window .modal-video-close:hover {
	opacity: 0.6;
}

/*============================================================
	[モーダル] プログラム詳細
*/
.modal-session-overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.modal-session-window {
	display: none;
	position: fixed;
	top: 0; left: 0;
	width: 100%;
	height: 100%;
}
.modal-session-outline {
	width: 100%;
	height: 100%;
}
.modal-session-outline .overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(255,255,255,0.88);
}
.modal-session-outline .container {
	display: flex;
	flex-direction: column;
	height: 100%;
}
.modal-session-outline .head {
	flex: 0 1 auto;
	padding: 40px 0 20px 0;
	border-bottom: 1px solid #ccc;
}
.modal-session-outline .head .h {
	padding-right: 30px;
	font-size: 22px;
	line-height: 1.5;
}
.modal-session-outline .head .subtitle {
	font-size: 22px;
	line-height: 1.5;
}
.modal-session-outline .head p {
	font-weight: normal;
}
.modal-session-outline .frame {
	flex: 0 1 auto;
	overflow-y: auto;
}
.modal-session-outline .scroller {
	position: relative;
}
.modal-session-outline .info {
	padding-right: 20px;
}
.modal-session-outline .speaker {
	display: flex;
	flex-wrap: wrap;
	margin: 20px -15px;
}
.modal-session-outline .speaker li {
	flex-basis: 33.333%;
	padding: 10px 15px;
}
.modal-session-outline .description {
	margin: 20px 0;
}
.modal-session-outline .btnwrap {
	flex: 0 1 auto;
	padding: 20px 0 60px 0;
}
.modal-session-outline .modal-btn-close {
	width: 90px;
	font-size: 60px;
	line-height: 90px;
}
@media screen and (max-width: 991px) {
	.modal-session-outline .speaker li {
		flex-basis: 50%;
	}
}
@media screen and (max-width: 767px) {
	.modal-session-outline .head {
		padding-bottom: 10px;
	}
	.modal-session-outline .head .h {
		padding-right: 0;
		font-size: 20px;
		line-height: 1.3;
	}
	.modal-session-outline .head .subtitle {
		margin-top: 5px;
		font-size: 16px;
		line-height: 1.3;
	}
	.modal-session-outline .btnwrap {
		padding-top: 10px;
	}
	.modal-session-outline .modal-btn-close {
		width: 50px;
		font-size: 32px;
		line-height: 50px;
	}
}
@media screen and (max-width: 575px) {
	.modal-session-outline .speaker {
		display: block;
		margin: 0;
	}
	.modal-session-outline .speaker li {
		margin: 15px 0 0 0;
		padding: 0;
		font-size: 12px;
	}
	.modal-session-outline .description {
		margin: 15px 0;
	}
}

/*============================================================
	[モーダル] コンテンツガイド
*/
.modal-guide-window .modal-guide-window-body {
	height: 100%;
}
.modal-guide-window .wrapper {
	max-width: 1006px;
}
.modal-guide-window .inner {
	background-color: #fff;
	line-height: 1.5;
}
.modal-guide-window .inner .fa-chevron-right {
	padding-left: 0.2em;
}
.modal-guide-window .inner img {
	width: 100%;
}
.modal-guide-window .head {
	position: relative;
	padding: 40px 50px;
}
.modal-guide-window .head .tab {
	position: relative;
	display: flex;
	margin: 0 auto;
	max-width: 540px;
	text-align: center;
	line-height: 1.5;
}
.modal-guide-window .head .tab::before {
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #565656;
}
.modal-guide-window .head .tab li {
	flex-basis: 33.333%;
}
.modal-guide-window .head .tab li a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 0 20px 0;
	height: 100%;
	color: #000;
}
.modal-guide-window .head .tab li a br {
	display: none;
}
.modal-guide-window .head .tab li a:hover {
	color: #0091da;
}
.modal-guide-window .head .tab li a::before {
	content: '';
	display: none;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 4px;
	background-color: #1d428a;
}
.modal-guide-window .head .tab li a.current {
	color: #1d428a !important;
	cursor: default;
}
.modal-guide-window .head .tab li a.current::before {
	display: block;
}
.modal-guide-window .guide-content {
	position: relative;
}
.modal-guide-window .guide-wrapper {
	position: relative;
	overflow-y: auto;
	padding: 40px 50px;
	height: 70vh;
	max-height: 600px;
}
.modal-guide-window .guide-wrapper .ps__rail-y {
	right: 5px;
	opacity: 1 !important;
}
.modal-guide-window .guide-content::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 8px;
	background: linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.16) 100%);
}
.modal-guide-window .guide-content-block {
	display: none;
}
.modal-guide-window .guide-content-block.active {
	display: block;
}
.modal-guide-window .guide-list .list {
	border-bottom: 1px solid #d7d7d7;
}
.modal-guide-window .guide-list .list li {
	border-top: 1px solid #d7d7d7;
}
.modal-guide-window .guide-list .list .root {
	position: relative;
	display: block;
	padding: 12px 35px 12px 5px;
	color: #000;
}
.modal-guide-window .guide-list .list .root:hover {
	background-color: #f4f8fa;
}
.modal-guide-window .guide-list .list .root i {
	position: absolute;
	top: 50%;
	right: 1.2em;
	margin-top: -0.5em;
	color: #c1c1c1;
	transition: transform 0.3s ease;
}
.modal-guide-window .guide-list .list .opened .root i {
	transform: rotate(90deg);
}
.modal-guide-window .guide-list .list .child {
	overflow: hidden;
	height: 0;
}
.modal-guide-window .guide-list .list .child .detail {
	padding: 0 5px 30px 5px;
	line-height: 1.5;
}
.modal-guide-window .guide-list .list .child .btn-wrap {
	margin: 15px 0 0 0;
}
.modal-guide-window .guide-timetable .wrap {
	display: flex;
}
.modal-guide-window .guide-timetable .wrap .image {
	flex-basis: 50%;
	padding: 0 10px;
}
@media screen and (max-width: 991px) {
	.modal-guide-window .guide-wrapper {
		padding: 30px 30px;
		height: 570px;
	}
}
@media screen and (max-width: 767px) {
	.modal-guide-window .head {
		padding: 15px 15px;
	}
	.modal-guide-window .head .tab li a {
		padding: 0 0 10px 0;
	}
	.modal-guide-window .guide-wrapper {
		padding: 20px 15px;
		height: 70vh;
	}
	.modal-guide-window .guide-timetable .wrap {
		display: block;
	}
	.modal-guide-window .guide-timetable .wrap .image {
		margin: 0 auto;
		max-width: 460px;
		padding: 0;
	}
}
@media screen and (max-width: 480px) {
	.modal-guide-window .head .tab {
		font-size: 13px;
	}
	.modal-guide-window .head .tab li a br {
		display: block;
	}
}
@media screen and (max-width: 350px) {
	.modal-guide-window .head .tab {
		font-size: 12px;
	}
}

/*============================================================
	[モーダル] 深度管理
*/
.tip-favorite,
.tip-calendar {
	z-index: 999;
}
.modal-inline-window {
	z-index: 9001;
}
/* プログラム詳細 */
.modal-overlay {
	z-index: 9000;
}
.modal-window {
	z-index: 9001;
}
/* プログラム詳細 */
.modal-session-overlay {
	z-index: 9100;
}
.modal-session-window {
	z-index: 9101;
}
/* イメージ */
.modal-image-overlay {
	z-index: 9000;
}
.modal-image-window {
	z-index: 9001;
}
/* ビデオ */
.modal-video-overlay {
	z-index: 9000;
}
.modal-video-window {
	z-index: 9001;
}

/*============================================================
	[モーダル] 凡例モーダル用スタイル by C3 2020.10.28
*/

.modal-howto-window .wrapper {
	max-width: 800px;
}
.modal-howto-window .inner {
	padding: 20px 25px 25px 25px;
	line-height: 1.7;
}
.modal-howto-window .btns {
	padding: 10px 0 0 0;
}
.modal-howto-window .btns .btn {
	margin: 10px 0 0 0;
	padding: 8px;
	font-size: 16px;
	line-height: 1.5;
}
@media screen and (max-width: 480px) {
	.modal-howto-window .inner {
		padding: 20px 20px 20px 20px;
	}
	.modal-howto-window .h br.sp {
		display: block;
	}
}

/* SVGアイコンのzoom */
.zoom {

width: 100%;
height: 100%;
}
.zoom {
display: block;
transition-duration: 1s;
}
.zoom:hover {
transform: scale(1.2,1.2);
transition-duration: 0.2s;
}

/*============================================================
	[登録] フォーム
*/
input[type="text"],
input[type="number"],
input[type="tel"],
input[type="email"],
input[type="password"] {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid #b3b3b3 !important;
	border-radius: 3px;
	padding: 6px 8px;
	font-size: 16px;
	line-height: normal !important;
}
input[type="text"]:disabled {
	background-color: #eee;
}
textarea {
	padding: 8px 8px;
	height: 80px;
	border: 1px solid #b3b3b3 !important;
	border-radius: 3px;
	font-size: 14px !important;
	line-height: normal !important;
	resize: none;
}
select {
	margin: 0;
	padding: 8px 26px 8px 8px !important;
	background: #fff url(../img/form_parts_select.png) 100% 50% no-repeat;
	-webkit-background-size: 1000px 50px;
	background-size: 1000px 50px;
	border: 1px solid #b3b3b3;
	border-radius: 3px;
	font-size: 14px !important;
	line-height: normal !important;
	-webkit-appearance: none;
	appearance: none;
}
select::-ms-expand {
	display: none;
}
select[disabled] {
	opacity: 0.5;
	cursor: default;
}
input[type="checkbox"],
input[type="radio"] {
	display: inline-block;
	margin-top: 3px;
	width: 16px; height: 16px;
	line-height: 1;
	cursor: pointer;
	outline: 0;
	border: 0;
	border-radius: 0;
	vertical-align: top;
	-webkit-appearance: none;
	appearance: none;
}
input[type="checkbox"] {
    width: 16px; height: 16px;
	background: transparent url(../img/form_parts_checkbox.png) 0 0 no-repeat;
	-webkit-background-size: 16px 32px;
	background-size: 16px 32px;
}
input[type="checkbox"]:checked {
	background-position: 0 -16px;
}
input[type="radio"] {
    width: 16px; height: 16px;
	background: transparent url(../img/form_parts_radio.png) 0 0 no-repeat;
	-webkit-background-size: 16px 32px;
	background-size: 16px 32px;
}
input[type="radio"]:checked {
	background-position: 0 -16px;
}
input[type="checkbox"][disabled],
input[type="radio"][disabled] {
	opacity: 0.5;
	cursor: default;
}
/**/
div.required {
	display: flex;
}
div.required .input .form-control {
	display: block;
}
div.required.is-valid .form-control {
	border-color: #78be20 !important;
}
div.required.is-invalid .form-control {
	border-color: #b2301a !important;
}
div.required-symbol {
	display: flex;
}
div.required-symbol::after {
	display: block;
	content: '　';
	margin-top: 9px;
	padding-right: 0.2em;
	flex-basis: 1.5em;
	flex-shrink: 0;
	text-align: center;
	font-family: "Font Awesome 5 Pro";
	font-weight: 400;
	font-size: 22px;
	line-height: 1;
}
@media screen and (max-width: 767px) {
	div.required-symbol::after {
		padding-right: 0;
	}
}
div.required-symbol.is-valid::after {
	content: "\f00c";
	color: #78be20;
}
div.required-symbol.is-invalid::after {
	content: "\f00d";
	color: #b2301a;
}
div.required-feedback {
	display: none;
	padding-top: 5px;
	font-size: 14px;
}
div.required-feedback.is-invalid {
	display: block;
	color: #b2301a;
}
tr.is-invalid th,
tr.is-invalid td {
	background-color: #fff0f0 !important;
}
/**/
.form i.must,
.form i.opt {
	display: inline-block;
	padding: 0 5px 1px 5px;
	border: 1px solid transparent;
	font-size: 16px;
	font-style: normal;
	line-height: 21px;
	color: #fff;
}
.form i.must {
	background-color: #b2301a;
	border-color: #b2301a;
}
.form i.opt {
	border-color: #717074;
	color: #717074;
}
.form .checkbox,
.form .form-group {
	display: inline-block;
}
.form th,
.form td {
	padding: 0;
	vertical-align: top;
	border: 0;
}
.form-control::-webkit-input-placeholder {
    color: #bbb;
}
.form-control::-moz-placeholder {
    color: #bbb;
}
.form-control:-moz-placeholder {
    color: #bbb;
}
.form-control:-ms-input-placeholder {
    color: #bbb;
}
.form-control::placeholder {
    color: #bbb;
}
/* IMEモード */
.ime-auto     { ime-mode: auto; }
.ime-active   { ime-mode: active; }
.ime-inactive { ime-mode: inactive; }
.ime-disabled { ime-mode: disabled; }

/*============================================================
	[登録] 流れ
*/
.register-steps {
	padding: 25px 0 20px 0;
	background-color: #f4f8fa;
}
.register-steps ul {
	display: flex;
	justify-content: center;
	font-size: 14px;
	line-height: 1.3;
}
.register-steps ul li {
	position: relative;
	flex-basis: 14.285%;
	text-align: center;
}
.register-steps.col3 ul li,
.register-steps.col4 ul li {
	flex-basis: 179px;
}
.register-steps ul li::before {
	content: '';
	display: block;
	position: absolute;
	top: 12px;
	left: 50%;
	right: -50%;
	height: 1px;
	background-color: #717074;
}
.register-steps ul li:last-child::before {
	display: none;
}
.register-steps ul li div {
	position: relative;
}
.register-steps ul li div i {
	display: block;
	margin: 0 auto;
	margin-bottom: 8px;
	padding-bottom: 2px;
	width: 23px;
	border-radius: 50%;
	background-color: #717074;
	font-style: normal;
	font-size: 16px;
	line-height: 21px;
	color: #fff;
}
.register-steps ul li div span {
	display: inline-block;
}
.register-steps ul li.current::before {
	margin-top: -2px;
	height: 4px;
	background-color: #0091da;
}
.register-steps ul li.current div {
	color: #0091da;
}
.register-steps ul li.current div i {
	background-color: #0091da;
}

@media screen and (max-width: 991px) {
	.register-steps ul {
		font-size: 12px;
	}
}
@media screen and (max-width: 767px) {
	.register-steps {
		padding: 17px 0 10px 0;
	}
	.register-steps ul {
		font-size: 10px;
	}
	.register-steps.col3 ul li {
		flex-basis: 33.33%;
	}
	.register-steps.col4 ul li {
		flex-basis: 25%;
	}
}
@media screen and (max-width: 575px) {
	.register-steps ul {
		margin: 0 -3vw;
	}
	.register-steps ul li div span {
		display: none;
	}
	.register-steps.col3 ul li div span,
	.register-steps.col4 ul li div span {
		display: block;
	}
}

/*============================================================
	[登録] メールアドレスの入力
*/
.register-email-form .form-table {
	margin-top: 20px;
	width: 100%;
	font-size: 16px;
	line-height: 1.6;
}
.register-email-form .form-table th {
	padding: 23px 30px 0 0;
	width: 290px;
	white-space: nowrap;
	color: #000;
}
.register-email-form .form-table th div {
	position: relative;
}
.register-email-form .form-table th div i {
	position: absolute;
	top: 0;
	right: 0;
}
.register-email-form .form-table td {
	padding: 15px 0 0 0;
}
.register-email-form .form-table td .feedback {
	display: block;
}
.register-email-form .form-table td .feedback::after {
	content: '\00A0';
}
@media screen and (max-width: 767px) {
	.register-email-form .form-table
	.register-email-form .form-table tbody,
	.register-email-form .form-table tr,
	.register-email-form .form-table th,
	.register-email-form .form-table td {
		display: block;
		width: 100%;
	}
	.register-email-form .form-table th {
		padding: 15px 0 0 0;
	}
	.register-email-form .form-table tr:first-child th {
		padding: 0;
	}
	.register-email-form .form-table td {
		margin: 10px 0 0 0;
		padding: 0;
	}
	.register-email-form .form-table th div i {
		position: static;
		margin: 0 0 0 0.8em;
	}
}

/*============================================================
	[登録] 情報枠
*/
.register-info {
	margin: 40px 0;
	padding: 25px 30px;
	background-color: #f7f7f7;
	line-height: 1.6;
}
.register-info:last-child {
	margin-bottom: 0;
}
.register-info .h {
	margin-bottom: 8px;
	font-size: 18px;
	line-height: 1.5;
}
@media screen and (max-width: 767px) {
	.register-info {
		margin: 30px 0;
		padding: 20px 15px;
	}
}

/*============================================================
	[登録] メール送信完了
*/
.register-email-complete {
	text-align: center;
	font-size: 16px;
}
.register-email-complete .message {
	font-size: 21px;
	font-weight: 400;
	line-height: 1.3;
	color: #ec7700;
}
.register-email-complete .message i {
	margin-right: 0.5em;
}
.register-email-complete .text {
	margin: 30px 0 0 0;
}
.register-email-complete .email {
	word-break: break-all;
	color: #000;
}
.register-email-complete .subject {
	font-size: 20px;
	color: #000;
}
@media screen and (max-width: 767px) {
	.register-email-complete {
		font-size: 14px;
	}
	.register-email-complete .message {
		font-size: 18px;
	}
	.register-email-complete .subject {
		font-size: 18px;
	}
	.register-email-complete .sp-none {
		display: none;
	}
}

/*============================================================
	[登録] ご登録前にお読みください
*/
.register-notes {
	margin: 40px 0;
}
.register-notes .h {
	margin: 0 0 8px 0;
	font-size: 18px;
	line-height: 1.5;
}
.register-notes ul.list-disc li {
	margin: 0 0 10px 0;
}
.register-notes .hr {
	margin: 20px 0;
}
.register-notes .privacy {
	margin: 40px 0 20px 0;
	padding: 25px 30px;
	border: 1px solid #d7d7d7;
}
.register-notes .privacy .h {
	margin: 0 0 10px 0;
	border: 0;
}
.register-notes .user-info {
	display: flex;
	align-items: center;
	margin: 20px 0;
	padding: 20px 30px;
	background-color: #f7f7f7;
	font-size: 16px;
	line-height: 1.5;
}
.register-notes .user-info .icon {
	flex-basis: 50px;
	flex-shrink: 0;
}
.register-notes .user-info .detail {
	flex: 1;
	padding: 0 0 0 25px;
}
@media screen and (max-width: 767px) {
	.register-notes .privacy {
		margin: 30px 0 20px 0;
		padding: 20px 15px;
	}
	.register-notes .user-info {
		display: block;
		padding: 20px 15px;
		font-size: 14px;
	}
	.register-notes .user-info .icon {
		margin: 0 auto 15px auto;
		width: 50px;
	}
	.register-notes .user-info .detail {
		padding: 0;
	}
}

/*============================================================
	[登録] 登録情報の読み込み
*/
.register-loaded-info {
	margin: 0 auto;
	max-width: 826px;
}
.register-loaded-info .inner {
	padding: 15px 20px;
	border: 1px solid #0091da;
	color: #0091da;
	opacity: 0;
	transition: opacity 1s ease;
}
.register-loaded-info .h {
	margin: 0 0 5px 0;
	font-size: 18px;
	line-height: 1.4;
	color: inherit;
}
.header-loaded .register-loaded-info .inner {
	opacity: 1;
}
@media screen and (max-width: 767px) {
	.register-loaded-info .inner {
		padding: 10px 15px;
	}
	.register-loaded-info .h {
		margin: 0;
	}
}

/*============================================================
	[登録] 招待コード
*/
.register-code {
	margin-top: 50px;
	padding: 15px 15px;
	background-color: #f7f7f7;
	color: #000;
}
.register-code .form {
	display: flex;
}
.register-code .form > div,
.register-code .form > p {
	padding-left: 15px;
}
.register-code .form .th {
	padding-top: 0.5em;
	color: #000;
}
.register-code .form .input {
	width: 320px;
}
.register-code .value {
	display: table;
	margin: 0 auto;
}
.register-code .value span,
.register-code .value strong {
	display: table-cell;
	vertical-align: middle;
}
.register-code .value strong {
	padding-left: 1em;
	font-size: 20px;
	font-weight: 400;
}
@media screen and (max-width: 991px) {
	.register-code .form {
		display: block;
	}
	.register-code .form > div,
	.register-code .form > p {
		padding: 0 10px;
	}
	.register-code .form .th {
		padding-top: 0;
		padding-bottom: 0.3em;
	}
	.register-code .form .input {
		margin: 5px 0;
		width: 100%;
	}
}
@media screen and (max-width: 767px) {
	.register-code {
		margin-top: 20px;
		padding: 10px 15px;
	}
	.register-code .form > div,
	.register-code .form > p {
		padding: 0;
	}
}

/*============================================================
	[登録] お客様情報の入力
*/
/* フォーム */
.register-form .h {
	padding: 0 0 10px 0;
	font-size: 24px;
	line-height: 1.5;
}
.register-form .h span {
	padding: 0 0 0 1em;
	font-size: 14px;
	color: #565656;
}
.register-form fieldset {
	display: block;
	margin: 40px 0 20px 0;
	padding: 20px 0 0 0;
	border-bottom: 1px solid #ccc;
}
.register-form table {
	width: 100%;
}
.register-form table input {
	margin: 0;
}
.register-form table select {
	width: auto;
	min-width: 160px;
}
.register-form table th,
.register-form table td {
	border-top: 1px solid #ccc;
}
.register-form table th {
	padding: 23px 30px 23px 2px;
	width: 400px;
	font-size: 16px;
	color: #000;
}
.register-form table div.th {
	display: flex;
	align-items: center;
	padding: 8px 0 10px 0;
	font-size: 16px;
	color: #000;
}
.register-form table div.th .required-feedback {
	margin-left: 2em;
	padding: 0;
}
.register-form table th p,
.register-form table div.th p {
	position: relative;
	padding-right: 70px;
	line-height: 1.5;
}
.register-form table div.th p {
	display: inline-block;
}
.register-form table div.th-single p {
	display: block;
	float: left;
	width: 360px;
}
.register-form table div.th-single .form-alert {
	margin: 0;
	padding-left: 20px;
	float: left;
}
.register-form table th p i,
.register-form table div.th p i {
	position: absolute;
	top: 0;
	right: 0;
}
.register-form table td {
	padding: 16px 0 16px 2px;
}
.register-form table .form-wrap div {
	display: table;
	float: left;
}
.register-form table .size-full .form-control {
	width: 500px;
}
.register-form table .size-middle .form-control {
	width: 320px;
}
.register-form table .no-border th,
.register-form table .no-border td {
	border-top: 0;
}
.register-form table tr.msg th,
.register-form table tr.msg td {
	padding-bottom: 0;
}
/* テキストエリア */
.register-form table .textarea {
	margin: 10px 0 0 0;
	padding: 0 0 10px 0;
	max-width: 800px;
}
/* 横並びブロック */
.register-form table .inline {
	width: 100%;
}
.register-form table .inline:after {
	content: '';
	display: block;
	clear: both;
}
.register-form table .inline .size-middle {
	float: left;
	width: 40%;
}
.register-form table .inline .size-middle .form-control {
	width: 100%;
}
/* 説明のテキスト */
.register-form table .text {
	margin: 5px 0;
	font-size: 14px;
	line-height: 1.7;
}
.register-form table .inline .text {
	display: inline-block;
	padding-left: 20px;
}
/* 名前 */
.register-form table .name {
	display: flex;
}
.register-form table .name dl {
	display: flex;
	padding-right: 20px;
}
.register-form table .name dl dt {
	padding-right: 10px;
	color: #000;
	white-space: nowrap;
}
.register-form table .name dl dt p {
	line-height: 34px;
}
.register-form table .name dl dd input {
	width: 200px;
}
/* 法人格 */
.register-form table .employment {
	display: table;
	margin-top: 5px;
}
.register-form table .employment .col {
	display: table-cell;
	vertical-align: top;
	padding: 0 10px 0 0;
}
.register-form table .employment .col:last-child {
	padding: 0;
}
.register-form table .employment .col input {
	width: 240px;
}
.register-form table .employment .required-symbol::after {
	content: none;
}
.register-form table .employment .required-symbol .col:last-child {
	display: flex;
}
.register-form table .employment .required-symbol .col:last-child .required {
	flex: 1;
}
.register-form table .employment .required-symbol .col:last-child::after {
	display: block;
	content: '　';
	margin-top: 9px;
	padding-right: 0.2em;
	flex-basis: 1.5em;
	flex-shrink: 0;
	text-align: center;
	font-family: "Font Awesome 5 Pro";
	font-weight: 400;
	font-size: 22px;
	line-height: 1;
}
.register-form table .employment .required-symbol.is-valid .col:last-child::after {
	content: "\f00c";
	color: #78be20;
}
.register-form table .employment .required-symbol.is-invalid .col:last-child::after {
	content: "\f00d";
	color: #b2301a;
}
/* マイページ・パスワード */
.register-form table.mypage-pw tr:last-child th,
.register-form table.mypage-pw tr:last-child td {
	border-top: 1px dashed #ccc;
}
/* 番号 */
.register-form table .zip {
	width: 200px;
}
/* 横並びリスト */
.register-form table .list-inline {
	display: flex;
	width: 100%;
}
.register-form table .list-inline ul {
	display: flex;
	flex-wrap: wrap;
	padding: 0 0 10px 0;
}
.register-form table .list-inline ul::after {
	content: none;
}
.register-form table .list-inline ul li {
	padding: 7px 40px 4px 0;
	line-height: 1.5;
}
.register-form table .list-inline .col4 li {
	flex-basis: 25%;
	max-width: 25%;
}
.register-form table .list-inline .col5 li {
	flex-basis: 20%;
	max-width: 20%;
}
.register-form table .list-inline ul li label {
	display: inline-block;
	position: relative;
	padding-left: 1.6em;
}
.register-form table .list-inline ul li input {
	position: absolute;
	top: 0.24em;
	left: 0;
	margin-top: 0;
}
.register-form table .list-inline ul li .form-control {
	position: relative;
	top: 0;
}
.register-form table .list-inline ul li.list-full {
	padding: 7px 0 4px 0;
	flex-basis: 100%;
	max-width: 100%;
	display: flex;
}
.register-form table .list-inline ul li.list-other {
	padding: 10px 0 7px 0;
}
.register-form table .list-inline ul li.list-other label {
	margin: 0.7em 2em 0 0;
}
.register-form table .list-inline ul li.list-other .form-control {
	width: 600px;
}
.register-form table .list-inline .list-row {
	display: flex;
	flex-wrap: wrap;
	padding: 0;
}
.register-form table .list-inline .list-row li {
	flex-basis: 33.3%;
	max-width: 33.3%;
}
.register-form table .list-inline .list-row li label {
	white-space: normal;
}
.register-form table .list-inline .list-indent {
	margin: 5px 0 15px 0;
	padding: 0 0 10px 1.5em;
	border-bottom: 1px dashed #ccc;
}
.register-form table .list-inline .list-indent:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: 0;
}
.register-form table .valign-middle {
	vertical-align: middle;
}
/* Eメール配信 */
.register-form .optin {
	margin: 40px 0 0 0;
	font-size: 16px;
}
.register-form .optin .title {
	color: #000;
}
.register-form .optin label {
	position: relative;
	padding-left: 22px;
}
.register-form .optin label input {
	position: absolute;
	top: 3px;
	left: 0;
}
.register-form .optin p {
	margin: 20px 0 0 0;
	font-size: 14px;
}
/* フォーム エラー表示 */
.register-form table div.th .form-alert {
	display: inline;
	padding-left: 8px;
}
.register-form table .form-wrap .form-alert {
	display: inline;
	padding-left: 20px;
	line-height: 34px;
}
.form-alert-message {
	display: none;
	margin: 40px 0;
	text-align: center;
	font-size: 21px;
	font-weight: 400;
	line-height: 1.3;
	color: #b2301a;
}
.form-alert-message.is-invalid {
	display: block;
}
.form-alert-message i {
	margin-right: 0.5em;
}

/* アンケートレイアウト2021 */
.register-form .list-anc-table {
	margin: 0 50px;
}
.register-form .list-anc-table table th,
.register-form .list-anc-table table td {
	padding: 10px;
	vertical-align: middle;
	border: 0;
	line-height: 1.5;
	font-size: 14px;
	color: inherit;
}
.register-form .list-anc-table table th {
	width: 64%;
}
.register-form .list-anc-table table td {
	width: 18%;
	text-align: center;
}
.register-form .list-anc-table table.table-head {
	white-space: nowrap;
}
.register-form .list-anc-table table.table-head br {
	display: none;
}
.register-form .list-anc-table table.table-body {
	margin: 0 0 20px 0;
	border: 1px solid #d7d7d7;
}
.register-form .list-anc-table table.table-body th,
.register-form .list-anc-table table.table-body td {
	border-top: 1px dashed #d7d7d7;
}
.register-form .list-anc-table table.table-body tr:first-child th,
.register-form .list-anc-table table.table-body tr:first-child td {
	border: 0 !important;
}
.register-form .list-anc-table table.table-body tr:nth-child(even) th,
.register-form .list-anc-table table.table-body tr:nth-child(even) td {
	background-color: #f5f5f5;
}
.register-form .list-anc-table table.table-body th .th-name {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.register-form .list-anc-table table.table-body th .th-name .form-alert {
	margin: 0;
	flex: 1;
	text-align: right;
	white-space: nowrap;
}
.register-form .list-anc-table table.table-body td input {
	margin: 0.16em 0 0 0;
}
.register-form .list-anc-table table.table-body th .other {
	display: flex;
}
.register-form .list-anc-table table.table-body th .other > div:first-child {
	margin: 0.5em 0 0 0;
}
.register-form .list-anc-table table.table-body th .other .other-input {
	flex: 1;
	padding: 0 0 0 20px;
}
.register-form .list-anc-table table.table-body .disabled th {
	color: #ccc;
}

@media screen and (max-width: 1309px) {
	.register-form table th {
		width: 320px;
	}
	.register-form table .form-wrap-input div {
		float: none;
		display: block;
	}
	.register-form table div.th-single p {
		width: auto;
	}
	.register-form table .code .form-alert {
		display: block;
		margin-top: 5px;
		padding-left: 0;
		line-height: 1.5;
	}
	.register-form table .list-inline .col4 li {
		flex-basis: 33.333%;
		max-width: 33.333%;
	}
	.register-form table .list-inline .col5 li {
		flex-basis: 25%;
		max-width: 25%;
	}
	.register-form table .list-inline .list-row li {
		flex-basis: 50%;
		max-width: 50%;
	}
	/* フォーム エラー表示 */
	.register-form table .form-wrap-input .form-alert {
		display: block;
		padding-left: 0;
		line-height: 1.5;
	}
	/* アンケートレイアウト2021 */
	.register-form .list-anc-table {
		margin: 0;
	}
}
@media screen and (max-width: 991px) {
	/* フォーム */
	.register-form table,
	.register-form table tbody,
	.register-form table tr,
	.register-form table th,
	.register-form table td {
		display: block;
		width: 100%;
	}
	.register-form table th,
	.register-form table div.th,
	.register-form table td {
		padding: 0;
		border: 0;
	}
	.register-form table th,
	.register-form table div.th {
		border-top: 1px solid #ccc;
	}
	.register-form table th {
		padding: 15px 0 5px 0;
		white-space: normal;
	}
	.register-form table div.th {
		display: block;
		padding: 15px 0 0 0;
	}
	.register-form table div.th .required-feedback {
		margin: 0.5em 0 0 0;
	}
	.register-form table th p,
	.register-form table div.th p {
		display: inline-block;
		padding: 0;
	}
	.register-form table th p i,
	.register-form table div.th p i {
		position: relative;
		top: auto; right: auto;
		margin: 0 0 0 0.8em;
	}
	.register-form table td {
		padding: 0 0 20px 0;
	}
	.register-form table .size-full .form-control {
		width: 100%;
	}
	.register-form table .size-middle .form-control {
		width: 60%;
	}
	/* 横並びブロック */
	.register-form table .inline .size-middle {
		width: 60%;
	}
	/* 説明のテキスト */
	.register-form table .text:first-child {
		margin-top: 0;
	}
	/* 名前 */
	.register-form table .name dl dd input {
		width: 280px;
	}
	/* 法人格 */
	.register-form table .employment .col input {
		width: 200px;
	}
	/* マイページ・パスワード */
	.register-form table.mypage-pw tr:last-child td {
		border-top: 0;
	}
	/* 横並びリスト */
	.register-form table .list-inline {
		display: block;
	}
	.register-form table .list-inline .col4 li {
		flex-basis: 50%;
		max-width: 50%;
	}
	.register-form table .list-inline .col5 li {
		flex-basis: 50%;
		max-width: 50%;
	}
	.register-form table .list-inline ul li.list-other {
		padding: 7px 0 4px 0;
		display: block;
	}
	.register-form table .list-inline ul li.list-other > div {
		max-width: 800px;
	}
	.register-form table .list-inline ul li.list-other label {
		margin: 0 0 10px 0;
	}
	.register-form table .list-inline ul li.list-other .form-control {
		width: 100%;
	}
	/* Eメール配信 */
	.register-form .delivery {
		margin-top: 20px;
	}
	/* フォーム エラー表示 */
	.register-form table div.th .form-alert {
		display: block;
		float: none;
		padding: 0 0 5px 0;
	}
	/* アンケートレイアウト2021 */
	.register-form .list-anc-table table,
	.register-form .list-anc-table table tbody {
		display: table;
	}
	.register-form .list-anc-table table tr {
		display: table-row;
	}
	.register-form .list-anc-table table th,
	.register-form .list-anc-table table td {
		display: table-cell;
	}
	.register-form .list-anc-table table th {
		width: auto;
	}
	.register-form .list-anc-table table td {
		width: 18%;
	}
	.register-form .list-anc-table table.table-body th .th-name {
		display: block;
	}
	.register-form .list-anc-table table.table-body th .th-name .form-alert {
		text-align: left;
	}
}
@media screen and (max-width: 767px) {
	.register-form .h {
		font-size: 20px;
	}
	.register-form .h span {
		display: block;
		padding: 0;
	}
	.register-form table select {
		width: 100%;
	}
	.register-form table th p,
	.register-form table div.th p {
		float: none;
	}
	.register-form table .size-full .form-control,
	.register-form table .size-middle .form-control {
		width: 100%;
	}
	.register-form table .form-wrap div {
		float: none;
		display: block;
	}
	.register-form table .no-border th {
		padding-top: 5px;
	}
	/* 横並びブロック */
	.register-form table .inline .size-middle {
		float: none;
		width: 100%;
	}
	/* 説明のテキスト */
	.register-form table .inline .text {
		padding-left: 0;
	}
	/* 名前 */
	.register-form table .name {
		display: block;
	}
	.register-form table .name dl {
		display: table;
		float: none;
		padding: 0;
		width: 100%;
	}
	.register-form table .name dl dt,
	.register-form table .name dl dd {
		display: table-cell;
		padding-top: 5px;
		vertical-align: top;
		float: none;
	}
	.register-form table .name dl dt {
		width: 1px;
		white-space: nowrap;
	}
	.register-form table .name dl dd input {
		width: 100%;
	}
	/* 法人格 */
	.register-form table .employment {
		display: block;
	}
	.register-form table .employment .col {
		display: block;
		margin: 5px 0 0 0;
		padding: 0;
	}
	.register-form table .employment .col input {
		width: 100%;
	}
	.register-form table .employment .required-symbol {
		display: block;
	}
	.register-form table .employment .required-symbol .col:last-child::after {
		padding-right: 0;
	}
	/* マイページ・パスワード */
	.register-form table td.mypage-pw .size-middle,
	.register-form table td.mypage-pw-conf .size-middle {
		width: 100% !important;
	}
	.register-form table td.mypage-pw {
		padding-bottom: 5px;
	}
	/* ソーシャル */
	.register-form table .social li {
		display: block;
		margin-top: 5px;
	}
	.register-form table .social div {
		display: block;
	}
	.register-form table .social div:first-child {
		padding: 0 0 0.5em 0;
		width: auto;
	}
	/* 横並びリスト */
	.register-form table .list-inline ul {
		display: block;
		padding: 0;
	}
	.register-form table .list-inline ul li {
		padding: 7px 0 0 0;
		max-width: 100% !important;
	}
	.register-form table .list-inline .list-row {
		display: block;
	}
	/* Eメール配信 */
	.register-form .optin {
		margin: 30px 0 0 0;
	}
	.register-form .delivery .list-inline ul li input {
		top: 0.2em;
	}
	/* フォーム エラー表示 */
	.register-form table .form-alert {
		display: block !important;
		float: none !important;
		padding-left: 0 !important;
		line-height: 1.5 !important;
	}
	.register-form .form-alert-message {
		margin: 30px 0;
		font-size: 18px;
	}
	/* アンケートレイアウト2021 */
	.register-form .list-anc-table table td {
		padding-left: 0;
		padding-right: 0;
		width: 60px;
	}
	.register-form .list-anc-table table.table-head td {
		font-size: 11px;
	}
	.register-form .list-anc-table table.table-head br {
		display: block;
	}
	.register-form .list-anc-table table.table-body th {
		padding-right: 0;
	}
	.register-form .list-anc-table table.table-body th .other {
		display: block;
	}
	.register-form .list-anc-table table.table-body th .other > div:first-child {
		margin: 0;
	}
	.register-form .list-anc-table table.table-body th .other .other-input {
		margin: 5px 0 0 0;
		padding: 0;
	}
	.register-form .list-anc-table table.table-body td {
		width: 60px;
	}
}
@media screen and (max-width: 575px) {
	/* フォーム */
	.register-form fieldset {
		margin: 10px 0;
		padding-top: 20px;
	}
}

/*============================================================
	[登録] 登録内容のご確認
*/
.register-confirm {
	margin-top: 50px;
}
/* お客様情報 */
.register-confirm .row {
	margin-top: 50px;
}
.register-confirm .row:first-child {
	margin-top: 0;
}
.register-confirm .col {
	width: 50%;
}
.register-confirm .h {
	margin: 50px 0 10px 0;
	font-size: 18px;
}
.register-confirm .h:first-child {
	margin-top: 0;
}
.register-confirm table {
	width: 100%;
	border-bottom: 1px solid #ddd;
}
.register-confirm table th,
.register-confirm table td {
	padding: 12px 0;
	vertical-align: top;
	border-top: 1px solid #d7d7d7;
	line-height: 1.5;
}
.register-confirm table th {
	padding-right: 30px;
	width: 50%;
	color: #000;
}
.register-confirm table td p {
	margin: 12px 0 0 0;
	padding: 12px 0 0 0;
	border-top: 1px dashed #d7d7d7;
}
.register-confirm table td p:first-child {
	margin: 0;
	padding: 0;
	border-top: 0;
}
.register-confirm table.confirm th {
	width: 305px;
}
/**/
.page-mypage .register-confirm table th,
.page-mypage .register-confirm table.confirm th {
	width: 400px;
}
/* アンケートレイアウト */
.register-confirm .register-anc-head {
	margin: 0 0 20px 0;
	padding: 10px 0 0 0;
	border-top: 1px solid #d7d7d7;
}
.register-confirm table.register-anc-body {
	border-bottom: 1px dashed #d7d7d7;
}
.register-confirm table.register-anc-body th,
.register-confirm table.register-anc-body td {
	padding: 8px 0;
	border-top: 1px dashed #d7d7d7;
}
.register-confirm table.register-anc-body th {
	width: auto;
}
.register-confirm table.register-anc-body th .single {
	display: flex;
}
.register-confirm table.register-anc-body th .single .other-input {
	flex: 1;
	padding: 0 0 0 100px;
}
.register-confirm table.register-anc-body td {
	padding-left: 10px;
	width: 10px;
	white-space: nowrap;
}
.register-confirm table.register-anc {
	margin: 40px 0 0 0;
}
.register-confirm table.register-anc th {
	width: 39.5%;
}
.register-confirm table.register-anc td {
	width: 60.5%;
}
/* セッション */
.register-timetable-list {
	margin-top: 80px;
}
.page-mypage .register-timetable-list {
	margin-top: 50px;
}
.register-timetable-list .col {
	margin-bottom: 30px;
	width: 50%;
}
.register-timetable-list .h {
	margin-bottom: 30px;
	text-align: center;
	font-size: 20px;
}
.register-timetable-list .date {
	margin-top: 10px;
	font-size: 18px;
}
.register-timetable-list ul {
	margin-top: 10px;
	border-bottom: 1px solid #d7d7d7;
	line-height: 1.6;
}
.register-timetable-list ul li {
	padding: 15px 0 15px 5px;
	border-top: 1px solid #d7d7d7;
}
.register-timetable-list ul li .block {
	display: flex;
}
.register-timetable-list ul li .time {
	flex-basis: 105px;
	flex-shrink: 0;
}
.register-timetable-list ul li .id {
	flex-basis: 120px;
	flex-shrink: 0;
	color: #000;
}
.register-timetable-list ul li .title {
	clear: both;
}
@media screen and (max-width: 1309px) {
	.register-confirm table.register-anc th {
		width: 50%;
	}
	.register-confirm table.register-anc td {
		padding-left: 15px;
		width: 50%;
	}
	.register-timetable-list ul li {
		padding: 15px 0;
	}
	.register-timetable-list ul li .block {
		display: block;
	}
	.register-timetable-list ul li .time {
		float: left;
	}
	.register-timetable-list ul li .id {
		float: right;
	}
}
@media screen and (max-width: 991px) {
	/* お客様情報 */
	.register-confirm .row {
		display: block;
	}
	.register-confirm .col {
		float: none;
		width: 100%;
		max-width: 100%;
	}
	.register-confirm table.confirm th {
		width: 50%;
	}
	/**/
	.page-mypage .register-confirm table th,
	.page-mypage .register-confirm table.confirm th {
		width: 50%;
	}
	/* アンケートレイアウト2021 */
	.register-confirm table.register-anc-body {
		margin: 0 0 40px 0;
	}
	.register-confirm table.register-anc td {
		padding-left: 0;
	}
	/* セッション */
	.register-timetable-list .row {
		display: block;
	}
	.register-timetable-list .col {
		float: none;
		margin-bottom: 40px;
		width: 100%;
		max-width: 100%;
	}
	.register-timetable-list ul li .block {
		display: flex;
	}
	.register-timetable-list ul li .time {
		float: none;
	}
	.register-timetable-list ul li .id {
		float: none;
	}
}
@media screen and (max-width: 767px) {
	.register-confirm {
		margin-top: 30px;
	}
	.register-confirm .row {
		margin-top: 30px;
	}
	/* セッション */
	.page-mypage .register-timetable-list {
		margin-top: 30px;
	}
	.register-timetable-list ul li {
		padding: 12px 0;
	}
	.register-timetable-list ul li .block {
		display: block;
	}
	.register-timetable-list ul li .time {
		float: left;
	}
	.register-timetable-list ul li .id {
		float: right;
	}
	.register-timetable-list ul li .title {
		clear: both;
	}
}
@media screen and (max-width: 575px) {
	/* お客様情報 */
	.register-confirm .h {
		margin-top: 30px;
		padding-top: 0;
	}
	.register-confirm table th {
		padding-right: 20px;
	}
	/* セッション */
	.register-timetable-list {
		margin-top: 40px;
	}
}

/*============================================================
	[登録] 完了表示
*/
.register-complete {
	text-align: center;
}
.register-complete .icon {
	margin: -20px 0 0 0;
	font-size: 100px;
	line-height: 1;
	color: #0091da;
}
.register-complete .copy {
	margin: 20px 0;
}
.register-complete .copy:last-child {
	margin-bottom: 0;
}
.register-complete .subject {
	font-size: 20px;
	color: #000;
}
@media screen and (max-width: 575px) {
	.register-complete {
		text-align: left;
	}
	.register-complete .icon {
		margin: 0;
		text-align: center;
		font-size: 80px;
		line-height: 1;
	}
	.register-complete .subject {
		font-size: 18px;
	}
}

/*============================================================
	[アンケート] 入力
*/
.questionary-form {
	overflow: hidden;
	font-size: 14px;
}
.questionary-form .block {
	padding: 40px 0;
	border-top: 1px solid #d7d7d7;
}
.questionary-form .block:first-child {
	border: 0;
}
.questionary-form .block .h p {
	display: inline-block;
	margin-right: 1em;
	color: #000;
}
.questionary-form .block br.static {
	display: block !important;
}
/* テキストエリア */
.questionary-form .textarea-block {
	padding: 10px 0 0 0;
}
.questionary-form .textarea {
	margin: 10px 0 0 0;
}
.questionary-form .textarea textarea {
	display: block;
	width: 100%;
	height: auto;
	font-size: 100% !important;
}
/* チェック ノーマル */
.questionary-form .check-normal {
	margin: 10px 0 0 0;
}
.questionary-form .check-normal ul li {
	margin: 8px 0 0 0;
	line-height: 1.5;
}
.questionary-form .check-normal ul li:first-child {
	margin: 0;
}
.questionary-form .check-normal ul li label {
	position: relative;
	padding: 0 0 0 1.5em;
}
.questionary-form .check-normal ul li label input {
	position: absolute;
	top: 0;
	left: 0;
}
/* チェック 横並び */
.questionary-form .check-inline {
	padding: 7px 0 0 0;
}
.questionary-form .check-inline ul {
	display: flex;
	flex-wrap: wrap;
}
.questionary-form .check-inline ul li {
	margin: 8px 0 0 0;
	line-height: 1.5;
}
.questionary-form .check-inline ul li label {
	position: relative;
	padding: 0 0 0 1.5em;
}
.questionary-form .check-inline ul li label input {
	position: absolute;
	top: 0;
	left: 0;
}
.questionary-form .check-inline ul.inline-2 li {
	flex-basis: 50%;
	max-width: 50%;
}
.questionary-form .check-inline ul.inline-3 li {
	flex-basis: 33.333%;
	max-width: 33.333%;
}
/* チェック レイアウト1 */
.questionary-form .check-type01 {
	margin: 20px 0 0 0;
}
.questionary-form .check-type01 ul {
	display: flex;
	justify-content: space-between;
	line-height: 1.3;
}
.questionary-form .check-type01 ul.inline-3 {
	margin-left: -10%;
	margin-right: -10%;
}
.questionary-form .check-type01 ul li {
	display: flex;
	justify-content: center;
	position: relative;
	width: 100%;
	text-align: center;
}
.questionary-form .check-type01 ul li::before {
	content: '';
	display: block;
	position: absolute;
	top: 6px;
	left: 0;
	right: 0;
	height: 4px;
	background-color: #d7d7d7;
}
.questionary-form .check-type01 ul li:first-child::before {
	left: 50%;
}
.questionary-form .check-type01 ul li:last-child::before {
	right: 50%;
}
.questionary-form .check-type01 ul li label {
	position: relative;
	display: block;
}
.questionary-form .check-type01 ul li label input {
	display: block;
	margin: 0 auto 10px auto;
}
.questionary-form .check-type01 ul li label br {
	display: none;
}
/* チェック レイアウト2 */
.questionary-form .check-type02 {
}
.questionary-form .check-type02:last-child {
	margin-bottom: -40px;
}
.questionary-form .check-type02 table {
	width: 100%;
	line-height: 1.4;
}
.questionary-form .check-type02 table input {
	display: block;
	margin: 0 auto;
}
.questionary-form .check-type02 table label {
	display: flex;
	align-items: center;
	white-space: nowrap;
}
.questionary-form .check-type02 table label input {
	margin: 0 5px 0 0;
}
.questionary-form .check-type02 table label br {
	display: none;
}
.questionary-form .check-type02 table tr th,
.questionary-form .check-type02 table tr td {
	padding: 15px 5px;
	border-top: 1px solid #d7d7d7;
}
.questionary-form .check-type02 table tr:first-child th,
.questionary-form .check-type02 table tr:first-child td {
	border-top: 0;
}
.questionary-form .check-type02 table tr:nth-child(odd) th,
.questionary-form .check-type02 table tr:nth-child(odd) td {
	background-color: #f5f5f5;
}
.questionary-form .check-type02 table tr:first-child th {
	padding-bottom: 5px;
	background-color: transparent;
	vertical-align: bottom;
	text-align: center;
	white-space: nowrap;
}
.questionary-form .check-type02 table tr:first-child th span {
	display: block;
}
.questionary-form .check-type02 table tr:first-child th br {
	display: none;
}
.questionary-form .check-type02 table tr td {
	width: 12%;
}
/* チェック レイアウト3 */
.questionary-form .check-type03 {
}
.questionary-form .check-type03:last-child {
	margin-bottom: -40px;
}
.questionary-form .check-type03 table {
	width: 100%;
	line-height: 1.4;
}
.questionary-form .check-type03 table input {
	display: block;
	margin: 0 auto;
}
.questionary-form .check-type03 table label {
	display: flex;
	align-items: center;
	white-space: nowrap;
	line-height: 1.2;
}
.questionary-form .check-type03 table label input {
	margin: 0 5px 0 0;
}
.questionary-form .check-type03 table label br {
	display: none;
}
.questionary-form .check-type03 table tr th,
.questionary-form .check-type03 table tr td {
	padding: 15px 5px;
	border-top: 1px solid #d7d7d7;
}
.questionary-form .check-type03 table tr:first-child th,
.questionary-form .check-type03 table tr:first-child td {
	border-top: 0;
}
.questionary-form .check-type03 table tr:nth-child(odd) th,
.questionary-form .check-type03 table tr:nth-child(odd) td {
	background-color: #f5f5f5;
}
.questionary-form .check-type03 table tr:first-child th {
	padding-bottom: 5px;
	background-color: transparent;
	vertical-align: bottom;
	text-align: center;
	white-space: nowrap;
}
.questionary-form .check-type03 table tr:first-child th span {
	display: block;
}
.questionary-form .check-type03 table tr:first-child th br {
	display: none;
}
.questionary-form .check-type03 table tr td {
	width: 11%;
}
/* チェック レイアウト4 */
.questionary-form .check-type04 {
	margin: 20px 0 0 0;
}
.questionary-form .check-type04 .inner {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 1.5em;
}
.questionary-form .check-type04 p {
	white-space: nowrap;
}
.questionary-form .check-type04 ul {
	display: flex;
	flex: 1;
	justify-content: space-between;
}
.questionary-form .check-type04 ul li {
	display: flex;
	justify-content: center;
	position: relative;
	padding: 0 20px;
	width: 100%;
	text-align: center;
}
.questionary-form .check-type04 ul li::before {
	content: '';
	display: block;
	position: absolute;
	top: 6px;
	left: 0;
	right: 0;
	height: 4px;
	background-color: #d7d7d7;
}
.questionary-form .check-type04 ul li:first-child::before {
	left: 50%;
}
.questionary-form .check-type04 ul li:last-child::before {
	right: 50%;
}
.questionary-form .check-type04 ul li input {
	position: relative;
	display: block;
	margin: 0 auto;
}
/* フレーム内 */
.questionary-form .frame-wrap {
	margin: 10px 0 0 0;
	border-bottom: 1px solid #d7d7d7;
}
.questionary-form .frame-block {
	padding: 20px;
	border: 1px solid #d7d7d7;
	border-bottom: 0;
}
.questionary-form .frame-block .h p {
	position: relative;
	padding-left: 22px;
	line-height: 1.5;
}
.questionary-form .frame-block .h p i {
	position: absolute;
	top: 1px;
	left: 0;
	font-size: 20px;
}
.questionary-form .frame-block .check-type02 {
	margin: 0;
}
.questionary-form .frame-block .check-type02 table tr th,
.questionary-form .frame-block .check-type02 table tr td {
	border-bottom: 1px solid #d7d7d7;
}
.questionary-form .frame-block .check-type02 table tr th:first-child,
.questionary-form .frame-block .check-type02 table tr td:first-child {
	border-left: 1px solid #d7d7d7;
}
.questionary-form .frame-block .check-type02 table tr th:last-child,
.questionary-form .frame-block .check-type02 table tr td:last-child {
	border-right: 1px solid #d7d7d7;
}
.questionary-form .frame-block .check-type02 table tr:first-child th {
	border-left: 0;
	border-right: 0;
}
.questionary-form .frame-block .check-type02 table tr th:first-child {
	padding-left: 20px;
}
.questionary-form .frame-block .check-type02 table tr td {
	width: 17%;
}
/* エラー */
.questionary-form .block.has-error,
.questionary-form tr.has-error th,
.questionary-form tr.has-error td {
	background-color: #fff0f0 !important;
}
.questionary-form span.form-alert {
	margin: 0;
	font-size: 100%;
}
.questionary-form .block .h span.form-alert {
	display: inline-block;
}

@media screen and (max-width: 1309px) {
	.questionary-form .check-inline ul.inline-3 li {
		flex-basis: 50%;
		max-width: 50%;
	}
	/* チェック レイアウト2 */
	.questionary-form .check-type02 table tr:first-child {
		font-size: 12px;
	}
	.questionary-form .check-type02 table tr td {
		width: 12%;
	}
	/* チェック レイアウト3 */
	.questionary-form .check-type03 table tr:first-child {
		font-size: 12px;
	}
	.questionary-form .check-type03 table tr td {
		width: 12%;
	}
	.questionary-form .check-type03 table label {
		display: block;
		text-align: center;
		font-size: 12px;
	}
	.questionary-form .check-type03 table label input {
		margin: 0 auto 5px auto;
	}
	/* フレーム内 */
	.questionary-form .frame-block .check-type02 table tr td {
		width: 15%;
	}
}

@media screen and (max-width: 991px) {
	/* チェック 横並び */
	.questionary-form .check-inline ul.inline-2,
	.questionary-form .check-inline ul.inline-3 {
		display: block;
	}
	.questionary-form .check-inline ul.inline-2 li,
	.questionary-form .check-inline ul.inline-3 li {
		max-width: 100%;
	}
	/* チェック レイアウト1 */
	.questionary-form .check-type01 {
		font-size: 12px;
	}
	/* チェック レイアウト2 */
	.questionary-form .check-type02 table label br {
		display: block;
	}
	.questionary-form .check-type02 table tr td {
		width: 10%;
	}
	.questionary-form .check-type02 table tr:first-child th br {
		display: block;
	}
	/* チェック レイアウト3 */
	.questionary-form .check-type03 table label br {
		display: block;
	}
	.questionary-form .check-type03 table tr td {
		width: 10%;
	}
	.questionary-form .check-type03 table tr:first-child th br {
		display: block;
	}
	/* チェック レイアウト4 */
	.questionary-form .check-type04 .inner {
		display: block;
		padding: 0;
	}
	.questionary-form .check-type04 p:last-child {
		position: absolute;
		top: 0;
		right: 0;
	}
	.questionary-form .check-type04 ul {
		margin: 10px 0 0 0;
	}
	.questionary-form .check-type04 ul li {
		padding: 0;
	}
}

@media screen and (max-width: 767px) {
	.questionary-form .block {
		padding: 15px 0 20px 0;
		font-size: 13px;
	}
	/* チェック レイアウト1 */
	.questionary-form .check-type01 {
		margin: 10px 0 0 0;
		font-size: 10px;
	}
	.questionary-form .check-type01 ul {
		margin: 0 -15px;
	}
	.questionary-form .check-type01 ul li label br {
		display: block;
	}
	/* チェック レイアウト2 */
	.questionary-form .check-type02 {
		font-size: 12px;
	}
	.questionary-form .check-type02 table tr:first-child {
		font-size: 10px;
	}
	.questionary-form .check-type02:last-child {
		margin-bottom: -20px;
	}
	.questionary-form .check-type02 table label {
		font-size: 10px;
	}
	/* チェック レイアウト3 */
	.questionary-form .check-type03 {
		font-size: 12px;
	}
	.questionary-form .check-type03:last-child {
		margin-bottom: -20px;
	}
	.questionary-form .check-type03 table tr:first-child {
		font-size: 10px;
	}
	.questionary-form .check-type03 table label {
		font-size: 10px;
	}
	/* チェック レイアウト4 */
	.questionary-form .check-type04 {
		margin: 10px 0 0 0;
		font-size: 10px;
	}
	/* フレーム内 */
	.questionary-form .frame-block {
		padding: 10px;
	}
	.questionary-form .frame-block .check-type02 {
		margin: 0;
	}
	.questionary-form .frame-block .check-type02 table tr th:first-child {
		padding-left: 10px;
	}
	.questionary-form .frame-block .check-type02 table tr td {
		width: 16%;
	}
}

@media screen and (max-width: 575px) {
	/* チェック レイアウト2 */
	.questionary-form .check-type02 {
		margin: 0 0 0 0;
	}
	.questionary-form .check-type02 table tr th,
	.questionary-form .check-type02 table tr td {
		padding: 10px 3px;
	}
	.questionary-form .check-type02 table tr:first-child th {
		white-space: normal;
		word-wrap: break-word;
		vertical-align: top;
		text-align: center;
		line-height: 1.05;
	}
	.questionary-form .check-type02 table tr:first-child th div {
		display: flex;
		flex-direction: row-reverse;
		justify-content: center;
	}
	.questionary-form .check-type02 table tr:first-child th span {
		width: 1.3em;
	}
	.questionary-form .check-type02 table tr:first-child th i.rot {
		display: inline-block;
		transform: rotate(90deg);
	}
	/* チェック レイアウト3 */
	.questionary-form .check-type03 {
		margin: 0 0 0 0;
	}
	.questionary-form .check-type03 table tr th,
	.questionary-form .check-type03 table tr td {
		padding: 10px 3px;
	}
	.questionary-form .check-type03 table tr:first-child th {
		white-space: normal;
		word-wrap: break-word;
		vertical-align: top;
		text-align: center;
		line-height: 1.05;
	}
	.questionary-form .check-type03 table tr:first-child th div {
		display: flex;
		flex-direction: row-reverse;
		justify-content: center;
	}
	.questionary-form .check-type03 table tr:first-child th span {
		width: 1.3em;
	}
	/* フレーム内 */
	.questionary-form .frame-block .check-type02 table tr td {
		width: 12%;
	}
}

/*============================================================
	[アンケート] 完了表示
*/
.questionary-complete {
	min-height: 300px;
	text-align: center;
}
.questionary-complete .icon {
	margin: -20px 0 0 0;
	font-size: 100px;
	line-height: 1.2;
	color: #78be20;
}
@media screen and (max-width: 575px) {
	.questionary-complete {
		min-height: inherit;
	}
	.questionary-complete .icon {
		margin: 0;
		font-size: 80px;
		line-height: 1;
	}
}

/*============================================================
	[アンケート] モーダル
*/
.modal-questionary-window .wrapper {
	max-width: 800px;
}
.modal-questionary-window .questionary-form,
.modal-questionary-window .questionary-complete {
	background-color: #fff;
}
.modal-questionary-window .questionary-form .block {
	padding: 20px 50px;
}
.modal-questionary-window .questionary-form .block:nth-child(1) {
	border: 0;
}
.modal-questionary-window .questionary-form .check-type02:last-child,
.modal-questionary-window .questionary-form .check-type03:last-child {
	margin-bottom: -20px;
}
.modal-questionary-window .questionary-form .block p:first-child {
	color: #000;
}
.modal-questionary-window .questionary-form .textarea textarea {
	height: 80px;
}
.modal-questionary-window .questionary-form .btn-wrap {
	padding: 20px 50px 40px 50px;
}
.modal-questionary-window .questionary-complete .icon {
	margin: 0 0 20px 0;
	font-size: 80px;
	color: #0091da;
}
.modal-questionary-window .questionary-complete {
	padding: 40px 50px;
}
.modal-questionary-window .questionary-complete .h {
	font-size: 23px;
	line-height: 1.3;
}
.modal-questionary-window .questionary-complete .h br {
	display: none;
}
.modal-questionary-window .questionary-complete .share {
	margin: 15px 0 0 0;
	text-align: center;
}
.modal-questionary-window .questionary-complete .share ul {
	display: flex;
}
.modal-questionary-window .questionary-complete .share ul li {
	padding: 0 0 15px 0;
	flex-basis: 33.333%;
	max-width: 33.333%;
}
.modal-questionary-window .questionary-complete .share ul li .block {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 5px 0 0 0;
	height: 50px;
	border: 1px solid #d7d7d7;
	border-right: 0;
}
.modal-questionary-window .questionary-complete .share ul li:last-child .block {
	border-right: 1px solid #d7d7d7;
}
.modal-questionary-window .questionary-complete .share .email {
	display: block;
	font-size: 30px;
}

@media screen and (max-width: 767px) {
	.modal-questionary-window .questionary-form .block {
		padding: 20px 15px;
	}
	.modal-questionary-window .questionary-form .btn-wrap {
		padding: 10px 15px 20px 15px;
	}
	.modal-questionary-window .questionary-complete {
		padding: 20px 15px;
	}
	.modal-questionary-window .questionary-complete .h br {
		display: block;
	}
	.modal-questionary-window .questionary-complete .share ul {
		display: block;
	}
	.modal-questionary-window .questionary-complete .share ul li {
		max-width: 100%;
	}
	.modal-questionary-window .questionary-complete .share ul li .block {
		border: 1px solid #d7d7d7;
	}
}

/*============================================================
	[プログラム] カラー2021版
*/
.category .visioninnovation {
	background: -webkit-linear-gradient(45deg, #eb61b2 0%, #ec7700 100%);
	background:         linear-gradient(45deg, #eb61b2 0%, #ec7700 100%);
}
.category .cloud {
	background: -webkit-linear-gradient(45deg, #00c1d5 0%, #3c7ad7 100%);
	background:         linear-gradient(45deg, #00c1d5 0%, #3c7ad7 100%);
}
.category .modernapps {
	background: -webkit-linear-gradient(45deg, #00c1d5 0%, #78be20 100%);
	background:         linear-gradient(45deg, #00c1d5 0%, #78be20 100%);
}
.category .security {
	background: -webkit-linear-gradient(45deg, #3c7ad7 0%, #ad48f1 100%);
	background:         linear-gradient(45deg, #3c7ad7 0%, #ad48f1 100%);
}
.category .edge {
	background: -webkit-linear-gradient(45deg, #eb61b2 0%, #0091da 100%);
	background:         linear-gradient(45deg, #eb61b2 0%, #0091da 100%);
}
.category .network {
	background: -webkit-linear-gradient(45deg, #b06eff 0%, #3c7ad7 100%);
	background:         linear-gradient(45deg, #b06eff 0%, #3c7ad7 100%);
}
.category .inspirechange {
	background: -webkit-linear-gradient(45deg, #d44c51 0%, #6e8fff 100%);
	background:         linear-gradient(45deg, #d44c51 0%, #6e8fff 100%);
}
.category .workspace {
	background: -webkit-linear-gradient(45deg, #78be20 0%, #0091da 100%);
	background:         linear-gradient(45deg, #78be20 0%, #0091da 100%);
}
.category .others {
	background-color: #717074;
}

/*============================================================
	[プログラム] カラー2020版
*/
.color-cloud 			{ color: #78bc20 !important; }
.color-digitalworkspace { color: #0066ca !important; }
.color-network 			{ color: #1d428a !important; }
.color-modernapps 		{ color: #00bfd3 !important; }
.color-security 		{ color: #6600ca !important; }
.color-emergingtrends 	{ color: #ea7700 !important; }
.color-vmware 			{ color: #717074 !important; }

.fill-cloud 			{ background-color: #78bc20 !important; }
.fill-digitalworkspace 	{ background-color: #0066ca !important; }
.fill-network 			{ background-color: #1d428a !important; }
.fill-modernapps 		{ background-color: #00bfd3 !important; }
.fill-security 			{ background-color: #6600ca !important; }
.fill-emergingtrends 	{ background-color: #ea7700 !important; }
.fill-vmware 			{ background-color: #717074 !important; }


/*============================================================
	[プログラム] 参加方法
*/
.join-type {
	display: flex;
	align-items: center;
}
.join-type > div {
	margin-right: 15px;
}
.join-type > div:last-child {
	margin-right: 0;
}
.join-type > div span {
	display: flex;
	align-items: center;
	cursor: default;
}
.join-type > div span i {
	display: block;
	margin-right: 5px;
	width: 24px;
	height: 24px;
	background-size: contain;
}
.join-type .place span i {
	background-image: url('../img/icon-place.svg');
}
.join-type .online span i {
	background-image: url('../img/icon-online.svg');
}
.disable .join-type .place span i {
	background-image: url('../img/icon-place-disable.svg');
}
.disable .join-type .online span i {
	background-image: url('../img/icon-online-disable.svg');
}

/*============================================================
	[セッション] 一覧大枠レイアウト
*/
.layout-timetable-index {
	max-width: 1560px;
	padding: 0 30px;
}
@media screen and (max-width: 991px) {
	.layout-timetable-index {
		max-width: 100%;
		padding: 0 15px;
	}
}
@media screen and (max-width: 767px) {
	.layout-timetable-index {
		max-width: 100%;
	}
}

/*============================================================
	[セッション] 日付タブ
*/
.layout-timetable-tab {
	margin: 0 0 40px 0;
}
.layout-timetable-tab ul {
	display: flex;
	font-size: 16px;
}
.layout-timetable-tab ul li a,
.layout-timetable-tab ul li span {
	position: relative;
	display: block;
	padding: 0 10px 10px 10px;
}
.layout-timetable-tab ul li a::after,
.layout-timetable-tab ul li span::after {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
}
.layout-timetable-tab ul li a {
	color: inherit;
}
.layout-timetable-tab ul li a:hover {
	color: #0091da;
}
.layout-timetable-tab ul li a::after {
	height: 1px;
	background-color: #565656;
}
.layout-timetable-tab ul li span {
	color: #1d428a;
}
.layout-timetable-tab ul li span::after {
	border-bottom: 3px solid #1d428a;
}

/*============================================================
	[セッション] 日付アンカー
*/
.layout-timetable-day-anchor {
	margin: 40px 0;
}
.layout-timetable-day-anchor .link {
	display: flex;
	justify-content: center;
	font-size: 16px;
	line-height: 1.5;
}
.layout-timetable-day-anchor .link li {
	padding: 0 15px;
}
.layout-timetable-day-anchor .link li i {
	padding: 0 0 0 0.3em;
}

@media screen and (max-width: 767px) {
	.layout-timetable-day-anchor {
		margin: 20px 0 30px 0;
		text-align: center;
	}
	.layout-timetable-day-anchor .link {
		display: block;
	}
	.layout-timetable-day-anchor .link li {
		margin: 5px 0;
		padding: 0;
	}
}

/*============================================================
	[セッション] タイムテーブル
*/
.timetable {
	position: relative;
	margin-bottom: 40px;
	border-bottom: 1px solid #ccc;
	background-color: #f7f7f7;
	opacity: 0;
}
.timetable .table {
	position: relative;
	display: flex;
	width: 100%;
}
.timetable .line {
	position: absolute;
	top: -1px;
	left: 0;
	right: 0;
	overflow: hidden;
	height: 1px;
	border-top: 1px solid #d6d6d6;
}
.timetable .col-time {
	padding: 15px 0;
	width: 50px;
	text-align: center;
	font-size: 24px;
	line-height: 1.4;
	color: #000;
}
.timetable .col-list {
	position: relative;
	flex: 1;
}
.timetable .box {
	display: flex;
	flex-wrap: wrap;
	align-content: space-between;
	position: absolute;
	z-index: 1;
	padding: 10px 10px;
	font-size: 14px;
	line-height: 1.5;
	color: #000;
}
.timetable .box::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 2px;
	right: 2px;
	background: #fff;
	box-shadow: 0 0 6px rgba(0,0,0,0.16);
}
.timetable .box > div {
	position: relative;
	width: 100%;
}
.timetable .box-null {
	background: transparent;
	border: 0;
}
.timetable .timetable-break {
	display: none;
}
.timetable .box .row-time {
	display: flex;
	align-items: center;
	margin: 0 0 5px 0;
}
.timetable .box .check {
	margin: 0 5px 0 0;
}
.timetable .box .check input {
	display: block;
	margin: 0;
}
.timetable .box .time {
	color: #565656;
}
.timetable .box .time br {
	display: none;
}
.timetable .box .row-head {
	display: flex;
	flex-direction: column;
	margin: 5px 0;
}
.timetable .box [class^="mod-badge-"] {
	margin: 0 0 5px 0;
}
.timetable .box [class^="mod-badge-"] span {
	font-size: 100%;
}
.timetable .box .id {
	order: 10;
}
.timetable .box .title {
	margin: 5px 0 10px 0;
}
.timetable .box .remark {
	display: flex;
	margin: 8px 0;
	line-height: 1.2;
}
.timetable .box .remark i {
	margin: 0 0.2em 0 0;
	flex-basis: 1.28em;
	text-align: center;
	font-size: 1.14em;
}
.timetable .box .remark i.fa-bread-loaf {
	font-size: 1.07em;
}
.timetable .box .remark span {
	display: block;
}
.timetable .box .row-foot {
	position: relative;
}
.timetable .box .action {
	display: flex;
	justify-content: flex-end;
	font-size: 20px;
	line-height: 1;
}
.timetable .box .info {
	margin: 10px 0 0 0;
	height: 1.2em;
}
.timetable .box.none-info .info {
	margin: 0;
	height: auto;
}
.timetable .box .point {
	display: flex;
}
.timetable .box .point .icon-point {
	width: 1.14em;
	height: 1.14em;
}
.timetable .box .point span {
	display: block;
	padding: 0 0 0 3px;
	line-height: 1.1;
	color: #007ab8;
}
.timetable .box .point span br {
	display: none;
}
.timetable .box-general {
	display: block;
	padding: 15px 20px 10px 20px;
}
.timetable .box-general .row-head {
	flex-direction: row;
	align-items: center;
}
.timetable .box-general .id {
	margin: 0 10px 0 0;
	order: 0;
}
.timetable .box-general [class^="mod-badge-"] {
	margin: 0 5px 0 0;
}
.timetable .box-general .title {
	font-size: 30px;
	line-height: 1.2;
}
.timetable .box-general .row-foot {
	display: flex;
	align-items: center;
	padding: 0 0 10px 0;
}
.timetable .box-general .remark {
	margin: 0 15px 0 0;
	white-space: nowrap;
}
.timetable .box-general .action {
	position: absolute;
	bottom: 15px;
	right: 0;
}
.timetable .box-general .detail {
	color: #565656;
}
.timetable .box-general .detail .row p {
	font-size: 12px !important;
}
/* 無効 */
.timetable .box.disable::before {
	background-color: #f7f7f7;
}
.timetable .box-general.disable h2,
.timetable .box-general.disable h3,
.timetable .box-general.disable h4,
.timetable .box-general.disable h5 {
	color: inherit;
}
.timetable .box-general.disable img {
	opacity: 0.2;
	filter: grayscale(100%);
}
.timetable .box.disable .time {
	color: #ccc;
}
.timetable .box.disable [class^="mod-badge-"] span {
	background-color: transparent;
	border-color: #ccc;
	color: #ccc;
}
.timetable .box.disable .point span {
	color: #ccc;
}
@media screen and (max-width: 1520px) {
	.timetable .box {
		padding: 10px 10px;
		font-size: 13px;
	}
	.timetable .box-general {
		padding: 15px 20px 10px 20px;
		font-size: 100%;
	}
}
@media screen and (max-width: 1400px) {
	.timetable .box {
		padding: 10px 8px;
		font-size: 12px;
	}
	.timetable .box-general {
		padding: 15px 20px 10px 20px;
		font-size: 100%;
	}
}
@media screen and (max-width: 1280px) {
	.timetable .box {
		font-size: 11px;
	}
	.timetable .box .row-time {
		display: block;
	}
	.timetable .box .check {
		margin: 0 0 5px 0;
	}
	.timetable .box .info {
		height: 2.2em;
	}
	.timetable .box .point span br {
		display: block;
	}
	.timetable .box-general {
		font-size: 100%;
	}
	.timetable .box-general .row-time {
		display: flex;
	}
	.timetable .box-general .check {
		margin: 0 5px 0 0;
	}
	.timetable .box-general .point span br {
		display: none;
	}
}
@media screen and (max-width: 991px) {
	.timetable .timetable-break {
		display: block;
	}
	.timetable {
		margin: 0 -15px 40px -15px;
		padding: 15px 15px 5px 15px;
		border-bottom: 0;
		border-top: 0;
	}
	.timetable::before,
	.timetable::after {
		display: none;
	}
	.timetable .col-time {
		display: none;
	}
	.timetable .col-list {
		float: none;
		width: 100% !important;
		height: auto !important;
	}
	.timetable .col-list .line {
		display: none;
	}
	.timetable .line {
		display: none;
	}
	.timetable .box {
		position: relative;
		top: auto !important;
		left: auto !important;
		float: none;
		margin: 0 0 10px 0;
		padding: 12px 15px;
		width: 100% !important;
		height: auto !important;
		background-color: #fff;
		box-shadow: 0 0 6px rgba(0,0,0,0.16);
		font-size: 14px;
	}
	.timetable .box::before {
		content: none;
	}
	.timetable .box.disable {
		background-color: #f7f7f7;
	}
	.timetable .box-null {
		display: none;
	}
	.timetable .box .row-time {
		display: flex;
	}
	.timetable .box .check {
		margin: 0 5px 0 0;
	}
	.timetable .box .row-head {
		flex-direction: row;
	}
	.timetable .box [class^="mod-badge-"] {
		margin: 0 5px 0 0;
	}
	.timetable .box .id {
		margin: 0 10px 0 0;
		order: 0;
	}
	.timetable .box .remark {
		display: inline-block;
		margin: 0 15px 0 0;
	}
	.timetable .box .remark span {
		display: inline-block;
	}
	.timetable .box .row-foot::after {
		content: '';
		display: block;
		clear: both;
	}
	.timetable .box .action {
		float: right;
	}
	.timetable .box .info {
		float: left;
		margin: 0;
		padding: 8px 0 0 0;
		height: auto !important;
	}
	.timetable .box .point span br {
		display: none;
	}
	.timetable .box-general {
		padding: 12px 15px;
	}
	.timetable .box-general .row-foot {
		flex-wrap: wrap;
		padding: 0;
	}
	.timetable .box-general .point {
		flex-basis: 100%;
		margin: 10px 0 0 0;
	}
	.timetable .box-general .action {
		bottom: 0;
	}
}

/*============================================================
	[セッション] セッションを絞り込む
*/
.layout-search-session {
	margin: 40px 0;
}
.layout-search-session .block {
	display: flex;
	padding: 10px 0;
	border-top: 1px solid #d7d7d7;
	font-size: 14px;
	line-height: 1.5;
}
.layout-search-session .block:first-child {
	border: 0;
}
.layout-search-session .block h3 {
	flex-basis: 180px;
	padding: 7px 0;
	font-size: 100%;
}
.layout-search-session .block ul {
	display: flex;
	flex-wrap: wrap;
	flex: 1;
	margin-right: -30px;
}
.layout-search-session .block ul li {
	display: flex;
	flex-basis: 33.333%;
	padding: 5px 30px 5px 0;
}
.layout-search-session .block ul li label {
	display: flex;
}
.layout-search-session .block ul li label input[type="checkbox"] {
	display: block;
	flex-shrink: 0;
	margin-right: 10px;
}
.layout-search-session .show-all {
	margin: 10px 0 0 0;
}
@media screen and (max-width: 991px) {
	.layout-search-session .block ul li {
		flex-basis: 50%;
	}
}
@media screen and (max-width: 767px) {
	.layout-search-session {
		margin: 30px 0;
	}
	.layout-search-session .block {
		display: block;
	}
	.layout-search-session .block ul {
		margin-right: -20px;
	}
	.layout-search-session .block ul li {
		padding: 3px 20px 3px 0;
	}
	.layout-search-session .block ul li label input[type="checkbox"] {
		margin-right: 5px;
	}
}
@media screen and (max-width: 575px) {
	.layout-search-session .block ul {
		display: block;
	}
	.layout-search-session .block ul {
		margin-right: 0;
	}
	.layout-search-session .block ul li {
		padding-right: 0;
	}
}

/*============================================================
	[プログラム] 基本リスト
*/
.layout-program-list .block {
	font-size: 14px;
}
.layout-program-list .block .image-static a,
.layout-program-list .block .image-static > div {
	display: block;
	position: relative;
}
.layout-program-list .block .image-static a:hover {
	opacity: 0.7;
}
.layout-program-list .block .image-static img {
	display: block;
	border: 1px solid #d7d7d7;
	width: 100%;
}
.layout-program-list .block .image-static .far-vm {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	font-size: 66px;
	background-color: rgba(113,112,116,0.38);
	text-shadow: 0 3px 6px rgba(0,0,0,0.65);
	color: #fff;
}
.layout-program-list .block .image-static .far-vm::before {
	opacity: 0.76;
}
.layout-program-list .block .image-static .duration {
	position: absolute;
	bottom: 5px;
	right: 5px;
	padding: 2px 4px 3px 4px;
	border-radius: 2px;
	background-color: #1d428a;
	font-size: 14px;
	line-height: 1;
	color: #fff;
}
.layout-program-list .block .image-static .lock {
	display: block;
	position: absolute;
	top: 8px;
	right: 8px;
	text-shadow: 0 3px 6px rgba(0,0,0,0.5);
	font-size: 25px;
	color: #fff;
}
.layout-program-list .block .image {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	margin: 0 0 15px 0;
	min-height: 126px;
}
.layout-program-list .block .image a {
	display: block;
}
.layout-program-list .block .image a:hover {
	opacity: 0.7;
}
.layout-program-list .block .image img {
	display: block;
	margin: 0 auto;
	border: 1px solid #d7d7d7;
	opacity: 0;
	width: 10px;
}
.layout-program-list .block .image img.img-tall {
	height: 126px;
	width: auto;
	opacity: 1;
}
.layout-program-list .block .image img.img-wide {
	max-width: 168px;
	width: 100%;
	opacity: 1;
}
.layout-program-list .block .id {
	position: relative;
	top: -1px;
	float: left;
	margin-right: 5px;
	color: #000;
	line-height: 1.5;
}
.layout-program-list .block .image-static + .row-head {
    margin: 15px 0 0 0;
}
.layout-program-list .block .row-head::after {
	content: '';
	display: block;
	clear: both;
}
.layout-program-list .block .row-head [class^="mod-badge-"] {
	float: right;
	margin-right: 8px;
}
.layout-program-list .block .row-head .mod-badge-unregistered {
	float: left;
}
.layout-program-list .block .row-head > div {
	margin-bottom: 3px;
}
.layout-program-list .block .row-head > div:last-child {
	margin-right: 0;
}
.layout-program-list .block .title {
	clear: both;
	margin: 5px 0 10px 0;
	line-height: 1.5;
}
.layout-program-list .block .mod-point {
	float: left;
	padding: 3px 0 0 0;
}
.layout-program-list .block .row-foot {
	margin: 10px 0 5px 0;
}
.layout-program-list .block .row-foot::after {
	content: '';
	display: block;
	clear: both;
}
.layout-program-list .block .action {
	float: right;
}
/* DISABLE */
.layout-program-list .block.disable .image,
.layout-program-list .block.disable .image-static {
	opacity: 0.3;
}
.layout-program-list .block.disable .image-static .duration {
	background-color: #999;
}
.layout-program-list .block.disable .image img,
.layout-program-list .block.disable .image-static img {
	filter: grayscale(100%);
}

/*============================================================
	[プログラム] ハンズオンラボ基本リスト
*/
.layout-handsonlabs-list .block {
	font-size: 14px;
	line-height: 1.5;
}
.layout-handsonlabs-list .block .image {
	margin: 0 0 20px 0;
}
.layout-handsonlabs-list .block .image img {
	display: block;
	margin: 0 auto;
	width: 84px;
}
.layout-handsonlabs-list .block .title {
	margin: 5px 0 15px 0;
}
.layout-handsonlabs-list .block .row-foot {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 15px;
}
.layout-handsonlabs-list .block .row-foot:last-child {
	margin-bottom: 0;
}

/*============================================================
	[プログラム] ダウンロード資料基本リスト
*/
.layout-resource-list .block {
	font-size: 14px;
}
.layout-resource-list .block .image {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	margin: 0 0 15px 0;
	min-height: 126px;
}
.layout-resource-list .block .image a {
	display: block;
}
.layout-resource-list .block .image a:hover {
	opacity: 0.7;
}
.layout-resource-list .block .image img {
	display: block;
	margin: 0 auto;
	border: 1px solid #d7d7d7;
	opacity: 0;
	width: 10px;
}
.layout-resource-list .block .image img.img-tall {
	height: 126px;
	width: auto;
	opacity: 1;
}
.layout-resource-list .block .image img.img-wide {
	max-width: 168px;
	width: 100%;
	opacity: 1;
}
.layout-resource-list .block .title {
	margin: 5px 0 10px 0;
	line-height: 1.5;
}
.layout-resource-list .block .row-foot {
	margin: 10px 0 5px 0;
}

/*============================================================
	[プログラム] VMware Explore で学べること
*/
.layout-learn .leadmore .inner::before {
	content: '';
	display: block;
	height: 1.5em;
}
.layout-learn .leadmore-link {
	margin: 20px 0 0 0;
	text-align: center;
}
.layout-learn .leadmore-link i {
	padding-left: 0.3em;
}
.layout-learn .leadmore-link .leadmore-close {
	display: none;
}
.layout-learn .leadmore.show + .leadmore-link .leadmore-open {
	display: none;
}
.layout-learn .leadmore.show + .leadmore-link .leadmore-close {
	display: inline;
}

/*============================================================
	アコーディオン2021
*/
.accordion .root {
	position: relative;
	margin: 0 0 -1px 0;
	font-size: 14px;
	line-height: 1.3;
	transition: background-color 0.3s ease 0s;
	cursor: pointer;
}
.accordion .root::before,
.accordion .root::after {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #d7d7d7;
}
.accordion .root::before {
	top: 0;
}
.accordion .root::after {
	bottom: 0;
}
.accordion .root span {
	position: relative;
	z-index: 1;
	display: inline-block;
	padding: 12px 30px 13px 10px;
}
.accordion .root span::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 2px;
	height: 100%;
	background-color: #ccc;
	transition: background-color 0.3s ease 0s;
}
.accordion .root span .arrow {
	display: block;
	position: absolute;
	top: 50%;
	right: 5px;
	margin-top: -8px;
	width: 1.2em;
	text-align: center;
	font-style: normal;
	font-weight: 500;
	font-family: 'Font Awesome 5 Pro';
	font-size: 17px;
	line-height: 1;
	color: #c1c1c1;
	transition: transform 0.3s ease 0s;
}
.accordion .root span .arrow::before {
	content: "\f105";
	display: block;
	width: 100%;
}
.accordion .child {
	overflow: hidden;
	height: 0;
}
.accordion .root:hover,
.accordion.opened .root {
	background-color: #f5f8fa;
}
.accordion.opened .root:hover {
	background-color: #e9f0f4;
}
.accordion .root:hover span::before,
.accordion.opened .root span::before {
	background-color: #1d428a;
}
.accordion.opened .root span .arrow {
	transform: rotate(90deg);
}

/*============================================================
	[プログラム] 絞り込み2021版
*/
.program-search-word {
	margin: 10px 0 20px 0;
}
.program-search-word h3 {
	position: relative;
	margin: 0 0 25px 0;
	font-size: 14px;
}
.program-search-word h3 a {
	display: none;
}
.program-search-word .input {
	display: flex;
}
.program-search-word .input > div:first-child {
	flex: 1;
	padding: 0 5px 0 0;
}
.program-search-word .input > div:last-child {
	width: 50px;
}
.program-search-word .input input {
	border-radius: 0;
}
.program-search-word .input .btn-default {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0;
	width: 100%;
	height: 100%;
	font-size: 20px;
}
/**/
.program-search-point {
	margin: 0 0 10px;
}
.program-search-point ul li {
	display: flex;
	padding: 5px 0 5px 10px;
}
.program-search-point ul li label {
	display: flex;
}
.program-search-point ul li label input[type="checkbox"] {
	display: block;
	flex-shrink: 0;
	margin-right: 10px;
}
.program-search-point ul li .mod-point {
	line-height: 1.5;
}
.program-search-point ul li .mod-point .icon-point {
	width: 16px;
	height: 16px;
}
/**/
.program-search-group {
	margin: 0 0 20px 0;
}
.program-search-group .accordion .root span {
	display: block;
}
.program-search-group ul {
	padding: 10px 0;
}
.program-search-group ul li {
	padding: 5px 0 5px 10px;
	line-height: 1.5;
}
.program-search-group ul li label {
	display: flex;
}
.program-search-group ul li label input[type="checkbox"] {
	display: block;
	flex-shrink: 0;
	margin-right: 10px;
}

@media screen and (max-width: 991px) {
	.program-search-word {
		margin: 0 0 15px 0;
	}
	.program-search-word h3 {
		margin: 0 0 15px 0;
	}
	.program-search-word h3 a {
		display: block;
		position: absolute;
		bottom: -2px;
		right: 0;
		font-size: 34px;
		line-height: 1;
		color: #1d428a !important;
	}
	/**/
	.program-search-point ul li label input[type="checkbox"] {
		margin-right: 5px;
	}
	/**/
	.program-search-group {
		margin: 0 0 15px 0;
	}
	.program-search-group ul {
		display: flex;
		flex-wrap: wrap;
	}
	.program-search-group ul li {
		flex-basis: 50%;
		max-width: 50%;
	}
	.program-search-group ul li label input[type="checkbox"] {
		margin-right: 5px;
	}
}
@media screen and (max-width: 767px) {
	.program-search-point ul li {
		padding: 3px 0;
	}
	/**/
	.program-search-group ul li {
		padding: 3px 0;
	}
}
@media screen and (max-width: 575px) {
	.program-search-group ul {
		display: block;
	}
	.program-search-group ul li {
		max-width: 100%;
	}
}

/*============================================================
	[プログラム] コンテンツ件数
*/
.unit-program-index-head {
	display: flex;
	align-items: flex-end;
	margin: 0 0 30px 0;
	padding: 0 0 10px 0;
	border-bottom: 1px solid #d7d7d7;
	font-size: 16px;
	line-height: 1.5;
	color: #000;
}
.unit-program-index-head .total {
	margin: 0 30px 5px 0;
}
.unit-program-index-head .total span {
	font-size: 28px;
	line-height: 1;
}
.unit-program-index-head .number {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	flex: 1;
	color: #000;
}
.unit-program-index-head .number ul {
	display: flex;
	margin: 0 0 5px 0;
}
.unit-program-index-head .number ul li {
	margin: 0 30px 0 0;
}
.unit-program-index-head .number ul li:last-child {
	margin: 0;
}
@media screen and (max-width: 767px) {
	.unit-program-index-head {
		margin: 0 0 20px 0;
	}
	.unit-program-index-head .number {
		display: block;
	}
}
@media screen and (max-width: 575px) {
	.unit-program-index-head {
		display: block;
	}
	.unit-program-index-head .number ul {
		margin: 0 0 10px 0;
		font-size: 14px;
	}
	.unit-program-index-head .number ul {
		margin: 0;
		display: block;
	}
	.unit-program-index-head .show-all {
		margin: 10px 0 0 0;
	}
}

/*============================================================
	[プログラム] アンカーナビ
*/
.layout-anchor-nav {
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 30px 0;
	font-size: 16px;
}
.layout-anchor-nav li {
	margin: 0 30px 10px 0;
}
.layout-anchor-nav li:last-child {
	margin: 0;
}
.layout-anchor-nav li i {
	padding: 0 0 0 0.3em;
}
@media screen and (max-width: 767px) {
	.layout-anchor-nav {
		margin: 20px 0;
		font-size: 15px;
	}
	.layout-anchor-nav li {
		margin: 0 15px 0 0;
	}
}

/*============================================================
	[プログラム] 一覧
*/
.layout-program-index-list {
	margin: 0 0 60px 0;
}
.layout-program-index-list:last-child {
	margin: 0;
}
.layout-program-index-list .layout-anchor-nav {
	margin-top: 0;
}
.layout-program-index-list h2 {
	font-size: 28px;
	line-height: 1.5;
}
/**/
.layout-program-index-list .layout-program-list {
	display: flex;
	flex-wrap: wrap;
}
.layout-program-index-list .layout-program-list .block .inner {
	padding: 0 0 15px 0;
	height: 100%;
	border-bottom: 1px solid #d7d7d7;
}
.layout-program-catalog-list .layout-program-list {
	margin: 0 -25px;
}
.layout-program-catalog-list .layout-program-list .block {
	padding: 20px 25px 0 25px;
	flex-basis: 25%;
	max-width: 25%;
}
.layout-program-category-list .layout-program-list {
	margin: 0 -15px;
}
.layout-program-category-list .layout-program-list .block {
	padding: 20px 15px 0 15px;
	flex-basis: 25%;
	max-width: 25%;
}
/**/
.layout-program-index-list .layout-handsonlabs-list {
	display: flex;
	flex-wrap: wrap;
}
.layout-program-catalog-list .layout-handsonlabs-list {
	margin: 0 -25px;
}
.layout-program-catalog-list .layout-handsonlabs-list .block {
	padding: 40px 25px 30px 25px;
	flex-basis: 25%;
	max-width: 25%;
}
.layout-program-category-list .layout-handsonlabs-list {
	margin: 0 -35px;
}
.layout-program-category-list .layout-handsonlabs-list .block {
	padding: 40px 35px 30px 35px;
	flex-basis: 25%;
	max-width: 25%;
}
@media screen and (max-width: 1309px) {
	.layout-program-index-list .layout-program-list .block {
		flex-basis: 33.333%;
		max-width: 33.333%;
	}
	/**/
	.layout-program-index-list .layout-handsonlabs-list .block {
		flex-basis: 33.333%;
		max-width: 33.333%;
	}
}
@media screen and (max-width: 1104px) {
	.layout-program-catalog-list .layout-program-list {
		margin: 0 -15px;
	}
	.layout-program-catalog-list .layout-program-list .block {
		padding: 20px 15px 0 15px;
	}
	.layout-program-catalog-list .layout-handsonlabs-list {
		margin: 0 -15px;
	}
	.layout-program-catalog-list .layout-handsonlabs-list .block {
		padding: 40px 15px 30px 15px;
	}
}
@media screen and (max-width: 991px) {
	.layout-program-category-list .layout-handsonlabs-list {
		margin: 0 -15px;
	}
	.layout-program-category-list .layout-handsonlabs-list .block {
		padding: 40px 15px 30px 15px;
	}
}
@media screen and (max-width: 767px) {
	.layout-program-index-list {
		margin: 0 0 40px 0;
	}
	.layout-program-index-list h2 {
		font-size: 22px;
	}
	/**/
	.layout-program-index-list .layout-program-list .block {
		flex-basis: 50%;
		max-width: 50%;
	}
	/**/
	.layout-program-index-list .layout-handsonlabs-list .block {
		flex-basis: 50%;
		max-width: 50%;
	}
}
@media screen and (max-width: 575px) {
	/**/
	.layout-program-index-list .layout-program-list {
		display: block;
		margin: 0;
	}
	.layout-program-index-list .layout-program-list .block {
		padding: 30px 0 0 0;
		max-width: 100%;
	}
	.layout-program-index-list .layout-program-list .block .image {
		min-height: auto !important;
	}
	.layout-program-index-list .layout-program-list .block .image img.img-tall {
		height: auto;
		width: 118px;
	}
	/**/
	.layout-program-index-list .layout-handsonlabs-list {
		display: block;
		margin: 0;
	}
	.layout-program-index-list .layout-handsonlabs-list .block {
		padding: 30px 0 0 0;
		max-width: 100%;
	}
}

/*============================================================
	[プログラム] 一覧大枠レイアウト
*/
.layout-program-index {
	max-width: 1520px;
	padding: 0 30px;
}
.layout-program-index-row {
	display: flex;
	flex-direction: row-reverse;
}
.layout-program-index-row .layout-program-index-side {
	flex-basis: 310px;
	max-width: 310px;
	padding: 0 50px 50px 0;
}
.layout-program-index-row .layout-program-index-content {
	flex: 1;
}

@media screen and (max-width: 1309px) {
	.layout-program-index-row .layout-program-index-side {
		flex-basis: 290px;
		max-width: 290px;
		padding: 0 30px 50px 0;
	}
}
@media screen and (max-width: 991px) {
	.layout-program-index {
		padding: 0 15px;
		max-width: 100%;
	}
	.layout-program-index-row {
		display: block;
	}
	.layout-program-index-row .layout-program-index-side {
		overflow-y: scroll;
		position: fixed;
		z-index: 100;
		top: 0;
		left: 110vw;
		max-width: initial;
		width: 100vw;
		height: 100%;
		padding: 120px 30px 30px 30px;
		border-top: 1px solid #d7d7d7;
		background-color: #fff;
		box-shadow: 0 0 8px 0 rgba(0,0,0,0.1);
		transform: translateX(0);
		transition: padding 0.3s ease, transform 0.6s ease;
	}
	.index-side-opened .layout-program-index-row .layout-program-index-side {
		transform: translateX(-110vw);
	}
	.hide-header .layout-program-index-row .layout-program-index-side {
		padding-top: 30px;
	}
}
@media screen and (max-width: 767px) {
	.layout-program-index {
		max-width: 100%;
	}
	.layout-program-index-row .layout-program-index-side {
		padding: 120px 15px 30px 15px;
	}
}

/*============================================================
	[詳細] ダウンロード資料スライダー
*/
.layout-resource-slider-list {
	margin: 70px 0;
	padding: 0 25px;
}
.layout-resource-slider-list .h {
	margin: 0 0 40px 0;
	text-align: center;
	font-size: 23px;
}
.layout-resource-slider-list .slick-prev {
	left: -25px;
}
.layout-resource-slider-list .slick-next {
	right: -25px;
}
.layout-resource-slider-list .layout-resource-list {
	margin: 0 auto;
	max-width: 1310px;
}
.layout-resource-slider-list .layout-resource-list .block .inner {
	margin: 0 40px;
}
@media screen and (max-width: 1309px) {
	.layout-resource-slider-list .layout-resource-list {
		max-width: 990px;
	}
}
@media screen and (max-width: 767px) {
	.layout-resource-slider-list {
		margin: 40px 0;
	}
	.layout-resource-slider-list .h {
		margin: 0 0 20px 0;
		font-size: 20px;
	}
}
@media screen and (max-width: 575px) {
	.layout-resource-slider-list {
		padding: 0;
	}
	.layout-resource-slider-list .slick-prev {
		left: 0;
	}
	.layout-resource-slider-list .slick-next {
		right: 0;
	}
	.layout-resource-slider-list .layout-resource-list .block .inner {
		margin: 0 50px;
	}
}

/*============================================================
	[詳細] 関連
*/
.has-relations .content {
	padding-bottom: 0;
}
.layout-relations {
	margin: 70px 0 0 0;
	padding: 60px 0 80px 0;
	background-color: #f4f8fa;
}
.layout-relations > div {
	margin: 0 0 80px 0;
}
.layout-relations > div:last-child {
	margin: 0;
}
.layout-relations .h {
	margin: 0 0 40px 0;
	text-align: center;
	font-size: 23px;
}
@media screen and (max-width: 767px) {
	.layout-relations {
		margin: 40px 0 0 0;
		padding: 30px 0 40px 0;
	}
	.layout-relations > div {
		margin: 0 0 40px 0;
	}
	.layout-relations .h {
		margin: 0 0 20px 0;
		font-size: 20px;
	}
}

/*============================================================
	[詳細] 関連セッションスライダー
*/
.layout-program-slider-list {
	padding: 0 48px;
}
.layout-program-slider-list .slick-prev {
	left: -48px;
}
.layout-program-slider-list .slick-next {
	right: -48px;
}
.layout-program-slider-list .layout-program-list {
	margin: -10px auto;
	max-width: 1274px;
}
.layout-program-slider-list .layout-program-list .block .inner {
	background-color: #fff;
	margin: 10px 12px;
	box-shadow: 1px 1px 8px rgba(0,0,0,0.16);
}
.layout-program-slider-list .layout-program-list .block .detail {
	padding: 15px;
}
@media screen and (max-width: 1309px) {
	.layout-program-slider-list .layout-program-list {
		max-width: 954px;
	}
}
@media screen and (max-width: 575px) {
	.layout-program-slider-list {
		padding: 0;
	}
	.layout-program-slider-list .slick-prev {
		left: 0;
	}
	.layout-program-slider-list .slick-next {
		right: 0;
	}
	.layout-program-slider-list .layout-program-list .block .inner {
		margin: 10px 50px;
	}
}

/*============================================================
	[詳細] 関連ハンズオンラボスライダー
*/
.layout-handsonlabs-slider-list {
	padding: 0 25px;
}
.layout-handsonlabs-slider-list .slick-prev {
	left: -25px;
}
.layout-handsonlabs-slider-list .slick-next {
	right: -25px;
}
.layout-handsonlabs-slider-list .layout-handsonlabs-list {
	margin: 0 auto;
	max-width: 1310px;
}
.layout-handsonlabs-slider-list .layout-handsonlabs-list .block .inner {
	margin: 0 40px;
}
@media screen and (max-width: 1309px) {
	.layout-handsonlabs-slider-list .layout-handsonlabs-list {
		max-width: 990px;
	}
}
@media screen and (max-width: 575px) {
	.layout-handsonlabs-slider-list {
		padding: 0;
	}
	.layout-handsonlabs-slider-list .slick-prev {
		left: 0;
	}
	.layout-handsonlabs-slider-list .slick-next {
		right: 0;
	}
	.layout-handsonlabs-slider-list .layout-handsonlabs-list .block .inner {
		margin: 0 50px;
	}
}

/*============================================================
	[詳細] お知らせ2021版
*/
.layout-detail-news {
	margin: 20px 0 40px 0;
}
@media screen and (max-width: 767px) {
	.layout-detail-news {
		margin: 20px 0 30px 0 !important;
	}
}

/*============================================================
	[詳細] ヘッド
*/
.layout-detail-head {
	margin: 0 0 40px 0;
	width: 100%;
}
.layout-detail-head .mod-badge-onair {
	margin-bottom: 5px;
}
.layout-detail-head .mod-badge-onair span {
	font-size: 14px;
    line-height: 1.3;
}
.layout-detail-head .title {
	font-size: 24px;
	line-height: 1.4;
}
.layout-detail-head .subtitle {
	margin: 10px 0;
	font-size: 18px;
	line-height: 1.5;
	color: #565656;
}
.layout-detail-head .download {
	display: flex;
	margin: 20px 0 0 0;
}
.layout-detail-head .download a {
	display: block;
	margin-right: 30px;
}
.layout-detail-head .download .none {
	display: block;
	padding: 10px 0 11px 0;
	font-size: 14px;
	line-height: 1.4;
}
@media screen and (max-width: 767px) {
	.layout-detail-head {
		margin: 0 0 10px 0;
	}
	.screen-vertical .detail-main + .container .layout-detail-head {
		margin-top: 10px;
	}
	.layout-detail-head .title {
		font-size: 19px;
	}
	.layout-detail-head .subtitle {
		margin: 5px 0 10px 0;
		font-size: 15px;
	}
	.layout-detail-head .download {
		display: block;
	}
	.layout-detail-head .download div {
		display: flex;
	}
	.layout-detail-head .download .none {
		padding: 10px 0 0 0;
	}
}

/*============================================================
	[詳細] 情報
*/
.layout-detail-info {
	margin: 40px 0;
	border-top: 1px solid #d6d6d6;
	border-bottom: 1px solid #d6d6d6;
}
.content-main + .layout-detail-info {
	margin-top: 0;
}
.layout-detail-info .wrap {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding: 15px 0 0 0;
	line-height: 1.3;
}
.layout-detail-info .wrap > div {
	margin: 0 30px 0 0;
	padding: 0 0 15px 0;
}
.layout-detail-info .wrap > div:last-child {
	margin: 0;
}
.layout-detail-info .id {
	font-size: 16px;
}
.layout-detail-info .date {
	font-size: 16px;
}
.layout-detail-info .time {
	display: flex;
	align-items: center;
}
.layout-detail-info .time i {
	padding: 0 3px 0 0;
	font-size: 16px;
}
.layout-detail-info .actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.layout-detail-info .actions > div {
	margin: 0 30px 0 0;
}
.layout-detail-info .actions > div:last-child {
	margin: 0;
}
.layout-detail-info .add-calendar-link {
	display: flex;
	align-items: center;
	color: #1d428a;
	cursor: pointer;
	transition: color 0.3s ease;
}
.layout-detail-info .add-calendar-link i {
	font-size: 25px;
}
.layout-detail-info .add-calendar-link .text {
	padding: 0 0 0 5px;
}
@media screen and (max-width: 767px) {
	.layout-detail-info {
		margin: 30px 0;
		border-top: 1px solid #d6d6d6;
		border-bottom: 1px solid #d6d6d6;
	}
	.layout-detail-info .wrap {
		display: block;
		padding: 20px 0 0 0;
	}
	.layout-detail-info .wrap > div {
		margin: 0;
		padding: 0 0 20px 0;
	}
	.layout-detail-info .wrap .id {
		padding: 0 0 15px 0;
	}
	.layout-detail-info .actions {
		display: block;
	}
	.layout-detail-info .actions > div {
		display: flex;
		margin: 0 0 20px 0;
	}
	.layout-detail-info .actions > div:last-child {
		margin: 0;
	}
	.layout-detail-info .add-calendar-link i {
		width: 26px;
		text-align: center;
	}
}

/*============================================================
	[詳細] 備考
*/
.layout-detail-remarks {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: 40px 0;
}
.layout-detail-remarks > div {
	margin: 0 30px 0 0;
	padding: 0 0 15px 0;
	flex-shrink: 0;
}
.layout-detail-remarks .remark {
	display: flex;
	line-height: 1.2;
	white-space: nowrap;
	color: #000;
}
.layout-detail-remarks .remark i {
	margin: 0 0.2em 0 0;
	flex-basis: 16px;
	text-align: center;
	font-size: 16px;
}
.layout-detail-remarks .remark span {
	display: block;
}
@media screen and (max-width: 767px) {
	.layout-detail-remarks {
		margin: 30px 0 -15px 0;
	}
	.layout-detail-remarks > div {
		margin: 0 20px 0 0;
		padding: 0 0 15px 0;
	}
}

/*============================================================
	[詳細] 概要
*/
.layout-detail-description {
	display: table;
	margin: 40px 0;
}
.layout-detail-description .logo {
	display: table-cell;
	vertical-align: top;
	padding: 0 20px 0 0;
}
.layout-detail-description .logo .image {
	width: 296px;
}
.layout-detail-description .logo .image img {
	width: 100%;
	border: 1px solid #d7d7d7;
}
.layout-detail-description .description {
	display: table-cell;
	vertical-align: top;
	font-size: 16px;
	line-height: 1.7;
}
@media screen and (max-width: 767px) {
	.layout-detail-description {
		display: block;
		margin: 30px 0;
	}
	.layout-detail-description .logo {
		display: block;
		padding: 0;
	}
	.layout-detail-description .logo .image {
		margin: 0 auto;
	}
	.layout-detail-description .description {
		display: block;
		margin: 15px 0 0 0;
		font-size: 15px;
	}
}

/*============================================================
	[詳細] タグ
*/
.layout-detail-tags {
	margin: 40px 0;
	padding: 20px 0 15px 25px;
	background-color: #f7f7f7;
	line-height: 1.5;
}
.layout-detail-tags .wrap {
	display: table;
}
.layout-detail-tags .wrap > div {
	display: table-row;
}
.layout-detail-tags .wrap h2 {
	display: table-cell;
	padding: 0 30px 12px 0;
	font-size: 100%;
	line-height: inherit;
	white-space: nowrap;
}
.layout-detail-tags .wrap > div > div {
	display: table-cell;
	padding: 0 0 2px 0;
}
.layout-detail-tags ul {
	display: flex;
	flex-wrap: wrap;
}
.layout-detail-tags ul li {
	margin: 0 30px 10px 0;
}
.layout-detail-tags ul li a i {
	padding: 0 0 0 0.2em;
}
@media screen and (max-width: 767px) {
	.layout-detail-tags {
		margin: 30px 0;
		padding: 15px 0 10px 15px;
	}
	.layout-detail-tags .wrap {
		display: block;
	}
	.layout-detail-tags .wrap > div {
		display: block;
	}
	.layout-detail-tags .wrap h2 {
		display: block;
		padding: 0 0 6px 0;
		white-space: normal;
	}
	.layout-detail-tags .wrap > div > div {
		display: block;
		padding: 0 0 9px 0;
	}
	.layout-detail-tags ul li {
		margin: 0 20px 6px 0;
	}
}

/*============================================================
	[詳細] スピーカーリスト
*/
.layout-detail-speaker {
	margin: 40px 0;
}
.layout-detail-speaker ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -15px -20px -15px;
	line-height: 1.5;
}
.layout-detail-speaker ul li {
	flex-basis: 33.333%;
	max-width: 33.333%;
	margin: 0 0 40px 0;
	padding: 0 15px;
}
.layout-detail-speaker ul li .image {
	margin: 0 0 10px 0;
	max-width: 140px;
}
.layout-detail-speaker ul li .image img {
	width: 100%;
}
.layout-detail-speaker ul li p {
	margin: 0;
}
@media screen and (max-width: 767px) {
	.layout-detail-speaker {
		margin: 30px 0 -25px 0;
	}
	.layout-detail-speaker ul {
		font-size: 12px;
	}
	.layout-detail-speaker ul li {
		flex-basis: 50%;
		max-width: 50%;
		margin: 0 0 25px 0;
	}
}
@media screen and (max-width: 575px) {
	.layout-detail-speaker {
		margin: 30px 0 0 0;
	}
	.layout-detail-speaker ul {
		display: block;
		margin: 0;
	}
	.layout-detail-speaker ul li {
		padding: 0;
		max-width: 100%;
	}
}

/*============================================================
	[プログラム] リスト2020版
*/
.program-list {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -15px;
	line-height: 1.5;
}
.program-list .block {
	flex-basis: 25%;
	max-width: 25%;
	padding: 0 15px;
	outline: 0;
}
.program-list .block .inner {
	padding: 15px 5px 5px 5px;
}
.program-list .block.broadcast-live .inner {
	background-color: #f8fdff;
}
.program-list .block .inner .detail {
	position: relative;
}
.program-list .block .inner .row-head::after,
.program-list .block .inner .row-foot::after {
	content: '';
	display: block;
	clear: both;
}
.program-list .block .inner .row-middle {
	display: flex;
	justify-content: flex-end;
}
.program-list .block .inner .broadcast,
.program-list .block .inner .badge-onair {
	float: left;
}
.program-list .block .inner .badge-new,
.program-list .block .inner .badge-release {
	float: right;
}
.program-list .block .inner .broadcast {
	float: left;
	margin: 0 1em 0 0;
	font-size: 12px;
}
.program-list .block .inner .broadcast i {
	display: inline-block;
	margin: 0 0.3em 0 0;
	font-size: 118%;
}
.program-list .block .inner .title {
	display: block;
	margin: 6px 0;
	line-height: 1.5;
}
.program-list .block .inner .qa {
	display: flex;
	align-items: center;
	margin: 4px 0;
	padding: 0 0 0.2em 0;
	font-size: 14px;
	line-height: 1.2;
	color: #0091da;
}
.program-list .block .inner .id {
	display: flex;
	justify-content: flex-end;
	margin: 6px 0;
}
.program-list .block .inner .id span {
	display: block;
	padding: 0 0.4em 2px 0.4em;
	font-size: 14px;
	line-height: 16px;
	color: #fff;
}
.program-list .block .inner .type {
	margin: 10px 0 5px 0;
	text-align: right;
	font-size: 12px;
	line-height: 1.5;
}
.program-list .block .inner .action {
	float: right;
	display: flex;
	justify-content: flex-end;
	font-size: 20px;
	line-height: 1;
}
.program-list .block .inner .action a {
	color: #717074;
}
.program-list .block .inner .action a:hover {
	color: #1d428a;
}
.program-list .block .inner .point {
	float: left;
	display: flex;
	align-items: center;
	cursor: default;
}
.program-list .block .inner .point span {
	display: block;
	padding-left: 5px;
	font-size: 14px;
	line-height: 1.2;
	/*color: #76be21;*/
	color: #007ab8;
}
@media screen and (max-width: 991px) {
	.program-list .block {
		flex-basis: 33.333%;
		max-width: 33.333%;
	}
}
@media screen and (max-width: 767px) {
	.program-list .block {
		flex-basis: 50%;
		max-width: 50%;
	}
}
@media screen and (max-width: 575px) {
	.program-list {
		display: block;
		margin: 0 -15px;
	}
	.program-list .block {
		max-width: 100%;
	}
}

/*============================================================
	[プログラム] リストスライド
*/
.program-list.type-slider {
	display: block;
}
.program-list.type-slider .block {
	max-width: 100%;
}

/*============================================================
	[プログラム] セッション通常一覧
*/
.program-list.program-session.type-static {
	margin-top: 10px;
}
.program-list.program-session.type-static .block .inner {
	border-bottom: 1px solid #d7d7d7;
}
.program-list.program-session.type-static .block:nth-child(1) .inner,
.program-list.program-session.type-static .block:nth-child(2) .inner,
.program-list.program-session.type-static .block:nth-child(3) .inner,
.program-list.program-session.type-static .block:nth-child(4) .inner {
	border-top: 1px solid #d7d7d7;
}
@media screen and (max-width: 991px) {
	.program-list.program-session.type-static .block:nth-child(4) .inner {
		border-top: 0;
	}
}
@media screen and (max-width: 767px) {
	.program-list.program-session.type-static .block:nth-child(3) .inner {
		border-top: 0;
	}
}
@media screen and (max-width: 575px) {
	.program-list.program-session.type-static .block:nth-child(2) .inner {
		border-top: 0;
	}
}

/*============================================================
	[プログラム] セッションスライド一覧
*/
.program-list.program-session.type-slider .block .inner {
	border-top: 1px solid #d7d7d7;
	border-bottom: 1px solid #d7d7d7;
}

/*============================================================
	[プログラム] 資料
*/
.program-list.program-resource .image {
	display: flex;
	align-items: flex-end;
}
.program-list.program-resource .image img {
	display: block;
	margin: 0 auto;
	border: 1px solid #d7d7d7;
	opacity: 0;
	width: 10px;
}
.program-list.program-resource .image img.img-tall {
	height: 126px;
	width: auto;
	opacity: 1;
}
.program-list.program-resource .image img.img-wide {
	max-width: 168px;
	width: 100%;
	opacity: 1;
}
.program-list.program-resource .detail {
	margin: 15px 0 0 0;
}

/*============================================================
	[プログラム] 資料通常一覧
*/
.program-list.program-resource.type-static {
	margin-top: 10px;
}
.program-list.program-resource.type-static .block {
	margin-top: 30px;
}
.program-list.program-resource.type-static .block .inner .image {
	min-height: 126px;
}
@media screen and (max-width: 767px) {
	.program-list.program-resource.type-static .block {
		margin-top: 10px;
	}
	.program-list.program-resource.type-static .block .inner .image {
		min-height: 10px;
	}
}

/*============================================================
	[プログラム] 関連リスト
*/
.relations {
	margin: 70px 0 0 0;
}
.relations .h {
	margin: 0 0 25px 0;
	font-size: 24px;
}
.relations .program-list .slick-track {
	min-width: 100%;
}
.relations .program-list .slick-arrow {
	position: absolute;
	top: 50%;
	margin: -25px 0 0 0;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background-color: #c1c0c2;
	font-size: 36px;
	line-height: 1;
	color: #fff !important;
}
.relations .program-list .slick-arrow:hover {
	opacity: 0.7;
}
.relations .program-list .slick-prev {
	left: -60px;
	padding-right: 5px;
}
.relations .program-list .slick-next {
	right: -60px;
	padding-left: 5px;
}
.relations .program-list .slick-arrow span {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
}

@media screen and (max-width: 1419px) {
	.relations .program-list-wrapper {
		padding: 0 80px;
	}
	.relations .program-list-wrapper.length-0,
	.relations .program-list-wrapper.length-1,
	.relations .program-list-wrapper.length-2,
	.relations .program-list-wrapper.length-3,
	.relations .program-list-wrapper.length-4 {
		padding: 0;
	}
}
@media screen and (max-width: 1309px) {
	.relations .program-list-wrapper {
		padding: 0;
	}
}
@media screen and (max-width: 1101px) {
	.relations .program-list-wrapper,
	.relations .program-list-wrapper.length-4 {
		padding: 0 80px;
	}
	.relations .program-list-wrapper.length-0,
	.relations .program-list-wrapper.length-1,
	.relations .program-list-wrapper.length-2,
	.relations .program-list-wrapper.length-3 {
		padding: 0;
	}
}
@media screen and (max-width: 991px) {
	.relations .program-list-wrapper,
	.relations .program-list-wrapper.length-4 {
		padding: 0;
	}
}
@media screen and (max-width: 857px) {
	.relations .program-list-wrapper,
	.relations .program-list-wrapper.length-3,
	.relations .program-list-wrapper.length-4 {
		padding: 0 80px;
	}
	.relations .program-list-wrapper.length-0,
	.relations .program-list-wrapper.length-1,
	.relations .program-list-wrapper.length-2 {
		padding: 0;
	}
}
@media screen and (max-width: 767px) {
	.relations {
		margin: 40px 0 0 0;
	}
	.relations .h {
		margin: 0 0 15px 0;
		font-size: 20px;
	}
	.relations .program-list-wrapper,
	.relations .program-list-wrapper.length-1,
	.relations .program-list-wrapper.length-2,
	.relations .program-list-wrapper.length-3,
	.relations .program-list-wrapper.length-4 {
		padding: 0 50px;
	}
	.relations .program-list-wrapper.length-0 {
		padding: 0;
	}
	.relations .program-list .block {
		padding: 0 5px;
	}
	.relations .program-list .slick-arrow {
		margin: -15px 0 0 0;
		width: 30px;
		height: 30px;
		font-size: 22px;
	}
	.relations .program-list .slick-prev {
		left: -35px;
		padding-right: 2px;
	}
	.relations .program-list .slick-next {
		right: -35px;
		padding-left: 2px;
	}
}

/*============================================================
	[プログラム] 絞り込み2020版
*/
.program-search {
	margin: 5px 0 30px 0;
}
.program-search h2 {
	font-size: 14px;
	line-height: 1.5;
}
.program-search ul {
	margin: 15px 0 0 0;
	font-size: 14px;
	line-height: 1.5;
}
.program-search ul li a.active:hover {
	opacity: 0.7;
	color: #fff;
}
.program-search-category ul {
	text-align: center;
}
.program-search-category ul li {
	margin: 0 0 10px 0;
}
.program-search-category ul li a {
	display: block;
	padding: 3px 0 4px 0;
	background-color: #f1f3f4;
	border: 1px solid #f1f3f4;
	border-radius: 5px;
	font-size: 14px;
	line-height: 1.5;
}
.program-search-category ul li a.active {
	color: #fff;
}
.program-search-category ul li.cloud a:hover,
.program-search-category ul li.cloud a.active,
.program-search-category ul li.cloud a.active:hover {
	background-color: #78bc20;
	border-color: #78bc20;
}
.program-search-category ul li.digitalworkspace a:hover,
.program-search-category ul li.digitalworkspace a.active,
.program-search-category ul li.digitalworkspace a.active:hover {
	background-color: #0066ca;
	border-color: #0066ca;
}
.program-search-category ul li.network a:hover,
.program-search-category ul li.network a.active,
.program-search-category ul li.network a.active:hover {
	background-color: #1d428a;
	border-color: #1d428a;
}
.program-search-category ul li.modernapps a:hover,
.program-search-category ul li.modernapps a.active,
.program-search-category ul li.modernapps a.active:hover {
	background-color: #00bfd3;
	border-color: #00bfd3;
}
.program-search-category ul li.security a:hover,
.program-search-category ul li.security a.active,
.program-search-category ul li.security a.active:hover {
	background-color: #6600ca;
	border-color: #6600ca;
}
.program-search-category ul li.emergingtrends a:hover,
.program-search-category ul li.emergingtrends a.active,
.program-search-category ul li.emergingtrends a.active:hover {
	background-color: #ea7700;
	border-color: #ea7700;
}
.program-search-category ul li.vmware a:hover,
.program-search-category ul li.vmware a.active,
.program-search-category ul li.vmware a.active:hover {
	background-color: #717074;
	border-color: #717074;
}
.program-search-category ul li.cloud a:hover,
.program-search-category ul li.digitalworkspace a:hover,
.program-search-category ul li.network a:hover,
.program-search-category ul li.modernapps a:hover,
.program-search-category ul li.security a:hover,
.program-search-category ul li.emergingtrends a:hover,
.program-search-category ul li.vmware a:hover {
	color: #fff;
}
.program-search-category ul li.all {
	text-align: left;
}
.program-search-category ul li.all a {
	display: inline-block;
	padding: 0;
	background-color: transparent;
	border: 0;
	border-radius: 0;
	color: #1d428a;
}
.program-search-category ul li.all a:hover {
	background-color: transparent;
	color: #0091da;
}
.program-search-category ul li.all a i {
	padding: 0 0.2em;
}
.program-search-list {
	margin: 0 0 20px 0;
}
.program-search-list ul {
	margin: 10px 0 0 0;
	font-size: 12px;
	text-align: center;
}
.program-search-list ul li {
	margin: 0 0 10px 0;
}
.program-search-list ul li a {
	display: block;
	padding: 5px 1em 6px 1em;
	background-color: #f1f3f4;
	border-radius: 5px;
}
.program-search-list ul li a:hover {
	background-color: #e4e8e9;
}
.program-search-list ul li a.active {
	background-color: #717074;
	color: #fff;
}
@media screen and (max-width: 991px) {
	.program-search-category {
		margin: 0 0 10px 0;
	}
	.program-search-category ul {
		display: flex;
		flex-wrap: wrap;
		margin: 10px -10px 0 0;
	}
	.program-search-category ul li {
		margin-right: 10px;
	}
	.program-search-category ul li a,
	.program-search-category ul li.all a {
		padding: 5px 1em 6px 1em;
	}
	.program-search-list {
		margin: 0 -10px 10px 0;
	}
	.program-search-list ul {
		display: flex;
		flex-wrap: wrap;
	}
	.program-search-list ul li {
		margin-right: 10px;
	}
}
@media screen and (max-width: 567px) {
	.program-search-category ul {
		margin-right: -5px;
		padding: 0;
	}
	.program-search-category ul li {
		flex-basis: 50%;
		max-width: 50%;
		margin: 0 0 5px 0;
		padding: 0 5px 0 0;
	}
	.program-search-category ul li a,
	.program-search-category ul li .btn {
		font-size: 12px;
	}
	.program-search-list ul {
		margin-right: -5px;
		font-size: 11px;
	}
	.program-search-list ul li {
		margin: 0 0 5px 0;
		padding: 0 5px 0 0;
	}
	.program-search-list ul li a,
	.program-search-list ul li.all a {
		padding: 5px 0.6em 6px 0.6em;
	}
}

/*============================================================
	[プログラム] 一覧2020版
*/
.program-wrap {
	margin: 0 0 60px 0;
}
.program-wrap h2 {
	padding: 0 0 0.3em 0;
	border-bottom: 4px solid #000;
	font-size: 23px;
	line-height: 1.5;
}
.program-wrap .program-list {
	display: flex;
	flex-wrap: wrap;
}
.program-wrap .program-list .block {
	flex-basis: 25%;
	max-width: 25%;
}
.program-wrap .program-list .block .inner {
	border-bottom: 1px solid #d7d7d7;
}
.program-wrap .program-list .block.disable,
.program-wrap .program-list .block.disable a {
	color: #ccc !important;
}
.program-wrap .program-list .block.disable .badge-new {
	background-color: #ccc !important;
	border-color: #ccc !important;
}
.program-wrap .program-list .block.disable .badge-release {
	border-color: #ccc !important;
	color: #ccc !important;
}
.program-wrap .program-list .block.disable .id span {
	background-color: #ccc !important;
}
.program-wrap .program-list .block.disable.broadcast-live .inner {
	background-color: transparent;
}
.program-wrap .program-list .block.disable .inner .point span {
	color: #ccc !important;
}
/* カラー */
.program-wrap.cloud h2 {
	border-color: #78bc20;
	color: #78bc20;
}
.program-wrap.cloud .program-list .block .id span {
	background-color: #78bc20;
}
.program-wrap.digitalworkspace h2 {
	border-color: #0066ca;
	color: #0066ca;
}
.program-wrap.digitalworkspace .program-list .block .id span {
	background-color: #0066ca;
}
.program-wrap.network h2 {
	border-color: #1d428a;
	color: #1d428a;
}
.program-wrap.network .program-list .block .id span {
	background-color: #1d428a;
}
.program-wrap.modernapps h2 {
	border-color: #00bfd3;
	color: #00bfd3;
}
.program-wrap.modernapps .program-list .block .id span {
	background-color: #00bfd3;
}
.program-wrap.security h2 {
	border-color: #6600ca;
	color: #6600ca;
}
.program-wrap.security .program-list .block .id span {
	background-color: #6600ca;
}
.program-wrap.emergingtrends h2 {
	border-color: #ea7700;
	color: #ea7700;
}
.program-wrap.emergingtrends .program-list .block .id span {
	background-color: #ea7700;
}
.program-wrap.vmware h2 {
	border-color: #717074;
	color: #717074;
}
.program-wrap.vmware .program-list .block .id span {
	background-color: #717074;
}

@media screen and (max-width: 991px) {
	.program-wrap .program-list .block {
		flex-basis: 33.333%;
		max-width: 33.333%;
	}
}
@media screen and (max-width: 767px) {
	.program-wrap {
		margin: 30px 0;
	}
	.program-wrap .program-list .block {
		flex-basis: 50%;
		max-width: 50%;
	}
}
@media screen and (max-width: 567px) {
	.program-wrap .program-list {
		display: block;
	}
	.program-wrap .program-list .block {
		max-width: 100%;
	}
}

/*============================================================
	[プログラム] 一覧大枠レイアウト2020版
*/
.program-container {
	max-width: 1460px;
	margin-bottom: 30px;
	padding: 0 30px;
}
.program-container-row {
	display: flex;
}
.program-container-row .program-container-search {
	flex-basis: 220px;
	max-width: 220px;
	padding: 0 50px 0 0;
}
.program-container-row .program-container-wrap {
	flex: 1;
}
.program-container-row .program-search-btn {
	margin: 40px 0 0 0;
}
@media screen and (max-width: 1309px) {
	.program-container-wrap .program-wrap .program-list .block {
		flex-basis: 33.333%;
		max-width: 33.333%;
	}
}
@media screen and (max-width: 991px) {
	.program-container {
		max-width: 720px;
		padding: 0 15px;
	}
	.program-container-row {
		display: block;
	}
	.program-container-row .program-container-search {
		max-width: 100%;
		margin: 0 0 40px 0;
		padding: 0;
	}
	.program-container-row .program-search-btn {
		margin: 20px 0 0 0;
	}
	.program-container-row .program-search-btn br {
		display: none;
	}
}
@media screen and (max-width: 767px) {
	.program-container-wrap .program-wrap .program-list .block {
		flex-basis: 50%;
		max-width: 50%;
	}
}
@media screen and (max-width: 567px) {
	.program-container-wrap .program-wrap .program-list .block {
		max-width: 100%;
	}
}

/*============================================================
	[詳細] メイン
*/
.detail-main-spacer {
	display: none;
}
.detail-main {
	position: relative;
	z-index: 100;
	padding: 0 0 25px 0;
	margin: 0 0 40px 0;
	width: 100%;
	background-position: 50% 50%;
	background-image: url('../img/bg-detail-main.jpg');
	background-size: cover;
}
.detail-main .wrapper {
	padding: 64px 0 0 0;
}
.detail-main .message-bar + .wrapper {
	padding: 0;
}
.detail-main .inner {
	position: relative;
	margin: 0 auto;
	max-width: 1250px;
	background-color: #000;
}
.detail-main .base {
	position: relative;
	width: 100%;
	max-width: 640px;
}
.detail-main .base img {
	max-width: auto;
	max-width: initial;
	width: 100%;
}
.detail-main-live .base {
	max-width: 848px;
}
.detail-main .thumb {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: contain;
}
.detail-main .play {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.detail-main .play a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.detail-main .play a span {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	margin-left: -320px;
	width: 640px;
	background-color: rgba(113,112,116,0.38);
	font-size: 180px;
	color: #fff;
	transition: background-color 0.3s ease;
}
.detail-main-live .play a span {
	margin-left: -424px;
	width: 848px;
}
.detail-main .play a span i {
	display: block;
	text-shadow: 0px 3px 6px rgba(0,0,0,0.8);
	opacity: 0.76;
}
.detail-main .play a:hover span,
.detail-main .play.hover a span {
	background-color: rgba(113,112,116,0.2);
}
.detail-main .play a:active span {
	-webkit-transition-duration: 0s;
	transition-duration: 0s;
	background-color: rgba(113,112,116,0.38);
}
.detail-main .video {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	margin-left: -320px;
	width: 640px;
}
.detail-main-live .video {
	margin-left: -424px;
	width: 848px;
}
.detail-main .video .player {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
/**/
.detail-main .before,
.detail-main .after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.detail-main .before *,
.detail-main .after * {
	color: #fff;
}
.detail-main .before .block,
.detail-main .after .block {
	margin: 0 auto;
	max-width: 848px;
	height: 100%;
	background: transparent url(../img/bg-detail-live-main.jpg) 0 0 no-repeat;
	background-size: cover;
}
.detail-main .before .block {
	padding: 70px 0 0 50px;
	font-size: 18px;
}
.detail-main .before .countdown {
	display: flex;
	text-align: center;
	margin: -5px 0 0 0;
}
.detail-main .before .countdown dl dt {
	font-size: 78px;
	line-height: 1.1;
}
.detail-main .before .countdown dl dd {
	font-size: 14px;
}
.detail-main .before .countdown .colon {
	position: relative;
	top: -6px;
	width: 50px;
	font-size: 78px;
	line-height: 1.1;
}
.detail-main .after .block {
	padding: 110px 0 0 50px;
	font-size: 16px;
}
.detail-main .after br.sp {
	display: none;
}
.detail-main .after .h {
	margin: 0 0 12px 0;
	font-size: 23px;
	line-height: 1.5;
}
@media screen and (max-width: 1309px) {
	.detail-main .inner {
		max-width: 930px;
	}
}
@media screen and (max-width: 848px) {
	.detail-main-live .video {
		left: 0;
		bottom: auto;
		margin: 0;
		padding: 0;
		width: 100%;
		height: 100%;
	}
	.detail-main-live .play a span {
		left: 0;
		margin: 0;
		padding: 0;
		width: 100%;
		height: 100%;
	}
}
@media screen and (max-width: 767px) {
	.detail-main-spacer {
		display: block;
	}
	.detail-main {
		margin: 0 0 20px 0;
		padding: 0;
		background-image: none;
	}
	.screen-vertical .detail-main {
		position: fixed;
		top: 90px;
		left: 0;
		transition: transform 0.3s ease;
	}
	.screen-vertical.hide-header .detail-main {
		transform: translateY(-90px);
	}
	.detail-main .wrapper {
		padding: 0;
	}
	.detail-main .base {
		max-width: 100%;
	}
	.detail-main .play a span {
		left: 0;
		margin: 0;
		padding: 0;
		width: 100%;
		height: 100%;
		font-size: 100px;
	}
	.detail-main .video {
		left: 0;
		bottom: auto;
		margin: 0;
		padding: 0;
		width: 100%;
		height: 100%;
	}
	/**/
	.detail-main .before .block {
		padding: 6% 0 0 5%;
		font-size: 4vw;
	}
	.detail-main .before .countdown {
		margin: 0;
	}
	.detail-main .before .countdown dl dt {
		font-size: 12vw;
	}
	.detail-main .before .countdown dl dd {
		margin: -0.2em 0 0 0;
		font-size: 3vw;
	}
	.detail-main .before .countdown .colon {
		top: -0.1em;
		padding: 0 0.16em;
		width: auto;
		font-size: 12vw;
	}
	.detail-main .after .block {
		padding: 6% 0 0 5%;
		font-size: 3vw;
	}
	.detail-main .after br.sp {
		display: block;
	}
	.detail-main .after .h {
		margin: 0 0 0.5em 0;
		font-size: 4.2vw;
	}
}
@media screen and (max-width: 575px) {
	.detail-main .play {
		font-size: 20vw;
	}
}

/*============================================================
	[詳細] ビデオ注釈
*/
.detail-video-note {
	position: relative;
	margin-top: 15px;
	padding: 0 15px;
	text-align: center;
	line-height: 1.5;
	color: #fff;
}
.detail-video-note::before {
	content: '　';
	display: block;
}
.detail-video-note p {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}
@media screen and (max-width: 767px) {
	.detail-video-note {
		margin: 0;
		padding: 0;
		background-color: #fff;
		font-size: 12px;
		color: inherit;
	}
	.detail-video-note p {
		position: static;
		padding: 10px 15px;
	}
	.detail-video-note::before {
		content: none;
	}
}

/*============================================================
	[詳細] メッセージ
*/
.detail-message {
	margin: 20px 0;
	background-color: #d8f2ff;
	border-color: #40bfff;
	font-size: 14px;
	color: #0091da;
}
.detail-message a {
	text-decoration: underline;
	color: #0091da;
}
.detail-message a:hover {
	color: #086695;
}
@media screen and (max-width: 767px) {
	.detail-message {
		margin: 10px 0;
	}
}

/*============================================================
	[詳細] 公開アナウンス
*/
.detail-release {
	display: flex;
	margin: 10px 0;
}
.detail-release div {
	padding: 0 0.4em 1px 0.4em;
	border: 1px solid #0091da;
	font-size: 16px;
	line-height: 27px;
	color: #0091da;
}
.detail-release div i {
	position: relative;
	top: 1px;
	display: inline-block;
	margin: 0 0.3em 0 0;
	width: 26px;
	background-color: transparent;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-image: url('../img/icon-release.svg');
	background-size: contain;
	font-size: 18px;
}
.detail-release div i::before {
	content: '　';
}

/*============================================================
	[詳細] ヘッド（スポンサー用）
*/
.detail-sponsor-head {
	border: 0;
}
.detail-sponsor-head .logo {
	padding-top: 0;
}
.detail-sponsor-head .label {
	display: flex;
	line-height: 1.5;
}
.detail-sponsor-head .label span {
	display: block;
	padding: 0 0.5em;
	background-color: #008fd8;
	color: #fff;
}

/*============================================================
	[詳細] スピーカーリスト
*/
.detail-speaker-list {
	border-bottom: 1px solid #ccc;
}
.detail-speaker-list-portrait {
	border: 0;
}
.detail-speaker-list ul {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	margin: 0 -15px;
	padding: 15px 0;
}
.detail-speaker-list ul li {
	flex-basis: 33.333%;
	max-width: 33.333%;
	flex-grow: 0;
	padding: 15px 15px;
}
.detail-speaker-list ul li .portrait {
	margin: 10px 0;
	width: 140px;
}
.detail-speaker-list ul li .portrait img {
	width: 100%;
}
@media screen and (max-width: 991px) {
	.detail-speaker-list ul li {
		flex-basis: 50%;
		max-width: 50%;
	}
}
@media screen and (max-width: 767px) {
	.detail-speaker-list ul {
		padding: 5px 0;
	}
	.detail-speaker-list ul li {
		padding-top: 10px;
		padding-bottom: 10px;
	}
}
@media screen and (max-width: 575px) {
	.detail-speaker-list ul {
		display: block;
		margin: 0;
	}
	.detail-speaker-list ul li {
		max-width: 100%;
		padding: 10px 0;
	}
	.detail-speaker-list ul li .portrait {
		margin: 10px auto;
		width: 50%;
		max-width: 180px;
	}
}

/*============================================================
	[詳細] GENERAL SESSION
*/
.detail-general {
	margin-top: 30px;
}
.detail-general .list-portrait {
	display: flex;
	flex-wrap: wrap;
	margin: 20px 0 0 0;
	padding: 0 50px;
}
.detail-general .list-portrait li {
	flex-basis: 25%;
	max-width: 25%;
	padding: 15px;
	text-align: center;
	font-size: 12px;
	line-height: 1.5;
}
.detail-general .list-portrait li .image {
	overflow: hidden;
	margin: 0 auto 10px auto;
	width: 80px;
	border-radius: 50%;
}
.detail-general .list-portrait li .image img {
	display: block;
	width: 100%;
}
.detail-general .list-portrait li .name {
	font-size: 14px;
}
@media screen and (max-width: 1309px) {
	.detail-general .list-portrait {
		padding: 0;
	}
}
@media screen and (max-width: 991px) {
	.detail-general .list-portrait li {
		flex-basis: 33.333%;
		max-width: 33.333%;
	}
}
@media screen and (max-width: 767px) {
	.detail-general {
		margin-top: 20px;
	}
	.detail-general .list-portrait {
		margin: 10px -10px;
	}
	.detail-general .list-portrait li {
		flex-basis: 50%;
		max-width: 50%;
		padding: 10px;
		font-size: 11px;
	}
}

/*============================================================
	[詳細] 概要
*/
.detail-description {
	margin-top: 30px;
	font-size: 16px;
}
@media screen and (max-width: 767px) {
	.detail-description {
		margin-top: 20px;
		font-size: 14px;
	}
}

/*============================================================
	[詳細] 概要（スポンサー用）
*/
.detail-sponsor-description {
	display: table;
	margin-top: 30px;
	width: 100%;
}
.detail-sponsor-description .video {
	display: table-cell;
	vertical-align: top;
	padding: 5px 0 0 0;
	width: 376px;
}
.detail-sponsor-description .video .note {
	margin: 10px 0 0 0;
	font-size: 14px;
	line-height: 1.5;
}
.detail-sponsor-description .description {
	display: table-cell;
	vertical-align: top;
	padding: 0 0 0 20px;
	font-size: 16px;
}
.detail-sponsor-description .present-image {
	margin: 20px 0 25px 0;
	max-width: 276px;
}
.detail-sponsor-description .present-image img {
	width: 100%;
}
.detail-sponsor-description .action {
	display: flex;
	align-items: center;
	margin: 15px 0 0 0;
	font-size: 26px;
}
.detail-sponsor-description .action li {
	padding: 0 0.8em 0 0;
	line-height: 1;
}
.detail-sponsor-description .action li a {
	display: block;
	color: #565656;
}
.detail-sponsor-description .action li a:hover {
	color: #1d428a;
}
.detail-sponsor-description .btns {
	margin-top: 30px;
}
.detail-sponsor-description .btns .col {
	margin: 0 0 10px 0;
	max-width: 50%;
	width: 50%;
}
.detail-sponsor-description .btns a {
	padding: 5px 20px;
}
@media screen and (max-width: 991px) {
	.detail-sponsor-description {
		display: block;
		margin-top: 0;
	}
	.detail-sponsor-description .video {
		display: block;
		margin-top: 30px;
		padding: 0;
		width: auto;
	}
	.detail-sponsor-description .description {
		display: block;
		margin-top: 30px;
		padding: 0;
	}
	.detail-sponsor-description .present-image {
		margin-left: auto;
		margin-right: auto;
	}
}
@media screen and (max-width: 767px) {
	.detail-sponsor-description .video .note {
		font-size: 13px;
	}
	.detail-sponsor-description .description {
		font-size: 14px;
	}
}
@media screen and (max-width: 575px) {
	.detail-sponsor-description .btns {
		display: block;
	}
	.detail-sponsor-description .btns .col {
		max-width: 100%;
		width: 100%;
	}
}

/*============================================================
	[詳細] スポンサー表記
*/
.detail-sponsor {
	margin: 20px 0 40px 0;
}
.detail-sponsor span {
	font-size: 16px;
}

/*============================================================
	[詳細] タグ
*/
.list-tags {
	margin-top: 40px;
}
.list-tags .h {
	margin-top: 1em;
	font-size: 14px;
	line-height: 1.5;
}
.list-tags ul {
	margin: 0 -2px;
}
.list-tags ul:after {
	content: '';
	display: block;
	clear: both;
}
.list-tags ul li {
	float: left;
	margin: 4px 0 0 0;
	padding: 0 2px;
	font-weight: 200;
	font-size: 14px;
	line-height: 1.5;
}
.list-tags ul li a,
.list-tags ul li span {
	display: block;
	padding: 9px 25px 10px 25px;
	border: 1px solid #007ab8;
	border-radius: 3px;
	font-size: 14px;
	line-height: 1.4;
	text-decoration: none;
	color: #007ab8;
}
.list-tags ul li a:hover {
	background-color: #007ab8;
	color: #fff;
}

@media screen and (max-width: 575px) {
	.list-tags {
		margin-top: 20px;
	}
	.list-tags ul li {
		font-size: 13px;
	}
}

/*============================================================
	[スポンサー詳細ページ]
*/
.content-sc-sponsor-detail {
	padding: 0;
}

/*============================================================
	[スポンサー詳細ページ] メイン
*/
.sc-sponsor-main {
	margin: 0 0 30px 0;
}
.sc-sponsor-main .container {
	position: relative;
}
.sc-sponsor-main .container::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: -60px;
	left: 0;
	height: 300px;
	background: transparent url(../img/main-bg-showcase-sponsor.jpg) 100% 0% no-repeat;
	background-size: auto 290px;
}
.sc-sponsor-main .inner {
	position: relative;
	display: flex;
	flex-direction: row-reverse;
	padding: 40px 0;
	min-height: 300px;
}
.sc-sponsor-main .detail {
	flex: 1;
	padding: 0 120px 0 0;
}
.sc-sponsor-main .detail .block {
}
.sc-sponsor-main .detail .row-head {
	display: flex;
	align-items: center;
}
.sc-sponsor-main .detail .category {
	display: flex;
	margin: 0 15px 0 0;
	font-size: 14px;
}
.sc-sponsor-main .detail .category span {
	display: block;
	padding: 0 0.6em;
	border: 1px solid #717074;
	border-radius: 999px;
	color: #717074;
}
.sc-sponsor-main .detail .join-type > div {
	margin: 0;
}
.sc-sponsor-main .detail .h {
	margin: 15px 0 0 0;
	font-size: 28px;
}
.sc-sponsor-main .detail .h:first-child {
	margin-top: 0;
}
.sc-sponsor-main .detail .lead {
	margin: 10px 0 0 0;
	font-size: 16px;
	line-height: 1.5;
}
.sc-sponsor-main .video,
.sc-sponsor-main .logo {
	flex-basis: 402px;
	max-width: 402px;
}
.sc-sponsor-main .logo .image {
	position: relative;
	padding-top: 56.25%;
	height: 0;
	background-color: #fff;
}
.sc-sponsor-main .logo .image div {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.sc-sponsor-main .logo .image img {
	display: block;
	width: 100%;
}
.sc-sponsor-main .btn-wrap {
	margin: 20px 0 0 0;
}
@media screen and (max-width: 1309px) {
	.sc-sponsor-main .detail .lead br {
		display: none;
	}
}
@media screen and (max-width: 991px) {
	.sc-sponsor-main {
		margin: 0 0 40px 0;
	}
	.sc-sponsor-main .container::before {
		right: -80px;
		background-size: auto 220px;
	}
	.sc-sponsor-main .inner {
		display: block;
		padding: 40px 0 0 0;
		min-height: initial;
	}
	.sc-sponsor-main .detail {
		padding: 0;
	}
	.sc-sponsor-main .video,
	.sc-sponsor-main .logo {
		margin: 0 auto;
	}
	.sc-sponsor-main .video {
		margin-bottom: 30px;
	}
}
@media screen and (max-width: 767px) {
	.sc-sponsor-main .container::before {
		right: -80px;
		background-size: auto 170px;
	}
	.sc-sponsor-main .inner {
		padding: 30px 0 0 0;
	}
	.sc-sponsor-main .detail {
		margin: 15px 0 0 0;
		min-height: initial;
		font-size: 12px;
	}
	.sc-sponsor-main .detail .h {
		margin: 10px 0 0 0;
		padding: 0;
		font-size: 20px;
	}
	.sc-sponsor-main .detail .lead {
		font-size: 14px;
	}
	.sc-sponsor-main .logo {
		max-width: 275px;
	}
	.sc-sponsor-main .video {
		margin-bottom: 20px;
	}
}

/*============================================================
	[スポンサー詳細ページ] キャンペーン
*/
.sc-sponsor-cp {
	margin: 0 0 60px 0;
	background-color: #f7f7f7;
}
.sc-sponsor-cp .inner {
	display: flex;
	margin: 0 auto;
	padding: 40px 0;
	max-width: 830px;
}
.sc-sponsor-cp .image {
	flex-basis: 295px;
	max-width: 295px;
}
.sc-sponsor-cp .image img {
	width: 100%;
}
.sc-sponsor-cp .detail {
	flex: 1;
	padding: 0 0 0 30px;
	line-height: 1.5;
}
.sc-sponsor-cp .detail .h {
	margin: 0 0 10px 0;
	font-size: 21px;
	line-height: 1.333;
}
.sc-sponsor-cp .detail .btn-wrap {
	margin: 20px 0 0 0;
}
@media screen and (max-width: 1309px) {
	.sc-sponsor-cp .inner {
		max-width: 100%;
	}
	.sc-sponsor-cp .image {
		flex-basis: 274px;
		max-width: 274px;
	}
}
@media screen and (max-width: 767px) {
	.sc-sponsor-cp {
		margin: 0 0 40px 0;
	}
	.sc-sponsor-cp .inner {
		display: block;
	}
	.sc-sponsor-cp .detail {
		margin: 20px 0 0 0;
		padding: 0;
	}
	.sc-sponsor-cp .image {
		margin: 0 auto;
	}
}

/*============================================================
	[スポンサー詳細ページ] 詳細
*/
.sc-sponsor-detail {
	margin: 0 0 60px 0;
}
.sc-sponsor-head {
	display: table;
	width: 100%;
}
.sc-sponsor-head .logo,
.sc-sponsor-head .info {
	display: table-cell;
	vertical-align: top;
}
.sc-sponsor-head .logo {
	width: 304px;
}
.sc-sponsor-head .logo .image {
	max-width: 274px;
}
.sc-sponsor-head .logo .image a {
	display: block;
	position: relative;
}
.sc-sponsor-head .logo .image img {
	position: relative;
	width: 100%;
}
.sc-sponsor-head .info {
	line-height: 1.5;
}
.sc-sponsor-head .info .lead {
	font-size: 16px;
	line-height: 1.7;
}
.sc-sponsor-head .info .link {
	margin: 10px 0 0 0;
	font-size: 18px;
}
.sc-sponsor-head .info .link i {
	padding-left: 0.2em;
	font-size: 88%;
}
@media screen and (max-width: 767px) {
	.sc-sponsor-detail {
		margin: 0 0 40px 0;
	}
	.sc-sponsor-head {
		display: block;
	}
	.sc-sponsor-head .logo,
	.sc-sponsor-head .info {
		display: block;
	}
	.sc-sponsor-head .logo {
		width: 100%;
	}
	.sc-sponsor-head .logo .image {
		margin: 0 auto;
	}
	.sc-sponsor-head .info {
		margin: 20px 0 0 0;
	}
	.sc-sponsor-head .info .lead {
		font-size: 14px;
		line-height: 1.7;
	}
	.sc-sponsor-head .info .link {
		font-size: 16px;
	}
}
.sc-sponsor-info {
	margin: 30px 0 0 0;
	padding: 30px;
	background-color: #f4f8fa;
}
.sc-sponsor-info .title {
	margin: 15px 0 0 0;
	font-size: 18px;
}
.sc-sponsor-info .category {
	margin: 10px 0 0 0;
	font-size: 14px;
	line-height: 1.7;
	color: #000;
}
.sc-sponsor-info .lead {
	margin: 10px 0 0 0;
	font-size: 14px;
	line-height: 1.7;
}
@media screen and (max-width: 767px) {
	.sc-sponsor-info {
		margin: 20px 0 0 0;
		padding: 15px;
	}
}

/*============================================================
	[スポンサー詳細ページ] 資料・ビデオ/セッション
*/
.sc-sponsor-resource {
	margin: 60px 0 0 0;
	padding: 0 0 30px 0;
}
.sc-sponsor-session {
	padding: 60px 0 30px 0;
	background-color: #f4f8fa;
}
.sc-sponsor-program-list .h {
	margin: 0 0 40px 0;
	text-align: center;
	font-size: 23px;
}
.sc-sponsor-program-list .layout-program-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 -40px;
}
.sc-sponsor-program-list .layout-program-list .block {
	flex-basis: 25%;
	margin: 0 0 30px 0;
	padding: 0 40px;
}
@media screen and (max-width: 1309px) {
	.sc-sponsor-program-list .layout-program-list {
		margin: 0 -30px;
	}
	.sc-sponsor-program-list .layout-program-list .block {
		padding: 0 30px;
	}
}
@media screen and (max-width: 991px) {
	.sc-sponsor-program-list .layout-program-list .block {
		flex-basis: 50%;
	}
}
@media screen and (max-width: 767px) {
	.sc-sponsor-resource {
		margin: 30px 0 0 0;
		padding: 0;
	}
	.sc-sponsor-session {
		padding: 30px 0 0 0;
	}
	.sc-sponsor-program-list .h {
		margin: 0 0 20px 0;
	}
	.sc-sponsor-program-list .layout-program-list {
		margin: 0 -15px;
	}
	.sc-sponsor-program-list .layout-program-list .block {
		margin: 0 0 30px 0;
		padding: 0 15px;
	}
}
@media screen and (max-width: 575px) {
	.sc-sponsor-program-list .layout-program-list {
		display: block;
		margin: 0;
	}
	.sc-sponsor-program-list .layout-program-list .block {
		padding: 0;
	}
}

/*============================================================
	[スポンサー詳細ページ] 関連情報
*/
.sc-sponsor-relations {
	margin: 60px 0 0 0;
	padding: 0 0 60px 0;
}
.sc-sponsor-relations .h {
	margin: 0 0 40px 0;
	text-align: center;
	font-size: 23px;
}
.sc-sponsor-relations .list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 -10px;
}
.sc-sponsor-relations .list .block {
	flex-basis: 25%;
	max-width: 25%;
	margin: 0 0 30px 0;
	padding: 0 10px;
}
.sc-sponsor-relations .list .block .inner {
	height: 100%;
	background-color: #fff;
	box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.32);
}
.sc-sponsor-relations .list .block .image img {
	width: 100%;
}
.sc-sponsor-relations .list .block .detail {
	padding: 20px;
	line-height: 1.5;
}
@media screen and (max-width: 991px) {
	.sc-sponsor-relations .list .block {
		flex-basis: 50%;
		max-width: 50%;
	}
}
@media screen and (max-width: 767px) {
	.sc-sponsor-relations {
		margin: 30px 0 0 0;
		padding: 0 0 30px 0;
	}
	.sc-sponsor-relations .h {
		margin: 0 0 20px 0;
	}
	.sc-sponsor-relations .list .block .detail {
		padding: 15px;
	}
}
@media screen and (max-width: 575px) {
	.sc-sponsor-relations .list {
		margin: 0 -5px;
	}
	.sc-sponsor-relations .list .block {
		margin: 0 0 10px 0;
		padding: 0 5px;
	}
	.sc-sponsor-relations .list .block .detail {
		padding: 10px;
		font-size: 13px;
		line-height: 1.4;
	}
}

/*============================================================
	[SHOWCASE カテゴリー] メイン
*/
.sc-category-main {
	position: relative;
	height: 200px;
}
.sc-category-main .kv {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 100%;
}
.sc-category-main .kv span {
	display: block;
	height: 100%;
	background-color: transparent;
	background-position: 100% 50%;
	background-repeat: no-repeat;
	background-size: auto 100%;
}
.sc-category-main-normal .kv span {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
}
.sc-category-main-image .kv span {
	position: relative;
	margin: 0 auto;
	max-width: 1280px;
}
.sc-category-main .container {
	display: flex;
	align-items: center;
	height: 100%;
}
.sc-category-main .inner p {
	line-height: 1.5;
}
.sc-category-main .inner .h {
	margin: 10px 0;
	font-size: 28px;
}
.sc-category-main + .content {
	padding: 0;
}
@media screen and (max-width: 1309px) {
	.sc-category-main-image .kv span {
		max-width: 960px;
	}
}
@media screen and (max-width: 991px) {
	.sc-category-main {
		height: 160px;
	}
	.sc-category-main-normal .kv span {
		right: -100px;
	}
	.sc-category-main-image .kv span {
		max-width: 720px;
	}
	.sc-category-main .container {
		display: block;
	}
	.sc-category-main .inner {
		padding: 30px 260px 0 0;
	}
}
@media screen and (max-width: 767px) {
	.sc-category-main {
		margin: 0 0 -10px 0;
		height: 120px;
	}
	.sc-category-main .kv {
		height: 120px;
	}
	.sc-category-main .inner {
		padding: 20px 200px 0 0;
	}
	.sc-category-main .inner .h {
		margin: 5px 0;
		font-size: 23px;
	}
}
@media screen and (max-width: 575px) {
	.sc-category-main {
		height: auto;
	}
	.sc-category-main .kv {
		position: relative;
	}
	.sc-category-main .inner {
		padding: 20px 0 0 0;
	}
}

/*============================================================
	[SHOWCASE カテゴリー] 詳細
*/
.sc-category-detail {
	margin: 50px 0 0 0;
}
.sc-category-detail .inner {
	display: table;
}
.sc-category-detail .video {
	display: table-cell;
	vertical-align: top;
	padding: 0 30px 0 0;
	width: 432px;
}
.sc-category-detail .video .note {
	margin: 1em 0 0 0;
	line-height: 1.5;
}
.sc-category-detail .detail {
	display: table-cell;
	vertical-align: top;
	font-size: 16px;
	line-height: 1.7;
}
.sc-category-detail .detail .h {
	margin: 0 0 10px 0;
	font-size: 21px;
	line-height: 1.4;
}
@media screen and (max-width: 991px) {
	.sc-category-detail .inner {
		display: block;
	}
	.sc-category-detail .video {
		display: block;
		margin: 0 auto;
		padding: 0 0 30px 0;
		max-width: 100%;
		width: 100%;
	}
	.sc-category-detail .detail {
		display: block;
	}
}
@media screen and (max-width: 575px) {
	.sc-category-detail {
		margin: 30px 0 0 0;
	}
	.sc-category-detail .detail {
		font-size: 14px;
	}
	.sc-category-detail .detail .h {
		font-size: 18px;
	}
	.sc-category-detail .video .note {
		font-size: 12px;
	}
}

/*============================================================
	[SHOWCASE カテゴリー] 資料
*/
.sc-category-resource {
	margin: 70px 0 0 0;
	padding: 80px 0 60px 0;
	background-color: #f5f8fa;
}
.sc-category-resource .h {
	text-align: center;
	font-size: 28px;
}
.sc-category-resource .tabs {
	margin: 30px 0 0 0;
}
.sc-category-resource .tabs ul {
	display: flex;
	justify-content: center;
	border: 0;
	text-align: center;
	font-size: 14px;
	line-height: 1.3;
}
.sc-category-resource .tabs ul li {
	flex-basis: 178px;
}
.sc-category-resource .tabs ul li a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	padding: 5px 10px 15px 10px;
	height: 100%;
	color: #000;
}
.sc-category-resource .tabs ul li a i {
	display: none;
	position: absolute;
	top: 50%;
	right: 10px;
	margin-top: -8px;
	font-size: 16px;
	line-height: 1;
	color: #1d428a;
	transform: rotate(90deg);
}
.sc-category-resource .tabs ul li a::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 1px;
	background-color: #000;
}
.sc-category-resource .tabs ul li a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 4px;
	background-color: #1d428a;
	opacity: 0;
	transition: opacity 0.3s ease;
}
.sc-category-resource .tabs ul li a:hover {
	color: #1d428a;
}
.sc-category-resource .tabs ul li a:hover::after {
	opacity: 1;
}
.sc-category-resource .subhead {
	padding: 30px 0 0 0;
	text-align: center;
	font-size: 16px;
}
.sc-category-resource .subhead .h {
	padding: 20px 0 0 0;
	font-size: 32px;
}
.sc-category-resource .subhead .text {
	margin: 10px 0 0 0;
}
.sc-category-resource .layout-program-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 -40px -20px -40px;
	padding: 30px 0 0 0;
}
.sc-category-resource .layout-program-list .block {
	flex-basis: 25%;
	margin: 0 0 30px 0;
	padding: 0 40px;
}
@media screen and (max-width: 1309px) {
	.sc-category-resource .layout-program-list {
		margin: 0 -30px -10px -30px;
	}
	.sc-category-resource .layout-program-list .block {
		padding: 0 30px;
	}
}
@media screen and (max-width: 991px) {
	.sc-category-resource .tabs ul {
		font-size: 13px;
	}
	.sc-category-resource .tabs ul li a {
		padding: 5px 5px 15px 5px;
	}
	.sc-category-resource .layout-program-list .block {
		flex-basis: 50%;
	}
}
@media screen and (max-width: 767px) {
	.sc-category-resource {
		margin: 40px 0 0 0;
		padding: 40px 0 40px 0;
	}
	.sc-category-resource .h {
		font-size: 23px;
	}
	.sc-category-resource .tabs {
		margin: 20px 0 0 0;
	}
	.sc-category-resource .tabs ul {
		display: block;
		border-top: 1px solid #ccc;
		text-align: left;
		font-size: 14px;
	}
	.sc-category-resource .tabs ul li {
		border-bottom: 1px solid #ccc;
	}
	.sc-category-resource .tabs ul li a {
		display: block;
		padding: 10px 30px 10px 5px;
	}
	.sc-category-resource .tabs ul li a i {
		display: block;
	}
	.sc-category-resource .tabs ul li a::before,
	.sc-category-resource .tabs ul li a::after {
		display: none;
	}
	.sc-category-resource .subhead {
		padding: 40px 0 0 0;
		font-size: 14px;
	}
	.sc-category-resource .subhead .h {
		padding: 0;
		font-size: 23px;
	}
	.sc-category-resource .layout-program-list {
		margin: 0 -15px -30px -15px;
	}
	.sc-category-resource .layout-program-list .block {
		margin: 0 0 30px 0;
		padding: 0 15px;
	}
}
@media screen and (max-width: 575px) {
	.sc-category-resource .layout-program-list {
		display: block;
		margin: 0 0 -30px 0;
	}
	.sc-category-resource .layout-program-list .block {
		padding: 0;
	}
}

/*============================================================
	[マイページ] ログイン
*/
.mypage-kv {
	height: 120px;
	background: linear-gradient(106deg, rgba(0,81,224,1) 0%, rgba(0,21,89,1) 78%);
}
.mypage-kv span {
	display: block;
	height: 100%;
	background-repeat: no-repeat;
	background-position: 100% 50%;
	background-image: url('../img/kv-login.png');
	background-size: auto 100%;
}
.mypage-login {
	margin: 0 auto;
	max-width: 400px;
}
.mypage-login .h {
	font-size: 28px;
}
.mypage-login .input {
	margin: 15px -36px 20px 0;
}
@media screen and (max-width: 767px) {
	.mypage-kv {
		height: 80px;
	}
}
@media screen and (max-width: 575px) {
	.mypage-login {
		max-width: 100%;
	}
	.mypage-login .h {
		font-size: 24px;
	}
	.mypage-login .input {
		margin-left: 36px;
		margin-right: 0;
	}
}

/*============================================================
	[マイページ] 見出し
*/
.mypage-index-head {
	margin: 0 0 20px 0;
}
.mypage-index-head h1 {
	font-size: 23px;
}
.mypage-index-head p {
	margin: 10px 0 0 0;
}
.mypage-index-head p i {
	padding: 0 5px 0 0;
}
@media screen and (max-width: 767px) {
	.mypage-index-head h1 {
		font-size: 20px;
	}
}

/*============================================================
	[マイページ] お知らせ
*/
.mypage-news {
	margin: 20px 0 30px 0;
}

/*============================================================
	[マイページ] ホームメニュー
*/
.mypage-home-menu {
}
.mypage-home-menu ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -10px;
}
.mypage-home-menu ul li {
	padding: 0 10px 30px 10px;
	flex-basis: 25%;
	max-width: 25%;
}
.mypage-home-menu ul li .box {
	position: relative;
	display: block;
	overflow: hidden;
	padding: 30px 20px 20px 20px;
	height: 100%;
	min-height: 170px;
	border: 1px solid #d7d7d7;
	border-radius: 5px;
	text-decoration: none;
	box-shadow: 0 3px 0 0 #d7d7d7;
	background-color: #fff;
	line-height: 1.5;
	color: #565656;
}
.mypage-home-menu ul li a.box {
	transition: box-shadow 0.3s ease, border-color 0.3s ease;
}
.mypage-home-menu ul li a.box:hover {
	border-color: #1d428a;
	box-shadow: 0 3px 0 0 #1d428a;
}
.mypage-home-menu ul li .new {
	position: absolute;
	z-index: 1;
	top: 0; left: 50%;
	padding: 18px 0 4px 0;
	width: 100%;
	background-color: #0091da;
	text-align: center;
	font-weight: 200;
	font-size: 12px;
	line-height: 20px;
	color: #fff;
	-webkit-transform-origin: 50% 0%;
	transform-origin: 50% 0%;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.mypage-home-menu ul li dl {
	display: flex;
	align-items: center;
	margin: 0 0 20px 0;
	font-size: 14px;
	color: #1d428a;
}
.mypage-home-menu ul li dl dt {
	padding: 0 10px 0 0;
	color: inherit;
}
.mypage-home-menu ul li dl dt i {
	display: block;
	font-size: 40px;
}
.mypage-home-menu ul li dl dd {
	color: inherit;
}
.mypage-home-menu .icon-point-mypage {
	flex-shrink: 0;
	display: block;
	width: 38px;
	height: 38px;
	background-color: #a5b3d0;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-image: url('../img/icon-point-mypage.svg');
	background-size: contain;
	border-radius: 50%;
}

@media screen and (max-width: 1309px) {
	.mypage-home-menu ul li {
		flex-basis: 33.333%;
		max-width: 33.333%;
	}
}
@media screen and (max-width: 991px) {
	.mypage-home-menu ul li .box {
		min-height: 150px;
	}
	.mypage-home-menu ul li {
		flex-basis: 50%;
		max-width: 50%;
	}
}
@media screen and (max-width: 767px) {
	.mypage-home-menu ul {
		margin: 0 -5px;
	}
	.mypage-home-menu ul li {
		padding: 0 5px 10px 5px;
	}
	.mypage-home-menu ul li .box {
		padding: 20px 15px 15px 15px;
	}
}
@media screen and (max-width: 575px) {
	.mypage-home-menu ul {
		display: block;
		margin: 0;
	}
	.mypage-home-menu ul li {
		padding: 0 0 10px 0;
		max-width: 100%;
	}
	.mypage-home-menu ul li .box {
		min-height: initial;
		font-size: 13px;
	}
	.mypage-home-menu ul li dl {
		margin: 0 0 10px 0;
	}
	.mypage-home-menu ul li dl dt {
		width: 50px;
		text-align: center;
	}
	.mypage-home-menu ul li dl dt i {
		font-size: 34px;
	}
}

/*============================================================
	[マイページ] ホーム招待コード
*/
.mypage-home-code {
	margin: 10px 0 0 0;
	padding: 15px 30px 15px 30px;
	background-color: #f2f2f2;
	line-height: 1.7;
}
.mypage-home-code * {
	color: #717074;
}
.mypage-home-code .inner {
	display: table;
}
.mypage-home-code dl,
.mypage-home-code .lead {
	display: table-cell;
	vertical-align: middle;
}
.mypage-home-code dl {
	padding-right: 50px;
	line-height: 1.3;
}
.mypage-home-code dl dt {
	padding-top: 0.2em;
	color: #000;
}
.mypage-home-code dl dd {
	font-size: 28px;
	line-height: 1.5;
	color: #000;
}
.mypage-home-code .lead {
	font-size: 14px;
}
@media screen and (max-width: 767px) {
	.mypage-home-code {
		padding: 15px;
	}
	.mypage-home-code .inner,
	.mypage-home-code dl,
	.mypage-home-code .lead {
		display: block;
	}
	.mypage-home-code dl {
		padding: 0;
		text-align: center;
	}
	.mypage-home-code dl dt {
		padding: 0;
	}
	.mypage-home-code dl dd {
		font-size: 21px;
	}
	.mypage-home-code .lead {
		margin: 10px 0 0 0;
		font-size: 12px;
	}
}

/*============================================================
	[マイページ] マイタイムテーブル
*/
.mypage-mytimetable-list {
}
.mypage-mytimetable-list .col {
	flex-basis: 50%;
	max-width: 50%;
}
.mypage-mytimetable-list .col h2 {
	margin: 0 0 15px 0;
	font-size: 20px;
}
.mypage-mytimetable-list .col ul {
	border-bottom: 1px solid #d7d7d7;
}
.mypage-mytimetable-list .col ul li {
	padding: 10px 0 20px 0;
	border-top: 1px solid #d7d7d7;
	line-height: 1.5;
}
.mypage-mytimetable-list .col ul li .download {
	display: flex;
	align-items: center;
	padding: 10px 0 0 0;
}
.mypage-mytimetable-list .col ul li .download .none {
	display: block;
	font-size: 14px;
	line-height: 1.4;
}
.mypage-mytimetable-list .row-head {
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 8px 0;
}
.mypage-mytimetable-list .row-head > div {
	margin-top: 5px;
}
.mypage-mytimetable-list .row-head .time {
	flex-basis: 105px;
}
.mypage-mytimetable-list .row-head .id {
	color: #000;
}
.mypage-mytimetable-list .row-head .room {
	display: flex;
	justify-content: flex-end;
	align-items: flex-start;
	flex: 1;
	white-space: nowrap;
	padding: 0 0 0 10px;
	order: 10;
}
.mypage-mytimetable-list .row-head .room span {
	display: block;
	padding: 0 0.6em;
	border: 1px solid #707070;
	font-size: 12px;
}
.mypage-mytimetable-list .title {
	margin: 0 0 5px 0;
}

@media screen and (max-width: 767px) {
	.mypage-mytimetable-list .row {
		display: block;
		margin: 0;
	}
	.mypage-mytimetable-list .col {
		margin: 0 0 40px 0;
		padding: 0;
		max-width: 100%;
	}
	.mypage-mytimetable-list .col:last-child {
		margin: 0;
	}
	.mypage-mytimetable-list .row-head {
		display: block;
	}
	.mypage-mytimetable-list .row-head::after {
		content: '';
		display: block;
		clear: both;
	}
	.mypage-mytimetable-list .row-head .room {
		justify-content: flex-start;
		white-space: normal;
		padding: 0;
	}
	.mypage-mytimetable-list .row-head .time {
		float: left;
	}
	.mypage-mytimetable-list .row-head .id {
		float: right;
	}
	.mypage-mytimetable-list .col ul li .download .none {
		display: block;
		padding: 0;
	}
}

/*============================================================
	[マイページ] QRコードの表示
*/
/*.maypage-qr {
	padding: 80px 0;
	text-align: center;
}
.maypage-qr .code {
	margin: 0 auto;
	margin-top: 50px;
	width: 160px;
}
.maypage-qr .code img {
	width: 100%;
}
@media screen and (max-width: 575px) {
	.maypage-qr {
		padding: 30px 0;
	}
}*/

/*============================================================
	[マイページ] ポイント
*/
.point-total {
}
.point-total .h {
	margin: 0 0 10px 0;
}
.point-total .total {
	display: flex;
	align-items: center;
	margin: 20px 0 0 0;
	line-height: 1;
}
.point-total .total i {
	flex-shrink: 0;
	display: block;
	margin: 0 20px 0 0;
	width: 48px;
	height: 48px;
}
.point-total .total dl {
	display: flex;
	align-items: center;
}
.point-total .total dl dt {
	margin: 0 15px 0.16em 0;
	font-size: 56px;
	/*color: #76be21;*/
	color: #007ab8;
}
.point-total .total dl dd {
	font-size: 21px;
	/*color: #76be21;*/
	color: #007ab8;
}
.point-detail {
}
.point-detail .h {
	margin: 0 0 15px 0;
}
.point-detail .detail {
	display: flex;
	justify-content: center;
}
.point-detail .detail .box {
	margin: 0 auto;
	padding: 8px 15px;
	flex-basis: 50%;
	max-width: 50%;
	border: 1px solid #d7d7d7;
	text-align: left;
	font-size: 12px;
	line-height: 1.7;
	white-space: nowrap;
}
.point-detail .detail .box dl {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	font-size: 14px;
}
.point-detail .detail .box dl dt,
.point-detail .detail .box dl dd {
	color: inherit;
}
.point-detail .detail .normal-point dl {
	/*color: #76be21;*/
	color: #007ab8;
}
.point-detail .detail .bonus-point dl {
	color: #ea7904;
}
/**/
.btn-point-challenge {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 18px;
}
.btn-point-challenge .icon-point {
	margin: 0 10px 0 0;
	background-color: rgba(255,255,255,0.4);
	background-image: url('../img/icon-point-white.svg');
}
.btn-point-challenge span {
	display: block;
}
.btn-point-challenge span br {
	display: none;
}

@media screen and (max-width: 575px) {
	.point-total .h {
		margin: 0 0 5px 0;
	}
	.point-total .total i {
		margin: 0 10px 0 0;
		width: 40px;
		height: 40px;
	}
	.point-total .total dl dt {
		margin: 0 10px 0.16em 0;
		font-size: 50px;
	}
	.point-total .total dl dd {
		font-size: 18px;
	}
	.point-detail .h {
		margin: 0 0 10px 0;
	}
	.point-detail .detail .box {
		max-width: 100%;
	}
	/**/
	.btn-point-challenge {
		display: block;
		font-size: 16px;
	}
	.btn-point-challenge .icon-point {
		position: relative;
		top: 4px;
		display: inline-block;
	}
	.btn-point-challenge span {
		display: inline;
	}
	.btn-point-challenge span br {
		display: block;
	}
}

/*============================================================
	[マイページ] ホームポイント
*/
.mypage-home-point {
	margin: 40px 0;
	padding: 30px 0;
	border: 1px solid #d7d7d7;
	border-left: 0;
	border-right: 0;
}
.mypage-home-point .inner {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: row-reverse;
}
.mypage-home-point .point-total {
	display: flex;
	justify-content: center;
	flex-basis: 50%;
	max-width: 50%;
	text-align: center;
}
.mypage-home-point .point-total .h {
	margin: 0;
}
.mypage-home-point .point-total .total {
	justify-content: center;
	margin: 0;
}
.mypage-home-point .point-total .btns {
	margin: 15px 0 0 0;
}
.mypage-home-point .banner {
	display: flex;
	justify-content: center;
	flex-basis: 50%;
	max-width: 50%;
}
.mypage-home-point .banner a {
	display: block;
	max-width: 466px;
}
@media screen and (max-width: 991px) {
	.mypage-home-point .inner {
		display: block;
	}
	.mypage-home-point .point-total {
		margin: 30px 0 0 0;
		max-width: 100%;
	}
	.mypage-home-point .banner {
		max-width: 100%;
	}
}
@media screen and (max-width: 575px) {
	.mypage-home-point {
		margin: 30px 0;
		padding: 30px 0;
	}
	.mypage-home-point .point-total {
		margin: 20px 0 0 0;
	}
}

/*============================================================
	[マイページ] お気に入り
*/
.mypage-favorite-list {
	margin: 0 0 60px 0;
}
.mypage-favorite-list:last-child {
	margin: 0;
}
.mypage-favorite-list h2 {
	margin: 0 0 10px 0;
	font-size: 28px;
	line-height: 1.5;
}
.mypage-favorite-list .block .delete {
	line-height: 1.4;
	color: #1d428a;
}
.mypage-favorite-list .block .delete:hover {
	color: #0091da;
}
.mypage-favorite-list .block .delete i {
	position: relative;
	top: 0.04em;
	padding: 0 5px 0 0;
	font-size: 112%;
}
/**/
.favorite-program-list {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -10px;
}
.favorite-program-list .block {
	flex-basis: 25%;
	padding: 12px 10px;
	line-height: 1.5;
}
.favorite-program-list .block .inner {
	padding: 15px;
	height: 100%;
	background-color: #fff;
	box-shadow: 1px 1px 8px rgba(0,0,0,0.16);
}
.favorite-program-list .block .row-head::after {
	content: '';
	display: block;
	clear: both;
}
.favorite-program-list .block .id {
	float: left;
	margin: 0 0 5px 0;
}
.favorite-program-list .block [class^="mod-badge-"] {
	float: right;
}
.favorite-program-list .block .title {
	margin: 0 0 5px 0;
}
.favorite-program-list .block .download {
	margin: 15px 0;
	display: flex;
	align-items: center;
}
.favorite-program-list .block .download .none {
	display: block;
	font-size: 14px;
	line-height: 1.4;
}
/**/
.favorite-handsonlabs-list {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -15px;
}
.favorite-handsonlabs-list .block {
	flex-basis: 25%;
	padding: 30px 15px 30px 15px;
	line-height: 1.5;
}
.favorite-handsonlabs-list .block .title {
	margin: 0 0 10px 0;
}
@media screen and (max-width: 1309px) {
	.favorite-program-list .block {
		flex-basis: 33.333%;
	}
	.favorite-handsonlabs-list .block {
		flex-basis: 33.333%;
	}
}
@media screen and (max-width: 991px) {
	.favorite-program-list .block {
		flex-basis: 50%;
	}
}
@media screen and (max-width: 767px) {
	.mypage-favorite-list {
		margin: 0 0 40px 0;
	}
	.mypage-favorite-list h2 {
		font-size: 22px;
	}
	/**/
	.favorite-program-list {
		display: block;
		margin: 0;
	}
	.favorite-program-list .block {
		padding: 0 0 15px 0;
	}
	.favorite-program-list .block .download {
		min-height: initial !important;
	}
	/**/
	.favorite-handsonlabs-list .block {
		flex-basis: 50%;
		max-width: 50%;
	}
}
@media screen and (max-width: 575px) {
	/**/
	.favorite-handsonlabs-list {
		display: block;
		margin: 0;
	}
	.favorite-handsonlabs-list .block {
		padding: 20px 0 0 0;
		max-width: 100%;
	}
}

/*============================================================
	[マイページ] ポイント取得履歴
*/
.mypage-history-point {
}
.mypage-history-point .inner {
	display: flex;
}
.mypage-history-point .point-total,
.mypage-history-point .point-detail {
	margin: 0 0 30px 0;
}
.mypage-history-point .point-total {
	margin-right: 50px;
}
.mypage-history-point .point-detail {
	flex-basis: 540px;
	max-width: 540px;
}
.mypage-history-point .point-detail .detail .box {
	margin: 0;
	border-left-width: 0;
}
.mypage-history-point .point-detail .detail .box:first-child {
	border-left-width: 1px;
}
/* リスト */
.mypage-history-point-list {
	margin: 0 0 30px 0;
}
.mypage-history-point-list ul {
	border-bottom: 1px solid #d7d7d7;
	line-height: 1.5;
}
.mypage-history-point-list ul li {
	display: flex;
	padding: 15px 0;
	border-top: 1px solid #d7d7d7;
}
.mypage-history-point-list ul li .date {
	flex-basis: 120px;
	max-width: 120px;
}
.mypage-history-point-list ul li .detail {
	flex: 1;
}
.mypage-history-point-list ul li .detail span {
	display: inline-block;
	margin: 0 1em 0 0;
}
.mypage-history-point-list ul li .detail span:last-child {
	margin: 0;
}
.mypage-history-point-list ul li .lost {
	color: #f24a1c;
}
.mypage-history-point-list ul li .normal {
	/*color: #76be21;*/
	color: #007ab8;
}
.mypage-history-point-list ul li .bonus {
	color: #ea7700;
}

@media screen and (max-width: 991px) {
	.mypage-history-point .inner {
		display: block;
	}
	.mypage-history-point .point-total,
	.mypage-history-point .point-detail {
		max-width: 100%;
	}
	.mypage-history-point .point-total .total {
		margin: 0;
	}
}
@media screen and (max-width: 575px) {
	.mypage-history-point .point-total {
		margin: 20px 0 0 0;
	}
	.mypage-history-point .point-detail {
		margin: 20px 0 30px 0;
	}
	.mypage-history-point .point-detail .detail {
		display: block;
	}
	.mypage-history-point .point-detail .detail .box {
		margin: 0 auto;
		border-top-width: 0;
		border-left-width: 1px;
	}
	.mypage-history-point .point-detail .detail .box:first-child {
		border-top-width: 1px;
	}
	.mypage-history-point-list {
		margin: 0;
	}
	.mypage-history-point-list ul li {
		display: block;
	}
	.mypage-history-point-list ul li .date {
		max-width: 100%;
	}
}

/*============================================================
	[マイページ] セッション評価
*/
.mypage-assessment-list {
	margin: 0 0 20px 0;
	padding: 20px 0 0 0;
	border-bottom: 1px solid #d6d6d6;
}
.mypage-assessment-list:last-child {
	margin: 0;
	border-bottom: 0;
}
.mypage-assessment-list h2 {
	margin: 0 0 20px 0;
	font-size: 21px;
}
/**/
.assessment-program-list {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -15px;
}
.assessment-program-list .block {
	flex-basis: 25%;
	margin: 0 0 40px 0;
	padding: 0 15px;
}
.assessment-program-list .block .id {
	margin: 0 0 5px 0;
}
.assessment-program-list .block .title {
	line-height: 1.5;
}
.assessment-program-list .block .row-foot {
	display: flex;
	align-items: center;
	margin: 15px 0 0 0;
}
.assessment-program-list .block .label-done {
	display: flex;
}
.assessment-program-list .block .label-done span {
	display: block;
	padding: 0 0.5em;
	border: 1px solid #565656;
	color: #565656;
}
.assessment-program-list .block.done {
	color: #ccc;
}
.assessment-program-list .block.done .title a {
	color: #ccc;
}
.assessment-program-list .block.done .title a:hover {
	color: #717074;
}
@media screen and (max-width: 1309px) {
	.assessment-program-list .block {
		flex-basis: 33.333%;
	}
}
@media screen and (max-width: 991px) {
	.assessment-program-list .block {
		flex-basis: 50%;
	}
}
@media screen and (max-width: 575px) {
	.mypage-assessment-list {
		padding: 10px 0 0 0;
	}
	.assessment-program-list {
		display: block;
		margin: 0;
	}
	.assessment-program-list .block {
		margin: 0 0 30px 0;
		padding: 0;
	}
}

/*============================================================
	[汎用] メイン
*/
.content-common-main {
	position: relative;
	color: #fff;
}
.content-common-main .kv {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: 100% 0%;
}
.content-common-main .kv span {
	position: absolute;
	z-index: 1;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-color: transparent;
	background-position: 50% 100%;
	background-repeat: no-repeat;
	background-size: 1386px 420px;
	background-image: url('../img/kv-common.jpg');
}
@media screen and (min-width: 1386px) {
	.content-common-main .kv span {
		background-size: cover;
	}
}
.content-common-main .container {
	position: relative;
	z-index: 5;
	display: flex;
	align-items: center;
	padding: 0 50px 30px 50px;
	max-width: 1350px;
	min-height: 420px;
}
.content-common-main .inner {
	padding: 0 0 40px 0;
}
.content-common-main .h {
	font-size: 32px;
	color: inherit;
}
.content-common-main .h span {
	display: inline-block;
}
@media screen and (max-width: 991px) {
	.content-common-main {
		color: #000;
	}
	.content-common-main .kv {
		position: relative;
		height: 300px;
	}
	.content-common-main .kv span {
		right: -180px;
		width: 200%;
		background-position: 100% 100%;
	}
	.content-common-main .container {
		padding: 0 50px;
		max-width: 100%;
		min-height: 180px;
	}
	.content-common-main .inner {
		padding: 30px 0 30px 0;
	}
}
@media screen and (max-width: 767px) {
	.content-common-main .kv {
		position: relative;
		height: 240px;
	}
	.content-common-main .kv span {
		right: -140px;
		background-size: 1188px 360px;
	}
	.content-common-main .container {
		padding: 0 30px;
	}
	.content-common-main .h {
		font-size: 28px;
	}
}
@media screen and (max-width: 575px) {
	.content-common-main .kv {
		height: 170px;
	}
	.content-common-main .kv span {
		right: -140px;
		background-size: 1023px 310px;
	}
}

/*============================================================
	[showcase] メイン
*/
.content-showcase-main * {
	color: inherit;
}

/*============================================================
	[showcase] vmware
*/
.content-showcase-vmware {
	margin: 50px 0 80px 0;
}
.content-showcase-vmware .slider {
	overflow: hidden;
    margin: 30px 0 0 0;
}
.content-showcase-vmware .slider .wrap {
    display: table;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-fill-mode: forwards;
    backface-visibility: hidden;
    perspective: 1000;
}
.content-showcase-vmware .slider .wrap > div {
    display: table-cell;
}
.content-showcase-vmware .slider img {
    display: block;
	width: 520px;
}
@keyframes ShowcaseSlider {
    from {
        transform: translateX(0%);
    }
    to {
        transform: translateX(-50%);
    }
}
@media screen and (max-width: 991px) {
	.content-showcase-vmware .slider img {
		width: 50vw;
	}
}

/*============================================================
	[showcase] スポンサー
*/
.content-showcase-sponsor {
	margin: 60px 0 20px 0;
}
.content-showcase-sponsor .h {
	margin: 0 0 15px 0;
	font-size: 24px;
}
.content-showcase-sponsor .layout-anchor-nav {
	margin: 30px 0 0 0;
}
/**/
.showcase-list {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -10px;
}
.showcase-list .block {
	flex-basis: 25%;
	padding: 0 10px 20px 10px;
}
.showcase-list .block .inner {
	height: 100%;
	background-color: #fff;
	box-shadow: 0px 1px 6px 0px rgba(0,0,0,0.32);
}
.showcase-list .block .logo a {
	display: block;
}
.showcase-list .block .logo img {
	display: block;
	margin: 0 auto;
	width: 100%;
}
.showcase-list .block .detail {
	padding: 15px 15px 20px 15px;
}
.showcase-list .block .detail .name {
	margin: 0 0 5px 0;
	color: #000;
}
.showcase-list .block .detail .row-foot {
	display: flex;
	justify-content: space-between;
	margin: 20px 0 0 0;
}
.showcase-list .block .detail .btn-default-outline {
	padding: 6px 25px 7px 25px;
}
.showcase-list .block .detail .join-type {
	margin-right: -5px;
}
.showcase-list .block .detail .join-type > div {
	margin: 0;
}
/**/
.content-showcase-list {
	padding: 40px 0 20px 0;
}
.content-showcase-list .h {
	margin: 0 0 20px 0;
	font-size: 24px;
}
@media screen and (max-width: 1309px) {
	.showcase-list .block .detail .btn-default-outline {
		padding: 6px 18px 7px 18px;
	}
}
@media screen and (max-width: 991px) {
	.showcase-list .block {
		flex-basis: 50%;
	}
}
@media screen and (max-width: 575px) {
	.content-showcase-sponsor {
		margin: 40px 0 20px 0;
	}
	.content-showcase-sponsor .layout-anchor-nav {
		display: block;
		margin: 20px 0 0 0;
	}
	.showcase-list {
		display: block;
	}
	.showcase-list .block .detail .row-foot {
		margin: 10px 0 0 0;
	}
	.content-showcase-list {
		padding: 20px 0 0 0;
	}
	.content-showcase-list .h {
		margin: 0 0 15px 0;
		font-size: 20px;
	}
}

/*============================================================
	[ハンズオンラボ]
*/
.page-handsonlabs .content {
	padding-top: 0;
}

/*============================================================
	[ハンズオンラボ] コンテンツリスト
*/
.content-handsonlabs-list {
	padding: 30px 0;
}
.content-handsonlabs-list .list {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -15px;
}
.content-handsonlabs-list .list li {
	flex-basis: 33.333%;
	max-width: 33.333%;
	margin: 50px 0 0 0;
	padding: 0 15px;
}
.content-handsonlabs-list .list li .block {
	display: table;
	width: 100%;
}
.content-handsonlabs-list .list li .block .thumb,
.content-handsonlabs-list .list li .block .detail {
	display: table-cell;
	vertical-align: top;
}
.content-handsonlabs-list .list li .block .thumb {
	padding-right: 20px;
	width: 90px;
}
.content-handsonlabs-list .list li .block .thumb img {
	width: 100%;
}
.content-handsonlabs-list .list li .block .detail {
	position: relative;
	line-height: 1.5;
}
.content-handsonlabs-list .list li .block .detail .id {
	font-size: 14px;
}
.content-handsonlabs-list .list li .block .detail .title {
	margin: 0 0 10px 0;
	font-size: 14px;
}
.content-handsonlabs-list .list li .row-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 0 0 90px;
}
@media screen and (max-width: 1309px) {
	.content-handsonlabs-list .list li {
		flex-basis: 50%;
		max-width: 50%;
	}
}
@media screen and (max-width: 767px) {
	.content-handsonlabs-list {
		padding: 20px 0 0 0;
	}
	.content-handsonlabs-list .list {
		display: block;
		margin: 0;
	}
	.content-handsonlabs-list .list li {
		max-width: 100%;
		margin: 20px 0 30px 0;
		padding: 0;
	}
	.content-handsonlabs-list .list li .block .thumb,
	.content-handsonlabs-list .list li .block .detail {
		padding-bottom: 0;
		vertical-align: middle;
	}
	.content-handsonlabs-list .list li .block .thumb {
		padding-right: 15px;
		width: 84px;
	}
	.content-handsonlabs-list .list li .block .detail .id {
		line-height: 1.5;
	}
	.content-handsonlabs-list .list li .block .detail .title {
		
	}
	.content-handsonlabs-list .list li .row-foot {
		padding: 0 0 0 84px;
	}
}

/*============================================================
	[ハンズオンラボ] ワークショップリスト
*/
.content-workshop-list {
}
.content-workshop-list .h {
	margin: 40px 0 20px 0;
	text-align: center;
	font-size: 24px;
}
.content-workshop-list .list {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -10px;
}
.content-workshop-list .list .block {
	flex-basis: 33.333%;
	padding: 12px 10px;
	line-height: 1.6;
}
.content-workshop-list .list .inner {
	padding: 20px 15px 25px 15px;
	height: 100%;
	background-color: #fff;
	box-shadow: 1px 1px 8px rgba(0,0,0,0.16);
}
.content-workshop-list .list .title {
	margin: 5px 0 0 0;
}
.content-workshop-list .list .id {
	margin: 5px 0 0 0;
}
.content-workshop-list .list .text {
	margin: 10px 0 0 0;
}
.content-workshop-list .list .btn-wrap {
	margin: 20px 0 0 0;
}
@media screen and (max-width: 991px) {
	.content-workshop-list .list .block {
		flex-basis: 50%;
	}
}
@media screen and (max-width: 767px) {
	.content-workshop-list .list {
		display: block;
		margin: 0;
	}
	.content-workshop-list .list .block {
		padding: 0 0 15px 0;
	}
}
@media screen and (max-width: 575px) {
	.content-workshop-list .h {
		margin: 30px 0 20px 0;
		text-align: center;
		font-size: 20px;
	}
}

/*============================================================
	[スポンサー]
*/
.page-sponsor .content {
	padding-top: 0;
}

/*============================================================
	[スポンサー] メイン
*/
.content-sponsor-main {
	position: relative;
	margin: 0 0 10px 0;
	color: #fff;
}
.content-sponsor-main .kv {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.content-sponsor-main .kv span {
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background-color: transparent;
	background-image: url('../img/kv-sponsor.jpg?=2023');
	background-position: 50% 90%;
	background-repeat: no-repeat;
	background-size: auto 380px;
}
.content-sponsor-main .kv span::after {
	content: '';
	position: absolute;
	z-index: 2;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background-color: transparent;
	background-image: url('../img/kv-sponsor-symbol.png?=2023');
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: auto 380px;
}
@media screen and (min-width: 1680px) {
	.content-sponsor-main .kv span {
		background-size: cover;
	}
}
.content-sponsor-main .container {
	display: flex;
	align-items: center;
	position: relative;
	z-index: 5;
	padding: 0 50px 30px 50px;
	max-width: 1350px;
	min-height: 380px;
}
.content-sponsor-main .h {
	font-size: 28px;
	line-height: 1.4;
	color: inherit;
}
.content-sponsor-main .note {
	margin: 15px 0 0 0;
	font-size: 12px;
	line-height: 1.4;
}
@media screen and (max-width: 1200px) {
	.content-sponsor-main .kv span {
		right: -240px;
		width: 200%;
		background-position: 100% 100%;
	}
	.content-sponsor-main .kv span::after {
		background-position: 100% 100%;
	}
}
@media screen and (max-width: 991px) {
	.content-sponsor-main {
		margin: 0 0 30px 0;
	}
	.content-sponsor-main .container {
		min-height: 280px;
	}
	.content-sponsor-main .kv span {
		right: -180px;
		background-size: auto 280px;
	}
	.content-sponsor-main .kv span::after {
		background-size: auto 280px;
	}
}
@media screen and (max-width: 767px) {
	.content-sponsor-main {
		margin: 0 0 20px 0;
	}
	.content-sponsor-main .container {
		min-height: 220px;
	}
	.content-sponsor-main .kv span {
		right: -140px;
		background-size: auto 220px;
	}
	.content-sponsor-main .kv span::after {
		background-size: auto 220px;
	}
	.content-sponsor-main .container {
		display: block;
		padding: 0 30px;
	}
	.content-sponsor-main .inner {
		padding: 30px 0 0 0;
	}
}
@media screen and (max-width: 575px) {
	.content-sponsor-main .container {
		padding: 0 20px;
		min-height: 360px;
	}
	.content-sponsor-main .kv span {
		right: 0;
		width: 100%;
		background-image: url('../img/kv-sponsor-sp.jpg');
		background-position: 100% 100%;
		background-size: cover;
	}
	.content-sponsor-main .kv span::after {
		content: none;
	}
	.content-sponsor-main .note {
		margin: 10px 0 0 0;
	}
}

/*============================================================
	[スポンサー] SHOWCASEご案内
*/
.content-sponsor-showcase {

}
.content-sponsor-showcase .container {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.content-sponsor-showcase .text {
	margin: 0 30px 0 0;
	line-height: 1.5;
}
@media screen and (max-width: 991px) {
	.content-sponsor-showcase .container {
		display: block;
	}
	.content-sponsor-showcase .text {
		margin: 0 0 15px 0;
	}
}

/*============================================================
	[スポンサー] リスト
*/
.content-sponsor-list {
	padding: 40px 0 20px 0;
}
.content-sponsor-list .h {
	margin-bottom: -10px;
	font-size: 23px;
}
.content-sponsor-list.global .h {
	font-size: 28px;
}
.content-sponsor-list ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -10px;
}
.content-sponsor-list ul li {
	margin: 30px 0 0 0;
	padding: 0 10px;
	flex-basis: 25%;
	max-width: 25%;
}
.content-sponsor-list.platinum ul li {
	flex-basis: 20%;
	max-width: 20%;
}
.content-sponsor-list.gold ul li,
.content-sponsor-list.silver ul li {
	flex-basis: 16.666%;
	max-width: 16.666%;
}
.content-sponsor-list ul li a {
	margin: 0 auto;
	display: block;
}
.content-sponsor-list ul li img {
	display: block;
	width: 100%;
}
@media screen and (max-width: 991px) {
	.content-sponsor-list ul li {
		flex-basis: 33.333%;
		max-width: 33.333%;
	}
	.content-sponsor-list.platinum ul li {
		flex-basis: 25%;
		max-width: 25%;
	}
	.content-sponsor-list.gold ul li,
	.content-sponsor-list.silver ul li {
		flex-basis: 20%;
		max-width: 20%;
	}
}
@media screen and (max-width: 767px) {
	.content-sponsor-list {
		padding: 30px 0 10px 0;
	}
	.content-sponsor-list .h {
		font-size: 20px;
	}
	.content-sponsor-list.global .h {
		font-size: 24px;
	}
	.content-sponsor-list ul li {
		margin: 20px 0 0 0;
	}
	.content-sponsor-list.platinum ul li {
		flex-basis: 33.333%;
		max-width: 33.333%;
	}
	.content-sponsor-list.gold ul li,
	.content-sponsor-list.silver ul li {
		flex-basis: 25%;
		max-width: 25%;
	}
}
@media screen and (max-width: 575px) {
	.content-sponsor-list .h {
		margin: 0 0 5px 0;
	}
	.content-sponsor-list ul {
		margin: 0 -5px;
	}
	.content-sponsor-list ul li {
		margin: 10px 0 0 0;
		padding: 0 5px;
		flex-basis: 50%;
		max-width: 50%;
	}
	.content-sponsor-list.global ul li {
		flex-basis: 100%;
		max-width: 100%;
	}
	.content-sponsor-list.global ul li a {
		max-width: 80%;
	}
	.content-sponsor-list.platinum ul li,
	.content-sponsor-list.gold ul li,
	.content-sponsor-list.silver ul li {
		flex-basis: 50%;
		max-width: 50%;
	}
}

/*============================================================
	[コンテンツ] メイン
*/
.content-main {
	position: relative;
	margin: 0 0 20px 0;
	color: #fff;
}
.content-session-main {
	margin: 0 0 10px 0;
}
.content-main .kv {
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.content-main .kv::before {
	content: '';
	display: block;
	position: absolute;
	top: -9999px;
	bottom: 448px;
	right: 0;
	width: 100%;
	background-repeat: no-repeat;
	background-color: #001559;
	background-position: 50% 100%;
	background-image: url('../img/kv-category-base.jpg');
	background-size: auto 100%;
}
.content-main .kv span {
	position: absolute;
	z-index: 1;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 448px;
	background-repeat: no-repeat;
	background-color: transparent;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: 2590px 448px;
}
.content-main .kv span {
	background-image: url('../img/kv-category-others.jpg');
}
.content-main[data-category="cloud-management"] .kv span {
	background-image: url('../img/kv-category-cloud-management.jpg');
}
.content-main[data-category="cloud-edge-infrastructure"] .kv span {
	background-image: url('../img/kv-category-cloud-edge.jpg');
}
.content-main[data-category="networking-security"] .kv span {
	background-image: url('../img/kv-category-networking-security.jpg');
}
.content-main[data-category="hybrid-workforce"] .kv span {
	background-image: url('../img/kv-category-hybrid-workforce.jpg');
}
.content-main[data-category="vision-innovation"] .kv span {
	background-image: url('../img/kv-category-vision-innovation.jpg');
}
.content-main .container {
	display: flex;
	align-items: center;
	position: relative;
	z-index: 5;
	padding: 0 50px;
	max-width: 1350px;
	min-height: 448px;
}
.content-main .inner {
	padding:  30px 460px 140px 0;
}
.content-main .h {
	margin: 5px 0;
	font-size: 28px;
	line-height: 1.4;
	color: inherit;
}
.content-main .lead {
	font-size: 18px;
	line-height: 1.4;
}
.content-main .download {
	margin: 15px 0 0 0;
}
.content-main.content-session-main .h {
	font-size: 24px;
}
.content-main.content-session-main .lead {
	font-size: 16px;
}
.content-main .btn-wrap {
	margin: 20px 0 0 0;
}
@media screen and (max-width: 1440px) {
	.content-main .kv::before {
		right: -574px;
		width: 200%;
		background-position: 100% 100%;
	}
	.content-main .kv span {
		right: -574px;
		width: 200%;
		background-position: 100% 100%;
	}
}
@media screen and (max-width: 1309px) {
	.content-main .container {
		max-width: 100%;
	}
}
@media screen and (max-width: 1200px) {
	.content-main .kv::before {
		right: -460px;
		bottom: 360px;
		background-size: 2081px 360px;
	}
	.content-main .kv span {
		right: -460px;
		height: 360px;
		background-size: 2081px 360px;
	}
	.content-main .container {
		min-height: 360px;
	}
	.content-main .inner {
		padding:  30px 380px 120px 0;
	}
}
@media screen and (max-width: 991px) {
	.content-main .kv::before {
		right: -280px;
		bottom: 240px;
		background-position: 100% 100%;
		background-size: 1387px 240px;
	}
	.content-main .kv span {
		right: -280px;
		height: 240px;
		background-position: 100% 100%;
		background-size: 1387px 240px;
	}
	.content-main .container {
		min-height: 310px;
	}
	.content-main .inner {
		padding:  20px 280px 100px 0;
	}
	.content-main .btn-wrap {
		margin: 15px 0 0 0;
	}
}
@media screen and (max-width: 767px) {
	.content-main .kv::before {
		right: 0;
		bottom: 140px;
		width: 100%;
		background-position: 50% 100%;
		background-size: 809px 140px;
	}
	.content-main .kv span {
		right: 0;
		width: 100%;
		height: 140px;
		background-position: 50% 100%;
		background-size: 809px 140px;
	}
	.content-main .container {
		display: block;
		padding: 0 30px;
	}
	.content-main .inner {
		padding:  30px 0 140px 0;
	}
	.content-main .h {
		font-size: 24px;
	}
	.content-main .lead {
		font-size: 14px;
	}
	.content-main.content-session-main .h {
		font-size: 18px;
	}
	.content-main.content-session-main .lead {
		font-size: 14px;
	}
}
@media screen and (max-width: 575px) {
	.content-main .container {
		padding: 0 20px;
		min-height: 320px;
	}
	.content-main .inner {
		padding:  30px 0 160px 0;
	}
}
@media screen and (max-width: 510px) {
	.content-main .kv::before {
		right: -150px;
		width: 200%;
		background-position: 100% 100%;
	}
	.content-main .kv span {
		right: -150px;
		width: 200%;
		background-position: 100% 100%;
	}
}

/*============================================================
	[コンテンツ] 開催概要
*/
.common-outline {
	display: flex;
	margin: 0 auto;
	max-width: 900px;
}
.common-outline .col {
	width: 50%;
}
.common-outline table {
	width: 100%;
}
.common-outline table th,
.common-outline table td {
	vertical-align: top;
}
.common-outline table th {
	white-space: nowrap;
	width: 80px;
}
.common-outline .col:first-child table th {
	width: 50px;
}
.common-outline table td .date {
	margin: 5px 0;
	font-size: 18px;
	line-height: 1.2;
}
.common-outline table td .date:first-child {
	margin-top: 0;
}
.common-outline table .fa-chevron-right {
	padding-left: 0.2em;
}
@media screen and (max-width: 991px) {
	.common-outline {
		display: block;
		margin: 0;
	}
	.common-outline .col {
		padding: 0;
		width: 100%;
	}
	.common-outline table th,
	.common-outline table td {
		padding: 10px 0 0 0;
	}
	.common-outline .col:first-child table th,
	.common-outline .col:first-child table td {
		padding: 0;
	}
	.common-outline table th {
		width: 70px !important;
	}
	.common-outline table td dl {
		margin: 10px 0 0 0;
	}
}

/*============================================================
	[ホーム]
*/
.page-home .content {
	padding: 0;
}

/*============================================================
	[ホーム] メイン
*/
.home-main {
	position: relative;
}
.home-main .outer {
	display: flex;
	align-items: center;
	position: relative;
	min-height: 496px;
}
.home-main .kv {
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgb(0,81,224);
	background: linear-gradient(141deg, rgba(0,59,175,1) 0%, rgba(0,21,89,1) 40%);
}
.home-main .kv span {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
}
.home-main1 .kv span {
	background-image: url('../img/kv-home01.png?=202308');
}
.home-main2 .kv span {
	background-image: url('../img/kv-home02.png?=202308');
}
.home-main3 .kv span {
	background-image: url('../img/kv-home03.png?=202308');
}
.home-main4 .kv span {
	background-image: url('../img/kv-home04.png?=202308');
}
.home-main5 .kv span {
	background-image: url('../img/kv-home05.png?=202308');
}
.home-main .container {
	padding: 0 50px;
	max-width: 1350px;
}
.home-main .headline {
	position: relative;
	z-index: 1;
	padding: 30px 0;
	width: 100%;
	color: #fff;
}
.home-main .headline h1 {
	color: inherit;
}
.home-main .headline h1 span {
	display: block;
}
.home-main .headline h2 {
	color: inherit;
}
.home-main .headline .btn-wrap {
	display: flex;
	flex-wrap: wrap;
}
.home-main .headline .btn-wrap > div {
	margin: 0 30px 0 0;
	padding: 20px 0 0 0;
}
.home-main .headline .btn-wrap a {
	border-color: #fff;
	color: #fff !important;
}
.home-main .headline .btn-wrap a:hover {
		background-color: #fff;
		border-color: #fff;
		color: #007ab8 !important;
}
@media screen and (max-width: 1309px) {
	.home-main .outer {
		min-height: 400px;
	}
}
@media screen and (max-width: 991px) {
	.home-main .outer {
		display: block;
		min-height: 100px;
	}
	.home-main .kv {
		position: relative;
		height: 420px;
		background: linear-gradient(130deg, rgba(0,81,224,1) 0%, rgba(0,21,89,1) 44%);
	}
	.home-main .kv span {
		background-position: 77% 50%;
	}
	.home-main .headline {
		padding: 40px 0;
		color: #000;
	}
	.home-main .headline h1 span {
		display: inline-block;
	}
	.home-main .headline .btn-wrap .btn-default {
		border-color: #007ab8;
	}
	.home-main .headline .btn-wrap .btn-default:hover {
		border-color: #007ab8;
	}
	.home-main .headline .btn-wrap .btn-white-outline {
		border-color: #007ab8;
		color: #007ab8 !important;
	}
	.home-main .headline .btn-wrap .btn-white-outline:hover {
		background-color: #007ab8;
		border-color: #007ab8;
		color: #fff !important;
	}
}
@media screen and (max-width: 767px) {
	.home-main .kv {
		height: 300px;
	}
	.home-main .container {
		padding: 0 40px;
	}
	.home-main .headline {
		padding: 20px 0 30px 0;
	}
	.home-main .headline h1 span {
		display: block;
		padding: 0;
	}
}
@media screen and (max-width: 575px) {
	.home-main .container {
		padding: 0 20px;
	}
}

/*============================================================
	[コンテンツ] 背景
*/
.content-bg {
	padding: 50px 0 80px 0;
	background-color: #001559;
	background-position: 50% 0;
	background-repeat: no-repeat;
	background-image: url('../img/lp-bg.png');
	background-size: 100% auto;
	color: #fff;
}
.content-bg::before {
	content: '';
	display: block;
	height: 0;
	padding-top: 6.14%;
}
@media screen and (max-width: 767px) {
	.content-bg {
		padding: 30px 0 40px 0;
	}
}

/*============================================================
	[ホーム] オンデマンド
*/
.home-ondemand {
	margin: 60px 0 80px 0;
}
.home-ondemand .head {
	margin: 0 0 30px 0;
	text-align: center;
}
.home-ondemand .head .h {
	font-size: 32px;
	line-height: 1.3;
}
.home-ondemand .head .h span {
	display: inline-block;
}
.home-ondemand .layout-program-list .block .title {
	font-size: 16px;
}
.home-ondemand .btn-wrap {
	margin: 30px 0 0 0;
}
@media screen and (max-width: 767px) {
	.home-ondemand {
		margin: 30px 0 40px 0;
	}
	.home-ondemand .head {
		margin: 0 0 20px 0;
	}
	.home-ondemand .head .h {
		font-size: 22px;
	}
}

/*============================================================
	[ホーム] スピーカー
*/
.home-speaker {
	margin: 60px 0 80px 0;
}
.home-speaker .head {
	margin: 0 0 30px 0;
	text-align: center;
}
.home-speaker .head .h {
	font-size: 32px;
	line-height: 1.3;
}
.home-speaker .list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.home-speaker .block {
	flex-basis: 20%;
	margin: 0 0 30px 0;
}
.home-speaker .block .inner {
	padding: 0 20px;
}
.home-speaker .block .portrait {
	margin: 0 auto;
	max-width: 170px;
}
.home-speaker .block .portrait img {
	width: 100%;
}
.home-speaker .block dl {
	margin: 10px 0 0 0;
	text-align: center;
}
.home-speaker .block dl dt {
	font-size: 16px;
	line-height: 1.3;
	color: #000;
}
.home-speaker .sp-speaker {
	display: none;
	margin: 0 0 -30px 0;
}
.home-speaker .sp-speaker .list {
	display: flex;
	flex-wrap: wrap;
}
.home-speaker .sp-speaker .list .block {
	flex-basis: 33.333%;
	margin: 0 0 30px 0;
}
@media screen and (max-width: 1309px) {
	.home-speaker .block {
		flex-basis: 25%;
	}
}
@media screen and (max-width: 991px) {
	.home-speaker .block {
		flex-basis: 33.333%;
	}
}
@media screen and (max-width: 767px) {
	.home-speaker {
		margin: 40px 0;
	}
	.home-speaker .head .h {
		font-size: 22px;
	}
	.home-speaker .block .portrait {
		max-width: 140px;
	}
	.home-speaker .block dl {
		font-size: 12px;
	}
	.home-speaker .block dl dt {
		font-size: 14px;
	}
}
@media screen and (max-width: 575px) {
	.home-speaker .list .block {
		flex-basis: 50%;
		margin: 0 0 20px 0;
	}
}

/*============================================================
	[ホーム] セッション カテゴリ
*/
.home-category {
	padding: 70px 0 80px 0;
	background-color: #01155a;
	background-repeat: no-repeat;
	background-image: url('../img/home-category-bg.png');
	background-size: 100% auto;
}
.home-category .h {
	margin: 0 0 15px 0;
	font-size: 32px;
	line-height: 1.3;
	color: inherit;
}
.home-category .h span {
	display: inline-block;
}
.home-category .head {
	margin: 0 0 30px 0;
	text-align: center;
	font-size: 16px;
	color: #fff;
}
.home-category .list {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -10px;
	color: #565656;
}
.home-category .list .block {
	flex-basis: 33.333%;
	margin: 0 0 30px 0;
	padding: 0 10px;
}
.home-category .list .frame {
	position: relative;
	padding: 20px 20px 20px 110px;
	background-color: #fff;
}
.home-category .list .frame .icon {
	position: absolute;
	top: 15px;
	left: 5px;
	width: 100px;
}
.home-category .list .frame .icon img {
	display: block;
	margin: 0 auto;
	width: 80%;
}
.home-category .list .frame .title {
	font-size: 20px;
	line-height: 1.5;
}
.home-category .list .frame .text {
	margin: 5px 0 0 0;
}
.home-category .list .frame p {
	min-height: 3em;
}
.home-category .list .frame .link {
	margin: 15px 0 0 0;
	font-size: 16px;
}
.home-category .list .frame .link i {
	padding-left: 0.2em;
}
.home-category .foot {
	margin: 20px 0 0 0;
	text-align: center;
	font-size: 16px;
	color: #fff;
}
.home-category .btn-wrap {
	margin: 20px 0 0 0;
}
.home-timetable {
	margin: 60px 0 0 0;
	text-align: center;
	font-size: 16px;
	color: #fff;
}
.home-category .agenda-program {
	margin: 80px 0;
}
@media screen and (max-width: 1309px) {
	.home-category .list .block {
		flex-basis: 50%;
	}
}
@media screen and (max-width: 991px) {
	.home-category .list {
		display: block;
		margin: 0;
	}
	.home-category .list .block {
		margin: 0 0 20px 0;
		padding: 0;
	}
	.home-category .list .frame .text {
		margin: 5px 0 0 0;
	}
	.home-category .list .frame p {
		min-height: initial;
	}
}
@media screen and (max-width: 767px) {
	.home-category {
		padding: 40px 0;
	}
	.home-category .h {
		margin: 0 0 10px 0;
		font-size: 22px;
	}
	.home-category .head {
		margin: 0 0 20px 0;
		font-size: 14px;
	}
	.home-category .list .block {
		margin: 0 0 15px 0;
	}
	.home-category .list .frame {
		padding: 15px 15px 15px 90px;
	}
	.home-category .list .frame .icon {
		top: 15px;
		left: 5px;
		width: 80px;
	}
	.home-category .list .frame .title {
		font-size: 20px;
	}
	.home-category .list .frame .link {
		margin: 5px 0 0 0;
	}
	.home-category .foot {
		font-size: 14px;
	}
}

/*============================================================
	[ホーム] 開催概要
*/
.home-outline {
	padding: 50px 0 60px 0;
}
.home-outline .frame {
	padding: 50px;
	box-shadow: 0 3px 6px rgba(0,0,0,0.16);
}
.home-outline .head {
	margin: 0 0 40px 0;
	text-align: center;
}
.home-outline .head .h {
	font-size: 32px;
	line-height: 1.3;
}
.home-outline .head .h span {
	display: inline-block;
}
.home-outline .btn-wrap {
	margin: 40px 0 0 0;
}

@media screen and (max-width: 767px) {
	.home-outline {
		padding: 30px 0;
	}
	.home-outline .frame {
		padding: 20px 15px 30px 15px;
	}
	.home-outline .head {
		margin: 0 0 20px 0;
	}
	.home-outline .head .h {
		font-size: 22px;
	}
	.home-outline .btn-wrap {
		margin: 20px 0 0 0;
	}
}

/*============================================================
	[ホーム] スポンサー
*/
.home-sponsor .head {
	margin: 0 0 30px 0;
	text-align: center;
}
.home-sponsor .head .h {
	font-size: 32px;
	line-height: 1.3;
	color: inherit;
}
.home-sponsor .head .h span {
	display: inline-block;
}
.home-sponsor .head .h-sm {
	font-size: 24px;
	line-height: 1.4;
	color: inherit;
}
.home-sponsor .list {
	padding: 0 0 30px 0;
}
.home-sponsor .list ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -10px;
}
.home-sponsor .list.global ul {
	justify-content: center;
}
.home-sponsor .list ul li {
	flex-basis: 25%;
	margin: 0 0 30px 0;
	padding: 0 10px;
}
.home-sponsor .list ul li a {
	display: block;
}
.home-sponsor .list ul li img {
	width: 100%;
}
.home-sponsor .foot {
	text-align: center;
	font-size: 12px;
}
.home-sponsor .btn-wrap {
	margin: 0 0 20px 0;
}
@media screen and (max-width: 991px) {
	.home-sponsor .list ul li {
		flex-basis: 33.333%;
	}
}
@media screen and (max-width: 767px) {
	.home-sponsor .head {
		margin: 0 0 15px 0;
	}
	.home-sponsor .head .h {
		font-size: 22px;
	}
	.home-sponsor .head .h-sm {
		font-size: 18px;
	}
	.home-sponsor .list {
		padding: 0 0 20px 0;
	}
	.home-sponsor .list ul {
		margin: 0 -7px;
	}
	.home-sponsor .list ul li {
		flex-basis: 50%;
		margin: 0 0 15px 0;
		padding: 0 7px;
	}
}

/*============================================================
	[VMworldとは] 概要
*/
.content-about-description {
	margin: 50px 0 0 0;
}
.content-about-description .wrap::after {
	content: '';
	display: block;
	clear: both;
}
.content-about-description .video {
	position: relative;
	float: right;
	padding: 0 0 0 30px;
	width: 43%;
}
.content-about-description .head {
	float: left;
	width: 57%;
}
.content-about-description .head .h {
	font-size: 24px;
	line-height: 1.6;
}
.content-about-description .detail {
	float: left;
	width: 57%;
	font-size: 16px;
}
.content-about-description .detail p {
	margin: 1.5em 0;
}
.content-about-description .detail p:last-child {
	margin-bottom: 0;
}
.content-about-description .detail ul li {
	position: relative;
	padding-left: 0.8em;
}
.content-about-description .detail ul li::before {
	content: '・';
	position: absolute;
	top: 0;
	left: 0;
}
@media screen and (max-width: 1309px) {
	.content-about-description .video {
		float: none;
		margin: 30px auto;
		padding: 0;
		width: 100%;
		max-width: 560px;
	}
	.content-about-description .head {
		float: none;
		width: 100%;
		text-align: center;
	}
	.content-about-description .detail {
		float: none;
		width: 100%;
	}
}
@media screen and (max-width: 767px) {
	.content-about-description {
		margin: 10px 0 40px 0;
	}
	.content-about-description .video {
		margin: 20px auto;
		max-width: 100%;
	}
	.content-about-description .head .h {
		text-align: left;
		font-size: 20px;
		line-height: 1.5;
	}
	.content-about-description .head .h br {
		display: none;
	}
	.content-about-description .detail {
		font-size: 14px;
	}
}

/*============================================================
	[VMworldとは] おすすめする理由
*/
.content-about-reason {
	margin: 70px 0 80px 0;
}
.content-about-reason img {
	width: 100%;
}
.content-about-reason .head {
	text-align: center;
	font-size: 18px;
}
.content-about-reason .head .h {
	font-size: 32px;
	line-height: 1.5;
}
.content-about-reason .head .h span {
	display: inline-block;
}
.content-about-reason .head p {
	margin: 5px 0 0 0;
}
.content-about-reason .head p span {
	display: inline-block;
}
.content-about-reason ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -10px;
}
.content-about-reason ul li {
	margin: 30px 0 0 0;
	padding: 0 10px;
	flex-basis: 25%;
	max-width: 25%;
}
.content-about-reason ul li .block {
	height: 100%;
	background-color: #fff;
	box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.32);
	line-height: 1.7;
}
.content-about-reason ul li .thumb {
	position: relative;
	padding: 0 0 30px 0;
}
.content-about-reason ul li .thumb::after {
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 50px;
	background-position: 0 0;
	background-image: url('../img/about-line.png');
	background-repeat: no-repeat;
	background-size: 100% 100%;
}
.content-about-reason ul li .detail {
	padding: 0 20px 30px 20px;
}
.content-about-reason ul li .title {
	margin: 0 0 15px 0;
	font-size: 18px;
	line-height: 1.4;
}
.content-about-reason ul li .more {
	margin: 15px 0 0 0;
}
.content-about-reason ul li .more i {
	padding-left: 0.4em;
}
.content-about-reason .btn-wrap {
	margin: 40px 0 0 0;
}
@media screen and (max-width: 1309px) {
	.content-about-reason ul li {
		flex-basis: 50%;
		max-width: 50%;
	}
}
@media screen and (max-width: 767px) {
	.content-about-reason {
		margin: 40px 0;
	}
	.content-about-reason .head {
		font-size: 16px;
	}
	.content-about-reason .head .h {
		font-size: 20px;
	}
	.content-about-reason ul li {
		margin: 20px 0 0 0;
	}
	.content-about-reason ul li .detail {
		padding: 0 15px 20px 15px;
	}
	.content-about-reason ul li .title {
		margin: 0 0 10px 0;
		font-size: 16px;
	}
}
@media screen and (max-width: 575px) {
	.content-about-reason ul {
		display: block;
		margin: 0;
	}
	.content-about-reason ul li {
		padding: 0;
		max-width: 100%;
	}
}

/*============================================================
	[VMworldとは] 下部
*/
/*.content-about-footer {
	color: #fff;
}
.content-about-footer .head {
	margin: 0 0 30px 0;
	text-align: center;
}
.content-about-footer .head .h {
	font-size: 24px;
	color: inherit;
}
.content-about-footer h3 {
	margin: 0 0 0.5em 0;
	color: inherit;
}
.content-about-footer .hr {
	margin: 30px 0;
}
@media screen and (max-width: 767px) {
	.content-about-footer .head .h {
		font-size: 20px;
	}
}*/

/*============================================================
	[開催概要] 開催概要
*/
.agenda-outline {
	margin: 50px 0 80px 0;
}
.agenda-outline .head {
	margin: 0 0 30px 0;
	text-align: center;
}
.agenda-outline .head .h {
	font-size: 28px;
	line-height: 1.3;
}
.agenda-outline .head .h span {
	display: inline-block;
}
.agenda-outline .btn-wrap {
	margin: 30px 0 0 0;
}
@media screen and (max-width: 767px) {
	.agenda-outline {
		margin: 0;
		padding: 20px 0 10px 0;
	}
	.agenda-outline .head {
		margin: 0 0 20px 0;
	}
	.agenda-outline .head .h {
		font-size: 20px;
	}
	.agenda-outline .btn-wrap {
		margin: 20px 0 0 0;
	}
}

/*============================================================
	[開催概要] 開催会場
*/
.agenda-place {
	display: flex;
	flex-direction: row-reverse;
	margin: 20px 0;
	padding: 40px 0;
}
.agenda-place .image {
	flex-basis: 610px;
}
.agenda-place .image img {
	width: 100%;
}
.agenda-place .detail {
	flex: 1;
	padding: 0 30px 0 0;
}
.agenda-place .head .h {
	margin: 0 0 0.4em 0;
	font-size: 16px;
}
.agenda-place .head .name {
	margin: 0 0 0.3em 0;
	font-size: 32px;
}
.agenda-place .head p {
	margin: 5px 0;
}
.agenda-place .head p i {
	padding-left: 0.2em;
}
.agenda-place .access {
	margin: 15px 0 0 0;
}
.agenda-place .access .h {
	margin: 0 0 0.4em 0;
	font-size: 16px;
}
.agenda-place .access ul li {
	position: relative;
	padding-left: 0.8em;
}
.agenda-place .access ul li::before {
	content: '・';
	position: absolute;
	top: 0;
	left: 0;
}
.agenda-place .btn-wrap {
	margin: 20px 0 0 0;
}
@media screen and (max-width: 1309px) {
	.agenda-place .image {
		flex-basis: 420px;
	}
}
@media screen and (max-width: 991px) {
	.agenda-place {
		display: block;
	}
	.agenda-place .image {
		margin: 0 0 30px 0;
	}
	.agenda-place .detail {
		padding: 0;
	}
	.agenda-place .btn-wrap {
		display: flex;
		justify-content: center;
	}
}
@media screen and (max-width: 767px) {
	.agenda-place {
		margin: 20px 0;
		padding: 20px 0 10px 0;
	}
	.agenda-place .image {
		margin: 0 0 20px 0;
	}
	.agenda-place .head .name {
		font-size: 22px;
	}
	.agenda-place .access ul li {
		margin: 0.3em 0;
		line-height: 1.4;
	}
}

/*============================================================
	[開催概要] FAQ
*/
.agenda-faq {
	margin: 20px 0;
	padding: 40px 0;
}
.agenda-faq .head {
	margin: 0 0 30px 0;
	text-align: center;
}
.agenda-faq .head .h {
	margin: 0 0 20px 0;
	font-size: 24px;
}
@media screen and (max-width: 767px) {
	.agenda-faq {
		margin: 20px 0;
		padding: 20px 0;
	}
	.agenda-faq .head {
		margin: 0 0 20px 0;
	}
	.agenda-faq .head .h {
		margin: 0 0 10px 0;
		font-size: 22px;
	}
}

/*============================================================
	[FAQ] メイン
*/
.content-faq-main {
	position: relative;
	background: rgb(0,72,205);
	background: linear-gradient(132deg, rgba(0,72,205,1) 10%, rgba(0,21,89,1) 50%);
	color: #fff;
}
.content-faq-main::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-position: 55% 50%;
	background-repeat: no-repeat;
	background-image: url('../img/main-bg-faq.png');
	background-size: auto 100%;
}
.content-faq-main * {
	color: inherit;
}
.content-faq-main .kv {
	position: absolute;
	bottom: -20px;
	right: 115px;
	width: 150px;
	height: 150px;
	background-position: 50% 50%;
	background-image: url('../img/img-faq-main.png');
	background-repeat: no-repeat;
	background-size: contain;
}
.content-faq-main .container {
	height: 200px;
}
.content-faq-main .inner {
	display: flex;
	align-items: center;
	height: 100%;
}
.content-faq-main .h {
	font-size: 28px;
}
.content-faq-main .note {
	font-size: 12px;
}
.content-faq-main .note span {
	display: inline-block;
}
@media screen and (max-width: 991px) {
	.content-faq-main .kv {
		bottom: -12px;
		right: 72px;
		width: 93px;
		height: 93px;
	}
	.content-faq-main .container {
		height: 124px;
	}
	.content-faq-main .inner {
		padding: 30px 0;
	}
}
@media screen and (max-width: 767px) {
	.content-faq-main .kv {
		right: 22px;
	}
	.content-faq-main .inner {
		padding: 0 110px 0 0;
	}
	.content-faq-main .h {
		font-size: 28px;
	}
}
@media screen and (max-width: 575px) {
	.content-faq-main .h {
		font-size: 22px;
	}
}

/*============================================================
	[タブ] 
*/
.nav-tabs-explore {
	display: flex;
	justify-content: center;
	padding: 30px 0;
	border: 0;
	text-align: center;
	font-size: 16px;
	line-height: 1.3;
}
.nav-tabs-explore li {
	flex-basis: 20%;
}
.nav-tabs-explore li a,
.nav-tabs-explore li > span {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	padding: 15px 10px;
	height: 100%;
	color: inherit;
}
.nav-tabs-explore li a br.hidden-pc,
.nav-tabs-explore li > span br.hidden-pc {
	display: none;
}
.nav-tabs-explore li a:hover {
	color: #0091da;
}
.nav-tabs-explore li a::before,
.nav-tabs-explore li > span::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 1px;
	background-color: #000;
}
.nav-tabs-explore li a.active,
.nav-tabs-explore li a.active:hover,
.nav-tabs-explore li span.active {
	color: #1d428a;
	cursor: default;
}
.nav-tabs-explore li a.active::after,
.nav-tabs-explore li span.active::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 4px;
	background-color: #1d428a;
}
@media screen and (max-width: 1309px) {
	.nav-tabs-explore {
		flex-wrap: nowrap;
	}
	.nav-tabs-explore li {
		flex-basis: auto;
		flex: 1;
	}
}
@media screen and (max-width: 767px) {
	.nav-tabs-explore {
		padding: 15px 0;
		font-size: 14px;
	}
	.nav-tabs-explore li a,
	.nav-tabs-explore li > span {
		padding: 10px 4px;
	}
}
@media screen and (max-width: 575px) {
	.nav-tabs-explore {
		font-size: 12px;
	}
	.nav-tabs-explore li a br.hidden-pc,
	.nav-tabs-explore li > span br.hidden-pc {
		display: block;
	}
	.nav-tabs-explore li a br.hidden-sp,
	.nav-tabs-explore li > span br.hidden-sp {
		display: none;
	}
}

/*============================================================
	[FAQ] 
*/
.content-faq .nav-tabs-faq {
	margin: 20px -30px 0 -30px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	border: 0;
	text-align: center;
	font-size: 18px;
	line-height: 1.3;
}
.content-faq .nav-tabs-faq li {
	display: flex;
	justify-content: center;
	padding: 0 30px;
}
.content-faq .nav-tabs-faq li a {
	position: relative;
	display: block;
	padding: 10px 0;
	color: #565656;
}
.content-faq .nav-tabs-faq li a::after {
	content: '';
	display: none;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 5px;
	background-color: #1d428a;
}
.content-faq .nav-tabs-faq li a:hover {
	color: #0091da;
}
.content-faq .nav-tabs-faq li a.active,
.content-faq .nav-tabs-faq li a.active:hover {
	color: #1d428a;
	cursor: default;
}
.content-faq .nav-tabs-faq li a.active::after {
	display: block;
}
.content-faq .nav-tabs-faq li a br.hidden-pc {
	display: none;
}

.content-faq {
	padding: 0 0 80px 0;
}
.content-faq .tab-pane {
	padding: 50px 0 0 0;
	line-height: 1.6;
}
.content-faq .tab-pane h2 {
	margin: 0 0 30px 0;
	text-align: center;
	font-size: 24px;
}
.content-faq .tab-pane dl {
	padding: 20px 0;
	border-bottom: 1px solid #ccc;
}
.content-faq .tab-pane dl:last-child {
	padding: 20px 0;
	border: 0;
}
.content-faq .tab-pane dl dt,
.content-faq .tab-pane dl dd {
	position: relative;
	padding: 0 0 0 1.5em;
}
.content-faq .tab-pane dl dt span,
.content-faq .tab-pane dl dd span {
	position: absolute;
	top: 0;
	left: 0;
}
.content-faq .tab-pane dl dt {
	margin: 0 0 10px 0;
	color: #000;
}
@media screen and (max-width: 991px) {
	.content-faq .nav-tabs-faq {
		font-size: 16px;
	}
}
@media screen and (max-width: 1309px) {
	.content-faq .nav-tabs-faq {
		margin: 20px -20px 0 -20px;
		font-size: 14px;
	}
	.content-faq .nav-tabs-faq li {
		padding: 0 20px;
	}
}
@media screen and (max-width: 767px) {
	.content-faq {
		padding: 0 0 40px 0;
	}
	.content-faq .tab-pane {
		padding: 25px 0 20px 0;
	}
}
@media screen and (max-width: 575px) {
	.content-faq .nav-tabs-faq {
		display: block;
		margin: 10px 0;
		width: auto;
	}
	.content-faq .nav-tabs-faq li {
		padding: 0;
	}
	.content-faq .nav-tabs-faq li a {
		display: flex;
		width: auto;
		padding: 10px 0 6px 0;
	}
	.content-faq .nav-tabs-faq li a::after {
		height: 4px;
	}
	.content-faq .nav-tabs-faq li a br.hidden-pc {
		display: none;
	}
	.content-faq .nav-tabs-faq li a br.hidden-sp {
		display: none;
	}
	.content-faq .nav-tabs-faq {
		font-size: 13px;
	}
	.content-faq .tab-pane h2 {
		margin: 0;
	}
}

/*============================================================
	[アーカイブ]
*/
.archives .block {
	padding: 10px;
	outline: 0;
	backface-visibility: hidden;
}
.archives .block .inner {
	background-color: #fff;
	box-shadow: 0px 1px 6px 0px rgba(0,0,0,0.16);
}
.archives .block .image {
	transition: transform 0.3s ease;
}
.archives .block .image a {
	display: block;
}
.archives .block .image a:hover {
	opacity: 0.7;
}
.archives .block .image img {
	width: 100%;
}
.archives .block .detail {
	padding: 20px;
}
.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;
	top: 50%;
	margin: -25px 0 0 0;
	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;
	}
	.archives .block .detail {
		padding: 15px;
	}
}
@media screen and (max-width: 575px) {
	.archives.slick-slider .slick-list {
		overflow: hidden;
	}
}

/*============================================================
	[コンテンツカタログ]
*/
.page-program-catalog .content {
	padding-top: 0;
}

/*============================================================
	[コンテンツカタログ] メイン
*/
.content-catalog-main {
	position: relative;
	margin: 0 0 50px 0;
	color: #fff;
}
.content-catalog-main .kv {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.content-catalog-main .kv::before,
.content-catalog-main .kv::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	width: 50%;
	background-repeat: no-repeat;
	background-size: 100% 100%;
}
.content-catalog-main .kv::before {
	left: 0;
	background-image: url('../img/kv-catalog-left.jpg');
}
.content-catalog-main .kv::after {
	right: 0;
	background-image: url('../img/kv-catalog-right.jpg');
}
.content-catalog-main .kv span {
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: transparent;
	background-image: url('../img/kv-catalog.jpg');
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: 1567px 380px;
}
.content-catalog-main .container {
	display: flex;
	align-items: center;
	position: relative;
	z-index: 5;
	padding: 0 50px 30px 50px;
	max-width: 1350px;
	min-height: 380px;
}
.content-catalog-main .h1 {
	font-size: 36px;
	line-height: 1.4;
	color: inherit;
}
.content-catalog-main .h2 {
	font-size: 29px;
	line-height: 1.4;
	color: inherit;
}
.content-catalog-main .guide {
	margin: 10px 0 0 0;
	line-height: 1.4;
}
.content-catalog-main .guide a {
	color: #fff;
}
@media screen and (max-width: 1340px) {
	.content-catalog-main .kv span {
		left: auto;
		right: 0;
		width: 1340px;
	}
}
@media screen and (max-width: 991px) {
	.content-catalog-main {
		margin: 0 0 30px 0;
	}
	.content-catalog-main .container {
		min-height: 280px;
	}
	.content-catalog-main .kv span {
		right: -180px;
		background-size: contain;
	}
}
@media screen and (max-width: 767px) {
	.content-catalog-main .container {
		min-height: 220px;
	}
	.content-catalog-main .kv span {
		right: -300px;
		background-size: contain;
	}
	.content-catalog-main .container {
		display: block;
		padding: 0 30px;
	}
	.content-catalog-main .inner {
		padding: 30px 0 0 0;
	}
	.content-catalog-main .h1 {
		font-size: 24px;
	}
	.content-catalog-main .h2 {
		font-size: 16px;
	}
}
@media screen and (max-width: 575px) {
	.content-catalog-main .container {
		padding: 0 20px;
		min-height: 360px;
	}
	.content-catalog-main .kv span {
		right: 0;
		width: 100%;
		background-image: url('../img/kv-catalog-sp.jpg');
		background-position: 100% 100%;
		background-size: cover;
	}
}

/*============================================================
	[コンテンツカタログ] SP用コンテンツを探すボタン
*/
.tab-program-index-side {
	display: none;
}
@media screen and (max-width: 991px) {
	.tab-program-index-side {
		display: flex;
		justify-content: center;
		margin: 0 0 30px 0;
		padding: 0 15px;
	}
}

/*============================================================
	[コンテンツ]  オンデマンドメイン
*/
.content-ondemand-main {
	position: relative;
}
.content-ondemand-main .outer {
	display: flex;
	align-items: center;
	position: relative;
	min-height: 400px;
}
.content-ondemand-main .kv {
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgb(0,81,224);
	background: linear-gradient(141deg, rgba(0,59,175,1) 0%, rgba(0,21,89,1) 40%);
}
.content-ondemand-main .kv span {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
}
.content-ondemand-main1 .kv span {
	background-image: url('../img/kv-home01.png?=202308');
}
.content-ondemand-main2 .kv span {
	background-image: url('../img/kv-home02.png?=202308');
}
.content-ondemand-main3 .kv span {
	background-image: url('../img/kv-home03.png?=202308');
}
.content-ondemand-main4 .kv span {
	background-image: url('../img/kv-home04.png?=202308');
}
.content-ondemand-main5 .kv span {
	background-image: url('../img/kv-home05.png?=202308');
}
.content-ondemand-main .container {
	padding: 0 50px;
	max-width: 1350px;
}
.content-ondemand-main .headline {
	position: relative;
	z-index: 1;
	padding: 30px 0;
	width: 100%;
	color: #fff;
}
.content-ondemand-main .headline h1 {
	font-size: 32px;
	color: inherit;
}
.content-ondemand-main .headline .btn-wrap {
	display: flex;
	flex-wrap: wrap;
}
.content-ondemand-main .headline .btn-wrap > div {
	padding: 20px 0 0 0;
}
.content-ondemand-main .headline .btn-wrap a {
	border-color: #fff;
	color: #fff !important;
}
.content-ondemand-main .headline .btn-wrap a:hover {
		background-color: #fff;
		border-color: #fff;
		color: #007ab8 !important;
}
@media screen and (max-width: 991px) {
	.content-ondemand-main .outer {
		display: block;
		min-height: 100px;
	}
	.content-ondemand-main .kv {
		position: relative;
		height: 420px;
		background: linear-gradient(130deg, rgba(0,81,224,1) 0%, rgba(0,21,89,1) 44%);
	}
	.content-ondemand-main .kv span {
		background-position: 77% 50%;
	}
	.content-ondemand-main .headline {
		padding: 40px 0;
		color: #000;
	}
	.content-ondemand-main .headline h1 span {
		display: inline-block;
	}
	.content-ondemand-main .headline .btn-wrap .btn-default {
		border-color: #007ab8;
	}
	.content-ondemand-main .headline .btn-wrap .btn-default:hover {
		border-color: #007ab8;
	}
	.content-ondemand-main .headline .btn-wrap .btn-white-outline {
		border-color: #007ab8;
		color: #007ab8 !important;
	}
	.content-ondemand-main .headline .btn-wrap .btn-white-outline:hover {
		background-color: #007ab8;
		border-color: #007ab8;
		color: #fff !important;
	}
}
@media screen and (max-width: 767px) {
	.content-ondemand-main .kv {
		height: 300px;
	}
	.content-ondemand-main .container {
		padding: 0 40px;
	}
	.content-ondemand-main .headline {
		padding: 20px 0 30px 0;
	}
}
@media screen and (max-width: 575px) {
	.content-ondemand-main .container {
		padding: 0 20px;
	}
}

/*============================================================
	[コンテンツ]  オンデマンドリスト
*/
.layout-ondemand-unregistered {
	padding: 40px 0 60px 0;
	background-color: #1e2a31;
	color: #fff;
}
.layout-ondemand-unregistered .head-wrap * {
	color: #fff;
}
.layout-program-category-list .layout-program-list {
	margin-top: -10px;
}
.layout-program-category-list .layout-program-list .block {
	padding-top: 40px;
}
.layout-ondemand-unregistered .layout-program-list .block .row-head {
	display: flex;
}
.layout-ondemand-unregistered .layout-program-list .block .image-static + .row-head {
	margin-top: 15px;
}
.layout-program-category-list .layout-program-list .block .mod-badge-unregistered {
	margin-right: 10px;
}
.layout-ondemand-unregistered .layout-program-list .block .id {
	flex: 1;
	color: inherit;
}
.layout-ondemand-unregistered .layout-program-list .block .title {
	margin-top: 10px;
	color: inherit;
}
.layout-ondemand-unregistered .layout-program-list .block .title a {
	color: inherit;
}
.layout-ondemand-unregistered .layout-program-list .block .mod-point {
	color: inherit;
}
.layout-ondemand-unregistered .layout-program-list .block .add-favorite {
	color: inherit !important;
}
@media screen and (max-width: 767px) {
	.layout-ondemand-unregistered {
		margin: 30px 0;
		padding: 30px 0 40px 0;
	}
	.layout-program-category-list .layout-program-list {
		margin-top: -10px;
	}
	.layout-program-category-list .layout-program-list .block {
		padding-top: 30px;
	}
}

/*============================================================
	ブレイクポイント Bootstrap3基準 md
*/
@media screen and (max-width: 1309px) {
}

/*============================================================
	ブレイクポイント Bootstrap3基準 sm
*/
@media screen and (max-width: 991px) {
}

/*============================================================
	ブレイクポイント Bootstrap3基準 xs
*/
@media screen and (max-width: 767px) {
}

/*============================================================
	ブレイクポイント Bootstrap3基準 xxs
*/
@media screen and (max-width: 575px) {
}

