@media screen and (max-width: 768px) {
  .message-body {
    padding-left: 2em;
    padding-right: 2em;
    padding-top: 1em;
    padding-bottom: 2em;
  }
  .message-body p {
    font-size:1.05em;
  }
}

/* ========== サイトカラー上書き ========== */

body { background: #ffee87; font-family: "BIZ UDPGothic", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif; letter-spacing: .02em; }
.message-body,
.top-section-body-wrap.prof01,
.policy-body,
.press-body,
.note-body,
.dpfp-body,
.box-atenntion-content { background: #fff; border-radius: 20px; }
.top-section-title { color:#003f88; text-decoration-color: #fff; }
/* ========================================= */

.top-timeline {
  background: #fafafa; border: 1px solid #ccc;
  border-radius: 0; padding-left: 0; padding-right: 0; padding-top: 0;
  padding-bottom: 0; margin-top: 60px;
}
.eapps-twitter-feed .eui-widget-title {
  padding-bottom: 0;
  margin-top: 20px !important; margin-bottom: 20px !important;
  font-size: 1.2em !important;
  font-weight: 700;
  text-align: center;
  color: currentColor;
}
@media screen and (max-width: 768px) {
	.top-timeline { margin-top: 30px; }
	.eapps-twitter-feed .eui-widget-title { margin-bottom: 14px !important; }
}


/* ********** 市政報告（こがゆバージョンスタイル） ******************************

.press-archive-selector { margin-bottom: 40px; }
.press-archive .dropdown { position: relative; width: 50%; margin: 0 auto; }
.press-archive select {
  -webkit-appearance: none; -moz-appearance: none; appearance: none; width: 100%;
  padding: .7em 2.5em .7em .7em;
  font-size: 1em; color: #003f88; background: #fff; border: 2px solid #003f88; cursor: pointer; line-height: 1.4; }
.press-archive .dropdown:after {
  content: "\f107"; font-family: "Font Awesome 5 Free"; font-weight: 900; color: #003f88; position: absolute;
  right: 15px; top: 50%; transform: translateY(-50%); pointer-events: none;
}
.press-container {
  display: grid; grid-template-columns: repeat(5, 1fr); gap: 30px 2.5%; list-style: none; padding: 0; margin: 0 0 40px 0;
}
.press-card-container { width: 100%; margin: 0; }
.card-img-press img { border: 1px solid #d3d3d3; width: 100%; aspect-ratio: 1 / 1.4; object-fit: cover; display: block; }
.entry__ttl_press { font-size: 1em; line-height: 1.4; margin-top: 10px; }

@media screen and (max-width: 1180px) {
  .press-container { grid-template-columns: repeat(4, 1fr); }
}
@media screen and (max-width: 768px) {
  .press-archive .dropdown { width: 100%; }
  .press-container { grid-template-columns: repeat(2, 1fr); gap: 20px 15px;  }
  .press-archive-selector { margin-top: 20px; margin-bottom: 15px; }
}

 */

/* ********** タブ切り替え ****************************** */

.custom-tabs-container { width: 100%; margin: 20px 0; }
.tab-menu { display: flex; flex-wrap: wrap; width: 100%; list-style: none; padding: 0; margin: 0; }
.tab-item { font-size: 1.2em; text-align: center; padding: 15px 5px; cursor: pointer; background: #f4f4f4;
    border: 2px solid #ccc; box-sizing: border-box; font-weight: bold; color: #666; transition: background 0.2s; }
.tab-content { display: none; }
.tab-content.active { display: block; }

/* --- PC表示 (769px以上) * アクティブタブの下線を消して、コンテンツと一体化  --- */
@media screen and (min-width: 769px) {
    .tab-item { font-size: 1.2em; flex: 1; margin-right: -1px; position: relative; z-index: 1; }
    .tab-item.active { background: #fff; color: #000; border-bottom-color: transparent; /* 下線を消す */ z-index: 3; }
    .tab-item.active::after {
        content: ""; position: absolute; bottom: -1px; left: 0; width: 100%; height: 2px; background: #fff; }
    .tab-content-wrapper {
        border: 2px solid #ccc; background: #fff; padding: 40px; margin-top: -2px; position: relative; z-index: 2; }
}

/* --- スマホ表示 (768px以下) * タブの罫線はすべて維持し、コンテンツと接する  --- */
@media screen and (max-width: 768px) {
    .tab-item { font-size: 1em; flex: 0 0 50%; /* 1行に2つ */ margin-right: -2px; margin-bottom: -2px; }
    /* スマホではアクティブでも「枠線の形」は変えない */
    .tab-item.active {
        background: #fff; /* 色の変化だけで状態を示す */ color: #000;
        border: 2px solid #ccc; /* 境界線を維持 */ border-bottom: 2px solid #fff;
    }
    /* スマホではPC用の「線を消すための疑似要素」を無効化 */
    .tab-item.active::after { display: none; }
/*  .tab-content-wrapper { border: 1px solid #ccc; background: #fff; padding: 20px; margin-top: -1px; } */
}

/* --- アニメーションの設定 --- */
.tab-content.active { display: block; animation: tabFadeIn 0.5s ease; /* 0.5秒かけて実行 */ }
@keyframes tabFadeIn { 0% { opacity: 0; } 100% { opacity: 1; } }


/* ========== pagetop img ========== */
.pagetop img {
	width: auto;
	height: 60px;
	margin-bottom: -6px;
}

/* ========== border color: #aaa → #ccc ========== */
.card { border-color: #ccc; }
.image-area img { border-color: #ccc; }
.grid-container li { border-top-color: #ccc; }
.grid-container li:nth-last-of-type(2),
.grid-container li:last-child { border-bottom-color: #ccc; }
.card-img img,
.archive-thumb img,
.banner-card-container img,
.press-col img { border-color: #ccc; }
.update-list li { border-top: 2px solid #fff; }
.update-list li:last-child { border-bottom: 2px solid #fff; }
.gmap-iframe { border-color: #ccc; }

/* ========== module-vonnector / module-feed-dpfp: grid border なし ========== */
.module-vonnector .grid-container li,
.module-feed-dpfp .grid-container li { display: flex; padding-top: 0px; padding-bottom: 30px; border-top: none; }
.module-vonnector .grid-container li:nth-last-of-type(2),
.module-vonnector .grid-container li:last-child,
.module-feed-dpfp .grid-container li:nth-last-of-type(2),
.module-feed-dpfp .grid-container li:last-child { border-bottom: none; }
.module-feed-dpfp .grid-container { margin-bottom: 50px; }
@media (max-width: 768px) {
	.module-feed-dpfp .grid-container { margin-bottom: 40px; }
	.module-vonnector .grid-container,
	.module-feed-dpfp .grid-container { margin-bottom: 0; }
}

/* ========== note / dpfp body padding ========== */
.note-body, .dpfp-body {
	padding-left: 4em; padding-right: 4em; padding-top: 3em; padding-bottom: 3em;
}
@media screen and (max-width: 768px) {
	.note-body, .dpfp-body { padding-left: 1em; padding-right: 1em; padding-top: 1em; padding-bottom: .5em; }
	.note-body .more, .dpfp-body .more { margin: 10px auto; }
}

/* ========== press ========== */
.press-images img { width: 100%; }
.press-latest { margin-bottom: 50px; }
@media (max-width: 768px) {
	.press-latest { margin-bottom: 20px; }
	.policy-body { padding-bottom: 1.5em; }
}

/* ========== privacypolicy ========== */
.entry-content.page-privacypolicy { background: #fff; border-radius: 20px; padding: 3em 4em; }
@media (max-width: 768px) {
	.entry-content.page-privacypolicy { padding: 1.5em; }
}

/* ========== archive/entry header h1 ========== */
.entry-header h1, .archive-header h1, .archive-header-no-exp h1 { color: #003f88; text-decoration-color: #fff; }

/* ========== archive-press カード ========== */
.grid-press-archive { row-gap: 20px; }
.grid-press-archive .card-container {
	background: #fff;
	border-radius: 15px;
	overflow: hidden;
	padding: 20px;
	border-top: none !important;
	border-bottom: none !important;
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: 1em;
}
.grid-press-archive .card-img-press {
	flex: 0 0 45%;
	width: 45%;
	float: none;
}
.grid-press-archive .card-img-press img {
	width: 100%;
	height: auto;
	aspect-ratio: 1170 / 827;
	object-fit: cover;
	float: none;
	border: none;
	border-radius: 0;
	display: block;
}
.grid-press-archive .card-text {
	flex: 1;
	margin-top: 0;
	margin-left: 0;
	padding: 0;
}
@media (max-width: 768px) {
	.grid-press-archive {
		grid-template-columns: 1fr;
	}
	.grid-press-archive .card-container {
		flex-direction: column;
		gap: 0.5em;
		margin-bottom: 15px !important;
	}
	.grid-press-archive .card-container:last-child {
		margin-bottom: 0 !important;
	}
	.grid-press-archive .card-img-press {
		flex: none;
		width: 100%;
	}
}

/* ========== contact ========== */
.contact-accordion { background: #fff; }
.contact-accordion .accordion__item.active .accordion__head::after,
.policy-module .accordion__item.active .accordion__head::after { color: #003f88 !important; }
.contact-accordion .accordion__head::after { color: #003f88; }

/* ========== MV スマホ画像 下端が切れる対策 ========== */
@media (max-width: 600px) {
	.top-mv li { aspect-ratio: unset; }
	.top-mv__img { width: 100%; height: auto !important; object-fit: unset; display: block; }
	.top-mv picture { height: auto; }
}

/* ========== sns-account ========== */
.module-sns-account .sns-txt { display: none; }
.module-sns-account { padding-top: 0 !important; padding-bottom: 0 !important; }
@media screen and (max-width: 768px) {
	.sns-account { padding-top: 30px; }
}
em { font-weight: 700; font-style: normal; }
.footer-nav-area { background: #fff; }
.policy-module .accordion__body ul { margin-top: 2em; }
.item1 { width: 8em; }
.label-blog, .label-news, .label-plog, .label-press { padding: .2em .2em .1em .2em; }

/* ===== policy-wipe AOS カスタムアニメーション（一時停止中） ===== */
/*
[data-aos="policy-wipe"] {
  clip-path: inset(0 100% 0 0);
  transition-property: clip-path;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition-duration: 2200ms;
}
[data-aos="policy-wipe"].aos-animate {
  clip-path: inset(0 0% 0 0);
}
*/

/* ========== バナー ========== */
.banner-list { display: flex; flex-wrap: wrap; gap: 14px; list-style: none; padding: 0; justify-content: center; }
.banner-item { width: 24%; }
.banner-item a { display: block; }
.banner-item img { width: 100%; aspect-ratio: 1/1; object-fit: cover; display: block; border-radius: 10px; border: none; }
.banner-item:only-child { width: 35%; }

@media (max-width: 767px) {
	.banner-list--multiple { display: block; }
	.banner-item { width: 100%; }
	.banner-item img { width: 100%; aspect-ratio: 1/1; object-fit: cover; }
	.module-banner { padding-top: 5px; padding-bottom: 30px; }
}
.banner-item a[target="_blank"]::after { content: none; }
@media (min-width: 768px) { .module-banner { padding-top: 20px; } }
