/* ===== FV ===== */

.l-contents:has(.fv) {
	margin-top: -35px;
}

.p-section-front-page-content {
	padding-top: 0;
}

.fv {
	position: relative;
	max-width: 1920px;
	margin: auto;
	display: block;
}

.fv_bg img {
	width: 100%;
	display: block;
	margin-top: -163px;
}

.fv_center {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: -2;

	width: min(990px, 70vw);
	/*
	opacity: 0;
	animation: fadeIn 1s ease forwards;
	animation-delay: .5s;*/
}

.fv_center img {
	width: 100%;
	display: block;
}


.fv_vegetable {
	position: absolute;
	inset: 0;
	z-index: 10;
}

.fv_vegetable img {
	width: 100%;
	display: block;
	margin-top: 179px;
}

.fv_copy {
	position: absolute;
	left: 50%;
	top: 51%;
	transform: translate(-50%, -50%);
	z-index: 3;
	font-family: "Kosugi Maru", sans-serif;
	font-size: clamp(1.875rem, 0.288rem + 3.3vw, 4.25rem);
	font-weight: 700;
	text-align: center;
	line-height: 1.4;
	color: #284128;
	/*opacity: 0;
	animation: fadeIn 1s ease forwards;
	animation-delay: 1s;*/
}

.fv_vegetable {
	/*opacity: 0;*/
	animation:
		/*vegetableIn .8s ease forwards 1.5s,*/
		float 4s ease-in-out infinite 2.3s;
}

.fv_sp {
	display: none;
}

.fv_bg_sp img {
	width: 100%;
	display: block;
	margin-top: clamp(51px, 7.76rem - 9.524vw, 87px);
}

.fv_center_sp {
	position: absolute;
	left: 50%;
	top: 42%;
	transform: translate(-50%, -50%);
	width: 129%;
	z-index: -2;
	/*
	opacity: 0;
	animation: fadeIn 1s ease forwards;
	animation-delay: .5s;*/
}

.fv_center_sp img {
	width: 100%;
	display: block;
}

.fv_copy_sp {
	position: absolute;
	left: 55%;
	top: 42%;
	transform: translate(-50%, -50%);
	z-index: 3;
	font-family: "Kosugi Maru", sans-serif;
	font-size: clamp(2.125rem, 0.319rem + 7.41vw, 3.875rem);
	letter-spacing: 0.043em;
	font-weight: 800;
	line-height: 1.4;
	text-align: center;
	color: #284128;
	width: 80%;
	/*
	opacity: 0;
	animation: fadeIn 1s ease forwards;
	animation-delay: 1s;*/
}

.fv_vegetable_sp {
	position: absolute;
	inset: 0;
	z-index: 10;
	display: flex;
	justify-content: center;
	/*opacity: 0;*/
	animation:
		/*vegetableIn 1.2s ease-out forwards 1.5s,*/
		float 4s ease-in-out infinite 2.7s;
}

.fv_vegetable_sp img {
	width: 90%;
}

@keyframes fadeIn {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes vegetableIn {
	0% {
		opacity: 0;
		transform: scale(0.5);
		filter: blur(10px);
	}

	70% {
		opacity: 1;
		transform: scale(1.05);
		filter: blur(0);
	}

	100% {
		opacity: 1;
		transform: scale(1);
		filter: blur(0);
	}
}

@keyframes float {
	0% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-10px);
	}

	100% {
		transform: translateY(0);
	}
}

@media screen and (max-width: 1920px) {
	.fv_bg img {
		margin-top: clamp(-158px, calc(180.57px - 17.634vw), 0px);
	}

	.fv_vegetable img {
		margin-top: clamp(50px, -2.25rem + 11.198vw, 179px);
	}

	.fv_copy {
		top: clamp(250px, -1.458rem + 35.59vw, 660px);
	}
}

@media (max-width:768px) {

	.fv {
		display: none;
	}

	.fv_sp {
		display: block;
	}
}


/* ===== ピックアップニュースセクション ===== */

.pickup_news {
	clear: both !important;
	max-width: none !important;
	margin-right: calc(-1 * var(--_container-margin-right)) !important;
	margin-left: calc(-1 * var(--_container-margin-left)) !important;
	position: relative;
	top: -139px;
	z-index: 10;
}

.pickup_news_img {
	overflow: hidden;
	border-radius: 40px;
}

.pickup_news_img img {
	display: block;
	width: 100%;
	transition: .4s ease;
}

.pickup_news_column_box:hover .pickup_news_img img {
	transform: scale(1.08);
}

.pickup_news_title {
	text-decoration: underline;
	text-decoration-color: transparent;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
	transition: text-decoration-color .3s ease;
}

.pickup_news_column_box:hover .pickup_news_title {
	text-decoration-color: currentColor;
}

@media screen and (max-width: 1920px) {
	.pickup_news {
		margin-top: clamp(40px, 6.667rem - 3.472vw, 80px);
	}
}

@media screen and (max-width: 1430px) {
	.pickup_news_title span {
		font-size: clamp(1.125rem, 0.955rem + 0.35vw, 1.375rem) !important;
	}
}

@media screen and (max-width: 780px) {
	#pickup_news_top {
		border-radius: 40px !important;
	}

	.pickup_new_inner {
		padding-top: 32px;
	}

	.pickup_news_text {
		margin-top: 8px;
	}

	.pickup_news_title span {
		font-size: 16px !important;
	}

	.pickup_news_date .sme-font-size {
		font-size: 14px !important;
	}
}

@media screen and (max-width: 768px) {
	.pickup_news {
		margin-top: clamp(41px, 8.453rem - 12.277vw, 96px);
	}
}

@media screen and (max-width: 390px) {
	.pickup_news_title span {
		font-size: 13px !important;
		letter-spacing: -0.01em;
	}
}


/* ===== 全漬連についてセクション ===== */
#about_zentsukeren_top {
	padding-top: 0 !important;
}

#about_zentsukeren_top .c-container {
	padding-right: 0 !important;
	padding-left: 0 !important;
}

.about_zentsukeren_text {
	font-weight: 600;
}

.about_zentsukeren_visual {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

.about_zentsukeren_img01 {
	position: absolute;
	top: -230px;
	right: clamp(-9.875rem, 37.555rem - 39.118vw, -1.5625rem);
	z-index: -1;
}

.about_zentsukeren_img01_sp {
	z-index: -1;
}

.about_zentsukeren_img01 img {
	width: clamp(44.688rem, 1.158rem + 43.53vw, 53.938rem);
	max-width: none;
}

.about_zentsukeren_sns {
	position: absolute;
	right: clamp(-6.1875rem, 43.619rem - 40.997vw, 2.5rem);
	bottom: clamp(70px, calc(487.758px - 21.534vw), 143px);

}

.about_zentsukeren_sns_bg {
	width: 100%;
	display: block;
}

.about_zentsukeren_sns_bg img {
	width: clamp(16.25rem, 4.485rem + 11.76vw, 18.75rem);
}

.sns_text {
	color: #ffffff;
	font-size: 20px;
	font-weight: 800;
	position: absolute;
	top: 7px;
	right: clamp(3.438rem, -0.974rem + 4.41vw, 4.375rem);
}

.about_zentsukeren_x {
	position: absolute;
	right: clamp(6.5rem, 1.206rem + 5.29vw, 7.625rem);
	bottom: clamp(2.813rem, -5.129rem + 7.94vw, 4.5rem);
}

/* アイコン */
.about_zentsukeren_x img {
	width: 48px;
}

.about_zentsukeren_x:hover img {
	opacity: .7;
}

.about_zentsukeren_visual_sp {
	display: none;
}

#about_zentsukeren_top .common_btn {
	max-width: 453px !important;
}

@media screen and (max-width: 1600px) {
	.about_zentsukeren_text span {
		font-size: clamp(1.25rem, 0.75rem + 0.63vw, 1.375rem) !important;
	}

	.about_zentsukeren_img01 {
		top: clamp(-14.375rem, 5.625rem - 20vw, -9.375rem);
		right: clamp(-90px, calc(190.7018px - 17.5439vw), -20px);
	}

	.about_zentsukeren_img01 img {
		width: clamp(34.063rem, 18.072rem + 21.3vw, 39.375rem);
		max-width: none;
	}

	.about_zentsukeren_sns_bg img {
		width: clamp(12.813rem, 2.5rem + 13.75vw, 16.25rem);
	}

	.about_zentsukeren_sns {
		right: clamp(-53px, calc(187.6015px - 15.0376vw), 7px);
		bottom: clamp(172px, calc(15.9091vw - 19.5455px), 235px);
	}

	.about_zentsukeren_x img {
		width: clamp(2.5rem, 1rem + 2vw, 3rem);
	}

	.sns_text {
		font-size: 20px;
		top: 7px;
		right: clamp(27px, calc(7.25vw - 60px), 56px);
	}

	.about_zentsukeren_x {
		right: clamp(74px, calc(7.0175vw - 10.2807px), 102px);
		bottom: clamp(15px, calc(6.7669vw - 66.2707px), 42px);
	}
}

@media screen and (min-width: 768px) and (max-width: 1200px) {

	#about_zentsukeren_top .wp-container-core-group-is-layout-eb7b6899> :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.about_zentsukeren_text span {
		font-size: 20px !important;
		letter-spacing: -0.005em;
	}

	.about_zentsukeren_visual {
		display: none;
	}

	.about_zentsukeren_text {
		max-width: 100% !important;
		width: 100% !important;
	}

	body .about_zentsukeren_visual_sp {
		display: block;
		margin-top: -18px !important;
		width: 100%;
		position: relative;
		width: 750px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		max-width: none !important;
	}

	.about_zentsukeren_sns_sp {
		position: absolute;
		top: 336px;
		right: 119px;
		width: 250px;
		z-index: 999;
	}

	.sns_text {
		font-size: 16px;
		top: 7px;
		right: 58px;
	}

	.about_zentsukeren_x_sp {
		position: absolute;
		top: 95px;
		right: 97px;
		width: 45px;
	}

	#about_zentsukeren_top .common_btn {
		margin-top: 0 !important;
		margin-left: auto !important;
	}
}

@media screen and (max-width: 768px) {

	.about_zentsukeren_text span,
	.about_zentsukeren_explain span {
		font-size: 16px !important;
		letter-spacing: -0.04em;
	}

	.about_zentsukeren_visual {
		display: none;
	}

	.about_zentsukeren_text {
		max-width: 100% !important;
	}

	body .about_zentsukeren_visual_sp {
		display: block;
		margin-top: -4px !important;
		position: relative;
		width: 580px !important;
		margin-left: clamp(-122px, calc(-330.57px + 53.704vw), 80px) !important;
		flex-shrink: 0;
		max-width: none !important;
	}

	.about_zentsukeren_sns_sp {
		position: absolute;
		top: clamp(243px, calc(301.95px - 7.672vw), 272px);
		right: 111px;
		width: 190px;
	}

	.sns_text {
		font-size: 16px;
		top: -2px;
		right: 31px;
	}

	.about_zentsukeren_x_sp {
		position: absolute;
		top: 67px;
		right: 71px;
		width: 40px;
	}

	#about_zentsukeren_top .common_btn {
		margin-top: 0 !important;
		margin-left: auto !important;
	}
}


/* =====漬物を知るセクション　カード ===== */
.pickup_card_link {
	display: block;
	padding: 0 !important;
	background: none !important;
	border: none !important;
	text-decoration: none !important;
	color: inherit !important;
	height: 100%;
}

.pickup_card_link .smb-box__body {
	height: 100%;
	display: flex;
	flex-direction: column;
}

.pickup_card_inner {
	position: relative;
	background: #fff;
	border-radius: 48px;
	overflow: hidden;
	transition: .4s ease;
	transform-origin: center center;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.pickup_card_img img {
	width: 100%;
	display: block;
	transition: .5s ease;
	overflow: hidden;
	clip-path: ellipse(90% 81% at 50% 0%);
}

.pickup_card_character {
	position: absolute;
	top: -15px;
	right: 8px;
	width: 165px;
	z-index: 2;
	transform-origin: center bottom;
	transition: .4s ease;
}

.pickup_card_text_wrap {
	margin-left: 0 !important;
	width: clamp(196px, 25vw, 396px);
	padding: 0 clamp(0.875rem, -0.413rem + 2.64vw, 2.75rem) 42px;
	text-align: left;
	margin-top: -30px;
	flex: 1;
	margin-inline: 0 !important;
}

.pickup_card_title {
	position: relative;
	display: inline;
	text-decoration: underline;
	text-decoration-color: transparent;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
	color: #284128;
}

.pickup_card_title span {
	font-size: clamp(1.25rem, 0.993rem + 0.53vw, 1.625rem) !important;
	font-weight: 800;
}

.pickup_card_text {
	margin-top: 12px;
	font-weight: 500;
	line-height: 1.8;
	color: #284128;
}

.pickup_card_text span {
	font-size: clamp(1rem, 0.914rem + 0.18vw, 1.125rem) !important;
}

.pickup_card_arrow {
	position: absolute;
	right: 30px;
	bottom: 25px;
	width: 44px;
	height: 44px;
	border: 1px solid #284128;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: .3s ease;
	overflow: hidden;
	margin-top: auto;
	align-self: flex-end;
}

.arrow-mover {
	display: block;
	width: 100%;
	height: 100%;
}

.pickup_card_arrow img {
	width: 44px;
	display: block;
	transition: .3s ease;
	margin-top: 4px;
}

.pickup_card_link:hover .arrow-mover {
	animation: arrowRollRight 0.3s linear forwards;
}

.pickup_card_link:not(.pickup_card_link_aboutzentsukeren):hover .pickup_card_img img {
	transform: scale(1.08);
}

.pickup_card_link:not(.pickup_card_link_aboutzentsukeren):hover .pickup_card_inner {
	transform: rotate(2deg);
}



@keyframes arrowRollRight {
	0% {
		transform: translateX(0);
		opacity: 1;
	}

	49% {
		transform: translateX(100%);
		opacity: 0;
	}

	50% {
		transform: translateX(-100%);
		opacity: 0;
	}

	100% {
		transform: translateX(0);
		opacity: 1;
	}
}



.pickup_card_arrow {
	margin-top: auto;
}

@media screen and (min-width: 1490px) and (max-width: 1550px) {
	.pickup_card_text_wrap {
		padding: 0 30px 42px;
	}
}

@media screen and (max-width: 782px) {
	.pickup_card_grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.pickup_card_text_wrap {
		width: clamp(169px, calc(-41.04px + 43.667vw), 300px);
	}

	.pickup_card_character {
		width: clamp(4.563rem, -7.457rem + 40.07vw, 12.125rem);
	}

	#about_tsukemono_top .common_btn {
		margin-top: 140px !important;
	}
}

@media screen and (max-width:480px) {

	.pickup_card_grid {
		grid-template-columns: 1fr;
		gap: 28px !important;
	}

	.pickup_card_title span {
		font-size: 20px !important;
	}

	.pickup_card_text {
		line-height: 1.5;
		margin-top: 0;
	}

	.pickup_card_text span {
		font-size: 14px !important;
	}

	.pickup_card_text_wrap {
		width: 309px;
		padding: 0 36px 24px;
	}

	.pickup_card_character {
		top: 6px;
		right: 8px;
		width: clamp(7.438rem, -5.021rem + 51.11vw, 10.313rem);
	}

	.pickup_card_arrow {
		width: 32px;
		height: 32px;
		right: 19px;
		bottom: 18px;
	}

	#about_tsukemono_top .common_btn {
		margin-top: 80px !important;
		width: 95%;
	}
}

@media screen and (max-width:390px) {
	.pickup_card_title span {
		font-size: 18px !important;
	}
}

/* =====お知らせセクション ===== */
#news_top {
	top: 0;
}

#news_top .post {
	background-color: unset;
	border-radius: unset;
	padding: unset;
	width: 100%;
}

.tab_top .smb-tabs__tab,
.tab_top .smb-tab-panel {
	border: unset;
}

.tab_top .smb-tabs__tab {
	color: #284128;
	font-size: 18px;
	padding-left: 30px !important;
}

.tab_top .smb-tabs__tabs {
	max-width: clamp(9.375rem, -3.08rem + 25.48vw, 27.5rem) !important;
	position: relative;

}

.tab_top .smb-tabs__tab::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	border-radius: 50%;
}

.tab_top .smb-tabs__tab-wrapper:nth-child(1) .smb-tabs__tab::before {
	background: #D1DF28;
}

.tab_top .smb-tabs__tab-wrapper:nth-child(2) .smb-tabs__tab::before {
	background: #009649;
}

.tab_top .smb-tabs__tab-wrapper:nth-child(3) .smb-tabs__tab::before {
	background: #935399;
}

.tab_top .smb-tabs__tab-wrapper:nth-child(4) .smb-tabs__tab::before {
	background: #C7AA7B;
}

.tab_top .smb-tabs__tab-wrapper:nth-child(5) .smb-tabs__tab::before {
	background: #E90036;
}

.tab_top .smb-tabs__tab[aria-selected=false] {
	opacity: 1;
}

.taxonomy-category a {
	font-size: 18px;
	position: relative;
	padding-left: 24px;
	color: #b0aead;
}

.taxonomy-category a::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 18px;
	height: 18px;
	border-radius: 50%;
}

.taxonomy-category a[href*="exam"]::before {
	background: #C7AA7B;
}

.taxonomy-category a[href*="event"]::before {
	background: #009649;
}

.taxonomy-category a[href*="column"]::before {
	background: #935399;
}

.taxonomy-category a[href*="other"]::before {
	background: #E90036;
}

.taxonomy-category a[href*="all"]::before {
	background: #D1DF28;
}

.tab_top .wp-block-post-date {
	font-size: 18px;
	color: #284128;
	opacity: .5;
}

.tab_top .wp-block-post-template h2 {
	font-size: 22px;
}

.tab_top .wp-block-post {
	position: relative;
}

.tab_top .wp-block-post-title,
.tab_top .wp-block-post-date,
.tab_top .taxonomy-category {
	transition: .3s ease;
}

.tab_top .wp-block-post:hover .wp-block-post-title,
.tab_top .wp-block-post:hover .wp-block-post-date,
.tab_top .wp-block-post:hover .taxonomy-category {
	transform: translateY(-3px);
}

.tab_top .wp-block-separator {
	position: relative;
	border: none;
	height: 2px;
	background: #ddd;
	overflow: hidden;
}

.tab_top .wp-block-separator::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 0;
	height: 100%;
	background: #2E2A26;
	transition: .4s ease;
}

.tab_top .wp-block-post:hover .wp-block-separator::after {
	width: 100%;
}

.tab_top .wp-block-post {
	cursor: pointer;
}

#news_top .news_common_btn_pc {
	position: absolute;
	top: 450px;
	left: 0;
	width: clamp(13.938rem, -3.771rem + 23.61vw, 24.563rem);
}

.news_common_btn_sp {
	display: none;
}

@media screen and (max-width:1600px) {
	#news_top .news_common_btn_pc {
		left: clamp(-0.5rem, -23.263rem + 30.33vw, 7.063rem);
	}
}

@media screen and (max-width:1200px) {
	#news_top .news_common_btn_pc {
		display: none;
	}

	.news_common_btn_sp {
		display: block !important;
	}
}



@media screen and (max-width:782px) {
	#news_top {
		border-radius: 40px !important;
	}

	.tab_top {
		display: flex;
		flex-direction: column;
		gap: 40px;
	}

	.taxonomy-category a {
		font-size: 14px;
	}

	.tab_top .wp-block-post-date {
		font-size: 14px;
	}

	.tab_top .smb-tabs__tabs {
		display: flex;
		flex-wrap: wrap;
		max-width: 100% !important;
		gap: 21px 32px;
	}

	.tab_top .smb-tabs__tab {
		font-size: 16px;
	}

	.smb-tabs.is-style-simple[data-orientation=vertical]>.smb-tabs__tabs:where(:not(:has(.smb-tabs__tab.has-background))) .smb-tabs__tab-wrapper:not(:first-child) {
		margin-top: unset !important;
	}

	.tab_top .smb-tabs__tab-wrapper {
		width: calc(50% - 16px);
	}

	.tab_top .smb-tabs__tab {
		width: 100%;
		justify-content: flex-start;
	}

	.tab_top .wp-block-post-template h2 {
		font-size: 16px;
	}
}

/*------------------------------
　　　資格・試験セクション
------------------------------*/


.license_card {
	align-items: center;
	position: relative;
	text-decoration: none;
	color: inherit;
	transition: .35s ease;
	overflow: hidden;
	align-items: flex-start;
}

.license_card--image {
	height: 100%;
	padding: 40px 32px 20px 40px;
}

.license_card--text {
	height: auto;
	padding: 40px 32px 20px 40px;
}

.license_card:hover {
	transform: translateY(-4px);
}

/*------------------------------
画像
------------------------------*/

.license_card_image {
	flex: 0 0 276px;
	overflow: hidden;
	border-radius: 20px;
	width: 100%;
}

.license_img_pc {
	display: block;
}

.license_img_sp {
	display: none;
}

.license_card_image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: .4s;
}

.license_card:hover .license_card_image img {
	transform: scale(1.06);
}

/*------------------------------
コンテンツ
------------------------------*/

.license_card_content {
	flex: 1;
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: left;
}

.license_card_title {
	display: inline;
	font-size: clamp(1.375rem, 0.452rem + 1.44vw, 1.75rem);
	font-weight: 900;
	line-height: 1.2;
}

.license_card_text {
	margin-top: 16px;
	font-size: clamp(0.875rem, 0.26rem + 0.96vw, 1.125rem);
	line-height: 1.5;
	font-weight: 600;
	flex: 1;
	width: 95%;
}

.license_card--text .license_card_text {
	width: 100%;
}

/*------------------------------
矢印
------------------------------*/

.license_card_arrow {
	margin-top: 24px;
	margin-left: auto;
	width: 40px;
	height: 40px;
	border: 1px solid #284128;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.license_card_arrow figure {
	margin-top: 5px;
}

.license_card_arrow img {
	width: 36px;
	display: block;

}

.license_card--text {
	display: block;
}

/* --------------------------------------------------
 * 通常時（ライセンスカードの矢印枠の設定）
 * -------------------------------------------------- */
.license_card_arrow {
	position: relative;
	overflow: hidden;
	/* ★はみ出た矢印を左右できれいに隠します */
}

/* アニメーションさせる透明な身代わりの枠 */
.license_card_arrow .arrow-mover {
	display: block;
	width: 100%;
	height: 100%;
}

.license_card_arrow img {
	display: block;
	width: 100%;
	height: auto;
}

.bottom_box_text {
	width: 100%;
}

/* --------------------------------------------------
 * ホバー時（リンクにカーソルが当たった最中）
 * -------------------------------------------------- */


.license_card_link:hover .license_card_arrow .arrow-mover {
	animation: licenseArrowRollRight 0.3s linear forwards;
}

/* --------------------------------------------------
 * アニメーションの定義（ライセンスカード専用）
 * -------------------------------------------------- */
@keyframes licenseArrowRollRight {

	/* 0%：スタート（元の位置） */
	0% {
		transform: translateX(0);
		opacity: 1;
	}

	/* 49%：右へ完全に突き抜けて消える */
	49% {
		transform: translateX(100%);
		opacity: 0;
	}

	/* 50%：消えた瞬間に、左の画面外へ一瞬でワープ */
	50% {
		transform: translateX(-100%);
		opacity: 0;
	}

	/* 100%：左から中央（0）へ戻ってきてピタッと止まる */
	100% {
		transform: translateX(0);
		opacity: 1;
		/* ホバーしている最中、確実にここに戻って残り続けます */
	}
}

/*==================================
SP
==================================*/
@media screen and (max-width:1245px) {
	.license_card_text {
		width: 95%;
	}

	.license_card_image {
		flex-basis: clamp(188px, 15vw, 276px);
	}

	.license_card_content {
		min-height: 266px !important;
	}

	.license_card--text {
		padding: 24px 32px 20px 40px;
	}

	.license_card_content_bottom {
		min-height: auto !important;
	}
}

@media screen and (max-width:1025px) {
	.license_card_arrow {
		width: 32px;
		height: 32px;
	}

	.license_grid,
	.license_grid_bottom {
		gap: 3% !important;
	}

	.license_card_content_bottom {
		min-height: clamp(210px, 352.53px - 13.96vw, 283px) !important;
	}

	.lisence_card_flex {
		flex-direction: column !important;
		align-items: stretch;
	}

	.license_card_image {
		flex-basis: unset;
		flex: unset;
	}

	.license_card_title {
		font-size: clamp(1.25rem, 0.773rem + 1.53vw, 1.75rem) !important;
	}

	.license_card_text {
		font-size: clamp(0.875rem, 0.125rem + 1.56vw, 1.125rem) !important;
		letter-spacing: -0.05em;
	}

	.license_card--image {
		padding: 32px clamp(1rem, 0.046rem + 3.05vw, 2rem);
	}

	.license_img_pc {
		display: none;
	}

	.license_img_sp {
		display: block;
		margin-top: 0px !important;
	}

	.license_card_content {
		margin-top: 0 !important;
	}

	.license_textbox {
		flex-direction: column;
		min-height: 229px;
	}

	.license_card_content {
		min-height: 223px !important;
	}
}

@media screen and (max-width:500px) {
	.license_grid {
		grid-template-columns: 1fr;
	}

	.license_grid_bottom {
		--smb-grid--columns: 1 !important;
	}

	.license_card {
		gap: 20px;
		padding: 38px 9.4% 24px;
	}

	.license_card .smb-box__background {
		border-radius: 24px !important;
	}

	.license_card_title {
		font-size: 22px !important;
	}

	.license_grid,
	.license_grid_bottom {
		gap: 32px !important;
	}

	.license_card_content {
		min-height: auto !important;
		gap: 0 !important;
	}

	.license_textbox {
		min-height: auto;
	}

	.license_card_text {
		margin-top: 8px !important;
	}

}

@media screen and (max-width:500px) {
	.license_card_title {
		font-size: 20px !important;
	}

	.license_card {
		padding: 22px 9.4% 20px;
	}
}

/*==================================
マップ
==================================*/
.home .l-footer {
	margin-top: -234px;
	z-index: 100;
}




.map_inner {
	position: relative;
	width: 100%;
}


.map_japan_wrap {
	position: relative;
	width: 100%;
	height: auto;
	overflow: hidden;
}

.map_japan {
	display: block;
	width: 1900px;
	max-width: none;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
}


/* ==========================
日本地図
========================== */
.map_japan_pc {
	display: block;
}

.map_japan_1340,
.map_japan_768 {
	display: none;
}

.map .common_section-heading {
	position: absolute;
	top: clamp(0.313rem, -6.049rem + 13.24vw, 10rem);
	padding-inline: 0;
}

.map_item {
	position: absolute;
	display: flex;
	flex-direction: column;
	align-items: end;
}

.map_tohoku {
	top: 12%;
	right: 2%;
}

.map_kanto {
	top: 48%;
	right: 4%;
	flex-direction: column-reverse;
	gap: 30px;
}

.map_kansai {
	top: 59%;
	right: 20%;
}

.map_character_kansai_ume {
	position: absolute;
	top: 82px;
	right: -64px;
	width: 157px !important;
}

.map_character_kansai_nasu {
	position: absolute;
	top: 17px;
	left: -117px;
}

.map_kyushu {
	top: 59%;
	left: 28%;
}

.map_character_kansai_kyuri {
	position: absolute;
	top: -115px;
	left: -104px;
}

.map_character_kansai_nappa {
	position: absolute;
	top: -207px;
	right: 79px;
}

.map_chubu {
	top: 33%;
	left: 46%;
}

.map_character_hakusai {
	position: absolute;
	top: -195px;
	left: 43px;
}

.map_character_kabu {
	position: absolute;
	top: -199px;
	left: 259px;
}

.map_character {
	width: 125px;
	display: block;
	transition: .35s;
}

.map_btn {
	margin-top: 12px;
	width: 260px;
	height: 56px;
	padding: 0 24px 0 45px;
	display: flex;
	align-items: center;
	font-size: 20px;
	justify-content: space-between;
	background: #284128;
	border-radius: 16px;
	color: #fff;
	text-decoration: none;
	font-weight: 700;
	transition: .3s;
}

.map_btn img {
	width: 16px;
	height: auto;
	display: block;
}

.map_item:hover .map_character {
	animation: floats .7s ease;
}

.map_item:hover .map_btn {
	background: #3F6037;
}

.map_item:hover .map_btn img {
	transform: translateX(4px);
}

@keyframes floats {

	0% {

		transform: translateY(0) rotate(0);

	}

	40% {

		transform: translateY(-8px) rotate(-4deg);

	}

	70% {

		transform: translateY(-3px) rotate(3deg);

	}

	100% {

		transform: translateY(0) rotate(0);

	}

}

@media screen and (max-width: 1515px) {
	.map_btn {
		width: clamp(12.5rem, -1.857rem + 17.14vw, 14.375rem);
		padding: 0 24px 0 28px;
		font-size: 18px;
	}

	.map_btn img {
		width: 14px;
	}

	.map_btn {
		opacity: .85;
	}

	.map_tohoku {
		top: 129px;
		right: clamp(0.75rem, -6.907rem + 9.14vw, 1.75rem);
	}

	.map_kanto {
		top: clamp(30.813rem, 10.713rem + 24vw, 33.438rem);
		right: 51px;
		gap: 30px;
	}

	.map_kansai {
		top: clamp(38rem, 28.795rem + 10.98vw, 39.188rem);
		right: clamp(15.313rem, -14.24rem + 35.26vw, 19.125rem);
	}

	.map_character_kansai_ume {
		width: 144px !important;
	}

	.map_kyushu {
		top: 636px;
		left: clamp(24.688rem, 4.939rem + 23.56vw, 27.25rem);
	}

	.map_character_kansai_kyuri {
		position: absolute;
		top: -115px;
		left: -104px;
	}

	.map_character_kansai_nappa {
		position: absolute;
		top: clamp(-178px, calc(-324.09px + 9.6437vw), -159px);
		right: clamp(37px, calc(-132.48px + 12.644vw), 59px);
	}

	.map_chubu {
		top: 373px;
		left: clamp(40.188rem, 30.983rem + 10.98vw, 41.375rem);
	}

	.map_character_hakusai {
		position: absolute;
		top: clamp(-216px, calc(-93.48px - 8.092vw), -202px);
		left: clamp(-6px, calc(-207.54px + 15.03vw), 20px);
		width: 126px !important;
	}

	.map_character_kabu {
		top: -199px;
		left: clamp(11.625rem, -16.474rem + 33.53vw, 15.25rem);
		width: 122px !important;
	}

	.map_character {
		width: 110px;
	}

}

@media screen and (max-width: 1340px) {

	.map_japan_pc {
		display: none;
	}

	.map_japan_1340 {
		display: block;
	}

	.map_japan {
		width: 100%;
		max-width: 1340px;
	}

	.map_btn {
		width: clamp(9.375rem, 5.166rem + 8.76vw, 12.5rem);
		padding: 0 20px 0 24px;
		font-size: clamp(0.875rem, 0.538rem + 0.7vw, 1.125rem);
		height: 50px;
	}

	.map_btn img {
		width: 14px;
	}

	.map_tohoku {
		top: clamp(2.813rem, -4.258rem + 14.71vw, 8.063rem);
		right: clamp(0rem, -2.357rem + 4.9vw, 1.75rem);
	}

	.map_kanto {
		top: clamp(15.625rem, -3.903rem + 40.63vw, 30.125rem);
		right: clamp(1.875rem, -4.438rem + 13.13vw, 6.563rem);
		gap: 10px;
	}

	.map_kansai {
		top: clamp(20.063rem, -0.391rem + 42.56vw, 35.25rem);
		right: clamp(10rem, -2.037rem + 25.04vw, 18.938rem);
	}

	.map_character_kansai_ume {
		width: clamp(5.813rem, 1.52rem + 8.93vw, 9rem) !important;
		top: 66px;
		right: -51px;
	}

	.map_character_kansai_nasu {
		top: 17px;
		left: clamp(-96px, calc(-30.29px - 4.904vw), -68px);
	}

	.map_kyushu {
		top: clamp(21rem, -1.137rem + 46.06vw, 37.438rem);
		left: clamp(9.5rem, -7.166rem + 34.68vw, 21.875rem);
	}

	.map_character_kansai_kyuri {
		position: absolute;
		top: clamp(-115px, calc(39.98px - 11.5657vw), -49px);
		left: clamp(-104px, calc(-12.43px - 6.8336vw), -65px);
	}

	.map_character_kansai_nappa {
		position: absolute;
		top: clamp(-178px, calc(5.05px - 13.66vw), -100px);
		right: 37px;
	}

	.map_chubu {
		top: clamp(10.813rem, -6.022rem + 35.03vw, 23.313rem);
		left: clamp(17.563rem, -7.689rem + 52.54vw, 36.313rem);
	}

	.map_character_hakusai {
		position: absolute;
		top: clamp(-202px, calc(2.17px - 15.236vw), -115px);
		left: clamp(-6px, calc(52.67px - 4.378vw), 19px);
		width: clamp(4.875rem, 0.835rem + 8.41vw, 7.875rem) !important;
	}

	.map_character_kabu {
		top: clamp(-199px, calc(68.53px - 19.965vw), -85px);
		left: clamp(9.563rem, 6.785rem + 5.78vw, 11.625rem);
		width: clamp(4.063rem, -0.735rem + 9.98vw, 7.625rem) !important;
	}

	.map_character {
		width: clamp(4.375rem, 1.008rem + 7.01vw, 6.875rem);
	}
}

@media (max-width:768px) {
	.home .l-footer {
		margin-top: -138px
	}



	.map .common_section-heading {
		top: clamp(63px, calc(4.19px + 15.08vw), 120px);
	}

	/* 地図 */
	.map_japan_1340 {
		display: none;
	}

	.map_japan_768 {
		display: block;
		padding-top: 44px;
	}

	.map_character {
		width: clamp(6.25rem, 3.735rem + 10.32vw, 8.688rem);
	}

	.map_character_kanto {
		width: clamp(5.125rem, 2.288rem + 11.64vw, 7.875rem);
	}

	.map_btn {
		width: clamp(10.25rem, 6.768rem + 14.29vw, 13.625rem);
		height: clamp(2.375rem, 1.988rem + 1.59vw, 2.75rem);
		padding: 0 14px 0 18px;
		border-radius: 12px;
		font-size: clamp(1rem, 0.742rem + 1.06vw, 1.25rem);
	}

	.map_tohoku {
		top: clamp(-1.563rem, -8.527rem + 28.57vw, 5.188rem);
		right: clamp(0.125rem, -0.262rem + 1.59vw, 0.5rem);
	}

	.map_kanto {
		top: clamp(14.438rem, -4.456rem + 77.51vw, 32.75rem);
		right: clamp(0.063rem, -1.163rem + 5.03vw, 1.25rem);
		gap: clamp(0.125rem, -0.391rem + 2.12vw, 0.625rem);
		flex-direction: column;
	}

	.map_kansai {
		top: clamp(25.875rem, -1.079rem + 110.58vw, 52rem);
		right: clamp(2.188rem, -8.001rem + 41.8vw, 12.063rem);
	}

	.map_character_kansai_ume {
		width: clamp(6.563rem, 3.983rem + 10.58vw, 9.063rem) !important;
		top: clamp(79px, calc(186.68px - 14.021vw), 132px);
		right: clamp(-95px, calc(18.78px - 14.815vw), -39px);
	}

	.map_character_kansai_nasu {
		width: clamp(5rem, 3.001rem + 8.2vw, 6.938rem) !important;
		top: 62px;
		left: clamp(-32px, calc(67.56px - 12.963vw), 17px);
	}

	.map_kyushu {
		top: clamp(29.813rem, 2.02rem + 114.02vw, 56.75rem);
		left: clamp(7px, calc(11.063px - 0.5291vw), 9px);
	}

	.map_character_kansai_kyuri {
		position: absolute;
		top: clamp(-231px, calc(-82.68px - 19.312vw), -158px);
		left: clamp(-0.375rem, -2.825rem + 10.05vw, 2rem);
		width: clamp(5.563rem, 2.79rem + 11.38vw, 8.25rem) !important;
	}

	.map_character_kansai_nappa {
		position: absolute;
		top: clamp(3.625rem, 2.206rem + 5.82vw, 5rem);
		right: clamp(37px, calc(81.70px - 5.82vw), 59px);
		width: clamp(4rem, 1.163rem + 11.64vw, 6.75rem) !important;
	}

	.map_chubu {
		top: clamp(17.625rem, -2.881rem + 84.13vw, 37.5rem);
		left: clamp(0.438rem, -7.945rem + 34.39vw, 8.563rem);
	}

	.map_character_hakusai {
		position: absolute;
		top: clamp(-218px, calc(-79.84px - 17.99vw), -150px);
		left: -4px;
		width: clamp(6.25rem, 3.671rem + 10.58vw, 8.75rem) !important;
	}

	.map_character_kabu {
		top: clamp(-173px, calc(-18.59px - 20.106vw), -97px);
		left: clamp(6.125rem, 3.804rem + 9.52vw, 8.375rem);
		width: clamp(5.125rem, 1.836rem + 13.49vw, 8.313rem) !important;
	}

}

@media (max-width:390px) {
	.map_character {
		width: 80px;
	}

	.map_btn {
		width: 135px;
		font-size: 13px;
	}

	.map_tohoku {
		top: 1px;
		right: 2px;
	}

	.map_kansai {
		right: 78px;
		top: 397px;
	}

	.map_kyushu {
		top: 451px;
		left: 2px;
	}

	.map_character_kansai_kyuri {
		width: 72px !important;
		top: -116px;
		left: -6px;
	}

	.map_character_hakusai {
		top: -132px;
		left: -4px;
		width: 85px !important;
	}

	.map_character_kabu {
		top: -87px;
		left: 86px;
		width: 70px !important;
	}

	.map_chubu {
		top: 266px;
		left: 7px;
	}

	.map_character_kansai_ume {
		width: 82px !important;
		top: 132px;
		right: -62px;
	}
}

/*==================================
全漬連についてページ
==================================*/
#about_zentsukeren_section {
	margin-top: clamp(-40.188rem, -44.071rem + 8.08vw, -34.375rem) !important;
}

.pickup_card_inner_zentukerenpage {
	border-radius: 24px !important;
}

.pickup_card_img_aboutzentsukeren img {
	width: 100%;
	display: block;
	padding: 32px 32px 12px;
}

#about_zentsukeren_section .pickup_card_text_wrap {
	width: 100%;
	padding: 10px 10% 32px;
}

#about_zentsukeren_section .pickup_card_text {
	margin-left: 0 !important;
	width: 80%;
}

.license_card_text_zentsukerenpage {
	width: 87% !important;
}

.license_card_arrow_zentsukerenpage {
	position: absolute;
	top: 36%;
}

.license_card_arrow_zentsukerenpage_right {
	position: absolute;
	top: 36%;
}

@media screen and (max-width: 1025px) {
	#about_zentsukerenpage_information .license_card_content_bottom {
		min-height: unset !important;
	}

	#about_zentsukerenpage_information .license_card--text {
		padding: 24px 22px 20px 20px;
	}

	.pickup_card_img_aboutzentsukeren img {

		padding: 20px 18px 12px;
	}
}

@media (max-width:768px) {
	#about_zentsukeren_section {
		margin-top: -182px !important;
	}

	.license_card_arrow_zentsukerenpage_right {
		position: absolute;
		top: 100% !important;
	}

	.license_card_arrow_zentsukerenpage {
		position: absolute;
		top: 86%;
	}
}

@media (max-width:560px) {
	.license_card_arrow_zentsukerenpage_right {
		position: absolute;
		top: 120% !important;
	}
}


@media (max-width:500px) {
	.license_card_arrow_zentsukerenpage_right {
		position: absolute;
		top: 90% !important;
	}
}

/*==================================
漬物を知るページ
==================================*/
.about_tsukemono_page {
	margin-top: clamp(-40.188rem, -44.071rem + 8.08vw, -34.375rem) !important;
	margin-bottom: 30px !important;
}

.about_tsukemono_page .c-container {
	padding-left: 3% !important;
	padding-right: 3% !important;
}

@media (max-width:768px) {
	.about_tsukemono_page {
		margin-top: -182px !important;
	}
}


/*==================================
お知らせページ
==================================*/
.news_page .post {
	background-color: unset;
	border-radius: unset;
	padding: unset;
	width: 100%;
}

.news_page {
	margin-top: -210px !important;
}

.news_page .tab_top .smb-tabs__tabs {
	max-width: unset !important;
}

.news_page .smb-tabs {
	--smb-tabs--background-color: transparent;
}


.wp-block-query-pagination-next-arrow,
.wp-block-query-pagination-previous-arrow {
	display: none !important;
}

/* 次へ・前へボタン */
.wp-block-query-pagination-next,
.wp-block-query-pagination-previous {
	width: 48px;
	height: 48px;
	border: 2px solid #284128;
	border-radius: 50%;
	background-color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	position: relative;
	color: transparent;
	transition: .3s;
}


/* ホバー */
.wp-block-query-pagination-next:hover,
.wp-block-query-pagination-previous:hover {
	background: #284128;
}

.wp-block-query-pagination-next:hover::before,
.wp-block-query-pagination-previous:hover::before {
	filter: brightness(0) invert(1);
}

.newspage_pagenation {
	margin-top: 50px;
}

.wp-block-query-pagination-numbers {
	font-size: 32px;
}

.page-numbers {
	margin-right: 32px;
}

.page-numbers.current {
	text-decoration: underline;
}

@media (max-width:782px) {
	.news_page .smb-tabs.is-style-simple[data-orientation=horizontal]>.smb-tabs__tabs:where(:not(:has(.smb-tabs__tab.has-background))) .smb-tabs__tab-wrapper:not(:first-child) {
		margin-left: 0 !important;
	}

	.news_page .smb-tabs[data-orientation=horizontal]>.smb-tabs__tabs {
		margin-bottom: 0;
		display: flex;
		flex-wrap: wrap;
		overflow: auto;
		gap: 16px;
	}

	.news_page .tab_top .smb-tabs__tab {
		text-align: left;
	}
}

@media (max-width:768px) {
	.news_page {
		margin-top: 218px !important;
	}

	.wp-block-query-pagination-numbers {
		font-size: 24px;
	}

	.wp-block-query-pagination-next,
	.wp-block-query-pagination-previous {
		width: 38px;
		height: 38px;
	}

	/* 次へ */
	.wp-block-query-pagination-next::before {
		width: 32px;
		height: 32px;
	}

	/* 前へ */
	.wp-block-query-pagination-previous::before {
		content: "";
		width: 32px;
		height: 32px;
	}
}


/* ==========================================================================
  お知らせページ詳細
   ========================================================================== */

.c-prev-next-nav,
.p-comments,
.c-entry__meta {
	display: none;
}

.post-template .p-breadcrumbs-wrapper,
.post-template-default .p-breadcrumbs-wrapper {
	display: none;
}

.news_breadcrumbs {
	position: absolute;
	top: clamp(-302px, calc(-117.71px - 9.598vw), -216px);
	left: clamp(-115px, calc(-12.14px - 5.357vw), -67px);
}

.post-template .l-contents__inner,
.post-template-default .l-contents__inner {
	margin-top: clamp(14.688rem, 10.045rem + 7.25vw, 18.75rem);
}

.post {
	background-color: #ffffff;
	border-radius: 32px;
	padding: 7% 7% 3%;
	width: 80%;
}

article:has(.news_detail) .c-entry__title {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 30px;
}

article:has(.news_detail) .c-entry__title::before {
	content: "";
	width: 24px;
	height: 24px;
	border-radius: 50%;
	flex-shrink: 0;
}

article:has(.beige) .c-entry__title::before {
	background: #C7AA7B;
	/* 丸の色 */
}

article:has(.green) .c-entry__title::before {
	background: #009649;
	/* 丸の色 */
}

article:has(.red) .c-entry__title::before {
	background: #E90036;
	/* 丸の色 */
}

article:has(.purple) .c-entry__title::before {
	background: #935399;
	/* 丸の色 */
}

.sns_link_container {
	margin-top: -12px;
}

.news_detail_category {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 20px;
	color: rgba(46, 42, 38, 0.5);
}

.news_detail_category::before {
	content: "";
	width: 18px;
	height: 18px;
	border-radius: 50%;
	flex-shrink: 0;
}

.news_detail_category_beige::before {
	background: #C7AA7B;
	/* 丸の色 */
}

.news_detail_category_green::before {
	background: #009649;
	/* 丸の色 */
}

.news_detail_category_red::before {
	background: #E90036;
	/* 丸の色 */
}

.news_detail_category_purple::before {
	background: #935399;
	/* 丸の色 */
}

.news_detail_date {
	font-size: 20px;
	color: rgba(46, 42, 38, 0.5);
}

.news_x {
	width: 21px;
}

.news_line {
	width: 24px;
}

.news_facebook {
	width: 23px;
}

.news_link {
	width: 20px;
}

@media (max-width:1545px) {
	.news_breadcrumbs {
		top: clamp(-310px, calc(-152.83px - 10.173vw), -257px);
		left: -67px;
	}
}

@media (max-width:1024px) {
	.post {
		width: 88%;
	}

	.post-template .l-contents__inner,
	.post-template-default .l-contents__inner {
		margin-top: 235px;
	}

	.news_breadcrumbs {
		position: absolute;
		top: -255px;
		left: -67px;
	}

}

@media (max-width:850px) {
	.news_breadcrumbs {
		display: none;
	}

	.sns_link_container {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}

}

@media (max-width:768px) {

	.post-template .l-contents__inner,
	.post-template-default .l-contents__inner {
		margin-top: 197px;
	}

	.news_detail_img {
		flex-direction: column;
		gap: 16px;
	}
}

@media (max-width:600px) {
	article:has(.news_detail) .c-entry__title {
		font-size: 18px;
	}

	.news_detail h2 {
		font-size: 18px;
	}

	.news_detail_date {
		font-size: 13px;
	}

	.news_detail_category {
		font-size: 13px;
	}

	.news_detail_category::before {
		width: 12px;
		height: 12px;
	}

	.news_x {
		width: 18px;
	}

	.news_line {
		width: 21px;
	}

	.news_facebook {
		width: 20px;
	}

	.news_link {
		width: 17px;
	}

	.news_sns {
		gap: 12px;
	}
}

/* ==========================================================================
 資格・試験ページ
   ========================================================================== */

#license_section.license_section_sub {
	margin-top: clamp(-40.188rem, -44.071rem + 8.08vw, -34.375rem) !important;
}

.shouga_license {
	top: -159px;
	right: 45px;
	width: 209px;
}

@media screen and (min-width: 1920px) and (max-width: 2560px) {
	.shouga_license {
		top: -159px;
		right: clamp(-242px, calc(786px - 40.15625vw), 15px);
		width: 209px;
	}
}

@media screen and (max-width: 1600px) {
	.shouga_license {
		top: clamp(-230px, calc(-295.70px + 8.544vw), -159px);
		right: clamp(45px, calc(77.73px - 2.046vw), 62px);
		width: clamp(130px, calc(56.89px + 9.507vw), 209px);
	}
}

@media (max-width:768px) {
	#license_section.license_section_sub {
		margin-top: -182px !important;
	}

	.shouga_license {
		top: 98px;
		right: clamp(48px, calc(30.46px + 4.497vw), 65px);
		width: clamp(110px, calc(79.05px + 7.937vw), 140px);
	}
}

/* ==========================================================================
   漬物の歴史ページ
   ========================================================================== */
.history_tsukemono h3 {
	font-size: 24px;
}

@media screen and (max-width: 1200px) {
	.history_tsukemono h3 {
		font-size: clamp(1.125rem, 0.944rem + 0.74vw, 1.5rem);
	}

	.contents_detail_text {
		font-size: 16px !important;
	}
}

/* ==========================================================================
 漬物の選び方・保存方法ページ
   ========================================================================== */

.pickle_table_scroll {
	width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
}

.pickle_table {
	width: 100%;
	border-collapse: collapse;
	font-size: 16px;
	line-height: 1.6;
}

.pickle_table th,
.pickle_table td {
	padding: 22px 24px;
	text-align: left;
	vertical-align: middle;
	border-bottom: 1px solid #d8d8d8;
	white-space: nowrap;
}

.pickle_table th {
	background: #334B33;
	color: #fff;
	font-weight: 700;
}

.pickle_table th:first-child {
	border-radius: 8px 0 0 8px;
}

.pickle_table th:last-child {
	border-radius: 0 8px 8px 0;
}

.pickle_table td {
	color: #333;
	font-weight: 500;
}

@media screen and (max-width: 1200px) {
	.pickle_table {
		font-size: clamp(0.813rem, 0.727rem + 0.36vw, 1rem) !important;
	}

	.pickle_table th,
	.pickle_table td {
		padding: 12px 10px;
		white-space: nowrap;
	}
}

/* SP：横スクロール */
@media screen and (max-width: 768px) {
	.pickle_table_scroll {
		overflow-x: auto;
	}

	.pickle_table {
		width: 575px;
		min-width: 575px;
		font-size: 14px;
	}


}

@media screen and (max-width:768px) {
	.scroll_img_wrap {
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
	}

	.scroll_img_wrap img {
		width: 575px;
		max-width: none;
		display: block;
	}



}

/* ==========================================================================
 問い合わせページ
   ========================================================================== */


.contact_section.contact_section_sub {
	margin-top: clamp(-40.188rem, -44.071rem + 8.08vw, -34.375rem) !important;
}

.contact_section {
	padding-top: 120px;
	padding-bottom: 160px;
}

.contact_layout {
	display: grid !important;
	grid-template-columns: minmax(0, 940fr) minmax(0, 450fr);
	gap: 32px;
	align-items: stretch;
	max-width: 1440px;
	margin: 64px auto 0;
}

/*----------------------------------
共通ボックス
----------------------------------*/

.contact_form_box,
.contact_media_box,
.contact_info_box {
	background: #fff;
	border-radius: 24px;
	box-sizing: border-box;
}

/*----------------------------------
左：フォーム
----------------------------------*/

.contact_form_box {
	width: 100%;
	height: 100%;
	padding: 37px 8%;
}

/* CF7 項目名 */
.contact_form_box label {
	display: block;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.6;
	margin-bottom: 18px;
}

/* 必須 */
.contact_form_box .required {
	color: #e60033;
	margin-left: 2px;
}

/* 入力欄 */
.contact_form_box input,
.contact_form_box select,
.contact_form_box textarea {
	width: 100%;
	margin-top: 8px;
	padding: 13px 18px;
	border: 1px solid #ddd;
	border-radius: 8px;
	background: #fff;
	font-size: 20px;
	box-sizing: border-box;
}

/* お問い合わせ内容 */
.contact_form_box textarea {
	height: 180px;
	min-height: 180px;
	max-height: 180px;
	resize: none;
}

/* 個人情報 */
.contact_privacy {
	text-align: center;
	font-size: 18px;
	margin: 24px 0;
}

/* 送信ボタン */
.contact_submit_wrap {
	position: relative;
	margin-top: 24px;
}

.contact_form_box .contact_submit_wrap input[type="submit"] {
	width: 100%;
	height: 104px;
	padding: 14px 18px 21px;
	border: none;
	border-radius: 20px;
	background: #284128;
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	box-sizing: border-box;
}

.contact_submit_en {
	position: absolute;
	left: 50%;
	top: 72px;
	transform: translateX(-50%);
	color: #fff;
	font-size: 16px;
	opacity: 0.5;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	pointer-events: none;
}

/*----------------------------------
右カラム
----------------------------------*/

.contact_side {
	display: flex !important;
	flex-direction: column;
	gap: 32px;
	height: 100%;
	align-self: stretch;
}

/* 右上カード */
.contact_media_box {
	padding: 28px;
	flex: 0 0 auto;
}

/* 右下カード */
.contact_info_box {
	padding: 48px;
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	margin-left: 0 !important;
	margin-top: 0px;
	margin-right: 0 !important;
}

.contact_media_box,
.contact_info_list,
.contact_info_title,
.contact_map,
.contact_map>div {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.contact_map>div {
	width: 100% !important;
}

/* 右カードタイトル */
.contact_media_title,
.contact_info_title {
	font-size: 22px;
	font-weight: 800;
	line-height: 1.6;
	margin-bottom: 16px;
}

/* メディア向けボタン */
.contact_btn {
	max-width: 358px;
	border-radius: 16px !important;
	padding: 18px 18px 18px 22px !important;
}

.contact_btn figure {
	flex-basis: unset;
	width: 44px;
}

/*----------------------------------
電話・FAX情報
----------------------------------*/

.contact_info_list {
	display: grid;
	gap: 18px;
	margin-top: 8px;
}

.contact_info_item {
	display: grid !important;
	grid-template-columns: 34px 1fr;
	gap: 30px;
	align-items: center;
	width: 100%;
	margin-top: 0;
}

/* WPの中央寄せ・余白リセット */
.contact_info_item>*,
.contact_info_content>* {
	margin: 0 !important;
	max-width: none !important;
}

/* Snow Monkey constrained対策 */
.contact_info_item.is-layout-constrained>*,
.contact_info_content.is-layout-constrained>* {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* アイコン */
.contact_info_icon {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: #244126;
	color: #fff;
	display: flex !important;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
}

/* アイコンが画像の場合 */
.contact_info_icon img,
.contact_info_icon figure {
	width: 24px;
	height: 24px;
	margin: 0 !important;
	display: block;
}

/* テキスト側 */
.contact_info_content {
	display: grid;
	gap: 0px;
}

.contact_info_label {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
}

.contact_info_text {
	font-size: 26px;
	font-weight: 700;
	line-height: 1.5;
}

/*----------------------------------
MAP
----------------------------------*/

.contact_map {
	flex: 1 1 auto;
	min-height: 220px;
	margin-top: 28px;
	display: flex;
}

.contact_map iframe {
	width: 100%;
	height: 100%;
	min-height: 220px;
	border-radius: 12px;
}

/*==================================
SP
==================================*/
@media (max-width: 1400px) {
	.contact_layout {
		grid-template-columns: minmax(0, 840fr) minmax(0, 550fr);
	}
}

@media (max-width: 1120px) {
	.contact_form_box label {
		font-size: clamp(1.125rem, 0.577rem + 1.14vw, 1.375rem);
	}

	.contact_form_box input,
	.contact_form_box select,
	.contact_form_box textarea {
		font-size: clamp(1rem, 0.452rem + 1.14vw, 1.25rem);
	}

	.contact_form_box .contact_submit_wrap input[type="submit"] {
		font-size: clamp(1rem, 0.452rem + 1.14vw, 1.25rem);
		height: clamp(5.313rem, 2.711rem + 5.41vw, 6.5rem);
		padding: clamp(0.5rem, -0.322rem + 1.71vw, 0.875rem) 18px clamp(1rem, 0.315rem + 1.42vw, 1.313rem);
	}

	.contact_submit_en {
		top: clamp(3.75rem, 2.107rem + 3.42vw, 4.5rem);
		font-size: clamp(0.813rem, 0.402rem + 0.85vw, 1rem);
	}

	.contact_privacy {
		font-size: clamp(0.813rem, 0.718rem + 0.4vw, 1rem);
		margin-right: 5%;
	}

	.wpcf7 input[type="checkbox"] {
		width: 10px;
		height: 10px;

	}

	.contact_media_title,
	.contact_info_title {
		font-size: clamp(1.063rem, 0.378rem + 1.42vw, 1.375rem);
	}

	.common_btn_text .sme-font-size {
		font-size: clamp(0.875rem, 0.327rem + 1.14vw, 1.125rem) !important;
	}

	.contact_btn figure {
		width: clamp(1.5rem, -1.239rem + 5.7vw, 2.75rem);
	}

	.contact_media_box {
		padding: clamp(1.125rem, -0.244rem + 2.85vw, 1.75rem);
	}

	.contact_btn .is-content-justification-space-between {
		gap: 8px;
	}

	.contact_info_box {
		padding: clamp(1.25rem, -2.584rem + 7.98vw, 3rem);
	}

	.contact_info_label {
		font-size: clamp(1rem, 0.726rem + 0.57vw, 1.125rem);
	}

	.contact_info_text {
		font-size: clamp(1.125rem, 0.03rem + 2.28vw, 1.625rem);
	}

	.opening_time {
		font-size: clamp(0.813rem, 0.402rem + 0.85vw, 1rem)
	}

	.contact_info_icon {
		width: clamp(2.5rem, 1.405rem + 2.28vw, 3rem);
		height: clamp(2.5rem, 1.405rem + 2.28vw, 3rem);
	}

	.contact_info_item {
		gap: clamp(0.75rem, -1.715rem + 5.13vw, 1.875rem);
	}

	.contact_form_box textarea {
		height: clamp(9.375rem, 5.267rem + 8.55vw, 11.25rem);
		min-height: clamp(9.375rem, 5.267rem + 8.55vw, 11.25rem);
		max-height: clamp(9.375rem, 5.267rem + 8.55vw, 11.25rem);
	}

	.contact_map {
		flex: unset;
	}
}

@media (max-width: 768px) {

	#contact_section.contact_section_sub {
		margin-top: -182px !important;
	}

	.contact_section {
		padding-top: 80px;
		padding-bottom: 100px;
	}

	.contact_layout {
		grid-template-columns: 1fr;
		gap: 24px;
		max-width: 100%;
		margin-top: 40px;
	}

	.contact_form_box {
		padding: 32px 24px;
	}

	.contact_side {
		gap: 24px;
	}

	.contact_form_box label {
		font-size: 16px;
	}

	.contact_form_box input,
	.contact_form_box select,
	.contact_form_box textarea {
		font-size: 14px;
	}

	.contact_form_box textarea {
		height: 150px;
		min-height: 150px;
		max-height: 150px;
	}

	.contact_media_title,
	.contact_info_title {
		font-size: 20px;
	}

	.contact_btn figure {
		width: 28px !important;
		height: 28px !important;
	}

	.contact_btn .common_btn_arrow {
		flex-basis: unset !important;
	}

	.common_btn_text .sme-font-size {
		font-size: 18px !important;
	}

	.contact_info_label {
		font-size: 18px;
	}

	.contact_info_text {
		font-size: 22px;
	}

	.contact_info_item {
		gap: 20px;
	}

	.contact_form_box .contact_submit_wrap input[type="submit"] {
		height: 62px;
		font-size: 16px;
		padding: 10px 18px 25px;
		border-radius: 12px;
	}

	.contact_submit_en {
		top: 45px;
		font-size: 12px;
	}

	.contact_btn {
		padding: 18px 18px 18px 41px !important;
	}

}

/* ==========================================================================
サンクスページ
   ========================================================================== */
#thanks.thanks_page {
	margin-top: clamp(-40.188rem, -44.071rem + 8.08vw, -34.375rem) !important;
}

.thanks_title {
	font-size: 44px;
	font-weight: 900;
}

.thanks_text {
	font-size: 22px;
	font-weight: 500;
}

.thanks_btn {
	position: relative;
}

.thanks_btn_img {
	position: absolute;
	top: 37%;
	left: 10%;
	width: 18px;
}

.thanks_btn_text {
	margin-top: 0;
}

@media (max-width: 768px) {
	#thanks.thanks_page {
		margin-top: -182px !important;
	}

	.thanks_title {
		font-size: 22px;
	}

	.thanks_text {
		font-size: 14px;
		width: 85%;
	}

	.thanks_btn {
		max-width: 310px;
	}

	#thanks_btn .thanks_btn_main_text span {
		font-size: 16px !important;
	}
}




/* ==========================================
 * 共通ID/PWログイン画面のカスタムCSS
 * ========================================== */
.page-id-1865 .c-breadcrumbs {
	display: none;
}

.pw_container {
	margin-top: -120px !important;
}

/* 全体を中央寄せにするコンテナ */
.shared-login-container {
	max-width: 1121px;
	margin: 60px auto;
	padding: 20px;
	color: #2E2A26 !important;
}

/* ロゴ配置エリア */
.login-logo-area {
	text-align: center;
	margin-bottom: 20px;
}

.login-logo-area img {
	max-width: 240px;
	height: auto;
}

/* 導入のテキスト */
.login-lead-text {
	text-align: center;
	font-size: clamp(1.625rem, 1.541rem + 0.17vw, 1.75rem);
	line-height: 1.6;
	font-weight: 500;
	margin-bottom: 40px;
}

#wpmem_login {
	margin: 0 auto;
}

#wpmem_login label {
	font-size: clamp(1rem, 0.83rem + 0.73vw, 1.375rem);
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
}

#wpmem_login input[type=text],
#wpmem_login input[type=password] {
	border: 1px solid #2E2A2640 !important;
	border-radius: 16px !important;
	margin-top: 12px;
}

#wpmem_login .button_div,
#wpmem_reg .button_div {
	text-align: center !important;
}

.button_div {
	width: 53% !important;
	margin: 0 auto;
}


.button_div {
	font-size: 0;
}

.button_div input[type="checkbox"] {
	margin: 0 8px 0 0;
	vertical-align: middle !important;
}

.button_div label[for="rememberme"] {
	vertical-align: middle;
}

.button_div input[type="submit"] {
	display: block;
	font-size: 16px !important;
	background-color: #284128;
	padding: 8px 24px;
	border-radius: 16px;
	color: #ffffff;
	margin: 16px auto !important;
}

/* 下部の注意書き */
.login-footer-notes {
	text-align: center;
	font-size: clamp(0.875rem, 0.582rem + 1.25vw, 1.375rem);
	line-height: 1.8;
	color: #2E2A26;
	margin-top: 40px;
	letter-spacing: -0.05em;
}

.login-footer-notes p {
	margin-bottom: 32px;
}

/* 注意書きの中のメールアドレスリンク */
.login-footer-notes a {
	color: #333333;
	text-decoration: underline;
}

.login-footer-notes a:hover {
	text-decoration: none;
}

.member-logout-wrap a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 120px;
	padding: 8px 24px;
	background-color: #284128;
	color: #fff !important;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none !important;
	border-radius: 12px;
	transition: opacity 0.3s;
}

.member-logout-wrap a:hover {
	opacity: 0.75;
}

.member-login-status,
.logout_text {
	text-align: center;
	font-size: 18px;
}

.logout_text a {
	color: inherit;
	text-decoration: underline;
	cursor: pointer;
}

.logout_text a:hover {
	opacity: 0.7;
}

@media (max-width: 1600px) {
	.login-lead-text {
		font-size: clamp(1.125rem, 0.778rem + 0.72vw, 1.5rem);
	}

	.login-footer-notes {
		font-size: clamp(0.875rem, 0.644rem + 0.48vw, 1.125rem);
	}

	.login-logo-area img {
		width: clamp(10rem, 8.75rem + 6.25vw, 15rem);
	}
}

/* スマホ表示用のレスポンシブ対応 */
@media (max-width: 768px) {
	.pw_container {
		margin-top: 80px !important;
	}

	#wpmem_login fieldset {
		margin: 20px 0 !important;
	}

	#wpmem_login {
		width: 90% !important;
	}

	.login-lead-text {
		font-size: 18px;
		margin-bottom: unset;
	}

	.login-input-row label {
		font-size: 16px;
	}
}

@media (max-width: 600px) {
	.button_div {
		width: 90% !important;
	}
}

/* ==========================================
 * 漬物マップセクション
 * ========================================== */
#tsukemonomap_title.tsukemonomap_title {
	margin-top: clamp(-40.188rem, -44.071rem + 8.08vw, -34.375rem) !important;
	z-index: 100;
}


.p-map-section .c-container {
	margin-top: -147px;
}

.tsukemono-map-section__inner {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr 1.15fr;
	gap: clamp(24px, 4vw, 64px);
	align-items: flex-start;
}

.tsukemono-map-section__en {
	margin: 0 0 4px;
	color: #999;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
}

.tsukemono-map-section__title {
	margin: 0 0 24px;
	color: #2e2a26;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.4;
}

.tsukemono-map-section__image {
	max-width: 595px;
	margin-bottom: 24px;
}

.tsukemono-map-section__image img {
	display: block;
	width: 100%;
	height: auto;
}

.tsukemono-map-tabs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px 14px;
	max-width: 525px;
	margin: 0 auto;
}

.tsukemono-map-tabs__button {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 56px;
	padding: 8px 34px 8px 18px;
	border: 2px solid #294833;
	border-radius: 16px;
	background: #fff;
	color: #294833;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.tsukemono-map-tabs__button span {
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
}

.tsukemono-map-tabs__button.is-active,
.tsukemono-map-tabs__button:hover {
	background: #294833;
	color: #fff;
}

.tsukemono-map-tabs__button:nth-child(5) {
	grid-column: 1 / 2;
}

.tsukemono-map-section__right {
	position: relative;
}

.tsukemono-map-card {
	display: none;
	background: #fff;
	border-radius: 18px;
	width: 100%;
	max-width: 700px;
	padding: clamp(24px, 3vw, 60px) clamp(20px, 3.5vw, 60px);
	box-shadow: 0 10px 24px rgba(46, 42, 38, 0.06);


}

.tsukemono-map-card.is-active {
	display: block;
	animation: tsukemonoFade 0.2s ease;
}

@keyframes tsukemonoFade {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

.tsukemono-map-card__title {
	position: relative;
	margin: 0 0 24px;
	padding-left: 29px;
	color: #2e2a26;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.5;
}

.tsukemono-map-card__title::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.45em;
	width: 22px;
	height: 22px;
	background: #009b58;
	border-radius: 50%;
}

.tsukemono-map-card table {
	width: 100%;
	border-collapse: collapse;
	color: #2e2a26;
	font-size: 18px;
}

.tsukemono-map-card tr {
	border-bottom: 1px solid rgba(0, 0, 0, 0.25);
}


.tsukemono-map-card th,
.tsukemono-map-card td {
	padding: 13px 8px;
	text-align: left;
	vertical-align: middle;
}

.tsukemono-map-card th {
	font-weight: 700;
}

.tsukemono-map-card td:first-child,
.tsukemono-map-card th:first-child {
	width: 28%;
}



.tsukemono-map-card td:last-child,
.tsukemono-map-card th:last-child {
	width: 88px;
	text-align: right;
	white-space: nowrap;
}

.tsukemono-map-card a {
	color: #2e2a26;

}

.map_link_name {
	text-decoration: none;
}

.map_link_site {
	text-decoration: underline;
}


.tsukemonomap_nasu {
	top: -158px;
	right: 10px;
	width: 159px;
}

@media screen and (min-width: 1920px) and (max-width: 2560px) {
	.tsukemonomap_nasu {
		top: -160px;
		right: clamp(-300px, calc(876px - 45.938vw), -6px);
		width: 160px;
	}
}


@media (max-width: 1600px) {
	.tsukemono-map-card td {
		font-size: clamp(0.875rem, 0.411rem + 0.71vw, 1.125rem);
	}
}

@media (max-width: 1280px) {
	.tsukemono-map-card__title {
		font-size: clamp(1.375rem, 0.811rem + 1.17vw, 1.75rem);
	}

	.tsukemono-map-card__title::before {
		top: clamp(0.438rem, 0.165rem + 0.57vw, 0.619rem);
	}

	.tsukemono-map-card table {
		font-size: clamp(1rem, 0.624rem + 0.78vw, 1.25rem);
	}

}

@media (max-width: 1600px) {
	.tsukemonomap_nasu {
		top: clamp(-226px, calc(-274.11px + 6.258vw), -174px);
		right: clamp(24px, calc(102.90px - 4.934vw), 65px);
		width: clamp(95px, calc(34.87px + 7.822vw), 160px);
	}

	.p-map-section .c-container {
		margin-top: -147px;
	}
}



@media (max-width: 1040px) {
	.tsukemono-map-section {
		padding: 44px 20px 56px;
		background-position: center top;
	}

	.tsukemono-map-section__inner {
		grid-template-columns: 1fr;
		gap: 32px;
	}


	.tsukemono-map-section__image {
		max-width: clamp(23.125rem, 16.076rem + 30.08vw, 35.625rem);
		margin: 0 auto 20px;
	}

	.tsukemono-map-section__right {
		position: relative;
		margin: 0 auto;
		width: 100%;
	}

	.tsukemono-map-tabs {
		max-width: 635px;
	}

	.tsukemono-map-card {
		margin: 0 auto;
		max-width: 635px;
	}
}

@media (max-width: 768px) {

	.p-map-section .c-container {
		padding-top: 231px;
		margin-top: 0 !important;
	}

	.tsukemonomap_nasu {
		top: clamp(99px, calc(91.37px + 2.036vw), 107px);
		right: clamp(49px, calc(28.01px + 5.598vw), 71px);
		width: clamp(76px, calc(53.10px + 6.107vw), 100px);
	}

	#tsukemonomap_title.tsukemonomap_title {
		margin-top: -182px !important;
	}

	.tsukemono-map-section__image {
		max-width: clamp(23.125rem, 22.529rem + 2.54vw, 23.75rem);
		margin: 0 auto 20px;
	}

	.tsukemono-map-section__title {
		margin-bottom: 20px;
		font-size: 20px;
	}

	.tsukemono-map-tabs {
		gap: 8px;
		max-width: 445px;
		margin-bottom: 28px;
	}

	.tsukemono-map-tabs__button {
		min-height: clamp(2.375rem, 2.136rem + 1.02vw, 2.625rem);
		padding: 6px 28px 6px 10px;
		border-radius: 7px;
		font-size: clamp(1rem, 0.881rem + 0.51vw, 1.125rem);
	}

	.tsukemono-map-tabs__button span {
		right: 11px;
	}

	.tsukemono-map-card {
		max-width: 445px;
	}

	.tsukemono-map-card__title {
		margin-bottom: 18px;
		font-size: 20px;
	}

	.tsukemono-map-card table {
		font-size: clamp(0.875rem, 0.756rem + 0.51vw, 1rem);
	}

	.tsukemono-map-card th,
	.tsukemono-map-card td {
		padding: 10px 4px;
	}

	.tsukemono-map-card td:first-child,
	.tsukemono-map-card th:first-child {
		width: 24%;
	}

	.tsukemono-map-card td:last-child,
	.tsukemono-map-card th:last-child {
		width: 35px;
	}

	.map_link_site {
		font-size: 0 !important;
	}

	.map_link_site::before {
		width: 16px;
		height: 16px;
	}
}

/* ==========================================
 *FAQセクション
 * ========================================== */
.smb-accordion__item__title__icon {
	margin-left: 6px !important;
}

/* ==========================================
 * 組合員専用ページ
 * ========================================== */

.member-page {
	max-width: 960px;
	margin-inline: auto;
	padding: clamp(24px, 4vw, 48px);
	background: #fff;
	border: 1px solid #d7d3c8;
	border-radius: 24px;
}

.member-page__title {
	margin: 0;
	font-size: 30px;
}

.member-page__updated {
	margin-top: 8px;
	color: #85857f;
	font-size: 16px;
}

.member-section {
	margin-top: 30px;
	padding: 28px;
	border: 1px solid #d7d3c8;
	border-radius: 18px;
}

.member-section__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 20px;
}

.member-section__title {
	margin: 0;
	font-size: 20px;
}

.member-section__meta {
	margin: 0;
	color: #85857f;
	font-size: 16px;
}

.member-badge {
	min-width: 160px;
	margin: 0;
	padding: 8px 20px;
	background: #fff0d9;
	border-radius: 10px;
	color: #9c4d00;
	text-align: center;
}

.member-file-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 18px 28px;
	background: #f2f0e9;
	border-radius: 14px;
}

.member-file-row+.member-file-row {
	margin-top: 12px;
}

.member-file-row__content {
	flex: 1;
	min-width: 0;
}

.member-file-row__title {
	margin: 0;
	font-size: 18px;
	font-weight: 500;
}

.member-file-row__meta {
	margin: 4px 0 0;
	color: #85857f;
	font-size: clamp(14px, 1.8vw, 18px);
}

.member-file-row .wp-block-buttons {
	flex-shrink: 0;
	margin: 0;
}

.member-file-row .wp-block-button__link {
	min-width: 120px;
	padding: 12px 28px;
	background: #fff;
	border: 1px solid #85857f;
	border-radius: 10px;
	color: #1f1f1f;
	font-size: 18px;
}

.member-file-row--simple .wp-block-button__link {
	min-width: auto;
	padding: 4px 0;
	background: transparent;
	border: 0;
	color: #075da8;
}

.member-new {
	margin: 0 auto 0 16px;
	padding: 4px 14px;
	background: #e2f0ff;
	border-radius: 6px;
	color: #075da8;
	font-size: 15px;
}

.member-archive {
	margin-top: 16px;
	padding-top: 10px;
	border-top: 1px solid #d7d3c8;
}

.member-archive summary {
	cursor: pointer;
	color: #555;
	font-size: 18px;
}

.member-archive[open] summary {
	margin-bottom: 16px;
}

.member-page,
.member-section,
.member-file-row {
	box-sizing: border-box;
}

.member-file-row__title {
	min-width: 0;
	line-height: 1.45;
	overflow-wrap: anywhere;
	word-break: normal;
}

.member-file-row__meta {
	line-height: 1.5;
}

/* PDFタイトルとNEWを横並びにする */
.member-file-row--simple {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px !important;
}

.member-file-row__label {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	flex: 1;
	min-width: 0;
}

.member-file-row__label .member-file-row__title {
	flex: none;
	margin: 0;
}

.member-file-row__label .member-new {
	flex: none;
	margin: 0;
}

.member-file-row--simple .wp-block-buttons {
	flex-shrink: 0;
	margin: 0 0 0 auto !important;
}


/* ==========================================
 * タブレット
 * ========================================== */
@media screen and (max-width: 768px) {

	.member-page {
		width: 100%;
		padding: 28px 24px;
		border-radius: 18px;
		margin-top: 133px;
	}

	.member-page__title {
		font-size: 28px;
	}

	.member-page__updated {
		font-size: 16px;
	}

	.member-section {
		margin-top: 24px;
		padding: 24px 20px;
		border-radius: 16px;
	}

	.member-section__head {
		gap: 12px !important;
		margin-bottom: 16px;
	}

	.member-section__title {
		font-size: 24px;
	}

	.member-section__meta {
		font-size: 16px;
	}

	.member-file-row {
		gap: 16px !important;
		padding: 18px 20px;
	}

	.member-file-row__title {
		font-size: 20px;
	}

	.member-file-row__meta {
		font-size: 15px;
	}

	.member-file-row .wp-block-button__link {
		min-width: 100px;
		padding: 10px 22px;
		font-size: 16px;
	}

	.member-notes {
		font-size: 15px;
	}

}


/* ==========================================
 * スマートフォン
 * ========================================== */
@media screen and (max-width: 480px) {

	.member-page {
		padding: 20px 16px;
		border-radius: 16px;
	}

	.member-page__title {
		font-size: 24px;
		line-height: 1.4;
	}

	.member-page__updated {
		margin-top: 6px;
		font-size: 14px;
	}

	.member-section {
		margin-top: 20px;
		padding: 18px 16px;
		border-radius: 14px;
	}

	/* 見出し部分 */
	.member-section__head {
		display: flex !important;
		flex-wrap: wrap !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 8px 12px !important;
		margin-bottom: 14px;
	}

	.member-section__title {
		flex: 1;
		min-width: 140px;
		font-size: 21px;
		line-height: 1.4;
	}

	.member-section__meta {
		margin-left: auto;
		font-size: 14px;
		white-space: nowrap;
	}

	.member-badge {
		min-width: auto;
		margin-left: auto;
		padding: 6px 12px;
		border-radius: 7px;
		font-size: 13px;
		white-space: nowrap;
	}

	/* PDF共通行 */
	.member-file-row {
		padding: 15px 14px;
		border-radius: 11px;
	}

	.member-file-row+.member-file-row {
		margin-top: 10px;
	}

	.member-file-row__title {
		font-size: 17px;
	}

	.member-file-row__meta {
		margin-top: 5px;
		font-size: 13px;
	}

	/* 会員名簿 */
	.member-file-row--main {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 14px !important;
	}

	.member-file-row--main .member-file-row__content {
		width: 100%;
	}

	.member-file-row--main .wp-block-buttons {
		width: 100%;
		margin: 0 !important;
	}

	.member-file-row--main .wp-block-button {
		width: 100%;
	}

	.member-file-row--main .wp-block-button__link {
		width: 100%;
		min-width: 0;
		padding: 10px 15px;
		font-size: 16px;
		text-align: center;
	}

	/* PDF一覧 */
	.member-file-row--simple {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto auto;
		align-items: center !important;
		gap: 8px !important;
	}

	.member-file-row--simple .member-file-row__title {
		grid-column: 1;
		min-width: 0;
	}

	.member-file-row--simple .member-new {
		grid-column: 2;
	}

	.member-file-row--simple .wp-block-buttons {
		grid-column: 3;
		margin: 0 !important;
	}

	.member-file-row--simple .wp-block-button {
		margin: 0;
	}

	.member-file-row--simple .wp-block-button__link {
		min-width: auto;
		padding: 4px 2px;
		font-size: 16px;
		white-space: nowrap;
	}

	.member-new {
		margin: 0;
		padding: 3px 7px;
		border-radius: 5px;
		font-size: 11px;
		line-height: 1.4;
		white-space: nowrap;
	}

	.member-notes {
		margin-top: 14px;
		font-size: 13px;
		line-height: 1.65;
	}

	.member-archive {
		margin-top: 14px;
		padding-top: 10px;
	}

	.member-archive summary {
		padding-right: 4px;
		font-size: 14px;
		line-height: 1.5;
	}

	.member-file-row--simple {
		display: flex !important;
		gap: 8px !important;
	}

	.member-file-row__label {
		gap: 6px !important;
	}

	.member-file-row__label .member-file-row__title {
		font-size: 17px;
	}

	.member-file-row__label .member-new {
		padding: 3px 7px;
		font-size: 11px;
	}
}

@media screen and (max-width: 375px) {

	.member-page {
		padding: 18px 12px;
		border-radius: 14px;
	}

	.member-page__title {
		font-size: 22px;
	}

	.member-page__updated {
		font-size: 13px;
	}

	.member-section {
		padding: 16px 12px;
		border-radius: 12px;
	}

	.member-section__title {
		min-width: 120px;
		font-size: 20px;
	}

	.member-section__meta {
		font-size: 13px;
	}

	.member-badge {
		padding: 5px 9px;
		font-size: 12px;
	}

	.member-file-row {
		padding: 14px 11px;
	}

	.member-file-row__title {
		font-size: 16px;
	}

	.member-file-row__meta {
		font-size: 12px;
	}

	.member-file-row--simple {
		grid-template-columns: minmax(0, 1fr) auto auto;
		gap: 6px !important;
	}

	.member-file-row--simple .wp-block-button__link {
		font-size: 15px;
	}

	.member-new {
		padding: 3px 6px;
		font-size: 10px;
	}

	.member-notes {
		font-size: 12px;
	}

	.member-archive summary {
		font-size: 13px;
	}

	.member-file-row__label {
		gap: 5px !important;
	}

	.member-file-row__label .member-file-row__title {
		font-size: 16px;
	}

	.member-file-row__label .member-new {
		padding: 2px 6px;
		font-size: 10px;
	}
}

/* ==========================================================================
準備中ページ
   ========================================================================== */

.media-preparation {
	padding: 80px 20px;
}

.media-preparation-card {
	max-width: 1050px;
	margin: 0 auto;
	padding: 55px 100px;
	background: #fff;
	border-radius: 32px;
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.media-preparation-label {
	margin-bottom: 30px !important;
	font-size: 24px;
	font-weight: 700;
	text-align: center;
}

.media-preparation-title {
	margin-bottom: 35px;
	padding: 32px 20px;
	background: #284128;
	border-radius: 16px;
}

.media-preparation-title h2 {
	margin: 0 !important;
	color: #fff;
	font-size: 38px;
	font-weight: 700;
	text-align: center;
}

.media-preparation-divider {
	margin: 0 0 35px !important;
	border: none !important;
	border-top: 4px dotted #e4d9a8 !important;
}

.media-preparation-text {
	margin-bottom: 35px !important;
	font-size: 20px;
	line-height: 2;
	text-align: center;
}

.media-preparation-button {
	max-width: 480px;
	margin: 0 auto 25px !important;
}

.media-preparation-button .wp-block-button {
	width: 100%;
}

.media-preparation-button .wp-block-button__link {
	width: 100%;
	padding: 18px 30px;
	background: #284128;
	border-radius: 10px;
	font-size: 20px;
	font-weight: 700;
	text-align: center;
}

.media-preparation-button .wp-block-button__link::after {
	content: "＞";
	display: inline-block;
	margin-left: 6px;
	font-size: 20px;
	font-weight: 700;
}

.media-preparation-note {
	margin: 0 !important;
	color: #777;
	font-size: 14px;
	text-align: center;
}

.media-preparation-text a {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* トップへ戻るボタン hover */
.media-preparation-button .wp-block-button__link {
	transition: opacity 0.3s ease;
}

.media-preparation-button .wp-block-button__link:hover {
	opacity: 0.8;
}

@media screen and (max-width: 768px) {

	.media-preparation {
		padding: 40px 20px;
	}

	.media-preparation-card {
		padding: 40px 24px;
		border-radius: 24px;
		margin-top: 80px;
	}

	.media-preparation-label {
		margin-bottom: 24px !important;
		font-size: 18px;
	}

	.media-preparation-title {
		padding: 25px 15px;
		margin-bottom: 30px;
	}

	.media-preparation-title h2 {
		font-size: clamp(1.313rem, 1.008rem + 1.55vw, 1.75rem);
	}

	.media-preparation-divider {
		margin-bottom: 30px !important;
	}

	.media-preparation-text {
		margin-bottom: 30px !important;
		font-size: 16px;
		line-height: 2;
	}

	.media-preparation-button {
		max-width: 100%;
	}

	.media-preparation-button .wp-block-button__link {
		padding: 16px 20px;
		font-size: 18px;
	}

	.media-preparation-button .wp-block-button__link::after {
		margin-left: 5px;
		font-size: 18px;
	}

	.media-preparation-note {
		font-size: 12px;
	}
}