@charset "utf-8";

/* セクション共通 */
#page #emergency section {
    padding-top: 30px;
}

#page #yakkan section.sect3,
#page #yakkan section.sect2,
#page #site_use section.sect3,
#page #site_use section.sect4 {
    padding-top: 40px;
}

#page #site_use section.sect1 {
    padding-bottom: initial;
}

#page #plan section:last-child,
#page #search section:last-child,
#page.single-qa section:last-child,
#page #faq section:last-child,
#page #sitemap section:last-child,
#page #emergency section:last-child,
#page #privacy section:last-child,
#page #site_use section:last-child,
#page #form section:last-child,
#page #contact section:last-child,
#page #yakkan section:last-child,
#page #works section:last-child,
#page #part_time_job section:last-child,
#page #guideline section:last-child,
#page #training section:last-child,
#page.single-voice section:last-child,
#page #recruit section:last-child,
#page #staff-voice section:last-child,
#page #irumanosdgs section:last-child,
#page #aid_claim section:last-child,
#page #disclosure section:last-child,
#page #basis section:last-child,
#page #policy section:last-child {
    padding-top: 30px;
    padding-bottom: 60px;
}


#page #contact section:last-child {
    padding-bottom: 40px;
}

#page #emergency section:last-child {
    padding-top: 50px;
}

#page #staff-voice section:last-child {
    padding-top: 10px;
}

#page.single-voice section:last-child {
    padding-top: initial;
}




/* in1267 */
#page #plan .in1267,
#page.single-qa .in1267,
#page #faq .in1267,
#page #sitemap .in1267,
#page #emergency .in1267,
#page #privacy .in1267,
#page #site_use .in1267,
#page #form .in1267,
#page #contact .in1267,
#page #yakkan .in1267,
#page #works .in1267,
#page #part_time_job .in1267,
#page #guideline .in1267,
#page #training .in1267,
#page #recruit .in1267,
#page #staff-voice .in1267,
#page #aid_claim .in1267,
#page #policy .in1267,
#page #disclosure .in1267,
#page article#basis .in1267,
#page article#about .in1267,
#page.single-market-list .AddressBlock .in1267,
#page.market-page .in1267,
#page #eventlist-page .in1267,
#page.branch-page .AddressBlock .in1267,
#page.branch-page #map_area .in1267,
#page.branch-page #facility_area .in1267,
#page.branch-page #city_area .in1267 {
    max-width: 90vw;
}

#page.market-page #line .line-box,
#page.market-page .season-vege-wrap,
#page.market-page .white-wrapper,
#page.market-page .border-wrapper {
    max-width: 90vw;
}

/* 固定ページ　文字色・サイズ */
#page #emergency h2,
#page #privacy h2,
#page #site_use h2,
#page #form h2,
#page.news-page .sdgs-section h2,
#page #irumanosdgs h2,
#page #aid_claim h2,
#page #policy h2,
#page #basis #composition h2,
#page #basis h2,
#page #about h2,
#page.market-page h2 {
    font-size: 20px;
}

#page #search h2,
#page.single-qa h2,
#page #faq h2,
#page #emergency h2,
#page #privacy h2,
#page #site_use h2,
#page #form h2,
#page #contact h2,
#page #yakkan h2,
#page #works h2,
#page #part_time_job h2,
#page #guideline h2,
#page #training h2,
#page.single-voice h2,
#page #recruit h2,
#page #staff-voice h2,
#page.news-page .sdgs-section h2,
#page #irumanosdgs h2,
#page #aid_claim h2,
#page #policy h2,
#page #basis h2,
#page.branch-page article h2,
#page.market-page h2,
#page.news-page h2 {
    margin: 0 auto 20px;
}

#page #about h2 {
    margin: auto;
}

#page #site_use h2,
#page #yakkan h2,
#page #aid_claim h2 {
    max-width: 62vw;
}

#page.news-page .sdgs-section h2 {
    max-width: 66.67vw;
}

#page #site_use section.sect3 h2 {
    max-width: 180px;
}

#page #emergency h2 {
    max-width: 210px;
}

#page #yakkan section.sect1 h2 {
    max-width: 225px;
}

#page #about h2,
#page #irumanosdgs h2 {
    max-width: 250px;
}


#page #emergency h2,
#page #irumanosdgs h2,
#page.news-page .sdgs-section h2 {
    line-height: 1.5rem;
}

#page #site_use h2,
#page #yakkan h2 {
    line-height: 1.8rem;
}


#page.market-page #line .line-title h2 {
    font-size: 22px;
    line-height: 28px;
    margin: 0 auto 30px;
}

#page.branch-page article .icon-products3 h2::before {
    top: 10px;
    left: min(-9.2vw);
}

#page.branch-page article .icon-products3 h2::after {
    top: 5px;
    right: min(-9.2vw);
}

#page.branch-page article .icon-products4 h2::before {
    top: -10px;
}

/* 外枠 - 基本 */
.white-wrapper {
    padding: 20px;
    border-radius: 10px;
}

#page #emergency .white-wrapper,
#page #about #greeting .white-wrapper,
#page #about #character .white-wrapper,
#page #basis .white-wrapper,
#page #yakkan .white-wrapper,
#page #privacy .white-wrapper,
#page #site_use .white-wrapper,
#page #irumanosdgs .white-wrapper,
#page #aid_claim .white-wrapper,
#page #policy .white-wrapper {
    margin: 20px auto 0;
}

#page #basis .white-wrapper,
#page #yakkan .white-wrapper,
#page #privacy .white-wrapper,
#page #site_use .white-wrapper {
    padding: 20px;
}

#page #about #greeting .white-wrapper {
    padding: 30px 20px;
}



/* タイトル - 基本 */
.title-blue {
    padding: 8px;
}

/* 外部リンクボタン共通 */
#page #aid_claim .btn-outer a,
#page.market-page #line .border-wrapper .btn-outer a {
    max-width: calc(300px - 2rem);
}

#page #aid_claim .btn-outer span.large,
#page.market-page #line .border-wrapper .btn-outer span.large {
    font-size: 18px;
}


/* 共通パーツ　グローバルサーチ　global-search */
#page #faq .global-search form {
    padding: initial;
    gap: initial;
    flex-direction: column;
}

#page #faq .global-search form div.feas-keyword-wrap,
#page #faq .global-search form div.feas-select-wrap {
    padding-top: 45px;
}

#page #faq .global-search form div.feas-keyword-wrap {
    padding-right: initial;
}

#page #faq .global-search form div.feas-keyword-wrap::before,
#page #faq .global-search form div.feas-select-wrap::before {
    top: 10px;
}

#page #faq .global-search form input.feas_archive_freeword,
#page #faq .global-search form select.feas_term_dropdown {
    width: 80vw;
    height: 37px;
    padding: 2px 10px 0;
}

#page #faq .global-search form div.feas-submit-wrap {
    margin-top: 20px;
}

#page #faq .global-search form div.feas-submit-wrap input.feas-submit-button {
    color: #fff;
    font-size: 20px;
    font-weight: 800;
    border-radius: 5px;
    width: auto;
    height: auto;
    padding: 10px 40px 10px 70px;
}

#page #faq .global-search form div.feas-submit-wrap::after {
    top: 50%;
    left: 35px;
    transform: translateY(-50%);
}


/* 共通パーツ　カプセル　capsule-wrap */
#page #contact .capsule-wrap,
#page #works .capsule-wrap,
#page #policy #information .capsule-wrap,
#page #about #information .capsule-wrap,
#page.branch-page #facility_area .capsule-wrap {
    gap: 10px;
}

#page #works .capsule-wrap,
#page #policy #information .capsule-wrap {
    padding: initial;
}

#page #about #information .capsule-wrap {
    padding: 20px 0;
}

#page.branch-page #facility_area .capsule-wrap {
    margin-top: initial;
}

#page #contact .capsule-wrap .cap-box h3,
#page #works .capsule-wrap .cap-box h3 {
    line-height: 1.2rem;
}

/* 共通パーツ　catch */
#page #privacy .catch,
#page #site_use .catch,
#page #part_time_job .white-wrapper p.catch,
#page #basis .catch,
#page article#recruit #recruit-about .catch,
#page #irumanosdgs .catch,
#page #aid_claim .catch,
#page #policy .catch,
#page #training #nurturing .item-box .catch {
    max-width: 72vw;
}

#page #basis .catch {
    margin: auto;
}

#page #irumanosdgs .catch,
#page #aid_claim .catch,
#page #policy .catch {
    margin: 0 auto 15px;
    line-height: 1.2rem;
}

#page article#recruit #recruit-about .catch {
    margin: 15px auto;
}

#page #part_time_job .white-wrapper p.catch {
    text-align: left;
    margin: 0 auto 10px;
}

#page #about #local-contribution .catch {
    max-width: 77vw;
    margin: 20px auto;
}

#page #about #character .catch {
    margin: 0 auto 20px;
    max-width: 75vw;
}

#page #irumanosdgs .policy-card .catch {
    padding-top: initial;
}




/* 共通パーツ　policy-card */
#page #emergency .policy-card,
#page #privacy .policy-card,
#page #site_use .policy-card,
#page #part_time_job .policy-card,
#page #aid_claim .policy-card,
#page #policy .policy-card {
    max-width: 78vw;
}

#page #privacy .policy-card,
#page #site_use .policy-card,
#page #part_time_job .policy-card,
#page #aid_claim .policy-card,
#page #policy .policy-card {
    margin: 0 auto 20px;
    background-image: initial;
    padding-bottom: initial;
}

#page #emergency .policy-card {
    padding-bottom: 10px;
    margin: 0 auto 10px;
}

#page #part_time_job .policy-card {
    margin: 20px auto;
}

#page #part_time_job .policy-card .img {
    max-width: 72vw;
    margin: auto;
}

#page #part_time_job .policy-card p.text-center {
    text-align: left;
    margin-bottom: 10px;
}

#page #emergency .policy-card p.freedial-text {
    padding: 3px 10px;
    margin: 0 auto 5px;
}

#page #emergency .policy-card p.freedial-no a {
    pointer-events: all;
}



#page #irumanosdgs .policy-card:last-child {
    padding-top: 10px;
}

#page #aid_claim .sect6 .note-red {
    position: initial;
    top: initial;
    padding-top: 15px;
}

#page #aid_claim #link-list .policy-card {
    padding-bottom: 20px;
    margin: 0 auto 25px;
}

#page #aid_claim #link-list .policy-card:first-of-type {
    margin: 30px auto;
    padding-top: 10px;
}

#page #site_use .policy-card:last-child {
    margin: auto;
}

#page #policy .policy-card:last-child {
    margin: auto;
    padding-bottom: initial;
}

#page #privacy .policy-card h3,
#page #site_use .policy-card h3,
#page #part_time_job .policy-card h3,
#page #aid_claim .policy-card h3,
#page #policy .policy-card h3 {
    margin-bottom: 10px;
    padding: 8px;
}

#page #privacy .policy-card p,
#page #site_use .policy-card p,
#page #part_time_job .policy-card p,
#page #aid_claim .policy-card p,
#page #policy .policy-card p {
    max-width: 72vw;
    margin-bottom: 5px;
}

#page #privacy .policy-card ol,
#page #site_use .policy-card ol,
#page #part_time_job .policy-card ol,
#page #aid_claim .policy-card ol,
#page #policy #financial .policy-card ol,
#page #policy .policy-card ol {
    max-width: 72vw;
}

#page #privacy .policy-card ol {
    padding-left: initial;
}

#page #privacy .policy-card ol li,
#page #site_use .policy-card ol li,
#page #part_time_job .policy-card ol li,
#page #aid_claim .policy-card ol li,
#page #policy .policy-card ol li {
    line-height: 1rem;
    margin-bottom: 5px;
}

#page #privacy .policy-card ol li::before {
    left: 2px;
    top: 5px;
    width: 8px;
    height: 8px;
}

#page #site_use .policy-card .btn-green,
#page #part_time_job .policy-card .btn-green {
    font-size: 16px;
    width: calc(280px - 1rem);
    height: calc(34px - 1px);
}


#page #site_use .policy-card .btn-green {
    width: calc(300px - 1rem);
}

#page #privacy .policy-card .btn-green {
    flex-wrap: wrap;
    height: auto;
    padding: 10px 20px;
    box-sizing: border-box;
    margin: 40px auto 0;
}

#page #emergency .flex-wrapper .btn-green img,
#page #privacy .policy-card .btn-green img {
    max-width: 12px;
    margin-left: 5px;
}



/* 共通パーツ　ボーダーボックス　border-wrapper */
.border-wrapper {
    border: solid 3px #91CE35;
}


#page #faq .border-wrapper,
#page #emergency .border-wrapper,
#page #contact .border-wrapper,
#page #part_time_job .border-wrapper,
#page #guideline .border-wrapper,
#page #training #nurturing .border-wrapper,
#page #aid_claim .border-wrapper,
#page #policy #financial .border-wrapper {
    border: solid 3px #8C94D8;
}

#page #search .border-wrapper,
#page.single-qa .border-wrapper,
#page #faq .border-wrapper,
#page #emergency .border-wrapper,
#page #contact .border-wrapper {
    margin: auto;
    padding: 20px 15px;
    max-width: 90vw;
    border-radius: 10px;
}

#page #faq .global-search.border-wrapper {
    padding: 0 15px 20px;
    margin: 0 auto 40px;
}

#page #part_time_job .border-wrapper,
#page #guideline .border-wrapper,
#page #training #nurturing .border-wrapper,
#page #aid_claim .border-wrapper,
#page #policy #financial .border-wrapper {
    margin: 0 auto 10px;
    padding: 10px 15px;
    max-width: 72vw;
    border-radius: 10px;
}

#page #part_time_job .border-wrapper,
#page #guideline .border-wrapper {
    padding: 10px;
}

#page #part_time_job .border-wrapper,
#page #training #nurturing .border-wrapper {
    margin: 0 auto 30px;
}

#page #aid_claim .border-wrapper {
    margin: 20px auto;
}

#page #part_time_job .border-wrapper h4,
#page #guideline .border-wrapper h4,
#page #training #nurturing .border-wrapper h4,
#page #aid_claim .border-wrapper h3,
#page #policy #financial .border-wrapper h3 {
    background-size: 10px 4px;
    margin: 0 auto 10px;
}

#page #search .border-wrapper a.btn-green,
#page.single-qa .border-wrapper a.btn-green,
#page #faq .border-wrapper a.btn-green,
#page #emergency .border-wrapper a.btn-green,
#page #contact .border-wrapper a.btn-green {
    max-width: calc(300px - 1rem);
    height: calc(65px - 1px);
    margin: 30px auto 10px;
}

#page #market-news a.btn-green {
    margin: 30px auto 10px;
}

#page #search .border-wrapper p,
#page.single-qa .border-wrapper p,
#page #faq .border-wrapper p,
#page #emergency .border-wrapper p,
#page #contact .border-wrapper p {
    text-align: left;
    line-height: 1.2rem;
    max-width: 72vw;
}

#page #aid_claim .border-wrapper p,
#page #policy #financial .border-wrapper p {
    line-height: 1rem;
    max-width: 62vw;
}

#page #aid_claim .border-wrapper p.tel,
#page #policy #financial .border-wrapper p.tel {
    line-height: 1.3rem;
    margin: 5px auto;
}

#page #aid_claim .border-wrapper .flex-wrapper {
    padding: 10px 0;
}

#page #aid_claim .border-wrapper .flex-wrapper .set {
    flex-direction: column;
    gap: 10px;
}

#page #guideline .border-wrapper .flex-wrapper {
    margin: 10px auto;
    gap: 10px;
    flex-direction: column;
}

#page #guideline .border-wrapper .flex-wrapper p.text-contact {
    gap: initial;
    flex-direction: column;
}

#page #guideline .border-wrapper .flex-wrapper p.text-contact a {
    pointer-events: all;
    text-decoration: underline;
}




/* 共通パーツ　リンクスペース　voice-link */
#page #emergency .flex-wrapper,
#page #site_use #term-prologue .flex-wrapper,
#page #part_time_job #job-link .flex-wrapper,
#page #guideline #voice-link .flex-wrapper,
#page #training #voice-link .flex-wrapper,
#page #recruit #recruit-about .flex-wrapper,
#page.single-voice #voice-link .flex-wrapper,
#page #staff-voice #voice-link .flex-wrapper {
    gap: 10px;
}

#page #emergency .flex-wrapper {
    padding-top: 20px;
}

#page #guideline #voice-link {
    padding-top: 25px;
}

#page #guideline #voice-link .flex-wrapper .btn-green,
#page #training #voice-link .flex-wrapper .btn-green,
#page #recruit #recruit-about .bt-center .btn-green,
#page #recruit #recruit-about .flex-wrapper .btn-green,
#page.single-voice #voice-link .flex-wrapper .btn-green,
#page #staff-voice #voice-link .flex-wrapper .btn-green {
    font-size: 16px;
    width: calc(250px - 1rem);
    height: calc(44px - 1px);
}


#page #site_use #term-prologue .flex-wrapper .btn-green,
#page #part_time_job #job-link .flex-wrapper .btn-green {
    font-size: 16px;
    border: 2px solid currentColor;
    width: calc(310px - 1rem);
    height: calc(34px - 1px);
}

#page #emergency .flex-wrapper .btn-green {
    font-size: 12px;
    border: 2px solid currentColor;
    padding: 0 20px;
    height: calc(30px - 1px);
}

#page #part_time_job #job-link .flex-wrapper .btn-green span.small {
    font-size: 12px;
}



/* メールフォームプロ */
form#mailformpro table {
    border-spacing: 0;
    border-collapse: collapse;
    width: 100%;
    max-width: 600px;
    table-layout: fixed;
    word-break: break-all;
    margin: 0 auto;
}

form#mailformpro tr {
    display: flex;
    flex-flow: column;
    margin-bottom: 16px;
    height: initial;
}

form#mailformpro tr.last {
    margin-bottom: 8px;
}


form#mailformpro th {
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: auto;
    padding: 7px 60px;
    width: 100%;
    margin-bottom: 9px;
}

form#mailformpro th .must {
    right: 15px;
}


form#mailformpro tr#mfp-border {
    height: 40px;
}

form#mailformpro td {
    padding: 0 20px;
}

form#mailformpro td p.donation_sub,
form#mailformpro td p.donation {
    margin-left: initial;
    justify-content: center;
}

form#mailformpro .mfp_element_text,
form#mailformpro .mfp_element_tel,
form#mailformpro .mfp_element_email {
    width: 100%;
}

form#mailformpro ol,
form#mailformpro ul {
    margin-left: initial;
}

form#mailformpro ol li .mfp_element_text {
    width: 60%;
}

form#mailformpro .mfp_element_text,
form#mailformpro .mfp_element_number,
form#mailformpro .mfp_element_email,
form#mailformpro .mfp_element_tel,
form#mailformpro .mfp_element_textarea,
form#mailformpro .mfp_element_date,
form#mailformpro .mfp_element_password {
    margin: 0 auto;
}

form#mailformpro .m-adjust {
    margin: 5px 0 9px 0;
}

form#mailformpro .relationship .mfp_element_text,
form#mailformpro .donation .mfp_element_number {
    margin-left: 10px;
    margin-right: 10px;
}

form#mailformpro .mfp_buttons {
    gap: 30px;
}

form#mailformpro .mfp_buttons .mfp_element_reset,
form#mailformpro .mfp_buttons .mfp_element_submit {
    width: 220px;
    height: 44px;
    font-size: 18px;
}

#form form#mailformpro tr.choice td .label-list label {
    min-width: 130px;
}

#form form#mailformpro table.mailform-tab {
    margin-top: initial;
}

/* Googleマップ　ピン表示基本設定 */
#page.market-page #map_item #map_canvas3,
#map_item #map_canvas,
#map_item #map_canvas2,
#map_item #map_canvas3,
#map_item #map_canvas4,
#map_item #map_canvas5 {
    height: 72vw;
}

#page.single.market-page #map_item #map_canvas3 {
    height: 220px;
    border-radius: 16px;
}

#map_item .map_btn {
    margin: 10px auto 20px;
}


#map_item .ChangeElem_Panel_Content {
    max-width: 77.33vw;
}




/*** 緊急のお知らせ ***/
#page.news-page .em-area {
    width: 92vw;
    overflow: visible;
    bottom: 0;
    border-radius: 12px;
    padding: min(20px, 3.7svh) 16px 16px;
    margin: 20px auto 30px;
}

#page.news-page .em-area h2 {
    width: 100%;
    max-width: calc(166px - 10px);
    position: absolute;
    top: min(-19px, -2.3svh);
    left: 50%;
    translate: -50%;
    border-radius: calc(infinity * 1px);
    gap: 8px;
    padding: 6px 5px 7px;
}

#page.news-page .em-area h2 img {
    width: 25px;
    height: 25px;
}

#page.news-page .em-area ul {
    padding: 0;
    width: 100%;
}

#page.news-page .em-area li {
    gap: 13px;
}

#page.news-page .em-area li .em-date {
    flex: 0 0 60px;
}

#page.news-page .em-area a img {
    width: 16px;
    height: 16px;
}


/*** 記事一覧/記事ページ - コンテンツ本文 ***/
#page.single-market-list #market-news .content,
#page #search .content,
#page #form .content,
#page #irumanosdgs #sdgs-list .content.sdgs_content,
#page #thanks .content,
#page.news-page .content,
#page.single .content {
    flex-direction: column;
    align-items: center;
}

#page.single-market-list #market-news .content,
#page #search .content,
#page.news-page .content {
    padding: 20px;
    gap: 20px;
}

#page.news-page #category-nav,
#page.single #archive-nav,
#page.single #category-nav {
    display: none;
}


#page.news-page.archive.date #category-nav,
#page.news-page.market-news #category-nav,
#page.news-page.tax-market_cat #category-nav,
#page.news-page .sdgs-section #category-nav {
    display: flex;
    margin-top: 30px;
}

#page.news-page #category-head-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    max-width: 80vw;
    background-image: linear-gradient(to right, rgb(0, 0, 0) 2px, transparent 2px);
    background-size: 6px 2px;
    background-repeat: repeat-x;
    position: relative;
    background-position: center bottom;
    padding: 22px min(26px, 1.4vw);
}

#page.news-page.archive.date #category-head-nav,
#page.news-page.market-news #category-head-nav,
#page.news-page.tax-market_cat #category-head-nav {
    display: none;
}

#page.news-page #category-head-nav a {
    font-size: clamp(0.75rem, 1.2vw, 1.0625rem);
    padding: 0 10px;
    min-width: 80px;
    text-align: center;
    box-sizing: border-box;
    border-width: 1px;
}

/*
#page.single #single-nav {
    display: block;
}

#page.news-page .pagination {
    margin: 0 auto;
    background-image: linear-gradient(to right, rgb(0, 0, 0) 2px, transparent 2px);
    background-size: 6px 2px;
    background-repeat: repeat-x;
    position: relative;
    background-position: center bottom;
    padding: 50px min(26px, 1.4vw);
}
*/


/* サイドバー */
#page.news-page .content .side_bar,
#page.single .content .side_bar {
    width: 170px;
}



/**** 記事一覧/記事ページ - ニュースリスト ****/
#page #market-news .content .news_list .col,
#page #search .content .news_list .col,
#page #irumanosdgs .content.sdgs_content .news_list .col,
#page.news-page .content .news_list .col {
    padding: 22px 0 15px;
}

#page #market-news .content .news_list .news-card,
#page #search .content .news_list .news-card,
#page #irumanosdgs .content.sdgs_content .news_list .news-card,
#page.news-page .content .news_list .news-card {
    flex-direction: column;
    gap: 5px;
    align-items: center;
}

#page #market-news .content .news_list .news-card .news-text,
#page #search .content .news_list .news-card .news-text,
#page #irumanosdgs .content.sdgs_content .news_list .news-card .news-text,
#page.news-page .content .news_list .news-card .news-text {
    width: 100%;
}

#page #market-news .content .news_list .news-card h3,
#page #search .content .news_list .news-card h3,
#page #irumanosdgs .content.sdgs_content .news_list .news-card h3,
#page.news-page .content .news_list .news-card .news-text h3 {
    padding: 5px 0 0;
    line-height: 1rem;
}

#page #market-news .content .news_list .news-card .news-meta,
#page #search .content .news_list .news-card .news-meta,
#page #irumanosdgs .content.sdgs_content .news_list .news-card .news-meta,
#page.news-page .content .news_list .news-card .news-meta {
    gap: 15px;
    justify-content: flex-start;
}

#page.news-page .content .news_list .news-card .news-meta .category {
    font-weight: 400;
    line-height: 1.2rem;
    padding: 0 10px;
    min-width: 80px;
}

#page.news-page .content.sdgs_content .news_list .news-card .news-meta .branch,
#page #irumanosdgs .content.sdgs_content .news_list .news-card .news-meta .branch {
    font-weight: 400;
}


#page #search .content .news_list .col,
#page.news-page .content .news_list .col {
    padding: 10px min(26px, 1.4vw);
}

/* イベント詳細ページ - 基礎  */
#page.eventinfo-page section:last-of-type {
    padding-bottom: 60px;
}


/** イベント詳細ページ - コンテンツ外枠 **/
#page.eventinfo-page .event-body {
    max-width: 600px;
}

#page.eventinfo-page .event-imagebox {
    gap: 20px;
    margin: 20px auto;
}


/*** イベント詳細ページ - イベント本文  ***/
#page.eventinfo-page .event-item {
    flex-direction: column;
    gap: initial;
    margin: 0 auto;
}

#page.eventinfo-page .event-item .event-title {
    flex: 1 1 auto;
    padding: 7px;
}

#page.eventinfo-page .event-item .event-contents {
    padding: 7px 20px;
}


/* イベント詳細フォームエリア - 基礎  */
#page.eventinfo-page h2.mfp-title {
    margin: 0 auto 10px;
}

#page.eventinfo-page h2.mfp-title::before {
    left: -50px;
    width: 41.25px;
    height: 29.28px;
}

#page.eventinfo-page h2.mfp-title::after {
    right: -50px;
    width: 38.97px;
    height: 34.35px;
}

/* サンクスページ */
#page #search section,
#page #thanks section {
    padding-bottom: 25px;
}

#page #thanks .content .list {
    max-width: 80vw;
}

#page #thanks .content .list ul li {
    padding-left: 0.9rem;
}

#page #thanks .content .list ul li::before {
    top: 0.4rem;
}

#page #thanks .content .thanks_body img {
    max-width: 45%;
    margin-top: 20px;
}

#page #thanks .content a.btn-green {
    max-width: 220px;
    margin: 25px auto 15px;
}


/* 店舗施設ページ(branch)　共通タイトル */
#page.branch-page .AddressBlock h3 {
    margin-bottom: initial;
    display: flex;
    flex-direction: column;
}

#page.branch-page .AddressBlock h3 span.TermTitle__note {
    position: initial;
    right: initial;
    line-height: 1rem;
}


/* 店舗施設ページ(branch)　共通ボタン */
#page.branch-page .CityMap::before {
    bottom: 0;
}

#page.branch-page .CityMap svg {
    max-height: 50vw;
}

#page.branch-page .CityListNav {
    flex-direction: column-reverse;
}


#page.branch-page .btnMapBox {
    justify-content: flex-start;
    margin-bottom: 30px;
}

#page.branch-page .btnMapBox .btnMap {
    margin-right: initial;
}

#page.branch-page .CityCardBtns {
    max-width: 520px;
}

#page.market-page .MarketCardBtn,
#page.branch-page .btnMapBox .btnMap,
#page.branch-page .js-areaBtn,
#page.branch-page .ChangeElem_Btn,
#page.branch-page .CityCardBtn {
    height: calc(30px - 1px);
    border: 2px solid #00A291;
}


/* 店舗施設ページ(branch)　市町村で探す(city_area) */
#page.branch-page #city_area {
    padding-top: initial;
    padding-bottom: 50px;
}

#page.branch-page .CityCard {
    margin: 10px auto 20px;
}

/* 店舗施設ページ(branch)　施設別で探す(facility_area) */
#page.branch-page #facility_area {
    padding-bottom: 40px;
}



/* 店舗施設ページ(branch)　施設MAP(map_area) */
#page.branch-page #map_area {
    padding-top: 20px;
    padding-bottom: 40px;
}

/** 店舗施設ページ(branch)　店舗簡易モーダル表示エリア **/
#page.market-page .AddressBlock.is-modal,
#page.branch-page .AddressBlock.is-modal {
    max-height: calc(100dvh - 5.3vw);
    max-width: calc(100dvw - 5.3vw);
}


/**** 店舗表示エリア　住所セクション ****/
#page.market-page .AddressBlock .TermSections,
#page.branch-page .AddressBlock .AreaSections {
    max-width: 80vw;
    margin: auto;
}


.AddressBlock .TermSections .TermSection,
.AddressBlock .AreaSections .AreaSection {
    box-sizing: border-box;
    margin: auto;
}

/***** 住所セクション　テーブル設定 *****/
.TermSection table,
.AreaSection table {
    border-collapse: separate;
    border-spacing: 0 5px;
}

.TermSection table thead,
.AreaSection table thead,
#page.branch-page .AddressBlock.is-modal .CityIndex .CityCardBtns {
    display: none;
}

.TermSection table tr.branchRow,
.AreaSection table tr.branchRow {
    display: block;
}

.TermSection table tr.branchRow::after,
.AreaSection table tr.branchRow::after {
    bottom: 15px;
}

.TermSection table th,
.TermSection table td,
.AreaSection table th,
.AreaSection table td {
    display: block;
}

.TermSection table th,
.TermSection table td,
.AreaSection table th,
.AreaSection table td,
.TermSection table tbody td,
.AreaSection table tbody td,
.TermSection table th:first-child,
.TermSection table td:first-child,
.AreaSection table th:first-child,
.AreaSection table td:first-child,
.TermSection table th:last-child,
.TermSection table td:last-child,
.AreaSection table th:last-child,
.AreaSection table td:last-child,
.TermSection table th.jurisdiction,
.TermSection table td.branchRow__district,
.AreaSection table th.jurisdiction,
.AreaSection table td.branchRow__district {
    width: 100%;
    padding: 5px 0;
    line-height: 1rem;
}

.TermSection table tbody th .branchRow__set,
.AreaSection table tbody th .branchRow__set {
    padding: initial;
}

.TermSection table tbody th .branchRow__nameText,
.AreaSection table tbody th .branchRow__nameText {
    line-height: 1.3rem;
}





/** Googleカレンダー **/
#page.market-page #calendar {
    padding-bottom: 60px;
}

#page.market-page #calendar .g-calendar iframe {
    max-height: 98vw;
}

#page.market-page .white-wrapper {
    padding: 20px 30px;
}

#page.market-page #calendar .white-wrapper {
    padding: 10px;
}


/*** 旬の野菜 ***/
#page.market-page #seasonal-vegetables-recommended {
    padding-top: 50px;
    padding-bottom: 50px;
}

#page.market-page .season-vege-wrap {
    grid-template-columns: repeat(auto-fit, 261px);
    gap: 16px;
    margin-top: 26px;
}

#page.market-page .season-vege-wrap .s-vege-card {
    border-radius: 10px;
    padding: 11px;
    gap: 6px;
}

#page.market-page .season-vege-wrap .s-vege-card img {
    height: 150px;
}


/**** 直売所一覧 ****/
#page.market-page #market-shoplist {
    padding-top: 30px;
    padding-bottom: initial;
}

#page.market-page .market-wrap {
    padding-top: 30px;
    padding-bottom: 50px;
}

#page.market-page .market-container {
    grid-template-columns: repeat(auto-fit, 160px);
    padding: initial;
    gap: 15px 17px;
}

#page.market-page .market-card {
    width: 160px;
    min-height: 170px;
    margin: initial;
    box-shadow: initial;
    border: solid 2px #A8CFCB;
    border-radius: 16px;
}

#page.market-page .market-card img {
    width: 160px;
    height: 95px;
    border-radius: 16px 16px 0 0;
}


#page.market-page .market-card h3 {
    font-size: 14px;
    font-weight: 400;
    min-height: 60px;
    position: relative;
}

#page.market-page .market-card h3::after {
    content: "";
    position: absolute;
    background-image: url(../img/arrow-green.svg);
    background-repeat: no-repeat;
    background-size: contain;
    bottom: 5px;
    right: 5px;
    width: 15px;
    height: 15px;
    pointer-events: none;
}

#page.market-page .market-card .market-body {
    text-align: center;
    padding: 0 5px;
}

#page.market-page .market-container .detail_btn,
#page.market-page .market-container .market-info {
    display: none;
}

/***** LINEリンク *****/
#page.market-page #line {
    padding-top: 40px;
}

#page.market-page #line .border-wrapper {
    padding: 30px 5px;
    border-radius: 16px;
}

#page.market-page #line .line-box .tore-deco {
    display: flex;
    justify-content: center;
    gap: 5px;
    height: auto;
}

#page.market-page #line .line-box .tore-deco .deco1 {
    position: relative;
    bottom: 20px;
    left: unset;
    width: 153px;
}

#page.market-page #line .line-box .tore-deco .deco2 {
    position: relative;
    bottom: 20px;
    right: unset;
    width: 157px;
}

/***** 直売所記事ページ ******/
#page.single-market-list #calendar {
    padding-top: 20px;
}


#page.single-market-list #market-shopinfo {
    margin-top: 50px;
    padding-top: 30px;
    padding-bottom: 40px;
}

#page.single.market-page .content .content_body {
    grid-template-columns: 1fr;
    gap: 20px;
}


#page.single-market-list .content .content_body .market-head {
    flex-direction: column;
    align-items: center;
    padding: 10px 0 0;
}

#page.single-market-list .content .content_body .market-head h3 {
    display: block;
    width: 100%;
    max-width: 90%;
}

#page.single-market-list .content .content_body .market-body h3 {
    display: none;
}


/* 固定ページ(about) */
/** ごあいさつ **/
#page #about #greeting h3 {
    margin-top: 40px;
    width: 270px;
}

#page #about #greeting .flex-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

#page #about #greeting .flex-wrapper img {
    width: 180px;
    height: 180px;
}

#page #about #greeting .flex-wrapper p {
    line-height: 1.5rem;
    max-width: 72vw;
}

#page #about #greeting .philosophy-card {
    padding: initial;
}

#page #about #greeting .philosophy-card ul {
    gap: 20px;
    padding: initial;
}

#page #about #greeting .philosophy-card ul li {
    gap: 10px;
}

#page #about #greeting .philosophy-card ul li span.text {
    max-width: 290px;
    margin: auto;
}


/***** キャラクターとれ蔵 *****/
#page #about #character {
    padding-bottom: 50px;
    margin-bottom: 50px;
    padding-top: 20px;
}



#page #about #character h2 {
    line-height: 1.5rem;
}

#page #about #character h3 {
    max-width: 270px;
}

#page #about #character .contents-box .text {
    max-width: 75vw;
    margin: auto;
}

#page #about #character .contents-box .text p {
    padding-top: initial;
}

#page #about #character .contents-box .flex-wrapper {
    gap: 0;
}

#page #about #character .contents-box .flex-wrapper img {
    max-width: 195px;
}

#page #about #character .contents-box .flex-wrapper dl {
    grid-template-columns: 115px 1fr;
    column-gap: 10px;
}

#page #about #character .contents-box .youtube {
    padding: 20px 0 30px;
}

#page #about #character .contents-box .youtube iframe {
    max-height: 190px;
}

/****** 地域貢献活動 ******/
#page #about #local-contribution {
    padding-top: 20px;
    padding-bottom: 50px;
}

#page #about #local-contribution .flex-wrapper {
    gap: 20px;
}

#page #about #local-contribution .flex-wrapper .white-wrapper {
    box-shadow: initial;
}

#page #about #local-contribution .flex-wrapper .white-wrapper ul>li {
    min-width: 26vw;
}

#page #about #local-contribution .flex-wrapper .white-wrapper ul {
    padding: initial;
    gap: 10px;
}

#page #about #local-contribution .flex-wrapper .white-wrapper .img {
    padding: 5px;
}

#page #about #local-contribution .flex-wrapper .white-wrapper .img img {
    max-height: 100px;
    object-fit: contain;
}


/* JA綱領ページ(/about/basis/) */
#page #basis h3 {
    margin-bottom: 15px;
}


#page #basis .sub-title {
    padding-top: initial;
}

#page #basis #history .summary-card,
#page #basis #history .establishment-card,
#page #basis #history .philosophy-card,
#page #basis #history .overview-card {
    padding-bottom: 30px;
    margin-bottom: 15px;
}


/** 序章 **/
#page #basis #prologue .flex-wrapper {
    flex-wrap: wrap;
    gap: initial;
    padding-bottom: 5px;
}

#page #basis #prologue .flex-wrapper ol {
    max-width: 72vw;
}

#page #basis #prologue .flex-wrapper ol li {
    margin-bottom: 5px;
}

/*** 概況・沿革 ***/
#page #basis #history .flex-wrapper {
    flex-wrap: wrap;
    justify-content: center;
    max-width: 72vw;
}

#page #basis #history .flex-wrapper .text {
    max-width: initial;
}

#page #basis #history dl {
    grid-template-columns: 1fr;
    gap: 5px;
}

#page #basis #history dt {
    flex-direction: row;
    gap: 10px;
    padding: 5px 0;
}

#page #basis #history dd .row {
    grid-template-columns: 176px 1fr;
    gap: 15px;
}

#page #basis #history dd .row .title {
    text-align: center;
}

#page #basis #history dd .row .text,
#page #basis #history dd .row .title {
    padding: 5px 0;
}


#page #basis #history .overview-card dt {
    width: 73vw;
    margin: auto;
}

#page #basis #history .overview-card dd {
    align-items: center;
    margin-inline-start: initial;
}

#page #basis #history .production-card {
    padding-bottom: 30px;
}

#page #basis #history .philosophy-card dd {
    padding: 0 15px;
}

#page #basis #history .overview-card .photo img {
    max-width: 75vw;
    max-height: 210px;
}

#page #basis #history .production-card .btn .btn-green {
    max-width: calc(310px - 2rem);
}


/**** いるま野農業協同組合機構図 ****/
#page #basis #composition .photo {
    padding-top: 20px;
}


/* ディスクロジャーページ(/about/disclosure/) */
#page #disclosure .flex-wrapper {
    gap: 20px;
}

#page #disclosure .flex-wrapper.is-recent {
    margin: 60px auto 20px;
}

#page #plan #local-agriculture-promotion-plan .flex-wrapper .white-wrapper,
#page #disclosure .flex-wrapper.is-recent .white-wrapper,
#page #disclosure .flex-wrapper.is-archive .white-wrapper {
    max-width: 70vw;
    padding: 10px;
    box-shadow: initial;
}

#page #disclosure .flex-wrapper .white-wrapper ul {
    padding: 15px 0;
}

#page #disclosure .flex-wrapper .white-wrapper ul li {
    padding-bottom: 20px;
    margin-bottom: 15px;
}

#page #disclosure .flex-wrapper.is-recent .white-wrapper ul li .item-box {
    grid-template-columns: 94px 1fr;
    column-gap: 15px;
    max-width: 300px;
}

#page #disclosure .flex-wrapper .white-wrapper ul li .item-box .img {
    width: 94px;
    height: 133px;
}

#page #disclosure .flex-wrapper .white-wrapper ul li .item-box .img img {
    width: 94px;
    height: 133px;
}


#page #disclosure .flex-wrapper .white-wrapper ul li .item-box .text a.btn-green {
    border: 2px solid;
    width: calc(200px - 2rem);
    height: calc(30px - 1px);
    gap: 5px;
}

#page #disclosure .flex-wrapper.is-archive .white-wrapper ul li .item-box .text .title br {
    display: none;
}

#page #disclosure .flex-wrapper .white-wrapper ul li .item-box .text .sub-title {
    padding: 5px 0;
}



/* 業務運営の方針(/about/policy/) + 苦情処理措置(/about/policy/aid_claim) */
/***** 苦情処理措置(/about/policy/aid_claim) + SDGs(/about/policy/irumanosdgs)共通 *****/

#page.news-page .sdgs_body .news_list ul,
#page #irumanosdgs #sdgs-list .news_list ul {
    gap: 3px;
}

#page.news-page .sdgs_body .news_list ul img,
#page #irumanosdgs #sdgs-list .news_list ul img {
    max-width: 37px;
}

#page #irumanosdgs .img {
    padding: 5px 0;
}


/***** 苦情処理措置(/about/policy/aid_claim)限定 *****/
#page #aid_claim .img {
    max-width: 72vw;
}


/* 採用情報ページrecruit */
#page article#recruit #recruit-about .bt-center {
    margin: 0px auto 10px;
    padding-bottom: 25px;
}

/** 先輩の声スライダー **/
#page.single-voice #voice-slider .voice_item,
#page article#recruit #voice-slider .voice_item {
    padding: 0 20px;
}

#page.single-voice #voice-slider .swiper-slide.swiper-slide-next,
#page.single-voice #voice-slider .swiper-slide.swiper-slide-active,
#page article#recruit #voice-slider .swiper-slide.swiper-slide-next,
#page article#recruit #voice-slider .swiper-slide.swiper-slide-active {
    background-image: initial;
}

#page.single-voice #voice-slider .voice_item .voice_photo img,
#page article#recruit #voice-slider .voice_item .voice_photo img {
    width: 100%;
    height: 42.6667vw;
    border-radius: 10px;
}

#page.single-voice #voice-slider .voice_item .voice_head,
#page article#recruit #voice-slider .voice_item .voice_head {
    min-height: initial;
}



/* 社員インタビューページ */
#page #staff-voice #voice-list .flex-wrapper {
    padding: initial;
}

#page #staff-voice #voice-list .flex-wrapper .col {
    width: 70vw;
    padding: 15px;
    border-radius: 10px;
}

#page #staff-voice #voice-list .voice-card .voice-text p.name {
    padding-bottom: 15px;
    margin-bottom: 5px;
}

#page #staff-voice #voice-list .voice-card .btn-green {
    height: calc(34px - 1px);
}


/** 先輩の声スライダー **/
#page article#recruit .staff_body,
#page article#recruit .recruit-slide-wrap {
    padding-bottom: 20px;
}

#page.single-voice .recruit-slide-wrap .bt-center .btn-green,
#page article#recruit .staff_body .bt-center .btn-green,
#page article#recruit .recruit-slide-wrap .bt-center .btn-green {
    max-width: 305px;
    margin: 20px auto 0;
}

#page.single-voice #voice-slider .voice_item .btn-green,
#page article#recruit #voice-slider .voice_item .btn-green {
    border: solid 2px #00A291;
    height: calc(34px - 1px);
    max-width: 160px;
}

/* お客様の声記事ページ */
#page.single-voice #voice-slider {
    padding-top: 10px;
    padding-bottom: 30px;
}

#page.single-voice .voice-body .flex-wrapper.box-two,
#page.single-voice .voice-body .flex-wrapper.box-one,
#page.single-voice .voice-head .flex-wrapper {
    gap: 15px;
    flex-direction: column;
}

#page.single-voice .voice-body .flex-wrapper.box-two,
#page.single-voice .voice-body .flex-wrapper.box-one {
    max-width: 72vw;
    margin: auto;
    gap: initial;
}

#page.single-voice .voice-body .flex-wrapper.box-two {
    flex-direction: column-reverse;
}

#page.single-voice .voice-body .flex-wrapper.box-two .right,
#page.single-voice .voice-body .flex-wrapper.box-two .left,
#page.single-voice .voice-body .flex-wrapper.box-one .right,
#page.single-voice .voice-body .flex-wrapper.box-one .left,
#page.single-voice .voice-head .flex-wrapper>div {
    width: 100%;
}

#page.single-voice .voice-head .flex-wrapper .right {
    padding: 15px 10px;
}

#page.single-voice .voice-head .flex-wrapper .left img {
    object-fit: cover;
    object-position: center top;
    width: 100%;
    height: 56vw;
}

#page.single-voice .voice-head .flex-wrapper .right h3 {
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 20px;
    margin-bottom: 15px;
}

#page.single-voice .voice-head .flex-wrapper .right br {
    display: none;
}

#page.single-voice .voice-head .flex-wrapper .right p.info,
#page.single-voice .voice-head .flex-wrapper .right p.name {
    padding-bottom: initial;
    padding-left: 10px;
    padding-right: 10px;
}

#page.single-voice .voice-body .flex-wrapper.box-one .img {
    margin-top: 40px;
}

#page.single-voice .voice-body .flex-wrapper.box-two .img {
    max-width: 42vw;
    margin: 20px auto;
}

/* 人材育成ページ/recruit/training/ */
#page #training #nurturing {
    padding-bottom: initial;
}

#page #training #nurturing .item-box {
    max-width: 72vw;
    margin: 0 auto 40px;
}

#page #training #nurturing .white-wrapper {
    padding: 10px 0;
}

#page #training #nurturing .item-box h3.title-blue {
    gap: 10px;
    margin-bottom: 15px;
}

#page #training #nurturing .item-box p {
    margin: 10px auto;
}

#page #training #nurturing .item-box .img img {
    width: 245px;
    height: 170px;
}

#page #training #nurturing .item-box .flex-wrapper {
    gap: 15px;
}

#page #training #nurturing .item-box.about-box p.bt-title {
    margin: 0 auto;
}

#page #training #nurturing .item-box.about-box .btn-green {
    width: calc(120px - 1rem);
    height: calc(22px - 1px);
}

#page #training #nurturing .about-box {
    max-width: 90vw;
}

#page #training #nurturing .about-box .flex-wrapper {
    gap: 0 40px;
    position: relative;
    padding-bottom: 130px;
    margin-bottom: 40px;
}

#page #training #nurturing .about-box .flex-wrapper .col {
    background-size: auto 190px;
    height: 170px;
    width: 210px;
    padding-top: 40px;
}

#page #training #nurturing .about-box .flex-wrapper .col:last-of-type {
    position: absolute;
    bottom: 0;
}

#page #training #nurturing .item-box .item-card {
    padding-bottom: 20px;
    margin-bottom: 20px;
}

#page #training #nurturing .item-box .item-card h4 {
    padding: 5px 0;
    border: solid 3px #3A45A5;
    width: 145px;
    margin: 0 auto 10px;
}

#page #training #nurturing .item-box .item-card dl {
    grid-template-columns: 1fr;
    column-gap: 10px;
    row-gap: 10px;
}

#page #training #nurturing .item-box .item-card dt br {
    display: none;
}

#page #training #nurturing .item-box .item-card dd {
    padding: initial;
}

#page #training #nurturing .item-box .item-card dd .st-r {
    margin-right: initial;
    line-height: 1.2rem;
}

#page #training #nurturing .item-box .item-card dd .nomal {
    line-height: 1.2rem;
    padding-bottom: 5px;
    text-align: center;
}

#page #training #nurturing .item-box .item-card dd.column {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#page #training #nurturing .item-box .item-card dd.column br {
    display: none;
}

/* 募集要項ページ/recruit/guideline/ */
#page #guideline #graduate {
    padding-top: 40px;
}

#page #guideline #parttime .white-wrapper,
#page #guideline #experienced .white-wrapper,
#page #guideline #graduate .white-wrapper {
    padding: 5px 15px;
    margin: auto;
}

#page #guideline h3,
#page #guideline div.img,
#page #guideline div.info,
#page #guideline div.link {
    margin: 10px auto 25px;
}

#page #guideline .btn-outer a {
    max-width: calc(240px - 1rem);
}

#page #guideline p.note {
    margin: 10px auto 25px;
    max-width: 72vw;
}

#page #guideline p.text-medium {
    max-width: 80vw;
}


#page #guideline dl {
    grid-template-columns: 1fr;
    column-gap: initial;
    row-gap: initial;
}

#page #guideline dt {
    min-height: 36px;
}

#page #guideline dd {
    padding: 5px 13px;
}

/* 農作業パート・アルバイトについて/part_time_job/ */
#page #part_time_job .white-wrapper {
    margin: auto;
}

#page #part_time_job .white-wrapper p {
    max-width: 72vw;
    margin: 0 auto 10px;
}



/* JAいるま野の事業内容/works/ */
#page #works section {
    padding-bottom: 40px;
}

#page #works #csr,
#page #works #finance {
    margin-top: 50px;
}


/* 定型約款/yakkan/ */
#page #yakkan .caption {
    padding-right: 5px;
}

#page #yakkan table {
    display: block;
    margin-bottom: 20px;
}

#page #yakkan table:last-child {
    margin-bottom: initial;
}


#page #yakkan table::after {
    content: initial;
}


#page #yakkan table tbody {
    display: flex;
    flex-direction: column;
    gap: 5px 0;
}

#page #yakkan table tr {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

#page #yakkan table th {
    margin-bottom: 10px;
}


#page #yakkan table th.w1 {
    display: none;
}

#page #yakkan table td,
#page #yakkan table td.classification {
    width: 100%;
    box-sizing: border-box;
    padding-bottom: 8px;
    max-width: 72vw;
    margin: auto;
}

#page #yakkan table td.only {
    margin-bottom: 10px;
}

#page #yakkan table td:not(.classification)::after {
    bottom: 0;
}

#page #yakkan table tr:last-child td:not(.classification)::after {
    content: "";
}

#page #yakkan table td .flex-wrapper {
    grid-template-columns: 1fr 100px;
}

#page #yakkan table td .flex-wrapper .btn-green {
    height: calc(22px - 1px);
    border: solid 2px #00A291;
    margin: 5px auto;
}

/* 本サイトのご利用にあたって/site_use/ */
#page #site_use section.sect2 {
    padding-top: 5px;
}

#page #site_use p.note,
#page #site_use p.heading {
    max-width: 70vw;
    margin: 10px auto;
}

#page #site_use p.p-margin {
    margin: 15px auto;
}

#page #site_use .policy-card .img img {
    max-width: 55px;
}



/* よくある質問一覧、記事、検索結果 /faq/～.single-qa */
#page article #lead.question::after {
    right: 0;
    width: min(150px);
    height: 80px;
}

#page.single-qa .content.qa-box {
    padding: 15px 15px 40px;
    box-shadow: 5px 5px 5px 0px rgba(0, 0, 0, .1);
}

#page.single-qa .content.qa-box .content_body .qa-head {
    padding-bottom: 20px;
    margin-bottom: 25px;
}

#page article#faq .faq-list,
#page article#recruit .faq-list {
    gap: 20px;
}

#page article#faq .faq-list .faq-card,
#page article#recruit .faq-list .faq-card {
    border-radius: 10px;
    padding: 10px;
    box-shadow: 5px 5px 5px 0px rgba(0, 0, 0, .1);
}

#page article#faq .faq-list .faq-card a::before,
#page article#recruit .faq-list .faq-card a::before {
    left: 10px;
    top: -5px;
    height: min(30px);
    width: min(30px);
}

#page.single-qa .content.qa-box .content_body .qa-body .flex-wrapper,
#page.single-qa .content.qa-box .content_body .qa-head .flex-wrapper,
#page article#faq .faq-list .faq-card .flex-wrapper,
#page article#recruit .faq-list .faq-card .flex-wrapper {
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
    margin-left: 50px;
    margin-right: initial;
}

#page article#faq .faq-list .faq-card .flex-wrapper::before,
#page article#recruit .faq-list .faq-card .flex-wrapper::before {
    left: 15px;
    width: min(36px);
    height: min(36px);
}


#page.single-qa .content.qa-box .content_body .qa-body .flex-wrapper,
#page.single-qa .content.qa-box .content_body .qa-head .flex-wrapper {
    margin-left: 40px;
}

#page.single-qa .content.qa-box .content_body .qa-body .flex-wrapper {
    margin-right: 10px;
}


#page.single-qa .content.qa-box .content_body .qa-body .flex-wrapper::before,
#page.single-qa .content.qa-box .content_body .qa-head .flex-wrapper::before {
    left: -40px;
    top: -5px;
    width: 35px;
    height: 35px;
}

#page.single-qa .content.qa-box .content_body .qa-body .flex-wrapper::before {
    top: -15px;
}

#page article#faq .faq-list .faq-card .flex-wrapper .cat,
#page article#recruit .faq-list .faq-card .flex-wrapper .cat {
    padding-bottom: 10px;
}

#page.single-qa .content.qa-box .content_body .qa-head .flex-wrapper .cat p,
#page article#faq .faq-list .faq-card .flex-wrapper .cat p,
#page article#recruit .faq-list .faq-card .flex-wrapper .cat p {
    padding: 0px 12px;
}



#page article#faq .faq-list .faq-card .flex-wrapper .bt,
#page article#recruit .faq-list .faq-card .flex-wrapper .bt {
    top: initial;
    transform: initial;
    bottom: 7px;
}

#page article#faq .faq-list .faq-card .flex-wrapper .bt .btn-green,
#page article#recruit .faq-list .faq-card .flex-wrapper .bt .btn-green {
    border: solid 2px #00A291;
    height: calc(25px - 1px);
    padding: 0 12px;
}



/** qa記事 .single-qa **/
#page.single-qa #faq-contents .qa-body .contents>ul,
#page.single-qa #faq-contents .qa-body .contents>ol {
    padding-inline-start: initial;
}

#page.single-qa #faq-contents .qa-body .contents>ul li,
#page.single-qa #faq-contents .qa-body .contents>ol li {
    margin-left: 10px;
    margin-bottom: 10px;
}

#page.single-qa #faq-contents .qa-body .contents>ul li>ul li,
#page.single-qa #faq-contents .qa-body .contents>ol li>ul li,
#page.single-qa #faq-contents .qa-body .contents>ul li>ol li,
#page.single-qa #faq-contents .qa-body .contents>ol li>ol li {
    margin-left: initial;
    line-height: 1.1rem;
    padding-left: 0.5rem;
}

#page.single-qa #faq-contents .qa-body .contents>ul li>ol li::before,
#page.single-qa #faq-contents .qa-body .contents>ol li>ol li::before {
    left: -12px;
}

#page.single-qa #faq-contents .qa-body .contents>ul li>ul li::before,
#page.single-qa #faq-contents .qa-body .contents>ol li>ul li::before {
    left: -10px;
    top: 4px;
}


#page.single-qa #faq-contents .bt {
    padding-top: 30px;
}

#page.single-qa #faq-contents .bt .btn-green {
    padding: 0 20px;
    font-weight: 400;
}


@media (max-width: 768px) {


    /* 共通パーツ　カプセル　capsule-wrap */
    #page #contact .capsule-wrap h3,
    #page #works .capsule-wrap .cap-box h3,
    #page article#recruit .capsule-wrap .cap-box h3,
    #page.branch-page #facility_area .capsule-wrap .cap-box:last-child h3,
    #page.branch-page .cap-box h3,
    #page #policy #information .capsule-wrap .cap-box:not(:first-child) h3,
    #page #policy #information .capsule-wrap .cap-box h3,
    #page #about #information .capsule-wrap .cap-box h3 {
        margin-top: initial;
    }

    #page #works .capsule-wrap .cap-box .btn-green {
        bottom: -10px;
    }


    #page article#recruit .capsule-wrap .cap-box:first-child h3 {
        font-size: 15px;
    }

    #page #policy #information .capsule-wrap .cap-box:not(:first-child) h3,
    #page #policy #information .capsule-wrap .cap-box h3 {
        line-height: 1.2rem;
        padding: 10px 0;
    }

    #page.branch-page #facility_area .capsule-wrap .cap-box:last-child h3 {
        font-size: 17px;
        line-height: 1.3rem;
    }

    #page #contact .capsule-wrap.capsule-two .cap-box:nth-child(5) img,
    #page.branch-page #facility_area .capsule-wrap .cap-box:first-child img {
        object-position: -75px 0;
    }

    #page.branch-page #facility_area .capsule-wrap .cap-box:nth-child(3) img {
        object-position: -18px 0;
    }

    #page.branch-page #facility_area .capsule-wrap .cap-box .btn-green button {
        height: calc(35px - 1px);
    }

    /* ディスクロジャーページ(/about/disclosure/) */
    #page #plan #local-agriculture-promotion-plan .flex-wrapper .white-wrapper,
    #page #disclosure .flex-wrapper.is-recent .white-wrapper,
    #page #disclosure .flex-wrapper.is-archive .white-wrapper {
        max-width: 100vw;
    }

}