﻿@charset "utf-8";
/* CSS Document */

@import 'https://fonts.googleapis.com/css2?family=Cormorant+Infant:wght@300;400&family=Noto+Sans+SC:wght@100;400;900&family=Poppins:wght@400;700&family=Cascadia+Mono:ital,wght@0,200..700;1,200..700&family=Audiowide&display=swap';

@font-face {
	font-family:"shmlwwkav3";
	src:url("../font/shmlwwkav3.woff2") format("woff2");
	font-style:normal;
	font-weight:400;
	font-display:swap;
}

/* clearfix */

.cf:before,
.cf:after {
    content: " ";
    display: table;
}

.cf:after {
    clear: both;
}

.cf {
    *zoom: 1;
}

/* 画像センタリング */

.cr {margin:0 auto;}
.cr5 {margin:10px auto;}
.cr10 {margin:10px auto;}
.cr20 {margin:20px auto;}
.cr30 {margin:30px auto;}

.cr15o {margin:15px auto 0;}
.cr20o {margin:20px auto 0;}

.cr15u {margin:0 auto 15px;}
.cr20u {margin:0 auto 20px;}
.cr50up {margin:0 auto; padding-bottom:50px;}

/* 点滅 */
.blinking{
	-webkit-animation:blink 1.5s ease-in-out infinite alternate;
    -moz-animation:blink 1.5s ease-in-out infinite alternate;
    animation:blink 1.5s ease-in-out infinite alternate;
}
@-webkit-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@-moz-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}

.blink_costume{
	-webkit-animation:blink 1.5s ease-in-out infinite alternate;
    -moz-animation:blink 1.5s ease-in-out infinite alternate;
    animation:blink2 1.5s ease-in-out infinite alternate;
}
@-webkit-keyframes blink2{
    0% {opacity:0.5;}
    100% {opacity:1;}
}
@-moz-keyframes blink2{
    0% {opacity:0.5;}
    100% {opacity:1;}
}
@keyframes blink2{
    0% {opacity:0.5;}
    100% {opacity:1;}
}


/* FireFoxFadeブレ防止 */

img { display:block; box-shadow: #000 0 0 0; }


/* 全体・枠作り */

html,body {
	height:100%;
}

html {
	font-size:62.5%;
}

img { display:block; }

.mr2 {margin-right:2px;}
.mr32 {margin-right:32px;}
.mr40 {margin-right:40px;}
.mr50 {margin-right:50px;}
.mr100 {margin-right:100px;}

body {
	font-family:"Poppins", "Noto Sans SC", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	text-align:center;
}

#PageWrapper {
	min-height: 100%;
	height: auto !important;
	height: 100%;
	position: relative;
	width:100%;
	min-width:1000px;
	background:url(../img/bg_bottom.jpg) center bottom repeat-x;
}

.block {
	width:100%;
	position:relative;
}

.menu_block {
	position: fixed;
    top: 0;
    z-index: 999;
	width:100%;
}

body.fixed .product_list {
    position: fixed;
	top:120px;
    z-index: 8888;
}



/* ----------------------------------　ヘッダー　---------------------------------- */



/* ----------------------------------　メインビジュアル　---------------------------------- */

#MV {
	width:100%;
	height:950px;
	position:relative;
	background:url(../img/mainvisual_bg.jpg) center top no-repeat;
	background-size:cover;
}

.mainvisual {
	background:url(../img/mainvisual.jpg) center top no-repeat;
	max-width:1800px;
	min-width:1000px;
	margin:0 auto;
	background-size:cover;
	height:950px;
	position:relative;
}

.main_logo {
	background:url(../img/main_logo.png) left top no-repeat;
	width:827px;
	height:268px;
	position:absolute;
	left:50%;
	margin-left:-418px;
	bottom:70px;
	text-indent:-9999px;
	overflow:hidden;
}

.main_staff {
	background:url(../img/main_staff.png) center top no-repeat;
	background-size:100%;
	max-width:1300px;
	min-width:1000px;
	height:40px;
	position:absolute;
	left:0;
	right:0;
	top:900px;
	bottom:10px;
	margin:auto;
	text-indent:-9999px;
	overflow:hidden;
}

.catch_right {
	background:url(../img/catch_right.png) left top no-repeat;
	width:85px;
	height:805px;
	position:absolute;
	right:15px;
	top:15px;
	text-indent:-9999px;
	overflow:hidden;
}

.catch_left {
	background:url(../img/catch_left.png) left top no-repeat;
	width:76px;
	height:658px;
	position:absolute;
	left:15px;
	top:15px;
	text-indent:-9999px;
	overflow:hidden;
}

.project {
	background:url(../img/4th.png) left top no-repeat;
	width:694px;
	height:29px;
	position:absolute;
	left:50%;
	margin-left:-347px;
	top:15px;
	text-indent:-9999px;
	overflow:hidden;
}


/* ----------------------------------　メニュー　---------------------------------- */

#Menu {
	background:url(../img/menu_bg.png) center top repeat-x;
	width:100%;
	height:100px;
}

#Menu ul {
	width:1000px;
	height:100px;
	margin:0 auto;
}

#Menu ul li {
	width:200px;
	height:100px;
	float:left;
}

.sub_logo {
	width:250px;
	height:75px;
	position:absolute;
	left:50%;
	margin-left:-500px;
	top:0;
	text-indent:-9999px;
	overflow:hidden;
}

.sub_logo a {
	width:250px;
	height:75px;
	display:block;
	text-indent:-9999px;
	overflow:hidden;
}

#Menu_Sub {
	background:url(../img/menu_bg.png) center top repeat-x;
	width:100%;
	height:75px;
}

#Menu_Sub ul {
	width:750px;
	height:75px;
	margin:0 auto;
	padding-left:250px;
}

#Menu_Sub ul li {
	width:150px;
	height:75px;
	float:left;
}

#Menu_Sub ul li img {
	width:150px;
}

/* ----------------------------------　コンテンツ　---------------------------------- */

#Contents_wrap {
	width:100%;
	min-height:1000px;
	background:url(../img/bg_top.jpg) center top repeat-x;
}

.contents {
	width:100%;
	min-height:1000px;
	background:url(../img/bg_sq.png) left top repeat;
}

/* ----------------------------------　トピックス　---------------------------------- */

#Topics {
	width:1000px;
	margin:0 auto 0px;
}

#Topics ul {
	padding-top:36px;
}

#Topics ul li {
	width:300px;
	height:300px;
	float:left;
	border-radius:30px;
	overflow:hidden;
	background-color:#FFFFFF;
	box-shadow:0 2px 4px rgba(0,0,0,0.4);
	margin-bottom:50px;
}

#Topics ul li a {
	color:#01a0e8;
	text-decoration:none;
}

#Topics ul li figure {
	position: relative;
	overflow: hidden;
	width:300px;
	height:300px;
	margin:0;
}

#Topics ul li figure figcaption {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,0.9);
	-webkit-transform: rotateX(-180deg);
	transform: rotateX(-180deg);
	-webkit-transition: .5s;
	transition: .5s;
	opacity: 0;
	border-radius:30px;
}

#Topics ul li figure figcaption p {
	width:300px;
	height:300px;
	display:table-cell;
	vertical-align:middle;
	color:#7e7e7e;
	font-size:1.6em;
	line-height:2;
}

#Topics ul li figure figcaption em {
	color:#01a0e8;
	font-weight:bold;
	font-size:120%;
}


#Topics ul li figure:hover figcaption {
	-webkit-transform: rotateX(0);
	transform: rotateX(0);
	opacity: 1;
}

.new {
	width:120px;
	height:30px;
	position:absolute;
	right:0px;
	top:0px;
	border-radius:0 0 0 30px;
	animation:newcolor 3s ease-in-out infinite alternate;
	box-shadow:2px -2px 4px rgba(0,0,0,0.15) inset;
}

.new:after {
	content:"NEW!";
	position:absolute;
	z-index:1500;
	width:120px;
	height:30px;
	display:block;
	left:0;
	top:0;
	line-height:30px;
	font-family: 'Audiowide', cursive;
	color:#FFF;
	font-size:2.5rem;
}

.galnew {
	position:absolute;
	width:25px;
	height:280px;
	left:0;
	top:0;
	z-index:1;
	background:url(../img/new.png) left top repeat-y;
	animation: galnew 5s linear infinite;
}

@keyframes galnew {
 0% {background-position: 0 0;}
 100% {background-position: 0 -426px;}
}

@-webkit-keyframes newcolor{
    0% {opacity:0;}
    100% {opacity:1;}
}
@-moz-keyframes newcolor{
    0% {opacity:0;}
    100% {opacity:1;}
}
@keyframes newcolor{
    0% {background-color:#FFB600;}
	50% {background-color:#ff7e25;}
    100% {background-color:#FFB600;}
}

/* ----------------------------------　過去ログ　---------------------------------- */

#Backlog {
	width:1000px;
	padding-top:30px;
	margin:0 auto 48px;
	background:url(../img/new_bg.png) center top no-repeat;
}

.log_block {
	width:998px;
	height:120px;
	background-color:#FFFFFF;
	border:1px solid #00d5f5;
	box-shadow:0 2px 4px rgba(0,0,0,0.2);
}

.log_block dl {
	border-bottom:1px solid #a6e3ec;
	color:#00d5f5;
	font-size:1.5em;
	text-align:left;
}

.log_block dl dt {
	width:156px;
	padding-left:24px;
	height:29px;
	float:left;
	line-height:32px;
	font-weight:bold;
}

.log_block dl dd {
	width:720px;
	height:29px;
	float:left;
	line-height:32px;
}

.logblue {
	background:#f1fdff;
}

/* ----------------------------------　トップ前作バナー　---------------------------------- */

#Zensaku {
	width:1000px;
	height:200px;
	margin:0 auto 100px;
	background-color:#FFFFFF;
	border-radius:30px;
	box-shadow:0 2px 4px rgba(0,0,0,0.4);
	overflow:hidden;
}

/* 首页移除 Topics/Backlog 后的版面收敛 */
#PageWrapper.top-index #Contents_wrap,
#PageWrapper.top-index .contents {
	min-height:0;
}

#PageWrapper.top-index .contents {
	padding-top:80px;
}

#PageWrapper.top-index #Zensaku {
	margin:0 auto 48px;
}


/* ----------------------------------　フッター　---------------------------------- */

.foot_space {
	width:100%;
	height:265px;
}

footer {
	background:url(../img/footer_block.png) center top no-repeat;
	width:100%;
	min-width:1000px;
	height:265px;
	position: absolute;
	bottom: 0;
	*left:-1px;
}

.footer_wrap {
	width:1000px;
	margin:0 auto;
	padding-top:15px;
	position:relative
}

.block01 {
	padding-top:24px;
	width:280px;
	float:left;
}

.block02 {
	padding-top:24px;
	width:280px;
	float:left;
	margin-right:30px;
}

.block03 {
	padding-top:22px;
	width:280px;
	float:left;
}

.block04 {
	width:244px;
	height:249px;
	position:absolute;
	left:756px;
	top:-40px;
}

.banner {
	width:200px;
	height:40px;
	position:absolute;
	left:0;
	top:120px;
	background-color:transparent;
	display:flex;
	justify-content:center;
	align-items:center;
}

.footer_wrap dl {
	width:280px;
	margin-bottom:16px;
	position:relative;
}

.footer_wrap dl dt {
	width:100px;
	height:20px;
	background:#FFF;
	border-radius:10px;
	color:#46d1ff;
	text-align:center;
	font-size:1.3em;
	float:left;
	margin-right:16px;
}

.footer_wrap dl dd {
	height:20px;
	color:#FFF;
	text-align:left;
	font-size:1.3em;
	float:left;
}

.footer_wrap dl dd.wline {
	height:36px;
	color:#FFF;
	text-align:left;
	font-size:1.2em;
	position:absolute;
	left:116px;
	top:-10px;
}

.block03 ul li {
	color:#FFF;
	font-size:1.3em;
	text-align:left;
	line-height:27px;
}

.block03 ul li a {
	color:#FFF;
	text-decoration:none;
}

.block03 ul li a:hover {
	color:#FFF;
	text-decoration:underline;
}

.tweet {
	width:50px;
	height:50px;
	position:absolute;
	left:0;
	top:-48px;
}

.home {
	width:50px;
	height:50px;
	position:absolute;
	left:66px;
	top:-48px;
}

.blog {
	width:170px;
	height:50px;
	position:absolute;
	left:132px;
	top:-48px;
}

.copyright {
	margin-top:40px;
	color:#575757;
	font-size:1.2em;
}

* html footer {
	bottom:expression(document.getElementById("PageWrapper").offsetHeight % 2 == 0 ? 0 : -1);
}

/* ----------------------------------　サブページ　---------------------------------- */

.contents_head {
	width:100%;
	height:60px;
	margin:0 0 60px;
}

.contents_title {
	width:1000px;
	height:60px;
	margin:0 auto;
	text-indent:-9999px;
	overflow:hidden;
}

/* ----------------------------------　イントロページ　---------------------------------- */

#INTRO {
	background:url(../sub/titlebg_intro.png) center top repeat-x;
}

#INTRO .contents_title {
	background:url(../sub/title_intro.png) center top no-repeat;
}

.subtitle {
	width:800px;
	height:60px;
	margin:0 auto;
	position:relative;
}

.s_en {
	width:800px;
	height:48px;
	display:block;
	text-align:left;
	line-height:48px;
	font-family: 'Russo One', sans-serif;
	font-size:3.6rem;
}

.s_ja {
	position:absolute;
	right:0;
	top:0;
	line-height:48px;
	font-size:2rem;
}

.s_01 p {
	color:#ff7da7;
}

.s_01 .s_line {
	width:796px;
	height:2px;
	border-top:8px solid #ff7da7;
	border-bottom:2px solid #ff7da7;
	border-left:2px solid #ff7da7;
	border-right:2px solid #ff7da7;
}


.intro_body {
	background:url(../sub/intro_body.png) left top no-repeat;
	width:1000px;
	height:211px;
	margin:48px auto 60px;
	position:relative;
}

.intro_text {
	width:900px;
	margin:56px auto 0;
	text-align:center;
}

.intro_line {
	margin:0;
	line-height:1.15;
	letter-spacing:0.01em;
	-webkit-text-stroke:3px rgba(255,255,255,0.95);
	paint-order:stroke fill;
	text-shadow:
		1px 0 0 rgba(255,255,255,0.95),
		-1px 0 0 rgba(255,255,255,0.95),
		0 1px 0 rgba(255,255,255,0.95),
		0 -1px 0 rgba(255,255,255,0.95);
	font-family:"shmlwwkav3", "Noto Sans SC", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

.intro_line + .intro_line {
	margin-top:10px;
}

.intro_line_1 {
	color:#8e6f63;
	font-size:3rem;
	font-weight:bold;
}

.intro_logo_inline {
	display:inline-block;
	width:260px;
	height:auto;
	margin:0 8px;
	vertical-align:-27px;
}

.intro_line_2 {
	color:#2d76f1;
	font-size:3rem;
	font-weight:900;
}

.intro_line_3 {
	color:#ff8ab7;
	font-size:3rem;
	font-weight:bold;
}

.appeal_body {
	width:1000px;
	height:220px;
	margin:48px auto 60px;
	display:flex;
	align-items:center;
	justify-content:space-between;
}

.appeal_text {
	width:690px;
	flex:0 0 690px;
	padding-top:2px;
	margin:0;
	list-style:none;
	text-align:left;
}

.appeal_line {
	margin:0 0 8px;
	padding-left:1.2em;
	position:relative;
	font-size:3rem;
	font-weight:bold;
	line-height:1.18;
	letter-spacing:0.01em;
	-webkit-text-stroke:3px rgba(255,255,255,0.95);
	paint-order:stroke fill;
	text-shadow:
		1px 0 0 rgba(255,255,255,0.95),
		-1px 0 0 rgba(255,255,255,0.95),
		0 1px 0 rgba(255,255,255,0.95),
		0 -1px 0 rgba(255,255,255,0.95);
	font-family:"shmlwwkav3", "Noto Sans SC", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

.appeal_line:before {
	content:"・";
	position:absolute;
	left:0;
	top:0;
}

.appeal_line_1 {
	color:#8f67ff;
	border-bottom:4px solid rgba(143, 103, 255, 0.4);
}

.appeal_line_2 {
	color:#de8eff;
	border-bottom:4px solid rgba(222, 142, 255, 0.4);
}

.appeal_line_3 {
	color:#f2b725;
	border-bottom:4px solid rgba(242, 183, 37, 0.45);
}

.appeal_line_4 {
	color:#46d8d9;
	border-bottom:4px solid rgba(70, 216, 217, 0.45);
}

.fripper {
	width:300px;
	height:220px;
	flex:0 0 300px;
	position: relative;
	transform-style: preserve-3d;
}

.frip_f {
	width:300px;
	height:220px;
	background:url(../sub/kuon1.png) left top no-repeat;
	position:absolute;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	left:0;
	top:0;
	z-index: 2;
	-webkit-animation: cloudmove1 5s linear infinite;
	animation: cloudmove1 5s linear infinite;
}

.frip_b {
	width:300px;
	height:220px;
	background:url(../sub/kuon2.png) left top no-repeat;
	position:absolute;
	left:0;
	top:0;
	z-index: 1;
	-webkit-animation: cloudmove2 5s linear infinite;
	animation: cloudmove2 5s linear infinite;
	opacity:0;
}


@keyframes cloudmove1 {
	50% {-webkit-transform: rotateY(0deg); -ms-transform:rotateY(0deg); transform: rotateY(0deg);}
	55% {-webkit-transform: rotateY(180deg); -ms-transform:rotateY(180deg); transform: rotateY(180deg);}
	95% {-webkit-transform: rotateY(180deg); -ms-transform:rotateY(180deg); transform: rotateY(180deg);}
	100% {-webkit-transform: rotateY(0deg); -ms-transform:rotateY(0deg); transform: rotateY(0deg);}
}

@keyframes cloudmove2 {
	50% {-webkit-transform: rotateY(0deg); -ms-transform:rotateY(0deg); transform: rotateY(0deg); opacity:0;}
	55% {-webkit-transform: rotateY(180deg); -ms-transform:rotateY(180deg); transform: rotateY(180deg); opacity:1;}
	95% {-webkit-transform: rotateY(180deg); -ms-transform:rotateY(180deg); transform: rotateY(180deg); opacity:1;}
	100% {-webkit-transform: rotateY(0deg); -ms-transform:rotateY(0deg); transform: rotateY(0deg); opacity:0;}
}

.story_body {
	background:url(../sub/story_body.png) center top no-repeat;
	width:1000px;
	height:324px;
	margin:48px auto 0;
	padding-bottom:120px;
}

.story_text {
	width:1000px;
	margin:0 auto;
	text-align:center;
}

.story_line {
	color:#8e6f63;
	font-size:3rem;
	font-weight:500;
	line-height:1.22;
	letter-spacing:0.01em;
	-webkit-text-stroke:3px rgba(255,255,255,0.95);
	paint-order:stroke fill;
	text-shadow:
		1px 0 0 rgba(255,255,255,0.95),
		-1px 0 0 rgba(255,255,255,0.95),
		0 1px 0 rgba(255,255,255,0.95),
		0 -1px 0 rgba(255,255,255,0.95);
	font-family:"shmlwwkav3", "Noto Sans SC", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

.story_line_1 {
	padding-top:0px;
}

.story_line_2 {
	margin-bottom:26px;
}

.story_name {
	color:#123874;
	font-weight:900;
}

.story_group,
.story_place {
	color:#2db8b8;
	font-weight:900;
}

.story_line_3 {
	color:#6782ff;
	font-weight:bold;
}

.story_line_4 {
	color:#ff9b3b;
	font-weight:bold;
}

.story_line_5 {
	color:#ff5f7f;
	font-weight:bold;
}

/* ----------------------------------　キャラページ　---------------------------------- */

#CHARA {
	background:url(../sub/titlebg_chara.png) center top repeat-x;
}

#CHARA .contents_title {
	background:url(../sub/title_chara.png) center top no-repeat;
}

#Chara_select {
	width:1000px;
	height:127px;
	margin:0 auto;
	position:relative;
	z-index:10;
}

#Chara_select ul li {
	width:198px;
	padding:0 1px;
	float:left;
}

#Chara_select ul li a {
	width:198px;
	padding:0 1px;
	float:left;
}

#Chara_select ul li a img {
	width:198px;
	height:127px;
	transition:all 0.3s;
}

#Chara_select ul li a:hover img {
	margin-top:-15px;
	transition:all 0.3s;
}

.chara_wrap {
	width:100%;
	height:1050px;
	padding-bottom:120px;
	margin-top:-100px;
}

#CharaStage {
	opacity:1;
	transition:opacity 0.24s ease;
	will-change:opacity;
}

#CharaStage.is-switching {
	opacity:0.18;
}

@media (prefers-reduced-motion: reduce) {
	#CharaStage {
		transition:none;
	}
}

#CharaStage .chara-scene {
	display:none;
}

#CharaStage .chara-scene.active {
	display:block;
}

#CharaStage.sub-scene {
	height:auto;
	margin-top:0;
}

.phrase {
	width:140px;
	height:755px;
	text-indent:-9999px;
	overflow:hidden;
	position:absolute;
	top:200px;
	left:50%;
	margin-left:400px;
	background-position:left top;
	background-repeat:no-repeat;
	pointer-events:none;
	z-index:2;
}

.changebutton {
	width:169px;
	height:169px;
	position:absolute;
	top:600px;
	left:50%;
	margin-left:70px;
	-webkit-animation: spin 5s linear infinite;
	animation: spin 5s linear infinite;
}
@keyframes spin {
	0% {-ms-transform: rotate(0deg); -webkit-transform: rotate(0deg); transform: rotate(0deg);}
	100% {-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);}
}

.chara01_bg {
	background:url(../sub/chara/bg01.png) center top no-repeat;
}

.chara02_bg {
	background:url(../sub/chara/bg02.png) center top no-repeat;
}

.chara03_bg {
	background:url(../sub/chara/bg03.png) center top no-repeat;
}

.chara04_bg {
	background:url(../sub/chara/bg04.png) center top no-repeat;
}

#Chara01A {
	background:url(../sub/chara/chara01a.png) center top no-repeat;
	width:100%;
	height:1050px;
	position:relative;
}

#Chara01B {
	background:url(../sub/chara/chara01b.png) center top no-repeat;
	width:100%;
	height:1050px;
	position:relative;
}

#Chara02A {
	background:url(../sub/chara/chara02a.png) center top no-repeat;
	width:100%;
	height:1050px;
	position:relative;
}

#Chara02B {
	background:url(../sub/chara/chara02b.png) center top no-repeat;
	width:100%;
	height:1050px;
	position:relative;
}

#Chara03A {
	background:url(../sub/chara/chara03a.png) center top no-repeat;
	width:100%;
	height:1050px;
	position:relative;
}

#Chara03B {
	background:url(../sub/chara/chara03b.png) center top no-repeat;
	width:100%;
	height:1050px;
	position:relative;
}

#Chara04A {
	background:url(../sub/chara/chara04a.png) center top no-repeat;
	width:100%;
	height:1050px;
	position:relative;
}

#Chara04B {
	background:url(../sub/chara/chara04b.png) center top no-repeat;
	width:100%;
	height:1050px;
	position:relative;
}

.sub01 {
	background:url(../sub/chara/sub01.png) left top no-repeat;
	width:1000px;
	height:720px;
	margin:48px auto 90px;
	border-radius:15px;
	box-shadow:0 0 5px rgba(0,0,0,0.3);
	position:relative;
}

.sub02 {
	background:url(../sub/chara/sub02.png) left top no-repeat;
	width:1000px;
	height:720px;
	margin:0 auto 90px;
	border-radius:15px;
	box-shadow:0 0 5px rgba(0,0,0,0.3);
	position:relative;
}

.sub03 {
	background:url(../sub/chara/sub03.png) left top no-repeat;
	width:1000px;
	height:720px;
	margin:0 auto 120px;
	border-radius:15px;
	box-shadow:0 0 5px rgba(0,0,0,0.3);
	position:relative;
}

.voice_area {
	position:absolute;
	left:50%;
	margin-left:-210px;
	top:350px;
	z-index:10;
}

.chara_intro {
	position:absolute;
	left:50%;
	top:407px;
	width:900px;
	margin-left:-500px;
	text-align:left;
	z-index:9;
}

.chara_intro_line {
	margin:0;
	color:#8e6f63;
	font-size:3rem;
	font-weight:500;
	line-height:1.22;
	letter-spacing:0.01em;
	-webkit-text-stroke:3px rgba(255,255,255,0.95);
	paint-order:stroke fill;
	text-shadow:
		1px 0 0 rgba(255,255,255,0.95),
		-1px 0 0 rgba(255,255,255,0.95),
		0 1px 0 rgba(255,255,255,0.95),
		0 -1px 0 rgba(255,255,255,0.95);
	font-family:"shmlwwkav3", "Noto Sans SC", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

.chara_intro_line + .chara_intro_line {
	margin-top:2px;
}

.chara_meta {
	--meta-accent:#ff6392;
	position:absolute;
	left:50%;
	top:874px;
	width:auto;
	margin-left:-500px;
	z-index:9;
	display:flex;
	flex-direction:column;
	align-items:flex-start;
}

.chara_meta_row {
	display:inline-flex;
	align-items:center;
	height:29px;
	border:4px solid var(--meta-accent);
	border-radius:24px;
	background:rgba(255,255,255,0.72);
	margin-bottom:14px;
	box-shadow:0 2px 0 rgba(255,255,255,0.55) inset;
	width:fit-content;
	max-width:100%;
	padding-right:8px;
}

.chara_meta_row:last-child {
	margin-bottom:0;
}

.chara_meta_label {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:120px;
	height:26px;
	margin-left:2px;
	border-radius:15px;
	background-color:var(--meta-accent);
	color:#fff;
	font-family:'Russo One', sans-serif;
	font-size:2rem;
	letter-spacing:0.08em;
	line-height:1;
}

.chara_meta_value {
	flex:none;
	display:inline-block;
	padding:0 12px 0 10px;
	color:#8e6f63;
	font-family:"shmlwwkav3", "Noto Sans SC", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size:1.8rem;
	font-weight:600;
	-webkit-text-stroke:2px rgba(255,255,255,0.95);
	paint-order:stroke fill;
	text-shadow:
		1px 0 0 rgba(255,255,255,0.95),
		-1px 0 0 rgba(255,255,255,0.95),
		0 1px 0 rgba(255,255,255,0.95),
		0 -1px 0 rgba(255,255,255,0.95);
	line-height:1.1;
	white-space:nowrap;
	overflow:visible;
	text-overflow:clip;
	text-align:left;
}

#Chara01A .chara_meta, #Chara01B .chara_meta {
	--meta-accent:#ff6392;
}

#Chara02A .chara_meta, #Chara02B .chara_meta {
	--meta-accent:#ffb200;
}

#Chara03A .chara_meta, #Chara03B .chara_meta {
	--meta-accent:#854fff;
}

#Chara04A .chara_meta, #Chara04B .chara_meta {
	--meta-accent:#62dcaf;
}

.voice_area a {
	display:inline-block;
	text-decoration:none;
	margin-right:16px;
	border:2px solid #fff;
	box-shadow:0 0 5px rgba(0,0,0,0.2);
	position:relative;
	width:40px;
	height:40px;
	color:#fff;
	border-radius:22px;
	line-height:40px;
	font-family: 'Russo One', sans-serif;
}

.voice_area a:after {
	content:"";
	width: 0;
	height: 0;
	border-top: 10px solid transparent;
	border-right: 0px solid transparent;
	border-bottom: 10px solid transparent;
	border-left: 16px solid rgba(255,255,255,0.3);
	position:absolute;
	left:13px;
	top:10px;
}

#Chara01A .voice_area a, #Chara01B .voice_area a {
	background-color:#ff6392;
	transition:all 0.3s;
}

#Chara01A .voice_area a:hover, #Chara01B .voice_area a:hover {
	background-color:#FFBFD2;
}

#Chara02A .voice_area a, #Chara02B .voice_area a {
	background-color:#ffb200;
	transition:all 0.3s;
}

#Chara02A .voice_area a:hover, #Chara02B .voice_area a:hover {
	background-color:#FFDC8D;
}

#Chara03A .voice_area a, #Chara03B .voice_area a {
	background-color:#854fff;
	transition:all 0.3s;
}

#Chara03A .voice_area a:hover, #Chara03B .voice_area a:hover {
	background-color:#BFA3FF;
}

#Chara04A .voice_area a, #Chara04B .voice_area a {
	background-color:#62dcaf;
	transition:all 0.3s;
}

#Chara04A .voice_area a:hover, #Chara04B .voice_area a:hover {
	background-color:#B2F5DC;
}

.sub01 .voice_area a {
	background-color:#4d95e1;
	transition:all 0.3s;
}

.sub01 .voice_area a:hover {
	background-color:#A2C8F0;
}

.sub02 .voice_area a {
	background-color:#c4b8b8;
	transition:all 0.3s;
}

.sub02 .voice_area a:hover {
	background-color:#E3D8D8;
}

.sub03 .voice_area a {
	background-color:#38e3f7;
	transition:all 0.3s;
}

.sub03 .voice_area a:hover {
	background-color:#8EF3FF;
}


/* ----------------------------------　ギャラリーページ　---------------------------------- */

#GALLERY {
	background:url(../sub/titlebg_gallery.png) center top repeat-x;
}

#GALLERY .contents_title {
	background:url(../sub/title_gallery.png) center top no-repeat;
}

#Gallery_wrap {
	width:1000px;
	padding-bottom:120px;
	margin:0 auto;
}

#Gallery_wrap ul li {
	width:310px;
	height:192px;
	float:left;
	overflow: hidden;
	margin-bottom:36px;
	box-shadow:0 2px 3px rgba(79,155,184,0.5);
	background:#FFF;
	position:relative;
}

.mr35 {
	margin-right:35px;
}

.gallery_thum img {
    -moz-transition: -moz-transform 0.2s linear;
    -webkit-transition: -webkit-transform 0.2s linear;
    -o-transition: -o-transform 0.2s linear;
    -ms-transition: -ms-transform 0.2s linear;
    transition: transform 0.2s linear;
}
.gallery_thum img:hover {
    -webkit-transform: scale(1.25);
    -moz-transform: scale(1.25);
    -o-transform: scale(1.25);
    -ms-transform: scale(1.25);
    transform: scale(1.25);
}

/* ----------------------------------　スペシャルページ　---------------------------------- */

#SPECIAL {
	background:url(../sub/titlebg_special.png) center top repeat-x;
}

#SPECIAL .contents_title {
	background:url(../sub/title_special.png) center top no-repeat;
}

.s_04 p {
	color:#1adb94;
}

.s_04 .s_line {
	width:796px;
	height:2px;
	border-top:8px solid #1adb94;
	border-bottom:2px solid #1adb94;
	border-left:2px solid #1adb94;
	border-right:2px solid #1adb94;
}

/* ----------------------------------　プロダクトページ　---------------------------------- */

#PRODUCT {
	background:url(../sub/titlebg_product.png) center top repeat-x;
}

#PRODUCT .contents_title {
	background:url(../sub/title_product.png) center top no-repeat;
}

.s_05 p {
	color:#3a92f0;
}

.s_05 .s_line {
	width:796px;
	height:2px;
	border-top:8px solid #3a92f0;
	border-bottom:2px solid #3a92f0;
	border-left:2px solid #3a92f0;
	border-right:2px solid #3a92f0;
}

#Contents_Sub {
	width:100%;
	background:url(../img/grand_bg.png) center top no-repeat;
	background-size:100%;
	background-attachment:fixed;
	padding-top:36px;
	padding-bottom:36px;
}

.product_outline {
	width:760px;
	margin:36px auto 0;
	color:#5e5e5e;
	font-size:1.8em;
	line-height:2;
}

.product_spec {
	width:760px;
	margin:60px auto 60px;
	color:#5e5e5e;
	font-size:1.8em;
	line-height:2;
}

.product_outline dl,
.product_spec dl {
	display:grid;
	grid-template-columns:10em auto;
	gap:0 20px;
}

.product_outline dt,
.product_spec dt {
	grid-column:1;
	text-align:right;
	font-weight:bold;
}

.product_outline dt::after,
.product_spec dt::after {
	content:":";
	padding-left:5px;
}

.product_outline dd {
	grid-column:2;
	text-align:left;
	font-weight:bold;
}

.product_spec dd {
	grid-column:2;
	text-align:left;
}

.product_body {
	background:url(../sub/product_staff.png) center top no-repeat;
	width:638px;
	height:419px;
	margin:48px auto 60px;
}

.doukon_body {
	background:url(../sub/product_doukon.png) center top no-repeat;
	width:1000px;
	height:376px;
	margin:48px auto 60px;
}

.spec_body {
	background:url(../sub/product_spec.png) center top no-repeat;
	width:770px;
	height:498px;
	margin:48px auto 0;
	padding-bottom:120px;
}

/* ----------------------------------　ハッシュタグキャン　---------------------------------- */

.hashtag_explain {
	background:none center top no-repeat;
	width:100%;
	height:1115px;
	text-indent:-9999px;
	margin-top:36px;
	overflow:hidden;
}

.launch_explain {
	background:none center top no-repeat;
	width:1000px;
	height:1414px;
	text-indent:-9999px;
	margin:36px auto 120px;
	overflow:hidden;
}

.kansou_explain {
	background:none center top no-repeat;
	width:100%;
	height:1030px;
	text-indent:-9999px;
	margin-top:36px;
	overflow:hidden;
}



/* ----------------------------------　バナキャン　---------------------------------- */

.banner_explain {
	background:none center top no-repeat;
	width:100%;
	height:999px;
	text-indent:-9999px;
	margin-top:36px;
	overflow:hidden;
}

.banner_button {
	width:1000px;
	height:100px;
	margin:0 auto 60px;
}

.banner_title {
	font-size:3.5em;
	color:#46d1ff;
	width:940px;
	height:50px;
	line-height:50px;
	margin:0 auto 36px;
	border-bottom:10px dotted #46d1ff;
	font-family: 'Russo One', sans-serif;
	text-align:center;
}

.banner_menu ul {
	width:1000px;
	display:inline-table;
	table-layout: fixed;
	margin:0 0 36px;
}

.banner_menu ul li {
	display:table-cell;
	text-align:center;
	font-family: 'Russo One', sans-serif;
	height:40px;
	line-height:40px;
	font-size:1.6em;
	color:#fff;
}

li.jump1 {
	background:#3e96f4;
}

li.jump2 {
	background:#4c5df7;
}

.banner_menu ul li a {
	color:#fff;
	text-decoration:none;
	display:block;
	width:100%;
	height:40px;
}

.banner_menu ul li.jump1 a:hover {
	background:#79b4f2;
	color:#fff;
	text-decoration:none;
}

.banner_menu ul li.jump2 a:hover {
	background:#7d89f5;
	color:#fff;
	text-decoration:none;
}



.urlbox {
	border:0;
	background-color:#ffffff;
	font-size:80%;
	font-family: "Meiryo","MS P Gothic","Osaka",Verdana,Arial, Helvetica, sans-serif;
	color:#46d1ff;
}

.banner_wrap_header {
	width:740px;
	margin:0 auto 36px;
}

.banbox_header {
	width:350px;
	padding:10px;
	float:left;
	font-size:1.4em;
	color:#f8c100;
}

.banner_wrap_icon {
	width:880px;
	margin:0 auto 36px;
}

.banbox_icon {
	width:200px;
	padding:10px;
	float:left;
	font-size:1.4em;
	color:#f8c100;
}

.banner_wrap250 {
	width:810px;
	margin:0 auto 36px;
}

.banbox_250 {
	width:250px;
	padding:10px;
	float:left;
	font-size:1.4em;
	color:#f8c100;
}

.banbox_250 textarea {
	width:250px;
	height:80px;
	margin-top:8px;
}

.banner_wrap200 {
	width:660px;
	margin:0 auto 36px;
}

.banbox_200 {
	width:200px;
	padding:10px;
	float:left;
	font-size:1.4em;
	color:#f8c100;
}

.banbox_200 textarea {
	width:200px;
	height:40px;
	margin-top:8px;
}

.banner_wrap600 {
	width:640px;
	margin:0 auto 36px;
}

.banbox_600 {
	width:600px;
	padding:10px;
	float:left;
	font-size:1.4em;
	text-align:center;
	color:#f8c100;
}

.banbox_600 textarea {
	width:600px;
	height:60px;
	margin-top:8px;
}

.banner_wrap150 {
	width:680px;
	margin:0 auto 36px;
}

.banbox_150 {
	width:150px;
	padding:10px;
	float:left;
	font-size:1.4em;
	text-align:center;
	color:#f8c100;
}

.banbox_150 textarea {
	width:150px;
	height:100px;
	margin-top:8px;
}

.banner_wrap800 {
	width:820px;
	margin:0 auto 36px;
}

.banbox_800 {
	width:800px;
	padding:10px;
	float:left;
	font-size:1.4em;
	text-align:center;
	color:#f8c100;
}

.banbox_800 textarea {
	width:800px;
	height:60px;
	margin-top:8px;
}

/* ----------------------------------　キャンペーン　---------------------------------- */

.prologue_body {
	background:none left top no-repeat;
	width:1000px;
	height:578px;
	text-indent:-9999px;
	overflow:hidden;
	margin:48px auto 24px;
}

a.listjump {
	background-color:#ff649d;
	display:block;
	width:800px;
	height:50px;
	margin:0 auto 60px;
	border-radius:25px;
	transition:all 0.3s;
	line-height:50px;
	font-size:1.8rem;
	font-weight:bold;
	color:#fff;
	text-decoration:none;
}

a:hover.listjump {
	background-color:#FFA4C5;
}

.yoyaku_body {
	background:none left top no-repeat;
	width:1000px;
	height:578px;
	text-indent:-9999px;
	overflow:hidden;
	margin:48px auto 90px;
}

.shokai_body {
	background:none left top no-repeat;
	width:1000px;
	height:578px;
	text-indent:-9999px;
	overflow:hidden;
	margin:48px auto 0;
	padding-bottom:120px;
}

/* ----------------------------------　店舗特典　---------------------------------- */

.toku_sofmap {
	background:none left top no-repeat;
	width:1000px;
	height:750px;
	text-indent:-9999px;
	overflow:hidden;
	position:relative;
	margin:48px auto 90px;
}

.toku_getchu {
	background:none left top no-repeat;
	width:1000px;
	height:578px;
	text-indent:-9999px;
	overflow:hidden;
	position:relative;
	margin:0 auto 90px;
}

.toku_melon {
	background:none left top no-repeat;
	width:1000px;
	height:578px;
	text-indent:-9999px;
	overflow:hidden;
	position:relative;
	margin:0 auto 0;
	padding-bottom:120px;
}

.toku_official {
	background:none left top no-repeat;
	width:1000px;
	height:850px;
	overflow:hidden;
	position:relative;
	margin:48px auto 90px;
}

.soine_kotone {
	top:510px;
	left:516px;
	z-index:20;
	position:absolute;
}

.soine_kisara {
	top:314px;
	left:170px;
	z-index:20;
	position:absolute;
}

.soine_kotone a, .soine_kisara a {
	display:inline-block;
	text-decoration:none;
	margin-right:16px;
	border:2px solid #fff;
	box-shadow:0 0 5px rgba(0,0,0,0.2);
	position:relative;
	width:40px;
	height:40px;
	color:#fff;
	border-radius:22px;
	line-height:40px;
	font-family: 'Russo One', sans-serif;
}

.soine_kotone a:after, .soine_kisara a:after{
	content:"";
	width: 0;
	height: 0;
	border-top: 10px solid transparent;
	border-right: 0px solid transparent;
	border-bottom: 10px solid transparent;
	border-left: 16px solid rgba(255,255,255,0.3);
	position:absolute;
	left:13px;
	top:10px;
}

.soine_kisara a {
	background-color:#854fff;
	transition:all 0.3s;
}

.soine_kisara a:hover {
	background-color:#BFA3FF;
}

.soine_kotone a {
	background-color:#62dcaf;
	transition:all 0.3s;
}

.soine_kotone a:hover {
	background-color:#B2F5DC;
}


.shopbutton_sofmap {
	position:absolute;
	top:660px;
	left:300px;
}

.shopbutton_sofmap a {
	background:#FFFFFF;
	width:400px;
	height:50px;
	box-shadow:0 0 5px rgba(30,193,252,1.00);
	display:block;
	opacity:1;
	transition:all 0.3s;
	border-radius:25px;
}

.shopbutton_sofmap a:hover {
	box-shadow:0 0 15px rgba(30,193,252,1.00);
	opacity:0.7;
}

.shopbutton_getchu {
	position:absolute;
	top:424px;
	left:556px;
}

.shopbutton_getchu a {
	background:#FFFFFF;
	width:400px;
	height:50px;
	box-shadow:0 0 5px rgba(255,79,122,1.00);
	display:block;
	opacity:1;
	transition:all 0.3s;
	border-radius:25px;
}

.shopbutton_getchu a:hover {
	box-shadow:0 0 15px rgba(255,79,122,1.00);
	opacity:0.7;
}

.shopbutton_melon {
	position:absolute;
	top:424px;
	left:556px;
}

.shopbutton_melon a {
	background:#FFFFFF;
	width:400px;
	height:50px;
	box-shadow:0 0 5px rgba(86,188,85,1.00);
	display:block;
	opacity:1;
	transition:all 0.3s;
	border-radius:25px;
}

.shopbutton_melon a:hover {
	box-shadow:0 0 15px rgba(86,188,85,1.00);
	opacity:0.7;
}

.shopbutton_official {
	position:absolute;
	top:750px;
	left:300px;
}

.shopbutton_official a {
	background:#FFFFFF;
	width:400px;
	height:50px;
	box-shadow:0 0 5px rgba(137,87,161,1.00);
	display:block;
	opacity:1;
	transition:all 0.3s;
	border-radius:25px;
}

.shopbutton_official a:hover {
	box-shadow:0 0 15px rgba(137,87,161,1.00);
	opacity:0.7;
}

.campaign_list table {
	width:700px;
	text-align:left;
	margin:0 auto 36px;
	padding-bottom:10px;
	background:#FFF;
	font-size:1.4rem;
	color:#535353;
}

.campaign_list table tr{
	border:1px solid #B9B5C9;
}

.campaign_list table tr th{
	padding:5px 12px;
	border:1px solid #B9B5C9;
	background-color:#1084FF;
	color:#FFF;
	font-weight:bold;
}

.campaign_list table tr td {
	padding:5px 12px;
	border:1px solid #D6D2E8;
}

.campaign_list table tr.nrow {
	background-color:#FAF9FF;
}

#Chara01A .costume {
	width:150px;
	height:150px;
	border-radius:82px;
	border:7px solid #ff6392;
	position:absolute;
	top:705px;
	left:50%;
	margin-left:-150px;
	background-color:#fff;
}

#Chara02A .costume {
	width:150px;
	height:150px;
	border-radius:82px;
	border:7px solid #ffb200;
	position:absolute;
	top:705px;
	left:50%;
	margin-left:-150px;
	background-color:#fff;
}

#Chara03A .costume {
	width:150px;
	height:150px;
	border-radius:82px;
	border:7px solid #854fff;
	position:absolute;
	top:705px;
	left:50%;
	margin-left:-150px;
	background-color:#fff;
}
#Chara04A .costume {
	width:150px;
	height:150px;
	border-radius:82px;
	border:7px solid #62dcaf;
	position:absolute;
	top:705px;
	left:50%;
	margin-left:-150px;
	background-color:#fff;
}

.costume a {
	width:150px;
	height:150px;
	display:block;
	border-radius:75px;
	background-color:#fff;
	overflow:hidden;
}

.comic_wrap {
	width:1000px;
	margin:36px auto;
}

.comic_wrap ul li {
	float:left;
	padding:25px 50px;
}

.comic_wrap ul li a {
	display:block;
	background-color:#FFF;
	box-shadow:0 0 10px rgba(0,179,255,0.4);
	transition:all 0.3s;
}

.comic_wrap ul li a:hover {
	box-shadow:0 0 15px rgba(0,179,255,0.8);
}

.toku_original {
	width:1000px;
	margin:0 auto 72px;
}

.orig_furukawa {
	background:none left top no-repeat;
	width:310px;
	height:320px;
	position:relative;
	float:left;
	margin-bottom:36px;
}

.orig_amiami {
	background:none left top no-repeat;
	width:310px;
	height:320px;
	position:relative;
	float:left;
	margin-bottom:36px;
}

.orig_alice {
	background:none left top no-repeat;
	width:310px;
	height:320px;
	position:relative;
	float:left;
	margin-bottom:36px;
}

.orig_visco {
	background:none left top no-repeat;
	width:310px;
	height:320px;
	position:relative;
	float:left;
	margin-bottom:36px;
}

.orig_dmm {
	background:none left top no-repeat;
	width:310px;
	height:320px;
	position:relative;
	float:left;
	margin-bottom:36px;
}

.orig_sita {
	background:none left top no-repeat;
	width:310px;
	height:320px;
	position:relative;
	float:left;
	margin-bottom:36px;
}

.orig_fammys {
	background:none left top no-repeat;
	width:310px;
	height:320px;
	position:relative;
	float:left;
	margin-bottom:36px;
}

.orig_takarajima {
	background:none left top no-repeat;
	width:310px;
	height:320px;
	position:relative;
	float:left;
	margin-bottom:36px;
}

.orig_bookmate {
	background:none left top no-repeat;
	width:310px;
	height:320px;
	position:relative;
	float:left;
	margin-bottom:36px;
}

.orig_surugaya {
	background:none left top no-repeat;
	width:310px;
	height:320px;
	position:relative;
	float:left;
	margin-bottom:36px;
}

.orig_otachu {
	background:none left top no-repeat;
	width:310px;
	height:320px;
	position:relative;
	float:left;
	margin-bottom:36px;
}

.orig_prop {
	background:none left top no-repeat;
	width:310px;
	height:320px;
	position:relative;
	float:left;
	margin-bottom:36px;
}

.orig_seagull {
	background:none left top no-repeat;
	width:310px;
	height:320px;
	position:relative;
	float:left;
	margin-bottom:36px;
}

.orig_mk {
	background:none left top no-repeat;
	width:310px;
	height:320px;
	position:relative;
	float:left;
	margin-bottom:36px;
}

.orig_chukyo {
	background:none left top no-repeat;
	width:310px;
	height:320px;
	position:relative;
	float:left;
	margin-bottom:36px;
}

.shopbutton_orig {
	position:absolute;
	top:270px;
	left:55px;
}

.shopbutton_orig a {
	background:#FFFFFF;
	width:200px;
	height:25px;
	box-shadow:0 0 5px #7dd0f2;
	display:block;
	opacity:1;
	transition:all 0.3s;
	border-radius:25px;
}

.shopbutton_orig a:hover {
	box-shadow:0 0 15px #7dd0f2;
	opacity:0.7;
}

.dl_youtube {
	width:853px;
	height:480px;
	margin:0 auto 36px;
	border:5px solid #46d1ff;
	border-radius:20px;
	overflow:hidden;
	box-shadow:0 2px 3px rgba(79,155,184,0.5);
}

.dl_title {
	font-size:3.5em;
	color:#46d1ff;
	width:940px;
	height:auto;
	line-height:1.15;
	margin:0 auto 36px;
	padding:6px 0 10px;
	border-bottom:10px dotted #46d1ff;
	font-family: 'Audiowide', cursive;
	text-align:center;
}

.dl_title p {
	margin:0;
	line-height:1.15;
}

.team_testimonials {
	width:853px;
	margin:36px auto;
	background:rgba(255,255,255,0.95);
	border:3px solid #46d1ff;
	border-radius:15px;
	box-shadow:0 2px 8px rgba(79,155,184,0.3);
	overflow:hidden;
}

.testimonials_title {
	background:linear-gradient(135deg, #46d1ff, #5ee0ff);
	padding:15px 0;
	text-align:center;
	border-bottom:2px solid #46d1ff;
}

.testimonials_title h3 {
	color:#ffffff;
	font-size:1.6em;
	font-weight:bold;
	margin:0;
	text-shadow:0 1px 2px rgba(0, 0, 0, 0.3);
	font-family: "Poppins", "Noto Sans SC", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

.testimonials_content {
	padding:20px;
}

.testimonial_item {
	display:flex;
	align-items:flex-start;
	margin-bottom:20px;
	padding:15px;
	background:rgba(181,237,255,0.2);
	border-left:4px solid #46d1ff;
	border-radius:8px;
	transition:all 0.3s ease;
}

.testimonial_item:hover {
	background:rgba(181,237,255,0.3);
	transform:translateX(5px);
	box-shadow:0 2px 5px rgba(79,155,184,0.2);
}

.testimonial_item:last-child {
	margin-bottom:0;
}

.member_info {
	min-width:150px;
	margin-right:20px;
	text-align:right;
	padding-top:2px;
}

.member_name {
	font-weight:bold;
	color:#46d1ff;
	font-size:1.8em;
	font-family: "Poppins", "Noto Sans SC", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	margin-bottom:4px;
}

.member_position {
	font-size:1.2em;
	color:#666;
	font-weight:normal;
	font-family: "Noto Sans SC", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	opacity:0.8;
}

.member_comment {
	flex:1;
	color:#333;
	line-height:1.6;
	font-size:1.6em;
	text-align:left;
	font-family: "Noto Sans SC", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

.member_comment code {
	font-family: "Cascadia Mono", "Noto Sans SC", monospace;
}

.trial_table {
	width:840px;
	margin:32px auto 60px;
}

.trial_table table {
	width:840px;
}

.trial_table table th {
	height:24px;
	background-color:#b5edff;
	border:1px solid #46d1ff;
	color:#222222;
	padding-top:3px;
	padding-bottom:3px;
	font-size:1.3em;
	text-align:center;
}

.trial_table table th a {
	color:#FFF;
	text-decoration:none;
}

.trial_table table th a:hover {
	color:#FFF;
	text-decoration:underline;
}

.trial_table table td {
	height:50px;
	background-color:#ffffff;
	border:1px solid #46d1ff;
	color:#5e5e5e;
	font-size:1.3em;
	padding-top:3px;
	padding-bottom:3px;
	text-align:center;
}

.trial_table table td a {
	display:block;
	margin:0 auto;
	width:220px;
	height:30px;
	font-family: "Poppins", "Noto Sans SC", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	background:#46d1ff;
	-moz-border-radius: 15px;
	-webkit-border-radius: 15px;
	-khtml-border-radius: 15px;	
	border-radius: 15px;
	border-style: none;
	font-weight:bold;
	color:#FFF;
	line-height:30px;
	text-decoration:none;
	font-size:120%;
}

.trial_table table td a.disabled {
	background:#ccc !important;
	color:#999 !important;
	cursor:not-allowed;
	pointer-events:none;
}

/* Heimu (Black Screen/Spoiler) Effect by moegirl */
.heimu,
.heimu rt {
	--heimu-color:#1a1a2e;
	--heimu-text-color:#fff;
	--heimu-link-color:#46d1ff;
	--heimu-visited-link-color:#5ee0ff;
	--heimu-new-link-color:#ff6b9d;
	--heimu-new-visited-link-color:#ff8fab;
	--heimu-extiw-visited-link-color:#7c4dff;
	background-color:var(--heimu-color);
	transition:background-color 0.13s linear, color 0.13s linear;
	border-radius:3px;
	padding:1px 2px;
}

.heimu,
.heimu a,
a .heimu,
a.new .heimu,
span.heimu a:visited,
span.heimu a.new,
span.heimu a.external,
span.heimu a.external:visited,
span.heimu a.extiw,
span.heimu a.extiw:visited,
span.heimu a.mw-disambig,
span.heimu a.mw-redirect {
	transition:color 0.13s linear;
	color:var(--heimu-color);
	text-shadow:none;
}

span.heimu:hover,
span.heimu:active {
	color:var(--heimu-text-color);
	background-color:var(--heimu-color);
}

span.heimu:hover a,
a:hover span.heimu {
	color:var(--heimu-link-color);
}

span.heimu:hover a:visited,
a:visited:hover span.heimu {
	color:var(--heimu-visited-link-color);
}

span.heimu:hover a.new,
a.new:hover span.heimu {
	color:var(--heimu-new-link-color);
}

span.heimu a.new:hover:visited,
a.new:hover:visited span.heimu {
	color:var(--heimu-new-visited-link-color);
}

span.heimu:hover a.extiw:visited,
a.extiw:visited:hover span.heimu {
	color:var(--heimu-extiw-visited-link-color);
}


.lyrics_box {
	font-size:1.6rem;
	text-align: left;
	width:1000px;
	background-color:#fff;
	border-radius: 20px;
	margin:60px auto 120px;
	box-shadow:0 0 5px rgba(0,0,0,0.1);
}

.lyrics_wrap {
	font-size:1.6rem;
	text-align: left;
	width:900px;
	padding:50px;
	background:none right bottom no-repeat;
}

.lyrics_box h4 {
	font-family: 'Russo One', sans-serif;
	font-size:4rem;
	color:#43FFB6;
	border-bottom:1px solid #43FFB6;
}

.lyrics_box h5 {
	margin-top:12px;
	margin-bottom:36px;
	color:#43FFB6;
}

.lyrics_box p {
	width:450px;
	float:left;
	color:#878787;
}
