/*Xロゴ変更*/
/*
.fa-twitter:before {
  content: "𝕏";
  font-weight: bold;
}*/

/*地図ジャンプ用*/
#map_geo {
  position: relative; /* fixed なら relative に変更 */
  z-index: 1000; /* 他の要素より前面に */
  cursor: pointer;
}

/*巡礼道説明表示*/
.rect_red {
  display: inline-block;
  margin: 0 5px;
  width: 30px;
  height: 12px;
  border: 1px solid black;
  background-color: #ff0000;
} /*赤*/
/*地理院地図表示*/
.rect_limegreen {
  display: inline-block;
  margin: 0 5px;
  width: 30px;
  height: 12px;
  border: 1px solid black;
  background-color: #91ff00;
} /*緑*/
/*地理院地図表示*/
.rect_orange {
  display: inline-block;
  margin: 0 5px;
  width: 30px;
  height: 12px;
  border: 1px solid black;
  background-color: #fb8a00;
} /*オレンジ*/
/*地理院地図表示*/
.rect_yellow {
  display: inline-block;
  margin: 0 5px;
  width: 30px;
  height: 12px;
  border: 1px solid black;
  background-color: #ffff00;
} /*黃*/

/*クマップ用*/
.rect_thinred {
  display: inline-block;
  margin: 0 5px;
  width: 30px;
  height: 12px;
  border: 1px solid black;
  background-color: #ffe5e5;
} /*赤*/

.gr_darkred {
  background-color: #ff4e46 !important;
} /*黄緑*/

.gr_green {
  background-color: #7cb342 !important;
} /*黄緑*/

.gr_orange {
  background-color: #ff9900 !important;
} /*橙*/

.gr_thinred {
  background-color: #ffe5e5 !important;
} /*橙*/

.gr_sage {
  background-color: #444e2b !important;
} /*セージグリーン*/

.gr_sage a {
  color: white;
  /*text-decoration: none;*/
}

/* 背景色指定と白文字に強制  */
.cat005 {
  background-color: #ff9900 !important;
  padding: 0 0 0 10px !important;
}

/*****citeタグをブロック要素*****/
cite {
  display: block;
}

/*******下三角設定***************/
.triangle_y {
  width: 100%;
  position: relative;
  color: #000;
  text-align: center;
  padding: 10px;
  background-color: #dda54f;
}
.triangle_y::after {
  width: 0;
  height: 0;
  position: absolute;
  top: 100%;
  left: 50%;
  margin: 0 0 0 -5px;
  border: 10px solid transparent;
  border-top-color: #dda54f;
  content: "";
}

.triangle_g {
  width: 100%;
  position: relative;
  color: #fff;
  text-align: center;
  padding: 10px;
  background-color: #6b8e23;
}
.triangle_g::after {
  width: 0;
  height: 0;
  position: absolute;
  top: 100%;
  left: 50%;
  margin: 0 0 0 -5px;
  border: 10px solid transparent;
  border-top-color: #6b8e23;
  content: "";
}
.triangle_g a {
  color: white;
  /*text-decoration: none;*/
}

.triangle_s {
  width: 100%;
  position: relative;
  color: #fff;
  text-align: center;
  padding: 10px;
  background-color: #444e2b;
}
.triangle_s::after {
  width: 0;
  height: 0;
  position: absolute;
  top: 100%;
  left: 50%;
  margin: 0 0 0 -5px;
  border: 10px solid transparent;
  border-top-color: #444e2b;
  content: "";
}
.triangle_s a {
  color: white;
  /*text-decoration: none;*/
}

/*******画像ぼかし背景処理*******/
.bgcontainer {
  position: relative;
}

.bg_black {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%; /* 画像と同じ幅 */
  height: 100%; /* 画像と同じ高さ */
  background-color: rgba(0, 0, 0, 0.5);
}

/*******table幅調整*******/
.thw25 {
  width: 25%;
}

.thw33 {
  width: 33%;
}

.thw50 {
  width: 50%;
}

/*******テキスト装飾*******/
.line_del {
  text-decoration: none;
}

/*******白字背景色紫*******/
.bg_purple {
  background-color: #a260bf !important;
  padding: 0 3px;
}

/*******白字背景色赤*******/
.bg_red {
  display: inline-block;
  margin: 0 5px;
  width: 30px;
  height: 30px;
  background: #ff4e46;
  color: #fff;
  font-size: 25px;
  text-align: center;
}

/*******赤字背景色黄*******/
.bg_yellow {
  display: inline-block;
  margin: 0 5px;
  width: 30px;
  height: 30px;
  background: #ffbb00;
  color: #f63636;
  font-size: 25px;
  text-align: center;
}

/*******footer修正*******/
.widget_nav_menu .keni-section ul li a {
  padding: 5px 10px 5px 28px;
}

.widget_nav_menu .keni-section ul li a::before {
  top: 13px;
}

/*******h1修正*******/
.backgred {
  background: #ff4e46;
  color: #fff;
  margin: 0 0 23px !important;
  padding: 10px 10px 5px !important;
}

/*******透明度変更*******/
.gr_lime50 {
  background-color: rgba(185, 196, 47, 0.5) !important;
} /*黄緑*/

.rect_lime50 {
  display: inline-block;
  margin: 0 5px;
  width: 30px;
  height: 12px;
  border: 1px solid black;
  background-color: rgba(185, 196, 47, 0.5);
} /*黄緑*/

/*******メール設定*******/
/* メール */
input {
  background-color: #eeeeee;
}

select {
  border-style: inset; /* google chrom用 */
  border-width: 2px; /* google chrom用 */
  background-color: #eeeeee;
}

textarea {
  border-style: inset; /* google chrom用 */
  border-width: 2px; /* google chrom用 */
  background-color: #eeeeee;
  resize: none;
} /* google chrom用 */

/* メールエラー */
.error-message {
  background-color: #ffcccc;
}

p.error-inst {
  color: #ff0000;
  margin-top: 0;
  margin-bottom: 0;
}

/* アコーディオン処理 */
.accordion-list p::after {
  font-family: "keni8-icons" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.accordion-list p {
  margin: 0 25px 0 0;
  padding: 3px 30px;
  background: #595959;
  color: #fff;
}

.accordion-list p::after {
  font-weight: bold;
  margin-left: 30px;
  font-size: 16px;
}

.accordion-list p::after {
  content: "\e903";
}

.accordion-list .accordion-list_btn_open::after {
  content: "\e906";
}

/*---------------------*/
/*  osm-map button装飾
/*---------------------*/

.osmbutton button {
  background-color: #f4f4f4; /* 標準のグレー e8e8e8 */
  color: #000; /* 文字色 */
  border: 1px solid #a9a9a9; /* ボーダー */
  padding: 2px 10px; /* 余白 */
  font-size: 0.9em;
  cursor: pointer;
  border-radius: 5px; /* 角丸 */
  transition: background-color 0.3s ease; /* なめらかな色変化 */
}
.osmbutton button:hover {
  background-color: #e8e8e8; /* オンマウス時に少し暗くf4f4f4 */
}

/*-------------------*/
/*  hotel表示 PC
/*-------------------*/
.hotel_block {
  text-align: center;
  height: 480px;
}

.hotel_block .btn {
  padding: 1em 2em;
}

.hotel_block p {
  margin: 0 !important;
  line-height: 1.6em;
}

.name_blockInner {
  margin-top: 5px;
  height: 80px;
}

.img_blockInner {
  text-align: center;
}

.img_blockInner img {
  height: 120px;
}

/*-------------------*/
/*  サイトマップ装飾
/*-------------------*/

.site_map-top {
  background-color: #e6ffe6 !important;
  border-left: solid 15px #1fa67a !important;
  border-right: solid 2px #dadada;
  border-bottom: solid 2px #dadada;
  border-top: solid 1px #dadada;
}

/* リストの最初のアイテムにスタイルを適用 */
.site_map > li:first-child {
  color: #404040;
  border-left: solid 15px #1fa67a;
  border-bottom: solid 2px #dadada;
  background: whitesmoke;
  margin-bottom: 5px;
  line-height: 1.5;
  padding: 0.5em;
  list-style-type: none !important;
  font-weight: bold;
}

/* リストの2番目、3番目、... のアイテムにスタイルを適用 */
.site_map > li:nth-child(n + 2) {
  color: #404040;
  border-left: solid 15px #1fa67a;
  border-bottom: solid 2px #dadada;
  background: whitesmoke;
  margin-bottom: 5px;
  line-height: 1.5;
  padding: 0.5em;
  list-style-type: none !important;
  font-weight: bold;
}

/* サブリストの最初のアイテムにスタイルを適用 */
.site_map2 > li:first-child {
  color: #404040;
  border-left: solid 15px yellowgreen;
  border-right: solid 2px #dadada;
  border-bottom: solid 2px #dadada;
  border-top: solid 1px #dadada;
  background-color: #f6fbd8;
  margin-bottom: 5px;
  line-height: 1.5;
  padding: 0.5em;
  list-style-type: none !important;
  font-weight: bold;
}

/* サブリストの2番目、3番目、... のアイテムにスタイルを適用 */
.site_map2 > li:nth-child(n + 2) {
  color: #404040;
  border-left: solid 15px yellowgreen;
  border-right: solid 2px #dadada;
  border-bottom: solid 2px #dadada;
  border-top: solid 1px #dadada;
  background-color: #f6fbd8;
  margin-bottom: 5px;
  line-height: 1.5;
  padding: 0.5em;
  list-style-type: none !important;
  font-weight: bold;
}

/* サブリストの最初のアイテムにスタイルを適用 */
.site_map3 > li:first-child {
  color: #404040;
  border-left: solid 15px #00aeef;
  border-right: solid 2px #dadada;
  border-bottom: solid 2px #dadada;
  border-top: solid 1px #dadada;
  background-color: #e3ecef;
  margin-top: 5px;
  margin-bottom: 5px;
  line-height: 1.5;
  padding: 0.5em;
  list-style-type: none !important;
  font-weight: bold;
}

/* サブリストの2番目、3番目、... のアイテムにスタイルを適用 */
.site_map3 > li:nth-child(n + 2) {
  color: #404040;
  border-left: solid 15px #00aeef;
  border-right: solid 2px #dadada;
  border-bottom: solid 2px #dadada;
  border-top: solid 1px #dadada;
  background-color: #e3ecef;
  margin-bottom: 5px;
  line-height: 1.5;
  padding: 0.5em;
  list-style-type: none !important;
  font-weight: bold;
}

.site_map3 {
  margin: 0 0 0 1.5em;
}

.site_map4-top {
  background-color: #fff5e6 !important;
  border-left: solid 15px #ff9900 !important;
  border-right: solid 2px #dadada;
  border-bottom: solid 2px #dadada;
  border-top: solid 1px #dadada;
}

/* サブリストの最初のアイテムにスタイルを適用 */
.site_map4 > li:first-child {
  color: #404040;
  border-left: solid 15px #ff9900;
  border-bottom: solid 2px #dadada;
  border-top: solid 1px #dadada;
  background-color: whitesmoke;
  margin-top: 5px;
  margin-bottom: 5px;
  line-height: 1.5;
  padding: 0.5em;
  list-style-type: none !important;
  font-weight: bold;
}

/* サブリストの2番目、3番目、... のアイテムにスタイルを適用 */
.site_map4 > li:nth-child(n + 2) {
  color: #404040;
  border-left: solid 15px #ff9900;
  border-bottom: solid 2px #dadada;
  border-top: solid 1px #dadada;
  background-color: whitesmoke;
  margin-bottom: 5px;
  line-height: 1.5;
  padding: 0.5em;
  list-style-type: none !important;
  font-weight: bold;
}

/* サブリストの最初のアイテムにスタイルを適用 */
.site_map5 > li:first-child {
  color: #404040;
  border-left: solid 15px #c778fa;
  border-right: solid 2px #dadada;
  border-bottom: solid 2px #dadada;
  border-top: solid 1px #dadada;
  background-color: #f6e8ff;
  margin-bottom: 5px;
  line-height: 1.5;
  padding: 0.5em;
  list-style-type: none !important;
  font-weight: bold;
}

/* サブリストの2番目、3番目、... のアイテムにスタイルを適用 */
.site_map5 > li:nth-child(n + 2) {
  color: #404040;
  border-left: solid 15px #c778fa;
  border-right: solid 2px #dadada;
  border-bottom: solid 2px #dadada;
  border-top: solid 1px #dadada;
  background-color: #f6e8ff;
  margin-bottom: 5px;
  line-height: 1.5;
  padding: 0.5em;
  list-style-type: none !important;
  font-weight: bold;
}

.site_map6-top {
  background-color: #ffe6ea !important;
  border-left: solid 15px #ff4e46 !important;
  border-right: solid 2px #dadada;
  border-bottom: solid 2px #dadada;
  border-top: solid 1px #dadada;
}

/* サブリストの最初のアイテムにスタイルを適用 */
.site_map6 > li:first-child {
  color: #404040;
  border-left: solid 15px #ff4e46;
  border-bottom: solid 2px #dadada;
  border-top: solid 1px #dadada;
  background-color: whitesmoke;
  margin-top: 5px;
  margin-bottom: 5px;
  line-height: 1.5;
  padding: 0.5em;
  list-style-type: none !important;
  font-weight: bold;
}

/* サブリストの2番目、3番目、... のアイテムにスタイルを適用 */
.site_map6 > li:nth-child(n + 2) {
  color: #404040;
  border-left: solid 15px #ff4e46;
  border-bottom: solid 2px #dadada;
  border-top: solid 1px #dadada;
  background-color: whitesmoke;
  margin-bottom: 5px;
  line-height: 1.5;
  padding: 0.5em;
  list-style-type: none !important;
  font-weight: bold;
}

/* サブリストの最初のアイテムにスタイルを適用 */
/*
.site_map7 > li:first-child {
  color: #404040;
  border-left: solid 15px #ffd400;
  border-right: solid 2px #dadada;
  border-bottom: solid 2px #dadada;
  border-top: solid 1px #dadada;
  background-color: #fffdf2;
  margin-bottom: 5px;
  line-height: 1.5;
  padding: 0.5em;
  list-style-type: none !important;
  font-weight: bold;
}*/

/* サブリストの2番目、3番目、... のアイテムにスタイルを適用 */
/*
.site_map7 > li:nth-child(n + 2) {
  color: #404040;
  border-left: solid 15px #ffd400;
  border-right: solid 2px #dadada;
  border-bottom: solid 2px #dadada;
  border-top: solid 1px #dadada;
  background-color: #fffdf2;
  margin-bottom: 5px;
  line-height: 1.5;
  padding: 0.5em;
  list-style-type: none !important;
  font-weight: bold;
}*/

/* サブリストの最初のアイテムにスタイルを適用 */
/*
.site_map8 > li:first-child {
  color: #404040;
  border-left: solid 15px pink;
  border-right: solid 2px #dadada;
  border-bottom: solid 2px #dadada;
  border-top: solid 1px #dadada;
  background-color: #fef5f0;
  margin-bottom: 5px;
  line-height: 1.5;
  padding: 0.5em;
  list-style-type: none !important;
  font-weight: bold;
}*/

/* サブリストの2番目、3番目、... のアイテムにスタイルを適用 */
/*
.site_map8 > li:nth-child(n + 2) {
  color: #404040;
  border-left: solid 15px pink;
  border-right: solid 2px #dadada;
  border-bottom: solid 2px #dadada;
  border-top: solid 1px #dadada;
  background-color: #fef5f0;
  margin-bottom: 5px;
  line-height: 1.5;
  padding: 0.5em;
  list-style-type: none !important;
  font-weight: bold;
}*/

/* 札所メニュー */
.fno-30_width {
  display: none;
}

.fno-25_width {
  display: block;
}

.nocontainer ul {
  list-style-type: none;
  margin: 0 0 1em 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
}

.nocontainer ul li {
  margin-right: 5px;
}

/* 画面幅が768ピクセル以上の場合 */
@media (min-width: 768px) {
  /* タブレット以上向けスタイル */
  .fno-30_width {
    display: block;
  }

  .fno-25_width {
    display: none;
  }

  .nocontainer ul {
    flex-direction: row;
  }

  .mobile-only {
    display: none;
  }
}

/* 画面幅が575ピクセル以下の場合 */
@media (max-width: 575px) {
  /* スマホ向けスタイル */
  .mobile-only {
    position: relative;
    display: block;
    background-color: #ceb849;
    margin: 5px;
    padding: 5px;
    text-align: center;
  }
  .mobile-only::after {
    content: "";
    position: absolute;
    bottom: 5px;
    right: 5px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 12px 12px;
    border-color: transparent transparent #333 transparent;
  }
  .nocontainer ul {
    display: grid;
  }

  .grid-container {
    grid-template-columns: repeat(7, 1fr); /* 4列 (n列) */
  }

  /* グリッドアイテム */
  .grid-container li {
    margin: 0 !important;
    background-color: #f0f0f0; /* 背景色 */
    border: 1px solid #ccc; /* 境界線 */
    text-align: center; /* テキストを中央揃え */
    padding: 3px 16px; /* 内側の余白 */
  }
}

/* aタグの装飾を消す*/
.a_no-line {
  text-decoration: none;
  color: #505050;
}

/* aタグの幅を調整
.a-link_200 {
    display: block; 
    width: 220px;   
    text-align: justify;
    text-justify: inter-word;
}

.a-link_200:after {
    content: '';
    display: inline-block;
    width: 100%;
}
*/
/*　スクロール
.marquee {
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    box-sizing: border-box;
}

.marquee span {
    display: inline-block;
    padding-left: 100%;
    animation: marquee 10s linear infinite;
}

@keyframes marquee {
    0% {
transform: translateX(0);
    }
    100% {
transform: translateX(-100%);
    }
}
*/
