@charset "UTF-8";
/*
    Template: swell
    Theme Name: 藤沢ただもり公式サイトテーマ 2026
    Theme URI: https://swell-theme.com/
    Description: 愛知11区衆議院議員 藤沢忠盛公式サイト用テーマ 2026年版 (SWELL子テーマ)
    Version: 1.0.1
    Author: 日吉アイティー
    Author URI: https://hiyoshi-it.com

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/


:root {
	--ft-mvbar-width: 48px;
	--ft-mvbar-width-pc: 38px;
	--ft-headbar-height: 38px;
	--ft-hpad-headbar: 12px;
	--ft-font-serif: "BIZ UDPMincho";
}


.title-serif {
	font-family: var(--ft-font-serif), serif;
	font-weight: 700;
}

ruby>rt {
	font-weight: 400;
	font-size: 40%;
	margin-bottom: 3px;
}

.swell-block-dl.is-style-float dt {
	text-align: justify;
	text-align-last: justify;
}


/* --- header bar --- */

.l-header__barInner.l-container {
	min-height: var(--ft-headbar-height);
	padding-left: var(--ft-hpad-headbar,12px);
	padding-right: var(--ft-hpad-headbar,12px);
}

@media not all and (min-width: 960px) {
	.l-header__bar.pc_ {
		display: block!important;
	}
}

@media (min-width: 960px) {
	.l-header__barInner.l-container {
		padding-left: var(--ft-mvbar-width-pc,0);
		padding-right: var(--ft-mvbar-width-pc,0);
	}
}
.l-header__bar .c-catchphrase {
	width: 70%;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
}
.c-iconList__icon, .c-iconList__link {
	font-size: 16px;
}



/* -- site title -- */

html[data-scrolled="false"] .home .c-headLogo.-txt {
	display: none;
}


/* --- main visual --- */

.p-mainVisual {
	filter: contrast(1.05) saturate(1.05);
}

/* left vertical bar */
.p-mainVisual__inner:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: var(--ft-mvbar-width,48px);
	height: 100%;
	background: rgba(255,0,0,.80);
	z-index: 2;
}


/* MV text layer */

.p-mainVisual__textLayer {
	transform: translate(-50%,15%);
	z-index: 3;
	font-family: var(--ft-font-serif), serif;
	color: rgba(255,255,255,0.95);
	text-shadow: 0px 0px 1px #000, 0 0 2px #000!important;
}

.p-mainVisual__textLayer > * {
	width: 100%;
	max-width: 100%;
}
.p-mainVisual__textLayer {
	align-items: stretch;
}

.mv-flex-text {
	display: grid;
		grid-template-columns: fit-content(55%) 1fr;
	gap: 0;
	container-type: inline-size;
}
.mv-flex-text p {
	margin: 0;
}
.political-title {
	position: relative;
	line-height: 1.5;
	font-size: 4.2vw;
	font-weight: 700;
}
.political-name {
	line-height: 1.8;
	font-size: 8vw;
	font-weight: 700;
}
.p-mainVisual .p-blogParts.post_content .catchphrase {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: .6em;
	line-height: 1;
	font-family: var(--ft-font-serif), serif;
	font-size: 6.5vw;
	font-weight: 700!important;
	font-style: normal;
}

@media (min-width: 880px) {
	.mv-flex-text {
		grid-template-columns: fit-content(30%) 1fr;
	}
	.political-title {
		font-size: clamp(18px, 2.8cqw, 28px);
	}
	.political-name {
		font-size: clamp(24px, 5cqw, 64px);
	}
	.p-mainVisual .p-blogParts.post_content .catchphrase {
		font-size: clamp(36px, 6.5vw, 86px);
	}
}
@media (max-height: 420px) {
	.p-mainVisual__textLayer {
		transform: translate(-50%,5%);
	}
	.political-title {
		font-size: clamp(20px, 5.5vh, 26px);
	}
	.political-name {
		font-size: clamp(34px, 10vh, 42px);
	}
	.p-mainVisual .p-blogParts.post_content .catchphrase {
		font-size: clamp(38px, 12vh, 48px);
	}
}


/* MV mask layer */

.p-mainVisual__slide.c-filterLayer {
	z-index: auto;
}

.p-mainVisual .c-filterLayer::before,
.p-mainVisual .c-filterLayer::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
}

/* ティール */
/*
.p-mainVisual .c-filterLayer::before {
	background: #146E6E66;
	mix-blend-mode: screen;
	opacity: 0.3;
}
*/
/* オレンジ */
/*
.p-mainVisual .c-filterLayer::after {
	background: #FF963C33;
	mix-blend-mode: screen;
	opacity: 0.4;
}
*/
/*
.p-mainVisual .c-filterLayer:nth-of-type(1)::before,
.p-mainVisual .c-filterLayer:nth-of-type(2)::before {
	outline: 3px solid blue;
	opacity: 0.1;
}
.p-mainVisual .c-filterLayer:nth-of-type(1)::after,
.p-mainVisual .c-filterLayer:nth-of-type(2)::after {
	opacity: 0.5;
}
*/


/* bottom border */
.p-mainVisual .p-blogParts.post_content .political-title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -5px;
	width: 100%;
	height: clamp(2px, .8vmin, 4px);
	background: #fff;
	box-shadow: 0px 0px 1px #000, 0 0 2px #000;
}


/* buttons */
.p-mainVisual .wp-block-buttons {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-size: clamp(16px, 3vw, 24px);
	line-height: 1;
	filter: drop-shadow(0px 0px 2px #000)
}
.p-mainVisual .wp-block-buttons a {
	border-width: 2px;
}

@media screen and (min-width: 960px) {
	.p-mainVisual__inner:before {
		width: var(--ft-mvbar-width-pc, 38px);
	}
	.p-mainVisual__slideTitle {
		font-size: 5vw;
	}
	.p-mainVisual .wp-block-buttons {
		font-size: 2.5vw;
	}
}


/* --- global nav --- */
.c-gnav li {
/*	font-family: "BIZ UDPGothic", sans-serif; */
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
}
html[data-scrolled="false"] .c-gnav {
	color: rgba(255,255,255,1)!important;
}
html[data-scrolled="false"] .home .c-gnav {
	text-shadow: 1px 1px 0px #000, 0px 0px 1px #000, 0 0 2px #000;
	mix-blend-mode: luminosity;
}

html[data-scrolled="false"] .home .c-gnav>.menu-item>a .ttl {
	font-size: 18px;
}
html[data-scrolled="false"] .home .l-header .c-gnav>li>a:after {
	box-shadow: 0 0 1px #000, 0 0 2px #000;
}
.c-gnav > li:hover > a, .c-gnav > .-current > a {
	color: #c00;
	text-shadow: none;
}



/* --- mobile menu --- */
.p-spMenu .menu-item a {
	font-size: clamp(16px, 4.3vw, 22px);
/*	font-family: "BIZ UDPGothic", sans-serif;*/
	font-weight: 700;
	padding-block: 0.5em;
}

.c-listMenu a {
	padding-left: 1em!important;
}
.c-listMenu a:hover {
	padding-left: 1.25em!important;
}

.c-gnav .sub-menu a:before, .c-listMenu a:before {
	content: "";
	
}


/* --- mobile fixed nav --- */
#fix_bottom_menu .menu-item i {
	font-size: 20px;
}
#fix_bottom_menu span {
	font-family: "BIZ UDPGothic", sans-serif;
	font-weight: 700;
	font-size: 11px;
}


/* --- side fixed nav --- */
.side-sns-nav {
	position: fixed;
	right: 0;
	top: 50%;
	transform: translate(100%, -50%);
	z-index: 999;
	opacity: 0;
	transition:
		transform 0.8s ease,
		opacity 0.8s ease;
	pointer-events: none;
}
.side-sns-nav.is-visible {
	transform: translate(0, -50%);
	opacity: 1;
	pointer-events: auto;
}
.side-sns-nav li {
	margin-bottom: 5px;
	border-width: 1px 0 1px 1px;
	border-color: #e0e0e0;
	border-style: solid;
	border-radius: 5px 0 0 5px;
	box-shadow: 0 0 7px 0 #e0e0e0;
}
.side-sns-nav a {
	display: block;
	width: 24px;
	padding: 10px 2px;
	border-radius: 5px 0 0 5px;
	line-height: 1;
	background: #a33;
	color: #fff;
	writing-mode: vertical-rl;
	text-orientation: mixed;
	text-align: center;
	text-decoration: none;
}
.side-sns-nav li.instagram a {
	background: linear-gradient(
    45deg,
    #405DE6,
    #5851DB,
    #833AB4,
    #C13584,
    #E1306C,
    #FD1D1D,
    #F56040,
    #FCAF45)
}
.side-sns-nav li.facebook a {
	background: #0866ff;
}
.side-sns-nav li.youtube a {
	background: #ff0000;
}


/* --- footer --- */
#footer .c-widget__title {
	margin-bottom: .5em;
	padding-left: 0;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 4vw;
	font-weight: 800;
	text-shadow: 0px 0px 1px #900, 1px 1px 2px #b00;
	line-height: 1;
	color: #fff;
}
@media (min-width: 600px) {
	#footer .c-widget__title {
		font-size: 19px;
	}
}

/* footer profile */
.footer-prof-name {
	margin-top: 16px!important;
	margin-bottom: 16px!important;
	font-family: var(--ft-font-serif), serif;
	font-weight: 700;
	font-size: 6vw;
}
@media screen and (min-width: 960px) {
	.footer-prof-name {
		font-size: 2.5vw;
	}
}

/* footer map */
.footer-map .constituency-list {
	margin-left: 1.5em;
	margin-bottom: 1.5em;
	font-weight: 400;
}
.footer-map .constituency-list a {
	text-decoration: none;
}
.footer-map .constituency-list i {
	vertical-align: baseline;
	margin-left: 5px;
	font-size: 90%;
}




/* --- YouTube embedder --- */

a.glightbox { /* [href*="youtube.com"] */
	position: relative;
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: 16px;
	background: #111;
}
a.glightbox img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
a.glightbox::before {
	content: '';
	position: absolute;
	inset: 0;
	margin: auto;
	width: 72px;
	height: 72px;
	border-radius: 999px;
	background: rgb(0 0 0 / 45%);
	backdrop-filter: blur(4px);
	pointer-events: none;
	z-index: 1;
}
a.glightbox::after {
	content: '';
	position: absolute;
	inset: 0;
	margin: auto;
	width: 0;
	height: 0;
	border-top: 14px solid transparent;
	border-bottom: 14px solid transparent;
	border-left: 24px solid white;
	transform: translateX(4px);
	pointer-events: none;
	z-index: 2;
}
a.glightbox::before,
a.glightbox::after {
	opacity: 0;
	transition: opacity .25s ease;
}
.c-youtubeThumb.is-loaded a.glightbox::before,
.c-youtubeThumb.is-loaded a.glightbox::after {
	opacity: 1;
}

