@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Lato&family=Montserrat:wght@300;400&display=swap');
.sp{
  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: #ffffff;
    z-index: 100;
  }
  
  header .content{
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 60px;
    width: 90%;
    max-width: inherit;
  }
  
  .headWrap h1 a{
    display: flex;
    align-items: center;
  }

.headWrap h1 img{
  width: 54px;
}

.headWrap h1 span:nth-child(1){
  line-height: 0;
}

  .headWrap h1 small{
    display: inline-block;
    margin-left: 10px;
    font-size: 10px;
  }
 
  @media screen and (min-width:1000px){
    .menuBox{
      display: flex;
      width: 1045px;
      align-items: center;
    }
    
    .menuBox li{
      display: flex;
      
    }
    
    .menuBox a{
      color:#000000;
      font-size: 14px;
      font-weight: bold;
      margin-left: 15px;
      display: inline-flex;
    }
  }

  .fv .slick-dots{
    display: flex;
    justify-content: center;
  }  
  
  .fv .slick-dots li{
    text-indent: -9999px;
    border:1px solid #9E2030;
    border-radius: 100px;
    height: 10px;
    width: 10px;
    margin: 10px 5px;
  }  
  
  .fv .slick-dots li.slick-active{
    background:#9E2030;
  } 

.fv{
  max-width: 1100px;
  margin: auto;
  margin-bottom:0;
}
  
  .headBtn a{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 140px;
    height: 30px;
    color:#ffffff;
    background: #9E2030;
    font-weight: bold;
    font-size: 12px;
    border-radius: 100px;
     box-shadow: 3px 3px 12px 0 rgba(0 0 0 / 25%);
  }
  
  .headBtn a img{
    margin-right: 3px;
    display: inline-block;
  }
   

  .headBtn.pt02 a{
    color:#9E2030;
    background: #ffffff;
    border:1px solid #9E2030;
  }

  .headBtn.pt03 a{
    background: #000000;
    border:1px solid #000000;
  }

.seo{
  font-size: 10px;
  line-height: 17px;
  text-align: center;
  padding:0 5%;
}
  
  .pageTitle{
    font-size: 40px;
    letter-spacing: 0.05em;
    font-weight: normal;
    text-align: center;
    line-height: 1.25em;
  }  
  
  p.subTitle{
    font-size: 14px;
    text-align: center;
    font-weight: bold;
    margin-bottom: 25px;
  }  
  
  .sec{
    padding:40px 0;
  }
  
  .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;
  } 
  
  .castList--cont{
    margin-top: 10px;
    display: flex;
    align-items: center;
  }
  
  .castList--name{
    font-weight: bold;
    font-size: 20px;
    margin-right: 8px;
    line-height: 0.9em;
  }
  
  .castList--cont .eng02{
    font-size: 12px;
    color:#9E2030;
    font-weight: bold;
  }  

  .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;
  }

  #shopinfo,
  #price{
    padding-top: 60px;
  }
  
  .shopinfoWrap{
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 715px;
    width: 100%;
    margin: auto;
  }
    
  .shopinfo--box{
   width: calc(50% - 10px); 
  }
  .shopinfo--Table{
    width: 100%;
    margin: auto;
  }
  
  .shopinfo--Table th{
    width: 7em;
    border-bottom: 1px solid #DEDEDE;
    padding: 8px 0;
    text-align: left;
    font-size: 14px;
    color:#2C2C2C;
    vertical-align: middle;
    font-weight: normal;
  }
  
  .shopinfo--Table td{
    width: calc(100% - 7em);
    border-bottom: 1px solid #DEDEDE;
    padding: 8px 0;
    text-align: left;
    font-size: 14px;
    color:#2C2C2C;
    vertical-align: middle;
    font-weight: bold;
  }

  .shopinfo--Table tr:last-child th,
  .shopinfo--Table tr:last-child td{
    border-bottom: none;
  } 

  .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;
  }
  
  .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;
  }

  .priceWrap{
    padding: 15px;
    border:2px solid #EDEDED;
    border-radius: 10px;
    max-width: 640px;
    width: 100%;
    margin: auto;
  }
  
  .mb30{
    margin-bottom: 10px;
  }
  
  .price--box h3{
    border-radius: 8px 8px 0 0;
    font-size: 18px;
    color:#ffffff;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    background: #9E2030;
    min-height: 37px;
    margin-bottom: 10px;
  }
  
  .price--box dl{
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
  }
  
  .price--box dl:not(:last-child){
    border-bottom: 1px solid #DEDEDE;
  }
  
  .price--box dl span{
    font-size: 10px;
  }
  
  .price--box dt,
  .price--box dd{
    color:#1F1F1F;
    font-size: 14px;
    font-weight: bold;
  }
  
  .price--box dd{
    text-align: right;
  }
  

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

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

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

/*
  .event--Img{
    width: 100%;
    height:186px;
  }
*/

/* 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;
  }
*/

/* caba2変更 */
  .event--date{
    font-size: 14px;
    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{
	padding-top:5px;
	width:168px;
    font-weight:bold;
    font-size: 16px;
  }

/* 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%;
    pointer-events: none;
  }
  
  .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: 40px;
  }
  
  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;
  }

.topBnr{
  text-align: center;
}

.slick-slide .sp {
    display: none;
}

/* 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;
  }
  
}

/* other */
  .recruitCont01{
    display: flex;
    justify-content: space-between;
  } 
  
  .recruitCont01-box{
    width: calc(100% - 600px);
  }
  
  .recruitContTable{
    width: 580px;
  }

  .recruitCont01-text{
    margin-top: 20px;
    padding: 35px 15px;
    font-weight: bold;
    font-size: 24px;
    color:#9E2030;
    border:1px dashed #9E2030;
    line-height: 36px;
    border-radius: 8px;
  }

  .recruitContTable dl{
    display: flex;
    margin-bottom: 3px;
  }
  
  .recruitContTable dt{
    display: flex;
    justify-content: center;
    align-items: center;
    background: #9E2030;
    width: 80px;
    border:1px solid #9E2030;
    color:#ffffff;
    font-size: 14px;
    font-weight: bold;
  }
  
  .recruitContTable dd{
    display: flex;
    align-items: center;
    width: calc(100% - 80px);
    border:1px solid #EAEAEA;
    border-left: 0;
    padding: 15px;  
  }

.recruitContTable dd > div{
  width: 100%;
}
  
  .recText01{
    color:#9E2030;
    font-weight: bold;
    font-size: 20px;
    margin-bottom: 10px;
  }
  
  .recText02{
    font-weight: bold;
    font-size: 14px;
  }

.recMap{
  margin-top: 10px;
}

  .recTel a{
    font-size: 18px;
    font-weight: bold;
    text-decoration: underline;
  }

  .recruit_h3{
    font-weight: bold;
    font-size: 24px;
    line-height: 31px;
  }
  
  .recruit_p{
    font-size: 14px;
    line-height: 2em;
    font-weight: bold;
    margin-top: 10px;
    margin-bottom: 30px;
  }
  
  .recList{
    display: flex;
    justify-content: space-between;
  }
  
  .recList li{
    width:calc((100% - 40px) / 3);
  }  

  .r_contact{
    text-align: center;
    margin-top: 40px;
  } 
  
  .r_contact a{
    display: inline-flex;
    width: 320px;
    height: 65px;
    border-radius: 100px;
    justify-content: center;
    align-items: center;
    color:#9E2030;
    border:1px solid #9E2030;
    background: #ffffff;
    font-size: 20px;
    font-weight: bold;
    box-shadow:3px 3px 12px 0 rgba(0 0 0 / 14%);
  } 

  .recruitContTable.pt02 dt{
    background: #000000;
    border:1px solid #000000;
  }

  .recruitList ul{
    display: flex;
    flex-wrap: wrap;
    margin-top: 20px;
  } 
  
  .recruitList li:nth-child(3n + 2){
    margin-left:20px;
    margin-right:20px;
  }
  
  .recruitList li{
    width: calc((100% - 40px) / 3);
    margin-bottom: 20px;
    padding: 20px;
    background: #F8F8F8;
  }
  
  .recruitList li .text01 span{
    display: inline-block;
    padding: 2px 20px;
    font-size: 16px;
    font-weight: bold;
    color:#ffffff;
    background: #000000;
    margin-bottom: 10px;
    min-width: 70%;
  }
  
  .recruitList li .text02{
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 10px;
  }
  
  .recruitList li .text03{
    font-size: 14px;
    font-weight: bold;
  }

  .formWrap{
    width: 100%;
    max-width: 920px;
    border-radius: 10px;
    padding: 40px 90px;
    background: #ffffff;
    margin: auto;
    box-shadow: 0 0 40px rgba(0 0 0 / 4%);
  } 
  
  .entry__form {
    margin-top: 0;
    padding: 0;
  }
  
  .col1{
    width: 100%;
  }
  
  .col2{
    width: 50%;
  }
  
  .col3{
    width: calc(100% / 3);
  }
  
  .entry__form-item:nth-last-child(n+2) {
    border-bottom: none;
    padding-bottom: 20px;
    padding-top: 20px;
  }
  
  .contactText{
    font-size: 14px;
    margin-bottom: 10px;
    font-weight: bold;
  }
  
  .contactText span{
    color:#FF0000;
  }
  
  .entry__button{
    border-radius: 100px;
  }

.entry__button:hover{
opacity: 1;  
}

.submitBtn{
  background: #000000 !important;
}

.submitBtn:hover{
  opacity: 0.6;
}

  .thanks--wrapper{
    min-height: calc(100vh - 216px);
    background: #FAFAFA;
  }

  .thanksTitle{
    padding: 40px 0;
    background: #ffffff;
  }
  
  .thanksTitle h2{
    margin-bottom: 0;
  }
  
  .thanks{
    margin: auto;
    margin-top: 40px;
    width:90%;
    max-width: 715px;
    padding:40px 30px;
    border-radius: 10px;
    box-shadow: 0 0 40px 0 rgba(0 0 0 / 4%);
    border:1px solid #F2F2F2;
  }
  
  .thanks__text:first-of-type {
    padding-top: 0;
    margin-bottom: 20px;
    font-weight: bold;
  }
  
  .thanks__link {
    color: #1F36C7;
    font-weight: bold;
  }
    
  .thanks__title{
    font-size: 20px;
    padding: 10px 0;
    border:none;
    height: auto;
    margin-bottom: 0;
  }

.topsec05{
  padding: 40px;
}