@charset "UTF-8";

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

	common.css
	Version: 1.2

	オリジナルクラス命名規則（Bootstrapコンフリクト回避の為FLOCSS凝縮）
	[ UTILITY ] u-
	[ COMPONENT ] c-
	[ LAYOUT ] l-
	[ PROJECT ] p

	Bootstrap v5.3 （bootstrap.min.css）
	ブレイクポイントのみを変更しビルドしたcssを読み込んでいます
	
	BREAKPOINT
	@media (min-width: 414px)
	@media (min-width: 768px)
	@media (min-width: 1024px)
	@media (min-width: 1200px)
	@media (min-width: 1367px)
	
*/

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

	CONFIG

*/
:root {
	--color-primary: #29B5E8;
	--color-primary-hover: #077EA8;
	--color-mid-blue: #11567F;
	--color-mid-blue-hover: #013D61;
	--color-placeholder: #666;
	--color-border: #809AA2;
	--color-double-black-diamond: #000;
	--color-black-diamond: #8A999E;
	--color-blue-square: #29B5E8;
	--color-snow-row: #FF9F36;
	--color-data-provider: #9747FF;
	--color-lottery: #7D44CF;
	--color-lottery-hover: #6636ac;

	--color-iceberg: #003545;
	--color-purple-moon: #7D44CF;
	--color-first-light: #D45B90;
	--color-violet-dawn: #1C0045;
}

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

	WEB FONT（Texta）

*/
@font-face {
	font-family: Texta;
	font-style: normal;
	font-weight: 200;
	font-display: swap;
	size-adjust: 126%;
	src: url(../fonts/TextaThin.woff) format("woff");
}
@font-face {
	font-family: Texta;
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	size-adjust: 126%;
	src: url(../fonts/TextaLight.woff) format("woff");
}
@font-face {
	font-family: Texta;
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	size-adjust: 126%;
	src: url(../fonts/TextaRegular.woff) format("woff");
}
@font-face {
	font-family: Texta;
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	size-adjust: 126%;
	src: url(../fonts/TextaMedium.woff) format("woff");
}
@font-face {
	font-family: Texta;
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	size-adjust: 126%;
	src: url(../fonts/TextaBold.woff) format("woff");
}
@font-face {
	font-family: Texta;
	font-style: normal;
	font-weight: 800;
	font-display: swap;
	size-adjust: 126%;
	src: url(../fonts/TextaHeavy.woff) format("woff");
}
@font-face {
	font-family: Texta;
	font-style: normal;
	font-weight: 900;
	font-display: swap;
	size-adjust: 126%;
	src: url(../fonts/TextaBlack.woff) format("woff");
}

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

	HTML

*/
html {
	scroll-behavior: auto !important;
	background-color: #000;
}
body {
	line-height: 1.5;
	font-weight: 400;
	font-family: Texta, "M PLUS 1p", 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%;
}
body.lock {
	user-select: none;
}
ul {
	padding: 0;
	list-style-type: none;
}
a {
	text-decoration: none;
}
button {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	background-color: transparent;
	border: 0;
	border-radius: 0;
	resize: none;
}

@media (min-width: 992px) {
	html {
		font-size: 100%;
	}
}

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

	PLACEHOLDER

*/
::-webkit-input-placeholder {
	color: var(--color-placeholder);
}
::-moz-placeholder {
	color: var(--color-placeholder);
}
:-moz-placeholder {
	color: var(--color-placeholder);
}
:-ms-input-placeholder {
	color: var(--color-placeholder);
}
::placeholder {
	color: var(--color-placeholder);
}

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

	SCROLL BOOSTER

*/
.js-scroll-inner {
	box-sizing: content-box;
	padding-left: 23px;
	padding-right: 23px;
}
.device-sp .js-scroll-wrap {
	overflow-x: auto;
}
@media (min-width: 768px) {
	.js-scroll-inner {
		padding-left: 40px;
		padding-right: 40px;
	}
}
@media (min-width: 1024px) {
	.js-scroll-inner {
		padding-left: 59px;
		padding-right: 59px;
	}
}
@media (min-width: 1380px) {
	.js-scroll-inner {
		padding-left: calc(50% - (1248 / 2 * 1px));
	}
}

.sb-scroll-bar {
	position: relative;
	margin: 0 23px;
	height: 6px;
	background-color: #CCC;
	border-radius: 999px;
}
.sb-scroll-bar[aria-hidden="true"] {
	display: none;
}
.sb-scroll-bar i {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	min-width: 40px;
	height: 100%;
	background-color: #666;
	border-radius: 999px;
	cursor: pointer;
}
@media (min-width: 768px) {
	.sb-scroll-bar {
		margin: 0 40px;
	}
}
@media (min-width: 1024px) {
	.sb-scroll-bar {
		margin: 0 59px;
	}
}
@media (min-width: 1380px) {
	.sb-scroll-bar {
		margin: 0 auto;
		width: 1248px;
	}
}

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

	MAIN

*/
main {
	overflow: hidden;
	display: flex;
	flex-direction: column;
	padding: 74px 0 0 0;
	background-color: #fff;
}
.has-header-message main {
	padding: calc(74px + 100px) 0 0 0;
}

@media (min-width: 768px) {
	.has-header-message main {
		padding: calc(74px + 60px) 0 0 0;
	}
}

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

	SECTION

*/
section {
	margin: 50px 0;
}
section:first-child {
	margin-top: 25px;
}

@media (min-width: 768px) {
	section {
		margin: 100px 0;
	}
	section:first-child {
		margin-top: 50px;
	}
}

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

	CONTAINER

*/
.container {
	margin-left: auto;
	margin-right: auto;
	padding-right: 23px;
	padding-left: 23px;
	max-width: 1366px;
}
@media (min-width: 768px) {
	.container {
		padding-right: 40px;
		padding-left: 40px;
	}
	.container-short {
		max-width: 646px;
		min-height: 400px;
	}
}
@media (min-width: 1024px) {
	.container {
		padding-right: 59px;
		padding-left: 59px;
	}
}

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

	BOOTSTRAP OVERWRITE

*/
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
	margin: 0;
	font-weight: inherit;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}
a {
	color: var(--color-primary);
}
em {
	font-style: inherit;
}
dl, ol, ul {
	margin: 0;
}
p {
	margin: 0;
}
button {
	padding: 0;
}
.form-control {
	border-color: var(--color-border);
	font-size: 16px;
}
.form-control:-webkit-autofill {
	box-shadow: 0 0 0 1000px #fff inset !important;
	-webkit-text-fill-color: #000 !important;
}
.form-check-input:disabled {
	opacity: 0.3 !important;
}
.lead {
	font-weight: inherit;
}
.modal-transition .modal-backdrop {
	opacity: 0.5 !important;
	transition: initial !important;
}
.modal-transition .modal-backdrop + .modal-backdrop {
	opacity: 0 !important;
}
.modal-content {
	border: 0;
	border-radius: 0;
}
.form-check-input {
	border-color: var(--color-border);
}
.form-check-input:checked {
	background-color: var(--color-primary);
	border-color: var(--color-primary);
}
.form-control {
	padding-top: 5px;
	padding-bottom: 7px;
}
.form-select {
	padding-top: 5px;
	padding-bottom: 7px;
	border-color: var(--color-border);
}
.accordion-button {
	display: flex;
	align-items: center;
	width: auto;
}
.accordion-button::after {
	content: '';
	display: block;
	margin: 0.1em 0 0 0.3em;
	width: 0.9em;
	height: 0.9em;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-image: url(../img/icon-arrow-toggle.svg) !important;
	background-size: contain !important;
	transition: transform 0.3s ease;
}
.accordion-button[aria-expanded="true"]::after {
	transform: rotate(180deg);
}
.form-control.is-invalid,
.was-validated .form-control:invalid {
	padding-right: 12px;
	background-image: none;
}
.form-select.is-invalid {
	padding-right: 36px !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");
}
.dropdown-item {
	color: inherit;
}
.tooltip {
	z-index: 98 !important;
}
.tooltip-copied {
	pointer-events: none;
}
.tooltip-copied .tooltip-arrow {
	display: none;
}
.tooltip-copied .tooltip-inner {
	margin-bottom: -12px;
}
.tooltip-lunch,
.tooltip-locked,
.tooltip-invited {
	pointer-events: none;
}
.tooltip-lunch .tooltip-arrow,
.tooltip-locked .tooltip-arrow,
.tooltip-invited .tooltip-arrow {
	display: none;
}
.tooltip-lunch .tooltip-inner {
	padding: 10px;
	max-width: 206px;
	text-align: left;
	font-size: 12px;
}
.tooltip-lunch .tooltip-inner em {
	display: block;
	margin-bottom: 5px;
	font-weight: 700;
}
.tooltip-locked .tooltip-inner {
	padding: 10px;
	max-width: 206px;
	text-align: left;
	font-size: 14px;
}
.tooltip-invited .tooltip-inner {
	padding: 10px;
	max-width: 206px;
	background-color: #9747FF;
	text-align: left;
	font-size: 14px;
}
.tooltip-favorite {
	pointer-events: none;
}
.tooltip-favorite .tooltip-arrow {
	display: none;
}

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

	ICON

*/
[class^="icon-"], [class*=" icon-"] {
	display: inline-block;
	margin-top: -0.14em;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.icon-arrow-link {
	margin-left: 0.2em;
	background-image: url(../img/icon-arrow-link.svg);
}
.icon-interpretation {
	background-image: url(../img/icon-interpretation.svg);
}
.icon-lunch {
	background-image: url(../img/icon-lunch.svg);
}

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

	KEYFRAMES

*/
@keyframes animBlink {
	0% {
		opacity: 1;
	}
	10% {
		opacity: 1;
	}
	50% {
		opacity: 0;
	}
	90% {
		opacity: 1;
	}
	100% {
		opacity: 1;
	}
}
@keyframes animRotate {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

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

	VISIBLE

*/
@media screen and (min-width: 768px) {
	.u-visible-sp {
		display: none !important;
	}
}
@media screen and (max-width: 767px) {
	.u-visible-pc {
		display: none !important;
	}
}

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

	LINK

*/
.u-link {
	color: inherit;
}
.u-link:hover {
	color: var(--color-primary);
}

.u-link-color {
	position: relative;
	display: inline-flex;
	padding: 0;
	border-bottom: 1px solid transparent;
}
.u-link-color i {
	display: block;
	position: absolute;
	left: 100%;
	top: 50%;
	margin-top: 0;
	width: 0.88em;
	height: 0.88em;
	transform: translateY(-43%);
}
.u-link-color:hover {
	border-color: var(--color-primary);
}

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

	COLOR

*/
.u-red {
	color: #E2493D;
}
.u-gray {
	color: #5B656E;
}

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

	PARTITION フォントTEXTAだとスラッシュが長くなるのでその調整用

*/
.u-partition {
	display: inline-block;
	padding: 0.2em;
	font-weight: inherit;
	font-size: 78%;
	transform: translateY(-0.04em);
}

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

	FONT SIZE

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

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

	BODY

*/
.l-body {
	flex: 1;
	width: 100%;
}

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

	HEADER

*/
.l-header {
	position: fixed;
	z-index: 100;
	top: 0;
	left: 0;
	width: 100%;
}
.l-header .header {
	position: relative;
	z-index: 110;
	width: 100%;
	background-color: #fff;
	border-bottom: 1px solid #A0BBCC;
	transform: translate3d(0,0,0);
}
.l-header .header .container {
	display: flex;
	align-items: center;
	padding-left: 14px;
	height: 74px;
}
.l-header .header .logo {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-left: 10px;
}
.l-header .header .logo a {
	display: block;
}
.l-header .header .logo img:last-child {
	display: none;
}
.l-header .header .logo .mypage {
	margin-bottom: 0.2em;
	font-weight: 700;
	font-size: 16px;
	line-height: 1.2;
}
.l-header .header .toggle {
	position: absolute;
	z-index: 111;
	top: 50%;
	right: 16px;
	margin-top: -20px;
	width: 40px;
	height: 40px;
}
.l-header .header .toggle i {
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -1px;
	margin-left: -14px;
	display: block;
	width: 28px;
	height: 2px;
	background-color: #000;
}
.l-header .header .toggle:hover i {
	background-color: var(--color-primary);
}
.l-header .header .toggle i:nth-child(1) {
	margin-top: -7px;
}
.l-header .header .toggle i:nth-child(2) {
	margin-top: 5px;
}
.l-header .header .toggle[aria-expanded="true"] i:nth-child(1) {
	margin-top: -1px;
	transform: rotate(45deg);
}
.l-header .header .toggle[aria-expanded="true"] i:nth-child(2) {
	margin-top: -1px;
	transform: rotate(-45deg);
}
.l-header .header .toggle[aria-expanded="true"] i:nth-child(3) {
	opacity: 0;
}
.l-header .header nav {
	display: none;
	justify-content: flex-end;
	align-items: center;
	gap: 40px;
	flex: 1;
	font-weight: 500;
	transform: rotate(0.04deg);
}
.l-header .header nav.nav-static {
	display: flex;
}
.l-header .header nav ul {
	display: flex;
	align-items: center;
	margin: 0;
	gap: 40px;
}
.l-header .header nav .nav-content {
	display: none;
	font-weight: 500;
	font-size: 14px;
}
.l-header .header nav .nav-content > li > a,
.l-header .header nav .nav-content > li > button {
	display: flex;
	align-items: center;
	font-weight: 500;
	color: inherit;
}
.l-header .header nav .nav-content > li > button svg {
	display: block;
	margin: 1px 0 0 5px;
	width: 15px;
	height: 15px;
	transition: transform 0.3s ease-in-out;
}
.l-header .header nav .nav-content > li > button[aria-expanded="true"] {
	color: var(--color-primary);
}
.l-header .header nav .nav-content > li > button[aria-expanded="true"] svg {
	fill: var(--color-primary);
	transform: rotate(180deg);
}
.l-header .header nav .nav-content > li > a:hover,
.l-header .header nav .nav-content > li > button:hover {
	color: var(--color-primary);
}
.l-header .header nav .nav-content > li > button:hover svg {
	fill: var(--color-primary);
}

/* message */
.l-header .message {
	position: relative;
	z-index: 110;
	background-color: #000;
	color: #fff;
}
.l-header .message .container {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 10px;
	height: 100px;
}
.l-header .message p {
	font-weight: 700;
	font-size: 12px;
	line-height: 1.3;
}
.l-header .message .c-btn {
	flex-shrink: 0;
}

@media (min-width: 768px) {
	.l-header .header .container {
		padding-left: 30px;
	}
	.l-header .header .toggle {
		right: 36px;
	}
	.l-header .header nav {
		display: flex;
		padding-right: 60px;
	}
	.l-header .header nav.nav-static {
		padding-right: 0;
	}
	/* message */
	.l-header .message .container {
		flex-direction: row;
		justify-content: flex-start;
		gap: 20px;
		height: 60px;
	}
	.l-header .message p {
		font-size: 14px;
	}
}

@media (min-width: 1024px) {
	.l-header .header .container {
		padding-left: 60px;
	}
	.l-header .header .toggle {
		display: none;
	}
	.l-header .header .logo {
		margin-left: 0;
	}
	.l-header .header .logo img:first-child {
		display: block;
	}
	.l-header .header .logo img:last-child {
		display: none;
	}
	.l-header .header nav {
		padding-right: 0;
	}
	.l-header .header nav .nav-content {
		display: flex;
	}
}

@media (min-width: 1367px) {
	.l-header .header .logo img:first-child {
		display: none;
	}
	.l-header .header .logo img:last-child {
		display: block;
	}
}

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

	MENU

*/
.l-header > .l-menu {
	display: none;
	position: fixed;
	top: 74px;
	left: 0;
	bottom: auto;
	padding: 30px 0 40px 0;
	width: 100%;
	min-height: 140px;
	background-color: #fff;
	box-shadow: 0 4px 2px -2px rgba(0,0,0,0.1);
	font-weight: 700;
	font-size: 14px;
	opacity: 0;
	transform: translateY(-10px);
}
.loaded .l-header > .l-menu {
	transition: opacity .25s cubic-bezier(.4,0,.2,1), transform .25s cubic-bezier(.4,0,.2,1);
}
.l-header > .l-menu[aria-hidden="false"] {
	opacity: 1;
	transform: translateY(0%);
	z-index: 1;
}
.l-header > .l-menu .h1 {
	font-size: 20px;
}
.l-header > .l-menu .h2 {
	margin-top: 40px;
	font-size: 12px;
	color: #5B656E;
}
.l-header > .l-menu .h2:first-child {
	margin-top: 0;
}
.l-header > .l-menu a {
	color: inherit;
}
.l-header > .l-menu a:hover {
	color: var(--color-primary);
}
.l-header > .l-menu .h1 + .row {
	padding-top: 20px;
}
.l-header > .l-menu li {
	margin-top: 10px;
}
.l-header > .l-menu .col {
	flex-grow: 0;
}
.l-header > .l-menu .menu-expo .col {
	flex-basis: 25%;
}
.l-header > .l-menu .menu-mypage .col {
	flex-basis: 25%;
}
.has-header-message .l-header > .l-menu {
	top: calc(74px + 60px);
}

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

	MENU CONTENT

*/
#menu-content {
	padding: 0;
	background-color: #F8F9FA;
}
.l-header > .l-menu .container > button {
	display: none;
}
.l-header > .l-menu .menu-content {
	display: flex;
}
.l-header > .l-menu .menu-content .side {
	position: relative;
	flex-shrink: 0;
	padding: 30px 20px 30px 0;
	flex-basis: 220px;
	background-color: #FFF;
	font-size: 20px;
}
.l-header > .l-menu .menu-content .side::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	width: 100vw;
	background-color: #FFF;
}
.l-header > .l-menu .menu-content .side > * {
	position: relative;
}
.l-header > .l-menu .menu-content .side ul:not(:last-child) {
	margin-bottom: 12px;
	padding-bottom: 15px;
	border-bottom: 1px solid #A0BBCC;
}
.l-header > .l-menu .menu-content .side li {
	margin: 0;
}
.l-header > .l-menu .menu-content .side .tabs {
	margin-left: -8px;
	font-weight: 800;
}
.l-header > .l-menu .menu-content .side .tabs li {
	padding: 4px 0;
}
.l-header > .l-menu .menu-content .side .tabs button {
	display: block;
	padding: 3px 8px;
	width: 100%;
	border-radius: 3px;
	text-align: left;
	line-height: 1.3;
	font-weight: inherit;
}
.l-header > .l-menu .menu-content .side .tabs button[aria-expanded="true"] {
	background-color: #F8F9FA;
	color: var(--color-primary);
	pointer-events: none;
	cursor: default;
}
.l-header > .l-menu .menu-content .side .tabs button:hover {
	color: var(--color-primary);
}
.l-header > .l-menu .menu-content nav {
	padding: 30px 0 30px 40px;
}
.l-header > .l-menu .menu-content-block {
	font-weight: 800;
	font-size: 16px;
}
.l-header > .l-menu .menu-content-block[aria-hidden="true"] {
	display: none;
}
.l-header > .l-menu .menu-content-block .wrap {
	display: flex;
	gap: 60px;
}
.l-header > .l-menu .menu-content-block .wrap > * {
	width: 100%;
}
.l-header > .l-menu .menu-content-block li {
	margin: 0 0 10px 0;
}
.l-header > .l-menu .menu-content-block .title {
	margin-bottom: 8px;
}
.l-header > .l-menu .menu-content-block .title:not(:first-child) {
	margin-top: 14px;
}
#menu-block05 {
	font-size: 14px;
}
#menu-block05 .wrap > * {
	width: auto;
}
#menu-block07 {
	font-size: 14px;
}
#menu-block07 ul {
	font-weight: 400;
}
@media (min-width: 1200px) {
	.l-header > .l-menu .menu-content .side {
		flex-basis: 300px;
	}
	.l-header > .l-menu .menu-content .side br {
		display: none;
	}
}

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

	MEGAMENU

*/
.l-megamenu {
	position: fixed;
	z-index: 90;
	top: 74px;
	bottom: 0;
	left: 0;
	width: 100%;
	background-color: #fff;
	box-shadow: 4px 0 2px -2px rgba(0,0,0,0.1);
	transform: translateX(-102%);
	overflow-y: auto;
	overscroll-behavior: none;
}
.has-header-message .l-megamenu {
	top: calc(74px + 100px);
}
.loaded .l-megamenu {
	transition: transform .5s cubic-bezier(.4,0,1,1);
}
.l-megamenu[aria-hidden="false"] {
	transform: translateX(0%);
}
.l-megamenu nav {
	padding: 20px 0 40px 0;
	min-height: 100%;
}
.os-ios .l-megamenu nav {
	height: calc(100% + 1px);
}
.l-megamenu .nav-content {
	padding: 0 25px;
}
.l-megamenu .nav-content > li {
	border-bottom: 1px solid #000;
}
.l-megamenu .nav-content a,
.l-megamenu .nav-content button {
	display: block;
	position: relative;
	padding: 15px 0;
	width: 100%;
	text-align: left;
	font-weight: 700;
	font-size: 20px;
	color: #000;
}
.l-megamenu .nav-content button svg {
	display: block;
	position: absolute;
	top: 50%;
	right: 0;
	margin-top: -7px;
	width: 14px;
	height: 14px;
	transform: rotate(-90deg);
}
.l-megamenu .nav-other {
	padding: 25px;
}
.l-megamenu .nav-other .c-btn {
	min-height: 40px;
}

@media (min-width: 768px) {
	.has-header-message .l-megamenu {
		top: calc(74px + 60px);
	}
	.l-megamenu .nav-other {
		display: none;
	}
}

@media (min-width: 1024px) {
	.l-megamenu {
		display: none;
	}
}

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

	MEGAMENU MENU

*/
.l-megamenu-menu {
	position: fixed;
	z-index: 91;
	top: 74px;
	bottom: 0;
	left: 0;
	width: 100%;
	background-color: #fff;
	box-shadow: 4px 0 2px -2px rgba(0,0,0,0.1);
	transform: translateX(-102%);
	overflow-y: auto;
	overscroll-behavior: none;
}
.has-header-message .l-megamenu-menu {
	top: calc(74px + 100px);
}
.loaded .l-megamenu-menu {
	transition: transform .5s cubic-bezier(.4,0,1,1);
}
.l-megamenu-menu[aria-hidden="false"] {
	transform: translateX(0%);
}
.l-megamenu-menu .l-menu {
	display: none;
	font-weight: 700;
	font-size: 20px;
}
.l-megamenu-menu .l-menu a {
	color: #000;
}
.l-megamenu-menu .l-menu[aria-hidden="false"] {
	display: block;
}
.l-megamenu-menu .container {
	padding: 25px 0;
}
.l-megamenu-menu .container > button {
	display: flex;
	align-items: center;
	position: relative;
	margin-left: 25px;
	font-size: 16px;
	font-weight: inherit;
	color: var(--color-primary);
}
.l-megamenu-menu .container > button::before {
	content: '';
	display: block;
	margin-right: 0.5em;
	width: 0.5em;
	height: 1em;
	background-repeat: no-repeat;
	background-position: center;
	background-image: url(../img/icon-arrow-back.svg);
	background-size: contain;
}
.l-megamenu-menu .side {
	margin-top: 15px;
	font-weight: 700;
}
.l-megamenu-menu .side br {
	display: none;
}
.l-megamenu-menu .side > ul:not(:last-child) {
	margin-bottom: 12px;
	padding-bottom: 15px;
	border-bottom: 1px solid #A0BBCC;
}
.l-megamenu-menu .side a {
	padding: 15px 25px;
}
.l-megamenu-menu .side button {
	display: flex;
	align-items: center;
	padding: 5px 25px;
	width: 100%;
	text-align: left;
	font-weight: inherit;
}
.l-megamenu-menu .side button::after {
	content: '';
	display: block;
	margin-left: 0.5em;
	width: 16px;
	height: 16px;
	background-repeat: no-repeat;
	background-position: center;
	background-image: url(../img/icon-arrow-toggle.svg);
	background-size: contain;
	transition: transform 0.4s ease;
}
.l-megamenu-menu .side button[aria-expanded="true"]::after {
	transform: rotate(-180deg);
}
.l-megamenu-menu .menu-content-block {
	overflow: hidden;
	height: 0;
	background-color: #F8F9FA;
	font-size: 14px;
}
.l-megamenu-menu .menu-content-block > div {
	padding: 10px 25px;
}
.l-megamenu-menu .menu-content-block li {
	padding-bottom: 10px;
}
.l-megamenu-menu .menu-content-block a {
	padding: 0;
}
.l-megamenu-menu .row {
	display: block;
	margin: 0;
	padding: 15px 25px;
}
.l-megamenu-menu .col {
	margin-bottom: 10px;
	padding: 0;
}

@media (min-width: 1024px) {
	.l-megamenu-menu {
		display: none;
	}
}

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

	FOOTER

*/
.l-footer {
	padding: 50px 0;
	background-color: #000;
	text-align: center;
	font-size: 14px;
	line-height: 1.5;
	color: #fff;
}
.l-footer a {
	color: inherit;
}
.l-footer a:hover {
	border-bottom: 1px solid #fff;
}
.l-footer nav {
	padding-bottom: 20px;
}
.l-footer nav ul {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 20px;
	font-size: 16px;
}
.l-footer .secretariat {
	margin: 20px 0;
}
.l-footer .secretariat p {
	padding: 0.5em 0;
}
.l-footer .note li {
	padding: 0.5em 0;
}
.l-footer small {
	display: block;
	margin-top: 30px;
	font-size: 14px;
}
@media (min-width: 1024px) {
	.l-footer {
		padding: 90px 0;
	}
	.l-footer nav {
		padding: 0;
	}
	.l-footer nav ul {
		flex-direction: row;
	}
}

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

	[ COMPONENT ] HEADING (見出し)

*/
.c-heading {
	letter-spacing: 0;
}
.c-heading > span {
	display: block;
	margin-bottom: 5px;
	font-weight: 700;
	font-size: 13px;
	line-height: 1.5;
}
.c-heading > span.en {
	font-size: 15px;
	line-height: 1.4;
}
.c-heading > em {
	display: block;
	font-weight: 800;
	font-size: 28px;
	line-height: 1.2;
}

@media (min-width: 768px) {
	.c-heading > span {
		font-size: 14px;
	}
	.c-heading > span.en {
		font-size: 18px;
	}
	.c-heading > em {
		font-size: 36px;
	}
}

@media (min-width: 1024px) {
	.c-heading > span {
		font-size: 15px;
	}
	.c-heading > span.en {
		font-size: 19px;
	}
	.c-heading > em.middle,
	.c-heading > em {
		font-size: 40px;
	}
}

@media (min-width: 1367px) {
	.c-heading > span {
		font-size: 16px;
	}
	.c-heading > span.en {
		font-size: 20px;
	}
	.c-heading > em {
		font-size: 48px;
	}
	.c-heading-session-archive > em {
		font-size: 42px;
	}
}

.c-heading-day {
	margin-bottom: 20px;
	padding-top: 30px;
	font-weight: 700;
	font-size: 24px;
}

@media (min-width: 768px) {
	.c-heading-day {
		padding-top: 40px;
	}
}

.c-heading-confirm {
	margin-bottom: 20px;
	text-align: center;
	font-weight: 700;
	font-size: 24px;
	line-height: 1.2;
}

@media (min-width: 768px) {
	.c-heading-confirm {
		margin-bottom: 30px;
		font-size: 32px;
	}
}

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

	[ COMPONENT ] BUTTON (ボタン)

*/
.c-btn {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 27px 0.16em 27px;
	min-height: 34px;
	border-radius: 999px;
	font-weight: 700;
	font-size: 16px;
	color: #fff;
	transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, color 0.2s ease-in-out;
}
.c-btn-primary {
	background-color: var(--color-primary);
	border: 1px solid var(--color-primary);
}
.c-btn-primary:hover {
	background-color: var(--color-primary-hover);
	border-color: var(--color-primary-hover);
}
.c-btn-outline-primary {
	background-color: #fff;
	border: 1px solid var(--color-primary);
	color: var(--color-primary);
}
.c-btn-outline-primary:hover {
	background-color: var(--color-primary);
	color: #fff;
}
.c-btn-expo-double-black-diamond {
	border-color: var(--color-double-black-diamond);
	color: var(--color-double-black-diamond);
}
.c-btn-expo-double-black-diamond:hover {
	background-color: var(--color-double-black-diamond);
}
.c-btn-expo-black-diamond {
	border-color: var(--color-black-diamond);
	color: var(--color-black-diamond);
}
.c-btn-expo-black-diamond:hover {
	background-color: var(--color-black-diamond);
}
.c-btn-expo-blue-square {
	border-color: var(--color-blue-square);
	color: var(--color-blue-square);
}
.c-btn-expo-blue-square:hover {
	background-color: var(--color-blue-square);
}
.c-btn-expo-snow-row {
	border-color: var(--color-snow-row);
	color: var(--color-snow-row);
}
.c-btn-expo-snow-row:hover {
	background-color: var(--color-snow-row);
}
.c-btn-mid-blue {
	background-color: var(--color-mid-blue);
	border: 1px solid var(--color-mid-blue);
}
.c-btn-mid-blue:hover {
	background-color: var(--color-mid-blue-hover);
	border-color: var(--color-mid-blue-hover);
}
.c-btn-lottery {
	background-color: var(--color-lottery);
	border: 1px solid var(--color-lottery);
}
.c-btn-lottery:hover {
	background-color: var(--color-lottery-hover);
	border-color: var(--color-lottery-hover);
}

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

	[ COMPONENT ] BADGE (バッジ)

*/
.c-badge {
	display: flex;
	align-items: center;
	text-align: center;
	font-size: 12px;
	line-height: 1.2 !important;
}
.c-badge span {
	display: block;
	position: relative;
	padding: 0.2em 0.5em 0.28em 0.5em;
	border-radius: 2px;
	color: #fff;
}
.c-badge--handson span {
	background-color: #FF9F36;
}
.c-badge--repeat-session span {
	background-color: #D45B90;
}
.c-badge--live span {
	display: flex;
	align-items: center;
	gap: 2px;
	position: relative;
	padding-left: 1.83em;
	background-color: var(--color-primary);
}
.c-badge--live span::before {
	content: '';
	display: block;
	position: absolute;
	left: 0.3em;
	top: 0.16em;
	width: 1.25em;
	height: 1.25em;
	background-image: url(../img/icon-live-white.svg);
	background-size: contain;
}
.c-badge--room span {
	background-color: #000;
	color: #fff;
}

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

	[ COMPONENT ] POINT

*/
.c-point {
	display: flex;
	align-items: center;
	margin-top: 20px;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.5;
	color: var(--color-primary);
}
.c-point::before {
	content: '';
	flex-shrink: 0;
	display: block;
	margin: 0 4px 0 0;
	width: 16px;
	height: 16px;
	background-repeat: no-repeat;
	background-position: center;
	background-image: url(../img/icon-coin.svg);
	background-size: contain;
}

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

	[ COMPONENT ] STAFF BTN

*/
.c-staff-btn button {
	padding: 0.3em 1em;
	background-color: #EEF4F7;
	font-size: 12px;
	color: #000;
	transition: all 0.3s ease;
}
.c-staff-btn button:disabled {
	opacity: 0.4;
	pointer-events: none;
}
.c-staff-btn button:hover {
	background-color: var(--color-primary);
	color: #FFF;
}

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

	[ COMPONENT ] [ NAV ] BACK

*/
.c-nav-back {
	padding-top: 20px;
}
.session-container .c-nav-back {
	padding: 0 !important;
	max-width: initial !important;
}
.c-nav-back + section {
	margin-top: 20px;
}
.c-nav-back .wrap {
	display: flex;
	margin-bottom: 20px;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.3;
}
.c-nav-back .wrap a {
	display: flex;
	align-items: center;
}
.c-nav-back .wrap a::before {
	content: '';
	display: block;
	margin-right: 0.5em;
	width: 0.5em;
	height: 1em;
	background-repeat: no-repeat;
	background-position: center;
	background-image: url(../img/icon-arrow-back.svg);
	background-size: contain;
}
@media (min-width: 768px) {
	.c-nav-back {
		padding-top: 30px;
	}
	.c-nav-back + section {
		margin-top: 30px;
	}
	.c-nav-back .wrap {
		font-size: 16px;
	}
}

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

	[ COMPONENT ] [ SESSION ] TITLE

*/
.c-session-title {
	font-weight: 700;
}
.c-session-title button {
	display: block;
	text-align: left;
	font-weight: inherit;
	color: rgb(30, 30, 30);
}
.c-session-title button:hover {
	color: var(--color-primary);
}
.c-session-title em {
	display: block;
}
.c-session-title span {
	display: block;
}

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

	[ COMPONENT ] [ SESSION ] FAVORITE

*/
.c-session-favorite {
	display: block;
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	background-size: contain;
	background-image: url(../img/icon-favorite-add.svg);
}
.c-session-favorite:hover {
	background-image: url(../img/icon-favorite-add-hover.svg);
}
.c-session-favorite.active {
	background-image: url(../img/icon-favorite-remove.svg) !important;
}


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

	[ COMPONENT ] [ SESSION ] STATUS (残席数)

*/
.c-session-status {
	/*display: flex;
	text-align: center;*/
	text-align: center;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.3;
}
.c-session-status span {
	position: relative;
	display: block;
	padding: 0 0.4em 0.1em 0.4em;
	border: 1px solid #000;
}
.c-session-status .c-session-status--full {
	border-color: #FF0000;
	color: #FF0000;
}
.c-session-status .c-session-status--few {
	border-color: var(--color-mid-blue);
	color: var(--color-mid-blue);
}
.c-session-status .c-session-status--ended {
	padding-left: 15px;
	padding-right: 15px;
	border-color: #FF0000;
	color: #FF0000;
}
.c-session-status .c-session-status--live-ended {
	padding-left: 15px;
	padding-right: 15px;
	border-color: #000;
	color: #000;
}
.c-session-status .c-session-status--begins {
	background-color: rgba(86, 38, 155, 0.8);
	border-color: rgba(86, 38, 155, 0.8);
	color: #FFF;
}
.c-session-status .c-session-status--livenow {
	padding-left: 20px;
	background-color: rgba(255, 0, 0, 0.8);
	border-color: rgba(255, 0, 0, 0.8);
	color: #FFF;
}
.c-session-status .c-session-status--livenow::before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 5px;
	margin-top: -4px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: #FFF;
	animation: 2s ease infinite animBlink;
}

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

	[ COMPONENT ] [ SESSION ] PROPERTY

*/
.c-session-property {
	font-size: 14px;
	color: #000;
}
.c-session-property div {
	position: relative;
	display: flex;
	align-items: center;
	padding-left: 1.7em;
	line-height: 1;
}
.c-session-property i {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 1.286em;
	height: 1.286em;
}

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

	[ COMPONENT ] [ SESSION ] PROPERTY

*/
.c-lunch {
	display: flex;
	font-size: 11px;
	cursor: default;
}
.c-lunch dl {
	border: 1px solid #000;
	text-align: center;
	background-color: #FFF;
	font-size: 100%;
}
.c-lunch dt {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 2px;
	padding: 1px 1px 3px 1px;
	background-color: #000;
	font-weight: 400;
	font-size: 1.1em;
	line-height: 1;
	color: #fff;
}
.c-lunch dt::before {
	content: '';
	display: block;
	width: 1.1667em;
	height: 1.1667em;
	background-image: url(../img/icon-lunch.svg);
	background-size: contain;
}
.c-lunch dd {
	margin: 0;
	padding: 2px 4px 3px 4px;
	font-size: 100%;
	line-height: 1;
}

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

	[ COMPONENT ] [ SPONSOR ] CATEGORY

*/
.c-sponsor-category {
	display: flex;
	font-size: 12px;
}
.c-sponsor-category span {
	display: flex;
	align-items: center;
	padding: 0.1em 0.5em;
	background-color: #ECF1F5;
	border-radius: 2px;
}
.c-sponsor-category span::before {
	content: '';
	display: block;
	margin-right: 0.3em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
}
.c-sponsor-category span.double-black-diamond::before {
	background-color: var(--color-double-black-diamond);
}
.c-sponsor-category span.black-diamond::before {
	background-color: var(--color-black-diamond);
}
.c-sponsor-category span.blue-square::before {
	background-color: var(--color-blue-square);
}
.c-sponsor-category span.snow-row::before {
	background-color: var(--color-snow-row);
}

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

	[ LAYOUT ] CONTAINER

*/
.l-container-short {
	margin-left: auto;
	margin-right: auto;
	max-width: 320px;
}
.l-container-middle {
	margin-left: auto;
	margin-right: auto;
	max-width: 856px;
}

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

	[ LAYOUT ] FORM

*/
.l-form-input {
	padding-top: 10px;
}
.l-form-input .l-container-short {
	margin-top: 30px;
}

@media (min-width: 1024px) {
	.l-form-input {
		padding-top: 20px;
	}
	.l-form-input .l-container-short {
		margin-top: 50px;
	}
	
}

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

	[ LAYOUT ] FOOT COL2

*/
.l-foot-col2 {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 20px;
}

@media (min-width: 768px) {
	.l-foot-col2 {
		flex-direction: row;
		gap: 0;
	}
	.l-foot-col2 .col {
		flex-basis: 50%;
		padding: 0 25px;
	}
	.l-foot-col2 .col:first-child {
		display: flex;
		justify-content: flex-end;
	}
}

@media (min-width: 1024px) {
	.l-foot-col2 .col {
		flex-basis: 50%;
		padding: 0 25px;
	}
}

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

	[ LAYOUT ] INFORMATION

*/
.l-information {
	padding: 20px;
	background-color: #F7F9FA;
	border-radius: 4px;
	font-size: 16px;
}
.l-information .h {
	margin-bottom: 10px;
	font-weight: 700;
	font-size: 20px;
}
.l-information p {
	margin-bottom: 0.6em;
}
.l-information .block {
	margin-top: 1em;
	padding-top: 1em;
	border-top: 1px solid rgba(65, 70, 75, 0.25);
}
.l-information .middle {
	font-size: 14px;
}

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

	[ LAYOUT ] REGISTER STEPS

*/
.l-register-steps {
	padding: 20px 0;
	background-color: #F5F7F8;
}
.l-register-steps ul {
	display: flex;
	justify-content: center;
	text-align: center;
	margin: 0;
	font-size: 11px;
	line-height: 1.3;
}
.l-register-steps li {
	width: 100%;
	position: relative;
}
.l-register-steps li::before {
	content: '';
	display: block;
	position: absolute;
	top: 15px;
	left: 50%;
	right: -50%;
	height: 2px;
	background-color: #d9d9d9;
}
.l-register-steps li:last-child::before {
	display: none;
}
.l-register-steps li div {
	position: relative;
}
.l-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-family: "M PLUS 1p", sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 32px;
	color: #000;
}
.l-register-steps li div p {
	margin: 0;
}
.l-register-steps li div span {
	display: inline-block;
}
.l-register-steps li.active::before {
	margin-top: -2px;
	height: 4px;
	background-color: var(--color-primary);
}
.l-register-steps li.active {
	color: var(--color-primary);
}
.l-register-steps li.active div i {
	background-color: var(--color-primary);
	background-image: url(../img/icon-check-register-steps.svg);
	background-size: contain;
	color: transparent;
}

@media (min-width: 576px) {
	.l-register-steps ul {
		font-size: 12px;
	}
}

@media (min-width: 768px) {
	.l-register-steps {
		padding: 25px 0 0 0;
		height: 110px;
	}
	.l-register-steps ul {
		margin: 0 auto;
		max-width: 640px;
		font-size: 14px;
	}
	.l-register-steps li div p {
		padding: 0;
	}
}

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

	[ LAYOUT ] SPEAKER

*/
.l-speaker {
	margin: 30px 0 20px 0;
	text-align: center;
	font-size: 12px;
}
.l-speaker ul {
	display: flex;
	flex-wrap: wrap;
	gap: 30px 0;
	margin: 0 -12px;
}
.l-speaker li {
	padding: 0 12px;
	flex-basis: 50%;
}
.l-speaker .portrait {
	display: flex;
	justify-content: center;
	margin-bottom: 5px;
}
.l-speaker .portrait span {
	display: block;
	overflow: hidden;
	max-width: 140px;
	border-radius: 50%;
}
.l-speaker .portrait img {
	width: 100%;
}
.l-speaker .profile {
	display: flex;
	justify-content: center;
	margin-top: 5px;
}
.l-speaker .profile button {
	display: flex;
	align-items: center;
	font-weight: inherit;
	color: var(--color-primary);
}
.l-speaker .profile i {
	display: block;
}
.l-speaker .speech-bubble {
	position: relative;
	margin-top: 30px;
	padding: 15px 12px 15px 30px;
	background-color: #C9EDF9;
	border-radius: 6px;
	text-align: left;
	line-height: 1.7;
}
.l-speaker .speech-bubble::before {
	content: '';
	display: block;
	position: absolute;
	bottom: 100%;
	left: 50%;
	margin: 0 0 -6px -22px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 22px 22px 22px;
	border-color: transparent transparent #C9EDF9 transparent;
}
.l-speaker .speech-bubble::after {
	content: '';
	display: block;
	position: absolute;
	top: 16px;
	left: 10px;
	width: 14px;
	height: 14px;
	background-image: url(../img/icon-speaker-speech.svg);
	background-size: contain;
}

@media (min-width: 768px) {
	.l-speaker {
		margin: 40px 0;
		font-size: 14px;
	}
	.l-speaker ul {
		gap: 40px 0;
		margin: 0 -25px;
	}
	.l-speaker li {
		flex-basis: 33.333%;
		padding: 0 25px;
	}
	.l-speaker .speech-bubble {
		margin-top: 30px;
		padding: 18px 20px 18px 46px;
	}
	.l-speaker .speech-bubble::after {
		top: 16px;
		left: 20px;
		width: 18px;
		height: 18px;
	}
}

@media (min-width: 1200px) {
	.l-speaker li {
		flex-basis: 25%;
	}
	.l-speaker .speech-bubble {
		padding: 18px 46px;
	}
}

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

	[ LAYOUT ] [ SESSION ] DETAIL VIDEO

*/
.l-session-detail-video {
	position: fixed;
	z-index: 20;
	top: 74px;
	left: 0;
	width: 100%;
	background-color: #fff;
	border-bottom: 1px solid #aab1b7;
}
.l-session-detail-video.static {
	position: static;
}
.l-session-detail-video .wrapper {
	position: relative;
	color: #fff;
}
.l-session-detail-video .bg {
	position: absolute;
	inset: 0;
}
.l-session-detail-video .bg::before,
.l-session-detail-video .bg::after {
	content: '';
	display: block;
	position: absolute;
	inset: 0;
	background-repeat: no-repeat;
	background-size: auto 29vw;
}
.l-session-detail-video .bg::before {
	right: -16vw;
	background-position: 100% 100%;
	background-image: url(../img/kv-primary.png);
}
.l-session-detail-video .bg::after {
	background-position: 0 100%;
	background-image: url(../img/kv-secondary.png);
}
.l-session-detail-video .note {
	margin-bottom: -1px;
	padding: 10px 0;
	background-color: #EFF9FF;
	border-top: 1px solid #A0BBCC;
	border-bottom: 1px solid #A0BBCC;
	text-align: center;
	font-size: 12px;
}
.l-session-detail-video .video {
	margin: 0 auto;
	max-width: 858px;
}
.l-session-detail-video .video .player {
	position: relative;
	padding-top: 56.25%;
	height: 0;
}
.l-session-detail-video .video .player iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.l-session-detail-video .play {
	display: flex;
	justify-content: center;
	color: #fff;
	cursor: pointer;
}
.l-session-detail-video .play-wrap {
	max-width: 858px;
	width: 100%;
}
.l-session-detail-video .play-wrap .thumb {
	position: relative;
	display: block;
	padding-top: 56.25%;
	height: 0;
}
.l-session-detail-video .play-wrap .thumb img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.l-session-detail-video .play-wrap .thumb::after {
	content: '';
	display: block;
	position: absolute;
	inset: 0;
	background-color: rgba(0,0,0,0.2);
	background-repeat: no-repeat;
	background-position: center;
	background-image: url(../img/icon-play.svg);
	background-size: 26vw 26vw;
}
.l-session-detail-video a:hover .play-wrap .thumb::after {
	background-color: transparent;
}

@media (max-width: 858px) {
  .l-session-detail-video .play .icon i {
    font-size: calc(240 / 858 * 100vw);
  }
}

@media (min-width: 768px) {
	.l-session-detail-video-spacer {
		display: none;
	}
	.l-session-detail-video {
		position: static;
		background-color: var(--color-mid-blue);
	}
	.l-session-detail-video .play-wrap .thumb::after {
		background-size: 248px 248px;
	}
	.l-session-detail-video .note {
		font-size: 14px;
	}
	.l-session-detail-video .bg::before,
	.l-session-detail-video .bg::after {
		background-size: auto 260px;
	}
	.l-session-detail-video .bg::before {
		right: -140px;
	}
}

@media (min-width: 1024px) {
	.l-session-detail-video .bg::before,
	.l-session-detail-video .bg::after {
		background-size: auto 300px;
	}
}

@media (min-width: 1200px) {
	.l-session-detail-video .bg::before,
	.l-session-detail-video .bg::after {
		background-size: auto 330px;
	}
}

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

	[ LAYOUT ] [ SESSION ] DETAIL LIVE

*/
.l-session-detail-live {
	background-color: var(--color-blue-square);
}
.l-session-detail-live .state {
	position: relative;
}
.l-session-detail-live .state .base {
	position: relative;
	margin: 0 auto;
    max-width: 858px;
}
.l-session-detail-live .state .base img {
	display: block;
	width: 100%;
}
.l-session-detail-live .state .info {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	padding-top: 10vw;
	width: 100%;
	height: 100%;
	text-align: center;
	font-weight: 900;
	font-size: 32px;
}
.l-session-detail-live .state .info h1 {
	font-size: 22px;
}
@media (min-width: 768px) {
	.l-session-detail-live .state .info {
		font-size: 64px;
	}
	.l-session-detail-live .state .info h1 {
		font-size: 36px;
	}
}
@media (min-width: 1024px) {
	.l-session-detail-live .state .info {
		justify-content: center;
		padding: 0 0 80px 0;
	}
}

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

	[ LAYOUT ] [ SESSION ] DETAIL HEAD

*/
.l-session-detail-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 5px 15px;
	font-size: 14px;
}
.l-session-detail-head .date {
	display: flex;
	gap: 15px;
	flex-basis: 100%;
}
.l-session-detail-head .badges {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 10px;
	margin-top: 5px;
}
.l-session-detail-head .point {
	margin: 5px 0;
	flex-basis: 100%;
}
.l-session-detail-head .point-number {
	flex-shrink: 0;
	position: relative;
	padding-left: 30px;
	font-size: 16px;
	font-weight: 700;
	color: var(--color-primary);
}
.l-session-detail-head .point-number::before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -12px;
	width: 25px;
	height: 25px;
	background-image: url(../img/icon-coin.svg);
	background-size: contain;
}
.l-session-detail-head .point-text {
	margin-top: 5px;
	font-size: 14px;
	color: #6C757D;
}

@media (min-width: 1024px) {
	.l-session-detail-head {
		gap: 10px 20px;
		font-size: 16px;
	}
	.l-session-detail-head .date {
		flex-basis: auto;
	}
	.l-session-detail-head .badges {
		gap: 10px 15px;
		margin-top: 0;
	}
	.l-session-detail-head .point {
		display: flex;
		align-items: center;
		gap: 5px 15px;
		flex-basis: 100%;
	}
	.l-session-detail-head .point-text {
		margin-top: 0;
	}
}

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

	[ LAYOUT ] [ SESSION ] DETAIL H1

*/
.l-session-detail-h1 {
	margin: 15px 0;
	font-weight: 800;
}
.l-session-detail-h1 em {
	display: block;
	font-size: 26px;
	line-height: 1.3;
}
.l-session-detail-h1 span {
	display: block;
	margin-top: 10px;
	font-size: 14px;
}

@media (min-width: 1024px) {
	.l-session-detail-h1 em {
		font-size: 35px;
		line-height: 1.3;
	}
	.l-session-detail-h1 span {
		font-size: 19px;
	}
}

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

	[ LAYOUT ] [ SESSION ] DETAIL H2

*/
.l-session-detail-h2 {
	margin: 20px 0;
	font-weight: 800;
}
.l-session-detail-h2 em {
	display: block;
	margin-top: 5px;
	font-size: 18px;
}
.l-session-detail-h2 span {
	display: block;
	margin: 5px 0;
	font-size: 12px;
}

@media (min-width: 1024px) {
	.l-session-detail-h2 em {
		display: block;
		margin-top: 5px;
		font-size: 24px;
	}
	.l-session-detail-h2 span {
		display: block;
		margin: 5px 0;
		font-size: 13px;
	}
}

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

	[ LAYOUT ] [ SESSION ] DETAIL INFO

*/
.l-session-detail-info {
	display: flex;
	align-items: center;
	gap: 20px;
	margin: 20px 0 25px 0;
}
.l-session-detail-info .c-session-property {
	display: flex;
	flex-wrap: wrap;
}

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

	[ LAYOUT ] [ SESSION ] DETAIL LEAD

*/
.l-session-detail-lead {
	font-size: 16px;
	color: inherit;
}
.l-session-detail-lead .en {
	margin-top: 15px;
	font-size: 14px;
}

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

	[ LAYOUT ] [ SESSION ] DETAIL NEWS

*/
.l-session-detail-news {
	margin: 40px 0;
	padding: 15px;
	border: 1px solid #A0BBCC;
	border-radius: 4px;
	line-height: 1.5;
}
.l-session-detail-news .head h2 {
	position: relative;
	margin: 0 0 10px 0;
	padding-left: 20px;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.3;
}
.l-session-detail-news .head h2::before {
	content: '';
	display: block;
	position: absolute;
	top: 0.1em;
	left: 0;
	width: 16px;
	height: 16px;
	background-image: url(../img/icon-info-black.svg);
	background-size: contain;
}
.l-session-detail-news ul {
	margin: 0;
	font-size: 12px;
}
.l-session-detail-news li:not(:last-child) {
	margin-bottom: 10px;
}

@media (min-width: 768px) {
	.l-session-detail-news {
		display: flex;
		margin: 60px 0;
		padding: 15px 20px 18px 20px;
		line-height: 1.3;
	}
	.l-session-detail-news .head {
		flex-basis: 110px;
	}
	.l-session-detail-news .head h2 {
		margin: 0;
	}
	.l-session-detail-news ul {
		flex: 1;
		font-size: 14px;
	}
	.l-session-detail-news li:not(:last-child) {
		margin-bottom: 12px;
	}
}

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

	[ LAYOUT ] [ SESSION ] DETAIL TAGS

*/
.l-session-detail-tags {
	margin-top: 40px;
	font-size: 14px;
	line-height: 1.4;
}
.l-session-detail-tags .h {
	margin: 20px 0 0 0;
	font-size: 16px;
	font-weight: 700;
}
.l-session-detail-tags .subhead {
	margin: 15px 0 0 0;
	font-weight: 700;
}
.l-session-detail-tags .h + .subhead {
	margin: 10px 0 0 0;
}
.l-session-detail-tags ul {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 5px 0;
	margin-top: 8px;
}
.l-session-detail-tags li {
	position: relative;
	padding-right: 1.2em;
}
.l-session-detail-tags li:last-child {
	padding-right: 1em;
}
.l-session-detail-tags li::after {
	content: '/';
	display: block;
	position: absolute;
	top: 0.3em;
	right: 0.36em;
	font-size: 80%;
}
.l-session-detail-tags li:last-child::after {
	content: '';
}

@media (min-width: 768px) {
	.l-session-detail-tags {
		margin-top: 60px;
	}
}

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

	[ LAYOUT ] [ SESSION ] DETAIL DOWNLOAD

*/
.l-session-detail-download {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	margin: 30px 0;
}
.l-session-detail-download span {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 0 0.18em 0;
	height: 34px;
	font-weight: 700;
	font-size: 16px;
	color: #809AA2;
}
@media (min-width: 768px) {
	.l-session-detail-download {
		flex-direction: row;
		align-items: center;
		gap: 30px;
	}
}

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

	[ LAYOUT ] INFORMATION

*/
.l-content-note {
	margin: 20px 0 40px 0;
	padding: 15px 20px;
	border-radius: 4px;
	font-size: 12px;
}
.l-content-note .h {
	margin-bottom: 0.6em;
	font-weight: 700;
	font-size: 16px;
}
.l-content-note ul li {
	position: relative;
	margin-bottom: 0.4em;
	padding-left: 1em;
}
.l-content-note ul li::before {
	content: '・';
	display: block;
	position: absolute;
	top: 0;
	left: -0.2em;
	font-weight: 700;
}

@media (min-width: 768px) {
	.l-content-note {
		margin: 40px 0 40px 0;
	}
}

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

	[ LAYOUT ] [ MODAL ] LOGIN

*/
.l-modal-login .modal-dialog {
	margin: 0 auto;
	max-width: 460px;
}
.l-modal-login .outer {
	width: 100%;
	margin: auto;
	padding: 23px 15px;
}
.l-modal-login .modal-content {
	padding: 20px 23px 30px 23px;
	border-radius: 5px;
}
.l-modal-login .modal-content .close {
	position: absolute;
	top: -40px;
	right: 0;
	font-size: 40px;
	line-height: 1;
	color: #FFF;
}
.l-modal-login .modal-content .head {
	margin-bottom: 20px;
	font-size: 14px;
}
.l-modal-login .modal-content .head h2 {
	margin-bottom: 10px;
	font-size: 16px;
	font-weight: 700;
}
.l-modal-login .modal-content p {
	text-align: center;
	font-size: 14px;
}

@media (min-width: 768px) {
	.l-modal-login .modal-content {
		padding: 30px;
	}
}

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

	[ LAYOUT ] [ MODAL ] MESSAGE

*/
.l-modal-message .modal-dialog {
	margin: 0 auto;
	max-width: 520px;
}
.l-modal-message .outer {
	width: 100%;
	margin: auto;
	padding: 23px 15px;
}
.l-modal-message .modal-content {
	padding: 23px;
	font-size: 14px;
	border-radius: 5px;
	background-color: #29B5E8;
	text-align: center;
	color: #fff;
}
.l-modal-message .modal-content h2 {
	font-weight: 700;
	font-size: 24px;
	line-height: 1.3;
}
.l-modal-message .modal-content h2::after {
	content: '';
	display: block;
	margin: 10px auto;
	width: 50px;
	height: 50px;
	background-image: url(../img/icon-alert.svg);
	background-size: contain;
}
.l-modal-message .modal-content p {
	font-weight: 700;
}
.l-modal-message .modal-content .foot {
	display: flex;
	justify-content: center;
	margin-top: 15px;
	padding-bottom: 10px;
}
.l-modal-message .modal-content .foot .c-btn {
	border: 1px solid #fff;
}
.l-modal-message .modal-content .close {
	position: absolute;
	top: -40px;
	right: 0;
	font-size: 40px;
	line-height: 1;
	color: #FFF;
}

@media (min-width: 768px) {
	.l-modal-message .outer {
		padding: 30px;
	}
	.l-modal-message .modal-content h2 br {
		display: none;
	}
}

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

	[ LAYOUT ] [ MODAL ] POINT ABOUT

*/
.l-modal-point-about .modal-dialog {
	margin: 0 auto;
	max-width: 480px;
}
.l-modal-point-about .outer {
	width: 100%;
	margin: auto;
	padding: 23px 15px;
}
.l-modal-point-about .modal-content {
	padding: 23px;
	font-size: 14px;
	border-radius: 5px;
}
.l-modal-point-about .modal-content h2 {
	margin-bottom: 15px;
	font-weight: 700;
	font-size: 24px;
	line-height: 1.2;
}
.l-modal-point-about .modal-content h2 span {
	display: block;
	font-weight: 900;
	font-size: 12px;
}
.l-modal-point-about .modal-content .close {
	position: absolute;
	top: -40px;
	right: 0;
	font-size: 40px;
	line-height: 1;
	color: #FFF;
}

@media (min-width: 768px) {
	.l-modal-point-about .outer {
		padding: 30px 30px;
	}
	.l-modal-point-about .modal-content {
		padding: 30px;
	}
}

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

	[ LAYOUT ] [ MODAL ] SPEAKER

*/
.l-modal-speaker .modal-dialog {
	margin: 0 auto;
	max-width: 756px;
	height: 100%;
}
.l-modal-speaker .outer {
	width: 100%;
	height: 100%;
	margin: auto;
	padding: 23px;
}
.l-modal-speaker .modal-content {
	height: 100%;
	min-height: 400px;
}
.l-modal-speaker .modal-header {
	display: block;
	font-size: 14px;
}
.l-modal-speaker .modal-header h3 {
	font-weight: 700;
	font-size: 20px;
}
.l-modal-speaker .modal-body {
	overflow-y: auto;
	min-height: 150px;
	font-size: 14px;
}
.l-modal-speaker .modal-footer {
	justify-content: center;
	flex-shrink: 0;
}

.l-modal-speaker .modal-header .h {
	font-weight: 800;
	font-size: 20px;
	color: inherit;
}
.l-modal-speaker .modal-header p {
	margin-top: 10px;
}

@media (min-width: 768px) {
	.l-modal-speaker .modal-dialog {
		margin: 0 auto;
	}
	.l-modal-speaker .outer {
		padding: 30px 30px;
		height: auto;
	}
	.l-modal-speaker .modal-content {
		height: auto;
		min-height: initial;
	}
	.l-modal-speaker .modal-body {
		height: 34vh;
		max-height: 306px;
	}
}

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

	[ LAYOUT ] [ MODAL ] SESS

*/
.l-modal-sess .modal-dialog {
	margin: 0;
	max-width: 756px;
	height: 100%;
	min-height: 600px;
}
.l-modal-sess .outer {
	width: 100%;
	height: 100%;
	margin: auto;
	padding: 23px;
}
.l-modal-sess .modal-content {
	height: 100%;
}
.l-modal-sess .modal-header {
	display: block;
}
.l-modal-sess .modal-body {
	overflow-y: auto;
	overflow-x: hidden;
	padding-bottom: 30px;
	min-height: 150px;
}
.l-modal-sess .modal-footer {
	justify-content: center;
	flex-shrink: 0;
}

.l-modal-sess .l-session-detail-head {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 0 15px;
}
.l-modal-sess .l-session-detail-head .badges {
	flex-basis: 100%;
}
.l-modal-sess .l-session-detail-h1 {
	margin: 10px 0;
}
.l-modal-sess .l-session-detail-h1:last-child {
	margin-bottom: 0;
}
.l-modal-sess .l-session-detail-h1 em {
	font-size: 18px;
}
.l-modal-sess .l-session-detail-h1 span {
	font-size: 14px;
}
.l-modal-sess .l-session-detail-h2 {
	margin: 10px 0;
}
.l-modal-sess .l-session-detail-h2:last-child {
	margin-bottom: 0;
}
.l-modal-sess .l-session-detail-h2 em {
	font-size: 14px;
}
.l-modal-sess .l-session-detail-h2 span {
	margin-bottom: 0;
	font-size: 12px;
}
.l-modal-sess .l-session-detail-property {
	display: flex;
	align-items: center;
	gap: 15px;
	margin: 0 0 15px 0;
}
.l-modal-sess .l-speaker {
	margin: 40px 0;
	text-align: left;
	font-size: 12px;
}
.l-modal-sess .l-speaker ul {
	flex-direction: column;
}
.l-modal-sess .l-speaker li {
	flex-basis: 50%;
	display: flex;
}
.l-modal-sess .l-speaker .portrait {
	display: block;
	margin: 0 20px 0 0;
	flex-basis: 80px;
	flex-shrink: 0;
}
.l-modal-sess .l-session-detail-tags {
	margin-top: 40px;
}

@media (min-width: 768px) {
	.l-modal-sess .modal-dialog {
		margin: 0 auto;
	}
	.l-modal-sess .outer {
		padding: 30px 30px;
		height: auto;
	}
	.l-modal-sess .modal-content {
		height: auto;
		min-height: initial;
	}
	.l-modal-sess .modal-body {
		height: 34vh;
		max-height: 306px;
	}

	.l-modal-sess .l-session-detail-head .badges {
		flex-basis: auto;
	}
	.l-modal-sess .l-speaker ul {
		flex-direction: row;
	}
}

@media (max-height: 600px) {
	.l-modal-sess .l-session-detail-h1 em {
		font-size: 16px;
	}
	.l-modal-sess .l-session-detail-h1 span {
		font-size: 13px;
	}
	.l-modal-sess .l-session-detail-h2 em {
		font-size: 13px;
	}
	.l-modal-sess .l-session-detail-h2 span {
		font-size: 11px;
	}
}

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

	[ LAYOUT ] [ MODAL ] EXPO

*/
.l-modal-expo .modal-dialog {
	margin: 0;
	max-width: 756px;
	height: 100%;
}
.l-modal-expo .outer {
	width: 100%;
	height: 100%;
	margin: auto;
	padding: 23px;
}
.l-modal-expo .modal-content {
	height: 100%;
	min-height: 400px;
}
.l-modal-expo .modal-header {
	display: block;
}
.l-modal-expo .modal-body {
	overflow-y: auto;
	min-height: 150px;
}
.l-modal-expo .modal-footer {
	justify-content: center;
	flex-shrink: 0;
}

.l-modal-expo .c-sponsor-category {
	margin-bottom: 10px;
}
.l-modal-expo .modal-header .h {
	font-weight: 700;
	font-size: 18px;
	line-height: 1.5;
	color: inherit;
}
.l-modal-expo .modal-header p {
	margin-top: 10px;
	font-size: 14px;
}
.l-modal-expo .modal-body {
	font-size: 14px;
}
.l-modal-expo .modal-body .detail a {
	text-decoration: underline;
	color: inherit;
}
.l-modal-expo .modal-body .detail a:hover {
	color: var(--color-primary-hover);
}
.l-modal-expo .modal-body .related {
	display: flex;
	margin-top: 30px;
}
.l-modal-expo .modal-body .category {
	margin-top: 50px;
}
.l-modal-expo .modal-body .category .h {
	margin-bottom: 5px;
	font-weight: 700;
	font-size: 12px;
}
.l-modal-expo .modal-body .category li {
	margin: 2px 0;
}
@media (min-width: 768px) {
	.l-modal-expo .modal-dialog {
		margin: 0 auto;
	}
	.l-modal-expo .outer {
		padding: 30px 30px;
		height: auto;
	}
	.l-modal-expo .modal-header {
		padding: 25px 25px 20px 25px;
	}
	.l-modal-expo .modal-content {
		height: auto;
		min-height: initial;
	}
	.l-modal-expo .modal-body {
		padding: 20px 25px;
		height: 34vh;
		max-height: 306px;
	}
}

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

	[ LAYOUT ] [ MODAL ] THEATER

*/
.l-modal-theater .modal-dialog {
	margin: 0;
	max-width: 756px;
	height: 100%;
}
.l-modal-theater .outer {
	width: 100%;
	height: 100%;
	margin: auto;
	padding: 23px;
}
.l-modal-theater .modal-content {
	height: 100%;
	min-height: 400px;
}
.l-modal-theater .modal-header {
	display: block;
}
.l-modal-theater .modal-body {
	overflow-y: auto;
	min-height: 150px;
}
.l-modal-theater .modal-footer {
	justify-content: center;
	flex-shrink: 0;
}

.l-modal-theater .c-sponsor-category {
	margin-bottom: 10px;
}
.l-modal-theater .modal-header .time {
	font-size: 14px;
}
.l-modal-theater .modal-header .h {
	font-weight: 700;
	color: inherit;
}
.l-modal-theater .modal-header .h em {
	display: block;
	font-size: 18px;
	line-height: 1.5;
}
.l-modal-theater .modal-header .h span {
	display: block;
	margin-top: 5px;
	font-size: 14px;
	line-height: 1.5;
}
.l-modal-theater .modal-header p {
	margin-top: 5px;
	font-size: 14px;
}
.l-modal-theater .modal-body {
	font-size: 14px;
}
.l-modal-theater .modal-body .detail a {
	text-decoration: underline;
	color: inherit;
}
.l-modal-theater .modal-body .detail a:hover {
	color: var(--color-primary-hover);
}
.l-modal-theater .modal-body .speaker {
	margin-top: 30px;
	font-size: 12px;
}
.l-modal-theater .modal-body .speaker ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -15px -20px -15px;
}
.l-modal-theater .modal-body .speaker li {
	flex-basis: 50%;
	margin-bottom: 30px;
	padding: 0 15px;
}
@media (min-width: 768px) {
	.l-modal-theater .modal-dialog {
		margin: 0 auto;
	}
	.l-modal-theater .outer {
		padding: 30px 30px;
		height: auto;
	}
	.l-modal-theater .modal-header {
		padding: 25px 25px 20px 25px;
	}
	.l-modal-theater .modal-content {
		height: auto;
		min-height: initial;
	}
	.l-modal-theater .modal-body {
		padding: 20px 25px;
		height: 34vh;
		max-height: 240px;
	}
}

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

	MODAL ASSESSMENT

*/
.l-modal-assessment .modal-dialog {
	margin: 0;
	max-width: initial;
	width: 100vw;
}
.l-modal-assessment .outer {
	margin: 0 auto;
	padding: 23px;
	width: 100vw;
	max-width: 756px;
}
.l-modal-assessment .modal-content {
	padding: 0;
}
.l-modal-assessment .modal-body {
	padding: 0;
}
.l-modal-assessment .btn-close {
	position: absolute;
	top: 10px;
	right: 10px;
}
.l-modal-assessment .header {
	padding: 20px 15px;
	font-weight: 700;
	font-size: 14px;
}
.l-modal-assessment .header .point {
	position: relative;
	margin: 5px 0;
	padding-left: 20px;
	color: var(--color-primary);
}
.l-modal-assessment .header .point span {
	display: inline-block;
}
.l-modal-assessment .header .point::before {
	content: '';
	display: block;
	position: absolute;
	top: 4px;
	left: 0;
	width: 16px;
	height: 16px;
	background-position: center;
	background-repeat: no-repeat;
	background-image: url(../img/icon-coin.svg);
	background-size: contain;
}
.l-modal-assessment .header .title {
	margin-top: 5px;
	flex-basis: 100%;
	font-size: 16px;
}
.l-modal-assessment .badge {
	margin-right: 1em;
	padding: 1px 8px 3px 8px;
	font-weight: 400;
	font-style: normal;
	font-size: 14px;
	line-height: 1.5;
	border-radius: 4px;
}
.l-modal-assessment .badge-required {
	background-color: #DC3545;
}
.l-modal-assessment .badge-optional {
	background-color: #6C757D;
}
.l-modal-assessment .invalid-feedback {
	flex-basis: 100%;
	width: auto;
	margin: 10px 0 0 0;
	font-size: inherit;
	color: #FF0000;
}
.l-modal-assessment .invalid-feedback.is-invalid {
	display: block;
}
.l-modal-assessment .block {
	padding: 20px 15px;
	border-top: 1px solid #A0BBCC;
	font-size: 14px;
}
.l-modal-assessment .block.is-invalid {
	background-color: #FFF2F2;
}
.l-modal-assessment .head {
	margin-bottom: 10px;
}
.l-modal-assessment .head span {
	display: block;
	margin-top: 10px;
	padding-top: 1px;
	flex: 1;
}
.l-modal-assessment .list {
	margin: 0;
}
.l-modal-assessment .list li {
	margin-bottom: 10px;
}
.l-modal-assessment .list label {
	position: relative;
	padding: 0 0 0 1.5em;
	line-height: 1.6;
}
.l-modal-assessment .list label input {
	position: absolute;
	top: 0;
	left: 0;
	font-size: 16px;
}
.l-modal-assessment .check-type01 ul li {
	margin-bottom: 10px;
}
.l-modal-assessment .check-type01 label {
	position: relative;
	padding: 0 0 0 1.5em;
	line-height: 1.6;
}
.l-modal-assessment .check-type01 input {
	position: absolute;
	top: 0;
	left: 0;
	font-size: 16px;
}
.l-modal-assessment textarea {
	height: 10em;
}
.l-modal-assessment .foot {
	display: flex;
	justify-content: center;
	padding: 20px 0;
}
.l-modal-assessment .assessment-complete {
	padding: 50px 0 30px 0;
	text-align: center;
}
.l-modal-assessment .assessment-complete .h {
	font-weight: 700;
	font-size: 18px;
}
.l-modal-assessment .assessment-complete .icon {
	margin: 30px auto 30px auto;
	width: 130px;
}
.l-modal-assessment .assessment-complete p {
	margin-bottom: 10px;
	font-size: 14px;
}
@media (min-width: 768px) {
	.l-modal-assessment .header {
		display: flex;
		flex-wrap: wrap;
		gap: 10px 15px;
		padding: 30px 30px 20px 30px;
	}
	.l-modal-assessment .header .point {
		margin: 0;
	}
	.l-modal-assessment .header .title {
		margin: 0;
	}
	.l-modal-assessment .block {
		padding: 20px 30px;
	}
	.l-modal-assessment .head {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		margin-bottom: 15px;
	}
	.l-modal-assessment .head span {
		margin: 0;
	}
	.l-modal-assessment .check-type01 {
		margin: 20px 0 0 0;
		font-size: 14px;
	}
	.l-modal-assessment .check-type01 ul {
		display: flex;
		justify-content: space-between;
		line-height: 1.3;
	}
	.l-modal-assessment .check-type01 ul li {
		display: flex;
		justify-content: center;
		position: relative;
		width: 100%;
		text-align: center;
	}
	.l-modal-assessment .check-type01 ul li::before {
		content: '';
		display: block;
		position: absolute;
		top: 6px;
		left: 0;
		right: 0;
		height: 8px;
		background-color: #DEE2E6;
	}
	.l-modal-assessment .check-type01 ul li:first-child::before {
		left: 50%;
	}
	.l-modal-assessment .check-type01 ul li:last-child::before {
		right: 50%;
	}
	.l-modal-assessment .check-type01 label {
		position: relative;
		display: block;
		padding: 0;
	}
	.l-modal-assessment .check-type01 input {
		position: static;
		display: block;
		margin: 2px auto 10px auto;
		width: 16px;
		height: 16px;
		border: 2px solid #DEE2E6;
	}
	.l-modal-assessment textarea {
		height: 7em;
	}
	.l-modal-assessment .foot {
		padding: 20px 0 40px 0;
	}
	.l-modal-assessment .assessment-complete {
		padding: 70px 0 50px 0;
	}
	.l-modal-assessment .assessment-complete .h {
		font-size: 24px;
	}
	.l-modal-assessment .assessment-complete .icon {
		margin: 30px auto 50px auto;
	}
	.l-modal-assessment .assessment-complete p {
		margin-bottom: 30px;
	}
}

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

	[ LAYOUT ] [ MODAL ] THEATER

*/
.l-modal-howto-clip[aria-hidden="true"] {
	overflow: hidden;
	display: block !important;
	height: 0;
}
.l-modal-howto-clip .modal-dialog {
	margin: 0;
	margin-right: auto;
	margin-left: auto;
	max-width: 1032px;
	height: 100%;
}
.l-modal-howto-clip .outer {
	display: flex;
	width: 100%;
	height: 100%;
	margin: auto;
	padding: 40px 23px 0 23px;
}
.l-modal-howto-clip .modal-content {
	margin: auto;
	background-color: transparent;
}
.l-modal-howto-clip .slider {
	margin-bottom: 40px;
	background-color: #FFF;
}
.l-modal-howto-clip .block .video .player {
	position: relative;
	padding-top: calc(1080 / 1258 * 100%);
	width: 100%;
	height: 0;
}
.l-modal-howto-clip .block .video video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.l-modal-howto-clip .block .detail {
	position: relative;
	padding: 30px 20px 0 20px;
	height: 270px;
	font-size: 12px;
}
.l-modal-howto-clip .block .detail .label {
	display: flex;
	font-size: 12px;
}
.l-modal-howto-clip .block .detail .label span {
	display: block;
	padding: 0 2em 0.1em 2em;
	border-radius: 999px;
	background-color: #4D809F;
	color: #FFF;
}
.l-modal-howto-clip .block .detail h2 {
	margin: 15px 0 10px 0;
	font-weight: 700;
	font-size: 14px;
}
.l-modal-howto-clip .block .detail .note {
	margin-top: 15px;
	font-size: 11px;
	color: #809AA2;
}
.l-modal-howto-clip .block .detail .device-note {
	position: relative;
	padding-left: 50px;
	margin-top: 15px;
	font-size: 11px;
	color: #809AA2;
}
.l-modal-howto-clip .block .detail .device-note::before {
	content: '';
	display: block;
	position: absolute;
	top: -4px;
	left: 0;
	width: 40px;
	height: 20px;
	background-image: url(../img/icon-device.svg);
	background-size: contain;
}
.l-modal-howto-clip .block .detail .foot {
	display: flex;
	gap: 15px;
	position: absolute;
	bottom: 50px;
	right: 20px;
}
.l-modal-howto-clip .block .detail .foot .c-btn-primary {
	background-color: #7D44CF;
	border: 1px solid #7D44CF;
}
.l-modal-howto-clip .block .detail .foot .c-btn-primary:hover {
	border-color: #56269b;
	background-color: #56269b;
}
.l-modal-howto-clip .block .detail .foot .c-btn-outline-primary {
	border-color: #7D44CF;
	color: #7D44CF;
}
.l-modal-howto-clip .block .detail .foot .c-btn-outline-primary:hover {
	background-color: #7D44CF;
	color: #fff;
}
.l-modal-howto-clip .slick-slide {
	min-height: initial;
	height: auto !important;
}
.l-modal-howto-clip .slick-dots {
	position: absolute;
	bottom: 20px;
	left: 20px;
	right: 20px;
	display: flex;
	justify-content: center;
	gap: 10px;
}
.l-modal-howto-clip .slick-dots button {
	overflow: hidden;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background-color: #d9d9d9;
	text-indent: -999em;
}
.l-modal-howto-clip .slick-dots .slick-active button {
	background-color: #7D44CF;
}
.l-modal-howto-clip .close {
	position: absolute;
	bottom: 100%;
	right: -5px;
	width: 30px;
	height: 30px;
	background-position: center;
	background-repeat: no-repeat;
	background-image: url(../img/icon-close-white.svg);
	background-size: 20px 20px;
}
@media (min-width: 600px) {
	.l-modal-howto-clip .modal-dialog {
		max-width: 678px;
	}
	.l-modal-howto-clip .block {
		display: flex;
		flex-direction: row-reverse;
	}
	.l-modal-howto-clip .block .video {
		flex-basis: 270px;
	}
	.l-modal-howto-clip .block .detail {
		flex: 1;
		padding: 20px 20px 0 20px;
		height: 220px;
	}
	.l-modal-howto-clip .block .detail h2 {
		margin: 10px 0 10px 0;
	}
	.l-modal-howto-clip .block .detail .foot {
		bottom: 0;
	}
	.l-modal-howto-clip .slick-dots {
		right: auto;
	}
}
@media (min-width: 768px) {
	.l-modal-howto-clip .block .video {
		flex-basis: 324px;
	}
	.l-modal-howto-clip .block .detail {
		padding: 50px 20px 0 20px;
		height: 254px;
	}
	.l-modal-howto-clip .block .detail h2 {
		margin: 15px 0 10px 0;
	}
}
@media (min-width: 1024px) {
	.l-modal-howto-clip .modal-dialog {
		max-width: 1033px;
	}
	.l-modal-howto-clip .block .video {
		flex-basis: 494px;
	}
	.l-modal-howto-clip .block .detail {
		padding: 120px 40px 0 40px;
		height: 382px;
		font-size: 14px;
	}
	.l-modal-howto-clip .block .detail h2 {
		margin: 15px 0;
		font-size: 20px;
	}
	.l-modal-howto-clip .block .detail .foot {
		right: 40px;
		gap: 30px;
	}
	.l-modal-howto-clip .slick-dots {
		left: 40px;
		bottom: 30px;
	}
}

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

	[ LAYOUT ] [ MODAL ] LOTTERY

*/
.l-modal-lottery .modal-dialog {
	margin: 0 auto;
	max-width: 358px;
	height: 100%;
}
.l-modal-lottery .outer {
	width: 100%;
	margin: auto;
	padding: 40px 15px;
}
.l-modal-lottery .modal-content {
	background-color: transparent;
}
.l-modal-lottery .frame {
	overflow: hidden;
	height: 416px;
	background-color: var(--color-primary);
	border-radius: 9px;
	text-align: center;
	line-height: 1.3;
}
.l-modal-lottery .frame img {
	width: 100%;
}
.l-modal-lottery .frame h2 {
	padding: 15px 0;
}
.l-modal-lottery .frame h2 em {
	display: block;
	font-weight: 800;
	font-size: 24px;
}
.l-modal-lottery .frame h2 span {
	display: block;
	margin-top: 15px;
	font-weight: 700;
	font-size: 14px;
}
.l-modal-lottery .frame dl {
	color: #FFF;
}
.l-modal-lottery .frame dt {
	font-weight: 400;
	font-size: 12px;
}
.l-modal-lottery .frame dd {
	font-weight: 800;
	font-size: 24px;
}
.l-modal-lottery .frame .foot {
	display: flex;
	justify-content: center;
	margin-top: 25px;
}
.l-modal-lottery .modal-content .close {
	position: absolute;
	top: -40px;
	right: 0;
	font-size: 40px;
	line-height: 1;
	color: #FFF;
}
.l-modal-lottery .loader {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100%;
}
.l-modal-lottery .loader .loading {
	margin: 0 auto;
	width: 60px;
	height: 60px;
	background-image: url(../img/loading-bg.svg);
	background-size: contain;
}
.l-modal-lottery .loader .loading::after {
	content: '';
	display: block;
	width: 60px;
	height: 60px;
	background-image: url(../img/loading.svg);
	background-size: contain;
	animation: animRotate 1s infinite linear;
}
.l-modal-lottery .loader h2 {
	margin-top: 30px;
	color: #FFF;
}
.l-modal-lottery .result h2 {
	padding: 30px 0 20px 0;
	color: #FFF;
}
.l-modal-lottery .result .item {
	margin: 0 auto;
	width: 100px;
}
.l-modal-lottery .result .name {
	margin: 30px 0;
	font-weight: 800;
	font-size: 14px;
	color: #FFF;
}
.l-modal-lottery .result .lead {
	font-weight: 700;
	font-size: 14px;
}
.l-modal-lottery .result .lead span {
	color: #FFF;
}
.l-modal-lottery .result .c-btn-close {
	background-color: #FFF;
	color: var(--color-primary);
}
.l-modal-lottery .point-short {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 20px 0;
	height: 100%;
	font-size: 14px;
	color: #FFF;
}
.l-modal-lottery .point-short .icon {
	margin: 0 auto;
	width: 60px;
}
.l-modal-lottery .point-short .icon img {
	width: 100%;
}
.l-modal-lottery .point-short h2 {
	padding: 10px 0 0 0;
	font-weight: 700;
	font-size: 16px;
}
.l-modal-lottery .point-short dl {
	margin: 20px 0 15px 0;
}
.l-modal-lottery .point-short dt {
	font-size: 14px;
}
.l-modal-lottery .point-short h3 {
	margin: 20px 0;
	font-weight: 700;
}
.l-modal-lottery .point-short .foot {
	margin: 0;
}
.l-modal-lottery .point-short .foot .c-btn {
	background-color: #FFF;
	color: var(--color-blue-square);
}
@media (min-width: 768px) {
	.l-modal-lottery-about .outer {
		padding: 30px 30px;
	}
	.l-modal-lottery .modal-dialog {
		margin: 0 auto;
	}
	.l-modal-lottery .modal-content {
		width: 358px;
	}
}

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

	[ LAYOUT ] [ MODAL ] LOTTERY INPUT

*/
.l-modal-lottery-input .frame {
	padding: 15px;
	height: auto;
}
.l-modal-lottery-input .input {
	text-align: left;
	font-size: 14px;
}
.l-modal-lottery-input .input h2 {
	padding: 0;
	font-size: 14px;
}
.l-modal-lottery-input .input h2 span {
	margin: 0 0 10px 0;
}
.l-modal-lottery-input .input h2 em {
	font-size: 24px;
}
.l-modal-lottery-input .input .text {
	margin: 15px 0;
}
.l-modal-lottery-input .input .th {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 15px 0 5px 0;
	font-weight: 700;
}
.l-modal-lottery-input .input .th .badge-required {
	padding: 1px 8px 3px 8px;
    font-weight: 700;
    font-style: normal;
    font-size: 12px;
    line-height: 1.5;
    border-radius: 4px;
	background-color: #DC3545;
}
.l-modal-lottery-input .input .invalid-feedback {
	margin: 5px 0 0 0;
	padding: 5px 10px 6px 10px;
	background-color: #F4D6E3;
	font-weight: 700;
	font-size: 14px;
}
.l-modal-lottery-input .input textarea {
	resize: none;
	height: 6em;
}
@media (min-width: 768px) {
	.l-modal-lottery-input .frame {
		padding: 30px;
	}
}


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

	[ LAYOUT ] [ MODAL ] LOTTERY

*/
.l-modal-industry-recap .modal-dialog {
	margin: 0 auto;
	max-width: 580px;
	height: 100%;
}
.l-modal-industry-recap .outer {
	width: 100%;
	margin: auto;
	padding: 40px 15px;
}
.l-modal-industry-recap .modal-content {
	background-color: transparent;
}
.l-modal-industry-recap .modal-content .close {
	position: absolute;
	top: -40px;
	right: 0;
	font-size: 40px;
	line-height: 1;
	color: #FFF;
}
.l-modal-industry-recap .frame {
	overflow: hidden;
	background-color: #FFF;
	text-align: left;
	font-size: 14px;
	line-height: 1.3;
}
.l-modal-industry-recap .head {
	padding: 15px;
	background-color: var(--color-blue-square);
	font-weight: 800;
}
.l-modal-industry-recap .head h2 span {
	font-size: 16px;
	color: #FFF;
}
.l-modal-industry-recap .head h2 em {
	display: block;
	font-size: 24px;
}
.l-modal-industry-recap .detail {
	padding: 15px 15px 25px 15px;
}
.l-modal-industry-recap .input .detail h3 {
	margin: 0 0 10px 0;
	font-weight: 700;
}
.l-modal-industry-recap .input .detail .th {
	position: relative;
	padding: 0 50px 0 0;
}
.l-modal-industry-recap .input .detail .th .badge-required {
	position: absolute;
	top: 0;
	right: 0;
	padding: 1px 8px 3px 8px;
    font-weight: 700;
    font-style: normal;
    font-size: 12px;
    line-height: 1.5;
    border-radius: 4px;
	background-color: #DC3545;
}
.l-modal-industry-recap .input .detail ul {
	margin: 10px 0;
}
.l-modal-industry-recap .input .detail ul li:not(:last-child) {
	margin: 0 0 10px 0;
}
.l-modal-industry-recap .input .detail label {
	position: relative;
	display: block;
	padding: 0 0 0 20px;
}
.l-modal-industry-recap .input .detail label input {
	position: absolute;
	top: 0;
	left: 0;
}
.l-modal-industry-recap .complete .detail {
	text-align: center;
}
.l-modal-industry-recap .complete .detail h3 {
	font-weight: 700;
}
.l-modal-industry-recap .complete .detail h3 em {
	display: block;
	margin: 5px 0 0 0;
	font-size: 16px;
}
.l-modal-industry-recap .complete .detail .icon {
	margin: 20px 0;
}
.l-modal-industry-recap .complete .detail .icon img {
	width: 74px;
}
.l-modal-industry-recap .complete .detail .subhead {
	margin: 10px 0 20px 0;
	font-weight: 700;
}
.l-modal-industry-recap .complete .detail .left {
	margin: 0 auto;
	max-width: 430px;
	text-align: left;
}
.l-modal-industry-recap .invalid-feedback {
	display: block;
	font-size: 14px;
}
.l-modal-industry-recap .foot {
	display: flex;
	justify-content: center;
	margin: 20px 0 0 0;
}
@media (min-width: 768px) {
	.l-modal-industry-recap .head {
		padding: 20px 25px;
	}
	.l-modal-industry-recap .detail {
		padding: 20px 25px 30px 25px;
	}
	.l-modal-industry-recap .input .detail .th {
		display: flex;
		align-items: center;
		gap: 10px;
		padding: 0;
	}
	.l-modal-industry-recap .input .detail .th .badge-required {
		position: static;
	}
}

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

	[ LAYOUT ] [ MODAL ] PRIZE REDEEM

*/
.l-modal-prize-redeem .modal-dialog {
	margin: 0 auto;
	max-width: 360px;
	height: 100%;
}
.l-modal-prize-redeem.modal-static .modal-dialog {
	transform: none !important;
}
.l-modal-prize-redeem .outer {
	width: 100%;
	margin: auto;
	padding: 23px 15px;
}
.l-modal-prize-redeem .modal-content {
	padding: 25px 15px 30px 15px;
	border-radius: 10px;
}
.l-modal-prize-redeem .heading {
	margin-bottom: 20px;
	text-align: center;
	font-weight: 700;
	font-size: 22px;
}
.l-modal-prize-redeem .frame {
	padding: 20px 15px;
	border: 2px solid #FD0000;
	border-radius: 12px;
	background-color: #FFF3F3;
	text-align: center;
	color: #FF0000;
}
.l-modal-prize-redeem .frame .icon {
	margin: 0 auto;
	width: 90px;
}
.l-modal-prize-redeem .frame .icon img {
	width: 100%;
}
.l-modal-prize-redeem .frame dl {
	margin: 15px 0 0 0;
	line-height: 1.3;
}
.l-modal-prize-redeem .frame dt {
	font-weight: 700;
	font-size: 24px;
}
.l-modal-prize-redeem .frame dd {
	margin: 15px 0 0 0;
	font-weight: 700;
	font-size: 18px;
}
.l-modal-prize-redeem .foot {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 25px;
	margin-top: 20px;
}

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

	[ LAYOUT ] [ MODAL ] DOWNLOAD

*/
.l-modal-download .modal-dialog {
	margin: 0 auto;
	max-width: 680px;
}
.l-modal-download .outer {
	width: 100%;
	margin: 0 auto;
	padding: 45px 15px 25px 15px;
}
.l-modal-download .modal-content {
	padding: 20px;
	font-size: 14px;
	border-radius: 5px;
}
.l-modal-download .modal-content .head {
	padding-bottom: 15px;
	border-bottom: 1px solid #C5CCCF;
	font-size: 14px;
}
.l-modal-download .modal-content .head h2 {
	margin-bottom: 5px;
	font-weight: 700;
	font-size: 20px;
	line-height: 1.2;
}
.l-modal-download .modal-content .list {
	margin: 0 0 10px 0;
}
.l-modal-download .modal-content .list li {
	padding: 15px 0 0 0;
}
.l-modal-download .modal-content .list .item {
	position: relative;
}
.l-modal-download .modal-content .list .badge {
	padding: 1px 8px 3px 8px;
	font-weight: 400;
	font-style: normal;
	font-size: 14px;
	line-height: 1.5;
	border-radius: 4px;
	background-color: #DC3545;
}
.l-modal-download .modal-content .list label {
	display: block;
	position: relative;
	margin: 8px 0 0 0;
	padding: 0 0 0 1.5em;
}
.l-modal-download .modal-content .list label input {
	position: absolute;
	top: 0;
	left: 0;
	font-size: 16px;
}
.l-modal-download .modal-content .agree {
	font-size: 12px;
}
.l-modal-download .modal-content .agree a {
	color: var(--color-blue-square);
}
.l-modal-download .modal-content .agree a:hover {
	text-decoration: underline;
}
.l-modal-download .modal-content .foot {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 15px;
	margin-top: 20px;
}
.l-modal-download .modal-content .foot .c-btn:disabled {
	opacity: 0.5;
	pointer-events: none;
	cursor: default;
}
.l-modal-download .modal-content .close {
	position: absolute;
	top: -40px;
	right: 0;
	font-size: 40px;
	line-height: 1;
	color: #FFF;
}
@media (min-width: 768px) {
	.l-modal-download .modal-content {
		padding: 30px 45px 40px 45px;
	}
	.l-modal-download .modal-content .list {
		margin: 0 0 20px 0;
	}
	.l-modal-download .modal-content .list .item {
		padding-right: 55px;
	}
	.l-modal-download .modal-content .list .badge {
		position: absolute;
		top: 0;
		right: 0;
	}
	.l-modal-download .modal-content .foot {
		flex-direction: row;
		justify-content: flex-start;
	}
}

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

	[ LAYOUT ] [ SESSION ] ARCHIVE (アーカイブ)

*/
.l-session-archive {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	gap: 20px 0;
	margin-bottom: 40px;
}
.l-session-archive:last-child {
	margin-bottom: 0;
}

@media (min-width: 768px) {
	.l-session-archive {
		flex-direction: row;
		gap: 30px 0;
		margin-left: -15px;
		margin-right: -15px;
	}
	.l-session-archive .item {
		flex-basis: 50%;
		padding: 0 15px;
	}
}

@media (min-width: 1080px) {
	.l-session-archive {
		margin-left: -20px;
		margin-right: -20px;
		gap: 40px 0;
	}
	.l-session-archive .item {
		padding: 0 20px;
		flex-basis: 33.333%;
	}
}

@media (min-width: 1380px) {
	.l-session-archive .item {
		flex-basis: 25%;
	}
}

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

	[ LAYOUT ] [ SESSION ] RELATED (関連セッション)

*/
.l-session-related {
	margin: 0;
	padding: 40px 0 50px 0;
	background-color: #F7F9FA;
}
.l-session-related .heading {
	margin-bottom: 30px;
	text-align: center;
	font-weight: 700;
	font-size: 28px;
}

@media (min-width: 768px) {
	.l-session-related {
		padding: 40px 0 70px 0;
	}
	.l-session-related .heading {
		font-size: 36px;
	}
}

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

	[ LAYOUT ] [ SESSION ] SLIDER (スライダー)

*/
.l-session-slider {
	margin: 0 30px;
}
.l-session-slider .slick-list {
	overflow: visible;
}
.l-session-slider .slick-track {
  display: flex;
}
.l-session-slider .slick-slide {
  height: auto !important;
}
.l-session-slider .slick-arrow {
	overflow: hidden;
	position: absolute;
	z-index: 1;
	top: 50%;
	width: 30px;
	height: 30px;
	text-indent: -999px;
	background-color: rgba(0,0,0,0.2);
	background-size: contain;
	border-radius: 50%;
	margin-top: -15px;
}
.l-session-slider .slick-prev {
	left: -25px;
	background-image: url(../img/icon-arrow-prev.svg);
}
.l-session-slider .slick-next {
	right: -25px;
	background-image: url(../img/icon-arrow-next.svg);
}
.l-session-slider .timeline-card,
.l-session-slider .video-card {
	margin: 0 10px;
}
@media (min-width: 1024px) {
	.l-session-slider {
		margin: 0 75px;
	}
	.l-session-slider .slick-arrow {
		width: 40px;
		height: 40px;
		margin-top: -20px;
	}
	.l-session-slider .slick-prev {
		left: -20px;
	}
	.l-session-slider .slick-next {
		right: -20px;
	}
	.l-session-slider .timeline-card,
	.l-session-slider .video-card {
		margin: 0 25px;
	}
}

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

	[ LAYOUT ] [ SESSION ] DAYS (日付アンカー)

*/
.l-session-days {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin: 30px 0 10px 0;
}
.l-session-days li {
	display: flex;
	justify-content: center;
}
.l-session-days .c-btn {
	padding-bottom: 0.16em;
}

@media (min-width: 768px) {
	.l-session-days {
		flex-direction: row;
		margin: 40px 0 20px 0;
	}
}

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

	SESSION LAYOUT
	絞り込み
	768px以下 モーダル配置
	768px以上 通常配置
	1367px以上 左固定配置
	タイムテーブル
	1200px以下 縦配置
	1200px以上 カラム配置
*/
.session-container {
	position: relative;
	padding: 30px 23px;
	min-height: 100vh;
}

@media (min-width: 768px) {
	.session-container {
		padding: 30px 30px;
	}
}

@media (min-width: 1024px) {
	.session-container {
		padding: 50px 60px 60px 60px;
	}
}

@media (min-width: 1367px) {
	.session-container {
		padding: 40px 30px 60px 250px;
	}
}

@media (min-width: 1580px) {
	.session-container {
		padding: 40px 30px 60px 300px;
	}
}

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

	SESSION SEARCH

*/
.session-search {
	display: none;
	position: fixed;
	z-index: 90;
	inset: 0;
	top: 74px;
	margin: 0;
	padding: 20px 10px 30px 10px;
	overflow-y: auto;
	font-size: 16px;
}
.session-search .outer {
	position: relative;
	padding: 50px 20px 20px 20px;
	background-color: rgba(0,0,0,0.8);
	border-radius: 8px;
	color: #fff;
}
.session-search .state-checker {
	display: none;
}
.session-search h2 {
	font-weight: 700;
	text-align: center;
}
.session-search .btn-close {
	position: absolute;
	top: 10px;
	right: 20px;
	width: auto;
	height: auto;
	background-image: none;
	opacity: 1;
	color: #fff;
}
.session-search .btn-close::before {
	content: '閉じる';
}
.session-search-button {
	position: fixed;
	z-index: 10;
	top: max(84px, 24vh);
	right: 0;
}
.session-search-button button {
	display: block;
	padding-top: 4px;
	width: 78px;
	height: 78px;
	background-color: rgba(41,181,232,0.5);
	border-radius: 7px 0 0 7px;
	text-align: center;
	font-weight: 800;
	font-size: 14px;
	box-shadow: 0 4px 4px rgba(0,0,0,0.25);
	color: #000;
	line-height: 1;
}
.session-search-button button span {
	display: block;
}
.session-search-button button span::before {
	content: '';
	display: block;
	margin: 0 auto 8px auto;
	width: 30px;
	height: 30px;
	background-image: url(../img/icon-search.svg);
	background-size: contain;
}
.session-search .result-count {
	padding: 5px 0 10px 0;
	text-align: center;
	font-size: 12px;
}
.session-search .result-count em {
	display: block;
	font-weight: 700;
	font-size: 24px;
	line-height: 1.2;
}
.session-search .search-form {
	position: relative;
	margin: 10px 0 20px 0;
}
.session-search .search-form .form-control {
	padding-left: 28px;
	background-repeat: no-repeat;
	background-position: 8px 50%;
	background-image: url(../img/icon-search.svg);
	background-size: 15px 15px;
}
.session-search .block {
	padding: 0 0 20px 0;
}
.session-search h2 + .block {
	margin-top: 10px;
}
.session-search h3 {
	margin: 0;
	font-weight: 700;
}
.session-search h3 button {
	font-weight: inherit;
	font-size: inherit;
}
.session-search h3 button::after {
	background-image: url(../img/icon-arrow-toggle-white.svg) !important;
}
.session-search h4 {
	margin: 15px 0 0 0;
	font-weight: 700;
	font-size: 16px;
}
.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 h4 + .list {
	padding: 5px 0 0 0;
}
.session-search .list.bold {
	font-weight: 700;
}
.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.1em;
	left: 0;
	margin: 0;
	font-size: 16px;
}
.session-search .view-all-top {
	display: flex;
	justify-content: center;
	margin: 10px 0 20px 0;
}
.session-search .view-all-top button {
	background-color: transparent;
	border-color: #fff;
	color: #fff;
}
.session-search .view-all-bottom {
	display: none;
}

@media (min-width: 768px) {
	.session-search {
		position: static;
		display: block !important;
		margin: 30px 0 0 0;
		padding: 20px;
		border: 1px solid #D2D1D4;
		border-radius: 8px;
	}
	.session-search .state-checker {
		display: block;
	}
	.session-search .outer {
		padding: 0;
		background-color: transparent;
		border-radius: 0;
		color: inherit;
	}
	.session-search h2 {
		text-align: left;
	}
	.session-search .result-count {
		padding: 5px 0 20px 0;
		text-align: left;
	}
	.session-search .result-count em {
		display: inline;
		padding-right: 5px;
	}
	.session-search h3 button::after {
		background-image: url(../img/icon-arrow-toggle.svg) !important;
	}
	.session-search .block {
		padding: 0 0 15px 0;
	}
	.session-search .btn-close {
		display: none;
	}
	.session-search-button {
		display: none;
	}
	.session-search .view-all-top {
		display: none;
	}
	.session-search .view-all-bottom {
		display: flex;
		justify-content: center;
	}
}

@media (min-width: 1024px) {
	.session-search {
		margin: 40px 0 0 0;
		padding: 30px;
	}
}

@media (min-width: 1367px) {
	.session-search {
		display: block !important;
		position: fixed;
		z-index: 50;
		top: 75px;
		overflow-y: auto;
		margin: 0 !important;
		padding: 40px 0 0 20px;
		width: 220px;
		background-color: #E2E5E7;
		border: 0;
		border-radius: 0;
		opacity: 1 !important;
	}
	.limit-search .session-search {
		position: absolute;
		top: auto !important;
		height: calc(100vh - 75px);
		height: calc(100dvh - 75px);
	}
	.session-search .outer {
		padding-bottom: 50px;
		width: 170px;
	}
	.session-search .result-count {
		padding: 10px 0 25px 0;
	}
	.session-search .search-form {
		margin: 0 0 30px 0;
	}
	.session-search .block {
		padding: 0 0 20px 0;
	}
	.session-search .list {
		display: block;
		margin: 0;
		padding: 10px 0 0 0;
	}
	.session-search h4 + .list {
		padding: 5px 0 0 0;
	}
	.session-search .list li {
		padding: 0 0 10px 0;
	}
}

@media (min-width: 1580px) {
	.session-search {
		padding: 40px 0 60px 30px;
		width: 270px;
	}
	.session-search .outer {
		width: 210px;
	}
}

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

	TIMELINE CARD

*/
.timeline-card {
	display: flex;
	flex-direction: column;
	padding: 15px;
	height: 100%;
	background-color: #fff;
	border: 1px solid #E2E5E7;
	border-radius: 6px;
	font-size: 14px;
	line-height: 1.5;
	color: inherit;
}
.timeline-card.is-live {
	padding: 11px;
	background-color: #E8F9FF;
	border: 4px solid var(--color-primary);
}
.timeline-card .timeline-card-body {
	flex: 1;
	padding-bottom: 10px;
}
.timeline-card .date {
	display: flex;
	align-items: center;
	gap: 15px;
	margin-bottom: 5px;
}
.timeline-card .time {
	position: relative;
	display: flex;
	align-items: center;
	gap: 5px;
}
.timeline-card .time input {
	display: block;
	position: relative;
	top: 0.1em;
	margin: 0;
	width: 16px;
	height: 16px;
}
.timeline-card .head {
	display: flex;
	align-items: center;
	gap: 15px;
	margin: 0 0 3px 0;
}
.timeline-card .c-badge {
	margin-top: 2px;
}
.timeline-card .title {
	margin-top: 8px;
	font-weight: 700;
	line-height: 1.3;
}
.timeline-card .title a,
.timeline-card .title button {
	display: block;
	text-align: left;
	font-weight: inherit;
	color: inherit;
}
.timeline-card .title a:hover,
.timeline-card .title button:hover {
	color: var(--color-primary);
}
.timeline-card .title em {
	display: block;
	font-size: 16px;
}
.timeline-card .title span {
	display: block;
	margin-top: 10px;
	font-size: 13px;
}
.timeline-card .company {
	margin: 7px 0;
	line-height: 1.3;
}
.timeline-card .company li {
	padding: 3px 0;
}
.timeline-card .c-lunch {
	margin: 10px 0;
}
.timeline-card .c-session-property {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 5px 0;
}
.timeline-card .c-session-status {
	margin-top: 10px;
}

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

	TIMELINE

*/
.responsive-timetable-checker {
	display: none;
}
.timeline-section {
	margin-bottom: 20px;
	border-bottom: 1px solid #E2E5E7;
}
.timeline-wrap {
	background-color: #E2E5E7;
}
.timeline-time {
	display: none;
}
.timeline-list .timeline-card {
	border-radius: 0;
	border-bottom: 0;
}
.timeline-list .timeline-card.is-live {
	border: 4px solid var(--color-primary);
}
.timeline-list .timeline-card .head {
	margin: 3px 0 3px 0;
}
.timeline-list .timeline-card .form-check-input {
	border-color: #444;
}
.timeline-list .timeline-card .form-check-input:checked {
	border-color: var(--color-blue-square);
}

.timeline-item {
	padding-bottom: 1px;
}

/* disabled */
.timeline-item.disabled .timeline-card {
	opacity: 0.15;	
}

.timeline-item .timeline-card .checked-message {
	position: absolute;
	top: 0;
	left: 0;
	width: 21px;
	height: 21px;
	opacity: 0;
	cursor: default;
}
.timeline-item .timeline-card .checked-message[area-hidden="true"] {
	display: none;
}

/* gs */
.timeline-list .timeline-item-gs {
	width: 100% !important;
}
.timeline-section-day2 .timeline-list .timeline-item-gs {
	width: 100% !important;
}
.timeline-list .timeline-item-gs .timeline-card {
	position: relative;
	padding: 0 !important;
	border: 3px solid var(--color-primary);
	background-color: #FFF !important;
}
.timeline-list .timeline-item-gs .timeline-card .time {
	flex-direction: row !important;
	align-items: center !important;
	gap: 5px;
}
.timeline-list .timeline-item-gs .head {
	display: flex;
	flex-wrap: wrap;
	gap: 0 10px !important;
	margin: 0 !important;
	padding: 10px 12px 0 12px;
}
.timeline-list .timeline-item-gs .head .time {
	font-weight: 400;
	color: #000;
}
.timeline-list .timeline-item-gs .head .id {
	font-weight: 400;
	color: #000;
}
.timeline-list .timeline-item-gs .title {
	margin: 2px 0 0 0;
	flex-basis: 100%;
	font-weight: 900;
	font-size: 26px;
}
.timeline-list .timeline-item-gs .detail {
	padding: 12px;
}
.timeline-list .timeline-item-gs .detail .info {
	display: flex;
	align-items: center;
	gap: 10px 15px;
	margin-bottom: 10px;
}
.timeline-list .timeline-item-gs .detail .info .c-session-status {
	margin: 0;
}
.timeline-list .timeline-item-gs .detail .info .c-badge {
	margin-top: -1px;
}
.timeline-list .timeline-item-gs .detail .info .c-badge span {
	padding: 0.2em 0.5em 0.28em 0.5em !important;
	padding-left: 1.83em !important;
}
.timeline-list .timeline-item-gs .detail .lead {
	margin-bottom: 10px;
	font-weight: 700;
	font-size: 14px;
	line-height: 2;
}

@media (min-width: 768px) {
	.timeline-section {
		margin-bottom: 40px;
	}
	.timeline-list .timeline-item-gs .title {
		margin: 0;
		font-size: 30px;
	}
	.p-mypage-sess-edit .timeline-list .timeline-item-gs .title {
		margin: 2px 0 0 0;
	}

	/* gs */
	.timeline-list .l-speaker li {
		flex-basis: 33.333%;
	}
}

@media (min-width: 1024px) {
	/* gs */
	.timeline-list .l-speaker li {
		flex-basis: 25%;
	}
}

@media (min-width: 1200px) {
	.responsive-timetable-checker {
		display: block;
	}
	.timeline-wrap {
		display: flex;
		align-items: flex-start;
		border: 1px solid #E2E5E7;
		border-bottom: 0;
	}
	.timeline-item {
		padding-bottom: 0;
	}
	.timeline-time {
		display: block;
		position: relative;
		width: 40px;
		text-align: center;
		font-weight: 700;
		font-size: 20px;
		flex-shrink: 0;
		height: 100%;
	}
	.timeline-time span {
		display: block;
		padding: 10px 0;
		position: absolute;
		inset: -1px;
		background-color: #fff;
		border: 1px solid #E2E5E7;
	}
	.timeline-list {
		position: relative;
		flex: 1;
	}
	.timeline-item {
		position: absolute;
		z-index: 1;
		width: calc(1 / 10 * 100%);
	}
	.timeline-list .timeline-card {
		margin: -1px -1px 0 0;
		padding: 4px;
		font-size: 10px;
	}
	.timeline-list .timeline-card.is-live {
		padding: 2px;
		border-width: 2px;
	}
	.timeline-list .timeline-card .time {
		flex-direction: column;
		align-items: flex-start;
	}
	.timeline-list .timeline-card .head {
		flex-direction: column;
		align-items: flex-start;
		gap: 3px;
	}
	.timeline-list .timeline-card .c-badge {
		font-size: 10px;
	}
	.timeline-list .timeline-card .c-badge span {
		padding: 0.2em 0.1em 0.28em 0.1em;
	}
	.timeline-list .timeline-card .c-badge--live span {
		padding-left: 1.83em !important;
	}
	.timeline-list .timeline-card .title em {
		font-size: 12px;
	}
	.timeline-list .timeline-card .title span {
		font-size: 10px;
	}
	.timeline-list .timeline-card .c-lunch {
		font-size: 10px;
	}
	.timeline-list .timeline-card .c-session-property {
		font-size: 11px;
	}
	.timeline-list .timeline-card .c-session-status {
		font-size: 12px;
	}

	/* gs */
	.timeline-list .timeline-item-gs .timeline-card {
		font-size: 14px !important;
	}
	.timeline-list .timeline-item-gs .head {
		flex-direction: row !important;
		padding: 17px 17px 0 17px;
	}
	.timeline-list .timeline-item-gs .title {
		font-size: 30px;
	}
	.timeline-list .timeline-item-gs .detail {
		padding: 17px 17px;
	}
	.timeline-list .timeline-item-gs .detail .info {
		gap: 10px 20px;
		margin-bottom: 10px;
	}
	.timeline-list .timeline-item-gs .detail .info .c-session-status {
		font-size: 14px;
	}
	.timeline-list .timeline-item-gs .detail .info .c-badge {
		margin-top: -1px;
		font-size: 12px;
	}
	.timeline-list .timeline-item-gs .detail .info .c-session-property {
		font-size: 14px;
	}
	.timeline-list .timeline-item-gs .detail .lead {
		font-size: 16px;
	}
	.timeline-list .l-speaker li {
		flex-basis: 20%;
	}
}

@media (min-width: 1280px) {
	.timeline-list .timeline-card .time {
		flex-direction: row;
		align-items: center;
	}
}

@media (min-width: 1580px) {
	.timeline-time {
		width: 54px;
		font-size: 20px;
	}
	.timeline-list .timeline-card {
		padding: 6px;
		font-size: 11px;
	}
	.timeline-list .timeline-card.is-live {
		padding: 3px;
		border-width: 3px;
	}
	.timeline-list .timeline-card .head {
		flex-direction: column;
		align-items: flex-start;
		gap: 3px;
	}
	.timeline-list .timeline-card .c-badge {
		font-size: 10px;
	}
	.timeline-list .timeline-card .c-badge span {
		padding: 0.2em 0.2em 0.28em 0.2em;
	}
	.timeline-list .timeline-card .title em {
		font-size: 13px;
	}
	.timeline-list .timeline-card .title span {
		font-size: 11px;
	}
	.timeline-list .timeline-card .c-lunch {
		font-size: 11px;
	}
	.timeline-list .timeline-card .c-session-property {
		font-size: 12px;
	}
	.timeline-list .timeline-card .c-session-status {
		font-size: 13px;
	}

	/* gs */
	.timeline-list .timeline-item-gs .title {
		font-size: 34px;
	}
	.timeline-list .timeline-item-gs .detail .lead {
		font-size: 18px;
	}

}

@media (min-width: 1780px) {
	.timeline-time {
		width: 54px;
		font-size: 20px;
	}
	.timeline-list .timeline-card {
		padding: 8px;
		font-size: 13px;
	}
	.timeline-list .timeline-card.is-live {
		padding: 5px;
		border-width: 3px;
	}
	.timeline-list .timeline-card .c-badge {
		font-size: 11px;
	}
	.timeline-list .timeline-card .c-badge span {
		padding: 0.2em 0.4em 0.28em 0.4em;
	}
	.timeline-list .timeline-card .title em {
		font-size: 14px;
	}
	.timeline-list .timeline-card .c-session-property {
		font-size: 13px;
	}
	.timeline-list .timeline-card .c-session-status {
		font-size: 14px;
	}
}

@media (min-width: 1860px) {
	.timeline-time {
		width: 54px;
		font-size: 20px;
	}
	.timeline-list .timeline-card {
		padding: 10px;
		font-size: 14px;
	}
	.timeline-list .timeline-card.is-live {
		padding: 6px;
		border-width: 4px;
	}
	.timeline-list .timeline-card .c-badge {
		font-size: 12px;
	}
	.timeline-list .timeline-card .title em {
		font-size: 16px;
	}
	.timeline-list .timeline-card .title span {
		font-size: 12px;
	}
	.timeline-list .timeline-card .c-session-property {
		font-size: 14px;
	}
	.timeline-list .timeline-card .c-session-status {
		font-size: 14px;
	}
}

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

	VIDEO CARD

*/
.video-card {
	overflow: hidden;
	display: flex;
	flex-direction: column;
	height: 100%;
	border: 1px solid #D5D5D5;
	border-radius: 6px;
}
.video-card.is-live {
	border: 4px solid #29B5E8;
	background-color: #E8F9FF;
}
.video-card.ended {
	opacity: 0.4;
}
.video-card .thumb {
	position: relative;
	display: block;
}
.video-card.is-live .thumb {
	margin: -3px -3px 0 -3px;
}
.video-card .thumb img {
	width: 100%;
}
.video-card .thumb::after {
	content: '';
	display: block;
	position: absolute;
	inset: 0;
	background-color: rgba(0,0,0,0.2);
	background-repeat: no-repeat;
	background-position: center;
	background-image: url(../img/icon-play.svg);
	background-size: 80px 80px;
}
.video-card a.thumb:hover::after {
	background-color: transparent;
}
.video-card .thumb .c-session-status {
	position: absolute;
	z-index: 10;
	top: 3px;
	left: 3px;
}
.video-card .thumb .countdown {
	position: absolute;
	z-index: 10;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 0 0 0.2em 0;
	background-color: rgba(86, 38, 155, 0.8);
	color: #FFF;
	text-align: center;
	font-size: 14px;
}
.video-card .detail {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 20px;
	font-size: 14px;
	line-height: 1.3;
}
.video-card.is-live .detail {
	padding: 20px 17px 17px 17px;
}
.video-card .in {
	flex: 1;
}
.video-card .date {
	display: flex;
	gap: 10px;
	margin-bottom: 8px;
}
.video-card .head {
	display: flex;
	align-items: center;
	gap: 10px;
}
.video-card .title {
	margin: 5px 0;
	font-weight: 700;
	font-size: 16px;
	line-height: 1.5;
}
.video-card .title a {
	color: inherit;
}
.video-card .title a:hover {
	color: var(--color-primary);
}
.video-card .title span {
	display: block;
	margin-top: 5px;
	font-size: 13px;
}
.video-card .company li {
	padding: 3px 0;
}
.video-card .point {
	position: relative;
	margin-top: 10px;
	padding-left: 22px;
	font-weight: 700;
	color: var(--color-primary);
}
.video-card .point::before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -8px;
	width: 18px;
	height: 18px;
	background-image: url(../img/icon-coin.svg);
	background-size: contain;
}
.video-card .foot-status {
	margin-top: 10px;
}
.video-card .foot-status .c-session-status--ended {
	font-weight: 400;
}

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

	[ PROJECT ] THEATER

*/
.p-theater-main .lead {
	margin-top: 15px;
	font-weight: normal;
	font-size: 14px;
}
.p-theater-timetable {
	margin: 30px 0;
}
.p-theater-timetable .h {
	margin-bottom: 10px;
	font-weight: 700;
	font-size: 20px;
}
.p-theater-timetable .row {
	display: block;
	margin: 0;
}
.p-theater-timetable .col {
	display: block;
	margin-bottom: 40px;
	padding: 0;
}
.responsive-theater-timetable-checker {
	display: none;
}
.theater-timeline-day1 {
	border: 1px solid #C9EDF9;
	background-color: #C9EDF9;
}
.theater-timeline-day2 {
	border: 1px solid #FFCF9A;
	background-color: #FFCF9A;
}
.theater-timeline-wrap {
	line-height: 1.4;
}
.theater-timeline-time {
	display: none;
}
.theater-timeline-item {
	box-sizing: border-box;
	padding: 12px 15px;
	margin: 0 -1px !important;
	border-radius: 5px;
	border: 1px solid #000;
	background-color: #FFF;
	font-size: 12px;
}
.theater-timeline-day1 .theater-timeline-item {
	border-color: #C9EDF9;
}
.theater-timeline-day2 .theater-timeline-item {
	border-color: #FFCF9A;
}
.theater-timeline-item:not(:first-child) {
	margin-top: 1px;
}
.theater-timeline-item .title {
	font-weight: 700;
	font-size: 14px;
}
.theater-timeline-item .title button {
	text-align: left;
	font-weight: inherit;
	font-size: inherit;
}
.theater-timeline-item .title button:hover {
	color: var(--color-primary);
}
.theater-timeline-item .company {
	margin-top: 10px;
}
@media (min-width: 768px) {
	.p-theater-timetable .h {
		margin-bottom: 15px;
		font-size: 34px;
	}
}
@media (min-width: 1024px) {
	.p-theater-main {
		min-height: 270px !important;
	}
	.p-theater-main .lead {
		margin-top: 30px;
		font-size: 16px;
	}
	.p-theater-timetable {
		margin: 50px 0 100px 0;
	}
	.responsive-theater-timetable-checker {
		display: block;
	}
	.theater-timeline {
		position: relative;
		border-bottom: 0 !important;
	}
	.theater-timeline::after {
		content: '';
		display: block;
		position: absolute;
		bottom: -1px;
		left: 0;
		width: 100%;
		height: 1px;
	}
	.theater-timeline-day1::after {
		background-color: #C9EDF9;
	}
	.theater-timeline-day2::after {
		background-color: #FFCF9A;
	}
	.p-theater-timetable .row {
		display: flex;
		margin: 0 -20px;
	}
	.p-theater-timetable .col {
		flex-basis: 50%;
		margin: 0;
		padding: 0 20px;
	}
	.p-theater-timetable .h {
		margin-bottom: 15px;
		font-size: 20px;
	}
	.theater-timeline-wrap {
		display: flex;
		padding: 0;
	}
	.theater-timeline-time {
		position: relative;
		display: block;
		margin: 0 !important;
		padding: 5px 0;
		width: 30px;
		background-color: #FFF;
		text-align: center;
		font-weight: 700;
		font-size: 14px;
	}
	.theater-timeline-time::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 1px;
	}
	.theater-timeline-wrap:first-child .theater-timeline-time::before {
		content: none;
	}
	.theater-timeline-day1 .theater-timeline-time::before {
		background-color: #C9EDF9;
	}
	.theater-timeline-day2 .theater-timeline-time::before {
		background-color: #FFCF9A;
	}
	.theater-timeline-list {
		position: relative;
		flex: 1;
		height: 100%;
	}
	.theater-timeline-item {
		position: absolute;
		left: 0;
		right: -1px;
		margin: 0 !important;
		padding: 16px 20px;
		width: auto;
	}
}

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

	[ COMPONENT ] [ MYPAGE ] POINT

*/
.c-mypage-point {
	margin: 30px 0;
}
.c-mypage-point .frame {
	overflow: hidden;
	border: 1px solid var(--color-primary);
	border-radius: 8px;
	background-color: #F1F7FF;
	font-size: 14px;
}
.c-mypage-point .head {
	padding: 15px 10px 10px 10px;
}
.c-mypage-point .head h2 {
	margin-bottom: 5px;
	font-weight: 700;
}
.c-mypage-point .head h2 br {
	display: none;
}
.c-mypage-point .head button {
	position: relative;
	padding-left: 18px;
	font-size: 12px;
	line-height: 1.1;
	color: var(--color-primary);
}
.c-mypage-point .head button span {
	display: block;
	border-bottom: 1px solid transparent;
}
.c-mypage-point .head button:hover span {
	border-color: var(--color-primary);
}
.c-mypage-point .head button::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 14px;
	height: 14px;
	background-image: url(../img/icon-info.svg);
	background-size: contain;
}
.c-mypage-point .point {
	display: flex;
	padding: 0 10px 10px 10px;
}
.c-mypage-point .point .detail {
	flex-basis: 45%;
}
.c-mypage-point .point .detail dl {
	margin-bottom: 5px;
	font-size: 12px;
	line-height: 1.1;
}
.c-mypage-point .point .detail dt {
	padding: 5px 0;
	font-weight: 400;
}
.c-mypage-point .point .detail dd {
	display: flex;
	align-items: flex-end;
	margin-bottom: 0;
	font-weight: 700;
	color: var(--color-primary);
	white-space: nowrap;
}
.c-mypage-point .point .detail dd em {
	margin: 0 0.2em -0.1em 0;
	font-size: 32px;
	font-weight: 900;
	line-height: 1;
}
.c-mypage-point .point .foot {
	display: flex;
	justify-content: center;
	align-items: center;
}
.c-mypage-point .lottery {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	flex-basis: 100%;
	padding: 10px 10px 15px 10px;
	border-top: 1px solid var(--color-primary);
}
.c-mypage-point .lottery .count {
	flex-shrink: 0;
	font-weight: 700;
}
.c-mypage-point .lottery .count em {
	position: relative;
	bottom: -0.1em;
	padding: 0 0.1em;
	font-weight: 900;
	font-size: 24px;
	line-height: 1;
	color: var(--color-primary);
}
@media (max-width: 413px) {
	.c-mypage-point .point .foot {
		flex: 1;
	}
}
@media (min-width: 414px) {
	.c-mypage-point .point .detail {
		flex-basis: 180px;
		padding: 0 20px 0 0;
	}
}
@media (min-width: 768px) {
	.c-mypage-point .frame {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}
	.c-mypage-point .head {
		margin-bottom: 0;
		padding: 10px 40px 10px 10px;
	}
	.c-mypage-point .head h2 {
		margin-bottom: 5px;
	}
	.c-mypage-point .head h2 br {
		display: block;
	}
	.c-mypage-point .point {
		padding: 0 20px 0 0;
	}
	.c-mypage-point .point .detail {
		flex-basis: auto;
		padding: 0 50px 0 0;
	}
	.c-mypage-point .point .detail dl {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.c-mypage-point .lottery {
		flex-direction: row;
		align-items: center;
		gap: 20px;
		padding: 15px 10px;
	}
	.c-mypage-point .lottery .count {
		padding-bottom: 8px;
	}
}
@media (min-width: 1200px) {
	.c-mypage-point .frame {
		flex-wrap: nowrap;
	}
	.c-mypage-point .head {
		padding: 15px 40px 15px 15px;
	}
	.c-mypage-point .point {
		padding: 15px 40px 15px 0;
	}
	.c-mypage-point .lottery {
		flex-direction: column;
		align-items: flex-start;
		gap: 5px;
		position: relative;
		padding: 15px 15px 15px 30px;
		flex-basis: auto;
		border-top: 0;
	}
	.c-mypage-point .lottery::before {
		content: '';
		display: block;
		width: 1px;
		position: absolute;
		left: 0;
		top: -999px;
		bottom: -999px;
		background-color: var(--color-primary);
	}
}
@media (min-width: 1367px) {
	.c-mypage-point .head {
		padding: 15px 40px 15px 15px;
	}
	.c-mypage-point .point {
		padding: 15px 60px 15px 0;
	}
	.c-mypage-point .lottery {
		flex-direction: row;
		flex: 1;
		gap: 20px;
		padding: 15px 15px 15px 50px;
	}
	.c-mypage-point .lottery .foot {
		display: flex;
		justify-content: center;
		width: 100%;
	}
}

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

	[ COMPONENT ] [ MYPAGE ] MESSAGE

*/
.c-mypage-sess-message {
	margin-top: 20px;
	padding: 15px;
	border-radius: 9px;
	background-color: #7D44CF;
	font-size: 14px;
	color: #fff;
}
.c-mypage-sess-message p {
	margin-bottom: 10px;
}
.c-mypage-sess-message dl:not(:last-child) {
	margin-bottom: 5px;
}
.c-mypage-sess-message dl dt {
	font-weight: normal;
}
.c-mypage-sess-message dl dd {
	margin: 0;
	font-weight: 700;
}

@media (min-width: 768px) {
	.c-mypage-sess-message {
		margin-top: 30px;
		padding: 20px 30px;
	}
	.c-mypage-sess-message dl {
		display: flex;
	}
	.c-mypage-sess-message dl dt {
		flex-basis: 240px;
		flex-shrink: 0;
	}
}

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

	[ PROJECT ] [ MYPAGE ] HOME

*/
.p-mypage-home {
	position: relative;
}
.p-mypage-home .user .h {
	font-weight: 700;
	font-size: 16px;
}
.p-mypage-home .user .id {
	display: flex;
	align-items: center;
	margin-top: 10px;
	font-size: 12px;
}
.p-mypage-home .user .id::before {
	content: '';
	display: block;
	margin-right: 5px;
	width: 16px;
	height: 16px;
	background-image: url(../img/icon-user.svg);
	background-size: contain;
}

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

	[ PROJECT ] [ MYPAGE ] HOME

*/
.p-mypage-home .news {
	margin: 20px 0;
	padding: 10px 0 15px 0;
	border: 1px solid #A0BBCC;
	border-left: 0;
	border-right: 0;
}
.p-mypage-home .news .head {
	margin: 0 0 10px 0;
}
.p-mypage-home .news .head h2 {
	position: relative;
	margin: 0;
	padding-left: 20px;
	font-weight: 700;
	font-size: 14px;
}
.p-mypage-home .news .head h2::before {
	content: '';
	display: block;
	position: absolute;
	top: 0.2em;
	left: 0;
	width: 16px;
	height: 16px;
	background-image: url(../img/icon-news.svg);
	background-size: contain;
}
.p-mypage-home .news ul {
	margin: 0;
	font-size: 12px;
	line-height: 1.3;
}
.p-mypage-home .news li {
	position: relative;
	margin: 0;
	padding-left: 20px;
	border-bottom: 1px dashed var(--border-gray);
}
.p-mypage-home .news li:not(:last-child) {
	margin-bottom: 10px;
}
.p-mypage-home .news li::before {
	content: '';
	display: block;
	position: absolute;
	top: 0.2em;
	left: 0;
	width: 14px;
	height: 14px;
	background-image: url(../img/icon-news-point.svg);
	background-size: contain;
}
.p-mypage-home .news li:last-child {
	border-bottom: 0;
}
.p-mypage-home .news li a:hover {
	text-decoration: underline;
}
@media (min-width: 768px) {
	.p-mypage-home .news {
		display: flex;
		padding: 15px 0 18px 0;
	}
	.p-mypage-home .news .head {
		flex-basis: 110px;
	}
	.p-mypage-home .news ul {
		flex: 1;
		font-size: 14px;
	}
	.p-mypage-home .news li:not(:last-child) {
		margin-bottom: 12px;
	}
}

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

	[ PROJECT ] [ MYPAGE ] HOME VIDEO

*/
.p-mypage-home .video {
	position: relative;
	margin: 40px 0;
}
.p-mypage-home .video .head {
	margin-bottom: 20px;
	font-weight: 700;
}
.p-mypage-home .video .list {
	display: flex;
	padding-bottom: 20px;
}
.p-mypage-home .video .item {
	padding-right: 20px;
	flex-basis: 190px;
	flex-shrink: 0;
	font-size: 12px;
}
.p-mypage-home .video .item:last-child {
	padding-right: 0;
	flex-basis: 170px;
}
.p-mypage-home .video .item a {
	color: inherit;
}
.p-mypage-home .video .item .thumb {
	position: relative;
}
.p-mypage-home .video .item .thumb img {
	width: 100%;
}
.p-mypage-home .video .item .thumb::after {
	content: '';
	display: block;
	position: absolute;
	inset: 0;
	background-color: rgba(0,0,0,0.2);
	background-repeat: no-repeat;
	background-position: center;
	background-image: url(../img/icon-play.svg);
	background-size: 50px 50px;
}
.p-mypage-home .video .item a:hover .thumb::after {
	background-color: transparent;
}
.p-mypage-home .video .item .thumb .c-session-status {
	position: absolute;
	z-index: 10;
	top: 0;
	left: 0;
	font-size: 12px;
}
.p-mypage-home .video .item .thumb .countdown {
	position: absolute;
	z-index: 10;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 0 0 0.2em 0;
	background-color: rgba(86, 38, 155, 0.8);
	color: #FFF;
	text-align: center;
	font-size: 11px;
}
.p-mypage-home .video .item .c-badge {
	margin-top: 12px;
}
.p-mypage-home .video .item .title {
	margin-top: 10px;
	font-weight: 700;
}
.p-mypage-home .video .item a:hover .title {
	text-decoration: underline;
	color: var(--color-primary);
}
.p-mypage-home .video .item .date {
	margin-top: 10px;
}

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

	[ PROJECT ] [ MYPAGE ] HOME MENU HEAD

*/
.p-mypage-home .menu-head {
	margin-bottom: 30px;
}
.p-mypage-home .menu-head ul {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	gap: 20px;
	font-weight: 16px;
}
.p-mypage-home .menu-head li {
	display: flex;
	gap: 15px;
}
.p-mypage-home .menu-head li::before {
	content: '';
	display: block;
	flex-shrink: 0;
	margin-top: 2px;
	width: 60px;
	height: 60px;
	background-image: url(..//img/icon-mp-menu.svg);
	background-size: contain;
}
.p-mypage-home .menu-head li a {
	font-weight: 700;
}
.p-mypage-home .menu-head li p {
	font-size: 12px;
}
@media (min-width: 768px) {
	.p-mypage-home .menu-head {
		margin-bottom: 40px;
	}
	.p-mypage-home .menu-head ul {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 20px 0;
		margin: 0 -10px;
	}
	.p-mypage-home .menu-head li {
		flex-basis: 50%;
		padding: 0 10px;
	}
}
@media (min-width: 1367px) {
	.p-mypage-home .menu-head ul {
		margin: 0 -25px;
	}
	.p-mypage-home .menu-head li {
		flex-basis: 33.333%;
		padding: 0 25px;
	}
}

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

	[ PROJECT ] [ MYPAGE ] HOME MENU

*/
.p-mypage-home .menu {
	margin-top: 20px;
	text-align: center;
}
.p-mypage-home .menu ul {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 0;
	margin: 0 -10px;
	font-weight: 700;
	font-size: 12px;
	line-height: 1.3;
}
.p-mypage-home .menu li {
	padding: 0 10px;
	flex-basis: 50%;
}
.p-mypage-home .menu a,
.p-mypage-home .menu li > div {
	position: relative;
	display: block;
	border: 1px solid #D2D1D4;
	border-radius: 8px;
	color: inherit;
}
.p-mypage-home .menu .fill {
	background-color: var(--color-primary);
	color: #fff;
}
.loaded .p-mypage-home .menu a {
	transition: box-shadow 0.25s cubic-bezier(.4,0,.2,1);
}
.p-mypage-home .menu i {
	display: block;
	position: absolute;
	top: 15px;
	left: 50%;
	margin-left: -20px;
	width: 40px;
}
.p-mypage-home .menu i img {
	width: 100%;
}
.p-mypage-home .menu em {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 40px 0 0 0;
	height: 110px;
	text-align: center;
}
.p-mypage-home .menu .disabled {
	pointer-events: none;
}
.p-mypage-home .menu-main a {
	background-color: var(--color-primary);
	color: #FFF;
}
.p-mypage-home .menu-main .lunch {
	background-color: #FF9F36;
}
.p-mypage-home .menu-main .drink {
	background-color: #7D44CF;
}
.p-mypage-home .menu-main .disabled {
	background-color: #91989E;
}
/**/
.p-mypage-home .menu-main-small ul {
	gap: 10px 0;
	margin: 0 -5px;
	font-size: 10px;
}
.p-mypage-home .menu-main-small li {
	padding: 0 5px;
	flex-basis: 33.333%;
}
.p-mypage-home .menu-main-small i {
	top: 10px;
	left: 50%;
	margin-left: -16px;
	width: 32px;
}
.p-mypage-home .menu-main-small em {
	padding: 36px 0 0 0;
	height: 80px;
}
@media (min-width: 768px) {
	.p-mypage-home .menu ul {
		display: flex;
		flex-wrap: wrap;
		margin: 0 -8px;
	}
	.p-mypage-home .menu li {
		flex-basis: 33.333%;
		padding: 0 8px;
	}
	.p-mypage-home .menu a:hover {
		box-shadow: 0 16px 16px rgba(0,0,0,0.16);
	}
	.loaded .p-mypage-home .menu i {
		transition: opacity .5s cubic-bezier(.4,0,.2,1);
	}
	.p-mypage-home .menu a:hover i {
		opacity: 0;
	}
	.loaded .p-mypage-home .menu em {
		transition: padding .5s cubic-bezier(.4,0,.2,1);
	}
	.p-mypage-home .menu a:hover em {
		padding-top: 0;
	}
	/**/
	.p-mypage-home .menu-main-small ul {
		gap: 10px 0;
		margin: 0 -5px;
		font-size: 12px;
	}
	.p-mypage-home .menu-main-small i {
		top: 15px;
		left: 50%;
		margin-left: -20px;
		width: 40px;
	}
	.p-mypage-home .menu-main-small em {
		padding: 40px 0 0 0;
		height: 110px;
	}
}
@media (min-width: 1024px) {
	.p-mypage-home .menu ul {
		margin: 0 -10px;
	}
	.p-mypage-home .menu li {
		flex-basis: 20%;
		padding: 0 10px;
	}
	.p-mypage-home .menu-main li {
		flex-basis: 16.666%;
	}
}
@media (min-width: 1367px) {
	.p-mypage-home .menu ul {
		margin: 0 -25px;
	}
	.p-mypage-home .menu li {
		flex-basis: 16.666%;
		padding: 0 25px;
	}
}

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

	[ PROJECT ] [ MYPAGE ] HOME MENU

*/
.p-mypage-home .menu-industry {
	margin: 30px 0;
}
.p-mypage-home .menu-industry .block {
	overflow: hidden;
	background-color: #FFF;
	border-radius: 12px;
	box-shadow: 0 2px 10px rgba(0,0,0,0.2);
}
.p-mypage-home .menu-industry .block .head {
	padding: 15px;
	background-color: var(--color-blue-square);
}
.p-mypage-home .menu-industry .block .head h2 {
	margin: 0 0 15px 0;
	font-weight: 900;
	line-height: 1;
}
.p-mypage-home .menu-industry .block .head h2 span {
	font-weight: 800;
	font-size: 18px;
	color: #FFF;
}
.p-mypage-home .menu-industry .block .head h2 em {
	display: block;
	margin: 5px 0 0 0;
	font-size: 30px;
}
.p-mypage-home .menu-industry .block .head .date {
	display: flex;
}
.p-mypage-home .menu-industry .block .head .date dl {
	display: flex;
	border: 1px solid #000;
	font-weight: 800;
	font-size: 11px;
}
.p-mypage-home .menu-industry .block .head .date dl dt,
.p-mypage-home .menu-industry .block .head .date dl dd {
	padding: 2px 8px 3px 8px;
}
.p-mypage-home .menu-industry .block .head .date dl dd {
	margin: 0;
	background-color: #000;
	color: #FFF;
}
.p-mypage-home .menu-industry .block .detail {
	padding: 15px 15px 25px 15px;
	font-size: 14px;
}
.p-mypage-home .menu-industry .block .detail h3 {
	margin: 0 0 5px 0;
	font-weight: 800;
	font-size: 16px;
}
.p-mypage-home .menu-industry .block .foot {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 15px;
	margin: 20px 0 0 0;
}
@media (min-width: 768px) {
	.p-mypage-home .menu-industry .block .head {
		padding: 20px 30px;
	}
	.p-mypage-home .menu-industry .block .head h2 span {
		font-size: 26px;
	}
	.p-mypage-home .menu-industry .block .head h2 em {
		font-size: 40px;
	}
	.p-mypage-home .menu-industry .block .head .date dl {
		font-size: 12px;
	}
	.p-mypage-home .menu-industry .block .detail {
		padding: 20px 30px;
	}
	.p-mypage-home .menu-industry .block .foot {
		flex-direction: row;
		justify-content: flex-start;
		gap: 20px;
		margin: 15px 0 0 0;
		min-height: 34px;
	}
}
@media (min-width: 1024px) {
	.p-mypage-home .menu-industry .block {
		display: flex;
	}
	.p-mypage-home .menu-industry .block .head {
		display: flex;
		align-items: center;
		flex-basis: 50%;
	}
	.p-mypage-home .menu-industry .block .detail {
		display: flex;
		align-items: center;
		flex: 1;
	}
}
@media (min-width: 1200px) {
	.p-mypage-home .menu-industry .block .head {
		flex-basis: 540px;
	}
	.p-mypage-home .menu-industry .block .foot {
		gap: 30px;
	}
}

/*
.p-mypage-home .menu-industry {
	margin-top: 20px;
}
.p-mypage-home .menu-industry li {
	margin-bottom: 20px;
}
.p-mypage-home .menu-industry .live {
	position: relative;
	display: block;
	padding: 18px 0 116px 14px;
	border: 1px solid #D2D1D4;
	border-radius: 8px;
	background-color: var(--color-primary);
	background-image: url(../img/industry-days-kv.jpg);
	background-position: 100% 100%;
	background-repeat: no-repeat;
	background-size: 140px auto;
	color: #000;
	text-align: left;
}
.p-mypage-home .menu-industry .live em {
	display: block;
	padding: 0;
	height: auto;
	text-align: left;
}
.p-mypage-home .menu-industry .live > em {
	font-weight: 900;
	font-size: 17px;
	line-height: 1.2;
	color: #000;
}
.p-mypage-home .menu-industry .live > em span {
	color: #fff;
}
.p-mypage-home .menu-industry .live .date {
	display: block;
	margin-top: 8px;
	font-weight: 900;
	font-size: 18px;
	line-height: 1.3;
	color: #fff;
}
.p-mypage-home .menu-industry .live .livenow {
	position: absolute;
	top: 20px;
	right: 20px;
	display: flex;
	align-items: center;
	padding: 0.2em 0.8em 0.26em 0.6em;
	border-radius: 2px;
	background-color: #fff;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.3;
	color: var(--color-primary);
	animation: 2.4s ease infinite animBlink;
}
.p-mypage-home .menu-industry .live .livenow::before {
	content: '';
	display: block;
	margin-right: 0.2em;
	width: 18px;
	height: 18px;
	background-repeat: no-repeat;
	background-position: center;
	background-image: url(../img/icon-livenow.svg);
	background-size: contain;
}
.p-mypage-home .menu-industry .live .title {
	display: block;
	margin-top: 8px;
	font-weight: 800;
	font-size: 14px;
}
.p-mypage-home .menu-industry .live .category {
	display: block;
	font-weight: 800;
	font-size: 14px;
}
.p-mypage-home .menu-industry .live .category span {
	display: flex;
	position: relative;
	padding-left: 12px;
}
.p-mypage-home .menu-industry .live .category span::before {
	content: '';
	display: block;
	position: absolute;
	top: 8px;
	left: 0;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background-color: #000;
}
.loaded .p-mypage-home .menu-industry a {
	transition: box-shadow 0.25s cubic-bezier(.4,0,.2,1);
}
@media (min-width: 414px) {
	.p-mypage-home .menu-industry .live {
		padding: 18px 0 20px 14px;
		background-size: 118px auto;
	}
}
@media (min-width: 768px) {
	.p-mypage-home .menu-industry {
		margin-top: 40px;
	}
	.p-mypage-home .menu-industry ul {
		display: flex;
		flex-wrap: wrap;
		gap: 30px 0;
		margin: 0 -15px;
	}
	.p-mypage-home .bg-industry {
		position: absolute;
		bottom: -100px;
		right: 0;
		width: 350px;
		height: 350px;
		background-image: url(../img/industry-bg.png);
		background-size: cover;
	}
	.p-mypage-home .menu-industry li {
		flex-basis: 50%;
		margin: 0;
		padding: 0 15px;
	}
	.p-mypage-home .menu-industry .live {
		min-height: 200px;
		background-size: 118px auto;
	}
	.p-mypage-home .menu-industry .live > em {
		font-size: 19px;
	}
	.p-mypage-home .menu-industry .live:hover em {
		padding-top: 0;
	}
	.p-mypage-home .menu-industry .live .category {
		padding-right: 130px;
	}
	.p-mypage-home .menu-industry a:hover {
		box-shadow: 0 16px 16px rgba(0,0,0,0.16);
	}
}
@media (min-width: 1024px) {
	.p-mypage-home .menu-industry .live {
		min-height: 192px;
	}
	.p-mypage-home .menu-industry .live .category {
		padding-right: 0;
	}
}
*/

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

	[ PROJECT ] [ MYPAGE ] HOME CODE

*/
.p-mypage-home .code {
	margin-top: 30px;
	border: 1px solid var(--color-primary);
	border-radius: 8px;
	overflow: hidden;
}
.p-mypage-home .code dl {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 15px 0 8px 0;
	background-color: #C9EDF9;
	border-bottom: 1px solid var(--color-primary);
	text-align: center;
	line-height: 1.1;
}
.p-mypage-home .code dl dt {
	margin-bottom: 5px;
	font-weight: 400;
	font-size: 12px;
}
.p-mypage-home .code dl dd {
	font-weight: 700;
	font-size: 24px;
}
.p-mypage-home .code .detail {
	padding: 15px 20px;
	font-size: 12px;
}
.p-mypage-home .code .detail h2 {
	margin-bottom: 5px;
	font-weight: 700;
	font-size: 16px;
}
.p-mypage-home .code .detail a:hover {
	text-decoration: underline;
}
.p-mypage-home .code .detail .drink {
	margin: 20px 0;
}
.p-mypage-home .code .detail .drink h3 {
	display: flex;
	align-items: center;
	gap: 15px;
	position: relative;
	margin-bottom: 10px;
	font-weight: 700;
}
.p-mypage-home .code .detail .drink h3::before {
	content: '';
	display: block;
	flex-shrink: 0;
	width: 60px;
	height: 60px;
	background-repeat: no-repeat;
	background-image: url(../img/icon-drink-ticket.svg);
	background-size: contain;
}
@media (min-width: 768px) {
	.p-mypage-home .code {
		margin-top: 50px;
	}
	.p-mypage-home .code .detail {
		padding: 15px 30px 20px 30px;
		font-size: 14px;
	}
	.p-mypage-home .code .detail .drink {
		display: block;
		padding-left: 84px;
		max-width: 900px;
		min-height: 74px;
	}
	.p-mypage-home .code .detail .drink h3::before {
		position: absolute;
		top: 0;
		left: -84px;
		width: 74px;
		height: 74px;
	}
}
@media (min-width: 1024px) {
	.p-mypage-home .code {
		display: flex;
	}
	.p-mypage-home .code dl {
		flex-basis: 210px;
		flex-shrink: 0;
		padding: 0;
		border-bottom: 0;
		border-right: 1px solid var(--color-primary);
	}
	.p-mypage-home .code .detail h2 {
		font-size: 18px;
	}
}

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

	[ PROJECT ] [ MYPAGE ] HOME CODE V2

*/
.p-mypage-home .code-v2 {
	overflow: hidden;
	margin-top: 30px;
	border: 2px solid var(--color-primary);
	border-radius: 11px;
}
.p-mypage-home .code-v2 .block1 {
	padding: 15px;
	background-color: #C9EDF9;
}
.p-mypage-home .code-v2 .block1 .head {
	text-align: center;
}
.p-mypage-home .code-v2 .block1 .head .h {
	margin: 0 0 10px 0;
	font-weight: 800;
	font-size: 20px;
	line-height: 1.3;
}
.p-mypage-home .code-v2 .block1 .head .text {
	font-size: 14px;
}
.p-mypage-home .code-v2 .block1 .detail {
	overflow: hidden;
	margin: 15px 0 0 0;
	border: 1px solid var(--color-primary);
	border-radius: 6px;
	background-color: #DBF4F6;
	text-align: center;
}
.p-mypage-home .code-v2 .block1 .detail .id {
	margin: 0;
	padding: 10px;
	border-bottom: 1px solid var(--color-primary);
}
.p-mypage-home .code-v2 .block1 .detail .id dt {
	font-weight: normal;
	font-size: 14px;
}
.p-mypage-home .code-v2 .block1 .detail .id dd {
	margin: 0;
	font-weight: 700;
	font-size: 24px;
}
.p-mypage-home .code-v2 .block1 .detail .url {
	position: relative;
	padding: 10px 10px 15px 10px;
}
.p-mypage-home .code-v2 .block1 .detail .url dt {
	font-weight: normal;
	font-size: 14px;
}
.p-mypage-home .code-v2 .block1 .detail .url dd {
	margin: 5px 0 0 0;
	word-break: break-all;
	font-size: 14px;
}
.p-mypage-home .code-v2 .block1 .detail .url dd a {
	text-decoration: underline;
	color: inherit;
}
.p-mypage-home .code-v2 .block1 .detail .url .button {
	display: flex;
	justify-content: center;
	margin: 15px 0 0 0;
}
.p-mypage-home .code-v2 .block2 {
	padding: 15px;
}
.p-mypage-home .code-v2 .block2 .h {
	font-weight: 800;
	font-size: 20px;
	line-height: 1.3;
	color: var(--color-primary);
}
.p-mypage-home .code-v2 .block2 .subhead {
	font-size: 14px;
	font-weight: 700;
}
.p-mypage-home .code-v2 .block2 .note {
	margin: 10px 0 0 0;
	font-size: 12px;
}
.p-mypage-home .code-v2 .block2 .note li {
	padding-left: 1em;
	text-indent: -1em;
}
.p-mypage-home .code-v2 .block2 .image {
	margin: 10px 0;
}
.p-mypage-home .code-v2 .block2 .image img {
	display: block;
	margin: 0 auto;
	width: 100%;
	max-width: 420px;
}
@media (min-width: 768px) {
	.p-mypage-home .code-v2 {
		margin-top: 50px;
	}
	.p-mypage-home .code-v2 .block1 .head .h br {
		display: none;
	}
}
@media (min-width: 1024px) {
	.p-mypage-home .code-v2 .block1 .head {
		text-align: left;
	}
	.p-mypage-home .code-v2 .block1 .detail {
		display: flex;
		align-items: center;
		text-align: left;
	}
	.p-mypage-home .code-v2 .block1 .detail .id {
		padding: 10px 20px;
		border-bottom: 0;
	}
	.p-mypage-home .code-v2 .block1 .detail .url {
		padding: 10px 20px;
	}
	.p-mypage-home .code-v2 .block1 .detail .url::before {
		content: '';
		display: block;
		position: absolute;
		top: -200%;
		bottom: -200%;
		left: 0;
		width: 1px;
		background-color: var(--color-primary);
	}
	.p-mypage-home .code-v2 .block1 .detail .url .button {
		display: block;
	}
	.p-mypage-home .code-v2 .block2 .wrap {
		display: flex;
		flex-direction: row-reverse;
		gap: 10px;
		margin: 10px 0 0 0;
	}
	.p-mypage-home .code-v2 .block2 .detail {
		flex: 1;
	}
	.p-mypage-home .code-v2 .block2 .image {
		flex-basis: 420px;
		margin: 0;
	}
}
@media (min-width: 1200px) {
	.p-mypage-home .code-v2 .block1 .head .h {
		font-size: 24px;
	}
	.p-mypage-home .code-v2 .block1 .detail .url dl {
		display: flex;
		align-items: center;
		gap: 10px;
	}
	.p-mypage-home .code-v2 .block1 .detail .url dd {
		margin: 0;
	}
	.p-mypage-home .code-v2 .block2 .h {
		font-size: 24px;
	}
}
@media (min-width: 1367px) {
	.p-mypage-home .code-v2 {
		margin-top: 60px;
	}
	.p-mypage-home .code-v2 .block1 {
		padding: 15px 25px 20px 25px;
	}
	.p-mypage-home .code-v2 .block1 .head {
		display: flex;
		align-items: center;
		gap: 20px;
	}
	.p-mypage-home .code-v2 .block1 .head .h {
		margin: 0;
	}
	.p-mypage-home .code-v2 .block1 .detail .id {
		display: flex;
		align-items: center;
		gap: 20px;
	}
	.p-mypage-home .code-v2 .block1 .detail .id dt {
		font-size: 12px;
	}
	.p-mypage-home .code-v2 .block1 .detail .url {
		display: flex;
		align-items: center;
		flex: 1;
	}
	.p-mypage-home .code-v2 .block1 .detail .url dl {
		flex: 1;
	}
	.p-mypage-home .code-v2 .block1 .detail .url dt {
		font-size: 12px;
	}
	.p-mypage-home .code-v2 .block1 .detail .url dd {
		position: relative;
		top: -0.14em;
		font-size: 14px;
	}
	.p-mypage-home .code-v2 .block1 .detail .url .button {
		margin: 0;
	}
	.p-mypage-home .code-v2 .block2 {
		padding: 15px 15px 15px 25px;
	}
}

.p-mypage-home .announcement {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 10px;
	margin: 20px 0;
	text-align: center;
	font-weight: 700;
	font-size: 16px;
	color: #FFF;
}
.p-mypage-home .announcement div {
	padding: 5px 12px 7px 12px;
	border-radius: 7px;
	width: 100%;
}
.p-mypage-home .announcement .type1 {
	background-color: #7D44CF;
}
.p-mypage-home .announcement .type2 {
	background-color: #D45B90;
}
@media (min-width: 768px) {
	.p-mypage-home .announcement {
		align-items: flex-start;
		margin: 30px 0;
		font-size: 20px;
	}
	.p-mypage-home .announcement div {
		width: auto;
	}
}

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

	[ PROJECT ] [ MYPAGE ] MYAGENDA

*/
.p-mypage-myagenda-nav {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px 0;
	margin: 25px 0 0 0;
}

@media (min-width: 768px) {
	.p-mypage-myagenda-nav {
		flex-direction: row;
		gap: 20px;
	}
}

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

	[ PROJECT ] [ MYPAGE ] 2D CODE

*/
.p-mypage-2d-code .head {
	margin-bottom: 30px;
	text-align: center;
}
.p-mypage-2d-code .head > div:first-child {
	font-weight: 700;
	font-size: 16px;
}
.p-mypage-2d-code .head .h {
	margin-bottom: 15px;
	font-weight: 700;
	font-size: 24px;
	color: #022043;
}
.p-mypage-2d-code .head .name {
	margin-bottom: 5px;
	font-weight: 700;
	font-size: 16px;
	color: #022043;
}
.p-mypage-2d-code .head .id {
	font-size: 14px;
	color: #525D6A;
}
.p-mypage-2d-code .announcement {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 10px;
	margin-bottom: 50px;
	text-align: center;
	font-weight: 700;
	font-size: 16px;
	color: #FFF;
}
.p-mypage-2d-code .announcement div {
	padding: 5px 12px 7px 12px;
	border-radius: 7px;
	width: 100%;
}
.p-mypage-2d-code .announcement .type1 {
	background-color: #7D44CF;
}
.p-mypage-2d-code .announcement .type2 {
	background-color: #D45B90;
}
.p-mypage-2d-code .qrcode {
	margin: 0 auto;
	width: 120px;
}
.p-mypage-2d-code .qrcode img {
	width: 100%;
}
.p-mypage-2d-code .notes {
	margin-top: 60px;
	color: #022043;
}
.p-mypage-2d-code .notes .h {
	margin-bottom: 20px;
	text-align: center;
	font-weight: 700;
	font-size: 20px;
}
.p-mypage-2d-code .notes ul {
	font-size: 14px;
}
.p-mypage-2d-code .notes ul li {
	position: relative;
	margin-bottom: 5px;
	padding-left: 1em;
}
.p-mypage-2d-code .notes ul li::before {
	content: '・';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	font-weight: 700;
}

@media (min-width: 768px) {
	.p-mypage-2d-code .head > div:first-child {
		font-size: 20px;
	}
	.p-mypage-2d-code .head .h {
		font-size: 36px;
	}
	.p-mypage-2d-code .announcement {
		font-size: 20px;
	}
	.p-mypage-2d-code .announcement div {
		width: auto;
	}
	.p-mypage-2d-code .notes {
		margin-top: 50px;
	}
	.p-mypage-2d-code .notes .h {
		text-align: left;
	}
}

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

	[ PROJECT ] [ MYPAGE ] MYTIMETABLE

*/
.p-mypage-mytimetable {
	margin: 20px 0 0 0;
	padding: 10px 0;
}
.p-mypage-mytimetable .heading {
	font-weight: 700;
	font-size: 22px;
}
.p-mypage-mytimetable .row {
	flex-direction: column;
	margin: 20px 0 0 0;
	gap: 40px;
}
.p-mypage-mytimetable .col {
	padding: 0;
}
.p-mypage-mytimetable .h {
	margin-bottom: 15px;
	font-weight: 700;
	font-size: 17px;
	font-family: "Lato", sans-serif;
}
.p-mypage-mytimetable .list {
	border-bottom: 1px solid var(--color-border);
}
.p-mypage-mytimetable .item {
	padding: 15px 0 0 0;
	border-top: 1px solid var(--color-border);
}
.p-mypage-mytimetable .item .head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 5px 10px;
}
.p-mypage-mytimetable .item .time {
	flex-basis: 100%;
	font-size: 14px;
	line-height: 1.5;
}
.p-mypage-mytimetable .item .id {
	font-size: 14px;
	line-height: 1.5;
}
.p-mypage-mytimetable .item .c-session-title {
	margin: 8px 0;
}
.p-mypage-mytimetable .item .c-session-title:last-child {
	margin-bottom: 18px;
}
.p-mypage-mytimetable .item .c-session-title em {
	font-size: 14px;
}
.p-mypage-mytimetable .item .c-session-title span {
	margin-top: 5px;
	font-size: 13px;
}
.p-mypage-mytimetable .item .middle {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 15px;
}
.p-mypage-mytimetable .item .foot {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 10px;
	padding: 20px 0;
	background-color: #F7F7F7;
	text-align: center;
}
.p-mypage-mytimetable .item .foot > div {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 27px;
	height: 34px;
	font-weight: 700;
	font-size: 16px;
	color: #6C747D;
}
.p-mypage-mytimetable .dropdown-toggle {
	margin: 0;
	padding: 0;
	font-weight: 700;
	font-size: 14px;
	color: var(--color-primary);
}
.p-mypage-mytimetable .dropdown-toggle::after {
	display: none;
}
.p-mypage-mytimetable .dropdown-menu {
	padding: 10px 0;
	border-color: var(--color-border);
	border-radius: 7px;
	box-shadow: 0 5px 5px rgba(0,0,0,0.25);
	font-size: 14px;
	line-height: 1.3;
}
.p-mypage-mytimetable .dropdown-menu li {
	padding: 5px 0;
}
.p-mypage-mytimetable .dropdown-menu a {
	background-color: transparent;
}

@media (min-width: 768px) {
	.p-mypage-mytimetable {
		margin: 20px 0 0 0;
		padding: 20px 0;
	}
	.p-mypage-mytimetable .heading {
		font-size: 26px;
	}
	.p-mypage-mytimetable .row {
		display: flex;
		flex-direction: row;
		gap: 0;
		margin: 30px -25px 0 -25px;
	}
	.p-mypage-mytimetable .col {
		padding: 0 25px;
	}
}

@media (min-width: 1024px) {
	.p-mypage-mytimetable .heading {
		font-size: 32px;
	}
	.p-mypage-mytimetable .item .head {
		gap: 8px 15px;
	}
	.p-mypage-mytimetable .item .time {
		flex-basis: auto;
	}
}

@media (min-width: 1367px) {
	.p-mypage-mytimetable .item .foot {
		flex-direction: row;
		justify-content: center;
		align-items: center;
		gap: 20px;
		padding-top: 20px;
	}
}

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

	[ PROJECT ] [ MYPAGE ] FAVORITE

*/


.p-mypage-favorite {
	margin: 20px 0 0 0;
	padding: 10px 0;
}
.p-mypage-favorite .heading {
	font-weight: 700;
	font-size: 22px;
}
.p-mypage-favorite .row {
	flex-direction: column;
	margin: 20px 0 0 0;
	gap: 40px;
}
.p-mypage-favorite .col {
	padding: 0;
}
.p-mypage-favorite .h {
	margin-bottom: 15px;
	font-weight: 700;
	font-size: 17px;
	font-family: "Lato", sans-serif;
}
.p-mypage-favorite .list {
	border-bottom: 1px solid var(--color-border);
}
.p-mypage-favorite .item {
	padding: 10px 0 0 0;
	border-top: 1px solid var(--color-border);
}
.p-mypage-favorite .item.is-live {
	background-color: #E8F9FF;
}
.p-mypage-favorite .item .head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 5px 15px;
	padding-left: 10px;
	padding-right: 10px;
}
.p-mypage-favorite .item .head .head-first {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-basis: 100%;
}
.p-mypage-favorite .item .head .time {
	flex-basis: 100%;
	font-size: 14px;
	line-height: 1.5;
}
.p-mypage-favorite .item .head .id {
	font-size: 14px;
	line-height: 1.5;
}
.p-mypage-favorite .item .head .c-session-status {
	display: flex;
	flex-basis: 100%;
	margin-top: 5px;
}
.p-mypage-favorite .item .head .c-session-status span {
	padding-top: 0.14em;
	padding-bottom: 0.22em;
	font-weight: 400;
	font-size: 12px;
    line-height: 1.2 !important;
}
.p-mypage-favorite .item .c-session-title {
	margin: 8px 0;
	padding-left: 10px;
	padding-right: 10px;
}
.p-mypage-favorite .item .c-session-title:last-child {
	margin-bottom: 18px;
}
.p-mypage-favorite .item .c-session-title em {
	font-size: 14px;
}
.p-mypage-favorite .item .c-session-title span {
	margin-top: 5px;
	font-size: 13px;
}
.p-mypage-favorite .item .middle {
	padding-bottom: 15px;
	padding-left: 10px;
	padding-right: 10px;
}
.p-mypage-favorite .dropdown-toggle {
	margin: 0;
	padding: 0;
	font-weight: 700;
	font-size: 14px;
	color: var(--color-primary);
}
.p-mypage-favorite .dropdown-toggle::after {
	display: none;
}
.p-mypage-favorite .dropdown-menu {
	padding: 10px 0;
	border-color: var(--color-border);
	border-radius: 7px;
	box-shadow: 0 5px 5px rgba(0,0,0,0.25);
	font-size: 14px;
	line-height: 1.3;
}
.p-mypage-favorite .dropdown-menu li {
	padding: 5px 0;
}
.p-mypage-favorite .dropdown-menu a {
	background-color: transparent;
}
.p-mypage-favorite .foot {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	padding: 15px 0;
	background-color: #F7F7F7;
	font-weight: 700;
	font-size: 14px;
	color: #6C747D;
}
.p-mypage-favorite .foot a {
	position: relative;
	display: flex;
	align-items: center;
	padding-left: 24px;
}
.p-mypage-favorite .foot a span {
	border-bottom: 1px solid transparent;
}
.p-mypage-favorite .foot a span:hover {
	border-color: var(--color-primary);
}
.p-mypage-favorite .foot a::before {
	content: '';
	display: block;
	position: absolute;
	top: 0.1em;
	left: 0;
	width: 20px;
	height: 20px;
	background-size: contain;
}
.p-mypage-favorite .foot .live::before {
	background-image: url(../img/icon-favorite-live.svg);
}
.p-mypage-favorite .foot .enq::before {
	background-image: url(../img/icon-favorite-enq.svg);
}
.p-mypage-favorite .foot .download::before {
	background-image: url(../img/icon-favorite-download.svg);
}

@media (min-width: 768px) {
	.p-mypage-favorite {
		margin: 20px 0 0 0;
		padding: 20px 0;
	}
	.p-mypage-favorite .heading {
		font-size: 26px;
	}
	.p-mypage-favorite .row {
		display: flex;
		flex-direction: row;
		gap: 0;
		margin: 30px -25px 0 -25px;
	}
	.p-mypage-favorite .col {
		padding: 0 25px;
	}
}

@media (min-width: 1024px) {
	.p-mypage-favorite .item .head .c-session-status {
		flex-basis: auto;
		margin-top: 0;
	}
}

@media (min-width: 1367px) {
	.p-mypage-favorite .item .head,
	.p-mypage-favorite .item .c-session-title,
	.p-mypage-favorite .item .middle {
		padding-left: 15px;
		padding-right: 15px;
	}
	.p-mypage-favorite .item .c-session-title {
		margin-top: 4px;
	}
	.p-mypage-favorite .item .head .head-first {
		flex-basis: auto;
	}
	.p-mypage-favorite .item .foot {
		flex-direction: row;
		justify-content: flex-start;
		align-items: center;
		gap: 30px;
		padding: 15px 15px;
	}
}

.p-mypage-favorite .archive {
	margin-top: 20px;
}
.p-mypage-favorite .archive .item {
	margin-bottom: 20px;
}
.p-mypage-favorite .archive .timeline-card {
	padding: 0;
}
.p-mypage-favorite .archive .timeline-card .timeline-card-body {
	position: relative;
	padding: 15px;
}
.p-mypage-favorite .archive .timeline-card .c-session-favorite {
	position: absolute;
	top: 15px;
	right: 13px;
}
.p-mypage-favorite .archive .timeline-card .timeline-card-foot {
	display: flex;
	justify-content: center;
	padding: 15px;
	background-color: #F7F7F7;
}
.p-mypage-favorite .archive .timeline-card .timeline-card-foot > div {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 34px;
	font-weight: 700;
	font-size: 16px;
	color: #6C747D;
}

@media (min-width: 768px) {
	.p-mypage-favorite {
		margin: 20px 0 0 0;
		padding: 20px 0;
	}
	.p-mypage-favorite .heading {
		font-size: 32px;
	}
	.p-mypage-favorite .archive {
		display: flex;
		flex-wrap: wrap;
		gap: 40px 0;
		margin: 30px -25px 0 -25px;
		margin-left: -25px;
	}
	.p-mypage-favorite .archive .item {
		flex-basis: 50%;
		margin: 0;
		padding: 0 25px;
	}
}

@media (min-width: 1024px) {
	.p-mypage-favorite .row {

	}
}

@media (min-width: 1200px) {
	.p-mypage-favorite .archive .item {
		flex-basis: 33.333%;
		padding: 0 20px;
	}
}
	

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

	[ PROJECT ] [ MYPAGE ] CONTENT ARCHIVE

*/
.p-mypage-content-archive {
	margin: 20px 0 20px 0;
}
.p-mypage-content-archive .heading {
	margin-bottom: 15px;
	font-weight: 700;
	font-size: 24px;
}
.p-mypage-content-archive .list {
	flex-wrap: wrap;
}
.p-mypage-content-archive .item {
	margin-bottom: 20px;
}

.p-mypage-content-archive .item.disabled {
	opacity: 0.3;
}
@media (min-width: 768px) {
	.p-mypage-content-archive {
		margin: 40px 0 60px 0;
	}
	.p-mypage-content-archive .heading {
		margin-bottom: 30px;
		font-size: 36px;
	}
	.p-mypage-content-archive .list {
		display: flex;
		gap: 30px 0;
		margin: 0 -12px;
	}
	.p-mypage-content-archive .item {
		flex-basis: 33.333%;
		margin: 0;
		padding: 0 12px;
	}
}
@media (min-width: 1200px) {
	.p-mypage-content-archive .item {
		flex-basis: 25%;
		padding: 0 12px;
	}
}
@media (min-width: 1367px) {
	.p-mypage-content-archive {
		margin: 40px 0 60px 0;
	}
	.p-mypage-content-archive .heading {
		margin-bottom: 30px;
		font-size: 36px;
	}
	.p-mypage-content-archive .list {
		display: flex;
		gap: 40px 0;
		margin: 0 -12px;
	}
}
@media (min-width: 1680px) {
	.p-mypage-content-archive .item {
		flex-basis: 20%;
	}
}
@media (min-width: 2000px) {
	.p-mypage-content-archive .item {
		flex-basis: 16.666%;
	}
}
@media (min-width: 2380px) {
	.p-mypage-content-archive .item {
		flex-basis: 14.285%;
	}
}

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

	[ PROJECT ] [ MYPAGE ] LIVE

*/
.p-mypage-live .live-iframe iframe {
	display: block;
	width: 100%;
	outline: none;
}

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

	[ PROJECT ] [ MYPAGE ] REMINDER

*/
.p-mypage-reminder .subhead {
	margin: 20px 0;
	font-size: 20px;
}
.p-mypage-reminder .subhead em {
	display: block;
	font-weight: inherit;
	font-size: 17px;
}
.p-mypage-reminder .text > span {
	display: inline;
}

@media (min-width: 1024px) {
	.p-mypage-reminder .subhead {
		margin: 20px 0;
		font-size: 24px;
	}
	.p-mypage-reminder .subhead span {
		display: inline-block;
	}
	.p-mypage-reminder .subhead em {
		display: inline-block;
		font-size: inherit;
	}
	.p-mypage-reminder .text > span {
		display: block;
	}
}

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

	[ PROJECT ] [ MYPAGE ] SESS CONFIRM

*/
.p-mypage-sess-confirm {
	margin-top: -10px;
	margin-bottom: 30px;
}
.p-mypage-sess-confirm .row {
	display: block;
}
.p-mypage-sess-confirm .col {
	margin-top: 40px;
}
.p-mypage-sess-confirm .h {
	margin-bottom: 15px;
	font-weight: 700;
	font-size: 17px;
}
.p-mypage-sess-confirm .list {
	border-bottom: 1px solid var(--color-border);
}
.p-mypage-sess-confirm .list .item {
	padding: 15px 0 17px 0;
	border-top: 1px solid var(--color-border);
	font-size: 14px;
}
.p-mypage-sess-confirm .list .c-session-title {
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.p-mypage-sess-confirm .list .c-session-title span {
	margin-top: 5px;
	font-size: 13px;
}

@media (min-width: 768px) {
	.p-mypage-sess-confirm {
		margin-top: 0;
	}
	.p-mypage-sess-confirm .row {
		display: flex;
		margin: 0 -25px;
	}
	.p-mypage-sess-confirm .col {
		margin-top: 50px;
		padding: 0 25px;
	}
	.p-mypage-sess-confirm {
		margin-bottom: 60px;
	}
}

@media (min-width: 1024px) {
	.p-mypage-sess-confirm .item .head {
		flex-direction: row;
		gap: 25px;
		font-size: 14px;
	}
}

@media (min-width: 1367px) {
	.p-mypage-sess-confirm .list .item {
		display: flex;
		align-items: center;
	}
	.p-mypage-sess-confirm .list .item .time {
		flex-basis: 110px;
		flex-shrink: 0;
	}
}

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

	[ PROJECT ] [ MYPAGE ] COMPLETE

*/
.p-mypage-complete .icon {
	margin: 40px auto 50px auto;
	width: 130px;
}
.p-mypage-complete .icon img {
	width: 100%;
}

@media (min-width: 1024px) {
	.p-mypage-complete .icon {
		margin: 50px auto 60px auto;
	}
}

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

	[ PROJECT ] [ MYPAGE ] SESS EDIT

*/

.p-mypage-sess-edit .participate-type {
	margin-top: 20px;
	padding: 15px;
	background-color: var(--color-primary);
	border-radius: 9px;
	color: #fff;
}
.p-mypage-sess-edit .participate-type.is-invalid {
	background-color: #FFF2F2;
	color: inherit;
}
.p-mypage-sess-edit .participate-type .head {
	position: relative;
	margin-bottom: 10px;
}
.p-mypage-sess-edit .participate-type .head .h {
	padding-right: 50px;
	font-weight: 700;
	font-size: 16px;
}
.p-mypage-sess-edit .participate-type .badge {
	position: absolute;
	top: 0;
	right: 0;
	padding: 1px 8px 3px 8px;
	font-weight: 400;
	font-style: normal;
	font-size: 14px;
	line-height: 1.5;
	border-radius: 4px;
	background-color: #DC3545;
}
.p-mypage-sess-edit .participate-type .invalid-feedback {
	display: block;
	width: auto;
}
.p-mypage-sess-edit .participate-type ul {
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-weight: 700;
	font-size: 18px;
}
.p-mypage-sess-edit .participate-type ul li label {
	display: flex;
	align-items: center;
	gap: 5px;
}
.p-mypage-sess-edit .participate-type ul li label input {
	margin: 0.16em 0 0 0;
}
.p-mypage-sess-edit .participate-type .form-check-input:checked {
	border-color: #000;
	background-color: #000;
}

@media (min-width: 768px) {
	.p-mypage-sess-edit .participate-type {
		margin-top: 30px;
		padding: 30px 30px;
	}
	.p-mypage-sess-edit .participate-type .head {
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
		margin-bottom: 20px;
	}
	.p-mypage-sess-edit .participate-type .head .h {
		padding-right: 0;
	}
	.p-mypage-sess-edit .participate-type .badge {
		position: static;
	}
	.p-mypage-sess-edit .participate-type .invalid-feedback {
		margin: 0;
	}
	.p-mypage-sess-edit .participate-type ul {
		flex-direction: row;
		gap: 60px;
		font-size: 20px;
	}
}

.participate-type-confirm {
	margin-top: 30px;
	text-align: center;
}
.participate-type-confirm .head {
	position: relative;
	font-size: 14px;
}
.participate-type-confirm .head::before {
	content: '';
	display: block;
	margin: 0 auto;
	width: 70px;
	height: 70px;
	background-image: url(../img/icon-info-circle.svg);
	background-size: contain;
	flex-shrink: 0;
}
.participate-type-confirm .head h2 {
	margin: 10px 0 5px 0;
	font-weight: 700;
	font-size: 19px;
}
.participate-type-confirm .info {
	display: flex;
	gap: 10px;
	margin: 20px 0;
	padding: 10px 10px 13px 10px;
	text-align: left;
	border: 1px solid var(--color-primary);
	border-radius: 3px;
	font-size: 14px;
}
.participate-type-confirm .info::before {
	content: '';
	display: block;
	flex-shrink: 0;
	margin-top: 3px;
	width: 32px;
	height: 32px;
	background-size: contain;
	background-image: url(../img/icon-favorite-add-hover.svg);
}
.participate-type-confirm .foot {
	display: flex;
	justify-content: center;
	margin-top: 15px;
}

@media (min-width: 768px) {
	.participate-type-confirm {
		margin-top: 30px;
		text-align: left;
	}
	.participate-type-confirm .head {
		padding-left: 90px;
		font-size: 20px;
	}
	.participate-type-confirm .head::before {
		position: absolute;
		top: 8px;
		left: 0;
	}
	.participate-type-confirm .head h2 {
		margin: 0 0 5px 0;
		font-size: 32px;
	}
	.participate-type-confirm .info {
		align-items: center;
		gap: 15px;
		margin-left: 90px;
		padding: 10px 15px 13px 15px;
		max-width: 1120px;
		font-size: 16px;
	}
	.participate-type-confirm .foot {
		display: block;
		margin-top: 15px;
		padding-left: 90px;
	}
}

.p-mypage-sess-edit .highlights {
	margin-top: 30px;
	padding: 10px 15px;
	background-color: #fff;
	border-radius: 9px;
	box-shadow: 0 3px 8px 2px rgba(0,0,0,0.2);
}
.p-mypage-sess-edit .highlights .form-switch {
	display: flex;
	align-items: center;
	gap: 15px;
	margin: 0;
	padding: 0;
}
.p-mypage-sess-edit .highlights .form-switch .form-check-label {
	font-weight: 700;
	font-size: 14px;
}
.p-mypage-sess-edit .highlights .form-switch .form-check-input {
	margin: 0;
	width: 66px;
	height: 34px;
	background-color: #DADADA;
	background-image: url(../img/form-switch.svg);
	border: 0;
	flex-shrink: 0;
}
.p-mypage-sess-edit .highlights .form-switch .form-check-input:checked {
	background-color: var(--color-primary);
}

@media (min-width: 768px) {
	.p-mypage-sess-edit .highlights {
		margin-top: 40px;
		padding: 20px 30px;
	}
	.p-mypage-sess-edit .highlights .form-switch {
		display: flex;
		align-items: center;
		gap: 20px;
		margin: 0;
		padding: 0;
	}
	.p-mypage-sess-edit .highlights .form-switch .form-check-label {
		font-weight: 700;
		font-size: 16px;
	}
}

@media (min-width: 1367px) {
	.p-mypage-sess-edit .session-search {
		top: 184px;
	}
}

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

	[ PROJECT ] [ MYPAGE ] POINT-HISTORY

*/
.p-mypage-point-history .c-mypage-point .point .detail {
	padding: 0 !important;
}
.p-mypage-point-history .list {
	margin-top: 40px;
	border-top: 1px solid #8098A2;
}
.p-mypage-point-history .list .item {
	display: flex;
	flex-direction: column;
	gap: 5px;
	padding: 15px 10px;
	border-bottom: 1px solid #8098A2;
	font-size: 14px;
}
.p-mypage-point-history .list .item.use {
	background-color: #C9EDF9;
}
.p-mypage-point-history .list .item .title span {
	display: block;
	margin-top: 5px;
	font-size: 12px;
}
.p-mypage-point-history .list .item.use .title {
	font-weight: 700;
}
.p-mypage-point-history .list .item .point {
	text-align: right;
	font-weight: 700;
	color: var(--color-primary);
}
.p-mypage-point-history .list .item.use .point {
	color: inherit;
}
@media (min-width: 768px) {
	.p-mypage-point-history .list {
		margin-top: 50px;
	}
	.p-mypage-point-history .list .item {
		flex-direction: row;
		align-items: center;
		gap: 30px;
		border-bottom: 1px solid #8098A2;
		font-size: 14px;
	}
	.p-mypage-point-history .list .item .date {
		flex-basis: 16%;
	}
	.p-mypage-point-history .list .item .title {
		flex: 1;
	}
	.p-mypage-point-history .list .item .point {
		flex-basis: 22%;
		text-align: left;
	}
}
@media (min-width: 1024px) {
	.p-mypage-point-history .c-mypage-point {
		display: flex;
	}
	.p-mypage-point-history .c-mypage-point .frame {
		min-width: 490px;
	}
}

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

	[ PROJECT ] [ MYPAGE ] CLIPPING

*/
.p-mypage-clipping {
	margin-bottom: 0;
}
.p-mypage-clipping .clipping-header {
	margin: 10px 0 20px 0;
	padding-bottom: 10px;
	border-bottom: 1px solid #A0BBCC;
	font-weight: 700;
}
.p-mypage-clipping .clipping-header ul li {
	padding: 5px 0;
}
.p-mypage-clipping .clipping-header ul span {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 27px 0.18em 27px;
	height: 34px;
}
.p-mypage-clipping .clipping-header .howto {
	display: flex;
	align-items: center;
	order: 1;
	margin-bottom: 10px;
	height: 34px;
}
.p-mypage-clipping .clipping-header .howto button {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	padding: 0 0 0 20px;
	border-bottom: 1px solid transparent;
	font-weight: 700;
	color: var(--color-primary);
}
.p-mypage-clipping .clipping-header .howto button:hover {
	border-color: var(--color-primary);
}
.p-mypage-clipping .clipping-header .howto button::before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -7px;
	width: 17px;
	height: 17px;
	background-image: url(../img/icon-question.svg);
	background-size: contain;
}
.p-mypage-clipping .clipping-iframe {
	width: 100%;
}
.p-mypage-clipping .clipping-iframe iframe {
	display: block;
	width: 100%;
	outline: none;
}
@media (min-width: 768px) {
	.p-mypage-clipping .clipping-header {
		display: flex;
		align-items: center;
		margin: 40px 0 20px 0;
	}
	.p-mypage-clipping .clipping-header ul {
		display: flex;
		flex: 1;
	}
	.p-mypage-clipping .clipping-header .howto {
		margin: 0;
	}
}
@media (min-width: 1024px) {
	.p-mypage-clipping .c-heading span {
		font-size: 20px;
	}
	.p-mypage-clipping .c-heading em {
		font-size: 36px;
	}
}

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

	[ PROJECT ] [ MYPAGE ] LIVE

*/
.p-mypage-live {
	margin-top: 0 !important;
}

.p-mypage-live .keynote-iframe {
	height: 458px;
}
@media (min-width: 768px) {
	.p-mypage-live .keynote-iframe {
		height: 317px;
	}
}
@media (min-width: 1024px) {
	.p-mypage-live .keynote-iframe {
		height: 513px;
	}
}

.p-mypage-live .live-iframe iframe {
	display: block;
	width: 100%;
	outline: none;
}
.p-mypage-live .live-iframe .alert-image {
	display: flex;
	justify-content: center;
	background-color: #29B5E8;
}
.p-mypage-live .live-iframe .alert-image img {
	display: block;
	max-width: 858px;
	width: 100%;
}
@media (min-width: 888px) {
	.p-mypage-live .live-iframe .alert-image {
		padding: 15px 0;
	}
}

.p-mypage-live .keynote-iframe iframe {
	height: 100%;
}
.p-mypage-live .live-volume {
	margin-bottom: -1px;
	padding: 10px 0;
	background-color: #EFF9FF;
	border-top: 1px solid #A0BBCC;
	border-bottom: 1px solid #A0BBCC;
	text-align: center;
	font-size: 12px;
}
.p-mypage-live .live-header {
	padding: 15px 0;
	border-top: 1px solid #A0BBCC;
	border-bottom: 1px solid #A0BBCC;
}
.p-mypage-live .live-header .assessment {
	display: flex;
}
.p-mypage-live .live-header .assessment span {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 27px 0.18em 27px;
	height: 34px;
	border-radius: 999vw;
	font-weight: 700;
	font-size: 16px;
}
.p-mypage-live .live-header .point {
	display: flex;
	align-items: center;
	margin-top: 10px;
	font-weight: 700;
	font-size: 14px;
	color: var(--color-primary);
}
.p-mypage-live .live-header .point::before {
	content: '';
	flex-shrink: 0;
	display: block;
	margin-right: 4px;
	width: 14px;
	height: 14px;
	background-repeat: no-repeat;
	background-position: center;
	background-image: url(../img/icon-coin.svg);
	background-size: contain;
}
.p-mypage-live .live-header .howto {
	margin-bottom: 10px;
}
.p-mypage-live .live-header .howto:last-child {
	margin-bottom: 0;
}
.p-mypage-live .live-header .howto button {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	padding: 0 0 0 20px;
	border-bottom: 1px solid transparent;
	font-weight: 700;
	color: var(--color-primary);
}
.p-mypage-live .live-header .howto button:hover {
	border-color: var(--color-primary);
}
.p-mypage-live .live-header .howto button::before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -7px;
	width: 17px;
	height: 17px;
	background-image: url(../img/icon-question.svg);
	background-size: contain;
}
@media (min-width: 768px) {
	.p-mypage-live .live-volume {
		font-size: 14px;
	}
	.p-mypage-live .live-header {
		padding: 20px 0;
	}
	.p-mypage-live .live-header .container {
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 0 20px;
	}
	.p-mypage-live .live-header .wrap {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 0 20px;
	}
	.p-mypage-live .live-header .point {
		margin: 0;
		min-height: 34px;
	}
	.p-mypage-live .live-header .howto {
		display: flex;
		align-items: center;
		flex-shrink: 0;
		order: 1;
		margin: 0;
		height: 34px;
	}
}

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

	[ PROJECT ] [ MYPAGE ] DOWNLOAD

*/
.p-mypage-download .c-heading .date {
	font-size: 16px;
}
.p-mypage-download .session-time-anchor {
	margin: 40px 0;
}
.p-mypage-download .session-time-anchor .h {
	margin-bottom: 15px;
	font-weight: 700;
	font-size: 20px;
}
.p-mypage-download .session-time-anchor ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -10px;
	gap: 10px 0;
}
.p-mypage-download .session-time-anchor ul li {
	flex-basis: 50%;
	padding: 0 5px;
}
@media (min-width: 768px) {
	.p-mypage-download .c-heading .date {
		font-size: 20px;
	}
	.p-mypage-download .session-time-anchor ul {
		margin: 0;
		gap: 10px;
	}
	.p-mypage-download .session-time-anchor ul li {
		flex-basis: auto;
		padding: 0;
	}
}
@media (min-width: 1024px) {
	.p-mypage-download .c-heading .date {
		font-size: 22px;
	}
	.p-mypage-download .c-heading > em {
		font-size: 36px;
	}
	.p-mypage-download .session-time-anchor {
		margin: 50px 0;
	}
	.p-mypage-download .session-time-anchor ul {
		gap: 28px;
	}
}
@media (min-width: 1367px) {
	.p-mypage-download .c-heading .date {
		font-size: 24px;
	}
	.p-mypage-download .c-heading > em {
		font-size: 36px;
	}
}

.p-mypage-download-archive {
	margin: 0 0 30px 0;
}
.p-mypage-download-archive .h {
	margin-bottom: 10px;
	padding-top: 10px;
	font-weight: 900;
	font-size: 32px;
}
.p-mypage-download-archive .list .item {
	margin-bottom: 20px;
	font-size: 14px;
}
.p-mypage-download-archive .list .item .head {
	display: flex;
	gap: 10px;
	font-weight: 700;
	line-height: 1.3;
}
.p-mypage-download-archive .list .item .room span {
	display: block;
	padding: 0 0.4em;
	background-color: #000;
	color: #fff;
}
.p-mypage-download-archive .list .item .c-session-id {
	margin: 8px 0 5px 0;
	font-weight: 700;
}
.p-mypage-download-archive .list .item .title {
	font-weight: 700;
	font-size: 13px;
}
.p-mypage-download-archive .list .item .title a {
	color: inherit;
}
.p-mypage-download-archive .list .item .title a:hover {
	color: var(--color-primary);
}
.p-mypage-download-archive .list .item .title em {
	display: block;
	font-size: 16px;
}
.p-mypage-download-archive .list .item .title span {
	display: block;
	margin-top: 5px;
}
.p-mypage-download-archive .list .item .company {
	margin: 20px 0;
	font-size: 13px;
}
.p-mypage-download-archive .list .item .company li {
	margin-bottom: 5px;
}
.p-mypage-download-archive .list .item .foot {
	display: flex;
	justify-content: center;
	margin-bottom: 5px;
}
.p-mypage-download-archive .list .item .foot span {
	display: flex;
	align-items: center;
	min-height: 34px;
	font-weight: 700;
	color: #809AA2;
}
.p-mypage-download-archive .list .item .foot .preparation {
	color: var(--color-primary);
}
@media (min-width: 768px) {
	.p-mypage-download-archive .list {
		display: flex;
		flex-wrap: wrap;
		margin: 0 -12px;
	}
	.p-mypage-download-archive .list .item {
		flex-basis: 50%;
		margin-bottom: 24px;
		padding: 0 12px;
	}
	.p-mypage-download-archive .list .card {
		height: 100%;
	}
	.p-mypage-download-archive .list .card-body {
		position: relative;
		padding-bottom: 50px;
	}
	.p-mypage-download-archive .list .item .foot {
		display: block;
		position: absolute;
		bottom: 0;
		left: 0;
		padding: 16px;
	}
}
@media (min-width: 1024px) {
	.p-mypage-download-archive .list .item {
		flex-basis: 33.333%;
	}
	.p-mypage-download-archive .list .item .company {
		margin: 20px 0 30px 0;
	}
}
@media (min-width: 1367px) {
	.p-mypage-download-archive .list .item {
		flex-basis: 25%;
	}
}

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

	[ PROJECT ] [ MYPAGE ] ASSESSMENT

*/
.p-mypage-session-assessment {

}
.p-mypage-session-assessment .archive {
	margin: 20px 0 0 0;
	border-top: 1px solid #A0BBCC;
}
.p-mypage-session-assessment .archive .item {
	padding: 15px 0;
	border-bottom: 1px solid #A0BBCC;
	font-size: 14px;
}
.p-mypage-session-assessment .archive .item .head {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 15px;
	margin-bottom: 6px;
}
.p-mypage-session-assessment .archive .item .c-badge {
	flex-basis: 100%;
}
.p-mypage-session-assessment .archive .item .title {
	font-weight: 700;
}
.p-mypage-session-assessment .archive .item .title a {
	color: inherit;
}
.p-mypage-session-assessment .archive .item .title a:hover {
	color: var(--color-blue-square);
}
.p-mypage-session-assessment .archive .item .point {
	position: relative;
	margin: 6px 0 0 0;
	padding-left: 20px;
	font-weight: 700;
	color: var(--color-blue-square);
}
.p-mypage-session-assessment .archive .item .point::before {
	content: '';
	display: block;
	position: absolute;
	top: 4px;
	left: 0;
	width: 16px;
	height: 16px;
	background-position: center;
	background-repeat: no-repeat;
	background-image: url(../img/icon-coin.svg);
	background-size: contain;
}
.p-mypage-session-assessment .archive .item .foot {
	display: flex;
	justify-content: center;
	margin: 10px 0 0 0;
}
.p-mypage-session-assessment .archive .item .foot span {
	display: flex;
	align-items: center;
	min-height: 34px;
	font-weight: 700;
	color: #809AA2;
}
@media (min-width: 768px) {
	.p-mypage-session-assessment .archive .item .foot {
		justify-content: flex-start;
	}
}
@media (min-width: 1024px) {
	.p-mypage-session-assessment .archive {
		margin: 40px 0 0 0;
	}
	.p-mypage-session-assessment .archive .item {
		display: flex;
		align-items: center;
	}
	.p-mypage-session-assessment .archive .block {
		flex: 1;
		padding-right: 50px;
	}
	.p-mypage-session-assessment .archive .item .c-badge {
		flex-basis: auto;
	}
	.p-mypage-session-assessment .archive .item .point {
		flex-shrink: 0;
		flex-basis: 160px;
		margin: 0;
	}
	.p-mypage-session-assessment .archive .item .foot {
		display: flex;
		justify-content: center;
		flex-shrink: 0;
		flex-basis: 216px;
		margin: 0;
	}
	.p-mypage-session-assessment .archive .item .foot .c-btn {
		padding-left: 0;
		padding-right: 0;
		width: 100%;
	}
}

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

	[ LAYOUT ] [ SESSION ] ARCHIVE (アーカイブ)

*/
.l-session-archive {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	gap: 20px 0;
	margin-bottom: 40px;
}
.l-session-archive:last-child {
	margin-bottom: 0;
}

@media (min-width: 768px) {
	.l-session-archive {
		flex-direction: row;
		gap: 30px 0;
		margin-left: -15px;
		margin-right: -15px;
	}
	.l-session-archive .item {
		flex-basis: 50%;
		padding: 0 15px;
	}
}

@media (min-width: 1024px) {
	.l-session-archive {
		margin-left: -25px;
		margin-right: -25px;
	}
	.l-session-archive .item {
		padding: 0 25px;
		flex-basis: 33.333%;
	}
}

@media (min-width: 1367px) {
	.l-session-archive .item {
		flex-basis: 25%;
	}
}

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

	[ LAYOUT ] GENERAL ENQ INPUT

*/
.l-general-enq-input {
	margin-top: 20px !important;
}
.l-general-enq-input .check-type01 {
	padding: 5px 0;
}
.l-general-enq-input .check-type01 ul {
	display: flex;
  flex-direction: column;
	gap: 10px 0;
}
.l-general-enq-input .check-type01 ul li {
	font-size: 14px;
}
.l-general-enq-input .check-type01 label {
	position: relative;
	padding: 0 0 0 1.5em;
	line-height: 1.5;
}
.l-general-enq-input .check-type01 input {
	position: absolute;
	top: 0;
	left: 0;
	font-size: 16px;
}
.l-general-enq-input .check-type01 br {
	display: none;
}

@media (min-width: 768px) {
	.l-general-enq-input {
		margin-top: 30px !important;
	}
	.l-general-enq-input .check-type01 {
		margin: 20px 0 0 0;
		padding: 10px 0;
		font-size: 14px;
	}
	.l-general-enq-input .check-type01 ul {
		flex-direction: row;
		justify-content: space-between;
		gap: 0;
		line-height: 1.3;
	}
	.l-general-enq-input .check-type01 ul li {
		display: flex;
		justify-content: center;
		position: relative;
		width: 100%;
		text-align: center;
	}
	.l-general-enq-input .check-type01 ul li::before {
		content: '';
		display: block;
		position: absolute;
		top: 6px;
		left: 0;
		right: 0;
		height: 8px;
		background-color: #DEE2E6;
	}
	.l-general-enq-input .check-type01 ul li:first-child::before {
		left: 50%;
	}
	.l-general-enq-input .check-type01 ul li:last-child::before {
		right: 50%;
	}
	.l-general-enq-input .check-type01 label {
		position: relative;
		display: block;
		padding: 0;
	}
	.l-general-enq-input .check-type01 input {
		position: static;
		display: block;
		margin: 1px auto 10px auto;
		width: 18px;
		height: 18px;
		border: 1px solid #DEE2E6;
	}
	.l-general-enq-input .check-type01 br {
		display: block;
	}
}
@media (min-width: 1024px) {
	.l-general-enq-input .check-type01 br {
		display: none;
	}
}


.l-enq-matrix {
	padding: 15px 0;
	border-top: 1px solid #D7D7D7;
	background-color: #fff;
	font-size: 14px;
}
.l-enq-matrix.head {
	display: none;
	background-color: transparent !important;
	font-size: 14px;
}
.l-enq-matrix.is-invalid {
	background-color: #FFF2F2 !important;
}
.l-enq-matrix input {
	position: absolute;
	top: 0;
	left: 0;
	font-size: 16px;
}
.l-enq-matrix > div {
	font-weight: 700;
}
.l-enq-matrix ul {
	margin-top: 10px;
}
.l-enq-matrix ul li {
	padding: 5px 0;
}
.l-enq-matrix ul label {
	position: relative;
	padding: 0 0 0 1.5em;
	line-height: 1.5;
}

@media (min-width: 768px) {
	.l-enq-matrix {
		display: flex;
		padding: 12px 0;
		border-top: 0;
		border-bottom: 1px solid #D7D7D7;
		background-color: #fff;
	}
	.l-enq-matrix:last-child{
		border-bottom: 0;
	}
	.l-enq-matrix:nth-child(odd) {
		background-color: #F1EFEF;
	}
	.l-enq-matrix.head {
		display: flex;
	}
	.l-enq-matrix > div {
		flex-basis: 220px;
		flex-shrink: 0;
		font-weight: inherit;
		padding-bottom: 1px;
		line-height: 1.5;
	}
	.l-enq-matrix input {
		position: static;
		display: block;
		margin: 0 auto;
		font-size: 16px;
	}
	.l-enq-matrix ul {
		display: flex;
		justify-content: space-between;
		flex: 1;
		margin: 0;
		text-align: center;
	}
	.l-enq-matrix ul li {
		flex: 1;
		padding: 3px 0 0 0;
	}
	.l-enq-matrix.head ul li {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 100%;
	}
	.l-enq-matrix ul label {
		padding: 0;
	}
	.l-enq-matrix ul span {
		display: none;
	}
}
@media (min-width: 1024px) {
	.l-enq-matrix > div {
		flex-basis: 260px;
		font-size: 16px;
	}
	.l-enq-matrix.head br {
		display: none;
	}
}

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

	[ PROJECT ] [ REGISTER ] INPUT

*/
.p-register-input {
	margin-top: 30px;
}
.p-register-input fieldset {
	margin: 40px 0;
	border-bottom: 1px solid #D7D7D7;
	font-size: 16px;
}
.p-register-input fieldset:nth-child(1) {
	margin-top: 0;
}
.p-register-input fieldset .h {
	margin: 0 0 10px 0;
}
.p-register-input fieldset .h em {
	font-weight: 700;
	font-size: 24px;
}
.p-register-input fieldset .h span {
	display: block;
	margin: 5px 0 0 0;
	font-weight: 400;
	font-size: 14px;
}
.p-register-input fieldset .form-control-other {
	margin-top: 15px;
	font-size: 14px;
}
@media (min-width: 768px) {
	.p-register-input {
		margin-top: 50px;
	}
	.p-register-input fieldset .h span {
		display: inline-block;
		margin: 0 0 0 1em;
	}
}
@media (min-width: 1024px) {
	.p-register-input fieldset {
		margin: 70px 0 50px 0;
	}
}
/*  */
.p-register-input .input-row {
	padding: 15px 0;
	border-top: 1px solid #D7D7D7;
}
.p-register-input .input-row .th {
	position: relative;
	padding: 0 3.5em 0 0;
}
.p-register-input .input-row .th .badge {
	position: absolute;
	right: 0;
	top: 0;
}
.p-register-input .input-row .td {
	margin: 10px 0 0 0;
}
.p-register-input .input-row .td .text {
	margin: 5px 0;
	font-size: 14px;
}
@media (min-width: 1024px) {
	.p-register-input .input-row {
		display: flex;
		padding: 20px 0;
	}
	.p-register-input .input-row .th {
		flex-basis: 400px;
		padding: 7px 0 0 0;
	}
	.p-register-input .input-row .th.auto {
		flex-basis: auto;
		padding-right: 60px;
	}
	.p-register-input .input-row .th .badge {
		top: 7px;
	}
	.p-register-input .input-row .td {
		flex: 1;
		margin: 0;
		padding: 0 0 0 45px;
	}
}
/*  */
.p-register-input .input-block {
	padding: 15px 0;
	border-top: 1px solid #D7D7D7;
}
.p-register-input .input-block-matrix {
	padding-bottom: 0 !important;
}
.p-register-input .input-block .th {
	position: relative;
	padding: 0 3.5em 0 0;
	width: 100%;
}
.p-register-input .input-block-matrix .th {
	padding-bottom: 10px;
}
.p-register-input .input-block .th .badge {
	position: absolute;
	right: 0;
	top: 0;
}
.p-register-input .input-block .th .invalid-feedback {
	display: block;
}
.p-register-input .input-block .td {
	margin: 10px 0 0 0;
}
@media (min-width: 768px) {
	.p-register-input .input-block {
		padding: 20px 0;
	}
	.p-register-input .input-block .th > div:first-child {
		display: flex;
	}
	.p-register-input .input-block .th .badge {
		position: static;
		margin: 0 1em;
	}
}
/*  */
.p-register-input .form-select {
	width: auto;
}
.p-register-input .form-control.w-50 {
	width: 100% !important;
}
@media (min-width: 768px) {
	.p-register-input .form-control.w-50 {
		max-width: 100%;
	}
}
@media (min-width: 1024px) {
	.p-register-input .form-control.w-50 {
		max-width: 460px;
	}
}
/*  */
.p-register-input .list-inline {
	display: flex;
	flex-direction: column;
	gap: 10px 0;
	margin: 0 -15px;
	font-size: 14px;
}
.p-register-input .list-inline li {
	padding: 0 15px;
}
.p-register-input .list-inline label {
	position: relative;
	padding: 0 0 0 1.5em;
	line-height: 1.5;
}
.p-register-input .list-inline label input {
	position: absolute;
	top: 0;
	left: 0;
	font-size: 16px;
}
.p-register-input .list {
	display: flex;
	flex-direction: column;
	gap: 10px 0;
	font-size: 14px;
}
.p-register-input .list label {
	position: relative;
	padding: 0 0 0 1.5em;
	line-height: 1.5;
}
.p-register-input .list label input {
	position: absolute;
	top: 0;
	left: 0;
	font-size: 16px;
}
@media (min-width: 768px) {
	.p-register-input .list-inline {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 15px 0;
		margin-top: 15px;
	}
	.p-register-input .list-inline li {
		flex-basis: 50%;
	}
}
@media (min-width: 1024px) {
	.p-register-input .list-inline li {
		flex-basis: 33.333%;
	}
}
@media (min-width: 1200px) {
	.p-register-input .list-inline.list-col-4 li,
	.p-register-input .list-inline.list-col-5 li {
		flex-basis: 25%;
	}
}
@media (min-width: 1367px) {
	.p-register-input .list-inline.list-col-5 li {
		flex-basis: 20%;
	}
}
/*  */
.p-register-input .border-none {
	padding-top: 0;
	border: 0;
}
.p-register-input .border-dashed {
	border-top-style: dashed;
}
/*  */
.p-register-input .register-password {
	margin: 0 0 30px 0;
	border: 0;
}
.p-register-input .register-password .register-input-row {
	padding-bottom: 10px;
	border: 0;
}
@media (min-width: 768px) {
	.p-register-input .register-password {
		margin: 40px 0;
	}
	.p-register-input .register-password .register-input-row {
		padding-bottom: 10px;
	}
	.p-register-input .register-password .register-input-row .th {
		flex-basis: 270px;
	}
}
/*  */
.p-register-input .input-multiple {
	padding: 15px 0 10px 0;
	border-top: 1px solid #D7D7D7;
}
.p-register-input .input-multiple .th {
	position: relative;
	padding: 0 3.5em 0 0;
}
.p-register-input .input-multiple .th .badge {
	position: absolute;
	right: 0;
	top: 0;
}
.p-register-input .input-multiple .th .invalid-feedback {
	display: block;
}
.p-register-input .input-multiple .td .block {
	padding: 15px 0 15px 0;
	border-bottom: 1px dashed #D7D7D7;
}
.p-register-input .input-multiple .td .block:last-child {
	border-bottom: 0;
}
.p-register-input .input-multiple .td .list-inline {
	margin-top: 10px;
}
@media (min-width: 1024px) {
	.p-register-input .input-multiple {
		padding: 20px 0 10px 0;
	}
	.p-register-input .input-multiple .th {
		padding: 0;
	}
	.p-register-input .input-multiple .th .badge {
		position: static;
		margin: 0 1em;
	}
	.p-register-input .input-multiple .td .block {
		padding: 18px 0 22px 0;
	}
	.p-register-input .input-multiple .td .list-inline li {
		flex-basis: 50%;
	}
}
@media (min-width: 1200px) {
	.p-register-input .input-multiple .td .list-inline li {
		flex-basis: 33.333%;
	}
}

.p-register-input .badge {
	padding: 1px 8px 3px 8px;
	font-weight: 400;
	font-style: normal;
	font-size: 14px;
	line-height: 1.5;
	border-radius: 4px;
}
.p-register-input .badge-optional {
	background-color: #6C757D;
}
.p-register-input .badge-required {
	background-color: #DC3545;
}

.p-register-input .invalid-alert {
	margin: -20px 0 40px 0;
	text-align: center;
	color: #DC3545;
}

.p-register-input .input-row.is-invalid,
.p-register-input .input-block.is-invalid,
.p-register-input .input-multiple.is-invalid {
	background-color: #FFF2F2;
}

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

	[ PROJECT ] [ REGISTER ] ENQ CONFIRM

*/
.p-register-enq-confirm {
	margin: 40px 0 30px 0;
}
.p-register-enq-confirm .list {
	border-bottom: 1px solid var(--color-border);
}
.p-register-enq-confirm .list .item {
	display: flex;
	flex-direction: column;
	gap: 15px 0;
	padding: 15px 0 17px 0;
	border-top: 1px solid var(--color-border);
	font-size: 14px;
}
.p-register-enq-confirm .list .item .title {
	font-weight: 700;
}

@media (min-width: 768px) {
	.p-register-enq-confirm {
		margin: 70px 0 50px 0;
	}
}

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

	[ PROJECT ] [ REGISTER ] COMPLETE

*/
.p-register-complete .c-heading > em {

}
.p-register-complete .subhead {
	margin: 20px 0;
	font-size: 20px;
}
.p-register-complete .subhead em {
	display: block;
	font-weight: inherit;
	font-size: 17px;
}
.p-register-complete .icon {
	margin: 40px auto 50px auto;
	width: 130px;
}
.p-register-complete .icon img {
	width: 100%;
}
.p-register-complete .text br {
	display: none;
}

@media (min-width: 768px) {
	.p-register-complete .c-heading > em .sp {
		display: none;
	}
	.p-register-complete .text br {
		display: block;
	}
}

@media (min-width: 1024px) {
	.p-register-complete .subhead {
		margin: 20px 0;
		font-size: 20px;
	}
	.p-register-complete .subhead span {
		display: inline-block;
	}
	.p-register-complete .subhead em {
		display: inline-block;
		font-size: inherit;
	}
	.p-register-complete .icon {
		margin: 50px auto 50px auto;
	}
}

@media (min-width: 1024px) {
	.p-register-complete .c-heading > em {
		font-size: 40px;
	}
}

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

	[ PROJECT ] POINT COLLECTION

*/
.p-point-collection .c-heading {
	text-align: center;
}
.p-point-collection .c-heading > span {
	font-size: 16px;
}
.p-point-collection .c-heading > em {
	font-weight: 900;
	font-size: 36px;
}
.p-point-collection .about {
	margin: 20px 0;
	text-align: center;
}
.p-point-collection .about .h {
	font-weight: 900;
	font-size: 26px;
}
.p-point-collection .about .h span {
	display: inline-block;
}
.p-point-collection .about .item {
	margin: 25px auto;
	max-width: 580px;
}
.p-point-collection .about .item img {
	width: 100%;
}
.p-point-collection .about .note {
	margin-top: 2em;
	font-size: 14px;
	color: #6C757D;
}
.p-point-collection .howto {
	margin: 50px 0;
}
.p-point-collection .howto .h {
	margin-bottom: 20px;
	text-align: center;
	font-weight: 900;
	font-size: 28px;
}
.p-point-collection .howto .list {
	font-weight: 900;
	transform: rotate(0.04deg);
}
.p-point-collection .howto .list * {
	margin: 0;
	font-weight: inherit;
}
.p-point-collection .howto .list dl {
	margin-bottom: 20px;
}
.p-point-collection .howto .list dl br {
	display: none;
}
.p-point-collection .howto .list dt em {
	display: block;
	position: relative;
	padding-left: 30px;
}
.p-point-collection .howto .list dt em::before {
	content: '';
	display: block;
	position: absolute;
	top: 0.2em;
	left: 0;
	width: 20px;
	height: 20px;
	background-repeat: no-repeat;
	background-image: url(../img/point-collection-check.svg);
	background-size: contain;
}
.p-point-collection .howto .list dd {
	text-align: right;
}
.p-point-collection .howto .bonus {
	color: var(--color-primary);
}
.p-point-collection .howto .bonus dd span {
	font-size: 13px;
	line-height: 1.3;
}
.p-point-collection .howto .bonus dd span br {
	display: none;
}
.p-point-collection .goods {
	margin: 50px 0 0 0;
}
.p-point-collection .goods .h {
	margin-bottom: 30px;
	text-align: center;
	font-weight: 700;
	font-size: 28px;
}
.p-point-collection .goods .h span {
	display: inline-block;
}
.p-point-collection .goods .list {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -10px -20px -10px;
	text-align: center;
}
.p-point-collection .goods .list li {
	flex-basis: 100%;
	margin-bottom: 30px;
	padding: 0 10px;
}
.p-point-collection .goods .list li figure,
.p-point-collection .goods .list li img {
	display: block;
	margin: 0;
	width: 100%;
}
.p-point-collection .goods .list li figcaption {
	display: block;
	margin-top: 10px;
	font-size: 14px;
}
.p-point-collection .notes {
	margin: 50px 0;
	font-size: 13px;
}
.p-point-collection .notes .h {
	margin-bottom: 10px;
	font-weight: 700;
	font-size: 18px;
}
.p-point-collection .notes li {
	position: relative;
	margin-bottom: 5px;
	padding-left: 1em;
}
.p-point-collection .notes li::before {
	content: '・';
	display: block;
	position: absolute;
	top: 0;
	left: -0.2em;
}
.p-point-collection .redeem .h {
	text-align: center;
	font-weight: 800;
	font-size: 28px;
}
.p-point-collection .redeem .h span {
	display: inline-block;
}
.p-point-collection .redeem .wrap {
	margin-top: 20px;
}
.p-point-collection .redeem .map {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 10px;
}
.p-point-collection .redeem .map img {
	display: block;
	margin-bottom: -10px;
	width: 100%;
	max-width: 376px;
}
.p-point-collection .redeem .detail {
	font-size: 15px;
}
.p-point-collection .redeem .detail li {
	padding: 15px 0;
	border-bottom: 1px solid #A0BBCC;
}
.p-point-collection .redeem .detail h3 {
	display: flex;
	flex-direction: column;
	gap: 5px;
	margin-bottom: 5px;
	font-weight: 700;
	font-size: 18px;
}
.p-point-collection .redeem .detail h3 .point {
	position: relative;
	margin-bottom: 5px;
	padding-left: 20px;
	font-weight: 400;
	font-size: 12px;
}
.p-point-collection .redeem .detail h3 .point::before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -8px;
	width: 16px;
	height: 16px;
	background-image: url(../img/icon-expo-point.svg);
	background-size: contain;
}
.p-point-collection .redeem .detail h4 {
	margin-top: 5px;
	font-weight: 700;
	font-size: 16px;
}
.p-point-collection .redeem .detail h4:not(:last-child) {
	margin-bottom: 5px;
}
.p-point-collection .redeem .detail .note {
	margin-top: 5px;
	font-size: 13px;
}
@media (min-width: 414px) {
	.p-point-collection .goods .list li {
		flex-basis: 50%;
	}
}
@media (min-width: 768px) {
	.p-point-collection .c-heading > span {
		font-size: 24px;
	}
	.p-point-collection .c-heading > em {
		font-size: 48px;
	}
	.p-point-collection .about .h {
		font-size: 32px;
	}
	.p-point-collection .howto {
		margin: 50px 0;
	}
	.p-point-collection .howto .h {
		font-size: 36px;
	}
	.p-point-collection .howto .list {
		display: table;
		margin: 0 auto;
	}
	.p-point-collection .howto .list dl {
		display: table-row;
		margin-bottom: 0;
	}
	.p-point-collection .howto .list dl br {
		display: block;
	}
	.p-point-collection .howto .list dt {
		display: table-cell;
		vertical-align: middle;
		padding: 10px 0;
	}
	.p-point-collection .howto .list dd {
		display: table-cell;
		vertical-align: middle;
		padding: 10px 0 10px 30px;
	}
	.p-point-collection .howto .bonus dd span {
		display: inline-block;
	}
	.p-point-collection .howto .bonus dd span br {
		display: block;
	}
	.p-point-collection .goods {
		margin: 80px 0 0 0;
	}
	.p-point-collection .goods .h {
		font-size: 32px;
	}
	.p-point-collection .goods .list {
		margin: 0 -23px -30px -23px;
	}
	.p-point-collection .goods .list li {
		flex-basis: 33.333%;
		margin-bottom: 40px;
		padding: 0 23px;
	}
	.p-point-collection .notes {
		font-size: 14px;
	}
	.p-point-collection .notes .h {
		font-size: 20px;
	}
	.p-point-collection .redeem {
		margin: 120px 0;
	}
	.p-point-collection .redeem .h {
		font-size: 32px;
	}
	.p-point-collection .redeem .wrap {
		margin-top: 40px;
	}
	.p-point-collection .redeem .map {
		margin-bottom: 30px;
		font-size: 20px;
	}
	.p-point-collection .redeem .detail {
		font-size: 15px;
	}
	.p-point-collection .redeem .detail li {
		padding: 15px 0;
	}
	.p-point-collection .redeem .detail li:first-child {
		padding-top: 0;
	}
	.p-point-collection .redeem .detail li:last-child {
		border: 0;
	}
	.p-point-collection .redeem .detail h3 {
		flex-direction: row;
		align-items: center;
		gap: 20px;
		margin-bottom: 5px;
		font-size: 20px;
	}
	.p-point-collection .redeem .detail h3 .point {
		margin-bottom: 0;
	}
	.p-point-collection .redeem .detail h4 {
		margin-top: 5px;
		font-size: 16px;
	}
	.p-point-collection .redeem .detail .note {
		margin-top: 5px;
		font-size: 14px;
	}
}
@media (min-width: 1024px) {
	.p-point-collection .goods .list li {
		flex-basis: 25%;
	}
	.p-point-collection .redeem .wrap {
		display: flex;
		gap: 50px;
	}
	.p-point-collection .redeem .map {
		margin: 0;
		flex-shrink: 0;
	}
	.p-point-collection .redeem .detail {
		flex: 1;
	}
}

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

	[ PROJECT ] LUNCH SESSION BOOKING

*/
.p-lunch-session-booking .h {
	font-weight: 700;
	font-size: 16px;
}
.p-lunch-session-booking .note {
	margin-top: 5px;
	font-size: 14px;
}
.p-lunch-session-booking .note li {
	position: relative;
	padding-left: 1em;
}
.p-lunch-session-booking .note li::before {
	content: '・';
	position: absolute;
	top: 0;
	left: 0;
}
.p-lunch-session-booking .list {
	margin-top: 15px;
	border-bottom: 1px solid #A0BBCC;
}
.p-lunch-session-booking .list .item {
	padding: 15px 0;
	border-top: 1px solid #A0BBCC;
}
.p-lunch-session-booking .list .item.full {
	color: #999;
}
.p-lunch-session-booking .list .item .head {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.p-lunch-session-booking .list .item .head .check {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
}
.p-lunch-session-booking .list .item .title {
	margin-top: 5px;
	font-weight: 700;
	font-size: 14px;
}
.p-lunch-session-booking .list .item .title button {
	text-align: left;
	font-weight: inherit;
	color: inherit;
}
.p-lunch-session-booking .list .item .company {
	margin-top: 5px;
	font-size: 12px;
}
.p-lunch-session-booking .submit {
	display: flex;
	justify-content: center;
	margin-top: 30px;
}
@media (min-width: 768px) {
	.p-lunch-session-booking .h {
		font-size: 40px;
	}
	.p-lunch-session-booking .note {
		font-size: 16px;
	}
	.p-lunch-session-booking .list .item .head {
		justify-content: flex-start;
		gap: 20px;
	}
	.p-lunch-session-booking .list .item .title {
		font-size: 16px;
	}
	.p-lunch-session-booking .list .item .company {
		font-size: 14px;
	}
}

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

	[ PROJECT ] LUNCH SESSION BOOKING COMPLETE

*/
.p-lunch-session-booking-complete {
	text-align: center;
}
.p-lunch-session-booking-complete .h {
	font-weight: 700;
	font-size: 24px;
}
.p-lunch-session-booking-complete .lead {
	margin-top: 10px;
	font-size: 14px;
}
.p-lunch-session-booking-complete .frame {
	overflow: hidden;
	margin-top: 15px;
	border: 1px solid #A0BBCC;
	border-radius: 6px;
}
.p-lunch-session-booking-complete .frame .detail {
	padding: 10px 10px 20px 10px;
	font-size: 14px;
}
.p-lunch-session-booking-complete .frame .detail .id {
	margin: 5px 0;
}
.p-lunch-session-booking-complete .frame .detail .title {
	margin-top: 5px;
	font-weight: 700;
	font-size: 14px;
}
.p-lunch-session-booking-complete .frame .detail .title button {
	text-align: inherit;
	font-weight: inherit;
	color: inherit;
}
.p-lunch-session-booking-complete .frame .detail .company {
	margin-top: 5px;
	font-size: 12px;
}
.p-lunch-session-booking-complete .frame .detail .c-badge {
	justify-content: center;
	margin-top: 12px;
}
.p-lunch-session-booking-complete .frame .info {
	padding: 20px 15px 25px 15px;
	border-top: 1px solid #A0BBCC;
	background-color: #EBFAFF;
}
.p-lunch-session-booking-complete .frame .info h2 {
	font-weight: 700;
	font-size: 14px;
	color: var(--color-primary);
}
.p-lunch-session-booking-complete .frame .info .foot {
	display: flex;
	justify-content: center;
	margin-top: 20px;
}
@media (min-width: 768px) {
	.p-lunch-session-booking-complete {
		margin-left: auto;
		margin-right: auto;
		max-width: 740px;
	}
	.p-lunch-session-booking-complete .h {
		font-size: 40px;
	}
	.p-lunch-session-booking-complete .h br {
		display: none;
	}
	.p-lunch-session-booking-complete .lead {
		font-size: 18px;
	}
	.p-lunch-session-booking-complete .frame {
		margin-top: 25px;
	}
	.p-lunch-session-booking-complete .frame .detail {
		padding: 20px 30px 30px 30px;
		font-size: 16px;
	}
	.p-lunch-session-booking-complete .frame .detail .title {
		font-size: 18px;
	}
	.p-lunch-session-booking-complete .frame .detail .company {
		font-size: 14px;
	}
	.p-lunch-session-booking-complete .frame .info h2 {
		font-size: 18px;
	}
}

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

	[ PROJECT ] LUNCH PASS

*/
.bg-color .c-nav-back .wrap a {
	color: #FFF;
}
.bg-color .c-nav-back .wrap a::before {
	background-image: url(../img/icon-arrow-back-white.svg);
}
.bg-snowflake-blue {
	background-color: var(--color-primary);
}
.bg-iceberg {
	background-color: var(--color-iceberg);
}
.bg-purple-moon {
	background-color: var(--color-purple-moon);
}
.bg-first-light {
	background-color: var(--color-first-light);
}
.bg-violet-dawn {
	background-color: var(--color-violet-dawn);
}
.p-lunch-pass {
	text-align: center;
	color: #FFF;
}
.p-lunch-pass .h {
	font-weight: 800;
	font-size: 23px;
}
.p-lunch-pass .lead {
	margin-top: 5px;
	font-size: 14px;
}
.p-lunch-pass .frame {
	margin: 20px 0;
	padding: 25px 25px;
	border: 4px solid #FFF;
	font-size: 14px;
}
.p-lunch-pass .frame .room {
	font-weight: 800;
}
.p-lunch-pass .frame .room em {
	display: block;
	font-size: 32px;
}
.p-lunch-pass .frame .room span {
	display: block;
	font-size: 16px;
}
.p-lunch-pass .frame .qrcode {
	margin: 15px auto;
	width: 120px;
}
.p-lunch-pass .frame .qrcode img {
	width: 100%;
}
.p-lunch-pass .frame .id {
	margin: 5px 0;
}
.p-lunch-pass .frame .title {
	margin-top: 5px;
	font-weight: 700;
	font-size: 14px;
}
.p-lunch-pass .frame .title button {
	text-align: inherit;
	font-weight: inherit;
	color: inherit;
}
.p-lunch-pass .frame .company {
	margin-top: 5px;
	font-size: 12px;
}
.p-lunch-pass .attention .icon {
	margin: 0 auto;
	width: 70px;
}
.p-lunch-pass .attention .icon img {
	width: 100%;
}
.p-lunch-pass .attention h2 {
	margin: 15px 0 20px 0;
	font-weight: 700;
	font-size: 20px;
}
.p-lunch-pass .attention .note {
	text-align: left;
	font-size: 14px;
}
.p-lunch-pass .attention .note li:not(:last-child) {
	margin-bottom: 5px;
}
.p-lunch-pass .attention .note li {
	position: relative;
	padding-left: 1em;
}
.p-lunch-pass .attention .note li::before {
	content: '・';
	position: absolute;
	top: 0;
	left: 0;
}
@media (min-width: 768px) {
	.p-lunch-pass {
		margin-left: auto;
        margin-right: auto;
        max-width: 740px;
	}
	.p-lunch-pass .h {
		font-size: 40px;
	}
	.p-lunch-pass .lead {
		font-size: 16px;
	}
	.p-lunch-pass .frame {
		padding: 25px 25px;
		font-size: 16px;
	}
	.p-lunch-pass .frame .title {
		font-size: 18px;
	}
	.p-lunch-pass .frame .company {
		font-size: 14px;
	}
	.p-lunch-pass .attention h2 {
		font-size: 28px;
	}
}

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

	[ PROJECT ] PRIZE REDEEM

*/
.p-prize-redeem .status {
	display: flex;
	gap: 20px;
	padding: 10px 15px;
	background-color: #ECF1F5;
	border-radius: 4px;
	font-size: 14px;
}
.p-prize-redeem .status em {
	font-weight: 700;
}
.p-prize-redeem .status .active em {
	color: var(--color-primary);
}
.p-prize-redeem .status .changed {
	color: #809AA2;
}
.p-prize-redeem .list-active {
	margin: 20px 0 0 0;
}
.p-prize-redeem .list-active .h {
	font-weight: 700;
	font-size: 14px;
}
.p-prize-redeem .list-active .empty {
	margin: 10px 0;
	font-weight: 700;
	font-size: 14px;
	text-align: center;
	color: #8A999E;
}
.p-prize-redeem .list-active .list .item {
	border-bottom: 1px solid #A0BBCC;
}
.p-prize-redeem .list-active .list .item label {
	display: flex;
	align-items: center;
	gap: 15px;
	padding: 10px 0;
}
.p-prize-redeem .list-active .list .item .image {
	flex-basis: 50px;
	flex-shrink: 0;
}
.p-prize-redeem .list-active .list .item .image img {
	width: 100%;
}
.p-prize-redeem .list-active .list .item .name {
	flex: 1;
	font-size: 14px;
}
.p-prize-redeem .list-active .lead {
	margin-top: 20px;
	font-size: 14px;
}
.p-prize-redeem .list-active .foot {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 30px;
	margin-top: 30px;
}
.p-prize-redeem .list-active .foot .cancel {
	font-size: 16px;
}
.p-prize-redeem .list-active .foot .cancel a:hover {
	text-decoration: underline;
}
.p-prize-redeem .list-changed {
	margin-top: 40px;
}
.p-prize-redeem .list-changed .h {
	font-size: 14px;
}
.p-prize-redeem .list-changed .list {
	opacity: 0.4;
}
.p-prize-redeem .list-changed .list .item {
	display: flex;
	align-items: center;
	gap: 15px;
	padding: 10px 0;
	border-bottom: 1px solid #A0BBCC;
}
.p-prize-redeem .list-changed .list .item .image {
	flex-basis: 50px;
	flex-shrink: 0;
}
.p-prize-redeem .list-changed .list .item .image img {
	width: 100%;
}
.p-prize-redeem .list-changed .list .item .detail {
	flex: 1;
	font-size: 14px;
}
.p-prize-redeem .list-changed .list .item .detail .date {
	font-size: 12px;
}
@media (min-width: 768px) {
	.p-prize-redeem .status {
		gap: 40px;
		padding: 15px 25px;
		font-size: 16px;
	}
	.p-prize-redeem .list-active .h {
		font-size: 28px;
	}
	.p-prize-redeem .list-active .empty {
		font-size: 18px;
	}
	.p-prize-redeem .list-active .list .item label {
		gap: 20px;
	}
	.p-prize-redeem .list-active .list .item .image {
		flex-basis: 100px;
	}
	.p-prize-redeem .list-active .list .item .name {
		font-size: 16px;
	}
	.p-prize-redeem .list-changed .h {
		font-size: 28px;
	}
	.p-prize-redeem .list-changed .list {
		opacity: 0.4;
	}
	.p-prize-redeem .list-changed .list .item {
		gap: 20px;
	}
	.p-prize-redeem .list-changed .list .item .image {
		flex-basis: 100px;
	}
	.p-prize-redeem .list-changed .list .item .detail {
		font-size: 16px;
	}
	.p-prize-redeem .list-changed .list .item .detail .date {
		font-size: 14px;
	}
}

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

	[ PROJECT ] PRIZE REDEEM EMPTY

*/
.p-prize-redeem-empty {
	text-align: center;
}
.p-prize-redeem-empty .icon {
	display: flex;
	justify-content: center;
	margin-top: -10px;
}
.p-prize-redeem-empty .icon img {
	display: block;
	width: 100px;
}
.p-prize-redeem-empty .h {
	margin-top: 10px;
	font-weight: 700;
	font-size: 18px;
}
.p-prize-redeem-empty .status {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin: 15px 0 30px 0;
	font-size: 16px;
}
.p-prize-redeem-empty .status dl {
	margin-top: 20px;
	padding: 15px 0 8px 0;
	width: 100%;
	max-width: 314px;
	border: 1px solid var(--color-blue-square);
	border-radius: 8px;
	background-color: #F1F7FF;
	font-size: 14px;
	line-height: 1.2;
}
.p-prize-redeem-empty .status dt {
	font-weight: 400;
}
.p-prize-redeem-empty .status dd {
	font-weight: 700;
	color: var(--color-blue-square);
}
.p-prize-redeem-empty .status dd em {
	position: relative;
	bottom: -0.06em;
	padding-right: 0.1em;
	font-weight: 900;
	font-size: 32px;
}
.p-prize-redeem-empty .entry {
	display: flex;
	justify-content: center;
	margin: 20px 0;
}
.p-prize-redeem-empty .note {
	font-size: 14px;
}
.p-prize-redeem-empty .subhead {
	margin: 15px 0 25px 0;
	font-weight: 700;
	font-size: 14px;
}
.p-prize-redeem-empty .foot {
	display: flex;
	justify-content: center;
}
@media (min-width: 768px) {
	.p-prize-redeem-empty .icon img {
		width: 140px;
	}
	.p-prize-redeem-empty .h {
		font-size: 24px;
	}
	.p-prize-redeem-empty .status br {
		display: none;
	}
	.p-prize-redeem-empty .subhead {
		font-size: 18px;
	}
	.p-prize-redeem-empty .subhead br {
		display: none;
	}
}

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

	[ PROJECT ] STATUS CODE

*/
.p-status-code {
	position: relative;
	overflow: hidden;
	margin: 0 !important;
	padding: 50px 0 70px 0;
	background: rgba(138,153,158,.07);
}
.p-status-code .container {
	position: relative;
	display: flex;
	align-items: center;
}
.p-status-code img {
	position: absolute;
	top: -30px;
	right: -60px;
	width: 174px;
}
.p-status-code h1 {
	position: relative;
	font-weight: 900;
	font-size: 28px;
	line-height: 1.4;
}
.p-status-code p {
	position: relative;
	margin: 20px 0 30px 0;
}
@media (min-width: 768px) {
	.p-status-code img {
		top: 50%;
		right: -20px;
		transform: translateY(-40%);
		width: 250px;
	}
	.p-status-code h1 {
		font-size: 32px;
	}
	.p-status-code h1 br {
		display: none;
	}
}
@media (min-width: 1024px) {
	.p-status-code {
		padding: 0;
	}
	.p-status-code .container {
		min-height: 596px;
	}
	.p-status-code .wrap {
		padding: 0 40px;
	}
	.p-status-code img {
		right: -30px;
		transform: translateY(-50%);
		width: 400px;
	}
	.p-status-code h1 {
		font-size: 40px;
	}
}
@media (min-width: 1200px) {
	.p-status-code .container {
		min-height: 770px;
	}
	.p-status-code img {
		right: -40px;
		width: 622px;
	}
}


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

	EXPO LAYOUT
	絞り込み
	768px以下 モーダル配置
	768px以上 通常配置
	1367px以上 左固定配置
	タイムテーブル
	1200px以下 縦配置
	1200px以上 カラム配置
*/
.expo-container {
	position: relative;
	min-height: 100vh;
}
.expo-content {
	padding: 0 20px 60px 20px;
}

@media (min-width: 768px) {
	.expo-content {
		padding: 40px 40px 60px 40px;
	}
	.expo-container .session-search {
		margin: 40px 40px 0 40px;
	}
}

@media (min-width: 1024px) {
	.expo-container {
		padding: 0;
	}
	.expo-container .session-search {
		margin: 50px 59px 0 59px;
	}
	.expo-content {
		padding: 40px 59px 60px 59px;
	}
}

@media (min-width: 1367px) {
	.expo-container {
		padding: 0 0 0 220px;
	}
	.expo-container .session-search {
		margin: 0;
	}
	.expo-content {
		padding: 40px 50px 60px 50px;
	}
}

@media (min-width: 1580px) {
	.expo-container {
		padding: 0 0 0 270px;
	}
}


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

	[ LAYOUT ] [ MAIN ] PRIMARY

*/
.l-main-primary {
	margin: 0 !important;
	padding-top: 20px;
	padding-bottom: 160px;
	min-height: 269px;
	background-color: #29B5E8;
	background-repeat: no-repeat;
	background-position: 100% 100%;
	background-image: url(../img/kv-primary.png);
	background-size: 300px auto;
	font-weight: 900;
	color: #fff;
}
.l-main-primary .h .en {
	display: block;
	font-size: 15px;
	line-height: 1.2;
}
.l-main-primary .h .en span {
	color: #000;
}
.l-main-primary .h em {
	display: block;
	margin-top: 10px;
	font-size: 36px;
	line-height: 1.1;
}
.l-main-primary .h em span {
	display: block;
}
@media (min-width: 768px) {
	.l-main-primary {
		padding-top: 50px;
		padding-bottom: 50px;
		min-height: 270px;
		background-size: contain;
		font-weight: 900;
		color: #fff;
	}
	.l-main-primary .h .en {
		font-size: 24px;
	}
	.l-main-primary .h em {
		padding-right: 300px;
		font-size: 42px;
	}
	.l-main-primary .h em span {
		display: inline-block;
	}
}
@media (min-width: 1024px) {
	.l-main-primary {
		min-height: 300px;
	}
}

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

	[ PROJECT ] EXPO

*/
.p-expo-main {
	padding-left: 23px;
	padding-right: 23px;
}
.p-expo-main .h em {
	margin-top: 5px;
	font-size: 52px;
}
.p-expo-main .days {
	margin: 10px 0;
	font-size: 16px;
}
@media (min-width: 768px) {
	.p-expo-main {
		padding-left: 40px;
		padding-right: 40px;
	}
	.p-expo-main .h em {
		font-size: 68px;
	}
	.p-expo-main .days {
		margin: 15px 0;
		font-size: 20px;
	}
}
@media (min-width: 1024px) {
	.p-expo-main {
		padding-left: 59px;
		padding-right: 59px;
	}
}
@media (min-width: 1200px) {
	.p-expo-main .days {
		display: flex;
		gap: 40px;
	}
}

.p-expo-head {
	margin: 30px 0;
}
.p-expo-head .lead {
	font-size: 14px;
}
.p-expo-head nav {
	margin-top: 30px;
	text-align: center;
}
.p-expo-head nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 0;
	margin: 0 -10px;
	font-weight: 800;
	font-size: 12px;
	line-height: 1.3;
}
.p-expo-head nav li {
	padding: 0 10px;
	flex-basis: 50%;
}
.p-expo-head nav a,
.p-expo-head nav li > div {
	position: relative;
	display: block;
	border: 1px solid #D2D1D4;
	border-radius: 8px;
	color: inherit;
}
.loaded .p-expo-head nav a {
	transition: box-shadow 0.25s cubic-bezier(.4,0,.2,1);
}
.p-expo-head nav i {
	display: block;
	position: absolute;
	top: 20px;
	left: 50%;
	margin-left: -25px;
	width: 50px;
}
.p-expo-head nav i img {
	width: 100%;
}
.p-expo-head nav em {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 55px 0 0 0;
	height: 110px;
	text-align: center;
}
@media (min-width: 768px) {
	.p-expo-head {
		margin: 0 0 60px 0;
	}
	.p-expo-head .lead {
		font-size: 16px;
	}
	.p-expo-head nav {
		margin-top: 40px;
	}
	.p-expo-head nav ul {
		display: flex;
		flex-wrap: wrap;
		margin: 0 -8px;
		font-size: 16px;
	}
	.p-expo-head nav li {
		flex-basis: 33.333%;
		padding: 0 8px;
	}
	.p-expo-head nav a:hover {
		box-shadow: 0 16px 16px rgba(0,0,0,0.16);
	}
	.p-expo-head nav i {
		margin-left: -35px;
		width: 70px;
		transition: opacity .5s cubic-bezier(.4,0,.2,1);
	}
	.p-expo-head nav a:hover i {
		opacity: 0;
	}
	.p-expo-head nav em {
		padding: 55px 0 0 0;
		height: 140px;
		transition: padding .5s cubic-bezier(.4,0,.2,1);
	}
	.p-expo-head nav a:hover em {
		padding-top: 0;
	}
}
@media (min-width: 1024px) {
	.p-expo-head nav ul {
		margin: 0 -22px;
	}
	.p-expo-head nav li {
		flex-basis: 33.333%;
		padding: 0 22px;
	}
}
@media (min-width: 1200px) {
	.p-expo-head nav li {
		flex-basis: 25%;
	}
}
@media (min-width: 1720px) {
	.p-expo-head nav li {
		flex-basis: 20%;
	}
}

.p-expo-nav {
	margin: 30px 0 0 0;
}
.p-expo-nav .heading {
	margin-bottom: 15px;
	font-weight: 900;
	font-size: 26px;
	line-height: 1.2;
}
.p-expo-nav nav {
	margin: 0 auto;
	width: 280px;
	font-weight: 900;
}
.p-expo-nav .c-btn {
	font-weight: inherit;
}
.p-expo-nav .nav-sponsor {
	text-align: center;
}
.p-expo-nav .nav-sponsor div {
	margin: 15px 0 10px 0;
}
.p-expo-nav .nav-sponsor li {
	margin-bottom: 10px;
}
@media (min-width: 768px) {
	.p-expo-nav .heading {
		margin-bottom: 30px;
		font-size: 40px;
	}
	.p-expo-nav nav {
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
		align-items: flex-start;
		gap: 20px;
		margin: 0;
		width: auto;
	}
	.p-expo-nav .nav-sponsor {
		text-align: left;
	}
	.p-expo-nav .nav-sponsor div {
		margin: 0 0 10px 0;
	}
	.p-expo-nav .nav-sponsor ul {
		display: flex;
		flex-wrap: wrap;
		gap: 15px;
	}
	.p-expo-nav .nav-sponsor li {
		margin-bottom: 0;
	}
}
@media (min-width: 1530px) {
	.p-expo-nav nav {
		flex-direction: row;
		align-items: center;
		gap: 20px 35px;
	}
	.p-expo-nav .nav-sponsor {
		display: flex;
		align-items: center;
		gap: 15px;
	}
	.p-expo-nav .nav-sponsor div {
		margin: 0 0 1px 0;
	}
	.p-expo-nav .nav-sponsor ul {
		gap: 26px;
	}
}

.p-expo-sponsor-heading {
	font-weight: 900;
	font-size: 42px;
}
@media (min-width: 768px) {
	.p-expo-sponsor-heading {
		font-size: 64px;
	}
}

.p-expo-archive {
	margin: 20px 0 50px 0;
	padding-top: 20px;
}
.p-expo-archive .heading {
	margin-bottom: 15px;
	font-weight: 900;
	font-size: 26px;
	line-height: 1.2;
}
.p-expo-archive .list .item {
	margin-bottom: 20px;
}
.p-expo-archive .card {
	display: flex;
	overflow: hidden;
	position: relative;
	width: 100%;
	min-width: initial;
	height: auto;
	text-align: left;
}
.p-expo-archive .card::before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 3px;
	background-color: #29B5E8;
}
.p-expo-archive .card .card-body {
	display: block;
	flex: 1;
	width: 100%;
	min-width: initial;
}
.p-expo-archive .card .title {
	padding-bottom: 5px;
	font-weight: 800;
	font-size: 16px;
	color: #000;
}
@media (any-hover: hover) {
	.p-expo-archive .card {
		transition: box-shadow 0.25s cubic-bezier(.4,0,.2,1), transform 0.25s cubic-bezier(.4,0,.2,1);
	}
	.p-expo-archive .card:hover {
		transform: translateY(-5px);
		box-shadow: 0 8px 16px rgba(64,64,64,0.16);
	}
}
@media (min-width: 580px) {
	.p-expo-archive {
		margin: 40px 0 80px 0;
	}
	.p-expo-archive .heading {
		margin-bottom: 20px;
		font-size: 40px;
	}
	.p-expo-archive .list {
		display: flex;
		flex-wrap: wrap;
		margin: 0 -15px;
	}
	.p-expo-archive .list .item {
		flex-basis: 50%;
		margin: 0;
		padding: 0 15px 20px 15px;
	}
}
@media (min-width: 768px) {
	.p-expo-archive .list {
		margin: 0 -22px;
	}
	.p-expo-archive .list .item {
		padding: 0 22px 22px 22px;
	}
}
@media (min-width: 900px) {
	.p-expo-archive .list .item {
		flex-basis: 33.333%;
	}
}
@media (min-width: 1200px) {
	.p-expo-archive .list .item {
		flex-basis: 25%;
	}
}
@media (min-width: 1367px) {
	.p-expo-archive .list .item {
		flex-basis: 25%;
	}
}
@media (min-width: 1720px) {
	.p-expo-archive .list .item {
		flex-basis: 20%;
	}
}

.p-expo-sponsor-archive {
	margin: 0;
	padding-top: 20px;
}
.p-expo-sponsor-archive .heading {
	margin-bottom: 15px;
	font-weight: 900;
	font-size: 26px;
	line-height: 1.2;
}
.p-expo-sponsor-archive .list .item {
	padding: 0 0 20px 0;
}
.p-expo-sponsor-archive .card {
	display: flex;
	overflow: hidden;
	position: relative;
	width: 100%;
	min-width: initial;
	height: auto;
	text-align: left;
	color: #000;
}
.p-expo-sponsor-archive .card .card-body {
	display: block;
	flex: 1;
	width: 100%;
	min-width: initial;
	padding: 0;
}
.p-expo-sponsor-archive .card::before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 4px;
}
.p-expo-sponsor-archive .card .logo img {
	display: block;
	margin: 0 auto;
	max-width: 275px;
	width: 100%;
}
.p-expo-sponsor-archive .card .detail {
	padding: 1rem;
	padding-top: 5px;
}
.p-expo-sponsor-archive .card .company {
	margin-top: 10px;
	font-size: 14px;
}
.p-expo-sponsor-archive .card .title {
	margin-top: 8px;
	font-weight: 800;
	font-size: 16px;
}
#double-black-diamond .heading {
	color:var(--color-double-black-diamond);
}
#double-black-diamond .card::before {
	background-color: var(--color-double-black-diamond);
}
#black-diamond .heading {
	color:var(--color-black-diamond);
}
#black-diamond .card::before {
	background-color: var(--color-black-diamond);
}
#blue-square .heading {
	color:var(--color-blue-square);
}
#blue-square .card::before {
	background-color: var(--color-blue-square);
}
#snow-row .heading {
	color:var(--color-snow-row);
}
#snow-row .card::before {
	background-color: var(--color-snow-row);
}
@media (any-hover: hover) {
	.p-expo-sponsor-archive .card {
		transition: box-shadow 0.25s cubic-bezier(.4,0,.2,1), transform 0.25s cubic-bezier(.4,0,.2,1);
	}
	.p-expo-sponsor-archive .card:hover {
		transform: translateY(-5px);
		box-shadow: 0 8px 16px rgba(64,64,64,0.16);
	}
}
@media (min-width: 580px) {
	.p-expo-sponsor-archive {
		margin: 0 0 30px 0;
		padding-top: 20px;
	}
	.p-expo-sponsor-archive .heading {
		margin-bottom: 30px;
		font-size: 40px;
	}
	.p-expo-sponsor-archive .list {
		display: flex;
		flex-wrap: wrap;
		margin: 0 -15px;
	}
	.p-expo-sponsor-archive .list .item {
		flex-basis: 50%;
		padding: 0 15px 30px 15px;
	}
}
@media (min-width: 768px) {
	.p-expo-sponsor-archive .list {
		margin: 0 -22px;
	}
	.p-expo-sponsor-archive .list .item {
		padding: 0 22px 40px 22px;
	}
}
@media (min-width: 900px) {
	.p-expo-sponsor-archive .list .item {
		flex-basis: 33.333%;
	}
}
@media (min-width: 1200px) {
	.p-expo-sponsor-archive .list .item {
		flex-basis: 25%;
	}
}
@media (min-width: 1367px) {
	.p-expo-sponsor-archive .list .item {
		flex-basis: 25%;
	}
}
@media (min-width: 1720px) {
	.p-expo-sponsor-archive .list .item {
		flex-basis: 20%;
	}
}

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

	[ PROJECT ] EXPO MAP

*/
.p-expo-guide .c-heading {
	text-align: center;
}
.p-expo-guide .c-heading > span {
	font-weight: 900;
}
.p-expo-guide .c-heading > em {
	font-weight: 800;
}
@media (min-width: 768px) {
	.p-expo-guide .c-heading > span {
		font-size: 24px;
	}
	.p-expo-guide .c-heading > em {
		font-size: 48px;
	}
}

/**/
.p-expo-guide-days {
	margin-top: 20px;
	text-align: center;
	font-weight: 800;
	font-size: 16px;
}
@media (min-width: 768px) {
	.p-expo-guide-days {
		font-size: 20px;
	}
	.p-expo-guide-days .title {
		margin-right: -0.5em;
	}
}
@media (min-width: 1024px) {
	.p-expo-guide-days {
		display: flex;
		justify-content: center;
		gap: 30px;
		margin-top: 30px;
		font-size: 20px;
	}
	.p-expo-guide-days .title {
		margin-right: -0.5em;
	}
}

/**/
.p-expo-guide-map {
	margin: 0 -23px;
	margin-top: 30px;
}
.p-expo-guide-map .frame {
	position: relative;
	background-color: var(--color-primary);
	border: 1px solid var(--color-primary);
	border-left-width: 0;
	border-right-width: 0;
}
.p-expo-guide-map .frame h3 {
	position: absolute;
	z-index: 10;
	top: 15px;
	left: 23px;
	font-weight: 700;
	font-size: 13px;
	pointer-events: none;
}
.p-expo-guide-map .viewer__content {
	overflow: hidden;
	position: relative;
	height: 98vw;
}
.p-expo-guide-map .viewer__item {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	opacity: 0;
}
.p-expo-guide-map .viewer__item img {
	width: 100%;
	height: auto;
}
.p-expo-guide-map .viewer__base {
	position: relative;
}
.p-expo-guide-map .viewer__control {
	position: absolute;
	top: 10px;
	right: 15px;
}
.p-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;
}
.p-expo-guide-map .viewer__zoom:hover {
	opacity: 0.6;
}
.p-expo-guide-map .viewer__zoom--in {
	background-image: url(../img/icon-zoomin.svg);
}
.p-expo-guide-map .viewer__zoom--out {
	background-image: url(../img/icon-zoomout.svg);
}
.p-expo-guide-map .pinchi {
	display: none;
	position: absolute;
	z-index: 10;
	bottom: 10px;
	right: 15px;
	pointer-events: none;
}
.device-sp .p-expo-guide-map .pinchi {
	display: block;
}
@media (min-width: 768px) {
	.p-expo-guide-map {
		margin: 40px 0 0 0;
	}
	.p-expo-guide-map .frame {
		border-left-width: 1px;
		border-right-width: 1px;
	}
	.p-expo-guide-map .frame h3 {
		top: 20px;
		left: 20px;
		font-size: 20px;
	}
	.p-expo-guide-map .viewer__content {
		height: 516px;
	}
	.p-expo-guide-map .viewer__control {
		top: 16px;
		right: 16px;
	}
}

/**/
.p-expo-guide-partner {
	margin-top: 30px;
}
.p-expo-guide-partner .head {
	margin-bottom: 10px;
	font-size: 14px;
}
.p-expo-guide-partner .head .h {
	margin-bottom: 5px;
	font-weight: 900;
	font-size: 22px;
}
.p-expo-guide-partner .frame {
	overflow: hidden;
	border: 1px solid #A0BBCC;
	border-radius: 5px;
}
.p-expo-guide-partner .frame .inner {
	overflow-y: auto;
	padding: 0 20px;
	height: 340px;
	font-size: 14px;
	line-height: 1.7;
}
.p-expo-guide-partner .frame .block {
	padding: 15px 0 20px 0;
	border-bottom: 1px solid #A0BBCC;
}
.p-expo-guide-partner .frame .block:last-child {
	border-bottom: 0;
}
.p-expo-guide-partner .frame .subhead {
	margin-bottom: 5px;
	font-size: 18px;
	font-weight: 900;
}
.p-expo-guide-partner .frame em {
	font-weight: 900;
}
.p-expo-guide-partner .frame .blue-square .subhead,
.p-expo-guide-partner .frame .blue-square em {
	color: var(--color-primary);
}
.p-expo-guide-partner .frame .snow-row .subhead,
.p-expo-guide-partner .frame .snow-row em {
	color: var(--color-snow-row);
}
.p-expo-guide-partner .frame .data-provider .subhead,
.p-expo-guide-partner .frame .data-provider em {
	color: var(--color-data-provider);
}
@media (min-width: 768px) {
	.p-expo-guide-partner {
		margin-top: 50px;
	}
	.p-expo-guide-partner .head {
		display: flex;
		align-items: center;
		gap: 25px;
		margin-bottom: 20px;
		font-size: 16px;
	}
	.p-expo-guide-partner .head .h {
		margin: 0;
		font-size: 32px;
	}
	.p-expo-guide-partner .frame .inner {
		padding: 15px 60px;
		height: 280px;
		font-size: inherit;
	}
	.p-expo-guide-partner .frame .subhead {
		margin-bottom: 5px;
		font-size: 24px;
		font-weight: 900;
	}
}

/**/
.p-expo-guide-sf-booth {
	margin-top: 40px;
	font-size: 14px;
}
.p-expo-guide-sf-booth .frame {
	padding: 35px 20px;
	background-color: var(--color-blue-square);
	border-radius: 13px;
	color: #FFF;
}
.p-expo-guide-sf-booth .icon {
	display: flex;
	justify-content: center;
}
.p-expo-guide-sf-booth .icon img {
	width: 54px;
}
.p-expo-guide-sf-booth .detail .h {
	margin: 10px 0 15px 0;
	text-align: center;
	font-weight: 900;
	font-size: 24px;
}
@media (min-width: 768px) {
	.p-expo-guide-sf-booth {
		margin-top: 50px;
	}
	.p-expo-guide-sf-booth .frame {
		display: flex;
		align-items: center;
		gap: 40px;
		padding: 25px 40px;
	}
	.p-expo-guide-sf-booth .icon {
		display: block;
	}
	.p-expo-guide-sf-booth .icon img {
		width: 72px;
	}
	.p-expo-guide-sf-booth .detail .h {
		margin: 0 0 5px 0;
		text-align: left;
	}
}

/**/
.p-expo-guide-hub {
	margin-top: 40px;
	font-size: 14px;
}
.p-expo-guide-hub .image {
	margin: 0 auto;
	margin-bottom: 20px;
	width: 180px;
}
.p-expo-guide-hub .image img {
	width: 100%;
}
.p-expo-guide-hub .detail .h {
	margin-bottom: 15px;
	font-weight: 900;
	font-size: 20px;
	line-height: 1.4;
	color: var(--color-primary);
}
@media (min-width: 768px) {
	.p-expo-guide-hub {
		display: flex;
		justify-content: center;
		margin-top: 100px;
		font-size: inherit;
	}
	.p-expo-guide-hub .wrap {
		display: flex;
		justify-content: center;
	}
	.p-expo-guide-hub .image {
		margin: 0;
		width: auto;
		flex-basis: 220px;
	}
	.p-expo-guide-hub .detail {
		margin-left: 20px;
	}
	.p-expo-guide-hub .detail .h {
		font-size: 28px;
	}
	.p-expo-guide-hub .detail .h span {
		display: inline-block;
	}
}

/**/
.p-expo-guide-info {
	margin-top: 40px;
	font-size: 14px;
}
.p-expo-guide-info .icon {
	margin: 0 auto;
	margin-bottom: 15px;
	width: 91px;
}
.p-expo-guide-info .icon img {
	width: 100%;
}
.p-expo-guide-info .block {
	margin-bottom: 40px;
}
.p-expo-guide-info .block .h {
	margin-bottom: 10px;
	text-align: center;
	font-weight: 900;
	font-size: 20px;
}
.p-expo-guide-info .block p {
	margin-bottom: 5px;
}
.p-expo-guide-info .block .point {
	position: relative;
	padding-left: 20px;
	font-size: 12px;
}
.p-expo-guide-info .block .point::before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -8px;
	width: 16px;
	height: 16px;
	background-image: url(../img/icon-expo-point.svg);
	background-size: contain;
}
.p-expo-guide-info .block-photo .h {
	color: var(--color-primary);
}
.p-expo-guide-info .block-food .h {
	color: #FF9F36;
}
.p-expo-guide-info .block-drink .h {
	color: #D45B90;
}
@media (min-width: 768px) {
	.p-expo-guide-info {
		display: flex;
		margin: 0 -25px;
		margin-top: 60px;
		font-size: inherit;
	}
	.p-expo-guide-info .block {
		margin: 0;
		padding: 0 25px;
		flex-basis: 33.333%;
	}
	.p-expo-guide-info .block .h {
		font-size: 24px;
	}
}
@media (min-width: 1200px) {
	.p-expo-guide-info .block {
		display: flex;
	}
	.p-expo-guide-info .block .h {
		text-align: left;
	}
	.p-expo-guide-info .icon {
		flex-shrink: 0;
	}
	.p-expo-guide-info .detail {
		flex: 1;
		margin-left: 20px;
	}
}

/**/
.p-expo-guide-point {
	margin-top: 40px;
	font-size: 14px;
}
.p-expo-guide-point .item {
	margin: 0 auto;
	margin-bottom: 25px;
	width: 100%;
	max-width: 300px;
}
.p-expo-guide-point .item img {
	width: 100%;
}
.p-expo-guide-point .h {
	margin-bottom: 20px;
	text-align: center;
	font-weight: 900;
	font-size: 20px;
	line-height: 1.3;
}
.p-expo-guide-point .h span {
	display: block;
}
.p-expo-guide-point .h span:not(:last-child) {
	margin-bottom: 5px;
}
.p-expo-guide-point .foot {
	display: flex;
	justify-content: center;
	margin-top: 20px;
	font-size: 14px;
}
@media (min-width: 768px) {
	.p-expo-guide-point {
		display: flex;
		margin-top: 80px;
		font-size: inherit;
	}
	.p-expo-guide-point .item {
		margin: 0;
		width: auto;
		max-width: initial;
		flex-basis: 360px;
	}
	.p-expo-guide-point .detail {
		margin-left: 40px;
		flex: 1;
	}
	.p-expo-guide-point .h {
		font-size: 24px;
		text-align: left;
	}
	.p-expo-guide-point .foot {
		justify-content: flex-start;
	}
}

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

	[ PROJECT ] LIVE MAIN

*/
.p-live-main .h em {
	margin-top: 5px;
	font-size: 38px;
}
.p-live-main .lead {
	margin: 10px 0;
	font-weight: 400;
	font-size: 16px;
}
@media (min-width: 768px) {
	.p-live-main .h em {
		font-size: 42px;
	}
	.p-live-main .lead {
		margin: 30px 0 0 0;
		padding-right: 400px;
	}
}
@media (min-width: 1024px) {
	.p-live-main {
		min-height: 270px;
	}
	.p-live-main .h em {
		margin-top: 15px;
	}
}

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

	[ PROJECT ] LIVE DETAIL

*/
.p-live-detail .l-live-head .h {
	margin-bottom: 10px;
	font-weight: 900;
	font-size: 22px;
	line-height: 1.3;
}
.p-live-detail .l-live-head .lead {
	font-size: 16px;
}
.p-live-detail .l-session-days {
	margin-bottom: 20px;
}
.p-live-detail .l-live-timetable .heading {
	padding: 20px 0 10px 0;
}
@media (min-width: 768px) {
	.p-live-detail .l-live-head .h {
		font-size: 36px;
	}
	.p-live-detail .l-session-days {
		margin: 30px 0 20px 0;
	}
	.p-live-detail .l-live-timetable .heading {
		padding: 30px 0 20px 0;
	}
}
@media (min-width: 1024px) {
	.p-live-detail .l-live-timetable .heading .h {
		font-size: 24px;
	}
	.p-live-detail .l-live-timetable .list:not(:last-child) {
		margin-bottom: 50px;
	}
}

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

	[ LAYOUT ] LIVE TIMETABLE

*/
.l-live-timetable {

}
.l-live-timetable .heading {
	margin: 10px 0 0 0;
	padding: 10px 0;
}
.l-live-timetable .heading .h {
	font-weight: 900;
	font-size: 22px;
}
.l-live-timetable .list {
	border-top: 1px solid #A0BBCC;
}
.l-live-timetable .list .item {
	position: relative;
	padding: 15px 0;
	border-bottom: 1px solid #A0BBCC;
	font-size: 14px;
}
.l-live-timetable .list .item.is-ended {
	background-color: #EAEDEE;
}
.l-live-timetable .list .item.is-live {
	background-color: #F0FBFF;
}
.l-live-timetable .list .item .c-session-status {
	position: absolute;
	top: 17px;
	right: 0;
	font-size: 12px;
}
.l-live-timetable .list .item .c-session-status span {
	font-weight: 400;
}
.l-live-timetable .list .item .c-session-status .c-session-status--live-ended {
	padding-left: 5px;
	padding-right: 5px;
}
.l-live-timetable .list .item .time {
	flex-shrink: 0;
	font-weight: 700;
	font-size: 16px;
}
.l-live-timetable .list .item .id {
	flex-shrink: 0;
	margin: 5px 0;
	font-weight: 700;
	font-size: 16px;
}
.l-live-timetable .list .item .title {
	margin: 5px 0;
	font-weight: 700;
	font-size: 16px;
}
.l-live-timetable .list .item .interest {
	margin: 10px 0 0 0;
}
.l-live-timetable .list .item .interest h3 {
	font-weight: 700;
}
.l-live-timetable .list .item .interest > ul > li:not(:last-child) {
	margin-bottom: 5px;
}
.l-live-timetable .list .item .interest > ul > li > ul > li {
	display: inline;
}
.l-live-timetable .list .item .interest > ul > li > ul > li::after {
	content: '/';
	display: inline-block;
	transform: scale(0.8);
}
.l-live-timetable .list .item .interest > ul > li > ul > li:last-child::after {
	content: none;
}
.l-live-timetable a:hover {
	text-decoration: underline;
}
@media (min-width: 768px) {
	.l-live-timetable .heading {
		margin: 20px 0 0 0;
		padding: 20px 0 20px 0;
	}
	.l-live-timetable .list .item .interest {
		display: flex;
		gap: 5px;
	}
	.l-live-timetable .list .item .interest h3 {
		flex-shrink: 0;
	}
	.l-live-timetable .list .item .interest > ul {
		flex: 1;
	}
	.l-live-timetable .list .item .interest > ul > li:not(:last-child) {
		margin-bottom: 0;
	}
	.l-live-timetable .list .item .interest > ul > li {
		display: flex;
		gap: 5px;
	}
	.l-live-timetable .list .item .interest > ul > li > div {
		flex-shrink: 0;
	}
	.l-live-timetable .list .item .interest > ul > li > ul {
		flex: 1;
	}
}
@media (min-width: 1024px) {
	.l-live-timetable .heading .h {
		font-size: 36px;
	}
	.l-live-timetable .list .item {
		display: flex;
	}
	.l-live-timetable .list .item .c-session-status {
		right: 20px;
	}
	.l-live-timetable .list .item .time {
		flex-basis: 140px;
	}
	.l-live-timetable .list .item .id {
		flex-basis: 90px;
		margin: 0;
	}
	.l-live-timetable .list .item .detail {
		flex: 1;
	}
	.l-live-timetable .list .item .title {
		margin: 0;
	}
	.l-live-timetable .list .item.is-ended .title,
	.l-live-timetable .list .item.is-live .title {
		padding-right: 90px;
	}
	.l-live-timetable .list .item .interest h3 {
		font-weight: inherit;
	}
	.l-live-timetable .list .item .interest {
		margin: 10px 0 0 0;
		padding: 8px 0 0 0;
		border-top: 1px dashed #A0BBCC;
	}
}