@charset "utf-8";
/*
Theme Name:kscinema
Description:ポートフォリオサイト 
Version:1
Author:not
*/
/*------------------------------------リセット--------------------------------------*/
*{margin:0;padding: 0;
 /*outline:2px solid blue;*/
}
body{

  font-family: 'Sawarabi Mincho', serif; /* 日本語用 */
}
p{ margin:0;padding: 0;}
html{font-size: 100%;}
img{max-width: 100%;padding: 0;margin: 0;}
h1,h2,h3,h4,h5{padding: 0;margin: 0;font-size: 16px;}
/*----------------------------------------ヘッダー---------------------------------*/
/*-----パソコン-----*/
@media screen and (min-width: 870px) {
  }
.header{
  width: 100%;
  height: 100px;
  align-items: center;
  position: fixed;
  z-index: 100;
  display: flex;
  justify-content: space-between;
  box-sizing: border-box;
  margin: 0 0 0 0;
}
                      @media screen and (max-width: 869px) {
                      .header{
                        margin: 0 0 0 0;
                        }
                                            }
.header_logoBox{
margin-left: 30px;
width: auto;
height: auto;
border-radius: 5px;

/*background-color: #ffffff;*/
}
                      @media screen and (max-width: 869px) {
                      .header_logoBox{
                        margin-left: 20px;
                        }
                                            }
                                            
.header_logo{
  display: block;
  font-size:24px;
font-weight: bold;
color: #2C3E50;
padding: 10px;
text-shadow: #ffffff 1px 1px 1px;
}
.header_Button{
 display: block;
 width: 60px;
 height: 60px;
 position: relative;
 background-color: #2C3E50;
/* background: linear-gradient(270deg, #010834, #07114d);*/
 margin-right: 30px;
 border-radius: 50%;
 border: solid 2px #ffffff;
 transition: all 0.3s ease;

}
                      @media screen and (max-width: 869px) {
                     .header_Button{
                         margin-right: 20px;
                        }
                                            }
.header_Button-Line1{
  width: 25px;
  height: 2px;
  background-color: #ffffff;
  position: absolute;
  top:50%;
  left:50%;
  transform: translate(-50%,-8px);
  transition: all 0.3s ease;
}
.header_Button-Line2{
  width: 25px;
  height: 2px;
  background-color: #ffffff;
  position: absolute;
  top:50%;
  left:50%;
  transform: translate(-50%,0);
}
.header_Button-Line3{
  width: 25px;
  height: 2px;
  background-color: #ffffff;
  position: absolute;
  top:50%;
  left:50%;
  transform: translate(-50%,8px);
  transition: all 0.3s ease;
}
.header_Button-Line1.batu{
  transform: translate(-50%,0px) rotate(225deg);
}

.header_Button-Line2.batu{
display: none;
}
.header_Button-Line3.batu{
  transform: translate(-50%,0px) rotate(-225deg);
}

.header_Button:hover{
cursor: pointer;
background-color: #ffffff;
/*background: linear-gradient(270deg, #dbdbdb, #ffffff);*/
animation: template 0.3s ease forwards;
 border:  solid 2px  #2C3E50;

}
.header_Button:hover .header_Button-Line1,
.header_Button:hover .header_Button-Line2,
.header_Button:hover .header_Button-Line3 {
background-color:  #2C3E50;

}

  @keyframes template {
  0% { transform: scale(1);  }   /* アニメ開始時 */
  50% { transform: scale(0.8);  }   /* アニメ開始時 */
  100% { transform: scale(1); } /* アニメ終了時 */
}

.header_ListBox {
 position: absolute;
  top: 0;
  right: 0;
  width: 250px;
  height: 100vh;
  background-color: #2c3e50d9;
  transition: all 0.3s ease;
   margin:-30px 0 0 0;
  transform: translateX(250px)
}
                      @media screen and (max-width: 869px) {
                       .header_ListBox {
                       margin:-20px 0 0 0;
                        }
                                            }
.header_ListBox.open {
  transform: translateX(0px)
}
.header_ListBox ul{
 width: 100%;
 padding-top: 50px;
 
}
.header_ListBox ul li{
 list-style-type: none;
 margin: 50px 0 0 50px;
}
.header_ListBox ul li a{
 text-decoration: none;
 color: #ffffff;
 font-size: 20px;

}



                    /*----スマホ版----*/
                    /*@media screen and (max-width: 869px) {
                
                       
                    }*/
/*----------------------------------------メイン-----------------------------------*/
/*-----パソコン-----*/
@media screen and (min-width: 870px) {
}
  .main_TopBox{
  position: relative;
  width: 100%;
  height: 100vh;

 margin: 0 0 0 0 ;
 
  background-image: url('img/TOPimg.jpg'); /* 画像パス */
  background-size: cover;   /* 全画面に拡大縮小 */
  background-repeat: no-repeat;
  background-position: center center; /* 中央配置 */
 background-attachment: fixed; /* スクロールしても固定 */

  }
                      @media screen and (max-width: 869px) {
            
                                  .main_TopBox{
                        margin: 0 0 0 0 ;
                        /* iPhoneのアドレスバー対策もついでに */
                        height: 100vh;
                        height: 100svh;            /* iOS 16+ */
                        background-position: 35% center;  /* 60〜75%あたりで微調整 */
                        background-attachment: scroll;    /* fixedはスマホで不具合が出やすい */
                      }
                                            }
  /*
.main_Topimg{
  width: 100%;
  height: 100vh;
  object-fit: cover;
  vertical-align: bottom;
  
}*/
.main_TopText{
  display: none;
position: absolute;
top:150px;
left:150px;
font-size: 70px;
font-weight: bold;
color:  #2C3E50;
}
.main_logo{
  width: 160px;
  object-fit: cover;
  position: absolute;
top:70px;
left:30%;
}
                      @media screen and (max-width: 869px) {
                      .main_TopText{
                        top:110px;
                        left:20px;
                        font-size: 40px;
                        }
                        .main_logo{
                          width: 130px;
                          left:15%;
                          }
                                            }
.main_TopText2{
  display: none;
position: absolute;
top:250px;
left:205px;
font-size: 24px;
font-weight: bold;
color: #2C3E50;
}
                      @media screen and (max-width: 869px) {
                      .main_TopText2{
                        top:170px;
                        left:30px;
                        font-size: 18px;
                        }}
/*---------------------about-------------------*/
.main_concept{
    background: linear-gradient(0deg, #ffffff, #eaeaea);
  width: 100%;
  height: auto;
  /*background-color: #2c3e50;*/
   /*background: linear-gradient(0deg, #1c2835, #2c3e50);*/
  padding-bottom: 80px;
} 
.main_conceptBox{
   width: 100%;
padding: 0 15px 0 15px;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  height: auto;
  text-align: center;

}
.main_concept-concept{
  display: block;
  width: 150px;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 60px;
  padding-top: 80px;
  padding-bottom: 0px;
  font-size: 30px;
  color:#2c3e50d9;
  border-bottom: solid 1px #2c3e50d9;
  font-weight: 700;

}
.main_concept-title{
  display: block;
  width: 100%;
  max-width: 1100px;
  margin: 30px 15px 60px 15px;

  text-align: center;
  font-size: 24px;
 color: #ffffffd9;
 margin-left: auto;
 margin-right: auto;
 display: block;
 border-radius: 3px;
   background: linear-gradient(0deg, #1c2835, #40576e);
   box-sizing: border-box;

}
                      @media screen and (max-width: 869px) {
                      .main_concept-title{
                         font-size: 20px;
                      }
                      }
.main_concept-texts{
  display: flex;
  justify-content: center;

}
.main_concept-text{
  
  width: 100%;
  line-height: 1.6; /* 行の高さを文字サイズの2倍にする */
  max-width: 750px;

  text-align: left;
  font-size: 16px;
  /*color: #ffffff;*/
}
                      @media screen and (max-width: 869px) {
                      .main_concept-text{
                         font-size: 15px;
                      }
                      }


.main_concept-blogBox{
  display: flex;
  justify-content: center;
  width: 100%;
  height: auto;
}
.main_concept-blog{
  margin: 0 10px 0 10px;
  width: 200px;
  height: 250px;
  background-color: #ffffff;
}


/*角井靴磨き店の説明*/
.description{
  padding: 80px 0 80px 0;
  width: 100%;
  height: auto;
  background-color: #2c3e50;
  background: linear-gradient(0deg, #1c2835, #2c3e50);
}
.description_BOX{
   width: 100%;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  height: auto;
  text-align: center;
    display: flex;
  justify-content: center;
}

.description_text{
  width: 100%;
  line-height: 1.4; /* 行の高さを文字サイズの2倍にする */
  max-width: 750px;
  padding: 0 15px 0 15px;
  text-align: left;
  font-size: 16px;
  color: #ffffff;
}

.description_name{
  width: 100%;
  text-align: right;
  font-weight: bold;
}

/*-----access------*/
.overview{
  width: 100%;
  height: auto;
  background: linear-gradient(0deg, #1c2835, #455a6f);
  padding: 80px 15px 0 15px;
}
.overview_BOX{
  width: 100%;
  max-width: 1100px;
  height: auto;
  margin-left: auto;
  margin-right: auto;
  
}

.overview_flex{
  width: 100%;
  max-width: 1100px;
 box-sizing: border-box;
 margin-left: auto;
 margin-right: auto;
 display: flex;
 justify-content: center;
 color: #fff;
 padding-bottom: 40px;
}
                      @media screen and (max-width: 869px) {
                      .overview_flex{
                        display:block;
                      }
                      }
.overview_title{
  display: inline-block; /* 子要素に幅を合わせる */
  width: auto;
  font-size: 24px;
   border-bottom: solid 1px #ffffff;
   margin-bottom: 20px;
   box-sizing: border-box;
}

.info{
width: 50%;
}
                      @media screen and (max-width: 869px) {
                      .info{
                        width: 100%;
                      }
                      }
.access{
width: 50%;
}
                      @media screen and (max-width: 869px) {
                     .access{
                      margin-top: 40px;
                      box-sizing: border-box;
                        width: 100%;
                      }
                      }
.map-wrap{
  width: 100%;
  border-radius: 3px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
}
.map-wrap iframe{
  width: 100%;
  height: 350px;
 
  display: block;
}
.pc{
  display: block;
}
.sp{
  display: none;
}
                      @media screen and (max-width: 869px) {
                     .pc{
                         display: none;
                      }
                      .sp{
                        display: block;
                      }
                      }
/*---------------------service-------------------*/
.main_service{
  width: 100%;
  height: auto;
  /*background-color: #2c3e50;*/
  background: linear-gradient(0deg, #ffffff, #eaeaea);
  padding:0 10px 80px 10px;

} 
   
.main_serviceBox{
   width: 100%;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  height: auto;
  text-align: center;

}
.main_service-service{
  display: block;
  width: 150px;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 60px;
  padding-top: 80px;
  padding-bottom: 0px;
  font-size: 30px;
  color: #2C3E50;
  border-bottom: solid 1px #2C3E50;
  font-weight: 700;

}
.main_service-migaki{
  width: 100%;
  max-width: 1100px;
  margin: 0px auto 30px auto;
  background-color: #fff;
  box-shadow: #1c2835 0 0 5px;
  border: solid 5px;
  border-image: linear-gradient(90deg,#c8ac70, #f3e3bf,#c8ac70) 1;
  padding-bottom: 30px;

}
                      @media screen and (max-width: 869px) {
                      .main_service-migaki{
                       text-align: center;
                        margin: 40px auto 30px auto;


                      }
                      }
.service-title span{
margin-left: 20px;
font-size: 16px;

}
.service-title{
  margin-top: 30px;
  font-size: 30px;
  font-weight:700;
  letter-spacing:.12em;
}
.service-title-op-pc{
  margin-top: 30px;
  font-size: 30px;
  font-weight:700;
  
}
.service-title-op-pc span{
margin-left: 20px;
font-size: 16px;
}
.service-title-op-sp{
  display: none;
}
.span1{
  display: none;
}
                      @media screen and (max-width: 869px) {
                      .service-title{
                       margin: 30px 0 0 0 ;
                      }
                      .service-title-op-pc{
                        display: none;
                        margin: 30px 0 0 0 ;
                      }
                      .service-title-op-sp{
                        display: block;
                        font-size: 30px;
                        padding: 0;
                        margin: 30px 0 0 0 ;
                        
                      }
                      .span1{
                        display: block;
                      margin-left: 0px;
                      font-size: 16px;
                      }
                      }
.yohaku{
  margin-left: 60px;
}
                      @media screen and (max-width: 869px) {
                      .yohaku{

                         margin-left: 0px;
                      }   
                      }
.careimg1{
width:300px;
  height: 260px;
vertical-align: bottom;
object-position: 0px -40px;  
margin: 10px 0px;

/* 四辺をぼかすマスク */
  -webkit-mask-image: 
    radial-gradient(farthest-side, rgba(0,0,0,1) 90%, rgba(0,0,0,0) 100%);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: 100% 100%;

  mask-image: 
    radial-gradient(farthest-side, rgba(0,0,0,1) 90%, rgba(0,0,0,0) 100%);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 100% 100%;

  -webkit-mask-image: 
    linear-gradient(to right, rgba(0,0,0,0), rgba(0,0,0,1) 10%, rgba(0,0,0,1) 90%, rgba(0,0,0,0)),
    linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,1) 10%, rgba(0,0,0,1) 90%, rgba(0,0,0,0));
  -webkit-mask-composite: intersect;
  mask-composite: intersect;
}
.careimg2{
width:300px;
  height: 260px;
vertical-align: bottom;
object-position: 0px -40px;  
margin: 10px 0px;

/* 四辺をぼかすマスク */
  -webkit-mask-image: 
    radial-gradient(farthest-side, rgba(0,0,0,1) 90%, rgba(0,0,0,0) 100%);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: 100% 100%;

  mask-image: 
    radial-gradient(farthest-side, rgba(0,0,0,1) 90%, rgba(0,0,0,0) 100%);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 100% 100%;

  -webkit-mask-image: 
    linear-gradient(to right, rgba(0,0,0,0), rgba(0,0,0,1) 10%, rgba(0,0,0,1) 90%, rgba(0,0,0,0)),
    linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,1) 10%, rgba(0,0,0,1) 90%, rgba(0,0,0,0));
  -webkit-mask-composite: intersect;
  mask-composite: intersect;

}
.careimg3{
width:300px;
  height: 260px;
vertical-align: bottom;
object-position: 0px -40px;  
margin: 10px 0px;

/* 四辺をぼかすマスク */
  -webkit-mask-image: 
    radial-gradient(farthest-side, rgba(0,0,0,1) 90%, rgba(0,0,0,0) 100%);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: 100% 100%;

  mask-image: 
    radial-gradient(farthest-side, rgba(0,0,0,1) 90%, rgba(0,0,0,0) 100%);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 100% 100%;

  -webkit-mask-image: 
    linear-gradient(to right, rgba(0,0,0,0), rgba(0,0,0,1) 10%, rgba(0,0,0,1) 90%, rgba(0,0,0,0)),
    linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,1) 10%, rgba(0,0,0,1) 90%, rgba(0,0,0,0));
  -webkit-mask-composite: intersect;
  mask-composite: intersect;
}

.main_service-migaki_Box img{
object-fit: cover;
}

.main_service-migaki_Box{
  position: relative;
  width: 300px;
  height: 740px;
  padding: 10px;
  border-radius: 10px;
  box-shadow: #1c2835 0 0 5px;
  background-color: #fff;
  box-sizing: border-box;
 margin: 20px 20px;
}                   
                      @media screen and (max-width: 869px) {
                      .main_service-migaki_Box{

                          margin: 40px 20px;
                      }   
                      }
.careimg_BOX{
  position: relative;
}
.before{
  top: 30px;
  font-size: 20px;
  position: absolute;
  z-index: 99;
  text-shadow: #ffffff 1px 1px 1px;
  font-weight: 800;
  color: #3279c5;
}
.after{
    top: 30px;
  font-size: 20px;
  position: absolute;
    z-index: 99;
     text-shadow: #ffffff 1px 1px 1px;
   font-weight: 800;
 color: #ec4949;
}
.main_service-migaki_Box-option{
  position: relative;
  width: 300px;
  height: 200px;
  padding: 10px;
  border-radius: 10px;
  box-shadow: #1c2835 0 0 5px;
  background-color: #fff;
  box-sizing: border-box;
  margin: 20px 20px;
}
                      @media screen and (max-width: 869px) {
                      .main_service-migaki_Box-option{

                          margin: 40px 20px;
                      }   
                      }
.main_service-migaki_Box_choki{
  position: relative;
  width: 350px;
  height: 230px;
  padding: 10px;
  border-radius: 10px;
  box-shadow: #1c2835 0 0 5px;
  background-color: #fff;
  box-sizing: border-box;
  margin: 20px 20px;

  
}
                      /*----スマホ版----*/
                      @media screen and (max-width: 869px) {
                      .main_service-migaki_Box_choki{
                         width: 300px;
                      }

                                            }
.main_service-migaki_Box_syucho{
  position: relative;
  width: 350px;
  height: 180px;
  padding: 10px;
  border-radius: 10px;
  box-shadow: #1c2835 0 0 5px;
  background-color: #fff;
  box-sizing: border-box;
  margin: 20px 20px;

  
}
                      /*----スマホ版----*/
                      @media screen and (max-width: 869px) {
                     .main_service-migaki_Box_syucho{
                           width: 300px;
                      }}
.main_service-migaki_Box-option2{
  position: relative;
  width: 300px;
  height: 1px;
  box-sizing: border-box;
  margin: 20px 20px;
  
}
                      /*----スマホ版----*/
                      @media screen and (max-width: 869px) {
                     .main_service-migaki_Box-option2{
                          display: none;
                      }}
.migaki-title-flex{
  position: relative;
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.migaki-title-flex p span{
 color: #b89b5e;
}
.migaki-title-min{
  top: -30px;
  right:-30px;
  position: absolute;
  background-color: #2c3e50;
  color: #fff;
  font-weight: bold;
  width: 60px;
  line-height: 60px;
  text-align: center;
  border: solid 1px #2c3e50;
  border-radius: 50%;
}
.migaki-title-min_syucho{
    top: -20px;
  right:-20px;
  position: absolute;
  background-color: #2c3e50;
  color: #fff;
  font-weight: bold;
  width: 150px;
  line-height: 40px;
  text-align: center;
  border: solid 1px #2c3e50;
  border-radius: 20px;
}

.migaki-text{
  display: block;
  width: 100%;
  margin-top: 10px;
  height: 80px;
  text-align: left;
}
.migaki-price{
    position: absolute;
  left: 10px;
  right: 10px;   /* ← これで左右にいっぱい（左右10pxの余白） */
  bottom: 10px;
  width: auto;   /* もしくは width: calc(100% - 20px); */
  max-width: none; /* ← 280pxの上限を解除 */
  box-sizing: border-box;
  border-radius: 5px;
  font-weight: bold;
  background-color: #2c3e50;
  color: #fff;
  text-align: center;
  padding: 0px 12px; /* 任意 */
 
}
.flex{
 
  display: flex;
  justify-content: center;
  
}
                      /*----スマホ版----*/
                      @media screen and (max-width: 869px) {
                      .flex{
                         width: 350px;
                        display: block;
                      margin-left:auto;
                      margin-right: auto;
                      
                      }
                                            }
.flex_choki{
  display: flex;
  justify-content: left;
  margin-left: 40px;
  
}
                      @media screen and (max-width: 869px) {
                      .flex_choki{
                        display:block;  
                         margin-left: 0px;                      
                      }
                                            }
.choki-syucho{
  width: 50%;
}
                      @media screen and (max-width: 869px) {
                      .choki-syucho{
                        width: 100%;
                        box-sizing: border-box;
                            }  
                                            }
/*-----------------------news--------------------*/
.main_news{
  width: 100%;
  height: auto;
  background-color: #ffffff;
  padding-bottom: 80px;
} 
.main_news-title{
  display: block;
  width: 100%;
  text-align: center;
padding-top: 40px;
padding-bottom: 30px;
  font-size: 30px;
  color:#2c3e50;
}
.main_news-blogBox{
  display: flex;
  justify-content: center;
  width: 100%;
  height: auto;
}
.main_news-blog{
  margin: 0 10px 0 10px;
  width: 200px;
  height: 250px;
  background-color:#2c3e50;
}


                      /*----スマホ版----*/
                    /*  @media screen and (max-width: 869px) {
                      
                                            }*/

/*----------------------------------------フッター---------------------------------*/
/*-----パソコン-----*/


  .copyright{
    padding: 80px 0 15px 0;
    width: 100%;
    line-height: 30px;
    text-align: center;
   /* background-color:  #2C3E50;*/
  }
    .copyright p{
   font-size: 10px;
   color: #fff;
  }

                      /*----スマホ版----*/
                      @media screen and (max-width: 869px) {
                        .copyright{
                        
                           padding: 40px 0 15px 0;
                        }

                      }



/* ===== theme ===== */
:root{
  --bg:#ffffff;
  --panel:#ffffff;
  --ink:#2C3E50;
  --muted:#2C3E50;
  --line:#848a956d;
  --accent:#b89b5e;  
}

/* ===== base ===== */
*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  /*font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;_*/
  line-height:1.8;
  letter-spacing:.02em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

.wrap{
  max-width: 1100px;
  margin:auto;

}


.sub{
  display:inline-block;
  margin-left: .8rem;
  /*font-family:"Noto Sans JP",sans-serif;*/
  font-weight:600;
  font-size:30px;
  color:var(--muted);
  /*letter-spacing:.25em;*/
  text-transform:uppercase;
}

/* 見出し下の細い金線 */
.title-rule{
  height:2px;
  width:min(320px,60%);
  background:linear-gradient(90deg,var(--accent),transparent 85%);
  margin:.2rem 0 2rem;
  opacity:.8;
}
.title-rule2{
  height:2px;
  width:min(620px,60%);
  background:linear-gradient(90deg,var(--accent),transparent 85%);
  margin:.2rem 0 2rem;
  opacity:.8;
}
                      /*----スマホ版----*/
                      @media screen and (max-width: 869px) {
                      .title-rule{
                        display: none;
                      
                      }
                       .title-rule2{
                        display: none;
                      
                      }
                     }
/* ===== table ===== */
.table-wrap{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:16px;
  padding: 18px 18px 6px;
  box-shadow: 0 0px 10px rgba(0, 0, 0, 0.075);
  overflow-x:auto; /* スマホ対策 */
}

table{
  width:100%;
  border-collapse:collapse;
  font-size:clamp(14px, 1.6vw, 16px);
  min-width:760px; /* スマホは横スクロール */
}

/* col width */
.col-name{ width:26%; }
.col-desc{ width:auto; }
.col-time{ width:9.5rem; }
.col-price{ width:9.5rem; }

.col-name-syutyo{ width:25%; }
.col-desc-syutyo{ width:25% }
.col-time-syutyo{ width:15%;}
.col-price-syutyo{ width:15%;  }
.col-bikou-syutyo{ width:50px; }

thead th{
  text-align:left;
  color:var(--muted);
  font-weight:600;
  letter-spacing:.12em;
  padding:14px 16px;
  border-bottom:1px solid var(--line);
  position:relative;
}

/* 細い金色の下線を見出しだけ強調 */
thead th::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:-1px;
  height:1px;
  background:linear-gradient(90deg,transparent, var(--accent), transparent);
  opacity:.45;
}

tbody th,
tbody td{
  padding:16px;
  vertical-align:top;
  text-align: left;
  border-bottom:1px dashed var(--line);
}

/* 一列目（メニュー）を行見出しに */
tbody th[scope="row"]{
  font-weight:600;
  font-family:"Noto Serif JP","Yu Mincho",serif;
  letter-spacing:.06em;
  position:relative;
  padding-left:32px;
}

/* 行頭の飾り（◆）を金色で */
tbody th[scope="row"]::before{
  content:"◆";
  position:absolute;
  left:12px; top:23px;
  color:var(--accent);
  font-size:.9em;
  line-height:1;
}

tbody tr:hover{
  background:rgba(255,255,255,.02);
}

/* 数字を揃えて気持ちよく */
.num{
  text-align:right;
  white-space:nowrap;
  font-variant-numeric: tabular-nums;
  font-feature-settings:"tnum";
}

/* ノート */
.notes{
  margin:14px 4px 0;
  padding:14px 18px;
  color:var(--muted);
  border-left:3px solid var(--accent);
  /*background:rgba(184,155,94,.05);*/
  border-radius:8px;
  font-size: .95rem;
}
.notes li{ margin:.2rem 0 .2rem 1.2rem; }

/* 印刷配慮（背景を抑える） */
@media print{
  body{ background:#fff; color:#222; }
  .table-wrap{ box-shadow:none; border-color:#999; }
  thead th::after{ display:none; }
  .notes{ background:#fff; color:#333; border-color:#999; }
}
.option{
  width: 200px;
}


/* カルーセル全体 */
.main_news .posts-carousel-wrap .swiper {
  width: min(100%, 1100px);
  margin-inline: auto;
}

.main_news .posts-carousel-wrap {
  padding-inline: 16px;
}
@media (min-width: 1024px) {
  .main_news .posts-carousel-wrap {
    padding-inline: 48px;
  }
}

/* サムネイル画像を統一サイズにする */
.pcard__thumb {
  width: 100%;
  height: 240px; /* ← 好みで調整。例: 200px, 250px など */
  overflow: hidden; /* はみ出しを隠す */
  border-radius: 8px; /* おしゃれに角丸（不要なら削除） */
}

.pcard__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* 中央でトリミング */
  display: block;
}
/* レイアウト */
.l-container {
   max-width: 1100px;
   padding: 100px 20px 80px 20px;
   margin: 0 auto; 
  }

                         @media screen and (max-width: 869px) {
                       .l-container {
                        
                              padding: 80px 20px 80px 20px;
                        }
                      }
/* 記事 */
.c-post__title { 
   font-size: clamp(22px, 3vw, 34px);
   line-height: 1.3; 
   margin: 20px  0px; 
   padding: 15px;
     background: linear-gradient(0deg, #304356, #455a6f);
   color:#ffffff;
   box-sizing: border-box;
  }
                        /* スマホ(～768px)：L/XLなどのサイズ指定を含めて強制的に小さく */
                      @media (max-width: 869px) {
                        .c-post__title { 
                          font-size: 1.4rem !important;
                         
                        }
                      }
.c-post__meta { color:#666; font-size:.9rem; display:flex; flex-wrap:wrap; gap:.5em 1em; margin-bottom:16px; }
.c-post__thumb { margin: 16px 0 24px; }
.c-post__thumb img { width: 100%; height: auto; display:block; border-radius: 8px; }
.c-post__content { font-size: 1rem; line-height: 1.9; }
.c-post__content > * + * { margin-top: 1.1em; }          /* 段落の間隔 */
.c-post__content h2 { font-size: 1.4rem; margin: 2.0em 0 .8em; border-left: 4px solid #333; padding-left:.6em; }
.c-post__content h3 { font-size: 1.2rem; margin: 1.6em 0 .6em; }
.c-post__content ul, .c-post__content ol { padding-left: 1.4em; }
.c-post__content img { max-width: 100%; height: auto; border-radius: 6px; }
.c-post__pages { margin-top: 20px; }
.c-post__tags { margin-top: 20px; display:flex; flex-wrap:wrap; gap:8px; }
.c-post__tag { display:inline-block; padding:.25em .6em; border:1px solid #ccc; border-radius:999px; font-size:.85rem; color:#333; }
.c-post__pn { margin: 36px 0 0;margin-bottom: 2em;  display:flex; justify-content:space-between; gap:12px; }
.c-post__prev a, .c-post__next a { text-decoration:none; }

/* コメント欄の前に余白を追加 */
.comment-respond {
  margin-top: 2em; /* 1行〜やや広めの余白 */
}
/* 見出しブロックのスタイル（「左ライン」） */
.is-style-hidarino {
  position: relative;
  padding-left: 0.9em;
  margin: 1.8em 0 0.8em;
  line-height: 1.3;
}
.is-style-hidarino::before {
  content: "";
  position: absolute;
  left: 0; top: 0.1em; bottom: 0.1em;
  width: 8px;
  background: #333;
  border-radius: 4px;
}
/* PC基準 */
h2.wp-block-heading { font-size: 1.8rem; }

                      /* スマホ(～768px)：L/XLなどのサイズ指定を含めて強制的に小さく */
                      @media (max-width: 869px) {
                        h2.wp-block-heading,
                        h2.wp-block-heading.has-medium-font-size,
                        h2.wp-block-heading.has-large-font-size,
                        h2.wp-block-heading.has-x-large-font-size,
                        h2.wp-block-heading.has-huge-font-size {
                          font-size: 1.4rem !important;
                          line-height: 1.35;
                        }
                      }

/* コメントフォームをはみ出さずに表示させる */

.comment-respond,
.comment-form {
  width: 100%;
  max-width: 700px;   /* 必要に応じて調整 */
  margin: 2em 0 0 0;
  padding: 0 16px;    /* ← スマホで左右に余白をつける */
  box-sizing: border-box;
}
#comments{
    width: 100%;
  max-width: 700px;   /* 必要に応じて調整 */
  margin: 4em 0 0 0;
  padding: 0 16px;    /* ← スマホで左右に余白をつける */
  box-sizing: border-box;
}

/* コメント入力欄のtextareaを100%表示に */
.comment-form textarea {
  width: 100%;
  box-sizing: border-box;
}

/* コメントフォーム全体 */
.c-commentform .form-submit { 
  margin-top: 16px;
}

/* 送信ボタンを確実に見せる */
.c-commentform .form-submit button[type="submit"],
.c-commentform .form-submit input[type="submit"]{
  display: inline-block !important;
  width: 100%;
  padding: .75em 1.2em;
  border: 1px solid currentColor;
  background: #fff;
  color: #111;
  font-size: 16px;
  line-height: 1;
  opacity: 1 !important;
  visibility: visible !important;
  position: static !important;
  transform: none !important;
}

/* 必要ならPCでは幅を自動に */
@media (min-width: 869px){
  .c-commentform .form-submit button[type="submit"]{
     width: 100% !important;
    max-width: none !important;
  }
}
/* コメントフォームの半幅レイアウトを解除（PC/スマホ共通） */
.c-commentform,
.c-commentform p{
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  display: block !important;
  box-sizing: border-box !important;
}

/* 入力欄をフル幅に */
.c-commentform input#author,
.c-commentform textarea#comment{
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
