@charset "utf-8";

/* ---------------------------------------------------
   File: index.css
   Version: 1.0.0
   Update: 2024-05-20
   Author: https://flowlab.co.jp

   (c)2007-2024 Flowlab inc. All Rights Reserved.
--------------------------------------------------- */



/* =======================================================================================================================

   WIDE DESKTOP LAYOUT

======================================================================================================================= */

/* ====================================================
		Header
==================================================== */
#gHeader {
	position: absolute;
  z-index: 1;
}
  
/* ====================================================
  container
==================================================== */
#container {
  overflow: hidden;
}
  
/* ====================================================
		Contents
==================================================== */
/* -------------------------------
		Title
------------------------------- */
#about h2,
#weblab h2 {
  color: #dbdfe2;
  font-size: 6.6rem;
  font-family: "century-gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 1;
  padding-bottom: 50px;
}




/* ====================================================
		Main Visual
==================================================== */
/* -------------------------------
		Layout
------------------------------- */
#mainVisual {
  width: 100%;
  height: 100vh;
  position: relative;
}
#mainVisual div {
  position: relative;
  top: 80%;
  left: 100px;
  transform: translateY(-80%);
}

/* -------------------------------
		Mission Text
------------------------------- */
#mainVisual h2 {
  font-family: 'Noto Sans JP',sans-serif;
  font-size: 6rem;
  font-weight: 500;
  font-feature-settings: "palt";
	-moz-font-feature-settings: "palt";
  letter-spacing: 0.15em;
  line-height: 1;
}
#mainVisual h2 span {
  color: #4d4d4d;
  font-size: 4rem;
  margin: 0 0.3em 0 0.2em;
  display: inline;
}

/* -------------------------------
		Lead Text
------------------------------- */
#mainVisual p {
  font-family: "zen-kaku-gothic-new", sans-serif;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 2.8;
}

/* -------------------------------
		Scroll Down
------------------------------- */
#mainVisual .scrolldown {
  height: 100px;
  position: absolute;
  top: auto;
  left: auto;
  transform: none;
  right: 50px;
  bottom: 50px;
}
#mainVisual .scrolldown span {
  font-size: 1.2rem;
  font-family: "century-gothic", sans-serif;
  line-height: 1;
  -webkit-writing-mode: vertical-rl;
  -moz-writing-mode: vertical-rl;
  -ms-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  white-space: nowrap;
}
#mainVisual .scrolldown::after {
	content: '';
  width: 1px;
	height: 50px;
  background: #dbdfe2;
	position: absolute;
	top: 0;
  left: 40%;
	animation: pathmove 1.4s ease-in-out infinite;
	opacity: 0;
}
@keyframes pathmove {
	0% {
		height: 0;
		top: 50px;
		opacity: 0;
	}
	30% {
		height: 50px;
		opacity: 1;
	}
	100% {
		height: 0;
		top: 100px;
		opacity: 0;
	}
}





/* ====================================================
		Works
==================================================== */
/* -------------------------------
		Layout
------------------------------- */
#works {
  padding: 100px 0 200px;
}

/* -------------------------------
		List
------------------------------- */
#works .slider li a {
  display: block;
}


/* -------------------------------
		Image
------------------------------- */
#works .slider li .image {
  position: relative;
}
#works .slider .slick-slide {
  margin: 0 30px;
}

/* Border */
#works .slider li .image::before {
  content: '';
  width: calc(100% - 6px);
  height: calc(100% - 6px);
  border: 3px solid #dbdfe2;
  border-radius: 14px;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
}

/* Caegory */
#works .slider li .image span {
  font-size: 1rem;
  background: #dbdfe2;
  border-radius: 0 14px 0 14px;
  display: inline-block;
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 5px 15px;
}

/* Image */
#works .slider li .image img {
  width: 100%;
  height: auto;
  border-radius: 14px;
}

/* Name */
#works .slider li .name {
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  padding: 20px 10px;
}

/* -------------------------------
		Button
------------------------------- */
#works .btn_normal {
  text-align: center;
  padding-top: 80px;
}




/* ====================================================
		Service
==================================================== */
/* -------------------------------
		Layout
------------------------------- */
#service {
  padding-bottom: 200px;
}

/* -------------------------------
		Title
------------------------------- */
#service h2 {
  font-size: 4.4rem;
  padding-bottom: 110px;
}
#service h3 {
  font-family: 'Noto Sans JP',YuGothic,sans-serif;
  font-feature-settings: "palt";
	-moz-font-feature-settings: "palt";
  letter-spacing: 0.1em;
  line-height: 2.4;
  padding-bottom: 40px;
}

/* -------------------------------
		Creative / Promotion
------------------------------- */
#service .flex {
  justify-content: center;
  padding: 150px 0 100px;
}
#service .flex section {
  width: 45%;
}
#service .flex section:first-child {
  padding-right: 10%;
}

/* Image */
#service .flex section .image {
  text-align: center;
  opacity: 0.7;
}
#service .flex section .image img {
  max-width: 440px;
}

/* Title */
#service .flex section h4 {
  font-size: 3.4rem;
  text-align: center;
  padding: 30px 0 40px;
}

/* List */
#service .flex section ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#service .flex section ul li {
  width: 48%;
}
#service .flex section ul li a {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
  padding: 8px 0 8px 16px;
  position: relative;
  display: block;
}
#service .flex section ul li a::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 4px;
  background: #dbdfe2;
  position: absolute;
  top: calc(8px + 0.45em);
  left: 0;
  display: block;
}

/* Button */
#service .btn_normal {
  text-align: center;
}




/* ====================================================
		About
==================================================== */
/* -------------------------------
		Layout
------------------------------- */
#about {
  padding-bottom: 100px;
}
#about div {
  width: 50%;
}

/* -------------------------------
		Text
------------------------------- */
#about p {
  font-size: 2rem;
  font-weight: 500;
}

/* -------------------------------
    Image
------------------------------- */
#about .image {
  width: calc(50% - 50px);
  text-align: right;
  padding-right: 50px;
  opacity: 0.7;
}
#about .image img {
  max-width: 600px;
}

/* -------------------------------
		Button
------------------------------- */
#about .btn_normal {
  text-align: left;
  margin-top: 90px;
}




/* ====================================================
		WEBLAB
==================================================== */
/* -------------------------------
		Layout
------------------------------- */
#weblab {
  padding-bottom: 300px;
}
#weblab ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#weblab ul li {
  width: 30%;
}

/* -------------------------------
		Image
------------------------------- */
#weblab .image img {
  border-radius: 14px;
  display: block;
}

/* -------------------------------
		Title
------------------------------- */
#weblab h2 {
  padding-bottom: 80px;
}
#weblab h3 {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  padding: 30px 0 0 10px;
}

/* Time */
#weblab h3 time {
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
}

/* Category */
#weblab h3 span {
  color: #dbdfe2;
  font-size: 1.1rem;
  line-height: 1.1;
  padding-left: 1em;
}

/* Title */
#weblab h3 strong {
  width: 100%;
  font-size: 1.8rem;
  font-weight: 500;
  display: block;
  padding: 20px 0;
}

/* -------------------------------
		Text
------------------------------- */
#weblab .txt {
  font-size: 1.3rem;
  line-height: 1.8;
  padding: 0 10px;
}
#weblab .txt a {
  font-size: 1.3rem;
}



/* ====================================================
		Other Service
==================================================== */
/* -------------------------------
		Layout
------------------------------- */
#otherServiceContainer {
  padding-bottom: 250px;
}

/* -------------------------------
		FIND OUT
------------------------------- */
#otherServiceContainer li:first-child a {
  text-align: center;
  background: #4d4d4d;
  border-radius: 14px;
  padding: 90px 0;
  display: block;
}
#otherServiceContainer li:first-child a img {
  max-width: 210px;
}





/* =======================================================================================================================

   TABLET

======================================================================================================================= */
@media screen and (min-width: 897px) and (max-width: 1299px) {
  
  /* ====================================================
      Contents
  ==================================================== */
  /* -------------------------------
      Title
  ------------------------------- */
  #about h2,
  #weblab h2 {
    font-size: 4rem;
  }
  
  
  
  
  /* ====================================================
      Main Visual
  ==================================================== */
  /* -------------------------------
      Mission Text
  ------------------------------- */
  #mainVisual h2 {
    font-size: 4rem;
  }
  #mainVisual h2 span {
    font-size: 2.4rem;
  }
  
  /* -------------------------------
      Lead Text
  ------------------------------- */
  #mainVisual p {
    font-size: 1.4rem;
  }
  
  /* -------------------------------
      Scroll Down
  ------------------------------- */
  #mainVisual .scrolldown span {
    font-size: 1.1rem;
  }
  
  
  
  
  /* ====================================================
      Works
  ==================================================== */
  /* Name */
  #works .slider li .name {
    font-size: 1.5rem;
  }
  
  
  
  
  /* ====================================================
      Service
  ==================================================== */
  /* -------------------------------
      Title
  ------------------------------- */
  #service h2 {
    font-size: 3.2rem;
    padding-bottom: 80px;
  }
  #service h3 {
    line-height: 2.2;
  }
  
  /* -------------------------------
      Creative / Promotion
  ------------------------------- */
  /* Title */
  #service .flex section h4 {
    font-size: 2.8rem;
    padding: 30px 0 20px;
  }
  
  /* List */
  #service .flex section ul li a {
    font-size: 1.3rem;
  }
  
  
  
  
  /* ====================================================
      About
  ==================================================== */
  /* -------------------------------
      Layout
  ------------------------------- */
  #about div {
    width: 50%;
  }
  
  /* -------------------------------
      Text
  ------------------------------- */
  #about p {
    font-size: 1.8rem;
  }
  
  /* -------------------------------
      Image
  ------------------------------- */
  #about .image {
    width: 50%;
    padding-right: 0;
  }
  #about .image img {
    width: 100%;
  }
  
  
  
  
  /* ====================================================
      WEBLAB
  ==================================================== */
  /* -------------------------------
      Title
  ------------------------------- */
  /* Title */
  #weblab h3 strong {
    font-size: 1.6rem;
  }
  
  
  
  
  /* ====================================================
      Other Service
  ==================================================== */
  /* -------------------------------
      FIND OUT
  ------------------------------- */
  #otherServiceContainer li:first-child a {
    padding: 60px 0;
  }
  #otherServiceContainer li:first-child a img {
    max-width: 160px;
  }
  
  
  
  
  
  
}







/* =======================================================================================================================

   MOBILE

======================================================================================================================= */
@media screen and (max-width: 896px) {

  /* ====================================================
      Contents
  ==================================================== */
  #main .row {
    padding: 120px 40px 0;
  }
  /* -------------------------------
      Title
  ------------------------------- */
  #about h2,
  #weblab h2 {
    font-size: 2.4rem;
    padding-bottom: 30px;
  }
  
  
  
  
  /* ====================================================
      Main Visual
  ==================================================== */
  /* -------------------------------
      Layout
  ------------------------------- */
  #mainVisual div {
    width: calc(100% - 50px);
    top: 70%;
    left: 30px;
    transform: translateY(-70%);
  }
  
  /* -------------------------------
      Mission Text
  ------------------------------- */
  #mainVisual h2 {
    font-size: 2.2rem;
  }
  #mainVisual h2 span {
    font-size: 1.7rem;
  }
  
  /* -------------------------------
      Lead Text
  ------------------------------- */
  #mainVisual p {
    font-size: 1.2rem;
    line-height: 2.4;
  }
  
  /* -------------------------------
      Scroll Down
  ------------------------------- */
  #mainVisual .scrolldown {
    width: auto;
    height: 80px;
    left: auto;
    right: 20px;
    bottom: 60px;
  }
  #mainVisual .scrolldown span {
    font-size: 0.9rem;
  }
  
  
  
  
  /* ====================================================
      Works
  ==================================================== */
  /* -------------------------------
      Layout
  ------------------------------- */
  #works {
    padding: 50px 0 100px;
  }
  
  /* -------------------------------
      Image
  ------------------------------- */
  #works .slider .slick-slide {
    margin: 0 10px;
  }
  
  /* Border */
  #works .slider li .image::before {
    width: calc(100% - 4px);
    height: calc(100% - 4px);
    border: 2px solid #dbdfe2;
    border-radius: 6px;
  }
  
  /* Caegory */
  #works .slider li .image span {
    border-radius: 0 6px 0 6px;
    padding: 3px 10px;
  }
  
  /* Image */
  #works .slider li .image img {
    border-radius: 6px;
  }
  
  /* Name */
  #works .slider li .name {
    font-size: 1.4rem;
    padding: 20px 0 10px 0;
  }
  
  
  
  
  /* ====================================================
      Service
  ==================================================== */
  /* -------------------------------
      Layout
  ------------------------------- */
  #service {
    padding-bottom: 100px;
  }
  
  /* -------------------------------
      Title
  ------------------------------- */
  #service h2 {
    font-size: 2rem;
    line-height: 1.6;
    padding-bottom: 50px;
  }
  #service h3 {
    line-height: 2;
    padding-bottom: 20px;
  }
  
  /* -------------------------------
      Creative / Promotion
  ------------------------------- */
  #service .flex {
    padding: 50px 0 60px;
  }
  #service .flex section {
    width: 100%;
  }
  #service .flex section:first-child {
    padding-right: 0;
    padding-bottom: 40px;
  }
  
  /* Image */
  #service .flex section .image img {
    width: 100%;
    max-width: 240px;
  }
  
  /* Title */
  #service .flex section h4 {
    font-size: 2rem;
    padding: 10px 0;
  }
  
  /* List */
  #service .flex section ul li {
    width: 100%;
  }
  #service .flex section ul li a {
    font-size: 1.2rem;
    padding: 4px 0 4px 10px;
  }
  #service .flex section ul li a::before {
    width: 4px;
    height: 4px;
     border-radius: 2px;
    top: calc(4px + 0.45em);
  }
  
  
  
  
  /* ====================================================
      About
  ==================================================== */
  /* -------------------------------
      Layout
  ------------------------------- */
  #about div {
    width: 100%;
    order: 2;
  }
  
  /* -------------------------------
      Text
  ------------------------------- */
  #about p {
    font-size: 1.4rem;
  }
  
  /* -------------------------------
      Image
  ------------------------------- */
  #about .image {
    width: 100%;
    text-align: center;
    padding-right: 0;
    padding-bottom: 20px;
    order: 1;
  }
  #about .image img {
    width: 100%;
    max-width: 240px;
  }
  
  /* -------------------------------
      Button
  ------------------------------- */
  #about .btn_normal {
    text-align: center;
    margin-top: 30px;
  }
  
  
  
  
  /* ====================================================
      WEBLAB
  ==================================================== */
  /* -------------------------------
      Layout
  ------------------------------- */
  #weblab {
    padding-bottom: 100px!important;
  }
  #weblab ul li {
    width: 100%;
    padding-bottom: 40px;
  }
  
  /* -------------------------------
      Image
  ------------------------------- */
  #weblab .image img {
    width: 100%;
    max-width: 100%;
    border-radius: 6px;
  }
  
  /* -------------------------------
      Title
  ------------------------------- */
  #weblab h2 {
    padding-bottom: 50px;
  }
  #weblab h3 {
    padding: 20px 0 0 0;
  }
  
  /* Time */
  #weblab h3 time {
    font-size: 1rem;
  }
  
  /* Category */
  #weblab h3 span {
    font-size: 1rem;
  }
  
  /* Title */
  #weblab h3 strong {
    font-size: 1.4rem;
    padding: 10px 0;
  }
  
  /* -------------------------------
      Text
  ------------------------------- */
  #weblab .txt {
    font-size: 1.2rem;
    line-height: 1.6;
    padding: 0;
  }
  
  
  
  
  /* ====================================================
      Other Service
  ==================================================== */
  /* -------------------------------
      Layout
  ------------------------------- */
  #main #otherServiceContainer {
    padding: 100px 20px 150px;
  }
  
  /* -------------------------------
      FIND OUT
  ------------------------------- */
  #otherServiceContainer li:first-child a {
    border-radius: 6px;
    padding: 40px 0 35px;
  }
  #otherServiceContainer li:first-child a img {
    max-width: 120px;
  }
  
  
  
  
  
}