@charset "UTF-8";
main a[target=_blank]:not(.nonewtabIcon):not([href$=".pdf"]):not(:has(img))::after {
  margin-left: 0.1rem;
  margin-right: 0.1rem;
  content: "\f35d";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  display: inline-block;
}

main a[href$=".pdf"]:not(.nopdfIcon):not(.wp-block-file__button):not(:has(img))::after {
  margin-left: 0.1rem;
  margin-right: 0.1rem;
  content: "\f1c1";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  display: inline-block;
}

main ul.btnList > li a, main .wp-block-buttons .wp-block-button a, ul.btnList > li a, .btn a {
  vertical-align: middle;
  font-weight: bold;
  display: inline-block;
  box-sizing: border-box;
  background-color: #473819;
  color: #fff;
  border: 2px solid #473819;
  border-radius: 0.5rem;
  text-decoration: none;
  letter-spacing: 0.05em;
  position: relative;
  cursor: pointer;
  padding: 1em 2em 1em 2em;
}
@media screen and (max-width: 768px) {
  main ul.btnList > li a, main .wp-block-buttons .wp-block-button a, ul.btnList > li a, .btn a {
    padding: 1.2em 2em 1.5em 2em;
  }
}
main ul.btnList > li a:hover, main .wp-block-buttons .wp-block-button a:hover, ul.btnList > li a:hover, .btn a:hover {
  text-decoration: none;
  color: #473819;
  background-color: #fff;
  opacity: 1;
}

main ul.btnList > li.is-style-outline a, main .wp-block-buttons .is-style-outline.wp-block-button a, ul.btnList > li.is-style-outline a, .is-style-outline.btn a {
  color: #473819;
  background-color: transparent;
  border: 2px solid #473819;
}
main .wp-block-buttons .is-style-outline.wp-block-button a:hover, ul.btnList > li.is-style-outline a:hover, .is-style-outline.btn a:hover {
  color: #fff;
  background-color: #473819;
  opacity: 1;
}

/* --------------------------------------------------------------------------------
  共通読み込み
-------------------------------------------------------------------------------- */
/* 共通読み込み（配置、余白）original.css/editor-style.css */
/* --------------------------------------------------------------------------------
  共通読み込み - main
-------------------------------------------------------------------------------- */
/* カラーパレット */
/* フォント */
/* 共通読み込み（見出し） */
/* table */
/* 共通読み込み（リスト） */
/*  共通読み込み用（TOPページ用パーツ） */
@media print, screen and (max-width: 768px) {
  .sp_hidden {
    display: none !important;
  }
}

@media print, screen and (min-width: 769px) and (max-width: 1080px) {
  .tb_hidden {
    display: none !important;
  }
}

@media print, screen and (min-width: 1081px) {
  .pc_hidden {
    display: none !important;
  }
}

@media print, screen and (min-width: 1081px) and (max-width: 1299px) {
  .pc-narrow_hidden {
    display: none !important;
  }
}

@media print, screen and (min-width: 1300px) {
  .pc-wide_hidden {
    display: none !important;
  }
}

noscript {
  padding: 2em;
  text-align: center;
  text-decoration: underline;
}

@media print, screen and (min-width: 1081px) {
  .scroll-hint-icon-wrap {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .scroll-hint-icon-wrap .scroll-hint-icon:before {
    width: 27px;
    height: 27px;
  }
  .scroll-hint-icon-wrap .scroll-hint-icon-wrap.is-active .scroll-hint-icon {
    opacity: 0.9;
  }
  .scroll-hint-icon-wrap .scroll-hint-text {
    margin-top: 0;
    line-height: 1.5;
  }
  .scroll-hint-icon-wrap .scroll-hint-icon {
    left: calc(50% - 75px);
    top: calc(50% - 35px);
    width: 150px;
    height: 70px;
  }
  .scroll-hint-icon-wrap .scroll-hint-icon-white {
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.4) !important;
  }
}
/* --------------------------------------------------------------------------------
   Global Elements
  -------------------------------------------------------------------------------- */
body {
  font-style: normal;
  line-height: 1.5;
  font-family: sans-serif, ＭＳ Ｐゴシック, Osaka;
  font-size: 80%;
  margin: 0;
  padding: 0;
}
@media print, screen and (min-width: 1081px) {
  body {
    border-top: 8px solid #00a604;
  }
}

/*--------------------------------------------------------------------------------
Layout
--------------------------------------------------------------------------------*/
#blockskip {
  z-index: 9999;
  overflow: visible;
  margin: 0;
  padding: 0;
  width: 100%;
}
#blockskip a {
  display: block;
  float: left;
  background: #00a604;
  width: 100%;
  color: #fff;
  text-align: center;
  text-decoration: none;
  line-height: 0;
  cursor: default;
  height: 0;
  overflow: hidden;
}
#blockskip a:hover {
  text-decoration: underline;
}
#blockskip a:focus {
  font-size: 1em;
  height: 1.7em;
  color: #fff;
  line-height: 1.7em;
  cursor: pointer;
}

/* ---------------------------------- */
/* cssグラデーションで点線
/* ---------------------------------- */
#wrapper {
  margin: 0 auto;
  position: relative;
}
@media print, screen and (min-width: 1081px) {
  #wrapper {
    max-width: 965px;
  }
  #wrapper::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: -1;
    pointer-events: none;
    background-image: linear-gradient(to bottom, #b6aea1 50%, transparent 50%), linear-gradient(to bottom, #b6aea1 50%, transparent 50%), linear-gradient(to bottom, #b6aea1 50%, transparent 50%);
    background-position: 44px 0, 264px 0, 950px 0;
    background-repeat: repeat-y;
    background-size: 1px 2px;
  }
}

.contentWrap {
  position: relative;
}
@media print, screen and (min-width: 1081px) {
  .contentWrap {
    padding: 0;
    margin-left: 44px;
  }
  .contentWrap:has(.sidebar) {
    display: grid;
    grid-template-columns: 220px 680px;
    justify-content: space-between;
  }
  .contentWrap:not(:has(.sidebar)) main {
    max-width: 965px;
  }
}
.contentWrap main {
  order: 2;
}
body.home .contentWrap main {
  padding: 1rem;
  box-sizing: border-box;
}
@media print, screen and (min-width: 1081px) {
  body.home .contentWrap main {
    padding: 0;
  }
}
body:not(.home) .contentWrap main.contentArea {
  width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
  margin-bottom: 1rem;
  background-color: #fff;
}
@media print, screen and (min-width: 1081px) {
  body:not(.home) .contentWrap main.contentArea {
    border: 1px solid #b6aea1;
  }
}
.contentWrap aside.sidebar {
  order: 1;
  display: none;
}
@media print, screen and (min-width: 1081px) {
  .contentWrap aside.sidebar {
    display: block;
    top: 1em;
    align-self: start;
  }
}

/*--------------------------------------------------------------------------------
widebox,contentbox
--------------------------------------------------------------------------------*/
.fullwidebox {
  width: 100vw;
  margin: 2em calc(50% - 50vw);
}

@media screen and (max-width: 768px) {
  .contentbox {
    padding: 5vw;
  }
}
@media print, screen and (min-width: 769px) {
  .contentbox {
    padding: 1.5rem 1.9rem;
  }
}

/*--------------------------------------------------------------------------------
Base
--------------------------------------------------------------------------------*/
::-moz-selection {
  background: #ddd;
}
::selection {
  background: #ddd;
}

a,
a:hover,
a:focus,
content,
input[type=submit],
img,
p {
  transition: 0.2s;
}

/*画像*/
img,
canvas,
video,
svg {
  max-width: 100%;
  height: auto;
}

iframe {
  max-width: 100%;
}

/* 余白、配置 */
.center {
  text-align: center !important;
}

.left {
  text-align: left !important;
}

.right {
  text-align: right !important;
}

.top {
  vertical-align: top !important;
}

.middle {
  vertical-align: middle !important;
}

.bottom {
  vertical-align: bottom !important;
}

.width_auto {
  width: auto !important;
}

.block {
  display: block;
}

.small {
  font-size: 75%;
}

.inline {
  display: inline;
}

.nowrap {
  white-space: nowrap;
}

/* width */
.width50 {
  width: 50% !important;
}

.width100 {
  width: 100% !important;
}

/* 余白 */
.m_top05em {
  margin-top: 0.5em !important;
}

.m_btm05em {
  margin-bottom: 0.5em !important;
}

.m_top1em {
  margin-top: 1em !important;
}

.m_btm1em {
  margin-bottom: 1em !important;
}

.m_top2em {
  margin-top: 2em !important;
}

.m_btm2em {
  margin-bottom: 2em !important;
}

.m_top3em {
  margin-top: 3em !important;
}

.m_btm3em {
  margin-bottom: 3em !important;
}

.m_top05rem {
  margin-top: 0.5rem !important;
}

.m_btm05rem {
  margin-bottom: 0.5rem !important;
}

.m_top1rem {
  margin-top: 1rem !important;
}

.m_btm1rem {
  margin-bottom: 1rem !important;
}

.m_top2rem {
  margin-top: 2rem !important;
}

.m_btm2rem {
  margin-bottom: 2rem !important;
}

.m_top3rem {
  margin-top: 3rem !important;
}

.m_btm3rem {
  margin-bottom: 3rem !important;
}

.m_auto {
  margin-right: auto !important;
  margin-left: auto !important;
}

.m_top0 {
  margin-top: 0 !important;
}

.m_bottom0,
.m_btm0 {
  margin-bottom: 0 !important;
}

.m_right0 img,
.m_right0 {
  margin-right: 0 !important;
}

.m_left0 img,
.m_left0 {
  margin-left: 0 !important;
}

.p_top0 {
  padding-top: 0 !important;
}

.has-main-color {
  color: #00a404 !important;
}

.has-main-dark-color {
  color: #226e12 !important;
}

.has-light-green-color {
  color: #7eb009 !important;
}

.has-blue-color {
  color: #2196f3 !important;
}

.has-orange-color {
  color: #ff9800 !important;
}

.has-red-color {
  color: #e53935 !important;
}

.has-gray-color {
  color: #757575 !important;
}

.has-dark-gray-color {
  color: #424242 !important;
}

.has-main-background-color {
  background-color: #00a404 !important;
}

.has-main-dark-background-color {
  background-color: #226e12 !important;
}

.has-light-green-background-color {
  background-color: #7eb009 !important;
}

.has-blue-background-color {
  background-color: #2196f3 !important;
}

.has-orange-background-color {
  background-color: #ff9800 !important;
}

.has-red-background-color {
  background-color: #e53935 !important;
}

.has-gray-background-color {
  background-color: #757575 !important;
}

.has-dark-gray-background-color {
  background-color: #424242 !important;
}

/*--------------------------------------------------------------------------------
main
--------------------------------------------------------------------------------*/
main {
  width: 100%;
  padding-bottom: 3em;
  /* 見出し */
  /* 表側と管理画面で指定を分けてあります */
  /* === 標準リスト === */
  /* === 個別設定 === */
  /*ボタンiOS装飾削除*/
}
main .hentry > *:first-child {
  margin-top: 0;
}
main .hentry > *:last-child:not(p:empty) {
  margin-bottom: 0;
}
main .hentry > *:nth-last-child(2):has(~ p:empty:last-child) {
  margin-bottom: 0;
}
main p {
  margin: 0 0 1rem 0;
  line-height: 1.7;
}
main a {
  position: relative;
  /* 新規タブで開くリンク（PDF以外）のスタイル */
  /* PDFリンクのスタイル（target指定の有無に関わらず） */
}
main a:hover {
  text-decoration: none;
}
main:not(.page404) > *:first-child {
  margin-top: 0;
}
main .notosans {
  font-family: "Noto Sans JP", sans-serif;
}
main .jost {
  font-family: "Jost", sans-serif;
}
main .zenold {
  font-family: "Zen Old Mincho", serif;
}
main h1,
main h2,
main h3,
main h4,
main h5,
main h6 {
  font-weight: bold;
  line-height: 1.4;
  position: relative;
  margin: 2rem 0 2rem 0;
}
@media screen and (max-width: 768px) {
  main h1,
main h2,
main h3,
main h4,
main h5,
main h6 {
    margin: 1.5rem 0 1.5rem 0;
  }
}
main h1.page-title,
main h2.page-title,
main h3.page-title,
main h4.page-title,
main h5.page-title,
main h6.page-title {
  margin-top: 0;
  margin-bottom: 0;
}
main .page-title {
  font-size: 200%;
}
@media screen and (max-width: 768px) {
  main .page-title {
    font-size: 170%;
  }
}
main .page-title,
main h1:not(.nopreset) {
  font-size: 200%;
  font-weight: 400;
  font-family: "Noto Sans JP", sans-serif;
  border: 0;
  position: relative;
  min-height: 55px;
  line-height: 55px;
  color: #fff;
  padding-left: 2em;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: right;
  background-image: url(../img/bg_h1.jpg);
}
@media screen and (max-width: 768px) {
  main .page-title,
main h1:not(.nopreset) {
    font-size: 170%;
  }
}
@media screen and (max-width: 768px) {
  main .page-title,
main h1:not(.nopreset) {
    background-image: url(../img/bg_h1_sp.jpg);
  }
}
main .page-title::before,
main h1:not(.nopreset)::before {
  content: "";
  background-image: url(../img/bg_h1-icon.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 0 0;
  width: 21px;
  height: 60px;
  position: absolute;
  top: 50%;
  left: 0.5em;
  transform: translateY(-50%);
}
main .h2Style,
main h2:not(.nopreset) {
  font-size: 110%;
  font-weight: 500;
  position: relative;
  background-color: #f7f7f7;
  padding: 0.8em 1em 0.8em 1.5em;
  border: 1px solid #e0e0e0;
  font-size: 1.1em;
  font-weight: bold;
  color: #473819;
  line-height: 1.5;
}
main .h2Style::before,
main h2:not(.nopreset)::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0.5em;
  width: 3px;
  height: 75%;
  background-color: #e59146;
}
main .h3Style,
main h3:not(.nopreset) {
  font-size: 105%;
  line-height: 1.3;
  padding: 0.6em 1.1em 0.6em 1.1em;
  font-weight: bold;
  font-size: 1.1em;
  background-image: url(../img/bg_h3.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  border: solid 1px #ebe8e3;
  color: #333333;
}
main .h4Style,
main h4:not(.nopreset) {
  font-size: 100%;
  color: #473819;
  line-height: 1.4;
  padding: 0 1em 0.6em 1em;
  border-bottom: 1px solid #ebe8e3;
  color: #473819;
  font-weight: bold;
  color: #493615;
}
main .h5Style,
main h5:not(.nopreset) {
  font-size: 105%;
  color: #473819;
  border-bottom: 1px solid #ebe8e3;
  padding: 0.6em 0 0.6em 0;
}
main .h6Style,
main h6:not(.nopreset) {
  font-size: 100%;
  color: #473819;
  font-weight: bold;
  padding: 0.5em 0;
  border-bottom: 2px dotted #dddddd;
}
main figure.wp-block-table {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
main figure.wp-block-table table {
  border-bottom: 1px solid #c8c0b4;
  border-left: 1px solid #c8c0b4;
  border-right: 1px solid #c8c0b4;
  width: 100%;
  box-sizing: border-box;
  border-collapse: collapse;
  table-layout: auto;
}
main figure.wp-block-table table th,
main figure.wp-block-table table td {
  border: none;
  overflow-wrap: break-word;
  word-break: break-all; /* 長すぎる単語を強制的に改行させる */
}
main figure.wp-block-table table th ol,
main figure.wp-block-table table th ul,
main figure.wp-block-table table td ol,
main figure.wp-block-table table td ul {
  margin-top: 0;
  margin-bottom: 0;
}
main figure.wp-block-table table thead {
  border-bottom: 3px solid #c8c0b4;
  background-color: #f7f6f4;
}
main figure.wp-block-table table thead th:not(:first-child) {
  border-left: 1px solid #c8c0b4;
}
main figure.wp-block-table table tfoot {
  border-top: 3px solid #c8c0b4;
  background-color: #f7f6f4;
}
main figure.wp-block-table table th {
  border-top: 1px solid #c8c0b4;
  background-color: #f7f6f4;
  padding: 0.6rem 0.7rem;
  box-sizing: border-box;
  /* URL折り返しを強制 */
  overflow-wrap: break-word;
  word-break: break-all; /* 長すぎる単語を強制的に改行させる */
  position: relative;
  text-align: left;
}
main figure.wp-block-table table td {
  border-left: 1px solid #c8c0b4;
  border-top: 1px solid #c8c0b4;
  padding: 0.6rem 0.7rem;
  box-sizing: border-box;
}
main figure.wp-block-table table td table th {
  width: auto;
}
main figure.wp-block-table table td table td {
  width: auto;
}
@media print, screen and (min-width: 769px) {
  main figure.wp-block-table.thNowrap table th {
    white-space: nowrap;
  }
}
@media screen and (max-width: 768px) {
  main figure.wp-block-table.fold table {
    border-left: 1px solid #c8c0b4;
    border-right: 1px solid #c8c0b4;
    border-bottom: 1px solid #c8c0b4;
  }
  main figure.wp-block-table.fold table th {
    width: 100%;
    display: block;
    box-sizing: border-box;
    border-right: 0;
    border-left: none;
    border-bottom: 1px solid #c8c0b4;
  }
  main figure.wp-block-table.fold table td {
    white-space: normal;
    width: 100%;
    box-sizing: border-box;
    display: block;
    border-top: none;
    border: none;
  }
}
main figure.wp-block-table.js-scrollable {
  overflow-x: auto !important; /* スクロールが有効になっているか確認 */
  width: 100%;
  /* トグルがオン（セル幅が固定されている）の場合の調整 */
}
main figure.wp-block-table.js-scrollable th,
main figure.wp-block-table.js-scrollable td {
  white-space: nowrap;
  /* URLや長い単語の強制改行は維持してOK */
}
main figure.wp-block-table.js-scrollable .has-fixed-layout {
  /* table-layout: fixed; を上書きして auto/min-width にすることで、
  横スクロールを可能にする */
  table-layout: auto !important;
  width: auto;
  min-width: 100%;
}
main ul,
main ol {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
main ul.wp-block-list:not([class*=" "]),
main ol.wp-block-list:not([class*=" "]) {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding-left: 1.5em;
}
main ul.wp-block-list:not([class*=" "]) > li::marker,
main ol.wp-block-list:not([class*=" "]) > li::marker {
  color: #473819;
}
main ul.wp-block-list:not([class*=" "]) > li ol,
main ul.wp-block-list:not([class*=" "]) > li ul,
main ol.wp-block-list:not([class*=" "]) > li ol,
main ol.wp-block-list:not([class*=" "]) > li ul {
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
}
main ul.wp-block-list:not([class*=" "]):not(ol),
main ol.wp-block-list:not([class*=" "]):not(ol) {
  list-style-type: disc;
}
main ul.wp-block-list[class*=" "] > li ol,
main ul.wp-block-list[class*=" "] > li ul,
main ol.wp-block-list[class*=" "] > li ol,
main ol.wp-block-list[class*=" "] > li ul {
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
}
main ul.newsList > li {
  list-style-type: none;
  margin: 0 0 0 0;
  padding: 0.25em 0;
  position: relative;
  width: 100%;
}
main ul.newsList > li a {
  line-height: 1.2;
  position: relative;
  display: inline-block;
}
main ul.newsList > li a:hover {
  text-decoration: none;
}
main ul.newsList > li a span.titleText {
  display: block;
}
main ul.newsList > li time.dateText {
  display: block;
  font-size: 75%;
}
main ul.archive-newsList {
  padding: 0;
  margin: 0;
}
main ul.archive-newsList > li {
  list-style-type: none;
  margin: 0 0 0 0;
  padding: 0.5rem 0.3rem 0.5rem 0.5rem;
  position: relative;
  width: 100%;
  border-bottom: 1px dotted #dddddd;
}
main ul.archive-newsList > li a {
  line-height: 1.2;
  position: relative;
  display: block;
  margin-bottom: 0.3rem;
}
main ul.archive-newsList > li a:hover {
  text-decoration: none;
}
main ul.archive-newsList > li a span.titleText {
  display: block;
}
main ul.archive-newsList > li time.dateText {
  font-size: 75%;
}
main ul.arrowList {
  padding: 0 0 0 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.3em;
}
main ul.arrowList > li {
  list-style: none;
  margin: 0;
  padding: 0 0 0 1.5em;
  position: relative;
}
main ul.arrowList > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 10px;
  height: 1px;
  background-color: #64563f;
  transform: translateY(-50%);
}
main ul.arrowList > li::after {
  content: "";
  position: absolute;
  left: 0.3em;
  top: 50%;
  width: 5px;
  height: 5px;
  border-top: 1.5px solid #64563f;
  border-right: 1.5px solid #64563f;
  transform: translateY(-50%) rotate(45deg);
}
main ul.normalList {
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.3em;
}
main ul.normalList > li {
  list-style: none;
  margin: 0;
  padding: 0 0 0 1.5em;
  background: url(../img/listmark3.gif) left 0.5em no-repeat;
}
main ul.normalList > li ul {
  margin-top: 0.8em;
  margin-bottom: 0.8em;
}
main ul.btnList {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 0;
}
@media print, screen and (min-width: 769px) {
  main ul.btnList {
    gap: 2vw;
  }
}
main ul.btnList > li {
  list-style: none;
  width: 100%;
}
@media screen and (max-width: 768px) {
  main ul.btnList > li:not(:last-child) {
    margin-bottom: 1em;
  }
}
@media print, screen and (min-width: 769px) {
  main ul.btnList > li {
    width: calc(50% - 1vw);
  }
}
main ul.btnList > li a {
  display: block;
  padding-left: 2em;
  padding-right: 4.5em;
}
main ul.btnList > li a::after {
  position: absolute;
  top: calc(50% - 0.1em);
  right: 2em;
  left: auto;
  transform: translateY(-50%);
  margin-left: 0;
}
main ul.indexList {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none;
  gap: 0.8em;
  margin-top: 3em;
  margin-bottom: 3em;
}
@media screen and (max-width: 768px) {
  main ul.indexList {
    justify-content: flex-start;
  }
}
main ul.indexList > li {
  list-style-type: none;
  font-size: 0.8em;
}
main ul.indexList > li a {
  font-weight: bold;
  display: inline-block;
  box-sizing: border-box;
  border: 0.1em solid #473819;
  background-color: #473819;
  color: #fff;
  text-decoration: none;
  letter-spacing: 0.05em;
  position: relative;
  cursor: pointer;
  padding: 1.5em 2em;
  line-height: 1;
  vertical-align: middle;
  border-radius: 0.5rem;
}
main ul.indexList > li a:hover {
  background-color: #fff;
  color: #473819;
}
main ul.indexList > li.current a {
  background-color: #fff;
  color: #473819;
}
main ul.indexList > li.current a:hover {
  background-color: #473819;
  color: #fff;
}
main ul.indexList.is-style-outline li a {
  background-color: #fff;
  color: #473819;
}
main ul.indexList.is-style-outline li a:hover {
  background-color: #473819;
  color: #fff;
}
main ul.indexList.is-style-outline li.current a {
  background-color: #473819;
  color: #fff;
}
main ul.indexList.is-style-outline li.current a:hover {
  background-color: #fff;
  color: #473819;
}
main ul.processList > li {
  list-style-type: none;
  border: 0.1em solid #473819;
  border-radius: 1em;
  padding: 1em;
  box-sizing: border-box;
  width: 100%;
  text-align: center;
  position: relative;
  margin-bottom: 1.5em;
}
main ul.processList > li:not(:first-of-type)::before {
  content: "";
  background-color: #473819;
  width: 0.1em;
  height: 1.5em;
  position: absolute;
  left: 50%;
  top: calc(-1.5em - 1px);
  transform: translateX(-50%);
}
main ul.processList > li.invert {
  background-color: #473819;
  color: #fff;
}
main ul.processList > li.bold {
  font-weight: bold;
}
main input[type=submit],
main input[type=button] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
main input[type=submit]::-webkit-search-decoration,
main input[type=button]::-webkit-search-decoration {
  display: none;
}
main input[type=submit]::focus,
main input[type=button]::focus {
  outline-offset: -2px;
}
main input[type=checkbox] {
  padding: 0.3em;
  width: 1.3em;
  height: 1.3em;
  border: #ccc;
  border-radius: 0.3rem;
  cursor: pointer;
  accent-color: #00a604;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  position: relative;
}
main input[type=checkbox]:checked {
  background-color: #00a604 !important; /* チェック時の背景色 */
  border-color: #00a604 !important; /* チェック時のボーダー */
}
main input[type=checkbox]:checked::after {
  content: "\f00c";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color: white; /* アイコンの色 */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); /* アイコンを中央に配置 */
}
main button,
main input[type=search],
main input[type=submit],
main input[type=text],
main input[type=date],
main input[type=tel],
main input[type=email],
main input[type=radio],
main select,
main textarea {
  min-height: 1.8rem;
  box-sizing: border-box;
  padding: 0.6rem 0.6rem;
  border: 1px solid #dddddd;
  border-radius: 0.2rem;
  color: #333333;
  box-sizing: border-box;
  border-radius: 0.3rem;
}
main button::-moz-placeholder, main input[type=search]::-moz-placeholder, main input[type=submit]::-moz-placeholder, main input[type=text]::-moz-placeholder, main input[type=date]::-moz-placeholder, main input[type=tel]::-moz-placeholder, main input[type=email]::-moz-placeholder, main input[type=radio]::-moz-placeholder, main select::-moz-placeholder, main textarea::-moz-placeholder {
  color: #999999;
}
main button::placeholder,
main input[type=search]::placeholder,
main input[type=submit]::placeholder,
main input[type=text]::placeholder,
main input[type=date]::placeholder,
main input[type=tel]::placeholder,
main input[type=email]::placeholder,
main input[type=radio]::placeholder,
main select::placeholder,
main textarea::placeholder {
  color: #999999;
}
main input[type=search],
main input[type=text],
main input[type=date],
main input[type=tel],
main input[type=email],
main input[type=radio],
main select,
main textarea {
  width: 100%;
  background-color: #fff;
}
main .wp-block-search__button,
main .submitBtn,
main input[type=submit] {
  min-width: 7em;
  padding: 0.6rem 1rem;
  cursor: pointer;
  color: #fff;
  background-color: #473819;
}
main .wp-block-search__button:hover,
main .submitBtn:hover,
main input[type=submit]:hover {
  background-color: #fff;
  color: #473819;
}
main .wp-block-search__button::before,
main .submitBtn::before,
main input[type=submit]::before {
  content: "";
  display: inline-block;
  width: 1rem;
  height: 1rem;
  content: "\f002";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  margin-right: 0.3rem;
}
main .submitArea {
  text-align: center;
}
main .wp-block-group > :last-child {
  margin-bottom: 0;
}
main .wp-block-group .wp-block-group__inner-container p:first-of-type {
  margin-top: 0;
}
main .wp-block-group .wp-block-group__inner-container p:last-of-type {
  margin-bottom: 0;
}
main .wp-block-group .wp-block-group__inner-container > :last-child {
  margin-bottom: 0;
}
main .wp-block-group.borderBlock {
  margin-top: 2em;
  margin-bottom: 2em;
  border: 0.1em solid #dddddd;
  padding: 2em;
}
main .wp-block-group.borderBlock h1:first-child,
main .wp-block-group.borderBlock h2:first-child,
main .wp-block-group.borderBlock h3:first-child,
main .wp-block-group.borderBlock h4:first-child,
main .wp-block-group.borderBlock h5:first-child,
main .wp-block-group.borderBlock h6:first-child {
  margin-top: 0;
}
main .wp-block-group.borderBlock :last-child {
  margin-bottom: 0;
}
main figure.captionBlock {
  position: relative;
}
main figure.captionBlock img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  min-width: auto;
}
main figure.captionBlock figcaption {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 0.8em 1.8em 0.8em 1.5em;
  background-color: #fff;
  margin: 0;
  font-weight: 700;
  font-size: 1.1em;
}
main figure.captionBlock figcaption::after {
  content: "\f105";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  margin-left: 1em;
}
main .wp-block-image.imgwidth100 {
  width: 100%;
}
main .wp-block-image.imgwidth100 a {
  display: block;
}
main .wp-block-image.imgwidth100 a img,
main .wp-block-image.imgwidth100 img {
  width: 100% !important;
  height: auto;
}
main .img100 img {
  max-width: none;
  width: 100%;
  height: auto;
}
main .wp-block-file {
  margin-top: 2em;
  margin-bottom: 2em;
  font-size: 1em;
}
main .wp-block-gallery {
  margin-top: 2em;
  margin-bottom: 2em;
}
main .wp-block-gallery .wp-block-image {
  margin-top: 0;
  margin-bottom: 0;
}
main .wp-block-quote {
  background: #eeeeee;
  border: 1px solid #ddd;
  padding: 1rem !important;
  margin: 1rem 0 !important;
}
main .wp-block-quote p:last-child {
  margin-bottom: 0;
}
main .wp-block-quote cite {
  font-style: italic;
  font-size: 90%;
}
main .wp-block-buttons {
  box-sizing: border-box;
  margin: 2rem auto 2rem auto;
}
main .wp-block-buttons.is-content-justification-center {
  justify-content: center;
}
main .wp-block-buttons.is-content-justification-left {
  justify-content: flex-start;
}
main .wp-block-buttons.is-content-justification-right {
  justify-content: flex-end;
}
main .wp-block-buttons .wp-block-button {
  margin-bottom: 0.8em;
}
main .wp-block-buttons .wp-block-button a:not([href]) {
  pointer-events: none;
}
main .wp-block-buttons .wp-block-button a:not([href]):hover {
  opacity: 1;
}
main .wp-block-buttons .wp-block-button a:not([href]), main .wp-block-buttons .wp-block-button.nolink a {
  background-color: #dddddd;
  border-color: #dddddd;
}
main .wp-block-buttons .wp-block-button a:not([href])::after, main .wp-block-buttons .wp-block-button.nolink a::after {
  color: #fff;
}
main .wp-block-buttons .wp-block-button a:not([href]):hover, main .wp-block-buttons .wp-block-button.nolink a:hover {
  opacity: 1;
  color: #999999;
  background-color: #fff;
  border-color: #999999;
}
main .wp-block-buttons .wp-block-button a:not([href]):hover::after, main .wp-block-buttons .wp-block-button.nolink a:hover::after {
  color: #999999;
}
main .wp-block-buttons + .wp-block-buttons {
  margin-top: 0;
}

/*--------------------------------------------------------------------------------
common parts font - 表示側だけで使用するCSS
--------------------------------------------------------------------------------*/
span.need, span.noneed {
  line-height: 1.8;
  font-size: 80%;
  font-weight: bold;
  padding: 0 1em;
  display: inline-block;
  letter-spacing: 0.15em;
}
span.need {
  border: 1px solid #e53935;
  background-color: #fff;
  color: #e53935;
}
span.noneed {
  border: 1px solid #473819;
  background-color: #fff;
  color: #473819;
}

.wp-block-columns.markiconBlock {
  gap: 1rem;
  margin: 2em 0;
  padding: 0;
}
.wp-block-columns.markiconBlock .icon {
  margin: 0;
}
.wp-block-columns.markiconBlock .titleBlock {
  margin: 0;
}
.wp-block-columns.markiconBlock .titleBlock .title {
  padding-bottom: 0.2em;
  border-bottom: 1px solid #b6aea1;
  margin-top: 0;
  margin-bottom: 0.4em;
}
.wp-block-columns.markiconBlock.grd .title {
  -o-border-image: linear-gradient(to right, #b6aea1 0%, transparent 100%) 1;
     border-image: linear-gradient(to right, #b6aea1 0%, transparent 100%) 1;
}

.wp-block-group.around-menuListArea {
  margin-top: 2rem;
  margin-bottom: 2rem;
  border: 1px solid #ebe8e3;
  padding: 1em;
  text-align: center;
}
.wp-block-group.around-menuListArea ul.around-menuList {
  list-style-type: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.4rem;
  margin: 0;
  padding: 0;
}
@media print, screen and (min-width: 769px) {
  .wp-block-group.around-menuListArea ul.around-menuList {
    margin: 0 auto;
    max-width: 80%;
  }
}
.wp-block-group.around-menuListArea ul.around-menuList li {
  flex: 0 0 auto;
}
.wp-block-group.around-menuListArea ul.around-menuList li.noline,
.wp-block-group.around-menuListArea ul.around-menuList li:not(:first-child)::before {
  content: "|";
  margin: 0 10px;
  color: #ebe8e3;
}

.new {
  font-size: 0.8em;
  padding: 0 0.5em;
  letter-spacing: 0.1em;
  color: #00a604;
  display: inline-block;
}

.search-highlight {
  background-color: #f9f988;
}

.snsshareArea {
  display: flex;
  justify-content: space-between;
  gap: 1em;
}
.snsshareArea a {
  color: #fff;
  text-align: center;
  padding: 0.5em;
  width: calc(33.3333333333% - 1em);
}
@media print, screen and (min-width: 769px) {
  .snsshareArea a {
    width: calc(33.3333333333% - 2em);
  }
}
.snsshareArea a.facebook {
  background-color: #3b5998;
}
.snsshareArea a.x {
  background-color: #333333;
}
.snsshareArea a.instagram {
  background-color: #333333;
}
.snsshareArea a.line {
  background-color: #00c300;
}

#nav-below {
  position: relative;
  margin: 4em 0 2em 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
#nav-below .nav-all a,
#nav-below .nav-previous a,
#nav-below .nav-next a {
  display: inline-block;
  width: 100%;
  border-radius: 2em;
  padding: 0.5rem 1rem;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  color: #473819;
  text-decoration: none;
  border: 2px solid #ebe8e3;
}
#nav-below .nav-all a::before, #nav-below .nav-all a::after,
#nav-below .nav-previous a::before,
#nav-below .nav-previous a::after,
#nav-below .nav-next a::before,
#nav-below .nav-next a::after {
  transition: 0.5s;
}
#nav-below .nav-all a:hover,
#nav-below .nav-previous a:hover,
#nav-below .nav-next a:hover {
  border-color: #473819;
}
#nav-below .nav-all {
  text-align: center;
}
#nav-below .nav-previous a::before {
  content: "\f100";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color: #00a604;
  margin-right: 0.5em;
}
#nav-below .nav-next {
  text-align: right;
}
#nav-below .nav-next a::after {
  content: "\f101";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color: #00a604;
  margin-left: 0.5em;
}

.gmapWrap {
  margin-bottom: 3em;
}
.gmapWrap:has(iframe) {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
}
.gmapWrap:has(iframe) iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

a.formBtn, a.telBtn {
  color: #473819;
}
a.formBtn img.icon, a.telBtn img.icon {
  border-radius: 100%;
  border: 3px solid #ebe8e3;
  width: 24px;
  height: 24px;
  padding: 4px;
}
a.formBtn:hover img.icon, a.telBtn:hover img.icon {
  border-color: #60992c;
}

.contactBlock {
  display: flex;
  justify-content: space-around;
  gap: 1.5rem;
  flex-direction: column;
}
@media print, screen and (min-width: 1081px) {
  .contactBlock {
    flex-direction: row;
    gap: 1.3rem;
  }
}
.contactBlock > a.telBtn, .contactBlock > a.formBtn {
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  gap: 0.5em;
  display: grid;
  grid-template-columns: auto 1fr;
}
.contactBlock > a.telBtn .text {
  display: grid;
  grid-template-rows: auto auto;
  justify-content: flex-start;
  gap: 2px;
}
.contactBlock > a.telBtn .text .number {
  font-size: 1.7rem;
  line-height: 1;
  font-family: "Jost", sans-serif;
  font-weight: 400;
  letter-spacing: 1px;
}
.contactBlock > a.telBtn .text .hours {
  line-height: 1;
  font-size: 0.6rem;
  font-weight: 600;
  padding-left: 1px;
  letter-spacing: 0.9px;
  font-family: "Jost", sans-serif;
}
.contactBlock > a.formBtn .text {
  display: grid;
  grid-template-rows: auto auto;
  gap: 2px;
}
.contactBlock > a.formBtn .text .form {
  font-size: 1rem;
  font-weight: 600;
  font-family: "Noto Sans JP", sans-serif;
}

/* お茶の楽しみ方 */
body.tea.page-parent .around-menuList li.tea.default a,
body.kissahiden .around-menuList li.kissahiden a,
body.profile.page-parent .around-menuList li.profile.default a,
body.innovator .around-menuList li.innovator a,
body.collaboration .around-menuList li.collaboration a,
body.quality .around-menuList li.quality a,
body.safety .around-menuList li.safety a,
body.needs .around-menuList li.needs a,
body.souzou .around-menuList li.souzou a,
body.info .around-menuList li.info a {
  pointer-events: none;
  text-decoration: none;
  color: #4f9142;
  cursor: default;
  font-weight: bold;
}

/*--------------------------------------------------------------------------------
common parts ul
--------------------------------------------------------------------------------*/
/* 表側と管理画面で指定を分けてあります */
ul,
ol {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

/* === 標準リスト === */
ul.wp-block-list:not([class*=" "]),
ol.wp-block-list:not([class*=" "]) {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding-left: 1.5em;
}
ul.wp-block-list:not([class*=" "]) > li::marker,
ol.wp-block-list:not([class*=" "]) > li::marker {
  color: #473819;
}
ul.wp-block-list:not([class*=" "]) > li ol,
ul.wp-block-list:not([class*=" "]) > li ul,
ol.wp-block-list:not([class*=" "]) > li ol,
ol.wp-block-list:not([class*=" "]) > li ul {
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
}
ul.wp-block-list:not([class*=" "]):not(ol),
ol.wp-block-list:not([class*=" "]):not(ol) {
  list-style-type: disc;
}

ul.wp-block-list[class*=" "] > li ol,
ul.wp-block-list[class*=" "] > li ul,
ol.wp-block-list[class*=" "] > li ol,
ol.wp-block-list[class*=" "] > li ul {
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
}

/* === 個別設定 === */
ul.newsList > li {
  list-style-type: none;
  margin: 0 0 0 0;
  padding: 0.25em 0;
  position: relative;
  width: 100%;
}
ul.newsList > li a {
  line-height: 1.2;
  position: relative;
  display: inline-block;
}
ul.newsList > li a:hover {
  text-decoration: none;
}
ul.newsList > li a span.titleText {
  display: block;
}
ul.newsList > li time.dateText {
  display: block;
  font-size: 75%;
}

ul.archive-newsList {
  padding: 0;
  margin: 0;
}
ul.archive-newsList > li {
  list-style-type: none;
  margin: 0 0 0 0;
  padding: 0.5rem 0.3rem 0.5rem 0.5rem;
  position: relative;
  width: 100%;
  border-bottom: 1px dotted #dddddd;
}
ul.archive-newsList > li a {
  line-height: 1.2;
  position: relative;
  display: block;
  margin-bottom: 0.3rem;
}
ul.archive-newsList > li a:hover {
  text-decoration: none;
}
ul.archive-newsList > li a span.titleText {
  display: block;
}
ul.archive-newsList > li time.dateText {
  font-size: 75%;
}

ul.arrowList {
  padding: 0 0 0 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.3em;
}
ul.arrowList > li {
  list-style: none;
  margin: 0;
  padding: 0 0 0 1.5em;
  position: relative;
}
ul.arrowList > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 10px;
  height: 1px;
  background-color: #64563f;
  transform: translateY(-50%);
}
ul.arrowList > li::after {
  content: "";
  position: absolute;
  left: 0.3em;
  top: 50%;
  width: 5px;
  height: 5px;
  border-top: 1.5px solid #64563f;
  border-right: 1.5px solid #64563f;
  transform: translateY(-50%) rotate(45deg);
}

ul.normalList {
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.3em;
}
ul.normalList > li {
  list-style: none;
  margin: 0;
  padding: 0 0 0 1.5em;
  background: url(../img/listmark3.gif) left 0.5em no-repeat;
}
ul.normalList > li ul {
  margin-top: 0.8em;
  margin-bottom: 0.8em;
}

ul.btnList {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 0;
}
@media print, screen and (min-width: 769px) {
  ul.btnList {
    gap: 2vw;
  }
}
ul.btnList > li {
  list-style: none;
  width: 100%;
}
@media screen and (max-width: 768px) {
  ul.btnList > li:not(:last-child) {
    margin-bottom: 1em;
  }
}
@media print, screen and (min-width: 769px) {
  ul.btnList > li {
    width: calc(50% - 1vw);
  }
}
ul.btnList > li a {
  display: block;
  padding-left: 2em;
  padding-right: 4.5em;
}
ul.btnList > li a::after {
  position: absolute;
  top: calc(50% - 0.1em);
  right: 2em;
  left: auto;
  transform: translateY(-50%);
  margin-left: 0;
}

ul.indexList {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none;
  gap: 0.8em;
  margin-top: 3em;
  margin-bottom: 3em;
}
@media screen and (max-width: 768px) {
  ul.indexList {
    justify-content: flex-start;
  }
}
ul.indexList > li {
  list-style-type: none;
  font-size: 0.8em;
}
ul.indexList > li a {
  font-weight: bold;
  display: inline-block;
  box-sizing: border-box;
  border: 0.1em solid #473819;
  background-color: #473819;
  color: #fff;
  text-decoration: none;
  letter-spacing: 0.05em;
  position: relative;
  cursor: pointer;
  padding: 1.5em 2em;
  line-height: 1;
  vertical-align: middle;
  border-radius: 0.5rem;
}
ul.indexList > li a:hover {
  background-color: #fff;
  color: #473819;
}
ul.indexList > li.current a {
  background-color: #fff;
  color: #473819;
}
ul.indexList > li.current a:hover {
  background-color: #473819;
  color: #fff;
}
ul.indexList.is-style-outline li a {
  background-color: #fff;
  color: #473819;
}
ul.indexList.is-style-outline li a:hover {
  background-color: #473819;
  color: #fff;
}
ul.indexList.is-style-outline li.current a {
  background-color: #473819;
  color: #fff;
}
ul.indexList.is-style-outline li.current a:hover {
  background-color: #fff;
  color: #473819;
}

ul.processList > li {
  list-style-type: none;
  border: 0.1em solid #473819;
  border-radius: 1em;
  padding: 1em;
  box-sizing: border-box;
  width: 100%;
  text-align: center;
  position: relative;
  margin-bottom: 1.5em;
}
ul.processList > li:not(:first-of-type)::before {
  content: "";
  background-color: #473819;
  width: 0.1em;
  height: 1.5em;
  position: absolute;
  left: 50%;
  top: calc(-1.5em - 1px);
  transform: translateX(-50%);
}
ul.processList > li.invert {
  background-color: #473819;
  color: #fff;
}
ul.processList > li.bold {
  font-weight: bold;
}

/*--------------------------------------------------------------------------------
btn
--------------------------------------------------------------------------------*/
.btnArea {
  margin-top: 1.5em;
  margin-bottom: 2em;
}

.btn {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 1em;
}
@media screen and (max-width: 768px) {
  .btn {
    justify-content: center;
  }
}
.btn.center {
  justify-content: center;
}

/* --------------------------------------------------------------------------------
 catset terms
-------------------------------------------------------------------------------- */
.datetermArea {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}

.cat {
  display: inline-block;
}
.cat:not(:only-child) {
  margin-right: 0.5em;
}
.cat:not(:has(a)) {
  min-width: 5em;
  text-align: center;
  font-weight: bold;
  display: inline-block;
  text-decoration: none;
  padding-left: 1em;
  padding-right: 1em;
  padding-top: 0.1em;
  padding-bottom: 0.1em;
  line-height: 1.3;
  margin-top: 0.2em;
  margin-bottom: 0.2em;
  background-color: #fff;
  color: #00a604;
  border: 0.1em solid #00a604;
}
@media screen and (max-width: 768px) {
  .cat:not(:has(a)) {
    font-size: 70%;
    line-height: 1.4em;
  }
}
@media print, screen and (min-width: 769px) {
  .cat:not(:has(a)) {
    font-size: 80%;
  }
}
.cat a {
  font-weight: bold;
  display: inline-block;
  text-decoration: none;
  padding-left: 1em;
  padding-right: 1em;
  padding-top: 0.1em;
  padding-bottom: 0.1em;
  line-height: 1.3;
  margin-top: 0.3em;
  margin-bottom: 0.3em;
  background-color: #ebe1f1;
  color: #333333;
  border: 0.1em solid #ebe1f1;
  border-radius: 1em;
}
.cat a.view::before, .cat a.eat::before, .cat a.buy::before, .cat a.stay::before {
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  margin-right: 0.5em;
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
}

/*--------------------------------------------------------------------------------
contact form
--------------------------------------------------------------------------------*/
/* 送信・確認ボタン */
.btn_submit input,
.wpcf7-submit {
  background: #aaa;
}

.btn_submit input:hover,
.wpcf7-submit:hover {
  background: #333333;
}

.btn_submit input:active,
.wpcf7-submit:active {
  background: #666;
}

/*--------------------------------------------------------------------------------
header
--------------------------------------------------------------------------------*/
header {
  width: 100%;
}
header #mainNavi {
  box-sizing: border-box;
  top: 0;
  left: 0;
  width: 100%;
  padding: 0;
  box-sizing: border-box;
  /* logocolumn */
}
header #mainNavi .logoColumn {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 768px) {
  header #mainNavi .logoColumn {
    height: 14vw;
  }
}
@media print, screen and (min-width: 769px) {
  header #mainNavi .logoColumn {
    height: 8vw;
  }
}
@media print, screen and (min-width: 1081px) {
  header #mainNavi .logoColumn {
    height: auto;
    flex-direction: column;
    margin-bottom: 2rem;
  }
}
@media print, screen and (min-width: 1081px) {
  header #mainNavi .logoColumn .site-titletelformArea {
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
    width: 100%;
    padding: 8px 25px 8px 0;
  }
}
header #mainNavi .logoColumn .site-titletelformArea .titleBlock #site-title {
  margin-top: 0;
  margin-bottom: 0;
}
header #mainNavi .logoColumn .site-titletelformArea .titleBlock #site-title a {
  font-weight: bold;
  text-decoration: none;
  display: block;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  header #mainNavi .logoColumn .site-titletelformArea .titleBlock #site-title a {
    padding: 1.4vw 0 1.4vw 0.8rem;
  }
}
@media print, screen and (min-width: 769px) {
  header #mainNavi .logoColumn .site-titletelformArea .titleBlock #site-title a {
    padding: 0.8vw 0 0.8vw 0.8rem;
  }
}
@media print, screen and (min-width: 1081px) {
  header #mainNavi .logoColumn .site-titletelformArea .titleBlock #site-title a {
    padding: 0;
  }
}
header #mainNavi .logoColumn .site-titletelformArea .titleBlock #site-title a img {
  display: block;
  width: 100%;
}
@media screen and (max-width: 768px) {
  header #mainNavi .logoColumn .site-titletelformArea .titleBlock #site-title a img {
    height: 11.2vw;
  }
}
@media print, screen and (min-width: 769px) {
  header #mainNavi .logoColumn .site-titletelformArea .titleBlock #site-title a img {
    height: 6.4vw;
  }
}
@media print, screen and (min-width: 1081px) {
  header #mainNavi .logoColumn .site-titletelformArea .titleBlock #site-title a img {
    width: 292px;
    height: auto;
  }
}
header #mainNavi .logoColumn .site-namedescriptionutilityArea {
  display: grid;
  grid-template-columns: 220px 670px;
  margin-left: 45px;
  justify-content: space-between;
  margin-right: 15px;
  gap: 15px;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid #b6aea1;
  border-bottom: 1px solid #b6aea1;
  padding-top: 1px;
  padding-bottom: 1px;
}
header #mainNavi .logoColumn .site-namedescriptionutilityArea .nameBlock {
  text-align: center;
  letter-spacing: 1.5px;
  color: #3d311b;
}
header #mainNavi .logoColumn .site-namedescriptionutilityArea .descriptionutilityBlock {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-right: 8px;
}
header #mainNavi .logoColumn .site-namedescriptionutilityArea .descriptionutilityBlock p.descriptionText {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 10px;
  color: #594f3d;
  letter-spacing: 1px;
}
header #mainNavi .logoColumn .site-namedescriptionutilityArea .descriptionutilityBlock .utilityBlock {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 25px;
}
header #mainNavi .logoColumn .site-namedescriptionutilityArea .descriptionutilityBlock .utilityBlock a.topBtn, header #mainNavi .logoColumn .site-namedescriptionutilityArea .descriptionutilityBlock .utilityBlock a.sitemapBtn {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: 90%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.25em;
  color: #473819;
  text-decoration: none;
}
header #mainNavi .logoColumn .site-namedescriptionutilityArea .descriptionutilityBlock .utilityBlock a.topBtn span.icon, header #mainNavi .logoColumn .site-namedescriptionutilityArea .descriptionutilityBlock .utilityBlock a.sitemapBtn span.icon {
  border-radius: 100%;
  border: 2px solid #ebe8e3;
  box-sizing: border-box;
  width: 20px;
  height: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}
header #mainNavi .logoColumn .site-namedescriptionutilityArea .descriptionutilityBlock .utilityBlock a.topBtn span.icon img, header #mainNavi .logoColumn .site-namedescriptionutilityArea .descriptionutilityBlock .utilityBlock a.sitemapBtn span.icon img {
  width: 12px;
  height: 12px;
}
header #mainNavi .logoColumn .site-namedescriptionutilityArea .descriptionutilityBlock .utilityBlock a.topBtn:hover .icon, header #mainNavi .logoColumn .site-namedescriptionutilityArea .descriptionutilityBlock .utilityBlock a.sitemapBtn:hover .icon {
  border-color: #473819;
}
header #mainNavi .logoColumn .menuBtn {
  cursor: pointer;
  box-sizing: border-box;
  border: none;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  z-index: 10000;
  position: fixed;
  top: 0;
  right: 0;
  background-color: #333333;
  color: #fff;
}
@media screen and (max-width: 768px) {
  header #mainNavi .logoColumn .menuBtn {
    width: 14vw;
    height: 14vw;
  }
}
@media print, screen and (min-width: 769px) {
  header #mainNavi .logoColumn .menuBtn {
    width: 8vw;
    height: 8vw;
  }
}
header #mainNavi .logoColumn .menuBtn i {
  display: block;
  font-size: 7vw;
}
@media print, screen and (min-width: 769px) {
  header #mainNavi .logoColumn .menuBtn i {
    font-size: 4vw;
  }
}

/*--------------------------------------------------------------------------------
sidebox
--------------------------------------------------------------------------------*/
@media print, screen and (min-width: 1081px) {
  aside.sidebar {
    margin-left: -44px;
  }
}
aside.sidebar .sidebarInnerArea .pagesList {
  list-style-type: none;
  padding: 0;
  margin: 0 0 0 44px;
  counter-reset: pages-counter;
}
aside.sidebar .sidebarInnerArea .pagesList > li {
  position: relative;
  counter-increment: pages-counter;
  margin-bottom: 1.5rem;
  font-family: "Jost", sans-serif;
  font-family: "Noto Sans JP", sans-serif;
}
aside.sidebar .sidebarInnerArea .pagesList > li > a {
  display: block;
  text-decoration: none;
  color: inherit;
  padding-left: 0.6rem;
  transition: opacity 0.3s;
  padding-left: 2.5rem;
  margin-left: -2.5rem;
  position: relative;
}
aside.sidebar .sidebarInnerArea .pagesList > li > a::before {
  content: counter(pages-counter) ".";
  width: 2.5rem;
  text-align: center;
  position: absolute;
  left: 0;
  top: 0;
  font-weight: 400;
  font-size: 1.8rem;
  color: #00a604;
  font-family: "Jost", sans-serif;
  line-height: 1;
}
aside.sidebar .sidebarInnerArea .pagesList > li > a::after {
  content: "";
  background-color: #473819;
  display: inline-block;
  position: absolute;
  top: 0;
  left: calc(2.5rem - 0.5px);
  width: 2px;
  height: 100%;
}
aside.sidebar .sidebarInnerArea .pagesList > li > a .mainsub {
  padding-left: 0.8rem;
}
aside.sidebar .sidebarInnerArea .pagesList > li > a .mainsub .main {
  display: block;
  font-size: 1.4rem;
  font-weight: bold;
  color: #473819;
  margin-bottom: 0.25rem;
  line-height: 1.2;
}
aside.sidebar .sidebarInnerArea .pagesList > li > a .mainsub .main .small {
  font-size: 80%;
}
aside.sidebar .sidebarInnerArea .pagesList > li > a .mainsub .main .small::after {
  content: "\a";
  white-space: pre;
}
aside.sidebar .sidebarInnerArea .pagesList > li > a .mainsub .sub {
  display: block;
  font-size: 0.6rem;
  color: #00a604;
  font-weight: 500;
  letter-spacing: 0.5px;
}
aside.sidebar .sidebarInnerArea .pagesList > li .child {
  list-style: none;
  padding: 0;
  margin: 0.8rem 0 0 0.8rem;
}
aside.sidebar .sidebarInnerArea .pagesList > li .child li {
  position: relative;
  padding-left: 1.3rem;
  margin-bottom: 0.4rem;
  line-height: 1.2;
}
aside.sidebar .sidebarInnerArea .pagesList > li .child li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 10px;
  height: 1px;
  background-color: #d0c9bf;
  transition: all 0.3s;
  transform: translateY(-50%);
}
aside.sidebar .sidebarInnerArea .pagesList > li .child li::after {
  content: "";
  position: absolute;
  left: 0.3em;
  top: 50%;
  width: 5px;
  height: 5px;
  border-top: 1.5px solid #d0c9bf;
  border-right: 1.5px solid #d0c9bf;
  transform: translateY(-50%) rotate(45deg);
  opacity: 0;
  transition: all 0.3s;
}
aside.sidebar .sidebarInnerArea .pagesList > li .child li:hover::before, body.tea aside.sidebar .sidebarInnerArea .pagesList > li .child li.tea.default::before, body.tea-parent.kissahiden aside.sidebar .sidebarInnerArea .pagesList > li .child li.kissahiden::before, body.profile aside.sidebar .sidebarInnerArea .pagesList > li .child li.profile.default::before, body.profile-parent.innovator aside.sidebar .sidebarInnerArea .pagesList > li .child li.innovator::before, body.profile-parent.collaboration aside.sidebar .sidebarInnerArea .pagesList > li .child li.collaboration::before, body.profile-parent.quality aside.sidebar .sidebarInnerArea .pagesList > li .child li.quality::before, body.profile-parent.safety aside.sidebar .sidebarInnerArea .pagesList > li .child li.safety::before, body.profile-parent.needs aside.sidebar .sidebarInnerArea .pagesList > li .child li.needs::before, body.profile-parent.souzou aside.sidebar .sidebarInnerArea .pagesList > li .child li.souzou::before, body.profile-parent.info aside.sidebar .sidebarInnerArea .pagesList > li .child li.info::before {
  background-color: #473819;
}
aside.sidebar .sidebarInnerArea .pagesList > li .child li:hover::after, body.tea aside.sidebar .sidebarInnerArea .pagesList > li .child li.tea.default::after, body.tea-parent.kissahiden aside.sidebar .sidebarInnerArea .pagesList > li .child li.kissahiden::after, body.profile aside.sidebar .sidebarInnerArea .pagesList > li .child li.profile.default::after, body.profile-parent.innovator aside.sidebar .sidebarInnerArea .pagesList > li .child li.innovator::after, body.profile-parent.collaboration aside.sidebar .sidebarInnerArea .pagesList > li .child li.collaboration::after, body.profile-parent.quality aside.sidebar .sidebarInnerArea .pagesList > li .child li.quality::after, body.profile-parent.safety aside.sidebar .sidebarInnerArea .pagesList > li .child li.safety::after, body.profile-parent.needs aside.sidebar .sidebarInnerArea .pagesList > li .child li.needs::after, body.profile-parent.souzou aside.sidebar .sidebarInnerArea .pagesList > li .child li.souzou::after, body.profile-parent.info aside.sidebar .sidebarInnerArea .pagesList > li .child li.info::after {
  opacity: 1;
  border-color: #473819;
}
aside.sidebar .sidebarInnerArea .pagesList > li .child li:hover a, body.tea aside.sidebar .sidebarInnerArea .pagesList > li .child li.tea.default a, body.tea-parent.kissahiden aside.sidebar .sidebarInnerArea .pagesList > li .child li.kissahiden a, body.profile aside.sidebar .sidebarInnerArea .pagesList > li .child li.profile.default a, body.profile-parent.innovator aside.sidebar .sidebarInnerArea .pagesList > li .child li.innovator a, body.profile-parent.collaboration aside.sidebar .sidebarInnerArea .pagesList > li .child li.collaboration a, body.profile-parent.quality aside.sidebar .sidebarInnerArea .pagesList > li .child li.quality a, body.profile-parent.safety aside.sidebar .sidebarInnerArea .pagesList > li .child li.safety a, body.profile-parent.needs aside.sidebar .sidebarInnerArea .pagesList > li .child li.needs a, body.profile-parent.souzou aside.sidebar .sidebarInnerArea .pagesList > li .child li.souzou a, body.profile-parent.info aside.sidebar .sidebarInnerArea .pagesList > li .child li.info a {
  color: #473819;
}
aside.sidebar .sidebarInnerArea .pagesList > li .child li a {
  display: block;
  text-decoration: none;
  color: #64563f;
  font-size: 0.8rem;
  transition: color 0.3s;
  font-weight: bold;
}
@media print, screen and (min-width: 769px) {
  body.tax-newslist aside.sidebar .sidebarInnerArea .pagesList > li.news > a.parent, body.single-news aside.sidebar .sidebarInnerArea .pagesList > li.news > a.parent, body.post-type-archive-news aside.sidebar .sidebarInnerArea .pagesList > li.news > a.parent, body.employ aside.sidebar .sidebarInnerArea .pagesList > li.employ > a.parent, body.shop aside.sidebar .sidebarInnerArea .pagesList > li.shop > a.parent, body.nakajima aside.sidebar .sidebarInnerArea .pagesList > li.prnakajimaofile > a.parent, body.oem aside.sidebar .sidebarInnerArea .pagesList > li.oem > a.parent, body.tea-parent aside.sidebar .sidebarInnerArea .pagesList > li.tea > a.parent, body.tea aside.sidebar .sidebarInnerArea .pagesList > li.tea > a.parent, body.profile-parent aside.sidebar .sidebarInnerArea .pagesList > li.profile > a.parent, body.profile aside.sidebar .sidebarInnerArea .pagesList > li.profile > a.parent {
    background-color: #f7f6f5;
  }
  aside.sidebar .sidebarInnerArea .pagesList li > a.parent:hover {
    background-color: #f7f6f5;
  }
}
aside.sidebar .sidebarInnerArea .bannerArea {
  margin: 0 0 0 44px;
  padding: 0 0 0 8px;
}
aside.sidebar .sidebarInnerArea .bannerArea ul.bannerList {
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
aside.sidebar .sidebarInnerArea .bannerArea ul.bannerList li a {
  display: block;
}
aside.sidebar .sidebarInnerArea .bannerArea ul.bannerList li a img {
  vertical-align: bottom;
}
aside.sidebar .sidebarInnerArea .bannerArea p.description {
  font-size: 85%;
  line-height: 1.5;
}
aside.sidebar .sidebarInnerArea .bannerArea .linkArea p.title {
  margin-bottom: 0;
  font-weight: bold;
  color: #473819;
}

/*--------------------------------------------------------------------------------
toggleMenu
--------------------------------------------------------------------------------*/
.toggleMenuWrap {
  display: none;
  position: absolute;
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  z-index: 9999;
}

@media print, screen and (min-width: 1081px) {
  #subMenuWrap {
    display: none;
  }
}
#subMenuWrap #subMenu {
  position: relative;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  #subMenuWrap #subMenu {
    padding-top: 14vw;
    z-index: 999;
    height: 100dvh;
    overflow-y: auto;
    width: 100%;
    box-sizing: border-box;
  }
}
@media print, screen and (min-width: 769px) {
  #subMenuWrap #subMenu {
    padding-top: 8vw;
    right: 0;
    height: 100dvh;
    overflow-y: auto;
  }
}
#subMenuWrap #subMenu .submenu-dotlineArea {
  background-image: linear-gradient(to bottom, #b6aea1 50%, transparent 50%);
  background-position: 44px 0;
  background-repeat: repeat-y;
  background-size: 1px 2px;
}
#subMenuWrap #subMenu aside.sidebar ul li .small::after {
  display: none;
}
@media screen and (max-width: 768px) {
  #subMenuWrap #subMenu aside.sidebar ul.pagesList li ul.child li a {
    font-size: 120%;
  }
}
#subMenuWrap #subMenu .telformBlock {
  display: flex;
  justify-content: center;
  flex-direction: column-reverse;
  padding: 1rem 1rem 1.5rem 1rem;
}

/*--------------------------------------------------------------------------------
pagetitle
--------------------------------------------------------------------------------*/
.pagetitle {
  width: 100%;
}

/*--------------------------------------------------------------------------------
breadcrumbList
--------------------------------------------------------------------------------*/
div.breadcrumbList {
  color: #473819;
  font-size: 10px;
  text-align: right;
  padding: 1em;
}
div.breadcrumbList a {
  color: #473819;
}
div.breadcrumbList a.home {
  position: relative;
  padding-left: 2em;
}
div.breadcrumbList a.home::before {
  content: "";
  background-image: url(../img/icon_top.svg);
  background-repeat: no-repeat;
  background-size: 12px 12px;
  background-position: center center;
  width: 2em;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
}
div.breadcrumbList span {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}
div.breadcrumbList span:nth-child(n+2) {
  position: relative;
  padding-left: 2em;
}
div.breadcrumbList span:nth-child(n+2)::before {
  content: "";
  background-image: url(../img/icon_breadcrumb.png);
  background-repeat: no-repeat;
  background-size: 3px 5px;
  background-position: center center;
  width: 2em;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
}

/*--------------------------------------------------------------------------------
footer
--------------------------------------------------------------------------------*/
.totopBtn {
  position: relative;
  display: inline-block;
  cursor: pointer;
  font-weight: bold;
  text-align: right;
  margin-bottom: 1.5em;
  box-sizing: border-box;
  padding-right: 10px;
  color: #473819;
  width: 100%;
}
.totopBtn::after {
  margin-left: 5px;
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  background-image: url(../img/icon_arrow-top.svg);
  background-repeat: no-repeat;
  background-position: center;
}
@media print, screen and (min-width: 1081px) {
  .totopBtn {
    width: 965px;
  }
}

footer {
  background-color: #2d2d2d;
  color: #fff;
  padding: 1em 1em 2em 1em;
  border-top: 3px solid #00a604;
}
footer a {
  color: #fff;
  text-decoration: none;
}
footer .footerWrap {
  margin: 0 auto;
}
@media print, screen and (min-width: 1081px) {
  footer .footerWrap {
    width: 965px;
  }
}
footer .footerWrap .footer-infoutilityArea {
  display: flex;
  margin-bottom: 2.5em;
  flex-direction: column;
  position: relative;
  gap: 2em;
}
footer .footerWrap .footer-infoutilityArea::after {
  content: "";
  display: inline-block;
  width: 106px;
  height: 160px;
  background-image: url(../img/framefoot_point.png);
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: -2em;
  right: 0;
}
@media print, screen and (min-width: 1081px) {
  footer .footerWrap .footer-infoutilityArea {
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
    padding-right: 120px;
  }
  footer .footerWrap .footer-infoutilityArea > {
    width: 50%;
  }
}
footer .footerWrap .footer-infoutilityArea .siteinfoBlock p.description {
  margin: 0 0 0.5em 0;
  padding: 0;
  color: #808080;
  font-size: 10px;
}
@media screen and (max-width: 768px) {
  footer .footerWrap .footer-infoutilityArea .siteinfoBlock p.description {
    font-size: clamp(0.5rem, 2.2vw, 10px);
  }
}
footer .footerWrap .footer-infoutilityArea .siteinfoBlock a.sitelogo {
  color: #fff;
  display: flex;
  gap: 0.5em;
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  footer .footerWrap .footer-infoutilityArea .siteinfoBlock a.sitelogo {
    flex-direction: column;
  }
}
@media print, screen and (min-width: 769px) {
  footer .footerWrap .footer-infoutilityArea .siteinfoBlock a.sitelogo {
    align-items: center;
    flex-direction: row;
  }
}
footer .footerWrap .footer-infoutilityArea .siteinfoBlock a.sitelogo img.sitelogo-white {
  width: 60%;
}
@media print, screen and (min-width: 769px) {
  footer .footerWrap .footer-infoutilityArea .siteinfoBlock a.sitelogo img.sitelogo-white {
    width: 18em;
  }
}
@media print, screen and (min-width: 1081px) {
  footer .footerWrap .footer-infoutilityArea .siteinfoBlock a.sitelogo img.sitelogo-white {
    width: 200px;
  }
}
footer .footerWrap .footer-infoutilityArea .siteinfoBlock a.sitelogo span.en {
  font-size: 18px;
}
@media print, screen and (min-width: 1081px) {
  footer .footerWrap .footer-infoutilityArea .siteinfoBlock a.sitelogo span.en {
    font-size: 20px;
  }
}
footer .footerWrap .footer-infoutilityArea ul.utilitymenuList {
  display: flex;
  gap: 1em;
  list-style-type: none;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 768px) {
  footer .footerWrap .footer-infoutilityArea ul.utilitymenuList {
    flex-direction: column;
  }
}
@media print, screen and (min-width: 769px) {
  footer .footerWrap .footer-infoutilityArea ul.utilitymenuList {
    align-items: center;
    flex-direction: row;
  }
}
footer .footerWrap .footer-infoutilityArea ul.utilitymenuList li a {
  list-style-type: none;
  display: flex;
  align-items: center;
  gap: 0.3em;
}
footer .footerWrap .footer-infoutilityArea ul.utilitymenuList li a .icon {
  background-color: #fff;
  border-radius: 100%;
  border: 2px solid #ebe8e3;
  box-sizing: border-box;
  width: 20px;
  height: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}
footer .footerWrap .footer-infoutilityArea ul.utilitymenuList li a .icon img {
  width: 12px;
  height: 12px;
}
footer .footerWrap .footer-infoutilityArea ul.utilitymenuList li a:hover {
  text-decoration: underline;
}
footer .footerWrap .footer-menuArea {
  margin-bottom: 2.5em;
}
footer .footerWrap .footer-menuArea ul {
  display: grid;
  grid-template-columns: repeat(4, 190px);
  margin-bottom: 2em;
  gap: 1em;
  list-style-type: none;
  padding: 0;
  margin: 0;
}
footer .footerWrap .footer-menuArea ul li {
  border-left: solid 1px #838383;
  padding-left: 1em;
}
footer .footerWrap .footer-menuArea ul li p {
  margin: 0;
  padding: 0;
  color: #cecece;
}
footer .footerWrap .footer-copyArea {
  font-size: 10px;
}
footer .footerWrap .footer-copyArea p {
  margin: 0;
}
@media screen and (max-width: 768px) {
  footer .footerWrap .footer-copyArea p {
    text-align: center;
  }
}

/*--------------------------------------------------------------------------------
wp-pagenavi
--------------------------------------------------------------------------------*/
.wp-pagenavi {
  display: block;
  margin: 2rem 0 0 0;
  padding: 0;
  text-align: center;
  /* ページ数表示 (例: "Page 1 of 5") */
  /* a / span 共通 */
  /* hover（a のみ） */
  /* 現在ページ */
}
.wp-pagenavi .pages {
  margin: 0 0.3em;
  width: auto;
  background: #00a604;
  border: 0.1em solid #00a604;
  color: #473819;
}
.wp-pagenavi a,
.wp-pagenavi span {
  display: inline-block;
  min-width: 1em;
  padding: 0.3em 0.6em;
  margin: 0 0.3em;
  vertical-align: middle;
  text-decoration: none;
  background-color: #eeeeee;
  color: #473819;
  border: 1px solid #ebe8e3;
}
.wp-pagenavi a:hover {
  background-color: #00a604;
  color: #fff;
  border-color: #00a604;
}
.wp-pagenavi span.current {
  font-weight: bold;
  background: #00a604;
  color: #fff;
  border-color: #00a604;
}

/*--------------------------------------------------------------------------------
select
--------------------------------------------------------------------------------*/
/* select */
select {
  font-size: 1em;
  width: 100%;
  padding: 0.8em 1.2em;
  box-sizing: border-box;
  color: #333333;
  background-color: #fff;
  cursor: pointer;
  /* 枠線：Chrome の左だけ太い問題を避けるためシンプルに */
  border: 1px solid #dddddd;
  border-radius: 0.3rem;
  /* テキストが長いときの対策 */
  white-space: nowrap;
  overflow: visible; /* ← ドロップダウンが欠けるバグ対策 */
  text-overflow: ellipsis;
  /* ▼ アイコン */
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  background-image: url("../img/chevron-down-solid.svg");
  background-repeat: no-repeat;
  background-size: 0.8em auto;
  background-position: right 1em center;
}

/*---------------------------
  select ラッパー（カテゴリ選択など）
---------------------------*/
.selectWrap {
  display: inline-flex;
  align-items: center;
  position: relative;
  width: 100%;
}
.selectWrap select {
  min-width: 12em;
}

/*---------------------------
  option 行
---------------------------*/
option {
  padding: 0.4em 0.6em;
  font-size: 1em;
  line-height: 1.6; /* 行の高さを安定させる */
}

/*--------------------------------------------------------------------------------
contact form お問い合わせ
--------------------------------------------------------------------------------*/
form > p {
  margin-bottom: 2em;
}

img.ajax-loader {
  display: inline-block;
}

.wpcf7-spinner {
  display: none;
}

.grecaptcha-badge {
  visibility: hidden;
}

form .width50 {
  width: 100%;
}
@media print, screen and (min-width: 1081px) {
  form .width50 {
    width: 50%;
  }
}
form .width80 {
  width: 100%;
}
@media print, screen and (min-width: 1081px) {
  form .width80 {
    width: 80%;
  }
}
form .width100 {
  width: 100%;
}
@media print, screen and (min-width: 1081px) {
  form .width100 {
    width: 100%;
  }
}

.formArea {
  /* catalog */
}
.formArea dl {
  border-bottom: 1px solid #c8c0b4;
  border-left: 1px solid #c8c0b4;
  border-right: 1px solid #c8c0b4;
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 2em;
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  flex-direction: column;
}
@media print, screen and (min-width: 769px) {
  .formArea dl {
    flex-direction: row;
  }
}
.formArea dl dt,
.formArea dl dd {
  margin: 0;
  padding: 0.8rem 1rem;
  position: relative;
  font-weight: 500;
  box-sizing: border-box;
}
.formArea dl dt p:not([class]):last-of-type,
.formArea dl dd p:not([class]):last-of-type {
  margin-bottom: 0;
}
.formArea dl dt {
  display: flex;
  align-items: center;
  background-color: #f7f6f4;
  border-top: 1px solid #c8c0b4;
  padding-top: 1em;
  padding-bottom: 1em;
  padding-right: 5em;
}
@media print, screen and (min-width: 769px) {
  .formArea dl dt {
    width: 35%;
    border-right: 1px solid #c8c0b4;
  }
}
.formArea dl dt span.noneed,
.formArea dl dt span.need {
  position: absolute;
  right: 0;
  top: 1em;
  right: 1rem;
}
@media print, screen and (min-width: 769px) {
  .formArea dl dt span.noneed,
.formArea dl dt span.need {
    top: 50%;
    transform: translateY(-50%);
  }
}
.formArea dl dd {
  border-top: 1px solid #c8c0b4;
}
@media print, screen and (min-width: 769px) {
  .formArea dl dd {
    width: 65%;
  }
}
.formArea dl dd .description {
  font-size: 90%;
}
.formArea dl dd .red {
  color: #e53935;
}
.formArea dl dd span {
  display: block;
}
.formArea dl dd span.wpcf7-form-control-wrap {
  margin-top: 0.3rem;
  margin-bottom: 0.3rem;
}
.formArea dl dd .contact-method {
  border-top: 1px dotted #c8c0b4;
  padding-top: 0.6rem;
  margin-top: 1rem;
}
.formArea dl dd .contact-method .radio-label {
  font-weight: bold;
}
.formArea dl dd div.postalCode {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 0.5em;
  gap: 0.8em;
}
.formArea dl dd.inquirytypeRadio {
  display: flex;
  align-items: center;
}
.formArea dl dd.inquirytypeRadio label {
  line-height: 2;
}
.formArea dl dd.inquirytypeRadio span.wpcf7-list-item {
  display: block;
}
.formArea dl dd.seibetsuRadio {
  display: flex;
  align-items: center;
}
.formArea dl dd.seibetsuRadio label {
  line-height: 2;
}
.formArea dl dd.seibetsuRadio span.wpcf7-list-item:nth-child(1) span.wpcf7-list-item-label::after {
  content: "／";
  margin-left: 1em;
  margin-right: 1em;
}
.formArea .acceptanceArea {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1em;
}
.formArea .acceptanceArea input[type=checkbox] {
  margin: 0;
  border: solid 1px #c8c0b4;
}
.formArea .wpcf7-spinner {
  display: none;
}

.form-group {
  margin-top: 2em;
  margin-bottom: 2em;
  /* ダークモードを無効化 */
}
.form-group label {
  display: flex;
  align-items: center;
  gap: 0.8em;
}
.form-group > label {
  margin-bottom: 0.5em;
}
.form-group select,
.form-group input:not([type=radio]):not([type=checkbox]) {
  margin: 0.5em 0;
}
.form-group .wpcf7-radio,
.form-group .radio-group {
  display: grid;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  gap: 0 0.8em;
}
.form-group .wpcf7-radio .wpcf7-list-item,
.form-group .wpcf7-radio .radio-option,
.form-group .radio-group .wpcf7-list-item,
.form-group .radio-group .radio-option {
  margin: 0.5em 0;
  border: #ccc;
  border-radius: 0.3rem;
  position: relative;
}
.form-group .wpcf7-radio .wpcf7-list-item label,
.form-group .wpcf7-radio .wpcf7-list-item input[type=radio],
.form-group .wpcf7-radio .radio-option label,
.form-group .wpcf7-radio .radio-option input[type=radio],
.form-group .radio-group .wpcf7-list-item label,
.form-group .radio-group .wpcf7-list-item input[type=radio],
.form-group .radio-group .radio-option label,
.form-group .radio-group .radio-option input[type=radio] {
  cursor: pointer;
}
.form-group .wpcf7-radio .wpcf7-list-item label,
.form-group .wpcf7-radio .radio-option label,
.form-group .radio-group .wpcf7-list-item label,
.form-group .radio-group .radio-option label {
  padding: 0.5em 0.8em;
  display: flex;
  align-items: center;
  gap: 0.8em;
  width: 100%;
}
.form-group input[type=radio] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #f8f8f8 !important; /* 強制適用 */
  width: 1em;
  height: 1em;
  border-radius: 50%;
  display: inline-block;
  vertical-align: middle;
  padding: 0.4em;
  border: 1px solid #bbbbbb;
  padding: 0.6em;
  /* チェック時のスタイル */
}
.form-group input[type=radio]:checked {
  background-color: #fff !important; /* チェック時の色 */
  box-shadow: inset 0 0 0 5px #00a604;
}
@media (prefers-color-scheme: dark) {
  .form-group input[type=radio] {
    background-color: #f8f8f8 !important; /* ダークモードで固定 */
    border: 1px solid #bbbbbb;
  }
  .form-group input[type=radio]:checked {
    background-color: #fff !important; /* ダークモードで固定 */
  }
}
.form-group .wpcf7-checkbox,
.form-group .checkbox-group {
  display: block;
  position: relative;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}
.form-group .wpcf7-checkbox .wpcf7-list-item,
.form-group .wpcf7-checkbox .radio-option,
.form-group .checkbox-group .wpcf7-list-item,
.form-group .checkbox-group .radio-option {
  border: #ccc;
  border-radius: 0.3rem;
  margin: 0.5em 0;
  padding: 0.5em 1em 0.5em 0.8em;
  position: relative;
}
.form-group .wpcf7-checkbox .wpcf7-list-item label,
.form-group .wpcf7-checkbox .radio-option label,
.form-group .checkbox-group .wpcf7-list-item label,
.form-group .checkbox-group .radio-option label {
  cursor: pointer;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.8em;
}
@media print, screen and (min-width: 769px) {
  .form-group .flex-group {
    display: flex;
    gap: 0.8em;
    margin-bottom: 0.5em;
    align-items: center;
  }
}
@media print, screen and (min-width: 769px) {
  .form-group .flex-group.postalcode {
    align-items: flex-start;
  }
  .form-group .flex-group.postalcode p.hint {
    padding-top: 1.25em;
  }
}

/* 個別設定 */
/*入力エラー*/
.wpcf7-not-valid, .wpcf7-not-valid > .wpcf7-list-item {
  border-color: #e53935 !important;
}

.wpcf7-not-valid-tip {
  color: #e53935;
  display: block;
  font-weight: 500;
  margin-top: 0.3em;
}

/*記入に関してのお願い*/
.sendArea {
  margin: 4em 0 4em 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
}
.sendArea label {
  margin-bottom: 2em;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.8em;
}
.sendArea label span.privacyLink {
  line-height: 1.5;
}
.sendArea .form-actionsArea {
  display: flex;
  gap: 1em;
}
.sendArea .editBtn,
.sendArea .submitBtn {
  vertical-align: middle;
  font-weight: bold;
  display: inline-block;
  box-sizing: border-box;
  text-decoration: none;
  letter-spacing: 0.05em;
  position: relative;
  border-radius: 0.6em;
  cursor: pointer;
  padding: 0.8em 2.5em;
  width: 10em;
}
@media screen and (max-width: 768px) {
  .sendArea .editBtn,
.sendArea .submitBtn {
    width: 100%;
  }
}
.sendArea .submitBtn {
  border: 0.1em solid #00a604;
  background-color: #00a604;
  color: #fff;
}
.sendArea .submitBtn:hover {
  background-color: #fff;
  color: #00a604;
}

/*--------------------------------------------------------------------------------
print
--------------------------------------------------------------------------------*/
@media print {
  html body {
    margin-top: 0;
  }
  html body #wrapper::before {
    background-size: 1pt 2pt !important;
    -webkit-print-color-adjust: exact !important;
    color-adjust: exact !important;
         print-color-adjust: exact !important;
  }
  html header {
    position: relative;
  }
  html header .telformBlock {
    display: block !important;
  }
}