@charset "utf-8";

/* =========================================================
   居想会・演武会／行事ページ 共通CSS
   css-2 用：旧 css フォルダーに依存しない構成
   ========================================================= */

html {
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  font-size: 12px;
  line-height: 1.6;
  color: #565656;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Yu Gothic", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  background-color: #f4f2ee;
  background-image: url(../../image/back2.gif);
}

* {
  box-sizing: border-box;
}

a {
  color: #191970;
  text-decoration: none;
  outline: none;
}
a:visited { color: #191970; }
a:hover,
a:active { color: #ff7800; }

img {
  max-width: 100%;
  height: auto;
}

#wrap {
  width: 100%;
  margin: 0 auto;
  background: #f4f2ee;
}

/* ---------- Header ---------- */
#head {
  padding: 0;
}

#head > img {
  width: 15%;
  height: auto;
  margin: 0 auto;
    text-align: left;
    
}

#head > h1 {
  margin: 5px 10px;
  padding: 5px;
  color: #7a7a7a;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.35;
  text-align: center;
  text-shadow: 1px 1px 2px #c3c3c3;
}

#head nav {
  margin: 0 10px 10px;
  font-size: 12px;
  box-shadow: 2px 2px 4px #b9b9b9;
  border-radius: 4px;
  overflow: hidden;
}

#head nav ul {
  display: flex;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  background: #577F92;
}

#head nav ul li {
  flex: 1 1 0;
  min-width: 0;
  margin: 0;
  border-right: 1px solid rgba(255,255,255,.28);
}

#head nav ul li:last-child {
  border-right: 0;
}

#head nav ul li a {
  display: block;
  height: 36px;
  padding: 0 2px;
  overflow: hidden;
  color: #E5E5E5;
  font-weight: bold;
  line-height: 36px;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
}

#head nav ul li a:visited { color: #E5E5E5; }
#head nav ul li a:hover,
#head nav ul li a:active { color: #fff; background: rgba(255,255,255,.10); }

/* ---------- Activity menu ---------- */
/* PC/モバイル共通の基本形は従来デザインを踏襲 */
#contents-2{
  margin:5px 10px 5px 10px;
  padding:5px 0 0 4px;
  background:#f4f2ee;
}

#contents-2 h2{
  margin:5px 0 5px 5px;
  padding:0;
  font-size:12px;
  font-weight:bold;
  color:#6E6E6E;
  line-height:1;
  border-left:#577F92 solid 4px;
}

#sitemapArea{
  margin:0 10px 0 10px;
  display:-webkit-box;
  display:-moz-box;
  display:flex;
  font-size:12px;
}

#sitemapArea em{
  padding:0;
  font-style:normal;
  color:#ff7800;
}

#sitemapArea > ul{
  margin:0;
  padding:0;
  list-style:none;
  -webkit-box-flex:1;
  -moz-box-flex:1;
  flex:1 1 0;
}

#sitemapArea > ul > li{
  margin:0;
  line-height:1.7;
}

#sitemapArea > ul > li > a,
#sitemapArea > ul > li > span{
  padding:0 0 0 14px;
  background:url(../img/all_arw01r.png) no-repeat left center;
  -webkit-background-size:11px;
  background-size:11px;
}

#sitemapArea ul li ul{
  margin:0 0 0 10px;
  list-style:none;
}

#sitemapArea ul li ul li{
  margin:0;
}

#sitemapArea ul li ul li a{
  padding:0 0 0 15px;
  background:url(../img/all_arw03r.png) no-repeat left center;
  line-height:2;
  -webkit-background-size:11px;
  background-size:11px;
}

/* ---------- Archive container ---------- */
#contents {
  margin: 5px 10px;
  padding: 0;
  background: #fff;
  border-radius: 4px;
  box-shadow: 2px 2px 4px #bababa;
}

/* C案：archive_comparison.html のカード調レイアウト */
.archive-c-card {
  width: 100%;
  margin: 0;
  padding: 18px 18px 19px;
  color: #333;
  background: #fff;
  border-radius: 8px;
}

#contents .archive-c-card h2 {
  margin: 0 0 13px;
  padding: 0 0 9px;
  color: #30383c;
  background: none;
  border: 0;
  border-bottom: 1px solid #dfe4e6;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.4;
  text-align: left;
}

.archive-c-recent,
.archive-c-heisei {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
  margin: 0;
}

.archive-c-recent {
  padding: 0 0 9px;
}

.archive-c-heisei {
  padding: 9px 0 2px 18px;
}

.archive-c-recent a,
.archive-c-heisei a {
  display: inline-block;
  width: auto;
  margin: 0;
  padding: 0;
  color: #46545b;
  background: none;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.8;
  text-decoration: none;
  white-space: nowrap;
}

.archive-c-recent a:visited,
.archive-c-heisei a:visited {
  color: #46545b;
}

.archive-c-recent a:hover,
.archive-c-heisei a:hover {
  color: #577F92;
  text-decoration: underline;
}

.archive-c-card details {
  display: block;
  margin: 0;
  padding: 8px 0;
  border-top: 1px solid #d8dfe2;
  border-bottom: 1px solid #d8dfe2;
}

.archive-c-card summary {
  cursor: pointer;
  margin: 0;
  padding: 0;
  color: #577F92;
  background: none;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
  text-align: left;
}

/* 現在表示中の年度：令和・平成どちらも同じ強調 */
.archive-c-recent a.archive-current,
.archive-c-heisei a.archive-current {
  color: #577F92;
  font-weight: 700;
  border-bottom: 2px solid #577F92;
}

.archive-c-recent a.archive-current:visited,
.archive-c-heisei a.archive-current:visited {
  color: #577F92;
}

.archive-c-current-note {
  margin: 7px 0 0;
  padding: 0;
  color: #6b7479;
  font-size: 12px;
  line-height: 1.5;
}

/* ---------- Event contents ---------- */
#fmenu {
  margin: 0;
  padding: 1px 0 0;
  background: #f4f2ee;
}

#fmenu > h5 {
margin:5px 10px 5px 10px;
padding:5px 5px 5px 5px;
font-size:14px;
color: #EFEFEF;
background:#853015;
font-weight:bold;
text-shadow:1px 1px 2px  #9f9fa0;
line-height:1;
text-align:center;
}


#fmenu section {
  margin: 10px 10px 20px;
  padding: 0 0 14px;
  background: #fff;
  box-shadow: 2px 2px 4px #bababa;
}

#fmenu section h2 {
  margin: 0 10px 16px;
  padding: 11px 4px 9px;
  color: #565656;
  border-bottom: 1px solid #7284A3;
  font-size: 17px;
  font-weight: bold;
  line-height: 1.45;
  text-align: center;
  text-shadow: 1px 1px 3px #d7d7d7;
}

#fmenu section h2 b {
  display: block;
  margin-top: 5px;
  font-size: 12px;
  font-weight: normal;
  color: #777;
}

#fmenu section h3 {
  margin: 12px 12px 8px;
  padding: 0 0 5px;
  color: #565656;
  border-bottom: 1px dotted #BBCDD3;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.5;
}

#fmenu section p,
#fmenu .activity-intro p {
  margin: 0 12px 8px;
  color: #565656;
  font-size: 14px;
  line-height: 1.7;
}

#fmenu section p strong {
  font-weight: bold;
}

#fmenu section a,
#fmenu .activity-intro a {
  color: #191970;
}
#fmenu section a:visited,
#fmenu .activity-intro a:visited { color: #191970; }
#fmenu section a:hover,
#fmenu .activity-intro a:hover { color: #ff7800; }

.activity-intro {
  padding-top: 12px !important;
}

.pagetop {
  margin: 0 12px 12px;
  text-align: right;
}

.pagetop a {
  position: relative;
  padding-left: 14px;
  color: #191970;
  font-size: 13px;
}



.pagetop{
margin:0 10px 10px 10px;
text-align:right;
}

.pagetop a{
padding:0 15px 0 14px;
font-size:14px;
background:url(../img/all_arw01t.png) no-repeat left center;
-webkit-background-size:11px;
background-size:11px;
}


.pagetop a::before {
  position: absolute;
  left: 0;
  color: #577F92;
}

/* 平成18年ページ：旧ページの写真サイズを尊重 */
#fmenu .legacy-photo-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  gap: 4px;
  width: auto;
  margin: 10px auto 18px;
  padding: 0 8px;
  text-align: center;
  text-shadow: none;
}

#fmenu .legacy-photo-row img {
  flex: 0 0 auto;
  width: auto;
  max-width: calc(50vw - 22px) !important;
  height: auto !important;
  margin: 0;
  object-fit: contain;
}

/* ---------- Footer ---------- */
#foot {
  margin: 0 10px;
  padding: 10px 0;
  font-size: 13px;
  border-top: 2px solid #577F92;
}

#foot nav ul {
  margin: 0 0 10px;
  padding: 0;
  list-style: none;
  text-align: center;
}

#foot nav ul li {
  display: inline-block;
  margin: 0 5px 4px;
}

#foot nav ul li a {
  color: #191970;
}

#foot section {
  padding: 5px 10px;
  background: #577F92;
  border-radius: 4px;
}

#foot section h5 {
  margin: 0;
  color: #fff;
  font-size: 12px;
  font-weight: normal;
  text-align: center;
}

/* 下部のアーカイブ戻り導線 */
.archive-return {
  margin: 12px 10px 18px;
  text-align: right;
}
.archive-return a {
  color: #577F92;
  font-size: 13px;
}


/* =========================================================
   2007年以降の活動記録にも共通適用
   画像列・動画・補助見出しを2006年版のレイアウト幅に統一
   ========================================================= */
#fmenu section h4:not(.legacy-photo-row) {
  width: auto;
  margin: 10px 10px 8px;
  padding: 0;
  color: #565656;
  text-align: center;
  line-height: 1.5;
  font-weight: bold;
  text-shadow: none;
}

#fmenu section h4:not(.legacy-photo-row) img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0 auto 5px;
}

#fmenu section h5 {
  margin: 10px 12px 6px;
  color: #565656;
  font-size: 14px;
  font-weight: bold;
}

#fmenu section ul,
#fmenu section ol,
#fmenu section dl {
  margin: 0 18px 10px 32px;
  color: #565656;
  font-size: 14px;
  line-height: 1.7;
}

#fmenu section aside {
  margin: 12px 10px;
  text-align: center;
}

#fmenu section iframe {
  display: block;
  width: min(100%, 600px);
  max-width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  min-height: 220px;
  margin: 0 auto 10px;
  border: 0;
}


