@charset "utf-8";
/* CSS Information =========================================
   pages.css
========================================================= */

/* =========================================================
   pages.css
========================================================= */
/* index ===================================================
   template
   common
   home
   contact
========================================================= */

/* template
----------------------------------------------- */
@media (max-width: 833px) {
}
@media (min-width: 834px) {
}
@media (hover: hover) {
/* hover指定できるPCを想定したスタイル */
}
@media (hover: none) {
/* hoverが使えないタッチ端末を想定した装飾 */
}


/* common
----------------------------------------------- */

.home .sec-lv-2,
.page .sec-lv-2 {
  margin-top: 4em;
}

.home .sec-lv-2 .heading-2,
.page .sec-lv-2 .heading-2 {
  font-size: 2em;
  margin-bottom: 1em;
  text-align: center;
}

.home .sec-lv-2 .heading-2 > .emoji,
.page .sec-lv-2 .heading-2 > .emoji {
  margin-right: 0.25em;
}

.home .sec-lv-1 .heading-1,
.page .sec-lv-1 .heading-1 {
  display: none;
}



/* home
----------------------------------------------- */

.home .sec-home .swiper .slide-media {
  border-radius: 16px;
  display: block;
  overflow: hidden;
  width: auto;
    max-width: 320px;
  height: auto;
    max-height: 400px;
}

.home .sec-home .swiper .slide-media > img {
  object-fit: cover;
}

.home .sec-news ._news-list > li > a {
  border-bottom: dotted 1px #aaa;
  display: flex;
    flex-wrap: wrap;
  margin-bottom: 0.5em;
  padding: 0.5em;
}

.home .sec-news ._news-list > li ._date {
  width: 10em;
}

.home .sec-news ._news-list > li ._title {
  width: calc(100% - 12em);
}

.home .sec-recruiting ._recruiting-list {
  display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
}

.home .sec-recruiting ._recruiting-list > li {
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 1em;
}

.home .sec-recruiting ._recruiting-list > li > a {
  border-radius: 16px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  color: #fff;
  display: flex;
    flex-direction: column;
  padding: 1em;
  width: 100%;
}

.home .sec-recruiting ._recruiting-list > li > a:hover{
  transform: translateY(-5px);
  box-shadow: 0 8px 15px rgba(0, 0, 0, 0.15);
}

.home .sec-recruiting ._recruiting-list > li > a ._image {
  margin-bottom: 1rem;
  margin-left: auto;
  margin-right: auto;
  width: 4em;
}

.home .sec-recruiting ._recruiting-list > li > a ._image > img {
  object-fit: contain;
  width: 100%;
}

.home .sec-recruiting ._recruiting-list > li > a ._title {
  font-size: clamp( 18px, 6vw, 1.5em);
  margin-bottom: 1rem;
  text-align: center;
  height: 3em;
}

.home .sec-recruiting ._recruiting-list > li > a ._text {
  padding-bottom: 1em;
}

.home .sec-recruiting ._recruiting-list > li > a ._cbtn {
  flex-grow: 1;
  background-color: #fff100;
  color: #333;
  border-radius: 16px;
  margin-left: auto;
  margin-right: auto;
  margin-top: auto;
  text-align: center;
  padding: 0.5em ;
  width: 80%;
}

.home .sec-recruiting ._recruiting-list ._king {
  background-color: #0e3b94;
}

.home .sec-recruiting ._recruiting-list ._kodomotencho {
  background-color: #30a0d2;
}

.home .sec-recruiting ._recruiting-list ._volunteer {
  background-color: #eb9e24;
}

.home .sec-recruiting ._recruiting-list ._sponsorship {
  background-color: #e60012;
}

.home .sec-event ._det {
  text-align: center;
  margin-bottom: 2em;
}

.home .sec-event ._event-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  text-align: left;
}

.home .sec-event ._event-list > li {
  background-color: #f0f0f0;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.home .sec-event ._event-list > li ._image {
  width: 100%;
  height: 180px;
}

.home .sec-event ._event-list > li ._image > img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.home .sec-event ._event-list > li ._textarea {
  padding: 1em;
}

.home .sec-event ._event-list > li ._textarea ._title {
  margin-bottom: 1em;
}

.home .sec-sponsor-1 ._image-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.home .sec-sponsor-1 ._image-list > li > a ._image {
  height: 64px;
}

.home .sec-sponsor-1 ._image-list > li > a ._image img {
  height: 100%;
}


.home .sec-sponsor-1 ._text-list,
.home .sec-sponsor-2 ._koen-list {
  display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.home .sec-sponsor-1 ._text-list > li > a,
.home .sec-sponsor-1 ._kyoryoku,
.home .sec-sponsor-2 ._koen-list > li > a {
  font-size: 1.25em;
  text-align: center;
}

.home .sec-sponsor-1 ._text-list,
.home .sec-sponsor-1 ._kyoryoku {
  margin-top: 0.5rem;
}

.home .sec-sponsor-1 ._kyoryoku ._text > span,
.home .sec-sponsor-2 ._kyoryoku ._text > span {
  display: inline-block;
}


.home .sec-sponsor-1 ._text-list > li > a > p::after,
.home .sec-sponsor-2 ._koen-list > li > a > p::after {
  content: '／';
}

.home .sec-sponsor-2 ._event-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  text-align: left;
}

.home .sec-sponsor-2 ._kyoryoku {
  font-size: 0.8em;
  margin-top: 1em;
}


@media (max-width: 833px) {
  .home .sec-recruiting ._recruiting-list > li {
    width: 46%;
      max-width: 268px;
  }
}
@media (min-width: 834px) {
  .home .sec-recruiting ._recruiting-list > li {
    width: 22%;
  }
}
@media (hover: hover) {
/* hover指定できるPCを想定したスタイル */
}
@media (hover: none) {
/* hoverが使えないタッチ端末を想定した装飾 */
}

/* recruiting
----------------------------------------------- */
.recruiting .sec-recruiting-list ._description {
  margin-bottom: 1em;
}

.sec-recruiting-list ._definitions_list {
  margin-top: 2em;
}

.sec-recruiting-list ._required {
  background-color: #ec9e24;
  border-radius: 4px;
  color: #fff;
  font-size: 0.5em;
  margin: auto 0.5em;
  padding: 0.25em 0.5em;
}

.sec-recruiting-list ._atention-list {
  background-color: #fff;
  line-height: 2;
  list-style: disc;
  margin: 2em auto;
  padding: 1em 1em 1em 2em
}

.sec-recruiting-list ._definitions_list > dl > dd {
  margin-bottom: 2em;
  margin-top: 0.5em;
}

.sec-recruiting-list ._definitions_list > dl > dd > input,
.sec-recruiting-list ._definitions_list > dl > dd > textarea {
  border: 1px solid #ec9e24;
  box-shadow: 0 2px 3px 2px rgba(144, 144, 144, 0.2) ;
  box-sizing: border-box;
  padding: 0.5em 0.5em ;
  width: 100%;
}

.sec-recruiting-list ._definitions_list > dl > dd ._list > ul {
  display: flex;
    flex-wrap: wrap;
}

.sec-recruiting-list ._definitions_list > dl > dd ._list > ul > li {
  margin-right: 4em;
  margin-bottom: 1em;
}



@media (max-width: 833px) {
}
@media (min-width: 834px) {
}
@media (hover: hover) {
/* hover指定できるPCを想定したスタイル */
}
@media (hover: none) {
/* hoverが使えないタッチ端末を想定した装飾 */
}


/* carmove
----------------------------------------------- */
* 基本設定 */
.animation-container {
    width: 100%;
    height: 100vh;
    overflow: hidden; /* 画面外を隠す */
    position: relative;
    background-color: #f0f0f0;
    z-index: -1;
}

.moving-image {
    width: 112px; /* 画像の幅 */
    height: auto;
    position: absolute;
    /* アニメーション設定（ここではランダムな速さや遅延時間も設定可能） */
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}

/* 垂直位置のバリエーション（topプロパティでランダム性を演出） */
.top-high { top: 10%; }    /* 上部を移動 */
.top-mid { top: 30%; }     /* 中央より少し上を移動 */
.mid-center { top: 50%; }  /* 中央付近を移動 */
.bottom-mid { top: 70%; }  /* 中央より少し下を移動 */
.bottom-low { top: 90%; }   /* 下部を移動 */

/* 垂直中央揃えの調整（50%設定時に使用） */
.mid-center { transform: translateY(-50%); } 
/* その他の位置は微調整が不要な場合もあります */



/* 左から右へ（標準速度・標準時間） */
.move-left-a {
    animation-name: move-right;
    animation-duration: 1000s;
    animation-delay: 0s; /* 画面表示後すぐ開始 */
}
/* 左から右へ（少し速い・少し遅れて開始） */
.move-left-b {
    animation-name: move-right;
    animation-duration: 1000s;
    animation-delay: 2s; /* 2秒遅れて開始 */
}
/* 左から右へ（遅い・大幅に遅れて開始） */
.move-left-c {
    animation-name: move-right;
    animation-duration: 1000s;
    animation-delay: 5s; /* 5秒遅れて開始 */
}

@keyframes move-right {
    from {
        /* 自身の幅の分だけ左に隠す */
        transform: translateX(-100%);
    }
    to {
        /* 画面幅全体分だけ右へ移動 */
        transform: translateX(100vw);
    }
}


/* 右から左へ（標準速度・標準時間） */
.move-right-a {
    animation-name: move-left;
    animation-duration: 2000s;
    animation-delay: 1s;
}
/* 右から左へ（速い・少し遅れて開始） */
.move-right-b {
    animation-name: move-left;
    animation-duration: 1000s;
    animation-delay: 3s;
}
/* 右から左へ（遅い・大幅に遅れて開始） */
.move-right-c {
    animation-name: move-left;
    animation-duration: 1500s;
    animation-delay: 6s;
}

@keyframes move-left {
    from {
        /* 画面幅全体分だけ右に隠す */
        transform: translateX(100vw);
    }
    to {
        /* 自身の幅と等しい分だけ左へ移動 */
        transform: translateX(-100%);
    }
}

@media (max-width: 833px) {
}
@media (min-width: 834px) {
}
@media (hover: hover) {
/* hover指定できるPCを想定したスタイル */
}
@media (hover: none) {
/* hoverが使えないタッチ端末を想定した装飾 */
}


/* aaa
----------------------------------------------- */

@media (max-width: 833px) {
}
@media (min-width: 834px) {
}
@media (hover: hover) {
/* hover指定できるPCを想定したスタイル */
}
@media (hover: none) {
/* hoverが使えないタッチ端末を想定した装飾 */
}


/* end of file */