@charset "Shift_JIS";


/* ****************************************************************************

　目次

-------------------------------------------------------------------------------

　01. TOP

******************************************************************************* */

/* ==

　01. TOP

=============================================================================== */
#header {
	display: none;
}
#header.isFixed {
	display: block;
}
body {
	background-color: #fff;
}
.opening {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background-color: #F0F2F5;
	z-index: 100;
	pointer-events: none;
	transition: opacity .75s;
	transition-delay: .5s;
}
.opening-disappear {
	opacity: 0;
}
.opening img {
	position: fixed;
	top: calc(50% - 30px);
	left: calc(50% - 120px);
	transition: opacity .75s;
}
.opening-disappear img {
	opacity: 0;
}

.main {
	position: relative;
	display: flex;
	margin-bottom: 150px;
}
.main_in {
	position: relative;
	width: 320px;
  padding: 80px 0 0 50px;
  z-index: 11;
}
.main_logo {
	width: 240px;
	margin-bottom: 75px;
	transform: translateX(-300px);
	transition: all .5s cubic-bezier(.43,.32,0,.99);
	transition-delay: .5s;
}
.main_logo img {
	width: 100%;
}
.main_nav {
	margin-left: 10px;
	font-size: 15px;
	font-weight: 500;
}
.main_nav li {
	margin-bottom: 30px;
	transform: translateX(-300px);
	transition: all .5s cubic-bezier(.43,.32,0,.99);
}
.main_nav li:nth-child(1) {
	transition-delay: .6s;
}
.main_nav li:nth-child(2) {
	transition-delay: .7s;
}
.main_nav li:nth-child(3) {
	transition-delay: .8s;
}
.main_nav li:nth-child(4) {
	transition-delay: .9s;
}
.main_nav li:nth-child(5) {
	transition-delay: 1s;
}
.main_nav li a {
	position: relative;
	color: #000;
}
.main_nav li a::before {
	content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background-color: #000;
  transition: width .2s;
}
.main_nav li a:hover::before {
	width: 100%;
}
.main_in-inView .main_logo,
.main_in-inView .main_nav li {
	transform: translateX(0px);
}
.main_scroll {
	position: absolute;
	left: 35px;
	bottom: 0;
	opacity: 0;
	transition: opacity .5s;
}
.main_scroll-inView {
	opacity: 1;
	transition-delay: 2s;
}
.main_scroll-inView::after {
	animation: scrollAnim 2s linear infinite;;
	content:"";
	display: block;
	width: 5px;
	height: 20px;
	background-color: #fff;
}
@keyframes scrollAnim {
  from {
    transform: translateY(-240px);
  }
  to {
    transform: translateY(0px);
  }
}
.main_visual {
	position: relative;
	width: calc(100% - 350px);
}
.main_visual_in {
	position: relative;
	overflow: hidden;
}
.slick-slide {
	font-size: 0px;
}
.main_visual .main_slide {
	width: 100%;
	height: 100vh;
}
.main_visual .slick-list {
	height: 100%;
	pointer-events: none;
}
.main_visual .main_slide img {
	position: absolute;
}
.main_slide {
	position: relative:
}
.main_slide_item {
	position: relative;
	width: 100%;
	height: 100%;
}

.main_visual_btn {
	position: absolute;
	left: 0;
	bottom: -47px;
	width: 0;
	overflow: hidden;
	transition: all 1s cubic-bezier(.43,.32,0,.99);;
}
.main_visual_btn-inView {
	width: 360px;
}
.main_visual .btn01 {
	width: 330px;
	max-width: none;
}

.slick-slide img {
	transition: transform 8s linear;
	transform: scale(1);
}

.slick-pager {
  position: absolute;
	width: 580px;
	left: 20px;
	bottom: 20px;
  display: block;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
}
.slick-pager li {
  position: relative;
  display: inline-block;
	width: 60px;
	height: 3px;
	margin: 0 2px;
  padding: 0;
  cursor: pointer;
  background-color: rgba(255, 255, 255, 1);
}
.slick-pager li.slick-active,
.slick-pager li.slick-start {
	width: 60px;
  background-color: rgba(255, 255, 255, .3);
}
.slick-pager li::before {
	content: "";
	display: block;
	width: 0;
	height: 3px;
	opacity: 0;
	transition: width 0s linear;
	background-color: #fff;
}
.slick-pager li.slick-active::before {
	width: 100%;
	transition: width 6s linear;
	opacity: 1;
}
.slick-pager li.slick-start::before {
	width: 100%;
	transition: width 6.9s linear;
	opacity: 1;
}

.section {
	position: relative;
	width: auto;
	margin-bottom: 100px;
	padding: 0 20px;
}
.section_in {
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
}
.section_tit01 {
	margin-bottom: 40px;
}
.section p {
	font-size: 16px;
}
.section_tit01 h2 {
	font-family: "Roboto Condensed", sans-serif;
	font-weight: 200;
	font-size: 64px;
	color: #0080C8;
	line-height: 1.2;
	letter-spacing: 0.12em;
}
.section_tit01 h2 + p {
	font-size: 18px;
	font-weight: bold;
}
.section_tit01 + p {
	margin-bottom: 30px;
}
#products .section_tit01 + p {

}
#products {
	margin-bottom: 120px;
}
#products::before {
	content: "";
	background-color: #F0F2F5;
	width: calc(100% - 50px);
	height: 1050px;
	position: absolute;
	top: 40px;
	left: 0;
	z-index: -1;
}
#products::after {
	content: "";
	background: url(/images/index_img01.jpg) no-repeat 0 0;
	background-size: 400px;
	width: 400px;
	height: 125px;
	position: absolute;
	top: -45px;
	right: 0;
}
.products_block01 {
	position: relative;
	width: calc(100% + 40px);
	height: 450px;
	margin: 80px -20px 110px;
	overflow: hidden;
}
.products_bg {
	position: absolute;
	top: 0;
	left: 0;
	width: calc(100% + 40px);
	height: 450px;
	margin: 0 -20px;
	display: flex;
	overflow: hidden;
}
.products_bg_in {
	width: 6160px;
	height: 450px;
	display: flex;
	animation-name: productsAnimation;
  animation-duration: 55s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}
@keyframes productsAnimation {
  0%{
    transform: translateX(0);
  }
  100%{
    transform: translateX(-2160px);
  }
}
.products_bg_item {
	width: 2160px;
	height: 450px;
	display: flex;
}
.products_bg_item img {
	width: 720px;
	height: auto;
}
.products_block01 .section_in {
	height: 100%;
	display: flex;
	justify-content: flex-end;
}
.products_block01 .products_in {
	background-color: #0080C8;
	width: 50%;
	height: 100%;
}
.products_block01 .products_info {
	padding: 70px 80px;
	color: #fff;
}
.products_block01 .products_info h3 {
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 20px;
}
.products_block01 .products_info p {
	margin-bottom: 45px;
}
.products_block02 {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}
.products_block02 .products_in {
	max-width: 560px;
	width: 46.7%;
}
.products_block02 .products_img {
	margin-bottom: 20px;
}
.products_block02 .products_img img {
	width: 100%;
	height: auto;
}
.products_block02 h3 {
	font-size: 20px;
	font-weight: bold;
	color: #0080C8;
	margin-bottom: 20px;
	background: url(/common/svg/ico_arw01.svg) no-repeat right center;
	display: inline-block;
	padding-right: 50px;
}
.products_block02 .products_in a {
	display: block;
	opacity: 1;
	transition: opacity .2s;
}
.products_block02 .products_in a:hover {
	opacity: 0.7;
}
.products_block02 .products_in a .products_img + p {
	font-size: 15px;
}
.products_block02 .products_in a h3 {
	position: relative;
}
.products_block02 .products_in a h3::before {
	content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background-color: #0080C8;
  transition: width .2s;
}
.products_block02 .products_in a:hover h3::before {
	width: 100%;
}
#projects {
	position: relative;
	margin-bottom: 220px;
}
#projects::before {
	content: "";
	width: 400px;
	height: 24px;
	background-color: #0080C8;
	position: absolute;
	top: -24px;
	left: 0;
}
.projects_bg {
	width: calc(100% + 40px);
	height: 480px;
	margin: 0 -20px;
	display: flex;
	overflow: hidden;
}
.projects_bg_in {
	width: 6160px;
	height: 480px;
	display: flex;
	animation-name: animation;
  animation-duration: 50s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}
@keyframes animation {
  0%{
    transform: translateX(0);
  }
  100%{
    transform: translateX(-3080px);
  }
}
.projects_bg_item {
	width: 3080px;
	height: 480px;
	display: flex;
}
.projects_bg_item img {
	width: 770px;
	height: auto;
}
#projects .section_in {
	position: absolute;
	top: 250px;
	left: 50%;
}
.projects_info {
	background-color: #fff;
  width: calc(100% - 200px);
  padding: 50px 120px 50px 80px;
}
.projects_info .section_tit01 h2 {
	font-size: 44px;
}
.col01 {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}
.col01 .col01_item {
	width: 32.7%;
	background: #F0F2F5 url(/common/svg/ico_arw01.svg) no-repeat 91% 85%;
}
.col01 .col01_item a {
	display: block;
	padding: 30px 30px 60px;
	opacity: 1;
	transition: opacity .2s;
}
.col01 .col01_item a:hover {
	opacity: 0.7;
}
.col01 .col01_item p {
	font-size: 14px;
	line-height: 2;
}
.col01 .col01_item h3 {
	display: inline-block;
	position: relative;
	color: #0080C8;
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 10px;
}
.col01 .col01_item h3::after {
	content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background-color: #0080C8;
  transition: width .2s;
}
.col01 .col01_item a:hover h3::after {
	width: 100%;
}