/* ******************************************
   基本文字設定 typography.css
   h1〜h6, pなど文章構造のデザイン
****************************************** */
body {
    font-size: var(--font-size-base);
    font-family: var(--font-family-base);
    line-height: var(--line-height-base);
    color: var(--color-text); 
    letter-spacing: var(--ls-normal);
}
  
h1, h2, h3, h4, h5, h6, .heading {
/*    font-family: var(--font-family-heading);*/
    font-family: 'Gotham', 'Helvetica Neue', sans-serif;
    font-weight:600;  
/*    letter-spacing: var(--ls-wide);*/
    margin: var(--space-xs) 0 var(--space-sm);
}
  
h1 { font-size: var(--font-size-xl); text-align: center; }
h2 { font-size: var(--font-size-lg); }
h3 { font-size: var(--font-size-md); }
h4 { font-size: var(--font-size-sm); }
h5 { font-size: var(--font-size-sm); }
h6 { font-size: var(--font-size-xs); }


b,
strong {
    font-weight: bold;
}

p,
ul,
ol,
table,
dl,
pre,
code,
img,
picture img,
figure,
iframe,
object,
hr,
video,
audio {
  margin-bottom: 0;
}

.editor-content p,
.editor-content ul,
.editor-content ol,
.editor-content table,
.editor-content dl,
.editor-content pre,
.editor-content code,
.editor-content img,
.editor-content picture img,
.editor-content figure,
.editor-content iframe,
.editor-content object,
.editor-content hr,
.editor-content video,
.editor-content audio {
  margin-bottom: var(--space-sm);
}


/* === "p" + 中の要素には余白なし === */
p code,
p img,
p iframe,
p object,
figure img,
figure iframe,
figure video,
figure audio,
pre code {
    margin-bottom: 0;
}
   
/* === テーブル === */
table {
    width: 100%;
}
table thead {
    border: none;
}
table th,
table td {
    padding: var(--space-xs);
    text-align: left;
    vertical-align: middle;
/*    border: 1px solid var(--color-gray-light);*/
}


/*WPテーブルデザインを上書き*/
.wp-block-table thead {
    background-color: var(--color-gray-lightest); 
    border : none;
}
.wp-block-table thead th {
    font-weight: normal !important; /*明示的に指定しないと太字のまま*/
    text-align: center;
    border : none;
}
.wp-block-table th:not(:last-child) {
    border-right: 1px solid var(--color-gray-light); 
}
.wp-block-table td {
    border : none;
    border-bottom: 1px solid var(--color-gray-light); 
}
.wp-block-table td:not(:last-child) {
    border-right: 1px solid var(--color-gray-light); 
}
  


/* ============================
  本文内限定（.editor-content）マージン
=============================== */
/* 最初の要素は除く */
.editor-content > * + * {
    margin-top: var(--space-md);
/*    margin-top: var(--space-xs);*/
}


/* ============================
  投稿内のリンクははっきりと
=============================== 
.single .editor-content a:not(.wp-block-file__button):not(.button):not(.btn) {
  color: var(--link-color, #0066cc); 
  text-decoration: underline;
  font-weight: 500;
  transition: color 0.3s;
}

.single .editor-content a:not(.wp-block-file__button):not(.button):not(.btn):hover {
  color: var(--link-hover-color, #003366); 
}
*/



/* ============================
  ヘッダー文字装飾
=============================== */
/* ヘッダー上段：文字装飾 */
.anniv-title-ja {
  font-size: var(--font-size-header-title);
  font-weight: 800;
  line-height: var(--line-height-tight);
  color: var(--color-main);
  white-space: nowrap;
  letter-spacing: var(--ls-tight);
  margin: var(--space-xs) 0 var(--space-xs);
  transform: translateX(-2em);
}
.anniv-title-en {
  font-size: var(--font-size-sm);
  letter-spacing: var(--ls-tight);
  line-height: var(--line-height-tight);
  color: var(--color-main);
  white-space: nowrap;
}

/* ヘッダー下段：ナビリンク装飾 */
.header-nav a {
  color: var(--color-white);
  font-weight: bold;
  font-size: inherit;
  padding: var(--space-xxs) 0;
  display: inline-block;
  text-align: center;
  white-space: nowrap;
}

/* ============================
  フッター文字装飾
=============================== */
.footer-global-nav ul ,
.footer-legal-links ul {
  text-align: center;
  margin: var(--space-md) 0;
}
.footer-global-nav ul li,
.footer-legal-links ul li {
  font-size: var(--font-size-base);
  font-weight: 500;
  letter-spacing: var(--ls-normal);
  display: inline-block;
  margin-right: var(--space-sm);
  padding: var(--space-xxs) 0;
}
.footer-global-nav ul li:last-child ,
.footer-legal-links ul li:last-child {
  margin-right: 0;
}

.copyright {
  padding: var(--space-xs);
  text-align: center;
  font-size: var(--font-size-small);
}

.footer-rotary-name-en {
  font-family: 'Times New Roman', Times, Georgia, serif;
  letter-spacing: var(--ls-normal);
  margin-bottom: var(--space-xs);
}

.footer-rotary-address {
  font-size: var(--font-size-small);
}

@media (max-width: 768px) {
  .footer-global-nav ul li,
  .footer-legal-links ul li {
    font-size: var(--font-size-small);
  }
}
