@charset "UTF-8";

/*** story1 ***/
.story1__inner {
  background: var(--bg_safety);
}
.story1__image__sp {
  width: 100%;
  display: block;
}
.story1__pc__wrapper {
  display: none;
}
@media only screen and (min-width: 769px) {
  .story1__image__sp {
    display: none;
  }
  .story1__pc__wrapper {
    display: block;
    padding: 114px 24px;
    max-width: 1148px;
    margin: 0 auto;
    position: relative;
  }
  .story1__pc__image {
    width: 689px;
    height: auto;
    position: absolute;
    bottom: 0;
    left: 0;
  }
  .story1__pc__text {
    margin-left: auto;
    display: block;
    width: calc(100vw * 386 / 1440);
    max-width: 386px;
    min-width: 330px;
    height: auto;
    max-height: 304px;
  }
}

/*** story2-sp ***/
.section-story2__sp {
  background: linear-gradient(90deg, var(--bg_racer) 0%, var(--bg_racer) 50%, var(--bg_cream) 50%, var(--bg_cream) 100%);
  position: relative;
  height: 100vh; /* 固定エリア */
  overflow: hidden;
}
.section-story2__sp__inner {
  padding-top: calc(100vw * 48 / 390);
  padding-bottom: calc(100vw * 64 / 390);
  height: 100%;
}
.story2__textImage__sp {
  display: block;
  margin: 0 auto;
  width: auto;
  height: 20vh;
}

.story2__horizontalScroll {
  overflow: auto;
  scroll-behavior: smooth;
  -ms-overflow-style: none;
  scrollbar-width: none;
  touch-action: none;
  margin-top: calc(100% * 25 / 390);
  display: flex;
  height: 100%;
  width: max-content; /* 横方向に広げる */
}
.story2__horizontalScroll::-webkit-scrollbar {
  display: none;
}
.story2__horizontalScroll .story2__image__sp {
  display: block;
  margin-left: calc(-100vw * 36 / 390);
  height: 70vh;
  width: auto;
}

/*** story2-pc ***/
.section-story2__pc__inner {
  padding: 80px 0 104px;
  background: linear-gradient(180deg, var(--bg_cream) 0%, var(--bg_cream) 50%, var(--bg_racer) 50%, var(--bg_racer) 100%);
}
.story2__textImage__pc {
  height: 92px;
  width: auto;
  margin-left: 175px;
}
.story2__image__pc {
  width: calc(100vw * 1364 / 1440);
  min-width: calc(1100px * 1364 / 1440);
  height: auto;
  display: block;
  margin-left: auto;
}

/* 画像位置調整 */
.section-story2__pc__animationWrapper {
  width: calc(100vw * 1364 / 1440);
  min-width: calc(1100px * 1364 / 1440);
  height: calc(100vw * 759 / 1440);
  min-height: calc(1100px * 759 / 1440);
  display: block;
  margin-left: auto;
  position: relative;
}
.story2__animation__image1,
.story2__animation__image2-1,
.story2__animation__image2-2,
.story2__animation__image3 {
  position: absolute;
}

.story2__animation__image1 {
  height: 74%;
  left: 0;
  top: 16%;
}

.story2__animation__image2-1 {
  height: 44%;
  top: 9%;
  right: 29%;
}
.story2__animation__image2-2 {
  height: 45%;
  bottom: 3%;
  right: 29%;
}
.story2__animation__image3 {
  height: 100%;
  right: 0;
}

/* アニメーション */
.js-slideIn-item {
  opacity: 0;
  transform: translateY(100vh);
  transition: opacity 0.5s ease-out, transform 0.6s ease-out;
}
.js-slideIn-item.active {
  opacity: 1;
  transform: translateY(0);
}

/*** Message ***/
.section-message {
  position: relative;
  overflow: hidden;
}
.section-message__inner {
  margin: 0 auto;
  padding: 80px calc(100% * 16 / 390) 72px;
  max-width: 700px;
}
.message__textImage {
  width: 100%;
  max-width: 480px;
  height: auto;
  margin-bottom: 40px;
}
.message__text__bold {
  font-size: min(100vw * 18 / 390, 20px);
  font-weight: bold;
  margin-bottom: 32px;
  line-height: 1.5;
}
.message__text__normal {
  font-size: min(100vw * 16 / 390, 16px);
  margin-bottom: 28px;
  line-height: 1.6;
}
.message__image__sp {
  width: 100%;
  height: auto;
}
@media only screen and (min-width: 769px) {
  .section-message__inner {
    padding: 166px 0;
  }
  .message__textImage {
    margin-bottom: 72px;
  }
  .message__text__wrapper {
    margin-left: 38px;
  }
  .message__text__bold {
    margin-bottom: 36px;
    width: 500px;
  }
  .message__text__normal {
    width: 420px;
    margin-bottom: 0;
  }
  .message__image__pc-left,
  .message__image-__pc-right {
    height: auto;
    position: absolute;
    bottom: 80px;
  }
  .message__image__pc-left {
    width: 318px;
    left: calc(50% - 728px);
  }
  .message__image-__pc-right {
    width: 488px;
    right: calc(50% - 716px);
  }
}
/*** アクティビティ ***/
.activity__bg img {
  width: 100%;
  height: auto;
}

.section-activity {
  padding-top: 30px;
}
.section-activity {
  padding: calc(100vw * 268 / 390) calc(100% * 16 / 390) 0;
  background: url('/kodomobacs/_images/about/activity-bg_sp.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: top;
}
.section-activity .headingLv2 img {
  width: 187px;
  height: auto;
}
.activity-heading__sub {
  margin-top: 12px;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
}
@media only screen and (min-width: 769px) {
  .activity-heading__sub {
    margin-top: 30px;
    font-size: 20px;
  }
}

.activity__box {
  width: 100%;
  margin-top: 96px;
  padding: 17px 0 48px;
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}
.activity__box.--racer {
  background: var(--bg_racer);
  padding-top: calc(100vw * 278 / 390);
}
.activity__box.--mechanic {
  background: var(--bg_mechanic);
  padding-top: calc(100vw * 343 / 390);
}
.activity__box__image {
  position: absolute;
  height: auto;
}
.activity__box__image.--racer {
  width: 83.08vw;
  top: calc(-100vw * 50 / 390);
}
.activity__box__image.--mechanic {
  width: 71.28vw;
  top: calc(-100vw * 18 / 390);
}
.activity__box__right {
  padding: 0 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.activity__box__logo {
  height: 56px;
  height: calc(100vw * 56 / 390);
  max-height: 80px;
  width: auto;
  margin-bottom: 32px;
}
.activity__box__right .button-more {
  margin-top: 24px;
}
@media only screen and (min-width: 769px) {
  .section-activity {
    padding: max(calc(100vw * 372 / 1440), 300px) 0 0 0;
    background: url('/kodomobacs/_images/about/activity-bg_pc.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top;
  }
  .section-activity__inner {
    max-width: 1148px;
    margin: 0 auto;
    padding: 0 24px;
  }
  .activity__box.--racer {
    width: 85%;
    padding: 92px min(20%, 176px);
    align-items: flex-start;
  }
  .activity__box.--mechanic {
    width: 73%;
    padding: 92px min(20%, 176px);
    align-items: flex-end;
    margin-left: auto;
  }
  .activity__box__image.--racer {
    width: 550px;
    right: -15%;
    top: 50%;
    transform: translateY(-50%);
  }
  .activity__box__image.--mechanic {
    width: 430px;
    left: -37%;
    top: 50%;
    transform: translateY(-50%);
  }
  .activity__box__right {
    margin-top: 0;
    padding: 0;
    flex-direction: column;
    align-items: flex-start;
  }
}

.story2__horizontalScroll .story2__image__sp {
  height: 100%;
  width: auto;
  height: 70vh;
}
