/* 閉じるボタンを大きく */
.fa-window-close {
	font-size: 1.6rem;
}

/* 自分のセリフは操作するのでブロック表示 */
/* アクションがあることを明確にするため、カーソルを変更する。 */
.mine .word {
	display: block;
    cursor: pointer;
}
/* 印刷番号 */
p.printNo {
    /*background-color: #f9f9f9;*/
    top: 0;
    width: 4em;
    margin: 0 0 0 auto; /* 要素自体を右寄せ */
    text-align: center; /* 要素内でセンタリング*/
    /*border: 1px solid #444;*/
}

/* セリフと役名のコンテナ */
.role-srf {
    display: table;
    border-collapse:collapse; /*隣接する要素のborderを共有*/
    width: 100%;
}
.role-srf.mine { /* 自分のセリフ */
    border: 1px solid red;
}
/* セリフと役名 - 役名部分 */
.role-srf>.role {
	display: table-cell;
    width: 5em;
    min-width: 5em;
    margin-right: 2px;
    border: 1px dotted #444;
}
.role-srf.mine>.role {
	color: red;
	font-weight: bold;
}
/* セリフと役名 - セリフ部分 */
.role-srf>.srf {
	display: table-cell;
    border: 1px dotted #444;
}

/* 上下に隣接するセリフのborderの重複を除去 */
.role-srf+.role-srf>.role{
	border-top: 0;
}
.role-srf+.role-srf>.srf{
	border-top: 0;
}

/* おぼえるために伏せたセリフ */
.role-srf.fuse {
	background-color: #eee;
}

/* アコーディオン階層を明確にする */
details.menu-lv1>summary {
	background: #fee;
}
details.menu-month>summary {
	background: #ffe;
	font-weight: normal;
}
details.menu-day>summary {
	background: #ffe;
	font-weight: normal;
}
details.scene>summary {
	background: #ffe;
}

/* summaryは見出しとして活用するのでスクロール時粘着 */
summary {
	position: sticky; /* 親要素の範囲内で上に固定 */
    top: 0; /* 親要素の範囲内で上に固定 */
}

/* 選択された役名をハイライト */
ul.roles>li.selected {
	font-weight: bold;
    background-color: #ff9;
}

/* ランスルー時スキップ対象 */
.through{
	font-size: 0;
}

/* 横並びで表示するリストのサブリストは非表示 */
ul.line ul {
	display: none;
}

/* 過去のスケジュールをグレーアウト */
.past {
	background-color: #eee;
}
.past details.menu-day>summary {
	background: #eee;
	font-weight: normal;
	font-size: 0.8em;
}

/* 背景画像にzo.svgを配置 */
.zoimg {
	background-image: url(zo.svg);
	background-repeat: no-repeat;
	background-position: center;
	width: 50px;
	height: 50px;
	text-align: center;
	margin: 0 auto;
}


/* わずかに揺れるボタン（潜在的な存在感） */
.fuwa {
	animation: fuwa 1.5s infinite;
}
@keyframes fuwa {
	0% {
		transform: translate(0px, 0px)
	}
	50% {
		transform: translate(0px, 2px) rotateZ(0deg)
	}
}

/* 選択済み要素の親に付与するクラス */
div[data-selected=true],span[data-selected=true] {
    background-color: #ff9;
}

/* ミニゲーム用 */
.exit8 {
    background-color: #ffd700;
    border-radius: 10px;
    color: #000;
    padding: 5px;
    margin: 1px
}
#exit8sign {
    border: 1px solid #000;
    padding: 1em 2em;
}
#exit8sign h2 {
    background-color: #000;
    color: #fff;
    padding: 0.2em;
    text-align: center;
}
#exit8sign-yellow {
    border: 1px solid #000;
    background-color: #ffd700;
    color: #000;
    padding: 1em;
    margin-top: 1em;
}
#exit8sign-yellow span {
    font-size: 2em;
}
#cnt-exit8 {
    margin-top: 1em;
}
.exit8-ihen1 {
	display: inline-block;
	animation: shake 2s infinite;
	transform: rotate(20deg);
}
.exit8-ihen2 {
	display: inline-block;
	transform: rotate(180deg);
}
.exit8-ihen3 {
	text-shadow: 0 0 5px rgba(0, 0, 0, 0.9);
}
.exit8-ihen4 {
	transform: rotate(-2deg);
}
@keyframes shake {
	0% {transform: rotate(20deg);}
	50%{transform:rotate(-20deg);}
	100%{transform:rotate(20deg);}
}

.badge{
    position: relative;
    top: -1rem;
    right: -1rem;
    float:right;
    cursor: pointer;
    display:block;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    color: white;
    text-align: center;
    font-size: 0.8em;
	line-height:2em;
}
