@charset "UTF-8";
/* =========================================================
   農福カルタ｜サイト共通
   ========================================================= */

:root {
	--nfk-green:        #509248; /* メイン（ナビ・フッター・見出し） */
	--nfk-green-dark:   #3F7639;
	--nfk-green-light:  #CEE7B0; /* 協力事業者セクション */
	--nfk-green-pale:   #E9F2DC;
	--nfk-gray:         #CCCCCC; /* 見出しなどの補助グレー */
	--nfk-linen:        #C8C5D1; /* カルタ本体写真の生地色（背景の下地） */
	--nfk-paper:        #F1F1EF; /* 紙のような下地 */
	--nfk-ink:          #333330;
	--nfk-pink:         #EE8A8A; /* お知らせバッジ */
	--nfk-teal:         #3AA8B0; /* イベントバッジ */
	--nfk-radius:       10px;

	--nfk-container:    1100px;
	--nfk-gutter:       clamp(20px, 5vw, 40px);

	/* 丸から矢印をくり抜いたマスク（ボタンの矢印） */
	--nfk-mask-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill-rule='evenodd' d='M50,0A50,50 0 1,0 50,100A50,50 0 1,0 50,0ZM-4,40.5H49V25L82,50L49,75V59.5H-4Z'/%3E%3C/svg%3E");
	/* セクションの境界カーブ（デザインの曲線をトレースしたもの） */
	--nfk-wave-karuta: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1920 248' preserveAspectRatio='none'%3E%3Cpath d='M0.0,235.7C21.3,234.1 42.7,234.0 64.0,231.0C85.3,227.9 106.7,223.1 128.0,217.6C149.3,212.2 170.7,205.1 192.0,198.4C213.3,191.8 234.7,184.3 256.0,177.8C277.3,171.3 298.7,164.7 320.0,159.3C341.3,153.8 362.7,148.9 384.0,145.2C405.3,141.5 426.7,138.7 448.0,137.0C469.3,135.3 490.7,134.7 512.0,135.0C533.3,135.3 554.7,136.6 576.0,138.6C597.3,140.6 618.7,143.6 640.0,147.0C661.3,150.4 682.7,154.6 704.0,159.1C725.3,163.5 746.7,168.5 768.0,173.5C789.3,178.5 810.7,184.0 832.0,189.1C853.3,194.2 874.7,199.4 896.0,204.1C917.3,208.8 938.7,213.3 960.0,217.3C981.3,221.2 1002.7,224.8 1024.0,227.7C1045.3,230.6 1066.7,233.0 1088.0,234.8C1109.3,236.5 1130.7,237.6 1152.0,238.0C1173.3,238.4 1194.7,238.3 1216.0,237.3C1237.3,236.4 1258.7,234.9 1280.0,232.6C1301.3,230.2 1322.7,227.2 1344.0,223.3C1365.3,219.4 1386.7,214.7 1408.0,209.1C1429.3,203.5 1450.7,197.1 1472.0,189.6C1493.3,182.1 1514.7,173.6 1536.0,164.3C1557.3,155.0 1578.7,144.6 1600.0,133.9C1621.3,123.2 1642.7,111.5 1664.0,100.3C1685.3,89.0 1706.7,77.0 1728.0,66.5C1749.3,55.9 1770.7,45.2 1792.0,37.0C1813.3,28.7 1834.7,21.5 1856.0,17.0C1877.3,12.5 1898.7,12.3 1920.0,10.0L1920,0 L0,0 Z'/%3E%3C/svg%3E");
	/* 上のカーブの「下側」を塗るマスク（上は透過。カルタ一覧ページの見出しで使用） */
	--nfk-wave-karuta-below: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1920 248' preserveAspectRatio='none'%3E%3Cpath d='M0.0,235.7C21.3,234.1 42.7,234.0 64.0,231.0C85.3,227.9 106.7,223.1 128.0,217.6C149.3,212.2 170.7,205.1 192.0,198.4C213.3,191.8 234.7,184.3 256.0,177.8C277.3,171.3 298.7,164.7 320.0,159.3C341.3,153.8 362.7,148.9 384.0,145.2C405.3,141.5 426.7,138.7 448.0,137.0C469.3,135.3 490.7,134.7 512.0,135.0C533.3,135.3 554.7,136.6 576.0,138.6C597.3,140.6 618.7,143.6 640.0,147.0C661.3,150.4 682.7,154.6 704.0,159.1C725.3,163.5 746.7,168.5 768.0,173.5C789.3,178.5 810.7,184.0 832.0,189.1C853.3,194.2 874.7,199.4 896.0,204.1C917.3,208.8 938.7,213.3 960.0,217.3C981.3,221.2 1002.7,224.8 1024.0,227.7C1045.3,230.6 1066.7,233.0 1088.0,234.8C1109.3,236.5 1130.7,237.6 1152.0,238.0C1173.3,238.4 1194.7,238.3 1216.0,237.3C1237.3,236.4 1258.7,234.9 1280.0,232.6C1301.3,230.2 1322.7,227.2 1344.0,223.3C1365.3,219.4 1386.7,214.7 1408.0,209.1C1429.3,203.5 1450.7,197.1 1472.0,189.6C1493.3,182.1 1514.7,173.6 1536.0,164.3C1557.3,155.0 1578.7,144.6 1600.0,133.9C1621.3,123.2 1642.7,111.5 1664.0,100.3C1685.3,89.0 1706.7,77.0 1728.0,66.5C1749.3,55.9 1770.7,45.2 1792.0,37.0C1813.3,28.7 1834.7,21.5 1856.0,17.0C1877.3,12.5 1898.7,12.3 1920.0,10.0L1920,248 L0,248 Z'/%3E%3C/svg%3E");
	--nfk-wave-partners-top: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1920 213' preserveAspectRatio='none'%3E%3Cpath d='M0,0C10.7,8.7 42.7,36.5 64,52C85.3,67.5 106.7,80.5 128,93C149.3,105.5 170.7,116.8 192,127C213.3,137.2 234.7,145.8 256,154C277.3,162.2 298.7,169.7 320,176C341.3,182.3 362.7,187.3 384,192C405.3,196.7 426.7,201 448,204C469.3,207 490.7,208.5 512,210C533.3,211.5 554.7,212.5 576,213C597.3,213.5 618.7,213.3 640,213C661.3,212.7 682.7,212.2 704,211C725.3,209.8 746.7,208 768,206C789.3,204 810.7,201.7 832,199C853.3,196.3 874.7,193.3 896,190C917.3,186.7 938.7,183.2 960,179C981.3,174.8 1002.7,169.7 1024,165C1045.3,160.3 1066.7,155.7 1088,151C1109.3,146.3 1130.7,141.5 1152,137C1173.3,132.5 1194.7,128.2 1216,124C1237.3,119.8 1258.7,115.5 1280,112C1301.3,108.5 1322.7,105.5 1344,103C1365.3,100.5 1386.7,98.2 1408,97C1429.3,95.8 1450.7,95.8 1472,96C1493.3,96.2 1514.7,96.3 1536,98C1557.3,99.7 1578.7,102.8 1600,106C1621.3,109.2 1642.7,112.3 1664,117C1685.3,121.7 1706.7,127.7 1728,134C1749.3,140.3 1770.7,147 1792,155C1813.3,163 1834.7,172.5 1856,182C1877.3,191.5 1909.3,207 1920,212L1920,0 L0,0 Z'/%3E%3C/svg%3E");
	/* 上端カーブの「下側」を塗るマスク（上側は透過してカルタ写真を見せる） */
	--nfk-wave-partners-top-below: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1920 213' preserveAspectRatio='none'%3E%3Cpath d='M0,0C10.7,8.7 42.7,36.5 64,52C85.3,67.5 106.7,80.5 128,93C149.3,105.5 170.7,116.8 192,127C213.3,137.2 234.7,145.8 256,154C277.3,162.2 298.7,169.7 320,176C341.3,182.3 362.7,187.3 384,192C405.3,196.7 426.7,201 448,204C469.3,207 490.7,208.5 512,210C533.3,211.5 554.7,212.5 576,213C597.3,213.5 618.7,213.3 640,213C661.3,212.7 682.7,212.2 704,211C725.3,209.8 746.7,208 768,206C789.3,204 810.7,201.7 832,199C853.3,196.3 874.7,193.3 896,190C917.3,186.7 938.7,183.2 960,179C981.3,174.8 1002.7,169.7 1024,165C1045.3,160.3 1066.7,155.7 1088,151C1109.3,146.3 1130.7,141.5 1152,137C1173.3,132.5 1194.7,128.2 1216,124C1237.3,119.8 1258.7,115.5 1280,112C1301.3,108.5 1322.7,105.5 1344,103C1365.3,100.5 1386.7,98.2 1408,97C1429.3,95.8 1450.7,95.8 1472,96C1493.3,96.2 1514.7,96.3 1536,98C1557.3,99.7 1578.7,102.8 1600,106C1621.3,109.2 1642.7,112.3 1664,117C1685.3,121.7 1706.7,127.7 1728,134C1749.3,140.3 1770.7,147 1792,155C1813.3,163 1834.7,172.5 1856,182C1877.3,191.5 1909.3,207 1920,212L1920,213 L0,213 Z'/%3E%3C/svg%3E");
	--nfk-wave-partners-bottom: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1920 216' preserveAspectRatio='none'%3E%3Cpath d='M0,0C10.7,5.8 42.7,24.7 64,35C85.3,45.3 106.7,54 128,62C149.3,70 170.7,76.7 192,83C213.3,89.3 234.7,95.3 256,100C277.3,104.7 298.7,108 320,111C341.3,114 362.7,116.3 384,118C405.3,119.7 426.7,120.8 448,121C469.3,121.2 490.7,120.3 512,119C533.3,117.7 554.7,115.5 576,113C597.3,110.5 618.7,107.3 640,104C661.3,100.7 682.7,97.2 704,93C725.3,88.8 746.7,83.7 768,79C789.3,74.3 810.7,69.7 832,65C853.3,60.3 874.7,55.5 896,51C917.3,46.5 938.7,42 960,38C981.3,34 1002.7,30.5 1024,27C1045.3,23.5 1066.7,19.8 1088,17C1109.3,14.2 1130.7,12 1152,10C1173.3,8 1194.7,6 1216,5C1237.3,4 1258.7,4.2 1280,4C1301.3,3.8 1322.7,3.5 1344,4C1365.3,4.5 1386.7,5.5 1408,7C1429.3,8.5 1450.7,10 1472,13C1493.3,16 1514.7,20.3 1536,25C1557.3,29.7 1578.7,34.7 1600,41C1621.3,47.3 1642.7,54.8 1664,63C1685.3,71.2 1706.7,79.8 1728,90C1749.3,100.2 1770.7,111.5 1792,124C1813.3,136.5 1834.7,149.7 1856,165C1877.3,180.3 1909.3,207.5 1920,216L1920,216 L0,216 Z'/%3E%3C/svg%3E");

	/* ギザギザの丸（カルタ一覧バッジ） */
	--nfk-mask-scallop: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50.0,4.8Q57.2,-4.7 61.7,6.3Q71.1,-1.0 72.6,10.9Q83.6,6.2 82.0,18.0Q93.8,16.4 89.1,27.4Q101.0,28.9 93.7,38.3Q104.7,42.8 95.2,50.0Q104.7,57.2 93.7,61.7Q101.0,71.1 89.1,72.6Q93.8,83.6 82.0,82.0Q83.6,93.8 72.6,89.1Q71.1,101.0 61.7,93.7Q57.2,104.7 50.0,95.2Q42.8,104.7 38.3,93.7Q28.9,101.0 27.4,89.1Q16.4,93.8 18.0,82.0Q6.2,83.6 10.9,72.6Q-1.0,71.1 6.3,61.7Q-4.7,57.2 4.8,50.0Q-4.7,42.8 6.3,38.3Q-1.0,28.9 10.9,27.4Q6.2,16.4 18.0,18.0Q16.4,6.2 27.4,10.9Q28.9,-1.0 38.3,6.3Q42.8,-4.7 50.0,4.8Z'/%3E%3C/svg%3E");
}

/* ---------- 下地（紙のテクスチャ） ---------- */
body {
	background-color: var(--nfk-paper);
}

/* ---------- 共通パーツ ---------- */
.nfk-inner {
	width: 100%;
	max-width: var(--nfk-container);
	margin-inline: auto;
	padding-inline: var(--nfk-gutter);
}

/* 緑の丸ボタン（もっとみる） */
.nfk-btnWrap {
	margin: clamp(32px, 5vw, 56px) 0 0;
	text-align: center;
}

.nfk-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: .8em;
	min-width: min(300px, 80vw);
	padding: .85em 1.4em .85em 2.6em;
	border-radius: 999px;
	background: var(--nfk-green);
	color: #fff;
	font-size: clamp(15px, 1.6vw, 18px);
	font-weight: 700;
	letter-spacing: .08em;
	text-decoration: none;
	justify-content: center;
	transition: background-color .25s, transform .25s;
}

.nfk-btn:hover,
.nfk-btn:focus-visible {
	background: var(--nfk-green-dark);
	color: #fff;
	transform: translateY(-2px);
}

.nfk-btn__illust {
	position: absolute;
	left: -1.1em;
	top: 50%;
	width: 3.4em;
	translate: 0 -50%;
	pointer-events: none;
}

.nfk-btn__illust img { width: 100%; height: auto; display: block; }

/* 白い丸から矢印をくり抜いたデザイン（背景の緑が矢印になる） */
.nfk-btn__arrow {
	flex: none;
	width: 2.05em;
	aspect-ratio: 1;
	background: #fff;
	-webkit-mask: var(--nfk-mask-arrow) center / 100% 100% no-repeat;
	mask: var(--nfk-mask-arrow) center / 100% 100% no-repeat;
	transition: translate .25s;
}

.nfk-btn:hover .nfk-btn__arrow,
.nfk-btn:focus-visible .nfk-btn__arrow { translate: 4px 0; }

/* マスク非対応ブラウザ用のフォールバック */
@supports not ((-webkit-mask: url("")) or (mask: url(""))) {
	.nfk-btn__arrow {
		display: grid;
		place-items: center;
		border-radius: 50%;
		-webkit-mask: none;
		mask: none;
	}
	.nfk-btn__arrow::before {
		content: "";
		width: .5em;
		height: .5em;
		border-top: 2px solid var(--nfk-green);
		border-right: 2px solid var(--nfk-green);
		rotate: 45deg;
		translate: -15% 0;
	}
}

/* セクション見出し */
.nfk-secTitle {
	margin: 0 0 clamp(24px, 4vw, 44px);
	font-size: clamp(20px, 2.6vw, 30px);
	font-weight: 700;
	letter-spacing: .35em;
	text-indent: .35em;
	color: var(--nfk-ink);
	text-align: center;
}

.nfk-secTitle.is-green { color: var(--nfk-green); }


/* =========================================================
   ヘッダー
   ========================================================= */

/* SWELL のヘッダーがスマホ用レイアウトに切り替わる幅では、
   ヘッダー内の簡易ナビ（.l-header__spNav）は出さない */
@media screen and (max-width: 959px) {
	.l-header__spNav { display: none; }
}


/* =========================================================
   フッター
   ========================================================= */
.l-footer { background: var(--nfk-green); }

.nfk-footer {
	padding: clamp(28px, 4vw, 44px) 0 clamp(20px, 3vw, 32px);
	color: #fff;
}

.nfk-footer__inner {
	width: 100%;
	max-width: var(--nfk-container);
	margin-inline: auto;
	padding-inline: var(--nfk-gutter);
}

.nfk-footer__project {
	margin: 0 0 clamp(20px, 3vw, 30px);
	padding: .7em 1em;
	background: #fff;
	color: var(--nfk-green);
	font-size: clamp(12px, 1.4vw, 15px);
	font-weight: 700;
	letter-spacing: .12em;
	text-align: center;
}

.nfk-footer__cols {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: clamp(20px, 4vw, 48px);
}

.nfk-footer__label {
	margin: 0 0 .8em;
	font-size: clamp(13px, 1.4vw, 15px);
	font-weight: 700;
	letter-spacing: .2em;
}

.nfk-footer__org { display: flex; align-items: flex-start; gap: 14px; }

.nfk-footer__logo { flex: none; width: 110px; }
.nfk-footer__logo.is-small { width: 46px; }
.nfk-footer__logo img { width: 100%; height: auto; display: block; }

.nfk-footer__orgBody { min-width: 0; }

.nfk-footer__orgName {
	margin: 0 0 .3em;
	font-size: clamp(17px, 2vw, 21px);
	font-weight: 700;
	letter-spacing: .04em;
}

.nfk-footer__orgKind {
	display: inline-block;
	margin-right: .6em;
	font-size: .62em;
	font-weight: 500;
	letter-spacing: .08em;
	vertical-align: .15em;
}

.nfk-footer__addr {
	margin: 0 0 .2em;
	font-size: clamp(12px, 1.3vw, 13px);
	letter-spacing: .02em;
}

.nfk-footer__tel { margin: 0; font-size: clamp(16px, 2vw, 20px); font-weight: 700; }
.nfk-footer__tel a { color: #fff; text-decoration: none; }
.nfk-footer__telIcon { margin-right: .3em; font-size: .8em; }

.nfk-footer__partners { margin: 0; padding: 0; list-style: none; display: grid; gap: .5em; }
.nfk-footer__partners li { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }

.nfk-footer__partnerKind { font-size: clamp(12px, 1.3vw, 14px); }
.nfk-footer__partnerName { font-size: clamp(16px, 2vw, 20px); font-weight: 700; letter-spacing: .04em; }

.l-footer__foot { padding-block: 1.2em; }
.l-footer .copyright,
.l-footer__nav a { color: rgb(255 255 255 / .85); }
