/* ------------------------------
   ベース
------------------------------ */
body {
    margin: 0;
    font-family: 'BIZ UDPGothic', sans-serif;
    background: #fff;
    color: #222;
    line-height: 1.7;
}



img {
    max-width: 100%;
    height: auto;
}
p {
  text-autospace: ideograph-alpha;
}

/* ------------------------------
   ヘッダー
------------------------------ */
.site-header {
    border-bottom: 1px solid #ddd;
    padding: 0.5rem 0;
    background: #fafafa;
}

.header-inner {
    width: min(92%, 1000px);
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.logo img {
    height: 40px;
}

.header-links a {
    text-decoration: none;
    color: #333;
    font-size: 0.95rem;
}

.header-links a:hover {
    color: #007acc;
}

/* ------------------------------
   コンテンツ
------------------------------ */
.content {
    width: min(92%, 1000px);
    margin: 2rem auto;
}

.page-title {
    margin-top: 0;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #ddd;
}

.page-title .page-subtitle {
    font-size: 0.75em;
    /* 親より少し小さく */
    font-weight: normal;
    /* 太さを抑える（任意） */
    margin-left: 0.3rem;
    /* 少し余白（任意） */
}

/* ------------------------------
   サイト説明文
------------------------------ */
.site-description {
    margin: 1.5rem 0 2.5rem;
    padding: 1rem;
    background: #fafafa;
    border: 1px solid #ddd;
}

.site-description p {
    margin: 0;
    font-size: 1rem;
    color: #333;
}

/* ------------------------------
   トップページ：カード型目次
------------------------------ */
.toc-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1.5rem;
    margin-top: 2rem;
}

.toc-card {
    display: block;
    padding: 1rem;
    border: 1px solid #ddd;
    text-decoration: none;
    color: #222;
    background: #fafafa;
    transition: background 0.2s ease;
}

.toc-card:hover {
    background: #f0f0f0;
}

.toc-card h2 {
    margin-top: 0;
    font-size: 1.2rem;
}

/* ------------------------------
   セクション（日付入り）
------------------------------ */
.section {
    padding: 1.5rem 0;
    border-bottom: 1px solid #eee;
}

.section h2 {
    margin-top: 0;
    font-size: 1.3rem;
}

.section-meta {
    font-size: 0.85rem;
    color: #666;
    margin-bottom: 1rem;
    display: flex;
    gap: 1.5rem;
}

.section-meta span {
    white-space: nowrap;
}

/* ------------------------------
   フッター
------------------------------ */
.site-footer {
    text-align: center;
    padding: 1.5rem 0;
    border-top: 1px solid #ddd;
    font-size: 0.9rem;
    color: #666;
}

/* 目次カードの日付 */
.toc-meta {
    font-size: 0.8rem;
    color: #666;
    margin: 0.3rem 0 0.8rem;
    display: flex;
    gap: 1rem;
}

.toc-meta span {
    white-space: nowrap;
}

/* ------------------------------
   図版
------------------------------ */
.figure {
    text-align: center;
    margin: 2rem 0;
}

.figure img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    border: 1px solid #ddd;
    background: #fff;
}

.figure figcaption {
    margin-top: 0.5rem;
    font-size: 0.9rem;
    color: #555;
}

.figure-number {
    font-weight: bold;
    margin-right: 0.3rem;
}

.figure-caption {
    color: #555;
}

/* ------------------------------
   トップへ戻る
------------------------------ */
.back-to-top {
    text-align: center;
    margin: 2rem 0 1rem;
}

.back-to-top a {
    text-decoration: none;
    color: #007acc;
    font-size: 0.95rem;
}

.back-to-top a:hover {
    text-decoration: underline;
}

/* ------------------------------
   作品リスト
------------------------------ */
.works-list {
    margin-top: 1rem;
    margin-bottom: 0.3rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.work-item {
    display: flex;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid #ddd;
    background: #fafafa;
}

.work-thumb img {
    width: 240px;
    height: auto;
    object-fit: cover;
    border: 1px solid #ccc;
    background: #fff;
}

.work-info {
    flex: 1;
}

/* タイトル・制作会社 */
.work-title {
    margin: 0 0 0.15rem;
    font-size: 1.25rem;
    font-weight: 600;
}

.work-meta {
    margin: 0 0 0.15rem;
    font-size: 0.9rem;
    color: #555;
}

/* ------------------------------
   担当・技術情報・受賞歴（統一フォーマット）
------------------------------ */
.work-role,
.work-tech,
.work-awards,
.work-notes {
    margin: 0 0 0.15rem;
    font-size: 0.85rem;
    color: #666;
}


/* リストの余白調整 */
.work-role ul,
.work-tech ul,
.work-awards ul,
.work-notes ul {
    margin: 0.1rem 0 0;
    padding-left: 1.2rem;
}


.work-role li,
.work-tech li,
.work-awards li,
.work-notes li {
    margin-bottom: 0.2rem;
}


/* ラベル（担当：技術情報：受賞歴：） */
.label {
    font-weight: bold;
    margin-right: 0.3rem;
}

/* 字下げ共通 */
.indent {
    padding-left: 1.2rem;
}

/* ------------------------------
   説明文
------------------------------ */
.work-description {
    margin: 0;
    font-size: 0.95rem;
    color: #333;
}

/* YouTubeリンク */
.work-links a {
    color: #d9534f;
    text-decoration: none;
    font-size: 0.95rem;
}

.work-links a:hover {
    text-decoration: underline;
}

/* ------------------------------
   略歴ボックス
------------------------------ */
.bio-box {
    margin-top: 2.5rem;
    padding: 1.2rem 1.5rem;
    background: #f7f7f7;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 0.9rem;
    color: #444;
    line-height: 1.6;
}

.bio-box p {
    margin: 0;
}

/* 画面幅が600px以下のとき */
@media (max-width: 600px) {
    .work-item {
        flex-direction: column;
        /* 横並び → 縦並び */
        align-items: center;
        /* 中央寄せ（任意） */
    }

    .work-thumb img {
        width: 100%;
        /* スマホでは横幅いっぱいに */
        max-width: 320px;
        /* 大きすぎないように上限 */
        height: auto;
    }

    .work-info {
        width: 100%;
        /* テキスト部分を広く */
    }
}

.creator-note {
    font-size: 0.9rem;
    /* 少し小さめ */
    color: #444;
    /* 読みやすい落ち着いた色 */
    line-height: 1.6;
}

.site-intro {
    font-size: 0.9rem;
    /* 少し小さめ */
    line-height: 1.6;
    /* 読みやすさを維持 */
    color: #333;
    /* 既存デザインに合わせる */
}
.tv-list {
    margin-top: 0.3rem;
}

.tv-list p {
    font-size: 0.85rem;
    line-height: 1.55;
    margin: 0.35rem 0;
}

.tv-list a {
    color: #d9534f; /* YouTubeリンクと同じオレンジ */
    text-decoration: none;
}

.tv-list a:hover {
    text-decoration: underline;
}
.section h2 {
    margin-top: 0.8rem;
    margin-bottom: 0.4rem;
}
.section h2 .page-subtitle {
    font-size: 0.75em;   /* 好きな大きさに調整できる */
    font-weight: normal;
    margin-left: 0.3rem;
}
blockquote {
  position: relative;
  margin: 1.5em 0;
  padding: 1.2em 1.5em 1.2em 3.2em;

  font-family: "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 1rem;
  line-height: 1.7;
  color: #333;

  border-left: 6px solid #4caf50;
  background: #fafafa;
  border-radius: 4px;

  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

blockquote::before {
  content: "“";
  position: absolute;
  left: 12px;
  top: 8px;

  font-family: Georgia, serif;
  font-size: 2.8rem;
  line-height: 1;
  color: rgba(0,0,0,0.25);
}

@media (max-width: 600px) {
  blockquote {
    padding: 1em 1em 1em 2.5em;
    font-size: 0.95rem;
  }

  blockquote::before {
    font-size: 2.2rem;
    left: 10px;
    top: 6px;
  }
}
.small_txt060 {
	font-size: 60%;
}
.small_txt070 {
	font-size: 70%;
}

.small_txt090 {
	font-size: 90%;
}
