@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/

@import 'https://unpkg.com/@acab/reset.css';

html,body {
    font-size: 14px;
    color: #222;
    margin: 0 !important;
}

@media screen and (min-width: 768px) {
    html,body {
        font-size: 16px;
        color: #222;
    }
} 
body {
    line-height: 1.6;
}

.body .article,
.article p,
.article h2, 
.article h3, 
.article h4, 
.article h5, 
.article h6{
  margin-bottom: 0;
}

.article dd{
  margin-left: 0;
}

.entry-content,
.entry-content>* {
  margin-top: 0;
  margin-bottom: 0;
}

.type-members .entry-content{
  position: sticky;
  top: 0;
}

#archive-title.archive-title,
#list.front-page-type-index{
  display: none;
}

img {
    vertical-align: bottom;
}

a{
  color: #222;
}

a:hover{
  color: #222;
}

.content{
  margin: 0;
  background-color: #fff;
}
.content-in.wrap{
  width: auto;
}
.main{
  padding: 0;
  border: none;
}
main.main, div.sidebar {
  padding: 0;
  margin: 0;
  border-width: 0;
}


.date-tags{
  display: none;
}


/* common */
.pc-only{
  display: none;
}

@media screen and (min-width: 768px) {
  .pc-only{
      display: block;
  }
  .sp-only{
      display: none;
  }
} 
.middev-only{
  display: none;
}
@media screen and (min-width: 768px) and (max-width: 1120px) {
  .middev-only {
    display: block;
  }
}

.content-main {
  /* margin-top: 45vh; */
  background-color: #fff;
  padding: 100px 0 0;
}

@media screen and (min-width: 768px) {
  .content-main {
      /* margin-top: 100vh; */
      padding: 150px 0 0;
  }
} 

.inner {
  width: 90%;
  max-width: 1120px;
  margin: 0 auto;
}

.blue {
  color: #02ADD1;
}


/* btn */
.more-btn-wrap{
  text-align: center;
}

@media screen and (min-width: 768px) {
.more-btn-wrap{
  text-align: left;
}
} 
.blue-btn {
  color: #02ADD1;
  border: 1px solid #02ADD1;
  text-decoration: none;
  padding: 0.6em 3em 0.6em 1.5em;
  font-weight: 600;
  position: relative;
  display: inline-block;
  margin-top: 10px;
}

.blue-btn:nth-child(2n){
  margin-top: 25px;
}

.blue-btn::before {
  content: "";
  display: block;
  width: 2.5em;
  height: 1px;
  background-color: #02ADD1;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  transition: 0.5s;
}

.blue-btn:hover{
  color: #02ADD1;
}

.blue-btn:hover::before {
  transform: translateX(50%);
}

/* font */
.fz-18px{
  font-size: initial;
}

h2 {
  font-size: 2rem;
  margin-bottom: 50px;
  line-height: 1.2;
}


h2.section-title {
  color: #02ADD1;
  font-weight: 600;
  font-size: 1rem;
  text-align: center;
}

h2.section-title span {
  font-size: 4rem;
  font-family: "Roboto", system-ui;
  font-weight: 700;
}


.article h3{
    border-left: none;
    border-right: none;
    border-top:none;
    border-bottom: none;
    font-size: initial;
    padding: 0;
}


h3.page-section-title{
  color: #02ADD1;
  font-size: 8vw;
  margin-bottom: 50px;
  line-height: 1.2;
}

@media screen and (min-width: 768px) {
  h3.page-section-title{
      font-size: 60px;
      margin-bottom: 50px;
    }
  
} 

h3.page-section-title span{
  display: block;
  font-size: initial;
  line-height: 1;
  padding-left: 0.25em;
}


.article h4{
  border-top: none;
  border-bottom: none;  
  margin-bottom: 0;
  font-size: 20px;
  padding: 10px 0;
}


.roboto {
  font-family: "Roboto", system-ui;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  .row {
      display: flex;
      justify-content: space-between;
  }
} 




/* header */
.header div.header-in{
  display: none;
}

.content-only .header-container{
  display: block;
}


.header-container {
    height: 60px;
    width: 100%;
    position: fixed;
    top: 0;
    z-index: 99;
    background-color: transparent;
}

@media screen and (min-width: 768px) {
.header-container {
        height: 80px;
    }
} 

.header_inner {
    padding: 5%;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}

@media screen and (min-width: 768px) {
    .header_inner {
        padding: 2.5% 5% 0;
    }
} 

.header_logo{
    height: 37px;
}
@media screen and (min-width: 768px) {
  .header_logo{
    height: 45px;
}
} 

/* 
.g-nav {
    width: 100%;
    height: 100vh;
    margin-left: auto;
    display: flex;
    flex-direction: column;
    transition: 0.3s;
    box-shadow: -5px 0 10px rgba(0, 0, 0, 0.1);
}
@media screen and (min-width: 768px) {
  .g-nav {
    width: 70%;
    box-shadow: -5px 0 10px rgba(0, 0, 0, 0.1);
}
}  */

.menu {
    padding: 100px 10% 0;
    align-items: center;
    font-size: 2rem;
    text-align: left;
    font-weight: 600;
}

.menu-list {
    width: 100%;
    display: flex;
    justify-content: left;
    align-items: center;
    line-height: 1.8;
    margin: 10px 0;
}

.menu-list a {
    text-decoration: none;
    border-bottom: 2px solid transparent;
    transition: 0.3s;
}

.menu-list a:hover {
    border-bottom: 2px solid #222;
}


.g-nav {
    position: fixed;
    top: 0;
    right: -100%;
    width: 100%;
    height: 100vh;
    display: flex;
    flex-direction: column;
    color: #222;
    background-color: rgba(255, 255, 255, 1);
    transition: .3s;
}

@media screen and (min-width: 768px) {
  .g-nav {
    width: 45%;
    box-shadow: -5px 0 10px rgba(0, 0, 0, 0.1);
}
} 

@media screen and (min-width: 1120px) {
  .g-nav {
    width: 30%;
}
} 

.menu-btn {
    width: 32px;
    height: 35px;
    position: relative;
    z-index: 10;
}

@media screen and (min-width: 768px) {
    .menu-btn {
        width: 38px;
        height: 40px;
    }
} 

/***** 真ん中のバーガー線 *****/
.btn-line {
  display: block;
  position: relative;
  width: 100%;
  height: 3px;
  background-color: #fff; 
  transition: .2s;
  color: #FFF;
  margin-bottom: 3px;
  margin-bottom: 4px;
  /* width: 35px; */
}

.single-post .btn-line {
  background-color: #222; 
  color: #222;
}

@media screen and (min-width: 768px) {
  .btn-line {
      height: 3px;
      margin-bottom: 10px;
  }
} 

/****** 上下のバーガー線 *****/
.btn-line::before,
.btn-line::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #fff;
  transition: 0.5s;
}

.single-post .btn-line::before,
.single-post .btn-line::after {
  background-color: #222;
}

.btn-text{
  display: block;
  text-align: center;
  color: #fff;
  font-size: 12px;
  padding-top: 12px;
}

.single-post .btn-text{
  color: #222;
}

.btn-line::before {
  transform: translateY(10px);
}

.btn-line::after {
  transform: translateY(20px);
}
@media screen and (min-width: 768px) {
  .btn-text{
    color: #fff;
    font-size: 14px;
  }
  .btn-line::before {
      transform: translateY(12px);
  }
  
  .btn-line::after {
      transform: translateY(24px);
  }
} 

.btn-line.black,
.btn-line.black::before,
.btn-line.black::after {
  background-color: #222;
  /* color: #222; */
}

.btn-line.white,
.btn-line.white::before,
.btn-line.white::after {
  background-color: #fff;
  /* color: #fff; */
}

.btn-text.black {
  color: #222;
  display: block;
  text-align: center;
}

.btn-text.white {
  color: #fff;
} 

/* .single-post .btn-line.white,
.single-post .btn-line.white::before,
.single-post .btn-line.white::after {
  background-color: #222;
} */

.single-post .btn-text.white {
  color: #fff;
} 

.g-nav.open {
  right: 0;
  top: 0;
}

/***** メニューオープン時 *****/
.btn-line.open {
  background-color: transparent;
}

.btn-line.open::before,
.btn-line.open::after {
  content: "";
  background-color: #333;
  transition: all 0.3s ease;
}

.btn-line.open::before {
  transform: rotate(45deg);
}

.btn-line.open::after {
  transform: rotate(-45deg);
}


.btn-text_close {
  display: none;
  text-align: center;
}

.btn-text.open {
  display: none;
}

.btn-text_close.open {
  display: block;
  color: #222;
  font-size: 12px;
  padding-top: 3px;
}

@media screen and (min-width: 768px) {
  .btn-text_close.open {
    font-size: 14px;
  }
} 

/* fv */
.fixed {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  /* height: 100vh; */
  z-index: -1000;
}

.top-fv {
  position: relative;
  height: auto;
  width: 100%;
  background-color: rgba(0, 0, 0,1);

}

@media screen and (min-width: 768px) {
  .top-fv {
    position: relative;
    height: 100vh;
    width: auto;
  background: linear-gradient(to bottom,  rgba(0,0,0,1) 0%,rgba(0,0,0,1) 1%,rgba(0,0,0,1) 50%,rgba(0,0,0,0.8) 100%); 
  }
} 

.top-fv .key-vis img,
.top-fv .key-vis video{
  /* position: absolute;
  top: unset;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);  */
  height: 100%;
  width: 100%;
  object-fit: cover;
}
@media screen and (min-width: 768px) {
  .top-fv .key-vis img,
  .top-fv .key-vis video{
    position: absolute;
    top: 110px;
    left: 50%;
    bottom: unset;
    transform: translateX(-50%); 
    /* height: 100%; */
  }
} 
@media screen and (min-width: 1120px) {
  .top-fv .key-vis img,
  .top-fv .key-vis video{
    position: absolute;
    top: 50%;
    left: 50%;
    bottom: unset;
    transform: translate(-50%, -50%); 
    height: 100%;
    width: 100%;
    object-fit: cover;
  }
} 

div.key-message {
  color: #222;
  position: absolute;
  top: 55%;
  left: 50%;
  transform: translateX(-50%);
  background-color: rgba(255, 255, 255, 0.6);
  /* text-align: center; */
  padding: 3vw;
}
.key-message img{
  margin: 0 auto;
}

.key-message .key-text{
  color: #222;
  font-size: 9vw;
  font-family: "Shippori Antique", sans-serif;
  font-weight: 400;
  font-style: normal;
}
@media screen and (min-width: 1120px) {
  /* h2.key-message {
    color: #fff;
    position: absolute;
    top: 65vh;
    left: 15%;
    font-size: 5rem;
    font-family: "Shippori Antique", sans-serif;
    font-weight: 400;
    font-style: normal;
    transform: translateX(0);
} */
  div.key-message {
  color: #222;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: rgba(255, 255, 255, 0.6);
  text-align: center;
  padding: 0.5em 0.8em;
}
.key-message img{
  margin: 50px auto 40px;
}

.key-message .key-text{
  color: #222;
  font-size: 5rem;
  font-family: "Shippori Antique", sans-serif;
  font-weight: 400;
  font-style: normal;
}
} 


/* 下層FV */
.page-fv {
  position: relative;
  height: 45vh;
  width: auto;
}

.page-fv img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); 
}
@media screen and (min-width: 768px) {
  .page-fv {
      height: 85vh;
      position: relative; 
      overflow: hidden;   
  }
} 

.page-fv::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.65); 
  z-index: 1;
}

.page-fv .key-vis {
  position: absolute;
  page: 0;
  height: 85vh;
  width: auto;
  max-inline-size: none;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.article-header h1.entry-title,
.fv-wrapper h1.page-title {
  color: #02ADD1;
  position: absolute;
  top: 28vw;
  font-size: 13vw;
  font-family: "Roboto", system-ui;
  font-weight: 700;
  z-index: 1;
}

.entry-title{
  padding: 0;
}

@media screen and (min-width: 768px) {
  .article-header h1.entry-title,
  .fv-wrapper h1.page-title  {
      top: 50%;
      font-size: 7rem;
      transform: translateY(-50%);
  }
} 

.article-header h1.entry-title  span,
.fv-wrapper h1.page-title span {
  font-family: sans-serif;
  font-weight: 600;
  font-size: 4vw;
  display: block;
}

@media screen and (min-width: 768px) {
  .article-header h1.entry-title  span,
  .fv-wrapper h1.page-title span {
    font-size: 2rem;
    display: block;
  }
} 

.page-fv.no-img {
  background: none;
  background-color: #222;
  min-height: 300px;
  height: 45vh;
}

@media screen and (min-width: 768px) {
  .page-fv.no-img {
    min-height: 400px;
    height: 45vh;
  }
} 

.page-fv.no-img h2.page-title {
  transform: none;
}


.h2-smaller {
  font-size: 8vw;
}

.h2-larger {
  font-size: 1.5em;
}
@media screen and (min-width: 768px) {

  .h2-smaller {
      font-size: 4rem;
  }
  .h2-larger {
      font-size: 6rem;
  }
} 

.sp-vertical-rl{
  writing-mode: vertical-rl;
  text-orientation: mixed;
}

@media screen and (min-width: 768px) {
  .sp-vertical-rl{
      writing-mode: horizontal-tb;
      text-orientation: initial;
  }
} 

.message-wrap .row {
  align-items: end;
}

.message-wrap .message {
  line-height: 2;
  font-weight: 600;
  font-size: 4vw;
  padding-bottom: 50px;
}

.message-wrap .message .message-title {
  font-size: 8vw;
  font-weight: 600;
  color: #02ADD1;
  margin-bottom: 0.5em;
  line-height: 1.3;
}

@media screen and (min-width: 768px) {
  .message-wrap .message {
      font-size: 20px;
  }
  
  .message-wrap .message .message-title {
      font-size: 4.5rem;
      font-weight: 600;
      color: #02ADD1;
      margin-bottom: 0.5em;
  }
} 

.message-wrap .message p {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .message-wrap .message p {
    width: 36em;
  }
} 

.relative {
  position: relative;
}


/* slider */

/* @media screen and (min-width: 768px) {
  .slider {
      padding: 100px 0;
  }
}  */

.top-slider{
  position: relative;
}

/* .top-slider::before{
  content: "";
  background: url("../cocoon-child-master/asset/img/top-whoweare-bg_sp.jpg") center / cover no-repeat;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.4; 
} */

@media screen and (min-width: 768px) {
  /* .top-slider::before{
      background: url("../cocoon-child-master/asset/img/top-whoweare-bg.png") center / cover;
      right: 0;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 750px;
  } */
} 

/* Swiperの基本スタイル */
.swiper-container {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.swiper-wrapper{
  transition-timing-function: linear;
  align-items: center;
}

.swiper-slide {
  /* 中央揃えのためのフレックスボックス */
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  /* width: 300px; */
}

.swiper-slide img {
  display: block;
  max-width: 100%;
  max-height: 100%;
}

@media screen and (min-width: 768px) {
  .swiper-slide img {
      display: block;
      max-width: 100%;
      max-height: 100%;
      transition: all 0.3s ease;
    }
} 

.swiper-button-next, .swiper-button-prev {
  color: #02ADD1 !important;
}

.swiper-slide-vertical {
  transform: scale(0.8) !important;
  margin-right: 0 !important;
  margin-left: -10px;
}

.swiper-slide-lower {
  transform: translateY(20px) !important;
}

@media screen and (min-width: 768px) {
  .swiper-slide-vertical {
    transform: scale(0.8) !important;
    margin-right: 0 !important;
    margin-left: -20px;
  }
  
  .swiper-slide-lower {
    transform: translateY(50px) !important;
  }  
} 

.swiper-container2,
.swiper-container3 {
  position: relative;
  width: 100%;
  /* max-width: 300px; */
  height: 100%;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .swiper-container2 {
      max-width: 600px;
  }
  .swiper-container3 {
    max-width: 800px;
    margin: 0 auto;
}
} 

.swiper-container2 .swiper-wrapper,
.swiper-container3 .swiper-wrapper{
  transition-timing-function: ease-in-out;
}

/* front-page */
/* top-content */

/* 
.top-whoweare {
  padding-bottom: 100px;
} */

@media screen and (min-width: 768px) {
  .top-whoweare {
    padding-bottom: 50px;
  }
} 

.top-whoweare .top-whoweare-inner {
  position: relative;
  margin: 0 auto;
  width: 90vw;
  max-width: 1120px;
}

@media screen and (min-width: 768px) {
  .top-whoweare .top-whoweare-inner {
      margin: 0 auto 0 15%;
      max-width: 1120px;
      width: 90%;
  }
  
} 

.top-whoweare h2.top-whoweare-message {
  color: #222;
  font-size: 9vw;
  font-family: "Shippori Antique", sans-serif;
  font-weight: 400;
  font-style: normal;
  position: relative;
  z-index: 1;
  margin: 0 auto 50px;
}

@media screen and (min-width: 768px) {
  .top-whoweare h2.top-whoweare-message {
      font-size: 5rem;
      margin: 0 0 50px;
  }
} 


.top-whoweare p {
  font-weight: 600;
  line-height: 2;
}

.top-whoweare .more-btn-wrap{
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  margin-top: 50px;
  position: relative;
  z-index: 3;
}

@media screen and (min-width: 768px) {
  .top-whoweare p {
      width: 70%;
  }
} 

.top-services {
  background-color: #EEEEEE;
  padding: 100px 0;
}

.top-services .row{
  display: flex;
  flex-direction: column-reverse;
}
@media screen and (min-width: 768px) {
  .top-services .row{
      display: flex;
      flex-direction: row;
  }
  .top-services .row .top-service-text,
  .top-services .row .top-service-img{
      width: 46%;
  }
} 
.top-service-title {
  font-size: 8vw;
  font-weight: 600;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

@media screen and (min-width: 768px) {
  .top-service-title {
    font-size: 2.5rem;
    font-weight: 600;
    margin-top: 0;
    margin-bottom: 1em;
  }
  
} 
.top-services .row .top-service-text p{
  margin-bottom: 30px;
}

.top-members {
  background: linear-gradient(0deg, #FFF 0 40%, #222 40% 100%);
  padding: 100px 0;
}

.top-members .row{
  align-items: center;
}

.top-members .top-members-left {
  color: #fff;
  text-align: center;
  margin-bottom: 1em;
}

@media screen and (min-width: 768px) {
  .top-members .top-members-left {
    text-align: left;
    margin-bottom: 0;
  }
} 
.top-members .top-members-left .top-member-title{
  font-family: "Shippori Antique", sans-serif;
  font-size: 6vw;
}

.members-slider{
  width: 100%;
}
@media screen and (min-width: 768px) {
  .members-slider{
    width: 50%;
  }
} 

.members-slider a.swiper_slide{
  width: 180px;
  height: auto;
}
.members-slider .hovImgWrap{
  position: relative;
  width: 180px;
  height: auto;
}

.members-slider .hovImgWrap img.img-after {
  position: absolute;
  top: 0;
  left: 0;
  transition: all 0.3s ease;
  max-width: 180px;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}

.members-slider a:hover .hovImgWrap img.img-after{
  opacity: 1;
  visibility: visible;
}

.top-members .more-btn-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 50px;
}

@media screen and (min-width: 768px) {
  .top-members .top-members-left .top-member-title{
      font-size: 2rem;
      line-height: 2;
      text-indent: -0.5em;
  }
  .top-members .more-btn-wrap {
      align-items: flex-start;
  }
} 


.top-news {
  padding-top: 100px;
  padding-bottom: 100px;
  text-align: center;
}

.top-news .more-btn-wrap {
  text-align: center;
}

.top-news .news-wrap {
  margin-bottom: 50px;
}
@media screen and (min-width: 768px) {
  .top-news .news-wrap {
      margin-right: 20px;
      }

  .top-news .news-wrap:last-of-type {
      margin-right: 0;
  }
} 


.news-wrap .hovImgWrap {
  width: 100%;
  height: 100%;
  overflow: hidden;
display: flex;
aspect-ratio: 4 / 2.6;
}

.news-wrap .hovImgWrap img {
  transition: 0.3s ease;
  object-fit: cover;
}

.news-wrap a {
  text-decoration: none;
}

.news-wrap a:hover .hovImgWrap img {
  transform: scale(1.05);
}

.news-wrap .post-date{
  font-size: 14px;
  padding: 0;
  margin: 0;
}

.news-wrap h2.ttl{
  padding: 0;
  font-size: initial; 
  background-color: #fff;
  display: initial;
  margin: 0;
}

.news-wrap:hover .hovImgWrap img {
  transform: scale(1.05);
}

.news-wrap:hover h2.ttl {
  border-bottom: 1px solid #02ADD1;
  margin-bottom: -1px;
}
.news-wrap:hover h2.ttl a {
  color: #02ADD1 ;
}

/* top news relate to wanteldy */
.wantedly-wrap{
  display: flex;
  justify-content: center;
  margin-top: 1em;
  margin-bottom: 50px;
}



.top-recruit {
  background-color: #222;
  color: #fff;
  padding-top: 50px;
}

.top-recruit h2.recruit-title {
  font-size: 11vw;
  margin-bottom: 0;
  font-family: "Shippori Antique", sans-serif;
  font-weight: 400;
  position: relative;
  z-index: 0;
}

.top-recruit h2.recruit-title::before {
  content: '';
  display: block;
  width: 55vw;
  height: 51vw;
  position: absolute;
  top: 0;
  right: -4vw;
  background-image: url('../cocoon-child-master/asset/img/spl03.png');
  background-size: contain; 
  background-position: center; 
  z-index: -1;
}

@media screen and (min-width: 768px) {
  .top-recruit h2.recruit-title {
      font-size: 5rem;
  }
  .top-recruit h2.recruit-title::before {
      width: 350px;
      height: 330px;
      top: -40px;
      left: 25%;
  }
} 

.top-recruit .row .recruit-left {
  padding-top: 50px;
}

.recruit-left .blue-btn{
  margin-top: 30px;
  margin-bottom: 30px;
}

@media screen and (min-width: 768px) {
  .top-recruit .row .recruit-left {
      padding-top: 80px;
      width: 25%;
      text-align: left;
  }
  
  .top-recruit .row .recruit-right {
      width: 75%;
  }
  .recruit-left .blue-btn{
    margin-top: 50px;
  }
  
  
} 





/* news archive */
.top-news .latest-posts-list,
.news-archive-main .news-archive-list {
  flex-wrap: wrap;
  justify-content: flex-start;
}

ol, ul {
  padding-left: 0;
}
.news-wrap {
  height: auto;
  margin-bottom: 50px;
}

@media screen and (min-width: 768px) {
  .news-wrap {
    height: auto;
    width: calc( ( 100% - 40px ) / 3 );
    margin-right: 20px;
    margin-bottom: 100px;
  }
} 

li.news-wrap{
  list-style: none;
}

.news-wrap:nth-child(3n){
  margin-right: 0;
}

#page-news .more-btn {
  text-align: center;
  margin-bottom: 150px;
}

#page-news .more-btn a {
  text-decoration: none;
  border: 1px solid #222;
  text-align: center;
  padding: 0.8em 2em;
  transition: 0.3s;
  font-weight: 600;
}

#page-news .more-btn a:hover {
  color: #02ADD1;
  border: 1px solid #02ADD1;
}

/* ---ends news archive */

/* news single */

.article-wrapper{
  width: 90%;
  max-width: 800px;
  margin: 30vw auto 0;
}
@media screen and (min-width: 768px) {
  .article-wrapper{
    margin: 10% auto 0;
  }
} 

.article-wrapper .single-mainvis{
  margin-bottom: 50px;
}

.article-wrapper .single-mainvis .news-mainvisual-date{
  display: block;
  text-align: right;
  font-size: 0.85em;
}


.article-header h1.entry-title.--news {
  color: #222;
  position: initial;
  font-size: 6vw;
  font-family: "Roboto", system-ui;
  font-weight: 700;
  z-index: 1;
  text-wrap: initial;
  border-bottom: 1px solid #ddd;
  padding-bottom: 0.25em;
}

@media screen and (min-width: 768px) {
  .article-header h1.entry-title.--news  {
      font-size: 2rem;
      transform: none;
  }
} 

.article-header h1.entry-title  span {
  font-size: 4vw;
  display: block;
}

@media screen and (min-width: 768px) {
  .article-header h1.entry-title  span {
    font-family: sans-serif;
    font-weight: 600;
    font-size: 2rem;
    display: block;
  }
} 
.article-nav-wrap{
  margin: 100px 0;
}
.article-nav-wrap .article-paging-navi{
  display: flex;
  justify-content: space-between;
  padding-left: 0;
}
.article-nav-wrap .article-paging-navi li{
  list-style: none;
}
.article-nav-wrap .article-paging-navi li a{
  text-decoration: none;
}
.article-nav-wrap .article-paging-navi li a:hover{
  color: #02ADD1;
  border-bottom: 1px solid #02ADD1;
}
.category-news-post .article-directory-navi{
  text-align: center;
}

/* ---ends news single */

/* page-ceo_message */

.ceo-message-wrap {
  background: linear-gradient(to bottom, #fff 0%, #fff 25%, #f9f9f9 25%, #f9f9f9 100%);
  padding-bottom: 150px;
}

.ceo-message-wrap .section-header{
  align-items: end;
  margin-bottom: 50px;
  display: flex;
  flex-direction: column-reverse;
}

@media screen and (min-width: 768px) {
  .ceo-message-wrap .section-header{
    align-items: end;
    margin-bottom: 50px;
    flex-direction: row;
  }
} 

.ceo-message-wrap .message-title {
  font-family: "Shippori Antique", sans-serif;
  font-size: 5vw;
  white-space: nowrap;
}

@media screen and (min-width: 768px) {
  .ceo-message-wrap .message-title {
      font-size: 2rem;
  }
  .ceo-message-wrap .message-title p{
    margin-left: 1em;
  }
} 

.ceo-message-wrap .ceo-image{
  width: 100%;
}
@media screen and (min-width: 768px) {
  .ceo-message-wrap .ceo-image{
    width: 40%;
  }
} 
.ceo-message-wrap .message-content{
  line-height: 2;
  font-size: 1.15rem;
}

.ceo-message-wrap .message-content .message-name{
  font-weight: 600;
  margin-top: 2em;    
  text-align: right;
}


/* ---ends page-ceo_message */

/* gage-contact */
article#post-158 .entry-content{
  background-color: #fff;
  padding-top: 100px;
}

.ninja-forms-form-wrap .nf-form-fields-required{
  position: relative;
  padding-left: 1em;
}
.ninja-forms-form-wrap .nf-form-fields-required::before{
  content: "*";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding-left: 0.25em;
  color: #e80000;
}

.nf-form-cont{
  width: 90%;
  max-width: 1120px;
  margin: 0 auto;
}

.nf-form-content .list-select-wrap .nf-field-element>div, .nf-form-content input:not([type=button]), .nf-form-content textarea {
  background: #fff !important;
  border: 1px solid #666 !important;
  border-radius: 8px !important;
  box-shadow: none;
  color: #222 !important;
}

.nf-error.field-wrap .nf-field-element:after {
  border-radius: 7px !important;
}

.checkbox-container.label-right .field-wrap {
  display: block !important;
  margin: 0 auto;
  width: 85vw;
}

@media screen and (min-width: 768px) {
  .checkbox-container.label-right .field-wrap {
    width: 65%;
  }
} 

.checkbox-container .nf-field-label #nf-label-field-13{
font-size: 4vw;
}
@media screen and (min-width: 768px) {
  .checkbox-container .nf-field-label #nf-label-field-13{
    font-size: 18px;
    }
} 

.nf-field-container .checkbox-wrap .nf-field-element {
  width: 20px !important;
}

#nf-field-12-wrap .nf-field-label,
#nf-field-13-wrap .nf-field-label{
  text-align: center;
  margin-bottom: 0.5em;
  justify-content: center;
}

.submit-wrap .nf-field-element{
  text-align: center;
  font-size: 2rem;
}


.nf-form-content button, .nf-form-content input[type=button], .nf-form-content input[type=submit]{
  padding: 0.8em 4.5em !important;
  height: auto !important;
  border-radius: 100px !important;
  background: #222 !important;
  color: #fff !important;
}

.nf-form-content button:hover, .nf-form-content input[type=button]:hover, .nf-form-content input[type=submit]:hover {
  background: #02ADD1 !important;
  color: #fff !important;
  border: 1px solid #02ADD1 !important;
  transition: all 0.3s;
}

.recruit-cont-btn-wrap{
  text-align: center;
}

.recruit-contact-btn{
  display: inline-block;
  text-align: center;
  text-decoration: none;
  border: 1px solid #02ADD1;
  color: #02ADD1;
  font-size: 1.5rem;
  padding: 0.35em 1em;
  margin-bottom: 50px;
  margin-left: 5%;
  margin-right: 5%;
  transition: 0.3s;
}

@media screen and (min-width: 768px) {
  .recruit-contact-btn{
    margin-left: 0;
    margin-right: 0;
  }
} 

.recruit-contact-btn:hover {
  color: #02ADD1;
  border-bottom: 4px solid #02ADD1;
  border-right: 4px solid #02ADD1;
  margin-top: -3px;
}

/* 完了メッセージ */
.contact-success-message{
  text-align: center;
  margin-bottom: 100px;
}

.contact-success-message .message-sent{
  font-weight: 600;
  font-size: 2em;
  margin-bottom: 0.5em;
}


/* ---ends page-contact */

/* part-company */
.company{
  padding-top: 50px;
  padding-bottom: 100px;  
}

@media screen and (min-width: 768px) {
  .company .row-right{
    width: 60%;
    max-width: 700px;
  }
}

.company dl dt{
  font-weight: 600;
}

.company dl dd{
  margin-bottom: 20px;
  margin-left: 0;
}

.google-map-container{
  width: 100%;
  height: 300px;
}

@media screen and (min-width: 768px) {
  .google-map-container{
    width: 100%;
    height: 400px;
  }
}

.google-map-container iframe{
  width: 100%;
  height: 100%;
}

/* ---ends part-company */


/* footer */
.footer{
  margin-top: 0;
}

.mobile-footer-menu,
.mobile-footer-menu-buttons {
  display: none;
}

.content-only .footer-container {
  display: block;
  /* content-onlyのfooter-containerがdisplay：noneになってるのでその上書き */
}
.footer-container {
  background-color: #222;
  color: #fff;
  padding: 0 0 50px;
}
.footer-container .to-pagetop{
  text-align: center;
  padding-bottom: 25px;
  margin-bottom: 50px;
  border-bottom: 0.75px solid #fff;
  line-height: 1.2;
}
.footer-container .to-pagetop a{
  color: #FFF;
  text-decoration: none;
  transition: all 0.3s;
  display: block;
  width: 10em;
  margin: 0 auto;
}

.footer-container .to-pagetop a:hover{
  color: #02ADD1;
  font-weight: 600;
}

.footer-container .row {
  align-items: center;
}

#footer-common-content{
  padding-top: 25px;
  border-top: 0.75px solid #fff;
}

small {
  display: block;
  text-align: center;
  margin-top: 50px;
}

.footer-container .left .footer-logo{
  margin-bottom: 50px;
}

.footer-blue-btn{
  font-size: 1.2rem;
  border: 1px solid #fff;
  color: #fff;
  text-decoration: none;
  padding: 0.35em 1em;
  margin-bottom: 20px;
  text-align: center;
  display: inline-block;
  transition: 0.3s;
}

.footer-blue-btn:hover{
  border: 1px solid #02ADD1;
  color: #02ADD1;
}
.footer-container .right{
  margin-top: 50px;
}
@media screen and (min-width: 768px) {
.footer-container .right{
      margin-top: 0;
      text-align: center;
  }
} 

.footer-container .right .site-info{
  font-size: 0.85rem; 
  display: flex;
  flex-direction: column;
}

.footer-container .right .site-info a{
  color: #fff;
  margin-bottom: 1em;
  text-decoration: none;
  transition: 0.3s;
  width: 10em;
}

@media screen and (min-width: 768px) {
  .footer-container .right .site-info a{
    width: auto;
  }
  } 

.footer-container .right .site-info a:hover{
  color: #02ADD1;
  text-decoration: underline;
}

.footer-container .right .site-info a:first-child{
  /* margin-right: 1.5em; */
}

/* 初期状態で全画面を黒くする */
#black-screen {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: black;
  z-index: 9999;
  opacity: 1;
  transition: ease 0.8s;
  /* padding-top: 40vh; */
}
#black-screen div.key-message {
  background-color: transparent;
  margin-top: calc(100vw / 1.78);
  position: static;
  transform: translate(0, 0);
  padding: 0;
}

#black-screen .black-screen-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 120px;
  display: flex;
  transform: translate(-50%, -50%);
  justify-content: center;
}
#black-screen .black-screen-logo img{
  height: 100%;
  width: auto;
}


#black-screen h2.key-text{
  margin: 0 auto;
    padding-top: 100px;
    font-size: 9vw;
    color: #fff;
}

@media screen and (min-width: 768px) {
  #black-screen div.key-message {
    background-color: transparent;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: 0;
    transform: translate(-50%, -50%);
  }

  #black-screen h2.key-text{
    margin: 0 auto 50px;
      padding-top: 0;
      font-size: 5rem;
      color: #fff;
  }
} 

.square-logo{
  position: absolute;
  top: 25%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 30%;
  max-width: 300px;
  opacity: 0.15;
}



.marquee {
  width: 100%;
  overflow: hidden;
  font-family: "Roboto", system-ui;
  font-weight: 700;
  font-size: 30vw;
  color: #F9F9F9;
  white-space: nowrap;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .marquee {
    font-size: 260px;
  }
} 

/* screen text banner */
.marquee:before {
  content: 'We are FA Project! We Challenge. We Grow. We are FA Project! We Challenge. We Grow. We are FA Project! We Challenge. We Grow. We are FA Project! We Challenge. We Grow. ';
  display: inline-block;
  animation: slide 120s linear infinite;
  line-height: 1;
}
@keyframes slide {
  0% {
    transform: translateX(1%);
  }
  100% {
    transform: translateX(-99%);
  }
}

/* 404 */
.inner.page-404{
  padding-bottom: 150px;
  text-align: center;
}

.inner.page-404 a.back-to-top{
  margin-top: 50px;
  text-align: center;
  display: inline-block;
  transition: all 0.3s ease;
}

.inner.page-404 a.back-to-top:hover{
  color: #02ADD1;
}



ここにコードを書く*/

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}

