@charset "UTF-8";

/* -------------------------------------------------------------------------- */

body::before {
	background: linear-gradient(70deg, #ffdb4f, #FFFACD) !important;
}

/* -------------------------------------------------------------------------- */
/* .overItem */
/* ----------------------------- */
#overItem {
	display: none;
	position: fixed;
	z-index: 100;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-color: rgba(255, 255, 255, .8);
}

#overItem>div {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	text-align: center;
	box-sizing: border-box;
	background-color: #fff;
	border: #000 1px solid;
}

#overItem>div .close {
	position: absolute;
	right: 1%;
	top: -1em;
	width: 7em;
	height: 2em;
	line-height: 2em;
	cursor: pointer;
	text-align: center;
	font-size: 1.3em;
	color: #fff;
	background-color: #000;
	border-radius: 1em;
}

#overItem>div h3 {
	padding-bottom: .3em;
	border-bottom: #000 1px dotted;
}

#overItem>div dt {
	margin-bottom: .3em;
	font-size: 1.2em;
	font-weight: bold;
}

#overItem>div small {
	display: block;
	line-height: 1.4em;
}

/* ----------------------------- */
body:not(.sphone) #overItem>div h3 {
	font-size: 2em;
}

body:not(.sphone) #overItem>div dt {
	margin-top: 1.5rem;
}

body:not(.sphone) #overItem>div small {
	margin-top: 3rem;
}

/* ----------------------------- */
.pc #overItem>div {
	width: 50%;
	height: 80%;
	padding: 2%;
}

/* ----------------------------- */
.tablet #overItem>div {
	width: 80%;
	height: 45%;
	padding: 4%;
}

/* ----------------------------- */
.sphone #overItem>div {
	width: 96%;
	height: 74%;
	padding: 10% 0 8%;
}

.sphone #overItem>div h3 {
	font-size: 1.4em;
}

.sphone #overItem>div dt {
	margin-top: 4%;
}

.sphone #overItem>div small {
	margin: 8% 3% 0;
}

/* -------------------------------------------------------------------------- */
/* .article */
/* ----------------------------- */
article .cont {
	display: flex;
	flex-direction: column;
	align-items: center;
}

article .cont .artist_name {
	margin-top: 1em;
	margin-bottom: 1em;
	text-align: center;
    font-size: 140%;
}
article .cont .artist_name span {
    display: inline-block;
    line-height: 1;
    margin-top: 1em;
    font-size: 110%;
}
article .cont .img img {
	width: 100%;
	height: 0;
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100% auto;
}

article .cont h2 {
	letter-spacing: .06em;
	font-weight: normal;
	color: #E75480;
}

article .cont h2 span {
	display: block;
	font-size: .6em;
}

/* ----------------------------- */
/* 
body:not(.sphone) article .cont {
	letter-spacing: -.4rem;
}
body:not(.sphone) article .cont>div {
	display: inline-block;
	letter-spacing: normal;
	vertical-align: top;
	*display: inline;
	*zoom: 1;
} */

body:not(.sphone) article .cont>div:first-of-type {
	width: 36%;
}

body:not(.sphone) article .cont>div:nth-of-type(2) {
	width: 60%;
	margin: 0 auto;
	padding-top: 1rem;
}

body:not(.sphone) .cont .img img {
	padding-top: 135%;
}

body:not(.sphone) article .cont h2 {
	font-size: 2.4em;
}

body:not(.sphone) article .cont h2 span {
	margin-top: .8rem;
}

/* ----------------------------- */
.pc article .cont {
	margin: 2rem 19% 0;
}

/* ----------------------------- */
.tablet article .cont {
	margin: 3% 6% 0;
}

/* ----------------------------- */
.sphone article .cont {
	position: relative;
	margin: 5% 3% 0;
}

.sphone .cont .img {
	width: 70%;
	margin: auto;
	padding-top: 22vw;
}

.sphone .cont .img img {
	padding-top: 135%;
}

.sphone article .cont h2 {
	width: 100%;
	text-align: center;
	font-size: 2.4em;
	margin-bottom: 0;
}

.sphone article .cont h2 span {
	margin-top: 3%;
}

/* -------------------------------------------------------------------------- */
/* .container */
/* ----------------------------- */
.container_wrap {
	max-width: 800px;
	margin: 0 auto;
	text-align: center;
}

.container .thumbnail {
	justify-content: center;
}

/* -------------------------------------------------------------------------- */
/* .prof */
/* ----------------------------- */
.cont .prof {
	border-top: #F6BE00 1px solid;
	border-bottom: #F6BE00 1px solid;
	background: rgba(255, 255, 255, 0.5);
	text-align: center;
}

.cont .prof_box {
	display: inline-block;
	text-align: left;
	line-height: 2;
}

.cont .prof_box span {
	display: inline-block;
	min-width: 6em;
}

/* ----------------------------- */
body:not(.sphone) .cont .prof {
	margin-top: 1rem;
	padding: .5rem;
	color: #E75480;
}

/* ----------------------------- */
.sphone .cont .prof {
	margin-top: 3%;
	padding: 2%;
	color: #E75480;
}

/* -------------------------------------------------------------------------- */
/* .sns */
/* ----------------------------- */
.cont ul.sns {
	text-align: center;
	letter-spacing: -.4rem;
}

.cont ul.sns li {
	display: inline-block;
	letter-spacing: normal;
	vertical-align: top;
	*display: inline;
	*zoom: 1;
}

.cont ul.sns a {
	display: block;
	height: 0;
	padding-top: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-color: #2d2c28;
	border-radius: 50%;
	transition: all 180ms 0s ease-out;
}

.cont ul.sns a:hover,
.cont ul.sns a:focus {
	transform: scale(.94);
}

.cont ul.sns .fb a {
	background-image: url(../images/sns_fb.png);
}

.cont ul.sns .tw a {
	background-image: url(../images/sns_tw.png);
}

.cont ul.sns .yt a {
	background-image: url(../images/sns_yt.png);
}

.cont ul.sns .in a {
	background-image: url(../images/sns_in.png);
}

.cont ul.sns .site a {
	background-image: url(../images/sns_site.png);
}

.cont ul.sns .tk a {
	background-image: url(../images/sns_tk.png);
}

/* ----------------------------- */
body:not(.sphone) .cont ul.sns {
	margin-top: 1rem;
}

body:not(.sphone) .cont ul.sns li {
	width: 12.6%;
}

body:not(.sphone) .cont ul.sns li:not(:last-child) {
	margin-right: 2%;
}

/* ----------------------------- */
.sphone .cont ul.sns {
	margin-top: 3%;
}

.sphone .cont ul.sns li {
	width: 12%;
}

.sphone .cont ul.sns li:not(:last-child) {
	margin-right: 3%;
}

/* ----------------------------- */
@media screen and (max-width: 600px) {

	/* name */
	h2+span {
		font-size: 0.9em !important;
		/* color: gray !important; */
		text-align: center !important;
		display: block;
		margin-top: 0.3em;
	}

	/* prof */
	.prof {
		text-align: center !important;
	}

	.prof>div {
		display: inline-block;
		text-align: left;
		margin: 0 auto;
	}

	/* footer */
	footer {
		text-align: center !important;
		padding: 1.5em 1em;
	}

	footer small,
	footer p {
		display: block;
		text-align: center !important;
		margin: 0.5em 0;
		font-size: 0.9em;
	}

	.container_wrap {
		max-width: 100%;
	}

	.slider {
		margin: 0 0 auto;
	}
}


