@charset "UTF-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=DotGothic16&family=M+PLUS+2:wght@100..900&display=swap');

body {
	margin: 0;
	padding: 0;
    background: #fff;
	color: #576377;
	font-family: "M PLUS 2", sans-serif;
	font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
	font-size: 62.5%;
    letter-spacing: 0.06em;
	line-height: 2em;
    position: relative;
    
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    
    -webkit-font-smoothing: antialiased;
    
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}
a {
	outline: none;
    text-decoration: none;
}
a img {
	border: none;
    outline: none;
}
section, div, span, article, figure {
    box-sizing: border-box;
}
* img {
    width: 100%;
    height: auto;
    display: block;
}

body::-webkit-scrollbar {
    width: 16px;
}
body::-webkit-scrollbar-track-piece {
    background-color: #ec6c8d;
}
body::-webkit-scrollbar-thumb {
    background-color: #fff;

    border: 4px solid transparent;
    border-radius: 20px;
    background-clip: content-box;
}
html {
    scrollbar-color: #fff #ec6c8d;
    scrollbar-width: 16px;
}




/* --- L O A D I N G --- */

.BKwrap {
    width: 100vw;
    height: 100vh;
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 30;
    pointer-events: none;
    background: #fff;
    opacity: 0;
    
    transition: all 0.3s linear;
    -webkit-transition: all 0.3s linear;
}
.BKwrap.WRtppg {
    transition: all 0.3s linear 0.5s;
    -webkit-transition: all 0.3s linear 0.5s;
}

body.bd_fade .BKwrap {
    opacity: 1;
}

.loader {
	width: 170px;
	height: 50px;
	
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
	
    position: fixed;
	top: 50%;
	left: 50%;
    transform: translate(-50%,-50%);
    pointer-events: none;
	z-index: 21;
    
    will-change: transform;
    /*animation: 1.0s loading-bs forwards cubic-bezier(0.3, 1.8, 0.6, 1);*/
}
.loader div {
    width: 100%;
	height: auto;
	margin: 0;
	
	display: flex;
    flex-wrap: wrap;
	justify-content: center;
}
.loader div span {
    width: calc(100% - 40px);
    height: auto;
    display: block;
	margin: 0;
    position: relative;
	background: url("../img/load.png") no-repeat center center;
	background-size: contain;
}
.loader div span::after {
    content: "";
	display: block;
	padding-bottom: 16.2%;
}
.loader div article {
    width: 40px;
    height: auto;
	margin: 0;
	padding: 0 0 0 10px;
	
	display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
}
.loader div article i {
    width: 5px;
	height: 5px;
	display: block;
	margin: 0 5px 0 0;
	background: #ec6c8d;
	box-sizing: border-box;
	opacity: 0;
	
	will-change: opacity;
	animation: 1.0s LDdot linear infinite;
}
@keyframes LDdot {
    0%   { opacity: 0; }
    1%   { opacity: 1; }
	50%  { opacity: 1; }
	51%  { opacity: 0; }
	100% { opacity: 0; }
}
.loader div article i:nth-of-type(1) { animation-delay: 0; }
.loader div article i:nth-of-type(2) { animation-delay: 0.1s; }
.loader div article i:nth-of-type(3) { animation-delay: 0.2s; margin: 0; }




/* --- H E A D E R --- */

header {
    width: 100%;
    height: 48px;
    margin: 0;
    display: block;
    position: fixed;
    left: 0;
    top: 0;
    background: #ec6c8d;
    z-index: 10;
    box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.3);
}
.hd-menu {
    width: 100%;
    height: 100%;
    margin: 0;
	padding: 0 0 0 30px;
    position: relative;
    
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
}
.hd-menu div {
    display: inline-block;
    margin:  0 6px 0 0;
    padding: 0 calc(10px + 6px) 0 0;
    position: relative;
    overflow: hidden;
}
.hd-menu div::after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    background: url("../img/ast.png") no-repeat center center;
    background-size: 100% auto;
    
    position: absolute;
    right: 0;
    top: 50%;
    margin-top: -5px;
}
.hd-menu div:nth-last-of-type(1) {
    margin: 0;
    padding: 0;
}
.hd-menu div:nth-last-of-type(1)::after {
    display: none;
}
.hd-menu div span {
    display: block;
    margin: 0;
    position: relative;
    
	font-size: 1.2rem;
    font-family: lores-12, sans-serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: -0.01em;
    line-height: 1em;
    color: #fff;
	text-shadow: 1px 1px 0px #43b8cc;

    transition: all 0.15s ease-out;
}
.hd-menu div span::after {
    content: attr(data-text);
    display: block;
    position: absolute;
    top: calc(100% + 7px);
    left: 0;
    color: #ffe35d;
}
.hd-menu div span i {
    font-size: 1.1em;
    display: inline-block;
    margin: 0;
}
.hd-menu div a:hover span {
    transform: translateY(calc(-100% - 7px));
}

.hd-sns {
    width: auto;
    height: 100%;
    margin: 0;
	padding: 0 20px 0 0;
    
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
	
	position: absolute;
	top: 0;
	right: 0;
}
.hd-sns div {
    width: 30px;
	height: 30px;
	margin: 0 8px 0 0;
	position: relative;
	display: block;
}
.hd-sns div section {
    width: 100%;
	height: 100%;
	margin: 0;
	background: #f5c7d3;
	position: relative;
	
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
	
	will-change: transform;
	transition: all 0.15s ease-out;
}
.hd-sns div i {
    display: inline-block;
	margin: 0;
	
	font-size: 1.3rem;
	letter-spacing: 0;
	line-height: 1em;
	color: #ec6c8d;
}
.hd-sns div a:hover section {
    background: #fff;
	transform: scale(0.95);
}

#MnavBT, .Mmenu-nav, .xBT {
    display: none;
}
@keyframes mn-fadeinL {
    0%   { opacity: 0; transform: translateX(30px); }
    100% { opacity: 1; transform: translateX(0); }
}
@keyframes mn-fadeinR {
    0%   { opacity: 0; transform: translateX(-30px); }
    100% { opacity: 1; transform: translateX(0); }
}



/* --- T O P --- */

.top-wrap {
    width: 100%;
    height: auto;
    margin: 0;
    
    display: flex;
    flex-wrap: nowrap;
}
.topCT-wrap {
    width: 400px;
    height: auto;
    margin: 0;
    display: block;
    position: relative;
	background: #fff;
    margin-top: 48px; /* header H */
	z-index: 0;
}
.topCT-wrap::after {
    content: "";
	display: block;
	margin: 0;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: url("../img/ptn-star.png") repeat top left;
	background-size: 320px auto;
	pointer-events: none;
	z-index: -1;
	opacity: 0.85;
	
	will-change: transform;
    animation: 3.0s bganimeC linear infinite;
	transform: translate(-1px,1px);
}
@keyframes bganimeC {
    0%  { transform: translate(-1px,1px); }
	1%  { transform: translate(1px,-1px); }
	50% { transform: translate(1px,-1px); }
	51% { transform: translate(-1px,1px); }
}

.top-pic {
    width: calc(100% - 400px);
    height: auto;
    margin-top: 48px; /* header H */
    display: block;
    overflow: hidden;
    position: relative;
	background: #fff;
}
.tp-KV {
    width: 100%;
    height: auto;
    margin: 0;
    display: block;
	position: relative;
	
	will-change: transform, opacity;
	transition: all 2.0s cubic-bezier(0.15, 0.9, 0.35, 1);
	transform: translateY(-130px);
	opacity: 0;
}
.tp-KV::after {
    content: "";
    display: block;
    padding-bottom: 134.8%;
}
.kv1 {
    background: url("../img/kv-01.jpg") no-repeat top left;
	background-size: 100% auto;
}
.kv2 {
    background: url("../img/kv-02.jpg") no-repeat top left;
	background-size: 100% auto;
}
.top-pic.appr .tp-KV {
    transform: translateY(0);
	opacity: 1;
}

.top-PIC_thum {
    width: 80px;
	height: auto;
	margin: 0;
	position: absolute;
	top: 8%;
	right: 10px;
	z-index: 1;
}
.top-PIC_thum .tpTHM {
    width: 75px;
	height: 75px;
	margin: 0 0 12px 0;
	display: block;
	z-index: 1;
	overflow: hidden;
	border-radius: 6px;
	cursor: pointer;
	background: #fff;
	border: 2px solid #fff;
	
	box-shadow: 5px 5px 0px 0px rgba(236,108,141,0.3);
}
.top-PIC_thum .tpTHM {
    will-change: filter;
    transition: all 0.2s ease-out;
}
.swiper-thum_TP .swiper-slide.swiper-slide-thumb-active .tpTHM {
    border-color: #ec6c8d;
}


.topCT {
    width: 100%;
    height: auto;
    min-height: 100vh;
    margin: 0;
	padding: 0 30px 40px;
    display: block;
    position: sticky;
    top: 48px; /* header H */
    left: 0;
}
.tp-title {
    width: 100%;
    height: auto;
    display: block;
    margin: 0;
    padding: 40px 0 20px 0;
	
	will-change: transform, opacity;
    transition: all 0.8s cubic-bezier(0.15, 0.9, 0.35, 1);
    transform: translateX(-80px);
    opacity: 0;
}
.tp-title span {
    width: 90%;
    height: auto;
    display: block;
    margin: 0 auto;
}
.tp-info {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 0 30px 0;
	
	will-change: transform, opacity;
    transition: all 0.8s cubic-bezier(0.15, 0.9, 0.35, 1);
    transform: translateX(80px);
    opacity: 0;
}
.tp-info span {
    width: 80%;
    height: auto;
    display: block;
    margin: 0 auto;
	padding-bottom: 4px;
	filter: drop-shadow(4px 4px 0px rgba(67,184,204,0.2));
}
.tp-title.appr, .tp-info.appr {
    transform: translateX(0);
    opacity: 1;
}
.tp-info_sp {
    display: none;
}
.tp-topic {
    width: 100%;
    height: auto;
    display: block;
    margin: 0;
    padding: 0 0 40px 0;
    position: relative;
}
.top-news-inner {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 0 25px 0;
	padding: 20px 20px 20px 20px;
	position: relative;
	border: 2px solid #43b8cc;
	background: #f5fbfe;
	
	will-change: transform, opacity;
    transition: all 0.8s cubic-bezier(0.15, 0.9, 0.35, 1);
    transform: translateY(80px);
    opacity: 0;
}
.top-news-inner.appr {
    transform: translateY(0);
    opacity: 1;
}
ul.tp-list {
    margin: 0;
    padding: 0;
    list-style: none;
}
ul.tp-list li {
    margin: 0 0 20px 0;
    padding: 0 35px 20px 0;
    position: relative;
}
ul.tp-list li::after {
    content: "";
	display: block;
	width: 100%;
	height: 2px;
	background: url("../img/linedot-bl.png") repeat-x left top;
	background-size: auto 100%;
	position: absolute;
	bottom: 0;
	left: 0;
}
ul.tp-list li:nth-last-of-type(1) {
    margin: 0;
	padding: 0 35px 0 0;
}
ul.tp-list li:nth-last-of-type(1)::after {
    display: none;
}
ul.tp-list li p {
    box-sizing: border-box;
}
ul.tp-list li p.tp-date {
    display: inline-block;
    margin: 0 0 0.6em 0;
    
    font-size: 0.95rem;
	font-family: pf-videotext, sans-serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0;
    line-height: 1em;
    color: #43b8cc;
}
ul.tp-list li p.tp-txt {
    width: 100%;
    height: auto;
    display: block;
    position: relative;
    margin: 0;
    
    font-size: 0.9rem;
	font-weight: 600;
    letter-spacing: 0.04em;
    line-height: 1.5em;
    color: #43b8cc;
}
ul.tp-list li p.tp-txt::after {
    content: "";
    position: absolute;
    width: 25px;
    height: 100%;
    top: 0;
    right: -35px;
    background: url("../img/arw-bl.png") no-repeat center center;
    background-size: 8px auto;

    display: flex;
    justify-content: center;
    align-items: center;
}
ul.tp-list li p.tp-txt,
ul.tp-list li p.tp-txt::after {
    will-change: transform;
    transition: all 0.12s ease-out;
}
ul.tp-list li p.tp-txt:hover {
    transform: translateX(2px);
}
ul.tp-list li p.tp-txt:hover::after {
    transform: translateX(-2px) scale(1.15);
}

.tp-moreBT  {
    width: 100%;
    height: auto;
	display: block;
    margin: 0;
	position: relative;
	
	will-change: transform, opacity;
    transition: all 0.8s cubic-bezier(0.15, 0.9, 0.35, 1);
    transform: translateY(40px);
    opacity: 0;
}
.tp-moreBT.appr {
    transform: translateY(0);
    opacity: 1;
}
.tp-moreBT section {
    width: 200px;
    height: 30px;
    margin: 0 auto;
	background: #43b7cb;
	position: relative;
	
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
	
	will-change: transform;
    transition: all 0.1s ease-out;
}
.tp-moreBT section p {
    display: inline-block;
    margin: -0.18em 0 0 0;
    
    font-size: 1.2rem;
	font-family: pf-videotext, sans-serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.02em;
    line-height: 1em;
    color: #fff;
}
.tp-moreBT a:hover section {
    transform: scale(0.98);
	background: #ec6c8d;
}
.mvtk-wrap {
    width: 100%;
	height: auto;
	display: block;
	margin: 0;
	padding: 40px 0;
	background: #fff;
}
.mvtk-wrap section {
    width: 100%;
	height: 170px;
	margin: 0;
	
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
	
	will-change: transform, opacity;
    transition: all 1.2s cubic-bezier(0.15, 0.9, 0.35, 1);
    transform: translateY(80px);
    opacity: 0;
}
.mvtk-mjr {
    width: 100%;
	height: auto;
	display: block;
	margin: 30px 0 0 0;
	text-align: center;
	
	will-change: transform, opacity;
    transition: all 1.2s cubic-bezier(0.15, 0.9, 0.35, 1);
    transform: translateY(80px);
    opacity: 0;
}
.mvtk-wrap.appr section, .mvtk-wrap.appr .mvtk-mjr {
    transform: translateY(0);
    opacity: 1;
}
.mvtk-mjr span {
    width: 400px;
	height: auto;
	display: inline-block;
	margin: 0 auto;
	overflow: hidden;
	z-index: 0;
	border-radius: 4px;
	
	will-change: transform;
	transition: all 0.15s ease-out;
}
.mvtk-mjr a:hover span {
    transform: scale(0.98);
}

.YT {
    display: none;
}


.tp-banner {
    width: 100%;
    height: auto;
    display: block;
    margin: 0;
	padding-bottom: 6px;
	position: relative;
}
.tp-banner div {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 0 20px 0;
}
.tp-banner div:nth-last-of-type(1) {
    margin: 0;
}
.tp-banner div span {
    width: 100%;
    height: auto;
    display: block;
    margin: 0;
	border: 2px solid #43b8cc;
	box-shadow: 6px 6px 0px 0px rgba(67,184,204,0.25);
	
	will-change: transform;
	transition: all 0.15s ease-out;
}
.tp-banner div a:hover span {
    transform: translate(3px,3px);
	box-shadow: 3px 3px 0px 0px rgba(67,184,204,0.25);
}
.tp-banner.cpn {
    margin: 0 0 30px 0;
}
.tp-banner.cpn div {
    margin: 0;
}
.tp-banner.cpn div:nth-of-type(1) {
    margin: 0 0 20px 0;
}
.tp-banner.cpn div span {
    border: none;
}



/* --- C O N T E N T S --- */

.cont-wrap {
    width: 100%;
    height: auto;
    margin: 0;
    padding: 120px 0 120px 0;
    display: block;
    position: relative;
    overflow: hidden;
}
.cont-wrap.bg_WHT::before, .cont-wrap.bg_WHT::after {
    content: "";
	display: block;
	margin: 0;
	width: 100%;
	height: 100vh;
	position: fixed;
	left: 0;
	top: 0;
	z-index: -1;
	
	opacity: 0.35;
}
.cont-wrap.bg_WHT::before {
    background: url("../img/bg-ptnA.webp") repeat top left;
	background-size: 750px auto;
	
	will-change: transform;
    animation: 3.0s bganimeA linear infinite;
	transform: translateX(-1px);
}
.cont-wrap.bg_WHT::after {
    background: url("../img/bg-ptnB.webp") repeat top left;
	background-size: 750px auto;
	
	will-change: transform;
    animation: 3.0s bganimeB linear infinite;
	transform: translateX(1px);
}

@keyframes bganimeA {
    0%  { transform: translateX(-1px); }
	1%  { transform: translateX(1px); }
	50% { transform: translateX(1px); }
	51% { transform: translateX(-1px); }
}
@keyframes bganimeB {
    0%  { transform: translateX(1px); }
	1%  { transform: translateX(-1px); }
	50% { transform: translateX(-1px); }
	51% { transform: translateX(1px); }
}

.cont-main {
    width: 100%;
    height: auto;
    margin: 0;
    padding: 120px 0 120px 0;
    display: block;
    position: relative;
}
.ct-title {
    width: 100%;
    height: 48px;
    display: block;
    text-align: center;
    margin: 0 0 80px 0;
	position: relative;
	z-index: 2;
}
.ct-title span {
    width: auto;
	height: 100%;
    display: inline-block;
	margin: 0 auto;
	
	will-change: transform, opacity;
    transition: all 0.8s cubic-bezier(0.15, 0.9, 0.35, 1);
    transform: translate(40px,40px);
    opacity: 0;
}
.ct-title img {
    width: auto;
	height: 100%;
	display: inline-block;
	margin: 0;
}
.ct-title.news {
    height: 30px;
	margin: 0 0 20px 0;
}
.ct-title.appr span {
    transform: translate(0,0);
    opacity: 1;
}


.CN-line, .CN-line span {
    width: 100%;
	height: 100%;
	display: block;
	margin: 0;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	pointer-events: none;
}
.CN-line::before, .CN-line::after,
.CN-line span::before, .CN-line span::after {
    content: "";
	display: block;
	width: 6px;
	height: 6px;
	margin: 0;
	position: absolute;
}
.CN-line::before {
    top: -2px;
    left: -2px;
}
.CN-line::after {
    top: -2px;
    right: -2px;
	transform: rotate(90deg);
}
.CN-line span::before {
    bottom: -2px;
    left: -2px;
	transform: rotate(-90deg);
}
.CN-line span::after {
    bottom: -2px;
    right: -2px;
	transform: rotate(180deg);
}
.CN-line.LN-bl::before, .CN-line.LN-bl::after,
.CN-line.LN-bl span::before, .CN-line.LN-bl span::after {
    border-right: 2px solid #43b8cc;
	border-bottom: 2px solid #43b8cc;
	background: #fff;
}
.CN-line.LN-pk::before, .CN-line.LN-pk::after,
.CN-line.LN-pk span::before, .CN-line.LN-pk span::after {
    border-right: 2px solid #ec6c8d;
	border-bottom: 2px solid #ec6c8d;
	background: #fff;
}

.CN-line.LN-bw::before, .CN-line.LN-bw::after,
.CN-line.LN-bw span::before, .CN-line.LN-bw span::after {
	width: 12px;
	height: 12px;
}
.CN-line.LN-bw::before {
    top: -4px;
    left: -4px;
}
.CN-line.LN-bw::after {
    top: -4px;
    right: -4px;
}
.CN-line.LN-bw span::before {
    bottom: -4px;
    left: -4px;
}
.CN-line.LN-bw span::after {
    bottom: -4px;
    right: -4px;
}
.CN-line.LN-bw::before, .CN-line.LN-bw::after,
.CN-line.LN-bw span::before, .CN-line.LN-bw span::after {
    border-right: 4px solid #fff;
	border-bottom: 4px solid #fff;
	background: #43b8cc;
}

.CN-dot, .CN-dot span {
    width: 100%;
	height: 100%;
	display: block;
	margin: 0;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	pointer-events: none;
}
.CN-dot::before, .CN-dot::after,
.CN-dot span::before, .CN-dot span::after {
    content: "";
	display: block;
	width: 4px;
	height: 4px;
	margin: 0;
	position: absolute;
	background: #fff;
}
.CN-dot::before {
    top: 0;
    left: 0;
}
.CN-dot::after {
    top: 0;
    right: 0;
}
.CN-dot span::before {
    bottom: 0;
    left: 0;
}
.CN-dot span::after {
    bottom: 0;
    right: 0;
}
.CN-dot.LRG::before, .CN-dot.LRG::after,
.CN-dot.LRG span::before, .CN-dot.LRG span::after {
	width: 8px;
	height: 8px;
}
.hd-sns .CN-dot::before, .hd-sns .CN-dot::after,
.hd-sns .CN-dot span::before, .hd-sns .CN-dot span::after {
    background: #ec6c8d;
}

.br-850, .br-650, .br-500 {
    display: none;
}


.itv {
    width: 100%;
	height: auto;
	display: block;
	margin: 0;
}
.itv span {
    width: 100%;
	height: 200px;
	display: block;
	margin: 0;
}





/* --- M O V I E --- */

.cont-wrap#movie {
    padding: 120px 0 60px 0;
}
.cont-wrap#movie::before, .cont-wrap#movie::after {
    content: "";
	display: block;
	margin: 0;
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	pointer-events: none;
	
	will-change: opacity;
	opacity: 0;
	transition: all 0.4s ease-in-out;
}
.cont-wrap#movie::before {
    background: url("../img/bg-starWT1.webp") no-repeat center center;
	background-size: cover;
	z-index: -1;
}
.cont-wrap#movie::after {
    z-index: -2;
    background: linear-gradient(135deg, rgba(184,227,252,1) 0%, rgba(254,212,235,1) 100%);
}
.bg-mv {
    width: 100%;
	height: 100vh;
	display: block;
	margin: 0;
	position: fixed;
	top: 0;
	left: 0;
	pointer-events: none;
	background: url("../img/bg-starWT2.webp") no-repeat center center;
	background-size: cover;
	z-index: -1;

	opacity: 0;
}
.cont-wrap#movie.appr::before, .cont-wrap#movie.appr::after {
	opacity: 1;
}
.bg-mv.appr {
	opacity: 1;
}


.movie-main {
    width: 100%;
    height: auto;
    margin: 0 auto;
	padding: 0 100px 60px 100px;
    display: block;
    position: relative;
	
	will-change: transform, opacity;
    transition: all 1.2s cubic-bezier(0.15, 0.9, 0.35, 1);
    transform: translateY(100px);
    opacity: 0;
}
.movie-main.appr {
    transform: translateX(0);
    opacity: 1;
}
.movie-main section {
    width: 100%;
    height: auto;
    margin: 0;
    display: block;
    position: relative;
	border: 2px solid #b792c2;
	
	box-shadow: 8px 8px 0px 0px rgba(183,146,194,0.25);
}
.movie-main section::before, .movie-main section::after {
    content: "";
	display: block;
	margin: 0;
	width: 100%;
	height: 20px;
	position: absolute;
	top: 0;
	left: 0;
	box-sizing: border-box;
}
.movie-main section::before { 
    z-index: -1; 
	border-bottom: 2px solid #b792c2;
	background: rgba(183,146,194,0.65);
}
.movie-main section::after { 
    background: url("../img/dc-rt_ppl.png") no-repeat right 5px center;
	background-size: auto 60%;
}

.movie-main section article {
    width: 100%;
    height: auto;
	display: block;
    margin: 20px 0 0 0;
	position: relative;
	overflow: hidden;
}
.movie-main section span {
    width: 100%;
    height: auto;
    margin: 0;
    display: block;
	
	will-change: transform, filter;
	filter: brightness(0.8);
	transition: all 0.15s ease-out;
}
.movie-main section figure {
    width: 100%;
	height: 100%;
	margin: 0;
	
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
	
	position: absolute;
	top: 0;
	left: 0;
}
.movie-main section figure::before {
    content: "";
    display: block;
    margin: 0;
	width: 65px;
	height: 65px;
	background: url("../img/play.png") no-repeat center center;
	background-size: contain;
	
	opacity: 0.5;
	pointer-events: none;
	filter: drop-shadow(0px 3px 2px rgba(0,0,0,0.4));
	
	will-change: transform, opacity;
	transition: all 0.15s ease-out;
}
/*.movie-main section figure::before {
    content: "\f144";
    display: inline-block;
    margin: 0;
    font: var(--fa-font-regular);
	
    font-size: 4.8rem;
    line-height: 1em;
	color: #fff;
	opacity: 0.4;
	pointer-events: none;
	
	will-change: transform, opacity;
	transition: all 0.15s ease-out;
}*/
.movie-main section a:hover figure::before {
    opacity: 1;
	transform: scale(1.1);
}
.movie-main section a:hover span {
    transform: scale(1.03);
	filter: brightness(1);
}

.mvtxt {
    width: 100%;
    height: auto;
    margin: 15px 0 0 0;
    display: block;
	text-align: center;
}
.mvtxt p {
    display: inline-block;
	margin: 0;
	padding: 5px 20px 7px;
	
	
	font-size: 0.9rem;
	letter-spacing: 0.02em;
	line-height: 1em;
	font-weight: 600;
	
	background: #fff;
	color: #b792c2;
	border: 2px solid #b792c2;
	border-radius: 40px;
}


/* ------  S W I P E R  ------ */

.movie-main .swiper_MV {
	padding: 0 10px 0 0;
}
.swiper-pagination.MVpgn {
    bottom: 0;
	z-index: 5;
}
.MVpgn > .swiper-pagination-bullet {
	width: 15px;
	height: 15px;
    margin: 0 6px !important;
    background: #fff;
	border: 2px solid #b792c2;
    border-radius: 50%;
    outline: none;
	opacity: 1;
	
	box-sizing: border-box;
    transition: all 0.15s linear;
}
.MVpgn > .swiper-pagination-bullet-active {
    background: #b792c2;
}

.MV-prev, .MV-next {
    width: 60px;
    height: 80px;
	
    position: absolute;
	top: 50%;
	margin-top: calc(-40px - 50px);
	
    outline: none;
    cursor: pointer;
    z-index: 5;
	
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;

	will-change: transform, opacity;
    transition: all 0.8s cubic-bezier(0.85, 1.6, 0.7, 1);
    opacity: 0;
}
.MV-prev { left:  20px; transform: translateX(80px); }
.MV-next { right: 20px; transform: translateX(-80px); }

.movie-main.appr .MV-prev,
.movie-main.appr .MV-next {
    opacity: 1;
	transform: translateX(0);
}
.MV-prev i, .MV-next i {
    display: inline-block;
	margin: 0;
	
	font-size: 2.6rem;
	letter-spacing: 0;
	line-height: 1em;
	color: #fff;
	filter: drop-shadow(0px 4px 0px #b792c2);
	
	will-change: transform, filter;
	transition: all 0.15s ease-out;
}
.MV-prev:hover i, .MV-next:hover i {
    transform: translateY(3px);
	filter: drop-shadow(0px 1px 0px #b792c2);
}








/* --- I N T R O D U C T I O N  +  S T O R Y --- */

.cont-wrap#intro_story {
    padding: 0;
}
.cont-wrap#intro_story::after {
    content: "";
	display: block;
	margin: 0;
	width: 100%;
	height: 100vh;
	z-index: -4;
	position: fixed;
	top: 0;
	left: 0;
    background: url("../img/bg-intro.jpg") no-repeat top center;
	background-size: cover;
}
.cont-main#intro, .cont-main#story {
    padding: 160px 0 60px 0;
}
.cont-main#story::after {
    content: "";
	display: block;
	margin: 0;
	width: 100%;
	height: 100%;
	background: rgba(67,184,204,0.65);
	position: fixed;
	left: 0;
	top: 0;
	z-index: -3;
	mix-blend-mode: hard-light;
	
	will-change: opacity;
	opacity: 0;
	transition: all 0.4s ease-in-out;
}
.cont-main#story.appr::after {
	opacity: 1;
}
.bg-star {
    width: 200%;
	height: 200vh;
	display: block;
	margin: 0;
	z-index: -3;
	pointer-events: none;
	position: fixed;
	top: -80%;
	left: -80%;
    background: url("../img/bg-star.png") repeat top left;
	background-size: 780px auto;
	opacity: 0.8;
	
	opacity: 0;
}
.bg-star.appr {
    opacity: 1;
}

.ct-WDbox {
    width: min(1200px,80%);
    height: auto;
    display: block;
    margin: 0 auto;
	padding: 70px 50px 50px 50px;
	position: relative;
	z-index: 0;
	
	background: rgba(255,255,255,0.65);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	border: 2px solid;
	
	will-change: transform, opacity;
    transition: all 1.5s cubic-bezier(0.15, 0.9, 0.35, 1);
}
.ct-WDbox::before, .ct-WDbox::after {
    content: "";
	display: block;
	margin: 0;
	width: 100%;
	height: 30px;
	position: absolute;
	top: 0;
	left: 0;
}
.ct-WDbox::before { z-index: -1; border-bottom: 2px solid; }
.ct-WDbox::after  { z-index: 0; }

.ct-WDbox.pnk {
	border-color: #ec6c8d;
	box-shadow: 12px 12px 0px 0px rgba(236,108,141,0.15);
}
.ct-WDbox.pnk::before {
    background: rgba(236,108,141,0.65);
	border-color: #ec6c8d;
}
.ct-WDbox.pnk::after {
    background: url("../img/dc-rt_pnk.png") no-repeat right 20px center;
	background-size: auto 70%;
}

.cont-main#story .ct-WDbox {
    width: min(750px,55%);
	padding: 70px 90px 50px 90px;
}

.ct-WDbox.blu {
	border-color: #43b8cc;
	box-shadow: 12px 12px 0px 0px rgba(67,184,204,0.15);
}
.ct-WDbox.blu::before {
    background: rgba(67,184,204,0.65);
	border-color: #43b8cc;
}
.ct-WDbox.blu::after {
    background: url("../img/dc-rt_blu.png") no-repeat right 20px center;
	background-size: auto 70%;
}

#intro .ct-WDbox {
    transform: translateX(200px);
	opacity: 0;
	overflow: inherit;
}
#intro .ct-WDbox.appr {
    transform: translateX(0);
    opacity: 1;
}
.intro-ps {
    width: 400px;
	height: auto;
	display: block;
	margin: 0;
	background: url("../img/intro-cast.webp") no-repeat bottom center;
	background-size: 100% auto;
	pointer-events: none;
	
	position: absolute;
	top: -245px;
	right: 0;
	
	filter: drop-shadow(5px 0px 0px rgba(236,108,141,0.3));
	
	will-change: transform, opacity;
    transition: all 1.5s cubic-bezier(0.15, 0.9, 0.35, 1);
    transform: translateX(-100px);
    opacity: 0;
}
.intro-ps::after {
    content: "";
	display: block;
	padding-bottom: 73.2%;
}
#intro .ct-WDbox.appr .intro-ps {
    transform: translateX(0);
    opacity: 1;
}
.intro-copy {
    width: 80%;
	height: auto;
	display: block;
	margin: 20px auto 40px auto;
	
	will-change: transform, opacity;
    transition: all 1.2s cubic-bezier(0.15, 0.9, 0.35, 1) 0.25s;
    transform: scale(1.8);
    opacity: 0;
}
#intro .ct-WDbox.appr .intro-copy {
    transform: scale(1);
    opacity: 1;
}
.ct-WDbox p {
    display: inline-block;
	margin: 0;
	
	font-size: 1.1rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	line-height: 2em;
	
	will-change: transform, opacity;
    transition: all 1.2s cubic-bezier(0.15, 0.9, 0.35, 1);
}
#intro .ct-WDbox p {
    transition-delay: 0.5s;
    transform: translateY(80px);
    opacity: 0;
}
#intro .ct-WDbox.appr p {
    transform: translateX(0);
    opacity: 1;
}
.ct-WDbox p span.name {
    display: inline-block;
}
.ct-WDbox.pnk p {
	color: #ec6c8d;
}
.ct-WDbox.blu p {
	color: #43b8cc;
}

.st-pic_wrap {
    width: 100%;
	height: 100%;
	display: block;
	margin: 0;
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 0;
}
.st-pic_wrap span {
	height: auto;
	display: block;
	margin: 0;
	border: 2px solid #43b8cc;
	
	position: absolute;
	box-shadow: 12px 12px 0px 0px rgba(67,184,204,0.15);
	
	will-change: transform, opacity;
    transition: all 3s cubic-bezier(0.15, 0.9, 0.35, 1);
    transform: translateY(-120px);
    opacity: 0;
}
.st-pic_wrap span:nth-of-type(1) {
    width: 45%;
    top: -10%;
	left: calc(-45% + 50px);
	
	transition-delay: 0.5s;
}
.st-pic_wrap span:nth-of-type(2) {
    width: 40%;
    top: 35%;
	right: calc(-40% + 50px);
	
	transition-delay: 0.75s;
}
.st-pic_wrap span:nth-of-type(3) {
    width: 30%;
    bottom: -10%;
	left: calc(-30% + 50px);
	
	transition-delay: 1.0s;
}
#story .ct-WDbox.appr .st-pic_wrap span {
    transform: translateY(0);
    opacity: 1;
}

#story .ct-WDbox {
    transform: translateX(-200px);
	opacity: 0;
}
#story .ct-WDbox.appr {
    transform: translateX(0);
    opacity: 1;
}
#story .ct-WDbox p {
    transition-delay: 0.25s;
    transform: translateY(80px);
    opacity: 0;
}
#story .ct-WDbox.appr p {
    transform: translateX(0);
    opacity: 1;
}
#story .itv {
    margin: 100px 0 0 0;
}
#story .itv span {
	background: url("../img/itv-01.jpg") repeat-x left top;
	background-size: auto 100%;
	
	box-shadow: 0px 12px 0px 0px rgba(67,184,204,0.15);
	
	will-change: transform, background-position;
    animation: 40.0s itvL linear infinite;
}
@keyframes itvL {
    from { background-position: 0 0; }
    to   { background-position: -1800px 0; }
}
@keyframes itvL_sp {
    from { background-position: 0 0; }
    to   { background-position: -900px 0; }
}





/* --- C A S T  /  C H A R A C T E R  +  S T A F F --- */

.cont-wrap#cast_staff {
    padding: 0;
}
.cont-wrap#cast_staff::before {
    content: "";
	display: block;
	margin: 0;
	width: 100%;
	height: 100vh;
	background: linear-gradient(45deg, rgba(255,220,235,1) 0%, rgba(255,231,215,1) 100%);
	
	position: fixed;
	left: 0;
	top: 0;
	z-index: -2;
	
	will-change: opacity;
	opacity: 0;
	transition: all 0.4s ease-in-out;
}
.cont-wrap#cast_staff::after {
    content: "";
	display: block;
	margin: 0;
	width: 100%;
	height: 100vh;
	
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	
    background: url("../img/bg-cross.png") repeat top left;
	background-size: 80px auto;
	
	will-change: opacity;
	opacity: 0;
	transition: all 0.4s ease-in-out;
}
.cont-wrap#cast_staff.appr::before,
.cont-wrap#cast_staff.appr::after {
	opacity: 1;
}
.cont-main#cast1 {
    padding: 120px 0 0 0;
}
.cont-main#cast2 {
    padding: 120px 0 0 0;
}
.cont-main#cast2::after {
    content: "";
	display: block;
	margin: 0;
	width: 100%;
	height: 100%;
	
	position: fixed;
	left: 0;
	top: 0;
	z-index: -2;
	
	will-change: opacity;
	opacity: 0;
	transition: all 0.4s ease-in-out;
}

.cont-main#cast2::after {
    background: linear-gradient(225deg, rgba(190,227,217,1) 0%, rgba(255,251,233,1) 100%);
}
.cont-main#cast2.appr::after {
	opacity: 1;
}

.cast-item {
    width: min(1200px,80%);
	height: auto;
	margin: 0 auto 100px auto;
	
	display: flex;
    flex-wrap: wrap;
}
.cont-main#cast1 .cast-item:nth-last-of-type(1) {
    margin: 0 auto;
}
.cast-item figure {
    width: 50%;
	height: auto;
	display: block;
	margin: 0;
	z-index: 0;
	
	will-change: transform, opacity;
    transition: all 1.2s cubic-bezier(0.15, 0.9, 0.35, 1);
    transform: translateX(150px);
    opacity: 0;
}
.cast-item.invert figure {
    order: 2;
	transform: translateX(-150px);
}
.cast-item.appr figure {
    transform: translateX(0);
    opacity: 1;
}
.cast-item section {
    width: 50%;
	height: auto;
	display: block;
	margin: 0;
	padding: 30px 0 0 30px;
	
	z-index: 1;
}
.cast-item.invert section { order: 1; padding: 30px 30px 0 0; }

.cast-item figure span, .cast2-item figure span {
    width: 100%;
	height: auto;
	display: block;
	margin: 0;
	position: relative;
	border: 2px solid;
	overflow: hidden;
	
	box-shadow: 10px 10px 0px 0px rgba(0,0,0,0.05);
}
.cast-item figure span img, .cast2-item figure span img {
    margin-top: 20px;
}

.cast-item figure span::before, .cast-item figure span::after,
.cast2-item figure span::before, .cast2-item figure span::after {
    content: "";
	display: block;
	margin: 0;
	width: 100%;
	height: 20px;
	position: absolute;
	top: 0;
	left: 0;
}
.cast-item figure span::before, .cast2-item figure span::before {
    border-bottom: 2px solid;
}

.chara {
    width: 100%;
	height: auto;
	
	display: flex;
    flex-wrap: wrap;
	margin: 0 0 40px calc((10% + 30px) * -1);
	
	will-change: transform, opacity;
    transition: all 1.2s cubic-bezier(0.15, 0.9, 0.35, 1);
    transform: translateX(-100px);
    opacity: 0;
}
.chara div {
    width: 80%;
	height: auto;
	display: block;
	margin: 0;
	padding: 20px;
	border-radius: 15px;
	position: relative;
	z-index: 0;
	
	border: 2px solid;
	background: rgba(255,255,255,0.85);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	
	filter: drop-shadow(8px 8px 0px rgba(0,0,0,0.05));
}
.cast-item.invert .chara {
    margin: 0 0 40px calc(10% + 30px);
	transform: translateX(100px);
}
.cast-item.invert .chara div { order: 2; }

.cast-item.appr .chara {
    transform: translateX(0);
    opacity: 1;
}

.chara div::after {
    content: "";
	display: block;
	margin: 0;
	pointer-events: none;
	box-sizing: border-box;
	width: calc(100% - 8px);
	height: calc(100% - 8px);
	border: 2px solid;
	position: absolute;
	top: 4px;
	left: 4px;
	border-radius: 10px;
}
.chara span {
    width: 20%;
	height: auto;
	display: block;
	margin: auto;
	z-index: 1;
	
	filter: drop-shadow(8px 8px 1px rgba(0,0,0,0.08));
}
.cast-item.invert .chara span { order: 1; }

.chara div h2 {
    width: 100%;
	height: auto;
	display: block;
	margin: 0 0 0.5em 0;
	
	font-size: 1.4rem;
    font-family: "DotGothic16", serif;
    font-weight: 400;
    font-style: normal;
}
.chara div p {
    width: 100%;
	height: auto;
	display: block;
	margin: 0;
	
	font-size: 0.9rem;
    font-weight: 500;
	letter-spacing: 0.03em;
	line-height: 1.6em;
	color: #576377;
}

.cast-item section h1 {
    width: 100%;
	height: auto;
	display: block;
	margin: 0 0 20px 0;
}
.cast-item section > p {
    width: 100%;
	height: auto;
	display: block;
	margin: 0;
	
	font-size: 0.9rem;
    font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.9em;
	color: #576377;
}
.cast-item section h1, .cast-item section > p {
    will-change: transform, opacity;
    transition: all 1.2s cubic-bezier(0.15, 0.9, 0.35, 1);
    transform: translateY(80px);
    opacity: 0;
}
.cast-item section > p {
    transition-delay: 0.15s;
}
.cast-item section h1.appr, .cast-item section > p.appr {
    transform: translateY(0);
    opacity: 1;
}


.cast2-wrap {
    width: min(1200px,80%);
    height: auto;
    margin: 0 auto;
	
    display: flex;
    flex-wrap: wrap;
}
.cast2-item {
    width: 50%;
	height: auto;
	display: block;
	position: relative;
	margin-bottom: 80px;
}
.cast2-item:nth-of-type(odd)  { 
    padding: 0 6% 0 0;
}
.cast2-item:nth-of-type(even) { 
    padding: 0 0 0 6%;
	/*margin: 80px 0 0 0;*/
}
.cast2-item:nth-last-of-type(-n+2) {
    margin-bottom: 0;
}

.cast2-item figure {
    width: 100%;
	height: auto;
	display: block;
	margin: 0;
	z-index: 0;
	
	will-change: transform, opacity;
    transition: all 1.2s cubic-bezier(0.15, 0.9, 0.35, 1);
    transform: translateX(100px);
    opacity: 0;
}
.cast2-item.appr figure {
    transform: translateX(0);
    opacity: 1;
}
.chara2 {
    width: 100%;
	height: auto;
	margin: -60px 0 0 10%;
	
	display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
	
	will-change: transform, opacity;
    transition: all 1.2s cubic-bezier(0.15, 0.9, 0.35, 1);
    transform: translateX(-100px);
    opacity: 0;
}
.cast2-item.appr .chara2 {
    transform: translateX(0);
    opacity: 1;
}
.chara2 div {
    width: 60%;
	height: auto;
	display: block;
	margin: 0;
	padding: 20px;
	border-radius: 15px;
	position: relative;
	z-index: 1;
	
	border: 2px solid;
	background: rgba(255,255,255,0.85);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	
	filter: drop-shadow(8px 8px 0px rgba(0,0,0,0.05));
}
.chara2 div::after {
    content: "";
	display: block;
	margin: 0;
	pointer-events: none;
	box-sizing: border-box;
	width: calc(100% - 8px);
	height: calc(100% - 8px);
	border: 2px solid;
	position: absolute;
	top: 4px;
	left: 4px;
	border-radius: 10px;
}
.chara2 div h2 {
    width: 100%;
	height: auto;
	display: block;
	margin: 0 0 0.5em 0;
	
	font-size: 1.4rem;
    font-family: "DotGothic16", serif;
    font-weight: 400;
    font-style: normal;
}
.chara2 div p {
    width: 100%;
	height: auto;
	display: block;
	margin: 0;
	
	font-size: 0.9rem;
    font-weight: 500;
	letter-spacing: 0.03em;
	line-height: 1.6em;
	color: #576377;
}
.cast2-item > h1 {
    width: 100%;
	height: auto;
	display: block;
	margin: 0 0 20px 0;
}
.cast2-item > p {
    width: 100%;
	height: auto;
	display: block;
	margin: 0;
	
	font-size: 0.9rem;
    font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.9em;
	color: #576377;
}
.cast2-item > h1, .cast2-item > p {
    will-change: transform, opacity;
    transition: all 1.2s cubic-bezier(0.15, 0.9, 0.35, 1);
    transform: translateY(50px);
    opacity: 0;
}
.cast2-item > p {
    transition-delay: 0.15s;
}
.cast2-item > h1.appr, .cast2-item > p.appr {
    transform: translateY(0);
    opacity: 1;
}

.comment {
    width: 100%;
	height: auto;
	display: block;
	margin: 0 0 15px 0;
	pointer-events: none;
	
	will-change: transform, opacity;
    transition: all 1.2s cubic-bezier(0.15, 0.9, 0.35, 1);
    transform: translateX(40px);
    opacity: 0;
}
.comment.appr {
    transform: translateX(0);
    opacity: 1;
}
.comment span {
    width: 130px;
	height: 25px;
	
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
	
	margin: 0;
	background: #fff;
	border-radius: 4px;
	border: 2px solid;
	
	pointer-events: auto;
	
	will-change: transform;
	transition: all 0.15s ease-out;
	filter: drop-shadow(4px 4px 0px rgba(0,0,0,0.08));
}
.comment span p {
    display: inline-block;
	margin: 0;
	padding: 0 0 0 1.0em;
	position: relative;
	
	font-size: 0.9rem;
	font-family: lores-9-plus-wide, sans-serif;
    font-weight: 700;
    font-style: normal;
	letter-spacing: -0.02em;
	line-height: 1em;
}
.comment span p::before {
    content: "\f0da";
	display: inline-block;
    margin: -0.5em 0 0 0;
    font: var(--fa-font-solid);
    font-size: 0.9em;
    letter-spacing: 0;
    line-height: 1em;
	
	position: absolute;
	left: 0;
	top: 50%;
}
.comment a:hover span {
    transform: translate(3px,3px);
    filter: drop-shadow(1px 1px 0px rgba(0,0,0,0.08));
}


.cast-item.blue figure span,
.cast-item.blue figure span::before,
.cast-item.blue .chara div,
.cast-item.blue .comment span {
    border-color: #43b8cc;
}
.cast-item.blue .chara div::after {
    border-color: rgba(67,184,204,0.5);
}
.cast-item.blue figure span::before {
    background: rgba(67,184,204,0.65);
}
.cast-item.blue figure span::after {
	background: url("../img/dc-rt_blu.png") no-repeat right 10px center;
	background-size: auto 70%;
}
.cast-item.blue .chara div h2,
.cast-item.blue .chara div p,
.cast-item.blue .comment span p {
    color: #43b8cc;
}

.cast-item.pink figure span,
.cast-item.pink figure span::before,
.cast-item.pink .chara div,
.cast-item.pink .comment span {
    border-color: #ec6c8d;
}
.cast-item.pink .chara div::after {
    border-color: rgba(236,108,141,0.5);
}
.cast-item.pink figure span::before {
    background: rgba(236,108,141,0.65);
}
.cast-item.pink figure span::after {
	background: url("../img/dc-rt_pnk.png") no-repeat right 10px center;
	background-size: auto 70%;
}
.cast-item.pink .chara div h2,
.cast-item.pink .chara div p,
.cast-item.pink .comment span p {
    color: #ec6c8d;
}

.cast2-item.green figure span,
.cast2-item.green figure span::before,
.cast2-item.green .chara2 div,
.cast2-item.green .comment span {
    border-color: #8fc767;
}
.cast2-item.green .chara2 div::after {
    border-color: rgba(143,199,103,0.5);
}
.cast2-item.green figure span::before {
    background: rgba(143,199,103,0.65);
}
.cast2-item.green figure span::after {
	background: url("../img/dc-rt_gre.png") no-repeat right 10px center;
	background-size: auto 70%;
}
.cast2-item.green .chara2 div h2,
.cast2-item.green .chara2 div p,
.cast2-item.green .comment span p {
    color: #8fc767;
}

.cast2-item.momo figure span,
.cast2-item.momo figure span::before,
.cast2-item.momo .chara2 div,
.cast2-item.momo .comment span {
    border-color: #ed7faf;
}
.cast2-item.momo .chara2 div::after {
    border-color: rgba(237,127,175,0.5);
}
.cast2-item.momo figure span::before {
    background: rgba(237,127,175,0.65);
}
.cast2-item.momo figure span::after {
	background: url("../img/dc-rt_mom.png") no-repeat right 10px center;
	background-size: auto 70%;
}
.cast2-item.momo .chara2 div h2,
.cast2-item.momo .chara2 div p,
.cast2-item.momo .comment span p{
    color: #ed7faf;
}

.cast2-item.red figure span,
.cast2-item.red figure span::before,
.cast2-item.red .chara2 div,
.cast2-item.red .comment span {
    border-color: #e86969;
}
.cast2-item.red .chara2 div::after {
    border-color: rgba(232,105,105,0.5);
}
.cast2-item.red figure span::before {
    background: rgba(232,105,105,0.65);
}
.cast2-item.red figure span::after {
	background: url("../img/dc-rt_red.png") no-repeat right 10px center;
	background-size: auto 70%;
}
.cast2-item.red .chara2 div h2,
.cast2-item.red .chara2 div p,
.cast2-item.red .comment span p{
    color: #e86969;
}

.cast2-item.vio figure span,
.cast2-item.vio figure span::before,
.cast2-item.vio .chara2 div,
.cast2-item.vio .comment span {
    border-color: #cc7fba;
}
.cast2-item.vio .chara2 div::after {
    border-color: rgba(204,127,186,0.5);
}
.cast2-item.vio figure span::before {
    background: rgba(204,127,186,0.65);
}
.cast2-item.vio figure span::after {
	background: url("../img/dc-rt_vio.png") no-repeat right 10px center;
	background-size: auto 70%;
}
.cast2-item.vio .chara2 div h2,
.cast2-item.vio .chara2 div p,
.cast2-item.vio .comment span p {
    color: #cc7fba;
}

.cast2-item.orange figure span,
.cast2-item.orange figure span::before,
.cast2-item.orange .chara2 div,
.cast2-item.orange .comment span {
    border-color: #e09038;
}
.cast2-item.orange .chara2 div::after {
    border-color: rgba(224,144,56,0.5);
}
.cast2-item.orange figure span::before {
    background: rgba(224,144,56,0.65);
}
.cast2-item.orange figure span::after {
	background: url("../img/dc-rt_ora.png") no-repeat right 10px center;
	background-size: auto 70%;
}
.cast2-item.orange .chara2 div h2,
.cast2-item.orange .chara2 div p,
.cast2-item.orange .comment span p {
    color: #e09038;
}

.cast2-item.tur figure span,
.cast2-item.tur figure span::before,
.cast2-item.tur .chara2 div,
.cast2-item.tur .comment span {
    border-color: #4ebdbd;
}
.cast2-item.tur .chara2 div::after {
    border-color: rgba(78,189,189,0.5);
}
.cast2-item.tur figure span::before {
    background: rgba(78,189,189,0.65);
}
.cast2-item.tur figure span::after {
	background: url("../img/dc-rt_tur.png") no-repeat right 10px center;
	background-size: auto 70%;
}
.cast2-item.tur .chara2 div h2,
.cast2-item.tur .chara2 div p,
.cast2-item.tur .comment span p {
    color: #4ebdbd;
}

.cont-main#staff {
    padding: 120px 0 60px 0;
}
.cont-main#staff::after {
    content: "";
	display: block;
	margin: 0;
	width: 100%;
	height: 100%;
	
	position: fixed;
	left: 0;
	top: 0;
	z-index: -2;
	
	will-change: opacity;
	opacity: 0;
	transition: all 0.4s ease-in-out;
}

.cont-main#staff::after {
    background: linear-gradient(135deg, rgba(198,211,241,1) 0%, rgba(255,214,231,1) 100%);
}
.cont-main#staff.appr::after {
	opacity: 1;
}

.staff-main {
    width: min(500px,90%);
	height: auto;
	display: block;
	margin: 0 auto;
}
.staff-main section {
    width: 100%;
	height: auto;
	margin: 0 0 40px 0;
	position: relative;
	
	display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
	align-items: center;
	
	color: #9b77a6;
}
.staff-main section h3 {
    display: inline-block;
	margin: 0 45px 0 0;
	padding: 0 12px 0 0;
	position: relative;
	
	font-size: 1.2rem;
	font-family: "DotGothic16", serif;
    font-weight: 400;
    font-style: normal;
	letter-spacing: 0.1em;
	line-height: 1em;
	
	text-shadow: 0px 3px 0px rgba(255,255,255,1);
}
.staff-main section h3::after {
    content: "";
	display: inline-block;
	margin: -15px 0 0 0;
	width: 30px;
	height: 30px;
	position: absolute;
	right: -30px;
	top: 50%;
	
	background: url( "../img/heart.png") no-repeat center center;
	background-size: 100% auto;
	
}
.staff-main section h2 {
    display: inline-block;
	margin: 0;
	position: relative;
	
	font-size: 1.5rem;
    font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1em;
	
	text-shadow: 0px 3px 0px rgba(255,255,255,1);
}
.staff-main .comment {
    width: auto;
	display: inline-block;
	margin: 0 0 0 20px;
	
	filter: none !important;
}
.staff-main .comment span {
    border-color: #cc7fba;
}
.staff-main .comment span p {
    color: #cc7fba;
}

#cast_staff .itv {
	padding: 0 0 12px 0;
}
#cast_staff .itv span {
	background: url("../img/itv-02.jpg") repeat-x left top;
	background-size: auto 100%;
	
	box-shadow: 0px 12px 0px 0px rgba(236,108,141,0.15);
	
	will-change: transform, background-position;
    animation: 40.0s itvR linear infinite;
}
@keyframes itvR {
    from { background-position: 0 0; }
    to   { background-position: 1800px 0; }
}
@keyframes itvR_sp {
    from { background-position: 0 0; }
    to   { background-position: 900px 0; }
}





/* --- O R I G I N A L --- */

.cont-main#original {
    padding: 120px 0 60px 0;
}
.cont-main#original .ct-WDbox {
    width: min(750px,55%);
	padding: 70px 70px 50px 70px;
}
#original .ct-WDbox {
    transform: translateX(-200px);
	opacity: 0;
}
#original .ct-WDbox.appr {
    transform: translateX(0);
	opacity: 1;
}
.org-main {
    width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
}
.org-main figure {
    width: 100%;
	height: auto;
	display: block;
	margin: 0 0 30px 0;
	border: 2px solid #ec6c8d;
}
.org-main h1 {
    width: 70%;
	height: auto;
	display: block;
	margin: 0 0 30px 0;
}
.org-main h2 {
    width: 100%;
	height: auto;
    display: block;
	margin: 0 0 15px 0;
	
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1em;
}
.org-main h2 i {
    display: inline-block;
	margin: 0;
	
	font-size: 0.8em;
	font-style: normal;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1em;
}
.org-main h2 b {
    display: inline-block;
	margin: 0 0 0 0.5em;
	
	font-size: 0.6em;
	font-style: normal;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1em;
}
.org-main > p {
    width: 100%;
	height: auto;
    display: block;
	margin: 0 0 30px 0;
	
	font-size: 1.0rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.6em;
	color: #576377 !important;
}
.org-main > p.org-cp {
	margin: 30px 0 0 0;
	font-size: 0.8rem;
}
.org-main .comment {
    margin: 0 0 30px 0;
}
.org-main .comment span {
    border-color: #ec6c8d;
}
.org-main .comment span p {
    color: #ec6c8d;
}
.lnkBT {
    width: 100%;
	height: auto;
	display: block;
	margin: 0 0 15px 0;
}
.org-main .lnkBT:nth-last-of-type(1) {
    margin: 0;
}
.lnkBT span {
    width: 200px;
	text-align: center;
    display: inline-block;
	margin: 0;
	border: 2px solid #ec6c8d;
	padding: 0.5em 1.5em 0.65em;
	background: #ec6c8d;
	border-radius: 40px;
	
	font-size: 1.0rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1em;
	color: #fff;
	
	transition: all 0.15s ease-out;
}
.lnkBT a:hover span {
    color: #ec6c8d;
	background: #fff;
}






/* --- T H E M E  S O N G --- */

.cont-wrap#song::before, .cont-wrap#song::after {
    content: "";
	display: block;
	margin: 0;
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	pointer-events: none;
	
	will-change: opacity;
	opacity: 0;
	transition: all 0.4s ease-in-out;
}
.cont-wrap#song::before {
    background: url("../img/bg-dot.png") repeat left top;
	background-size: 50px auto;
	z-index: -1;
}
.cont-wrap#song::after {
    z-index: -2;
    background: linear-gradient(45deg, rgba(227,248,210,1) 0%, rgba(166,215,229,1) 100%);
}
.cont-wrap#song.appr::before, .cont-wrap#song.appr::after {
	opacity: 1;
}
.cont-wrap#song .cast-item {
	margin: 0 auto;
	
	display: flex;
    flex-wrap: wrap;
	align-items: center;
}







/* --- C O M M E N T --- */

.mdW-cmt {
    width: 100%;
    height: auto;
    margin: 0;
    padding: 60px;
    display: block;
    overflow: hidden;
	position: relative;
	border: 2px solid;
	z-index: 0;
}
.mdW-cmt::after {
    content: "";
	display: block;
	margin: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 0;
	background: url("../img/bg-ptn.webp") repeat center center;
	background-size: 550px auto;
	z-index: -1;
	opacity: 0.3;
}
.mdW-cmt h1 {
    width: 100%;
    height: 50px;
    margin: 0 0 25px 0;
	padding: 0 0 28px 0;
    display: block;
    position: relative;
    
    font-size: 0.00rem;
    line-height: 1em;
    letter-spacing: 0;
}
.mdW-cmt h1 img {
    width: auto;
	height: 100%;
	display: block;
	margin: 0;
}
.mdW-cmt h1::after {
    content: "";
	display: block;
	margin: 0;
	width: 100%;
	height: 4px;
	background: url("../img/linedot.png") repeat-x left center;
	background-size: auto 100%;
	
	position: absolute;
	bottom: 0;
	left: 0;
	opacity: 0.07;
}
.mdW-cmt p {
    width: 100%;
    height: auto;
	display: block;
    margin: 0;
	text-align: left;
	
	font-size: 1.0rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.9em;
	color: #576377;
}


.remodal.blue .mdW-cmt,
.remodal.blue .remodal-close {
    border-color: #43b8cc;
}
.remodal.blue .remodal-close::before,
.remodal.blue .remodal-close::after {
    background: #43b8cc;
}
.remodal.blue h4 {
    color: #43b8cc;
}

.remodal.pink .mdW-cmt,
.remodal.pink .remodal-close {
    border-color: #ec6c8d;
}
.remodal.pink .remodal-close::before,
.remodal.pink .remodal-close::after {
    background: #ec6c8d;
}
.remodal.pink h4 {
    color: #ec6c8d;
}

.remodal.green .mdW-cmt,
.remodal.green .remodal-close {
    border-color: #8fc767;
}
.remodal.green .remodal-close::before,
.remodal.green .remodal-close::after {
    background: #8fc767;
}
.remodal.green h4 {
    color: #8fc767;
}

.remodal.momo .mdW-cmt,
.remodal.momo .remodal-close {
    border-color: #ed7faf;
}
.remodal.momo .remodal-close::before,
.remodal.momo .remodal-close::after {
    background: #ed7faf;
}
.remodal.momo h4 {
    color: #ed7faf;
}

.remodal.red .mdW-cmt,
.remodal.red .remodal-close {
    border-color: #e86969;
}
.remodal.red .remodal-close::before,
.remodal.red .remodal-close::after {
    background: #e86969;
}
.remodal.red h4 {
    color: #e86969;
}

.remodal.vio .mdW-cmt,
.remodal.vio .remodal-close {
    border-color: #cc7fba;
}
.remodal.vio .remodal-close::before,
.remodal.vio .remodal-close::after {
    background: #cc7fba;
}
.remodal.vio h4 {
    color: #cc7fba;
}

.remodal.orange .mdW-cmt,
.remodal.orange .remodal-close {
    border-color: #e09038;
}
.remodal.orange .remodal-close::before,
.remodal.orange .remodal-close::after {
    background: #e09038;
}
.remodal.orange h4 {
    color: #e09038;
}

.remodal.tur .mdW-cmt,
.remodal.tur .remodal-close {
    border-color: #4ebdbd;
}
.remodal.tur .remodal-close::before,
.remodal.tur .remodal-close::after {
    background: #4ebdbd;
}
.remodal.tur h4 {
    color: #4ebdbd;
}






/* --- N E W S --- */

.ct-newsIDX {
    width: min(1000px,70%);
    height: auto;
    display: block;
    margin: 0 auto 50px auto;
}
.news-item {
    width: 100%;
	height: auto;
	margin: 0 0 25px 0;
	padding: 0 0 25px 0;
	position: relative;
	
	display: flex;
    flex-wrap: wrap;
}
.ct-newsIDX .news-item:nth-last-of-type(1) {
    margin: 0;
}
.news-item::after {
    content: "";
	display: block;
	margin: 0;
	width: 100%;
	height: 2px;
	background: url("../img/linedot-bl.png") repeat-x left center;
	background-size: auto 100%;
	
	position: absolute;
	bottom: 0;
	left: 0;
}
.news-item article, .news-item div {
    height: auto;
	margin: 0;
	position: relative;
	
	display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
}
.news-item article {
    width: 200px;
	padding-left: 40px;
}
.news-item div {
    width: calc(100% - 200px);
	padding: 0 35px 0 0;
	position: relative;
	
	pointer-events: none;
}
.news-item div::after {
    content: "";
	display: block;
	margin: 0;
	width: 10px;
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
	background: url("../img/arw-bl.png") no-repeat center center;
	background-size: 100% auto;
	
	will-change: transform;
	transition: all 0.15s ease-out;
}
.news-item div:hover::after {
    transform: scale(1.4);
}
.news-item article::before {
    content: "";
	display: block;
	margin: 0;
	width: 25px;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: url("../img/hrt-pnk.png") no-repeat center center;
	background-size: 100% auto;
}
.news-item h1 {
    display: inline-block;
	margin: -0.25em 0 0 0;
	
	
	font-size: 1.4rem;
	font-family: pf-videotext, sans-serif;
    font-weight: 400;
    font-style: normal;
	letter-spacing: 0.01em;
	line-height: 1em;
	color: #43b8cc;
	text-shadow: 2px 2px 0px #fff;
}
.news-item h2 {
    width: 100%;
	height: auto;
    display: block;
	margin: 0;
	
	font-size: 1.1rem;
    font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.5em;
	color: #43b8cc;
	text-shadow: 2px 2px 0px #fff;
	pointer-events: auto;
	
	will-change: transform;
	transition: all 0.15s ease-out;
}
.news-item a:hover h2 {
    transform: translateX(5px);
}


.ct-newsDTL {
    width: min(1000px,70%);
    height: auto;
    display: block;
    margin: 0 auto 80px auto;
	
	padding: 40px 40px 60px 40px;
	position: relative;
	border: 2px solid #43b8cc;
	background: rgba(245,251,254,0.75);
	
	will-change: transform, opacity;
    transition: all 0.8s cubic-bezier(0.15, 0.9, 0.35, 1);
    transform: translateY(100px);
    opacity: 0;
}
.ct-newsDTL.appr {
    transform: translateY(0);
    opacity: 1;
}
.ct-newsDTL article {
    width: 100%;
	height: auto;
	display: block;
	margin: 0 0 30px 0;
	padding: 0 0 30px 0;
	position: relative;
}
.ct-newsDTL article::after {
    content: "";
	display: block;
	margin: 0;
	width: 100%;
	height: 2px;
	background: url("../img/linedot-bl.png") repeat-x left center;
	background-size: auto 100%;
	
	position: absolute;
	bottom: 0;
	left: 0;
}
.ct-newsDTL article h1 {
    width: 100%;
	height: auto;
	display: block;
	margin: 0 0 1em 0;
	
	font-size: 1.2rem;
	font-family: pf-videotext, sans-serif;
    font-weight: 400;
    font-style: normal;
	letter-spacing: 0.01em;
	line-height: 1em;
	color: #43b8cc;
}
.ct-newsDTL article h2 {
    width: 100%;
	height: auto;
	display: block;
	margin: 0;
	
	font-size: 1.25rem;
    font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.5em;
	color: #43b8cc;
}
.news-main {
    width: 100%;
	height: auto;
	display: block;
	margin: 0;
	
	font-size: 1.0rem;
    font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.9em;
	color: #576377;
}
.nwBT  {
    width: 100%;
    height: auto;
	display: block;
    margin: 0;
	position: relative;
	
	will-change: transform, opacity;
    transition: all 0.6s cubic-bezier(0.15, 0.9, 0.35, 1);
    transform: translateY(50px);
    opacity: 0;
}
.nwBT.appr {
    transform: translateY(0);
    opacity: 1;
}
.nwBT section {
    width: 200px;
    height: 30px;
    margin: 0 auto;
	background: #43b7cb;
	position: relative;
	
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
	
	will-change: transform;
    transition: all 0.1s ease-out;
}
.nwBT section p {
    display: inline-block;
    margin: -0.18em 0 0 0;
    
    font-size: 1.2rem;
	font-family: pf-videotext, sans-serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.02em;
    line-height: 1em;
    color: #fff;
}
.nwBT a:hover section {
    transform: scale(0.98);
	background: #ec6c8d;
}

.news-main strong {
    color: #ec6c8d;
    font-weight: 500;
}
.news-main strong.blue {
    color: #43b8cc;
    font-weight: 600;
}
.news-main b {
    display: inline-block;
    font-size: 0.85em;
    font-weight: 500;
    line-height: 1.8em;
}
.news-main ul {
    margin: 1em 0 1em -1em;
    list-style: square;
}
.news-main ol {
    margin: 1em 0 1em -1em;
}
.news-main li {
    margin: 0 0 0.5em 0;
}
.news-main li:nth-last-child(1) {
    margin: 0;
}
.news-main ul.note li {
    font-size: 0.85em;
	line-height: 1.6em;
}

.news-main a {
    display: inline-block;
    color: #ec6c8d;
    text-decoration: underline;
    
    will-change: transform;
    transition: all 0.18s linear;
}
.news-main a:hover {
    transform: translateY(3px);
    text-decoration: none;
}
.news-main img {
    width: min(500px,100%);
	height: auto;
    display: block;
	margin: 1em auto;
}
.pic {
    width: 100%;
    height: auto;
    margin: 2em 0;
    
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
}
.pic span {
    width: 80%;
    height: auto;
    display: block;
    margin: 0 10px;
}
.newsYT {
    width: 100%;
    height: auto;
    margin: 1em 0;
    position: relative;
}
.newsYT::after {
    content: "";
    display: block;
    padding-bottom: 56.25%;
}
.newsYT iframe {
    width: 100%;
    height: 100%;
    display: block;
    margin: 0;
    position: absolute;
    top: 0;
    right: 0;
}

.skm {
    width: 4.08em;
    display: inline-block;
	margin: 0;
}
.bxtxt {
    display: inline-block;
	margin: 0.5em 0;
	padding: 0.25em 1em;
	
	border: 2px solid #ec6c8d;
	background: #fff;
	
	font-size: 1.0em;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1em;
	color: #ec6c8d;
}
.cpmBT {
    width: 100%;
	height: auto;
	display: block;
	margin: 30px 0;
	text-align: center;
}
.cpmBT span {
    display: inline-block;
	margin: 0 auto;
	padding: 0.6em 3em 0.7em;
	border-radius: 3px;
	background: #ccc;
	
	font-size: 1.3em;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1em;
	color: #fff;
	
	transition: all 0.18s linear;
}
.cpmBT a span {
	background: #43b8cc;
	color: #fff;
}
.cpmBT a:hover span {
    background: #ec6c8d;
}
.news-main h4 {
    width: 100%;
	height: auto;
	display: block;
	margin: 0 0 1.5em 0;
    font-size: 1.5em;
    font-weight: 700;
	line-height: 1.5em;
	color: #43b8cc;
	text-shadow: 2px 2px 0px rgba(184,225,232,0.8);
}
.news-main h6 {
    display: inline;
    font-size: 1em;
    font-weight: 700;
}


/* --- F O O T E R --- */

footer {
    width: 100%;
    height: auto;
	min-height: 400px;
    background: #ec6c8d;
    margin: auto 0 0 0; /* 下端設置用 */
	padding: 30px 0;
    
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}
footer section {
    width: 100%;
	height: auto;
    display: block;
    margin: 0;
    text-align: center;
	
	color: #ffefae;
}
footer section article {
    width: 200px;
    height: auto;
    margin: 0 auto 20px auto;
    position: relative;
    background: url("../img/ft-title.png") no-repeat center center;
    background-size: 100% auto;
}
footer section article::after {
    content: "";
    display: block;
    padding-bottom: 70%;
}
footer h2, footer h3 {
    width: 100%;
	height: auto;
    display: block;
    text-align: center;
	
    letter-spacing: 0.02em;
    line-height: 1em;
	font-weight: 600;
}
footer h2 {
    margin: 0 0 0.5em 0;
	
    font-size: 1.15rem;
}
footer h3 {
    margin: 0 0 1.5em 0;
	
	font-size: 1.0rem;
	line-height: 1.6em;
}
footer h3 b {
    font-size: 0.8em;
	font-weight: 600;
}
footer section p {
    display: inline-block;
    margin: 0;
    
    font-size: 0.8rem;
	font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.6em;
}
footer section p b {
    font-size: 0.8em;
	font-weight: 500;
}
.ft-sns {
    width: 100%;
	height: auto;
	margin: 0;
	
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.ft-sns span {
    display: inline-block;
	margin: 0.8em 0.4em;
	
	font-size: 1.5rem;
	letter-spacing: 0;
	line-height: 1em;
}
.ft-sns span i {
    display: inline-block;
	margin: 0;
	color: #fae5eb;
	
    will-change: transform;
	transition: all 0.15s ease-out;

}
.ft-sns span a:hover i {
	color: #fff;
	transform: scale(1.05);
	
}



@keyframes mnAni1A {
    0%   { transform: translate(0,0); }
    25%  { transform: translate(0,11px); }
    50%  { transform: translate(0,11px); }
    80%  { transform: translate(0,11px) rotate(-45deg); }
    100% { transform: translate(0,11px) rotate(-45deg); }
}
@keyframes mnAni1B {
    0%   { transform: translate(0,11px) rotate(-45deg); }
    25%  { transform: translate(0,11px); }
    50%  { transform: translate(0,11px); }
    80%  { transform: translate(0,0); }
    100% { transform: translate(0,0); }
}
@keyframes mnAni2A {
    0%   { transform: scaleX(1); }
    25%  { transform: scaleX(1); }
    50%  { transform: scaleX(0); }
    100% { transform: scaleX(0); }
}
@keyframes mnAni2B {
    0%   { transform: scaleX(0); }
    50%  { transform: scaleX(0); }
    80%  { transform: scaleX(1); }
    100% { transform: scaleX(1); }
}
@keyframes mnAni3A {
    0%   { transform: translate(0,0); }
    25%  { transform: translate(0,-11px); }
    50%  { transform: translate(0,-11px); }
    80%  { transform: translate(0,-11px) rotate(45deg); }
    100% { transform: translate(0,-11px) rotate(45deg); }
}
@keyframes mnAni3B {
    0%   { transform: translate(0,-11px) rotate(45deg); }
    25%  { transform: translate(0,-11px); }
    50%  { transform: translate(0,-11px); }
    80%  { transform: translate(0,0); }
    100% { transform: translate(0,0); }
}










/* --------- < 1180px > --------- */

@media (max-width: 1180px) {

.hd-menu {
    display: none;
}
.hd-sns {
	padding: 0 20px 0 0;
}
#MnavBT {
    width: 48px;
    height: 48px;
    display: block;
    position: fixed;
    top: 0;
    left: 20px;
    cursor: pointer;
    z-index: 10;
}
.Mmenu-trigger,
.Mmenu-trigger span {
	display: block;
}
.Mmenu-trigger {
	position: absolute;
	width: 30px;
	height: 25px;
    top: 50%;
    left: 50%;
    margin: -12px 0 0 -15px;
}
.Mmenu-trigger span {
	position: absolute;
	width: 100%;
	height: 3px;
	background-color: #fff;
}
.Mmenu-trigger span:nth-of-type(1) {
	top: 0;
    left: 0;
    animation: 0.5s mnAni1B ease-out forwards alternate;
}
.Mmenu-trigger span:nth-of-type(2) {
	top: 11px;
    left: 0;
    animation: 0.5s mnAni2B ease-out forwards alternate;
}
.Mmenu-trigger span:nth-of-type(3) {
	bottom: 0;
    right: 0;
    animation: 0.5s mnAni3B ease-out forwards alternate;
}

.Mmenu-trigger.active span:nth-of-type(1) {
	animation: 0.5s mnAni1A ease-out forwards alternate;
}
.Mmenu-trigger.active span:nth-of-type(2) {
    animation: 0.5s mnAni2A ease-out forwards alternate;
}
.Mmenu-trigger.active span:nth-of-type(3) {
    animation: 0.5s mnAni3A ease-out forwards alternate;
}

.Mmenu-nav {
    width: 100%;
	height: 100vh;
	margin: 0;
	padding: 0;
	position: fixed;
	top: 48px;
	right: 0;
	z-index: 20;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
	
	background: url("../img/ptn-star.png") repeat top left rgba(255,255,255,0.97);
	background-size: 300px auto;
	
    display: none;
}
.Mmenu-wrap {
    width: 100%;
    height: auto;
    margin: 60px 0 60px 0;
    padding: 0;
    overflow: hidden;
    
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.Mmenu-wrap div {
    width: 100%;
    height: auto;
    margin: 0;
    text-align: center;
    position: relative;
}
.Mmenu-wrap div span {
    display: inline-block;
    margin: 0 0 20px 0;
    position: relative;
    
	font-size: 2.2rem;
    font-family: lores-9-plus-wide, sans-serif;
    font-weight: 700;
    font-style: normal;
    letter-spacing: -0.05em;
    line-height: 1em;
    color: #ec6c8d;
	
	text-shadow: 2px 2px 0px #ffefae;
}
.Mmenu-wrap div:nth-of-type(2n) span {
    animation: mn-fadeinL 0.5s cubic-bezier(0.15, 0.9, 0.35, 1) both;
}
.Mmenu-wrap div:nth-of-type(2n-1) span {
    animation: mn-fadeinR 0.5s cubic-bezier(0.15, 0.9, 0.35, 1) both;
}
.Mmenu-wrap div:nth-of-type(1) span { animation-delay: 0.2s; }
.Mmenu-wrap div:nth-of-type(2) span { animation-delay: 0.3s; }
.Mmenu-wrap div:nth-of-type(3) span { animation-delay: 0.4s; }
.Mmenu-wrap div:nth-of-type(4) span { animation-delay: 0.5s; }
.Mmenu-wrap div:nth-of-type(5) span { animation-delay: 0.6s; }
.Mmenu-wrap div:nth-of-type(6) span { animation-delay: 0.7s; }
.Mmenu-wrap div:nth-of-type(7) span { animation-delay: 0.8s; }
.Mmenu-wrap div:nth-of-type(8) span { animation-delay: 0.9s; }
.Mmenu-wrap div:nth-of-type(9) span { animation-delay: 1.0s; }
.Mmenu-wrap div:nth-of-type(10) span { animation-delay: 1.1s; }
.Mmenu-wrap div:nth-of-type(11) span { animation-delay: 1.2s; }
.Mmenu-wrap div:nth-of-type(12) span { animation-delay: 1.3s; }
.Mmenu-wrap div:nth-of-type(13) span { animation-delay: 1.4s; }

}








/* --------- < 1000px > --------- */

@media (max-width: 1000px) {

.top-wrap {
    flex-wrap: wrap;
    flex-direction: column-reverse;
	padding: 0;
	overflow: hidden;
}
.topCT-wrap {
    width: 100%;
    margin-top: 0;
}
.topCT-wrap::before {
    width: 100%;
}
.topCT {
    width: 80%;
    min-height: inherit;
    margin: 0 auto;
	padding: 0;
}
.tp-topic {
    margin: 40px 0 0 0;
    padding: 0 0 40px 0;
}
.top-pic {
    width: 100%;
	border-bottom: 3px solid #ec6c8d;
}
.tp-KV {
	transform: translateY(-50px);
}
.tp-title, .tp-info {
    display: none;
}
.tp-copy {
    top: inherit;
	bottom: 1.1%;
}
.tp-info_sp {
    width: 26%;
    height: auto;
    display: block;
    margin: 0;
	z-index: 2;
	
	position: absolute;
	bottom: 14%;
	left: 4%;
	
	will-change: transform, opacity;
    transform: translateX(40px);
	transition: all 1.2s cubic-bezier(0.15, 0.9, 0.35, 1) 0.5s;
    opacity: 0;
}
.tp-info_sp span {
    width: 100%;
    height: auto;
    display: block;
    margin: 0;
	padding-bottom: 4px;
	filter: drop-shadow(4px 4px 0px rgba(67,184,204,0.5));
}
.top-pic.appr .tp-info_sp {
    transform: translateX(0);
    opacity: 1;
}
.mdW-close {
    width: 60px;
    height: 60px;
    top: 40px;
    right: 40px;
}
.tp-banner {
    margin: 0 0 30px 0;
}
.tp-banner.cpn {
    margin: 30px 0 0 0;
}

.cont-main#story .ct-WDbox {
    width: 80%;
	padding: 70px 50px 50px 50px;
}
.st-pic_wrap {
	height: auto;
	margin: 0;
	position: relative;
	
	display: flex;
    flex-wrap: wrap;
}
.st-pic_wrap span {
	height: auto;
	display: block;
	margin: 30px 0 0 0;
	
	position: inherit;
	box-shadow: none;
	
	transition-duration: 1.2s;
    transform: translateY(40px);
}
.st-pic_wrap span:nth-of-type(1) {
    width: calc((100% / 3) - (30px / 3));
    top: inherit;
	left: inherit;
	margin-right: 15px;
}
.st-pic_wrap span:nth-of-type(2) {
    width: calc((100% / 3) - (30px / 3));
    top: inherit;
	right: inherit;
	margin-right: 15px;
}
.st-pic_wrap span:nth-of-type(3) {
    width: calc((100% / 3) - (30px / 3));
    bottom: inherit;
	left: inherit;
}

.cont-main#original .ct-WDbox {
    width: 60%;
	padding: 70px 70px 50px 70px;
}

}






/* --------- < 850px > --------- */

@media (max-width: 850px) {

.mvtk-mjr {
	margin: 20px 0 0 0;
}
.mvtk-mjr span {
    width: 344px;
}

.ct-title.news {
    height: 40px;
	margin: 0 0 30px 0;
}
.ct-newsIDX {
    width: 80%;
	margin: 0 auto;
}
.news-item article {
    width: 100%;
	margin: 0 0 15px 0;
	padding: 5px 0 5px 40px;
}
.news-item div {
    width: 100%;
	padding: 0 35px 0 40px;
}
.ct-newsDTL {
    width: 80%;
    margin: 0 auto 80px auto;
}

.intro-copy {
    width: 100%;
}
.cast-item {
	margin: 0 auto 80px auto;
}
.cast-item figure {
    width: 100%;
	margin: 0;
}
.cast-item.invert figure { order: 1; }

.cast-item section {
    width: 100%;
	margin: 0;
	padding: 0;
}
.cast-item.invert section { order: 2; padding: 0; }

.cast-item figure span {
    width: 65%;
	margin: 0 auto;
}
.cast-item section h1 {
    width: 70%;
	margin: 0 auto 15px auto;
}
.comment {
	margin: 0 0 20px 0;
}
.comment span {
	margin: 0 auto;
}
.cast2-item .comment span {
	margin: 0;
}
.chara {
    width: 60%;
	margin: -80px 0 20px auto;
}
.cast-item.invert .chara {
    margin: -80px 0 20px auto;
}
.cast-item.invert .chara div  { order: 1; }
.cast-item.invert .chara span { order: 2; }

.chara div h2 {
	font-size: 1.2rem;
}
.chara div p {
	font-size: 0.85rem;
}
.chara2 {
	margin: -30px 0 10px 10%;
}
.chara2 div {
    width: 70%;
	padding: 15px;
}
.chara2 div h2 {
	font-size: 1.1rem;
}
.chara2 div p {
	font-size: 0.8rem;
}

#song .cast-item figure {
	margin: 0 0 20px 0;
}


.br-850 {
    display: inherit;
}
.br-PC {
    display: inherit;
}

}






/* --------- < 720px > --------- */

@media (max-width: 720px) {

.mvtk-wrap section {
	height: 340px;
}

}





/* --------- < 650px > --------- */

@media (max-width: 650px) {

.ct-title {
    height: 40px;
    margin: 0 0 80px 0;
}
.ct-title.news {
    height: 40px;
	margin: 0 0 20px 0;
}

.cont-main#original .ct-WDbox {
    width: 60%;
	padding: 70px 40px 50px 40px;
}

.br-650 {
    display: inherit;
}
.br-PC {
    display: none;
}

}






/* --------- < 500px > --------- */

@media (max-width: 500px) {

.loader {
	width: 120px;
	height: 50px;
}

#MnavBT {
    left: 10px;
}
.hd-sns {
	padding: 0 10px 0 0;
}
.hd-sns div i {
	transform: translateY(0.02em);
}
.Mmenu-wrap {
    margin: 50px 0 0 0;
    padding: 0 0 80px 0;
}
.Mmenu-wrap div span {
    margin: 0 0 12px 0;
	font-size: 1.6rem;
}

.ct-title {
    height: 25px;
    margin: 0 0 40px 0;
}
.ct-title.news {
    height: 25px;
	margin: 0 0 25px 0;
}

.top-PIC_thum {
    width: 55px;
	top: inherit;
	bottom: 12%;
	right: 6px;
}
.top-PIC_thum .tpTHM {
    width: 50px;
	height: 50px;
	margin: 0 0 8px 0;
	border-radius: 5px;
	box-shadow: 3px 3px 0px 0px rgba(236,108,141,0.3);
}

.tp-topic {
    margin: 30px 0 0 0;
    padding: 0 0 30px 0;
}

.top-wrap {
	padding: 0;
}
.topCT {
    width: calc(100% - 60px);
}

ul.tp-list li {
    margin: 0 0 15px 0;
    padding: 0 25px 15px 0;
}
ul.tp-list li:nth-last-of-type(1) {
    margin: 0;
	padding: 0 25px 0 0;
}
ul.tp-list li p.tp-date {
    margin: 0 0 0.7em 0;
    font-size: 0.90rem;
}
ul.tp-list li p.tp-txt {
    font-size: 0.85rem;
}
ul.tp-list li p.tp-txt::after {
    width: 20px;
	right: -25px;
}

.tp-banner.cpn {
    margin: 20px 0 0 0;
}
.tp-banner {
    margin: 0 0 20px 0;
}

.cont-wrap {
    padding: 60px 0 60px 0;
}

.CN-line.LN-bw::before, .CN-line.LN-bw::after,
.CN-line.LN-bw span::before, .CN-line.LN-bw span::after {
	width: 10px;
	height: 10px;
}
.CN-line.LN-bw::before {
    top: -3px;
    left: -3px;
}
.CN-line.LN-bw::after {
    top: -3px;
    right: -3px;
}
.CN-line.LN-bw span::before {
    bottom: -3px;
    left: -3px;
}
.CN-line.LN-bw span::after {
    bottom: -3px;
    right: -3px;
}
.CN-line.LN-bw::before, .CN-line.LN-bw::after,
.CN-line.LN-bw span::before, .CN-line.LN-bw span::after {
    border-right: 3px solid #fff;
	border-bottom: 3px solid #fff;
}

.mvtk-wrap {
	padding: 10px 0 30px 0;
}

.cont-wrap#movie {
    padding: 60px 0 20px 0;
}
.movie-main {
	padding: 0 40px 40px;
}
.movie-main section {
	box-shadow: 5px 5px 0px 0px rgba(183,146,194,0.25);
}
.movie-main section::before, .movie-main section::after {
	height: 18px;
}
.movie-main section article {
    margin: 18px 0 0 0;
}
.movie-main section figure::before {
	width: 50px;
	height: 50px;
}
.mvtxt {
    margin: 15px 0 0 0;
}
.mvtxt p {
	padding: 0.5em 2em;
	font-size: 0.8rem;
}
.movie-main .swiper_MV {
	padding: 0 5px 0 0;
}
.MVpgn > .swiper-pagination-bullet {
	width: 12px;
	height: 12px;
    margin: 0 4px !important;
}
.MV-prev, .MV-next {
    width: 20px;
    height: 36px;
	margin-top: -60px;
}
.MV-prev { left:  10px; }
.MV-next { right: 10px; }

.MV-prev i, .MV-next i {
	font-size: 1.6rem;
	filter: drop-shadow(0px 3px 0px #b792c2);
}
.MV-prev:hover i, .MV-next:hover i {
    transform: translateY(2px);
}

.cont-main#intro {
    padding: 60px 0 30px 0;
}
.cont-main#story {
    padding: 60px 0 30px 0;
}
.ct-WDbox, .cont-main#story .ct-WDbox, .cont-main#original .ct-WDbox {
    width: calc(100% - 40px);
	padding: 49px 20px 25px;
}
.ct-WDbox::before, .ct-WDbox::after {
	height: 24px;
}
.ct-WDbox.pnk::after, .ct-WDbox.blu::after {
	background-position: right 15px center;
}
.ct-WDbox.pnk {
	box-shadow: 8px 8px 0px 0px rgba(236,108,141,0.15);
}
.cont-main#intro .ct-WDbox {
    width: calc(100% - 40px);
	padding: 44px 20px 0;
}
.ct-WDbox.blu {
	box-shadow: 8px 8px 0px 0px rgba(67,184,204,0.15);
}
.intro-ps {
    width: 100%;
	margin: 10px auto -12.8% auto;
	position: inherit;
	top: inherit;
	right: inherit;
	
	filter: drop-shadow(3px 0px 0px rgba(236,108,141,0.3));
}
.intro-copy {
    width: 100%;
	margin: 0 auto 20px auto;
}
.ct-WDbox p {
	font-size: 0.85rem;
	letter-spacing: 0.05em;
	line-height: 1.9em;
}

#intro .ct-WDbox {
    transform: translateX(100px);
	overflow: hidden;
}
#story .ct-WDbox {
    transform: translateX(-100px);
}

.st-pic_wrap span:nth-of-type(1) {
    width: 100%;
	margin: 20px 0 0 0;
	border-bottom: none;
}
.st-pic_wrap span:nth-of-type(2) {
    width: 100%;
	margin: 0;
	border-bottom: none;
}
.st-pic_wrap span:nth-of-type(3) {
    width: 100%;
	margin: 0;
}
.itv span {
	height: 100px;
}
#story .itv {
    margin: 30px 0 0 0;
}
#story .itv span {
	box-shadow: 0px 8px 0px 0px rgba(67,184,204,0.15);
    animation: 25.0s itvL_sp linear infinite;
}

.cont-wrap#cast_staff::after {
	background-size: 60px auto;
}
.cont-main#cast1 {
    padding: 60px 0 0 0;
}
.cont-main#cast2 {
    padding: 60px 0 0 0;
}

.cast-item {
    width: calc(100% - 40px);
	margin: 0 auto 50px auto;
}
.cast-item figure span {
    width: 100%;
	margin: 0 auto;
}
.cast-item figure span, .cast2-item figure span {
	box-shadow: 8px 8px 0px 0px rgba(0,0,0,0.05);
}
.cast-item figure, .cast-item.invert figure {
    transform: translateX(100px);
	opacity: 0;
}
.cast-item.appr figure {
    transform: translateX(0);
    opacity: 1;
}
.cast-item section h1 {
    width: 100%;
	margin: 0 auto 15px auto;
}
.cast-item section h1, .cast-item section > p {
    transform: translateY(50px);
}
.chara {
    width: 85%;
	margin: -40px 10px 20px auto;
}
.chara div {
	padding: 14px;
	border-radius: 10px;
	filter: drop-shadow(8px 8px 0px rgba(0,0,0,0.05));
}
.chara div::after, .chara2 div::after {
	width: calc(100% - 6px);
	height: calc(100% - 6px);
	top: 3px;
	left: 3px;
	border-radius: 6px;
}
.chara span {
	padding-right: 5px;
	filter: drop-shadow(5px 5px 1px rgba(0,0,0,0.08));
}
.cast-item.invert .chara {
    margin: -40px 10px 20px auto;
}
.cast-item .chara div  { order: 2; }
.cast-item .chara span { order: 1; }
.cast-item.invert .chara div  { order: 2; }
.cast-item.invert .chara span { order: 1; }

.chara div h2, .chara2 div h2 {
	font-size: 1.1rem;
}
.chara div p, .chara2 div p {
	font-size: 0.75rem;
}
.chara, .cast-item.invert .chara {
    transform: translateX(-100px);
}
.cast-item.appr .chara {
    transform: translateX(0);
}

.cast2-wrap {
     width: calc(100% - 40px);
	 margin: 0 auto;
}
.cast2-item {
    width: 100%;
	margin-bottom: 50px;
}
.cast2-item:nth-of-type(odd), .cast2-item:nth-of-type(even) { 
    padding: 0;
}
.cast2-item:nth-last-of-type(-n+2) {
    margin-bottom: 50px;
}
.cast2-item:nth-last-of-type(1) {
    margin-bottom: 0;
}
.chara2 {
    width: 85%;
	margin: -40px 10px 20px auto;
}
.chara2 div {
    width: 80%;
	padding: 14px;
	border-radius: 10px;
	filter: drop-shadow(8px 8px 0px rgba(0,0,0,0.05));
}
.cast2-item > h1 {
    width: 100%;
	margin: 0 0 15px 0;
}
.cast-item section > p, .cast2-item > p {
	font-size: 0.8rem;
}
.comment {
	margin: 0 0 15px 0;
}
.comment span {
    width: 120px;
	height: 25px;
	
	margin: 0;
}
.comment span p {
	font-size: 0.85rem;
}
.comment span p::before {
    margin: -0.45em 0 0 0;
}

.cont-main#staff {
    padding: 60px 0 20px 0;
}
.staff-main {
    width: calc(100% - 40px);
	margin: 0 auto;
}
.staff-main section {
	margin: 0 0 20px 0;
    justify-content: flex-start;
}
.staff-main section h3 {
	margin: 0 6px 0 0;
	padding: 0 21px 0 0;
	font-size: 0.9rem;
	text-shadow: 0px 2px 0px rgba(255,255,255,1);
}
.staff-main section h3::after {
	margin: -8px 0 0 0;
	width: 16px;
	height: 16px;
	right: 0;
}
.staff-main section h2 {
	font-size: 1.1rem;
	text-shadow: 0px 2px 0px rgba(255,255,255,1);
}
.staff-main .comment {
    width: 100%;
	display: block;
	margin: 10px 0 0 0;
}

#cast_staff .itv {
	padding: 0 0 8px 0;
}
#cast_staff .itv span {
	box-shadow: 0px 8px 0px 0px rgba(236,108,141,0.15);
    animation: 25.0s itvR_sp linear infinite;
}

.cont-main#original {
    padding: 60px 0 20px 0;
}
.org-main figure {
    width: 100%;
	margin: 0 0 20px 0;
}
.org-main h1 {
    width: 85%;
	margin: 0 0 20px 0;
}
.org-main h2 {
	margin: 0 0 15px 0;
	font-size: 1.2rem;
}
.org-main > p {
	margin: 0 0 20px 0;
	font-size: 0.85rem;
}
.org-main > p.org-cp {
	margin: 20px 0 0 0;
	font-size: 0.85rem;
}
.org-main .comment {
    margin: 0 0 20px 0;
}

.lnkBT {
	margin: 0 0 15px 0;
}
.lnkBT span {
    width: 100%;
	padding: 0.5em 0 0.6em 0;
	font-size: 0.85rem;
}

.mdW-cmt {
    padding: 20px;
}
.mdW-cmt::after {
	background-size: 400px auto;
}
.mdW-cmt h1 {
    height: auto;
    margin: 0 0 15px 0;
	padding: 0 0 19px 0;
}
.mdW-cmt h1 img {
    width: 100%;
	height: auto;
}
.mdW-cmt p {
	font-size: 0.8rem;
}


footer section article {
    width: 120px;
    margin: 0 auto 20px auto;
}
footer h2 {
    font-size: 1.0rem;
}
footer h3 {
	font-size: 0.85rem;
}
footer h3 b {
    font-size: 0.7em;
}
footer section p {
    font-size: 0.7rem;
    line-height: 1.5em;
}
footer section p b {
    display: inline-block;
    font-size: 0.75em;
	line-height: 1.5em;
}

.ft-sns span {
	margin: 0.6em 0.5em;
	
	font-size: 1.3rem;
}



.ct-newsIDX {
    width: calc(100% - 60px);
}
.news-item {
	margin: 0 0 15px 0;
	padding: 0 0 15px 0;
}
.news-item div {
	padding: 0 20px 0 30px;
}
.news-item div::after {
	width: 8px;
}
.news-item article {
	margin: 0 0 10px 0;
	padding: 5px 0 5px 30px;
}
.news-item article::before {
	width: 20px;
}
.news-item h1 {
	font-size: 1.1rem;
}
.news-item h2 {
	font-size: 0.85rem;
	line-height: 1.6em;
}

.ct-newsDTL {
    width: calc(100% - 40px);
    margin: 0 auto 40px auto;
	
	padding: 20px 20px 40px 20px;
}
.ct-newsDTL article {
	margin: 0 0 15px 0;
	padding: 0 0 15px 0;
}
.ct-newsDTL article h1 {
	font-size: 1.0rem;
}
.ct-newsDTL article h2 {
	font-size: 0.95rem;
}
.news-main {
	font-size: 0.8rem;
}
.nwBT section {
    width: 180px;
    height: 28px;
}
.nwBT section p {
    font-size: 1.1rem;
}


.br-500 {
    display: inherit;
}

}



/* --------- < 400px > --------- */

@media (max-width: 400px) {

.mvtk-mjr {
	margin: 15px 0 0 0;
}
.mvtk-mjr span {
    width: 87%;
}

}










