.mb-05 {
	margin-bottom:0.5rem !important;
}
.mb-1 {
	margin-bottom:1.0rem !important;
}
.mb-1-5 {
	margin-bottom:1.5rem !important;
}
.mb-2 {
	margin-bottom:2.0rem !important;
}
.mb-3 {
	margin-bottom:3.0rem !important;
}
.mb-5 {
	margin-bottom:5rem !important;
}
.mb-10 {
	margin-bottom:10rem !important;
}
.mb-15 {
	margin-bottom:15rem !important;
}
.mb-20 {
	margin-bottom:20rem !important;
}
.mb-25 {
	margin-bottom:25rem !important;
}
.mb-30 {
	margin-bottom:30rem !important;
}
.mb-35 {
	margin-bottom:35rem !important;
}
.mb-40 {
	margin-bottom:40rem !important;
}
.mb-45 {
	margin-bottom:45rem !important;
}
.mb-50 {
	margin-bottom:50rem !important;
}

.mt-05 {
	margin-top:0.5rem !important;
}
.mt-1 {
	margin-top:1.0rem !important;
}
.mt-1-5 {
	margin-top:1.5rem !important;
}
.mt-2 {
	margin-top:2.0rem !important;
}
.mt-3 {
	margin-top:3.0rem !important;
}
.mt-5 {
	margin-top:5rem !important;
}
.mt-10 {
	margin-top:10rem !important;
}
.mt-15 {
	margin-top:15rem !important;
}
.mt-20 {
	margin-top:20rem !important;
}
.mt-25 {
	margin-top:25rem !important;
}
.mt-30 {
	margin-top:30rem !important;
}
.mt-35 {
	margin-top:35rem !important;
}
.mt-40 {
	margin-top:40rem !important;
}
.mt-45 {
	margin-top:45rem !important;
}
.mt-50 {
	margin-top:50rem !important;
}


article .campaign_article_inner .campaign_article_inner_iner::after {
    background:none;/* url(../images/kumo_campaign.png) no-repeat*/
}

section.about {
    background: transparent;
}


ul.events li.finish {
    width: 47.5rem;
    height: auto;
    text-decoration: none;
    background: #fff;
    display: flex;
    flex-direction: column;
    color: #512D5D;
}
@media screen and (max-width: 768px) {
    ul.events li.finish {
        width: 100%;
    }
}

ul.events li.finish .ainner {
    position: relative;
    z-index: 3;
    padding: 3rem;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    width: 100%;
}
@media screen and (max-width: 768px) {
    ul.events li.finish .ainner {
        padding: 5rem 4rem;
    }
}

ul.events li.finish img {
    width: 35.6rem;
    margin: 0 auto 4rem;
}
@media screen and (max-width: 768px) {
    ul.events li.finish img {
        width: calc(464/750*100vw);
        margin-bottom: calc(35/750*100vw);
    }
}
ul.events li.finish dl {
    width: 100%;
    display: flex;
    font-feature-settings: "palt";
}
ul.events li.finish dl + dl {
    margin-top: 1.4rem;
}
ul.events li.finish dl dt {
    position: relative;
    flex-shrink: 0;
    width: 14.4rem;
    font-size: 1.8rem;
    line-height: calc(30/21*1em);
    font-weight: 700;
}

@media screen and (max-width: 768px) {
    ul.events li.finish dl dt {
        font-size: calc(26/750*100vw) !important;
        width: 42% !important; /* スマホ時の幅を42%に拡張 */
        padding-right: 1rem !important;
        box-sizing: border-box !important;
        overflow-wrap: break-word !important; /* 単語のはみ出しを防止 */
    }

    ul.events li.finish dl dt::before {
        right: 0.3rem !important; /* 仕切り線の位置調整 */
    }
}

ul.events li.finish dl dt::before {
    content: "";
    position: absolute;
    top: 0.5rem;
    right: 0;
    width: 0.2rem;
    height: 1em;
    background-color: #512D5D;
}

ul.events li.finish dl dd {
    padding-left: .5em;
    font-size: 1.8rem;
    line-height: calc(30/21*1em);
    font-weight: 700;
}
@media screen and (max-width: 768px) {
    ul.events li.finish dl dd {
        font-size: calc(27/750*100vw);
    }
}

ul.events li.finish .linkArea {
    margin-top: auto;
}
ul.events li.finish p.link_text {
    margin-top: 2rem;
    text-align: center;
}
ul.events li.finish p.link_text.dummy {
    visibility: hidden;
    pointer-events: none;
}

ul.events li.finish p.link_text a span {
    display: inline;
    margin: auto;
    padding-right: 1.5rem;
    font-size: 1.8rem;
    font-weight: 500;
    text-decoration: underline;
    background-image: url(../images/arrow_next.webp);
    background-repeat: no-repeat;
    background-size: 0.6666rem;
    background-position: top 0.7rem right;
}
@media screen and (max-width: 768px) {
    ul.events li.finish p.link_text a span {
        font-size: 4vw;
        background-size: 1.6665333333vw;
        background-position: top 1.4rem right;
        padding-right: 1em;
    }
}

ul.events li.finish p.link_text a:hover {
    background:none;
}

.postCont h3 {
	font-size:2.8rem;
	display: block;
	border-bottom: #583233 solid 1px;
	padding-bottom:0.5rem;
}
@media screen and (max-width: 768px) {
    .postCont h3 {
		font-size:4.8vw;
	}
}

.postCont h4 {
	font-size:2.2rem;
}
@media screen and (max-width: 768px) {
    .postCont h4 {
		font-size:4.2vw;
	}
}

.postCont ul {
	margin-left:2em;
	list-style-type: disc;
}
@media screen and (max-width: 768px) {
    .postCont ul {
		margin-left:4em;
	}
}

.postCont ul li {
	font-size: 1.6rem;
	margin-bottom: 0.5rem;
}
@media screen and (max-width: 768px) {
    .postCont ul li {
		font-size: 3.7vw;
	}
}

.postCont ul.postFig {
	list-style-type: none;
}


section.eventpost .inner h2 span {
    font-size: 45%;
	border:2px solid #512D5D;
	padding: 0 1rem;
	margin-left:2rem;
	display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
	vertical-align: middle;  /* h2テキストとの垂直方向の中央揃え */
    line-height: 1;
	height: 2em;
}

@media screen and (max-width: 768px) {
    section.eventpost .inner .postCont dl.spec dt.long {
        width: 37vw;
        height: 5.331vw;
        font-size: 2.6666666667vw;
		padding:0 1rem;
		margin-left: 0.5rem;
		background:none;
		background-color: #fff;
		clip-path: polygon(
            0.8vw 0, calc(100% - 0.8vw) 0,
            100% 0.8vw, 100% calc(100% - 0.8vw),
            calc(100% - 0.8vw) 100%, 0.8vw 100%,
            0 calc(100% - 0.8vw), 0 0.8vw
        );
    }
}
@media screen and (max-width: 768px) {
section.eventpost .inner .postCont dl.spec dt.long::before {
  content: "";
  position: absolute;
  inset: 1px; /* 白枠の太さ（1px） */
  background-color: #512d5d;
  z-index: -1;

  /* 内側の8角形カット（1px分小さく調整して 5px 面取り） */
  clip-path: polygon(
    5px 0, calc(100% - 5px) 0,
    100% 5px, 100% calc(100% - 5px),
    calc(100% - 5px) 100%, 5px 100%,
    0 calc(100% - 5px), 0 5px
  );
}
}

section.eventpost .inner h2 {
    margin-bottom: 0;
}

.postCont p {
	font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
    .postCont p {
		font-size:3.7vw;
	}
}

.postCont p a {
	color: #512d5d;
	text-decoration: underline;
}

section.eventpost .inner .postCont dl.spec dt {
    background:none;
	background-color: #fff;
	clip-path: polygon(
        0.6rem 0, calc(100% - 0.6rem) 0,
        100% 0.6rem, 100% calc(100% - 0.6rem),
        calc(100% - 0.6rem) 100%, 0.6rem 100%,
        0 calc(100% - 0.6rem), 0 0.6rem
    );
	margin-left:0.2rem;
}


section.eventpost .inner .postCont dl.spec dt::before {
  content: "";
  position: absolute;
  inset: 1px; /* 白枠の太さ（1px） */
  background-color: #512d5d;
  z-index: -1;

  /* 内側の8角形カット（1px分小さく調整して 2px 面取り） */
  clip-path: polygon(
	0.6rem 0, calc(100% - 0.6rem) 0,
	100% 0.6rem, 100% calc(100% - 0.6rem),
	calc(100% - 0.6rem) 100%, 0.6rem 100%,
	0 calc(100% - 0.6rem), 0 0.6rem
  );
}


@media screen and (max-width: 768px) {
.menupanel {
	pointer-events: none;
}
.menupanel.open {
	pointer-events: auto;
}
}

@media screen and (min-width: 769px) {
    section.eventpost .inner .postCont dl.spec dt {
	    width: 13.6rem;
	    height: auto;
	    padding:0.5em 1em;
    }
    section.eventpost .inner .postCont dl.spec dd {
        width: 73rem;
    }
    ul.events li:not(.finish) {
      background: #fff;
    }
    ul.events li:not(.finish) .ainner {
      position: relative;
      z-index: 3;
      padding: 3rem;
      display: flex;
      flex-direction: column;
    }
    ul.events li:not(.finish) img {
      width: 35.6rem;
      margin: 0 auto 4rem;
    }
    ul.events li:not(.finish) dl {
      width: 100%;
      display: flex;
      font-feature-settings: "palt";
    }
    ul.events li:not(.finish) dl + dl {
      margin-top: 1.4rem;
    }
    ul.events li:not(.finish) dl dt {
      position: relative;
      flex-shrink: 0;
      width: 12.4rem;
      font-size: 2.1rem;
      line-height: calc(30/21*1em);
      font-weight: 700;
      letter-spacing: calc(40/1000*1em);
    }
    ul.events li:not(.finish) dl dt::before {
      content: "";
      position: absolute;
      top: 0.5rem;
      right: 0;
      width: 0.2rem;
      height: 1em;
      background-color: #512D5D;
    }
    ul.events li:not(.finish) dl dd {
      padding-left: .5em;
      font-size: 2.1rem;
      line-height: calc(30/21*1em);
      font-weight: 700;
    }
}

/* ==========================================
   全ページ汎用：PC・SP最適化指定
   ========================================== */
@media screen and (min-width: 769px) {
    html body section.eventpost .inner .postCont ul.postFig.img-half,
    html body section.eventpost .inner .postCont ul.postFig.img-half li,
    html body section.eventpost .inner .postCont ul.postFig.img-half li img {
        width: 18rem !important;
        max-width: 18rem !important;
        height: auto !important;
        margin-left: 0 !important;
        margin-right: auto !important;
        display: block !important;
    }
}

@media screen and (max-width: 768px) {
    html body section.eventpost .inner .postCont ul.postFig.img-half {
        width: 50% !important;
        max-width: 50% !important;
        margin-left: 0 !important;
        margin-right: auto !important;
        display: block !important;
    }
    html body section.eventpost .inner .postCont ul.postFig.img-half li,
    html body section.eventpost .inner .postCont ul.postFig.img-half li img {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        display: block !important;
        margin: 0 !important;
    }
}

/* dl.spec 内のリンク指定 */
html body section.eventpost .inner .postCont dl.spec a {
    color: #512D5D !important;
    text-decoration: underline !important;
}

/* src属性で直接指定 */
.postCont ul.postFig:has(img[src*="20260618_15_22.png"]),
.postCont ul.postFig:has(img[src*="20260618_15_23.png"]) {
    width: 50% !important;
    max-width: 50% !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    display: block !important;
}
.postCont ul.postFig:has(img[src*="20260618_15_22.png"]) li,
.postCont ul.postFig:has(img[src*="20260618_15_23.png"]) li,
.postCont ul.postFig:has(img[src*="20260618_15_22.png"]) li img,
.postCont ul.postFig:has(img[src*="20260618_15_23.png"]) li img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
    margin: 0 !important;
}
html body section.eventpost .inner .postCont ul.postFig.img-half {
    width: 180px !important;
    max-width: 180px !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    display: block !important;
}

html body section.eventpost .inner .postCont ul.postFig.img-half li,
html body section.eventpost .inner .postCont ul.postFig.img-half li img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
    margin: 0 !important;
}

@media screen and (max-width: 768px) {
    html body section.eventpost .inner .postCont ul.postFig.img-half {
        width: 120px !important;
        max-width: 120px !important;
    }
}

html body section.eventpost .inner .postCont ul.postFig.img-half2 {
    width: 140px !important;
    max-width: 140px !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    display: block !important;
}

html body section.eventpost .inner .postCont ul.postFig.img-half2 li,
html body section.eventpost .inner .postCont ul.postFig.img-half2 li img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
    margin: 0 !important;
}

@media screen and (max-width: 768px) {
    html body section.eventpost .inner .postCont ul.postFig.img-half2 {
        width: 120px !important;
        max-width: 120px !important;
    }
}

/* ==========================================
   独自作成：画像＋テキストブロック
   ========================================== */
.thumb-text-block {
    display: flex !important;
    align-items: flex-start !important;
    gap: 3rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.thumb-text-block .thumb-media {
    width: 28rem !important;
    max-width: 28rem !important;
    min-width: 28rem !important;
    flex: 0 0 28rem !important;
    margin: 0 !important;
    padding: 0 !important;
}

.thumb-text-block .thumb-media img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
    margin: 0 !important;
    border: none !important;
}

.thumb-text-block .thumb-content {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.thumb-text-block .thumb-content h4 {
    font-size: 2.2rem !important;
    font-weight: 700 !important;
    margin: 0 0 1rem 0 !important;
    line-height: 1.4 !important;
    color: #512D5D !important;
}

.thumb-text-block .thumb-content p {
    font-size: 1.6rem !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    color: #512D5D !important;
}

@media screen and (max-width: 768px) {
    .thumb-text-block {
        flex-direction: column !important;
        gap: 1.5rem !important;
    }

    .thumb-text-block .thumb-media {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
        flex: 0 0 100% !important;
    }

    .thumb-text-block .thumb-content {
        width: 100% !important;
    }

    .thumb-text-block .thumb-content h4 {
        font-size: 4.2vw !important;
        margin-bottom: 0.8rem !important;
    }

    .thumb-text-block .thumb-content p {
        font-size: 3.7vw !important;
    }
}

/* ==========================================
   PC横3並び / SP縦3並び画像リスト (.img-triple)
   ========================================== */
.postCont ul.postFig.img-triple {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 2rem !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    list-style-type: none !important;
}

.postCont ul.postFig.img-triple li {
    flex: 1 1 calc((100% - 4rem) / 3) !important;
    width: calc((100% - 4rem) / 3) !important;
    max-width: calc((100% - 4rem) / 3) !important;
    margin-bottom: 0 !important;
    font-size: 1.4rem !important;
}

.postCont ul.postFig.img-triple li img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
    margin: 0 0 1rem 0 !important;
}

.postCont ul.postFig.img-triple li p {
    margin: 0 !important;
    font-size: 1.4rem !important;
    line-height: 1.5 !important;
}

@media screen and (max-width: 768px) {
    .postCont ul.postFig.img-triple {
        flex-direction: column !important;
        gap: 2rem !important;
    }

    .postCont ul.postFig.img-triple li {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }

    .postCont ul.postFig.img-triple li p {
        font-size: 3.7vw !important;
    }
}

.postCont sup {
    font-size: 0.6em !important;
    vertical-align: super !important;
    line-height: 0 !important;
}

html body section.eventpost .inner .postCont ul.postFig.img-center {
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
    text-align: center !important;
}

html body section.eventpost .inner .postCont ul.postFig.img-center li {
    margin-left: auto !important;
    margin-right: auto !important;
    display: inline-block !important;
}

html body section.eventpost .inner .postCont ul.postFig.img-center li img {
    margin-left: auto !important;
    margin-right: auto !important;
}

.thumb-text-block .thumb-media p {
    font-size: 1.4rem !important;
    line-height: 1.5 !important;
    margin-top: 0.8rem !important;
    color: #512D5D !important;
}

@media screen and (max-width: 768px) {
    .thumb-text-block .thumb-media p {
        font-size: 3.7vw !important;
    }
}

ul.events li.finish p.link_text a {
  background-image: none !important;
  padding-right: 0 !important;
}

ul.events li.finish p.link_text a:hover {
  background-image: none !important;
}

/* ==========================================
   イベント一覧：カード型3カラム表示（最新版）
   ========================================== */

/* 3カラムグリッド (.event-grid-3col) */
.event-grid-3col {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    width: 100%;
    margin-bottom: 3rem;
}

/* 2カラムグリッド (.event-grid-2col) */
.event-grid-2col {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    width: 100%;
    margin-bottom: 3rem;
}

/* カード全体：画像の上・左右・下にも内側余白を作成 */
.event-card {
    background-color: #fff;
    border: 1px solid #e0e0e0;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 1.5rem !important;
}

/* 画像エリア */
.event-card .card-media {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    margin-bottom: 1.2rem;
}

.event-card .card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* テキストエリア */
.event-card .card-content {
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.event-card .card-content h4 {
    font-size: 1.6rem;
    font-weight: 700;
    margin: 0 0 1rem 0;
    color: #512D5D;
}

/* ==========================================
   定義リスト：ラベル幅揃え ＆ 「イベント名」文字間圧縮
   ========================================== */
.event-card .card-info {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    font-size: 1.3rem;
    line-height: 1.5;
    color: #512D5D;
}

/* ラベル全体（dt）：4文字幅（4em）＋コロン分の幅（5.2em）に全体を固定 */
.event-card .card-info dt {
    width: 5.2em !important;
    flex-shrink: 0;
    font-weight: bold;
    margin: 0 0 0.4rem 0;
    display: flex;
    align-items: flex-start;
    white-space: nowrap;
}

/* ラベル基本（場所 / 開催日時）：4文字幅（4em）へ均等割り付け */
.event-card .card-info dt span {
    width: 4em !important;
    display: inline-block;
    text-align: justify;
    text-align-last: justify;
    text-justify: inter-ideograph;
    margin-right: 0.2em;
}

/* ★「イベント名」のみ：字間をしっかり縮めて4文字分（4em）の幅にピタッと収める */
.event-card .card-info dt:has(span) span,
.event-card .card-info dt span {
    letter-spacing: -0.15em !important; /* 5文字（イベント名）の文字間をギュッと圧縮 */
}

/* 右側データ（dd）：dtの幅（5.2em）に合わせて残りを自動計算 */
.event-card .card-info dd {
    width: calc(100% - 5.2em) !important;
    margin: 0 0 0.4rem 0;
    padding: 0;
    word-break: break-word;
}

/* ------------------------------------------
   スマホ表示（600px以下）のスタイル調整
   ------------------------------------------ */
@media screen and (max-width: 600px) {
    .event-card .card-info dt {
        width: 5.2em !important;
        margin-bottom: 0.5rem !important;
    }

    .event-card .card-info dt span {
        width: 4em !important;
        letter-spacing: -0.15em !important;
        margin-right: 0.2em !important;
    }

    .event-card .card-info dd {
        width: calc(100% - 5.2em) !important;
        margin-bottom: 0.5rem !important;
    }
}

/* スポット用カード：内側パディング＆文字センター揃え */
.event-card.spot-card {
    padding: 2rem !important;
    text-align: center !important;
}

.event-card.spot-card h4 {
    font-size: 1.8rem !important;
    font-weight: 700 !important;
    margin: 0 0 1.5rem 0 !important;
    color: #512D5D !important;
    text-align: center !important;
}

.event-card.spot-card .card-media {
    width: 100% !important;
    margin-bottom: 1.5rem !important;
}

.event-card.spot-card .card-content {
    padding: 0 !important;
    text-align: center !important;
}

.event-card.spot-card .card-content p {
    font-size: 1.4rem !important;
    color: #512D5D !important;
    margin: 0 !important;
    text-align: center !important;
}

/* レスポンシブ設定 (タブレット・スマホ対応) */
@media screen and (max-width: 960px) {
    .event-grid-3col {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ==========================================
   スマホ表示（600px以下）：ラベル横幅縮小＆字間最適化
   ========================================== */
@media screen and (max-width: 600px) {
    .event-grid-2col,
    .event-grid-3col {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    /* カードのスマホ用内側余白 */
    .event-card {
        padding: 3.5rem !important;
    }

    .event-card .card-content h4 {
        font-size: 4vw;
        margin-bottom: 1.2rem;
    }
    
    .event-card .card-info {
        font-size: 3.5vw;
    }

    /* ★スマホ時：ラベル全体の横幅を 5.2em に縮小（旧 7em から削減） */
    .event-card .card-info dt {
        width: 5.2em !important;
        flex-shrink: 0 !important;
        display: flex !important;
        align-items: flex-start !important;
        white-space: nowrap !important;
        margin-bottom: 0.5rem !important;
    }

    /* ★スマホ時：文字部分を 4em 幅に固定し「イベント名」の字間を詰める */
    .event-card .card-info dt span {
        width: 4em !important;
        display: inline-block !important;
        text-align: justify !important;
        text-align-last: justify !important;
        text-justify: inter-ideograph !important;
        letter-spacing: -0.15em !important; /* 5文字の文字間をギュッと圧縮 */
        margin-right: 0.2em !important;
    }

    /* ★スマホ時：右側の詳細テキスト領域を拡大（calc(100% - 5.2em)） */
    .event-card .card-info dd {
        width: calc(100% - 5.2em) !important;
        margin-bottom: 0.5rem !important;
    }

    /* スポットカード用スマホ調整 */
    .event-card.spot-card {
        padding: 3.5rem !important;
    }
    .event-card.spot-card h4 {
        font-size: 4vw !important;
    }
    .event-card.spot-card .card-content p {
        font-size: 3.5vw !important;
    }
}

/* ==========================================
   広報協力施設一覧テーブル：スマホ特化（文字拡大＆余白圧縮）
   ========================================== */
.table-responsive {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 3rem;
}

.facility-table {
    width: 100%;
    min-width: 600px;
    border-collapse: collapse;
    background-color: #fff;
    font-size: 1.6rem;
    color: #512D5D;
    table-layout: auto;
}

.facility-table th,
.facility-table td {
    border: 1px solid #dcdcdc;
    padding: 1rem 1.2rem;
    vertical-align: middle;
    line-height: 1.4;
}

.facility-table th {
    background-color: #f7f5f8;
    color: #512D5D;
    font-weight: 700;
    text-align: center;
    white-space: nowrap;
}

@media screen and (max-width: 768px) {
    .facility-table {
        font-size: 2.6rem !important;
        min-width: 650px !important;
        width: max-content !important;
    }

    .facility-table th,
    .facility-table td {
        padding: 0.6rem 1rem !important;
        line-height: 1.3 !important;
    }

    .facility-table th {
        font-size: 2.6rem !important;
    }

    .facility-table th:nth-child(1),
    .facility-table td:nth-child(1) {
        text-align: center !important;
        white-space: nowrap !important;
    }

    .facility-table th:nth-child(2),
    .facility-table td:nth-child(2) {
        text-align: left !important;
        font-weight: bold !important;
        white-space: nowrap !important;
    }

    .facility-table th:nth-child(3),
    .facility-table td:nth-child(3) {
        text-align: left !important;
        white-space: nowrap !important;
    }
}
/* ==========================================
   アンカーリンク用：固定ヘッダーの高さ分スクロール位置を調整
   （www.edotokyo.metro.tokyo.lg.jp の共通仕様と同等）
   ========================================== */

/* id 属性がセットされている全要素に対して固定ヘッダー分の余白を確保 */
[id] {
    scroll-margin-top: 10rem !important; /* PC時のヘッダー高さ + 余裕分 */
}

/* スマホ表示（768px以下）時のヘッダー高さに合わせて調整 */
@media screen and (max-width: 768px) {
    [id] {
        scroll-margin-top: 14vw !important; /* スマホ用ヘッダー高さ */
    }
}
/* ==========================================
   東京文化財ウィーク連携 注記ボックス
   （上揃え ＆ フォントサイズ 1.3rem / 13px 強制適用版）
   ========================================== */
.event-notice-box {
    grid-column: span 2;
    padding: 0 1rem 1rem 2rem;
    font-size: 1.3rem !important; /* 13px相当 */
    line-height: 1.6;
    color: #512D5D;
    align-self: start !important; /* 上揃え */
}

/* ★内部の p タグに効いている font-size: 1.6rem (!important) を直接上書きして 1.3rem に固定 */
.event-notice-box p,
.postCont .event-notice-box p {
    font-size: 1.3rem !important;
    line-height: 1.6 !important;
    color: #512D5D !important;
    margin-bottom: 1rem !important;
}

.event-notice-box a {
    color: #512D5D !important;
    text-decoration: underline !important;
    font-weight: bold !important;
}

/* スマホ表示時の制御 */
@media screen and (max-width: 960px) {
    .event-notice-box {
        grid-column: span 1 !important;
        padding: 1.5rem 0 0 0;
    }
    .event-notice-box p,
    .postCont .event-notice-box p {
        font-size: 3.5vw !important;
    }
}
/* 対象カード内のテキストリンクの指定 */
.card_link, 
.card-text-link {
  color: #783c8a; /* 周囲のテキストと同じ紫色のカラーコードを指定 */
  text-decoration: underline; /* アンダーラインを表示 */
}

/* ホバー（カーソルを合わせたとき）時も下線を維持・スタイル調整する場合 */
.card_link:hover,
.card-text-link:hover {
  color: #783c8a;
  text-decoration: underline;
  opacity: 0.8; /* 好みに合わせて透明度などを変更 */
}