#navmenu
{
    margin-right:50px !important;
}
.navmenu ul{
    text-align:center !important;
}
.navmenu ul li a
{
    
    font-size:1rem !important;
}


/* PC表示（d-xl-noneの基準である1200px以上）のとき、メニューを中央配置にする */
@media (min-width: 1200px) {
    #header .container-fluid {
    max-width:1320px !important;	
    display: grid !important;
    grid-template-columns: auto 1fr auto; /* 左・中（広がる）・右 の3カラム構成 */
    align-items: center;
  }

  #navmenu {
    justify-self: center; /* メニュー本体を中央に寄せる */
  }
}



.info-table{
    color:#fff;    font-size:1.1rem;
width: 312.274px; background-color: #d98b8b; height: 35px;"><span style="font-family: Arial, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', メイリオ, Meiryo, sans-serif;
}

h1{font-size:1.7rem !important;}
h2{font-size:1.5rem !important;}
h3{font-size:1.4rem !important;}
h4{font-size:1.3rem !important;}
h5{font-size:1.2rem !important;}
h6{font-size:1.2rem !important;}



h1 {
    margin:20px 10px !important;
    padding:10px 0 !important;    
    border-style:solid none;
    border-width:0.5px;
}

h2,h3 {
    margin:20px 0 !important;
    padding:10px !important;    
    border-style:none none none solid;
    border-width:0.5px;
}

h4 {
    font-size:1.2rem !important;
    margin:20px 0px 20px 15px !important;
    padding:10px 0 !important;    
    border-style:none none solid none;
    border-width:0.5px;
}


.sitename
{
    color:#FFF;
    font-size:1.6rem !important;
    margin:20px 10px !important;
    padding:10px 0 !important;        
    margin:0px !important;
    padding:0px !important;
    border-style:none !important;
}


p{
    padding-left:20px;
}

@media (max-width: 1199.98px) {
  .scroll-top.active {
    bottom: 85px;
  }
}

.fixed-bottom .col {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}

.top-main {
   padding: 90px 0 60px 0;
}

.blog-container {
  display: flex;
  gap: 30px;
}

.blog-main {
  flex: 3; /* 本文の幅（比率） */
  min-width: 0;
}

.blog-sidebar {
  padding:120px 0 0 0;
  flex: 1; /* サイドバーの幅（比率） */
  min-width: 250px;
}



:root {
    /*    --accent-color: #1d3df1; *//* Accent color that represents your brand on the website. It's used for buttons, links, and other elements that need to stand out */
    --heading-font: sans-serif;    
}

.header {
    --background-color: rgba(177, 36, 38, 1) !important;
    padding:3px 0 !important;
}
.scrolled .header {
    --background-color: rgba(177, 36, 38, 1);
    padding:3px 0 !important;    
}

.page-title {
    padding: 120px 0 0px 0;
    text-align:left;
}
.page-title h1{
    font-size:30px;
}
/*記事冒頭のメタライン*/
.post_meta {
  align-items: stretch;
}
.post_meta, .post_meta span {
  display: inline-flex;
  flex-flow: row wrap;
}

.post_meta span {
  align-items: center;
  margin-bottom: 0.5rem;
}

@media screen and (min-width: 557px) {
  .post_meta span {
    gap: 0.5rem 0;
  }
}

@media screen and (max-width: 667px) {
  .post_meta span:last-of-type {
    margin-top: -0.5rem;
  }
}

@media screen and (min-width: 667px) {
  .post_meta .button {
    margin: 0 0.5rem;
  }
}

.post_date {
  margin-right: 0.5rem;
  margin-left: 0.25rem;
}

/* 画面幅が狭い場合は1カラムにする */
@media (max-width: 768px) {
  .blog-container {
    flex-direction: column;
  }
}

/*toc*/


/* 目次全体のコンテナ（枠線の設定） */
.post-toc {
    position: relative;           /* タイトルの位置を固定するための基準 */
    display: inline-block;        /* ★中身（リスト）の最大幅に合わせる設定 */
    min-width: 200px;             /* 目次が短すぎるときのために最小の横幅を設定 */
    max-width: 100%;              /* 画面からはみ出るのを防ぐ */
    box-sizing: border-box;       /* 余白を含めた横幅の計算を正しくする */
    
    border: 1px solid #d0d0d0;    /* 薄い枠線 */
    border-radius: 4px;           /* 角を少し丸める */
    padding: 25px 25px 20px 20px; /* 内側の余白（右側を少し広めに：25px） */
    margin: 30px 0;               /* 前後の本文との余白 */
    background-color: #fff;       /* 背景色 */
}


/* 枠線の上に重なる「目次」タイトル */
.post-toc .toc-title {
    position: absolute;
    top: -12px;                   /* 枠線の真上に配置する調整 */
    left: 15px;                   /* 左側からの位置 */
    background: #fff;             /* 背景色と同じ色にして枠線を消す（重要） */
    padding: 0 10px;              /* 文字の左右のスキマ */
    font-size: 0.95rem;           /* 文字の大きさ */
    font-weight: bold;            /* 太字 */
    color: #555;                  /* 文字の色 */
}

/* リスト（ul）の番号化と位置調整 */
#TableOfContents ul {
    list-style-type: decimal;     /* ulを数字（1. 2. 3.）に変更 */
    padding-left: 20px;           /* 番号が表示されるスペース */
    margin: 0;
}

/* 2階層目（H3など）のリスト */
#TableOfContents ul ul {
    list-style-type: circle;      /* 2階層目は白丸（または lower-alpha で a.b.c） */
    margin-top: 5px;
    padding-left: 20px;
}

/* 各リスト項目の行間 */
#TableOfContents li {
    margin-bottom: 8px;
    line-height: 1.5;
}

/* リンクの装飾リセット */
#TableOfContents a {
    color: #333;
    text-decoration: none;
}

#TableOfContents a:hover {
    color: #0066cc;
    text-decoration: underline;
}



/**blockquote*/
blockquote {
  position: relative;
  margin: 1.5em 0;
  padding: 1.5em 1.5em 1.5em 2em;
  background-color: #f7f9fa; /* 穏やかな背景色 */
  color: #333333; /* 視認性の高い文字色 */
  border-radius: 4px;
  border-left: 5px solid #a8b8c8; /* 落ち着いた印象の左線 */
}

blockquote p {
  margin: 0;
  padding: 0;
  line-height: 1.8;
}

/* 引用元（cite要素など）を添える場合 */
blockquote cite {
  display: block;
  margin-top: 1em;
  color: #666666;
  font-size: 0.85em;
  text-align: right;
  font-style: normal;
}	

/* インラインコード（文中に登場するコード） */
code {
  font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
  background-color: #f1f4f6; /* 目に優しい淡いグレーブルー */
  color: #c0392b;            /* 視認性の高い落ち着いた赤・エンジ色 */
  padding: 0.2em 0.4em;
  margin: 0 0.2em;
  font-size: 0.9em;
  border-radius: 4px;
  font-weight:bold !important;
}

/* コードブロック（複数行のコード） */
pre {
  background-color: #f7f9fa; /* blockquoteと調和する穏やかな背景色 */
  border: 1px solid #e1e8ed; /* 主張しない薄い枠線 */
  border-radius: 6px;
  padding: 1.2em;
  overflow-x: auto;          /* 横スクロール対応 */
  margin: 1.5em 0;
}

pre code {
  font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
  background-color: transparent; /* 背景の重複を防ぐ */
  color: #2c3e50;                /* 読みやすい濃いネイビーグレー */
  padding: 0;
  margin: 0;
  font-size: 0.9em;
  line-height: 1.6;
  display: block;
}

table {
    border-color:#ccc;
}
tr {
    border-color:#ccc;    
}
td {
    border:solid 0.8px;
    padding:14px;
    border-color:#ccc;        
}



.material-icons{/*google icon 中心線*/
    vertical-align:middle !important; 
}


.box-img{
    width:200px !important;
    text-align:center !important;
}



/*gallery*/

        .gallery-container {
	    /*            display: flex;*/
	    display: grid;
	    /*            flex-wrap: wrap;*/
	    grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));	    
            gap: 10px; /* 画像と画像の間隔 */
        }
        .gallery-container a {
            height: 300px; /* 1行の目標となる高さ */
            flex-grow: 1;  /* 横幅を自動で引き伸ばして左右をピッタリ揃える */
        }
        .gallery-container img {
	    display:block;
            max-height: 100%;
            min-width: 100%;
            object-fit: cover; /* 縦横比を崩さずに領域を埋める */
	    object-position: var(--obj-pos, center 20%);	    
            vertical-align: bottom;
            border-radius: 4px;
        }
