@charset "utf-8";
/* CSS Document */

article, aside, section, nav, header, footer { display: block; }
* { 
	margin: 0; 
	padding: 0; 
	font-size: 100%;
}
*,
*:after,
*::before {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
html, body {
	width: 100%;
	height: 100%;
}
body {
	position: relative;
	z-index: 0;
	color: #000000;
	font-family:Verdana,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: bold;
	line-height: 1.8rem;
	background-color: #ffffff;
}
/*文字反転色*/
::selection {
    background: #91fff3;
    color: #ed0ea0;
}
//Firefox
::-moz-selection {
    background: #91fff3;
    color: #ed0ea0;
}
ruby rp, ruby rt { 
	font-size: 0.8rem; 
	font-weight: normal; 
}
img:not(.nrs) {
	max-width: 100%;
	height: auto;
	border: 0;
}
a {
	color: #ff13e6;
	text-decoration: none;
}
a:hover {
	color: #000;
}
a img {
	transition: .2s;
}
a:hover:not([href="#"]):not(.roll) img {
	opacity: .5;
	transition: .2s;
}
small { 
	display: inline-block;
	font-size: 0.7rem; 
	line-height: 1rem;
}
video:focus { outline: 0; } 

/*///////////////////////////////////////////////////////////////
	common class
/////////////////////////////////////////////////////////////////*/

.title_font {
	font-family:"vdl-logog","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.content_f { 
	width: auto; 
	-js-display: flex;
	-webkit-display: flex;
	display: flex;
	flex-flow: column;
}
.content_m {
	width: 90vw;
	max-width: 1100px;
	margin: 0 auto;
}
.topmp {
	margin-top: 60px;
	padding-top: -60px;
}

/* mobile display none */
.mdn { display: none; }
.mdnbr br { display: none; } 
br.nbr { display: none; }
/* mobile display visible */
.mdv { display: block; }
.mdvbr br { display: inline; } 

.anno {
	width: 90%;
	margin: 0.5rem auto 0;
	font-size: 0.7rem;
	line-height: 1.1rem;
}
.anno ul li {
	list-style-position: inside;
}
.cs p { 
	width: 100%;
	height: 80vh; 
	padding-top: 5em;
	text-align: center;
}

.new { position: relative; }
.new:before {
	content: "";
	position: absolute;
	top: -5px; left: -5px;
	z-index: 10;
	width: 20px;
	height: 20px;
	background: url(images/ic_new.png) no-repeat top left;
	-webkit-animation: flash 3s 0s infinite;
	animation: flash 3s 0s infinite;
}
.wrapper { width: 100%; }
.t_pink {
	color: #ff0183;
}
.bg_ps {
	background-color: #ff5cf2;
	background-image: url(images/pre/bg.gif);
}
.bg_y { background-color: #fff600; }
.bg_b { background-color: #0451ff; }
.bg_lb { background-color: #62f2ff; }
.bg_p { background-color: #ff53ac; }

section > h1 {
	padding: 1rem;
	background-color: #ff5cf2;
	background-image: url(images/pre/bg.gif);
}
section > h1 > span {
	padding-left: 1rem;
	font-size: 2rem;
	font-weight: normal;
	color: #fff;
	line-height: 2rem;
	border-left: 15px solid #fff;
}
	
/*///////////////////////////////////////////////////////////////
	header
/////////////////////////////////////////////////////////////////*/
.head {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 3;
	-js-display: flex;
	-webkit-display: flex;
	display: flex;
	align-items: center;
	width: 100%;
	height: 60px;
	background-color: #fff;
}
.brandlogo {
	display: block;
	max-width: 100px;
	margin-left: 1rem;
}
.head_news { display: none; }
/*///////////////////////////////////////////////////////////////
	menu
/////////////////////////////////////////////////////////////////*/
.menu {
	display: none;
	height: 30px;
	margin: 0.2rem 0;
}
.menu a {
	-js-display: flex;
	-webkit-display: flex;
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 90px;
	height: 30px;
	padding: 0 1rem;
	font-size: 1rem;
	color: #fff;
	text-align: center;
	line-height: 30px;
	background: #0451ff;
	transition: .2s;
}
.menu a:hover {
	transition: .2s;
	background: #333;
}
.menu a + a { margin-left: 1rem; }
.drawer-hamburger {
	background-color: #fff !important; 
}
.drawer-hamburger-icon,
.drawer-hamburger-icon:before,
.drawer-hamburger-icon:after {
	background-color: #000 !important;
}

.drawer-open .drawer-hamburger-icon {
  background-color: transparent !important;
}

.drawer-nav { 
	padding: 20px 0;
	background-color: #fff !important; 
}
ul.drawer-menu {
	text-align: center;
}
ul.drawer-menu li a {
	display: inline-block;
	padding: 8px 0;
	color: #000;
}
/*///////////////////////////////////////////////////////////////
	TOP-Page
/////////////////////////////////////////////////////////////////*/

/*   haader - topimg
-------------------------------*/
#main_img {
	position: relative;
	width: 100%;
	height: auto;
	margin-top: 60px;
	padding-top: -60px;
}

#topDemoBn {
	display: block;
	width: 90vw;
	max-width: 700px;
	margin: 1.2rem auto 0;
}
#topDemoBn > img {
	display: block;
}

#dateChange {
	text-align: center;
}
#dateChange a {
	display: block;
	width: 90vw;
	max-width: 1100px;
	margin: 1rem auto;
	padding: 1rem;
	font-size: 1.5rem;
	color: #000;
	border: 3px solid #000;
	transition: .2s;
}
#dateChange a:hover {
	color: #fff;
	background-color:#000;
	transition: .2s;
}

.topics {
	padding-top: 1rem;
}
.topics_inner {
	-js-display: flex;
	-webkit-display: flex;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	width: 90vw;
	margin: 0 auto;
}
.topics_inner > * {
	margin-bottom: 1rem;
}
.topics_inner > a {
	display: block;
}
.topics_inner img {
	display: block;
	border: 5px solid #000;
	border-radius: 30px;
}
.topics_inner > img { display: none; }

.webshop {
	background-color: #ff0183;
}
.order {
	width: 85vw;
	margin: 0 auto;
	padding: 2rem 0;
}
.order h1 {
	margin-bottom: 1rem;
	padding-left: 15px;
	font-size: 1.5rem;
	color: #fff;
	line-height: 2rem;
	border-left: 10px solid #fff;
}
.order section {
	width: auto;
	background-color: #fff;
}
.order section div {
	margin: 0.5rem 0 1rem;
	padding: 0 0.5rem;
	font-size: 0.8rem;
	line-height: 1.2rem;
	text-align: center;
}
.order h2 {
	padding: 0.5rem 1rem;
	font-size: 1rem;
	line-height: 1.2rem;
	color: #fff;
	background-color: #000;
}
.order h2::before { content: "■"; }
.order h2 span { display: inline-block; }
.order section b {
	display: block;
}
.order .price {
	font-size: 120%;
	color: #ff0183;
}
.order section a {
	display: block;
	max-width: 15rem;
	margin: 0.5rem auto;
	padding: 0.2rem 1rem;
	color: #000;
	border: 3px solid #000;
	border-radius: 5px;
	background-color: #fff600;
	transition: .2s;
}
.order section a:hover {
	color: #fff;
	background-color: #000;
	transition: .2s;
}

.info_area {
	position: relative;
	color: #fff;
	font-weight: normal;
	background-color: #0451ff;
	background-image: url(images/top_chara_img.png);
	background-position: center center;
	background-repeat: no-repeat;
}
.info_inner {
	width: 100%;
	max-width: 1000px;
	padding: 2rem 0;
	background-color: rgba(4,81,255,0.5);

}
.info_news {
	margin: 0 2rem;
}
.info_news h1 {
	margin-bottom: 1rem;
	padding-left: 15px;
	font-size: 1.5rem;
	line-height: 2rem;
	border-left: 10px solid #fff;
}
.info_news_content {
	font-size: 0.8rem;
	line-height: 1.2rem;
	
	position: relative;
	max-height: 150px;
}
.info_news_content time {
	display: inline-block;
	margin-bottom: 0.5rem;
	padding: 0 1rem;
	font-size: 1.2rem;
	line-height: 1.5rem;
	color: #fff;
	background-color: #777;
}
.info_news_content time ~ time {
	margin-top: 1rem;
}
.info_news_content a { color: #fff600; }
.info_news_content a:hover { color: #000; }
.info_news_content ul li {
	list-style-position: inside;
}
/*///////////////////////////////////////////////////////////////
	Story - Concept
/////////////////////////////////////////////////////////////////*/
#story {
	width: 100%;
	height: auto;
	margin-top: 60px;
	padding-top: -60px;
	background-image: url(images/story_bg_m.jpg);
	background-position: top center;
	background-attachment: fixed;
	background-size: cover;
}
.story_img_container {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}
#concept {
	padding: 0 0 5rem;
}
.concept_inner {
	margin-top: 60px;
	padding: 1px;
	padding-bottom: 3rem;
	background-color: #fff;
}
.concept_inner > * {
	margin: 0 auto 1rem;
}
.concept_head_img {
	position: relative;
	width: 85vw;
	max-width: 827px;
	margin-top: -30px;
}
.concept_head_img2 {
	width: 80vw;
	max-width: 800px;
}
.concept_point {
	width: 80vw;
	max-width: 700px;
}
.point_head {
	flex-direction: row;
	align-items: center;
	position: relative;
	height: 100px;
	padding: 0.5rem 1rem 0.5rem 0;
	color: #fff;
	background-color: #000;
}
.point_number {
	-js-display: flex;
	-webkit-display: flex;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100px;
	height: 85px;
	margin-left: -0.5rem;
	font-size: 2rem;
	color: #000;
	background: url(images/concept_number_bg.png) no-repeat center center;
	background-size: contain;
}
.point_head > p {
	width: 60vw;
	max-width: 530px;
	margin-left: 1rem;
	font-size: 1rem;
	line-height: 1.5rem;
}
.point_block {
	padding: 2rem 0;
	background-color: #1165ff;
}
.point_block > div {
	width: 70vw;
	max-width: 600px;
	margin: 0 auto;
}
.point_block > div > p {
	padding: 1rem 1.5rem;
	font-size: 1rem;
	line-height: 1.5rem;
	background-color: #fff;
}
.point_block > div > p > span{
	color: #ff53ac;
}
.point_block small {
	display: inline-block;
	margin-top: 0.5rem;
	font-size: 0.8rem;
	font-weight: normal;
	color: #fff;
}
.point_block small a {
	color: #fff600;
}
.point_block small a:hover {
	color: #000;
}
.point_block .content_f {
	padding: 1rem 1.5rem;
	font-size: 1rem;
	line-height: 1.5rem;
	background-color: #fff;
}
.point_block .content_f figure {
	margin-top: 1rem;
	text-align: center;
}
	
/*///////////////////////////////////////////////////////////////
	character
/////////////////////////////////////////////////////////////////*/
.chara_selector {
	-js-display: flex;
	-webkit-display: flex;
	display: flex;
	justify-content: center;
	width: 100%;
	padding: 1rem 0.5rem 0.5rem 0.5rem;
	background-color: #ff53ac;
}
.chara_selector > a {
	width: 20%;
	max-width: 116px;
}
.chara_selector > a + a {
	margin-left: 0.5rem;
}
.chara_block {
	width: 100%;
	min-height: 700px;
}
.chara_img_area {
	position: relative;
}
.chara_img_area::before {
	content: "";
	position: absolute;
	top: 2rem;
	right: 0;
	z-index: 1;
	display: block;
	width: 70vw;
	height: 20vh;
	background-position: top right;
	background-repeat: no-repeat;
	background-size: contain;
}
#suzuka .chara_img_area::before {
	background-image: url(images/character/type_suzuka.gif);
}
#noa .chara_img_area::before {
	background-image: url(images/character/type_noa.gif);
}
#rintarou .chara_img_area::before {
	background-image: url(images/character/type_rintarou.gif);
}
#kazuto .chara_img_area::before {
	background-image: url(images/character/type_kazuto.gif);
}
.chara_img_area img {
	position: relative;
	z-index: 2;
	display: block;
	margin: 0 auto;
	padding-top: 18vh;
}
.chara_name,
.samplevoice,
.chara_prof_middle > p,
.chara_prof_bottom {
	width: 90vw;
	max-width: 700px;
	margin: 0 auto;
}
.chara_prof_top {
	padding: 3rem 0;
}
.chara_name {
	align-items: center;
	flex-wrap: wrap;
	width: 100%;
//	border: 1px solid red;
}
.chara_name > div:first-of-type {
/*	width: 90%;
	max-width: 396px;*/
	text-align: center;
}
.chara_name > div:first-of-type > img {
	max-height: 27vw;
}

.chara_cv {
	-js-display: flex;
	-webkit-display: flex;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 214px;
	height: 86px;
	margin-top: 0.5rem;
	background-image: url(images/character/cv_bg.gif);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}

.samplevoice {
	margin: 1.5rem auto 0;
	text-align: center;
//border: 1px solid red;
}
.samplevoice > img {
	cursor: pointer;
	transition: .2s;
}
.samplevoice > img:hover {
	transition: .2s;
	opacity: 0.5;
}

.chara_prof_middle {
	padding: 2rem 0;
	background-color: #fff;
}
.chara_prof_bottom {
	margin: 2rem auto;
}
.chara_prof_bottom img {
	display: block;
}
.chara_size img {
	max-height: 4vh;
	margin: 0.2rem 0;
}
.clothes {
	position: relative;
	z-index: 2;
	flex-direction: row;
//	flex-wrap: wrap;
	justify-content: center;
	width: 80vw;
	max-width: 100%;
	margin: 0 auto;
	padding: 0 0 2rem;
}
.clothes div {
	width: 22%;
	height: 22%;
	max-width: 90px;
	max-height: 90px;
	margin: 0.3rem 0.2rem;
	transition: .2s;
}
.clothes div:hover {
	cursor: pointer;
	transition: .2s;
	opacity: 0.5;
}
/*///////////////////////////////////////////////////////////////
	sample
/////////////////////////////////////////////////////////////////*/
#sample > section {
	padding: 1.5rem 0;
}
#sample .product_inner_content > h1 {
	max-width: 600px;
	margin-bottom: 1rem;
	padding: 1rem;
	font-size: 2rem;
	color: #fff;
	line-height: 2rem;
	background-color: #000;
}
#sample .mdn .content_f {
	justify-content: space-around;
	flex-wrap: wrap;
	padding: 0 0.5rem;
}
#sample .mdn .content_f > * {
	width: 47%;
	max-width: 450px;
	max-height: 350px;
	margin: 0 0.5rem 1rem;
}
#sample .mdn .content_f > * > img {
	border: 5px solid #000;
	border-radius: 20px;
}

#sample .mdv {
	width: 75vw;
	max-width: 900px;
	margin: 0 auto;
}
	
#sample .mdv section div:last-child {
	margin: 0.5rem 0 1rem;
}
#cg .mdv section div img { display: block; }

#anime .mdv section video {
	display: block;
	width: 75vw;
	max-width: 900px;
	margin: 0 auto;
//	border: 1px solid red;
}
#sample .mdn .new::before {
	top: 10px; left: 10px;
}
#sample .mdv .new::before {
	position: relative;
	top: 0; left: 0;
	width: auto;
	height: auto;
	background: none;
}
#sample .mdv .new div:last-child::before {
	content: "NEW";
	display: inline-block;
	margin-right: 0.2rem;
	padding: 0 0.2rem;
	color: #fff;
	background-color: #ff0183;
}

/*///////////////////////////////////////////////////////////////
	download
/////////////////////////////////////////////////////////////////*/
#download > section,
#releaseDate > section {
	margin: 0 auto;
	padding: 1.5rem 0;
}
#download .product_inner_content > h1,
#releaseDate .product_inner_content > h1 {
	max-width: 600px;
	padding: 1rem;
	font-size: 2rem;
	color: #fff;
	line-height: 2rem;
	background-color: #000;
}
#download h2 {
	display: inline-block;
	min-width: 5rem;
	margin: 1rem 0;
	padding: 0.1rem 0.5rem;
	text-align: center;
	border-width: 3px;
	border-style: solid;
	border-color: #000;
	background-color: #ffc6f0;
}
#download .anno, #releaseDate .anno {
	width: 75vw;
	max-width: 750px;
	margin: 1rem auto 0;
	padding: 1rem;
	border: 3px solid #ccc;
	border-radius: 10px;
}
.dl_inner {
	width: 75vw;
	max-width: 900px;
	margin: 0 auto;
	text-align: center;
}
.dl_inner .content_f div + div {
	margin-top: 0.5rem;
}
.dl_inner input[type="text"] {
	display: block;
	width: 70%;
	max-width: 600px;
	margin: 0.2rem auto 0.5rem;
	padding: 0.2rem;
}
#dlBanner .content_f {
	justify-content: space-around;
}

#demoMovie video {
	display: block;
	width: 75vw;
	max-width: 900px;
	height: auto;
	margin: 0.7rem auto 0;
//	border: 1px solid red;
}

/*///////////////////////////////////////////////////////////////
	product
/////////////////////////////////////////////////////////////////*/
#product {
	padding: 1px;
	padding-bottom: 3rem;
}
#product > section {
	margin: 0 auto;
	padding: 1.5rem 0;
}
.product_inner {
	width: 80vw;
	max-width: 980px;
	margin: 0 auto;
	font-size: 0.8rem;
	font-weight: normal;
	line-height: 1.2rem;
}
.product_inner_head {
	margin-bottom: 1rem;
	
	position: relative;
	width: 100%;
	height: 40vh;
	max-height: 150px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
.product_inner_head > div {
	position: absolute;
	bottom: 0;
	-js-display: flex;
	-webkit-display: flex;
	display: flex;
	align-items: center;
	width: 100%;
	height: auto;
	padding: 0.5rem 1rem;
}
.phead_p {
	background: -moz-linear-gradient(left, rgb(255,83,172), rgba(255,83,172,0.2));
	background: -ms-linear-gradient(left, rgb(255,83,172), rgba(255,83,172,0.2));
	background: -o-linear-gradient(left, rgb(255,83,172), rgba(255,83,172,0.2));  
	background: -webkit-linear-gradient(left, rgb(255,83,172), rgba(255,83,172,0.2));
	background: linear-gradient(left, rgb(255,83,172), rgba(255,83,172,0.2));
}
.phead_lb {
	background: -moz-linear-gradient(left, rgb(83,255,245), rgba(83,255,245,0.2));
	background: -ms-linear-gradient(left, rgb(83,255,245), rgba(83,255,245,0.2));
	background: -o-linear-gradient(left, rgb(83,255,245), rgba(83,255,245,0.2));  
	background: -webkit-linear-gradient(left, rgb(83,255,245), rgba(83,255,245,0.2));
	background: linear-gradient(left, rgb(83,255,245), rgba(83,255,245,0.2));
}
.product_inner_head > img {
	display: block;
}
.product_inner_content {
	padding-bottom: 1rem;
	background-color: #fff;
}
#shop .product_inner_content > h1,
#spec .product_inner_content > h1 {
	max-width: 600px;
	padding: 1rem;
	font-size: 2rem;
	color: #fff;
	line-height: 2rem;
	background-color: #000;
}
/*   予約特典
-------------------------------*/
/*#yoyaku {
	background-color: #0451ff;
}*/
#yoyaku .product_inner_head {
	background-image: url(images/sp/yoyaku_head_bg.jpg);
}
.yoyaku_asmr {
	width: 90%;
	max-width: 750px;
	margin: 0 auto 1rem;
	padding: 1rem;
	font-weight: bold;
	border: 3px solid #000;
	border-radius: 10px;
}
/*   店舗特典
------------------------------*/
#shop .product_inner_head {
	background-image: url(images/sp/shop_head_bg.jpg);
}
.shop_inner {
	width: 75vw;
	max-width: 900px;
	margin: 1rem auto 0;
	padding-top: 1rem;
	text-align: center;
}
.sb_base {
	width: auto;
	margin: 1rem 0;
	padding: 1.5rem;
	border: 3px solid #000;
	border-radius: 10px;
}
.sb_image {
	width: 60vw;
	max-width: 450px;
	margin: 0 auto 1.5rem;
}
.sb_image > img {
	border: 2px solid #ccc;
	box-shadow: 8px 8px 0 2px #ffff00;
}
.sb_inner {
	flex-grow: 1;
}
.sb_name {
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 2rem;
	border-bottom: 8px solid #0451ff;
}
.sb_name::after {
	content: "様";
	font-size: 1rem;
	margin-left: 0.5rem;
}
.sb_item {
	margin: 0.5rem 0;
	font-size: 1.5em;
	line-height: 1.5rem;
}
.sb_link {
	margin-top: 1rem;
}
.sb_link > div {
	padding: 1rem 1.5rem;
	text-align: left;
	border: 3px solid #ccc;
}
.sb_link > div + div {
	margin-top: 1rem;
}
.sb_link > div > a {
	display: block;
	margin-bottom: 0.5rem;
	padding: 0.2rem 1rem;
	color: #000;
	font-weight: bold;
	text-align: center;
	border: 3px solid #000;
	background-color: #fff000;
	transition: .2s;
}
.sb_link > div > a:hover {
	color: #fff;
	background-color: #000;
	transition: .2s;
}

/*   B2タペストリー付き
-------------------------------*/
/*#tapeset {
	background-color: #ff53ac;
}*/
#tapeset .product_inner_head {
	background-image: url(images/sp/tapeset_head_bg.jpg);
}
.tapeset_text {
	position: relative;
	width: 100%;
	padding: 2rem 1.5rem 2.5rem;
	font-size: 1rem;
	line-height: 1.5rem;
	color: #fff;
	font-weight: bold;
	text-shadow:
	0px -2px 3px #ff1282, 0px 2px 3px #ff1282, -2px 0px 3px #ff1282, 2px 0px 3px #ff1282;
	text-align: left;
	background-color: #fff3a5;
}
.tapeset_text::after {
	position: absolute;
	bottom: 0;
	left: 0;
	content: "";
	display: block;
	width: 100%;
	height: 17px;
	background: url(images/line_sir.jpg) repeat-x top center;
}
.tapeset_sample_img {
	width: 70vw;
	max-width: 400px;
	margin: 1rem auto;
}
.tape_outline {
	width: 70vw;
	max-width: 530px;
	margin: 0 auto;
	padding: 1rem 1rem;
	color: #fff;
	border: 3px solid #000;
	border-radius: 15px;
	background-color: #0451ff;
}
.tape_outline > figure {
	margin: 0.5rem 0;
}
.tape_outline b {
	font-size: 0.9rem;
}
.tape_name {
	margin: 0.5rem 0 0.8rem;
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 1.6rem;
	text-shadow:
	0px -3px #000000, 0px 3px #000000, -3px 0px #000000, 3px 0px #000000,
	3px 3px #000000, 3px -3px #000000, -3px 3px #000000, -3px -3px #000000,
	1px 3px #000000, 1px -3px #000000, -1px 3px #000000, -1px -3px #000000,
	3px 1px #000000, 3px -1px #000000, -3px 1px #000000, -3px -1px #000000,
	2px 3px #000000, 2px -3px #000000, -2px 3px #000000, -2px -3px #000000,
	3px 2px #000000, 3px -2px #000000, -3px 2px #000000, -3px -2px #000000;
}

/*   製品情報
-------------------------------*/
/*#spec {
	background-color: #62f2ff;
}*/
#spec .product_inner_content:first-of-type {
	margin-bottom: 1.5rem;
}
#spec .product_inner_content > h1 > small {
	display: block;
	margin-top: 0.5rem;
	font-size: 0.8rem;
}
.product_inner_content dl {
	width: 75vw;
	max-width: 900px;
	margin: 1.5rem auto;
	font-weight: bold;
}
.product_inner_content dt {
	display: inline-block;
	min-width: 5rem;
	padding: 0.1rem 0.5rem;
	text-align: center;
	border-width: 3px;
	border-style: solid;
	border-color: #000;
	background-color: #ffc6f0;
}
.product_inner_content dd {
	margin: 0.5rem 0;
}
.product_inner_content dd.t_big {
	font-size: 1rem;
	line-height: 1.3rem;
}
#spec .product_inner_content dl + p {
	width: 75vw;
	max-width: 900px;
	margin: 0 auto;
	padding: 1rem;
	color: #fff;
	background-color: #000;
}

/*   Coming soon
-------------------------------*/
.comingsoon > section {
	padding: 1.5rem 0;
}
.comingsoon .product_inner_content {
	height: 80vh;
	padding-top: 5rem;
	padding-bottom: 3rem;
}
.comingsoon .product_inner_content p {
	width: 80%;
	max-width: 400px;
	margin: 0 auto;
	padding: 1rem;
	font-size: 1.5rem;
	color: #999;
	border: 5px solid #eee;
	border-radius: 20px;
	text-align: center;
}

/*///////////////////////////////////////////////////////////////
	Footer - copyright
/////////////////////////////////////////////////////////////////*/
.footer_area {
	align-items: center;
	padding: 0 1rem;
}
.foot_sns_link * + * { margin-left: 1rem; }
.link_blog {
	padding: 0.5rem 1rem;
	font-size: 1rem;
	color: #000;
	text-align: center;
	line-height: 1.2rem;
	border: 2px solid #000;
	transition: .8s;
	background-color: #fff;
}
.link_blog:hover {
	color: #fff;
	transition: .2s;
	background-color: #000;
}
.link_twitter {
	display: block;
	max-width: 75px;
	max-height: 75px;
}
.link_twitter img {
	border-radius: 100%;
}

.foot_sns_link {
	-js-display: flex;
	-webkit-display: flex;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 1rem;
}
.foot_sns_link > .link_blog {
	padding: 0.5rem 0.8rem;
	font-size: 0.8rem;
	line-height: 1rem;
}
.foot_sns_link > .link_twitter {
	max-width: 55px;
	max-height: 55px;
}
footer {
	font-size: 0.8rem;
	line-height: 1rem;
	font-weight: normal;
	text-align: center;
	margin: 1rem 0 0.5rem;
}

#releaseDate {
	margin-top: 60px;
	padding-top: -60px;
}
#releaseDate .product_inner_content {
	padding: 2rem 1rem;
}
#releaseDate .product_inner_content h1 {
	padding: 0;
	color: #000;
	background-color: transparent;
}
#releaseDate .product_inner_content p {
	max-width: 700px;
	white-space: pre;
	white-space: pre-line;
}
.new_release_date {
	margin: 1rem 0 1rem;
	max-width: 500px;
	padding: 1rem;
	font-size: 1.1rem;
	line-height: 1.5rem;
	border: 1px solid #000;
}
.new_release_date::before {
	content: "変更後の発売日";
	display: block;
	max-width: 200px;
	margin-bottom: 1rem;
	padding: 0.2rem 1rem;
	font-size: 1rem;
	line-height: 1.3rem;
	text-align: center;
	color: #fff;
	background-color: #000;
}

@media screen and (min-width:667px) and (max-width: 959px){
/*	Tablet || 667px ~ 969px	*/
	
	/*/////////// ■common class■ ///////////*/
	
	/*/////////// ■haader - topimg■ ///////////*/
	#main_img {
	 }
	.info_area > .open_date {
		font-size: 2.5rem;
		line-height: 2.8rem;
	}
	.topics_inner {
		flex-direction: row;
	}
	.topics_inner > * {
		width: 48%;
	}
	.topics_inner img {
//		width: auto;
	}
}

@media screen and (min-width:960px){
/*	PC || 960px ~	*/
	
	/*/////////// ■common class■ ///////////*/
	.content_f {
		flex-flow: row;
		justify-content: space-between;
	}
	.topmp {
		margin-top: 0;
		padding-top: 0;
	}
	small {
		font-size: 0.9rem;
		line-height: 1.1rem;
	}
	
	/* mobile display none */
	.mdn { display: block; }
	.mdnbr br { display: inline; } 
	br.nbr { display: inline; }
	/* mobile display visible */
	.mdv { display: none; }
	.mdvbr br { display: none; } 
	
	.anno {
		font-size: 1rem;
		line-height: 1.5rem;
	}
	section > h1 > span {
		font-size: 3rem;
		line-height: 3rem;
	}
	
	/*/////////// ■header■ ///////////*/
	.head {
		position: static;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		height: auto;
		padding: 1rem;
	}
	.head > p {
		padding: 1rem 0 1rem 2rem;
		font-size: 2.5rem;
		font-weight: bold;
		text-align: left;
		line-height: 2.8rem;
	}
	.brandlogo {
		max-width: 150px;
		height: auto;
		margin-left: 0;
	}
	.head_block_left {
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		justify-content: flex-end;
		align-items: center;
		width: 100%;
		padding-left: 1rem;
	}
	.head_news {
		-js-display: flex;
		-webkit-display: flex;
		display: flex;
		align-items: center;
		margin: 0.5rem 0;
		width: 50%;
		min-width: 803px;
		font-weight: normal;
	}
	.head_news > h1 {
		padding: 0 1rem;
		color: #fff;
		background-color: #000;
	}
	.head_news > time {
		margin: 0 1rem;
		color: #999;
		font-style: italic;
	}
	/*/////////// ■menu■ ///////////*/
	.menu {
		-js-display: flex;
		-webkit-display: flex;
		display: flex;
		justify-content: space-between;
	}
	/*/////////// ■haader - topimg■ ///////////*/
	#main_img {
	 	height: auto;
	 	max-height: 1100px;
	 	margin-top: 0;
	 	padding-top: 0;
	}
	
	#topDemoBn {
		position: absolute;
		top: 3%;
		right: 2%;
		width: 25%;
		max-width: 700px;
		height: auto;
		margin: 0;
	}
	
	#dateChange a {
		padding: 2rem;
		font-size: 2.5rem;
	}
	.topics_inner {
		flex-direction: row;
		width: 95vw;
		padding: 1rem 0;
	}
	.topics_inner > * {
		width: 24%;
	}
	.topics_inner > img { display: block; }
	
	.order {
		margin: 0 2rem;
		padding: 2rem 0 2.5rem;
	}
	.order h1 {
		margin-bottom: 2rem;
		font-size: 2.8rem;
		line-height: 3rem;
	}
	.order .content_f {
		justify-content: flex-start;
	}
	.order section {
		width: 500px;
	}
	.order section + section {
		margin-left: 2rem;
	}
	.order section div {
		margin: 1rem 0 1rem;
		font-size: 1.2rem;
		line-height: 1.8rem;
	}
	.order h2 {
		font-size: 1.2rem;
		line-height: 1.5rem;
	}
	
	.info_area {
		background-position: center right;
	}
	.info_inner {
		background: -moz-linear-gradient(left, rgba(4,81,255,0.5), transparent);
		background: -ms-linear-gradient(left, rgba(4,81,255,0.5), transparent);
		background: -o-linear-gradient(left, rgba(4,81,255,0.5), transparent);  
		background: -webkit-linear-gradient(left, rgba(4,81,255,0.5), transparent);
		background: linear-gradient(left, rgba(4,81,255,0.5), transparent);
	}
	.info_news h1 {
		margin-bottom: 2rem;
		font-size: 2.8rem;
		line-height: 3rem;
	}
	.info_news_content {
		font-size: 1rem;
		line-height: 1.5rem;
		max-width: 500px;
		height: 250px;
		max-height: 250px;
	}
	.info_news_content > p {
		margin: 0.5rem 0;
	}
	/*/////////// ■story - concept■ ///////////*/
	#story {
	 	height: auto;
	 	margin-top: 0;
	 	padding-top: 0;
	 	padding-bottom: 5rem;
	 	background-image: url(images/story_bg.jpg);
	}
	.story_img_container {
		width: 90vw;
		max-width: 1340px;
		margin-top: 3rem;
	}
	.concept_inner {
		margin-top: 80px;
	}
	.point_head {
		justify-content: flex-start;
	}
	.point_number {
		width: 130px;
		height: 111px;
		margin-left: -1rem;
		font-size: 3rem;
	}
	.point_head > p {
		margin-left: 1rem;
		font-size: 1.5rem;
		line-height: 2rem;
	}
	.point_block > div > p {
		padding: 1.5rem 2rem;
		font-size: 1.4rem;
		line-height: 2.2rem;
	}
	.point_block .content_f {
		padding: 1.5rem 2rem;
		font-size: 1.4rem;
		line-height: 2.2rem;
	}
	.point_block .content_f p {
		width: 75%;
	}
	.point_block .content_f figure {
		position: relative;
		top: -120px;
		right: -50px;
		z-index: 1;
		width: 25%;
		max-width: 130px;
		margin-top: 0;
	}
	/*/////////// ■character■ ///////////*/
	.chara_container {
		flex-direction: row-reverse;
	}
	.chara_block {
		width: 50%;
	}
	.chara_img_area::before {
		top: 5rem;
		left: 2rem;
		right: auto;
		width: 19vw;
		max-width: 388px;
		max-height: 153px;
	}
	.chara_img_area img {
		padding-top: 0;
	}
	.chara_name,
	.samplevoice,
	.chara_prof_middle > p,
	.chara_prof_bottom {
		width: 90%;
	}
	.chara_prof_top {
		padding: 5rem 0;
	}
	.chara_name {
		align-items: flex-end;
		justify-content: flex-start;
	}
	.chara_name > div:first-of-type > img {
		max-height: 100%;
	}
	.chara_name > div:first-of-type {
		text-align: left;
	}
	.chara_cv {
		min-width: 180px;
		margin-top: 0;
		margin-left: 2vw;
	}
	.samplevoice {
		margin-top: 2rem;
		text-align: left;
	}
	.chara_prof_middle {
		padding: 5rem 0;
	}
	.chara_prof_middle > p {
		font-size: 1.8rem;
		line-height: 3rem;
	}
	.chara_prof_bottom {
		margin: 3rem auto;
	}
	.chara_size {
		justify-content: flex-start;
	}
	.chara_size > div + div {
		margin-left: 1rem;
	}
	.clothes {
		justify-content: flex-start;
		margin: 0 auto;
		padding: 1rem 0;
	}
	.clothes > div {
		width: 15%;
		margin: 0.3rem 0.2rem;
	}
	/*/////////// ■sample■ ///////////*/
	#sample .product_inner_content > h1 {
		margin-bottom: 2rem;
		padding: 2rem 1.5rem;
		font-size: 3rem;
		line-height: 3rem;
	}
	#cg {
		padding-bottom: 2rem;
	}
	/*/////////// ■download■ ///////////*/
	#download > section,
	#releaseDate > section {
		padding: 4rem 0;
	}
	#download .product_inner_content > h1,
	#releaseDate .product_inner_content > h1 {
		padding: 2rem 1.5rem;
		font-size: 3rem;
		line-height: 3rem;
	}
	#download h2 {
		margin: 2rem 0;
		padding: 0.2rem 1rem;
		font-size: 1rem;
	}
	#download .anno, #releaseDate .anno {
		margin: 2rem auto 0;
	}
	.dl_inner .content_f div + div {
		margin-top: 0;
		margin-left: 0.5rem;
	}
	
	#demoMovie video {
		margin: 2rem auto 0;
	}

	/*/////////// ■product■ ///////////*/
	#product > section {
		padding: 4rem 0;
	}
	.product_inner_head {
		max-height: 370px;
		margin-bottom: 2rem;
	}
	.product_inner_head > div {
		bottom: 1vw;
		height: 100px;
		padding: 1rem 2rem;
	}
	.product_inner_content {
		padding-bottom: 2rem;
	}
	#shop .product_inner_content > h1,
	#spec .product_inner_content > h1 {
		padding: 2rem 1.5rem;
		font-size: 3rem;
		line-height: 3rem;
	}
	
	.yoyaku_asmr {
		margin: 0 0 2rem 3rem;
		font-size: 1rem;
		line-height: 1.5rem;
	}
	
	.shop_inner {
		margin: 2rem auto 0;
		padding-top: 2rem;
	}
	.sb_image {
		max-width: 350px;
	}
	.sb_image > img {
		box-shadow: 8px 8px 0 2px #ffff00;
	}
	.sb_inner {
		margin-left: 2rem;
	}
	.sb_name {
		padding: 0.5rem 0;
		font-size: 2.5rem;
		line-height: 2.5rem;
	}
	.sb_item {
		font-size: 2em;
		line-height: 2rem;
	}
	.sb_name::after {
		font-size: 1.5rem;
	}
	.sb_link > div > a {
		padding: 0.5rem 1rem;
		font-size: 1.5rem;
		line-height: 1.5rem;
	}
	
	.tapeset_text {
		padding: 3rem 1rem 3.5rem;
		font-size: 1.8rem;
		line-height: 2.5rem;
		text-align: center;
	}
	.tape_outline {
		padding: 1rem 1.5rem;
		font-size: 1rem;
		line-height: 1.5rem;
	}
	.tape_outline b {
		font-size: 1.2rem;
	}
	.tape_name {
		font-size: 1.4rem;
		line-height: 1.8rem;
		
		text-shadow:
		0px -3px #000000, 0px 3px #000000, -3px 0px #000000, 3px 0px #000000,
		3px 3px #000000, 3px -3px #000000, -3px 3px #000000, -3px -3px #000000,
		1px 3px #000000, 1px -3px #000000, -1px 3px #000000, -1px -3px #000000,
		3px 1px #000000, 3px -1px #000000, -3px 1px #000000, -3px -1px #000000,
		2px 3px #000000, 2px -3px #000000, -2px 3px #000000, -2px -3px #000000,
		3px 2px #000000, 3px -2px #000000, -3px 2px #000000, -3px -2px #000000,
		4px 4px 1px #000000, 5px 5px 2px #000000;
	}
	#spec .product_inner_content:first-of-type {
		margin-bottom: 3rem;
	}
	#spec .product_inner_content > h1 > small {
		display: inline-block;
		margin: 0 1rem;
		font-size: 1rem;
		vertical-align: middle;
	}
	.tapeset_sample_img {
		margin: 2rem auto;
	}
	.product_inner_content dl {
		margin: 2rem auto;
	}
	.product_inner_content dt {
		padding: 0.2rem 1rem;
		font-size: 1rem;
	}
	.product_inner_content dd {
		font-size: 1.1rem;
		line-height: 1.5rem;
	}
	.product_inner_content dd.t_big {
		font-size: 1.7rem;
		line-height: 1.5rem;
	}
	
/*   Coming soon
-------------------------------*/
	.comingsoon > section {
		padding: 4rem 0;
	}
	/*/////////// ■footer■ ///////////*/
	footer {
		font-size: 1rem;
	}
	
	#releaseDate {
		margin-top: 0;
		padding-top: 0;
	}
	#releaseDate .product_inner_content {
		padding: 3rem 2rem;
	}
	#releaseDate .product_inner_content h1 {
		padding: 0;
		font-size: 2rem;
		line-height: 2.5rem;
	}
	#releaseDate .product_inner_content p {
		font-size: 1rem;
		line-height: 1.5rem;
	}
	.new_release_date {
		margin: 2rem 0 1rem;
		padding: 2rem;
		font-size: 2rem;
		line-height: 2.5rem;
	}
	.new_release_date::before {
		font-size: 1.3rem;
		line-height: 1.8rem;
	}
}

/*///////////////////////////////////////////////////////////////
	Animation
/////////////////////////////////////////////////////////////////*/
@-webkit-keyframes rollx {
	0% { background-position: 2800px 0; }
	100% { background-position: -2800px 0; }
}
@keyframes rollx {
	0% { background-position: 2800px 0; }
	100% { background-position: -2800px 0; }
}
@-webkit-keyframes flash {
	from, 50%, to { opacity: 1; }
	 25%, 75% { opacity: 0.5; }
}
@keyframes flash {
	from, 50%, to { opacity: 1; }
	 25%, 75% { opacity: 0.5; }
}