@charset "utf-8";
.red {
	color: red;
}
#main #contentsmenu {
	justify-content: center!important;
}
#contentstitle h1 {
	background-color: var(--cd-color);
}
#main h2 {
	color: var(--cd-color);
	border-left: 1em solid var(--cd-color);
}
#main #contentsmenu li a {
	border-color: var(--cd-color);
	color: var(--cd-color)!important;
}
#main #contentsmenu li a:hover {
	border-color: var(--cd-color);
	background-color: var(--cd-color)!important;
}
.followbtn.cd {
	background-color: var(--cd-color);
	border-color: var(--cd-color);
	margin-top: 15px;
}
a.followbtn.line {
	background-color: #fff!important;
	border: 1px solid var(--cd-color);
	color: var(--cd-color)!important;
}
.followbtn a {
	color: var(--cd-color)!important;
}
a.link .followbtn.line {
	background-color: #fff!important;
	border: 1px solid #E4007F;
	color: #E4007F!important;
}
p + .followbtn.line,
br + .followbtn.line,
p + a .followbtn.line,
br + a .followbtn.line {
	margin-top: 10px;
}
.followbtn.line::before,
.followbtn.line::after {
	color: var(--cd-color)!important;
}
a.link .followbtn.line::before,
a.link .followbtn.line::after {
	color: #E4007F!important;
}

.in-element span.followbtn {
	padding: 0;
}
.in-element span.followbtn::after {
	content: '';
}
.free_input_box a:hover {
	text-decoration: none;
}

a.link .followbtn.line,
.followbtn.line a.link {
	display: block;
	text-decoration: none;
	width: 100%;
	text-align: left;
	line-height: 1;
	padding: .5em 1em;
	border-radius: .3em;
	position: relative;
	transition: all .6s;
	background-color: #fff!important;
	border: 1px solid var(--cd-color);
	color: var(--cd-color)!important;
}
.followbtn:link,
.followbtn:visited,
.followbtn:hover,
.followbtn:active {
	color: #FFF;
	line-height: 1;
}
a.link .followbtn.line::after,
.followbtn.line a.link::after {
	position: absolute;
	content: '〉';
	display: block;
	right: .3em;
	top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	transition: all .6s;
	color: var(--cd-color)!important;
}
a.link .followbtn.line::before,
.followbtn.line a.link::before {
	position: absolute;
	content: '〉';
	display: block;
	right: .6em;
	top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	transition: all .6s;
	color: var(--cd-color)!important;
	opacity: 0;
}
a.link:hover .followbtn.line::before,
.followbtn.line a.link:hover::before {
	opacity: 1;
}
a.link:hover .followbtn.line,
.followbtn.line a.link:hover {
	text-decoration: none;
}
body.cms span.followbtn {
	padding: 0;
}
body.cms span.followbtn::after {
	content: '';
}









#main .imgbox {
	text-align: center;
}


/* ジャケット一覧設定 */
#main ul.list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}
#main ul.list li {
	width: 80px;
	height: 80px;
}
#main ul.list li a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
}
#main ul.list li img {
	max-width: 100%;
	max-height: 100%;
}


.box {
	background-color: #FFF;
	border-radius: .3em;
	padding: 20px;
	margin-bottom: 20px;
	-webkit-box-shadow: 0px 0px 10px rgba(200,92,255,0.50);
	box-shadow: 0px 0px 10px rgba(200,92,255,0.50);
}
.box .title {
	text-align: left;
	border-left: .8em solid var(--cd-color);
	font-size: 140%;
	letter-spacing: -.03em;
	padding: .3em 1em;
	margin-bottom: 20px;
	line-height: 1.2;
	/*text-shadow: 2px 2px 6px rgba(200,92,255,0.50);*/
	word-break: keep-all;
}
.box .title p > span {
	line-height: 1;
	letter-spacing: 0;
	display: block;
	margin-bottom: .5em;
}
.box .title p > span > span {
	display: inline-block;
}
.box .infobox.bd .spec .list {
	padding: 0 .5em;
}

@media screen and (min-width:481px) {
	.box .title p > span {
		font-size: 70%;
	}
	.box .infobox {
		display: flex;
		flex-wrap: wrap;
	}
	.box .infobox.bd {
		display: inline;
	}
	.box .infobox .cover {
		width: 40%;
		margin-bottom: 15px;
	}
	.box .infobox.bd .cover {
		width: 100%;
		margin-bottom: 15px;
	}
	.box .infobox .spec {
		width: 60%;
		line-height: 1.2;
		padding-left: 1em;
	}
	.box .infobox.bd .spec {
		width: 100%;
		line-height: 1.2;
		padding-left: 0;
	}
	.box .infobox .spec.clear {
		clear: both;
		width: 100%;
		padding-left: 0em;
	}
}
@media screen and (max-width:480px) {
	.box .title p > span {
		font-size: 60%;
	}
	.box .infobox {
		display: inline;
	}
	.box .infobox .cover {
		margin-bottom: 30px;
	}
	.box .infobox .spec {
		line-height: 1.2;
	}
}

.box .infobox .cover img {
	display: block;
	margin: 0 auto 10px;
}
.box .infobox .cover img:last-child {
	margin: 0 auto;
}
.box .infobox .spec > dt {
	font-size: 80%;
	color: var(--cd-color);
	border-bottom: thin solid rgba(200,92,255,0.30);
	padding: 0 .5em .2em .5em;
	margin-bottom: .5em;
}
.box .infobox .spec > dd {
	padding: 0 .5em .2em 1em;
	margin-bottom: 1em;
}
.box .infobox.bd .spec > dd {
	padding: 0 .5em .2em .5em;
	margin-bottom: 1em;
}
.box .infobox .spec > dd.price span {
	display: inline-block;
	width: 3.5em;
	margin: 0 .5em;
	text-align: center;
	position: relative;
}
.box .infobox .spec > dd.price span::before {
	content: '[';
	width: .5em;
	display: inline-block;
	position: absolute;
	left: 0;
	margin-left: -.5em;
}
.box .infobox .spec > dd.price span::after {
	content: ']';
	width: .5em;
	display: inline-block;
	position: absolute;
	right: 0;
	margin-right: -.5em;
}

.box .infobox .spec > dd .inbox {
	padding-left: 2em;
}
.box .infobox .spec > dd .inbox span {
	display: inline-block;
	margin-left: -1.2em;
	width: 1.2em;
	text-align: left;
}


.member {
	font-size: 80%;
	padding-left: 1em;
}
.member li {
	margin-top: .3em;
}

.spec .track {
	margin-bottom: 20px;
}
.spec .track:last-of-type {
	margin-bottom: 0;
}
.track li {
	margin-bottom: .8em;
}
.track li > ins {
	text-decoration: none;
	font-size: 80%;
	letter-spacing: -.01em;
	display: inline-block;
	padding-left: 2em;
}
.track li > span {
	display: block;
	padding-top: .2em;
	padding-left: 1.8em;
	font-size: 90%;
	letter-spacing: -.01em;
}

.track li > dl {
	font-size: 80%;
	padding: .5em 0 0 2em;
	color: #666;
	line-height: 1;
}
.track li > dl dt {
	float: left;
}
.track li > dl dd {
	letter-spacing: -.01em;
	margin-bottom: .5em;
}
.track li:last-child > dl dd:last-child {
	margin-bottom: 0;
}
.track.bd li {
	padding-left: 3em;
	position: relative;
}
.track.bd li > strong {
	font-weight: normal;
	display: inline-block;
	width: 3em;
	margin-left: -3em;
}
.track.bd li > span {
	padding-left: 0;
}




.spec p.date {
	margin-top: 2em;
	margin-bottom: 1em;
	font-weight: 600;
}
.spec p.date:first-child {
	margin-top: 1em;
}

.spec p.media {
	background-color: rgba(200,92,255,0.10);
	display: block;
	font-size: 80%;
	font-weight: 600;
	padding: .3em .5em;
	margin-bottom: 1em;
}
.tokutenbox {
	font-size: 80%;
	line-height: 1.2;
	letter-spacing: -.001em;
	margin-top: 20px;
	padding: 1em;
	background-color: rgba(200,92,255,0.10);
	border-radius: .3em;
}
.tokutenbox .tokutentitle {
	margin-left: 1.2em;
}
.tokutenbox .tokutentitle::before {
	content: '●';
	width: 1.2em;
	display: inline-block;
	margin-left: -1.2em;
}
.tokutenbox .tokutenlist li {
	margin-left: 1em;
	margin-top: .5em;
}
.tokutenbox .tokutenlist li::before {
	content: '・';
	width: 1em;
	display: inline-block;
	margin-left: -1em;
}
.tokutenbox .tokutenlist li.ast::before {
	content: '※';
	width: 1em;
	display: inline-block;
	margin-left: -1em;
}
.tokutenbox td span {
	display: inline-block;
}
.tokutenbox .tokutenlist li .imgbox {
	background-color: #fff;
	text-align: center;
	margin-top: 5px;
	margin-bottom: 10px;
	border-radius: 5px;
}
.tokutenbox .tokutenlist li:last-child .imgbox {
	margin-bottom: 0;
}


.kokuchibox {
	line-height: 1.2;
	letter-spacing: -.001em;
	margin-top: 20px;
	padding: 1em;
	border-radius: .3em;
	border: 1px solid var(--cd-color);
}
.kokuchibox .tokutentitle {
	margin-left: 1.2em;
}
.kokuchibox .followbtn {
	margin-top: 10px;
}

.subinfotxt {
	font-size: 80%;
	line-height: 1;
	color: #666;
	margin-top: 20px;
}

.jumptotop {
	width: 100%;
	margin-bottom: 30px;
}
.jumptotop a {
	display: flex;
	justify-content: center;
	align-items: center;
	align-content: center;
	background-color: var(--cd-color);
	width: 30px;
	height: 30px;
	border-radius: 15px;
	font-size: 80%;
	color: #FFF;
	margin: 0 0 0 auto;
}


[data-ruby] {
    position: relative;
	display: inline-block;
	text-align: center;
	width: 60px;
}
[data-ruby]::after {
    content: attr(data-ruby);
    position: absolute;
    top: -1em;
	left: 0;
	right: 0;
	margin: auto;
    font-size: 10px;
	display: block;
	text-align: center;
}
@media screen and (max-width:480px){
	[data-ruby]::after {
		transform: scale(0.8);
	    top: -.8em;
	}
}
rt {
    display: none;
}


.in-element {
	min-height: 300px;
	transition: .3s all;
	opacity: 0;
}
.in-element.is-active {
	opacity: 1;
}

.spec .list {
	padding: 0;
	margin-bottom: 1em;
}
.free_input_box {
	/*border: 1px solid var(--cd-color);
	padding: 1em;
	border-radius: .3em;*/
	margin-top: 1em;
}
.free_input_box > .tokutenbox {
	margin: 1em 0 0;
	width: calc(100%);
}
/*.free_input_box > .tokutenbox:first-child {
	margin-top: -.5em;
}
.free_input_box > .tokutenbox:last-child {
	margin-bottom: -.5em;
}*/

.cover .cover_inner span {
	display: block;
	line-height: 1;
	margin-top: -5px;
	margin-bottom: 15px;
	font-size: 80%;
}
