/*
========================================================================
 base
========================================================================
*/

html {
	font-size: 10px !important;
}

a.disabled {
	cursor: default;
	pointer-events: none;
}

a.link-default {
	color: #557FC9 !important;
	text-decoration: underline !important;
}

a.link-default:hover {
	text-decoration: none !important;
}

/*
========================================================================
 utility
========================================================================
*/

.display-none {
	display: none !important;
}

.visibility-hidden {
	visibility: hidden !important;
}

.opacity-0 {
	opacity: 0 !important;
}

.z-index-hidden {
	z-index: -1 !important;
}

.margin-top-08em {
	margin-top: .8em;
}

.margin-bottom-08em {
	margin-bottom: .8em;
}

.margin-top-middle {
	margin-top: 20px;
}

.margin-bottom-middle {
	margin-bottom: 20px;
}

.margin-top-large {
	margin-top: 40px;
}

.margin-top-2large {
	margin-top: 56px;
}

.margin-bottom-large {
	margin-bottom: 40px;
}

.margin-top-0 {
	margin-top: 0 !important;
}

.margin-bottom-0 {
	margin-bottom: 0 !important;
}

.margin-x-0 {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.text-center {
	text-align: center;
}

.text-left {
	text-align: left !important;
}

.text-right {
	text-align: right !important;
}

.text-attention {
	color: #cb0000;
}

.inlinebox-attention {
	display: inline-block;
	border: solid 2px #cb0000;
	padding: .8em 1.2em;
	margin-bottom: .8em;
}

.fw-bold,
.font-weight-bold {
	font-weight: bold;
}

.fw-normal,
.font-weight-normal {
	font-weight: normal !important;
}

/* words group */
.wg {
	display: inline-block;
}

/* IE11では閉じタグ直前の全角・半角スペースは無視されるので、widthでスペースを作る */
@media all and (-ms-high-contrast:none){
	*::-ms-backdrop, .space--zenkaku {
		display: inline-block;
		min-width: 1em;
	}
	*::-ms-backdrop, .space--hankaku {
		display: inline-block;
		min-width: .5em;
	}
}

@media (max-width: 575.98px) {

	.margin-top-2large {
		margin-top: calc( 56 / 576 * 100vw );
	}

	.margin-bottom-large {
		margin-bottom: calc( 48 / 576 * 100vw );
	}

}

/*
========================================================================
 component
========================================================================
*/

.video-postor-wrapper,
.video-container {
	width: 100%;
	display: block;
	position: relative;
}

.video-postor-wrapper:before,
.video-container:before {
	content: '';
	display: block;
	padding: 56.25% 0 0;
}

.video-postor-wrapper img,
.video-container iframe,
.video-container video {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*
========================================================================
 base structure
========================================================================
*/

html {
	height: 100%;
}

body,.page,.main {
	display: flex;
	width: 100%;
	box-sizing: border-box;
}

body {
	min-height: 100%;
	overflow-y: auto;
}

.page {
	flex-direction: column;
}

.main {
	flex-grow: 1;
	flex-direction: column;
}

.header {

}

.header__inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
}

.footer {
	position: absolute;
	bottom: 0;
	width: 100%;
	z-index: 2;
	pointer-events: none;
}

.footer-copy {
	color: #333;
	transition: color 2s linear;
}

.theme--dark .footer-copy,
.night .footer-copy {
	color: #fff;
}

.main.hidden {
	visibility: hidden;
}

.html--opening,
.html--opening body,
.html--opening .wrapper,
.html--opening .page {

}

.html--opening .header,
.html--opening .footer {
	z-index: 9001;
}

/*
========================================================================
 loading
========================================================================
*/

.loading {
	/* background: url(../images/svg-loaders/oval.svg) center no-repeat;
	background-size: 80px 80px; */
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10000;
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
}

.loading__spinner {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 60px;
	height: 60px;
}

.loading__spinner svg {
	width: 100%;
	height: 100%;
}

/*
========================================================================
 opening
========================================================================
*/

.opening {
	position: fixed;
	top: 0;
	left: 0;
	width: 1440px;
	max-width: 100%;
	height: 100%;
	box-sizing: border-box;
	padding: 100px;
	background: #fff;
	z-index: 9000;
	left: 50%;
    transform: translate(-50%, 0);
}

.opening__contents {
	width: 100%;
	height: 100%;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.skip-link {
	color: inherit;
	font-size: 1.6rem;
	display: block;
	position: absolute;
	z-index: 10000;
	bottom: 0;
	right: 0;
	transform: translate(0, calc( 100% + .5em ));
	transition: none;
	padding-right: 1.6em;
}

.skip-link:after {
	content: '';
	display: block;
	position: absolute;
	right: .6em;
	top: 50%;
	width: .45em;
	height: .45em;
	border: 2px solid;
	border-top: none;
	border-left: none;
	transform: translate(0,-50%) rotate(-45deg);
}

@media all and (-ms-high-contrast:none){
	*::-ms-backdrop, .skip-link {
		transform: translate(0, 110%);
	}
}

.skip-link:hover {
	opacity: 0.6;
}

@media (hover:none) {
	.skip-link:hover {
		opacity: 1;
	}
}

/*
========================================================================
 nav
========================================================================
*/

.nav-button {
	position: absolute;
	top: 0;
	right: 0;
	bottom: -1px;
	background: #00cbbf;
	color: #fff;
	transition: background .2s linear;
}

@media all and (-ms-high-contrast:none){
	*::-ms-backdrop, .nav-button {
		width: 80px;
	}
  }

.html--opening .nav-button {
	display: none !important;
}

.nav-button__aspect-keeper {
	width: auto;
	height: 100%;
}

.nav-buton__inner {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.nav-button__text {
	font-size: 1.0rem;
	font-weight: bold;
	text-align: center;
	color: #fff;
	margin: .7em 0 0;
	letter-spacing: .05em;
	line-height: 1;
}

.nav-button__icon {
	width: 30px;
	height: 18px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.nav-button__icon:before,
.nav-button__icon:after {
	content: '';
}

.nav-button__icon:before,
.nav-button__icon span,
.nav-button__icon:after {
	display: block;
	height: 2px;
	background: #fff;
	border-radius: 10px;

}

.nav-button:hover {
	background: #00cbbf;
}

.nav-button:hover .nav-button__text{

}

.nav-button:hover .nav-button__icon:before,
.nav-button:hover .nav-button__icon span,
.nav-button:hover .nav-button__icon:after {

}

.nav {
	display: none;
}

.modal-nav .modaal-container {
	/* border-top: solid 4px #b7232d; */
	border-top-left-radius: 0;
	border-top-right-radius: 0;
}

/* .modal-nav .modaal-content-container {
	padding: 0 60px 50px;
} */

.nav-headline {
	font-size: 2.6rem;
	font-weight: bold;
	margin: 50px 0 40px;
	margin: 0 0 70px;
}

.nav-category-list {
	margin: 0 -3em -70px;
	display: flex;
}

.nav-category-list__column {
	width: 50%;
	box-sizing: border-box;
	padding: 0 3em;
}

.nav-category-list__item {
	break-inside: avoid;
	margin: 0 0 70px;
}

.nav-category-title {
	position: relative;
	font-size: 1.8rem;
	line-height: 1.6;
	font-weight: bold;
	padding-left: 1em;
	margin: 0 0 15px;
	margin: 0 0 20px;
}

.nav-category-title:before {
	content: '';
	display: block;
	position: absolute;
	height: 1.4em;
	width: 3px;
	background: #fff;
	left: 0;
	top: .2em;
}

.nav-list  {
	list-style: none;
	margin-left: 1em;
	padding-left: .3em;
}

.nav-list__item,
.nav-child-list__item {
	font-size: 1.8rem;
	line-height: 1.6;
	position: relative;
	padding-left: 1em;
	margin: 0 0 1em;
}

.nav-list__item:before {
	content: '';
	display: block;
	width: 4px;
	height: 4px;
	border-radius: 100%;
	position: absolute;
	left: 0;
	top: .7em;
	background: #fff;
}

.nav-child-list {
	list-style: none;
	margin: 1em 0 .3em;
}

.nav-child-list__item {
	padding-left: 1.3em;
}

.nav-child-list__item:before {
	content: '';
	display: block;
	width: .6em;
	height: 1px;
	position: absolute;
	left: 0;
	top: .8em;
	background: #fff;
}

.nav-item__link,
.nav-item__link--no-link {
	display: inline-block;
	vertical-align: top;
	padding: 0 0 .1em;
	border-bottom: 1px dotted rgba(255,255,255,.5);
	color: #fff;
	text-decoration: none;
}

.nav-item__link:hover {
	border-color: transparent;
}

.nav-item__link--no-link {
	border-bottom: none;
}

/*-------------------- nav modal --------------------*/

.modal-nav.modaal-wrapper {
	/* transition: none; */
}

/* .modal-nav .modaal-outer-wrapper::before { */
.modal-nav.modaal-wrapper::before {
	content: '';
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	/* bottom: 0; */
	background: #00cbbf;
	z-index: 1;
	transition: transform .4s ease-out;
	transform: translate(100%,0);
	height: 100%;
	backface-visibility: hidden;
	will-change: transform;
}

.modal-nav .modaal-inner-wrapper {
	box-sizing: border-box;
	position: relative;
	z-index: 2;
	padding: 80px !important;
	/* transition: opacity .4s ease-out .6s, transform .4s ease-out .6s;
	transform: translate(1%,0);
	opacity: 0; */
}

.modal-nav .modaal-container {
	display: block;
	/* javascriptで設定されるmax-widthを上書きするためなので、importantは消さないで。 */
	max-width: 1600px !important;
	width: auto !important;
    box-shadow: none;
    border: none;
    background: none;
    color: #fff;
}

.modal-nav .modaal-content-container {
	max-width: none;
	padding: 0;
	margin: 0 auto;
}

.modal-nav .modaal-close {
	position: fixed;
	top: 20px;
	right: 20px;
	box-shadow: none;
	background: none !important;
	transform-origin: top right;
	transform: scale(2) !important;
}

.modal-nav .modaal-close:before,
.modal-nav .modaal-close:after {
	width: 2px;
}

.modal-nav .modaal-close:before,
.modal-nav .modaal-close:after {
	top: 14px;
	left: 22px;
}

@media all and (-ms-high-contrast:none){
	*::-ms-backdrop, .modal-nav.modaal-wrapper {
		transition: none;
	}
	*::-ms-backdrop, .modal-nav .modaal-outer-wrapper {
		table-layout: fixed;
	}
	*::-ms-backdrop, .modal-nav .modaal-container {
		display: block;
	}
}

/*--------------------☄animation --------------------*/

/* .modal-nav.modal-after-open .modaal-outer-wrapper::before {
	transform: translate(0,0);
}

.modal-nav.modal-after-open .modaal-inner-wrapper {
	transform: translate(0,0);
	opacity: 1;
} */

.modal-nav.modaal-wrapper.modal-after-open {
	/* transition: all 1s ease-in-out; */
}

.modal-nav.modaal-wrapper.modal-after-open::before {
	transform: translate(0,0);
}

.nav-headline,
.nav-category-list__column,
.modal-nav .modaal-close {
	transition: opacity .4s ease-out, transform .4s ease-out;
	transform: translate(3%,0);
	opacity: 0;
	backface-visibility: hidden;
}

.nav-headline {
	transition-delay: .6s, .6s;
}

.nav-category-list__column:nth-child(1) {
	transition-delay: .8s, .8s;
}

.nav-category-list__column:nth-child(2) {
	transition-delay: 1.1s, 1.1s;
}

.modal-nav.modal-after-open .nav-headline,
.modal-nav.modal-after-open .nav-category-list__column,
.modal-nav.modal-after-open .modaal-close {
	transform: translate(0,0);
	opacity: 1;
}

/*-------------------- animation --------------------*/

@keyframes drop {
	0%{ transform: translateY(-1000px); }
	70%{ transform: translateY(0px)  }
	80%{ transform: translateY(10px)  }
	100%{ transform: translateY(0)  }
}

@keyframes bounce{
	0% {transform: translateY(0px);}
	100% {transform: translateY(-10px);}
}

@keyframes blinking {
    0% {
        opacity: 1;
	}
	40% {
        opacity: 1;
	}
    60% {
		opacity: 0;
	}
	80% {
		opacity: 0;
	}
	100% {
		opacity: 1;
    }
}

@keyframes fade-in {
	0% {
	  visibility: hidden;
	  opacity: 0;
	  z-index: 2;
	}

	1% {
	  visibility: visible;
	  opacity: 0;
	  z-index: 2;
	}

	100% {
	  visibility: visible;
	  opacity: 1;
	  z-index: 2;
	}
}

@keyframes fade-out {
	0% {
	  visibility: visible;
	  /* opacity: 1; */
	}

	99% {
	  visibility: visible;
	  opacity: 1;
	}

	100% {
	  visibility: visible;
	  opacity: 0;
	}
}

/*
========================================================================
 responsive
========================================================================
*/

/*--------------------  --------------------*/

@media (min-width: 576px) {
	.menu-col{
		display: none;
	}
	.footer {
		padding: 24px;
	}
}

@media (max-width: 1199.98px) {

}

@media (max-width: 991.98px) {

	.opening {
		padding: 80px 8vw;
	}

}

@media (max-width: 767.98px) {

	.opening {
		padding: 60px 4vw;
	}

	.skip-link {
		font-size: 1.4rem;
	}

	.modal-nav .modaal-inner-wrapper {
		padding: 10vw !important;
	}

	.modal-nav .modaal-close {
		top: 0;
		right: 0;
		width: 45px;
		height: 45px;
	}

	.nav-category-list {
		display: block;
	}

	.nav-category-list__column {
		width: auto;
	}

}

@media (min-width: 576px) and (max-width: 767.98px) {

	.footer {
		padding: 10px 0;
	}

	.footer-copy {
		font-size: 6px;
	}
}

@media (max-width: 575.98px), (orientation: landscape) and (max-width: 991.98px) {

	.nav-buton__contents {
		transform: scale(.7);
	}

}

@media (-ms-high-contrast:none) and (max-width: 575.98px), (-ms-high-contrast:none) and (orientation: landscape) and (max-width: 991.98px) {
	*::-ms-backdrop, .nav-button {
		width: 48px;
	}
}

@media (max-width: 479.98px), (orientation: landscape) and (max-width: 639.98px)  {

	.nav-buton__contents {
		transform: scale(.5);
	}
}

/*-------------------- tb --------------------*/

@media (orientation:portrait) and (min-width: 576px) and (max-width: 840px) {

	html.is-touch,
	.is-touch body,
	.is-touch .wrapper,
	.is-touch .page {
		height: auto;
	}

	.is-touch .header {
		position: relative;
	}

	.is-touch .footer {
		bottom: auto;
		position: relative;
	}

	.is-touch .theme--dark .footer-copy,
	.is-touch .night .footer-copy {
		color: #333;
	}

	.is-touch .page {
		display: flex;
		flex-direction: column;
	}

	.is-touch .main {
		height: auto;
		flex: 1;
		display: flex;
		flex-direction: column;
	}

	.is-touch .menu-col{
		display: block;
	}

	/* opening */

	.html--opening.is-touch ,
	.html--opening.is-touch  body,
	.html--opening.is-touch  .wrapper,
	.html--opening.is-touch  .page {
		height: 100%;
	}

	.html--opening.is-touch  .footer {
		position: absolute;
		bottom: 0;
	}

	.html--opening.is-touch  .page {
		display: block;
		height: 100vw;
		height: -webkit-fill-available;
		overflow: hidden;
	}

	.html--opening.is-touch  .main {
		display: block;
	}

	.html--opening.is-touch  .nav-button {
		display: none;
	}

	.is-touch .skip-link {
		font-size: 1.2rem;
	}

	/* nav */

	/* .is-touch .modal-nav .modaal-inner-wrapper {
		padding: 4vw !important;
	}

	.is-touch .modal-nav .modaal-content-container {
		padding: 0 4vw 6vw;
	}

	.is-touch .modal-nav .modaal-close {
		top: 0;
		right: 0;
		width: 45px;
		height: 45px;
		transform: scale(1.5) !important;
	}

	.is-touch .nav-headline {
		font-size: 1.8rem;
		margin: 6vw 0 9vw;
	}

	.is-touch .nav-category-list__item {
		margin: 0 0 14vw;
	}

	.is-touch .nav-category-title {
		font-size: 1.4rem;
		margin: 0 0 1em;
	}

	.is-touch .nav-list__item,
	.is-touch .nav-child-list__item {
		font-size: 1.4rem;
		margin: 3vw 0;
	}

	.is-touch .nav-child-list {
		margin: 0;
	} */


	/* スマホのメニュー */

	.is-touch .menu-col {
		width: 100vw;
		overflow: hidden;
		flex: 1;
	}

	.is-touch .menu-col__inner {
		width: 200vw;
		position: relative;
		transition: transform .4s cubic-bezier(0.16, 1, 0.3, 1);
	}

	.is-touch .menu-col__inner.menu-col__inner--slide_right {
		transform: translate(-50%,0);
	}

	.is-touch .menu-col__inner .movie-menu:nth-child(2),
	.is-touch .menu-col__inner.menu-col__inner--slide_right .movie-menu:nth-child(1) {
		position: absolute;
		top: 0;
		bottom: 0;
		overflow: visible;
	}

	.is-touch .menu-col__inner.menu-col__inner--slide_right .movie-menu:nth-child(1) {
		left: 0;
	}

	.is-touch .menu-col__inner .movie-menu:nth-child(2) {
		right: 0;
	}

	.is-touch .menu-col__inner .movie-menu:nth-child(1),
	.is-touch .menu-col__inner.menu-col__inner--slide_right .movie-menu:nth-child(2) {
		position: static;
		left: auto;
		right: auto;
	}

	.is-touch .movie-menu {
		display: block;
		width: 100vw;
	}

	.is-touch .movie-menu:nth-child(1) {
		margin-right: auto;
	}

	.is-touch .movie-menu:nth-child(2) {
		margin-left: auto;
	}

}

/*-------------------- sp --------------------*/

@media (max-width: 575.98px) {

	html,
	body,
	.wrapper,
	.page {
		height: auto;
	}

	.header {
		position: relative;
	}

	.footer {
		bottom: auto;
		position: relative;
	}

	.theme--dark .footer-copy,
	.night .footer-copy {
		color: #333;
	}

	.page {
		display: flex;
		flex-direction: column;
	}

	.main {
		height: auto;
		flex: 1;
		display: flex;
		flex-direction: column;
	}

	/* opening */

	.html--opening,
	.html--opening body,
	.html--opening .wrapper,
	.html--opening .page {
		height: 100%;
	}

	.html--opening .footer {
		position: absolute;
		bottom: 0;
	}

	.html--opening .page {
		display: block;
		height: 100vw;
		height: -webkit-fill-available;
		overflow: hidden;
	}

	.html--opening .main {
		display: block;
	}

	.html--opening .nav-button {
		display: none;
	}

	.skip-link {
		font-size: 1.2rem;
	}

	/* nav */

	.modal-nav .modaal-inner-wrapper {
		padding: 4vw !important;
	}

	.modal-nav .modaal-content-container {
		padding: 0 4vw 6vw;
	}

	.modal-nav .modaal-close {
		top: 0;
		right: 0;
		width: 45px;
		height: 45px;
		transform: scale(1.5) !important;
	}

	.nav-headline {
		font-size: 1.8rem;
		margin: 6vw 0 9vw;
	}

	.nav-category-list__item {
		margin: 0 0 14vw;
	}

	.nav-category-title {
		font-size: 1.4rem;
		margin: 0 0 1em;
	}

	.nav-list__item,
	.nav-child-list__item {
		font-size: 1.4rem;
		margin: 3vw 0;
	}

	.nav-child-list {
		margin: 0;
	}

	/* スマホのメニュー */

	.menu-col {
		width: 100vw;
		overflow: hidden;
		flex: 1;
	}

	.menu-col__inner {
		width: 200vw;
		position: relative;
		transition: transform .4s cubic-bezier(0.16, 1, 0.3, 1);
	}

	.menu-col__inner.menu-col__inner--slide_right {
		transform: translate(-50%,0);
	}

	.menu-col__inner .movie-menu:nth-child(2),
	.menu-col__inner.menu-col__inner--slide_right .movie-menu:nth-child(1) {
		position: absolute;
		top: 0;
		bottom: 0;
		overflow: visible;
	}

	.menu-col__inner.menu-col__inner--slide_right .movie-menu:nth-child(1) {
		left: 0;
	}

	.menu-col__inner .movie-menu:nth-child(2) {
		right: 0;
	}

	.menu-col__inner .movie-menu:nth-child(1),
	.menu-col__inner.menu-col__inner--slide_right .movie-menu:nth-child(2) {
		position: static;
		left: auto;
		right: auto;
	}

	.movie-menu {
		display: block;
		width: 100vw;
	}

	.movie-menu:nth-child(1) {
		margin-right: auto;
	}

	.movie-menu:nth-child(2) {
		margin-left: auto;
	}

}

@media (max-width: 374.98px) {

	.modal-nav .modaal-close {

	}

	.modal-nav .nav-headline {
		margin-top: 60px;
	}

}

/*
========================================================================
modal
========================================================================
*/

/*-------------------- modal common style --------------------*/

.modaal-close {
	position: absolute;
	right: -50px;
	top: -50px;
	background: #00cbbf !important;
	color: #fff !important;
	box-shadow: 0px 8px 8px rgba(0,0,0,0.2);
}

.modaal-inner-wrapper {
	padding: 60px;
}

.modaal-container {
	border-radius: 8px;
}

.modaal-overlay {
	background: rgba(0, 0, 0, 1) !important;
}

.theme--light .modaal-overlay,
.daytime .modaal-overlay {
	background: rgba(255, 255, 255, 1) !important;
}

.theme--dark .modaal-overlay,
.night .modaal-overlay {
	background: rgba(0, 0, 0, 1) !important;
}

.modaal-close:focus,
.modaal-close:focus,
.modaal-close:hover,
.modaal-close:hover {
	background: #00cbbf !important;
	opacity: .7 !important;
}

.modal-nav .modaal-close:focus,
.modal-nav .modaal-close:focus,
.modal-nav .modaal-close:hover,
.modal-nav .modaal-close:hover {
	background: #00cbbf !important;
	opacity: .7 !important;
}

.modaal-close:focus:before,
.modaal-close:focus:after,
.modaal-close:hover:before,
.modaal-close:hover:after {
	background: #fff !important;
}

@media (orientation:portrait) and (max-width: 767.98px){

	.modaal-overlay {
		opacity: .9 !important;
	}

}

@media (max-width: 767.98px) {

	.modaal-close {
		width: 30px;
		height: 30px;
		right: -30px;
		top: -30px;
		box-shadow: 0px 4px 4px rgba(0,0,0,0.2);
	}

	.modaal-close:before, .modaal-close:after {
		top: 7px;
		left: 14px;
		width: 2px;
		height: 16px;
	}

	.modaal-inner-wrapper {
		padding: 35px;
	}

}

/*-------------------- welcome modal --------------------*/

body > #welcome-modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

body > #welcome-modal iframe {
	width: auto;
	height: auto;
}

.modal-welcome .modaal-inner-wrapper{
	z-index: 9001;
	padding: 100px 30px;
}

.modal-welcome .modaal-container,
.modal-welcome .modaal-content,
.modal-welcome .modaal-content-container {
	height: 100%;
}

.modal-welcome .modaal-content-container{
	padding: 0;
}

.modal-welcome .modaal-container {
	max-width: 1280px;
	background: transparent;
	box-shadow: none;
	border-radius: 0;
}

.modal-iframe {
	width: 100%;
	height: 100%;
	/* box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2); */
	z-index: 1;
	position: relative;
}

#welcome-modal{
	position: relative;
}

/*-------------------- video modal --------------------*/

.modal-video .modaal-container,
.modal-video .modaal-content,
.modal-video .modaal-container,
.modal-video .modaal-content-container {

}

.modal-video .modaal-inner-wrapper {
	padding: 60px;
}

.modal-video .modaal-container {
	max-width: 1920px;
	background: transparent;
	box-shadow: none;
	border-radius: none;
}

.modal-video .modaal-content-container {
	position: relative;
	padding: 0;
}

.modal-video .modaal-content-container::before {
	content: '';
	display: block;
	padding: 56.25% 0 0;
	z-index: 1;
}

.modal-video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
}

/*-------------------- detail modal common style --------------------*/

.detail-modal-header {
	border-top: solid 4px #00cbbf;
	border-bottom: solid 1px #dbdbdb;
	padding: 15px 2.5%;
}

.modal-navigator {
	display: flex;
	align-items: center;
}

.modal-navigator__comment {
	flex: 1;
	text-align: left;
	padding: 0;
	font-size: 1.7rem;
	font-size: 1.9rem;
	font-weight: bold;
}

@media (max-width: 575.98px) {

	.detail-modal-header {
		padding: 4vw;
	}

	.modal-navigator__comment {
		padding: 0;
		font-size: 1.4rem;
	}

}

/*-------------------- video page modal --------------------*/

.modal-video-page .modaal-content-container {
	padding: 0;
}

/*-------------------- video list page modal --------------------*/

.modal-video-list-page .modaal-container {
	max-width: 1280px !important;
}

.modal-chapter-list-page .modaal-container {
	max-width: 1280px !important;
}

.modal-video-list-page .modaal-content-container {
	padding: 0;
}

.modal-chapter-list-page .modaal-content-container {
	padding: 40px;
}

.modal-chapter-list-page .modaal-content-container {
	border-top: solid 4px #00cbbf;
}

.video-list {
	display: flex;
	flex-wrap: wrap;
	margin: 30px 22px 30px;
}

.chapter-list {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -10px;
}

.video-list__item {
	margin: 0 8px 0;
	width: calc(25% - 16px);
}

.video-list--length_2__item {
	width: calc(50% - 16px);
}

.video-list--length_3__item {
	width: calc(33.33% - 16px);
}

.chapter-list__item {
	margin: 0 10px;
	width: calc(33.33% - 20px);
}

.video-item__link,
.chapter__link {
	color: inherit;
	text-decoration: none;
}

.video-item__info {
	padding: 18px 0 24px;
}

.chapter__info {
	padding: 24px 0 0;
}

.video-item__title {
	text-align: center;
	font-size: 1.4rem;
	font-weight: normal;
}

.chapter__title {
	text-align: center;
	font-size: 1.6rem;
	font-weight: bold;
}

@media (max-width: 767.98px) {

	.modal-chapter-list-page .modaal-content-container {
		padding: 4vw;
	}

	.chapter__title {
		font-size: 1.4rem;
	}

	.chapter__info {
		padding: 3vw 0 0;
	}

}

@media (max-width: 575.98px) {

	.modal-chapter-list-page .modaal-content-container {
		padding: 5vw;
	}

	.video-list {
		margin: 4vw 2vw;
	}

	.video-list__item {
		margin: 0 2vw;
		width: calc(50% - 4vw);
	}

	.video-item__info {
		padding: 4vw 0;
	}

	.video-item__title {
		font-size: 1.1rem;
	}

	.chapter-list {
		display: block;
		margin: -4vw 0 0;
	}

	.chapter-list__item {
		margin: 5vw 0 0;
		width: auto;
	}

	.chapter__info {
		padding: 5vw 0 0;
	}

	.chapter__title {
		text-align: center;
		font-size: 1.2rem;
		font-weight: bold;
	}

}

/*
========================================================================
追加
========================================================================
*/
.attention-small{
	font-size: 14px;
	margin-left: 10px;
}
@media all and (max-width: 620px){

	.attention-small {
    margin-left: 0px;
	}
	.text-center {
    text-align: left;
	}
}

.speaker-info {
	text-align: left;
	font-weight: normal;
	font-size: calc( 18px * .8 );
}

.speaker-info th,
.speaker-info td {
	padding: .3em;
}

.speaker-info th {
	white-space: nowrap;
}

.speaker-info tr > *:first-child {
	padding-left: 0;
}

.speaker-info tr > *:last-child {
	padding-right: 0;
}

.speaker-info.speaker-info.speaker-info.speaker-info small {
	position: static;
}

.speaker-history th,
.speaker-history td {
	padding: 0;
}

.speaker-history th {
	padding-right: 1em;
	width: 5em;
}

@media all and (max-width: 768px){

	.speaker-info {
		font-size: calc( 15px * .8 );
	}

}

@media all and (max-width: 620px){

	.speaker-info {
		font-size: calc( 14px * .8 );
	}

}

.page-desc {
	margin: 0 auto;
    width: 1160px;
    max-width: 100%;
	margin-top: 24px;
	margin-bottom: 64px;
}

html {
	scroll-behavior: smooth;
}

footer {
	background: #2852B5;
	color: #fff;
	padding: 64px 2vw;
	line-height: 1.75;
}

.footer__inner {
	margin: 0 auto;
    width: 1160px;
    max-width: 100%;
	box-sizing: border-box;
}

footer p + p {
	margin-top: .75em;
}

.button {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	min-height: 2.5em;
	box-sizing: border-box;
	padding: .25em 1.25em;
	border-radius: 10em;
	background: #2852B5;
	color: #fff;
	transition: opacity .4s ease-in-out 0s;
}

@media (any-hover:hover) {
	.button:hover {
		opacity: .8;
	}
}