/* CSS Document */


/* ==========================================================================
	common
	========================================================================== */

body {
	position: relative;
	width: 100%;
	height: 100%;
}

body::after {
	background: url(../img/back-image.png) no-repeat;
	background-size: 80%;
	background-position: 100% 105%;
	content: " ";
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -10;
}

.pc-none {
	display: none;
}

.section-inner_sss {
	width: 455px;
	margin: 0 auto;
}

.section-inner_ss {
	width: 720px;
	margin: 0 auto;
}

.section-inner_s {
	width: 880px;
	margin: 0 auto;
}

.section-inner_m {
	width: 1000px;
	height: 100%;
	margin: 0 auto;
	position: relative;
}

.section-inner_l {
	width: 80%;
	max-width: 1400px;
	height: 100%;
	margin: 0 auto;
	position: relative;
}

.col-2 {
	width: 50%;
	display: inline-block;
	margin-left: -2px;
	vertical-align: middle;
}

/* ==========================================================================
	header
	========================================================================== */


header {
	width: 90%;
	min-width: 1080px;
	height: 100px;
	position: fixed;
	top: 46px;
	left: 5%;
	z-index: 10;
	box-shadow: 20px 20px 60px rgba(12,0,0,.5);
	background: #FFF;
	border-radius: 25px;
}

.l-header-logo {
	text-align: center;
	width: 234px;
	position: absolute;
	top: 39px;
	left: 74px;
}

.l-header-nav {
	position: absolute;
	right: 74px;
	top: 40px;
	
}

.l-header-nav li {
	display: inline-block;
	padding: 0 18px;
	font-weight: bold;
	font-size: 1.6rem;
	position: relative;
}

.l-header-nav li img {
	margin-top: -16px;
}

.l-header-nav li:nth-last-child(1) {
	padding-right: 0;
	width: 50px;
}

.l-header-nav li:nth-last-child(1)::after {
	content: '';
	width: 6px;
	height: 6px;
	border: 0px;
	border-top: solid 2px #000;
	border-right: solid 2px #000;
	-ms-transform: rotate(135deg);
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
	position: absolute;
	top: 50%;
	right: 5px;
	margin-top: -6px;
}

.screen-reader-text {
	display: none;
}

select {
	width: 100%;
	font-weight: bold;
	margin-top: -3px;
}

/* ==========================================================================
	asset
	========================================================================== */



.section-title {
	font-size: 3.4rem;
	color: #FFF;
	font-weight: bold;
	line-height: 1.4;
	margin: 0px 0 40px 0;
	text-align: center;
	letter-spacing: 0.01em;
}

.section-title-sub {
	font-size: 2rem;
	color: #FFF;
	font-weight: bold;
	line-height: 1.8;
	text-align: center;
	letter-spacing: 0.1em;
}

.section-txt {
	font-size: 1.5rem;
	color: #000;
	font-weight: bold;
	line-height: 1.8;
	text-align: center;
}

.section-min-txt {
	font-size: 1.5rem;
	color: #5A5959;
	font-weight: bold;
	line-height: 1.8;
	text-align: center;
	margin-top: -32px;
}

.more-btn {
	min-width: 192px;
	box-sizing: border-box;
	height: 64px;
	background: linear-gradient(-135deg, #961665, #503697);
	display: table;
	border-radius: 100px;
	color: #FFF;
	text-align: center;
	line-height: 64px;
	font-size: 1.7rem;
	font-weight: bold;
	margin: 34px auto 0 auto;
	padding: 0 48px;
	box-shadow: 20px 20px 60px rgba(12,0,0,.5);
	transition: 0.3s;
}

.more-btn:hover {
	transition: 0.3s;
	opacity: 0.8;
}

.section-list {
	margin: 80px auto;
	text-align: center;
}

.section-list li {
	width: 29%;
	margin-right: 6%;
	vertical-align: top;
	display: inline-block;
}

.section-list li img {
	border-radius: 25px;
	box-shadow: 20px 20px 60px rgba(12,0,0,.5);
	margin-bottom: 34px;
}

.section-list li:last-child {
	margin-right: 0%;
}


/* ==========================================================================
	wrapper
	========================================================================== */

.l-wrapper {
	margin: 110px auto 0 auto;
	width: 1160px;
}

/* ==========================================================================
	l-main
	========================================================================== */

main {
	width: 100%;
	height: 100%;
}

.contents-under {
	position: relative;
	padding-top: 240px;
	min-height: 600px;
}

.contents-under .section-title {
	background: linear-gradient(-135deg, #8B3192, #029F98);
	display: table;
	text-align: center;
	padding: 4px 8px;
	margin: 0 auto 100px auto;
	font-size: 3rem;
}


/* section-mv
	========================================================================== */

.section-mv {
	width: 96%;
	margin-left: 4%;
	padding: 120px 0;
	height: 540px;
	background: url(../img/key-visual.jpg) no-repeat;
	background-size: cover;
	background-position: 50% 50%;
	position: relative;
	border-radius: 0 0 0 200px;
}

.section-mv .contents-box-logo {
	width: 180px;
	margin-bottom: 30px;
}

.section-title-wrap {
	position: absolute;
	top: 132px;
	left: 0;
}

.section-mv h2 {
	text-align: left;
	line-height: 2.2;
	font-size: 2.9rem;
}

.section-mv h2 span {
	padding: 4px 20px;
	background: linear-gradient(-135deg, #8B3192, #029F98);
	box-shadow: 20px 20px 20px rgba(12,0,0,.5);
}

.section-mv h3 {
	width: 680px;
	margin: -32px 0 -10px 0;
}

.section-mv h4 {
	padding: 4px 20px;
	display: inline-block;
	font-size: 2.8rem;
	color: #FFF;
	font-weight: bold;
	text-align: left;
	background: linear-gradient(-135deg, #8B3192, #029F98);
	box-shadow: 20px 20px 20px rgba(12,0,0,.5);
}

.section-mv-box {
	width: 1000px;
	background: #EFEFEF;
	box-shadow: 20px 20px 20px rgba(12,0,0,.5);
	border-radius: 35px;
	box-sizing: border-box;
	padding: 60px 56px 60px 0;
	margin: -140px auto 0 auto;
	position: relative;
	z-index: 1;
}

.section-mv-box .more-btn {
	padding: 0 80px;
}

.section-mv-box .section-txt {
	width: 360px;
	text-align: center;
	margin: 120px auto 0 auto;
}

.section-mv-box-btn {
	position: absolute;
	top: -140px;
	left: 58px;
}

.section-mv-banner {
	position: absolute;
	right: 0px;
	top: 120px;
	width: 270px;
}

.section-mv-banner li {
	margin: 20px 0;
	border-radius: 5px;
	overflow: hidden;/*
	box-shadow: 20px 20px 60px rgba(12,0,0,.8);*/
}

.section-mv-box-rank {
	width: 100%;
	height: 380px;
	margin-top: -100px;
	background: linear-gradient(-135deg, #D0584F, #B7883B);
	box-sizing: border-box;
	padding: 40px;
	text-align: center;
	border-radius: 20px;
}

.section-mv-box-rank h2 {
	font-size: 3rem;
	color: #FFF;
	margin-bottom: 20px;
	font-weight: bold;
}

.section-mv-box-rank p {
	font-size: 1.4rem;
	color: #FFF;
	font-weight: bold;
	margin-bottom: 20px;
}

.section-mv-box-rank li {
	background: #FFF;
	margin: 14px 0;
	padding: 18px 20px;
	font-size: 1.4rem;
	text-align: left;
	border-radius: 10px;
	box-shadow: 20px 20px 10px rgba(12,0,0,.1);
	font-weight: 600;
}

.section-mv-box-rank li:nth-child(1) {
	background: #FAF8D8;
}


.section-mv-box-rank li:nth-child(2) {
	background: #E0E0E0;
}


.section-mv-box-rank li:nth-child(3) {
	background: #F8EDE5;
}


/* section-01
	========================================================================== */

.section-01 {
	width: 96%;
	margin: 200px 4% 340px 0;
	padding: 80px 0 120px 0;
	height: 420px;
	background-size: 100%;
	background-position: 50% 0%;
	position: relative;
	border-radius: 0px 150px 150px 0px;
	background: linear-gradient(-135deg, #873492, #029F98);
	z-index: 0;
}

.section-01::after {
	position: absolute;
	content: " ";
	right: -10%;
	top: -20%;
	width: 500px;
	height: 800px;
	background: url(../img/sc01-04.png) no-repeat;
	background-size: 100%;
	z-index: -1;
}


/* section-02
	========================================================================== */

.section-02 {
	width: 96%;
	margin: 200px 0 540px 4%;
	padding: 80px 0 120px 0;
	height: 480px;
	background: #999;
	background-size: 100%;
	background-position: 50% 0%;
	position: relative;
	border-radius: 150px 0px 0px 150px;
	background: linear-gradient(-135deg, #98E127, #2DBCC2);
	z-index: 0;
}

.section-02 .section-02-box {
	width: 100%;
	background: #FFF;
	width: 680px;
	margin: 60px auto 0 auto;
	box-sizing: border-box;
	padding: 28px 40px;
	border-radius: 25px;
	box-shadow: 20px 20px 60px rgba(12,0,0,.3);
}

.section-02 .section-title-sub {
	width: 80%;
	padding-right: 16px;
	color: #000;
	text-align: left;
	display: inline-block;
	vertical-align: middle;
}

.section-02 .section-02-box img {
	width: 100px;
	display: inline-block;
	vertical-align: middle;
}

.section-02::after {
	position: absolute;
	content: " ";
	left: -10%;
	bottom: -30%;
	width: 480px;
	height: 680px;
	background: url(../img/sc02-03.png) no-repeat;
	background-size: 100%;
	z-index: -1;
}


/* section-03
	========================================================================== */

.section-03 {
	width: 96%;
	margin: 200px 4% 520px 0;
	padding: 80px 0 120px 0;
	height: 460px;
	background: #999;
	background-size: 100%;
	background-position: 50% 0%;
	position: relative;
	border-radius: 0px 150px 150px 0px;
	background: linear-gradient(-135deg, #60D177, #F4911D);
	z-index: 0;
}

.section-03::after {
	position: absolute;
	content: " ";
	right: -10%;
	top: -20%;
	width: 500px;
	height: 800px;
	background: url(../img/sc03-04.png) no-repeat;
	background-size: 100%;
	z-index: -1;
}

/* section-04
	========================================================================== */

.section-04 {
	width: 96%;
	margin: 200px 0 580px 4%;
	padding: 80px 0 120px 0;
	height: 648px;
	background: #999;
	background-size: 100%;
	background-position: 50% 0%;
	position: relative;
	border-radius: 150px 0px 0px 150px;
	background: linear-gradient(-135deg, #FF054A, #FABA07);
}

.section-04 .section-txt {
	color: #FFF;
	margin-bottom: 48px;
	vertical-align: middle;
}

.section-04 .section-list li img {
	box-shadow: none;
}

.section-04 .section-list li {
	width: 34%;
	margin-right: -2%;
	vertical-align: top;
	display: inline-block;
	position: relative;
	z-index: 1;
}

.section-04 .section-list li::after {
	position: absolute;
	content: " ";
	top: 50px;
	left: 0;
	width: 180px;
	height: 340px;
	background: #000;
	z-index: -1;
	box-shadow: 20px 20px 60px rgba(12,0,0,.5);
}

.section-04 .section-list li:nth-child(1)::after {
	background: #FF0045;
}

.section-04 .section-list li:nth-child(2)::after {
	background: #3E08F2;
}

.section-04 .section-list li:nth-child(3)::after {
	background: #EFC203;
}

.section-04 .section-list li:nth-child(4)::after {
	background: #02A05D;
}

.section-04 .section-list li:nth-child(5)::after {
	background: #FAFAFA;
}

.section-04 .section-list li .section-title {
	margin: -48px 0 20px 0;
	font-size: 2.8rem;
}

.section-04 .section-list li img {
	border-radius: 25px;
	box-shadow: none;
	margin-bottom: 34px;
}

.section-04 .section-list li:nth-child(3), .section-04 .section-list li:nth-child(5) {
	margin-right: 0%;
}

.section-04 .section-list li:nth-child(4) .section-title, .section-04 .section-list li:nth-child(5) .section-title {
	color: #000;
}

.section-04 .section-list li:nth-child(4) .section-txt, .section-04 .section-list li:nth-child(5) .section-txt {
	color: #767676;
}

/* section-banner
	========================================================================== */


.section-banner {
	background: #EDEDED;
	padding: 60px 0;
	text-align: center;
}

.section-banner li img {
	border-radius: 25px;
	box-shadow: 20px 20px 60px rgba(12,0,0,.5);
}


/* page-teams
	========================================================================== */

.terms-txt {
	margin-bottom: 200px;
	text-align: left;
}

.terms-txt p {
	line-height: 30px;
}

.terms-txt h3 {
	font-size: 1.6rem;
	margin-top: 40px;
	font-weight: bold;
	line-height: 40px;
}

/* page-faq
	========================================================================== */

.faq-list {
	margin-bottom: 140px;
}

.faq-list li {
	margin: 20px 0;
}


.faq-list li h3 {
	margin: 20px 0 36px 0;
	font-size: 1.7rem;
	font-weight: bold;
}

.faq-list li p {
	line-height: 32px;
	width: 100%;
	padding: 40px 60px;
	box-sizing: border-box;
	background: #F7F7F7;
	border-radius: 15px;
	margin-bottom: 80px;
	box-shadow: 20px 20px 60px rgba(12,0,0,.5);
	word-break: break-all;
}

.faq-list li p a {
	text-decoration: underline;
	color: #2CAABA;
	font-weight: bold;
}

.faq-list li p img {
	width: 30%;
	margin: 40px 74px 20px 74px;
	display: inline-block;
	text-align: center;
	vertical-align: top;
}

.section-contact {
	margin-bottom: 160px;
}

.section-contact .more-btn {
	margin: 64px auto;
}

.section-contact .section-min-txt {
	margin: 0 auto;
	font-size: 1.3rem;
	color: #919191;
}

.tips-menu {
	padding: 40px;
	box-sizing: border-box;
	background: #FFF;
	border-radius: 25px;
	box-shadow: 20px 20px 60px rgba(12,0,0,.2);
	margin-bottom: 100px;
}

.tips-menu li {
	padding: 10px 0;
	font-size: 1.6rem;
	font-weight: bold;
	text-decoration: underline;
	color: #2CAABA;
}

.tips-list {
	margin-bottom: 120px;
}

.tips-list li {
	padding: 30px 0;
	position: relative;
}

.tips-list-right .tips-list-chara img {
	position: absolute;
	right: -30px;
	top: 18px;
	width: 120px;
}

.tips-list-left .tips-list-chara img {
	position: absolute;
	left: -30px;
	top: 18px;
	width: 140px;
}

.tips-list li p {
	max-width: 610px;
	margin: 0 auto;
	font-size: 1.6rem;
	font-weight: 600;
	background: #FFF;
	border-radius: 15px;
	padding: 40px 48px;
	box-sizing: border-box;
	box-shadow: 20px 20px 60px rgba(12,0,0,.2);
	line-height: 2;
}

.tips-list li p.tips-q {
	background: #F4E4E4;
}

.tips-list .col-2 {
	width: 49%;
	text-align: center;
	margin: 0 auto;
	vertical-align: top;
}

.section-img {
	margin: 60px auto 92px auto;
	text-align: center;
	vertical-align: top;
}

.section-img p {
	margin-top: 40px!important;
	padding: 0!important;
	background: none!important;
	box-shadow: 20px 20px 60px rgba(12,0,0,0)!important;
}

.section-img img {
	width: 300px;
	vertical-align: top;
	text-align: center;
	border-radius: 20px;
	box-shadow: 20px 20px 60px rgba(12,0,0,.2);
}

/* ==========================================================================
	movie
	========================================================================== */

.l-movie-contents {
	margin-bottom: 140px;
}

.l-movie-contents iframe {
	width: 100%
	height: 480px;
}

/* ==========================================================================
	puzzlerangers
	========================================================================== */


.grd-section {
	background: -moz-linear-gradient(top, #FFADAC 5%, #9ED6AC 10%, #FEFEAF 40%, #E2BAEB 60%, #F59FB7 95%);
	background: -webkit-linear-gradient(top, #FFADAC 5%, #9ED6AC 10%, #FEFEAF 40%, #E2BAEB 60%, #F59FB7 95%);
	background: linear-gradient(top, #FFADAC 5%, #9ED6AC 10%, #FEFEAF 40%, #E2BAEB 60%, #F59FB7 95%);
}

.l-key-visual {
	width: 76%;
	margin-left: 24%;
	position: relative;
}

.l-key-visual img {
	width: 100%;
	height: 100%;
	min-width: 980px;
}

.l-key-title {
	position: absolute;
	top: 34%;
	left: -18%;
}

.l-key-title h2 {
	background: linear-gradient(-135deg, #8B3192, #029F98);
    display: table;
    text-align: center;
    padding: 4px 8px;
    margin: 0 auto 40px auto;
    font-size: 3rem;
    color: #FFF;
    font-weight: bold;
    line-height: 1.4;
 }

.l-key-title p {
	margin-bottom: 24px;
	color: #FFF;
	text-shadow: 0px 0px 10px rgba(0,0,0,1);
	font-weight: bold;
	font-size: 1.5rem;
	line-height: 2;
}


.l-key-title .more-btn {
	margin: 40px 0 0 0;
}

.l-pr-banner {
	margin: 80px auto;
	box-shadow: 20px 20px 60px rgba(12,0,0,.4);
}

.l-pr-event {
	margin-bottom: 160px;
}

.l-pr-event img {
	/*box-shadow: 20px 20px 60px rgba(12,0,0,.4);*/
}

.l-pr-profile h3 {
	background: linear-gradient(-135deg, #8B3192, #029F98);
    display: table;
    text-align: center;
    padding: 4px 8px;
    margin: 0 auto 100px auto;
    font-size: 3rem;
    color: #FFF;
    font-weight: bold;
    line-height: 1.4;
}

.l-pr-profile-member {
	margin: 0 auto;
	padding: 80px 0;
	text-align: center;
}

.l-pr-profile-member li {
	width: calc(50% - 24px);
	display: inline-block;
	margin-right: 42px;
	margin-bottom: 42px;
	text-align: center;
	box-shadow: 20px 20px 60px rgba(12,0,0,.2);
}

.l-pr-profile-member li:nth-child(2n) {
	margin-right: 0;
}

.l-pr-sns {
	background: #EBEBEB;
	text-align: center;
	padding: 80px 0;
}

.l-pr-sns-title {
	font-size: 1.8rem;
	font-weight: bold;
}

.l-pr-sns-list {
	margin-top: 24px;
}

.l-pr-sns-list li {
	display: inline-block;
	padding: 0 8px;
}

.l-pr-sns-list {
	text-align: center;
}

.l-pr-gamelink {
	background: #FFF;
	padding: 68px 0;
}

.l-pr-gamelink-title {
	width: 320px;
	margin: 0 auto;
}

.play-btn {
	text-align: center;
	margin: 40px auto 0 auto;
}

.pr-banner {
	margin: 88px auto -72px auto;
}


.modal {
    display: none;
    height: 100vh;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 100;
}
.modal__bg {
    background: rgba(0,0,0,0.8);
    height: 100vh;
    position: absolute;
    width: 100%;
}
.modal__content {
    background: #fff;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 60%;
}



/* ==========================================================================
	footer
	========================================================================== */

.up-btn {
	font-weight: bold;
	font-size: 1.3rem;
	position: absolute;
	padding-right: 20px;
	top: -50px;
	right: 32px;
}

.up-btn::after {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 5px 10px 5px;
	border-color: transparent transparent #000000 transparent;
	position: absolute;
	right: 0;
	top: 3px;
	content: " ";
}

footer {
	background: #3B3B3B;
	position: relative;
	z-index: 3;
	padding: 80px 0 32px 0;
}

.footer-logo {
	width: 240px;
	display: block;
	text-align: center;
	margin: 40px auto 10px auto;
}

.footer-nav {
	padding: 42px 0 40px 0;
	width: 100%;
	z-index: 10;
	box-shadow: 20px 20px 60px rgba(12,0,0,.5);
	background: #FFF;
	border-radius: 25px;
	text-align: center;
}

.footer-nav li {
	display: inline-block;
	padding: 0 20px;
	border-right: 0.5px solid #ccc;
	font-size: 1.4rem;
	font-weight: bold;
}

.footer-nav li:last-child {
	border-right: 0px;
}

.footer-copyright {
	width: 100%;
	display: block;
	color: #FFF;
	padding: 20px;
	text-align: center;
	font-size: 1.3rem;
	box-sizing: border-box;
}