@charset "utf-8";

/* ハーフレディング（文字の上下の余白）対策 */
:root {
	--leading-trim: calc((1em - 1lh) / 2);
	scroll-padding-top: min(10svh, 114px);
}

/* safariのinput青枠非表示 */
*:focus {
	outline: none;
}

/* buttonのホバー対応 */
button:hover {
	cursor: pointer;
	opacity: .8;
}


body {
	/* デザインで使用しているフォントを指定する */
	font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 16px;
	font-weight: 400;
	color: #006351;
	background-color: #ffffff;
	margin: 0px;
	padding: 0px;
	line-height: 1.5rem;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0px;
	padding: 0px;
	font-weight: bold;
	word-break: break-all;
}

p {
	margin: 0px;
	padding: 0px;
	word-break: break-all;
}

a {
	text-decoration: none;
	word-break: break-all;
	transition: all .3s;
	color: #006351;
	-webkit-tap-highlight-color: transparent;
}

a:hover {
	opacity: .8;
}

div {
	box-sizing: border-box;
}

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

table {
	border-collapse: collapse;
	width: 100%;
}

/* テンプレートCSSクラス */
#template {
	display: none;
}

.in100per {
	margin: 0px;
	padding: 0px;
	width: 100%;
}

.in1267 {
	margin: 0 auto;
	padding: 0px;
	width: 100%;
	max-width: 1267px;
}

/*リード・セクションのバックカラー設定*/
.white {
	background-color: #FFF;
}

.gray {
	background-color: #F1F1F1;
}

.palebrown {
	background-color: #F1EAD8;
}

.palegreen {
	background-color: #E9F2D0;
}

.paleblue {
	background-color: #D5E9F5;
}

.palepink {
	background-color: #F6E1DC;
}

/*リード・セクションの背景画像設定*/
.wave {
	position: relative;
}

.wave::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	translate: -50%;
	background-image: url(../img/bg-wave.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	width: calc(100% + 106px);
	height: 100%;
	z-index: -1;
}

.cooking {
	background-image: url(../img/bg-cooking.webp);
	background-repeat: repeat;
	background-size: contain;
	background-position: center top;
	width: 100%;
	position: relative;
}

#page .cooking {
	width: auto;
}

.cooking::after {
	content: "";
	position: absolute;
	background-image: url(../img/recipe-bg.webp);
	background-repeat: no-repeat;
	background-size: contain;
	top: 250px;
	left: 50%;
	translate: -50%;
	width: 100%;
	height: 100%;
	pointer-events: none;
	opacity: .7;
}

/* ヘッダー */

#header {
	position: fixed;
	z-index: 1000;
	width: 100%;
	background-color: #ffffff;
	box-shadow: 0px 6px 6px rgb(0 0 0 / 0.1);
}

#header .in100per {
	height: min(10svh, 114px);
	display: flex;
	align-items: center;
	margin: 0 auto;
	justify-content: center;
}

#header .logo,
#s-menu,
#sp-navi,
#bottom-nav,
#torezo-navi .em-sp {
	display: none;
}

/** グローバルナビゲーション **/
#g-navi,
#g-navi>div,
#g-navi ul:not(.sub-menu),
#g-navi ul li {
	height: 100%;
}

#g-navi {
	position: relative;
	z-index: 100;
}

#g-navi ul.main-menu {
	display: flex;
	width: calc(100vw - 20px);
	max-width: 1594px;
	margin: 0px;
	padding: 0px;
	list-style-type: none;
	align-items: center;
	justify-content: space-between;
}

#g-navi ul li {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

#g-navi ul li.menu-item-has-children::after {
	content: "";
	position: absolute;
	width: 100%;
	max-width: 70px;
	height: 14px;
	bottom: 0;
	left: 50%;
	translate: -50%;
	background-color: #E2E2E2;
	border-radius: 20px 20px 0 0;
}

#g-navi ul li.menu-item-has-children:hover:after {
	background-color: #006351;
}

#g-navi h1 {
	max-width: 277px;
	margin-top: -10px;
}

#g-navi ul.main-menu li.has-bg a {
	font-size: clamp(1rem, 0.886rem + 0.18vw, 1.1rem);
	line-height: clamp(1rem, 0.886rem + 0.18vw, 1.1rem);
	color: #ffffff;
	background-color: #00A291;
	border-radius: 20px;
	width: 136px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
}

#g-navi ul.main-menu li>a,
#g-navi ul li.menu-item-has-children>a {
	font-size: clamp(1rem, 0.715rem + 0.45vw, 1.25rem);
	line-height: clamp(1rem, 0.715rem + 0.45vw, 1.25rem);
	font-weight: 800;
}

#g-navi ul li.menu-item-has-children>a {
	pointer-events: none
}

/*** gnaviドロップダウンメニュー ***/
#g-navi ul li.menu-item-has-children ul.sub-menu li,
#sp-navi ul li.nav-head {
	position: relative;
	display: block;
}

#g-navi ul li.menu-item-has-children ul.sub-menu li::before,
#sp-navi ul li.nav-head::before {
	content: "◆";
	position: absolute;
	top: 0;
	left: -23px;
	color: #ffffff;
	width: clamp(1rem, 0.857rem + 0.22vw, 1.125rem);
	height: clamp(1rem, 0.857rem + 0.22vw, 1.125rem);
}

#g-navi ul li.menu-item-has-children ul.sub-menu a {
	display: block;
	color: #ffffff;
	font-size: clamp(1rem, 0.857rem + 0.22vw, 1.125rem);
	white-space: nowrap;
}

/*** gnaviドロップダウンアニメーション ***/
#g-navi ul li.menu-item-has-children {
	position: relative;
}

#g-navi ul li.menu-item-has-children ul.sub-menu {
	position: absolute;
	width: 200%;
	max-width: fit-content;
	top: 100%;
	left: 50%;
	translate: -50%;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease;
	background-color: rgb(0 99 81 / 0.9);
	border-radius: 0 0 14px 14px;
	padding: 32px 25px 32px 48px;
	display: flex;
	flex-direction: column;
	gap: 23px;
}

#g-navi ul li.menu-item-has-children:hover ul.sub-menu {
	opacity: 1;
	visibility: visible;
}

/*** gnaviドロップダウンアニメーションここまで ***/

#s-menu {
	display: none;
}

/* とれ蔵ナビ */
#torezo-navi {
	position: fixed;
	top: min(210px, 20svh);
	right: 0;
	height: min(740px, 68.5svh);
	transform: translateX(calc(100% - 90px));
	transition: transform 0.4s ease;
	z-index: 999;
	background: #ffffff;
	border: 3px solid #00A291;
	border-right: none;
	border-radius: 20px 0 0 20px;
}

#torezo-navi::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 90px;
	height: 100%;
	pointer-events: none;
}

#torezo-navi.is-open {
	transform: translateX(0);
}

#torezo-navi .nav-menu-wrapper {
	height: 100%;
	display: flex;
	flex-direction: row;
	align-items: center;
}

#torezo-navi .nav-knob {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 0 15px;
	gap: 10px;
	cursor: pointer;
}

#torezo-navi .nav-knob p {
	writing-mode: vertical-rl;
	color: #00A291;
	font-size: 1.6rem;
	font-weight: 800;
}

#torezo-navi .nav-knob img.torezo-icon {
	width: 100%;
	max-width: 62px;
}

#torezo-navi .nav-knob:hover img.torezo-icon {
	animation: swing;
	animation-duration: 0.6s;
}

#torezo-navi .nav-knob img.nav-arrrow {
	width: 25px;
	transform: rotate(180deg);
	margin-top: 10px;
}

#torezo-navi.is-open .nav-knob img.nav-arrrow {
	transform: rotate(0deg);
	transition: all .3s;
}

#torezo-navi .torezo-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 28px;
	padding-right: 25px;
}

#torezo-navi .global-search form {
	display: flex;
	flex-direction: row;
	align-items: center;
}

#torezo-navi .global-search form>input {
	border: none;
	background-color: #DDF2F0;
	border-radius: 11px 0 0 11px;
	font-size: 1rem;
	height: 48px;
	padding: 2px 17px 0;
}

#torezo-navi .global-search form>button {
	border: none;
	background-color: #00A291;
	width: 64px;
	height: 50px;
	border-radius: 0 11px 11px 0;
	position: relative;
	cursor: pointer;
}

#torezo-navi .global-search form>button img {
	display: none;
}

#torezo-navi .global-search form>button::after {
	content: "";
	position: absolute;
	background-image: url(../img/loupe-icon.svg);
	background-repeat: no-repeat;
	background-size: contain;
	top: 11px;
	left: 50%;
	translate: -50%;
	width: 24px;
	height: 32px;
	transform: rotate(45deg);
	pointer-events: none;
}

#torezo-navi .nav-menu-list {
	flex: 1;
}

#torezo-navi ul.nav-menu {
	margin: 0;
	padding: 0;
	list-style: none;
	column-count: 2;
	column-gap: 49px;
}

#torezo-navi ul.nav-menu li.underline {
	padding-bottom: 18px;
	margin-bottom: 18px;
	position: relative;
}

#torezo-navi ul.nav-menu li.underline::after {
	position: absolute;
	content: "";
	bottom: 0;
	left: 0;
	width: 100%;
	height: 2px;
	background-image: linear-gradient(to right, #00A291 2px, transparent 2px);
	background-size: 6px 2px;
	background-repeat: repeat-x;
	background-position: bottom;
}

#torezo-navi ul.nav-menu li:last-child {
	margin-bottom: 80px;
}

#torezo-navi ul.nav-menu li a {
	font-size: clamp(1rem, 0.857rem + 0.22vw, 1.125rem);
	line-height: clamp(1rem, 0.857rem + 0.22vw, 1.125rem);
	color: #00A291;
	font-weight: 800;
	display: block;
	padding: 8px 0 8px 24px;
	position: relative;
}

#torezo-navi ul.nav-menu li a::before {
	content: "";
	position: absolute;
	background-image: url(../img/nav-arrow.svg);
	background-repeat: no-repeat;
	background-size: contain;
	top: 10.5px;
	left: 0;
	width: 16px;
	height: 17px;
	pointer-events: none;
}

/* 左snsボタン群 */
#social-menu {
	position: fixed;
	top: 50%;
	left: min(24px, 1.3vw);
	transform: translateY(-50%);
	z-index: 90;
}

#social-menu ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

#social-menu ul li a:hover {
	opacity: 1;
}

#social-menu ul li a:hover img {
	animation: jello;
	animation-duration: 1s;
}

/* 全ページ共通 */
body>article {
	padding-top: min(10svh, 114px);
	overflow: hidden;
}

.sp-only,
.under1300 {
	display: none;
}

/* トップページ */
/** トップページ共通 **/
#top article>section h2 {
	font-family: "Libre Bodoni", serif;
	font-optical-sizing: auto;
	font-size: clamp(3.5rem, 1.789rem + 2.68vw, 5rem);
	line-height: clamp(3.5rem, 1.789rem + 2.68vw, 5rem);
	font-weight: 700;
	font-style: italic;
}

#top article>section .title {
	text-align: center;
}

#top article>section .title p.sub-title {
	font-size: clamp(1rem, 0.572rem + 0.67vw, 1.375rem);
	line-height: clamp(1.5rem, 0.858rem + 1vw, 2.063rem);
	font-weight: 600;
}

#top article>section .title p.sub-title.composition {
	margin-top: 13px;
}

#top section a.btn-green {
	background-color: #00A291;
	border-radius: calc(infinity * 1px);
	color: #ffffff;
	font-size: clamp(0.875rem, 0.447rem + 0.67vw, 1.25rem);
	line-height: clamp(0.875rem, 0.447rem + 0.67vw, 1.25rem);
	white-space: nowrap;
	padding: 9px 1.5rem 11px;
	max-width: calc(220px - 3rem);
}

#top section#topix .in100per::before,
#top section#topix .in100per::after,
#top section#event .in100per::before,
#top section#event .in100per::after,
#top section#event .title::after,
#top section#map::before,
#top section#map::after,
#top section#map .map-wrap::before,
#top section#map .map-wrap::after,
#top section#service::after,
#top section#recipe .main-recipe::before,
#top section#recipe .main-recipe::after,
#top section#recipe .recipe-content.recipe1::before,
#top section#recipe .recipe-content.recipe2::before,
#top section#recipe .recipe-content.recipe3::before,
#page article#products #map .map-wrap::before,
#page article#products #map .map-wrap::after,
#page article#kitchen #this-month .month-veges::before,
#page article#kitchen #this-month .month-veges::after,
#page article#kitchen #this-month .thisMonth2 .recipe-content.recipe1::before,
#page article#kitchen #this-month .thisMonth2 .recipe-content.recipe2::before,
#page article#kitchen #this-month .thisMonth2 .recipe-content.recipe3::before {
	content: "";
	position: absolute;
	background-repeat: no-repeat;
	background-size: contain;
	pointer-events: none;
}

/** リード **/
#top #lead {
	background-image: url(../img/top/hero-bg.webp);
	background-repeat: repeat-x;
	background-size: contain;
	background-position: right top;
	position: relative;
	height: calc(100svh - min(10svh, 114px));
	max-height: 1000px;
	overflow: hidden;
}

#top #lead::before {
	content: "";
	position: absolute;
	bottom: min(78px, 7svh);
	right: min(106px, 7vw);
	width: 100%;
	max-width: min(264px, 14vw);
	height: min(190px, 17.6svh);
	background-image: url(../img/top/fv-torezo.webp);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	display: block;
	opacity: 0;
}

#top #lead.animate-before::before {
	opacity: 1;
	animation: bounceInUp 1s both;
}

#top #lead::after {
	content: "";
	position: absolute;
	bottom: -40px;
	left: 50%;
	translate: -50%;
	width: 100%;
	height: min(208px, 19svh);
	background-image: url(../img/top/bush.svg);
	background-repeat: repeat-x;
	background-size: cover;
	background-position: center;
	z-index: 2;
}

/*** スライダー ***/
#top #lead #swiper1 {
	margin: 0 auto 0 0;
	max-height: min(980px, 90svh);
}

#top #lead ul.swiper-wrapper {
	mask-image: url(../img/top/mask-round.svg);
	mask-repeat: no-repeat;
	margin: 0;
	mask-size: cover;
	mask-position: top right;
	width: min(1500px, 78vw);
}

#top #lead ul.swiper-wrapper::after {
	content: "";
	position: absolute;
	top: min(343px, 32svh);
	left: 50%;
	translate: -50%;
	width: 100%;
	max-width: 812px;
	height: min(64px, 6svh);
	background-image: url(../img/top/catchphrase.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}

#top #lead ul.swiper-wrapper .swiper-slide {
	height: 100vh;
}

#top #lead ul.swiper-wrapper .swiper-slide img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

/*** ボタンメニュー ***/
#top #lead .fv-menu {
	position: absolute;
	top: min(96px, 9svh);
	right: min(220px, 12vw);
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: min(27px, 2.5svh);
}

#top #lead .fv-menus {
	height: 100%;
	position: relative;
	display: block;
}

#top #lead .fv-menu a {
	height: 100%;
	display: block;
}

#top #lead .fv-menu a:hover {
	opacity: 1;
}

#top #lead .fv-menu a img:hover {
	animation: swing;
	animation-duration: 0.6s;
}

#top #lead .fv-recipe {
	right: min(12px, 0.6vw);
}

#top #lead .fv-recipe img {
	max-height: min(81px, 7.5svh);
	max-width: 170px;
}

#top #lead .fv-about {
	right: min(53px, 2.8vw);
}

#top #lead .fv-about img {
	max-height: min(92px, 8.5svh);
	max-width: 232px;
}

#top #lead .fv-store {
	right: min(52px, 2.7vw);
}

#top #lead .fv-store img {
	max-height: min(110px, 10svh);
	max-width: 182px;
}

#top #lead .fv-agri {
	right: min(104px, 5.4vw);
}

#top #lead .fv-agri img {
	max-height: min(96px, 9svh);
	max-width: 117px;
}

#top #lead .fv-service {
	right: min(162px, 8.4vw);
}

#top #lead .fv-service img {
	max-height: min(95px, 8.8svh);
	max-width: 169px;
}

#top #lead .fv-branch {
	right: min(288px, 15vw);
}

#top #lead .fv-branch img {
	max-height: min(91px, 8.4svh);
	max-width: 201px;
}

/*** 緊急のお知らせ ***/
#top #lead .em-area {
	background-color: #ffffff;
	border-radius: calc(infinity * 1px);
	overflow: hidden;
	position: absolute;
	bottom: 18px;
	left: 50%;
	translate: -50%;
	z-index: 3;
	display: flex;
	padding: min(7px, 0.4vw);
	gap: min(39px, 2vw);
	width: auto;
}

#top #lead .em-area h2 {
	background-color: #C14F24;
	border-radius: calc(infinity * 1px) 0 0 calc(infinity * 1px);
	color: #ffffff;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 15px;
	font-size: clamp(0.938rem, 0.581rem + 0.56vw, 1.25rem);
	line-height: clamp(0.938rem, 0.581rem + 0.56vw, 1.25rem);
	font-weight: 800;
	padding: 10px min(57px, 2.7vw);
	width: min(296px, 15vw);
	height: calc(100% - 18px);
}

#top #lead .em-area ul {
	margin: 0;
	padding: 0 min(34px, 1.8vw) 0 0;
	list-style: none;
	width: 70%;
}

#top #lead .em-area li {
	display: flex;
	height: 100%;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
}

#top #lead .em-area a {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: min(33px, 1.7vw);
}

#top #lead .em-area li .em-date,
#top section#topix .news_list article .date {
	font-size: clamp(0.75rem, 0.465rem + 0.45vw, 1rem);
	line-height: clamp(0.75rem, 0.465rem + 0.45vw, 1rem);
	color: #70B4A7;
}

#top #lead .em-area li .em-date {
	min-width: 80px;
}

#top #lead .em-area h3 {
	font-size: clamp(0.875rem, 0.59rem + 0.45vw, 1.125rem);
	line-height: clamp(0.875rem, 0.59rem + 0.45vw, 1.125rem);
	font-weight: 400;
}

/*** ファーストビュー内バナー ***/
#top #lead .fv-banner {
	position: absolute;
	bottom: min(27px, 2.5svh);
	left: min(114px, 6vw);
	z-index: 3;
}

#top #lead .fv-banner button {
	font-size: 1rem;
	line-height: 1rem;
	font-weight: 800;
	border: none;
	background-color: #ffffff;
	color: #161573;
	border-radius: calc(infinity * 1px);
	width: 30px;
	height: 30px;
	position: absolute;
	top: -15px;
	right: -15px;
	padding-top: 0;
	font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	z-index: 1;
}

#top #lead .fv-banner a {
	display: block;
	height: 100%;
}

/** いるま野の農産物 **/
#top section#farmers {
	margin-top: 127px;
	padding-bottom: 120px;
}

#top section#farmers .title a {
	font-size: clamp(1rem, 0.715rem + 0.45vw, 1.25rem);
	line-height: clamp(1.5rem, 1.072rem + 0.67vw, 1.875rem);
	color: #00A291;
	display: block;
	margin: 18px auto 0;
	padding: 8px 1rem;
	border: 3px solid;
	background-color: #ffffff;
	border-radius: calc(infinity * 1px);
	max-width: calc(406px - 2rem);
}

#top section#farmers .farmers-area {
	margin-top: 80px;
}

/*** 農産物スライダー ***/
/**** スライダー動作 ****/
#top section#farmers #swiper2 {
	perspective: 1200px;
	overflow: visible;
}

#top section#farmers #swiper2 .swiper-wrapper {
	align-items: center;
}

#top section#farmers #swiper2 .swiper-slide {
	transition: transform 1.8s ease, opacity 1.8s ease;
	display: flex;
	align-items: center;
}

#top section#farmers #swiper2 .swiper-slide-active {
	transform: translateZ(0) scale(1);
	opacity: 1;
	z-index: 3;
}

#top section#farmers #swiper2 .swiper-slide-prev,
#top section#farmers #swiper2 .swiper-slide-next {
	transform: translateZ(-120px) translateY(-150px) scale(0.6);
	opacity: 0.25;
	z-index: 2;
}

#top section#farmers #swiper2 .swiper-slide:not(.swiper-slide-active, .swiper-slide-prev, .swiper-slide-next) {
	transform: translateZ(-120px) scale(0.6);
	opacity: 0;
}

/**** スライダー装飾 ****/
#top section#farmers #swiper2 .swiper-slide {
	display: flex;
	align-items: center;
	gap: 20px;
}

#top section#farmers #swiper2 .swiper-slide img {
	z-index: 1;
	width: 50%;
}

#top section#farmers #swiper2 .swiper-slide .fm-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 1rem 2rem;
}

#top section#farmers #swiper2 .swiper-slide.bg-1 .fm-content,
#top section#farmers #swiper2 .swiper-slide.bg-2 .fm-content,
#top section#farmers #swiper2 .swiper-slide.bg-3 .fm-content {
	border-radius: calc(infinity * 1px);
}

#top section#farmers #swiper2 .swiper-slide.bg-1 .fm-content {
	background-color: #fee1eb;
	box-shadow: 0px 0px 40px 40px #fee1eb;
}

#top section#farmers #swiper2 .swiper-slide.bg-2 .fm-content {
	background-color: #FEDFC1;
	box-shadow: 0px 0px 40px 40px #FEDFC1;
}

#top section#farmers #swiper2 .swiper-slide.bg-3 .fm-content {
	background-color: #FAFEC1;
	box-shadow: 0px 0px 40px 40px #FAFEC1;
}

#top section#farmers #swiper2 .swiper-slide h3 {
	font-family: "Kaisei Opti", serif;
	font-weight: 400;
	font-style: normal;
	font-size: 2.5rem;
	line-height: 3.75rem;
}

#top section#farmers #swiper2 .swiper-slide p.fm-eng {
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size: 1.5rem;
	line-height: 2.2rem;
}

#top section#farmers #swiper2 .swiper-slide p.fm-caption {
	margin-top: 13px;
}

#top section#farmers #swiper2 .swiper-slide .fm-content a.btn-green {
	margin-top: 20px;
	max-width: unset;
}

/**** スライダーナビゲーション ****/
#top section#farmers #swiper2 .swiper-button-prev,
#top section#farmers #swiper2 .swiper-button-next {
	display: none;
}

/** とれ蔵キッチン **/
#top section#recipe {
	margin-top: 20px;
	padding-bottom: 89px;
	overflow: hidden;
}

#top section#recipe::before {
	content: "";
	position: absolute;
	background-image: url(../img/top/hourensou.webp);
	background-repeat: no-repeat;
	background-size: contain;
	top: -4px;
	right: -50px;
	width: min(450px, 24vw);
	height: 100%;
	pointer-events: none;
	opacity: 0;
}

#top section#recipe.animate::before {
	animation: fadeIn;
	opacity: 1;
	animation-duration: 1s;
}

#top section#recipe .recipe-deco {
	background-color: #ffffff;
}

#top section#recipe .recipe-deco .deco-img {
	position: relative;
	width: fit-content;
	margin: 0 auto;
}

#top section#recipe .recipe-deco .deco-img::before {
	content: "";
	position: absolute;
	background-image: url(../img/tore-daughter.png);
	background-repeat: no-repeat;
	background-size: contain;
	bottom: 31px;
	left: -23%;
	width: min(169px, 9vw);
	height: min(154px, 8vw);
	pointer-events: none;
	opacity: 0;
}

#top section#recipe.animate .recipe-deco .deco-img::before {
	animation: slideInLeft;
	opacity: 1;
	animation-duration: 1s;
}

#top section#recipe .recipe-deco .deco-img::after {
	content: "";
	position: absolute;
	background-image: url(../img/tore-son.png);
	background-repeat: no-repeat;
	background-size: contain;
	bottom: 31px;
	right: -23%;
	width: min(181px, 9.5vw);
	height: min(168px, 9vw);
	pointer-events: none;
	opacity: 0;
}

#top section#recipe.animate .recipe-deco .deco-img::after {
	animation: slideInRight;
	opacity: 1;
	animation-duration: 1s;
}

#top section#recipe .recipe-deco img {
	display: block;
	max-width: min(768px, 40vw);
	margin: 0 auto;
}

#top section#recipe .title {
	width: min(440px);
	height: 270px;
	margin: -110px auto 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 0 0 calc(infinity * 1px) calc(infinity * 1px);
	background-color: #ffffff;
	flex-direction: column;
}

#top section#recipe .recipe-wrap {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	margin-top: -50px;
	position: relative;
	z-index: 1;
	gap: min(87px, 4.5vw);
}

#top section#recipe .main-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 28px 0;
}

#top section#recipe .main-recipe,
#page article#kitchen #this-month .month-veges {
	width: 100%;
	max-width: 344px;
	background-color: #ffffff;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 18px;
	box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, .1);
}

#top section#recipe.animate .main-recipe {
	animation: swing;
	animation-duration: .6s;
}

#top section#recipe .main-recipe::before,
#page article#kitchen #this-month .month-veges::before {
	background-image: url(../img/top/deco-tore.webp);
	top: -45px;
	left: -50px;
	width: 130px;
	height: 114px;
}

#top section#recipe .main-recipe::after,
#page article#kitchen #this-month .month-veges::after {
	background-image: url(../img/top/deco-toremi.webp);
	top: -37px;
	right: -43px;
	width: 113px;
	height: 92px;
}

#top section#recipe .main-recipe>img,
#page article#kitchen #this-month .month-veges>img {
	margin-top: 15px;
}

#top section#recipe .main-recipe>p,
#page article#kitchen #this-month .month-veges>p {
	font-size: 2.4rem;
	line-height: 3.6rem;
	font-weight: bold;
	margin-top: 5px;
}

#top section#recipe .title-link a {
	font-size: clamp(1rem, 0.715rem + 0.45vw, 1.25rem);
	line-height: clamp(1.5rem, 1.072rem + 0.67vw, 1.875rem);
	color: #00A291;
	display: block;
	margin: 0 auto;
	padding: 4px 1rem;
	border: 3px solid;
	background-color: #ffffff;
	border-radius: calc(infinity * 1px);
	max-width: calc(294px - 2rem);
}

#top section#recipe .recipe-inner-wrap,
#page article#kitchen #this-month .thisMonth2 {
	display: grid;
	grid-template-columns: repeat(auto-fit, 261px);
	width: 100%;
	max-width: 843px;
	gap: 0 30px;
}

#top section#recipe .recipe-inner-wrap .recipe-content,
#page article#kitchen #this-month .thisMonth2 .recipe-content {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 2;
	width: 100%;
	background-color: #ffffff;
	padding: 18px 12px;
	position: relative;
	box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, .1);
}

#top section#recipe .recipe-inner-wrap .recipe-content:hover,
#top section#topix .swiper-wrapper li.swiper-slide:hover,
#top section#service .service-btn:hover {
	animation: pulse;
	animation-duration: .6s;
}

#top section#recipe .recipe-content.recipe1::before,
#page article#kitchen #this-month .thisMonth2 .recipe-content.recipe1::before {
	background-image: url(../img/pin_green.webp);
	top: -51px;
	left: 57%;
	translate: -50%;
	width: 47px;
	height: 65px;
}

#top section#recipe .recipe-content.recipe2::before,
#page article#kitchen #this-month .thisMonth2 .recipe-content.recipe2::before {
	background-image: url(../img/pin_blue.webp);
	top: -46px;
	left: 42%;
	translate: -50%;
	width: 50px;
	height: 60px;
}

#top section#recipe .recipe-content.recipe3::before,
#page article#kitchen #this-month .thisMonth2 .recipe-content.recipe3::before {
	background-image: url(../img/pin_pink.webp);
	top: -51px;
	left: 58%;
	translate: -50%;
	width: 47px;
	height: 65px;
}

#top section#recipe .recipe-inner-wrap .recipe-content img,
#page article#kitchen #this-month .thisMonth2 .recipe-content img {
	width: 238px;
	height: 208px;
	object-fit: cover;
	object-position: center;
}

#top section#recipe .recipe-inner-wrap .recipe-content a,
#page article#kitchen #this-month .thisMonth2 .recipe-content a {
	display: flex;
	align-items: center;
	justify-content: center;
}

#top section#recipe .recipe-inner-wrap .recipe-content h3 {
	font-size: 1.5rem;
	line-height: 2.25rem;
	text-align: center;
	margin-top: 10px;
}

/** トピックス **/
#top section#topix {
	margin-top: 207px;
}

#top section#topix .in100per {
	position: relative;
}

#top section#topix .in100per::before {
	background-image: url(../img/top/torezo-topix.webp);
	top: -110px;
	left: min(590px, 31vw);
	width: min(204px, 10vw);
	height: 222px;
	opacity: 0;
}

#top section#topix.animate .in100per::before {
	animation: slideInLeft;
	opacity: 1;
	animation-duration: 1s;
}

#top section#topix .in100per::after {
	background-image: url(../img/top/taro.webp);
	top: -170px;
	right: min(170px, 9vw);
	width: min(438px, 23vw);
	height: 281px;
	opacity: 0;
}

#top section#topix.animate .in100per::after {
	animation: fadeIn;
	opacity: 1;
	animation-duration: 1s;
}

#top section#topix .title {
	position: absolute;
	top: -33px;
	left: 50%;
	translate: -50%;
}

#top section#topix .topix-wrap {
	display: flex;
	margin: 0 auto;
	padding: 113px 15px 67px;
	gap: 29px;
	max-width: 1270px;
	justify-content: center;
}

#top section#topix .type_body,
#top section#topix .tab-container {
	background-color: #ffffff;
	border-radius: 20px;
}

#top section#topix .type_body .archive_btn a,
#top section#topix .tab-container .archive_btn a {
	width: calc(220px - 3rem);
	display: flex;
	align-items: center;
	justify-content: center;
}

/*** トピックス部分 ***/
#top section#topix .type_body {
	padding: 40px min(30px, 1.6vw);
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 40%;
}

#top section#topix .type_body .archive_btn a {
	margin-top: 22px;
}

#top section#topix .type_list {
	margin-top: 43px;
	width: 100%;
}

#top section#topix .swiper {
	overflow: visible;
}

#top section#topix .swiper-wrapper {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	gap: 31px;
}

#top section#topix .swiper-wrapper li.swiper-slide {
	border-radius: 16px;
	overflow: hidden;
}

#top section#topix .swiper-wrapper li.swiper-slide:has(.category.info-news),
#page #pickup .pickup-card.info-news {
	background-color: #D84857;
	border: 1px solid #D84857;
}

#top section#topix .type_list li.swiper-slide:has(.category.info-news) .category,
#page #pickup .pickup-card.info-news .pickup-category {
	color: #D84857;
}

#top section#topix .swiper-wrapper li.swiper-slide:has(.category.info-products),
#page #pickup .pickup-card.info-products {
	background-color: #0C9B24;
	border: 1px solid #0C9B24;
}

#top section#topix .type_list li.swiper-slide:has(.category.info-products) .category,
#page #pickup .pickup-card.info-products .pickup-category {
	color: #0C9B24;
}

#top section#topix .swiper-wrapper li.swiper-slide:has(.category.info-event),
#page #pickup .pickup-card.info-event {
	background-color: #CE5520;
	border: 1px solid #CE5520;
}

#top section#topix .type_list li.swiper-slide:has(.category.info-event) .category,
#page #pickup .pickup-card.info-event .pickup-category {
	color: #CE5520;
}

#top section#topix .swiper-wrapper li.swiper-slide:has(.category.info-finance),
#page #pickup .pickup-card.info-finance {
	background-color: #0C3C9B;
	border: 1px solid #0C3C9B;
}

#top section#topix .type_list li.swiper-slide:has(.category.info-finance) .category,
#page #pickup .pickup-card.info-finance .pickup-category {
	color: #0C3C9B;
}

#top section#topix .swiper-wrapper li.swiper-slide:hover a {
	opacity: 1;
}

#top section#topix .type_list article a {
	display: flex;
	align-items: center;
	width: 100%;
	position: relative;
}

#top section#topix .type_list article a::after {
	content: "";
	position: absolute;
	background-image: url(../img/top/arrow-trans.svg);
	background-repeat: no-repeat;
	background-size: contain;
	bottom: 17px;
	right: 19px;
	width: 25px;
	height: 25px;
	pointer-events: none;
}

#top section#topix .type_list article .thumb {
	width: 40%;
	height: 170px;
	background-color: #ffffff;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

#top section#topix .type_list article .content {
	width: 60%;
	padding: 0 18px;
}

#top section#topix .type_list article .category {
	background-color: #ffffff;
	border-radius: 6px;
	width: fit-content;
	padding: 9px 1rem;
	font-size: 14px;
	line-height: 14px;
}

#top section#topix .type_list article .content .date,
#top section#topix .type_list article .content h3 {
	color: #ffffff;
}

#top section#topix .type_list article .content .date {
	margin: 12px 0 8px;
}

#top section#topix .type_list article .content h3,
#top section#topix .news_list article .content h3 {
	font-size: clamp(0.875rem, 0.447rem + 0.67vw, 1.25rem);
	line-height: clamp(1.313rem, 0.671rem + 1vw, 1.875rem);
	font-weight: 400;
}

#top section#topix .swiper-button-prev,
#top section#topix .swiper-button-next {
	display: none;
}

/*** タブ切り替え部分 ***/
#top section#topix .tab-container {
	width: 60%;
	padding: 41px min(37px, 1.9vw);
}

#top section#topix .tab_btns,
#top section#topix .news_list article .category {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	justify-content: center;
}

#top section#topix .tab_btns button,
#top section#topix .news_list article .category {
	font-size: 1rem;
	border: none;
	border-radius: 6px;
	color: #ffffff;
	padding: 4px 14px 6px;
	min-width: 130px;
}

#top section#topix .tab_btns button {
	cursor: pointer;
}

#top section#topix .tab_btns button.cat1,
#top section#topix .news_list article .category.info-news {
	background-color: #D84857;
}

#top section#topix .tab_btns button.cat2,
#top section#topix .news_list article .category.info-products {
	background-color: #0C9B24;
}

#top section#topix .tab_btns button.cat3,
#top section#topix .news_list article .category.info-event {
	background-color: #CE5520;
}

#top section#topix .tab_btns button.cat4,
#top section#topix .news_list article .category.info-finance {
	background-color: #0C3C9B;
}

#top section#topix .tab-list {
	display: none;
}

#top section#topix .tab-list.show {
	display: block;
}

#top section#topix .news_list {
	margin-top: 43px;
	background-image: linear-gradient(to right, #000000 2px, transparent 2px);
	background-size: 6px 2px;
	background-repeat: repeat-x;
	background-position: top;
}

#top section#topix .news_list article {
	background-image: linear-gradient(to right, #000000 2px, transparent 2px);
	background-size: 6px 2px;
	background-repeat: repeat-x;
	background-position: bottom;
	padding: 22px min(26px, 1.4vw);
	position: relative;
}

#top section#topix .news_list article::after,
#top section#event .event_box .date::after,
#page section .market-information .market-thumb::after {
	content: "";
	position: absolute;
	background-image: url(../img/arrow-green.svg);
	background-repeat: no-repeat;
	background-size: contain;
	bottom: 22px;
	right: 0;
	width: 25px;
	height: 25px;
	pointer-events: none;
}

#top section#topix .news_list article .info-wrap {
	display: flex;
	flex-direction: row-reverse;
	justify-content: flex-end;
	align-items: center;
	gap: 26px;
	margin-bottom: 7px;
}

#top section#topix .news_list article .content h3 {
	max-width: 90%;
}

#top section#topix .tab-container .archive_btn a {
	margin: 34px auto 0;
}

/** イベント情報 **/
#top section#event {
	margin-top: 174px;
}

#top section#event .in100per {
	position: relative;
}

#top section#event .in100per::before {
	background-image: url(../img/top/edamame.webp);
	top: -90px;
	left: min(100px, 5.2vw);
	width: min(473px, 25vw);
	height: 290px;
	opacity: 0;
}

#top section#event.animate .in100per::before {
	animation: fadeIn;
	opacity: 1;
	animation-duration: 1s;
}

#top section#event .in100per::after {
	background-image: url(../img/top/toremi.webp);
	top: -35px;
	right: min(550px, 29vw);
	width: min(179px, 23vw);
	height: 210px;
	opacity: 0;
}

#top section#event.animate .in100per::after {
	animation: slideInRight;
	opacity: 1;
	animation-duration: 1s;
}

#top section#event .title {
	position: relative;
}

#top section#event .title::after {
	background-image: url(../img/top/garland.webp);
	top: 110px;
	left: 50%;
	translate: -50%;
	width: min(375px, 20vw);
	height: 71px;
}

#top section#event .event_list {
	max-width: min(1428px, 75vw);
	margin: 141px auto 0;
	position: relative;
}

#top section#event ul.swiper-wrapper {
	margin: 0px;
	padding: 0px;
	gap: 21px;
}

#top section#event li.swiper-slide {
	max-width: calc(23.7% - 2px);
	border: 1px solid #A8CFCB;
	border-radius: 16px;
	overflow: hidden;
	display: flex;
	align-items: stretch;
	height: auto;
}

#top section#event li.swiper-slide article {
	width: 100%;
	height: 100%;
}

#top section#event .event_box {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

#top section#event .event-img img {
	width: 100%;
	height: 170px;
	object-fit: cover;
	object-position: center;
}

#top section#event .event_box .content {
	margin-top: 14px;
	padding: 0 min(20px, 1vw);
}

#top section#event .event-period {
	font-size: 1.125rem;
	line-height: 1.125rem;
	background-color: #707070;
	border-radius: 6px;
	color: #ffffff;
	width: min(calc(173px - 2rem), 9vw);
	margin: 0 auto;
	padding: 6px 1rem 8px;
	text-align: center;
}

#top section#event .event-period.accept {
	background-color: #E34F03;
}

#top section#event .event_box h3 {
	margin-top: 13px;
	padding-bottom: 1rem;
	font-size: 1.25rem;
	line-height: 1.875rem;
	min-height: 5rem;
}

#top section#event .event_box .date {
	background-image: linear-gradient(to right, #000000 2px, transparent 2px);
	background-size: 6px 2px;
	background-repeat: repeat-x;
	background-position: top;
	margin: 0 min(20px, 1vw);
	padding: 13px 0;
	position: relative;
}

#top section#event .event_box .date::after {
	bottom: 12px;
}

#top section#event .btn-green {
	display: flex;
	margin: 48px auto 0;
	align-items: center;
	justify-content: center;
}

/**** スライダーナビゲーション ****/
#top section#event .swiper-button-prev,
#top section#event .swiper-button-next,
#top section#banner .swiper-button-prev,
#top section#banner .swiper-button-next,
#page article#products .season-wrap .swiper-button-prev,
#page article#products .season-wrap .swiper-button-next,
#page>article:has(.in100per.burgundy) .swiper-button-prev,
#page>article:has(.in100per.burgundy) .swiper-button-next {
	display: block;
	width: 42px;
	height: 42px;
}

#top section#event .swiper-button-prev::after,
#top section#event .swiper-button-next::after,
#top section#banner .swiper-button-prev::after,
#top section#banner .swiper-button-next::after,
#page article#products .season-wrap .swiper-button-prev,
#page article#products .season-wrap .swiper-button-next,
#page>article:has(.in100per.burgundy) .swiper-button-prev,
#page>article:has(.in100per.burgundy) .swiper-button-next {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 42px;
	height: 42px;
	background-image: url(../img/top/slide-arrow.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}

#top section#event .swiper-button-prev>svg,
#top section#event .swiper-button-next>svg,
#top section#banner .swiper-button-prev>svg,
#top section#banner .swiper-button-next>svg,
#top section#map .swiper-button-prev>svg,
#top section#map .swiper-button-next>svg,
#page article#products .season-wrap .swiper-button-prev>svg,
#page article#products .season-wrap .swiper-button-next>svg,
#page article#products #map .swiper-button-prev>svg,
#page article#products #map .swiper-button-next>svg,
#page>article:has(.in100per.burgundy) .swiper-button-prev>svg,
#page>article:has(.in100per.burgundy) .swiper-button-next>svg {
	display: none;
}

#top section#event .swiper-button-prev,
#top section#event .swiper-button-next {
	top: var(--swiper-navigation-top-offset, 42%);
}

#top section#event .swiper-button-prev {
	left: var(--swiper-navigation-sides-offset, -50px);
}

#top section#event .swiper-button-next {
	right: var(--swiper-navigation-sides-offset, -50px);
}

#top section#event .swiper-button-prev::after,
#top section#banner .swiper-button-prev::after,
#page article#products .season-wrap .swiper-button-prev,
#page>article:has(.in100per.burgundy) .swiper-button-prev {
	transform: rotate(180deg);
}

/** 直売所マップ（一部下層ページ「農産物情報」と兼用） **/
#top section#map {
	margin-top: 246px;
	position: relative;
}

#top section#map::before {
	background-image: url(../img/top/sayamacha.webp);
	top: -10px;
	left: min(-50px, -2.6vw);
	width: min(469px, 24vw);
	height: 379px;
	opacity: 0;
}

#top section#map::after {
	background-image: url(../img/top/ume.webp);
	top: -170px;
	right: min(85px, 4.5vw);
	width: min(500px, 26vw);
	height: 317px;

	opacity: 0;
}

#top section#map.animate::before,
#top section#map.animate::after {
	animation: fadeIn;
	opacity: 1;
	animation-duration: 1s;
}

#top section#map .btn-green,
#page section#map .btn-green {
	display: flex;
	margin: 55px auto 0;
	align-items: center;
	justify-content: center;
}

#top section#map a.btn-green,
#page section#map a.btn-green {
	max-width: calc(252px - 3rem);
}

/*** クリッカブルマップ ***/
#top section#map .map-wrap,
#page article#products #map .map-wrap {
	width: 100%;
	max-width: 1020px;
	margin: 192px auto 0;
	position: relative;
	overflow: visible;
}

#top section#map .map-wrap::before,
#page article#products #map .map-wrap::before {
	background-image: url(../img/top/sunny.webp);
	top: -170px;
	right: min(-130px, 7vw);
	width: min(289px, 15vw);
	height: 237px;
}

#top section#map .map-wrap::after,
#page article#products #map .map-wrap::after {
	background-image: url(../img/top/torezo_cart.webp);
	bottom: -50px;
	left: min(73px, 3.8vw);
	width: min(247px, 13vw);
	height: 197px;
}

#top section#map .map-wrap:hover:after {
	animation: headShake;
	animation-duration: 1s;
}

#top section#map .map-wrap>svg,
#page article#products #map .map-wrap>svg {
	width: 100%;
}

#top section#map .map-wrap:has(a.map-popup.is-visible)>svg,
#page article#products #map .map-wrap:has(a.map-popup.is-visible)>svg {
	opacity: .4;
}

#top section#map .map-popup,
#page article#products #map .map-popup {
	position: absolute;
	display: block;
	opacity: 0;
	pointer-events: none;
	transition: opacity .25s;
	z-index: 10;
}

#top section#map .map-popup.is-visible,
#page article#products #map .map-popup.is-visible {
	opacity: 1;
	pointer-events: auto;
}

#top section#map .map-popup img,
#page article#products #map .map-wrap img {
	display: block;
	width: 190px;
	height: auto;
}

#top section#map .store-slide,
#page article#products #map .store-slide {
	display: none;
}

/** いるま野のサービス **/
#top section#service {
	margin-top: 205px;
	position: relative;
}

#top section#service::after {
	background-image: url(../img/top/kabu.webp);
	top: -240px;
	right: 0;
	width: min(600px, 31vw);
	height: 396px;
	opacity: 0;
}

#top section#service.animate::after {
	animation: fadeIn;
	opacity: 1;
	animation-duration: 1s;
}

#top section#service h2 {
	font-family: "Kaisei Opti", serif;
	font-weight: 400;
	font-style: normal;
	font-size: clamp(3.5rem, 1.789rem + 2.68vw, 5rem);
}

#top section#service .service-btn-wrap {
	margin-top: 64px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: min(58px, 3vw);
}

#top section#service .service-btn a {
	display: flex;
	flex-direction: column;
	align-items: center;
}

#top section#service .service-btn a:hover {
	opacity: 1;
}

#top section#service .service-btn a img {
	width: 180px;
	height: 180px;
}

#top section#service .service-btn .large {
	font-size: 1.875rem;
	line-height: 1.875rem;
	font-weight: 800;
	margin-top: 20px;
	text-align: center;
}

#top section#service .service-btn .small {
	font-weight: 800;
	margin-top: 3px;
}

/** バナースライド **/
#top section#banner {
	margin: 148px 0 67px;
}

#top section#banner ul.swiper-wrapper {
	margin: 0;
	padding: 0;
	list-style: none;
}

#top section#banner .banner_list,
#page>article:has(.in100per.burgundy) .banner_list {
	max-width: min(1247px, 65vw);
	margin: 0 auto;
	position: relative;
}

#top section#banner ul.swiper-wrapper,
#page>article:has(.in100per.burgundy) .banner_list ul.swiper-wrapper {
	margin: 0px;
	padding: 0px;
	gap: 15px;
}

#top section#banner li.swiper-slide,
#page>article:has(.in100per.burgundy) .banner_list li.swiper-slide {
	overflow: hidden;
	max-width: min(300px, 25%);
}

#top section#banner li.swiper-slide img,
#page>article:has(.in100per.burgundy) .banner_list li.swiper-slide img {
	width: 100%;
	max-width: 300px;
	height: 82px;
	object-fit: contain;
	object-position: center;
}

#top section#banner .swiper-button-prev,
#top section#banner .swiper-button-next,
#page>article:has(.in100per.burgundy) .banner_list .swiper-button-prev,
#page>article:has(.in100per.burgundy) .banner_list .swiper-button-next {
	top: var(--swiper-navigation-top-offset, 47%);
}

#top section#banner .swiper-button-prev,
#page>article:has(.in100per.burgundy) .banner_list .swiper-button-prev {
	left: var(--swiper-navigation-sides-offset, -70px);
}

#top section#banner .swiper-button-next,
#page>article:has(.in100per.burgundy) .banner_list .swiper-button-next {
	right: var(--swiper-navigation-sides-offset, -70px);
}

#page>article:has(.in100per.burgundy) .banner_list .swiper-button-next {
	left: auto;
}

/* 下層ページ */
/** 共通 **/
#page article {
	margin-bottom: 154px;
}

#page .breadcrumb {
	background-color: #ffffff;
	display: flex;
	flex-direction: row;
	align-items: center;
	margin: 0;
	padding: 0 0 0 min(120px, 6vw);
	list-style: none;
	height: 54px;
	gap: 17px;
}

#page .breadcrumb li {
	display: inline;
}

#page .breadcrumb li::after {
	content: "＞";
	margin-left: 17px;
}

#page .breadcrumb li:last-child:after {
	content: none;
}

#page .breadcrumb a {
	color: #00A291;
	text-decoration: underline;
	text-underline-offset: 2px;
}

#page article .bg-lightgreen h2 {
	background-color: #91CE35;
	margin-top: -109px;
	border-radius: 0 0 20px 20px;
	color: #ffffff;
	padding: 40px min(111px, 6vw) 14px;
}

#page article #lead.kuwa::after,
#page article #lead.crop::after,
#page article #lead.hands::after,
#page article #lead.suits::after,
#page article #lead.question::after,
#page article h2::before,
#page article h2::after,
#page article .torezo-copyright::after,
#page article .icon-products1 h2::before,
#page article .icon-products1 h2::after,
#page article#products #season .season-wrap::before,
#page article#products #season .season-wrap::after,
#page article .icon-products2 h2::before,
#page article .icon-products2 h2::after,
#page #lead .page-title::after,
#page article .icon-products3 h2::before,
#page article .icon-products3 h2::after,
#page article .icon-products4 h2::before,
#page article .icon-products4 h2::after,
#page article .icon-tore2 h2::before,
#page article .icon-tore2 h2::after,
#page article#kitchen .rank-1::before,
#page article#kitchen .rank-2::before,
#page article#kitchen .rank-3::before,
#page article#kitchen .rank-4::before,
#page article#kitchen .rank-5::before,
#page article#bank .bank-side-wrap a::after,
#page article#bank dialog h4::before,
#page article#bank dialog h4::after,
#page article#chokin dialog h4::before,
#page article#chokin dialog h4::after,
#page article#yushi .utilize::before,
#page article#yushi .utilize::after,
#page article#shisan .utilize::before,
#page article#shisan .utilize::after,
#page article#service .utilize::before,
#page article#service .utilize::after,
#page.loan-page .loan-lead::before,
#page.loan-page .loan-lead::after,
#page article#bank .in1267:has(.bank-slide-wrap) ul::before,
#page article#aid .aid-lead::before,
#page article#aid .aid-lead::after,
#page article#soudankai .consult-lead::before,
#page article#soudankai .consult-lead::after,
#page article#pointcard .about-card::before,
#page article#pointcard .about-card::after,
#page article#staff-only .sect1 .white-box::before,
#page article#staff-only .sect1 .white-box::after,
#page.loan-page .edu-wrap h2::before,
#page.loan-page .edu-wrap h2::after {
	content: "";
	position: absolute;
	background-repeat: no-repeat;
	background-size: contain;
	pointer-events: none;
}

#page article section.b90,
#page article section:has(.b90) {
	margin-bottom: 90px;
}

#page a.btn-green {
	background-color: #00A291;
	border-radius: calc(infinity * 1px);
	color: #ffffff;
	font-size: clamp(0.75rem, 0.629rem + 0.52vw, 1.25rem);
	line-height: clamp(1.125rem, 0.943rem + 0.78vw, 1.875rem);
	white-space: nowrap;
	height: calc(48px - 1px);
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	font-weight: 400;
	padding-bottom: 1px;
}

#page .btn-outer a {
	color: #ffffff;
	border-radius: calc(infinity * 1px);
	display: flex;
	width: 100%;
	justify-content: center;
	margin: 0 auto;
	flex-direction: column;
	align-items: center;
	padding: 9px 1rem 12px;
}

#page .btn-outer span.set {
	text-align: center;
}


#page .btn-outer span.large {
	font-size: clamp(1.125rem, 1.034rem + 0.39vw, 1.5rem);
	line-height: clamp(1.688rem, 1.551rem + 0.58vw, 2.25rem);
}

#page .btn-outer span.sign-outer {
	font-size: clamp(0.688rem, 0.627rem + 0.26vw, 0.938rem);
	line-height: clamp(1.063rem, 0.971rem + 0.39vw, 1.438rem);
	display: flex;
	align-items: center;
	gap: 6px;
}

#page .btn-outer span.sign-outer img {
	margin-top: 3px;
}

#page .capsule-wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 52px;
	justify-content: center;
}

#page .capsule-wrap .cap-box {
	width: calc(608px - 6px);
	height: 217px;
	display: flex;
	border: 3px solid #A8CFCB;
	border-radius: 16px;
	overflow: hidden;
}

#page .capsule-wrap .cap-box>div {
	width: 50%;
}

#page .capsule-wrap .cap-box img {
	height: 100%;
	object-fit: cover;
	object-position: center;
}

#page .capsule-wrap .cap-box .cap-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
	background-color: #ffffff;
}

#page .capsule-wrap .cap-box h3 {
	font-size: clamp(1.25rem, 0.992rem + 1.1vw, 2.313rem);
	line-height: clamp(1.875rem, 1.488rem + 1.65vw, 3.469rem);
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: 60px;
}

#page .capsule-wrap .cap-box h3:has(span.small),
#page .capsule-wrap .cap-box h3.rows {
	margin-top: 40px;
}

#page .capsule-wrap .cap-box h3 span.small {
	font-size: clamp(0.938rem, 0.755rem + 0.78vw, 1.688rem);
	line-height: clamp(0.938rem, 0.755rem + 0.78vw, 1.688rem);
}


#page .capsule-wrap .cap-box .btn-green {
	position: absolute;
	bottom: 25px;
	width: 260px;
}

#page .capsule-wrap .cap-box .btn-green a,
#page>article:has(.in100per.burgundy) .card-wrap .card .btn-green a,
#page>article:has(.in100per.burgundy) .capsule-wrap .btn-green button,
#page>article:has(.in100per.burgundy) .consult .btn-green a,
#page article#yushi .sect1 .capsule-wrap .btn-green a,
#page.loan-page .loan-lead .lead-btns a,
#page.loan-page .wrap2 .btn-green a,
#page article#aid .btn-green a,
#page article#pointcard .benefits .btn-green a,
#page article#chokin_kinri .net-bank .btn-green a,
#page article#ja-service .btn-green a,
#page.tax-fNews .content li .btn-green a,
#page.farmers-page .content li .btn-green a,
#page article#members .content li .btn-green a,
#page article#yakuin .card-wrap .card .btn-green a,
#page article#members .card-wrap .card .btn-green a,
#page article#page-not-found .white-box .btn-green a,
#page.loan-page .loan-item-head button {
	background-color: #00A291;
	border-radius: calc(infinity * 1px);
	color: #ffffff;
	font-size: clamp(0.75rem, 0.629rem + 0.52vw, 1.25rem);
	line-height: clamp(1.125rem, 0.943rem + 0.78vw, 1.875rem);
	white-space: nowrap;
	height: calc(48px - 1px);
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	font-weight: 400;
	padding-bottom: 1px;
	width: 100%;
}


.capsule-wrap .cap-box:has(+ .cap-box.banner-box) {
	height: auto;
}

#page>article:has(.in100per.burgundy) .capsule-wrap .cap-box.banner-box {
	justify-content: center;
	align-items: center;
	height: auto;
	padding: 20px;
}

#page>article:has(.in100per.burgundy) .capsule-wrap .cap-box.banner-box .cap-banner {
	width: 100%;
	display: flex;
	gap: 10px 15px;
	flex-wrap: wrap;
	padding: 10px;
}

#page>article:has(.in100per.burgundy) .capsule-wrap .cap-box.banner-box .cap-banner img {
	width: 100%;
	max-width: 260px;
	height: auto;
	object-fit: initial;
	object-position: initial;
}



/** リード（タイトル部分） **/
#page #lead {
	height: 287px;
	position: relative;
}

#page #lead .page-title {
	position: relative;
}

#page #lead .page-title::after {
	background-image: url(../img/lead/lead-semicircle.svg);
	bottom: -73px;
	left: 50%;
	translate: -50%;
	width: min(380px);
	height: 74px;
	z-index: 0;
}

#page #lead h1 {
	font-size: clamp(1.875rem, 0.164rem + 2.68vw, 3.375rem);
	line-height: clamp(2.813rem, 0.246rem + 4.01vw, 5.063rem);
	background-color: #ffffff;
	text-align: center;
	padding: 30px 0 24px;
	position: relative;
	z-index: 1;
}

#page #lead p {
	font-family: "Libre Bodoni", serif;
	font-optical-sizing: auto;
	font-size: clamp(1.8rem, 1.002rem + 1.25vw, 2.5rem);
	line-height: clamp(2.7rem, 1.445rem + 1.96vw, 3.8rem);
	font-weight: 700;
	font-style: italic;
	position: absolute;
	bottom: -30px;
	left: 50%;
	translate: -50%;
	z-index: 1;
}

/** 下層ページ リード部背景画像 **/
#page article #lead.vege,
#page article #lead.tea,
#page article #lead.vege-illust,
#page article #lead.cherry,
#page article #lead.park,
#page article #lead.sky {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: bottom;
}

#page article #lead.vege {
	background-image: url(../img/lead/lead-vege.webp);
}

#page article #lead.tea {
	background-image: url(../img/lead/lead-tea.webp);
}

#page article #lead.vege-illust {
	background-image: url(../img/lead/lead-vege-illust.webp);
}

#page article #lead.cherry {
	background-image: url(../img/lead/cherry.webp);
}

#page article #lead.park {
	background-image: url(../img/lead/park.webp);
}

#page article #lead.sky {
	background-image: url(../img/lead/sky.webp);
}

/*** リード部とれ蔵 ***/
#page article #lead.kuwa::after {
	background-image: url(../img/lead/tore-kuwa.svg);
	bottom: 0;
	right: 136px;
	width: min(249px);
	height: 175px;
	z-index: 1;
}

#page article #lead.crop::after {
	background-image: url(../img/lead/tore-crop.webp);
	bottom: -18px;
	right: 136px;
	width: min(232px);
	height: 222px;
	z-index: 1;
}

#page article #lead.hands::after {
	background-image: url(../img/lead/tore-hands.svg);
	bottom: 0;
	right: 136px;
	width: min(239px);
	height: 175px;
	z-index: 1;
}

#page article #lead.suits::after {
	background-image: url(../img/lead/tore-suits.svg);
	bottom: 0;
	right: 136px;
	width: min(239px);
	height: 175px;
	z-index: 1;
}

#page article #lead.question::after {
	background-image: url(../img/lead/tore-hatena.webp);
	bottom: 0;
	right: 136px;
	width: min(324px);
	height: 175px;
	z-index: 1;
}

/** 本文（article以下） **/
#page article>section {
	padding-top: 55px;
}

#page article h2,
#page article#bank dialog h4,
#page article#chokin dialog h4 {
	font-size: clamp(2rem, 1.216rem + 1.23vw, 2.688rem);
	font-weight: 800;
	line-height: clamp(3rem, 1.824rem + 1.84vw, 4.031rem);
	text-align: center;
	position: relative;
	width: fit-content;
	margin: 0 auto 38px;
}

#page article h2:has(span.small) {
	display: flex;
	flex-direction: column;
	align-items: center;
}

#page article h2 span.small {
	font-size: clamp(1rem, 0.757rem + 1.04vw, 2rem);
	line-height: clamp(1rem, 0.757rem + 1.04vw, 2rem);
}

/** 金融系ページ共通 **/
#page>article:has(.in100per.burgundy) h1,
#page>article:has(.in100per.burgundy) h2,
#page>article:has(.in100per.burgundy) .page-title p,
#page>article:has(.in100per.burgundy) .breadcrumb li:last-child,
#page>article:has(.in100per.burgundy) .breadcrumb li::after,
#page>article:has(.in100per.burgundy) .capsule-wrap .cap-box h3,
#page>article:has(.in100per.burgundy) .card-wrap .card h3,
#page article#bank dialog h4,
#page article#chokin dialog h4,
#page article#chokin dialog h5 {
	color: #981A45;
}

#page>article:has(.in100per.burgundy) .capsule-wrap {
	gap: 30px 52px;
	margin-bottom: 107px;
}

#page>article:has(.in100per.burgundy) .capsule-wrap .cap-box,
#page>article:has(.in100per.burgundy) .card-wrap .card {
	border: 3px solid #E5B3C4;
	background-color: #ffffff;
}

#page>article:has(.in100per.burgundy) .capsule-wrap .cap-box h3,
#page>article:has(.in100per.burgundy) .card-wrap .card h3,
#page article#yakuin .card-wrap .card h3,
#page article#members .card-wrap .card h3 {
	font-size: clamp(1.063rem, 0.865rem + 0.84vw, 1.875rem);
	line-height: clamp(1.625rem, 1.337rem + 1.23vw, 2.813rem);
	text-align: center;
}

#page>article:has(.in100per.burgundy) .capsule-wrap .cap-box h3 span.small {
	font-size: clamp(0.875rem, 0.784rem + 0.39vw, 1.25rem);
	line-height: clamp(1.313rem, 1.176rem + 0.58vw, 1.875rem);
}

#page>article:has(.in100per.burgundy) .card-wrap .card,
#page article#yakuin .card-wrap .card,
#page article#members .card-wrap .card {
	width: 100%;
	max-width: 394px;
	border-radius: 16px;
	padding: 21px min(67px, 3.5vw) 27px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

#page>article:has(.in100per.burgundy):has(section#banner) {
	margin-bottom: 94px;
}

/** いるま野について系ページ共通 **/
#page>article:has(.in100per.ultramarine) h1,
#page>article:has(.in100per.ultramarine) h2,
#page>article:has(.in100per.ultramarine) .page-title p,
#page>article:has(.in100per.ultramarine) .breadcrumb li:last-child,
#page>article:has(.in100per.ultramarine) .breadcrumb li::after {
	color: #3A45A5;
}

/*** JAいるま野の直売所 ***/
#page section:has(.market-information)>p,
#page section:has(.market-information)>div>p {
	text-align: center;
	font-size: clamp(1rem, 0.879rem + 0.52vw, 1.5rem);
	line-height: clamp(1.5rem, 1.318rem + 0.78vw, 2.25rem);
	margin-bottom: 40px;
}

#page section .market-information .market-wrap {
	display: grid;
	grid-template-columns: repeat(auto-fit, 240px);
	gap: 24px 16px;
	justify-content: center;
}

#page section .market-information .market-thumb {
	background-color: #ffffff;
	border-radius: 16px;
	overflow: hidden;
	border: 3px solid #A8CFCB;
	height: 198px;
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 2;
	width: 100%;
	gap: 0;
	position: relative;
}

#page section .market-information .market-thumb img {
	width: 100%;
	height: 120px;
	object-fit: cover;
	object-position: center;
}

#page section .market-information .market-thumb h3 {
	height: calc(78px - 12px);
	display: flex;
	justify-content: center;
	margin-top: 12px;
	font-size: clamp(0.875rem, 0.784rem + 0.39vw, 1.25rem);
	line-height: clamp(1.313rem, 1.176rem + 0.58vw, 1.875rem);
	font-weight: 400;
}

#page section .market-information .market-thumb::after {
	bottom: 12px;
	right: 11px;
	width: 14px;
	height: 14px;
}

/*** 食材から探す ***/
#page section:has(.index-wrap) {
	padding-bottom: 325px;
	margin-bottom: 95px;
	background-image: url(../img/kitchen/bg-index.webp);
	background-repeat: no-repeat;
	background-position: bottom;
	background-size: contain;
}

#page section:has(.index-wrap)>div {
	background-color: rgb(255 255 255 / 0.8);
	border-radius: 20px;
	padding: 0 15px 30px;
	backdrop-filter: blur(5px);
}

#page section .index-wrap {
	display: flex;
	justify-content: center;
	gap: min(20px, 1vw);
}

#page section .index-wrap .yomi-box {
	display: flex;
	flex-grow: 1;
	flex-direction: column;
	align-items: center;
	gap: 14px;
}

#page section .index-wrap .yomi-box h3 {
	background-color: #83B832;
	border-radius: 6px;
	color: #ffffff;
	font-size: clamp(1.188rem, 1.066rem + 0.52vw, 1.688rem);
	line-height: clamp(1.188rem, 1.066rem + 0.52vw, 1.688rem);
	padding: 11px 0 12px;
	text-align: center;
	width: 100%;
}

#page section .index-wrap .yomi-box a {
	font-size: clamp(0.813rem, 0.456rem + 0.56vw, 1.125rem);
	line-height: clamp(1.219rem, 0.684rem + 0.84vw, 1.688rem);
	text-decoration: underline;
	text-underline-offset: 2px;
}

/*** h2左右のアイコン ***/
/**** とれ蔵 ****/
#page article .icon-torezo h2::before,
#page article#bank dialog h4::before,
#page article#chokin dialog h4::before,
#page.loan-page .edu-wrap h2::before {
	background-image: url(../img/title-toreL.webp);
	top: 0;
	left: -88px;
	width: min(80px);
	height: 55px;
	transform: rotate(-10deg);
}

#page article .icon-torezo h2::after,
#page article#bank dialog h4::after,
#page article#chokin dialog h4::after,
#page.loan-page .edu-wrap h2::after {
	background-image: url(../img/title-toreR.webp);
	top: 1px;
	right: -90px;
	width: min(80px);
	height: 56px;
	transform: rotate(10deg);
}

#page article .torezo-copyright {
	position: relative;
	width: fit-content;
	margin: 0 auto;
}

#page article .torezo-copyright::after {
	background-image: url(../img/torezo-copy.svg);
	top: 25px;
	right: -175px;
	width: min(65px);
	height: 12px;
}

/**** とれ蔵・とれ美 ****/
#page article .icon-tore2 h2::before {
	background-image: url(../img/title-toreL.webp);
	top: 0;
	left: -88px;
	width: min(80px);
	height: 55px;
	transform: rotate(-10deg);
}

#page article .icon-tore2 h2::after {
	background-image: url(../img/top/deco-toremi.webp);
	top: 0;
	right: -90px;
	width: min(80px);
	height: 65px;
}

/**** ほうれん草とゆず（白） ****/
#page article .icon-products1 h2::before {
	background-image: url(../img/spinach2.svg);
	bottom: 5px;
	left: min(30px, 1.6vw);
	width: min(55px, 3vw);
	height: min(97px, 5vw);
	transform: rotate(-26deg);
}

#page article .icon-products1 h2::after {
	background-image: url(../img/yuzu2.svg);
	bottom: 28px;
	right: min(33px, 1.7vw);
	width: min(60px, 3vw);
	height: min(42px, 2vw);
	transform: rotate(33deg);
}

/**** 里芋と枝豆 ****/
#page article .icon-products2 h2::before {
	background-image: url(../img/taro.svg);
	top: 10px;
	left: min(-4.7vw);
	width: min(69px, 3.6vw);
	height: min(67px, 3.5vw);
	transform: rotate(-17deg);
}

#page article .icon-products2 h2::after {
	background-image: url(../img/edamame.svg);
	top: -5px;
	right: min(-4.5vw);
	width: min(66px, 3.4vw);
	height: min(76px, 4vw);
	transform: rotate(10deg);
}

/**** ゆずと栗 ****/
#page article .icon-products3 h2::before {
	background-image: url(../img/yuzu.svg);
	top: 17px;
	left: min(-6.3vw);
	width: min(92px, 5vw);
	height: min(65px, 3.4vw);
	transform: rotate(1deg);
}

#page article .icon-products3 h2::after {
	background-image: url(../img/maron.svg);
	top: 9px;
	right: min(-6.3vw);
	width: min(86px, 4.5vw);
	height: min(76px, 4vw);
}

/**** ほうれん草とにんじん ****/
#page article .icon-products4 h2::before {
	background-image: url(../img/spinach.svg);
	top: -29px;
	left: min(-6vw);
	width: min(73px, 4vw);
	height: min(128px, 6.6vw);
	transform: rotate(-21deg);
}

#page article .icon-products4 h2::after {
	background-image: url(../img/carrot.svg);
	top: -50px;
	right: min(-5.7vw);
	width: min(45px, 2.3vw);
	height: min(169px, 9vw);
	transform: rotate(40deg);
}

/** シンプルなダイアログ **/
html:has(#page dialog).is-modal-open header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 11;
}

html:has(#page dialog) {
	scrollbar-gutter: stable;
}

#page dialog#dialogBody {
	width: min(1267px, 66vw);
	max-height: calc(100svh - 160px);
	overflow: hidden;
	border: 3px solid #E5B3C4;
	border-radius: 16px;
	padding: 0;
	opacity: 0;
	transition: opacity .3s;
}

#page dialog#dialogBody.is-active {
	opacity: 1;
}

#page dialog>div {
	overflow: auto;
	max-height: calc(100svh - 160px);
	padding: 32px min(152px, 8vw);
}

#page dialog#dialogBody::backdrop {
	background: rgba(255, 255, 255, .8);
	opacity: 0;
	transition: opacity .3s;
}

#page dialog#dialogBody.is-active::backdrop {
	opacity: 1;
}

/** いるま野の農産物と特産品 **/
/*** 旬の農産物 ***/
#page article#products #season {
	padding-bottom: 180px;
}

#page article#products #season .season-wrap {
	width: 100%;
	max-width: 989px;
	margin: 57px auto 0;
	position: relative;
}

#page article#products #season .season-wrap::before {
	background-image: url(../img/tore-slide.svg);
	bottom: -30px;
	left: -83px;
	width: min(124px);
	height: min(121px);
	z-index: 2;
}

#page article#products #season .season-wrap::after {
	background-image: url(../img/toremi.svg);
	bottom: -29px;
	right: -74px;
	width: min(108px);
	height: min(127px);
	z-index: 2;
}

#page article#products #season #swiper7 ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

#page article#products #season #swiper7 li {
	height: auto;
}

#page article#products #season .season-body {
	border: 5px solid #91CE35;
	border-radius: 12px;
	background-color: #ffffff;
	display: flex;
	align-items: center;
	padding: 37px min(50px, 3vw) 47px;
	gap: min(26px, 1.4vw);
	justify-content: center;
	height: 100%;
}

#page article#products #season .season-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: min(409px, 21vw);
}

#page article#products #season .season-title {
	margin-bottom: 20px;
}

#page article#products #season .season-body h3,
#page article#products #season .season-body p.eng {
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 800;
	text-align: center;
}

#page article#products #season .season-body h3 {
	font-size: clamp(2.375rem, 2.019rem + 0.56vw, 2.688rem);
	line-height: clamp(3.563rem, 3.028rem + 0.84vw, 4.031rem);
}

#page article#products #season .season-body p.eng {
	font-size: 1.5rem;
	line-height: 2.25rem;
}

#page article#products #season .season-content>p {
	background-image: linear-gradient(to right, #000000 2px, transparent 2px);
	background-size: 6px 2px;
	background-repeat: repeat-x;
	background-position: top;
	padding: 21px 20px 26px;
}

#page article#products #season .btn-green {
	width: min(274px, 14vw);
}

#page article#products .season-wrap .swiper-button-prev,
#page article#products .season-wrap .swiper-button-next {
	top: 48%;
}

#page article#products .season-wrap:not(:has(ul li:nth-child(n+2))) .swiper-button-prev,
#page article#products .season-wrap:not(:has(ul li:nth-child(n+2))) .swiper-button-next {
	display: none;
}

#page article#products .season-wrap .swiper-button-prev {
	left: -17px;
}

#page article#products .season-wrap .swiper-button-next {
	right: -17px;
	left: unset;
}

/*** いるま野管内の農産物 ***/
#page article#products #in-area>div {
	position: relative;
	padding-bottom: 72px;
}

#page article#products #in-area>div::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 100%;
	background: linear-gradient(rgba(241, 234, 216, 0) 50%, #F1EAD8 87%);
	opacity: 1;
	transition: opacity .4s ease;
	pointer-events: none;
}

#page article#products #in-area>div:has(.products-wrap.active)::after {
	opacity: 0;
}

#page article#products #in-area>div:has(.products-wrap.active) {
	padding-bottom: 250px;
}

#page article#products #in-area .products-wrap {
	margin-top: 61px;
}

#page article#products #in-area .products-body {
	display: grid;
	grid-template-columns: repeat(auto-fit, 404px);
	justify-content: center;
	gap: 52px 27px;
}

#page article#products #in-area .products-card {
	background-color: #ffffff;
	border-radius: 20px;
	padding: 28px min(52px, 2.7vw) 60px;
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 6;
	gap: 0;
}

#page article#products #in-area .products-card img {
	height: 100%;
	object-fit: contain;
	object-position: center;
}

#page article#products #in-area .products-card h3 {
	font-size: clamp(1.125rem, 0.806rem + 1.36vw, 2.438rem);
	line-height: clamp(1.688rem, 1.21rem + 2.04vw, 3.656rem);
	margin: 14px 0 17px;
	text-align: center;
}

#page article#products #in-area .product-info {
	margin-bottom: 22px;
}

#page article#products #in-area .product-info:last-child {
	margin-bottom: 0;
}

#page article#products #in-area h4 {
	background-color: #83B832;
	border-radius: 6px;
	color: #ffffff;
	font-size: clamp(0.875rem, 0.814rem + 0.26vw, 1.125rem);
	line-height: clamp(1.313rem, 1.221rem + 0.39vw, 1.688rem);
	text-align: center;
	margin: 0 auto;
	padding: 2px 0 3px;
	width: calc(100% - 20px);
}

#page article#products #in-area p {
	width: calc(100% - 60px);
	margin: 4px auto 0;
	font-size: clamp(0.875rem, 0.784rem + 0.39vw, 1.25rem);
	line-height: clamp(1.313rem, 1.176rem + 0.58vw, 1.875rem);
}

#page article#products #in-area .products-card>div:has(.btn-green) {
	margin-top: 41px;
	width: 100%;
}

/**** 開閉アコーディオン ****/
#page article#products #in-area .products-wrap {
	position: relative;
	height: 1400px;
	overflow: hidden;
	transition: max-height .6s ease;
}

#page article#products #in-area .products-wrap.active {
	height: 100%;
	overflow: visible;
}

#page article#products #in-area .products-wrap button {
	position: absolute;
	bottom: 0;
	left: 50%;
	translate: -50%;
	border: 4px solid #00A291;
	border-radius: calc(infinity * 1px);
	background-color: #ffffff;
	color: #00A291;
	font-size: clamp(1rem, 0.803rem + 0.84vw, 1.813rem);
	line-height: clamp(1.5rem, 1.204rem + 1.26vw, 2.719rem);
	width: min(444px, 23vw);
	height: 102px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding-top: 15px;
	z-index: 1;
}

#page article#products #in-area .products-wrap.active button {
	flex-direction: column-reverse;
	padding: 15px 0;
	bottom: -180px;
}

#page article#products #in-area .products-wrap button img {
	transition: transform .1s ease;
	width: min(66px, 3.3vw);
}

#page article#products #in-area .products-wrap.active button img {
	transform: rotateX(180deg);
}

/*** おいしい青果物MAP ***/
#page article#products #map {
	margin: 50px 0 100px;
}

/*** 直売所・採れたて本舗 ***/
#page article#products #store {
	padding-bottom: 25px;
}

/** 農産物個別記事 **/
#page.single.products-page section {
	padding-right: 100px;
	padding-left: 100px;
	padding-bottom: 90px;
}

/*** 農産物情報 ***/
#page.products-page .pro-inner:not(.icon-products3) {
	background-color: #ffffff;
	border-radius: 20px;
	padding: 21px min(60px, 3vw) 60px;
}

#page.products-page .pro1 {
	display: flex;
	align-items: center;
	gap: 30px;
	margin-bottom: 20px;
}

#page.products-page .pro1>img {
	width: 45%;
}

#page.products-page .pro1>div {
	width: 55%;
}

#page.products-page .pro1 h3 {
	font-size: clamp(1.5rem, 1.197rem + 1.29vw, 2.75rem);
	line-height: clamp(2.25rem, 1.795rem + 1.94vw, 4.125rem);
	text-align: center;
	background-image: linear-gradient(to right, #000000 2px, transparent 2px);
	background-size: 6px 2px;
	background-repeat: repeat-x;
	background-position: bottom;
	padding-bottom: 15px;
}

#page.products-page .pro1 p:not(.pro-area) {
	background-image: linear-gradient(to right, #000000 2px, transparent 2px);
	background-size: 6px 2px;
	background-repeat: repeat-x;
	background-position: bottom;
	padding: 20px 10px 25px;
}

#page.products-page .pro1 .product-info {
	display: flex;
	align-items: center;
	padding: 0 13px;
	gap: 16px;
	margin-top: 25px;
}

#page.products-page .pro1 h4,
#page.products-page .pro2 h4:not(.no-bg),
#page.recipe-page .recipe-info h3,
#page article#vegetables .vege-inner h4,
#page article#bank dialog h5 {
	font-size: clamp(1.125rem, 1.079rem + 0.19vw, 1.313rem);
	line-height: clamp(1.125rem, 1.079rem + 0.19vw, 1.313rem);
	background-color: #83B832;
	color: #ffffff;
	border-radius: 6px;
	height: 41px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-bottom: 1px;
}

#page.products-page .pro1 h4 {
	width: 152px;
}

#page.products-page .pro2 h4:not(.no-bg),
#page article#vegetables .vege-inner h4 {
	margin-bottom: 14px;
}

#page.products-page .pro2 .pro-btns {
	display: flex;
	justify-content: center;
	gap: 30px;
	flex-wrap: wrap;
	margin-bottom: 42px;
}

#page.products-page .pro2 .btn-green,
#page article#vegetables .s-vege-card .btn-green,
#page article#vegetables .seasonal-recipe .btn-green {
	background-color: #ffffff;
	color: #00A291;
	border: 3px solid;
	width: 388px;
}

#page.products-page .pro2 .btn-green.is-disabled,
#page.recipe-page .btn-green.is-disabled {
	opacity: 0.5;
	pointer-events: none;
}

#page.products-page .pro2 .pro-seasons {
	display: flex;
	justify-content: center;
	gap: 27px;
	margin-bottom: 45px;
}

#page.products-page .pro2 .pro-seasons>div {
	width: 50%;
}

#page.products-page .pro2 table,
#page article#vegetables .s-vege-card table {
	display: flex;
	padding: 0 18px;
}

#page.products-page .pro2 table tbody,
#page article#vegetables .s-vege-card table tbody {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	width: 100%;
	justify-content: space-between;
}

#page.products-page .pro2 table tr,
#page article#vegetables .s-vege-card table tr {
	display: flex;
	flex-direction: column;
	align-items: center;
	background-color: #ECECEC;
	border-radius: 6px;
	overflow: hidden;
	width: 40px;
}

#page.products-page .pro2 table th,
#page article#vegetables .s-vege-card table th {
	height: 33px;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 800;
}

#page.products-page .pro2 table tr:nth-child(n+1):nth-child(-n+3) th,
#page article#vegetables .s-vege-card table tr:nth-child(n+1):nth-child(-n+3) th {
	background-color: #D2F2DF;
}

#page.products-page .pro2 table tr:nth-child(n+4):nth-child(-n+6) th,
#page article#vegetables .s-vege-card table tr:nth-child(n+4):nth-child(-n+6) th {
	background-color: #ECEEB6;
}

#page.products-page .pro2 table tr:nth-child(n+7):nth-child(-n+9) th,
#page article#vegetables .s-vege-card table tr:nth-child(n+7):nth-child(-n+9) th {
	background-color: #CDEEA7;
}

#page.products-page .pro2 table tr:nth-child(n+10):nth-child(-n+12) th,
#page article#vegetables .s-vege-card table tr:nth-child(n+10):nth-child(-n+12) th {
	background-color: #D2E8F2;
}

#page.products-page .pro2 table td,
#page article#vegetables .s-vege-card table td {
	height: 45px;
	display: flex;
	justify-content: center;
	align-items: center;
}

#page.products-page .pro-check {
	border: 5px solid #83B832;
	border-radius: 16px;
	padding: 25px min(48px, 2.5vw) 28px min(67px, 3.5vw);
	display: flex;
	gap: miN(61px, 3vw);
}

#page.products-page .check-deco {
	display: flex;
	align-items: center;
	gap: 15px;
	width: 100%;
	max-width: 244px;
}

/*** この食材のレシピ ***/
#page.products-page .pro-inner.icon-products3 {
	margin-top: 67px;
}

#page.products-page article .icon-products3 h2::before {
	top: 0;
}

#page.products-page article .icon-products3 h2::after {
	top: -6px;
}

#page.products-page .products-recipe,
#page article#kitchen .seasonal-recipe .recipe-wrap,
#page article#kitchen .season-vege-wrap,
#page.tax-recipe article .recipe-wrap,
#page article#season .recipe-wrap,
#page article#favorite .recipe-wrap,
#page article#vegetables .recipe-wrap {
	display: grid;
	grid-template-columns: repeat(auto-fit, 300px);
	gap: 22px;
	justify-content: center;
}

#page.products-page .recipe-content,
#page article#kitchen .seasonal-recipe .recipe-card,
#page article#kitchen .season-vege-wrap .s-vege-card,
#page.tax-recipe article .recipe-card,
#page article#season .recipe-card,
#page article#favorite .recipe-card,
#page article#vegetables .recipe-card {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 2;
	width: 100%;
	background-color: #ffffff;
	border-radius: 20px;
	padding: 28px 22px;
	gap: 11px;
}

#page.products-page .recipe-content img,
#page article#kitchen .seasonal-recipe .recipe-card img,
#page article#kitchen .season-vege-wrap .s-vege-card img,
#page.tax-recipe article .recipe-card img,
#page article#season .recipe-card img,
#page article#favorite .recipe-card img,
#page article#vegetables .recipe-card img {
	width: 100%;
	height: 224px;
	object-fit: cover;
	object-position: center;
}

#page.products-page .recipe-content h3,
#page article#kitchen .seasonal-recipe .recipe-card h3,
#page article#kitchen .season-vege-wrap .s-vege-card h3,
#page.tax-recipe article .recipe-card h3,
#page article#season .recipe-card h3,
#page article#favorite .recipe-card h3,
#page article#vegetables .recipe-card h3 {
	font-size: clamp(1rem, 0.863rem + 0.58vw, 1.563rem);
	line-height: clamp(1.5rem, 1.288rem + 0.91vw, 2.375rem);
	font-weight: 400;
	text-align: center;
}

#page.products-page .recipe-content a:has(h3),
#page article#kitchen .seasonal-recipe .recipe-card a:has(h3),
#page article#kitchen .season-vege-wrap .s-vege-card a:has(h3),
#page.tax-recipe article .recipe-card a:has(h3),
#page article#season .recipe-card a:has(h3),
#page article#favorite .recipe-card a:has(h3),
#page article#vegetables .recipe-card a:has(h3) {
	display: flex;
	align-items: center;
	justify-content: center;
}

/** 採れたて本舗 **/
#page article#netshop section {
	padding-right: 100px;
	padding-left: 100px;
}

#page article#netshop #tore-rice,
#page article#netshop #tore-tea {
	padding-bottom: 50px;
}

#page article#netshop .toretate-lead {
	background-color: #ffffff;
	border-radius: 20px;
}

/*** お米 ***/
#page article#netshop .tore-rice .toretate-lead {
	padding: 30px min(210px, 11vw) 50px;
}

#page article#netshop .tore-rice .toretate-lead>p {
	margin-bottom: 32px;
}

#page article#netshop .btn-outer a {
	background-color: #CE2222;
	max-width: calc(600px - 2rem);
}

#page article#netshop .rice-lead,
#page article#netshop .tea-lead {
	position: relative;
}

#page article#netshop .rice-lead .deco1 {
	position: absolute;
	top: 30px;
	left: -60px;
	width: min(213px, 11vw);
}

#page article#netshop .rice-lead .deco2 {
	position: absolute;
	top: 24px;
	right: -54px;
	width: min(218px, 11vw);
}

#page article#netshop .notice-rakuten {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
	justify-content: center;
	margin: 20px auto 30px;
}

#page article#netshop .label-rakuten {
	display: flex;
	align-items: center;
	gap: 11px;
}

#page article#netshop .icon-rakuten,
#page article#netshop .tore-card.rakuten::before {
	background-color: #CE2222;
	border-radius: 6px;
	color: #ffffff;
	width: fit-content;
	font-size: clamp(0.875rem, 0.814rem + 0.26vw, 1.125rem);
	line-height: clamp(0.875rem, 0.814rem + 0.26vw, 1.125rem);
	font-weight: 800;
	width: 88px;
	height: 36px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-bottom: 2px;
	z-index: 1;
}

#page article#netshop .tore-wrap {
	display: grid;
	grid-template-columns: repeat(auto-fit, 300px);
	gap: 22px;
	overflow: hidden;
	justify-content: center;
}

#page article#netshop #toretate-season .tore-wrap {
	grid-template-columns: repeat(auto-fit, 404px);
	gap: 27px;
	margin-bottom: 36px;
}

#page article#netshop .tore-card {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 2;
	width: 100%;
	background-color: #ffffff;
	border-radius: 20px;
	padding: 17px 20px 32px;
	gap: 24px;
	justify-items: center;
	position: relative;
}

#page article#netshop #toretate-season .tore-card {
	grid-row: span 3;
	padding: 17px 20px 32px;
	gap: 0;
}

#page article#netshop .tore-card.rakuten::before {
	content: "楽天";
	position: absolute;
	top: 16px;
	left: 19px;
}

#page article#netshop .tore-card img {
	width: 100%;
	height: 210px;
	margin: 0 auto;
	object-fit: contain;
	object-position: center;
}

#page article#netshop .tore-card h3 {
	font-size: clamp(0.875rem, 0.754rem + 0.52vw, 1.375rem);
	line-height: clamp(1.313rem, 1.13rem + 0.78vw, 2.063rem);
	font-weight: 400;
}

#page article#netshop #toretate-season .tore-card h3 {
	font-size: clamp(1.125rem, 0.806rem + 1.36vw, 2.438rem);
	line-height: clamp(1.688rem, 1.202rem + 2.07vw, 3.688rem);
	font-weight: 800;
}

/*** 狭山茶 ***/
#page article#netshop #tore-tea .toretate-lead {
	padding: 34px min(81px, 4vw) 27px min(343px, 18vw);
	margin-bottom: 40px;
}

#page article#netshop #tore-tea a.btn-green,
#page article#kitchen #this-month .thisMonth-wrap .btn-green,
#page article#kitchen .seasonal-movie .btn-green,
#page.recipe-page .btns .btn-green,
#page.recipe-page .fav-wrap button,
#page.recipe-page .fav-wrap a {
	width: 100%;
	max-width: 260px;
	margin: 10px 0 0 auto;
	height: calc(48px - 7px);
}

#page article#netshop .tea-lead .deco1 {
	position: absolute;
	top: -14px;
	left: min(49px, 2.5vw);
	width: min(253px, 13vw);
}

#page article#netshop .tore-card.tore-tea {
	background-color: transparent;
	display: flex;
	justify-content: center;
	align-items: center;
}

/*** 季節販売商品 ***/
#page article#netshop #toretate-season {
	padding-bottom: 132px;
}

#page article#netshop #toretate-season .tore-card img {
	margin-bottom: 13px;
}

#page article#netshop #toretate-season .tore-card h3 {
	text-align: center;
}

#page article#netshop #toretate-season .tore-card p {
	font-size: clamp(0.875rem, 0.784rem + 0.39vw, 1.25rem);
	line-height: clamp(1.313rem, 1.176rem + 0.58vw, 1.875rem);
	text-align: center;
}

#page article#netshop #toretate-season .btn-outer p {
	display: block;
	width: fit-content;
	margin: 0 auto 15px;
	padding: 0 13px;
}

/** とれ蔵キッチン **/
#page article#kitchen>section {
	padding-right: 100px;
	padding-left: 100px;
}

/*** 今月のレシピ ***/
#page article#kitchen #this-month {
	margin-top: 124px;
	padding-top: 0;
}

#page article#kitchen #this-month .bg-lightgreen h2 {
	margin-top: -178px;
	position: absolute;
	left: 50%;
	translate: -50%;
}

#page article#kitchen #this-month .thisMonth-wrap {
	padding-top: 62px;
	padding-bottom: 73px;
	position: relative;
	z-index: 1;
}

#page article#kitchen #this-month .thisMonth1 {
	display: flex;
	justify-content: center;
	gap: min(46px, 3vw);
	align-items: center;
}

#page article#kitchen #this-month .month-recipe {
	background-color: #ffffff;
	border-radius: 20px;
	padding: 22px min(25px, 1.3vw) 17px;
	max-width: min(884px);
}

#page article#kitchen #this-month .m-recipe-wrap {
	display: flex;
	gap: 20px;
	background-image: linear-gradient(to right, #000000 2px, transparent 2px);
	background-size: 6px 2px;
	background-repeat: repeat-x;
	background-position: bottom;
	padding-bottom: 22px;
}

#page article#kitchen #this-month .recipe-thumb {
	width: 50%;
}

#page article#kitchen #this-month .recipe-thumb img {
	width: auto;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

#page article#kitchen #this-month .recipe-content {
	display: flex;
	flex-direction: column;
	gap: 21px;
	width: 50%;
}

#page article#kitchen #this-month .month-recipe .recipe-content h3 {
	font-size: clamp(1.5rem, 1.394rem + 0.45vw, 1.938rem);
	line-height: clamp(2.25rem, 2.091rem + 0.68vw, 2.906rem);
	font-weight: 800;
	background-image: linear-gradient(to right, #000000 2px, transparent 2px);
	background-size: 6px 2px;
	background-repeat: repeat-x;
	background-position: bottom;
	padding: 0 22px 12px;
}

#page article#kitchen #this-month .recipe-content p {
	padding: 0 20px;
}

#page article#kitchen #this-month .monthly-recipe-btn {
	display: flex;
	justify-content: center;
	gap: 11px;
	padding: 0 7px;
}

#page article#kitchen #this-month .monthly-recipe-btn a {
	width: 200px;
	gap: 14px;
}

#page article#kitchen #this-month .monthly-recipe-btn img,
#page article#kitchen .seasonal-movie .btn-green img {
	width: clamp(0.563rem, 0.456rem + 0.45vw, 1rem);
	height: clamp(0.563rem, 0.456rem + 0.45vw, 1rem);
	padding-top: 2px;
}

#page article#kitchen #this-month .m-recipe-info {
	padding: 12px 15px 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#page article#kitchen #this-month .m-recipe-info .date {
	font-size: 12px;
	line-height: 18px;
}

#page article#kitchen #this-month .thisMonth2 {
	grid-template-columns: repeat(auto-fit, 281px);
	gap: 60px 32px;
	max-width: unset;
	justify-content: center;
	margin-top: 78px;
}

#page article#kitchen #this-month .thisMonth2 .recipe-content {
	padding: 19px 13px 11px;
	gap: 11px;
}

#page article#kitchen #this-month .thisMonth2 .recipe-thumb {
	width: 100%;
}

#page article#kitchen #this-month .thisMonth2 .recipe-content img {
	width: auto;
	height: 224px;
}

#page article#kitchen #this-month .thisMonth2 .recipe-content h3 {
	font-size: clamp(1.25rem, 1.174rem + 0.32vw, 1.563rem);
	line-height: clamp(1.875rem, 1.761rem + 0.49vw, 2.344rem);
	font-weight: 400;
	text-align: center;
}

#page article#kitchen #this-month .thisMonth-wrap .btn-green {
	max-width: 378px;
	margin: 52px auto 0;
}

/*** 動画・旬のレシピ ***/
#page article#kitchen .seasonal-movie {
	width: 100%;
	max-width: 851px;
	background-color: #ffffff;
	border-radius: 20px;
	padding: 35px;
	margin: 0 auto 100px;
}

#page article#kitchen .seasonal-movie iframe {
	width: 100%;
	aspect-ratio: 64 / 36;
}

#page article#kitchen .seasonal-movie .btn-green,
#page.tax-recipe article>section .btn-green,
#page article#season .seasonal-wrap .btn-green,
#page article#favorite>section .btn-green,
#page.recipe-page .btns .btn-green,
#page.recipe-page .fav-wrap button,
#page.recipe-page .fav-wrap a {
	max-width: 396px;
	margin: 28px auto 0;
	display: flex;
	gap: 11px;
	color: #00A291;
	border: 3px solid;
	background-color: #ffffff;
}

#page article#kitchen .seasonal-recipe .recipe-wrap {
	padding-bottom: 116px;
}

#page article#kitchen .seasonal-recipe.icon-products3 h2::before,
#page article#kitchen .seasonal-recipe.icon-products3 h2::after,
#page article#season .seasonal-recipe.icon-products3 h2::before,
#page article#season .seasonal-recipe.icon-products3 h2::after,
#page article#vegetables .seasonal-recipe.icon-products3 h2::before,
#page article#vegetables .seasonal-recipe.icon-products3 h2::after {
	top: 0;
}

#page article#kitchen .seasonal-recipe .btn-green,
#page article#kitchen .rank-top .btn-green,
#page article#kitchen section:has(.season-vege-wrap) .btn-green {
	max-width: 260px;
	margin: 0 auto 50px;
}

#page article#kitchen .seasonal-recipe .recipe-card,
#page article#vegetables .recipe-card {
	width: auto;
	margin-bottom: 0;
}

/*** 旬の野菜 ***/
#page article#kitchen section:has(.season-vege-wrap) .in1267 {
	padding-bottom: 124px;
}

#page article#kitchen .season-vege-wrap {
	margin-top: 62px;
	padding-bottom: 60px;
}

#page article#kitchen .season-vege-wrap .s-vege-card {
	border: 3px solid #91CE35;
	width: calc(100% - 6px);
	gap: 16px;
}

/*** 月間人気レシピランキング ***/
#page article#kitchen section:has(.ranking-wrap) {
	padding-bottom: 117px;
}

#page article#kitchen .ranking-wrap {
	background-color: #ffffff;
	border-radius: 20px;
	padding: 48px min(44px, 2.3vw);
	display: flex;
	gap: min(52px, 2.7vw);
	box-shadow: 10px 10px 10px 0px rgba(0, 0, 0, .1);
}

#page article#kitchen .ranking-wrap article {
	margin-bottom: 0;
}

#page article#kitchen .ranking-wrap h3 {
	text-align: center;
}

/**** 1位 ****/
#page article#kitchen .rank-top {
	width: 43%;
}

#page article#kitchen .rank-top .imgwrap {
	margin-bottom: 18px;
}

#page article#kitchen .rank-top img {
	width: 100%;
	aspect-ratio: 24 / 17;
}

#page article#kitchen .rank-top h3 {
	font-size: clamp(1.5rem, 1.394rem + 0.45vw, 1.938rem);
	line-height: clamp(2.25rem, 2.091rem + 0.68vw, 2.906rem);
	font-weight: 800;
	margin-bottom: 9px;
}

#page article#kitchen .rank-top p {
	padding: 0 min(37px, 2vw);
	width: fit-content;
	margin: 0 auto 27px;
}

#page article#kitchen .rank-top .btn-green {
	margin: 0 auto;
}

/**** 2位以降 ****/
#page article#kitchen .rank-other {
	display: flex;
	flex-direction: column;
	width: 57%;
}

#page article#kitchen .rank-other article {
	max-width: 306px;
}

#page article#kitchen .rank-other article img {
	width: 100%;
	aspect-ratio: 153 / 110;
	object-fit: cover;
	object-position: center;
	margin-bottom: 21px;
}

#page article#kitchen .rank-other h3 {
	font-size: clamp(1.313rem, 1.252rem + 0.26vw, 1.563rem);
	line-height: clamp(1.969rem, 1.878rem + 0.39vw, 2.344rem);
	font-weight: 400;
}

#page article#kitchen .rank-middle,
#page article#kitchen .rank-bottom {
	display: flex;
	gap: min(28px, 1.5vw);
}

/***** 2～3位 *****/
#page article#kitchen .rank-middle {
	background-image: linear-gradient(to right, #000000 2px, transparent 2px);
	background-size: 6px 2px;
	background-repeat: repeat-x;
	background-position: bottom;
	margin-bottom: 30px;
}

#page article#kitchen .rank-middle article {
	padding-bottom: 44px;
}

/***** メダル *****/
#page article#kitchen .rank-1,
#page article#kitchen .rank-2,
#page article#kitchen .rank-3,
#page article#kitchen .rank-4,
#page article#kitchen .rank-5 {
	position: relative;
}

#page article#kitchen .rank-1::before {
	background-image: url(../img/kitchen/rank1.webp);
	top: -37px;
	left: min(-22px, -1vw);
	width: min(108px, 5.6vw);
	height: min(135px, 7vw);
	z-index: 1;
}

#page article#kitchen .rank-2::before,
#page article#kitchen .rank-3::before {
	top: -10px;
	left: min(-18px, -0.9vw);
	width: min(94px, 5vw);
	height: min(107px, 5.6vw);
	z-index: 1;
}

#page article#kitchen .rank-2::before {
	background-image: url(../img/kitchen/rank2.webp);
}

#page article#kitchen .rank-3::before {
	background-image: url(../img/kitchen/rank3.webp);
}

#page article#kitchen .rank-4::before,
#page article#kitchen .rank-5::before {
	top: -14px;
	left: min(-18px, -0.9vw);
	width: min(84px, 4.3vw);
	height: min(96px, 5vw);
	z-index: 1;
}

#page article#kitchen .rank-4::before {
	background-image: url(../img/kitchen/rank4.webp);
}

#page article#kitchen .rank-5::before {
	background-image: url(../img/kitchen/rank5.webp);
}

/*** いるま野の直売所 ***/
#page article#kitchen section:has(.market-information) {
	padding-bottom: 140px;
}

/** 材料別レシピページ・旬のレシピ固定ページ・お気に入りレシピ **/
#page.tax-recipe>article,
#page article#season article.recipe-card,
#page article#favorite .recipe-card {
	margin-bottom: 0;
}

#page.tax-recipe article>section,
#page article#season>section,
#page article#favorite>section,
#page.recipe-page article>section {
	padding-right: 100px;
	padding-left: 100px;
}

#page.tax-recipe article section.cooking,
#page article#season section.cooking,
#page article#favorite section.cooking {
	padding-bottom: 91px;
	overflow: hidden;
}

#page.tax-recipe article section.cooking h2,
#page article#season section.cooking h2,
#page article#favorite section.cooking h2 {
	margin: 0 auto 18px;
}

#page.tax-recipe article>section .btn-green,
#page article#season>section .seasonal-wrap .btn-green,
#page article#favorite>section .btn-green {
	max-width: 290px;
}

#page.tax-recipe article .recipe-wrap,
#page article#season .recipe-wrap,
#page article#favorite .recipe-wrap {
	margin: 37px auto 0;
	padding-bottom: 74px;
	max-width: 1266px;
}

#page.tax-recipe article .recipe-card,
#page article#season .recipe-card,
#page article#favorite .recipe-card {
	max-width: calc(100% - 44px);
	margin-bottom: 0;
	z-index: 1;
}

#page.tax-recipe article .pagination,
#page article#season .pagination,
#page article#favorite .pagination {
	margin: 0 auto;
}

#page article#favorite .fav-none {
	text-align: center;
	padding-top: 50px;
}

/*** レシピがない時 ***/
#page.tax-recipe article section.cooking:has(.recipe-wrap>p),
#page article#season section.cooking:has(.recipe-wrap>p),
#page article#favorite section.cooking:has(.recipe-wrap>p) {
	background-size: cover;
}

#page article#season section.cooking:has(.recipe-wrap>p) .recipe-wrap,
#page article#favorite section.cooking:has(.recipe-wrap>p) .recipe-wrap {
	display: flex;
	justify-content: center;
}

#page.tax-recipe article .recipe-wrap>p,
#page article#season .recipe-wrap>p,
#page article#favorite .recipe-wrap>p {
	text-align: center;
	font-size: 1.5rem;
	line-height: 2.25rem;
}

/** 旬のレシピ固定ページ **/
#page article#season .market-wrap {
	padding-bottom: 103px;
}

/** レシピ個別ページ **/
#page.recipe-page article .recipe-inner h2 {
	margin-bottom: 14px;
}

#page.recipe-page .recipe-wrap {
	background-color: #ffffff;
	border-radius: 20px;
	padding: 22px min(60px, 3.2vw) 64px;
	position: relative;
	z-index: 1;
}

#page.recipe-page .fav-wrap {
	display: flex;
	gap: min(30px, 1.6vw);
	justify-content: center;
}

#page.recipe-page .fav-wrap button,
#page.recipe-page .fav-wrap a {
	color: #D84857;
	border: 3px solid;
	border-radius: calc(infinity * 1px);
	background-color: #ffffff;
	justify-content: center;
	align-items: center;
	font-size: clamp(0.75rem, 0.629rem + 0.52vw, 1.25rem);
	line-height: clamp(1.125rem, 0.943rem + 0.78vw, 1.875rem);
	white-space: nowrap;
	font-weight: 400;
	margin: 0;
	cursor: pointer;
	width: 396px;
}

#page.recipe-page .fav-wrap button {
	height: calc(48px - 1px);
}

#page.recipe-page .fav-wrap a {
	color: #CE5520;
}

#page.recipe-page .fav-wrap button.active {
	color: #ffffff;
	border: 3px solid #D84857;
	background-color: #D84857;
}

#page.recipe-page .btns {
	display: flex;
	justify-content: center;
	gap: min(30px, 1.6vw);
	margin-top: 20px;
}

#page.recipe-page .btns .btn-green {
	margin: 0;
}

#page.recipe-page .recipe-info {
	margin-top: 32px;
	display: flex;
	gap: min(26px, 1.4vw);
}

#page.recipe-page .info1 {
	max-width: 640px;
	width: 50%;
}

#page.recipe-page .info2 {
	width: 50%;
}


#page.recipe-page .movie iframe,
#page.recipe-page .movie img {
	width: 100%;
}

#page.recipe-page .movie iframe {
	aspect-ratio: 64 / 36;
}


#page.recipe-page .nutrients p,
#page.recipe-page p.date {
	font-size: clamp(0.75rem, 0.72rem + 0.13vw, 0.875rem);
	line-height: clamp(1.125rem, 1.079rem + 0.19vw, 1.313rem);
}

#page.recipe-page .nutrients-info {
	display: flex;
	flex-wrap: wrap;
	gap: 0 14px;
}

#page.recipe-page .process {
	margin-top: 32px;
}

#page.recipe-page .process h3,
#page.recipe-page .ingredients h3,
#page.recipe-page .foods h3 {
	margin-bottom: 19px;
}

#page.recipe-page .process-inner,
#page.recipe-page .zairyoukubun-wrap section {
	padding-bottom: 19px;
	margin: 0 10px 19px;
	background-image: linear-gradient(to right, #000000 2px, transparent 2px);
	background-size: 6px 2px;
	background-repeat: repeat-x;
	background-position: bottom;
}

#page.recipe-page .zairyoukubun-wrap section:last-child {
	background: unset;
	padding-bottom: 0;
	margin: 0 10px;
}

#page.recipe-page .process-inner {
	display: flex;
	align-items: center;
	gap: 10px;
}

#page.recipe-page .p-num {
	font-size: 22px;
	font-weight: 800;
	color: #83B832;
	border: 2px solid;
	border-radius: calc(infinity * 1px);
	max-width: 42px;
	min-width: 42px;
	height: 38px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-bottom: 4px;
}

#page.recipe-page .recipe-wrap ul {
	list-style: none;
	margin: 0;
	padding: 0 min(55px, 2.9vw);
	display: flex;
	flex-direction: column;
	gap: 2px 0;
	padding: initial;
}

#page.recipe-page .ingredients {
	margin-bottom: 50px;
}

#page.recipe-page .zairyoukubun:has(.kubun-name) ul {
	padding: 0 min(55px, 2.9vw) 0 0;
	width: 100%;
}

#page.recipe-page .zairyoukubun-wrap {
	padding: 0 10px;
}

#page.recipe-page .zairyou-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: clamp(1rem, 0.954rem + 0.19vw, 1.188rem);
	line-height: clamp(1.5rem, 1.424rem + 0.32vw, 1.813rem);
}

#page.recipe-page .ing1 {
	display: flex;
	gap: 7px;
}

#page.recipe-page .ing-head {
	color: #9DC93D;
}

#page.recipe-page .zairyoukubun:has(.kubun-name) {
	display: flex;
	align-items: stretch;
	gap: 0 13px;
	flex-direction: column;
	gap: 8px 0;
}

#page.recipe-page .kubun-name {
	background-color: #ECECEC;
	border-radius: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	font-weight: 800;
	width: calc(100% - 10px);
	padding: 4px 0;
	margin: 0 5px;
}

#page.recipe-page .foods {
	margin-bottom: 54px;
}

#page.recipe-page .using {
	display: flex;
	gap: 18px 14px;
	padding: 0 10px;
	margin-bottom: 25px;
	justify-content: center;
}

#page.recipe-page .using p {
	font-size: clamp(0.75rem, 0.644rem + 0.45vw, 1.188rem);
	line-height: clamp(1.125rem, 0.958rem + 0.71vw, 1.813rem);
	border: 1px solid;
	border-radius: 6px;
	padding: 4px 20px;
}

#page.recipe-page .foods .btn-green {
	max-width: 298px;
	margin: 0 auto;
}

#page.recipe-page .memo {
	border: 5px solid #83B832;
	border-radius: 16px;
	padding: 16px 25px 30px;
	margin-bottom: 20px;
}

#page.recipe-page .memo h3 {
	color: #83B832;
	background-color: transparent;
	border-radius: unset;
	height: auto;
	padding-bottom: 15px;
	margin-bottom: 25px;
	border-bottom: 4px dotted;
}

#page.recipe-page p.date {
	text-align: right;
}

#page.recipe-page .zairyoukubun-old .colR,
#page.recipe-page .zairyoukubun-old .colL {
	padding: 0 min(55px, 2.9vw);
	max-width: 500px;
	margin: auto;
}

#page.recipe-page .zairyoukubun-old dl {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	column-gap: 30px;
	align-items: center;
	margin: 0;
	font-size: clamp(1rem, 0.954rem + 0.19vw, 1.188rem);
	line-height: clamp(1.5rem, 1.424rem + 0.32vw, 1.813rem);
}

#page.recipe-page .zairyoukubun-old dt,
#page.recipe-page .zairyoukubun-old dd {
	width: auto;
	margin: 0;
	position: relative;
}

#page.recipe-page .zairyoukubun-old dt {
	position: relative;
	padding-left: 20px;
}

#page.recipe-page .zairyoukubun-old dt::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #9DC93D;
	transform: translateY(-50%);
}

#page.recipe-page .zairyoukubun-old dd {
	text-align: right;
	white-space: nowrap;
}

/** 旬の野菜 **/
#page article#vegetables>section {
	padding-right: 100px;
	padding-left: 100px;
	padding-bottom: 79px;
}

#page article#vegetables .season-vege-wrap {
	position: relative;
	z-index: 1;
	margin-bottom: 101px;
}

#page article#vegetables .season-vege-wrap h2 {
	margin-bottom: 62px;
}

#page article#vegetables .s-vege-card {
	border: 4px solid #91CE35;
	border-radius: 20px;
	background-color: #ffffff;
	margin-bottom: 50px;
	padding: 28px min(62px, 3.3vw) 55px;
}

#page article#vegetables .s-vege-card:last-child {
	margin-bottom: 0;
}

#page article#vegetables .vege-inner {
	display: flex;
	gap: 0 min(55px, 3vw);
	align-items: center;
	margin-bottom: 50px;
}

#page article#vegetables .vege-img {
	width: 47%;
}

#page article#vegetables .vege-img img {
	width: 100%;
	aspect-ratio: 503 / 369;
	object-fit: cover;
	border-radius: 20px;
}

#page article#vegetables .vege-inner .vege-info {
	width: 100%;
}

#page article#vegetables .vege-inner:has(.vege-img) .vege-info {
	width: 53%;
}

#page article#vegetables .vege-inner h3,
#page article#vegetables .vege-desc {
	background-image: linear-gradient(to right, #000000 2px, transparent 2px);
	background-size: 6px 2px;
	background-repeat: repeat-x;
	background-position: bottom;
}

#page article#vegetables .vege-inner h3 {
	font-size: clamp(1.5rem, 1.197rem + 1.29vw, 2.75rem);
	line-height: clamp(2.25rem, 1.795rem + 1.94vw, 4.125rem);
	text-align: center;
	padding-bottom: 36px;
	margin-bottom: 25px;
}

#page article#vegetables .vege-desc {
	padding: 0 8px 25px;
	margin-bottom: 36px;
}

#page article#vegetables .pro-seasons {
	padding: 0 8px;
}

#page article#vegetables .s-vege-card table tbody,
#page article#vegetables .vege-inner:not(:has(.vege-img)) tbody {
	justify-content: center;
	gap: 0 4px;
}

#page article#vegetables .s-vege-card .btn-green,
#page article#vegetables .seasonal-recipe .btn-green {
	margin: 0 auto;
}

/*** 旬のレシピ ***/
#page article#vegetables .seasonal-recipe h2 {
	margin-bottom: 32px;
}

#page article#vegetables .recipe-wrap {
	margin-bottom: 54px;
}

/** JAバンク **/
#page article#bank>section {
	padding-right: 100px;
	padding-left: 100px;
}

#page article#bank .in1267:has(.bank-slide-wrap) {
	display: flex;
	gap: 27px;
	padding-bottom: 29px;
}

#page article#bank .in1267:has(.bank-slide-wrap) ul {
	margin: 0;
	list-style: none;
	position: relative;
}

#page article#bank .in1267:has(.bank-slide-wrap) ul::before {
	background-image: url(../img/tore-kaodashi.webp);
	top: -75px;
	left: 50%;
	translate: -50%;
	width: 117px;
	height: 82px;
}

#page article#bank>section.banner {
	padding-top: 72px;
}

/*** PDFスライド ***/
#page article#bank .bank-slide-wrap {
	max-width: 940px;
	width: 70%;
}

#page article#bank .pdf_list {
	background-color: #ffffff;
	border-radius: 20px;
	padding: 50px min(43px, 2.2vw) 50px;
	position: relative;
}

#page article#bank .bank-slide-wrap ul {
	padding: 0;
	list-style: none;
}

#page article#bank .in1267:has(.bank-slide-wrap) ul img {
	width: 100%;
}

#page article#bank .bank-slide-wrap .swiper-button-prev,
#page article#bank .bank-slide-wrap .swiper-button-next {
	top: 59%;
	width: 42px;
	height: 42px;
	border: 3px solid #ffffff;
	border-radius: calc(infinity * 1px);
}

#page article#bank .bank-slide-wrap .swiper-button-prev {
	left: 28px;
	right: unset;
}

#page article#bank .bank-slide-wrap .swiper-button-next {
	right: 28px;
	left: unset;
}

/*** サイドメニュー ***/
#page article#bank .bank-side-wrap {
	max-width: 300px;
	width: 30%;
}

#page article#bank .bank-side-wrap ul {
	background-color: #ffffff;
	border-radius: 20px;
	padding: 21px min(22px, 1.2vw);
	width: 100%;
	height: calc(100% - 42px);
	display: flex;
	flex-direction: column;
	justify-content: center;
}

#page article#bank .bank-side-wrap a {
	background-image: linear-gradient(to right, #000000 2px, transparent 2px);
	background-size: 6px 2px;
	background-repeat: repeat-x;
	background-position: bottom;
	padding: 15px 17px;
	font-size: clamp(0.875rem, 0.814rem + 0.26vw, 1.125rem);
	line-height: clamp(1.313rem, 1.221rem + 0.39vw, 1.688rem);
	color: #00A291;
	display: block;
	position: relative;
}

#page article#bank .bank-side-wrap a.first {
	padding: 0 17px 15px;
}

#page article#bank .bank-side-wrap a.last {
	background: unset;
	padding: 15px 17px 0;
}

#page article#bank .bank-side-wrap a::after {
	background-image: url(../img/arrow-emerald.svg);
	top: 21px;
	right: 17px;
	width: 16px;
	height: 16px;
}

#page article#bank .bank-side-wrap a.first::after {
	top: 6px;
}

/*** カプセル型カード群 ***/
#page article#bank .capsule-wrap {
	gap: 30px 52px;
	margin-bottom: 60px;
}

#page article#bank .card-wrap {
	padding-bottom: 90px;
	display: flex;
	gap: 42px;
	justify-content: center;
	flex-wrap: wrap;
}

#page article#bank .capsule-wrap .btn-green button {
	border: none;
}

/*** ダイアログ ***/
#page article#bank dialog>div {
	padding-bottom: 54px;
}

#page article#bank dialog h4,
#page article#chokin dialog h4 {
	position: relative;
	margin-bottom: 25px;
}

#page article#bank dialog p,
#page article#chokin dialog p {
	color: #473138;
}

#page article#bank dialog img {
	margin-top: 10px;
}

#page article#bank dialog h5 {
	background-color: #E5576B;
}

#page article#bank dialog .sougou-wrap {
	margin-top: 22px;
	display: grid;
	grid-template-columns: repeat(auto-fit, 450px);
	gap: 24px 30px;
	justify-content: center;
}

#page article#bank dialog .sougou-wrap .card {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 2;
	gap: 19px 0;
}

#page article#bank dialog .sougou-wrap p {
	padding: 0 10px;
}

/** ためる **/
#page article#chokin>section {
	padding-right: 100px;
	padding-left: 100px;
}

/*** 貯金サービス ***/
#page article#chokin section.sect1 {
	padding-bottom: 91px;
}

#page article#chokin .proxy {
	margin-top: 30px;
}

#page article#chokin section.sect1 .btn-green a,
#page article#chokin section.sect1 .btn-green button,
#page article#yushi .sect2 .capsule-wrap .btn-green a,
#page article#yushi .sect2 .capsule-wrap .btn-green button,
#page.tax-fNews .content li .btn-green a,
#page.farmers-page .content li .btn-green a,
#page article#members .content li .btn-green a {
	background-color: #ffffff;
	color: #00A291;
	border: 3px solid;
	gap: 0 14px;
}

#page article#chokin section.sect1 .btn-green a {
	height: calc(48px - 7px);
}

#page article#chokin section.sect1 .capsule-wrap .cap-box .btn-green img,
#page article#yushi section.sect2 .capsule-wrap .cap-box .btn-green img {
	width: 16px;
	height: 16px;
}

/**** ダイアログ ****/
#page article#chokin section.sect1 dialog .btn-green {
	position: unset;
	width: 388px;
}

#page article#chokin .proxy-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: 52px;
}

#page article#chokin .proxy-btns {
	display: flex;
	gap: 0 30px;
	align-items: center;
}

#page article#chokin .proxy-wrap>p.print,
#page article#chokin dialog li span.small {
	font-size: clamp(0.625rem, 0.564rem + 0.26vw, 0.875rem);
	line-height: clamp(0.938rem, 0.846rem + 0.39vw, 1.313rem);
	margin-top: 10px;
}

#page article#chokin section.sect1 .capsule-wrap .cap-box .btn-green img.icon_pdf {
	width: 15px;
	height: 17px;
	margin-top: 3px;
}

#page article#chokin dialog .caution {
	margin-top: 44px;
	background-color: #FFEFF4;
	border-radius: 16px;
	padding: 17px min(100px, 5vw) 26px;
}

#page article#chokin dialog h5 {
	font-size: clamp(1.063rem, 0.911rem + 0.65vw, 1.688rem);
	line-height: clamp(1.625rem, 1.397rem + 0.97vw, 2.563rem);
	text-align: center;
}

#page article#chokin dialog ul {
	color: #981A45;
	font-weight: 800;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 7px;
}

#page article#chokin dialog li span.small {
	margin: 0;
	color: #473138;
	font-weight: 400;
}

/*** 金融商品 ***/
#page article#chokin section.sect2 {
	padding-bottom: 73px;
}

/** かりる **/
#page article#yushi>section {
	padding-right: 100px;
	padding-left: 100px;
}

#page article#yushi .sect1 {
	padding-bottom: 101px;
}

#page article#yushi .sect2 {
	padding-bottom: 110px;
	padding-top: 0;
}

#page article#yushi .utilize,
#page article#shisan .utilize,
#page article#service .utilize {
	background-color: #ffffff;
	border-radius: 20px;
	padding: 22px 1rem;
	position: relative;
	margin-bottom: 80px;
}

#page article#yushi .utilize p,
#page article#shisan .utilize p,
#page article#service .utilize p,
#page article#yushi .loan-info h3,
#page.loan-page .loan-lead p,
#page.loan-page .loan-item-head p {
	font-size: clamp(1.25rem, 1.022rem + 0.97vw, 2.188rem);
	line-height: clamp(1.875rem, 1.526rem + 1.49vw, 3.313rem);
	font-weight: 800;
	color: #981A45;
	text-align: center;
}

#page article#yushi .utilize::before,
#page article#shisan .utilize::before,
#page article#service .utilize::before,
#page.loan-page .loan-lead::before,
#page article#soudankai .consult-lead::before,
#page article#pointcard .about-card::before {
	background-image: url(../img/tore-kuwa-standing.webp);
	bottom: -13px;
	left: min(11px);
	width: min(120px, 6vw);
	height: min(102px, 5vw);
	z-index: 1;
}

#page article#yushi .utilize::after,
#page article#shisan .utilize::after,
#page article#service .utilize::after,
#page.loan-page .loan-lead::after,
#page article#soudankai .consult-lead::after,
#page article#pointcard .about-card::after {
	background-image: url(../img/toremi-ladle.webp);
	bottom: -13px;
	right: min(10px);
	width: min(91px, 5vw);
	height: min(106px, 5.5vw);
	z-index: 1;
}

#page article#yushi .sect2 .capsule-wrap {
	margin-top: 80px;
}

#page article#yushi .loan-info,
#page.loan-page .loan-lead {
	margin-top: 103px;
	background-color: #ffffff;
	border-radius: 20px;
	padding: 27px 1rem 56px;
	display: flex;
	flex-direction: column;
	align-items: center;
}

#page article#yushi .loan-outer {
	margin-top: 37px;
	display: flex;
	align-items: center;
	width: 100%;
	justify-content: center;
	gap: 30px;
}

#page article#yushi .loan-outer a {
	background-color: #981A45;
	display: block;
	border-radius: calc(infinity * 1px);
	width: 420px;
	color: #ffffff;
	text-align: center;
	font-size: clamp(1.125rem, 1.034rem + 0.39vw, 1.5rem);
	line-height: clamp(1.125rem, 1.034rem + 0.39vw, 1.5rem);
	padding: 16px 0;
}

#page article#yushi .loan-outer a span.small,
#page.loan-page .loan-lead .lead-btns a span.small,
#page.loan-page .wrap2 .btn-green a span.small {
	font-size: clamp(0.688rem, 0.627rem + 0.26vw, 0.938rem);
	line-height: clamp(0.688rem, 0.627rem + 0.26vw, 0.938rem);
	display: flex;
	align-items: flex-end;
	justify-content: center;
	gap: 6px;
	margin-top: 8px;
}

#page article#yushi .loan-docs {
	margin-top: 21px;
	display: flex;
	justify-content: center;
	gap: 10px;
	flex-direction: column;
}

#page article#yushi .loan-docs .btn-green a {
	color: #00A291;
	border: 2px solid;
	border-radius: calc(infinity * 1px);
	padding: 1px 20px 2px;
	display: inline-block;
	width: calc(100% - 40px);
	text-align: center;
}

#page article#yushi .loan-docs .btn-green a img {
	width: 13px;
	height: 15px;
	position: relative;
	top: 2px;
	left: 5px;
}

/** かりる・個別ページ共通パーツ **/
#page>article:has(.in100per.burgundy) .consult {
	border: 5px solid #E5B3C4;
	border-radius: 20px;
	background-color: #ffffff;
	padding: 45px 1rem;
	display: flex;
	flex-direction: column;
	align-items: center;
}

#page>article:has(.in100per.burgundy) .consult p.lead {
	font-size: clamp(0.875rem, 0.784rem + 0.39vw, 1.25rem);
	line-height: clamp(1.313rem, 1.176rem + 0.58vw, 1.875rem);
	color: #981A45;
	text-align: center;
}

#page>article:has(.in100per.burgundy) .consult .btn-green {
	margin-top: 26px;
	width: 100%;
}

#page>article:has(.in100per.burgundy) .consult .btn-green a,
#page.loan-page .loan-lead .lead-btns a,
#page.loan-page .wrap2 .btn-green a,
#page article#chokin_kinri .net-bank .btn-green a,
#page.loan-page .loan-item-head button {
	font-size: clamp(1rem, 0.863rem + 0.58vw, 1.563rem);
	line-height: clamp(1.5rem, 1.288rem + 0.91vw, 2.375rem);
	font-weight: 800;
	max-width: 500px;
	margin: 0 auto;
	height: calc(60px - 2px);
	padding-bottom: 2px;
}

#page>article:has(.in100per.burgundy) .consult p:not(.lead) {
	margin-top: 37px;
	max-width: 775px;
	font-size: clamp(0.75rem, 0.689rem + 0.26vw, 1rem);
	line-height: clamp(1.125rem, 1.034rem + 0.39vw, 1.5rem);
	color: #473138;
}

/** ローン個別ページ **/
#page.loan-page article>section {
	padding-right: 100px;
	padding-left: 100px;
}

/*** リード ***/
#page.loan-page .loan-lead {
	margin: 0;
	padding: 33px 1rem 36px;
	position: relative;
}

#page.loan-page .loan-lead p,
#page.loan-page .loan-item-head p {
	font-size: clamp(1.125rem, 1.004rem + 0.52vw, 1.625rem);
	line-height: clamp(1.688rem, 1.505rem + 0.78vw, 2.438rem);
}

#page.loan-page .loan-lead .lead-btns {
	margin-top: 29px;
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
}

#page.loan-page .loan-lead .lead-btns a,
#page.loan-page .wrap2 .btn-green a {
	width: 468px;
	height: calc(80px - 2px);
	white-space: normal;
	flex-direction: column;
	line-height: clamp(1rem, 0.863rem + 0.58vw, 1.563rem);
}

/*** 商品情報 ***/
#page.loan-page .l-cont {
	padding-top: 36px;
	padding-bottom: 0;
}

#page.loan-page .l-cont .in1267 {
	background-color: #ffffff;
	border-radius: 20px;
	padding: 59px min(73px, 4vw) 72px;
}

#page.loan-page .loan-wrap {
	padding: 0 min(100px, 5.2vw);
}

#page.loan-page .loan-wrap h2 {
	font-size: clamp(1rem, 0.848rem + 0.65vw, 1.625rem);
	line-height: clamp(1.5rem, 1.272rem + 0.97vw, 2.438rem);
}

#page.loan-page .loan-wrap th,
#page.loan-page .loan-wrap .reduction-title p,
#page.loan-page table.summary ul .dot-burgundy,
#page article#aid .horizontal-card-wrap h3,
#page article#aid .aid-info h3,
#page article#soudankai .consult-lead ul .dot-burgundy {
	color: #981A45;
}

#page.loan-page .loan-wrap p,
#page.loan-page .loan-wrap td,
#page.loan-page .loan-wrap .loan-reduction li,
#page article#shisan .estimate p,
#page article#aid .aid-lead p,
#page article#aid .horizontal-card-wrap p,
#page article#aid .aid-contact p,
#page article#soudankai .consult-lead p,
#page article#soudankai .consult-lead ul li,
#page article#soudankai .consult-table table td {
	color: #473138;
}

#page.loan-page .wrap1 {
	display: flex;
	gap: 0 min(37px, 2vw);
	padding-bottom: 24px;
	margin-bottom: 30px;
	background-image: linear-gradient(to right, #000000 2px, transparent 2px);
	background-size: 6px 2px;
	background-repeat: repeat-x;
	background-position: bottom;
}

#page.loan-page .wrap1 h2 {
	text-align: left;
	width: 100%;
	margin: 0;
}

#page.loan-page .loan-inner {
	display: flex;
	flex-direction: column;
	gap: 30px 0;
}

/**** PDF ****/
#page.loan-page .loan-pdf {
	width: 293px;
	min-width: 293px;
}

#page.loan-page .loan-pdf .thumb img {
	border: 5px solid #eeeeee;
	width: calc(100% - 10px);
}

#page.loan-page .loan-pdf p>a {
	color: #00A291;
	text-decoration: underline;
	text-underline-offset: 2px;
	font-size: clamp(0.75rem, 0.72rem + 0.13vw, 0.875rem);
	line-height: clamp(1.125rem, 1.079rem + 0.19vw, 1.313rem);
	display: flex;
	align-items: center;
	gap: 7px;
	justify-content: center;
}

#page.loan-page .loan-pdf p>a img.icon_pdf {
	width: 13px;
	height: 15px;
}

/**** 金利 ****/
#page.loan-page .loan-rate {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

#page.loan-page .rate-body {
	display: flex;
	flex-direction: column;
	gap: 10px 0;
}

#page.loan-page .rate,
#page.loan-page .rate p {
	display: flex;
	align-items: center;
	gap: 0 20px;
}

#page.loan-page .rate h3 {
	background-color: #981A45;
	border-radius: 6px;
	width: 100%;
	max-width: 188px;
	height: 100%;
	color: #ffffff;
	text-align: center;
	font-size: clamp(1rem, 0.97rem + 0.13vw, 1.125rem);
	line-height: clamp(1.5rem, 1.454rem + 0.19vw, 1.688rem);
	padding: 2px 0 3px;
	display: flex;
	align-items: center;
	justify-content: center;
}

#page.loan-page .rate p,
#page.loan-page .loan-period p,
#page.loan-page table.reduction td {
	font-size: clamp(0.875rem, 0.814rem + 0.26vw, 1.125rem);
	line-height: clamp(1.313rem, 1.221rem + 0.39vw, 1.688rem);
}

#page.loan-page .rate-inner {
	display: flex;
	flex-direction: column;
	gap: 10px 0;
}

#page.loan-page .rate p span.rate-cat {
	min-width: 5rem;
}

#page.loan-page .rate p span.rate-figure,
#page.loan-page .loan-period p {
	font-weight: 800;
}

/***** PDFがない時 *****/
#page.loan-page .loan-wrap:not(:has(.loan-pdf)) .loan-inner {
	width: 100%;
	align-items: center;
}

#page.loan-page .loan-wrap:not(:has(.loan-pdf)) .loan-inner h2 {
	text-align: center;
}

#page.loan-page .loan-wrap:not(:has(.loan-pdf)) .loan-inner .rate,
#page.loan-page .loan-wrap:not(:has(.loan-pdf)) .loan-inner .rate p {
	flex-direction: column;
	gap: 10px;
}

#page.loan-page .loan-wrap:not(:has(.loan-pdf)) .loan-inner .rate h3 {
	max-width: unset;
	padding: 10px 1rem 13px;
}

#page.loan-page .loan-wrap:not(:has(.loan-pdf)) .loan-inner .loan-period {
	flex-direction: column;
	gap: 5px;
}

#page.loan-page .loan-wrap:not(:has(.loan-pdf)) .loan-inner .reduction-title {
	justify-content: center;
}

/**** 適用期間 ****/
#page.loan-page .loan-period {
	display: flex;
	align-items: center;
	gap: 20px;
}

#page.loan-page .loan-period h2 {
	width: fit-content;
	min-width: 104px;
}

#page.loan-page .loan-period .normal {
	font-weight: 400;
}

/**** 軽減項目 ****/
#page.loan-page .reduction-title {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 10px;
}

#page.loan-page .reduction-title h2 {
	width: fit-content;
}

#page.loan-page .reduction-title p {
	font-size: clamp(0.75rem, 0.689rem + 0.26vw, 1rem);
	line-height: clamp(1.125rem, 1.034rem + 0.39vw, 1.5rem);
}

#page.loan-page table.reduction {
	margin-bottom: 18px;
}

#page.loan-page table.reduction tbody,
#page.loan-page table.summary tbody {
	display: flex;
	flex-direction: column;
	gap: 10px 0;
}

#page.loan-page table.reduction tr,
#page.loan-page table.summary tr {
	display: flex;
	gap: 0 22px;
}

#page.loan-page table.reduction th,
#page.loan-page table.summary th {
	background-color: #F0EEEB;
	border-radius: 6px;
	text-align: left;
	padding: 3px 12px 6px;
	width: 421px;
	max-width: calc(421px - 24px);
	display: flex;
	align-items: center;
}

#page.loan-page table.reduction td {
	display: flex;
	align-items: center;
}

#page.loan-page table.reduction th span.small {
	font-size: 12px;
	line-height: 18px;
	font-weight: 400;
	margin-left: 13px;
}

#page.loan-page .loan-wrap .loan-reduction ol,
#page.loan-page table.summary ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

#page.loan-page .loan-wrap .loan-reduction li {
	font-size: 10px;
	line-height: 15px;
	text-indent: -25px;
	padding-left: 25px;
}

/**** 商品概要 ****/
#page.loan-page .loan-summary h2 {
	margin-bottom: 18px;
}

#page.loan-page table.summary tbody {
	gap: 14px 0;
}

#page.loan-page table.summary tr {
	gap: 0 31px;
}

#page.loan-page table.summary th {
	text-align: center;
	min-width: calc(258px - 24px);
	max-width: calc(258px - 24px);
	font-size: clamp(1rem, 0.909rem + 0.39vw, 1.375rem);
	line-height: clamp(1.5rem, 1.363rem + 0.58vw, 2.063rem);
	justify-content: center;
}

#page.loan-page table.summary td {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
}

#page.loan-page table.summary td:has(p.sum-body) ul {
	margin-top: 1rem;
}

#page.loan-page table.summary ul:not(.sum-caution) li {
	text-indent: -1.5rem;
	padding-left: 1.5rem;
}

#page.loan-page table.summary ul:not(.sum-caution) li,
#page.loan-page table.summary p.sum-body {
	font-size: clamp(0.75rem, 0.689rem + 0.26vw, 1rem);
	line-height: clamp(1.125rem, 1.034rem + 0.39vw, 1.5rem);
}


#page.loan-page table.summary ul .dot-burgundy,
#page article#soudankai .consult-lead ul .dot-burgundy {
	margin-right: 0.5rem;
}

#page.loan-page table.summary ul.sum-caution {
	margin-top: 14px;
}

#page.loan-page table.summary ul.sum-caution li {
	font-size: 0.875rem;
	line-height: 1.313rem;
	text-indent: -0.875rem;
	padding-left: 0.875rem;
}

#page.loan-page .wrap2 .btn-green {
	margin-top: 70px;
}

/*** 教育ローンのみ ***/
#page.loan-page .edu-wrap {
	background-color: #F6E1DC;
}

#page.loan-page .edu-wrap>h2,
#page.loan-page:has(.edu-wrap) article section>h2 {
	font-size: clamp(1.375rem, 1.223rem + 0.65vw, 2rem);
	line-height: clamp(2.063rem, 1.835rem + 0.97vw, 3rem);
}

#page.loan-page .edu-wrap h2 {
	padding-top: 55px;
	position: relative;
}

#page.loan-page .edu-wrap h2::before,
#page.loan-page .edu-wrap h2::after {
	top: unset;
	bottom: 5px;
}

#page.loan-page .edu-wrap .section-wrap h2 {
	padding-top: 0;
}

#page.loan-page .edu-wrap .section-wrap h2::before,
#page.loan-page .edu-wrap .section-wrap h2::after {
	content: none;
}

#page.loan-page .loan-item {
	border-radius: 20px;
	background-color: #ffffff;
	padding: 45px 1rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 1267px;
	max-width: calc(100% - 200px);
}

#page.loan-page .loan-item-head {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	gap: 40px 0;
}

#page.loan-page .loan-item-head h2 {
	margin: 0;
}

#page.loan-page .loan-toggle {
	border: none;
	appearance: none;
	padding: 3px 0 0;
	cursor: pointer;
	line-height: 1.2;
	white-space: nowrap;
}

#page.loan-page .loan-item-head button {
	background-color: #ffffff;
	color: #00A291;
	border: 3px solid;
}

#page.loan-page .loan-toggle .text-close {
	display: none;
}

#page.loan-page .loan-toggle.is-open .text-open {
	display: none;
}

#page.loan-page .loan-toggle.is-open .text-close {
	display: inline;
}

#page.loan-page .loan-item>section,
#page.loan-page .section-wrap section.palepink {
	padding-bottom: 0;
}

#page.loan-page .loan-item .l-cont .in1267 {
	border-radius: 0;
	padding: 0 min(73px, 4vw);
}

#page.loan-page .loan-item .loan-lead {
	padding: 33px 0 36px;
	border-radius: unset;
}

#page.loan-page .loan-item .loan-lead::before,
#page.loan-page .loan-item .loan-lead::after {
	content: none;
}

#page.loan-page .loan-item .loan-lead .lead-btns a,
#page.loan-page .loan-item .wrap2 .btn-green a {
	font-size: clamp(0.875rem, 0.754rem + 0.52vw, 1.375rem);
	line-height: clamp(1.313rem, 1.13rem + 0.78vw, 2.063rem);
}

/* 2736 の初期状態 */
#page .loan-page .section-wrap.is-collapsed,
body#page.single.loan-page .section-wrap.is-collapsed {
	display: none;
}

#page.loan-page .section-wrap section.palepink {
	background-color: #ffffff;
}

/*** 相談会 ***/
#page.loan-page section.l-consul {
	padding-top: 80px;
	padding-bottom: 110px;
}

/** ふやす **/
#page article#shisan>section {
	padding-right: 100px;
	padding-left: 100px;
}

#page article#shisan .sect1 {
	padding-bottom: 90px;
}

#page article#shisan .utilize {
	margin: 0 0 80px;
	padding: 22px 2rem;
}

#page article#shisan .utilize::before {
	left: -60px;
}

#page article#shisan .utilize::after {
	right: -32px;
}

#page article#shisan .card-wrap,
#page article#service .card-wrap,
#page article#rate_fee .card-wrap {
	display: grid;
	grid-template-columns: repeat(auto-fit, 393px);
	justify-content: center;
	gap: 16px 43px;
	margin-bottom: 107px;
}

#page article#yakuin .card-wrap .card,
#page article#shisan .card-wrap .card,
#page article#service .card-wrap .card,
#page article#rate_fee .card-wrap .card,
#page article#members .card-wrap .card {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 2;
	gap: 9px 0;
	align-items: center;
}

#page article#yakuin .card-wrap .card a,
#page article#shisan .card-wrap .card a,
#page article#service .card-wrap .card a,
#page article#rate_fee .card-wrap .card a,
#page article#members .card-wrap .card a {
	gap: 0 14px;
}

#page article#yakuin .card-wrap .card a img,
#page article#shisan .card-wrap .card a img,
#page article#shisan .capsule-wrap .cap-box a img,
#page article#service .card-wrap .card a img,
#page article#rate_fee .card-wrap .card a img,
#page article#members .card-wrap .card a img {
	width: 14px;
	height: 14px;
}

#page article#shisan .estimate {
	background-color: #ffffff;
	border-radius: 20px;
	padding: 47px 1rem 39px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 27px 0;
}

#page article#shisan .estimate a,
#page article#ib-teiki .btn-green a {
	color: #00A291;
	border: 3px solid;
	border-radius: calc(infinity * 1px);
	font-size: clamp(1rem, 0.939rem + 0.26vw, 1.25rem);
	line-height: clamp(1.5rem, 1.409rem + 0.39vw, 1.875rem);
	padding: 6px 2vw;
	display: flex;
	align-items: center;
	gap: 0 10px;
}

#page article#shisan .estimate a img,
#page article#ib-teiki .btn-green a img {
	width: 15px;
	height: 18px;
	padding-top: 1px;
}

#page article#shisan .estimate p,
#page article#aid .aid-lead p,
#page article#soudankai .consult-lead p,
#page article#soudankai .consult-lead ul li {
	text-align: center;
	font-size: clamp(0.75rem, 0.689rem + 0.26vw, 1rem);
	line-height: clamp(1.125rem, 1.034rem + 0.39vw, 1.5rem);
}

#page article#shisan #banner {
	margin-top: 73px;
}

/** JA共済 **/
#page article#aid>section {
	padding-right: 100px;
	padding-left: 100px;
}

#page article#aid .aid-lead {
	background-color: #ffffff;
	border-radius: 20px;
	padding: 22px 1rem 23px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 18px 0;
	margin-bottom: 40px;
	position: relative;
}

#page article#aid .aid-lead h2 {
	font-size: clamp(1.25rem, 1.022rem + 0.97vw, 2.188rem);
	line-height: clamp(1.875rem, 1.526rem + 1.49vw, 3.313rem);
	margin: 0;
}

#page article#aid .aid-lead h2::before,
#page article#aid .aid-lead h2::after {
	content: none;
}

#page article#aid .aid-lead p {
	text-align: left;
	max-width: 775px;
}

#page article#aid .aid-lead::before,
#page article#staff-only .sect1 .white-box::before {
	background-image: url(../img/tore-fam1.webp);
	bottom: 37px;
	left: min(-59px, -3vw);
	width: min(213px, 11vw);
	height: min(122px, 7vw);
	z-index: 1;
}

#page article#aid .aid-lead::after,
#page article#staff-only .sect1 .white-box::after {
	background-image: url(../img/tore-fam2.webp);
	bottom: 37px;
	right: min(-54px, -3vw);
	width: min(218px, 11vw);
	height: min(128px, 7vw);
	z-index: 1;
}

#page article#aid .horizontal-card-wrap {
	display: grid;
	grid-template-columns: repeat(auto-fit, 403px);
	justify-content: center;
	gap: 28px;
}

#page article#aid .horizontal-card-wrap.sp-only {
	display: none;
}

#page article#aid .horizontal-card-wrap .card {
	background-color: #ffffff;
	border-radius: 20px;
	border: 3px solid #E5B3C4;
	overflow: hidden;
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 4;
	gap: 0;
	width: 100%;
	max-width: 404px;
	justify-items: center;
	align-items: center;
	padding-bottom: 28px;
}

#page article#aid .horizontal-card-wrap .card-img {
	margin-bottom: 7px;
}

#page article#aid .horizontal-card-wrap .card-img img {
	width: 100%;
	aspect-ratio: 404 / 223;
	object-fit: cover;
	object-position: center;
}

#page article#aid .horizontal-card-wrap h3,
#page article#aid .horizontal-card-wrap p,
#page article#aid .horizontal-card-wrap .btn-green {
	padding: 0 20px;
}

#page article#aid .horizontal-card-wrap h3 {
	font-size: clamp(0.875rem, 0.678rem + 0.84vw, 1.688rem);
	line-height: clamp(1.313rem, 1.009rem + 1.29vw, 2.563rem);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 8px;
}

#page article#aid .horizontal-card-wrap h3 span.large {
	font-size: clamp(1.563rem, 1.411rem + 0.65vw, 2.188rem);
	line-height: clamp(2.375rem, 2.147rem + 0.97vw, 3.313rem);
}

#page article#aid .horizontal-card-wrap p {
	margin-bottom: 23px;
}

#page article#aid .horizontal-card-wrap .btn-green {
	width: 100%;
}

#page article#aid .horizontal-card-wrap .btn-green a {
	max-width: 260px;
	margin: 0 auto;
	gap: 1rem;
	font-size: clamp(1rem, 0.939rem + 0.26vw, 1.25rem);
	line-height: clamp(1.5rem, 1.409rem + 0.39vw, 1.875rem);
}

#page article#aid .horizontal-card-wrap .btn-green a img {
	width: 1rem;
	height: 1rem;
}

#page article#aid .sect2 {
	padding-top: 87px;
	padding-bottom: 111px;
}

#page article#aid .aid-contact {
	background-color: #ffffff;
	border-radius: 20px;
	border: 5px solid #E5B3C4;
	margin-bottom: 100px;
	padding: 41px 1rem 60px;
	display: flex;
	flex-direction: column;
	align-items: center;
}

#page article#aid .aid-contact p {
	font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
	line-height: clamp(1.313rem, 1.267rem + 0.19vw, 1.5rem);
	text-align: center;
	margin-bottom: 5px;
}

#page article#aid .aid-contact p>a {
	color: #00A291;
	text-decoration: underline;
	text-underline-offset: 2px;
}

#page article#aid .aid-contact .btn-green {
	margin-top: 25px;
	width: 100%;
}

#page article#aid .aid-contact .btn-green a {
	font-size: clamp(1.25rem, 1.098rem + 0.65vw, 1.875rem);
	line-height: clamp(1.875rem, 1.647rem + 0.97vw, 2.813rem);
	width: 100%;
	max-width: calc(650px - 2rem);
	padding: 28px 1rem;
	margin: 0 auto;
}

#page article#aid .aid-info {
	background-color: #ffffff;
	border-radius: 20px;
	padding: 27px 1rem 51px;
	display: flex;
	flex-direction: column;
	align-items: center;
}

#page article#aid .aid-info h3 {
	font-size: clamp(1.25rem, 1.022rem + 0.97vw, 2.188rem);
	line-height: clamp(1.875rem, 1.526rem + 1.49vw, 3.313rem);
	margin-bottom: 32px;
}

#page article#aid .aid-info .btns {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
	justify-content: center;
	max-width: 650px;
}

#page article#aid .aid-info .btn-green a {
	color: #00A291;
	background-color: #ffffff;
	border: 3px solid;
	padding: 0 17px 2px 25px;
	max-width: calc(100% - 50px);
	font-size: 1rem;
	line-height: 1.5rem;
	height: calc(40px - 8px);
	gap: 0 0.5rem;
}

#page article#aid .aid-info .btn-green a img {
	width: 1rem;
}

/** 法律・税務相談 **/
#page article#soudankai>section {
	padding-right: 100px;
	padding-left: 100px;
}

#page article#soudankai .consult-lead {
	background-color: #ffffff;
	border-radius: 20px;
	padding: 33px 1rem 35px;
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
}

#page article#soudankai .consult-lead h2 {
	font-size: clamp(1.125rem, 1.004rem + 0.52vw, 1.625rem);
	line-height: clamp(1.688rem, 1.505rem + 0.78vw, 2.438rem);
	max-width: 900px;
	margin-bottom: 19px;
}

#page article#soudankai .consult-lead p,
#page article#soudankai .consult-lead ul,
#page article#soudankai .consult-lead ul li {
	text-align: left;
	width: 100%;
	max-width: 780px;
}

#page article#soudankai .consult-lead p {
	margin-bottom: 14px;
}

#page article#soudankai .consult-lead ul {
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

#page article#soudankai .sect2 {
	padding-top: 73px;
	padding-bottom: 111px;
}

#page article#soudankai .consult-table {
	background-color: #ffffff;
	border-radius: 20px;
	padding: 55px 1rem 69px;
}

#page article#soudankai .in1267:has(.table2) .consult-table.table1 {
	margin-bottom: 60px;
}

#page article#soudankai .consult-table table {
	border-collapse: separate;
	border-spacing: 10px;
	table-layout: fixed;
	max-width: 1140px;
	margin: 0 auto;
}

#page article#soudankai .consult-table table.first {
	position: relative;
}

#page article#soudankai .consult-table table.first::after,
#page article#soudankai .consult-table table tr td::after {
	content: "";
	position: absolute;
	bottom: 4px;
	left: 50%;
	translate: -50%;
	width: calc(100% - 20px);
	height: 2px;
	background-image: linear-gradient(to right, #981A45 2px, transparent 2px);
	background-size: 6px 2px;
	background-repeat: repeat-x;
	background-position: bottom;
}

#page article#soudankai .consult-table table th.pc-only,
#page article#soudankai .consult-table h3.sp-only {
	background-color: #981A45;
	color: #ffffff;
	border-radius: 6px;
	font-size: 1.25rem;
	line-height: 1.9rem;
	padding: 4px 0 5px;
}

#page article#soudankai .consult-table table th:not(.pc-only) {
	font-size: clamp(1rem, 0.939rem + 0.26vw, 1.25rem);
	line-height: clamp(1.5rem, 1.409rem + 0.39vw, 1.875rem);
	background-color: #F0EEEB;
	border-radius: 6px;
	color: #981A45;
}

#page article#soudankai .consult-table table th.sectname {
	width: 170px;
}

#page article#soudankai .consult-table table th.consult-area,
#page article#soudankai .consult-table table td.consult-area {
	width: 98px;
}

#page article#soudankai .consult-table table th.consult-day,
#page article#soudankai .consult-table table td.consult-day {
	width: 410px;
}

#page article#soudankai .consult-table table td {
	font-size: clamp(0.875rem, 0.814rem + 0.26vw, 1.125rem);
	line-height: clamp(1.313rem, 1.221rem + 0.39vw, 1.688rem);
	position: relative;
	padding-bottom: 7px;
}

#page article#soudankai .consult-table table tr td::after {
	left: 0;
	bottom: -5px;
	translate: unset;
	width: 100%;
	background-image: linear-gradient(to right, #000000 2px, transparent 2px);
}

#page article#soudankai .consult-table table tr:last-child td::after {
	content: none;
}

#page article#soudankai .consult-table table td a {
	color: #00A291;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/** JAポイントカード **/
#page article#pointcard>section {
	padding-right: 100px;
	padding-left: 100px;
}

#page article#pointcard .benefits,
#page article#pointcard .terms,
#page article#pointcard .balance-point,
#page article#pointcard .point-cards,
#page article#pointcard .about-point,
#page article#pointaction .white-box,
#page article#chokin_kinri .white-box,
#page article#chokin_kinri .net-bank,
#page article#loan_kinri .white-box,
#page article#tesuryo .white-box,
#page article#cardatm .white-box,
#page article#kawase .white-box,
#page article#ib-teiki .white-box,
#page article#members .white-box,
#page article#hottime .white-box,
#page article#jouhou_system-new .white-box,
#page article#staff-only .white-box,
#page article#page-not-found .white-box,
#page article#satoimo-senka .white-box {
	background-color: #ffffff;
	border-radius: 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
}

#page article#pointcard .white-box {
	background-color: #ffffff;
	border-radius: 20px;
}


#page article#pointcard section h3 {
	font-size: clamp(1rem, 0.788rem + 0.91vw, 1.875rem);
	line-height: clamp(1.5rem, 1.181rem + 1.36vw, 2.813rem);
	color: #981A45;
	background-color: #F0EEEB;
	border-radius: 6px;
	padding: 7px 0 8px;
	text-align: center;
	width: 100%;
}

#page article#pointcard section p {
	color: #473138;
	font-size: clamp(0.75rem, 0.689rem + 0.26vw, 1rem);
	line-height: clamp(1.125rem, 1.034rem + 0.39vw, 1.5rem);
}


#page article#pointcard .about-card {
	padding: 48px 1rem 39px;
	gap: 37px 0;
	position: relative;
}

#page article#pointcard .about-card img {
	width: 100%;
	max-width: 834px;
}

#page article#pointcard .about-card p,
#page article#pointcard .benefits ul {
	font-size: clamp(1.125rem, 1.004rem + 0.52vw, 1.625rem);
	line-height: clamp(1.688rem, 1.505rem + 0.78vw, 2.438rem);
	font-weight: 800;
	color: #981A45;
	max-width: 991px;
}

#page article#pointcard .sect2 {
	padding-top: 84px;
}

#page article#pointcard .about-point {
	padding: 35px 1rem 45px;
	gap: 28px 0;
}

#page article#pointcard .about-point .point-title {
	position: relative;
	left: 140px;
	min-height: 100px;
}

#page article#pointcard .about-point .point-title::before {
	content: "";
	position: absolute;
	background-repeat: no-repeat;
	background-size: contain;
	pointer-events: none;
	background-image: url(../img/bank/torezo-coin.webp);
	height: 194.54px;
	width: 175.99px;
	top: -60px;
	left: -210px;
}

#page article#pointcard .about-point .point-title p {
	color: #981A45;
	font-size: clamp(1rem, 0.939rem + 0.26vw, 1.25rem);
	line-height: clamp(1.5rem, 1.409rem + 0.39vw, 1.875rem);
	max-width: 790px;
}

#page article#pointcard .point-wrap {
	display: flex;
	gap: 18px;
	flex-wrap: wrap;
	justify-content: center;
}

#page article#pointcard .point-wrap .card {
	max-width: 334px;
	display: flex;
	flex-direction: column;
}

#page article#pointcard .point-wrap .card h3 {
	margin-bottom: 18px;
}

#page article#pointcard .point-img {
	margin-bottom: 10px;
}

#page article#pointcard .sect6,
#page article#pointcard .sect4,
#page article#pointcard .sect5 {
	padding-top: 75px;
}


#page article#pointcard .cards-wrap {
	display: flex;
	justify-content: center;
	gap: 40px;
	width: 100%;
	max-width: 1150px;
}

#page article#pointcard .cards-wrap .card {
	width: 50%;
	display: flex;
	flex-direction: column;
	align-items: center;
}

#page article#pointcard .cards-wrap .card h3 {
	font-size: clamp(1rem, 0.863rem + 0.58vw, 1.563rem);
	line-height: clamp(1.5rem, 1.288rem + 0.91vw, 2.375rem);
}

#page article#pointcard .cards-wrap .card p {
	margin: 10px auto 20px;
}

#page article#pointcard .sect6 {
	padding-bottom: 129px;
}

#page article#pointcard .benefits {
	border: 5px solid #E5B3C4;
	padding: 20px 1.5rem 50px;
	gap: initial;
}

#page article#pointcard .benefits h3 {
	font-size: clamp(1.125rem, 1.064rem + 0.26vw, 1.375rem);
	line-height: clamp(1.688rem, 1.596rem + 0.39vw, 2.063rem);
	background-color: unset;
	color: #981A45;
	background: radial-gradient(circle farthest-side, #D59AAE, #D59AAE 35%, transparent 35%, transparent);
	background-size: 10px 4px;
	background-repeat: repeat-x;
	background-position: bottom;
	padding: 0 0 20px;
	margin: 0 0 25px;
}

#page article#pointcard .benefits p {
	text-align: center;
}

#page article#pointcard .benefits ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

#page article#pointcard .benefits ul li {
	max-width: 1024px;
	--indent: clamp(1.125rem, 1.004rem + 0.52vw, 1.625rem);
	padding-left: var(--indent);
	text-indent: calc(var(--indent) * -1);
}

#page article#pointcard .benefits .btn-green {
	margin-top: 25px;
	width: 100%;
	display: none;
}

#page article#pointcard .benefits .btn-green a {
	font-size: clamp(1.25rem, 1.098rem + 0.65vw, 1.875rem);
	line-height: clamp(1.875rem, 1.647rem + 0.97vw, 2.813rem);
	width: 100%;
	max-width: calc(650px - 2rem);
	padding: 28px 1rem;
	margin: 0 auto;
}

#page article#pointcard section#banner {
	padding-top: 105px;
}

/** JAポイントカード改修20260826追加 **/

#page article#pointcard .sect3 h2 {
	margin: 20px auto 25px;
	line-height: clamp(2.5rem, 1.93rem + 0.894vw, 3rem);
}

#page article#pointcard .sect3 h2::after,
#page article#pointcard .sect3 h2::before {
	top: 50%;
}

#page article#pointcard .sect3 h2::before {
	transform: translateY(-50%) rotate(-10deg);
}

#page article#pointcard .sect3 h2::after {
	transform: translateY(-50%) rotate(10deg);
}

#page article#pointcard .point-info h3 {
	font-size: clamp(1.25rem, 1.022rem + 0.97vw, 2.188rem);
	line-height: clamp(1.875rem, 1.526rem + 1.49vw, 3.313rem);
	margin-bottom: 32px;
}

#page article#pointcard .balance-point,
#page article#pointcard .point-cards,
#page article#pointcard .terms {
	padding: 35px 1rem 45px;
	gap: 28px 0;
}

#page article#pointcard .balance-point .point-title p,
#page article#pointcard .point-cards .point-title p {
	color: #981A45;
	font-size: clamp(1rem, 0.939rem + 0.26vw, 1.25rem);
	line-height: clamp(1.5rem, 1.409rem + 0.39vw, 1.875rem);
	max-width: 990px;
}

#page article#pointcard .point-cards .point-title p {
	text-align: center;
}

#page article#pointcard .balance-point .point-title p.note {
	color: #473138;
	font-size: 14px;
	margin-top: 10px;
}

#page article#pointcard .terms .btns,
#page article#pointcard .point-info .btns {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
	justify-content: center;
}

#page article#pointcard .point-info .btns {
	gap: 10px;
}

#page article#pointcard .terms .btns .btn-green a,
#page article#pointcard .point-info .btns .btn-green a {
	color: #00A291;
	font-size: 1rem;
	line-height: 1.5rem;
	background-color: #ffffff;
	border-radius: calc(infinity * 1px);
	border: 3px solid;
	padding: 0 25px 0 35px;
	height: calc(45px - 5px);
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	gap: 0 0.5rem;
	width: 100%;
	box-sizing: border-box;
}

#page article#pointcard .point-info .btns .btn-green a {
	height: calc(50px - 5px);
}

#page article#pointcard .point-info .btns .btn-green a {
	color: #fff;
	font-size: clamp(1rem, 0.939rem + 0.26vw, 1.25rem);
	line-height: clamp(1.5rem, 1.409rem + 0.39vw, 1.875rem);
	background-color: #00A291;
	border-color: #00A291;
}

#page article#pointcard .terms .btns .btn-green a img {
	width: 1rem;
}

#page article#pointcard .cards-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-template-rows: repeat(10, auto);
	column-gap: 45px;
	row-gap: 9px;
	max-width: 1040px;
}

#page article#pointcard .cards-grid .card {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: 1 / span 10;
	min-width: 0;
}

#page article#pointcard .cards-grid .card:nth-child(1) {
	grid-column: 1;
}

#page article#pointcard .cards-grid .card:nth-child(2) {
	grid-column: 2;
}

#page article#pointcard .cards-grid .card h3 {
	grid-row: 1;
	margin: 0;
	text-align: center;
}

#page article#pointcard .cards-grid .card .card-img {
	margin: 30px auto;
}

#page article#pointcard .cards-grid .card img {
	max-width: 229px;
	box-shadow: 10px 10px 10px -5px rgba(0, 0, 0, .2);
}

#page article#pointcard .cards-grid .card dl {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: 3 / span 8;
	margin: 0;
}

#page article#pointcard .cards-grid .card dt {
	color: #fff;
	font-size: clamp(1rem, 0.939rem + 0.26vw, 1.25rem);
	line-height: clamp(1.5rem, 1.409rem + 0.39vw, 1.875rem);
	font-weight: 800;
	padding: 5px 10px;
	background-color: #981A45;
	border-radius: 5px;
	text-align: center;
}

#page article#pointcard .cards-grid .card dd {
	color: #473138;
	margin: 0;
	padding: 0 10px 15px;
}

#page article#pointcard .cards-grid .card dd:last-child {
	color: #981A45;
	font-size: 30px;
	font-weight: 800;
	text-align: center;
}

#page article#pointcard .point-cards .point-up {
	display: flex;
	align-items: center;
	background-color: #FFF1EE;
	border-radius: 20px;
	padding: 20px;
	gap: 20px;
	width: 100%;
	max-width: 770px;
	position: relative;
}

#page article#pointcard .point-cards .point-up::before {
	content: "";
	position: absolute;
	background-repeat: no-repeat;
	background-size: contain;
	pointer-events: none;
	background-image: url(../img/bank/torezo-card.webp);
	height: 144.78px;
	width: 136.9px;
	top: 30px;
	left: -80px;
}


#page article#pointcard .point-cards .point-up .left {
	display: flex;
	flex-direction: column;
	background-color: #fff;
	border-radius: 20px;
	padding: 30px;
	gap: 5px;
	margin-left: 50px;
}

#page article#pointcard .point-cards .point-up .left span {
	color: #981A45;
	font-size: 25px;
	font-weight: 800;
	line-height: 1;
}

#page article#pointcard .point-cards .point-up .left span:last-child {
	font-size: 46px;
}

#page article#pointcard .point-cards .point-up .right p.title {
	color: #981A45;
	font-size: clamp(1rem, 0.863rem + 0.58vw, 1.563rem);
	line-height: clamp(1.5rem, 1.288rem + 0.91vw, 2.375rem);
	font-weight: 800;
	margin-bottom: 10px;
}


#page article#pointcard .balance-point .merit {
	width: 100%;
	max-width: 1110px;
	margin: auto;
}


#page article#pointcard .balance-point .merit h4 {
	color: #fff;
	font-size: clamp(1rem, 0.939rem + 0.26vw, 1.25rem);
	line-height: clamp(1.5rem, 1.409rem + 0.39vw, 1.875rem);
	font-weight: 800;
	padding: 5px 10px;
	border-radius: 6px;
	background-color: #981A45;
	text-align: center;
}

#page article#pointcard .balance-point .merit p.lineflow {
	color: #981A45;
	font-size: clamp(0.75rem, 0.583rem + 0.71vw, 1.438rem);
	line-height: clamp(0.75rem, 0.583rem + 0.71vw, 1.438rem);
	font-weight: 800;
	text-align: center;
	margin: 30px auto 40px;
}

#page article#pointcard .balance-point .merit .flex {
	display: flex;
	justify-content: center;
	gap: 20px;
	border: 5px solid #D59AAE;
	border-radius: 20px;
	max-width: 600px;
	margin: auto;
	padding: 20px 30px;
}

#page article#pointcard .balance-point .merit .flex .left {
	position: relative;
}

#page article#pointcard .balance-point .merit .flex .left::before {
	content: "";
	position: absolute;
	background-repeat: no-repeat;
	background-size: contain;
	pointer-events: none;
	background-image: url(../img/tore-slide.svg);
	height: 122.09px;
	width: 119.79px;
	top: 85px;
	left: 50px;
}



#page article#pointcard .balance-point .merit .flex p {
	color: #981A45;
	font-size: clamp(1rem, 0.863rem + 0.58vw, 1.563rem);
	line-height: clamp(1.5rem, 1.288rem + 0.91vw, 2.375rem);
	font-weight: 800;
}




#page article#pointcard .balance-point .merit .flex p a {
	color: #981A45;
	font-size: clamp(1.25rem, 1.098rem + 0.65vw, 1.875rem);
	line-height: clamp(1.25rem, 1.098rem + 0.65vw, 1.875rem);
	text-decoration: underline;
	padding: 0 10px;
}

#page article#pointcard .balance-point p.link {
	margin: 20px auto 0;
	text-align: center;
}

#page article#pointcard .balance-point p.link a {
	padding: 0 5px;
	text-decoration: underline;
}

#page article#pointcard .balance-point p.link a img {
	width: 1rem;
}

#page article#pointcard .point-market {
	width: 100%;
	max-width: 895px;
	margin: 30px auto;
}

#page article#pointcard .point-market p.note {
	text-align: center;
	margin: 10px auto;
}

#page article#pointcard .point-market-box {
	width: 100%;
	border-radius: 20px;
	background-color: #FFF1EE;
	padding: 20px;
}



#page article#pointcard .point-market-box .flex-box {
	width: 100%;
	max-width: 790px;
	margin: auto;
}

#page article#pointcard .point-market-box .flex-box .flex {
	display: flex;
	align-items: center;
	gap: 20px;
	margin: 8px auto;
}

#page article#pointcard .point-market-box .flex-box .flex .left {
	color: #981A45;
	font-weight: 800;
	border-radius: 9999px;
	background-color: #fff;
	padding: 5px 20px;
}

#page article#pointcard .point-market-box .flex-box .flex .right {
	color: #473138;
}

/** 会員特典（JAポイントカード） **/
#page article#pointaction>section {
	padding-right: 100px;
	padding-left: 100px;
}

#page article#pointaction h2 {
	margin-bottom: 50px;
}

#page article#pointcard .white-box,
#page article#pointaction .white-box,
#page article#cardatm .white-box,
#page article#kawase .white-box {
	display: block;
	flex-direction: unset;
	align-items: unset;
}

#page article#pointaction .sect1 .white-box {
	padding: 34px calc(min(4vw, 75px) - 8px) 88px;
}

#page article#pointcard .sect4 .white-box {
	padding: 30px calc(min(4vw, 75px) - 8px) 40px;
}


#page article#pointcard .sect4 .white-box p.lead,
#page article#pointcard .table-title h3,
#page article#pointcard table td.gray,
#page article#pointcard .standard h3,
#page article#pointaction .sect1 .white-box p.lead,
#page article#pointaction .table-title h3,
#page article#pointaction table td.gray,
#page article#pointaction .standard h3,
#page article#chokin_kinri table td.gray,
#page article#loan_kinri table td.gray,
#page article#loan_kinri table td:not(.gray).left,
#page article#loan_kinri table td span.inner-head,
#page article#tesuryo table td.gray,
#page article#cardatm table td.gray,
#page article#cardatm table td.blue,
#page article#cardatm table td.pink,
#page article#kawase table td.gray,
#page article#ib-teiki table td.gray,
#page article#ib-teiki table td span.gray {
	color: #981A45;
	font-weight: 800;
}

#page article#pointaction .sect1 .white-box p.lead,
#page article#ib-teiki .white-box p.lead {
	font-size: clamp(1.125rem, 1.004rem + 0.52vw, 1.625rem);
	line-height: clamp(1.688rem, 1.505rem + 0.78vw, 2.438rem);
	padding: 0 min(74px, 4vw) 34px;
	margin-bottom: 30px;
	background-image: linear-gradient(to right, #000000 2px, transparent 2px);
	background-size: 6px 2px;
	background-repeat: repeat-x;
	background-position: bottom;
}

#page article#pointcard .table-title,
#page article#pointaction .table-title {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px 0;
	margin-bottom: 27px;
}

#page article#pointcard .table-title {
	margin-top: 5px;
}

#page article#pointcard .table-title h3,
#page article#pointaction .table-title h3,
#page article#pointaction .standard h3 {
	font-size: clamp(1rem, 0.848rem + 0.65vw, 1.625rem);
	line-height: clamp(1.5rem, 1.272rem + 0.97vw, 2.438rem);
	text-align: center;
}

#page article#pointcard .point-title h4,
#page article#pointcard .table-title h4 {
	color: #981A45;
	font-size: clamp(1rem, 0.848rem + 0.65vw, 1.625rem);
	line-height: clamp(1.5rem, 1.272rem + 0.97vw, 2.438rem);
	font-weight: 800;
	text-align: center;
}

#page article#pointcard .table-title h4.point-criteriat {
	margin-top: 20px;
}


#page article#pointcard .table-title p,
#page article#pointaction .table-title p,
#page article#pointaction .standard p {
	font-size: clamp(0.75rem, 0.689rem + 0.26vw, 1rem);
	line-height: clamp(1.125rem, 1.034rem + 0.39vw, 1.5rem);
	color: #473138;
}


#page article#pointaction .grant {
	padding-bottom: 60px;
	margin-bottom: 30px;
	background-image: linear-gradient(to right, #000000 2px, transparent 2px);
	background-size: 6px 2px;
	background-repeat: repeat-x;
	background-position: bottom;
	position: relative;
}

#page article#pointcard .grant {
	margin-bottom: 30px;
}

#page article#pointcard .tables,
#page article#pointaction .tables {
	margin-bottom: 35px;
}

#page article#pointcard .reduction .tables {
	margin-bottom: 80px;
}

#page article#pointcard .table-point {
	max-width: 970px;
	margin: 30px auto;
}

#page article#pointcard table,
#page article#pointaction table,
#page article#chokin_kinri table,
#page article#tesuryo table,
#page article#cardatm table,
#page article#kawase table,
#page article#ib-teiki table {
	position: relative;
}

#page article#pointcard .grant table::after,
#page article#pointcard .reduction table::after,
#page article#pointaction .grant table::after,
#page article#pointaction .reduction table::after,
#page article#chokin_kinri table::after,
#page article#tesuryo table::after,
#page article#cardatm table::after,
#page article#kawase table::after,
#page article#ib-teiki table::after {
	content: "";
	position: absolute;
	bottom: 2px;
	left: 50%;
	translate: -50%;
	width: calc(100% - 32px);
	height: 2px;
	background-image: linear-gradient(to right, #981A45 2px, transparent 2px);
	background-size: 6px 2px;
	background-repeat: repeat-x;
	background-position: bottom;
}

#page article#pointcard .grant .table-point table::after {
	content: initial;
}

#page article#pointcard p.caption,
#page article#pointcard table span.small,
#page article#pointaction p.caption,
#page article#pointaction table span.small,
#page article#cardatm p.caption,
#page article#cardatm p.caption,
#page article#kawase p.caption,
#page article#ib-teiki p.caption {
	font-size: clamp(0.625rem, 0.564rem + 0.26vw, 0.875rem);
	line-height: clamp(0.938rem, 0.846rem + 0.39vw, 1.313rem);
	color: #981A45;
}

#page article#pointcard p.caption,
#page article#pointaction p.caption,
#page article#cardatm p.caption,
#page article#kawase p.caption,
#page article#ib-teiki p.caption {
	text-align: right !important;
	margin-right: 16px;
	width: 100%;
	box-sizing: border-box;
}

#page article#pointcard table th,
#page article#pointaction table th,
#page article#chokin_kinri table th,
#page article#loan_kinri table th,
#page article#tesuryo table th,
#page article#cardatm table th,
#page article#kawase table th,
#page article#ib-teiki table th {
	font-size: clamp(0.875rem, 0.784rem + 0.39vw, 1.25rem);
	line-height: clamp(1.313rem, 1.176rem + 0.58vw, 1.875rem);
	font-weight: 800;
	color: #ffffff;
	background-color: #981A45;
	border-radius: 6px;
	padding: 4px 0 6px;
}

#page article#pointcard table span.small,
#page article#pointaction table span.small {
	margin-left: 5px;
	font-weight: 400;
}

#page article#pointcard table th span.small,
#page article#pointaction table th span.small {
	color: #ffffff;
}

#page article#pointcard table td.gray,
#page article#pointaction table td.gray,
#page article#chokin_kinri table td.gray,
#page article#loan_kinri table td.gray,
#page article#loan_kinri table td:not(.gray).left,
#page article#tesuryo table td.gray,
#page article#cardatm table td.gray,
#page article#cardatm table td.blue,
#page article#cardatm table td.pink,
#page article#kawase table td.gray,
#page article#ib-teiki table td.gray {
	background-color: #F0EEEB;
	border-radius: 6px;
	font-size: clamp(0.875rem, 0.784rem + 0.39vw, 1.25rem);
	line-height: clamp(1.313rem, 1.176rem + 0.58vw, 1.875rem);
	padding: 4px 10px 6px;
}

#page article#pointcard .grant table,
#page article#pointcard .reduction table,
#page article#pointaction .grant table,
#page article#pointaction .reduction table,
#page article#chokin_kinri table,
#page article#loan_kinri table,
#page article#tesuryo table,
#page article#cardatm table,
#page article#kawase table,
#page article#ib-teiki table {
	border-collapse: separate;
	border-spacing: 8px;
}


#page article#pointcard .grant .w1 {
	width: 160px;
}

#page article#pointcard .grant .grant3 .w1,
#page article#pointcard .grant .grant2 .w1 {
	width: calc(160px - 20px);
}

#page article#pointcard .grant .grant4 .w1 {
	width: 200px;
}


#page article#pointcard .grant .w2 {
	width: 480px;
}

#page article#pointcard .grant .grant3 .w2,
#page article#pointcard .grant .grant2 .w2 {
	width: calc(480px - 20px);
}

#page article#pointcard .grant .grant4 .w2 {
	width: 375px;
}

#page article#pointcard .grant .w3 {
	width: 155px;
}

#page article#pointcard .grant .grant4 .w3 {
	width: 375px;
}


#page article#pointcard .grant .w4 {
	width: 300px;
}


#page article#pointaction .grant .w1 {
	width: 72px;
}

#page article#pointaction .grant .grant2 .w1 {
	width: calc(72px - 20px);
}


#page article#pointaction .grant .w2 {
	width: 306px;
}

#page article#pointaction .grant .w3 {
	width: 170px;
}

#page article#pointaction .grant .grant2 .w3 {
	width: calc(170px - 2px);
}

#page article#pointaction .grant .w4 {
	width: 220px;
}

#page article#pointaction .grant .grant2 .w4 {
	width: calc(220px - 2px);
}

#page article#pointaction .grant .w5 {
	width: 143px;
}

#page article#pointaction .grant .grant2 .w5 {
	width: calc(143px - 2px);
}

#page article#pointaction .grant .w6 {
	width: 167px;
}

#page article#pointaction .grant .grant2 .w6 {
	width: calc(167px - 2px);
}

#page article#pointcard .grant .table-small {
	font-size: clamp(0.688rem, 0.612rem + 0.32vw, 1rem);
	line-height: clamp(1.031rem, 0.917rem + 0.49vw, 1.5rem);
}


#page article#pointcard .grant .semi-small,
#page article#pointaction .grant .semi-small,
#page article#chokin_kinri span.semi-small {
	font-size: clamp(0.688rem, 0.642rem + 0.19vw, 0.875rem);
	line-height: clamp(1.031rem, 0.963rem + 0.29vw, 1.313rem);
}

#page article#pointcard table td,
#page article#pointaction table td,
#page article#cardatm table td,
#page article#kawase table td,
#page article#ib-teiki table td {
	position: relative;
}

#page article#pointcard .grant table td:not(.no-centered),
#page article#pointcard .reduction table td:not(.no-centered),
#page article#pointaction .grant table td:not(.no-centered),
#page article#pointaction .reduction table td:not(.no-centered),
#page article#cardatm table td,
#page article#kawase table td,
#page article#ib-teiki table td {
	text-align: center;
}


#page article#pointcard .grant table td:not(.gray),
#page article#pointcard .reduction table td,
#page article#pointaction .grant table td:not(.gray),
#page article#pointaction .reduction table td,
#page article#cardatm table td:not(.gray, .blue, .pink),
#page article#kawase table td:not(.gray),
#page article#ib-teiki table td:not(.gray) {
	font-size: clamp(0.688rem, 0.612rem + 0.32vw, 1rem);
	line-height: clamp(1.031rem, 0.917rem + 0.49vw, 1.5rem);
	color: #473138;
}


#page article#pointcard .grant table td:not(.gray)::after,
#page article#pointaction .grant table td:not(.gray)::after,
#page article#pointaction .reduction table td::after,
#page article#chokin_kinri table td:not(.gray)::after,
#page article#loan_kinri table td:not(.gray)::after,
#page article#tesuryo table td:not(.gray)::after,
#page article#cardatm table td:not(.gray)::after,
#page article#kawase table td:not(.gray)::after,
#page article#ib-teiki table td:not(.gray)::after {
	content: "";
	position: absolute;
	bottom: -4px;
	left: 0;
	width: 100%;
	height: 2px;
	background-image: linear-gradient(to right, #919191 2px, transparent 2px);
	background-size: 6px 2px;
	background-repeat: repeat-x;
	background-position: bottom;
}

#page article#pointcard .grant table tr:last-child td:not(.gray)::after,
#page article#pointcard .grant table td.no-border::after,
#page article#pointcard .reduction table tr:last-child td::after,
#page article#pointaction .grant table tr:last-child td:not(.gray)::after,
#page article#pointaction .grant table td.no-border::after,
#page article#pointaction .reduction table tr:last-child td::after,
#page article#chokin_kinri table tr:last-child td:not(.gray)::after,
#page article#tesuryo table tr:last-child td::after,
#page article#cardatm table tr:last-child td::after,
#page article#cardatm table td.blue::after,
#page article#cardatm table td.pink::after,
#page article#kawase table tr:last-child td::after,
#page article#ib-teiki table tr:last-child td::after {
	content: none;
}

#page article#pointcard .grant .table-point table tr:last-child td:not(.gray)::after {
	content: "";
}


#page article#pointcard .reduction table td.border1::before {
	content: "";
	position: absolute;
	bottom: -4px;
	left: 0;
	width: 100%;
	height: 2px;
	background-image: linear-gradient(to right, #919191 2px, transparent 2px);
	background-size: 6px 2px;
	background-repeat: repeat-x;
	background-position: bottom;
}



#page article#pointcard .reduction table td.border2::after,
#page article#pointaction .reduction table td.border1::before,
#page article#pointaction .grant table td.border1::before,
#page article#cardatm table td.border1::before,
#page article#kawase table td.border1::before,
#page article#ib-teiki table td.border1::before {
	content: "";
	position: absolute;
	top: 0;
	right: -4px;
	width: 2px;
	height: 100%;
	background-image: linear-gradient(to bottom, #919191 2px, transparent 2px);
	background-size: 2px 6px;
	background-repeat: repeat-y;
	background-position: top right;
}

#page article#pointcard .reduction table td.border2 {
	padding: 10px;
}


#page article#pointcard .reduction table td.border2::before {
	content: "";
	position: absolute;
	top: 0;
	left: -4px;
	width: 2px;
	height: 100%;
	background-image: linear-gradient(to bottom, #919191 2px, transparent 2px);
	background-size: 2px 6px;
	background-repeat: repeat-y;
	background-position: top right;
}


#page article#pointcard .caution ol,
#page article#pointcard .caution ul,
#page article#pointaction .caution ol,
#page article#pointaction .caution ul {
	margin: 0;
	padding: 0 16px;
	list-style: none;
}

#page article#pointcard .caution li,
#page article#pointaction .caution li {
	font-size: clamp(0.75rem, 0.72rem + 0.13vw, 0.875rem);
	line-height: clamp(1.125rem, 1.079rem + 0.19vw, 1.313rem);
	color: #473138;
	display: flex;
}

#page article#pointcard .grant .caution ol li span.list-head {
	min-width: 1.8rem;
}

#page article#pointcard .grant .caution ul li span.list-head {
	min-width: 1.2rem;
}

#page article#pointaction .grant .caution ol li span.list-head {
	min-width: 2.5rem;
}

#page article#pointcard .grant .caution ul li span.list-head,
#page article#pointaction .grant .caution ul li span.list-head {
	min-width: 1.5rem;
}

#page article#pointcard .reduction table::after,
#page article#pointaction .reduction table::after {
	width: calc(100% - 16px);
}


#page article#pointcard .reduction .w1 {
	width: 260px;
}

#page article#pointcard .reduction .w2 {
	width: 310px;
}

#page article#pointcard .reduction .w3 {
	width: 395px;
}

#page article#pointcard .reduction .w4 {
	width: 130px;
}

#page article#pointaction .reduction .w1 {
	width: 322px;
}

#page article#pointaction .reduction .w2 {
	width: 182px;
}

#page article#pointaction .reduction .w3 {
	width: 440px;
}

#page article#pointaction .reduction .w4 {
	width: 150px;
}

#page article#pointcard .reduction th span.semi-small,
#page article#pointaction .reduction th span.semi-small {
	font-size: clamp(0.625rem, 0.534rem + 0.39vw, 1rem);
	line-height: clamp(0.938rem, 0.801rem + 0.58vw, 1.5rem);
}

#page article#pointcard .reduction .caution ol li span.list-head,
#page article#pointaction .reduction .caution ol li span.list-head {
	min-width: 2rem;
}


#page article#pointaction .sect2 {
	padding-bottom: 106px;
}

#page article#pointcard .standard,
#page article#pointaction .standard {
	padding: 44px min(73px, 4vw) 65px;
	display: flex;
	gap: 36px 0;
	flex-direction: column;
}

#page article#pointcard .standard .inner,
#page article#pointaction .standard .inner {
	width: 100%;
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: 6px;
	background-image: linear-gradient(to right, #000000 2px, transparent 2px);
	background-size: 6px 2px;
	background-repeat: repeat-x;
	background-position: bottom;
	padding-bottom: 36px;
}

#page article#pointcard .standard .inner:last-child,
#page article#pointaction .standard .inner:last-child {
	background: unset;
	padding-bottom: 0;
}

/** べんりに使う **/
#page article#service>section {
	padding-right: 100px;
	padding-left: 100px;
}

#page article#service .sect1 {
	padding-bottom: 92px;
}

#page article#yakuin .card-wrap,
#page article#service .card-wrap,
#page article#members .card-wrap {
	display: flex;
	grid-template-columns: unset;
	justify-content: center;
	gap: 30px 42px;
	margin-bottom: 0;
	flex-wrap: wrap;
}

#page article#yakuin .card-wrap {
	margin: 30px auto;
}

#page article#yakuin .card-wrap .card,
#page article#service .card-wrap .card,
#page article#rate_fee .card-wrap .card,
#page article#members .card-wrap .card {
	padding: 21px 13px 27px;
	gap: 14px 0;
}

#page article#yakuin .card-wrap .card a,
#page article#service .card-wrap .card a,
#page article#rate_fee .card-wrap .card a,
#page article#members .card-wrap .card a {
	max-width: 260px;
	margin: 0 auto;
}

#page article#service .sect3,
#page article#rate_fee .sect3 {
	padding-top: 128px;
}

/** 金利・手数料 **/
#page article#rate_fee>section {
	padding-right: 100px;
	padding-left: 100px;
}

#page article#rate_fee .sect1 {
	padding-bottom: 119px;
}

#page article#rate_fee .card-wrap {
	gap: 30px 43px;
	margin-bottom: 0;
}

#page article#rate_fee .sect2 {
	padding-top: 81px;
}

/** 貯金金利 **/
#page article#chokin_kinri>section {
	padding-right: 100px;
	padding-left: 100px;
}

#page article#chokin_kinri .white-box,
#page article#loan_kinri .white-box,
#page article#tesuryo .white-box {
	padding-right: calc(min(75px, 4vw) - 8px);
	padding-left: calc(min(75px, 4vw) - 8px);
}

#page article#chokin_kinri .sect1 .white-box {
	padding-top: 60px;
	padding-bottom: 60px;
}

#page article#chokin_kinri p.caption,
#page article#loan_kinri p.caption,
#page article#tesuryo p.caption {
	width: 100%;
	text-align: right;
	margin: 0 16px 12px 0;
	color: #981A45;
	font-size: clamp(0.625rem, 0.564rem + 0.26vw, 0.875rem);
	line-height: clamp(0.938rem, 0.846rem + 0.39vw, 1.313rem);
}

#page article#chokin_kinri span.semi-small {
	display: inline-block;
}

#page article#chokin_kinri div.pc-only:has(table) {
	width: 100%;
}

#page article#chokin_kinri table::after,
#page article#tesuryo table::after {
	width: calc(100% - 16px);
}

#page article#chokin_kinri table td,
#page article#loan_kinri table td,
#page article#tesuryo table td {
	text-align: center;
	font-size: 1rem;
	line-height: 1.5rem;
	position: relative;
}

#page article#chokin_kinri table td:not(.gray),
#page article#loan_kinri table td:not(.gray),
#page article#tesuryo table td:not(.gray) {
	font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
	line-height: clamp(1.313rem, 1.267rem + 0.19vw, 1.5rem);
	color: #473138;
}

#page article#chokin_kinri table .w1 {
	width: 80px;
}

#page article#chokin_kinri table .w2 {
	width: 278px;
}

#page article#chokin_kinri table .w3 {
	width: 161px;
}

#page article#chokin_kinri table .w4 {
	width: 189px;
}

#page article#chokin_kinri .sect2 {
	padding-top: 64px;
}

#page article#chokin_kinri .sect2 .white-box,
#page article#chokin_kinri .sect3 .white-box,
#page article#chokin_kinri .sect4 .white-box {
	padding-top: 38px;
	padding-bottom: 44px;
}

#page article#chokin_kinri .sect3,
#page article#chokin_kinri .sect4 {
	padding-top: 79px;
}

#page article#chokin_kinri .sect3 table,
#page article#chokin_kinri .sect4 table {
	table-layout: fixed;
}

#page article#chokin_kinri .sect4 {
	padding-bottom: 110px;
}

#page article#chokin_kinri .sect4 .white-box {
	margin-bottom: 104px;
}

#page article#chokin_kinri .net-bank {
	padding: 33px 1rem 47px;
	border: 5px solid #E5B3C4;
}

#page article#chokin_kinri .net-bank p,
#page article#loan_kinri .white-box>p:not(.caption) {
	font-size: clamp(0.75rem, 0.72rem + 0.13vw, 0.875rem);
	line-height: clamp(1.125rem, 1.079rem + 0.19vw, 1.313rem);
	color: #473138;
}

#page article#chokin_kinri .net-bank span.red {
	color: #E20000;
}

#page article#chokin_kinri .net-bank p.other {
	margin-top: 17px;
}

#page article#chokin_kinri .net-bank .btn-green {
	margin-top: 39px;
	width: 100%;
	max-width: 450px;
}

#page article#chokin_kinri .sect5 {
	padding-top: 105px;
}

/** ローン金利 **/
#page article#loan_kinri>section {
	padding-right: 100px;
	padding-left: 100px;
}

#page article#loan_kinri .sect1,
#page article#tesuryo .sect1 {
	padding-bottom: 142px;
}

#page article#loan_kinri .white-box {
	padding-top: 22px;
	padding-bottom: 64px;
}

#page article#loan_kinri p.caption,
#page article#tesuryo p.caption {
	margin: 0 16px 0 0;
}

#page article#loan_kinri table {
	margin-bottom: 30px;
}

#page article#loan_kinri table td.left,
#page article#tesuryo table td.left {
	text-align: left;
}

#page article#loan_kinri table td:not(.gray).left,
#page article#tesuryo table td:not(.gray).left {
	background-color: transparent;
}

#page article#loan_kinri table td.gray.left,
#page article#tesuryo table td.gray.left,
#page article#tesuryo table td:not(.gray).left {
	padding-left: min(20px, 1vw);
}

#page article#loan_kinri table tr td:last-child,
#page article#tesuryo table tr td:last-child {
	text-align: right;
	padding-right: min(20px, 1vw);
}

#page article#loan_kinri table .w1 {
	width: 358px;
}

#page article#loan_kinri table .w2 {
	width: 536px;
}

#page article#loan_kinri table .w3 {
	width: 198px;
}

#page article#loan_kinri .white-box>p:not(.caption) {
	width: calc(100% - min(40px, 2vw));
	text-align: left;
	padding-left: min(40px, 2vw);
}

#page article#loan_kinri .sect2,
#page article#tesuryo .sect2,
#page article#cardatm .sect4,
#page article#bank-info .sect2,
#page article#kawase .sect4,
#page article#ib-teiki .sect2 {
	padding-top: 105px;
}

/** 事務取扱手数料 **/
#page article#tesuryo>section {
	padding-right: 100px;
	padding-left: 100px;
}

#page article#tesuryo .white-box {
	padding-top: 22px;
	padding-bottom: 90px;
}

#page article#tesuryo table .w1 {
	width: 140px;
}

#page article#tesuryo table .w2 {
	width: 692px;
}

#page article#tesuryo table .w3 {
	width: 260px;
}

#page article#tesuryo table td.pc-only.gray {
	vertical-align: text-top;
}

#page article#tesuryo table td.gray.left {
	text-align: left;
}

#page article#tesuryo table td:not(.gray).left {
	padding: 5px 0 5px min(20px, 1vw);
}

#page article#tesuryo table tr.no-border td:not(.gray) {
	padding-bottom: 20px;
}

#page article#tesuryo table tr.no-border td:not(.gray)::after,
#page article#cardatm table td.no-border::after,
#page article#kawase table td.no-border::after {
	content: none;
}

#page article#tesuryo .caution {
	margin-top: 30px;
}

#page article#tesuryo .caution ol,
#page article#cardatm .caution ol,
#page article#kawase .caution ol {
	list-style: decimal;
}

#page article#tesuryo .caution li,
#page article#cardatm p.note,
#page article#cardatm .caution li,
#page article#kawase p.note,
#page article#kawase .caution li {
	font-size: clamp(0.75rem, 0.689rem + 0.26vw, 1rem);
	line-height: clamp(1.125rem, 1.034rem + 0.39vw, 1.5rem);
	color: #473138;
}

/** 手数料（カード・ATM） **/
#page article#cardatm>section {
	padding-right: 100px;
	padding-left: 100px;
}

#page article#cardatm .white-box,
#page article#kawase .white-box,
#page article#ib-teiki .white-box {
	padding: 21px calc(min(4vw, 75px) - 8px) 68px;
}

#page article#cardatm p.caption,
#page article#kawase p.caption,
#page article#ib-teiki p.caption {
	margin-right: 0;
	max-width: calc(100% - 8px);
}

#page article#cardatm table::after,
#page article#kawase table::after,
#page article#ib-teiki table::after {
	width: calc(100% - 16px);
}

#page article#cardatm table .w1 {
	width: 150px;
}

#page article#cardatm table .w2 {
	width: 140px;
}

#page article#cardatm table .w3 {
	width: 198px;
}

#page article#cardatm table .w4 {
	width: 64px;
}

#page article#cardatm table.cash2 .w4,
#page article#cardatm table.atm-table2 .w4 {
	width: calc(64px - 2px);
}

#page article#cardatm table .w5 {
	width: 160px;
}

#page article#cardatm table.cash2 .w5,
#page article#cardatm table.atm-table2 .w5 {
	width: calc(160px - 2px);
}

#page article#cardatm table .w6 {
	width: 130px;
}

#page article#cardatm table.cash4 .w6 {
	width: calc(130px - 2px);
}

#page article#cardatm table .w7 {
	width: 176px;
}

#page article#cardatm table.atm-table4 .w7 {
	width: calc(176px - 2px);
}

#page article#cardatm table th.mauve {
	background-color: #C14771;
	font-size: clamp(0.625rem, 0.519rem + 0.45vw, 1.063rem);
	line-height: clamp(0.938rem, 0.809rem + 0.55vw, 1.469rem);
}

#page article#cardatm table td.blue,
#page article#cardatm table td span.blue {
	background-color: #D9F0F9;
}

#page article#cardatm table td.pink,
#page article#cardatm table td span.pink {
	background-color: #F6D7E2;
}

#page article#cardatm table td.subhead,
#page article#kawase table td.subhead {
	font-size: clamp(0.688rem, 0.581rem + 0.45vw, 1.125rem);
	line-height: clamp(1.031rem, 0.872rem + 0.68vw, 1.688rem);
}

#page article#cardatm p.note,
#page article#kawase p.note {
	margin: 26px 0 0 20px;
}

#page article#cardatm p.note:last-child {
	margin: 0 0 0 20px;
}

#page article#cardatm .white-box li a img {
	width: 1rem;
	height: 1rem;
	margin-bottom: -2px;
}

#page article#cardatm .sect2,
#page article#cardatm .sect3,
#page article#kawase .sect2,
#page article#kawase .sect3 {
	padding-top: 97px;
}

#page article#cardatm .sect3,
#page article#kawase .sect3,
#page article#ib-teiki .sect1 {
	padding-bottom: 129px;
}

/** 金融関連情報 **/
#page article#bank-info>section {
	padding-right: 100px;
	padding-left: 100px;
}

#page article#bank-info .sect1 {
	padding-bottom: 152px;
}

#page article#bank-info .white-box {
	background-color: #ffffff;
	border-radius: 20px;
	padding: 26px min(70px, 4vw) 44px;
}

#page article#bank-info .white-box ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

#page article#bank-info .white-box li {
	background-image: linear-gradient(to right, #000000 2px, transparent 2px);
	background-size: 6px 2px;
	background-repeat: repeat-x;
	background-position: bottom;
}

#page article#bank-info .white-box li:last-child {
	background: unset;
}

#page article#bank-info .white-box li a {
	font-size: clamp(1.125rem, 1.034rem + 0.39vw, 1.5rem);
	line-height: clamp(1.688rem, 1.551rem + 0.58vw, 2.25rem);
	color: #981A45;
	font-weight: 800;
	display: inline-block;
	padding: 21px 26px;
}

#page article#bank-info .white-box li a img {
	width: 21px;
	height: 25px;
	margin: 0 0 -3px 13px;
}

/** JAのサービス **/
#page article#ja-service>section {
	padding-right: 100px;
	padding-left: 100px;
}

#page article#ja-service .sect1 {
	padding-bottom: 108px;
}

#page article#ja-service .service-wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 70px 35px;
	justify-content: center;
}

#page article#ja-service h2 {
	margin-bottom: 23px;
	font-size: clamp(1.25rem, 0.947rem + 1.29vw, 2.5rem);
	line-height: clamp(1.875rem, 1.42rem + 1.94vw, 3.75rem);
}

#page article#ja-service .white-box {
	background-color: #ffffff;
	border-radius: 20px;
	width: 100%;
	max-width: 616px;
	padding: 39px min(42px, 2vw);
	display: flex;
	gap: 20px 0;
	flex-direction: column;
	align-items: center;
}

#page article#ja-service .white-box .service-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px 0;
}

#page article#ja-service .white-box img {
	width: 100%;
	height: 124px;
	object-fit: contain;
	display: block;
	margin: 0 auto;
}

#page article#ja-service .white-box p {
	font-size: clamp(0.875rem, 0.784rem + 0.39vw, 1.25rem);
	line-height: clamp(1.313rem, 1.176rem + 0.58vw, 1.875rem);
	color: #981A45;
	text-align: left;
	min-height: 5rem;
	padding: 0 1rem;
}

#page article#ja-service .btn-green {
	width: 100%;
	max-width: 260px;
}

#page article#ja-service .sect2 {
	padding-top: 72px;
}

/** 手数料（内国為替） **/
#page article#kawase>section {
	padding-right: 100px;
	padding-left: 100px;
}

#page article#kawase table td.moregray {
	background-color: #E4E1DC;
}

#page article#kawase .sect2 .white-box {
	padding: 40px calc(min(4vw, 75px) - 8px);
}

#page article#kawase .sect2 table::after {
	content: none;
}

#page article#kawase .caution ol {
	margin: 20px 0 0;
}

/** ネットバンク **/
#page article#ib-teiki>section {
	padding-right: 100px;
	padding-left: 100px;
}

#page article#ib-teiki .white-box p.lead {
	padding: 0 1rem;
	margin-bottom: 30px;
	background: unset;
	color: #981A45;
	text-align: center;
}

#page article#ib-teiki .white-box p.lead span.bold {
	font-weight: 800;
	display: inline-block;
}

#page article#ib-teiki table {
	table-layout: fixed;
}

#page article#ib-teiki table td span.gray {
	font-size: clamp(0.875rem, 0.784rem + 0.39vw, 1.25rem);
	line-height: clamp(1.313rem, 1.176rem + 0.58vw, 1.875rem);
	background-color: transparent;
}

#page article#ib-teiki .ib-info {
	margin-top: 50px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 30px 0;
}

#page article#ib-teiki .ebank-note {
	margin-top: 20px;
}

/** 正組合員 **/
#page article#yakuin>section,
#page article#members>section {
	padding-right: 100px;
	padding-left: 100px;
}

#page article#members .white-box,
#page article#hottime .sect2 .white-box {
	padding: 45px min(74px, 4vw) 80px;
}

#page article#members #category-nav {
	flex-direction: row;
	justify-content: center;
	gap: 0 8px;
	margin: 0 0 25px;
	width: 100%;
}

#page article#members #category-nav,
#page article#members .content li .category,
#page.tax-fNews .content li .category,
#page.farmers-page .content li .category {
	font-size: clamp(0.6875rem, 3.5vw, 1.125rem);
	line-height: clamp(1.031rem, 0.872rem + 0.68vw, 1.688rem);
	font-weight: 800;
	padding: 5px 0 6px;
	width: 100%;
	text-align: center;
	color: #ffffff;
	border-radius: 6px;
}

#page article#members #category-nav a.other,
#page article#members .content li .category.other,
#page.tax-fNews .content li .category.other,
#page.tax-fNews .content aside #category-nav a.other,
#page.farmers-page .content li .category.other,
#page.farmers-page .content aside #category-nav a.other,
#page.single.fNews-page .content .content_body .single-meta .category.other,
#page.single.fNews-page .content aside a.other,
#page.tax-fNews .content>#category-nav a.other,
#page.farmers-page .content>#category-nav a.other,
#page.single.fNews-page section>#category-nav a.other {
	background-color: #62AA39;
}

#page article#members #category-nav a.info,
#page article#members .content li .category.info,
#page.tax-fNews .content li .category.info,
#page.tax-fNews .content aside #category-nav a.info,
#page.farmers-page .content li .category.info,
#page.farmers-page .content aside #category-nav a.info,
#page.single.fNews-page .content .content_body .single-meta .category.info,
#page.single.fNews-page .content aside a.info,
#page.tax-fNews .content>#category-nav a.info,
#page.farmers-page .content>#category-nav a.info,
#page.single.fNews-page section>#category-nav a.info {
	background-color: #9E6635;
}

#page article#members #category-nav a {
	width: 100%;
	max-width: 140px;
	font-size: clamp(0.6875rem, 3.5vw, 1.125rem);
	line-height: clamp(1.031rem, 0.872rem + 0.68vw, 1.688rem);
	padding: 5px 0 6px;
	border: 1px solid;
	border: 1px solid #00A291;
}

#page article#members #category-nav a.other {
	border: 1px solid #62AA39;
}

#page article#members #category-nav a.info {
	border: 1px solid #9E6635;
}

#page article#members #category-nav a.current {
	border: 1px solid;
}

#page article#members .content .news-body ul,
#page.tax-fNews .content .news-body ul,
#page.farmers-page .content .news-body ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 17px 0;
}

#page article#members .content li.news-card,
#page.tax-fNews .content li.news-card,
#page.farmers-page .content li.news-card {
	display: flex;
	gap: 0 34px;
	justify-content: space-between;
	background-image: linear-gradient(to right, #000000 2px, transparent 2px);
	background-size: 6px 2px;
	background-repeat: repeat-x;
	background-position: bottom;
	padding: 0 0 21px;
	align-items: center;
}

#page article#members .content li.news-card .inner,
#page.tax-fNews .content li.news-card .inner,
#page.farmers-page .content li.news-card .inner {
	display: flex;
	align-items: center;
	gap: 0 15px;
	width: 100%;
}

#page article#members .content li .news-meta,
#page.tax-fNews .content li .news-meta,
#page.farmers-page .content li .news-meta {
	width: 100%;
	max-width: 140px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px 0;
}

#page article#members .content li .news-text,
#page.tax-fNews .content li .news-text,
#page.farmers-page .content li .news-text {
	width: 100%;
}

#page article#members .content li .date,
#page.tax-fNews .content li .date,
#page.farmers-page .content li .date {
	font-size: clamp(0.75rem, 0.659rem + 0.39vw, 1.125rem);
	line-height: clamp(1.125rem, 0.988rem + 0.58vw, 1.688rem);
}

#page article#members .content li h3,
#page.tax-fNews .content li h3,
#page.farmers-page .content li h3 {
	font-size: clamp(0.875rem, 0.784rem + 0.39vw, 1.25rem);
	line-height: clamp(1.313rem, 1.176rem + 0.58vw, 1.875rem);
}

#page article#members .content li a img,
#page.tax-fNews .content li a img,
#page.farmers-page .content li a img {
	width: 20px;
	height: 23px;
	margin: 0 0 -4px 3px;
}

#page article#members .content li .btn-green a,
#page.tax-fNews .content li .btn-green a,
#page.farmers-page .content li .btn-green a {
	width: calc(160px - 6px);
	height: auto;
	padding: 4px 0 6px;
	font-size: 1rem;
	line-height: 1.5rem;
}

#page article#members .content li .btn-green a img,
#page.tax-fNews .content li .btn-green a img,
#page.tax-fNews .content .pagination h2,
#page.tax-fNews .content>#category-nav,
#page.tax-fNews .content>#archive-nav,
#page.farmers-page .content li .btn-green a img,
#page.farmers-page .content .pagination h2,
#page.farmers-page .content>#category-nav,
#page.farmers-page .content>#archive-nav,
#page.single.fNews-page section>#category-nav,
#page.single.fNews-page section>#archive-nav {
	display: none;
}

#page article#members .sect2,
#page article#members .sect3 {
	padding-top: 113px;
}

#page article#members .sect2 h2 {
	margin-bottom: 15px;
}

#page article#members .sect2 h2 .small {
	font-size: clamp(0.75rem, 0.583rem + 0.71vw, 1.438rem);
	line-height: clamp(0.75rem, 0.583rem + 0.71vw, 1.438rem);
}

#page article#members .sect2 .icon-torezo h2::before,
#page article#members .sect2 .icon-torezo h2::after {
	top: 15px;
}

#page article#members .sect2 .btn-green {
	max-width: 252px;
	margin: 0 auto 67px;
}

#page article#members .sect2 ul,
#page article#hottime .sect2 ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 24px 0;
}

#page article#members .sect2 .white-box,
#page article#hottime .sect2 .white-box {
	padding: 20px min(40px, 2vw);
}

#page article#members .sect2 .inner,
#page article#hottime .sect2 .inner {
	display: flex;
	flex-direction: column;
	gap: 19px 0;
	width: 100%;
}

#page article#members .hottime-body,
#page article#hottime .hottime-body {
	display: flex;
	align-items: flex-start;
	gap: 0 min(58px, 3vw);
	padding: 0 min(40px, 2vw);
}

#page article#members .hottime-body .hot1,
#page article#hottime .hottime-body .hot1 {
	min-width: 405px;
	max-width: 405px;
	display: flex;
	flex-direction: column;
	gap: 15px 0;
}

#page article#members .hottime-body .hot1 img,
#page article#hottime .hottime-body .hot1 img {
	width: 100%;
	height: 240px;
	object-fit: cover;
	object-position: center;
	border-radius: 16px;
}

#page article#members .hottime-body .hot1 a:has(p.event-period),
#page article#hottime .hottime-body .hot1 a:has(p.event-period) {
	display: block;
	width: 100%;
	max-width: 206px;
	margin: 0 auto;
	text-align: center;
	background-color: #7B7B7B;
	color: #ffffff;
	border-radius: 6px;
	font-size: clamp(0.938rem, 0.846rem + 0.39vw, 1.313rem);
	line-height: clamp(1.406rem, 1.27rem + 0.58vw, 1.969rem);
	padding: 3px 0;
}

#page article#members .hottime-body .hot1 a:has(p.event-period.accept),
#page article#hottime .hottime-body .hot1 a:has(p.event-period.accept) {
	background-color: #E34F03;
}

#page article#members .hottime-body .hot2,
#page article#hottime .hottime-body .hot2 {
	display: flex;
	flex-direction: column;
	gap: 12px 0;
}

#page article#members .hottime-body h3,
#page article#hottime .hottime-body h3 {
	font-size: clamp(1.125rem, 0.852rem + 1.17vw, 2.25rem);
	line-height: clamp(1.688rem, 1.278rem + 1.75vw, 3.375rem);
}

#page article#members .hottime-body .text p,
#page article#members .hottime-body .text a,
#page article#members .hottime-body .text span,
#page article#hottime .hottime-body .text p,
#page article#hottime .hottime-body .text a,
#page article#hottime .hottime-body .text span {
	font-size: clamp(0.75rem, 0.659rem + 0.39vw, 1.125rem) !important;
	line-height: clamp(1.125rem, 0.988rem + 0.58vw, 1.688rem) !important;
}

#page article#members .hottime-body .text a img.icon_pdf,
#page article#hottime .hottime-body .text a img.icon_pdf {
	width: 18px;
	height: 21px;
	margin-bottom: -3px;
}

#page article#members .sect2 .inner .date,
#page article#hottime .sect2 .inner .date {
	background-image: linear-gradient(to right, #000000 2px, transparent 2px);
	background-size: 6px 2px;
	background-repeat: repeat-x;
	background-position: top;
	text-align: center;
	padding-top: 15px;
	position: relative;
}

#page article#members .sect2 .inner .date::after,
#page article#hottime .sect2 .inner .date::after {
	content: "";
	position: absolute;
	background-image: url(../img/arrow-green.svg);
	background-repeat: no-repeat;
	background-size: contain;
	bottom: 0;
	right: 8px;
	width: 25px;
	height: 25px;
	pointer-events: none;
}

#page article#members .sect2 .inner .date p,
#page article#hottime .sect2 .inner .date p {
	font-size: clamp(0.875rem, 0.814rem + 0.26vw, 1.125rem);
	line-height: clamp(1.313rem, 1.221rem + 0.39vw, 1.688rem);
}

#page article#yakuin .sect1,
#page article#members .sect3 {
	padding-bottom: 151px;
}

#page article#yakuin .card-wrap,
#page article#members .card-wrap {
	display: grid;
	grid-template-columns: repeat(auto-fit, 394px);
	justify-content: center;
	gap: 40px;
}

#page article#yakuin .card-wrap .card,
#page article#members .card-wrap .card {
	border: 3px solid #A8CFCB;
	background-color: #ffffff;
}

#page article#yakuin .card-wrap .card h3,
#page article#members .card-wrap .card h3 {
	line-height: clamp(1.063rem, 0.865rem + 0.84vw, 1.875rem);
}

#page article#yakuin .card-wrap .card h3 span.small,
#page article#members .card-wrap .card h3 span.small {
	display: block;
	font-size: clamp(0.813rem, 0.706rem + 0.45vw, 1.25rem);
	line-height: clamp(1.219rem, 1.059rem + 0.68vw, 1.875rem);
}

/** 農業・営農情報（アーカイブ・カテゴリ） **/
#page.tax-fNews .content,
#page.farmers-page .content {
	margin: 0 auto;
}

#page.tax-fNews .content .news-wrap,
#page.farmers-page .content .news-wrap {
	width: 100%;
	max-width: 832px;
}

#page.tax-fNews .content .pagination .nav-links,
#page.farmers-page .content .pagination .nav-links {
	display: flex;
	gap: 0 15px;
}

#page.tax-fNews .content .pagination a.next,
#page.farmers-page .content .pagination a.next {
	margin-left: 25px;
}

#page.tax-fNews .content .pagination a.prev,
#page.farmers-page .content .pagination a.prev {
	margin-right: 25px;
}

/*** サイドバー ***/
#page.tax-fNews .content aside #category-nav a.other,
#page.farmers-page .content aside #category-nav a.other,
#page.single.fNews-page .content aside a.other {
	border: 2px solid #62AA39;
}

#page.tax-fNews .content aside #category-nav a.info,
#page.farmers-page .content aside #category-nav a.info,
#page.single.fNews-page .content aside a.info {
	border: 2px solid #9E6635;
}

#page.tax-fNews .content aside #category-nav a.current,
#page.farmers-page .content aside #category-nav a.current,
#page.single.fNews-page .content aside a.current,
#page.tax-fNews .content>#category-nav a.current,
#page.farmers-page .content>#category-nav a.current,
#page.single.fNews-page section>#category-nav a.current {
	border: 2px solid;
	background-color: #ffffff;
}

#page.tax-fNews .content aside #category-nav a.other.current,
#page.farmers-page .content aside #category-nav a.other.current,
#page.single.fNews-page .content aside a.other.current,
#page.tax-fNews .content>#category-nav a.other.current,
#page.farmers-page .content>#category-nav a.other.current,
#page.single.fNews-page section>#category-nav a.other.current {
	color: #62AA39;
}

#page.tax-fNews .content aside #category-nav a.info.current,
#page.farmers-page .content aside #category-nav a.info.current,
#page.single.fNews-page .content aside a.info.current,
#page.tax-fNews .content>#category-nav a.info.current,
#page.farmers-page .content>#category-nav a.info.current,
#page.single.fNews-page section>#category-nav a.info.current {
	color: #9E6635;
}

/** 農業・営農情報（記事個別） **/
#page.single.fNews-page .content .content_body .single-meta .category {
	border-radius: 6px;
	color: #ffffff;
	padding: 4px 25px 6px;
}

#page.single.fNews-page .content .content_body .single-body {
	max-width: 770px;
	margin: 20px auto;
}

#page.single.fNews-page .content .content_body .single-body p,
#page.single.fNews-page .content .content_body .single-body a {
	font-size: clamp(0.875rem, 0.814rem + 0.26vw, 1.125rem);
	line-height: clamp(1.313rem, 1.221rem + 0.39vw, 1.688rem);
}

#page.single.fNews-page .content .content_body .single-body a {
	color: #00A291;
	text-decoration: underline;
	text-underline-offset: 2px;
	display: inline-block;
	padding: 0 3px;
}

#page.single.fNews-page .content .content_body .single-body a img {
	width: clamp(0.75rem, 0.689rem + 0.26vw, 1rem);
	margin: 0 0 -3px 3px;
}

/** ほっとタイム **/
#page article#hottime>section {
	padding-right: 100px;
	padding-left: 100px;
}

/*** リード ***/
#page article#hottime .sect1 .white-box {
	padding: 41px 1rem 73px;
}

#page article#hottime .sect1 p.lead {
	font-size: clamp(1.125rem, 1.004rem + 0.52vw, 1.625rem);
	line-height: clamp(1.688rem, 1.505rem + 0.78vw, 2.438rem);
	font-weight: 800;
	max-width: 991px;
	margin-bottom: 30px;
}

#page article#hottime .sect1 h3,
#page article#jouhou_system-new .sect1 h3,
#page article#staff-only h3 {
	background-color: #F0EEEB;
	border-radius: 6px;
	font-size: clamp(1rem, 0.788rem + 0.91vw, 1.875rem);
	line-height: clamp(1.5rem, 1.181rem + 1.36vw, 2.813rem);
	width: 100%;
	max-width: 1039px;
	text-align: center;
	padding: 7px 0 9px;
	margin-bottom: 18px;
}

#page article#hottime .sect1 ul {
	margin: 0 0 25px;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 2px 0;
}

#page article#hottime .sect1 li {
	font-size: clamp(1rem, 0.954rem + 0.19vw, 1.188rem);
	line-height: clamp(1.5rem, 1.447rem + 0.23vw, 1.719rem);
	--indent: clamp(1rem, 0.954rem + 0.19vw, 1.188rem);
	padding-left: var(--indent);
	text-indent: calc(var(--indent) * -1 - 7px);
}

#page article#hottime .sect1 li span.list-head {
	color: #9DC93D;
	margin-right: 7px;
}

#page article#hottime .sect1 p.small {
	font-size: clamp(0.75rem, 0.72rem + 0.13vw, 0.875rem);
	line-height: clamp(1.125rem, 1.079rem + 0.19vw, 1.313rem);
	margin-bottom: 52px;
}

#page article#hottime .sect1 .about-hot,
#page article#jouhou_system-new .about-hot {
	width: 100%;
	max-width: 871px;
	border: 5px solid #83B832;
	border-radius: 16px;
	padding: 16px min(27px, 1.5vw) 30px;
}

#page article#hottime .sect1 .about-hot h3,
#page article#jouhou_system-new .about-hot h4 {
	font-size: clamp(1.125rem, 1.064rem + 0.26vw, 1.375rem);
	line-height: clamp(1.688rem, 1.596rem + 0.39vw, 2.063rem);
	background-color: unset;
	color: #83B832;
	background: radial-gradient(circle farthest-side, #83B832, #83B832 35%, transparent 35%, transparent);
	background-size: 10px 4px;
	background-repeat: repeat-x;
	background-position: bottom;
	padding: 0 0 20px;
	margin: 0 0 29px;
}

#page article#hottime .sect1 .about-hot p,
#page article#jouhou_system-new .about-hot p {
	max-width: 565px;
	margin: 0 auto;
}

/*** ほっとタイム本体 ***/
#page article#hottime .sect2 {
	padding-top: 83px;
	padding-bottom: 163px;
}

#page article#hottime .pagination {
	margin: 70px auto 0;
}

/** 農業情報システム **/
#page article#jouhou_system-new>section {
	padding-right: 100px;
	padding-left: 100px;
}

#page article#jouhou_system-new section.palegreen p,
#page article#jouhou_system-new section.palegreen li,
#page article#jouhou_system-new section.palegreen th,
#page article#jouhou_system-new section.palegreen td {
	font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
	line-height: clamp(1.313rem, 1.267rem + 0.19vw, 1.5rem);
}

#page article#jouhou_system-new section.palegreen p.small,
#page article#jouhou_system-new section.palegreen li.small {
	font-size: clamp(0.75rem, 0.689rem + 0.26vw, 1rem);
	line-height: clamp(1.125rem, 1.034rem + 0.39vw, 1.5rem);
}

#page article#jouhou_system-new .btn-outer {
	width: 100%;
	max-width: 600px;
	margin-top: 27px;
}

#page article#jouhou_system-new .btn-outer a {
	background-color: #00A291;
	max-width: calc(600px - 2rem);
}

/*** リード ***/
#page article#jouhou_system-new .sect1 .white-box {
	padding: 30px min(113px, 6vw) 65px;
}

#page article#jouhou_system-new .sect1 .white-box>div {
	width: 100%;
}

#page article#jouhou_system-new .sect1 .btn-outer {
	margin-bottom: 65px;
}

#page article#jouhou_system-new .register ol {
	margin: 0 auto 37px;
	display: flex;
	flex-direction: column;
	gap: 10px 0;
	max-width: 838px;
	padding-left: 1rem;
}

#page article#jouhou_system-new .about-hot {
	margin: 0 auto 70px;
	display: flex;
	flex-direction: column;
	align-items: center;
}

#page article#jouhou_system-new .about-hot h4 {
	width: 100%;
	text-align: center;
}

#page article#jouhou_system-new section.palegreen .about-hot p {
	max-width: 741px;
}

#page article#jouhou_system-new .browser,
#page article#jouhou_system-new .phone {
	margin: 0 auto;
	width: 100%;
	max-width: 800px;
}

#page article#jouhou_system-new .browser {
	margin-bottom: 37px;
}

#page article#jouhou_system-new .browser table {
	width: auto;
	margin: 0 auto 10px;
	border-collapse: separate;
}

#page article#jouhou_system-new section.palegreen .browser table th {
	text-align: left;
	vertical-align: top;
}

#page article#jouhou_system-new .browser ul,
#page article#jouhou_system-new .phone ul,
#page article#jouhou_system-new .sect2 .white-box ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

#page article#jouhou_system-new .sect2 .white-box ul {
	display: flex;
	flex-direction: column;
	gap: 10px 0;
}

#page article#jouhou_system-new span.list-head {
	margin-right: 8px;
}

#page article#jouhou_system-new section.palegreen .browser ul li,
#page article#jouhou_system-new section.palegreen .phone ul li,
#page article#jouhou_system-new section.palegreen .sect2 .white-box ul li {
	--indent: clamp(0.75rem, 0.689rem + 0.26vw, 1rem);
	padding-left: var(--indent);
	margin-left: var(--indent);
	text-indent: calc(var(--indent) * -1 - 8px);
}

#page article#jouhou_system-new section.palegreen .phone p {
	margin-bottom: 10px;
}

/*** FAQ ***/
#page article#jouhou_system-new .sect2 {
	padding-top: 78px;
	padding-bottom: 152px;
}

#page article#jouhou_system-new .faq-wrap {
	display: flex;
	flex-direction: column;
	gap: 30px 0;
	margin-bottom: 92px;
}

#page article#jouhou_system-new .sect2 .white-box {
	padding: 0 min(40px, 2vw) 40px;
	box-shadow: 10px 10px 10px 0px rgba(0, 0, 0, .1);
}

#page article#jouhou_system-new .sect2 .white-box h3 {
	font-size: clamp(1rem, 0.879rem + 0.52vw, 1.5rem);
	line-height: clamp(1.5rem, 1.318rem + 0.78vw, 2.25rem);
	background-image: linear-gradient(to right, #000000 2px, transparent 2px);
	background-size: 6px 2px;
	background-repeat: repeat-x;
	background-position: bottom;
	width: 100%;
	text-align: center;
	padding-bottom: 23px;
	margin-bottom: 23px;
}

#page article#jouhou_system-new .sect2 .white-box h3 span.large {
	font-size: clamp(1.875rem, 1.678rem + 0.84vw, 2.688rem);
	line-height: clamp(2.813rem, 2.517rem + 1.26vw, 4.031rem);
	margin-right: 1rem;
}

#page article#jouhou_system-new .sect2 .white-box ul {
	margin-bottom: 37px;
}

#page article#jouhou_system-new .sect2 .white-box ul,
#page article#jouhou_system-new section.palegreen .sect2 .white-box p {
	max-width: 1072px;
}

#page article#jouhou_system-new section.palegreen .sect2 .white-box p {
	width: 100%;
}

#page article#jouhou_system-new section.palegreen .white-box li.caution {
	color: #E10000;
}

#page article#jouhou_system-new .system-link {
	display: flex;
	flex-direction: column;
	align-items: center;
}

/** さといも選果場 **/
#page article#satoimo-senka>section {
	padding-right: 100px;
	padding-left: 100px;
}

#page article#satoimo-senka .ship1,
#page article#satoimo-senka .ship2.white-box,
#page article#satoimo-senka .ship3.white-box,
#page article#satoimo-senka .ship4.white-box {
	padding: 2rem 3rem;
}

#page article#satoimo-senka .ship1 p.update,
#page article#satoimo-senka .ship1 p.shipping {
	width: fit-content;
	margin: 0 auto;
}

#page article#satoimo-senka .ship1 p.update {
	margin-bottom: 1rem;
}

#page article#satoimo-senka .ship1 p.scroll-caution {
	margin: 1rem auto;
	width: fit-content;
	color: #0000ff;
}

#page article#satoimo-senka .ship1 .shipping-period {
	border: 4px double;
	border-radius: 10px;
	padding: 1rem 2rem;
}

#page article#satoimo-senka .ship1 .shipping-period p,
#page article#satoimo-senka .ship4 .senka-info h3,
#page article#satoimo-senka .ship4 .senka-info p {
	font-size: 1.25rem;
	line-height: 1.875rem;
	font-weight: bold;
	text-align: center;
}

#page article#satoimo-senka .ship1 p.shipping-caution {
	font-size: 0.875rem;
	line-height: 1.375rem;
	margin: 0.5rem auto 3rem;
}

#page article#satoimo-senka .allow-scroll {
	width: 100%;
}

#page article#satoimo-senka .ship1 table tr th,
#page article#satoimo-senka .ship1 table tr td,
#page article#satoimo-senka .ship2 table tr th,
#page article#satoimo-senka .ship2 table tr td {
	border: 1px solid #B7B7B7;
	text-align: center;
}

#page article#satoimo-senka .ship1 table tr:nth-child(2n),
#page article#satoimo-senka .ship2 table tr:nth-child(2n) {
	background-color: rgba(0, 99, 81, 0.05);
}

#page article#satoimo-senka .ship1 .ship-apply {
	margin-top: 1.5rem;
	display: flex;
	flex-direction: column;
	align-items: center;
}

#page article#satoimo-senka .ship1 .ship-apply h3 {
	margin-top: 1rem;
}

#page article#satoimo-senka .ship1 .ship-apply p.red {
	margin-top: 0.5rem;
	color: #ff0000;
}

#page article#satoimo-senka .ship3 h3 {
	margin-bottom: 1rem;
}

#page article#satoimo-senka .sect4 {
	padding-bottom: 151px;
}

#page article#satoimo-senka .ship4 h2 {
	margin-bottom: 5px;
}

#page article#satoimo-senka .ship4 p.senka-tel {
	margin-bottom: 1rem;
}

#page article#satoimo-senka>section a[href^="tel:"] {
	pointer-events: none;
	cursor: default;
}

/** 職員用ページ **/
#page article#staff-only>section {
	padding-right: 100px;
	padding-left: 100px;
}

#page article#staff-only section.term1 {
	padding-top: 100px;
}

#page article#staff-only section:not(.sect1, .term1) {
	padding-top: 65px;
}

#page article#staff-only section:last-child,
#page article#page-not-found .sect1 {
	padding-bottom: 179px;
}

#page article#staff-only section ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

#page article#staff-only h3,
#page article#staff-only h4 {
	color: #3A45A5;
}

#page article#staff-only h4 {
	font-size: clamp(0.875rem, 0.693rem + 0.78vw, 1.625rem);
	line-height: clamp(1.313rem, 1.039rem + 1.17vw, 2.438rem);
}

/*** カテゴリ ***/
#page article#staff-only .sect1 h2 {
	font-size: 2rem;
	line-height: 3rem;
	margin-bottom: 13px;
}

#page article#staff-only .sect1 h2::before,
#page article#staff-only .sect1 h2::after {
	content: none;
}

#page article#staff-only .sect1 .white-box {
	padding: 25px 1rem 51px;
	position: relative;
}

#page article#staff-only .sect1 .white-box::before,
#page article#staff-only .sect1 .white-box::after {
	bottom: -15px;
}

#page article#staff-only .sect1 ul {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	width: 100%;
	justify-content: center;
}

#page article#staff-only .sect1 li {
	width: 100%;
	max-width: 218px;
}

#page article#staff-only .sect1 li a {
	display: block;
	width: 100%;
	text-align: center;
	border-radius: 6px;
	font-size: clamp(0.875rem, 0.754rem + 0.52vw, 1.375rem);
	line-height: clamp(1.313rem, 1.13rem + 0.78vw, 2.063rem);
	font-weight: 800;
	color: #ffffff;
	padding: 6px 0 9px;
}

#page article#staff-only .sect1 ul li:nth-child(3n+1) a {
	background-color: #24388A;
}

#page article#staff-only .sect1 ul li:nth-child(3n+2) a {
	background-color: #954217;
}

#page article#staff-only .sect1 ul li:nth-child(3n+3) a {
	background-color: #208268;
}

/*** 記事一覧 ***/
#page article#staff-only .staff-post-wrap .white-box {
	padding: 39px min(72px, 4vw) 64px;
	gap: 40px 0;
}

#page article#staff-only .staff-box {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	background-image: linear-gradient(to right, #3A45A5 2px, transparent 2px);
	background-size: 5px 2px;
	background-repeat: repeat-x;
	background-position: bottom;
	padding-bottom: 26px;
}

#page article#staff-only .staff-box:last-child {
	padding-bottom: 0;
}

#page article#staff-only .staff-box ul {
	width: 100%;
	max-width: 867px;
	display: flex;
	flex-direction: column;
	gap: 13px 0;
}

#page article#staff-only .staff-box ul li {
	background-image: linear-gradient(to right, #000000 2px, transparent 2px);
	background-size: 6px 2px;
	background-repeat: repeat-x;
	background-position: bottom;
	padding: 0 20px 13px;
}

#page article#staff-only .staff-box:last-child,
#page article#staff-only .staff-box ul li:last-child {
	background: unset;
}

#page article#staff-only .staff-box ul li a {
	padding-left: 30px;
	font-size: clamp(0.75rem, 0.659rem + 0.39vw, 1.125rem);
	line-height: clamp(1.125rem, 0.988rem + 0.58vw, 1.688rem);
	color: #00A291;
	text-decoration: underline;
}

/* 404 */
#page article#page-not-found>section {
	padding-right: 100px;
	padding-left: 100px;
}

#page article#page-not-found .white-box {
	padding: 50px 1rem;
	gap: 30px 0;
}

#page article#page-not-found .white-box img {
	max-width: 140px;
}

#page article#page-not-found .white-box p {
	font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
	line-height: clamp(1.313rem, 1.267rem + 0.19vw, 1.5rem);
	text-align: center;
	color: #3A45A5;
}

#page article#page-not-found .white-box .btn-green {
	width: 100%;
	max-width: 260px;
}

/* フッター */
#footer {
	width: 100%;
	background-color: #DCF8F4;
	position: relative;
}

#footer .footer-content {
	display: flex;
	flex-direction: column;
	align-items: center;
}

#footer .content1 {
	padding: 33px 1rem 0;
}

#footer .logo {
	line-height: 0;
	margin-bottom: 30px;
}

#footer .footer-logo {
	width: min(440px, 23vw);
}

#footer .address {
	font-size: 1.125rem;
	display: flex;
	justify-content: center;
	gap: 9px;
	margin-bottom: 18px;
}

#footer .phone a {
	font-size: 1.875rem;
	text-align: center;
	display: block;
	width: fit-content;
	margin: 0 auto 23px;
}

#footer .finance-code {
	font-size: 0.875rem;
	line-height: 1.3125rem;
	border: 1px solid;
	border-radius: calc(infinity * 1px);
	text-align: center;
	width: fit-content;
	margin: 0 auto;
	padding: 2px min(25px, 1.3vw) 3px;
}

#footer ul {
	margin: 123px auto 45px;
	list-style: none;
	padding-left: 0;
	display: flex;
}

#footer ul li a {
	font-size: 1rem;
	line-height: 1rem;
	padding: 0 1.5rem;
	position: relative;
}

#footer ul li a::after {
	position: absolute;
	content: "";
	top: 5px;
	right: 0;
	width: 1px;
	height: 1rem;
	border-right: 1px solid;
}

#footer ul li:first-child a::before {
	position: absolute;
	content: "";
	top: 5px;
	left: 0;
	width: 1px;
	height: 1rem;
	border-left: 1px solid;
}

#footer .footer-content>div:has(p.copyright) {
	background-color: #00A291;
	width: 100%;
}

#footer .copyright {
	text-align: center;
	color: #ffffff;
	font-size: clamp(0.75rem, 0.607rem + 0.22vw, 0.875rem);
	line-height: clamp(1.125rem, 0.911rem + 0.33vw, 1.313rem);
	padding: 18px 0 19px;
}

#gotop {
	display: none;
	position: fixed;
	width: 94px;
	height: 94px;
	right: 128px;
	bottom: 10px;
	z-index: 99;
}

#gotop:hover a {
	opacity: 1;
}

#gotop:hover img {
	animation: jello;
	animation-duration: 1s;
}

@media (max-width: 1700px) {
	#g-navi ul.main-menu {
		justify-content: space-evenly;
	}
}

@media (max-width: 1600px) {
	#top section#event ul.swiper-wrapper {
		gap: 18px;
	}

	#top section#recipe .recipe-wrap {
		align-items: center;
		justify-content: center;
		margin-top: 50px;
		gap: 100px 0;
		flex-direction: column;
	}

	#page article#products #in-area,
	#page article#products #store {
		padding-right: 90px;
		padding-left: 90px;
	}

	#page article#shisan .utilize {
		margin: 0 50px 80px;
	}

	#page article#aid .aid-lead::before {
		bottom: -30px;
		left: 10px;
	}

	#page article#aid .aid-lead::after {
		bottom: -30px;
		right: 10px;
	}
}

@media (max-width: 1440px) {
	#g-navi ul.main-menu {
		justify-content: center;
		gap: 20px;
	}

	#g-navi ul.main-menu li.has-bg a {
		width: 120px;
		height: 35px;
		padding-bottom: 1px;
	}

	#g-navi h1 {
		max-width: 200px;
	}

	#g-navi ul li.menu-item-has-children ul.sub-menu li::before {
		top: -4px;
	}

	#gotop {
		right: 20px;
	}

	#top #lead .fv-menu {
		right: min(120px, 8.3vw);
	}

	#top #lead .fv-banner {
		bottom: min(100px, 9svh);
		left: min(43px, 3vw);
	}

	#top #lead .em-area {
		width: min(880px, 61vw);
	}

	#top #lead::before {
		bottom: min(70px, 6.5svh);
		right: min(110px, 9.6vw);
		max-width: 150px;
		height: min(190px, 17.6svh);
	}

	#top section#recipe::before {
		content: none;
	}

	#top section#recipe .title {
		width: 100%;
		max-width: 380px;
		height: 200px;
		margin: -75px auto 0;
	}

	#top section#topix .in100per::before {
		top: -85px;
	}

	#top section#topix .in100per::after {
		top: -130px;
	}

	#top section#topix .topix-wrap {
		max-width: min(1200px, 83vw);
		justify-content: center;
		flex-direction: column;
		align-items: center;
	}

	#top section#topix .type_body,
	#top section#topix .tab-container {
		width: 100%;
	}

	#top section#event .in100per::after {
		top: -50px;
		right: min(240px, 23.5vw);
	}

	#top section#event ul.swiper-wrapper {
		gap: 0;
	}

	#top section#event li.swiper-slide {
		max-width: unset;
	}

	#top section#event .swiper-button-prev {
		left: var(--swiper-navigation-sides-offset, -25px);
	}

	#top section#event .swiper-button-next {
		right: var(--swiper-navigation-sides-offset, -25px);
	}

	#top section#map .map-wrap::before,
	#page article#products #map .map-wrap::before {
		top: -110px;
		right: min(-50px, -3.5vw);
	}

	#page #lead h1::after {
		top: -80px;
	}

	#page article .icon-tore2 h2::after {
		top: -4px;
	}

	#page article .icon-products4 h2::before {
		top: -19px;
	}

	#page article .icon-products4 h2::after {
		top: -44px;
	}

	#page article#products #season .season-wrap {
		max-width: min(989px, 52vw);
	}

	#page article#kitchen #this-month .m-recipe-wrap {
		flex-direction: column;
		align-items: center;
	}

	#page article#kitchen #this-month .m-recipe-wrap .recipe-thumb img {
		width: 100%;
		max-width: 384px;
	}

	#page article#kitchen #this-month .recipe-content {
		width: auto;
	}

	#page article#bank .in1267:has(.bank-slide-wrap) {
		flex-direction: column;
		align-items: center;
		gap: 100px;
	}

	#page article#bank .bank-slide-wrap,
	#page article#bank .bank-side-wrap {
		max-width: 940px;
		width: 100%;
	}

	#page article#bank .in1267:has(.bank-slide-wrap) ul {
		max-width: calc(100% - min(44px, 2.4vw));
	}

	#page article#chokin .proxy-btns {
		gap: 15px;
		flex-direction: column;
	}

	#page article#soudankai .consult-table table th.sectname,
	#page article#soudankai .consult-table table th.consult-area,
	#page article#soudankai .consult-table table td.consult-area,
	#page article#soudankai .consult-table table th.consult-day,
	#page article#soudankai .consult-table table td.consult-day {
		width: auto;
	}

	#page article#soudankai .consult-lead::before,
	#page article#soudankai .consult-lead::after {
		bottom: -35px;
	}

	/** JAポイントカード改修20260826追加 **/
	#page article#pointcard .about-point .point-title {
		left: 100px;
	}


	#page article#pointcard .about-point .point-title p {
		max-width: 525px;
	}

	#page article#pointcard .about-point .point-info {
		margin: 10px auto 0;
	}

	#page article#pointcard .point-cards .point-up {
		justify-content: center;
	}


	#page article#pointcard .point-cards .point-up .left {
		margin-left: 100px;
	}

	#page article#pointcard .point-cards .point-up::before {
		left: 10px;
	}

}

@media (max-width: 1300px) {
	.above1300 {
		display: none;
	}

	.under1300 {
		display: block;
	}

	#top section#farmers {
		margin-top: 80px;
		padding-bottom: 0;
	}

	#top section#farmers .farmers-area {
		margin-top: 20px;
	}

	#top section#farmers #swiper2 .swiper-slide {
		gap: 0;
		flex-direction: column;
	}

	#page article#products #season .season-body {
		flex-direction: column-reverse;
	}

	#page article#products #season .season-content {
		width: auto;
	}

	#page article#products #map .map-wrap {
		margin: 70px auto 0;
	}

	#page.recipe-page .info1 {
		max-width: 50%;
	}

	#page article#yushi .loan-outer {
		gap: 15px;
		flex-direction: column;
	}

	#page.loan-page .loan-lead .lead-btns {
		flex-direction: column;
	}

	#page.loan-page .loan-wrap {
		padding: 0 1rem 24px;
	}

	#page.loan-page table.reduction th {
		width: 100%;
		max-width: calc(520px - 24px);
	}

	#page article#aid .aid-lead::before {
		bottom: -50px;
		left: 10px;
	}


}

@media (max-width: 1200px) {
	#top #lead ul.swiper-wrapper::after {
		left: 45%;
		translate: -55%;
		max-width: min(500px, 42vw);
	}

	#top section#recipe {
		margin-top: 80px;
	}

	#top section#recipe .recipe-inner-wrap {
		grid-template-columns: repeat(auto-fit, 240px);
		width: auto;
	}

	#top section#topix .in100per::before {
		top: -70px;
	}

	#top section#topix .in100per::after {
		top: -105px;
	}

	#top section#event .in100per::before {
		top: -50px;
	}

	#top section#event .in100per::after {
		top: -50px;
		right: min(220px, 22vw);
		width: min(130px, 13vw);
	}

	#top section#map .map-wrap,
	#page article#products #map {
		margin: 70px auto 0;
		padding-right: 92px;
	}

	#top section#map .map-wrap::before,
	#page article#products #map .map-wrap::before {
		top: -60px;
		right: 140px;
	}

	#top section#map .map-wrap::after,
	#page article#products #map .map-wrap::after {
		left: 130px;
	}

	#top section#service .service-btn a img {
		width: 150px;
		height: 150px;
	}

	#page #lead h1::after {
		top: -95px;
	}

	#page.products-page article .icon-products3 h2::before {
		top: 5px;
	}

	#page.products-page article .icon-products3 h2::after {
		top: 0;
	}

	#page article .icon-products4 h2::before {
		top: -10px;
	}

	#page article .icon-products4 h2::after {
		top: -29px;
	}

	#page article#netshop .tea-lead .deco1 {
		top: 55px;
	}

	#page article#kitchen #this-month .thisMonth1 {
		flex-direction: column;
	}

	#page article#vegetables .vege-inner {
		flex-direction: column;
	}

	#page article#vegetables .vege-inner:has(.vege-img) .vege-info {
		width: auto;
	}

	#page article#vegetables .vege-img {
		width: 50%;
		margin-bottom: 17px;
	}

	#page.loan-page table.reduction th {
		width: calc(100% - 24px);
		max-width: unset;
	}

	#page.loan-page table.reduction tr,
	#page.loan-page table.summary tr {
		flex-direction: column;
	}

	#page.loan-page table.summary th {
		min-width: unset;
		max-width: unset;
		width: calc(100% - 24px);
	}

	#page.loan-page table.summary td,
	#page.loan-page .red-caution {
		padding: 0 min(14px, 3.7vw);
	}

	#page article#pointcard .tables,
	#page article#pointaction .tables,
	#page article#cardatm .sect1 .tables,
	#page article#cardatm .sect2 .tables,
	#page article#kawase .sect1 .tables,
	#page article#kawase .sect3 .tables {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	#page article#pointcard .tables table,
	#page article#pointaction .tables table,
	#page article#cardatm .sect1 .tables table,
	#page article#cardatm .sect2 .tables table,
	#page article#kawase .sect1 .tables table,
	#page article#kawase .sect3 .tables table {
		min-width: 1120px;
	}

	#page article#pointaction .tables table tr:first-child th:not(:has(.semi-small)) {
		white-space: nowrap;
	}
}

/* 画面高さに対する調節 */
@media (max-height: 970px) {
	#torezo-navi .torezo-inner {
		gap: 10px;
	}

	#torezo-navi .global-search form>input {
		font-size: 14px;
		height: 35px;
		padding: 2px 17px 0;
	}

	#torezo-navi .global-search form>button {
		height: 35px;
	}

	#torezo-navi .global-search form>button::after {
		top: 5px;
		width: 19px;
		height: 27px;
	}

	#torezo-navi ul.nav-menu li a {
		font-size: 14px;
		line-height: 14px;
		padding: 6px 0 6px 24px;
	}

	#torezo-navi ul.nav-menu li.underline {
		padding-bottom: 10px;
		margin-bottom: 10px;
	}

	#torezo-navi ul.nav-menu li a::before {
		top: 9.5px;
		height: 12px;
	}

	#top #lead .fv-banner {
		bottom: min(90px, 12svh);
	}

	#gotop {
		width: 75px;
		height: 75px;
		right: 5px;
		bottom: 3px;
	}
}