@charset "utf-8";

/*　オーバーレイ　===================*/
.overlay {
	position: fixed;
	display: block;
	top: 0;
	left: 0;
	min-width: 100vw;
	min-height: 100vh;
	width: auto;
	height: auto;
	background-color: rgba(0, 0, 0, 0.4);
	opacity: 0;
	transition: all .5s ease;
}
#error .overlay,
.page_scroll .overlay {
	opacity: 1;
	transition: all .5s ease;
}

/*　見出し　===================*/
#game_info h2.headline {
	position: relative;
	margin: 0 auto;
	padding-top: 1vw;
	padding-bottom: 1vw;
	color: #fad976;
	font-size: 5vw;
	font-weight: 700;
	text-align: center;
	text-shadow:
		.058em 0 0 #03376d, .054em .022em 0 #03376d, .041em .041em 0 #03376d, .022em .054em 0 #03376d,
		0 .058em 0 #03376d, -.022em .054em 0 #03376d, -.041em .041em 0 #03376d, -.054em .022em 0 #03376d,
		-.058em 0 0 #03376d, -.054em -.022em 0 #03376d, -.041em -.041em 0 #03376d, -.022em -.054em 0 #03376d,
		0 -.058em 0 #03376d, .022em -.054em 0 #03376d, .041em -.041em 0 #03376d, .054em -.022em 0 #03376d,
		.125em .067em 0 #03376d, .12em .089em 0 #03376d, .108em .108em 0 #03376d, .089em .12em 0 #03376d,
		.067em .125em 0 #03376d, .044em .12em 0 #03376d, .025em .108em 0 #03376d, .013em .089em 0 #03376d,
		.008em .067em 0 #03376d, .013em .044em 0 #03376d, .025em .025em 0 #03376d, .044em .013em 0 #03376d,
		.067em .008em 0 #03376d, .089em .013em 0 #03376d, .108em .025em 0 #03376d, .12em .044em 0 #03376d;
}
#game_info h3 {
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0;
	padding-top: 1vw;
	padding-bottom: 1vw;
	color: #fad976;
	font-size: 4vw;
	font-weight: 700;
	text-align: center;
	text-shadow:
		.058em 0 0 #03376d, .054em .022em 0 #03376d, .041em .041em 0 #03376d, .022em .054em 0 #03376d,
		0 .058em 0 #03376d, -.022em .054em 0 #03376d, -.041em .041em 0 #03376d, -.054em .022em 0 #03376d,
		-.058em 0 0 #03376d, -.054em -.022em 0 #03376d, -.041em -.041em 0 #03376d, -.022em -.054em 0 #03376d,
		0 -.058em 0 #03376d, .022em -.054em 0 #03376d, .041em -.041em 0 #03376d, .054em -.022em 0 #03376d,
		.125em .067em 0 #03376d, .12em .089em 0 #03376d, .108em .108em 0 #03376d, .089em .12em 0 #03376d,
		.067em .125em 0 #03376d, .044em .12em 0 #03376d, .025em .108em 0 #03376d, .013em .089em 0 #03376d,
		.008em .067em 0 #03376d, .013em .044em 0 #03376d, .025em .025em 0 #03376d, .044em .013em 0 #03376d,
		.067em .008em 0 #03376d, .089em .013em 0 #03376d, .108em .025em 0 #03376d, .12em .044em 0 #03376d;
}
:not(#game_info h2).headline {
	position: relative;
	height: 15.375vw;
	margin: 0 auto;
	margin-bottom: 3vw;
	color: hsl(0, 0%, 100%);
	font-size: 5vw;
	font-weight: 700;
	text-align: center;
	background-image: url(../img/bg_headline_mb.png);
	background-size: 100%;
	line-height: 1.1;
	z-index: 400;
}
:not(#game_info h2).headline > span {
	position: absolute;
	display: inline-block;
	width: 100%;
	margin: 0;
	padding: 0;
	top: 50%;
	left: 0;
	transform: translateY(-53%);
	text-shadow:
		.058em 0 0 #187a8c, .054em .022em 0 #187a8c, .041em .041em 0 #187a8c, .022em .054em 0 #187a8c,
		0 .058em 0 #187a8c, -.022em .054em 0 #187a8c, -.041em .041em 0 #187a8c, -.054em .022em 0 #187a8c,
		-.058em 0 0 #187a8c, -.054em -.022em 0 #187a8c, -.041em -.041em 0 #187a8c, -.022em -.054em 0 #187a8c,
		0 -.058em 0 #187a8c, .022em -.054em 0 #187a8c, .041em -.041em 0 #187a8c, .054em -.022em 0 #187a8c,
		.125em .067em 0 #187a8c, .12em .089em 0 #187a8c, .108em .108em 0 #187a8c, .089em .12em 0 #187a8c,
		.067em .125em 0 #187a8c, .044em .12em 0 #187a8c, .025em .108em 0 #187a8c, .013em .089em 0 #187a8c,
		.008em .067em 0 #187a8c, .013em .044em 0 #187a8c, .025em .025em 0 #187a8c, .044em .013em 0 #187a8c,
		.067em .008em 0 #187a8c, .089em .013em 0 #187a8c, .108em .025em 0 #187a8c, .12em .044em 0 #187a8c;
}

:not(#game_info h3).subheading {
	position: relative;
	width: 100%;
	margin: 2vw 0;
	padding: 0 2vw;
	font-size: 4vw;
	color: #9bfffe;
	font-weight: 700;
	text-align: left;
}
@media screen and (min-width: 600px), (orientation: landscape) {
	#game_info h2.headline {
		padding-top: 0;
		padding-bottom: 0;
		font-size: 4vw;
	}
	#game_info h3 {
		padding-top: .8vw;
		font-size: 3.5vw;
	}
	:not(#game_info h2).headline {
		height: 11.1458vw;
		margin-bottom: 3vw;
		font-size: 4vw;
		background-image: url(../img/bg_headline_tab.png);
	}

	:not(#game_info h3).subheading {
		margin: .8vw 0;
		padding: 0 1vw;
		font-size: 1.8vw;
	}
}
@media screen and (min-width: 1025px) {
	#game_info h2.headline {
		padding-top: 0;
		padding-bottom: 0;
		font-size: 2.6vw;
	}
	#game_info h3 {
		padding-top: .8vw;
		font-size: 2.2vw;
	}
	:not(#game_info h2).headline {
		height: 7.604vw;
		margin-bottom: 3.5vw;
		font-size: 3vw;
		background-image: url(../img/bg_headline_pc.png);
	}

	/* :not(#game_info h3).subheading {
		margin: 8px 0;
		padding: 0 10px;
		font-size: 18px;
	}	 */
}
@media screen and (min-width: 1500px) {
	:not(#game_info h2).headline {
		margin-bottom: 1.2em;
		/* font-size: 45px; */
	}
}

/*　スライダー　===================*/
#slider .slider_box {
	position: relative;
	width: 100%;
	margin: 4vw auto;
	padding: 0;
	padding-bottom: 10vw;
	overflow: hidden;
}
.slick-track {
	display: flex !important;
}
#slider .slider_box .slider_item {
	display: inline-block;
	width: 100%;
	height: auto;
	margin: 0 2vw;
	padding: 0;
	padding-bottom: 1.8vw;
	border: solid 2px #fff;
	background-color: #6c5d55;
}

/* インジケータ― */
#slider .slider_box .slick-dots {
	bottom: 0;
	z-index: 502;
}
#slider .slider_box .slick-dots li {
	width: 25px;
	height: 25px;
	margin: 0 15px;
}
#slider .slider_box .slick-dots li button {
	position: relative;
	width: 25px;
	height: 25px;
	padding: 18px;
}
#slider .slider_box .slick-dots li button:before {
	width: 25px;
	height: 25px;
	line-height: 25px;
	content: '';
	background-image: url(../img/Indicator_01.png);
	background-repeat: no-repeat;
	background-size: cover;
	opacity: 1;
}
#slider .slider_box .slick-dots li.slick-active button:before {
	background-image: url(../img/Indicator_02.png);
	opacity: 1;
}
@media screen and (min-width: 600px), (orientation: landscape) {
	#slider .slider_box {
		margin: 3.5vw auto;
		padding-bottom: 6.5vw;
	}
	#slider .slider_box .slider_item {
		margin: 0 1.2vw;
		padding-bottom: 1.2vw;
	}
}
@media screen and (min-width: 1025px) {
	#slider .slider_box {
		margin: 3.2vw auto;
		padding-bottom: 54px;
	}
	#slider .slider_box .slider_item {
		margin: 0 2vw;
		padding-bottom: 1.5vw;
	}
}
@media screen and (min-width: 1500px) {
	#slider .slider_box {
		margin: 48px auto;
	}
	#slider .slider_box .slider_item {
		margin: 0 30px;
		padding-bottom: 12px;
	}
}

/*　コンテンツ　===================*/
#top_contents {
	position: relative;
	width: 100vw;
	max-height: 150vw;
	margin: 0;
	padding: 0;
	line-height: 0;
}
#top_contents .container {
	height: 100%;
	top: 0;
	padding-top: 2vw;
}
#top_contents .title {
	position: relative;
	display: block;
	width: 90%;
	margin: 0 auto;
	margin-top: 5vw;
}
#top_contents .canvas.title_img {
	position: relative;
	display: inline-block;
	width: 100%;
	margin: 0;
	padding: 0;
	top: 0;
	left: 0;
}
#top_contents .canvas.title_img > h1.img_txt {
	position: relative;
	width: 100%;
	height: 0;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 35.329%;
	white-space: nowrap;
	text-indent: 100%;
	background-image: url(../img/jp/logo_main.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	overflow: hidden;
}

#top_contents .release {
	position: relative;
	display: block;
	width: 80vw;
	margin: 3vw auto;
}
#top_contents .release p {
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding: .2em 0;
	font-size: 5vw;
	color: #fff;
	font-weight: 700;
	text-align: center;
	line-height: 1.2;
	text-shadow:
		.058em 0 0 #187a8c, .054em .022em 0 #187a8c, .041em .041em 0 #187a8c, .022em .054em 0 #187a8c,
		0 .058em 0 #187a8c, -.022em .054em 0 #187a8c, -.041em .041em 0 #187a8c, -.054em .022em 0 #187a8c,
		-.058em 0 0 #187a8c, -.054em -.022em 0 #187a8c, -.041em -.041em 0 #187a8c, -.022em -.054em 0 #187a8c,
		0 -.058em 0 #187a8c, .022em -.054em 0 #187a8c, .041em -.041em 0 #187a8c, .054em -.022em 0 #187a8c,
		.125em .067em 0 #187a8c, .12em .089em 0 #187a8c, .108em .108em 0 #187a8c, .089em .12em 0 #187a8c,
		.067em .125em 0 #187a8c, .044em .12em 0 #187a8c, .025em .108em 0 #187a8c, .013em .089em 0 #187a8c,
		.008em .067em 0 #187a8c, .013em .044em 0 #187a8c, .025em .025em 0 #187a8c, .044em .013em 0 #187a8c,
		.067em .008em 0 #187a8c, .089em .013em 0 #187a8c, .108em .025em 0 #187a8c, .12em .044em 0 #187a8c;
}

/* セール */
#sale_banner {
	position: relative;
	width: 100%;
	margin: 0 auto;
	margin-bottom: 1em;
	padding: 0;
	line-height: 1.1;
}
#sale_banner h2.sale_text {
	position: relative;
	margin: 0 auto;
	margin-bottom: .2em;
	color: #3d3d3d;
	font-size: 5vw;
	font-weight: 700;
	text-align: center;
}
#sale_banner h2.sale_text span {
	position: relative;
	margin: 0 auto;
	padding: 0;
	text-shadow:
		.1em 0 0 #fff, .096em .022em 0 #fff, .083em .054em 0 #fff, .073em .073em 0 #fff, .054em .083em 0 #fff, .022em .096em 0 #fff,
		0 .1em 0 #fff, -.022em .096em 0 #fff, -.054em .083em 0 #fff, -.073em .073em 0 #fff, -.083em .054em 0 #fff, -.096em .022em 0 #fff,
		-.1em 0 0 #fff, -.096em -.022em 0 #fff, -.083em -.054em 0 #fff, -.073em -.073em 0 #fff, -.054em -.083em 0 #fff, -.022em -.096em 0 #fff,
		0 -.1em 0 #fff, .022em -.096em 0 #fff, .054em -.083em 0 #fff, .073em -.073em 0 #fff, .083em -.054em 0 #fff, .096em -.022em 0 #fff;
}
#sale_banner h3 {
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding: 0;
	color: #3d3d3d;
	font-size: 3.5vw;
	font-weight: 700;
	text-align: center;
}
#sale_banner h3 span {
	position: relative;
	text-shadow:
		.1em 0 0 #fff, .096em .022em 0 #fff, .083em .054em 0 #fff, .073em .073em 0 #fff, .054em .083em 0 #fff, .022em .096em 0 #fff,
		0 .1em 0 #fff, -.022em .096em 0 #fff, -.054em .083em 0 #fff, -.073em .073em 0 #fff, -.083em .054em 0 #fff, -.096em .022em 0 #fff,
		-.1em 0 0 #fff, -.096em -.022em 0 #fff, -.083em -.054em 0 #fff, -.073em -.073em 0 #fff, -.054em -.083em 0 #fff, -.022em -.096em 0 #fff,
		0 -.1em 0 #fff, .022em -.096em 0 #fff, .054em -.083em 0 #fff, .073em -.073em 0 #fff, .083em -.054em 0 #fff, .096em -.022em 0 #fff;
}
@media screen and (min-width: 600px), (orientation: landscape) {
	#sale_banner h2.sale_text {
		font-size: 3.8vw;
	}
	#sale_banner h3 {
		font-size: 2.5vw;
	}
}
@media screen and (min-width: 1500px) {
	#sale_banner h2.sale_text {
		font-size: 60px;
	}
	#sale_banner h3 {
		font-size: 40px;
	}
}



#game_info {
	position: relative;
	width: 100vw;
	margin: 0 auto;
	margin-top: 2.4em;
	margin-bottom: 1.8em;
}
#game_info .tbl {
	width: 90vw;
	line-height: 1.5;
	border-collapse: collapse;
}
#game_info .tbl .th,
#game_info .tbl .td {
	border: solid 1px #fff;
}
#game_info .tbl .th {
	width: 12em;
	text-align: center;
	/* background-color: #6c5d55; */
	background-color: rgba(108,93,85,.9);
}
#game_info .tbl .td {
	padding-left: .4em;
	/* background-color: #dc619b; */
	background-color: rgba(220,97,155,.9);
}
#game_info .special, #game_info .standard {
	position: relative;
	width:100%;
	margin: 0 auto;
	margin-bottom: 5.5vw;
	padding: 0;
}
#game_info .special {
	background: linear-gradient(to left, transparent, rgba(93,149,236,.8) 10% 90%, transparent);
	/* background: linear-gradient(to left, transparent, #5d95ec 10% 90%, transparent); */
}
#game_info .standard {
	background: linear-gradient(to left, transparent, rgba(123,192,196,.8) 10% 90%, transparent);
	/* background: linear-gradient(to left, transparent, #7bc0c4 10% 90%, transparent); */
}
#game_info .special p {
	width: 85%;
	margin: 0 auto;
	font-size: 3.5vw;
	line-height: 1.6;
	text-align: center;
	text-shadow:
		.058em 0 0 #03376d, .054em .022em 0 #03376d, .041em .041em 0 #03376d, .022em .054em 0 #03376d,
		0 .058em 0 #03376d, -.022em .054em 0 #03376d, -.041em .041em 0 #03376d, -.054em .022em 0 #03376d,
		-.058em 0 0 #03376d, -.054em -.022em 0 #03376d, -.041em -.041em 0 #03376d, -.022em -.054em 0 #03376d,
		0 -.058em 0 #03376d, .022em -.054em 0 #03376d, .041em -.041em 0 #03376d, .054em -.022em 0 #03376d,
		.125em .067em 0 #03376d, .12em .089em 0 #03376d, .108em .108em 0 #03376d, .089em .12em 0 #03376d,
		.067em .125em 0 #03376d, .044em .12em 0 #03376d, .025em .108em 0 #03376d, .013em .089em 0 #03376d,
		.008em .067em 0 #03376d, .013em .044em 0 #03376d, .025em .025em 0 #03376d, .044em .013em 0 #03376d,
		.067em .008em 0 #03376d, .089em .013em 0 #03376d, .108em .025em 0 #03376d, .12em .044em 0 #03376d;
}
#game_info .btn_area {
	position: relative;
	width: 100%;
	margin: 0 auto;
	margin-top: 2vw;
	padding: 0;
}
#game_info .btn_area .flex_item {
	width: 90%;
}
#game_info .btn_area a.button {
	position: relative;
	display: inline-block;
	width: 100%;
	margin: 0 auto;
	margin-bottom: 0.2rem;
	padding: 0;
	padding-bottom: 16.628%;
	font-size: 0;
	text-align: center;
	text-decoration: none;
	background-repeat:no-repeat;
	background-position: top center;
	background-image: url(../img/btnStore_off.png);
	background-size: 100% auto;
}
#game_info .btn_area a.button:active,
#game_info .btn_area a.button:hover {
	background-image: url(../img/btnStore_on.png);
}
#game_info .btn_area a.button span {
	position: absolute;
	display: inline-block;
	width: 100%;
	margin: 0;
	padding: 0;
	padding-bottom: 0.2em;
	color: #fff;
	font-size: 5vw;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	text-shadow:
		.058em 0 0 #212121, .054em .022em 0 #212121, .041em .041em 0 #212121, .022em .054em 0 #212121,
		0 .058em 0 #212121, -.022em .054em 0 #212121, -.041em .041em 0 #212121, -.054em .022em 0 #212121,
		-.058em 0 0 #212121, -.054em -.022em 0 #212121, -.041em -.041em 0 #212121, -.022em -.054em 0 #212121,
		0 -.058em 0 #212121, .022em -.054em 0 #212121, .041em -.041em 0 #212121, .054em -.022em 0 #212121,
		.125em .067em 0 #212121, .12em .089em 0 #212121, .108em .108em 0 #212121, .089em .12em 0 #212121,
		.067em .125em 0 #212121, .044em .12em 0 #212121, .025em .108em 0 #212121, .013em .089em 0 #212121,
		.008em .067em 0 #212121, .013em .044em 0 #212121, .025em .025em 0 #212121, .044em .013em 0 #212121,
		.067em .008em 0 #212121, .089em .013em 0 #212121, .108em .025em 0 #212121, .12em .044em 0 #212121;
}
@media screen and (min-width: 600px), (orientation: landscape) {
	#top_contents {
		height: 60vw;
	}
	#top_contents .container {
		height: 100%;
		top: 0;
		padding-top: 2vw;
	}
	
	#top_contents .title {
		width: 68vw;
		margin-top: 0;
	}

	#top_contents .release {
		width: 70vw;
		margin: 2vw auto;
	}
	#top_contents .release p {
		font-size: 4.5vw;
	}
	
	#game_info {
		width:100vw;
		margin-top: 0;
	}
	#game_info .tbl {
		width: 55%;
		font-size: 2vw;
		line-height: 1.2;
	}
	#game_info .tbl .th,
	#game_info .tbl .td {
		border: solid 1px #fff;
	}
	#game_info .tbl .th {
		width: 12em;
	}

	#game_info .special, #game_info .standard {
		width: 100%;
		margin-bottom: 4vw;
		padding: .5vw 0;
	}
	#game_info .special {
		background: linear-gradient(to left, transparent 3%, rgba(93,149,236,.8) 20% 80%, transparent 97%);
	}
	#game_info .standard {
		background: linear-gradient(to left, transparent 3%, rgba(123,192,196,.8) 20% 80%, transparent 97%);
	}
	#game_info .special p {
		font-size: 2.7vw;
	}	
	#game_info .btn_area {
		width: 75%;
		margin-top: 1vw;
		margin-bottom: 1vw;
	}
	#game_info .btn_area.flex_container {
		justify-content: space-around;
		/* -webkit-box-pack: justify;
		justify-content: space-between; */
	}
	#game_info .btn_area .flex_item {
		width: 48%;
		/* width: 100%; */
	}
	#game_info .btn_area a.button span {
		font-size: 1.8vw;
		line-height: 1.8;
	}		
}
@media screen and (min-width: 1025px) {
	#top_contents .title {
		max-width: 1000px;
	}
	#top_contents .release {
		margin: 1vw auto;
	}
	#top_contents .release p {
		font-size: 4vw;
	}
	#game_info .tbl {
		font-size: 1.6vw;
	}
	#game_info .tbl .th {
		width: 14em;
	}
	#game_info .special p {
		font-size: 1.6vw;
	}
	/* #game_info .btn_area a.button span {
		font-size: 1.8vw;
	}		 */
}
@media screen and (min-width: 1500px) {
	#top_contents .release {
		margin: 3vw auto;
	}
	#top_contents .release p {
		font-size: 4vw;
	}
}
@media screen and (min-width: 600px) and (max-height: 62.5vw) {
	#top_contents {
		height: 100vh;
	}
}


/* キャラ劇場 */
#caraTheater .cara_comment {
	-webkit-box-align: center;
	align-items: center;
	margin-top: 4vw;
}
#caraTheater .cara_comment .cara_img {
	width: 20%;
	-webkit-box-align: center;
	align-items: center;
}
#caraTheater .cara_comment .fukidashi {
	width: 77%;
}
#caraTheater .cara_comment .word {
	position: absolute;
	display: inline-block;
	width: 100%;
	margin: 0 auto;
	padding: 0;
	color: #6c5d55;
	font-size: 5vw;
	font-weight: 400;
	top: 50%;
	left: 0;
	transform: translateY(-35%);
	line-height: 1.1;
}

#caraTheater .dokan {
	position: relative;
	width: 100%;
	margin: 0 auto;
	margin-top: 8vw;
	padding: 0;
}
#caraTheater .dokan .txt_dokan {
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding: 0;
	padding-top: 1.5em;
	padding-left: 3%;
	font-size: 13.8vw;
	font-weight: 700;
	text-align: center;
	letter-spacing: .06em;
	font-family: 'Zen Antique',serif;
}
#caraTheater .dokan .img_sukezaemon {
	position: absolute;
	display: inline-block;
	width: 19%;
	margin: 0 auto;
	padding: 0;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
#caraTheater .dokan .img_hebe {
	position: absolute;
	display: inline-block;
	width: 21.4%;
	margin: 0 auto;
	padding: 0;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
#caraTheater .dokan .img_ochan {
	position: absolute;
	display: inline-block;
	width: 21.8%;
	margin: 0 auto;
	padding: 0;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}
@media screen and (min-width: 600px), (orientation: landscape) {
	#caraTheater .cara_comment {
		width: 80%;
	}
	#caraTheater .cara_comment .word {
		font-size: 3.8vw;
	}
	#caraTheater .dokan {
		margin-top: 6vw;
	}
	#caraTheater .dokan .txt_dokan {
		font-size: 13.6vw;
	}
}
@media screen and (min-width: 1025px) {
	#caraTheater .cara_comment {
		width: 50%;
		margin-top: 2vw;
	}
	#caraTheater .cara_comment .word {
		font-size: 2vw;
	}
	#caraTheater .dokan {
		width: 55%;
		margin-top: 5vw;
	}
	#caraTheater .dokan .txt_dokan {
		padding-top: 1.5em;
		font-size: 7.2vw;
	}	
}
@media screen and (min-width: 1500px) {
	#caraTheater .cara_comment {
		margin-top: 30px;
	}
	#caraTheater .cara_comment .word {
		font-size: 30px;
	}
	#caraTheater .dokan {
		margin-top: 75px;
	}
	#caraTheater .dokan .txt_dokan {
		font-size: 104px;
	}
}


/* INFORMATION */
#info {
	padding: 6vw 0;
	background-color: #447af8;
}
#info .logo_title {
	position: relative;
	width: 50%;
	margin: 0 auto;
	text-align: center;
}
#info .release_info.tbl {
	position: relative;
	width: auto;
	margin-top: 1.5em;
	font-size: 3.5vw;
}
#info .release_info.tbl > .tbl_row > .th {
	width: 8em;
	text-align: right;
}
#info .release_info.tbl > .tbl_row > .th::after {
	content: "：";
}

@media screen and (min-width: 600px), (orientation: landscape) {
	#info .logo_title {
		width: 40%;
	}
	#info .release_info.tbl {
		font-size: 2.2vw;
	}
	#info .release_info.tbl > .tbl_row > .th,
	#info .release_info.tbl > .tbl_row > .td {
		padding: .1em .4em;
	}
}
@media screen and (min-width: 1025px) {
	#info .release_info.tbl {
		font-size: 1.8vw;
	}
}

/*　動画 　===================*/
#video {
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding: 0;
}
.video_wrap {
	position: relative;
	overflow: hidden;
	height: 0;
	padding-bottom: 56.25%;
}
.video_wrap > iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%
}

/*　エラーページ 　===================*/
#error #top_contents {
	position: relative;
	max-height: 100vw;
	margin-bottom: 10vw;
}
#error #top_contents .container {
	height: 100%;
	top: 0;
}
#error #top_contents .title {
	max-width: 1000px;
}
#error #top_contents h2.headline {
	font-size: 6vw;
}
#error h3.subheading {
	text-align: center;
	font-size: 4.5vw;
}
@media screen and (min-width: 600px), (orientation: landscape) {
	#error #top_contents {
		margin-bottom: 0;
	}	
	#error #top_contents .title {
		width: 60vw;
	}
	#error #top_contents h2.headline {
		font-size: 5vw;
	}
}
@media screen and (min-width: 600px) and (max-height: 62.5vw) {
	#top_contents {
		height: 80vh;
	}
}

/*　フッター 　===================*/
footer .flex_container {
	width: 100%;
	-webkit-box-align: center;
	align-items: center;
}
footer .logo {
	position: relative;
	margin: .6em 0;
	padding: 0 1em;
	text-align: center;
}
footer .logo.sunsoft {
	width: 43%;
}

footer .sns {
	position: relative;
	height: 4.5vw;
	margin: .6em 0;
	padding: 0 1em;
	text-align: center;
}
footer .sns img  {
	width: auto;
	max-width: 100%;
	height: 100%;
	vertical-align: middle;
}

footer .link_list {
	position: relative;
	width: 100%;
	margin: .6em 0;
	padding: 0;
	font-size: 3.3vw;
	text-align: center;
}
footer .link_list .link_item {
	position: relative;
	margin: 0;
	padding: 0;
	text-align: center;
}
footer .link_list .link_item:not(:last-of-type)::after {
	position: relative;
	margin: 0;
	padding: 0 .2em;
	content: "｜";
}

footer .trademark,
footer .copyright {
	position: relative;
	width: 100%;
	margin: .4em auto;
	padding: 0;
	color: #ccc;
	font-size: 3vw;
	text-align: center;
	line-height: 1.2;
}
footer .copyright a {
	color: #FED100;
	font-weight: bold;
	text-decoration: underline;
}
@media screen and (min-width: 600px), (orientation: landscape) {
	footer .flex_container {
		width: 90%;
	}
	footer .logo.sunsoft {
		width: 35%;
	}
	footer .sns {
		height: 4vw;
	}
	footer .link_list {
		font-size: 2.4vw;
	}
	footer .trademark,
	footer .copyright {
			font-size: 2vw;
	}
}
@media screen and (min-width: 1025px) {
	footer .sns {
		height: 24px;
	}
	footer .link_list {
		font-size: 16px;
	}
	footer .trademark,
	footer .copyright {
			font-size: 14px;
	}
}

/*　フレックスボックス設定　===================*/
.flex_container {
	position: relative;
	display: -webkit-box;
	display: flex;
	width: 100%;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	justify-content: center;
	margin: 0 auto;
	padding: 0;
}
.flex_container .flex_item {
	position: relative;
	display: inline-block;
}



/*　table設定　===================*/
.tbl {
	position: relative;
	display: table;
	width: 100%;
	margin: 0 auto;
	padding: 0;
	text-align: left;
}
.tbl > .tbl_row {
	position: relative;
	display: table-row;
	width: 100%;
	margin: 0;
	padding: 0;
}
.tbl > .tbl_row > .th,
.tbl > .tbl_row > .td {
	position: relative;
	display: table-cell;
	padding: .4em .6em;
	vertical-align: top;
}


/* ボタン ===========================*/

/* ページトップへ戻る */
.btn_top {
	position: fixed;
	display: none;
	width: 60px;
	bottom: 5vw;
	right: 5vw;
	filter: drop-shadow(2px 2px 5px rgba(0,0,0,.5));
	z-index: 999;
}
.btn_top a {
	display: inline-block;
	width: 100%;
}
.btn_top.active {
	display: inline-block;
}
@media screen and (min-width: 600px), (orientation: landscape) {
	.btn_top {
		width: 80px;
		bottom: 3vw;
		right: 3vw;
	}
}
@media screen and (min-width: 1025px) {
	.btn_top {
		bottom: 30px;
		right: 30px;
	}
}
@media screen and (min-width: 1500px) {
	.btn_top {
		width: 90px;
		bottom: 50px;
		right: 50px;
	}
}

/*　お問い合わせ　===================*/
#inquiry {
	margin-bottom: 2em;
	text-align: center;
}
.btn_inquiry {
	position: relative;
	display: inline-block;
	width: 60vw;
	margin: 2em auto 0;
	padding: .3em 1em .5em;
	font-size: 4vw;
	font-weight: bolder;
	text-align: center;
	border: solid 2px #fff;
	background-color: #dc619b;
}
.btn_inquiry span {
	position: relative;
	color: #fff;
	line-height: 2;
}

body#contact h2.headline {
	position: relative;
	width: 95%;
	height: 2em;
	margin: 0 auto;
	padding: .38em;
	padding-bottom: .45em;
	color: #fff;
	font-size: 4vw;
	text-align: center;
	background: #0000a7;
	border-radius: 10px;
	border: none;
}
body#contact h5 {
	position: relative;
	margin-top: 1.5em;
	padding-left: 1.8em;
	font-size: 3.6vw;
	line-height: 5.4vw;
	color: #333;
}
body#contact h5::after {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	content: '';
	width: 3.6vw;
	height: 3.6vw;
	border: solid .9vw #446688;
	border-radius: 100%;
}

button.btn_mailer {
	position: relative;
	display: inline-block;
	width: 60vw;
	height: 12vw;
	margin: 1.2em auto;
	text-align: center;
	color: #fff;
	border-radius: 5px;
	background-color: #5dc7e5;
}
button.btn_mailer .btn_txt {
	position: absolute;
	display: inline-block;
	width: 100%;
	margin: 0;
	padding: 0;
	right: 0;
	top: 50%;
	color: #fff;
	font-size: 3.6vw;
	font-weight: bolder;
	text-align: center;
	line-height: 1.1;
	text-shadow: none;
	transform: translateY(-50%);
}
button.btn_mailer:hover,
button.btn_mailer:active {
	border: solid 1px #dc9100;
	background-color: #efa413;
	top: 2px;
	left: 2px;
	box-shadow: 1px 1px 6px -2px #555,
		3px 3px 8px rgba(255,255,255,0.3) inset;
}
@media screen and (min-width: 600px), (max-width: 599px) and (orientation: landscape) {
	.btn_inquiry {
		width: 36vw;
		margin: 2em auto 0;
		font-size: 2.4vw;
	}

	body#contact{
		font-size: 18px;
	}
	body#contact h2.headline {
		font-size: 24px;
	}
	body#contact h5 {
		font-size: 20px;
		line-height: 30px;
	}
	body#contact h5::after {
		width: 20px;
		height: 20px;
		border: solid .5vw #446688;
	}

	button.btn_mailer {
		width: 360px;
		height: 80px;
	}
	button.btn_mailer .btn_txt {
		font-size: 24px;
	}
}
