body {
	background: #000;
	background-image: url('../img/bg.webp');
	background-repeat: repeat;
	color: #fff;
}

.main {
	background: url('../img/bg-bottom-dot.png') no-repeat bottom right;
}

.main img {
	max-width: 100%;
}

@media (min-width: 950px) {
	br.sp {
		display: none;
	}
}

/**--------------------
---------------------*/
.shinycolors_logo {
	width: 95%;
	max-width: 1300px;
	margin: 25px auto 0;
}
.shinycolors_logo-image {
	position: relative;
}
@media (max-width: 950px) {
	.shinycolors_logo {
		margin-top: 10px;
	}
	.shinycolors_logo-image {
		width: 90px;
	}
}

/**--------------------
---------------------*/
.section {
	position: relative;
	padding: 50px 0;
}
@media (max-width: 950px) {
	.section {
		padding: 30px 0;
	}
}

.inner {
	width: 95%;
	max-width: 1000px;
	margin-right: auto;
	margin-left: auto;
}

/**--------------------
	タイトル共通
---------------------*/
.title_center {
	text-align: center;
}
@media (max-width: 950px) {
	.title_center img {
		width: 45%;
	}
}

.title_full {
	position: relative;
	margin-bottom: 36px;
}

.title_full_line {
	margin-top: -10px;
	display: flex;
	user-select: none;
	-webkit-mask-image: linear-gradient(to right, black, black 1.5em, black calc(100% - 20%), transparent);
	mask-image: linear-gradient(to right, black, black 1.5em, black calc(100% - 10%), transparent);
}
@media (max-width: 950px) {
	.title_full {
		margin-bottom: 20px;
	}
	.title_full_img {
		width: 75%;
	}

	.title_full_line {
		margin-top: 0;
	}
}

.title_full_line::before,
.title_full_line::after {
	content: '';
	background: url(../img/bg-line.png) repeat-x;
}
.title_full_line::before {
	flex: 5;
}
.title_full_line::after {
	flex: 1;
}

/**--------------------
	タイトル共通
---------------------*/
.text-block {
	margin-bottom: 40px;
}

.text-block p {
	font-size: 20px;
	text-align: center;
	font-family: 'Noto Sans JP', sans-serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
	line-height: 1.7;
}

.text-block a {
	color: #daccfe;
}

@media (max-width: 950px) {
	.text-block p {
		font-size: 16px;
	}
}

/**--------------------
	KV
---------------------*/
.kv {
	position: relative;
	width: 100%;
	/* max-width: 1600px; */
	margin: 0 auto;
	overflow: hidden;
}
.kv::before,
.kv::after {
	content: '';
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
}
.kv::before {
	right: 0;
	background: url('../img/bg-kv-r.png') no-repeat top right;
}
.kv::after {
	left: 0;
	background: url('../img/bg-kv-l.png') no-repeat bottom left;
}
.kv_inner {
	position: relative;
	width: 100%;
	max-width: 1000px;
	margin-right: auto;
	margin-left: auto;
	z-index: 5;
}
/**問い合わせボタン*/
.kv-letter {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 13.3%;
}
.kv-ch {
	width: 71.4%;
	vertical-align: top;
	user-select: none;
	pointer-events: none;
}
.kv-logo {
	position: absolute;
	top: 45%;
	right: 7%;
	width: 35%;
	transform: translate(0, -50%);
	user-select: none;
	pointer-events: none;
}
.kv-logo::before {
	content: '';
	position: absolute;
	top: 3%;
	left: 45%;
	width: 110%;
	height: 110%;
	background: url('../img/bg-logo-dot.png') no-repeat;
	opacity: 0.5;
	/* background-size: contain; */
}
.kv-logo img {
	position: relative;
}

@media (max-width: 950px) {
	.kv {
		width: 95%;
	}
	.kv::before,
	.kv::after {
		width: 50%;
		background-size: 100% auto;
	}
	.kv-ch {
		width: 90%;
	}
	.kv-logo {
		top: 30%;
		right: 0%;
		width: 42%;
	}
	.kv-logo::before {
		display: none;
	}

	.kv-letter {
		width: 25%;
	}
}

/**--------------------
	最新話はこちら
---------------------*/
.new_release {
	position: relative;
	padding-top: 20px;
}

.thumb {
	position: relative;
	max-width: 720px;
	margin: 0 auto 20px;
}
.thumb_link {
	position: absolute;
	top: 0;
	left: 5%;
	width: 90%;
}
.thumb_link::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url('../img/play.png') no-repeat center center;
	background-size: 18% auto;
	pointer-events: none;
}

.thumb_main {
	padding: 1px;
	background: linear-gradient(
		90deg,
		rgba(202, 239, 255, 1) 0%,
		rgba(218, 205, 255, 1) 50%,
		rgba(255, 194, 244, 1) 100%
	);
}

.thumb_link:hover::after {
	opacity: 0.8;
}

/**--------------------
	おたより
---------------------*/
.letter {
	position: relative;
	padding: 55px 0;
	background: #2e2f3ca6 url(../img/bg-hbtk-outline.png) no-repeat left bottom;
}
.letter_btn {
	text-align: center;
}
.letter_btn_img {
	transition-duration: 0.3s;
}
.letter_btn_img:hover {
	transform: scale(0.95);
}
@media (max-width: 950px) {
	.letter {
		padding: 20px 0 40px;
	}
	.letter_btn_img {
		width: 70%;
	}
}
/**--------------------
	詳細リンクへ
---------------------*/
.detail {
	text-align: right;
}
.detail_link {
	color: #dbdfe9;
	text-decoration: none;
	font-weight: bold;
	font-family: 'Noto Sans JP', sans-serif;
}
.detail_link:hover img {
	transition-duration: 0.3s;
	transform-origin: left;
	transform: translateX(8%);
}
@media (max-width: 950px) {
	.detail {
		padding-right: 15px;
	}
	.detail_link {
		font-size: 14px;
	}
}

.link_block {
	display: flex;
	justify-content: center;
	gap: 50px;
}
@media (max-width: 950px) {
	.link_block {
		gap: 5px;
	}
}

.link_banner {
	transition-duration: 0.3s;
}
.link_banner:hover {
	opacity: 0.8;
}

.sns-link {
	margin-top: 50px;
	text-align: center;
}
.sns-link-img {
	transition-duration: 0.3s;
}
.sns-link-img:hover {
	opacity: 0.8;
}
@media (max-width: 950px) {
	.sns-link {
		margin-top: 40px;
	}
}

.copyright {
	padding: 30px 0;
	font-size: 12px;
	text-align: center;
	color: #fff;
}
