.hidden {
	visibility: hidden !important;
}


.section {
	width: 560px;
	margin: 0 auto;
}

.yodogawa p {
	font-size: 180%;
	font-weight: bold;
}

.toc span {
	font-size: 160%;
	font-weight: bold;

	margin-right: 1em;

	vertical-align: middle;
}
.toc span + span + span {
	font-size: 120%;

	margin-right: 0;
}

.toc .current a {
	transition: none;

	color: #F00;
}
.toc .off span {
	transition: none;

	color: #ccc;
}
.toc .current a:hover {
	cursor: default;

	opacity: 1;
}

.section h2 {
	font-size: 300%;
	line-height: 1.5;

	margin-top: 2em;
	padding-bottom: .25em;

	text-align: center;

	border-bottom: 20px solid #f00;
}

.section h2 span {
	font-size: 75%;

	display: block;

	margin-right: 1em;
}

/* ----------------------------------------
* 
* 対談用 スタイルシート（定義リスト版）
* 
* ------------------------------------- */
.conv {
	width: auto;
	margin: 25px auto 25px;
}
.conv dl {
	display: table;

	width: 100%;
}
.conv dl + dl {
	margin-top: 0;
}
.conv dt,
.conv dd {
	font-size: 160%;

	display: table-cell;

	text-align: left;
}

/* 名前のセル */
.conv dt {
	font-weight: bold;

	width: 5em;
	padding: 2em 0 0 0;

	vertical-align: top;

	color: #000;
}

/* 発言のセル */
.conv dd {
	padding-top: 2em;

	vertical-align: middle;

	color: #000;
}

.conv dt.hobonichi {
	letter-spacing: -.125em;
}


.photo {
	padding-top: 3.2em;

	text-align: center;
}
.photo img {
	width: auto;
}

.continue {
	font-size: 160%;

	padding-top: 2em;

	text-align: center;
}

.date {
	font-size: 140%;
	font-weight: bold;
	line-height: 1;

	padding: 3px 0;

	text-align: center;

	color: #fff;
	background-color: #f00;
}




.share {
	margin: 4em auto 0;

	text-align: center;
}
.share h4 {
	font-size: 1.4em;

	margin-bottom: .5em;

	text-align: center;
}
.share li {
	font-size: 1.2em;

	display: inline-block;

	margin: 0 20px;

	text-align: center;
}
.share li a {
	display: block;
}
.share li i {
	font-size: 3em;

	display: block;
}

.device-pc .share__line {
	display: none;
}




.navi {
	margin-top: 4em;
	padding-top: 1em;

	text-align: center;

	border-top: 20px solid #f00;
}
.navi li {
	font-size: 160%;

	display: inline-block;

	margin: 0 1em;
}
.navi li:nth-of-type(1) {
	float: left;
}
.navi li:nth-of-type(3) {
	float: right;
}
.navi li i,
.navi li span {
	line-height: 1;

	display: inline-block;
}
.navi li i {
	font-size: 150%;

	vertical-align: middle;
}
.navi li span {
	font-weight: bold;

	vertical-align: middle;
}
.navi.top {
	margin-top: 0;
	padding-top: 0;

	border-top: 0 none transparent;
}
.navi.top li {
	font-size: 140%;
}




.device-sp .section {
	width: auto;
}
.device-sp .section h2 {
	font-size: 280%;
}
.device-sp .conv dt,
.device-sp .conv dd {
	display: block;
}
.device-sp .conv dd {
	font-weight: normal;
	padding-top: 0;
}
.device-sp .conv dd br {
	display: none;
}
.device-sp .photo img {
	width: 100%;
}