#mv .mv_text {
  height: 4em;
  background-color: var(--text);
  color: #fff;
  font-size: 125%;
  letter-spacing: 0.2em;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  #mv .mv_text {
    font-size: 150%;
  }
}
@media screen and (min-width: 992px) {
  #mv .mv_text {
    height: 3.7037em;
    font-size: 168.75%;
  }
}

#secConcept {
  padding: 3.125em 0;
  background: repeating-linear-gradient(90deg, #FFFAEB 0, #FFFAEB 15px, #FFFDF8 15px, #FFFDF8 30px);
}
#secConcept::before {
  content: "";
  width: 100%;
  height: 6.25em;
  background-color: var(--bg);
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 0, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 0, 0 100%);
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
#secConcept > .inner {
  max-width: 800px;
}
#secConcept .concept_title {
  margin-bottom: 1.8519em;
  font-size: 125%;
  font-weight: 700;
  display: flex;
  flex-direction: column;
  align-items: center;
  grid-gap: 0.4815em;
}
#secConcept .concept_title img {
  width: 2.5926em;
}
#secConcept .concept_list {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  grid-gap: 3.125em;
}
#secConcept .concept_list .listitem {
  width: 100%;
}
#secConcept .concept_list .listitem_title {
  width: 100%;
  padding-bottom: 1.0714em;
  margin-bottom: 0.6429em;
  font-size: 112.5%;
  font-weight: 700;
  text-align: center;
  position: relative;
}
#secConcept .concept_list .listitem_title::before {
  content: "";
  width: 100%;
  height: calc(100% - 0.2857em);
  background-color: var(--text);
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% calc(100% - 0.8214em), 50% calc(100% - 0.8214em), 50% 100%, calc(50% - 1.0714em) calc(100% - 0.8214em), 0% calc(100% - 0.8214em));
          clip-path: polygon(0% 0%, 100% 0%, 100% calc(100% - 0.8214em), 50% calc(100% - 0.8214em), 50% 100%, calc(50% - 1.0714em) calc(100% - 0.8214em), 0% calc(100% - 0.8214em));
  display: block;
  transform: translate(0.2857em, 0.2857em);
  position: absolute;
  top: 0;
  left: 0;
}
#secConcept .concept_list .listitem_title span {
  width: 100%;
  background-color: var(--bg);
  position: relative;
  z-index: 1;
}
#secConcept .concept_list .listitem_img img {
  border-radius: 0.35em;
}
#secConcept .concept_list .listitem_txtwrap {
  line-height: 1.65;
}
@media screen and (min-width: 768px) {
  #secConcept::before {
    height: 7.1875em;
  }
  #secConcept .concept_title {
    font-size: 150%;
  }
  #secConcept .concept_list .listitem_title {
    font-size: 156.25%;
  }
  #secConcept .concept_list .listitem_contents {
    font-size: 112.5%;
    align-items: center;
  }
}
@media screen and (min-width: 992px) {
  #secConcept .concept_title {
    font-size: 168.75%;
  }
  #secConcept .concept_list .listitem_title {
    font-size: 175%;
  }
  #secConcept .concept_list .listitem_contents {
    font-size: 125%;
  }
}

#secService {
  padding: 1.5em 0 0;
  background-color: #ebd3d4;
}
#secService .service_title {
  font-size: 156.25%;
  font-weight: 700;
  line-height: 1.3235;
  align-items: center;
}
#secService .service_title strong {
  letter-spacing: 0.1em;
}
#secService .service_title span {
  font-size: 64%;
  letter-spacing: 0.1em;
}
#secService .service_text {
  margin: -2.3214em 0 0.7143em;
  font-size: 93.75%;
  letter-spacing: 0.1em;
  line-height: 1.8;
}
#secService .service_list {
  width: 100%;
}
#secService .service_list .listitem {
  width: 100%;
  padding: 3.125em 0;
}
#secService .service_list .listitem:first-child {
  padding-top: 1.5625em;
}
#secService .service_list .listitem.bg_border--pink {
  background: repeating-linear-gradient(90deg, #F0E1E1 0, #F0E1E1 15px, #F6EEEE 15px, #F6EEEE 30px);
}
#secService .service_list .listitem.bg_border--green {
  background: repeating-linear-gradient(90deg, #EBF3E0 0, #EBF3E0 15px, #F3F8ED 15px, #F3F8ED 30px);
}
#secService .service_list .listitem > .inner {
  max-width: 1030px;
  overflow: visible !important;
}
#secService .service_list .listitem_title {
  width: 100%;
  padding-bottom: 1.1538em;
  margin: 0 auto 3.0769em;
  font-weight: 700;
  text-align: center;
  display: flex;
  flex-direction: column;
  position: relative;
}
#secService .service_list .listitem_title::before {
  content: "";
  width: 100%;
  height: calc(100% - 0.2857em);
  background-color: var(--text);
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% calc(100% - 0.8214em), 50% calc(100% - 0.8214em), 50% 100%, calc(50% - 1.0714em) calc(100% - 0.8214em), 0% calc(100% - 0.8214em));
          clip-path: polygon(0% 0%, 100% 0%, 100% calc(100% - 0.8214em), 50% calc(100% - 0.8214em), 50% 100%, calc(50% - 1.0714em) calc(100% - 0.8214em), 0% calc(100% - 0.8214em));
  display: block;
  transform: translate(0.2857em, 0.2857em);
  position: absolute;
  top: 0;
  left: 0;
}
#secService .service_list .listitem_title span {
  padding: 1em;
  position: relative;
  z-index: 1;
}
#secService .service_list .listitem_title span.count {
  width: 100%;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
#secService .service_list .listitem_title span.count::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #fff7d6;
  -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
          clip-path: polygon(0 0, 50% 100%, 100% 0);
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
#secService .service_list .listitem_title span.count img {
  width: 30%;
  margin-top: -0.5em;
  position: relative;
  z-index: 1;
}
#secService .service_list .listitem_title span.text {
  width: 100%;
  background-color: #fff;
  margin-top: -1px;
  font-weight: 700;
  letter-spacing: 0.1em;
  display: flex;
  align-items: center;
  justify-content: center;
}
#secService .service_list .listitem_list {
  width: 100%;
}
#secService .service_list .listitem_list .secret {
  width: 100%;
  height: 100%;
  min-height: 480px;
  background-image: radial-gradient(#703835, #472724 90%);
  box-shadow: 5px 5px 3px rgba(99, 99, 99, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
}
#secService .service_list .listitem_list .secret img {
  width: 50%;
}
#secService .service_list .listitem_list .card {
  border: 0;
  border-radius: 0;
  box-shadow: 5px 5px 3px rgba(99, 99, 99, 0.5);
}
#secService .service_list .listitem_list .card-body {
  background-color: #f2efe7;
}
#secService .service_list .listitem_list .card-title {
  font-size: 112.5%;
  font-weight: 700;
  letter-spacing: 0.1em;
}
#secService .service_list .listitem_list .card-text {
  letter-spacing: 0.1em;
  line-height: 1.5882;
}
#secService .service_list .listitem_list .card .tags {
  width: 100%;
  margin-bottom: 2.8333em;
  font-size: 75%;
  font-weight: 400;
  display: flex;
  flex-wrap: wrap;
  grid-gap: 0.5em;
}
#secService .service_list .listitem_list .card .tags li {
  padding: 0.25em 1.25em;
  border-radius: 0.25em;
  color: #fff;
  letter-spacing: 0.1em;
}
#secService .service_list .listitem_list .card .tags .marriage {
  background-color: #ce86b0;
}
#secService .service_list .listitem_list .card .tags .friendship {
  background-color: #e4a085;
}
#secService .service_list .listitem_list .card .tags .interests {
  background-color: #9c9bc7;
}
#secService .service_list .listitem_img {
  width: 100%;
  max-width: 550px;
}
#secService .service_list .listitem_img img {
  border-radius: 0.5em;
}
#secService .slider {
  width: 100%;
}
#secService .slider .swiper-wrapper {
  align-items: stretch;
}
#secService .slider_item {
  height: auto;
  font-size: 112.5%;
}
#secService .slider_item > .inner {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  grid-gap: 1.4167em;
}
#secService .slider_item .img {
  width: 80%;
  border-radius: 50%;
}
#secService .slider_item .text {
  height: 100%;
  padding: 0.4167em 1.4583em;
  background-color: #fff;
  -webkit-clip-path: polygon(0 0, 100% 0, calc(100% - 0.4167em) 50%, 100% 100%, 0 100%, 0.4167em 50%);
          clip-path: polygon(0 0, 100% 0, calc(100% - 0.4167em) 50%, 100% 100%, 0 100%, 0.4167em 50%);
  font-weight: 700;
  line-height: 1.4167;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
#secService .slider .carousel-control-prev {
  left: -20px;
}
#secService .slider .carousel-control-next {
  right: -20px;
}
@media screen and (min-width: 768px) {
  #secService .service_title {
    font-size: 175%;
  }
  #secService .service_title span {
    font-size: 76.47%;
  }
  #secService .service_text {
    font-size: 125%;
  }
  #secService .service_list .listitem {
    padding: 5em 0;
  }
  #secService .service_list .listitem:first-child {
    padding-top: 2.5em;
  }
  #secService .service_list .listitem > .inner {
    max-width: 1030px;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  #secService .service_list .listitem_title {
    width: auto;
    height: 3.4615em;
    font-size: 137.5%;
    flex-direction: row;
  }
  #secService .service_list .listitem_title span {
    padding: 0;
  }
  #secService .service_list .listitem_title span.count {
    width: 205px;
    height: calc(100% - 1.1538em);
    background-color: #fff7d6;
    -webkit-clip-path: polygon(0 0, 100% 0%, calc(100% - 1em) 100%, 0% 100%);
            clip-path: polygon(0 0, 100% 0%, calc(100% - 1em) 100%, 0% 100%);
    flex-shrink: 0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
  }
  #secService .service_list .listitem_title span.count::before {
    display: none;
  }
  #secService .service_list .listitem_title span.count img {
    width: 60%;
    margin-top: 0;
  }
  #secService .service_list .listitem_title span.text {
    width: auto;
    min-width: 462px;
    padding-left: calc(205px + 1em);
    padding-right: 1.5em;
    margin-top: 0;
  }
  #secService .service_list .listitem_list .secret {
    min-height: 550px;
  }
  #secService .slider_item .img {
    width: 80%;
  }
  #secService .slider .carousel-control {
    width: 30px;
  }
  #secService .slider .carousel-control-prev {
    left: 0;
  }
  #secService .slider .carousel-control-next {
    right: 0;
  }
}
@media screen and (min-width: 992px) {
  #secService .service_title {
    font-size: 212.5%;
  }
  #secService .service_text {
    font-size: 175%;
  }
  #secService .service_list .listitem_title {
    font-size: 162.5%;
  }
  #secService .service_list .listitem_list .secret {
    min-height: 0;
  }
  #secService .service_list .listitem_list .card-title {
    font-size: 125%;
  }
  #secService .service_list .listitem_list .card-text {
    font-size: 106.25%;
  }
  #secService .slider_item {
    font-size: 125%;
  }
}
@media screen and (min-width: 1200px) {
  #secService .slider_item {
    font-size: 150%;
  }
}


#secService .slider_item .slider-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  grid-gap: 1.4167em;
  width: 100%;
  height: 100%;
}

#secService .slider_item .slider-link:hover {
  opacity: 1; /* リンク全体のホバー時の透明度を上書き */
}

#secService .slider_item .slider-link:hover .img {
  opacity: 0.8; /* 画像のみ透明度を変更 */
}




/* 画像の縦横比を保持するためのスタイル追加 */
#secService .slider_item .image-container {
  width: 80%;
  padding-top: 80%; /* 1:1の縦横比を保持するための正方形コンテナ */
  position: relative;
  border-radius: 50%;
  overflow: hidden;
}

#secService .slider_item .image-container .img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover; /* 画像を中央でクロップして表示 */
  border-radius: 50%;
}

/* スライダーリンクのスタイル維持 */
#secService .slider_item .slider-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  grid-gap: 1.4167em;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: inherit;
}

#secService .slider_item .slider-link:hover {
  opacity: 1; /* リンク全体のホバー時の透明度を上書き */
}

#secService .slider_item .slider-link:hover .image-container {
  opacity: 0.8; /* 画像コンテナのみ透明度を変更 */
}


#secService .slider_item .img-circle {
  width: 80%;
  padding-bottom: 80%; /* 正方形のコンテナを作成 */
  position: relative;
  border-radius: 50%;
  overflow: hidden; /* はみ出した部分を非表示にする */
}

#secService .slider_item .img-circle .img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover; /* 画像の縦横比を保ったまま表示領域を埋める */
  border-radius: 50%;
}


/* 画像の縦横比を保持するためのスタイル追加 */
#secService .slider_item .image-container {
  width: 80%;
  padding-top: 80%; /* 1:1の縦横比を保持するための正方形コンテナ */
  position: relative;
  border-radius: 50%;
  overflow: hidden;
}

#secService .slider_item .image-container .img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover; /* 画像を中央でクロップして表示 */
  border-radius: 50%;
}

/* スライダーリンクのスタイル維持 */
#secService .slider_item .slider-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  grid-gap: 1.4167em;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: inherit;
}

#secService .slider_item .slider-link:hover {
  opacity: 1; /* リンク全体のホバー時の透明度を上書き */
}

#secService .slider_item .slider-link:hover .image-container {
  opacity: 0.8; /* 画像コンテナのみ透明度を変更 */
}


#secService .slider_item .img-circle {
  width: 80%;
  padding-bottom: 80%; /* 正方形のコンテナを作成 */
  position: relative;
  border-radius: 50%;
  overflow: hidden; /* はみ出した部分を非表示にする */
}

#secService .slider_item .img-circle .img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover; /* 画像の縦横比を保ったまま表示領域を埋める */
  border-radius: 50%;
}

/* お知らせセクション */
#secInformation {
  padding: 3em 0 0 0;
  background-color: #f2efe7;
}
#secInformation > .inner {
  max-width: 800px;
}
#secInformation .information_title {
  margin-bottom: 2.5em;
  font-size: 156.25%;
  font-weight: 700;
  display: flex;
  flex-direction: column;
  align-items: center;
  grid-gap: 0.4815em;
}
#secInformation .information_title strong {
  letter-spacing: 0.1em;
}
#secInformation .information_title span {
  font-size: 64%;
  letter-spacing: 0.1em;
}
#secInformation .information_empty {
  padding: 3em 0;
  background-color: #fff;
  border-radius: 0.5em;
  margin-bottom: 2em;
}
#secInformation .information_list {
  width: 100%;
  background-color: #fff;
  border-radius: 0.5em;
  overflow: hidden;
}
#secInformation .information_item {
  border-bottom: 1px solid #e0e0e0;
}
#secInformation .information_item:last-child {
  border-bottom: none;
}
#secInformation .information_link {
  display: flex;
  align-items: center;
  padding: 1.25em 1.5em;
  transition: background-color 0.3s ease;
}
#secInformation .information_link:hover {
  background-color: #fdf9f3;
  opacity: 1;
}
#secInformation .information_date {
  flex-shrink: 0;
  margin-right: 1.5em;
  color: #888;
  font-size: 87.5%;
  font-weight: 500;
}
#secInformation .information_text {
  margin: 0;
  font-size: 100%;
  font-weight: 500;
  line-height: 1.5;
  color: var(--text);
}
@media screen and (min-width: 768md) {
  #secInformation .information_title {
    font-size: 175%;
  }
  #secInformation .information_title span {
    font-size: 76.47%;
  }
  #secInformation .information_link {
    padding: 1.5em 2em;
  }
  #secInformation .information_date {
    font-size: 93.75%;
  }
  #secInformation .information_text {
    font-size: 106.25%;
  }
}
@media screen and (min-width: 992px) {
  #secInformation .information_title {
    font-size: 212.5%;
  }
  #secInformation .information_date {
    font-size: 100%;
  }
  #secInformation .information_text {
    font-size: 112.5%;
  }
}

/* スライダーのデフォルト画像用SVGスタイル */
.slider_item .img-circle .no-image-svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f5f5f5;
  border-radius: 50%;
}

.slider_item .img-circle .no-image-svg svg {
  width: 50%;
  height: 50%;
  color: #ccc;
}

/* イベント用のアイコン */
.slider_item .no-image-svg.event-icon svg {
  color: #9c9bc7;
}

/* コミュニティ用のアイコン */
.slider_item .no-image-svg.circle-icon svg {
  color: #ce86b0;
}

/* 美容用のアイコン */
.slider_item .no-image-svg.beauty-icon svg {
  color: #e4a085;
}

/* 起業用のアイコン */
.slider_item .no-image-svg.business-icon svg {
  color: #8bc34a;
}

/* 活動インジケーター（イベントカード用） */
.event_card {
  position: relative;
  overflow: visible !important; /* 見切れ防止 */
}

.event_list {
  padding-top: 1rem; /* インジケーター分の余白 */
  overflow: visible !important;
}

.event_card .activity_indicator {
  position: absolute;
  top: -1rem;
  right: 0;
  width: 50px;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  /*animation: pulse 2s infinite;*/
}

.event_card .activity_indicator img {
  width: 100%;
  height: auto;
}

/* 活動インジケーター（サークルカード用） */
.circle_card {
  position: relative;
  overflow: visible !important;
}

.circle_grid {
  overflow: visible !important;
}

/* circle_info を相対配置に */
.circle_info {
  position: relative;
}

/* activity_indicator を circle_info の右上に配置 */
.circle_info .activity_indicator {
  position: absolute;
  top: -0.5rem;
  right: -0.5rem;
  width: 46px;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  /*animation: pulse 2s infinite;*/
}

.circle_info .activity_indicator img {
  width: 100%;
  height: auto;
}

/* コンテナのオーバーフロー設定 */
.listitem_contents,
.listitem > .inner {
  overflow: visible !important;
}

/* パルスアニメーション */
@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.15);
  }
  100% {
    transform: scale(1);
  }
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
  .event_card .activity_indicator {
    width: 50px;
    top: -0.8rem;
    right: 0;
  }
  
  .circle_info .activity_indicator {
    width: 40px;
    top: -0.4rem;
    right: -0.4rem;
  }
}

@media (max-width: 576px) {
  .event_card .activity_indicator {
    width: 50px;
  }
  
  .circle_info .activity_indicator {
    width: 36px;
    top: -0.3rem;
    right: -0.3rem;
  }
}


.mv_text {
  height: 4em;
  background-color: var(--text);
  color: #fff;
  font-size: 125%;
  letter-spacing: 0.2em;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 768px) {
.mv_text {
    font-size: 150%;
  }
}
@media screen and (min-width: 992px) {
.mv_text {
    height: 3.7037em;
    font-size: 168.75%;
  }
}