/*

	rev.13
	date 2023.04.13

*/

/*============================================================
	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.9;
	color: #565656;
}
input, select, textarea {
	margin: 0;
	font-family: YakuHanJP, Metropolis, 'Hiragino Sans', sans-serif;
	font-weight: 200;
	color: #565656;
}
#body {
	overflow: hidden;
	position: relative;
	width: 100%;
}

/*============================================================
	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: inherit;
	cursor: pointer;
}
button {
	cursor: pointer;
}
strong {
	font-weight: inherit;
}
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: inherit;
}
.h1, .h2, .h3 {
	color: #000;
}
.img-fluid {
	width: 100%;
}
.container {
	position: relative;
}
.container::after {
	content: '';
	display: block;
	clear: both;
}
.lead {
	font-weight: inherit;
}
.small {
	font-weight: inherit;
}
.btn {
	white-space: normal;
	font-weight: inherit;
}
.btn-group-vertical > .btn,
.btn-group > .btn {
	white-space: nowrap;
}
/* 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: 1310px) {
	.container {
		max-width: 1280px;
	}
}

/*============================================================
	アイコン
*/
section .fa-chevron-right {
	padding-left: 0.3em;
	font-size: 96%;
}

/*============================================================
	シェアボタン
*/
.fb-like {
	display: block !important;
	font-size: 20px !important;
	line-height: 0 !important;
}
.fb-like span {
	display: block !important;
	/*width: 160px !important;*/
	height: 20px !important;
}
.fb-like span iframe {
	/*width: 100% !important;*/
	height: 100% !important;
}
.vmw-twitter-btn,
.vmw-twitter-btn iframe {
	font-size: 20px !important;
	line-height: 0 !important;
}

/*============================================================
	スクロール
*/
.overflow-scroll {
	position: relative;
	overflow-y: auto;
}
.overflow-scroll.ps--active-y {
	padding-right: 1em;
}

/*============================================================
	バッジ
*/
.badge {
	font-weight: 200;
}
.content .badge-pill {
	border-radius: 0;
}
.badge-new,
.badge-release {
	padding: 0 0.4em 1px 0.4em;
	background-color: #0091da;
	border: 1px solid #0091da;
	font-size: 12px;
	line-height: 15px;
	color: #fff;
}
.badge-release {
	background-color: #fff;
	color: #0091da;
}

/*============================================================
	点滅アニメーション
*/
@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 {
	display: block;
	width: 20px;
	height: 20px;
	background-color: #c8e5a6;
	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: #eee;
	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');
}

/*============================================================
	コンテナサイズ
*/
.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;
}

/*============================================================
	サイズチェック用
*/
.size-check { overflow: hidden; height: 0; }
#sizeLg { display: block; }
#sizeMd { display: none; }
#sizeSm { display: none; }
#sizeXs { display: none; }

/*============================================================
	自動背景
*/
.add-bg {
	background-color: transparent;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
}
.add-bg img {
	display: none;
}

/*============================================================
	[汎用] グラデーションバー
*/
.gradation-bar {
	position: relative;
	height: 8px;
}
.gradation-bar .base {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.gradation-bar .base::before,
.gradation-bar .base::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	width: 50%;
	height: 100%;
}
.gradation-bar .base::before {
	left: 0;
	background-color: #74be26;
}
.gradation-bar .base::after {
	right: 0;
	background-color: #5e39a5;
}
.gradation-bar span {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: transparent url(../img/nav-marker.png) 50% 100% no-repeat;
	background-size: 1450px 8px;
}
@media screen and (max-width: 1309px) {
	.gradation-bar span {
		background-size: 1152px 8px;
	}
}
@media screen and (max-width: 991px) {
	.gradation-bar span {
		background-size: 854px 8px;
	}
}
@media screen and (max-width: 767px) {
	.gradation-bar {
		height: 5px;
	}
	.gradation-bar .base {
		display: none;
	}
	.gradation-bar span {
		left: 0;
		margin-left: 0;
		width: 100%;
		background-size: 100% 5px;
	}
}

/*============================================================
	[フッター] 共通
*/
footer .fa {
    font-family: FontAwesome;
    font-weight: normal;
}

/*============================================================
	[フッター] 共通
*/
.footer-vmw {
	margin-top: -20px;
	padding-bottom: 100px;
	color: #717074;
}
.footer-vmw .container {
	padding: 0 59px;
}
.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: 1309px) {
	.footer-vmw .container {
		max-width: 100%;
	}
}
@media screen and (max-width: 991px) {
	.footer-vmw {
		margin: 0;
	}
	.footer-vmw .contact {
		text-align: center;
	}
}
@media screen and (max-width: 767px) {
	.footer-vmw .container {
		padding: 0 15px;
	}
	.footer-vmw .contact {
		margin: 20px 0 0 0;
		text-align: center;
	}
	.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;
		line-height: 1.9;
	}
}

/*============================================================
	[汎用] ページの先頭へ
*/
.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;
}

/*============================================================
	[汎用] パン屑
*/
.breadcrumb {
	position: relative;
	margin: 0;
	padding: 10px 0;
	border-radius: 0;
	background: #fff;
}
.breadcrumb ul:after {
	content: '';
	display: block;
	clear: both;
}
.breadcrumb ul li {
	float: left;
	line-height: 26px;
}
.breadcrumb ul li span:before {
	content: '＞';
	display: inline;
	padding: 0 0.5em;
}
.breadcrumb ul li:first-child span:before {
	display: none;
}
.breadcrumb a {
}

/*============================================================
	[汎用] ソーシャル
*/
.layout-social {
	padding: 30px 0 60px 0;
}
/* ウィジェット */
.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;
}

/*============================================================
	[汎用] シェア
*/
.layout-share {
	line-height: 0;
}
.layout-share ul {
	display: flex;
	align-items: center;
}
.layout-share ul li {
	margin: 0 20px 0 0;
}

/*============================================================
	[汎用] レイアウト
*/
.layout-block {
	margin-bottom: 80px;
}
.layout-block:last-child {
	margin-bottom: 0;
}

/*============================================================
	[汎用] カラムレイアウト
*/
.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%;
}

/*============================================================
	[汎用] スクロールフレーム
*/
.frame-scroll {
	overflow-y: auto;
	padding-right: 10px;
	-webkit-overflow-scrolling: touch;
	        overflow-scrolling: touch;
}

/*============================================================
	[汎用] 見出し
*/
.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 40px 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 .small {
	font-size: 14px;
}
.layout-head-guide {
	display: flex;
}
.layout-head-guide .h {
	margin-right: 1em;
}
.layout-head-guide .guide {
	display: flex;
	margin-top: 0.6em;
	font-size: 14px;
}
@media screen and (max-width: 767px) {
	.layout-head-guide {
		display: block;
	}
	.layout-head-guide .h {
		margin-right: 0;
	}
}

/*============================================================
	[汎用] ボタン
*/
.btn-default,
.btn-default-outline,
.btn-second,
.btn-second-outline,
.btn-white-outline,
.btn-back,
.btn-back-outline,
.btn-disable-outline {
	display: inline-block;
	display: table;
	margin-left: auto;
	margin-right: auto;
	padding: 9px 25px 10px 25px;
	background-color: #fff;
	border-radius: 3px;
	border: 1px solid #000;
	font-weight: 200;
	font-size: 14px;
	line-height: 1.4;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
}
.btn-default {
	background-color: #1d428a;
	border-color: #1d428a;
	color: #fff !important;
}
a.btn-default:hover,
button.btn-default:hover {
	background-color: #fff;
	color: #1d428a !important;
	text-decoration: none;
}
.btn-default-outline {
	border-color: #1d428a;
	color: #1d428a !important;
}
.btn-default-outline.active,
a.btn-default-outline:hover,
button.btn-default-outline:hover {
	background-color: #1d428a;
	color: #fff !important;
	text-decoration: none;
}
.btn-second {
	background-color: #1d428a;
	border-color: #1d428a;
	color: #fff !important;
}
a.btn-second:hover,
button.btn-second:hover {
	background-color: #fff;
	color: #1d428a !important;
	text-decoration: none;
}
.btn-second-outline {
	border-color: #1d428a;
	color: #1d428a !important;
}
.btn-second-outline.active,
a.btn-second-outline:hover,
button.btn-second-outline:hover {
	background-color: #1d428a;
	color: #fff !important;
	text-decoration: none;
}
.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: #1d428a !important;
	text-decoration: none;
}
.btn-back {
	border-color: #1d428a;
	color: #1d428a !important;
}
a.btn-back:hover,
button.btn-back:hover {
	background-color: #1d428a;
	color: #fff !important;
	text-decoration: none;
}
.btn-back-outline {
	border-color: #1d428a;
	color: #1d428a !important;
}
a.btn-back-outline:hover,
button.btn-back-outline:hover {
	background-color: #1d428a;
	color: #fff !important;
	text-decoration: none;
}
.btn-disable-outline {
	border-color: #aaa;
	color: #aaa !important;
}
.btn-default span,
.btn-default-outline span,
.btn-second span,
.btn-second-outline span,
.btn-back span,
.btn-back-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 {
	display: inline-block;
	width: auto;
}
/* レイアウト */
.layout-btn-col2 .in,
.layout-btn-col3 .in {
	display: flex;
	justify-content: center;
	margin: 0 -15px;
}
.layout-btn-col2 .in .col,
.layout-btn-col3 .in .col {
	padding: 0 15px;
	flex-grow: 0;
	flex-basis: auto;
	width: auto;
	max-width: initial;
}

/*============================================================
	[汎用] リスト
*/
ul.list-normal {
	padding-left: 1.5em;
	list-style-type: disc;
}

/*============================================================
	[汎用] メッセージバー
*/
.message-bar {
	padding: 4px 0 12px 0;
	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: 14px;
	height: 14px;
	background-color: rgba(255,255,255,0.4);
	background-image: url('../img/icon-point-white.svg');
}
.message-bar .btn-white-outline {
	padding: 9px 25px 10px 25px;
	font-size: 14px;
	line-height: 1.4;
}
.message-bar-primary {
	background-color: #1d428a;
}
.message-bar-mypage {
	background-color: #1d428a;
}

/*============================================================
	[汎用] チップ
*/
.tip {
	display: none;
	position: absolute;
	z-index: 10;
	margin: -35px 0 0 0;
	padding: 0 0.8em;
	background-color: rgba(0,0,0,0.8);
	border-radius: 5px;
	font-size: 14px;
	line-height: 30px;
	white-space: nowrap;
	color: #fff;
}

/*============================================================
	[汎用] お気に入り登録
*/
.add-favorite {
	position: relative;
	display: inline-block;
}
.add-favorite i.fas.fa-star {
	display: none;
}
.add-favorite.active {
	color: #0091da !important;
}
.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;
}

/*============================================================
	[汎用] ビデオサムネイル
*/
.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: 0;
	width: 100%;
	height: 0;
}
.modal-inline-window .overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 0;
	background-color: rgba(0,0,0,0.26);
}
.modal-inline-window.opened,
.modal-inline-window.opened .overlay {
	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 .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: #78bc20;
}
@media screen and (max-width: 575px) {
	.modal-inline-window .wrapper {
		padding: 40px 15px;
	}
}

/*============================================================
	[モーダル] ログイン
*/
.modal-login-window .wrapper {
	max-width: 494px;
}
.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;
}

@media screen and (max-width: 480px) {
	.modal-login-window .form {
		padding: 20px 20px 30px 20px;
	}
}

/*============================================================
	[モーダル] コンテンツガイド
*/
.modal-guide-window .wrapper {
	max-width: 1024px;
}
.modal-guide-window .inner {
	padding: 30px;
}
.modal-guide-window .inner img {
	width: 100%;
}
.modal-guide-window .inner .h {
	margin: 0 0 20px 0;
	font-size: 24px;
}
.modal-guide-window .inner .hr {
	margin: 10px 0 30px 0;
}
.modal-guide-window .guide-category {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -15px;
	font-size: 16px;
}
.modal-guide-window .guide-category li {
	flex-basis: 33.333%;
	max-width: 33.333%;
	margin: 0 0 30px 0;
	padding: 0 15px;
}
.modal-guide-window .guide-category li .head {
	display: flex;
	margin: 0 0 15px 0;
}
.modal-guide-window .guide-category li .head a {
	display: flex;
	align-items: center;
}
.modal-guide-window .guide-category li .head span {
	display: block;
}
.modal-guide-window .guide-category li .head span:first-child {
	flex-basis: 70px;
	max-width: 70px;
}
.modal-guide-window .guide-category li .head span:last-child {
	padding: 0 0 0 15px;
}
.modal-guide-window .guide-category li .head span img {
	display: block;
	transition: transform 0.3s ease;
}
.modal-guide-window .guide-category li .head a:hover span img {
	transform: scale(1.14);
}
.modal-guide-window .guide-category li p {
	font-size: 12px;
}
.modal-guide-window .guide-type {
	font-size: 12px;
}
.modal-guide-window .guide-type li {
	display: table;
	margin: 0 0 10px 0;
	width: 100%;
}
.modal-guide-window .guide-type li a {
	padding: 5px;
	font-size: 12px;
}
.modal-guide-window .guide-type li p {
	display: table-cell;
}
.modal-guide-window .guide-type li p:first-child {
	vertical-align: top;
	width: 162px;
}
.modal-guide-window .guide-type li p:last-child {
	vertical-align: middle;
	padding: 0 0 0 15px;
}
@media screen and (max-width: 991px) {
	.modal-guide-window .guide-category li {
		max-width: 50%;
		flex-basis: 50%;
	}
}
@media screen and (max-width: 575px) {
	.modal-guide-window .inner {
		padding: 15px;
	}
	.modal-guide-window .inner .h {
		margin: 0 0 15px 0;
		font-size: 22px;
	}
	.modal-guide-window .guide-category {
		display: block;
		margin: 0;
	}
	.modal-guide-window .guide-category li {
		max-width: 100%;
		margin: 0 0 20px 0;
		padding: 0;
	}
	.modal-guide-window .guide-category li .head {
		margin: 0 0 5px 0;
	}
	.modal-guide-window .guide-category li .head span:first-child {
		flex-basis: 56px;
		max-width: 56px;
	}
	.modal-guide-window .guide-type li {
		display: block;
	}
	.modal-guide-window .guide-type li p {
		display: block;
	}
	.modal-guide-window .guide-type li p:first-child {
		margin: 0 0 5px 0;
		width: 100%;
	}
	.modal-guide-window .guide-type li p:last-child {
		padding: 0;
	}
}

/*============================================================
	[モーダル] Leading Change お申し込み
*/
.modal-leadingchange-window .wrapper {
	max-width: 514px;
}
.modal-leadingchange-window .frame {
	padding: 30px;
	font-style: 14px;
}
.modal-leadingchange-window h2 {
	margin: 0 0 1em 0;
	font-size: 18px;
	line-height: 1.5;
}
.modal-leadingchange-window .text {
	margin: 0.8em 0;
}
.modal-leadingchange-window .must {
	display: inline-block;
	padding: 0 0.6em;
	background-color: #cb444a;
	font-weight: 200;
	font-size: 12px;
	font-style: normal;
	line-height: 1.7;
	color: #fff;
}
.modal-leadingchange-window .list {
	margin: 0.8em 0;
}
.modal-leadingchange-window .list li {
	margin: 0.2em 0;
	line-height: 1.7;
}
.modal-leadingchange-window .list li label {
	display: inline-block;
	position: relative;
	padding-left: 24px;
}
.modal-leadingchange-window .list li label input {
	position: absolute;
	top: 1px;
	left: 0;
}
.modal-leadingchange-window .list li p {
	position: relative;
	padding-left: 24px;
	color: #9f9f9f;
}
.modal-leadingchange-window .list li p span {
	position: absolute;
	top: 0.1em;
	left: 170px;
	font-size: 12px;
}
.modal-leadingchange-window .error {
	margin: 1em 0;
	text-align: center;
}
.modal-leadingchange-window .error p {
	display: inline-block;
	color: #cb444a;
}
.modal-leadingchange-window .error p i {
	margin-right: 0.5em;
}
.modal-leadingchange-window .complete {
	text-align: center;
}
.modal-leadingchange-window .complete i {
	font-size: 74px;
	color: #78be20;
}
.modal-leadingchange-window .complete p {
	margin: 1.5em 0 0 0;
}
.modal-leadingchange-window .btn-wrap {
	display: flex;
	justify-content: center;
	margin: 0 -10px;
	margin-top: 30px;
}
.modal-leadingchange-window .btn-wrap div {
	padding: 0 10px;
}

@media screen and (max-width: 575px) {
	.modal-leadingchange-window .frame {
		padding: 15px;
	}
	.modal-leadingchange-window .btn-wrap {
		margin: 0 -5px;
		margin-top: 20px;
	}
	.modal-leadingchange-window .btn-wrap div {
		padding: 0 5px;
	}
}

/*============================================================
	[モーダル] vFORUM チャレンジ
*/
.modal-vf-challenge-window .wrapper {
	max-width: 472px;
}
.modal-vf-challenge-window .kv img {
	width: 100%;
}
.modal-vf-challenge-window .inner {
	padding: 20px 25px 25px 25px;
	text-align: center;
	line-height: 1.7;
}
.modal-vf-challenge-window .h {
	font-size: 16px;
	color: #78bc20;
}
.modal-vf-challenge-window .h .icon-point {
	position: relative;
	top: 4px;
	display: inline-block;
	margin: 0 5px 0 0;
}
.modal-vf-challenge-window .h br.sp {
	display: none;
}
.modal-vf-challenge-window .h1 {
	font-size: 18px;
}
.modal-vf-challenge-window .btns {
	padding: 10px 0 0 0;
}
.modal-vf-challenge-window .btns .btn {
	margin: 10px 0 0 0;
	padding: 8px;
	font-size: 16px;
	line-height: 1.5;
}

@media screen and (max-width: 480px) {
	.modal-vf-challenge-window .inner {
		padding: 20px 20px 20px 20px;
	}
	.modal-vf-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;
}
.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 p {
	margin: 15px 0 0 0;
	text-align: center;
}
.modal-contact-window .btns .btn {
	margin: 10px 0 0 0;
	padding: 8px;
	font-size: 16px;
	line-height: 1.5;
}
.modal-contact-window .btns .btns-row {
	display: flex;
	margin: 0 -10px;
}
.modal-contact-window .btns .btns-row > div {
	padding: 0 10px;
	flex-basis: 50%;
	max-width: 50%;
}
.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;
}
.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 .btns-row {
		display: block;
		margin: 0;
	}
	.modal-contact-window .btns .btns-row > div {
		padding: 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;
}

/*============================================================
	[モーダル] 深度管理
*/
.tip-favorite,
.tip-calendar {
	z-index: 999;
}
.modal-inline-window {
	z-index: 9001;
}
/* プログラム詳細 */
.modal-overlay {
	z-index: 9000;
}
.modal-window {
	z-index: 9001;
}
/* チップ */
.modal-tip-overlay {
	z-index: 9000;
}
.modal-tip-box {
	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: 35px;
	border: 1px solid #b3b3b3 !important;
	border-radius: 5px;
	padding: 0px 8px;
	font-size: 14px;
	line-height: normal;
	
}
textarea {
	padding: 0px 8px;
	height: 80px;
	border: 1px solid #b3b3b3 !important;
	border-radius: 5px;
	font-size: 14px !important;
	line-height: normal;
	resize: none;
}
select {
	height: 35px !important;
	margin: 0;
	padding: 0px 26px 0px 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: 5px;
	font-size: 14px !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;
}
/**/
textarea.has-error,
input.has-error,
select.has-error {
	border-color: #dc3545 !important;
}
span.form-alert {
	display: block;
	margin: 5px 0 0 0;
	padding: 0;
	font-size: 14px;
	line-height: 1.5;
	color: #dc3545;
}
.form .has-error tr th,
.form .has-error tr td,
.form tr.has-error th,
.form tr.has-error td {
	background-color: #fff0f0 !important;
}
/**/
.form i.must,
.form i.opt {
	display: inline-block;
	padding: 0 1em 1px 1em;
	font-weight: 200;
	font-size: 14px;
	font-style: normal;
	line-height: 25px;
	color: #fff;
}
.form i.must {
	background-color: #dc3545;
}
.form i.opt {
	background-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 {
	margin-bottom: 40px;
}
.register-steps ul {
	margin: 0 auto;
}
.register-steps ul:after {
	content: '';
	display: block;
	clear: both;
}
.register-steps ul li {
	position: relative;
	float: left;
	text-align: center;
}
.register-steps ul li br {
	display: none;
}
.register-steps ul li::before {
	content: '';
	display: block;
	position: absolute;
	top: 15px;
	left: 50%;
	right: -50%;
	height: 1px;
	background-color: #d7d7d7;
}
.register-steps ul li:last-child::before {
	display: none;
}
.register-steps ul li div {
	position: relative;
	font-size: 16px;
	line-height: 1.5;
}
.register-steps ul li div i {
	display: block;
	margin: 0 auto;
	margin-bottom: 5px;
	padding-bottom: 2px;
	width: 32px;
	border-radius: 50%;
	background-color: #d7d7d7;
	font-style: normal;
	font-weight: 400;
	line-height: 30px;
	color: #fff;
}
.register-steps ul li.current::before {
	margin-top: -1px;
	height: 3px;
	background-color: #0091da;
}
.register-steps ul li.current div {
	color: #0091da;
}
.register-steps ul li.current div i {
	background-color: #0091da;
}
.register-steps ul.steps-3 {
	width: 780px;
}
.register-steps ul.steps-3 li {
	width: 33.333%;
}
.register-steps ul.steps-4 {
	width: 860px;
}
.register-steps ul.steps-4 li {
	width: 25%;
}

/*============================================================
	[登録] メールアドレスの入力
*/
.register-email-form .form-table {
	margin-top: 20px;
	width: 100%;
	font-size: 16px;
	line-height: 1.6;
}
.register-email-form p {
	font-size: 16px;
	line-height: 1.6;
}
.register-email-form .form-table th {
	padding: 15px 30px 0 0;
	width: 290px;
	white-space: nowrap;
}
.register-email-form .form-table td {
	padding: 10px 0;
}
.register-email-form .form-table th div {
	position: relative;
}
.register-email-form .form-table th div i {
	position: absolute;
	top: 0; right: 0;
}

/*============================================================
	[登録] ご登録前にお読みください
*/
.register-notes .h {
	margin: 30px 0 10px 0;
	padding: 0 0 5px 0;
	border-bottom: 1px solid #ccc;
	font-weight: 200;
	font-size: 16px;
	line-height: 1.5;
}
.register-notes ul li {
	position: relative;
	padding: 0 0 0 1.6em;
	line-height: 1.9;
}
.register-notes ul li i {
	display: block;
	position: absolute;
	top: 0.1em; left: 0;
	line-height: 1.9;
}

/*============================================================
	[登録] 招待コード
*/
.register-code {
	margin-top: 50px;
	padding: 15px 0;
	border: 1px solid #d7d7d7;
	border-left: 0;
	border-right: 0;
	background-color: #d8edf7;
	color: #3d708d;
}
.register-code .form {
	display: flex;
	align-items: center;
}
.register-code .form div,
.register-code .form p {
	padding-left: 15px;
}
.register-code .form .th {
	width: 375px;
}
.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;
}

/*============================================================
	[登録] お客様情報の入力
*/
/* フォーム */
.register-form .h {
	padding: 0 0 10px 0;
	font-size: 24px;
	line-height: 1.5;
}
.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: 24px 30px 24px 2px;
	width: 390px;
}
.register-form table div.th {
	padding: 8px 0 10px 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: 50%; right: 0;
	margin-top: -13px;
}
.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: 480px;
}
.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: 5px 0 0 0;
	padding-right: 2px;
}
/* 横並びブロック */
.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-top: 5px;
	line-height: 1.7;
}
.register-form table .inline .text {
	display: inline-block;
	padding-left: 20px;
}
/* 名前 */
.register-form table .name dl {
	float: left;
	padding-right: 20px;
}
.register-form table .name dl dt {
	float: left;
	padding-right: 10px;
	font-weight: 200;
}
.register-form table .name dl dt p {
	line-height: 34px;
}
.register-form table .name dl dd {
	float: left;
}
.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 input {
	width: 240px;
}
/* マイページ・パスワード */
.register-form table th.mypage-pw-conf,
.register-form table td.mypage-pw-conf {
	border: 0;
}
.register-form table th.mypage-pw-conf {
	padding-top: 8px;
}
.register-form table td.mypage-pw-conf {
	padding-top: 0;
}
.register-form table td.mypage-pw .size-middle,
.register-form table td.mypage-pw-conf .size-middle {
	width: 320px !important;
}
.register-form table td.mypage-pw .size-middle input,
.register-form table td.mypage-pw-conf .size-middle input {
	width: 100%;
}
/* 番号 */
.register-form table .code dl {
	float: left;
}
.register-form table .code dl dt {
	float: left;
	padding-right: 10px;
}
.register-form table .code dl dt input {
	width: 200px;
}
.register-form table .code dl dd {
	float: left;
	padding-right: 10px;
}
.register-form table .code .btn-enter {
	display: block;
	padding: 0 0 1px 0;
	width: 70px;
	min-width: 1px;
	text-align: center;
	font-size: 14px;
	line-height: 32px;
	border: 1px solid #6c757d;
	border-radius: 5px;
	background: #6c757d;
	color: #fff;
}
.register-form table .code .btn-enter:hover {
	background-color: #545b62;
	border-color: #545b62;
}
/* ソーシャル */
.register-form table .social {
}
.register-form table .social li {
	display: table;
	margin-top: 10px;
}
.register-form table .social li:first-child {
	margin-top: 0;
}
.register-form table .social div {
	display: table-cell;
	vertical-align: top;
}
.register-form table .social div:first-child {
	padding-top: 0.5em;
	width: 100px;
	line-height: 1.5;
}
/* 横並びリスト */
.register-form table .list-inline {
	width: 100%;
}
.register-form table .list-inline ul {
	float: left;
}
.register-form table .list-inline ul li {
	float: left;
	padding: 4px 30px 4px 0;
	line-height: 1.5;
}
.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.2em; left: 0;
	margin-top: 0;
}
.register-form table .list-inline .form-alert {
	float: left;
	margin: 3px 0 0 0;
	line-height: 1.5;
}
.register-form table .list-inline .list-row {
	clear: both;
	width: 100%;
}
.register-form table .list-inline .list-row li {
	float: left;
	padding: 4px 0;
	width: 33.3%;
}
.register-form table .list-inline .list-row li label {
	padding-right: 20px;
	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 .delivery td {
	padding: 0;
	border: 0;
	font-size: 16px;
}
.register-form .delivery div {
	margin-bottom: 10px;
}
.register-form .delivery .list-inline ul {
	margin: 10px 0 0 0;
}
.register-form .delivery .list-inline ul li {
	padding: 0;
}
.register-form .delivery .list-inline ul li input {
	top: 0.3em;
}
/* フォーム エラー表示 */
.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;
}

/*============================================================
	[登録] 登録内容のご確認
*/
/* お客様情報 */
.register-confirm .col {
	width: 50%;
}
.register-confirm .h {
	margin-top: 60px;
	padding: 0 0 10px 0;
	font-size: 23px;
}
.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%;
}
.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-timetable-list {
	margin-top: 60px;
}
.register-timetable-list .col {
	margin-bottom: 40px;
	width: 50%;
}
.register-timetable-list .h {
	font-size: 23px;
}
.register-timetable-list .date {
	margin-top: 10px;
	font-size: 23px;
}
.register-timetable-list ul {
	margin-top: 10px;
	border-bottom: 1px solid #d7d7d7;
}
.register-timetable-list ul li {
	padding: 0.6em 0 0.8em 0;
	border-top: 1px solid #d7d7d7;
}
.register-timetable-list ul li dl dd {
	font-size: 16px;
	line-height: 1.6;
}

/*============================================================
	[登録] 完了表示
*/
.register-complete {
	text-align: center;
}
.register-complete .icon {
	font-size: 160px;
	line-height: 1.2;
	color: #62a420;
}
.register-complete .copy {
	margin: 20px 0;
	font-size: 16px;
}
.register-complete .copy:last-child {
	margin-bottom: 0;
}
.register-complete .subject {
	font-size: 24px;
}

/*============================================================
	[アンケート] 入力
*/
.questionary-form {
	overflow: hidden;
	font-size: 14px;
}
.questionary-form .block {
	padding: 40px 0;
	border-top: 1px solid #d7d7d7;
}
.questionary-form .block-h {
	padding-bottom: 0;
}
.questionary-form .block-child {
	padding-top: 0;
	border: 0;
}
.questionary-form .block-child::before {
	content: '';
	display: block;
	margin: 0 0 20px 0;
	border-top: 1px solid #d7d7d7;
}
.questionary-form .block-no-border {
	border: 0;
}
.questionary-form .block .h .lg {
	margin: 0 0 10px 0;
	font-size: 18px;
	line-height: 1.4;
}
.questionary-form .block .h p {
	display: inline-block;
	margin-right: 1em;
	line-height: 1.6;
}
.questionary-form .block br.static {
	display: block !important;
}
/* テキストエリア */
.questionary-form .textarea {
	margin: 10px 0 0 0;
}
.questionary-form .textarea textarea {
	display: block;
	width: 100%;
	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 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.no-border-right::before {
	right: 50%;
}
.questionary-form .check-type01 ul li.no-border::before {
	content: none;
}
.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: 960px;
	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;
}
/* レイアウト1 */
.questionary-form .layout-type01 {
	display: flex;
	justify-content: space-between;
	margin: 0 0 0 -2em;
}
.questionary-form .layout-type01 > div:first-child {
	flex: 1;
}
.questionary-form .layout-type01 > div:last-child {
	margin: 17px 0 0 0;
}
/* エラー */
.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) {
	/* チェック レイアウト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;
	}
}

@media screen and (max-width: 991px) {
	/* チェック レイアウト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;
	}
}

@media screen and (max-width: 991px) {
	/* チェック レイアウト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;
	}
	.questionary-form .block-child {
		padding-top: 0;
	}
	/* チェック 横並び */
	.questionary-form .check-inline ul.inline-2 {
		display: block;
	}
	.questionary-form .check-inline ul.inline-2 li {
		max-width: 100%;
	}
	.questionary-form .check-inline ul.inline-3 li {
		flex-basis: 50%;
		max-width: 50%;
	}
	/* チェック レイアウト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;
	}
	/* レイアウト1 */
	.questionary-form .layout-type01 {
		display: block;
		margin: 0;
	}
	.questionary-form .layout-type01 > div:last-child {
		margin: 10px 0 0 0;
	}
}

@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;
	}
	/* チェック レイアウト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-complete {
	text-align: center;
}
.questionary-complete .icon {
	font-size: 160px;
	line-height: 1.2;
	color: #62a420;
}
@media screen and (max-width: 575px) {
	.questionary-complete .icon {
		font-size: 100px;
		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-h {
	padding-bottom: 0;
}
.modal-questionary-window .questionary-form .block-child {
	padding-top: 0;
}
.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 .btn-wrap {
	padding: 20px 50px 40px 50px;
}
.modal-questionary-window .questionary-complete .icon {
	margin: 0 0 20px 0;
	font-size: 80px;
}
.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;
}

@media screen and (max-width: 767px) {
	.modal-questionary-window .questionary-form .block {
		padding: 20px 15px;
	}
	.modal-questionary-window .questionary-form .block-h {
		padding-bottom: 0;
	}
	.modal-questionary-window .questionary-form .block-child {
		padding-top: 0;
	}
	.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;
	}
}

/*============================================================
	[プログラム] カラー
*/
.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; }

/*============================================================
	[プログラム] リスト
*/
.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 .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;
	background-color: #717074;
	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.disable,
.program-list .block.disable a {
	color: #ccc !important;
}
.program-list .block.disable .badge-new {
	background-color: #ccc !important;
	border-color: #ccc !important;
}
.program-list .block.disable .badge-release {
	border-color: #ccc !important;
	color: #ccc !important;
}
.program-list .block.disable .id span {
	background-color: #ccc !important;
}
.program-list .block.disable .image {
	opacity: 0.5;
}
@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 .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 30px 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-arrow i {
	padding: 0;
}
.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: 1409px) {
	.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 20px 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;
	}
}

/*============================================================
	[プログラム] 絞り込み
*/
.program-search {
	margin: 35px 0 0 0;
}
.program-search:first-child {
	margin: 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:last-child {
	margin: 0;
}
.program-search-category ul li a {
	display: block;
	padding: 2px 0 3px 0;
	background-color: #f1f3f4;
	border: 1px solid #f1f3f4;
	border-radius: 5px;
	font-size: 14px;
	line-height: 1.5;
}
.program-search-category ul li a:hover {
	background-color: #e4e8e9;
}
.program-search-category ul li a.active {
	background-color: #717074;
	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-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:last-child {
	margin: 0;
}
.program-search-list ul li a {
	display: block;
	padding: 3px 1em 4px 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: 35px 0 0 0;
	}
	.program-search-category ul {
		display: flex;
		flex-wrap: wrap;
		margin: 10px -10px 0 0;
	}
	.program-search-category ul li,
	.program-search-category ul li:last-child {
		margin: 0 10px 10px 0;
	}
	.program-search-category ul li a {
		padding: 5px 1em 6px 1em;
	}
	.program-search-category ul li.all {
		flex-basis: 100%;
		max-width: 100%;
		margin-left: 0;
	}
	.program-search-list {
		margin: 10px 0 0 0;
	}
	.program-search-list ul {
		display: flex;
		flex-wrap: wrap;
	}
	.program-search-list ul li,
	.program-search-list ul li:last-child {
		margin: 0 10px 10px 0;
	}
}
@media screen and (max-width: 567px) {
	.program-search-category ul {
		margin-right: -5px;
		padding: 0;
	}
	.program-search-category ul li,
	.program-search-category ul li:last-child {
		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-category ul li.all {
		flex-basis: 100%;
		max-width: 100%;
		margin: 5px 0 0 0;
	}
	.program-search-category ul li.all a {
		font-size: 14px;
	}
	.program-search-list ul {
		margin-right: -5px;
		font-size: 11px;
	}
	.program-search-list ul li,
	.program-search-list ul li:last-child {
		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;
	}
}

/*============================================================
	[プログラム] 一覧
*/
.program-wrap {
	margin: 0 0 60px 0;
}
.program-wrap:last-child {
	margin: 0;
}
.program-wrap h2 {
	padding: 0 0 0.3em 0;
	border-bottom: 1px solid #565656;
	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;
}

@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%;
	}
}

/*============================================================
	[プログラム] 一覧大枠レイアウト
*/
.program-container {
	max-width: 1460px;
	margin-bottom: 60px;
	padding: 0 30px;
}
.program-container-row {
	display: flex;
}
.program-container-row .program-container-search {
	flex-basis: 220px;
	max-width: 220px;
	padding: 5px 50px 0 0;
}
.program-container-row .program-search-wrap {
	width: 170px;
}
.program-search-fixed .program-search-wrap {
	position: fixed;
	top: 141px;
}
.program-search-limit .program-search-wrap {
	position: absolute;
	top: auto !important;
	bottom: 0;
}
.program-container-row .program-container-content {
	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;
	}
	.program-container-row .program-search-wrap {
		position: static !important;
		width: 100%;
	}
}
@media screen and (max-width: 767px) {
	.program-container {
		margin-bottom: 30px;
	}
	.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 {
	position: relative;
	margin: 0 0 20px 0;
	background-color: #f7f7f7;
}
.detail-main .base {
	position: relative;
	width: 640px;
}
.detail-main .base img {
	width: 100%;
}
.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;
	bottom: 0;
	left: 50%;
	margin-left: -320px;
	width: 640px;
	font-size: 180px;
	color: #fff;
}
.detail-main .play a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(113,112,116,0.38);
}
.detail-main .play a i {
	display: block;
	text-shadow: 0px 3px 6px rgba(0,0,0,0.8);
	opacity: 0.76;
}
.detail-main .play a:hover,
.detail-main .play.hover a {
	background-color: rgba(113,112,116,0.2);
}
.detail-main .play a:active {
	-webkit-transition-duration: 0, 0, 0, 0;
	transition-duration: 0, 0, 0, 0;
	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 .video .player {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.detail-main .video .player > iframe {
	width: 100%;
	height: 100%;
}

@media screen and (max-width: 767px) {
	.detail-main .base {
		width: 100%;
	}
	.detail-main .play {
		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%;
	}
}
@media screen and (max-width: 575px) {
	.detail-main .play {
		font-size: 20vw;
	}
}

/*============================================================
	[詳細] ビデオ注釈
*/
.detail-video-note {
	margin: 20px 0 30px 0;
	text-align: center;
	line-height: 1.5;
}
@media screen and (max-width: 767px) {
	.detail-video-note {
		margin: 10px 0 20px 0;
		font-size: 13px;
		text-align: left;
	}
}

/*============================================================
	[詳細] メッセージ
*/
.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-head {
	display: table;
	width: 100%;
	border-bottom: 1px solid #ccc;
}
.detail-head .logo,
.detail-head .info {
	display: table-cell;
	vertical-align: top;
}
.detail-head .logo {
	padding: 30px 0 40px 0;
	width: 296px;
}
.detail-head .logo .image {
	width: 274px;
}
.detail-head .logo .image a {
	display: block;
	position: relative;
}
.detail-head .logo .image img {
	position: relative;
	width: 100%;
}
.detail-head .info {
	padding: 0 0 20px 0;
}
.detail-head .info .layout-inline-head {
	display: flex;
	align-items: center;
	margin: 10px 0;
}
.detail-head .info .layout-inline-head:first-child {
	margin-top: 0;
}
.detail-head .info .layout-inline {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	margin: 10px 0;
}
.detail-head .info .layout-inline-foot {
	display: flex;
	margin: 10px 0;
}
.detail-head .info .broadcast {
	display: flex;
	align-items: center;
	margin: 0 1em 0 0;
}
.detail-head .info .broadcast i {
	display: inline-block;
	margin: 0 0.3em 0 0;
	font-size: 134%;
}
.detail-head .info .title {
	margin: 5px 0 10px 0;
	font-size: 23px;
	line-height: 1.4;
}
.detail-head .info .subtitle {
	margin: 10px 0;
	font-size: 18px;
	line-height: 1.5;
}
.detail-head .info .subtitle:first-child {
	margin-top: 0;
}
.detail-head .info .time {
	margin: 10px 0;
	font-size: 14px;
	line-height: 1.5;
}
.detail-head .info .time i {
	display: inline-block;
	margin: 0 0.3em 0 0;
}
.detail-head .info .id {
	display: flex;
	margin: 0 15px 0 0;
}
.detail-head .info .id span {
	display: block;
	padding: 0 0.4em 2px 0.4em;
	background-color: #717074;
	font-size: 14px;
	line-height: 16px;
	color: #fff;
}
.detail-head .info .date {
	margin: 0 15px 0 0;
	padding: 0 0 0.2em 0;
	font-size: 16px;
	line-height: 1.5;
}
.detail-head .info .qa {
	display: flex;
	align-items: center;
	margin: 0 15px 0 0;
	padding: 0 0 0.2em 0;
	font-size: 14px;
	line-height: 1.2;
	color: #0091da;
}
.detail-head .btns {
	display: flex;
	padding: 0 12px 0 0;
}
.detail-head .btns div {
	margin: 0 12px 0 0;
}
.detail-head .btns .btn {
	margin: 5px 0 0 0;
}
.detail-head .action {
	display: flex;
	align-items: center;
	margin: 5px 0 0 0;
	font-size: 26px;
}
.detail-head .action li {
	padding: 0 0.8em 0 0;
	line-height: 1;
}
.detail-head .action li a {
	display: block;
	color: #565656;
}
.detail-head .action li a:hover {
	color: #1d428a;
}

@media screen and (max-width: 1309px) {
	.detail-head .info .layout-inline-foot {
		display: block;
	}
	.detail-head .action {
		margin: 20px 0 0 0;
	}
}
@media screen and (max-width: 991px) {
	.detail-head .info .layout-inline {
		display: block;
	}
	.detail-head .info .date {
		margin: 8px 0 0 0;
	}
	.detail-head .info .qa {
		margin: 8px 0 0 0;
	}
	.detail-head .btns {
		display: block;
		padding: 0;
	}
	.detail-head .btns div {
		margin: 15px 0 0 0;
	}
}
@media screen and (max-width: 767px) {
	.detail-head {
		display: block;
		margin: 30px 0 0 0;
		padding: 0;
	}
	.detail-head:first-child {
		margin-top: 0;
	}
	.detail-head .logo,
	.detail-head .info {
		display: block;
		margin: 20px auto;
		padding: 0;
	}
	.detail-head .logo {
		margin-top: 0;
	}
	.detail-head .info:first-child {
		margin-top: 0;
	}
	.detail-head .logo .image {
		width: 100%;
	}
	.detail-head .info .layout-inline-head {
		display: block;
		margin: 5px 0;
	}
	.detail-head .info .layout-inline-head div {
		margin: 5px 0 0 0;
	}
	.detail-head .info .title {
		margin-top: 10px;
		font-size: 20px;
	}
	.detail-head .info .subtitle {
		margin-top: 10px;
		font-size: 16px;
	}
	.detail-head .action li {
		padding: 0 12px 0 0;
	}
}
@media screen and (max-width: 340px) {
	.detail-head .action li {
		padding: 0 8px 0 0;
	}
}

/*============================================================
	[詳細] ヘッド（スポンサー用）
*/
.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 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 {
}
.list-tags ul:after {
	content: '';
	display: block;
	clear: both;
}
.list-tags ul li {
	float: left;
	margin: 0 0 10px 0;
	padding: 0 10px 0 0;
	font-weight: 200;
	font-size: 14px;
	line-height: 1.5;
}
.list-tags ul li:last-child {
	padding: 0;
}
.list-tags ul li a,
.list-tags ul li span {
	display: block;
	padding: 9px 25px 10px 25px;
	border: 1px solid #1d428a;
	border-radius: 3px;
	font-size: 14px;
	line-height: 1.4;
	text-decoration: none;
	color: #1d428a;
}
.list-tags ul li a:hover {
	background-color: #1d428a;
	color: #fff;
}
.list-tags .wrap {
	display: flex;
}
.list-tags .wrap:first-child {
	margin-top: 1em;
}
.list-tags .wrap .h {
	margin: 0;
	padding: 0.7em 0 0 0;
	flex-basis: 140px;
}
.list-tags .wrap ul {
	flex: 1;
}

@media screen and (max-width: 575px) {
	.list-tags {
		margin-top: 20px;
	}
	.list-tags ul {
		margin-top: 5px;
	}
	.list-tags ul li {
		padding: 0 4px 0 0;
		font-size: 13px;
	}
	.list-tags .wrap {
		display: block;
		margin-top: 0;
	}
	.list-tags .wrap .h {
		margin-top: 10px;
		padding: 0;
		max-width: 100%;
	}
}

/*============================================================
	[ハンズオンラボ] メイン
*/
.lab-main {
	background: -moz-linear-gradient(left, #c6dde7 0%, #f4f8fa 100%);
	background: -webkit-linear-gradient(left, #c6dde7 0%, #f4f8fa 100%);
	background: linear-gradient(to right, #c6dde7 0%, #f4f8fa 100%);
}
.lab-main .container {
	display: flex;
	align-items: center;
	padding-bottom: 5px;
	height: 155px;
	background: transparent url(../img/kv-handsonlabs.png) 100% 0 no-repeat;
	background-size: contain;
}
.lab-main .h {
	font-size: 28px;
	line-height: 1.3;
}
.lab-main .h br {
	display: none;
}
@media screen and (max-width: 1309px) {
	.lab-main .h {
		font-size: 26px;
	}
}
@media screen and (max-width: 991px) {
	.lab-main .container {
		height: 140px;
	}
	.lab-main .h br {
		display: block;
	}
}
@media screen and (max-width: 767px) {
	.lab-main .container {
		height: 100px;
	}
	.lab-main .h {
		font-size: 24px;
	}
}
@media screen and (max-width: 568px) {
	.lab-main .container {
		background-position: 230px 0;
	}
	.lab-main .h {
		font-size: 22px;
	}
}

/*============================================================
	[ハンズオンラボ] 操作方法
*/
.lab-howto {
	display: flex;
	margin: 60px 0;
}
.lab-howto .detail {
	flex: 1;
	padding: 0 30px 0 0;
}
.lab-howto .detail .sp {
	display: none;
}
.lab-howto .video {
	flex-basis: 465px;
	max-width: 465px;
}
.lab-howto .video .player {
	position: relative;
	padding-top: 56.25%;
	height: 0;
}
.lab-howto .video .player iframe,
.lab-howto .video .player video {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	outline: 0;
}
@media screen and (max-width: 991px) {
	.lab-howto {
		display: block;
	}
	.lab-howto .detail {
		margin: 0 0 30px 0;
		padding: 0;
	}
	.lab-howto .detail .pc {
		display: none;
	}
	.lab-howto .detail .sp {
		display: block;
	}
	.lab-howto .video {
		margin: 0 auto;
		max-width: 100%;
	}
}
@media screen and (max-width: 767px) {
	.lab-howto {
		margin: 30px 0;
	}
}

/*============================================================
	[ハンズオンラボ] リスト
*/
.lab-list {
	margin: 80px 0;
}
.lab-list ul.list {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -15px;
}
.lab-list ul.list li {
	flex-basis: 33.333%;
	max-width: 33.333%;
	margin: 50px 0 0 0;
	padding: 0 15px;
}
.lab-list ul.list li .block {
	display: table;
	width: 100%;
}
.lab-list ul.list li .block .thumb,
.lab-list ul.list li .block .detail {
	display: table-cell;
	vertical-align: top;
	padding: 0 0 15px 0;
}
.lab-list ul.list li .block .thumb {
	padding-right: 30px;
	width: 99px;
}
.lab-list ul.list li .block .thumb img {
	width: 100%;
}
.lab-list ul.list li .block .detail {
	position: relative;
	line-height: 1.5;
}
.lab-list ul.list li .block .detail .id {
	font-size: 12px;
	line-height: 24px;
}
.lab-list ul.list li .block .detail .title {
	margin: 8px 0 0 0;
}
.lab-list ul.list li .block .detail .btn-wrap {
	position: absolute;
	top: 0;
	right: 0;
}
.lab-list ul.list li .btns {
	margin: 5px 0 0 0;
	text-align: center;
}
.lab-list ul.list li .btns a {
	display: inline-block;
}
@media screen and (max-width: 1309px) {
	.lab-list ul.list li {
		flex-basis: 50%;
		max-width: 50%;
	}
}
@media screen and (max-width: 767px) {
	.lab-list {
		margin: 40px 0;
	}
	.lab-list ul.list {
		display: block;
		margin: 0;
	}
	.lab-list ul.list li {
		max-width: 100%;
		margin: 20px 0 30px 0;
		padding: 0;
	}
	.lab-list ul.list li .block .thumb,
	.lab-list ul.list li .block .detail {
		padding-bottom: 10px;
	}
	.lab-list ul.list li .block .thumb {
		padding-right: 15px;
		width: 84px;
	}
	.lab-list ul.list li .block .detail .id {
		line-height: 1.5;
	}
	.lab-list ul.list li .block .detail .title {
		margin: 5px 0 0 0;
	}
	.lab-list ul.list li .block .detail .btn-wrap {
		position: static;
		margin: 5px 0 0 0;
	}
}

/*============================================================
	[記事] 本文
*/
article.article {
	margin: 0 auto;
	max-width: 790px;
	font-size: 1rem;
}
article.article h1 {
	margin: 50px 0 30px 0;
	line-height: 1.5;
}
article.article .date {
	margin: 30px 0;
}
article.article .image {
	margin: 50px 0;
}
article.article img {
	max-width: 100%;
}
article.article h1:first-child,
article.article .image:first-child {
	margin-top: 0;
}

@media screen and (max-width: 767px) {
	article.article {
		font-size: 0.875rem;
	}
	article.article h1 {
		margin: 30px 0 20px 0;
		font-size: 21px;
	}
	article.article .date {
		margin: 20px 0;
	}
	article.article .image {
		margin: 30px 0;
	}
	article.article .block {
		margin: 60px 0;
	}
}

/*============================================================
	[記事] おすすめ記事
*/
.recommend-article {
	margin: 120px 0 80px 0;
}
.recommend-article .h {
	margin: 0 0 35px 0;
	text-align: center;
	font-size: 24px;
}
.recommend-article .list-wrapper {
	margin: 0 -15px;
}
.recommend-article .list .slick-track {
	justify-content: center;
	min-width: 100%;
}
.recommend-article .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;
}
.recommend-article .list .slick-arrow:hover {
	opacity: 0.7;
}
.recommend-article .list .slick-arrow i {
	padding: 0;
}
.recommend-article .list .slick-prev {
	left: -60px;
	padding-right: 5px;
}
.recommend-article .list .slick-next {
	right: -60px;
	padding-left: 5px;
}
.recommend-article .list .slick-arrow span {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
}
.recommend-article .list .block {
	padding: 0 15px;
	outline: 0;
}
.recommend-article .list .block img {
	width: 100%;
}
.recommend-article .list .block .title {
	margin: 1em 1em 0 1em;
	line-height: 1.6;
}
.recommend-article .list-wrapper.length-0 .list .slick-track,
.recommend-article .list-wrapper.length-1 .list .slick-track,
.recommend-article .list-wrapper.length-2 .list .slick-track,
.recommend-article .list-wrapper.length-3 .list .slick-track,
.recommend-article .list-wrapper.length-4 .list .slick-track {
	display: flex;
}
.recommend-article .list-wrapper.length-0 .list .block,
.recommend-article .list-wrapper.length-1 .list .block,
.recommend-article .list-wrapper.length-2 .list .block,
.recommend-article .list-wrapper.length-3 .list .block,
.recommend-article .list-wrapper.length-4 .list .block {
	flex-basis: 25%;
	max-width: 25%;
}

@media screen and (max-width: 1409px) {
	.recommend-article .list-wrapper {
		padding: 0 80px;
	}
	.recommend-article .list-wrapper.length-0,
	.recommend-article .list-wrapper.length-1,
	.recommend-article .list-wrapper.length-2,
	.recommend-article .list-wrapper.length-3,
	.recommend-article .list-wrapper.length-4 {
		padding: 0;
	}
}
@media screen and (max-width: 1309px) {
	.recommend-article .list-wrapper {
		padding: 0;
	}
	.recommend-article .list-wrapper.length-0 .list .block,
	.recommend-article .list-wrapper.length-1 .list .block,
	.recommend-article .list-wrapper.length-2 .list .block,
	.recommend-article .list-wrapper.length-3 .list .block {
		flex-basis: 33.333%;
		max-width: 33.333%;
	}
}
@media screen and (max-width: 1101px) {
	.recommend-article .list-wrapper,
	.recommend-article .list-wrapper.length-4 {
		padding: 0 80px;
	}
	.recommend-article .list-wrapper.length-4 .list .slick-track {
		display: block;
	}
	.recommend-article .list-wrapper.length-4 .list .block {
		max-width: 100%;
	}
	.recommend-article .list-wrapper.length-0,
	.recommend-article .list-wrapper.length-1,
	.recommend-article .list-wrapper.length-2,
	.recommend-article .list-wrapper.length-3 {
		padding: 0;
	}
}
@media screen and (max-width: 991px) {
	.recommend-article .list-wrapper,
	.recommend-article .list-wrapper.length-4 {
		padding: 0;
	}
	.recommend-article .list-wrapper.length-3 .list .slick-track {
		display: block;
	}
	.recommend-article .list-wrapper.length-3 .list .block {
		max-width: 100%;
	}
	.recommend-article .list-wrapper.length-0 .list .block,
	.recommend-article .list-wrapper.length-1 .list .block,
	.recommend-article .list-wrapper.length-2 .list .block {
		flex-basis: 50%;
		max-width: 50%;
	}
}
@media screen and (max-width: 857px) {
	.recommend-article .list-wrapper,
	.recommend-article .list-wrapper.length-3,
	.recommend-article .list-wrapper.length-4 {
		padding: 0 80px;
	}
	.recommend-article .list-wrapper.length-0,
	.recommend-article .list-wrapper.length-1,
	.recommend-article .list-wrapper.length-2 {
		padding: 0;
	}
}
@media screen and (max-width: 767px) {
	.recommend-article {
		margin: 50px 0;
	}
	.recommend-article .h {
		margin: 0 0 20px 0;
		font-size: 20px;
	}
	.recommend-article .list-wrapper,
	.recommend-article .list-wrapper.length-2,
	.recommend-article .list-wrapper.length-3,
	.recommend-article .list-wrapper.length-4 {
		padding: 0 50px;
	}
	.recommend-article .list-wrapper.length-2 .list .slick-track {
		display: block;
	}
	.recommend-article .list-wrapper.length-2 .list .block {
		max-width: 100%;
	}
	.recommend-article .list-wrapper.length-1,
	.recommend-article .list-wrapper.length-0 {
		padding: 0;
	}
	.recommend-article .list .slick-arrow {
		margin: -15px 0 0 0;
		width: 30px;
		height: 30px;
		font-size: 22px;
	}
	.recommend-article .list .slick-prev {
		left: -35px;
		padding-right: 2px;
	}
	.recommend-article .list .slick-next {
		right: -35px;
		padding-left: 2px;
	}
	.recommend-article .list .block .title {
		margin: 1em 0 0 0;
	}
}
@media screen and (max-width: 536px) {
	.recommend-article .list-wrapper,
	.recommend-article .list-wrapper.length-1 {
		padding: 0 50px;
	}
	.recommend-article .list-wrapper.length-1 .list .slick-track {
		display: block;
	}
	.recommend-article .list-wrapper.length-1 .list .block {
		max-width: 100%;
	}
}

/*============================================================
	[マイページ] ログイン
*/
.mypage-login {
	margin: 0 auto;
	max-width: 400px;
}
.mypage-login .h {
	font-size: 24px;
}

/*============================================================
	[マイページ] メッセージ
*/
.mypage-message {
	margin: 20px 0;
	padding-top: 0.3rem;
	padding-bottom: 0.3rem;
	background-color: #d8f2ff;
	border-color: #40bfff;
	font-size: 14px;
	line-height: 1.7;
	color: #0091da;
}
.mypage-message ul li {
	position: relative;
	margin: 8px 0;
	padding: 0 0 0 20px;
}
.mypage-message ul li .fa-check {
	position: absolute;
	top: 0.1em;
	left: 0;
	font-size: 92%;
	line-height: 1.7;
}
.mypage-message a {
	text-decoration: underline;
	color: #0091da;
}
.mypage-message a:hover {
	color: #086695;
}
@media screen and (max-width: 767px) {
	.mypage-message {
		padding: 5px 10px !important;
	}
}

/*============================================================
	[マイページ] ホームメニュー
*/
.mypage-home-menu {
}
.mypage-home-menu ul {
	margin: 0 -10px;
}
.mypage-home-menu ul::after {
	content: '';
	display: block;
	clear: both;
}
.mypage-home-menu ul li {
	float: left;
	padding: 15px 10px;
	width: 198px;
	text-align: center;
}
.mypage-home-menu ul li .box {
	position: relative;
	display: block;
	overflow: hidden;
	height: 160px;
	border: 1px solid #d7d7d7;
	border-radius: 5px;
	text-decoration: none;
	box-shadow: 0 3px 0 0 #d7d7d7;
	background-color: #fff;
	color: #1d428a;
}
.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 i {
	display: inline-block;
	position: relative;
	padding: 10px 0 0 0;
	font-size: 40px;
	line-height: 80px;
}
.mypage-home-menu ul li .h {
	position: relative;
	font-size: 14px;
	line-height: 1.4;
	color: inherit;
}

@media screen and (max-width: 1309px) {
	.mypage-home-menu ul li {
		width: 25%;
	}
}
@media screen and (max-width: 991px) {
	.mypage-home-menu ul li {
		width: 33.333%;
	}
}
@media screen and (max-width: 767px) {
	.mypage-home-menu ul li {
		width: 50%;
	}
	.mypage-home-menu ul li .box {
		height: 130px;
	}
	.mypage-home-menu ul li i {
		padding: 5px 0 0 0;
		font-size: 34px;
		line-height: 54px;
	}
}
@media screen and (max-width: 575px) {
	.mypage-home-menu ul {
		margin: 0 -5px;
	}
	.mypage-home-menu ul li {
		padding: 5px 5px;
	}
	.mypage-home-menu ul li .box {
		height: 120px;
	}
	.mypage-home-menu ul li .h {
		font-size: 13px;
		line-height: 1.4;
	}
}

/*============================================================
	[マイページ] ホーム招待コード
*/
.mypage-home-code {
	margin: 30px 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;
}
.mypage-home-code dl dd {
	font-weight: 200;
	font-size: 28px;
	line-height: 1.5;
}
.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;
	}
}

/*============================================================
	[マイページ] 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;
	}
}

/*============================================================
	[マイページ] お気に入り
*/
.favorite-head .list {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -10px;
}
.favorite-head .list .block {
	margin: 15px 0 0 0;
	padding: 0 10px;
}
.favorite-head .list ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -5px;
}
.favorite-head .list ul li {
	margin: 10px 0 0 0;
	padding: 0 5px;
}
.favorite-head .btn-second-outline {
	display: block;
}

@media screen and (max-width: 767px) {
	.favorite-head .list {
		display: block;
		margin: 0 -10px;
	}
	.favorite-head .list ul li {
		flex-basis: 50%;
		max-width: 50%;
	}
	.favorite-head .list ul li .btn-sm {
		width: 100%;
	}
}

/*============================================================
	[マイページ] お気に入り一覧
*/
.favorite-head-anchor {
	display: flex;
	flex-wrap: wrap;
	margin: 5px 0 0 0;
	padding: 0 0 10px 0;
}
.favorite-head-anchor li {
	margin: 5px 30px 0 0;
}
.favorite-head-anchor li:last-child {
	margin-right: 0;
}
.favorite-wrap {
	margin: 30px 0 20px 0;
}
.favorite-wrap h2 {
	padding: 0 0 15px 0;
	font-size: 23px;
	line-height: 1.5;
}
.favorite-wrap h2 i {
	margin: 0 0.3em 0 0;
}
.favorite-wrap .program-list {
	display: flex;
	flex-wrap: wrap;
	padding: 0 0 30px 0;
}
.favorite-wrap .program-list .block {
	flex-basis: 50%;
	max-width: 50%;
}
.favorite-wrap .program-list .block .inner {
	padding: 15px 0;
	border-bottom: 1px solid #d7d7d7;
}
.favorite-wrap .program-list .block:nth-child(1) .inner,
.favorite-wrap .program-list .block:nth-child(2) .inner {
	border-top: 1px solid #d7d7d7;
}
.favorite-wrap .program-list .block .inner .title {
	margin: 10px 0 0 0;
}
.favorite-wrap .program-list .block .inner .row-head div {
	display: block;
	float: left;
	margin: 0 1em 0 0;
	line-height: 16px;
}
.favorite-wrap .program-list .block .inner .row-head div i {
	margin-right: 3px;
}
.favorite-wrap .program-list .block .inner .row-head .date {
	margin-right: 2em;
}
.favorite-wrap .program-list .block .inner .row-foot .download {
	float: left;
	margin: 10px 5px 0 0;
	font-size: 14px;
}
.favorite-wrap .program-list .block .inner .row-foot .download a {
}
.favorite-wrap .program-list .block .inner .row-foot .download span {
	display: block;
	padding: 9px 0 10px 0;
	color: #aaa;
}
.favorite-wrap .program-list .block .inner .row-foot .delete {
	float: right;
	margin: 14px 0 0 0;
	padding: 5px 0;
}
.favorite-wrap .program-list .block .inner .row-foot .delete i {
	position: relative;
	top: 1px;
	margin-right: 2px;
	font-size: 121%;
}
.favorite-wrap .program-list .block .inner .row-foot .delete::hover {

}

@media screen and (max-width: 991px) {
	.favorite-wrap .program-list {
		display: block;
		margin: 0;
	}
	.favorite-wrap .program-list .block {
		max-width: 100%;
		padding: 0;
	}
	.favorite-wrap .program-list .block:nth-child(2) .inner {
		border-top: 0;
	}
}
@media screen and (max-width: 767px) {
	.favorite-wrap {
		margin: 20px 0 10px 0;
	}
	.favorite-wrap h2 {
		padding: 0 0 10px 0;
		font-size: 20px;
	}
	.favorite-wrap .program-list {
		padding: 0 0 20px 0;
	}
	.favorite-wrap .program-list .block:nth-child(2) .inner {
		border-top: 0;
	}
	.favorite-wrap .program-list .block .inner .row-head .content-type {
		float: none;
		clear: both;
		margin: 0;
		padding: 10px 0 0 0;
	}
	.favorite-wrap .program-list .block .inner .title {
		margin: 0;
	}
}

/*============================================================
	ブレイクポイント Bootstrap3基準 md
*/
@media screen and (max-width: 1309px) {

	/*--------------------------------------------------------
		コンテナサイズ
	*/
	.wide-col-10 {
		width: auto;
	}

	/*--------------------------------------------------------
		サイズチェック用
	*/
	#sizeLg { display: none; }
	#sizeMd { display: block; }
	#sizeSm { display: none; }
	#sizeXs { display: none; }

	/*--------------------------------------------------------
		[汎用] ソーシャル
	*/
	/* ウィジェット */
	.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%;
	}

	/*--------------------------------------------------------
		[汎用] カラムレイアウト
	*/
	.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%;
	}

	/*--------------------------------------------------------
		[登録] 招待コード
	*/
	.register-code .form .th {
		width: auto;
	}

	/*--------------------------------------------------------
		[登録] お客様情報の入力
	*/
	.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 dl {
		float: none;
	}
	.register-form table .code .form-alert {
		display: block;
		margin-top: 5px;
		padding-left: 0;
		line-height: 1.5;
	}
	/* フォーム エラー表示 */
	.register-form table .form-wrap-input .form-alert {
		display: block;
		padding-left: 0;
		line-height: 1.5;
	}

}

/*============================================================
	ブレイクポイント Bootstrap3基準 sm
*/
@media screen and (max-width: 991px) {

	/*--------------------------------------------------------
		サイズチェック用
	*/
	#sizeLg { display: none; }
	#sizeMd { display: none; }
	#sizeSm { display: block; }
	#sizeXs { display: none; }

	/*--------------------------------------------------------
		コンテナサイズ
	*/
	.wide-col-9,
	.wide-col-8 {
		width: auto;
	}

	/*--------------------------------------------------------
		[汎用] カラムレイアウト
	*/
	.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%;
	}

	/*--------------------------------------------------------
		[登録] 流れ
	*/
	.register-steps ul.steps-3,
	.register-steps ul.steps-4 {
		width: 100%;
	}

	/*--------------------------------------------------------
		[登録] 招待コード
	*/
	.register-code .form {
		display: block;
	}
	.register-code .form div,
	.register-code .form p {
		padding: 0 15px;
	}
	.register-code .form .input {
		margin: 5px 0;
		width: 100%;
	}

	/*--------------------------------------------------------
		[登録] お客様情報の入力
	*/
	/* フォーム */
	.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 {
		padding: 15px 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: 300px;
	}
	/* 法人格 */
	.register-form table .employment .col input {
		width: 300px;
	}
	/* マイページ・パスワード */
	.register-form table td.mypage-pw-conf {
		padding-bottom: 10px;
	}
	.register-form table th.mypage-pw-conf {
		padding-top: 0;
	}
	/* ソーシャル */
	.register-form table .social li {
		width: 100%
	}
	/* 横並びリスト */
	.register-form table .list-inline .list-row li {
		width: 50%;
	}
	/* Eメール配信 */
	.register-form .delivery {
		margin-top: 20px;
	}
	/* フォーム エラー表示 */
	.register-form table div.th .form-alert {
		display: block;
		float: none;
		padding: 0 0 5px 0;
	}

	/*--------------------------------------------------------
		[登録] 登録内容のご確認
	*/
	/* お客様情報 */
	.register-confirm .row {
		display: block;
	}
	.register-confirm .col {
		float: none;
		width: 100%;
		max-width: 100%;
	}
	/* セッション */
	.register-timetable-list .row {
		display: block;
	}
	.register-timetable-list .col {
		float: none;
		margin-bottom: 40px;
		width: 100%;
		max-width: 100%;
	}

}

/*============================================================
	ブレイクポイント Bootstrap3基準 xs
*/
@media screen and (max-width: 767px) {

	/*--------------------------------------------------------
		Bootstrap4 リセット
	*/
	.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%;
	}

	/*--------------------------------------------------------
		コンテナサイズ
	*/
	.wide-col-7,
	.wide-col-6 {
		width: auto;
	}

	/*--------------------------------------------------------
		サイズチェック用
	*/
	#sizeLg { display: none; }
	#sizeMd { display: none; }
	#sizeSm { display: none; }
	#sizeXs { display: block; }

	/*--------------------------------------------------------
		[汎用] ページの先頭へ
	*/
	.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;
	}

	/*--------------------------------------------------------
		[汎用] ソーシャル
	*/
	.layout-social {
		padding: 0 0 30px 0;
	}
	/* ウィジェット */
	.social-widget {
		margin: 30px -10px 0 -10px;
	}
	.social-widget .facebook,
	.social-widget .twitter {
		padding: 0 10px;
	}

	/*--------------------------------------------------------
		[汎用] ボタン
	*/
	/* レイアウト */
	.layout-btn-col2 .in,
	.layout-btn-col3 .in {
		display: block;
		margin: 0;
	}
	.layout-btn-col2 .in .col,
	.layout-btn-col3 .in .col {
		margin: 0 0 15px 0;
		padding: 0;
		width: 100%;
	}
	.layout-btn-col2 .in .col:last-child,
	.layout-btn-col3 .in .col:last-child {
		margin: 0;
	}

	/*--------------------------------------------------------
		[汎用] カラムレイアウト
	*/
	.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%;
	}

	/*--------------------------------------------------------
		[登録] メールアドレスの入力
	*/
	.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: 10px 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-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-steps {
		margin-bottom: 20px;
	}
	.register-steps ul li div {
		font-size: 12px;
	}
	.register-steps ul li div i {
		font-size: 16px;
	}

	/*--------------------------------------------------------
		[登録] お客様情報の入力
	*/
	.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 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 .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 {
		float: none;
	}
	/* Eメール配信 */
	.register-form .delivery td {
		font-size: 14px;
	}
	.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-timetable-list ul li dl dd {
		font-size: 14px;
	}

}

/*============================================================
	ブレイクポイント Bootstrap3基準 xxs
*/
@media screen and (max-width: 575px) {

	/*--------------------------------------------------------
		コンテナサイズ
	*/
	.wide-col-5,
	.wide-col-4 {
		width: auto;
	}

	/*--------------------------------------------------------
		[汎用] ソーシャル
	*/
	/* ウィジェット */
	.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: 40px;
	}

	/*--------------------------------------------------------
		[汎用] カラムレイアウト
	*/
	.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%;
	}

	/*--------------------------------------------------------
		[汎用] 見出し
	*/
	.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 25px 0;
	}
	.layout-head .h {
		font-size: 26px;
	}
	.layout-head .h br {
		display: block;
	}

	/*--------------------------------------------------------
		[登録] 流れ
	*/
	.register-steps ul li br {
		display: block;
	}

	/*--------------------------------------------------------
		[登録] 招待コード
	*/
	.register-code {
		margin-top: 20px;
	}

	/*--------------------------------------------------------
		[登録] お客様情報の入力
	*/
	/* フォーム */
	.register-form fieldset {
		margin: 10px 0;
		padding-top: 20px;
	}
	/* 横並びリスト */
	.register-form table .list-inline .list-indent {
		margin: 0 0 10px 0;
		padding: 0 0 10px 1.5em;
	}
	.register-form table .list-inline .list-row li {
		float: none;
		padding: 4px 0 0 0;
		width: 100%;
	}
	/* フォーム 住所検索ボタン */
	.register-form table .code .btn-enter {
		width: 60px;
	}

	/*--------------------------------------------------------
		[登録] 登録内容のご確認
	*/
	/* お客様情報 */
	.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: left;
	}
	.register-complete .icon {
		text-align: center;
		font-size: 100px;
		line-height: 1;
	}
	.register-complete .copy {
		font-size: 14px;
	}
	.register-complete .subject {
		font-size: 20px;
	}

}

