@charset "UTF-8";
/* --------------------------------
	レスポンシブ
-------------------------------- */
/*
不具合対処用
症状：iphoneでsvg画像が表示されない
対処法：svgタグにwidth="100%"を付与することで表示されるようになる
*/
svg {
  width: 100%;
}

/* --------------------------------
	フォント
-------------------------------- */
/* --------------------------------
カラー
-------------------------------- */
.bg-color-beige {
  background-color: #FDF8EA;
}

.bg-color-cream {
  background-color: #fffaf0;
}

/* --------------------------------
	アニメーション
-------------------------------- */
.font-murecho {
  font-family: 'Murecho', sans-serif;
}

.js-modal_trigger {
  cursor: pointer;
}

.js-modal_box {
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 10000;
}

.js-modal_bg {
  background-color: rgba(30, 30, 30, 0.65);
  height: 100%;
  width: 100%;
}

.slick-dots li:only-child {
  display: none;
}

.common-modal_inner {
  background-color: #fff;
  padding: 3rem;
  position: absolute;
  width: 75%;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  max-height: 75%;
}

@media (max-width: 767px) {
  .common-modal_inner {
    width: 85%;
    max-height: 85%;
  }
}

@media (max-width: 575px) {
  .common-modal_inner {
    width: 90%;
    padding: 25px;
  }
}

.common-modal_block {
  max-height: calc(100% - 1.5rem);
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
  padding-bottom: 3rem;
}

@media (max-width: 575px) {
  .common-modal_block {
    max-height: calc(100% - 2.5rem);
  }
}

.common-modal_block::-webkit-scrollbar {
  display: none;
}

.common-modal_block::after {
  display: block;
  position: absolute;
  bottom: 3.5rem;
  left: 0;
  content: "";
  width: 100%;
  height: 60px;
  background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 0.9) 50%, #fff 100%);
}

.common-modal_close {
  margin: 1rem auto 0;
  width: 20%;
}

.common-modal_close:hover {
  cursor: pointer;
}

.common-modal_close div {
  border: solid 1px black;
  padding: 0.25rem 1rem;
}

.common-modal_close div:hover {
  border: solid 1px transparent;
  color: white;
}

.anime .anime-scroll:nth-of-type(1) {
  opacity: 0;
  transform: translateY(30px);
  transition: transform 1s ease 0.2s, opacity 1s ease 0.2s;
}

.anime .anime-scroll:nth-of-type(2) {
  opacity: 0;
  transform: translateY(30px);
  transition: transform 1s ease 0.4s, opacity 1s ease 0.4s;
}

.anime .anime-scroll:nth-of-type(3) {
  opacity: 0;
  transform: translateY(30px);
  transition: transform 1s ease 0.6s, opacity 1s ease 0.6s;
}

.anime .anime-scroll:nth-of-type(4) {
  opacity: 0;
  transform: translateY(30px);
  transition: transform 1s ease 0.8s, opacity 1s ease 0.8s;
}

.anime .anime-scroll:nth-of-type(5) {
  opacity: 0;
  transform: translateY(30px);
  transition: transform 1s ease 1s, opacity 1s ease 1s;
}

.anime .anime-scroll:nth-of-type(6) {
  opacity: 0;
  transform: translateY(30px);
  transition: transform 1s ease 1.2s, opacity 1s ease 1.2s;
}

.anime .anime-scroll:nth-of-type(7) {
  opacity: 0;
  transform: translateY(30px);
  transition: transform 1s ease 1.4s, opacity 1s ease 1.4s;
}

.anime .anime-scroll:nth-of-type(8) {
  opacity: 0;
  transform: translateY(30px);
  transition: transform 1s ease 1.6s, opacity 1s ease 1.6s;
}

.anime .anime-scroll:nth-of-type(9) {
  opacity: 0;
  transform: translateY(30px);
  transition: transform 1s ease 1.8s, opacity 1s ease 1.8s;
}

.anime .anime-scroll:nth-of-type(10) {
  opacity: 0;
  transform: translateY(30px);
  transition: transform 1s ease 2s, opacity 1s ease 2s;
}

.anime .anime-scroll:nth-of-type(11) {
  opacity: 0;
  transform: translateY(30px);
  transition: transform 1s ease 2.2s, opacity 1s ease 2.2s;
}

.anime .anime-scroll:nth-of-type(12) {
  opacity: 0;
  transform: translateY(30px);
  transition: transform 1s ease 2.4s, opacity 1s ease 2.4s;
}

.anime .anime-scroll:nth-of-type(13) {
  opacity: 0;
  transform: translateY(30px);
  transition: transform 1s ease 2.6s, opacity 1s ease 2.6s;
}

.anime .anime-scroll:nth-of-type(14) {
  opacity: 0;
  transform: translateY(30px);
  transition: transform 1s ease 2.8s, opacity 1s ease 2.8s;
}

.anime .anime-scroll:nth-of-type(15) {
  opacity: 0;
  transform: translateY(30px);
  transition: transform 1s ease 3s, opacity 1s ease 3s;
}

.anime .anime-scroll:nth-of-type(16) {
  opacity: 0;
  transform: translateY(30px);
  transition: transform 1s ease 3.2s, opacity 1s ease 3.2s;
}

.anime .anime-scroll:nth-of-type(17) {
  opacity: 0;
  transform: translateY(30px);
  transition: transform 1s ease 3.4s, opacity 1s ease 3.4s;
}

.anime .anime-scroll:nth-of-type(18) {
  opacity: 0;
  transform: translateY(30px);
  transition: transform 1s ease 3.6s, opacity 1s ease 3.6s;
}

.anime .anime-scroll:nth-of-type(19) {
  opacity: 0;
  transform: translateY(30px);
  transition: transform 1s ease 3.8s, opacity 1s ease 3.8s;
}

.anime .anime-scroll:nth-of-type(20) {
  opacity: 0;
  transform: translateY(30px);
  transition: transform 1s ease 4s, opacity 1s ease 4s;
}

.anime.anime_active .anime-scroll {
  opacity: 1 !important;
  transform: translate(0, 0) !important;
}

/* --------------------------------
	全サイト共通設定
-------------------------------- */
.nav-link {
  color: #212529;
}

.nav-link:hover {
  color: inherit;
}

.nav-link:focus {
  color: inherit;
}

.navbar-light .navbar-toggler {
  border: none;
  outline: none;
  color: initial;
  margin-left: auto;
}

.navbar-light .navbar-toggler:focus {
  background-color: transparent;
  box-shadow: none;
}

.navbar-light .navbar-toggler-icon {
  background-image: none;
}

.navbar-toggler[aria-expanded='true'] span.navbar-toggler-icon span:nth-of-type(1) {
  transform: translateY(12px) rotate(-45deg);
}

.navbar-toggler[aria-expanded='true'] span.navbar-toggler-icon span:nth-of-type(2) {
  opacity: 0;
}

.navbar-toggler[aria-expanded='true'] span.navbar-toggler-icon span:nth-of-type(3) {
  transform: translateY(-12px) rotate(45deg);
}

#site-container {
  position: relative;
  min-height: 100vh;
}

.site-content {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

html, body {
  font-size: 1rem;
  font-family: sans-serif;
  letter-spacing: .02em;
}

body {
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  flex-direction: column;
  min-height: 100vh;
}

body #content {
  flex: 1;
}

h1, h2, h3, h4, h5, h6 {
  font-family: sans-serif;
  line-height: 1.6;
  letter-spacing: .02em;
}

h1:before, h2:before, h3:before, h4:before, h5:before, h6:before {
  content: none;
}

h1:not(.site-title):before {
  content: none;
}

p {
  letter-spacing: .02em;
  line-height: 1.6;
}

a {
  color: inherit;
  text-decoration: none;
}

a:hover {
  color: inherit;
}

a:visited {
  color: inherit;
}

a:focus {
  outline: none;
  text-decoration: none;
}

@media (hover: hover) {
  button:hover {
    background-color: inherit;
  }
}

ul, ol {
  font-family: sans-serif;
}

.common-shadow {
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.25);
}

.common-text-edge {
  text-shadow: 1px 1px 5px #fff, -1px -1px 5px #fff, -1px 1px 5px #fff, 1px -1px 5px #fff, 0px 1px 5px #fff, 0 -1px 5px #fff, -1px 0 5px #fff, 1px 0 5px #fff;
}

.slick-dots li:only-child {
  display: none !important;
}

.breadcrumb-wrap {
  width: 100%;
  position: absolute;
  z-index: 1;
}

#breadcrumb {
  color: #b6b6b6;
  padding: .25rem 0;
  font-size: .75rem;
  font-weight: normal;
  flex-wrap: wrap;
}

@media (max-width: 575px) {
  #breadcrumb {
    font-size: .7rem;
  }
}

#breadcrumb li br {
  display: none;
}

#breadcrumb li:after {
  content: "\03e";
  padding: 0 .4rem;
}

#breadcrumb li:last-child {
  font-weight: bold;
  color: #333333;
}

#breadcrumb li:last-child:after {
  content: none;
  padding-right: 0;
}

.breadclumb_link_text {
  transition: 0.2s all;
}

@media (hover: hover) {
  .breadclumb_link_text:hover {
    opacity: 0.5;
  }
}

@media (max-width: 575px) {
  .fade-with-scroll, .fadeout-with-scroll {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s, transform 0.3s;
    display: none;
  }
}

@media (max-width: 575px) {
  .js-common-header.is-fadein {
    opacity: 1;
    visibility: visible;
    display: block;
  }
}

.site-header {
  z-index: 1000;
}

.site-header__logo {
  width: 24%;
  max-width: 150px;
  min-width: 100px;
}

@media (max-width: 991px) {
  .site-header__logo {
    width: 30%;
  }
}

@media (max-width: 767px) {
  .site-header__logo {
    width: auto;
  }
}

.site-header__logo .logo_img {
  padding-top: .5rem;
  padding-bottom: .5rem;
}

@media (max-width: 991px) {
  .site-header__logo .logo_img {
    position: absolute;
    top: 0;
    left: 0;
  }
  .site-header__logo .logo_img img {
    height: 50px;
    max-width: inherit;
  }
}

.site-header__logo .logo_img::before {
  content: none;
}

.site-header__menu {
  width: auto;
  align-self: stretch;
}

.menu-list {
  height: 100%;
  padding-top: 0;
  padding-bottom: 0;
}

@media (max-width: 991px) {
  .menu-list {
    height: auto;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
}

.menu-list #navbarNav {
  height: 100%;
}

@media (max-width: 991px) {
  .menu-list #navbarNav {
    height: auto;
  }
}

.menu-list__child {
  position: absolute;
  min-width: 250px;
  overflow-y: auto;
  max-height: calc(90vh - 100px);
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}

@media screen and (min-width: 992px) {
  .menu-list__child {
    opacity: 0;
    transition: .5s;
    visibility: hidden;
    height: 0;
    border-radius: 0 0 0.5rem 0.5rem;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.25);
  }
}

@media (max-width: 991px) {
  .menu-list__child {
    position: static;
    transform: translateX(0);
    width: 100%;
    height: auto;
  }
}

@media (max-width: 991px) {
  .menu-list__child.js-open {
    border-bottom: 1px solid lightgray;
  }
}

@media (max-width: 991px) {
  .menu-list__child__link::after {
    content: "";
    right: 2rem;
    background: none;
    transform: rotate(45deg);
    width: 10px;
    height: 10px;
    border-top: 2px solid #333333;
    border-right: 2px solid #333333;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
  }
}

.menu-list__child__list {
  overflow: hidden;
  font-size: .9rem;
  background-color: white;
}

@media (max-width: 991px) {
  .menu-list__child__list {
    overflow: hidden;
    border-bottom: 1px solid white;
  }
}

.menu-list__parent {
  height: 100%;
}

@media (max-width: 991px) {
  .menu-list__parent {
    height: 100vh;
  }
}

.menu-list__parent__link {
  white-space: nowrap;
  top: 50%;
  transform: translateY(-50%);
}

@media (max-width: 991px) {
  .menu-list__parent__link {
    border-bottom: 1px solid lightgray;
    top: auto;
    transform: translateY(0);
  }
  .menu-list__parent__link.js-open {
    border-bottom: none;
  }
}

@media (max-width: 991px) {
  .menu-list__parent__link:not(.js-menu_child_open)::after {
    content: "";
    right: 2rem;
    background: none;
    transform: rotate(45deg);
    width: 10px;
    height: 10px;
    border-top: 2px solid #317465;
    border-right: 2px solid #317465;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
  }
}

.menu-list__parent__link .open-icon, .menu-list__parent__link .close-icon {
  display: none;
}

.menu-list__parent__link.js-menu_child_open .open-icon {
  display: block;
}

.menu-list__parent__link.js-menu_child_open .close-icon {
  display: none;
}

.menu-list__parent__link.js-open .open-icon {
  display: none;
}

.menu-list__parent__link.js-open .close-icon {
  display: block;
}

.menu-list__parent__list {
  height: 100%;
}

@media (max-width: 991px) {
  .menu-list__parent__list {
    height: auto;
  }
}

.menu-list__parent__list:nth-last-child(1) .menu-list__parent__link {
  padding-right: 0;
}

@media screen and (min-width: 992px) {
  .menu-list__parent__list:hover .menu-list__child {
    opacity: 1;
    height: auto;
    visibility: visible;
  }
}

@media (max-width: 991px) {
  .community-site-content .menu-list__parent__link:not(.js-menu_child_open)::after {
    border-top-color: #F7922C;
    border-right-color: #F7922C;
  }
}

.community-site-content .open-icon .a, .community-site-content .close-icon .a {
  fill: #F7922C;
}

.menu-arrow {
  position: relative;
  padding-right: 1.5rem;
}

.menu-arrow__icon {
  display: inline-block;
  right: 0;
  background: none;
  transform: rotate(45deg);
  width: 10px;
  height: 10px;
  border-bottom: 2px solid #469F98;
  border-right: 2px solid #469F98;
  position: absolute;
  top: -4px;
  bottom: 0;
  margin: auto;
}

@media (max-width: 991px) {
  .menu-arrow__icon {
    display: none;
  }
}

.community-site-content .menu-arrow__icon {
  border-bottom-color: #F7922C;
  border-right-color: #F7922C;
}

.search_trigger {
  background: transparent;
  font-weight: normal;
  font-size: 1em;
}

.archive-links__title {
  font-weight: bold;
  color: white;
  background-color: #F7922C;
  margin: 0 0 .25rem;
  padding: .2rem .2rem .2rem 1rem;
  cursor: pointer;
}

.archive-links__content {
  padding: .5rem;
  list-style: none;
}

.archive-links li {
  line-height: 1.9;
  font-size: .9rem;
  font-weight: normal;
}

.archive-links > ul > li:not(:first-of-type) {
  margin-top: .5rem;
}

.archive-links .year-acor p {
  background-color: #fafafa;
}

.archive-links .year-acor svg {
  position: absolute;
  right: 0.5rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1.1rem;
}

.archive-links .year-acor svg .a {
  fill: #212529;
}

.archive-links .year-acor .open-cat {
  display: block;
}

.archive-links .year-acor .close-cat {
  display: none;
}

.archive-links .year-acor.open .open-cat {
  display: none;
}

.archive-links .year-acor.open .close-cat {
  display: block;
}

.archive-links .js-accordion-btn {
  position: relative;
}

.archive-links .js-accordion-btn::before {
  content: "";
  width: 0;
  height: 0;
  margin-top: -4px;
  display: block;
  position: absolute;
  top: 50%;
  left: calc(100% - 1.5rem);
  border: 5px solid transparent;
  border-top: 9px solid white;
}

.archive-links .js-accordion-btn.js-opened::before {
  border-top: none;
  border-bottom: 9px solid white;
}

.archive-link-left {
  margin-left: 1rem;
  position: relative;
}

.archive-link-left:before {
  content: "";
  width: 0;
  height: 0;
  margin-top: -4px;
  display: block;
  position: absolute;
  top: 50%;
  right: 100%;
  border: 5px solid transparent;
  border-left: 9px solid #F7922C;
}

.archive-link-right {
  margin-right: 1rem;
  position: relative;
}

.archive-link-right:before {
  content: "";
  width: 0;
  height: 0;
  margin-top: -4px;
  display: block;
  position: absolute;
  top: 50%;
  left: 100%;
  border: 5px solid transparent;
  border-left: 9px solid #F7922C;
}

.archive-title {
  padding-left: .5rem;
  border-left: 5px solid #F7922C;
  margin-bottom: .3rem;
}

/* --------------------------------
	サイト内 共通設定
-------------------------------- */
.theme-container {
  width: 85%;
  margin: 0 auto;
}

@media (max-width: 575px) {
  .theme-container {
    width: 90%;
  }
}

.article-tit {
  font-size: 1.2rem;
}

.cat-name {
  font-size: .7rem !important;
}

.hover-up {
  transition: .2s;
}

.hover-up:hover {
  transform: translateY(-5px) !important;
}

.hover-opacity {
  transition: 0.2s;
}

@media (hover: hover) {
  .hover-opacity:hover {
    opacity: 0.7;
  }
}

@media (hover: none) {
  .hover-opacity:active {
    opacity: 0.7;
  }
}

.hover-transform-end {
  transition: .2s;
}

.hover-transform-end:hover {
  transform: translateX(5px);
}

.text-button-more-non-color {
  border-radius: 2rem;
  text-align: center;
  padding: 5px 2rem;
  white-space: nowrap;
  font-weight: bold;
}

@media (max-width: 575px) {
  .text-button-more-non-color {
    font-size: 1.2rem;
  }
}

/* - - - - - - - - - - - - - - - - - - - */
/*bootstrap式　クラス補完パーツ */
.fs-7 {
  font-size: .8rem !important;
}

.fs-small {
  font-size: small;
}

.w-fit {
  width: fit-content;
}

.w-xl-50 {
  width: 50%;
}

@media (max-width: 1199px) {
  .w-xl-50 {
    width: initial;
  }
}

.w-sm-100 {
  width: 100%;
}

@media (max-width: 575px) {
  .w-sm-100 {
    width: initial;
  }
}

.h-101 {
  height: 101%;
}

.ul-circle {
  list-style: circle;
}

.height-100 {
  height: 100%;
}

.object-fit-contain {
  object-fit: contain;
}

.object-fit-cover {
  object-fit: cover;
}

.border-ex {
  border: solid;
}

.border-bottom-ex {
  border-bottom: 1px solid;
}

.border-start-ex {
  border-left: solid;
}

.border-end-ex {
  border-right: solid;
}

.border-end-lg-ex {
  border-right: solid;
}

@media (max-width: 991px) {
  .border-end-lg-ex {
    border-right: none;
  }
}

.border-double {
  border: double;
}

.border-bottom-dotted {
  border-bottom: 4px dotted;
}

.border-7 {
  border-width: 7px;
}

.border-bottom-ex-none {
  border-bottom: none;
}

.rotate-45 {
  transform: rotate(45deg);
}

.rotate-90 {
  transform: rotate(90deg);
}

.rotate-135 {
  transform: rotate(135deg);
}

.rounded-ex-1 {
  border-radius: 1rem;
}

.rounded-ex-3 {
  border-radius: 3rem;
}

.lh-ex-2 {
  line-height: 2;
}

.lh-ex-3 {
  line-height: 3;
}

/* ----------カラー設定---------- */
.text-color-gray {
  color: #666666;
}

.text-color-light-gray {
  color: #C4C4C4;
}

.text-color-light-yellow {
  color: #F7F6D7;
}

.text-color-brown {
  color: #643B03;
}

.text-color-coral {
  color: #EF865E;
}

@media (max-width: 575px) {
  .text-color-coral-sm {
    color: #EF865E;
  }
}

.text-color-pink {
  color: #F66788;
}

.text-color-light-brown {
  color: #AC9884;
}

.text-color-dark-ashe {
  color: #6E685F;
}

.border-color-coral {
  border-color: #EF865E;
}

.bg-pink {
  background-color: #F66788;
}

.bg-translucent {
  background-color: rgba(255, 255, 255, 0.7);
}

.bg-transparent {
  background-color: transparent;
}

.bg-body-dark {
  background-color: #333333;
}

.bg-gray {
  background-color: #666666;
}

.bg-super-light-gray {
  background-color: #F9F9F9;
}

.bg-light-brown {
  background-color: #AC9884;
}

.bg-emerald {
  background-color: #2FC9BB;
}

.bg-orange {
  background-color: #d97e00;
}

.bg-ashe {
  background-color: #F4EBE2;
}

.border-color-brown {
  border-color: #643B03 !important;
}

.border-color-light-gray {
  border-color: #C4C4C4;
}

.border-color-beige {
  border-color: #FDF8EA;
}

.border-color-ashe {
  border-color: #F4EBE2;
}

.border-color-white {
  border-color: white;
}

/* ----------END カラー設定---------- */
.clearfix::after {
  content: "";
  display: block;
  clear: both;
}

.content-width {
  margin-left: 3rem;
  margin-right: 3rem;
}

@media (max-width: 991px) {
  .content-width {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}

#wpfront-scroll-top-container {
  aspect-ratio: 1/1;
  border-radius: 1rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 100;
  width: 40px;
  padding: 0.5rem;
  bottom: 40px !important;
  left: auto !important;
  right: max(10px , calc(50% - 660px - 30px)) !important;
}

@media (max-width: 1399px) {
  #wpfront-scroll-top-container {
    right: max(10px,calc(50% - 570px - 30px)) !important;
  }
}

@media (max-width: 1199px) {
  #wpfront-scroll-top-container {
    right: max(10px,calc(50% - 480px - 30px)) !important;
  }
}

@media (max-width: 991px) {
  #wpfront-scroll-top-container {
    right: max(10px,calc(50% - 360px - 30px)) !important;
    bottom: 80px !important;
  }
}

@media (max-width: 767px) {
  #wpfront-scroll-top-container {
    right: max(10px,calc(50% - 270px - 30px))  !important;
  }
}

@media (max-width: 575px) {
  #wpfront-scroll-top-container {
    right: 20px !important;
  }
}

#wpfront-scroll-top-container i::before {
  color: white;
}

.topics_post__text {
  width: 50%;
}

.topics_post__title {
  font-size: 1rem;
}

@media (max-width: 575px) {
  .topics_post__title {
    font-size: .9rem;
  }
}

@media (max-width: 991px) {
  .topics_post__time {
    font-size: .8rem;
  }
}

.topics_post__time::before {
  content: "";
  width: 2rem;
  height: 1px;
  display: block;
  background-color: white;
  margin-right: .3rem;
}

.topics_post__img {
  width: 50%;
}

.product_post:nth-child(2n), .product_post:nth-child(3n), .product_post:nth-child(4n) {
  border-left: 1px solid #C4C4C4;
}

@media (max-width: 767px) {
  .product_post:nth-child(3n), .product_post:nth-child(4n) {
    border-left: none;
  }
}

.product_post__title {
  font-size: 1.1rem;
}

.product_post__content {
  font-size: .9rem;
}

/* --------------------------------
	トップページ
-------------------------------- */
.front-article {
  margin-right: 1.5rem;
}

@media (max-width: 575px) {
  .front-article {
    margin-right: 0;
  }
}

/* --------------------------------
	イベント・講座
-------------------------------- */
.article-list .bt-slider_item {
  margin: 0 auto 4rem !important;
  width: 94%;
}

@media (max-width: 575px) {
  .article-list .bt-slider_item:last-child {
    margin-bottom: 0 !important;
  }
}

/* --------------------------------
	協会の事業
-------------------------------- */
.article .article-header {
  position: relative;
}

@media (max-width: 575px) {
  .article .article-header {
    display: block !important;
  }
}

.article .article-header__about h2 {
  margin-top: .75rem;
}

.article .article-header__link-btn {
  width: 140px;
  position: absolute;
  right: 0;
}

@media (max-width: 767px) {
  .article .article-header__link-btn {
    display: none;
  }
}

.sp-next_link {
  display: none;
}

@media (max-width: 767px) {
  .sp-next_link {
    display: block;
  }
}

/* --------------------------------
	新着情報
-------------------------------- */
.news-category {
  color: white;
  padding: 3px 1em;
  margin: 0;
  margin-right: 0.5rem;
  font-size: 0.625rem;
  font-weight: bold;
  letter-spacing: 1px;
  text-align: center;
  white-space: nowrap;
  background-color: #666666;
}

@media (max-width: 575px) {
  .news-category {
    font-size: 0.8rem;
    margin-right: 0.8rem;
  }
}

.news-tag {
  border: 1px solid;
  border-radius: 5rem;
  padding: 3px 1em;
  margin: 0;
  font-size: 0.625rem;
  font-weight: bold;
  letter-spacing: 1px;
  white-space: nowrap;
  color: #EF865E;
  border-color: #EF865E;
}

.news-icon-new {
  color: #ff4b00;
  margin-bottom: 0;
  font-weight: bold;
  font-size: 0.8rem;
}

.news_post__new {
  width: 60px;
}

.news_post__time {
  width: 100px;
}

.news_post__category {
  width: 100px;
  text-align: center;
}

.news_post__title {
  width: calc(100% - (60px + 100px + 100px));
}

@media (max-width: 991px) {
  .news_post__title {
    width: 100%;
  }
}

.news-box {
  border-radius: 1rem;
}

.news-box .news-list {
  border-top: 1px solid #cccccc;
  margin-top: .8rem;
  padding-top: 1rem;
  line-height: 1.6;
  padding-left: 1rem;
}

.news-box .news-list:nth-of-type(1) {
  margin-top: 0;
}

.news-box .news-list:nth-last-of-type(1) {
  border-bottom: 1px solid #cccccc;
  padding-bottom: 0.5rem;
}

.news-box .news-article-title {
  font-size: 1rem;
  font-weight: normal;
}

.news-text-date {
  color: #666666;
  margin: 0;
  margin-right: 1rem;
  font-size: 0.8rem;
}

.page-numbers {
  list-style: none;
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  justify-content: center;
  -webkit-justify-content: center;
}

.page-numbers li {
  margin: 0 .25rem;
}

.page-numbers li a,
.page-numbers li span.page-numbers {
  padding: .25rem .5rem;
  border: solid 1px #643B03;
  color: #643B03;
  font-size: .8rem;
}

.page-numbers li span.page-numbers.current {
  border: solid 1px transparent;
  color: white !important;
  background-color: #643B03;
}

.page-numbers li span.page-numbers.dots {
  border: 0 !important;
}

.page-numbers li a.next.page-numbers,
.page-numbers li a.prev.page-numbers {
  border: 0;
}

.content-one-side {
  width: calc(50vw + 660px + 6px);
}

@media (max-width: 1399px) {
  .content-one-side {
    width: calc(50vw + 570px + 6px);
  }
}

@media (max-width: 1199px) {
  .content-one-side {
    width: calc(50vw + 480px + 6px);
  }
}

@media (max-width: 991px) {
  .content-one-side {
    width: calc(50vw + 360px + 6px);
  }
}

@media (max-width: 767px) {
  .content-one-side {
    width: calc(50vw + 270px + 6px);
  }
}

@media (max-width: 575px) {
  .content-one-side {
    width: initial;
  }
}

.home-vertical-text {
  writing-mode: vertical-rl;
  text-orientation: upright;
}

.home-vertical-text p {
  letter-spacing: .25rem;
}

@media (max-width: 575px) {
  .home-vertical-text p {
    font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", Meiryo, "Helvetica Neue", sans-serif;
  }
}

.home-vertical-text .hvt-rotate {
  writing-mode: initial;
  transform: rotate(90deg);
  line-height: 2.5rem;
}

.button-arrow-right-orange, .button-arrow-right-blue {
  border-radius: 50%;
  z-index: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 35px;
  aspect-ratio: 1/1;
}

.button-arrow-right-orange::after, .button-arrow-right-blue::after {
  font-family: "Font Awesome 5 Free";
  content: "\f061";
  font-weight: 900;
  display: block;
  color: white;
}

.button-arrow-right-orange {
  background-color: #d97e00;
}

.button-arrow-right-blue {
  background-color: #002555;
}

.common-frame-circle {
  mask-image: url(../image/common/deco/frame_circle_01.svg);
  mask-repeat: no-repeat;
  mask-size: cover;
  -webkit-mask-image: url(../image/common/deco/frame_circle_01.svg);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: cover;
  aspect-ratio: 1/1;
}

.filter-dark {
  position: absolute;
  background-color: rgba(0, 0, 0, 0.3);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.next-arrow-scroll, .slide-arrow-scroll-sp {
  z-index: 1;
  transition: all 0.3s;
}

.next-arrow-scroll {
  position: absolute;
  bottom: -4rem;
  right: 3rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  background-color: transparent;
  opacity: 1;
}

.next-arrow-scroll::before {
  content: "scroll";
  display: block;
  color: #666666;
}

.next-arrow-scroll::after {
  content: "";
  background-image: url(../image/common/icon/arrow_scroll.svg);
  background-size: contain;
  background-repeat: no-repeat;
  display: block;
  width: 100px;
  height: 1rem;
}

.next-arrow-scroll:focus {
  background-color: transparent;
}

.next-arrow-scroll:hover {
  opacity: 0.6;
}

.slide-arrow-scroll-sp {
  top: 33vw;
  color: #74C44E;
  background-color: white;
  border: 1px solid #74C44E;
  border-radius: 50%;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.25);
  width: 40px;
  height: 40px;
  position: absolute;
  padding: 0;
}

.slide-arrow-scroll-sp::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 1.3rem;
  color: #74C44E;
  display: block;
}

.slide-arrow-scroll-sp:focus {
  background-color: white;
}

.prev-arrow-scroll-sp {
  left: 5px;
}

.prev-arrow-scroll-sp::before {
  content: "\f060";
}

.next-arrow-scroll-sp {
  right: 5px;
}

.next-arrow-scroll-sp::before {
  content: "\f061";
}

.box-type_slider {
  opacity: 0;
}

.box-type_slider.slick-initialized {
  opacity: 1;
}

@media (max-width: 575px) {
  .box-type_slider .slick-list {
    overflow: visible;
  }
}

.bt-slider_item {
  box-sizing: border-box;
}

.bt-slider_img, .facility_img-wrap {
  overflow: hidden;
  aspect-ratio: 4/3;
  position: relative;
}

.bt-slider_img img, .facility_img-wrap img {
  position: absolute;
  top: 50%;
  left: 50%;
  object-fit: cover;
  width: 100%;
  height: 100%;
  transform: translate(-50%, -50%);
}

.bt-slider-category {
  color: white;
  padding: 3px 1em;
  margin: 0;
  margin-right: 0.5rem;
  font-size: 0.625rem;
  font-weight: bold;
  letter-spacing: 1px;
  text-align: center;
  white-space: nowrap;
  background-color: #2FC9BB;
  width: 7em;
  margin: 8px 0;
}

@media (max-width: 575px) {
  .bt-slider-category {
    font-size: 0.8rem;
    margin-right: 0.8rem;
  }
}

.bt-slider-copy {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
  font-size: 0.9rem;
  font-weight: bold;
}

@media (max-width: 575px) {
  .bt-slider-copy {
    font-size: 1rem;
  }
}

.bt-slider-area {
  margin-bottom: 0.25rem;
  font-size: small;
  font-weight: bold;
}

@media (max-width: 575px) {
  .bt-slider-area {
    font-size: 1rem;
  }
}

#thumbnail-type_slider_body {
  max-width: 100%;
  opacity: 0;
}

#thumbnail-type_slider_body.slick-initialized {
  opacity: 1;
}

#thumbnail-type_slider_body .slick-img {
  height: 400px;
  display: flex;
  justify-content: center;
}

#thumbnail-type_slider_body .slick-img img {
  object-fit: contain;
}

@media (max-width: 575px) {
  #thumbnail-type_slider_body .slick-img {
    height: 200px;
  }
}

#thumbnail-type_slider_thumb {
  max-width: 50%;
}

@media (max-width: 991px) {
  #thumbnail-type_slider_thumb {
    max-width: 75%;
  }
}

@media (max-width: 298px) {
  #thumbnail-type_slider_thumb {
    max-width: 100%;
  }
}

#thumbnail-type_slider_thumb .slick-track {
  transform: unset !important;
  max-width: 100%;
  display: flex;
  justify-content: center;
}

#thumbnail-type_slider_thumb .slick-img {
  width: 100%;
  opacity: 0.3;
  overflow: hidden;
  transition: 0.3s all;
  display: flex;
  justify-content: center;
}

#thumbnail-type_slider_thumb .slick-img img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
}

#thumbnail-type_slider_thumb .slick-current {
  opacity: 1;
}

.list_about {
  list-style: none;
  width: 100%;
  padding: 0 0.75rem;
  background-color: #F5F5F5;
  border-radius: 0.5rem;
}

.list_about li {
  display: flex;
  border-bottom: 1px solid #C4C4C4;
  padding: 0.75rem;
  gap: 1rem;
}

.list_about li:nth-last-of-type(1) {
  border-bottom: none;
}

.list_about p {
  margin-bottom: 0;
}

@media (max-width: 575px) {
  .list_about {
    width: 100%;
  }
  .list_about li {
    display: block;
  }
}

.list_about .about_h {
  width: 30%;
}

@media (max-width: 575px) {
  .list_about .about_h {
    width: 100%;
  }
}

.list_about .about_b {
  width: 70%;
}

@media (max-width: 575px) {
  .list_about .about_b {
    width: 100%;
    padding-left: 1rem;
  }
}

.crlf span {
  display: inline-block;
}

/* --------------------------------
	サイト内 個別設定
-------------------------------- */
.site-footer {
  padding-top: 9%;
}

.site-footer__company {
  width: 40%;
  margin-right: 3%;
}

@media (max-width: 767px) {
  .site-footer__company {
    width: 100%;
    margin-right: 0;
  }
}

.site-footer__logo {
  width: 180px;
}

@media (max-width: 575px) {
  .site-footer__logo {
    width: 120px;
  }
}

@media (max-width: 575px) {
  .footer-text-policy {
    font-size: 0.9rem;
  }
}

@media (max-width: 575px) {
  .footer-text-address {
    font-size: 0.8rem;
  }
}

@media (max-width: 575px) {
  .footer-text-contact {
    font-size: 0.9rem;
  }
}

.sns-list__link {
  width: 2.4rem;
  height: 2.4rem;
}

.sns-list__link svg {
  width: 2rem;
  height: 2rem;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.footer_hamburger {
  background-color: #F7922C;
  z-index: 1;
}

.footer_hamburger .hamburger-btn {
  text-align: center;
  padding: .25rem;
  background-color: #F7922C;
}

.footer_hamburger .hamburger-btn:focus {
  background-color: transparent;
}

.footer_hamburger .hamburger-btn svg {
  width: 3rem;
  fill: white;
}

.footer_hamburger .hamburger-btn span {
  font-size: .75rem;
  color: white;
  font-weight: bold;
  padding-top: .25rem;
}

.footer_hamburger .hamburger-btn__img {
  width: 35px;
  height: 35px;
  color: white;
}

.sitemap__header {
  z-index: 1;
}

.sitemap__header__close::before {
  content: "\00D7";
  font-size: 1.5rem;
  font-weight: bold;
  color: #333333;
  z-index: 1;
}

.sitemap__content {
  border-top: 1px solid #C4C4C4;
  margin-top: 52px;
  max-height: 100%;
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.common-header-frame {
  background-color: rgba(255, 255, 255, 0.9);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.25);
  border-radius: 5rem;
}

@media (max-width: 991px) {
  .common-header-frame {
    background-color: white;
    border-radius: initial;
    box-shadow: none;
    max-height: 100vh;
    border-radius: 0;
  }
}

@media (max-width: 991px) {
  .fadeout-with-scroll .common-header-frame {
    background-color: transparent;
    border-radius: initial;
    box-shadow: none;
  }
}

/*===========================================*/
/* トップページ */
/*===========================================*/
.deco-halo-position {
  display: flex;
  padding-left: 2rem;
  padding-bottom: 4px;
}

@media (max-width: 575px) {
  .deco-halo-position {
    padding-left: 0;
    justify-content: center;
  }
}

/*===========================================*/
/* 支部一覧 */
/*===========================================*/
.js-ward-data .js-ward-map, .js-ward-data .js-ward-name {
  transition: .1s;
}

.js-ward-data.hover .js-ward-map {
  fill: rgba(239, 135, 94, 0.3);
}

.js-ward-data.active .js-ward-map {
  fill: #EF865E;
}

.js-ward-data.active .js-ward-name {
  fill: white;
}

.branches-first-bg {
  width: 25vw;
  min-width: 300px;
  max-width: 400px;
  top: 20%;
  right: min(200px,5%);
  opacity: 0.18;
  z-index: -1;
}

.branches-border-type1 {
  position: relative;
}

.branches-border-type1::before {
  content: "";
  display: block;
  position: absolute;
  left: -0.5em;
  bottom: -0.5em;
  width: calc(100% + 1em);
  height: 1px;
  border-bottom: 0.5em solid #FEF451;
  z-index: -1;
}

/* - - - - - 支部一覧のリスト - - - - - */
.branches-grid-container {
  display: grid;
  grid-template-columns: 3fr 4fr 2fr 2fr 3fr;
  grid-template-areas: "branch address tel fax facility";
  background-color: #FFFBF7;
}

.branches-grid-container .branches-grid-item {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.5rem;
  border: 2px solid white;
}

.branches-grid-container .branches-grid-item::before {
  display: none;
}

.branches-grid-container .bgi-address, .branches-grid-container .bgi-facility {
  justify-content: left;
}

.branches-grid-container.bgi-header {
  background-color: #F4EBE2;
}

.branches-grid-container.bgi-header .branches-grid-item::before {
  display: block;
  border-left: none;
}

.branches-grid-container.bgi-header .bgi-address, .branches-grid-container.bgi-header .bgi-facility {
  justify-content: center;
}

@media (max-width: 991px) {
  .branches-grid-container {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr auto auto auto auto;
    grid-template-areas: "branch" "address" "tel" "fax" "facility";
  }
  .branches-grid-container .branches-grid-item {
    padding: 0;
  }
  .branches-grid-container .bgi-name {
    background-color: #F4EBE2;
  }
  .branches-grid-container .bgi-address, .branches-grid-container .bgi-tel, .branches-grid-container .bgi-fax, .branches-grid-container .bgi-facility {
    justify-content: left;
    text-align: left;
  }
  .branches-grid-container .bgi-address::before, .branches-grid-container .bgi-tel::before, .branches-grid-container .bgi-fax::before, .branches-grid-container .bgi-facility::before {
    display: block;
    width: 8rem;
    text-align: center;
  }
  .branches-grid-container .bgi-address p, .branches-grid-container .bgi-tel p, .branches-grid-container .bgi-fax p, .branches-grid-container .bgi-facility p {
    border-left: 3px solid white;
    padding: 0.5rem;
    width: calc(100% - 8rem);
  }
  .branches-grid-container.bgi-header {
    display: none;
  }
}

.branches-grid-container .bgi-name {
  grid-area: branch;
}

.branches-grid-container .bgi-name::before {
  content: "支部名";
}

.branches-grid-container .bgi-address {
  grid-area: address;
}

.branches-grid-container .bgi-address::before {
  content: "住所";
}

.branches-grid-container .bgi-tel {
  grid-area: tel;
}

.branches-grid-container .bgi-tel::before {
  content: "TEL";
}

.branches-grid-container .bgi-fax {
  grid-area: fax;
}

.branches-grid-container .bgi-fax::before {
  content: "FAX";
}

.branches-grid-container .bgi-facility {
  grid-area: facility;
}

.branches-grid-container .bgi-facility::before {
  content: "施設名";
}

/*===========================================*/
/* イベント・講座詳細ページ */
/* ほか、区民まつりページでも一部使用中 */
/*===========================================*/
.event-lesson-card {
  color: white;
  padding: 3px 1em;
  margin: 0;
  margin-right: 0.5rem;
  font-size: 0.625rem;
  font-weight: bold;
  letter-spacing: 1px;
  text-align: center;
  white-space: nowrap;
  font-size: 0.8rem;
}

@media (max-width: 575px) {
  .event-lesson-card {
    font-size: 0.8rem;
    margin-right: 0.8rem;
  }
}

.event-lesson-category-tag {
  border: 1px solid;
  border-radius: 5rem;
  padding: 3px 1em;
  margin: 0;
  font-size: 0.625rem;
  font-weight: bold;
  letter-spacing: 1px;
  white-space: nowrap;
  font-size: 0.8rem;
}

.event-lesson-icon {
  width: 1.75rem;
  aspect-ratio: 1 / 1;
}

.el-icon-indent {
  margin-left: 1.75rem;
}

.event-lesson-link-button {
  border-radius: 2rem;
  text-align: center;
  padding: 5px 2rem;
  white-space: nowrap;
  font-weight: bold;
  color: white;
  background-color: #469F98;
  font-size: 0.9rem !important;
  white-space: initial;
  text-align: left;
}

@media (max-width: 575px) {
  .event-lesson-link-button {
    font-size: 1.2rem;
  }
}

/*===========================================*/
/* 施設一覧ページ */
/*===========================================*/
/*===========================================*/
/* プライバシーポリシーページ */
/*===========================================*/
.privacy-policy-list-type1 {
  counter-reset: number1;
}

.privacy-policy-list-type1 .list-type1-h::before {
  counter-increment: number1;
  content: counter(number1) ".";
}

.privacy-policy-list-type2 {
  list-style: none;
  counter-reset: number2;
}

.privacy-policy-list-type2 dt {
  font-weight: normal;
}

.privacy-policy-list-type2 dt::before {
  counter-increment: number2;
  content: counter(number2) "）";
}

.privacy-policy-list-type2 dd {
  margin-left: 1.5rem;
}

/* --------------------------------
	お問い合わせ
-------------------------------- */
.c-form__items .require {
  font-size: .8rem;
  width: 50px;
  color: white;
  background-color: #EF865E;
  vertical-align: middle;
}

.c-form__items .text-button-back {
  font-size: 1rem;
  border-radius: 2rem;
  text-align: center;
  padding: 5px 2rem;
  white-space: nowrap;
  font-weight: bold;
  color: #666666;
  background-color: white;
  border: 1px solid #666666;
}

.c-form__items .text-button-back:hover {
  background-color: white;
}

.c-form__items .text-button-send {
  font-size: 1rem;
  border-radius: 2rem;
  text-align: center;
  padding: 5px 2rem;
  white-space: nowrap;
  font-weight: bold;
  color: white;
  background-color: #74C44E;
}

.c-form__items .text-button-send:hover {
  background-color: #74C44E;
}

/* --------------------------------
	区民まつりページ
-------------------------------- */
.fes_link {
  border-radius: 2rem;
  background-color: #74C44E;
}
