/* リセット */
* {
    margin: 0;
    padding: 0;
    border: 0;
}


/* 基本設定 (ワンカラム・レスポンシブ) */
body {
    color: black;
    font-family: Roboto, "Yu Gothic", "游ゴシック体", Meiryo, sans-serif;
    line-height: 1.6;
}
.container {
    max-width: 800px; /* ここでワンカラムの幅を制限 */
    margin: 0 auto;
}
img {
    max-width: 100%;
    height: auto;
}
strong {
    font-size: 1.2rem;
    color: saddlebrown;
    margin: 0 3px;
    padding: 0 3px;
    background: linear-gradient(transparent 60%, orange 90%);
}


/* ------------------------- _layouts/default.html
   ヘッダー：サイト名部分
-------------------------------------------------- */
.site-header {
    background-color: rgba(255,228,181,1);
    margin: 5px 0;
    padding: 10px 20px;
    border-radius: 8px;       /* 角丸 */
}
.site-title {
    font-size: 32px;
    font-weight: bold;
    letter-spacing: 0.1rem;
}
.site-title a {
    display: flex;            /* アイコンと文字を横並び */
    align-items: center;      /* 縦方向の中央揃え */
    gap: 15px;                /* アイコンと文字の間隔 */
    color: saddlebrown;
    transition: opacity 0.5s;
    text-decoration: none;    /* 下線を消す */
}
.site-title a:hover {
    opacity: 0.7;             /* hoverで少し透明に */
}
/* アイコン画像の設定 */
.site-icon {
    width: 40px;
    height: 40px;
    object-fit: cover;
    border-radius: 50%;       /* 正円 */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5); /* ほんの少しだけ影 */
    border: 1px solid white;             /* 白い太枠を削除 */
}
/* スマホ調整 */
@media (max-width: 600px) {
    .site-title {
	font-size: 1.4em;
    }
    .site-icon {
	width: 35px;
	height: 35px;
    }
}



/* トップページ要素 */
.eyecatch {
    width: 100%;
    max-height: 400px;
    object-fit: cover;
    margin: 5px 0;
}
.message-box {
    font-size: 1.2rem;
    background-color: rgba(255,228,181,0.7);
    margin: 5px 0 10px 0;
    padding: 20px;
    border-radius: 8px;
}
.updates {
    border: 1px solid chocolate;
    padding: 10px 0 10px 20px; 
   border-radius: 8px;
}
.updates p {
    color: saddlebrown;
    font-size: 1.1em;
    font-weight: bold;
    text-decoration: underline;
}
.updates ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.updates li {
    margin-left: 15px;
    margin-bottom: 5px;
}


/* カテゴリ・記事リスト */
.category-section {
  margin-bottom: 40px;
}
.category-section h2 {
  border-bottom: 2px solid #333;
  padding-bottom: 5px;
}
.post-list {
  list-style: none;
  padding: 0;
}
.post-list li {
  margin-bottom: 10px;
}
.post-meta {
  color: #666;
  font-size: 0.85em;
  margin-left: 10px;
}
.more-link {
  font-weight: bold;
  font-size: 0.9em;
}

/* タグ */
.tag {
  background: #eee;
  padding: 3px 8px;
  border-radius: 4px;
  font-size: 0.8em;
  color: #555;
  text-decoration: none;
  margin-right: 5px;
}

/* スマホ向け余白調整 */
@media (max-width: 600px) {
  .container { padding: 15px; }
}




/* -------------------------
   シェアボタン
------------------------- */
.share-buttons {
  margin-top: 50px;
  padding-top: 20px;
  border-top: 1px solid #ddd; /* 記事との区切り線 */
  text-align: center;
}

.share-buttons p {
  font-weight: bold;
  margin-bottom: 15px;
  color: #555;
  font-size: 0.9em;
}

.share-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: center;
  gap: 10px;        /* ボタン同士の隙間 */
  flex-wrap: wrap;  /* スマホ等で画面が狭い場合は折り返す */
}

.btn-share {
  display: inline-block;
  padding: 8px 16px;
  border-radius: 4px;
  color: #fff !important; /* リンク色を白に強制 */
  text-decoration: none;
  font-size: 0.9em;
  font-weight: bold;
  transition: opacity 0.2s;
}

.btn-share:hover {
  opacity: 0.8; /* マウスオーバーで少し薄くする */
}

/* 各SNSのブランドカラー */
.btn-x        { background-color: #000000; }
.btn-facebook { background-color: #1877F2; }
.btn-line     { background-color: #06C755; }
.btn-hatebu   { background-color: #00A4DE; }









/* -------------------------
   タグ一覧ページのデザイン
------------------------- */
.tag-cloud {
  display: flex;
  flex-wrap: wrap; /* 画面幅に合わせて折り返す */
  gap: 10px;       /* ボタン同士の間隔 */
  margin-bottom: 30px;
}

.tag-button {
  display: inline-block;
  background-color: #f0f2f5;
  color: #333;
  padding: 8px 15px;
  border-radius: 20px; /* 丸みのあるボタン */
  text-decoration: none;
  font-size: 0.95em;
  transition: background-color 0.2s;
  border: 1px solid #e1e4e8;
}

.tag-button:hover {
  background-color: #e1e4e8; /* ホバー時の色 */
  text-decoration: none;
}

.tag-count {
  background-color: #fff;
  color: #555;
  font-size: 0.8em;
  padding: 2px 6px;
  border-radius: 50%;
  margin-left: 5px;
  font-weight: bold;
}

/* タグごとの見出し */
.tag-heading {
  font-size: 1.4em;
  border-bottom: 2px solid #eee;
  padding-bottom: 5px;
  margin-top: 0;
  color: #333;
}

.tag-icon {
  color: #aaa; /* #マークを薄くする */
  margin-right: 5px;
}




/* ------------------------- _layouts/default.html
   フッター：サイト名部分
-------------------------------------------------- */
.site-footer {
    background-color: rgba(255,228,181,1);
    margin: 50px 0 0 0;
    text-align: center;
    padding: 20px;
    border-radius: 8px;       /* 角丸 */
}
.site-title {
    font-size: 35px;
    font-weight: bold;
    letter-spacing: 0.1rem;
}
.site-title a {
    display: flex;            /* アイコンと文字を横並び */
    align-items: center;      /* 縦方向の中央揃え */
    gap: 15px;                /* アイコンと文字の間隔 */
    color: saddlebrown;
    transition: opacity 0.5s;
    text-decoration: none;    /* 下線を消す */
}
.site-title a:hover {
    opacity: 0.7;             /* hoverで少し透明に */
}
/* アイコン画像の設定 */
.site-icon {
    width: 40px;
    height: 40px;
    object-fit: cover;
    border-radius: 50%;       /* 正円 */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5); /* ほんの少しだけ影 */
    border: 1px solid white;             /* 白い太枠を削除 */
}
/* スマホ調整 */
@media (max-width: 600px) {
    .site-title {
	font-size: 1.4em;
    }
    .site-icon {
	width: 35px;
	height: 35px;
    }
}
