@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Lato&family=Montserrat:wght@300&display=swap');
.sp,
.tab{
  display: none;
}

.content{
	width: 100%;
	max-width: 1080px;
	margin: auto;
}

.content02{
	width: 100%;
	max-width: 800px;
	margin: auto;
}

.eng,
.eng *{
  font-family: 'Lato', sans-serif;
}

.eng02,
.eng02 *{
  font-family: 'Montserrat', sans-serif;
}

/* head */
  body{
    padding-top: 60px;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
  }
  
  header{
    position: fixed;
    width: 100%;
    top:0;
    left: 0;
    height: 60px;
    background: #0D0D0D;
    z-index: 100;
  }
  
  header .content{
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  
  h1{
    padding-top: 10px;
  }

h1 img{
  width: 175px;
}
 
 /* caba2修正 */
  @media screen and (min-width:1000px){
    .menuBox{
      display: flex;
      /*width: 550px;*/
      padding-right: 40px;
      align-items: center;
    }
    
    .menuBox a{
      color:#ffffff;
      font-size: 14px;
      font-weight: bold;
      margin-left: 15px;
    }
  }
  
/* video */
.mainimage{
  width: 100%;
  height: calc(100vh - 300px);
  overflow: hidden;
    max-width: 1500px;
    position: relative;
    margin: auto;
	max-height: 457px;
	min-height: 457px;
  }

.mainimage video{
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}
  
  .pageTitle{
    font-size: 40px;
    letter-spacing: 0.05em;
    font-weight: normal;
    text-align: center;
    line-height: 1.25em;
  }  
  
  p.subTitle{
    font-size: 12px;
    text-align: center;
    margin-bottom: 40px;
  }  

  .seo{
    position: relative;
    top:-35px;
    max-width: 740px;
    margin: auto;
    padding: 10px;
    border-radius:8px;
    background: #ffffff;
    box-shadow: 0 0 12px 0 rgba(0 0 0 / 8%);
    width:90%;
  }
  
  .seo span{
    display: block;
    font-size: 12px;
    line-height: 20px;
    padding: 10px;
    border-radius: 8px;
    border:1px solid #D3D3D3;
  }
  
  .sec{
    padding:40px;
  }
  
  .topsec01{
    padding-top: 20px;
  }

  .castList{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
  
  /*
  .castList li{
    width: calc((100% - 40px) / 5);
    margin-bottom: 30px;
    margin-right: 10px;
  } 
  .castList li:nth-child(5n + 5){
    margin-right: 0;
  } 
  */
  
  /* 中修正 7人対応 */
  .castList li{
    width: calc((100% - 30px) / 7);
    margin-bottom: 30px;
    margin-right: 5px;
  }  
  .castList li:nth-child(7n + 7){
    margin-right: 0;
  } 
  
  /* 中修正 写真の高さ合わせる */
  @media screen and (min-width:1000px){
	.castList--img{
		height:300px;
	}
	.castList--img img{
		width: 100%;
		height: 100%;
	object-fit: cover;
	}
  }
  
  .castList--cont{
    margin-top: 10px;
    display: flex;
    align-items: center;
  }
  
  .castList--name{
    font-weight: bold;
    font-size: 20px;
    margin-left: 8px;
    line-height: 0.9em;
  }
  
  .castList--name span{
    font-size: 12px;
    color:#AFAFAF;
  }  

  .moreBtn{
    text-align: center;
  }
  
  .moreBtn a{
    width: 155px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    border:1px solid #912C34;
    border-radius: 100px;
    text-align: center;
    justify-content: center;
    color:#9E2030;
    font-size: 14px;
    font-weight: bold;
  } 
  
  .moreBtn a img{
    display: inline-block;
    margin-left: 20px;
  }

  .gravureList{
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px;
  }
  
  .gravureList li{
    width: calc((100% - 40px) / 5);
  }
  
  .gravureList--img{
    width: 100%;
    height: 410px;
  } 
  
  .gravureList--img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .shopList{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
  
  .shopList li{
    margin-bottom: 30px;
    border-radius: 10px;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 12px 12px 24px 0 rgba(0 0 0 / 4%);
    width: calc((100% - 40px) / 3);
    margin-right: 20px;
  }
  
  .shopList li:nth-child(3n + 3){
    margin-right: 0;
  }
  
  /*
  .shopList--img{
    position: relative;
    height: 160px;
  }
  */
  
  /* caba2修正 */
  .shopList--img{
    position: relative;
    height: 145px;
  }
  
  .shopList--img img{
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
  
  .shopList--img .icon{
    font-weight: bold;
    color:#ffffff;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top:20px;
    right:20px;
    border-radius: 100px;
    background: rgba(0 0 0 /60%);
    font-size: 12px;
    text-align: center;
  }
  
  .shopList--img .icon span{
    display: inline-flex;
    height: 48px;
    width: 48px;
    position: relative;
    justify-content: center;
    align-items: center;    
  }    
  
  .shopList--img .icon i{
    border:1px solid #ffffff;
    border-radius: 100px;
    height: 44px;
    width: 44px;
    display: inline-block;
    position: absolute;
  }  
  
  .shopList--box{
    padding: 20px 20px 30px;
  }
  
  .shopList--cont{
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .shopList--name{
    font-size: 16px;
    font-weight: bold;
    line-height: 1.5em;
  }
  
  .shopList--name span{
    font-size: 12px;
    font-weight: normal;
    color:#1F1F1F;
    display: inline-block;
    line-height: 1.25em;
  }
  
  .shopList--cont02{
    display: flex;
    justify-content: center;
    margin: 10px 0;
  }
  
  .shopList--cont02 a{
    display: inline-block;
    font-size: 12px;
    margin:0 5px;
  }
  
  .shopList--cont02 a span{
    text-decoration: underline;
  }
  
  .shopList--cont02 a img{
    display: inline-block;
    margin-right:5px;
  }

.event--wrap{
display: inline-flex !important;
}

.event--box{
  width: calc((100% - 10px) / 4);
  padding:0 5px;
}

.event--box:nth-child(4){
}

	/* caba2修正 */
  .event--Img{
    width: 170px;
    height:170px;
  }
  
  .event--Img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  .event--text{
    display: flex;
    margin: 8px 0;
    align-items: center;
  }
  
  .event--date{
    font-size: 18px;
    color:#9B9B9B;
  }
  
  .event--cat{
    display: inline-block;
    padding: 1px 8px;
    font-size: 15px;
    color:#ffffff;
    margin-left: 10px;
  }
  
  .event--cat.pt01{
    background: #9E2030;
  }
  
  .event--cat.pt02{
    background: #C9A222;
  } 
  
  .event--title{
    font-weight:bold;
    font-size: 20px;
  }
  
  /* caba2追加 */
	.event--title span {
		font-weight: bold;
		color: #9E2030;
		font-size: 12px;
		padding-left: 5px;
	}
  
  .event--box{
    padding: 5px;
  }

.slider {
    position: relative;
    padding-bottom: 80px;
}
  
.slider .prev {
    position: absolute;
    bottom: 0;
    left: calc(50% - 64px);
    cursor: pointer;
}
  
.slider .next {
    position: absolute;
    bottom: 0;
    left: calc((50% - 46px) + 70px);
    cursor: pointer;
} 

  .topsec05{
    background:#F7F7F7;
  }
  
  .news--box a{
    display: block;
    padding: 20px;
    border-radius: 6px;
    box-shadow: 12px 12px 24px 0 rgba(0 0 0 / 4%);
    background: #ffffff;
    margin-bottom: 15px;
    width: 100%;
  }
  
  .news--date{
    color:#B4B4B4;
    font-size: 12px;
    font-weight: bold;
  }
  
  .news--title{
    font-weight: bold;
    font-size: 20px;
    color:#222222;
    margin-bottom: 10px;
  }
  
  .news--detail{
    font-size: 14px;
    color:#222222;
  }

  footer{
    padding: 25px 0;
    background: #2C2C2C;
    margin-top: 110px;
  }
  
  footer .content{
    display: flex;
    justify-content: space-between;
    align-items: center;
  } 
  
  .footNav{
    display: flex;
    margin-bottom: 10px;
  }
  
  .footNav a{
    display: block;
    margin-left: 30px;
    font-size: 12px;
    color:#ffffff;
  }
  
  .copy{
    font-size: 10px;
    color:#ffffff;
    text-align: right;
  }

/* otherPage */
.newspageWrap{
  min-height: calc(100vh - 176px);
  background: #F7F7F7;
  padding-bottom: 110px;
}

.newspage footer{
  margin-top: 0;
}

  .news--cont{
    display: block;
    padding: 20px;
    border-radius: 6px;
    box-shadow: 12px 12px 24px 0 rgba(0 0 0 / 4%);
    background: #ffffff;
    margin-bottom: 15px;
    width: 100%;
  }

.pageTitle02{
  font-size: 32px;
  margin-bottom: 30px;
  text-align: center;
}

.pageTitle02.pt02{
  text-align: left;
}

  .company{
    min-height: calc(100vh - 270px);
  }
  
  .companyCont{
    display: flex;
    justify-content: center;
    align-items: center;
    height: 272px;
    background:#0D0D0D;
  }  
  
  .companyText{
    font-size: 14px;
    line-height: 24px;
    width: 300px;
    color:#ffffff;
    margin-left: 30px;
  }
  
  .company h2{
    text-align: center;
    font-size: 20px;
    margin-bottom: 30px;
  }
  
  .companyTable{
    width: 500px;
    margin: auto;
  }
  
  .companyTable th{
    width: 50%;
    border-bottom: 1px solid #DEDEDE;
    padding: 8px 0;
    text-align: left;
    font-size: 14px;
    color:#2C2C2C;
    vertical-align: middle;
    font-weight: normal;
  }
  
  .companyTable td{
    width: 50%;
    border-bottom: 1px solid #DEDEDE;
    padding: 8px 0;
    text-align: left;
    font-size: 14px;
    color:#2C2C2C;
    vertical-align: middle;
    font-weight: bold;
  }

  .companyTable tr:last-child th,
  .companyTable tr:last-child td{
    border-bottom: none;
  }
  
  .castDetail{
    margin-top: 30px;
    margin-bottom: 50px;
    display: flex;
    align-items: center;
  }
  
  .castpage--name{
    font-size: 32px;
    font-weight: bold;
    margin-right: 10px;
  }
  
  .castpage--eng{
    font-size: 18px;
    color:#9E2030;
    margin-right: 10px;
  }
  
  .castpage--sns{
    line-height: 0;
  }
  
  .castpage--title{
    font-size: 24px;
    margin-bottom: 30px;
  }
  
  .castIntaview--cont{
    display: flex;
    margin-bottom: 30px;
  }
  
  .castIntaview--cont dt{
    font-size: 16px;
    color:#9E2030;
    width:300px;
    font-weight: bold;
  }
  
  .castIntaview--cont dd{
    font-size: 16px;
    font-weight: bold;
  } 

  .mb50{
    margin-bottom: 50px;  
  }
  
  .castBlog .event--wrap{
    width: 100%;
    flex-wrap: wrap;
  }
  
  .castBlog .event--box{
    margin-right: 10px;
    margin-bottom: 10px;
    padding: 0;
  }
  
  .castBlog .event--box:nth-child(4n + 4){
    margin-right: 0;
  }

  .castWork .shopList{
    justify-content: flex-start;
  }
  
    .castWork .shopList li{
    width: calc((100% - 30px) / 4);
  }

  .castOther .moreBtn{
    text-align: left;
  }
  
  .castOther .castList{
    justify-content: flex-start;
  }

  .castSlide .slick-track{
    display: flex;
    align-items: center;
  }
  
  .castSlide{
    padding-bottom: 0;
  }
  
@media screen and (min-width:700px){   
  .caltslideCont{
    padding: 10px;
    height: 100%;
    display: flex;
    align-items: center;
  }
  .castSlide .prev{
    display: none !important;
  } 

  .castSlide .slick-list{
    overflow: visible;
  }
  
  .castSlide .next {
    bottom: inherit;
    left: inherit;
    right: 0;
    top: calc(50% - 38px);
  }
  
  .thumbnail{
    display: none;
  }
  
}