.food-item {
    border: 1px solid #cccccc;
}
.parent ul{
      display: none;
    }
    .active {
      background-color: lightgreen;
    }
    .active ul {
      display: block;
    }

.bold_red {
  color: #cf4343;
  font-weight: bold;
}

 .fs-c-list li{
margin-bottom: 10px;
}

.menu-icon {
  fill: #ffffff;
}


@font-face {
  font-family: 'icomoon';
  src:  url('?p49qxy');
  src:  url('?p49qxy#iefix') format('embedded-opentype'),
    url('?p49qxy') format('truetype'),
    url('?p49qxy') format('woff'),
    url('?p49qxy#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-cat-food:before {
  content: "\e901";
}
.icon-cat-icon:before {
  content: "\e900";
}

*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 62.5%;
}

.btn,
a.btn,
button.btn {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}

a.btn-border {
  margin-bottom: 12px;
  padding: 0;

  -webkit-transition: all 0.3s;

  transition: all 0.3s;

  border-radius: 0;
}

a.btn-border span {
  position: relative;

  display: block;

  padding: 1.25rem 3rem;

  color: #000;
  border: 2px solid #000;
  border-radius: 0.5rem;
  background: #fff;
}

a.btn-border:before {
  position: absolute;
  bottom: -8px;
  left: 0;

  display: block;

  width: 100%;
  height: 14px;

  content: "";
  -webkit-transition: all 0.3s;
  transition: all 0.3s;

  border: 2px solid #000;
  border-top: 1px solid #000;
  border-radius: 0 0 0.5rem 0.5rem;
  background-image: -webkit-repeating-linear-gradient(
    135deg,
    #000,
    #000 1px,
    transparent 2px,
    transparent 5px
  );
  background-image: repeating-linear-gradient(
    -45deg,
    #000,
    #000 1px,
    transparent 2px,
    transparent 5px
  );
  background-size: 7px 7px;

  -webkit-backface-visibility: hidden;

  backface-visibility: hidden;
}

a.btn-border:hover {
  -webkit-transform: translate(0, 3px);
  transform: translate(0, 3px);
}

a.btn-border:hover:before {
  bottom: -5px;
}

a.btn-border:active {
  -webkit-transform: translate(0, 7px);
  transform: translate(0, 7px);
}

a.btn-border:active:before {
  bottom: -1px;
}

  /* --- 要素横並び　外枠の定義 ---------------------------------------------*/
.box {
  margin         : auto;                 /* サンプル用 中央寄せ */
  box-sizing     : border-box;           /* 罫線も含む長さ      */
  background     : #fff;                 /* BOXの背景色         */
 
  width          : 880px;                /* BOXの幅             */
 
  animation: boxAnime 10s linear infinite alternate;

  /* ▼ FlexBoxの定義 */
  display        : flex;                 /* FlexBox定義         */
  flex-wrap      : wrap;                 /* 折り返し定義        */
}


 /* --- 個別のBOXの定義 --------------------------------------- */
div.group01{border-bottom:1px solid #35557f; }
.box div {
  box-sizing     : border-box;           /* 罫線も含む長さ      */

  max-height 　: 500px;                 /* サンプルBOXの幅     */
  max-width          : 400px;                 /* サンプルBOXの幅     */

  margin         : 2px;                  /* サンプルBOXの間     */
  /* ▼ FlexBoxの各ボックス均等自動幅 */
  flex-grow      : 1;                    /* 各BOXを均等に割当て */
}

.clearfix::after {
    content: " ";
    display: block;
    clear: both;
}

/* a  支援ボタンのスタイル */
.s-button a{
  color: inherit;
  text-decoration: none;
 color: #ffffff;
    font-size: large;
    font-weight: bold;
}

.buttonIconText {
  display: flex;
  gap: 8px;
  align-items: center;
  width: 100%;
  max-width: 320px;
  height: 64px;
  padding: 8px 64px 8px 8px;
  font-family: sans-serif;
  font-size: 16px;
  color: #fff;
  text-align: center;
  overflow-wrap: anywhere;
  background-color: #B71C1C;
  border-radius: 32px; /* (buttonの高さ / 2) の値 */
}

.buttonIconText__reverse {
  flex-direction: row-reverse;
  padding: 8px 8px 8px 64px;
}

.buttonIconText_icon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 48px;
  aspect-ratio: 1;
  overflow: hidden;
}

.buttonIconText_text {
  flex-shrink: 1;
  width: 100%;
}

@media (any-hover: hover) {
  .buttonIconText {
    transition: background-color 0.2s;
  }

  .buttonIconText_icon {
    transition: transform 0.2s;
  }

  .buttonIconText:hover {
    background-color: #192168;
  }

  .buttonIconText:hover .buttonIconText_icon {
    transform: translateX(4px);
  }

  .buttonIconText:hover .buttonIconText_icon__left {
    transform: translateX(-4px);
  }
}

/* 左矢印アイコンのスタイル */
.iconArrowLeft {
  rotate: 180deg;
}

/* map */
.geolonia-svg-map
{
 max-width: 700px;
}

.geolonia-svg-map .prefecture
{
  fill: #f7f7f7;
  stroke: #666666;
  cursor: pointer;
}

.geolonia-svg-map .boundary-line
{
  stroke: #999999;
}

h3.hogolist{
margin-left: 3rem;
padding: 1rem 2rem;
border-top: solid 1px #889fbd;
border-bottom: solid 1px #889fbd;
max-width: 350px;
}

/* アコーディオン */
details {
  border: 1px solid #ccc;
}
details:not(:last-child) {
  margin-bottom: 20px;
}

/**
 * list-style: none; ←デフォルト三角削除（Chrome非対応）
 * cursor: pointer; ←カーソルをポインターに
**/
details summary {
  list-style: none;
  cursor: pointer;
  padding: 20px;
  background: #3a417c;
  color: #ffffff;
  font-size: 2rem;
  font-weight: bold;
}
/**
 * Chrome用のデフォルト三角削除
**/
details summary::-webkit-details-marker {
  display: none;
}

details summary::before {

   content: "";
  background-color: #dedede;
  display: inline-block;
  height: 3rem;
  width: 3rem;
  -webkit-mask: url("https://genkichi.itembox.design/item/icon-plus.svg?t=20240316183751");
  mask: url("https://genkichi.itembox.design/item/icon-plus.svg?t=20240316183751g");
  -webkit-mask-size: cover;
  mask-size: cover;
  vertical-align: middle;
 margin-right: 10px;
}
/**
 * アコーディオンがオープン時はマイナスアイコンに変更
**/
details[open] summary::before {
    content: "";
  background-color: #dedede;
  display: inline-block;
  height: 3rem;
  width: 3rem;
  -webkit-mask: url("https://genkichi.itembox.design/item/icon-minus.svg?t=20240316183751");
  mask: url("https://genkichi.itembox.design/item/icon-minus.svg?t=20240316183751g");
  -webkit-mask-size: cover;
  mask-size: cover;
  vertical-align: middle;
  margin-right: 10px;
}
details p {
  margin: 0;
  padding: 20px;
}