/*----------------------------------------------------

design.css

----------------------------------------------------*/
/* loader
----------------------------------------------------*/
/*#loading {
  position: fixed;
  inset: 0;
  background-color: #fff;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.no-scroll {
  overflow: hidden;
  height: 100vh;
}
.loader {
  position: relative;
  width: 100%;
  height: 100%;
}
.loader-bg-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 300px;
  transform: translate(-50%, -50%);
  opacity: 0;
  z-index: 0;
}
.loader-bg-logo img {
  width: 100%;
  filter: grayscale(100%) brightness(150%);
}
.loader-line {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: 'Cinzel', serif;
  font-size: 2rem;
  letter-spacing: var(--letter-space-m);
  background: linear-gradient(to bottom, #333, #000);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.2), 0 3px 6px rgba(0, 0, 0, 0.3);
  background-clip: text;
  color: transparent;
  font-weight: 700;
  opacity: 0;
  z-index: 10;
  white-space: nowrap !important
}
@media (min-width: 600px) {
  .loader-line {
    font-size: 2.6rem;
  }
}
@media (min-width: 1025px) {
  .loader-line {
    font-size: 3rem;
  }
}*/
/* 
----------------------------------------------------*/
/*a.arrow {
  position: relative;
  transition: .3s;
}
a.arrow::after {
  position: absolute;
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  color: #fff;
  font-weight: 900;
  top: 50%;
  width: 36px;
  text-align: center;
  transform: translatey(-50%);
  transition: .3s;
  font-size: 14px;
}
a.arrow.arrow-bk::after {
  color: #000;
}
a.arrow::before {
  position: absolute;
  content: '';
  top: 50%;
  transform: translatey(-50%);
  transition: .3s;
  opacity: 0;
  width: 36px;
  height: 36px;
  background-color: #fff;
  clip-path: circle(49% at 50% 50%)
}
@media (min-width: 600px) {}
@media (min-width: 1025px) {
  a.arrow:hover::after {
    color: var(--clr-bk);
  }
  a.arrow:hover::before {
    opacity: 1;
    background-color: #fff;
  }
  a.arrow.arrow-bk:hover::after {
    color: #fff;
  }
  a.arrow.arrow-bk:hover::before {
    background-color: var(--clr-key-50);
  }
  a.arrow.arrow-sd:hover::after {
    margin-right: -10px;
  }
}*/
/* 
----------------------------------------------------*/
/*.uline {
  font-weight: lighter;
  display: inline;
  position: relative;
  background-image: linear-gradient(90deg, #ffff99, #ffff99);
  background-repeat: no-repeat;
  background-position: bottom left;
  background-size: 0 70%;
  transition: all 1.5s ease-in-out;
  transition-delay: .5s;
}
.uline.inview {
  background-size: 100% 50%;
}*/
/* 
----------------------------------------------------*/
body #wrap {
  background-image: url("../user_data/bg.jpg");
  background-size: 150% auto;
  background-position: center 0;
}
@media (min-width: 600px) {}
@media (min-width: 1025px) {
  body #wrap {
    background-size: 100% auto;
  }
}
/* 
----------------------------------------------------*/
.top-main {
  position: relative;
  overflow: hidden;
  padding: 0;
}
.top-main .mv-lead {
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  text-align: center;
}
.top-main h2 {
  font-size: 3rem;
  font-weight: var(--bold);
  writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  color: #fff;
  text-shadow: var(--shadow-50);
  font-family: var(--font-md);
}
.top-main h2.flow-text {
  --delay: 1s;
  --duration: 1s; /* 1文字の表示速度 */
  --stagger: 0.2s; /* 文字間の間隔（＝全体スピード感） */
}
/*.top-main p.txt {
  margin-top: 1em;
  line-height: var(--lh-base-l);
}
.top-main p.fade {
  delay: 4s;
  duration: 10,
}
.swiper-container {
  opacity: .75
}
.slider1 {
  opacity: 0;
  transition: opacity 0.5s ease;
}
.slider1.swiper-initialized {
  opacity: 1;
}
@keyframes fadein {
  100% {
    opacity: 1.0;
  }
}*/
.top-main .slider_box figure {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 100vh;
}
.scrolldown {
  position: absolute;
  width: 120px;
  height: 60px;
  background: url("../user_data/scrolldown.png");
  bottom: 5vw;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  opacity: 0;
  animation: fadeIn 1s ease forwards;
  animation-delay: 4s; /* ← 3秒後に表示 */
}
@keyframes fadeIn {
  to {
    opacity: 1;
  }
}
.top-bnr_free {
  position: absolute;
  bottom: 20vw;
  right: 20px;
  width: 120px;
  height: 120px;
  z-index: 10;
  opacity: 0;
  animation: fadeIn 1s ease forwards;
  animation-delay: 3s; /* ← 3秒後に表示 */
}
.top-bnr_free a {
  height: 0;
  display: block;
  overflow: hidden;
  padding-top: 100%;
  background: url('../user_data/bnr-free_soudan.png') no-repeat;
  background-size: 100%;
}
@media (min-width: 600px) {
  .top-main h2 {
    font-size: 3.6rem;
  }
  .top-bnr_free {
    bottom: 20vw;
    right: 5vw;
    width: 160px;
    height: 160px;
  }
}
@media (min-width: 1025px) {
  .top-main .mv-lead {
    left: 85%;
  }
  .top-main h2 {
    font-size: 4.2rem;
  }
  .top-bnr_free {
    bottom: 8vw;
    right: 5vw;
  }
  .top-bnr_free a:hover {
    opacity: .6
  }
}
/* top-news
----------------------------------------------------*/
.top-news {}
.top-news .sec-wrap {}
.top-news .sec-wrap .link-btn {
  margin-bottom: 5vw
}
.top-news .sec-wrap .link-btn a {
  margin: 0
}
.top-news .sec-wrap .swiper {
  padding-bottom: 30px;
}
.top-news .sec-wrap .swiper-horizontal > .swiper-scrollbar, .top-news .sec-wrap .swiper-scrollbar.swiper-scrollbar-horizontal {
  height: 15px;
  border: 1px solid var(--clr-key);
  background: #fff;
}
.swiper-scrollbar-drag {
  background: var(--clr-key);
}
.slider-news a {
  display: block;
  font-size: var(--font-size-sm);
}
.slider-news .pht-box {
  padding-top: 100%;
  background-size: cover;
  background-position: center;
  margin-bottom: 1em;
}
.slider-news .icn {
  padding: 0 1em;
  border: 1px solid var(--clr-key-50);
  border-radius: 50vh;
  display: inline-block;
  font-size: var(--font-size-sm);
}
.slider-news .data {
  float: right;
}
.slider-news .txt-box {
  margin: 1em .5em;
}
.slider-news .txt-box h3 {
  font-weight: var(--bold);
}
.slider-news .txt {
  color: var(--clr-txt);
}
@media (min-width: 600px) {}
@media (min-width: 1025px) {
  .top-news .inner {
    display: flex;
  }
  .top-news .cont-ttl {
    width: 15vw;
  }
  .top-news .sec-wrap {
    width: calc(100% - 15vw);
  }
  .top-news .sec-wrap .link-btn {
    margin-bottom: 3vw
  }
  .slider-news a:hover {
    opacity: .6
  }
}
/* top-cont
----------------------------------------------------*/
.top-cont {}
.top-cont .pht-box {}
.top-cont .txt-box {
  margin: 1em .5em 2em;
}
@media (min-width: 600px) {}
@media (min-width: 1025px) {
  .top-cont .inner {
    display: flex;
  }
  .top-cont.top-about .inner, .top-cont.top-voice .inner {
    flex-direction: row-reverse;
  }
  .top-cont .cont-ttl {
    width: 15vw;
  }
  .top-cont .sec-wrap {
    width: calc(100% - 15vw);
  }
  .top-cont .txt-box {
    margin: 3em 5vw 4em;
  }
}
/* 
----------------------------------------------------*/
.top-voice {}
.top-voice .link-btn {
  display: flex;
  justify-content: center;
  gap: 10px;
}
.top-voice .link-btn a {
  min-width: inherit;
  margin: inherit;
}
@media (min-width: 600px) {
  .top-voice .link-btn {
    gap: 5vw;
  }
  .top-voice .link-btn a {
    min-width: 180px;
  }
}
@media (min-width: 1025px) {}
/* top-recept
----------------------------------------------------*/
.top-recept {}
.top-recept .sec-wrap {}
.top-recept h2 {
  text-align: center;
  font-size: var(--font-size-md);
  color: var(--clr-key);
  font-family: var(--font-md);
  font-weight: var(--bold);
}
.top-recept .sec-item {
  border-radius: var(--radius-m);
  padding: 1.5em;
}
.top-recept .sec-item.sec01 {
  background: var(--clr-yellow-lh);
  margin-bottom: 10vw
}
.top-recept .sec-item.sec02 {
  background: var(--clr-pink-lh);
}
.top-recept .txt-box {
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 95% auto;
  padding-bottom: 38%;
  margin: 1em 0 1.5em;
}
.top-recept .sec-item.sec01 .txt-box {
  background-image: url("../user_data/img-top_recept1.png");
}
.top-recept .sec-item.sec02 .txt-box {
  background-image: url("../user_data/img-top_recept2.png");
}
@media (min-width: 600px) {
  .top-recept .sec-wrap {
    display: flex;
    justify-content: space-between;
  }
  .top-recept .sec-item {
    margin: 0 !important;
    width: 48%;
  }
  .top-recept .sec-item .txt {
    min-height: 150px;
  }
}
@media (min-width: 1025px) {
  .top-recept .sec-item {
    padding: 3em;
  }
  .top-recept .sec-item .txt {
    min-height: 100px;
  }
}
/* Lower
----------------------------------------------------*/
section.contents {}
.contents .cont-txt {
  line-height: var(--lh-base-2l);
}
.contents h3.sec-ttl {
  font-family: var(--font-md);
  line-height: var(--lh-base-s);
  font-size: var(--font-size-lg);
  font-weight: var(--normal);
  border-left: 3px solid var(--clr-key-50);
  padding: .8em 0 .9em .7em;
  margin: 1em 0;
}
.contents h4.sec-sub-ttl {
  font-weight: var(--bold);
  color: var(--clr-key);
  font-family: var(--font-md);
  font-size: var(--font-size-md);
}
.contents .cont-txt p {
  margin: 1em 0;
}
.contents .wp-block-table {
  margin: 1em 0 1em 0;
}
.contents .wp-block-table table {}
.contents .wp-block-table td {
  border: 0;
  padding: 1em 1em 1.5em;
}
.contents .wp-block-table td:first-child {
  background: RGBa(148, 171, 41, .8);
  color: #fff;
  text-align: center;
  border-bottom: 0;
  padding: .2em;
  border-radius: var(--radius-m);
}
.contents .wp-block-table td:first-child code {
  display: block;
  font-size: var(--font-size-sm);
}
@media (min-width: 600px) {
  .contents h3.sec-ttl {
    margin: 2em 0 1em;
  }
  .contents .wp-block-table {
    margin: 1em 0 2em 0;
  }
}
@media (min-width: 1025px) {
  .contents h3.sec-ttl {
    margin: 3em 0 1em;
  }
  .contents .wp-block-table {
    margin: 1em 0 3em 0;
  }
  .contents .wp-block-table tr {
    padding: 10px 0;
    display: flex;
    align-items: flex-start;
    border-bottom: var(--line-dott);
  }
  .contents .wp-block-table td {
    width: calc(100% - 28%);
    padding: .5em 0 .5em 2em;
  }
  .contents .wp-block-table td:first-child {
    width: 28%;
    padding: 1em;
    margin: 1em 0;
  }
}
@media (max-width: 1025px) {
  .contents .wp-block-table td {
    display: block;
  }
}
/* 
----------------------------------------------------*/
.gmap {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 50%;
}
.gmap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media (min-width: 600px) {}
@media (min-width: 1025px) {}
/* あゆみ
----------------------------------------------------*/
.ayumi {
  border-radius: var(--radius-m);
  background: #fff;
  box-shadow: var(--shadow-20);
  padding: 1.5em;
}
.ayumi dl {
  height: 400px;
  overflow-y: scroll
}
.ayumi dl div {
  border-bottom: var(--line-dott);
  padding: 1em;
}
.ayumi dt {
  color: var(--clr-key);
}
@media (min-width: 600px) {
  .ayumi dl div {
    display: flex;
    flex-wrap: wrap;
  }
  .ayumi dt, .ayumi dd {}
  .ayumi dt {
    width: 180px;
  }
  .ayumi dd {
    width: calc(100% - 180px);
    padding-left: 1em;
  }
}
@media (min-width: 1025px) {
  .ayumi {
    padding: 2.5em;
  }
  .ayumi dl {
    height: 500px;
  }
}
/* 組織・関連施設
----------------------------------------------------*/
#group .wp-block-table .link-btn {
  margin-top: .5em;
}
@media (min-width: 600px) {}
@media (min-width: 1025px) {
  #group .wp-block-table .link-btn a {
    margin-right: 0;
    margin-top: -50px
  }
}
/* お知らせ
----------------------------------------------------*/
.info-wrap {}
.info-cate {}
.info-cate ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
}
.info-cate a {
  color: var(--clr-bk-50);
  position: relative;
  display: flex;
  align-items: center;
  padding: 3px 0 3px 30px;
}
.info-cate a.is-active {
  color: var(--clr-key);
  border-radius: 50vh;
  background-color: var(--clr-key-10);
}
.info-cate a:after {
  position: absolute;
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  font-weight: 700;
  top: 55%;
  left: 10px;
  transform: translatey(-50%);
  transition: .3s;
}
.info-inner {}
.info-list {
  gap: 20px;
}
.info-list-item {
  margin-bottom: 2em;
}
.info-list-item a {
  display: block;
  padding: 0 1em;
}
.info-list-item .pht-box {
  padding-top: 100%;
  background-size: cover;
  background-position: center;
  margin-bottom: 1em;
}
.info-list-item .icn {
  padding: 0 1em;
  border: 1px solid var(--clr-key-50);
  border-radius: 50vh;
  display: inline-block;
  font-size: var(--font-size-sm);
}
.info-list-item .data {
  float: right;
}
.info-list-item .txt-box {
  margin: 1em .5em;
}
.info-list-item .txt-box h3 {
  font-weight: var(--bold);
}
.info-list-item .txt {
  color: var(--clr-txt);
}
@media (min-width: 600px) {
  .info-cate {}
  .info-cate ul {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
  .info-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .info-list-item a {
    padding: 0;
  }
}
@media (min-width: 1025px) {
  .info-cate {}
  .info-cate ul {
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
  }
  .info-cate a {
    padding: 5px 0 5px 40px;
  }
  .info-cate a:after {
    left: 15px;
  }
  .info-cate a:hover {
    color: var(--clr-key);
  }
  .info-cate a:hover::after {
    left: 20px;
  }
  .info-list {
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
  }
}
/*  pager
----------------------------------------------------*/
/**/
.pager ul.page-numbers {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}
.pager .page-numbers li {
  margin: 0 5px;
  padding: 0;
  list-style: none
}
.pager .page-numbers li a, .pager .page-numbers li span {
  display: block;
  text-align: center;
  height: 40px;
  width: 40px;
  line-height: 40px;
  text-decoration: none;
  border-radius: 50vh;
  color: var(--clr-key);
  background: var(--clr-key-10);
}
.pager .page-numbers li span.current {
  color: #fff;
  background-color: var(--clr-key);
}
.pager .page-numbers li a:hover {
  text-decoration: none;
}
.screen-reader-text {
  display: none;
}
@media (min-width: 600px) {}
@media (min-width: 1025px) {
  .pager ul.page-numbers {
    justify-content: flex-start;
  }
  .pager .page-numbers li a, .pager .page-numbers li span {
    height: 50px;
    width: 50px;
    line-height: 50px;
  }
  .pager .page-numbers li a:hover {
    background-color: var(--clr-key-50);
    color: #fff;
  }
  .pager .page-numbers li a.active:hover {
    background-color: var(--clr-key-50);
  }
}
/* 
----------------------------------------------------*/
.info-dtl {}
.info-dtl .day {
  color: var(--clr-key-dk);
}
.info-dtl .day .icn {
  padding: 0 1em;
  border: 1px solid var(--clr-key-50);
  border-radius: 50vh;
  display: inline-block;
  font-size: var(--font-size-sm);
  margin-left: 1em;
}
.info-dtl-txt {
  margin: 6vw 0;
}
/*.info-dtl-txt * {
  all: revert;
}*/
.info-dtl-txt ul, .info-dtl-txt ol {
  margin: .5em 0 .5em 1.5em;
}
.info-dtl-txt p {
  margin: 1em 0;
}
.info-dtl-txt ul {
  list-style: disc;
}
.info-dtl-txt ol {
  list-style: decimal;
}
.info-dtl-txt h1 {
  font-size: 200%;
}
.info-dtl-txt h2 {
  font-size: 180%;
}
.info-dtl-txt h3 {
  font-size: 160%;
}
.info-dtl-txt h4 {
  font-size: 140%;
}
.info-dtl-txt h5 {
  font-size: 120%;
}
.info-dtl-txt h6 {
  font-size: 100%;
}
.info-dtl-txt a {
  text-decoration: underline;
}
.info-dtl-txt .wp-block-button a {
  text-decoration: none;
}
.info-dtl-txt .wp-block-file a.wp-block-file__button {
  color: #fff;
  text-decoration: none;
}
@media (min-width: 600px) {
  .info-dtl {
    margin: 0 5vw;
  }
}
@media (min-width: 1025px) {
  .info-dtl {
    margin: 0 auto;
    max-width: 960px;
  }
  .info-dtl-txt {
    margin: 60px 0;
  }
}
/* LINK
----------------------------------------------------*/
#link {}
#link .cont-txt ul {
  margin-bottom: 30px;
  gap: 20px;
}
#link .cont-txt li {
  padding: .5em;
  border-bottom: var(--line-dash);
}
@media (min-width: 600px) {
  #link ul.link02, #link ul.link03 {
    display: grid;
  }
  #link ul.link02 li, #link ul.link03 li {
    text-align: center;
  }
  #link ul.link02 {
    grid-template-columns: repeat(3, 1fr);
  }
  #link ul.link03 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1025px) {
  #link ul.link02 {
    grid-template-columns: repeat(4, 1fr);
  }
  #link ul.link03 {
    grid-template-columns: repeat(3, 1fr);
  }
}
/* kiyaku・privacy
----------------------------------------------------*/
#kiyaku .cont-txt ul {
  list-style: disc;
  margin: 1em 1em 1em 1.5em;
}
#privacy .cont-txt ol {
  list-style: decimal;
  margin: 1em 1em 1em 1.5em;
}
#privacy .cont-txt p {
  margin-top: 2em;
}
@media (min-width: 600px) {}
@media (min-width: 1025px) {}
/* branch
----------------------------------------------------*/
#branch .cont-txt ul {
  list-style: disc;
  margin: 1em 1em 1em 1.5em;
}
/* ===== レイアウト ===== */
#branch .branch-inner {}
#branch .branch-map {
  margin: 0 5vw;
}
#branch .kyoto-map {
  width: 100%;
  height: auto;
  display: block;
}
#branch .map-area path {
  fill: #ddd;
  transition: fill 0.3s ease;
}
#branch .map-area {
  cursor: pointer;
}
/* hover & JS active 共通 */
#branch .map-area.active path, #branch .map-area:hover path {
  fill: var(--clr-key-50);
}
#branch .branch-list {
  margin: 0 !important;
  list-style: none !important;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between
}
#branch .branch-list-item {
  border-bottom: var(--line-dash);
  width: 48%;
}
#branch .branch-list-item a {
  display: block;
  transition: 0.3s;
  padding: .5em !important;
  position: relative;
}
#branch .branch-list-item a:after {
  position: absolute;
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  font-weight: 700;
  top: 50%;
  right: 5px;
  transform: translatey(-50%);
  transition: .3s;
}
#branch .branch-map #kita path,
#branch .branch-map #sakyo path {
  fill: #F5CECF;
}
#branch .branch-map #kamigyo path,
#branch .branch-map #nakagyo path,
#branch .branch-map #shimogyo path {
  fill: #D1E5CB
}
#branch .branch-map #ukyo path,
#branch .branch-map #nishikyo path,
#branch .branch-map #minami path {
  fill: #DCECF5
}
#branch .branch-map #higashiyama path,
#branch .branch-map #yamashina path {
  fill: #F1D9F5
}
#branch .branch-map #fushimi path {
  fill: #F9E2C9
}

*#branch .branch-map #kita.active path,
#branch .branch-map #sakyo.active path,
#branch .branch-map #kita path:hover,
#branch .branch-map #sakyo path:hover {
  fill: #f06567;
}
#branch .branch-map #kamigyo.active path,
#branch .branch-map #nakagyo.active path,
#branch .branch-map #shimogyo.active path,
#branch .branch-map #kamigyo path:hover,
#branch .branch-map #nakagyo path:hover,
#branch .branch-map #shimogyo path:hover {
  fill: #84c771
}
#branch .branch-map #ukyo.active path,
#branch .branch-map #nishikyo.active path,
#branch .branch-map #minami.active path,
#branch .branch-map #ukyo path:hover,
#branch .branch-map #nishikyo path:hover,
#branch .branch-map #minami path:hover {
  fill: #5fb2f5
}
#branch .branch-map #higashiyama.active path,
#branch .branch-map #yamashina.active path,
#branch .branch-map #higashiyama path:hover,
#branch .branch-map #yamashina path:hover {
  fill: #ce81f7
}
#branch .branch-map #fushimi.active path,
#branch .branch-map #fushimi path:hover {
  fill: #f77d36
}
/*#branch .branch-list-item.active a, #branch .branch-list-item:hover a {
  background: var(--clr-key-20);
}*/
#branch #kita2 a,
#branch #sakyo2 a {
  color: #f06567;
}
#branch #kamigyo2 a,
#branch #nakagyo2 a,
#branch #shimogyo2 a {
  color: #84c771
}
#branch #ukyo2 a,
#branch #nishikyo2 a,
#branch #minami2 a {
  color: #5fb2f5
}
#branch #higashiyama2 a,
#branch #yamashina2 a {
  color: #ce81f7
}
#branch #fushimi2 a {
  color: #f77d36
}
#branch #kita2.active a,
#branch #sakyo2.active a,
#branch #kita2:hover a,
#branch #sakyo2:hover a {
  background: #F5CECF;
}
#branch #kamigyo2.active a,
#branch #nakagyo2.active a,
#branch #shimogyo2.active a,
#branch #kamigyo2:hover a,
#branch #nakagyo2:hover a,
#branch #shimogyo2:hover a {
  background: #D1E5CB
}
#branch #ukyo2.active a,
#branch #nishikyo2.active a,
#branch #minami2.active a,
#branch #ukyo2:hover a,
#branch #nishikyo2:hover a,
#branch #minami2:hover a {
  background: #DCECF5
}
#branch #higashiyama2.active a,
#branch #yamashina2.active a,
#branch #higashiyama2:hover a,
#branch #yamashina2:hover a {
  background: #F1D9F5
}
#branch #fushimi2.active a,
#branch #fushimi2:hover a {
  background: #F9E2C9
}
#branch .sp-txt {
  margin-bottom: 1em;
}
@media (min-width: 600px) {
  #branch .branch-inner {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-around;
    align-items: center;
  }
  #branch .branch-map {
    width: calc(100% - 300px);
  }
  #branch .branch-list {
    width: 260px;
    display: block;
  }
  #branch .branch-list-item {
    width: 100%;
  }
  #branch .branch-list-item a:after {
    right: 10px;
  }
}
@media (min-width: 1025px) {
  #branch .sp-txt {
    display: none;
  }
  #branch .branch-inner {
    align-items: center;
  }
  #branch .branch-map {
    margin: -100px 0 0;
    width: calc(100% - 500px);
  }
  #branch .kyoto-map {
    width: 450px;
  }
  #branch .branch-list {
    width: 350px;
  }
}
@media (max-width: 1025px) {
  #branch .pc-txt {
    display: none;
  }
} /* job
----------------------------------------------------*/
#job .cont-txt ul {
  list-style-type: disc;
  margin: 1em 1em 1em 1.5em;
}
#job .cont-txt ol {
  list-style-type: decimal;
  margin: 1em 1em 1em 1.5em;
}
#job .cont-txt li {
  list-style: none; /* 元のマーカーを消す */
  position: relative;
  padding: .5em 0 .5em 2.5em;
  border-bottom: var(--line-dash);
}
#job .cont-txt li::marker {
  margin-left: -2em;
}
#job .cont-txt li::before {
  counter-increment: job-counter; /* li の番号をカウント */
  content: counter(job-counter) "."; /* 例: 1. 2. 3. */
  position: absolute;
  left: 0; /* li 内の左端に配置 */
  width: 2em; /* テキストとの間隔調整用 */
  text-align: right; /* 右揃えで数字がきれいに揃う */
  color: #333;
}
/* li の親にカウンターを初期化 */
#job .cont-txt {
  counter-reset: job-counter;
}
@media (min-width: 600px) {}
@media (min-width: 1025px) {}
/* #consultation
----------------------------------------------------*/
#consultation .mendan-box {}
#consultation .mendan-box .wp-block-column {
  padding: .5em 1.5em 1.5em;
  border: var(--line-soli);
}
#consultation .mendan-box .wp-block-table {
  margin: 0;
}
#consultation .mendan-box .wp-block-table tr {
  display: flex;
  border-bottom: var(--line-dash);
  padding: 2px 0 !important;
}
#consultation .mendan-box .wp-block-table td {
  padding: .3em 1em;
}
#consultation .mendan-box .wp-block-table td:first-child {
  background: var(--clr-pink-lh);
  color: var(--clr-txt);
  border-radius: 0;
  min-width: 100px;
}
@media (min-width: 600px) {}
@media (min-width: 1025px) {
  #consultation .mendan-box .wp-block-table tr {
    padding: 2px 0 !important;
  }
  #consultation .mendan-box .wp-block-table td {
    margin: 0;
  }
}
/* support
----------------------------------------------------*/
#support {}
#support .nagare-box {
  margin-top: 30px;
}
#support .nagare-box h3 {
  margin: 0;
  padding: .3em 1em;
  /*background: var(--clr-orange);*/
  border: 3px solid var(--clr-orange-50);
  border-radius: var(--radius-m);
  text-align: center;
  font-size: var(--font-size-base);
  font-weight: var(--bold);
}
#support .nagare-box p {
  margin: .5em;
}
#support .nagare-item {
  padding-bottom: 30px;
  position: relative;
}
#support .nagare-item:after {
  position: absolute;
  content: "\f0d7";
  font-family: "Font Awesome 6 Free";
  font-weight: 700;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  transition: .3s;
  color: var(--clr-orange-50);
}
#support .nagare-item:last-child::after {
  display: none;
}
#support .nagare-txt {
  margin: 1em 2em 0;
  padding: 15px;
  background: var(--clr-orange-20);
  border-radius: var(--radius-m);
  color: var(--clr-key-dk);
}
#support .nagare-item ul {
  list-style: disc;
  margin-left: 1.5em;
  line-height: var(--lh-base-m)
}
@media (min-width: 600px) {}
@media (min-width: 1025px) {
  #support .nagare-item {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  #support .nagare-item h3, #support .nagare-item p {
    width: 100%;
    margin: 0 10em;
    padding: .5em 1.5em;
  }
  #support .nagare-txt {
    width: 31%;
    margin: 0 10px;
    margin-top: 1.5em;
  }
  #support .nagare-item {
    padding-bottom: 50px;
  }
  #support .nagare-item:after {
    font-size: 3rem;
  }
}
/* 
----------------------------------------------------*/
#support .hataraki-box {}
#support .hataraki-item {
  display: flex;
  padding: 1em 0;
  border-bottom: var(--line-dash);
  position: relative;
}
#support .hataraki-ttl {
  border-radius: 50vh;
  text-align: center;
  background: var(--clr-blue);
  color: #fff;
  padding: 0 1em;
  font-weight: var(--bold);
  margin-top: 1em;
}
#support .hataraki-item .pht {
  width: 25%;
  border: var(--line-soli);
}
#support .hataraki-item .txt {
  width: 75%;
  padding-left: 2em;
  line-height: var(--lh-base-m);
}
#support .hataraki-item .txt p {
  margin: 0 0 .5em;
  font-weight: var(--bold);
  color: var(--clr-key);
}
@media (min-width: 600px) {
  #support .hataraki-box {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
  }
  #support .hataraki-box > *:nth-child(4n+1) {
    grid-column: 1 / -1;
  }
  #support .hataraki-item {
    display: block;
    padding: 0;
    border-bottom: 0;
  }
  #support .hataraki-ttl {
    width: 100%;
  }
  #support .hataraki-item .pht {
    width: 100%;
  }
  #support .hataraki-item .txt {
    width: 100%;
    padding-left: 0;
  }
  #support .hataraki-item .txt p {
    margin: .5em 0;
  }
}
@media (min-width: 1025px) {
  #support .hataraki-box {
    gap: 50px;
  }
}
/* 
----------------------------------------------------*/
#calendar-wrapper .calendar {
  margin: 40px 0;
}
#calendar-wrapper .calendar-header {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  margin-bottom: 10px;
}
#calendar-wrapper .calendar-nav-left {
  text-align: left;
}
#calendar-wrapper .calendar-nav-right {
  text-align: right;
}
#calendar-wrapper .calendar-center {
  text-align: center;
  font-weight: bold;
}
/* 今月ボタンは下に 非表示中*/
#calendar-wrapper .calendar-today-wrap {
  /*text-align: center;
  margin-bottom: 20px;
  min-height: 40px;*/
  display: none;
}
/*#calendar-wrapper .calendar-today-btn.is-hidden {
  visibility: hidden;
}
#calendar-wrapper .calendar-today-btn {
  padding: .3em 1em;
  background: #333;
  color: #fff;
  border: none;
  cursor: pointer;
  font-size: 1.2rem
}
#calendar-wrapper .calendar-today-btn:hover {
  opacity: .8;
}*/
/* 今月ボタンは下に 非表示中*/
#calendar-wrapper .calendar-week {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  margin-bottom: 5px;
}
#calendar-wrapper .week-item {
  text-align: center;
  font-weight: bold;
  padding: 5px 0;
  background: #f5f5f5;
  font-size: 1.3rem;
}
#calendar-wrapper .week-item:first-child, #calendar-wrapper .sp-week:first-child {
  color: red;
}
#calendar-wrapper .week-item:last-child, #calendar-wrapper .sp-week:last-child {
  color: blue;
}
#calendar-wrapper .calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
}
#calendar-wrapper .day {
  border: var(--line-soli);
  min-height: 60px;
  padding: 8px;
  position: relative;
  font-size: 1.3rem;
  margin: -1px 0 0 -1px;
}
#calendar-wrapper .day.empty {
  border: 1px solid #fff;
}
#calendar-wrapper .date {
  font-weight: bold;
  display: block;
  line-height: 1;
  margin-bottom: 5px;
}
#calendar-wrapper .today {
  background: var(--clr-pink-lh);
}
#calendar-wrapper .has-event {
  background: var(--clr-yellow-lh);
}
#calendar-wrapper .event-link {
  display: block;
  margin-bottom: 5px;
  text-decoration: none;
  line-height: var(--lh-base-s);
  font-size: 1.2rem;
}
/* PC/SP表示制御 */
#calendar-wrapper .sp-week {
  display: none;
}
#calendar-wrapper .date-row {
  display: flex;
  align-items: center;
}
@media(max-width:600px) {
  #calendar-wrapper .calendar-week {
    display: none;
  }
  #calendar-wrapper .calendar-grid {
    display: block;
  }
  #calendar-wrapper .day {
    min-height: inherit;
  }
#calendar-wrapper .date {
  margin-bottom: 0;
}
  #calendar-wrapper .sp-week {
    display: inline-block;
    color: #666;
	margin-left: 5px;
  }
  #calendar-wrapper .sp-week:last-child {
    color: inherit
  }
  #calendar-wrapper .day.empty {
    display: none;
  }
  #calendar-wrapper .sp-week.sun {
    color: #e60033; /* 日曜 赤 */
  }
  #calendar-wrapper .sp-week.sat {
    color: #0066cc; /* 土曜 青 */
  }
/*  #calendar-wrapper .calendar-today-btn {
    width: 100%;
    margin-top: 8px;
  }*/
}
@media (min-width: 600px) {}
@media (min-width: 1025px) {}
/* sitemap
----------------------------------------------------*/
#sitemap .wsp-pages-title, #sitemap .wsp-categories-title {
  display: none;
}
#sitemap .wsp-pages-list {}
#sitemap .wsp-pages-list li, #sitemap .wsp-categories-list li {
  border-bottom: 1px dashed #ddd;
  padding: .3em .2em;
  list-style: disc;
  list-style-position: inside;
}
#sitemap li::marker {}
#sitemap .wsp-pages-list .children {
  margin-left: 1.5em;
}
#sitemap .wsp-pages-list .children li {
  border-bottom: 0;
  padding: .2em;
}
@media (min-width: 600px) {}
@media (min-width: 1025px) {}
/* 
----------------------------------------------------*/
@media (min-width: 600px) {}
@media (min-width: 1025px) {}
/* 
----------------------------------------------------*/
@media (min-width: 600px) {}
@media (min-width: 1025px) {}
/* 
----------------------------------------------------*/
@media (min-width: 600px) {}
@media (min-width: 1025px) {}