@charset "utf-8";
/* CSS Document */
/*
Theme Name:キャストウェブ
Theme URI:https://seo-max.jp
Description:キャストウェブ
Author:株式会社リッシン
Author URI:https://rissin-corp.co.jp
Version:1.0
*/
/*Element reset*/
html{font-feature-settings:"palt"; scroll-behavior:smooth}
body,div,h1,h2,h3,h4,h5,h6,p,ol,ul,li,dl,dt,dd,button,small,strong,table,input{margin:0; font-size:1em}
body,pre{font-family:-apple-system, BlinkMacSystemFont,'Helvetica Neue', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN',"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif; -webkit-font-smoothing:antialiased; line-height:1.75; color:#001324}
ul,ol{padding:0; list-style:none}
i,em,var,address{font-style:normal}
img{max-width:100%}
a{display:block; color:inherit; text-decoration:none}
pre{white-space:pre-line; margin:0}
button{background:none; border:0; outline:0; appearance:none}
.lineclamp{line-height:1.5em; max-height:3em; background-color:inherit; position:relative; overflow:hidden; text-align:justify; display:block}
.lineclamp::before{content:"..."; position:absolute; right:0; top:1.5em; display:inline-block; width:1em; height:1.5em; background-color:inherit; line-height:1.5em; color:inherit}
.lineclamp::after{content:""; position:relative; float:right; width:1em; height:1.5em; background-color:inherit; margin-bottom:-1.5em}
body > *{font-family:serif; letter-spacing:2rem}
body.Liff > *{font-family:sans-serif, "Helvetica Neue", "Segoe UI", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", "Yu Gothic", "Meiryo"; letter-spacing:2rem}
body a{transition:all .3s}
body a:hover{opacity:.7}
body.Hbfixed{position:fixed}

/*common*/
body{position:relative; transition:all 1s}
.Loading{display:block; position:fixed; background:#fff; width:100%; height:100vh; z-index:999; opacity:1; transition:.4s}

@font-face{
	font-family:'Noto Sans JP';
	font-style:normal;
	font-display:swap;
	src:url("fonts/NotoSansJP-Black.woff") format("woff");
}

@keyframes Circle{
  0% {stroke-dasharray:0 471}
  99.9%,to { stroke-dasharray:471 471}
}

@keyframes CircleSp{
  0% {stroke-dasharray:0 300}
  99.9%,to {stroke-dasharray:300 300}
}

@keyframes BgGradation {
  0%{background-position:0% 0%}
  50%{background-position:100% 0%}
  100%{background-position:0% 0%}
}

@keyframes fvSlideAnim {
  0%{opacity:0; transform:scale(1.2);}
  15%{opacity:1}
  30%{opacity:1}
  45%{opacity:0}
  100%{opacity:0; transform: scale(1)}
}

@keyframes spin {
  from {transform:rotate(0deg)}
  to   {transform:rotate(360deg)}
}

@media(max-width:789.9px){
	html{font-size:calc(100vw / 750); margin-top:0!important}
	html #wpadminbar{position:fixed; top:0}
	body{font-size:28rem; background:#281D39; color:#fff; max-width:100vw}
	body > * {letter-spacing:5rem; line-height:1.85}
	h1,h2,h3,h4,h5,div,p{font-weight:500}
	.Pconly{display:none}
	.Container{width:88vw; margin:0 auto}
	.Header{position:absolute; top:0; height:120rem; width:100%; z-index:4}
	.HeaderInnear{position:relative; height:120rem}
	.HeaderInnear::before{content:""; position:absolute; top:122rem; height:2rem; background:rgba(255,255,255,.25); width:90%; left:5%}
	.HeaderLogo{position:relative; width:350rem; padding:36rem 0 0 40rem; z-index:2}
	.HeaderNavmainPc{display:none}
	.HeaderNavmainSp{position:fixed; visibility:hidden; opacity:0; top:0; right:0; width:100%; height:100vh; background:linear-gradient(160deg, #000d4c, #500055); box-shadow:0 0 15rem rgba(0,0,0,.3); z-index:2; transition:.4s}
	.HeaderNavmainSp::before{content:""; position:absolute; width:100%; height:100vh; background:url(images/SubHeaderBg.svg); background-size:200%; opacity:0.06}
	.HeaderNavmainSp::after{content:""; position:absolute; top:122rem; height:2rem; background:rgba(255,255,255,.3); width:90%; left:5%}
	.HeaderNavmainSp .HeaderLogo{position:absolute}
	#GlobalMenuInput{display:block; position:absolute; top:0; right:35rem; width:84rem; height:120rem; z-index:4; opacity:0}
	#GlobalMenu{position:absolute; top:20rem; right:35rem; width:84rem; height:84rem; z-index:3; text-align:center}
	.GlobalMenuWords{position:relative; top:15rem; color:#fff; text-align:center; font-size:15rem; font-weight:bold; margin-bottom: 3rem; letter-spacing:1.5rem; transition:all .2s}
	.GlobalMenuRect{position:relative; width:54rem; height:2rem; top:20rem; left:calc(50% - 27rem); margin-bottom:9rem; background:#fff; transition:all .2s}
	#GlobalMenuBack{display:block; position:fixed; width:100%; height:100%; z-index:1; left:-100%; top:0; background:rgba(255,255,255,.8); transition:all .4s}
	#GlobalMenuInput:checked{position:fixed; top:0}
	#GlobalMenuInput:checked~#GlobalMenu{position:fixed; background:rgba(0,0,0,0)}
	#GlobalMenuInput:checked~#GlobalMenu .GlobalMenuWords{top:6rem; font-size:17rem; color:#fff}
	#GlobalMenuInput:checked~#GlobalMenu .Rect1{width:58rem; top:25rem; left:13rem; background:#fff; transform:translateY(0) rotate(30deg)}
	#GlobalMenuInput:checked~#GlobalMenu .Rect2{width:58rem; top:15rem; left:12rem; background:#fff; transform:translateY(0) rotate(-30deg)}
	#GlobalMenuInput:checked~#GlobalMenuBack{left:0%}
	#GlobalMenuInput:checked~.HeaderNavmainSp{visibility:visible; opacity:1}
	.HeaderNavmainUl{position:relative; margin-top:240rem; z-index:1}
	.HeaderNavmainLi{width:100%; height:105rem; line-height:105rem; font-size:32rem}
	.HeaderNavSubLi{width:100%; height:85rem; line-height:80rem; font-size:26rem; color:#fff}
	.HeaderNavmainUl .HeaderNavSubLi:nth-child(1){margin-bottom:30rem}
	.HeaderNavmainLiAnc{margin:0 90rem; color:#fff}
	.HeaderNavmainLiAnc span{position:relative; font-size:22rem; display:inline-block; margin-left:35rem}
	.HeaderNavmainLiAnc span::before{content:""; position:absolute; top:66rem; left:-29rem; width:20rem; height:1rem; background:#fff}
	.HeaderNavContact{position:relative; width:504rem; height:102rem; margin:65rem auto 0; line-height:98rem; border-radius:48rem; padding:4rem; text-align:center; letter-spacing:0; color:#0060ff; font-size:28rem; font-weight:bold; background:#00bcff; border-radius:46rem; box-shadow:0 0 20rem 0 rgba(0,0,0,.1)}
	.HeaderNavContact span{display:block; height:93rem; width:496rem; background:#fff;
    border-radius:42rem}
	.HeaderCopy{    position:absolute; bottom:0; width:100%; height:100rem; line-height:80rem; text-align:center; font-size:20rem; color:#fff}
	.ViewMoreWrap{display:flex; justify-content:center; margin-top:50rem}
	.ViewMoreBtn{position:relative; width:55%; height:86rem; line-height:80rem; text-align:center; border:solid 1rem #fff; color:#fff; transition:.3s}
	.FadeIn{transform:translateY(30rem); opacity:0; transition:.7s}
	.ScrollIn{transform:translateY(0); opacity:1}
	
	/*トップページ*/
	/* ファーストビュー */
	.Fv{position:relative; width:100vw; height:65vh; min-height: 1000rem; overflow:hidden}
	.FvSlider{position:relative; width:100%; height:65vh; min-height: 1000rem; overflow:hidden; list-style:none; margin:0; padding:0}
	.FvSlider .FvSlide{position:absolute; top:0; left:0; width:100%; height:100%; opacity:0; transform:scale(1.25); transition:transform 10s linear,opacity 1s ease}
	.FvSlider .FvSlide img{width:100%; height:100%; object-fit:cover}
	.FvSlider .FvSlide:nth-child(1){animation:fvSlideAnim 12s infinite}
	.FvSlider .FvSlide:nth-child(2){animation:fvSlideAnim 12s infinite 4s}
	.FvSlider .FvSlide:nth-child(3){animation:fvSlideAnim 12s infinite 8s}
	.FvTxt{position:absolute; left:5%; bottom:18%; font-size:48rem; opacity:0; color:#fff; font-weight:600; display:inline-block; letter-spacing:.15em; z-index:3}
	.FvTxt.Show{opacity:1}
	.FvTxt span{opacity:0; display:inline-block; transform:translateY(20rem); transition:all .4s ease}
	.FvTxt.Show span{opacity:1; transform:translateY(0)}
	
	/* キャストスライダー */
	.CastSlider{padding:100rem 0}
	.CastSlider h2{display:flex; justify-content:center; align-items:center; font-size:40rem; font-family:serif; letter-spacing:2rem; margin-bottom:50rem}
	.CastSlider h2 span{padding:0 25rem}
	.CastSlider h2 img{width:80rem; margin-top:2rem}
	.CastSlick{display:flex; justify-content:center; align-items:center; margin:0 20rem}
	.CastSlick.slick-dotted.slick-slider{margin-bottom:140rem}
	.CastSlick .slick-slide{margin: 0 20rem;}
	.CastSlick li a{position:relative; line-height:0}
	.CastSlick li img{border-radius:10rem}
	.CastSlick li p{position:absolute; bottom:0; width:100%; padding:40rem 0; text-align:center; background:linear-gradient(0deg, #281d39b0, transparent)}
	.CastSliderName{font-size:28rem}
	
	/* コンセプト */
	.Concept{background:url(images/ConceptSpBg.jpg) no-repeat; background-size: 750rem; background-position: top center; padding-bottom:110rem}
	.Concept h2{display:flex; justify-content:center; align-items:center; font-size:40rem; font-family:serif; letter-spacing:2rem; margin-bottom:70rem}
	.Concept h2 span{padding:0 25rem}
	.Concept h2 img{width:80rem; margin-top:2rem}
	.Message{padding:305rem 65rem; margin-bottom:100rem; border-radius:10rem}
	.Message p{text-align:center}
	.Gallery{display:block}
	.GalleryTxt{width:100%; padding-bottom:100rem}
	.GalleryTxt h3{font-size:45rem; text-align:center; margin-bottom:15rem}
	.GalleryImg{width:100%}
	.GalleryMainUl{position:relative; width:100%; height:auto; margin-bottom:20rem; overflow:hidden; border-radius:10rem}
	.GalleryMainUl li{display:none}
	.GalleryMainUl li.active{display:block}
	.GalleryMainUl li img{width:100%; height:auto; object-fit:cover; border-radius:10rem; display:block}
	.GallerySubUl{display:flex; justify-content:center; margin-top:10rem}
	.GallerySubUl li{width:22%; margin-right:4%; line-height:0; border-radius:8rem; overflow:hidden; cursor:pointer; opacity:.6; transition:opacity .3s}
	.GallerySubUl li:last-child{margin-right:0}
	.GallerySubUl li.active,.GallerySubUl li:hover{opacity:1}
	.GallerySubUl li img{width:100%; height:100%; object-fit:cover; object-position:center; display:block}

	
	/* スケジュール */
	.Schedule{padding:110rem 0 60rem}
	.Schedule h2{display:flex; justify-content:center; align-items:center; font-size:40rem; font-family:serif; letter-spacing:2rem; margin-bottom:50rem}
	.Schedule h2 span{padding:0 25rem}
	.Schedule h2 img{width:80rem; margin-top:2rem}
	.ScheduleFlex{display:block}
	.TodaysCast{width:92%; margin: 0 auto 60rem; overflow:hidden}
	.WeeklySchedule{width:100%}
	.TodaysCastInner{display:flex; flex-wrap:wrap}
	.TodaysCastItem{width:23%; margin-right:2.65%; margin-top:20rem}
	.TodaysCastInner .TodaysCastItem:nth-child(4n){margin-right:0}
	.TodaysCastImg{display:block}
	.TodaysCastName{font-size:22rem; background:linear-gradient(160deg, #000d4c, #500055); color:#fff; text-align:center}
	.TodaysCastTime{font-size:16rem; background:linear-gradient(160deg, #000d4c, #500055); color:#fff; border-top:solid 1rem #ddd; line-height:30rem; letter-spacing:2rem; text-align:center}	
	.CastSaveDummy{position:absolute; left:-9999px; top:0; display:block; width:1080px;}
	.CastSaveDummy .TodaysCastInner{display:flex; flex-wrap:wrap; border:solid 1rem #aaa; background:url("images/SchedukeToday.jpg"); background-size:cover; padding:210px 20px 40px}
	.CastSaveDummy .TodaysCastItem{width:23%; margin-right:2.65%; margin-top:20rem}
	.CastSaveDummy .TodaysCastItem:nth-child(5n){margin-right:0}
	.CastSaveDummy .TodaysCastItem .TodaysCastName{font-size:30px; line-height: 50px;}
	.CastSaveDummy .TodaysCastItem .TodaysCastTime{font-size:28px; line-height: 48px;}
	.ScheduleFlex h3{text-align:center; margin-bottom:30rem; font-size:32rem; color:#fff}
	.CastGrid{display:flex}
	.CastDay{width:calc(100% / 7); min-height: 110rem; border:solid 1rem #aaa; border-right:none}
	.CastGrid .CastDay:last-child{border-right:solid 1rem #aaa}
	.CastHead{padding:7rem 0 4rem; letter-spacing:3rem; text-align:center; background:#fff7f7; color:#000; font-size:12rem; font-weight:bold; line-height:14rem}
	.CastHead b{display:block; line-height:24rem}
	.CastBody{display:flex; flex-direction:column; justify-content:center; padding:0 5rem; text-align:center}
	.CastSlot{line-height:22rem; padding:7rem 0; font-size:12rem; letter-spacing:1rem; text-align:left; border-bottom:solid 1rem #888}
	.CastName{display:block; font-size:13.5rem}
	.CastBody .CastSlot:last-child{border-bottom:0}
	.CastBody:has(.ShopClose),.CastBody:has(.CastEmpty){height:calc(100% - 52rem)}
	.ShopClose{text-align:center}
	.CastImgSaveBtn{width:62rem; height:62rem; border:solid 1rem #fff; border-radius:8rem; padding:13rem; margin-top:25rem; margin-right:10rem}
	.CastTxtSaveBtn{width:62rem; height:62rem; border:solid 1rem #fff; border-radius:8rem; padding:13rem; margin-top:20rem}
	#TodaysImgModal,#WeeklyImgModal{display:none; position:fixed; z-index:8; left:0; top:0; width:100vw; height:100vh; background:rgba(0, 0, 0, 0.85); justify-content:center; align-items:center}
	#CloseTodaysModal,#CloseWeeklyModal{position:absolute; top:-16rem; right:-16rem; background:#fff; border-radius:50%; width: 50rem; height:50rem; font-size:38rem; line-height:50rem; border:none; box-shadow:0 2rem 8rem rgba(0, 0, 0, .15)}
	#TodaysImgInner,#WeeklyImgInner{background:transparent; padding:0}
	#TodaysImgModal p,#WeeklyImgModal p{text-align:center; margin-top:20rem}
	.ToastMessage{position:fixed; left:50%; top:40%; display: block; width:220px; height: auto; text-align: center; padding:15px 10px; background:rgba(0, 0, 0, 0.85); color:#fff; border-radius:8px; font-size:14px; z-index: 9999; animation: fadeinout 1.6s ease-in-out}
	.WeeklySchedule{width:92%; margin:0 auto; color:#000}
	.WeeklyCastInner .CastGrid{width: 100%; color:#fff}
	.CastSaveDummy .WeeklyCastInner{display:flex; flex-wrap:wrap; border:solid 1rem #aaa; background:url("images/SchedukeWeekly.jpg"); background-size:cover; padding:215px 0 40px}
	.CastSaveDummy .CastDay{width:calc(100% / 7); min-height:120px; background:#281D39; border:solid 1px #aaa; border-right:none}
	.CastSaveDummy .CastHead{padding:5px 0 10px; text-align:center; background:#fff7f7; color:#000; font-size:24rem; line-height:32px; font-weight:bold}
	.CastSaveDummy .CastWeek .CastHead{padding:10px 0 22px; font-size:24px; line-height: 45px; font-weight:bold}
	.CastSaveDummy .ScheduleWeek .CastHead{line-height: 35px; padding-bottom: 8px;}
	.CastSaveDummy .ScheduleWeek .CastHead span{font-size: 22px;}
	.CastSaveDummy .ScheduleWeek .CastHead b{font-size: 22px; font-weight: 500; line-height:24px}
	.CastSaveDummy .ScheduleWeek .CastSlot{font-size: 19px; line-height: 35px; padding:10px 0;}
	.CastSaveDummy .ScheduleWeek .CastSlot .CastName{font-size:23px}
	.CastSaveDummy .CastWeek .CastHead b{display:block; font-size:24px}
	.CastSaveDummy .CastBody{display:flex; flex-direction:column; justify-content:center; min-height:90px; padding:5px 10px; text-align:center}
	.CastSaveDummy .CastBody:has(.ShopClose),.CastSaveDummy .CastBody:has(.CastEmpty){height:calc(100% - 60px)}
	.CastSaveDummy .CastSlot{font-size:18px; color:#fff; line-height:30px; padding:8px 0; letter-spacing:1px; text-align:left; border-bottom:solid 1px #888}
	.CastSaveDummy .CastBody .CastSlot:last-child{border-bottom:0}
	.CastSaveDummy .CastSlot .CastName{font-size:18px}
	.CastSaveDummy .CastSchedle .CastBody:has(.ShopClose),.CastSchedle .CastBody:has(.CastEmpty){height:90px}
	.CastSaveDummy .ShopClose{text-align:center; font-size: 24px;}
	#LoadingOverlay{position:fixed; left:50%; top:42%; bottom: unset; transform:translateX(-50%); width:300px; height: fit-content; text-align: center; padding:28px 10px; background:rgba(0, 0, 0, 0.85); color:#fff; border-radius:8px; font-size:14px; z-index: 9999;}
	#LoadingOverlay img{display:block; margin: 0 auto;  width:60rem; height:60rem; animation:spin 1s linear infinite}
	
	/* イベント */
	.Event{padding:80rem 0 100rem}
	.Event h2{display:flex; justify-content:center; align-items:center; font-size:40rem; font-family:serif; letter-spacing:2rem; margin-bottom:50rem}
	.Event h2 span{padding:0 25rem}
	.Event h2 img{width:80rem; margin-top:2rem}
	.EventList{display:block}
	.EventItem{display:flex; align-items:center; width:100%; padding:40rem 0}
	.EventItem a{display:flex; align-items:center}
	.EventItem:last-child{border-top:solid 1rem #fff}
	.EventImg{width:150rem; height:auto; margin-right:30rem}
	.EventTxt{width:clac(100% - 180rem); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
	.EventPeriod{display:inline-block; font-size:20rem; border:solid 2rem #fff; color:#fff; padding:2rem 18rem; border-radius:8rem}
	.EventTitle{font-size:32rem; margin-top:10rem}
	
	/* キャストブログ */
	.Blog{margin-bottom:80rem}
	.Blog h2{display:flex; justify-content:center; align-items:center; font-size:45rem; font-family:serif; letter-spacing:2rem; margin-bottom:50rem}
	.Blog h2 span{padding:0 25rem}
	.Blog h2 img{width:80rem; margin-top:2rem}
	.BlogCastInfo{display:flex; align-items:center}
	.BlogCastIcon{width:50rem; height:50rem; border-radius:50rem; margin-right:10rem}
	.BlogList{display:flex; flex-wrap:wrap}
	.BlogItem{width:47%; margin-right:6%; margin-bottom:6%; border:solid 1rem #fff; border-radius:8rem}
	.BlogLink{padding:20rem}
	.BlogList .BlogItem:nth-child(2n){margin-right:0}
	.BlogCastInfo{margin-bottom:10rem}
	.BlogThumb{display:flex; justify-content:center; align-items:center; height:280rem; margin-bottom: 12rem; overflow:hidden}
	.BlogThumb img{display:block; height:100%}
	.BlogTitle{white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-bottom:5rem}
	.BlogDate{font-size:18rem}
	
	/* SNS */
	.SNS{overflow:hidden}
	.SNS h2{display:flex; justify-content:center; align-items:center; font-size:45rem; font-family:serif; letter-spacing:2rem; margin-bottom:50rem}
	.SNS h2 span{padding:0 25rem}
	.SNS h2 img{width:80rem; margin-top:2rem}
	.SNSFlex{display:block; overflow:hidden}
	.SNSLeft,.SNSRight{width:95%; margin:0 auto 70rem; overflow:hidden}
	.SNSLeft iframe,.SNSRight iframe{max-width:100%!important; min-width:unset!important; width:100%}
	
	/* アクセス */
	.Access{padding:30rem 0 100rem}
	.Access h2{display:flex; justify-content:center; align-items:center; font-size:45rem; font-family:serif; letter-spacing:2rem; margin-bottom:60rem}
	.Access h2 span{padding:0 25rem}
	.Access h2 img{width:80rem; margin-top:2rem}
	.AccessFlex{display:block}
	.AccessTxt{display:flex; flex-wrap:wrap; align-items:center; width:100%; line-height:78rem; margin-bottom:80rem}
	.AccessTxt dt{width:23%; padding-right:2%}
	.AccessTxt dd{width:75%}
	.AccessFlex iframe{width:100%}
	
	footer{font-weight:500; color:#efefef; background:linear-gradient(160deg, #000d4c, #500055)}
	.FooterLogo{display:inline-block; width:350rem}
	.FooterLogoimg{width:auto; margin-bottom:8%; aspect-ratio:auto 640 / 360}
	.FooterFlex{display:flex; flex-direction:column; padding:80rem 40rem 220rem; max-width:1350rem; align-items:center; font-weight:normal}
	.FooterItem1{position:relative; display:flex; flex-direction:column; justify-content:center; order:2; width:100%}
	.FooterItem1 a{display:inline-block}
	.CopyRight{position:absolute; top:102%; font-size:21rem}
	.FooterItem2{width:100%; margin-bottom:35rem; oorder:1}
	.FooterNav{display:flex}
	.FooterNavUl{display:flex; justify-content:flex-start; flex-direction:column; align-items:center; flex-wrap:wrap; width:50%}
	.FooterNavUl:last-child{width:50%; justify-content:flex-start}
	.FooterNavLi{position:relative; letter-spacing:3rem; line-height:1; width:262rem; margin-bottom:25rem; font-size:26rem; font-weight:bold}
	.FooterNavLi:last-child{border-right:0}
	.FooterNavUl:last-child li{width:300rem}
	.FooterAnc{position:relative; height:60rem; line-height:60rem; transition:.3s}
	.FooterAnc:hover{transform:translateX(5rem)}
	
	/* 下部固定メニュー */
	.BottomMenu{position:fixed; left:0; bottom:0; width:100vw; height:120rem; background: linear-gradient(160deg, #000d4c, #500055); border-top:1px solid #eee; box-shadow:0 -2rem 12rem rgba(0,0,0,0.07); display:flex; justify-content:space-around; align-items:center; z-index:1000; opacity:0; visibility:hidden; transition:opacity .6s ease,visibility .6s ease}
	.BottomMenu.Show{opacity:1; visibility:visible}
	.BottomMenu a{display:flex; flex-direction:column; align-items:center; justify-content:center; flex:1 1 0%; height:100%; padding-top:5rem; box-sizing:border-box; color:#fff; letter-spacing:1rem; font-size:17rem; border-right:2rem dashed #999}
	.BottomMenu a img{display:block; width:35rem; height:35rem; margin:0 auto 5rem; filter:grayscale(20%); transition:filter 0.2s}
	.BottomMenu a:active, .BottomMenu a:hover{color:#f195b2; background:#faf0f5}
	.BottomMenu a:active img, .BottomMenu a:hover img{filter:grayscale(0%) brightness(1.05) drop-shadow(0 1px 2px #ffddee33)}
	
	/*共通・下層ヘッダー設定*/
	.SubPage{position:relative}
	.SubPageTtlArea{position:relative; height:480rem; margin-bottom:120rem; background: linear-gradient(160deg, #000d4c, #500055); background-size:cover; background-position:center}
	.SubPageTtlArea::before{content:""; position:relative; display:block; width:100%; height:100%; background:url("images/SubHeaderBg.svg"); background-size:150%; opacity:.07}
	.SubPageCatch{position:absolute; top:195rem; width:100%; text-align:center; font-size:34rem; font-weight:bold; letter-spacing:2rem; color:#FFFF00}
	.SubPageTtl{position:absolute; top:240rem; width:100%; text-align:center; font-size:48rem; font-weight:bold; letter-spacing:2rem; color:#fff}
	.ForContact{position:relative; display:flex; height:680rem; margin-top:120rem; text-align:center}
	.ForContact::before{content:""; position:absolute; left:0; width:100%; height:100%; background:url("images/ContactBg.svg") no-repeat; background-size:300%; z-index:-1; opacity:.15}
	.ForContact .Container{display:flex; flex-direction:column; justify-content:center}
	.ForContactEg{font-size:56rem; color:#fff000; font-weight:bold; font-family:"Noto Sans JP",sans-serif; letter-spacing:5rem; margin-bottom:22rem}
	.ForContactCatch{font-size:28rem; margin-bottom:42rem}
	.ForContactFlex{display:flex; flex-wrap:wrap}
	.ForContactFlex a{width:100%; height:90rem; line-height:90rem; margin:0 30rem 40rem; text-align:center; border-radius:50rem; font-size:28rem; font-family:"Yu Gothic", "游ゴシック", "YuGothic"; font-weight:bold; cursor:pointer; border:none; transition:.3s}
	.ForContactBtn1{background:linear-gradient(to bottom, #aaa, #777); color:#fff; box-shadow:0 3rem 10rem 0 rgba(0,0,0,.04)}
	.ForContactBtn2{background:linear-gradient(to bottom, #00bcff, #0060ff); color:#fff; box-shadow:0 3rem 10rem 0 rgba(0,0,0,.1)}
	
	/*各ページ設定*/
	
	/* キャスト一覧ページ */
	.CastFlex{display:flex; flex-wrap:wrap; margin-bottom: 50rem;}
	.CastCard{position:relative; width:47%; margin-right:6%; margin-bottom:30rem}
	.CastCard:nth-child(2n){margin-right:0}
	.CastThumb
	.CastCard .CastName{}
	.CastCard h3{position:absolute; bottom:0; width:100%; padding:35rem 0; text-align:center; background:linear-gradient(0deg, #281d39b0, transparent)}
	.CastCardName{font-size:28rem}
	
	/* キャストシングルページ */
	.SingleCast .SubPageTtlArea{background:none; height:120rem; margin-bottom:80rem}
	.ProfileFlex{display:block; margin-bottom:45rem}
	.ProfileImg{width:90%; margin: 0 auto;}
	.ProfileMainUl{position:relative; width:100%; margin-bottom:12rem; overflow:hidden; margin-bottom:20rem; border-radius:10rem}
	.ProfileMainUl li{position:absolute; line-height:0}
	.ProfileMainUl li.active{position:relative}
	.ProfileSubUl{display:flex}
	.ProfileSubUl li{width:22%; margin-right:4%; line-height:0; border-radius:8rem; overflow:hidden}
	.ProfileSubUl li:last-child{margin-right:0}
	.ProfileTxt{width:90%; margin: 0 auto; padding-top:80rem}
	.ProfileTxt dt{background:#fff; color:#000; padding:12rem 20rem; margin-bottom:15rem; border-radius:5rem}
	.ProfileTxt dd{padding:5rem 10rem; font-size: 26rem; line-height:45rem; margin-bottom:30rem}
	.CastSchedle{padding:60rem 0 40rem}
	.CastSchedle h2{display:flex; justify-content:center; align-items:center; font-size:40rem; font-family:serif; letter-spacing:2rem; margin-bottom:60rem}
	.CastSchedle h2 span{padding:0 25rem}
	.CastSchedle h2 img{width:80rem; margin-top:2rem}
	.CastPageTtl{opacity:0}
	.CastWeek{margin-bottom:0}
	.CastGrid{display:flex; flex-wrap:wrap; background:linear-gradient(160deg, #000d4c, #500055); font-family:sans-serif}
	.CastWeekdays{display:flex; width:100%;}
	.CastWeekday{width:calc(100% / 7); text-align:center; background:#fff; color:#000; font-size:18rem; font-weight: bold; line-height: 40rem; border-left:solid 1rem #999;}
	.CastWeekdays .CastWeekday:first-child{border:none}
	.CastSchedle .CastDay{width:33.3333%; border:solid 1rem #aaa; border-right:solid 1rem #aaa}
	.CastSchedle .CastDay.IsToday{width: 100%;}
	.CastSchedle .CastGrid .CastDay:nth-child(3n){border-right:0}
	.CastSchedle .CastGrid .CastDay:nth-child(3n - 1){border-right:0}
	.CastHead{padding:6rem 0; text-align:center; background:#fff7f7; color:#000; font-size:13rem; line-height:18rem; font-weight:bold}
	.CastWeek .CastHead{padding:8rem 0 15rem; font-size:18rem; line-height:35rem; font-weight:bold}
	.ScheduleWeek .CastHead b{font-size: 13rem;}
	.CastWeek .CastHead b{display:block; font-size:18rem}
	.CastBody{display:flex; flex-direction:column; justify-content:center; padding:5rem 9rem; text-align:center}
	.CastSlot{font-size:13rem; line-height:24rem; padding:8rem 0; letter-spacing:1rem; text-align:left; border-bottom:solid 1rem #888}
	.CastWeek .CastSlot{width:100%; margin:0; font-size:22rem; line-height: 70rem; text-align:center}
	.CastBody .CastSlot:last-child{border-bottom:0}
	.CastSchedle .CastBody:has(.ShopClose),.CastSchedle .CastBody:has(.CastEmpty){height:90rem}
	.ShopClose{width: 100%; text-align:center}
	.CastName{display:block}
	.CastBlog h2{display:flex; justify-content:center; align-items:center; font-size:40rem; font-family:serif; letter-spacing:2rem; margin-bottom:60rem}
	.CastBlog h2 span{padding:0 25rem}
	.CastBlog h2 img{width:80rem; margin-top:2rem}
	.RelatedCast{padding-top:40rem}
	.RelatedCast h2{display:flex; justify-content:center; align-items:center; font-size:40rem; font-family:serif; letter-spacing:2rem; margin-bottom:60rem}
	.RelatedCast h2 span{padding:0 25rem}
	.RelatedCast h2 img{width:80rem; margin-top:2rem}
	.RelatedCast .RelatedCastFlex.slick-slider{display:flex; margin-bottom: 150rem;}
	.RelatedCastCard{position:relative; margin: 0 20rem;}
	.RelatedCastThumb
	.RelatedCasttCard .CastName{}
	.RelatedCastCard h3{position:absolute; bottom:0; width:100%; padding:25rem 0; text-align:center; background:linear-gradient(0deg, #281d39b0, transparent)}
	.RelatedCastName{font-size:28rem}
	
	/* ブログ一覧ページ */
	.BlogArea{display:block}
	.BlogArea .BlogItem{width:100%; margin:0; background:none; border:none; color:#fff; border-radius:0; border-bottom:solid 1rem #999}
	.BlogArea .BlogLink{display:flex; width:100%; padding:35rem 0}
	.BlogArea .BlogThumb{height:150rem; width:150rem; margin-right:28rem}
	.BlogTxt{display:flex; flex-direction:column; justify-content:center; width:100%}
	.BlogTxt .BlogTitle{font-size:28rem; margin:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
	.BlogTxt .BlogDate{margin-top:8rem}
	.BlogTxt .BlogCastIcon{width:32rem; height:32rem; margin-right:10rem}
	.BlogTxt .BlogCastInfo{margin-bottom:3rem}
	.BlogProfile{border:solid 1rem #999; padding:80rem; margin-bottom:30rem}
	.BlogProfileInfo{position:relative; line-height:0}
	.BlogProfileInfo p{position:absolute; bottom:0; width:100%; padding:50rem 0; font-size:28rem; text-align:center; background:linear-gradient(0deg, #281d39b0, transparent)}
	.BlogProfileBtn{text-align:center; background:#fff; color:#333; padding:25rem; margin-top:45rem}
	.ArchiveItemArea{border:solid 1rem #999; padding:40rem 60rem; margin:80rem 0 30rem}
	.ArchiveAreaTtl{font-size:30rem; text-align:center; padding-bottom:30rem; margin-bottom:40rem; border-bottom:solid 1rem #fff}
	.ArchiveItemUl li{margin-bottom:20rem}
	.ArchiveItemUl li a{display:flex; align-items:center}

	/* ブログシングルページ */
	.BlogContentFlex{display:block; margin-bottom:50rem}
	.SinglePage .BlogContentFlex{padding-top:180rem}
	.BlogContentTxt{width:100%}
	.BlogContentTxt h1{color:#fff; padding:25rem 0; margin-bottom:45rem; font-weight:bold; font-size:36rem; border-bottom:solid 2rem #fff}
	.BlogEyecatch img{height:auto; margin-bottom: 150rem;}
	.BlogContent{color:#fff; margin-bottom:80rem}
    .BlogContent p{color:#fff; font-size:28rem; font-family:serif; margin-bottom:10rem; padding:25rem}
	p.BlogContent{color:#fff; font-size:28rem; font-family:serif; line-height:70rem; padding:25rem}
	.BlogImageWrapMulti img{max-width: 100%; height: auto; margin-bottom: 120rem;}
	.BlogImageWrapMulti img:last-child{margin-bottom: 0}
	.BlogContentSide{width:100%}
	
	/* イベント一覧ページ */
	.EventArea{display:block}
	.EventArea .EventItem{width:100%; background:none; border:none; color:#fff; border-radius:0; border-bottom:solid 1rem #999}
	.EventArea .EventLink{display:flex; width:100%; padding:22rem 0}
	.EventArea .EventThumb{height:120rem; width:120rem; margin-right:25rem}
	.EventTxt .EventTitle{font-size:26rem; margin:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-top:12rem}
	.EventTxt .EventDate{margin-top:8rem}
	.EventSchedle h2{display:flex; justify-content:center; align-items:center; font-size:30rem; font-family:serif; letter-spacing:2rem; margin-bottom:60rem}
	.EventSchedle h2 span{padding:0 15rem}
	.EventSchedle h2 img{width:80rem; margin-top:2rem}
	#EventSaveDummy .EventMonthInner{display:flex; flex-wrap:wrap; border:solid 2px #aaa; padding:240px 0 0; background: url(images/EventSchedule.jpg); background-size:cover}
	.EventMonth{background:linear-gradient(160deg, #000d4c, #500055); width:1000rem; border-right:solid 1rem #aaa;}
	.EventMonth .CastBody{padding:40rem 6rem 10rem; box-sizing: border-box;}
	.EventMonth .CastDay{position:relative; margin-bottom:0; box-sizing: border-box; min-height:80rem; border:0; border-left: solid 1rem #aaa; border-bottom: solid 1rem #aaa;}
	.EventMonth.CastGrid .CastDay:last-child{border-right:0}
	.EventMonth .CastEmpty{opacity:0}
	.EventMonth .CastDay .CastHead{position:absolute; display: inline-block; background:none; font-size:15rem; letter-spacing:1rem; color:#fff; padding:12rem 5rem}
	.EventMonth .CastSlot{width:100%; font-size:15rem; margin:0; padding:3rem 0; border:0;}
	.EventMonth .CastSlot:last-child{margin:0}
	.EventMonth .CastName{display:inline-block; font-size:15rem; margin-right:5rem;}
	.EventBar{position: relative; width: 217.5%; padding: 4rem 5rem; background: #fff; color: #000; text-align: center; border-radius: 20rem; font-size: 20rem; font-weight: bold; line-height: 32rem; z-index: 3}
	.EventPage .EventList{display:block; max-width:700rem; margin:80rem auto}
	.EventPage .EventItem a{width: 100%; height: 200rem; padding-bottom: 20rem; margin-bottom: 20rem; border-bottom: solid 1rem #999}
	.EventPage .EventItem{width:100%; padding:0}
	.EventPage .EventItem:last-child{border:0}
	.EventPage .EventImg{width:130rem;}
	.EventPage .EventTxt{display:block; width: calc(100% - 160rem);}
	.EventPage .EventTxt .EventTitle{margin:8rem 0 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
	.EventColorRed{background:#ff0000; color:#fff}
	.EventColorPink{background:#ff6bad; color:#fff}
	.EventColorYellow{background:#f6ac2d; color:#fff}
	.EventColorGreen{background:#28b261; color:#fff}
	.EventColorBlue{background:#00b8ff; color:#fff}
	.EventColorPurple{background:#c000ff; color:#fff}
	.EventColorWhite{background:#eeeeee; color:#000}
	#EventImgModal{display:none; position:fixed; z-index:8; left:0; top:0; width:100vw; height:100vh; background:rgba(0, 0, 0, 0.85); justify-content:center; align-items:center}
	#CloseEventModal{position:absolute; top:-16rem; right:-16rem; background:#fff; border-radius:50%; width: 50rem; height:50rem; font-size:38rem; line-height:48rem; border:none; box-shadow:0 2rem 8rem rgba(0, 0, 0, .15)}
	#EventImgInner{background:transparent; padding:0}
	#EventImgModal p{text-align:center; margin-top:20rem}
	#EventSaveDummy{width:1200px}
	#EventSaveDummy .EventMonth{width:1200px}
	#EventSaveDummy .EventMonth .CastBody{padding:48px 6px 10px}
	#EventSaveDummy .EventMonth .CastDay .CastHead{font-size:16px; padding:8px}
	#EventSaveDummy .EventBar{font-size:20px!important; padding: 0 5px; line-height:28px; padding-bottom:2px; border-radius:25px;}
	#EventSaveDummy .CastWeekday{font-size:20px; line-height:38px}
	#EventSaveDummy .CastSlot{margin-bottom:10px}
	.EventItemArea{padding:30rem 40rem}
	.EventItemArea .EventImg{width:120rem; margin-right:20rem}
	.EventItemArea li{margin-bottom:45rem}
	.EventItemArea li:last-child{margin-bottom:0}
	.EventItemArea li a span{display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; max-width:100%; word-break:break-all}
	
	.SingleEvent .BlogEyecatch img{margin-bottom: 50rem;}
	
	/* スケジュールページ */
	.TodaysCast h2{display:flex; justify-content:center; align-items:center; font-size:28rem; font-family:serif; letter-spacing:2rem; margin-bottom:60rem}
	.TodaysCast h2 span{padding:0 15rem}
	.TodaysCast h2 img{width:80rem; margin-top:2rem}
	.WeeklySchedule h2{display:flex; justify-content:center; align-items:center; font-size:28rem; font-family:serif; letter-spacing:2rem; margin-bottom:60rem}
	.WeeklySchedule h2 span{color:#fff; padding:0 15rem}
	.WeeklySchedule h2 img{width:80rem; margin-top:2rem}
	.TwoWeeksSchedule h2{display:flex; justify-content:center; align-items:center; font-size:28rem; font-family:serif; letter-spacing:2rem; margin-bottom:60rem}
	.TwoWeeksSchedule{margin-bottom:100rem}
	.TwoWeeksSchedule h2 span{padding:0 15rem}
	.TwoWeeksSchedule h2 img{width:80rem; margin-top:2rem}
	.TwoWeeksInner .CastBody:has(.ShopClose),.TwoWeeksInner .CastBody:has(.CastEmpty){height:calc(100% - 12rem)}
	.MonthlySchedule{margin:60rem 0 100rem}
	.MonthlySchedule h2{display:flex; justify-content:center; align-items:center; font-size:28rem; font-family:serif; letter-spacing:2rem; margin-bottom:60rem}
	.MonthlySchedule h2 span{padding:0 15rem}
	.MonthlySchedule h2 img{width:80rem; margin-top:2rem}
	.MonthlyGrid{width:1300rem}
	.MonthlyGrid .CastBody{padding:42rem 10rem 10rem}
	.MonthlyGrid .CastDay .CastHead{padding: 14rem 10rem}
	#TwoWeeksImgModal{display:none; position:fixed; z-index:8; left:0; top:0; width:100vw; height:100vh; background:rgba(0, 0, 0, 0.85); justify-content:center; align-items:center}
	#CloseTwoWeeksModal{position:absolute; top:-16rem; right:-16rem; background:#fff; border-radius:50%; width: 50rem; height:50rem; font-size:38rem; line-height:48rem; color:#000;  border:none; box-shadow:0 2rem 8rem rgba(0, 0, 0, .15)}
	#TwoWeeksImgModal p{text-align:center; margin-top:20rem}
	.ToastMessage{position:fixed; left:50%; bottom:50px; transform:translateX(-50%); width:300px; height: fit-content; text-align: center; padding:40px 10px; background:rgba(0, 0, 0, 0.85); color:#fff; border-radius:8px; font-size:14px; z-index: 9999; animation: fadeinout 1.6s ease-in-out}
	#TwoWeeksSaveDummy{width:1200px}
	#TwoWeeksSaveDummy .TwoWeeksInner{width:1200px; padding:240px 0 0; background: url(images/SchedukeTwoWeeks.jpg); background-size:cover}
	#TwoWeeksSaveDummy .EventMonth{width:1200px}
	#TwoWeeksSaveDummy .EventMonth .CastBody{padding:48px 8px 10px}
	#TwoWeeksSaveDummy .CastSlot{color:#fff; font-size:16px; border:0; padding:1.5px 0; margin-bottom: 0;}
	#TwoWeeksSaveDummy .CastName{font-size: 16px;}
	#TwoWeeksSaveDummy .CastHead{font-size:16px; padding:10px 8px}
	#TwoWeeksSaveDummy .CastWeekday{font-size:20px; line-height:38px}
	.SingleEvent .BlogContent{padding:25rem 0; color:#fff}
	.SchedulePage .TodaysCast{width: 100%;}
	.SchedulePage .WeeklySchedule{width: 100%;}

	/*プラポ*/
	.PrivacyPolicy{margin:20rem auto 100rem}
	.PrivacyPageTxt{font-size:26rem; padding:0 0 40rem; text-align:center}
	h2.PrivacyTtl{font-size:38rem; font-weight:500; text-align:center; padding-bottom:30rem; margin:30rem 0; border-bottom:solid 1rem #333}
	.PrivacyPage h3{font-size:22rem; font-weight:500; margin-bottom:5rem; padding:0; border-bottom:none}
	.PrivacyPolicy p{font-size:15rem; margin-bottom:37rem}
	.PrivacyPolicy ul{font-size:15rem; margin:-28rem 0 28rem}
	p.PrivacyDesc{font-size:15rem; margin-bottom:100rem}
	.Page404 h1{font-size:50rem}
	.Page404 p{text-align:center; font-size:24rem; color:#fff}
	.Page404 h2{text-align:center}
	
	/* リンクシェア */
	.ShareArea{display:flex; flex-direction:column; align-items:center; margin:80rem 0 120rem}
	.ShareTxt{position:relative; text-align:center; font-weight:bold; color:#fff; font-size:30rem; margin-bottom:38rem}
	.ShareTxt::before{content:""; position:absolute; top:5rem; left:-45rem; width:2rem; height:45rem; background:#9b9200; transform:rotate(-15deg); animation:animeUp 2.8s ease-in-out infinite}
	.ShareTxt::after{content:""; position:absolute; top:5rem; right:-45rem; width:2rem; height:45rem; background:#9b9200; transform:rotate(15deg); animation:animeUp 2.8s ease-in-out infinite}
	.ShareFlex{display:flex; justify-content:center}
	.ShareFlex > div{width:80rem; height:80rem; border-radius:20%; background-size:cover; margin:0 18rem; transition:.3s}
	.ShareFlex > div a{position:relative; width:100%; height:100%}
	.ShareFlex > div a:hover{width:100%; height:100%}
	.ShareFlex div.ShareX{background:#000; background-image:url("images/X.svg"); background-position:center; background-size:52%; background-repeat:no-repeat}
	.ShareFlex div.ShareInsta{background-image:url("images/Insta.png"); background-position:center; background-size:100%; background-repeat:no-repeat}
	
	/*slickカスタマイズ*/
	main .slick-dots{bottom:-70rem; margin-top:20rem}
	main .slick-dots li button:before{font-size:60rem!important; font-weight:bold; color:#fff}
	main .slick-dots li.slick-active button:before{color:#fff}

	/*breadcrumb*/
	.breadcrumb{position:relative; margin-bottom:45rem}
	.SubPage .breadcrumb{position:absolute; bottom:0; left:45rem; margin-bottom:45rem;}
	.breadcrumb ul{display:flex}
	.breadcrumb li{position:relative; padding-right:35rem; color:#fff; letter-spacing:.5rem; font-size:24rem}
	.breadcrumb li::before{content:">"; display:block; position:absolute; right:10rem}
	.breadcrumb li:last-child{width:420rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; padding-right:0}
	.breadcrumb li:last-child::before{display:none}
	.breadcrumb li a{width:max-content; text-decoration:underline}
}

@media (min-width:510px) and (max-width:790px) {

}

@media(min-width:790px){
	/*共通*/
	html{font-size:.1vw}
	.Sponly{display:none}
	body{font-size:15rem; background:#220044; color:#fff}
	h1,h2,h3,h4,h5,div,p{line-height:30rem; font-weight:500}
	h2,h3{font-weight:bold}
	.Header{display:flex; height:90rem; width:100%; justify-content:space-between; align-items:center; position:absolute; top:0; border-bottom:solid 1rem; border-image:linear-gradient(to right, rgba(255,255,255,0.1), rgba(255,255,255,.6)) 1; z-index:4}
	.HeaderInnear{display:flex; justify-content:space-between; align-items:center; width:100%; height:100%; margin:0 auto;  color:#000}
	.HeaderLogo{margin-left:50rem; line-height:0}
	.HeaderLogoAnc{display:flex; width:245rem}
	.HeaderLogoimg{height:60rem; width:auto; margin-top:12rem; aspect-ratio:auto 640 / 360}
	.HeaderNavmainPc{display:flex; justify-content:end; width:100%; height:100%; margin-right:20rem}
	.HeaderNavmainSp{display:none}
	.HeaderNavmainUl{display:flex; width:70%; min-width:620rem; justify-content:space-between; align-items:center; height:100%; font-weight:500}
	.HeaderNavmainLi{position:relative; display:flex; align-items:center}
	.HeaderNavmainLiAnc{position:relative; display:flex; flex-direction:column; align-items:flex-end; width:100%; padding:15rem 0; letter-spacing:3rem; font-size:14.5rem; font-weight:bold; color:#fff; transition:.3s}
	.HeaderNavmainLiAnc::after{content:""; position:absolute; top:110rem; height:3rem; width:100}
	.HeaderNavmainLiAnc span{display:block; font-size:11rem; margin-top:3rem; line-height:0; font-weight:bold}
	.HbmenuBtn{display:none}
	.HeaderNavsub{display:none}
	#GlobalMenuInput{display:none}
	.Container{width:840rem; margin:0 auto}
	.H2Span{position:relative; display:inline-block}
	.Btn1{width:220rem; height:42rem; line-height:44rem; margin:50rem auto; border-radius:50rem; box-shadow:none; font-family:inherit; font-size:16rem; font-weight:normal; color:#fff; text-align:center; letter-spacing:.5rem}
	.ViewMoreWrap{display:flex; justify-content:center; margin-top:50rem}
	.ViewMoreBtn{position:relative; width:240rem; height:50rem; line-height:45rem; text-align:center; border:solid 1rem #fff; color:#fff; transition:.3s}
	.ViewMoreBtn::before{content:""; position:absolute; top:25rem; right:-25rem; width:80rem; width:40rem; height:1rem; background:#fff; transition:.3s}
	.ViewMoreBtn::after{content:""; position:absolute; right:-25rem; top:21.2rem; transform:translateY(-50%); width:10rem; height:8rem; background:#fff; clip-path:polygon(0% 0, 0 100%, 100% 100%); transition:.3s}
	.ViewMoreBtn:hover{opacity:1; background:#fff; color:#000} 
	.ViewMoreBtn:hover::before{right:12rem; background:#000}
	.ViewMoreBtn:hover::after{right:12rem; background:#000}
	.FadeIn{transform:translateY(30rem); opacity:0; transition:.5s}
	.ScrollIn{transform:translateY(0); opacity:1}	

	
	/* トップページ */
	/* ファーストビュー */
	.Fv{position:relative; width:100%; height:700rem}
	.FvSlider{position:relative; width:100%; height:700rem; overflow:hidden; list-style:none; margin:0; padding:0}
	.FvSlider .FvSlide{position:absolute; top:0; left:0; width:100%; height:100%; opacity:0; transform:scale(1.25); transition:transform 12s linear,opacity 1s ease}
	.FvSlider .FvSlide img{width:100%;height:100%;object-fit:cover}
	.FvSlider .FvSlide:nth-child(1){animation:fvSlideAnim 12s infinite}
	.FvSlider .FvSlide:nth-child(2){animation:fvSlideAnim 12s infinite 4s}
	.FvSlider .FvSlide:nth-child(3){animation:fvSlideAnim 12s infinite 8s}
	.FvTxt{position:absolute; left:5%; bottom:18%; font-size:38rem; opacity:0; color:#fff; font-weight:600; display:inline-block; line-height:70rem; letter-spacing:.15em; z-index:5}
	.FvTxt.Show{opacity:1}
	.FvTxt span{opacity:0; display:inline-block; transform:translateY(20rem); transition:all .4s ease}
	.FvTxt.Show span{opacity:1; transform:translateY(0)}

	/* キャストスライダー */
	.CastSlider{padding:100rem 0}
	.CastSlider h2{display:flex; justify-content:center; align-items:center; font-size:28rem; font-family:serif; letter-spacing:2rem; margin-bottom:60rem}
	.CastSlider h2 span{padding:0 15rem}
	.CastSlider h2 img{width:80rem; margin-top:2rem}
	.CastSlick{display:flex; justify-content:center; align-items:center; max-width:1200rem; margin:0 auto; overflow: hidden;}
	.CastSlick li{}
	.CastSlick .slick-slide{margin: 0 20rem;}
	.CastSlick li a{position:relative; line-height:0}
	.CastSlick li img{border-radius:10rem}
	.CastSlick li p{position:absolute; bottom:0; width:100%; padding:20rem 0; text-align:center; background:linear-gradient(0deg, #281d39b0, transparent)}
	.CastSliderName{font-size:16rem}
	
	/* コンセプト */
	.Concept{background:url("images/ConceptBg.jpg") no-repeat; background-size:cover; background-position: center; padding:80rem 0}
	.Concept h2{display:flex; justify-content:center; align-items:center; font-size:28rem; font-family:serif; letter-spacing:2rem; margin-bottom:30rem}
	.Concept h2 span{padding:0 15rem}
	.Concept h2 img{width:80rem; margin-top:2rem}
	.Message{padding:80rem 70rem; margin-bottom:65rem; border-radius:10rem}
	.Message p{text-align:center; line-height: 35rem;}
	.Gallery{display:flex; align-items:center}
	.GalleryTxt{width:50%; padding-right:50rem; padding-bottom:60rem}
	.GalleryTxt h3{font-size:24rem; text-align:center; margin-bottom:15rem}
	.GalleryTxt p{line-height: 35rem;}
	.GalleryImg{width:50%}
	.GalleryMainUl{position:relative; width:100%; height:330rem; margin-bottom:12rem; overflow:hidden; margin-bottom:20rem; border-radius:10rem; box-shadow:0 2rem 28rem rgba(0, 0, 0, .6)}
	.GalleryMainUl li{display:none; width:100%}
	.GalleryMainUl li.active{display:block}
	.GalleryMainUl img{width:100%; height:auto; display:block; border-radius:1rem}
	.GallerySubUl{display:flex; justify-content:center}
	.GallerySubUl li{width:22%; margin-right:4%; line-height:0; border-radius:8rem; overflow:hidden; aspect-ratio:1/.7; cursor:pointer; opacity:.6; transition:opacity .3s}
	.GallerySubUl li:last-child{margin-right:0}
	.GallerySubUl li.active{opacity:1}
	.GallerySubUl li img{width:100%; height:100%; object-fit:cover; object-position:center; display:block}

	
	/* スケジュール */
	.Schedule{background:image(""); padding:100rem 0}
	.Schedule h2{display:flex; justify-content:center; align-items:center; font-size:28rem; font-family:serif; letter-spacing:2rem; margin-bottom:60rem}
	.Schedule h2 span{padding:0 15rem}
	.Schedule h2 img{width:80rem; margin-top:2rem}
	.ScheduleFlex{display:block}
	.TodaysCast{width:90%; margin:0 auto}
	.WeeklySchedule{width:100%}
	.TodaysCastInner{display:flex; justify-content:center; flex-wrap:wrap; border:solid 1rem #aaa; padding:38rem 38rem 15rem; border-radius:10rem; margin-bottom:50rem}
	.TodaysCastItem{width:14%; margin-right:7%; margin-bottom:25rem}
	.TodaysCastInner .TodaysCastItem:nth-child(4n){margin-right:0}
	.TodaysCastInner .TodaysCastItem:last-child{margin-right:0}
	.WeeklySchedule{width:100%; width:90%; max-width:1200rem;  margin:0 auto}
	.TodaysCastImg{display:block}
	.TodaysCastName{text-align:center; margin-top:5rem}
	.TodaysCastTime{font-size:11rem; line-height:14rem; text-align:center}
	.NoCast{margin-bottom:20rem}
	.ScheduleFlex h3{text-align:center; margin-bottom:30rem}
	.CastSaveDummy{display:none}
	
	/* イベント */
	.Event{padding:100rem 0; background:#110040}
	.Event h2{display:flex; justify-content:center; align-items:center; font-size:28rem; font-family:serif; letter-spacing:2rem; margin-bottom:30rem}
	.Event h2 span{padding:0 15rem}
	.Event h2 img{width:80rem; margin-top:2rem}
	.EventList{display:flex; justify-content:center; margin:30rem 0 80rem}
	.EventItem{display:flex; align-items:center; padding-left:0; padding-right: 4%; width:50%}
	.EventList .EventItem:last-child{display:flex; align-items:center; padding-left:6%; width:50%}
	.EventItem a{display:flex; align-items:center; width:100%}
	.EventItem:last-child{border-left:solid 1rem #fff}
	.EventImg{width:110rem; height:fit-content; margin-right:20rem}
	.EventTxt{width:clac(100% - 140rem); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
	.EventPeriod{display:inline-block; background:#fff; color:#333; font-size: 12rem; font-weight: bold; padding:0 15rem; border-radius:8rem}
	.EventTitle{margin-top:10rem}
	
	/* キャストブログ */
	.Blog{padding:100rem 0}
	.Blog h2{display:flex; justify-content:center; align-items:center; font-size:28rem; font-family:serif; letter-spacing:2rem; margin-bottom:60rem}
	.Blog h2 span{padding:0 15rem}
	.Blog h2 img{width:80rem; margin-top:2rem}
	.BlogCastInfo{display:flex; align-items:center}
	.BlogCastIcon{width:38rem; height:38rem; border-radius:50rem; margin-right:10rem}
	.BlogList{display:flex}
	.BlogItem{width:22%; margin-right:4%; border:solid 1rem #fff; border-radius:8rem; color:#fff}
	.BlogLink{padding:15rem}
	.BlogList .BlogItem:last-child{margin-right:0}
	.BlogCastInfo{margin-bottom:15rem}
	.BlogThumb{display:flex; justify-content:center; align-items:center; height:180rem; overflow:hidden}
	.BlogThumb img{display:block; height:auto}
	.BlogTitle{white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-top:10rem}
	.BlogDate{font-size:12rem;line-height:22rem}
	
	/* SNS */
	.SNS{padding:100rem 0; background:#110040}
	.SNS h2{display:flex; justify-content:center; align-items:center; font-size:28rem; font-family:serif; letter-spacing:2rem; margin-bottom:60rem}
	.SNS h2 span{padding:0 15rem}
	.SNS h2 img{width:80rem; margin-top:2rem}
	.SNSFlex{display:flex; justify-content:space-between}
	.SNSLeft,.SNSRight{width:42%}
	.SNSLeft iframe{width:100%}
	
	/* アクセス */
	.Access{padding:80rem 0}
	.Access h2{display:flex; justify-content:center; align-items:center; font-size:28rem; font-family:serif; letter-spacing:2rem; margin-bottom:60rem}
	.Access h2 span{padding:0 15rem}
	.Access h2 img{width:80rem; margin-top:2rem}
	.AccessFlex{display:flex; justify-content:space-between; margin-bottom:80rem}
	.AccessTxt{display:flex; flex-wrap:wrap; align-items:center; width:45%; height:220rem}
	.AccessTxt dt{width:23%; padding-right:2%}
	.AccessTxt dd{width:75%}
	.AccessFlex iframe{width:45%}
	
	footer{background:#150023; font-family:"Yu Gothic", "游ゴシック", "YuGothic"; font-weight:500; color:#efefef}
	.FooterLogo{display:inline-block; width:234rem}
	.FooterLogoimg{width:auto; margin-bottom:8%; aspect-ratio:auto 640 / 360}
	.FooterFlex{display:flex; padding:42rem 100rem 40rem; max-width:1350rem; align-items:center; font-weight:normal}
	.FooterItem1{position:relative; display:flex; flex-direction:column; justify-content:center; flex:0 0 55%; height:45rem}
	.FooterItem1 a{display:inline-block}
	.CopyRight{position:absolute; top:80%; font-size:11.5rem}
	.FooterItem2{flex:0 0 45%}
	.FooterNav{display:flex}
	.FooterNavUl{display:flex; justify-content:flex-start; align-items:center; flex-wrap:wrap}
	.FooterNavUl:last-child{justify-content:flex-start}
	.FooterNavLi{width:200rem; position:relative; letter-spacing:.5rem; line-height:1; font-size:15rem; font-weight:bold}
	.FooterNavLi:last-child{border-right:0}
	.FooterAnc{position:relative; height:40rem; line-height:40rem; transition:.3s}
	.FooterAnc:hover{transform:translateX(5rem)}
	.BottomMenu{display:none}
	
	/* 共通・下層ヘッダー設定 */
	.SubPage{position:relative}
	.SubPageTtlArea{position:relative; height:350rem; margin-bottom:40rem; background-size:cover; background-position:center}
	.SubPageTtlArea::before{content:""; position:relative; display:block; width:100%; height:100%; background:url("images/SubHeaderBg.svg"); background-size:80%; opacity:.07}
	.SubPageCatch{position:absolute; top:155rem; width:100%; text-align:center; font-size:20rem; font-weight:bold; letter-spacing:2rem; color:#fff}
	.SubPageTtl{position:absolute; top:200rem; width:100%; text-align:center; font-size:40rem; font-weight:bold; letter-spacing:2rem; color:#fff}
	.ForContact{position:relative; display:flex; height:350rem; text-align:center}
	.ForContact::before{content:""; position:absolute; left:0; width:100%; height:100%; background:url("images/ContactBg.svg") no-repeat; background-size:cover; z-index:-1; opacity:.1}
	.ForContact .Container{display:flex; flex-direction:column; justify-content:center}
	.ForContactEg{font-size:42rem; color:#fff000; font-weight:bold; font-family:"Noto Sans JP",sans-serif; letter-spacing:5rem; margin-bottom:22rem}
	.ForContactCatch{font-size:18rem; margin-bottom:42rem}
	.ForContactFlex{display:flex; justify-content:center}
	.ForContactFlex a{width:260rem; height:55rem; line-height:55rem; margin:0 30rem; text-align:center; border-radius:50rem; font-size:17rem; font-family:"Yu Gothic", "游ゴシック", "YuGothic"; font-weight:bold; cursor:pointer; border:none; transition:.3s}
	.ForContactBtn1{background:linear-gradient(to bottom, #aaa, #777); color:#fff; box-shadow:0 3rem 10rem 0 rgba(0,0,0,.04)}
	.ForContactBtn2{background:linear-gradient(to bottom, #00bcff, #0060ff); color:#fff; box-shadow:0 3rem 10rem 0 rgba(0,0,0,.1)}
	
	/* キャスト一覧ページ */
	.CastFlex{display:flex; flex-wrap:wrap; margin-bottom:100rem}
	.CastCard{position:relative; width:30%; margin-right:5%; margin-bottom:40rem}
	.CastCard:nth-child(3n){width:30%; margin-right:0}
	.CastThumb
	.CastCard .CastName{}
	.CastCard h3{position:absolute; bottom:0; width:100%; padding:25rem 0; text-align:center; background:linear-gradient(0deg, #281d39b0, transparent)}
	.CastCardName{font-size:16rem}
	
	/* キャストシングルページ */
	.SingleCast .SubPageTtlArea{height:120rem}
	.ProfileFlex{display:flex; justify-content:space-between; margin-bottom:45rem}
	.ProfileImg{width:46%}
	.ProfileMainUl{position:relative; width:100%; margin-bottom:12rem; overflow:hidden; margin-bottom:20rem; border-radius:10rem}
	.ProfileMainUl li{position:absolute; line-height:0}
	.ProfileMainUl li.active{position:relative}
	.ProfileSubUl{display:flex}
	.ProfileSubUl li{width:22%; margin-right:4%; line-height:0; border-radius:8rem; overflow:hidden; cursor:pointer}
	.ProfileSubUl li:last-child{margin-right:0}
	.ProfileTxt{width:46%; padding-top:60rem}
	.ProfileTxt dt{background:#fff; color:#000; padding:2rem 10rem; border-radius:5rem}
	.ProfileTxt dd{padding:5rem 10rem; line-height:25rem; margin-bottom:20rem}
	.CastSchedle{padding:80rem 0}
	.CastSchedle h2{display:flex; justify-content:center; align-items:center; font-size:28rem; font-family:serif; letter-spacing:2rem; margin-bottom:60rem}
	.CastSchedle h2 span{padding:0 15rem}
	.CastSchedle h2 img{width:80rem; margin-top:2rem}
	.CastPageTtl{opacity:0}
	.CastGrid{display:flex; flex-wrap:wrap; background:linear-gradient(160deg, #000d4c, #500055)}
	.CastWeek.CastGrid{justify-content:center; background:none;}
	.CastDay{width:calc(100% / 7); margin-bottom:25rem; box-sizing: border-box; border:solid 1rem #aaa; border-right:none}
	.CastGrid .CastDay:nth-child(7){border-right:solid 1rem #aaa}
	.CastGrid .CastDay:last-child{border-right:solid 1rem #aaa}
	.CastHead{padding:5rem 0; text-align:center; background:#fff7f7; color:#000; font-size:12rem; line-height:17rem; font-weight:bold}
	.CastWeek .CastHead{padding:5rem 0; font-size:12rem; font-weight:bold}
	.CastWeekdays{display:flex; width:100%}
	.CastWeekday{width:calc(100% / 7); text-align:center; background:#fff; color:#000; font-size:12rem; border-left:solid 1rem #999;}
	.CastWeekdays .CastWeekday:first-child{border:none}
	.ScheduleWeek .CastHead b,.CastWeek .CastHead b{display:block; font-size:10rem}
	.CastBody{display:flex; flex-direction:column; justify-content:center; padding:5rem 10rem; text-align:center}
	.CastSlot{font-size:13rem; line-height:14rem; padding:8rem 0; letter-spacing:1rem; text-align:left; border-bottom:solid 1rem #888}
	.CastWeek .CastSlot{width:100%; margin:0; font-size:12rem; text-align:center}
	.CastBody .CastSlot:last-child{border-bottom:0}
	.CastBody:has(.ShopClose),.CastBody:has(.CastEmpty){height:calc(100% - 10rem)}
	.ShopClose{text-align:center}
	.CastName{display:inline-block}
	.CastBlog h2{display:flex; justify-content:center; align-items:center; font-size:28rem; font-family:serif; letter-spacing:2rem; margin-bottom:60rem}
	.CastBlog h2 span{padding:0 15rem}
	.CastBlog h2 img{width:80rem; margin-top:2rem}
	.RelatedCast{padding:80rem 0}
	.RelatedCast h2{display:flex; justify-content:center; align-items:center; font-size:28rem; font-family:serif; letter-spacing:2rem; margin-bottom:60rem}
	.RelatedCast h2 span{padding:0 15rem}
	.RelatedCast h2 img{width:80rem; margin-top:2rem}
	.RelatedCastFlex{display:flex; margin-bottom:100rem}
	.RelatedCastCard{position:relative; width:22%; margin-right:5%}
	.RelatedCastCard:nth-child(4n){width:22%; margin-right:0}
	.RelatedCastThumb
	.RelatedCasttCard .CastName{}
	.RelatedCastCard h3{position:absolute; bottom:0; width:100%; padding:25rem 0; text-align:center; background:linear-gradient(0deg, #281d39b0, transparent)}
	.RelatedCastName{font-size:16rem}
	
	.LiffSchedule .MonthlyScroll{width: 100%; min-height: 100%; box-sizing: border-box; overflow-x: auto; overflow-y: visible !important; position: relative;}
	.MonthlyScheduleInner{width: 1500px; height: auto; padding: 25rem 0;}
	.LiffSchedule .CastGrid{background: #fff; border-bottom: solid 1rem #06c755; border-right: solid 1rem #06c755;}
	.LiffSchedule .CastWeekday{font-size: 28rem; font-weight:bold; line-height:75rem; background: #06c755; color:#fff; box-sizing: border-box; border-left: solid 1rem #fff;}
	.LiffSchedule .EventMonth .CastDay{min-height: calc(100% - -20rem); border:solid 1rem #06c755; border-bottom: none; border-right: none;}
	.LiffSchedule .EventMonth .CastBody{color:#06c755; padding:50rem 6rem 15rem;}
	.LiffSchedule .EventMonth .CastDay .CastHead{font-size: 23.5rem; padding: 17rem 5rem; color:#06c755;}
    .LiffSchedule .CastBody:has(.ShopClose),.LiffSchedule .CastBody:has(.CastEmpty){font-weight: bold; height:calc(100% - 60rem)}
	.LiffSchedule .EventMonth .CastBody .CastSlot{font-size: 23.5rem; font-weight: bold; margin-bottom: 0; padding:8rem 0;}
	
	/* ブログ一覧ページ */
	.BlogArea{display:block}
	.BlogArea .BlogItem{width:100%; background:none; border:none; color:#fff; border-radius:0; border-bottom:solid 1rem #999}
	.BlogArea .BlogLink{display:flex; width:100%; padding:22rem 0}
	.BlogArea .BlogThumb{height:120rem; width:120rem; margin-right:25rem}
	.BlogTxt{display:flex; flex-direction:column; justify-content:center; width:calc(100% - 150rem)}
	.BlogTxt .BlogTitle{font-size:20rem; margin:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
	.BlogTxt .BlogDate{margin-top:12rem}
	.BlogTxt .BlogCastIcon{width:32rem; height:32rem; margin-right:6rem}
	.BlogProfile{border:solid 1rem #999; padding:35rem; margin-bottom:30rem}
	.BlogProfileInfo{position:relative}
	.BlogProfileInfo p{position:absolute; bottom:0; width:100%; padding:25rem 0; text-align:center; background:linear-gradient(0deg, #281d39b0, transparent)}
	.BlogProfileBtn{text-align:center; background:#fff; color:#333; padding:5rem; margin-top:15rem}
	.ArchiveItemArea{border:solid 1rem #999; padding:20rem 35rem 35rem; margin-bottom:30rem}
	.ArchiveAreaTtl{text-align:center; padding-bottom:15rem; margin-bottom:20rem; border-bottom:solid 1rem #fff}
	.ArchiveItemUl li{margin-bottom:8rem}
	.ArchiveItemUl li:last-child{margin-bottom:0}
	.ArchiveItemUl li a{display:flex; align-items:center}
	.ArchiveItemUl li a .BlogCastIcon{width:32rem; height:32rem}

	/* ブログシングルページ */
	.BlogContentFlex{display:flex; justify-content:center; padding-top:20rem; margin-bottom:100rem}
	.SinglePage .BlogContentFlex{padding-top:180rem}
	.BlogContentTxt{position:relative; width:62%; margin-right:8%}
	.BlogContentTxt h1{color:#fff; padding:24rem 0; font-weight:bold; font-size:22rem; font-family: sans-serif; border-bottom:solid .5rem #fff; margin:45rem 0 15rem}
	.BlogContent{font-size:16rem; padding:25rem 0; color:#fff;}
	.BlogEyecatch img{height:auto; margin-bottom: 100rem;}
    .BlogContent p{color:#fff; font-size:18rem; font-family:serif; margin-bottom:200rem;}
	.BlogContentSide{width:30%}
	.BlogImageWrapMulti img{max-width: 100%; height: auto; margin-bottom: 120rem;}
	.BlogImageWrapMulti img:last-child{margin-bottom: 0}
	
	/* イベント一覧ページ */
	.EventArea{display:block}
	.EventArea .EventItem{width:100%; background:none; border:none; color:#fff; border-radius:0; border-bottom:solid 1rem #999}
	.EventArea .EventLink{display:flex; width:100%; padding:22rem 0}
	.EventArea .EventThumb{height:120rem; width:120rem; margin-right:25rem}
	.BlogTxt{display:flex; flex-direction:column; justify-content:center; width:calc(100% - 150rem)}
	.EventTxt .EventTitle{font-size:20rem; margin:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-top:12rem}
	.EventTxt .EventDate{margin-top:8rem}
	.EventSchedle h2{display:flex; justify-content:center; align-items:center; font-size:28rem; font-family:serif; letter-spacing:2rem; margin-bottom:60rem}
	.EventSchedle h2 span{padding:0 15rem}
	.EventSchedle h2 img{width:80rem; margin-top:2rem}
	.EventMonthInner{overflow: hidden}
	.EventMonth .CastBody{padding:26rem 6rem 5rem}
	.EventMonth .CastDay{position:relative; margin-bottom:0; min-height: 80rem;}
	.EventMonth .CastDay:nth-child(7n + 1){border-right:solid 1rem #aaa}
	.EventMonth .CastEmpty{opacity:0}
	.EventMonth .CastDay .CastHead{position:absolute; display: inline-block; background:none; font-size:10rem; letter-spacing:1rem; color:#fff; padding:5rem}
	.EventMonth .CastSlot{width:100%; margin-bottom:5rem; padding:2rem 0; border:none}	
	.EventBar{position: relative; width: 217.5%; background: #fff; color: #000; text-align: center; border-radius: 20rem; font-size: 11rem; line-height: 28rem; z-index: 3}
	.EventPage .EventList{display:block; max-width:700rem; margin:50rem auto;}
	.EventPage .EventItem a{padding-bottom: 25rem; margin-bottom: 25rem; border-bottom: solid 1rem #999}
	.EventPage .EventItem{width:100%; padding:0;}
	.EventPage .EventItem:last-child{border:0}
	.EventPage .EventImg{width:100rem;}
	.EventPage .EventTxt{display: block;}
	.EventPage .EventTxt .EventTitle{margin:0; margin-top:20rem;}
	.EventColorRed{background:#ff0000; color:#fff}
	.EventColorPink{background:#ff6bad; color:#fff}
	.EventColorYellow{background:#f6ac2d; color:#fff}
	.EventColorGreen{background:#28b261; color:#fff}
	.EventColorBlue{background:#00b8ff; color:#fff}
	.EventColorPurple{background:#c000ff; color:#fff}
	.EventColorWhite{background:#eeeeee; color:#000}
	.EventPage .EventList .EventItem:last-child{display:flex; align-items:center; padding-left:0; width:100%}

	/* イベントシングルページ */
	.EventContentFlex{display:flex; justify-content:center; padding-top:180rem}
	.EventContentTxt{width:65%; margin-right:5%}
    .EventContent{color:#fff; font-size:18rem; font-family:serif; line-height:120rem}
	.EventContentSide{width:30%}
	.EventItemArea{padding:20rem 18rem}
	.EventItemArea .EventImg{width:60rem; margin-right:12rem}
	.EventItemArea li{margin-bottom:20rem}
	.EventItemArea li:last-child{margin-bottom:0}
	.EventItemArea li a span{display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; max-width:100%; word-break:break-all}
	
	/* リンクシェア */
	.ShareArea{display:flex; flex-direction:column; align-items:center; margin:80rem 0 120rem}
	.ShareTxt{position:relative; text-align:center; font-weight:bold; color:#fff; font-size:20rem; margin-bottom:25rem}
	.ShareTxt::before{content:""; position:absolute; top:0; left:-45rem; width:2rem; height:30rem; background:#9b9200; transform:rotate(-15deg); animation:animeUp 2.8s ease-in-out infinite}
	.ShareTxt::after{content:""; position:absolute; top:0; right:-45rem; width:2rem; height:30rem; background:#9b9200; transform:rotate(15deg); animation:animeUp 2.8s ease-in-out infinite}
	.BlogContent p.ShareTxt{position:relative; text-align:center; font-weight:bold; color:#fff; font-size:20rem; margin-bottom:25rem}
	.ShareFlex{display:flex; justify-content:center}
	.ShareFlex > div{width:52rem; height:52rem; border-radius:20%; background-size:cover; margin:0 15rem; transition:.3s}
	.ShareFlex > div a{position:relative; width:100%; height:100%}
	.ShareFlex > div a:hover{width:100%; height:100%}
	.ShareFlex div.ShareX{background:#000; background-image:url("images/X.svg"); background-position:center; background-size:52%; background-repeat:no-repeat}
	.ShareFlex div.ShareInsta{background-image:url("images/Insta.png"); background-position:center; background-repeat:no-repeat}
	
	/* スケジュールページ */
	.TodaysCast h2{display:flex; justify-content:center; align-items:center; font-size:25rem; font-family:serif; letter-spacing:2rem; margin-bottom:60rem}
	.TodaysCast h2 span{padding:0 15rem}
	.TodaysCast h2 img{width:80rem; margin-top:2rem}
	.SubPage .WeeklySchedule{width: 100%; margin:60rem 0}
	.SubPage .WeeklySchedule .CastDay{margin-bottom: 0;}
	.SubPage .WeeklySchedule .CastSlot{border:none; padding: 5rem 0;}
	.WeeklySchedule h2{display:flex; justify-content:center; align-items:center; font-size:25rem; font-family:serif; letter-spacing:2rem; margin-bottom:60rem}
	.WeeklySchedule h2 span{padding:0 15rem}
	.WeeklySchedule h2 img{width:80rem; margin-top:2rem}
	.WeeklySchedule .CastBody:has(.ShopClose),.WeeklySchedule .CastBody:has(.CastEmpty){height: calc(100% - 44rem)}
	.TwoWeeksSchedule{margin-bottom: 100rem;}
	.TwoWeeksSchedule h2{display:flex; justify-content:center; align-items:center; font-size:25rem; font-family:serif; letter-spacing:2rem; margin-bottom:60rem}
	.TwoWeeksSchedule h2 span{padding:0 15rem}
	.TwoWeeksSchedule h2 img{width:80rem; margin-top:2rem}
	.MonthlyGrid .CastBody{padding: 30rem 6rem 5rem}
	.MonthlyGrid .CastDay .CastHead{font-size: 12rem;}
	
	/* システム・料金 */
	.SystemPage{margin-bottom: 120rem;}
	.SystemPage dt{margin: 45rem 0 20rem}
	.SystemPage dd{margin-bottom: 10rem;}
	
	/* 店舗ルール */
	
	
	/* プラポ */
	.PrivacyPolicy{margin:20rem auto 100rem; padding:0 30rem}
	.PrivacyPageTxt{font-size:18rem; padding:0 0 40rem; text-align:center}
	h2.PrivacyTtl{font-size:28rem; font-weight:500; text-align:center; padding-bottom:30rem; margin:30rem 0; border-bottom:solid 1rem #333}
	.PrivacyPage h3{font-size:22rem; font-weight:500; margin-bottom:5rem; padding:0; border-bottom:none}
	.PrivacyPolicy p{font-size:15rem; margin-bottom:37rem}
	.PrivacyPolicy ul{font-size:15rem; margin:-28rem 0 28rem}
	p.PrivacyDesc{font-size:15rem; margin-bottom:100rem}
	.Page404 h2{text-align:center; font-size:24rem; margin-bottom:20rem}
	.Page404 p{text-align:center; font-size:18rem; margin-bottom:40rem}
	.Page404 a{width:320rem; height:55rem; text-align:center; margin-bottom:120rem; background:#333; border-radius:50rem; color:#fff; font-size:17rem; font-family:"Yu Gothic", "游ゴシック", "YuGothic"; font-weight:bold; line-height:55rem; cursor:pointer; background:linear-gradient(150deg, #00bcff, #0060ff); border:none; box-shadow:0 3rem 10rem 0 rgba(0,0,0,.1); transition:.3s}

	/* LIFF */
	.ShiftArea{height:100vh; width:90%; margin:0 auto; padding:40rem; background:#fff}
	.ShiftArea h1{border-bottom:solid 4rem #ff9c8c; font-size:55rem; font-weight:bold; padding:50rem 0; margin-bottom:100rem; color:#ff9c8c; text-align:center}
	.ShiftArea a.ShiftNewBtn{display:block; width:90%; margin:0 auto; background:#ff9c8c; border-radius:100rem; font-size:50rem; font-weight:bold; padding:45rem 0; margin-bottom:60rem; color:#fff; text-align:center}
	.ShiftArea a.ShiftEditBtn{display:block; width:90%; margin:0 auto; background:#fff; border:solid 5rem #ff9c8c; border-radius:100rem; font-size:50rem; font-weight:bold; padding:45rem 0; margin-bottom:45rem; color:#ff9c8c; text-align:center}
	.ShiftForm div{padding:18rem}
	.PasswordLock{font-family:sans-serif; text-align:center; padding:50px;}
	
	/* pagenation */
	.nav-links{display:flex; justify-content:center; align-items:baseline; margin-bottom:80rem}
	.nav-links *{margin:0 8rem; font-size:17rem}
	.screen-reader-text{display:none}
	a.page-numbers{text-decoration:underline}
	.nav-links .next{font-size:13rem}
	
	/* slickカスタマイズ */
    .slick-dots{bottom:0}
    .slick-dots li button::before{content:"\2022"; font-size:20rem}
	
	/* breadcrumb */
	.SingleCast .breadcrumb,.SingleNews .breadcrumb{position:unset; margin-bottom:30rem}
	.breadcrumb{position:absolute; bottom:22rem; left:50rem}
	.SingleBlog .breadcrumb,.SingleEvent .breadcrumb{bottom:inherit; left:0}
	.breadcrumb ul{display:flex}
	.breadcrumb li{position:relative; padding-right:30rem; color:#fff; letter-spacing:.5rem; font-size:14rem}
	.breadcrumb li::before{content:">"; display:block; position:absolute; right:10rem}
	.breadcrumb li:last-child::before{display:none}
	.breadcrumb li a{color:#fff}
	
}

@media (min-width:790px) and (max-width:999.9px) {
  	.MainSlideUl {left:calc(46% + 8vw)}
}

@media(min-width:1000px){
	html{font-size:1px}
	/*.HeaderNavmainUl{flex-basis:calc(400rem + 15vw)}*/
	.HeaderNavmainPc{margin-right:40rem}
	.Container{width:940rem}
}

@media (min-width:1000px) and (max-width:1279.9px) {
}

@media(min-width:1280px){
	.Container{width:980rem}
}

@media(min-width:1367px){
}

@media(min-width:1400px){
	.Header{margin:0 auto}
	.HeaderInnear{padding-left:calc(14vw - 115rem)}
	.HeaderNavmainPc{}
	#Feature::before{height:100rem; top:-99.6rem}
	#Feature::after{height:100rem; top:-99.6rem}
	#Line::before{background:rgba(80,80,80,.80)}
	.LineFlex{height:calc(330rem + 5vw)}
}

@media(min-width:1920px){
	html{font-size:1.1px}
}