@charset "utf-8";

body {
	font-size: 16px;
}
input[type="text"], input[type="email"], input[type="password"], input[type="number"], input[type="tel"], textarea, select {
	padding: 5px 5px 5px 1em;
	font-size: 16px;
}
.pc {
	display: none;
}


/* 基本レイアウト---------------- */
#wrapper {
	width: 100%;
	text-align: center;
}
#container {
	width: 100%;
}
.main {
  width: 90%;
  margin: 0 auto;
}
.flex {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}
.flex_st {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  align-self: center;
}


/* オープニングアニメーション---------------- */
.anime {
  position: fixed;
  width: 100%;
  height: 100vh;
  background-color: #fff;
  z-index: 1000;
  animation: op_anime 1s ease 2s 1 forwards;
}
.anime img {
  position: fixed;
  display: block;
  width: 100%;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%,-50%);
  -moz-transform: translate(-50%,-50%);
  -ms-transform: translate(-50%,-50%);
  -o-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
}
@keyframes op_anime {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}


/* ヘッダー---------------- */
#head {
  position: fixed;
  width: 100%;
  height: 50px;
  padding: 0 10px;
  z-index: 100;
}
.head_in {
  position: relative;
  text-align: left;
}
#head_logo {
  width: 120px;
  margin-top: 10px;
}
#head_logo img {
  max-width: 100%;
  height: auto;
}
#head_navi {
  display: none;
}
.sp_navi_btn {
  position: fixed;
  top: 0;
  right: 10px;
  width: 50px;
  height: 50px;
  text-align: center;
  z-index: 200;
}
#navi_on {
  position: fixed;
	top: 0;
  right: 0;
	width: 50px;
  height: 50px;
  text-align: center;
  cursor: pointer;
}
#navi_of {
  display: none;
	position: fixed;
  top: 0;
  right: 0;
	width: 50px;
  height: 50px;
  text-align: center;
  cursor: pointer;
  z-index: 300;
}
.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
.menu-trigger {
  position: relative;
  width: 22px;
  height: 20px;
  margin-top: 15px;
}
.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 4px;
  background: #fff;
  border-radius: 2px;
}
.menu-trigger span:nth-of-type(1) {
  top: 0;
}
.menu-trigger span:nth-of-type(2) {
  top: 8px;
}
.menu-trigger span:nth-of-type(3) {
  bottom: 0;
}
.menu-trigger.active span:nth-of-type(1) {
  top: -9px;
  -webkit-transform: translateY(15px) rotate(-45deg);
  transform: translateY(15px) rotate(-45deg);
  background: #242424;
}
.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
  bottom: 4px;
  -webkit-transform: translateY(-6px) rotate(45deg);
  transform: translateY(-6px) rotate(45deg);
  background: #242424;
}

#sp_navi {
  display: none;
	width: 100%;
  height: 100%;
	position: fixed;
	top: 0;
	left: 0;
  padding: 10px 10px 70px; 
  background: #fff;
  z-index: 100;
  overflow-y: scroll;
}
.sp_navi_logo {
  margin-bottom: 60px;
}
.sp_navi_ul {
  margin: 0 10px;
}
.sp_navi_ul li {
  margin-top: 10px;
  line-height: 1.5;
  text-align: right;
  font-size: 24px;
  font-weight: 700;
}
.sp_navi_ul li:last-child {
  margin-top: 30px;
}


/* フッター----------------- */
#foot {
  padding-top: 88px;
}
.foot1 {
  padding-bottom: 75px;
}
.foot_logo {
  margin-bottom: 15px;
}
.foot_logo img {
  max-width: 100%;
  height: auto;
}
.foot_txt {
  margin-bottom: 30px;
  font-size: 20px;
}
.foot_btn {
  display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
  width: 215px;
  margin: 0 auto;
}
.foot_btn li {
  width: 50px;
  margin-right: 5px;
}
.foot_btn li:last-child {
  margin-right: 0;
}
.foot2 {
  padding: 10px;
  color: #fff;
  background: #242424;
}
.copyright small {
  font-size: 16px;
}


/* トップ---------------- */
#top_main {
  position: relative;
  width: 100%;
  height: 80vh;
}
.top_movie {
  position: absolute;
  z-index: -1;
  top: 0;
  right:0;
  left:0;
  bottom:0;
  overflow: hidden;
}
.video1 {
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 177.77777778vh;
  height: 56.25vw;
  min-height: 100%;
  min-width: 100%;
}
.top_main_logo, .top_main_logo_en {
  position: absolute;
  top: calc(80vh - 105px);
  left: 0;
  right: 0;
  width: 100%;
  max-width: 360px;
  margin: 0 auto;
  z-index: 10;
}
.h1_logo1 img {
  width: 100%;
  height: auto;
}
.top_main_txt {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  font-size: 20px;
}
#top_sub {
  position: relative;
  width: 100%;
  height: 20vh;
  background-color: black;
}

#top_wishlist {
  padding: 120px 0 46px;
}
.h2_1 {
  margin-bottom: 20px;
  font-size: 36px;
  color: #4B87CD;
}
.logo_steam {
  width: 90%;
  max-width: 272px;
  margin: 0 auto;
}
.logo_steam a {
  display: block;
  width: 100%;
  height: 84px;
  margin: 0 auto;
  padding: 17px;
  text-align: center;
  background: #fff;
  border: 2px solid #242424;
  border-radius: 10px;
}
.logo_steam img {
  width: 168px;
  height: 50px;
}

#top_slider1 {
  padding: 46px 0;
  background: #EDF3FA;
}
#slider1 .slick-slide {
  height: 160px;
  max-width: 272px;
  margin: 0 10px;
}
li.slick-slide {
  position: relative;
}
li.slick-slide:before {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 153px;
  background: rgba(255,255,255,.4);
  border-radius: 10px;
  z-index: 2;
}
li.slick-slide.slick-active:before {
  display: none;
}
.youtube {
  width: 272px;
  height: 153px;
  border-radius: 10px;
  filter: drop-shadow(0px 4px 4px rgba(0,0,0,.25));
}
.slick-slide .youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 272px;
  height: 153px;
}
.slide_video1 {
  width: 272px;
  height: 153px;
  border-radius: 10px;
  filter: drop-shadow(0px 4px 4px rgba(0,0,0,.25));
}
.slide_img1 {
  border-radius: 10px;
  filter: drop-shadow(0px 4px 4px rgba(0,0,0,.25));
  overflow: hidden;
}s
#slider1 .slick-dots {
  bottom: -40px;
}
.slick-dots li {
  margin: 0 4px; 
  width: 30px;
  height: 5px;
}
#slider1 .slick-dots li button:before {
  content: "";
  width: 30px;
  height: 5px;
  background: #BBBFC4;
  border-radius: 3px;
  opacity: 1;
}
#slider1 .slick-dots li.slick-active button:before{
  background: #242424;
}

#top_about {
  min-height: 640px;
  padding: 46px 0;
  background: url("../img/bg_about_na_sp.png") no-repeat;
  background-size: cover;
  background-position: center top;
}
.content1 {
  width: 90%;
  max-width: 272px;
  margin: 0 auto;
}
.h2_2 {
  margin-bottom: 20px;
  font-size: 36px;
  color: #4B87CD;
}
.p1 {
  margin-bottom: 20px;
  font-size: 24px;
  font-weight: 700;
}
.p2 {
  margin-bottom: 20px;
  font-size: 24px;
  font-weight: 700;
}

#top_slider2 {
  padding: 46px 0 20px;
  color: #fff;
  background: #343D4C;
}
#slider2 .slick-slide {
  margin: 0 10px;
}
#slider2 .slick-dots {
  bottom: auto;
  top: 170px;
}
#slider2 .slick-dots li button:before {
  content: "";
  width: 30px;
  height: 5px;
  background: #717781;
  border-radius: 5px;
  opacity: 1;
}
#slider2 .slick-dots li.slick-active button:before{
  background: #fff;
}
#slider2 .slick-active .slider2_txt {
  opacity: 1;
  transition: .3s;
}
.slider2_txt {
  opacity: 0;
  width: 100%;
  max-width: 272px;
  margin-top: 40px;
  transition: .3s;
}
.h3_1 {
  margin-bottom: 10px;
  font-size: 36px;
}

#top_spec {
  padding: 46px 0;
  color: #fff;
  background: url("../img/bg_spec_na.png") no-repeat;
  background-size: cover;
  background-position: center top;
}
.h2_3 {
  margin-bottom: 20px;
  font-size: 36px;
}
.p3 {
  margin-bottom: 20px;
}

#top_news {
  padding-top: 46px;
}
.col1_1 {
  width: 90%;
  max-width: 272px;
  margin: 0 auto 40px;
  text-align: left;
}
.col1_2 {
  max-width: 248px;
  margin: 0 auto;
}
.h2_4 {
  margin-bottom: 20px;
  font-size: 36px;
  color: #4B87CD;
}
.h2_4_color6 {
  color: #2F9BBD;
}
.dl1 {
  text-align: left;
  font-size: 16px;
}
.dl1 dt {
  margin-bottom: 8px;
}
.dl1 dd {
  margin-bottom: 20px;
}
.link1 a {
	position: relative;
}
.link1 a::after {
	position: absolute;
	bottom: -4px;
	left: 0;
	content: '';
	width: 100%;
	height: 2px;
	background: #868ED6;
	transform: scale(0, 1);
	transform-origin: left top;
}
.link1_color6 a::after{
	background: #2F9BBD;
}
.link2 {
  text-align: right;
}
.link2 a {
  font-size: 16px;
  color: #4B87CD;
}
.link2 a:before {
  display: inline-block;
  content: "";
  width: 60px;
  height: 1px;
  margin-right: 5px;
  background: #4B87CD;
  vertical-align: middle;
}
.link2_color6 a{
  color: #2F9BBD;
}


/* 下層ページ---------------- */

/* N6 */
#n6_top_slider1 {
  padding: 46px 0;
  background: #000000;
}
#n6_slider1 .slick-slide {
  height: 160px;
  max-width: 272px;
  margin: 0 10px;
}
#n6_slider1 .slick-dots {
  bottom: -40px;
}
#n6_slider1 .slick-dots li button:before {
  content: "";
  width: 30px;
  height: 5px;
  background: #5B5B5B;
  border-radius: 3px;
  opacity: 1;
}
#n6_slider1 .slick-dots li.slick-active button:before{
  background: #FFFFFF;
}
#n6_spec {
  padding: 46px 0;
  color: #fff;
  background: url("../img/bg_spec_n6.png") no-repeat;
  background-size: cover;
  background-position: center top;
}
#n6_news {
  padding-top: 46px;
  padding-bottom: 46px;
  background: #EBEBEB;
}

/* Labo */
#about_main {
  position: relative;
  height: 80vh;
  background: url("../img/bg_labo_main_sp.png") no-repeat;
  background-size: cover;
  background-position: center top;
}
.about_main_logo {
  position: absolute;
  top: calc(80vh - 105px);
  left: 0;
  right: 0;
  width: 100%;
  max-width: 360px;
  margin: 0 auto;
  z-index: 10;
}
.about_main_txt {
  position: absolute;
  bottom: 30px;
  left: 0;
  right: 0;
  width: 100%;
  font-size: 20px;
}

#about_company {
  padding-top: 130px;
}
.dl2 {
  width: 90%;
  max-width: 272px;
  margin: 0 auto;
  text-align: left;
}
.dl2 dt {
  margin-bottom: 8px;
}
.dl2 dd {
  margin-bottom: 20px;
}
.ol1 li {
  margin-left: 20px;
  list-style: decimal;
}


/* News */
#news_main {
  position: relative;
  height: 250px;
  background: url("../img/bg_news_main_sp.png") no-repeat;
  background-size: cover;
  background-position: center top;
}
.h1_1 {
  position: absolute;
  bottom: -25px;
  left: 0;
  right: 0;
  width: 90%;
  margin: 0 auto;
  text-align: left;
  font-size: 36px;
  z-index: 10;
}

#news_list {
  padding-top: 40px;
}


/* 汎用スタイル---------------- */
.clearfix:after {
	content: ""; 
	display: block; 
	height: 0; 
	font-size: 0;	
	clear: both; 
	visibility: hidden;
}
.clear {
	clear: both;
}
.center {
	text-align: center;
}
.center_sp {
    text-align: center;
}
.left {
	text-align: left;
}
.right {
	text-align: right;
}
.img100 img {
	width: 100%;
	height: auto;
}
.img_res img {
  max-width: 100%;
  height: auto;
}
.bold {
	font-weight: 600;
}
