@charset "UTF-8";

/* ==================================================

	common.css
	Version: 0.4

	Bootstrap v5.3 BREAKPOINT
	@media (min-width: 576px)
	@media (min-width: 768px)
	@media (min-width: 992px)
	@media (min-width: 1200px)
	@media (min-width: 1400px)
*/

/* ==================================================

	CONFIG

*/
:root {
  --color-gray: #6c757d;
	--border-gray: #d7d7d7;
}

/* ==================================================

	WEB FONT

*/
@font-face {
	font-family: YakuHanJP;
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url(../fonts/YakuHanJP-Regular.woff2) format("woff2");
	unicode-range: U+3001,U+3002,U+3008,U+3009,U+300a,U+300b,U+300c,U+300d,U+300e,U+300f,U+3010,U+3011,U+3014,U+3015,U+30fb,U+ff01,U+ff08,U+ff09,U+ff1a,U+ff1b,U+ff1f,U+ff3b,U+ff3d,U+ff5b,U+ff5d;
}
@font-face {
	font-family: YakuHanJP;
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url(../fonts/YakuHanJP-Bold.woff2) format("woff2");
	unicode-range: U+3001,U+3002,U+3008,U+3009,U+300a,U+300b,U+300c,U+300d,U+300e,U+300f,U+3010,U+3011,U+3014,U+3015,U+30fb,U+ff01,U+ff08,U+ff09,U+ff1a,U+ff1b,U+ff1f,U+ff3b,U+ff3d,U+ff5b,U+ff5d;
}

/* ==================================================

	HTML

*/
html {
	font-size: 14px;
	scroll-behavior: auto !important;
}
body {
	line-height: 1.5;
	font-weight: 400;
	font-family: YakuHanJP, "Montserrat", "M PLUS 1p", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
	color: #1e1e1e;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	font-size: 100%;
}
main {
	overflow: hidden;
	padding: 60px 0 0 0;
	background-color: #fafbfe;
}
ul {
	padding: 0;
	list-style-type: none;
}
a {
	text-decoration: none;
}
::-webkit-input-placeholder {
	color: var(--color-gray);
}
::-moz-placeholder {
	color: var(--color-gray);
}
:-moz-placeholder {
	color: var(--color-gray);
}
:-ms-input-placeholder {
	color: var(--color-gray);
}
::placeholder {
	color: var(--color-gray);
}
.device-sp a,
.device-sp button {
	outline: 0;
}
@media (min-width: 768px) {
	main {
		padding: 72px 0 0 0;
	}
}
@media (min-width: 992px) {
	html {
		font-size: 100%;
	}
}

/* ==================================================

	BOOTSTRAP OVERWRITE

*/
.h1, .h2, .h3, .h4, .h5, .h6,
h1, h2, h3, h4, h5, h6 {
	margin: 0;
	font-weight: 700;
	line-height: 1.5;
}
h1, h2, h3, h4, h5, h6 {
	font-size: inherit;
}
.h1 {
	font-size: 26px;
}
.h2 {
	font-size: 20px;
}
.h3 {
	font-size: 20px;
}
.h4 {
	font-size: 20px;
}
.h5 {
	font-size: 16px;
}
.h6 {
	font-size: 14px;
}
.fs-7 {
	font-size: 14px;
}
.fw-ex-bold {
	font-weight: 900;
}
.my-4 {
	margin-top: 2rem!important;
	margin-bottom: 2rem!important
}
.mt-4 {
	margin-top: 2rem;
}
.mb-4 {
	margin-bottom: 2rem;
}
.alert {
	padding: 18px 15px;
}
.btn {
	padding: 6px 20px 5px 20px;
	font-weight: 700;
	font-size: 16px;
	line-height: 1.5;
}
.os-ios .btn {
	padding: 4px 20px 7px 20px;
}
.lead {
	font-size: 1rem;
	font-weight: inherit;
	line-height: 2;
}
a[data-bs-toggle^="modal"] {
	color: var(--bs-link-color) !important;
	cursor: pointer;
}
a[data-bs-toggle^="modal"]:hover {
	color: var(--bs-link-hover-color) !important;
}
.badge {
	padding: 0.15em 0.65em;
	border-radius: 4px;
	font-style: normal;
	font-size: 12px;
	line-height: 1.5;
}
.invalid-feedback {
	font-size: 14px;
}
.invalid-feedback.is-invalid {
	display: block;
}
.form-control {
	font-size: 16px;
	border-color: #bbb;
}
.form-select {
	width: auto;
	border-color: #bbb;
	font-size: 16px;
}
.form-check-input {
	border-color: #bbb;
}
.form-check-input:disabled {
	background-color: #bbb;
	opacity: .5;
}
.accordion-button {
	width: auto;
}
.accordion-button::after {
	content: "\f078";
	padding: 0 0.4em;
	font-family: "Font Awesome 5 Pro";
	transition: transform 0.3s ease;
}
.accordion-button[aria-expanded="true"]::after {
	transform: rotate(180deg);
}
.form-control.is-valid,
.form-control.is-invalid {
	padding-right: 0.75rem !important;
	background-image: none !important;
}
.form-select.is-valid,
.form-select.is-invalid {
	padding-right: 2.25rem !important;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") !important;
}
@media (min-width: 768px) {
	.h1 {
		font-size: 32px;
	}
	.h2 {
		font-size: 27px;
	}
	.h3 {
		font-size: 24px;
	}
	.h4 {
		font-size: 22px;
	}
	.h5 {
		font-size: 18px;
	}
	.h6 {
		font-size: 16px;
	}
	.badge {
		font-size: 14px;
	}
}
@media (min-width: 992px) {
	.h1 {
		font-size: 36px;
	}
	.h2 {
		font-size: 30px;
	}
	.h3 {
		font-size: 26px;
	}
	.h4 {
		font-size: 24px;
	}
	.h5 {
		font-size: 20px;
	}
	.h6 {
		font-size: 18px;
	}
	.alert {
		padding: 20px 24px;
	}
}
@media (min-width: 1200px) {
	.h1 {
		font-size: 40px;
	}
	.h2 {
		font-size: 36px;
	}
	.h3 {
		font-size: 28px;
	}
}

/* ==================================================

	FONT SIZE

*/
.fs-14 {
	font-size: 14px !important;
}

/* ==================================================

	LIST

*/
.list-primary > li {
	position: relative;
	margin-bottom: 0.3em;
	padding-left: 1em;
}
.list-primary > li::before {
	content: '・';
	position: absolute;
	top: 0;
	left: 0;
}

/* ==================================================

	CONTENT

*/
.content {
	padding-top: 25px;
	padding-bottom: 40px;
}
.is-timetable .content {
	padding-bottom: 0;
	min-height: 100vh;
	min-height: 100dvh;
}
.is-expo .content {
	padding-bottom: 0;
	min-height: 100vh;
	min-height: 100dvh;
}
@media (min-width: 768px) {
	.content {
		padding-top: 50px;
		padding-bottom: 80px;
	}
}

/* ==================================================

	CONTAINER

*/
.container-short {
	--bs-gutter-x: 1.5rem;
	padding-right: calc(var(--bs-gutter-x) * .5);
	padding-left: calc(var(--bs-gutter-x) * .5);
	margin-right: auto;
  margin-left: auto;
}
@media (min-width: 576px) {
	.container-short {
		max-width: 540px;
	}
}
@media (min-width: 768px) {
	.container-short {
		max-width: 720px;
	}
}
@media (min-width: 992px) {
	.container-short {
		max-width: 856px;
	}
}

/* ==================================================

	SYSTEM ALERT

*/
.system-alert {
	text-align: center;
}
.system-alert h3 {
	font-weight: inherit;
}
.system-alert .icon {
	padding: 1rem 0;
	font-size: 84px;
	line-height: 1.3;
	color: var(--bs-primary);
}
@media (min-width: 768px) {
	.system-alert .icon {
		font-size: 105px;
	}
}

/* ==================================================

	BADGE

*/
.badge-required {
	background-color: var(--bs-danger);
}
.badge-optional {
	background-color: var(--color-gray);
}
.badge-status-full {
	display: inline-block;
	padding: 1px 0.4em;
	background-color: #dc3545;
	border: 1px solid #dc3545;
	font-weight: 700;
	line-height: 1.3;
	color: #fff;
}
.badge-status-few {
	display: inline-block;
	padding: 1px 0.4em;
	background-color: #0dcaf0;
	border: 1px solid #0dcaf0;
	font-weight: 700;
	line-height: 1.3;
	color: #fff;
}
.badge-type {
	display: inline-block;
	padding: 2px 0.4em;
	border: 1px solid #000;
	font-weight: 700;
	line-height: 1.3;
	color: #000
}
.os-ios .badge-type {
	padding: 1px 0.4em 3px 0.4em;
}
.badge-id {
	display: inline-block;
	padding: 1px 0.4em;
	background-color: var(--bs-gray);
	border: 1px solid var(--bs-gray);
	font-weight: 700;
	font-size: 12px;
	line-height: 1.3;
	color: #fff;
}

/* ==================================================

	SCROLL CONTENT

*/
.scroll-content {
	overflow: hidden;
}
.scroll-content .scroll-inner {
	overflow-y: auto;
}

/* ==================================================

	MODAL

*/
.modal {
	box-shadow: 0 0 0 transparent;
}
.modal-backdrop {
	background: #fff;
}
.modal-dialog {
	margin: 0 auto;
	padding: 20px 12px;
	max-width: 1016px;
	transform: none !important;
}
.modal-content {
	position: relative;
	padding: 30px 15px 40px 15px;
	border: 0;
	border-radius: 0;
	box-shadow: 0 4px 6px rgba(0,0,0,0.2);
	font-size: 14px;
}
.btn-close {
	position: absolute;
	top: 6px;
	right: 6px;
	width: 1.4em;
	height: 1.4em;
	font-size: 18px;
}
.modal-content .type {
	display: flex;
	align-items: center;
	margin: 0 0 10px 0;
	font-weight: 700;
}
.modal-content .type > div {
	margin-right: 10px;
}
.modal-content .badge-type {
	border-color: inherit;
	color: inherit;
}
.modal-content h3 {
	margin-top: 10px;
}
.modal-content .card {
	overflow: hidden;
	margin: 15px 0;
	line-height: 1.7;
}
.modal-content .card p {
	margin: 0;
}
.modal-content .scroll-inner {
	padding: 15px;
	height: 140px;
}
.modal-content .foot {
	margin: 20px 0 0 0;
}
.modal-content-expo {
	padding: 0;
}
.modal-head-expo {
	padding: 40px 15px 20px 15px;
}
.modal-head-expo .id {
	display: flex;
	align-items: center;
	margin-bottom: 10px;
}
.modal-head-expo .id > div:first-child {
	margin-right: 12px;
}
.modal-head-expo .id .badge-id {
	position: relative;
	top: -0.1em;
}
.modal-head-expo .category-list {
	display: flex;
	flex-wrap: wrap;
	margin: 15px -5px 0 0;
}
.modal-head-expo .category-list li {
	margin: 0 5px 5px 0;
	font-size: 12px;
}
.modal-head-expo .category-list li .badge {
	font-size: inherit;
}
.modal-detail-expo {
	padding: 20px 15px 30px 15px;
	border-top: 1px solid #d5d5d5;
}
.modal-content-expo .tags {
	padding: 10px 0 0 0;
}
.modal-content-expo .tags ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	line-height: inherit;
}
.modal-content-expo .tags .badge {
	font-weight: 400;
	font-size: 12px;
}
.modal-content-expo .tags .badge {
	padding: 0.13em 0.65em 0.17em 0.65em;
}
@media (min-width: 768px) {
	.modal-dialog {
		padding: 20px 30px 0 30px;
	}
	.modal-content {
		padding: 30px 30px 40px 30px;
	}
	.modal-content .scroll-inner {
		padding: 15px;
	}
	.modal-content-expo {
		padding: 0;
	}
	.modal-head-expo {
		padding: 40px 25px 25px 25px;
	}
	.modal-detail-expo {
		padding: 25px 25px 40px 25px;
	}
	.modal-content-expo .tags {
		margin: 20px 0 0 0;
		padding: 0;
	}
}

/* ==================================================

	MODAL ASSESSMENT

*/
.modal-assessment .modal-dialog {
	max-width: 700px;
}
.modal-assessment .modal-content {
	padding: 0;
}
.modal-assessment .modal-body {
	padding: 20px 0 50px 0;
}
.modal-assessment .badge {
	margin-right: 1em;
}
.modal-assessment .invalid-feedback {
	width: auto;
	margin: 0;
}
.modal-assessment-inner {
	padding: 0 20px;
}
.modal-assessment-block {
	padding: 20px 20px;
	border-top: 1px solid #d7d7d7;
}
.modal-assessment-block:nth-child(1) {
	border-top: 0;
}
.modal-assessment-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 1.5em;
}
.modal-assessment-head span {
	display: block;
	margin-bottom: 5px;
	flex-basis: 100%;
}
.modal-assessment-list {
	margin: 0;
}
.modal-assessment-list li {
	margin-bottom: 1.5em;
}
.modal-assessment-list li:last-child {
	margin-bottom: 0;
}
.modal-assessment-list label {
	position: relative;
	padding: 0 0 0 1.5em;
	line-height: 1.6;
}
.modal-assessment-list label input {
	position: absolute;
	top: -0.1em;
	left: 0;
	font-size: 16px;
}
.modal-assessment-complete {
	padding: 50px 20px 0px 20px;
	text-align: center;
}
.modal-assessment-complete .h {
	font-size: 20px;
}
.modal-assessment-complete .icon {
	margin: 40px 0 50px 0;
	font-size: 100px;
	line-height: 1;
	color: var(--bs-primary);
}
@media (min-width: 768px) {
	.modal-assessment-inner {
		padding: 0 40px;
	}
	.modal-assessment-block {
		padding: 30px 40px;
	}
	.modal-assessment-head span {
		margin-right: 0.5em;
		margin-bottom: 0;
		flex-basis: auto;
	}
	.modal-assessment-complete {
		padding: 50px 40px;
	}
	.modal-assessment-complete .h {
		font-size: 24px;
	}
}

/* ==================================================

	PROPERTY

*/
.property {
	color: #000;
}
.property i {
	position: relative;
	top: 0.06em;
	padding-right: 0.2em;
	width: 1.44em;
	text-align: center;
	font-size: 1.24em;
}

/* ==================================================

	SLICK

*/
.slick-track {
	display: flex;
}
.slick-slide {
	float: none;
	height: auto !important;
}
.slick-slider .slick-arrow {
	overflow: hidden;
	position: absolute;
	top: 50%;
	margin: 0;
	padding: 0;
	transform: translateY(-50%);
	z-index: 10;
	background-color: transparent;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	border: 0;
	border-radius: 0;
}
/* HOVER */
.device-pc .slick-slider .slick-arrow:hover {
	opacity: 0.7;
}

/* ==================================================

	HEADER

*/
.header {
	position: fixed;
	z-index: 100;
	width: 100%;
	max-height: 100dvh;
	background-color: #fff;
	box-shadow: 0 1px 4px rgba(0,0,0,0.1);
	color: #000;
	overflow-y: auto;
	transition: transform 0.3s ease;
	overscroll-behavior: none;
}
.hide-header .header {
	transform: translateY(-60px);
}
@media (max-width: 767px) {
	.has-video-player .header {
		transform: translateY(0) !important;
	}
}
.header::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 60px;
	background-color: #fff;
}
.modal-open .header {
	padding-right: 0;
}
.header .navbar {
	position: relative;
	padding: 0;
}
.header .logo {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0;
	width: 100%;
	height: 60px;
}
.header .logo a {
	display: block;
	width: 182px;
}
.header .logo img {
	width: 100%;
}
.header .navbar-toggler {
	position: absolute;
	top: 12px;
	right: 12px;
}
.header .button-nav .btn {
	padding-left: 0;
	padding-right: 0;
}
.header .nav-item {
	font-weight: 700;
	font-size: 14px;
}
.header .nav-item a {
	color: #000;
	transition: background-color 0.15s ease-in-out, color 0.15s ease-in-out;
}
.header .nav-item > a {
	display: flex;
	align-items: center;
}
.header .nav-item > a.current {
	color: #0d6efd;
}
.header .dropdown-toggle::after {
	content: "\f078";
	display: inline-block;
	margin-left: 5px;
	font-family: "Font Awesome 5 Pro";
	border: 0;
	transition: transform 0.3s ease;
}
.header .dropdown-toggle[aria-expanded="true"]::after {
	transform: rotate(180deg);
}
.header .dropdown-menu {
	padding: 0;
	font-weight: 400;
}
.header .dropdown-menu a:hover {
	color: inherit !important;
}
.header .dropdown-menu a.current {
	background-color: #0d6efd !important;
	color: #fff !important;
	cursor: default;
}
.header .dropdown-toggle[aria-expanded="true"] + .dropdown-menu {
	display: block;
}
.header .dropdown-toggle-sub::after {
	content: "\f078";
	display: inline-block;
	margin-left: 5px;
	font-family: "Font Awesome 5 Pro";
	border: 0;
	transition: transform 0.3s ease;
}
.header .dropdown-toggle-sub[aria-expanded="true"]::after {
	transform: rotate(180deg);
}
.header .dropdown-menu-sub {
	overflow: hidden;
	height: 0;
	background-color: #343a40;
	color: #fff;
	transition: height 0.4s ease;
}
.header .dropdown-menu-sub a {
	color: inherit !important;
}
.header .dropdown-menu-sub a.current {
	background-color: #0d6efd !important;
}
.header .dropdown-divider {
	margin: 0 0 5px 0;
}
/* HOVER */
.device-pc .header .nav-item a:hover {
	color: var(--bs-link-hover-color);
}
.device-pc .header .dropdown-menu a:hover {
	background-color: #e9ecef;
}
.device-pc .header .dropdown-menu-sub a:hover {
	background-color: rgba(255,255,255,0.15);
}
@media (max-width: 1199px) {
	.header .container {
		padding: 0;
		max-width: initial;
	}
	.header .navbar-nav {
		border-bottom: 1px solid #ccc;
	}
	.header .nav-item {
		border-top: 1px solid #ccc;
	}
	.header .nav-item > a {
		padding: 12px 12px;
	}
	.header .dropdown-menu {
		overflow: hidden;
		display: block !important;
		margin: 0;
		height: 0;
		border: 0;
		border-radius: 0;
		font-size: 14px;
		transition: height 0.4s ease;
	}
	.header .dropdown-menu ul {
		padding: 0 0 5px 0;
	}
	.header .dropdown-menu a {
		display: block;
		padding: 8px 12px;
	}
	.header .dropdown-menu-sub ul {
		padding: 5px 0;
	}
	.header .button-nav {
		display: flex;
		flex-direction: row;
		padding: 15px 6px;
		border: 0;
	}
	.header .button-nav ul {
		margin: 0;
	}
	.header .button-nav li {
		flex-basis: 50%;
		padding: 0 6px;
	}
	.header .button-nav .btn {
		display: block;
	}
}
@media (min-width: 650px) {
	.header .logo {
		justify-content: flex-start;
		margin: 0 0 0 30px;
	}
	.header .navbar-toggler {
		right: 30px;
	}
}
@media (min-width: 768px) {
	.hide-header .header {
		transform: translateY(-72px);
	}
	.header .logo {
		width: 242px;
		height: 72px;
	}
	.header::before {
		height: 72px;
	}
	.header .logo a {
		width: 100%;
	}
	.header .navbar-toggler {
		top: 12px;
		right: 30px;
		padding-top: 8px;
		padding-bottom: 8px;
	}
}
@media (min-width: 1200px) {
	.header {
		width: 100%;
	}
	.header {
		overflow-y: visible;
	}
	.header .navbar {
		padding: 0;
	}
	.header .logo {
		margin: 0 20px 0 0;
		width: 260px;
	}
	.header .navbar-collapse {
		justify-content: flex-end;
	}
	.header .nav-item {
		padding: 0 15px;
	}
	.header .dropdown-menu {
		margin-top: 5px;
		min-width: initial;
		height: auto !important;
		white-space: nowrap;
		font-size: 14px;
		overflow: hidden;
	}
	.header .dropdown-menu a {
		display: block;
		padding: 8px 10px;
	}
	.header .dropdown-menu ul {
		padding: 0 0 0.5rem 0;
	}
	.header .dropdown-menu-sub ul {
		padding: 0;
	}
	.header .button-nav .btn {
		display: block;
		margin: 0 0 0 20px;
		padding-left: 25px;
		padding-right: 25px;
	}
}
@media (min-width: 1400px) {
	.header .logo {
		width: 306px;
	}
}

/* ==================================================

	FOOTER

*/
.footer {
	padding: 50px 0 180px 0;
	font-size: 14px;
	color: #000;
}
.footer a {
	text-decoration: none;
	color: inherit;
}
.footer .logo {
	margin-bottom: 40px;
}
.footer .logo a {
	display: block;
	max-width: 200px;
}
.footer .logo img {
	width: 100%;
}
.footer small {
	display: block;
	margin-top: 2rem;
}
.footer .pagetop {
	display: none;
	position: fixed;
	z-index: 20;
	bottom: 15px;
	right: 15px;
}
.footer .pagetop button {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	border: 0;
	border-radius: 0;
	resize: none;
	display: block;
	width: 50px;
	height: 50px;
	background-color: rgba(0,0,0,0.5);
	text-decoration: none;
	text-align: center;
	color: #fff;
	transition: all 0.3s ease;
}
.footer .pagetop button i {
	display: block;
	padding-top: 5px;
	font-size: 24px;
	line-height: 1;
}
.footer .pagetop button span {
	display: block;
	padding: 3px 0 8px 0;
	font-size: 12px;
	line-height: 1;
}
/* HOVER */
.device-pc .footer a:hover {
	color: var(--bs-link-hover-color);
}
.device-pc .footer .pagetop button:hover {
	opacity: 0.7;
}
@media (min-width: 768px) {
	.footer {
		padding: 50px 0 100px 0;
	}
	.footer .pagetop {
		bottom: 20px;
		right: 20px;
	}
	.footer .pagetop button {
		width: 60px;
		height: 60px;
	}
	.footer .pagetop button i {
		font-size: 30px;
	}
	.footer .pagetop button span {
		padding: 5px 0 5px 0;
		font-size: 14px;
	}
}
@media (min-width: 992px) {
	.footer .nav-policy li::before {
		content: '|';
		padding: 0 0.5em;
	}
	.footer .nav-policy li:first-child::before {
		content: none;
	}
}

/* ==================================================

	HEADLINE

*/
.headline {
	margin-bottom: 20px;
}
@media (min-width: 768px) {
	.headline {
		margin-bottom: 40px;
	}
}

.headline-session {
	margin-bottom: 23px;
}
@media (min-width: 768px) {
	.headline-session {
		margin-bottom: 45px;
	}
}

.detail-content {
	padding: 20px 0 20px 0;
	background-color: #fff;
}
@media (min-width: 768px) {
	.detail-content {
		padding: 30px 0 60px 0;
	}
}

/* ==================================================

	MAIN

*/
.detail-main {
	padding: 40px 0;
	background-position: center;
	background-image: url(../img/detail-main-bg.jpg);
	background-size: 200% 100%;
	color: #fff;
}
.detail-main .logo {
	margin: 0 auto 30px auto;
	width: 80%;
	max-width: 286px;
}
.detail-main .logo img {
	width: 100%;
}
.detail-main .head {
	display: flex;
	align-items: center;
	margin: 0 0 0.5rem 0;
}
.detail-main .head > div {
	margin-right: 1rem;
}
.detail-main .head > div:last-child {
	margin-right: 0;
}
.detail-main .time {
	font-weight: 700;
}
.detail-main .type > div {
	margin: 0.5rem 0;
}
.detail-main .badge-type {
	border-color: inherit;
	font-weight: 700;
	color: inherit;
}
.detail-main .company {
	margin: 0.2em 0;
	font-weight: 700;
}
.detail-main h1 {
	font-size: 22px;
}
.detail-main h2 {
	margin: 15px 0 0 0;
	font-size: 16px;
}
@media (min-width: 768px) {
	.detail-main {
		padding: 60px 0 60px 0;
	}
	.detail-main .wrapper {
		display: table;
		width: 100%;
	}
	.detail-main .logo {
		display: table-cell;
		vertical-align: top;
		padding: 28px 30px 0 0;
		width: 30%;
	}
	.detail-main .logo img {
		width: 100%;
	}
	.detail-main .block {
		display: table-cell;
		vertical-align: top;
		width: 70%;
	}
	.detail-main .type {
		display: flex;
		align-items: center;
		margin-top: 8px;
		font-size: 16px;
	}
	.detail-main .type > div {
		margin-right: 10px;
	}
	.detail-main .type > div:last-child {
		margin-right: 0;
	}
	.detail-main h1 {
		font-size: 28px;
	}
	.detail-main h2 {
		margin: 15px 0 0 0;
		font-size: 20px;
	}
}
@media (min-width: 992px) {
	.detail-main .logo {
		padding: 40px 30px 0 0;
	}
	.detail-main .head {
		font-size: 16px;
	}
	.detail-main h1 {
		font-size: 32px;
	}
	.detail-main h2 {
		margin: 15px 0 0 0;
		font-size: 22px;
	}
}
@media (min-width: 1200px) {
	.detail-main .logo {
		width: 26%;
	}
	.detail-main .block {
		width: 74%;
	}
	.detail-main h1 {
		font-size: 36px;
	}
	.detail-main h2 {
		font-size: 24px;
	}
}
@media (min-width: 1280px) {
	.detail-main {
		background-size: 2560px 100%;
	}
}
@media (min-width: 2560px) {
	.detail-main {
		background-size: 100% 100%;
	}
}

/* ==================================================

	MAIN VIDEO

*/
.detail-main-video {
	position: fixed;
  z-index: 20;
	top: 60px;
	left: 0;
	width: 100%;
	background-color: #fff;
	border-bottom: 1px solid #aab1b7;
	background: #204674;
}
.detail-main-video .wrapper {
	position: relative;
	color: #fff;
}
.detail-main-video .note {
	padding: 1em 0;
	background-color: #fff;
	text-align: center;
	font-size: 12px;
	color: #707070;
}
.detail-main-video .video {
	margin: 0 auto;
	max-width: 858px;
}
.detail-main-video .video .player {
	position: relative;
	padding-top: 56.25%;
	height: 0;
	opacity: 0;
}
.detail-main-video .video .player iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.detail-main-video .play {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	color: #fff;
	cursor: pointer;
}
.detail-main-video .play em {
	position: relative;
	display: block;
	margin: 0 auto;
	max-width: 858px;
	height: 100%;
}
.detail-main-video .play em span {
	display: block;
}
.detail-main-video .play .thumb {
	height: 100%;
}
.detail-main-video .play .thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.detail-main-video .play .icon {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(255,255,255,0.1);
	transition: background-color 0.3s ease;
}
.detail-main-video .play .icon i {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 240px;
	opacity: 0.7;
	text-shadow: 4px 4px 10px rgba(0,0,0,0.6);
	transition: opacity 0.3s ease;
}
.detail-main-video .play:hover .icon {
	background-color: rgba(255,255,255,0);
}
.detail-main-video .play:hover .icon i {
	opacity: 1;
}
@media (max-width: 858px) {
  .detail-main-video .play .icon i {
    font-size: calc(240 / 858 * 100vw);
  }
}
@media (min-width: 576px) {
  .detail-main-video .note {
		font-size: 14px;
  }
	.detail-main-video .note br {
		display: none;
	}
}
@media (min-width: 768px) {
	.detail-main-video-spacer {
		display: none;
	}
	.detail-main-video {
		position: static;
	}
}

/* ==================================================

	SESSION LAYOUT

*/
.session-container {
	padding: 0 12px 40px 12px;
}
.session-search {
	display: none;
	position: fixed;
	z-index: 999;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 20px 12px 30px 12px;
}
@media (max-width: 991px) {
	.session-search {
		top: 0 !important;
		overflow-y: scroll;
	}
	.session-container .h1 {
		margin-bottom: 0 !important;
	}
}
@media (min-width: 576px) {
	.session-container {
		padding: 0 20px 40px 20px;
	}
	.session-search {
		padding: 20px 20px 30px 20px;
	}
}
@media (min-width: 768px) {
	.session-container {
		padding: 0 40px 40px 40px;
	}
	.session-search {
		padding: 20px 40px 30px 40px;
	}
}
@media (min-width: 992px) {
	.session-container {
		position: relative;
		padding: 0 30px 60px 270px;
		min-height: 100vh;
	}
	.session-search {
		display: block !important;
		position: fixed;
		z-index: 50;
		overflow-y: auto;
		top: 60px;
		bottom: 0;
		left: 0;
		margin: 0;
		padding: 60px 0 60px 30px;
		width: 240px;
		opacity: 1 !important;
	}
	.fixed-header .session-search {
		top: 60px !important;
		transition: top 0.3s ease, height 0.3s ease;
	}
	.register-session .session-search {
		top: 160px;
	}
	.fixed-header.hide-header .session-search {
		top: 0 !important;
	}
	.fixed-header.limit-search .session-search {
		position: absolute;
		top: auto !important;
		height: calc(100vh - 60px);
		height: calc(100dvh - 60px);
	}
	.fixed-header.limit-search.hide-header .session-search {
		height: 100vh;
		height: 100dvh;
	}
	.session-search .btn-close {
		display: none;
	}
}

/* ==================================================

	SESSION SEARCH

*/
.session-search {
	background-color: #f6f7fd;
	font-size: 16px;
}
.session-search .outer {
	overflow: hidden;
}
.session-search .result-count {
	padding: 5px 0 10px 0;
	font-size: 12px;
}
.session-search .result-count span {
	display: inline-block;
	padding-right: 0.3em;
	font-weight: 700;
	font-size: 24px;
	line-height: 1.2;
}
.session-search .block {
	padding: 0 0 10px 0;
}
.session-search h2 + .block {
	margin-top: 10px;
}
.session-search h3 {
	margin: 0;
}
.session-search h3 button {
	font-weight: inherit;
	font-size: inherit;
}
.session-search .list {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -15px 0 0;
	padding: 10px 0 0 0;
	font-size: 14px;
	line-height: 1.3;
}
.session-search .list li {
	padding: 0 15px 10px 0;
}
.session-search .list li:last-child {
	padding-bottom: 0;
}
.session-search .list label {
	position: relative;
	padding-left: 1.5em;
}
.session-search .list .form-check-input {
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	font-size: 16px;
}
@media (min-width: 992px) {
	.session-search .outer {
		width: 180px;
	}
	.session-search .result-count {
		padding: 10px 0 30px 0;
	}
	.session-search .block {
		padding: 0 0 20px 0;
	}
	.session-search .list {
		display: block;
		margin: 0;
		padding: 10px 0 20px 0.5em;
	}
	.session-search .list li {
		padding: 0 0 10px 0;
	}
}

/* ==================================================

	TIMELINE SECTION

*/
.timeline-section {
	margin: 30px 0;
}
.timeline-section:last-child {
	margin-bottom: 0;
}
.timeline-section h3 {
	margin: 0 0 10px 0;
}
.timeline-section .timeline-list {
	padding: 0;
}
.timeline-section .timeline-list .title {
	font-size: 14px;
}
@media (min-width: 768px) {
	.timeline-section {
		margin: 50px 0;
	}
}

/* ==================================================

	SPEAKER

*/
.speaker-gs {
	margin: 0 0 40px 0;
	text-align: center;
}
.speaker-gs li {
	margin: 30px 0 0 0;
}
.speaker-gs .portrait {
	overflow: hidden;
	margin: 0 auto;
	width: 74%;
	max-width: 140px;
	border-radius: 50%;
}
.speaker-gs .portrait img {
	width: 100%;
}
.speaker-gs dl {
	margin: 10px 0 0 0;
}
@media (min-width: 576px) {
	.speaker-gs ul {
		display: flex;
		flex-wrap: wrap;
	}
	.speaker-gs li {
		margin: 20px 0 0 0;
		width: 50%;
	}
}
@media (min-width: 768px) {
	.speaker-gs {
		margin: 20px 0 60px 0;
	}
	.speaker-gs li {
		flex-basis: 50%;
	}
	.speaker-gs .portrait {
		max-width: 172px;
	}
}
@media (min-width: 1200px) {
	.speaker-gs li {
		flex-basis: 25%;
	}
}

/* ==================================================

	TIMELINE GS

*/
.timeline-gs {
	position: relative;
	margin-top: 20px;
	padding: 15px;
	background-color: #fff;
	border: 1px solid #d5d5d5;
	border-radius: 4px;
	font-size: 14px;
}
.timeline-gs a {
	text-decoration: none;
}
.timeline-gs .form-check-input {
	float: left;
	margin: 5px 5px 0 0;
	font-size: 16px;
}
.timeline-gs .title {
	font-size: 32px;
}
.timeline-gs .time {
	font-weight: 700;
	font-size: 16px;
}
.timeline-gs .head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: 5px 0 10px 0;
}
.timeline-gs .head > div {
	margin-right: 15px;
}
.timeline-gs .head .status {
	margin: 10px 0 0 0;
	flex-basis: 100%;
}
.timeline-gs .property {
	display: flex;
	flex-wrap: wrap;
	margin: 15px 0;
}
.timeline-gs .property > div {
	margin-right: 30px;
}
.timeline-gs .property > div:last-child {
	margin-right: 0;
}
.timeline-gs .lead {
	margin: 10px 0;
	line-height: 1.5;
}
.timeline-gs .speaker-gs {
	margin: 10px 0 0 0;
}
@media (min-width: 576px) {
	.timeline-gs .head .status {
		margin: 0;
		flex-basis: auto;
	}
}
@media (min-width: 768px) {
	.timeline-gs {
		margin-top: 40px;
		padding: 30px;
	}
	.timeline-gs .time {
		font-size: 18px;
	}
	.timeline-gs .speaker-gs {
		margin: 20px 0 0 0;
	}
}

/* ==================================================

	TIMELINE CARD

*/
.timeline-card {
	position: relative;
	padding: 10px;
	height: 100%;
	background-color: #fff;
	border: 1px solid #d5d5d5;
	border-radius: 4px;
	font-size: 12px;
}
.timeline-card .form-check-input {
	float: left;
	margin: 2px 5px 0 0;
	font-size: 16px;
}
.timeline-card .head {
	display: flex;
	align-items: center;
}
.timeline-card .head > div {
	margin-right: 10px;
}
.timeline-card .head > div:last-child {
	margin-right: 0;
}
.timeline-card .time {
	font-weight: 700;
	font-size: 14px;
}
.timeline-card .id {
	font-size: 14px;
}
.timeline-card .title {
	margin: 5px 0;
	font-weight: 700;
	font-size: 14px;
}
.timeline-card .title a {
	display: block;
	text-decoration: none;
}
.timeline-card .badge-type {
	margin: 4px 0 6px 0;
}
.timeline-card .company {
	margin: 5px 0;
}
.timeline-card .property {
}
.timeline-card .property > div {
	margin: 8px 0;
}
.timeline-card .property > div:last-child {
	margin-bottom: 0;
}
.timeline-card .status {
	display: flex;
	justify-content: flex-end;
	margin: 5px 0 0 0;
}
.timeline-card .text {
	color: var(--color-gray);
}
@media (min-width: 576px) {
	.timeline-card {
		padding: 10px 10px 30px 10px;
	}
	.timeline-card .status {
		position: absolute;
		bottom: 10px;
		right: 10px;
		margin: 0;
	}
}

.timeline-card.none-ondemand *,
.timeline-card.none-ondemand a {
	color: #aab1b7;
}
.timeline-card.none-ondemand a {
	transition: color 0.15s ease-in-out;
}
.timeline-card.none-ondemand .badge-status {
	display: inline-block;
	padding: 3px 0.4em;
	background-color: #aab1b7;
	border: 1px solid #aab1b7;
	line-height: 1.3;
	color: #fff;
}
.timeline-card.none-ondemand a:hover {
	color: var(--bs-link-hover-color);
}

/* ==================================================

	DETAIL HEAD

*/
.detail-head {
  margin: 0 0 1.2rem 0;
}
.detail-head .calendar {
  font-size: 14px;
}
.detail-head .calendar .opener {
	display: flex;
	align-items: center;
  text-decoration: none;
	font-weight: 700;
}
.detail-head .calendar .opener i {
	position: relative;
	top: -0.06em;
	padding-right: 0.3em;
  font-size: 20px;
}
.detail-head .calendar .dropdown-menu {
	top: 0.5em !important;
	padding: 10px 15px;
}
.detail-head .calendar ul {
	margin: 0;
}
.detail-head .calendar ul a {
	color: inherit;
}
.detail-head .property {
  display: flex;
	flex-wrap: wrap;
	margin: 1em -2em 0 0;
  font-size: 14px;
}
.detail-head .property > div {
  position: relative;
  margin: 0 2em 0.3rem 0;
}
/* HOVER */
.device-pc .detail-head .calendar ul a:hover {
	color: var(--bs-link-hover-color);
}
@media (min-width: 768px) {
	.detail-head {
		display: flex;
		align-items: center;
	}
	.detail-head .calendar {
		margin: 0 3rem 0 0;
	}
	.detail-head .property {
		margin: 0 -2em 0 0;
	}
}

/* ==================================================

	DETAIL MYPAGE HEAD

*/
.detail-mypage-head {
	margin: 0 0 30px 0;
}
.detail-mypage-head .head {
	display: flex;
	align-items: center;
	margin: 0 0 0.5rem 0;
}
.detail-mypage-head .head > div {
	margin-right: 1rem;
}
.detail-mypage-head .head > div:last-child {
	margin-right: 0;
}
.detail-mypage-head .time {
	font-weight: 700;
}
.detail-mypage-head .type {
	margin: 0 0 1rem 0;
	font-size: 12px;
}
.detail-mypage-head .type > div {
	margin: 0.5rem 0;
}
.detail-mypage-head .badge-type {
	border-color: inherit;
	font-weight: 700;
	color: inherit;
}
.detail-mypage-head .company {
	margin: 0.2em 0;
	font-weight: 700;
}
.detail-mypage-head h3 {
	margin: 5px 0 0 0;
}
.detail-mypage-head .download {
	display: flex;
	margin-top: 1rem;
}
.detail-mypage-head .download .none {
	display: block;
	padding: 0.7em 0;
	font-size: 14px;
	color: #707070;
}
@media (min-width: 768px) {
	.detail-mypage-head {
		margin: 0 0 30px 0;
	}
	.detail-mypage-head .wrapper {
		display: table;
	}
	.detail-mypage-head .logo {
		display: table-cell;
		vertical-align: top;
		padding: 28px 30px 0 0;
		width: 27%;
	}
	.detail-mypage-head .logo img {
		width: 100%;
	}
	.detail-mypage-head .block {
		display: table-cell;
		vertical-align: top;
		width: 73%;
	}
	.detail-mypage-head .type {
		display: flex;
		align-items: center;
		margin: 0.5rem 0;
		font-size: 14px;
	}
	.detail-mypage-head .type > div {
		margin: 0 1rem 0 0;
	}
	.detail-mypage-head .type > div:last-child {
		margin-right: 0;
	}
}
@media (min-width: 992px) {
	.detail-mypage-head .logo {
		padding: 38px 30px 0 0;
	}
	.detail-mypage-head .head {
		font-size: 20px;
	}
}
@media (min-width: 1200px) {
	.detail-mypage-head .logo {
		width: 22.4%;
	}
	.detail-mypage-head .block {
		width: 77.4%;
	}
}

/* ==================================================

	DETAIL SPEAKER

*/
.detail-speaker {
	margin: 40px 0 20px 0;
	text-align: center;
	font-size: 14px;
}
.detail-speaker li {
	padding: 0 0 30px 0;
}
.detail-speaker .portrait {
	overflow: hidden;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 15px;
	width: 140px;
	height: 140px;
	border-radius: 50%;
}
.detail-speaker .portrait img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media (min-width: 576px) {
	.detail-speaker ul {
		display: flex;
		flex-wrap: wrap;
		margin: 0 -15px;
	}
	.detail-speaker li {
		flex-basis: 50%;
		padding: 0 15px 40px 15px;
	}
}
@media (min-width: 992px) {
	.detail-speaker {
		margin: 50px 0 30px 0;
		text-align: left;
	}
	.detail-speaker li {
		flex-basis: 33.333%;
	}
	.detail-speaker .portrait {
		margin-left: 0;
		margin-right: 0;
	}
}

/* ==================================================

	DETAIL SPEAKER PORTRAIT

*/
.detail-speaker-portrait {
	margin: 40px 0 20px 0;
}
.detail-speaker-portrait ul {
	text-align: center;
}
.detail-speaker-portrait li {
	padding: 0 0 30px 0;
}
.detail-speaker-portrait .portrait {
	margin: 0 auto 15px auto;
	width: 160px;
}
.detail-speaker-portrait .portrait img {
	width: 100%;
}
.detail-speaker-portrait dl {
	margin: 0;
}
.detail-speaker-portrait dt {
	font-weight: inherit;
}
.detail-speaker-portrait dd {
	margin: 0;
}
@media (min-width: 576px) {
	.detail-speaker-portrait ul {
		display: flex;
		flex-wrap: wrap;
		margin: 0 -15px;
		text-align: left;
	}
	.detail-speaker-portrait li {
		flex-basis: 50%;
		padding: 0 15px 40px 15px;
	}
	.detail-speaker-portrait .portrait {
		margin: 0 0 15px 0;
	}
}
@media (min-width: 992px) {
	.detail-speaker-portrait {
		margin: 50px 0 30px 0;
	}
	.detail-speaker-portrait li {
		flex-basis: 33.333%;
	}
}
@media (min-width: 1200px) {
	.detail-speaker-portrait .portrait {
		margin-bottom: 15px;
		width: 196px;
	}
}

/* ==================================================

	DETAIL COMPANY LOGO

*/
.detail-company-logo {
	margin: 30px 0 40px 0;
}
.detail-company-logo ul {
	padding: 0 20px;
}
.detail-company-logo li {
	margin: 20px auto;
	max-width: 306px;
}
.detail-company-logo li a {
	display: block;
}
.detail-company-logo img {
	width: 100%;
}
@media (min-width: 576px) {
	.detail-company-logo ul {
		display: flex;
		flex-wrap: wrap;
		margin: 0 -10px;
		padding: 0;
	}
	.detail-company-logo li {
		flex-basis: 50%;
		margin: 0;
		padding: 10px;
		max-width: initial;
	}
}
@media (min-width: 768px) {
	.detail-company-logo ul {
		margin: 0 -12px;
	}
	.detail-company-logo li {
		flex-basis: 50%;
		padding: 12px;
	}
}
@media (min-width: 992px) {
	.detail-company-logo {
		margin: 30px 0 60px 0;
	}
	.detail-company-logo li {
		flex-basis: 33.333%;
	}
}
@media (min-width: 1400px) {
	.detail-company-logo li {
		flex-basis: 25%;
	}
}

/* ==================================================

	DETAIL TAGS

*/
.detail-tags {
	margin: 2rem 0 1rem 0;
}
.detail-tags:last-child {
	margin-bottom: 0;
}
.detail-tags h3 {
	margin-bottom: 1rem;
}
.detail-tags .list {
	padding: 0 0 10px 0;
}
.detail-tags .list ul {
	margin: 0;
}
.detail-tags .list li {
	margin: 0 0 15px 0;
}
.detail-tags .list .btn {
	padding: 0.2em 0.6em;
	border-radius: 999em;
	font-size: inherit;
}
@media (min-width: 576px) {
	.detail-tags {
		margin: 3rem 0;
	}
	.detail-tags .wrap {
		display: table;
	}
	.detail-tags .block {
		display: table-row;
	}
	.detail-tags h3 {
		display: table-cell;
		vertical-align: top;
		margin: 0;
		padding: 0.2em 2em 0 0;
		font-size: 1rem;
		line-height: inherit;
		white-space: nowrap;
	}
	.detail-tags .list {
		display: table-cell;
		vertical-align: top;
	}
	.detail-tags .list ul {
		display: flex;
		flex-wrap: wrap;
		margin: 0 -20px 0 0;
		line-height: inherit;
	}
	.detail-tags .list li {
		margin: 0 20px 15px 0;
	}
}

/* ==================================================

	TIMELINE SLIDER

*/
.container-slider {
	margin: 0 auto;
}
.timeline-slider .timeline-item {
	padding: 0 40px;
}
.timeline-slider .timeline-card {
	height: 100%;
}
.timeline-slider .slick-arrow i {
	display: block;
	position: relative;
	overflow: hidden;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: rgba(0,0,0,0.5);
	text-align: center;
	font-size: 22px;
	line-height: 30px;
	color: #fff;
}
.timeline-slider .slick-prev {
	left: 5px;
}
.timeline-slider .slick-prev i {
	padding-right: 0.08em;
}
.timeline-slider .slick-next {
	right: 5px;
}
.timeline-slider .slick-next i {
	padding-left: 0.08em;
}
@media (min-width: 576px) {
	.container-slider {
		max-width: 622px;
	}
	.timeline-slider {
		padding: 0 50px;
	}
	.timeline-slider .timeline-item {
		padding: 0 5px;
	}
	.timeline-slider .timeline-card {
		padding: 20px 20px 40px 20px;
	}
	.timeline-slider .timeline-card .status {
		bottom: 20px;
		right: 20px;
	}
	.timeline-slider .slick-arrow i {
		width: 40px;
		height: 40px;
		flex-basis: 40px;
		font-size: 30px;
		line-height: 40px;
	}
}
@media (min-width: 768px) {
	.container-slider {
		max-width: 800px;
	}
}
@media (min-width: 992px) {
	.container-slider {
		max-width: 1050px;
	}
	.timeline-slider {
		padding: 0 50px;
	}
	.timeline-slider .slick-arrow i {
		width: 50px;
		height: 50px;
		flex-basis: 50px;
		font-size: 40px;
		line-height: 50px;
	}
	.timeline-slider .timeline-item {
		padding: 0 10px;
	}
}
@media (min-width: 1200px) {
	.container-slider {
		max-width: 1244px;
	}
	.timeline-slider {
		padding: 0 60px;
	}
	.timeline-slider .slick-arrow i {
		width: 60px;
		height: 60px;
		flex-basis: 60px;
		font-size: 48px;
		line-height: 60px;
	}
	.timeline-slider .timeline-card .title {
		font-size: 16px;
	}
}
@media (min-width: 1400px) {
	.container-slider {
		max-width: 1424px;
	}
}

/* ==================================================

	TIMELINE LIST

*/
.timeline-list .timeline-item {
	margin: 0 0 15px 0;
}
@media (min-width: 576px) {
	.timeline-list {
		display: flex;
		flex-wrap: wrap;
		margin: 0 -4px;
	}
	.timeline-list .timeline-item {
		flex-basis: 50%;
		margin: 0 0 10px 0;
		padding: 0 4px;
	}
}
@media (min-width: 768px) {
	.timeline-list .timeline-item {
		flex-basis: 33.333%;
	}
}
@media (min-width: 992px) {
	.timeline-list .timeline-item {
		flex-basis: 25%;
	}
}
@media (min-width: 1200px) {
	.timeline-list .timeline-item {
		flex-basis: 20%;
	}
}
@media (min-width: 1400px) {
	.timeline-list .timeline-item {
		flex-basis: 16.666%;
	}
}
@media (min-width: 1600px) {
	.timeline-list .timeline-item {
		flex-basis: 16.666%;
	}
	.session-content .timeline-list .timeline-item {
		flex-basis: 14.285%;
	}
}

/* ==================================================

	SURVEY LIST

*/
.survey-list .survey-item {
	margin: 0 0 15px 0;
}
.survey-list .timeline-card {
	position: relative;
	padding: 15px 15px 20px 15px;
}
.survey-list .timeline-card .title a {
	color: #000;
	transition: color 0.15s ease-in-out;
}
.survey-list .timeline-card .title a:hover {
	color: var(--bs-link-hover-color);
}
.survey-list .timeline-card .foot {
	display: flex;
	align-items: center;
	margin-top: 15px;
}
.survey-list .timeline-card .foot a {
	color: #fff !important;
}
.survey-list .answered .timeline-card .time,
.survey-list .answered .timeline-card .id,
.survey-list .answered .timeline-card .badge-type,
.survey-list .answered .timeline-card .company {
	color: #a8a8a8;
	border-color: #ccc;
}
.survey-list .answered .timeline-card .title a {
	color: #a8a8a8;
}
.survey-list .answered .timeline-card .title a:hover {
	color: var(--bs-link-hover-color);
}
.survey-list .answered .timeline-card .foot {
	font-weight: 700;
	font-size: 14px;
	color: #009245;
}
.survey-list .answered .timeline-card .foot i {
	margin-right: 0.3em;
}
@media (min-width: 576px) {
	.survey-list {
		display: flex;
		flex-wrap: wrap;
		margin: 0 -10px;
	}
	.survey-list .survey-item {
		flex-basis: 50%;
		margin: 0 0 20px 0;
		padding: 0 10px;
	}
	.survey-list .timeline-card {
		padding: 15px 15px 80px 15px;
	}
	.survey-list .timeline-card .foot {
		position: absolute;
		left: 15px;
		bottom: 25px;
		min-height: 40px;
	}
}
@media (min-width: 768px) {
	.survey-list .survey-item {
		flex-basis: 33.333%;
	}
}
@media (min-width: 992px) {
	.survey-list .survey-item {
		flex-basis: 25%;
	}
}

/* ==================================================

	RECOMMEND CONTENT

*/
.recommend-content {
	padding: 40px 0 40px 0;
}
.recommend-content h2 {
	margin-bottom: 20px;
}
@media (min-width: 768px) {
	.recommend-content {
		padding: 60px 0 80px 0;
	}
	.recommend-content h2 {
		margin-bottom: 40px;
	}
}

/* ==================================================

	REGISTER STEPS

*/
.register-steps {
	margin: -60px 0 0 0;
	padding: 80px 0 20px 0;
	background-color: #fff;
}
.register-steps ul {
	display: flex;
	justify-content: center;
	text-align: center;
	margin: 0;
	font-size: 11px;
	line-height: 1.3;
}
.register-steps li {
	width: 100%;
	position: relative;
}
.register-steps li::before {
	content: '';
	display: block;
	position: absolute;
	top: 15px;
	left: 50%;
	right: -50%;
	height: 2px;
	background-color: #d9d9d9;
}
.register-steps li:last-child::before {
	display: none;
}
.register-steps li div {
	position: relative;
}
.register-steps li div i {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	margin-bottom: 10px;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background-color: #d9d9d9;
	font-style: normal;
	font-weight: 700;
	font-size: 18px;
	line-height: 32px;
	color: #000;
}
.register-steps li div p {
	margin: 0;
	padding: 0 0.4em;
}
.register-steps li div span {
	display: inline-block;
}
.register-steps li.active::before {
	margin-top: -2px;
	height: 4px;
	background-color: var(--bs-primary);
}
.register-steps li.active {
	font-weight: 700;
	color: var(--bs-primary);
}
.register-steps li.active div i {
	background-color: var(--bs-primary);
	background-image: url(../img/check-register-steps.svg);
	background-size: contain;
	color: transparent;
}
@media (min-width: 576px) {
	.register-steps ul {
		font-size: 12px;
	}
}
@media (min-width: 768px) {
	.register-steps {
		margin: -72px 0 0 0;
		padding: 87px 0 0 0;
		height: 160px;
	}
	.register-steps ul {
		margin: 0 auto;
		max-width: 680px;
		font-size: 14px;
	}
	.register-steps.steps3 ul {
		max-width: 510px;
	}
}

/* ==================================================

	REGISTER AGREE

*/
.register-agree {
	padding: 30px 0 50px 0;
}
.register-agree section {
	margin: 30px 0;
}
.register-agree .card {
	overflow: hidden;
}
.register-agree .card .scroll-inner {
	padding: 15px;
	height: 212px;
}
.register-agree .card * {
	font-weight: inherit;
	font-size: inherit;
}
.register-agree .card p:last-child {
	margin: 0;
}
.register-agree .card .sponsor {
	margin: -0.5em 0;
}
.register-agree .card .sponsor li {
	margin: 0 0 0.5em 0;
}
.register-agree .card .sponsor li::before {
	content: '●';
	display: inline-block;
	color: var(--color-gray);
	transform: scale(0.8);
	transform-origin: 0 50%;
}
.register-agree-check {
	position: relative;
	display: flex;
}
.register-agree-check label {
	position: relative;
	padding: 0 3.5rem 0 1.5em;
}
.register-agree-check label input {
	position: absolute;
	top: 0;
	left: 0;
}
.register-agree-check .badge {
	position: absolute;
	top: 0;
	right: 0;
}
@media (min-width: 768px) {
	.register-agree {
		padding: 50px 0 100px 0;
	}
	.register-agree .card .scroll-inner {
		padding: 30px;
		height: 212px;
	}
	.register-agree .card .sponsor {
		display: flex;
		flex-wrap: wrap;
		margin: -0.5rem -15px 0 -15px;
	}
	.register-agree .card .sponsor li {
		flex-basis: 50%;
		margin: 10px 0 0 0;
		padding: 0 15px;
	}
	.register-agree-check label {
		margin-right: 10px;
		padding: 0 0 0 1.5em;
	}
	.register-agree-check .badge {
		position: static;
	}
}
@media (min-width: 992px) {
	.register-agree section {
		margin: 70px 0;
	}
}
@media (min-width: 1200px) {
	.register-agree .card .sponsor li {
		flex-basis: 33.333%;
	}
}

/* ==================================================

	REGISTER INPUT

*/
.register-input {
	padding: 30px 0 50px 0;
}
.register-input fieldset {
	margin: 40px 0;
	border-bottom: 1px solid var(--border-gray);
	font-size: 16px;
}
.register-input fieldset h2 {
	margin: 0 0 10px 0;
}
.register-input .th .badge {
	font-size: 14px;
}
.register-input h2 span {
	display: block;
	margin: 5px 0 0 0;
	font-weight: 400;
	font-size: 14px;
}
.register-input .alert-danger {
	color: #dc3545;
}
@media (min-width: 992px) {
	.register-input fieldset {
		margin: 50px 0 70px 0;
	}
}
@media (min-width: 768px) {
	.register-input {
		padding: 50px 0 100px 0;
	}
	.register-input h2 span {
		display: inline-block;
		margin: 0 0 0 1em;
	}
}
/*  */
.register-input-row {
	padding: 15px 0;
	border-top: 1px solid var(--border-gray);
	font-size: 14px;
}
.register-input-row .th {
	position: relative;
	padding: 0 3.5em 0 0;
	font-size: 16px;
}
.register-input-row .th .badge {
	position: absolute;
	right: 0;
	top: 0;
}
.register-input-row .td {
	margin: 10px 0 0 0;
}
.register-input-row .td .text {
	margin: 5px 0;
	font-size: 14px;
}
@media (min-width: 992px) {
	.register-input-row {
		display: flex;
		padding: 20px 0;
	}
	.register-input-row .th {
		flex-basis: 380px;
		padding: 7px 0 0 0;
	}
	.register-input-row .th .badge {
		top: 7px;
	}
	.register-input-row .td {
		flex: 1;
		margin: 0;
		padding: 0 0 0 45px;
	}
}
/*  */
.register-input-block {
	padding: 15px 0;
	border-top: 1px solid var(--border-gray);
}
.register-input-block .th {
	position: relative;
	padding: 0 3.5em 0 0;
}
.register-input-block .th .badge {
	position: absolute;
	right: 0;
	top: 0;
}
.register-input-block .td {
	margin: 10px 0 0 0;
}
@media (min-width: 992px) {
	.register-input-block {
		padding: 20px 0;
	}
	.register-input-block .th {
		display: flex;
		align-items: center;
	}
	.register-input-block .th > div:first-child {
		display: flex;
	}
	.register-input-block .th .badge {
		position: static;
		margin: 0 1em;
	}
	.register-input-block .th .invalid-feedback {
		margin: 0;
		width: auto;
	}
}
/*  */
.register-input .input-other {
	font-size: 14px;
}
.register-input .form-select {
	width: auto;
}
.register-input .form-control.w-50 {
	width: 100% !important;
}
@media (min-width: 992px) {
	.register-input .form-control.w-50 {
		max-width: 100%;
	}
}
@media (min-width: 1200px) {
	.register-input .form-control.w-50 {
		max-width: 460px;
	}
}
/*  */
.register-input .name dl {
	display: flex;
	margin: 10px 0 0 0;
	width: 100%;
}
.register-input .name dl:first-child {
	margin: 0;
}
.register-input .name dt {
	flex-shrink: 0;
	flex-basis: 3em;
	padding: 8px 0.5em 0 0;
	text-align: right;
	font-weight: inherit;
}
.register-input .name dd {
	flex: 1;
	margin: 0;
}
@media (min-width: 768px) {
	.register-input .name {
		display: flex;
		margin: 0 -10px;
	}
	.register-input .name dl {
		margin: 0;
		padding: 0 10px;
	}
}
/*  */
.register-input .list-inline {
	margin: 0;
	font-size: 14px;
}
.register-input .list-inline li {
	margin: 10px 0 0 0;
}
.register-input .list-inline label {
	position: relative;
	padding: 0 0 0 1.5em;
}
.register-input .list-inline label input {
	position: absolute;
	top: -0.1em;
	left: 0;
	font-size: 16px;
}
@media (min-width: 768px) {
	.register-input .list-inline {
		display: flex;
		flex-wrap: wrap;
	}
	.register-input .list-inline li {
		flex-basis: 50%;
		margin: 10px 0 5px 0;
	}
}
@media (min-width: 1200px) {
	.register-input .list-inline li {
		flex-basis: 33.333%;
	}
}
/*  */
.register-input .border-none {
	padding-top: 0;
	border: 0;
}
.register-input .border-dashed {
	border-top-style: dashed;
}
/*  */
.register-input .register-password {
	margin: 0 0 30px 0;
	border: 0;
}
.register-input .register-password .register-input-row {
	padding-bottom: 10px;
	border: 0;
}
@media (min-width: 992px) {
	.register-input .register-password {
		margin: 40px 0;
	}
	.register-password .register-input-row {
		padding-bottom: 10px;
	}
	.register-password .register-input-row .th {
		flex-basis: 270px;
	}
}
/**/
.register-input-check-item {
	padding: 4px 0 8px 0;
	border-bottom: 1px dashed var(--border-gray);
}
.register-input-check-item:last-child {
	border-bottom: 0;
}
.register-input-check-item:nth-child(odd) {
	background-color: #f0f4f8;
}
.register-input-check-item.is-invalid {
	background-color: #ffedf1 !important;
}
.register-input-check-item > div:first-child {
	flex-basis: 240px;
	padding-top: 10px;
	font-size: 14px;
}
.register-input-check-item > div:last-child {
	flex: 1;
}
.register-input-check-item > div:last-child > div {
	margin-bottom: 5px;
}
.register-input-check-item .form-control {
	max-width: 640px;
}
@media (min-width: 768px) {
	.register-input-check-item .list-inline li {
		flex-basis: 33.333%;
	}
}
@media (min-width: 992px) {
	.register-input-check-item {
		display: flex;
	}
}
@media (min-width: 1200px) {

}

/* ==================================================

	REGISTER SESSION

*/
.register-session {
	padding-top: 30px;
}
.register-session .h1 {
	margin-bottom: 30px;
}
@media (min-width: 768px) {
	.register-session {
		padding-top: 50px;
	}
}
@media (min-width: 992px) {
	.register-session .h1 {
		margin-bottom: 50px;
	}
}

/* ==================================================

	REGISTER CONFIRM

*/
/* お客様情報 */
.register-confirm {
	padding: 30px 0 50px 0;
	font-size: 14px;
}
.register-confirm .h1 {
	margin-bottom: 20px;
}
.register-confirm .confirm-row {
	padding: 15px 0;
	border-bottom: 1px solid var(--border-gray);
}
.register-confirm .confirm-row > div:first-child {
	margin-bottom: 5px;
	font-weight: 700;
}
.register-confirm .confirm-block {
	padding: 15px 0;
	border-bottom: 1px solid var(--border-gray);
}
.register-confirm .confirm-block > div:first-child {
	margin-bottom: 5px;
	font-weight: 700;
}
.register-confirm .confirm-block .confirm-row {
	padding: 0 0 10px 0;
	border: 0;
}
.register-confirm .confirm-block .confirm-row:last-child {
	padding: 0;
}
.register-confirm .confirm-block .confirm-row > div:first-child {
	margin-bottom: 0;
}
.register-confirm p {
	margin: 5px 0;
}
.register-confirm p:last-child {
	margin-bottom: 0;
}
@media (min-width: 768px) {
	.register-confirm {
		padding: 50px 0 100px 0;
	}
	.register-confirm .h1 {
		margin-bottom: 40px;
	}
	.register-confirm .confirm-row {
		display: table;
		padding: 0;
		width: 100%;
	}
	.register-confirm .confirm-row > div {
		display: table-cell;
		vertical-align: top;
		padding: 15px 0;
		word-break: break-all;
	}
	.register-confirm .confirm-row > div:first-child {
		margin: 0;
		padding-right: 2em;
	}
	.register-confirm .confirm-block .confirm-row {
		padding: 0;
	}
	.register-confirm .confirm-block .confirm-row > div {
		padding: 5px 0;
	}
	.register-confirm .confirm-block .confirm-row > div:first-child {
		margin: 0;
		padding-right: 1em;
		width: 260px;
		font-weight: inherit;
	}
}
@media (min-width: 992px) {
	.register-confirm .confirm-block .confirm-row > div:first-child {
		width: 300px;
	}
}
@media (min-width: 1200px) {
	.register-confirm .confirm-row > div:first-child {
		width: 200px;
	}
}
/* お客様の基本情報 */
.confirm-basic {
	margin: 40px 0;
}
.confirm-basic h2 {
	padding: 0 0 10px 0;
	border-bottom: 1px solid var(--border-gray);
}
.confirm-basic .col-lg {
	margin-bottom: 40px;
}
.confirm-basic .col-lg:last-child {
	margin-bottom: 0;
}
@media (min-width: 768px) {
	.confirm-basic {
		margin: 0 0 30px 0;
		padding: 50px 0 0 0;
	}
	.confirm-basic + .d-flex {
		margin-top: 50px;
	}
	.confirm-basic .confirm-row > div:first-child {
		width: 200px;
	}
	.confirm-basic .col-lg {
		margin-bottom: 70px;
	}
}
@media (min-width: 992px) {
	.confirm-basic .col-lg {
		margin-bottom: 0;
	}
}
/* アンケート */
.confirm-questionary {
	margin: 40px 0;
}
.confirm-questionary h2 {
	padding: 0 0 10px 0;
	border-bottom: 1px solid var(--border-gray);
}
.confirm-questionary .confirm-check-item dl {
	display: flex;
	margin: 0 0 5px 0;
}
.confirm-questionary .confirm-check-item dt {
	width: 50%;
	font-weight: inherit;
}
.confirm-questionary .confirm-check-item dd {
	margin: 0;
}
.confirm-questionary .confirm-check-item > div {
	margin-bottom: 10px;
}
.confirm-questionary .confirm-check-item:last-child > div {
	margin-bottom: 0;
}
@media (min-width: 768px) {
	.confirm-questionary {
		margin: 0 0 30px 0;
		padding: 50px 0 0 0;
	}
	.confirm-questionary + .d-flex {
		margin-top: 50px;
	}
	.confirm-questionary .confirm-check-item {
		display: flex;
	}
	.confirm-questionary .confirm-check-item dl {
		width: 50%;
	}
	.confirm-questionary .confirm-check-item dt {
		width: 200px;
	}
	.confirm-questionary .confirm-check-item > div {
		margin-bottom: 0;
	}
	.confirm-questionary .confirm-code > div:first-child {
		width: 400px;
	}
}
@media (min-width: 992px) {
	.confirm-questionary .confirm-check-item dl {
		width: 40%;
	}
}
/* 選択したセッション */
.confirm-timetable {
	margin: 40px 0;
}
.confirm-timetable ul {
	margin: 0;
	border-bottom: 1px solid var(--border-gray);
	font-size: 14px;
}
.confirm-timetable li {
	display: flex;
	flex-wrap: wrap;
	padding: 18px 0;
	border-top: 1px solid var(--border-gray);
}
.confirm-timetable li > div {
	margin-right: 20px;
}
.confirm-timetable .title {
	flex-basis: 100%;
	font-weight: 700;
}
.confirm-timetable .title p {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin: 5px 0 0 0;
}
.confirm-timetable .title .badge-type {
	margin: 0 0 8px 0;
}
@media (min-width: 768px) {
	.confirm-timetable {
		margin: 0 0 30px 0;
		padding: 50px 0 0 0;
	}
	.confirm-timetable + .d-flex {
		margin-top: 50px;
	}
}
@media (min-width: 992px) {
	.confirm-timetable .title p {
		flex-direction: row;
	}
	.confirm-timetable .title .badge-type {
		margin: -0.16em 1em -0.16em 0;
	}
}
@media (min-width: 1200px) {
	.confirm-timetable li > div {
		margin-right: 60px;
	}
	.confirm-timetable .title {
		flex: 1;
	}
	.confirm-timetable .title p {
		margin: 10px 0 0 0;
	}
	.confirm-timetable .title p:first-child {
		margin: 0;
	}
}

/* ==================================================

	REGISTER COMPLETE

*/
.register-complete {
	padding: 30px 0 50px 0;
}
.register-complete .icon {
	margin: 30px 0;
	font-size: 100px;
	line-height: 1;
	color: var(--bs-primary);
}
@media (min-width: 768px) {
	.register-complete {
		padding: 50px 0 100px 0;
	}
}
@media (min-width: 576px) {
	.register-complete .icon {
		margin: 50px 0;
		font-size: 120px;
	}
}

/* ==================================================

	LOGIN

*/
.login-input {
	margin: 50px 0;
}
.login-input .input {
	margin: 0 auto;
	max-width: 416px;
	text-align: left;
}
@media (min-width: 768px) {
	.login-input {
		margin: 100px 0;
	}
}
@media (min-width: 992px) {
	.login-input {
		margin: 120px 0;
	}
}

/* ==================================================

	MYPAGE TOP HEAD

*/
.mypage-index-head i {
	font-size: 16px;
}
.mypage-index-head p {
	display: flex;
	align-items: center;
	font-size: 14px;
}

/* ==================================================

	MYPAGE TOP NEWS

*/
.mypage-top-news {
	margin: 30px 0 20px 0;
	font-size: 14px;
}
.mypage-top-news .head {
	margin: 0 0 5px 0;
}
.mypage-top-news .head h2 {
	display: flex;
	align-items: center;
	margin: 0;
}
.mypage-top-news .head h2 i {
	font-size: 16px;
}
.mypage-top-news ul {
	margin: 0;
}
.mypage-top-news li {
	margin: 0;
	padding: 12px 0;
	border-bottom: 1px dashed var(--border-gray);
}
.mypage-top-news li:last-child {
	border-bottom: 0;
}
@media (min-width: 768px) {
	.mypage-top-news {
		display: flex;
		margin: 30px 0;
		border: 1px solid var(--border-gray);
		border-left: 0;
		border-right: 0;
	}
	.mypage-top-news .head {
		flex-basis: 17%;
		padding: 14px 0;
	}
	.mypage-top-news ul {
		flex: 1;
	}
	.mypage-top-news li {
		padding: 14px 0;
	}
	.mypage-top-news li:last-child {
		border-bottom: 0;
	}
}

/* ==================================================

	MYPAGE TOP MENU

*/
.mypage-home-menu {
}
.mypage-home-menu li {
	margin-bottom: 20px;
}
.mypage-home-menu .card {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 100px;
	border: 0;
	background-color: transparent;
	text-align: center;
	color: var(--bs-link-color);
	transition: color 0.2s ease;
}
.mypage-home-menu .card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: block;
	background-color: #fff;
  border: var(--bs-border-width) solid var(--border-gray);
  border-radius: var(--bs-border-radius);
	transition: border 0.2s ease;
}
.mypage-home-menu a.card:hover {
	color: var(--bs-link-hover-color);
}
.mypage-home-menu a.card:hover::before {
	border: 3px solid var(--bs-link-hover-color);
}
.mypage-home-menu .card .badge {
	position: absolute;
	top: 10px;
	right: 10px;
	font-size: 12px;
	color: #fff !important;
}
.mypage-home-menu .card dl {
	display: flex;
	align-items: center;
	position: relative;
	margin: 0;
	width: 100%;
}
.mypage-home-menu .card dt {
	flex-basis: 80px;
	font-size: 40px;
}
.mypage-home-menu .card dd {
	margin: 0;
	font-weight: 700;
}
.mypage-home-menu .fa-download {
	font-size: 96%;
}
.mypage-home-menu .fa-edit {
	font-size: 94%;
}
.mypage-home-menu .fa-user-edit {
	font-size: 94%;
}
@media (min-width: 576px) {
	.mypage-home-menu ul {
		display: flex;
		flex-wrap: wrap;
		margin: 0 -10px;
	}
	.mypage-home-menu li {
		flex-basis: 50%;
		margin: 0;
		padding: 10px;
	}
	.mypage-home-menu .card {
		padding: 0 0 10px 0;
		min-height: 140px;
	}
	.mypage-home-menu .card dl {
		display: block;
	}
	.mypage-home-menu .card dt {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 80px;
		font-size: 44px;
	}
}
@media (min-width: 768px) {
	.mypage-home-menu ul {
		margin: 0 -12px;
	}
	.mypage-home-menu li {
		padding: 12px;
	}
	.mypage-home-menu .card {
		padding: 0;
		min-height: 130px;
	}
	.mypage-home-menu .card dl {
		display: flex;
	}
	.mypage-home-menu .card dt {
		display: block;
		flex-basis: 80px;
		height: auto;
	}
}
@media (min-width: 992px) {
	.mypage-home-menu li {
		flex-basis: 33.333%;
	}
	.mypage-home-menu .card {
		padding: 0 0 10px 0;
		min-height: 180px;
	}
	.mypage-home-menu .card .badge {
		top: 15px;
		right: 15px;
	}
	.mypage-home-menu .card dl {
		display: block;
	}
	.mypage-home-menu .card dt {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 90px;
		font-size: 52px;
	}
}
@media (min-width: 1200px) {
	.mypage-home-menu li {
		flex-basis: 25%;
	}
}

/* ==================================================

	MYPAGE MYTIMETABLE

*/
.mypage-mytimetable-about {
	margin: 0 0 30px 0;
}
.mypage-mytimetable-about ul {
	margin: 0.5em 0 0 0;
	font-size: 12px;
}
.mypage-mytimetable-about ul li {
	position: relative;
	margin-bottom: 0.5em;
	padding-left: 1em;
}
.mypage-mytimetable-about ul li:last-child {
	margin-bottom: 0;
}
.mypage-mytimetable-about ul li::before {
	content: '・';
	position: absolute;
	top: 0;
	left: 0;
}
.mypage-mytimetable {
	margin: 0 0 20px 0;
}
.mypage-mytimetable ul {
	margin: 0;
	border-bottom: 1px solid var(--border-gray);
	font-size: 14px;
}
.mypage-mytimetable li {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	padding: 15px 0;
	border-top: 1px solid var(--border-gray);
}
.mypage-mytimetable li > div {
	flex-basis: 100%;
}
.mypage-mytimetable .time {
	font-weight: 700;
}
.mypage-mytimetable .id {
	position: absolute;
	top: 15px;
	right: 0;
}
.mypage-mytimetable .detail {
	margin-top: 10px;
}
.mypage-mytimetable .detail .title {
	margin-top: 14px;
	font-weight: 700;
}
.mypage-mytimetable .detail .title:first-child {
	margin-top: 0;
}
.mypage-mytimetable .detail .head {
	display: flex;
	align-items: center;
}
.mypage-mytimetable .detail .head .title {
	margin-top: 0;
}
.mypage-mytimetable .detail .head .badge-type {
	margin-right: 10px;
	white-space: nowrap;
}
.mypage-mytimetable .room {
	margin: 10px 0 0 0;
}
.mypage-mytimetable .room-pc {
	display: none;
}
.mypage-mytimetable .room-sp {
	display: flex;
	padding-top: 5px;
}
.mypage-mytimetable .room .badge {
	font-weight: inherit;
}
.mypage-mytimetable .block {
	padding-bottom: 10px;
}
.mypage-mytimetable .block > div {
	margin: 20px 0 0 0;
}
.mypage-mytimetable .block a {
	padding-left: 0;
	padding-right: 0;
	width: 100%;
	font-size: 14px;
	color: #fff !important;
}
.mypage-mytimetable .block em {
	display: block;
	font-style: normal;
	text-align: center;
}
.mypage-mytimetable .block .document em {
	font-size: 14px;
	color: #6c757d;
}
.mypage-mytimetable .block .survey em {
	font-weight: 700;
	color: #009245;
}
.mypage-mytimetable .block .survey em i {
	margin-right: 0.3em;
}
@media (min-width: 768px) {
	.mypage-mytimetable-about {
		margin: -20px 0 40px 0;
	}
	.mypage-mytimetable .time {
		flex-basis: auto;
		margin: 0 20px 0 0;
	}
	.mypage-mytimetable .id {
		position: static;
		flex-basis: auto;
	}
	.mypage-mytimetable .room {
		margin: 12px 0 0 0;
	}
}
@media (min-width: 992px) {
	.mypage-mytimetable ul {
		margin: 0;
		display: table;
		width: 100%;
		border-bottom: 1px solid var(--border-gray);
		font-size: 14px;
	}
	.mypage-mytimetable li {
		display: table-row;
	}
	.mypage-mytimetable li > div {
		display: table-cell;
		padding-top: 20px;
		padding-bottom: 20px;
		vertical-align: top;
		border-top: 1px solid var(--border-gray);
	}
	.mypage-mytimetable .time {
		padding-right: 1em;
		width: 12%;
		white-space: nowrap;
	}
	.mypage-mytimetable .id {
		padding-right: 1em;
		width: 12%;
		white-space: nowrap;
	}
	.mypage-mytimetable .detail {
		margin-top: 0;
	}
	.mypage-mytimetable .room {
		width: 1%;
		text-align: center;
		padding-left: 30px;
		white-space: nowrap;
	}
	.mypage-mytimetable .room-pc {
		display: table-cell;
	}
	.mypage-mytimetable .room-sp {
		display: none;
	}
	.mypage-mytimetable .room .badge {
		margin: -0.2em 0;
	}
	.mypage-mytimetable .block {
		display: flex;
		align-items: center;
		gap: 15px;
		margin-top: 15px;
		padding: 0;
	}
	.mypage-mytimetable .block > div {
		margin: 0;
	}
	.mypage-mytimetable .block .document {
		width: 174px;
	}
	.mypage-mytimetable .block .survey {
		width: 244px;
	}
}
@media (min-width: 1200px) {

}
@media (min-width: 1400px) {
	.mypage-mytimetable .time {
		width: 13%;
	}
	.mypage-mytimetable .id {
		width: 10%;
	}
	.mypage-mytimetable .room {
		padding-right: 30px;
	}
}

/* ==================================================

	MYPAGE 2D CODE

*/
.mypage-2d-code {
	padding: 20px 0 0 0;
}
.mypage-2d-code .head {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
}
.mypage-2d-code .head .h {
	margin-bottom: 10px;
	font-size: 17px;
}
.mypage-2d-code .head .h span {
	display: inline-block;
}
.mypage-2d-code .head .id {
	display: flex;
	align-items: center;
	font-size: 14px;
}
.mypage-2d-code .head .id i {
	font-size: 118%;
}
.mypage-2d-code .code {
	margin: 50px auto 80px auto;
	max-width: 120px;
}
.mypage-2d-code .code img {
	width: 100%;
}
.mypage-2d-code .notes {
	margin: 0 auto;
	max-width: 790px;
}
.mypage-2d-code .notes .h {
	margin-bottom: 20px;
	font-size: 18px;
	text-align: center;
}
.mypage-2d-code .notes ul {
	font-size: 14px;
}
.mypage-2d-code .notes ul li {
	position: relative;
	margin-bottom: 1em;
	padding-left: 1em;
}
.mypage-2d-code .notes ul li::before {
	content: '・';
	position: absolute;
	top: 0;
	left: 0;
}
@media (min-width: 576px) {
	.mypage-2d-code .head .h {
		margin-bottom: 20px;
		font-size: 20px;
	}
	.mypage-2d-code .code {
		margin: 180px auto;
	}
	.mypage-2d-code .notes .h {
		margin-bottom: 30px;
		font-size: 20px;
	}
}

/* ==================================================

	MYPAGE DOWNLOAD

*/
.mypage-download-about {
	margin: 0 0 30px 0;
}
.mypage-download-about ul {
	margin: 0.5em 0 0 0;
	font-size: 12px;
}
.mypage-download-about ul li {
	position: relative;
	margin-bottom: 0.5em;
	padding-left: 1em;
}
.mypage-download-about ul li::before {
	content: '・';
	position: absolute;
	top: 0;
	left: 0;
}
@media (min-width: 768px) {
	.mypage-download-about {
		margin: -20px 0 40px 0;
	}
}
/**/
.mypage-download-anchor {
	margin-bottom: 50px;
	text-align: center;
}
.mypage-download-anchor h3 {
	margin-bottom: 15px;
	font-size: 20px;
}
.mypage-download-anchor li {
	margin-bottom: 15px;
}
.mypage-download-anchor li a {
	display: block;
	padding: 0.5em 0 0.4em 0;
	border: 1px solid var(--bs-primary);
	border-radius: 999px;
	background-color: #fff;
	color: var(--bs-primary);
}
/**/
.mypage-download .card {
	overflow: hidden;
	display: block;
	margin-bottom: 30px;
	padding: 0;
	flex-basis: 419px;
	flex-shrink: 0;
}
.mypage-download .heading {
	padding: 20px 20px;
	font-weight: 700;
	font-size: 24px;
}
.mypage-download .list {
	margin: 0;
	border-top: 1px solid var(--bs-card-border-color);
}
.mypage-download .list li {
	padding: 20px;
	border-bottom: 1px solid var(--bs-card-border-color);
}
.mypage-download .list li:last-child {
	margin-bottom: -1px;
}
.mypage-download .list .head {
	display: flex;
	justify-content: space-between;
	margin-bottom: 5px;
	font-size: 12px;
	color: #707070;
}
.mypage-download .list .title {
	margin-bottom: 5px;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.8;
}
.mypage-download .list .title a {
	display: block;
	color: #000;
	transition: color .15s ease-in-out;
}
.mypage-download .list .title span {
	display: inline-block;
	margin: 0 0.5em 0 0;
	padding: 0.23em 0.5em 0.2em 0.5em;
	border: 1px solid rgb(30, 30, 30);
	font-weight: 700;
	font-size: 12px;
	line-height: 1;
	transition: border-color .15s ease-in-out;
}
.mypage-download .list .company {
	text-align: right;
	font-size: 12px;
}
.mypage-download .list .foot {
	margin-top: 15px;
}
.mypage-download .list .foot .btn {
	width: 100%;
}
.mypage-download .list .foot span {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	min-height: 40px;
	font-size: 14px;
	color: var(--bs-primary);
}
.mypage-download .list .foot span.none {
	opacity: 0.58;
	color: #000;
}
.mypage-download .list .title a:hover {
	color: var(--bs-primary);
}
.mypage-download .list .title a:hover span {
	border-color: var(--bs-primary);
}
@media (max-width: 767px) {
	.mypage-download {
		margin: 0 auto;
		padding-right: calc(1.5rem * .5);
    padding-left: calc(1.5rem * .5);
		max-width: 540px;
	}
	.mypage-download .list li:last-child {
		border-bottom: 0 !important;
	}
	.mypage-download .list .title {
		min-height: initial !important;
	}
	.mypage-download .list .company {
		min-height: initial !important;
	}
}
@media (min-width: 768px) {
	.is-mypage-download .content {
		padding-bottom: 0;
	}
	.mypage-download-anchor {
		display: none;
	}
	.mypage-download {
		overflow-x: auto;
		opacity: 0;
	}
	.mypage-download .wrapper {
		display: flex;
		gap: 20px;
		padding: 0 0 80px 0;
	}
	.mypage-download .spacer-side {
		flex-shrink: 0;
	}
	.mypage-download .spacer-side:first-child {
		order: 999;
	}
	.mypage-download .card {
		flex-basis: 260px;
		margin-bottom: 0;
	}
}
@media (min-width: 992px) {
	.mypage-download .card {
		flex-basis: 290px;
	}
}
@media (min-width: 1400px) {
	.mypage-download .card {
		flex-basis: 419px;
	}
	.mypage-download .heading {
		font-size: 24px;
	}
	.mypage-download .heading h3 {
		margin-bottom: 5px;
	}
	.mypage-download .list .head {
		font-size: 14px;
	}
}

.mypage-download .scroll-hint-icon {
  top: 50%;
  left: 50%;
	width: 200px;
  height: 130px;
	padding: 45px 20px 20px 20px;
	transform: translate(-50%, -50%);
}
.mypage-download .scroll-hint-icon:after {
	top: 20px;
}
.mypage-download .scroll-hint-text {
	margin-top: 15px;
	font-size: 14px;
}

/* ==================================================

	SPONSOR

*/
.sponsor-head .btn-group span {
	display: inline-block;
}
.sponsor-section {
	margin-bottom: 40px;
	padding-top: 20px;
}
.sponsor-list {
	margin: 0 auto;
	padding: 20px 0 0 0;
	max-width: 306px;
}
.sponsor-list li {
	margin: 0 0 25px 0;
}
.sponsor-list a {
	display: block;
}
.sponsor-list img {
	width: 100%;
}
@media (max-width: 575px) {
	.sponsor-head {
		text-align: center;
	}
	.sponsor-head .btn-group {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.sponsor-head .btn-group a {
		margin-bottom: 15px;
		border-radius: var(--bs-border-radius) !important;
	}
	.sponsor-section h3 {
		text-align: center;
	}
}
@media (min-width: 576px) {
	.sponsor-list {
		display: flex;
		flex-wrap: wrap;
		margin: 0 -5px;
		max-width: initial;
	}
	.sponsor-list li {
		margin: 0;
		padding: 0 5px 10px 5px;
	}
	.sponsor-list.platinum li {
		flex-basis: 50%;
	}
	.sponsor-list.gold li {
		flex-basis: 50%;
	}
	.sponsor-list.silver li {
		flex-basis: 33.333%;
	}
	.sponsor-list.bronze li {
		flex-basis: 33.333%;
	}
}
@media (min-width: 768px) {
	.sponsor-head {
		padding-bottom: 20px;
	}
	.sponsor-list {
		margin: 0 -10px;
	}
	.sponsor-list li {
		padding: 0 10px 20px 10px;
	}
	.sponsor-list.platinum li {
		flex-basis: 50%;
	}
	.sponsor-list.gold li {
		flex-basis: 33.333%;
	}
	.sponsor-list.silver li {
		flex-basis: 25%;
	}
	.sponsor-list.bronze li {
		flex-basis: 25%;
	}
}
@media (min-width: 992px) {
	.sponsor-list.platinum li {
		flex-basis: 33.333%;
	}
	.sponsor-list.gold li {
		flex-basis: 25%;
	}
	.sponsor-list.silver li {
		flex-basis: 20%;
	}
	.sponsor-list.bronze li {
		flex-basis: 20%;
	}
}
@media (min-width: 1200px) {
	.sponsor-list.platinum li {
		flex-basis: 25%;
	}
	.sponsor-list.gold li {
		flex-basis: 20%;
	}
	.sponsor-list.silver li {
		flex-basis: 16.666%;
	}
	.sponsor-list.bronze li {
		flex-basis: 16.666%;
	}
}

/* ==================================================

	EXPO

*/
.expo-section {
	margin: 30px 0 50px 0;
}
.expo-section:last-child {
	margin-bottom: 0;
}
.expo-section h3 {
	margin-bottom: 20px;
	text-align: center;
}
.expo-list .expo-item {
	margin-bottom: 15px;
}
.expo-list .expo-item a,
.expo-list .expo-item span {
	display: block;
}
.expo-list .expo-item > * {
	height: 100%;
	background-color: #fff;
	border: 1px solid #d5d5d5;
	border-radius: 4px;
}
.expo-list .expo-item .thumb {
	overflow: hidden;
	margin: 0 auto;
	width: 100%;
}
.expo-list .expo-item .thumb img {
	width: 100%;
	transition: transform 0.2s ease;
}
.expo-list .expo-item a:hover .thumb img {
	transform: scale(1.06);
}
.expo-list .expo-item .detail {
	padding: 10px;
}
.expo-list .expo-item .company {
	font-size: 12px;
	color: #000;
}
.expo-list .expo-item .title {
	margin-top: 5px;
	font-weight: 700;
	font-size: 14px;
}
@media (min-width: 576px) {
	.expo-section h3 {
		margin-bottom: 30px;
	}
	.expo-list {
		display: flex;
		flex-wrap: wrap;
		margin: 0 -10px;
	}
	.expo-list .expo-item {
		flex-basis: 50%;
		margin-bottom: 20px;
		padding: 0 10px;
	}
	.expo-list .expo-item .thumb {
		width: 100%;
	}
}
@media (min-width: 768px) {
	.expo-section h3 {
		text-align: left;
	}
	.expo-list .expo-item {
		flex-basis: 33.333%;
	}
}
@media (min-width: 1200px) {
	.expo-list .expo-item {
		flex-basis: 25%;
	}
}
@media (min-width: 1400px) {
	.expo-list .expo-item {
		flex-basis: 20%;
	}
}
@media (min-width: 2000px) {
	.expo-list .expo-item {
		flex-basis: 16.666%;
	}
}

/* ==================================================

	EXPO GUIDE

*/
.guide-badge {
	display: block;
	padding: 0.1em 0.6em;
	text-align: center;
	border-radius: 99px;
	font-weight: 700;
	font-size: 12px;
	color: #fff;
}
.color-category01 {
	background-color: #ea5621;
}
.color-category02 {
	background-color: #1c8e43;
}
.color-category03 {
	background-color: #0074c1;
}
.color-category04 {
	background-color: #e8619a;
}
.color-category05 {
	background-color: #00a7b9;
}
.color-category06 {
	background-color: #584d9c;
}
/**/
.expo-guide-map {
	margin-top: 20px;
}
.expo-guide-map .frame {
	position: relative;
	background-color: #f1f1f1;
}
.expo-guide-map .frame h3 {
	position: absolute;
	z-index: 10;
	top: 10px;
	left: 10px;
	font-size: 13px;
	pointer-events: none;
}
.expo-guide-map .viewer__content {
	overflow: hidden;
	position: relative;
	height: 290px;
}
.expo-guide-map .viewer__item {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	opacity: 0;
}
.expo-guide-map .viewer__item img {
	width: 100%;
	height: auto;
}
.expo-guide-map .viewer__base {
	position: relative;
}
.expo-guide-map .viewer__control {
	position: absolute;
	top: 5px;
	right: 5px;
}
.expo-guide-map .viewer__zoom {
	display: block;
	width: 36px;
	height: 36px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 25px 25px;
	cursor: pointer;
	transition: opacity 0.3s ease;
}
.expo-guide-map .viewer__zoom:hover {
	opacity: 0.6;
}
.expo-guide-map .viewer__zoom--in {
	background-image: url(../img/icon-zoomin.svg);
}
.expo-guide-map .viewer__zoom--out {
	background-image: url(../img/icon-zoomout.svg);
}
.expo-guide-map .category {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	margin: 20px 0 40px 0;
}
.expo-guide-map .pinchi {
	display: none;
	position: absolute;
	z-index: 10;
	bottom: 10px;
	right: 10px;
	pointer-events: none;
}
.device-sp .expo-guide-map .pinchi {
	display: block;
}
@media (min-width: 768px) {
	.expo-guide-map {
		margin-top: 40px;
	}
	.expo-guide-map .frame h3 {
		top: 20px;
		left: 20px;
		font-size: 20px;
	}
	.expo-guide-map .viewer__content {
		height: 535px;
	}
	.expo-guide-map .viewer__control {
		top: 16px;
		right: 16px;
	}
	.expo-guide-map .category {
		justify-content: center;
		gap: 20px;
		margin: 35px 0;
	}
}
/**/
.expo-guide-list {
	overflow-y: scroll;
	margin-bottom: 40px;
	padding: 0 20px;
	height: 50vh;
	min-height: 200px;
	border: 1px solid #e6e9ec;
	border-radius: 5px;
	background-color: #fff;
}
.expo-guide-list li {
	position: relative;
	margin: 20px 0;
	padding-left: 45px;
}
.expo-guide-list li .guide-badge {
	position: absolute;
	top: 0.2em;
	left: 0;
	min-width: 36px;
}
@media (min-width: 768px) {
	.expo-guide-list {
		margin-bottom: 80px;
		padding: 30px 50px;
		height: 260px;
	}
	.expo-guide-list li {
		margin: 7px 0;
	}
}
/**/
.expo-guide-corner {
	margin-top: 40px;
	padding: 40px 0;
	background-color: #584d9d;
	color: #fff;
}
.expo-guide-corner .icon {
	font-size: 60px;
}
.expo-guide-corner h3 {
	font-weight: 600;
	font-size: 24px;
}
.expo-guide-corner h4 {
	font-weight: 600;
	font-size: 14px;
}
.expo-guide-corner .time {
	font-weight: 600;
	font-size: 16px;
}
@media (min-width: 768px) {
	.expo-guide-corner {
		margin-top: 80px;
		padding: 60px 0;
	}
	.expo-guide-corner h3 {
		font-size: 36px;
	}
	.expo-guide-corner h4 {
		font-size: 18px;
	}
	.expo-guide-corner .time {
		font-size: 24px;
	}
}

/* ==================================================

	HOME

*/
/* CONTAINER */
.home-container {
	margin: 0 auto;
	padding: 0 15px;
}
@media (min-width: 768px) {
	.home-container {
		padding: 0 50px;
		max-width: 1826px;
	}
}

/* MAIN */
.home-main {
	padding: 0 !important;
	text-align: center;
	color: #fff;
}
.home-main .kv {
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	height: 66.666vw;
	background-position: center;
	background-image: url(../img/home-kv-bg.jpg);
	background-size: cover;
}
.home-main .kv .base {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.home-main .kv .base img {
	display: block;
	width: 176vw;
	opacity: 0;
	transform: scale(0.84);
	transition: opacity 0.8s ease, transform 0.8s ease;
}
.home-main .kv h1 {
	position: relative;
	width: 86vw;
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.8s ease 0.6s, transform 0.8s ease 0.6s;
}
.home-main .kv h1 img {
	display: block;
	width: 100%;
	filter: drop-shadow(0 0 14px rgba(0,0,0,0.5));
	transform: translateZ(0);
}
.home-main .info {
	padding: 15px 0;
	background-color: #3CA8E9;
}
.home-main .info time {
	font-weight: 900;
	font-size: 16px;
	letter-spacing: 0.06em;
}
.home-main .info .venue {
	margin: 5px 0 10px 0;
	font-weight: 700;
	font-size: 12px;
}
.home-main .info .foot {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 15px;
	padding: 5px 0;
}
.home-main .info .foot a {
	display: block;
}
.home-main .info .foot .btn-primary {
	border-color: #fff;
}
.home-main .info .foot .btn-outline-primary {
	background-color: #fff;
}
.home-main .info .foot .btn-outline-primary:hover {
	background-color: #0d6efd;
	border-color: #fff;
}

.loaded .home-main .kv .base img {
	opacity: 1;
	transform: scale(1);
}
.loaded .home-main .kv h1 {
	opacity: 1;
	transform: translateY(0);
}

@media (min-width: 576px) {
	.home-main .kv {
		height: 248px;
	}
	.home-main .kv .base img {
		width: 756px;
	}
	.home-main .kv h1 {
		width: 86vw;
		max-width: 344px;
	}
	.home-main .info time {
		font-size: 20px;
	}
	.home-main .info .venue {
		font-size: 14px;
	}
	.home-main .info h2 {
		font-size: 20px;
	}
}

@media (min-width: 768px) {
	.home-main .kv {
		height: 296px;
	}
	.home-main .kv .base img {
		width: 880px;
	}
	.home-main .kv h1 {
		max-width: 404px;
	}
	.home-main .info time {
		font-size: 24px;
	}
	.home-main .info .venue {
		font-size: 16px;
	}
	.home-main .info h2 {
		font-size: 24px;
	}
	.home-main .info .foot {
		flex-direction: row;
		gap: 20px;
	}
}
@media (min-width: 992px) {
	.home-main .kv {
		height: 340px;
	}
	.home-main .kv .base img {
		width: 928px;
	}
	.home-main .kv h1 {
		max-width: 584px;
	}
	.home-main .info time {
		font-size: 24px;
	}
	.home-main .info .venue {
		font-size: 16px;
	}
	.home-main .info h2 {
		font-size: 24px;
	}
}
@media (min-width: 1700px) {
	.home-main .kv {
		height: 470px;
	}
	.home-main .kv .base img {
		width: 1238px;
	}
	.home-main .kv h1 {
		max-width: 780px;
	}
}

/* COUNTDOWN */
.home-countdown {
	display: flex;
	justify-content: center;
	padding: 15px 0 10px 0;
	background-color: #0D6EFD;
	color: #fff;
}
.home-countdown .wrap {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.home-countdown h2 {
	margin-bottom: 0.2em;
	font-size: 14px;
}
.home-countdown .date {
	display: flex;
}
.home-countdown dl {
	margin: 0 12px;
	text-align: center;
}
.home-countdown dt {
	width: 3;
	font-size: 32px;
	line-height: 1;
}
.home-countdown dd {
	font-size: 12px;
	line-height: 1.2;
}
@media (min-width: 768px) {
	.home-countdown h2 {
		font-size: 16px;
	}
	.home-countdown dl {
		margin: 0;
	}
	.home-countdown dt {
		width: 90px;
		font-size: 48px;
	}
}
@media (min-width: 992px) {
	.home-countdown .wrap {
		flex-direction: row;
		justify-content: flex-start;
		align-items: center;
		gap: 10px;
	}
	.home-countdown dl {
		margin: 0 0 0 0;
	}
}

/* GREETING */
.home-greeting {
	padding: 30px 0;
}
.home-greeting .wrap {
	margin: 0 auto;
	max-width: 1296px;
}
.home-greeting .player {
	position: relative;
	padding-top: 56.25%;
	height: 0;
}
.home-greeting .player iframe {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
}
.home-greeting .detail {
	margin-top: 15px;
	line-height: 1.6;
}
@media (min-width: 768px) {
	.home-greeting {
		padding: 60px 0;
	}
	.home-greeting .video {
		margin: 0 auto;
		max-width: 480px;
	}
	.home-greeting .detail {
		margin-top: 30px;
	}
}
@media (min-width: 992px) {
	.home-greeting .wrap {
		display: flex;
	}
	.home-greeting .video {
		flex-basis: 416px;
	}
	.home-greeting .detail {
		flex: 1;
		margin: 0;
		padding-left: 30px;
		line-height: 1.6;
	}
}

/* INFORMATION */
.home-information {
	padding: 0 0 40px 0;
}
.home-information img {
	width: 100%;
	height: auto;
}
.home-information .wrap {
	margin-bottom: -40px;
}
.home-information .wrap .block {
	margin-bottom: 40px;
}
@media (min-width: 576px) {
	.home-information .wrap {
		display: flex;
		flex-wrap: wrap;
		margin: 0 -15px  -40px -15px;
	}
	.home-information .wrap .block {
		flex-basis: 50%;
		padding: 0 15px;
	}
}
@media (min-width: 768px) {
	.home-information {
		padding: 0 0 80px 0;
	}
}
@media (min-width: 992px) {
	.home-information .wrap .block {
		flex-basis: 33.333%;
	}
}

/* OUTLINE */
.home-outline {
	padding: 40px 0;
	background-color: #fff;
}
.home-outline h2 span {
	display: inline-block;
}
.home-outline .wrap {
	margin-top: 20px;
}
.home-outline table {
	margin: 0;
	width: 100%;
}
.home-outline table th,
.home-outline table td {
	padding: 5px 0;
	vertical-align: top;
}
.home-outline table th {
	width: 5em;
	white-space: nowrap;
}
.home-outline .calendar {
	margin-top: 0.5rem;
}
.home-outline .calendar .opener {
	display: flex;
	align-items: center;
  text-decoration: none;
	font-weight: 700;
}
.home-outline .calendar .opener i {
	position: relative;
	top: -0.06em;
	padding-right: 0.3em;
}
.home-outline .calendar .dropdown-menu {
	top: 0.5em !important;
	padding: 10px 15px;
}
.home-outline .calendar ul {
	margin: 0;
}
.home-outline .calendar ul a {
	color: inherit;
}
/* HOVER */
.device-pc .home-outline .calendar ul a:hover {
	color: var(--bs-link-hover-color);
}
@media (min-width: 768px) {
	.home-outline {
		padding: 60px 0;
	}
	.home-outline .wrap {
		margin: 30px auto 0 auto;
	}
}
@media (min-width: 992px) {
	.home-outline .wrap {
		display: flex;
		max-width: 1076px;
	}
	.home-outline .wrap .block {
		flex-basis: 50%;
	}
	.home-outline table th,
	.home-outline table td {
		padding: 5px;
	}
	.home-outline table th {
		width: 1em;
	}
}

/* GS */
.home-gs {
	padding: 40px 0;
}
.home-gs .title {
	font-weight: 500;
	font-size: 20px;
}
.home-gs .subtitle {
	font-weight: 500;
	font-size: 18px;
}
.home-gs .speaker {
	margin: 0 auto;
	text-align: center;
}
.home-gs .speaker ul li {
	margin-bottom: 40px;
}
.home-gs .speaker .portrait {
	margin: 0 auto;
	max-width: 160px;
	overflow: hidden;
	border-radius: 50%;
}
.home-gs .speaker .portrait img {
	width: 100%;
	height: auto;
}
.home-gs .speaker dl {
	margin: 0.5rem 0 0 0;
}
.home-gs .speaker dt {
	font-size: 16px;
}
.home-gs .speaker dd {
	margin: 0;
}
@media (min-width: 576px) {
	.home-gs .speaker ul {
		display: flex;
		flex-wrap: wrap;
	}
	.home-gs .speaker ul li {
		flex-basis: 50%;
	}
}
@media (min-width: 768px) {
	.home-gs {
		padding: 60px 0;
	}
	.home-gs .title {
		font-size: 26px;
	}
	.home-gs .subtitle {
		font-size: 20px;
	}
	.home-gs .speaker ul li {
		flex-basis: 50%;
	}
	.home-gs .speaker .portrait {
		max-width: 180px;
	}
	.home-gs .speaker dt {
		font-size: 20px;
	}
}
@media (min-width: 992px) {
	.home-gs .speaker ul li {
		flex-basis: 33.333%;
	}
}
@media (min-width: 1200px) {
	.home-gs .title {
		font-size: 32px;
	}
	.home-gs .subtitle {
		font-size: 24px;
	}
	.home-gs .speaker {
		max-width: 1250px;
	}
	.home-gs .speaker ul li {
		flex-basis: 25%;
	}
}

/* SESSION CASE */
.home-session-case {
	padding: 40px 0 10px 0;
	background-position: center;
	background-image: url(../img/detail-main-bg.jpg);
	background-size: 200% 100%;
	color: #fff;
}
.home-session-case .list {
	margin: 30px 0 0 0;
}
.home-session-case .item {
	margin-bottom: 30px;
	font-size: 14px;
}
.home-session-case .item a {
	color: #fff;
}
.home-session-case .item span {
	display: block;
}
.home-session-case .item img {
	width: 100%;
	transition: transform 0.2s ease;
}
.home-session-case .item a:hover .thumb img {
	transform: scale(1.06);
}
.home-session-case .item .thumb {
	overflow: hidden;
	margin: 0 auto;
	max-width: 306px;
}
.home-session-case .item .company {
	margin: 15px 0 5px 0;
}
.home-session-case .item .title {
	font-weight: 700;
	font-size: 16px;
}
.home-session-case .item .time {
	margin-top: 1em;
}
@media (max-width: 576px) {

}
@media (min-width: 576px) {
	.home-session-case {
		padding: 40px 0;
		background-size: 240% 100%;
	}
	.home-session-case .list {
		display: flex;
		flex-wrap: wrap;
		margin: 30px -10px -30px -10px;
	}
	.home-session-case .item {
		margin-bottom: 30px;
		padding: 0 10px;
		flex-basis: 50%;
	}
	.home-session-case .item .thumb {
		max-width: 100%;
	}
}
@media (min-width: 768px) {
	.home-session-case {
		padding: 60px 0;
	}
}
@media (min-width: 992px) {
	.home-session-case .list {
		margin: 50px -10px -30px -10px;
	}
	.home-session-case .item {
		flex-basis: 33.333%;
	}
}
@media (min-width: 1200px) {
	.home-session-case .item {
		flex-basis: 25%;
	}
}
@media (min-width: 1280px) {
	.home-session-case {
		background-size: 2560px 100%;
	}
}
@media (min-width: 1430px) {
	.home-session-case .item {
		flex-basis: 20%;
	}
}
@media (min-width: 2560px) {
	.home-session-case {
		background-size: 100% 100%;
	}
}

/* SESSION */
.home-session {
	padding: 40px 0;
	background-color: #fff;
}
.home-session .lead {
	margin-left: auto;
	margin-right: auto;
	max-width: 1020px;
}
.home-session img {
	width: 100%;
	height: auto;
}
.home-session .block {
	margin-bottom: 20px;
}
.home-session .card {
	overflow: hidden;
	height: 100%;
}
.home-session .detail {
	position: relative;
	padding: 25px 30px 25px 80px;
}
.home-session .detail .icon {
	position: absolute;
	top: 20px;
	left: 15px;
	width: 55px;
}
.home-session .detail h4 {
	margin: 0 0 0.5rem 0;
	font-size: 16px;
	line-height: 1.3;
}
.home-session .detail p {
	margin: 0;
	font-size: 14px;
}
.home-session .foot {
	border-top: 1px solid var(--bs-card-border-color);
}
.home-session .foot a {
	display: block;
	background-color: #F9F9F9;
	padding: 0.8rem 15px;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.1;
}
@media (max-width: 575px) {
	.home-session .block:last-child {
		margin-bottom: 0;
	}
}
@media (min-width: 576px) {
	.home-session .wrap {
		display: flex;
		flex-wrap: wrap;
		margin: 0 -10px;
	}
	.home-session .block {
		flex-basis: 50%;
		margin-bottom: 20px;
		padding: 0 10px;
	}
}
@media (min-width: 768px) {
	.home-session {
		padding: 60px 0;
	}
	.home-session .wrap {
		margin: 0 -15px;
	}
	.home-session .block {
		flex-basis: 50%;
		margin-bottom: 30px;
		padding: 0 15px;
	}
	.home-session .detail h4 {
		font-size: 18px;
	}
}
@media (min-width: 992px) {
	.home-session .block {
		flex-basis: 33.333%;
	}
}
@media (min-width: 1400px) {
	.home-session .block {
		flex-basis: 25%;
	}
}

/* SPONSOR */
.home-sponsor {
	padding: 40px 0;
}
.home-sponsor .title {
	margin: 25px 0 15px 0;
	font-weight: 900;
	text-align: center;
	font-size: 20px;
}
.home-sponsor .list {
	margin: 0 auto;
	max-width: 306px;
}
.home-sponsor .list a {
	display: block;
}
.home-sponsor .list img {
	width: 100%;
}
.home-sponsor .list li {
	margin: 0 0 25px 0;
}
@media (min-width: 576px) {
	.home-sponsor .list {
		display: flex;
		flex-wrap: wrap;
		margin: 0 -10px;
		max-width: initial;
	}
	.home-sponsor .list li {
		flex-basis: 50%;
		margin: 0;
		padding: 0 10px 20px 10px;
	}
}
@media (min-width: 768px) {
	.home-sponsor {
		padding: 60px 0;
	}
	.home-sponsor .title {
		margin: 25px 0;
		font-size: 24px;
	}
}
@media (min-width: 992px) {
	.home-sponsor .title {
		margin: 25px 0;
		font-size: 28px;
	}
	.home-sponsor .list li {
		flex-basis: 33.333%;
	}
}
@media (min-width: 1200px) {
	.home-sponsor .title {
		font-size: 32px;
	}
	.home-sponsor .list li {
		flex-basis: 25%;
	}
}
@media (min-width: 1400px) {
	.home-sponsor .list li {
		flex-basis: 20%;
	}
}