@charset "UTF-8";

/* ===== style.css delta ===== */
.more a:active,
.return a:active,
.wp-block-button a:active,
.page-index-btn a:active,
.page-index-btn2 a:active,
.spread-btn-card-container a:active,
button:not(.slick-arrow):not(.header-handle):not(.drawer__button):not(.lightbox-nav):not(.podcast-player__rate):active, input[type="submit"]:active, input[type="reset"]:active, input[type="button"]:active {
	transform: translateY(2px);
}

.accordion__body ul li,ol li:last-child { border-bottom: none!important; }

.accordion__body ul li { text-indent: -1.2em; padding-left: 1.2em; }

.grid-container { display: grid; grid-template-columns: 49% 49%; padding-left: 0px; margin-top: 0px; column-gap: 2%; }

.grid-container li { display: flex; padding-top: 30px; padding-bottom: 30px; border-top: 1px solid var(--color-border-image); }

.grid-container li:nth-last-of-type(2),
.grid-container li:last-child { border-bottom: 1px solid var(--color-border-image); }

.card-img img { width: 260px; object-fit: cover; }

.archive-thumb img { width: 200px; height: 200px; object-fit: cover; border: 1px solid var(--color-border-image); }

.card-text { width: 100%; margin-left: 15px; }

.feed-post-title, .entry__ttl { font-size: 1em; line-height: 1.5em; margin-top: 0em; font-weight: 500; margin-bottom: .2em; }

.newslist-date, .newslist-title { font-size: 1em; margin-top: 0em; }

.newslist-date { font-weight: 400; }

.newslist-title { font-weight: 700; }

.feed-post-date, .feed-blog-meta, .archive-meta { font-size: .9em; margin-top:0; margin-bottom: 0em; }

.feed-post-meta { font-size: .9em; margin: 0; display: flex; align-items: center; gap: .6em; flex-wrap: wrap; }

.feed-blog-meta { text-indent: 0em; margin-left: 0em; }

@media (max-width: 1024px) {
    .card-img img { width: 100px; height: 100px; }
}

@media (max-width: 768px) {
    .grid-container { display: block; }
    .grid-container li { padding-top: 15px; padding-bottom: 15px; }
    .grid-container li:nth-last-of-type(2) { border-bottom: none; }
    
    .module-feed-youtube .grid-container li:nth-last-of-type(2) { border-bottom: 1px solid var(--color-border-image); }
    .card-img img, .archive-thumb img { width: 100px; height: 100px; }
    .feed-eyecatch.feed-eyecatch-youtube { background: var(--color-black); }
    .card-text { margin-left: 15px; }
    .feed-post-title, .entry__ttl { font-size: 1em; line-height: 1.5em; margin-bottom: .25em; }
    .newslist-date, .newslist-title { margin-bottom: .25em; }
    .newslist-date { letter-spacing: -.05em; }
    .feed-post-date, .feed-blog-meta { font-size: .9em; line-height: 1.3em !important; }
    .archive-meta { font-size: .85em; line-height: 1.3em !important; }
    .archive-entry-cat { margin-top: .3em; }
}

.archive-entry-cat {
    position: relative;
    z-index: 12;
}

@media (max-width: 768px) {
	.module--3index { padding-top: 0 !important; }
	.module--news-multi { padding-top: 40px !important; }
}

.catchphrase,
.is-style-catchphrase { font-size: 2.2em!important; font-weight: 900 !important; text-align: center !important;
	line-height: 1.6em; margin-top: 0; margin-bottom: 1em; }

.subtitle { font-weight:900 !important; font-size:1.6em !important; text-align:center !important; line-height:1.6em;
	margin-top: 0; }

@media (max-width: 768px) {
	.catchphrase,
	.is-style-catchphrase { font-size: 1.6em!important; line-height: 1.4em; margin-top: 0; margin-bottom: 25px; }
	.subtitle { font-size:1.2em !important; margin-top:10px;}
	}

.newslist-date { width: 160px!important; }

@media (max-width: 768px){
	.top-newslist,.update-list { padding-top: 5px; }
	.newslist-date { width: 120px!important; }
	}

.header {
    position: fixed; 
    top: 20px; left: 2%; right: 2%;
    background-color: var(--color-white); box-shadow: var(--shadow); z-index: 1000;
}

@media (max-width: 768px) {
    .header { top: 15px; left: 15px; right: 15px; }
}

.sub-header { padding-top: 120px; padding-bottom: 0; margin-bottom: 0; }

@media (max-width: 768px) { .sub-header { padding-top: 80px; } }

.card-img img { transition: transform 0.4s ease; display: block; }

@media (max-width: 768px) {
	.module-mini-gallery .photo-container { grid-template-columns: repeat(2, 1fr); }
}

.policy-subhead {
	font-size: 1.8em;
	font-weight: 700;
	line-height: 1.4em;
	margin-top: 30px;
	margin-bottom: 10px;
	text-align: center;
	color: var(--color-blue);
}

@media (max-width: 768px) {
	.policy-subhead { font-size: 1.2em; }
}

/* ===== profile.css delta ===== */
.prof-img {
	display: flex; margin: 0 auto;
	width: 350px; height: 350px; object-fit: cover; }

.top-section-body-wrap.prof01 {
	margin-top: -160px; padding-top: 180px;
	padding-left: 4em; padding-right: 4em; padding-bottom: 3em;
	background: var(--color-bg-subtle); border: none; }

.top-section-body-wrap.prof01 .prof-name {
	font-size: 3em; font-weight: 900 !important; color: var(--color-text);
	text-align: center !important; line-height: 1.4em; margin-top: 0em; margin-bottom: 0em; }

@media (max-width: 768px) {
	.prof-img { width: 200px; height: 200px; }
	.top-section-body-wrap.prof01 {
		margin-top: -100px; padding-top: 100px;
		padding-left: 1.5em; padding-right: 1.5em; padding-bottom: 2em; }
	.top-section-body-wrap.prof01 .prof-name { font-size: 2.2em; margin-top: 10px; }
}

.profile-item { display: grid; grid-template-columns: 8em 1fr; gap: 20px; margin-bottom: .25em; }

@media (max-width: 768px) {
	.profile-list { margin-top: 0; margin-bottom: 2em; }
	.profile-item { grid-template-columns: 1fr; gap: 0; margin-bottom: .5em; }
	.profile-title { font-size: 1em; }
	.profile-text { font-size: 1em; }
}

.photo-container {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.2%;
	list-style: none; padding-left: 0;
	margin-top: 60px; margin-bottom: 0;
}

.photo-card-container { padding-bottom: 9px; }

@media (max-width: 768px) {
	
	.module-mini-gallery { container-type: inline-size; }
	.photo-container { margin-top: 30px; column-gap: 3%; row-gap: 3cqw; }
	.photo-card-container { padding-bottom: 0; }
}

.lightbox {
	position: fixed; top: 0; left: 0; width: 100dvw; height: 100dvh;
	background: var(--color-overlay);
	display: flex; justify-content: center; align-items: center;
	z-index: 9999; opacity: 0; pointer-events: none; transition: opacity 0.4s ease;
}

.lightbox.active { opacity: 1; pointer-events: auto; }

.lightbox-content { position: relative; display: block; max-width: 90%; z-index: 10000; }

.lightbox-nav {
	position: fixed; top: 50%; transform: translateY(-50%);
	width: 44px; height: 44px;
	background: var(--color-primary); color: var(--color-white);
	border: 0; padding: 0; cursor: pointer; user-select: none;
	z-index: 10001;
}

.lightbox-nav::before {
	content: ""; content: "" / "";
	position: absolute; top: 50%; left: 50%;
	width: 10px; height: 10px;
	border-top: 2px solid var(--color-white);
	border-right: 2px solid var(--color-white);
}

.lightbox-nav--prev { left: 20px; }

.lightbox-nav--next { right: 20px; }

@media (max-width: 768px) {
	.lightbox-content { max-width: calc(100% - 90px); }
	.lightbox-nav { width: 36px; height: 36px; }
	.lightbox-nav::before { width: 8px; height: 8px; }
	.lightbox-nav--prev { left: 8px; }
	.lightbox-nav--next { right: 8px; }
}

.kn-timeline-item {
	display: flex;
	position: relative;
	padding-bottom: 30px;
}

@media (max-width: 768px) {
	
	.kn-timeline-item { flex-direction: column; }
	.kn-timeline-item dt,
	.kn-timeline-item dd { width: 100%; font-size: 1em; }
	.kn-timeline-item dd { padding-left: 30px; line-height: 1.6; }
}

/* ===== policy.css whole-move ===== */
/* ==========================================================================
   POLICY STYLES (Merged with custom.css)
   ========================================================================== */

/* カウンターのリセット（custom.cssより） */
.policy-module {
  counter-reset: section-counter;
}

.policy-module .bigbanner { width:100%; height: auto;}
.policy-module .bigbanner img { width: 100%; }
@media (max-width: 768px){
  .policy-module .bigbanner { width:100%; height: auto;}
}

.policy-module .top-section-lead p { font-size:1.2em; line-height:1.5em; margin-top:0em; margin-bottom: .2em; text-align:justify; }
.policy-module .top-section-lead ul { list-style: none; font-size:1.2em; line-height: 1.3em; padding-left: 1em; margin-bottom: 0em; text-align:justify; }
.policy-module .top-section-lead ul li { text-indent: -1.5em; padding-left: 1.5em; margin-bottom:.5em; }
.policy-module .top-section-lead ul li::before { content: "●"; content: "●" / ""; color: var(--color-warning); margin-right: .5em; }

@media (max-width: 768px) { 
    .policy-module .top-section-lead p { font-size:1.15em; }
    .policy-module .top-section-lead ul { font-size:1.1em; padding-left: .5em; }
    .policy-module .top-section-lead ul li { text-indent: -1.2em; padding-left:1.2em; }
    .policy-module .top-section-lead ul li::before { margin-right: .2em; }
}

.policy-module .qa-img { padding-left: 36px; }
.policy-module .qa-indent { padding-left: 36px; }

/* タイトル部分（custom.cssを優先） */
.policy-module .qah2-2 {
  position: relative;
  padding-left: 2.5em;
  padding-right: 3em;
  font-variant-numeric: tabular-nums;
  line-height: 1.3em;
  letter-spacing: .02em;
  margin: 0 !important;
  font-size: 1.6em;
  font-weight: 700;
  text-align: left;
}

/* 擬似要素で番号表示（custom.cssより） */
.policy-module .qah2-2::before {
  content: counter(section-counter) "";
  position: absolute;
  left: 20px;
  top: 45%;
  transform: translateY(-50%);
  width: 3em;
  font-family: "Oswald", sans-serif;
  font-size: 1.8em;
  font-weight: 400;
  line-height: 1;
  color: var(--color-policy-num);
}

@media (max-width: 768px) {
	.policy-module .qah2-2 { font-weight: 800; }
    .policy-module .qa-img{ padding-left: 0px }
    .policy-module .qa-indent { padding-left: 0px; }
    /* SPタイトルのマージ */
    .policy-module .qah2-2 {
        font-size: 1.2em;
        line-height: 1.4em;
        padding-top: 5px;
        padding-bottom: 5px;
        padding-left: 2em;
        padding-right: 2em;
        margin-top: 0em !important;
        margin-bottom: 0;
        text-align: justify;
    }
    .policy-module .qah2-2::before {
        left: 5px;
        font-size: 1.8em;
    }
}

/* ----- 政策のアコーディオン -------------------- */

/* 各アイテムでカウンターを進める（custom.cssより） */
.policy-module .accordion__item {
  counter-increment: section-counter;
}

/* アコーディオン展開：max-height transition（実コンテンツ高さは JS が scrollHeight を渡す） */
.policy-module .accordion__content {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.55s ease-out;
}

.policy-module .accordion__body p { font-size: 1em; margin-top: 0px; margin-bottom:0px; text-align: justify; }
.policy-module .accordion__body ul, ol { padding-left: 2em; }
.policy-module .accordion__body ul { list-style:disc; }
.policy-module .accordion__body ul li,ol li:last-child { border-bottom: none!important; }

.policy-module .accordion__list { list-style: none; padding-top: 0; padding-left: 0em; margin-top:0; }

/* アコーディオンヘッダー（custom.cssを優先してフレックスボックス化） */
.policy-module .accordion__head {
  position: relative;
  cursor: pointer;
  border-top: 2px solid var(--color-accent);
  display: flex;
  align-items: center;
  min-height: 4em;
  height: auto;
  padding: 1em 0;
}
.policy-dpfp .accordion__head {
  position: relative;
  cursor: pointer;
  border-top: 1px solid var(--color-border-image);
  padding-bottom: 10px;
  padding-top: 10px;
}

/* 開閉アイコン */
.policy-module .accordion__head::after {
  font-family: "FontAwesome";
  content: "\f107"; content: "\f107" / "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(0deg);
  transform-origin: center;
  transition: transform 0.5s ease;
  right: 10px;
  font-size: 1.6em;
  font-weight:900;
  color: var(--color-primary);
}
.policy-module .accordion__item.active .accordion__head::after {
  transform: translateY(-50%) rotate(180deg);
  right: 10px;
  font-size: 1.6em;
  font-weight:900;
  color: var(--color-primary);
}

.policy-module .accordion__body { overflow: hidden; width: 100%; padding: 10px 10px 0 2em; }

.policy-module .accordion__list .last-item { border-bottom: 3px solid var(--color-accent) !important; }

.policy-module .accordion__body ul { list-style:none; padding-bottom:1em; padding-left:1em; margin-top:1em; }
.policy-module .accordion__body ul li { text-indent: -1.2em; padding-left: 1.2em; }
.policy-module .accordion__body ul li::before {
  content: "●"; content: "●" / "";
  color: var(--color-accent);
  margin-right: .2em; text-align: justify;
}

@media (max-width: 768px) {
    /* SPヘッダー（custom.css優先） */
    .policy-module .accordion__head {
        display: flex;
        align-items: center;
        min-height: 3em;
        height: auto;
        padding: 5px 0;
    }
    .policy-module .accordion__head::after {
        position: absolute;
        top: 50%;
        transform: translateY(-50%) rotate(0deg);
        right: 0;
        font-size: 1.2em;
        color: var(--color-primary);
    }
    .policy-module .accordion__item.active .accordion__head::after {
        transform: translateY(-50%) rotate(180deg);
        right: 0;
        font-size: 1.2em;
    }
}

.policy-dpfp .policy-body { background: none; border: none; padding-left: 0; padding-right: 0; padding-top: 0; padding-bottom: 0; }
.policy-body { background: var(--color-bg-subtle); border: none; padding-left: 4em; padding-right: 4em; padding-top: 3em; padding-bottom: 4em; }
/* padding は .policy-module .accordion__body 側で固定済み（active 側で変更しない） */
.policy-module .accordion__body_subtitle { padding-top: 1em; font-weight: 500; font-size: 1.6em !important; }
.policy-module .accordion__body_lead { margin-top: 0 !important; margin-bottom: 2em !important; }
.policy-module .accordion__body p { font-size: 1.2em; line-height: 1.5em; margin-top: 1em; margin-bottom: 1em; }
.policy-module .accordion__list .last-item { border-bottom: 2px solid var(--color-accent) !important; }
.policy-dpfp .accordion__list .last-item { border-bottom: 1px solid var(--color-border-image) !important; }
.policy-module .policylist-subtitle { font-weight:900; font-size:1.5em; }
.policy-module .policylist-subtitle::before { content: none !important; }
.policy0,.policy1,.policy2,.policy3,.policy4,.policy5  { padding-left: 1em; }

@media (max-width: 768px) {
    .policy-body { padding-left: 1em; padding-right: 1em; padding-top: 1em; padding-bottom: .5em; }
    .policy-body .accordion__item .accordion__body { padding: .5em 0 0 .5em; }
    .policy-module .accordion__body ul { list-style: none; padding-bottom: 1em; padding-left: 0; padding-right: 0; margin-top: 0; }
    .policy-module .accordion__body ul li { font-size: 1em; font-weight: 600; margin-bottom: .5em; text-indent: -1.2em; padding-left: 1.2em; }
    .policy-module .accordion__body ul ul li { font-size: 1em; font-weight: normal; margin-bottom: 0; text-indent: -1.2em; padding-left: 1.2em; text-align:justify; }
    .policy0,.policy1,.policy2,.policy3,.policy4,.policy5 { padding-left: 0; }
}

/* ----- 政策リスト5本柱 ----- */
.policy-module .policy1txt { color: var(--color-policy-1); }
.policy-module .policy2txt { color: var(--color-label-blog); }
.policy-module .policy3txt { color: var(--color-policy-3); }
.policy-module .policy4txt { color: var(--color-policy-4); }
.policy-module .policy5txt { color: var(--color-policy-5); }
.policy-module .policy1 ul li::before { content: "●"; content: "●" / ""; color: var(--color-policy-1); margin-right: .2em; }
.policy-module .policy2 ul li::before { content: "●"; content: "●" / ""; color: var(--color-label-blog); margin-right: .2em; }
.policy-module .policy3 ul li::before { content: "●"; content: "●" / ""; color: var(--color-policy-3); margin-right: .2em; }
.policy-module .policy4 ul li { color: var(--color-black); }
.policy-module .policy4 ul li::before { content: "●"; content: "●" / ""; color: var(--color-policy-4); margin-right: .2em; }
.policy-module .policy5 ul li { color: var(--color-black); }
.policy-module .policy5 ul li::before { content: "●"; content: "●" / ""; color: var(--color-policy-5); margin-right: .2em; }

.policy-module .policylist-subtitle {
  font-weight: 700 !important;
  font-size: 1.3em !important;
}
@media (max-width: 768px){
    .policy-module .policylist-subtitle { font-size: 1.15em !important; line-height: 1.5em; text-indent: 0!important; padding-left: 0!important; }
    .policy-dpfp-subtitle-indent-sp { padding-left: 1.5em; }
}

/* ----- 政策リスト個人の重点政策 ----- */
.module-policy2 .accordion__body p { padding-left: 1em; margin-top: 0; font-size: 1em; }
.module-policy2 .policylist-subtitle { color:var(--color-primary); }
.module-policy2 .accordion__body ul li { font-weight: 700; margin-bottom: .5em; border-top: 1px solid var(--color-border-image); padding-top: .5em;}
.module-policy2 .accordion__body ul li:last-child { border-bottom: 1px solid var(--color-border-image) !important; padding-bottom: .5em; }
.module-policy2 .policytxt { margin-right:.5em; color: var(--color-label-news); }
@media (max-width: 768px){
    .module-policy2 .accordion__body p { padding-left: 0; }
    .module-policy2 .policylist-subtitle { color:var(--color-primary); }
}

/* ----- policy-b：2カラム積み重ね型 ----- */
.module--policy-b .policy-b__list { display: flex; flex-direction: column; gap: var(--space-md); margin-top: var(--space-lg); margin-bottom: 0; list-style: none; padding: 0; counter-reset: policy-b; }
.module--policy-b .policy-b__item { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; padding: var(--space-md); background: var(--color-white); counter-increment: policy-b; align-items: center; }
.module--policy .policy-body,
.module--policy-b .policy-body { padding-bottom: 4em; }
@media (max-width: 768px){
    .module--policy .policy-body,
    .module--policy-b .policy-body { padding-bottom: 1.5em; }
}
.module--policy-b .policy-b__title { align-self: center; }
.module--policy-b .policy-b__title h3 { margin: 0; padding: 0; color: var(--color-black); font-size: 1.6em; line-height: 1.3em; font-weight: 700; font-variant-numeric: tabular-nums; letter-spacing: .02em; display: flex; align-items: center; gap: calc(.3em + 10px); }
.module--policy-b .policy-b__title h3::before { content: counter(policy-b); content: counter(policy-b) / ""; flex: 0 0 auto; font-family: "Oswald", sans-serif; font-size: 1.8em; font-weight: 400; line-height: 1; color: var(--color-policy-num); display: flex; align-items: center; }
.module--policy-b .policy-b__content ul { margin: 0; }
.module--policy-b .policy-b__content ul li { font-weight: 700; margin-bottom: .5em; }
@media (max-width: 768px){
    .module--policy-b .policy-b__item { grid-template-columns: 1fr; gap: calc(var(--space-sm) * 2); }
    .module--policy-b .policy-b__title h3 { font-size: 1.6em; }
    .module--policy-b .policy-b__title { text-align: center; }
    .module--policy-b .policy-b__title h3 { display: block; }
    .module--policy-b .policy-b__title h3::before { display: block; text-align: center; margin-right: 0; margin-bottom: var(--space-sm); }
}

/* ===== movie.css delta ===== */
.module-feed-youtube .module-feed-youtube2 .grid-container { display: grid; }

.module-feed-youtube .module-feed-youtube2 .grid-container .card-container { display: block; }

.module-feed-youtube .module-feed-youtube2 .grid-container .card-container .card-video { position: relative; width: 100%; aspect-ratio: 16/9; }

.module-feed-youtube .module-feed-youtube2 .grid-container .card-container .card-video iframe { width: 100%; object-fit: cover; aspect-ratio: 16/9; border: 1px solid var(--color-border-soft); }

.module-feed-youtube .module-feed-youtube2 .grid-container .card-container .card-text { margin-left: 0; }

.module-feed-youtube .module-feed-youtube2 .grid-container .card-container .card-text .feed-post-title { display: none; }

@media (max-width: 768px){
.module-feed-youtube .module-feed-youtube2 .grid-container { display: block; }
.module-feed-youtube .module-feed-youtube2 .grid-container .card-container { display: block; }
.module-feed-youtube .module-feed-youtube2 .grid-container .card-container .card-video { width: 100%!important; aspect-ratio: 16/9; }
.module-feed-youtube .module-feed-youtube2 .grid-container .card-container .card-video iframe { width: 100%!important; object-fit: cover; aspect-ratio: 16/9; }
.module-feed-youtube .module-feed-youtube2 .grid-container .card-container .card-text { margin-left: 0; }
.module-feed-youtube .module-feed-youtube2 .grid-container .card-container .card-text .feed-post-title { display: none; }
.module-feed-youtube .module-feed-youtube2 .grid-container .card-container .card-text .feed-post-date { margin-top:0; }
	

	.module-feed-youtube .grid-container { display:grid; }
	.module-feed-youtube .grid-container .card-container { display:block; }
	.module-feed-youtube .grid-container .card-container .card-img { width: 100%!important; padding-bottom:4px;}
	.module-feed-youtube .grid-container .card-container .card-img img { width: 100%; object-fit: cover; margin-bottom: .25em;}
	.module-feed-youtube .grid-container .card-container .card-text { margin-left: 0px; }
	
}

/* ===== hero-static.css delta ===== */
.hero-static {
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff;
	width: 100%;
	
	padding-top: 130px;
	padding-bottom: 40px;
	box-sizing: border-box;
	}

.hero-static__inner {
	display: flex;
	align-items: center;
	width: 90%;
	max-width: 1120px;
	}

.hero-static__body {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 0 8% 0 0;
	color: var(--color-text);
	}

.hero-static__catch {
	font-size: 4em;
	font-weight: 900;
	line-height: 1.2;
	margin: 0 0 0.5em;
	}

.hero-static__name {
	font-size: 2.6em;
	font-weight: 900;
	margin: 0;
	}

.hero-static__position {
	font-size: 1.6em;
	margin: 1em 0 0;
	}

.hero-static__image {
	width: 40%;
	flex-shrink: 0;
	aspect-ratio: 1 / 1;
	position: relative;
	overflow: hidden;
	}

@media (max-width: 768px) {
	.hero-static { padding-top: 90px; padding-bottom: 20px; }
	.hero-static__inner { flex-direction: column; }
	.hero-static__body { padding: 8% 0 16%; }
	.hero-static__image { width: 100%; }
	.hero-static__catch { font-size: 2.6em; }
	.hero-static__name { font-size: 1.8em; }
	.hero-static__position { font-size: 1.2em; margin: .5em 0 0; }
	}

/* ===== サイト元々の custom.css（最後＝最優先） ===== */

/* ********** 重点政策B：タイトル ********** */
.module--policy-b .policy-b__title h3 {
  margin: 0;
  padding: 0;
  color: var(--color-black);
  font-size: 2em;
  line-height: 1.3em;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
  letter-spacing: .02em;
  display: flex;
  align-items: center;
  gap: calc(.3em + 10px);
}

/* ********** 重点政策B：本文リスト ********** */
.module--policy-b .policy-b__content ul li {
  font-weight: 500;
  margin-bottom: .5em;
}

/* ********** 重点政策B：marker1見出しを太字に ********** */
.module--policy-b .policy-b__content .marker1 { font-weight: 700; font-size: 1.1em; }
/* inline-block だと SP で折り返す見出しのマーカーが崩れるため、inline のまま ::after のブロックで下余白を作る（直後の br は空行になるので消す）。
   ::after の後ろに残る空の inline 断片に右 padding の背景が線状に出るので padding-right を 0 にする */
.module--policy-b .policy-b__content .marker1 { padding-right: 0; }
.module--policy-b .policy-b__content .marker1::after { content: ""; display: block; margin-bottom: 5px; }
.module--policy-b .policy-b__content .marker1 + br { display: none; }

/* ********** 重点政策B：リード文の強調フレーズ ********** */
.policy-lead-emph { font-weight: 700; }

/* ********** 重点政策B：タイトル列を40px狭く、本文列を40px広く（PCのみ） ********** */
@media (min-width: 769px) {
  .module--policy-b .policy-b__item {
    grid-template-columns: calc(50% - 15px - 40px) calc(50% - 15px + 40px);
  }
  .module--policy-b .policy-b__title h3 { line-height: 1.5em; }
}

/* ********** 重点政策B：番号（::before）の見栄え調整 ********** */
.module--policy-b .policy-b__title h3::before {
  font-size: 2.6em;
  color: #08803c;
}

/* ********** list-def2 のバレット色をブルーに ********** */
.list-def2 li::before { color: var(--color-blue); }

/* ********** 重点政策B：箇条書き行頭の●を緑に ********** */
.module--policy-b .list-def2 li::before { color: #08803c; }

/* ********** プロフィール：略歴ラベル（資格／趣味・特技 等）の太さを 700 に ********** */
.list-def2 strong { font-weight: 700; }

/* ********** プロフィール：略歴バレット・ヒストリー縦線/●を緑に ********** */
.module--profile-a .list-def2 li::before,
.module--profile-b .list-def2 li::before { color: #08803c; }
.module--profile-a .kn-timeline-item::before,
.module--profile-b .kn-timeline-item::before { background-color: #08803c; }
.module--profile-a .kn-timeline-item dt::after,
.module--profile-b .kn-timeline-item dt::after { background-color: #08803c; }

/* ********** 重点政策B：SPでリード文の下に画像 ********** */
.policy-lead-img { width: 100%; height: auto; margin-top: 1em; }

/* ********** プロフィールA：氏名のサイズ調整 ********** */
.top-section-body-wrap.prof01 .prof-name { font-size: 2.2em; }

/* ********** プロフィールA：右側人物オーバーレイ（PC） ********** */
.module--profile-a .prof-img-wrap { position: relative; }

@media (min-width: 769px) {
  .module--profile-a .prof-img {
    position: absolute;
    left: 40px;
    top: -5em;
    width: 45%;
    height: 450px;
    margin: 0;
    border-radius: 0;
    z-index: 2;
    object-fit: cover;
    object-position: top;
  }
  .module--profile-a .top-section-body-wrap.prof01 {
    margin-top: 3em;
    padding-top: 3em;
    padding-bottom: 3em;
    padding-left: 4em;
    padding-right: 4em;
    position: relative;
  }
  .module--profile-a .prof-content-main { padding-left: 50%; }
  .module--profile-a .prof-content { padding-bottom: 20px; }
  .module--profile-a .top-section-body-wrap.prof01 .prof-name,
  .module--profile-a .top-section-body-wrap.prof01 .prof-name-kana,
  .module--profile-a .catchphrase { text-align: left !important; }
}

/* ********** プロフィールA：SP ********** */
@media (max-width: 768px) {
  .module--profile-a .top-section-body-wrap.prof01 {
    margin-top: 0;
    padding-top: 1em;
  }
  .module--profile-a .prof-img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    object-position: top;
    margin-bottom: 1em;
    display: block;
    border-radius: 0;
    background: #fff;
  }
}

/* ********** プロフィール タイムライン：縦線とドットをブルーに ********** */
.kn-timeline-item::before { background-color: var(--color-blue); }
.kn-timeline-item dt::after { background-color: var(--color-blue); }

/* ********** フッタークレジット：背景ブルー・文字黒 ********** */
.footer-credit { background: #b8d200 !important; color: var(--color-black) !important; }

/* ********** SNSアカウントセクション：背景黄色・テキスト紺 ********** */

/* ********** SP：MV直下の1px隙間対策 ********** */
@media (max-width: 768px) {
  .module-account-area { margin-top: -1px; }
}

/* ********** ユーティリティ：文字色ブルー ********** */
.text-blue { color: #08803c; }

/* ********** セクション見出しのアンダーラインをブルーに ********** */
.section-head .top-section-title { text-decoration-color: #b9cf8b; }

/* ********** メッセージ：背景画像（左下基点）／テキスト右側 ********** */
.message-body {
  background-image: url('../img/zenshin02.webp');
  background-repeat: no-repeat;
  background-position: right bottom;
  background-origin: border-box;
  background-size: auto 100%;
  padding-right: 30%;
}
.message-body .catchphrase,
.message-body .is-style-catchphrase { text-align: left !important; }
@media (max-width: 768px) {
  .message-body .catchphrase,
  .message-body .is-style-catchphrase { text-align: center !important; }
  .message-body {
    background-image: url('../img/zenshin02-2.webp');
    padding-left: 1em;
    padding-right: 1em;
    background-size: 280px auto;
    background-position: right bottom;
    padding-bottom: 360px;
  }
}

/* ********** ニュースラベル：赤背景・白文字 ********** */
.label-news { background: #c00; color: var(--color-white); }

/* ********** policy-subhead：太字・センタリング・緑 ********** */
.policy-subhead { font-weight: 900; text-align: center; color: #08803c; }

/* ********** スマホ版調整 ********** */
@media (max-width: 768px) {
  .module--policy-b .policy-b__title h3 { display: block; font-size: 1.5em; }
  .module--policy-b .policy-b__title h3::before { font-size: 2.8em; }
  .update-list-wrap { margin-bottom: 0; }
  .policy-subhead { font-size: 1.6em; }
  .catchphrase,
  .is-style-catchphrase { margin-top: 10px; }
  .top-section-body-wrap.prof01 .prof-name { font-size: 1.6em; }
}
