@charset "utf-8";

:root {
    scroll-padding-top: min(8.6svh, 70px);
}

body.no-scroll {
    overflow: hidden;
    touch-action: none;
}

/* ヘッダー */
#header .in100per {
    height: min(8.6svh, 70px);
    display: block;
    position: relative;
}

#header .logo {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 213px;
    margin: 0 auto;
}

#header .logo a,
#header .logo img {
    display: block;
    height: 100%;
    width: min(190px, 50vw);
    margin: 0 auto;
    padding-right: 15px;
}

/** グローバルナビゲーション **/
#g-navi {
    display: none;
}

/*** スマホナビメニュー展開・格納 ***/
#s-menu {
    display: block;
    width: 55px;
    height: 55px;
    position: absolute;
    top: 2px;
    right: 5px;
}

#sp-navi {
    position: fixed;
    top: 0;
    right: 0;
    width: 100vw;
    background-color: rgba(0, 0, 0, 0.5);
    display: none;
    inset: 0;
}

.sp-navi-wrapper {
    background: #00A291;
    width: 100%;
    height: 100%;
    overflow-y: auto;
    margin-left: auto;
    position: relative;
    padding: 70px min(35px, 9vw) 32px min(58px, 15.5vw);
    -webkit-overflow-scrolling: touch;
}

#sp-navi.active {
    display: block;
    animation: slideInRight 0.4s forwards;
}

#sp-navi.slide-out {
    animation: slideOutRight 0.4s forwards;
}

#sp-navi .sp-close {
    position: absolute;
    top: 2px;
    right: 11px;
    width: 55px;
    height: 55px;
}

@keyframes slideInRight {
    from {
        transform: translateX(100%);
        opacity: 0.3;
    }

    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes slideOutRight {
    from {
        transform: translateX(0);
        opacity: 1;
    }

    to {
        transform: translateX(100%);
        opacity: 0;
    }
}

/** スマホナビ内部 **/
#sp-navi ul {
    list-style: none;
    padding-left: 0;
    margin: 0;
}

#sp-navi ul li a {
    color: #ffffff;
    font-weight: 800;
}

#sp-navi ul li.nav-head>a {
    display: block;
    font-size: 1.5rem;
    line-height: 1.5rem;
    padding-bottom: 15px;
}

#sp-navi ul li.nav-head::before {
    width: 1rem;
}

#sp-navi ul.sp-menu {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: relative;
    padding-bottom: 43px;
}

#sp-navi ul.sp-menu::after {
    position: absolute;
    content: "";
    bottom: 0;
    left: -23px;
    width: calc(100% + min(23px, 6vw));
    height: 2px;
    background-image: linear-gradient(to right, #ffffff 2px, transparent 2px);
    background-size: 6px 2px;
    background-repeat: repeat-x;
    background-position: bottom;
}

#sp-navi ul.sp-menu li {
    margin-bottom: 20px;
}

#sp-navi ul.sp-menu li:last-child {
    margin-bottom: 0;
}

#sp-navi ul.sub-menu li {
    margin-bottom: 12px;
}

#sp-navi ul.sub-menu li:last-child {
    margin-bottom: 0;
}

#sp-navi ul.sub-menu li a {
    position: relative;
}

#sp-navi ul.sub-menu li a::before {
    content: "⋯";
    position: absolute;
    top: 0;
    left: 3px;
    color: #ffffff;
}

#sp-navi ul.sub-menu li a {
    padding-left: min(26px, 7vw);
}

#sp-navi ul.sp-middle-menu {
    margin-top: 52px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

#sp-navi ul li.nav-head.emergence::before {
    content: none;
}

#sp-navi ul.sp-middle-menu li.nav-head.emergence a {
    border: 2px solid;
    border-radius: calc(infinity * 1px);
    background-color: #E2593C;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 0 3px;
    margin-left: min(-37px);
    width: calc(100% + min(39px, 10.4vw));
    height: 49px;
}

#sp-navi ul.sp-bottom-menu {
    margin: 29px 0 0 min(-39px, 10.4vw);
    display: flex;
    justify-content: center;
    gap: min(13px, 3.5vw);
}

/** スマホナビ内部の開閉 **/
#sp-navi .sub-menu {
    display: none;
}

#sp-navi li.is-open>.sub-menu {
    display: block;
}

/* とれ蔵ナビ */
#torezo-navi {
    top: unset;
    bottom: 10px;
    right: unset;
    left: 50%;
    translate: -50%;
    height: calc(100svh - 16px);
    transform: translateY(calc(100% - 60px));
    border: 3px solid #00A291;
    border-radius: 13px 13px 0 0;
    width: calc(100% - min(30px, 8vw));
}

#torezo-navi.is-open {
    transform: translateY(min(8.5svh, 69px));
}

#torezo-navi .nav-menu-wrapper {
    flex-direction: column;
    align-items: center;
    padding: 0 min(44px, 12vw);
}

#torezo-navi .nav-knob {
    flex-direction: row;
    padding: 13px 10px 0;
    gap: 10px;
}

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

#torezo-navi .nav-knob p {
    writing-mode: unset;
}

#torezo-navi .nav-knob img.nav-arrrow {
    width: 22px;
    transform: rotate(-90deg);
    margin-top: 1px;
}

#torezo-navi.is-open .nav-knob img.nav-arrrow {
    transform: rotate(90deg);
}

#torezo-navi .torezo-inner {
    padding-right: 0;
    margin-top: 28px;
    overflow-y: scroll;
}

#torezo-navi .global-search form>input {
    font-size: 1.125rem;
    height: 42px;
    padding: 2px 1rem 0;
}

#torezo-navi .global-search form>button {
    width: 56px;
    height: 44px;
}

#torezo-navi .global-search form>button::after {
    top: 10px;
    left: 49%;
    width: 21px;
    height: 28px;
}

#torezo-navi ul.nav-menu {
    column-count: 1;
    column-gap: unset;
}

#torezo-navi .nav-menu-list {
    width: 100%;
}

#torezo-navi ul.nav-menu li a::before {
    top: 11px;
    width: 16px;
    height: 13px;
}

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

#torezo-navi .em-pc {
    display: none;
}

#torezo-navi .em-sp {
    display: inline-block;
    width: 100%;
}

#torezo-navi ul.nav-menu li.em-sp a {
    background-color: #E2593C;
    border-radius: calc(infinity * 1px);
    color: #ffffff;
    width: calc(100% - 2rem);
    padding: 7px 1rem 8px;
    text-align: center;
}

#torezo-navi ul.nav-menu li.em-sp a::before {
    top: 9px;
    background-image: url(../img/nav-arrow_white.svg);
    left: 40px;
}

/* 左snsボタン群 */
#social-menu {
    display: none;
}

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

.cooking::after {
    content: none;
}

.pc-only,
#page.products-page .pro1 .product-info.pc-only {
    display: none;
}

.sp-only {
    display: block;
}

/* 非表示 */
#top #lead ul.swiper-wrapper::after,
#top #lead .fv-menu {
    display: none;
}

#page article #lead.suits::after,
#top section#topix .news_list article::after,
#top section#event .event_box .date::after,
#top section#map::after,
#top section#map .map-wrap::before,
#page article#products #season .season-wrap::before,
#page article#products #season .season-wrap::after,
#page article#products #map .map-wrap::before,
#page article#yushi .utilize::before,
#page article#shisan .utilize::before,
#page article#service .utilize::before,
#page article#bank .in1267:has(.bank-slide-wrap) ul::before,
#page.loan-page .loan-lead::before,
#page article#aid .aid-lead::before,
#page article#soudankai .consult-lead::before,
#page article#pointcard .about-card::before,
#page article#staff-only .sect1 .white-box::before {
    content: none;
}

/* トップページ */
/** リード **/
#top #lead {
    background-image: unset;
    background-repeat: unset;
    background-size: unset;
    background-position: unset;
    position: relative;
    height: calc(100svh - min(137px, 17svh));
}

#top #lead::before {
    bottom: min(90px, 11svh);
    right: 7px;
    max-width: 154px;
    height: 100%;
    max-height: 164px;
    background-image: url(../img/top/fv-torezo-sp.webp);
    z-index: 2;
}

#top #lead::after {
    bottom: -16px;
}

/*** ファーストビュー内バナー ***/
#top #lead .fv-banner {
    bottom: unset;
    top: min(65px, 8svh);
}

/*** 緊急のお知らせ ***/
#top #lead .em-area {
    width: 92vw;
    overflow: visible;
    bottom: 0;
    border-radius: 12px;
    padding: 30px 16px 16px;
}

#top #lead .em-area h2 {
    width: 100%;
    height: auto;
    max-width: calc(200px - 10px);
    position: absolute;
    top: min(-19px, -2.3svh);
    left: 50%;
    translate: -50%;
    border-radius: calc(infinity * 1px);
    gap: 8px;
    padding: 11px 5px 12px;
}

#top #lead .em-area h2 img {
    width: 25px;
    height: 25px;
}

#top #lead .em-area ul {
    padding: 0;
    width: 100%;
}

#top #lead .em-area li {
    gap: 13px;
}

#top #lead .em-area a img {
    width: 16px;
    height: 16px;
}

/*** スライダー ***/
#top #lead #swiper1 {
    margin: 0;
    max-height: 80svh;
}

#top #lead ul.swiper-wrapper {
    mask-image: unset;
    mask-repeat: unset;
    margin: 0;
    mask-size: unset;
    mask-position: unset;
    width: 100%;
}

/** いるま野の農産物 **/
#top section#farmers .farmers-area {
    margin-top: 0;
    padding: 0 1rem;
}

#top section#farmers .title a {
    padding: 2px 1rem;
    max-width: calc(322px - 2rem);
}

/*** 農産物スライダー ***/
#top section#farmers #swiper2 {
    perspective: unset;
}

#top section#farmers #swiper2 .swiper-wrapper {
    padding: 0;
}

#top section#farmers #swiper2 .swiper-slide img {
    width: min(310px, 80vw);
}

#top section#farmers #swiper2 .swiper-slide .fm-content {
    padding: 1rem;
    margin: 0 5%;
}

#top section#farmers #swiper2 .swiper-slide .fm-content a {
    padding: 9px 1.5rem 11px;
}

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

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

#top section#farmers #swiper2 .swiper-button-prev::after,
#top section#farmers #swiper2 .swiper-button-next::after,
#top section#topix .swiper-button-prev::after,
#top section#topix .swiper-button-next::after,
#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,
#top section#map .swiper-button-prev::after,
#top section#map .swiper-button-next::after,
#page article#products .season-wrap .swiper-button-prev::after,
#page article#products .season-wrap .swiper-button-next::after,
#page article#products #map .swiper-button-prev::after,
#page article#products #map .swiper-button-next::after,
#page>article:has(.in100per.burgundy) .banner_list .swiper-button-prev::after,
#page>article:has(.in100per.burgundy) .banner_list .swiper-button-next::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 30px;
    height: 30px;
    background-image: url(../img/top/slide-arrow.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

#top section#farmers #swiper2 .swiper-button-prev::after,
#top section#map .swiper-button-prev::after,
#page article#products #map .swiper-button-prev::after {
    transform: rotate(180deg);
}

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

/** とれ蔵キッチン **/
#top section#recipe {
    margin-top: 0;
    padding-bottom: 59px;
}

#top section#recipe .recipe-wrap {
    padding: 0 16px;
    margin-top: 29px;
    gap: 52px 0;
}

#top section#recipe .recipe-deco {
    padding-top: 94px;
}

#top section#recipe .recipe-deco,
#top section#recipe .recipe-deco .deco-img {
    overflow: visible;
}

#top section#recipe .recipe-deco .deco-img::before,
#top section#recipe .recipe-deco .deco-img::after {
    content: none;
}

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

#top section#recipe .recipe-inner-wrap,
#page article#kitchen #this-month .thisMonth2 {
    width: 100%;
    max-width: unset;
    justify-content: center;
    gap: 50px 30px;
}

#top section#recipe.animate .main-recipe {
    animation: unset;
    animation-duration: unset;
}

#top section#recipe .main-recipe::before,
#page article#kitchen #this-month .month-veges::before {
    top: -20px;
    left: -7px;
    width: 80px;
    height: 70px;
}

#top section#recipe .main-recipe::after,
#page article#kitchen #this-month .month-veges::after {
    top: -11px;
    right: -9px;
    width: 80px;
    height: 65px;
}

#top section#recipe .main-recipe>img {
    width: 100%;
    height: 218px;
    object-fit: cover;
    object-position: center;
}

#top section#recipe .recipe-inner-wrap .recipe-content,
#page article#kitchen #this-month .thisMonth2 .recipe-content {
    display: flex;
    grid-template-rows: unset;
    grid-row: unset;
    max-width: 261px;
    background-color: #ffffff;
    padding: 11px 12px;
    flex-direction: column;
    align-items: center;
}

#top section#recipe .recipe-content.recipe1::before,
#page article#kitchen #this-month .thisMonth2 .recipe-content.recipe1::before {
    top: -40px;
    left: 54%;
    width: 35px;
    height: 48px;
}

#top section#recipe .recipe-content.recipe2::before,
#page article#kitchen #this-month .thisMonth2 .recipe-content.recipe2::before {
    top: -38px;
    left: 45%;
    width: 38px;
    height: 45px;
}

#top section#recipe .recipe-content.recipe3::before,
#page article#kitchen #this-month .thisMonth2 .recipe-content.recipe3::before {
    top: -40px;
    left: 54%;
    width: 35px;
    height: 48px;
}

#top section#recipe .recipe-inner-wrap .recipe-content h3,
#page article#kitchen #this-month .thisMonth2 .recipe-content h3 {
    font-size: 1.25rem;
    line-height: 1.9rem;
    margin-top: 5px;
    font-weight: 400;
}

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

#top section#topix .in100per::after {
    top: -118px;
    right: unset;
    left: 50%;
    translate: -50%;
    width: 124px;
    height: 79px;
}

#top section#topix .topix-wrap {
    padding: 80px 17px 35px;
    gap: 13px;
    max-width: unset;
}

#top section#topix .type_body,
#top section#topix .tab-container {
    border-radius: 10px;
}

#top section#topix .type_body .archive_btn a,
#top section#topix .tab-container .archive_btn a {
    width: calc(138px - 2rem);
    padding: 7px 1rem 10px;
}

/*** トピックス部分 ***/
#top section#topix .type_body {
    padding: 15px;
}

#top section#topix .type_body h3 img {
    width: 112px;
}

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

#top section#topix .type_list {
    margin-top: 16px;
    position: relative;
}

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

#top section#topix .swiper-wrapper {
    flex-direction: unset;
    gap: 0;
}

#top section#topix .swiper-wrapper li.swiper-slide {
    max-width: calc(100% - 2px);
}

#top section#topix .type_list article a::after {
    bottom: 9px;
    right: 14px;
    width: 19px;
    height: 19px;
}

#top section#topix .type_list article .thumb {
    width: 46%;
    height: 170px;
}

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

#top section#topix .type_list article .category {
    padding: 4px 1rem 6px;
    font-size: clamp(0.688rem, 0.579rem + 0.46vw, 0.875rem);
    line-height: clamp(0.688rem, 0.579rem + 0.46vw, 0.875rem);
}

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

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

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

#top section#topix .swiper-button-prev::after {
    transform: rotate(180deg);
}

/*** タブ切り替え部分 ***/
#top section#topix .tab-container {
    padding: 16px 6px;
}

#top section#topix .tab_btns button,
#top section#topix .news_list article .category {
    font-size: clamp(0.688rem, 0.579rem + 0.46vw, 0.875rem);
    line-height: clamp(0.688rem, 0.579rem + 0.46vw, 0.875rem);
    padding: 5px 14px 4px;
    min-width: 80px;
}

#top section#topix .news_list {
    margin-top: 24px;
    background-size: 8px 2px;
}

#top section#topix .news_list article {
    background-size: 8px 2px;
    padding: 10px min(11px, 3vw);
}

#top section#topix .news_list article .info-wrap {
    flex-direction: row;
    justify-content: flex-start;
    gap: 9px;
}

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

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

#top section#event .in100per::before {
    top: -110px;
    left: 50%;
    translate: -50%;
    width: 137px;
    height: 84px;
}

#top section#event .in100per::after {
    top: -35px;
    right: min(200px, 20vw);
    width: 83px;
    height: 98px;
}

#top section#event .title::after {
    top: 80px;
    width: 186px;
    height: 34px;
}

#top section#event .event_list {
    max-width: unset;
    margin: 58px auto 0;
}

#top section#event #swiper4 {
    padding-inline-end: 28px;
}

#top section#event li.swiper-slide {
    border: 2px solid #A8CFCB;
}

#top section#event .event-img img {
    height: 104px;
}

#top section#event .event_box .content {
    margin-top: 10px;
    padding: 0 14px;
}

#top section#event .event-period {
    font-size: clamp(0.688rem, 0.434rem + 1.08vw, 1.125rem);
    line-height: clamp(0.688rem, 0.434rem + 1.08vw, 1.125rem);
    width: 107px;
    padding: 2px 1rem 4px;
}

#top section#event .event_box h3 {
    margin-top: 4px;
    padding-bottom: 1rem;
    font-size: clamp(0.875rem, 0.658rem + 0.93vw, 1.25rem);
    line-height: clamp(1.313rem, 0.987rem + 1.39vw, 1.875rem);
}

#top section#event .event_box .date {
    background-size: 8px 2px;
    margin: 0 14px;
    padding: 8px 0;
}

#top section#event .event_box .date p {
    font-size: clamp(0.625rem, 0.408rem + 0.93vw, 1rem);
    line-height: clamp(0.938rem, 0.612rem + 1.39vw, 1.5rem);
}

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

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

#top section#event .btn-green {
    margin: 18px auto 0;
    width: calc(138px - 2rem);
    padding: 7px 1rem 10px;
}

/** 直売所マップ **/
#top section#map {
    margin-top: 179px;
}

#top section#map::before {
    top: -137px;
    left: 50%;
    translate: -50%;
    width: 140px;
    height: 113px;
}

#top section#map .map-wrap,
#page article#products #map .map-wrap {
    margin: 70px auto 0;
    padding: 0 1rem;
}

#top section#map .map-wrap::after,
#page article#products #map .map-wrap::after {
    width: 180px;
    left: min(58px, 15vw);
}

#top section#map .btn-green,
#page article#products #map .btn-green {
    margin: 55px auto 0;
    width: calc(200px - 2.5rem);
    max-width: unset;
    padding: 7px 1rem 10px;
}

/*** クリッカブルマップ効果解除 ***/
#top section#map .map-wrap svg a,
#page article#products #map .map-wrap svg a {
    pointer-events: none;
}

#top section#map .map-wrap svg,
#page article#products #map .map-wrap svg {
    cursor: default;
    height: auto;
}

#top section#map .map-popup,
#page article#products #map .map-popup {
    display: none !important;
}

/*** 直売所スライダー ***/
#top section#map .store-slide,
#page article#products #map .store-slide {
    display: block;
    position: relative;
    margin-top: 40px;
}

#top section#map #swiper6,
#page article#products #map #swiper6 {
    padding-inline-end: 42px;
    -webkit-padding-inline-end: 42px;
}

#top section#map .store-slide ul,
#page article#products #map .store-slide ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

#top section#map .store-slide li,
#page article#products #map .store-slide li {
    background-color: #ea5f37;
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid #ea5f37;
    position: relative;
    max-width: unset;
}

#top section#map .store-slide li::after,
#page article#products #map .store-slide li::after {
    content: "";
    position: absolute;
    background-image: url(../img/top/arrow-trans.svg);
    background-repeat: no-repeat;
    background-size: contain;
    bottom: 17px;
    right: 19px;
    width: 19px;
    height: 19px;
    pointer-events: none;
}

#top section#map .store-slide li a,
#page article#products #map .store-slide li a {
    display: flex;
    flex-direction: row;
    gap: 1px;
    width: 100%;
}

#top section#map .store-slide li .store-img,
#page article#products #map .store-slide li .store-img {
    width: 45%;
    height: 210px;
}

#top section#map .store-slide li .store-img img,
#page article#products #map .store-slide li .store-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

#top section#map .store-slide .content,
#page article#products #map .store-slide .content {
    width: 55%;
}

#top section#map .store-slide .content .store-num,
#page article#products #map .store-slide .content .store-num {
    background-color: #ffffff;
    color: #ea5f37;
    font-weight: 800;
    font-size: 2rem;
    line-height: 3rem;
    padding: 0 0 3px 14px;
}

#top section#map .store-slide .content .store-place,
#page article#products #map .store-slide .content .store-place {
    font-size: 1.3rem;
    line-height: 2rem;
    color: #ffffff;
    padding: 9px 30px 0;
}

#top section#map .store-slide .content h3,
#page article#products #map .store-slide .content h3 {
    color: #ffffff;
    font-size: 1.5rem;
    line-height: 2.3rem;
    padding: 3px 30px 0;
}

#top section#map .swiper-button-prev,
#page article#products #map .swiper-button-prev {
    left: var(--swiper-navigation-sides-offset, min(15vw));
    top: var(--swiper-navigation-top-offset, 53%);
}

#top section#map .swiper-button-next,
#page article#products #map .swiper-button-next {
    right: var(--swiper-navigation-sides-offset, min(15vw));
    top: var(--swiper-navigation-top-offset, 53%);
}

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

#top section#service::after {
    top: -130px;
    right: unset;
    left: 50%;
    translate: -50%;
    width: 170px;
    height: 112px;
}

#top section#service .service-btn-wrap {
    margin-top: 25px;
    gap: 24px min(40px, 11vw);
}

#top section#service .service-btn {
    width: 143px;
}

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

#top section#service .service-btn .large {
    font-size: 1.3rem;
    line-height: 1.7rem;
    margin-top: 4px;
}

#top section#service .service-btn .small {
    margin-top: 0;
    font-size: 11px;
}

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

#top section#banner .banner_list,
#page>article:has(.in100per.burgundy) .banner_list {
    max-width: 375px;
}

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

#top section#banner li.swiper-slide,
#page>article:has(.in100per.burgundy) .banner_list li.swiper-slide {
    max-width: unset;
}

#top section#banner li.swiper-slide.swiper-slide-prev,
#top section#banner li.swiper-slide.swiper-slide-next {
    opacity: .5;
    transition: all .3s;
}

#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, 56%);
}

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

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

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

#page .breadcrumb {
    display: none;
}

#page article .bg-lightgreen h2 {
    margin-top: -55px;
    padding: 10px min(56px, 15vw) 12px;
    font-size: clamp(1.25rem, 0.816rem + 1.85vw, 2rem);
    line-height: clamp(1.875rem, 1.224rem + 2.78vw, 3rem);
}

#page article>section.t25,
#page article>section:has(.t25) {
    padding-top: 25px;
}

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

#page a.btn-green,
#page .capsule-wrap .cap-box .btn-green a,
#page article#kitchen #this-month .thisMonth-wrap .btn-green,
#page article#vegetables .s-vege-card .btn-green,
#page article#vegetables .seasonal-recipe .btn-green,
#page article#bank .capsule-wrap .btn-green button,
#page article#chokin section.sect1 .btn-green a,
#page article#chokin .capsule-wrap .btn-green button,
#page article#ja-service .btn-green a,
#page article#page-not-found .white-box .btn-green a {
    height: calc(34px - 1px);
}

#page .btn-outer a {
    padding: 5px 1rem 7px;
}

#page .capsule-wrap {
    gap: 30px;
}

#page .capsule-wrap .cap-box {
    width: 100%;
    max-width: calc(608px - 6px);
}




/** リード（タイトル部分） **/
#page #lead {
    height: 176px;
    margin-bottom: 30px;
}

#page:has(h2.bg-lightgreen) #lead {
    margin-bottom: 0;
}

#page #lead h1 {
    padding: 14px 1rem 17px;
}

#page #lead .page-title::after {
    bottom: -38px;
    width: min(198px);
    height: 39px;
}

#page #lead p {
    bottom: -25px;
}

#page #lead p.smaller {
    font-size: 1.2rem;
}

/*** リード部とれ蔵 ***/
#page article #lead.kuwa::after,
#page article #lead.crop::after,
#page article #lead.park::after,
#page article #lead.cherry::after {
    content: none;
}

/*** 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 {
    top: 0;
    left: -54px;
    width: min(49px);
    height: 34px;
}

#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 {
    top: 1px;
    right: -56px;
    width: min(49px);
    height: 34px;
}

#page article .torezo-copyright::after {
    top: 40px;
    right: -53px;
    width: min(47px);
    height: 8px;
}

/***** タイトルが2行になるときのとれ蔵 *****/
#page article .icon-torezo h2.title-row::before {
    top: 17px;
}

#page article .icon-torezo h2.title-row::after {
    top: 18px;
}

/**** とれ蔵・とれ美 ****/
#page article .icon-tore2 h2::before {
    top: 5px;
    left: -70px;
    width: 49px;
    height: 34px;
}

#page article .icon-tore2 h2::after {
    top: 0;
    right: -66px;
    width: 54px;
    height: 45px;
}

/**** ほうれん草とゆず（白） ****/
#page article .icon-products1 h2::before {
    bottom: 9px;
    left: 7%;
    width: 27px;
    height: 47px;
}

#page article .icon-products1 h2::after {
    bottom: 24px;
    right: 7%;
    width: 29px;
    height: 21px;
}

/**** 里芋と枝豆 ****/
#page article .icon-products2 h2::before {
    top: 10px;
    left: -40px;
    width: 33px;
    height: 32px;
}

#page article .icon-products2 h2::after {
    top: 9px;
    right: -42px;
    width: 31px;
    height: 36px;
}

/**** ゆずと栗 ****/
#page article .icon-products3 h2::before {
    top: 31px;
    left: min(-55px);
    width: 41px;
    height: 29px;
}

#page article .icon-products3 h2::after {
    top: 29px;
    right: -55px;
    width: 39px;
    height: 35px;
}

/**** ほうれん草とにんじん ****/
#page article .icon-products4 h2::before {
    left: min(-6vw);
    width: 35px;
    height: 62px;
}

#page article .icon-products4 h2::after {
    top: -24px;
    width: 22px;
    height: 81px;
}

/** 本文（article以下） **/
#page article h2 {
    font-size: clamp(1.6rem, 1.369rem + 0.99vw, 2rem);
    line-height: clamp(2.4rem, 2.18rem + 0.94vw, 2.78rem);
}

#page article h2.title-row {
    max-width: calc(100% - 108px);
}

#page article:not(#products)>section.sect1 {
    padding-top: 25px;
}

/*** JAいるま野の直売所 ***/
#page section .market-information h2 {
    margin-bottom: 15px;
}

#page section:has(.market-information)>p,
#page section:has(.market-information)>div>p {
    margin-bottom: 23px;
}

#page section .market-information .market-wrap {
    grid-template-columns: repeat(auto-fit, 190px);
    gap: 18px 14px;
}

#page section .market-information .market-thumb {
    border: 2px solid #A8CFCB;
    height: 160px;
}

#page section .market-information .market-thumb img {
    height: 94px;
}

#page section .market-information .market-thumb h3 {
    height: calc(56px - 4px);
    margin-top: 0;
    padding: 10px;
    text-align: center;
}

#page section .market-information .market-thumb::after {
    bottom: 9px;
    right: 10px;
    width: 15px;
    height: 15px;
}

/*** 食材から探す ***/
#page section:has(.index-wrap) {
    padding-bottom: 149px;
    margin-bottom: 60px;
}

#page section:has(.index-wrap)>div {
    border-radius: 10px;
    padding: 0 0 14px;
}

#page section .index-wrap {
    gap: 33px 15px;
    flex-wrap: wrap;
}

#page section .index-wrap .yomi-box {
    gap: 10px;
    min-width: 30%;
}

#page section .index-wrap .yomi-box h3 {
    padding: 7px 0 8px;
}

/** いるま野の農産物と特産品 **/
/*** 旬の農産物 ***/
#page article#products #season .season-wrap {
    max-width: min(989px, 90vw);
    margin: 44px auto 0;
}

#page article#products #season .season-body {
    border: 4px solid #91CE35;
    border-radius: 10px;
    padding: 30px min(35px, 9vw) 30px;
    gap: min(26px, 1.4vw);
}

#page article#products #season .season-content>p {
    background: unset;
    padding: 12px 0 25px;
}

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

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

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

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

#page article#products #season {
    padding-bottom: 60px;
}

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

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

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

#page article#products #in-area .products-body {
    display: flex;
    grid-template-columns: unset;
    gap: 16px 0;
    flex-wrap: wrap;
}

#page article#products #in-area .products-card {
    border-radius: 10px;
    padding: 14px 15px;
    display: flex;
    grid-template-rows: unset;
    grid-row: unset;
    gap: 16px;
    flex-direction: row;
    align-items: center;
    width: 100%;
}

#page article#products #in-area .products-card>img,
#page article#products #in-area .products-card>.sp-only.sp-false {
    display: none;
}

#page article#products #in-area .products-card>div:has(.btn-green) {
    margin-top: 0;
}

#page article#products #in-area .products-card>div.sp-only:not(.sp-false) {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
}

#page article#products #in-area .products-card>div.sp-only:not(.sp-false)>div {
    width: 50%;
}

#page article#products #in-area .products-card .pro-img {
    display: flex;
    flex-direction: column;
}

#page article#products #in-area .products-card img {
    margin: 0 auto;
}

#page article#products #in-area .products-card .pro-img .btn-green {
    width: min(136px, 37vw);
    margin: 0 auto;
}

#page article#products #in-area h4 {
    width: 100%;
}

#page article#products #in-area p {
    width: auto;
}

#page article#products #in-area .products-wrap button {
    border: 3px solid #00A291;
    width: min(226px, 60vw);
    height: 60px;
    line-height: 1.3rem;
}

#page article#products #in-area .products-wrap.active button {
    bottom: -109px;
}

#page article#products #in-area .products-wrap button img {
    width: min(37px, 10vw);
}

/*** おいしい青果物MAP ***/
#page article#products #map {
    margin: 0;
    padding-right: 0;
}

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

/** 農産物個別記事 **/
#page.single.products-page section,
#page article#kitchen section,
#page.recipe-page article>section,
#page article#vegetables>section {
    padding-right: 17px;
    padding-left: 17px;
    padding-bottom: 50px;
}

/*** 農産物情報 ***/
#page.products-page .pro-inner:not(.icon-products3) {
    border-radius: 10px;
    padding: 11px;
}

#page.products-page .pro1 {
    gap: 11px;
    margin-bottom: 29px;
    flex-direction: column;
}

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

#page.products-page .pro1>div {
    width: auto;
    padding: 0 17px;
}

#page.products-page .pro1 h3 {
    padding-bottom: 11px;
}

#page.products-page .pro1 p:not(.pro-area) {
    padding: 10px 10px 15px;
}

#page.products-page .pro2 .pro-btns {
    gap: 20px;
    margin-bottom: 36px;
    flex-direction: column;
    align-items: center;
}

#page.products-page .pro2 .btn-green,
#page article#kitchen #this-month .thisMonth-wrap .btn-green,
#page article#vegetables .s-vege-card .btn-green,
#page article#vegetables .seasonal-recipe .btn-green {
    border: 2px solid;
    width: 300px;
}

#page.products-page .pro2 .pro-seasons {
    gap: 24px;
    margin-bottom: 37px;
    flex-direction: column;
    align-items: center;
}

#page.products-page .pro2 .pro-seasons>div {
    width: 100%;
    padding: 0 min(36px, 10vw);
}

#page.products-page .pro2 h4:not(.no-bg),
#page.recipe-page .ingredients h3,
#page article#vegetables .vege-inner h4,
#page article#bank dialog h5 {
    margin-bottom: 7px;
    height: 35px;
}

#page.products-page .pro2 .product-info p {
    text-align: center;
}

#page.products-page .pro-check {
    border: 4px solid #83B832;
    border-radius: 10px;
    padding: 12px min(30px, 8vw) 28px;
    gap: 27px;
    flex-direction: column;
    align-items: center;
}

#page.products-page .check-deco {
    max-width: unset;
    justify-content: center;
}

#page.products-page .check-deco h4 img {
    padding-top: 7px;
}

#page.products-page .check-deco>img {
    max-width: 50px;
}

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

#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 {
    grid-template-columns: repeat(auto-fit, 261px);
    gap: 16px;
}

#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 {
    border-radius: 10px;
    padding: 11px;
    gap: 6px;
}

#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 {
    height: 150px;
}

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

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

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

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

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

#page article#netshop .rice-lead .tore-deco {
    display: flex;
    justify-content: center;
    gap: 10px;
}

#page article#netshop .rice-lead .deco1 {
    position: relative;
    top: -15px;
    left: unset;
    width: min(153px);
}

#page article#netshop .rice-lead .deco2 {
    position: relative;
    top: -15px;
    right: unset;
    width: min(157px);
}

#page article#netshop .notice-rakuten {
    gap: 5px;
    margin: 20px auto 23px;
    flex-direction: column;
}

#page article#netshop .caution-rakuten {
    padding: 0 13px;
}

#page article#netshop .icon-rakuten,
#page article#netshop .tore-card.rakuten::before {
    width: 62px;
    height: 26px;
    padding-bottom: 0;
}

#page article#netshop .tore-card.rakuten::before {
    top: 7px;
    left: 8px;
}

#page article#netshop .tore-wrap {
    grid-template-columns: repeat(auto-fit, 151px);
    gap: 18px;
}

#page article#netshop .tore-card {
    border-radius: 16px;
    padding: 15px 30px;
    gap: 0;
}

#page article#netshop .tore-card img {
    height: 125px;
}

/*** 狭山茶 ***/
#page article#netshop #tore-tea .toretate-lead {
    padding: 20px min(35px, 9vw) 100px;
    margin-bottom: 68px;
}

#page article#netshop #tore-tea a.btn-green {
    border: 2px solid;
    max-width: 200px;
    margin: 13px auto 23px;
    height: calc(34px - 4px);
}

#page article#netshop .tea-lead .deco1 {
    top: unset;
    left: 50%;
    translate: -50%;
    width: 157px;
}

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

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

#page article#netshop #toretate-season .tore-card {
    display: flex;
    grid-row: unset;
    padding: 20px;
    gap: min(30px, 8vw);
    border-radius: 10px;
    flex-direction: row;
    align-items: center;
}

#page article#netshop #toretate-season .tore-card img {
    margin-bottom: 0;
    height: 90px;
    width: 35%;
}

#page article#netshop #toretate-season .tore-card .sp-only {
    width: 65%;
}

/** とれ蔵キッチン **/
#page article#kitchen section {
    padding-bottom: 0;
}

#page article#kitchen #this-month .monthly-recipe-btn img,
#page article#kitchen .seasonal-movie .btn-green img {
    padding-top: 0;
}

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

#page article#kitchen #this-month .bg-lightgreen h2 {
    margin-top: -76px;
    min-width: calc(260px - min(112px, 30vw));
}

#page article#kitchen #this-month .thisMonth-wrap {
    padding-top: 22px;
    padding-bottom: 49px;
}

#page article#kitchen #this-month .thisMonth1 {
    gap: 26px;
}

#page article#kitchen #this-month .month-recipe {
    border-radius: 10px;
    padding: 21px min(21px, 5.6vw) 32px;
}

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

#page article#kitchen #this-month .m-recipe-wrap {
    gap: 4px;
    padding-bottom: 16px;
}

#page article#kitchen #this-month .m-recipe-wrap .recipe-thumb img {
    max-width: 298px;
}

#page article#kitchen #this-month .recipe-content {
    gap: unset;
}

#page article#kitchen #this-month .month-recipe .recipe-content h3 {
    padding: 0 22px 0;
    text-align: center;
    background: unset;
}

#page article#kitchen #this-month .month-recipe .recipe-content>p.energy {
    background-image: linear-gradient(to right, #000000 2px, transparent 2px);
    background-size: 6px 2px;
    background-repeat: repeat-x;
    background-position: bottom;
    text-align: center;
    padding-bottom: 9px;
    margin-bottom: 10px;
}

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

#page article#kitchen #this-month .monthly-recipe-btn {
    gap: 10px;
    padding: 0;
    flex-direction: column;
    margin-top: 10px;
}

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

#page article#kitchen #this-month .m-recipe-info {
    padding: 10px 0 0;
    justify-content: center;
}

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

#page article#kitchen #this-month .thisMonth-wrap>.btn-green {
    margin-top: 34px;
    max-width: 300px;
}

/*** 動画・旬のレシピ ***/
#page article#kitchen section:has(.seasonal-recipe) {
    margin-bottom: 0;
}

#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: 7px;
}

#page article#kitchen .seasonal-movie {
    border-radius: 10px;
    padding: 20px 20px 23px;
    margin: 0 auto 23px;
}

#page article#kitchen .seasonal-movie iframe {
    aspect-ratio: 299 / 168;
}

#page article#kitchen .seasonal-movie .btn-green,
#page.tax-recipe article>section .btn-green,
#page article#season>section .seasonal-wrap .btn-green,
#page.recipe-page .btns .btn-green,
#page.recipe-page .fav-wrap button,
#page.recipe-page .fav-wrap a {
    margin: 19px auto 0;
    gap: 9px;
    border: 2px solid;
    height: calc(34px - 1px);
}

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

#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: 200px;
    margin: -24px auto 25px;
}

#page article#kitchen section:has(.season-vege-wrap) .in1267 {
    padding-bottom: 30px;
}

/*** 旬の野菜 ***/
#page article#kitchen .season-vege-wrap {
    margin-top: 26px;
    padding-bottom: 61px;
}

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

#page article#kitchen .ranking-wrap {
    border-radius: 10px;
    padding: 21px min(21px, 5.6vw) 42px;
    gap: unset;
    flex-direction: column;
    align-items: center;
    max-width: 851px;
    margin: 0 auto;
    box-shadow: unset;
}

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

#page article#kitchen .ranking-wrap .rank-1 {
    background-image: linear-gradient(to right, #000000 2px, transparent 2px);
    background-size: 6px 2px;
    background-repeat: repeat-x;
    background-position: bottom;
    padding-bottom: 22px;
    margin-bottom: 44px;
}

#page article#kitchen .rank-top img {
    aspect-ratio: 149 / 96;
}

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

#page article#kitchen .rank-top p {
    padding: 0 min(16px, 4vw);
    margin: 0 auto 9px;
}

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

/**** 2位以降 ****/
#page article#kitchen .rank-other {
    gap: 38px;
    width: auto;
}

#page article#kitchen .rank-other article {
    max-width: 70%;
}

#page article#kitchen .rank-other article img {
    aspect-ratio: 20 / 13;
    margin-bottom: 9px;
}

#page article#kitchen .rank-middle,
#page article#kitchen .rank-bottom {
    gap: 38px;
    flex-direction: column;
    align-items: center;
}

/***** 2～3位 *****/
#page article#kitchen .rank-middle {
    margin-bottom: 0;
    background: unset;
}

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

/***** メダル *****/
#page article#kitchen .rank-1::before {
    top: -17px;
    left: -15px;
    width: 75px;
    height: 94px;
}

#page article#kitchen .rank-2::before,
#page article#kitchen .rank-3::before {
    top: -22px;
    left: -26px;
    width: 68px;
    height: 78px;
}

#page article#kitchen .rank-4::before,
#page article#kitchen .rank-5::before {
    top: -15px;
    left: -26px;
    width: 60px;
    height: 69px;
}

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

/** 材料別レシピページ・旬のレシピ固定ページ **/
#page.tax-recipe article>section,
#page article#season>section,
#page article#favorite>section {
    padding-right: 17px;
    padding-left: 17px;
}

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

#page.tax-recipe article .recipe-wrap,
#page article#season .recipe-wrap,
#page article#favorite .recipe-wrap {
    margin: 26px auto 0;
    padding-bottom: 40px;
}

#page.tax-recipe article .recipe-card,
#page article#season .recipe-card,
#page article#favorite .recipe-card {
    max-width: calc(100% - 22px);
}

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

#page article#season .market-wrap {
    padding-bottom: 43px;
}

/** レシピ個別ページ **/
#page.recipe-page .recipe-wrap,
#page article#vegetables .t25>div {
    max-width: min(884px);
    margin: 0 auto;
    padding: 20px 10px 33px;
}

#page.recipe-page .fav-wrap {
    flex-direction: column;
    align-items: center;
    gap: 13px;
}

#page.recipe-page .fav-wrap button,
#page.recipe-page .fav-wrap a,
#page.recipe-page .btns .btn-green {
    max-width: 300px;
    font-size: 1rem;
    padding-bottom: 3px;
}

#page.recipe-page .fav-wrap button {
    height: calc(40px);
    padding-bottom: 0;
}

#page.recipe-page .fav-wrap a {
    margin: 0 auto;
}

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

#page.recipe-page .btns {
    gap: 13px;
    margin-top: 13px;
    flex-direction: column;
    align-items: center;
}

#page.recipe-page .recipe-info {
    margin-top: 24px;
    gap: 0;
    flex-direction: column;
    align-items: center;
}

#page.recipe-page .movie,
#page.recipe-page .nutrients {
    padding: 0 10px;
}

#page.recipe-page .nutrients {
    margin-bottom: 17px;
}

#page.recipe-page .nutrients p.invention {
    margin-top: 6px;
    text-align: right;
}

#page.recipe-page .info1 {
    max-width: unset;
    width: 100%;
}

#page.recipe-page .zairyoukubun-wrap {
    max-width: 500px;
    margin: 0 auto;
}

#page.recipe-page .recipe-wrap ul,
#page.recipe-page .zairyoukubun:has(.kubun-name) ul {
    padding: 0 5px;
    width: calc(100% - 10px);
}

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

#page.recipe-page .zairyoukubun-wrap section {
    margin: 0 0 15px;
}

#page.recipe-page .kubun-name {
    width: calc(100% - 10px);
    padding: 4px 0;
    margin: 0 5px;
}

#page.recipe-page .zairyoukubun-wrap section:last-child {
    margin: 0;
}

#page.recipe-page .process-inner {
    align-items: flex-start;
    gap: 7px;
    margin: 0 10px 15px;
}

#page.recipe-page .p-num {
    font-size: 13px;
    max-width: 28px;
    min-width: 28px;
    height: 28px;
    padding-bottom: 0;
}

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

#page.recipe-page .using p {
    padding: 1px 15px;
}

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

#page.recipe-page .foods .btn-green {
    font-size: 1rem;
    padding-bottom: 3px;
}

#page.recipe-page .memo {
    border: 4px solid #83B832;
    border-radius: 10px;
    padding: 15px 15px 20px;
}

#page.recipe-page .memo h3 {
    padding-bottom: 16px;
    margin-bottom: 16px;
    border-bottom: unset;
    background-image: linear-gradient(to right, #83B832 3px, transparent 2px);
    background-size: 11px 3px;
    background-repeat: repeat-x;
    background-position: bottom;
}

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

#page article#vegetables .t25>div {
    padding-bottom: 0;
}

#page article#vegetables .t25>div.season-vege-wrap {
    margin-bottom: 36px;
}

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

#page article#vegetables .s-vege-card {
    border: 3px solid #91CE35;
    border-radius: 10px;
    margin-bottom: 30px;
    padding: 23px min(26px, 7vw) 33px;
}

#page article#vegetables .vege-inner {
    gap: 0;
    margin-bottom: 25px;
}

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

#page article#vegetables .vege-img img {
    aspect-ratio: 289 / 158;
    border-radius: 10px;
}

#page article#vegetables .vege-inner h3 {
    padding-bottom: 20px;
    margin-bottom: 10px;
}

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

#page article#vegetables .product-info>p {
    font-size: 18px;
    line-height: 27px;
    text-align: center;
}

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

#page article#vegetables .s-vege-card .btn-green,
#page article#vegetables .seasonal-recipe .btn-green {
    max-width: 300px;
    width: 100%;
    font-size: 1rem;
    line-height: 1.5rem;
}

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

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

/*** PDFスライド ***/
#page article#bank .in1267:has(.bank-slide-wrap) {
    gap: 32px;
    padding-bottom: 0;
}

#page article#bank .pdf_list h2 {
    margin-bottom: 20px;
}

#page article#bank .bank-slide-wrap .swiper-button-prev,
#page article#bank .bank-slide-wrap .swiper-button-next {
    width: 30px;
    height: 30px;
}

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

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

/*** サイドメニュー ***/
#page article#bank .icon-torezo h2::before,
#page article#bank .icon-torezo h2::after {
    top: 7px;
}

/*** ダイアログ ***/
#page article#bank dialog#dialogBody,
#page article#chokin dialog#dialogBody {
    width: calc(100% - 34px);
    max-height: calc(100svh - 40px);
}

#page article#bank dialog>div {
    overflow: auto;
    padding: 16px 11px 27px;
}

#page article#bank dialog p.lead {
    padding: 0 20px;
}

#page article#bank dialog img {
    margin: 20px auto 0;
    display: block;
}

#page article#bank dialog .sougou-wrap {
    margin-top: 35px;
    display: flex;
    grid-template-columns: unset;
    gap: 14px 0;
    justify-content: center;
    flex-direction: column;
}

#page article#bank dialog .sougou-wrap .card {
    display: flex;
    grid-template-rows: unset;
    grid-row: unset;
    gap: 8px 0;
    flex-direction: column;
}

#page article#bank dialog h4,
#page article#chokin dialog h4 {
    font-size: 20px;
    line-height: 30px;
}

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

#page article#bank section#services .capsule-wrap .btn-green a,
#page article#bank section#services .capsule-wrap .btn-green button,
#page article#chokin section .btn-green a,
#page article#chokin section .btn-green button,
#page article#yushi section .btn-green a,
#page article#yushi section .btn-green button,
#page article#shisan .sect2 .btn-green a,
#page article#service .sect2 .btn-green a,
#page article#rate_fee .sect2 .btn-green a,
#page article#chokin_kinri .net-bank .btn-green a,
#page article#ja-service .btn-green a,
#page article#page-not-found .white-box .btn-green a {
    font-size: 1rem;
    line-height: 1.5rem;
}

#page article#chokin .icon-torezo h2::before,
#page article#chokin .icon-torezo h2::after,
#page article#yushi .icon-torezo h2::before,
#page article#yushi .icon-torezo h2::after,
#page article#shisan .icon-torezo h2::before,
#page article#shisan .icon-torezo h2::after,
#page article#service .icon-torezo h2::before,
#page article#service .icon-torezo h2::after,
#page article#rate_fee .icon-torezo h2::before,
#page article#rate_fee .icon-torezo h2::after,
#page.loan-page .icon-torezo h2::before,
#page.loan-page .icon-torezo h2::after,
#page article#aid .icon-torezo h2::before,
#page article#aid .icon-torezo h2::after,
#page article#soudankai .icon-torezo h2::before,
#page article#soudankai .icon-torezo h2::after,
#page article#pointcard .icon-torezo h2::before,
#page article#pointcard .icon-torezo h2::after,
#page article#pointcard .sect2 .icon-torezo h2::before,
#page article#pointcard .sect2 .icon-torezo h2::after,
#page article#loan_kinri .icon-torezo h2::before,
#page article#loan_kinri .icon-torezo h2::after,
#page article#tesuryo .icon-torezo h2::before,
#page article#tesuryo .icon-torezo h2::after,
#page.tax-fNews .icon-torezo h2::before,
#page.tax-fNews .icon-torezo h2::after,
#page.farmers-page .icon-torezo h2::before,
#page.farmers-page .icon-torezo h2::after,
#page article#members .icon-torezo h2::before,
#page article#members .icon-torezo h2::after,
#page article#hottime .icon-torezo h2::before,
#page article#hottime .icon-torezo h2::after,
#page article#jouhou_system-new .icon-torezo h2::before,
#page article#jouhou_system-new .icon-torezo h2::after,
#page article#staff-only .icon-torezo h2::before,
#page article#staff-only .icon-torezo h2::after,
#page.loan-page .edu-wrap h2::before,
#page.loan-page .edu-wrap h2::after,
#page.loan-page:has(.edu-wrap) article section>h2::before,
#page.loan-page:has(.edu-wrap) article section>h2::after {
    top: 5px;
}

/*** 貯金サービス ***/
#page article#chokin section.sect1 .btn-green a,
#page article#chokin section.sect1 .btn-green button,
#page article#yushi section.sect2 .capsule-wrap .btn-green a,
#page article#yushi section.sect2 .capsule-wrap .btn-green button {
    border: 2px solid;
    gap: 0 10px;
    height: calc(34px - 5px);
}

#page article#chokin section.sect1 {
    padding-bottom: 56px;
}

#page article#chokin section.sect1 h2 {
    margin-bottom: 22px;
}

#page article#chokin section.sect1 .btn-green button {
    height: calc(34px - 1px);
    padding-top: 1px;
    padding-bottom: 0;
}

#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: 13px;
    height: 13px;
}

#page article#chokin section .capsule-wrap,
#page article#yushi section .capsule-wrap,
#page article#shisan section .capsule-wrap {
    gap: 12px 52px;
}

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

/**** ダイアログ ****/
#page article#chokin dialog>div {
    max-height: calc(100svh - 160px);
    padding: 16px min(20px, 5.3vw) 26px;
}

#page article#chokin dialog .lead {
    padding: 0 10px;
}

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

#page article#chokin .proxy-btns {
    width: 100%;
}

#page article#chokin section.sect1 dialog .btn-green {
    width: 100%;
    max-width: 300px;
}

#page article#chokin dialog .caution {
    margin-top: 22px;
    padding: 12px min(20px, 5vw) 23px;
}

#page article#chokin dialog ul {
    margin: 9px 0 0;
}

/*** 金融商品 ***/
#page article#chokin section.sect2,
#page article#yushi section.sect2 {
    padding-top: 30px;
    padding-bottom: 0;
}

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

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

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

#page article#yushi .sect1 h2,
#page article#yushi .sect2 h2 {
    margin-bottom: 30px;
}

#page article#yushi .utilize,
#page article#shisan .utilize,
#page article#service .utilize {
    border-radius: 10px;
    padding: 12px 1rem 64px;
    margin-bottom: 64px;
}

#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/toretore.webp);
    bottom: -27px;
    left: 50%;
    translate: -50%;
    width: 171px;
    height: 83px;
}

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

#page article#yushi .loan-info {
    margin-top: 47px;
    border-radius: 10px;
    padding: 12px min(30px, 8vw) 26px;
}

#page article#yushi .loan-outer {
    margin-top: 12px;
}

#page article#yushi .loan-outer a {
    width: 284px;
    padding: 10px 0;
}

#page article#yushi .loan-docs .btn-green a img {
    width: 12px;
    height: 13px;
    top: 1px;
}

#page article#yushi .sect3,
#page article#shisan .sect2 {
    padding-top: 34px;
}

/** かりる・個別ページ共通パーツ **/
#page>article:has(.in100per.burgundy) .consult {
    border: 3px solid #E5B3C4;
    border-radius: 10px;
    padding: 17px min(30px, 8vw) 33px;
}

#page>article:has(.in100per.burgundy) .consult .btn-green,
#page>article:has(.in100per.burgundy) .consult p:not(.lead) {
    margin-top: 18px;
}

#page>article:has(.in100per.burgundy) .consult .btn-green a,
#page article#chokin_kinri .net-bank .btn-green a,
#page.loan-page .loan-item-head button {
    max-width: 350px;
    height: calc(44px - 2px);
}

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

#page.loan-page .sect1 {
    padding-bottom: 0;
}

#page.loan-page .loan-lead {
    padding: 12px 12px 84px;
    border-radius: 10px;
}

#page.loan-page .loan-lead p,
#page.loan-page .loan-item-head p {
    width: fit-content;
    text-align: left;
    padding: 0 min(24px, 6.4vw);
}

#page.loan-page .loan-lead .lead-btns {
    margin-top: 22px;
    gap: 18px;
    width: 100%;
}

#page.loan-page .loan-lead .lead-btns a,
#page.loan-page .wrap2 .btn-green a {
    width: 100%;
    max-width: 361px;
    height: calc(62px - 2px);
}

#page.loan-page .loan-wrap {
    padding: 0;
}

#page.loan-page .l-cont {
    padding-top: 48px;
}

#page.loan-page .l-cont .in1267,
#page.loan-page .loan-item .l-cont .in1267 {
    border-radius: 10px;
    padding: 20px min(25px, 6.7vw) 32px;
}

#page.loan-page .loan-inner {
    gap: 23px 0;
}

#page.loan-page .wrap1 {
    gap: 36px 0;
    padding-bottom: 34px;
    margin-bottom: 34px;
    flex-direction: column;
    align-items: center;
}

#page.loan-page .wrap1 h2 {
    text-align: center;
}

/**** PDF ****/
#page.loan-page .loan-pdf {
    width: 100%;
    min-width: unset;
    max-width: 163px;
}

/**** 金利 ****/
#page.loan-page .loan-rate {
    gap: 8px;
}

#page.loan-page .rate h3 {
    width: 100%;
    max-width: unset;
}

#page.loan-page .rate,
#page.loan-page .rate p {
    gap: 5px 0;
    flex-direction: column;
}

#page.loan-page .rate .rate-inner p {
    flex-direction: row;
}

/***** PDFがない時 *****/
#page.loan-page .l-cont:not(:has(.loan-pdf)) {
    padding-top: 20px;
}

#page.loan-page .loan-wrap:not(:has(.loan-pdf)) .loan-inner {
    width: fit-content;
}

#page.loan-page .loan-wrap:not(:has(.loan-pdf)) .loan-rate {
    gap: 8px;
    width: 100%;
}

#page.loan-page .loan-wrap:not(:has(.loan-pdf)) .loan-inner .rate .rate-inner p {
    flex-direction: row;
}

/**** 適用期間 ****/
#page.loan-page .loan-period {
    gap: 8px 0;
    flex-direction: column;
}

#page.loan-page .loan-period p {
    text-align: center;
}

/**** 軽減項目 ****/
#page.loan-page .reduction-title {
    gap: 0;
    flex-direction: column;
}

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

#page.loan-page table.reduction tbody {
    gap: 8px 0;
}

#page.loan-page table.reduction th,
#page.loan-page table.summary th {
    padding: 3px 10px 6px;
    width: calc(100% - 20px);
}

#page.loan-page table.reduction th {
    height: auto;
    min-height: calc(37px - 9px);
    justify-content: center;
    font-size: 1rem;
    line-height: 1.5rem;
}

#page.loan-page table.reduction td {
    padding-top: 4px;
    text-align: center;
    justify-content: center;
}

#page.loan-page table.reduction th span.small {
    margin: 0 8px;
    display: inline-block;
}

/**** 商品概要 ****/
#page.loan-page table.summary tbody {
    gap: 16px 0;
}

#page.loan-page table.summary td {
    padding: 10px min(14px, 3.7vw) 0;
}

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

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

#page.loan-page section.l-consul h2 {
    margin-bottom: 30px;
}

/*** 教育ローンのみ ***/
#page.loan-page .edu-wrap.loan-educate-cert>h2 {
    padding-top: 25px;
}

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

#page.loan-page .loan-item {
    border-radius: 10px;
    padding: 17px 0 33px;
    max-width: calc(100% - 34px);
}

#page.loan-page .loan-item-head {
    gap: 20px 0;
    padding: 0 12px;
}

#page.loan-page .loan-item-head p {
    padding: 0 min(24px, 6.4vw);
}

#page.loan-page .loan-item-head button {
    border: 2px solid;
}

#page.loan-page .loan-item .loan-lead {
    padding: 12px 0;
}

#page.loan-page .loan-wrap:not(:has(.loan-pdf)) .loan-inner .rate h3 {
    padding: 2px 0 3px;
}

#page.loan-page .loan-item .loan-lead .lead-btns a {
    max-width: calc(100% - 24px);
}

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

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

#page article#shisan .utilize {
    margin: 0 0 56px;
}

#page article#shisan .card-wrap {
    display: flex;
    grid-template-columns: unset;
    margin-bottom: 40px;
    flex-direction: column;
    align-items: center;
}

#page article#shisan .card-wrap .card,
#page article#service .card-wrap .card,
#page article#rate_fee .card-wrap .card {
    display: flex;
    grid-template-rows: unset;
    grid-row: unset;
    gap: 9px 0;
    flex-direction: column;
}


#page article#shisan .card-wrap .card a,
#page article#service .card-wrap .card a,
#page article#rate_fee .card-wrap .card a,
#page article#yakuin .card-wrap .card .btn-green a,
#page article#members .card-wrap .card .btn-green a {
    gap: 0 7px;
    height: 30px;
    width: calc(200px - 2rem);
    margin: 0 auto;
}

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

#page article#shisan .estimate {
    border-radius: 10px;
    padding: 17px 10px 14px;
    gap: 10px 0;
}

#page article#shisan .estimate a,
#page article#ib-teiki .btn-green a {
    display: inline-block;
    border: 2px solid;
    text-align: center;
}

#page article#shisan .estimate a img,
#page article#ib-teiki .btn-green a img {
    padding-top: 0;
    margin-bottom: -2px;
}

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

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

#page article#aid .aid-lead {
    border-radius: 10px;
    padding: 12px 10px 25px;
    gap: 12px 0;
    margin-bottom: 123px;
}

#page article#aid .aid-lead::after,
#page article#staff-only .sect1 .white-box::after {
    background-image: url(../img/tore-fam3.webp);
    bottom: -85px;
    left: 50%;
    translate: -50%;
    width: 320px;
    height: 100px;
}

#page article#aid .aid-lead p {
    padding: 0 26px;
}

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

#page article#aid .horizontal-card-wrap.sp-only {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
}

#page article#aid .horizontal-card-wrap .card {
    border-radius: 16px;
    display: flex;
    grid-template-rows: unset;
    grid-row: unset;
    gap: 9px;
    max-width: 341px;
    padding-bottom: 0;
}

#page article#aid .horizontal-card-wrap .card-img {
    margin-bottom: 0;
    height: 100%;
}


#page article#aid .horizontal-card-wrap .card-img img {
    height: 100%;
    aspect-ratio: 162 / 122;
    max-width: 162px;
}

#page article#aid .horizontal-card-wrap .hr-inner {
    width: 100%;
    max-width: 170px;
}

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

#page article#aid .horizontal-card-wrap h3 {
    flex-direction: column;
}

#page article#aid .horizontal-card-wrap .btn-green a {
    width: 100%;
    max-width: 158px;
    height: calc(34px - 1px);
    font-size: 1rem;
    line-height: 1.5rem;
}

#page article#aid .sect2 {
    padding-top: 42px;
    padding-bottom: 67px;
}

#page article#aid .sect2 h2 {
    margin-bottom: 21px;
}

#page article#aid .aid-contact {
    border-radius: 10px;
    border: 3px solid #E5B3C4;
    margin-bottom: 45px;
    padding: 24px 23px 35px;
}

#page article#aid .aid-contact p {
    text-align: left;
}

#page article#aid .aid-contact .btn-green a {
    padding: 12px 0;
}

#page article#aid .aid-info {
    border-radius: 10px;
    padding: 12px 17px 26px;
}

#page article#aid .aid-info h3 {
    margin-bottom: 10px;
}

#page article#aid .aid-info .btns {
    gap: 12px;
}

#page article#aid .aid-info .btn-green a {
    border: 2px solid;
    padding: 2px 15px 0 19px;
    max-width: calc(100% - 34px);
    height: auto;
    min-height: 28px;
    white-space: normal;
    display: inline-block;
}

#page article#aid .aid-info .btn-green a img {
    margin-left: 0.5rem;
    margin-bottom: -3px;
}

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

#page article#soudankai .consult-lead {
    border-radius: 10px;
    padding: 14px min(30px, 8vw) 72px;
}

#page article#soudankai .consult-lead h2 {
    margin-bottom: 6px;
    text-align: left;
}

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

#page article#soudankai .sect2 {
    padding-top: 64px;
    padding-bottom: 44px;
}

#page article#soudankai .consult-table {
    border-radius: 10px;
    padding: 12px 13px 36px;
}

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

#page article#soudankai .consult-table h3 {
    font-size: 1.125rem;
    line-height: 1.688rem;
    text-align: center;
    padding: 5px 0;
    margin-bottom: 8px;
}

#page article#soudankai .consult-table table {
    border-collapse: collapse;
    border-spacing: unset;
    table-layout: unset;
    max-width: unset;
    margin: 0;
    display: block;
    padding: 0 13px;
}

#page article#soudankai .consult-table tbody,
#page article#soudankai .consult-table tr,
#page article#soudankai .consult-table tr th:not(.pc-only),
#page article#soudankai .consult-table tr td {
    display: block;
    width: 100%;
}

#page article#soudankai .consult-table table.first {
    margin-bottom: 40px;
}

#page article#soudankai .consult-table table.first::after {
    content: none;
}

#page article#soudankai .consult-table table tr:last-child td::after {
    content: "";
}

#page article#soudankai .consult-table tr th {
    padding: 4px 0 7px;
}

#page article#soudankai .consult-table tr td {
    padding: 11px 14px;
    max-width: calc(100% - 28px);
}

#page article#soudankai .consult-table table tr td::after {
    bottom: 0;
    width: 100%;
}

#page article#soudankai .consult-table table tr td:last-child:after {
    content: none;
}

#page article#soudankai .consult-table tr td span {
    color: #981A45;
    font-weight: 800;
    margin-bottom: 3px;
}

#page article#soudankai .consult-table table tr:last-child td:last-child {
    padding-bottom: 0;
}

/** JAポイントカード **/
#page article#pointcard>section {
    padding-right: 17px;
    padding-left: 17px;
}

#page article#pointcard .in1267>div:not(.banner_list) {
    border-radius: 10px;
}

#page article#pointcard .about-card {
    padding: 20px 8px 76px;
    gap: 18px 0;
}

#page article#pointcard .about-card p {
    padding: 0 24px;
}

#page article#pointcard .sect2 {
    padding-top: 30px;
}

#page article#pointcard .sect3,
#page article#pointcard .sect4,
#page article#pointcard .sect5 {
    padding-top: 37px;
}

#page article#pointcard .sect3 h2,
#page article#pointcard .sect4 h2 {
    margin-bottom: 22px;
}

#page article#pointcard .about-point {
    padding: 29px 24px;
    gap: 18px 0;
}

#page article#pointcard .about-point p,
#page article#pointcard .point-img,
#page article#pointcard section p {
    padding: 0 8px;
}

#page article#pointcard .cards-wrap {
    gap: 24px;
    flex-wrap: wrap;
}

#page article#pointcard .cards {
    padding: 18px 27px 24px;
}

#page article#pointcard .cards .card {
    max-width: 293px;
    gap: 0;
    margin: 0 auto;
}

#page article#pointcard .cards .card-img {
    margin: 18px auto;
}

#page article#pointcard .cards .card img {
    max-width: 170px;
}

#page article#pointcard .benefits {
    border: 3px solid #E5B3C4;
    padding: 18px 25px 38px;
    gap: 20px 0;
}

#page article#pointcard .benefits .btn-green {
    max-width: 240px;
}

#page article#pointcard .benefits .btn-green a {
    padding: 0 0 1px;
    height: calc(40px - 1px);
}

#page article#pointcard section#banner {
    padding-top: 40px;
}



/** JAポイントカード改修20260826追加 **/
#page article#pointcard .sect3 h2::before {
    top: 50%;
    transform: translateY(-50%) rotate(-10deg);
}

#page article#pointcard .sect3 h2::after {
    top: 50%;
    transform: translateY(-50%) rotate(10deg);
}


#page article#pointcard .cards-grid {
    display: flex;
    flex-direction: column;
}

#page article#pointcard .cards-grid .card dd {
    padding: 10px 10px 15px;
}

#page article#pointcard .cards-grid .card {
    margin-bottom: 30px;
}

#page article#pointcard .cards-wrap .card {
    width: 100%;
}

#page article#pointcard .point-cards .point-up {
    flex-direction: column;
}

#page article#pointcard .point-cards .point-up::before {
    content: none;
}

#page article#pointcard .point-cards .point-up .left {
    position: relative;
    margin-left: 115px;
}

#page article#pointcard .point-cards .point-up .left::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: 0;
    left: -150px;
}

#page article#pointcard .point-market-box .flex-box .flex {
    gap: 0;
    flex-direction: column;
}

#page article#pointcard .balance-point .merit p.lineflow {
    margin: 20px auto;
    line-height: 1.2rem;
}

#page article#pointcard .balance-point .merit .flex {
    border-radius: 10px;
    flex-direction: column;
    align-items: center;
}

#page article#pointcard .balance-point .merit .flex .left::before {
    top: 0px;
    left: -120px;
}

#page article#pointcard .about-point .point-title {
    left: initial;
}

#page article#pointcard .about-point .point-title {
    left: initial;
    width: 100%;
    display: flex;
    justify-content: end;
}

#page article#pointcard .about-point .point-title::before {
    left: 50%;
    transform: translateX(-50%);
}

#page article#pointcard .about-point .point-title p {
    max-width: 100%;
    margin-top: 110px;
}

#page article#pointcard .point-info .btns .btn-green a {
    min-width: 200px;
}

#page article#pointcard .benefits p,
#page article#pointcard .point-cards .point-title p {
    text-align: left;
}

#page article#pointcard .cards-wrap {
    gap: 0;
}


/** 会員特典（JAポイントカード） **/
#page article#pointaction>section {
    padding-right: 17px;
    padding-left: 17px;
}

#page article#pointaction h2 {
    margin-bottom: 19px;
}

#page article#pointaction .icon-torezo h2.title-row::before,
#page article#pointaction .icon-torezo h2.title-row::after,
#page article#chokin_kinri .icon-torezo h2.title-row::before,
#page article#chokin_kinri .icon-torezo h2.title-row::after {
    top: 7px;
}

#page article#pointaction .sect1 .white-box {
    padding: 15px 20px 35px;
}

#page article#pointaction .sect1 .white-box p.lead {
    padding: 0 5px 21px;
    margin-bottom: 25px;
}

#page article#pointaction .tables {
    margin-bottom: 17px;
}

#page article#pointaction .grant {
    padding-bottom: 37px;
    margin-bottom: 25px;
}

#page article#pointaction .table-title {
    margin-bottom: 7px;
}

#page article#pointaction .sect2 {
    padding-top: 41px;
    padding-bottom: 59px;
}

#page article#pointaction .standard {
    padding: 20px 26px 29px;
    gap: 18px 0;
}

#page article#pointaction .standard .inner {
    padding-bottom: 25px;
}

#page article#pointaction .table-title p,
#page article#pointaction .standard p {
    text-align: left;
}

/** べんりに使う **/
#page article#service>section {
    padding-right: 17px;
    padding-left: 17px;
}

#page article#service .sect1,
#page article#rate_fee .sect1 {
    padding-bottom: 56px;
}

#page article#service .card-wrap,
#page article#rate_fee .card-wrap {
    gap: 16px;
}

#page article#service .card-wrap .card,
#page article#rate_fee .card-wrap .card {
    padding: 8px 1rem 12px;
    justify-content: center;
    gap: 5px;
}

#page article#service .sect2,
#page article#rate_fee .sect2 {
    padding-top: 31px;
}

#page article#service .sect2 h2,
#page article#rate_fee .sect2 h2 {
    margin-bottom: 30px;
}

#page article#service .sect3,
#page article#rate_fee .sect3 {
    padding-top: 54px !important;
}

/** 金利・手数料 **/
#page article#rate_fee>section {
    padding-right: 17px;
    padding-left: 17px;
}

#page article#rate_fee .card-wrap {
    grid-template-columns: repeat(auto-fit, 341px);
}

/** 貯金金利 **/
#page article#chokin_kinri>section {
    padding-right: 17px;
    padding-left: 17px;
}

#page article#chokin_kinri .white-box,
#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 {
    padding-right: 13px;
    padding-left: 13px;
}

#page article#chokin_kinri .sect1 h2 {
    margin-bottom: 14.5px;
}

#page article#chokin_kinri .sect1 .white-box {
    padding-top: 10px;
    padding-bottom: 25px;
}

#page article#chokin_kinri .sp-only:has(table) {
    width: 100%;
}

#page article#chokin_kinri p.caption,
#page article#loan_kinri p.caption,
#page article#tesuryo p.caption,
#page article#cardatm p.caption,
#page article#kawase p.caption,
#page article#ib-teiki p.caption {
    margin: 0 16px 4px 0;
}

#page article#chokin_kinri table,
#page article#loan_kinri table,
#page article#tesuryo table,
#page article#cardatm .sect3 table,
#page article#kawase .sect2 table,
#page article#ib-teiki table {
    display: block;
    margin-bottom: 14px;
}

#page article#chokin_kinri table:last-child {
    margin-bottom: 0;
}

#page article#chokin_kinri .sect1 th,
#page article#chokin_kinri .sect2 th {
    margin-bottom: 4px;
}

#page article#chokin_kinri table tbody,
#page article#loan_kinri table tbody,
#page article#tesuryo table tbody,
#page article#cardatm .sect3 table tbody,
#page article#kawase .sect2 table tbody,
#page article#ib-teiki table tbody {
    display: flex;
    flex-direction: column;
    gap: 4px 0;
}

#page article#chokin_kinri table tr,
#page article#loan_kinri table tr,
#page article#tesuryo table tr,
#page article#cardatm .sect3 table tr,
#page article#kawase .sect2 table tr,
#page article#ib-teiki table tr {
    display: flex;
    padding: 0 13px;
}

#page article#chokin_kinri table tr:has(th),
#page article#loan_kinri table tr:has(th),
#page article#tesuryo table tr:has(th),
#page article#cardatm .sect3 table tr:has(th) {
    display: flex;
    padding: 0;
}

#page article#chokin_kinri table th,
#page article#chokin_kinri table td,
#page article#loan_kinri table th,
#page article#loan_kinri table td,
#page article#tesuryo table th,
#page article#tesuryo table td,
#page article#cardatm .sect3 table th,
#page article#cardatm .sect3 table td,
#page article#kawase .sect2 table td,
#page article#ib-teiki table th,
#page article#ib-teiki table td {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

#page article#chokin_kinri table::after,
#page article#chokin_kinri table td:not(.gray)::after,
#page article#loan_kinri table td:not(.gray)::after,
#page article#ib-teiki table td:not(.gray)::after {
    content: none;
}

#page article#chokin_kinri .sect2 .white-box,
#page article#chokin_kinri .sect3 .white-box,
#page article#chokin_kinri .sect4 .white-box {
    padding-top: 14px;
    padding-bottom: 24px;
}

#page article#chokin_kinri .sect2 {
    padding-top: 39px;
}

#page article#chokin_kinri .sect3 {
    padding-top: 35px;
}

#page article#chokin_kinri .sect3 h2 {
    margin-bottom: 15px;
}

#page article#chokin_kinri .sect3 table tbody {
    gap: 6px 0;
}

#page article#chokin_kinri .sect3 table tr,
#page article#chokin_kinri .sect4 table tr {
    padding: 0;
}

#page article#chokin_kinri .sect3 table tr:has(th) {
    gap: 0 6px;
}

#page article#chokin_kinri .sect4 {
    padding-top: 47px;
}

#page article#chokin_kinri .sect4 {
    padding-bottom: 60px;
}

#page article#chokin_kinri .sect4 .white-box {
    margin-bottom: 38px;
}

#page article#chokin_kinri .net-bank {
    padding: 18px min(30px, 8vw) 35px;
    border: 3px solid #E5B3C4;
}

#page article#chokin_kinri .net-bank .btn-green {
    margin-top: 20px;
}

#page article#chokin_kinri .sect5 {
    padding-top: 40px;
}

/** ローン金利 **/
#page article#loan_kinri>section {
    padding-right: 17px;
    padding-left: 17px;
}

#page article#loan_kinri h2,
#page article#tesuryo h2 {
    margin-bottom: 31px;
}

#page article#loan_kinri .sect1 {
    padding-bottom: 63px;
}

#page article#loan_kinri .white-box {
    padding-top: 10px;
    padding-bottom: 20px;
}

#page article#loan_kinri .pc-only,
#page article#tesuryo .pc-only,
#page article#cardatm .pc-only,
#page article#ib-teiki .pc-only {
    display: none !important;
}

#page article#loan_kinri table {
    margin-bottom: 40px;
}

#page article#loan_kinri table tr,
#page article#loan_kinri table tr:has(th),
#page article#tesuryo table tr,
#page article#tesuryo table tr:has(th),
#page article#cardatm table tr,
#page article#cardatm table tr:has(th),
#page article#kawase .sect2 table tr,
#page article#ib-teiki table tr {
    flex-direction: column;
    gap: 4px;
}

#page article#loan_kinri table th {
    margin: 22px 0 4px;
}

#page article#loan_kinri table th.no-mbt {
    margin: 0 0 4px;
}

#page article#loan_kinri table td.gray.left {
    max-width: calc(100% - 20px);
    padding: 4px 10px 6px;
}

#page article#loan_kinri table tr.first td.gray.left {
    max-width: calc(100% - 46px);
    margin: 0 13px;
}

#page article#loan_kinri table td:has(span.inner-head) {
    gap: 0 14px;
}

#page article#loan_kinri table td span.inner-head {
    font-size: clamp(0.875rem, 0.784rem + 0.39vw, 1.25rem);
    line-height: clamp(1.313rem, 1.176rem + 0.58vw, 1.875rem);
}

#page article#loan_kinri .sect2,
#page article#tesuryo .sect2,
#page article#cardatm .sect4,
#page article#kawase .sect4,
#page article#ib-teiki .sect2 {
    padding-top: 54px;
}

/** 事務取扱手数料 **/
#page article#tesuryo>section {
    padding-right: 17px;
    padding-left: 17px;
}

#page article#tesuryo .sect1 {
    padding-bottom: 59px;
}

#page article#tesuryo .white-box {
    padding-top: 18px;
    padding-bottom: 39px;
}

#page article#tesuryo table {
    margin-bottom: 20px;
}

#page article#tesuryo table.receipt {
    margin-bottom: 0;
}

#page article#tesuryo table tr:last-child {
    margin-bottom: 12px;
}

#page article#tesuryo table tr:has(th) td:has(span),
#page article#cardatm .sect3 table tr:has(th) td:has(span) {
    margin: 0 13px;
    max-width: calc(100% - 26px);
}

#page article#tesuryo table td:has(span),
#page article#cardatm .sect3 table td:has(span),
#page article#ib-teiki table td:has(span) {
    padding: 8px 0 6px;
    gap: 1rem;
}

#page article#tesuryo table tr td:last-child,
#page article#cardatm .sect3 table tr td:last-child,
#page article#ib-teiki table tr td:last-child {
    padding-right: 0;
}

#page article#tesuryo table td.gray.left,
#page article#tesuryo table td:not(.gray).left,
#page article#cardatm table td.gray.left,
#page article#cardatm table td:not(.gray, .blue, .pink).left {
    padding-left: 0;
}

#page article#tesuryo .caution,
#page article#cardatm .caution {
    margin-top: 20px;
}

/** 手数料（カード・ATM） **/
#page article#cardatm>section {
    padding-right: 17px;
    padding-left: 17px;
}

#page article#cardatm h2,
#page article#kawase h2,
#page article#ib-teiki h2 {
    margin-bottom: 15px;
}

#page article#cardatm .icon-torezo h2.title-row::before,
#page article#cardatm .icon-torezo h2.title-row::after,
#page article#kawase .icon-torezo h2.title-row::before,
#page article#kawase .icon-torezo h2.title-row::after {
    top: 7px;
}

#page article#cardatm .white-box,
#page article#kawase .white-box,
#page article#kawase .sect2 .white-box {
    padding: 10px calc(min(4vw, 75px) - 8px) 25px;
}

#page article#cardatm table,
#page article#kawase table {
    border-spacing: 5px;
}

#page article#cardatm table::after,
#page article#kawase table::after {
    width: calc(100% - 10px);
}

#page article#cardatm .sect2,
#page article#cardatm .sect3,
#page article#kawase .sect2,
#page article#kawase .sect3 {
    padding-top: 38px;
}

#page article#cardatm .sect3 table tr {
    padding: 0;
}

#page article#cardatm table tr,
#page article#cardatm table tr:has(th) {
    gap: 6px;
}

#page article#cardatm .sect3,
#page article#kawase .sect3,
#page article#ib-teiki .sect1 {
    padding-bottom: 60px;
}

#page article#cardatm .sect3 table td.gray,
#page article#cardatm .sect3 table td.blue,
#page article#cardatm .sect3 table td.pink,
#page article#kawase .sect2 table td.gray,
#page article#ib-teiki table td.gray {
    max-width: calc(100% - 20px);
    padding: 6px 10px;
    justify-content: center;
}

#page article#cardatm .sect3 table td.last {
    margin-bottom: 10px;
}

#page article#cardatm .sect3 table td:not(.last)::after {
    content: none;
}

#page article#cardatm .sect3 table td span {
    width: 100%;
    max-width: 202px;
    border-radius: 6px;
    font-size: 1rem;
    line-height: 1.5rem;
    color: #981A45;
    font-weight: 800;
    padding: 6px 0 7px;
}

/** 金融関連情報 **/
#page article#bank-info>section {
    padding-right: 17px;
    padding-left: 17px;
}

#page article#bank-info .sect1 {
    padding-bottom: 58px;
}

#page article#bank-info .white-box {
    border-radius: 10px;
    padding: 8px min(26px, 7vw) 22px;
}

#page article#bank-info .white-box li a {
    padding: 12px 5px;
}

#page article#bank-info .white-box li a img {
    width: 15px;
    height: 17px;
    margin: 0 0 -2px 9px;
}

#page article#bank-info .sect2 {
    padding-top: 40px;
}

/** JAのサービス **/
#page article#ja-service>section {
    padding-right: 17px;
    padding-left: 17px;
}

#page article#ja-service .sect1 {
    padding-bottom: 60px;
}

#page article#ja-service h2 {
    margin-bottom: 17px;
}

#page article#ja-service .icon-torezo h2::before,
#page article#ja-service .icon-torezo h2::after {
    top: 5px;
}

#page article#ja-service .white-box {
    border-radius: 10px;
    padding: 15px min(30px, 5vw) 27px;
    gap: 24px 0;
}

#page article#ja-service .service-wrap {
    gap: 40px 0;
}

#page article#ja-service .white-box .service-inner {
    flex-direction: column-reverse;
    gap: 12px 0;
}

#page article#ja-service .white-box p {
    min-height: unset;
    padding: 0;
}

#page article#ja-service .sect2 {
    padding-top: 40px;
}

/** 手数料（内国為替） **/
#page article#kawase>section {
    padding-right: 17px;
    padding-left: 17px;
}

#page article#kawase .sect2 table {
    margin-bottom: 0;
}

#page article#kawase .sect2 table tr {
    padding: 0;
}

/** ネットバンク **/
#page article#ib-teiki>section {
    padding-right: 17px;
    padding-left: 17px;
}

#page article#ib-teiki .icon-torezo h2.title-row::before,
#page article#ib-teiki .icon-torezo h2.title-row::after {
    top: 5px;
}

#page article#ib-teiki .white-box {
    padding-top: 10px;
    padding-bottom: 25px;
}

#page article#ib-teiki .white-box p.lead {
    margin-bottom: 10px;
}

#page article#ib-teiki .tables {
    width: 100%;
}

#page article#ib-teiki p.caption {
    max-width: unset;
    margin: 0 0 4px 0;
}

#page article#ib-teiki table {
    table-layout: unset;
}

#page article#ib-teiki table tbody {
    gap: 20px 0;
}

#page article#ib-teiki table tr {
    padding: 0;
}

#page article#ib-teiki table tr:last-child {
    margin-bottom: 20px;
}

#page article#ib-teiki table td.gray {
    background-color: #981A45;
    color: #ffffff;
}

#page article#ib-teiki .ib-info {
    margin-top: 10px;
    gap: 15px 0;
}

/** 正組合員 **/
#page article#yakuin>section,
#page article#members>section {
    padding-right: 17px;
    padding-left: 17px;
}

#page article#members .sect1 h2,
#page article#members .sect3 h2 {
    margin-bottom: 32px;
}

#page article#members .white-box {
    border-radius: 10px;
}

#page article#members .content,
#page.news-page.tax-fNews .content,
#page.news-page.farmers-page .content {
    width: 100%;
    max-width: unset;
    padding: 19px 5px 43px;
    gap: 0;
}

#page article#members .content .news-wrap,
#page.tax-fNews .content .news-wrap,
#page.farmers-page .content .news-wrap {
    max-width: unset;
}

#page article#members .content .news-body ul,
#page.tax-fNews .content .news-body ul,
#page.farmers-page .content .news-body ul {
    gap: 12px 0;
}

#page article#members .content li.news-card,
#page.tax-fNews .content li.news-card,
#page.farmers-page .content li.news-card {
    display: block;
    gap: unset;
    justify-content: unset;
    padding: 0 20px 12px;
    align-items: unset;
}

#page article#members .content li.news-card .inner,
#page.tax-fNews .content li.news-card .inner,
#page.farmers-page .content li.news-card .inner {
    gap: 3px 0;
    flex-direction: column;
}

#page article#members .content li .news-meta,
#page.tax-fNews .content li .news-meta,
#page.farmers-page .content li .news-meta {
    max-width: unset;
    flex-direction: row;
    align-items: center;
    gap: 0 12px;
}

#page article#members .content li .category,
#page.tax-fNews .content li .category,
#page.farmers-page .content li .category {
    max-width: 80px;
    font-weight: 400;
}

#page article#members .content li .date,
#page.tax-fNews .content li .date,
#page.farmers-page .content li .date {
    color: #70B4A7;
}

#page article#members .content li a img,
#page.tax-fNews .content li a img,
#page.farmers-page .content li a img {
    width: 13px;
    height: 15px;
    margin: 0 0 -1px 3px;
}

#page article#members .content li .btn-green,
#page.tax-fNews .content li .btn-green,
#page.farmers-page .content li .btn-green {
    display: none;
}

#page article#members .content>#category-nav,
#page.tax-fNews .content>#category-nav,
#page.farmers-page .content>#category-nav,
#page.single.fNews-page section>#category-nav {
    flex-direction: row;
    justify-content: center;
    gap: 0 8px;
    margin: 0 0 25px;
    width: 100%;
}

#page article#members .content>#category-nav,
#page.tax-fNews .content>#category-nav,
#page.farmers-page .content>#category-nav {
    padding-bottom: 24px;
    margin-bottom: 12px;
}

#page article#members .content>#category-nav a,
#page article#members .content li .category,
#page.tax-fNews .content>#category-nav a,
#page.farmers-page .content>#category-nav a,
#page.single.fNews-page section>#category-nav a {
    width: 80px;
    font-size: clamp(0.688rem, 0.507rem + 0.77vw, 1rem);
    line-height: clamp(1.031rem, 0.76rem + 1.16vw, 1.5rem);
    padding: 3px 0 5px;
    border: 1px solid;
    border: 1px solid #00A291;
    font-weight: 400;
}

#page article#members .content li .category {
    border: none;
}

#page article#members .content>#category-nav 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 {
    border: 1px solid #62AA39;
}

#page article#members .content>#category-nav 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 {
    border: 1px solid #9E6635;
}

#page article#members .content>#category-nav,
#page.tax-fNews .content>#category-nav,
#page.tax-fNews .content .news-wrap>.pagination,
#page.farmers-page .content>#category-nav,
#page.farmers-page .content .news-wrap>.pagination {
    background-image: linear-gradient(to right, #000000 2px, transparent 2px);
    background-size: 6px 2px;
    background-repeat: repeat-x;
    background-position: bottom;
}

#page article#members .sect2,
#page article#members .sect3 {
    padding-top: 42px;
}

#page article#members .sect2 .btn-green {
    max-width: 200px;
    margin: 0 auto 25px;
    font-size: 1rem;
    line-height: 1.5rem;
}

#page article#members .sect2 ul,
#page article#hottime .sect2 ul {
    gap: 18px 0;
}

#page article#members .sect2 .white-box,
#page article#hottime .sect2 .white-box {
    padding: 15px min(25px, 7vw);
}

#page article#members .sect2 .inner,
#page article#hottime .sect2 .inner {
    gap: 15px 0;
    width: 100%;
}

#page article#members .hottime-body,
#page article#hottime .hottime-body {
    align-items: center;
    gap: 15px 0;
    padding: 0;
    flex-direction: column;
}

#page article#members .sect2 .inner .date,
#page article#hottime .sect2 .inner .date {
    padding-top: 6px;
}

#page article#members .sect2 .inner .date p,
#page article#hottime .sect2 .inner .date p {
    text-align: left;
}

#page article#members .sect2 .inner .date::after,
#page article#hottime .sect2 .inner .date::after {
    bottom: 3px;
    right: 8px;
    width: 15px;
    height: 15px;
}

#page article#yakuin .sect1,
#page article#members .sect3 {
    padding-bottom: 64px;
}

#page article#yakuin .card-wrap,
#page article#members .card-wrap {
    grid-template-columns: repeat(auto-fit, 270px);
    gap: 11px;
}

/** 農業・営農情報 **/
#page.news-page.tax-fNews .in1267,
#page.news-page.farmers-page .in1267 {
    padding: 0 17px;
}

#page.tax-fNews .content .pagination,
#page.farmers-page .content .pagination {
    margin: 0 auto;
}

#page.tax-fNews .content .news-wrap>.pagination,
#page.farmers-page .content .news-wrap>.pagination {
    margin-top: 38px;
    padding-bottom: 38px;
}

/*** アーカイブ・タクソノミーボタン ***/
/**** 共通 ****/
#page.tax-fNews .content>#category-nav,
#page.tax-fNews .content>#archive-nav,
#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: flex;
}

/**** タクソノミー ****/
#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: 1px solid;
}

/**** アーカイブ ****/
#page.tax-fNews aside #archive-nav,
#page.farmers-page aside #archive-nav {
    margin-top: 26px;
}

#page.single.fNews-page section>#archive-nav {
    background-color: rgb(255 255 255 / 0.8);
    border-radius: 20px;
    margin: 20px auto 0;
    max-width: min(1000px, 80vw);
    padding: 10px;
}

#page.tax-fNews aside #archive-nav h3,
#page.farmers-page aside #archive-nav h3,
#page.single.fNews-page section>#archive-nav h3 {
    max-width: 160px;
}

#page.tax-fNews aside #archive-nav ul,
#page.farmers-page aside #archive-nav ul,
#page.single.fNews-page section>#archive-nav ul {
    max-width: 167px;
}

#page.single.fNews-page section>#archive-nav ul.accordion>li>p {
    background-color: #ffffff;
}

#page.single.fNews-page section>#archive-nav ul.accordion>li>p.open {
    background-color: #DBFBF7;
}

/** ほっとタイム **/
#page article#hottime>section {
    padding-right: 17px;
    padding-left: 17px;
}

/*** リード ***/
#page article#hottime .sect1 .white-box,
#page article#jouhou_system-new .sect1 .white-box {
    padding: 13px 13px 37px;
}

#page article#hottime .sect1 p.lead {
    margin-bottom: 20px;
    padding: 0 min(24px, 6.4vw);
}

#page article#hottime .sect1 h3,
#page article#jouhou_system-new .sect1 h3,
#page article#staff-only h3 {
    padding: 6px 0 7px;
    margin: 0 0 10px;
    max-width: calc(100% - 22px);
}

#page article#hottime .sect1 ul {
    margin: 0 0 16px;
    gap: 3px 0;
    max-width: calc(100% - 30px);
}

#page article#hottime .sect1 li {
    text-indent: calc(var(--indent) * -1 - 3px);
}

#page article#hottime .sect1 p.small {
    margin-bottom: 24px;
    padding: 0 11px;
}

#page article#hottime .sect1 .about-hot,
#page article#jouhou_system-new .about-hot {
    max-width: unset;
    border: 4px solid #83B832;
    border-radius: 10px;
    padding: 14px min(14px, 1.5vw) 20px;
}

#page article#hottime .sect1 .about-hot h3,
#page article#jouhou_system-new .about-hot h4 {
    background-size: 8px 3px;
    padding: 0 0 16px;
    margin: 0 0 15px;
    max-width: unset;
}

#page article#hottime .sect1 li span.list-head,
#page article#jouhou_system-new span.list-head {
    margin-right: 3px;
}

#page article#hottime .sect1 .about-hot p,
#page article#jouhou_system-new .about-hot p {
    padding: 0 10px;
}

/*** ほっとタイム本体 ***/
#page article#hottime .sect2 {
    padding-top: 35px;
    padding-bottom: 78px;
}

#page article#hottime .pagination {
    margin: 38px auto 0;
}

/** 農業情報システム **/
#page article#jouhou_system-new>section {
    padding-right: 17px;
    padding-left: 17px;
}

#page article#jouhou_system-new .btn-outer {
    max-width: 284px;
    margin-top: 13px;
}

#page article#jouhou_system-new .btn-outer a {
    max-width: calc(284px - 2rem);
}

#page article#jouhou_system-new .white-box {
    border-radius: 10px;
}

#page article#jouhou_system-new .sect1 .btn-outer {
    margin-bottom: 33px;
}

#page article#jouhou_system-new .sect1 h3 {
    margin: 0 auto 10px;
}

#page article#jouhou_system-new .register ol {
    margin: 0 auto 18px;
    max-width: 80%;
}

#page article#jouhou_system-new .about-hot {
    margin: 0 auto 28px;
}

#page article#jouhou_system-new .browser table {
    margin: 0 auto 15px;
}

#page article#jouhou_system-new .browser table tbody {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px 0;
}

#page article#jouhou_system-new .browser table tr {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#page article#jouhou_system-new .browser {
    margin-bottom: 15px;
}

#page article#jouhou_system-new section.palegreen .phone p {
    margin-bottom: 10px;
    text-align: center;
}

#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 {
    text-indent: calc(var(--indent) * -1 - 3px);
}

#page article#jouhou_system-new .sect2 {
    padding-top: 38px;
    padding-bottom: 68px;
}

#page article#jouhou_system-new .faq-wrap {
    gap: 18px 0;
    margin-bottom: 48px;
}

#page article#jouhou_system-new .sect2 .white-box {
    padding: 10px 18px 19px;
    box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, .1);
}

#page article#jouhou_system-new .sect2 .white-box h3 {
    padding-bottom: 12px;
    margin-bottom: 15px;
}

#page article#jouhou_system-new .sect2 .white-box ul,
#page article#jouhou_system-new section.palegreen .sect2 .white-box p {
    max-width: calc(100% - 26px);
    padding: 0 13px;
}

#page article#jouhou_system-new .sect2 .white-box ul {
    gap: 5px 0;
    margin-bottom: 20px;
}

/** さといも選果場 **/
#page article#satoimo-senka>section {
    padding-right: 17px;
    padding-left: 17px;
}

#page article#satoimo-senka .white-box {
    border-radius: 10px;
}

#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: 15px min(25px, 7vw);
}

#page article#satoimo-senka h2 {
    margin-bottom: 15px;
}

#page article#satoimo-senka .ship1 .shipping-period {
    padding: 1rem;
}

#page article#satoimo-senka .ship1 .shipping-period p {
    font-size: 1.1rem;
    line-height: 1.65rem;
    text-align: left;
}

#page article#satoimo-senka .sect4 {
    padding-bottom: 64px;
}

/** 職員用ページ **/
#page article#staff-only>section {
    padding-right: 17px;
    padding-left: 17px;
}

#page article#staff-only .white-box {
    border-radius: 10px;
}

#page article#staff-only section:not(.sect1) h2 {
    margin-bottom: 29px;
}

#page article#staff-only h3 {
    max-width: unset;
}

#page article#staff-only section:last-child,
#page article#page-not-found .sect1 {
    padding-bottom: 61px;
}

/*** カテゴリ ***/
#page article#staff-only .sect1 .white-box {
    padding: 18px 1rem 21px;
}

#page article#staff-only .sect1 .white-box::after {
    bottom: -66px;
}

#page article#staff-only .sect1 ul {
    gap: 10px;
    flex-direction: column;
    align-items: center;
}

#page article#staff-only .sect1 li {
    max-width: 144px;
}

#page article#staff-only .sect1 li a {
    padding: 5px 0 6px;
}

/*** 記事一覧 ***/
#page article#staff-only section:not(.sect1, .term1) {
    padding-top: 29px;
}

#page article#staff-only section.term1 {
    padding-top: 106px;
}

#page article#staff-only .staff-post-wrap .white-box {
    padding: 14px min(27px, 7vw) 45px;
    gap: 21px 0;
}

#page article#staff-only .staff-box {
    padding-bottom: 15px;
}

#page article#staff-only .staff-box ul {
    gap: 6px 0;
}

#page article#staff-only .staff-box ul li {
    padding: 0 7px 10px;
}

#page article#staff-only .staff-box ul li a {
    padding-left: 0;
}

/* 404 */
#page article#page-not-found>section {
    padding-right: 17px;
    padding-left: 17px;
}

#page article#page-not-found h2 {
    margin-bottom: 25px;
}

#page article#page-not-found .white-box .btn-green {
    max-width: 200px;
}

/* フッター */
#footer .logo {
    margin-bottom: 15px;
}

#footer .footer-logo {
    width: min(241px, 64vw);
}

#footer .content1 {
    padding: 41px 1rem 0;
}

#footer .address {
    font-size: 14px;
    line-height: 21px;
    gap: 5px;
    margin-bottom: 10px;
}

#footer ul {
    display: none;
}

#footer .finance-code {
    margin: 0 auto 35px;
}

#footer .footer-content>div:has(p.copyright) {
    height: min(126px, 16svh);
}

#gotop {
    position: absolute;
    right: unset;
    left: 50%;
    translate: -50%;
    width: 60px;
    height: 60px;
    top: -30px;
    bottom: unset;
}

@media (max-width: 768px) {
    #top section#recipe {
        margin-top: 120px;
    }

    #top section#recipe .recipe-deco img {
        max-width: min(1155px, 97vw);
    }

    #top section#topix .in100per::before {
        top: -74px;
        width: 93px;
        height: 106px;
        left: 17px;
    }

    #top section#map .map-wrap,
    #page article#products #map .map-wrap {
        margin: 20px auto 0;
        padding: 0 1rem;
    }

    #top section#map .map-wrap::after,
    #page article#products #map .map-wrap::after {
        bottom: 30px;
        width: min(96px, 25vw);
        height: 77px;
        left: min(58px, 15vw);
    }

    #top section#map .btn-green,
    #page article#products #map .btn-green {
        margin: 30px auto 0;
    }

    #page .capsule-wrap {
        flex-direction: column;
        align-items: center;
    }

    #page .capsule-wrap .cap-box {
        max-width: calc(341px - 6px);
        height: 130px;
    }

    #page .capsule-wrap .cap-box .cap-content {
        padding: 0 9px;
        justify-content: center;
        gap: 5px;
    }

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

    #page .capsule-wrap .cap-box .btn-green {
        position: relative;
        bottom: unset;
        width: 100%;
    }

    #page>article:has(.in100per.burgundy) .capsule-wrap .cap-box h3,
    #page>article:has(.in100per.burgundy) .card-wrap .card h3 {
        margin-top: 0;
    }

    #page>article:has(.in100per.burgundy) .card-wrap .card {
        width: 100%;
        max-width: 341px;
        padding: 17px 20px;
        display: flex;
        flex-direction: row;
        gap: 0;
        align-items: center;
        justify-content: space-between;
    }

    #page>article:has(.in100per.burgundy) .card-wrap .card h3 {
        font-size: 17px;
    }

    #page>article:has(.in100per.burgundy) .card-wrap .card .btn-green a {
        height: calc(30px - 0px);
        padding: 0 1rem 2px;
        font-size: 12px;
        line-height: 18px;
        display: flex;
        width: auto;
    }

    #page>article:has(.in100per.burgundy) .capsule-wrap .cap-banner .banner-img:nth-child(1) {
        order: 1;
    }

    #page>article:has(.in100per.burgundy) .capsule-wrap .cap-banner .banner-img:nth-child(2) {
        order: 3;
    }

    #page>article:has(.in100per.burgundy) .capsule-wrap .cap-banner .banner-img:nth-child(3) {
        order: 2;
    }




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

    #page>article:has(.in100per.burgundy)>section#banner {
        padding-top: 40px;
    }

    #page article .icon-products4 h2::before {
        left: min(-9vw);
    }

    #page article .icon-products4 h2::after {
        right: min(-9vw);
    }

    #page article#products #map .btn-green {
        padding: 0 0 1px;
    }

    #page article#products #in-area,
    #page article#products #store {
        padding-right: 17px;
        padding-left: 17px;
    }

    #page section .market-information .market-wrap {
        grid-template-columns: repeat(auto-fit, 180px);
    }

    #page.recipe-page article .icon-tore2 h2::before,
    #page.recipe-page article .icon-tore2 h2::after {
        content: none;
    }

    #page.recipe-page .recipe-wrap::before,
    #page.recipe-page .recipe-wrap::after {
        content: "";
        position: absolute;
        background-repeat: no-repeat;
        background-size: contain;
        pointer-events: none;
    }

    #page.recipe-page .recipe-wrap::before {
        background-image: url(../img/title-toreL.webp);
        top: -40px;
        left: -7px;
        width: min(74px);
        height: 52px;
        transform: rotate(-12deg);
    }

    #page.recipe-page .recipe-wrap::after {
        background-image: url(../img/top/deco-toremi.webp);
        top: -42px;
        right: -16px;
        width: min(84px);
        height: 68px;
        transform: rotate(9deg);
    }

    #page article#bank .pdf_list {
        border-radius: 10px;
        padding: 22px 20px 26px;
    }

    #page article#bank .in1267:has(.bank-slide-wrap) ul {
        width: fit-content;
        margin: 0 auto;
    }

    #page article#bank .bank-side-wrap ul {
        border-radius: 10px;
        padding: 0 15px;
        max-width: calc(100% - 30px);
        height: auto;
    }

    #page article#bank .bank-side-wrap .apart {
        background-image: linear-gradient(to right, #000000 2px, transparent 2px);
        background-size: 6px 2px;
        background-repeat: repeat-x;
        background-position: bottom;
        display: flex;
        align-items: center;
        gap: min(34px, 9vw);
        width: fit-content;
        margin: 0 auto;
    }

    #page article#bank .bank-side-wrap li {
        width: 126px;
    }

    #page article#bank .bank-side-wrap .apart:last-child,
    #page article#bank .bank-side-wrap a {
        background: unset;
    }

    #page article#bank .bank-side-wrap a.first,
    #page article#bank .bank-side-wrap a.last,
    #page article#bank .bank-side-wrap a {
        padding: 12px 5px;
        width: calc(100% - 10px);
        font-size: 14px;
        line-height: 21px;
    }

    #page article#bank .bank-side-wrap a.first::after,
    #page article#bank .bank-side-wrap a.last::after,
    #page article#bank .bank-side-wrap a::after {
        right: 0;
        top: 50%;
        translate: 0 -50%;
    }

    #page article#bank>section:has(.capsule-wrap) {
        padding-top: 42px;
    }

    #page article#bank .capsule-wrap {
        gap: 12px 0;
        margin-bottom: 35px;
    }

    #page article#bank .card-wrap {
        padding-bottom: 56px;
        gap: 14px 0;
        flex-direction: column;
        align-items: center;
    }

    #page article#pointaction h2 {
        margin-bottom: 19px;
        font-size: 1.2rem;
        line-height: 1.8rem;
    }

    #page article#pointaction .icon-torezo h2.title-row::before,
    #page article#pointaction .icon-torezo h2.title-row::after {
        top: -5px;
    }

    #page article#cardatm h2 {
        max-width: 300px;
        font-size: 1.4rem;
        line-height: 2.1rem;
    }

    #page article#cardatm .icon-torezo h2::before,
    #page article#cardatm .icon-torezo h2::after {
        content: none;
    }

    #page article#cardatm .sect1 .tables table,
    #page article#cardatm .sect2 .tables table {
        min-width: 720px;
    }

    #page article#cardatm table .w1 {
        width: 97px;
    }

    #page article#cardatm table .w2 {
        width: 91px;
    }

    #page article#cardatm table .w3 {
        width: 127px;
    }

    #page article#members .hottime-body .hot1,
    #page article#hottime .hottime-body .hot1 {
        width: 100%;
        min-width: unset;
        max-width: 290px;
        gap: 10px 0;
    }

    #page article#members .hottime-body .hot1 img,
    #page article#hottime .hottime-body .hot1 img {
        height: 170px;
    }

    #page article#yakuin .card-wrap .card,
    #page article#members .card-wrap .card {
        padding: 10px 13px;
        gap: 10px 0;
    }

    #page article#yakuin .card-wrap .card .btn-green a,
    #page article#members .card-wrap .card .btn-green a {
        max-width: 132px;
        padding-bottom: 0;
    }

    #page.tax-fNews .content .pagination .nav-links,
    #page.farmers-page .content .pagination .nav-links {
        gap: 0 8px;
    }

    #page.tax-fNews .content .pagination a,
    #page.tax-fNews .content .pagination span,
    #page.farmers-page .content .pagination a,
    #page.farmers-page .content .pagination span,
    #page article#hottime .sect2 .pagination a,
    #page article#hottime .sect2 .pagination span {
        width: calc(44px - 4px);
        padding: 0;
        text-align: center;
        font-size: 12px;
        line-height: 18px;
    }

    #page.tax-fNews .content .pagination a.prev,
    #page.farmers-page .content .pagination a.prev,
    #page article#hottime .sect2 .pagination a.prev {
        margin-right: 12px;
    }

    #page.tax-fNews .content .pagination a.next,
    #page.farmers-page .content .pagination a.next,
    #page article#hottime .sect2 .pagination a.next {
        margin-left: 12px;
    }

    #page article#satoimo-senka .allow-scroll {
        overflow: scroll;
    }

    #page article#satoimo-senka .ship1 table,
    #page article#satoimo-senka .ship2 table {
        width: 800px;
    }
}

@media (orientation: landscape) {
    body>article {
        padding-top: min(70px, 19svh);
    }

    #header .in100per {
        height: min(70px);
    }

    #footer .footer-content>div:has(p.copyright) {
        padding-bottom: min(120px, 32svh);
    }
}