@charset "UTF-8";
/* ------------------------------ */
/* 共通 */
/* ------------------------------ */
/* * {
   box-sizing: border-box;
} */
body {
   margin: 0;
   padding: 0;
   font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "Helvetica Neue", Helvetica, Arial, sans-serif;
   background-color: #e6e6e6;
   color: #333;
}
a {	
   text-decoration: none;
   color: #333;
}
 ul {
   padding: 0;
   margin: 0;
 }
 li {
   list-style-type: none;
 }

 .title{
   font-size: 24px;
   font-weight: bold;
   text-align: center;
   padding-top:90px;
 }

 .white{
   color: #fff;
 }
 
/* ------------------------------ */
/* Header */
/* ------------------------------ */
header {
   position: fixed;
   z-index: 100;
   top: 0;
   width: 100%;
   height: 80px;
   max-height: 100%;
   background-color: rgba(255, 255, 255, 0.9);
   font-size: 16px;
   font-size: clamp(12px, 1vw, 18px);

}
.header-flex{
   margin:0 3em;
   display: flex;
   align-items: center;
   white-space: nowrap
}
/*------------ logo  ------------*/
 .logo{
   display: flex;
   align-items: center;
 }
 .logo-img {
   padding: 10px 20px;
   width: 200px;
 }
 h1 {
   margin: 10px 10px; 
   padding: 0;
   font-size: 15px;
}
/*------------ menu  ------------*/

.nav-sp{
   display: none;
 }

 .nav-pc {
   display: inline;
   margin: 0 1.5em 0 auto;
 }
 nav ul {
   display: flex;
 }
 nav ul li a {
   padding: 0 1.5em;
   list-style: none;
 }
 .btn {
   color: #fff;
   background: #FF4E24;
   padding: 10px 40px;
   align-items: center;
   border-radius: 20px;
 }

/* ------------------------------ */
/* Hero */
/* ------------------------------ */
.hero-img{
   width: 100%;
   max-height: 700px;
   object-fit: cover;
}
/* ------------------------------ */
/* フォレッジを知る */
/* ------------------------------ */
.about{
   margin:0px auto 90px auto;
}
.about-wrapper{
   display: flex;
   justify-content: space-between;
   max-width: 1200px;
   width: 100%;
   margin:90px auto 0 auto;
}
.about-item{
   max-width: 400px;
   width: 33%;
   position: relative;
   margin:10px;
}
.about-subtitle{
   position: absolute;
   top:60%;
   z-index: 10;
   background-color:#FF4E24;
   color: #fff;
   font-weight: bold;
   font-size: 18px;
   width: 80%;
   padding:4%;
}
.about-img{
   width: 100%;
   height: 300px;
   object-fit: cover;
}
.about-box{
   background-color: #fff;
   box-shadow: 10px 10px 25px -10px rgba(0,0,0,0.5);
}
.about-textbox{
   width: 100%;
   align-items: center;
   max-height: 100%;
   height: 120px;
   padding-top:10%;
}
.about-text-main{
   font-size: 14px;
   width: 90%;
   margin:10px auto;
   padding:10px auto;
}
.about-text-sub{
   font-size: 12px;
   width: 90%;
   margin:10px auto;
}
/* ------------------------------ */
/* シゴトを知る */
/* ------------------------------ */
.job{
   background-color: #FFEFDF;
   padding-bottom: 90px;
}

.job-wrapper{
   display: flex;
   flex-wrap: wrap;
   justify-content: space-between;
   align-content: flex-start;
   max-width: 1200px;
   width: 100%;
   margin:90px auto 0 auto;
}
.job-item{
   max-width: 400px;
   width: 100%;
   margin-bottom: 50px;
   position: relative;
   text-align: center;
}

.job-img{
   height: 100%;
   max-height: 280px;
   object-fit: cover;
   padding:0;
}

.job-title{
   max-width: 400px;
   width: 100%;
   font-weight: bold;
   font-size: 18px;
   margin-top: 0;
   position: absolute;
   top:85%;
   margin:0 auto;
}

/* ------------------------------ */
/* ヒトを知る */
/* ------------------------------ */
.people{
   padding:90px auto;
   background-image: url(img/poeple-background.png);
   background-size:  cover;
   width: 100%;
}
.people-content{
   display: flex;
   flex-direction: column;
}
.people-wrapper{
   display: flex;
   justify-content: space-between;
   max-width: 1200px;
   width: 100%;
   margin:90px auto 0px auto;
   padding-bottom: 160px;
}
.people-item{
   max-width: 360px;
   width: 100%;
}
.people-img{
   max-width: 380px;
   width: 100%;
   height: 100%;
   max-height: 400px;
   object-fit: cover;
   padding:0;
}
.people-textbox{
   padding:5px 10px;
}
.people-subtitle{
   font-size: 18px;
}
.detail{
   margin:0 auto 90px auto;
}
.detail-btn {
   color: #fff;
   background: #FF4E24;
   padding: 15px 100px;
   align-items: center;
   border-radius: 50px;
   margin:50px auto;
 }
/* ------------------------------ */
/* カンキョウを知る */
/* ------------------------------ */
 .office{
   padding:90px auto;
   background-image: url(img/office.png);
   background-size:  cover;
   width: 100%;
   height: 700px;
   max-height: 100%;
   position: relative;
 }
 .office-box{
   background-color: #fff;
   border-radius: 10px 0 0 10px;
   width: 60%;
   position: absolute;
   right: 0;
   bottom: -20%;
   z-index: 20;
   display: flex;
   flex-direction: column;
   padding-left:50px;
 }
 .office-title{
   font-size: 18px;
 }
 .office-text{
   padding-bottom: 50px;
 }
/* ------------------------------ */
/* ニュース */
/* ------------------------------ */
.news{
   padding-top: 100px;
   background-color: #FFE4DD;
   display: flex;
   flex-direction: column;
}
.news-type-yellow{
   background-color: #FFCD26;
   text-align: center;
   font-size: 12px;
}
.news-type-orange{
   background-color: #FF9A24;
   text-align: center;
   font-size: 12px;
}
dl{
  padding:10px 10px 90px 10px;
  width:100%;
  max-width: 900px;
  margin:50px auto 0 auto;
  color: #4D4D4D;
  
}

dt{
  padding:0 10px 0 0;
  width:120px;
  float:left;
  margin-bottom:7px;
}

dd{
  color:#333;
  margin-bottom:7px;
  font-size: 14px;
}

dl::after {
    content: '';
    display: block;
    clear: both;
}
.news-item{
   border-top: solid 1px #707070;
   padding-top: 5px;
   display: flex;
   align-items: center;
   vertical-align: middle;
}
/* ------------------------------ */
/* 採用情報 */
/* ------------------------------ */
.info{
   padding-bottom: 90px;
   background-color: #fff;
}
.info-wrapper{
   display: flex;
   flex-wrap: wrap;
   justify-content: space-between;
   align-content: flex-start;
   max-width: 850px;
   width: 100%;
   margin:90px auto 0px auto;
}
.info-item{
   max-width: 350px;
   width: 100%;
   margin:20px auto;
   background-color: #fff;
   box-shadow: 10px 10px 25px -10px rgba(0,0,0,0.5);
   display: flex;
   align-items: center;
   justify-content: space-between;
   padding:10px 20px;
   border-radius: 20px;
}
.info-content{
   display: flex;
   flex-direction: column;
   align-items: center;
   padding-right:30px;
   min-width: 0;
}

.info-type-orange{
   color: #fff;
   background: #FF9A24;
   padding: 10px 20px;
   align-items: center;
   border-radius: 50px;
}
/* ------------------------------ */
/* フッター */
/* ------------------------------ */
footer{
   background-color: #212121;
   height: 350px;

}
@media screen and (max-width: 960px) {

   .nav-pc {
      display: none;
     }
   .nav-sp{
      display: inline;
      margin: 0 20px 0 auto;
   }
      
   .nav_toggle {
      display: block;
      position: relative;
      width: 1.75rem;
      height: 1.5rem;
    }
    .nav_toggle i {
      display: block;
      width: 100%;
      height: 2px;
      background-color: #333;
      position: absolute;
      transition: transform .5s, opacity .5s;
    }
    .nav_toggle i:nth-child(1) {
      top: 0;
    }
    .nav_toggle i:nth-child(2) {
      top: 0;
      bottom: 0;
      margin: auto;
    }
    .nav_toggle i:nth-child(3) {
      bottom: 0;
    }
    .nav_toggle.show i:nth-child(1) {
      transform: translateY(10px) rotate(-45deg);
    }
    .nav_toggle.show i:nth-child(2) {
      opacity: 0;
    }
    .nav_toggle.show i:nth-child(3) {
      transform: translateY(-12px) rotate(45deg);
    }
    .nav {
      position: fixed;
      top: 3rem;
      left: 0;
      right: 0;
      bottom: 0;
      padding: 1rem;
      opacity: 0;
      visibility: hidden;
      transition: opacity .5s, visibility .5s;
    }
    .nav.show {
      opacity: 1;
      visibility: visible;
    }

}
@media screen and (max-width:480px) {
   /* ------------------------------ */
   /* Header */
   /* ------------------------------ */
   header {
      height: 60px;
   }
   .header-flex{
      margin:0 10px;
   }
   .nav-sp{
      display: block;
      margin: 0 20px 0 auto;
   }
   /*------------ logo  ------------*/
   .logo-img {
      padding: 5px 10px;
      width: 120px;
   }
   .nav-pc {
     display: none;
    }
    .nav-sp{
      display: block;
     }
   
    .nav_toggle {
      display: block;
      position: relative;
      width: 1.75rem;
      height: 1.5rem;
    }
    .nav_toggle i {
      display: block;
      width: 100%;
      height: 2px;
      background-color: #333;
      position: absolute;
      transition: transform .5s, opacity .5s;
    }
    .nav_toggle i:nth-child(1) {
      top: 0;
    }
    .nav_toggle i:nth-child(2) {
      top: 0;
      bottom: 0;
      margin: auto;
    }
    .nav_toggle i:nth-child(3) {
      bottom: 0;
    }
    .nav_toggle.show i:nth-child(1) {
      transform: translateY(10px) rotate(-45deg);
    }
    .nav_toggle.show i:nth-child(2) {
      opacity: 0;
    }
    .nav_toggle.show i:nth-child(3) {
      transform: translateY(-12px) rotate(45deg);
    }
    .nav {
      position: fixed;
      top: 3rem;
      left: 0;
      right: 0;
      bottom: 0;
      padding: 1rem;
      opacity: 0;
      visibility: hidden;
      transition: opacity .5s, visibility .5s;
    }
    .nav.show {
      opacity: 1;
      visibility: visible;
    }
    /* ------------------------------ */
    /* Hero */
   /* ------------------------------ */
   .hero-img{
      max-width: 100%;
      height: 300px;
   }
   .hero{
      width: 100%;
   }
   /* ------------------------------ */
   /* フォレッジを知る */
   /* ------------------------------ */
   .about-wrapper{
      flex-direction: column;
      /* max-width: 300px; */
      width: 100%;
      /* background-color: orange; */
   }
   .about-item{
      max-width: 300px;
      width: 100%;
      margin:20px auto;
      /* position: relative; */
      /* margin:10px; */
   }
   /* ------------------------------ */
   /* シゴトを知る */
   /* ------------------------------ */

   .job-wrapper{
      flex-direction: column;
      max-width: 300px;
      /* vertical-align: middle; */
   }
   .job-item{
      max-width: 300px;
      margin:0 auto;
   }
   .job-title{
      max-width: 300px;
   }
   .job-img{
      margin:0 auto;
      width: 100%;
   }
   
   /* ------------------------------ */
   /* ヒトを知る */
   /* ------------------------------ */
   .people{
      padding:90px auto;
      
      width: 100%;
   }
   .people-content{
      display: flex;
      flex-direction: column;
   }
   .people-wrapper{
      flex-direction: column;
      vertical-align: middle;
      max-width: 300px;
      width: 100%;
      margin:90px auto 0px auto;
      padding-bottom: 160px;
      /* background-color: yellow; */
   }
   .people-item{
      max-width: 300px;
      width: 100%;
   }
   .detail-btn {
      padding: 10px 60px;
      margin:20px auto;
    }
   /* ------------------------------ */
   /* カンキョウを知る */
   /* ------------------------------ */
   .office{
      padding:60px auto;
      background-size: cover;
      max-width: 100%;
      height: 500px;
   }
   .office-box{
      background-color: #fff;
      border-radius: 10px 0 0 10px;
      width: 80%;
      padding:auto 20px;
      position: absolute;
      right: 0;
      bottom: -20%;
      z-index: 20;
      display: flex;
      flex-direction: column;
      padding-left:20px;
    }
   /* ------------------------------ */
   /* ニュース */
   /* ------------------------------ */
   .news{
      padding-top: 60px;
      background-color: #FFE4DD;
      display: flex;
      flex-direction: column;
   }
   dl{
      padding:10px 10px 90px 10px;
      width:100%;
      max-width: 350px;
    }
   dt{
      flex-direction: row;
    }
    dd{
      margin-left: 0;
      /* background-color: orange; */
    }
   .news-item{
      flex-direction: column;
      align-items: flex-start;
   }
}

/* ------------------------------ */
/* パンクズ */
/* ------------------------------ */

.breadcrumb {
   margin: 0;
   padding: auto 20px;
   list-style: none;
   font-size: 13px;
 }
 
 .breadcrumb li {
   display: inline;/*横に並ぶように*/
   list-style: none;
   /* font-weight: bold;太字 */
 }
 
 .breadcrumb li:after {
   /* >を表示*/
   content: '>';
   padding: 0 0.2em;
   color: #555;
 }
 
 .breadcrumb li:last-child:after {
   content: '';
 }
 
 .breadcrumb li a {
   text-decoration: none;
   color: gray;
 }

 .breadcrumb li a:hover {
   text-decoration: underline;
 }



/* ------------------------------ */
/* 下層ページ 共通*/
/* ------------------------------ */

.page-title{
   display: table-cell;
   width: 100%;
   color: #fff;
   text-align: center;
   vertical-align: middle;
   font-size: 25px;
}

.sub-hero{
   display: table;
   width: 100%;
   margin: 0 auto;
   height: 350px;
   max-height: 100%;
}

.grey-color{
   color: #333;
}
/* ------------------------------ */
/* 社長メッセージ */
/* ------------------------------ */

.message{
   width: 70%;
   margin: 100px auto;
}



.message-title-wrapper{
   display: flex;
   vertical-align: middle;
   justify-content: center;
   padding: 50px auto;
   font-size: 20px;
}

.message-title{
   margin:auto 0px auto 50px;
   width: 50%;
}

.message-text{
   margin-top: 50px;
}

.message-name{
   margin: 20px auto 50px auto;
   text-align: right;
}

/* ------------------------------ */
/* 事業紹介*/
/* ------------------------------ */
.service-wrapper{
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   align-content: space-between;
}

.service-box{
   background-color: #fff;
   width: 80%;
   max-width: 800px;
   margin: 30px;
   /* height: 250px; */
   border-radius: 15px;
   text-align: center;
}

.service-box-title{
   margin-top: 30px;
}
.service-item-wrapper{
   display: flex;
   justify-content:space-between;
   align-items: center;
   vertical-align: middle;
   margin-bottom: 30px;
}
.service-item-top{
   width: 200px;
   padding:20px 50px;
   margin:10px 30px; 
   border-radius: 15px;
   background-color: #FF4E24;
   color: #fff;
   font-weight: bold;
   box-shadow: 10px 10px 25px -10px rgba(0,0,0,0.5);
}
.service-mid-box{
   display: flex;
   justify-content:space-between;
   width: 80%;
   max-width: 800px;
}
.service-sub-box{
   background-color: #fff;
   width: 100%;
   max-width: 380px;
   padding: 30px auto;
   border-radius: 15px;
   text-align: center;
}
.service-item-left-wrapper,
.service-item-right-wrapper{
   display: flex;
   flex-direction: column;
   justify-content:space-between;
   align-items: center;
   vertical-align: middle;
   margin-bottom: 30px;
}
.service-item-left{
   width: 200px;
   padding:20px 50px;
   margin:10px 30px; 
   border-radius: 15px;
   background-color: #FF9A24;
   color: #fff;
   font-weight: bold;
   box-shadow: 10px 10px 25px -10px rgba(0,0,0,0.5);
}
.service-item-right{
   width: 200px;
   padding:20px 50px;
   margin:10px 30px; 
   border-radius: 15px;
   background-color: #FFCD26;
   color: #fff;
   font-weight: bold;
   box-shadow: 10px 10px 25px -10px rgba(0,0,0,0.5);
}
.service-item-right-under{
   width: 200px;
   padding:8px 50px;
   max-height: 64px;
   margin:10px 30px; 
   border-radius: 15px;
   background-color: #FFCD26;
   color: #fff;
   font-weight: bold;
   box-shadow: 10px 10px 25px -10px rgba(0,0,0,0.5);
}
.service-item-bottom-wrapper{
   display: flex;
   /* flex-direction: column; */
   justify-content:space-between;
   align-items: center;
   vertical-align: middle;
   margin-bottom: 30px;
}
.service-item-bottom{
   width: 200px;
   padding:20px 50px;
   margin:10px 30px; 
   border-radius: 15px;
   background-color: #4D4D4D;
   color: #fff;
   font-weight: bold;
   box-shadow: 10px 10px 25px -10px rgba(0,0,0,0.5);
}

/* ------------------------------ */
/* ポップアップ*/
/* ------------------------------ */

.open {
	cursor:pointer; 
}
#popup {
	display: none;
}
.overlay {
	display: none;
}
#popup:checked + .overlay {
	display: block;
	background-color: #00000070;
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
}
.window {
	width: 90vw;
	max-width: 380px;
	height: 200px;
	background-color: #e6e6e6;
	border-radius: 8px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.text {
	font-size: 25px;
	margin: 0;
	color: #333;
}
.close {
	cursor:pointer;
	position: absolute;
	top: 8px;
	right: 8px;
	font-size: 20px;
}

/* ------------------------------ */
/* シゴトを知る まとめ*/
/* ------------------------------ */
.jobpage-main{
   width: 80%;
   display: flex;
   flex-direction: column; 
   margin: 0 auto;
}

.jobpage-top-wrapper{
   display: flex;
   padding-top: 150px;
   padding-bottom: 150px;
}

.jobpage-title-wrapper{
   display: flex;
   flex-direction: column;
   justify-content: center;
   margin-left: 50px;
}
.jobpage-title{
   font-size: 24px;
   font-weight: bold;
   text-align: center;
   padding-bottom: 20px;
}
.jobpage-img{
   width: 500px;
   height: 300px;
}

/* ------------------------------ */
/* 社員インタビュー まとめ*/
/* ------------------------------ */


/* ------------------------------ */
/* 社員インタビュー */
/* ------------------------------ */
.interview{
   background-color: #fff;
   padding-top: 100px;
}

.interview-top-wrapper{
   display: flex;
   justify-content: space-between;
   vertical-align: middle;
   width: 70%;
   margin:0 auto;

}
.interview-top-title{
   width: 60%;
   font-size: 22px;
   font-weight: bold;
   padding-left: 20px;
}
.interview01-img{
   max-width: 400px;
   width: 100%;
   max-height: 500px;
   height: 100%;
   object-fit:cover;
}
.interview02-img{
   max-width: 300px;
   width: 100%;
   max-height: 400px;
   height: 100%;
   object-fit:cover;
}
.interview-subtitle{
   text-align: center;
}
.interview-main-wrapper{
   width: 70%;
   margin:50px auto;
}
.interview-item{
   margin-bottom: 50px;
}
.interview-item-title{
   font-size: 21px;
   font-weight: bold;
   color: #FF4E24;
   margin:10px auto;
}
.interview-text-image{
   display: flex;
}
.interview-item-text-with-image{
   margin-right: 20px;
}
.one-day{
   background-color: #fff;
   width: 60%;
   margin: 50px auto 0 auto;
   padding-bottom: 100px;
}

/*------------ タイムライン  ------------*/
 .timeline > li {
   margin-bottom: 60px;
 }

   .timeline > li {
    overflow: hidden;
    margin: 0;
    position: relative;
  }
  .timeline-date {
    width: 110px;
    float: left;
    margin-top: 20px;
  }
  .timeline-content {
    width: 75%;
    float: left;
    border-left: 3px #e5e5d1 solid;
    padding-left: 30px;
  }
  .timeline-content:before {
    content: '';
    width: 12px;
    height: 12px;
    background: #FF9A24;
    position: absolute;
    left: 106px;
    top: 24px;
    border-radius: 100%;
  }
 
 /* for SmartPhone */
 @media screen and (max-width: 960px) {
   .interview-text-image{
      flex-direction: column;
   }
   .interview02-img{
      margin: 10px auto 0 auto;
   }
   .timeline-content:before {
      display: none;
    }
}
 @media screen and (max-width:480px) {
   .interview{
      padding-top:20px;
      font-size: 12px;
   }
   .interview-top-wrapper{
      flex-direction: column;
      width: 90%;
   }
   .interview-top-title{
      width: 100%;
      font-size: 16px;
      padding-left: 0px;
      padding-bottom: 20px;
   }
   .interview-main-wrapper{
      width: 90%;
      margin:10px auto;
   }
   .interview-item-title{
      font-size: 16px;
   }
   .timeline{
      width: 95%;
   }
   .timeline-content:before {
      display: none;
    }
    .one-day{
      width: 80%;
   }
   
}
   /* .timeline > li {
     overflow: hidden;
     margin: 0;
     position: relative;
   }
   .timeline-date {
     width: 110px;
     float: left;
     margin-top: 10px;
   }
   .timeline-title-top {
      margin-top: 0;
   }
   .timeline-content,
   .timeline-content-top {
     width: 80%;
     float: left;
     border-left: 3px #e6e6e6 solid;
     padding-left: 30px;
   }

 
   .timeline-content-top:before {
     content: '';
     width: 12px;
     height: 12px;
     background: #FF9A24;
     position: absolute;
     left: 106px;
     top: 0px;
     border-radius: 100%;
   }
   .timeline-content:before {
     content: '';
     width: 12px;
     height: 12px;
     background: #FF9A24;
     position: absolute;
     left: 106px;
     top: 24px;
     border-radius: 100%;
   }
} */
/*------------------------*/


/* ------------------------------ */
/* 1分でわかるフォレッジ*/
/* ------------------------------ */
.number-wrapper{
   /* display: flex; */
   width: 75%;
   margin:50px auto 150px auto;
}
.number-item,
.number-item-left,
.number-item-right,
.number-item-hegiht,
.number-item-left-hegiht,
.number-item-right-hegiht{
   display: inline-block;
   /* height: fit-content; */
  height: 10vw;
   width: 100%;
   margin:5px 0px;
   /* padding: 20px auto; */
   text-align: center;
   /* vertical-align: middle; */
   background-color: #fff; 
   
}
.number-item-left-hegiht{
   height: 20vw;
   margin:5px 5px 5px 0px;
   width: 100%;
}
.number-item-right-hegiht{
   height: 20vw;
   margin:5px 0px 5px 5px;
   width: 100%;
}
.number1-img{
   padding-top: 20px;
   /* height: fit-content; */
   height: 8.5vw;
   width: 100%;
}
.number2-img{
   padding-top: 20px;
   height: 15vw;
   width: 100%;
}
.number3-img{
   padding-top: 20px;
   height: 7.5vw;
   width: 100%;
}
.number-item-left{
   margin:5px 5px 5px 0px;
}
.number-item-right{
   margin:5px 0px 5px 5px;
}
.number-item-wrapper{
   display: flex;
}
.number-item-flex{
   display: flex;
   vertical-align:top;
   margin-top:0;
   padding-top: 0;
}

.number7-img{
   height: 18vw;
   padding-top: 20px;
}