@charset "utf-8";
/*
■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ 

 ■■■  ■                    ■                   
■     ■                    ■                   
■    ■■■■ ■ ■ ■   ■   ■■■ ■■■■ ■   ■  ■ ■  ■■■ 
 ■■   ■   ■■  ■   ■  ■■ ■  ■   ■   ■  ■■  ■  ■ 
  ■■■ ■   ■   ■   ■  ■     ■   ■   ■  ■   ■   ■
    ■ ■   ■   ■   ■  ■     ■   ■   ■  ■   ■■■■■
■   ■ ■   ■   ■  ■■  ■■    ■   ■  ■■  ■   ■    
■■■■  ■■  ■    ■■ ■   ■■■  ■■   ■■ ■  ■    ■■■ 

■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ 
*/
/* ---- Structure ---- */
html,body{ min-height:100%; position: relative; }
body{ color: #fff; background:#000 url("../images/common/background.webp") repeat-y center top; background-size: 100%; }
body{ font-family: YakuHanMPs, "Noto Serif JP", serif; }
.fnt-bsc{font-family: YakuHanMPs, "Noto Serif JP", serif;}
.fnt-bsc.noyh{font-family: "Noto Serif JP", serif;}
.fnt-dsp1{  }
.fnt-ac0{ color:#FFF; }
.fnt-ac1{ color:#e60000; }
.fnt-ac2{ color:#129f83; }
.fnt-ac3{ color:#ff7e28; }
.fnt-ac4{ color:#ff3728; }

header,article,section,footer{ position: relative; width: 100%; display: block; }
.lo-part,.lo-cont{ position: relative; width: 100%; display: block; }

.part-background{ position: absolute; width: 100%; min-height:100%; overflow: hidden; }
.part-foreground{ position: absolute; width: 100%; min-height:100%; overflow: hidden; z-index: 999; pointer-events: none; }
.part-header{ position: relative; z-index: 500; }
.part-body{ position: relative; }
.part-footer{ position: relative; }

/* lazyestload */
img { transition: filter 0.3s;}
img.lazyestload { width: 100%; filter: blur(8px);}

/* background */
#Background  > div{ width: 100%; min-height: 100%; position: absolute; top:0; pointer-events: none; }
#Background .header-smoke{ background: url("../images/common/header-smoke.webp") no-repeat center top; background-size: 100%; }
#Background .footer-smoke{ background: url("../images/common/footer-smoke.webp") no-repeat center bottom; background-size: 100%; }
/* foreground */
#Foreground  > div{ width: 100%; min-height: 100%; position: absolute; top:0; pointer-events: none; }

/* header */
.part-header{ width: 100%; height: 100vh; position: fixed; top:0; left:0; background: rgba(0, 0, 0, 1);pointer-events: none; }
.part-header::before{ content:""; width: 100%; height: 100vh; position: absolute; top:0; left:0;pointer-events: none; background:#000 url("../images/common/background.webp") repeat-y center top; background-size: 100%; }

.header-navi{ width: 100%; display: flex; flex-wrap: wrap; justify-content: center; }
.header-navi .btmln{ display: block; width: 100%; height: 1px; background-color: #FFF; position: relative; }

.cont-global-logo{ width: calc(900/3000*100em); padding:18em 5em 5em 5em; margin: 0; border-left:#FFF solid 1px; }

.cont-global-navi{ width: calc(630/3000*100em); position: relative; padding: 11em 0 5em 0; margin: 0; border-right:#FFF solid 1px; }
.global-navi{ width: 100%; padding:1em 1em; margin: 0 auto; position: relative; pointer-events: auto; text-align: left; }
.global-navi > ul{ display: flex; flex-wrap: wrap; justify-content: center; align-items: center; list-style-type: none; padding: 0; margin: 0; position: relative; }
.global-navi > ul > li{ width: 100%; display: block; padding: 0; margin: 0 0 1em 0; letter-spacing: .15em; position: relative; }
.global-navi > ul > li a{ color: #fff; text-decoration: none; position: relative; display: inline-block; padding: 0 0 .3em 0; }
.global-navi > ul > li a:before{ content:""; width: 1.5em; height: .333em; position: absolute; left: 0; right: 0; margin: 0 ; bottom:0; background-color:#000; }
.global-navi > ul > li a .label{ font-size: 1.7em; letter-spacing: .25em;  }
.global-navi > ul > li a:hover{ color: #fff; text-decoration: none;}
.global-navi > ul > li a:hover:before{ background-color:#e60000; }
.global-navi > ul > li.gnx{ padding-top: 1em; }
.global-navi > ul > li.gnx a{ width: 2.4em; margin: 0 auto; }
.global-navi > ul > li.gnx a .label-image{ display: block; width:100%; }
.global-navi > ul > li.gnx a:before{ display: none;}
.global-navi > ul > li.gnx a:hover{ transform: scale(1.1); }
.global-navi > ul > li.gnx a:hover:before{ visibility: hidden; }
.global-navi > ul > li.crt a{ opacity: 1; pointer-events: none; color: #fff; }
.global-navi > ul > li.crt a:before{ background-color:#e60000; }
.global-navi > ul > li.cs a{ opacity: 1; pointer-events: none; color: #CCC; }
.global-navi > ul > li a.hdn{ display: none; }

.cont-global-etc{ width: calc(880/3000*100em); position: relative; padding: 5em 0 5em 0; margin: 0; border-right:#FFF solid 1px; }
.global-sns{ display: flex; flex-wrap: wrap; justify-content: center; padding:3em 0; border-top:#FFF solid 1px; }
.global-sns > .ic{ display: block; width: 2em; margin: 0 1em; }
.global-sns > .label{ display: block; width: 100%; margin: 0; font-size: .8em; text-align: center; padding-top: 1em; }

.global-banner{ display: flex; flex-wrap: wrap; justify-content: center; padding:3em 3em; border-top:#FFF solid 1px; border-bottom:#FFF solid 1px; }
.global-banner a{ padding: 1em; }

.cont-sp-btn{ display: block; width: 4.7em; height: 4.7em; position: absolute; top:1em; right: 2em; z-index: 3; pointer-events: all; }
/* .top-page.main-vis-nav .cont-sp-btn{ filter: invert(100%); } */
.cont-sp-btn a{ text-align: center; line-height: 0;  }
.cont-sp-btn a:hover{ text-decoration: none;}
.cont-sp-btn svg{ fill: currentColor; }
.cont-sp-btn .sp-navi-open{ display: block; }
.cont-sp-btn .sp-navi-close{ display: none;  }

.part-header{ background-color: rgba(0,0,0,0); background-image: none; transition: background-color .2s ease-out 0s; }
.part-header:before{ opacity: 0; transition: opacity .5s ease-out .2s; visibility: hidden; }
.header-navi{ display: none; }

/* .top-page.main-vis-nav.spmenu-on  .cont-sp-btn{ filter: invert(0%); } */
.spmenu-on .cont-sp-btn .sp-navi-open{ display: none; }
.spmenu-on .cont-sp-btn .sp-navi-close{ display: block; }
.spmenu-on .part-header{ background-color: rgba(0, 0, 0, 1); pointer-events: auto; }
.spmenu-on .part-header:before{ opacity: 1; visibility: visible; }
.spmenu-on .header-navi{ display: flex; }


/* body */
.part-body{ position: relative; display: block; margin: 0; }
.part-body-side{ display: none; }
.part-body-main{ position: relative; width: 100%; }

.cont-upper{ position: relative; }
.sub-page .cont-upper{ padding: 4em 0 4em 0; }
.cont-middle{ position: relative; }
.cont-bottom{ position: relative; }

.cont-top-content > .inner{ padding: 0; margin: 0 auto;}
.cont-sub-content > .inner{ padding: 0; margin: 0 auto;}

.top-subtitle{ font-size: 1em; width: calc(1000/3000*100em); margin: 0 auto 3em auto; z-index: 2; position: relative; }
.sub-subtitle{ font-size: 1em; width: calc(1000/3000*100em); margin: 0 auto 1.5em auto; z-index: 2; position: relative; }

.sub-blocktitle{ font-size: 1em; width: calc(1062/3000*100em); margin: 0 auto 2em auto; z-index: 2; position: relative; }
.sub-blocktitle > span{ }


.sub-logo{ width: calc(262/3000*100em); margin: 0 auto; padding: 0; }
.sub-content-container{  }


/* footer */
.part-footer{ position: relative; }
.cont-global-footer{ width: 100%; margin: 0 auto; padding: 1em 0 12em 0; position: relative; }
.footer-pagetop{ width: calc( 206/3000 * 100em ); height: calc( 206/3000 * 100em ); position: fixed; bottom:2em; left:0; right: 0; z-index: 10; margin: 0 auto; }
.footer-pagetop a{ display: block; position: relative; width: 100%; min-height: 100%; background:url("../images/navi/pagetop.webp") no-repeat center center; background-size: contain; }
.footer-pagetop a:hover{ transform: scale(1.1); }
.footer-pagetop{ opacity: 0;}
.footer-pagetop.start{ animation: anm-pagetop-btn .5s 0s ease-out both running;}
@-webkit-keyframes anm-pagetop-btn { 0% { opacity: 0; -webkit-transform: translateY(-2em); transform: translateY(-2em);} 100% { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0);}}
@keyframes anm-pagetop-btn { 0% { opacity: 0; -webkit-transform: translateY(-2em); transform: translateY(-2em);} 100% { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0);}}
.anm-pagetop-btn { -webkit-animation-name: anm-pagetop-btn; animation-name: anm-pagetop-btn;}

.cont-footer{  padding: 0; margin: 0 auto; text-align: center; }
.footer-copyrihgt p{ color: #4f4f4f; font-size: .9em; font-weight: 900; margin: 0; }

.footer-banner{ display: flex; flex-wrap: wrap; justify-content: center; margin: 0 auto 2em auto; }
.footer-banner a{ display: block; width: calc(680/3000*100em); margin: 0; padding: .5em 1.5em;}

.footer-sns{ display: flex; justify-content: center; margin-bottom:2em; }
.footer-sns > .ic{ display: block; width: 2em; margin: 0 1em; }

/* content */
.inview{ animation:inview .5s .5s ease-out both paused; }
.inview-start{ animation:inview-start .5s .5s ease-out both running; }
.inview-act{ transform-origin: left top; transition: all .5s ease .1s;  }

.table-a{ border-collapse: separate; border-spacing: 2px;}
.table-a th{ padding:0.5em; background-color:rgba(255,255,255,.05); font-weight: normal; text-align: inherit; vertical-align: top; text-align: left; }
.table-a td{ padding:0.5em; background-color:rgba(255,255,255,.025); vertical-align: top; }

.frame-a{ border:#202020 solid 1px; background-color: #000; }
.frame-b{  background-color: #202020; }

.rot-a{ position: relative; transform: rotate(3deg); }
.rot-b{ position: relative; transform: rotate(-3deg); }

.sdw-1{ filter: drop-shadow(.25em .25em 0 #e60000); }
.sdw-2{ filter: drop-shadow(0 0 .5em #d7000f); }
.sdw-3{ text-shadow:-1px 0px 0px #000,1px 0px 0px #000; filter: drop-shadow(0 0 .5em #fb00ff); }

.sdw-t1{ filter: drop-shadow(1px 1px 0 #ffe382); }
.sdw-t2{ filter: drop-shadow(1px 1px 0 #ebaffe); }

.sqr-image-box{ width: 27em; height: 27em; background-color: #FFF; position: relative; }
.sqr-image-box img{display: block; width: 100%; height: 100%; object-fit: scale-down;}


/* 1 */
.cont-entries{ padding: 0; margin: 0 auto; padding-bottom: 3em; }
.content-entry{ padding: 0; margin: 0 0 1em 0; position: relative; background-color: rgba(32, 32, 32, 0.9); }
.content-entry:nth-child(even){ background-color: rgba(20, 20, 20, 0.9);}
.content-entry .entry-head{ width: calc(2000/3000*100em); height: 100%; min-height: 7.333em; margin: 0 auto; position: relative; padding: 0; }
.content-entry .entry-date{ width: 8.5em; padding: 0; font-size: 1em; margin: 0; padding-left: 1em; text-align: left; pointer-events: none; position: relative;/*position: absolute; top:2.8em; left:9em;*/ }
.content-entry .entry-date:after{ content:"｜"; position: absolute; top:0; right: 0; }
.content-entry .entry-date > span{ color: #fff; line-height: 1; letter-spacing: .1em; margin-bottom: 0;}

.content-entry .entry-title{ width: 50em; padding: 0 0 0 1em; margin: 0; position: relative; text-align: left; position: relative;  }
.content-entry .entry-title > span{ color: #fff;  font-size: 1.333em; line-height: 1.7; }
.content-entry .entry-title [data-ruby]::before { top: -1.5em;  }
.content-entry .entry-body{ padding: 2em 18%; font-size: 1.1em; color: #fff; letter-spacing: .05em; line-height: 1.9; position: relative; border-top:#000 solid 1px; }
.content-entry .entry-body [data-ruby]::before { top: -1.5em;  }

.content-accordion .acd-check{ display: none;}
.content-accordion .acd-head .acd-label{ display: flex; flex-wrap: nowrap; align-items: center; }
.content-accordion .acd-head{ position: relative; }
.content-accordion .acd-head .acd-label::before{ content:""; display: block; padding: 0; width: 7.333em; height: 7.333em; margin-bottom: 0; text-align: center; line-height: 1; background: url("../images/common/news-open.webp") no-repeat left top; background-size: 7.333em; position: relative;  pointer-events: auto;}
.content-accordion .acd-body{ display: none; height: 0; overflow: hidden; transition: 0.5s all ease 0.5s; }
.content-accordion .acd-check:checked ~ .acd-body{ display: inherit; height: inherit; transition: 0.5s all ease 0s;}
.content-accordion .acd-check:checked ~ .acd-head .acd-label::before{ background-image: url("../images/common/news-close.webp")}

.content-link .lnk-head{ position: relative; }
.content-link .lnk-head > a::before{ content:""; display: block; padding: 0; width: 7.333em; height: 7.333em; margin-bottom: 0; text-align: center; line-height: 1; background: url("../images/common/news-link.webp") no-repeat left top; background-size: 7.333em; position: relative; pointer-events: none;}
.content-link .lnk-head > a{ display: flex; flex-wrap: nowrap; align-items: center; text-decoration: none; color: #FFF; }

.content-non .non-head{ position: relative; }
.content-non .non-head a{ display: flex; flex-wrap: nowrap; align-items: center; text-decoration: none; pointer-events: none; }


.cont-singles{ padding: 0; margin: 0 auto; padding-bottom: 3em; }
.content-single{ padding: 0; margin: 0 0 1em 0; position: relative; background: #202020; }
.content-single .entry-head{ margin-bottom: 0; position: relative; padding: 1.5em; }
.content-single .entry-title{ padding:1em ; margin-bottom: 0; position: relative; background: #fff; border:#003f63 solid 2px; border-radius: .5em; }
.content-single .entry-title > span{ color: #003f63;  font-size: 1.5em; font-weight: 800; line-height: 1.5; }
.content-single .entry-body{ padding: 1.5em; font-size: 1.2em; color: #003f63; letter-spacing: .05em; line-height: 1.8; position: relative; }

.cont-tiles{ display: flex; flex-wrap: wrap; justify-content: center;  }

.modal-data{ display: none; }
.cont-modal{ width: 100%; margin: 0 auto; }

.block-data{ display: none; }
.block-data.crt{ display: inherit; }

.cont-modal.comment{ width: 66em;  }
.comment-title{ width: calc(304/3000*100em); margin: 0; position: absolute; top:-3em; right:-3em; z-index: 3; }
.comment-container > .inner{ padding: 3em;  }
.comment-image{ margin:-5em -6.5em 3em 2em; }
.comment-container .text{ font-size: 1.2em; line-height: 2; letter-spacing: .05em; }


/* modaal */
.modaal-overlay{ background: rgba(0,0,0,.95); }
.modaal-wrapper{ overflow-x: hidden; }
.modaal-inner-wrapper{ padding: 80px 0; }
.image-typ2 .modaal-inner-wrapper{ padding: 80px 25%; }
.modaal-container{ color: inherit; background-color: transparent; box-shadow:none; max-width: inherit; }
.modaal-content-container{ padding: 0; }
.modaal-video-wrap{ margin: auto auto; }
.modaal-close{ right: 2.5em; top: 1.5em; width: 3em; height: 3em;}
.modaal-close:before,.modaal-close:after{ background-color: #fff; border-radius: 0; top: .4em; left: 2em; width: .4em; height: 4em; }
.modaal-close:focus,.modaal-close:hover {background: transparent;}
.modaal-close:focus:before,.modaal-close:focus:after{background: #e60000;}
.modaal-close:hover:before,.modaal-close:hover:after{background: #e60000;}

/*
■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ 

              ■                 ■                
■             ■  ■       ■      ■               ■
■             ■                 ■               ■
■  ■■■■    ■■■■  ■ ■   ■ ■   ■■■■  ■   ■  ■■■   ■
■  ■■  ■  ■■ ■■  ■  ■  ■ ■  ■■ ■■  ■   ■  ■  ■  ■
■  ■   ■  ■   ■  ■  ■ ■  ■  ■   ■  ■   ■   ■■■  ■
■  ■   ■  ■   ■  ■  ■ ■  ■  ■   ■  ■   ■ ■■  ■  ■
■  ■   ■  ■■ ■■  ■   ■■  ■  ■■ ■■  ■  ■■ ■   ■  ■
■  ■   ■   ■■■■  ■   ■   ■   ■■■■   ■■ ■  ■■■■  ■

■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ 
*/
/* Modal */
#Modal_data{ display: none; }

/* TOP-PAGE */
/* main */
.cont-top-visual{ width: 100%; min-height: 136.5em; position: relative; margin: 0 auto; padding:6.5em 0 0 0; overflow: hidden; }
.cont-top-visual img{ width: 100%; height: auto; }
.cont-top-visual .kv-container{ width:100%; position: relative; margin: 0 auto; }
.kv-container > div{ position: absolute; top:0; }
.kv-container .grp{ position: relative; top:inherit; display: none; }
.kv-container .grp.on{ display: block; }
.kv-container .grp > div{ position: absolute; top:0; }
.kv-container .grp .vis-grp{ position: relative; width: 100%; margin: 0 auto; }
.kv-container .grp .vis-grp .bg{ position: relative; }
.kv-container .grp .vis-grp .vis{ position: absolute; top:0; }

.kv-container .logo{ width: calc(1938/3000*100em); top:101em; left:0; right:0; margin: 0 auto; }
.kv-container .logo > div{ display: none; }
.kv-container[data_vis="1"] .logo .t1{ display: block; }
.kv-container[data_vis="2"] .logo .t2{ display: block; }

.kv-container .oa{ width: calc(814/3000*100em); top:132.3em; left:0; right:0; margin: 0 auto; }
.kv-container .oa > div{ display: none; }
.kv-container[data_vis="1"] .oa .t1{ display: block; }
.kv-container[data_vis="2"] .oa .t2{ display: block; }

.vis-switch-container{ padding: 1em 0 0 0; margin: 0; position: absolute; top:130em; left:1em; margin: 0 ;  z-index: 2; pointer-events: none;}
.vis-switch{ display: flex; flex-wrap: wrap; flex-direction: row; justify-content: flex-start; }
.vis-switch > div{ width: calc(290/3000*100em*0.8); line-height: 0; margin: .75em; background-color: #202020; padding: 1px;}
.vis-switch > div a{ display: inline-block; padding: 0; background-color: rgba(0, 0, 0, 1); pointer-events: auto; }
.vis-switch > div a > img{ opacity: .5; }
.vis-switch > div a:hover{ background-color: rgba(0, 0, 0, 1);}
.vis-switch > div a:hover > img{ opacity: 1; }
.vis-switch > div.on a{  pointer-events: none; background-color: rgba(0, 0, 0, 1); }
.vis-switch > div.on a > img{ opacity: 1; }


.kv-container .grp .vis-grp{ transform: scale(1.55) translateY(-15%); opacity: 0; }
.kv-container .logo{ opacity: 0; transform: translateY(-10%); }
.kv-container .oa{ opacity: 0; }
.vis-switch-container{ visibility: hidden; opacity: 0; }


.s0 .kv-container .grp .vis-grp{ transform: scale(1.55) translateY(-15%); opacity: 1; transition: all 1.0s ease .0s; }
.s1 .kv-container .grp .vis-grp{ transform: scale(1.55) translateY(17.5%); opacity: 1; transition: all 3.0s ease .0s; }
.s4 .kv-container .grp .vis-grp{ transform: scale(1.0) translate(0,0); opacity: 1; transition: all 1.5s ease .5s; }
.s4 .kv-container .grp .vis-grp .catch{ opacity: 1; transition: all 1.0s ease 1.0s; }
.s4 .kv-container .logo{ opacity: 1; transform: translateY(0%); transition: opacity .75s ease-out 1s, transform .5s ease-out 1s; }
.s4 .kv-container .oa{ opacity: 1; transition: opacity .75s ease-out 1s, transform .5s ease-out 1s; }
.s5 .vis-switch-container{ visibility: visible; opacity: 1; pointer-events: auto; }
.s5.top-page .part-header{ visibility: visible; }
.s5 .cont-top-twitter{ display: block; }
.s5 .vis-switch-container{ opacity: 1; visibility: visible; transition: all .9s ease .5s; }
.s5 #Background .top-main-bg{ display: block; }

.kv-container .grp{ transform: scale(1.1,1.1) ; transform-origin: center center; opacity: 0; }
.kv-container .grp.on{ transform: scale(1,1); opacity: 1; transition: all 1.0s ease .0s; }


/* top-movie */
.cont-top-movie{ min-height: 43em;  margin-bottom:4em; background-color: #222; }
.cont-top-movie > .inner{ padding:2em 0 ; margin: 0 auto; }

.movie-bg{ position: absolute; width: 100%; height: 100%; overflow: hidden; /*aspect-ratio: 16/9;*/ filter:brightness(.7) saturate(.2) contrast(0.7) blur(2px);}
.movie-bg iframe { position: absolute; width: calc(100vw*1.6); height:calc(56.25vw*1.6); top:-20vw; left:-30vw; pointer-events: none;  }

.top-movie-list{ width: calc(2000/3000*100em); /*width: 100%;*/ position: relative; margin: 0 auto; }
.top-movie-list .thm{ width: 100%; position: relative;text-align: center; line-height: 0; padding: 1em; }

.top-movie-list .thm > a{ display: inline-block; pointer-events: auto; overflow: hidden; line-height: 0; position: relative; }
.top-movie-list .thm > a::after{ content:""; position: absolute; display: block; width:100%; height:100%; background: url("../images/common/play.webp") no-repeat center center; background-size: calc(170/3000*100em); transform-origin: center center; pointer-events: none; top:0; left: 0; right: 0; margin: 0 auto; opacity: 1; }
.top-movie-list .thm > a:hover::after{ background-size: calc(190/3000*100em*1.1); }

.top-movie-cursor{ position: absolute; width: 72%; top:20em; left: 0; right: 0; margin: 0 auto; pointer-events: none; }
.top-movie-cursor ul{ display: flex; justify-content: space-between; margin: 0; padding: 0; list-style-type: none; }
.top-movie-cursor ul li{  display: block; width:calc(58/3000*100em); height: calc(102/3000*100em); position: relative; pointer-events: all; cursor: pointer; }
.top-movie-cursor ul li span{ display: block; width:100%; height: 100%; background: url("../images/common/cursor.webp") no-repeat center center; background-size: 100%; transform-origin: center center; }
.top-movie-cursor ul li a,
.top-movie-cursor ul li a:hover{ text-decoration: none; }
.top-movie-cursor ul li span:hover{ transform: scale(1.1,1.1);}
.top-movie-cursor ul li.left span{ transform: scale(-1,1); }
.top-movie-cursor ul li.left span:hover{ transform: scale(-1.1,1.1); }
.top-movie-cursor ul li.slick-disabled{ pointer-events: none; opacity: .3; }


/* top-news */
.cont-top-news{ min-height: 26em;  }
.cont-top-news > .inner{ padding:2em 0 ; margin: 0 auto; }
.top-subtitle.news{ width: calc(450/3000*100em); }

.news-link{ width: 100%; padding: 0 25% 0 25%; margin-bottom:2em;  }
.news-link a{ color: #FFF; text-decoration: none; font-weight: normal; letter-spacing: .1em; font-size: 1.2em; }
.news-link a:before{ content:"> "; }
.news-link a:hover{ color:#e60000; }

.top-news-container{ width:100%; padding:0;  margin: 0 auto; }
.top-news-container a{ width: 100%; display: block; background-color: rgba(32, 32, 32, 0.9);}
.top-news-container a:nth-child(even){ background-color: rgba(20, 20, 20, 0.9);}
.top-news-container dl{ width: 50%; padding: 1em 0; margin: 0 auto; display: flex; font-size: 1.0em; }
.top-news-container dl dt{ width: 8em; font-size: .933em; font-weight: normal; margin: 0; padding: 0; letter-spacing: 0.1em; line-height: 1.8; position: relative; }
.top-news-container dl dt::after{ content:"｜"; position: absolute; top:0; right: .5em;  }
.top-news-container dl dd{ max-width: 45em; font-size: .933em; font-weight: normal; margin: 0; padding: 0; line-height: 1.8; letter-spacing: 0.1em;  }
.top-news-container a,
.top-news-container a:visited{ text-decoration: none; color: #fff; }
.top-news-container a:hover{ color:#e60000; }




/* SUB-PAGE */

.sub-page .cont-upper{ }
.sub-page .cont-middle{ min-height: calc(100vh - 46em);}
.sub-page .cont-sub-content{ min-height: calc(100vh - 46em);}



/* news */
.cont-sub-news{ }
.sub-subtitle.news{ width: calc(450/3000*100em); }
.sub-news-container{ position: relative; }



/* story */
.cont-sub-story{  }
.sub-subtitle.story{ width: calc(495/3000*100em); }
.cont-sub-story > .inner{ padding:0 0 3em 0 ; margin: 0 auto; }
.story-container{ width: 100%; margin: 0 auto; position: relative;  padding: 2em 0; position: relative; background-color: rgba(233, 33, 3, 0.2); }
.story-container .bgw{ width: 100%; min-height: 100%; position: absolute; top:0; background: url("../images/story-bg.webp") no-repeat center center; background-size: contain; z-index: 1; mix-blend-mode: screen; opacity: 0.1; }

.story-title{  text-align: center; letter-spacing: .15em; z-index: 3; position: relative; margin-bottom: 1em;}
.story-text{ text-align: center; margin: 0 auto; padding: 4em 0 3em 0; position: relative; z-index: 3;  }
.story-text p{ font-size: 1.333em; font-style: italic; line-height: 2.4; letter-spacing: .15em; margin-bottom: 0;filter: drop-shadow( 0 0 .2em #000) drop-shadow( 0 0 .2em #000); }
.story-text p.mkw{ font-weight: bold; font-size: 1.333em; }
.story-text p [data-ruby]::before { top: -1.75em;  }



/* character */
.cont-sub-character{ }
.sub-subtitle.character{ width: calc(802/3000*100em); }
.cont-sub-character > .inner{ padding:0 0 3em 0 ; margin: 0 auto; }
.sub-character-container{ position: relative; }

.sub-cttl.character{ text-align: center; }

.character-container{ width: calc(3000/3000*100em); margin: 0 auto; position: relative;  }

#CharaCont{ position: relative; }
.cont-character-navi{ margin: 0 auto 3em auto; position: relative; z-index: 5; }
.character-navi{ width: 100%; margin: 0 auto }
.character-navi ul{ display: flex; flex-wrap: wrap; flex-direction: row; justify-content: center; margin: 0; padding: 0; list-style-type: none; }
.character-navi ul li{ width: calc(110/3000*100em); display: block; margin: 0 .5em; border:#FFF solid 1px; }
.character-navi ul li a{ display: block; position: relative; transform-origin: center center; pointer-events: all; cursor: pointer; background-color: #000; overflow: hidden; }
.character-navi ul li a img{ position: relative; z-index: 1;}
.character-navi ul li a:before{ content:""; width: calc(100% - 4px); height: calc(100% - 4px); border:#e60000 solid 1px; position: absolute; top:2px; left:2px; pointer-events: none; opacity: 0; z-index: 2; }
.character-navi ul li a:hover{ text-decoration: none; }
.character-navi ul li a:hover:before{ opacity: 1; }
.character-navi ul li.crt a{ pointer-events: none; }
.character-navi ul li.crt a img{ opacity: .5; }
.character-navi ul li.crt a:before{ opacity: 1; }
.character-navi ul li.sep{ width: 100%; height: 1px; }
.character-navi ul li.sep-pc{ width: 100%; height: 1px; }
.character-navi ul li.sep-sp{ display: none; }

.cont-character-data{ width:100%; padding: 5em 0 2em 0; position: relative; background-color: rgba(233, 33, 3, 0.25); }
.character-data{ width:100%; min-height: 45em; position: relative; pointer-events:none; display: none; }

.character-data .chr-img{ position: absolute; /*width: calc(1088/3000*100em);*/ width: calc(1088/3000*100em*1.25);  top:0; right:13.5em; z-index: 1; }
#C2.character-data .chr-img{ width: calc(765/3000*100em*1.25); top:-7em; right:16em; z-index: 1; }
#C3.character-data .chr-img{ width: calc(1135/3000*100em*1.25); top:-14em; right:9em; z-index: 1; }
#C4.character-data .chr-img{ width: calc(872/3000*100em*1.25); top:-7em; right:13em; z-index: 1; }
#C5.character-data .chr-img{ width: calc(887/3000*100em*1.25); top:1em; right:17em; z-index: 1; }
#C6.character-data .chr-img{ width: calc(1003/3000*100em*1.25); top:-7em; right:12em; z-index: 1; }
#C7.character-data .chr-img{ width: calc(1385/3000*100em*1.25); top:-4em; right:4em; z-index: 1; }
#C8.character-data .chr-img{ width: calc(1290/3000*100em*1.25); top:1em; right:7em; z-index: 1; }
#C9.character-data .chr-img{ width: calc(850/3000*100em*1.25); top:-1em; right:18em; z-index: 1; }
.character-data .chr-img .figure{ display: none; }
.character-data .chr-img .figure.nochange{ display: block; }
.character-data[data-swt="1"] .chr-img .figure.fig1{ display: block; }
.character-data[data-swt="2"] .chr-img .figure.fig2{ display: block; }

.character-data .chr-prof{ position: relative; width: calc(1200/3000*100em); margin: 0em auto 0 10em; z-index: 3; }
.character-data .prof-name{ padding: 0 0 1.5em 0;  }
.character-data .prof-text{ position: relative; margin-bottom: 3em; width: 100%; height: calc(900/3000*100em);  }
.character-data .prof-text .text{ margin: 0 auto; font-size: 1.333em; letter-spacing: .1em; line-height: 2.25; position: relative; z-index: 6; filter: drop-shadow( 0 0 .2em #000) drop-shadow( 0 0 .2em #000); writing-mode: vertical-rl; }
/* .character-data .prof-text .text [data-ruby]::before { top: -1.75em;  } */
.character-data .prof-pv{ width: calc(640/3000*100em);  margin: 0 auto; }
.character-data .prof-pv > a{ display: block; pointer-events: auto; overflow: hidden; line-height: 0; position: relative; border:#4f4f4f solid 1px; }
.character-data .prof-pv > a::after{ content:""; position: absolute; display: block; width:100%; height:100%; background: url("../images/common/play-s.webp") no-repeat center center; background-size: calc(94/3000*100em); transform-origin: center center; pointer-events: none; top:0; left: 0; right: 0; margin: 0 auto; opacity: .5; }
.character-data .prof-pv > a:hover::after{ background-size: calc(94/3000*100em*1.1); opacity: 1; }
.character-data .prof-pv > p{ color: #4f4f4f; font-weight: bold; text-align: center; margin: 0; padding-top: .25em; letter-spacing: .1em; }

.character-data.crt{ display: block; }
.character-data.crt .chr-img{ animation: anm-character-change .5s .05s ease-out both running; }
@keyframes anm-character-change {
  0% { opacity: 0; transform: translateX(10%);}
  100% { opacity: 1; transform: translateX(0);}
}
.character-data.crt .prof-name{ animation: anm-character-face-change .5s .05s ease-out both running; }
.character-data.crt .prof-text{ animation: anm-character-face-change .5s .25s ease-out both running; }
@keyframes anm-character-face-change {
  0% { opacity: 0; transform: translateX(-10%);}
  100% { opacity: 1; transform: translateX(0);}
}



/* staffcast */
.cont-sub-staffcast{   }
.sub-subtitle.staffcast{ width: calc(990/3000*100em); }
.cont-sub-staffcast > .inner{ padding: 0 0 3em 0; }
.staffcast-container{ width: 100%; margin: 0 auto; position: relative;  padding: 3em 0 .25em 0; position: relative; background-color: rgba(233, 33, 3, 0.15); }

.list-title.staff{ width: calc(210/3000*100em); margin: 0 auto 3em auto; }
.list-title.cast{ width: calc(190/3000*100em); margin: 0 auto 3em auto; }
.list-title.music{ width: calc(256/3000*100em); margin: 0 auto 3em auto; }

.staffcast-list{ width: 80%; margin:0 auto 3em auto;  text-align: center; display: flex; flex-wrap: wrap; justify-content: center; position: relative; z-index: 3; }
.staffcast-list > div{ width: 100%; margin-bottom: 1em; position: relative; }
.staffcast-list.cs > div{ width: 100%;  }
.staffcast-list > div.sep{ width: 100%; height: 1px; margin-bottom: 0; }
.staffcast-list > div.nmgb{ margin-bottom: .5em; }
.staffcast-list > div.full{ width: 100%; }
/* .staffcast-list > div.p60{ width: 60%; }
.staffcast-list > div.p50{ width: 50%; }
.staffcast-list > div.p40{ width: 40%; }
.staffcast-list > div.p33{ width: 30%; }
.staffcast-list > div.p30{ width: 30%; }
.staffcast-list > div.p25{ width: 25%; }
.staffcast-list > div.p20{ width: 20%; } */
.staffcast-list > div > div{ margin-bottom: 3em; position: relative; }
.staffcast-list .pos{ display: inline-block; font-size: 1.1em; letter-spacing: .1em;  margin-bottom: .5em; line-height: 1; }
.staffcast-list .pos::after{ content:"："; }
.staffcast-list .name{ display: inline-block; font-size: 1.333em; letter-spacing: .1em; margin-bottom: 0; line-height: 1.3; }
.staffcast-list .exname{ display: inline-block; font-size: 1.0em; letter-spacing: .1em; padding-top: .5em; margin-bottom: 0; line-height: 1.2; }
.staffcast-list .comment{ display: inline-block; width: 1.8em; position: absolute; top:-0.1em; left:calc(50% + 2.0em + 1.5em); text-decoration: none; pointer-events: auto; transition: all .25s ease-out 0s; }
.staffcast-list .comment .cmt{ display: block; position: relative;}
.staffcast-list .comment .cmt:hover{transform: scale(1.1); text-decoration: none; cursor: pointer; }
.staffcast-list .comment.ch2{ left:calc(50% + 1.5em + 1.5em); }
.staffcast-list .comment.ch3{ left:calc(50% + 1.5em + 1.5em); }
.staffcast-list .comment.ch4{ left:calc(50% + 2.5em + 1.5em); }
.staffcast-list .comment.ch5{ left:calc(50% + 3.0em + 1.5em); }
.staffcast-list .comment.ch6{ left:calc(50% + 3.5em + 1.5em); }
.staffcast-list .comment.ch7{ left:calc(50% + 4em + 1.5em); }
.staffcast-list .comment.ch8{ left:calc(50% + 4.5em + 1.5em); }
.staffcast-list .comment.ch9{ left:calc(50% + 5em + 1.5em); }
.staffcast-list .comment.ch10{ left:calc(50% + 5.5em + 1.5em); }
.staffcast-list .comment.ch11{ left:calc(50% + 6em + 1.5em); }
.staffcast-list .comment.ch12{ left:calc(50% + 6.5em + 1.5em); }
.staffcast-list .comment.ch13{ left:calc(50% + 7em + 1.5em); }
.staffcast-list .comment.ch14{ left:calc(50% + 7.5em + 1.5em); }

.cont-modal.comment{ width: 66em;  }
.comment-frame{ position: relative; margin: 0 auto; padding: 2em ; background-color: #FFF; border:#e8dfcd solid .333em; }

/* .top-cttl.staffcast{ text-align: center; }
.staff-l1{ text-align: center; font-size: .933em; line-height: 2.4; letter-spacing: 0.1em;  }
.staff-l2{ text-align: center; font-size: 1.333em; line-height: 2.4; letter-spacing: 0.1em; margin-bottom: 0; }
.staff-l3{ text-align: center; font-size: 1.333em; line-height: 2.4; letter-spacing: 0.1em;  } */


/* top-music */
.cont-top-music{ min-height: 20em; position: relative;  }
.cont-top-music > .inner{ width: 100%; margin: 0 auto; padding: 3em 0 3em 0; }
.top-cttl.music{  }
.music-l0{ font-size: 1em; letter-spacing: 0.1em; margin-bottom: .5em; }
.music-l1{ font-size: 1.333em; line-height: 2.4; letter-spacing: 0.1em; margin-bottom: 0; }
.music-l1s{ font-size: .8em; line-height: 2.4; letter-spacing: 0.1em;  }






/*
■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■      

                     ■                                                     
 ■■    ■■            ■  ■             ■■■                     ■            
 ■■    ■■            ■               ■   ■                                 
 ■■■  ■ ■   ■■■   ■■■■  ■  ■■■      ■     ■  ■   ■   ■■■  ■ ■ ■   ■■■  ■■■ 
 ■ ■  ■ ■  ■  ■  ■■ ■■  ■  ■  ■     ■     ■  ■   ■  ■  ■  ■■  ■  ■  ■  ■   
 ■ ■  ■ ■  ■   ■ ■   ■  ■   ■■■     ■     ■  ■   ■  ■   ■ ■   ■  ■   ■ ■■  
 ■  ■■  ■  ■■■■■ ■   ■  ■ ■■  ■     ■     ■  ■   ■  ■■■■■ ■   ■  ■■■■■   ■■
 ■  ■■  ■  ■     ■■ ■■  ■ ■   ■      ■  ■■   ■  ■■  ■     ■   ■  ■        ■
 ■      ■   ■■■   ■■■■  ■  ■■■■       ■■■■■   ■■ ■   ■■■  ■   ■   ■■■  ■■■ 

■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ ■■■ 
*/
/* Custom 1920 ----------------------------------------------------------------------------- */
@media (max-width: 1919px) {
}
/* Custom 1400 ----------------------------------------------------------------------------- */
@media (max-width: 1399px) {

}
/* LG ----------------------------------------------------------------------------- */
@media (max-width: 1199px) {

}
/* MD ----------------------------------------------------------------------------- */
@media (max-width: 991px) {
}
/* lt768 ----------------------------------------------------------------------------- */
@media (min-width:768px) {
}
/* SM ----------------------------------------------------------------------------- */
@media (max-width: 767px) {
/* ---- Structure ---- */
html,body{ min-height:100%; position: relative; }
body{ }

/* background */
/* foreground */

/* header */
.part-header{}
.cont-global-logo{ width: 65%; padding: 1em 5em 0 5em; border-right:#FFF solid 1px; }
.cont-global-navi{ width: 65%; padding: 0em 0 0em 3em; margin: 0 auto; border-left:#FFF solid 1px; }
.global-navi{ padding:1em 1em; }
.global-navi > ul > li{ margin: 0 0 0em 0; letter-spacing: .15em;}
.global-navi > ul > li a{ padding: .5em 0; }
.global-navi > ul > li a:before{ width: 3em; height: .18em; bottom:.1em; }
.global-navi > ul > li a .label{ font-size: 1.333em; letter-spacing: .2em; }

.cont-global-etc{ width: 65%; padding: 0.5em 0 0em 0; margin: 0 auto; border-left:#FFF solid 1px; }

.global-sns{ padding:2em 0; border-top:#FFF solid 1px; }
.global-sns > .ic{ width: 2em; margin: 0 1em; }

.global-banner{ padding:1em 2em; border-bottom:none; }
.global-banner a{ padding: 1em; }

.cont-sp-btn{ width: 3em; height: 3em; top:1em; right: 1em; }



/* body */
.sub-page .cont-upper{ padding: 1em 0 2em 0; }
.cont-top-content > .inner{ padding: 0; margin: 0 auto;}
.cont-sub-content > .inner{ padding: 0; margin: 0 auto;}

.top-subtitle{  }
.sub-subtitle{ margin: 0 auto 1em auto; }
.sub-blocktitle{ margin: 0 auto 2em auto; }
.sub-content-container{  }
.sub-logo{ width: calc(262/3000*100em*0.7); margin: 0 auto; padding: 0; }


/* footer */
.part-footer{ position: relative; }
.cont-global-footer{ padding: 1em 0 10em 0; }
.footer-pagetop{ width: calc( 206/3000 * 100em * 0.8 ); height: calc( 206/3000 * 100em * 0.8 ); }
.footer-copyrihgt p{  font-size: .8em; }
.footer-banner{width: calc(800/3000*100em*0.8); margin: 0 auto 2em auto; padding: .5em;}

/* content */
.sqr-image-box{ width: 21.25em; height: 21.25em;  }

/* 1 */
.cont-entries{ padding: 0; margin: 0 auto; padding-bottom: 3em; }

.content-entry .entry-head{ width: 100%; height: 100%; min-height: 4em; margin: 0 auto; position: relative; padding: 0 0 0 4em; }
.content-entry .entry-date{ width: inherit; padding: 0; font-size: 1em; margin: 0; padding: .25em 0 0 1em; text-align: left; pointer-events: none; position: relative;/*position: absolute; top:2.8em; left:9em;*/ }
.content-entry .entry-date:after{ display: none; }

.content-entry .entry-title{ width: inherit; padding: 0 0 0 1em; }

.content-entry .entry-title [data-ruby]::before { top: -1.5em;  }
.content-entry .entry-body{ padding: 1em 5% 1em 5% ;}
.content-entry .entry-body [data-ruby]::before { top: -1.5em;  }


.content-accordion .acd-check{ display: none;}
.content-accordion .acd-head .acd-label{ display: flex; flex-wrap: nowrap; align-items: stretch; flex-direction: column; }
.content-accordion .acd-head{ position: relative; }
.content-accordion .acd-head .acd-label::before{ width: 4em; height: 4em; background-size: 4em; position: absolute; top:0; left:0; }

.content-link .lnk-head{ position: relative; }
.content-link .lnk-head > a::before{ width: 4em; height: 4em; background-size: 4em; position: absolute; top:0; left:0; }
.content-link .lnk-head > a{ display: flex; flex-wrap: nowrap; align-items: stretch; flex-direction: column; }

.content-non .non-head{ position: relative; }
.content-non .non-head a{ display: flex; flex-wrap: nowrap; align-items: center; text-decoration: none; pointer-events: none; }


.cont-singles{ }
.content-single{ }
.content-single .entry-head{  padding: 1.0em; }
.content-single .entry-title{ padding:1em ; border-width: 2px; border-radius: .5em; }
.content-single .entry-title > span{ font-size: 1.2em; }
.content-single .entry-body{ padding: 0 1.25em 1.25em 1.25em; font-size: 1.1em; }


.cont-modal.comment{ width: 96%;  }
.comment-container > .inner{ padding: 3em;  }
.comment-image{ margin:0 auto 2em auto; }
.comment-container .text{ font-size: 1.133em; line-height: 2; letter-spacing: .05em; }


/* modaal */
.modaal-overlay{ background: rgba(0,0,0,.9) url("../images/top-background-1.webp") no-repeat left top; background-size: 80%; }
.modaal-inner-wrapper{ padding: 60px 0; }
.image-typ2 .modaal-inner-wrapper{ padding: 60px 0; }
.modaal-close{ right: 2.5em; top: 1.5em; width: 2em; height: 2em;}
.modaal-close:before,.modaal-close:after{ top: .4em; left: 2em; width: .3em; height: 3em; }



/* TOP-PAGE */
/* main */
.cont-top-visual{ padding: 5em 0 0 0; min-height: 44em; }
.cont-top-visual .kv-container{ width: 100%; position: relative; padding-bottom: 0; margin: 0 auto; }
.kv-container .logo{ width: calc(1938/3000*100%); top:30em; }
/* .kv-container .oa{ width: calc(814/3000*100em*0.4); top:39em; left:0; right:0; margin: 0 auto; } */



.vis-switch-container{ padding: 1em 0; margin: 0; position: relative; top:inherit; left:inherit; margin: 0 auto ; }
.vis-switch{ justify-content: center; }
.vis-switch > div{ width: calc(290/3000*100em*0.6); line-height: 0; margin: .5em; }

.kv-container .grp .vis-grp{ transform: scale(2.0) translateY(-14%); opacity: 0; }
.top-page .part-header{ visibility: visible; }
.cont-top-twitter{ display: block; }

.s0 .kv-container .grp .vis-grp{ transform: scale(2.0) translateY(-14%); opacity: 1; transition: all 1.0s ease .0s; }

.s1 .kv-container .grp .vis-grp{ transform: scale(2.0) translateY(15%); opacity: 1; transition: all 3.0s ease .0s; }

.s4 .kv-container .grp .vis-grp{ transform: scale(1.0) translateY(0); opacity: 1; transition: all 1.5s ease .5s; }


/* top-movie */
.cont-top-movie{ min-height: 20em; padding: 1em 0; margin-bottom:2em;}
.cont-top-movie > .inner{ padding: 1em 0; }

.movie-bg{ position: absolute; width: 100%; height: 100%; overflow: hidden; /*aspect-ratio: 16/9;*/ filter:brightness(.7) saturate(.2) contrast(0.7) blur(2px);}
.movie-bg iframe { position: absolute; width: calc(100vw*2); height:calc(56.25vw*2); top:-20vw; left:-50vw; pointer-events: none;  }

.top-movie-list{ width: 28em; /*width: 100%;*/ position: relative; margin: 0 auto; }
.top-movie-list .thm > a::after{ background-size: calc(170/3000*100em*0.5); }
.top-movie-list .thm > a:hover::after{ background-size: calc(170/3000*100em*.55); }

.top-movie-cursor{ position: absolute; width: 98%; top:8.5em; left: 0; right: 0; margin: 0 auto; pointer-events: none; }
.top-movie-cursor ul li{ display: block; width:calc(58/3000*100em*0.6); height: calc(102/3000*100em*0.6); }


/* top-news */
.cont-top-news{ min-height: 27em; }
.cont-top-news > .inner{ padding:2em 0 ; margin: 0 auto; }
.top-subtitle.news{ width: calc(450/3000*100em*0.6); }

.news-link{ text-align: center; }
.top-news-container{ min-height: 20em;  }
.top-news-container dl{ width: 95%; padding: 1em 0; }
.top-news-container dl dt{ width: 8em; font-size: .933em; font-weight: normal; margin: 0; padding: 0; letter-spacing: 0.1em; line-height: 1.8; position: relative; }
.top-news-container dl dt::after{ content:"｜"; position: absolute; top:0; right: .5em;  }
.top-news-container dl dd{ max-width: 22em; font-size: .933em; font-weight: normal; margin: 0; padding: 0; line-height: 1.8; letter-spacing: 0.1em;  }





/* SUB-PAGE */

.sub-page .cont-upper{ }
.sub-page .cont-middle{ min-height: calc(100vh - 60em);}
.sub-page .cont-sub-content{ min-height: calc(100vh - 60em);}

/* news */
.cont-sub-news{ }
.cont-sub-news > .inner{  }



/* story */
.cont-sub-story{  }
.sub-subtitle.story{ width: calc(495/3000*100em*0.6); }
.cont-sub-story > .inner{ padding:0 0 3em 0 ;  }
.story-container{ width: 100%; padding: 0 0 1em 0; }
.story-container .bgw{ background-size: cover; }

.story-title{ letter-spacing: .15em;  margin-bottom: 1em;}
.story-text{ padding: 4em 0 3em 0;  }
.story-text p{ font-size: 1.2em;  }



/* character */
.cont-sub-character{ }
.cont-sub-character > .inner{ padding:0 0 3em 0 ; margin: 0 auto; }
.sub-subtitle.character{ width: calc(802/3000*100em*0.6); }

.top-cttl.character{ text-align: center; }
.character-container{ width: 100%; margin: 0 auto; padding-top: 1em; position: relative;  }

.cont-character-navi{ width: 100%; margin: 0 auto 2em auto; position: relative; top:inherit; left:inherit; margin:0 auto;  }
.character-navi ul{ flex-direction: row; }
.character-navi ul li{ width: calc(110/3000*100em*1.2); margin: .5em; border:#FFF solid 1px; }
.character-navi ul li.sep-pc{ display: none;}
.character-navi ul li.sep-sp{ display: block; }

.cont-character-data{ width:100%; padding: 2em 0 2em 0; position: relative; }
.character-data{ width:100%; min-height: 80em; position: relative; pointer-events:none; display: none; }

.character-data .chr-img{ width: calc(1088/3000*100em*0.75); padding-top:3em; position: relative; top:inherit; left:inherit; right: inherit; margin: 0 auto; }
#C2.character-data .chr-img{ width: calc(765/3000*100em*0.75); padding:1em 0 1em 2em; top:inherit; right:inherit; }
#C3.character-data .chr-img{ width: calc(1135/3000*100em*0.75); padding:1em 1em 1em 2em; top:inherit; right:inherit; }
#C4.character-data .chr-img{ width: calc(872/3000*100em*0.75); padding:1em 0 1em 3em; top:inherit; right:inherit; }
#C5.character-data .chr-img{ width: calc(887/3000*100em*0.75); padding:5em 1em 5em 2em; top:inherit; right:inherit; }
#C6.character-data .chr-img{ width: calc(1003/3000*100em*0.725); padding:1em 1em 1em 2em; top:inherit; right:inherit; }
#C7.character-data .chr-img{ width: calc(1385/3000*100em*0.6); padding:5em 0em 2em 0em; top:inherit; right:inherit; }
#C8.character-data .chr-img{ width: calc(1290/3000*100em*0.675); padding:6em 1em 4em 1em; top:inherit; right:inherit; }
#C9.character-data .chr-img{ width: calc(850/3000*100em*0.75); padding:4em 1em 3em 1em; top:inherit; right:inherit; }

.character-data .chr-prof{ position: relative; width: 92%; margin: 0 auto; z-index: 3; }
.character-data .prof-name{ padding: 0 0 1.5em 0;  }
.character-data .prof-text{ position: relative; margin-bottom: 3em; }
.character-data .prof-text .text{ font-size: 1.333em; }
.character-data .prof-text .text [data-ruby]::before { top: -1.75em;  }



/* staffcast */
.cont-sub-staffcast{  }
.sub-subtitle.staffcast{ width: calc(495/3000*100em*0.6); }
.cont-sub-staffcast > .inner{ padding: 0em 0 3em 0; }

.list-title.staff{ width: calc(210/3000*100em*0.6); margin: 0 auto 2em auto; }
.list-title.cast{ width: calc(190/3000*100em*0.6); margin: 0 auto 2em auto; }
.list-title.music{ width: calc(256/3000*100em*0.6); margin: 0 auto 2em auto; }

.staffcast-list{ width: 95%; margin:0 auto 3em auto; }

.staffcast-list .pos{ display: inline-block; font-size: 1.1em; letter-spacing: .1em;  margin-bottom: .5em; line-height: 1; }
.staffcast-list .pos::after{ content:"："; }
.staffcast-list .name{ display: inline-block; font-size: 1.2em; letter-spacing: .1em; margin-bottom: 0; line-height: 1.3; }
.staffcast-list .exname{ display: inline-block; font-size: 1.0em; letter-spacing: .1em; padding-top: .5em; margin-bottom: 0; line-height: 1.2; }
.staffcast-list .comment{ display: inline-block; width: 1.8em; position: absolute; top:-0.1em; left:calc(50% + 2.0em + 1.5em); text-decoration: none; pointer-events: auto; transition: all .25s ease-out 0s; }


/* SM ----------------------------------------------------------------------------- */
@media (orientation: portrait) and (max-width: 767px) {

}
/* XS ----------------------------------------------------------------------------- */
@media (max-width: 543px) {

}
/* pc - large ----------------------------------------------------------------------------- */
@media (min-width: 768px) {

}
/* pc - xlarge ----------------------------------------------------------------------------- */
@media (min-width: 1200px) {

}

