@charset "UTF-8";
/**
* sitetop CSS
*
*/


/*
* レイアウト
*/
#sitetop {
  padding-top: 0;
}


/*
* メインビジュアル
*/
#mv {
  position: relative;
  width: 100vw;
  margin: 0;
  padding: 300px 0 200px 0;
  overflow: hidden;
  background-image: url(../img/pageHeaderBack01.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center top;
}
#mv .slider {
  position: relative;
  width: 100%;
  z-index: 300;
}
/* 1.5秒後にフェードイン */
#mv .slider.fadein {
  animation: mvFadeinAnime 2.0s ease 1.5s forwards;
  opacity: 0;
}
@keyframes mvFadeinAnime {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* スライド */
#mv .slider ul.slick {
  display: block;
  width: auto;
  margin: 0;
  padding: 0;
}
#mv .slider ul.slick li.slide {
  display: block;
  width: 650px;
  margin: 0;
  padding: 0 40px;
  transform-origin: center center;
  transition: transform 1.0s ease, opacity 0.4s ease;
}
#mv .slider ul.slick img.pict {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border-radius: 10px;
}
#mv .slider li.center {
  transform: scale(1);
}
/* スライド詳細 */
#mv .slick .center {
  transform: 
    translate(0, 0)
    scale(1)
    rotate(0deg);
}
#mv .slick .nearLT1 {
  transform: 
    translate(150px, 0)
    scale(0.538)
    rotate(-5deg);
}
#mv .slick .nearLT2 {
  transform: 
    translate(-150px, 0)
    scale(0.538)
    rotate(5deg);
}
#mv .slick .farLT1 {
  transform: 
    translate(450px, 50px)
    scale(0.538)
    rotate(-5deg);
}
#mv .slick .farLT2 {
  transform: 
    translate(-450px, 50px)
    scale(0.538)
    rotate(5deg);
}
/* ボタン */
#mv .buttonPrev, #mv .buttonNext {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 49px;
  height: 96px;
  cursor: pointer;
  z-index: 10;
}
#mv .buttonPrev {
  left: calc(50% - 325px);
}
#mv .buttonNext {
  left: calc(50% + 325px);
}
/* ドット */
#mv .slick-dots {
  position: absolute;
  bottom: -25px;
  left: 50%;
  transform: translate(-50%, 0);
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 0;
  padding: 0;
  z-index: 10;
}
#mv .slick-dots li {
  width: 15px;
  height: 15px;
  margin: 0;
  padding: 0;
}
#mv .slick-dots li button {
  position: relative;
  width: 15px;
  height: 15px;
  margin: 0;
  padding: 0;
  background-color: #FFFFFF;
  border: #009944 1px solid;
  border-radius: 9999px;
  cursor: pointer;
}
#mv .slick-dots li.slick-active button {
  background-color: #009944;
  border: #FFFFFF 1px solid;
}
#mv .slick-dots li button::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: none;
}
/* パーツ 上下にゆらゆら*/
#mv .part01 {
  position: absolute;
  top: 130px;
  left: calc(50% - 600px);
  transform: translate(-100%, 0%);
  width: 411px;
  height: auto;
  z-index: 400;
  animation: mvPartsMove01 6s ease-in-out infinite;
}
@keyframes mvPartsMove01 {
  0% {
    transform: translate(-100%, 0%);
  }
  50% {
    transform: translate(-100%, 80px);
  }
  100% {
    transform: translate(-100%, 0%);
  }
}
/* キャッチ */
#mv .catch {
  position: absolute;
  top: 200px;
  left: 50%;
  transform: translate(-100%, 0%) rotate(-9deg);
  transform-origin: 50% 50%;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0;
  margin: 0;
  padding: 0;
  z-index: 401;
}
#mv .catch p {
  position: relative;
  display: block;
  margin: 0 30px 0 0;
  padding: 20px;
  color: #FFFFFF;
  font-size: 50px;
  font-weight: 700;
  white-space: nowrap;
  background-color: var(--green);
  border-radius: 5px;
  box-shadow: 10px 10px 0 var(--green2);
  z-index: 402;
}
#mv .catch small {
  position: relative;
  display: block;
  margin: 0 0 0 -50px;
  padding: 20px 60px;
  font-size: 24px;
  font-weight: 700;
  white-space: nowrap;
  background-color: var(--white);
  border-radius: 5px;
  z-index: 401;
}
/* タブレット */
@media screen and (max-width:1800px){
  #mv {
    position: relative;
    padding: 280px 0 200px 0;

  }
  /* スライド */
  #mv .slider ul.slick li.slide {
    width: 30vw;
    padding: 0 40px;
  }
  /* スライド詳細 */
  #mv .slick .nearLT1 {
    transform: 
      translate(8vw, 0)
      scale(0.538)
      rotate(-5deg);
  }
  #mv .slick .nearLT2 {
    transform: 
      translate(-8vw, 0)
      scale(0.538)
      rotate(5deg);
  }
  #mv .slick .farLT1 {
    transform: 
      translate(22vw, 50px)
      scale(0.538)
      rotate(-5deg);
  }
  #mv .slick .farLT2 {
    transform: 
      translate(-22vw, 50px)
      scale(0.538)
      rotate(5deg);
  }
  /* ボタン */
  #mv .buttonPrev, #mv .buttonNext {
    width: 3vw;
    height: 5.9vw;
  }
  #mv .buttonPrev {
    left: calc(50% - 15vw);
  }
  #mv .buttonNext {
    left: calc(50% + 15vw);
  }
  /* ドット */
  #mv .slick-dots {
    bottom: -25px;
    gap: 8px;
  }
  #mv .slick-dots li {
    width: 10px;
    height: 10px;
  }
  #mv .slick-dots li button {
    position: relative;
    width: 10px;
    height: 10px;
  }
  /* パーツ 上下にゆらゆら*/
  #mv .part01 {
    top: 130px;
    left: calc(50% - 30vw);
    width: 20vw;
  }
  /* キャッチ */
  #mv .catch {
    top: 180px;
    left: 50%;
  }
  #mv .catch p {
    margin: 0 30px 0 0;
    padding: 15px;
    font-size: 30px;
  }
  #mv .catch small {
    margin: 0 0 0 -50px;
    padding: 15px 40px;
    font-size: 16px;
  }
}


/*
* お知らせ
*/
#news {
  position: relative;
  width: 100vw;
  min-height: 1900px;
  margin: -300px 0 0 0;
  padding: 300px 0 0 0;
} 
#news::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  width: 1920px;
  height: 1958px;
  margin: 0;
  padding: 0;
  background-image: url(../img/sitetop/infoBack01.webp);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  z-index: 200;
}
/* パーツ 根本を軸に左右に揺れる */
#news .part01 {
  position: absolute;
  top: 0px;
  left: calc(50% + 350px);
  transform: translate(0%, -50%);
  width: 393px;
  height: auto;
  z-index: 301;
  transform-origin: 45% 100%;
  animation: newsPartsMove01 4s linear infinite;
}
@keyframes newsPartsMove01 {
  0% {
    transform: translate(0%, -50%) rotate(0deg);
  }
  30% {
    transform: translate(0%, -50%) rotate(0deg);
  }
  60% {
    transform: translate(0%, -50%) rotate(-10deg);
  }
  70% {
    transform: translate(0%, -50%) rotate(5deg);
  }
  80% {
    transform: translate(0%, -50%) rotate(-5deg);
  }
  90% {
    transform: translate(0%, -50%) rotate(5deg);
  }
  100% {
    transform: translate(0%, -50%) rotate(0deg);
  }
}
/* メッセージ */
#news .message {
  position: absolute;
  top: 160px;
  left: 50%;
  transform: translate(-50%, 0);
  text-align: center;
  color: #FFFFFF;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  z-index: 302;
}
#news .wrap {
  position: relative;
  margin: 0 auto;
  padding: 150px 40px;
  background-color: #E9F2E9;
  border-radius: 10px;
  z-index: 201;
}
#news .wrap .part02 {
  position: absolute;
  top: 65px;
  left: 40px;
  transform: translate(0%, -100%);
  width: 398px;
  height: auto;
  z-index: 301;
}
/* ニュース */
#news .newsWrap {
  position: relative;
  display: flex;
  align-items: stretch;
  gap: 20px;
  margin: 0 auto 80px auto;
  padding: 0;
}
/* ヘッダー */
#news .newsWrap .head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  width: 30%;
  max-width: 360px;
  margin: 0;
  padding: 0;
}
/* 矢印 */
#news .arrows {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 20px;
  margin: 0 0 20px 0;
  padding: 0;
}
#news .arrows .buttonPrev, #news .arrows .buttonNext {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 40px;
  color: var(--white);
  font-size: 19px;
  font-weight: 700;
  background-color: var(--green2);
  border-radius: 5px;
  cursor: pointer;
}
/* リスト */
#news .newsWrap .list {
  flex: 1;
  margin: 0;
  padding: 0;
}
#news .newsWrap .list ul {
  margin: 0;
  padding: 0;
}
#news .newsWrap .list .slick-track {
  margin-left: 0;
}
#news .newsWrap .list ul li {
  margin: 0;
  padding: 0 10px;
}
#news .newsWrap .list ul li a {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0;
  padding: 0;
}
#news .newsWrap .list img.pict {
  display: block;
  width: 100%;
  aspect-ratio: 340/250;
  object-fit: cover;
  border-radius: 20px;
  margin: 0 0 10px 0;
  padding: 0;
  transition: 0.5s;
}
#news .newsWrap .list ul li a:hover {
  opacity: 1;
}
#news .newsWrap .list ul li a:hover img.pict {
  border-radius: 999px;
}
#news .newsWrap .list .datecat {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0;
  padding: 0;
}
#news .newsWrap .list .datecat .cat {
  margin: 0;
  padding: 3px 10px;
  color: #FFFFFF;
  font-size: 12px;
  font-weight: 700;
  background-color: #009944;
  border-radius: 12px;
}
#news .newsWrap .list .datecat .date {
  margin: 0;
  padding: 0;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 16px;
  font-weight: 700;
}
#news .newsWrap .list h4 {
  margin: 0;
  padding: 0;
  font-size: 16px;
  font-weight: 700;
}
#news .newsWrap .buttonWrap.sp {
  display: none;
}
/* インスタグラム */
#news .instaWrap {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin: 0 auto;
  padding: 0;
}
/* ヘッダー */
#news .instaWrap .head {
  margin: 0;
  padding: 0;
}
/* リスト */
#news .instaWrap ul {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 30px;
  margin: 0 0 40px 0;
  padding: 0;
}
#news .instaWrap ul li {
  width: calc(25% - 90px / 4);
  margin: 0;
  padding: 0;
}
#news .instaWrap ul li a {
  margin: 0;
  padding: 0;
}
#news .instaWrap ul img.pict {
  display: block;
  width: 100%;
  aspect-ratio: 100/100;
  object-fit: cover;
  margin: 0;
  padding: 0;
}
/* タブレット */
@media screen and (max-width:1800px){
  /* パーツ 根本を軸に左右に揺れる */
  #news .part01 {
    top: 100px;
    left: calc(50% + 20vw);
    width: 20vw;
  }
  #news .wrap .part02 {
    top: 3.5vw;
    left: 3vw;
    width: 20vw;
  }
}


/*
* アーバンアウトドアとは？
*/
#about {
  position: relative;
  width: 100vw;
  margin: 0;
  padding: 300px 0 100px 0;
  z-index: 300;
} 
#about::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  width: 1920px;
  height: 2202px;
  margin: 0;
  padding: 0;
  background-image: url(../img/backTree01.webp);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  z-index: 200;
}
#about .wrap {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 40px;
  margin: 0 auto;
  padding: 0;
  z-index: 201;
}
/* 横に移動アニメ　ループ */
#about .wrap .part01 {
  position: absolute;
  top: 0;
  left: calc(50% + 50vw);
  transform: translate(-100%, -100%);
  width: 524px;
  height: auto;
  z-index: 301;
  animation: aboutPartsMove01 10s linear infinite;
}
@keyframes aboutPartsMove01 {
  0% {
    left: calc(50% + 50vw + 524px);
  }
  100% {
    left: calc(50% - 50vw - 524px);
  }
}
/* ヘッダー */
#about .head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  gap: 30px;
  width: calc(50% - 0px);
  margin: 0;
  padding: 0;
}
#about .head p {
  max-width: 570px;
  margin: 0;
  padding: 0;
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 400;
  line-height: 2.5;
}
/* リスト */
#about .list {
  position: relative;
  flex: 1;
  margin: 0;
  padding: 0;
  overflow: visible;
}
#about .list ul.slide {
  width: calc(50vw + 80px);
  height: 550px;
  margin: 0;
  padding: 0;
}
#about .list ul.slide li {
  margin: 0;
  padding: 0;
}
#about .list ul.slide li img.pict {
  display: block;
  object-fit: cover;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}


/*
* アウトドア体験プログラム
*/
#activity {
  position: relative;
  margin: 0 auto;
  padding: 100px 80px;
  background-color: #FFFFFF;
  border-radius: 10px;
  z-index: 400;
}
/* リスト */
#activity ul.list {
  display: flex;
  flex-direction: column;
  gap: 140px;
  margin: 0;
  padding: 60px 0 0 0;
}
#activity ul.list li {
  position: relative;
  display: flex;
  align-items: stretch;
  margin: 0;
  padding: 0;
  border: #E9F2E9 1px solid;
  border-radius: 10px;
}
#activity ul.list img.pict {
  display: block;
  width: 700px;
  max-width: 50%;
  object-fit: cover;
  object-position: center center;
  margin: 0;
  padding: 0;
}
#activity ul.list .pictsFour {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 700px;
  max-width: 50%;
  margin: 0;
  padding: 0;
}
#activity ul.list .pictsFour img {
  display: block;
  width: 50%;
  height: 50%;
  min-height: 207px;
  object-fit: cover;
  object-position: center center;
  margin: 0;
  padding: 0;
}
/* コンテンツ */
#activity ul.list .content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 40px;
  margin: 0;
}
#activity ul.list .content h4 {
  margin: 0 0 0 0;
  padding: 0;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
}
#activity ul.list .content h5 {
  margin: 0;
  padding: 0;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
}
#activity ul.list .content p.notice {
  margin: 5px 0 0 0;
  padding: 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}
#activity ul.list .content p.tag {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 20px 0 0 0;
  padding: 0;
}
#activity ul.list .content p.tag span {
  display: block;
  margin: 0;
  padding: 5px 10px;
  color: var(--green);
  font-size: 14px;
  font-weight: 700;
  border: var(--green) 1px solid;
  border-radius: 6px;
}
#activity ul.list .content dl {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0;
  padding: 20px 0;
}
#activity ul.list .content dl:first-of-type {
  margin-top: 20px;
  border-top: #E9F2E9 1px dashed;
}
#activity ul.list .content dl:last-of-type {
  margin-bottom: 20px;
  border-bottom: #E9F2E9 1px dashed;
}
#activity ul.list .content dl + dl {
  padding-top: 0;
}
#activity ul.list .content dt {
  margin: 0 auto 0 0;
  padding: 5px 15px;
  font-size: 16px;
  font-weight: 700;
  background-color: var(--lightGreen);
  border-radius: 3px;
}
#activity ul.list .content dd {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  margin: 0;
  padding: 0;
}
#activity ul.list .content dd strong {
  margin: 0;
  padding: 0;
  font-size: 16px;
  font-weight: 700;
}
#activity ul.list .content dd p {
  margin: 0;
  padding: 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.7;
}
#activity ul.list .content dd p a {
  color: var(--blue);
}
/* ボタン note */
#activity .buttonWrap .note {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.7;
}
/* キャッチ */
#activity ul.list .catch {
  position: absolute;
  top: -60px;
  left: -40px;
  transform: rotate(-6deg);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  margin: 0;
  padding: 0;
}
#activity ul.list .catch p {
  margin: 0;
  padding: 10px 30px;
  color: var(--white);
  font-size: 24px;
  font-weight: 700;
  background-color: var(--green);
  border-radius: 3px;
}

/* キッズバイク */
#kidsbike {
  display: flex;
  align-items: stretch;
  width: calc(100% - 40px);
  max-width: 1200px;
  margin: 80px auto 0 auto;
  padding: 0;
  background-color: var(--lightGreen);
  border-radius: 30px;
  overflow: hidden;
}
#kidsbike > a {
  display: flex;
  align-items: stretch;
  width: 100%;
  color: inherit;
}
#kidsbike img.pict {
  width: 40%;
  max-width: 400px;
  object-fit: cover;
  object-position: center center;
  margin: 0;
  padding: 0;
}
#kidsbike .content {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
  padding: 30px;
  margin: 0;
}
#kidsbike h4 {
  margin: 0 auto;
  padding: 10px 20px;
  color: var(--white);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.7;
  background-color: var(--green);
}
#kidsbike p {
  margin: 0 auto;
  padding: 0;
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  line-height: 2;
}
#kidsbike p.tag {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 0 0 5px 0;
  padding: 0;
}
#kidsbike p.tag span {
  display: block;
  margin: 0;
  padding: 5px 10px;
  color: var(--green);
  font-size: 14px;
  font-weight: 700;
  border: var(--green) 1px solid;
  border-radius: 6px;
}
#kidsbike .linkButton {
  justify-content: space-between;
  width: 227px;
}
/* タブレット */
@media screen and (max-width:1350px){
  #kidsbike {
    width: 100%;
    max-width: 100%;
    margin: 80px auto 0 auto;
    padding: 0;
  }
  #kidsbike > a {
    flex-direction: column;
    align-items: stretch;
  }
  #kidsbike img.pict {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    border-radius: 30px;
  }
  #kidsbike img.pict.pc {
    display: none;
  }
  #kidsbike img.pict.sp {
    display: block;
  }
  #kidsbike .content {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
    padding: 30px 0;
    margin: 0;
  }
  #kidsbike h4 {
    margin: 0 auto;
    padding: 5px 10px;
    font-size: 18px;
  }
  #kidsbike p {
    margin: 0 auto;
    padding: 0;
    font-size: 14px;
  }
  #kidsbike p.tag {
    margin: 0 0 5px 0;
    padding: 0;
  }
  #kidsbike p.tag span {
    margin: 0;
    padding: 3px 6px;
    font-size: 10px;
  }
  #kidsbike .linkButton {
    justify-content: space-between;
    width: 227px;
  }
}

/* 団体体験プログラム */
#groupprogram {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  width: calc(100% - 40px);
  max-width: 1200px;
  margin: 80px auto 0 auto;
  padding: 0;
}
#groupprogram > a {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  width: 100%;
  margin: 0;
  padding: 85px 120px;
  color: inherit;
  border: var(--green) 4px solid;
  border-radius: 30px;
  transition: 0.3s;
}
#groupprogram > a:hover {
  opacity: 1;
  border-radius: 299px;
}
#groupprogram p {
  max-width: 760px;
  margin: 0;
  padding: 0;
  text-align: center;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
}
/* パーツ */
#groupprogram img.parts01 {
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translate(-50%, -50%);
  width: 352px;
  max-width: 30%;
  margin: 0;
  padding: 0;
}
#groupprogram img.parts02 {
  position: absolute;
  top: 50%;
  left: 100%;
  transform: translate(-50%, -50%);
  width: 366px;
  max-width: 30%;
  margin: 0;
  padding: 0;
}
#groupprogram .arrow {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 65px;
  margin: 0;
  padding: 0;
}








































/*
* スマホ用
*/
@media screen and (max-width:993px){


  /*
  * レイアウト
  */
  #sitetop {

  }


  /*
  * メインビジュアル
  */
  #mv {
    padding: 200px 0 240px 0;
  }
  /* スライド */
  #mv .slider ul.slick li.slide {
    width: calc(100vw - 0px);
    padding: 0 10px;
  }
  #mv .slider ul.slick img.pict {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    border-radius: 10px;
  }
  #mv .slider li.center {
    transform: scale(1);
  }
  /* スライド詳細 */
  #mv .slick .nearLT1 {
    transform: 
      translate(0, 0)
      scale(1)
      rotate(0deg);
  }
  #mv .slick .nearLT2 {
    transform: 
      translate(0, 0)
      scale(1)
      rotate(0deg);
  }
  #mv .slick .farLT1 {
    transform: 
      translate(0, 0)
      scale(1)
      rotate(0deg);
  }
  #mv .slick .farLT2 {
    transform: 
      translate(0, 0)
      scale(1)
      rotate(0deg);
  }
  /* ボタン */
  #mv .buttonPrev, #mv .buttonNext {
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 25px;
    height: 49px;
  }
  #mv .buttonPrev {
    left: 15px;
  }
  #mv .buttonNext {
    left: calc(100vw - 15px);
  }
  /* ドット */
  #mv .slick-dots {
    bottom: -25px;
    gap: 12px;
  }
  #mv .slick-dots li {
    width: 10px;
    height: 10px;
  }
  #mv .slick-dots li button {
    width: 10px;
    height: 10px;
  }
  /* メッセージ */
  #mv .message {
    position: absolute;
    bottom: -10px;
    left: 50%;
    width: 100%;
    font-size: 14px;
  }
  /* キャッチ */
  #mv .catch {
    top: 120px;
    left: 10px;
    transform: translate(0, 0%) rotate(-9deg);
  }
  #mv .catch p {
    margin: 0 30px 0 0;
    padding: 10px;
    font-size: 27px;
    box-shadow: 4px 7px 0 var(--green2);
  }
  #mv .catch small {
    margin: 0 0 0 -50px;
    padding: 10px 30px;
    font-size: 13px;
  }


  /*
  * お知らせ
  */
  #news {
    position: relative;
    width: 100vw;
    min-height: 1900px;
    margin: -180px 0 0 0;
    padding: 270px 0 0 0;
  } 
  @media screen and (max-width:650px){
    #news::before {
      width: 650px;
      height: 1254px;
      background-image: url(../img/sitetop/infoBack01SP.webp);
    }
  }
  #news .part01 {
    position: absolute;
    top: 50px;
    left: calc(50% + 50px);
    transform: translate(0%, -50%);
    width: 156px;
  }
  /* メッセージ */
  #news .message {
    position: absolute;
    top: 120px;
    left: 50%;
    width: 100%;
    font-size: 14px;
  }
  #news .wrap {
    width: 100%;
    margin: 0 auto;
    padding: 60px 20px;
  }
  #news .wrap .part02 {
    position: absolute;
    top: 25px;
    left: calc(50% - 20px);
    transform: translate(-100%, -100%);
    width: 156px;
  }
  /* ニュース */
  #news .newsWrap {
    flex-direction: column;
    gap: 20px;
    margin: 0 auto 80px auto;
    padding: 0;
  }
  /* ヘッダー */
  #news .newsWrap .head {
    gap: 10px;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
  }
  /* リスト */
  #news .newsWrap .list {
    flex: none;
    width: 100%;
    margin: 0 0 20px 0;
    padding: 0;
  }
  #news .newsWrap .list ul {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin: 0;
    padding: 0;
  }
  #news .newsWrap .list ul li {
    width: 100%;
    margin: 0;
    padding: 0;
  }
  /* ４つ目以降は非表示 */
  #news .newsWrap .list ul li:nth-child(n+4) {
    display: none;
  }
  #news .newsWrap .list ul li a {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0;
    padding: 0;
  }
  #news .newsWrap .list img.pict {
    margin: 0 0 10px 0;
    padding: 0;
  }
  #news .newsWrap .list .datecat {
    gap: 10px;
    margin: 0;
    padding: 0;
  }
  #news .newsWrap .list .datecat .cat {
    margin: 0;
    padding: 3px 10px;
    font-size: 12px;
  }
  #news .newsWrap .list .datecat .date {
    margin: 0;
    padding: 0;
    font-size: 16px;
  }
  #news .newsWrap .list h4 {
    margin: 0;
    padding: 0;
    font-size: 16px;
  }
  #news .newsWrap .buttonWrap.sp {
    display: flex;
  }
  /* インスタグラム */
  #news .instaWrap {
    gap: 20px;
    margin: 0 auto;
    padding: 0;
  }
  /* ヘッダー */
  #news .instaWrap .head {
    margin: 0;
    padding: 0;
  }
  /* リスト */
  #news .instaWrap ul {
    gap: 20px;
    margin: 0;
    padding: 0;
  }
  #news .instaWrap ul li {
    width: calc(50% - 30px / 2);
    margin: 0;
    padding: 0;
  }
  #news .instaWrap ul li a {
    margin: 0;
    padding: 0;
  }
  #news .instaWrap ul img.pict {
    margin: 0;
    padding: 0;
  }


  /*
  * アーバンアウトドアとは？
  */
  #about {
    position: relative;
    width: 100vw;
    margin: 0;
    padding: 100px 0 100px 0;
    z-index: 300;
  } 
  #about::before {
    top: 200px;
    left: 50%;
    width: 1032px;
    height: 924px;
  }
  #about .wrap {
    flex-direction: column;
    width: 100%;
    padding: 0;
  }
  /* 横に移動アニメ　ループ */
  #about .wrap .part01 {
    top: 0;
    left: calc(50% + 50vw);
    width: 260px;
  }
  @keyframes aboutPartsMove01 {
    0% {
      left: calc(50% + 50vw + 260px);
    }
    100% {
      left: calc(50% - 50vw - 260px);
    }
  }
  /* ヘッダー */
  #about .head {
    order: 2;
    gap: 30px;
    width: 100%;
    margin: 0;
    padding: 60px 20px 0 20px;
  }
  #about .head p {
    max-width: 570px;
    margin: 0;
    padding: 0;
    color: #FFFFFF;
    font-size: 16px;
    font-weight: 400;
    line-height: 2.5;
  }
  /* リスト */
  #about .list {
    order: 1;
    flex: none;
    width: 100%;
    margin: 0;
    padding: 0;
  }
  #about .list ul.slide {
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
  }
  #about .list ul.slide li {
    margin: 0;
    padding: 0;
  }
  #about .list ul.slide li a {
    margin: 0;
    padding: 0;
  }
  #about .list ul.slide li img.pict {
    margin: 0;
    padding: 0;
  }


  /*
  * アウトドア体験プログラム
  */
  #activity {
    width: calc(100% - 20px);
    margin: 0 auto;
    padding: 60px 10px;
  }
  /* リスト */
  #activity ul.list {
    gap: 100px;
    margin: 0;
    padding: 60px 0 0 0;
  }
  #activity ul.list li {
    flex-direction: column;
    margin: 0;
    padding: 0;
  }
  #activity ul.list img.pict {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
  }
  #activity ul.list .pictsFour {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
  }
  #activity ul.list .pictsFour img {
    width: 50%;
    height: auto;
    min-height: auto;
    aspect-ratio: 1/1;
    margin: 0;
    padding: 0;
  }
  /* コンテンツ */
  #activity ul.list .content {
    flex: none;
    width: 100%;
    padding: 40px 20px;
    margin: 0;
  }
  #activity ul.list .content h4 {
    margin: 0 0 0 0;
    padding: 0;
    font-size: 16px;
  }
  #activity ul.list .content h5 {
    margin: 0;
    padding: 0;
    font-size: 14px;
  }
  #activity ul.list .content p.notice {
    margin: 5px 0 0 0;
    padding: 0;
    font-size: 11px;
  }
  #activity ul.list .content p.tag {
    gap: 10px;
    margin: 10px 0 0 0;
    padding: 0;
  }
  #activity ul.list .content p.tag span {
    margin: 0;
    padding: 3px 6px;
    font-size: 10px;
  }
  #activity ul.list .content dl {
    gap: 10px;
    margin: 0;
    padding: 20px 0;
  }
  #activity ul.list .content dl:first-of-type {
    margin-top: 20px;
  }
  #activity ul.list .content dl:last-of-type {
    margin-bottom: 20px;
  }
  #activity ul.list .content dl + dl {
    padding-top: 0;
  }
  #activity ul.list .content dt {
    margin: 0 auto 0 0;
    padding: 3px 10px;
    font-size: 14px;
  }
  #activity ul.list .content dd {
    flex-direction: column;
    gap: 10px;
    margin: 0;
    padding: 0;
  }
  #activity ul.list .content dd strong {
    margin: 0;
    padding: 0;
    font-size: 14px;
  }
  #activity ul.list .content dd p {
    margin: 0;
    padding: 0;
    font-size: 14px;
  }
  /* ボタン note */
  #activity .buttonWrap .note {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.7;
  }
  /* キャッチ */
  #activity ul.list .catch {
    top: -60px;
    left: 0px;
    transform: rotate(-6deg);
    gap: 5px;
    margin: 0;
    padding: 0;
  }
  #activity ul.list .catch p {
    margin: 0;
    padding: 5px 10px;
    font-size: 14px;
  }

  /* キッズバイク */
  #kidsbike {
    width: 100%;
    max-width: 100%;
    margin: 80px auto 0 auto;
    padding: 0;
  }
  #kidsbike > a {
    flex-direction: column;
    align-items: stretch;
  }
  #kidsbike img.pict {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    border-radius: 30px;
  }
  #kidsbike .content {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
    padding: 30px 0;
    margin: 0;
  }
  #kidsbike h4 {
    margin: 0 auto;
    padding: 5px 10px;
    font-size: 18px;
  }
  #kidsbike p {
    margin: 0 auto;
    padding: 0;
    font-size: 14px;
  }
  #kidsbike p.tag {
    margin: 0 0 5px 0;
    padding: 0;
  }
  #kidsbike p.tag span {
    margin: 0;
    padding: 3px 6px;
    font-size: 10px;
  }
  #kidsbike .linkButton {
    justify-content: space-between;
    width: 227px;
  }

  /* 団体体験プログラム */
  #groupprogram {
    gap: 20px;
    width: 100%;
    max-width: 100%;
    margin: 80px auto 0 auto;
    padding: 0;
  }
  #groupprogram > a {
    gap: 20px;
    margin: 0;
    padding: 40px 20px;
  }
  #groupprogram > a:hover {
    opacity: 1;
    border-radius: 299px;
  }
  #groupprogram p {
    margin: 0;
    padding: 0;
    font-size: 16px;
  }
  /* パーツ */
  #groupprogram img.parts01 {
    position: absolute;
    top: 40px;
    left: 0%;
    transform: translate(0%, -100%);
    width: 165px;
    max-width: 50%;
    margin: 0;
    padding: 0;
  }
  #groupprogram img.parts02 {
    position: absolute;
    top: 40px;
    left: 100%;
    transform: translate(-100%, -100%);
    width: 177px;
    max-width: 50%;
    margin: 0;
    padding: 0;
  }
  #groupprogram a.arrow {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 65px;
    margin: 0;
    padding: 0;
  }


  







}
