/**
Theme Name: HM v202312
Theme URL: http://1kc.jp
Author: Hitoshi Taguchi
Version: 1.0
*/

body{
color:#ddd;
background:#1f1f1f;
font-feature-settings: "palt";
}

a{
color:#ddd;
text-decoration:underline;
}
a:hover{
color:#fff;/*白*/
text-decoration:none;
}

a.a_no_underline{
text-decoration:none;
}


.notice_a a{
color:#eee;
text-decoration:none;
background:#6b14ee;
}
.notice_a a:hover{
color:#ddd;
text-decoration:none;
background:#8f14ee;
}


body{
font-family: 'Noto Sans JP', sans-serif;
font-size: 1.25rem;
line-height:170%;
}

/*nav----------------------------------------*/
.navbar-brand{
	font-family: 'Roboto', 'Noto Sans JP' , sans-serif;
	line-height: 100%;
	font-size: 1rem;
	color:#eee;
	font-weight: 600;
}
.navbar{
	font-family: 'Roboto', 'Noto Sans JP' , sans-serif;
	font-weight: 600;
	font-size: 0.9rem;
	background-color: rgba(0, 0, 0, 0)!important;
}

a.navbar-brand{
	text-decoration: none;
}
a:hover.navbar-brand{
	color:#fff;
}
.offcanvas-title{
	font-family: 'Roboto', 'Noto Sans JP' , sans-serif;
	line-height: 100%;
	font-size: 1rem;
	color:#eee;
	font-weight: 600;
}

.offcanvas {
    --bs-offcanvas-width: 100%;
	background-color: rgba(0,0,0,0.9) !important;
}
.btn-close {
	--bs-btn-close-opacity: 1;
}


.navbar-light .navbar-nav .nav-link{
	color:#eee;
	padding-right: 1rem;
    padding-left: 1rem;
    padding-bottom: 0rem;
    padding-top: 0rem;
}
.navbar-light .navbar-nav a, .lang-nav a{
	text-decoration: none;
}

.navbar-light .navbar-nav a:hover, .lang-nav a:hover{
	text-decoration: underline;
	color:#ddd;
}
.navbar-light .navbar-nav .active, .lang-nav .active{
	text-decoration: underline;
	font-weight: 700;
	color:#ddd;
}

.navbar-light .navbar-toggler{
	    border-color: rgba(0,0,0,0);
}
.navbar-toggler {
    padding: 0 0;
    /*font-size: 1rem;*/
    line-height: 1;
    background-color: transparent;
    border: 1px solid transparent;
    border-radius: .25rem;
}
/*ハンバーガー色変更*/
.navbar-toggler .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255,1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}
.dropdown:hover>.dropdown-menu {
  display: block;
}
.dropdown>.dropdown-toggle:active {
  /*Without this, clicking will make it sticky*/
    pointer-events: none;
}
/*footer----------------------------------------*/
.footer{
	background: #0f0f0f;
}
.h2-footer{
	font-family: 'Roboto', 'Noto Sans JP' , sans-serif;
	font-weight: 700;
	font-size: 1.5rem;
	line-height: 100%;
}
.h2-footer-sub{
	font-family: 'Roboto', 'Noto Sans JP' , sans-serif;
	font-weight: 400;
	font-size: 1rem;
	letter-spacing: 0.1rem;
	line-height: 150%;
}
.copyright{
	font-size:0.6rem;
	letter-spacing: 0;
}
.snsbot{
	font-size: 1.5rem;
}

/*h----------------------------------------*/
.h1-01{
	font-family: 'Roboto', 'Noto Sans JP' , sans-serif;
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.1rem;
	line-height: 150%;
}
.h1-01 rt{
	font-size: 0.8rem;
	line-height: 180%;
}


.h1-02{
	font-family: 'Roboto', 'Noto Sans JP' , sans-serif;
	font-weight: 400;
	font-size: 1.25rem;
	line-height: 170%;
	letter-spacing: 0.1rem;
}
.h1-03{
	font-family: 'Roboto', 'Noto Sans JP' , sans-serif;
	font-weight: 400;
	letter-spacing: 0.3rem;
	font-size: 2rem;
	line-height: 150%;
}


/*title 2*/
.h2-01{
	font-family: 'Roboto', 'Noto Sans JP' , sans-serif;
	font-weight: 600;
	letter-spacing: 0.2rem;
	font-size: 1.8rem;
	line-height: 150%;
}
.h2-02{
	font-family: 'Roboto', 'Noto Sans JP' , sans-serif;
	font-weight: 700;
	font-size: 3rem;
	line-height: 150%;
	color: #fff;
}
/*main*/
.h3-01{
	font-family: 'Roboto', 'Noto Sans JP' , sans-serif;
	font-weight: 600;
/*	letter-spacing: 0.1rem;*/
	font-size:3rem;
	line-height: 180%;
}
.h3-01 rt{
	font-size: 0.8rem;
	line-height: 180%;
}
.h3-02{
	font-family: 'Roboto', 'Noto Sans JP' , sans-serif;
	font-weight: 600;
	letter-spacing: 0.1rem;
	line-height: 190%;
	font-size:2rem;
}
.h3-03{
	font-family: 'Roboto', 'Noto Sans JP' , sans-serif;
	font-weight: 600;
	letter-spacing: 0.1rem;
	line-height: 130%;
	font-size:2rem;
}
.h4-01{
	font-family: 'Roboto', 'Noto Sans JP' , sans-serif;
	font-weight: 600;
	line-height: 150%;
	font-size:2rem;
	letter-spacing: 0rem;
}
.h4-02{
	font-family: 'Roboto', 'Noto Sans JP' , sans-serif;
	font-weight: 600;
	line-height: 150%;
	font-size: 1.3rem;
}
.h4-03{
	font-family: 'Roboto', 'Noto Sans JP' , sans-serif;
	font-weight: 600;
	line-height: 120%;
	font-size: 2rem;
}
.h5-01{
	font-family: 'Roboto', 'Noto Sans JP' , sans-serif;
	font-weight: 400;
	line-height: 150%;
	font-size:1.2rem;
}
/*text color*/
.text-gray01{
	color:#7A7C87;
}
.text-gray02{
	color:#b8c4cf;
}
.text-gray03{
		color: #60676e;
}
.text-gray04{
		color: #ccc;
}
.text-gray05{
		color: #999;	
}
.text-white{
	color: #fff;
	font-weight: 600;
}
.text-noweight{
	font-weight: 400;
}

/* bg parts----------------------------------------*/
.bg-purple00{
	background-image: linear-gradient(182deg, rgba(142, 37, 246, 0.3), rgba(255, 255, 255, 0) 300px);
}

.bg-purple01{
background-image: linear-gradient(182deg, rgba(142, 37, 246, 0.8), rgba(255, 255, 255, 0) 80px);
}

.bg-purple02{
background-image: linear-gradient(177deg, rgba(129, 54, 255, 0.8), rgba(255, 255, 255, 0) 100px), linear-gradient(333deg, rgba(26, 25, 33, 1), rgba(255, 255, 255, 0)), linear-gradient(340deg, rgba(0, 0, 0, 0.8), rgba(255, 255, 255, 0));
}
.bg-purple04{
	background-image: linear-gradient(183deg, rgba(152, 50, 246, 0.4), rgba(255, 255, 255, 0) 300px);
}

.bg-blk{
	background-color:rgba(0,0,0,0.5);
}


/*animation trigger*/
.slide-fade-in {
    opacity: 0;
    margin-top: 0rem; /* 下からマージン設定 */
    transform: translateY(50px); /* 下から移動 */
	transition: opacity 1s, transform 0.8s;
}

/*button custum*/
.btn-primary {
  background-color: #6b14ee;
  border: 1px solid #6b14ee;
}

.btn-primary:hover, .btn-primary:not(:disabled):not(.disabled):active {
  background-color: #8f14ee;
  border: 1px solid #8f14ee;
}

.btn-outline-light {
  border: 1px solid #36137e;
  background-color: #36137e;
}

.btn-outline-light:hover, .btn-outline-light:not(:disabled):not(.disabled):active {
  background-color: #6b14ee;
  border: 1px solid #6b14ee;
	color: #eee;
}


/* parts----------------------------------------*/
.hero-logo{
	width: 60%;
}


.border-top{
	border-top:1px solid #383838!important;
}
hr {
	margin-top: 0rem;
	margin-bottom: 0rem;
	border: 0;
	border-top: 1px solid #666;
}
p{
/*	padding-bottom: 1em;*/
letter-spacing: 0.1rem;
}
.p-lead{
	line-height: 200%;
}
.p-s01{
	font-size: 1rem;
	line-height: 180%;
}
.p-s02{
	font-size: 1rem;
	line-height: 1%;
}
.p-gap{
	padding-left: 7rem;
	padding-right: 7rem;
}
.h-gap{
	padding-left: 7rem;
	padding-right: 7rem;
}
.d-gap{
	padding-left: 7rem;
	padding-right: 7rem;
}


.l-spacing01{
	letter-spacing: 0.1rem;
}
.rounded {
    border-radius: 1rem!important;
}
.padding-top-head{
	padding-top: 70px;
}
/**/
.img-row2{
	object-fit: cover;
	width: 100%;
	height: 25vmax;
}
.img-cover{
	object-fit: cover;
	width: 100%;
	height:40vh;
}
.mov-cover{
	object-fit: cover;
	width: 100%;
	height:100%;
}
.img-cover-features{
	object-fit: cover;
	border-radius: 50%;
	width:35vh;
	height:35vh;
}
.img-cover-prof{
	object-fit: cover;
	width: 100%;
	height:40vh;
}
.img-cover-theatre{
	object-fit: cover;
	width:100%;
	height:50vh;
}
.dl-01{
	font-size: 1rem;
	margin-bottom: 0;
	letter-spacing: 0.1rem;
	line-height: 150%;
}
.dl-01 dd{
	margin-bottom: 0.2rem;
}
.dl-02{
	margin-bottom: 0;
	letter-spacing: 0.1rem;
	line-height: 180%;
}

/*swiper*/
.card001{
}
.card001 > .swiper{
	overflow: visible;
	height: 45vh;
	width: 100%;
}
.card002 > .swiper{
	height: 50vh;
	width: 100%;
}

.swiper-slide > img{
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.swiper-button-next, .swiper-button-prev {
    --swiper-navigation-color: #eee; /*ここに変更する色を指定*/
}
/*YouTube ifrme*/
.swiper-slide iframe {
	object-fit: cover;
	width: 100%;
	height: 100%;
}


/* parts----------------------------------------*/
.mt-7{
	margin-top: 7rem;
}
.mb-7{
	margin-bottom: 7rem;
}
.my-7{
	margin-top: 7rem;
	margin-bottom: 7rem;
}
.pt-7{
	padding-top: 7rem;
}
.pb-7{
	padding-bottom: 7rem;
}
.px-7{
	padding-left: 7rem;
	padding-right: 7rem;
}
.py-7{
	padding-top: 7rem;
	padding-bottom: 7rem;
}
.fs-7{
	font-size: 0.8rem;
}


/*add for bootstrap modify---------------------------------------*/
/*20231029*/
.bgvideo-top{
    width: 100%;
	height: 100svh;
}
.bgvideo-page{
    width: 100%;
	height: 30svh;
}
.top_video-bg2 video{
	width: 100%;
    height: 100%;
    object-fit: cover;
}
.top_video-bg2{
	z-index: -10;
	width: 100%;
    height: 100vh;
	overflow: hidden;
	position: fixed;
/*	filter: opacity(0.9);*/
}

/**/
.hero-title{
	display: grid;
  justify-items: center; 
  align-items: center; 
	width: 100%;
    height: 100svh;
	z-index: 20;
	position: absolute;
}
.hero-title-bottom{
	display: grid;
  justify-items: center; 
  align-items: end; 
	width: 100%;
    height: 100svh;
	z-index: 21;
	position: absolute;
}




/*loader-----------------------------------------------------------*/
.loading-overlay {
    position: fixed;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
}

.loader {
    border: 4px solid #f3f3f3;
    border-top: 4px solid #3498db;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    animation: spin 2s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Hide the loader when the video is ready */
.top_video-bg video {
    visibility: hidden;
}

/* Optionally, add a transition effect when hiding the loader */
.top_video-bg video.loaded {
    visibility: visible;
    opacity: 0.9;
    transition: opacity 0.5s;
}


/*media-----------------------------------------------------------*/
@media screen and (max-width: 1400px) {
.hero-logo{
	width: 70%;
}
.img-cover-features {
    width: 30vh;
    height: 30vh;
}
}
@media screen and (max-width: 1200px) {
.hero-logo{
	width: 65%;
}
.p-gap{
	padding-left: 0rem;
	padding-right: 0rem;	
}
.h-gap{
	padding-left: 0rem;
	padding-right: 0rem;	
}
.img-cover-theatre{
	height:30vh;
}
.dl-01{
	font-size: 0.9rem;
}
.img-cover-features {
    width: 35vh;
    height: 35vh;
}
}

@media screen and (max-width: 992px) {
.navbar-brand{
	font-size: 1.2rem;
}
.h1-02{
}
.h3-01{
	font-size:2.4rem;
}
.h3-02{
	font-size:1.7rem;
}
.mb-5{
    margin-bottom: 3rem!important;
}
.pb-5{
    padding-bottom:  3rem!important;		
}
.my-5 {
    margin-top: 3rem!important;
    margin-bottom: 3rem!important;
}
.py-5 {
    padding-top: 3rem!important;
    padding-bottom: 3rem!important;
}
.p-gap{
	padding-left: 0rem;
	padding-right: 0rem;	
}
.card003 > .swiper{
	width: 85%;
}
}

@media screen and (max-width: 768px) {
body{
font-size: 1rem;
line-height:160%;
}
.header-ticket-bot{
	padding-left: 1rem;
	padding-right: 1rem;
}
.navbar-brand{
	font-size: 1.2rem;
}
.padding-top-head{
	padding-top: 10px;
}
.header-title-fluid-wrap {
   /*height: 40vh;*/
}
.h2-footer{
	font-size: 2rem;
}
.h2-footer-sub{
	font-size: 1rem;
}
.hero-logo{
	width: 80%;
}
.h1-01{
font-size: 1.5rem;
}
.h1-02{
font-size: 1.2rem;
}
.img-cover-features {
    width: 40vh;
    height: 40vh;
}
}

@media screen and (max-width: 576px) {
body{
font-size: 1rem;
line-height:180%;
}
.hero-logo{
	width: 85%;
}
.wrapimg_center{
	width: auto;
	height: 100%;
}
.overmargin{
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
}
.navbar-brand{
	font-size: 1rem;
}
.navbar{
padding-top: 0.5rem;
padding-bottom: 0.5rem;		
}
.footer{
font-size: 0.8rem;
}
.h1-01{
font-size: 1.2rem;
line-height: 200%;
}
.h1-02{
font-size: 1rem;
}
.h2-01{
font-size: 1.25rem;
}
.h3-01{
font-size: 1.8rem;
}
.h3-02{
font-size: 1.5rem;
}
.h4-01{
	font-size:1.8rem;
}
.h4-02{
	font-size:1.25rem;
}
.h4-03{
	line-height: 120%;
	font-size: 2rem;
}
.p-lead{
/*	line-height: 170%;		*/
}
.py-7{
padding-top: 5rem;
padding-bottom: 5rem;
}
.mb-7{
margin-bottom: 5rem;
}
.mt-7{
margin-top: 5rem;
}
.dl-01 {
font-size: 0.9rem;
line-height: 160%;
}
.pt-7 {
    padding-top: 5rem;
}
.pb-7 {
    padding-botom: 5rem;
}
.p-gap{
	padding-left: 1rem;
	padding-right: 1rem;	
}

.d-gap{
	padding-left: 2rem;
	padding-right: 2rem;
}
.h2-footer{
	font-size: 1.75rem;
}
.navbar-nav .nav-item{
	font-size: 1rem;
	padding-top: 1rem;
	padding-bottom: 1rem;
	border-top: #1F1F1F 1px solid;
}
.dl-02{
	margin-bottom: 0;
	letter-spacing: 0.1rem;
	line-height: 150%;
}
.img-cover-prof{
	height:30vh;
}
.img-cover{
	height:40vh;
}
.mov-cover{
	height:40vh;
}
.h3-03{
	font-size:1.2rem;
}
}