
/* Loading背景画面設定　*/
#splash {
    /*fixedで全面に固定*/
      position: fixed;
      width: 100%;
      height: 100%;
      z-index: 999;
      background:#fff;
      text-align:center;
      color:#fff;
    }
    
    /* Loading画像中央配置　*/
    #splash_logo {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
    }
    
    /* Loading アイコンの大きさ設定　*/
    #splash_logo img {
      width:360px;
    }
    
    /* fadeUpをするアイコンの動き */
    .fadeUp{
    animation-name: fadeUpAnime;
    animation-duration:0.5s;
    animation-fill-mode:forwards;
    opacity: 0;
    }
    
    @keyframes fadeUpAnime{
      from {
        opacity: 0;
      transform: translateY(100px);
      }
    
      to {
        opacity: 1;
      transform: translateY(0);
      }
    }
  
  
  
  
  


  
  /*
  メイン
  */
  
  #top{
    position: relative;
    width: 100%;
    height: 110vh;/*スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
  
  }
  #slider {
    position: absolute;
      width: 100%;
      height: 110vh;/*スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
  }
  #top h2{
      letter-spacing:8px;
      position: absolute;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  color: #fff;
  font-size: 50px;
  padding: 2px 0;
  /* border-bottom: 2px solid #fff; */
  }
  
  #top text{
    position: absolute;
  top: 58%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
    font-size: 1.2rem;
    font-family: serif;
    color: #fff;
  
  }
  
  
  /*
  ニュース
  */
  
  #news{
    width: 100%;
    /* height:450px; */
    padding:  80px 0;
    font-family: 'Arvo', serif;
  
  }
  
  .section_header{
  /* background-color: red; */
    width: 700px;
    margin: auto;
    height: 100px;
    align-items: center;
    padding: 0 40px;
    justify-content:space-around;
    border-bottom: 0.5px solid #333;
  }
  .section_title{
    line-height: 1px;
    text-align: center;
  
  
  }
  
  
  
  .section_title span{
    font-size: 10px;
  }
  
  .section_header li{
    margin: 20px 15px 0 15px;
    color: #fff;
    background-color: #797979;
    padding: 5px 10px;
    font-size: 13px;
  }
  
  .news_chip{
    display: block;
    width: 40%;
    line-height:50px;
    margin: 40px auto;
  
    /* background-color: red; */
  }
  
  
  .news_chip .news_tag{
    margin: 20px 15px 0 15px;
    color: #fff;
    background-color: #797979;
    padding: 5px 20px;
    font-size: 13px;
  }
  .news_chip span{
      font-size: 12px;
      margin: 40px;
  }
  
  .news_chip font{
    font-size: 15px;
  }
  
  /*
  about
  */
  
  
  #top_banner ul{
    justify-content: space-between;
    flex-wrap:wrap;
    text-align: center;
  }
  #top_banner ul li{
    width: 33%;
  }
  
  #top_banner ul li .img{
    width: 100%;
    height: 500px;
    
  }
  
  #top_banner ul li .img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #top_banner h2{
    font-family: "Reem Kufi Fun", sans-serif;
  margin: 10px auto;
  line-height: 25px;
  }
  
  #top_banner h2 span{
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 10px;
  }
  
  #top_banner .top_banner_btn{
    margin: 20px auto 80px;
    color: rgb(17, 0, 90);
    font-family: "Ysabeau Infant", sans-serif;
  }
  
  
  
    
  @media (max-width: 1920px) { 
    #top_banner ul li .img{
      width: 100%;
      height: 500px;
      
    }
  
  
  }
  @media (max-width: 1440px) { 
   
    #top_banner ul li .img{
      width: 100%;
      height: 300px;
      
    }
   }
  @media (max-width: 1280px) { 
    #top_banner ul li .img{
      width: 100%;
      height: 250px;
      
    }
   }
  @media (max-width: 1024px) { 
    #top_banner ul li{
      width: 49.5%;
      text-align: center;
    }
  
    #top_banner .top_banner_btn{
      margin: 20px auto 50px;
    }
  
  }
  
  @media (max-width: 768px){
  
    #top_banner ul{
      display: block;
      margin: 0;
    }
    #top_banner ul li{
      height: 300px;
      width: 100%;
      text-align: center;
      position: relative;
    }
  
    #top_banner ul li .img{
      width: 100%;
      height: 300px;
      position: absolute;
      top:0;
      z-index: -1;
      left:0;
      background: linear-gradient(rgb(3, 3, 97), rgb(70, 103, 160));
    }
  
    #top_banner ul li .img img{
      opacity: 50%;
    }
  
  
    #top_banner ul li h2{
      margin: 10px auto;
  color: #fff;
  /* background-color: red; */
  padding: 100px 0 0px;
    }
  
    #top_banner .top_banner_btn{
      margin: 20px auto 30px;
      background-color: #fff;
      padding: 3px 10px;
      width: fit-content;
    }
  
  
  }
  @media (max-width: 600px)  { }
  @media (max-width: 420px)  { 
    #top_banner ul li{
      height: 200px;
      width: 100%;
      text-align: center;
      position: relative;
    }
  
    #top_banner ul li .img{
      width: 100%;
      height: 200px;
      position: absolute;
      top:0;
      z-index: -1;
      left:0;
    }
  
    #top_banner .top_banner_btn{
      margin: 20px auto 30px;
      background-color: #fff;
      padding: 3px 10px;
      width: fit-content;
      font-size: 15px;
    }
  
  
    #top_banner ul li h2{
      margin:5px auto;
  color: #fff;
  /* background-color: red; */
  padding: 50px 0 0px;
    }
  
  
   }
  
  
  
  
  
  
  
  
  /*
  インフォメーション
  
  */
  
  
  
  
  
  #info{
    width: 100%;
    padding:  60px 0 60px;
    font-family: 'Arvo', serif;
  text-align: center;
  }
  
  #info .top-contact{
    width: 500px;
    border-radius: 3px;
    box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.10);
    padding: 50px 80px;
    margin: 0 auto;
    letter-spacing: 2px;
  }
  
  
  
  #info .top-contact h3{
    letter-spacing:2px;
    text-align: center;
    font-size: 20px;
    line-height: 30px;
  }
  
  
  #info .top-contact span{
    font-size: 13px;
  }
  
  #info .tel{
    margin: 10px auto;
    width: fit-content;
    background-color: #797979;
    color: #fff;
    padding: 5px 20px;
    letter-spacing:0.1rem;
  }
  
  #info .tel a{
    width: 100%;
  }
  
  @media (max-width: 768px)  {
  
  
  
  
    #info{
  
      padding:  30px 0 30px;
  
    }
    
    #info .top-contact{
      width: 350px;
      max-width: 80%;
      padding: 30px 10px;
    }
    
    
    
    #info .top-contact h3{
      font-size: 18px;
      line-height: 25px;
    }
    
    
    #info .top-contact span{
      font-size: 10px;
    }
    
    #info .tel{
      margin: 10px auto;
      width: fit-content;
      background-color: #797979;
      color: #fff;
      padding: 5px 20px;
      letter-spacing:0rem;
    }
    
    
  
  
   }
  @media (max-width: 600px)  { }
  @media (max-width: 420px)  {  }
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  .page--header{
    color: #333;
  }
  
  
  
  
  
  
  
  /* page */
  
  .page-header{
    background-color: #666666;
    /* background-image: url("../img/page/page-header.webp"); */
  text-align: center;
  background-size: cover;
  }
  
  
  .page-header h2{
    padding: 100px 0 30px;
    margin: 0;
    color: #fff;
    font-size: 35px;
    font-family: "Ysabeau Infant", sans-serif;
    letter-spacing: 3px;
  }
  
  
  
  
  @media (max-width: 1024px) {
    .page-header h2{
      padding: 50px 0 20px;
      margin: 0;
      color: #fff;
      font-size: 30px;
      letter-spacing: 3px;
    }
    
  }
  
  
  @media (max-width: 600px)  {
    .page-header h2{
      padding: 50px 0 15px;
      margin: 0;
      font-size: 25px;
      letter-spacing: 3px;
    }
  
  }
  @media (max-width: 420px)  {
  
    .page-header h2{
      padding: 50px 0 15px;
      margin: 0;
      font-size: 25px;
      letter-spacing: 3px;
    }
  
  
   }
  
  
  
  
  /* CONCEPT */
  
  
  
  
  .page-concept{
    width: 90%;
    margin: 100px auto;
  }
  
  
  
  .page-concept .concept-flex{
    display: flex;
    justify-content: space-between;
    margin: 0 auto 50px;
  }
  
  .page-concept .concept-flex .img{
    width: 45%;
  }
  
  
  
  .page-concept .concept-flex .concept-content{
    width: 50%;
  }
  
  
  .page-concept .concept-flex .concept-content h3{
  
    font-size: 35px;
    font-weight: inherit;
  }
  
  .page-concept .concept-flex .concept-content .text{
    line-height: 40px;
  }
  
  
  .page-concept .concept-img{
    width: 100%;
    height: 400px;
    margin: 0 auto 50px;
  }
  
  
  .page-concept .concept-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  .page-concept .concept-text{
    width: 100%;
    line-height: 40px;
    margin: 0 auto 200px;
  }
  
  
  
  
  
  @media (max-width: 1280px) {
  
  
  
  .page-concept{
    width: 95%;
    margin: 80px auto;
  }
  
  
  
  .page-concept .concept-flex{
    display: flex;
    justify-content: space-between;
    margin: 0 auto 50px;
  }
  
  .page-concept .concept-flex .img{
    width: 45%;
  }
  
  
  
  .page-concept .concept-flex .concept-content{
    width: 50%;
  }
  
  
  .page-concept .concept-flex .concept-content h3{
  
    font-size: 35px;
    margin: 15px 0;
    font-weight: inherit;
  }
  
  .page-concept .concept-flex .concept-content .text{
    line-height: 40px;
  }
  
  
  .page-concept .concept-img{
    width: 100%;
    height: 400px;
    margin: 0 auto 50px;
  }
  
  
  .page-concept .concept-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  .page-concept .concept-text{
    width: 100%;
    line-height: 40px;
    margin: 0 auto 200px;
  }
  
  
  
  
   }
  @media (max-width: 1024px) {
  
  
  
  .page-concept{
    width: 100%;
    margin: 10px auto;
  }
  
  
  
  .page-concept .concept-flex{
    display: block;
    justify-content: space-between;
    margin: 0 auto 50px;
  }
  
  .page-concept .concept-flex .img{
    width: 100%;
  height: 400px;
  }
  
  .page-concept .concept-flex .img img{
    width: 100%;
    height: 100%;
  
  }
  
  
  
  .page-concept .concept-flex .concept-content{
    width: 95%;
    margin: 20px auto 0;
  }
  
  
  .page-concept .concept-flex .concept-content h3{
  
    font-size: 35px;
    margin: 10px 0;
    font-weight: inherit;
  }
  
  .page-concept .concept-flex .concept-content .text{
    line-height: 25px;
  }
  
  
  .page-concept .concept-img{
    width: 100%;
    height: 400px;
    margin: 0 auto 20px;
  }
  
  
  .page-concept .concept-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  .page-concept .concept-text{
    width: 95%;
    line-height: 25px;
    margin: 0 auto 100px;
  }
  
  
  
  }
  @media (max-width: 768px)  {  }
  @media (max-width: 600px)  { 
  
  
  
    
  }
  @media (max-width: 420px)  {  
    .page-concept .concept-flex .concept-content h3{
  
      font-size:25px;
      margin: 10px 0;
      font-weight: inherit;
    }
  
    .page-concept .concept-img{
      width: 100%;
      height: 300px;
      margin: 0 auto 20px;
    }
  
    .page-concept .concept-flex .img{
      width: 100%;
    height: 300px;
    }
  }
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  .page-contact{
    margin: 100px auto;
    width: 690px;
  }
  
  
  .page-contact .text{
  margin: 100px auto 50px;
  }
  
  .page-contact dl{
    width: 100%;
    margin: 50px 0;
    /* background-color: red; */
    display: flex;
    align-items: top;
    justify-content: space-between;
  }
  
  .page-contact dl dt{
    width: 20%;
  }
  .page-contact dl dt span{
    color: red;
  }
  .page-contact dl dd{
    width: 75%;
  }
  .page-contact dl dd #select,
  .page-contact dl dd #name,
  .page-contact dl dd #kana,
  .page-contact dl dd #tel,
  .page-contact dl dd #address-number,
  .page-contact dl dd #address,
  .page-contact dl dd #mail,
  .page-contact dl dd #message,
  .page-contact dl dd #check
  {
    border: 1px solid #797979;
    padding: 5px 1%;
    border-radius: 5px;
    width: 98%;
  }
  
  
  .page-contact .contact-btn{
    background-color: #021E5D;
    padding: 10px;
    color: #fff;
    text-align: center;
    border-radius: 100px;
    width: 150px;
    margin: 50px auto;
  }
  
  
  
  
  
  
  @media (max-width: 768px)  { 
  
  
  
  
    .page-contact{
      margin: 50px auto;
      width: 95%;
    }
    
    
    .page-contact .text{
    margin: 50px auto;
    }
    
    .page-contact dl{
      width: 100%;
      margin: 30px 0;
      display: block;

      justify-content: space-between;
    }
    
    .page-contact dl dt{
      width: 100%;
    }
    .page-contact dl dt span{
      color: red;
    }
    .page-contact dl dd{
      width: 100%;
      margin: 0;
      padding: 0;
    }
    .page-contact dl dd #select,
    .page-contact dl dd #name,
    .page-contact dl dd #kana,
    .page-contact dl dd #tel,
    .page-contact dl dd #address-number,
    .page-contact dl dd #address,
    .page-contact dl dd #mail,
    .page-contact dl dd #check
    {
  margin: 10px 0;
      padding: 5px 1%;
      border-radius: 5px;
      width: 98%;
    }
    


    .page-contact dl dd #message{

      margin: 10px 0;
      padding: 5px 1%;
      border-radius: 5px;
      width: 98%;
   
    }



    .mw_wp_form_confirm dl dd{



        margin: 10px 0 0 0;
    
     
    }
    .page-contact .contact-btn{
   
      background-color: #021E5D;
      padding: 10px;
      color: #fff;
      text-align: center;
      border-radius: 100px;
      width: 150px;
      margin: 50px auto;
    }
    
    
  
  
  
   }
  @media (max-width: 600px)  { }
  @media (max-width: 420px)  {  }
  
  
  


/* ───────── projects list (2 columns) ───────── */
.page-project .project-list{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;                   /* 要素間 */
  list-style: none;
  margin: 0;
  padding: 0;
}

.page-project .project-list li{
  width: calc(50% - 1px);     /* 2 列 */
  /* 行間が欲しい場合はここで margin-bottom を追加 */
}

/* 1列化（任意） */
/* @media (max-width: 768px){
  .page-project .project-list li{
    width: 100%;
  }
} */

/* 画像“フレーム”――★高さを決める主役 */
.page-project .project-list .img{
  aspect-ratio: 3 / 1.8;         /* 例：横長カード 3:2。1/1 なら正方形 */
  overflow: hidden;            /* はみ出しをカット */
  border-radius: 4px; 
           /* 角丸が不要なら削除 */
  background: #f5f5f5;         /* 画像読み込み前の下地（任意） */
}

/* 画像本体――★全面フィットでトリミング */
.page-project .project-list .img img{
  width: 100%;
  height: 100%;
  object-fit: cover;           /* 余白を作らず中央トリミング */
  display: block;
  transition: transform .3s ease;
}

/* ホバーでふわっと拡大（任意） */
.page-project .project-list .img:hover img{
  transform: scale(1.05);
}

.page-project .project-list li{
  width: calc(50% - 20px);
  /* 高さを揃えた画像の下に余白を追加したい場合 */
  margin-bottom: 20px;
}

/* ホバーでふわっと拡大など */
.page-project .project-list .img:hover img{
  transform: scale(1.05);
  transition: transform .3s ease;
}











  
  /* projekuto */
  
  .page-project{
    width: 80%;
    margin: 100px auto;
  
  }
  
  .page-project ul{
    flex-wrap: wrap;
    display: flex;
    justify-content: center;
  }
  
  .page-project ul li{
    text-align: center;
    width: 50%;
    margin: 0 0 50px;
  }
  
  
  
  
  
  
  
    
  @media (max-width: 1920px) { }
  @media (max-width: 1440px) { 
   
   }
  @media (max-width: 1280px) {  }
  @media (max-width: 1024px) { 
  
  .page-project{
    width: 90%;
    margin: 100px auto;
  
  }
  
  .page-project ul{
    flex-wrap: wrap;
    display: flex;
  }
  
  .page-project ul li{
    text-align: center;
    width: 49%;
    margin: 0 0 0px;
  }
  
  
  
  }
  @media (max-width: 768px)  { 
    .page-project{
      width: 95%;
      margin: 50px auto;
    
    }
    
    .page-project ul{
      flex-wrap: wrap;
      display: flex;
      padding: 0;
      width: 100%;
      margin: 0;
  

    }

    .page-project ul li{
      text-align: center;
      width: 49%;
      margin: 0;
      /* background-color: pink; */
    }
 
    .page-project .project-list li img{
     margin: 0; 
    }
    .page-project ul li h3{
      font-size: 13px;
      font-weight: inherit;
      margin: 0;
      padding: 0;
      /* background-color: pink; */
    }
/* 画像“フレーム”――★高さを決める主役 */
.page-project .project-list .img{
  aspect-ratio: 3 / 1.8;         /* 例：横長カード 3:2。1/1 なら正方形 */
  overflow: hidden;            /* はみ出しをカット */
  border-radius: 4px; 
           /* 角丸が不要なら削除 */
  background: #f5f5f5;         /* 画像読み込み前の下地（任意） */
  margin: 0;
} 

    .page-project .project-list li{
      /* background-color: red; */
      /* margin: 0; */
   
    }


   }
  
  
  
  
  
  
  
  /* p路フィール */
  .page-profile{
    width: 690px;
  
    margin: auto;
  }
  
  
  .page-profile h2{
  text-align: center;
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #021E5D;
  margin: 100px auto 50px;
  }
  
  
  .page-profile h2 span{
    font-family: "Ysabeau Infant", sans-serif;
    font-size: 13px;
  }
  
  
  .page-profile dl,
  .profile-history dl{
    font-family: "Zen Kaku Gothic New", sans-serif;
    display: flex;
    justify-content: space-between;
    margin: 40px auto;
  }
  
  
  .page-profile dl dt,
  .profile-history dl dt{
    width: 20%;
  }
  
  
  .page-profile ul,
  .profile-history ul{
    border-top: 1px solid #021E5D;
    border-bottom: 1px solid #021E5D;
    position: relative;
    display: block;
    padding: 50px 0;
  }
  
  .page-profile dl dd,
  .profile-history dl dd{
    width: 75%;
  }
  
  
  
  .profile-history .img{
    position: absolute;
    top:50px ;
    right: 0;
    width: 130px;
    height: 150px;
  }
  
  .profile-history .img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  
  
  .profile-access .text{
    text-align: center;
  }
  
  .profile-access iframe{
    width: 100%;
    margin: 30px auto 150px;
  }
  
  
  
  
  @media (max-width: 768px)  { 
  
    /* p路フィール */
    .page-profile{
      width: 95%;
      margin: auto;
    }
    
    
    .page-profile h2{
    text-align: center;
    color: #021E5D;
    margin: 50px auto 20px;
    font-size: 18px;
    }
    
    
    .page-profile h2 span{
      font-size: 13px;
    }
    
    
    .page-profile dl,
    .profile-history dl{
      display: block;
      justify-content: space-between;
      margin: 30px auto;
      /* width: 100%; */
    }
    
    
    .page-profile dl dt,
    .profile-history dl dt{
      width: 100%;
      font-weight: bold;
      margin: 0 0 10px;
    }
    
    
    .page-profile ul,
    .profile-history ul{
      border-top: 1px solid #021E5D;
      border-bottom: 1px solid #021E5D;
      position: relative;
      display: block;
      padding: 20px 2%;
    }
    
    .page-profile dl dd,
    .profile-history dl dd{
      width: 100%;
      padding: 0;
      margin: 0;
    }
    
    
    
    .profile-history .img{
      position: absolute;
      top:50px ;
      right: 0;
      width: 130px;
      height: 150px;
      display: none;
    }
    
  
    
    
    
    
    
    .profile-access iframe{
      width: 100%;
      height: 400px;
      margin: 30px auto 150px;
    }
    
    
     }
  @media (max-width: 600px)  { }
  @media (max-width: 420px)  {  }
  
  
  
  
  
  
  
  
  
  .page-project-single{
    width: 900px;
    max-width: 95%;
    margin: 100px auto;
  }
  
     /* ───────────────────── メインスライダー */
     .main-swiper {
      width: 100%;
      height: auto; /* 必要に応じて変更 */
      margin-bottom: 16px;
    }
    .main-swiper img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }
  
    /* ───────────────────── サムネイル */
    /* 2行×5列（10枚）想定。高さ=サムネイル高さ×行数＋余白 */
    .thumbs-swiper {
      height: 190px;
      box-sizing: border-box;
      padding: 4px 0;
    }
    .thumbs-swiper .swiper-slide {
      height: 90px;       /* サムネイルの高さ */
      opacity: 0.4;
      overflow: hidden;
      cursor: pointer;
      border-radius: 4px;
      transition: opacity 0.25s ease;
    }
    .thumbs-swiper .swiper-slide-thumb-active {
      opacity: 1;
    }
    .thumbs-swiper img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  
    /* ───────────────────── 矢印 */
    .swiper-button-next,
    .swiper-button-prev {
      color: #1e1e1e;
    }
  
    /* ───────────────────── キャプション */
    .caption {
      margin-top: 1.2rem;
      font-size: 0.9rem;
      line-height: 1.6;
    }
  
  /* ★ここだけ追加・修正してください ------------------------------ */
  :root{
    --thumb-size: 90px;   /* サムネイル 1 枚の高さ */
    --thumb-gap : 8px;    /* 行間 (spaceBetween と同じ) */
  }
  
  /* 固定高だと行数を変えた時に崩れるため auto に */
  .thumbs-swiper{
    height: calc(var(--thumb-size) * 2 + var(--thumb-gap));  /* rows=2 用 */
    padding: 4px 0;
  }
  
  /* モバイル幅で rows=1 にする場合の例 */
  @media (max-width: 479px){
    .thumbs-swiper{
      height: calc(var(--thumb-size) + var(--thumb-gap));    /* rows=1 用 */
    }
  }
  
  
  /* ① スライダー全体の高さを変数で管理 -------------- */
:root{
  --main-h: 560px;          /* PC 基本 16:9 程度 */
}
@media (max-width: 991px){
  :root{ --main-h: 70vw; }  /* タブレット以下は画面幅基準で可変 */
}

/* ② スライダー本体 */
.main-swiper{
  width: 100%;
  height: var(--main-h);     /* ここを固定高に */
}

/* ③ スライドを flex-box で中央揃えにする */
.main-swiper .swiper-slide{
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ④ 基本は横画像想定（幅いっぱい） */
.main-swiper img{
  width: 100%;
  height: 100%;
  object-fit: cover;        /* はみ出し部分をトリミング */
}

/* ⑤ 縦画像だけ高さ合わせ・幅自動 */
.main-swiper img.portrait{
  width: auto;              /* 幅は画像比率に任せる */
  height: 100%;             /* 高さだけ固定枠に合わせる */
  object-fit: contain;      /* 余白は左右に出す（トリミング無しなら cover→contain 推奨） */
}

@media (max-width: 768px) {
.page-project-single h2{

  font-size: 15px;
  font-weight: inherit;
}
}

/* ダミー用 */
.project-list li.dummy{
  visibility: hidden;   /* 中身もマージンも確保しつつ非表示 */
}