
html{
        font-size: 62.5%;
        font-family: 'Montserrat', sans-serif;
}

p{
    font-family: 'Noto Sans JP', sans-serif;
}

img{
   max-width: 100%;
   vertical-align: bottom;
}

.sectipn-wiper{
    padding: 0 10% ;
}
.section-title{
    font-size: 3.2rem;
    margin-bottom: 30px;
}
.read-more{
    text-decoration: none;
    background-color: #000;
    color: #fff;
    padding: 10px 40px;
    font-size: 1.2rem;
    font-weight: bold;
}
a:hover{
    opacity: .7;
    transition: .3s;
}

/* header */
.header{
    height: 740px;
    position: relative;
    z-index: 3;
    
}

.taitle{
    margin: 30px auto auto 60px;
    position: fixed; 
       
}
.taitle.black svg path{
  fill: #333;
  transition: fill .3s;
}



/* hunberger */
#g-nav{
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position:fixed;
    z-index: 999;
    /*ナビのスタート位置と形状*/
  top:-120%;
  right:0;
  width:520px;
    height: 100vh;/*ナビの高さ*/
  background:rgba(34, 34, 34,.95);
    /*動き*/
  transition: all 0.6s;
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive{
    top: 0;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999; 
    right:0;
    width:520px;
    height: 100vh;/*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
#g-nav ul {
    /*ナビゲーション天地中央揃え*/
    position: absolute;
    z-index: 999;
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);
}

/*リストのレイアウト設定*/

#g-nav li{
  list-style: none;
    text-align: center; 
}

#g-nav li a{
  color: #fff;
  text-decoration: none;
  padding:10px;
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: bold;
  font-size: 2rem;
}

/*========= ボタンのためのCSS ===============*/
.openbtn1{
  position: fixed;
    z-index: 9999;/*ボタンを最前面に*/
  top:30px;
  right: 6vw;
  cursor: pointer;
    width: 60px;
    height:10px;
    color: #fff;
}
.menu{
  position: fixed;
    z-index: 9999;/*ボタンを最前面に*/
  top:50px;
  right: 2vw;
  cursor: pointer;
    width: 60px;
    height:10px;
    color: #fff;
    text-transform: uppercase;
}
.nav{
    margin-left: 7px;
}
.openbtn1.black.openbtn1 span {
  background-color: #333;
  transition: background-color .3s;
}
.black.menu{
  color: #333;
  transition: background-color .3s;
}

  
/*×に変化*/  
.openbtn1{
  display: flex;
}
.openbtn1 span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
  background-color:#fff;
  width: 45%;
  }

.openbtn1 span:nth-of-type(1) {
  top:15px; 
}

.openbtn1 span:nth-of-type(2) {
  top:23px;
}

.openbtn1 span:nth-of-type(3) {
  top:31px;
}

.openbtn1.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}

.openbtn1.active span:nth-of-type(2) {
  opacity: 0;
}

.openbtn1.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}
/* ハンバーガーメニューが開いたとき */
body.noscroll{
  overflow: hidden;
}
.burger-musk{
  display: none;
  height: 100vh;
  width: 100vw;
  position: fixed;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, .5);
  z-index: 1;
}


/* fv */
.fv-img-wiper{
  background-image: url(../img/pc/kv-img.jpg);
  background-size: cover;
    position: absolute;
    width: 76%;
    height: 640px;
    top: 0;
    left: 0;
    z-index:2;
    object-fit: cover;
}

.fv-text{
    position: absolute;
    top: 160px;
    right: 15%;
    z-index: 2;
    color: #ffff;
}
.fv-text-sab-ja{
    font-family:'YuGothic';  
    font-size: 2rem;
    font-weight: bold;
}
.fv-text-sab-eg{
    font-family:'YuGothic';
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 10px;
}
.fv-text-main{
    font-size: 7.2rem;
    line-height: 1.2;
}
.bg-black{
    background-color: black;
    position: absolute;
    width: 780px;
    height: 740px;
    top:0;
    right: 0;
    z-index: 1;
}

/* about us */

#about{
    position: relative;
    background-image: url(../img/pc/about-img.jpg);
    height: 600px;
    background-size: cover;
    background-position: center;
    margin:120px 10% 0;
}

.about-list{
    position: absolute;
    background-color: #fff;
    width: 600px;
    height: 400px;
    top: 110px;
    left: 50px;
}
#about .section-title{
    margin: 50px auto 30px 40px;
}
.about-text{
    font-size: 1.6rem;
    line-height: 2;
    padding: 0 40px 60px;
}

#about .read-more{
    margin:auto 40px ;
}

/* works.culture */
#works{
  display: flex;
  column-gap: 60px;
  justify-content:space-between;
  background-color: #F0F0F0;
  margin-top: -100px;
  height: 771px;
}

.section2-title{
  font-size: 3.2rem;
  margin-bottom: 30px;
  
}
.section2-cotent{ 
  padding-top: 180px;
  max-width: 520px;
}


.s2-img{
  max-width: 100%;
  height: 350px;
  
}
.s2-text{
  margin: 30px 0 30px;
  font-size: 1.6rem;
  
}

/* letest topic */

#leatest{
  margin:60px 0 100px;
  height: 350px;
}
#leatest.section-title{
  margin-bottom: 30px;
}
.topic-li{
  width: 74%;
  margin-left: 25%;
}
.topic-item{
  width: 100%;
  display: inline-block;
  text-align: left;
  
}
.topic-item hr{
  width: 100%;
  margin-bottom: 30px;
  height: 1px;
  color:  #DDDDDD;
  
}
.topic-item time{
 color: #CECECE;
 font-weight: bold;
 font-size: 1rem;
}

.topic-item p{
  font-size: 1.4rem;
  font-family:'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
  font-weight: bold;
  margin: 10px 0 ;
}
#leatest .read-more-rigt{
  text-align: right;
  margin-top: 30px;
}

/* contact */

#contact{
  height: 570px;
  background-color: #F2F2F2;
  display: flex;
}
.contnact-contet{
  margin-top: 132px;
  width: 440px;
}
.contact-text{ 
  font-size: 1.6rem;
  line-height: 2;
  margin-bottom: 30px;
}
.contact-img{
  margin: 60px 0 0 80px;
  width: 580px;
  height: 390px;
  
}

.footer{
  background-color:#525252;
  color: #fff;
  text-align: center;
  padding: 20px;
  font-size: 1rem;

}
.footer-text{
  font-size: 1rem;
}

@media only screen and (max-width:768px){
/*sp用のcssを記述*/
    
        
html{
  font-size: 62.5%;
  font-family: 'Montserrat', sans-serif;
}

p{
font-family: 'Noto Sans JP', sans-serif;
}

img{
max-width: 100%;
vertical-align: bottom;
}

.sectipn-wiper{
padding: 0 4% ;
}
.section-title{
font-size: 3.2rem;
margin-bottom: 30px;
}
.read-more{
text-decoration: none;
background-color: #000;
color: #fff;
padding: 10px 40px;
font-size: 1.2rem;
font-weight: bold;
}

/* header */
.header{
height: 670px;
position: relative;
z-index: 3;
}

.taitle{
margin: 20px auto auto 20px;

}
/* hunberger */
#g-nav{
/*position:fixed;にし、z-indexの数値を大きくして前面へ*/
position:fixed;
z-index: 999;
/*ナビのスタート位置と形状*/
top:-120%;
right:0;
width:520px;
height: 100vh;/*ナビの高さ*/
background:#222222;
/*動き*/
transition: all 0.6s;
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive{
top: 0;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
/*ナビの数が増えた場合縦スクロール*/
position: fixed;
z-index: 999; 
right:0;
width:100%;
height: 100vh;/*表示する高さ*/
overflow: auto;
-webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
#g-nav ul {
/*ナビゲーション天地中央揃え*/
position: absolute;
z-index: 999;
top:50%;
left:50%;
transform: translate(-50%,-50%);
}

/*リストのレイアウト設定*/

#g-nav li{
list-style: none;
text-align: center; 
}

#g-nav li a{
color: #fff;
text-decoration: none;
padding:10px;
display: block;
text-transform: uppercase;
letter-spacing: 0.1em;
font-weight: bold;
font-size: 2rem;
}

/*========= ボタンのためのCSS ===============*/
.openbtn1{
position:fixed;
z-index: 9999;/*ボタンを最前面に*/
top: 10px;
right: 4vw;
cursor: pointer;
width: 60px;
height:10px;
color: #fff;
}
.menu{
  position: fixed;
    z-index: 9999;/*ボタンを最前面に*/
  top:50px;
  right: 2vw;
  cursor: pointer;
    width: 60px;
    height:10px;
    color: #fff;
    text-transform: uppercase;
}
.nav{
margin-left: 7px;
}

/*×に変化*/  
.openbtn1 span{
display: inline-block;
transition: all .4s;
position: absolute;
left: 14px;
height: 3px;
border-radius: 2px;
background-color:#fff;
width: 45%;
}

.openbtn1 span:nth-of-type(1) {
top:15px; 
}

.openbtn1 span:nth-of-type(2) {
top:23px;
}

.openbtn1 span:nth-of-type(3) {
top:31px;
}

.openbtn1.active span:nth-of-type(1) {
top: 18px;
left: 18px;
transform: translateY(6px) rotate(-45deg);
width: 30%;
}

.openbtn1.active span:nth-of-type(2) {
opacity: 0;
}

.openbtn1.active span:nth-of-type(3){
top: 30px;
left: 18px;
transform: translateY(-6px) rotate(45deg);
width: 30%;
}


/* fv */
.fv-img-wiper{
background-image: url(/img/pc/kv-img\ \(sp\).jpg);
position: absolute;
width: 290px;
height: 600px;
top: 0;
left: 0;
z-index:2;
}

.fv-text{
position: absolute;
top: 175px;
right: 10%;
z-index: 2;
color: #ffff;
}
.fv-text-sab-ja{
font-family:'YuGothic';  
font-size: 1.6rem;
font-weight: bold;
}
.fv-text-sab-eg{
font-family:'YuGothic';
font-size: 1.6rem;
font-weight: bold;
margin-bottom: 10px;
}
.fv-text-main{
font-size: 5.6rem;
line-height: 1.2;
}
.bg-black{
background-color: black;
position: absolute;
width: 280px;
height: 670px;
top:0;
right: 0;
z-index: 1;
}

/* about us */

#about{
position: relative;
background-image: url(/img/pc/about-img.jpg);
height: 540px;
margin:80px 0 0 0;
object-fit: cover;
padding: 0;
}

.about-list{
position: absolute;
background-color: #fff;
width: 345px;
height: 440px;
top: 50px;
left: 15px;
}
#about .section-title{
margin: 40px auto 30px 30px;
}
.about-text{
font-size: 1.4rem;
line-height: 2;
padding: 0 15px 30px 30px;
}

#about .read-more{
margin:auto 30px ;
}

/* works.culture */
#works{
display: block;
justify-content: space-between;
background-color: #F0F0F0;
margin-top: 0;
height: 1000px;
}

.section2-title{
font-size: 3.2rem;
margin-bottom: 30px;

}
.section2-cotent{

padding-top: 60px;
}
.s2-item{
width: 100%;
}
.s2-img{
width: 100%;
height: 232px;

}
.s2-text{
margin: 30px 0 30px;
font-size: 1.6rem;

}

/* letest topic */

#leatest{
margin:60px 0 100px;
height: 350px;
}
#leatest.section-title{
margin-bottom: 30px;
}
.topic-li{
margin-left: 0;

}
.topic-item{
display: inline-block;
text-align: left;
width: 345px;
}
.border{
margin-right: 0;
margin-bottom: 30px;
height: 1px;
color:  #DDDDDD;

}
.topic-item time{
color: #CECECE;
font-weight: bold;
font-size: 1rem;
}

.topic-item p{
font-size: 1.2rem;
font-family:'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
font-weight: bold;
margin: 10px 0 ;
}
#leatest .read-more-rigt{
text-align: left;
margin-top: 30px;
}

/* contact */

#contact{
height: 620px;
background-color: #F2F2F2;
display: flex;
flex-direction: column;
}
.contnact-contet{
width: 345px;
order: 2;
margin: 30px 0;
}
.contact-text{ 
font-size: 1.6rem;
line-height: 2;
margin-bottom: 30px;
}
.contact-img{
margin:0;
width: 345px;
height: 350px;
padding-top: 40px;
order: 1;
}

/* footer */

.footer{
background-color:#525252;
color: #fff;
text-align: center;
padding: 20px;
font-size: 1rem;
}
.footer-text{
font-size: 1rem;
}


}

