/*
Theme Name: IFT
Theme URI: https://isumi-fusamoto-tochi.com/
Author: Rafterz
Description: 夷隅郡総元土地改良区 コーポレートサイト用クラシックテーマ（最小構成）
Version: 1.3.0
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: ift
*/

/* ------------------------------
   デザイントークン
   打ち合わせ資料(0821)のネイビー×グリーン配色に準拠
   ------------------------------ */

:root {
	--color-green: #2e7d32;
	--color-link: #1a56a8;
	--color-navy: #1f3863;
	--color-navy-dark: #142a45;
	--color-text: #333333;
	--content-width: 1100px;
}

/* ------------------------------
   ベーススタイル
   ------------------------------ */

*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	background: #fff;
	color: var(--color-text);
	display: flex;
	flex-direction: column;
	font-family: -apple-system, "BIZ UDPGothic", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
	line-height: 1.8;
	margin: 0;
	min-height: 100vh;
}

/* コンテンツが少なくても .site-footer を最下部に固定する */
main {
	flex: 1 0 auto;
}

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

a {
	color: var(--color-link);
}

.site-container {
	margin: 0 auto;
	max-width: var(--content-width);
	padding: 0 16px;
}

/* ------------------------------
   ヘッダー（ロゴ行 + ナビ行）
   ------------------------------ */

.site-header__bar {
	align-items: center;
	display: flex;
	gap: 16px;
	margin: 0 auto;
	max-width: var(--content-width);
	padding: 16px;
}

.site-header .custom-logo {
	height: auto;
	max-height: 90px;
	width: auto;
}

.site-header .site-title {
	font-size: 1.4rem;
	font-weight: 700;
	margin: 0;
}

.site-header .site-title a {
	color: var(--color-navy);
	text-decoration: none;
	text-shadow: 0 1px 3px rgba(50, 50, 50, 0.6);
}

.site-nav {
	background: var(--color-navy);
}

.site-nav__inner {
	margin: 0 auto;
	max-width: var(--content-width);
}

.site-nav ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0 16px;
}

.site-nav li {
	align-items: center;
	display: flex;
}

.site-nav li::before {
	color: rgba(255, 255, 255, 0.5);
	content: "/";
}

.site-nav li:first-child::before {
	content: none;
}

.site-nav a {
	color: #fff;
	display: block;
	font-size: 0.9rem;
	padding: 14px 18px;
	text-decoration: none;
	white-space: nowrap;
}

.site-nav a:hover {
	background: rgba(255, 255, 255, 0.12);
}

/* ------------------------------
   ヒーロー（トップページのみ）
   ------------------------------ */

.hero {
	align-items: flex-start;
	background-color: #a9c8a5;
	background-position: center;
	background-size: cover;
	display: flex;
	min-height: 480px;
	padding: 60px 0 0;
	position: relative;
}

.hero__inner {
	margin: 0 auto;
	max-width: var(--content-width);
	min-height: 420px;
	padding: 0 24px;
	position: relative;
	width: 100%;
}

.hero__catch {
	color: var(--color-navy);
	font-size: clamp(1.5rem, 4vw, 2.2rem);
	font-weight: 800;
	margin: 0;
	text-align: center;
	text-shadow: 0 1px 3px rgba(50, 50, 50, 0.8);
}

.hero__notice {
	align-items: center;
	background: rgba(108, 172, 67, 0.8);
	border-radius: 12px;
	bottom: 3%;
	color: #fff;
	display: flex;
	font-size: 0.9rem;
	gap: 10px;
	left: 2%;
	margin: 0;
	padding: 10px 20px;
	position: absolute;
}

.hero__notice-label {
	font-weight: 700;
}

.hero__notice-label::before {
	background-color: currentColor;
	content: "";
	display: inline-block;
	height: 1.1em;
	margin-right: 6px;
	vertical-align: -0.22em;
	width: 1.4em;
	-webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='2%204%2020%2016'%20fill='none'%20stroke='%23fff'%20stroke-width='1.7'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M3%209h4.5v6H3z'/%3E%3Cpath%20d='M7.5%209L16%204.5v15L7.5%2015z'/%3E%3Cpath%20d='M4.6%2015v3a1.2%201.2%200%200%200%202.4%200'/%3E%3Cpath%20d='M16.8%207.5l3-1.5'/%3E%3Cpath%20d='M17.6%2012H21'/%3E%3Cpath%20d='M16.8%2016.5l3%201.5'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='2%204%2020%2016'%20fill='none'%20stroke='%23fff'%20stroke-width='1.7'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M3%209h4.5v6H3z'/%3E%3Cpath%20d='M7.5%209L16%204.5v15L7.5%2015z'/%3E%3Cpath%20d='M4.6%2015v3a1.2%201.2%200%200%200%202.4%200'/%3E%3Cpath%20d='M16.8%207.5l3-1.5'/%3E%3Cpath%20d='M17.6%2012H21'/%3E%3Cpath%20d='M16.8%2016.5l3%201.5'/%3E%3C/svg%3E") no-repeat center / contain;
}

.hero__notice-text {
	color: #fff;
	text-decoration: none;
}

.hero__notice-text:hover {
	text-decoration: underline;
}

/* ------------------------------
   固定ページ本文（ブロックエディタ）
   ------------------------------ */

.entry-content {
	padding: 48px 0 0;
}

.entry-content>* {
	margin-left: auto;
	margin-right: auto;
	max-width: var(--content-width);
}

.entry-content .alignwide {
	max-width: 1300px;
}

.entry-content .alignfull {
	max-width: none;
}

/* 見出しブロック(h2) をセクション見出しバーとして見せる */
.entry-content h2,
.entry-content .wp-block-heading {
	background: var(--color-navy);
	color: #fff;
	font-size: 1.15rem;
	font-weight: 700;
	margin: 56px auto 24px;
	padding: 10px 18px;
	scroll-margin-top: 16px;
}

.entry-content h2::before,
.entry-content .wp-block-heading::before {
	content: "■";
	margin-right: 8px;
}

.entry-content>h2:first-child,
.entry-content .wp-block-heading:first-child {
	margin-top: 0;
}

/* ------------------------------
   セクション見出しバー（概要・区域図・組織図など）
   ------------------------------ */

.section-title {
	background: var(--color-navy);
	color: #fff;
	font-weight: 700;
	margin: 0 0 24px;
	padding: 10px 18px;
}

.document-section {
	margin: 0 auto 48px;
}

.document-section>h2:first-child,
.document-section>.wp-block-heading:first-child {
	margin-top: 0;
}

.document-section img {
	border: 1px solid #ddd;
}

.document-section__placeholder {
	color: #999;
}

/* ファイルブロック（PDF） */
.wp-block-file {
	border: 1px solid #ddd;
	padding: 16px;
}

.wp-block-file .wp-block-file__embed {
	border: 1px solid #ddd;
	margin-bottom: 12px;
	min-height: 70vh;
	width: 100%;
}

.wp-block-file .wp-block-file__button {
	background: var(--color-navy);
	border-radius: 4px;
	color: #fff;
	padding: 6px 16px;
	text-decoration: none;
}

/* PDF図版ブロック / [ift_pdf_page] */
.ift-pdf-figure {
	margin: 0 auto 8px;
	text-align: center;
}

.pdf-page {
	display: block;
	margin: 0 0 8px;
	max-width: 100%;
	width: -moz-fit-content;
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
}

figure.pdf-page {
	margin: 0 auto 8px;
}

.pdf-page img {
	border: 1px solid #ddd;
	display: block;
	height: auto;
	max-width: 100%;
}

.pdf-page__fallback {
	color: #999;
}

/* ------------------------------
   資料・様式リスト（会議資料／申請様式）
   ------------------------------ */

.doc-list {
	background-image: linear-gradient(to right, #b5b5b5 0 6px, transparent 6px 10px);
	background-position: left top;
	background-repeat: repeat-x;
	background-size: 10px 1px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.doc-list li {
	background-image: linear-gradient(to right, #b5b5b5 0 6px, transparent 6px 10px);
	background-position: left bottom;
	background-repeat: repeat-x;
	background-size: 10px 1px;
	padding: 12px 0;
}

.doc-list li::before {
	color: var(--color-text);
	content: "・";
	margin-right: 2px;
}

.doc-list a {
	color: var(--color-link);
	text-decoration: none;
}

.doc-list a:hover {
	text-decoration: underline;
}

.doc-list .doc-meta {
	color: #777;
	font-size: 0.85em;
	margin-left: 6px;
}

.doc-list__empty {
	color: #999;
}

.doc-list__empty code {
	background: #f2f2f2;
	border-radius: 3px;
	padding: 2px 6px;
}

/* ページ内ナビ（[ift_section_nav] を本文に置いた場合） */
.section-nav {
	background: #f7f9fb;
	border: 1px solid #ddd;
	margin: 0 auto 40px;
	padding: 16px 20px;
}

.section-nav__title {
	font-weight: 700;
	margin: 0 0 8px;
}

.section-nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	list-style: none;
	margin: 0;
	padding: 0;
}

/* ------------------------------
   フッター
   ------------------------------ */

.site-footer {
	background: var(--color-navy-dark);
	color: #fff;
	flex-shrink: 0;
	margin-top: 60px;
	padding: 32px 0;
	text-align: center;
}

.site-footer a {
	color: #fff;
}

.site-footer__links {
	margin: 0 0 12px;
}

.site-footer .site-footer__cta {
	background: var(--color-green);
	border-radius: 4px;
	display: inline-block;
	font-weight: 700;
	padding: 10px 20px;
	text-decoration: none;
}

.site-footer .site-footer__cta::before {
	background-color: currentColor;
	content: "";
	display: inline-block;
	height: 1em;
	margin-right: 8px;
	vertical-align: -0.15em;
	width: 1em;
	-webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23fff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M14%202H6a2%202%200%200%200-2%202v16a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V8z'/%3E%3Cpath%20d='M14%202v6h6'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23fff'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M14%202H6a2%202%200%200%200-2%202v16a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V8z'/%3E%3Cpath%20d='M14%202v6h6'/%3E%3C/svg%3E") no-repeat center / contain;
}

.site-footer .site-footer__cta:hover {
	background: #256428;
	text-decoration: none;
}