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


.wrap-PG {
    width: 100%;
    height: auto;
    min-height: 100vh;
    margin: 0;
    /*padding-bottom JS*/
    position: relative;
	overflow: hidden;
    
    display: flex;
    flex-direction: column;
}
.wrap-idPG {
    width: 100%;
    /*height JS*/
	display: block;
    margin: 0;
	overflow: hidden;
	
	position: absolute;
	top: 0;
	left: 0;
	pointer-events: none;
}
.bg-kln {
    width: 25%;
	height: 100%;
	display: block;
	margin: 0;
	background: url("../img/bg-kowloon.png") repeat-y center top;
	background-size: 100% auto;
	position: absolute;
	right: -4%;
	top: 0;
	pointer-events: none;
}
.wrap-idPG .bg-kln {
    top: -15%;
	height: 115%;
}
.area-wrap#newsLST, .area-wrap#music, .area-wrap#onair, .area-wrap#story, .area-wrap#global,
.area-wrap#comment {
    padding: 0 0 150px 0;
}
.area-wrap#blray {
    padding: 0;
}




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

.newsLST-wrap {
    width: 100%;
    height: auto;
    display: block;
    position: relative;
	margin: 0;
	padding: 70px 0;
}
.newsLST-wrap::before, .newsLST-wrap::after,
.newsLST-wrap figure::before, .newsLST-wrap figure::after {
    content: "";
	display: block;
	width: 45px;
	height: 45px;
	margin: 0;
	position: absolute;
	
	will-change: transform, opacity;
    transition: all 1.0s cubic-bezier(0.2, 0.45, 0.4, 1);
	opacity: 0;
}
.newsLST-wrap figure {
    width: 100%;
	height: 100%;
	display: block;
	margin: 0;
	position: absolute;
	top: 0;
	left: 0;
	pointer-events: none;
}
.newsLST-wrap::before {
    top: 0;
    left: 0;
	background: url("../../img/dcM-LT.png") no-repeat center center;
	background-size: 100% auto;
	
	transform: translate(-45px,-45px);
}
.newsLST-wrap::after {
    top: 0;
    right: 0;
	background: url("../../img/dcM-RT.png") no-repeat center center;
	background-size: 100% auto;
	
	transform: translate(45px,-45px);
}
.newsLST-wrap figure::before {
    bottom: 0;
    left: 0;
	background: url("../../img/dcM-LB.png") no-repeat center center;
	background-size: 100% auto;
	
	transform: translate(-45px,45px);
}
.newsLST-wrap figure::after {
    bottom: 0;
    right: 0;
	background: url("../../img/dcM-RB.png") no-repeat center center;
	background-size: 100% auto;
	
	transform: translate(45px,45px);
}
.newsLST-wrap.appr::before, .newsLST-wrap.appr::after,
.newsLST-wrap.appr figure::before, .newsLST-wrap.appr figure::after {
	opacity: 1;
	transform: translate(0,0);
}
.news-item {
    width: 100%;
    height: auto;
    display: block;   
    margin: 0 0 18px 0;
    padding: 0 0 18px 0;
    position: relative;
}
.news-item:nth-last-of-type(1) {
    margin: 0;
}
.news-item i {
    width: 100%;
    height: 3px;
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    background: url( "../img/dot-line_s.png") repeat-x center left;
	background-size: auto 100%;
}
.news-item p {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    
    font-size: 1.2rem;
	font-family: aptly, sans-serif;
    font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1em;
    font-style: normal;
	color: #f05082;
}
.news-item span {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    position: relative;
    pointer-events: none;
}
.news-item span b {
    display: inline-block;
    margin: 0;
    padding: 0.5em 0 0 0;
    pointer-events: auto;
    
    color: #000;
    font-size: 1.0rem;
    line-height: 1.6em;
    letter-spacing: 0.05em;
    font-weight: 400;
    
    will-change: transform;
    transition: all 0.2s ease-out;
}
.news-item span a:hover b {
    transform: translateX(0.3em);
}

.backBT {
    width: 74px;
	height: 74px;
	display: block;
	margin: 0 auto;
	
	will-change: transform, opacity;
    transition: all 1.0s cubic-bezier(0.2, 0.45, 0.4, 1);
	transform: translateY(40px);
	opacity: 0;
}
.backBT.appr {
    transform: translateY(0);
	opacity: 1;
}
.backBT div {
    width: 100%;
	height: 100%;
	display: block;
	margin: 0;
	transform: rotate(45deg);
	border-radius: 2px;
	
	background: #fff;
	border: 2px solid #f05082;
	position: relative;
	
	will-change: transform, box-shadow;
	box-shadow: 5px 5px 0px -2px #f05082;
	transition: all 0.15s ease-out;
}
.backBT div span {
    width: 100%;
	height: 100%;
	display: block;
	margin: 0;
	background: url("../img/backBT.png") no-repeat center center;
	background-size: 100% auto;
	transform: rotate(-45deg) scale(1.5);
	position: absolute;
	top: 0;
	left: 0;
	pointer-events: none;
	
	transition: all 0.15s ease-out;
}
.backBT a:hover div {
	background: #f05082;
	transform: rotate(45deg) translate(3px,3px);
	box-shadow: 0px 0px 0px -2px #f05082;
}
.backBT a:hover div span {
	background: url("../img/backBT_hv.png") no-repeat center center;
	background-size: 100% auto;
}


.news-box {
    width: 100%;
    height: auto;
	display: block;
    margin: 0;
	
	will-change: transform, opacity;
    transition: all 1.6s cubic-bezier(0.2, 0.45, 0.4, 1);
	transform: translateY(80px);
	opacity: 0;
}
.news-box.appr {
    transform: translateY(0);
	opacity: 1;
}
.nw-day {
    width: 100%;
    height: auto;
	display: block;
    margin: 0 0 0.5em 0;
	
	font-size: 1.2rem;
	font-family: aptly, sans-serif;
    font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1em;
    font-style: normal;
	color: #f05082;
}
.news-box h1 {
    width: 100%;
    height: auto;
	display: block;
    margin: 0 0 35px 0;
	padding: 0 0 30px 0;
	position: relative;
	
    color: #000;
    font-size: 1.4rem;
    line-height: 1.6em;
    letter-spacing: 0.05em;
    font-weight: 400;
}
.news-box h1::after {
    content: "";
	display: block;
	margin: 0;
	width: 100%;
    height: 3px;
    position: absolute;
    bottom: 0;
    left: 0;
    background: url( "../img/dot-line_s.png") repeat-x center left;
	background-size: auto 100%;
}
.news-box section {
    width: 100%;
    height: auto;
	display: block;
    margin: 0;
	
	color: #000;
    font-size: 1.0rem;
    line-height: 2.0em;
    letter-spacing: 0.07em;
    font-weight: 400;
}
.news-box img {
    width: min(500px,100%);
    height: auto;
    display: block;
    margin: 1em 0;
	border-radius: 8px;
	overflow: hidden;
	z-index: 1;
}
.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;
}
.news-img {
    width: 100%;
	height: auto;
	margin: 1em 0;
	
	display: flex;
    flex-wrap: wrap;
}
.news-img img {
    width: calc(50% - 7px);
    height: auto;
    display: block;
    margin: 0 14px 14px 0;
	border-radius: 8px;
	overflow: hidden;
	box-sizing: border-box;
	z-index: 1;
}
.news-img img:nth-of-type(2n) {
    margin: 0 0 14px 0;
}

.news-box a, .news-box .lnk-off {
    display: inline-block;
    margin: 0 0.1em;
    position: relative;
    
    color: #f05082;
    will-change: transform;
    transition: all 0.2s ease-out;
}
.news-box a::before, .news-box .lnk-off::before {
    content: "";
    display: block;
    margin: 0;
    width: 100%;
    height: 1px;
    background: #f05082;
    position: absolute;
    bottom: 0;
    left: 0;
    
    will-change: transform;
    transition: all 0.2s ease-out;
}
.news-box a:hover, .news-box .lnk-off:hover {
    transform: translateY(2px);
}
.news-box a:hover::before, .news-box .lnk-off:hover::before {
    transform: scaleX(0) translateY(-2px);
}

.news-box strong {
    display: inline;
    font-weight: 500;
}
.news-box .txt-bl { color: #64c8d2; }
.news-box .txt-rd { color: #f05082; }
.news-box b       {
    display: inline-block;
	
    color: #9d8e92;
	font-weight: 400;
	font-size: 0.8em;
	line-height: 2.0em;
}









/* --- M U S I C --- */

.ms-wrap {
    width: 100%;
    height: auto;
    position: relative;
	margin: 0;
	
	display: flex;
    flex-wrap: wrap;
}
.ms-wrap.end {
    margin: 0 0 80px 0;
}
.ms-ctg {
    width: 100%;
	height: auto;
	display: block;
	margin: 0 0 50px 0;
	position: relative;
}
.ms-ctg h1 {
    width: auto;
	height: 60px;
	display: block;
	margin: 0;
	
	will-change: transform, opacity;
    transition: all 1.2s cubic-bezier(0.2, 0.45, 0.4, 1);
	transform: translateY(-40px);
	opacity: 0;
}
.ms-ctg h1 img {
    width: auto;
	height: 100%;
	display: block;
	margin: 0;
}
.ms-ctg article {
    width: 100%;
    height: auto;
    display: block;
	margin: 0;
	position: absolute;
	bottom: -15px;
	left: 0;
	
	font-size: 1.2rem;
	font-family: "Hina Mincho", serif;
    font-weight: 400;
    font-style: normal;
	line-height: 1em;
	letter-spacing: 0;
	
	will-change: transform, opacity;
    transition: all 1.2s cubic-bezier(0.2, 0.45, 0.4, 1);
	transform: translateY(40px);
	opacity: 0;
}
.ms-ctg article b {
    display: inline-block;
	margin: 0 0.3em;
	font-weight: 400;
	background: #fff;
	border-radius: 50%;
	border: 1px solid #000;
	padding: 0.2em;
}
.ms-ctg.appr h1, .ms-ctg.appr article {
    transform: translateY(0);
	opacity: 1;
}
.ms-title {
    width: 100%;
    height: auto;
    display: block;
	margin: 0 0 60px 0;
	text-align: center;
}
.ms-title h2 {
    width: 100%;
    height: auto;
    display: block;
	margin: 0 0 0.3em 0;
	
	font-size: 2.1rem;
	font-family: kaisotai, sans-serif;
    font-weight: 600;
    font-style: normal;
	letter-spacing: 0.05em;
	line-height: 1em;
	color: #000;
	
	will-change: transform, opacity;
    transition: all 1.6s cubic-bezier(0.2, 0.45, 0.4, 1);
	transform: translateX(-80px);
	opacity: 0;
}
.ms-title h2.alf {
    font-size: 2.3rem;
    letter-spacing: 0.12em;
}
.ms-title h3 {
    width: 100%;
    height: auto;
    display: block;
	margin: 0;
	position: relative;
	
	font-size: 2.8rem;
	font-family: kaisotai, sans-serif;
    font-weight: 600;
    font-style: normal;
	letter-spacing: 0.05em;
	line-height: 1em;
	color: #f05082;
	
	will-change: transform, opacity;
    transition: all 1.6s cubic-bezier(0.2, 0.45, 0.4, 1);
	transform: translateX(80px);
	opacity: 0;
}
.ms-title.appr h2, .ms-title.appr h3 {
    transform: translateX(0);
	opacity: 1;
}
.ms-title h3::before, .ms-title h3::after {
	display: inline-block;
	margin: 0;
	
    font-family: "M PLUS 2", sans-serif;
    font-optical-sizing: auto;
    font-weight: 100;
    font-style: normal;
	letter-spacing: 0;
	line-height: 1em;
	color: #000;
}
.ms-title h3::before {
    content: "「";
	margin: 0 0.2em 0 0;
}
.ms-title h3::after {
    content: "」";
	margin: 0 0 0 0.1em;
}
.ms-pic {
    width: 50%;
	height: auto;
	display: block;
	margin: 0;
	position: relative;
	
	will-change: transform, opacity;
    transition: all 2.0s cubic-bezier(0.2, 0.45, 0.4, 1);
	transform: translate(-50px,-50px);
	opacity: 0;
}
.ms-pic figure {
    width: 100%;
	height: auto;
	display: block;
	margin: 0;
	position: relative;
	z-index: 2;
}
.ms-pic span {
    width: 30%;
	height: auto;
	display: block;
	margin: 0;
	background: url("../img/strp.png") repeat top left;
	background-size: 50px auto;
	
	position: absolute;
	top: -15px;
	left: -15px;
	z-index: 1;
}
.ms-pic span::after {
    content: "";
	display: block;
	padding-bottom: 100%;
}
.ms-pic.appr {
    transform: translate(0,0);
	opacity: 1;
}
.ms-cmt {
    width: 50%;
	height: auto;
	display: block;
	margin: 0;
	padding: 0 0 80px 50px;
	position: relative;
}
.ms-cmt::before, .ms-cmt::after {
    content: "";
	display: block;
	margin: 0;
	width: 45px;
	height: 45px;
	position: absolute;
	
	will-change: transform, opacity;
    transition: all 1.2s cubic-bezier(0.2, 0.45, 0.4, 1) 0.6s;
	opacity: 0;
}
.ms-cmt::before {
    background: url("../img/dcS-RT.png") no-repeat right top;
	background-size: contain;
	right: 0;
	top: 0;
	
	transform: translate(40px,-40px);
}
.ms-cmt::after {
    background: url("../img/dcS-LB.png") no-repeat left bottom;
	background-size: contain;
	left: 50px;
	bottom: 0;
	
	transform: translate(-40px,40px);
}
.ms-cmt.appr::before, .ms-cmt.appr::after {
    transform: translate(0,0);
	opacity: 1;
}
.ms-cmt h4 {
    width: 100%;
	height: 60px;
	display: block;
	margin: 0 0 20px 0;
	
	will-change: transform, opacity;
    transition: all 1.6s cubic-bezier(0.2, 0.45, 0.4, 1) 0.1s;
	transform: translateY(60px);
	opacity: 0;
}
.ms-cmt h4 img {
    width: auto;
	height: 100%;
	display: block;
	margin: 0;
}
.ms-cmt p {
    width: 100%;
	height: auto;
	display: block;
	margin: 0;
	
	font-size: 1rem;
    font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2em;
	
	will-change: transform, opacity;
    transition: all 1.6s cubic-bezier(0.2, 0.45, 0.4, 1) 0.3s;
	transform: translateY(80px);
	opacity: 0;
}
.ms-spc {
    width: 100%;
	height: 100px;
	display: block;
	margin: 0;
}
.ms-cmt.appr h4, .ms-cmt.appr p {
    transform: translateY(0);
	opacity: 1;
}






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

.oa-wrap {
    width: 100%;
    height: auto;
	display: block;
    position: relative;
	margin: 0;
	padding: 0 0 80px 0;
	
	font-size: 1.1rem;
	font-weight: 400;
	line-height: 1.8em;
	letter-spacing: 0.05em;
}
.oa-wrap:nth-of-type(1) {
    margin: 0 0 80px 0;
}
.oa-wrap:nth-of-type(1)::after {
    content: "";
	display: block;
	margin: 0;
	width: 100%;
	height: 4px;
	background: url("../img/dot-line_s.png") repeat-x left center;
	background-size: auto 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	
	will-change: transform, opacity;
    transition: all 1.6s cubic-bezier(0.2, 0.45, 0.4, 1);
	transform: translateY(20px);
	opacity: 0;
}
.oa-wrap > p {
    display: inline-block;
	margin: 0;
	
	will-change: transform, opacity;
    transition: all 1.6s cubic-bezier(0.2, 0.45, 0.4, 1) 0.1s;
	transform: translateY(40px);
	opacity: 0;
}
.oa-wrap.appr:nth-of-type(1)::after {
    transform: translateY(0);
	opacity: 1;
}
.oa-wrap > p.appr  {
    transform: translateY(0);
	opacity: 1;
}
.oa-wrap i {
    display: inline-block;
	margin: 1em 0 0 0;
	
    font-size: 0.75em;
	font-weight: 300;
	font-style: normal;
	line-height: 1.6em;
	letter-spacing: 0.04em;
}
.oa-title {
    width: 100%;
    height: auto;
	display: block;
	margin: 0 0 15px 0;
}
.oa-title div {
    width: 100%;
    height: auto;
	
	display: flex;
    flex-wrap: wrap;
	
	margin: 0;
	position: relative;
}
.oa-title h1 {
	display: inline-block;
	margin: 0;
	
	font-size: 3rem;
	font-family: kaisotai, sans-serif;
    font-weight: 600;
    font-style: normal;
	letter-spacing: 0.2em;
	line-height: 1em;
	color: #000;
	z-index: 0;
	
	will-change: transform, opacity;
    transition: all 1.6s cubic-bezier(0.2, 0.45, 0.4, 1);
	transform: translateX(80px);
	opacity: 0;
}
.oa-title span {
	width: auto;
	height: 60px;
	display: inline-block;
	margin: 25px 0 0 -60px;
	pointer-events: none;
	z-index: -1;
	
	will-change: transform, opacity;
    transition: all 1.6s cubic-bezier(0.2, 0.45, 0.4, 1) 0.25s;
	transform: translateX(80px);
	opacity: 0;
}
.oa-title span img {
    width: auto;
	height: 100%;
	display: block;
	margin: 0;
}
.oa-title.appr h1, .oa-title.appr span {
    transform: translateX(0);
	opacity: 1;
}
.oa-ctg {
    width: 100%;
    height: auto;
    display: block;
	margin: 50px 0 20px 0;
	
	font-size: 1.32rem;
	font-family: "Hina Mincho", serif;
    font-weight: 400;
    font-style: normal;
	line-height: 1em;
	letter-spacing: 0;
	
	will-change: transform, opacity;
    transition: all 1.6s cubic-bezier(0.2, 0.45, 0.4, 1) 0.25s;
	transform: translateX(80px);
	opacity: 0;
}
.oa-ctg b {
    display: inline-block;
	margin: 0 0.35em;
	font-weight: 400;
	background: #fff;
	border-radius: 50%;
	border: 1px solid #000;
	padding: 0.2em;
}
.oa-ctg.appr {
    transform: translateX(0);
	opacity: 1;
}
.oaBT-wrap {
    width: 100%;
    height: auto;
	margin: 30px 0 0 0;
	
	display: flex;
    flex-wrap: wrap;
}
.oaBT-wrap section {
    width: 255px;
	height: auto;
	display: block;
	margin: 0 15px 15px 0;
}
.oaBT-wrap section span {
    width: 100%;
	height: 50px;
	margin: 0;
	text-align: center;
	
	display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
	
	background: #fff;
	border: 1px solid #f05082;
	
	will-change: transform;
	transition: all 0.15s ease-in-out;
}
.oaBT-wrap section span p {
    display: inline-block;
	margin: 0;
	
    font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.15em;
	color: #f05082;
	
	transition: all 0.2s ease-in-out;
}
.oaBT-wrap section span p b {
    width: 100%;
	height: auto;
	display: block;
	margin: 0.4em 0 0 0;
	
	font-size: 0.68em;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1em;
}
.oaBT-wrap section a:hover span {
    background: #f05082;
	transform: translateY(2px);
}
.oaBT-wrap section a:hover span p {
    color: #fff;
}
a.txtLnk span {
    display: inline-block;
    margin: 0 0.1em;
    position: relative;
    
    color: #f05082;
	font-weight: 500;
    will-change: transform;
    transition: all 0.2s ease-out;
}
a.txtLnk span::before {
    content: "";
    display: block;
    margin: 0;
    width: 100%;
    height: 1px;
    background: #f05082;
    position: absolute;
    bottom: 0;
    left: 0;
    
    will-change: transform;
    transition: all 0.2s ease-out;
}
a.txtLnk span:hover {
    transform: translateY(2px);
}
a.txtLnk span:hover::before {
    transform: scaleX(0) translateY(-2px);
}

#onair .strp {
    width: 20px;
	height: 20%;
	top: 5%;
	right: 0;
}
#onair .dotL {
    top: 20%;
	right: 15%;
	z-index: -1;
}
#onair .dotM.dl-1 {
    top: 8%;
	left: 230px;
	z-index: -1;
}
#onair .dotM.dl-2 {
    bottom: 15%;
	left: 250px;
	z-index: -1;
}






/* --- G L O B A L --- */

.gl-title {
    width: min(300px,50%);
    height: auto;
	display: block;
	margin: -30px 0 15px 0;
	
	will-change: transform, opacity;
    transition: all 1.3s cubic-bezier(0.2, 0.45, 0.4, 1);
	transform: translateY(50px);
	opacity: 0;
}
.gl-title.appr {
    transform: translateY(0);
	opacity: 1;
}
.gl-wrap {
    width: 100%;
    height: auto;
	display: block;
    position: relative;
	margin: 0;
	padding: 0 0 80px 0;
	
	font-size: 1.1rem;
	font-weight: 400;
	line-height: 1.8em;
	letter-spacing: 0.05em;
}
.gl-wrap p {
    width: 100%;
    height: auto;
	display: block;
	margin: 0;
	
	font-size: 1em;
}
.gl-wrap b {
    width: 100%;
    height: auto;
	display: block;
    position: relative;
	margin: 0;
	
	font-size: 0.8em;
	font-weight: 400;
	line-height: 1.7em;
	letter-spacing: 0.02em;
}
.gl-wrap h2 {
    width: 100%;
	height: auto;
	display: block;
	margin: 60px 0 0 0;
	
	font-size: 2.4rem;
	font-family: aptly, sans-serif;
    font-weight: 400;
    font-style: normal;
	letter-spacing: 0;
	line-height: 1em;
}
.glBT {
    width: 100%;
    height: auto;
    position: relative;
	margin: 40px 0 40px 0;
	padding: 0 0 40px 0;
	
	display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
.glBT::after {
    content: "";
	display: block;
	margin: 0;
	width: 100%;
	height: 4px;
	background: url("../img/dot-line_s.png") repeat-x left center;
	background-size: auto 100%;
	position: absolute;
	bottom: 0;
	left: 0;
}
.glBT div {
	width: min(320px,calc((100% / 2) - 15px));
	height: 62px;
	display: block;
	margin: 0 15px 15px 0;
}
.glBT div span {
    width: 100%;
	height: 100%;
	margin: 0;
	padding: 0 1em;
	
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
	text-align: center;
	
	font-size: 1.1rem;
    font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.2em;
	color: #f05082;
	background: #fff;
	border: 1px solid #f05082;
	
	will-change: transform;
    transition: all 0.15s ease-in-out;
}
.glBT div a:hover span {
    color: #fff;
	background: #f05082;
	transform: translateY(3px);
}
.note {
    width: 100%;
	height: auto;
	display: block;
	margin: 1em 0 0.5em 0;
	
	font-size: 0.8em;
    font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.7em;
}
.gl-wrap h2 {
    will-change: transform, opacity;
    transition: all 1.6s cubic-bezier(0.2, 0.45, 0.4, 1);
	transform: translateX(100px);
	opacity: 0;
}
.gl-wrap p, .gl-wrap b, .glBT {
    will-change: transform, opacity;
    transition: all 1.6s cubic-bezier(0.2, 0.45, 0.4, 1);
	transform: translateY(80px);
	opacity: 0;
}
.gl-wrap h2.appr {
	transform: translateX(0);
	opacity: 1;
}
.gl-wrap p.appr, .gl-wrap b.appr, .glBT.appr {
	transform: translateY(0);
	opacity: 1;
}







/* --- S T O R Y --- */

.str-wrap {
    width: 100%;
    height: auto;
	display: block;
    position: relative;
	margin: 0 0 80px 0;
}
.epsMN-wrap {
    width: 100%;
    height: auto;
    margin: 0 auto -30px auto;
	position: relative;
    
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
	z-index: 1;
}
.epsMN-wrap div {
    width: 60px;
	height: 60px;
    margin: 0 -19px;
}
.epsMN-wrap div:nth-of-type(even) {
    margin: 41px 0 0 0;
}
.epsMN-wrap div span {
    width: 100%;
    height: 100%;
    margin: 0;
    position: relative;
	
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}
.epsMN-wrap div span::after {
    content: "";
	display: block;
	width: 100%;
    height: 100%;
	margin: 0;
	transform: rotate(45deg);
	background: #fff;
	border: 2px solid #f05082;
	position: absolute;
	top: 0;
	left: 0;
	box-sizing: border-box;
	pointer-events: none;
	z-index: -1;
	
	transition: all 0.25s ease-in-out;
}
.epsMN-wrap div span p {
    display: inline-block;
    margin: 0;
    position: relative;
	
    font-size: 1.8rem;
	font-family: "Hina Mincho", serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: -0.05em;
    line-height: 1em;
	color: #f05082;
	
	transition: all 0.25s ease-in-out;
}
.epsMN-wrap div span p::before, .epsMN-wrap div span p::after {
    display: inline-block;
	font-size: 0.85rem;
	transform: translateY(-0.25em);
}
.epsMN-wrap div span p::before {
    content: "第";
	margin: 0 0.25em 0 0;
}
.epsMN-wrap div span p::after {
    content: "話";
	margin: 0 0 0 0.25em;
}
.epsMN-wrap div a.current span::after {
    background: #f05082;
    color: #fff;
}
.epsMN-wrap div a.current span p {
    color: #fff;
}
.epsMN-wrap div a:hover span::after {
    background: #f05082;
    color: #fff;
}
.epsMN-wrap div a:hover p {
    color: #fff;
}

.str-pic {
    width: 100%;
    height: auto;
    display: block;
    margin: 0;
	position: relative;
	z-index: 0;
	
	will-change: transform, opacity;
    transition: all 1.6s cubic-bezier(0.2, 0.45, 0.4, 1);
	transform: translateY(100px);
	opacity: 0;
}
.str-pic::before {
    content: "";
    display: block;
    margin: 0;
    width: 30px;
    height: 40%;
    background: url("../img/strp.png") repeat top left;
	background-size: 50px auto;
    position: absolute;
    left: -30px;
	top: 0;
	
	will-change: transform, opacity;
    transition: all 1.6s cubic-bezier(0.2, 0.45, 0.4, 1);
	transform: translateY(50px);
	opacity: 0;
}
.str-pic.appr, .str-pic.appr::before {
    transform: translateY(0);
	opacity: 1;
}
.swiper_ST {
	position: relative;
	overflow: hidden;
}
.swiper_ST .swiper-slide {
    overflow: hidden;
}
.swiper_ST .swiper-slide::before, .swiper_ST .swiper-slide::after {
    content: "";
	display: block;
	margin: 0;
	width: 50px;
	height: 50px;
	position: absolute;
}
.swiper_ST .swiper-slide::before {
    top: 10px;
	right: 10px;
	background: url("../img/dcM-RT_wt.png") no-repeat left top;
	background-size: 100% auto;
}
.swiper_ST .swiper-slide::after {
    bottom: 10px;
	left: 10px;
	background: url("../img/dcM-LB_wt.png") no-repeat left top;
	background-size: 100% auto;
}

.slider-thum {
    margin: 15px 0 0 0;
}
.slider-thum .swiper-slide {
    cursor: pointer;
	overflow: hidden;
    position: relative;
	
	transition: all 0.25s ease-in-out;
}
.slider-thum .swiper-slide img {
    box-sizing: border-box;
    overflow: hidden;
    border: 2px solid #fff;
	
	will-change: filter;
    filter: brightness(85%) saturate(30%) sepia(30%);
    transition: all 0.25s ease-in-out;
}
.slider-thum .swiper-slide.swiper-slide-thumb-active img {
    border-color: #f05082;
	filter: brightness(100%) saturate(100%) sepia(0);
}

.str-txt {
    width: 100%;
    height: auto;
	display: block;
	margin: 30px 0 0 0;
}
.str-title {
    width: 100%;
    height: auto;
	margin: 0;
	
	display: flex;
    flex-wrap: wrap;
}
.str-title h1 {
    display: inline-block;
	margin: 0;
	position: relative;
	
	font-size: 4.6rem;
	font-family: kaisotai, sans-serif;
    font-weight: 600;
    font-style: normal;
	letter-spacing: 0;
	line-height: 1em;
	color: #000;
	
	will-change: transform, opacity;
    transition: all 1.6s cubic-bezier(0.2, 0.45, 0.4, 1);
	transform: translateX(50px);
	opacity: 0;
}
.str-title h1::before, .str-title h1::after {
	display: inline-block;
	font-size: 0.6em;
	letter-spacing: 0;
	line-height: 1em;
	transform: translateY(-0.2em);
}
.str-title h1::before {
    content: "第";
	margin: 0 0.25em 0 0;
}
.str-title h1::after {
    content: "話";
	margin: 0 0 0 0.25em;
}
.str-title span {
    width: auto;
	margin: 0 0 0 25px;
	
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;

	font-size: 1.32rem;
	font-family: "Hina Mincho", serif;
    font-weight: 400;
    font-style: normal;
	line-height: 1em;
	letter-spacing: 0;
	
	will-change: transform, opacity;
    transition: all 1.6s cubic-bezier(0.2, 0.45, 0.4, 1) 0.2s;
	transform: translateX(20px);
	opacity: 0;
}
.str-title span b {
    display: inline-block;
	margin: 0 0.35em;
	font-weight: 400;
	background: #fff;
	border-radius: 50%;
	border: 1px solid #000;
	padding: 0.2em;
}
.str-txt.appr .str-title h1, .str-txt.appr .str-title span {
    transform: translateX(0);
	opacity: 1;
}
.str-txt p {
    width: 100%;
	height: auto;
    display: block;
    margin: 10px 0 0 0;
	padding: 0 0 20px 0;
	position: relative;
    
    font-size: 1.15rem;
	font-family: "Hina Mincho", serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.08em;
    line-height: 1.9em;
    color: #000;
	
	will-change: transform, opacity;
    transition: all 1.6s cubic-bezier(0.2, 0.45, 0.4, 1) 0.2s;
	transform: translateY(50px);
	opacity: 0;
}
.str-txt p::before, .str-txt p::after {
    content: "";
	display: block;
	margin: 0;
	width: 45px;
	height: 45px;
	position: absolute;
}
.str-txt p::before {
    background: url("../img/dcS-RT.png") no-repeat right top;
	background-size: contain;
	right: 0;
	top: -45px;
}
.str-txt p::after {
    background: url("../img/dcS-LB.png") no-repeat left bottom;
	background-size: contain;
	left: 0;
	bottom: -45px;
}
.str-txt.appr p {
    transform: translateY(0);
	opacity: 1;
}

#story .strp {
    width: 20px;
	height: 20%;
	bottom: 30%;
	right: 0;
	z-index: -1;
}
#story .dotL {
    top: 40%;
	left: 230px;
	z-index: -1;
}
#story .dotM {
    top: 8%;
	right: 5%;
	z-index: -1;
}








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

.cmt-wrap {
    width: 100%;
    height: auto;
	display: block;
    position: relative;
	margin: 0;
	padding: 0;
	
    column-count: 2;
    column-gap: 0;
}
.cmtBX {
    width: auto;
    height: auto;
	display: block;
    margin: 0;
    padding: 0 40px 80px 40px;
    page-break-inside: avoid;
    break-inside: avoid;
}
.cmtBX section {
    width: 100%;
    height: auto;
	display: block;
	position: relative;
	margin: 0;
	padding: 5px 0 50px 0;
	
	/*border-radius: 6px;
	box-shadow: 2px 2px 6px -1px rgba(0, 0, 0, 0.12);
	background: rgba(255,255,255,0.8);*/
}
.cmtBX section::before, .cmtBX section::after {
    content: "";
	display: block;
	margin: 0;
	width: 30px;
	height: 30px;
	position: absolute;
	
	will-change: transform, opacity;
    transition: all 1.6s cubic-bezier(0.2, 0.45, 0.4, 1);
	opacity: 0;
}
.cmtBX section::before {
    background: url("../comment/img/dcS_bl-RT.png") no-repeat right top;
	background-size: contain;
	top: 0;
	right: 0;
	transform: translateX(40px);
}
.cmtBX section::after {
    background: url("../comment/img/dcS_bl-LB.png") no-repeat right top;
	background-size: contain;
	left: 0;
	bottom: 0;
	transform: translateX(-40px);
}
.cmtBX.appr section::before, .cmtBX.appr section::after {
    transform: translateX(0);
    opacity: 1;
}
.cmtBX section h6 {
    width: 100%;
	height: auto;
	display: block;
	margin: 0 0 1em 0;
	
	font-size: 0.8rem;
	font-family: "Hina Mincho", serif;
    font-weight: 400;
    font-style: normal;
	line-height: 1em;
	letter-spacing: 0.2em;
	
	will-change: transform, opacity;
    transition: all 1.6s cubic-bezier(0.2, 0.45, 0.4, 1);
	transform: translateX(-40px);
	opacity: 0;
}
.cmtBX section h4 {
    width: 100%;
	height: auto;
	display: block;
	margin: 0;
	
	font-size: 1.9rem;
	font-family: kaisotai, sans-serif;
    font-weight: 600;
    font-style: normal;
	line-height: 1em;
	letter-spacing: 0.12em;
	
	will-change: transform, opacity;
    transition: all 1.6s cubic-bezier(0.2, 0.45, 0.4, 1);
	transform: translateX(40px);
	opacity: 0;
}
.cmtBX section h4 b {
	display: inline-block;
	margin: 0 0.5em 0 0; 
	
	font-size: 0.8em;
}
.cmtBX.appr section h6, .cmtBX.appr section h4 {
    transform: translateX(0);
	opacity: 1;
}

.cmtBX section p {
    width: 100%;
	height: auto;
	display: block;
	margin: 0;
	
	font-size: 0.9rem;
    font-weight: 400;
	letter-spacing: 0.06em;
	line-height: 1.9em;
	
	will-change: transform, opacity;
    transition: all 1.6s cubic-bezier(0.2, 0.45, 0.4, 1) 0.2s;
	transform: translateY(50px);
	opacity: 0;
}
.cmt-line {
    width: 100%;
	height: 50px;
	display: block;
	position: relative;
	margin: 4px 0 2px 0;
	
	will-change: transform, opacity;
    transition: all 1.6s cubic-bezier(0.2, 0.45, 0.4, 1);
	transform: translateY(50px);
	opacity: 0;
}
.cmt-line::before {
    content: "";
	display: block;
	width: 90px;
	height: 100%;
	background: url("../comment/img/txt-cmt.png") no-repeat left center;
	background-size: 100% auto;
	position: absolute;
	left: 0;
	top: 0;
}
.cmt-line::after {
    content: "";
	display: block;
	width: calc(100% - 100px);
	height: 100%;
	background: url("../comment/img/dot-line_sB.png") repeat-x right center;
	background-size: auto 3px;
	position: absolute;
	right: 0;
	top: 0;
}
.cmtBX.appr .cmt-line, .cmtBX.appr section p {
    transform: translateY(0);
	opacity: 1;
}

#comment .strp.sr-1 {
    width: 20px;
	height: 15%;
	top: 18%;
	right: 0;
}
#comment .strp.sr-2 {
    width: 20px;
	height: 10%;
	bottom: 15%;
	right: 0;
}
#comment .dotL.dl-1 {
    top: 0%;
	right: 5%;
	z-index: -1;
}
#comment .dotL.dl-2 {
    bottom: 30%;
	right: 5%;
	z-index: -1;
}
#comment .dotM.dl-1 {
    top: 10%;
	left: 230px;
	z-index: -1;
}
#comment .dotM.dl-2 {
    top: 50%;
	left: 52%;
	z-index: -1;
}








/* ---  B L U - R A Y  --- */

.blr_BT-wrap {
    width: 100%;
    height: auto;
	margin: 0;
	
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.blr_BT-wrap h1 {
    width: 100%;
    height: auto;
	display: block;
	margin: 0 0 40px 0;
	text-align: center;
	
	font-size: 1.6rem;
	font-family: "Hina Mincho", serif;
    font-weight: 400;
    font-style: normal;
	letter-spacing: 0.05em;
	line-height: 1.7em;
	
	will-change: transform, opacity;
    transition: all 1.6s cubic-bezier(0.2, 0.45, 0.4, 1);
	transform: translateY(80px);
	opacity: 0;
}
.blr_BT-wrap div {
    width: calc((100% / 3) - 20px);
	max-width: 350px;
    height: auto;
	display: block;
	margin: 0 10px;
	
	will-change: transform, opacity;
    transition: all 1.2s cubic-bezier(0.2, 0.45, 0.4, 1);
	transform: translateY(40px);
	opacity: 0;
}
.blr_BT-wrap div:nth-of-type(1) { transition-delay: 0.15s; }
.blr_BT-wrap div:nth-of-type(2) { transition-delay: 0.30s; }
.blr_BT-wrap div:nth-of-type(3) { transition-delay: 0.45s; }

.blr_BT-wrap div span {
    width: 100%;
	height: auto;
	min-height: 70px;
	margin: 0;
	padding: 8px;
	text-align: center;
	
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
	align-content: center;
	
	background: #fff;
	border: 1px solid #f05082;
	color: #f05082;
	
	will-change: transform;
	transition: all 0.2s ease-in-out;
}
.blr_BT-wrap div a:hover span {
    transform: translateY(3px);
    background: #f05082;
	color: #fff;
}
.blr_BT-wrap div span h4 {
    width: 100%;
	height: auto;
	display: block;
	margin: 0 0 0.3em 0;
	
	font-size: 1.3rem;
	font-family: aptly, sans-serif;
    font-weight: 500;
    font-style: normal;
	letter-spacing: 0.02em;
	line-height: 1em;
}
.blr_BT-wrap div span p {
    width: 100%;
	height: auto;
	display: block;
	margin: 0;
	
	font-size: 0.85rem;
	font-family: kaisotai, sans-serif;
    font-weight: 600;
    font-style: normal;
	letter-spacing: 0.06em;
	line-height: 1.3em;
}
.blr_BT-wrap div span h5 {
    width: 100%;
	height: auto;
	display: block;
	margin: 0;
	
	font-size: 1.5rem;
	font-family: kaisotai, sans-serif;
    font-weight: 600;
    font-style: normal;
	letter-spacing: 0.1em;
	line-height: 1em;
}
.blr_BT-wrap.appr h1, .blr_BT-wrap.appr div {
    transform: translateY(0);
	opacity: 1;
}

.blr-wrap {
    width: 100%;
    height: auto;
	margin: 0;
	padding: 100px 0 80px 0;
	position: relative;
	
	display: flex;
    flex-wrap: wrap;
	justify-content: center;
}
.blr-wrap::after {
    content: "";
	display: block;
	margin: 0;
	width: 100%;
	height: 4px;
	background: url("../img/dot-line.png") repeat-x left center;
	background-size: auto 100%;
	
	position: absolute;
	bottom: 0;
	left: 0;
}
.blr-wrap.lst {
    margin: 0 0 80px 0;
	padding: 100px 0 0 0;
}
.blr-wrap.lst::after {
    display: none;
}
.blr-title {
    width: 100%;
    height: auto;
	margin: 0 0 70px 0;
	position: relative;
	
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
	align-items: center;
}
.blr-title.tlno::after {
    display: none;
}
.blr-title::after {
    content: "";
	display: block;
	width: 300px;
	height: 45px;
	margin: 0 0 0 -150px; 
 	background: url("../blu-ray/img/txtlogo.png") no-repeat center center;
	background-size: contain;
	position: absolute;
	bottom: -37px;
	left: 50%;
	z-index: -1;
	
	will-change: transform, opacity;
    transition: all 1.6s cubic-bezier(0.2, 0.45, 0.4, 1);
	transform: translateX(80px);
	opacity: 0;
}
.blr-title h4 {
	display: inline-block;
	margin: 0;
	
	font-size: 2.2rem;
	font-family: aptly, sans-serif;
    font-weight: 500;
    font-style: normal;
	letter-spacing: 0.03em;
	line-height: 1em;
}
.blr-title p {
    display: inline-block;
	margin: 0 0 0 0.5em;
	
	font-size: 1.2rem;
	font-family: kaisotai, sans-serif;
    font-weight: 600;
    font-style: normal;
	letter-spacing: 0.04em;
	line-height: 1em;
}
.blr-title h5 {
    display: inline-block;
	margin: 0;
	
	font-size: 2.2rem;
	font-family: kaisotai, sans-serif;
    font-weight: 600;
    font-style: normal;
	letter-spacing: 0.1em;
	line-height: 1em;
}
.blr-title h4, .blr-title p, .blr-title h5 {
    will-change: transform, opacity;
    transition: all 1.6s cubic-bezier(0.2, 0.45, 0.4, 1);
	transform: translateX(-80px);
	opacity: 0;
}
.blr-title.appr::after, .blr-title.appr h4, .blr-title.appr p, .blr-title.appr h5 {
	transform: translateX(0);
	opacity: 1;
}

.blr_pic-wrap {
    width: min(600px,50%);
	height: auto;
	display: block;
	margin: 0;
	position: relative;
}
.blr_pic-wrap article {
    width: 100%;
	height: auto;
	display: block;
	margin: 0;

	position: sticky;
    top: 100px;
    left: 0;
	
	will-change: transform, opacity;
    transition: all 2.0s cubic-bezier(0.2, 0.45, 0.4, 1);
	transform: translate(-50px,-50px);
	opacity: 0;
}
.blr_pic-wrap article span {
    width: 30%;
	height: auto;
	display: block;
	margin: 0;
	background: url("../img/strp.png") repeat top left;
	background-size: 50px auto;
	
	position: absolute;
	top: -15px;
	left: -15px;
	z-index: -1;
}
.blr_pic-wrap article span::after {
    content: "";
	display: block;
	padding-bottom: 100%;
}
.blr_pic-wrap.appr article {
    transform: translate(0,0);
	opacity: 1;
}


.blr-pic {
    width: 100%;
	height: auto;
	display: block;
	margin: 0;
	position: relative;
	background: #fff;
	overflow: hidden;
}
.blr-pic::after {
    content: "";
	display: block;
	padding-bottom: 100%;
}
.blr-pic div {
    width: 100%;
	height: auto;
	display: block;
	margin: 0;
	position: absolute;
	top: 0;
	left: 0;
	
	will-change: opacity;
	opacity: 0;
	transition: all 0.2s ease-in-out;
}
.blr-pic div.appr {
    opacity: 1;
}

.blr-thum {
    width: 100%;
	height: auto;
	margin: 12px 0 0 0;
	
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.blr-thum div {
    width: calc((100% / 5) - 10px);
	height: auto;
	display: block;
	margin: 0 12px 0 0;
	background: #fff;
	overflow: hidden;
	border-radius: 3px;
	border: 1px solid #f05082;
	cursor: pointer;
}
.blr-thum div:nth-last-of-type(1) {
    margin: 0;
}
.blr-thum div img {
	will-change: opacity;
	opacity: 0.5;
	transition: all 0.2s ease-in-out;
}
.blr-thum div.appr img {
    opacity: 1;
}

.blr_detail-wrap {
    width: 50%;
	height: auto;
	display: block;
	position: relative;
	margin: 0;
	padding: 0 0 0 5%;
	
	font-size: 0.95rem;
	font-weight: 400;
	line-height: 1.8em;
	letter-spacing: 0.05em;
	
	will-change: transform, opacity;
    transition: all 1.6s cubic-bezier(0.2, 0.45, 0.4, 1);
	transform: translateY(80px);
	opacity: 0;
}
.blr_detail-wrap.appr {
    transform: translateY(0);
	opacity: 1;
}

.ctgtxt {
    width: 100%;
	height: auto;
    display: block;
	margin: 0 0 0.3em 0;
	
	font-size: 0.95em;
	font-family: "Hina Mincho", serif;
    font-weight: 400;
    font-style: normal;
	line-height: 1em;
	letter-spacing: 0;
	color: #333;
}
.ctgtxt b {
    display: inline-block;
	margin: 0 0.5em 0 0;
	padding: 0.2em;
	
	border-radius: 50%;
	background: #fff;
	border: 1px solid #555;
    font-weight: 400;
}
.ctgtxt b:nth-last-of-type(1) {
    margin: 0;
}
.blr_detail-wrap p {
    width: 100%;
	height: auto;
    display: block;
	margin: 0 0 1em 0;
	
	font-size: 1em;
}
.blr_detail-wrap p.str {
	margin: 0 0 2em 0;
	
	font-size: 1.18em;
	font-family: "Hina Mincho", serif;
    font-weight: 400;
    font-style: normal;
}
.blr_detail-wrap p b, .blr_detail-wrap li b {
    display: inline-block;
	margin: 0;
	font-size: 0.9em;
	font-weight: 300;
	line-height: 1.7em;
}
.blr_detail-wrap p > span.pnk {
    color: #f05082;
}
.blr_detail-wrap ul {
	margin: -0.5em 0 1em 0;
	font-size: 0.9em;
	line-height: 1.7em;
}
.blr_detail-wrap li {
    list-style: none;
	position: relative;
	margin: 0 0 0.2em 0;
}
.blr_detail-wrap li::before {
    content: "";
	display: inline-block;
	margin: 0;
	width: 0.4em;
	height: 0.4em;
	border: 1px solid #f05082;
	border-radius: 50%;
	position: absolute;
	left: -1.4em;
	top: 0.7em;
}
.blr_detail-wrap p img, .blr_detail-wrap li img {
    max-width: 400px;
    display: inline-block;
	margin: 0.5em 0 0.5em 0;
	border-radius: 5px;
	border: 1px solid #f05082;
}

.blr_card-wrap {
    width: min(350px,35%);
	height: auto;
	display: block;
	margin: 0;
	position: relative;
}
.blr_detail-wrap.crd {
    width: 65%;
	padding: 0 0 0 5%;
}
.blr_card-wrap article {
    width: 100%;
	height: auto;
	display: block;
	margin: 0;

	position: sticky;
    top: 100px;
    left: 0;
	
	will-change: transform, opacity;
    transition: all 1.6s cubic-bezier(0.2, 0.45, 0.4, 1);
	transform: translateX(-80px);
	opacity: 0;
}
.blr_card-wrap.appr article {
    transform: translateX(0);
	opacity: 1;
}
.blr_card-wrap article div {
    width: 100%;
	height: auto;
	display: block;
	margin: 0;
	position: relative;
	border-radius: 8px;
	overflow: hidden;
	
	box-shadow: 1px 1px 6px -1px rgba(0, 0, 0, 0.15);
}
.blr_detail-wrap.crd .ctgtxt {
	margin: 0 0 1.3em 0;
}

.blr_detail-wrap a, .blr_detail-wrap .lnk-off {
    display: inline-block;
    margin: 0;
    position: relative;
    
    color: #f05082;
    will-change: transform;
    transition: all 0.2s ease-out;
}
.blr_detail-wrap a::before, .blr_detail-wrap .lnk-off::before {
    content: "";
    display: block;
    margin: 0;
    width: 100%;
    height: 1px;
    background: #f05082;
    position: absolute;
    bottom: 0;
    left: 0;
    
    will-change: transform;
    transition: all 0.2s ease-out;
}
.blr_detail-wrap a:hover, .blr_detail-wrap .lnk-off:hover {
    transform: translateY(2px);
}
.blr_detail-wrap a:hover::before, .blr_detail-wrap .lnk-off:hover::before {
    transform: scaleX(0) translateY(-2px);
}

.tkt-wrap {
    width: 100%;
	height: auto;
	margin: 0;
	
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.tkt-corp {
    width: min(350px,calc((100% / 2) - 40px));
	height: auto;
	margin: 0 20px 50px 20px;
	display: block;
}
.tkt-corp h3 {
    width: 100%;
	height: auto;
	display: block;
	margin: 0 0 15px 0;
	text-align: center;
	
	font-size: 1.4rem;
	font-family: kaisotai, sans-serif;
    font-weight: 600;
    font-style: normal;
	letter-spacing: 0.05em;
	line-height: 1.4em;
}
.tkt-corp figure {
    width: 100%;
	height: auto;
	display: block;
	margin: 0 0 15px 0;
	
	border-radius: 5px;
	border: 1px solid #f05082;
	overflow: hidden;
}
.tkt-corp p {
    width: 100%;
	height: auto;
	display: block;
	margin: 0 0 15px 0;
	
	font-size: 0.82rem;
    font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 1.8em;
}
.tktBT {
    width: 100%;
	height: auto;
	display: block;
	margin: 0;
}
.tktBT span {
    width: 100%;
	height: 40px;
	margin: 0;
	
	background: #fff;
	border: 1px solid #bbb;
	color: #bbb;
	
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
	
	font-size: 1.2rem;
    font-family: kaisotai, sans-serif;
    font-weight: 600;
    font-style: normal;
	letter-spacing: 0.05em;
	line-height: 1em;
	
	will-change: transform;
	transition: all 0.2s ease-in-out;
}
.tktBT a span {
    border: 1px solid #f05082;
	color: #f05082;
}
.tktBT a:hover span {
    transform: translateY(3px);
    background: #f05082;
	color: #fff;
}
.tkt-txt {
    width: auto;
	height: auto;
	display: block;
	margin: 0;
	
	font-size: 0.8rem;
    font-weight: 300;
	letter-spacing: 0.05em;
	line-height: 1.6em;
	
	will-change: transform, opacity;
    transition: all 1.6s cubic-bezier(0.2, 0.45, 0.4, 1);
	transform: translateY(80px);
	opacity: 0;
}
.tkt-txt.appr {
    transform: translateY(0);
	opacity: 1;
}
.tkt-txt ul {
	margin: 0;
}
.tkt-txt li {
    list-style: none;
	position: relative;
	margin: 0 0 0.3em 0;
}
.tkt-txt li::before {
    content: "※";
	display: inline-block;
	margin: 0;
	position: absolute;
	left: -1.4em;
	top: 0;
}







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

footer.pg-ft {
    position: absolute;
    bottom: 0;
    left: 0;
}
footer.pg-ft.nml {
    position: relative;
}
.ft-DC {
    width: calc(100% - 12px);
    height: 100px;
	display: block;
	margin: 0 auto;
	position: absolute;
	top: calc((100px + 6px) * -1);
	left: 6px;
	pointer-events: none;
}
.ft-DC::before, .ft-DC::after {
    content: "";
	display: block;
	margin: 0;
	width: 100px;
	height: 100px;
	position: absolute;
	bottom: 0;
}
.ft-DC::after {
    left: 0;
	background: url("../img/dcL-LB.png") no-repeat center center;
	background-size: contain;
}
.ft-DC::before {
    right: 0;
	background: url("../img/dcL-RB.png") no-repeat center center;
	background-size: contain;
}
.ft-DC span {
    width: calc(100% - 200px - 40px);
	height: 18px;
	display: block;
	margin: 0;
	background: url("../img/dcft-txt.png") repeat-x center center;
	background-size: auto 100%;
	
	position: absolute;
	left: 120px;
	bottom: 2px;
}











/* --------- < 1100px > --------- */

@media (max-width: 1100px) {

.ft-DC::before, .ft-DC::after {
	width: 60px;
	height: 60px;
}
.ft-DC span {
    width: calc(100% - 120px - 40px);
	height: 15px;
	left: 80px;
	bottom: 0;
}

.ms-ctg {
	margin: 0 0 50px 0;
}
.ms-ctg h1 {
	height: 50px;
}
.ms-ctg article {
	bottom: -12px;
	font-size: 1.05rem;
}
.ms-title {
	margin: 0 0 50px 0;
}
.ms-title h2 {
	font-size: 1.9rem;
}
.ms-title h2.alf {
    font-size: 2.1rem;
}
.ms-title h3 {
	font-size: 2.5rem;
}
.ms-cmt {
	padding: 0 0 65px 40px;
}
.ms-cmt p {
	font-size: 0.9rem;
}
.ms-cmt::before, .ms-cmt::after {
	width: 35px;
	height: 35px;
}
.ms-cmt::after {
	left: 40px;
}
.ms-cmt h4 {
	height: 50px;
	margin: 0 0 15px 0;
}

#onair .strp {
    width: 20px;
	height: 20%;
	top: 10%;
	right: 0;
}
#onair .dotL {
    top: 30%;
	right: 12%;
}
#onair .dotM.dl-1 {
    top: 2%;
	left: inherit;
	right: 5%;
}
#onair .dotM.dl-2 {
    bottom: 8%;
	left: 130px;
}

#story .dotL {
    top: 55%;
	left: 130px;
}
#story .dotM {
    top: 2%;
	right: 12%;
}

.cmtBX {
    padding: 0 20px 50px 20px;
}
#comment .dotM.dl-1 {
	left: 135px;
}

}







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

@media (max-width: 850px) {

.ms-pic {
    width: 100%;
	margin: 0 0 30px 0;
}
.ms-cmt {
    width: 100%;
	margin: 0;
	padding: 0 0 65px 0;
}
.ms-cmt::after {
	left: 0;
}
.ms-spc {
	height: 80px;
}

.oa-wrap {
	font-size: 1.0rem;
}
.oaBT-wrap section {
    width: min(240px,calc(50% - 12px));
	margin: 0 12px 12px 0;
}
.oaBT-wrap section span {
	height: 46px;
}
.oaBT-wrap section span p {
    font-size: 0.9rem;
}

.epsMN-wrap {
    margin: 0 auto -23px auto;
}
.epsMN-wrap div {
    width: 48px;
	height: 48px;
    margin: 0 -16px;
}
.epsMN-wrap div:nth-of-type(even) {
    margin: 32px 0 0 0;
}
.epsMN-wrap div span p {
    font-size: 1.4rem;
}
.epsMN-wrap div span p::before, .epsMN-wrap div span p::after {
	font-size: 0.7rem;
	transform: translateY(-0.28em);
}
.swiper_ST .swiper-slide::before, .swiper_ST .swiper-slide::after {
	width: 40px;
	height: 40px;
}
.swiper_ST .swiper-slide::before {
    top: 8px;
	right: 8px;
}
.swiper_ST .swiper-slide::after {
    bottom: 8px;
	left: 8px;
}

.str-title h1 {
	font-size: 3.8rem;
}
.str-title span {
	margin: 0 0 0 18px;
	font-size: 1.0rem;
}
.str-txt p {
	padding: 0 0 15px 0;
    font-size: 1.0rem;
}
.str-txt p::before, .str-txt p::after {
	width: 35px;
	height: 35px;
}
.str-txt p::before {
	top: -35px;
}
.str-txt p::after {
	bottom: -35px;
}

.glBT div {
	height: 56px;
}
.glBT div span {
	font-size: 0.9rem;
}

.cmt-wrap {
    column-count: inherit;
}
.cmtBX {
    padding: 0 20px 0 0;
	margin: 0 0 70px 0;
}
.cmtBX section {
	padding: 0 0 50px 0;
}
#comment .dotM.dl-2 {
	left: 140px;
}

.blr_BT-wrap h1 {
	font-size: 1.3rem;
	line-height: 1.6em;
}
.blr_BT-wrap div span h4 {
	font-size: 1.1rem;
}
.blr_BT-wrap div span p {
	font-size: 0.7rem;
}
.blr_BT-wrap div span h5 {
	font-size: 1.2rem;
}

.blr-wrap {
	padding: 80px 0 80px 0;
}

.blr-title.tlno {
    margin: 0 0 50px 0;
}
.blr-title p {
    width: 100%;
	height: auto;
    display: block;
	text-align: center;
	margin: 0.3em 0 0 0;
}
.blr_pic-wrap {
    width: 100%;
	margin: 0;
}
.blr_pic-wrap article {
	position: relative;
    top: inherit;
}
.blr_detail-wrap {
    width: 100%;
	margin: 30px 0 0 0;
	padding: 0;
}
.blr_detail-wrap p img, .blr_detail-wrap li img {
    max-width: 90%;
	margin: 0.5em 5%;
}

.blr_card-wrap {
    width: 60%;
	margin: 0 auto;
}
.blr_card-wrap article {
    position: relative;
	top: inherit;
	transform: translateX(80px);
}
.blr_detail-wrap.crd {
    width: 100%;
	margin: 30px 0 0 0;
	padding: 0;
}

}










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

@media (max-width: 650px) {

.area-wrap#newsLST, .area-wrap#music, .area-wrap#onair, .area-wrap#story, .area-wrap#global,
.area-wrap#comment {
    padding: 80px 0 150px 0;
}
.area-wrap#blray {
    padding: 80px 0 100px 0;
	overflow: hidden;
}

.ms-ctg {
	margin: 0 0 45px 0;
	text-align: center;
}
.ms-ctg h1 {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
}
.ms-wrap.end {
    margin: 0 0 40px 0;
}
.oa-title h1 {
    width: 100%;
	display: block;
	text-align: center;
	font-size: 2.2rem;
}
.oa-title span {
    width: 100%;
	text-align: center;
	height: 45px;
	margin: -18px 0 0 120px;
}
.oa-title span img {
	display: inline-block;
}
.oa-ctg {
	text-align: center;
	font-size: 1.12rem;
}
.oa-ctg b {
	margin: 0 0.28em;
}
.oaBT-wrap section {
    width: calc(50% - 6px);
	margin: 0 12px 12px 0;
}
.oaBT-wrap section:nth-of-type(even) {
    margin: 0 0 12px 0;
}

#onair .strp {
    width: 15px;
	height: 15%;
	top: 10%;
	right: 0;
}

.str-pic::before {
    width: 25px;
	background-size: 35px auto;
    left: -25px;
}
#story .strp {
    width: 15px;
	height: 20%;
	bottom: 30%;
}
#story .dotL {
    top: 75%;
	left: inherit;
	right: 20%;
}
#story .dotM {
    top: 8%;
	right: 18%;
}

.gl-title {
	margin: 0 auto 15px;
}
.glBT div {
	width: calc((100% / 2) - 6px);
	margin: 0 12px 12px 0;
}
.glBT div:nth-of-type(even) {
	margin: 0 0 15px 0;
}

.cmtBX {
    padding: 0;
	margin: 0 0 60px 0;
}


}







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

@media (max-width: 500px) {

.area-wrap#newsLST, .area-wrap#music, .area-wrap#onair, .area-wrap#story, .area-wrap#global,
.area-wrap#comment {
    padding: 50px 0 100px 0;
}
.area-wrap#blray {
    padding: 50px 0 20px 0;
}

.newsLST-wrap {
	padding: 52px 0;
}
.newsLST-wrap::before, .newsLST-wrap::after,
.newsLST-wrap figure::before, .newsLST-wrap figure::after {
	width: 32px;
	height: 32px;
}
.news-item p {
    font-size: 1.0rem;
}
.news-item span b {
    font-size: 0.85rem;
}

.backBT {
    width: 50px;
	height: 50px;
}

.ft-DC::before, .ft-DC::after {
	width: 45px;
	height: 45px;
}
.ft-DC span {
    width: calc(100% - 90px - 30px);
	height: 12px;
	left: 60px;
	bottom: 0;
}

.nw-day {
	font-size: 1.08rem;
}
.news-box h1 {
    margin: 0 0 20px 0;
	padding: 0 0 23px 0;
    font-size: 1.1rem;
}
.news-box section {
    font-size: 0.85rem;
    letter-spacing: 0.06em;
}

.ms-ctg {
	margin: 0 0 40px 0;
}
.ms-ctg h1 {
	height: 40px;
}
.ms-ctg article {
	bottom: -12px;
	font-size: 0.8rem;
}
.ms-title {
	margin: 0 0 40px 0;
}
.ms-title h2 {
	font-size: 1.4rem;
}
.ms-title h2.alf {
    font-size: 1.6rem;
}
.ms-title h3 {
	font-size: 1.6rem;
}
.ms-pic {
	margin: 0 0 15px 0;
}
.ms-pic span {
    width: 50%;
	top: -10px;
	left: -10px;
}
.ms-cmt {
	padding: 0 0 50px 0;
}
.ms-cmt p {
	font-size: 0.85rem;
	line-height: 1.8em;
}
.ms-cmt::before, .ms-cmt::after {
	width: 27px;
	height: 27px;
}
.ms-cmt h4 {
	height: 40px;
	margin: 0 0 8px 0;
}
.ms-spc {
	height: 50px;
}
.ms-wrap.end {
    margin: 0 0 20px 0;
}

.oa-wrap {
	padding: 0 0 40px 0;
	font-size: 0.85rem;
}
.oa-wrap:nth-of-type(1) {
    margin: 0 0 40px 0;
}
.oa-wrap:nth-of-type(1)::after {
	height: 3px;
}
.oa-wrap i {
    font-size: 0.8em;
}
.oa-title {
	margin: 0 0 8px 0;
}
.oa-title h1 {
	font-size: 1.8rem;
}
.oa-title span {
	height: 32px;
	margin: -8px 0 0 80px;
}
.oa-ctg {
	margin: 40px 0 15px 0;
	font-size: 0.92rem;
}
.oa-ctg b {
	margin: 0 0.25em;
}
.oaBT-wrap {
	margin: 20px 0 0 0;
}
.oaBT-wrap section {
    width: calc(50% - 5px);
	margin: 0 10px 10px 0;
}
.oaBT-wrap section:nth-of-type(even) {
    margin: 0 0 10px 0;
}

.oaBT-wrap section span {
	height: 40px;
}
.oaBT-wrap section span p {
    font-size: 0.75rem;
}
.oaBT-wrap section span p b {
	margin: 0.4em 0 0 0;
	font-size: 0.72em;
}
#onair .strp {
    width: 10px;
	top: 10%;
}
#onair .dotM.dl-1 {
    top: 1%;
	right: inherit;
	left: 10%;
}
#onair .dotM.dl-2 {
	left: 25%;
}

#story .cont-wrap {
    width: calc(100% - 60px);
}
.str-wrap {
	margin: 0 0 50px 0;
}
.epsMN-wrap {
    margin: 0 auto -15px auto;
}
.epsMN-wrap div {
    width: 32px;
	height: 32px;
    margin: 0 -11px;
}
.epsMN-wrap div:nth-of-type(even) {
    margin: 21px 0 0 0;
}
.epsMN-wrap div span p {
    font-size: 1.13rem;
}
.epsMN-wrap div span p::before, .epsMN-wrap div span p::after {
	font-size: 0.4rem;
	transform: translateY(-0.4em);
}
.str-pic::before {
    width: 15px;
	height: 50%;
	background-size: 30px auto;
    left: -15px;
}
.swiper_ST .swiper-slide::before, .swiper_ST .swiper-slide::after {
	width: 30px;
	height: 30px;
}
.swiper_ST .swiper-slide::before {
    top: 6px;
	right: 6px;
}
.swiper_ST .swiper-slide::after {
    bottom: 6px;
	left: 6px;
}
.slider-thum {
    margin: 8px 0 0 0;
}
.str-txt {
	margin: 20px 0 0 0;
}
.str-title h1 {
	font-size: 2.8rem;
}
.str-title span {
	margin: 0 0 0 12px;
	font-size: 0.85rem;
}
.str-title span b {
	margin: 0 0.25em;
}
.str-txt p {
    margin: 10px 0 0 0;
	padding: 0 0 15px 0;
    font-size: 0.85rem;
}
.str-txt p::before, .str-txt p::after {
	width: 30px;
	height: 30px;
}
.str-txt p::before {
	top: -38px;
}
.str-txt p::after {
	bottom: -30px;
}
#story .strp {
    width: 10px;
}
#story .dotM {
    top: 4%;
	right: inherit;
	left: 18%;
}

#global .cont-wrap {
    width: calc(100% - 60px);
}
.gl-title {
    width: 60%;
	margin: 0 auto 10px;
}
.gl-wrap {
	padding: 0 0 40px 0;
	font-size: 0.85rem;
}
.gl-wrap h2 {
	margin: 30px 0 0 0;
	font-size: 1.7rem;
}
.glBT {
	margin: 20px 0 20px 0;
	padding: 0 0 20px 0;
}
.glBT div {
	width: calc((100% / 2) - 5px);
	margin: 0 10px 10px 0;
}
.glBT div:nth-of-type(even) {
	margin: 0 0 10px 0;
}
.glBT div span {
	font-size: 0.8rem;
}
.note {
	margin: 0.5em 0 0.5em 0;
}

.cmtBX section::before, .cmtBX section::after {
	width: 26px;
	height: 26px;
}
.cmtBX {
	margin: 0 0 40px 0;
}
.cmtBX section {
	padding: 0 0 40px 0;
}
.cmtBX section h6 {
	margin: 0 0 0.8em 0;
	font-size: 0.75rem;
}
.cmtBX section h4 {
	font-size: 1.5rem;
}
.cmtBX section p {
	font-size: 0.78rem;
}
.cmt-line {
	height: 40px;
	margin: 5px 0 6px 0;
}
.cmt-line::before {
	width: 80px;
}
.cmt-line::after {
	width: calc(100% - 85px);
}

#comment .strp.sr-1 {
    width: 10px;
	height: 18%;
	top: 10%;
}
#comment .strp.sr-2 {
    width: 10px;
	height: 10%;
	bottom: 15%;
}
#comment .dotL.dl-1 {
    top: -100px;
	right: inherit;
	left: 10%;
}
#comment .dotL.dl-2 {
    bottom: 35%;
	right: 4%;
}
#comment .dotM.dl-1 {
	left: 60%;
}
#comment .dotM.dl-2 {
    top: 50%;
	left: 8px;
}

.blr_BT-wrap div {
    width: calc((100% / 3) - 4px);
	margin: 0 5px 0 0;
}
.blr_BT-wrap div:nth-last-of-type(1) {
    margin: 0;
}

.blr_BT-wrap h1 {
	font-size: 1.0rem;
	line-height: 1.5em;
	margin: 0 0 30px 0;
}
.blr_BT-wrap div span {
	padding: 5px;
}
.blr_BT-wrap div span h4 {
	font-size: 0.9rem;
}
.blr_BT-wrap div span p {
	font-size: 0.65rem;
}
.blr_BT-wrap div span h5 {
	font-size: 1.1rem;
}
.blr-wrap {
	padding: 50px 0 50px 0;
}

.blr-title {
	margin: 0 0 70px 0;
}
.blr-title::after {
	width: 220px;
	height: 30px;
	margin: 0 0 0 -110px; 
	bottom: -28px;
}
.blr-title h4 {
	font-size: 1.5rem;
}
.blr-title p {
    margin: 0.3em 0 0 0;
	letter-spacing: 0.03em;
	font-size: 1.0rem;
}
.blr-title h5 {
	font-size: 1.5rem;
}
.blr_pic-wrap article span {
    width: 50%;
	top: -10px;
	left: -10px;
}
.blr-thum {
	margin: 10px 0 0 0;
}
.blr-thum div {
    width: calc((100% / 5) - 8px);
	margin: 0 10px 0 0;
}
.blr_detail-wrap {
	margin: 20px 0 0 0;
	
	font-size: 0.85rem;
	letter-spacing: 0.05em;
}
.blr-title.tlno {
    margin: 0 0 30px 0;
}
.blr_detail-wrap p.str {
	margin: 0 0 2em 0;
	font-size: 1.0em;
}
.blr_detail-wrap.crd {
	margin: 15px 0 0 0;
}

.blr-wrap.lst {
    margin: 0 0 50px 0;
	padding: 50px 0 0 0;
}
.tkt-corp {
    width: 90%;
	margin: 0 auto 30px auto;
}
.tkt-corp h3 {
	margin: 0 0 10px 0;
	font-size: 1.2rem;
}
.tkt-corp figure {
	margin: 0 0 10px 0;
}
.tkt-corp p {
	margin: 0 0 10px 0;
	font-size: 0.75rem;
}
.tktBT span {
	height: 35px;
	font-size: 1.08rem;
}
.tkt-txt {
	font-size: 0.7rem;
}
.tkt-txt ul {
	margin: 0 0 0 -1.5em;
}

}














	
	