@charset "utf-8";
/* CSS Document */



/*---------------------
hero
----------------------*/
.hero{
  position: relative;
  width: 100%;
}
.hero video {
	width:100%;
	height:100vh;
	object-fit:cover;
}


/*---------------------
ビデオボタン
---------------------*/  

.play_bt {
    position: absolute;
    left: 50%;
    bottom: 60px;
    transform: translateX(-50%);
    color: #FFF;
    border: 1px solid #FFF;
}
.play_bt a {
    display: block;
    color: #FFF;
    padding: 10px 15px;
}

/*全て共通：hideエリアをはじめは非表示*/
.hide-area{
	display: none;
}

/*全て共通：モーダルのボタンの色を変更したい場合*/
.modaal-close:after, 
.modaal-close:before{
	background:#ccc;	
}

.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before{
	background:#666;
}


/*動画表示のモーダル：余白を変更したい場合*/
.modaal-video .modaal-inner-wrapper{
  padding:0;
}



/*---------------------
top__about内
---------------------*/  
.top__about{
  margin-top: 80px;
  position: relative;
  width: 100%;
  height: 871px;
}
.top__about .about_bg1{
  position: absolute;
  top:0;
  left: 0;
  width: 100%;
  height: 592px;
  background: #CEC5B1;
}
.top__about .about_bg2{
  position: absolute;
  top:63px;
  right: 0;
  height: 713px;
  width: 1133px;
  background: #F5F2F2;
  border-radius: 25px 0 0 25px;
  box-shadow: 2px 2px 4px gray;
}
.top__about .about_img{
  width: 50%;
}
.slider {
    width: 100%;
    margin: 0 auto;
}
.slider .slick-slide {
    margin: 0 0px;
}
.top__about .about_txt{
  position: relative;
  height: 100%;
  width: 50%;
}
.top__about .about_txt::after {
  position: absolute;
  content: '';
  width: 434px;
  height: 1px;
  display: inline-block;
  background-color: #707070;
  top: 100px;
  left: 90px;
}
.top__about h2 {
  position: absolute;
  top: 78px;
  left: 34px;
  letter-spacing: 1em;
}
.top__about .playfair{
  position: absolute;
  top:210px;
  left: 90px;
  margin: 0 auto 88px;
  font-size: 4.5rem;
  justify-content: left;
  letter-spacing: 0.15em;
}
.top__about .about_txt .p_box{
  position: absolute;
  top:347px;
  left: 90px;
  line-height: 2;
}
.top__about .about_txt p{
  padding-bottom: 20px;
}
.top__about .about__btn{
  position: absolute;
  bottom: 50px;
  left: 50%;
  transform: translate(-50%,-50%)
}

.top__about .btn{
  position: relative;
  overflow: hidden;
  text-decoration: none;
  display: inline-block;
  background: #DDC190;
  color: #fff;
  padding: 17px 28px;
  border-radius: 25px;
  outline: none;
  width: 174px;
  height: 49px;
  font-size: 1.4rem;
  text-align: center;
  letter-spacing: 0.09em;  
}
.top__about .btn::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: radial-gradient(circle, #fff 10%, transparent 10%) no-repeat 50%;
  transform: scale(10, 10);
  opacity: 0;
  transition: transform 0.3s, opacity 1s;  
}




/*---------------------
top__works内
---------------------*/
.top__works{
  background-image: url("../images/top/top09.png");
  background-size: cover;
  background-repeat: no-repeat;
  padding:130px 0; 
  margin-bottom: 250px;
}
.top__works .works_bg1{
  border-radius: 50px;
  box-shadow: 2px 2px 4px gray;
  background: #fff;
  position: relative;
  height: 1300px;
}
.top__works .vertical{
  position: absolute;
  top:78px;
  right: 5%;
  letter-spacing: 1em;
}
.top__works .works_txt {
  position: absolute;
  top: 20%;
  left: 50%;
  transform: translate(-50%,-50%);
  text-align: center;
}
.top__works .works_txt .section_title {
    margin: 110px auto 26px;
}
.top__works .works_txt::after { 
  position: absolute;
  content: '';
  width: 434px;
  height: 1px;
  display: inline-block;
  background-color: #707070;
  top: 0px;
  left: 50%;
  transform: translate(-50%);
}
.top__works .works_txt p{
  line-height: 2;
}
.top__works .txt_img{
  width: 692px;
  padding-top: 454px;
  margin: auto;
}
.top__works .under_box{
  position: absolute;
  top: 700px;
  left: 50%;
  transform: translate(-50%);
  padding: 15px;
  background: #92A4B5;
  width: 890px;
  border-radius: 25px;
  justify-content:left;
}
.top__works .under_box img{
  width: 356px;
}
.top__works .under_box p{
  margin: auto 0;
  padding-left: 50px;
  line-height: 2;
  color: #fff;
}
.top__works .works__btn{
  position: absolute;
  bottom: 110px;
  left: 50%;
  transform: translate(-50%);
}
.top__works .btn {
  position: relative;
  overflow: hidden;
  text-decoration: none;
  display: inline-block;
  background: #4d6b94;
  color: #fff;
  padding: 17px 28px;
  border-radius: 25px;
  outline: none;
  width: 174px;
  height: 49px;
  font-size: 1.4rem;
  text-align: center;
  letter-spacing: 0.09em;
}




/*---------------------
top__people内
---------------------*/
.top__people{

}
.top__people{
  margin-top: 80px;
  position: relative;
  width: 100%;
  height: 1000px;
}
.top__people .people_bg1{
  position: absolute;
  top:0;
  left: 0;
  width: 100%;
  height: 775px;
  background: #BBC6A2;
}
.top__people .people_bg2{
  position: absolute;
  top:-82px;
  left: 0;
  height: 713px;
  width: 1150px;
  background: #F5F2F2;
  border-radius: 0 25px 25px 0;
  box-shadow: 2px 2px 4px gray;
}
.top__people .people_img{
  width: 50%;
}
.top__people .people_txt{
  position: relative;
  height: 100%;
  width: 50%;
}
.top__people .people_txt::after {
  position: absolute;
  content: '';
  width: 434px;
  height: 1px;
  display: inline-block;
  background-color: #707070;
  top: 100px;
  left: 80px;
}
.top__people h2{
  position: absolute;
  top: 78px;
  right: 30px;
  letter-spacing: 1em;
}
.top__people .playfair{
  position: absolute;
  top:210px;
  left: 80px;
  width: 45%;
  margin: 0 auto 88px;
  font-size: 4.5rem;
  justify-content: left;
}
.top__people .people_txt .p_box{
  position: absolute;
  top:347px;
  left: 80px;
  letter-spacing: 0.05em;
  line-height: 2;
}
.top__people .people_txt p{
  padding-bottom: 20px;
}
.top__people .people__btn {
    position: absolute;
    bottom: 50px;
    left: 50%;
    transform: translate(-50%,-50%);
}
.top__people .btn{
  position: relative;
  overflow: hidden;
  text-decoration: none;
  display: inline-block;
  background: #81905E;
  color: #fff;
  padding: 17px 28px;
  border-radius: 25px;
  outline: none;
  width: 174px;
  height: 49px;
  font-size: 1.4rem;
  text-align: center;
  letter-spacing: 0.09em;  
}
.top__people .btn::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: radial-gradient(circle, #fff 10%, transparent 10%) no-repeat 50%;
  transform: scale(10, 10);
  opacity: 0;
  transition: transform 0.3s, opacity 1s;  
}





/*---------------------
sp
---------------------*/
@media(max-width: 768px) {
  
  
/*---------------------
hero
----------------------*/
.hero{
  background-image: url("../images/top/main_sp.jpg");
}
  
  
  
  
/*---------------------
top__about内
---------------------*/  
.top__about .about_bg1 {
  height: 961px;
}
  .top__about .about_bg2 {
  top: 63px;
  height: 1141px;
  width: 97%;
  display: block;
}
.top__about .about_txt {
  width: 100%;
  height: auto;
}
.top__about .about_txt::after {
  position: absolute;
  content: '';
  width: 89%;
  height: 1px;
  display: inline-block;
  background-color: #707070;
  top: 115px;
  right: 1%;
  left: 10%;
}
.top__about h2 {
  position: absolute;
  top: 32px;
  left: 3%;
  letter-spacing: 1em;
}
.top__about .playfair {
  top: 174px;
  left: 10%;
}
.top__about .about_txt .p_box {
  top: 320px;
  left: 10%;
  width: 85%;
}
.top__about .about_img {
  width: 290px;
  margin: 626px auto 0;
}
.top__about .about__btn {
    bottom: 90px;
}
  
  
  
/*---------------------
top__works内
---------------------*/
.top__works {
  padding: 93px 0;
  margin-top: 425px;
}  
.top__works {
  background-image: url(../images/top/top09_sp.png);
  background-size: 1555px;
  }
.top__works .works_bg1 {
  height: 1380px;
  width: 92%;
  border-radius: 30px;
  margin-bottom: 0;
}
.top__works .works_txt {
  top: 13%;
  width: 76%;
}
.top__works .works_txt::after {
  width: 100%;
}
  .top__works .vertical {
  top: 33px;
  right: 4%;
}
.top__works .txt_img {
  width: 98%;
  padding-top: 410px;
}
.top__works .works_txt .section_title {
  margin: 80px auto 70px;
}
.top__works .under_box {
  top: 630px;
  padding: 3% 2%;
  border-radius: 20px;
  width: 96%;
  display: block;
  position: absolute;
  left: 50%;
  transform: translate(-50%);
  background: #92A4B5;
}
.top__works .under_box img {
  width: 100%;
  height: 290px;
}
.top__works .under_box p {
  margin: 58px auto;
  text-align: left;
  padding: 0;
  width: 250px;
}
.top__works .works__btn {
  bottom: 80px;
}

  
  

/*---------------------
top__people内
---------------------*/
.top__people {
  margin-top: 80px;
  position: relative;
  width: 100%;
  height: 1141px;
}
.top__people h2 {
  position: absolute;
  top: 60px;
  right: 9%;
  letter-spacing: 1em;
}
.top__people .people_bg2 {
  top: 0px;
  height: 1141px;
  width: 97%;
  display: block;
}  
.top__people .people_bg1 {
  position: absolute;
  top: -82px;
  left: 0;
  width: 100%;
  height: 961px;
  background: #BBC6A2;
}
.top__people .people_txt {
  width: 100%;
}
.top__people .people_txt::after {
  width: 85%;
  left: 1%;
  top: 8%;
}
.top__people .playfair {
  top: 174px;
  left: 10%;
  width: 50%;
}
.top__people .people_txt .p_box {
  left: 10%;
  position: absolute;
  top: 315px;
  letter-spacing: 0.1em;
  line-height: 2;
  width: 84%;
}
.top__people .people_img {
  width: 290px;
  position: absolute;
  top: 800px;
  left: 50%;
  transform: translate(-50%, -50%);
}
.top__people .people__btn {
  position: absolute;
  bottom: 90px;
  left: 50%;
  transform: translate(-50%,-50%);
}
  
  
  
  
  
  
  
  
  
  
  
  
}