/* =================================
	TBS Reset CSS
================================= */

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video,main {margin:0;padding:0;border:0;font-size:100%;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,main {display:block;}
body {font-family:Verdana,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;line-height:1;}
ol,ul {list-style:none;}
blockquote,q {quotes:none;}
blockquote:before,blockquote:after,q:before,q:after {content:'';content:none;}
table {border-collapse:collapse;border-spacing:0;}
wbr:after {content:"\00200B";}

/*	TBS reset
============================== */
.alt {position:absolute;top:-5000px;left:-9999px;}
.clearfix:after {content:"";clear:both;display:block;}
.hide-txt {text-indent:110%;white-space:nowrap;overflow:hidden;}
.fp-causion {display:none;}
.nocontxt {-webkit-touch-callout: none;-webkit-user-select: none;user-select: none;-webkit-user-drag:none;}
.nocontxt img {pointer-events: none;}
@media all and (min-width:768px) {
.alt-pc {position:absolute;top:-5000px;left:-9999px;}
.clearfix-pc:after {content:"";clear:both;display:block;}
.hide-txt-pc {text-indent:110%;white-space:nowrap;overflow:hidden;}
}
@media all and (max-width:767px) {
.alt-smp {position:absolute;top:-5000px;left:-9999px;}
.clearfix-smp:after {content:"";clear:both;display:block;}
.hide-txt-smp {text-indent:110%;white-space:nowrap;overflow:hidden;}
}
div.embed-tbsplayer {
background-color:#000;
position:relative;
height:0;
padding-top:56.25%;
}
div.embed-tbsplayer .tbs-player {
position:absolute;
left:0;
top:0;
width:100%;
height:100%;
}
div.embed-tbsplayer-audio {
background-color:#fff;
}
div.embed-tbsplayer-audio .tbs-player {
height:46px;
}
div.lbx-overlay {
z-index:10000;position:absolute;background-color:#000;width:100%;height:100%;left:0;top:0;right:0;bottom:0;opacity:0.9;
}

/* link */
a:link {
	text-decoration:underline;
	color:#c00;
}
a:visited {
	text-decoration:none;
	color:#c00;
}
a:active {
	text-decoration:none;
	color:#c00;
}
a:hover {
	text-decoration:underline;
	color:#c00;
}

/*	background
============================== */

html, body, div#con-body {
	background-color:#ffe0e6;
}
body {
	color:#333;
	text-align:center;
	-webkit-text-size-adjust:100%;
	-ms-text-size-adjust: 100%;
	font-family:Arial,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
}



/*	copyright
============================== */
p.copyright {
	line-height:1.25;
	text-align:center;
}
p.copyright a {
}
@media all and (min-width: 768px) {
	p.copyright {
		font-size:75%;
		padding:25px 0 30px;
	}
	p.copyright a:hover {
		text-decoration:none;
	}
}
@media all and (max-width: 767px) {
	p.copyright {
		font-size:62.5%;
		padding:15px 10px;
	}
}


/*	aside
============================== */

aside.bnrs {
	width:300px;
	margin:0 auto;
}
/* sns buttons */
div.sns-btns {
	padding:6px 0 3px;
	background-image: -webkit-gradient(linear, left top, right top, from(hsla(358,67%,45%,0)), color-stop(0.25, hsla(358,67%,45%,1)), color-stop(0.75, hsla(358,67%,45%,1)), to(hsla(358,67%,45%,0)));
	background-image: -webkit-linear-gradient(left, hsla(358,67%,45%,0), hsla(358,67%,45%,1) 25%, hsla(358,67%,45%,1) 75%, hsla(358,67%,45%,0));
	background-image: linear-gradient(to right, hsla(358,67%,45%,0), hsla(358,67%,45%,1) 50%, hsla(358,67%,45%,1) 75%, hsla(358,67%,45%,0));
}
@media all and (min-width: 768px) {
div.sns-btns {
	border-radius:12px;
}
div.sns-btns div.tw {
	width:100px;
	float:left;
	margin-left:40px;
}
div.sns-btns div.fb {
	float:right;
}
}
@media all and (max-width: 767px) {
div.sns-btns {
	text-align:center;
}
div.sns-btns div.tw, div.sns-btns div.fb {
	display:inline-block;
}
div.sns-btns div.tw {
	padding-right:50px;
}
aside.bnrs {
	padding-bottom:12px;
}
}

/*	rectangle
============================== */
div.recta div {
	width:300px;
	height:250px;
	overflow:hidden;
}
@media all and (min-width: 768px) {
	.idx div.recta {
		padding-top:30px;
		padding-bottom:12px;
	}
}
@media all and (max-width: 767px) {
	div.recta {
		padding:12px 0;
	}
	div.recta div {
		margin:0 auto;
	}
}


/* =================================
	koikami TOP CSS
================================= */

header.header span.poster,
header.header span.poster img {
	display:block;
	background-repeat:no-repeat;
	background-position:center center;
}
header.header span.poster {
	background-image:url(../img/main03.jpg);
}
header.header span.poster img {
	background-image:url(../img/logo.png);
	background-color:hsla(347,100%,80%,0.5);
}
@media all and (min-width: 768px) {
header.header {
/*	background-color:hsla(357,68%,46%,0.9); */
	padding:30px 0;
}
header.header span.poster,
header.header span.poster img {
	width:924px;
	height:520px;
}
header.header span.poster {
	margin:0 auto;
}
}
@media all and (max-width: 767px) {
header.header span.poster {
	background-size:cover;
	position:relative;
	height:0;
	padding-top:56.277056277%;
}
header.header span.poster img {
	position: absolute;
	background-size:cover;
	left:0;
	top:0;
	width:100%;
	height:100%;
}
}

/*	ticker
============================== */

div.ticker {
	border:1px solid #ffbbc7;
	background-color: hsla(0,0%,100%,0.7);
	padding:0.5em;
}
div.ticker div.tck-outer {
	width:100%;
	overflow:hidden;
	position:relative;
	height:1.25em;
}
div.ticker div.tck-outer ul.tck-inner, div.ticker ul.tck-inner li, div.ticker ul.tck-inner li a {
	display:inline;
	white-space:nowrap;
}
div.ticker div.tck-outer ul.tck-inner {
	position:absolute;
	line-height:1.25;
}
div.ticker div.tck-outer ul.tck-inner li {
	position:relative;
	padding-right:3em;
}
div.ticker div.tck-outer ul.tck-inner li:before {
	content:"";
	width:20px;
	height:20px;
	display:inline-block;
	background-image:url(../img/ticker_icon.jpg);
	background-repeat:no-repeat;
	background-size:cover;
	background-position:center center;
	position:absolute;
	top:50%;
	margin-top:-10px;
	border-radius:10px;
	background-color:#fff;
}
div.ticker ul.tck-inner li a {
	color:#c00;
	text-decoration:none;
	padding-left:26px;
}
div.ticker ul.tck-inner li a dl, div.ticker ul.tck-inner li a dl dt, div.ticker ul.tck-inner li a dl dd {
	display:inline-block;
	white-space:nowrap;
}
div.ticker ul.tck-inner li a dl dt {
	padding-right:1em;
}
@media all and (min-width: 768px) {
div.ticker{
}
div.ticker ul.tck-inner li a {
	font-size:87.5%;
}
div.ticker ul.tck-inner li a:hover {
	text-decoration:underline;
}
}
@media all and (max-width: 767px) {
div.ticker {
	border-left: none;
	border-right: none;
	margin: 0 -12px;
}
div.ticker ul.tck-inner li a {
	font-size:83%;
}
}


div.menu {
	background-color:hsla(351,100%,65%,0.5);
}
div.menu nav ul li a, div.menu nav ul li a img {
	display:block;
}
div.menu nav ul li a img {
	background-image:url(../img/play.png);
}
@media all and (min-width: 768px) {
div.menu {
	padding:30px 0 18px;
}
div.menu nav {
	width:924px;
	margin:0 auto;
}
div.menu nav ul li {
	float:left;
	margin-bottom:12px;
}
div.menu nav ul li:nth-child(odd) {
	margin-right:12px;
}
div.menu nav ul li a, div.menu nav ul li a img {
	width:456px;
	height:267px;
}
}
@media all and (max-width: 767px) {
div.menu nav {
	padding:12px 12px 6px;
}
div.menu nav ul li {
	float:left;
	width:50%;
	margin-bottom:6px;
}
div.menu nav ul li:nth-child(odd) a {
	margin-right:3px;
}
div.menu nav ul li:nth-child(even) a {
	margin-left:3px;
}
div.menu nav ul li a {
	background-size:cover;
	position:relative;
	height:0;
	padding-top:56.25%;
}
div.menu nav ul li a img {
	position: absolute;
	background-size:cover;
	left:0;
	top:0;
	width:100%;
	height:100%;
}
}



/*COMMON*/
.bg_cover { background-image:url(../img/bg.jpg); background-repeat:repeat;}
.s_smp, .s_wsmp { display: block;}
.nt, .s_pc { display: none;}
.f90 { font-size: 90%;}
.f120 { font-size: 120%;}
.btmsp { padding-bottom: 20px;}
.ct { text-align: center;}
.litetxt { filter: alpha(opacity=80); -webkit-opacity: .8; -moz-opacity: .8; -khtml-opacity: .8; opacity: .8;}
.g_nav .cover, .contents .cover { width: 100%; height: 100%; background: url(/um/img/cover.png) repeat; display: block; position: absolute; top: 0; left: 0;}
/*menu*/
.g_nav { width: 100%; max-width: 924px; margin: 10px auto;}
.g_nav li { box-sizing: border-box; width: 19%; float: left; margin: 0 0.5%;}
.g_nav li .lnk { width: 100%; height: 0; padding-top: 50%; position: relative;}
.g_nav li .lnk a { width: 100%; height: 0; padding-top: 50%; position: absolute; top: 0; left: 0; background-repeat: no-repeat; -webkit-background-size: contain; background-size: contain;}
.g_nav #lnk_top .lnk a { background-image: url(../img/mn_top.jpg);}
.g_nav #lnk_intro .lnk a { background-image: url(../img/mn_intro.jpg);}
.g_nav #lnk_chara .lnk a { background-image: url(../img/mn_chara.jpg);}
.g_nav #lnk_cast .lnk a { background-image: url(../img/mn_cast.jpg);}
.g_nav #lnk_story .lnk a { background-image: url(../img/mn_story.jpg);}
.g_nav li .lnk a:hover { filter: alpha(opacity=90); -webkit-opacity: .9; -moz-opacity: .9; -khtml-opacity: .9; opacity: .9;}
#intro_lnk #lnk_intro a, #chara_lnk #lnk_chara a, #cast_lnk #lnk_cast a, #story_lnk #lnk_story a { cursor: default; pointer-events: none; filter: alpha(opacity=75); -moz-opacity: .75; -khtml-opacity: .75; opacity: .75; filter: opacity(75%) saturate(30%); -webkit-filter: opacity(75%) saturate(30%); -moz-filter: opacity(75%) saturate(30%); -o-filter: opacity(75%) saturate(30%);}
/*INDEX_menu*/
#ind_lnk li { box-sizing: border-box; width: 47%; float: left; margin: 0 0 5px 2%;}
#ind_lnk li .lnk { width: 100%; height: 0; padding-top: 100%; position: relative;}
#ind_lnk li .lnk a { width: 100%; height: 0; padding-top: 100%; position: absolute; top: 0; left: 0; background-repeat: no-repeat; -webkit-background-size: contain; background-size: contain;}
#ind_lnk #lnk_intro .lnk a { background-image: url(../img/ind-mn_intro.jpg);}
#ind_lnk #lnk_chara .lnk a { background-image: url(../img/ind-mn_chara.jpg);}
#ind_lnk #lnk_cast .lnk a { background-image: url(../img/ind-mn_cast.jpg);}
#ind_lnk #lnk_story .lnk a { background-image: url(../img/ind-mn_story.jpg?0);}

/*CONTENTS*/
.contents { width: 100%; margin: 0 auto; background-color:hsla(351,100%,65%,0.5);}
.contents h2 { font-size: 110%; letter-spacing: 0.2em; font-weight: bold; color: rgba(255, 255, 255, 1.0); padding: 15px 0 10px 0;}
.contents .nkm { width: 100%; margin: 0 auto; padding: 5px 0; color: rgba(84, 0, 34, 1.0); background-color:hsla(351,100%,65%,0.5); font-size: 75%;}
.contents .nkm .txtsp { box-sizing: border-box; width: 96%; max-width: 910px; margin: 0 auto; padding: 5px; background-color: rgba(255, 255, 255, 1.0); line-height: 160%;}
.contents .nkm .txtsp dt { box-sizing: border-box; background: rgba(240, 210, 210, 0.5); color: rgba(140, 55, 55, 1.0); font-weight: bold; padding: 10px; display: block; font-size: 105%;}
.contents .nkm .txtsp dd { padding: 10px; text-align: left;}
.contents .nkm .txtsp dd p { padding: 10px 0;}
.contents .nkm .txtsp .infotxt { font-size: 90%; text-align: center;}
.contents .nkm .txtsp table { width: 100%; border: 0; font-size: 110%;}
.contents .nkm .txtsp th { box-sizing: border-box; width: 40%; padding: 5px; text-align: right; vertical-align: top;}
.contents .nkm .txtsp td { box-sizing: border-box; width: 60%; padding: 5px; text-align: left; vertical-align: top; letter-spacing: 0.1em;}
/*intro*/
#intro .photoall { box-sizing: border-box; width: 100%; margin: 10px auto 0 auto;}
#intro .photosp { width: 100%; height: 0; padding-top: 56.206088992974239%; border: 4px solid hsla(351,100%,65%,0.2); position: relative;}
#intro .photo { width: 100%; height: 0; padding-top: 56.206088992974239%; background-repeat: no-repeat; -webkit-background-size: contain; background-size: contain; position: absolute; top: 0; left: 0; position: absolute; top: 0; left: 0;}
#p1, #p1pc { background-image: url(../img/p_intro1.jpg?1);}
#p2 { background-image: url(../img/p_intro2.jpg);}
/*chara*/
.contents #chara .txtsp dt { text-align: left; letter-spacing: 0.1em;}
#chara .photoall { box-sizing: border-box; width: 60%; max-width: 240px; margin: 10px auto 0 auto;}
#chara .photosp { width: 100%; height: 0; padding-top: 100%; border: 4px solid hsla(351,100%,65%,0.2); position: relative;}
#chara .photo { width: 100%; height: 0; padding-top: 100%; background-repeat: no-repeat; -webkit-background-size: contain; background-size: contain; position: absolute; top: 0; left: 0; position: absolute; top: 0; left: 0;}
#maria { background-image: url(../img/p_chara-maria.jpg);}
#mika { background-image: url(../img/p_chara-mika.jpg);}
#udagawa { background-image: url(../img/p_chara-udagawa.jpg);}
#yuria { background-image: url(../img/p_chara-yuria.jpg);}
#yuuto { background-image: url(../img/p_chara-yuuto.jpg);}

/*for_W640-*/
@media all and (min-width: 640px) {
.s_smp { display: none;}
.contents .nkm { font-size: 85%;}
.contents .nkm .txtsp dd { padding: 15px;}
.contents .nkm .txtsp table { font-size: 110%; letter-spacing: 0.1em;}
.contents .nkm .txtsp th { width: 45%;}
.contents .nkm .txtsp td { width: 55%; letter-spacing: 0.2em;}
/*intro*/
#intro .photoall { box-sizing: border-box; width: 80%; margin: 10px auto 0 auto;}
}
/*for_W768-*/
@media all and (min-width: 768px) {
.s_wsmp { display: none;}
.s_pc { display: block;}
.g_nav { margin-top: -20px;}
#ind_lnk li { box-sizing: border-box; width: 24%; float: left; margin: 40px 0.5% 5px 0.5%;}
.contents h2 { font-size: 140%; padding: 20px 0 15px 0;}
.contents .nkm { padding: 10px 0; font-size: 95%;}
.contents .nkm .txtsp dd { padding: 30px 40px;}
.contents .nkm .txtsp .infotxt { font-size: 90%; text-align: left;}
.contents .nkm .txtsp table { letter-spacing: 0.2em;}
.contents .nkm .txtsp th { width: 47%;}
.contents .nkm .txtsp td { width: 53%; letter-spacing: 0.3em;}
.pset:before, .pset:after { content: ""; display: table;}
.pset:after { clear: both;}
#intro .photoall { box-sizing: border-box; width: 48%; margin: 20px 2% 0 0; float: left;}
#chara .photoall { box-sizing: border-box; margin: 0 40px 0 0; float: left;}
}




/* =================================
	TBS Modal CSS
================================= */

/* =================================
	TBS Modal CSS
================================= */

.md-box {
	position:absolute;
	z-index:10001;
	left:50%;
	top:50%;
}
.md-close {
	padding-right:4px;
}
.md-close a, .md-close a span {
	display:block;
}
.md-box .md-close a {
	width:100%;
/*	cursor:-webkit-zoom-out;
	cursor:zoom-out; */
}
.md-close a:after {
	display:block;
	content:"";
	clear:both;
}
.md-close a span {
	float:right;
	background-repeat:no-repeat;
	font-size:2px;text-indent:110%;white-space:nowrap;overflow:hidden;
	cursor:pointer;
}
.md-inner {
	position:relative;
	background-color:#000;
	overflow:hidden;
}
.md-inner video {
	width:100%;
	max-width:100%;
	height:auto;
}
.md-inner div.md-pics {
	background-repeat:no-repeat;
	background-position:center center;
}
.md-caption {
	text-align:left;
	line-height:1.25;
	padding:0.5em 0;
}

/*	case narrow
============================== */
.md-nrw {
	width:100%;
	position:absolute;
	z-index:5200;
}
.md-nrw .md-caption {
	background-color:#000;
	bottom:0;
	width:100%;
}


@media all and (min-width: 640px), (min-height: 640px) {
.md-close a {
	height:46px;
}
.md-close a span {
	width:40px;
	height:40px;
}
.md-close a span {
	background-position:left top;
}
.md-inner {
	margin-bottom:6px;
}
.md-caption {
	font-size:75%;
}
}
@media all and (max-width: 639px), (max-height: 639px) {
.md-close a {
	height:28px;
}
.md-close a span {
	width:24px;
	height:24px;
}
.md-close a span {
	background-position:0 -200px;
}
.md-inner {
	margin-bottom:4px;
}
.md-caption {
	font-size:67.5%;
}
}

/*	customize
============================== */
.md-close a span {
	background-image:url(/um/img/btn_modal.svg);
	background-color:#000;
}
.md-inner {
	/*background-color: rgba(0,0,0,0.5);*/
	-webkit-box-shadow: rgba(0,0,0,0.5) 0px 0px 5px 2px;
	box-shadow: rgba(0,0,0,0.5) 0px 0px 5px 2px;
}
.md-caption {
	color:#fff;
	word-break:break-all;
}
@media all and (min-width: 640px), (min-height: 640px) {
.md-close a span {
	border-radius:20px;
}
}
@media all and (max-width: 639px), (max-height: 639px) {
.md-close a span {
	border-radius:12px;
}
}


div.modal-overlay {
z-index:10000;position:absolute;background-color:#000;width:100%;height:100%;left:0;top:0;right:0;bottom:0;opacity:0.9;
}

/*	印刷禁止対応
============================== */
@media print {
div.modal-overlay {
	display:none;
}
.md-box, .md-close {
	display:none;
}
}


/* =================================
	keyframes
================================= */

@-webkit-keyframes jackInTheBox {
	from {
		opacity: 0;
		-webkit-transform: scale(0.1) rotate(30deg);
		-webkit-transform-origin: center bottom;
	}
	50% {
		-webkit-transform: rotate(-10deg);
	}
	70% {
		-webkit-transform: rotate(3deg);
	}
	to {
		opacity: 1;
		-webkit-transform: scale(1);
	}
}
@keyframes jackInTheBox {
	from {
		opacity: 0;
		transform: scale(0.1) rotate(30deg);
		transform-origin: center bottom;
	}
	50% {
		transform: rotate(-10deg);
	}
	70% {
		transform: rotate(3deg);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}
@-webkit-keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}