@charset "UTF-8";
:root {
  --main-color: #4b9d3f;
  --sub-color01: #9edb63;
  --sub-color02: #ffae20;
  --sub-color03: #5ed9bc;
  --sub-color04: #6bd6fb;
  --sub-color05: #98c5d4;
  --light-gray: #f5f6f7;
  --article-bg-blue: #eafcff;
  --bg-light-green: #e7ffe3;
  --bg-light-orange: #ffe6bb;
  --font-color-default: #333333;
  --font-color-gray: #cbcbcb;
  --link-color: #004c91;
  --div-kousya_news: #ffae20;
  --div-soumu: #ff6666;
  --div-ninaite: #b589d1;
  --div-chikusan: #4ebbff;
  --div-nouchi_ikka: #31d169;
  --div-nouchi_nika: #96514d;
}

/*******************************************************************/
/* PC */
/*******************************************************************/
@media print, screen and (min-width: 1000px) {
  /*<start>==========================================================*/
  /*=================================================================*/
  /*	共通部分 */
  /*=================================================================*/
  main {
    padding: 0 40px 200px;
    width: 100%;
    /* 背景画像関連を複数指定 */
    background-image: url("../images/union/bg_shape01.svg"), url("../images/union/bg_shape02.svg"), url("../images/union/bg_shape03.svg"), url("../images/union/bg_shape04.svg"), url("../images/union/bg_shape05.svg"), url("../images/union/bg_shape06.svg");
    /* 配置位置 */
    background-position: top -1460px right calc(50% - 660px), top -940px left calc(50% - 600px), top -640px right calc(50% - 620px), top -160px left calc(50% - 620px), top 500px right calc(50% - 700px), top 1080px left calc(50% - 740px);
    /* 繰り返し設定 */
    background-repeat: repeat-y;
    /* サイズ */
    background-size: clamp(200px, 40%, 380px) 3300px, clamp(280px, 40%, 550px) 3300px, clamp(260px, 40%, 520px) 3300px, clamp(200px, 40%, 440px) 3300px, clamp(300px, 40%, 580px) 3300px;
    box-sizing: border-box;
  }
  main article {
    margin: 0 auto;
    max-width: 1280px;
    background: #fff;
    box-shadow: 0px 0px 7px 3px rgba(196, 196, 196, 0.2);
    border-radius: 0 0 100px 20px;
  }
  main article .main_column [id] {
    scroll-margin-top: 120px;
  }
  /*	ページタイトル部分(h1) */
  section.title_box {
    padding: 40px 60px 28px;
    max-width: 1280px;
    border-radius: 0 0 100px 20px;
    box-sizing: border-box;
    background: var(--main-color) url(../images/sec/bg_h1_title.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    position: relative;
    overflow: hidden;
  }
  section.title_box .date {
    margin: 0 0 6px 4px;
    color: #fff;
    font-family: "Montserrat";
    font-size: 2rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.1em;
    display: inline-block;
  }
  .page section.title_box {
    padding: 80px 60px 28px;
  }
  section.title_box h1 {
    color: #fff;
    font-size: 4.6rem;
    font-weight: 600;
    line-height: 1.3;
    text-align: center;
  }
  .single section.title_box h1 {
    font-size: 3.6rem;
    text-align: left;
  }
  section.title_box ul.breadcrumb {
    margin: 40px auto 0 0;
    padding: 12px 30px;
    display: flex;
    flex-wrap: wrap;
    background: #fff;
    width: fit-content;
    border-radius: 100px;
    gap: 0.2em 0px;
    position: relative;
    z-index: 2;
  }
  section.title_box ul.breadcrumb li {
    font-size: 1.3rem;
    font-weight: 600;
    display: flex;
    align-items: center;
  }
  section.title_box ul.breadcrumb li a {
    color: var(--main-color);
  }
  section.title_box ul.breadcrumb li a.top {
    color: #a6a6a6;
  }
  section.title_box ul.breadcrumb li a:hover {
    color: var(--sub-color02);
  }
  section.title_box ul.breadcrumb li:nth-child(n+2):before {
    content: "";
    margin: auto 12px;
    width: 5px;
    height: 5px;
    display: inline-block;
    flex: none;
    border-radius: 100%;
    background: var(--sub-color02);
  }
  section.title_box span.title_english {
    margin-top: 6px;
    color: #fff;
    font-family: Montserrat;
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 1;
    display: block;
    text-align: center;
  }
  main article .main_column {
    padding: 100px 100px 100px;
    width: 100%;
    box-sizing: border-box;
    /* 見出し(h2) */
    /* 見出し(h3) */
    /* 見出し(h4) */
    /* 見出し(h5) */
    /* 通常テキスト */
    /* 画像注釈テキスト */
    /* 導入・注釈テキスト */
    /* 概要 */
    /* ページ内リンクボタン用スタイル*/
    /* 定義リストスタイル */
    /* 箇条書きリスト */
  }
  main article .main_column .inner {
    width: 100%;
  }
  main article .main_column .inner > *:last-child {
    margin-bottom: 0;
  }
  main article .main_column h2 {
    margin-bottom: 40px;
    padding-left: 40px;
    font-size: 3.8rem;
    font-weight: 600;
    line-height: 1.4;
    position: relative;
  }
  main article .main_column h2:before {
    content: "";
    width: 26px;
    aspect-ratio: 1;
    display: block;
    background: var(--main-color);
    border-radius: 4px 4px 16px 4px;
    position: absolute;
    left: 0;
    top: calc(0.7em - 10px);
  }
  main article .main_column h2:nth-child(n+2) {
    margin-top: 80px;
  }
  main article .main_column h3 {
    margin-bottom: 40px;
    padding: 15px 36px;
    font-size: 2.2rem;
    font-weight: 500;
    line-height: 1.4;
    background: #f4f4f4;
    border-radius: 8px;
    position: relative;
  }
  main article .main_column h3:before {
    content: "";
    width: 3px;
    height: 26px;
    display: block;
    background: var(--main-color);
    border-radius: 4px;
    position: absolute;
    left: 20px;
    top: calc(0.7em + 4px);
  }
  main article .main_column h3:nth-child(n+2) {
    margin-top: 60px;
  }
  main article .main_column h4 {
    margin: 0 auto 30px 0;
    padding: 0.6em 2em 0.6em 2.6em;
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.4;
    background: #fff;
    border: 1px solid #d9d9d9;
    border-radius: 2em;
    width: fit-content;
    box-sizing: border-box;
    position: relative;
  }
  main article .main_column h4:before {
    content: "";
    width: 1.2em;
    height: 1.2em;
    display: block;
    background: url(../images/union/icon_clover_green.svg) no-repeat center center;
    background-size: contain;
    border-radius: 100%;
    position: absolute;
    left: 0;
    top: 0.7em;
    left: 1em;
  }
  main article .main_column h4:nth-child(n+2) {
    margin-top: 40px;
  }
  main article .main_column h5 {
    margin: 0 auto 30px 0;
    color: var(--main-color);
    font-size: 2.6rem;
    font-weight: 600;
    line-height: 1.4;
  }
  main article .main_column h5:nth-child(n+2) {
    margin-top: 40px;
  }
  main article .main_column p {
    margin-bottom: 2em;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.8;
  }
  main article .main_column .wp-block-image figcaption.wp-element-caption {
    text-align: center;
  }
  main article .main_column p.lead {
    margin: 0 auto 60px;
    padding: 2em 4em;
    font-size: 1.6rem;
    background: var(--bg-light-orange);
    border-radius: 1.8em;
    width: fit-content;
  }
  main article .main_column p.lead.large {
    font-size: 1.8rem;
  }
  main article .main_column p.overview {
    margin: 0 auto 60px;
    padding: 2em 3em;
    font-size: 1.6rem;
    background: var(--light-gray);
    border-radius: 1.2em;
    width: 100%;
    box-sizing: border-box;
  }
  main article .main_column p.overview.large {
    font-size: 1.8rem;
  }
  main article .main_column ul.inner_link {
    margin: 40px auto 80px;
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  }
  main article .main_column ul.inner_link li {
    border-bottom: 1px solid #e8e8e8;
  }
  main article .main_column ul.inner_link li a {
    padding: 16px 30px 16px 18px;
    color: var(--font-color-default);
    font-size: 1.5rem;
    line-height: 1.3;
    text-decoration: none;
    width: 100%;
    height: 100%;
    min-height: 60px;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    position: relative;
  }
  main article .main_column ul.inner_link li a:after {
    content: "";
    margin: auto;
    width: 18px;
    height: 18px;
    display: block;
    background: var(--main-color) center 5px/8.6px auto no-repeat url("../images/union/icon_kunoji_allow_bottom.svg");
    border-radius: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 4px;
  }
  main article .main_column ul.inner_link li a:hover {
    opacity: 1;
    background: #e7e7e7;
  }
  main article .main_column ul.inner_link li a span {
    z-index: 2;
  }
  main article .main_column ul.inner_link li a span.num {
    color: #efefef;
    font-size: 3.6rem;
    font-family: "Montserrat";
    font-style: italic;
    font-weight: 400;
    line-height: 0.8;
    user-select: none;
    position: absolute;
    top: 2px;
    left: 2px;
    z-index: 1;
  }
  main article .main_column .definition_list {
    counter-reset: item;
    /* カウンターをリセット */
  }
  main article .main_column .definition_list .dl:nth-child(n+2) {
    margin-top: 20px;
  }
  main article .main_column .definition_list .dl p {
    margin-bottom: 0;
  }
  main article .main_column .definition_list .dl p.dt {
    padding-left: 3.4rem;
    font-size: 2.2rem;
    font-weight: 600;
    line-height: 1.4;
    width: fit-content;
    display: inline;
    flex: none;
    background: linear-gradient(transparent 60%, #FFE99D 0%);
    align-items: center;
    gap: 0.4em;
    position: relative;
    z-index: 0;
  }
  main article .main_column .definition_list .dl p.dt:before {
    counter-increment: item;
    content: counter(item);
    color: #fff;
    font-family: "montserrat";
    font-size: 1.8rem;
    line-height: 1;
    width: 2.6rem;
    height: 2.6rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--sub-color02);
    border-radius: 100%;
    position: absolute;
    left: 0;
    top: 0.2em;
    z-index: 0;
  }
  main article .main_column .definition_list .dl p.dd {
    margin-top: 0.8em;
    line-height: 1.6;
  }
  main article .main_column ul.wp-block-list {
    margin: 40px 20px;
    /* 横並びスタイル */
  }
  main article .main_column ul.wp-block-list.bg_box {
    margin: 0;
  }
  main article .main_column ul.wp-block-list.two_line {
    display: flex;
    flex-wrap: wrap;
    gap: 1.2em;
  }
  main article .main_column ul.wp-block-list.two_line li {
    margin: 0 !important;
    width: calc((100% - 1.2em) / 2);
  }
  main article .main_column ul.wp-block-list > li {
    padding-left: 1.2em;
    font-size: 1.8rem;
    position: relative;
    box-sizing: border-box;
  }
  main article .main_column ul.wp-block-list > li:before {
    content: "";
    width: 0.6em;
    height: 0.6em;
    display: inline-block;
    background: var(--main-color);
    border-radius: 100%;
    position: absolute;
    left: 0;
    top: 0.4em;
  }
  main article .main_column ul.wp-block-list > li:nth-child(n+2) {
    margin-top: 1.2em;
  }
  main article .main_column ol.wp-block-list {
    margin: 40px 20px;
    /* 連番リセット */
    counter-reset: num;
    /* 横並びスタイル */
  }
  main article .main_column ol.wp-block-list.bg_box {
    margin: 0;
  }
  main article .main_column ol.wp-block-list.two_line {
    display: flex;
    flex-wrap: wrap;
    gap: 1.2em;
  }
  main article .main_column ol.wp-block-list.two_line li {
    margin: 0 !important;
    width: calc((100% - 1.2em) / 2);
  }
  main article .main_column ol.wp-block-list > li {
    padding-left: 2.4em;
    font-size: 1.8rem;
    position: relative;
    box-sizing: border-box;
  }
  main article .main_column ol.wp-block-list > li:before {
    position: absolute;
    counter-increment: num;
    content: counter(num);
    color: #fff;
    font-family: "Montserrat";
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1;
    background: var(--main-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2em;
    height: 2em;
    text-align: center;
    box-sizing: border-box;
    left: 0;
    top: -0.2em;
  }
  main article .main_column ol.wp-block-list > li:nth-child(n+2) {
    margin-top: 1.4em;
  }
  main article .main_column a:not([class]),
  main article .main_column a.block-editor-rich-text__editable {
    color: var(--link-color);
    text-decoration: underline;
  }
  main article .main_column a:not([class]):hover,
  main article .main_column a.block-editor-rich-text__editable:hover {
    text-decoration: none;
  }
  main article .main_column a:not([class])[href^=http]:not([href*=mnk]),
  main article .main_column a.block-editor-rich-text__editable[href^=http]:not([href*=mnk]) {
    padding-right: 1.8em;
    position: relative;
  }
  main article .main_column a:not([class])[href^=http]:not([href*=mnk]):after,
  main article .main_column a.block-editor-rich-text__editable[href^=http]:not([href*=mnk]):after {
    content: "";
    margin-left: 0.2em;
    width: 1.2em;
    height: 1.2em;
    display: inline-block;
    background: url(../images/sec/icon_link.svg) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 100%;
    right: 0;
    transform: translateY(-1.4em);
  }
  main article .main_column a:not([class])[href*=mnk][href$=".pdf"],
  main article .main_column a.block-editor-rich-text__editable[href*=mnk][href$=".pdf"] {
    padding-right: 1.6em;
    position: relative;
  }
  main article .main_column a:not([class])[href*=mnk][href$=".pdf"]:after,
  main article .main_column a.block-editor-rich-text__editable[href*=mnk][href$=".pdf"]:after {
    content: "";
    margin-left: 0.2em;
    width: 1.4em;
    height: 1.4em;
    display: inline-block;
    background: url(../images/sec/icon_pdf.svg) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 100%;
    right: 0;
    transform: translateY(-1.4em);
  }
  main article .main_column a:not([class])[href*=mnk][href$=".doc"], main article .main_column a:not([class])[href*=mnk][href$=".docx"],
  main article .main_column a.block-editor-rich-text__editable[href*=mnk][href$=".doc"],
  main article .main_column a.block-editor-rich-text__editable[href*=mnk][href$=".docx"] {
    padding-right: 1.6em;
    position: relative;
  }
  main article .main_column a:not([class])[href*=mnk][href$=".doc"]:after, main article .main_column a:not([class])[href*=mnk][href$=".docx"]:after,
  main article .main_column a.block-editor-rich-text__editable[href*=mnk][href$=".doc"]:after,
  main article .main_column a.block-editor-rich-text__editable[href*=mnk][href$=".docx"]:after {
    content: "";
    margin-left: 0.2em;
    width: 1.4em;
    height: 1.4em;
    display: inline-block;
    background: url(../images/sec/icon_word.svg) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 100%;
    right: 0;
    transform: translateY(-1.4em);
  }
  main article .main_column a:not([class])[href*=mnk][href$=".xls"], main article .main_column a:not([class])[href*=mnk][href$=".xlsx"],
  main article .main_column a.block-editor-rich-text__editable[href*=mnk][href$=".xls"],
  main article .main_column a.block-editor-rich-text__editable[href*=mnk][href$=".xlsx"] {
    padding-right: 1.6em;
    position: relative;
  }
  main article .main_column a:not([class])[href*=mnk][href$=".xls"]:after, main article .main_column a:not([class])[href*=mnk][href$=".xlsx"]:after,
  main article .main_column a.block-editor-rich-text__editable[href*=mnk][href$=".xls"]:after,
  main article .main_column a.block-editor-rich-text__editable[href*=mnk][href$=".xlsx"]:after {
    content: "";
    margin-left: 0.2em;
    width: 1.4em;
    height: 1.4em;
    display: inline-block;
    background: url(../images/sec/icon_excel.svg) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 100%;
    right: 0;
    transform: translateY(-1.4em);
  }
  main article .main_column a:not([class]):has(img):after,
  main article .main_column a.block-editor-rich-text__editable:has(img):after {
    display: none !important;
  }
  main article .main_column .wp-block-file:not(.wp-element-button) {
    font-size: 1em;
  }
  main article .main_column a.wp-element-button {
    margin: 10px;
    padding: 1.1em 4.2em 1.1em 2em;
    color: #333;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.1;
    width: fit-content;
    min-width: 200px;
    background: #fff;
    border-radius: 100px;
    border: 1px solid #333;
    box-sizing: border-box;
    position: relative;
  }
  main article .main_column a.wp-element-button:hover {
    opacity: 1;
  }
  main article .main_column a.wp-element-button:hover:after {
    transform: translateX(8px) !important;
    transition: 0.3s !important;
  }
  main article .main_column a.wp-element-button:after {
    content: "";
    margin: auto;
    width: 26px;
    height: 26px;
    display: inline-block;
    background: var(--sub-color02) center center/12px auto no-repeat url("../images/union/icon_allow_right.svg");
    border-radius: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 15px;
    transform: translateX(0);
    transition: 0.3s;
  }
  main article .main_column a.wp-element-button[href^=http]:not([href*=mnk]):after {
    content: "";
    width: 22px;
    height: 22px;
    background: url(../images/sec/icon_link.svg) no-repeat center center;
    border-radius: 0;
    background-size: contain;
  }
  main article .main_column a.wp-element-button[href*=mnk][href$=".pdf"]:after {
    content: "";
    width: 24px;
    height: 24px;
    background: url(../images/sec/icon_pdf.svg) no-repeat center center;
    border-radius: 0;
    background-size: contain;
  }
  main article .main_column a.wp-element-button[href*=mnk][href$=".doc"]:after, main article .main_column a.wp-element-button[href*=mnk][href$=".docx"]:after {
    content: "";
    width: 26px;
    height: 26px;
    background: url(../images/sec/icon_word.svg) no-repeat center center;
    border-radius: 0;
    background-size: contain;
  }
  main article .main_column a.wp-element-button[href*=mnk][href$=".xls"]:after, main article .main_column a.wp-element-button[href*=mnk][href$=".xlsx"]:after {
    content: "";
    width: 26px;
    height: 26px;
    background: url(../images/sec/icon_excel.svg) no-repeat center center;
    border-radius: 0;
    background-size: contain;
  }
  main article .main_column :where(.is-layout-flex) {
    gap: 1.5em;
  }
  main article .main_column .wp-block-table,
  main article .main_column .wp-block-flexible-table-block-table {
    margin-bottom: 60px;
  }
  main article .main_column .wp-block-table table thead,
  main article .main_column .wp-block-table table tfoot,
  main article .main_column .wp-block-flexible-table-block-table table thead,
  main article .main_column .wp-block-flexible-table-block-table table tfoot {
    border: none;
  }
  main article .main_column .wp-block-table table tr th,
  main article .main_column .wp-block-table table tr td,
  main article .main_column .wp-block-flexible-table-block-table table tr th,
  main article .main_column .wp-block-flexible-table-block-table table tr td {
    padding: 20px 30px;
    border: none;
    box-sizing: border-box;
  }
  main article .main_column .wp-block-table table tr th.indent,
  main article .main_column .wp-block-table table tr td.indent,
  main article .main_column .wp-block-flexible-table-block-table table tr th.indent,
  main article .main_column .wp-block-flexible-table-block-table table tr td.indent {
    padding: 20px 30px 20px calc(30px + 1em);
  }
  main article .main_column .wp-block-table table tr th:last-child,
  main article .main_column .wp-block-table table tr td:last-child,
  main article .main_column .wp-block-flexible-table-block-table table tr th:last-child,
  main article .main_column .wp-block-flexible-table-block-table table tr td:last-child {
    border-right: none;
  }
  main article .main_column .wp-block-table table tr th,
  main article .main_column .wp-block-flexible-table-block-table table tr th {
    font-weight: 600;
    white-space: nowrap;
    background: var(--bg-light-green);
    border-right: 1px solid #fff;
    border-bottom: 1px solid var(--main-color);
    width: min-content;
  }
  main article .main_column .wp-block-table table tr td,
  main article .main_column .wp-block-flexible-table-block-table table tr td {
    background: #fff;
    border-right: 1px solid #f4f4f4;
    border-bottom: 1px solid #aaa;
    width: auto;
  }
  main article .main_column .wp-block-table table tr:first-child th,
  main article .main_column .wp-block-flexible-table-block-table table tr:first-child th {
    border-top: 1px solid var(--main-color);
  }
  main article .main_column .wp-block-table table tr:first-child td,
  main article .main_column .wp-block-flexible-table-block-table table tr:first-child td {
    border-top: 1px solid #aaa;
  }
  main article .main_column .wp-block-table table thead th,
  main article .main_column .wp-block-flexible-table-block-table table thead th {
    color: #fff;
    background: var(--main-color);
  }
  main article .main_column .wp-block-table table tfoot tr td,
  main article .main_column .wp-block-flexible-table-block-table table tfoot tr td {
    background: #f4f4f4;
    border-color: #fff;
  }
  main article .main_column .wp-block-table table + figcaption,
  main article .main_column .wp-block-flexible-table-block-table table + figcaption {
    margin-top: 1em;
    font-size: 1.5rem;
    color: #666;
    text-align: right;
  }
  main article .main_column .nyusatsu_table .wp-block-table.company_list thead tr > *:first-child,
  main article .main_column .nyusatsu_table .wp-block-table.company_list tbody tr > *:first-child,
  main article .main_column .nyusatsu_table .wp-block-flexible-table-block-table.company_list thead tr > *:first-child,
  main article .main_column .nyusatsu_table .wp-block-flexible-table-block-table.company_list tbody tr > *:first-child {
    text-align: center;
  }
  main article .main_column .nyusatsu_table .wp-block-table.company_list tbody tr > *:first-child,
  main article .main_column .nyusatsu_table .wp-block-flexible-table-block-table.company_list tbody tr > *:first-child {
    background: var(--bg-light-green);
  }
  main article .main_column .is-style-stripes {
    border: none;
  }
  main article .main_column .is-style-stripes table tbody tr:nth-child(2n-1) td {
    background: #f5f5f5;
  }
  main article .main_column .bg_box {
    padding: 30px;
    background: #f3f3f3;
    border-radius: 12px;
  }
  main article .main_column .history {
    margin: 80px auto 80px;
    border-top: 1px solid #e8e8e8;
  }
  main article .main_column .history .is-layout-flex {
    padding: 40px 0;
    background: #fff;
    border-bottom: 1px solid #e8e8e8;
    gap: 0 20px;
  }
  main article .main_column .history .is-layout-flex p {
    margin-bottom: 0;
  }
  main article .main_column .history .is-layout-flex p.date {
    width: 180px;
    font-size: 2rem;
    font-weight: 600;
  }
  main article .main_column .history .is-layout-flex p:not(.date) {
    font-size: 1.8rem;
    padding-left: 60px;
    flex: 1;
    position: relative;
  }
  main article .main_column .history .is-layout-flex p:not(.date):before {
    content: "";
    width: 8px;
    height: 8px;
    display: inline-block;
    background: var(--sub-color01);
    border-radius: 100%;
    position: absolute;
    left: 10px;
    top: calc(0.9em - 2px);
  }
  main article .main_column .qa_style {
    padding: 30px;
    background: #fff;
    border-radius: 10px;
    box-sizing: border-box;
  }
  main article .main_column .qa_style + .qa_style {
    margin-top: 2em;
  }
  main article .main_column .qa_style .question,
  main article .main_column .qa_style .answer {
    margin: 0;
    width: auto;
    box-sizing: border-box;
    position: relative;
  }
  main article .main_column .qa_style .question {
    padding: 0 0 30px 3em;
  }
  main article .main_column .qa_style .question:before {
    content: "Q";
    font-family: "Montserrat";
    color: #fff;
    font-size: 1.8rem;
    width: 1.8em;
    aspect-ratio: 1;
    background: #2b5098;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    left: 0;
    top: -0.24em;
  }
  main article .main_column .qa_style .answer {
    padding: 30px 0 0 3em;
    border-top: 1px solid #d5d5d5;
  }
  main article .main_column .qa_style .answer:before {
    content: "A";
    font-family: "Montserrat";
    color: #fff;
    font-size: 1.8rem;
    width: 1.8em;
    aspect-ratio: 1;
    background: #d95151;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    left: 0;
    top: calc(30px - 0.24em);
  }
  main article .main_column .btn_menu_list {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
  }
  main article .main_column .btn_menu_list .wp-block-button {
    width: calc((100% - 80px) / 3);
  }
  main article .main_column .btn_menu_list .wp-block-button a {
    font-size: 1.8rem;
    width: 100%;
    height: auto;
    box-sizing: border-box;
  }
  /*=================================================================*/
  /*	記事一覧スタイル */
  /*=================================================================*/
  .post_box .post_list li {
    border-bottom: 1px solid #e8e8e8;
  }
  .post_box .post_list li a {
    padding: 1.4em 4em 1.4em 1em;
    color: #333 !important;
    font-size: 1.6rem;
    text-decoration: none !important;
    display: flex;
    align-items: baseline;
    background: #fff;
    box-sizing: border-box;
    position: relative;
  }
  .post_box .post_list li a:hover {
    opacity: 1;
    background: #e7e7e7;
  }
  .post_box .post_list li a:hover:after {
    right: 12px;
    transition: 0.3s;
  }
  .post_box .post_list li a:after {
    content: "";
    margin: auto;
    width: 1.8em;
    height: 1.8em;
    display: inline-block;
    background: var(--main-color);
    background-image: url(../images/union/icon_allow_right.svg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 1em auto;
    border: 1px solid var(--light-green);
    border-radius: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 20px;
    transition: 0.3s;
  }
  .post_box .post_list li span.date {
    margin-right: 2em;
    color: #888;
    font-family: "Montserrat";
    font-weight: 500;
    white-space: nowrap;
    min-width: 6em;
  }
  .post_box .post_list li span.category {
    margin-right: 2em;
    padding: 0.4em 1.1em;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 500;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: var(--main-color);
    min-width: 6.8em;
  }
  .post_box .post_list li span.category.kousya_news {
    background: var(--div-kousya_news);
  }
  .post_box .post_list li span.category.soumu {
    background: var(--div-soumu);
  }
  .post_box .post_list li span.category.ninaite {
    background: var(--div-ninaite);
  }
  .post_box .post_list li span.category.chikusan {
    background: var(--div-chikusan);
  }
  .post_box .post_list li span.category.nouchi {
    background: var(--div-nouchi);
  }
  .post_box .post_list li span.category.shinki {
    background: var(--div-shinki);
  }
  .pager {
    margin-top: 40px;
  }
  .pager:empty {
    margin: 0;
  }
  .pager .wp-pagenavi {
    display: flex;
    justify-content: center;
    gap: 10px;
  }
  .pager .wp-pagenavi > span {
    user-select: none;
  }
  .pager .wp-pagenavi > a,
  .pager .wp-pagenavi > span {
    font-family: "Montserrat";
    color: var(--common-navy);
    font-size: 1.8rem;
    font-weight: 500;
    text-decoration: none;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid #ededed;
    box-sizing: border-box;
    transition: 0.1s;
  }
  .pager .wp-pagenavi > a.current,
  .pager .wp-pagenavi > span.current {
    color: #fff;
    background: var(--main-color);
    border-color: var(--main-color);
  }
  .pager .wp-pagenavi > a:hover,
  .pager .wp-pagenavi > span:hover {
    opacity: 1;
    color: #fff;
    background: var(--main-color);
    border-color: var(--main-color);
    transition: 0.1s;
  }
  .pager .wp-pagenavi > a.previouspostslink, .pager .wp-pagenavi > a.nextpostslink,
  .pager .wp-pagenavi > span.previouspostslink,
  .pager .wp-pagenavi > span.nextpostslink {
    font-weight: 500;
  }
  a.to_archive {
    margin: 40px auto 80px;
    padding: 18px 60px 18px 28px;
    color: #333;
    font-weight: 600;
    font-size: 1.8rem;
    line-height: 1.1;
    text-align: center;
    width: fit-content;
    min-width: 300px;
    display: block;
    background: #fff;
    border-radius: 100px;
    border: 2px solid #333;
    box-sizing: border-box;
    position: relative;
  }
  a.to_archive:hover {
    opacity: 1;
  }
  a.to_archive:hover:after {
    transform: translateX(8px);
    transition: 0.3s;
  }
  a.to_archive:after {
    content: "";
    margin: auto;
    width: 30px;
    height: 30px;
    display: inline-block;
    background: var(--main-color) center center/14px auto no-repeat url("../images/union/icon_allow_right.svg");
    border-radius: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 15px;
    transform: translateX(0);
    transition: 0.3s;
  }
  /*=================================================================*/
  /*	農地情報一覧スタイル */
  /*=================================================================*/
  p.total {
    margin-bottom: 1em !important;
    font-size: 2.2rem !important;
    text-align: center;
  }
  p.total span {
    margin: 0 8px;
    color: var(--sub-color02);
    font-size: 1.8em;
    font-weight: 600;
    vertical-align: baseline;
  }
  p.conditions {
    margin-bottom: 1em !important;
    font-size: 1.8rem !important;
  }
  p.conditions span {
    font-size: 1.2em;
    font-weight: 600;
  }
  .nouchi_box .nouchi_list li {
    border: 2px solid var(--main-color);
    display: flex;
  }
  .nouchi_box .nouchi_list li .info {
    width: 50%;
    box-sizing: border-box;
    background: #fff;
  }
  .nouchi_box .nouchi_list li .info dl {
    display: flex;
    flex-wrap: wrap;
  }
  .nouchi_box .nouchi_list li .info dl:nth-child(n+2) {
    border-top: 1px solid var(--main-color);
  }
  .nouchi_box .nouchi_list li .info dl.name dt {
    color: #fff;
    font-size: 1.8rem;
    background: var(--main-color);
  }
  .nouchi_box .nouchi_list li .info dl.name dd > a {
    font-size: 2rem;
    font-weight: 600;
  }
  .nouchi_box .nouchi_list li .info dl dt,
  .nouchi_box .nouchi_list li .info dl dd {
    padding: 0.6em 0.8em;
    box-sizing: border-box;
  }
  .nouchi_box .nouchi_list li .info dl dt {
    width: 20%;
    min-width: 100px;
    background: var(--bg-light-green);
  }
  .nouchi_box .nouchi_list li .info dl dd {
    flex: 1;
  }
  .nouchi_box .nouchi_list li .map {
    width: 50%;
  }
  .nouchi_box .nouchi_list li .map .wrap {
    width: 100%;
    height: 100%;
    position: relative;
  }
  .nouchi_box .nouchi_list li .map .wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
  }
  .nouchi_box .nouchi_list li:nth-child(n+2) {
    margin-top: 40px;
  }
  /*=================================================================*/
  /*	農地情報詳細スタイル */
  /*=================================================================*/
  .farmland_info_detail .map_outer {
    width: 100%;
    aspect-ratio: 2/1;
    min-height: 450px;
    position: relative;
  }
  .farmland_info_detail .map_outer iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
  }
  /*=================================================================*/
  /*	所在地スタイル */
  /*=================================================================*/
  .access {
    display: flex;
    flex-direction: column;
    gap: 40px;
  }
  .access .data {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .access .data .logo {
    padding-right: 60px;
  }
  .access .data ul.info {
    padding: 16px 40px;
    border-left: 2px solid #e8e8e8;
    display: flex;
    flex-direction: column;
    gap: 30px;
  }
  .access .data ul.info li {
    font-size: 1.8rem;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 20px;
  }
  .access .data ul.info li:before {
    content: "";
    width: 35px;
    height: 35px;
    display: inline-block;
    flex: none;
    background: var(--sub-color02);
    border-radius: 100%;
  }
  .access .data ul.info li.map:before {
    background: var(--sub-color02) center center/20px auto no-repeat url("../images/union/icon_map.svg");
  }
  .access .data ul.info li.walk:before {
    background: var(--sub-color02) center center/20px auto no-repeat url("../images/union/icon_walk.svg");
  }
  .access .data ul.info li.tel:before {
    background: var(--sub-color02) center center/20px auto no-repeat url("../images/union/icon_tel.svg");
  }
  .access > .map {
    border-radius: 60px 60px 160px 40px;
    overflow: hidden;
  }
  /*=================================================================*/
  /*	お問い合わせスタイル */
  /*=================================================================*/
  .contact_box {
    margin: 100px auto 60px;
    padding: 30px 80px;
    text-align: center;
    width: fit-content;
    max-width: 800px;
    background: #fff;
    border: 2px solid #e5e5e5;
    box-shadow: 0 8px 10px rgba(196, 196, 196, 0.2);
    border-radius: 0 80px 80px 80px;
    box-sizing: border-box;
  }
  .contact_box p {
    line-height: 1.4 !important;
  }
  .contact_box p.title {
    margin-bottom: 0;
    font-size: 2.2rem;
  }
  .contact_box p.name {
    margin: 0.8em 0;
    color: var(--main-color);
    font-size: 2.6rem;
    font-weight: 600;
  }
  .contact_box p.address, .contact_box p.tel {
    margin: 0.6em 0;
    font-size: 1.6rem;
  }
  .contact_box p.btn_mail {
    margin: 1.8em auto 0;
  }
  .contact_box p.btn_mail a {
    margin: 0 auto;
    padding: 1em 2.2em;
    font-size: 1.6rem;
    color: #fff !important;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    gap: 0.6em;
    background: #333;
  }
  .contact_box p.btn_mail a:after {
    content: "";
    width: 1.6em;
    height: 1.6em;
    display: inline-block;
    background: url("../images/union/icon_contact_line.svg") no-repeat center center;
    background-size: contain;
  }
  /*=================================================================*/
  /*	分野別メニュースタイル */
  /*=================================================================*/
  .cat_menu {
    margin: 40px auto 80px;
  }
  .cat_menu dl {
    margin: 0 auto;
    max-width: 1000px;
  }
  .cat_menu dl dt,
  .cat_menu dl dd {
    background: var(--sub-color01);
  }
  .cat_menu dl dt {
    margin: 0 auto 0 0;
    padding: 18px 30px 6px;
    color: #fff;
    font-size: 2.8rem;
    font-weight: 600;
    line-height: 1.1;
    text-align: center;
    width: fit-content;
    min-width: 300px;
    border-radius: 28px 28px 0 0;
    box-sizing: border-box;
  }
  .cat_menu dl dt span {
    margin-left: 0.3em;
    font-size: 1.8rem;
  }
  .cat_menu dl dd {
    padding: 30px;
    border-radius: 0 10px 10px 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }
  .cat_menu dl dd > a {
    padding: 18px 54px 18px 18px;
    color: #222 !important;
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none !important;
    width: calc((100% - 10px) / 2);
    background: #fff;
    border: 2px solid var(--main-color);
    box-shadow: 0px 2px 6px 0px rgba(162, 162, 162, 0.3);
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 16px;
    position: relative;
    transition: 0.3s;
  }
  .cat_menu dl dd > a span.icon {
    width: 50px;
    height: 50px;
    display: block;
    flex: none;
    background: var(--main-color);
    position: relative;
  }
  .cat_menu dl dd > a span.icon img {
    margin: auto;
    width: 36px;
    height: 36px;
    object-fit: contain;
    object-position: center center;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
  }
  .cat_menu dl dd > a span.allow {
    margin: auto;
    width: 30px;
    height: 30px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--main-color);
    border-radius: 100%;
    box-sizing: border-box;
    position: absolute;
    right: 14px;
    top: 0;
    bottom: 0;
    transform: translateX(0px);
    transition: 0.3s;
  }
  .cat_menu dl dd > a span.allow svg {
    width: 14px;
    height: auto;
  }
  .cat_menu dl dd > a span.allow svg polygon {
    transition: 0.3s;
  }
  .cat_menu dl dd > a:hover {
    opacity: 1;
    background: #def9da;
    transition: 0.3s;
  }
  .cat_menu dl dd > a:hover span.allow {
    border-color: var(--sub-color02);
    transform: translateX(8px);
    transition: 0.3s;
  }
  .cat_menu dl dd > a:hover span.allow svg polygon {
    fill: var(--sub-color02);
    transition: 0.3s;
  }
  .cat_menu dl.sinki dt,
  .cat_menu dl.sinki dd {
    background: var(--sub-color01);
  }
  .cat_menu dl.nouchi dt,
  .cat_menu dl.nouchi dd {
    background: var(--sub-color03);
  }
  .cat_menu dl.kiban dt,
  .cat_menu dl.kiban dd {
    background: var(--sub-color04);
  }
  .cat_menu dl.sonota dt,
  .cat_menu dl.sonota dd {
    background: var(--sub-color05);
  }
  /*=================================================================*/
  /*	添付ファイルスタイル */
  /*=================================================================*/
  .attachment_list {
    margin-top: 60px;
  }
  .attachment_list dl.file_block {
    display: flex;
    align-items: stretch;
    white-space: nowrap;
    border: 1px solid #e8e8e8;
  }
  .attachment_list dl.file_block:nth-child(n+2) {
    margin-top: 20px;
  }
  .attachment_list dl.file_block dt,
  .attachment_list dl.file_block dd {
    padding: 0.6em 1.2em;
    min-height: 1em;
  }
  .attachment_list dl.file_block dt {
    color: #fff;
    background: var(--sub-color02);
    min-width: 120px;
  }
  .attachment_list dl.file_block dd {
    white-space: normal;
    flex: 1;
  }
  /*=================================================================*/
  /*	実績スタイル */
  /*=================================================================*/
  .case_box {
    gap: 3.6em !important;
  }
  .case_box.changing > .wp-block-image:nth-child(n+2) {
    position: relative;
  }
  .case_box.changing > .wp-block-image:nth-child(n+2):before {
    content: "";
    margin: auto;
    width: 1.2em;
    height: 2.4em;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    background: var(--main-color);
    position: absolute;
    top: 0;
    bottom: 0;
    left: -2.2em;
  }
  /*=================================================================*/
  /*	農地検索用スタイル */
  /*=================================================================*/
  .nouchi_search {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 60px;
  }
  .nouchi_search > dl {
    padding: 30px;
    border-radius: 30px;
    background: var(--sub-color01);
    box-sizing: border-box;
    flex: 1;
  }
  .nouchi_search > dl > dt {
    color: #fff;
    font-size: 2.2rem;
    font-weight: 600;
  }
  .nouchi_search > dl > dd {
    margin-top: 20px;
    padding: 20px;
    background: #fff;
    border-radius: 8px;
  }
  .nouchi_search > dl.town_name {
    width: 100%;
    flex: auto;
  }
  .nouchi_search > dl.town_name dd .map > img {
    width: 100%;
    height: auto;
  }
  .nouchi_search > dl.town_name dd .name_link {
    padding: 20px;
    box-sizing: border-box;
    display: flex;
    gap: 40px;
  }
  .nouchi_search > dl.town_name dd .name_link > div {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 30px;
  }
  .nouchi_search > dl.town_name dd .name_link > div > dl > dt {
    margin-bottom: 0.6em;
    padding: 0 0 0.4em 1.4em;
    font-size: 2rem;
    font-weight: 600;
    border-bottom: 1px solid #e8e8e8;
    position: relative;
    box-sizing: border-box;
  }
  .nouchi_search > dl.town_name dd .name_link > div > dl > dt:before {
    content: "";
    width: 0.8em;
    aspect-ratio: 1;
    display: block;
    background: var(--main-color);
    border-radius: 0.2em 0.2em 0.5em 0.2em;
    position: absolute;
    left: 0.2em;
    top: 0.3em;
  }
  .nouchi_search > dl.town_name dd .name_link > div > dl > dd {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }
  .nouchi_search > dl.town_name dd .name_link > div > dl > dd li > a {
    padding: 0.3em 0.5em;
    color: #fff;
    font-size: 1.6rem;
    text-decoration: none;
    display: inline-block;
    background: var(--sub-color02);
    border-radius: 0.5em;
    border: 2px solid var(--sub-color02);
    box-sizing: border-box;
  }
  .nouchi_search > dl.town_name dd .name_link > div > dl > dd li > a:hover {
    color: var(--sub-color02);
    opacity: 1;
    background: #fff;
  }
  /*=================================================================*/
  /*	フォームパーツ用スタイル */
  /*=================================================================*/
  main input[type=text],
  main input[type=email],
  main input[type=tel],
  main input[type=password],
  main textarea {
    padding: 0.6em 0.8em;
    box-sizing: border-box;
    width: 100%;
    background: #fff;
    border: 1px solid #afafaf;
    border-radius: 6px;
    box-sizing: border-box;
  }
  main input[type=text] + input[type=text] {
    margin-top: 20px;
  }
  main textarea {
    min-height: 160px;
    resize: vertical;
  }
  main select {
    padding: 0.6em 0.8em;
    box-sizing: border-box;
    width: fit-content;
    background: #fff;
    border: 1px solid #afafaf;
    border-radius: 6px;
    box-sizing: border-box;
  }
  main select:hover {
    cursor: pointer;
  }
  main input[type=password] {
    padding: 0.2em 0.4em;
    box-sizing: border-box;
    width: fit-content;
    background: #fff;
    border: 1px solid #afafaf;
    border-radius: 6px;
    box-sizing: border-box;
  }
  main input[type=submit][value=確定] {
    padding: 0.2em 0.4em;
    background: #e8e8e8;
    border-radius: 0.4em;
    border: 1px solid #333;
    box-sizing: border-box;
  }
  main input[type=submit][value=確定]:hover {
    cursor: pointer;
    background: #c7c7c7;
  }
  main label:has(input[type=checkbox]) {
    padding: 0.3em 0.5em;
    border-radius: 0.3em;
    width: fit-content;
    display: flex;
    align-items: baseline;
    gap: 0.5em;
    user-select: none;
    position: relative;
    transition: 0.2s;
  }
  main label:has(input[type=checkbox]):hover {
    background: #ededed;
    cursor: pointer;
    transition: 0.2s;
  }
  main label:has(input[type=checkbox]):before {
    content: "";
    background: #fff;
    border: 1px solid #afafaf;
    display: block;
    width: 1.1em;
    height: 1.1em;
    border-radius: 4px;
    box-sizing: border-box;
    flex: none;
    transform: translate(0, 0.14em);
  }
  main label:has(input[type=checkbox]):after {
    content: "";
    border-right: 3px solid var(--sub-color02);
    border-bottom: 3px solid var(--sub-color02);
    display: block;
    width: 0.4em;
    height: 1em;
    opacity: 0;
    position: absolute;
    left: 0.92em;
    top: 0.1em;
    transform: rotate(45deg);
    transition: 0.2s;
  }
  main label:has(input[type=checkbox]):has(input[type=checkbox]:checked):after {
    opacity: 1;
    transition: 0.2s;
  }
  main label:has(input[type=checkbox]) input[type=checkbox] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
  }
  main .wpcf7-checkbox {
    margin: 20px 0 10px;
    display: flex;
    flex-direction: column;
    gap: 0.4em;
  }
  main .wpcf7-checkbox.item_flex {
    flex-wrap: wrap;
    flex-direction: row;
  }
  main .wpcf7-checkbox.item_flex > span.wpcf7-list-item {
    width: fit-content;
  }
  main .wpcf7-checkbox > span.wpcf7-list-item {
    margin: 0;
    width: 100%;
    box-sizing: border-box;
  }
  main .checkbox_list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.2em 0.2em;
  }
  main .checkbox_list label:has(input[type=checkbox]) {
    padding: 0.3em 0.5em;
    border-radius: 0.3em;
    display: flex;
    align-items: baseline;
    gap: 0.3em;
    user-select: none;
    position: relative;
    transition: 0.2s;
  }
  main .checkbox_list label:has(input[type=checkbox]):hover {
    background: #ededed;
    cursor: pointer;
    transition: 0.2s;
  }
  main .checkbox_list label:has(input[type=checkbox]):before {
    content: "";
    background: #fff;
    border: 1px solid #afafaf;
    display: block;
    width: 1em;
    height: 1em;
    border-radius: 4px;
    box-sizing: border-box;
    transform: translate(translate(0, 0.1em));
  }
  main .checkbox_list label:has(input[type=checkbox]):after {
    content: "";
    border-right: 3px solid var(--sub-color02);
    border-bottom: 3px solid var(--sub-color02);
    display: block;
    width: 0.4em;
    height: 1em;
    opacity: 0;
    position: absolute;
    left: 0.92em;
    top: 0.1em;
    transform: rotate(45deg);
    transition: 0.2s;
  }
  main .checkbox_list label:has(input[type=checkbox]):has(input[type=checkbox]:checked):after {
    opacity: 1;
    transition: 0.2s;
  }
  main .checkbox_list label:has(input[type=checkbox]) input[type=checkbox] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
  }
  main label:has(input[type=radio]) {
    padding: 0.3em 0.5em;
    width: fit-content;
    border-radius: 0.3em;
    user-select: none;
    transition: 0.2s;
    cursor: pointer;
  }
  main label:has(input[type=radio]):hover {
    background: #ededed;
    cursor: pointer;
    transition: 0.2s;
  }
  main input[type=radio] {
    margin-right: 0.2em;
    width: 20px;
    height: 20px;
    background: #fff;
    border: 1px solid #afafaf;
    border-radius: 50%;
    box-sizing: border-box;
    vertical-align: -3px;
    -webkit-appearance: none;
    appearance: none;
    -moz-appearance: none;
    position: relative;
  }
  main input[type=radio]:hover {
    cursor: pointer;
  }
  main input[type=radio]:checked:before {
    content: "";
    width: 9.6px;
    height: 9.6px;
    display: block;
    background: var(--sub-color02);
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  main .wpcf7-radio {
    margin: 20px 0 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 1em 0.8em;
  }
  main .wpcf7-radio > span.wpcf7-list-item {
    margin: 0;
  }
  main button[type=submit] {
    margin: 20px auto 0;
    padding: 0.5em 1.8em;
    color: #fff;
    font-size: 1.8rem;
    font-weight: 600;
    width: fit-content;
    min-width: 160px;
    display: block;
    background: var(--main-color);
    border: 3px solid var(--main-color);
    border-radius: 0.4em;
    box-sizing: border-box;
    cursor: pointer;
    position: relative;
    transition: 0.3s;
  }
  main button[type=submit]:hover {
    color: var(--main-color);
    background: #fff;
    transition: 0.3s;
  }
  main button[type=submit].btn_search {
    padding: 0.5em 1.8em 0.5em 2.4em;
  }
  main button[type=submit].btn_search:before {
    content: "";
    margin: auto;
    width: 1.1em;
    height: 1.1em;
    display: inline-block;
    background-color: #fff;
    -webkit-mask-image: url("../images/union/icon_search_form.svg");
    mask-image: url("../images/union/icon_search_form.svg");
    -webkit-mask-size: cover;
    mask-size: cover;
    position: absolute;
    left: 1em;
    top: 0;
    bottom: 0;
  }
  main button[type=submit].btn_search:hover:before {
    background-color: var(--main-color);
    transition: 0.3s;
  }
  /*=================================================================*/
  /*	お問い合わせフォーム	 */
  /*=================================================================*/
  #form_outer {
    width: 100%;
  }
  #form_outer .input_box {
    margin: 60px auto;
    padding: 50px 50px;
    border-radius: 40px;
    background: #f7f7f7;
    display: flex;
    max-width: 800px;
    flex-direction: column;
    gap: 50px;
  }
  #form_outer .input_box.confirm {
    background: #fff;
    border: 2px solid var(--sub-color02);
    box-sizing: border-box;
  }
  #form_outer .input_box.confirm dl.item_unit dt {
    color: var(--sub-color02);
  }
  #form_outer .input_box dl.item_unit dt {
    margin-bottom: 0.6em;
    padding-left: 0.2em;
    font-size: 2rem;
    font-weight: 600;
    display: flex;
    align-items: flex-start;
  }
  #form_outer .input_box dl.item_unit dt > p.red {
    margin: 0 0 0 0.6em;
    font-weight: 600;
    color: #f55a56;
  }
  #form_outer .input_box dl.item_unit dt .required {
    margin-left: 1em;
    padding: 0.2em 0.6em;
    color: #fff;
    font-size: 0.8em;
    font-weight: 600;
    vertical-align: text-top;
    white-space: nowrap;
    background: var(--sub-color02);
    border-radius: 2em;
  }
  #form_outer .input_box dl.item_unit dd {
    flex: 1;
  }
  #form_outer .input_box dl.item_unit dd.flex {
    display: flex;
    gap: 1em;
  }
  #form_outer .input_box dl.item_unit dd > p {
    margin: 0.2em 0;
    padding: 0 0.5em;
    box-sizing: border-box;
  }
  #form_outer .input_box dl.item_unit dd input[name=age] {
    margin-right: 0.4em;
    width: 8em;
  }
  #form_outer .input_box dl.item_unit dd input[name=personal_income],
  #form_outer .input_box dl.item_unit dd input[name=household_income] {
    margin-right: 0.4em;
    width: calc(100% - 6em);
  }
  #form_outer .input_box dl.item_unit dd input[name=tel-number],
  #form_outer .input_box dl.item_unit dd input[name=tel],
  #form_outer .input_box dl.item_unit dd input[name=your-postcode],
  #form_outer .input_box dl.item_unit dd input[name=pastal_code],
  #form_outer .input_box dl.item_unit dd input[name=personal_income],
  #form_outer .input_box dl.item_unit dd input[name=household_income] {
    width: 14em;
  }
  #form_outer .input_box dl.item_unit dd p.caption {
    margin: 0.8em 0 0.4em 0;
    color: #888;
    font-size: 1.4rem;
  }
  #form_outer .input_box dl.item_unit dd p.mini_head {
    margin: 2em 0 0.6em 0;
    padding-left: 0.2em;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.4;
  }
  #form_outer .input_box dl.item_unit dd .wpcf7-form-control-wrap + .wpcf7-form-control-wrap {
    margin-top: 20px;
    display: block;
  }
  #form_outer .input_box dl.item_unit dd .radio_outer {
    margin: 18px 0 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 0.6em 0.8em;
  }
  #form_outer .input_box dl.item_unit dd .sub_box {
    margin: 1em 0 0 0;
  }
  #form_outer .input_box dl.item_unit dd .sub_box p {
    margin: 0.2em 0;
    padding: 0 0.5em;
    box-sizing: border-box;
  }
  #form_outer .input_box dl.item_unit dd select[name=birthday_year],
  #form_outer .input_box dl.item_unit dd select[name=birthday_month],
  #form_outer .input_box dl.item_unit dd select[name=birthday_day] {
    margin-right: 0.4em;
  }
  #form_outer .input_box.confirm dl.item_unit dt {
    padding-top: 0;
  }
  #form_outer .btn_box {
    margin-top: 40px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 40px;
  }
  #form_outer .btn_box > input {
    padding: 1em 1.8em;
    color: #fff;
    border-radius: 0;
    background: var(--main-color);
    box-shadow: 0px 3px #1c5d13;
    transition: 0.3s;
  }
  #form_outer .btn_box > input.btn_previous, #form_outer .btn_box > input.btn_reset {
    color: #333;
    background: #e1e1e1;
    box-shadow: 0px 3px #bfbfbf;
  }
  #form_outer .btn_box > input:hover {
    cursor: pointer;
    opacity: 0.7;
  }
  #form_outer .btn_box .wpcf7-spinner {
    display: none !important;
  }
  #form_outer .consent_box {
    margin: 0 auto;
    padding: 30px 30px;
    background: #f7f7f7;
    width: fit-content;
    min-width: 500px;
    border-radius: 20px;
    box-sizing: border-box;
  }
  #form_outer .consent_box .wpcf7-form-control {
    margin-top: 0;
    justify-content: center;
  }
  #form_outer .consent_box .wpcf7-form-control .wpcf7-list-item-label {
    font-size: 2rem;
    font-weight: 600;
  }
  #form_outer .consent_box .wpcf7-checkbox .wpcf7-list-item > label:after {
    left: 1em;
    top: 0.3em;
  }
  #form_outer .consent_box .radio_outer {
    margin: 0 0 10px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1em 0.8em;
  }
  #form_outer .consent_box .radio_outer label {
    font-size: 2rem;
    font-weight: 600;
  }
  #form_outer .consent_box > p {
    margin: 0.8em 0 0 0;
  }
  #form_outer .privacy_box {
    margin: 60px auto;
    padding: 30px 30px;
    background: #fff;
    border: 3px solid var(--main-color);
    width: 80%;
    border-radius: 20px;
    box-sizing: border-box;
  }
  #form_outer .privacy_box p {
    margin-bottom: 1em;
    text-align: center;
  }
  #form_outer .privacy_box .radio_outer {
    display: flex;
    justify-content: center;
  }
  #form_outer .privacy_box .radio_outer label {
    font-size: 2rem;
    font-weight: 600;
  }
  span.wpcf7-not-valid-tip {
    margin-top: 4px;
    padding: 0 0.4em;
    color: #f55a56;
    font-weight: 600;
  }
  .wpcf7-response-output {
    margin: 40px auto 0 !important;
    padding: 2rem !important;
    width: 100%;
    max-width: 1000px;
    border-color: #f55a56 !important;
    box-sizing: border-box;
    background: #fff4f4;
  }
  #autozip {
    display: none !important;
  }
  /*<end>============================================================*/
}
/*******************************************************************/
/* SP */
/*******************************************************************/
@media screen and (max-width: 999px) {
  /*<start>==========================================================*/
  /*=================================================================*/
  /*	共通部分 */
  /*=================================================================*/
  main {
    padding: 0 2% 20%;
    width: 100%;
    box-sizing: border-box;
  }
  main article {
    margin: 0 auto;
    max-width: 100%;
    background: #fff;
    box-shadow: 0px 0px 7px 3px rgba(196, 196, 196, 0.2);
    border-radius: 0 0 40px 10px;
  }
  main article .main_column [id] {
    scroll-margin-top: 40px;
  }
  /*	ページタイトル部分(h1) */
  section.title_box {
    padding: 4% 4%;
    border-radius: 0 0 40px 10px;
    box-sizing: border-box;
    background: var(--main-color) url(../images/sec/bg_h1_title.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    position: relative;
    overflow: hidden;
  }
  section.title_box .date {
    margin: 0 0 0.2em 0.1em;
    color: #fff;
    font-family: "Montserrat";
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.1em;
    display: inline-block;
  }
  .page section.title_box {
    padding: 8% 4% 4%;
  }
  section.title_box h1 {
    color: #fff;
    font-size: 2.6rem;
    font-weight: 600;
    line-height: 1.3;
    text-align: center;
  }
  .single section.title_box h1 {
    font-size: 2.2rem;
    text-align: left;
  }
  section.title_box ul.breadcrumb {
    margin-top: 1.2em;
    padding: 8px 16px;
    display: flex;
    flex-wrap: wrap;
    background: #fff;
    width: fit-content;
    border-radius: 100px;
    gap: 0.2em 0px;
    position: relative;
    z-index: 1;
  }
  section.title_box ul.breadcrumb li {
    font-size: 1.2rem;
    font-weight: 600;
    display: flex;
    align-items: center;
  }
  section.title_box ul.breadcrumb li a {
    color: var(--main-color);
  }
  section.title_box ul.breadcrumb li a.top {
    color: #a6a6a6;
  }
  section.title_box ul.breadcrumb li a:hover {
    color: var(--sub-color02);
  }
  section.title_box ul.breadcrumb li:nth-child(n+2):before {
    content: "";
    margin: auto 8px;
    width: 5px;
    height: 5px;
    display: inline-block;
    flex: none;
    border-radius: 100%;
    background: var(--sub-color02);
  }
  section.title_box span.title_english {
    margin-top: 6px;
    color: #fff;
    font-family: Montserrat;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1;
    display: block;
    text-align: center;
  }
  main article .main_column {
    padding: 6% 4% 10%;
    width: 100%;
    box-sizing: border-box;
    /* 見出し(h2) */
    /* 見出し(h3) */
    /* 見出し(h4) */
    /* 見出し(h5) */
    /* 通常テキスト */
    /* 画像注釈テキスト */
    /* 導入・注釈テキスト */
    /* 概要 */
    /* ページ内リンクボタン用スタイル*/
    /* 定義リストスタイル */
    /* 箇条書きリスト */
  }
  main article .main_column .inner {
    width: 100%;
  }
  main article .main_column .inner > *:last-child {
    margin-bottom: 0;
  }
  main article .main_column h2 {
    margin-bottom: 1.2em;
    padding-left: 30px;
    font-size: 2.2rem;
    font-weight: 600;
    line-height: 1.4;
    position: relative;
  }
  main article .main_column h2:before {
    content: "";
    width: 18px;
    aspect-ratio: 1;
    display: block;
    background: var(--main-color);
    border-radius: 3px 3px 12px 3px;
    position: absolute;
    left: 0;
    top: calc(0.7em - 8px);
  }
  main article .main_column h2:nth-child(n+2) {
    margin-top: 1.8em;
  }
  main article .main_column h3 {
    margin-bottom: 1.6em;
    padding: 0.6em 1.4em;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.4;
    background: #f4f4f4;
    border-radius: 8px;
    position: relative;
  }
  main article .main_column h3:before {
    content: "";
    width: 3px;
    height: 1.2em;
    display: block;
    background: var(--main-color);
    border-radius: 4px;
    position: absolute;
    left: 0.8em;
    top: 0.7em;
  }
  main article .main_column h3:nth-child(n+2) {
    margin-top: 2.6em;
  }
  main article .main_column h4 {
    margin: 0 auto 30px 0;
    padding: 0.6em 0.8em 0.6em 2.4em;
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1.4;
    background: #fff;
    border: 1px solid #d9d9d9;
    border-radius: 1.4em;
    width: 100%;
    box-sizing: border-box;
    position: relative;
  }
  main article .main_column h4:before {
    content: "";
    width: 1.2em;
    height: 1.2em;
    display: block;
    background: url(../images/union/icon_clover_green.svg) no-repeat center center;
    background-size: contain;
    border-radius: 100%;
    position: absolute;
    left: 0;
    top: 0.7em;
    left: 0.8em;
  }
  main article .main_column h4:nth-child(n+2) {
    margin-top: 40px;
  }
  main article .main_column h5 {
    margin: 0 auto 30px 0;
    color: var(--main-color);
    font-size: 2.2rem;
    font-weight: 600;
    line-height: 1.4;
  }
  main article .main_column h5:nth-child(n+2) {
    margin-top: 40px;
  }
  main article .main_column p {
    margin-bottom: 1.5em;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.4;
  }
  main article .main_column .wp-block-image figcaption.wp-element-caption {
    text-align: center;
  }
  main article .main_column p.lead {
    margin: 0 auto 40px;
    padding: 1.6em 1.6em;
    font-size: 1.5rem;
    background: var(--bg-light-orange);
    border-radius: 1.8em;
    width: fit-content;
  }
  main article .main_column p.lead.large {
    font-size: 1.7rem;
  }
  main article .main_column p.overview {
    margin: 0 auto 60px;
    padding: 1.4em 1.4em;
    font-size: 1.5rem;
    background: var(--light-gray);
    border-radius: 1.2em;
    width: 100%;
    box-sizing: border-box;
  }
  main article .main_column p.overview.large {
    font-size: 1.7rem;
  }
  main article .main_column ul.inner_link {
    margin: 40px auto 60px;
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  }
  main article .main_column ul.inner_link li {
    border-bottom: 1px solid #e8e8e8;
  }
  main article .main_column ul.inner_link li a {
    padding: 12px 22px 12px 12px;
    color: var(--font-color-default);
    font-size: 1.4rem;
    line-height: 1.2;
    text-decoration: none;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    position: relative;
  }
  main article .main_column ul.inner_link li a:after {
    content: "";
    margin: auto;
    width: 16px;
    height: 16px;
    display: block;
    background: var(--main-color) center center/8px auto no-repeat url("../images/union/icon_kunoji_allow_bottom.svg");
    border-radius: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 2px;
  }
  main article .main_column ul.inner_link li a:active {
    opacity: 1;
    background: #e7e7e7;
  }
  main article .main_column ul.inner_link li a span {
    z-index: 2;
  }
  main article .main_column ul.inner_link li a span.num {
    color: #efefef;
    font-size: 2.6rem;
    font-family: "Montserrat";
    font-style: italic;
    font-weight: 400;
    line-height: 0.8;
    user-select: none;
    position: absolute;
    top: 2px;
    left: 2px;
    z-index: 1;
  }
  main article .main_column .definition_list {
    counter-reset: item;
    /* カウンターをリセット */
  }
  main article .main_column .definition_list .dl:nth-child(n+2) {
    margin-top: 20px;
  }
  main article .main_column .definition_list .dl p {
    margin-bottom: 0;
  }
  main article .main_column .definition_list .dl p.dt {
    padding-left: 3rem;
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1.4;
    width: fit-content;
    display: inline;
    flex: none;
    background: linear-gradient(transparent 60%, #FFE99D 0%);
    align-items: center;
    gap: 0.4em;
    position: relative;
    z-index: 0;
  }
  main article .main_column .definition_list .dl p.dt:before {
    counter-increment: item;
    content: counter(item);
    color: #fff;
    font-family: "montserrat";
    font-size: 1.6rem;
    line-height: 1;
    width: 2.4rem;
    height: 2.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--sub-color02);
    border-radius: 100%;
    position: absolute;
    left: 0;
    top: 0.2em;
    z-index: 0;
  }
  main article .main_column .definition_list .dl p.dd {
    margin-top: 0.8em;
    line-height: 1.6;
  }
  main article .main_column ul.wp-block-list {
    margin: 2em 1.2em;
    /* 横並びスタイル */
  }
  main article .main_column ul.wp-block-list.bg_box {
    margin: 0;
  }
  main article .main_column ul.wp-block-list.two_line {
    display: flex;
    flex-wrap: wrap;
    gap: 1.2em;
  }
  /*=================================================================*/
  /*	記事一覧スタイル */
  /*=================================================================*/
  /*=================================================================*/
  /*	農地情報一覧スタイル */
  /*=================================================================*/
  /*=================================================================*/
  /*	農地情報詳細スタイル */
  /*=================================================================*/
  /*=================================================================*/
  /*	所在地スタイル */
  /*=================================================================*/
  /*=================================================================*/
  /*	お問い合わせスタイル */
  /*=================================================================*/
  /*=================================================================*/
  /*	添付ファイルスタイル */
  /*=================================================================*/
  /*=================================================================*/
  /*	実績スタイル */
  /*=================================================================*/
  /*=================================================================*/
  /*	農地検索用スタイル */
  /*=================================================================*/
  /*=================================================================*/
  /*	フォームパーツ用スタイル */
  /*=================================================================*/
  /*=================================================================*/
  /*	お問い合わせフォーム	 */
  /*=================================================================*/
  /*<end>============================================================*/
}
@media screen and (max-width: 999px) and (max-width: 768px) {
  main article .main_column ul.wp-block-list.two_line {
    flex-direction: column;
  }
  main article .main_column ul.wp-block-list.two_line li {
    width: 100% !important;
  }
}
@media screen and (max-width: 999px) {
  main article .main_column ul.wp-block-list.two_line li {
    margin: 0 !important;
    width: calc((100% - 1.2em) / 2);
    box-sizing: border-box;
  }
  main article .main_column ul.wp-block-list > li {
    padding-left: 1.2em;
    font-size: 1.6rem;
    position: relative;
  }
  main article .main_column ul.wp-block-list > li:before {
    content: "";
    width: 0.6em;
    height: 0.6em;
    display: inline-block;
    background: var(--main-color);
    border-radius: 100%;
    position: absolute;
    left: 0;
    top: 0.4em;
  }
  main article .main_column ul.wp-block-list > li:nth-child(n+2) {
    margin-top: 1.2em;
  }
  main article .main_column ol.wp-block-list {
    margin: 1.2em 0 1.2em 0.2em;
    /* 連番リセット */
    counter-reset: num;
    /* 横並びスタイル */
  }
  main article .main_column ol.wp-block-list.bg_box {
    margin: 0;
  }
  main article .main_column ol.wp-block-list.two_line {
    display: flex;
    flex-wrap: wrap;
    gap: 1.2em;
  }
}
@media screen and (max-width: 999px) and (max-width: 768px) {
  main article .main_column ol.wp-block-list.two_line {
    flex-direction: column;
  }
  main article .main_column ol.wp-block-list.two_line li {
    width: 100% !important;
  }
}
@media screen and (max-width: 999px) {
  main article .main_column ol.wp-block-list.two_line li {
    margin: 0 !important;
    width: calc((100% - 1.2em) / 2);
    box-sizing: border-box;
  }
  main article .main_column ol.wp-block-list > li {
    padding-left: 2.2em;
    font-size: 1.6rem;
    position: relative;
  }
  main article .main_column ol.wp-block-list > li:before {
    position: absolute;
    counter-increment: num;
    content: counter(num);
    color: #fff;
    font-family: "Montserrat";
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1;
    background: var(--main-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2em;
    height: 2em;
    text-align: center;
    box-sizing: border-box;
    left: 0;
    top: -0.2em;
  }
  main article .main_column ol.wp-block-list > li:nth-child(n+2) {
    margin-top: 1.4em;
  }
  main article .main_column a:not([class]),
  main article .main_column a.block-editor-rich-text__editable {
    color: var(--link-color);
    text-decoration: underline;
  }
  main article .main_column a:not([class]):hover,
  main article .main_column a.block-editor-rich-text__editable:hover {
    text-decoration: none;
  }
  main article .main_column a:not([class])[href^=http]:not([href*=mnk]),
  main article .main_column a.block-editor-rich-text__editable[href^=http]:not([href*=mnk]) {
    padding-right: 1.8em;
    position: relative;
  }
  main article .main_column a:not([class])[href^=http]:not([href*=mnk]):after,
  main article .main_column a.block-editor-rich-text__editable[href^=http]:not([href*=mnk]):after {
    content: "";
    margin-left: 0.2em;
    width: 1.2em;
    height: 1.2em;
    display: inline-block;
    background: url(../images/sec/icon_link.svg) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 100%;
    right: 0;
    transform: translateY(-1.4em);
  }
  main article .main_column a:not([class])[href*=mnk][href$=".pdf"],
  main article .main_column a.block-editor-rich-text__editable[href*=mnk][href$=".pdf"] {
    padding-right: 1.6em;
    position: relative;
  }
  main article .main_column a:not([class])[href*=mnk][href$=".pdf"]:after,
  main article .main_column a.block-editor-rich-text__editable[href*=mnk][href$=".pdf"]:after {
    content: "";
    margin-left: 0.2em;
    width: 1.4em;
    height: 1.4em;
    display: inline-block;
    background: url(../images/sec/icon_pdf.svg) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 100%;
    right: 0;
    transform: translateY(-1.4em);
  }
  main article .main_column a:not([class])[href*=mnk][href$=".doc"], main article .main_column a:not([class])[href*=mnk][href$=".docx"],
  main article .main_column a.block-editor-rich-text__editable[href*=mnk][href$=".doc"],
  main article .main_column a.block-editor-rich-text__editable[href*=mnk][href$=".docx"] {
    padding-right: 1.6em;
    position: relative;
  }
  main article .main_column a:not([class])[href*=mnk][href$=".doc"]:after, main article .main_column a:not([class])[href*=mnk][href$=".docx"]:after,
  main article .main_column a.block-editor-rich-text__editable[href*=mnk][href$=".doc"]:after,
  main article .main_column a.block-editor-rich-text__editable[href*=mnk][href$=".docx"]:after {
    content: "";
    margin-left: 0.2em;
    width: 1.4em;
    height: 1.4em;
    display: inline-block;
    background: url(../images/sec/icon_word.svg) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 100%;
    right: 0;
    transform: translateY(-1.4em);
  }
  main article .main_column a:not([class])[href*=mnk][href$=".xls"], main article .main_column a:not([class])[href*=mnk][href$=".xlsx"],
  main article .main_column a.block-editor-rich-text__editable[href*=mnk][href$=".xls"],
  main article .main_column a.block-editor-rich-text__editable[href*=mnk][href$=".xlsx"] {
    padding-right: 1.6em;
    position: relative;
  }
  main article .main_column a:not([class])[href*=mnk][href$=".xls"]:after, main article .main_column a:not([class])[href*=mnk][href$=".xlsx"]:after,
  main article .main_column a.block-editor-rich-text__editable[href*=mnk][href$=".xls"]:after,
  main article .main_column a.block-editor-rich-text__editable[href*=mnk][href$=".xlsx"]:after {
    content: "";
    margin-left: 0.2em;
    width: 1.4em;
    height: 1.4em;
    display: inline-block;
    background: url(../images/sec/icon_excel.svg) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 100%;
    right: 0;
    transform: translateY(-1.4em);
  }
  main article .main_column a:not([class]):has(img):after,
  main article .main_column a.block-editor-rich-text__editable:has(img):after {
    display: none !important;
  }
  main article .main_column .wp-block-file:not(.wp-element-button) {
    font-size: 1em;
  }
  main article .main_column a.wp-element-button {
    padding: 1em 3.2em 1em 2em;
    color: #333;
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.1;
    width: fit-content;
    background: #fff;
    border-radius: 100px;
    border: 1px solid #333;
    box-sizing: border-box;
    position: relative;
  }
  main article .main_column a.wp-element-button:active {
    opacity: 1;
  }
  main article .main_column a.wp-element-button:active:after {
    transform: translateX(6px);
    transition: 0.3s;
  }
  main article .main_column a.wp-element-button:after {
    content: "";
    margin: auto;
    width: 22px;
    height: 22px;
    display: inline-block;
    background: var(--sub-color02) center center/12px auto no-repeat url("../images/union/icon_allow_right.svg");
    border-radius: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10px;
    transform: translateX(0);
    transition: 0.3s;
  }
  main article .main_column a.wp-element-button[href^=http]:not([href*=mnk]):after {
    content: "";
    width: 18px;
    height: 18px;
    background: url(../images/sec/icon_link.svg) no-repeat center center;
    border-radius: 0;
    background-size: contain;
  }
  main article .main_column a.wp-element-button[href*=mnk][href$=".pdf"]:after {
    content: "";
    width: 22px;
    height: 22px;
    background: url(../images/sec/icon_pdf.svg) no-repeat center center;
    border-radius: 0;
    background-size: contain;
  }
  main article .main_column a.wp-element-button[href*=mnk][href$=".doc"]:after, main article .main_column a.wp-element-button[href*=mnk][href$=".docx"]:after {
    content: "";
    width: 24px;
    height: 24px;
    background: url(../images/sec/icon_word.svg) no-repeat center center;
    border-radius: 0;
    background-size: contain;
  }
  main article .main_column a.wp-element-button[href*=mnk][href$=".xls"]:after, main article .main_column a.wp-element-button[href*=mnk][href$=".xlsx"]:after {
    content: "";
    width: 24px;
    height: 24px;
    background: url(../images/sec/icon_excel.svg) no-repeat center center;
    border-radius: 0;
    background-size: contain;
  }
  main article .main_column :where(.is-layout-flex) {
    gap: 1.5em;
  }
  main article .main_column .wp-block-table,
  main article .main_column .wp-block-flexible-table-block-table {
    margin-bottom: 40px;
  }
  main article .main_column .wp-block-table table thead,
  main article .main_column .wp-block-table table tfoot,
  main article .main_column .wp-block-flexible-table-block-table table thead,
  main article .main_column .wp-block-flexible-table-block-table table tfoot {
    border: none;
  }
  main article .main_column .wp-block-table table tr,
  main article .main_column .wp-block-flexible-table-block-table table tr {
    border-top: 1px solid #e9e9e9;
  }
  main article .main_column .wp-block-table table tr th,
  main article .main_column .wp-block-table table tr td,
  main article .main_column .wp-block-flexible-table-block-table table tr th,
  main article .main_column .wp-block-flexible-table-block-table table tr td {
    padding: 1em;
    border: none;
    box-sizing: border-box;
  }
  main article .main_column .wp-block-table table tr th.indent,
  main article .main_column .wp-block-table table tr td.indent,
  main article .main_column .wp-block-flexible-table-block-table table tr th.indent,
  main article .main_column .wp-block-flexible-table-block-table table tr td.indent {
    padding: 1em 1em 1em 2em;
  }
  main article .main_column .wp-block-table table tr th:last-child,
  main article .main_column .wp-block-table table tr td:last-child,
  main article .main_column .wp-block-flexible-table-block-table table tr th:last-child,
  main article .main_column .wp-block-flexible-table-block-table table tr td:last-child {
    border-right: none;
  }
  main article .main_column .wp-block-table table tr th,
  main article .main_column .wp-block-flexible-table-block-table table tr th {
    font-weight: 600;
    white-space: nowrap;
    background: var(--bg-light-green);
    border-right: 1px solid #fff;
    border-bottom: 1px solid var(--main-color);
    width: min-content;
  }
  main article .main_column .wp-block-table table tr td,
  main article .main_column .wp-block-flexible-table-block-table table tr td {
    background: #fff;
    border-right: 1px solid #f4f4f4;
    border-bottom: 1px solid #aaa;
    width: auto;
  }
  main article .main_column .wp-block-table table tr:first-child th,
  main article .main_column .wp-block-flexible-table-block-table table tr:first-child th {
    border-top: 1px solid var(--main-color);
  }
  main article .main_column .wp-block-table table tr:first-child td,
  main article .main_column .wp-block-flexible-table-block-table table tr:first-child td {
    border-top: 1px solid #aaa;
  }
  main article .main_column .wp-block-table table thead th,
  main article .main_column .wp-block-flexible-table-block-table table thead th {
    color: #fff;
    background: var(--main-color);
  }
  main article .main_column .wp-block-table table tfoot tr td,
  main article .main_column .wp-block-flexible-table-block-table table tfoot tr td {
    background: #f4f4f4;
    border-color: #fff;
  }
  main article .main_column .wp-block-table table + figcaption,
  main article .main_column .wp-block-flexible-table-block-table table + figcaption {
    margin-top: 1em;
    font-size: 1.5rem;
    color: #666;
    text-align: center;
  }
  main article .main_column .nyusatsu_table .wp-block-table.company_list thead tr > *:first-child,
  main article .main_column .nyusatsu_table .wp-block-table.company_list tbody tr > *:first-child,
  main article .main_column .nyusatsu_table .wp-block-flexible-table-block-table.company_list thead tr > *:first-child,
  main article .main_column .nyusatsu_table .wp-block-flexible-table-block-table.company_list tbody tr > *:first-child {
    text-align: center;
  }
  main article .main_column .nyusatsu_table .wp-block-table.company_list tbody tr > *:first-child,
  main article .main_column .nyusatsu_table .wp-block-flexible-table-block-table.company_list tbody tr > *:first-child {
    background: var(--bg-light-green);
  }
  main article .main_column .is-style-stripes {
    border: none;
  }
  main article .main_column .is-style-stripes table tbody tr:nth-child(2n-1) td {
    background: #f5f5f5;
  }
  main article .main_column .bg_box {
    padding: 30px;
    background: #f3f3f3;
    border-radius: 12px;
  }
  main article .main_column .history {
    margin: 60px auto 60px;
    border-top: 1px solid #e8e8e8;
  }
  main article .main_column .history .is-layout-flex {
    padding: 1.2em 0;
    background: #fff;
    border-bottom: 1px solid #e8e8e8;
    flex-direction: column;
    gap: 0.8em 0;
  }
  main article .main_column .history .is-layout-flex p {
    margin-bottom: 0;
  }
  main article .main_column .history .is-layout-flex p.date {
    padding-left: 1.4em;
    font-size: 1.8rem;
    font-weight: 600;
    position: relative;
  }
  main article .main_column .history .is-layout-flex p.date:before {
    content: "";
    width: 8px;
    height: 8px;
    display: inline-block;
    background: var(--sub-color01);
    border-radius: 100%;
    position: absolute;
    left: 4px;
    top: calc(0.7em - 2px);
  }
  main article .main_column .history .is-layout-flex p:not(.date) {
    font-size: 1.6rem;
  }
  main article .main_column .qa_style {
    padding: 1.2em;
    background: #fff;
    border-radius: 10px;
    box-sizing: border-box;
  }
  main article .main_column .qa_style + .qa_style {
    margin-top: 2em;
  }
  main article .main_column .qa_style .question,
  main article .main_column .qa_style .answer {
    margin: 0;
    width: auto;
    box-sizing: border-box;
    position: relative;
  }
  main article .main_column .qa_style .question {
    padding: 0 0 2em 2.6em;
  }
  main article .main_column .qa_style .question:before {
    content: "Q";
    font-family: "Poppins";
    color: #fff;
    font-size: 1.6rem;
    width: 1.8em;
    aspect-ratio: 1;
    background: #2b5098;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    left: 0;
    top: -0.4em;
  }
  main article .main_column .qa_style .answer {
    padding: 2em 0 0 2.6em;
    border-top: 1px solid #d5d5d5;
  }
  main article .main_column .qa_style .answer:before {
    content: "A";
    font-family: "Poppins";
    color: #fff;
    font-size: 1.6rem;
    width: 1.8em;
    aspect-ratio: 1;
    background: #d95151;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    left: 0;
    top: 1.56em;
  }
  main article .main_column .btn_menu_list {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
  }
  main article .main_column .btn_menu_list .wp-block-button {
    width: calc((100% - 20px) / 2);
  }
  main article .main_column .btn_menu_list .wp-block-button a {
    font-size: 1.6rem;
    width: 100%;
    height: auto;
    box-sizing: border-box;
  }
  .post_box .post_list li {
    border-bottom: 1px solid #e8e8e8;
  }
  .post_box .post_list li a {
    padding: 1em 3em 1em 0;
    color: #333 !important;
    font-size: 1.4rem;
    text-decoration: none !important;
    display: flex;
    align-items: baseline;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 0.6em 1.2em;
    background: #fff;
    box-sizing: border-box;
    position: relative;
  }
  .post_box .post_list li a:active {
    opacity: 1;
    background: #e7e7e7;
  }
  .post_box .post_list li a:active:after {
    right: 4px;
    transition: 0.3s;
  }
  .post_box .post_list li a:after {
    content: "";
    margin: auto;
    width: 1.6em;
    height: 1.6em;
    display: inline-block;
    background: var(--main-color);
    background-image: url(../images/union/icon_allow_right.svg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 0.8em auto;
    border: 1px solid var(--light-green);
    border-radius: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10px;
    transition: 0.3s;
  }
  .post_box .post_list li span.date {
    color: #888;
    font-family: "Montserrat";
    font-weight: 500;
    white-space: nowrap;
    min-width: 6em;
  }
  .post_box .post_list li span.category {
    padding: 0.2em 1em;
    color: #fff;
    font-size: 1.2rem;
    font-weight: 500;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    background: var(--main-color);
    min-width: 4em;
  }
  .post_box .post_list li span.category.kousya_news {
    background: var(--div-kousya_news);
  }
  .post_box .post_list li span.category.soumu {
    background: var(--div-soumu);
  }
  .post_box .post_list li span.category.ninaite {
    background: var(--div-ninaite);
  }
  .post_box .post_list li span.category.chikusan {
    background: var(--div-chikusan);
  }
  .post_box .post_list li span.category.nouchi {
    background: var(--div-nouchi);
  }
  .post_box .post_list li span.category.shinki {
    background: var(--div-shinki);
  }
  .post_box .post_list li span.title {
    width: 100%;
  }
  .pager {
    margin-top: 40px;
  }
  .pager:empty {
    margin: 0;
  }
  .pager .wp-pagenavi {
    display: flex;
    justify-content: center;
    gap: 10px;
  }
  .pager .wp-pagenavi > span {
    user-select: none;
  }
  .pager .wp-pagenavi > a,
  .pager .wp-pagenavi > span {
    font-family: Poppins;
    color: var(--common-navy);
    font-size: 1.8rem;
    font-weight: 500;
    text-decoration: none;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid #ededed;
    box-sizing: border-box;
    transition: 0.1s;
  }
  .pager .wp-pagenavi > a.current,
  .pager .wp-pagenavi > span.current {
    color: #fff;
    background: var(--main-color);
    border-color: var(--main-color);
  }
  .pager .wp-pagenavi > a:hover,
  .pager .wp-pagenavi > span:hover {
    opacity: 1;
    color: #fff;
    background: var(--main-color);
    border-color: var(--main-color);
    transition: 0.1s;
  }
  .pager .wp-pagenavi > a.previouspostslink, .pager .wp-pagenavi > a.nextpostslink,
  .pager .wp-pagenavi > span.previouspostslink,
  .pager .wp-pagenavi > span.nextpostslink {
    font-weight: 500;
  }
  a.to_archive {
    margin: 30px auto 60px;
    padding: 12px 40px 12px 16px;
    color: #333;
    font-weight: 600;
    font-size: 1.4rem;
    line-height: 1.1;
    text-align: center;
    width: fit-content;
    min-width: 160px;
    display: block;
    background: #fff;
    border-radius: 100px;
    border: 2px solid #333;
    box-sizing: border-box;
    position: relative;
  }
  a.to_archive:active {
    opacity: 1;
  }
  a.to_archive:active:after {
    transform: translateX(6px);
    transition: 0.3s;
  }
  a.to_archive:after {
    content: "";
    margin: auto;
    width: 22px;
    height: 22px;
    display: inline-block;
    background: var(--main-color) center center/12px auto no-repeat url("../images/union/icon_allow_right.svg");
    border-radius: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10px;
    transform: translateX(0);
    transition: 0.3s;
  }
  p.total {
    font-size: 1.6rem !important;
    text-align: center;
  }
  p.total span {
    margin: 0 8px;
    color: var(--sub-color02);
    font-size: 1.4em;
    font-weight: 600;
    vertical-align: baseline;
  }
  .nouchi_box .nouchi_list li {
    border: 2px solid var(--main-color);
    display: flex;
  }
  .nouchi_box .nouchi_list li .info {
    width: 50%;
    box-sizing: border-box;
    background: #fff;
  }
  .nouchi_box .nouchi_list li .info dl {
    font-size: 1.5rem;
    display: flex;
    flex-wrap: wrap;
  }
  .nouchi_box .nouchi_list li .info dl:nth-child(n+2) {
    border-top: 1px solid var(--main-color);
  }
  .nouchi_box .nouchi_list li .info dl.name dt {
    color: #fff;
    font-size: 1.6rem;
    background: var(--main-color);
  }
  .nouchi_box .nouchi_list li .info dl.name dd > a {
    font-size: 1.8rem;
    font-weight: 600;
  }
  .nouchi_box .nouchi_list li .info dl dt,
  .nouchi_box .nouchi_list li .info dl dd {
    padding: 0.6em 0.8em;
    box-sizing: border-box;
  }
  .nouchi_box .nouchi_list li .info dl dt {
    width: 20%;
    min-width: 100px;
    background: var(--bg-light-green);
  }
  .nouchi_box .nouchi_list li .info dl dd {
    flex: 1;
  }
  .nouchi_box .nouchi_list li .map {
    width: 50%;
  }
  .nouchi_box .nouchi_list li .map .wrap {
    width: 100%;
    height: 100%;
    position: relative;
  }
  .nouchi_box .nouchi_list li .map .wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
  }
  .nouchi_box .nouchi_list li:nth-child(n+2) {
    margin-top: 5%;
  }
}
@media screen and (max-width: 999px) and (max-width: 768px) {
  .nouchi_box .nouchi_list li {
    flex-direction: column;
  }
  .nouchi_box .nouchi_list li .info {
    width: 100%;
  }
  .nouchi_box .nouchi_list li .map {
    width: 100%;
  }
  .nouchi_box .nouchi_list li .map .wrap {
    width: 100%;
    aspect-ratio: 3/2;
  }
}
@media screen and (max-width: 999px) {
  .farmland_info_detail .wp-block-table table tr {
    display: flex;
    flex-wrap: wrap;
    border-top: none !important;
  }
  .farmland_info_detail .wp-block-table table tr:first-child th,
  .farmland_info_detail .wp-block-table table tr:first-child td {
    border-top: none !important;
  }
  .farmland_info_detail .wp-block-table table tr th {
    width: 30% !important;
    box-sizing: border-box;
  }
  .farmland_info_detail .wp-block-table table tr td {
    width: 70% !important;
    box-sizing: border-box;
  }
  .farmland_info_detail .map_outer {
    width: 100%;
    aspect-ratio: 2/1;
    min-height: 300px;
    position: relative;
  }
  .farmland_info_detail .map_outer iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
  }
  .access {
    display: flex;
    flex-direction: column;
    gap: 40px;
  }
  .access .data {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
  }
  .access .data .logo {
    margin: 0 auto;
  }
  .access .data .logo img {
    width: 100%;
    height: auto;
  }
  .access .data ul.info {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  .access .data ul.info li {
    font-size: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
  }
  .access .data ul.info li:before {
    content: "";
    width: 30px;
    height: 30px;
    display: inline-block;
    flex: none;
    background: var(--sub-color02);
    border-radius: 100%;
  }
  .access .data ul.info li.map:before {
    background: var(--sub-color02) center center/16px auto no-repeat url("../images/union/icon_map.svg");
  }
  .access .data ul.info li.walk:before {
    background: var(--sub-color02) center center/16px auto no-repeat url("../images/union/icon_walk.svg");
  }
  .access .data ul.info li.tel:before {
    background: var(--sub-color02) center center/16px auto no-repeat url("../images/union/icon_tel.svg");
  }
  .access > .map {
    width: 100%;
    aspect-ratio: 3/2;
    border-radius: 20px 20px 80px 20px;
    overflow: hidden;
  }
  .access > .map iframe {
    width: 100%;
    aspect-ratio: 3/2;
  }
  .contact_box {
    margin: 60px auto 60px;
    padding: 6% 4%;
    text-align: center;
    width: fit-content;
    max-width: 100%;
    background: #fff;
    border: 2px solid #e5e5e5;
    box-shadow: 0 8px 10px rgba(196, 196, 196, 0.2);
    border-radius: 0 20px 20px 20px;
    box-sizing: border-box;
  }
  .contact_box p {
    line-height: 1.4 !important;
  }
  .contact_box p.title {
    margin-bottom: 0;
    font-size: 1.6rem;
  }
  .contact_box p.name {
    margin: 0.8em 0;
    color: var(--main-color);
    font-size: 2rem;
    font-weight: 600;
  }
  .contact_box p.address, .contact_box p.tel {
    margin: 0.6em 0;
    font-size: 1.5rem;
  }
  .contact_box p.btn_mail {
    margin: 1.8em auto 0;
  }
  .contact_box p.btn_mail a {
    margin: 0 auto;
    padding: 0.8em 1.6em;
    font-size: 1.5rem;
    color: #fff !important;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    gap: 0.6em;
    background: #333;
  }
  .contact_box p.btn_mail a:after {
    content: "";
    width: 1.6em;
    height: 1.6em;
    display: inline-block;
    background: url("../images/union/icon_contact_line.svg") no-repeat center center;
    background-size: contain;
  }
  .cat_menu {
    display: flex;
    flex-direction: column;
    gap: 40px;
  }
  .cat_menu dl dt,
  .cat_menu dl dd {
    background: var(--sub-color01);
  }
  .cat_menu dl dt {
    margin: 0 auto -1px 0;
    padding: 0.6em 1.2em 0.1em;
    color: #fff;
    font-size: 2.6rem;
    font-weight: 600;
    line-height: 1.1;
    text-align: center;
    width: fit-content;
    border-radius: 1.1em 1.1em 0 0;
    box-sizing: border-box;
  }
  .cat_menu dl dt span {
    margin-left: 0.3em;
    font-size: 1.6rem;
  }
  .cat_menu dl dd {
    padding: 18px;
    border-radius: 0 10px 10px 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }
  .cat_menu dl dd > a {
    padding: 12px 36px 12px 12px;
    color: #222 !important;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none !important;
    width: calc((100% - 10px) / 2);
    background: #fff;
    border: 2px solid var(--main-color);
    box-shadow: 0px 2px 6px 0px rgba(162, 162, 162, 0.3);
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 16px;
    position: relative;
    transition: 0.3s;
  }
}
@media screen and (max-width: 999px) and (max-width: 440px) {
  .cat_menu dl dd > a {
    width: 100%;
  }
}
@media screen and (max-width: 999px) {
  .cat_menu dl dd > a span.icon {
    width: 40px;
    height: 40px;
    display: block;
    flex: none;
    background: var(--main-color);
    position: relative;
    flex: none;
  }
  .cat_menu dl dd > a span.icon img {
    margin: auto;
    width: 26px;
    height: 26px;
    object-fit: contain;
    object-position: center center;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
  }
  .cat_menu dl dd > a span.allow {
    margin: auto;
    width: 20px;
    height: 20px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--main-color);
    border-radius: 100%;
    box-sizing: border-box;
    position: absolute;
    right: 8px;
    top: 0;
    bottom: 0;
    transform: translateX(0px);
    transition: 0.3s;
  }
  .cat_menu dl dd > a span.allow svg {
    width: 10px;
    height: auto;
  }
  .cat_menu dl dd > a span.allow svg polygon {
    transition: 0.3s;
  }
  .cat_menu dl dd > a:active {
    opacity: 1;
    background: #def9da;
    transition: 0.3s;
  }
  .cat_menu dl dd > a:active span.allow {
    border-color: var(--sub-color02);
    transform: translateX(6px);
    transition: 0.3s;
  }
  .cat_menu dl dd > a:active span.allow svg polygon {
    fill: var(--sub-color02);
    transition: 0.3s;
  }
  .cat_menu dl.sinki dt,
  .cat_menu dl.sinki dd {
    background: var(--sub-color01);
  }
  .cat_menu dl.nouchi dt,
  .cat_menu dl.nouchi dd {
    background: var(--sub-color03);
  }
  .cat_menu dl.kiban dt,
  .cat_menu dl.kiban dd {
    background: var(--sub-color04);
  }
  .cat_menu dl.sonota dt,
  .cat_menu dl.sonota dd {
    background: var(--sub-color05);
  }
  .attachment_list {
    margin-top: 60px;
  }
  .attachment_list dl.file_block {
    display: flex;
    align-items: stretch;
    white-space: nowrap;
    border: 1px solid #e8e8e8;
  }
  .attachment_list dl.file_block:nth-child(n+2) {
    margin-top: 20px;
  }
  .attachment_list dl.file_block dt,
  .attachment_list dl.file_block dd {
    padding: 0.6em 1.2em;
    min-height: 1em;
  }
  .attachment_list dl.file_block dt {
    color: #fff;
    background: var(--sub-color02);
    min-width: 120px;
  }
  .attachment_list dl.file_block dd {
    white-space: normal;
    flex: 1;
  }
}
@media screen and (max-width: 999px) and (max-width: 768px) {
  .attachment_list dl.file_block {
    flex-direction: column;
  }
  .attachment_list dl.file_block dt,
  .attachment_list dl.file_block dd {
    padding: 0.6em 0.8em;
    width: 100%;
    box-sizing: border-box;
  }
}
@media screen and (max-width: 999px) {
  .case_box {
    gap: 1.6em !important;
  }
  .case_box.changing > .wp-block-image:nth-child(n+2) {
    position: relative;
  }
  .case_box.changing > .wp-block-image:nth-child(n+2):before {
    content: "";
    margin: auto;
    width: 0.8em;
    height: 1.6em;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    background: var(--main-color);
    position: absolute;
    top: 0;
    bottom: 0;
    left: -1.2em;
  }
  .nouchi_search {
    display: flex;
    flex-direction: column;
    gap: 40px;
  }
  .nouchi_search > dl {
    padding: 20px;
    border-radius: 20px;
    background: var(--sub-color01);
    box-sizing: border-box;
  }
  .nouchi_search > dl > dt {
    color: #fff;
    font-size: 2rem;
    font-weight: 600;
  }
  .nouchi_search > dl > dd {
    margin-top: 10px;
    padding: 20px;
    background: #fff;
    border-radius: 8px;
  }
  .nouchi_search > dl.town_name {
    width: 100%;
    flex: auto;
  }
  .nouchi_search > dl.town_name dd .map > img {
    width: 100%;
    height: auto;
  }
  .nouchi_search > dl.town_name dd .name_link {
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 30px;
  }
  .nouchi_search > dl.town_name dd .name_link > div {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 30px;
  }
  .nouchi_search > dl.town_name dd .name_link > div > dl > dt {
    margin-bottom: 0.6em;
    padding: 0 0 0.4em 1.4em;
    font-size: 1.8rem;
    font-weight: 600;
    border-bottom: 1px solid #e8e8e8;
    position: relative;
    box-sizing: border-box;
  }
  .nouchi_search > dl.town_name dd .name_link > div > dl > dt:before {
    content: "";
    width: 0.8em;
    aspect-ratio: 1;
    display: block;
    background: var(--main-color);
    border-radius: 0.2em 0.2em 0.5em 0.2em;
    position: absolute;
    left: 0.2em;
    top: 0.3em;
  }
  .nouchi_search > dl.town_name dd .name_link > div > dl > dd {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }
  .nouchi_search > dl.town_name dd .name_link > div > dl > dd li > a {
    padding: 0.3em 0.5em;
    color: #fff;
    font-size: 1.5rem;
    text-decoration: none;
    display: inline-block;
    background: var(--sub-color02);
    border-radius: 0.5em;
    border: 2px solid var(--sub-color02);
    box-sizing: border-box;
  }
  .nouchi_search > dl.town_name dd .name_link > div > dl > dd li > a:hover {
    color: var(--sub-color02);
    opacity: 1;
    background: #fff;
  }
  main form input[type=text],
  main form input[type=email],
  main form input[type=tel],
  main form textarea {
    padding: 0.6em 0.8em;
    box-sizing: border-box;
    width: 100%;
    background: #fff;
    border: 1px solid #afafaf;
    border-radius: 6px;
    box-sizing: border-box;
  }
  main form input[type=text] + input[type=text] {
    margin-top: 20px;
  }
  main form textarea {
    min-height: 160px;
    resize: vertical;
  }
  main form select {
    padding: 0.6em 0.8em;
    box-sizing: border-box;
    width: 100%;
    background: #fff;
    border: 1px solid #afafaf;
    border-radius: 6px;
    box-sizing: border-box;
  }
  main form select:hover {
    cursor: pointer;
  }
  main form input[type=password] {
    padding: 0.2em 0.4em;
    box-sizing: border-box;
    width: fit-content;
    background: #fff;
    border: 1px solid #afafaf;
    border-radius: 6px;
    box-sizing: border-box;
  }
  main form input[type=submit][value=確定] {
    padding: 0.2em 0.4em;
    background: #e8e8e8;
    border-radius: 0.4em;
    border: 1px solid #333;
    box-sizing: border-box;
  }
  main form input[type=submit][value=確定]:active {
    cursor: pointer;
    background: #c7c7c7;
  }
  main form label:has(input[type=checkbox]) {
    padding: 0.3em 0.5em;
    border-radius: 0.3em;
    width: fit-content;
    display: flex;
    align-items: baseline;
    gap: 0.5em;
    user-select: none;
    position: relative;
    transition: 0.2s;
  }
  main form label:has(input[type=checkbox]):hover {
    background: #ededed;
    cursor: pointer;
    transition: 0.2s;
  }
  main form label:has(input[type=checkbox]):before {
    content: "";
    background: #fff;
    border: 1px solid #afafaf;
    display: block;
    width: 1.1em;
    height: 1.1em;
    border-radius: 4px;
    box-sizing: border-box;
    flex: none;
    transform: translate(0, 0.14em);
  }
  main form label:has(input[type=checkbox]):after {
    content: "";
    border-right: 3px solid var(--sub-color02);
    border-bottom: 3px solid var(--sub-color02);
    display: block;
    width: 0.4em;
    height: 1em;
    opacity: 0;
    position: absolute;
    left: 0.92em;
    top: 0.1em;
    transform: rotate(45deg);
    transition: 0.2s;
  }
  main form label:has(input[type=checkbox]):has(input[type=checkbox]:checked):after {
    opacity: 1;
    transition: 0.2s;
  }
  main form label:has(input[type=checkbox]) input[type=checkbox] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
  }
  main form .wpcf7-checkbox {
    margin: 20px 0 10px;
    padding-left: 0.4em;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 1em;
  }
  main form .wpcf7-checkbox.item_flex {
    flex-wrap: wrap;
    flex-direction: row;
  }
  main form .wpcf7-checkbox.item_flex > span.wpcf7-list-item {
    width: fit-content;
  }
  main form .wpcf7-checkbox > span.wpcf7-list-item {
    margin: 0;
    width: 100%;
    box-sizing: border-box;
  }
  main form .checkbox_list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.2em 0.2em;
  }
  main form .checkbox_list label:has(input[type=checkbox]) {
    padding: 0.3em 0.5em;
    border-radius: 0.3em;
    display: flex;
    align-items: center;
    gap: 0.3em;
    user-select: none;
    position: relative;
    transition: 0.2s;
  }
  main form .checkbox_list label:has(input[type=checkbox]):hover {
    background: #ededed;
    cursor: pointer;
    transition: 0.2s;
  }
  main form .checkbox_list label:has(input[type=checkbox]):before {
    content: "";
    background: #fff;
    border: 1px solid #afafaf;
    display: block;
    width: 1em;
    height: 1em;
    border-radius: 4px;
    box-sizing: border-box;
    transform: translate(translate(0, 0.1em));
  }
  main form .checkbox_list label:has(input[type=checkbox]):after {
    content: "";
    border-right: 3px solid var(--sub-color02);
    border-bottom: 3px solid var(--sub-color02);
    display: block;
    width: 0.4em;
    height: 1em;
    opacity: 0;
    position: absolute;
    left: 0.92em;
    top: 0.1em;
    transform: rotate(45deg);
    transition: 0.2s;
  }
  main form .checkbox_list label:has(input[type=checkbox]):has(input[type=checkbox]:checked):after {
    opacity: 1;
    transition: 0.2s;
  }
  main form .checkbox_list label:has(input[type=checkbox]) input[type=checkbox] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
  }
  main form label:has(input[type=radio]) {
    padding: 0.3em 0.5em;
    width: fit-content;
    border-radius: 0.3em;
    user-select: none;
    transition: 0.2s;
    cursor: pointer;
  }
  main form label:has(input[type=radio]):hover {
    background: #ededed;
    cursor: pointer;
    transition: 0.2s;
  }
  main form input[type=radio] {
    margin-right: 0.2em;
    width: 20px;
    height: 20px;
    background: #fff;
    border: 1px solid #afafaf;
    border-radius: 50%;
    box-sizing: border-box;
    vertical-align: -3px;
    -webkit-appearance: none;
    appearance: none;
    -moz-appearance: none;
    position: relative;
  }
  main form input[type=radio]:hover {
    cursor: pointer;
  }
  main form input[type=radio]:checked:before {
    content: "";
    width: 9.6px;
    height: 9.6px;
    display: block;
    background: var(--sub-color02);
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  main form .wpcf7-radio {
    margin: 20px 0 10px 0;
    padding-left: 0.4em;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 1em;
  }
  main form .wpcf7-radio > span.wpcf7-list-item {
    margin: 0;
    width: 100%;
    box-sizing: border-box;
  }
  main form button[type=submit] {
    margin: 20px auto 0;
    padding: 0.5em 1.8em;
    color: #fff;
    font-size: 1.8rem;
    font-weight: 600;
    width: fit-content;
    min-width: 160px;
    display: block;
    background: var(--main-color);
    border: 3px solid var(--main-color);
    border-radius: 0.4em;
    box-sizing: border-box;
    cursor: pointer;
    position: relative;
    transition: 0.3s;
  }
  main form button[type=submit]:hover {
    color: var(--main-color);
    background: #fff;
    transition: 0.3s;
  }
  main form button[type=submit].btn_search {
    padding: 0.5em 1.8em 0.5em 2.4em;
  }
  main form button[type=submit].btn_search:before {
    content: "";
    margin: auto;
    width: 1.1em;
    height: 1.1em;
    display: inline-block;
    background-color: #fff;
    -webkit-mask-image: url("../images/union/icon_search_form.svg");
    mask-image: url("../images/union/icon_search_form.svg");
    -webkit-mask-size: cover;
    mask-size: cover;
    position: absolute;
    left: 1em;
    top: 0;
    bottom: 0;
  }
  main form button[type=submit].btn_search:hover:before {
    background-color: var(--main-color);
    transition: 0.3s;
  }
  #form_outer {
    width: 100%;
  }
  #form_outer .input_box {
    margin: 40px auto;
    padding: 5% 5%;
    border-radius: 20px;
    background: #f7f7f7;
    display: flex;
    max-width: 800px;
    flex-direction: column;
    gap: 40px;
  }
  #form_outer .input_box.confirm {
    background: #fff;
    border: 2px solid var(--sub-color02);
    box-sizing: border-box;
  }
  #form_outer .input_box.confirm dl.item_unit dt {
    color: var(--sub-color02);
  }
  #form_outer .input_box dl.item_unit dt {
    margin-bottom: 0.6em;
    padding-left: 0.2em;
    font-size: 1.8rem;
    font-weight: 600;
    display: flex;
    align-items: flex-start;
  }
  #form_outer .input_box dl.item_unit dt > p.red {
    margin: 0 0 0 0.6em;
    font-weight: 600;
    color: #f55a56;
  }
  #form_outer .input_box dl.item_unit dt .required {
    margin-left: 1em;
    padding: 0.2em 0.6em;
    color: #fff;
    font-size: 0.8em;
    font-weight: 600;
    vertical-align: text-top;
    white-space: nowrap;
    background: var(--sub-color02);
    border-radius: 2em;
  }
  #form_outer .input_box dl.item_unit dd {
    flex: 1;
  }
  #form_outer .input_box dl.item_unit dd.flex {
    display: flex;
    flex-direction: column;
    gap: 1em;
  }
  #form_outer .input_box dl.item_unit dd > p {
    margin: 0.2em 0;
    padding: 0 0.5em;
    box-sizing: border-box;
  }
  #form_outer .input_box dl.item_unit dd input[name=age] {
    margin-right: 0.4em;
    width: 8em;
  }
  #form_outer .input_box dl.item_unit dd input[name=personal_income],
  #form_outer .input_box dl.item_unit dd input[name=household_income] {
    margin-right: 0.4em;
    width: calc(100% - 6em);
  }
  #form_outer .input_box dl.item_unit dd input[name=tel-number],
  #form_outer .input_box dl.item_unit dd input[name=tel],
  #form_outer .input_box dl.item_unit dd input[name=your-postcode],
  #form_outer .input_box dl.item_unit dd input[name=pastal_code],
  #form_outer .input_box dl.item_unit dd input[name=personal_income],
  #form_outer .input_box dl.item_unit dd input[name=household_income] {
    width: 14em;
  }
  #form_outer .input_box dl.item_unit dd p.caption {
    margin: 0.4em 0 0.2em 0;
    color: #888;
    font-size: 1.4rem;
  }
  #form_outer .input_box dl.item_unit dd p.mini_head {
    margin: 2em 0 0.6em 0;
    padding-left: 0.2em;
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.4;
  }
  #form_outer .input_box dl.item_unit dd .wpcf7-form-control-wrap + .wpcf7-form-control-wrap {
    margin-top: 20px;
    display: block;
  }
  #form_outer .input_box dl.item_unit dd .radio_outer {
    margin: 20px 0 10px 0;
    padding-left: 0.4em;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 0.6em;
  }
  #form_outer .input_box dl.item_unit dd .sub_box {
    margin: 1em 0 0 0;
  }
  #form_outer .input_box dl.item_unit dd .sub_box p {
    margin: 0.2em 0;
    padding: 0 0.5em;
    box-sizing: border-box;
  }
  #form_outer .input_box dl.item_unit dd select[name=birthday_year],
  #form_outer .input_box dl.item_unit dd select[name=birthday_month],
  #form_outer .input_box dl.item_unit dd select[name=birthday_day] {
    margin-right: 0.4em;
    width: calc(100% - 2em);
  }
  #form_outer .input_box.confirm dl.item_unit dt {
    padding-top: 0;
  }
  #form_outer .btn_box {
    margin-top: 30px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 40px;
  }
  #form_outer .btn_box > input {
    padding: 1em 1.8em;
    color: #fff;
    border-radius: 0;
    background: var(--main-color);
    box-shadow: 0px 3px #1c5d13;
    transition: 0.3s;
  }
  #form_outer .btn_box > input.btn_previous, #form_outer .btn_box > input.btn_reset {
    color: #333;
    background: #e1e1e1;
    box-shadow: 0px 3px #bfbfbf;
  }
  #form_outer .btn_box > input:hover {
    cursor: pointer;
    opacity: 0.7;
  }
  #form_outer .btn_box .wpcf7-spinner {
    display: none !important;
  }
  #form_outer .consent_box {
    margin: 0 auto;
    padding: 30px 30px;
    background: #f7f7f7;
    width: 80%;
    border-radius: 20px;
    box-sizing: border-box;
  }
  #form_outer .consent_box .wpcf7-form-control {
    margin-top: 0;
    justify-content: center;
  }
  #form_outer .consent_box .wpcf7-form-control .wpcf7-list-item-label {
    font-size: 2rem;
    font-weight: 600;
  }
  #form_outer .consent_box .wpcf7-checkbox .wpcf7-list-item > label:after {
    left: 1em;
    top: 0.3em;
  }
  #form_outer .consent_box .radio_outer {
    margin: 0 0 10px 0;
    display: flex;
    flex-direction: column;
    gap: 0.6em;
  }
  #form_outer .consent_box .radio_outer label {
    font-size: 2rem;
    font-weight: 600;
  }
  #form_outer .consent_box > p {
    margin: 0.8em 0 0 0;
  }
  #form_outer .privacy_box {
    margin: 60px auto;
    padding: 30px 30px;
    background: #fff;
    border: 3px solid var(--main-color);
    width: 100%;
    border-radius: 20px;
    box-sizing: border-box;
  }
  #form_outer .privacy_box p {
    margin-bottom: 1em;
    text-align: center;
  }
  #form_outer .privacy_box .radio_outer {
    display: flex;
    justify-content: center;
  }
  #form_outer .privacy_box .radio_outer label {
    font-size: 2rem;
    font-weight: 600;
  }
  span.wpcf7-not-valid-tip {
    margin-top: 4px;
    padding: 0 0.4em;
    color: #f55a56;
    font-weight: 600;
  }
  .wpcf7-response-output {
    margin: 40px auto 0 !important;
    padding: 1.8rem !important;
    width: 100%;
    border-color: #f55a56 !important;
    box-sizing: border-box;
    background: #fff4f4;
  }
  #autozip {
    display: none !important;
  }
}/*# sourceMappingURL=sec.css.map */