@charset "UTF-8";

/* CSS Document */

body{ margin:0; padding:0; font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; line-height:1.5em; font-size:14px; color:#000;   background-color: #000000;}
img{ border:none; }

.clearfix:after{ content: "."; display: block; height: 0; font-size:0; clear: both; visibility:hidden; }

a,a:hover {color:#5e5491;transition:.3s;text-decoration: none;}
a:hover {opacity: 0.8;;text-decoration:none;}
a img,a:hover img {transition:.3s;}
a:hover img {opacity:.85; filter: "alpha(opacity=85)";}

h1,h2,h3,h4,div,p,ul,li{ margin:0; padding:0;}

ul{ list-style: none; }

#wrap{ margin:0 auto;}

#container{ margin:0 auto;}

/*------------------------------------------
アニメーション
--------------------------------------------*/

.fadeinDown {
  opacity: 0;
  transform : translate(0, 50px);
  transition : all 1000ms;
}

.scrollin{
  opacity: 1;
  transform: translate(0, 0);
}

.scrollinbg{
}


/*------------------------------------------
スタイル
--------------------------------------------*/
#sp_wrap{ position: relative; }
#sp_wrap::before{
    content: "";
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100vh;
    background-image: url("../img/bg_01.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    opacity: 1;
    transition : all 1500ms;
}
#sp_wrap::after{
    content: "";
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100vh;
    background-image: url("../img/bg_02.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    opacity: 0;
    transition : all 1500ms;
}
#sp_wrap.scrollinbg::before{ opacity: 0; transition : all 1500ms; }
#sp_wrap.scrollinbg::after{ opacity: 1; transition : all 1500ms; }

#sp_wrap.bg2::after{
    content: "";
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100vh;
    background-image: url("../img/bg_03.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    opacity: 1;
    transition : all 1500ms;
}

.menu_wrap{ width: 100%; margin: 10px auto; text-align: center; position: fixed; z-index: 1000; }
.menu_wrap ul{ display: flex; flex-wrap: wrap; justify-content: center; }
.menu_wrap li.menu01{ }
.menu_wrap li.menu02{ }
.menu_wrap li.menu03{ }

.main_area{ width: 100%; height: 100vh; position: relative; }
.main_area h1{ 
    position: absolute;
    width: 32%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    }
.main_area h1 img{ width: 100%; }

.contents_area{ width: 1000px; margin: 0 auto; }

.contents_area .app_btn ul{ display: flex; flex-wrap: wrap; padding: 2em; justify-content: center; }
.contents_area .app_btn li{ width: 48%; margin: 1%; }
.contents_area .app_btn li.btn01{ width: 52%; margin: 1%; }
.contents_area .app_btn li.btn02{ width: 42%; margin: 1%; }
.contents_area .app_btn li img{ width: 100%; }

.contents_area #lead{ padding: 3em 0; }

.contents_area .lead{
 background-color: #000000;
 color: #FFFFFF;
 padding: 1em;
 position: relative;
 border: solid 2px #50f9ff;
 font-size: 20px;
}
.contents_area .lead span{ 
font-size: 16px;
display: block;
margin-top: 1em;
}
.contents_area .lead::before,
.contents_area .lead::after {
  position: absolute;
  content: "";
  display: block;
  background-color: #000000;
}

.contents_area .lead::before {
  top: -2px;
  bottom: -2px;
  left: 100px;
  right: 100px;
}

.contents_area .lead::after {
  top: 100px;
  bottom: 100px;
  left: -2px;
  right: -2px;
}

.contents_area .lead div {
  position: relative;
  z-index: 1;
  margin: 1em;
}
.contents_area .lead img{ width: 100%; }

.contents_area .dl{ text-align: center; }
.contents_area .dl img{ width: 100%; }

.contents_area .release{ text-align: center; }
.contents_area .release img{ width: 100%; }
.contents_area .release .txt {
  margin-top: 2em;
  color: #FFF;
  font-size: 24px;
  text-align: center;
  line-height: 1.5em;
}

.contents_area .movie {
  margin: 8em 0 0 0;
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.contents_area .movie iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.contents_area .bnr{ text-align: center; margin: 3em 0; }
.contents_area .bnr img{ width: 100%; }
.contents_area .bnr_2{ display: flex; flex-wrap: wrap; margin: 3em 0; }
.contents_area .bnr_2 div{ width: 48%; margin: 1%; text-align: center; }
.contents_area .bnr_2 div img{ width: 100%; }

.contents_area .info{ display: flex; flex-wrap: wrap; margin: 3em 0; padding: 3em; color: #FFFFFF; background-color: #222222; }
.contents_area .info div.thum{ width: 18%; margin-right: 2%; }
.contents_area .info div.thum img{ width: 100%; }
.contents_area .info div.txt{ width: 80%; }
.contents_area .info a{ color: #FFF; text-decoration: underline;}

.contents_area .copy{ margin: 2em 0; padding: 2em; color: #FFFFFF; text-align: left;}

.guid_img{ text-align: center; padding: 10em 0 0 0 ; background-color: #000000; }
.guid_img img{ width: 100%; }

.terms{ padding: 10em 5em 5em 5em ; background-color: #000000; color: #FFFFFF; font-size: 16px; }
.terms h2{ font-size: 30px; text-align: center; color:#35fafc; margin-bottom: 2em; }

/*------------------------------------------
【フッター】
--------------------------------------------*/

#footer_wrap{ padding:30px 0; background:#000000; color:#FFFFFF; letter-spacing:0em; border-top:1px solid #666; font-size:12px; margin-bottom: -15px; }

#footer_Box{ width:1000px; margin:0 auto; line-height:1.8em;}

#footer_Box ul{ list-style:none; margin:0; padding:0; display:table; width:100%;}

#footer_Box ul li { padding:0; margin:0; display:table-cell; vertical-align:top;}

#footer_Box ul li a{ color:#FFFFFF; text-decoration:none;}
#footer_Box ul li a:hover{ color:#FFFFFF; text-decoration:underline;}

/* デザインに合わせて変更*/
.copy { color:#fff; font-size:12px; line-height:1.8em; padding:30px 0; text-align: center; }
.link a{ color:#FFFFFF; }

#footer_Box ul .top_box{ border-left:1px #333333 dotted; padding:0 2%; width:31%; position:relative;}

#footer_Box ul .top_box2{ border-left:1px #333333 dotted; padding:0 2%; width:31%; position:relative;}

.top_box .title{ background:#333333; border-radius:3px; padding:5px 10px 3px;}
/*******************/

#footer_Box ul .top_box ul{ margin:10px 0 10px; padding:0; display:table;}

#footer_Box ul .top_box ul li{
	background: url(../img/cmn/listicon.png) left center no-repeat;
	float: left;
	list-style: none;
	padding: 0 15px;
	margin: 0;
	display: table-cell;
	vertical-align: middle;
	width: 224px;
	line-height:1.5em;
}

.top_box2 ul{ padding:0; margin:0 0 20px; width: 100%; display:table;}

.top_box2 ul li{
	float: left;
	list-style: none;
	padding: 0 15px;
	margin: 0;
	display: table-cell;
	vertical-align: middle;
	width: 224px;
}

.top_box2 ul li .note{ position:absolute; top:0; display:block; right:0; font-size:10px;}

.top_box2 ul li .link01{ background: url(../img/cmn/linkicon.png) no-repeat center left; position: absolute; display: block; bottom:25px; right:0; padding-left:20px; }

.top_box2 ul li .link02{ background: url(../img/cmn/linkicon.png) no-repeat center left; position: absolute; display: block; bottom:0; right:0; padding-left:20px; }

/* 下段ロゴ */

#footer_bottom{ margin:20px auto 0;}
#footer_bottom ul{ list-style:none; margin:0; padding:0; display:table; width:100%;}
#footer_bottom ul li { padding:0; margin:0; display:table-cell; vertical-align:bottom;}

#footer_bottom ul .left_Tbnr{ width:10%; text-align:left;}

#footer_bottom ul .center_Tnation{ width:80%; color:#CCC; font-size:10px; line-height:14px; text-align:center; padding:10px 0; margin:10px auto 0; word-break: keep-all;}

#footer_bottom ul .right_Bicon{ width:10%;  text-align:right;}




/* ------ */



/* common styles */
.hide{ display:none; }
 
/** margin control **/
.nomargin{ margin:0 !important; }
.notopmargin{ margin-top:0 !important; }
.nobtmargin{ margin-bottom:0 !important; }

.leftmargin1em{ margin:0 0 0 1em; }
.leftmargin2em{ margin:0 0 0 2em; }
.rightmargin1em{ margin:0 1em 0 0; }
.rightmargin2em{ margin:0 2em 0 0; }

.mgtop10{ margin-top:10px;}

/** padding control **/
.leftpad1em{ padding:0 0 0 1em; }
.leftpad2em{ padding:0 0 0 2em; }
.rightpad1em{ padding:0 1em 0 0; }
.rightpad2em{ padding:0 2em 0 0; }
.bpad1em{ padding:0 0 1em 0; }
.padtop10{ padding-top:10px;}
.padtop20{ padding-top:20px;}
.padtop30{ padding-top:30px;}
.padtop40{ padding-top:40px;}
.padtop50{ padding-top:50px;}
.padtop60{ padding-top:60px;}
.padtop70{ padding-top:70px;}
.padtop80{ padding-top:80px;}
.padbottom10{ padding-bottom:10px;}
.padbottom20{ padding-bottom:20px;}
.padbottom30{ padding-bottom:30px;}
.padbottom40{ padding-bottom:40px;}
.padbottom50{ padding-bottom:50px;}
.padbottom60{ padding-bottom:60px;}
.padbottom70{ padding-bottom:70px;}
.padbottom80{ padding-bottom:80px;}
/** text align **/
.aleft{ text-align:left !important; }
.aright{ text-align:right !important; }
.acenter{ text-align:center !important; }

/** float control **/
.fleft{ float:left !important; }
.fright{ float:right !important; }
.clear{ clear:both; }

/** fontsize control **/
.larger{ font-size:larger !important;}
.smaller{ font-size:smaller !important;}

/** width control **/
.contentwidth{ width:100%; }

/** notice color **/

.under_line{ border-bottom:1px solid #999; padding:5px 0; }

/* -- END -- common styles */



/*
    Colorbox Core Style:
    The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
#cboxWrapper {max-width:none;}
#cboxOverlay{position:fixed; width:100%; height:100%;}
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
#cboxContent{position:relative;}
#cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;}
#cboxTitle{margin:0;}
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
.cboxIframe{width:100%; height:100%; display:block; border:0; padding:0; margin:0;}
#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}

/* 
User Style:
Change the following styles to modify the appearance of Colorbox.  They are
ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay{background:#000;}
#colorbox{outline:0;}
#cboxContent{margin-top:20px;background:#000;}
.cboxIframe{background:#fff;}
#cboxError{padding:50px; border:1px solid #ccc;}
#cboxLoadedContent{border:5px solid #000; background:#fff;}
#cboxTitle{position:absolute; top:-20px; left:0; color:#ccc; font-size:12px;}
#cboxCurrent{position:absolute; top:-20px; right:0px; color:#ccc; font-size:12px;}
#cboxLoadingGraphic{background:url(../img/colorbox/loading.gif) no-repeat center center;}

/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
#cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; }

/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
#cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;}

#cboxSlideshow{position:absolute; top:-20px; right:90px; color:#fff;}
#cboxPrevious{position:absolute; top:50%; left:5px; margin-top:-32px; background:url(../img/colorbox/controls.png) no-repeat top left; width:28px; height:65px; text-indent:-9999px;}
#cboxPrevious:hover{background-position:bottom left;}
#cboxNext{position:absolute; top:50%; right:5px; margin-top:-32px; background:url(../img/colorbox/controls.png) no-repeat top right; width:28px; height:65px; text-indent:-9999px;}
#cboxNext:hover{background-position:bottom right;}
#cboxClose{position:absolute; top:5px; right:5px; display:block; background:url(../img/colorbox/controls.png) no-repeat top center; width:38px; height:19px; text-indent:-9999px;}
#cboxClose:hover{background-position:bottom center;}


#snswrap{margin-top:5%;}


/* 全体
==================== */
.dis_pc {display: block;}
.dis_sp {display: none;}
