/* CSS Document */

@media screen and (max-width: 1024px) {
	
}

@media screen and (max-width: 1000px) {

	


/* ==========================================================================
	common
	========================================================================== */
	
	body::after {
	    background: url(../img/back-image.png) no-repeat;
	    background-size: 200%;
	    background-position: 0% 100%;
	}

	.togmenu .l-wrapper {
		overflow: hidden;
		height: 100%;
		position: relative;
    	transition: 0.6s;
	}

	.l-wrapper::after {
		height: 100%;
		width: 100%;
		background: rgb(0,0,0,0);
		position: absolute;
		left: 0;
		top: 0;
		content: " ";
    	transition: 0.1s;
    	z-index: -10;
	}

	.togmenu .l-wrapper::after {
		background: rgb(0,0,0,0.7);
    	transition: 0.1s;
    	z-index: 7;
	}

	.pc-none {
		display: block;
	}

	.sp-none {
		display: none;
	}

	.section-inner_sss {
		width: 100%;
		margin: 0 auto;;
		padding-left: 22px!important;
		padding-right: 22px!important;
		box-sizing: border-box;
	}

	.section-inner_ss {
		width: 100%;
		margin: 0 auto;
		box-sizing: border-box;
		padding-left: 22px!important;
		padding-right: 22px!important;
	}

	.section-inner_s {
		width: 100%;
		margin: 0 auto;
		padding-left: 22px!important;
		padding-right: 22px!important;
		box-sizing: border-box;
	}

	.section-inner_m {
		width: 100%;
		margin: 0 auto;
		padding-left: 22px!important;
		padding-right: 22px!important;
		box-sizing: border-box;
	}

	.section-inner_l {
		width: 100%;
		margin: 0 auto;
		padding-left: 22px!important;
		padding-right: 22px!important;
		box-sizing: border-box;
	}

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

	.sp-menu-btn {
		position: absolute;
		right: 20px;
		top: 17px;
		width: 30px;
		height: 28px;
		z-index: 10;
	}
	
	.sp-menu-btn span:nth-child(1) {
		width: 30px;
		height: 2px;
		background: #000;
		display: block;
		position: absolute;
		top: 3px;
		transition: 0.3s;
	}
	
	.sp-menu-btn span:nth-child(2) {
		width: 30px;
		height: 2px;
		background: #000;
		display: block;
		position: absolute;
		top: 11px;
		transition: 0.3s;
	}
	
	.sp-menu-btn span:nth-child(3) {
		width: 23px;
		height: 2px;
		background: #000;
		display: block;
		position: absolute;
		bottom: 7px;
		right: 0;
		transition: 0.3s;
	}

	.togmenu .sp-menu-btn span:nth-child(1) {
		-webkit-transform: translateY(10px) rotate(-45deg);
		transform: translateY(10px) rotate(-45deg);
		top: 0px;
		transition: 0.3s;
	}

	.togmenu .sp-menu-btn span:nth-child(2) {
		opacity: 0;
		transition: 0.3s;
	}

	.togmenu .sp-menu-btn span:nth-child(3) {
		-webkit-transform: translateY(-10px) rotate(45deg);
		transform: translateY(-10px) rotate(45deg);
		bottom: 6px;
		width: 30px;
		transition: 0.3s;
	}
	
	.section-title {
		font-size: 2rem;
		margin: 0 0 24px 0;
	}

	.section-txt {
		line-height: 1.6;
	}


	.section-title-sub {
		font-size: 1.4rem;
	}

	.section-list {
		overflow-x: auto;
      	white-space: nowrap;
       -webkit-overflow-scrolling: touch;
       margin-top: 32px;
	}

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

	.section-list li {
		width: 240px;
    	margin: 32px 0 32px 24px;
	}

	.section-list li img {
		border-radius: 10px;
	}

	
	body {
		transition: 0.2s;
	}
	
		
	body.togmenu {
		overflow: hidden;
		height: 100%;
		position: relative;
    	transition: 0.6s;
	}

	body.togmenu::after {
		height: 100%;
		width: 100%;
		background: rgb(0,0,0,0.7);
		position: absolute;
		left: 0;
		top: 0;
		content: " ";
    	transition: 0.2s;
    	z-index: 5;
	}


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

	header {
		position: fixed;
		min-width: auto;
		top: 20px;
		left: 5%;
		z-index: 10;
		width: 90%;
		height: 60px;
		border-radius: 12px;
	}
	
	.l-header-logo {
		width: 160px;
		top: 21px;
		left: 20px;
		z-index: 0;
	}
	
	.togmenu .l-header-logo {
		opacity: 0.3;
	}
	
	.l-header-nav {
		position: absolute;
		top: -21px;
		right: -100%;
    	transition: 0.6s;
		background: #FFF;
    	padding: 132px 28px 92px 16px;
    	box-sizing: border-box;
		width: 76%;
		z-index: 1;
		height: 101vh;
	}
	
	.l-header-nav ul {
		margin-top: 28px;
	}
	
	.l-header-nav li {
		display: block;
		padding: 16px 28px;
		font-weight: bold;
		font-size: 1.6rem;
	}

	.togmenu .l-header-nav {
		right: -5.6%;
    	transition: 0.6s;
	}
	
	.l-header-nav.togmenu {
		display: block;
	}
	
	.l-header-nav .pc-none img {
		padding-left: 28px;
		width: 164px;
	}
	
	.l-header-nav li:nth-last-child(1) {
		padding: 48px 28px;
		margin-top: 28px;
	}
	
	.l-header-nav li:nth-last-child(1)::after {
		right: initial;
		left: 70px!important;
	}
	
	.l-header-nav li:nth-last-child(1)::before {
		position: absolute;
		content: " ";
		width: 80%;
		height: 1px;
		background: #999;
		top: 0;
		left: 28px;
		
	}

	
/* main
	========================================================================== */
	
	main {
		width: 100%;
		height: auto;
		padding: 0px;
		box-sizing: border-box;
		margin-top: 0px;
		overflow: hidden;
	}
	
	
/* top
	========================================================================== */
	
	.section-mv {
		padding: 120px 0 120px 0;
		height: 320px;
		border-radius: 0 0 0 100px;
		background: url(../img/key-visual-sp.jpg) no-repeat;
		background-size: cover;
		background-position: 50% 0%;
	}

	.section-title-wrap {
		position: absolute;
		top: 82px;
		left: -10px;
	}

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

	.section-mv h4 {
		font-size: 2rem;
	}
	
	.section-mv .section-inner_m {
		padding: 0!important;
	}
	
	.section-mv .section-txt {
		text-align: center;
		margin-top: 40px;
	}
	
	.section-mv .more-btn {
		margin: 40px auto 0 auto;
		display: block;
		width: 160px;
		min-width: 160px;
	}

	.section-01 {
		border-radius: 0px 50px 50px 0px;
		margin: 80px 4% 200px 0;
		padding: 60px 0 120px 0;
		z-index: 0;
	}

	.section-01::after {
		display: none;
	}

	.section-01 .section-list {
		width: calc(100% + 69px);
		margin-left: -21px;
	}

	.section-02 {
		border-radius: 50px 0px 0px 50px;
		padding: 60px 0 40px 0;
		margin: 320px 0 540px 4%;
		z-index: 0;
	}

	.section-02::after {
		display: none;
	}

	.section-02 .section-02-box {
		width: 100%;
    	padding: 24px 20px;
    	text-align: center;
    	margin-top: 40px;
	}

	.section-02 .section-02-box img {
    	padding: 16px 0 0px 0;
	}

	.section-02 .section-list {
		width: calc(100% + 69px);
		margin-left: -38px;
    	margin-bottom: 34px;
	}

	.section-02 .section-title-sub {
		width: 100%;
    	padding-right: 0;
    	text-align: center;
	}

	.section-03 {
		border-radius: 0px 50px 50px 0px;
		margin-bottom: 60px;
		padding: 60px 0 120px 0;
		height: 400px;
		z-index: 0;
	}

	.section-03::after {
		display: none;
	}

	.section-03 .section-list {
		width: calc(100% + 69px);
		margin-left: -21px;
		margin-bottom: 0px;
	}

	.more-btn {
		line-height: 1.5;
		padding: 10px 48px;
	}

	.section-04 {
		border-radius: 50px 0px 0px 50px;
		height: 560px;
    	margin: 540px 0 96px 4%;
		padding: 60px 0 120px 0;
		z-index: 0;
	}

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

	.section-04 .section-list {
		width: calc(100% + 69px);
		margin-left: -38px;
	}

	.section-04 .section-list li {
		width: 300px;
    	margin: 32px 0 32px -10px;
	}

	.section-04 .section-list li::after {
		width: 180px;
		height: 286px;
	}

	.section-banner-list {
		padding-bottom: 20px;
	}

	.section-banner-list li {
		width: 90%;
		margin: 0 auto;
	}

	.section-banner li img {
		border-radius: 15px;
	}
	

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

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

	
	
/* under
	========================================================================== */

	.contents-under {
	    padding-top: 140px;
	}

	.contents-under .section-title {
	    padding: 4px 8px;
	    margin: 0 auto 60px auto;
	    font-size: 2.2rem;
	}


/* FAQ
	========================================================================== */

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

	.faq-list li p {
	    line-height: 24px;
	    padding: 24px 30px;
	    border-radius: 15px;
	    margin-bottom: 48px;
	}

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

	.faq-list li p img {
	    width: 45%;
	    margin: 24px 4px 16px 4px;
	}

	.section-contact .more-btn {
		line-height: 2.45;
	}

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

	.terms-txt {
	    margin-bottom: 100px;
	}


	.section-mv h2 {
		font-size: 2rem;
	}

	.section-mv-box {
		width: 90%;
		padding: 32px 20px;
		margin: -70px auto 0 auto;
	}

	.section-mv-box .more-btn {
		width: 100%;
		line-height: 3.6;
		padding: 0;
		margin: 28px auto 40px auto;
	}

	.section-mv-box-btn {
		position: relative;
		top: initial;
		left: initial;
		margin: -130px auto -20px 8px;
		text-align: center;
	}

	.section-mv-box .section-txt {
		margin-top: 0;
		width: 100%;
	}

	.section-mv-box-tw {
		margin-top: 20px;
	}

	.section-mv-box-tw iframe {
		height: 100px!important;
	}

	.col-2 {
		width: 100%;
	}

	.section-mv-box-rank {
		margin-top: 40px;
		height: auto;
		padding: 34px 20px 20px 20px;
	}

	.section-mv-box-rank h2 {
		font-size: 2.2rem;
	}
	
	.section-mv-box-rank li {
		border-radius: 6px;
	}


/* Tips
	========================================================================== */

	.tips-menu {
	    padding: 40px 24px;
		margin-bottom: 40px;
	}

	.tips-menu li {
		font-size: 1.4rem;
		padding: 6px 0;
	}

	.tips-list li p {
	    font-size: 1.4rem;
	    padding: 28px 28px;
	    line-height: 20px;
	}

	.tips-list-right p {
		width: 80%;
		margin-right: 20%!important;
	}

	.tips-list-left p {
		width: 80%;
		margin-left: 20%!important;
	}
	
	.tips-list-right .tips-list-chara img {
	    position: absolute;
	    right: -24px;
	    top: 28px;
	    width: 84px;
	}

	.tips-list-left .tips-list-chara img {
	    position: absolute;
	    left: -24px;
	    top: 28px;
	    width: 84px;
	}

	.section-img {
		margin-bottom: 40px;
	}

	.section-img p {
		width: 80%!important;
		margin: 24px auto!important;
	}

	.tips-list .col-2 {
		width: 100%;
	}

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

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


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



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

	.l-key-visual {
		width: 100%;
		margin-left: 0;
		margin-bottom: 120px;
		position: relative;
	}

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

	.l-key-visual::after {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(0,0,0,0.2);
		content: "ã€€";
		display: block;
	}

	.l-key-title {
	    position: absolute;
	    top: 50%;
	    left: 5%;
	    margin: 0;
	    z-index: 2;
	}

	.l-key-title p {
		font-size: 1.2rem;
		line-height: 1.8;
		text-shadow: 0px 0px 3px rgb(0 0 0);
	}

	.l-key-title h2 {
		font-size: 1.6rem;
		margin: 0 0 26px 0;
	}

	.l-key-title .more-btn {
	    line-height: 3.6;
	    font-size: 1.2rem;
	    padding: 4px 30px;
	    height: auto;
	}

	.l-pr-gamelink-title {
		width: 240px;
	}

	.l-pr-banner {
		margin: 48px auto 32px auto;
	}

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

	.l-pr-profile h3 {
	    margin: 0 auto 40px auto;
	    font-size: 1.8rem;
	}

	.l-pr-profile-member {
		padding: 48px 0;
	}

	.l-pr-profile-member li {
	    width: 100%;
	    margin-right: 0px;
	    margin-bottom: 32px;
	}

	.l-pr-sns {
		padding: 48px 0;
	}

	.l-pr-sns-title {
		font-size: 1.4rem;
	}

	.pr-banner {
		margin: 48px auto -32px auto;
	}

	.modal__content {
		width: 100%;
	}
	

/* ==========================================================================
	footer
	========================================================================== */
	
	
	.up-btn {
	    text-align: right;
	    font-weight: bold;
	    font-size: 1.3rem;
	    position: relative;
	    padding-right: 20px;
	    margin: -40px 22px 0 0;
	    padding-bottom: 24px;
	    top: -70px;
    	right: 0px;
	}
	
	footer {
		margin-top: 0px;
	}
	
	.footer-nav {
		padding: 16px 0;
		border-radius: 15px;
	}
	
	.footer-nav li {
		margin: 6px 0;
		padding: 0 12px;
	}
	
}



@media screen and (max-width: 600px) {
	
	
}

@media screen and (max-width: 498px) {
	

}


@media screen and (max-width: 370px) {


}
