@charset "utf-8";
/* reset */
/* http://meyerweb.com/eric/tools/css/reset/ 
v2.0 | 20110126
License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
box-sizing: border-box;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, main, menu, nav, section, small {
display: block;
}
body {
font-family: 'Noto Sans JP', sans-serif;
font-size: 16px;
line-height: 1;
color: #000;
background: #fff;
height: 100%;
-webkit-text-size-adjust: none;
-webkit-overflow-scrolling: touch;/*iOSスクロールを滑らかにする*/
}
a {
color: #000;
text-decoration: none;
transition: .2s;
}
a:hover {
opacity: 0.7;
}
b {
font-weight: bold;
}
img {
max-width: 100%;
vertical-align: top;
}
ol, ul {
list-style: none;
}
dl::before, dl::after,
ol::before, ul::before,
ol::after, ul::after {
display: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
@media screen and (max-width: 768px) {
body {
font-size: 90%;
line-height: 1.2;
}
}
@media screen and (max-width: 500px) {
body {
font-size: 80%;
}
}
/* reset end */

/* common */
body {
margin: 0;
padding: 0;
}
	@media screen and (max-width: 768px) {
	body {
	}
	}

#wrapper {
position: relative;
overflow: hidden;
min-width: 320px;
}
.intel_lp {
position: relative;
line-height: 1.6;
font-family: "Noto Sans JP", sans-serif;
font-weight: normal;
min-width: 320px;
max-width: 100%;
margin: 0 auto;
overflow-x: auto;
}
.intel_lp * {
box-sizing: border-box;
word-wrap: break-word;
list-style: none;
word-break: break-all;
}
.intel_lp img {
}
.area {
position: relative;
}
.inner {
display: block;
position: relative;
max-width: 1000px;
margin: 0 auto;
padding: 0 20px;
}
.pc {
display: block;
}
.tit_img .pc {
display: inline-block;
}
.sp {
display: none;
}
.tit_img .sp {
display: none
}
	@media screen and (max-width: 768px) {
	.pc {
	display: none;
	}
	.sp {
	display: block;
	}
	.tit_img .sp {
	display: inline-block;
	}
	.tit_img .pc {
	display: none;
	}
	.area_txt {
	font-size: 100%;
	margin-bottom: 20px;
	text-align: left;
	}
	}

	@media screen and (max-width: 768px) {
	.pc {
	display: none;
	}
	.sp {
	display: block;
	}
	}
/* common end */

/* effect */
	@media screen and (min-width: 768px) {
	.effectdelay {
	opacity: 0;
	transition: 0.8s;
	}
	.effectdelay.effect_active {
	opacity: 1;
	transform: translateY(0);
	}
	.effect {
	opacity: 0;
	transition: 1.2s;
	transform: translateY(-70px);
	}
	.effect.effect_active {
	opacity: 1;
	transform: translateY(0);
	}
	}
/* effect end */

/* header */
#header {
background: #000;
padding: 5px 10px;
height: 80px;
display: flex;
align-items: center;
}
#header .pr {
text-align: center;
font-size: 80%;
line-height: 1;
}
.branding {
display: flex;
justify-content: center;
align-items: center;
}
.branding > * {
display: flex;
align-items: center;
}
#header .logo01 > * {
display: flex;
}
#header .logo01 img {
max-width: 170px;
width: 100%;
}
#header .closs img {
max-width: 40px;
width: 100%;
}
#header .logo02 img {
max-width: 340px;
width: 100%;
}
	@media screen and (max-width: 768px) {
	#header {
	padding: 0 20px;
	}
	#header {
	height: 70px;
	}
	}
/* header end */

/* visual */
#visual {
background: #053e9d url(../images/visual_bg.png)no-repeat center bottom/cover;
}
#visual .inner {
padding: 40px 20px 0;
max-width: 1300px;
}
#visual .visual_ttl {
text-align: center;
font-size: 310%;
color: #fff;
font-weight: 700;
padding: 120px 0 300px;
}
#visual .visual_ttl a {
color: #00CBFE;
display: inline-block;
font-size: 90%;
}
#visual .visual_ttl > span {
font-size: 60%;
border: 3px solid #0054AE;
background: linear-gradient(to right,#000,#053e9d,#000);
color: #fff;
padding: 10px 20px;
line-height: 1.3;
display: inline-block;
font-weight: 500;
margin-top: 10px;
}
	@media screen and (max-width: 500px) {
	#visual .visual_ttl > span {
	font-size: 55%;
	}
	}
#visual .visual_logo01 img {
max-width: 150px;
}
#visual .visual_logo02 {
text-align: right;
}
#visual .visual_logo02 img {
max-width: 254px;
}
	@media screen and (max-width: 768px) {
	#visual .inner {
	padding: 20px 20px 0;
	}
	#visual .visual_ttl {
	font-size: 200%;
	padding: 70px 0 100px;
	}
	#visual .visual_logo01 img {
	max-width: 75px;
	}
	#visual .visual_logo02 {
	text-align: right;
	}
	#visual .visual_logo02 img {
	max-width: 127px;
	}
	}
#visual .inner.effectdelay .visual_logo01,
#visual .inner.effectdelay .visual_ttl,
#visual .inner.effectdelay .visual_logo02 {
opacity: 0;
transform: translate(0,-100px);
transition: .6s;
}
#visual .inner.effectdelay.effect_active .visual_logo01,
#visual .inner.effectdelay.effect_active .visual_ttl,
#visual .inner.effectdelay.effect_active .visual_logo02 {
opacity: 1;
transform: translate(0,0);
}
#visual .inner.effectdelay .visual_ttl {
transition-delay: .3s;
}
#visual .inner.effectdelay .visual_logo02 {
transition-delay: .6s;
}
/* visual end */

/* btn */
.btn_box {
padding: 40px 0 50px 0;
}
.btn_box + .btn_box {
padding: 0 0 50px 0;
}
.btn {
position: relative;
display: flex;
justify-content: center;
align-items: center;
height: 100px;
border-radius: 50px;
border: 5px solid #053e9d;
background: #053e9d;
font-size: 170%;
line-height: 1.1;
color: #fff;
font-weight: bold;
text-align: center;
margin: 0 auto;
text-decoration: none;
box-shadow: 5px 5px 0 rgba(73,2,2,0.1);
transition: .3s;
max-width: 800px;
}
.btn.type2 {
background: #DD3353;
border-color: #DD3353;
}
.btn:before {
content: "";
position: absolute;
right: 20px;
top: 50%;
width: 20px;
height: 20px;
border-bottom: 5px solid #fff;
border-right: 5px solid #fff;
transform: translate(0,-50%) rotate(-45deg);
}
.btn_more a {
color: #fff;
font-size: 110%;
text-align: center;
background: linear-gradient(to right,#2d82c6,#053e9d);
max-width: 260px;
height: 50px;
display: flex;
align-items: center;
justify-content: center;
margin: 20px auto 0;
border-radius: 100px;
}
	@media screen and (min-width: 768px) {
	.btn:hover {
	opacity: 0.7;
	}
	}
	@media screen and (max-width: 768px) {
	.btn_box {
	padding: 20px 0 30px 0;
	}
	.btn_box + .btn_box {
	padding: 0 0 30px 0;
	}
	.btn {
	height: 60px;
	border-radius: 30px;
	border: 5px solid #053e9d;
	font-size: 120%;
	box-shadow: 5px 5px 0 rgba(73,2,2,0.1);
	max-width: 600px;
	padding: 0 25px;
	}
	.btn:before {
	right: 10px;
	width: 10px;
	height: 10px;
	border-bottom: 3px solid #fff;
	border-right: 3px solid #fff;
	transform: translate(0,-50%) rotate(-45deg);
	}
	.btn_more a {
	font-size: 100%;
	max-width: 260px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 20px auto 0;
	border-radius: 100px;
	}
	}
/* btn end */

/* footer */
#footer {
background: #000;
padding: 70px 40px;
text-align: center;
font-size: 80%;
color: #fff;
}
#footer ul {
display: flex;
flex-flow: row nowrap;
align-items: center;
justify-content: center;
margin: 0 0 30px;
}
#footer ul li {
margin: 0 10px;
}
#footer ul a {
text-decoration: underline;
color: #fff;
}
@media screen and (max-width: 768px) {
#footer {
padding: 30px 0;
}
}
@media screen and (max-width: 500px) {
#footer {
font-size: 80%;
}
}
/* footer end */

/* pagetop */
#pagetop {
position: fixed;
right: 10px;
bottom: -100px;
transition: all 0.3s linear;
opacity: 0;
z-index: 999;
}
#pagetop.active {
bottom: 10px;
opacity: 0.9;
}
#pagetop:hover {
opacity: 0.6;
}
#pagetop a {
display: block;
width: 60px;
height: 60px;
border-radius: 30px;
background: #053e9d;
text-indent: -9999px;
}
#pagetop a:before {
content: "";
position: absolute;
right: 50%;
top: 50%;
width: 15px;
height: 15px;
margin: -6px -9px 0 0;
border-top: 5px solid #fff;
border-right: 5px solid #fff;
transform: rotate(-45deg);
}
@media screen and (max-width: 768px) {
	#pagetop.active,
	#pagetop:hover {
	opacity: 0.8;
	}
	#pagetop a {
	width: 40px;
	height: 40px;
	border-radius: 20px;
	}
	#pagetop a:before {
	width: 10px;
	height: 10px;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	margin: -4px -6px 0 0;
	}
}
/* pagetop end */

/* item */
.base_ttl {
text-align: center;
margin-bottom: 40px;
background: #000;
font-size: 250%;
color: #fff;
font-weight: 700;
padding: 30px 20px;
border-bottom: 10px solid #053e9d;
border-image: linear-gradient(to right, #76e4ff, #053e9d,#925dff,#ff94e0) 1;
}
.base_txt {
line-height: 1.6;
font-size: 110%;
}
	@media screen and (max-width: 768px) {
	.base_ttl {
	margin-bottom: 30px;
	font-size: 190%;
	padding: 20px;
	border-bottom: 7px solid #053e9d;
	}
	.base_txt {
	font-size: 100%;
	}
	}
.base_ttl_box {
text-align: center;
margin-bottom: 0;
background: #000;
color: #fff;
font-weight: 700;
padding: 30px 20px;
border-top: 10px solid #053e9d;
border-bottom: 10px solid #053e9d;
border-image: linear-gradient(to right, #76e4ff, #053e9d, #925dff, #ff94e0) 1;
}
.base_ttl_box a {
color: #72DFFC;
}
.base_ttl_box .ttl {
font-size: 250%;
}
.base_ttl_box .txt {
font-size: 110%;
color: #fff;
line-height: 1.4;
margin-top: 20px;
}
/* item end */

/* lead */
#lead {
background: #053e9d;
color: #fff;
padding: 80px 0;
}
.lead_ttl {
font-size: 120%;
font-weight: 700;
line-height: 1.6;
margin-bottom: 50px;
}
#lead .lead_txt {
transition-delay: .3s;
font-size: 110%;
line-height: 1.8;
}
	@media screen and (max-width: 768px) {
	#lead {
	padding: 40px 0;
	}
	.lead_ttl {
	font-size: 110%;
	margin-bottom: 30px;
	}
	#lead .lead_txt {
	font-size: 100%;
	}
	}
/* lead end */

/* area01 */
#area01 {
background: url(../images/bg_black.png)no-repeat center top/cover;
background: #eee;
padding-bottom: 10px;
}
#area01 .base_ttl {
margin: 0;
}

#area01 .inner {
max-width: 1080px;
padding-bottom: 0;
}
.list_game {
display: flex;
flex-flow: row wrap;
align-items: stretch;
justify-content: center;
}
.list_game li {
width: 30%;
margin: 0 1.6% 30px;
background: #222222;
color: #fff;
border: 2px solid #444444;
box-shadow: 0px 0px 16px -6px rgba(255,255,255,0.1);
border-radius: 10px;
padding: 20px 20px 30px;
}
.list_game li .ttl {
font-size: 120%;
font-weight: 700;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
word-break: keep-all;
}
	@media screen and (min-width: 768px) {
	.list_game li .ttl {
	min-height: 3.5em;
	}
	}
.list_game li .com {
margin-bottom: 20px;
text-align: center;
font-size: 80%;
}
.list_game li .img {
margin: 20px 0 5px;
}
.list_game li .item {
display: flex;
flex-flow: column nowrap;
height: 100%;
}
.list_game li .txt {
flex: 1 0 0%;
font-size: 95%;
}

.list_game li .logo {
margin: 20px auto 0;
background: #fff;
border-radius: 5px;
padding: 5px;
overflow: hidden;
text-align: center;
}
.list_game li .logo img {
width: 80%;
}
	@media screen and (max-width: 768px) {
	#area01 .inner {
	padding-bottom: 40px;
	}
	.list_game {
	margin: 0 10px;
	}
	.list_game li {
	width: 100%;
	margin: 0;
	padding: 20px 20px 30px;
	}
	}

/* area01 end */

/* area02 */
#area02 {
background: #eee;
padding-bottom: 10px;
}
#area02 .base_ttl {
margin: 0;
}
#area02 .inner {
max-width: 1080px;
padding-bottom: 0;
}
.list_pc {
display: flex;
flex-flow: row wrap;
align-items: stretch;
justify-content: center;
margin-bottom: 10px;
}
.list_pc li {
width: 30%;
margin: 0 1.6% 30px;
background: #fff;
border: 2px solid #dddddd;
box-shadow: 0px 0px 16px -6px rgba(255,255,255,1);
border-radius: 10px;
padding: 20px 20px 30px;
}
.list_pc li .img {
margin: 20px 0;
}
.list_pc li .logo {
text-align: center;
}
.list_pc li .logo img {
max-width: 229px;
}
.list_pc li .ttl {
font-weight: 700;
font-size: 120%;
margin-bottom: 10px;
}
.list_pc li .item {
display: flex;
flex-flow: column nowrap;
height: 100%;
}
.list_pc li .txt {
flex: 1 0 0%;
}

	@media screen and (max-width: 768px) {
	#area02 .inner {
	padding-bottom: 30px;
	}
	
	.list_pc {
	margin: 0 10px;
	}
	.list_pc.mb30 {
	margin-bottom: 40px;
	}
	.list_pc li {
	width: 100%;
	margin: 0;
	}
	}

/* area02 end */

/* area03 */
#area03 {
background: url(../images/bg_black.png)no-repeat center top /100% auto #333;
color: #fff;
padding-bottom: 100px;
}
.campaign_top_txt {
text-align: center;
margin-bottom: 40px;
}
.campaign_top_txt a {
color: #fff;
font-weight: 700;
}
.campaign_ttl {
text-align: center;
font-size: 150%;
font-weight: 700;
margin-bottom: 30px;
background: linear-gradient(to right,#2d82c6,#053e9d);
background: none;
padding: 15px;
}
.list_campaign {
display: flex;
flex-flow: row wrap;
align-items: stretch;
justify-content: center;
}
.list_campaign li {
width: 30%;
margin: 0 1.6% 30px;
background: #fff;
border: 2px solid #dddddd;
box-shadow: 0px 0px 16px -6px rgba(255,255,255,1);
box-shadow: none;
border-radius: 10px;
padding: 20px 20px 30px;
}
.list_campaign .ttl {
text-align: center;
font-weight: 700;
margin-top: 20px;
color: #333;
border-top: 1px solid #ddd;
padding-top: 20px;
}
.list_campaign .txt {
text-align: center;
margin-top: 5px;
color: #000;
font-size: 80%;
}
.campaign_img {
text-align: center;
}
.campaign_img img {
max-width: 80%;
}
.campaign_date {
background: #fff;
border: 2px solid #053e9d;
border-radius: 10px;
width: 80%;
margin: 40px auto 0;
color: #000;
padding: 30px;
text-align: center;
}
.campaign_date .ttl {
font-weight: 700;
font-size: 130%;
}
.campaign_date .copy {
font-size: 80%;
text-align: left;
}
.campaign_info {
max-width: 800px;
margin: 0 auto 30px;
}
.campaign_info dl {
border-top: 1px solid #fff;
padding: 25px 0;
display: flex;
flex-flow: row nowrap;
align-items: center;
justify-content: flex-start;
}
.campaign_info dl dt {
width: 150px;
}
.campaign_info dl:last-child {
border-bottom: 1px solid #fff;
}
.list_caution {
max-width: 800px;
margin: 0 auto 30px;
font-size: 80%;
}
.list_caution li {
text-indent: -1em;
padding-left: 1em;
}
.list_caution li:not(:last-child) {
margin-bottom: 5px;
}
	@media screen and (max-width: 768px) {
	#area03 {
	padding-bottom: 40px;
	}
	.campaign_top_txt {
	margin-bottom: 30px;
	}
	.campaign_ttl {
	font-size: 130%;
	margin-bottom: 20px;
	padding: 15px;
	}
	.list_campaign {
	flex-flow: column;
	align-items: center;
	justify-content: center;
	}
	.list_campaign li {
	width: 100%;
	margin: 0 0 20px;
	}
	.campaign_img img {
	max-width: 100%;
	}
	.campaign_date {
	width: 100%;
	margin: 30px auto 0;
	padding: 20px;
	}
	.campaign_date .ttl {
	margin-bottom: 20px;
	font-size: 130%;
	}
	.campaign_info {
	max-width: 800px;
	margin: 0 auto 20px;
	}
	.campaign_info dl {
	padding: 20px 0;
	}
	.campaign_info dl dt {
	width: 200px;
	}
	.list_caution {
	margin: 0 auto 20px;
	}
	}
/* area03 end */


.area_pc {
background: #eeeeee;
padding-top: 40px;
}
.area_game {
background: url(../images/bg_black.png) no-repeat center top / cover;
padding-top: 40px;
}

.top_txt {
display: flex;
flex-flow: row nowrap;
align-items: center;
justify-content: center;
margin-bottom: 40px;
}
.top_txt dt {
flex: 0 1 120px;
height: 60px;
color: #fff;
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(to right,#000,#666666);
font-size: 120%;
font-weight: 700;
margin-right: 20px;
}
.top_txt dd {
font-weight: bold;
font-size: 110%;
}
.area_game .top_txt dt {
background: linear-gradient(to right,#666,#ccc);
color: #000;
}
.area_game .top_txt dd {
color: #fff;
}
	@media screen and (max-width: 768px) {
	.top_txt {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: center;
	margin-bottom: 30px;
	}
	.top_txt dt {
	width: 40px;
	min-width: 40px;
	height: 40px;
	margin-right: 15px;
	font-size: 110%;
	}	
}
#area04 {
background: #222;
}
.copy_txt {
padding: 50px;
color: #fff;
font-size: 90%;
line-height: 2;
}
