@charset "UTF-8";
/****************************************
contents
*****************************************/
/* アニメーション▼▼
------------------------------------------------------------ */

@keyframes fadeIn{
  0% {
    opacity:0;
  }
  100%{
    opacity:1;
    
  }
}



/* タイトル▼▼
------------------------------------------------------------ */

.company--cont .main--title{
  background:url(../img/concept_main.jpg) no-repeat 0 0;
  margin-bottom:1px;
}

@media (min-width:1600px){
.company--cont .main--title{
    background-size:100%;
  }
}


/* 会社案内：コンセプト▼▼
------------------------------------------------------------ */
.concept{
  margin-bottom:10.0vw;

}
.concept .concept__wrap{
  padding:8.0vw 0;
  background: linear-gradient( 270deg, rgba(255, 255, 255, 1) 40%, rgba(255, 255, 255, 0)),url(../img/concept_bk.jpg) no-repeat 0 0;
    background-size:cover;
}
.concept .concept__inner{
  position:relative;
  margin:0 auto;
  width:80%;
  display: block;
	text-shadow: 0 0 1em #fff;
}
.concept .concept__inner .concept__text{
  position:relative;
  float:right;
  width:70%;
  display: block;
  animation: anim__concept 0.8s 1s ease forwards;
	opacity:0;
}

.concept .concept__inner .concept__text p{
  font-size:16px;
  font-size:1.6rem;
  line-height:1.8em;
  letter-spacing:0.06em;
}
.concept .concept__inner .concept__text p.font--s{
  margin:0 auto;
  font-size:14px;
  font-size:1.4rem;
  line-height:1.8em;
}
@keyframes anim__concept{
  0% {
    left:-50px;
    opacity:0;
  }
  100%{
    left:0;
    opacity:1;
  }
}

@media (min-width:1200px){
.concept .concept__wrap{
  background: linear-gradient( 270deg, rgba(255, 255, 255, 1) 40%, rgba(255, 255, 255, 0)),url(../img/concept_bk.jpg) no-repeat 0 0;
    background-size:contain;
  }
}
@media (max-width:768px){
  .concept{
  padding-top:0vw;
    padding-bottom:19.0vw;
  }
.concept .concept__wrap{
  padding:15.0vw 0 0 0;
  background: linear-gradient( 0deg, rgba(255, 255, 255, 1) 80%, rgba(255, 255, 255, 0)),url(../img/concept_bk.jpg) no-repeat 0 0;
    background-size:contain;
  }
  .concept .concept__inner .concept__text{
    width:100%;
    float:none;
  }
  .concept .concept__inner .concept__text p{
    padding-bottom:5.0vw;
  }
}


/* 会社案内：会社概要▼▼
------------------------------------------------------------ */
.profile{
  padding-bottom:10.0vw;
}
.profile .profile__wrap h2{
  position:relative;
  margin:0 auto;
  width:80%;
  font-size:30px;
  font-size:3.0rem;
  font-weight:700;
  letter-spacing:0.1em;
  line-height:1.8em;
  padding-bottom:1.5vw;
  opacity:0;
}
.profile .profile__wrap.active h2{
  animation: anim__greeting 0.8s ease forwards;
}
.profile .profile__wrap table{
  position:relative;
  width:80%;
  margin:0 auto;
  letter-spacing:0.06em;
  opacity:0;
}
.profile .profile__wrap table th,
.profile .profile__wrap table td{
  text-align:left;
  font-weight:normal;
  font-size:16px;
  font-size:1.6rem;
  line-height:1.8em;
  letter-spacing:0.1em;
  padding:20px 0;
  border-bottom:1px solid #ccc;
}
.profile .profile__wrap table th{
  width:200px;
}
.profile .profile__wrap.active table{
  animation: anim__greeting 0.8s 0.3s ease forwards;
}

@media (max-width:768px){
  .profile{
    padding-bottom:19.0vw;
  }
  .profile .profile__wrap h2{
    text-align:center;
    padding-bottom:6vw;
  }
  .profile .profile__wrap table{
    border-left:1px solid #ccc;
    border-right:1px solid #ccc;
    border-top:1px solid #ccc;
  }
 .profile .profile__wrap table th,
 .profile .profile__wrap table td{
    width:100%;
    display: block;
    padding:20px;
  }
 .profile .profile__wrap table th{
    background:#eee;
  }
}




/* 会社案内：ごあいさつ▼▼
------------------------------------------------------------ */
.greeting{
  padding-bottom:15.0vw;
}
.greeting .greeting__wrap h2{
  position:relative;
  margin:0 auto;
  width:80%;
  font-size:30px;
  font-size:3.0rem;
  font-weight:700;
  letter-spacing:0.1em;
  line-height:1.8em;
  padding-bottom:1.5vw;
  opacity:0;
}
.greeting .greeting__wrap.active h2{
  animation: anim__greeting 0.8s ease forwards;
}
.greeting .greeting__inner{
  display: flex;
}
.greeting .greeting__wrap .greeting__text{
  width:80%;
  padding:0 5% 0 10%;
  letter-spacing:0.06em;
}
.greeting .greeting__wrap .greeting__text p{
  position:relative;
  margin:0 auto;
  font-size:16px;
  font-size:1.6rem;
  line-height:1.8em;
  padding-bottom:2.0vw;
  letter-spacing:0.06em;
  opacity:0;
}
.greeting .greeting__wrap .greeting__text p.font--s{
  position:relative;
  margin:0 auto;
  width:100%;
  text-align:right;
  font-size:14px;
  font-size:1.4rem;
  line-height:1.8em;
  opacity:0;
}
.greeting .greeting__wrap.active .greeting__text p{
  animation: anim__greeting 0.8s 0.4s ease forwards;
}
@keyframes anim__greeting{
  0% {
    left:-50px;
    opacity:0;
  }
  100%{
    left:0;
    opacity:1;
  }
}
.greeting .greeting__wrap .greeting__image{
  position:relative;
  width:40%;
  height:40%;
  margin-left:auto;
  display: inline-block;
  overflow: hidden;
  padding:0;
  font-size:0;
}
.greeting .greeting__wrap .greeting__image img{
  width:100%;
  height:auto;
  opacity:0;
}
.greeting .greeting__wrap.active .greeting__image img{
  animation: fadeIn 1s 1s ease forwards;
}
.greeting .greeting__wrap.active .greeting__image::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: -100%;
  z-index: 1;
  background: linear-gradient(to right,#e75970,#f5cd46,#f7e052,#83c6b0,#76a4ca,#4180b8,#c387bc);
  animation: marquee1 1s ease forwards;
}
@keyframes marquee1 {
  0%{
    transform: translateX(-100%);
    opacity:0;
  }
  50%{
    transform: translateX(100%);
    opacity:1;
  }
  100%{
    transform: translateX(200%);
    opacity:0;
  }
}

@media (max-width:768px){
  .greeting{
    padding-bottom:19.0vw;
  }
  .greeting .greeting__inner{
    display: block;
  }
  .greeting .greeting__wrap .greeting__text,
  .greeting .greeting__wrap .greeting__image{
    width:100%;
    padding:0;
  }
  .greeting .greeting__wrap h2,
  .greeting .greeting__wrap .greeting__text p{
    width:80%;
  }
  .greeting .greeting__wrap .greeting__text p{
    padding-bottom:5.0vw;
  }
  .greeting .greeting__wrap h2{
    text-align:center;
    padding-bottom:6vw;
  }
  .greeting .greeting__wrap .greeting__text p.font--s{
    width:80%;
  }
}