@charset "UTF-8";
body {
  background-color: #F1F3F2;
  z-index: -900;
  overflow: hidden;
  font-family: "BIZ UDGothic", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
}

.ip-none {
  display: block;
}

.pc-none {
  display: none;
}

.under_page_body {
  width: 90vw;
  margin: 80px auto;
}
.under_page_body .under_page_h2 h2 {
  color: #C37C89;
  border-bottom: 2px solid #B66277;
  margin: 15px auto;
  padding-bottom: 5px;
  font-weight: bold;
  font-weight: bold;
  font-size: 2.6rem;
}
.under_page_body .white_back {
  background-color: #fff;
  width: 92%;
  padding: 40px 4%;
  height: auto;
  margin: 40px auto 60px;
}
.under_page_body .white_back.activity_3 {
  width: 98%;
  padding: 40px 1%;
}

.slide-left {
  position: relative;
  opacity: 0.6;
  left: 100vw;
  transition: left 560ms ease-in-out;
}

.slide-left.is-show {
  left: 0;
  opacity: 1;
}

/* 左から右 */
.slide-right {
  position: relative;
  opacity: 0.1;
  right: 100vw;
  transition: right 560ms ease-in-out;
}

.slide-right.is-show {
  right: 0;
  opacity: 1;
}

/* 下からふわっと表示 */
.slide-up {
  position: relative;
  opacity: 0.6;
  top: 10%;
  opacity: 0;
  transition: top 560ms, opacity 1s;
}

.slide-up.is-show {
  top: 0;
  opacity: 1;
}

/* 浮き出る */
.brash-up {
  opacity: 0;
  transition: top 860ms, opacity 1s;
}

.brash-up.is-show {
  opacity: 1;
}

/* ********************
ぱんクズリスト 
********************** */
.p-breadcrumb {
  margin-top: 50px;
  margin-bottom: 40px;
}

.p-breadcrumb__lists {
  display: flex;
  font-size: 1.5rem;
  margin-left: 30px;
  list-style: none;
}

.p-breadcrumb__item::after {
  content: ">";
  margin-right: 5px;
  margin-left: 5px;
}

.p-breadcrumb__item:last-child:after {
  content: none;
}

.p-breadcrumb__item a span {
  color: #093e69;
}

.fixed {
  position: fixed;
  top: 0;
  z-index: 9999;
}

header {
  padding-top: 30px;
  background-color: #fff;
}
header .title {
  width: 100vw;
  margin-top: 20px;
  margin-bottom: 40px;
  text-align: center;
}
header .title h1 {
  text-align: center;
  margin: 0px auto;
  width: -moz-max-content;
  width: max-content;
  color: #C37C89;
  font-weight: bold;
  font-size: 30px;
}
header .header_container nav.pc-nav {
  width: 100%;
  height: -moz-max-content;
  height: max-content;
  background-color: #AE2E52;
  padding: 20px 0px;
  box-shadow: 0px 5px 3px rgba(18, 17, 17, 0.1607843137);
}
header .header_container nav.pc-nav ul {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin: auto;
}
header .header_container nav.pc-nav ul li {
  width: 100%;
  text-align: center;
  border-right: 1px solid rgba(255, 255, 255, 0.6);
}
header .header_container nav.pc-nav ul li a {
  color: #fff;
  width: 100%;
  display: block;
}
header .header_container nav.pc-nav ul li:last-child {
  border-right: none;
}

footer .copyright {
  background: #C37C89;
  padding: 30px 0px;
  text-align: center;
  font-size: 1.4rem;
  color: #fff;
  margin-top: 30px;
}

.top-img {
  width: 100vw;
  height: auto;
}
.top-img img {
  width: 100%;
  height: auto;
}

.top_flex {
  width: 95vw;
  margin: 20px auto;
}
.top_flex .top_dialy {
  background-color: #fff;
  width: 95%;
  padding: 20px 2.5%;
  text-align: left;
}
.top_flex .top_dialy h2 {
  color: #C37C89;
  border-bottom: 2px solid #B66277;
  margin: 15px auto;
  padding-bottom: 5px;
  font-weight: bold;
}
.top_flex .top_dialy ul {
  width: 100%;
  margin: 10px auto auto 0px;
}
.top_flex .top_dialy ul li {
  width: 100%;
  padding-top: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #bbb;
}
.top_flex .top_dialy ul li a {
  display: flex;
  justify-content: left;
  width: 100%;
  align-items: flex-start;
}
.top_flex .top_dialy ul li a .thumb {
  display: flex;
  justify-content: left;
}
.top_flex .top_dialy ul li a .thumb img {
  width: 180px !important;
  max-width: none !important;
  height: auto !important;
}
.top_flex .top_dialy ul li a .outline {
  width: 95%;
  text-align: left;
  margin-left: 5%;
}
.top_flex .top_dialy ul li a .outline .date {
  font-size: 1.4rem;
  color: #666;
  margin-bottom: 5px;
}
.top_flex .top_dialy ul li:last-child {
  border-bottom: none;
}
.top_flex .top_dialy .top_list {
  width: 100%;
  text-align: right;
  background-color: #C37C89;
  width: -moz-max-content;
  width: max-content;
  margin: 20px 0px 10px auto;
  padding: 10px;
  border-radius: 5px;
}
.top_flex .top_dialy .top_list a {
  color: #fff;
}
.top_flex .top_scedule {
  background-color: #fff;
  width: 95%;
  padding: 20px 2.5%;
  text-align: left;
  margin-top: 20px;
}
.top_flex .top_scedule h2 {
  color: #C37C89;
  border-bottom: 2px solid #B66277;
  margin: 15px auto;
  padding-bottom: 5px;
  font-weight: bold;
}
.top_flex .top_scedule img {
  width: 90%;
  height: auto;
  margin-top: 10px;
}

.annual-schedule {
  margin-top: 50px;
  display: flex;
  justify-content: center;
}
.annual-schedule .schedule_flex {
  min-width: 420px;
  margin-right: 5vw;
  margin-left: 5vw;
}
.annual-schedule__heading {
  font-size: 100%;
  font-weight: bold;
  text-align: center;
  margin-bottom: 40px;
}
.annual-schedule__month {
  margin-bottom: 50px;
}
.annual-schedule__month-title {
  font-size: 100%;
  font-weight: bold;
  margin-bottom: 20px;
  padding-left: 10px;
  border-left: 5px solid #C37C89;
  padding-bottom: 5px;
  border-bottom: 1px solid #aaa;
}
.annual-schedule__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.annual-schedule__item {
  display: flex;
  gap: 8px;
  padding: 5px 0px 5px 15px;
  background: #ffffff;
  margin-bottom: 8px;
  align-items: flex-start;
}
.annual-schedule__date {
  width: 100px;
  color: #333;
  font-weight: bold;
}
.annual-schedule__content {
  flex: 1;
}
.annual-schedule__event {
  width: -moz-max-content;
  width: max-content;
}
.annual-schedule__tag {
  display: inline-block;
  padding: 5px 12px;
  border-radius: 30px;
  font-size: 12px;
  color: #fff;
}

/* 基本は非表示 */
.pattern-section {
  display: none;
  animation: fadeIn 0.5s ease; /* ふわっと表示させる演出 */
}

/* activeクラスがついたら表示 */
.pattern-section.is-active {
  display: block;
}

/* 6つ並べるグリッド設定 */
.grid-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 20px;
}

.grid-item {
  padding: 10px;
  background: #fff;
}

.item-img {
  text-align: center;
}

.item-img img {
  width: 300px;
  height: 200px;
  -o-object-fit: cover;
     object-fit: cover;
}

.item-text {
  text-align: center;
  margin-top: 10px;
}

/* フェードインアニメーション */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (max-width: 900px) {
  .grid-container {
    grid-template-columns: repeat(2, 1fr);
  }
}
/* ボタン全体のコンテナ */
.top_footer_nyukai, .top_footer_link {
  margin: 20px 0;
}

/* リンク全体のスタイル */
.btn-guide {
  display: block; /* 全体をクリック可能に */
  max-width: 400px; /* 必要に応じて調整 */
  text-decoration: none;
  color: #333;
  transition: opacity 0.3s;
}

/* テキスト（h3, p）の余白調整 */
.btn-guide h3 {
  margin: 0;
  font-size: 1.5rem;
  display: flex;
  align-items: center; /* 文字と矢印の高さを揃える */
  justify-content: center;
}

.btn-guide p {
  margin: 5px 0 0;
  font-size: 0.9rem;
  color: #666;
}

.top_introduction {
  width: 95vw;
  margin: 20px auto;
  background-color: #fff;
}
.top_introduction h2 {
  color: #C37C89;
  border-bottom: 2px solid #B66277;
  margin: 15px auto;
  padding-bottom: 5px;
  font-weight: bold;
  margin: 0px 2.5% 20px;
  padding-top: 20px;
}
.top_introduction .pattern-switcher {
  padding: 20px 2.5% 0px 2.5%;
}
.top_introduction .pattern-switcher.activity {
  padding-left: 0px;
}
.top_introduction .pattern-switcher #pattern-select {
  width: -moz-max-content;
  width: max-content;
  padding: 5px 10px;
  color: #333;
}
.top_introduction .patterns-content {
  padding: 20px 0px 20px 0px;
}

/* ＞ 記号のスタイル */
.btn-guide .arrow {
  display: inline-block; /* 動かすために必須 */
  margin-left: 10px;
  transition: transform 0.3s ease; /* スムーズに動かす */
}

/* ★ホバー時の動き：親(btn-guide)にホバーしたら、子(arrow)を動かす */
.btn-guide:hover .arrow {
  transform: translateX(8px); /* 右に8px移動 */
}

/* ついでにボタン全体のホバー感（任意） */
.btn-guide:hover {
  opacity: 0.8;
}

.top_footer_flex {
  display: flex;
  justify-content: space-between;
  width: 75vw;
  margin-right: auto;
  margin-left: auto;
  margin-top: 50px;
}
.top_footer_flex .top_footer {
  width: 40%;
  text-align: center;
  margin-right: auto;
  margin-left: auto;
}
.top_footer_flex .top_footer a {
  text-align: center;
  display: block;
  border: 1px solid #666;
}
.top_footer_flex .top_footer a h3 {
  background-color: #C37C89;
  padding: 15px 8%;
  color: #fff;
  font-size: 2rem;
}
.top_footer_flex .top_footer a h3 span {
  color: #fff;
}
.top_footer_flex .top_footer a p {
  font-size: 1.6rem;
  color: #C37C89;
  padding: 6px 0px;
  width: 100%;
}

.how .org_h3 {
  color: #C37C89;
  border-bottom: 1px solid #aaa;
  padding-bottom: 5px;
  padding-right: 5%;
  width: -moz-max-content;
  width: max-content;
  font-size: 2.2rem;
}
.how .org_p {
  margin-top: 40px;
}
.how .org_flex {
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
}
.how .org_flex .squair {
  width: 20%;
  text-align: center;
  background-color: #F1F3F2;
  padding: 20px 2%;
}
.how .org_flex .squair h4 {
  text-align: center;
  color: #C37C89;
  font-size: 2.4rem;
}
.how .org_flex .squair img {
  margin-top: 20px;
  width: 80%;
}
.how .org_flex .squair p {
  text-align: left;
  margin-top: 20px;
}

.org_soshikizu img {
  width: 95%;
}
.org_soshikizu .pdf_link {
  width: -moz-max-content;
  width: max-content;
  margin: 40px 5% 40px auto;
}
.org_soshikizu .pdf_link a {
  color: #1233EA;
  text-decoration: underline;
}
.org_soshikizu .kaiinsu {
  border-bottom: 1px solid #bbb;
  padding-bottom: 10px;
  padding-right: 15%;
  margin-left: 3%;
  width: 30%;
  display: flex;
  justify-content: left;
}
.org_soshikizu .kaiinsu h4 {
  color: #C37C89;
}
.org_soshikizu .kaiinsu p {
  margin-left: 10%;
}

.aisatu .org_under_flex {
  display: flex;
  justify-content: center;
}
.aisatu .org_under_flex .left_img {
  width: 35%;
  margin-right: 5%;
}
.aisatu .org_under_flex .left_img img {
  width: 100%;
  height: auto;
}
.aisatu .org_under_flex .text {
  width: 60%;
}
.aisatu .org_under_flex .text p {
  line-height: 1.8;
  margin-bottom: 30px;
}
.aisatu .org_under_flex .text p span {
  font-size: 2.5rem;
  margin-left: 20px;
}
.aisatu .org_under_flex .text p.last {
  margin-top: 40px;
  width: -moz-max-content;
  width: max-content;
}

.activity_1 p {
  margin-bottom: 40px;
}
.activity_1 .flex_container {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.activity_1 .flex_container img {
  width: 28%;
  margin-bottom: 40px;
}

.activity_2 p {
  margin-bottom: 40px;
}

.activity_3 .annual-schedule {
  margin: 40px 1.5% 0px;
}

.joinig_1 .p_1 {
  margin-bottom: 60px;
}
.joinig_1 .p_1 a {
  color: #1233EA;
  text-decoration: underline;
}
.joinig_1 h3 {
  color: #C37C89;
  border-bottom: 1px solid #aaa;
  padding-bottom: 5px;
  padding-right: 15%;
  width: -moz-max-content;
  width: max-content;
  margin-bottom: 40px;
}
.joinig_1 .facility-list {
  display: flex;
  flex-wrap: wrap;
  gap: 60px 40px;
}
.joinig_1 .facility-item {
  width: calc(33.333% - 27px);
  text-align: center;
}
.joinig_1 .facility-item .map-box {
  height: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 16px;
}
.joinig_1 .facility-item .map-box iframe {
  width: 100%;
  height: 100%;
  border: none;
}
.joinig_1 .facility-item .facility-name {
  font-weight: bold;
  margin-bottom: 4px;
}
.joinig_1 .facility-item .facility-address {
  text-align: center;
  padding-left: 3.3em; /* 「住所：」の幅分 */
  text-indent: -3.3em; /* 1行目だけ左に戻す */
  margin-bottom: 4px;
}
.joinig_1 .facility-item .facility-tel {
  font-size: 1.5rem;
  text-align: center;
}

.link_container .link1 {
  text-align: center;
}
.link_container .link1 img {
  width: 60%;
  height: auto;
}
.link_container .link1 a {
  display: block;
  color: #1233EA;
  margin-top: 20px;
  text-decoration: underline;
}

.single {
  padding: 60px 10% 0px;
}

.single__article {
  width: 100%;
  margin: 0 auto;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  padding-top: 20px;
}

.single__eyecatch img {
  width: 70%;
  max-width: 500px;
  height: auto;
  display: block;
  margin-right: auto;
  margin-left: auto;
  border-radius: 12px;
}

.single__header {
  padding: 32px 32px 0;
}

.single__meta {
  display: flex;
  gap: 16px;
  font-size: 14px;
  color: #777;
  margin-bottom: 12px;
}

.single__category a {
  color: #1233EA;
  text-decoration: none;
}

.single__category a:hover {
  text-decoration: underline;
}

.single__title {
  font-size: 28px;
  line-height: 1.5;
  color: #222;
}

.single__content {
  padding: 32px;
  font-size: 16px;
  line-height: 1.9;
  color: #333;
}

.single__content h2 {
  font-size: 24px;
  margin: 48px 0 16px;
  border-left: 5px solid #3a7bd5;
  padding-left: 12px;
}

.single__content h3 {
  font-size: 20px;
  margin: 36px 0 12px;
}

.single__content p {
  margin-bottom: 24px;
}

.single__content img {
  max-width: 100%;
  width: 70% !important;
  height: auto !important;
}

.single__content a {
  color: #1233EA;
}

.single__pager {
  border-top: 1px solid #eee;
  margin-top: 48px;
  padding: 32px;
}

.single__pager-inner {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}

.single__pager a {
  display: inline-block;
  font-size: 14px;
  color: #1233EA;
  text-decoration: none;
}

.single__pager a:hover {
  text-decoration: underline;
}

.single__pager-prev {
  text-align: left;
}

.single__pager-next {
  text-align: right;
}

.archive {
  padding: 60px 20px;
  background: #f7f7f7;
}

.archive__header {
  max-width: 1000px;
  margin: 0 auto 40px;
  text-align: center;
}

.archive__title {
  font-size: 32px;
  margin-bottom: 8px;
}

.archive__description {
  color: #666;
}

.archive__list {
  max-width: 1000px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
}

.archive__item {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
  transition: transform 0.3s;
}

.archive__item:hover {
  transform: translateY(-4px);
}

.archive__link {
  color: inherit;
  text-decoration: none;
  display: block;
  height: 100%;
}

.archive__thumb img {
  width: 100%;
  height: 180px;
  -o-object-fit: cover;
     object-fit: cover;
}

.archive__body {
  padding: 20px;
}

.archive__date {
  font-size: 13px;
  color: #777;
}

.archive__item-title {
  font-size: 18px;
  margin: 8px 0;
  line-height: 1.5;
}

.archive__excerpt {
  font-size: 14px;
  color: #555;
  line-height: 1.7;
}

.archive__pagination {
  margin-top: 40px;
  text-align: center;
}

.archive__pager {
  margin-top: 48px;
  text-align: center;
}

.archive__pager .page-numbers {
  display: inline-block;
  margin: 0 6px;
  padding: 8px 14px;
  font-size: 14px;
  color: #3a7bd5;
  border-radius: 6px;
  text-decoration: none;
}

.archive__pager .page-numbers.current {
  background: #3a7bd5;
  color: #fff;
}

.archive__pager .page-numbers:hover {
  background: #eaf1ff;
}

.not_found {
  margin: 50px auto 20px;
  text-align: center;
}

.not-search {
  margin-top: 40px;
  margin-bottom: 100px;
  text-align: center;
  font-size: 2.2rem;
}

.home_link {
  width: -moz-max-content;
  width: max-content;
  margin: 20px auto;
  background: #C37C89;
  padding: 10px 20px;
}
.home_link a {
  color: #fff;
}

_::-webkit-full-page-media,
_:future,
:root .top_introduction .pattern-switcher #pattern-select {
  font-size: 1.6rem;
  border: 1px solid #333;
}

/* タグカラー */
.tag--meeting {
  background: #607d8b;
}

.tag--health {
  background: #4caf50;
}

.tag--sports {
  background: #ff9800;
}

.tag--training {
  background: #9c27b0;
}/*# sourceMappingURL=style.css.map */