@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,700,900&display=swap');
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 100;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 200;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 300;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 400;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Bold");
	font-weight: bold;
}
::selection {
	background: #000;
	color: #fff;
}
::-moz-selection {
 background: #000;
 color:#fff;
}
* { outline: none; }
@keyframes nrotate {  from {
 transform:rotate(0deg);
}
to { transform: rotate(360deg); }
}
@keyframes crotate {  from {
 transform: rotate(0deg);
}
to { transform: rotate(360deg); }
}
body {
	font-family: "Yu Gothic", YuGothic, sans-serif;
	font-weight: 500;
	font-size: 14px;
	color: #000;
	background-color: #fff;
}
a { color: #000; }
a:hover { text-decoration: none; }
.sp { display: none; }

#index #fullWrap { 
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}
#fullWrap {
	min-height: 620px;
	min-width: 1200px;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	position: relative;
	overflow: hidden;
}

main {
	position: absolute;
    left: 50%;
    top: 50%;
    /* right: 0px; */
    /* bottom: 0px; */
    z-index: 100;
    width: 1200px;
    height: 620px;
    margin-left: -600px;
    margin-top: -310px;
}
#fixedWrap {
	min-height: 620px;
	min-width: 1200px;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 10px;
	z-index: 20;
}
#c_cont {
	width: 660px;
	height: 140px;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 10;
	
}
#c_cont:before {
	content: "";
	width: 830px;
	height: 830px;
	background: #fff;
	border-radius: 50%;
	border: 12px solid #ffc5d8;
	position: absolute;
	top: 300px;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
	transition: all 0.5s cubic-bezier(0.53, 0.22, 0.29, 1.46);
}
#c_cont.on:before {
	top: 5px;
}
#c_cont h1 {
	width: 470px;
	height: 80px;
	background: url(../images/main_logo.png) no-repeat center center;
	margin: 10px auto;
}
#c_cont #oa_txt {
	width: 470px;
	height: 40px;
	background: url(../images/oa_txt.png) no-repeat center center;
	margin: auto;
}
#l_cont {
	width: 230px;
	height: 200px;
	position: absolute;
	left: -220px;
	bottom: 0;
	transition: all 0.5s cubic-bezier(0.53, 0.22, 0.29, 1.46);
}
#l_cont.on { left: 20px; }
#catch {
	width: 117px;
	height: 172px;
	position: absolute;
	left: 65px;
	top: 45%;
	margin-top: -50px;
	background: url(../images/catch.png) no-repeat center center;
	transition: all 0.5s cubic-bezier(0.53, 0.22, 0.29, 1.46);
	transform: scale(0);
}
#catch.on {
	transform: scale(1);
}
#l_bnrlist {
	width: 200px;
	height: 60px;
	position: absolute;
	left: 0;
	bottom: 150px;
}
#l_bnrlist li {
	width: 200px;
	height: 50px;
	margin: 7px 0;
}
#l_bnrlist li a { transition: all .3s ease; }
#l_bnrlist li a:hover { opacity: .7; }
#copyRight {
	font-size: 9px;
	font-weight: 600;
	line-height: 20px;
}
#l_cont #copyRight {
	position: absolute;
	left: 0;
	bottom: 0;
}
#r_cont {
	width: 200px;
	height: 430px;
	position: absolute;
	right: -300px;
	bottom: 0;
	transition: all 0.5s cubic-bezier(0.53, 0.22, 0.29, 1.46);
}
#r_cont.on {
	right: 0;
}
#r_cont #share {
	position: absolute;
	bottom: 0;
	left: 20px;
}
#r_cont .circleBnr, #r_bnrlist li {
	width: 164px;
	height: 164px;
	border: 3px solid #ea68a2;
	background: #fff;
	border-radius: 50%;
	box-sizing: border-box;
}
#r_cont .circleBnr a, #r_bnrlist li a {
	display: block;
	width: 150px;
	height: 150px;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -75px;
	margin-left: -75px;
	overflow: hidden;
	background-position: center center;
	background-repeat: no-repeat;
}
#r_bnrlist {
	width: 164px;
	height: 164px;
	position: absolute;
	left: 0;
	top: 0;
	transform: rotate(90deg);
}
#r_bnrlist li { 
	transform: rotate(-90deg);
	margin-right: 20px;
}
#r_bnrlist li a { 
	margin-right: -85px;
	transition: all .3s ease;
}
#r_bnrlist li a:hover { opacity: .7; }
#r_bnrlist li a img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
#r_bnrlist .owl-controls {
	position: absolute;
	top: -28px;
	right: 0px;
	width: 164px;
	height: 20px;
	margin-top: 0;
	display: block !important;
}
#r_bnrlist .owl-dots {
	display: block;
	width: 164px;
	height: 20px;
}
#r_bnrlist .owl-dots .owl-dot {
	width: 10px;
	height: 10px;
	background: #EA68A2;
	border-radius: 50%;
	margin: 0 2px;
}
#r_bnrlist .owl-dots .owl-dot span  {
	display: block;
	width: 10px;
	height: 10px;
	background: #EA68A2;
	border-radius: 50%;
	transition: .3s ease;
	position: relative;
}
#r_bnrlist .owl-dots .owl-dot.active span:before {
	content: "";
	width: 8px;
	height: 8px;
	border: 2px solid #fff;
	background: #EA68A2;
	box-sizing: border-box;
	position: absolute;
	top:50%;
	left: 50%;
	transform: translate(-50%,-50%);
	border-radius: 50%;
}
#movieBnr {
	position: absolute;
	left: 0;
	bottom: 80px;
}
#movieBnr a {
	position: relative;
	overflow: hidden;
}
#movieBnr a:before {
	content: "";
	width: 32px;
	height: 32px;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -16px;
	margin-left: -13px;
	background: url(../images/play_btn.png) no-repeat center center;
	z-index: 10;
}
#movieBnr a img {
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -79.5px;
	margin-left: -111.5px;
	transition: all 0.3s cubic-bezier(0.53, 0.22, 0.29, 1.46);
}
#movieBnr a img:hover { transform: scale(1.1);}

#share {
	width :180px;
	height: 35px;
	position: relative;
}
#r_cont #share:after { right: -15px; }
#share:after {
	content: '';
	width: 74px;
	height: 69px;
	background: url(../images/share_dog.png) no-repeat center center;
    position: absolute;
    bottom: 0;
    right: 0;
}
#share li {
	width: 35px;
	height: 35px;
	float: left;
	margin-right: 5px;
}
#share li:last-child{ margin-right: 0; }
#share li a {
	display: block;
	width: 35px;
	height: 35px;
	border-radius: 50%;
	background-color: #ea68a2;
	transition: all .3s ease;
}
#tw a {
    background: url(../images/tw.svg) no-repeat center center;
}
#fb a {
    background: url(../images/fb.svg) no-repeat center center;
}
#ln a {
    background: url(../images/ln.svg) no-repeat center center;
}
#share li a:hover {
	transform: translateY(-5px);
}
#loading {
	background: rgba(255,255,255,1);
	position: absolute;
	z-index: 99999;
	left: 0px;
	top: 0px;
	bottom: 0px;
	width: 100%;
	transition: width 0.5s ease;
}
#loading.on { width: 0; }

#menu {
	width: 120px;
	height: 120px;
	position: fixed;
	top: -100px;
	left: 40px;
	z-index: 1100;
	transition: all 0.5s cubic-bezier(0.53, 0.22, 0.29, 1.46);
}
#menu.on { top: -10px;  }
@keyframes hop {
    0% {top: -15px}
    50% {top:-28px}
    100%{top: -15px}
}
#menu a {
	display: block;
	height: 94px;
	width: 94px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	animation: hop 1.5s linear infinite;
	border-radius: 50%;
	transition: all .3s ease;
}
#menu a:before {
	content: "";
	width: 95px;
	height: 95px;
	background: #fff;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	border: solid 13px #ffc5d8;
	transition: all .3s ease;
}
#menu a img {
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -45px;
	margin-left: -36px;
	z-index: 50;
	transition: all .5s ease;
}

#menu a:hover img { transform: rotate(180deg); }
#menu a:after {
	content: "";
	width: 44px;
	height: 18px;
	background: url(../images/menu_text.png) no-repeat center center;
	position: absolute;
	bottom: -5px;
	left: 50%;
	transform: translateX(-50%);
}
#menu.active {
	top: 415px;
}
#menu.active a { 
	animation: none;
	
}
#menu.active a img { transform: rotate(180deg); }
#menu.active a:after {
	background: url(../images/close.png) no-repeat center center;
	bottom: -12px;
}
#menu.active a:before {
	top: 45%;
	width: 60px;
	height: 60px;
	border: solid 13px transparent;
}

nav {
	width: 100%;
	height: 100%;
	min-width: 1200px;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	z-index: 1000;
	display: none;
}
nav:before {
	content: "";
    width: 100%;
    height: 300px;
	background: #f29fa9;
    position: absolute;
    top: 0%;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}
nav:after {
	content: "";
    width: 135%;
    height: 700px;
	background: #f29fa9;
    border-radius: 50%;
    border: 12px solid #ffc5d8;
    position: absolute;
    top: -100px;
    left: 50%;
    transform: translateX(-50%);
    z-index: -2;
}
#nav_list {
	margin: 370px auto 0;
	width: 860px;
	height: 250px;
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	padding-left: 150px;
}
#nav_list li {
	position: relative;
	height: 46px;
	margin-right: 60px;
	margin-bottom: 20px;
	display: inline-block;
	transition: all 0.5s cubic-bezier(0.53, 0.22, 0.29, 1.46);
	transform: scale(1.2) translateY(200px);
	opacity: 0;
}
#nav_list li.on {
	transform: scale(1) translateY(0);
	opacity: 1;
}

#nav_list li.cs a {
	pointer-events: none;
	color: #FFC0CB;
}
#nav_list li:nth-child(5), #nav_list li:nth-child(10){
	margin-right: 0;
}
#nav_list li p {
	height: 46px;
	white-space: nowrap;
}
#nav_list li.on p {
	left: 0;
}
#nav_list li a {
	display: block;
	height: 46px;
	font-size: 18px;
	font-weight: bold;
	line-height: 32px;
	letter-spacing: 0.1em;
	text-decoration: none;
	font-family: 'Source Sans Pro', sans-serif;
	transition: all .3s ease;
}
#nav_list li a.active { color: #fff; }
#nav_list li a span {
	display: block;
	font-size: 13px;
	line-height: 20px;
	letter-spacing: 0.01em;
	position: absolute;
	bottom: 0;
	left: 0;
}
#nav00 a { margin-left: -3px }
#nav_list li a:hover { color: #fff; }

#menu_km {
	width: 306px;
	height: 306px;
	position: absolute;
	top: 35px;
	right: 45px;
	transition: all 0.4s cubic-bezier(0.53, 0.22, 0.29, 1.46);
	transform: scale(0);
	z-index: 10000;
}
#menu_km p {
	width: 306px;
	height: 306px;
	background: url(../images/menu_km.png) no-repeat center center;
	animation: crotate 15s linear infinite;
}
#menu_km.on { transform: scale(1); }
#menu_dog {
	width: 153px;
	height: 319px;
	position: absolute;
	top: 45px;
	left: 50%;
	margin-left: -65px;
	transition: all 0.3s cubic-bezier(0.53, 0.22, 0.29, 1.46);
	transform: scale(1.08) translateY(-80px);
	opacity: 0;
	z-index: 10000;
	pointer-events: none;
	transition-delay:.3s;
}
#menu_dog.on{
	transform: scale(1) translateY(0);
	opacity: 1;
}

#scene {
	position: absolute;
	left: 0px;
	top: 0px;
	height:100%;
	overflow: hidden;
	width:100%;
}
#scene>li {
	display: block;
	position: absolute;
	z-index: 6;
	left: 0px;
	top: 0px;
	right: 0px;
	bottom: 0px;
	height: 100%;
	width: 100%;
}
#visual1 {
	background: url(../images/mv_bg.jpg) no-repeat center bottom / 100% auto;
	position: absolute;
	top: 0;
	left: 0px;
	right: 0px;
	bottom:0;
}
#mv_dogs {
	position: absolute;
    left: 0px;
	top: 0px;
	right: 0px;
	bottom: 0px;
    z-index: 100;
}
#mv_dogs li {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	opacity: 0;
	transition: all 1s ease;
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: 100% auto
}
#mv_dogs li.on { opacity: 1; }
#md1 {
	background-image: url(../images/mv_dog/1.png);
}
#md2 {
	background-image: url(../images/mv_dog/2.png);
    z-index: 20;
}
#md3 {
	background-image: url(../images/mv_dog/3.png);
    z-index: 30;
}
#md4 {
	background-image: url(../images/mv_dog/4.png);
    z-index: 30;
}
#md5 {
	background-image: url(../images/mv_dog/5.png);
    z-index: 40;
}
#md6 {
	background-image: url(../images/mv_dog/6.png);
    z-index: 40;
}
#md7 {
	background-image: url(../images/mv_dog/7.png);
}
#md8 {
	background-image: url(../images/mv_dog/8.png);
}


/*======================== SUB PAGE ========================*/

header {
	height: 170px;
	position: relative;
	z-index: 10;
}
header:before {
	content: "";
	width: 100%;
	height: 300px;
	background: url(../images/header_bg.jpg) no-repeat center top / cover;
	position: absolute;
	top: 0;
	left: 0;
}
header h1 {
	width: 485px;
	height: 130px;
	position:absolute;
    top: 23px;
    left: 50%;
    margin-left: -242.5px;
    transform: scale(0);
    transition: all 0.4s cubic-bezier(0.53, 0.22, 0.29, 1.46);
    z-index: 100;
}
header h1 a {
	display: block;
	height: 130px;
	background: url(../images/sub_logo.png) no-repeat center center;
	transition: all .3s ease;
}
header h1 a:hover { opacity: .7; }
header h1.on { transform: scale(1); }
.header_dog {
	transition: all 0.5s cubic-bezier(0.53, 0.22, 0.29, 1.46);
	position: absolute;
}


#mainWrap {
	width: 100%;
	height: auto;
	background: #FFF;
    transform: skewY(-8.5deg);
    z-index: 10;
    position: relative;
    z-index: 400;
}
#kamon_sub {
	width: 151px;
    height: 151px;
    position: absolute;
    top: -95px;
    left: 50%;
    margin-left: -590px;
    z-index: 9999;
    transform: skewY(8.5deg) scale(0);
    transition: all 0.5s cubic-bezier(0.53, 0.22, 0.29, 1.46);
}
#kamon_sub p { animation: crotate 15s linear infinite; }
#kamon_sub.show { transform: skewY(8.5deg) scale(1);  }
#mainWrapIn {
	background: url(../images/bg_face.png) no-repeat center center;
	transform: skewY(8.5deg);
	padding: 80px 0 50px;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}
#mainWrapIn article {
	min-height: 500px;
	margin: auto;
	padding-bottom: 100px;
	position: relative;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}
#mainWrapIn h2 {
	width: 100%;
	height: 30px;
	margin-bottom: 50px;
}

footer { 
	height: 650px;
	position: relative;
	overflow: hidden;
	margin-top: -100px;
	z-index: 1000;
}

footer #bnrBox {
	width: 472px;
	height: 50px;
	position: absolute;
	top: 250px;
	left: 50%;
	transform: translateX(-50%);
}

footer #bnrBox li {
	float: left;
	margin-right: 20px;
}
footer #bnrBox li:last-child { margin-right: 0; }
footer #bnrBox li a {
	display: block;
	height: 50px;
	transition: all .3s ease;
}
#bnrBox li a:hover { opacity: 0.8; }
footer #info_cont {
	width: 440px;
	height: 35px;
	position: absolute;
	top: 180px;
	left: 50%;
	transform: translateX(-50%);
}
footer #copyRight {
	float: left;
	line-height: 35px;
}
footer #share {float: right;}
#to_top {
	width: 60px;
	height: 60px;
	position: absolute;
	top: 70px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 900;
}
#to_top a {
	display: block;
	height: 60px;
	background: url(../images/arw.png) no-repeat center center;
	transition: all .3s ease;
}
#to_top a:hover { opacity: .7; }
.sub nav { position: fixed; }
.sub nav:before { height: 300px; }
.sub nav:after { 
	width: 125%;
	height: 700px;
	top: -100px;
}


/*======================== INTRODUCTION ========================*/
#introduction #mainWrapIn h2 {
	background: url(../images/intro_h2.png) no-repeat center center;
}
#introduction article { 
	width: 800px;
	text-align: center;
}
#introduction #mainWrapIn p {
	font-size: 16px;
	line-height: 43px;
	font-weight: bold;
	padding-bottom: 20px;
	letter-spacing: 0em;
}
#introduction #mainWrapIn strong {
	display: block;
	font-size: 31px;
	margin: 5px 0;
}
#introduction #mainWrapIn h3 {
	font-size: 31px;
	line-height: 43px;
	font-weight: bold;
	letter-spacing: 0em;
	padding-bottom: 20px;
}

/*======================== CAST STAFF ========================*/
#caststaff #mainWrapIn h2 {
	background: url(../images/caststaff_h2.png) no-repeat center center;
}
#caststaff article { 
	width: 1040px;
	padding-left: 110px;
}
#cast {
	width: 370px;
	float: left;
}
#cast dl {

}
#cast dt {
	width: 155px;
	font-size: 24px;
	font-weight: bold;
	line-height: 45px;
	letter-spacing: 0em;
	float: left;
}
#cast dd {
	width: 210px;
	font-size: 11px;
	font-weight: bold;
	line-height: 53px;
	letter-spacing: 0em;
	float: left;
	position: relative;
}
#cast dd img {
	display: block;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}

#staff {
	width: 530px;
	margin-left: 100px;
	float: left;
}
#staff li {
	font-size: 24px;
	font-weight: bold;
	line-height: 53px;
	letter-spacing: 0em;
}
#staff li span {
	font-size: 16px;
	font-weight: bold;
	line-height: 53px;
	letter-spacing: 0em;
}
#staff li.hasInfo { 
	position: relative;
	margin-bottom: 50px;
}
#staff li.hasInfo span {
	position: absolute;
	top: 40px;
	left: 60px;
}


/*======================== CHARACTER ========================*/
#character #mainWrap:before {
	content:"";
	width: 174px;
	height: 204px;
	position: absolute;
	top: -10px;
	right: 0;
	transform: skewY(8.5deg);
	background: url(../images/face_s.png) no-repeat center center;
}
#character #mainWrapIn h2 {
	background: url(../images/character_h2.png) no-repeat center center;
}
#character #mainWrapIn { background: unset; }
#character article { 
	width: 1060px;
	min-height: 400px;
}
/*#charaCont {
	width: 1060px;
	height: 800px;
	position: absolute;
	top: 0;
	left: 0;
}*/
#charaThumbs {
	width: 100%;
	height: 230px;
	position: relative;
}
#charaThumbs ul {
	width: calc(180px * 5);
	height: 230px;
	margin: auto;
}
#charaThumbs li {
	width: 160px;
	height: 230px;
	float: left;
	margin: 0 10px;
}
#charaThumbs li a {
	display: block;
	height: 230px;
	text-decoration: none;
	transition: all .3s ease;
}
#charaThumbs li a.cs { pointer-events: none; }
#charaThumbs li a:hover { opacity:.7; } 
.cThumb {
	width: 160px;
	height: 160px;
}
.cThumb img {
	display: block;
	margin: auto;	
}
.cName {
	font-size: 16px;
	font-weight: bold;
	line-height: 20px;
	text-align: center;
	padding-top: 13px;
}
#carouNext, #carouPrev {
	width: 54px;
	height: 54px;
	position: absolute;
	top: 36%;
	transform: translateY(-50%);
	display: none;
}
#carouNext { right: 0; }
#carouPrev { left: 0; }
#carouNext a, #carouPrev a {
	display: block;
	height: 54px;
	background: url(../images/arw.png) no-repeat center center;
	transition: all .3s ease;
}
#carouNext a {transform: rotate(90deg);}
#carouPrev a {transform: rotate(-90deg);}
#carouNext a:hover {transform: scale(1.12) rotate(90deg);}
#carouPrev a:hover {transform: scale(1.12) rotate(-90deg);}
#c_Detail {
	width: 100%;
	height: 570px;
	position: relative;
}
.c_DetailIn {
	width: 900px;
	height: 570px;
	position: absolute;
	top: 0;
	left: 50%;
	margin-left: -450px;
	transform: scale(0.8);
	transition: none;
	opacity: 0;
}
.c_DetailIn.active { 
	transform: scale(1);
	opacity: 1;
	transition: all 0.6s cubic-bezier(0.2, 0.22, 0.29, 1.6);
}
.c_Img {
	width: 360px;
	height: 100%;
	float: left;
	position: relative;
}
.c_Img li,.c_shadow,.c_dog {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	transition: all 1.5s ease;
}
.c_Img li { opacity: 0 }
.c_Img li.on { opacity: 1; }
.c_shadow img {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.c_dog img {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-40%);
}
.c_bushi img {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.c_prf {
	float: left;
	width: 500px;
}
.nameBox {
	margin-bottom: 35px;
	margin-top: 95px;
}
.nameBox h3 {
	font-size: 28px;
	line-height: 38px;
	font-weight: bold;
	letter-spacing: 0.1em;
}
.nameBox h3 span { font-size: 24px; }
.cv {
	display: inline-block;
	font-size: 24px;
	line-height: 38px;
	font-weight: bold;
	letter-spacing: 0.1em;
	position: relative;
}
.cv a {
	position: absolute;
	top: 50%;
	transform: translateY(-60%);
	right: -35px;
	display: block;
	width: 28px;
	height: 26px;
	background: url(../images/comm_icon.png) no-repeat center center;
}
.c_prf p {
	font-size: 16px;
	line-height: 33px;
	letter-spacing: 0.1em;
	font-weight: 500;
}




/*======================== NEWS ========================*/
#news #mainWrapIn h2 {
	background: url(../images/news_h2.png) no-repeat center center;
}
#news article { width: 100%; }
#news_list {

}
#news_list li {
	width: 100%;
	min-height: 80px;
	border-bottom: 1px dashed #f29fa9;
}
#news_list li a {
	display: flex;
	min-height: 80px;
	position: relative;
	text-decoration: none;
	padding: 25px 0 25px 70px;
	box-sizing: border-box;
	transition: all .3s ease;

}
#news_list li a:after {
	content: "";
	width: 34px;
	height: 34px;
	background: url(../images/arw_s.png) no-repeat center center;
	position: absolute;
	top: 50%;
	right: 65px;
	transform: translateY(-50%);
	transition: all 0.4s cubic-bezier(0.53, 0.22, 0.29, 1.46);
}
.news_date {
	width: 110px;
	height: 30px;
	font-size: 16px;
	line-height: 30px;
	font-weight: 500;
	color: #fff;
	border-radius: 30px;
	background: #f29fa9;
	text-align: center;
	float: left;
}
.news_title {
	width: 770px;
	font-size: 16px;
	line-height: 30px;
	font-weight: bold;
	float: left;
	padding-left: 30px;
	text-decoration: underline;
	transition: all .3s ease;
}
#news_list li a:hover {
	background-color:rgba(242,159,169,0.5);
}
#news_list li a:hover .news_title { 
	color: #000;
	text-decoration: none;
}
#news_list li a:hover:after { right: 120px; }
#nd_title {
	width: 100%;
	border-bottom: 1px dashed #f29fa9;
}
#nd_title h3 {
	width: 1200px;
	margin: auto;
	min-height: 80px;
	
	padding: 25px 100px;
	box-sizing: border-box;
}
#nd_title .news_title { text-decoration: none; }
#news_detailIn {
	width: 1000px;
	margin: auto;
	padding-top: 40px;
}
#news_detailIn {
	font-size: 16px;
	line-height: 30px;
	font-weight: 500;
}
#bkBtn {
	width: 49px;
	height: 49px;
	margin: 50px auto;
}
#bkBtn a {
	display: block;
	height: 49px;
	background: url(../images/arow_or.png) no-repeat center center;
	transition: all .3s ease;
}
#bkBtn a:hover { opacity: 0.7; }
.pagingBox {
	height: 40px;
	text-align: center;
	padding-top: 30px;
}
.pagingBox a,
.pagingBox span {
	display: inline-block;
	height: 50px;
	width: 50px;
	margin-right: 5px;
	margin-bottom: 5px;
	box-sizing: border-box;
	text-align: center;
	line-height: 50px;
	font-size: 18px;
	border-radius: 50%;
	position: relative;
}
.pagingBox a:before,
.pagingBox span:before {
	content: "";
	width: 45px;
	height: 45px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	border: 1.2px dashed #fff;
	border-radius: 50%;
}
.pagingBox a {
	background-color: #ef7b75;
	transition: all 0.2s ease;
	color: #fff;
	text-decoration: none;
}
.pagingBox a:hover,
.pagingBox span {
	background-color: #f29fa9;
	color: #FFF;
}
.pagingBox .none { display: none; }
#news_detailIn img {
	width: 100%;
	height: auto;
}

/*======================== MODAL =========================*/
#modal, #movieModal{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #F29FA9;
	z-index: 99999;
	display: none;
}
#modalClose {
	width: 54px;
	height: 54px;
	position: absolute;
}
#character #modalClose {
	top: 30px;
	right: 30px;
}

#index #modalClose {
	top: 30px;
	right: 30px;
}
#modalClose a {
	display: block;
	height: 54px;
	transition: all 0.5s cubic-bezier(0.53, 0.22, 0.29, 1.46);
}
#modalClose a:hover {
	transform: rotate(180deg) scale(1.2);
}
.modalin {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);	
}
#character .modalin {
	width: 800px;
	/*height: 500px;*/
	display: none;
}
#index .modalin {
	width: 960px;
	height: 540px;
}

#movieModal iframe {
	overflow: hidden;
	border-radius: 15px;
}
.cv_img {
	float: left;
}
.cv_r {
	float: left;
	width: 460px;
	margin-left: 40px;
}
.cv_r h4 {
	color: #fff;
	font-size: 24px;
	line-height: 24px;
	margin-bottom: 25px;
}
.cv_r p {
	color: #fff;
	font-size: 18px;
	line-height: 36px;
}

#bgc {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	transition: all 2.5s cubic-bezier(0.53, 0.22, 0.29, 1.46);
}

.t14 {
	font-size: 14px;
}



#cd5 .c_dog img {left: 55%;}
#cd11 .c_dog img {left: 42%;}
#cd12 .c_dog img {left: 55%;}

.owl-dots { display: none; }
.cv00 { opacity: 1 !important; }
.single_chara {
	position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
.single_chara img {
	display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}

/*======================== MOVIE ========================*/
#movie #mainWrap:before {
	content:"";
	width: 174px;
	height: 204px;
	position: absolute;
	top: -10px;
	right: 0;
	transform: skewY(8.5deg);
	background: url(../images/face_s.png) no-repeat center center;
}
#movie #mainWrapIn h2 {
	background: url(../images/movie_h2.png) no-repeat center center;
}
#movie #mainWrapIn { background: unset; }
#movie article { 
	width: 1060px;
	min-height: 400px;
}
#movieList {
	width: 840px;
	margin: auto;
}
#movieList li { padding-bottom: 30px; }
#movieList li iframe { 
	border-radius: 15px;
	overflow: hidden;
}
#movieList li:last-child { padding-bottom: 0px; }
#movieList li p {
	font-size: 18px;
    line-height: 65px;
    font-weight: bold;
    padding-bottom: 20px;
    letter-spacing: 0em;
    text-align: center;
}



/*======================== ON AIR ========================*/
#onair #mainWrap:before {
	content:"";
	width: 174px;
	height: 204px;
	position: absolute;
	top: -10px;
	right: 0;
	transform: skewY(8.5deg);
	background: url(../images/face_s.png) no-repeat center center;
}
#oa_h2_1 {
	background: url(../images/onair_h2.png) no-repeat center center;
}
#oa_h2_2 {
	background: url(../images/haishin_h2.png) no-repeat center center;
}
#oa_h2_3 {
	background: url(../images/haishin_h2_3.png) no-repeat center center;
}
#oa_h2_4 {
	background: url(../images/haishin_h2_4.png) no-repeat center center;
}

#onair #mainWrapIn { background: unset; }
#onair article { 
	width: 1060px;
	min-height: 400px;
}
#onair article h2 { margin-bottom: 30px; }
.oa_box {
	width: 570px;
	margin: 0 auto 80px;
}
.oa_list li {
	padding: 10px 0;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 0.05em;
    display: flex;
    flex-wrap: wrap;
}
.oa_list li strong {
	display: block;
    width: 180px;
	color: #f29fa9;
}
.oa_caution {
	font-size: 14px;
	line-height: 22px;
	font-weight: bold;
	margin: 20px 0;
}
.hs_table {
	width: 810px;
	margin: 0 auto 50px;
}
.hs_table table {
	width:100%;
}
.hs_table tr {
	width: 810px;
	height: 45px;
	border-bottom: 2px solid #fff;
	
	line-height: 45px;
	letter-spacing: 0em;
}
.hs_table tr th {
	background: #f29fa9;
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	padding-left: 15px;
}
.hs_table tr th:nth-child(1) { width: 210px; }
.hs_table tr th:nth-child(2) { width: 170px; }
.hs_table tr th:nth-child(3) { width: 120px; }
.hs_table tr td:nth-child(4) { font-size:14px;}
.hs_table tr td {
	height: 45px;
	background: #ffdde1;
	color: #000;
	font-size: 16px;
	font-weight: bold;
	padding:0 15px;
}
.hs_table tr td a {
	display: block;
	color: #EB6D7D;
}
/*======================== COMIC ========================*/
#comic #mainWrap:before {
	content:"";
	width: 174px;
	height: 204px;
	position: absolute;
	top: -10px;
	right: 0;
	transform: skewY(8.5deg);
	background: url(../images/face_s.png) no-repeat center center;
}
#comic #mainWrapIn h2 {
	background: url(../images/comic_h2.png) no-repeat center center;
}
#comic #mainWrapIn { background: unset; }
#comic article { 
	width: 810px;
	min-height: 400px;
}
.pink { color: #ea68a2; }

#comic .subTtl h3 {
	font-size: 24px;
	line-height: 32px;
	font-weight: bold;
	text-align: center;
}
#comic .subTtl p {
	font-size: 18px;
	line-height: 32px;
	font-weight: bold;
	text-align: center;
	margin: 15px 0;
}
#pickupBox {
	width: 750px;
	margin: 0 auto 10px;
	display: flex;
	flex-wrap: wrap;
}
#newComic {
	width: 230px;
	height: 326px;
	margin-left: 10px;
	margin-right: 80px;
	background-color:rgba(234,104,162,0.7);
	border: 1px solid #EA68A2;
	box-sizing: border-box;
	overflow: hidden;
}
#newComic a {
	display: block;
	height: 326px;
	transition: all.3s ease;
}
#newComic a img { transition: all .5s ease; }
#newComic a:hover { opacity: .7;}
#newComic a:hover img { transform: scale(1.02); }

#pr_info h4, #pr_info strong{
	font-size: 16px;
	font-weight: bold;
	line-height: 44px;
}
#comicBnr {
	width: 252px;
	height: 49px;
	margin: 30px 0;
}
#comicBnr a {
	display: block;
	height: 49px;
	transition: all .3s ease;
}
#comicBnr a:hover { opacity: .7; }
#pr_info p {
	font-size: 14px;
	font-weight: bold;
	line-height: 28px;
}
#comic_list {
	width: 750px;
	margin: auto;
	display: flex;
	flex-wrap: wrap;
}
#comic_list li {
	width: 230px;
	height: 326px;
	margin: 10px;
	background-color:rgba(234,104,162,0.7);
	border: 1px solid #EA68A2;
	box-sizing: border-box;
	overflow: hidden;
}
#comic_list li a {
	display: block;
	width: 230px;
	height: 326px;
	transition: all .3s ease;
}
#comic_list li a img { transition: all .5s ease; }
#comic_list li a:hover { opacity: .7; }
#comic_list li a:hover img { transform: scale(1.02); }

/*======================== DISCOGRAPHY ========================*/
#discography #mainWrap:before {
	content:"";
	width: 174px;
	height: 204px;
	position: absolute;
	top: -10px;
	right: 0;
	transform: skewY(8.5deg);
	background: url(../images/face_s.png) no-repeat center center;
}
#discography #mainWrapIn h2 {
	background: url(../images/discography_h2.png) no-repeat center center;
}
#discography #mainWrapIn { background: unset; }
#discography article { 
	width: 1080px;
	min-height: 400px;
}
#disc_list {
	width: 1000px;
	margin: auto;
}
#disc_list ul {
	display: flex;
	flex-wrap: wrap;
}
#disc_list li {
	margin: 10px;
	width: 230px;
	background: #FFF;
	background: #f29fa9;
	transition: all 0.3s cubic-bezier(0.53, 0.22, 0.29, 1.46);

}
#disc_list li a {
	display: block;
    height: 100%;
    text-decoration: none;
}
.disco_thumb img { width: 230px;}
#disc_list li:hover { transform: translateY(-5px);}

.disco_ttl {
	font-size: 16px;
    background: #f29fa9;
    color: #fff;
    padding: 20px 25px;
    line-height: 28px;
    word-break: break-all;
    font-weight: bold;
}

#discoDetail {
	width: 100% !important;
	padding-top: 20px;
}
.detailCont, .discographyCont {
	width: 980px;
	margin: auto;
}
#diTitleWrap > h3 {
	font-size: 24px;
	text-align: center;
	margin-bottom: 70px;
	position: relative;
	color: #e84378;
	font-weight: bold;
}
#diTitleWrap > h3:before {
	content: "";
	position: absolute;
	width: 100%;
	height: 1px;
	border-bottom: 1px dashed #f29fa9;
	right: 0;
	left: 0;
	bottom: -30px;
}
.discographyCont {
	border-bottom: solid 1px #FFF;
	margin-bottom: 30px
}
.discographyCont > p {
	font-size: 16px;
    line-height: 30px;
    font-weight: 500;
	margin-bottom: 30px;
}
.packageDetail {
	padding-bottom: 30px;
	/*    box-sizing: border-box;
/*    background-color: rgba(0,0,0,1);*/
	margin-bottom: 30px;
	border-bottom: 1px solid #FFF;
}
.packageLeft {
	float: left;
	width: 420px;
}
.packageLeft img { width: 100%; }
.packageRight {
	float: left;
	padding-left: 55px;
	/*width: 505px;*/
	width: calc(100% - 420px - 55px);
}
.packageLeft a {
	display: block;
	height: 60px;
	width: 100%;
	margin-top: 30px;
	font-size: 18px;
	line-height: 55px;
	text-decoration: none;
	color: #e84378;
	background: #FFF;
	text-align: center;
	transition: .4s ease;
	font-weight: bold;
	border: 3px solid #e84378;
	box-sizing: border-box;
}
.packageLeft a:hover { transform: scale(1.02); }
.kbn {
	display: table;
	color: #000;
	background: #FFF;
	font-size: 16px;
	font-weight: bold;
	padding: 0 13px;
	box-sizing: border-box;
	margin-bottom: 30px;
}
.packageRight > h4 {
	font-size: 26px;
	margin-bottom: 20px;
	font-weight: bold;
}
.packageRight > p {
	font-size: 16px;
	line-height: 34px;
	margin-bottom: 30px;
	font-weight: bold;
}
.detailCont .discTitle {
	font-size: 15px;
	margin-bottom: 8px;
}
.detailCont .discindex {
	font-size: 15px;
	padding-left: 20px;
	margin-bottom: 18px;
}
.detailCont .discindex > div { /*    margin-bottom: 12px;
    line-height: 28px;*/
}
.detailCont .player { display: inline-block; }
.detailCont .trial_image {
	background-color: #cd3600;
	border-radius: 8px;
	padding-top: 0px;
	vertical-align: middle;
	margin-left: 8px;
}
/*----------{{SHOP LIST}}----------*/

#tp {
	background: #fff;
	min-width: auto;
}
#shopList {
	padding: 30px;
	background: #fff;
}
#shopList span {
	display: inline-block;
	margin: 0 0 10px 10px;
}
#shopList span a img { transition: all 0.6s ease; }
#shopList span a:hover img {
	transition: all 0.3s ease;
	transform: scale(1.1);
}
#shopList .linktext { padding-bottom: 10px; }
#shopList .linktext a {
	font-size: 20px;
	text-decoration: none;
}
#shopList .dlicon { padding-bottom: 15px; }
#shopList .dlicon a img { transition: all 0.6s ease; }
#shopList .dlicon a:hover img {
	transition: all 0.3s ease;
	transform: scale(1.1);
}
#shopList .qr {
	padding-bottom: 30px;
	border-bottom: 1px dotted #fff;
	margin-bottom: 30px;
}
#tokutenWrap {
	padding-top: 40px;
}

#tokutenWrap h3 {
	margin-bottom: 19px;
	padding-bottom: 19px;
	border-bottom: 1px solid #FFF;
	line-height: 38px;
	color: #FFFFFF;
	font-size: 22px;
	font-weight: bold;
}

#tokutenWrap .tokutenBox {
	padding-bottom: 60px;
}

#tokutenWrap h3 a:hover {
	opacity: 0.6;
}

#tokutenWrap p {
	font-size: 18px;
	line-height: 40px;
	padding-bottom: 40px;
}
.tokutenGenre { padding-bottom: 30px; }
.ct {
	font-weight: bold;
	font-size: 18px;
	padding-bottom: 25px;
	color: #e84378;
	text-align: center;
}



/*======================== STORY ========================*/
#story #mainWrap:before {
	content:"";
	width: 174px;
	height: 204px;
	position: absolute;
	top: -10px;
	right: 0;
	transform: skewY(8.5deg);
	background: url(../images/face_s.png) no-repeat center center;
}
#story #mainWrapIn h2 {
	background: url(../images/story_h2.png) no-repeat center center;
}
#story #mainWrapIn { background: unset; }
#story article { 
	width: 1060px;
	min-height: 400px;
}
#storyList {
	display: flex;
	flex-wrap: wrap;
	width: 1000px;
	margin: auto;
	padding-bottom: 50px;
}
#storyList li {
	width: 480px;
	margin: 10px;
	background: #fff;
}
#storyList li a {
	display: block;
    height: 100%;
    text-decoration: none;
}
.storyThumb {
	width: 480px;
	height: 255px;
	background-size: 100% auto;
	background-repeat: no-repeat;
	background-position: center;
	transition: all .3s ease;
}
#storyList li a:hover .storyThumb { opacity: .7; }
.storyTitle {
	font-size: 16px;
    background: #f29fa9;
    color: #fff;
    padding: 20px 25px;
    line-height: 28px;
    word-break: break-all;
    font-weight: bold;
}
#storyWrap > h3 {
    font-size: 24px;
    text-align: center;
    margin-bottom: 70px;
    position: relative;
    color: #e84378;
    font-weight: bold;
}
#storyWrap > h3:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    border-bottom: 1px dashed #f29fa9;
    right: 0;
    left: 0;
    bottom: -30px;
}
#storyDetail {
    width: 100% !important;
    padding-top: 20px;
}
#story .storyThumbs {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
#story .storyThumbs img {
    width: 480px !important;
    height: auto !important;
    margin-bottom: 20px;
}

#story .detailCont {
	font-size: 16px;
    line-height: 30px;
    font-weight: 600;
    margin-bottom: 80px;
}


#f_bg {
	position:absolute;
	bottom: 20px;
	left: 0;
	right: 0;
}


/*======================== GOODS ========================*/
#goods #mainWrap:before {
	content:"";
	width: 174px;
	height: 204px;
	position: absolute;
	top: -10px;
	right: 0;
	transform: skewY(8.5deg);
	background: url(../images/face_s.png) no-repeat center center;
}
#goods #mainWrapIn h2 {
	background: url(../images/goods_h2.png) no-repeat center center;
}
#goods #mainWrapIn { background: unset; }
#goods article { 
	width: 1080px;
	min-height: 400px;
}

#goods_list {
	width: 1000px;
	margin: auto;
	display: flex;
	flex-wrap: wrap;
}
#goods_list li {
	margin: 10px;
	width: 230px;
	background: #FFF;
	background: #f29fa9;
	transition: all 0.3s cubic-bezier(0.53, 0.22, 0.29, 1.46);
}
#goods_list li:hover {
    transform: translateY(-5px);
}
#goods_list li a {
	display: block;
    height: 100%;
    text-decoration: none;
    position: relative;
}
.goodsThumb {
	width: 230px;
	height: 255px;
	background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    background-color: #FFF;
    border-top: 1px solid #f29fa9;
    border-right: 1px solid #f29fa9;
    border-left: 1px solid #f29fa9;
    box-sizing: border-box;
}
.goodsTitle {
    font-size: 16px;
    color: #fff;
    padding: 20px 25px 55px;
    line-height: 28px;
    word-break: break-all;
    font-weight: bold;
}
.price {
	font-size: 16px;
    background: #f29fa9;
    color: #fff;
    line-height: 28px;
    word-break: break-all;
    font-weight: bold;
    position: absolute;
    left: 25px;
    bottom: 10px;
}
/* goods modal */
#cboxOverlay { background: #fff !important; }
#goodsModal {
	background: rgba(239,123,117);
	height: 605px;
	width: 980px;
	margin-right: auto;
	margin-left: auto;
	box-sizing: border-box;
	padding: 40px 35px;
	overflow: auto;
	position: relative;
	color: #FFF;
	font-size: 14px;
}
#goodsModal a { color: #FFF; }
.thumbnail span { cursor: pointer; }
#goodsLeft {
	/*float: left;*/
	width: 390px;
	position: fixed;
	top: 50%;
	left: 40px;
	transform: translateY(-50%);
}
#goodsLeft .photo img {
	display: block;
	width: 100%;
	height: auto;
}
.item_image {
	width: 64px;
	float: left;
	margin-right: 1px;
	margin-bottom: 1px;
}
.item_image img { width: 64px; }
.item_image img:hover { opacity: 0.7; }
#goodsRight {
	float: right;
	width: 440px;
	padding-right: 15px;
	font-size: 16px;
	line-height: 34px;
	color: #fff;
	letter-spacing: 0em;
}
#goodsRight h4 {
	margin-top: 40px;
	color: #FFF;
	font-weight: bold;
	margin-bottom: 15px;
	font-size: 14px;
	display: block;
	padding: 0 4px;
	border-bottom: solid 1px #FFF;
}
.goodsDetailTitle {
	font-size: 24px;
	line-height: 35px;
	color: #FFF;
	padding-bottom: 20px;
	border-bottom-width: 1px;
	border-bottom-style: dashed;
	border-bottom-color: #FFF;
	margin-bottom: 20px;
	font-weight: bold;
}
.mCustomScrollbar {
	-ms-touch-action: pinch-zoom;
	touch-action: pinch-zoom;
}
#mainImageCaption {
	line-height: 30px;
	text-align: center;
}
.photo { margin-bottom: 1px; }

.mCSB_dragger_bar ,.mCSB_draggerRail { background: #fff !important; }
.mCSB_scrollTools { right: -5px !important; }

.tagList {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding-bottom: 30px;
}
.tagList li {
	display: inline-block;
	padding: 20px 10px;
}
.tagList li a {
	display: block;
	font-size: 16px;
    color: #f29fa9;
    padding: 2px 15px;
    line-height: 29px;
    word-break: break-all;
    font-weight: bold;
    text-decoration: none;
    border-radius: 5px;
    border: dotted 2px #f29fa9;
    transition: all .3s ease;
}
.tagList li a:hover, .tagList li a.active {
	background: #F2AD85;
	color: #fff;
}