@charset "UTF-8";
/*
Theme Name:   地域型ポータルサイト
Description:  地域型ポータルサイトテーマ
Author:       Bootscore
Author URI:   https://bootscore.me
Template:     bootscore
Version:      6.0.0
Requires at least: 5.0
Tested up to: 6.6
Requires PHP: 7.4
License: MIT License
License URI: https://github.com/bootscore/bootscore-child/blob/main/LICENSE
Text Domain:  bootscore
*/
/* All style editing is done via /assets/scss/_bootscore_custom.scss */
/*-------------------------------------------*/
/*  変数
/*-------------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Cardo:ital,wght@0,400;0,700;1,400&family=Noto+Sans+JP:wght@300;400;500;600;700;900&family=Zen+Kaku+Gothic+New:wght@400;500;700;900&family=Noto+Serif+JP:wght@300;400;500;600;700;900&family=Oswald:wght@400;700&family=Roboto:ital,wght@0,400;0,500;0,700;0,900;1,400;1,700;1,900&family=Zen+Maru+Gothic:wght@300;400;500;700;900&family=Potta+One&family=Murecho:wght@100..900&display=swap");
:root,
[data-bs-theme=light] {
  --bs-body-color: #333333;
  --bs-body-color-rgb: 51, 51, 51;
  --bs-secondary: #7e7e7e;
  --bs-secondary-rgb: 126, 126, 126;
  --bs-nav-link-font-size: 0.85rem;
  --bs-link-color: #739be4;
  --bs-link-color-rgb: 115, 155, 228;
  --bs-link-hover-color: #4472c9;
  --bs-link-hover-color-rgb: 68, 114, 201;
}

.table {
  --bs-table-bg: transparent;
}

/*-------------------------------------------*/
/*  初期設定
/*-------------------------------------------*/
body {
  font-family: "Murecho", "Zen Kaku Gothic New", "Noto Sans JP", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji", sans-serif;
  font-size: clamp(0.813rem, 0.55rem + 0.6vw, 1.2rem);
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.05em;
  color: #222222;
  overflow-x: hidden;
}
main {
  --sb-track-color: #cecece;
  --sb-thumb-color: #6bc0ff;
  --sb-size: 10px;
  scrollbar-color: var(--sb-thumb-color) var(--sb-track-color);
}
main *::-webkit-scrollbar {
  width: var(--sb-size);
}
main *::-webkit-scrollbar-track {
  background: var(--sb-track-color);
  border-radius: var(--sb-size);
}
main *::-webkit-scrollbar-thumb {
  background: var(--sb-thumb-color);
  border-radius: var(--sb-size);
}

.sans-serif,
.sans-serif * {
  font-family: "Murecho", "Zen Kaku Gothic New", "Noto Sans JP", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji", sans-serif !important;
}

.serif,
.serif * {
  font-family: "Noto Serif JP", "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif !important;
}

.Noto-sans {
  font-family: "Noto Sans JP", sans-serif !important;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.Noto-serif {
  font-family: "Noto Serif JP", serif !important;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.ZenKaku {
  font-family: "Zen Kaku Gothic New", sans-serif !important;
  font-weight: 400;
  font-style: normal;
}

.ZenKaku {
  font-family: "Zen Kaku Gothic New", sans-serif !important;
  font-weight: 400;
  font-style: normal;
}

.ZenMaru {
  font-family: "Zen Maru Gothic", sans-serif !important;
  font-weight: 400;
  font-style: normal;
}

.Murecho {
  font-family: "Murecho", sans-serif !important;
  font-weight: 400;
  font-style: normal;
}

.PottaOne {
  font-family: "Potta One", system-ui !important;
  font-weight: 400;
  font-style: normal;
}

.Roboto,
.Roboto * {
  font-family: "Roboto", sans-serif !important;
}

.Oswald,
.Oswald * {
  font-family: "Oswald", sans-serif !important;
}

.Cardo,
.Cardo * {
  font-family: "Cardo", serif !important;
}

.fw-bold,
strong,
b {
  font-weight: 700;
}

small,
.small {
  font-size: 0.875em !important;
}

.wp-caption .wp-caption-text {
  color: var(--bs-secondary);
  font-size: 0.875em;
  margin: 0.5em 0 0.8075em;
}

/*-------------------------------------------*/
/*  Header
/*-------------------------------------------*/
.navbar-brand img {
  max-height: 100px;
  max-width: 65vw !important;
}

/*---------- ナビ ----------*/
header .navbar-nav {
  --bs-nav-link-font-size: 1.1em;
  --bs-nav-link-padding-x: 0.7em;
  --bs-nav-link-padding-y: 0.1em;
  --bs-navbar-nav-link-padding-x: 0.5em;
}
@media only screen and (min-width: 992px) {
  header .navbar-nav .nav-item {
    border-right: #333 1px solid;
  }
  header .navbar-nav .nav-item:first-child {
    border-left: #333 1px solid;
  }
}
header .navbar-nav .nav-item {
  line-height: 1.5;
}

.dropdown-menu {
  --bs-dropdown-font-size: 1.5em;
  --bs-dropdown-border-radius: 0;
  --bs-dropdown-link-active-color: #212529;
  --bs-dropdown-link-active-bg: #ffffff;
  --bs-dropdown-link-hover-color: #0f1216;
  --bs-dropdown-link-hover-bg: #d1d1d1;
  --bs-dropdown-border-width: 0;
}

#offcanvas-navbar[class*=show] .navbar-nav {
  --bs-nav-link-color: #333333;
  --bs-nav-link-hover-color: #333333;
  --bs-navbar-active-color: #333333;
  --bs-nav-link-font-size: 1rem;
  --bs-nav-link-padding-y: 0.3em;
}

.btn-close {
  --bs-btn-close-bg: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="%23000" ><path d="M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z"/></svg>');
  width: 1.5em;
  height: 1.5em;
  background: transparent var(--bs-btn-close-bg) center/1.5em auto no-repeat;
}

#offcanvas-navbar.offcanvas {
  --bs-offcanvas-bg: #ffffff;
  --bs-offcanvas-padding-x: 2em;
  --bs-offcanvas-padding-y: 2em;
  --bs-offcanvas-width: min(90vw, 480px) !important;
}
@media only screen and (max-width: 1200px) {
  #offcanvas-navbar.offcanvas {
    transition: transform 1.2s ease-in-out !important;
  }
}
#offcanvas-navbar.offcanvas .offcanvas-body {
  font-size: 0.875em;
}
#offcanvas-navbar.offcanvas.show .offcanvas-body .dropdown-menu {
  --bs-dropdown-font-size: 1em;
  --bs-dropdown-color: #ffffff;
  --bs-dropdown-link-color: #ffffff;
  --bs-dropdown-link-active-color: #ffffff;
  --bs-dropdown-link-hover-color: #ffffff;
  --bs-dropdown-bg: transparent;
  --bs-dropdown-link-active-bg: transparent;
  --bs-dropdown-link-hover-bg: transparent;
}

/*-------------------------------------------*/
/*  フッター
/*-------------------------------------------*/
footer#footer {
  background-color: #68bbff;
}
footer#footer *,
footer#footer a:link,
footer#footer a:visited {
  color: #ffffff;
}
footer#footer .active a,
footer#footer a:hover,
footer#footer a:active,
footer#footer .menu-item a[aria-current=page] {
  color: #ffffff;
}
footer#footer .nav-link {
  padding: 0.15rem 1rem;
}

/*-------------------------------------------*/
/*  single page
/*-------------------------------------------*/
.posted-on {
  color: #333333;
}

p.category-badge {
  display: inline-block;
}

.category-badge a {
  border-radius: 0.25rem !important;
}

/*-------------------------------------------*/
/*  ページャー
/*-------------------------------------------*/
ul.pagination,
ul.lcp_paginator {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  padding: 0;
  font-size: 0.875em;
}
ul.pagination li,
ul.lcp_paginator li {
  margin: 0 0.2em;
  padding: 0;
  border: none;
  border-radius: 50%;
  line-height: 1.4;
}
ul.pagination li a,
ul.lcp_paginator li a {
  padding: 0.3em 0.7em;
  display: block;
  overflow: hidden;
  float: left;
  list-style: none;
  color: #222;
  text-decoration: none;
  background-color: transparent;
  border: none;
  transition: transform 0.3s ease;
}
ul.pagination li,
ul.lcp_paginator li {
  /*&:first-child {
    border-top-left-radius: 0.3em;
    border-bottom-left-radius: 0.3em;
  }
  &:last-child {
    border-top-right-radius: 0.3em;
    border-bottom-right-radius: 0.3em;
  }*/
}
ul.pagination li:hover:not(.active):not(.lcp_currentpage),
ul.lcp_paginator li:hover:not(.active):not(.lcp_currentpage) {
  transform: scale(1.2);
}
ul.pagination li.active .page-link, ul.pagination li.lcp_currentpage,
ul.lcp_paginator li.active .page-link,
ul.lcp_paginator li.lcp_currentpage {
  padding: 0.3em 0.7em;
  color: #fff;
  background-color: #4d4d4d;
  border: none;
  border-radius: 50%;
  transform: scale(1.2);
}

div.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  padding: 0;
}
div.pagination .page-numbers {
  margin: 0 0.5em;
  padding: 0;
  border: none;
  border-radius: 50%;
  line-height: 1.2;
  /*&:first-child {
    border-top-left-radius: 0.3em;
    border-bottom-left-radius: 0.3em;
  }
  &:last-child {
    border-top-right-radius: 0.3em;
    border-bottom-right-radius: 0.3em;
  }*/
}
div.pagination .page-numbers:hover:not(.current) {
  transform: scale(1.2);
}
div.pagination .page-numbers.current {
  padding: 0.3em 0.7em;
  color: #fff;
  background-color: #4d4d4d;
  border: none;
  border-radius: 50%;
  transform: scale(1.2);
}
div.pagination a {
  padding: 0.3em 0.7em;
  display: block;
  overflow: hidden;
  float: left;
  list-style: none;
  color: #222;
  text-decoration: none;
  background-color: transparent;
  border: none;
  transition: transform 0.3s ease;
}

/*-------------------------------------------*/
/*  見出し
/*-------------------------------------------*/
main h1:first-child,
main h2:first-child,
main h3:first-child,
main h4:first-child,
main h5:first-child,
main h6:first-child {
  margin-top: 0;
}
main h1,
main .h1 {
  font-size: clamp(1.3rem, 1.5rem + 0.9vw, 2.7rem);
}
main h1.entry-title,
main .h1.entry-title {
  font-size: clamp(1.2rem, 1rem + 0.9vw, 1.8rem);
}
main h2,
main .h2 {
  font-size: clamp(1.2rem, 1.25rem + 0.6vw, 2.2rem);
}
main h3,
main .h3 {
  font-size: clamp(1.1rem, 1rem + 0.5vw, 1.85rem);
}
main h4,
main .h4 {
  font-size: clamp(1rem, 0.85rem + 0.5vw, 1.5rem);
}
main h5,
main .h5 {
  font-size: clamp(0.85rem, 0.673rem + 0.5vw, 1.25rem);
}
main h6,
main .h6 {
  font-size: clamp(0.813rem, 0.55rem + 0.6vw, 1.2rem);
}

/*-------------------------------------------*/
/*  ボックス
/*-------------------------------------------*/
.box01 {
  margin: 2em 0;
  position: relative;
  padding: 0.5em 1.5em;
  border-top: solid 2px black;
  border-bottom: solid 2px black;
}
.box01:before, .box01:after {
  content: "";
  position: absolute;
  top: -10px;
  width: 2px;
  height: calc(100% + 20px);
  background-color: black;
}
.box01:before {
  left: 10px;
}
.box01:after {
  right: 10px;
}
.box01 p {
  margin: 0;
  padding: 0;
}

.box02 {
  margin: 20px auto;
  padding: 20px;
  background-color: transparent;
  border: 2px solid #343434;
  position: relative;
}
.box02::after {
  content: "";
  background-color: #e1eef5;
  width: 100%;
  height: 100%;
  position: absolute;
  top: -7px;
  left: 7px;
  z-index: -1;
}

.box03 {
  position: relative;
  margin: 2em 0;
  padding: 1em 1.2em 0.7em;
  border: solid 3px #66baff;
  border-radius: 8px;
}
.box03 .box-title {
  position: absolute;
  display: inline-block;
  top: -13px;
  left: 10px;
  padding: 0 9px;
  line-height: 1;
  font-size: 19px;
  background: #fff;
  color: #66baff;
  font-weight: bold;
}
.box03 p {
  margin: 0;
  padding: 0;
}

.box04 {
  position: relative;
  margin: 3.6em 0 2em 0;
  padding: 0.7em 1.2em;
  border: solid 3px #66baff;
}
.box04 .box-title {
  position: absolute;
  display: inline-block;
  top: calc(-1.6em - 3px);
  left: -3px;
  padding: 0.3em 0.5em;
  height: 1.6em;
  line-height: 1em;
  font-size: 1em;
  background: #66baff;
  color: #ffffff;
  font-weight: bold;
  border-radius: 5px 5px 0 0;
}
.box04 p {
  margin: 0;
  padding: 0;
}

.box05 {
  margin: 20px auto 20px 20px;
  padding: 20px;
  border: 2px solid #4d5045;
}
.box05 .box-title {
  position: relative;
  left: -40px;
  background-color: #6e7362;
  color: #fff;
  padding: 0.5em 1em;
  margin: 0 0 1em 0;
  width: 100%;
  font-size: 20px;
  font-weight: bold;
}
.box05 p {
  margin: 0;
  padding: 0;
}

.box06 {
  position: relative;
  padding: 0.5em 0.7em;
  margin: 2em 0;
  background: #e6f4ff;
  color: #5c98d4;
  font-weight: bold;
}
.box06:after {
  position: absolute;
  content: "";
  top: 100%;
  left: 30px;
  border: 15px solid transparent;
  border-top: 15px solid #e6f4ff;
  width: 0;
  height: 0;
}
.box06 p {
  margin: 0;
  padding: 0;
}

/* マスキングテープ風 */
.box07 {
  position: relative; /* タイトルをボックス内の左上に配置するための基準 */
  margin: 3rem auto 2rem; /* 外側の余白（上下と中央配置） */
  background-color: #fffed9; /*ボックス背景色*/
}
.box07 .box-title {
  background-image: repeating-linear-gradient(-45deg, #ffe3dc 0, #ffe3dc 3px, #fafafa 3px, #fafafa 6px); /*ストライプ*/
  transform: rotate(-2deg); /* テープの傾き */
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.1); /*テープ影*/
  padding: 0.5em 1em; /* タイトルの余白 */
  line-height: 1; /* タイトルの行の高さ */
  position: absolute; /* 親要素の左上に固定 */
  top: -1em; /* 上端に配置 */
  left: 1em; /* 左端に配置 */
  display: inline-block; /* タイトルの幅を内容に合わせる */
  font-size: 1.3em; /* タイトルのフォントサイズ */
  width: auto; /* タイトル幅を内容に応じて可変にする */
  max-width: calc(100% - 2em); /* 左右の余白を考慮して最大幅を調整 */
  white-space: nowrap; /* タイトルを1行に固定 */
  overflow: hidden; /* はみ出した部分を非表示 */
  text-overflow: ellipsis; /* 省略記号（...）を表示 */
}
.box07 .box-content {
  padding: 2.5em 2em 2em; /* コンテンツ内の余白 */
}

.headding01 {
  color: #ffffff;
  margin: 1em 0;
  padding: 0.5em 1em;
  background: #84cee3;
}

.headding02 {
  text-align: center;
}
.headding02:after {
  content: "";
  height: 2px;
  width: 3.5em;
  margin: 10px auto;
  display: block;
  border-radius: 2.5px;
  background: #222222;
}

.headding03 {
  color: #222222;
  text-align: center;
  margin-top: 1em;
  padding: 0.7em 1.5em;
  background: #3d2520;
  position: static;
}
.headding03:after {
  background: none;
}

.headding04 {
  color: #222222;
  background-color: transparent;
  background-image: radial-gradient(#dbbb51 14%, transparent 24%), radial-gradient(#dbbb51 14%, transparent 24%);
  background-position: 0 0, 3px 3px;
  background-size: 6px 6px;
}

.headding05 {
  overflow: hidden;
  position: relative;
  padding-bottom: 0.3em;
}
.headding05:before {
  content: "";
  border-bottom: 3px solid #1b7692;
  bottom: 0;
  height: 0;
  position: absolute;
  width: 100%;
  z-index: 0;
}
.headding05:after {
  border-bottom: 3px solid #ddd;
  bottom: 0;
  content: "";
  position: absolute;
  width: 100%;
  z-index: 1;
}

.headding06 {
  position: relative;
  display: inline-block;
  padding: 0 1em;
}
.headding06:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: inline-block;
  width: 1em;
  height: 2px;
  background-color: #999;
  transform: rotate(60deg);
}
.headding06:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  display: inline-block;
  width: 1em;
  height: 2px;
  background-color: #999;
  transform: rotate(-60deg);
}

.balloon-left {
  --balloon-left-bg: #cdf7ad;
  position: relative;
  display: inline-block;
  margin: 1.5em 0 1.5em 15px;
  padding: 7px 10px;
  min-width: 120px;
  max-width: 100%;
  background: var(--balloon-left-bg);
  box-sizing: border-box;
  border-radius: 15px;
}
.balloon-left:before {
  content: "";
  position: absolute;
  top: 50%;
  left: -24px;
  margin-top: -12px;
  border: 12px solid transparent;
  border-right: 12px solid var(--balloon-left-bg);
  z-index: 2;
}
.balloon-left:after {
  content: "";
  position: absolute;
  top: 50%;
  left: -30px;
  margin-top: -14px;
  border: 14px solid transparent;
  border-right: 14px solid transparent;
  z-index: 1;
}
.balloon-left .balloon-inner {
  margin: 0;
  padding: 0 1em;
}

/*-------------------------------------------*/
/*  ボックス
/*-------------------------------------------*/
.bottom-5c-box {
  background-image: linear-gradient(to right, #edc7cc 0%, #edc7cc 20%, #a0c6dc 20%, #a0c6dc 40%, #9dceab 40%, #9dceab 60%, #ffce94 60%, #ffce94 80%, #e597a9 80%, #e597a9 100%);
  /* 帯の高さと位置を指定 */
  background-size: 100% 5px; /* 帯の太さ（例: 10px） */
  background-repeat: no-repeat;
  background-position: bottom;
}

/*-------------------------------------------*/
/*  ボタン
/*-------------------------------------------*/
/* ぼよよんするボタン */
.boyoyon-btn {
  display: inline-block;
  text-decoration: none;
  cursor: pointer;
  outline: none;
  transition: transform 0.5s ease-out;
}
.boyoyon-btn:hover {
  transform: scale(0.95);
}
.boyoyon-btn:not(:hover) {
  animation: boyoyon 0.5s ease-out;
}

@keyframes boyoyon {
  0% {
    transform: scale(0.95);
  }
  40% {
    transform: scale(1.05);
  } /* 少し大きく（伸びる） */
  60% {
    transform: scale(0.98);
  } /* 少し小さく（縮む） */
  80% {
    transform: scale(1.02);
  } /* また少し大きく */
  100% {
    transform: scale(1);
  } /* 元に戻る */
}
.boyoyon-btn-loop {
  display: inline-block;
  text-decoration: none;
  cursor: pointer;
  outline: none;
  transition: transform 0.5s ease-out;
}
.boyoyon-btn-loop:hover {
  transform: scale(0.95);
}
.boyoyon-btn-loop:not(:hover) {
  animation: boyoyon-loop 3s ease-out infinite;
}

@keyframes boyoyon-loop {
  0% {
    transform: scale(0.95);
  }
  10% {
    transform: scale(1.05);
  } /* 少し大きく（伸びる） */
  20% {
    transform: scale(0.98);
  } /* 少し小さく（縮む） */
  30% {
    transform: scale(1.02);
  } /* また少し大きく */
  40% {
    transform: scale(1);
  } /* 元に戻る */
  100% {
    transform: scale(1);
  } /* 元に戻る */
}
/*-------------------------------------------*/
/*  ホバーエフェクト
/*-------------------------------------------*/
.hover-toTrns {
  opacity: 1;
  transition-duration: 0.5s;
}
.hover-toTrns:hover {
  opacity: 0.3;
}

.hover-trnsTo {
  opacity: 0.3;
  transition-duration: 0.5s;
}
.hover-trnsTo:hover {
  opacity: 1;
}

.hover-toBlur {
  filter: blur(0);
  transition-duration: 0.5s;
}
.hover-toBlur:hover {
  filter: blur(3px);
}

.hover-blurTo {
  filter: blur(3px);
  transition-duration: 0.5s;
}
.hover-blurTo:hover {
  filter: blur(0);
}

.hover-toGray {
  filter: blur(0);
  transition-duration: 0.5s;
}
.hover-toGray:hover {
  filter: grayscale(1);
}

.hover-grayTo {
  filter: grayscale(1);
  transition-duration: 0.5s;
}
.hover-grayTo:hover {
  filter: grayscale(0);
}

.hover-zoom-in {
  overflow: hidden;
}
.hover-zoom-in img {
  transition-duration: 0.5s;
  margin: 0;
}
.hover-zoom-in img:hover {
  transform: scale(1.1, 1.1);
}

.hover-zoom-in-card {
  overflow: hidden;
}
.hover-zoom-in-card .card {
  transition-duration: 0.5s;
  margin: 0;
}
.hover-zoom-in-card .card:hover img.card-img {
  opacity: 75% !important;
  transform: scale(1.1, 1.1);
  transition-duration: 0.5s;
}

.hover-zoom-out {
  overflow: hidden;
}
.hover-zoom-out img {
  transition-duration: 0.5s;
  transform: scale(1.1, 1.1);
  margin: 0;
}
.hover-zoom-out img:hover img.card-img {
  opacity: 75% !important;
  transform: scale(1, 1);
  transition-duration: 0.5s;
}

.grayscaleTo,
.grayscaleTo img {
  transition: all 0.3s;
  filter: grayscale(0.9);
}
.grayscaleTo:hover,
.grayscaleTo img:hover {
  filter: grayscale(0);
}

.toGrayscale,
.toGrayscale img {
  transition: all 0.3s;
  filter: grayscale(0);
}
.toGrayscale:hover,
.toGrayscale img:hover {
  filter: grayscale(0.9);
}

.hover-marker-outer .hover-marker {
  display: inline;
  background-image: linear-gradient(90deg, #fcf69f, #fcf69f); /* マーカーの色を指定 */
  background-repeat: no-repeat;
  background-position: left bottom; /* マーカーの発生位置を左下に設定 */
  background-size: 0 40%; /* マーカーの横幅 / 縦幅 */
  transition: all 0.8s ease; /* マーカーを引く速度 */
  cursor: pointer; /* ホバー時のカーソルをポインターにする */
}
.hover-marker-outer:hover .hover-marker {
  background-size: 100% 40%; /* マーカーの横幅 / 縦幅 */
}

/*-------------------------------------------*/
/*  リストスタイル
/*-------------------------------------------*/
/* デフォルトの●を消して大きな●にする */
ul.circle-l {
  list-style: none;
  padding-left: 1.2em;
}
ul.circle-l li {
  position: relative;
}
ul.circle-l li::before {
  content: "●";
  position: absolute;
  left: -1.2em;
  top: 0;
  font-size: 1em;
}
ul.circle-l.list-blue li::before {
  color: #5db5e7;
}

/* ()付きのナンバーリスト */
ol.parentheses {
  padding-left: 2em;
}
ol.parentheses li {
  position: relative;
  list-style-type: none;
}
ol.parentheses li:before {
  content: "(" counter(list-item) ")";
  position: absolute;
  left: -2em;
  top: 0;
  font-size: 1em;
}

/* リーダー付きリスト https://design-remarks.com/css-menu-design/ */
dl.reader-list {
  width: 100%;
}

dl.reader-list div {
  position: relative;
  display: flex;
  justify-content: space-between;
  margin: 5px 0;
  padding: 5px 0;
}

dl.reader-list div::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  z-index: 1;
  width: 100%;
  border-bottom: dotted 1px #666666;
}

dl.reader-list dt {
  margin: 0;
  padding: 0 0.7em 0 0;
  background-color: #ffffff; /* 点線を白背景で上書きして消す */
  z-index: 2;
  text-align: left;
  width: auto;
  font-weight: 500;
}

dl.reader-list dd {
  margin: 0;
  padding: 0 0 0 0.7em;
  background-color: #ffffff;
  z-index: 2;
  text-align: right;
  font-weight: 500;
}

@media only screen and (max-width: 576px) {
  dl.reader-list dt {
    width: auto;
    margin-bottom: 0;
  }
  dl.reader-list dd {
    width: auto;
    margin: 0;
  }
}
/* 縦ステップ https://coliss.com/articles/build-websites/operation/css/building-step-components.html */
:root {
  --circle-size: clamp(1.5rem, 5vw, 2rem);
  --spacing: clamp(0.25rem, 2vw, 0.5rem);
  --margin-top: clamp(0.25rem, 0.3vw, 0.5rem);
}

.y-stepper__item {
  position: relative;
  display: flex;
  gap: 1rem;
  padding-bottom: 0.5rem;
}
.y-stepper__item:before {
  content: "";
  flex: 0 0 var(--circle-size);
  height: var(--circle-size);
  border-radius: 50%;
  background-color: lightgrey;
  margin-top: var(--margin-top);
}
.y-stepper__item:not(:last-child):after {
  content: "";
  position: absolute;
  left: 0;
  top: calc(var(--circle-size) + var(--spacing) + var(--margin-top));
  bottom: var(--spacing);
  z-index: -1;
  transform: translateX(calc(var(--circle-size) / 2));
  width: 2px;
  background-color: #e0e0e0;
}

.y-stepper__title {
  font-weight: bold;
  font-size: clamp(1rem, 4vw, 1.25rem);
  margin: 0 !important;
  padding: 0.5rem 0 !important;
  margin-bottom: clamp(0.85rem, 2vmax, 1rem);
  text-align: left !important;
  background-color: transparent !important;
  border: none !important;
  display: block !important;
}
.y-stepper__title:before, .y-stepper__title:after {
  content: "";
  margin: 0 !important;
  padding: 0 !important;
  background-color: transparent !important;
  border: none !important;
}

.y-stepper__desc {
  color: grey;
  font-size: clamp(0.85rem, 2vmax, 1rem);
}

/*----- タイムライン表示 -----*/
ul.timeline {
  list-style: none;
}

ul.timeline > li {
  margin-bottom: 30px;
  border-bottom: 1px #ccc dotted;
}

ul li .timeline-date {
  font-weight: bold;
  line-height: 1em;
  margin-bottom: 0.5em;
}

@media only screen and (min-width: 767px) {
  /* PC用 */
  ul.timeline > li {
    overflow: hidden;
    margin: 0;
    position: relative;
    line-height: 2em;
    border-bottom: none;
  }
  ul li .timeline-date {
    width: 120px;
    float: left;
    margin-top: 20px;
    font-weight: normal;
    line-height: 1.9em;
  }
  ul li .timeline-content {
    width: 75%;
    float: left;
    border-left: 3px #e3f1ff solid;
    padding: 20px 0 0 20px;
  }
  ul li .timeline-content:before {
    content: "";
    width: 0.8rem;
    height: 0.8rem;
    background: #0f4c81;
    position: absolute;
    left: 116px;
    top: 1.8rem;
    border-radius: 100%;
  }
}
/*-------------------------------------------*/
/*  googlemap
/*-------------------------------------------*/
.gmap,
.g-map {
  height: 0;
  overflow: hidden;
  padding-bottom: 35%;
  position: relative;
  border-radius: 0.5rem;
}
.gmap iframe,
.g-map iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100% !important;
  width: 100% !important;
  /*filter: brightness(.95) grayscale(1) sepia(0);
  &:hover {
    filter: none;
  }*/
}

.gmap-50,
.g-map-50 {
  height: 0;
  overflow: hidden;
  padding-bottom: 50%;
  position: relative;
  border-radius: 0.5rem;
}
.gmap-50 iframe,
.g-map-50 iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100% !important;
  width: 100% !important;
  /*filter: brightness(.95) grayscale(1) sepia(0);
  &:hover {
    filter: none;
  }*/
}

.gmap-75,
.g-map-75 {
  height: 0;
  overflow: hidden;
  padding-bottom: 75%;
  position: relative;
  border-radius: 0.5rem;
}
.gmap-75 iframe,
.g-map-75 iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100% !important;
  width: 100% !important;
  /*filter: brightness(.95) grayscale(1) sepia(0);
  &:hover {
    filter: none;
  }*/
}

@media only screen and (max-width: 767.98px) {
  .gmap,
  .g-map {
    padding-bottom: 75%;
  }
}
/*-------------------------------------------*/
/*  contact form 7
/*-------------------------------------------*/
span.wpcf7-spinner {
  display: none;
}

/* テーブル */
#wpcf7 table,
#wpcf7cpcnf table {
  border: none;
  width: 100%;
}
#wpcf7 table tr,
#wpcf7cpcnf table tr {
  background-color: transparent;
}
@media only screen and (max-width: 767.98px) {
  #wpcf7 table tr,
  #wpcf7cpcnf table tr {
    background-color: transparent;
  }
}
#wpcf7 table th,
#wpcf7cpcnf table th {
  width: 33.33333333%;
  font-weight: normal;
  padding: 0.5em 1em;
  border-radius: 0;
  border: 0;
  border-right: 0;
}
@media only screen and (max-width: 767.98px) {
  #wpcf7 table th,
  #wpcf7cpcnf table th {
    display: block;
    width: 100%;
    margin-bottom: 0;
    padding-bottom: 0.1em;
    text-align: left;
    border: none;
  }
}
#wpcf7 table td,
#wpcf7cpcnf table td {
  width: 66.66666667%;
  padding: 0.5em 1em;
  text-align: left;
  border-radius: 0;
  border: 0;
  border-left: 0;
}
@media only screen and (max-width: 767.98px) {
  #wpcf7 table td,
  #wpcf7cpcnf table td {
    display: block;
    width: 100%;
    margin-top: 0;
    padding-top: 0;
    border: none;
  }
}
#wpcf7 p,
#wpcf7cpcnf p {
  margin: 0;
}
#wpcf7 .wpcf7cp-btns,
#wpcf7cpcnf .wpcf7cp-btns {
  display: flex !important;
  justify-content: center !important;
  gap: 1rem !important;
  margin-top: 3rem;
}
#wpcf7 .wpcf7cp-btns .wpcf7cp-cfm-submit-btn,
#wpcf7 .wpcf7cp-btns .wpcf7cp-cfm-edit-btn,
#wpcf7cpcnf .wpcf7cp-btns .wpcf7cp-cfm-submit-btn,
#wpcf7cpcnf .wpcf7cp-btns .wpcf7cp-cfm-edit-btn {
  background-color: #000000;
  background-image: none;
  border: 2px #000 solid;
  box-shadow: none;
  color: #ffffff;
  padding: 0.7rem 5rem;
}
#wpcf7 .wpcf7cp-btns .wpcf7cp-cfm-submit-btn:hover,
#wpcf7 .wpcf7cp-btns .wpcf7cp-cfm-edit-btn:hover,
#wpcf7cpcnf .wpcf7cp-btns .wpcf7cp-cfm-submit-btn:hover,
#wpcf7cpcnf .wpcf7cp-btns .wpcf7cp-cfm-edit-btn:hover {
  background-color: #ffffff;
  color: #000000;
}
@media only screen and (max-width: 767.98px) {
  #wpcf7 .wpcf7cp-btns .wpcf7cp-cfm-submit-btn,
  #wpcf7 .wpcf7cp-btns .wpcf7cp-cfm-edit-btn,
  #wpcf7cpcnf .wpcf7cp-btns .wpcf7cp-cfm-submit-btn,
  #wpcf7cpcnf .wpcf7cp-btns .wpcf7cp-cfm-edit-btn {
    padding: 0.5rem 2rem;
  }
}

#wpcf7cpcnf table th {
  font-weight: 700;
  color: #000000;
}
#wpcf7cpcnf .wpcf7cp-btns .wpcf7cp-cfm-submit-btn {
  background-color: #0062b1;
  background-image: none;
  border: 2px #0062b1 solid;
  box-shadow: none;
  color: #ffffff;
  padding: 0.7rem 5rem;
}
#wpcf7cpcnf .wpcf7cp-btns .wpcf7cp-cfm-submit-btn:hover {
  background-color: #ffffff;
  color: #0062b1;
}

/*-------------------------------------------*/
/*  Breadcrumb NavXT
/*-------------------------------------------*/
nav#breadcrumb {
  position: relative;
}
nav#breadcrumb ol.breadcrumb {
  position: absolute;
  top: 0.2em;
  left: 1em;
  margin: 0;
}

/*-------------------------------------------*/
/*  custom Bootstrap
/*-------------------------------------------*/
/*----- アコーディオン -----*/
.accordion {
  --bs-accordion-active-color: #333333;
  --bs-accordion-active-bg: transparnent;
}

.accordion.faq {
  --bs-accordion-active-bg: transparnent;
  --bs-accordion-btn-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path d="M352 128C352 110.3 337.7 96 320 96C302.3 96 288 110.3 288 128L288 288L128 288C110.3 288 96 302.3 96 320C96 337.7 110.3 352 128 352L288 352L288 512C288 529.7 302.3 544 320 544C337.7 544 352 529.7 352 512L352 352L512 352C529.7 352 544 337.7 544 320C544 302.3 529.7 288 512 288L352 288L352 128z"/></svg>');
  --bs-accordion-btn-active-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path d="M96 320C96 302.3 110.3 288 128 288L512 288C529.7 288 544 302.3 544 320C544 337.7 529.7 352 512 352L128 352C110.3 352 96 337.7 96 320z"/></svg>');
}
.accordion.faq .accordion-item {
  border-color: #5db5e7;
}
.accordion.faq .accordion-item .accordion-button {
  box-shadow: none;
}
.accordion.faq .accordion-item .accordion-button:not(.collapsed) {
  color: var(--bs-accordion-active-color);
  background-color: var(--bs-accordion-active-bg);
  box-shadow: none;
}
.accordion.faq .accordion-item .accordion-button:focus {
  box-shadow: none;
}
.accordion.faq .accordion-item .accordion-body-inner {
  --balloon-bg-color: #daeafa;
  background-color: var(--balloon-bg-color);
  border-radius: 5px;
  color: #222;
  position: relative;
  padding: 1em;
}
.accordion.faq .accordion-item .accordion-body-inner::after {
  border-left: solid 7px transparent;
  border-right: solid 7px transparent;
  border-bottom: solid 10px var(--balloon-bg-color);
  top: -10px;
  content: "";
  display: block;
  height: 0;
  left: 10%;
  position: absolute;
  width: 0;
}

#flow_digital {
  --bs-accordion-btn-color: #be934f;
  --bs-accordion-active-color: #be934f;
  --bs-accordion-active-bg: transparnent;
}
#flow_digital .accordion-item {
  border: none;
  margin-bottom: 1.5em;
}
#flow_digital .accordion-item .accordion-header {
  margin-bottom: 1em;
}
#flow_digital .accordion-item .accordion-header .accordion-button {
  color: var(--bs-accordion-btn-color);
  background-color: var(--bs-accordion-active-bg);
  border: 2px #be934f solid;
  border-radius: 0.5em;
  box-shadow: none;
}
#flow_digital .accordion-item .accordion-collapse .accordion-body {
  padding: 1.5em;
  border: 1px #aaaaaa solid;
  border-radius: 0.5em;
  position: relative;
}
#flow_digital .accordion-item .accordion-collapse .accordion-body::after {
  border-left: solid 12px transparent;
  border-right: solid 12px transparent;
  border-bottom: solid 12px #aaaaaa;
  top: -12px;
  content: "";
  display: block;
  height: 0;
  left: calc(50% - 12px);
  position: absolute;
  width: 0;
}

#flow_paper {
  --bs-accordion-btn-color: #d83182;
  --bs-accordion-active-color: #d83182;
  --bs-accordion-active-bg: transparnent;
}
#flow_paper .accordion-item {
  border: none;
  margin-bottom: 1.5em;
}
#flow_paper .accordion-item .accordion-header {
  margin-bottom: 1em;
}
#flow_paper .accordion-item .accordion-header .accordion-button {
  color: var(--bs-accordion-btn-color);
  background-color: var(--bs-accordion-active-bg);
  border: 2px #d83182 solid;
  border-radius: 0.5em;
  box-shadow: none;
}
#flow_paper .accordion-item .accordion-collapse .accordion-body {
  padding: 1.5em;
  border: 1px #aaaaaa solid;
  border-radius: 0.5em;
  position: relative;
}
#flow_paper .accordion-item .accordion-collapse .accordion-body::after {
  border-left: solid 12px transparent;
  border-right: solid 12px transparent;
  border-bottom: solid 12px #aaaaaa;
  top: -12px;
  content: "";
  display: block;
  height: 0;
  left: calc(50% - 12px);
  position: absolute;
  width: 0;
}

.accordion#accordionDrawer {
  --bs-accordion-btn-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill="rgb(255, 255, 255)" d="M297.4 470.6C309.9 483.1 330.2 483.1 342.7 470.6L534.7 278.6C547.2 266.1 547.2 245.8 534.7 233.3C522.2 220.8 501.9 220.8 489.4 233.3L320 402.7L150.6 233.4C138.1 220.9 117.8 220.9 105.3 233.4C92.8 245.9 92.8 266.2 105.3 278.7L297.3 470.7z"/></svg>');
  --bs-accordion-btn-active-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill="rgb(255, 255, 255)" d="M297.4 169.4C309.9 156.9 330.2 156.9 342.7 169.4L534.7 361.4C547.2 373.9 547.2 394.2 534.7 406.7C522.2 419.2 501.9 419.2 489.4 406.7L320 237.3L150.6 406.6C138.1 419.1 117.8 419.1 105.3 406.6C92.8 394.1 92.8 373.8 105.3 361.3L297.3 169.3z"/></svg>');
  --bs-accordion-btn-icon-transform: none;
  --bs-accordion-btn-padding-x: 0.5rem;
  --bs-accordion-btn-padding-y: 0.5rem;
  --bs-accordion-body-padding-x: 0.5rem;
  --bs-accordion-body-padding-y: 0.5rem;
  --bs-accordion-btn-color: #ffffff;
  --bs-accordion-active-color: #ffffff;
}
.accordion#accordionDrawer .nav-item {
  padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
}
.accordion#accordionDrawer .nav-item .nav-link {
  font-size: 1rem;
  color: var(--bs-accordion-btn-color);
}
.accordion#accordionDrawer .accordion-item {
  --bs-accordion-bg: transparnent;
  border-bottom: none;
}
.accordion#accordionDrawer .accordion-button {
  --bs-accordion-btn-bg: transparnent;
  --bs-accordion-active-bg: transparnent;
  border: none;
}
.accordion#accordionDrawer .accordion-button:not(.collapsed) {
  color: var(--bs-accordion-active-color);
  background-color: var(--bs-accordion-active-bg);
  box-shadow: none;
  transform: var(--bs-accordion-btn-icon-transform);
}
.accordion#accordionDrawer .accordion-button:focus {
  box-shadow: none;
}

/*----- ツールチップ -----*/
.tooltip-inner {
  max-width: min(480px, 75vw);
  padding: 0.75em;
}

/*-------------------------------------------*/
/*  アニメーションページトップ
/*-------------------------------------------*/
.slow-top-btn {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  bottom: 1rem;
  right: 1rem;
}
.slow-top-btn:hover, .slow-top-btn:focus, .slow-top-btn:active {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.slow-top-btn .svg-toggle-container {
  position: relative;
  width: min(6rem, 16vw);
  height: min(6rem, 16vw);
}
.slow-top-btn .svg-toggle-container img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  transition: opacity 0.5s cubic-bezier(0.25, 1, 0.5, 1);
  will-change: opacity;
}
.slow-top-btn .svg-toggle-container .img-nestbox {
  opacity: 1;
}
.slow-top-btn .svg-toggle-container .img-bird {
  opacity: 0;
}
.slow-top-btn.is-flying .svg-toggle-container .img-nestbox {
  opacity: 0;
}
.slow-top-btn.is-flying .svg-toggle-container .img-bird {
  opacity: 1;
}/*# sourceMappingURL=style.css.map */