/* =================================
	character
================================= */
div.outer {
	padding-top:10px;
	margin-top:-10px;
	position:relative;
}

figure.chara-pic p {
	padding:3px;
}
figure.chara-pic p span, figure.chara-pic p span img {
	display:block;
}
figure.chara-pic p span {
	position:relative;
	height:0;
	background-repeat:no-repeat;
	background-size:cover;
	padding-top:100%;
	border-radius: 0 40px 0px 40px;
}
figure.chara-small p span {
	padding-top:100%;
}
figure.chara-pic p span img {
	position: absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}
figure.chara-pic p span.lazy-done {
	-webkit-animation: fadeIn 700ms;
	animation: fadeIn 700ms;
}

div.inner > dl dt {
	position:relative;
	color: #FFC927;
}
div.inner > dl dt rt {
	font-weight:normal;
	
}

div.inner > dl dt {
	line-height:1.25;
}

div.inner > dl dt span.nm {
	position:absolute;
	right:0;
	bottom:0.2em;
	color:#33312B;
}

div.inner > dl dt::after {
	content:"";
	display:block;
	height:1px;
	width:100%;
	background-color:#33312B;
	margin-top:8px;
	margin-bottom:20px;
}

div.inner > dl dt span.role {
	-webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

@media all and (min-width: 768px) {
div.outer:not(:last-child) {
	margin-bottom:30px;
}

div.inner {
	display:flex;
}

figure.chara-pic {
	width:40%;
	margin-right:3%;
}
div.inner > dl {
	width:57%;
}

div.inner > dl dt span.role {
	font-size:175%;
}
div.inner > dl dt span.nm {
	font-size:125%;
	padding-bottom:0.25em;
}

}
@media all and (max-width: 767px) {
div.outer {
	padding:20px 0;
}

div.outer:not(:last-child) {
	margin-bottom:30px;
}

figure.chara-pic {
	margin:0 12%;
}
figure.chara-pic p {
	margin-bottom:12px;
}
figure.chara-pic p span {
	border-radius: 0 30px 0px 30px;
}
div.inner > dl dt span.role {
	font-size:125%;
}
div.inner > dl dt span.nm {
	font-size:112.5%;
	padding-bottom:0.5em;
	/*-webkit-transform: translate(0, -20%);
	-ms-transform: translate(0, -20%);
	transform: translate(0, -20%); */
}
}



@media print {
figure.chara-pic {
	display:none;
}
}


div.inner > dl dd .btn {
	text-decoration:none;
}
.btn span {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto;
	width: 40%;
	color: #002c48;
	background-color: #fea499;
	transition: 0.3s;
}
.btn span::after {
	content: '';
	width: 9px;
	height: 9px;
	border-top: 3px solid #333333;
	border-right: 3px solid #333333;
	transform: rotate(45deg);
}
@media all and (min-width: 768px) {
.btn span {
	padding: 0.5em 1em;
	font-size: 150%;
}
}
@media all and (max-width: 767px) {
.btn span {
	padding: 0.5em 1em;
	font-size: 125%;
}
}
